@co0ontty/wand 4.20.0 → 4.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +3 -3
- package/dist/models.d.ts +49 -0
- package/dist/models.js +277 -46
- package/dist/server-settings-routes.d.ts +2 -2
- package/dist/server-settings-routes.js +6 -4
- package/dist/server-update-routes.d.ts +2 -2
- package/dist/server-update-routes.js +3 -2
- package/dist/server.d.ts +1 -1
- package/dist/server.js +21 -6
- package/dist/web-ui/content/styles.css +1 -1
- package/dist/web-ui/embedded-assets.d.ts +1 -1
- package/dist/web-ui/embedded-assets.js +2 -2
- package/package.json +1 -1
|
@@ -3,10 +3,10 @@ import { Buffer } from "node:buffer";
|
|
|
3
3
|
function decode(value) {
|
|
4
4
|
return Buffer.from(value, "base64").toString("utf8");
|
|
5
5
|
}
|
|
6
|
-
export const EMBEDDED_WEB_ASSET_VERSION = "
|
|
6
|
+
export const EMBEDDED_WEB_ASSET_VERSION = "449f22201c66";
|
|
7
7
|
export const EMBEDDED_WEB_ASSETS = {
|
|
8
8
|
scriptsJs: decode("InVzZSBzdHJpY3QiOygoKT0+e3ZhciBlQz1PYmplY3QuY3JlYXRlLGN2PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx0Qz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLEg1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzLG5DPU9iamVjdC5nZXRQcm90b3R5cGVPZixhQz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHJDPShlLHQsYSk9PnQgaW4gZT9jdihlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmF9KTplW3RdPWEsY3I9KGUsdCk9PmZ1bmN0aW9uKCl7cmV0dXJuIHR8fCgwLGVbSDUoZSlbMF1dKSgodD17ZXhwb3J0czp7fX0pLmV4cG9ydHMsdCksdC5leHBvcnRzfSxpQz0oZSx0LGEsaSk9PntpZih0JiZ0eXBlb2YgdD09Im9iamVjdCJ8fHR5cGVvZiB0PT0iZnVuY3Rpb24iKWZvcihsZXQgbyBvZiBINSh0KSkhYUMuY2FsbChlLG8pJiZvIT09YSYmY3YoZSxvLHtnZXQ6KCk9PnRbb10sZW51bWVyYWJsZTohKGk9dEModCxvKSl8fGkuZW51bWVyYWJsZX0pO3JldHVybiBlfSxsZT0oZSx0LGEpPT4oYT1lIT1udWxsP2VDKG5DKGUpKTp7fSxpQyh0fHwhZXx8IWUuX19lc01vZHVsZT9jdihhLCJkZWZhdWx0Iix7dmFsdWU6ZSxlbnVtZXJhYmxlOiEwfSk6YSxlKSkscHQ9KGUsdCxhKT0+ckMoZSx0eXBlb2YgdCE9InN5bWJvbCI/dCsiIjp0LGEpLHVDPWNyKHsibm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5wcm9kdWN0aW9uLmpzIihlKXsidXNlIHN0cmljdCI7dmFyIHQ9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxhPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLGk9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLGQ9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxmPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxtPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLGc9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGI9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLHk9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxDPVN5bWJvbC5pdGVyYXRvcjtmdW5jdGlvbiB3KGope3JldHVybiBqPT09bnVsbHx8dHlwZW9mIGohPSJvYmplY3QiP251bGw6KGo9QyYmaltDXXx8alsiQEBpdGVyYXRvciJdLHR5cGVvZiBqPT0iZnVuY3Rpb24iP2o6bnVsbCl9dmFyIHg9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LEY9T2JqZWN0LmFzc2lnbixBPXt9O2Z1bmN0aW9uIEQoaixZLHNlKXt0aGlzLnByb3BzPWosdGhpcy5jb250ZXh0PVksdGhpcy5yZWZzPUEsdGhpcy51cGRhdGVyPXNlfHx4fUQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sRC5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oaixZKXtpZih0eXBlb2YgaiE9Im9iamVjdCImJnR5cGVvZiBqIT0iZnVuY3Rpb24iJiZqIT1udWxsKXRocm93IEVycm9yKCJ0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsaixZLCJzZXRTdGF0ZSIpfSxELnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihqKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsaiwiZm9yY2VVcGRhdGUiKX07ZnVuY3Rpb24gQigpe31CLnByb3RvdHlwZT1ELnByb3RvdHlwZTtmdW5jdGlvbiBUKGosWSxzZSl7dGhpcy5wcm9wcz1qLHRoaXMuY29udGV4dD1ZLHRoaXMucmVmcz1BLHRoaXMudXBkYXRlcj1zZXx8eH12YXIgaz1ULnByb3RvdHlwZT1uZXcgQjtrLmNvbnN0cnVjdG9yPVQsRihrLEQucHJvdG90eXBlKSxrLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBNPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24geigpe312YXIgTz17SDpudWxsLEE6bnVsbCxUOm51bGwsUzpudWxsfSxyZT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGVlKGosWSxzZSl7dmFyIFE9c2UucmVmO3JldHVybnskJHR5cGVvZjp0LHR5cGU6aixrZXk6WSxyZWY6USE9PXZvaWQgMD9ROm51bGwscHJvcHM6c2V9fWZ1bmN0aW9uIFooaixZKXtyZXR1cm4gZWUoai50eXBlLFksai5wcm9wcyl9ZnVuY3Rpb24gdmUoail7cmV0dXJuIHR5cGVvZiBqPT0ib2JqZWN0IiYmaiE9PW51bGwmJmouJCR0eXBlb2Y9PT10fWZ1bmN0aW9uIG1lKGope3ZhciBZPXsiPSI6Ij0wIiwiOiI6Ij0yIn07cmV0dXJuIiQiK2oucmVwbGFjZSgvWz06XS9nLGZ1bmN0aW9uKHNlKXtyZXR1cm4gWVtzZV19KX12YXIgSD0vXC8rL2c7ZnVuY3Rpb24gdGUoaixZKXtyZXR1cm4gdHlwZW9mIGo9PSJvYmplY3QiJiZqIT09bnVsbCYmai5rZXkhPW51bGw/bWUoIiIrai5rZXkpOlkudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIEkoail7c3dpdGNoKGouc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIGoudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgai5yZWFzb247ZGVmYXVsdDpzd2l0Y2godHlwZW9mIGouc3RhdHVzPT0ic3RyaW5nIj9qLnRoZW4oeix6KTooai5zdGF0dXM9InBlbmRpbmciLGoudGhlbihmdW5jdGlvbihZKXtqLnN0YXR1cz09PSJwZW5kaW5nIiYmKGouc3RhdHVzPSJmdWxmaWxsZWQiLGoudmFsdWU9WSl9LGZ1bmN0aW9uKFkpe2ouc3RhdHVzPT09InBlbmRpbmciJiYoai5zdGF0dXM9InJlamVjdGVkIixqLnJlYXNvbj1ZKX0pKSxqLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiBqLnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IGoucmVhc29ufX10aHJvdyBqfWZ1bmN0aW9uIFUoaixZLHNlLFEsY2Upe3ZhciBKPXR5cGVvZiBqOyhKPT09InVuZGVmaW5lZCJ8fEo9PT0iYm9vbGVhbiIpJiYoaj1udWxsKTt2YXIgZGU9ITE7aWYoaj09PW51bGwpZGU9ITA7ZWxzZSBzd2l0Y2goSil7Y2FzZSJiaWdpbnQiOmNhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6ZGU9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChqLiQkdHlwZW9mKXtjYXNlIHQ6Y2FzZSBhOmRlPSEwO2JyZWFrO2Nhc2UgYjpyZXR1cm4gZGU9ai5faW5pdCxVKGRlKGouX3BheWxvYWQpLFksc2UsUSxjZSl9fWlmKGRlKXJldHVybiBjZT1jZShqKSxkZT1RPT09IiI/Ii4iK3RlKGosMCk6USxNKGNlKT8oc2U9IiIsZGUhPW51bGwmJihzZT1kZS5yZXBsYWNlKEgsIiQmLyIpKyIvIiksVShjZSxZLHNlLCIiLGZ1bmN0aW9uKEZlKXtyZXR1cm4gRmV9KSk6Y2UhPW51bGwmJih2ZShjZSkmJihjZT1aKGNlLHNlKyhjZS5rZXk9PW51bGx8fGomJmoua2V5PT09Y2Uua2V5PyIiOigiIitjZS5rZXkpLnJlcGxhY2UoSCwiJCYvIikrIi8iKStkZSkpLFkucHVzaChjZSkpLDE7ZGU9MDt2YXIgeGU9UT09PSIiPyIuIjpRKyI6IjtpZihNKGopKWZvcih2YXIgeWU9MDt5ZTxqLmxlbmd0aDt5ZSsrKVE9alt5ZV0sSj14ZSt0ZShRLHllKSxkZSs9VShRLFksc2UsSixjZSk7ZWxzZSBpZih5ZT13KGopLHR5cGVvZiB5ZT09ImZ1bmN0aW9uIilmb3Ioaj15ZS5jYWxsKGopLHllPTA7IShRPWoubmV4dCgpKS5kb25lOylRPVEudmFsdWUsSj14ZSt0ZShRLHllKyspLGRlKz1VKFEsWSxzZSxKLGNlKTtlbHNlIGlmKEo9PT0ib2JqZWN0Iil7aWYodHlwZW9mIGoudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4gVShJKGopLFksc2UsUSxjZSk7dGhyb3cgWT1TdHJpbmcoaiksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoWT09PSJbb2JqZWN0IE9iamVjdF0iPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGopLmpvaW4oIiwgIikrIn0iOlkpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIil9cmV0dXJuIGRlfWZ1bmN0aW9uIFcoaixZLHNlKXtpZihqPT1udWxsKXJldHVybiBqO3ZhciBRPVtdLGNlPTA7cmV0dXJuIFUoaixRLCIiLCIiLGZ1bmN0aW9uKEope3JldHVybiBZLmNhbGwoc2UsSixjZSsrKX0pLFF9ZnVuY3Rpb24gWChqKXtpZihqLl9zdGF0dXM9PT0tMSl7dmFyIFk9ai5fcmVzdWx0O1k9WSgpLFkudGhlbihmdW5jdGlvbihzZSl7KGouX3N0YXR1cz09PTB8fGouX3N0YXR1cz09PS0xKSYmKGouX3N0YXR1cz0xLGouX3Jlc3VsdD1zZSl9LGZ1bmN0aW9uKHNlKXsoai5fc3RhdHVzPT09MHx8ai5fc3RhdHVzPT09LTEpJiYoai5fc3RhdHVzPTIsai5fcmVzdWx0PXNlKX0pLGouX3N0YXR1cz09PS0xJiYoai5fc3RhdHVzPTAsai5fcmVzdWx0PVkpfWlmKGouX3N0YXR1cz09PTEpcmV0dXJuIGouX3Jlc3VsdC5kZWZhdWx0O3Rocm93IGouX3Jlc3VsdH12YXIgZmU9dHlwZW9mIHJlcG9ydEVycm9yPT0iZnVuY3Rpb24iP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGope2lmKHR5cGVvZiB3aW5kb3c9PSJvYmplY3QiJiZ0eXBlb2Ygd2luZG93LkVycm9yRXZlbnQ9PSJmdW5jdGlvbiIpe3ZhciBZPW5ldyB3aW5kb3cuRXJyb3JFdmVudCgiZXJyb3IiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZTp0eXBlb2Ygaj09Im9iamVjdCImJmohPT1udWxsJiZ0eXBlb2Ygai5tZXNzYWdlPT0ic3RyaW5nIj9TdHJpbmcoai5tZXNzYWdlKTpTdHJpbmcoaiksZXJyb3I6an0pO2lmKCF3aW5kb3cuZGlzcGF0Y2hFdmVudChZKSlyZXR1cm59ZWxzZSBpZih0eXBlb2YgcHJvY2Vzcz09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLmVtaXQ9PSJmdW5jdGlvbiIpe3Byb2Nlc3MuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLGopO3JldHVybn1jb25zb2xlLmVycm9yKGopfSxnZT17bWFwOlcsZm9yRWFjaDpmdW5jdGlvbihqLFksc2Upe1coaixmdW5jdGlvbigpe1kuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxzZSl9LGNvdW50OmZ1bmN0aW9uKGope3ZhciBZPTA7cmV0dXJuIFcoaixmdW5jdGlvbigpe1krK30pLFl9LHRvQXJyYXk6ZnVuY3Rpb24oail7cmV0dXJuIFcoaixmdW5jdGlvbihZKXtyZXR1cm4gWX0pfHxbXX0sb25seTpmdW5jdGlvbihqKXtpZighdmUoaikpdGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpO3JldHVybiBqfX07ZS5BY3Rpdml0eT15LGUuQ2hpbGRyZW49Z2UsZS5Db21wb25lbnQ9RCxlLkZyYWdtZW50PWksZS5Qcm9maWxlcj1jLGUuUHVyZUNvbXBvbmVudD1ULGUuU3RyaWN0TW9kZT1vLGUuU3VzcGVuc2U9aCxlLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERT1PLGUuX19DT01QSUxFUl9SVU5USU1FPXtfX3Byb3RvX186bnVsbCxjOmZ1bmN0aW9uKGope3JldHVybiBPLkgudXNlTWVtb0NhY2hlKGopfX0sZS5jYWNoZT1mdW5jdGlvbihqKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gai5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxlLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGosWSxzZSl7aWYoaj09bnVsbCl0aHJvdyBFcnJvcigiVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2orIi4iKTt2YXIgUT1GKHt9LGoucHJvcHMpLGNlPWoua2V5O2lmKFkhPW51bGwpZm9yKEogaW4gWS5rZXkhPT12b2lkIDAmJihjZT0iIitZLmtleSksWSkhcmUuY2FsbChZLEopfHxKPT09ImtleSJ8fEo9PT0iX19zZWxmInx8Sj09PSJfX3NvdXJjZSJ8fEo9PT0icmVmIiYmWS5yZWY9PT12b2lkIDB8fChRW0pdPVlbSl0pO3ZhciBKPWFyZ3VtZW50cy5sZW5ndGgtMjtpZihKPT09MSlRLmNoaWxkcmVuPXNlO2Vsc2UgaWYoMTxKKXtmb3IodmFyIGRlPUFycmF5KEopLHhlPTA7eGU8Sjt4ZSsrKWRlW3hlXT1hcmd1bWVudHNbeGUrMl07US5jaGlsZHJlbj1kZX1yZXR1cm4gZWUoai50eXBlLGNlLFEpfSxlLmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24oail7cmV0dXJuIGo9eyQkdHlwZW9mOmYsX2N1cnJlbnRWYWx1ZTpqLF9jdXJyZW50VmFsdWUyOmosX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsfSxqLlByb3ZpZGVyPWosai5Db25zdW1lcj17JCR0eXBlb2Y6ZCxfY29udGV4dDpqfSxqfSxlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oaixZLHNlKXt2YXIgUSxjZT17fSxKPW51bGw7aWYoWSE9bnVsbClmb3IoUSBpbiBZLmtleSE9PXZvaWQgMCYmKEo9IiIrWS5rZXkpLFkpcmUuY2FsbChZLFEpJiZRIT09ImtleSImJlEhPT0iX19zZWxmIiYmUSE9PSJfX3NvdXJjZSImJihjZVtRXT1ZW1FdKTt2YXIgZGU9YXJndW1lbnRzLmxlbmd0aC0yO2lmKGRlPT09MSljZS5jaGlsZHJlbj1zZTtlbHNlIGlmKDE8ZGUpe2Zvcih2YXIgeGU9QXJyYXkoZGUpLHllPTA7eWU8ZGU7eWUrKyl4ZVt5ZV09YXJndW1lbnRzW3llKzJdO2NlLmNoaWxkcmVuPXhlfWlmKGomJmouZGVmYXVsdFByb3BzKWZvcihRIGluIGRlPWouZGVmYXVsdFByb3BzLGRlKWNlW1FdPT09dm9pZCAwJiYoY2VbUV09ZGVbUV0pO3JldHVybiBlZShqLEosY2UpfSxlLmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSxlLmZvcndhcmRSZWY9ZnVuY3Rpb24oail7cmV0dXJueyQkdHlwZW9mOm0scmVuZGVyOmp9fSxlLmlzVmFsaWRFbGVtZW50PXZlLGUubGF6eT1mdW5jdGlvbihqKXtyZXR1cm57JCR0eXBlb2Y6YixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0Omp9LF9pbml0Olh9fSxlLm1lbW89ZnVuY3Rpb24oaixZKXtyZXR1cm57JCR0eXBlb2Y6Zyx0eXBlOmosY29tcGFyZTpZPT09dm9pZCAwP251bGw6WX19LGUuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGope3ZhciBZPU8uVCxzZT17fTtPLlQ9c2U7dHJ5e3ZhciBRPWooKSxjZT1PLlM7Y2UhPT1udWxsJiZjZShzZSxRKSx0eXBlb2YgUT09Im9iamVjdCImJlEhPT1udWxsJiZ0eXBlb2YgUS50aGVuPT0iZnVuY3Rpb24iJiZRLnRoZW4oeixmZSl9Y2F0Y2goSil7ZmUoSil9ZmluYWxseXtZIT09bnVsbCYmc2UudHlwZXMhPT1udWxsJiYoWS50eXBlcz1zZS50eXBlcyksTy5UPVl9fSxlLnVuc3RhYmxlX3VzZUNhY2hlUmVmcmVzaD1mdW5jdGlvbigpe3JldHVybiBPLkgudXNlQ2FjaGVSZWZyZXNoKCl9LGUudXNlPWZ1bmN0aW9uKGope3JldHVybiBPLkgudXNlKGopfSxlLnVzZUFjdGlvblN0YXRlPWZ1bmN0aW9uKGosWSxzZSl7cmV0dXJuIE8uSC51c2VBY3Rpb25TdGF0ZShqLFksc2UpfSxlLnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGosWSl7cmV0dXJuIE8uSC51c2VDYWxsYmFjayhqLFkpfSxlLnVzZUNvbnRleHQ9ZnVuY3Rpb24oail7cmV0dXJuIE8uSC51c2VDb250ZXh0KGopfSxlLnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LGUudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihqLFkpe3JldHVybiBPLkgudXNlRGVmZXJyZWRWYWx1ZShqLFkpfSxlLnVzZUVmZmVjdD1mdW5jdGlvbihqLFkpe3JldHVybiBPLkgudXNlRWZmZWN0KGosWSl9LGUudXNlRWZmZWN0RXZlbnQ9ZnVuY3Rpb24oail7cmV0dXJuIE8uSC51c2VFZmZlY3RFdmVudChqKX0sZS51c2VJZD1mdW5jdGlvbigpe3JldHVybiBPLkgudXNlSWQoKX0sZS51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGosWSxzZSl7cmV0dXJuIE8uSC51c2VJbXBlcmF0aXZlSGFuZGxlKGosWSxzZSl9LGUudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGosWSl7cmV0dXJuIE8uSC51c2VJbnNlcnRpb25FZmZlY3QoaixZKX0sZS51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oaixZKXtyZXR1cm4gTy5ILnVzZUxheW91dEVmZmVjdChqLFkpfSxlLnVzZU1lbW89ZnVuY3Rpb24oaixZKXtyZXR1cm4gTy5ILnVzZU1lbW8oaixZKX0sZS51c2VPcHRpbWlzdGljPWZ1bmN0aW9uKGosWSl7cmV0dXJuIE8uSC51c2VPcHRpbWlzdGljKGosWSl9LGUudXNlUmVkdWNlcj1mdW5jdGlvbihqLFksc2Upe3JldHVybiBPLkgudXNlUmVkdWNlcihqLFksc2UpfSxlLnVzZVJlZj1mdW5jdGlvbihqKXtyZXR1cm4gTy5ILnVzZVJlZihqKX0sZS51c2VTdGF0ZT1mdW5jdGlvbihqKXtyZXR1cm4gTy5ILnVzZVN0YXRlKGopfSxlLnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGosWSxzZSl7cmV0dXJuIE8uSC51c2VTeW5jRXh0ZXJuYWxTdG9yZShqLFksc2UpfSxlLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gTy5ILnVzZVRyYW5zaXRpb24oKX0sZS52ZXJzaW9uPSIxOS4yLjcifX0pLEFlPWNyKHsibm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzIihlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9dUMoKX19KSxvQz1jcih7Im5vZGVfbW9kdWxlcy9yZWFjdC1kb20vY2pzL3JlYWN0LWRvbS5wcm9kdWN0aW9uLmpzIihlKXsidXNlIHN0cmljdCI7dmFyIHQ9QWUoKTtmdW5jdGlvbiBhKGgpe3ZhciBnPSJodHRwczovL3JlYWN0LmRldi9lcnJvcnMvIitoO2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7Zys9Ij9hcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzWzFdKTtmb3IodmFyIGI9MjtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKWcrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tiXSl9cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2grIjsgdmlzaXQgIitnKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9ZnVuY3Rpb24gaSgpe312YXIgbz17ZDp7ZjppLHI6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihhKDUyMikpfSxEOmksQzppLEw6aSxtOmksWDppLFM6aSxNOml9LHA6MCxmaW5kRE9NTm9kZTpudWxsfSxjPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpO2Z1bmN0aW9uIGQoaCxnLGIpe3ZhciB5PTM8YXJndW1lbnRzLmxlbmd0aCYmYXJndW1lbnRzWzNdIT09dm9pZCAwP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjpjLGtleTp5PT1udWxsP251bGw6IiIreSxjaGlsZHJlbjpoLGNvbnRhaW5lckluZm86ZyxpbXBsZW1lbnRhdGlvbjpifX12YXIgZj10Ll9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBtKGgsZyl7aWYoaD09PSJmb250IilyZXR1cm4iIjtpZih0eXBlb2YgZz09InN0cmluZyIpcmV0dXJuIGc9PT0idXNlLWNyZWRlbnRpYWxzIj9nOiIifWUuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPW8sZS5jcmVhdGVQb3J0YWw9ZnVuY3Rpb24oaCxnKXt2YXIgYj0yPGFyZ3VtZW50cy5sZW5ndGgmJmFyZ3VtZW50c1syXSE9PXZvaWQgMD9hcmd1bWVudHNbMl06bnVsbDtpZighZ3x8Zy5ub2RlVHlwZSE9PTEmJmcubm9kZVR5cGUhPT05JiZnLm5vZGVUeXBlIT09MTEpdGhyb3cgRXJyb3IoYSgyOTkpKTtyZXR1cm4gZChoLGcsbnVsbCxiKX0sZS5mbHVzaFN5bmM9ZnVuY3Rpb24oaCl7dmFyIGc9Zi5ULGI9by5wO3RyeXtpZihmLlQ9bnVsbCxvLnA9MixoKXJldHVybiBoKCl9ZmluYWxseXtmLlQ9ZyxvLnA9YixvLmQuZigpfX0sZS5wcmVjb25uZWN0PWZ1bmN0aW9uKGgsZyl7dHlwZW9mIGg9PSJzdHJpbmciJiYoZz8oZz1nLmNyb3NzT3JpZ2luLGc9dHlwZW9mIGc9PSJzdHJpbmciP2c9PT0idXNlLWNyZWRlbnRpYWxzIj9nOiIiOnZvaWQgMCk6Zz1udWxsLG8uZC5DKGgsZykpfSxlLnByZWZldGNoRE5TPWZ1bmN0aW9uKGgpe3R5cGVvZiBoPT0ic3RyaW5nIiYmby5kLkQoaCl9LGUucHJlaW5pdD1mdW5jdGlvbihoLGcpe2lmKHR5cGVvZiBoPT0ic3RyaW5nIiYmZyYmdHlwZW9mIGcuYXM9PSJzdHJpbmciKXt2YXIgYj1nLmFzLHk9bShiLGcuY3Jvc3NPcmlnaW4pLEM9dHlwZW9mIGcuaW50ZWdyaXR5PT0ic3RyaW5nIj9nLmludGVncml0eTp2b2lkIDAsdz10eXBlb2YgZy5mZXRjaFByaW9yaXR5PT0ic3RyaW5nIj9nLmZldGNoUHJpb3JpdHk6dm9pZCAwO2I9PT0ic3R5bGUiP28uZC5TKGgsdHlwZW9mIGcucHJlY2VkZW5jZT09InN0cmluZyI/Zy5wcmVjZWRlbmNlOnZvaWQgMCx7Y3Jvc3NPcmlnaW46eSxpbnRlZ3JpdHk6QyxmZXRjaFByaW9yaXR5Ond9KTpiPT09InNjcmlwdCImJm8uZC5YKGgse2Nyb3NzT3JpZ2luOnksaW50ZWdyaXR5OkMsZmV0Y2hQcmlvcml0eTp3LG5vbmNlOnR5cGVvZiBnLm5vbmNlPT0ic3RyaW5nIj9nLm5vbmNlOnZvaWQgMH0pfX0sZS5wcmVpbml0TW9kdWxlPWZ1bmN0aW9uKGgsZyl7aWYodHlwZW9mIGg9PSJzdHJpbmciKWlmKHR5cGVvZiBnPT0ib2JqZWN0IiYmZyE9PW51bGwpe2lmKGcuYXM9PW51bGx8fGcuYXM9PT0ic2NyaXB0Iil7dmFyIGI9bShnLmFzLGcuY3Jvc3NPcmlnaW4pO28uZC5NKGgse2Nyb3NzT3JpZ2luOmIsaW50ZWdyaXR5OnR5cGVvZiBnLmludGVncml0eT09InN0cmluZyI/Zy5pbnRlZ3JpdHk6dm9pZCAwLG5vbmNlOnR5cGVvZiBnLm5vbmNlPT0ic3RyaW5nIj9nLm5vbmNlOnZvaWQgMH0pfX1lbHNlIGc9PW51bGwmJm8uZC5NKGgpfSxlLnByZWxvYWQ9ZnVuY3Rpb24oaCxnKXtpZih0eXBlb2YgaD09InN0cmluZyImJnR5cGVvZiBnPT0ib2JqZWN0IiYmZyE9PW51bGwmJnR5cGVvZiBnLmFzPT0ic3RyaW5nIil7dmFyIGI9Zy5hcyx5PW0oYixnLmNyb3NzT3JpZ2luKTtvLmQuTChoLGIse2Nyb3NzT3JpZ2luOnksaW50ZWdyaXR5OnR5cGVvZiBnLmludGVncml0eT09InN0cmluZyI/Zy5pbnRlZ3JpdHk6dm9pZCAwLG5vbmNlOnR5cGVvZiBnLm5vbmNlPT0ic3RyaW5nIj9nLm5vbmNlOnZvaWQgMCx0eXBlOnR5cGVvZiBnLnR5cGU9PSJzdHJpbmciP2cudHlwZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgZy5mZXRjaFByaW9yaXR5PT0ic3RyaW5nIj9nLmZldGNoUHJpb3JpdHk6dm9pZCAwLHJlZmVycmVyUG9saWN5OnR5cGVvZiBnLnJlZmVycmVyUG9saWN5PT0ic3RyaW5nIj9nLnJlZmVycmVyUG9saWN5OnZvaWQgMCxpbWFnZVNyY1NldDp0eXBlb2YgZy5pbWFnZVNyY1NldD09InN0cmluZyI/Zy5pbWFnZVNyY1NldDp2b2lkIDAsaW1hZ2VTaXplczp0eXBlb2YgZy5pbWFnZVNpemVzPT0ic3RyaW5nIj9nLmltYWdlU2l6ZXM6dm9pZCAwLG1lZGlhOnR5cGVvZiBnLm1lZGlhPT0ic3RyaW5nIj9nLm1lZGlhOnZvaWQgMH0pfX0sZS5wcmVsb2FkTW9kdWxlPWZ1bmN0aW9uKGgsZyl7aWYodHlwZW9mIGg9PSJzdHJpbmciKWlmKGcpe3ZhciBiPW0oZy5hcyxnLmNyb3NzT3JpZ2luKTtvLmQubShoLHthczp0eXBlb2YgZy5hcz09InN0cmluZyImJmcuYXMhPT0ic2NyaXB0Ij9nLmFzOnZvaWQgMCxjcm9zc09yaWdpbjpiLGludGVncml0eTp0eXBlb2YgZy5pbnRlZ3JpdHk9PSJzdHJpbmciP2cuaW50ZWdyaXR5OnZvaWQgMH0pfWVsc2Ugby5kLm0oaCl9LGUucmVxdWVzdEZvcm1SZXNldD1mdW5jdGlvbihoKXtvLmQucihoKX0sZS51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1mdW5jdGlvbihoLGcpe3JldHVybiBoKGcpfSxlLnVzZUZvcm1TdGF0ZT1mdW5jdGlvbihoLGcsYil7cmV0dXJuIGYuSC51c2VGb3JtU3RhdGUoaCxnLGIpfSxlLnVzZUZvcm1TdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gZi5ILnVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzKCl9LGUudmVyc2lvbj0iMTkuMi43In19KSxkaT1jcih7Im5vZGVfbW9kdWxlcy9yZWFjdC1kb20vaW5kZXguanMiKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXtpZighKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18+InUifHx0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFIT0iZnVuY3Rpb24iKSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGEpfWNhdGNoKGkpe2NvbnNvbGUuZXJyb3IoaSl9fWEoKSx0LmV4cG9ydHM9b0MoKX19KSxzQz1jcih7Im5vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci5wcm9kdWN0aW9uLmpzIihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdChJLFUpe3ZhciBXPUkubGVuZ3RoO0kucHVzaChVKTtlOmZvcig7MDxXOyl7dmFyIFg9Vy0xPj4+MSxmZT1JW1hdO2lmKDA8byhmZSxVKSlJW1hdPVUsSVtXXT1mZSxXPVg7ZWxzZSBicmVhayBlfX1mdW5jdGlvbiBhKEkpe3JldHVybiBJLmxlbmd0aD09PTA/bnVsbDpJWzBdfWZ1bmN0aW9uIGkoSSl7aWYoSS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3ZhciBVPUlbMF0sVz1JLnBvcCgpO2lmKFchPT1VKXtJWzBdPVc7ZTpmb3IodmFyIFg9MCxmZT1JLmxlbmd0aCxnZT1mZT4+PjE7WDxnZTspe3ZhciBqPTIqKFgrMSktMSxZPUlbal0sc2U9aisxLFE9SVtzZV07aWYoMD5vKFksVykpc2U8ZmUmJjA+byhRLFkpPyhJW1hdPVEsSVtzZV09VyxYPXNlKTooSVtYXT1ZLElbal09VyxYPWopO2Vsc2UgaWYoc2U8ZmUmJjA+byhRLFcpKUlbWF09USxJW3NlXT1XLFg9c2U7ZWxzZSBicmVhayBlfX1yZXR1cm4gVX1mdW5jdGlvbiBvKEksVSl7dmFyIFc9SS5zb3J0SW5kZXgtVS5zb3J0SW5kZXg7cmV0dXJuIFchPT0wP1c6SS5pZC1VLmlkfWUudW5zdGFibGVfbm93PXZvaWQgMCx0eXBlb2YgcGVyZm9ybWFuY2U9PSJvYmplY3QiJiZ0eXBlb2YgcGVyZm9ybWFuY2Uubm93PT0iZnVuY3Rpb24iPyhjPXBlcmZvcm1hbmNlLGUudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIGMubm93KCl9KTooZD1EYXRlLGY9ZC5ub3coKSxlLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBkLm5vdygpLWZ9KTt2YXIgYyxkLGYsbT1bXSxoPVtdLGc9MSxiPW51bGwseT0zLEM9ITEsdz0hMSx4PSExLEY9ITEsQT10eXBlb2Ygc2V0VGltZW91dD09ImZ1bmN0aW9uIj9zZXRUaW1lb3V0Om51bGwsRD10eXBlb2YgY2xlYXJUaW1lb3V0PT0iZnVuY3Rpb24iP2NsZWFyVGltZW91dDpudWxsLEI9dHlwZW9mIHNldEltbWVkaWF0ZTwidSI/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gVChJKXtmb3IodmFyIFU9YShoKTtVIT09bnVsbDspe2lmKFUuY2FsbGJhY2s9PT1udWxsKWkoaCk7ZWxzZSBpZihVLnN0YXJ0VGltZTw9SSlpKGgpLFUuc29ydEluZGV4PVUuZXhwaXJhdGlvblRpbWUsdChtLFUpO2Vsc2UgYnJlYWs7VT1hKGgpfX1mdW5jdGlvbiBrKEkpe2lmKHg9ITEsVChJKSwhdylpZihhKG0pIT09bnVsbCl3PSEwLE18fChNPSEwLHZlKCkpO2Vsc2V7dmFyIFU9YShoKTtVIT09bnVsbCYmdGUoayxVLnN0YXJ0VGltZS1JKX19dmFyIE09ITEsej0tMSxPPTUscmU9LTE7ZnVuY3Rpb24gZWUoKXtyZXR1cm4gRj8hMDohKGUudW5zdGFibGVfbm93KCktcmU8Tyl9ZnVuY3Rpb24gWigpe2lmKEY9ITEsTSl7dmFyIEk9ZS51bnN0YWJsZV9ub3coKTtyZT1JO3ZhciBVPSEwO3RyeXtlOnt3PSExLHgmJih4PSExLEQoeiksej0tMSksQz0hMDt2YXIgVz15O3RyeXt0Ontmb3IoVChJKSxiPWEobSk7YiE9PW51bGwmJiEoYi5leHBpcmF0aW9uVGltZT5JJiZlZSgpKTspe3ZhciBYPWIuY2FsbGJhY2s7aWYodHlwZW9mIFg9PSJmdW5jdGlvbiIpe2IuY2FsbGJhY2s9bnVsbCx5PWIucHJpb3JpdHlMZXZlbDt2YXIgZmU9WChiLmV4cGlyYXRpb25UaW1lPD1JKTtpZihJPWUudW5zdGFibGVfbm93KCksdHlwZW9mIGZlPT0iZnVuY3Rpb24iKXtiLmNhbGxiYWNrPWZlLFQoSSksVT0hMDticmVhayB0fWI9PT1hKG0pJiZpKG0pLFQoSSl9ZWxzZSBpKG0pO2I9YShtKX1pZihiIT09bnVsbClVPSEwO2Vsc2V7dmFyIGdlPWEoaCk7Z2UhPT1udWxsJiZ0ZShrLGdlLnN0YXJ0VGltZS1JKSxVPSExfX1icmVhayBlfWZpbmFsbHl7Yj1udWxsLHk9VyxDPSExfVU9dm9pZCAwfX1maW5hbGx5e1U/dmUoKTpNPSExfX19dmFyIHZlO3R5cGVvZiBCPT0iZnVuY3Rpb24iP3ZlPWZ1bmN0aW9uKCl7QihaKX06dHlwZW9mIE1lc3NhZ2VDaGFubmVsPCJ1Ij8obWU9bmV3IE1lc3NhZ2VDaGFubmVsLEg9bWUucG9ydDIsbWUucG9ydDEub25tZXNzYWdlPVosdmU9ZnVuY3Rpb24oKXtILnBvc3RNZXNzYWdlKG51bGwpfSk6dmU9ZnVuY3Rpb24oKXtBKFosMCl9O3ZhciBtZSxIO2Z1bmN0aW9uIHRlKEksVSl7ej1BKGZ1bmN0aW9uKCl7SShlLnVuc3RhYmxlX25vdygpKX0sVSl9ZS51bnN0YWJsZV9JZGxlUHJpb3JpdHk9NSxlLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5PTEsZS51bnN0YWJsZV9Mb3dQcmlvcml0eT00LGUudW5zdGFibGVfTm9ybWFsUHJpb3JpdHk9MyxlLnVuc3RhYmxlX1Byb2ZpbGluZz1udWxsLGUudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHk9MixlLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKEkpe0kuY2FsbGJhY2s9bnVsbH0sZS51bnN0YWJsZV9mb3JjZUZyYW1lUmF0ZT1mdW5jdGlvbihJKXswPkl8fDEyNTxJP2NvbnNvbGUuZXJyb3IoImZvcmNlRnJhbWVSYXRlIHRha2VzIGEgcG9zaXRpdmUgaW50IGJldHdlZW4gMCBhbmQgMTI1LCBmb3JjaW5nIGZyYW1lIHJhdGVzIGhpZ2hlciB0aGFuIDEyNSBmcHMgaXMgbm90IHN1cHBvcnRlZCIpOk89MDxJP01hdGguZmxvb3IoMWUzL0kpOjV9LGUudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4geX0sZS51bnN0YWJsZV9uZXh0PWZ1bmN0aW9uKEkpe3N3aXRjaCh5KXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzp2YXIgVT0zO2JyZWFrO2RlZmF1bHQ6VT15fXZhciBXPXk7eT1VO3RyeXtyZXR1cm4gSSgpfWZpbmFsbHl7eT1XfX0sZS51bnN0YWJsZV9yZXF1ZXN0UGFpbnQ9ZnVuY3Rpb24oKXtGPSEwfSxlLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihJLFUpe3N3aXRjaChJKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ST0zfXZhciBXPXk7eT1JO3RyeXtyZXR1cm4gVSgpfWZpbmFsbHl7eT1XfX0sZS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKEksVSxXKXt2YXIgWD1lLnVuc3RhYmxlX25vdygpO3N3aXRjaCh0eXBlb2YgVz09Im9iamVjdCImJlchPT1udWxsPyhXPVcuZGVsYXksVz10eXBlb2YgVz09Im51bWJlciImJjA8Vz9YK1c6WCk6Vz1YLEkpe2Nhc2UgMTp2YXIgZmU9LTE7YnJlYWs7Y2FzZSAyOmZlPTI1MDticmVhaztjYXNlIDU6ZmU9MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6ZmU9MWU0O2JyZWFrO2RlZmF1bHQ6ZmU9NWUzfXJldHVybiBmZT1XK2ZlLEk9e2lkOmcrKyxjYWxsYmFjazpVLHByaW9yaXR5TGV2ZWw6SSxzdGFydFRpbWU6VyxleHBpcmF0aW9uVGltZTpmZSxzb3J0SW5kZXg6LTF9LFc+WD8oSS5zb3J0SW5kZXg9Vyx0KGgsSSksYShtKT09PW51bGwmJkk9PT1hKGgpJiYoeD8oRCh6KSx6PS0xKTp4PSEwLHRlKGssVy1YKSkpOihJLnNvcnRJbmRleD1mZSx0KG0sSSksd3x8Q3x8KHc9ITAsTXx8KE09ITAsdmUoKSkpKSxJfSxlLnVuc3RhYmxlX3Nob3VsZFlpZWxkPWVlLGUudW5zdGFibGVfd3JhcENhbGxiYWNrPWZ1bmN0aW9uKEkpe3ZhciBVPXk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIFc9eTt5PVU7dHJ5e3JldHVybiBJLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1maW5hbGx5e3k9V319fX19KSxsQz1jcih7Im5vZGVfbW9kdWxlcy9zY2hlZHVsZXIvaW5kZXguanMiKGUsdCl7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1zQygpfX0pLGNDPWNyKHsibm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLWNsaWVudC5wcm9kdWN0aW9uLmpzIihlKXsidXNlIHN0cmljdCI7dmFyIHQ9bEMoKSxhPUFlKCksaT1kaSgpO2Z1bmN0aW9uIG8obil7dmFyIHI9Imh0dHBzOi8vcmVhY3QuZGV2L2Vycm9ycy8iK247aWYoMTxhcmd1bWVudHMubGVuZ3RoKXtyKz0iP2FyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbMV0pO2Zvcih2YXIgdT0yO3U8YXJndW1lbnRzLmxlbmd0aDt1Kyspcis9IiZhcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW3VdKX1yZXR1cm4iTWluaWZpZWQgUmVhY3QgZXJyb3IgIyIrbisiOyB2aXNpdCAiK3IrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuIn1mdW5jdGlvbiBjKG4pe3JldHVybiEoIW58fG4ubm9kZVR5cGUhPT0xJiZuLm5vZGVUeXBlIT09OSYmbi5ub2RlVHlwZSE9PTExKX1mdW5jdGlvbiBkKG4pe3ZhciByPW4sdT1uO2lmKG4uYWx0ZXJuYXRlKWZvcig7ci5yZXR1cm47KXI9ci5yZXR1cm47ZWxzZXtuPXI7ZG8gcj1uLChyLmZsYWdzJjQwOTgpIT09MCYmKHU9ci5yZXR1cm4pLG49ci5yZXR1cm47d2hpbGUobil9cmV0dXJuIHIudGFnPT09Mz91Om51bGx9ZnVuY3Rpb24gZihuKXtpZihuLnRhZz09PTEzKXt2YXIgcj1uLm1lbW9pemVkU3RhdGU7aWYocj09PW51bGwmJihuPW4uYWx0ZXJuYXRlLG4hPT1udWxsJiYocj1uLm1lbW9pemVkU3RhdGUpKSxyIT09bnVsbClyZXR1cm4gci5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIG0obil7aWYobi50YWc9PT0zMSl7dmFyIHI9bi5tZW1vaXplZFN0YXRlO2lmKHI9PT1udWxsJiYobj1uLmFsdGVybmF0ZSxuIT09bnVsbCYmKHI9bi5tZW1vaXplZFN0YXRlKSksciE9PW51bGwpcmV0dXJuIHIuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKG4pe2lmKGQobikhPT1uKXRocm93IEVycm9yKG8oMTg4KSl9ZnVuY3Rpb24gZyhuKXt2YXIgcj1uLmFsdGVybmF0ZTtpZighcil7aWYocj1kKG4pLHI9PT1udWxsKXRocm93IEVycm9yKG8oMTg4KSk7cmV0dXJuIHIhPT1uP251bGw6bn1mb3IodmFyIHU9bixsPXI7Oyl7dmFyIHA9dS5yZXR1cm47aWYocD09PW51bGwpYnJlYWs7dmFyIHY9cC5hbHRlcm5hdGU7aWYodj09PW51bGwpe2lmKGw9cC5yZXR1cm4sbCE9PW51bGwpe3U9bDtjb250aW51ZX1icmVha31pZihwLmNoaWxkPT09di5jaGlsZCl7Zm9yKHY9cC5jaGlsZDt2Oyl7aWYodj09PXUpcmV0dXJuIGgocCksbjtpZih2PT09bClyZXR1cm4gaChwKSxyO3Y9di5zaWJsaW5nfXRocm93IEVycm9yKG8oMTg4KSl9aWYodS5yZXR1cm4hPT1sLnJldHVybil1PXAsbD12O2Vsc2V7Zm9yKHZhciBFPSExLFM9cC5jaGlsZDtTOyl7aWYoUz09PXUpe0U9ITAsdT1wLGw9djticmVha31pZihTPT09bCl7RT0hMCxsPXAsdT12O2JyZWFrfVM9Uy5zaWJsaW5nfWlmKCFFKXtmb3IoUz12LmNoaWxkO1M7KXtpZihTPT09dSl7RT0hMCx1PXYsbD1wO2JyZWFrfWlmKFM9PT1sKXtFPSEwLGw9dix1PXA7YnJlYWt9Uz1TLnNpYmxpbmd9aWYoIUUpdGhyb3cgRXJyb3IobygxODkpKX19aWYodS5hbHRlcm5hdGUhPT1sKXRocm93IEVycm9yKG8oMTkwKSl9aWYodS50YWchPT0zKXRocm93IEVycm9yKG8oMTg4KSk7cmV0dXJuIHUuc3RhdGVOb2RlLmN1cnJlbnQ9PT11P246cn1mdW5jdGlvbiBiKG4pe3ZhciByPW4udGFnO2lmKHI9PT01fHxyPT09MjZ8fHI9PT0yN3x8cj09PTYpcmV0dXJuIG47Zm9yKG49bi5jaGlsZDtuIT09bnVsbDspe2lmKHI9YihuKSxyIT09bnVsbClyZXR1cm4gcjtuPW4uc2libGluZ31yZXR1cm4gbnVsbH12YXIgeT1PYmplY3QuYXNzaWduLEM9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHc9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSx4PVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLEY9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxBPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksRD1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLEI9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxUPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxrPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksTT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLHo9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLE89U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLHJlPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxlZT1TeW1ib2wuZm9yKCJyZWFjdC5hY3Rpdml0eSIpLFo9U3ltYm9sLmZvcigicmVhY3QubWVtb19jYWNoZV9zZW50aW5lbCIpLHZlPVN5bWJvbC5pdGVyYXRvcjtmdW5jdGlvbiBtZShuKXtyZXR1cm4gbj09PW51bGx8fHR5cGVvZiBuIT0ib2JqZWN0Ij9udWxsOihuPXZlJiZuW3ZlXXx8blsiQEBpdGVyYXRvciJdLHR5cGVvZiBuPT0iZnVuY3Rpb24iP246bnVsbCl9dmFyIEg9U3ltYm9sLmZvcigicmVhY3QuY2xpZW50LnJlZmVyZW5jZSIpO2Z1bmN0aW9uIHRlKG4pe2lmKG49PW51bGwpcmV0dXJuIG51bGw7aWYodHlwZW9mIG49PSJmdW5jdGlvbiIpcmV0dXJuIG4uJCR0eXBlb2Y9PT1IP251bGw6bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKHR5cGVvZiBuPT0ic3RyaW5nIilyZXR1cm4gbjtzd2l0Y2gobil7Y2FzZSBGOnJldHVybiJGcmFnbWVudCI7Y2FzZSBEOnJldHVybiJQcm9maWxlciI7Y2FzZSBBOnJldHVybiJTdHJpY3RNb2RlIjtjYXNlIE06cmV0dXJuIlN1c3BlbnNlIjtjYXNlIHo6cmV0dXJuIlN1c3BlbnNlTGlzdCI7Y2FzZSBlZTpyZXR1cm4iQWN0aXZpdHkifWlmKHR5cGVvZiBuPT0ib2JqZWN0Iilzd2l0Y2gobi4kJHR5cGVvZil7Y2FzZSB4OnJldHVybiJQb3J0YWwiO2Nhc2UgVDpyZXR1cm4gbi5kaXNwbGF5TmFtZXx8IkNvbnRleHQiO2Nhc2UgQjpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLkNvbnN1bWVyIjtjYXNlIGs6dmFyIHI9bi5yZW5kZXI7cmV0dXJuIG49bi5kaXNwbGF5TmFtZSxufHwobj1yLmRpc3BsYXlOYW1lfHxyLm5hbWV8fCIiLG49biE9PSIiPyJGb3J3YXJkUmVmKCIrbisiKSI6IkZvcndhcmRSZWYiKSxuO2Nhc2UgTzpyZXR1cm4gcj1uLmRpc3BsYXlOYW1lfHxudWxsLHIhPT1udWxsP3I6dGUobi50eXBlKXx8Ik1lbW8iO2Nhc2UgcmU6cj1uLl9wYXlsb2FkLG49bi5faW5pdDt0cnl7cmV0dXJuIHRlKG4ocikpfWNhdGNoe319cmV0dXJuIG51bGx9dmFyIEk9QXJyYXkuaXNBcnJheSxVPWEuX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLFc9aS5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsWD17cGVuZGluZzohMSxkYXRhOm51bGwsbWV0aG9kOm51bGwsYWN0aW9uOm51bGx9LGZlPVtdLGdlPS0xO2Z1bmN0aW9uIGoobil7cmV0dXJue2N1cnJlbnQ6bn19ZnVuY3Rpb24gWShuKXswPmdlfHwobi5jdXJyZW50PWZlW2dlXSxmZVtnZV09bnVsbCxnZS0tKX1mdW5jdGlvbiBzZShuLHIpe2dlKyssZmVbZ2VdPW4uY3VycmVudCxuLmN1cnJlbnQ9cn12YXIgUT1qKG51bGwpLGNlPWoobnVsbCksSj1qKG51bGwpLGRlPWoobnVsbCk7ZnVuY3Rpb24geGUobixyKXtzd2l0Y2goc2UoSixyKSxzZShjZSxuKSxzZShRLG51bGwpLHIubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49ci5kb2N1bWVudEVsZW1lbnQpJiYobj1uLm5hbWVzcGFjZVVSSSk/RjQobik6MDticmVhaztkZWZhdWx0OmlmKG49ci50YWdOYW1lLHI9ci5uYW1lc3BhY2VVUkkpcj1GNChyKSxuPUM0KHIsbik7ZWxzZSBzd2l0Y2gobil7Y2FzZSJzdmciOm49MTticmVhaztjYXNlIm1hdGgiOm49MjticmVhaztkZWZhdWx0Om49MH19WShRKSxzZShRLG4pfWZ1bmN0aW9uIHllKCl7WShRKSxZKGNlKSxZKEopfWZ1bmN0aW9uIEZlKG4pe24ubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnNlKGRlLG4pO3ZhciByPVEuY3VycmVudCx1PUM0KHIsbi50eXBlKTtyIT09dSYmKHNlKGNlLG4pLHNlKFEsdSkpfWZ1bmN0aW9uIE5lKG4pe2NlLmN1cnJlbnQ9PT1uJiYoWShRKSxZKGNlKSksZGUuY3VycmVudD09PW4mJihZKGRlKSxZYy5fY3VycmVudFZhbHVlPVgpfXZhciBydCxjdDtmdW5jdGlvbiBrZShuKXtpZihydD09PXZvaWQgMCl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaCh1KXt2YXIgcj11LnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7cnQ9ciYmclsxXXx8IiIsY3Q9LTE8dS5zdGFjay5pbmRleE9mKGAKICAgIGF0YCk/IiAoPGFub255bW91cz4pIjotMTx1LnN0YWNrLmluZGV4T2YoIkAiKT8iQHVua25vd246MDowIjoiIn1yZXR1cm5gCmArcnQrbitjdH12YXIgWGU9ITE7ZnVuY3Rpb24gZHQobixyKXtpZighbnx8WGUpcmV0dXJuIiI7WGU9ITA7dmFyIHU9RXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7RXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9dm9pZCAwO3RyeXt2YXIgbD17RGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OmZ1bmN0aW9uKCl7dHJ5e2lmKHIpe3ZhciBvZT1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9O2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvZS5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSx0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3Qob2UsW10pfWNhdGNoKCQpe3ZhciBLPSR9UmVmbGVjdC5jb25zdHJ1Y3QobixbXSxvZSl9ZWxzZXt0cnl7b2UuY2FsbCgpfWNhdGNoKCQpe0s9JH1uLmNhbGwob2UucHJvdG90eXBlKX19ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaCgkKXtLPSR9KG9lPW4oKSkmJnR5cGVvZiBvZS5jYXRjaD09ImZ1bmN0aW9uIiYmb2UuY2F0Y2goZnVuY3Rpb24oKXt9KX19Y2F0Y2goJCl7aWYoJCYmSyYmdHlwZW9mICQuc3RhY2s9PSJzdHJpbmciKXJldHVyblskLnN0YWNrLEsuc3RhY2tdfXJldHVybltudWxsLG51bGxdfX07bC5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWU9IkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCI7dmFyIHA9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIpO3AmJnAuY29uZmlndXJhYmxlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobC5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsIm5hbWUiLHt2YWx1ZToiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290In0pO3ZhciB2PWwuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290KCksRT12WzBdLFM9dlsxXTtpZihFJiZTKXt2YXIgTj1FLnNwbGl0KGAKYCksRz1TLnNwbGl0KGAKYCk7Zm9yKHA9bD0wO2w8Ti5sZW5ndGgmJiFOW2xdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspbCsrO2Zvcig7cDxHLmxlbmd0aCYmIUdbcF0uaW5jbHVkZXMoIkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCIpOylwKys7aWYobD09PU4ubGVuZ3RofHxwPT09Ry5sZW5ndGgpZm9yKGw9Ti5sZW5ndGgtMSxwPUcubGVuZ3RoLTE7MTw9bCYmMDw9cCYmTltsXSE9PUdbcF07KXAtLTtmb3IoOzE8PWwmJjA8PXA7bC0tLHAtLSlpZihOW2xdIT09R1twXSl7aWYobCE9PTF8fHAhPT0xKWRvIGlmKGwtLSxwLS0sMD5wfHxOW2xdIT09R1twXSl7dmFyIG5lPWAKYCtOW2xdLnJlcGxhY2UoIiBhdCBuZXcgIiwiIGF0ICIpO3JldHVybiBuLmRpc3BsYXlOYW1lJiZuZS5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKG5lPW5lLnJlcGxhY2UoIjxhbm9ueW1vdXM+IixuLmRpc3BsYXlOYW1lKSksbmV9d2hpbGUoMTw9bCYmMDw9cCk7YnJlYWt9fX1maW5hbGx5e1hlPSExLEVycm9yLnByZXBhcmVTdGFja1RyYWNlPXV9cmV0dXJuKHU9bj9uLmRpc3BsYXlOYW1lfHxuLm5hbWU6IiIpP2tlKHUpOiIifWZ1bmN0aW9uIHZuKG4scil7c3dpdGNoKG4udGFnKXtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBrZShuLnR5cGUpO2Nhc2UgMTY6cmV0dXJuIGtlKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gbi5jaGlsZCE9PXImJnIhPT1udWxsP2tlKCJTdXNwZW5zZSBGYWxsYmFjayIpOmtlKCJTdXNwZW5zZSIpO2Nhc2UgMTk6cmV0dXJuIGtlKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAxNTpyZXR1cm4gZHQobi50eXBlLCExKTtjYXNlIDExOnJldHVybiBkdChuLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGR0KG4udHlwZSwhMCk7Y2FzZSAzMTpyZXR1cm4ga2UoIkFjdGl2aXR5Iik7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gemUobil7dHJ5e3ZhciByPSIiLHU9bnVsbDtkbyByKz12bihuLHUpLHU9bixuPW4ucmV0dXJuO3doaWxlKG4pO3JldHVybiByfWNhdGNoKGwpe3JldHVybmAKRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogYCtsLm1lc3NhZ2UrYApgK2wuc3RhY2t9fXZhciBudD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LEh0PXQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxqdD10LnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrLEZuPXQudW5zdGFibGVfc2hvdWxkWWllbGQsWG49dC51bnN0YWJsZV9yZXF1ZXN0UGFpbnQscGU9dC51bnN0YWJsZV9ub3csS2U9dC51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCxtbj10LnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5LHVuPXQudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHksQ249dC51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxxdD10LnVuc3RhYmxlX0xvd1ByaW9yaXR5LGllPXQudW5zdGFibGVfSWRsZVByaW9yaXR5LEdpPXQubG9nLFF1PXQudW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWUsYXI9bnVsbCxEbj1udWxsO2Z1bmN0aW9uICRuKG4pe2lmKHR5cGVvZiBHaT09ImZ1bmN0aW9uIiYmUXUobiksRG4mJnR5cGVvZiBEbi5zZXRTdHJpY3RNb2RlPT0iZnVuY3Rpb24iKXRyeXtEbi5zZXRTdHJpY3RNb2RlKGFyLG4pfWNhdGNoe319dmFyIGhuPU1hdGguY2x6MzI/TWF0aC5jbHozMjpycix1cz1NYXRoLmxvZyxfbj1NYXRoLkxOMjtmdW5jdGlvbiBycihuKXtyZXR1cm4gbj4+Pj0wLG49PT0wPzMyOjMxLSh1cyhuKS9fbnwwKXwwfXZhciBObj0yNTYsVnI9MjYyMTQ0LFlpPTQxOTQzMDQ7ZnVuY3Rpb24gaXIobil7dmFyIHI9biY0MjtpZihyIT09MClyZXR1cm4gcjtzd2l0Y2gobiYtbil7Y2FzZSAxOnJldHVybiAxO2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDQ6cmV0dXJuIDQ7Y2FzZSA4OnJldHVybiA4O2Nhc2UgMTY6cmV0dXJuIDE2O2Nhc2UgMzI6cmV0dXJuIDMyO2Nhc2UgNjQ6cmV0dXJuIDY0O2Nhc2UgMTI4OnJldHVybiAxMjg7Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOnJldHVybiBuJjI2MTg4ODtjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuJjM5MzIxNjA7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuIG4mNjI5MTQ1NjA7Y2FzZSA2NzEwODg2NDpyZXR1cm4gNjcxMDg4NjQ7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIG59fWZ1bmN0aW9uIFh1KG4scix1KXt2YXIgbD1uLnBlbmRpbmdMYW5lcztpZihsPT09MClyZXR1cm4gMDt2YXIgcD0wLHY9bi5zdXNwZW5kZWRMYW5lcyxFPW4ucGluZ2VkTGFuZXM7bj1uLndhcm1MYW5lczt2YXIgUz1sJjEzNDIxNzcyNztyZXR1cm4gUyE9PTA/KGw9UyZ+dixsIT09MD9wPWlyKGwpOihFJj1TLEUhPT0wP3A9aXIoRSk6dXx8KHU9UyZ+bix1IT09MCYmKHA9aXIodSkpKSkpOihTPWwmfnYsUyE9PTA/cD1pcihTKTpFIT09MD9wPWlyKEUpOnV8fCh1PWwmfm4sdSE9PTAmJihwPWlyKHUpKSkpLHA9PT0wPzA6ciE9PTAmJnIhPT1wJiYociZ2KT09PTAmJih2PXAmLXAsdT1yJi1yLHY+PXV8fHY9PT0zMiYmKHUmNDE5NDA0OCkhPT0wKT9yOnB9ZnVuY3Rpb24gdXIobixyKXtyZXR1cm4obi5wZW5kaW5nTGFuZXMmfihuLnN1c3BlbmRlZExhbmVzJn5uLnBpbmdlZExhbmVzKSZyKT09PTB9ZnVuY3Rpb24gTzAobixyKXtzd2l0Y2gobil7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6Y2FzZSA4OmNhc2UgNjQ6cmV0dXJuIHIrMjUwO2Nhc2UgMTY6Y2FzZSAzMjpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gcis1ZTM7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuLTE7Y2FzZSA2NzEwODg2NDpjYXNlIDEzNDIxNzcyODpjYXNlIDI2ODQzNTQ1NjpjYXNlIDUzNjg3MDkxMjpjYXNlIDEwNzM3NDE4MjQ6cmV0dXJuLTE7ZGVmYXVsdDpyZXR1cm4tMX19ZnVuY3Rpb24gQmEoKXt2YXIgbj1ZaTtyZXR1cm4gWWk8PD0xLChZaSY2MjkxNDU2MCk9PT0wJiYoWWk9NDE5NDMwNCksbn1mdW5jdGlvbiBrYShuKXtmb3IodmFyIHI9W10sdT0wOzMxPnU7dSsrKXIucHVzaChuKTtyZXR1cm4gcn1mdW5jdGlvbiBXaShuLHIpe24ucGVuZGluZ0xhbmVzfD1yLHIhPT0yNjg0MzU0NTYmJihuLnN1c3BlbmRlZExhbmVzPTAsbi5waW5nZWRMYW5lcz0wLG4ud2FybUxhbmVzPTApfWZ1bmN0aW9uIEdyKG4scix1LGwscCx2KXt2YXIgRT1uLnBlbmRpbmdMYW5lcztuLnBlbmRpbmdMYW5lcz11LG4uc3VzcGVuZGVkTGFuZXM9MCxuLnBpbmdlZExhbmVzPTAsbi53YXJtTGFuZXM9MCxuLmV4cGlyZWRMYW5lcyY9dSxuLmVudGFuZ2xlZExhbmVzJj11LG4uZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXMmPXUsbi5zaGVsbFN1c3BlbmRDb3VudGVyPTA7dmFyIFM9bi5lbnRhbmdsZW1lbnRzLE49bi5leHBpcmF0aW9uVGltZXMsRz1uLmhpZGRlblVwZGF0ZXM7Zm9yKHU9RSZ+dTswPHU7KXt2YXIgbmU9MzEtaG4odSksb2U9MTw8bmU7U1tuZV09MCxOW25lXT0tMTt2YXIgSz1HW25lXTtpZihLIT09bnVsbClmb3IoR1tuZV09bnVsbCxuZT0wO25lPEsubGVuZ3RoO25lKyspe3ZhciAkPUtbbmVdOyQhPT1udWxsJiYoJC5sYW5lJj0tNTM2ODcwOTEzKX11Jj1+b2V9bCE9PTAmJm9zKG4sbCwwKSx2IT09MCYmcD09PTAmJm4udGFnIT09MCYmKG4uc3VzcGVuZGVkTGFuZXN8PXYmfihFJn5yKSl9ZnVuY3Rpb24gb3MobixyLHUpe24ucGVuZGluZ0xhbmVzfD1yLG4uc3VzcGVuZGVkTGFuZXMmPX5yO3ZhciBsPTMxLWhuKHIpO24uZW50YW5nbGVkTGFuZXN8PXIsbi5lbnRhbmdsZW1lbnRzW2xdPW4uZW50YW5nbGVtZW50c1tsXXwxMDczNzQxODI0fHUmMjYxOTMwfWZ1bmN0aW9uIHNzKG4scil7dmFyIHU9bi5lbnRhbmdsZWRMYW5lc3w9cjtmb3Iobj1uLmVudGFuZ2xlbWVudHM7dTspe3ZhciBsPTMxLWhuKHUpLHA9MTw8bDtwJnJ8bltsXSZyJiYobltsXXw9ciksdSY9fnB9fWZ1bmN0aW9uIGljKG4scil7dmFyIHU9ciYtcjtyZXR1cm4gdT0odSY0MikhPT0wPzE6bHModSksKHUmKG4uc3VzcGVuZGVkTGFuZXN8cikpIT09MD8wOnV9ZnVuY3Rpb24gbHMobil7c3dpdGNoKG4pe2Nhc2UgMjpuPTE7YnJlYWs7Y2FzZSA4Om49NDticmVhaztjYXNlIDMyOm49MTY7YnJlYWs7Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6bj0xMjg7YnJlYWs7Y2FzZSAyNjg0MzU0NTY6bj0xMzQyMTc3Mjg7YnJlYWs7ZGVmYXVsdDpuPTB9cmV0dXJuIG59ZnVuY3Rpb24gJHUobil7cmV0dXJuIG4mPS1uLDI8bj84PG4/KG4mMTM0MjE3NzI3KSE9PTA/MzI6MjY4NDM1NDU2Ojg6Mn1mdW5jdGlvbiB1Yygpe3ZhciBuPVcucDtyZXR1cm4gbiE9PTA/bjoobj13aW5kb3cuZXZlbnQsbj09PXZvaWQgMD8zMjpXNChuLnR5cGUpKX1mdW5jdGlvbiBvYyhuLHIpe3ZhciB1PVcucDt0cnl7cmV0dXJuIFcucD1uLHIoKX1maW5hbGx5e1cucD11fX12YXIgVGU9TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksRWU9Il9fcmVhY3RGaWJlciQiK1RlLFJlPSJfX3JlYWN0UHJvcHMkIitUZSxtdD0iX19yZWFjdENvbnRhaW5lciQiK1RlLFB0PSJfX3JlYWN0RXZlbnRzJCIrVGUsWXI9Il9fcmVhY3RMaXN0ZW5lcnMkIitUZSx4Uj0iX19yZWFjdEhhbmRsZXMkIitUZSxsMj0iX19yZWFjdFJlc291cmNlcyQiK1RlLHNjPSJfX3JlYWN0TWFya2VyJCIrVGU7ZnVuY3Rpb24gXzAobil7ZGVsZXRlIG5bRWVdLGRlbGV0ZSBuW1JlXSxkZWxldGUgbltQdF0sZGVsZXRlIG5bWXJdLGRlbGV0ZSBuW3hSXX1mdW5jdGlvbiBjcyhuKXt2YXIgcj1uW0VlXTtpZihyKXJldHVybiByO2Zvcih2YXIgdT1uLnBhcmVudE5vZGU7dTspe2lmKHI9dVttdF18fHVbRWVdKXtpZih1PXIuYWx0ZXJuYXRlLHIuY2hpbGQhPT1udWxsfHx1IT09bnVsbCYmdS5jaGlsZCE9PW51bGwpZm9yKG49ajQobik7biE9PW51bGw7KXtpZih1PW5bRWVdKXJldHVybiB1O249ajQobil9cmV0dXJuIHJ9bj11LHU9bi5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGRzKG4pe2lmKG49bltFZV18fG5bbXRdKXt2YXIgcj1uLnRhZztpZihyPT09NXx8cj09PTZ8fHI9PT0xM3x8cj09PTMxfHxyPT09MjZ8fHI9PT0yN3x8cj09PTMpcmV0dXJuIG59cmV0dXJuIG51bGx9ZnVuY3Rpb24gbGMobil7dmFyIHI9bi50YWc7aWYocj09PTV8fHI9PT0yNnx8cj09PTI3fHxyPT09NilyZXR1cm4gbi5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IobygzMykpfWZ1bmN0aW9uIGZzKG4pe3ZhciByPW5bbDJdO3JldHVybiByfHwocj1uW2wyXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSkscn1mdW5jdGlvbiBnbihuKXtuW3NjXT0hMH12YXIgYzI9bmV3IFNldCxkMj17fTtmdW5jdGlvbiBadShuLHIpe3BzKG4scikscHMobisiQ2FwdHVyZSIscil9ZnVuY3Rpb24gcHMobixyKXtmb3IoZDJbbl09cixuPTA7bjxyLmxlbmd0aDtuKyspYzIuYWRkKHJbbl0pfXZhciBFUj1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSxmMj17fSxwMj17fTtmdW5jdGlvbiBGUihuKXtyZXR1cm4gbnQuY2FsbChwMixuKT8hMDpudC5jYWxsKGYyLG4pPyExOkVSLnRlc3Qobik/cDJbbl09ITA6KGYyW25dPSEwLCExKX1mdW5jdGlvbiBYZihuLHIsdSl7aWYoRlIocikpaWYodT09PW51bGwpbi5yZW1vdmVBdHRyaWJ1dGUocik7ZWxzZXtzd2l0Y2godHlwZW9mIHUpe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6bi5yZW1vdmVBdHRyaWJ1dGUocik7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIGw9ci50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYobCE9PSJkYXRhLSImJmwhPT0iYXJpYS0iKXtuLnJlbW92ZUF0dHJpYnV0ZShyKTtyZXR1cm59fW4uc2V0QXR0cmlidXRlKHIsIiIrdSl9fWZ1bmN0aW9uICRmKG4scix1KXtpZih1PT09bnVsbCluLnJlbW92ZUF0dHJpYnV0ZShyKTtlbHNle3N3aXRjaCh0eXBlb2YgdSl7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOm4ucmVtb3ZlQXR0cmlidXRlKHIpO3JldHVybn1uLnNldEF0dHJpYnV0ZShyLCIiK3UpfX1mdW5jdGlvbiBXcihuLHIsdSxsKXtpZihsPT09bnVsbCluLnJlbW92ZUF0dHJpYnV0ZSh1KTtlbHNle3N3aXRjaCh0eXBlb2YgbCl7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOm4ucmVtb3ZlQXR0cmlidXRlKHUpO3JldHVybn1uLnNldEF0dHJpYnV0ZU5TKHIsdSwiIitsKX19ZnVuY3Rpb24gVGEobil7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpyZXR1cm4gbjtjYXNlIm9iamVjdCI6cmV0dXJuIG47ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gdjIobil7dmFyIHI9bi50eXBlO3JldHVybihuPW4ubm9kZU5hbWUpJiZuLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYocj09PSJjaGVja2JveCJ8fHI9PT0icmFkaW8iKX1mdW5jdGlvbiBDUihuLHIsdSl7dmFyIGw9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxyKTtpZighbi5oYXNPd25Qcm9wZXJ0eShyKSYmdHlwZW9mIGw8InUiJiZ0eXBlb2YgbC5nZXQ9PSJmdW5jdGlvbiImJnR5cGVvZiBsLnNldD09ImZ1bmN0aW9uIil7dmFyIHA9bC5nZXQsdj1sLnNldDtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG4scix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBwLmNhbGwodGhpcyl9LHNldDpmdW5jdGlvbihFKXt1PSIiK0Usdi5jYWxsKHRoaXMsRSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4scix7ZW51bWVyYWJsZTpsLmVudW1lcmFibGV9KSx7Z2V0VmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2V0VmFsdWU6ZnVuY3Rpb24oRSl7dT0iIitFfSxzdG9wVHJhY2tpbmc6ZnVuY3Rpb24oKXtuLl92YWx1ZVRyYWNrZXI9bnVsbCxkZWxldGUgbltyXX19fX1mdW5jdGlvbiBOMChuKXtpZighbi5fdmFsdWVUcmFja2VyKXt2YXIgcj12MihuKT8iY2hlY2tlZCI6InZhbHVlIjtuLl92YWx1ZVRyYWNrZXI9Q1IobixyLCIiK25bcl0pfX1mdW5jdGlvbiBtMihuKXtpZighbilyZXR1cm4hMTt2YXIgcj1uLl92YWx1ZVRyYWNrZXI7aWYoIXIpcmV0dXJuITA7dmFyIHU9ci5nZXRWYWx1ZSgpLGw9IiI7cmV0dXJuIG4mJihsPXYyKG4pP24uY2hlY2tlZD8idHJ1ZSI6ImZhbHNlIjpuLnZhbHVlKSxuPWwsbiE9PXU/KHIuc2V0VmFsdWUobiksITApOiExfWZ1bmN0aW9uIFpmKG4pe2lmKG49bnx8KHR5cGVvZiBkb2N1bWVudDwidSI/ZG9jdW1lbnQ6dm9pZCAwKSx0eXBlb2Ygbj4idSIpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBuLmFjdGl2ZUVsZW1lbnR8fG4uYm9keX1jYXRjaHtyZXR1cm4gbi5ib2R5fX12YXIgRFI9L1tcbiJcXF0vZztmdW5jdGlvbiBqYShuKXtyZXR1cm4gbi5yZXBsYWNlKERSLGZ1bmN0aW9uKHIpe3JldHVybiJcXCIrci5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSsiICJ9KX1mdW5jdGlvbiBSMChuLHIsdSxsLHAsdixFLFMpe24ubmFtZT0iIixFIT1udWxsJiZ0eXBlb2YgRSE9ImZ1bmN0aW9uIiYmdHlwZW9mIEUhPSJzeW1ib2wiJiZ0eXBlb2YgRSE9ImJvb2xlYW4iP24udHlwZT1FOm4ucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksciE9bnVsbD9FPT09Im51bWJlciI/KHI9PT0wJiZuLnZhbHVlPT09IiJ8fG4udmFsdWUhPXIpJiYobi52YWx1ZT0iIitUYShyKSk6bi52YWx1ZSE9PSIiK1RhKHIpJiYobi52YWx1ZT0iIitUYShyKSk6RSE9PSJzdWJtaXQiJiZFIT09InJlc2V0Inx8bi5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksciE9bnVsbD9JMChuLEUsVGEocikpOnUhPW51bGw/STAobixFLFRhKHUpKTpsIT1udWxsJiZuLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKSxwPT1udWxsJiZ2IT1udWxsJiYobi5kZWZhdWx0Q2hlY2tlZD0hIXYpLHAhPW51bGwmJihuLmNoZWNrZWQ9cCYmdHlwZW9mIHAhPSJmdW5jdGlvbiImJnR5cGVvZiBwIT0ic3ltYm9sIiksUyE9bnVsbCYmdHlwZW9mIFMhPSJmdW5jdGlvbiImJnR5cGVvZiBTIT0ic3ltYm9sIiYmdHlwZW9mIFMhPSJib29sZWFuIj9uLm5hbWU9IiIrVGEoUyk6bi5yZW1vdmVBdHRyaWJ1dGUoIm5hbWUiKX1mdW5jdGlvbiBoMihuLHIsdSxsLHAsdixFLFMpe2lmKHYhPW51bGwmJnR5cGVvZiB2IT0iZnVuY3Rpb24iJiZ0eXBlb2YgdiE9InN5bWJvbCImJnR5cGVvZiB2IT0iYm9vbGVhbiImJihuLnR5cGU9diksciE9bnVsbHx8dSE9bnVsbCl7aWYoISh2IT09InN1Ym1pdCImJnYhPT0icmVzZXQifHxyIT1udWxsKSl7TjAobik7cmV0dXJufXU9dSE9bnVsbD8iIitUYSh1KToiIixyPXIhPW51bGw/IiIrVGEocik6dSxTfHxyPT09bi52YWx1ZXx8KG4udmFsdWU9ciksbi5kZWZhdWx0VmFsdWU9cn1sPWw/P3AsbD10eXBlb2YgbCE9ImZ1bmN0aW9uIiYmdHlwZW9mIGwhPSJzeW1ib2wiJiYhIWwsbi5jaGVja2VkPVM/bi5jaGVja2VkOiEhbCxuLmRlZmF1bHRDaGVja2VkPSEhbCxFIT1udWxsJiZ0eXBlb2YgRSE9ImZ1bmN0aW9uIiYmdHlwZW9mIEUhPSJzeW1ib2wiJiZ0eXBlb2YgRSE9ImJvb2xlYW4iJiYobi5uYW1lPUUpLE4wKG4pfWZ1bmN0aW9uIEkwKG4scix1KXtyPT09Im51bWJlciImJlpmKG4ub3duZXJEb2N1bWVudCk9PT1ufHxuLmRlZmF1bHRWYWx1ZT09PSIiK3V8fChuLmRlZmF1bHRWYWx1ZT0iIit1KX1mdW5jdGlvbiB2cyhuLHIsdSxsKXtpZihuPW4ub3B0aW9ucyxyKXtyPXt9O2Zvcih2YXIgcD0wO3A8dS5sZW5ndGg7cCsrKXJbIiQiK3VbcF1dPSEwO2Zvcih1PTA7dTxuLmxlbmd0aDt1KyspcD1yLmhhc093blByb3BlcnR5KCIkIituW3VdLnZhbHVlKSxuW3VdLnNlbGVjdGVkIT09cCYmKG5bdV0uc2VsZWN0ZWQ9cCkscCYmbCYmKG5bdV0uZGVmYXVsdFNlbGVjdGVkPSEwKX1lbHNle2Zvcih1PSIiK1RhKHUpLHI9bnVsbCxwPTA7cDxuLmxlbmd0aDtwKyspe2lmKG5bcF0udmFsdWU9PT11KXtuW3BdLnNlbGVjdGVkPSEwLGwmJihuW3BdLmRlZmF1bHRTZWxlY3RlZD0hMCk7cmV0dXJufXIhPT1udWxsfHxuW3BdLmRpc2FibGVkfHwocj1uW3BdKX1yIT09bnVsbCYmKHIuc2VsZWN0ZWQ9ITApfX1mdW5jdGlvbiBnMihuLHIsdSl7aWYociE9bnVsbCYmKHI9IiIrVGEociksciE9PW4udmFsdWUmJihuLnZhbHVlPXIpLHU9PW51bGwpKXtuLmRlZmF1bHRWYWx1ZSE9PXImJihuLmRlZmF1bHRWYWx1ZT1yKTtyZXR1cm59bi5kZWZhdWx0VmFsdWU9dSE9bnVsbD8iIitUYSh1KToiIn1mdW5jdGlvbiBiMihuLHIsdSxsKXtpZihyPT1udWxsKXtpZihsIT1udWxsKXtpZih1IT1udWxsKXRocm93IEVycm9yKG8oOTIpKTtpZihJKGwpKXtpZigxPGwubGVuZ3RoKXRocm93IEVycm9yKG8oOTMpKTtsPWxbMF19dT1sfXU9PW51bGwmJih1PSIiKSxyPXV9dT1UYShyKSxuLmRlZmF1bHRWYWx1ZT11LGw9bi50ZXh0Q29udGVudCxsPT09dSYmbCE9PSIiJiZsIT09bnVsbCYmKG4udmFsdWU9bCksTjAobil9ZnVuY3Rpb24gbXMobixyKXtpZihyKXt2YXIgdT1uLmZpcnN0Q2hpbGQ7aWYodSYmdT09PW4ubGFzdENoaWxkJiZ1Lm5vZGVUeXBlPT09Myl7dS5ub2RlVmFsdWU9cjtyZXR1cm59fW4udGV4dENvbnRlbnQ9cn12YXIgQVI9bmV3IFNldCgiYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgYXNwZWN0UmF0aW8gYm9yZGVySW1hZ2VPdXRzZXQgYm9yZGVySW1hZ2VTbGljZSBib3JkZXJJbWFnZVdpZHRoIGJveEZsZXggYm94RmxleEdyb3VwIGJveE9yZGluYWxHcm91cCBjb2x1bW5Db3VudCBjb2x1bW5zIGZsZXggZmxleEdyb3cgZmxleFBvc2l0aXZlIGZsZXhTaHJpbmsgZmxleE5lZ2F0aXZlIGZsZXhPcmRlciBncmlkQXJlYSBncmlkUm93IGdyaWRSb3dFbmQgZ3JpZFJvd1NwYW4gZ3JpZFJvd1N0YXJ0IGdyaWRDb2x1bW4gZ3JpZENvbHVtbkVuZCBncmlkQ29sdW1uU3BhbiBncmlkQ29sdW1uU3RhcnQgZm9udFdlaWdodCBsaW5lQ2xhbXAgbGluZUhlaWdodCBvcGFjaXR5IG9yZGVyIG9ycGhhbnMgc2NhbGUgdGFiU2l6ZSB3aWRvd3MgekluZGV4IHpvb20gZmlsbE9wYWNpdHkgZmxvb2RPcGFjaXR5IHN0b3BPcGFjaXR5IHN0cm9rZURhc2hhcnJheSBzdHJva2VEYXNob2Zmc2V0IHN0cm9rZU1pdGVybGltaXQgc3Ryb2tlT3BhY2l0eSBzdHJva2VXaWR0aCBNb3pBbmltYXRpb25JdGVyYXRpb25Db3VudCBNb3pCb3hGbGV4IE1vekJveEZsZXhHcm91cCBNb3pMaW5lQ2xhbXAgbXNBbmltYXRpb25JdGVyYXRpb25Db3VudCBtc0ZsZXggbXNab29tIG1zRmxleEdyb3cgbXNGbGV4TmVnYXRpdmUgbXNGbGV4T3JkZXIgbXNGbGV4UG9zaXRpdmUgbXNGbGV4U2hyaW5rIG1zR3JpZENvbHVtbiBtc0dyaWRDb2x1bW5TcGFuIG1zR3JpZFJvdyBtc0dyaWRSb3dTcGFuIFdlYmtpdEFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IFdlYmtpdEJveEZsZXggV2ViS2l0Qm94RmxleEdyb3VwIFdlYmtpdEJveE9yZGluYWxHcm91cCBXZWJraXRDb2x1bW5Db3VudCBXZWJraXRDb2x1bW5zIFdlYmtpdEZsZXggV2Via2l0RmxleEdyb3cgV2Via2l0RmxleFBvc2l0aXZlIFdlYmtpdEZsZXhTaHJpbmsgV2Via2l0TGluZUNsYW1wIi5zcGxpdCgiICIpKTtmdW5jdGlvbiB5MihuLHIsdSl7dmFyIGw9ci5pbmRleE9mKCItLSIpPT09MDt1PT1udWxsfHx0eXBlb2YgdT09ImJvb2xlYW4ifHx1PT09IiI/bD9uLnNldFByb3BlcnR5KHIsIiIpOnI9PT0iZmxvYXQiP24uY3NzRmxvYXQ9IiI6bltyXT0iIjpsP24uc2V0UHJvcGVydHkocix1KTp0eXBlb2YgdSE9Im51bWJlciJ8fHU9PT0wfHxBUi5oYXMocik/cj09PSJmbG9hdCI/bi5jc3NGbG9hdD11Om5bcl09KCIiK3UpLnRyaW0oKTpuW3JdPXUrInB4In1mdW5jdGlvbiB3MihuLHIsdSl7aWYociE9bnVsbCYmdHlwZW9mIHIhPSJvYmplY3QiKXRocm93IEVycm9yKG8oNjIpKTtpZihuPW4uc3R5bGUsdSE9bnVsbCl7Zm9yKHZhciBsIGluIHUpIXUuaGFzT3duUHJvcGVydHkobCl8fHIhPW51bGwmJnIuaGFzT3duUHJvcGVydHkobCl8fChsLmluZGV4T2YoIi0tIik9PT0wP24uc2V0UHJvcGVydHkobCwiIik6bD09PSJmbG9hdCI/bi5jc3NGbG9hdD0iIjpuW2xdPSIiKTtmb3IodmFyIHAgaW4gcilsPXJbcF0sci5oYXNPd25Qcm9wZXJ0eShwKSYmdVtwXSE9PWwmJnkyKG4scCxsKX1lbHNlIGZvcih2YXIgdiBpbiByKXIuaGFzT3duUHJvcGVydHkodikmJnkyKG4sdixyW3ZdKX1mdW5jdGlvbiBMMChuKXtpZihuLmluZGV4T2YoIi0iKT09PS0xKXJldHVybiExO3N3aXRjaChuKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOmNhc2UiZm9udC1mYWNlLXVyaSI6Y2FzZSJmb250LWZhY2UtZm9ybWF0IjpjYXNlImZvbnQtZmFjZS1uYW1lIjpjYXNlIm1pc3NpbmctZ2x5cGgiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITB9fXZhciBTUj1uZXcgTWFwKFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiaHRtbEZvciIsImZvciJdLFsiaHR0cEVxdWl2IiwiaHR0cC1lcXVpdiJdLFsiY3Jvc3NPcmlnaW4iLCJjcm9zc29yaWdpbiJdLFsiYWNjZW50SGVpZ2h0IiwiYWNjZW50LWhlaWdodCJdLFsiYWxpZ25tZW50QmFzZWxpbmUiLCJhbGlnbm1lbnQtYmFzZWxpbmUiXSxbImFyYWJpY0Zvcm0iLCJhcmFiaWMtZm9ybSJdLFsiYmFzZWxpbmVTaGlmdCIsImJhc2VsaW5lLXNoaWZ0Il0sWyJjYXBIZWlnaHQiLCJjYXAtaGVpZ2h0Il0sWyJjbGlwUGF0aCIsImNsaXAtcGF0aCJdLFsiY2xpcFJ1bGUiLCJjbGlwLXJ1bGUiXSxbImNvbG9ySW50ZXJwb2xhdGlvbiIsImNvbG9yLWludGVycG9sYXRpb24iXSxbImNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnMiLCJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMiXSxbImNvbG9yUHJvZmlsZSIsImNvbG9yLXByb2ZpbGUiXSxbImNvbG9yUmVuZGVyaW5nIiwiY29sb3ItcmVuZGVyaW5nIl0sWyJkb21pbmFudEJhc2VsaW5lIiwiZG9taW5hbnQtYmFzZWxpbmUiXSxbImVuYWJsZUJhY2tncm91bmQiLCJlbmFibGUtYmFja2dyb3VuZCJdLFsiZmlsbE9wYWNpdHkiLCJmaWxsLW9wYWNpdHkiXSxbImZpbGxSdWxlIiwiZmlsbC1ydWxlIl0sWyJmbG9vZENvbG9yIiwiZmxvb2QtY29sb3IiXSxbImZsb29kT3BhY2l0eSIsImZsb29kLW9wYWNpdHkiXSxbImZvbnRGYW1pbHkiLCJmb250LWZhbWlseSJdLFsiZm9udFNpemUiLCJmb250LXNpemUiXSxbImZvbnRTaXplQWRqdXN0IiwiZm9udC1zaXplLWFkanVzdCJdLFsiZm9udFN0cmV0Y2giLCJmb250LXN0cmV0Y2giXSxbImZvbnRTdHlsZSIsImZvbnQtc3R5bGUiXSxbImZvbnRWYXJpYW50IiwiZm9udC12YXJpYW50Il0sWyJmb250V2VpZ2h0IiwiZm9udC13ZWlnaHQiXSxbImdseXBoTmFtZSIsImdseXBoLW5hbWUiXSxbImdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsIiwiZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCJdLFsiZ2x5cGhPcmllbnRhdGlvblZlcnRpY2FsIiwiZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwiXSxbImhvcml6QWR2WCIsImhvcml6LWFkdi14Il0sWyJob3Jpek9yaWdpblgiLCJob3Jpei1vcmlnaW4teCJdLFsiaW1hZ2VSZW5kZXJpbmciLCJpbWFnZS1yZW5kZXJpbmciXSxbImxldHRlclNwYWNpbmciLCJsZXR0ZXItc3BhY2luZyJdLFsibGlnaHRpbmdDb2xvciIsImxpZ2h0aW5nLWNvbG9yIl0sWyJtYXJrZXJFbmQiLCJtYXJrZXItZW5kIl0sWyJtYXJrZXJNaWQiLCJtYXJrZXItbWlkIl0sWyJtYXJrZXJTdGFydCIsIm1hcmtlci1zdGFydCJdLFsib3ZlcmxpbmVQb3NpdGlvbiIsIm92ZXJsaW5lLXBvc2l0aW9uIl0sWyJvdmVybGluZVRoaWNrbmVzcyIsIm92ZXJsaW5lLXRoaWNrbmVzcyJdLFsicGFpbnRPcmRlciIsInBhaW50LW9yZGVyIl0sWyJwYW5vc2UtMSIsInBhbm9zZS0xIl0sWyJwb2ludGVyRXZlbnRzIiwicG9pbnRlci1ldmVudHMiXSxbInJlbmRlcmluZ0ludGVudCIsInJlbmRlcmluZy1pbnRlbnQiXSxbInNoYXBlUmVuZGVyaW5nIiwic2hhcGUtcmVuZGVyaW5nIl0sWyJzdG9wQ29sb3IiLCJzdG9wLWNvbG9yIl0sWyJzdG9wT3BhY2l0eSIsInN0b3Atb3BhY2l0eSJdLFsic3RyaWtldGhyb3VnaFBvc2l0aW9uIiwic3RyaWtldGhyb3VnaC1wb3NpdGlvbiJdLFsic3RyaWtldGhyb3VnaFRoaWNrbmVzcyIsInN0cmlrZXRocm91Z2gtdGhpY2tuZXNzIl0sWyJzdHJva2VEYXNoYXJyYXkiLCJzdHJva2UtZGFzaGFycmF5Il0sWyJzdHJva2VEYXNob2Zmc2V0Iiwic3Ryb2tlLWRhc2hvZmZzZXQiXSxbInN0cm9rZUxpbmVjYXAiLCJzdHJva2UtbGluZWNhcCJdLFsic3Ryb2tlTGluZWpvaW4iLCJzdHJva2UtbGluZWpvaW4iXSxbInN0cm9rZU1pdGVybGltaXQiLCJzdHJva2UtbWl0ZXJsaW1pdCJdLFsic3Ryb2tlT3BhY2l0eSIsInN0cm9rZS1vcGFjaXR5Il0sWyJzdHJva2VXaWR0aCIsInN0cm9rZS13aWR0aCJdLFsidGV4dEFuY2hvciIsInRleHQtYW5jaG9yIl0sWyJ0ZXh0RGVjb3JhdGlvbiIsInRleHQtZGVjb3JhdGlvbiJdLFsidGV4dFJlbmRlcmluZyIsInRleHQtcmVuZGVyaW5nIl0sWyJ0cmFuc2Zvcm1PcmlnaW4iLCJ0cmFuc2Zvcm0tb3JpZ2luIl0sWyJ1bmRlcmxpbmVQb3NpdGlvbiIsInVuZGVybGluZS1wb3NpdGlvbiJdLFsidW5kZXJsaW5lVGhpY2tuZXNzIiwidW5kZXJsaW5lLXRoaWNrbmVzcyJdLFsidW5pY29kZUJpZGkiLCJ1bmljb2RlLWJpZGkiXSxbInVuaWNvZGVSYW5nZSIsInVuaWNvZGUtcmFuZ2UiXSxbInVuaXRzUGVyRW0iLCJ1bml0cy1wZXItZW0iXSxbInZBbHBoYWJldGljIiwidi1hbHBoYWJldGljIl0sWyJ2SGFuZ2luZyIsInYtaGFuZ2luZyJdLFsidklkZW9ncmFwaGljIiwidi1pZGVvZ3JhcGhpYyJdLFsidk1hdGhlbWF0aWNhbCIsInYtbWF0aGVtYXRpY2FsIl0sWyJ2ZWN0b3JFZmZlY3QiLCJ2ZWN0b3ItZWZmZWN0Il0sWyJ2ZXJ0QWR2WSIsInZlcnQtYWR2LXkiXSxbInZlcnRPcmlnaW5YIiwidmVydC1vcmlnaW4teCJdLFsidmVydE9yaWdpblkiLCJ2ZXJ0LW9yaWdpbi15Il0sWyJ3b3JkU3BhY2luZyIsIndvcmQtc3BhY2luZyJdLFsid3JpdGluZ01vZGUiLCJ3cml0aW5nLW1vZGUiXSxbInhtbG5zWGxpbmsiLCJ4bWxuczp4bGluayJdLFsieEhlaWdodCIsIngtaGVpZ2h0Il1dKSxCUj0vXltcdTAwMDAtXHUwMDFGIF0qaltcclxuXHRdKmFbXHJcblx0XSp2W1xyXG5cdF0qYVtcclxuXHRdKnNbXHJcblx0XSpjW1xyXG5cdF0qcltcclxuXHRdKmlbXHJcblx0XSpwW1xyXG5cdF0qdFtcclxuXHRdKjovaTtmdW5jdGlvbiBKZihuKXtyZXR1cm4gQlIudGVzdCgiIituKT8iamF2YXNjcmlwdDp0aHJvdyBuZXcgRXJyb3IoJ1JlYWN0IGhhcyBibG9ja2VkIGEgamF2YXNjcmlwdDogVVJMIGFzIGEgc2VjdXJpdHkgcHJlY2F1dGlvbi4nKSI6bn1mdW5jdGlvbiBLcigpe312YXIgejA9bnVsbDtmdW5jdGlvbiBIMChuKXtyZXR1cm4gbj1uLnRhcmdldHx8bi5zcmNFbGVtZW50fHx3aW5kb3csbi5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKG49bi5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksbi5ub2RlVHlwZT09PTM/bi5wYXJlbnROb2RlOm59dmFyIGhzPW51bGwsZ3M9bnVsbDtmdW5jdGlvbiB4MihuKXt2YXIgcj1kcyhuKTtpZihyJiYobj1yLnN0YXRlTm9kZSkpe3ZhciB1PW5bUmVdfHxudWxsO2U6c3dpdGNoKG49ci5zdGF0ZU5vZGUsci50eXBlKXtjYXNlImlucHV0IjppZihSMChuLHUudmFsdWUsdS5kZWZhdWx0VmFsdWUsdS5kZWZhdWx0VmFsdWUsdS5jaGVja2VkLHUuZGVmYXVsdENoZWNrZWQsdS50eXBlLHUubmFtZSkscj11Lm5hbWUsdS50eXBlPT09InJhZGlvIiYmciE9bnVsbCl7Zm9yKHU9bjt1LnBhcmVudE5vZGU7KXU9dS5wYXJlbnROb2RlO2Zvcih1PXUucXVlcnlTZWxlY3RvckFsbCgnaW5wdXRbbmFtZT0iJytqYSgiIityKSsnIl1bdHlwZT0icmFkaW8iXScpLHI9MDtyPHUubGVuZ3RoO3IrKyl7dmFyIGw9dVtyXTtpZihsIT09biYmbC5mb3JtPT09bi5mb3JtKXt2YXIgcD1sW1JlXXx8bnVsbDtpZighcCl0aHJvdyBFcnJvcihvKDkwKSk7UjAobCxwLnZhbHVlLHAuZGVmYXVsdFZhbHVlLHAuZGVmYXVsdFZhbHVlLHAuY2hlY2tlZCxwLmRlZmF1bHRDaGVja2VkLHAudHlwZSxwLm5hbWUpfX1mb3Iocj0wO3I8dS5sZW5ndGg7cisrKWw9dVtyXSxsLmZvcm09PT1uLmZvcm0mJm0yKGwpfWJyZWFrIGU7Y2FzZSJ0ZXh0YXJlYSI6ZzIobix1LnZhbHVlLHUuZGVmYXVsdFZhbHVlKTticmVhayBlO2Nhc2Uic2VsZWN0IjpyPXUudmFsdWUsciE9bnVsbCYmdnMobiwhIXUubXVsdGlwbGUsciwhMSl9fX12YXIgcTA9ITE7ZnVuY3Rpb24gRTIobixyLHUpe2lmKHEwKXJldHVybiBuKHIsdSk7cTA9ITA7dHJ5e3ZhciBsPW4ocik7cmV0dXJuIGx9ZmluYWxseXtpZihxMD0hMSwoaHMhPT1udWxsfHxncyE9PW51bGwpJiYocXAoKSxocyYmKHI9aHMsbj1ncyxncz1ocz1udWxsLHgyKHIpLG4pKSlmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXgyKG5bcl0pfX1mdW5jdGlvbiBjYyhuLHIpe3ZhciB1PW4uc3RhdGVOb2RlO2lmKHU9PT1udWxsKXJldHVybiBudWxsO3ZhciBsPXVbUmVdfHxudWxsO2lmKGw9PT1udWxsKXJldHVybiBudWxsO3U9bFtyXTtlOnN3aXRjaChyKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KGw9IWwuZGlzYWJsZWQpfHwobj1uLnR5cGUsbD0hKG49PT0iYnV0dG9uInx8bj09PSJpbnB1dCJ8fG49PT0ic2VsZWN0Inx8bj09PSJ0ZXh0YXJlYSIpKSxuPSFsO2JyZWFrIGU7ZGVmYXVsdDpuPSExfWlmKG4pcmV0dXJuIG51bGw7aWYodSYmdHlwZW9mIHUhPSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IobygyMzEscix0eXBlb2YgdSkpO3JldHVybiB1fXZhciBRcj0hKHR5cGVvZiB3aW5kb3c+InUifHx0eXBlb2Ygd2luZG93LmRvY3VtZW50PiJ1Inx8dHlwZW9mIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50PiJ1IiksUDA9ITE7aWYoUXIpdHJ5e2JzPXt9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShicywicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe1AwPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0Iixicyxicyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGJzLGJzKX1jYXRjaHtQMD0hMX12YXIgYnMsS2k9bnVsbCxVMD1udWxsLGVwPW51bGw7ZnVuY3Rpb24gRjIoKXtpZihlcClyZXR1cm4gZXA7dmFyIG4scj1VMCx1PXIubGVuZ3RoLGwscD0idmFsdWUiaW4gS2k/S2kudmFsdWU6S2kudGV4dENvbnRlbnQsdj1wLmxlbmd0aDtmb3Iobj0wO248dSYmcltuXT09PXBbbl07bisrKTt2YXIgRT11LW47Zm9yKGw9MTtsPD1FJiZyW3UtbF09PT1wW3YtbF07bCsrKTtyZXR1cm4gZXA9cC5zbGljZShuLDE8bD8xLWw6dm9pZCAwKX1mdW5jdGlvbiB0cChuKXt2YXIgcj1uLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIG4/KG49bi5jaGFyQ29kZSxuPT09MCYmcj09PTEzJiYobj0xMykpOm49cixuPT09MTAmJihuPTEzKSwzMjw9bnx8bj09PTEzP246MH1mdW5jdGlvbiBucCgpe3JldHVybiEwfWZ1bmN0aW9uIEMyKCl7cmV0dXJuITF9ZnVuY3Rpb24gWm4obil7ZnVuY3Rpb24gcih1LGwscCx2LEUpe3RoaXMuX3JlYWN0TmFtZT11LHRoaXMuX3RhcmdldEluc3Q9cCx0aGlzLnR5cGU9bCx0aGlzLm5hdGl2ZUV2ZW50PXYsdGhpcy50YXJnZXQ9RSx0aGlzLmN1cnJlbnRUYXJnZXQ9bnVsbDtmb3IodmFyIFMgaW4gbiluLmhhc093blByb3BlcnR5KFMpJiYodT1uW1NdLHRoaXNbU109dT91KHYpOnZbU10pO3JldHVybiB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD0odi5kZWZhdWx0UHJldmVudGVkIT1udWxsP3YuZGVmYXVsdFByZXZlbnRlZDp2LnJldHVyblZhbHVlPT09ITEpP25wOkMyLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9QzIsdGhpc31yZXR1cm4geShyLnByb3RvdHlwZSx7cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITA7dmFyIHU9dGhpcy5uYXRpdmVFdmVudDt1JiYodS5wcmV2ZW50RGVmYXVsdD91LnByZXZlbnREZWZhdWx0KCk6dHlwZW9mIHUucmV0dXJuVmFsdWUhPSJ1bmtub3duIiYmKHUucmV0dXJuVmFsdWU9ITEpLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPW5wKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIHU9dGhpcy5uYXRpdmVFdmVudDt1JiYodS5zdG9wUHJvcGFnYXRpb24/dS5zdG9wUHJvcGFnYXRpb24oKTp0eXBlb2YgdS5jYW5jZWxCdWJibGUhPSJ1bmtub3duIiYmKHUuY2FuY2VsQnViYmxlPSEwKSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPW5wKX0scGVyc2lzdDpmdW5jdGlvbigpe30saXNQZXJzaXN0ZW50Om5wfSkscn12YXIgSnU9e2V2ZW50UGhhc2U6MCxidWJibGVzOjAsY2FuY2VsYWJsZTowLHRpbWVTdGFtcDpmdW5jdGlvbihuKXtyZXR1cm4gbi50aW1lU3RhbXB8fERhdGUubm93KCl9LGRlZmF1bHRQcmV2ZW50ZWQ6MCxpc1RydXN0ZWQ6MH0sYXA9Wm4oSnUpLGRjPXkoe30sSnUse3ZpZXc6MCxkZXRhaWw6MH0pLGtSPVpuKGRjKSxWMCxHMCxmYyxycD15KHt9LGRjLHtzY3JlZW5YOjAsc2NyZWVuWTowLGNsaWVudFg6MCxjbGllbnRZOjAscGFnZVg6MCxwYWdlWTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxnZXRNb2RpZmllclN0YXRlOlcwLGJ1dHRvbjowLGJ1dHRvbnM6MCxyZWxhdGVkVGFyZ2V0OmZ1bmN0aW9uKG4pe3JldHVybiBuLnJlbGF0ZWRUYXJnZXQ9PT12b2lkIDA/bi5mcm9tRWxlbWVudD09PW4uc3JjRWxlbWVudD9uLnRvRWxlbWVudDpuLmZyb21FbGVtZW50Om4ucmVsYXRlZFRhcmdldH0sbW92ZW1lbnRYOmZ1bmN0aW9uKG4pe3JldHVybiJtb3ZlbWVudFgiaW4gbj9uLm1vdmVtZW50WDoobiE9PWZjJiYoZmMmJm4udHlwZT09PSJtb3VzZW1vdmUiPyhWMD1uLnNjcmVlblgtZmMuc2NyZWVuWCxHMD1uLnNjcmVlblktZmMuc2NyZWVuWSk6RzA9VjA9MCxmYz1uKSxWMCl9LG1vdmVtZW50WTpmdW5jdGlvbihuKXtyZXR1cm4ibW92ZW1lbnRZImluIG4/bi5tb3ZlbWVudFk6RzB9fSksRDI9Wm4ocnApLFRSPXkoe30scnAse2RhdGFUcmFuc2ZlcjowfSksalI9Wm4oVFIpLE1SPXkoe30sZGMse3JlbGF0ZWRUYXJnZXQ6MH0pLFkwPVpuKE1SKSxPUj15KHt9LEp1LHthbmltYXRpb25OYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSxfUj1abihPUiksTlI9eSh7fSxKdSx7Y2xpcGJvYXJkRGF0YTpmdW5jdGlvbihuKXtyZXR1cm4iY2xpcGJvYXJkRGF0YSJpbiBuP24uY2xpcGJvYXJkRGF0YTp3aW5kb3cuY2xpcGJvYXJkRGF0YX19KSxSUj1abihOUiksSVI9eSh7fSxKdSx7ZGF0YTowfSksQTI9Wm4oSVIpLExSPXtFc2M6IkVzY2FwZSIsU3BhY2ViYXI6IiAiLExlZnQ6IkFycm93TGVmdCIsVXA6IkFycm93VXAiLFJpZ2h0OiJBcnJvd1JpZ2h0IixEb3duOiJBcnJvd0Rvd24iLERlbDoiRGVsZXRlIixXaW46Ik9TIixNZW51OiJDb250ZXh0TWVudSIsQXBwczoiQ29udGV4dE1lbnUiLFNjcm9sbDoiU2Nyb2xsTG9jayIsTW96UHJpbnRhYmxlS2V5OiJVbmlkZW50aWZpZWQifSx6Uj17ODoiQmFja3NwYWNlIiw5OiJUYWIiLDEyOiJDbGVhciIsMTM6IkVudGVyIiwxNjoiU2hpZnQiLDE3OiJDb250cm9sIiwxODoiQWx0IiwxOToiUGF1c2UiLDIwOiJDYXBzTG9jayIsMjc6IkVzY2FwZSIsMzI6IiAiLDMzOiJQYWdlVXAiLDM0OiJQYWdlRG93biIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiJBcnJvd0xlZnQiLDM4OiJBcnJvd1VwIiwzOToiQXJyb3dSaWdodCIsNDA6IkFycm93RG93biIsNDU6Ikluc2VydCIsNDY6IkRlbGV0ZSIsMTEyOiJGMSIsMTEzOiJGMiIsMTE0OiJGMyIsMTE1OiJGNCIsMTE2OiJGNSIsMTE3OiJGNiIsMTE4OiJGNyIsMTE5OiJGOCIsMTIwOiJGOSIsMTIxOiJGMTAiLDEyMjoiRjExIiwxMjM6IkYxMiIsMTQ0OiJOdW1Mb2NrIiwxNDU6IlNjcm9sbExvY2siLDIyNDoiTWV0YSJ9LEhSPXtBbHQ6ImFsdEtleSIsQ29udHJvbDoiY3RybEtleSIsTWV0YToibWV0YUtleSIsU2hpZnQ6InNoaWZ0S2V5In07ZnVuY3Rpb24gcVIobil7dmFyIHI9dGhpcy5uYXRpdmVFdmVudDtyZXR1cm4gci5nZXRNb2RpZmllclN0YXRlP3IuZ2V0TW9kaWZpZXJTdGF0ZShuKToobj1IUltuXSk/ISFyW25dOiExfWZ1bmN0aW9uIFcwKCl7cmV0dXJuIHFSfXZhciBQUj15KHt9LGRjLHtrZXk6ZnVuY3Rpb24obil7aWYobi5rZXkpe3ZhciByPUxSW24ua2V5XXx8bi5rZXk7aWYociE9PSJVbmlkZW50aWZpZWQiKXJldHVybiByfXJldHVybiBuLnR5cGU9PT0ia2V5cHJlc3MiPyhuPXRwKG4pLG49PT0xMz8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUobikpOm4udHlwZT09PSJrZXlkb3duInx8bi50eXBlPT09ImtleXVwIj96UltuLmtleUNvZGVdfHwiVW5pZGVudGlmaWVkIjoiIn0sY29kZTowLGxvY2F0aW9uOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLHJlcGVhdDowLGxvY2FsZTowLGdldE1vZGlmaWVyU3RhdGU6VzAsY2hhckNvZGU6ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PSJrZXlwcmVzcyI/dHAobik6MH0sa2V5Q29kZTpmdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09ImtleWRvd24ifHxuLnR5cGU9PT0ia2V5dXAiP24ua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09ImtleXByZXNzIj90cChuKTpuLnR5cGU9PT0ia2V5ZG93biJ8fG4udHlwZT09PSJrZXl1cCI/bi5rZXlDb2RlOjB9fSksVVI9Wm4oUFIpLFZSPXkoe30scnAse3BvaW50ZXJJZDowLHdpZHRoOjAsaGVpZ2h0OjAscHJlc3N1cmU6MCx0YW5nZW50aWFsUHJlc3N1cmU6MCx0aWx0WDowLHRpbHRZOjAsdHdpc3Q6MCxwb2ludGVyVHlwZTowLGlzUHJpbWFyeTowfSksUzI9Wm4oVlIpLEdSPXkoe30sZGMse3RvdWNoZXM6MCx0YXJnZXRUb3VjaGVzOjAsY2hhbmdlZFRvdWNoZXM6MCxhbHRLZXk6MCxtZXRhS2V5OjAsY3RybEtleTowLHNoaWZ0S2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpXMH0pLFlSPVpuKEdSKSxXUj15KHt9LEp1LHtwcm9wZXJ0eU5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pLEtSPVpuKFdSKSxRUj15KHt9LHJwLHtkZWx0YVg6ZnVuY3Rpb24obil7cmV0dXJuImRlbHRhWCJpbiBuP24uZGVsdGFYOiJ3aGVlbERlbHRhWCJpbiBuPy1uLndoZWVsRGVsdGFYOjB9LGRlbHRhWTpmdW5jdGlvbihuKXtyZXR1cm4iZGVsdGFZImluIG4/bi5kZWx0YVk6IndoZWVsRGVsdGFZImluIG4/LW4ud2hlZWxEZWx0YVk6IndoZWVsRGVsdGEiaW4gbj8tbi53aGVlbERlbHRhOjB9LGRlbHRhWjowLGRlbHRhTW9kZTowfSksWFI9Wm4oUVIpLCRSPXkoe30sSnUse25ld1N0YXRlOjAsb2xkU3RhdGU6MH0pLFpSPVpuKCRSKSxKUj1bOSwxMywyNywzMl0sSzA9UXImJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxwYz1udWxsO1FyJiYiZG9jdW1lbnRNb2RlImluIGRvY3VtZW50JiYocGM9ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKTt2YXIgZUk9UXImJiJUZXh0RXZlbnQiaW4gd2luZG93JiYhcGMsQjI9UXImJighSzB8fHBjJiY4PHBjJiYxMT49cGMpLGsyPSIgIixUMj0hMTtmdW5jdGlvbiBqMihuLHIpe3N3aXRjaChuKXtjYXNlImtleXVwIjpyZXR1cm4gSlIuaW5kZXhPZihyLmtleUNvZGUpIT09LTE7Y2FzZSJrZXlkb3duIjpyZXR1cm4gci5rZXlDb2RlIT09MjI5O2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImZvY3Vzb3V0IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBNMihuKXtyZXR1cm4gbj1uLmRldGFpbCx0eXBlb2Ygbj09Im9iamVjdCImJiJkYXRhImluIG4/bi5kYXRhOm51bGx9dmFyIHlzPSExO2Z1bmN0aW9uIHRJKG4scil7c3dpdGNoKG4pe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBNMihyKTtjYXNlImtleXByZXNzIjpyZXR1cm4gci53aGljaCE9PTMyP251bGw6KFQyPSEwLGsyKTtjYXNlInRleHRJbnB1dCI6cmV0dXJuIG49ci5kYXRhLG49PT1rMiYmVDI/bnVsbDpuO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIG5JKG4scil7aWYoeXMpcmV0dXJuIG49PT0iY29tcG9zaXRpb25lbmQifHwhSzAmJmoyKG4scik/KG49RjIoKSxlcD1VMD1LaT1udWxsLHlzPSExLG4pOm51bGw7c3dpdGNoKG4pe2Nhc2UicGFzdGUiOnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEoci5jdHJsS2V5fHxyLmFsdEtleXx8ci5tZXRhS2V5KXx8ci5jdHJsS2V5JiZyLmFsdEtleSl7aWYoci5jaGFyJiYxPHIuY2hhci5sZW5ndGgpcmV0dXJuIHIuY2hhcjtpZihyLndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHIud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCMiYmci5sb2NhbGUhPT0ia28iP251bGw6ci5kYXRhO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXZhciBhST17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gTzIobil7dmFyIHI9biYmbi5ub2RlTmFtZSYmbi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiByPT09ImlucHV0Ij8hIWFJW24udHlwZV06cj09PSJ0ZXh0YXJlYSJ9ZnVuY3Rpb24gXzIobixyLHUsbCl7aHM/Z3M/Z3MucHVzaChsKTpncz1bbF06aHM9bCxyPVhwKHIsIm9uQ2hhbmdlIiksMDxyLmxlbmd0aCYmKHU9bmV3IGFwKCJvbkNoYW5nZSIsImNoYW5nZSIsbnVsbCx1LGwpLG4ucHVzaCh7ZXZlbnQ6dSxsaXN0ZW5lcnM6cn0pKX12YXIgdmM9bnVsbCxtYz1udWxsO2Z1bmN0aW9uIHJJKG4pe2c0KG4sMCl9ZnVuY3Rpb24gaXAobil7dmFyIHI9bGMobik7aWYobTIocikpcmV0dXJuIG59ZnVuY3Rpb24gTjIobixyKXtpZihuPT09ImNoYW5nZSIpcmV0dXJuIHJ9dmFyIFIyPSExO1FyJiYoUXI/KHVwPSJvbmlucHV0ImluIGRvY3VtZW50LHVwfHwoWDA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWDAuc2V0QXR0cmlidXRlKCJvbmlucHV0IiwicmV0dXJuOyIpLHVwPXR5cGVvZiBYMC5vbmlucHV0PT0iZnVuY3Rpb24iKSxRMD11cCk6UTA9ITEsUjI9UTAmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSkpO3ZhciBRMCx1cCxYMDtmdW5jdGlvbiBJMigpe3ZjJiYodmMuZGV0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLEwyKSxtYz12Yz1udWxsKX1mdW5jdGlvbiBMMihuKXtpZihuLnByb3BlcnR5TmFtZT09PSJ2YWx1ZSImJmlwKG1jKSl7dmFyIHI9W107XzIocixtYyxuLEgwKG4pKSxFMihySSxyKX19ZnVuY3Rpb24gaUkobixyLHUpe249PT0iZm9jdXNpbiI/KEkyKCksdmM9cixtYz11LHZjLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIixMMikpOm49PT0iZm9jdXNvdXQiJiZJMigpfWZ1bmN0aW9uIHVJKG4pe2lmKG49PT0ic2VsZWN0aW9uY2hhbmdlInx8bj09PSJrZXl1cCJ8fG49PT0ia2V5ZG93biIpcmV0dXJuIGlwKG1jKX1mdW5jdGlvbiBvSShuLHIpe2lmKG49PT0iY2xpY2siKXJldHVybiBpcChyKX1mdW5jdGlvbiBzSShuLHIpe2lmKG49PT0iaW5wdXQifHxuPT09ImNoYW5nZSIpcmV0dXJuIGlwKHIpfWZ1bmN0aW9uIGxJKG4scil7cmV0dXJuIG49PT1yJiYobiE9PTB8fDEvbj09PTEvcil8fG4hPT1uJiZyIT09cn12YXIgY2E9dHlwZW9mIE9iamVjdC5pcz09ImZ1bmN0aW9uIj9PYmplY3QuaXM6bEk7ZnVuY3Rpb24gaGMobixyKXtpZihjYShuLHIpKXJldHVybiEwO2lmKHR5cGVvZiBuIT0ib2JqZWN0Inx8bj09PW51bGx8fHR5cGVvZiByIT0ib2JqZWN0Inx8cj09PW51bGwpcmV0dXJuITE7dmFyIHU9T2JqZWN0LmtleXMobiksbD1PYmplY3Qua2V5cyhyKTtpZih1Lmxlbmd0aCE9PWwubGVuZ3RoKXJldHVybiExO2ZvcihsPTA7bDx1Lmxlbmd0aDtsKyspe3ZhciBwPXVbbF07aWYoIW50LmNhbGwocixwKXx8IWNhKG5bcF0scltwXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gejIobil7Zm9yKDtuJiZuLmZpcnN0Q2hpbGQ7KW49bi5maXJzdENoaWxkO3JldHVybiBufWZ1bmN0aW9uIEgyKG4scil7dmFyIHU9ejIobik7bj0wO2Zvcih2YXIgbDt1Oyl7aWYodS5ub2RlVHlwZT09PTMpe2lmKGw9bit1LnRleHRDb250ZW50Lmxlbmd0aCxuPD1yJiZsPj1yKXJldHVybntub2RlOnUsb2Zmc2V0OnItbn07bj1sfWU6e2Zvcig7dTspe2lmKHUubmV4dFNpYmxpbmcpe3U9dS5uZXh0U2libGluZzticmVhayBlfXU9dS5wYXJlbnROb2RlfXU9dm9pZCAwfXU9ejIodSl9fWZ1bmN0aW9uIHEyKG4scil7cmV0dXJuIG4mJnI/bj09PXI/ITA6biYmbi5ub2RlVHlwZT09PTM/ITE6ciYmci5ub2RlVHlwZT09PTM/cTIobixyLnBhcmVudE5vZGUpOiJjb250YWlucyJpbiBuP24uY29udGFpbnMocik6bi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8hIShuLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHIpJjE2KTohMTohMX1mdW5jdGlvbiBQMihuKXtuPW4hPW51bGwmJm4ub3duZXJEb2N1bWVudCE9bnVsbCYmbi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IT1udWxsP24ub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldzp3aW5kb3c7Zm9yKHZhciByPVpmKG4uZG9jdW1lbnQpO3IgaW5zdGFuY2VvZiBuLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB1PXR5cGVvZiByLmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZj09InN0cmluZyJ9Y2F0Y2h7dT0hMX1pZih1KW49ci5jb250ZW50V2luZG93O2Vsc2UgYnJlYWs7cj1aZihuLmRvY3VtZW50KX1yZXR1cm4gcn1mdW5jdGlvbiAkMChuKXt2YXIgcj1uJiZuLm5vZGVOYW1lJiZuLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHImJihyPT09ImlucHV0IiYmKG4udHlwZT09PSJ0ZXh0Inx8bi50eXBlPT09InNlYXJjaCJ8fG4udHlwZT09PSJ0ZWwifHxuLnR5cGU9PT0idXJsInx8bi50eXBlPT09InBhc3N3b3JkIil8fHI9PT0idGV4dGFyZWEifHxuLmNvbnRlbnRFZGl0YWJsZT09PSJ0cnVlIil9dmFyIGNJPVFyJiYiZG9jdW1lbnRNb2RlImluIGRvY3VtZW50JiYxMT49ZG9jdW1lbnQuZG9jdW1lbnRNb2RlLHdzPW51bGwsWjA9bnVsbCxnYz1udWxsLEowPSExO2Z1bmN0aW9uIFUyKG4scix1KXt2YXIgbD11LndpbmRvdz09PXU/dS5kb2N1bWVudDp1Lm5vZGVUeXBlPT09OT91OnUub3duZXJEb2N1bWVudDtKMHx8d3M9PW51bGx8fHdzIT09WmYobCl8fChsPXdzLCJzZWxlY3Rpb25TdGFydCJpbiBsJiYkMChsKT9sPXtzdGFydDpsLnNlbGVjdGlvblN0YXJ0LGVuZDpsLnNlbGVjdGlvbkVuZH06KGw9KGwub3duZXJEb2N1bWVudCYmbC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpLGw9e2FuY2hvck5vZGU6bC5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpsLmFuY2hvck9mZnNldCxmb2N1c05vZGU6bC5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6bC5mb2N1c09mZnNldH0pLGdjJiZoYyhnYyxsKXx8KGdjPWwsbD1YcChaMCwib25TZWxlY3QiKSwwPGwubGVuZ3RoJiYocj1uZXcgYXAoIm9uU2VsZWN0Iiwic2VsZWN0IixudWxsLHIsdSksbi5wdXNoKHtldmVudDpyLGxpc3RlbmVyczpsfSksci50YXJnZXQ9d3MpKSl9ZnVuY3Rpb24gZW8obixyKXt2YXIgdT17fTtyZXR1cm4gdVtuLnRvTG93ZXJDYXNlKCldPXIudG9Mb3dlckNhc2UoKSx1WyJXZWJraXQiK25dPSJ3ZWJraXQiK3IsdVsiTW96IituXT0ibW96IityLHV9dmFyIHhzPXthbmltYXRpb25lbmQ6ZW8oIkFuaW1hdGlvbiIsIkFuaW1hdGlvbkVuZCIpLGFuaW1hdGlvbml0ZXJhdGlvbjplbygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uSXRlcmF0aW9uIiksYW5pbWF0aW9uc3RhcnQ6ZW8oIkFuaW1hdGlvbiIsIkFuaW1hdGlvblN0YXJ0IiksdHJhbnNpdGlvbnJ1bjplbygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25SdW4iKSx0cmFuc2l0aW9uc3RhcnQ6ZW8oIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uU3RhcnQiKSx0cmFuc2l0aW9uY2FuY2VsOmVvKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkNhbmNlbCIpLHRyYW5zaXRpb25lbmQ6ZW8oIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uRW5kIil9LGVnPXt9LFYyPXt9O1FyJiYoVjI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUsIkFuaW1hdGlvbkV2ZW50ImluIHdpbmRvd3x8KGRlbGV0ZSB4cy5hbmltYXRpb25lbmQuYW5pbWF0aW9uLGRlbGV0ZSB4cy5hbmltYXRpb25pdGVyYXRpb24uYW5pbWF0aW9uLGRlbGV0ZSB4cy5hbmltYXRpb25zdGFydC5hbmltYXRpb24pLCJUcmFuc2l0aW9uRXZlbnQiaW4gd2luZG93fHxkZWxldGUgeHMudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uKTtmdW5jdGlvbiB0byhuKXtpZihlZ1tuXSlyZXR1cm4gZWdbbl07aWYoIXhzW25dKXJldHVybiBuO3ZhciByPXhzW25dLHU7Zm9yKHUgaW4gcilpZihyLmhhc093blByb3BlcnR5KHUpJiZ1IGluIFYyKXJldHVybiBlZ1tuXT1yW3VdO3JldHVybiBufXZhciBHMj10bygiYW5pbWF0aW9uZW5kIiksWTI9dG8oImFuaW1hdGlvbml0ZXJhdGlvbiIpLFcyPXRvKCJhbmltYXRpb25zdGFydCIpLGRJPXRvKCJ0cmFuc2l0aW9ucnVuIiksZkk9dG8oInRyYW5zaXRpb25zdGFydCIpLHBJPXRvKCJ0cmFuc2l0aW9uY2FuY2VsIiksSzI9dG8oInRyYW5zaXRpb25lbmQiKSxRMj1uZXcgTWFwLHRnPSJhYm9ydCBhdXhDbGljayBiZWZvcmVUb2dnbGUgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7dGcucHVzaCgic2Nyb2xsRW5kIik7ZnVuY3Rpb24gb3IobixyKXtRMi5zZXQobixyKSxadShyLFtuXSl9dmFyIG9wPXR5cGVvZiByZXBvcnRFcnJvcj09ImZ1bmN0aW9uIj9yZXBvcnRFcnJvcjpmdW5jdGlvbihuKXtpZih0eXBlb2Ygd2luZG93PT0ib2JqZWN0IiYmdHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50PT0iZnVuY3Rpb24iKXt2YXIgcj1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6dHlwZW9mIG49PSJvYmplY3QiJiZuIT09bnVsbCYmdHlwZW9mIG4ubWVzc2FnZT09InN0cmluZyI/U3RyaW5nKG4ubWVzc2FnZSk6U3RyaW5nKG4pLGVycm9yOm59KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQocikpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT0iZnVuY3Rpb24iKXtwcm9jZXNzLmVtaXQoInVuY2F1Z2h0RXhjZXB0aW9uIixuKTtyZXR1cm59Y29uc29sZS5lcnJvcihuKX0sTWE9W10sRXM9MCxuZz0wO2Z1bmN0aW9uIHNwKCl7Zm9yKHZhciBuPUVzLHI9bmc9RXM9MDtyPG47KXt2YXIgdT1NYVtyXTtNYVtyKytdPW51bGw7dmFyIGw9TWFbcl07TWFbcisrXT1udWxsO3ZhciBwPU1hW3JdO01hW3IrK109bnVsbDt2YXIgdj1NYVtyXTtpZihNYVtyKytdPW51bGwsbCE9PW51bGwmJnAhPT1udWxsKXt2YXIgRT1sLnBlbmRpbmc7RT09PW51bGw/cC5uZXh0PXA6KHAubmV4dD1FLm5leHQsRS5uZXh0PXApLGwucGVuZGluZz1wfXYhPT0wJiZYMih1LHAsdil9fWZ1bmN0aW9uIGxwKG4scix1LGwpe01hW0VzKytdPW4sTWFbRXMrK109cixNYVtFcysrXT11LE1hW0VzKytdPWwsbmd8PWwsbi5sYW5lc3w9bCxuPW4uYWx0ZXJuYXRlLG4hPT1udWxsJiYobi5sYW5lc3w9bCl9ZnVuY3Rpb24gYWcobixyLHUsbCl7cmV0dXJuIGxwKG4scix1LGwpLGNwKG4pfWZ1bmN0aW9uIG5vKG4scil7cmV0dXJuIGxwKG4sbnVsbCxudWxsLHIpLGNwKG4pfWZ1bmN0aW9uIFgyKG4scix1KXtuLmxhbmVzfD11O3ZhciBsPW4uYWx0ZXJuYXRlO2whPT1udWxsJiYobC5sYW5lc3w9dSk7Zm9yKHZhciBwPSExLHY9bi5yZXR1cm47diE9PW51bGw7KXYuY2hpbGRMYW5lc3w9dSxsPXYuYWx0ZXJuYXRlLGwhPT1udWxsJiYobC5jaGlsZExhbmVzfD11KSx2LnRhZz09PTIyJiYobj12LnN0YXRlTm9kZSxuPT09bnVsbHx8bi5fdmlzaWJpbGl0eSYxfHwocD0hMCkpLG49dix2PXYucmV0dXJuO3JldHVybiBuLnRhZz09PTM/KHY9bi5zdGF0ZU5vZGUscCYmciE9PW51bGwmJihwPTMxLWhuKHUpLG49di5oaWRkZW5VcGRhdGVzLGw9bltwXSxsPT09bnVsbD9uW3BdPVtyXTpsLnB1c2gociksci5sYW5lPXV8NTM2ODcwOTEyKSx2KTpudWxsfWZ1bmN0aW9uIGNwKG4pe2lmKDUwPHpjKXRocm93IHpjPTAsZjU9bnVsbCxFcnJvcihvKDE4NSkpO2Zvcih2YXIgcj1uLnJldHVybjtyIT09bnVsbDspbj1yLHI9bi5yZXR1cm47cmV0dXJuIG4udGFnPT09Mz9uLnN0YXRlTm9kZTpudWxsfXZhciBGcz17fTtmdW5jdGlvbiB2SShuLHIsdSxsKXt0aGlzLnRhZz1uLHRoaXMua2V5PXUsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWZDbGVhbnVwPXRoaXMucmVmPW51bGwsdGhpcy5wZW5kaW5nUHJvcHM9cix0aGlzLmRlcGVuZGVuY2llcz10aGlzLm1lbW9pemVkU3RhdGU9dGhpcy51cGRhdGVRdWV1ZT10aGlzLm1lbW9pemVkUHJvcHM9bnVsbCx0aGlzLm1vZGU9bCx0aGlzLnN1YnRyZWVGbGFncz10aGlzLmZsYWdzPTAsdGhpcy5kZWxldGlvbnM9bnVsbCx0aGlzLmNoaWxkTGFuZXM9dGhpcy5sYW5lcz0wLHRoaXMuYWx0ZXJuYXRlPW51bGx9ZnVuY3Rpb24gZGEobixyLHUsbCl7cmV0dXJuIG5ldyB2SShuLHIsdSxsKX1mdW5jdGlvbiByZyhuKXtyZXR1cm4gbj1uLnByb3RvdHlwZSwhKCFufHwhbi5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiBYcihuLHIpe3ZhciB1PW4uYWx0ZXJuYXRlO3JldHVybiB1PT09bnVsbD8odT1kYShuLnRhZyxyLG4ua2V5LG4ubW9kZSksdS5lbGVtZW50VHlwZT1uLmVsZW1lbnRUeXBlLHUudHlwZT1uLnR5cGUsdS5zdGF0ZU5vZGU9bi5zdGF0ZU5vZGUsdS5hbHRlcm5hdGU9bixuLmFsdGVybmF0ZT11KToodS5wZW5kaW5nUHJvcHM9cix1LnR5cGU9bi50eXBlLHUuZmxhZ3M9MCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwpLHUuZmxhZ3M9bi5mbGFncyY2NTAxMTcxMix1LmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLHUubGFuZXM9bi5sYW5lcyx1LmNoaWxkPW4uY2hpbGQsdS5tZW1vaXplZFByb3BzPW4ubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9bi5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9bi51cGRhdGVRdWV1ZSxyPW4uZGVwZW5kZW5jaWVzLHUuZGVwZW5kZW5jaWVzPXI9PT1udWxsP251bGw6e2xhbmVzOnIubGFuZXMsZmlyc3RDb250ZXh0OnIuZmlyc3RDb250ZXh0fSx1LnNpYmxpbmc9bi5zaWJsaW5nLHUuaW5kZXg9bi5pbmRleCx1LnJlZj1uLnJlZix1LnJlZkNsZWFudXA9bi5yZWZDbGVhbnVwLHV9ZnVuY3Rpb24gJDIobixyKXtuLmZsYWdzJj02NTAxMTcxNDt2YXIgdT1uLmFsdGVybmF0ZTtyZXR1cm4gdT09PW51bGw/KG4uY2hpbGRMYW5lcz0wLG4ubGFuZXM9cixuLmNoaWxkPW51bGwsbi5zdWJ0cmVlRmxhZ3M9MCxuLm1lbW9pemVkUHJvcHM9bnVsbCxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsbi5kZXBlbmRlbmNpZXM9bnVsbCxuLnN0YXRlTm9kZT1udWxsKToobi5jaGlsZExhbmVzPXUuY2hpbGRMYW5lcyxuLmxhbmVzPXUubGFuZXMsbi5jaGlsZD11LmNoaWxkLG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCxuLm1lbW9pemVkUHJvcHM9dS5tZW1vaXplZFByb3BzLG4ubWVtb2l6ZWRTdGF0ZT11Lm1lbW9pemVkU3RhdGUsbi51cGRhdGVRdWV1ZT11LnVwZGF0ZVF1ZXVlLG4udHlwZT11LnR5cGUscj11LmRlcGVuZGVuY2llcyxuLmRlcGVuZGVuY2llcz1yPT09bnVsbD9udWxsOntsYW5lczpyLmxhbmVzLGZpcnN0Q29udGV4dDpyLmZpcnN0Q29udGV4dH0pLG59ZnVuY3Rpb24gZHAobixyLHUsbCxwLHYpe3ZhciBFPTA7aWYobD1uLHR5cGVvZiBuPT0iZnVuY3Rpb24iKXJnKG4pJiYoRT0xKTtlbHNlIGlmKHR5cGVvZiBuPT0ic3RyaW5nIilFPWdMKG4sdSxRLmN1cnJlbnQpPzI2Om49PT0iaHRtbCJ8fG49PT0iaGVhZCJ8fG49PT0iYm9keSI/Mjc6NTtlbHNlIGU6c3dpdGNoKG4pe2Nhc2UgZWU6cmV0dXJuIG49ZGEoMzEsdSxyLHApLG4uZWxlbWVudFR5cGU9ZWUsbi5sYW5lcz12LG47Y2FzZSBGOnJldHVybiBhbyh1LmNoaWxkcmVuLHAsdixyKTtjYXNlIEE6RT04LHB8PTI0O2JyZWFrO2Nhc2UgRDpyZXR1cm4gbj1kYSgxMix1LHIscHwyKSxuLmVsZW1lbnRUeXBlPUQsbi5sYW5lcz12LG47Y2FzZSBNOnJldHVybiBuPWRhKDEzLHUscixwKSxuLmVsZW1lbnRUeXBlPU0sbi5sYW5lcz12LG47Y2FzZSB6OnJldHVybiBuPWRhKDE5LHUscixwKSxuLmVsZW1lbnRUeXBlPXosbi5sYW5lcz12LG47ZGVmYXVsdDppZih0eXBlb2Ygbj09Im9iamVjdCImJm4hPT1udWxsKXN3aXRjaChuLiQkdHlwZW9mKXtjYXNlIFQ6RT0xMDticmVhayBlO2Nhc2UgQjpFPTk7YnJlYWsgZTtjYXNlIGs6RT0xMTticmVhayBlO2Nhc2UgTzpFPTE0O2JyZWFrIGU7Y2FzZSByZTpFPTE2LGw9bnVsbDticmVhayBlfUU9MjksdT1FcnJvcihvKDEzMCxuPT09bnVsbD8ibnVsbCI6dHlwZW9mIG4sIiIpKSxsPW51bGx9cmV0dXJuIHI9ZGEoRSx1LHIscCksci5lbGVtZW50VHlwZT1uLHIudHlwZT1sLHIubGFuZXM9dixyfWZ1bmN0aW9uIGFvKG4scix1LGwpe3JldHVybiBuPWRhKDcsbixsLHIpLG4ubGFuZXM9dSxufWZ1bmN0aW9uIGlnKG4scix1KXtyZXR1cm4gbj1kYSg2LG4sbnVsbCxyKSxuLmxhbmVzPXUsbn1mdW5jdGlvbiBaMihuKXt2YXIgcj1kYSgxOCxudWxsLG51bGwsMCk7cmV0dXJuIHIuc3RhdGVOb2RlPW4scn1mdW5jdGlvbiB1ZyhuLHIsdSl7cmV0dXJuIHI9ZGEoNCxuLmNoaWxkcmVuIT09bnVsbD9uLmNoaWxkcmVuOltdLG4ua2V5LHIpLHIubGFuZXM9dSxyLnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzpuLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246bi5pbXBsZW1lbnRhdGlvbn0scn12YXIgSjI9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gT2EobixyKXtpZih0eXBlb2Ygbj09Im9iamVjdCImJm4hPT1udWxsKXt2YXIgdT1KMi5nZXQobik7cmV0dXJuIHUhPT12b2lkIDA/dToocj17dmFsdWU6bixzb3VyY2U6cixzdGFjazp6ZShyKX0sSjIuc2V0KG4scikscil9cmV0dXJue3ZhbHVlOm4sc291cmNlOnIsc3RhY2s6emUocil9fXZhciBDcz1bXSxEcz0wLGZwPW51bGwsYmM9MCxfYT1bXSxOYT0wLFFpPW51bGwsRXI9MSxGcj0iIjtmdW5jdGlvbiAkcihuLHIpe0NzW0RzKytdPWJjLENzW0RzKytdPWZwLGZwPW4sYmM9cn1mdW5jdGlvbiBlOChuLHIsdSl7X2FbTmErK109RXIsX2FbTmErK109RnIsX2FbTmErK109UWksUWk9bjt2YXIgbD1FcjtuPUZyO3ZhciBwPTMyLWhuKGwpLTE7bCY9figxPDxwKSx1Kz0xO3ZhciB2PTMyLWhuKHIpK3A7aWYoMzA8dil7dmFyIEU9cC1wJTU7dj0obCYoMTw8RSktMSkudG9TdHJpbmcoMzIpLGw+Pj1FLHAtPUUsRXI9MTw8MzItaG4ocikrcHx1PDxwfGwsRnI9ditufWVsc2UgRXI9MTw8dnx1PDxwfGwsRnI9bn1mdW5jdGlvbiBvZyhuKXtuLnJldHVybiE9PW51bGwmJigkcihuLDEpLGU4KG4sMSwwKSl9ZnVuY3Rpb24gc2cobil7Zm9yKDtuPT09ZnA7KWZwPUNzWy0tRHNdLENzW0RzXT1udWxsLGJjPUNzWy0tRHNdLENzW0RzXT1udWxsO2Zvcig7bj09PVFpOylRaT1fYVstLU5hXSxfYVtOYV09bnVsbCxGcj1fYVstLU5hXSxfYVtOYV09bnVsbCxFcj1fYVstLU5hXSxfYVtOYV09bnVsbH1mdW5jdGlvbiB0OChuLHIpe19hW05hKytdPUVyLF9hW05hKytdPUZyLF9hW05hKytdPVFpLEVyPXIuaWQsRnI9ci5vdmVyZmxvdyxRaT1ufXZhciBBbj1udWxsLEJ0PW51bGwsdHQ9ITEsWGk9bnVsbCxSYT0hMSxsZz1FcnJvcihvKDUxOSkpO2Z1bmN0aW9uICRpKG4pe3ZhciByPUVycm9yKG8oNDE4LDE8YXJndW1lbnRzLmxlbmd0aCYmYXJndW1lbnRzWzFdIT09dm9pZCAwJiZhcmd1bWVudHNbMV0/InRleHQiOiJIVE1MIiwiIikpO3Rocm93IHljKE9hKHIsbikpLGxnfWZ1bmN0aW9uIG44KG4pe3ZhciByPW4uc3RhdGVOb2RlLHU9bi50eXBlLGw9bi5tZW1vaXplZFByb3BzO3N3aXRjaChyW0VlXT1uLHJbUmVdPWwsdSl7Y2FzZSJkaWFsb2ciOlplKCJjYW5jZWwiLHIpLFplKCJjbG9zZSIscik7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpaZSgibG9hZCIscik7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKHU9MDt1PHFjLmxlbmd0aDt1KyspWmUocWNbdV0scik7YnJlYWs7Y2FzZSJzb3VyY2UiOlplKCJlcnJvciIscik7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6WmUoImVycm9yIixyKSxaZSgibG9hZCIscik7YnJlYWs7Y2FzZSJkZXRhaWxzIjpaZSgidG9nZ2xlIixyKTticmVhaztjYXNlImlucHV0IjpaZSgiaW52YWxpZCIsciksaDIocixsLnZhbHVlLGwuZGVmYXVsdFZhbHVlLGwuY2hlY2tlZCxsLmRlZmF1bHRDaGVja2VkLGwudHlwZSxsLm5hbWUsITApO2JyZWFrO2Nhc2Uic2VsZWN0IjpaZSgiaW52YWxpZCIscik7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6WmUoImludmFsaWQiLHIpLGIyKHIsbC52YWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmNoaWxkcmVuKX11PWwuY2hpbGRyZW4sdHlwZW9mIHUhPSJzdHJpbmciJiZ0eXBlb2YgdSE9Im51bWJlciImJnR5cGVvZiB1IT0iYmlnaW50Inx8ci50ZXh0Q29udGVudD09PSIiK3V8fGwuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nPT09ITB8fHg0KHIudGV4dENvbnRlbnQsdSk/KGwucG9wb3ZlciE9bnVsbCYmKFplKCJiZWZvcmV0b2dnbGUiLHIpLFplKCJ0b2dnbGUiLHIpKSxsLm9uU2Nyb2xsIT1udWxsJiZaZSgic2Nyb2xsIixyKSxsLm9uU2Nyb2xsRW5kIT1udWxsJiZaZSgic2Nyb2xsZW5kIixyKSxsLm9uQ2xpY2shPW51bGwmJihyLm9uY2xpY2s9S3IpLHI9ITApOnI9ITEscnx8JGkobiwhMCl9ZnVuY3Rpb24gYTgobil7Zm9yKEFuPW4ucmV0dXJuO0FuOylzd2l0Y2goQW4udGFnKXtjYXNlIDU6Y2FzZSAzMTpjYXNlIDEzOlJhPSExO3JldHVybjtjYXNlIDI3OmNhc2UgMzpSYT0hMDtyZXR1cm47ZGVmYXVsdDpBbj1Bbi5yZXR1cm59fWZ1bmN0aW9uIEFzKG4pe2lmKG4hPT1BbilyZXR1cm4hMTtpZighdHQpcmV0dXJuIGE4KG4pLHR0PSEwLCExO3ZhciByPW4udGFnLHU7aWYoKHU9ciE9PTMmJnIhPT0yNykmJigodT1yPT09NSkmJih1PW4udHlwZSx1PSEodSE9PSJmb3JtIiYmdSE9PSJidXR0b24iKXx8RDUobi50eXBlLG4ubWVtb2l6ZWRQcm9wcykpLHU9IXUpLHUmJkJ0JiYkaShuKSxhOChuKSxyPT09MTMpe2lmKG49bi5tZW1vaXplZFN0YXRlLG49biE9PW51bGw/bi5kZWh5ZHJhdGVkOm51bGwsIW4pdGhyb3cgRXJyb3IobygzMTcpKTtCdD1UNChuKX1lbHNlIGlmKHI9PT0zMSl7aWYobj1uLm1lbW9pemVkU3RhdGUsbj1uIT09bnVsbD9uLmRlaHlkcmF0ZWQ6bnVsbCwhbil0aHJvdyBFcnJvcihvKDMxNykpO0J0PVQ0KG4pfWVsc2Ugcj09PTI3PyhyPUJ0LGR1KG4udHlwZSk/KG49VDUsVDU9bnVsbCxCdD1uKTpCdD1yKTpCdD1Bbj9MYShuLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBybygpe0J0PUFuPW51bGwsdHQ9ITF9ZnVuY3Rpb24gY2coKXt2YXIgbj1YaTtyZXR1cm4gbiE9PW51bGwmJihuYT09PW51bGw/bmE9bjpuYS5wdXNoLmFwcGx5KG5hLG4pLFhpPW51bGwpLG59ZnVuY3Rpb24geWMobil7WGk9PT1udWxsP1hpPVtuXTpYaS5wdXNoKG4pfXZhciBkZz1qKG51bGwpLGlvPW51bGwsWnI9bnVsbDtmdW5jdGlvbiBaaShuLHIsdSl7c2UoZGcsci5fY3VycmVudFZhbHVlKSxyLl9jdXJyZW50VmFsdWU9dX1mdW5jdGlvbiBKcihuKXtuLl9jdXJyZW50VmFsdWU9ZGcuY3VycmVudCxZKGRnKX1mdW5jdGlvbiBmZyhuLHIsdSl7Zm9yKDtuIT09bnVsbDspe3ZhciBsPW4uYWx0ZXJuYXRlO2lmKChuLmNoaWxkTGFuZXMmcikhPT1yPyhuLmNoaWxkTGFuZXN8PXIsbCE9PW51bGwmJihsLmNoaWxkTGFuZXN8PXIpKTpsIT09bnVsbCYmKGwuY2hpbGRMYW5lcyZyKSE9PXImJihsLmNoaWxkTGFuZXN8PXIpLG49PT11KWJyZWFrO249bi5yZXR1cm59fWZ1bmN0aW9uIHBnKG4scix1LGwpe3ZhciBwPW4uY2hpbGQ7Zm9yKHAhPT1udWxsJiYocC5yZXR1cm49bik7cCE9PW51bGw7KXt2YXIgdj1wLmRlcGVuZGVuY2llcztpZih2IT09bnVsbCl7dmFyIEU9cC5jaGlsZDt2PXYuZmlyc3RDb250ZXh0O2U6Zm9yKDt2IT09bnVsbDspe3ZhciBTPXY7dj1wO2Zvcih2YXIgTj0wO048ci5sZW5ndGg7TisrKWlmKFMuY29udGV4dD09PXJbTl0pe3YubGFuZXN8PXUsUz12LmFsdGVybmF0ZSxTIT09bnVsbCYmKFMubGFuZXN8PXUpLGZnKHYucmV0dXJuLHUsbiksbHx8KEU9bnVsbCk7YnJlYWsgZX12PVMubmV4dH19ZWxzZSBpZihwLnRhZz09PTE4KXtpZihFPXAucmV0dXJuLEU9PT1udWxsKXRocm93IEVycm9yKG8oMzQxKSk7RS5sYW5lc3w9dSx2PUUuYWx0ZXJuYXRlLHYhPT1udWxsJiYodi5sYW5lc3w9dSksZmcoRSx1LG4pLEU9bnVsbH1lbHNlIEU9cC5jaGlsZDtpZihFIT09bnVsbClFLnJldHVybj1wO2Vsc2UgZm9yKEU9cDtFIT09bnVsbDspe2lmKEU9PT1uKXtFPW51bGw7YnJlYWt9aWYocD1FLnNpYmxpbmcscCE9PW51bGwpe3AucmV0dXJuPUUucmV0dXJuLEU9cDticmVha31FPUUucmV0dXJufXA9RX19ZnVuY3Rpb24gU3MobixyLHUsbCl7bj1udWxsO2Zvcih2YXIgcD1yLHY9ITE7cCE9PW51bGw7KXtpZighdil7aWYoKHAuZmxhZ3MmNTI0Mjg4KSE9PTApdj0hMDtlbHNlIGlmKChwLmZsYWdzJjI2MjE0NCkhPT0wKWJyZWFrfWlmKHAudGFnPT09MTApe3ZhciBFPXAuYWx0ZXJuYXRlO2lmKEU9PT1udWxsKXRocm93IEVycm9yKG8oMzg3KSk7aWYoRT1FLm1lbW9pemVkUHJvcHMsRSE9PW51bGwpe3ZhciBTPXAudHlwZTtjYShwLnBlbmRpbmdQcm9wcy52YWx1ZSxFLnZhbHVlKXx8KG4hPT1udWxsP24ucHVzaChTKTpuPVtTXSl9fWVsc2UgaWYocD09PWRlLmN1cnJlbnQpe2lmKEU9cC5hbHRlcm5hdGUsRT09PW51bGwpdGhyb3cgRXJyb3IobygzODcpKTtFLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSE9PXAubWVtb2l6ZWRTdGF0ZS5tZW1vaXplZFN0YXRlJiYobiE9PW51bGw/bi5wdXNoKFljKTpuPVtZY10pfXA9cC5yZXR1cm59biE9PW51bGwmJnBnKHIsbix1LGwpLHIuZmxhZ3N8PTI2MjE0NH1mdW5jdGlvbiBwcChuKXtmb3Iobj1uLmZpcnN0Q29udGV4dDtuIT09bnVsbDspe2lmKCFjYShuLmNvbnRleHQuX2N1cnJlbnRWYWx1ZSxuLm1lbW9pemVkVmFsdWUpKXJldHVybiEwO249bi5uZXh0fXJldHVybiExfWZ1bmN0aW9uIHVvKG4pe2lvPW4sWnI9bnVsbCxuPW4uZGVwZW5kZW5jaWVzLG4hPT1udWxsJiYobi5maXJzdENvbnRleHQ9bnVsbCl9ZnVuY3Rpb24gU24obil7cmV0dXJuIHI4KGlvLG4pfWZ1bmN0aW9uIHZwKG4scil7cmV0dXJuIGlvPT09bnVsbCYmdW8obikscjgobixyKX1mdW5jdGlvbiByOChuLHIpe3ZhciB1PXIuX2N1cnJlbnRWYWx1ZTtpZihyPXtjb250ZXh0OnIsbWVtb2l6ZWRWYWx1ZTp1LG5leHQ6bnVsbH0sWnI9PT1udWxsKXtpZihuPT09bnVsbCl0aHJvdyBFcnJvcihvKDMwOCkpO1pyPXIsbi5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OnJ9LG4uZmxhZ3N8PTUyNDI4OH1lbHNlIFpyPVpyLm5leHQ9cjtyZXR1cm4gdX12YXIgbUk9dHlwZW9mIEFib3J0Q29udHJvbGxlcjwidSI/QWJvcnRDb250cm9sbGVyOmZ1bmN0aW9uKCl7dmFyIG49W10scj10aGlzLnNpZ25hbD17YWJvcnRlZDohMSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKHUsbCl7bi5wdXNoKGwpfX07dGhpcy5hYm9ydD1mdW5jdGlvbigpe3IuYWJvcnRlZD0hMCxuLmZvckVhY2goZnVuY3Rpb24odSl7cmV0dXJuIHUoKX0pfX0saEk9dC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLGdJPXQudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksV3Q9eyQkdHlwZW9mOlQsQ29uc3VtZXI6bnVsbCxQcm92aWRlcjpudWxsLF9jdXJyZW50VmFsdWU6bnVsbCxfY3VycmVudFZhbHVlMjpudWxsLF90aHJlYWRDb3VudDowfTtmdW5jdGlvbiB2Zygpe3JldHVybntjb250cm9sbGVyOm5ldyBtSSxkYXRhOm5ldyBNYXAscmVmQ291bnQ6MH19ZnVuY3Rpb24gd2Mobil7bi5yZWZDb3VudC0tLG4ucmVmQ291bnQ9PT0wJiZoSShnSSxmdW5jdGlvbigpe24uY29udHJvbGxlci5hYm9ydCgpfSl9dmFyIHhjPW51bGwsbWc9MCxCcz0wLGtzPW51bGw7ZnVuY3Rpb24gYkkobixyKXtpZih4Yz09PW51bGwpe3ZhciB1PXhjPVtdO21nPTAsQnM9YjUoKSxrcz17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTp2b2lkIDAsdGhlbjpmdW5jdGlvbihsKXt1LnB1c2gobCl9fX1yZXR1cm4gbWcrKyxyLnRoZW4oaTgsaTgpLHJ9ZnVuY3Rpb24gaTgoKXtpZigtLW1nPT09MCYmeGMhPT1udWxsKXtrcyE9PW51bGwmJihrcy5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBuPXhjO3hjPW51bGwsQnM9MCxrcz1udWxsO2Zvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKSgwLG5bcl0pKCl9fWZ1bmN0aW9uIHlJKG4scil7dmFyIHU9W10sbD17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24ocCl7dS5wdXNoKHApfX07cmV0dXJuIG4udGhlbihmdW5jdGlvbigpe2wuc3RhdHVzPSJmdWxmaWxsZWQiLGwudmFsdWU9cjtmb3IodmFyIHA9MDtwPHUubGVuZ3RoO3ArKykoMCx1W3BdKShyKX0sZnVuY3Rpb24ocCl7Zm9yKGwuc3RhdHVzPSJyZWplY3RlZCIsbC5yZWFzb249cCxwPTA7cDx1Lmxlbmd0aDtwKyspKDAsdVtwXSkodm9pZCAwKX0pLGx9dmFyIHU4PVUuUztVLlM9ZnVuY3Rpb24obixyKXtVRj1wZSgpLHR5cGVvZiByPT0ib2JqZWN0IiYmciE9PW51bGwmJnR5cGVvZiByLnRoZW49PSJmdW5jdGlvbiImJmJJKG4sciksdTghPT1udWxsJiZ1OChuLHIpfTt2YXIgb289aihudWxsKTtmdW5jdGlvbiBoZygpe3ZhciBuPW9vLmN1cnJlbnQ7cmV0dXJuIG4hPT1udWxsP246RnQucG9vbGVkQ2FjaGV9ZnVuY3Rpb24gbXAobixyKXtyPT09bnVsbD9zZShvbyxvby5jdXJyZW50KTpzZShvbyxyLnBvb2wpfWZ1bmN0aW9uIG84KCl7dmFyIG49aGcoKTtyZXR1cm4gbj09PW51bGw/bnVsbDp7cGFyZW50Old0Ll9jdXJyZW50VmFsdWUscG9vbDpufX12YXIgVHM9RXJyb3Iobyg0NjApKSxnZz1FcnJvcihvKDQ3NCkpLGhwPUVycm9yKG8oNTQyKSksZ3A9e3RoZW46ZnVuY3Rpb24oKXt9fTtmdW5jdGlvbiBzOChuKXtyZXR1cm4gbj1uLnN0YXR1cyxuPT09ImZ1bGZpbGxlZCJ8fG49PT0icmVqZWN0ZWQifWZ1bmN0aW9uIGw4KG4scix1KXtzd2l0Y2godT1uW3VdLHU9PT12b2lkIDA/bi5wdXNoKHIpOnUhPT1yJiYoci50aGVuKEtyLEtyKSxyPXUpLHIuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHIudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbj1yLnJlYXNvbixkOChuKSxuO2RlZmF1bHQ6aWYodHlwZW9mIHIuc3RhdHVzPT0ic3RyaW5nIilyLnRoZW4oS3IsS3IpO2Vsc2V7aWYobj1GdCxuIT09bnVsbCYmMTAwPG4uc2hlbGxTdXNwZW5kQ291bnRlcil0aHJvdyBFcnJvcihvKDQ4MikpO249cixuLnN0YXR1cz0icGVuZGluZyIsbi50aGVuKGZ1bmN0aW9uKGwpe2lmKHIuc3RhdHVzPT09InBlbmRpbmciKXt2YXIgcD1yO3Auc3RhdHVzPSJmdWxmaWxsZWQiLHAudmFsdWU9bH19LGZ1bmN0aW9uKGwpe2lmKHIuc3RhdHVzPT09InBlbmRpbmciKXt2YXIgcD1yO3Auc3RhdHVzPSJyZWplY3RlZCIscC5yZWFzb249bH19KX1zd2l0Y2goci5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gci52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBuPXIucmVhc29uLGQ4KG4pLG59dGhyb3cgbG89cixUc319ZnVuY3Rpb24gc28obil7dHJ5e3ZhciByPW4uX2luaXQ7cmV0dXJuIHIobi5fcGF5bG9hZCl9Y2F0Y2godSl7dGhyb3cgdSE9PW51bGwmJnR5cGVvZiB1PT0ib2JqZWN0IiYmdHlwZW9mIHUudGhlbj09ImZ1bmN0aW9uIj8obG89dSxUcyk6dX19dmFyIGxvPW51bGw7ZnVuY3Rpb24gYzgoKXtpZihsbz09PW51bGwpdGhyb3cgRXJyb3Iobyg0NTkpKTt2YXIgbj1sbztyZXR1cm4gbG89bnVsbCxufWZ1bmN0aW9uIGQ4KG4pe2lmKG49PT1Uc3x8bj09PWhwKXRocm93IEVycm9yKG8oNDgzKSl9dmFyIGpzPW51bGwsRWM9MDtmdW5jdGlvbiBicChuKXt2YXIgcj1FYztyZXR1cm4gRWMrPTEsanM9PT1udWxsJiYoanM9W10pLGw4KGpzLG4scil9ZnVuY3Rpb24gRmMobixyKXtyPXIucHJvcHMucmVmLG4ucmVmPXIhPT12b2lkIDA/cjpudWxsfWZ1bmN0aW9uIHlwKG4scil7dGhyb3cgci4kJHR5cGVvZj09PUM/RXJyb3Iobyg1MjUpKToobj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwociksRXJyb3IobygzMSxuPT09IltvYmplY3QgT2JqZWN0XSI/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMocikuam9pbigiLCAiKSsifSI6bikpKX1mdW5jdGlvbiBmOChuKXtmdW5jdGlvbiByKHEsUil7aWYobil7dmFyIFY9cS5kZWxldGlvbnM7Vj09PW51bGw/KHEuZGVsZXRpb25zPVtSXSxxLmZsYWdzfD0xNik6Vi5wdXNoKFIpfX1mdW5jdGlvbiB1KHEsUil7aWYoIW4pcmV0dXJuIG51bGw7Zm9yKDtSIT09bnVsbDspcihxLFIpLFI9Ui5zaWJsaW5nO3JldHVybiBudWxsfWZ1bmN0aW9uIGwocSl7Zm9yKHZhciBSPW5ldyBNYXA7cSE9PW51bGw7KXEua2V5IT09bnVsbD9SLnNldChxLmtleSxxKTpSLnNldChxLmluZGV4LHEpLHE9cS5zaWJsaW5nO3JldHVybiBSfWZ1bmN0aW9uIHAocSxSKXtyZXR1cm4gcT1YcihxLFIpLHEuaW5kZXg9MCxxLnNpYmxpbmc9bnVsbCxxfWZ1bmN0aW9uIHYocSxSLFYpe3JldHVybiBxLmluZGV4PVYsbj8oVj1xLmFsdGVybmF0ZSxWIT09bnVsbD8oVj1WLmluZGV4LFY8Uj8ocS5mbGFnc3w9NjcxMDg4NjYsUik6Vik6KHEuZmxhZ3N8PTY3MTA4ODY2LFIpKToocS5mbGFnc3w9MTA0ODU3NixSKX1mdW5jdGlvbiBFKHEpe3JldHVybiBuJiZxLmFsdGVybmF0ZT09PW51bGwmJihxLmZsYWdzfD02NzEwODg2NikscX1mdW5jdGlvbiBTKHEsUixWLHVlKXtyZXR1cm4gUj09PW51bGx8fFIudGFnIT09Nj8oUj1pZyhWLHEubW9kZSx1ZSksUi5yZXR1cm49cSxSKTooUj1wKFIsViksUi5yZXR1cm49cSxSKX1mdW5jdGlvbiBOKHEsUixWLHVlKXt2YXIgamU9Vi50eXBlO3JldHVybiBqZT09PUY/bmUocSxSLFYucHJvcHMuY2hpbGRyZW4sdWUsVi5rZXkpOlIhPT1udWxsJiYoUi5lbGVtZW50VHlwZT09PWplfHx0eXBlb2YgamU9PSJvYmplY3QiJiZqZSE9PW51bGwmJmplLiQkdHlwZW9mPT09cmUmJnNvKGplKT09PVIudHlwZSk/KFI9cChSLFYucHJvcHMpLEZjKFIsViksUi5yZXR1cm49cSxSKTooUj1kcChWLnR5cGUsVi5rZXksVi5wcm9wcyxudWxsLHEubW9kZSx1ZSksRmMoUixWKSxSLnJldHVybj1xLFIpfWZ1bmN0aW9uIEcocSxSLFYsdWUpe3JldHVybiBSPT09bnVsbHx8Ui50YWchPT00fHxSLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09Vi5jb250YWluZXJJbmZvfHxSLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PVYuaW1wbGVtZW50YXRpb24/KFI9dWcoVixxLm1vZGUsdWUpLFIucmV0dXJuPXEsUik6KFI9cChSLFYuY2hpbGRyZW58fFtdKSxSLnJldHVybj1xLFIpfWZ1bmN0aW9uIG5lKHEsUixWLHVlLGplKXtyZXR1cm4gUj09PW51bGx8fFIudGFnIT09Nz8oUj1hbyhWLHEubW9kZSx1ZSxqZSksUi5yZXR1cm49cSxSKTooUj1wKFIsViksUi5yZXR1cm49cSxSKX1mdW5jdGlvbiBvZShxLFIsVil7aWYodHlwZW9mIFI9PSJzdHJpbmciJiZSIT09IiJ8fHR5cGVvZiBSPT0ibnVtYmVyInx8dHlwZW9mIFI9PSJiaWdpbnQiKXJldHVybiBSPWlnKCIiK1IscS5tb2RlLFYpLFIucmV0dXJuPXEsUjtpZih0eXBlb2YgUj09Im9iamVjdCImJlIhPT1udWxsKXtzd2l0Y2goUi4kJHR5cGVvZil7Y2FzZSB3OnJldHVybiBWPWRwKFIudHlwZSxSLmtleSxSLnByb3BzLG51bGwscS5tb2RlLFYpLEZjKFYsUiksVi5yZXR1cm49cSxWO2Nhc2UgeDpyZXR1cm4gUj11ZyhSLHEubW9kZSxWKSxSLnJldHVybj1xLFI7Y2FzZSByZTpyZXR1cm4gUj1zbyhSKSxvZShxLFIsVil9aWYoSShSKXx8bWUoUikpcmV0dXJuIFI9YW8oUixxLm1vZGUsVixudWxsKSxSLnJldHVybj1xLFI7aWYodHlwZW9mIFIudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4gb2UocSxicChSKSxWKTtpZihSLiQkdHlwZW9mPT09VClyZXR1cm4gb2UocSx2cChxLFIpLFYpO3lwKHEsUil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gSyhxLFIsVix1ZSl7dmFyIGplPVIhPT1udWxsP1Iua2V5Om51bGw7aWYodHlwZW9mIFY9PSJzdHJpbmciJiZWIT09IiJ8fHR5cGVvZiBWPT0ibnVtYmVyInx8dHlwZW9mIFY9PSJiaWdpbnQiKXJldHVybiBqZSE9PW51bGw/bnVsbDpTKHEsUiwiIitWLHVlKTtpZih0eXBlb2YgVj09Im9iamVjdCImJlYhPT1udWxsKXtzd2l0Y2goVi4kJHR5cGVvZil7Y2FzZSB3OnJldHVybiBWLmtleT09PWplP04ocSxSLFYsdWUpOm51bGw7Y2FzZSB4OnJldHVybiBWLmtleT09PWplP0cocSxSLFYsdWUpOm51bGw7Y2FzZSByZTpyZXR1cm4gVj1zbyhWKSxLKHEsUixWLHVlKX1pZihJKFYpfHxtZShWKSlyZXR1cm4gamUhPT1udWxsP251bGw6bmUocSxSLFYsdWUsbnVsbCk7aWYodHlwZW9mIFYudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4gSyhxLFIsYnAoViksdWUpO2lmKFYuJCR0eXBlb2Y9PT1UKXJldHVybiBLKHEsUix2cChxLFYpLHVlKTt5cChxLFYpfXJldHVybiBudWxsfWZ1bmN0aW9uICQocSxSLFYsdWUsamUpe2lmKHR5cGVvZiB1ZT09InN0cmluZyImJnVlIT09IiJ8fHR5cGVvZiB1ZT09Im51bWJlciJ8fHR5cGVvZiB1ZT09ImJpZ2ludCIpcmV0dXJuIHE9cS5nZXQoVil8fG51bGwsUyhSLHEsIiIrdWUsamUpO2lmKHR5cGVvZiB1ZT09Im9iamVjdCImJnVlIT09bnVsbCl7c3dpdGNoKHVlLiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHE9cS5nZXQodWUua2V5PT09bnVsbD9WOnVlLmtleSl8fG51bGwsTihSLHEsdWUsamUpO2Nhc2UgeDpyZXR1cm4gcT1xLmdldCh1ZS5rZXk9PT1udWxsP1Y6dWUua2V5KXx8bnVsbCxHKFIscSx1ZSxqZSk7Y2FzZSByZTpyZXR1cm4gdWU9c28odWUpLCQocSxSLFYsdWUsamUpfWlmKEkodWUpfHxtZSh1ZSkpcmV0dXJuIHE9cS5nZXQoVil8fG51bGwsbmUoUixxLHVlLGplLG51bGwpO2lmKHR5cGVvZiB1ZS50aGVuPT0iZnVuY3Rpb24iKXJldHVybiAkKHEsUixWLGJwKHVlKSxqZSk7aWYodWUuJCR0eXBlb2Y9PT1UKXJldHVybiAkKHEsUixWLHZwKFIsdWUpLGplKTt5cChSLHVlKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBEZShxLFIsVix1ZSl7Zm9yKHZhciBqZT1udWxsLG90PW51bGwsQmU9UixVZT1SPTAsZXQ9bnVsbDtCZSE9PW51bGwmJlVlPFYubGVuZ3RoO1VlKyspe0JlLmluZGV4PlVlPyhldD1CZSxCZT1udWxsKTpldD1CZS5zaWJsaW5nO3ZhciBzdD1LKHEsQmUsVltVZV0sdWUpO2lmKHN0PT09bnVsbCl7QmU9PT1udWxsJiYoQmU9ZXQpO2JyZWFrfW4mJkJlJiZzdC5hbHRlcm5hdGU9PT1udWxsJiZyKHEsQmUpLFI9dihzdCxSLFVlKSxvdD09PW51bGw/amU9c3Q6b3Quc2libGluZz1zdCxvdD1zdCxCZT1ldH1pZihVZT09PVYubGVuZ3RoKXJldHVybiB1KHEsQmUpLHR0JiYkcihxLFVlKSxqZTtpZihCZT09PW51bGwpe2Zvcig7VWU8Vi5sZW5ndGg7VWUrKylCZT1vZShxLFZbVWVdLHVlKSxCZSE9PW51bGwmJihSPXYoQmUsUixVZSksb3Q9PT1udWxsP2plPUJlOm90LnNpYmxpbmc9QmUsb3Q9QmUpO3JldHVybiB0dCYmJHIocSxVZSksamV9Zm9yKEJlPWwoQmUpO1VlPFYubGVuZ3RoO1VlKyspZXQ9JChCZSxxLFVlLFZbVWVdLHVlKSxldCE9PW51bGwmJihuJiZldC5hbHRlcm5hdGUhPT1udWxsJiZCZS5kZWxldGUoZXQua2V5PT09bnVsbD9VZTpldC5rZXkpLFI9dihldCxSLFVlKSxvdD09PW51bGw/amU9ZXQ6b3Quc2libGluZz1ldCxvdD1ldCk7cmV0dXJuIG4mJkJlLmZvckVhY2goZnVuY3Rpb24oaHUpe3JldHVybiByKHEsaHUpfSksdHQmJiRyKHEsVWUpLGplfWZ1bmN0aW9uIE9lKHEsUixWLHVlKXtpZihWPT1udWxsKXRocm93IEVycm9yKG8oMTUxKSk7Zm9yKHZhciBqZT1udWxsLG90PW51bGwsQmU9UixVZT1SPTAsZXQ9bnVsbCxzdD1WLm5leHQoKTtCZSE9PW51bGwmJiFzdC5kb25lO1VlKyssc3Q9Vi5uZXh0KCkpe0JlLmluZGV4PlVlPyhldD1CZSxCZT1udWxsKTpldD1CZS5zaWJsaW5nO3ZhciBodT1LKHEsQmUsc3QudmFsdWUsdWUpO2lmKGh1PT09bnVsbCl7QmU9PT1udWxsJiYoQmU9ZXQpO2JyZWFrfW4mJkJlJiZodS5hbHRlcm5hdGU9PT1udWxsJiZyKHEsQmUpLFI9dihodSxSLFVlKSxvdD09PW51bGw/amU9aHU6b3Quc2libGluZz1odSxvdD1odSxCZT1ldH1pZihzdC5kb25lKXJldHVybiB1KHEsQmUpLHR0JiYkcihxLFVlKSxqZTtpZihCZT09PW51bGwpe2Zvcig7IXN0LmRvbmU7VWUrKyxzdD1WLm5leHQoKSlzdD1vZShxLHN0LnZhbHVlLHVlKSxzdCE9PW51bGwmJihSPXYoc3QsUixVZSksb3Q9PT1udWxsP2plPXN0Om90LnNpYmxpbmc9c3Qsb3Q9c3QpO3JldHVybiB0dCYmJHIocSxVZSksamV9Zm9yKEJlPWwoQmUpOyFzdC5kb25lO1VlKyssc3Q9Vi5uZXh0KCkpc3Q9JChCZSxxLFVlLHN0LnZhbHVlLHVlKSxzdCE9PW51bGwmJihuJiZzdC5hbHRlcm5hdGUhPT1udWxsJiZCZS5kZWxldGUoc3Qua2V5PT09bnVsbD9VZTpzdC5rZXkpLFI9dihzdCxSLFVlKSxvdD09PW51bGw/amU9c3Q6b3Quc2libGluZz1zdCxvdD1zdCk7cmV0dXJuIG4mJkJlLmZvckVhY2goZnVuY3Rpb24oQkwpe3JldHVybiByKHEsQkwpfSksdHQmJiRyKHEsVWUpLGplfWZ1bmN0aW9uIEV0KHEsUixWLHVlKXtpZih0eXBlb2YgVj09Im9iamVjdCImJlYhPT1udWxsJiZWLnR5cGU9PT1GJiZWLmtleT09PW51bGwmJihWPVYucHJvcHMuY2hpbGRyZW4pLHR5cGVvZiBWPT0ib2JqZWN0IiYmViE9PW51bGwpe3N3aXRjaChWLiQkdHlwZW9mKXtjYXNlIHc6ZTp7Zm9yKHZhciBqZT1WLmtleTtSIT09bnVsbDspe2lmKFIua2V5PT09amUpe2lmKGplPVYudHlwZSxqZT09PUYpe2lmKFIudGFnPT09Nyl7dShxLFIuc2libGluZyksdWU9cChSLFYucHJvcHMuY2hpbGRyZW4pLHVlLnJldHVybj1xLHE9dWU7YnJlYWsgZX19ZWxzZSBpZihSLmVsZW1lbnRUeXBlPT09amV8fHR5cGVvZiBqZT09Im9iamVjdCImJmplIT09bnVsbCYmamUuJCR0eXBlb2Y9PT1yZSYmc28oamUpPT09Ui50eXBlKXt1KHEsUi5zaWJsaW5nKSx1ZT1wKFIsVi5wcm9wcyksRmModWUsViksdWUucmV0dXJuPXEscT11ZTticmVhayBlfXUocSxSKTticmVha31lbHNlIHIocSxSKTtSPVIuc2libGluZ31WLnR5cGU9PT1GPyh1ZT1hbyhWLnByb3BzLmNoaWxkcmVuLHEubW9kZSx1ZSxWLmtleSksdWUucmV0dXJuPXEscT11ZSk6KHVlPWRwKFYudHlwZSxWLmtleSxWLnByb3BzLG51bGwscS5tb2RlLHVlKSxGYyh1ZSxWKSx1ZS5yZXR1cm49cSxxPXVlKX1yZXR1cm4gRShxKTtjYXNlIHg6ZTp7Zm9yKGplPVYua2V5O1IhPT1udWxsOyl7aWYoUi5rZXk9PT1qZSlpZihSLnRhZz09PTQmJlIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1WLmNvbnRhaW5lckluZm8mJlIuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09Vi5pbXBsZW1lbnRhdGlvbil7dShxLFIuc2libGluZyksdWU9cChSLFYuY2hpbGRyZW58fFtdKSx1ZS5yZXR1cm49cSxxPXVlO2JyZWFrIGV9ZWxzZXt1KHEsUik7YnJlYWt9ZWxzZSByKHEsUik7Uj1SLnNpYmxpbmd9dWU9dWcoVixxLm1vZGUsdWUpLHVlLnJldHVybj1xLHE9dWV9cmV0dXJuIEUocSk7Y2FzZSByZTpyZXR1cm4gVj1zbyhWKSxFdChxLFIsVix1ZSl9aWYoSShWKSlyZXR1cm4gRGUocSxSLFYsdWUpO2lmKG1lKFYpKXtpZihqZT1tZShWKSx0eXBlb2YgamUhPSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IobygxNTApKTtyZXR1cm4gVj1qZS5jYWxsKFYpLE9lKHEsUixWLHVlKX1pZih0eXBlb2YgVi50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBFdChxLFIsYnAoViksdWUpO2lmKFYuJCR0eXBlb2Y9PT1UKXJldHVybiBFdChxLFIsdnAocSxWKSx1ZSk7eXAocSxWKX1yZXR1cm4gdHlwZW9mIFY9PSJzdHJpbmciJiZWIT09IiJ8fHR5cGVvZiBWPT0ibnVtYmVyInx8dHlwZW9mIFY9PSJiaWdpbnQiPyhWPSIiK1YsUiE9PW51bGwmJlIudGFnPT09Nj8odShxLFIuc2libGluZyksdWU9cChSLFYpLHVlLnJldHVybj1xLHE9dWUpOih1KHEsUiksdWU9aWcoVixxLm1vZGUsdWUpLHVlLnJldHVybj1xLHE9dWUpLEUocSkpOnUocSxSKX1yZXR1cm4gZnVuY3Rpb24ocSxSLFYsdWUpe3RyeXtFYz0wO3ZhciBqZT1FdChxLFIsVix1ZSk7cmV0dXJuIGpzPW51bGwsamV9Y2F0Y2goQmUpe2lmKEJlPT09VHN8fEJlPT09aHApdGhyb3cgQmU7dmFyIG90PWRhKDI5LEJlLG51bGwscS5tb2RlKTtyZXR1cm4gb3QubGFuZXM9dWUsb3QucmV0dXJuPXEsb3R9fX12YXIgY289ZjgoITApLHA4PWY4KCExKSxKaT0hMTtmdW5jdGlvbiBiZyhuKXtuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6bi5tZW1vaXplZFN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpudWxsLGxhc3RCYXNlVXBkYXRlOm51bGwsc2hhcmVkOntwZW5kaW5nOm51bGwsbGFuZXM6MCxoaWRkZW5DYWxsYmFja3M6bnVsbH0sY2FsbGJhY2tzOm51bGx9fWZ1bmN0aW9uIHlnKG4scil7bj1uLnVwZGF0ZVF1ZXVlLHIudXBkYXRlUXVldWU9PT1uJiYoci51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOm4uYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpuLmZpcnN0QmFzZVVwZGF0ZSxsYXN0QmFzZVVwZGF0ZTpuLmxhc3RCYXNlVXBkYXRlLHNoYXJlZDpuLnNoYXJlZCxjYWxsYmFja3M6bnVsbH0pfWZ1bmN0aW9uIGV1KG4pe3JldHVybntsYW5lOm4sdGFnOjAscGF5bG9hZDpudWxsLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfX1mdW5jdGlvbiB0dShuLHIsdSl7dmFyIGw9bi51cGRhdGVRdWV1ZTtpZihsPT09bnVsbClyZXR1cm4gbnVsbDtpZihsPWwuc2hhcmVkLChmdCYyKSE9PTApe3ZhciBwPWwucGVuZGluZztyZXR1cm4gcD09PW51bGw/ci5uZXh0PXI6KHIubmV4dD1wLm5leHQscC5uZXh0PXIpLGwucGVuZGluZz1yLHI9Y3AobiksWDIobixudWxsLHUpLHJ9cmV0dXJuIGxwKG4sbCxyLHUpLGNwKG4pfWZ1bmN0aW9uIENjKG4scix1KXtpZihyPXIudXBkYXRlUXVldWUsciE9PW51bGwmJihyPXIuc2hhcmVkLCh1JjQxOTQwNDgpIT09MCkpe3ZhciBsPXIubGFuZXM7bCY9bi5wZW5kaW5nTGFuZXMsdXw9bCxyLmxhbmVzPXUsc3Mobix1KX19ZnVuY3Rpb24gd2cobixyKXt2YXIgdT1uLnVwZGF0ZVF1ZXVlLGw9bi5hbHRlcm5hdGU7aWYobCE9PW51bGwmJihsPWwudXBkYXRlUXVldWUsdT09PWwpKXt2YXIgcD1udWxsLHY9bnVsbDtpZih1PXUuZmlyc3RCYXNlVXBkYXRlLHUhPT1udWxsKXtkb3t2YXIgRT17bGFuZTp1LmxhbmUsdGFnOnUudGFnLHBheWxvYWQ6dS5wYXlsb2FkLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfTt2PT09bnVsbD9wPXY9RTp2PXYubmV4dD1FLHU9dS5uZXh0fXdoaWxlKHUhPT1udWxsKTt2PT09bnVsbD9wPXY9cjp2PXYubmV4dD1yfWVsc2UgcD12PXI7dT17YmFzZVN0YXRlOmwuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpwLGxhc3RCYXNlVXBkYXRlOnYsc2hhcmVkOmwuc2hhcmVkLGNhbGxiYWNrczpsLmNhbGxiYWNrc30sbi51cGRhdGVRdWV1ZT11O3JldHVybn1uPXUubGFzdEJhc2VVcGRhdGUsbj09PW51bGw/dS5maXJzdEJhc2VVcGRhdGU9cjpuLm5leHQ9cix1Lmxhc3RCYXNlVXBkYXRlPXJ9dmFyIHhnPSExO2Z1bmN0aW9uIERjKCl7aWYoeGcpe3ZhciBuPWtzO2lmKG4hPT1udWxsKXRocm93IG59fWZ1bmN0aW9uIEFjKG4scix1LGwpe3hnPSExO3ZhciBwPW4udXBkYXRlUXVldWU7Smk9ITE7dmFyIHY9cC5maXJzdEJhc2VVcGRhdGUsRT1wLmxhc3RCYXNlVXBkYXRlLFM9cC5zaGFyZWQucGVuZGluZztpZihTIT09bnVsbCl7cC5zaGFyZWQucGVuZGluZz1udWxsO3ZhciBOPVMsRz1OLm5leHQ7Ti5uZXh0PW51bGwsRT09PW51bGw/dj1HOkUubmV4dD1HLEU9Tjt2YXIgbmU9bi5hbHRlcm5hdGU7bmUhPT1udWxsJiYobmU9bmUudXBkYXRlUXVldWUsUz1uZS5sYXN0QmFzZVVwZGF0ZSxTIT09RSYmKFM9PT1udWxsP25lLmZpcnN0QmFzZVVwZGF0ZT1HOlMubmV4dD1HLG5lLmxhc3RCYXNlVXBkYXRlPU4pKX1pZih2IT09bnVsbCl7dmFyIG9lPXAuYmFzZVN0YXRlO0U9MCxuZT1HPU49bnVsbCxTPXY7ZG97dmFyIEs9Uy5sYW5lJi01MzY4NzA5MTMsJD1LIT09Uy5sYW5lO2lmKCQ/KEplJkspPT09SzoobCZLKT09PUspe0shPT0wJiZLPT09QnMmJih4Zz0hMCksbmUhPT1udWxsJiYobmU9bmUubmV4dD17bGFuZTowLHRhZzpTLnRhZyxwYXlsb2FkOlMucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH0pO2U6e3ZhciBEZT1uLE9lPVM7Sz1yO3ZhciBFdD11O3N3aXRjaChPZS50YWcpe2Nhc2UgMTppZihEZT1PZS5wYXlsb2FkLHR5cGVvZiBEZT09ImZ1bmN0aW9uIil7b2U9RGUuY2FsbChFdCxvZSxLKTticmVhayBlfW9lPURlO2JyZWFrIGU7Y2FzZSAzOkRlLmZsYWdzPURlLmZsYWdzJi02NTUzN3wxMjg7Y2FzZSAwOmlmKERlPU9lLnBheWxvYWQsSz10eXBlb2YgRGU9PSJmdW5jdGlvbiI/RGUuY2FsbChFdCxvZSxLKTpEZSxLPT1udWxsKWJyZWFrIGU7b2U9eSh7fSxvZSxLKTticmVhayBlO2Nhc2UgMjpKaT0hMH19Sz1TLmNhbGxiYWNrLEshPT1udWxsJiYobi5mbGFnc3w9NjQsJCYmKG4uZmxhZ3N8PTgxOTIpLCQ9cC5jYWxsYmFja3MsJD09PW51bGw/cC5jYWxsYmFja3M9W0tdOiQucHVzaChLKSl9ZWxzZSAkPXtsYW5lOkssdGFnOlMudGFnLHBheWxvYWQ6Uy5wYXlsb2FkLGNhbGxiYWNrOlMuY2FsbGJhY2ssbmV4dDpudWxsfSxuZT09PW51bGw/KEc9bmU9JCxOPW9lKTpuZT1uZS5uZXh0PSQsRXw9SztpZihTPVMubmV4dCxTPT09bnVsbCl7aWYoUz1wLnNoYXJlZC5wZW5kaW5nLFM9PT1udWxsKWJyZWFrOyQ9UyxTPSQubmV4dCwkLm5leHQ9bnVsbCxwLmxhc3RCYXNlVXBkYXRlPSQscC5zaGFyZWQucGVuZGluZz1udWxsfX13aGlsZSghMCk7bmU9PT1udWxsJiYoTj1vZSkscC5iYXNlU3RhdGU9TixwLmZpcnN0QmFzZVVwZGF0ZT1HLHAubGFzdEJhc2VVcGRhdGU9bmUsdj09PW51bGwmJihwLnNoYXJlZC5sYW5lcz0wKSx1dXw9RSxuLmxhbmVzPUUsbi5tZW1vaXplZFN0YXRlPW9lfX1mdW5jdGlvbiB2OChuLHIpe2lmKHR5cGVvZiBuIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKG8oMTkxLG4pKTtuLmNhbGwocil9ZnVuY3Rpb24gbTgobixyKXt2YXIgdT1uLmNhbGxiYWNrcztpZih1IT09bnVsbClmb3Iobi5jYWxsYmFja3M9bnVsbCxuPTA7bjx1Lmxlbmd0aDtuKyspdjgodVtuXSxyKX12YXIgTXM9aihudWxsKSx3cD1qKDApO2Z1bmN0aW9uIGg4KG4scil7bj1zaSxzZSh3cCxuKSxzZShNcyxyKSxzaT1ufHIuYmFzZUxhbmVzfWZ1bmN0aW9uIEVnKCl7c2Uod3Asc2kpLHNlKE1zLE1zLmN1cnJlbnQpfWZ1bmN0aW9uIEZnKCl7c2k9d3AuY3VycmVudCxZKE1zKSxZKHdwKX12YXIgZmE9aihudWxsKSxJYT1udWxsO2Z1bmN0aW9uIG51KG4pe3ZhciByPW4uYWx0ZXJuYXRlO3NlKFV0LFV0LmN1cnJlbnQmMSksc2UoZmEsbiksSWE9PT1udWxsJiYocj09PW51bGx8fE1zLmN1cnJlbnQhPT1udWxsfHxyLm1lbW9pemVkU3RhdGUhPT1udWxsKSYmKElhPW4pfWZ1bmN0aW9uIENnKG4pe3NlKFV0LFV0LmN1cnJlbnQpLHNlKGZhLG4pLElhPT09bnVsbCYmKElhPW4pfWZ1bmN0aW9uIGc4KG4pe24udGFnPT09MjI/KHNlKFV0LFV0LmN1cnJlbnQpLHNlKGZhLG4pLElhPT09bnVsbCYmKElhPW4pKTphdShuKX1mdW5jdGlvbiBhdSgpe3NlKFV0LFV0LmN1cnJlbnQpLHNlKGZhLGZhLmN1cnJlbnQpfWZ1bmN0aW9uIHBhKG4pe1koZmEpLElhPT09biYmKElhPW51bGwpLFkoVXQpfXZhciBVdD1qKDApO2Z1bmN0aW9uIHhwKG4pe2Zvcih2YXIgcj1uO3IhPT1udWxsOyl7aWYoci50YWc9PT0xMyl7dmFyIHU9ci5tZW1vaXplZFN0YXRlO2lmKHUhPT1udWxsJiYodT11LmRlaHlkcmF0ZWQsdT09PW51bGx8fEI1KHUpfHxrNSh1KSkpcmV0dXJuIHJ9ZWxzZSBpZihyLnRhZz09PTE5JiYoci5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyPT09ImZvcndhcmRzInx8ci5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyPT09ImJhY2t3YXJkcyJ8fHIubWVtb2l6ZWRQcm9wcy5yZXZlYWxPcmRlcj09PSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzInx8ci5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyPT09InRvZ2V0aGVyIikpe2lmKChyLmZsYWdzJjEyOCkhPT0wKXJldHVybiByfWVsc2UgaWYoci5jaGlsZCE9PW51bGwpe3IuY2hpbGQucmV0dXJuPXIscj1yLmNoaWxkO2NvbnRpbnVlfWlmKHI9PT1uKWJyZWFrO2Zvcig7ci5zaWJsaW5nPT09bnVsbDspe2lmKHIucmV0dXJuPT09bnVsbHx8ci5yZXR1cm49PT1uKXJldHVybiBudWxsO3I9ci5yZXR1cm59ci5zaWJsaW5nLnJldHVybj1yLnJldHVybixyPXIuc2libGluZ31yZXR1cm4gbnVsbH12YXIgZWk9MCxQZT1udWxsLHd0PW51bGwsS3Q9bnVsbCxFcD0hMSxPcz0hMSxmbz0hMSxGcD0wLFNjPTAsX3M9bnVsbCx3ST0wO2Z1bmN0aW9uIEl0KCl7dGhyb3cgRXJyb3IobygzMjEpKX1mdW5jdGlvbiBEZyhuLHIpe2lmKHI9PT1udWxsKXJldHVybiExO2Zvcih2YXIgdT0wO3U8ci5sZW5ndGgmJnU8bi5sZW5ndGg7dSsrKWlmKCFjYShuW3VdLHJbdV0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIEFnKG4scix1LGwscCx2KXtyZXR1cm4gZWk9dixQZT1yLHIubWVtb2l6ZWRTdGF0ZT1udWxsLHIudXBkYXRlUXVldWU9bnVsbCxyLmxhbmVzPTAsVS5IPW49PT1udWxsfHxuLm1lbW9pemVkU3RhdGU9PT1udWxsP2VGOnFnLGZvPSExLHY9dShsLHApLGZvPSExLE9zJiYodj15OChyLHUsbCxwKSksYjgobiksdn1mdW5jdGlvbiBiOChuKXtVLkg9VGM7dmFyIHI9d3QhPT1udWxsJiZ3dC5uZXh0IT09bnVsbDtpZihlaT0wLEt0PXd0PVBlPW51bGwsRXA9ITEsU2M9MCxfcz1udWxsLHIpdGhyb3cgRXJyb3IobygzMDApKTtuPT09bnVsbHx8UXR8fChuPW4uZGVwZW5kZW5jaWVzLG4hPT1udWxsJiZwcChuKSYmKFF0PSEwKSl9ZnVuY3Rpb24geTgobixyLHUsbCl7UGU9bjt2YXIgcD0wO2Rve2lmKE9zJiYoX3M9bnVsbCksU2M9MCxPcz0hMSwyNTw9cCl0aHJvdyBFcnJvcihvKDMwMSkpO2lmKHArPTEsS3Q9d3Q9bnVsbCxuLnVwZGF0ZVF1ZXVlIT1udWxsKXt2YXIgdj1uLnVwZGF0ZVF1ZXVlO3YubGFzdEVmZmVjdD1udWxsLHYuZXZlbnRzPW51bGwsdi5zdG9yZXM9bnVsbCx2Lm1lbW9DYWNoZSE9bnVsbCYmKHYubWVtb0NhY2hlLmluZGV4PTApfVUuSD10Rix2PXIodSxsKX13aGlsZShPcyk7cmV0dXJuIHZ9ZnVuY3Rpb24geEkoKXt2YXIgbj1VLkgscj1uLnVzZVN0YXRlKClbMF07cmV0dXJuIHI9dHlwZW9mIHIudGhlbj09ImZ1bmN0aW9uIj9CYyhyKTpyLG49bi51c2VTdGF0ZSgpWzBdLCh3dCE9PW51bGw/d3QubWVtb2l6ZWRTdGF0ZTpudWxsKSE9PW4mJihQZS5mbGFnc3w9MTAyNCkscn1mdW5jdGlvbiBTZygpe3ZhciBuPUZwIT09MDtyZXR1cm4gRnA9MCxufWZ1bmN0aW9uIEJnKG4scix1KXtyLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsci5mbGFncyY9LTIwNTMsbi5sYW5lcyY9fnV9ZnVuY3Rpb24ga2cobil7aWYoRXApe2ZvcihuPW4ubWVtb2l6ZWRTdGF0ZTtuIT09bnVsbDspe3ZhciByPW4ucXVldWU7ciE9PW51bGwmJihyLnBlbmRpbmc9bnVsbCksbj1uLm5leHR9RXA9ITF9ZWk9MCxLdD13dD1QZT1udWxsLE9zPSExLFNjPUZwPTAsX3M9bnVsbH1mdW5jdGlvbiBxbigpe3ZhciBuPXttZW1vaXplZFN0YXRlOm51bGwsYmFzZVN0YXRlOm51bGwsYmFzZVF1ZXVlOm51bGwscXVldWU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBLdD09PW51bGw/UGUubWVtb2l6ZWRTdGF0ZT1LdD1uOkt0PUt0Lm5leHQ9bixLdH1mdW5jdGlvbiBWdCgpe2lmKHd0PT09bnVsbCl7dmFyIG49UGUuYWx0ZXJuYXRlO249biE9PW51bGw/bi5tZW1vaXplZFN0YXRlOm51bGx9ZWxzZSBuPXd0Lm5leHQ7dmFyIHI9S3Q9PT1udWxsP1BlLm1lbW9pemVkU3RhdGU6S3QubmV4dDtpZihyIT09bnVsbClLdD1yLHd0PW47ZWxzZXtpZihuPT09bnVsbCl0aHJvdyBQZS5hbHRlcm5hdGU9PT1udWxsP0Vycm9yKG8oNDY3KSk6RXJyb3IobygzMTApKTt3dD1uLG49e21lbW9pemVkU3RhdGU6d3QubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6d3QuYmFzZVN0YXRlLGJhc2VRdWV1ZTp3dC5iYXNlUXVldWUscXVldWU6d3QucXVldWUsbmV4dDpudWxsfSxLdD09PW51bGw/UGUubWVtb2l6ZWRTdGF0ZT1LdD1uOkt0PUt0Lm5leHQ9bn1yZXR1cm4gS3R9ZnVuY3Rpb24gQ3AoKXtyZXR1cm57bGFzdEVmZmVjdDpudWxsLGV2ZW50czpudWxsLHN0b3JlczpudWxsLG1lbW9DYWNoZTpudWxsfX1mdW5jdGlvbiBCYyhuKXt2YXIgcj1TYztyZXR1cm4gU2MrPTEsX3M9PT1udWxsJiYoX3M9W10pLG49bDgoX3MsbixyKSxyPVBlLChLdD09PW51bGw/ci5tZW1vaXplZFN0YXRlOkt0Lm5leHQpPT09bnVsbCYmKHI9ci5hbHRlcm5hdGUsVS5IPXI9PT1udWxsfHxyLm1lbW9pemVkU3RhdGU9PT1udWxsP2VGOnFnKSxufWZ1bmN0aW9uIERwKG4pe2lmKG4hPT1udWxsJiZ0eXBlb2Ygbj09Im9iamVjdCIpe2lmKHR5cGVvZiBuLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIEJjKG4pO2lmKG4uJCR0eXBlb2Y9PT1UKXJldHVybiBTbihuKX10aHJvdyBFcnJvcihvKDQzOCxTdHJpbmcobikpKX1mdW5jdGlvbiBUZyhuKXt2YXIgcj1udWxsLHU9UGUudXBkYXRlUXVldWU7aWYodSE9PW51bGwmJihyPXUubWVtb0NhY2hlKSxyPT1udWxsKXt2YXIgbD1QZS5hbHRlcm5hdGU7bCE9PW51bGwmJihsPWwudXBkYXRlUXVldWUsbCE9PW51bGwmJihsPWwubWVtb0NhY2hlLGwhPW51bGwmJihyPXtkYXRhOmwuZGF0YS5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIHAuc2xpY2UoKX0pLGluZGV4OjB9KSkpfWlmKHI9PW51bGwmJihyPXtkYXRhOltdLGluZGV4OjB9KSx1PT09bnVsbCYmKHU9Q3AoKSxQZS51cGRhdGVRdWV1ZT11KSx1Lm1lbW9DYWNoZT1yLHU9ci5kYXRhW3IuaW5kZXhdLHU9PT12b2lkIDApZm9yKHU9ci5kYXRhW3IuaW5kZXhdPUFycmF5KG4pLGw9MDtsPG47bCsrKXVbbF09WjtyZXR1cm4gci5pbmRleCsrLHV9ZnVuY3Rpb24gdGkobixyKXtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiI/cihuKTpyfWZ1bmN0aW9uIEFwKG4pe3ZhciByPVZ0KCk7cmV0dXJuIGpnKHIsd3Qsbil9ZnVuY3Rpb24gamcobixyLHUpe3ZhciBsPW4ucXVldWU7aWYobD09PW51bGwpdGhyb3cgRXJyb3IobygzMTEpKTtsLmxhc3RSZW5kZXJlZFJlZHVjZXI9dTt2YXIgcD1uLmJhc2VRdWV1ZSx2PWwucGVuZGluZztpZih2IT09bnVsbCl7aWYocCE9PW51bGwpe3ZhciBFPXAubmV4dDtwLm5leHQ9di5uZXh0LHYubmV4dD1FfXIuYmFzZVF1ZXVlPXA9dixsLnBlbmRpbmc9bnVsbH1pZih2PW4uYmFzZVN0YXRlLHA9PT1udWxsKW4ubWVtb2l6ZWRTdGF0ZT12O2Vsc2V7cj1wLm5leHQ7dmFyIFM9RT1udWxsLE49bnVsbCxHPXIsbmU9ITE7ZG97dmFyIG9lPUcubGFuZSYtNTM2ODcwOTEzO2lmKG9lIT09Ry5sYW5lPyhKZSZvZSk9PT1vZTooZWkmb2UpPT09b2Upe3ZhciBLPUcucmV2ZXJ0TGFuZTtpZihLPT09MClOIT09bnVsbCYmKE49Ti5uZXh0PXtsYW5lOjAscmV2ZXJ0TGFuZTowLGdlc3R1cmU6bnVsbCxhY3Rpb246Ry5hY3Rpb24saGFzRWFnZXJTdGF0ZTpHLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpHLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksb2U9PT1CcyYmKG5lPSEwKTtlbHNlIGlmKChlaSZLKT09PUspe0c9Ry5uZXh0LEs9PT1CcyYmKG5lPSEwKTtjb250aW51ZX1lbHNlIG9lPXtsYW5lOjAscmV2ZXJ0TGFuZTpHLnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjpHLmFjdGlvbixoYXNFYWdlclN0YXRlOkcuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOkcuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LE49PT1udWxsPyhTPU49b2UsRT12KTpOPU4ubmV4dD1vZSxQZS5sYW5lc3w9Syx1dXw9SztvZT1HLmFjdGlvbixmbyYmdSh2LG9lKSx2PUcuaGFzRWFnZXJTdGF0ZT9HLmVhZ2VyU3RhdGU6dSh2LG9lKX1lbHNlIEs9e2xhbmU6b2UscmV2ZXJ0TGFuZTpHLnJldmVydExhbmUsZ2VzdHVyZTpHLmdlc3R1cmUsYWN0aW9uOkcuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Ry5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Ry5lYWdlclN0YXRlLG5leHQ6bnVsbH0sTj09PW51bGw/KFM9Tj1LLEU9dik6Tj1OLm5leHQ9SyxQZS5sYW5lc3w9b2UsdXV8PW9lO0c9Ry5uZXh0fXdoaWxlKEchPT1udWxsJiZHIT09cik7aWYoTj09PW51bGw/RT12Ok4ubmV4dD1TLCFjYSh2LG4ubWVtb2l6ZWRTdGF0ZSkmJihRdD0hMCxuZSYmKHU9a3MsdSE9PW51bGwpKSl0aHJvdyB1O24ubWVtb2l6ZWRTdGF0ZT12LG4uYmFzZVN0YXRlPUUsbi5iYXNlUXVldWU9TixsLmxhc3RSZW5kZXJlZFN0YXRlPXZ9cmV0dXJuIHA9PT1udWxsJiYobC5sYW5lcz0wKSxbbi5tZW1vaXplZFN0YXRlLGwuZGlzcGF0Y2hdfWZ1bmN0aW9uIE1nKG4pe3ZhciByPVZ0KCksdT1yLnF1ZXVlO2lmKHU9PT1udWxsKXRocm93IEVycm9yKG8oMzExKSk7dS5sYXN0UmVuZGVyZWRSZWR1Y2VyPW47dmFyIGw9dS5kaXNwYXRjaCxwPXUucGVuZGluZyx2PXIubWVtb2l6ZWRTdGF0ZTtpZihwIT09bnVsbCl7dS5wZW5kaW5nPW51bGw7dmFyIEU9cD1wLm5leHQ7ZG8gdj1uKHYsRS5hY3Rpb24pLEU9RS5uZXh0O3doaWxlKEUhPT1wKTtjYSh2LHIubWVtb2l6ZWRTdGF0ZSl8fChRdD0hMCksci5tZW1vaXplZFN0YXRlPXYsci5iYXNlUXVldWU9PT1udWxsJiYoci5iYXNlU3RhdGU9diksdS5sYXN0UmVuZGVyZWRTdGF0ZT12fXJldHVyblt2LGxdfWZ1bmN0aW9uIHc4KG4scix1KXt2YXIgbD1QZSxwPVZ0KCksdj10dDtpZih2KXtpZih1PT09dm9pZCAwKXRocm93IEVycm9yKG8oNDA3KSk7dT11KCl9ZWxzZSB1PXIoKTt2YXIgRT0hY2EoKHd0fHxwKS5tZW1vaXplZFN0YXRlLHUpO2lmKEUmJihwLm1lbW9pemVkU3RhdGU9dSxRdD0hMCkscD1wLnF1ZXVlLE5nKEY4LmJpbmQobnVsbCxsLHAsbiksW25dKSxwLmdldFNuYXBzaG90IT09cnx8RXx8S3QhPT1udWxsJiZLdC5tZW1vaXplZFN0YXRlLnRhZyYxKXtpZihsLmZsYWdzfD0yMDQ4LE5zKDkse2Rlc3Ryb3k6dm9pZCAwfSxFOC5iaW5kKG51bGwsbCxwLHUsciksbnVsbCksRnQ9PT1udWxsKXRocm93IEVycm9yKG8oMzQ5KSk7dnx8KGVpJjEyNykhPT0wfHx4OChsLHIsdSl9cmV0dXJuIHV9ZnVuY3Rpb24geDgobixyLHUpe24uZmxhZ3N8PTE2Mzg0LG49e2dldFNuYXBzaG90OnIsdmFsdWU6dX0scj1QZS51cGRhdGVRdWV1ZSxyPT09bnVsbD8ocj1DcCgpLFBlLnVwZGF0ZVF1ZXVlPXIsci5zdG9yZXM9W25dKToodT1yLnN0b3Jlcyx1PT09bnVsbD9yLnN0b3Jlcz1bbl06dS5wdXNoKG4pKX1mdW5jdGlvbiBFOChuLHIsdSxsKXtyLnZhbHVlPXUsci5nZXRTbmFwc2hvdD1sLEM4KHIpJiZEOChuKX1mdW5jdGlvbiBGOChuLHIsdSl7cmV0dXJuIHUoZnVuY3Rpb24oKXtDOChyKSYmRDgobil9KX1mdW5jdGlvbiBDOChuKXt2YXIgcj1uLmdldFNuYXBzaG90O249bi52YWx1ZTt0cnl7dmFyIHU9cigpO3JldHVybiFjYShuLHUpfWNhdGNoe3JldHVybiEwfX1mdW5jdGlvbiBEOChuKXt2YXIgcj1ubyhuLDIpO3IhPT1udWxsJiZhYShyLG4sMil9ZnVuY3Rpb24gT2cobil7dmFyIHI9cW4oKTtpZih0eXBlb2Ygbj09ImZ1bmN0aW9uIil7dmFyIHU9bjtpZihuPXUoKSxmbyl7JG4oITApO3RyeXt1KCl9ZmluYWxseXskbighMSl9fX1yZXR1cm4gci5tZW1vaXplZFN0YXRlPXIuYmFzZVN0YXRlPW4sci5xdWV1ZT17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOnRpLGxhc3RSZW5kZXJlZFN0YXRlOm59LHJ9ZnVuY3Rpb24gQTgobixyLHUsbCl7cmV0dXJuIG4uYmFzZVN0YXRlPXUsamcobix3dCx0eXBlb2YgbD09ImZ1bmN0aW9uIj9sOnRpKX1mdW5jdGlvbiBFSShuLHIsdSxsLHApe2lmKGtwKG4pKXRocm93IEVycm9yKG8oNDg1KSk7aWYobj1yLmFjdGlvbixuIT09bnVsbCl7dmFyIHY9e3BheWxvYWQ6cCxhY3Rpb246bixuZXh0Om51bGwsaXNUcmFuc2l0aW9uOiEwLHN0YXR1czoicGVuZGluZyIsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxsaXN0ZW5lcnM6W10sdGhlbjpmdW5jdGlvbihFKXt2Lmxpc3RlbmVycy5wdXNoKEUpfX07VS5UIT09bnVsbD91KCEwKTp2LmlzVHJhbnNpdGlvbj0hMSxsKHYpLHU9ci5wZW5kaW5nLHU9PT1udWxsPyh2Lm5leHQ9ci5wZW5kaW5nPXYsUzgocix2KSk6KHYubmV4dD11Lm5leHQsci5wZW5kaW5nPXUubmV4dD12KX19ZnVuY3Rpb24gUzgobixyKXt2YXIgdT1yLmFjdGlvbixsPXIucGF5bG9hZCxwPW4uc3RhdGU7aWYoci5pc1RyYW5zaXRpb24pe3ZhciB2PVUuVCxFPXt9O1UuVD1FO3RyeXt2YXIgUz11KHAsbCksTj1VLlM7TiE9PW51bGwmJk4oRSxTKSxCOChuLHIsUyl9Y2F0Y2goRyl7X2cobixyLEcpfWZpbmFsbHl7diE9PW51bGwmJkUudHlwZXMhPT1udWxsJiYodi50eXBlcz1FLnR5cGVzKSxVLlQ9dn19ZWxzZSB0cnl7dj11KHAsbCksQjgobixyLHYpfWNhdGNoKEcpe19nKG4scixHKX19ZnVuY3Rpb24gQjgobixyLHUpe3UhPT1udWxsJiZ0eXBlb2YgdT09Im9iamVjdCImJnR5cGVvZiB1LnRoZW49PSJmdW5jdGlvbiI/dS50aGVuKGZ1bmN0aW9uKGwpe2s4KG4scixsKX0sZnVuY3Rpb24obCl7cmV0dXJuIF9nKG4scixsKX0pOms4KG4scix1KX1mdW5jdGlvbiBrOChuLHIsdSl7ci5zdGF0dXM9ImZ1bGZpbGxlZCIsci52YWx1ZT11LFQ4KHIpLG4uc3RhdGU9dSxyPW4ucGVuZGluZyxyIT09bnVsbCYmKHU9ci5uZXh0LHU9PT1yP24ucGVuZGluZz1udWxsOih1PXUubmV4dCxyLm5leHQ9dSxTOChuLHUpKSl9ZnVuY3Rpb24gX2cobixyLHUpe3ZhciBsPW4ucGVuZGluZztpZihuLnBlbmRpbmc9bnVsbCxsIT09bnVsbCl7bD1sLm5leHQ7ZG8gci5zdGF0dXM9InJlamVjdGVkIixyLnJlYXNvbj11LFQ4KHIpLHI9ci5uZXh0O3doaWxlKHIhPT1sKX1uLmFjdGlvbj1udWxsfWZ1bmN0aW9uIFQ4KG4pe249bi5saXN0ZW5lcnM7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspKDAsbltyXSkoKX1mdW5jdGlvbiBqOChuLHIpe3JldHVybiByfWZ1bmN0aW9uIE04KG4scil7aWYodHQpe3ZhciB1PUZ0LmZvcm1TdGF0ZTtpZih1IT09bnVsbCl7ZTp7dmFyIGw9UGU7aWYodHQpe2lmKEJ0KXt0Ontmb3IodmFyIHA9QnQsdj1SYTtwLm5vZGVUeXBlIT09ODspe2lmKCF2KXtwPW51bGw7YnJlYWsgdH1pZihwPUxhKHAubmV4dFNpYmxpbmcpLHA9PT1udWxsKXtwPW51bGw7YnJlYWsgdH19dj1wLmRhdGEscD12PT09IkYhInx8dj09PSJGIj9wOm51bGx9aWYocCl7QnQ9TGEocC5uZXh0U2libGluZyksbD1wLmRhdGE9PT0iRiEiO2JyZWFrIGV9fSRpKGwpfWw9ITF9bCYmKHI9dVswXSl9fXJldHVybiB1PXFuKCksdS5tZW1vaXplZFN0YXRlPXUuYmFzZVN0YXRlPXIsbD17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmo4LGxhc3RSZW5kZXJlZFN0YXRlOnJ9LHUucXVldWU9bCx1PSQ4LmJpbmQobnVsbCxQZSxsKSxsLmRpc3BhdGNoPXUsbD1PZyghMSksdj1IZy5iaW5kKG51bGwsUGUsITEsbC5xdWV1ZSksbD1xbigpLHA9e3N0YXRlOnIsZGlzcGF0Y2g6bnVsbCxhY3Rpb246bixwZW5kaW5nOm51bGx9LGwucXVldWU9cCx1PUVJLmJpbmQobnVsbCxQZSxwLHYsdSkscC5kaXNwYXRjaD11LGwubWVtb2l6ZWRTdGF0ZT1uLFtyLHUsITFdfWZ1bmN0aW9uIE84KG4pe3ZhciByPVZ0KCk7cmV0dXJuIF84KHIsd3Qsbil9ZnVuY3Rpb24gXzgobixyLHUpe2lmKHI9amcobixyLGo4KVswXSxuPUFwKHRpKVswXSx0eXBlb2Ygcj09Im9iamVjdCImJnIhPT1udWxsJiZ0eXBlb2Ygci50aGVuPT0iZnVuY3Rpb24iKXRyeXt2YXIgbD1CYyhyKX1jYXRjaChFKXt0aHJvdyBFPT09VHM/aHA6RX1lbHNlIGw9cjtyPVZ0KCk7dmFyIHA9ci5xdWV1ZSx2PXAuZGlzcGF0Y2g7cmV0dXJuIHUhPT1yLm1lbW9pemVkU3RhdGUmJihQZS5mbGFnc3w9MjA0OCxOcyg5LHtkZXN0cm95OnZvaWQgMH0sRkkuYmluZChudWxsLHAsdSksbnVsbCkpLFtsLHYsbl19ZnVuY3Rpb24gRkkobixyKXtuLmFjdGlvbj1yfWZ1bmN0aW9uIE44KG4pe3ZhciByPVZ0KCksdT13dDtpZih1IT09bnVsbClyZXR1cm4gXzgocix1LG4pO1Z0KCkscj1yLm1lbW9pemVkU3RhdGUsdT1WdCgpO3ZhciBsPXUucXVldWUuZGlzcGF0Y2g7cmV0dXJuIHUubWVtb2l6ZWRTdGF0ZT1uLFtyLGwsITFdfWZ1bmN0aW9uIE5zKG4scix1LGwpe3JldHVybiBuPXt0YWc6bixjcmVhdGU6dSxkZXBzOmwsaW5zdDpyLG5leHQ6bnVsbH0scj1QZS51cGRhdGVRdWV1ZSxyPT09bnVsbCYmKHI9Q3AoKSxQZS51cGRhdGVRdWV1ZT1yKSx1PXIubGFzdEVmZmVjdCx1PT09bnVsbD9yLmxhc3RFZmZlY3Q9bi5uZXh0PW46KGw9dS5uZXh0LHUubmV4dD1uLG4ubmV4dD1sLHIubGFzdEVmZmVjdD1uKSxufWZ1bmN0aW9uIFI4KCl7cmV0dXJuIFZ0KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBTcChuLHIsdSxsKXt2YXIgcD1xbigpO1BlLmZsYWdzfD1uLHAubWVtb2l6ZWRTdGF0ZT1OcygxfHIse2Rlc3Ryb3k6dm9pZCAwfSx1LGw9PT12b2lkIDA/bnVsbDpsKX1mdW5jdGlvbiBCcChuLHIsdSxsKXt2YXIgcD1WdCgpO2w9bD09PXZvaWQgMD9udWxsOmw7dmFyIHY9cC5tZW1vaXplZFN0YXRlLmluc3Q7d3QhPT1udWxsJiZsIT09bnVsbCYmRGcobCx3dC5tZW1vaXplZFN0YXRlLmRlcHMpP3AubWVtb2l6ZWRTdGF0ZT1OcyhyLHYsdSxsKTooUGUuZmxhZ3N8PW4scC5tZW1vaXplZFN0YXRlPU5zKDF8cix2LHUsbCkpfWZ1bmN0aW9uIEk4KG4scil7U3AoODM5MDY1Niw4LG4scil9ZnVuY3Rpb24gTmcobixyKXtCcCgyMDQ4LDgsbixyKX1mdW5jdGlvbiBDSShuKXtQZS5mbGFnc3w9NDt2YXIgcj1QZS51cGRhdGVRdWV1ZTtpZihyPT09bnVsbClyPUNwKCksUGUudXBkYXRlUXVldWU9cixyLmV2ZW50cz1bbl07ZWxzZXt2YXIgdT1yLmV2ZW50czt1PT09bnVsbD9yLmV2ZW50cz1bbl06dS5wdXNoKG4pfX1mdW5jdGlvbiBMOChuKXt2YXIgcj1WdCgpLm1lbW9pemVkU3RhdGU7cmV0dXJuIENJKHtyZWY6cixuZXh0SW1wbDpufSksZnVuY3Rpb24oKXtpZigoZnQmMikhPT0wKXRocm93IEVycm9yKG8oNDQwKSk7cmV0dXJuIHIuaW1wbC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19ZnVuY3Rpb24gejgobixyKXtyZXR1cm4gQnAoNCwyLG4scil9ZnVuY3Rpb24gSDgobixyKXtyZXR1cm4gQnAoNCw0LG4scil9ZnVuY3Rpb24gcTgobixyKXtpZih0eXBlb2Ygcj09ImZ1bmN0aW9uIil7bj1uKCk7dmFyIHU9cihuKTtyZXR1cm4gZnVuY3Rpb24oKXt0eXBlb2YgdT09ImZ1bmN0aW9uIj91KCk6cihudWxsKX19aWYociE9bnVsbClyZXR1cm4gbj1uKCksci5jdXJyZW50PW4sZnVuY3Rpb24oKXtyLmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gUDgobixyLHUpe3U9dSE9bnVsbD91LmNvbmNhdChbbl0pOm51bGwsQnAoNCw0LHE4LmJpbmQobnVsbCxyLG4pLHUpfWZ1bmN0aW9uIFJnKCl7fWZ1bmN0aW9uIFU4KG4scil7dmFyIHU9VnQoKTtyPXI9PT12b2lkIDA/bnVsbDpyO3ZhciBsPXUubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gciE9PW51bGwmJkRnKHIsbFsxXSk/bFswXToodS5tZW1vaXplZFN0YXRlPVtuLHJdLG4pfWZ1bmN0aW9uIFY4KG4scil7dmFyIHU9VnQoKTtyPXI9PT12b2lkIDA/bnVsbDpyO3ZhciBsPXUubWVtb2l6ZWRTdGF0ZTtpZihyIT09bnVsbCYmRGcocixsWzFdKSlyZXR1cm4gbFswXTtpZihsPW4oKSxmbyl7JG4oITApO3RyeXtuKCl9ZmluYWxseXskbighMSl9fXJldHVybiB1Lm1lbW9pemVkU3RhdGU9W2wscl0sbH1mdW5jdGlvbiBJZyhuLHIsdSl7cmV0dXJuIHU9PT12b2lkIDB8fChlaSYxMDczNzQxODI0KSE9PTAmJihKZSYyNjE5MzApPT09MD9uLm1lbW9pemVkU3RhdGU9cjoobi5tZW1vaXplZFN0YXRlPXUsbj1HRigpLFBlLmxhbmVzfD1uLHV1fD1uLHUpfWZ1bmN0aW9uIEc4KG4scix1LGwpe3JldHVybiBjYSh1LHIpP3U6TXMuY3VycmVudCE9PW51bGw/KG49SWcobix1LGwpLGNhKG4scil8fChRdD0hMCksbik6KGVpJjQyKT09PTB8fChlaSYxMDczNzQxODI0KSE9PTAmJihKZSYyNjE5MzApPT09MD8oUXQ9ITAsbi5tZW1vaXplZFN0YXRlPXUpOihuPUdGKCksUGUubGFuZXN8PW4sdXV8PW4scil9ZnVuY3Rpb24gWTgobixyLHUsbCxwKXt2YXIgdj1XLnA7Vy5wPXYhPT0wJiY4PnY/djo4O3ZhciBFPVUuVCxTPXt9O1UuVD1TLEhnKG4sITEscix1KTt0cnl7dmFyIE49cCgpLEc9VS5TO2lmKEchPT1udWxsJiZHKFMsTiksTiE9PW51bGwmJnR5cGVvZiBOPT0ib2JqZWN0IiYmdHlwZW9mIE4udGhlbj09ImZ1bmN0aW9uIil7dmFyIG5lPXlJKE4sbCk7a2MobixyLG5lLGhhKG4pKX1lbHNlIGtjKG4scixsLGhhKG4pKX1jYXRjaChvZSl7a2MobixyLHt0aGVuOmZ1bmN0aW9uKCl7fSxzdGF0dXM6InJlamVjdGVkIixyZWFzb246b2V9LGhhKCkpfWZpbmFsbHl7Vy5wPXYsRSE9PW51bGwmJlMudHlwZXMhPT1udWxsJiYoRS50eXBlcz1TLnR5cGVzKSxVLlQ9RX19ZnVuY3Rpb24gREkoKXt9ZnVuY3Rpb24gTGcobixyLHUsbCl7aWYobi50YWchPT01KXRocm93IEVycm9yKG8oNDc2KSk7dmFyIHA9VzgobikucXVldWU7WTgobixwLHIsWCx1PT09bnVsbD9ESTpmdW5jdGlvbigpe3JldHVybiBLOChuKSx1KGwpfSl9ZnVuY3Rpb24gVzgobil7dmFyIHI9bi5tZW1vaXplZFN0YXRlO2lmKHIhPT1udWxsKXJldHVybiByO3I9e21lbW9pemVkU3RhdGU6WCxiYXNlU3RhdGU6WCxiYXNlUXVldWU6bnVsbCxxdWV1ZTp7cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOnRpLGxhc3RSZW5kZXJlZFN0YXRlOlh9LG5leHQ6bnVsbH07dmFyIHU9e307cmV0dXJuIHIubmV4dD17bWVtb2l6ZWRTdGF0ZTp1LGJhc2VTdGF0ZTp1LGJhc2VRdWV1ZTpudWxsLHF1ZXVlOntwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6dGksbGFzdFJlbmRlcmVkU3RhdGU6dX0sbmV4dDpudWxsfSxuLm1lbW9pemVkU3RhdGU9cixuPW4uYWx0ZXJuYXRlLG4hPT1udWxsJiYobi5tZW1vaXplZFN0YXRlPXIpLHJ9ZnVuY3Rpb24gSzgobil7dmFyIHI9Vzgobik7ci5uZXh0PT09bnVsbCYmKHI9bi5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSksa2MobixyLm5leHQucXVldWUse30saGEoKSl9ZnVuY3Rpb24gemcoKXtyZXR1cm4gU24oWWMpfWZ1bmN0aW9uIFE4KCl7cmV0dXJuIFZ0KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBYOCgpe3JldHVybiBWdCgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQUkobil7Zm9yKHZhciByPW4ucmV0dXJuO3IhPT1udWxsOyl7c3dpdGNoKHIudGFnKXtjYXNlIDI0OmNhc2UgMzp2YXIgdT1oYSgpO249ZXUodSk7dmFyIGw9dHUocixuLHUpO2whPT1udWxsJiYoYWEobCxyLHUpLENjKGwscix1KSkscj17Y2FjaGU6dmcoKX0sbi5wYXlsb2FkPXI7cmV0dXJufXI9ci5yZXR1cm59fWZ1bmN0aW9uIFNJKG4scix1KXt2YXIgbD1oYSgpO3U9e2xhbmU6bCxyZXZlcnRMYW5lOjAsZ2VzdHVyZTpudWxsLGFjdGlvbjp1LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sa3Aobik/Wjgocix1KToodT1hZyhuLHIsdSxsKSx1IT09bnVsbCYmKGFhKHUsbixsKSxKOCh1LHIsbCkpKX1mdW5jdGlvbiAkOChuLHIsdSl7dmFyIGw9aGEoKTtrYyhuLHIsdSxsKX1mdW5jdGlvbiBrYyhuLHIsdSxsKXt2YXIgcD17bGFuZTpsLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOnUsaGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfTtpZihrcChuKSlaOChyLHApO2Vsc2V7dmFyIHY9bi5hbHRlcm5hdGU7aWYobi5sYW5lcz09PTAmJih2PT09bnVsbHx8di5sYW5lcz09PTApJiYodj1yLmxhc3RSZW5kZXJlZFJlZHVjZXIsdiE9PW51bGwpKXRyeXt2YXIgRT1yLmxhc3RSZW5kZXJlZFN0YXRlLFM9dihFLHUpO2lmKHAuaGFzRWFnZXJTdGF0ZT0hMCxwLmVhZ2VyU3RhdGU9UyxjYShTLEUpKXJldHVybiBscChuLHIscCwwKSxGdD09PW51bGwmJnNwKCksITF9Y2F0Y2h7fWlmKHU9YWcobixyLHAsbCksdSE9PW51bGwpcmV0dXJuIGFhKHUsbixsKSxKOCh1LHIsbCksITB9cmV0dXJuITF9ZnVuY3Rpb24gSGcobixyLHUsbCl7aWYobD17bGFuZToyLHJldmVydExhbmU6YjUoKSxnZXN0dXJlOm51bGwsYWN0aW9uOmwsaGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxrcChuKSl7aWYocil0aHJvdyBFcnJvcihvKDQ3OSkpfWVsc2Ugcj1hZyhuLHUsbCwyKSxyIT09bnVsbCYmYWEocixuLDIpfWZ1bmN0aW9uIGtwKG4pe3ZhciByPW4uYWx0ZXJuYXRlO3JldHVybiBuPT09UGV8fHIhPT1udWxsJiZyPT09UGV9ZnVuY3Rpb24gWjgobixyKXtPcz1FcD0hMDt2YXIgdT1uLnBlbmRpbmc7dT09PW51bGw/ci5uZXh0PXI6KHIubmV4dD11Lm5leHQsdS5uZXh0PXIpLG4ucGVuZGluZz1yfWZ1bmN0aW9uIEo4KG4scix1KXtpZigodSY0MTk0MDQ4KSE9PTApe3ZhciBsPXIubGFuZXM7bCY9bi5wZW5kaW5nTGFuZXMsdXw9bCxyLmxhbmVzPXUsc3Mobix1KX19dmFyIFRjPXtyZWFkQ29udGV4dDpTbix1c2U6RHAsdXNlQ2FsbGJhY2s6SXQsdXNlQ29udGV4dDpJdCx1c2VFZmZlY3Q6SXQsdXNlSW1wZXJhdGl2ZUhhbmRsZTpJdCx1c2VMYXlvdXRFZmZlY3Q6SXQsdXNlSW5zZXJ0aW9uRWZmZWN0Okl0LHVzZU1lbW86SXQsdXNlUmVkdWNlcjpJdCx1c2VSZWY6SXQsdXNlU3RhdGU6SXQsdXNlRGVidWdWYWx1ZTpJdCx1c2VEZWZlcnJlZFZhbHVlOkl0LHVzZVRyYW5zaXRpb246SXQsdXNlU3luY0V4dGVybmFsU3RvcmU6SXQsdXNlSWQ6SXQsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6SXQsdXNlRm9ybVN0YXRlOkl0LHVzZUFjdGlvblN0YXRlOkl0LHVzZU9wdGltaXN0aWM6SXQsdXNlTWVtb0NhY2hlOkl0LHVzZUNhY2hlUmVmcmVzaDpJdH07VGMudXNlRWZmZWN0RXZlbnQ9SXQ7dmFyIGVGPXtyZWFkQ29udGV4dDpTbix1c2U6RHAsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24obixyKXtyZXR1cm4gcW4oKS5tZW1vaXplZFN0YXRlPVtuLHI9PT12b2lkIDA/bnVsbDpyXSxufSx1c2VDb250ZXh0OlNuLHVzZUVmZmVjdDpJOCx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKG4scix1KXt1PXUhPW51bGw/dS5jb25jYXQoW25dKTpudWxsLFNwKDQxOTQzMDgsNCxxOC5iaW5kKG51bGwscixuKSx1KX0sdXNlTGF5b3V0RWZmZWN0OmZ1bmN0aW9uKG4scil7cmV0dXJuIFNwKDQxOTQzMDgsNCxuLHIpfSx1c2VJbnNlcnRpb25FZmZlY3Q6ZnVuY3Rpb24obixyKXtTcCg0LDIsbixyKX0sdXNlTWVtbzpmdW5jdGlvbihuLHIpe3ZhciB1PXFuKCk7cj1yPT09dm9pZCAwP251bGw6cjt2YXIgbD1uKCk7aWYoZm8peyRuKCEwKTt0cnl7bigpfWZpbmFsbHl7JG4oITEpfX1yZXR1cm4gdS5tZW1vaXplZFN0YXRlPVtsLHJdLGx9LHVzZVJlZHVjZXI6ZnVuY3Rpb24obixyLHUpe3ZhciBsPXFuKCk7aWYodSE9PXZvaWQgMCl7dmFyIHA9dShyKTtpZihmbyl7JG4oITApO3RyeXt1KHIpfWZpbmFsbHl7JG4oITEpfX19ZWxzZSBwPXI7cmV0dXJuIGwubWVtb2l6ZWRTdGF0ZT1sLmJhc2VTdGF0ZT1wLG49e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpuLGxhc3RSZW5kZXJlZFN0YXRlOnB9LGwucXVldWU9bixuPW4uZGlzcGF0Y2g9U0kuYmluZChudWxsLFBlLG4pLFtsLm1lbW9pemVkU3RhdGUsbl19LHVzZVJlZjpmdW5jdGlvbihuKXt2YXIgcj1xbigpO3JldHVybiBuPXtjdXJyZW50Om59LHIubWVtb2l6ZWRTdGF0ZT1ufSx1c2VTdGF0ZTpmdW5jdGlvbihuKXtuPU9nKG4pO3ZhciByPW4ucXVldWUsdT0kOC5iaW5kKG51bGwsUGUscik7cmV0dXJuIHIuZGlzcGF0Y2g9dSxbbi5tZW1vaXplZFN0YXRlLHVdfSx1c2VEZWJ1Z1ZhbHVlOlJnLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24obixyKXt2YXIgdT1xbigpO3JldHVybiBJZyh1LG4scil9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgbj1PZyghMSk7cmV0dXJuIG49WTguYmluZChudWxsLFBlLG4ucXVldWUsITAsITEpLHFuKCkubWVtb2l6ZWRTdGF0ZT1uLFshMSxuXX0sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24obixyLHUpe3ZhciBsPVBlLHA9cW4oKTtpZih0dCl7aWYodT09PXZvaWQgMCl0aHJvdyBFcnJvcihvKDQwNykpO3U9dSgpfWVsc2V7aWYodT1yKCksRnQ9PT1udWxsKXRocm93IEVycm9yKG8oMzQ5KSk7KEplJjEyNykhPT0wfHx4OChsLHIsdSl9cC5tZW1vaXplZFN0YXRlPXU7dmFyIHY9e3ZhbHVlOnUsZ2V0U25hcHNob3Q6cn07cmV0dXJuIHAucXVldWU9dixJOChGOC5iaW5kKG51bGwsbCx2LG4pLFtuXSksbC5mbGFnc3w9MjA0OCxOcyg5LHtkZXN0cm95OnZvaWQgMH0sRTguYmluZChudWxsLGwsdix1LHIpLG51bGwpLHV9LHVzZUlkOmZ1bmN0aW9uKCl7dmFyIG49cW4oKSxyPUZ0LmlkZW50aWZpZXJQcmVmaXg7aWYodHQpe3ZhciB1PUZyLGw9RXI7dT0obCZ+KDE8PDMyLWhuKGwpLTEpKS50b1N0cmluZygzMikrdSxyPSJfIityKyJSXyIrdSx1PUZwKyssMDx1JiYocis9IkgiK3UudG9TdHJpbmcoMzIpKSxyKz0iXyJ9ZWxzZSB1PXdJKysscj0iXyIrcisicl8iK3UudG9TdHJpbmcoMzIpKyJfIjtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPXJ9LHVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzOnpnLHVzZUZvcm1TdGF0ZTpNOCx1c2VBY3Rpb25TdGF0ZTpNOCx1c2VPcHRpbWlzdGljOmZ1bmN0aW9uKG4pe3ZhciByPXFuKCk7ci5tZW1vaXplZFN0YXRlPXIuYmFzZVN0YXRlPW47dmFyIHU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpudWxsLGxhc3RSZW5kZXJlZFN0YXRlOm51bGx9O3JldHVybiByLnF1ZXVlPXUscj1IZy5iaW5kKG51bGwsUGUsITAsdSksdS5kaXNwYXRjaD1yLFtuLHJdfSx1c2VNZW1vQ2FjaGU6VGcsdXNlQ2FjaGVSZWZyZXNoOmZ1bmN0aW9uKCl7cmV0dXJuIHFuKCkubWVtb2l6ZWRTdGF0ZT1BSS5iaW5kKG51bGwsUGUpfSx1c2VFZmZlY3RFdmVudDpmdW5jdGlvbihuKXt2YXIgcj1xbigpLHU9e2ltcGw6bn07cmV0dXJuIHIubWVtb2l6ZWRTdGF0ZT11LGZ1bmN0aW9uKCl7aWYoKGZ0JjIpIT09MCl0aHJvdyBFcnJvcihvKDQ0MCkpO3JldHVybiB1LmltcGwuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0scWc9e3JlYWRDb250ZXh0OlNuLHVzZTpEcCx1c2VDYWxsYmFjazpVOCx1c2VDb250ZXh0OlNuLHVzZUVmZmVjdDpOZyx1c2VJbXBlcmF0aXZlSGFuZGxlOlA4LHVzZUluc2VydGlvbkVmZmVjdDp6OCx1c2VMYXlvdXRFZmZlY3Q6SDgsdXNlTWVtbzpWOCx1c2VSZWR1Y2VyOkFwLHVzZVJlZjpSOCx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBBcCh0aSl9LHVzZURlYnVnVmFsdWU6UmcsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihuLHIpe3ZhciB1PVZ0KCk7cmV0dXJuIEc4KHUsd3QubWVtb2l6ZWRTdGF0ZSxuLHIpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIG49QXAodGkpWzBdLHI9VnQoKS5tZW1vaXplZFN0YXRlO3JldHVyblt0eXBlb2Ygbj09ImJvb2xlYW4iP246QmMobikscl19LHVzZVN5bmNFeHRlcm5hbFN0b3JlOnc4LHVzZUlkOlE4LHVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzOnpnLHVzZUZvcm1TdGF0ZTpPOCx1c2VBY3Rpb25TdGF0ZTpPOCx1c2VPcHRpbWlzdGljOmZ1bmN0aW9uKG4scil7dmFyIHU9VnQoKTtyZXR1cm4gQTgodSx3dCxuLHIpfSx1c2VNZW1vQ2FjaGU6VGcsdXNlQ2FjaGVSZWZyZXNoOlg4fTtxZy51c2VFZmZlY3RFdmVudD1MODt2YXIgdEY9e3JlYWRDb250ZXh0OlNuLHVzZTpEcCx1c2VDYWxsYmFjazpVOCx1c2VDb250ZXh0OlNuLHVzZUVmZmVjdDpOZyx1c2VJbXBlcmF0aXZlSGFuZGxlOlA4LHVzZUluc2VydGlvbkVmZmVjdDp6OCx1c2VMYXlvdXRFZmZlY3Q6SDgsdXNlTWVtbzpWOCx1c2VSZWR1Y2VyOk1nLHVzZVJlZjpSOCx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBNZyh0aSl9LHVzZURlYnVnVmFsdWU6UmcsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihuLHIpe3ZhciB1PVZ0KCk7cmV0dXJuIHd0PT09bnVsbD9JZyh1LG4scik6RzgodSx3dC5tZW1vaXplZFN0YXRlLG4scil9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgbj1NZyh0aSlbMF0scj1WdCgpLm1lbW9pemVkU3RhdGU7cmV0dXJuW3R5cGVvZiBuPT0iYm9vbGVhbiI/bjpCYyhuKSxyXX0sdXNlU3luY0V4dGVybmFsU3RvcmU6dzgsdXNlSWQ6UTgsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6emcsdXNlRm9ybVN0YXRlOk44LHVzZUFjdGlvblN0YXRlOk44LHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24obixyKXt2YXIgdT1WdCgpO3JldHVybiB3dCE9PW51bGw/QTgodSx3dCxuLHIpOih1LmJhc2VTdGF0ZT1uLFtuLHUucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOlRnLHVzZUNhY2hlUmVmcmVzaDpYOH07dEYudXNlRWZmZWN0RXZlbnQ9TDg7ZnVuY3Rpb24gUGcobixyLHUsbCl7cj1uLm1lbW9pemVkU3RhdGUsdT11KGwsciksdT11PT1udWxsP3I6eSh7fSxyLHUpLG4ubWVtb2l6ZWRTdGF0ZT11LG4ubGFuZXM9PT0wJiYobi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSl9dmFyIFVnPXtlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24obixyLHUpe249bi5fcmVhY3RJbnRlcm5hbHM7dmFyIGw9aGEoKSxwPWV1KGwpO3AucGF5bG9hZD1yLHUhPW51bGwmJihwLmNhbGxiYWNrPXUpLHI9dHUobixwLGwpLHIhPT1udWxsJiYoYWEocixuLGwpLENjKHIsbixsKSl9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24obixyLHUpe249bi5fcmVhY3RJbnRlcm5hbHM7dmFyIGw9aGEoKSxwPWV1KGwpO3AudGFnPTEscC5wYXlsb2FkPXIsdSE9bnVsbCYmKHAuY2FsbGJhY2s9dSkscj10dShuLHAsbCksciE9PW51bGwmJihhYShyLG4sbCksQ2MocixuLGwpKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKG4scil7bj1uLl9yZWFjdEludGVybmFsczt2YXIgdT1oYSgpLGw9ZXUodSk7bC50YWc9MixyIT1udWxsJiYobC5jYWxsYmFjaz1yKSxyPXR1KG4sbCx1KSxyIT09bnVsbCYmKGFhKHIsbix1KSxDYyhyLG4sdSkpfX07ZnVuY3Rpb24gbkYobixyLHUsbCxwLHYsRSl7cmV0dXJuIG49bi5zdGF0ZU5vZGUsdHlwZW9mIG4uc2hvdWxkQ29tcG9uZW50VXBkYXRlPT0iZnVuY3Rpb24iP24uc2hvdWxkQ29tcG9uZW50VXBkYXRlKGwsdixFKTpyLnByb3RvdHlwZSYmci5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQ/IWhjKHUsbCl8fCFoYyhwLHYpOiEwfWZ1bmN0aW9uIGFGKG4scix1LGwpe249ci5zdGF0ZSx0eXBlb2Ygci5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzPT0iZnVuY3Rpb24iJiZyLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHModSxsKSx0eXBlb2Ygci5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcz09ImZ1bmN0aW9uIiYmci5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh1LGwpLHIuc3RhdGUhPT1uJiZVZy5lbnF1ZXVlUmVwbGFjZVN0YXRlKHIsci5zdGF0ZSxudWxsKX1mdW5jdGlvbiBwbyhuLHIpe3ZhciB1PXI7aWYoInJlZiJpbiByKXt1PXt9O2Zvcih2YXIgbCBpbiByKWwhPT0icmVmIiYmKHVbbF09cltsXSl9aWYobj1uLmRlZmF1bHRQcm9wcyl7dT09PXImJih1PXkoe30sdSkpO2Zvcih2YXIgcCBpbiBuKXVbcF09PT12b2lkIDAmJih1W3BdPW5bcF0pfXJldHVybiB1fWZ1bmN0aW9uIHJGKG4pe29wKG4pfWZ1bmN0aW9uIGlGKG4pe2NvbnNvbGUuZXJyb3Iobil9ZnVuY3Rpb24gdUYobil7b3Aobil9ZnVuY3Rpb24gVHAobixyKXt0cnl7dmFyIHU9bi5vblVuY2F1Z2h0RXJyb3I7dShyLnZhbHVlLHtjb21wb25lbnRTdGFjazpyLnN0YWNrfSl9Y2F0Y2gobCl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGx9KX19ZnVuY3Rpb24gb0YobixyLHUpe3RyeXt2YXIgbD1uLm9uQ2F1Z2h0RXJyb3I7bCh1LnZhbHVlLHtjb21wb25lbnRTdGFjazp1LnN0YWNrLGVycm9yQm91bmRhcnk6ci50YWc9PT0xP3Iuc3RhdGVOb2RlOm51bGx9KX1jYXRjaChwKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgcH0pfX1mdW5jdGlvbiBWZyhuLHIsdSl7cmV0dXJuIHU9ZXUodSksdS50YWc9Myx1LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH0sdS5jYWxsYmFjaz1mdW5jdGlvbigpe1RwKG4scil9LHV9ZnVuY3Rpb24gc0Yobil7cmV0dXJuIG49ZXUobiksbi50YWc9MyxufWZ1bmN0aW9uIGxGKG4scix1LGwpe3ZhciBwPXUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYodHlwZW9mIHA9PSJmdW5jdGlvbiIpe3ZhciB2PWwudmFsdWU7bi5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHAodil9LG4uY2FsbGJhY2s9ZnVuY3Rpb24oKXtvRihyLHUsbCl9fXZhciBFPXUuc3RhdGVOb2RlO0UhPT1udWxsJiZ0eXBlb2YgRS5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKG4uY2FsbGJhY2s9ZnVuY3Rpb24oKXtvRihyLHUsbCksdHlwZW9mIHAhPSJmdW5jdGlvbiImJihvdT09PW51bGw/b3U9bmV3IFNldChbdGhpc10pOm91LmFkZCh0aGlzKSk7dmFyIFM9bC5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKGwudmFsdWUse2NvbXBvbmVudFN0YWNrOlMhPT1udWxsP1M6IiJ9KX0pfWZ1bmN0aW9uIEJJKG4scix1LGwscCl7aWYodS5mbGFnc3w9MzI3NjgsbCE9PW51bGwmJnR5cGVvZiBsPT0ib2JqZWN0IiYmdHlwZW9mIGwudGhlbj09ImZ1bmN0aW9uIil7aWYocj11LmFsdGVybmF0ZSxyIT09bnVsbCYmU3Mocix1LHAsITApLHU9ZmEuY3VycmVudCx1IT09bnVsbCl7c3dpdGNoKHUudGFnKXtjYXNlIDMxOmNhc2UgMTM6cmV0dXJuIElhPT09bnVsbD9QcCgpOnUuYWx0ZXJuYXRlPT09bnVsbCYmTHQ9PT0wJiYoTHQ9MyksdS5mbGFncyY9LTI1Nyx1LmZsYWdzfD02NTUzNix1LmxhbmVzPXAsbD09PWdwP3UuZmxhZ3N8PTE2Mzg0OihyPXUudXBkYXRlUXVldWUscj09PW51bGw/dS51cGRhdGVRdWV1ZT1uZXcgU2V0KFtsXSk6ci5hZGQobCksbTUobixsLHApKSwhMTtjYXNlIDIyOnJldHVybiB1LmZsYWdzfD02NTUzNixsPT09Z3A/dS5mbGFnc3w9MTYzODQ6KHI9dS51cGRhdGVRdWV1ZSxyPT09bnVsbD8ocj17dHJhbnNpdGlvbnM6bnVsbCxtYXJrZXJJbnN0YW5jZXM6bnVsbCxyZXRyeVF1ZXVlOm5ldyBTZXQoW2xdKX0sdS51cGRhdGVRdWV1ZT1yKToodT1yLnJldHJ5UXVldWUsdT09PW51bGw/ci5yZXRyeVF1ZXVlPW5ldyBTZXQoW2xdKTp1LmFkZChsKSksbTUobixsLHApKSwhMX10aHJvdyBFcnJvcihvKDQzNSx1LnRhZykpfXJldHVybiBtNShuLGwscCksUHAoKSwhMX1pZih0dClyZXR1cm4gcj1mYS5jdXJyZW50LHIhPT1udWxsPygoci5mbGFncyY2NTUzNik9PT0wJiYoci5mbGFnc3w9MjU2KSxyLmZsYWdzfD02NTUzNixyLmxhbmVzPXAsbCE9PWxnJiYobj1FcnJvcihvKDQyMikse2NhdXNlOmx9KSx5YyhPYShuLHUpKSkpOihsIT09bGcmJihyPUVycm9yKG8oNDIzKSx7Y2F1c2U6bH0pLHljKE9hKHIsdSkpKSxuPW4uY3VycmVudC5hbHRlcm5hdGUsbi5mbGFnc3w9NjU1MzYscCY9LXAsbi5sYW5lc3w9cCxsPU9hKGwsdSkscD1WZyhuLnN0YXRlTm9kZSxsLHApLHdnKG4scCksTHQhPT00JiYoTHQ9MikpLCExO3ZhciB2PUVycm9yKG8oNTIwKSx7Y2F1c2U6bH0pO2lmKHY9T2Eodix1KSxMYz09PW51bGw/TGM9W3ZdOkxjLnB1c2godiksTHQhPT00JiYoTHQ9Mikscj09PW51bGwpcmV0dXJuITA7bD1PYShsLHUpLHU9cjtkb3tzd2l0Y2godS50YWcpe2Nhc2UgMzpyZXR1cm4gdS5mbGFnc3w9NjU1MzYsbj1wJi1wLHUubGFuZXN8PW4sbj1WZyh1LnN0YXRlTm9kZSxsLG4pLHdnKHUsbiksITE7Y2FzZSAxOmlmKHI9dS50eXBlLHY9dS5zdGF0ZU5vZGUsKHUuZmxhZ3MmMTI4KT09PTAmJih0eXBlb2Ygci5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I9PSJmdW5jdGlvbiJ8fHYhPT1udWxsJiZ0eXBlb2Ygdi5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKG91PT09bnVsbHx8IW91Lmhhcyh2KSkpKXJldHVybiB1LmZsYWdzfD02NTUzNixwJj0tcCx1LmxhbmVzfD1wLHA9c0YocCksbEYocCxuLHUsbCksd2codSxwKSwhMX11PXUucmV0dXJufXdoaWxlKHUhPT1udWxsKTtyZXR1cm4hMX12YXIgR2c9RXJyb3Iobyg0NjEpKSxRdD0hMTtmdW5jdGlvbiBCbihuLHIsdSxsKXtyLmNoaWxkPW49PT1udWxsP3A4KHIsbnVsbCx1LGwpOmNvKHIsbi5jaGlsZCx1LGwpfWZ1bmN0aW9uIGNGKG4scix1LGwscCl7dT11LnJlbmRlcjt2YXIgdj1yLnJlZjtpZigicmVmImluIGwpe3ZhciBFPXt9O2Zvcih2YXIgUyBpbiBsKVMhPT0icmVmIiYmKEVbU109bFtTXSl9ZWxzZSBFPWw7cmV0dXJuIHVvKHIpLGw9QWcobixyLHUsRSx2LHApLFM9U2coKSxuIT09bnVsbCYmIVF0PyhCZyhuLHIscCksbmkobixyLHApKToodHQmJlMmJm9nKHIpLHIuZmxhZ3N8PTEsQm4obixyLGwscCksci5jaGlsZCl9ZnVuY3Rpb24gZEYobixyLHUsbCxwKXtpZihuPT09bnVsbCl7dmFyIHY9dS50eXBlO3JldHVybiB0eXBlb2Ygdj09ImZ1bmN0aW9uIiYmIXJnKHYpJiZ2LmRlZmF1bHRQcm9wcz09PXZvaWQgMCYmdS5jb21wYXJlPT09bnVsbD8oci50YWc9MTUsci50eXBlPXYsZkYobixyLHYsbCxwKSk6KG49ZHAodS50eXBlLG51bGwsbCxyLHIubW9kZSxwKSxuLnJlZj1yLnJlZixuLnJldHVybj1yLHIuY2hpbGQ9bil9aWYodj1uLmNoaWxkLCFKZyhuLHApKXt2YXIgRT12Lm1lbW9pemVkUHJvcHM7aWYodT11LmNvbXBhcmUsdT11IT09bnVsbD91OmhjLHUoRSxsKSYmbi5yZWY9PT1yLnJlZilyZXR1cm4gbmkobixyLHApfXJldHVybiByLmZsYWdzfD0xLG49WHIodixsKSxuLnJlZj1yLnJlZixuLnJldHVybj1yLHIuY2hpbGQ9bn1mdW5jdGlvbiBmRihuLHIsdSxsLHApe2lmKG4hPT1udWxsKXt2YXIgdj1uLm1lbW9pemVkUHJvcHM7aWYoaGModixsKSYmbi5yZWY9PT1yLnJlZilpZihRdD0hMSxyLnBlbmRpbmdQcm9wcz1sPXYsSmcobixwKSkobi5mbGFncyYxMzEwNzIpIT09MCYmKFF0PSEwKTtlbHNlIHJldHVybiByLmxhbmVzPW4ubGFuZXMsbmkobixyLHApfXJldHVybiBZZyhuLHIsdSxsLHApfWZ1bmN0aW9uIHBGKG4scix1LGwpe3ZhciBwPWwuY2hpbGRyZW4sdj1uIT09bnVsbD9uLm1lbW9pemVkU3RhdGU6bnVsbDtpZihuPT09bnVsbCYmci5zdGF0ZU5vZGU9PT1udWxsJiYoci5zdGF0ZU5vZGU9e192aXNpYmlsaXR5OjEsX3BlbmRpbmdNYXJrZXJzOm51bGwsX3JldHJ5Q2FjaGU6bnVsbCxfdHJhbnNpdGlvbnM6bnVsbH0pLGwubW9kZT09PSJoaWRkZW4iKXtpZigoci5mbGFncyYxMjgpIT09MCl7aWYodj12IT09bnVsbD92LmJhc2VMYW5lc3x1OnUsbiE9PW51bGwpe2ZvcihsPXIuY2hpbGQ9bi5jaGlsZCxwPTA7bCE9PW51bGw7KXA9cHxsLmxhbmVzfGwuY2hpbGRMYW5lcyxsPWwuc2libGluZztsPXAmfnZ9ZWxzZSBsPTAsci5jaGlsZD1udWxsO3JldHVybiB2RihuLHIsdix1LGwpfWlmKCh1JjUzNjg3MDkxMikhPT0wKXIubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LG4hPT1udWxsJiZtcChyLHYhPT1udWxsP3YuY2FjaGVQb29sOm51bGwpLHYhPT1udWxsP2g4KHIsdik6RWcoKSxnOChyKTtlbHNlIHJldHVybiBsPXIubGFuZXM9NTM2ODcwOTEyLHZGKG4scix2IT09bnVsbD92LmJhc2VMYW5lc3x1OnUsdSxsKX1lbHNlIHYhPT1udWxsPyhtcChyLHYuY2FjaGVQb29sKSxoOChyLHYpLGF1KHIpLHIubWVtb2l6ZWRTdGF0ZT1udWxsKToobiE9PW51bGwmJm1wKHIsbnVsbCksRWcoKSxhdShyKSk7cmV0dXJuIEJuKG4scixwLHUpLHIuY2hpbGR9ZnVuY3Rpb24gamMobixyKXtyZXR1cm4gbiE9PW51bGwmJm4udGFnPT09MjJ8fHIuc3RhdGVOb2RlIT09bnVsbHx8KHIuc3RhdGVOb2RlPXtfdmlzaWJpbGl0eToxLF9wZW5kaW5nTWFya2VyczpudWxsLF9yZXRyeUNhY2hlOm51bGwsX3RyYW5zaXRpb25zOm51bGx9KSxyLnNpYmxpbmd9ZnVuY3Rpb24gdkYobixyLHUsbCxwKXt2YXIgdj1oZygpO3JldHVybiB2PXY9PT1udWxsP251bGw6e3BhcmVudDpXdC5fY3VycmVudFZhbHVlLHBvb2w6dn0sci5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6dSxjYWNoZVBvb2w6dn0sbiE9PW51bGwmJm1wKHIsbnVsbCksRWcoKSxnOChyKSxuIT09bnVsbCYmU3MobixyLGwsITApLHIuY2hpbGRMYW5lcz1wLG51bGx9ZnVuY3Rpb24ganAobixyKXtyZXR1cm4gcj1PcCh7bW9kZTpyLm1vZGUsY2hpbGRyZW46ci5jaGlsZHJlbn0sbi5tb2RlKSxyLnJlZj1uLnJlZixuLmNoaWxkPXIsci5yZXR1cm49bixyfWZ1bmN0aW9uIG1GKG4scix1KXtyZXR1cm4gY28ocixuLmNoaWxkLG51bGwsdSksbj1qcChyLHIucGVuZGluZ1Byb3BzKSxuLmZsYWdzfD0yLHBhKHIpLHIubWVtb2l6ZWRTdGF0ZT1udWxsLG59ZnVuY3Rpb24ga0kobixyLHUpe3ZhciBsPXIucGVuZGluZ1Byb3BzLHA9KHIuZmxhZ3MmMTI4KSE9PTA7aWYoci5mbGFncyY9LTEyOSxuPT09bnVsbCl7aWYodHQpe2lmKGwubW9kZT09PSJoaWRkZW4iKXJldHVybiBuPWpwKHIsbCksci5sYW5lcz01MzY4NzA5MTIsamMobnVsbCxuKTtpZihDZyhyKSwobj1CdCk/KG49azQobixSYSksbj1uIT09bnVsbCYmbi5kYXRhPT09IiYiP246bnVsbCxuIT09bnVsbCYmKHIubWVtb2l6ZWRTdGF0ZT17ZGVoeWRyYXRlZDpuLHRyZWVDb250ZXh0OlFpIT09bnVsbD97aWQ6RXIsb3ZlcmZsb3c6RnJ9Om51bGwscmV0cnlMYW5lOjUzNjg3MDkxMixoeWRyYXRpb25FcnJvcnM6bnVsbH0sdT1aMihuKSx1LnJldHVybj1yLHIuY2hpbGQ9dSxBbj1yLEJ0PW51bGwpKTpuPW51bGwsbj09PW51bGwpdGhyb3cgJGkocik7cmV0dXJuIHIubGFuZXM9NTM2ODcwOTEyLG51bGx9cmV0dXJuIGpwKHIsbCl9dmFyIHY9bi5tZW1vaXplZFN0YXRlO2lmKHYhPT1udWxsKXt2YXIgRT12LmRlaHlkcmF0ZWQ7aWYoQ2cocikscClpZihyLmZsYWdzJjI1NilyLmZsYWdzJj0tMjU3LHI9bUYobixyLHUpO2Vsc2UgaWYoci5tZW1vaXplZFN0YXRlIT09bnVsbClyLmNoaWxkPW4uY2hpbGQsci5mbGFnc3w9MTI4LHI9bnVsbDtlbHNlIHRocm93IEVycm9yKG8oNTU4KSk7ZWxzZSBpZihRdHx8U3MobixyLHUsITEpLHA9KHUmbi5jaGlsZExhbmVzKSE9PTAsUXR8fHApe2lmKGw9RnQsbCE9PW51bGwmJihFPWljKGwsdSksRSE9PTAmJkUhPT12LnJldHJ5TGFuZSkpdGhyb3cgdi5yZXRyeUxhbmU9RSxubyhuLEUpLGFhKGwsbixFKSxHZztQcCgpLHI9bUYobixyLHUpfWVsc2Ugbj12LnRyZWVDb250ZXh0LEJ0PUxhKEUubmV4dFNpYmxpbmcpLEFuPXIsdHQ9ITAsWGk9bnVsbCxSYT0hMSxuIT09bnVsbCYmdDgocixuKSxyPWpwKHIsbCksci5mbGFnc3w9NDA5NjtyZXR1cm4gcn1yZXR1cm4gbj1YcihuLmNoaWxkLHttb2RlOmwubW9kZSxjaGlsZHJlbjpsLmNoaWxkcmVufSksbi5yZWY9ci5yZWYsci5jaGlsZD1uLG4ucmV0dXJuPXIsbn1mdW5jdGlvbiBNcChuLHIpe3ZhciB1PXIucmVmO2lmKHU9PT1udWxsKW4hPT1udWxsJiZuLnJlZiE9PW51bGwmJihyLmZsYWdzfD00MTk0ODE2KTtlbHNle2lmKHR5cGVvZiB1IT0iZnVuY3Rpb24iJiZ0eXBlb2YgdSE9Im9iamVjdCIpdGhyb3cgRXJyb3IobygyODQpKTsobj09PW51bGx8fG4ucmVmIT09dSkmJihyLmZsYWdzfD00MTk0ODE2KX19ZnVuY3Rpb24gWWcobixyLHUsbCxwKXtyZXR1cm4gdW8ociksdT1BZyhuLHIsdSxsLHZvaWQgMCxwKSxsPVNnKCksbiE9PW51bGwmJiFRdD8oQmcobixyLHApLG5pKG4scixwKSk6KHR0JiZsJiZvZyhyKSxyLmZsYWdzfD0xLEJuKG4scix1LHApLHIuY2hpbGQpfWZ1bmN0aW9uIGhGKG4scix1LGwscCx2KXtyZXR1cm4gdW8ociksci51cGRhdGVRdWV1ZT1udWxsLHU9eTgocixsLHUscCksYjgobiksbD1TZygpLG4hPT1udWxsJiYhUXQ/KEJnKG4scix2KSxuaShuLHIsdikpOih0dCYmbCYmb2cociksci5mbGFnc3w9MSxCbihuLHIsdSx2KSxyLmNoaWxkKX1mdW5jdGlvbiBnRihuLHIsdSxsLHApe2lmKHVvKHIpLHIuc3RhdGVOb2RlPT09bnVsbCl7dmFyIHY9RnMsRT11LmNvbnRleHRUeXBlO3R5cGVvZiBFPT0ib2JqZWN0IiYmRSE9PW51bGwmJih2PVNuKEUpKSx2PW5ldyB1KGwsdiksci5tZW1vaXplZFN0YXRlPXYuc3RhdGUhPT1udWxsJiZ2LnN0YXRlIT09dm9pZCAwP3Yuc3RhdGU6bnVsbCx2LnVwZGF0ZXI9VWcsci5zdGF0ZU5vZGU9dix2Ll9yZWFjdEludGVybmFscz1yLHY9ci5zdGF0ZU5vZGUsdi5wcm9wcz1sLHYuc3RhdGU9ci5tZW1vaXplZFN0YXRlLHYucmVmcz17fSxiZyhyKSxFPXUuY29udGV4dFR5cGUsdi5jb250ZXh0PXR5cGVvZiBFPT0ib2JqZWN0IiYmRSE9PW51bGw/U24oRSk6RnMsdi5zdGF0ZT1yLm1lbW9pemVkU3RhdGUsRT11LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyx0eXBlb2YgRT09ImZ1bmN0aW9uIiYmKFBnKHIsdSxFLGwpLHYuc3RhdGU9ci5tZW1vaXplZFN0YXRlKSx0eXBlb2YgdS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PSJmdW5jdGlvbiJ8fHR5cGVvZiB2LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24ifHx0eXBlb2Ygdi5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24iJiZ0eXBlb2Ygdi5jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiJ8fChFPXYuc3RhdGUsdHlwZW9mIHYuY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZ2LmNvbXBvbmVudFdpbGxNb3VudCgpLHR5cGVvZiB2LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJnYuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLEUhPT12LnN0YXRlJiZVZy5lbnF1ZXVlUmVwbGFjZVN0YXRlKHYsdi5zdGF0ZSxudWxsKSxBYyhyLGwsdixwKSxEYygpLHYuc3RhdGU9ci5tZW1vaXplZFN0YXRlKSx0eXBlb2Ygdi5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIiYmKHIuZmxhZ3N8PTQxOTQzMDgpLGw9ITB9ZWxzZSBpZihuPT09bnVsbCl7dj1yLnN0YXRlTm9kZTt2YXIgUz1yLm1lbW9pemVkUHJvcHMsTj1wbyh1LFMpO3YucHJvcHM9Tjt2YXIgRz12LmNvbnRleHQsbmU9dS5jb250ZXh0VHlwZTtFPUZzLHR5cGVvZiBuZT09Im9iamVjdCImJm5lIT09bnVsbCYmKEU9U24obmUpKTt2YXIgb2U9dS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7bmU9dHlwZW9mIG9lPT0iZnVuY3Rpb24ifHx0eXBlb2Ygdi5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uIixTPXIucGVuZGluZ1Byb3BzIT09UyxuZXx8dHlwZW9mIHYuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiImJnR5cGVvZiB2LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiJ8fChTfHxHIT09RSkmJmFGKHIsdixsLEUpLEppPSExO3ZhciBLPXIubWVtb2l6ZWRTdGF0ZTt2LnN0YXRlPUssQWMocixsLHYscCksRGMoKSxHPXIubWVtb2l6ZWRTdGF0ZSxTfHxLIT09R3x8Smk/KHR5cGVvZiBvZT09ImZ1bmN0aW9uIiYmKFBnKHIsdSxvZSxsKSxHPXIubWVtb2l6ZWRTdGF0ZSksKE49Sml8fG5GKHIsdSxOLGwsSyxHLEUpKT8obmV8fHR5cGVvZiB2LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiImJnR5cGVvZiB2LmNvbXBvbmVudFdpbGxNb3VudCE9ImZ1bmN0aW9uInx8KHR5cGVvZiB2LmNvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmdi5jb21wb25lbnRXaWxsTW91bnQoKSx0eXBlb2Ygdi5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZ2LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksdHlwZW9mIHYuY29tcG9uZW50RGlkTW91bnQ9PSJmdW5jdGlvbiImJihyLmZsYWdzfD00MTk0MzA4KSk6KHR5cGVvZiB2LmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYoci5mbGFnc3w9NDE5NDMwOCksci5tZW1vaXplZFByb3BzPWwsci5tZW1vaXplZFN0YXRlPUcpLHYucHJvcHM9bCx2LnN0YXRlPUcsdi5jb250ZXh0PUUsbD1OKToodHlwZW9mIHYuY29tcG9uZW50RGlkTW91bnQ9PSJmdW5jdGlvbiImJihyLmZsYWdzfD00MTk0MzA4KSxsPSExKX1lbHNle3Y9ci5zdGF0ZU5vZGUseWcobixyKSxFPXIubWVtb2l6ZWRQcm9wcyxuZT1wbyh1LEUpLHYucHJvcHM9bmUsb2U9ci5wZW5kaW5nUHJvcHMsSz12LmNvbnRleHQsRz11LmNvbnRleHRUeXBlLE49RnMsdHlwZW9mIEc9PSJvYmplY3QiJiZHIT09bnVsbCYmKE49U24oRykpLFM9dS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsKEc9dHlwZW9mIFM9PSJmdW5jdGlvbiJ8fHR5cGVvZiB2LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iKXx8dHlwZW9mIHYuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiImJnR5cGVvZiB2LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiJ8fChFIT09b2V8fEshPT1OKSYmYUYocix2LGwsTiksSmk9ITEsSz1yLm1lbW9pemVkU3RhdGUsdi5zdGF0ZT1LLEFjKHIsbCx2LHApLERjKCk7dmFyICQ9ci5tZW1vaXplZFN0YXRlO0UhPT1vZXx8SyE9PSR8fEppfHxuIT09bnVsbCYmbi5kZXBlbmRlbmNpZXMhPT1udWxsJiZwcChuLmRlcGVuZGVuY2llcyk/KHR5cGVvZiBTPT0iZnVuY3Rpb24iJiYoUGcocix1LFMsbCksJD1yLm1lbW9pemVkU3RhdGUpLChuZT1KaXx8bkYocix1LG5lLGwsSywkLE4pfHxuIT09bnVsbCYmbi5kZXBlbmRlbmNpZXMhPT1udWxsJiZwcChuLmRlcGVuZGVuY2llcykpPyhHfHx0eXBlb2Ygdi5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSE9ImZ1bmN0aW9uIiYmdHlwZW9mIHYuY29tcG9uZW50V2lsbFVwZGF0ZSE9ImZ1bmN0aW9uInx8KHR5cGVvZiB2LmNvbXBvbmVudFdpbGxVcGRhdGU9PSJmdW5jdGlvbiImJnYuY29tcG9uZW50V2lsbFVwZGF0ZShsLCQsTiksdHlwZW9mIHYuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGU9PSJmdW5jdGlvbiImJnYuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUobCwkLE4pKSx0eXBlb2Ygdi5jb21wb25lbnREaWRVcGRhdGU9PSJmdW5jdGlvbiImJihyLmZsYWdzfD00KSx0eXBlb2Ygdi5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uIiYmKHIuZmxhZ3N8PTEwMjQpKToodHlwZW9mIHYuY29tcG9uZW50RGlkVXBkYXRlIT0iZnVuY3Rpb24ifHxFPT09bi5tZW1vaXplZFByb3BzJiZLPT09bi5tZW1vaXplZFN0YXRlfHwoci5mbGFnc3w9NCksdHlwZW9mIHYuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUhPSJmdW5jdGlvbiJ8fEU9PT1uLm1lbW9pemVkUHJvcHMmJks9PT1uLm1lbW9pemVkU3RhdGV8fChyLmZsYWdzfD0xMDI0KSxyLm1lbW9pemVkUHJvcHM9bCxyLm1lbW9pemVkU3RhdGU9JCksdi5wcm9wcz1sLHYuc3RhdGU9JCx2LmNvbnRleHQ9TixsPW5lKToodHlwZW9mIHYuY29tcG9uZW50RGlkVXBkYXRlIT0iZnVuY3Rpb24ifHxFPT09bi5tZW1vaXplZFByb3BzJiZLPT09bi5tZW1vaXplZFN0YXRlfHwoci5mbGFnc3w9NCksdHlwZW9mIHYuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUhPSJmdW5jdGlvbiJ8fEU9PT1uLm1lbW9pemVkUHJvcHMmJks9PT1uLm1lbW9pemVkU3RhdGV8fChyLmZsYWdzfD0xMDI0KSxsPSExKX1yZXR1cm4gdj1sLE1wKG4sciksbD0oci5mbGFncyYxMjgpIT09MCx2fHxsPyh2PXIuc3RhdGVOb2RlLHU9bCYmdHlwZW9mIHUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIT0iZnVuY3Rpb24iP251bGw6di5yZW5kZXIoKSxyLmZsYWdzfD0xLG4hPT1udWxsJiZsPyhyLmNoaWxkPWNvKHIsbi5jaGlsZCxudWxsLHApLHIuY2hpbGQ9Y28ocixudWxsLHUscCkpOkJuKG4scix1LHApLHIubWVtb2l6ZWRTdGF0ZT12LnN0YXRlLG49ci5jaGlsZCk6bj1uaShuLHIscCksbn1mdW5jdGlvbiBiRihuLHIsdSxsKXtyZXR1cm4gcm8oKSxyLmZsYWdzfD0yNTYsQm4obixyLHUsbCksci5jaGlsZH12YXIgV2c9e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowLGh5ZHJhdGlvbkVycm9yczpudWxsfTtmdW5jdGlvbiBLZyhuKXtyZXR1cm57YmFzZUxhbmVzOm4sY2FjaGVQb29sOm84KCl9fWZ1bmN0aW9uIFFnKG4scix1KXtyZXR1cm4gbj1uIT09bnVsbD9uLmNoaWxkTGFuZXMmfnU6MCxyJiYobnw9bWEpLG59ZnVuY3Rpb24geUYobixyLHUpe3ZhciBsPXIucGVuZGluZ1Byb3BzLHA9ITEsdj0oci5mbGFncyYxMjgpIT09MCxFO2lmKChFPXYpfHwoRT1uIT09bnVsbCYmbi5tZW1vaXplZFN0YXRlPT09bnVsbD8hMTooVXQuY3VycmVudCYyKSE9PTApLEUmJihwPSEwLHIuZmxhZ3MmPS0xMjkpLEU9KHIuZmxhZ3MmMzIpIT09MCxyLmZsYWdzJj0tMzMsbj09PW51bGwpe2lmKHR0KXtpZihwP251KHIpOmF1KHIpLChuPUJ0KT8obj1rNChuLFJhKSxuPW4hPT1udWxsJiZuLmRhdGEhPT0iJiI/bjpudWxsLG4hPT1udWxsJiYoci5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6UWkhPT1udWxsP3tpZDpFcixvdmVyZmxvdzpGcn06bnVsbCxyZXRyeUxhbmU6NTM2ODcwOTEyLGh5ZHJhdGlvbkVycm9yczpudWxsfSx1PVoyKG4pLHUucmV0dXJuPXIsci5jaGlsZD11LEFuPXIsQnQ9bnVsbCkpOm49bnVsbCxuPT09bnVsbCl0aHJvdyAkaShyKTtyZXR1cm4gazUobik/ci5sYW5lcz0zMjpyLmxhbmVzPTUzNjg3MDkxMixudWxsfXZhciBTPWwuY2hpbGRyZW47cmV0dXJuIGw9bC5mYWxsYmFjayxwPyhhdShyKSxwPXIubW9kZSxTPU9wKHttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOlN9LHApLGw9YW8obCxwLHUsbnVsbCksUy5yZXR1cm49cixsLnJldHVybj1yLFMuc2libGluZz1sLHIuY2hpbGQ9UyxsPXIuY2hpbGQsbC5tZW1vaXplZFN0YXRlPUtnKHUpLGwuY2hpbGRMYW5lcz1RZyhuLEUsdSksci5tZW1vaXplZFN0YXRlPVdnLGpjKG51bGwsbCkpOihudShyKSxYZyhyLFMpKX12YXIgTj1uLm1lbW9pemVkU3RhdGU7aWYoTiE9PW51bGwmJihTPU4uZGVoeWRyYXRlZCxTIT09bnVsbCkpe2lmKHYpci5mbGFncyYyNTY/KG51KHIpLHIuZmxhZ3MmPS0yNTcscj0kZyhuLHIsdSkpOnIubWVtb2l6ZWRTdGF0ZSE9PW51bGw/KGF1KHIpLHIuY2hpbGQ9bi5jaGlsZCxyLmZsYWdzfD0xMjgscj1udWxsKTooYXUociksUz1sLmZhbGxiYWNrLHA9ci5tb2RlLGw9T3Aoe21vZGU6InZpc2libGUiLGNoaWxkcmVuOmwuY2hpbGRyZW59LHApLFM9YW8oUyxwLHUsbnVsbCksUy5mbGFnc3w9MixsLnJldHVybj1yLFMucmV0dXJuPXIsbC5zaWJsaW5nPVMsci5jaGlsZD1sLGNvKHIsbi5jaGlsZCxudWxsLHUpLGw9ci5jaGlsZCxsLm1lbW9pemVkU3RhdGU9S2codSksbC5jaGlsZExhbmVzPVFnKG4sRSx1KSxyLm1lbW9pemVkU3RhdGU9V2cscj1qYyhudWxsLGwpKTtlbHNlIGlmKG51KHIpLGs1KFMpKXtpZihFPVMubmV4dFNpYmxpbmcmJlMubmV4dFNpYmxpbmcuZGF0YXNldCxFKXZhciBHPUUuZGdzdDtFPUcsbD1FcnJvcihvKDQxOSkpLGwuc3RhY2s9IiIsbC5kaWdlc3Q9RSx5Yyh7dmFsdWU6bCxzb3VyY2U6bnVsbCxzdGFjazpudWxsfSkscj0kZyhuLHIsdSl9ZWxzZSBpZihRdHx8U3MobixyLHUsITEpLEU9KHUmbi5jaGlsZExhbmVzKSE9PTAsUXR8fEUpe2lmKEU9RnQsRSE9PW51bGwmJihsPWljKEUsdSksbCE9PTAmJmwhPT1OLnJldHJ5TGFuZSkpdGhyb3cgTi5yZXRyeUxhbmU9bCxubyhuLGwpLGFhKEUsbixsKSxHZztCNShTKXx8UHAoKSxyPSRnKG4scix1KX1lbHNlIEI1KFMpPyhyLmZsYWdzfD0xOTIsci5jaGlsZD1uLmNoaWxkLHI9bnVsbCk6KG49Ti50cmVlQ29udGV4dCxCdD1MYShTLm5leHRTaWJsaW5nKSxBbj1yLHR0PSEwLFhpPW51bGwsUmE9ITEsbiE9PW51bGwmJnQ4KHIsbikscj1YZyhyLGwuY2hpbGRyZW4pLHIuZmxhZ3N8PTQwOTYpO3JldHVybiByfXJldHVybiBwPyhhdShyKSxTPWwuZmFsbGJhY2sscD1yLm1vZGUsTj1uLmNoaWxkLEc9Ti5zaWJsaW5nLGw9WHIoTix7bW9kZToiaGlkZGVuIixjaGlsZHJlbjpsLmNoaWxkcmVufSksbC5zdWJ0cmVlRmxhZ3M9Ti5zdWJ0cmVlRmxhZ3MmNjUwMTE3MTIsRyE9PW51bGw/Uz1YcihHLFMpOihTPWFvKFMscCx1LG51bGwpLFMuZmxhZ3N8PTIpLFMucmV0dXJuPXIsbC5yZXR1cm49cixsLnNpYmxpbmc9UyxyLmNoaWxkPWwsamMobnVsbCxsKSxsPXIuY2hpbGQsUz1uLmNoaWxkLm1lbW9pemVkU3RhdGUsUz09PW51bGw/Uz1LZyh1KToocD1TLmNhY2hlUG9vbCxwIT09bnVsbD8oTj1XdC5fY3VycmVudFZhbHVlLHA9cC5wYXJlbnQhPT1OP3twYXJlbnQ6Tixwb29sOk59OnApOnA9bzgoKSxTPXtiYXNlTGFuZXM6Uy5iYXNlTGFuZXN8dSxjYWNoZVBvb2w6cH0pLGwubWVtb2l6ZWRTdGF0ZT1TLGwuY2hpbGRMYW5lcz1RZyhuLEUsdSksci5tZW1vaXplZFN0YXRlPVdnLGpjKG4uY2hpbGQsbCkpOihudShyKSx1PW4uY2hpbGQsbj11LnNpYmxpbmcsdT1Ycih1LHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksdS5yZXR1cm49cix1LnNpYmxpbmc9bnVsbCxuIT09bnVsbCYmKEU9ci5kZWxldGlvbnMsRT09PW51bGw/KHIuZGVsZXRpb25zPVtuXSxyLmZsYWdzfD0xNik6RS5wdXNoKG4pKSxyLmNoaWxkPXUsci5tZW1vaXplZFN0YXRlPW51bGwsdSl9ZnVuY3Rpb24gWGcobixyKXtyZXR1cm4gcj1PcCh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46cn0sbi5tb2RlKSxyLnJldHVybj1uLG4uY2hpbGQ9cn1mdW5jdGlvbiBPcChuLHIpe3JldHVybiBuPWRhKDIyLG4sbnVsbCxyKSxuLmxhbmVzPTAsbn1mdW5jdGlvbiAkZyhuLHIsdSl7cmV0dXJuIGNvKHIsbi5jaGlsZCxudWxsLHUpLG49WGcocixyLnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksbi5mbGFnc3w9MixyLm1lbW9pemVkU3RhdGU9bnVsbCxufWZ1bmN0aW9uIHdGKG4scix1KXtuLmxhbmVzfD1yO3ZhciBsPW4uYWx0ZXJuYXRlO2whPT1udWxsJiYobC5sYW5lc3w9ciksZmcobi5yZXR1cm4scix1KX1mdW5jdGlvbiBaZyhuLHIsdSxsLHAsdil7dmFyIEU9bi5tZW1vaXplZFN0YXRlO0U9PT1udWxsP24ubWVtb2l6ZWRTdGF0ZT17aXNCYWNrd2FyZHM6cixyZW5kZXJpbmc6bnVsbCxyZW5kZXJpbmdTdGFydFRpbWU6MCxsYXN0OmwsdGFpbDp1LHRhaWxNb2RlOnAsdHJlZUZvcmtDb3VudDp2fTooRS5pc0JhY2t3YXJkcz1yLEUucmVuZGVyaW5nPW51bGwsRS5yZW5kZXJpbmdTdGFydFRpbWU9MCxFLmxhc3Q9bCxFLnRhaWw9dSxFLnRhaWxNb2RlPXAsRS50cmVlRm9ya0NvdW50PXYpfWZ1bmN0aW9uIHhGKG4scix1KXt2YXIgbD1yLnBlbmRpbmdQcm9wcyxwPWwucmV2ZWFsT3JkZXIsdj1sLnRhaWw7bD1sLmNoaWxkcmVuO3ZhciBFPVV0LmN1cnJlbnQsUz0oRSYyKSE9PTA7aWYoUz8oRT1FJjF8MixyLmZsYWdzfD0xMjgpOkUmPTEsc2UoVXQsRSksQm4obixyLGwsdSksbD10dD9iYzowLCFTJiZuIT09bnVsbCYmKG4uZmxhZ3MmMTI4KSE9PTApZTpmb3Iobj1yLmNoaWxkO24hPT1udWxsOyl7aWYobi50YWc9PT0xMyluLm1lbW9pemVkU3RhdGUhPT1udWxsJiZ3RihuLHUscik7ZWxzZSBpZihuLnRhZz09PTE5KXdGKG4sdSxyKTtlbHNlIGlmKG4uY2hpbGQhPT1udWxsKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09cilicmVhayBlO2Zvcig7bi5zaWJsaW5nPT09bnVsbDspe2lmKG4ucmV0dXJuPT09bnVsbHx8bi5yZXR1cm49PT1yKWJyZWFrIGU7bj1uLnJldHVybn1uLnNpYmxpbmcucmV0dXJuPW4ucmV0dXJuLG49bi5zaWJsaW5nfXN3aXRjaChwKXtjYXNlImZvcndhcmRzIjpmb3IodT1yLmNoaWxkLHA9bnVsbDt1IT09bnVsbDspbj11LmFsdGVybmF0ZSxuIT09bnVsbCYmeHAobik9PT1udWxsJiYocD11KSx1PXUuc2libGluZzt1PXAsdT09PW51bGw/KHA9ci5jaGlsZCxyLmNoaWxkPW51bGwpOihwPXUuc2libGluZyx1LnNpYmxpbmc9bnVsbCksWmcociwhMSxwLHUsdixsKTticmVhaztjYXNlImJhY2t3YXJkcyI6Y2FzZSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzIjpmb3IodT1udWxsLHA9ci5jaGlsZCxyLmNoaWxkPW51bGw7cCE9PW51bGw7KXtpZihuPXAuYWx0ZXJuYXRlLG4hPT1udWxsJiZ4cChuKT09PW51bGwpe3IuY2hpbGQ9cDticmVha31uPXAuc2libGluZyxwLnNpYmxpbmc9dSx1PXAscD1ufVpnKHIsITAsdSxudWxsLHYsbCk7YnJlYWs7Y2FzZSJ0b2dldGhlciI6WmcociwhMSxudWxsLG51bGwsdm9pZCAwLGwpO2JyZWFrO2RlZmF1bHQ6ci5tZW1vaXplZFN0YXRlPW51bGx9cmV0dXJuIHIuY2hpbGR9ZnVuY3Rpb24gbmkobixyLHUpe2lmKG4hPT1udWxsJiYoci5kZXBlbmRlbmNpZXM9bi5kZXBlbmRlbmNpZXMpLHV1fD1yLmxhbmVzLCh1JnIuY2hpbGRMYW5lcyk9PT0wKWlmKG4hPT1udWxsKXtpZihTcyhuLHIsdSwhMSksKHUmci5jaGlsZExhbmVzKT09PTApcmV0dXJuIG51bGx9ZWxzZSByZXR1cm4gbnVsbDtpZihuIT09bnVsbCYmci5jaGlsZCE9PW4uY2hpbGQpdGhyb3cgRXJyb3IobygxNTMpKTtpZihyLmNoaWxkIT09bnVsbCl7Zm9yKG49ci5jaGlsZCx1PVhyKG4sbi5wZW5kaW5nUHJvcHMpLHIuY2hpbGQ9dSx1LnJldHVybj1yO24uc2libGluZyE9PW51bGw7KW49bi5zaWJsaW5nLHU9dS5zaWJsaW5nPVhyKG4sbi5wZW5kaW5nUHJvcHMpLHUucmV0dXJuPXI7dS5zaWJsaW5nPW51bGx9cmV0dXJuIHIuY2hpbGR9ZnVuY3Rpb24gSmcobixyKXtyZXR1cm4obi5sYW5lcyZyKSE9PTA/ITA6KG49bi5kZXBlbmRlbmNpZXMsISEobiE9PW51bGwmJnBwKG4pKSl9ZnVuY3Rpb24gVEkobixyLHUpe3N3aXRjaChyLnRhZyl7Y2FzZSAzOnhlKHIsci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksWmkocixXdCxuLm1lbW9pemVkU3RhdGUuY2FjaGUpLHJvKCk7YnJlYWs7Y2FzZSAyNzpjYXNlIDU6RmUocik7YnJlYWs7Y2FzZSA0OnhlKHIsci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7YnJlYWs7Y2FzZSAxMDpaaShyLHIudHlwZSxyLm1lbW9pemVkUHJvcHMudmFsdWUpO2JyZWFrO2Nhc2UgMzE6aWYoci5tZW1vaXplZFN0YXRlIT09bnVsbClyZXR1cm4gci5mbGFnc3w9MTI4LENnKHIpLG51bGw7YnJlYWs7Y2FzZSAxMzp2YXIgbD1yLm1lbW9pemVkU3RhdGU7aWYobCE9PW51bGwpcmV0dXJuIGwuZGVoeWRyYXRlZCE9PW51bGw/KG51KHIpLHIuZmxhZ3N8PTEyOCxudWxsKToodSZyLmNoaWxkLmNoaWxkTGFuZXMpIT09MD95RihuLHIsdSk6KG51KHIpLG49bmkobixyLHUpLG4hPT1udWxsP24uc2libGluZzpudWxsKTtudShyKTticmVhaztjYXNlIDE5OnZhciBwPShuLmZsYWdzJjEyOCkhPT0wO2lmKGw9KHUmci5jaGlsZExhbmVzKSE9PTAsbHx8KFNzKG4scix1LCExKSxsPSh1JnIuY2hpbGRMYW5lcykhPT0wKSxwKXtpZihsKXJldHVybiB4RihuLHIsdSk7ci5mbGFnc3w9MTI4fWlmKHA9ci5tZW1vaXplZFN0YXRlLHAhPT1udWxsJiYocC5yZW5kZXJpbmc9bnVsbCxwLnRhaWw9bnVsbCxwLmxhc3RFZmZlY3Q9bnVsbCksc2UoVXQsVXQuY3VycmVudCksbClicmVhaztyZXR1cm4gbnVsbDtjYXNlIDIyOnJldHVybiByLmxhbmVzPTAscEYobixyLHUsci5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6WmkocixXdCxuLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBuaShuLHIsdSl9ZnVuY3Rpb24gRUYobixyLHUpe2lmKG4hPT1udWxsKWlmKG4ubWVtb2l6ZWRQcm9wcyE9PXIucGVuZGluZ1Byb3BzKVF0PSEwO2Vsc2V7aWYoIUpnKG4sdSkmJihyLmZsYWdzJjEyOCk9PT0wKXJldHVybiBRdD0hMSxUSShuLHIsdSk7UXQ9KG4uZmxhZ3MmMTMxMDcyKSE9PTB9ZWxzZSBRdD0hMSx0dCYmKHIuZmxhZ3MmMTA0ODU3NikhPT0wJiZlOChyLGJjLHIuaW5kZXgpO3N3aXRjaChyLmxhbmVzPTAsci50YWcpe2Nhc2UgMTY6ZTp7dmFyIGw9ci5wZW5kaW5nUHJvcHM7aWYobj1zbyhyLmVsZW1lbnRUeXBlKSxyLnR5cGU9bix0eXBlb2Ygbj09ImZ1bmN0aW9uIilyZyhuKT8obD1wbyhuLGwpLHIudGFnPTEscj1nRihudWxsLHIsbixsLHUpKTooci50YWc9MCxyPVlnKG51bGwscixuLGwsdSkpO2Vsc2V7aWYobiE9bnVsbCl7dmFyIHA9bi4kJHR5cGVvZjtpZihwPT09ayl7ci50YWc9MTEscj1jRihudWxsLHIsbixsLHUpO2JyZWFrIGV9ZWxzZSBpZihwPT09Tyl7ci50YWc9MTQscj1kRihudWxsLHIsbixsLHUpO2JyZWFrIGV9fXRocm93IHI9dGUobil8fG4sRXJyb3IobygzMDYsciwiIikpfX1yZXR1cm4gcjtjYXNlIDA6cmV0dXJuIFlnKG4scixyLnR5cGUsci5wZW5kaW5nUHJvcHMsdSk7Y2FzZSAxOnJldHVybiBsPXIudHlwZSxwPXBvKGwsci5wZW5kaW5nUHJvcHMpLGdGKG4scixsLHAsdSk7Y2FzZSAzOmU6e2lmKHhlKHIsci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbj09PW51bGwpdGhyb3cgRXJyb3IobygzODcpKTtsPXIucGVuZGluZ1Byb3BzO3ZhciB2PXIubWVtb2l6ZWRTdGF0ZTtwPXYuZWxlbWVudCx5ZyhuLHIpLEFjKHIsbCxudWxsLHUpO3ZhciBFPXIubWVtb2l6ZWRTdGF0ZTtpZihsPUUuY2FjaGUsWmkocixXdCxsKSxsIT09di5jYWNoZSYmcGcocixbV3RdLHUsITApLERjKCksbD1FLmVsZW1lbnQsdi5pc0RlaHlkcmF0ZWQpaWYodj17ZWxlbWVudDpsLGlzRGVoeWRyYXRlZDohMSxjYWNoZTpFLmNhY2hlfSxyLnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT12LHIubWVtb2l6ZWRTdGF0ZT12LHIuZmxhZ3MmMjU2KXtyPWJGKG4scixsLHUpO2JyZWFrIGV9ZWxzZSBpZihsIT09cCl7cD1PYShFcnJvcihvKDQyNCkpLHIpLHljKHApLHI9YkYobixyLGwsdSk7YnJlYWsgZX1lbHNlIGZvcihuPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbi5ub2RlVHlwZT09PTk/bj1uLmJvZHk6bj1uLm5vZGVOYW1lPT09IkhUTUwiP24ub3duZXJEb2N1bWVudC5ib2R5Om4sQnQ9TGEobi5maXJzdENoaWxkKSxBbj1yLHR0PSEwLFhpPW51bGwsUmE9ITAsdT1wOChyLG51bGwsbCx1KSxyLmNoaWxkPXU7dTspdS5mbGFncz11LmZsYWdzJi0zfDQwOTYsdT11LnNpYmxpbmc7ZWxzZXtpZihybygpLGw9PT1wKXtyPW5pKG4scix1KTticmVhayBlfUJuKG4scixsLHUpfXI9ci5jaGlsZH1yZXR1cm4gcjtjYXNlIDI2OnJldHVybiBNcChuLHIpLG49PT1udWxsPyh1PU40KHIudHlwZSxudWxsLHIucGVuZGluZ1Byb3BzLG51bGwpKT9yLm1lbW9pemVkU3RhdGU9dTp0dHx8KHU9ci50eXBlLG49ci5wZW5kaW5nUHJvcHMsbD0kcChKLmN1cnJlbnQpLmNyZWF0ZUVsZW1lbnQodSksbFtFZV09cixsW1JlXT1uLGtuKGwsdSxuKSxnbihsKSxyLnN0YXRlTm9kZT1sKTpyLm1lbW9pemVkU3RhdGU9TjQoci50eXBlLG4ubWVtb2l6ZWRQcm9wcyxyLnBlbmRpbmdQcm9wcyxuLm1lbW9pemVkU3RhdGUpLG51bGw7Y2FzZSAyNzpyZXR1cm4gRmUociksbj09PW51bGwmJnR0JiYobD1yLnN0YXRlTm9kZT1NNChyLnR5cGUsci5wZW5kaW5nUHJvcHMsSi5jdXJyZW50KSxBbj1yLFJhPSEwLHA9QnQsZHUoci50eXBlKT8oVDU9cCxCdD1MYShsLmZpcnN0Q2hpbGQpKTpCdD1wKSxCbihuLHIsci5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdSksTXAobixyKSxuPT09bnVsbCYmKHIuZmxhZ3N8PTQxOTQzMDQpLHIuY2hpbGQ7Y2FzZSA1OnJldHVybiBuPT09bnVsbCYmdHQmJigocD1sPUJ0KSYmKGw9ckwobCxyLnR5cGUsci5wZW5kaW5nUHJvcHMsUmEpLGwhPT1udWxsPyhyLnN0YXRlTm9kZT1sLEFuPXIsQnQ9TGEobC5maXJzdENoaWxkKSxSYT0hMSxwPSEwKTpwPSExKSxwfHwkaShyKSksRmUocikscD1yLnR5cGUsdj1yLnBlbmRpbmdQcm9wcyxFPW4hPT1udWxsP24ubWVtb2l6ZWRQcm9wczpudWxsLGw9di5jaGlsZHJlbixENShwLHYpP2w9bnVsbDpFIT09bnVsbCYmRDUocCxFKSYmKHIuZmxhZ3N8PTMyKSxyLm1lbW9pemVkU3RhdGUhPT1udWxsJiYocD1BZyhuLHIseEksbnVsbCxudWxsLHUpLFljLl9jdXJyZW50VmFsdWU9cCksTXAobixyKSxCbihuLHIsbCx1KSxyLmNoaWxkO2Nhc2UgNjpyZXR1cm4gbj09PW51bGwmJnR0JiYoKG49dT1CdCkmJih1PWlMKHUsci5wZW5kaW5nUHJvcHMsUmEpLHUhPT1udWxsPyhyLnN0YXRlTm9kZT11LEFuPXIsQnQ9bnVsbCxuPSEwKTpuPSExKSxufHwkaShyKSksbnVsbDtjYXNlIDEzOnJldHVybiB5RihuLHIsdSk7Y2FzZSA0OnJldHVybiB4ZShyLHIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLGw9ci5wZW5kaW5nUHJvcHMsbj09PW51bGw/ci5jaGlsZD1jbyhyLG51bGwsbCx1KTpCbihuLHIsbCx1KSxyLmNoaWxkO2Nhc2UgMTE6cmV0dXJuIGNGKG4scixyLnR5cGUsci5wZW5kaW5nUHJvcHMsdSk7Y2FzZSA3OnJldHVybiBCbihuLHIsci5wZW5kaW5nUHJvcHMsdSksci5jaGlsZDtjYXNlIDg6cmV0dXJuIEJuKG4scixyLnBlbmRpbmdQcm9wcy5jaGlsZHJlbix1KSxyLmNoaWxkO2Nhc2UgMTI6cmV0dXJuIEJuKG4scixyLnBlbmRpbmdQcm9wcy5jaGlsZHJlbix1KSxyLmNoaWxkO2Nhc2UgMTA6cmV0dXJuIGw9ci5wZW5kaW5nUHJvcHMsWmkocixyLnR5cGUsbC52YWx1ZSksQm4obixyLGwuY2hpbGRyZW4sdSksci5jaGlsZDtjYXNlIDk6cmV0dXJuIHA9ci50eXBlLl9jb250ZXh0LGw9ci5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdW8ocikscD1TbihwKSxsPWwocCksci5mbGFnc3w9MSxCbihuLHIsbCx1KSxyLmNoaWxkO2Nhc2UgMTQ6cmV0dXJuIGRGKG4scixyLnR5cGUsci5wZW5kaW5nUHJvcHMsdSk7Y2FzZSAxNTpyZXR1cm4gZkYobixyLHIudHlwZSxyLnBlbmRpbmdQcm9wcyx1KTtjYXNlIDE5OnJldHVybiB4RihuLHIsdSk7Y2FzZSAzMTpyZXR1cm4ga0kobixyLHUpO2Nhc2UgMjI6cmV0dXJuIHBGKG4scix1LHIucGVuZGluZ1Byb3BzKTtjYXNlIDI0OnJldHVybiB1byhyKSxsPVNuKFd0KSxuPT09bnVsbD8ocD1oZygpLHA9PT1udWxsJiYocD1GdCx2PXZnKCkscC5wb29sZWRDYWNoZT12LHYucmVmQ291bnQrKyx2IT09bnVsbCYmKHAucG9vbGVkQ2FjaGVMYW5lc3w9dSkscD12KSxyLm1lbW9pemVkU3RhdGU9e3BhcmVudDpsLGNhY2hlOnB9LGJnKHIpLFppKHIsV3QscCkpOigobi5sYW5lcyZ1KSE9PTAmJih5ZyhuLHIpLEFjKHIsbnVsbCxudWxsLHUpLERjKCkpLHA9bi5tZW1vaXplZFN0YXRlLHY9ci5tZW1vaXplZFN0YXRlLHAucGFyZW50IT09bD8ocD17cGFyZW50OmwsY2FjaGU6bH0sci5tZW1vaXplZFN0YXRlPXAsci5sYW5lcz09PTAmJihyLm1lbW9pemVkU3RhdGU9ci51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9cCksWmkocixXdCxsKSk6KGw9di5jYWNoZSxaaShyLFd0LGwpLGwhPT1wLmNhY2hlJiZwZyhyLFtXdF0sdSwhMCkpKSxCbihuLHIsci5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdSksci5jaGlsZDtjYXNlIDI5OnRocm93IHIucGVuZGluZ1Byb3BzfXRocm93IEVycm9yKG8oMTU2LHIudGFnKSl9ZnVuY3Rpb24gYWkobil7bi5mbGFnc3w9NH1mdW5jdGlvbiBlNShuLHIsdSxsLHApe2lmKChyPShuLm1vZGUmMzIpIT09MCkmJihyPSExKSxyKXtpZihuLmZsYWdzfD0xNjc3NzIxNiwocCYzMzU1NDQxMjgpPT09cClpZihuLnN0YXRlTm9kZS5jb21wbGV0ZSluLmZsYWdzfD04MTkyO2Vsc2UgaWYoUUYoKSluLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgbG89Z3AsZ2d9ZWxzZSBuLmZsYWdzJj0tMTY3NzcyMTd9ZnVuY3Rpb24gRkYobixyKXtpZihyLnR5cGUhPT0ic3R5bGVzaGVldCJ8fChyLnN0YXRlLmxvYWRpbmcmNCkhPT0wKW4uZmxhZ3MmPS0xNjc3NzIxNztlbHNlIGlmKG4uZmxhZ3N8PTE2Nzc3MjE2LCFINChyKSlpZihRRigpKW4uZmxhZ3N8PTgxOTI7ZWxzZSB0aHJvdyBsbz1ncCxnZ31mdW5jdGlvbiBfcChuLHIpe3IhPT1udWxsJiYobi5mbGFnc3w9NCksbi5mbGFncyYxNjM4NCYmKHI9bi50YWchPT0yMj9CYSgpOjUzNjg3MDkxMixuLmxhbmVzfD1yLHpzfD1yKX1mdW5jdGlvbiBNYyhuLHIpe2lmKCF0dClzd2l0Y2gobi50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOnI9bi50YWlsO2Zvcih2YXIgdT1udWxsO3IhPT1udWxsOylyLmFsdGVybmF0ZSE9PW51bGwmJih1PXIpLHI9ci5zaWJsaW5nO3U9PT1udWxsP24udGFpbD1udWxsOnUuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp1PW4udGFpbDtmb3IodmFyIGw9bnVsbDt1IT09bnVsbDspdS5hbHRlcm5hdGUhPT1udWxsJiYobD11KSx1PXUuc2libGluZztsPT09bnVsbD9yfHxuLnRhaWw9PT1udWxsP24udGFpbD1udWxsOm4udGFpbC5zaWJsaW5nPW51bGw6bC5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uIGt0KG4pe3ZhciByPW4uYWx0ZXJuYXRlIT09bnVsbCYmbi5hbHRlcm5hdGUuY2hpbGQ9PT1uLmNoaWxkLHU9MCxsPTA7aWYocilmb3IodmFyIHA9bi5jaGlsZDtwIT09bnVsbDspdXw9cC5sYW5lc3xwLmNoaWxkTGFuZXMsbHw9cC5zdWJ0cmVlRmxhZ3MmNjUwMTE3MTIsbHw9cC5mbGFncyY2NTAxMTcxMixwLnJldHVybj1uLHA9cC5zaWJsaW5nO2Vsc2UgZm9yKHA9bi5jaGlsZDtwIT09bnVsbDspdXw9cC5sYW5lc3xwLmNoaWxkTGFuZXMsbHw9cC5zdWJ0cmVlRmxhZ3MsbHw9cC5mbGFncyxwLnJldHVybj1uLHA9cC5zaWJsaW5nO3JldHVybiBuLnN1YnRyZWVGbGFnc3w9bCxuLmNoaWxkTGFuZXM9dSxyfWZ1bmN0aW9uIGpJKG4scix1KXt2YXIgbD1yLnBlbmRpbmdQcm9wcztzd2l0Y2goc2cociksci50YWcpe2Nhc2UgMTY6Y2FzZSAxNTpjYXNlIDA6Y2FzZSAxMTpjYXNlIDc6Y2FzZSA4OmNhc2UgMTI6Y2FzZSA5OmNhc2UgMTQ6cmV0dXJuIGt0KHIpLG51bGw7Y2FzZSAxOnJldHVybiBrdChyKSxudWxsO2Nhc2UgMzpyZXR1cm4gdT1yLnN0YXRlTm9kZSxsPW51bGwsbiE9PW51bGwmJihsPW4ubWVtb2l6ZWRTdGF0ZS5jYWNoZSksci5tZW1vaXplZFN0YXRlLmNhY2hlIT09bCYmKHIuZmxhZ3N8PTIwNDgpLEpyKFd0KSx5ZSgpLHUucGVuZGluZ0NvbnRleHQmJih1LmNvbnRleHQ9dS5wZW5kaW5nQ29udGV4dCx1LnBlbmRpbmdDb250ZXh0PW51bGwpLChuPT09bnVsbHx8bi5jaGlsZD09PW51bGwpJiYoQXMocik/YWkocik6bj09PW51bGx8fG4ubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJihyLmZsYWdzJjI1Nik9PT0wfHwoci5mbGFnc3w9MTAyNCxjZygpKSksa3QociksbnVsbDtjYXNlIDI2OnZhciBwPXIudHlwZSx2PXIubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbj09PW51bGw/KGFpKHIpLHYhPT1udWxsPyhrdChyKSxGRihyLHYpKTooa3QociksZTUocixwLG51bGwsbCx1KSkpOnY/diE9PW4ubWVtb2l6ZWRTdGF0ZT8oYWkociksa3QociksRkYocix2KSk6KGt0KHIpLHIuZmxhZ3MmPS0xNjc3NzIxNyk6KG49bi5tZW1vaXplZFByb3BzLG4hPT1sJiZhaShyKSxrdChyKSxlNShyLHAsbixsLHUpKSxudWxsO2Nhc2UgMjc6aWYoTmUociksdT1KLmN1cnJlbnQscD1yLnR5cGUsbiE9PW51bGwmJnIuc3RhdGVOb2RlIT1udWxsKW4ubWVtb2l6ZWRQcm9wcyE9PWwmJmFpKHIpO2Vsc2V7aWYoIWwpe2lmKHIuc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcihvKDE2NikpO3JldHVybiBrdChyKSxudWxsfW49US5jdXJyZW50LEFzKHIpP244KHIsbik6KG49TTQocCxsLHUpLHIuc3RhdGVOb2RlPW4sYWkocikpfXJldHVybiBrdChyKSxudWxsO2Nhc2UgNTppZihOZShyKSxwPXIudHlwZSxuIT09bnVsbCYmci5zdGF0ZU5vZGUhPW51bGwpbi5tZW1vaXplZFByb3BzIT09bCYmYWkocik7ZWxzZXtpZighbCl7aWYoci5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKG8oMTY2KSk7cmV0dXJuIGt0KHIpLG51bGx9aWYodj1RLmN1cnJlbnQsQXMocikpbjgocix2KTtlbHNle3ZhciBFPSRwKEouY3VycmVudCk7c3dpdGNoKHYpe2Nhc2UgMTp2PUUuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIscCk7YnJlYWs7Y2FzZSAyOnY9RS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiLHApO2JyZWFrO2RlZmF1bHQ6c3dpdGNoKHApe2Nhc2Uic3ZnIjp2PUUuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIscCk7YnJlYWs7Y2FzZSJtYXRoIjp2PUUuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixwKTticmVhaztjYXNlInNjcmlwdCI6dj1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHYuaW5uZXJIVE1MPSI8c2NyaXB0PjxcL3NjcmlwdD4iLHY9di5yZW1vdmVDaGlsZCh2LmZpcnN0Q2hpbGQpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2PXR5cGVvZiBsLmlzPT0ic3RyaW5nIj9FLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIse2lzOmwuaXN9KTpFLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGwubXVsdGlwbGU/di5tdWx0aXBsZT0hMDpsLnNpemUmJih2LnNpemU9bC5zaXplKTticmVhaztkZWZhdWx0OnY9dHlwZW9mIGwuaXM9PSJzdHJpbmciP0UuY3JlYXRlRWxlbWVudChwLHtpczpsLmlzfSk6RS5jcmVhdGVFbGVtZW50KHApfX12W0VlXT1yLHZbUmVdPWw7ZTpmb3IoRT1yLmNoaWxkO0UhPT1udWxsOyl7aWYoRS50YWc9PT01fHxFLnRhZz09PTYpdi5hcHBlbmRDaGlsZChFLnN0YXRlTm9kZSk7ZWxzZSBpZihFLnRhZyE9PTQmJkUudGFnIT09MjcmJkUuY2hpbGQhPT1udWxsKXtFLmNoaWxkLnJldHVybj1FLEU9RS5jaGlsZDtjb250aW51ZX1pZihFPT09cilicmVhayBlO2Zvcig7RS5zaWJsaW5nPT09bnVsbDspe2lmKEUucmV0dXJuPT09bnVsbHx8RS5yZXR1cm49PT1yKWJyZWFrIGU7RT1FLnJldHVybn1FLnNpYmxpbmcucmV0dXJuPUUucmV0dXJuLEU9RS5zaWJsaW5nfXIuc3RhdGVOb2RlPXY7ZTpzd2l0Y2goa24odixwLGwpLHApe2Nhc2UiYnV0dG9uIjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJ0ZXh0YXJlYSI6bD0hIWwuYXV0b0ZvY3VzO2JyZWFrIGU7Y2FzZSJpbWciOmw9ITA7YnJlYWsgZTtkZWZhdWx0Omw9ITF9bCYmYWkocil9fXJldHVybiBrdChyKSxlNShyLHIudHlwZSxuPT09bnVsbD9udWxsOm4ubWVtb2l6ZWRQcm9wcyxyLnBlbmRpbmdQcm9wcyx1KSxudWxsO2Nhc2UgNjppZihuJiZyLnN0YXRlTm9kZSE9bnVsbCluLm1lbW9pemVkUHJvcHMhPT1sJiZhaShyKTtlbHNle2lmKHR5cGVvZiBsIT0ic3RyaW5nIiYmci5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKG8oMTY2KSk7aWYobj1KLmN1cnJlbnQsQXMocikpe2lmKG49ci5zdGF0ZU5vZGUsdT1yLm1lbW9pemVkUHJvcHMsbD1udWxsLHA9QW4scCE9PW51bGwpc3dpdGNoKHAudGFnKXtjYXNlIDI3OmNhc2UgNTpsPXAubWVtb2l6ZWRQcm9wc31uW0VlXT1yLG49ISEobi5ub2RlVmFsdWU9PT11fHxsIT09bnVsbCYmbC5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc9PT0hMHx8eDQobi5ub2RlVmFsdWUsdSkpLG58fCRpKHIsITApfWVsc2Ugbj0kcChuKS5jcmVhdGVUZXh0Tm9kZShsKSxuW0VlXT1yLHIuc3RhdGVOb2RlPW59cmV0dXJuIGt0KHIpLG51bGw7Y2FzZSAzMTppZih1PXIubWVtb2l6ZWRTdGF0ZSxuPT09bnVsbHx8bi5tZW1vaXplZFN0YXRlIT09bnVsbCl7aWYobD1BcyhyKSx1IT09bnVsbCl7aWYobj09PW51bGwpe2lmKCFsKXRocm93IEVycm9yKG8oMzE4KSk7aWYobj1yLm1lbW9pemVkU3RhdGUsbj1uIT09bnVsbD9uLmRlaHlkcmF0ZWQ6bnVsbCwhbil0aHJvdyBFcnJvcihvKDU1NykpO25bRWVdPXJ9ZWxzZSBybygpLChyLmZsYWdzJjEyOCk9PT0wJiYoci5tZW1vaXplZFN0YXRlPW51bGwpLHIuZmxhZ3N8PTQ7a3Qociksbj0hMX1lbHNlIHU9Y2coKSxuIT09bnVsbCYmbi5tZW1vaXplZFN0YXRlIT09bnVsbCYmKG4ubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9dSksbj0hMDtpZighbilyZXR1cm4gci5mbGFncyYyNTY/KHBhKHIpLHIpOihwYShyKSxudWxsKTtpZigoci5mbGFncyYxMjgpIT09MCl0aHJvdyBFcnJvcihvKDU1OCkpfXJldHVybiBrdChyKSxudWxsO2Nhc2UgMTM6aWYobD1yLm1lbW9pemVkU3RhdGUsbj09PW51bGx8fG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJm4ubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkIT09bnVsbCl7aWYocD1BcyhyKSxsIT09bnVsbCYmbC5kZWh5ZHJhdGVkIT09bnVsbCl7aWYobj09PW51bGwpe2lmKCFwKXRocm93IEVycm9yKG8oMzE4KSk7aWYocD1yLm1lbW9pemVkU3RhdGUscD1wIT09bnVsbD9wLmRlaHlkcmF0ZWQ6bnVsbCwhcCl0aHJvdyBFcnJvcihvKDMxNykpO3BbRWVdPXJ9ZWxzZSBybygpLChyLmZsYWdzJjEyOCk9PT0wJiYoci5tZW1vaXplZFN0YXRlPW51bGwpLHIuZmxhZ3N8PTQ7a3QocikscD0hMX1lbHNlIHA9Y2coKSxuIT09bnVsbCYmbi5tZW1vaXplZFN0YXRlIT09bnVsbCYmKG4ubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9cCkscD0hMDtpZighcClyZXR1cm4gci5mbGFncyYyNTY/KHBhKHIpLHIpOihwYShyKSxudWxsKX1yZXR1cm4gcGEociksKHIuZmxhZ3MmMTI4KSE9PTA/KHIubGFuZXM9dSxyKToodT1sIT09bnVsbCxuPW4hPT1udWxsJiZuLm1lbW9pemVkU3RhdGUhPT1udWxsLHUmJihsPXIuY2hpbGQscD1udWxsLGwuYWx0ZXJuYXRlIT09bnVsbCYmbC5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJmwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCYmKHA9bC5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksdj1udWxsLGwubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYodj1sLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHYhPT1wJiYobC5mbGFnc3w9MjA0OCkpLHUhPT1uJiZ1JiYoci5jaGlsZC5mbGFnc3w9ODE5MiksX3AocixyLnVwZGF0ZVF1ZXVlKSxrdChyKSxudWxsKTtjYXNlIDQ6cmV0dXJuIHllKCksbj09PW51bGwmJnc1KHIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLGt0KHIpLG51bGw7Y2FzZSAxMDpyZXR1cm4gSnIoci50eXBlKSxrdChyKSxudWxsO2Nhc2UgMTk6aWYoWShVdCksbD1yLm1lbW9pemVkU3RhdGUsbD09PW51bGwpcmV0dXJuIGt0KHIpLG51bGw7aWYocD0oci5mbGFncyYxMjgpIT09MCx2PWwucmVuZGVyaW5nLHY9PT1udWxsKWlmKHApTWMobCwhMSk7ZWxzZXtpZihMdCE9PTB8fG4hPT1udWxsJiYobi5mbGFncyYxMjgpIT09MClmb3Iobj1yLmNoaWxkO24hPT1udWxsOyl7aWYodj14cChuKSx2IT09bnVsbCl7Zm9yKHIuZmxhZ3N8PTEyOCxNYyhsLCExKSxuPXYudXBkYXRlUXVldWUsci51cGRhdGVRdWV1ZT1uLF9wKHIsbiksci5zdWJ0cmVlRmxhZ3M9MCxuPXUsdT1yLmNoaWxkO3UhPT1udWxsOykkMih1LG4pLHU9dS5zaWJsaW5nO3JldHVybiBzZShVdCxVdC5jdXJyZW50JjF8MiksdHQmJiRyKHIsbC50cmVlRm9ya0NvdW50KSxyLmNoaWxkfW49bi5zaWJsaW5nfWwudGFpbCE9PW51bGwmJnBlKCk+enAmJihyLmZsYWdzfD0xMjgscD0hMCxNYyhsLCExKSxyLmxhbmVzPTQxOTQzMDQpfWVsc2V7aWYoIXApaWYobj14cCh2KSxuIT09bnVsbCl7aWYoci5mbGFnc3w9MTI4LHA9ITAsbj1uLnVwZGF0ZVF1ZXVlLHIudXBkYXRlUXVldWU9bixfcChyLG4pLE1jKGwsITApLGwudGFpbD09PW51bGwmJmwudGFpbE1vZGU9PT0iaGlkZGVuIiYmIXYuYWx0ZXJuYXRlJiYhdHQpcmV0dXJuIGt0KHIpLG51bGx9ZWxzZSAyKnBlKCktbC5yZW5kZXJpbmdTdGFydFRpbWU+enAmJnUhPT01MzY4NzA5MTImJihyLmZsYWdzfD0xMjgscD0hMCxNYyhsLCExKSxyLmxhbmVzPTQxOTQzMDQpO2wuaXNCYWNrd2FyZHM/KHYuc2libGluZz1yLmNoaWxkLHIuY2hpbGQ9dik6KG49bC5sYXN0LG4hPT1udWxsP24uc2libGluZz12OnIuY2hpbGQ9dixsLmxhc3Q9dil9cmV0dXJuIGwudGFpbCE9PW51bGw/KG49bC50YWlsLGwucmVuZGVyaW5nPW4sbC50YWlsPW4uc2libGluZyxsLnJlbmRlcmluZ1N0YXJ0VGltZT1wZSgpLG4uc2libGluZz1udWxsLHU9VXQuY3VycmVudCxzZShVdCxwP3UmMXwyOnUmMSksdHQmJiRyKHIsbC50cmVlRm9ya0NvdW50KSxuKTooa3QociksbnVsbCk7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBwYShyKSxGZygpLGw9ci5tZW1vaXplZFN0YXRlIT09bnVsbCxuIT09bnVsbD9uLm1lbW9pemVkU3RhdGUhPT1udWxsIT09bCYmKHIuZmxhZ3N8PTgxOTIpOmwmJihyLmZsYWdzfD04MTkyKSxsPyh1JjUzNjg3MDkxMikhPT0wJiYoci5mbGFncyYxMjgpPT09MCYmKGt0KHIpLHIuc3VidHJlZUZsYWdzJjYmJihyLmZsYWdzfD04MTkyKSk6a3QociksdT1yLnVwZGF0ZVF1ZXVlLHUhPT1udWxsJiZfcChyLHUucmV0cnlRdWV1ZSksdT1udWxsLG4hPT1udWxsJiZuLm1lbW9pemVkU3RhdGUhPT1udWxsJiZuLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCYmKHU9bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxsPW51bGwsci5tZW1vaXplZFN0YXRlIT09bnVsbCYmci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihsPXIubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksbCE9PXUmJihyLmZsYWdzfD0yMDQ4KSxuIT09bnVsbCYmWShvbyksbnVsbDtjYXNlIDI0OnJldHVybiB1PW51bGwsbiE9PW51bGwmJih1PW4ubWVtb2l6ZWRTdGF0ZS5jYWNoZSksci5tZW1vaXplZFN0YXRlLmNhY2hlIT09dSYmKHIuZmxhZ3N8PTIwNDgpLEpyKFd0KSxrdChyKSxudWxsO2Nhc2UgMjU6cmV0dXJuIG51bGw7Y2FzZSAzMDpyZXR1cm4gbnVsbH10aHJvdyBFcnJvcihvKDE1NixyLnRhZykpfWZ1bmN0aW9uIE1JKG4scil7c3dpdGNoKHNnKHIpLHIudGFnKXtjYXNlIDE6cmV0dXJuIG49ci5mbGFncyxuJjY1NTM2PyhyLmZsYWdzPW4mLTY1NTM3fDEyOCxyKTpudWxsO2Nhc2UgMzpyZXR1cm4gSnIoV3QpLHllKCksbj1yLmZsYWdzLChuJjY1NTM2KSE9PTAmJihuJjEyOCk9PT0wPyhyLmZsYWdzPW4mLTY1NTM3fDEyOCxyKTpudWxsO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6cmV0dXJuIE5lKHIpLG51bGw7Y2FzZSAzMTppZihyLm1lbW9pemVkU3RhdGUhPT1udWxsKXtpZihwYShyKSxyLmFsdGVybmF0ZT09PW51bGwpdGhyb3cgRXJyb3IobygzNDApKTtybygpfXJldHVybiBuPXIuZmxhZ3MsbiY2NTUzNj8oci5mbGFncz1uJi02NTUzN3wxMjgscik6bnVsbDtjYXNlIDEzOmlmKHBhKHIpLG49ci5tZW1vaXplZFN0YXRlLG4hPT1udWxsJiZuLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihyLmFsdGVybmF0ZT09PW51bGwpdGhyb3cgRXJyb3IobygzNDApKTtybygpfXJldHVybiBuPXIuZmxhZ3MsbiY2NTUzNj8oci5mbGFncz1uJi02NTUzN3wxMjgscik6bnVsbDtjYXNlIDE5OnJldHVybiBZKFV0KSxudWxsO2Nhc2UgNDpyZXR1cm4geWUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIEpyKHIudHlwZSksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIHBhKHIpLEZnKCksbiE9PW51bGwmJlkob28pLG49ci5mbGFncyxuJjY1NTM2PyhyLmZsYWdzPW4mLTY1NTM3fDEyOCxyKTpudWxsO2Nhc2UgMjQ6cmV0dXJuIEpyKFd0KSxudWxsO2Nhc2UgMjU6cmV0dXJuIG51bGw7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gQ0YobixyKXtzd2l0Y2goc2cociksci50YWcpe2Nhc2UgMzpKcihXdCkseWUoKTticmVhaztjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1Ok5lKHIpO2JyZWFrO2Nhc2UgNDp5ZSgpO2JyZWFrO2Nhc2UgMzE6ci5tZW1vaXplZFN0YXRlIT09bnVsbCYmcGEocik7YnJlYWs7Y2FzZSAxMzpwYShyKTticmVhaztjYXNlIDE5OlkoVXQpO2JyZWFrO2Nhc2UgMTA6SnIoci50eXBlKTticmVhaztjYXNlIDIyOmNhc2UgMjM6cGEociksRmcoKSxuIT09bnVsbCYmWShvbyk7YnJlYWs7Y2FzZSAyNDpKcihXdCl9fWZ1bmN0aW9uIE9jKG4scil7dHJ5e3ZhciB1PXIudXBkYXRlUXVldWUsbD11IT09bnVsbD91Lmxhc3RFZmZlY3Q6bnVsbDtpZihsIT09bnVsbCl7dmFyIHA9bC5uZXh0O3U9cDtkb3tpZigodS50YWcmbik9PT1uKXtsPXZvaWQgMDt2YXIgdj11LmNyZWF0ZSxFPXUuaW5zdDtsPXYoKSxFLmRlc3Ryb3k9bH11PXUubmV4dH13aGlsZSh1IT09cCl9fWNhdGNoKFMpe2d0KHIsci5yZXR1cm4sUyl9fWZ1bmN0aW9uIHJ1KG4scix1KXt0cnl7dmFyIGw9ci51cGRhdGVRdWV1ZSxwPWwhPT1udWxsP2wubGFzdEVmZmVjdDpudWxsO2lmKHAhPT1udWxsKXt2YXIgdj1wLm5leHQ7bD12O2Rve2lmKChsLnRhZyZuKT09PW4pe3ZhciBFPWwuaW5zdCxTPUUuZGVzdHJveTtpZihTIT09dm9pZCAwKXtFLmRlc3Ryb3k9dm9pZCAwLHA9cjt2YXIgTj11LEc9Uzt0cnl7RygpfWNhdGNoKG5lKXtndChwLE4sbmUpfX19bD1sLm5leHR9d2hpbGUobCE9PXYpfX1jYXRjaChuZSl7Z3QocixyLnJldHVybixuZSl9fWZ1bmN0aW9uIERGKG4pe3ZhciByPW4udXBkYXRlUXVldWU7aWYociE9PW51bGwpe3ZhciB1PW4uc3RhdGVOb2RlO3RyeXttOChyLHUpfWNhdGNoKGwpe2d0KG4sbi5yZXR1cm4sbCl9fX1mdW5jdGlvbiBBRihuLHIsdSl7dS5wcm9wcz1wbyhuLnR5cGUsbi5tZW1vaXplZFByb3BzKSx1LnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZTt0cnl7dS5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGwpe2d0KG4scixsKX19ZnVuY3Rpb24gX2MobixyKXt0cnl7dmFyIHU9bi5yZWY7aWYodSE9PW51bGwpe3N3aXRjaChuLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTp2YXIgbD1uLnN0YXRlTm9kZTticmVhaztjYXNlIDMwOmw9bi5zdGF0ZU5vZGU7YnJlYWs7ZGVmYXVsdDpsPW4uc3RhdGVOb2RlfXR5cGVvZiB1PT0iZnVuY3Rpb24iP24ucmVmQ2xlYW51cD11KGwpOnUuY3VycmVudD1sfX1jYXRjaChwKXtndChuLHIscCl9fWZ1bmN0aW9uIENyKG4scil7dmFyIHU9bi5yZWYsbD1uLnJlZkNsZWFudXA7aWYodSE9PW51bGwpaWYodHlwZW9mIGw9PSJmdW5jdGlvbiIpdHJ5e2woKX1jYXRjaChwKXtndChuLHIscCl9ZmluYWxseXtuLnJlZkNsZWFudXA9bnVsbCxuPW4uYWx0ZXJuYXRlLG4hPW51bGwmJihuLnJlZkNsZWFudXA9bnVsbCl9ZWxzZSBpZih0eXBlb2YgdT09ImZ1bmN0aW9uIil0cnl7dShudWxsKX1jYXRjaChwKXtndChuLHIscCl9ZWxzZSB1LmN1cnJlbnQ9bnVsbH1mdW5jdGlvbiBTRihuKXt2YXIgcj1uLnR5cGUsdT1uLm1lbW9pemVkUHJvcHMsbD1uLnN0YXRlTm9kZTt0cnl7ZTpzd2l0Y2gocil7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjp1LmF1dG9Gb2N1cyYmbC5mb2N1cygpO2JyZWFrIGU7Y2FzZSJpbWciOnUuc3JjP2wuc3JjPXUuc3JjOnUuc3JjU2V0JiYobC5zcmNzZXQ9dS5zcmNTZXQpfX1jYXRjaChwKXtndChuLG4ucmV0dXJuLHApfX1mdW5jdGlvbiB0NShuLHIsdSl7dHJ5e3ZhciBsPW4uc3RhdGVOb2RlO1pJKGwsbi50eXBlLHUsciksbFtSZV09cn1jYXRjaChwKXtndChuLG4ucmV0dXJuLHApfX1mdW5jdGlvbiBCRihuKXtyZXR1cm4gbi50YWc9PT01fHxuLnRhZz09PTN8fG4udGFnPT09MjZ8fG4udGFnPT09MjcmJmR1KG4udHlwZSl8fG4udGFnPT09NH1mdW5jdGlvbiBuNShuKXtlOmZvcig7Oyl7Zm9yKDtuLnNpYmxpbmc9PT1udWxsOyl7aWYobi5yZXR1cm49PT1udWxsfHxCRihuLnJldHVybikpcmV0dXJuIG51bGw7bj1uLnJldHVybn1mb3Iobi5zaWJsaW5nLnJldHVybj1uLnJldHVybixuPW4uc2libGluZztuLnRhZyE9PTUmJm4udGFnIT09NiYmbi50YWchPT0xODspe2lmKG4udGFnPT09MjcmJmR1KG4udHlwZSl8fG4uZmxhZ3MmMnx8bi5jaGlsZD09PW51bGx8fG4udGFnPT09NCljb250aW51ZSBlO24uY2hpbGQucmV0dXJuPW4sbj1uLmNoaWxkfWlmKCEobi5mbGFncyYyKSlyZXR1cm4gbi5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGE1KG4scix1KXt2YXIgbD1uLnRhZztpZihsPT09NXx8bD09PTYpbj1uLnN0YXRlTm9kZSxyPyh1Lm5vZGVUeXBlPT09OT91LmJvZHk6dS5ub2RlTmFtZT09PSJIVE1MIj91Lm93bmVyRG9jdW1lbnQuYm9keTp1KS5pbnNlcnRCZWZvcmUobixyKToocj11Lm5vZGVUeXBlPT09OT91LmJvZHk6dS5ub2RlTmFtZT09PSJIVE1MIj91Lm93bmVyRG9jdW1lbnQuYm9keTp1LHIuYXBwZW5kQ2hpbGQobiksdT11Ll9yZWFjdFJvb3RDb250YWluZXIsdSE9bnVsbHx8ci5vbmNsaWNrIT09bnVsbHx8KHIub25jbGljaz1LcikpO2Vsc2UgaWYobCE9PTQmJihsPT09MjcmJmR1KG4udHlwZSkmJih1PW4uc3RhdGVOb2RlLHI9bnVsbCksbj1uLmNoaWxkLG4hPT1udWxsKSlmb3IoYTUobixyLHUpLG49bi5zaWJsaW5nO24hPT1udWxsOylhNShuLHIsdSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gTnAobixyLHUpe3ZhciBsPW4udGFnO2lmKGw9PT01fHxsPT09NiluPW4uc3RhdGVOb2RlLHI/dS5pbnNlcnRCZWZvcmUobixyKTp1LmFwcGVuZENoaWxkKG4pO2Vsc2UgaWYobCE9PTQmJihsPT09MjcmJmR1KG4udHlwZSkmJih1PW4uc3RhdGVOb2RlKSxuPW4uY2hpbGQsbiE9PW51bGwpKWZvcihOcChuLHIsdSksbj1uLnNpYmxpbmc7biE9PW51bGw7KU5wKG4scix1KSxuPW4uc2libGluZ31mdW5jdGlvbiBrRihuKXt2YXIgcj1uLnN0YXRlTm9kZSx1PW4ubWVtb2l6ZWRQcm9wczt0cnl7Zm9yKHZhciBsPW4udHlwZSxwPXIuYXR0cmlidXRlcztwLmxlbmd0aDspci5yZW1vdmVBdHRyaWJ1dGVOb2RlKHBbMF0pO2tuKHIsbCx1KSxyW0VlXT1uLHJbUmVdPXV9Y2F0Y2godil7Z3QobixuLnJldHVybix2KX19dmFyIHJpPSExLFh0PSExLHI1PSExLFRGPXR5cGVvZiBXZWFrU2V0PT0iZnVuY3Rpb24iP1dlYWtTZXQ6U2V0LGJuPW51bGw7ZnVuY3Rpb24gT0kobixyKXtpZihuPW4uY29udGFpbmVySW5mbyxGNT1ydixuPVAyKG4pLCQwKG4pKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gbil2YXIgdT17c3RhcnQ6bi5zZWxlY3Rpb25TdGFydCxlbmQ6bi5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dT0odT1uLm93bmVyRG9jdW1lbnQpJiZ1LmRlZmF1bHRWaWV3fHx3aW5kb3c7dmFyIGw9dS5nZXRTZWxlY3Rpb24mJnUuZ2V0U2VsZWN0aW9uKCk7aWYobCYmbC5yYW5nZUNvdW50IT09MCl7dT1sLmFuY2hvck5vZGU7dmFyIHA9bC5hbmNob3JPZmZzZXQsdj1sLmZvY3VzTm9kZTtsPWwuZm9jdXNPZmZzZXQ7dHJ5e3Uubm9kZVR5cGUsdi5ub2RlVHlwZX1jYXRjaHt1PW51bGw7YnJlYWsgZX12YXIgRT0wLFM9LTEsTj0tMSxHPTAsbmU9MCxvZT1uLEs9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciAkO29lIT09dXx8cCE9PTAmJm9lLm5vZGVUeXBlIT09M3x8KFM9RStwKSxvZSE9PXZ8fGwhPT0wJiZvZS5ub2RlVHlwZSE9PTN8fChOPUUrbCksb2Uubm9kZVR5cGU9PT0zJiYoRSs9b2Uubm9kZVZhbHVlLmxlbmd0aCksKCQ9b2UuZmlyc3RDaGlsZCkhPT1udWxsOylLPW9lLG9lPSQ7Zm9yKDs7KXtpZihvZT09PW4pYnJlYWsgdDtpZihLPT09dSYmKytHPT09cCYmKFM9RSksSz09PXYmJisrbmU9PT1sJiYoTj1FKSwoJD1vZS5uZXh0U2libGluZykhPT1udWxsKWJyZWFrO29lPUssSz1vZS5wYXJlbnROb2RlfW9lPSR9dT1TPT09LTF8fE49PT0tMT9udWxsOntzdGFydDpTLGVuZDpOfX1lbHNlIHU9bnVsbH11PXV8fHtzdGFydDowLGVuZDowfX1lbHNlIHU9bnVsbDtmb3IoQzU9e2ZvY3VzZWRFbGVtOm4sc2VsZWN0aW9uUmFuZ2U6dX0scnY9ITEsYm49cjtibiE9PW51bGw7KWlmKHI9Ym4sbj1yLmNoaWxkLChyLnN1YnRyZWVGbGFncyYxMDI4KSE9PTAmJm4hPT1udWxsKW4ucmV0dXJuPXIsYm49bjtlbHNlIGZvcig7Ym4hPT1udWxsOyl7c3dpdGNoKHI9Ym4sdj1yLmFsdGVybmF0ZSxuPXIuZmxhZ3Msci50YWcpe2Nhc2UgMDppZigobiY0KSE9PTAmJihuPXIudXBkYXRlUXVldWUsbj1uIT09bnVsbD9uLmV2ZW50czpudWxsLG4hPT1udWxsKSlmb3IodT0wO3U8bi5sZW5ndGg7dSsrKXA9blt1XSxwLnJlZi5pbXBsPXAubmV4dEltcGw7YnJlYWs7Y2FzZSAxMTpjYXNlIDE1OmJyZWFrO2Nhc2UgMTppZigobiYxMDI0KSE9PTAmJnYhPT1udWxsKXtuPXZvaWQgMCx1PXIscD12Lm1lbW9pemVkUHJvcHMsdj12Lm1lbW9pemVkU3RhdGUsbD11LnN0YXRlTm9kZTt0cnl7dmFyIERlPXBvKHUudHlwZSxwKTtuPWwuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoRGUsdiksbC5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1ufWNhdGNoKE9lKXtndCh1LHUucmV0dXJuLE9lKX19YnJlYWs7Y2FzZSAzOmlmKChuJjEwMjQpIT09MCl7aWYobj1yLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLHU9bi5ub2RlVHlwZSx1PT09OSlTNShuKTtlbHNlIGlmKHU9PT0xKXN3aXRjaChuLm5vZGVOYW1lKXtjYXNlIkhFQUQiOmNhc2UiSFRNTCI6Y2FzZSJCT0RZIjpTNShuKTticmVhaztkZWZhdWx0Om4udGV4dENvbnRlbnQ9IiJ9fWJyZWFrO2Nhc2UgNTpjYXNlIDI2OmNhc2UgMjc6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2RlZmF1bHQ6aWYoKG4mMTAyNCkhPT0wKXRocm93IEVycm9yKG8oMTYzKSl9aWYobj1yLnNpYmxpbmcsbiE9PW51bGwpe24ucmV0dXJuPXIucmV0dXJuLGJuPW47YnJlYWt9Ym49ci5yZXR1cm59fWZ1bmN0aW9uIGpGKG4scix1KXt2YXIgbD11LmZsYWdzO3N3aXRjaCh1LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp1aShuLHUpLGwmNCYmT2MoNSx1KTticmVhaztjYXNlIDE6aWYodWkobix1KSxsJjQpaWYobj11LnN0YXRlTm9kZSxyPT09bnVsbCl0cnl7bi5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKEUpe2d0KHUsdS5yZXR1cm4sRSl9ZWxzZXt2YXIgcD1wbyh1LnR5cGUsci5tZW1vaXplZFByb3BzKTtyPXIubWVtb2l6ZWRTdGF0ZTt0cnl7bi5jb21wb25lbnREaWRVcGRhdGUocCxyLG4uX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpfWNhdGNoKEUpe2d0KHUsdS5yZXR1cm4sRSl9fWwmNjQmJkRGKHUpLGwmNTEyJiZfYyh1LHUucmV0dXJuKTticmVhaztjYXNlIDM6aWYodWkobix1KSxsJjY0JiYobj11LnVwZGF0ZVF1ZXVlLG4hPT1udWxsKSl7aWYocj1udWxsLHUuY2hpbGQhPT1udWxsKXN3aXRjaCh1LmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6cj11LmNoaWxkLnN0YXRlTm9kZTticmVhaztjYXNlIDE6cj11LmNoaWxkLnN0YXRlTm9kZX10cnl7bTgobixyKX1jYXRjaChFKXtndCh1LHUucmV0dXJuLEUpfX1icmVhaztjYXNlIDI3OnI9PT1udWxsJiZsJjQmJmtGKHUpO2Nhc2UgMjY6Y2FzZSA1OnVpKG4sdSkscj09PW51bGwmJmwmNCYmU0YodSksbCY1MTImJl9jKHUsdS5yZXR1cm4pO2JyZWFrO2Nhc2UgMTI6dWkobix1KTticmVhaztjYXNlIDMxOnVpKG4sdSksbCY0JiZfRihuLHUpO2JyZWFrO2Nhc2UgMTM6dWkobix1KSxsJjQmJk5GKG4sdSksbCY2NCYmKG49dS5tZW1vaXplZFN0YXRlLG4hPT1udWxsJiYobj1uLmRlaHlkcmF0ZWQsbiE9PW51bGwmJih1PVBJLmJpbmQobnVsbCx1KSx1TChuLHUpKSkpO2JyZWFrO2Nhc2UgMjI6aWYobD11Lm1lbW9pemVkU3RhdGUhPT1udWxsfHxyaSwhbCl7cj1yIT09bnVsbCYmci5tZW1vaXplZFN0YXRlIT09bnVsbHx8WHQscD1yaTt2YXIgdj1YdDtyaT1sLChYdD1yKSYmIXY/b2kobix1LCh1LnN1YnRyZWVGbGFncyY4NzcyKSE9PTApOnVpKG4sdSkscmk9cCxYdD12fWJyZWFrO2Nhc2UgMzA6YnJlYWs7ZGVmYXVsdDp1aShuLHUpfX1mdW5jdGlvbiBNRihuKXt2YXIgcj1uLmFsdGVybmF0ZTtyIT09bnVsbCYmKG4uYWx0ZXJuYXRlPW51bGwsTUYocikpLG4uY2hpbGQ9bnVsbCxuLmRlbGV0aW9ucz1udWxsLG4uc2libGluZz1udWxsLG4udGFnPT09NSYmKHI9bi5zdGF0ZU5vZGUsciE9PW51bGwmJl8wKHIpKSxuLnN0YXRlTm9kZT1udWxsLG4ucmV0dXJuPW51bGwsbi5kZXBlbmRlbmNpZXM9bnVsbCxuLm1lbW9pemVkUHJvcHM9bnVsbCxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnBlbmRpbmdQcm9wcz1udWxsLG4uc3RhdGVOb2RlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsfXZhciBNdD1udWxsLEpuPSExO2Z1bmN0aW9uIGlpKG4scix1KXtmb3IodT11LmNoaWxkO3UhPT1udWxsOylPRihuLHIsdSksdT11LnNpYmxpbmd9ZnVuY3Rpb24gT0YobixyLHUpe2lmKERuJiZ0eXBlb2YgRG4ub25Db21taXRGaWJlclVubW91bnQ9PSJmdW5jdGlvbiIpdHJ5e0RuLm9uQ29tbWl0RmliZXJVbm1vdW50KGFyLHUpfWNhdGNoe31zd2l0Y2godS50YWcpe2Nhc2UgMjY6WHR8fENyKHUsciksaWkobixyLHUpLHUubWVtb2l6ZWRTdGF0ZT91Lm1lbW9pemVkU3RhdGUuY291bnQtLTp1LnN0YXRlTm9kZSYmKHU9dS5zdGF0ZU5vZGUsdS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHUpKTticmVhaztjYXNlIDI3Olh0fHxDcih1LHIpO3ZhciBsPU10LHA9Sm47ZHUodS50eXBlKSYmKE10PXUuc3RhdGVOb2RlLEpuPSExKSxpaShuLHIsdSksVWModS5zdGF0ZU5vZGUpLE10PWwsSm49cDticmVhaztjYXNlIDU6WHR8fENyKHUscik7Y2FzZSA2OmlmKGw9TXQscD1KbixNdD1udWxsLGlpKG4scix1KSxNdD1sLEpuPXAsTXQhPT1udWxsKWlmKEpuKXRyeXsoTXQubm9kZVR5cGU9PT05P010LmJvZHk6TXQubm9kZU5hbWU9PT0iSFRNTCI/TXQub3duZXJEb2N1bWVudC5ib2R5Ok10KS5yZW1vdmVDaGlsZCh1LnN0YXRlTm9kZSl9Y2F0Y2godil7Z3QodSxyLHYpfWVsc2UgdHJ5e010LnJlbW92ZUNoaWxkKHUuc3RhdGVOb2RlKX1jYXRjaCh2KXtndCh1LHIsdil9YnJlYWs7Y2FzZSAxODpNdCE9PW51bGwmJihKbj8obj1NdCxTNChuLm5vZGVUeXBlPT09OT9uLmJvZHk6bi5ub2RlTmFtZT09PSJIVE1MIj9uLm93bmVyRG9jdW1lbnQuYm9keTpuLHUuc3RhdGVOb2RlKSxXcyhuKSk6UzQoTXQsdS5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDQ6bD1NdCxwPUpuLE10PXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sSm49ITAsaWkobixyLHUpLE10PWwsSm49cDticmVhaztjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6cnUoMix1LHIpLFh0fHxydSg0LHUsciksaWkobixyLHUpO2JyZWFrO2Nhc2UgMTpYdHx8KENyKHUsciksbD11LnN0YXRlTm9kZSx0eXBlb2YgbC5jb21wb25lbnRXaWxsVW5tb3VudD09ImZ1bmN0aW9uIiYmQUYodSxyLGwpKSxpaShuLHIsdSk7YnJlYWs7Y2FzZSAyMTppaShuLHIsdSk7YnJlYWs7Y2FzZSAyMjpYdD0obD1YdCl8fHUubWVtb2l6ZWRTdGF0ZSE9PW51bGwsaWkobixyLHUpLFh0PWw7YnJlYWs7ZGVmYXVsdDppaShuLHIsdSl9fWZ1bmN0aW9uIF9GKG4scil7aWYoci5tZW1vaXplZFN0YXRlPT09bnVsbCYmKG49ci5hbHRlcm5hdGUsbiE9PW51bGwmJihuPW4ubWVtb2l6ZWRTdGF0ZSxuIT09bnVsbCkpKXtuPW4uZGVoeWRyYXRlZDt0cnl7V3Mobil9Y2F0Y2godSl7Z3QocixyLnJldHVybix1KX19fWZ1bmN0aW9uIE5GKG4scil7aWYoci5tZW1vaXplZFN0YXRlPT09bnVsbCYmKG49ci5hbHRlcm5hdGUsbiE9PW51bGwmJihuPW4ubWVtb2l6ZWRTdGF0ZSxuIT09bnVsbCYmKG49bi5kZWh5ZHJhdGVkLG4hPT1udWxsKSkpKXRyeXtXcyhuKX1jYXRjaCh1KXtndChyLHIucmV0dXJuLHUpfX1mdW5jdGlvbiBfSShuKXtzd2l0Y2gobi50YWcpe2Nhc2UgMzE6Y2FzZSAxMzpjYXNlIDE5OnZhciByPW4uc3RhdGVOb2RlO3JldHVybiByPT09bnVsbCYmKHI9bi5zdGF0ZU5vZGU9bmV3IFRGKSxyO2Nhc2UgMjI6cmV0dXJuIG49bi5zdGF0ZU5vZGUscj1uLl9yZXRyeUNhY2hlLHI9PT1udWxsJiYocj1uLl9yZXRyeUNhY2hlPW5ldyBURikscjtkZWZhdWx0OnRocm93IEVycm9yKG8oNDM1LG4udGFnKSl9fWZ1bmN0aW9uIFJwKG4scil7dmFyIHU9X0kobik7ci5mb3JFYWNoKGZ1bmN0aW9uKGwpe2lmKCF1LmhhcyhsKSl7dS5hZGQobCk7dmFyIHA9VUkuYmluZChudWxsLG4sbCk7bC50aGVuKHAscCl9fSl9ZnVuY3Rpb24gZWEobixyKXt2YXIgdT1yLmRlbGV0aW9ucztpZih1IT09bnVsbClmb3IodmFyIGw9MDtsPHUubGVuZ3RoO2wrKyl7dmFyIHA9dVtsXSx2PW4sRT1yLFM9RTtlOmZvcig7UyE9PW51bGw7KXtzd2l0Y2goUy50YWcpe2Nhc2UgMjc6aWYoZHUoUy50eXBlKSl7TXQ9Uy5zdGF0ZU5vZGUsSm49ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6TXQ9Uy5zdGF0ZU5vZGUsSm49ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0Ok10PVMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sSm49ITA7YnJlYWsgZX1TPVMucmV0dXJufWlmKE10PT09bnVsbCl0aHJvdyBFcnJvcihvKDE2MCkpO09GKHYsRSxwKSxNdD1udWxsLEpuPSExLHY9cC5hbHRlcm5hdGUsdiE9PW51bGwmJih2LnJldHVybj1udWxsKSxwLnJldHVybj1udWxsfWlmKHIuc3VidHJlZUZsYWdzJjEzODg2KWZvcihyPXIuY2hpbGQ7ciE9PW51bGw7KVJGKHIsbikscj1yLnNpYmxpbmd9dmFyIHNyPW51bGw7ZnVuY3Rpb24gUkYobixyKXt2YXIgdT1uLmFsdGVybmF0ZSxsPW4uZmxhZ3M7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6ZWEocixuKSx0YShuKSxsJjQmJihydSgzLG4sbi5yZXR1cm4pLE9jKDMsbikscnUoNSxuLG4ucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOmVhKHIsbiksdGEobiksbCY1MTImJihYdHx8dT09PW51bGx8fENyKHUsdS5yZXR1cm4pKSxsJjY0JiZyaSYmKG49bi51cGRhdGVRdWV1ZSxuIT09bnVsbCYmKGw9bi5jYWxsYmFja3MsbCE9PW51bGwmJih1PW4uc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxuLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9dT09PW51bGw/bDp1LmNvbmNhdChsKSkpKTticmVhaztjYXNlIDI2OnZhciBwPXNyO2lmKGVhKHIsbiksdGEobiksbCY1MTImJihYdHx8dT09PW51bGx8fENyKHUsdS5yZXR1cm4pKSxsJjQpe3ZhciB2PXUhPT1udWxsP3UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKGw9bi5tZW1vaXplZFN0YXRlLHU9PT1udWxsKWlmKGw9PT1udWxsKWlmKG4uc3RhdGVOb2RlPT09bnVsbCl7ZTp7bD1uLnR5cGUsdT1uLm1lbW9pemVkUHJvcHMscD1wLm93bmVyRG9jdW1lbnR8fHA7dDpzd2l0Y2gobCl7Y2FzZSJ0aXRsZSI6dj1wLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0aXRsZSIpWzBdLCghdnx8dltzY118fHZbRWVdfHx2Lm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ8fHYuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKSYmKHY9cC5jcmVhdGVFbGVtZW50KGwpLHAuaGVhZC5pbnNlcnRCZWZvcmUodixwLnF1ZXJ5U2VsZWN0b3IoImhlYWQgPiB0aXRsZSIpKSksa24odixsLHUpLHZbRWVdPW4sZ24odiksbD12O2JyZWFrIGU7Y2FzZSJsaW5rIjp2YXIgRT1MNCgibGluayIsImhyZWYiLHApLmdldChsKyh1LmhyZWZ8fCIiKSk7aWYoRSl7Zm9yKHZhciBTPTA7UzxFLmxlbmd0aDtTKyspaWYodj1FW1NdLHYuZ2V0QXR0cmlidXRlKCJocmVmIik9PT0odS5ocmVmPT1udWxsfHx1LmhyZWY9PT0iIj9udWxsOnUuaHJlZikmJnYuZ2V0QXR0cmlidXRlKCJyZWwiKT09PSh1LnJlbD09bnVsbD9udWxsOnUucmVsKSYmdi5nZXRBdHRyaWJ1dGUoInRpdGxlIik9PT0odS50aXRsZT09bnVsbD9udWxsOnUudGl0bGUpJiZ2LmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKT09PSh1LmNyb3NzT3JpZ2luPT1udWxsP251bGw6dS5jcm9zc09yaWdpbikpe0Uuc3BsaWNlKFMsMSk7YnJlYWsgdH19dj1wLmNyZWF0ZUVsZW1lbnQobCksa24odixsLHUpLHAuaGVhZC5hcHBlbmRDaGlsZCh2KTticmVhaztjYXNlIm1ldGEiOmlmKEU9TDQoIm1ldGEiLCJjb250ZW50IixwKS5nZXQobCsodS5jb250ZW50fHwiIikpKXtmb3IoUz0wO1M8RS5sZW5ndGg7UysrKWlmKHY9RVtTXSx2LmdldEF0dHJpYnV0ZSgiY29udGVudCIpPT09KHUuY29udGVudD09bnVsbD9udWxsOiIiK3UuY29udGVudCkmJnYuZ2V0QXR0cmlidXRlKCJuYW1lIik9PT0odS5uYW1lPT1udWxsP251bGw6dS5uYW1lKSYmdi5nZXRBdHRyaWJ1dGUoInByb3BlcnR5Iik9PT0odS5wcm9wZXJ0eT09bnVsbD9udWxsOnUucHJvcGVydHkpJiZ2LmdldEF0dHJpYnV0ZSgiaHR0cC1lcXVpdiIpPT09KHUuaHR0cEVxdWl2PT1udWxsP251bGw6dS5odHRwRXF1aXYpJiZ2LmdldEF0dHJpYnV0ZSgiY2hhcnNldCIpPT09KHUuY2hhclNldD09bnVsbD9udWxsOnUuY2hhclNldCkpe0Uuc3BsaWNlKFMsMSk7YnJlYWsgdH19dj1wLmNyZWF0ZUVsZW1lbnQobCksa24odixsLHUpLHAuaGVhZC5hcHBlbmRDaGlsZCh2KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKG8oNDY4LGwpKX12W0VlXT1uLGduKHYpLGw9dn1uLnN0YXRlTm9kZT1sfWVsc2UgejQocCxuLnR5cGUsbi5zdGF0ZU5vZGUpO2Vsc2Ugbi5zdGF0ZU5vZGU9STQocCxsLG4ubWVtb2l6ZWRQcm9wcyk7ZWxzZSB2IT09bD8odj09PW51bGw/dS5zdGF0ZU5vZGUhPT1udWxsJiYodT11LnN0YXRlTm9kZSx1LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodSkpOnYuY291bnQtLSxsPT09bnVsbD96NChwLG4udHlwZSxuLnN0YXRlTm9kZSk6STQocCxsLG4ubWVtb2l6ZWRQcm9wcykpOmw9PT1udWxsJiZuLnN0YXRlTm9kZSE9PW51bGwmJnQ1KG4sbi5tZW1vaXplZFByb3BzLHUubWVtb2l6ZWRQcm9wcyl9YnJlYWs7Y2FzZSAyNzplYShyLG4pLHRhKG4pLGwmNTEyJiYoWHR8fHU9PT1udWxsfHxDcih1LHUucmV0dXJuKSksdSE9PW51bGwmJmwmNCYmdDUobixuLm1lbW9pemVkUHJvcHMsdS5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoZWEocixuKSx0YShuKSxsJjUxMiYmKFh0fHx1PT09bnVsbHx8Q3IodSx1LnJldHVybikpLG4uZmxhZ3MmMzIpe3A9bi5zdGF0ZU5vZGU7dHJ5e21zKHAsIiIpfWNhdGNoKERlKXtndChuLG4ucmV0dXJuLERlKX19bCY0JiZuLnN0YXRlTm9kZSE9bnVsbCYmKHA9bi5tZW1vaXplZFByb3BzLHQ1KG4scCx1IT09bnVsbD91Lm1lbW9pemVkUHJvcHM6cCkpLGwmMTAyNCYmKHI1PSEwKTticmVhaztjYXNlIDY6aWYoZWEocixuKSx0YShuKSxsJjQpe2lmKG4uc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcihvKDE2MikpO2w9bi5tZW1vaXplZFByb3BzLHU9bi5zdGF0ZU5vZGU7dHJ5e3Uubm9kZVZhbHVlPWx9Y2F0Y2goRGUpe2d0KG4sbi5yZXR1cm4sRGUpfX1icmVhaztjYXNlIDM6aWYoZXY9bnVsbCxwPXNyLHNyPVpwKHIuY29udGFpbmVySW5mbyksZWEocixuKSxzcj1wLHRhKG4pLGwmNCYmdSE9PW51bGwmJnUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e1dzKHIuY29udGFpbmVySW5mbyl9Y2F0Y2goRGUpe2d0KG4sbi5yZXR1cm4sRGUpfXI1JiYocjU9ITEsSUYobikpO2JyZWFrO2Nhc2UgNDpsPXNyLHNyPVpwKG4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLGVhKHIsbiksdGEobiksc3I9bDticmVhaztjYXNlIDEyOmVhKHIsbiksdGEobik7YnJlYWs7Y2FzZSAzMTplYShyLG4pLHRhKG4pLGwmNCYmKGw9bi51cGRhdGVRdWV1ZSxsIT09bnVsbCYmKG4udXBkYXRlUXVldWU9bnVsbCxScChuLGwpKSk7YnJlYWs7Y2FzZSAxMzplYShyLG4pLHRhKG4pLG4uY2hpbGQuZmxhZ3MmODE5MiYmbi5tZW1vaXplZFN0YXRlIT09bnVsbCE9KHUhPT1udWxsJiZ1Lm1lbW9pemVkU3RhdGUhPT1udWxsKSYmKExwPXBlKCkpLGwmNCYmKGw9bi51cGRhdGVRdWV1ZSxsIT09bnVsbCYmKG4udXBkYXRlUXVldWU9bnVsbCxScChuLGwpKSk7YnJlYWs7Y2FzZSAyMjpwPW4ubWVtb2l6ZWRTdGF0ZSE9PW51bGw7dmFyIE49dSE9PW51bGwmJnUubWVtb2l6ZWRTdGF0ZSE9PW51bGwsRz1yaSxuZT1YdDtpZihyaT1HfHxwLFh0PW5lfHxOLGVhKHIsbiksWHQ9bmUscmk9Ryx0YShuKSxsJjgxOTIpZTpmb3Iocj1uLnN0YXRlTm9kZSxyLl92aXNpYmlsaXR5PXA/ci5fdmlzaWJpbGl0eSYtMjpyLl92aXNpYmlsaXR5fDEscCYmKHU9PT1udWxsfHxOfHxyaXx8WHR8fHZvKG4pKSx1PW51bGwscj1uOzspe2lmKHIudGFnPT09NXx8ci50YWc9PT0yNil7aWYodT09PW51bGwpe049dT1yO3RyeXtpZih2PU4uc3RhdGVOb2RlLHApRT12LnN0eWxlLHR5cGVvZiBFLnNldFByb3BlcnR5PT0iZnVuY3Rpb24iP0Uuc2V0UHJvcGVydHkoImRpc3BsYXkiLCJub25lIiwiaW1wb3J0YW50Iik6RS5kaXNwbGF5PSJub25lIjtlbHNle1M9Ti5zdGF0ZU5vZGU7dmFyIG9lPU4ubWVtb2l6ZWRQcm9wcy5zdHlsZSxLPW9lIT1udWxsJiZvZS5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheSIpP29lLmRpc3BsYXk6bnVsbDtTLnN0eWxlLmRpc3BsYXk9Sz09bnVsbHx8dHlwZW9mIEs9PSJib29sZWFuIj8iIjooIiIrSykudHJpbSgpfX1jYXRjaChEZSl7Z3QoTixOLnJldHVybixEZSl9fX1lbHNlIGlmKHIudGFnPT09Nil7aWYodT09PW51bGwpe049cjt0cnl7Ti5zdGF0ZU5vZGUubm9kZVZhbHVlPXA/IiI6Ti5tZW1vaXplZFByb3BzfWNhdGNoKERlKXtndChOLE4ucmV0dXJuLERlKX19fWVsc2UgaWYoci50YWc9PT0xOCl7aWYodT09PW51bGwpe049cjt0cnl7dmFyICQ9Ti5zdGF0ZU5vZGU7cD9CNCgkLCEwKTpCNChOLnN0YXRlTm9kZSwhMSl9Y2F0Y2goRGUpe2d0KE4sTi5yZXR1cm4sRGUpfX19ZWxzZSBpZigoci50YWchPT0yMiYmci50YWchPT0yM3x8ci5tZW1vaXplZFN0YXRlPT09bnVsbHx8cj09PW4pJiZyLmNoaWxkIT09bnVsbCl7ci5jaGlsZC5yZXR1cm49cixyPXIuY2hpbGQ7Y29udGludWV9aWYocj09PW4pYnJlYWsgZTtmb3IoO3Iuc2libGluZz09PW51bGw7KXtpZihyLnJldHVybj09PW51bGx8fHIucmV0dXJuPT09bilicmVhayBlO3U9PT1yJiYodT1udWxsKSxyPXIucmV0dXJufXU9PT1yJiYodT1udWxsKSxyLnNpYmxpbmcucmV0dXJuPXIucmV0dXJuLHI9ci5zaWJsaW5nfWwmNCYmKGw9bi51cGRhdGVRdWV1ZSxsIT09bnVsbCYmKHU9bC5yZXRyeVF1ZXVlLHUhPT1udWxsJiYobC5yZXRyeVF1ZXVlPW51bGwsUnAobix1KSkpKTticmVhaztjYXNlIDE5OmVhKHIsbiksdGEobiksbCY0JiYobD1uLnVwZGF0ZVF1ZXVlLGwhPT1udWxsJiYobi51cGRhdGVRdWV1ZT1udWxsLFJwKG4sbCkpKTticmVhaztjYXNlIDMwOmJyZWFrO2Nhc2UgMjE6YnJlYWs7ZGVmYXVsdDplYShyLG4pLHRhKG4pfX1mdW5jdGlvbiB0YShuKXt2YXIgcj1uLmZsYWdzO2lmKHImMil7dHJ5e2Zvcih2YXIgdSxsPW4ucmV0dXJuO2whPT1udWxsOyl7aWYoQkYobCkpe3U9bDticmVha31sPWwucmV0dXJufWlmKHU9PW51bGwpdGhyb3cgRXJyb3IobygxNjApKTtzd2l0Y2godS50YWcpe2Nhc2UgMjc6dmFyIHA9dS5zdGF0ZU5vZGUsdj1uNShuKTtOcChuLHYscCk7YnJlYWs7Y2FzZSA1OnZhciBFPXUuc3RhdGVOb2RlO3UuZmxhZ3MmMzImJihtcyhFLCIiKSx1LmZsYWdzJj0tMzMpO3ZhciBTPW41KG4pO05wKG4sUyxFKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciBOPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sRz1uNShuKTthNShuLEcsTik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihvKDE2MSkpfX1jYXRjaChuZSl7Z3QobixuLnJldHVybixuZSl9bi5mbGFncyY9LTN9ciY0MDk2JiYobi5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIElGKG4pe2lmKG4uc3VidHJlZUZsYWdzJjEwMjQpZm9yKG49bi5jaGlsZDtuIT09bnVsbDspe3ZhciByPW47SUYociksci50YWc9PT01JiZyLmZsYWdzJjEwMjQmJnIuc3RhdGVOb2RlLnJlc2V0KCksbj1uLnNpYmxpbmd9fWZ1bmN0aW9uIHVpKG4scil7aWYoci5zdWJ0cmVlRmxhZ3MmODc3Milmb3Iocj1yLmNoaWxkO3IhPT1udWxsOylqRihuLHIuYWx0ZXJuYXRlLHIpLHI9ci5zaWJsaW5nfWZ1bmN0aW9uIHZvKG4pe2ZvcihuPW4uY2hpbGQ7biE9PW51bGw7KXt2YXIgcj1uO3N3aXRjaChyLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnJ1KDQscixyLnJldHVybiksdm8ocik7YnJlYWs7Y2FzZSAxOkNyKHIsci5yZXR1cm4pO3ZhciB1PXIuc3RhdGVOb2RlO3R5cGVvZiB1LmNvbXBvbmVudFdpbGxVbm1vdW50PT0iZnVuY3Rpb24iJiZBRihyLHIucmV0dXJuLHUpLHZvKHIpO2JyZWFrO2Nhc2UgMjc6VWMoci5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1OkNyKHIsci5yZXR1cm4pLHZvKHIpO2JyZWFrO2Nhc2UgMjI6ci5tZW1vaXplZFN0YXRlPT09bnVsbCYmdm8ocik7YnJlYWs7Y2FzZSAzMDp2byhyKTticmVhaztkZWZhdWx0OnZvKHIpfW49bi5zaWJsaW5nfX1mdW5jdGlvbiBvaShuLHIsdSl7Zm9yKHU9dSYmKHIuc3VidHJlZUZsYWdzJjg3NzIpIT09MCxyPXIuY2hpbGQ7ciE9PW51bGw7KXt2YXIgbD1yLmFsdGVybmF0ZSxwPW4sdj1yLEU9di5mbGFncztzd2l0Y2godi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6b2kocCx2LHUpLE9jKDQsdik7YnJlYWs7Y2FzZSAxOmlmKG9pKHAsdix1KSxsPXYscD1sLnN0YXRlTm9kZSx0eXBlb2YgcC5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIil0cnl7cC5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKEcpe2d0KGwsbC5yZXR1cm4sRyl9aWYobD12LHA9bC51cGRhdGVRdWV1ZSxwIT09bnVsbCl7dmFyIFM9bC5zdGF0ZU5vZGU7dHJ5e3ZhciBOPXAuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihOIT09bnVsbClmb3IocC5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwscD0wO3A8Ti5sZW5ndGg7cCsrKXY4KE5bcF0sUyl9Y2F0Y2goRyl7Z3QobCxsLnJldHVybixHKX19dSYmRSY2NCYmREYodiksX2Modix2LnJldHVybik7YnJlYWs7Y2FzZSAyNzprRih2KTtjYXNlIDI2OmNhc2UgNTpvaShwLHYsdSksdSYmbD09PW51bGwmJkUmNCYmU0YodiksX2Modix2LnJldHVybik7YnJlYWs7Y2FzZSAxMjpvaShwLHYsdSk7YnJlYWs7Y2FzZSAzMTpvaShwLHYsdSksdSYmRSY0JiZfRihwLHYpO2JyZWFrO2Nhc2UgMTM6b2kocCx2LHUpLHUmJkUmNCYmTkYocCx2KTticmVhaztjYXNlIDIyOnYubWVtb2l6ZWRTdGF0ZT09PW51bGwmJm9pKHAsdix1KSxfYyh2LHYucmV0dXJuKTticmVhaztjYXNlIDMwOmJyZWFrO2RlZmF1bHQ6b2kocCx2LHUpfXI9ci5zaWJsaW5nfX1mdW5jdGlvbiBpNShuLHIpe3ZhciB1PW51bGw7biE9PW51bGwmJm4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJm4ubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYodT1uLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLG49bnVsbCxyLm1lbW9pemVkU3RhdGUhPT1udWxsJiZyLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCYmKG49ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxuIT09dSYmKG4hPW51bGwmJm4ucmVmQ291bnQrKyx1IT1udWxsJiZ3Yyh1KSl9ZnVuY3Rpb24gdTUobixyKXtuPW51bGwsci5hbHRlcm5hdGUhPT1udWxsJiYobj1yLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSxyPXIubWVtb2l6ZWRTdGF0ZS5jYWNoZSxyIT09biYmKHIucmVmQ291bnQrKyxuIT1udWxsJiZ3YyhuKSl9ZnVuY3Rpb24gbHIobixyLHUsbCl7aWYoci5zdWJ0cmVlRmxhZ3MmMTAyNTYpZm9yKHI9ci5jaGlsZDtyIT09bnVsbDspTEYobixyLHUsbCkscj1yLnNpYmxpbmd9ZnVuY3Rpb24gTEYobixyLHUsbCl7dmFyIHA9ci5mbGFncztzd2l0Y2goci50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6bHIobixyLHUsbCkscCYyMDQ4JiZPYyg5LHIpO2JyZWFrO2Nhc2UgMTpscihuLHIsdSxsKTticmVhaztjYXNlIDM6bHIobixyLHUsbCkscCYyMDQ4JiYobj1udWxsLHIuYWx0ZXJuYXRlIT09bnVsbCYmKG49ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZSkscj1yLm1lbW9pemVkU3RhdGUuY2FjaGUsciE9PW4mJihyLnJlZkNvdW50KyssbiE9bnVsbCYmd2MobikpKTticmVhaztjYXNlIDEyOmlmKHAmMjA0OCl7bHIobixyLHUsbCksbj1yLnN0YXRlTm9kZTt0cnl7dmFyIHY9ci5tZW1vaXplZFByb3BzLEU9di5pZCxTPXYub25Qb3N0Q29tbWl0O3R5cGVvZiBTPT0iZnVuY3Rpb24iJiZTKEUsci5hbHRlcm5hdGU9PT1udWxsPyJtb3VudCI6InVwZGF0ZSIsbi5wYXNzaXZlRWZmZWN0RHVyYXRpb24sLTApfWNhdGNoKE4pe2d0KHIsci5yZXR1cm4sTil9fWVsc2UgbHIobixyLHUsbCk7YnJlYWs7Y2FzZSAzMTpscihuLHIsdSxsKTticmVhaztjYXNlIDEzOmxyKG4scix1LGwpO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjp2PXIuc3RhdGVOb2RlLEU9ci5hbHRlcm5hdGUsci5tZW1vaXplZFN0YXRlIT09bnVsbD92Ll92aXNpYmlsaXR5JjI/bHIobixyLHUsbCk6TmMobixyKTp2Ll92aXNpYmlsaXR5JjI/bHIobixyLHUsbCk6KHYuX3Zpc2liaWxpdHl8PTIsUnMobixyLHUsbCwoci5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MHx8ITEpKSxwJjIwNDgmJmk1KEUscik7YnJlYWs7Y2FzZSAyNDpscihuLHIsdSxsKSxwJjIwNDgmJnU1KHIuYWx0ZXJuYXRlLHIpO2JyZWFrO2RlZmF1bHQ6bHIobixyLHUsbCl9fWZ1bmN0aW9uIFJzKG4scix1LGwscCl7Zm9yKHA9cCYmKChyLnN1YnRyZWVGbGFncyYxMDI1NikhPT0wfHwhMSkscj1yLmNoaWxkO3IhPT1udWxsOyl7dmFyIHY9bixFPXIsUz11LE49bCxHPUUuZmxhZ3M7c3dpdGNoKEUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OlJzKHYsRSxTLE4scCksT2MoOCxFKTticmVhaztjYXNlIDIzOmJyZWFrO2Nhc2UgMjI6dmFyIG5lPUUuc3RhdGVOb2RlO0UubWVtb2l6ZWRTdGF0ZSE9PW51bGw/bmUuX3Zpc2liaWxpdHkmMj9Scyh2LEUsUyxOLHApOk5jKHYsRSk6KG5lLl92aXNpYmlsaXR5fD0yLFJzKHYsRSxTLE4scCkpLHAmJkcmMjA0OCYmaTUoRS5hbHRlcm5hdGUsRSk7YnJlYWs7Y2FzZSAyNDpScyh2LEUsUyxOLHApLHAmJkcmMjA0OCYmdTUoRS5hbHRlcm5hdGUsRSk7YnJlYWs7ZGVmYXVsdDpScyh2LEUsUyxOLHApfXI9ci5zaWJsaW5nfX1mdW5jdGlvbiBOYyhuLHIpe2lmKHIuc3VidHJlZUZsYWdzJjEwMjU2KWZvcihyPXIuY2hpbGQ7ciE9PW51bGw7KXt2YXIgdT1uLGw9cixwPWwuZmxhZ3M7c3dpdGNoKGwudGFnKXtjYXNlIDIyOk5jKHUsbCkscCYyMDQ4JiZpNShsLmFsdGVybmF0ZSxsKTticmVhaztjYXNlIDI0Ok5jKHUsbCkscCYyMDQ4JiZ1NShsLmFsdGVybmF0ZSxsKTticmVhaztkZWZhdWx0Ok5jKHUsbCl9cj1yLnNpYmxpbmd9fXZhciBSYz04MTkyO2Z1bmN0aW9uIElzKG4scix1KXtpZihuLnN1YnRyZWVGbGFncyZSYylmb3Iobj1uLmNoaWxkO24hPT1udWxsOyl6RihuLHIsdSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gekYobixyLHUpe3N3aXRjaChuLnRhZyl7Y2FzZSAyNjpJcyhuLHIsdSksbi5mbGFncyZSYyYmbi5tZW1vaXplZFN0YXRlIT09bnVsbCYmYkwodSxzcixuLm1lbW9pemVkU3RhdGUsbi5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6SXMobixyLHUpO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIGw9c3I7c3I9WnAobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksSXMobixyLHUpLHNyPWw7YnJlYWs7Y2FzZSAyMjpuLm1lbW9pemVkU3RhdGU9PT1udWxsJiYobD1uLmFsdGVybmF0ZSxsIT09bnVsbCYmbC5tZW1vaXplZFN0YXRlIT09bnVsbD8obD1SYyxSYz0xNjc3NzIxNixJcyhuLHIsdSksUmM9bCk6SXMobixyLHUpKTticmVhaztkZWZhdWx0OklzKG4scix1KX19ZnVuY3Rpb24gSEYobil7dmFyIHI9bi5hbHRlcm5hdGU7aWYociE9PW51bGwmJihuPXIuY2hpbGQsbiE9PW51bGwpKXtyLmNoaWxkPW51bGw7ZG8gcj1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwsbj1yO3doaWxlKG4hPT1udWxsKX19ZnVuY3Rpb24gSWMobil7dmFyIHI9bi5kZWxldGlvbnM7aWYoKG4uZmxhZ3MmMTYpIT09MCl7aWYociE9PW51bGwpZm9yKHZhciB1PTA7dTxyLmxlbmd0aDt1Kyspe3ZhciBsPXJbdV07Ym49bCxQRihsLG4pfUhGKG4pfWlmKG4uc3VidHJlZUZsYWdzJjEwMjU2KWZvcihuPW4uY2hpbGQ7biE9PW51bGw7KXFGKG4pLG49bi5zaWJsaW5nfWZ1bmN0aW9uIHFGKG4pe3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpJYyhuKSxuLmZsYWdzJjIwNDgmJnJ1KDksbixuLnJldHVybik7YnJlYWs7Y2FzZSAzOkljKG4pO2JyZWFrO2Nhc2UgMTI6SWMobik7YnJlYWs7Y2FzZSAyMjp2YXIgcj1uLnN0YXRlTm9kZTtuLm1lbW9pemVkU3RhdGUhPT1udWxsJiZyLl92aXNpYmlsaXR5JjImJihuLnJldHVybj09PW51bGx8fG4ucmV0dXJuLnRhZyE9PTEzKT8oci5fdmlzaWJpbGl0eSY9LTMsSXAobikpOkljKG4pO2JyZWFrO2RlZmF1bHQ6SWMobil9fWZ1bmN0aW9uIElwKG4pe3ZhciByPW4uZGVsZXRpb25zO2lmKChuLmZsYWdzJjE2KSE9PTApe2lmKHIhPT1udWxsKWZvcih2YXIgdT0wO3U8ci5sZW5ndGg7dSsrKXt2YXIgbD1yW3VdO2JuPWwsUEYobCxuKX1IRihuKX1mb3Iobj1uLmNoaWxkO24hPT1udWxsOyl7c3dpdGNoKHI9bixyLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpydSg4LHIsci5yZXR1cm4pLElwKHIpO2JyZWFrO2Nhc2UgMjI6dT1yLnN0YXRlTm9kZSx1Ll92aXNpYmlsaXR5JjImJih1Ll92aXNpYmlsaXR5Jj0tMyxJcChyKSk7YnJlYWs7ZGVmYXVsdDpJcChyKX1uPW4uc2libGluZ319ZnVuY3Rpb24gUEYobixyKXtmb3IoO2JuIT09bnVsbDspe3ZhciB1PWJuO3N3aXRjaCh1LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpydSg4LHUscik7YnJlYWs7Y2FzZSAyMzpjYXNlIDIyOmlmKHUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsKXt2YXIgbD11Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2w7bCE9bnVsbCYmbC5yZWZDb3VudCsrfWJyZWFrO2Nhc2UgMjQ6d2ModS5tZW1vaXplZFN0YXRlLmNhY2hlKX1pZihsPXUuY2hpbGQsbCE9PW51bGwpbC5yZXR1cm49dSxibj1sO2Vsc2UgZTpmb3IodT1uO2JuIT09bnVsbDspe2w9Ym47dmFyIHA9bC5zaWJsaW5nLHY9bC5yZXR1cm47aWYoTUYobCksbD09PXUpe2JuPW51bGw7YnJlYWsgZX1pZihwIT09bnVsbCl7cC5yZXR1cm49dixibj1wO2JyZWFrIGV9Ym49dn19fXZhciBOST17Z2V0Q2FjaGVGb3JUeXBlOmZ1bmN0aW9uKG4pe3ZhciByPVNuKFd0KSx1PXIuZGF0YS5nZXQobik7cmV0dXJuIHU9PT12b2lkIDAmJih1PW4oKSxyLmRhdGEuc2V0KG4sdSkpLHV9LGNhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIFNuKFd0KS5jb250cm9sbGVyLnNpZ25hbH19LFJJPXR5cGVvZiBXZWFrTWFwPT0iZnVuY3Rpb24iP1dlYWtNYXA6TWFwLGZ0PTAsRnQ9bnVsbCwkZT1udWxsLEplPTAsaHQ9MCx2YT1udWxsLGl1PSExLExzPSExLG81PSExLHNpPTAsTHQ9MCx1dT0wLG1vPTAsczU9MCxtYT0wLHpzPTAsTGM9bnVsbCxuYT1udWxsLGw1PSExLExwPTAsVUY9MCx6cD0xLzAsSHA9bnVsbCxvdT1udWxsLG9uPTAsc3U9bnVsbCxIcz1udWxsLGxpPTAsYzU9MCxkNT1udWxsLFZGPW51bGwsemM9MCxmNT1udWxsO2Z1bmN0aW9uIGhhKCl7cmV0dXJuKGZ0JjIpIT09MCYmSmUhPT0wP0plJi1KZTpVLlQhPT1udWxsP2I1KCk6dWMoKX1mdW5jdGlvbiBHRigpe2lmKG1hPT09MClpZigoSmUmNTM2ODcwOTEyKT09PTB8fHR0KXt2YXIgbj1WcjtWcjw8PTEsKFZyJjM5MzIxNjApPT09MCYmKFZyPTI2MjE0NCksbWE9bn1lbHNlIG1hPTUzNjg3MDkxMjtyZXR1cm4gbj1mYS5jdXJyZW50LG4hPT1udWxsJiYobi5mbGFnc3w9MzIpLG1hfWZ1bmN0aW9uIGFhKG4scix1KXsobj09PUZ0JiYoaHQ9PT0yfHxodD09PTkpfHxuLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsKSYmKHFzKG4sMCksbHUobixKZSxtYSwhMSkpLFdpKG4sdSksKChmdCYyKT09PTB8fG4hPT1GdCkmJihuPT09RnQmJigoZnQmMik9PT0wJiYobW98PXUpLEx0PT09NCYmbHUobixKZSxtYSwhMSkpLERyKG4pKX1mdW5jdGlvbiBZRihuLHIsdSl7aWYoKGZ0JjYpIT09MCl0aHJvdyBFcnJvcihvKDMyNykpO3ZhciBsPSF1JiYociYxMjcpPT09MCYmKHImbi5leHBpcmVkTGFuZXMpPT09MHx8dXIobixyKSxwPWw/ekkobixyKTp2NShuLHIsITApLHY9bDtkb3tpZihwPT09MCl7THMmJiFsJiZsdShuLHIsMCwhMSk7YnJlYWt9ZWxzZXtpZih1PW4uY3VycmVudC5hbHRlcm5hdGUsdiYmIUlJKHUpKXtwPXY1KG4sciwhMSksdj0hMTtjb250aW51ZX1pZihwPT09Mil7aWYodj1yLG4uZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXMmdil2YXIgRT0wO2Vsc2UgRT1uLnBlbmRpbmdMYW5lcyYtNTM2ODcwOTEzLEU9RSE9PTA/RTpFJjUzNjg3MDkxMj81MzY4NzA5MTI6MDtpZihFIT09MCl7cj1FO2U6e3ZhciBTPW47cD1MYzt2YXIgTj1TLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQ7aWYoTiYmKHFzKFMsRSkuZmxhZ3N8PTI1NiksRT12NShTLEUsITEpLEUhPT0yKXtpZihvNSYmIU4pe1MuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXN8PXYsbW98PXYscD00O2JyZWFrIGV9dj1uYSxuYT1wLHYhPT1udWxsJiYobmE9PT1udWxsP25hPXY6bmEucHVzaC5hcHBseShuYSx2KSl9cD1FfWlmKHY9ITEscCE9PTIpY29udGludWV9fWlmKHA9PT0xKXtxcyhuLDApLGx1KG4sciwwLCEwKTticmVha31lOntzd2l0Y2gobD1uLHY9cCx2KXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKG8oMzQ1KSk7Y2FzZSA0OmlmKChyJjQxOTQwNDgpIT09cilicmVhaztjYXNlIDY6bHUobCxyLG1hLCFpdSk7YnJlYWsgZTtjYXNlIDI6bmE9bnVsbDticmVhaztjYXNlIDM6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IobygzMjkpKX1pZigociY2MjkxNDU2MCk9PT1yJiYocD1McCszMDAtcGUoKSwxMDxwKSl7aWYobHUobCxyLG1hLCFpdSksWHUobCwwLCEwKSE9PTApYnJlYWsgZTtsaT1yLGwudGltZW91dEhhbmRsZT1ENChXRi5iaW5kKG51bGwsbCx1LG5hLEhwLGw1LHIsbWEsbW8senMsaXUsdiwiVGhyb3R0bGVkIiwtMCwwKSxwKTticmVhayBlfVdGKGwsdSxuYSxIcCxsNSxyLG1hLG1vLHpzLGl1LHYsbnVsbCwtMCwwKX19YnJlYWt9d2hpbGUoITApO0RyKG4pfWZ1bmN0aW9uIFdGKG4scix1LGwscCx2LEUsUyxOLEcsbmUsb2UsSywkKXtpZihuLnRpbWVvdXRIYW5kbGU9LTEsb2U9ci5zdWJ0cmVlRmxhZ3Msb2UmODE5Mnx8KG9lJjE2Nzg1NDA4KT09PTE2Nzg1NDA4KXtvZT17c3R5bGVzaGVldHM6bnVsbCxjb3VudDowLGltZ0NvdW50OjAsaW1nQnl0ZXM6MCxzdXNwZW5zZXlJbWFnZXM6W10sd2FpdGluZ0ZvckltYWdlczohMCx3YWl0aW5nRm9yVmlld1RyYW5zaXRpb246ITEsdW5zdXNwZW5kOktyfSx6RihyLHYsb2UpO3ZhciBEZT0odiY2MjkxNDU2MCk9PT12P0xwLXBlKCk6KHYmNDE5NDA0OCk9PT12P1VGLXBlKCk6MDtpZihEZT15TChvZSxEZSksRGUhPT1udWxsKXtsaT12LG4uY2FuY2VsUGVuZGluZ0NvbW1pdD1EZSh0NC5iaW5kKG51bGwsbixyLHYsdSxsLHAsRSxTLE4sbmUsb2UsbnVsbCxLLCQpKSxsdShuLHYsRSwhRyk7cmV0dXJufX10NChuLHIsdix1LGwscCxFLFMsTil9ZnVuY3Rpb24gSUkobil7Zm9yKHZhciByPW47Oyl7dmFyIHU9ci50YWc7aWYoKHU9PT0wfHx1PT09MTF8fHU9PT0xNSkmJnIuZmxhZ3MmMTYzODQmJih1PXIudXBkYXRlUXVldWUsdSE9PW51bGwmJih1PXUuc3RvcmVzLHUhPT1udWxsKSkpZm9yKHZhciBsPTA7bDx1Lmxlbmd0aDtsKyspe3ZhciBwPXVbbF0sdj1wLmdldFNuYXBzaG90O3A9cC52YWx1ZTt0cnl7aWYoIWNhKHYoKSxwKSlyZXR1cm4hMX1jYXRjaHtyZXR1cm4hMX19aWYodT1yLmNoaWxkLHIuc3VidHJlZUZsYWdzJjE2Mzg0JiZ1IT09bnVsbCl1LnJldHVybj1yLHI9dTtlbHNle2lmKHI9PT1uKWJyZWFrO2Zvcig7ci5zaWJsaW5nPT09bnVsbDspe2lmKHIucmV0dXJuPT09bnVsbHx8ci5yZXR1cm49PT1uKXJldHVybiEwO3I9ci5yZXR1cm59ci5zaWJsaW5nLnJldHVybj1yLnJldHVybixyPXIuc2libGluZ319cmV0dXJuITB9ZnVuY3Rpb24gbHUobixyLHUsbCl7ciY9fnM1LHImPX5tbyxuLnN1c3BlbmRlZExhbmVzfD1yLG4ucGluZ2VkTGFuZXMmPX5yLGwmJihuLndhcm1MYW5lc3w9ciksbD1uLmV4cGlyYXRpb25UaW1lcztmb3IodmFyIHA9cjswPHA7KXt2YXIgdj0zMS1obihwKSxFPTE8PHY7bFt2XT0tMSxwJj1+RX11IT09MCYmb3Mobix1LHIpfWZ1bmN0aW9uIHFwKCl7cmV0dXJuKGZ0JjYpPT09MD8oSGMoMCwhMSksITEpOiEwfWZ1bmN0aW9uIHA1KCl7aWYoJGUhPT1udWxsKXtpZihodD09PTApdmFyIG49JGUucmV0dXJuO2Vsc2Ugbj0kZSxacj1pbz1udWxsLGtnKG4pLGpzPW51bGwsRWM9MCxuPSRlO2Zvcig7biE9PW51bGw7KUNGKG4uYWx0ZXJuYXRlLG4pLG49bi5yZXR1cm47JGU9bnVsbH19ZnVuY3Rpb24gcXMobixyKXt2YXIgdT1uLnRpbWVvdXRIYW5kbGU7dSE9PS0xJiYobi50aW1lb3V0SGFuZGxlPS0xLHRMKHUpKSx1PW4uY2FuY2VsUGVuZGluZ0NvbW1pdCx1IT09bnVsbCYmKG4uY2FuY2VsUGVuZGluZ0NvbW1pdD1udWxsLHUoKSksbGk9MCxwNSgpLEZ0PW4sJGU9dT1YcihuLmN1cnJlbnQsbnVsbCksSmU9cixodD0wLHZhPW51bGwsaXU9ITEsTHM9dXIobixyKSxvNT0hMSx6cz1tYT1zNT1tbz11dT1MdD0wLG5hPUxjPW51bGwsbDU9ITEsKHImOCkhPT0wJiYocnw9ciYzMik7dmFyIGw9bi5lbnRhbmdsZWRMYW5lcztpZihsIT09MClmb3Iobj1uLmVudGFuZ2xlbWVudHMsbCY9cjswPGw7KXt2YXIgcD0zMS1obihsKSx2PTE8PHA7cnw9bltwXSxsJj1+dn1yZXR1cm4gc2k9cixzcCgpLHV9ZnVuY3Rpb24gS0YobixyKXtQZT1udWxsLFUuSD1UYyxyPT09VHN8fHI9PT1ocD8ocj1jOCgpLGh0PTMpOnI9PT1nZz8ocj1jOCgpLGh0PTQpOmh0PXI9PT1HZz84OnIhPT1udWxsJiZ0eXBlb2Ygcj09Im9iamVjdCImJnR5cGVvZiByLnRoZW49PSJmdW5jdGlvbiI/NjoxLHZhPXIsJGU9PT1udWxsJiYoTHQ9MSxUcChuLE9hKHIsbi5jdXJyZW50KSkpfWZ1bmN0aW9uIFFGKCl7dmFyIG49ZmEuY3VycmVudDtyZXR1cm4gbj09PW51bGw/ITA6KEplJjQxOTQwNDgpPT09SmU/SWE9PT1udWxsOihKZSY2MjkxNDU2MCk9PT1KZXx8KEplJjUzNjg3MDkxMikhPT0wP249PT1JYTohMX1mdW5jdGlvbiBYRigpe3ZhciBuPVUuSDtyZXR1cm4gVS5IPVRjLG49PT1udWxsP1RjOm59ZnVuY3Rpb24gJEYoKXt2YXIgbj1VLkE7cmV0dXJuIFUuQT1OSSxufWZ1bmN0aW9uIFBwKCl7THQ9NCxpdXx8KEplJjQxOTQwNDgpIT09SmUmJmZhLmN1cnJlbnQhPT1udWxsfHwoTHM9ITApLCh1dSYxMzQyMTc3MjcpPT09MCYmKG1vJjEzNDIxNzcyNyk9PT0wfHxGdD09PW51bGx8fGx1KEZ0LEplLG1hLCExKX1mdW5jdGlvbiB2NShuLHIsdSl7dmFyIGw9ZnQ7ZnR8PTI7dmFyIHA9WEYoKSx2PSRGKCk7KEZ0IT09bnx8SmUhPT1yKSYmKEhwPW51bGwscXMobixyKSkscj0hMTt2YXIgRT1MdDtlOmRvIHRyeXtpZihodCE9PTAmJiRlIT09bnVsbCl7dmFyIFM9JGUsTj12YTtzd2l0Y2goaHQpe2Nhc2UgODpwNSgpLEU9NjticmVhayBlO2Nhc2UgMzpjYXNlIDI6Y2FzZSA5OmNhc2UgNjpmYS5jdXJyZW50PT09bnVsbCYmKHI9ITApO3ZhciBHPWh0O2lmKGh0PTAsdmE9bnVsbCxQcyhuLFMsTixHKSx1JiZMcyl7RT0wO2JyZWFrIGV9YnJlYWs7ZGVmYXVsdDpHPWh0LGh0PTAsdmE9bnVsbCxQcyhuLFMsTixHKX19TEkoKSxFPUx0O2JyZWFrfWNhdGNoKG5lKXtLRihuLG5lKX13aGlsZSghMCk7cmV0dXJuIHImJm4uc2hlbGxTdXNwZW5kQ291bnRlcisrLFpyPWlvPW51bGwsZnQ9bCxVLkg9cCxVLkE9diwkZT09PW51bGwmJihGdD1udWxsLEplPTAsc3AoKSksRX1mdW5jdGlvbiBMSSgpe2Zvcig7JGUhPT1udWxsOylaRigkZSl9ZnVuY3Rpb24gekkobixyKXt2YXIgdT1mdDtmdHw9Mjt2YXIgbD1YRigpLHA9JEYoKTtGdCE9PW58fEplIT09cj8oSHA9bnVsbCx6cD1wZSgpKzUwMCxxcyhuLHIpKTpMcz11cihuLHIpO2U6ZG8gdHJ5e2lmKGh0IT09MCYmJGUhPT1udWxsKXtyPSRlO3ZhciB2PXZhO3Q6c3dpdGNoKGh0KXtjYXNlIDE6aHQ9MCx2YT1udWxsLFBzKG4scix2LDEpO2JyZWFrO2Nhc2UgMjpjYXNlIDk6aWYoczgodikpe2h0PTAsdmE9bnVsbCxKRihyKTticmVha31yPWZ1bmN0aW9uKCl7aHQhPT0yJiZodCE9PTl8fEZ0IT09bnx8KGh0PTcpLERyKG4pfSx2LnRoZW4ocixyKTticmVhayBlO2Nhc2UgMzpodD03O2JyZWFrIGU7Y2FzZSA0Omh0PTU7YnJlYWsgZTtjYXNlIDc6czgodik/KGh0PTAsdmE9bnVsbCxKRihyKSk6KGh0PTAsdmE9bnVsbCxQcyhuLHIsdiw3KSk7YnJlYWs7Y2FzZSA1OnZhciBFPW51bGw7c3dpdGNoKCRlLnRhZyl7Y2FzZSAyNjpFPSRlLm1lbW9pemVkU3RhdGU7Y2FzZSA1OmNhc2UgMjc6dmFyIFM9JGU7aWYoRT9INChFKTpTLnN0YXRlTm9kZS5jb21wbGV0ZSl7aHQ9MCx2YT1udWxsO3ZhciBOPVMuc2libGluZztpZihOIT09bnVsbCkkZT1OO2Vsc2V7dmFyIEc9Uy5yZXR1cm47RyE9PW51bGw/KCRlPUcsVXAoRykpOiRlPW51bGx9YnJlYWsgdH19aHQ9MCx2YT1udWxsLFBzKG4scix2LDUpO2JyZWFrO2Nhc2UgNjpodD0wLHZhPW51bGwsUHMobixyLHYsNik7YnJlYWs7Y2FzZSA4OnA1KCksTHQ9NjticmVhayBlO2RlZmF1bHQ6dGhyb3cgRXJyb3Iobyg0NjIpKX19SEkoKTticmVha31jYXRjaChuZSl7S0YobixuZSl9d2hpbGUoITApO3JldHVybiBacj1pbz1udWxsLFUuSD1sLFUuQT1wLGZ0PXUsJGUhPT1udWxsPzA6KEZ0PW51bGwsSmU9MCxzcCgpLEx0KX1mdW5jdGlvbiBISSgpe2Zvcig7JGUhPT1udWxsJiYhRm4oKTspWkYoJGUpfWZ1bmN0aW9uIFpGKG4pe3ZhciByPUVGKG4uYWx0ZXJuYXRlLG4sc2kpO24ubWVtb2l6ZWRQcm9wcz1uLnBlbmRpbmdQcm9wcyxyPT09bnVsbD9VcChuKTokZT1yfWZ1bmN0aW9uIEpGKG4pe3ZhciByPW4sdT1yLmFsdGVybmF0ZTtzd2l0Y2goci50YWcpe2Nhc2UgMTU6Y2FzZSAwOnI9aEYodSxyLHIucGVuZGluZ1Byb3BzLHIudHlwZSx2b2lkIDAsSmUpO2JyZWFrO2Nhc2UgMTE6cj1oRih1LHIsci5wZW5kaW5nUHJvcHMsci50eXBlLnJlbmRlcixyLnJlZixKZSk7YnJlYWs7Y2FzZSA1OmtnKHIpO2RlZmF1bHQ6Q0YodSxyKSxyPSRlPSQyKHIsc2kpLHI9RUYodSxyLHNpKX1uLm1lbW9pemVkUHJvcHM9bi5wZW5kaW5nUHJvcHMscj09PW51bGw/VXAobik6JGU9cn1mdW5jdGlvbiBQcyhuLHIsdSxsKXtacj1pbz1udWxsLGtnKHIpLGpzPW51bGwsRWM9MDt2YXIgcD1yLnJldHVybjt0cnl7aWYoQkkobixwLHIsdSxKZSkpe0x0PTEsVHAobixPYSh1LG4uY3VycmVudCkpLCRlPW51bGw7cmV0dXJufX1jYXRjaCh2KXtpZihwIT09bnVsbCl0aHJvdyAkZT1wLHY7THQ9MSxUcChuLE9hKHUsbi5jdXJyZW50KSksJGU9bnVsbDtyZXR1cm59ci5mbGFncyYzMjc2OD8odHR8fGw9PT0xP249ITA6THN8fChKZSY1MzY4NzA5MTIpIT09MD9uPSExOihpdT1uPSEwLChsPT09Mnx8bD09PTl8fGw9PT0zfHxsPT09NikmJihsPWZhLmN1cnJlbnQsbCE9PW51bGwmJmwudGFnPT09MTMmJihsLmZsYWdzfD0xNjM4NCkpKSxlNChyLG4pKTpVcChyKX1mdW5jdGlvbiBVcChuKXt2YXIgcj1uO2Rve2lmKChyLmZsYWdzJjMyNzY4KSE9PTApe2U0KHIsaXUpO3JldHVybn1uPXIucmV0dXJuO3ZhciB1PWpJKHIuYWx0ZXJuYXRlLHIsc2kpO2lmKHUhPT1udWxsKXskZT11O3JldHVybn1pZihyPXIuc2libGluZyxyIT09bnVsbCl7JGU9cjtyZXR1cm59JGU9cj1ufXdoaWxlKHIhPT1udWxsKTtMdD09PTAmJihMdD01KX1mdW5jdGlvbiBlNChuLHIpe2Rve3ZhciB1PU1JKG4uYWx0ZXJuYXRlLG4pO2lmKHUhPT1udWxsKXt1LmZsYWdzJj0zMjc2NywkZT11O3JldHVybn1pZih1PW4ucmV0dXJuLHUhPT1udWxsJiYodS5mbGFnc3w9MzI3NjgsdS5zdWJ0cmVlRmxhZ3M9MCx1LmRlbGV0aW9ucz1udWxsKSwhciYmKG49bi5zaWJsaW5nLG4hPT1udWxsKSl7JGU9bjtyZXR1cm59JGU9bj11fXdoaWxlKG4hPT1udWxsKTtMdD02LCRlPW51bGx9ZnVuY3Rpb24gdDQobixyLHUsbCxwLHYsRSxTLE4pe24uY2FuY2VsUGVuZGluZ0NvbW1pdD1udWxsO2RvIFZwKCk7d2hpbGUob24hPT0wKTtpZigoZnQmNikhPT0wKXRocm93IEVycm9yKG8oMzI3KSk7aWYociE9PW51bGwpe2lmKHI9PT1uLmN1cnJlbnQpdGhyb3cgRXJyb3IobygxNzcpKTtpZih2PXIubGFuZXN8ci5jaGlsZExhbmVzLHZ8PW5nLEdyKG4sdSx2LEUsUyxOKSxuPT09RnQmJigkZT1GdD1udWxsLEplPTApLEhzPXIsc3U9bixsaT11LGM1PXYsZDU9cCxWRj1sLChyLnN1YnRyZWVGbGFncyYxMDI1NikhPT0wfHwoci5mbGFncyYxMDI1NikhPT0wPyhuLmNhbGxiYWNrTm9kZT1udWxsLG4uY2FsbGJhY2tQcmlvcml0eT0wLFZJKENuLGZ1bmN0aW9uKCl7cmV0dXJuIHU0KCksbnVsbH0pKToobi5jYWxsYmFja05vZGU9bnVsbCxuLmNhbGxiYWNrUHJpb3JpdHk9MCksbD0oci5mbGFncyYxMzg3OCkhPT0wLChyLnN1YnRyZWVGbGFncyYxMzg3OCkhPT0wfHxsKXtsPVUuVCxVLlQ9bnVsbCxwPVcucCxXLnA9MixFPWZ0LGZ0fD00O3RyeXtPSShuLHIsdSl9ZmluYWxseXtmdD1FLFcucD1wLFUuVD1sfX1vbj0xLG40KCksYTQoKSxyNCgpfX1mdW5jdGlvbiBuNCgpe2lmKG9uPT09MSl7b249MDt2YXIgbj1zdSxyPUhzLHU9KHIuZmxhZ3MmMTM4NzgpIT09MDtpZigoci5zdWJ0cmVlRmxhZ3MmMTM4NzgpIT09MHx8dSl7dT1VLlQsVS5UPW51bGw7dmFyIGw9Vy5wO1cucD0yO3ZhciBwPWZ0O2Z0fD00O3RyeXtSRihyLG4pO3ZhciB2PUM1LEU9UDIobi5jb250YWluZXJJbmZvKSxTPXYuZm9jdXNlZEVsZW0sTj12LnNlbGVjdGlvblJhbmdlO2lmKEUhPT1TJiZTJiZTLm93bmVyRG9jdW1lbnQmJnEyKFMub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsUykpe2lmKE4hPT1udWxsJiYkMChTKSl7dmFyIEc9Ti5zdGFydCxuZT1OLmVuZDtpZihuZT09PXZvaWQgMCYmKG5lPUcpLCJzZWxlY3Rpb25TdGFydCJpbiBTKVMuc2VsZWN0aW9uU3RhcnQ9RyxTLnNlbGVjdGlvbkVuZD1NYXRoLm1pbihuZSxTLnZhbHVlLmxlbmd0aCk7ZWxzZXt2YXIgb2U9Uy5vd25lckRvY3VtZW50fHxkb2N1bWVudCxLPW9lJiZvZS5kZWZhdWx0Vmlld3x8d2luZG93O2lmKEsuZ2V0U2VsZWN0aW9uKXt2YXIgJD1LLmdldFNlbGVjdGlvbigpLERlPVMudGV4dENvbnRlbnQubGVuZ3RoLE9lPU1hdGgubWluKE4uc3RhcnQsRGUpLEV0PU4uZW5kPT09dm9pZCAwP09lOk1hdGgubWluKE4uZW5kLERlKTshJC5leHRlbmQmJk9lPkV0JiYoRT1FdCxFdD1PZSxPZT1FKTt2YXIgcT1IMihTLE9lKSxSPUgyKFMsRXQpO2lmKHEmJlImJigkLnJhbmdlQ291bnQhPT0xfHwkLmFuY2hvck5vZGUhPT1xLm5vZGV8fCQuYW5jaG9yT2Zmc2V0IT09cS5vZmZzZXR8fCQuZm9jdXNOb2RlIT09Ui5ub2RlfHwkLmZvY3VzT2Zmc2V0IT09Ui5vZmZzZXQpKXt2YXIgVj1vZS5jcmVhdGVSYW5nZSgpO1Yuc2V0U3RhcnQocS5ub2RlLHEub2Zmc2V0KSwkLnJlbW92ZUFsbFJhbmdlcygpLE9lPkV0PygkLmFkZFJhbmdlKFYpLCQuZXh0ZW5kKFIubm9kZSxSLm9mZnNldCkpOihWLnNldEVuZChSLm5vZGUsUi5vZmZzZXQpLCQuYWRkUmFuZ2UoVikpfX19fWZvcihvZT1bXSwkPVM7JD0kLnBhcmVudE5vZGU7KSQubm9kZVR5cGU9PT0xJiZvZS5wdXNoKHtlbGVtZW50OiQsbGVmdDokLnNjcm9sbExlZnQsdG9wOiQuc2Nyb2xsVG9wfSk7Zm9yKHR5cGVvZiBTLmZvY3VzPT0iZnVuY3Rpb24iJiZTLmZvY3VzKCksUz0wO1M8b2UubGVuZ3RoO1MrKyl7dmFyIHVlPW9lW1NdO3VlLmVsZW1lbnQuc2Nyb2xsTGVmdD11ZS5sZWZ0LHVlLmVsZW1lbnQuc2Nyb2xsVG9wPXVlLnRvcH19cnY9ISFGNSxDNT1GNT1udWxsfWZpbmFsbHl7ZnQ9cCxXLnA9bCxVLlQ9dX19bi5jdXJyZW50PXIsb249Mn19ZnVuY3Rpb24gYTQoKXtpZihvbj09PTIpe29uPTA7dmFyIG49c3Uscj1Icyx1PShyLmZsYWdzJjg3NzIpIT09MDtpZigoci5zdWJ0cmVlRmxhZ3MmODc3MikhPT0wfHx1KXt1PVUuVCxVLlQ9bnVsbDt2YXIgbD1XLnA7Vy5wPTI7dmFyIHA9ZnQ7ZnR8PTQ7dHJ5e2pGKG4sci5hbHRlcm5hdGUscil9ZmluYWxseXtmdD1wLFcucD1sLFUuVD11fX1vbj0zfX1mdW5jdGlvbiByNCgpe2lmKG9uPT09NHx8b249PT0zKXtvbj0wLFhuKCk7dmFyIG49c3Uscj1Icyx1PWxpLGw9VkY7KHIuc3VidHJlZUZsYWdzJjEwMjU2KSE9PTB8fChyLmZsYWdzJjEwMjU2KSE9PTA/b249NToob249MCxIcz1zdT1udWxsLGk0KG4sbi5wZW5kaW5nTGFuZXMpKTt2YXIgcD1uLnBlbmRpbmdMYW5lcztpZihwPT09MCYmKG91PW51bGwpLCR1KHUpLHI9ci5zdGF0ZU5vZGUsRG4mJnR5cGVvZiBEbi5vbkNvbW1pdEZpYmVyUm9vdD09ImZ1bmN0aW9uIil0cnl7RG4ub25Db21taXRGaWJlclJvb3QoYXIscix2b2lkIDAsKHIuY3VycmVudC5mbGFncyYxMjgpPT09MTI4KX1jYXRjaHt9aWYobCE9PW51bGwpe3I9VS5ULHA9Vy5wLFcucD0yLFUuVD1udWxsO3RyeXtmb3IodmFyIHY9bi5vblJlY292ZXJhYmxlRXJyb3IsRT0wO0U8bC5sZW5ndGg7RSsrKXt2YXIgUz1sW0VdO3YoUy52YWx1ZSx7Y29tcG9uZW50U3RhY2s6Uy5zdGFja30pfX1maW5hbGx5e1UuVD1yLFcucD1wfX0obGkmMykhPT0wJiZWcCgpLERyKG4pLHA9bi5wZW5kaW5nTGFuZXMsKHUmMjYxOTMwKSE9PTAmJihwJjQyKSE9PTA/bj09PWY1P3pjKys6KHpjPTAsZjU9bik6emM9MCxIYygwLCExKX19ZnVuY3Rpb24gaTQobixyKXsobi5wb29sZWRDYWNoZUxhbmVzJj1yKT09PTAmJihyPW4ucG9vbGVkQ2FjaGUsciE9bnVsbCYmKG4ucG9vbGVkQ2FjaGU9bnVsbCx3YyhyKSkpfWZ1bmN0aW9uIFZwKCl7cmV0dXJuIG40KCksYTQoKSxyNCgpLHU0KCl9ZnVuY3Rpb24gdTQoKXtpZihvbiE9PTUpcmV0dXJuITE7dmFyIG49c3Uscj1jNTtjNT0wO3ZhciB1PSR1KGxpKSxsPVUuVCxwPVcucDt0cnl7Vy5wPTMyPnU/MzI6dSxVLlQ9bnVsbCx1PWQ1LGQ1PW51bGw7dmFyIHY9c3UsRT1saTtpZihvbj0wLEhzPXN1PW51bGwsbGk9MCwoZnQmNikhPT0wKXRocm93IEVycm9yKG8oMzMxKSk7dmFyIFM9ZnQ7aWYoZnR8PTQscUYodi5jdXJyZW50KSxMRih2LHYuY3VycmVudCxFLHUpLGZ0PVMsSGMoMCwhMSksRG4mJnR5cGVvZiBEbi5vblBvc3RDb21taXRGaWJlclJvb3Q9PSJmdW5jdGlvbiIpdHJ5e0RuLm9uUG9zdENvbW1pdEZpYmVyUm9vdChhcix2KX1jYXRjaHt9cmV0dXJuITB9ZmluYWxseXtXLnA9cCxVLlQ9bCxpNChuLHIpfX1mdW5jdGlvbiBvNChuLHIsdSl7cj1PYSh1LHIpLHI9Vmcobi5zdGF0ZU5vZGUsciwyKSxuPXR1KG4sciwyKSxuIT09bnVsbCYmKFdpKG4sMiksRHIobikpfWZ1bmN0aW9uIGd0KG4scix1KXtpZihuLnRhZz09PTMpbzQobixuLHUpO2Vsc2UgZm9yKDtyIT09bnVsbDspe2lmKHIudGFnPT09Myl7bzQocixuLHUpO2JyZWFrfWVsc2UgaWYoci50YWc9PT0xKXt2YXIgbD1yLnN0YXRlTm9kZTtpZih0eXBlb2Ygci50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcj09ImZ1bmN0aW9uInx8dHlwZW9mIGwuY29tcG9uZW50RGlkQ2F0Y2g9PSJmdW5jdGlvbiImJihvdT09PW51bGx8fCFvdS5oYXMobCkpKXtuPU9hKHUsbiksdT1zRigyKSxsPXR1KHIsdSwyKSxsIT09bnVsbCYmKGxGKHUsbCxyLG4pLFdpKGwsMiksRHIobCkpO2JyZWFrfX1yPXIucmV0dXJufX1mdW5jdGlvbiBtNShuLHIsdSl7dmFyIGw9bi5waW5nQ2FjaGU7aWYobD09PW51bGwpe2w9bi5waW5nQ2FjaGU9bmV3IFJJO3ZhciBwPW5ldyBTZXQ7bC5zZXQocixwKX1lbHNlIHA9bC5nZXQocikscD09PXZvaWQgMCYmKHA9bmV3IFNldCxsLnNldChyLHApKTtwLmhhcyh1KXx8KG81PSEwLHAuYWRkKHUpLG49cUkuYmluZChudWxsLG4scix1KSxyLnRoZW4obixuKSl9ZnVuY3Rpb24gcUkobixyLHUpe3ZhciBsPW4ucGluZ0NhY2hlO2whPT1udWxsJiZsLmRlbGV0ZShyKSxuLnBpbmdlZExhbmVzfD1uLnN1c3BlbmRlZExhbmVzJnUsbi53YXJtTGFuZXMmPX51LEZ0PT09biYmKEplJnUpPT09dSYmKEx0PT09NHx8THQ9PT0zJiYoSmUmNjI5MTQ1NjApPT09SmUmJjMwMD5wZSgpLUxwPyhmdCYyKT09PTAmJnFzKG4sMCk6czV8PXUsenM9PT1KZSYmKHpzPTApKSxEcihuKX1mdW5jdGlvbiBzNChuLHIpe3I9PT0wJiYocj1CYSgpKSxuPW5vKG4sciksbiE9PW51bGwmJihXaShuLHIpLERyKG4pKX1mdW5jdGlvbiBQSShuKXt2YXIgcj1uLm1lbW9pemVkU3RhdGUsdT0wO3IhPT1udWxsJiYodT1yLnJldHJ5TGFuZSksczQobix1KX1mdW5jdGlvbiBVSShuLHIpe3ZhciB1PTA7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6dmFyIGw9bi5zdGF0ZU5vZGUscD1uLm1lbW9pemVkU3RhdGU7cCE9PW51bGwmJih1PXAucmV0cnlMYW5lKTticmVhaztjYXNlIDE5Omw9bi5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAyMjpsPW4uc3RhdGVOb2RlLl9yZXRyeUNhY2hlO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IobygzMTQpKX1sIT09bnVsbCYmbC5kZWxldGUociksczQobix1KX1mdW5jdGlvbiBWSShuLHIpe3JldHVybiBIdChuLHIpfXZhciBHcD1udWxsLFVzPW51bGwsaDU9ITEsWXA9ITEsZzU9ITEsY3U9MDtmdW5jdGlvbiBEcihuKXtuIT09VXMmJm4ubmV4dD09PW51bGwmJihVcz09PW51bGw/R3A9VXM9bjpVcz1Vcy5uZXh0PW4pLFlwPSEwLGg1fHwoaDU9ITAsWUkoKSl9ZnVuY3Rpb24gSGMobixyKXtpZighZzUmJllwKXtnNT0hMDtkbyBmb3IodmFyIHU9ITEsbD1HcDtsIT09bnVsbDspe2lmKCFyKWlmKG4hPT0wKXt2YXIgcD1sLnBlbmRpbmdMYW5lcztpZihwPT09MCl2YXIgdj0wO2Vsc2V7dmFyIEU9bC5zdXNwZW5kZWRMYW5lcyxTPWwucGluZ2VkTGFuZXM7dj0oMTw8MzEtaG4oNDJ8bikrMSktMSx2Jj1wJn4oRSZ+Uyksdj12JjIwMTMyNjc0MT92JjIwMTMyNjc0MXwxOnY/dnwyOjB9diE9PTAmJih1PSEwLGY0KGwsdikpfWVsc2Ugdj1KZSx2PVh1KGwsbD09PUZ0P3Y6MCxsLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsfHxsLnRpbWVvdXRIYW5kbGUhPT0tMSksKHYmMyk9PT0wfHx1cihsLHYpfHwodT0hMCxmNChsLHYpKTtsPWwubmV4dH13aGlsZSh1KTtnNT0hMX19ZnVuY3Rpb24gR0koKXtsNCgpfWZ1bmN0aW9uIGw0KCl7WXA9aDU9ITE7dmFyIG49MDtjdSE9PTAmJmVMKCkmJihuPWN1KTtmb3IodmFyIHI9cGUoKSx1PW51bGwsbD1HcDtsIT09bnVsbDspe3ZhciBwPWwubmV4dCx2PWM0KGwscik7dj09PTA/KGwubmV4dD1udWxsLHU9PT1udWxsP0dwPXA6dS5uZXh0PXAscD09PW51bGwmJihVcz11KSk6KHU9bCwobiE9PTB8fCh2JjMpIT09MCkmJihZcD0hMCkpLGw9cH1vbiE9PTAmJm9uIT09NXx8SGMobiwhMSksY3UhPT0wJiYoY3U9MCl9ZnVuY3Rpb24gYzQobixyKXtmb3IodmFyIHU9bi5zdXNwZW5kZWRMYW5lcyxsPW4ucGluZ2VkTGFuZXMscD1uLmV4cGlyYXRpb25UaW1lcyx2PW4ucGVuZGluZ0xhbmVzJi02MjkxNDU2MTswPHY7KXt2YXIgRT0zMS1obih2KSxTPTE8PEUsTj1wW0VdO049PT0tMT8oKFMmdSk9PT0wfHwoUyZsKSE9PTApJiYocFtFXT1PMChTLHIpKTpOPD1yJiYobi5leHBpcmVkTGFuZXN8PVMpLHYmPX5TfWlmKHI9RnQsdT1KZSx1PVh1KG4sbj09PXI/dTowLG4uY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGx8fG4udGltZW91dEhhbmRsZSE9PS0xKSxsPW4uY2FsbGJhY2tOb2RlLHU9PT0wfHxuPT09ciYmKGh0PT09Mnx8aHQ9PT05KXx8bi5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbClyZXR1cm4gbCE9PW51bGwmJmwhPT1udWxsJiZqdChsKSxuLmNhbGxiYWNrTm9kZT1udWxsLG4uY2FsbGJhY2tQcmlvcml0eT0wO2lmKCh1JjMpPT09MHx8dXIobix1KSl7aWYocj11Ji11LHI9PT1uLmNhbGxiYWNrUHJpb3JpdHkpcmV0dXJuIHI7c3dpdGNoKGwhPT1udWxsJiZqdChsKSwkdSh1KSl7Y2FzZSAyOmNhc2UgODp1PXVuO2JyZWFrO2Nhc2UgMzI6dT1DbjticmVhaztjYXNlIDI2ODQzNTQ1Njp1PWllO2JyZWFrO2RlZmF1bHQ6dT1Dbn1yZXR1cm4gbD1kNC5iaW5kKG51bGwsbiksdT1IdCh1LGwpLG4uY2FsbGJhY2tQcmlvcml0eT1yLG4uY2FsbGJhY2tOb2RlPXUscn1yZXR1cm4gbCE9PW51bGwmJmwhPT1udWxsJiZqdChsKSxuLmNhbGxiYWNrUHJpb3JpdHk9MixuLmNhbGxiYWNrTm9kZT1udWxsLDJ9ZnVuY3Rpb24gZDQobixyKXtpZihvbiE9PTAmJm9uIT09NSlyZXR1cm4gbi5jYWxsYmFja05vZGU9bnVsbCxuLmNhbGxiYWNrUHJpb3JpdHk9MCxudWxsO3ZhciB1PW4uY2FsbGJhY2tOb2RlO2lmKFZwKCkmJm4uY2FsbGJhY2tOb2RlIT09dSlyZXR1cm4gbnVsbDt2YXIgbD1KZTtyZXR1cm4gbD1YdShuLG49PT1GdD9sOjAsbi5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbHx8bi50aW1lb3V0SGFuZGxlIT09LTEpLGw9PT0wP251bGw6KFlGKG4sbCxyKSxjNChuLHBlKCkpLG4uY2FsbGJhY2tOb2RlIT1udWxsJiZuLmNhbGxiYWNrTm9kZT09PXU/ZDQuYmluZChudWxsLG4pOm51bGwpfWZ1bmN0aW9uIGY0KG4scil7aWYoVnAoKSlyZXR1cm4gbnVsbDtZRihuLHIsITApfWZ1bmN0aW9uIFlJKCl7bkwoZnVuY3Rpb24oKXsoZnQmNikhPT0wP0h0KG1uLEdJKTpsNCgpfSl9ZnVuY3Rpb24gYjUoKXtpZihjdT09PTApe3ZhciBuPUJzO249PT0wJiYobj1ObixObjw8PTEsKE5uJjI2MTg4OCk9PT0wJiYoTm49MjU2KSksY3U9bn1yZXR1cm4gY3V9ZnVuY3Rpb24gcDQobil7cmV0dXJuIG49PW51bGx8fHR5cGVvZiBuPT0ic3ltYm9sInx8dHlwZW9mIG49PSJib29sZWFuIj9udWxsOnR5cGVvZiBuPT0iZnVuY3Rpb24iP246SmYoIiIrbil9ZnVuY3Rpb24gdjQobixyKXt2YXIgdT1yLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtyZXR1cm4gdS5uYW1lPXIubmFtZSx1LnZhbHVlPXIudmFsdWUsbi5pZCYmdS5zZXRBdHRyaWJ1dGUoImZvcm0iLG4uaWQpLHIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodSxyKSxuPW5ldyBGb3JtRGF0YShuKSx1LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodSksbn1mdW5jdGlvbiBXSShuLHIsdSxsLHApe2lmKHI9PT0ic3VibWl0IiYmdSYmdS5zdGF0ZU5vZGU9PT1wKXt2YXIgdj1wNCgocFtSZV18fG51bGwpLmFjdGlvbiksRT1sLnN1Ym1pdHRlcjtFJiYocj0ocj1FW1JlXXx8bnVsbCk/cDQoci5mb3JtQWN0aW9uKTpFLmdldEF0dHJpYnV0ZSgiZm9ybUFjdGlvbiIpLHIhPT1udWxsJiYodj1yLEU9bnVsbCkpO3ZhciBTPW5ldyBhcCgiYWN0aW9uIiwiYWN0aW9uIixudWxsLGwscCk7bi5wdXNoKHtldmVudDpTLGxpc3RlbmVyczpbe2luc3RhbmNlOm51bGwsbGlzdGVuZXI6ZnVuY3Rpb24oKXtpZihsLmRlZmF1bHRQcmV2ZW50ZWQpe2lmKGN1IT09MCl7dmFyIE49RT92NChwLEUpOm5ldyBGb3JtRGF0YShwKTtMZyh1LHtwZW5kaW5nOiEwLGRhdGE6TixtZXRob2Q6cC5tZXRob2QsYWN0aW9uOnZ9LG51bGwsTil9fWVsc2UgdHlwZW9mIHY9PSJmdW5jdGlvbiImJihTLnByZXZlbnREZWZhdWx0KCksTj1FP3Y0KHAsRSk6bmV3IEZvcm1EYXRhKHApLExnKHUse3BlbmRpbmc6ITAsZGF0YTpOLG1ldGhvZDpwLm1ldGhvZCxhY3Rpb246dn0sdixOKSl9LGN1cnJlbnRUYXJnZXQ6cH1dfSl9fWZvcihLcD0wO0twPHRnLmxlbmd0aDtLcCsrKVdwPXRnW0twXSxtND1XcC50b0xvd2VyQ2FzZSgpLGg0PVdwWzBdLnRvVXBwZXJDYXNlKCkrV3Auc2xpY2UoMSksb3IobTQsIm9uIitoNCk7dmFyIFdwLG00LGg0LEtwO29yKEcyLCJvbkFuaW1hdGlvbkVuZCIpLG9yKFkyLCJvbkFuaW1hdGlvbkl0ZXJhdGlvbiIpLG9yKFcyLCJvbkFuaW1hdGlvblN0YXJ0Iiksb3IoImRibGNsaWNrIiwib25Eb3VibGVDbGljayIpLG9yKCJmb2N1c2luIiwib25Gb2N1cyIpLG9yKCJmb2N1c291dCIsIm9uQmx1ciIpLG9yKGRJLCJvblRyYW5zaXRpb25SdW4iKSxvcihmSSwib25UcmFuc2l0aW9uU3RhcnQiKSxvcihwSSwib25UcmFuc2l0aW9uQ2FuY2VsIiksb3IoSzIsIm9uVHJhbnNpdGlvbkVuZCIpLHBzKCJvbk1vdXNlRW50ZXIiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscHMoIm9uTW91c2VMZWF2ZSIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxwcygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHBzKCJvblBvaW50ZXJMZWF2ZSIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksWnUoIm9uQ2hhbmdlIiwiY2hhbmdlIGNsaWNrIGZvY3VzaW4gZm9jdXNvdXQgaW5wdXQga2V5ZG93biBrZXl1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIikpLFp1KCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksWnUoIm9uQmVmb3JlSW5wdXQiLFsiY29tcG9zaXRpb25lbmQiLCJrZXlwcmVzcyIsInRleHRJbnB1dCIsInBhc3RlIl0pLFp1KCJvbkNvbXBvc2l0aW9uRW5kIiwiY29tcG9zaXRpb25lbmQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLFp1KCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxadSgib25Db21wb3NpdGlvblVwZGF0ZSIsImNvbXBvc2l0aW9udXBkYXRlIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKTt2YXIgcWM9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLEtJPW5ldyBTZXQoImJlZm9yZXRvZ2dsZSBjYW5jZWwgY2xvc2UgaW52YWxpZCBsb2FkIHNjcm9sbCBzY3JvbGxlbmQgdG9nZ2xlIi5zcGxpdCgiICIpLmNvbmNhdChxYykpO2Z1bmN0aW9uIGc0KG4scil7cj0ociY0KSE9PTA7Zm9yKHZhciB1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBsPW5bdV0scD1sLmV2ZW50O2w9bC5saXN0ZW5lcnM7ZTp7dmFyIHY9dm9pZCAwO2lmKHIpZm9yKHZhciBFPWwubGVuZ3RoLTE7MDw9RTtFLS0pe3ZhciBTPWxbRV0sTj1TLmluc3RhbmNlLEc9Uy5jdXJyZW50VGFyZ2V0O2lmKFM9Uy5saXN0ZW5lcixOIT09diYmcC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7dj1TLHAuY3VycmVudFRhcmdldD1HO3RyeXt2KHApfWNhdGNoKG5lKXtvcChuZSl9cC5jdXJyZW50VGFyZ2V0PW51bGwsdj1OfWVsc2UgZm9yKEU9MDtFPGwubGVuZ3RoO0UrKyl7aWYoUz1sW0VdLE49Uy5pbnN0YW5jZSxHPVMuY3VycmVudFRhcmdldCxTPVMubGlzdGVuZXIsTiE9PXYmJnAuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO3Y9UyxwLmN1cnJlbnRUYXJnZXQ9Rzt0cnl7dihwKX1jYXRjaChuZSl7b3AobmUpfXAuY3VycmVudFRhcmdldD1udWxsLHY9Tn19fX1mdW5jdGlvbiBaZShuLHIpe3ZhciB1PXJbUHRdO3U9PT12b2lkIDAmJih1PXJbUHRdPW5ldyBTZXQpO3ZhciBsPW4rIl9fYnViYmxlIjt1LmhhcyhsKXx8KGI0KHIsbiwyLCExKSx1LmFkZChsKSl9ZnVuY3Rpb24geTUobixyLHUpe3ZhciBsPTA7ciYmKGx8PTQpLGI0KHUsbixsLHIpfXZhciBRcD0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiB3NShuKXtpZighbltRcF0pe25bUXBdPSEwLGMyLmZvckVhY2goZnVuY3Rpb24odSl7dSE9PSJzZWxlY3Rpb25jaGFuZ2UiJiYoS0kuaGFzKHUpfHx5NSh1LCExLG4pLHk1KHUsITAsbikpfSk7dmFyIHI9bi5ub2RlVHlwZT09PTk/bjpuLm93bmVyRG9jdW1lbnQ7cj09PW51bGx8fHJbUXBdfHwocltRcF09ITAseTUoInNlbGVjdGlvbmNoYW5nZSIsITEscikpfX1mdW5jdGlvbiBiNChuLHIsdSxsKXtzd2l0Y2goVzQocikpe2Nhc2UgMjp2YXIgcD1FTDticmVhaztjYXNlIDg6cD1GTDticmVhaztkZWZhdWx0OnA9TjV9dT1wLmJpbmQobnVsbCxyLHUsbikscD12b2lkIDAsIVAwfHxyIT09InRvdWNoc3RhcnQiJiZyIT09InRvdWNobW92ZSImJnIhPT0id2hlZWwifHwocD0hMCksbD9wIT09dm9pZCAwP24uYWRkRXZlbnRMaXN0ZW5lcihyLHUse2NhcHR1cmU6ITAscGFzc2l2ZTpwfSk6bi5hZGRFdmVudExpc3RlbmVyKHIsdSwhMCk6cCE9PXZvaWQgMD9uLmFkZEV2ZW50TGlzdGVuZXIocix1LHtwYXNzaXZlOnB9KTpuLmFkZEV2ZW50TGlzdGVuZXIocix1LCExKX1mdW5jdGlvbiB4NShuLHIsdSxsLHApe3ZhciB2PWw7aWYoKHImMSk9PT0wJiYociYyKT09PTAmJmwhPT1udWxsKWU6Zm9yKDs7KXtpZihsPT09bnVsbClyZXR1cm47dmFyIEU9bC50YWc7aWYoRT09PTN8fEU9PT00KXt2YXIgUz1sLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2lmKFM9PT1wKWJyZWFrO2lmKEU9PT00KWZvcihFPWwucmV0dXJuO0UhPT1udWxsOyl7dmFyIE49RS50YWc7aWYoKE49PT0zfHxOPT09NCkmJkUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1wKXJldHVybjtFPUUucmV0dXJufWZvcig7UyE9PW51bGw7KXtpZihFPWNzKFMpLEU9PT1udWxsKXJldHVybjtpZihOPUUudGFnLE49PT01fHxOPT09Nnx8Tj09PTI2fHxOPT09Mjcpe2w9dj1FO2NvbnRpbnVlIGV9Uz1TLnBhcmVudE5vZGV9fWw9bC5yZXR1cm59RTIoZnVuY3Rpb24oKXt2YXIgRz12LG5lPUgwKHUpLG9lPVtdO2U6e3ZhciBLPVEyLmdldChuKTtpZihLIT09dm9pZCAwKXt2YXIgJD1hcCxEZT1uO3N3aXRjaChuKXtjYXNlImtleXByZXNzIjppZih0cCh1KT09PTApYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOiQ9VVI7YnJlYWs7Y2FzZSJmb2N1c2luIjpEZT0iZm9jdXMiLCQ9WTA7YnJlYWs7Y2FzZSJmb2N1c291dCI6RGU9ImJsdXIiLCQ9WTA7YnJlYWs7Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6JD1ZMDticmVhaztjYXNlImNsaWNrIjppZih1LmJ1dHRvbj09PTIpYnJlYWsgZTtjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2V1cCI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UiY29udGV4dG1lbnUiOiQ9RDI7YnJlYWs7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6JD1qUjticmVhaztjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaHN0YXJ0IjokPVlSO2JyZWFrO2Nhc2UgRzI6Y2FzZSBZMjpjYXNlIFcyOiQ9X1I7YnJlYWs7Y2FzZSBLMjokPUtSO2JyZWFrO2Nhc2Uic2Nyb2xsIjpjYXNlInNjcm9sbGVuZCI6JD1rUjticmVhaztjYXNlIndoZWVsIjokPVhSO2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOiQ9UlI7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJ1cCI6JD1TMjticmVhaztjYXNlInRvZ2dsZSI6Y2FzZSJiZWZvcmV0b2dnbGUiOiQ9WlJ9dmFyIE9lPShyJjQpIT09MCxFdD0hT2UmJihuPT09InNjcm9sbCJ8fG49PT0ic2Nyb2xsZW5kIikscT1PZT9LIT09bnVsbD9LKyJDYXB0dXJlIjpudWxsOks7T2U9W107Zm9yKHZhciBSPUcsVjtSIT09bnVsbDspe3ZhciB1ZT1SO2lmKFY9dWUuc3RhdGVOb2RlLHVlPXVlLnRhZyx1ZSE9PTUmJnVlIT09MjYmJnVlIT09Mjd8fFY9PT1udWxsfHxxPT09bnVsbHx8KHVlPWNjKFIscSksdWUhPW51bGwmJk9lLnB1c2goUGMoUix1ZSxWKSkpLEV0KWJyZWFrO1I9Ui5yZXR1cm59MDxPZS5sZW5ndGgmJihLPW5ldyAkKEssRGUsbnVsbCx1LG5lKSxvZS5wdXNoKHtldmVudDpLLGxpc3RlbmVyczpPZX0pKX19aWYoKHImNyk9PT0wKXtlOntpZihLPW49PT0ibW91c2VvdmVyInx8bj09PSJwb2ludGVyb3ZlciIsJD1uPT09Im1vdXNlb3V0Inx8bj09PSJwb2ludGVyb3V0IixLJiZ1IT09ejAmJihEZT11LnJlbGF0ZWRUYXJnZXR8fHUuZnJvbUVsZW1lbnQpJiYoY3MoRGUpfHxEZVttdF0pKWJyZWFrIGU7aWYoKCR8fEspJiYoSz1uZS53aW5kb3c9PT1uZT9uZTooSz1uZS5vd25lckRvY3VtZW50KT9LLmRlZmF1bHRWaWV3fHxLLnBhcmVudFdpbmRvdzp3aW5kb3csJD8oRGU9dS5yZWxhdGVkVGFyZ2V0fHx1LnRvRWxlbWVudCwkPUcsRGU9RGU/Y3MoRGUpOm51bGwsRGUhPT1udWxsJiYoRXQ9ZChEZSksT2U9RGUudGFnLERlIT09RXR8fE9lIT09NSYmT2UhPT0yNyYmT2UhPT02KSYmKERlPW51bGwpKTooJD1udWxsLERlPUcpLCQhPT1EZSkpe2lmKE9lPUQyLHVlPSJvbk1vdXNlTGVhdmUiLHE9Im9uTW91c2VFbnRlciIsUj0ibW91c2UiLChuPT09InBvaW50ZXJvdXQifHxuPT09InBvaW50ZXJvdmVyIikmJihPZT1TMix1ZT0ib25Qb2ludGVyTGVhdmUiLHE9Im9uUG9pbnRlckVudGVyIixSPSJwb2ludGVyIiksRXQ9JD09bnVsbD9LOmxjKCQpLFY9RGU9PW51bGw/SzpsYyhEZSksSz1uZXcgT2UodWUsUisibGVhdmUiLCQsdSxuZSksSy50YXJnZXQ9RXQsSy5yZWxhdGVkVGFyZ2V0PVYsdWU9bnVsbCxjcyhuZSk9PT1HJiYoT2U9bmV3IE9lKHEsUisiZW50ZXIiLERlLHUsbmUpLE9lLnRhcmdldD1WLE9lLnJlbGF0ZWRUYXJnZXQ9RXQsdWU9T2UpLEV0PXVlLCQmJkRlKXQ6e2ZvcihPZT1RSSxxPSQsUj1EZSxWPTAsdWU9cTt1ZTt1ZT1PZSh1ZSkpVisrO3VlPTA7Zm9yKHZhciBqZT1SO2plO2plPU9lKGplKSl1ZSsrO2Zvcig7MDxWLXVlOylxPU9lKHEpLFYtLTtmb3IoOzA8dWUtVjspUj1PZShSKSx1ZS0tO2Zvcig7Vi0tOyl7aWYocT09PVJ8fFIhPT1udWxsJiZxPT09Ui5hbHRlcm5hdGUpe09lPXE7YnJlYWsgdH1xPU9lKHEpLFI9T2UoUil9T2U9bnVsbH1lbHNlIE9lPW51bGw7JCE9PW51bGwmJnk0KG9lLEssJCxPZSwhMSksRGUhPT1udWxsJiZFdCE9PW51bGwmJnk0KG9lLEV0LERlLE9lLCEwKX19ZTp7aWYoSz1HP2xjKEcpOndpbmRvdywkPUsubm9kZU5hbWUmJksubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwkPT09InNlbGVjdCJ8fCQ9PT0iaW5wdXQiJiZLLnR5cGU9PT0iZmlsZSIpdmFyIG90PU4yO2Vsc2UgaWYoTzIoSykpaWYoUjIpb3Q9c0k7ZWxzZXtvdD11STt2YXIgQmU9aUl9ZWxzZSAkPUsubm9kZU5hbWUsISR8fCQudG9Mb3dlckNhc2UoKSE9PSJpbnB1dCJ8fEsudHlwZSE9PSJjaGVja2JveCImJksudHlwZSE9PSJyYWRpbyI/RyYmTDAoRy5lbGVtZW50VHlwZSkmJihvdD1OMik6b3Q9b0k7aWYob3QmJihvdD1vdChuLEcpKSl7XzIob2Usb3QsdSxuZSk7YnJlYWsgZX1CZSYmQmUobixLLEcpLG49PT0iZm9jdXNvdXQiJiZHJiZLLnR5cGU9PT0ibnVtYmVyIiYmRy5tZW1vaXplZFByb3BzLnZhbHVlIT1udWxsJiZJMChLLCJudW1iZXIiLEsudmFsdWUpfXN3aXRjaChCZT1HP2xjKEcpOndpbmRvdyxuKXtjYXNlImZvY3VzaW4iOihPMihCZSl8fEJlLmNvbnRlbnRFZGl0YWJsZT09PSJ0cnVlIikmJih3cz1CZSxaMD1HLGdjPW51bGwpO2JyZWFrO2Nhc2UiZm9jdXNvdXQiOmdjPVowPXdzPW51bGw7YnJlYWs7Y2FzZSJtb3VzZWRvd24iOkowPSEwO2JyZWFrO2Nhc2UiY29udGV4dG1lbnUiOmNhc2UibW91c2V1cCI6Y2FzZSJkcmFnZW5kIjpKMD0hMSxVMihvZSx1LG5lKTticmVhaztjYXNlInNlbGVjdGlvbmNoYW5nZSI6aWYoY0kpYnJlYWs7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjpVMihvZSx1LG5lKX12YXIgVWU7aWYoSzApZTp7c3dpdGNoKG4pe2Nhc2UiY29tcG9zaXRpb25zdGFydCI6dmFyIGV0PSJvbkNvbXBvc2l0aW9uU3RhcnQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbmVuZCI6ZXQ9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6ZXQ9Im9uQ29tcG9zaXRpb25VcGRhdGUiO2JyZWFrIGV9ZXQ9dm9pZCAwfWVsc2UgeXM/ajIobix1KSYmKGV0PSJvbkNvbXBvc2l0aW9uRW5kIik6bj09PSJrZXlkb3duIiYmdS5rZXlDb2RlPT09MjI5JiYoZXQ9Im9uQ29tcG9zaXRpb25TdGFydCIpO2V0JiYoQjImJnUubG9jYWxlIT09ImtvIiYmKHlzfHxldCE9PSJvbkNvbXBvc2l0aW9uU3RhcnQiP2V0PT09Im9uQ29tcG9zaXRpb25FbmQiJiZ5cyYmKFVlPUYyKCkpOihLaT1uZSxVMD0idmFsdWUiaW4gS2k/S2kudmFsdWU6S2kudGV4dENvbnRlbnQseXM9ITApKSxCZT1YcChHLGV0KSwwPEJlLmxlbmd0aCYmKGV0PW5ldyBBMihldCxuLG51bGwsdSxuZSksb2UucHVzaCh7ZXZlbnQ6ZXQsbGlzdGVuZXJzOkJlfSksVWU/ZXQuZGF0YT1VZTooVWU9TTIodSksVWUhPT1udWxsJiYoZXQuZGF0YT1VZSkpKSksKFVlPWVJP3RJKG4sdSk6bkkobix1KSkmJihldD1YcChHLCJvbkJlZm9yZUlucHV0IiksMDxldC5sZW5ndGgmJihCZT1uZXcgQTIoIm9uQmVmb3JlSW5wdXQiLCJiZWZvcmVpbnB1dCIsbnVsbCx1LG5lKSxvZS5wdXNoKHtldmVudDpCZSxsaXN0ZW5lcnM6ZXR9KSxCZS5kYXRhPVVlKSksV0kob2UsbixHLHUsbmUpfWc0KG9lLHIpfSl9ZnVuY3Rpb24gUGMobixyLHUpe3JldHVybntpbnN0YW5jZTpuLGxpc3RlbmVyOnIsY3VycmVudFRhcmdldDp1fX1mdW5jdGlvbiBYcChuLHIpe2Zvcih2YXIgdT1yKyJDYXB0dXJlIixsPVtdO24hPT1udWxsOyl7dmFyIHA9bix2PXAuc3RhdGVOb2RlO2lmKHA9cC50YWcscCE9PTUmJnAhPT0yNiYmcCE9PTI3fHx2PT09bnVsbHx8KHA9Y2Mobix1KSxwIT1udWxsJiZsLnVuc2hpZnQoUGMobixwLHYpKSxwPWNjKG4scikscCE9bnVsbCYmbC5wdXNoKFBjKG4scCx2KSkpLG4udGFnPT09MylyZXR1cm4gbDtuPW4ucmV0dXJufXJldHVybltdfWZ1bmN0aW9uIFFJKG4pe2lmKG49PT1udWxsKXJldHVybiBudWxsO2RvIG49bi5yZXR1cm47d2hpbGUobiYmbi50YWchPT01JiZuLnRhZyE9PTI3KTtyZXR1cm4gbnx8bnVsbH1mdW5jdGlvbiB5NChuLHIsdSxsLHApe2Zvcih2YXIgdj1yLl9yZWFjdE5hbWUsRT1bXTt1IT09bnVsbCYmdSE9PWw7KXt2YXIgUz11LE49Uy5hbHRlcm5hdGUsRz1TLnN0YXRlTm9kZTtpZihTPVMudGFnLE4hPT1udWxsJiZOPT09bClicmVhaztTIT09NSYmUyE9PTI2JiZTIT09Mjd8fEc9PT1udWxsfHwoTj1HLHA/KEc9Y2ModSx2KSxHIT1udWxsJiZFLnVuc2hpZnQoUGModSxHLE4pKSk6cHx8KEc9Y2ModSx2KSxHIT1udWxsJiZFLnB1c2goUGModSxHLE4pKSkpLHU9dS5yZXR1cm59RS5sZW5ndGghPT0wJiZuLnB1c2goe2V2ZW50OnIsbGlzdGVuZXJzOkV9KX12YXIgWEk9L1xyXG4/L2csJEk9L1x1MDAwMHxcdUZGRkQvZztmdW5jdGlvbiB3NChuKXtyZXR1cm4odHlwZW9mIG49PSJzdHJpbmciP246IiIrbikucmVwbGFjZShYSSxgCmApLnJlcGxhY2UoJEksIiIpfWZ1bmN0aW9uIHg0KG4scil7cmV0dXJuIHI9dzQociksdzQobik9PT1yfWZ1bmN0aW9uIHh0KG4scix1LGwscCx2KXtzd2l0Y2godSl7Y2FzZSJjaGlsZHJlbiI6dHlwZW9mIGw9PSJzdHJpbmciP3I9PT0iYm9keSJ8fHI9PT0idGV4dGFyZWEiJiZsPT09IiJ8fG1zKG4sbCk6KHR5cGVvZiBsPT0ibnVtYmVyInx8dHlwZW9mIGw9PSJiaWdpbnQiKSYmciE9PSJib2R5IiYmbXMobiwiIitsKTticmVhaztjYXNlImNsYXNzTmFtZSI6JGYobiwiY2xhc3MiLGwpO2JyZWFrO2Nhc2UidGFiSW5kZXgiOiRmKG4sInRhYmluZGV4IixsKTticmVhaztjYXNlImRpciI6Y2FzZSJyb2xlIjpjYXNlInZpZXdCb3giOmNhc2Uid2lkdGgiOmNhc2UiaGVpZ2h0IjokZihuLHUsbCk7YnJlYWs7Y2FzZSJzdHlsZSI6dzIobixsLHYpO2JyZWFrO2Nhc2UiZGF0YSI6aWYociE9PSJvYmplY3QiKXskZihuLCJkYXRhIixsKTticmVha31jYXNlInNyYyI6Y2FzZSJocmVmIjppZihsPT09IiImJihyIT09ImEifHx1IT09ImhyZWYiKSl7bi5yZW1vdmVBdHRyaWJ1dGUodSk7YnJlYWt9aWYobD09bnVsbHx8dHlwZW9mIGw9PSJmdW5jdGlvbiJ8fHR5cGVvZiBsPT0ic3ltYm9sInx8dHlwZW9mIGw9PSJib29sZWFuIil7bi5yZW1vdmVBdHRyaWJ1dGUodSk7YnJlYWt9bD1KZigiIitsKSxuLnNldEF0dHJpYnV0ZSh1LGwpO2JyZWFrO2Nhc2UiYWN0aW9uIjpjYXNlImZvcm1BY3Rpb24iOmlmKHR5cGVvZiBsPT0iZnVuY3Rpb24iKXtuLnNldEF0dHJpYnV0ZSh1LCJqYXZhc2NyaXB0OnRocm93IG5ldyBFcnJvcignQSBSZWFjdCBmb3JtIHdhcyB1bmV4cGVjdGVkbHkgc3VibWl0dGVkLiBJZiB5b3UgY2FsbGVkIGZvcm0uc3VibWl0KCkgbWFudWFsbHksIGNvbnNpZGVyIHVzaW5nIGZvcm0ucmVxdWVzdFN1Ym1pdCgpIGluc3RlYWQuIElmIHlvdVxcJ3JlIHRyeWluZyB0byB1c2UgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgaW4gYSBzdWJtaXQgZXZlbnQgaGFuZGxlciwgY29uc2lkZXIgYWxzbyBjYWxsaW5nIGV2ZW50LnByZXZlbnREZWZhdWx0KCkuJykiKTticmVha31lbHNlIHR5cGVvZiB2PT0iZnVuY3Rpb24iJiYodT09PSJmb3JtQWN0aW9uIj8ociE9PSJpbnB1dCImJnh0KG4sciwibmFtZSIscC5uYW1lLHAsbnVsbCkseHQobixyLCJmb3JtRW5jVHlwZSIscC5mb3JtRW5jVHlwZSxwLG51bGwpLHh0KG4sciwiZm9ybU1ldGhvZCIscC5mb3JtTWV0aG9kLHAsbnVsbCkseHQobixyLCJmb3JtVGFyZ2V0IixwLmZvcm1UYXJnZXQscCxudWxsKSk6KHh0KG4sciwiZW5jVHlwZSIscC5lbmNUeXBlLHAsbnVsbCkseHQobixyLCJtZXRob2QiLHAubWV0aG9kLHAsbnVsbCkseHQobixyLCJ0YXJnZXQiLHAudGFyZ2V0LHAsbnVsbCkpKTtpZihsPT1udWxsfHx0eXBlb2YgbD09InN5bWJvbCJ8fHR5cGVvZiBsPT0iYm9vbGVhbiIpe24ucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrfWw9SmYoIiIrbCksbi5zZXRBdHRyaWJ1dGUodSxsKTticmVhaztjYXNlIm9uQ2xpY2siOmwhPW51bGwmJihuLm9uY2xpY2s9S3IpO2JyZWFrO2Nhc2Uib25TY3JvbGwiOmwhPW51bGwmJlplKCJzY3JvbGwiLG4pO2JyZWFrO2Nhc2Uib25TY3JvbGxFbmQiOmwhPW51bGwmJlplKCJzY3JvbGxlbmQiLG4pO2JyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKGwhPW51bGwpe2lmKHR5cGVvZiBsIT0ib2JqZWN0Inx8ISgiX19odG1sImluIGwpKXRocm93IEVycm9yKG8oNjEpKTtpZih1PWwuX19odG1sLHUhPW51bGwpe2lmKHAuY2hpbGRyZW4hPW51bGwpdGhyb3cgRXJyb3Iobyg2MCkpO24uaW5uZXJIVE1MPXV9fWJyZWFrO2Nhc2UibXVsdGlwbGUiOm4ubXVsdGlwbGU9bCYmdHlwZW9mIGwhPSJmdW5jdGlvbiImJnR5cGVvZiBsIT0ic3ltYm9sIjticmVhaztjYXNlIm11dGVkIjpuLm11dGVkPWwmJnR5cGVvZiBsIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbCE9InN5bWJvbCI7YnJlYWs7Y2FzZSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciOmNhc2Uic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIjpjYXNlImRlZmF1bHRWYWx1ZSI6Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6Y2FzZSJpbm5lckhUTUwiOmNhc2UicmVmIjpicmVhaztjYXNlImF1dG9Gb2N1cyI6YnJlYWs7Y2FzZSJ4bGlua0hyZWYiOmlmKGw9PW51bGx8fHR5cGVvZiBsPT0iZnVuY3Rpb24ifHx0eXBlb2YgbD09ImJvb2xlYW4ifHx0eXBlb2YgbD09InN5bWJvbCIpe24ucmVtb3ZlQXR0cmlidXRlKCJ4bGluazpocmVmIik7YnJlYWt9dT1KZigiIitsKSxuLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6aHJlZiIsdSk7YnJlYWs7Y2FzZSJjb250ZW50RWRpdGFibGUiOmNhc2Uic3BlbGxDaGVjayI6Y2FzZSJkcmFnZ2FibGUiOmNhc2UidmFsdWUiOmNhc2UiYXV0b1JldmVyc2UiOmNhc2UiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCI6Y2FzZSJmb2N1c2FibGUiOmNhc2UicHJlc2VydmVBbHBoYSI6bCE9bnVsbCYmdHlwZW9mIGwhPSJmdW5jdGlvbiImJnR5cGVvZiBsIT0ic3ltYm9sIj9uLnNldEF0dHJpYnV0ZSh1LCIiK2wpOm4ucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrO2Nhc2UiaW5lcnQiOmNhc2UiYWxsb3dGdWxsU2NyZWVuIjpjYXNlImFzeW5jIjpjYXNlImF1dG9QbGF5IjpjYXNlImNvbnRyb2xzIjpjYXNlImRlZmF1bHQiOmNhc2UiZGVmZXIiOmNhc2UiZGlzYWJsZWQiOmNhc2UiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiOmNhc2UiZGlzYWJsZVJlbW90ZVBsYXliYWNrIjpjYXNlImZvcm1Ob1ZhbGlkYXRlIjpjYXNlImhpZGRlbiI6Y2FzZSJsb29wIjpjYXNlIm5vTW9kdWxlIjpjYXNlIm5vVmFsaWRhdGUiOmNhc2Uib3BlbiI6Y2FzZSJwbGF5c0lubGluZSI6Y2FzZSJyZWFkT25seSI6Y2FzZSJyZXF1aXJlZCI6Y2FzZSJyZXZlcnNlZCI6Y2FzZSJzY29wZWQiOmNhc2Uic2VhbWxlc3MiOmNhc2UiaXRlbVNjb3BlIjpsJiZ0eXBlb2YgbCE9ImZ1bmN0aW9uIiYmdHlwZW9mIGwhPSJzeW1ib2wiP24uc2V0QXR0cmlidXRlKHUsIiIpOm4ucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrO2Nhc2UiY2FwdHVyZSI6Y2FzZSJkb3dubG9hZCI6bD09PSEwP24uc2V0QXR0cmlidXRlKHUsIiIpOmwhPT0hMSYmbCE9bnVsbCYmdHlwZW9mIGwhPSJmdW5jdGlvbiImJnR5cGVvZiBsIT0ic3ltYm9sIj9uLnNldEF0dHJpYnV0ZSh1LGwpOm4ucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrO2Nhc2UiY29scyI6Y2FzZSJyb3dzIjpjYXNlInNpemUiOmNhc2Uic3BhbiI6bCE9bnVsbCYmdHlwZW9mIGwhPSJmdW5jdGlvbiImJnR5cGVvZiBsIT0ic3ltYm9sIiYmIWlzTmFOKGwpJiYxPD1sP24uc2V0QXR0cmlidXRlKHUsbCk6bi5yZW1vdmVBdHRyaWJ1dGUodSk7YnJlYWs7Y2FzZSJyb3dTcGFuIjpjYXNlInN0YXJ0IjpsPT1udWxsfHx0eXBlb2YgbD09ImZ1bmN0aW9uInx8dHlwZW9mIGw9PSJzeW1ib2wifHxpc05hTihsKT9uLnJlbW92ZUF0dHJpYnV0ZSh1KTpuLnNldEF0dHJpYnV0ZSh1LGwpO2JyZWFrO2Nhc2UicG9wb3ZlciI6WmUoImJlZm9yZXRvZ2dsZSIsbiksWmUoInRvZ2dsZSIsbiksWGYobiwicG9wb3ZlciIsbCk7YnJlYWs7Y2FzZSJ4bGlua0FjdHVhdGUiOldyKG4sImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazphY3R1YXRlIixsKTticmVhaztjYXNlInhsaW5rQXJjcm9sZSI6V3IobiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFyY3JvbGUiLGwpO2JyZWFrO2Nhc2UieGxpbmtSb2xlIjpXcihuLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6cm9sZSIsbCk7YnJlYWs7Y2FzZSJ4bGlua1Nob3ciOldyKG4sImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpzaG93IixsKTticmVhaztjYXNlInhsaW5rVGl0bGUiOldyKG4sImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0aXRsZSIsbCk7YnJlYWs7Y2FzZSJ4bGlua1R5cGUiOldyKG4sImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0eXBlIixsKTticmVhaztjYXNlInhtbEJhc2UiOldyKG4sImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpiYXNlIixsKTticmVhaztjYXNlInhtbExhbmciOldyKG4sImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpsYW5nIixsKTticmVhaztjYXNlInhtbFNwYWNlIjpXcihuLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCJ4bWw6c3BhY2UiLGwpO2JyZWFrO2Nhc2UiaXMiOlhmKG4sImlzIixsKTticmVhaztjYXNlImlubmVyVGV4dCI6Y2FzZSJ0ZXh0Q29udGVudCI6YnJlYWs7ZGVmYXVsdDooISgyPHUubGVuZ3RoKXx8dVswXSE9PSJvIiYmdVswXSE9PSJPInx8dVsxXSE9PSJuIiYmdVsxXSE9PSJOIikmJih1PVNSLmdldCh1KXx8dSxYZihuLHUsbCkpfX1mdW5jdGlvbiBFNShuLHIsdSxsLHAsdil7c3dpdGNoKHUpe2Nhc2Uic3R5bGUiOncyKG4sbCx2KTticmVhaztjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihsIT1udWxsKXtpZih0eXBlb2YgbCE9Im9iamVjdCJ8fCEoIl9faHRtbCJpbiBsKSl0aHJvdyBFcnJvcihvKDYxKSk7aWYodT1sLl9faHRtbCx1IT1udWxsKXtpZihwLmNoaWxkcmVuIT1udWxsKXRocm93IEVycm9yKG8oNjApKTtuLmlubmVySFRNTD11fX1icmVhaztjYXNlImNoaWxkcmVuIjp0eXBlb2YgbD09InN0cmluZyI/bXMobixsKToodHlwZW9mIGw9PSJudW1iZXIifHx0eXBlb2YgbD09ImJpZ2ludCIpJiZtcyhuLCIiK2wpO2JyZWFrO2Nhc2Uib25TY3JvbGwiOmwhPW51bGwmJlplKCJzY3JvbGwiLG4pO2JyZWFrO2Nhc2Uib25TY3JvbGxFbmQiOmwhPW51bGwmJlplKCJzY3JvbGxlbmQiLG4pO2JyZWFrO2Nhc2Uib25DbGljayI6bCE9bnVsbCYmKG4ub25jbGljaz1Lcik7YnJlYWs7Y2FzZSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciOmNhc2Uic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIjpjYXNlImlubmVySFRNTCI6Y2FzZSJyZWYiOmJyZWFrO2Nhc2UiaW5uZXJUZXh0IjpjYXNlInRleHRDb250ZW50IjpicmVhaztkZWZhdWx0OmlmKCFkMi5oYXNPd25Qcm9wZXJ0eSh1KSllOntpZih1WzBdPT09Im8iJiZ1WzFdPT09Im4iJiYocD11LmVuZHNXaXRoKCJDYXB0dXJlIikscj11LnNsaWNlKDIscD91Lmxlbmd0aC03OnZvaWQgMCksdj1uW1JlXXx8bnVsbCx2PXYhPW51bGw/dlt1XTpudWxsLHR5cGVvZiB2PT0iZnVuY3Rpb24iJiZuLnJlbW92ZUV2ZW50TGlzdGVuZXIocix2LHApLHR5cGVvZiBsPT0iZnVuY3Rpb24iKSl7dHlwZW9mIHYhPSJmdW5jdGlvbiImJnYhPT1udWxsJiYodSBpbiBuP25bdV09bnVsbDpuLmhhc0F0dHJpYnV0ZSh1KSYmbi5yZW1vdmVBdHRyaWJ1dGUodSkpLG4uYWRkRXZlbnRMaXN0ZW5lcihyLGwscCk7YnJlYWsgZX11IGluIG4/blt1XT1sOmw9PT0hMD9uLnNldEF0dHJpYnV0ZSh1LCIiKTpYZihuLHUsbCl9fX1mdW5jdGlvbiBrbihuLHIsdSl7c3dpdGNoKHIpe2Nhc2UiZGl2IjpjYXNlInNwYW4iOmNhc2Uic3ZnIjpjYXNlInBhdGgiOmNhc2UiYSI6Y2FzZSJnIjpjYXNlInAiOmNhc2UibGkiOmJyZWFrO2Nhc2UiaW1nIjpaZSgiZXJyb3IiLG4pLFplKCJsb2FkIixuKTt2YXIgbD0hMSxwPSExLHY7Zm9yKHYgaW4gdSlpZih1Lmhhc093blByb3BlcnR5KHYpKXt2YXIgRT11W3ZdO2lmKEUhPW51bGwpc3dpdGNoKHYpe2Nhc2Uic3JjIjpsPSEwO2JyZWFrO2Nhc2Uic3JjU2V0IjpwPSEwO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOnRocm93IEVycm9yKG8oMTM3LHIpKTtkZWZhdWx0Onh0KG4scix2LEUsdSxudWxsKX19cCYmeHQobixyLCJzcmNTZXQiLHUuc3JjU2V0LHUsbnVsbCksbCYmeHQobixyLCJzcmMiLHUuc3JjLHUsbnVsbCk7cmV0dXJuO2Nhc2UiaW5wdXQiOlplKCJpbnZhbGlkIixuKTt2YXIgUz12PUU9cD1udWxsLE49bnVsbCxHPW51bGw7Zm9yKGwgaW4gdSlpZih1Lmhhc093blByb3BlcnR5KGwpKXt2YXIgbmU9dVtsXTtpZihuZSE9bnVsbClzd2l0Y2gobCl7Y2FzZSJuYW1lIjpwPW5lO2JyZWFrO2Nhc2UidHlwZSI6RT1uZTticmVhaztjYXNlImNoZWNrZWQiOk49bmU7YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6Rz1uZTticmVhaztjYXNlInZhbHVlIjp2PW5lO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpTPW5lO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG5lIT1udWxsKXRocm93IEVycm9yKG8oMTM3LHIpKTticmVhaztkZWZhdWx0Onh0KG4scixsLG5lLHUsbnVsbCl9fWgyKG4sdixTLE4sRyxFLHAsITEpO3JldHVybjtjYXNlInNlbGVjdCI6WmUoImludmFsaWQiLG4pLGw9RT12PW51bGw7Zm9yKHAgaW4gdSlpZih1Lmhhc093blByb3BlcnR5KHApJiYoUz11W3BdLFMhPW51bGwpKXN3aXRjaChwKXtjYXNlInZhbHVlIjp2PVM7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOkU9UzticmVhaztjYXNlIm11bHRpcGxlIjpsPVM7ZGVmYXVsdDp4dChuLHIscCxTLHUsbnVsbCl9cj12LHU9RSxuLm11bHRpcGxlPSEhbCxyIT1udWxsP3ZzKG4sISFsLHIsITEpOnUhPW51bGwmJnZzKG4sISFsLHUsITApO3JldHVybjtjYXNlInRleHRhcmVhIjpaZSgiaW52YWxpZCIsbiksdj1wPWw9bnVsbDtmb3IoRSBpbiB1KWlmKHUuaGFzT3duUHJvcGVydHkoRSkmJihTPXVbRV0sUyE9bnVsbCkpc3dpdGNoKEUpe2Nhc2UidmFsdWUiOmw9UzticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6cD1TO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOnY9UzticmVhaztjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihTIT1udWxsKXRocm93IEVycm9yKG8oOTEpKTticmVhaztkZWZhdWx0Onh0KG4scixFLFMsdSxudWxsKX1iMihuLGwscCx2KTtyZXR1cm47Y2FzZSJvcHRpb24iOmZvcihOIGluIHUpdS5oYXNPd25Qcm9wZXJ0eShOKSYmKGw9dVtOXSxsIT1udWxsKSYmKE49PT0ic2VsZWN0ZWQiP24uc2VsZWN0ZWQ9bCYmdHlwZW9mIGwhPSJmdW5jdGlvbiImJnR5cGVvZiBsIT0ic3ltYm9sIjp4dChuLHIsTixsLHUsbnVsbCkpO3JldHVybjtjYXNlImRpYWxvZyI6WmUoImJlZm9yZXRvZ2dsZSIsbiksWmUoInRvZ2dsZSIsbiksWmUoImNhbmNlbCIsbiksWmUoImNsb3NlIixuKTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOlplKCJsb2FkIixuKTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IobD0wO2w8cWMubGVuZ3RoO2wrKylaZShxY1tsXSxuKTticmVhaztjYXNlImltYWdlIjpaZSgiZXJyb3IiLG4pLFplKCJsb2FkIixuKTticmVhaztjYXNlImRldGFpbHMiOlplKCJ0b2dnbGUiLG4pO2JyZWFrO2Nhc2UiZW1iZWQiOmNhc2Uic291cmNlIjpjYXNlImxpbmsiOlplKCJlcnJvciIsbiksWmUoImxvYWQiLG4pO2Nhc2UiYXJlYSI6Y2FzZSJiYXNlIjpjYXNlImJyIjpjYXNlImNvbCI6Y2FzZSJociI6Y2FzZSJrZXlnZW4iOmNhc2UibWV0YSI6Y2FzZSJwYXJhbSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcihHIGluIHUpaWYodS5oYXNPd25Qcm9wZXJ0eShHKSYmKGw9dVtHXSxsIT1udWxsKSlzd2l0Y2goRyl7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6dGhyb3cgRXJyb3IobygxMzcscikpO2RlZmF1bHQ6eHQobixyLEcsbCx1LG51bGwpfXJldHVybjtkZWZhdWx0OmlmKEwwKHIpKXtmb3IobmUgaW4gdSl1Lmhhc093blByb3BlcnR5KG5lKSYmKGw9dVtuZV0sbCE9PXZvaWQgMCYmRTUobixyLG5lLGwsdSx2b2lkIDApKTtyZXR1cm59fWZvcihTIGluIHUpdS5oYXNPd25Qcm9wZXJ0eShTKSYmKGw9dVtTXSxsIT1udWxsJiZ4dChuLHIsUyxsLHUsbnVsbCkpfWZ1bmN0aW9uIFpJKG4scix1LGwpe3N3aXRjaChyKXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImlucHV0Ijp2YXIgcD1udWxsLHY9bnVsbCxFPW51bGwsUz1udWxsLE49bnVsbCxHPW51bGwsbmU9bnVsbDtmb3IoJCBpbiB1KXt2YXIgb2U9dVskXTtpZih1Lmhhc093blByb3BlcnR5KCQpJiZvZSE9bnVsbClzd2l0Y2goJCl7Y2FzZSJjaGVja2VkIjpicmVhaztjYXNlInZhbHVlIjpicmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6Tj1vZTtkZWZhdWx0OmwuaGFzT3duUHJvcGVydHkoJCl8fHh0KG4sciwkLG51bGwsbCxvZSl9fWZvcih2YXIgSyBpbiBsKXt2YXIgJD1sW0tdO2lmKG9lPXVbS10sbC5oYXNPd25Qcm9wZXJ0eShLKSYmKCQhPW51bGx8fG9lIT1udWxsKSlzd2l0Y2goSyl7Y2FzZSJ0eXBlIjp2PSQ7YnJlYWs7Y2FzZSJuYW1lIjpwPSQ7YnJlYWs7Y2FzZSJjaGVja2VkIjpHPSQ7YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6bmU9JDticmVhaztjYXNlInZhbHVlIjpFPSQ7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOlM9JDticmVhaztjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZigkIT1udWxsKXRocm93IEVycm9yKG8oMTM3LHIpKTticmVhaztkZWZhdWx0OiQhPT1vZSYmeHQobixyLEssJCxsLG9lKX19UjAobixFLFMsTixHLG5lLHYscCk7cmV0dXJuO2Nhc2Uic2VsZWN0IjokPUU9Uz1LPW51bGw7Zm9yKHYgaW4gdSlpZihOPXVbdl0sdS5oYXNPd25Qcm9wZXJ0eSh2KSYmTiE9bnVsbClzd2l0Y2godil7Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJtdWx0aXBsZSI6JD1OO2RlZmF1bHQ6bC5oYXNPd25Qcm9wZXJ0eSh2KXx8eHQobixyLHYsbnVsbCxsLE4pfWZvcihwIGluIGwpaWYodj1sW3BdLE49dVtwXSxsLmhhc093blByb3BlcnR5KHApJiYodiE9bnVsbHx8TiE9bnVsbCkpc3dpdGNoKHApe2Nhc2UidmFsdWUiOks9djticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6Uz12O2JyZWFrO2Nhc2UibXVsdGlwbGUiOkU9djtkZWZhdWx0OnYhPT1OJiZ4dChuLHIscCx2LGwsTil9cj1TLHU9RSxsPSQsSyE9bnVsbD92cyhuLCEhdSxLLCExKTohIWwhPSEhdSYmKHIhPW51bGw/dnMobiwhIXUsciwhMCk6dnMobiwhIXUsdT9bXToiIiwhMSkpO3JldHVybjtjYXNlInRleHRhcmVhIjokPUs9bnVsbDtmb3IoUyBpbiB1KWlmKHA9dVtTXSx1Lmhhc093blByb3BlcnR5KFMpJiZwIT1udWxsJiYhbC5oYXNPd25Qcm9wZXJ0eShTKSlzd2l0Y2goUyl7Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJjaGlsZHJlbiI6YnJlYWs7ZGVmYXVsdDp4dChuLHIsUyxudWxsLGwscCl9Zm9yKEUgaW4gbClpZihwPWxbRV0sdj11W0VdLGwuaGFzT3duUHJvcGVydHkoRSkmJihwIT1udWxsfHx2IT1udWxsKSlzd2l0Y2goRSl7Y2FzZSJ2YWx1ZSI6Sz1wO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjokPXA7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6YnJlYWs7Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYocCE9bnVsbCl0aHJvdyBFcnJvcihvKDkxKSk7YnJlYWs7ZGVmYXVsdDpwIT09diYmeHQobixyLEUscCxsLHYpfWcyKG4sSywkKTtyZXR1cm47Y2FzZSJvcHRpb24iOmZvcih2YXIgRGUgaW4gdSlLPXVbRGVdLHUuaGFzT3duUHJvcGVydHkoRGUpJiZLIT1udWxsJiYhbC5oYXNPd25Qcm9wZXJ0eShEZSkmJihEZT09PSJzZWxlY3RlZCI/bi5zZWxlY3RlZD0hMTp4dChuLHIsRGUsbnVsbCxsLEspKTtmb3IoTiBpbiBsKUs9bFtOXSwkPXVbTl0sbC5oYXNPd25Qcm9wZXJ0eShOKSYmSyE9PSQmJihLIT1udWxsfHwkIT1udWxsKSYmKE49PT0ic2VsZWN0ZWQiP24uc2VsZWN0ZWQ9SyYmdHlwZW9mIEshPSJmdW5jdGlvbiImJnR5cGVvZiBLIT0ic3ltYm9sIjp4dChuLHIsTixLLGwsJCkpO3JldHVybjtjYXNlImltZyI6Y2FzZSJsaW5rIjpjYXNlImFyZWEiOmNhc2UiYmFzZSI6Y2FzZSJiciI6Y2FzZSJjb2wiOmNhc2UiZW1iZWQiOmNhc2UiaHIiOmNhc2Uia2V5Z2VuIjpjYXNlIm1ldGEiOmNhc2UicGFyYW0iOmNhc2Uic291cmNlIjpjYXNlInRyYWNrIjpjYXNlIndiciI6Y2FzZSJtZW51aXRlbSI6Zm9yKHZhciBPZSBpbiB1KUs9dVtPZV0sdS5oYXNPd25Qcm9wZXJ0eShPZSkmJkshPW51bGwmJiFsLmhhc093blByb3BlcnR5KE9lKSYmeHQobixyLE9lLG51bGwsbCxLKTtmb3IoRyBpbiBsKWlmKEs9bFtHXSwkPXVbR10sbC5oYXNPd25Qcm9wZXJ0eShHKSYmSyE9PSQmJihLIT1udWxsfHwkIT1udWxsKSlzd2l0Y2goRyl7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoSyE9bnVsbCl0aHJvdyBFcnJvcihvKDEzNyxyKSk7YnJlYWs7ZGVmYXVsdDp4dChuLHIsRyxLLGwsJCl9cmV0dXJuO2RlZmF1bHQ6aWYoTDAocikpe2Zvcih2YXIgRXQgaW4gdSlLPXVbRXRdLHUuaGFzT3duUHJvcGVydHkoRXQpJiZLIT09dm9pZCAwJiYhbC5oYXNPd25Qcm9wZXJ0eShFdCkmJkU1KG4scixFdCx2b2lkIDAsbCxLKTtmb3IobmUgaW4gbClLPWxbbmVdLCQ9dVtuZV0sIWwuaGFzT3duUHJvcGVydHkobmUpfHxLPT09JHx8Sz09PXZvaWQgMCYmJD09PXZvaWQgMHx8RTUobixyLG5lLEssbCwkKTtyZXR1cm59fWZvcih2YXIgcSBpbiB1KUs9dVtxXSx1Lmhhc093blByb3BlcnR5KHEpJiZLIT1udWxsJiYhbC5oYXNPd25Qcm9wZXJ0eShxKSYmeHQobixyLHEsbnVsbCxsLEspO2ZvcihvZSBpbiBsKUs9bFtvZV0sJD11W29lXSwhbC5oYXNPd25Qcm9wZXJ0eShvZSl8fEs9PT0kfHxLPT1udWxsJiYkPT1udWxsfHx4dChuLHIsb2UsSyxsLCQpfWZ1bmN0aW9uIEU0KG4pe3N3aXRjaChuKXtjYXNlImNzcyI6Y2FzZSJzY3JpcHQiOmNhc2UiZm9udCI6Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UiaW5wdXQiOmNhc2UibGluayI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gSkkoKXtpZih0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZT09ImZ1bmN0aW9uIil7Zm9yKHZhciBuPTAscj0wLHU9cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKSxsPTA7bDx1Lmxlbmd0aDtsKyspe3ZhciBwPXVbbF0sdj1wLnRyYW5zZmVyU2l6ZSxFPXAuaW5pdGlhdG9yVHlwZSxTPXAuZHVyYXRpb247aWYodiYmUyYmRTQoRSkpe2ZvcihFPTAsUz1wLnJlc3BvbnNlRW5kLGwrPTE7bDx1Lmxlbmd0aDtsKyspe3ZhciBOPXVbbF0sRz1OLnN0YXJ0VGltZTtpZihHPlMpYnJlYWs7dmFyIG5lPU4udHJhbnNmZXJTaXplLG9lPU4uaW5pdGlhdG9yVHlwZTtuZSYmRTQob2UpJiYoTj1OLnJlc3BvbnNlRW5kLEUrPW5lKihOPFM/MTooUy1HKS8oTi1HKSkpfWlmKC0tbCxyKz04Kih2K0UpLyhwLmR1cmF0aW9uLzFlMyksbisrLDEwPG4pYnJlYWt9fWlmKDA8bilyZXR1cm4gci9uLzFlNn1yZXR1cm4gbmF2aWdhdG9yLmNvbm5lY3Rpb24mJihuPW5hdmlnYXRvci5jb25uZWN0aW9uLmRvd25saW5rLHR5cGVvZiBuPT0ibnVtYmVyIik/bjo1fXZhciBGNT1udWxsLEM1PW51bGw7ZnVuY3Rpb24gJHAobil7cmV0dXJuIG4ubm9kZVR5cGU9PT05P246bi5vd25lckRvY3VtZW50fWZ1bmN0aW9uIEY0KG4pe3N3aXRjaChuKXtjYXNlImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjpyZXR1cm4gMTtjYXNlImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIEM0KG4scil7aWYobj09PTApc3dpdGNoKHIpe2Nhc2Uic3ZnIjpyZXR1cm4gMTtjYXNlIm1hdGgiOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIDB9cmV0dXJuIG49PT0xJiZyPT09ImZvcmVpZ25PYmplY3QiPzA6bn1mdW5jdGlvbiBENShuLHIpe3JldHVybiBuPT09InRleHRhcmVhInx8bj09PSJub3NjcmlwdCJ8fHR5cGVvZiByLmNoaWxkcmVuPT0ic3RyaW5nInx8dHlwZW9mIHIuY2hpbGRyZW49PSJudW1iZXIifHx0eXBlb2Ygci5jaGlsZHJlbj09ImJpZ2ludCJ8fHR5cGVvZiByLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPT0ib2JqZWN0IiYmci5kYW5nZXJvdXNseVNldElubmVySFRNTCE9PW51bGwmJnIuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sIT1udWxsfXZhciBBNT1udWxsO2Z1bmN0aW9uIGVMKCl7dmFyIG49d2luZG93LmV2ZW50O3JldHVybiBuJiZuLnR5cGU9PT0icG9wc3RhdGUiP249PT1BNT8hMTooQTU9biwhMCk6KEE1PW51bGwsITEpfXZhciBEND10eXBlb2Ygc2V0VGltZW91dD09ImZ1bmN0aW9uIj9zZXRUaW1lb3V0OnZvaWQgMCx0TD10eXBlb2YgY2xlYXJUaW1lb3V0PT0iZnVuY3Rpb24iP2NsZWFyVGltZW91dDp2b2lkIDAsQTQ9dHlwZW9mIFByb21pc2U9PSJmdW5jdGlvbiI/UHJvbWlzZTp2b2lkIDAsbkw9dHlwZW9mIHF1ZXVlTWljcm90YXNrPT0iZnVuY3Rpb24iP3F1ZXVlTWljcm90YXNrOnR5cGVvZiBBNDwidSI/ZnVuY3Rpb24obil7cmV0dXJuIEE0LnJlc29sdmUobnVsbCkudGhlbihuKS5jYXRjaChhTCl9OkQ0O2Z1bmN0aW9uIGFMKG4pe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBufSl9ZnVuY3Rpb24gZHUobil7cmV0dXJuIG49PT0iaGVhZCJ9ZnVuY3Rpb24gUzQobixyKXt2YXIgdT1yLGw9MDtkb3t2YXIgcD11Lm5leHRTaWJsaW5nO2lmKG4ucmVtb3ZlQ2hpbGQodSkscCYmcC5ub2RlVHlwZT09PTgpaWYodT1wLmRhdGEsdT09PSIvJCJ8fHU9PT0iLyYiKXtpZihsPT09MCl7bi5yZW1vdmVDaGlsZChwKSxXcyhyKTtyZXR1cm59bC0tfWVsc2UgaWYodT09PSIkInx8dT09PSIkPyJ8fHU9PT0iJH4ifHx1PT09IiQhInx8dT09PSImIilsKys7ZWxzZSBpZih1PT09Imh0bWwiKVVjKG4ub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpO2Vsc2UgaWYodT09PSJoZWFkIil7dT1uLm93bmVyRG9jdW1lbnQuaGVhZCxVYyh1KTtmb3IodmFyIHY9dS5maXJzdENoaWxkO3Y7KXt2YXIgRT12Lm5leHRTaWJsaW5nLFM9di5ub2RlTmFtZTt2W3NjXXx8Uz09PSJTQ1JJUFQifHxTPT09IlNUWUxFInx8Uz09PSJMSU5LIiYmdi5yZWwudG9Mb3dlckNhc2UoKT09PSJzdHlsZXNoZWV0Inx8dS5yZW1vdmVDaGlsZCh2KSx2PUV9fWVsc2UgdT09PSJib2R5IiYmVWMobi5vd25lckRvY3VtZW50LmJvZHkpO3U9cH13aGlsZSh1KTtXcyhyKX1mdW5jdGlvbiBCNChuLHIpe3ZhciB1PW47bj0wO2Rve3ZhciBsPXUubmV4dFNpYmxpbmc7aWYodS5ub2RlVHlwZT09PTE/cj8odS5fc3Rhc2hlZERpc3BsYXk9dS5zdHlsZS5kaXNwbGF5LHUuc3R5bGUuZGlzcGxheT0ibm9uZSIpOih1LnN0eWxlLmRpc3BsYXk9dS5fc3Rhc2hlZERpc3BsYXl8fCIiLHUuZ2V0QXR0cmlidXRlKCJzdHlsZSIpPT09IiImJnUucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpKTp1Lm5vZGVUeXBlPT09MyYmKHI/KHUuX3N0YXNoZWRUZXh0PXUubm9kZVZhbHVlLHUubm9kZVZhbHVlPSIiKTp1Lm5vZGVWYWx1ZT11Ll9zdGFzaGVkVGV4dHx8IiIpLGwmJmwubm9kZVR5cGU9PT04KWlmKHU9bC5kYXRhLHU9PT0iLyQiKXtpZihuPT09MClicmVhaztuLS19ZWxzZSB1IT09IiQiJiZ1IT09IiQ/IiYmdSE9PSIkfiImJnUhPT0iJCEifHxuKys7dT1sfXdoaWxlKHUpfWZ1bmN0aW9uIFM1KG4pe3ZhciByPW4uZmlyc3RDaGlsZDtmb3IociYmci5ub2RlVHlwZT09PTEwJiYocj1yLm5leHRTaWJsaW5nKTtyOyl7dmFyIHU9cjtzd2l0Y2gocj1yLm5leHRTaWJsaW5nLHUubm9kZU5hbWUpe2Nhc2UiSFRNTCI6Y2FzZSJIRUFEIjpjYXNlIkJPRFkiOlM1KHUpLF8wKHUpO2NvbnRpbnVlO2Nhc2UiU0NSSVBUIjpjYXNlIlNUWUxFIjpjb250aW51ZTtjYXNlIkxJTksiOmlmKHUucmVsLnRvTG93ZXJDYXNlKCk9PT0ic3R5bGVzaGVldCIpY29udGludWV9bi5yZW1vdmVDaGlsZCh1KX19ZnVuY3Rpb24gckwobixyLHUsbCl7Zm9yKDtuLm5vZGVUeXBlPT09MTspe3ZhciBwPXU7aWYobi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09ci50b0xvd2VyQ2FzZSgpKXtpZighbCYmKG4ubm9kZU5hbWUhPT0iSU5QVVQifHxuLnR5cGUhPT0iaGlkZGVuIikpYnJlYWt9ZWxzZSBpZihsKXtpZighbltzY10pc3dpdGNoKHIpe2Nhc2UibWV0YSI6aWYoIW4uaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBuO2Nhc2UibGluayI6aWYodj1uLmdldEF0dHJpYnV0ZSgicmVsIiksdj09PSJzdHlsZXNoZWV0IiYmbi5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO2lmKHYhPT1wLnJlbHx8bi5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShwLmhyZWY9PW51bGx8fHAuaHJlZj09PSIiP251bGw6cC5ocmVmKXx8bi5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0ocC5jcm9zc09yaWdpbj09bnVsbD9udWxsOnAuY3Jvc3NPcmlnaW4pfHxuLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShwLnRpdGxlPT1udWxsP251bGw6cC50aXRsZSkpYnJlYWs7cmV0dXJuIG47Y2FzZSJzdHlsZSI6aWYobi5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBuO2Nhc2Uic2NyaXB0IjppZih2PW4uZ2V0QXR0cmlidXRlKCJzcmMiKSwodiE9PShwLnNyYz09bnVsbD9udWxsOnAuc3JjKXx8bi5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShwLnR5cGU9PW51bGw/bnVsbDpwLnR5cGUpfHxuLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShwLmNyb3NzT3JpZ2luPT1udWxsP251bGw6cC5jcm9zc09yaWdpbikpJiZ2JiZuLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIW4uaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBuO2RlZmF1bHQ6cmV0dXJuIG59fWVsc2UgaWYocj09PSJpbnB1dCImJm4udHlwZT09PSJoaWRkZW4iKXt2YXIgdj1wLm5hbWU9PW51bGw/bnVsbDoiIitwLm5hbWU7aWYocC50eXBlPT09ImhpZGRlbiImJm4uZ2V0QXR0cmlidXRlKCJuYW1lIik9PT12KXJldHVybiBufWVsc2UgcmV0dXJuIG47aWYobj1MYShuLm5leHRTaWJsaW5nKSxuPT09bnVsbClicmVha31yZXR1cm4gbnVsbH1mdW5jdGlvbiBpTChuLHIsdSl7aWYocj09PSIiKXJldHVybiBudWxsO2Zvcig7bi5ub2RlVHlwZSE9PTM7KWlmKChuLm5vZGVUeXBlIT09MXx8bi5ub2RlTmFtZSE9PSJJTlBVVCJ8fG4udHlwZSE9PSJoaWRkZW4iKSYmIXV8fChuPUxhKG4ubmV4dFNpYmxpbmcpLG49PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gbn1mdW5jdGlvbiBrNChuLHIpe2Zvcig7bi5ub2RlVHlwZSE9PTg7KWlmKChuLm5vZGVUeXBlIT09MXx8bi5ub2RlTmFtZSE9PSJJTlBVVCJ8fG4udHlwZSE9PSJoaWRkZW4iKSYmIXJ8fChuPUxhKG4ubmV4dFNpYmxpbmcpLG49PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gbn1mdW5jdGlvbiBCNShuKXtyZXR1cm4gbi5kYXRhPT09IiQ/Inx8bi5kYXRhPT09IiR+In1mdW5jdGlvbiBrNShuKXtyZXR1cm4gbi5kYXRhPT09IiQhInx8bi5kYXRhPT09IiQ/IiYmbi5vd25lckRvY3VtZW50LnJlYWR5U3RhdGUhPT0ibG9hZGluZyJ9ZnVuY3Rpb24gdUwobixyKXt2YXIgdT1uLm93bmVyRG9jdW1lbnQ7aWYobi5kYXRhPT09IiR+IiluLl9yZWFjdFJldHJ5PXI7ZWxzZSBpZihuLmRhdGEhPT0iJD8ifHx1LnJlYWR5U3RhdGUhPT0ibG9hZGluZyIpcigpO2Vsc2V7dmFyIGw9ZnVuY3Rpb24oKXtyKCksdS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixsKX07dS5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixsKSxuLl9yZWFjdFJldHJ5PWx9fWZ1bmN0aW9uIExhKG4pe2Zvcig7biE9bnVsbDtuPW4ubmV4dFNpYmxpbmcpe3ZhciByPW4ubm9kZVR5cGU7aWYocj09PTF8fHI9PT0zKWJyZWFrO2lmKHI9PT04KXtpZihyPW4uZGF0YSxyPT09IiQifHxyPT09IiQhInx8cj09PSIkPyJ8fHI9PT0iJH4ifHxyPT09IiYifHxyPT09IkYhInx8cj09PSJGIilicmVhaztpZihyPT09Ii8kInx8cj09PSIvJiIpcmV0dXJuIG51bGx9fXJldHVybiBufXZhciBUNT1udWxsO2Z1bmN0aW9uIFQ0KG4pe249bi5uZXh0U2libGluZztmb3IodmFyIHI9MDtuOyl7aWYobi5ub2RlVHlwZT09PTgpe3ZhciB1PW4uZGF0YTtpZih1PT09Ii8kInx8dT09PSIvJiIpe2lmKHI9PT0wKXJldHVybiBMYShuLm5leHRTaWJsaW5nKTtyLS19ZWxzZSB1IT09IiQiJiZ1IT09IiQhIiYmdSE9PSIkPyImJnUhPT0iJH4iJiZ1IT09IiYifHxyKyt9bj1uLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGo0KG4pe249bi5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciByPTA7bjspe2lmKG4ubm9kZVR5cGU9PT04KXt2YXIgdT1uLmRhdGE7aWYodT09PSIkInx8dT09PSIkISJ8fHU9PT0iJD8ifHx1PT09IiR+Inx8dT09PSImIil7aWYocj09PTApcmV0dXJuIG47ci0tfWVsc2UgdSE9PSIvJCImJnUhPT0iLyYifHxyKyt9bj1uLnByZXZpb3VzU2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBNNChuLHIsdSl7c3dpdGNoKHI9JHAodSksbil7Y2FzZSJodG1sIjppZihuPXIuZG9jdW1lbnRFbGVtZW50LCFuKXRocm93IEVycm9yKG8oNDUyKSk7cmV0dXJuIG47Y2FzZSJoZWFkIjppZihuPXIuaGVhZCwhbil0aHJvdyBFcnJvcihvKDQ1MykpO3JldHVybiBuO2Nhc2UiYm9keSI6aWYobj1yLmJvZHksIW4pdGhyb3cgRXJyb3Iobyg0NTQpKTtyZXR1cm4gbjtkZWZhdWx0OnRocm93IEVycm9yKG8oNDUxKSl9fWZ1bmN0aW9uIFVjKG4pe2Zvcih2YXIgcj1uLmF0dHJpYnV0ZXM7ci5sZW5ndGg7KW4ucmVtb3ZlQXR0cmlidXRlTm9kZShyWzBdKTtfMChuKX12YXIgemE9bmV3IE1hcCxPND1uZXcgU2V0O2Z1bmN0aW9uIFpwKG4pe3JldHVybiB0eXBlb2Ygbi5nZXRSb290Tm9kZT09ImZ1bmN0aW9uIj9uLmdldFJvb3ROb2RlKCk6bi5ub2RlVHlwZT09PTk/bjpuLm93bmVyRG9jdW1lbnR9dmFyIGNpPVcuZDtXLmQ9e2Y6b0wscjpzTCxEOmxMLEM6Y0wsTDpkTCxtOmZMLFg6dkwsUzpwTCxNOm1MfTtmdW5jdGlvbiBvTCgpe3ZhciBuPWNpLmYoKSxyPXFwKCk7cmV0dXJuIG58fHJ9ZnVuY3Rpb24gc0wobil7dmFyIHI9ZHMobik7ciE9PW51bGwmJnIudGFnPT09NSYmci50eXBlPT09ImZvcm0iP0s4KHIpOmNpLnIobil9dmFyIFZzPXR5cGVvZiBkb2N1bWVudD4idSI/bnVsbDpkb2N1bWVudDtmdW5jdGlvbiBfNChuLHIsdSl7dmFyIGw9VnM7aWYobCYmdHlwZW9mIHI9PSJzdHJpbmciJiZyKXt2YXIgcD1qYShyKTtwPSdsaW5rW3JlbD0iJytuKyciXVtocmVmPSInK3ArJyJdJyx0eXBlb2YgdT09InN0cmluZyImJihwKz0nW2Nyb3Nzb3JpZ2luPSInK3UrJyJdJyksTzQuaGFzKHApfHwoTzQuYWRkKHApLG49e3JlbDpuLGNyb3NzT3JpZ2luOnUsaHJlZjpyfSxsLnF1ZXJ5U2VsZWN0b3IocCk9PT1udWxsJiYocj1sLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxrbihyLCJsaW5rIixuKSxnbihyKSxsLmhlYWQuYXBwZW5kQ2hpbGQocikpKX19ZnVuY3Rpb24gbEwobil7Y2kuRChuKSxfNCgiZG5zLXByZWZldGNoIixuLG51bGwpfWZ1bmN0aW9uIGNMKG4scil7Y2kuQyhuLHIpLF80KCJwcmVjb25uZWN0IixuLHIpfWZ1bmN0aW9uIGRMKG4scix1KXtjaS5MKG4scix1KTt2YXIgbD1WcztpZihsJiZuJiZyKXt2YXIgcD0nbGlua1tyZWw9InByZWxvYWQiXVthcz0iJytqYShyKSsnIl0nO3I9PT0iaW1hZ2UiJiZ1JiZ1LmltYWdlU3JjU2V0PyhwKz0nW2ltYWdlc3Jjc2V0PSInK2phKHUuaW1hZ2VTcmNTZXQpKyciXScsdHlwZW9mIHUuaW1hZ2VTaXplcz09InN0cmluZyImJihwKz0nW2ltYWdlc2l6ZXM9IicramEodS5pbWFnZVNpemVzKSsnIl0nKSk6cCs9J1tocmVmPSInK2phKG4pKyciXSc7dmFyIHY9cDtzd2l0Y2gocil7Y2FzZSJzdHlsZSI6dj1HcyhuKTticmVhaztjYXNlInNjcmlwdCI6dj1ZcyhuKX16YS5oYXModil8fChuPXkoe3JlbDoicHJlbG9hZCIsaHJlZjpyPT09ImltYWdlIiYmdSYmdS5pbWFnZVNyY1NldD92b2lkIDA6bixhczpyfSx1KSx6YS5zZXQodixuKSxsLnF1ZXJ5U2VsZWN0b3IocCkhPT1udWxsfHxyPT09InN0eWxlIiYmbC5xdWVyeVNlbGVjdG9yKFZjKHYpKXx8cj09PSJzY3JpcHQiJiZsLnF1ZXJ5U2VsZWN0b3IoR2ModikpfHwocj1sLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxrbihyLCJsaW5rIixuKSxnbihyKSxsLmhlYWQuYXBwZW5kQ2hpbGQocikpKX19ZnVuY3Rpb24gZkwobixyKXtjaS5tKG4scik7dmFyIHU9VnM7aWYodSYmbil7dmFyIGw9ciYmdHlwZW9mIHIuYXM9PSJzdHJpbmciP3IuYXM6InNjcmlwdCIscD0nbGlua1tyZWw9Im1vZHVsZXByZWxvYWQiXVthcz0iJytqYShsKSsnIl1baHJlZj0iJytqYShuKSsnIl0nLHY9cDtzd2l0Y2gobCl7Y2FzZSJhdWRpb3dvcmtsZXQiOmNhc2UicGFpbnR3b3JrbGV0IjpjYXNlInNlcnZpY2V3b3JrZXIiOmNhc2Uic2hhcmVkd29ya2VyIjpjYXNlIndvcmtlciI6Y2FzZSJzY3JpcHQiOnY9WXMobil9aWYoIXphLmhhcyh2KSYmKG49eSh7cmVsOiJtb2R1bGVwcmVsb2FkIixocmVmOm59LHIpLHphLnNldCh2LG4pLHUucXVlcnlTZWxlY3RvcihwKT09PW51bGwpKXtzd2l0Y2gobCl7Y2FzZSJhdWRpb3dvcmtsZXQiOmNhc2UicGFpbnR3b3JrbGV0IjpjYXNlInNlcnZpY2V3b3JrZXIiOmNhc2Uic2hhcmVkd29ya2VyIjpjYXNlIndvcmtlciI6Y2FzZSJzY3JpcHQiOmlmKHUucXVlcnlTZWxlY3RvcihHYyh2KSkpcmV0dXJufWw9dS5jcmVhdGVFbGVtZW50KCJsaW5rIiksa24obCwibGluayIsbiksZ24obCksdS5oZWFkLmFwcGVuZENoaWxkKGwpfX19ZnVuY3Rpb24gcEwobixyLHUpe2NpLlMobixyLHUpO3ZhciBsPVZzO2lmKGwmJm4pe3ZhciBwPWZzKGwpLmhvaXN0YWJsZVN0eWxlcyx2PUdzKG4pO3I9cnx8ImRlZmF1bHQiO3ZhciBFPXAuZ2V0KHYpO2lmKCFFKXt2YXIgUz17bG9hZGluZzowLHByZWxvYWQ6bnVsbH07aWYoRT1sLnF1ZXJ5U2VsZWN0b3IoVmModikpKVMubG9hZGluZz01O2Vsc2V7bj15KHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6biwiZGF0YS1wcmVjZWRlbmNlIjpyfSx1KSwodT16YS5nZXQodikpJiZqNShuLHUpO3ZhciBOPUU9bC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Z24oTiksa24oTiwibGluayIsbiksTi5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihHLG5lKXtOLm9ubG9hZD1HLE4ub25lcnJvcj1uZX0pLE4uYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtTLmxvYWRpbmd8PTF9KSxOLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbigpe1MubG9hZGluZ3w9Mn0pLFMubG9hZGluZ3w9NCxKcChFLHIsbCl9RT17dHlwZToic3R5bGVzaGVldCIsaW5zdGFuY2U6RSxjb3VudDoxLHN0YXRlOlN9LHAuc2V0KHYsRSl9fX1mdW5jdGlvbiB2TChuLHIpe2NpLlgobixyKTt2YXIgdT1WcztpZih1JiZuKXt2YXIgbD1mcyh1KS5ob2lzdGFibGVTY3JpcHRzLHA9WXMobiksdj1sLmdldChwKTt2fHwodj11LnF1ZXJ5U2VsZWN0b3IoR2MocCkpLHZ8fChuPXkoe3NyYzpuLGFzeW5jOiEwfSxyKSwocj16YS5nZXQocCkpJiZNNShuLHIpLHY9dS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxnbih2KSxrbih2LCJsaW5rIixuKSx1LmhlYWQuYXBwZW5kQ2hpbGQodikpLHY9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6dixjb3VudDoxLHN0YXRlOm51bGx9LGwuc2V0KHAsdikpfX1mdW5jdGlvbiBtTChuLHIpe2NpLk0obixyKTt2YXIgdT1WcztpZih1JiZuKXt2YXIgbD1mcyh1KS5ob2lzdGFibGVTY3JpcHRzLHA9WXMobiksdj1sLmdldChwKTt2fHwodj11LnF1ZXJ5U2VsZWN0b3IoR2MocCkpLHZ8fChuPXkoe3NyYzpuLGFzeW5jOiEwLHR5cGU6Im1vZHVsZSJ9LHIpLChyPXphLmdldChwKSkmJk01KG4sciksdj11LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGduKHYpLGtuKHYsImxpbmsiLG4pLHUuaGVhZC5hcHBlbmRDaGlsZCh2KSksdj17dHlwZToic2NyaXB0IixpbnN0YW5jZTp2LGNvdW50OjEsc3RhdGU6bnVsbH0sbC5zZXQocCx2KSl9fWZ1bmN0aW9uIE40KG4scix1LGwpe3ZhciBwPShwPUouY3VycmVudCk/WnAocCk6bnVsbDtpZighcCl0aHJvdyBFcnJvcihvKDQ0NikpO3N3aXRjaChuKXtjYXNlIm1ldGEiOmNhc2UidGl0bGUiOnJldHVybiBudWxsO2Nhc2Uic3R5bGUiOnJldHVybiB0eXBlb2YgdS5wcmVjZWRlbmNlPT0ic3RyaW5nIiYmdHlwZW9mIHUuaHJlZj09InN0cmluZyI/KHI9R3ModS5ocmVmKSx1PWZzKHApLmhvaXN0YWJsZVN0eWxlcyxsPXUuZ2V0KHIpLGx8fChsPXt0eXBlOiJzdHlsZSIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LHUuc2V0KHIsbCkpLGwpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07Y2FzZSJsaW5rIjppZih1LnJlbD09PSJzdHlsZXNoZWV0IiYmdHlwZW9mIHUuaHJlZj09InN0cmluZyImJnR5cGVvZiB1LnByZWNlZGVuY2U9PSJzdHJpbmciKXtuPUdzKHUuaHJlZik7dmFyIHY9ZnMocCkuaG9pc3RhYmxlU3R5bGVzLEU9di5nZXQobik7aWYoRXx8KHA9cC5vd25lckRvY3VtZW50fHxwLEU9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LHYuc2V0KG4sRSksKHY9cC5xdWVyeVNlbGVjdG9yKFZjKG4pKSkmJiF2Ll9wJiYoRS5pbnN0YW5jZT12LEUuc3RhdGUubG9hZGluZz01KSx6YS5oYXMobil8fCh1PXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjp1LmhyZWYsY3Jvc3NPcmlnaW46dS5jcm9zc09yaWdpbixpbnRlZ3JpdHk6dS5pbnRlZ3JpdHksbWVkaWE6dS5tZWRpYSxocmVmTGFuZzp1LmhyZWZMYW5nLHJlZmVycmVyUG9saWN5OnUucmVmZXJyZXJQb2xpY3l9LHphLnNldChuLHUpLHZ8fGhMKHAsbix1LEUuc3RhdGUpKSksciYmbD09PW51bGwpdGhyb3cgRXJyb3Iobyg1MjgsIiIpKTtyZXR1cm4gRX1pZihyJiZsIT09bnVsbCl0aHJvdyBFcnJvcihvKDUyOSwiIikpO3JldHVybiBudWxsO2Nhc2Uic2NyaXB0IjpyZXR1cm4gcj11LmFzeW5jLHU9dS5zcmMsdHlwZW9mIHU9PSJzdHJpbmciJiZyJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIiYmdHlwZW9mIHIhPSJzeW1ib2wiPyhyPVlzKHUpLHU9ZnMocCkuaG9pc3RhYmxlU2NyaXB0cyxsPXUuZ2V0KHIpLGx8fChsPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSx1LnNldChyLGwpKSxsKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2RlZmF1bHQ6dGhyb3cgRXJyb3Iobyg0NDQsbikpfX1mdW5jdGlvbiBHcyhuKXtyZXR1cm4naHJlZj0iJytqYShuKSsnIid9ZnVuY3Rpb24gVmMobil7cmV0dXJuJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bJytuKyJdIn1mdW5jdGlvbiBSNChuKXtyZXR1cm4geSh7fSxuLHsiZGF0YS1wcmVjZWRlbmNlIjpuLnByZWNlZGVuY2UscHJlY2VkZW5jZTpudWxsfSl9ZnVuY3Rpb24gaEwobixyLHUsbCl7bi5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrcisiXSIpP2wubG9hZGluZz0xOihyPW4uY3JlYXRlRWxlbWVudCgibGluayIpLGwucHJlbG9hZD1yLHIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtyZXR1cm4gbC5sb2FkaW5nfD0xfSksci5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZnVuY3Rpb24oKXtyZXR1cm4gbC5sb2FkaW5nfD0yfSksa24ociwibGluayIsdSksZ24ociksbi5oZWFkLmFwcGVuZENoaWxkKHIpKX1mdW5jdGlvbiBZcyhuKXtyZXR1cm4nW3NyYz0iJytqYShuKSsnIl0nfWZ1bmN0aW9uIEdjKG4pe3JldHVybiJzY3JpcHRbYXN5bmNdIitufWZ1bmN0aW9uIEk0KG4scix1KXtpZihyLmNvdW50Kyssci5pbnN0YW5jZT09PW51bGwpc3dpdGNoKHIudHlwZSl7Y2FzZSJzdHlsZSI6dmFyIGw9bi5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWZ+PSInK2phKHUuaHJlZikrJyJdJyk7aWYobClyZXR1cm4gci5pbnN0YW5jZT1sLGduKGwpLGw7dmFyIHA9eSh7fSx1LHsiZGF0YS1ocmVmIjp1LmhyZWYsImRhdGEtcHJlY2VkZW5jZSI6dS5wcmVjZWRlbmNlLGhyZWY6bnVsbCxwcmVjZWRlbmNlOm51bGx9KTtyZXR1cm4gbD0obi5vd25lckRvY3VtZW50fHxuKS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLGduKGwpLGtuKGwsInN0eWxlIixwKSxKcChsLHUucHJlY2VkZW5jZSxuKSxyLmluc3RhbmNlPWw7Y2FzZSJzdHlsZXNoZWV0IjpwPUdzKHUuaHJlZik7dmFyIHY9bi5xdWVyeVNlbGVjdG9yKFZjKHApKTtpZih2KXJldHVybiByLnN0YXRlLmxvYWRpbmd8PTQsci5pbnN0YW5jZT12LGduKHYpLHY7bD1SNCh1KSwocD16YS5nZXQocCkpJiZqNShsLHApLHY9KG4ub3duZXJEb2N1bWVudHx8bikuY3JlYXRlRWxlbWVudCgibGluayIpLGduKHYpO3ZhciBFPXY7cmV0dXJuIEUuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oUyxOKXtFLm9ubG9hZD1TLEUub25lcnJvcj1OfSksa24odiwibGluayIsbCksci5zdGF0ZS5sb2FkaW5nfD00LEpwKHYsdS5wcmVjZWRlbmNlLG4pLHIuaW5zdGFuY2U9djtjYXNlInNjcmlwdCI6cmV0dXJuIHY9WXModS5zcmMpLChwPW4ucXVlcnlTZWxlY3RvcihHYyh2KSkpPyhyLmluc3RhbmNlPXAsZ24ocCkscCk6KGw9dSwocD16YS5nZXQodikpJiYobD15KHt9LHUpLE01KGwscCkpLG49bi5vd25lckRvY3VtZW50fHxuLHA9bi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxnbihwKSxrbihwLCJsaW5rIixsKSxuLmhlYWQuYXBwZW5kQ2hpbGQocCksci5pbnN0YW5jZT1wKTtjYXNlInZvaWQiOnJldHVybiBudWxsO2RlZmF1bHQ6dGhyb3cgRXJyb3Iobyg0NDMsci50eXBlKSl9ZWxzZSByLnR5cGU9PT0ic3R5bGVzaGVldCImJihyLnN0YXRlLmxvYWRpbmcmNCk9PT0wJiYobD1yLmluc3RhbmNlLHIuc3RhdGUubG9hZGluZ3w9NCxKcChsLHUucHJlY2VkZW5jZSxuKSk7cmV0dXJuIHIuaW5zdGFuY2V9ZnVuY3Rpb24gSnAobixyLHUpe2Zvcih2YXIgbD11LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bZGF0YS1wcmVjZWRlbmNlXSxzdHlsZVtkYXRhLXByZWNlZGVuY2VdJykscD1sLmxlbmd0aD9sW2wubGVuZ3RoLTFdOm51bGwsdj1wLEU9MDtFPGwubGVuZ3RoO0UrKyl7dmFyIFM9bFtFXTtpZihTLmRhdGFzZXQucHJlY2VkZW5jZT09PXIpdj1TO2Vsc2UgaWYodiE9PXApYnJlYWt9dj92LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sdi5uZXh0U2libGluZyk6KHI9dS5ub2RlVHlwZT09PTk/dS5oZWFkOnUsci5pbnNlcnRCZWZvcmUobixyLmZpcnN0Q2hpbGQpKX1mdW5jdGlvbiBqNShuLHIpe24uY3Jvc3NPcmlnaW49PW51bGwmJihuLmNyb3NzT3JpZ2luPXIuY3Jvc3NPcmlnaW4pLG4ucmVmZXJyZXJQb2xpY3k9PW51bGwmJihuLnJlZmVycmVyUG9saWN5PXIucmVmZXJyZXJQb2xpY3kpLG4udGl0bGU9PW51bGwmJihuLnRpdGxlPXIudGl0bGUpfWZ1bmN0aW9uIE01KG4scil7bi5jcm9zc09yaWdpbj09bnVsbCYmKG4uY3Jvc3NPcmlnaW49ci5jcm9zc09yaWdpbiksbi5yZWZlcnJlclBvbGljeT09bnVsbCYmKG4ucmVmZXJyZXJQb2xpY3k9ci5yZWZlcnJlclBvbGljeSksbi5pbnRlZ3JpdHk9PW51bGwmJihuLmludGVncml0eT1yLmludGVncml0eSl9dmFyIGV2PW51bGw7ZnVuY3Rpb24gTDQobixyLHUpe2lmKGV2PT09bnVsbCl7dmFyIGw9bmV3IE1hcCxwPWV2PW5ldyBNYXA7cC5zZXQodSxsKX1lbHNlIHA9ZXYsbD1wLmdldCh1KSxsfHwobD1uZXcgTWFwLHAuc2V0KHUsbCkpO2lmKGwuaGFzKG4pKXJldHVybiBsO2ZvcihsLnNldChuLG51bGwpLHU9dS5nZXRFbGVtZW50c0J5VGFnTmFtZShuKSxwPTA7cDx1Lmxlbmd0aDtwKyspe3ZhciB2PXVbcF07aWYoISh2W3NjXXx8dltFZV18fG49PT0ibGluayImJnYuZ2V0QXR0cmlidXRlKCJyZWwiKT09PSJzdHlsZXNoZWV0IikmJnYubmFtZXNwYWNlVVJJIT09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIil7dmFyIEU9di5nZXRBdHRyaWJ1dGUocil8fCIiO0U9bitFO3ZhciBTPWwuZ2V0KEUpO1M/Uy5wdXNoKHYpOmwuc2V0KEUsW3ZdKX19cmV0dXJuIGx9ZnVuY3Rpb24gejQobixyLHUpe249bi5vd25lckRvY3VtZW50fHxuLG4uaGVhZC5pbnNlcnRCZWZvcmUodSxyPT09InRpdGxlIj9uLnF1ZXJ5U2VsZWN0b3IoImhlYWQgPiB0aXRsZSIpOm51bGwpfWZ1bmN0aW9uIGdMKG4scix1KXtpZih1PT09MXx8ci5pdGVtUHJvcCE9bnVsbClyZXR1cm4hMTtzd2l0Y2gobil7Y2FzZSJtZXRhIjpjYXNlInRpdGxlIjpyZXR1cm4hMDtjYXNlInN0eWxlIjppZih0eXBlb2Ygci5wcmVjZWRlbmNlIT0ic3RyaW5nInx8dHlwZW9mIHIuaHJlZiE9InN0cmluZyJ8fHIuaHJlZj09PSIiKWJyZWFrO3JldHVybiEwO2Nhc2UibGluayI6aWYodHlwZW9mIHIucmVsIT0ic3RyaW5nInx8dHlwZW9mIHIuaHJlZiE9InN0cmluZyJ8fHIuaHJlZj09PSIifHxyLm9uTG9hZHx8ci5vbkVycm9yKWJyZWFrO3JldHVybiByLnJlbD09PSJzdHlsZXNoZWV0Ij8obj1yLmRpc2FibGVkLHR5cGVvZiByLnByZWNlZGVuY2U9PSJzdHJpbmciJiZuPT1udWxsKTohMDtjYXNlInNjcmlwdCI6aWYoci5hc3luYyYmdHlwZW9mIHIuYXN5bmMhPSJmdW5jdGlvbiImJnR5cGVvZiByLmFzeW5jIT0ic3ltYm9sIiYmIXIub25Mb2FkJiYhci5vbkVycm9yJiZyLnNyYyYmdHlwZW9mIHIuc3JjPT0ic3RyaW5nIilyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBINChuKXtyZXR1cm4hKG4udHlwZT09PSJzdHlsZXNoZWV0IiYmKG4uc3RhdGUubG9hZGluZyYzKT09PTApfWZ1bmN0aW9uIGJMKG4scix1LGwpe2lmKHUudHlwZT09PSJzdHlsZXNoZWV0IiYmKHR5cGVvZiBsLm1lZGlhIT0ic3RyaW5nInx8bWF0Y2hNZWRpYShsLm1lZGlhKS5tYXRjaGVzIT09ITEpJiYodS5zdGF0ZS5sb2FkaW5nJjQpPT09MCl7aWYodS5pbnN0YW5jZT09PW51bGwpe3ZhciBwPUdzKGwuaHJlZiksdj1yLnF1ZXJ5U2VsZWN0b3IoVmMocCkpO2lmKHYpe3I9di5fcCxyIT09bnVsbCYmdHlwZW9mIHI9PSJvYmplY3QiJiZ0eXBlb2Ygci50aGVuPT0iZnVuY3Rpb24iJiYobi5jb3VudCsrLG49dHYuYmluZChuKSxyLnRoZW4obixuKSksdS5zdGF0ZS5sb2FkaW5nfD00LHUuaW5zdGFuY2U9dixnbih2KTtyZXR1cm59dj1yLm93bmVyRG9jdW1lbnR8fHIsbD1SNChsKSwocD16YS5nZXQocCkpJiZqNShsLHApLHY9di5jcmVhdGVFbGVtZW50KCJsaW5rIiksZ24odik7dmFyIEU9djtFLl9wPW5ldyBQcm9taXNlKGZ1bmN0aW9uKFMsTil7RS5vbmxvYWQ9UyxFLm9uZXJyb3I9Tn0pLGtuKHYsImxpbmsiLGwpLHUuaW5zdGFuY2U9dn1uLnN0eWxlc2hlZXRzPT09bnVsbCYmKG4uc3R5bGVzaGVldHM9bmV3IE1hcCksbi5zdHlsZXNoZWV0cy5zZXQodSxyKSwocj11LnN0YXRlLnByZWxvYWQpJiYodS5zdGF0ZS5sb2FkaW5nJjMpPT09MCYmKG4uY291bnQrKyx1PXR2LmJpbmQobiksci5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix1KSxyLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIix1KSl9fXZhciBPNT0wO2Z1bmN0aW9uIHlMKG4scil7cmV0dXJuIG4uc3R5bGVzaGVldHMmJm4uY291bnQ9PT0wJiZhdihuLG4uc3R5bGVzaGVldHMpLDA8bi5jb3VudHx8MDxuLmltZ0NvdW50P2Z1bmN0aW9uKHUpe3ZhciBsPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihuLnN0eWxlc2hlZXRzJiZhdihuLG4uc3R5bGVzaGVldHMpLG4udW5zdXNwZW5kKXt2YXIgdj1uLnVuc3VzcGVuZDtuLnVuc3VzcGVuZD1udWxsLHYoKX19LDZlNCtyKTswPG4uaW1nQnl0ZXMmJk81PT09MCYmKE81PTYyNTAwKkpJKCkpO3ZhciBwPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihuLndhaXRpbmdGb3JJbWFnZXM9ITEsbi5jb3VudD09PTAmJihuLnN0eWxlc2hlZXRzJiZhdihuLG4uc3R5bGVzaGVldHMpLG4udW5zdXNwZW5kKSl7dmFyIHY9bi51bnN1c3BlbmQ7bi51bnN1c3BlbmQ9bnVsbCx2KCl9fSwobi5pbWdCeXRlcz5PNT81MDo4MDApK3IpO3JldHVybiBuLnVuc3VzcGVuZD11LGZ1bmN0aW9uKCl7bi51bnN1c3BlbmQ9bnVsbCxjbGVhclRpbWVvdXQobCksY2xlYXJUaW1lb3V0KHApfX06bnVsbH1mdW5jdGlvbiB0digpe2lmKHRoaXMuY291bnQtLSx0aGlzLmNvdW50PT09MCYmKHRoaXMuaW1nQ291bnQ9PT0wfHwhdGhpcy53YWl0aW5nRm9ySW1hZ2VzKSl7aWYodGhpcy5zdHlsZXNoZWV0cylhdih0aGlzLHRoaXMuc3R5bGVzaGVldHMpO2Vsc2UgaWYodGhpcy51bnN1c3BlbmQpe3ZhciBuPXRoaXMudW5zdXNwZW5kO3RoaXMudW5zdXNwZW5kPW51bGwsbigpfX19dmFyIG52PW51bGw7ZnVuY3Rpb24gYXYobixyKXtuLnN0eWxlc2hlZXRzPW51bGwsbi51bnN1c3BlbmQhPT1udWxsJiYobi5jb3VudCsrLG52PW5ldyBNYXAsci5mb3JFYWNoKHdMLG4pLG52PW51bGwsdHYuY2FsbChuKSl9ZnVuY3Rpb24gd0wobixyKXtpZighKHIuc3RhdGUubG9hZGluZyY0KSl7dmFyIHU9bnYuZ2V0KG4pO2lmKHUpdmFyIGw9dS5nZXQobnVsbCk7ZWxzZXt1PW5ldyBNYXAsbnYuc2V0KG4sdSk7Zm9yKHZhciBwPW4ucXVlcnlTZWxlY3RvckFsbCgibGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0iKSx2PTA7djxwLmxlbmd0aDt2Kyspe3ZhciBFPXBbdl07KEUubm9kZU5hbWU9PT0iTElOSyJ8fEUuZ2V0QXR0cmlidXRlKCJtZWRpYSIpIT09Im5vdCBhbGwiKSYmKHUuc2V0KEUuZGF0YXNldC5wcmVjZWRlbmNlLEUpLGw9RSl9bCYmdS5zZXQobnVsbCxsKX1wPXIuaW5zdGFuY2UsRT1wLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIiksdj11LmdldChFKXx8bCx2PT09bCYmdS5zZXQobnVsbCxwKSx1LnNldChFLHApLHRoaXMuY291bnQrKyxsPXR2LmJpbmQodGhpcykscC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixsKSxwLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixsKSx2P3YucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocCx2Lm5leHRTaWJsaW5nKToobj1uLm5vZGVUeXBlPT09OT9uLmhlYWQ6bixuLmluc2VydEJlZm9yZShwLG4uZmlyc3RDaGlsZCkpLHIuc3RhdGUubG9hZGluZ3w9NH19dmFyIFljPXskJHR5cGVvZjpULFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfY3VycmVudFZhbHVlOlgsX2N1cnJlbnRWYWx1ZTI6WCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24geEwobixyLHUsbCxwLHYsRSxTLE4pe3RoaXMudGFnPTEsdGhpcy5jb250YWluZXJJbmZvPW4sdGhpcy5waW5nQ2FjaGU9dGhpcy5jdXJyZW50PXRoaXMucGVuZGluZ0NoaWxkcmVuPW51bGwsdGhpcy50aW1lb3V0SGFuZGxlPS0xLHRoaXMuY2FsbGJhY2tOb2RlPXRoaXMubmV4dD10aGlzLnBlbmRpbmdDb250ZXh0PXRoaXMuY29udGV4dD10aGlzLmNhbmNlbFBlbmRpbmdDb21taXQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV4cGlyYXRpb25UaW1lcz1rYSgtMSksdGhpcy5lbnRhbmdsZWRMYW5lcz10aGlzLnNoZWxsU3VzcGVuZENvdW50ZXI9dGhpcy5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLndhcm1MYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9a2EoMCksdGhpcy5oaWRkZW5VcGRhdGVzPWthKG51bGwpLHRoaXMuaWRlbnRpZmllclByZWZpeD1sLHRoaXMub25VbmNhdWdodEVycm9yPXAsdGhpcy5vbkNhdWdodEVycm9yPXYsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9RSx0aGlzLnBvb2xlZENhY2hlPW51bGwsdGhpcy5wb29sZWRDYWNoZUxhbmVzPTAsdGhpcy5mb3JtU3RhdGU9Tix0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucz1uZXcgTWFwfWZ1bmN0aW9uIHE0KG4scix1LGwscCx2LEUsUyxOLEcsbmUsb2Upe3JldHVybiBuPW5ldyB4TChuLHIsdSxFLE4sRyxuZSxvZSxTKSxyPTEsdj09PSEwJiYocnw9MjQpLHY9ZGEoMyxudWxsLG51bGwsciksbi5jdXJyZW50PXYsdi5zdGF0ZU5vZGU9bixyPXZnKCksci5yZWZDb3VudCsrLG4ucG9vbGVkQ2FjaGU9cixyLnJlZkNvdW50Kyssdi5tZW1vaXplZFN0YXRlPXtlbGVtZW50OmwsaXNEZWh5ZHJhdGVkOnUsY2FjaGU6cn0sYmcodiksbn1mdW5jdGlvbiBQNChuKXtyZXR1cm4gbj8obj1GcyxuKTpGc31mdW5jdGlvbiBVNChuLHIsdSxsLHAsdil7cD1QNChwKSxsLmNvbnRleHQ9PT1udWxsP2wuY29udGV4dD1wOmwucGVuZGluZ0NvbnRleHQ9cCxsPWV1KHIpLGwucGF5bG9hZD17ZWxlbWVudDp1fSx2PXY9PT12b2lkIDA/bnVsbDp2LHYhPT1udWxsJiYobC5jYWxsYmFjaz12KSx1PXR1KG4sbCxyKSx1IT09bnVsbCYmKGFhKHUsbixyKSxDYyh1LG4scikpfWZ1bmN0aW9uIFY0KG4scil7aWYobj1uLm1lbW9pemVkU3RhdGUsbiE9PW51bGwmJm4uZGVoeWRyYXRlZCE9PW51bGwpe3ZhciB1PW4ucmV0cnlMYW5lO24ucmV0cnlMYW5lPXUhPT0wJiZ1PHI/dTpyfX1mdW5jdGlvbiBfNShuLHIpe1Y0KG4sciksKG49bi5hbHRlcm5hdGUpJiZWNChuLHIpfWZ1bmN0aW9uIEc0KG4pe2lmKG4udGFnPT09MTN8fG4udGFnPT09MzEpe3ZhciByPW5vKG4sNjcxMDg4NjQpO3IhPT1udWxsJiZhYShyLG4sNjcxMDg4NjQpLF81KG4sNjcxMDg4NjQpfX1mdW5jdGlvbiBZNChuKXtpZihuLnRhZz09PTEzfHxuLnRhZz09PTMxKXt2YXIgcj1oYSgpO3I9bHMocik7dmFyIHU9bm8obixyKTt1IT09bnVsbCYmYWEodSxuLHIpLF81KG4scil9fXZhciBydj0hMDtmdW5jdGlvbiBFTChuLHIsdSxsKXt2YXIgcD1VLlQ7VS5UPW51bGw7dmFyIHY9Vy5wO3RyeXtXLnA9MixONShuLHIsdSxsKX1maW5hbGx5e1cucD12LFUuVD1wfX1mdW5jdGlvbiBGTChuLHIsdSxsKXt2YXIgcD1VLlQ7VS5UPW51bGw7dmFyIHY9Vy5wO3RyeXtXLnA9OCxONShuLHIsdSxsKX1maW5hbGx5e1cucD12LFUuVD1wfX1mdW5jdGlvbiBONShuLHIsdSxsKXtpZihydil7dmFyIHA9UjUobCk7aWYocD09PW51bGwpeDUobixyLGwsaXYsdSksSzQobixsKTtlbHNlIGlmKERMKHAsbixyLHUsbCkpbC5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEs0KG4sbCksciY0JiYtMTxDTC5pbmRleE9mKG4pKXtmb3IoO3AhPT1udWxsOyl7dmFyIHY9ZHMocCk7aWYodiE9PW51bGwpc3dpdGNoKHYudGFnKXtjYXNlIDM6aWYodj12LnN0YXRlTm9kZSx2LmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBFPWlyKHYucGVuZGluZ0xhbmVzKTtpZihFIT09MCl7dmFyIFM9djtmb3IoUy5wZW5kaW5nTGFuZXN8PTIsUy5lbnRhbmdsZWRMYW5lc3w9MjtFOyl7dmFyIE49MTw8MzEtaG4oRSk7Uy5lbnRhbmdsZW1lbnRzWzFdfD1OLEUmPX5OfURyKHYpLChmdCY2KT09PTAmJih6cD1wZSgpKzUwMCxIYygwLCExKSl9fWJyZWFrO2Nhc2UgMzE6Y2FzZSAxMzpTPW5vKHYsMiksUyE9PW51bGwmJmFhKFMsdiwyKSxxcCgpLF81KHYsMil9aWYodj1SNShsKSx2PT09bnVsbCYmeDUobixyLGwsaXYsdSksdj09PXApYnJlYWs7cD12fXAhPT1udWxsJiZsLnN0b3BQcm9wYWdhdGlvbigpfWVsc2UgeDUobixyLGwsbnVsbCx1KX19ZnVuY3Rpb24gUjUobil7cmV0dXJuIG49SDAobiksSTUobil9dmFyIGl2PW51bGw7ZnVuY3Rpb24gSTUobil7aWYoaXY9bnVsbCxuPWNzKG4pLG4hPT1udWxsKXt2YXIgcj1kKG4pO2lmKHI9PT1udWxsKW49bnVsbDtlbHNle3ZhciB1PXIudGFnO2lmKHU9PT0xMyl7aWYobj1mKHIpLG4hPT1udWxsKXJldHVybiBuO249bnVsbH1lbHNlIGlmKHU9PT0zMSl7aWYobj1tKHIpLG4hPT1udWxsKXJldHVybiBuO249bnVsbH1lbHNlIGlmKHU9PT0zKXtpZihyLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiByLnRhZz09PTM/ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO249bnVsbH1lbHNlIHIhPT1uJiYobj1udWxsKX19cmV0dXJuIGl2PW4sbnVsbH1mdW5jdGlvbiBXNChuKXtzd2l0Y2gobil7Y2FzZSJiZWZvcmV0b2dnbGUiOmNhc2UiY2FuY2VsIjpjYXNlImNsaWNrIjpjYXNlImNsb3NlIjpjYXNlImNvbnRleHRtZW51IjpjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmNhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6Y2FzZSJpbnB1dCI6Y2FzZSJpbnZhbGlkIjpjYXNlImtleWRvd24iOmNhc2Uia2V5cHJlc3MiOmNhc2Uia2V5dXAiOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNldXAiOmNhc2UicGFzdGUiOmNhc2UicGF1c2UiOmNhc2UicGxheSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJ1cCI6Y2FzZSJyYXRlY2hhbmdlIjpjYXNlInJlc2V0IjpjYXNlInJlc2l6ZSI6Y2FzZSJzZWVrZWQiOmNhc2Uic3VibWl0IjpjYXNlInRvZ2dsZSI6Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaHN0YXJ0IjpjYXNlInZvbHVtZWNoYW5nZSI6Y2FzZSJjaGFuZ2UiOmNhc2Uic2VsZWN0aW9uY2hhbmdlIjpjYXNlInRleHRJbnB1dCI6Y2FzZSJjb21wb3NpdGlvbnN0YXJ0IjpjYXNlImNvbXBvc2l0aW9uZW5kIjpjYXNlImNvbXBvc2l0aW9udXBkYXRlIjpjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpjYXNlImJlZm9yZWlucHV0IjpjYXNlImJsdXIiOmNhc2UiZnVsbHNjcmVlbmNoYW5nZSI6Y2FzZSJmb2N1cyI6Y2FzZSJoYXNoY2hhbmdlIjpjYXNlInBvcHN0YXRlIjpjYXNlInNlbGVjdCI6Y2FzZSJzZWxlY3RzdGFydCI6cmV0dXJuIDI7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNlb3V0IjpjYXNlIm1vdXNlb3ZlciI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInNjcm9sbCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2Uid2hlZWwiOmNhc2UibW91c2VlbnRlciI6Y2FzZSJtb3VzZWxlYXZlIjpjYXNlInBvaW50ZXJlbnRlciI6Y2FzZSJwb2ludGVybGVhdmUiOnJldHVybiA4O2Nhc2UibWVzc2FnZSI6c3dpdGNoKEtlKCkpe2Nhc2UgbW46cmV0dXJuIDI7Y2FzZSB1bjpyZXR1cm4gODtjYXNlIENuOmNhc2UgcXQ6cmV0dXJuIDMyO2Nhc2UgaWU6cmV0dXJuIDI2ODQzNTQ1NjtkZWZhdWx0OnJldHVybiAzMn1kZWZhdWx0OnJldHVybiAzMn19dmFyIEw1PSExLGZ1PW51bGwscHU9bnVsbCx2dT1udWxsLFdjPW5ldyBNYXAsS2M9bmV3IE1hcCxtdT1bXSxDTD0ibW91c2Vkb3duIG1vdXNldXAgdG91Y2hjYW5jZWwgdG91Y2hlbmQgdG91Y2hzdGFydCBhdXhjbGljayBkYmxjbGljayBwb2ludGVyY2FuY2VsIHBvaW50ZXJkb3duIHBvaW50ZXJ1cCBkcmFnZW5kIGRyYWdzdGFydCBkcm9wIGNvbXBvc2l0aW9uZW5kIGNvbXBvc2l0aW9uc3RhcnQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCB0ZXh0SW5wdXQgY29weSBjdXQgcGFzdGUgY2xpY2sgY2hhbmdlIGNvbnRleHRtZW51IHJlc2V0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEs0KG4scil7c3dpdGNoKG4pe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6ZnU9bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOnB1PW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOnZ1PW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpXYy5kZWxldGUoci5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpLYy5kZWxldGUoci5wb2ludGVySWQpfX1mdW5jdGlvbiBRYyhuLHIsdSxsLHAsdil7cmV0dXJuIG49PT1udWxsfHxuLm5hdGl2ZUV2ZW50IT09dj8obj17YmxvY2tlZE9uOnIsZG9tRXZlbnROYW1lOnUsZXZlbnRTeXN0ZW1GbGFnczpsLG5hdGl2ZUV2ZW50OnYsdGFyZ2V0Q29udGFpbmVyczpbcF19LHIhPT1udWxsJiYocj1kcyhyKSxyIT09bnVsbCYmRzQocikpLG4pOihuLmV2ZW50U3lzdGVtRmxhZ3N8PWwscj1uLnRhcmdldENvbnRhaW5lcnMscCE9PW51bGwmJnIuaW5kZXhPZihwKT09PS0xJiZyLnB1c2gocCksbil9ZnVuY3Rpb24gREwobixyLHUsbCxwKXtzd2l0Y2gocil7Y2FzZSJmb2N1c2luIjpyZXR1cm4gZnU9UWMoZnUsbixyLHUsbCxwKSwhMDtjYXNlImRyYWdlbnRlciI6cmV0dXJuIHB1PVFjKHB1LG4scix1LGwscCksITA7Y2FzZSJtb3VzZW92ZXIiOnJldHVybiB2dT1RYyh2dSxuLHIsdSxsLHApLCEwO2Nhc2UicG9pbnRlcm92ZXIiOnZhciB2PXAucG9pbnRlcklkO3JldHVybiBXYy5zZXQodixRYyhXYy5nZXQodil8fG51bGwsbixyLHUsbCxwKSksITA7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6cmV0dXJuIHY9cC5wb2ludGVySWQsS2Muc2V0KHYsUWMoS2MuZ2V0KHYpfHxudWxsLG4scix1LGwscCkpLCEwfXJldHVybiExfWZ1bmN0aW9uIFE0KG4pe3ZhciByPWNzKG4udGFyZ2V0KTtpZihyIT09bnVsbCl7dmFyIHU9ZChyKTtpZih1IT09bnVsbCl7aWYocj11LnRhZyxyPT09MTMpe2lmKHI9Zih1KSxyIT09bnVsbCl7bi5ibG9ja2VkT249cixvYyhuLnByaW9yaXR5LGZ1bmN0aW9uKCl7WTQodSl9KTtyZXR1cm59fWVsc2UgaWYocj09PTMxKXtpZihyPW0odSksciE9PW51bGwpe24uYmxvY2tlZE9uPXIsb2Mobi5wcmlvcml0eSxmdW5jdGlvbigpe1k0KHUpfSk7cmV0dXJufX1lbHNlIGlmKHI9PT0zJiZ1LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXtuLmJsb2NrZWRPbj11LnRhZz09PTM/dS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO3JldHVybn19fW4uYmxvY2tlZE9uPW51bGx9ZnVuY3Rpb24gdXYobil7aWYobi5ibG9ja2VkT24hPT1udWxsKXJldHVybiExO2Zvcih2YXIgcj1uLnRhcmdldENvbnRhaW5lcnM7MDxyLmxlbmd0aDspe3ZhciB1PVI1KG4ubmF0aXZlRXZlbnQpO2lmKHU9PT1udWxsKXt1PW4ubmF0aXZlRXZlbnQ7dmFyIGw9bmV3IHUuY29uc3RydWN0b3IodS50eXBlLHUpO3owPWwsdS50YXJnZXQuZGlzcGF0Y2hFdmVudChsKSx6MD1udWxsfWVsc2UgcmV0dXJuIHI9ZHModSksciE9PW51bGwmJkc0KHIpLG4uYmxvY2tlZE9uPXUsITE7ci5zaGlmdCgpfXJldHVybiEwfWZ1bmN0aW9uIFg0KG4scix1KXt1dihuKSYmdS5kZWxldGUocil9ZnVuY3Rpb24gQUwoKXtMNT0hMSxmdSE9PW51bGwmJnV2KGZ1KSYmKGZ1PW51bGwpLHB1IT09bnVsbCYmdXYocHUpJiYocHU9bnVsbCksdnUhPT1udWxsJiZ1dih2dSkmJih2dT1udWxsKSxXYy5mb3JFYWNoKFg0KSxLYy5mb3JFYWNoKFg0KX1mdW5jdGlvbiBvdihuLHIpe24uYmxvY2tlZE9uPT09ciYmKG4uYmxvY2tlZE9uPW51bGwsTDV8fChMNT0hMCx0LnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2sodC51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxBTCkpKX12YXIgc3Y9bnVsbDtmdW5jdGlvbiAkNChuKXtzdiE9PW4mJihzdj1uLHQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayh0LnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGZ1bmN0aW9uKCl7c3Y9PT1uJiYoc3Y9bnVsbCk7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKz0zKXt2YXIgdT1uW3JdLGw9bltyKzFdLHA9bltyKzJdO2lmKHR5cGVvZiBsIT0iZnVuY3Rpb24iKXtpZihJNShsfHx1KT09PW51bGwpY29udGludWU7YnJlYWt9dmFyIHY9ZHModSk7diE9PW51bGwmJihuLnNwbGljZShyLDMpLHItPTMsTGcodix7cGVuZGluZzohMCxkYXRhOnAsbWV0aG9kOnUubWV0aG9kLGFjdGlvbjpsfSxsLHApKX19KSl9ZnVuY3Rpb24gV3Mobil7ZnVuY3Rpb24gcihOKXtyZXR1cm4gb3YoTixuKX1mdSE9PW51bGwmJm92KGZ1LG4pLHB1IT09bnVsbCYmb3YocHUsbiksdnUhPT1udWxsJiZvdih2dSxuKSxXYy5mb3JFYWNoKHIpLEtjLmZvckVhY2gocik7Zm9yKHZhciB1PTA7dTxtdS5sZW5ndGg7dSsrKXt2YXIgbD1tdVt1XTtsLmJsb2NrZWRPbj09PW4mJihsLmJsb2NrZWRPbj1udWxsKX1mb3IoOzA8bXUubGVuZ3RoJiYodT1tdVswXSx1LmJsb2NrZWRPbj09PW51bGwpOylRNCh1KSx1LmJsb2NrZWRPbj09PW51bGwmJm11LnNoaWZ0KCk7aWYodT0obi5vd25lckRvY3VtZW50fHxuKS4kJHJlYWN0Rm9ybVJlcGxheSx1IT1udWxsKWZvcihsPTA7bDx1Lmxlbmd0aDtsKz0zKXt2YXIgcD11W2xdLHY9dVtsKzFdLEU9cFtSZV18fG51bGw7aWYodHlwZW9mIHY9PSJmdW5jdGlvbiIpRXx8JDQodSk7ZWxzZSBpZihFKXt2YXIgUz1udWxsO2lmKHYmJnYuaGFzQXR0cmlidXRlKCJmb3JtQWN0aW9uIikpe2lmKHA9dixFPXZbUmVdfHxudWxsKVM9RS5mb3JtQWN0aW9uO2Vsc2UgaWYoSTUocCkhPT1udWxsKWNvbnRpbnVlfWVsc2UgUz1FLmFjdGlvbjt0eXBlb2YgUz09ImZ1bmN0aW9uIj91W2wrMV09UzoodS5zcGxpY2UobCwzKSxsLT0zKSwkNCh1KX19fWZ1bmN0aW9uIFo0KCl7ZnVuY3Rpb24gbih2KXt2LmNhbkludGVyY2VwdCYmdi5pbmZvPT09InJlYWN0LXRyYW5zaXRpb24iJiZ2LmludGVyY2VwdCh7aGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihFKXtyZXR1cm4gcD1FfSl9LGZvY3VzUmVzZXQ6Im1hbnVhbCIsc2Nyb2xsOiJtYW51YWwifSl9ZnVuY3Rpb24gcigpe3AhPT1udWxsJiYocCgpLHA9bnVsbCksbHx8c2V0VGltZW91dCh1LDIwKX1mdW5jdGlvbiB1KCl7aWYoIWwmJiFuYXZpZ2F0aW9uLnRyYW5zaXRpb24pe3ZhciB2PW5hdmlnYXRpb24uY3VycmVudEVudHJ5O3YmJnYudXJsIT1udWxsJiZuYXZpZ2F0aW9uLm5hdmlnYXRlKHYudXJsLHtzdGF0ZTp2LmdldFN0YXRlKCksaW5mbzoicmVhY3QtdHJhbnNpdGlvbiIsaGlzdG9yeToicmVwbGFjZSJ9KX19aWYodHlwZW9mIG5hdmlnYXRpb249PSJvYmplY3QiKXt2YXIgbD0hMSxwPW51bGw7cmV0dXJuIG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLG4pLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIixyKSxuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHIpLHNldFRpbWVvdXQodSwxMDApLGZ1bmN0aW9uKCl7bD0hMCxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixuKSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlc3VjY2VzcyIsciksbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZWVycm9yIixyKSxwIT09bnVsbCYmKHAoKSxwPW51bGwpfX19ZnVuY3Rpb24gejUobil7dGhpcy5faW50ZXJuYWxSb290PW59bHYucHJvdG90eXBlLnJlbmRlcj16NS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKG4pe3ZhciByPXRoaXMuX2ludGVybmFsUm9vdDtpZihyPT09bnVsbCl0aHJvdyBFcnJvcihvKDQwOSkpO3ZhciB1PXIuY3VycmVudCxsPWhhKCk7VTQodSxsLG4scixudWxsLG51bGwpfSxsdi5wcm90b3R5cGUudW5tb3VudD16NS5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBuPXRoaXMuX2ludGVybmFsUm9vdDtpZihuIT09bnVsbCl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHI9bi5jb250YWluZXJJbmZvO1U0KG4uY3VycmVudCwyLG51bGwsbixudWxsLG51bGwpLHFwKCksclttdF09bnVsbH19O2Z1bmN0aW9uIGx2KG4pe3RoaXMuX2ludGVybmFsUm9vdD1ufWx2LnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihuKXtpZihuKXt2YXIgcj11YygpO249e2Jsb2NrZWRPbjpudWxsLHRhcmdldDpuLHByaW9yaXR5OnJ9O2Zvcih2YXIgdT0wO3U8bXUubGVuZ3RoJiZyIT09MCYmcjxtdVt1XS5wcmlvcml0eTt1KyspO211LnNwbGljZSh1LDAsbiksdT09PTAmJlE0KG4pfX07dmFyIEo0PWEudmVyc2lvbjtpZihKNCE9PSIxOS4yLjciKXRocm93IEVycm9yKG8oNTI3LEo0LCIxOS4yLjciKSk7Vy5maW5kRE9NTm9kZT1mdW5jdGlvbihuKXt2YXIgcj1uLl9yZWFjdEludGVybmFscztpZihyPT09dm9pZCAwKXRocm93IHR5cGVvZiBuLnJlbmRlcj09ImZ1bmN0aW9uIj9FcnJvcihvKDE4OCkpOihuPU9iamVjdC5rZXlzKG4pLmpvaW4oIiwiKSxFcnJvcihvKDI2OCxuKSkpO3JldHVybiBuPWcociksbj1uIT09bnVsbD9iKG4pOm51bGwsbj1uPT09bnVsbD9udWxsOm4uc3RhdGVOb2RlLG59O3ZhciBTTD17YnVuZGxlVHlwZTowLHZlcnNpb246IjE5LjIuNyIscmVuZGVyZXJQYWNrYWdlTmFtZToicmVhY3QtZG9tIixjdXJyZW50RGlzcGF0Y2hlclJlZjpVLHJlY29uY2lsZXJWZXJzaW9uOiIxOS4yLjcifTtpZih0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPCJ1IiYmKFhjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXywhWGMuaXNEaXNhYmxlZCYmWGMuc3VwcG9ydHNGaWJlcikpdHJ5e2FyPVhjLmluamVjdChTTCksRG49WGN9Y2F0Y2h7fXZhciBYYztlLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24obixyKXtpZighYyhuKSl0aHJvdyBFcnJvcihvKDI5OSkpO3ZhciB1PSExLGw9IiIscD1yRix2PWlGLEU9dUY7cmV0dXJuIHIhPW51bGwmJihyLnVuc3RhYmxlX3N0cmljdE1vZGU9PT0hMCYmKHU9ITApLHIuaWRlbnRpZmllclByZWZpeCE9PXZvaWQgMCYmKGw9ci5pZGVudGlmaWVyUHJlZml4KSxyLm9uVW5jYXVnaHRFcnJvciE9PXZvaWQgMCYmKHA9ci5vblVuY2F1Z2h0RXJyb3IpLHIub25DYXVnaHRFcnJvciE9PXZvaWQgMCYmKHY9ci5vbkNhdWdodEVycm9yKSxyLm9uUmVjb3ZlcmFibGVFcnJvciE9PXZvaWQgMCYmKEU9ci5vblJlY292ZXJhYmxlRXJyb3IpKSxyPXE0KG4sMSwhMSxudWxsLG51bGwsdSxsLG51bGwscCx2LEUsWjQpLG5bbXRdPXIuY3VycmVudCx3NShuKSxuZXcgejUocil9LGUuaHlkcmF0ZVJvb3Q9ZnVuY3Rpb24obixyLHUpe2lmKCFjKG4pKXRocm93IEVycm9yKG8oMjk5KSk7dmFyIGw9ITEscD0iIix2PXJGLEU9aUYsUz11RixOPW51bGw7cmV0dXJuIHUhPW51bGwmJih1LnVuc3RhYmxlX3N0cmljdE1vZGU9PT0hMCYmKGw9ITApLHUuaWRlbnRpZmllclByZWZpeCE9PXZvaWQgMCYmKHA9dS5pZGVudGlmaWVyUHJlZml4KSx1Lm9uVW5jYXVnaHRFcnJvciE9PXZvaWQgMCYmKHY9dS5vblVuY2F1Z2h0RXJyb3IpLHUub25DYXVnaHRFcnJvciE9PXZvaWQgMCYmKEU9dS5vbkNhdWdodEVycm9yKSx1Lm9uUmVjb3ZlcmFibGVFcnJvciE9PXZvaWQgMCYmKFM9dS5vblJlY292ZXJhYmxlRXJyb3IpLHUuZm9ybVN0YXRlIT09dm9pZCAwJiYoTj11LmZvcm1TdGF0ZSkpLHI9cTQobiwxLCEwLHIsdT8/bnVsbCxsLHAsTix2LEUsUyxaNCksci5jb250ZXh0PVA0KG51bGwpLHU9ci5jdXJyZW50LGw9aGEoKSxsPWxzKGwpLHA9ZXUobCkscC5jYWxsYmFjaz1udWxsLHR1KHUscCxsKSx1PWwsci5jdXJyZW50LmxhbmVzPXUsV2kocix1KSxEcihyKSxuW210XT1yLmN1cnJlbnQsdzUobiksbmV3IGx2KHIpfSxlLnZlcnNpb249IjE5LjIuNyJ9fSkscTU9Y3IoeyJub2RlX21vZHVsZXMvcmVhY3QtZG9tL2NsaWVudC5qcyIoZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe2lmKCEodHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXz4idSJ8fHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UhPSJmdW5jdGlvbiIpKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoYSl9Y2F0Y2goaSl7Y29uc29sZS5lcnJvcihpKX19YSgpLHQuZXhwb3J0cz1jQygpfX0pLGRDPWNyKHsibm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC1qc3gtcnVudGltZS5wcm9kdWN0aW9uLmpzIihlKXsidXNlIHN0cmljdCI7dmFyIHQ9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxhPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iik7ZnVuY3Rpb24gaShvLGMsZCl7dmFyIGY9bnVsbDtpZihkIT09dm9pZCAwJiYoZj0iIitkKSxjLmtleSE9PXZvaWQgMCYmKGY9IiIrYy5rZXkpLCJrZXkiaW4gYyl7ZD17fTtmb3IodmFyIG0gaW4gYyltIT09ImtleSImJihkW21dPWNbbV0pfWVsc2UgZD1jO3JldHVybiBjPWQucmVmLHskJHR5cGVvZjp0LHR5cGU6byxrZXk6ZixyZWY6YyE9PXZvaWQgMD9jOm51bGwscHJvcHM6ZH19ZS5GcmFnbWVudD1hLGUuanN4PWksZS5qc3hzPWl9fSkscWU9Y3IoeyJub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanMiKGUsdCl7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1kQygpfX0pLFA1PSJ3YW5kLWxlZ2FjeS1wd2EtY2xlYW51cC12MSIsZkM9WyJ3YW5kLXN0YXRpYy0iLCJ3YW5kLXJ1bnRpbWUtIl07ZnVuY3Rpb24gJGMoZSl7aWYoIWUpcmV0dXJuITE7dHJ5e2NvbnN0IHQ9bmV3IFVSTChlLnNjcmlwdFVSTCxsb2NhdGlvbi5ocmVmKTtyZXR1cm4gdC5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW4mJnQucGF0aG5hbWU9PT0iL3N3LmpzIn1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gcEMoZSl7cmV0dXJuICRjKGUuaW5zdGFsbGluZyl8fCRjKGUud2FpdGluZyl8fCRjKGUuYWN0aXZlKX1mdW5jdGlvbiB2Qygpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oUDUpPT09ImRvbmUifWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBtQygpe3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShQNSwiZG9uZSIpfWNhdGNoe319YXN5bmMgZnVuY3Rpb24gaEMoKXtpZighKCJzZXJ2aWNlV29ya2VyImluIG5hdmlnYXRvcikpcmV0dXJuITA7dHJ5e2NvbnN0IHQ9KGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbnMoKSkuZmlsdGVyKHBDKTtyZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwodC5tYXAoYT0+YS51bnJlZ2lzdGVyKCkpKSwhMH1jYXRjaHtyZXR1cm4hMX19YXN5bmMgZnVuY3Rpb24gZ0MoKXtpZighKCJjYWNoZXMiaW4gd2luZG93KSlyZXR1cm4hMDt0cnl7Y29uc3QgdD0oYXdhaXQgY2FjaGVzLmtleXMoKSkuZmlsdGVyKGE9PmZDLnNvbWUoaT0+YS5zdGFydHNXaXRoKGkpKSk7cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKHQubWFwKGE9PmNhY2hlcy5kZWxldGUoYSkpKSwhMH1jYXRjaHtyZXR1cm4hMX19YXN5bmMgZnVuY3Rpb24gYkMoKXtpZih2QygpKXJldHVybjtjb25zdCBlPSJzZXJ2aWNlV29ya2VyImluIG5hdmlnYXRvciYmJGMobmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciksW3QsYV09YXdhaXQgUHJvbWlzZS5hbGwoW2hDKCksZ0MoKV0pOyF0fHwhYXx8KG1DKCksZSYmbG9jYXRpb24ucmVsb2FkKCkpfWJDKCk7dmFyIHlDPSIke2VzY2FwZUh0bWwoY29uZmlnUGF0aCl9Iixkdj0id2FuZC1jaGF0LWV4cGFuZC1zdGF0ZS12MSIsWmM9W2Z1bmN0aW9uKCl7fV07KGZ1bmN0aW9uKCl7dHJ5e3ZhciB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWxzLXNjaGVtYSIpLGE9dD09bnVsbD8wOnBhcnNlSW50KHQsMTApO2E+PTB8fChhPTApO2Zvcih2YXIgaT1hO2k8WmMubGVuZ3RoO2krKyl0cnl7WmNbaV0oKX1jYXRjaHt9YTxaYy5sZW5ndGgmJmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLWxzLXNjaGVtYSIsU3RyaW5nKFpjLmxlbmd0aCkpfWNhdGNoe319KSgpO2Z1bmN0aW9uIGd1KGUsdCl7dHJ5e3ZhciBhPWxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpO3JldHVybiBhPT09InRydWUiPyEwOmE9PT0iZmFsc2UiPyExOnR9Y2F0Y2h7cmV0dXJuIHR9fWZ1bmN0aW9uIFR0KGUsdCl7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKGUsU3RyaW5nKCEhdCkpfWNhdGNoe319dmFyIHM9e3NlbGVjdGVkSWQ6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLHQ9ZS5zZWFyY2hQYXJhbXMuZ2V0KCJzZXNzaW9uIik7aWYodClyZXR1cm4gbG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtc2VsZWN0ZWQtc2Vzc2lvbiIsdCksZS5zZWFyY2hQYXJhbXMuZGVsZXRlKCJzZXNzaW9uIiksaGlzdG9yeS5yZXBsYWNlU3RhdGUoaGlzdG9yeS5zdGF0ZSwiIixlLnRvU3RyaW5nKCkpLHR9Y2F0Y2h7fXRyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtc2VsZWN0ZWQtc2Vzc2lvbiIpfHxudWxsfWNhdGNoe3JldHVybiBudWxsfX0pKCkscG9sbFRpbWVyOm51bGwsY29uZmlnOm51bGwsc2Vzc2lvbnM6W10sdGVybWluYWw6bnVsbCx0ZXJtaW5hbEZpdEluUHJvZ3Jlc3M6ITEsdGVybWluYWxTZXNzaW9uSWQ6bnVsbCx0ZXJtaW5hbE91dHB1dDoiIix0ZXJtaW5hbE91dHB1dE1hcmtlcjowLHRlcm1pbmFsTGl2ZVN0cmVhbVNlc3Npb25zOnt9LHN5bmNPdXRwdXRCdWZmZXI6bnVsbCxzeW5jT3V0cHV0RGVhZGxpbmU6MCxzeW5jRnJhbWluZ1Jlc2lkdWU6ITEsbGFzdENodW5rQXQ6MCx0ZXJtaW5hbEhlYWx0aFRpbWVyOm51bGwsbGFzdFRlcm1pbmFsUmVzeW5jQXQ6MCx0ZXJtaW5hbEF1dG9Gb2xsb3c6ITAsdGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbDowLHRlcm1pbmFsU2Nyb2xsSWRsZVRpbWVyOm51bGwsdGVybWluYWxTY3JvbGxUaHJlc2hvbGQ6MTIsc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tOiExLHRlcm1pbmFsVmlld3BvcnRFbDpudWxsLHRlcm1pbmFsVmlld3BvcnRTY3JvbGxIYW5kbGVyOm51bGwsdGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcjpudWxsLHRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlcjpudWxsLHRlcm1pbmFsVG91Y2hTdGFydFk6MCx0ZXJtaW5hbENvbXBvc2luZzohMSxyZXNpemVPYnNlcnZlcjpudWxsLHJlc2l6ZUhhbmRsZXI6bnVsbCxyZXNpemVUaW1lcjpudWxsLGlucHV0UXVldWU6UHJvbWlzZS5yZXNvbHZlKCkscGVuZGluZ01lc3NhZ2VzOltdLG1lc3NhZ2VRdWV1ZTpbXSxjcm9zc1Nlc3Npb25RdWV1ZTooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY3Jvc3Mtc2Vzc2lvbi1xdWV1ZSIpLHQ9ZT9KU09OLnBhcnNlKGUpOltdO3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q6W119Y2F0Y2h7cmV0dXJuW119fSkoKSxzdHJ1Y3R1cmVkSW5wdXRRdWV1ZTpbXSxxdWV1ZUJhckV4cGFuZGVkOiExLHF1ZXVlQmFySG92ZXJJbmRleDpudWxsLHF1ZXVlQmFyRHJhZzpudWxsLHF1ZXVlQmFyUHJvbW90aW5nOiExLGRyYWZ0czp7fSxpc1N5bmNpbmdJbnB1dEJveDohMSxsb2dpblBlbmRpbmc6ITEsbG9naW5DaGVja2VkOiExLGJvb3RzdHJhcHBpbmc6ITAsc2Vzc2lvbnNEcmF3ZXJPcGVuOmd1KCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLHNpZGViYXJQaW5uZWQ6Z3UoIndhbmQtc2lkZWJhci1waW5uZWQiLCEwKSxzaWRlYmFyQ29sbGFwc2VkOmd1KCJ3YW5kLXNpZGViYXItY29sbGFwc2VkIiwhMSksbW9kZVZhbHVlOiJtYW5hZ2VkIixjaGF0TW9kZToibWFuYWdlZCIsY2hhdE1vZGVsczooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY2hhdC1tb2RlbCIpfHwiIjtyZXR1cm57Y2xhdWRlOmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWNoYXQtbW9kZWwtY2xhdWRlIil8fGUsY29kZXg6bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY2hhdC1tb2RlbC1jb2RleCIpfHwiIixvcGVuY29kZTpsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsLW9wZW5jb2RlIil8fCIiLGdyb2s6bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY2hhdC1tb2RlbC1ncm9rIil8fCIiLHFvZGVyOmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWNoYXQtbW9kZWwtcW9kZXIiKXx8IiJ9fWNhdGNoe3JldHVybntjbGF1ZGU6IiIsY29kZXg6IiIsb3BlbmNvZGU6IiIsZ3JvazoiIixxb2RlcjoiIn19fSkoKSxjaGF0TW9kZWw6KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsIil8fCIifWNhdGNoe3JldHVybiIifX0pKCksY2hhdFRoaW5raW5nOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC10aGlua2luZy1lZmZvcnQiKXx8Im9mZiI7cmV0dXJuIGU9PT0ib2ZmInx8ZT09PSJzdGFuZGFyZCJ8fGU9PT0iZGVlcCJ8fGU9PT0ibWF4Inx8L15jb2RleDpbYS16MC05XVthLXowLTlfLV17MCwzMX0kLy50ZXN0KGUpP2U6Im9mZiJ9Y2F0Y2h7cmV0dXJuIm9mZiJ9fSkoKSxhdmFpbGFibGVNb2RlbHM6W10sYXZhaWxhYmxlQ29kZXhNb2RlbHM6W10sYXZhaWxhYmxlT3BlbkNvZGVNb2RlbHM6W10sYXZhaWxhYmxlR3Jva01vZGVsczpbXSxhdmFpbGFibGVRb2Rlck1vZGVsczpbXSxtb2RlbHNSZWZyZXNoaW5nOiExLHNlc3Npb25Ub29sOiJjbGF1ZGUiLHByZWZlcnJlZENvbW1hbmQ6ImNsYXVkZSIsc3RydWN0dXJlZFJ1bm5lcjoiY2xhdWRlLWNsaS1wcmludCIsY2xhdWRlU2tpbGxzQnlDd2Q6e30sc2VsZWN0ZWRDbGF1ZGVTa2lsbHNCeVNlc3Npb246e30sY2xhdWRlU2tpbGxzTG9hZGluZ0J5Q3dkOnt9LGNsYXVkZVNraWxsc1BpY2tlck9wZW46ITEsbGFzdFJlc2l6ZTp7Y29sczowLHJvd3M6MH0saXNPbmxpbmU6bmF2aWdhdG9yLm9uTGluZSx3czpudWxsLHdzQ29ubmVjdGVkOiExLGxhc3RXc01lc3NhZ2VBdDowLHdzSGVhcnRiZWF0Q2hlY2tUaW1lcjpudWxsLF91cGRhdGVCdWJibGVTaG93bjohMSxub3RpZmljYXRpb25IaXN0b3J5Ont9LGRlbGF5ZWROb3RpZmljYXRpb25UaW1lcjpudWxsLG5vdGlmU291bmQ6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLW5vdGlmLXNvdW5kIik7cmV0dXJuIGU9PT1udWxsPyEwOmU9PT0idHJ1ZSJ9Y2F0Y2h7cmV0dXJuITB9fSkoKSxub3RpZlZvbHVtZTooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtbm90aWYtdm9sdW1lIik7cmV0dXJuIGU9PT1udWxsPzgwOk1hdGgubWF4KDAsTWF0aC5taW4oMTAwLHBhcnNlSW50KGUsMTApfHw4MCkpfWNhdGNoe3JldHVybiA4MH19KSgpLG5vdGlmQnViYmxlOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1ub3RpZi1idWJibGUiKTtyZXR1cm4gZT09PW51bGw/ITA6ZT09PSJ0cnVlIn1jYXRjaHtyZXR1cm4hMH19KSgpLHRvb2xDb250ZW50Q2FjaGU6e30sbGFzdFNlcUJ5U2Vzc2lvbjp7fSxjdXJyZW50VmlldzoidGVybWluYWwiLHRlcm1pbmFsU2NhbGU6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXRlcm1pbmFsLXNjYWxlIik7cmV0dXJuIGU/cGFyc2VGbG9hdChlKToxfWNhdGNoe3JldHVybiAxfX0pKCksdGVybWluYWxCYXNlRm9udFNpemU6MTMsa2V5Ym9hcmRQb3B1cE9wZW46ITEsZmlsZVBhbmVsT3BlbjooZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWZpbGUtcGFuZWwtb3BlbiIpPT09InRydWUifWNhdGNoe3JldHVybiExfX0pKCksdG9wYmFyTW9yZU9wZW46ITEsZ2l0U3RhdHVzOm51bGwsZ2l0U3RhdHVzU2Vzc2lvbklkOm51bGwsZ2l0U3RhdHVzTG9hZGluZzohMSxnaXRTdGF0dXNJbmZsaWdodDpudWxsLGdpdFN0YXR1c0xhc3RGZXRjaEF0OjAsY2hhdFN0aWNrVG9Cb3R0b206ITAsY2hhdEF1dG9Gb2xkRW5hYmxlZDohMSxjaGF0QXV0b0ZvbGRTbmFwc2hvdDpudWxsLGNoYXRVbnJlYWRDb3VudDowLGNoYXRVbnJlYWRTdGFydEluZGV4Oi0xLGNoYXRTY3JvbGxUaHJlc2hvbGQ6MTYwLGNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbDohMSxjaGF0UHJvZ3JhbW1hdGljU2Nyb2xsVW50aWw6MCxjaGF0U2Nyb2xsRWxlbWVudDpudWxsLGNoYXRTY3JvbGxIYW5kbGVyOm51bGwsY2hhdFNjcm9sbFdoZWVsSGFuZGxlcjpudWxsLGNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlcjpudWxsLGNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyOm51bGwsY2hhdFRvdWNoU3RhcnRZOjAsY2hhdEluaXRpYWxSZW5kZXJEb25lOiExLGxhc3RGb3JlZ3JvdW5kU3luY0F0OjAsZm9yZWdyb3VuZFN5bmNUaW1lcjpudWxsLHdzUmVjb25uZWN0QXR0ZW1wdHM6MCx3c1JlY29ubmVjdFRpbWVyOm51bGwsY3VycmVudE1lc3NhZ2VzOltdLGxhc3RSZW5kZXJlZEhhc2g6MCxsYXN0UmVuZGVyZWRNc2dDb3VudDowLGxhc3RSZW5kZXJlZEVtcHR5Om51bGwscmVuZGVyUGVuZGluZzohMSxjaGF0UGFnZVNpemU6MjAsY2hhdFJlbmRlcmVkQ291bnQ6MjAsY3VycmVudFRhc2s6bnVsbCx0ZXJtaW5hbEludGVyYWN0aXZlOiExLG1pbmlLZXlib2FyZFZpc2libGU6ITEsbW9kaWZpZXJzOntjdHJsOiExLGFsdDohMSxzaGlmdDohMX0sam95c3RpY2tQb3M6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWJhbGwtcG9zIik7aWYoIWUpcmV0dXJuIG51bGw7dmFyIHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gdCYmdHlwZW9mIHQ9PSJvYmplY3QiP3Q6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19KSgpLGpveXN0aWNrUGlubmVkT3BlbjohMSxqb3lzdGlja1Jvb3RFbDpudWxsLGpveXN0aWNrUGFuZWxFbDpudWxsLGpveXN0aWNrQmFja2Ryb3BFbDpudWxsLGpveXN0aWNrQmFsbEVsOm51bGwsam95c3RpY2tQb2ludGVySWQ6bnVsbCxqb3lzdGlja0dlc3R1cmU6bnVsbCxqb3lzdGlja1ByZXNzU3RhcnQ6bnVsbCxqb3lzdGlja0xvbmdQcmVzc1RpbWVyOm51bGwsam95c3RpY2tNb3ZlSGFuZGxlcjpudWxsLGpveXN0aWNrVXBIYW5kbGVyOm51bGwsam95c3RpY2tSZXNpemVIYW5kbGVyOm51bGwsZmlsZVNlYXJjaFF1ZXJ5OiIiLGZpbGVFeHBsb3JlckxvYWRpbmc6ITEsYWxsRmlsZXM6W10sZmlsZUV4cGxvcmVyQ3dkOiIiLGZpbGVFeHBsb3JlclRydW5jYXRlZDohMSxmaWxlRXhwbG9yZXJUb3RhbDowLGNsYXVkZUhpc3Rvcnk6W10sY2xhdWRlSGlzdG9yeUxvYWRlZDohMSxjbGF1ZGVIaXN0b3J5RXhwYW5kZWQ6ITEsY2xhdWRlSGlzdG9yeUV4cGFuZGVkRGlyczp7fSxhcmNoaXZlZEV4cGFuZGVkOiExLHNlc3Npb25zTWFuYWdlTW9kZTohMSxzZWxlY3RlZFNlc3Npb25JZHM6e30sc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzOnt9LGNvZGV4SGlzdG9yeTpbXSxjb2RleEhpc3RvcnlMb2FkZWQ6ITEsY29kZXhIaXN0b3J5RXhwYW5kZWREaXJzOnt9LHNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzOnt9LGFza1VzZXJTZWxlY3Rpb25zOnt9LHF1ZXVlRXBvY2g6MCxwZW5kaW5nQXR0YWNobWVudHM6W10sd29ya2luZ0RpcjooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtd29ya2luZy1kaXIiKTtyZXR1cm4gZXx8IiJ9Y2F0Y2h7cmV0dXJuIiJ9fSkoKX0sZnY9Ilx1NEUyRFx1NjU4NyIsSmM9e1x1NEUyRFx1NjU4Nzp7InN1YmFnZW50LnRhZyI6Ilx1NUI1MFx1NEVFM1x1NzQwNiIsInN1YmFnZW50LmhhbmRvZmYiOiJ7cGFyZW50fSBcdThCQTkge3N1Yn0gXHU1RTJFXHU1RkQ5Iiwic3ViYWdlbnQuaGFuZG9mZi53aXRoX2Rlc2MiOiJ7cGFyZW50fSBcdThCQTkge3N1Yn0gXHU1RTJFXHU1RkQ5XHVGRjFBIiwic3ViYWdlbnQuY29udGludWVkIjoiXHU3RUU3XHU3RUVEXHU4RjkzXHU1MUZBIiwic3ViYWdlbnQudGFzay5kb25lIjoiXHU0RUZCXHU1MkExXHU1QjhDXHU2MjEwIiwic3ViYWdlbnQudGFzay5mYWlsZWQiOiJcdTRFRkJcdTUyQTFcdTU5MzFcdThEMjUiLCJzdWJhZ2VudC5ydW5uaW5nIjoiXHU4RkQwXHU4ODRDXHU0RTJEIiwic3ViYWdlbnQubm9fb3V0cHV0IjoiXHVGRjA4XHU2NUUwXHU4RjkzXHU1MUZBXHVGRjA5Iiwic3ViYWdlbnQuaGVscGVyX2ZhbGxiYWNrX3ByZWZpeCI6Ilx1NTM0Rlx1NEY1Q1x1NzMyQlx4QjciLCJzdWJhZ2VudC50aXRsZV9hcmlhIjoiXHU3MEI5XHU1MUZCXHU1QzU1XHU1RjAwIC8gXHU2NTM2XHU4RDc3XHU1QjUwXHU0RUUzXHU3NDA2XHU4RjkzXHU1MUZBIiwic3ViYWdlbnQudGFnX3RpdGxlIjoiXHU1QjUwXHU0RUUzXHU3NDA2IC8gc3ViYWdlbnQiLCJ1aS5leHBhbmQiOiJcdTVDNTVcdTVGMDAiLCJ1aS5jb2xsYXBzZSI6Ilx1NjUzNlx1OEQ3NyIsInVpLmV4cGFuZF9wYW5lbF9hcmlhIjoiXHU1QzU1XHU1RjAwXHU1QjUwXHU0RUUzXHU3NDA2XHU4RjkzXHU1MUZBIiwidWkuY29sbGFwc2VfcGFuZWxfYXJpYSI6Ilx1NjUzNlx1OEQ3N1x1NUI1MFx1NEVFM1x1NzQwNlx1OEY5M1x1NTFGQSIsImhpc3RvcnkuZXhwYW5kIjoiXHU1QzU1XHU1RjAwXHU1Mzg2XHU1M0YyXHU1QkY5XHU4QkREIiwiaGlzdG9yeS5jb2xsYXBzZSI6Ilx1NjUzNlx1OEQ3N1x1NTM4Nlx1NTNGMlx1NUJGOVx1OEJERCIsImhpc3Rvcnkucm91bmRzIjoie259IFx1OEY2RVx1NUJGOVx1OEJERCIsImhpc3RvcnkudG9vbHMiOiJ7bn0gXHU2QjIxXHU1REU1XHU1MTc3XHU4QzAzXHU3NTI4IiwiaGlzdG9yeS5hZ2VudHMiOiJ7bn0gXHU0RTJBXHU1QjUwXHU0RUUzXHU3NDA2IiwiaGlzdG9yeS5lcnJvcnMiOiJ7bn0gXHU0RTJBXHU1OTMxXHU4RDI1Iiwic3RvcC5jb25maXJtLnRpdGxlIjoiXHU1MDVDXHU2QjYyXHU0RUZCXHU1MkExIiwic3RvcC5jb25maXJtLm1lc3NhZ2UiOiJcdTc4NkVcdTVCOUFcdTg5ODFcdTUwNUNcdTZCNjJcdTVGNTNcdTUyNERcdTZCNjNcdTU3MjhcdThGRDBcdTg4NENcdTc2ODRcdTRFRkJcdTUyQTFcdTU0MTdcdUZGMUYiLCJzdG9wLmNvbmZpcm0ub2siOiJcdTUwNUNcdTZCNjIiLCJzdG9wLmNvbmZpcm0uY2FuY2VsIjoiXHU1M0Q2XHU2RDg4In0sRW5nbGlzaDp7InN1YmFnZW50LnRhZyI6IlN1YmFnZW50Iiwic3ViYWdlbnQuaGFuZG9mZiI6IntwYXJlbnR9IGFza2VkIHtzdWJ9IGZvciBoZWxwIiwic3ViYWdlbnQuaGFuZG9mZi53aXRoX2Rlc2MiOiJ7cGFyZW50fSBhc2tlZCB7c3VifSBmb3IgaGVscCB3aXRoOiAiLCJzdWJhZ2VudC5jb250aW51ZWQiOiJjb250aW51ZWQiLCJzdWJhZ2VudC50YXNrLmRvbmUiOiJUYXNrIGNvbXBsZXRlIiwic3ViYWdlbnQudGFzay5mYWlsZWQiOiJUYXNrIGZhaWxlZCIsInN1YmFnZW50LnJ1bm5pbmciOiJSdW5uaW5nIiwic3ViYWdlbnQubm9fb3V0cHV0IjoiKG5vIG91dHB1dCkiLCJzdWJhZ2VudC5oZWxwZXJfZmFsbGJhY2tfcHJlZml4IjoiSGVscGVyXHhCNyIsInN1YmFnZW50LnRpdGxlX2FyaWEiOiJDbGljayB0byBleHBhbmQgLyBjb2xsYXBzZSBzdWJhZ2VudCBvdXRwdXQiLCJzdWJhZ2VudC50YWdfdGl0bGUiOiJTdWJhZ2VudCIsInVpLmV4cGFuZCI6IkV4cGFuZCIsInVpLmNvbGxhcHNlIjoiQ29sbGFwc2UiLCJ1aS5leHBhbmRfcGFuZWxfYXJpYSI6IkV4cGFuZCBzdWJhZ2VudCBvdXRwdXQiLCJ1aS5jb2xsYXBzZV9wYW5lbF9hcmlhIjoiQ29sbGFwc2Ugc3ViYWdlbnQgb3V0cHV0IiwiaGlzdG9yeS5leHBhbmQiOiJTaG93IGVhcmxpZXIgY29udmVyc2F0aW9uIiwiaGlzdG9yeS5jb2xsYXBzZSI6IkhpZGUgZWFybGllciBjb252ZXJzYXRpb24iLCJoaXN0b3J5LnJvdW5kcyI6IntufSByb3VuZHMiLCJoaXN0b3J5LnRvb2xzIjoie259IHRvb2wgY2FsbHMiLCJoaXN0b3J5LmFnZW50cyI6IntufSBzdWJhZ2VudHMiLCJoaXN0b3J5LmVycm9ycyI6IntufSBmYWlsZWQiLCJzdG9wLmNvbmZpcm0udGl0bGUiOiJTdG9wIHRhc2siLCJzdG9wLmNvbmZpcm0ubWVzc2FnZSI6IlN0b3AgdGhlIHRhc2sgdGhhdCdzIGN1cnJlbnRseSBydW5uaW5nPyIsInN0b3AuY29uZmlybS5vayI6IlN0b3AiLCJzdG9wLmNvbmZpcm0uY2FuY2VsIjoiQ2FuY2VsIn19O2Z1bmN0aW9uIFU1KCl7dmFyIGU9cy5jb25maWcmJnR5cGVvZiBzLmNvbmZpZy5sYW5ndWFnZT09InN0cmluZyI/cy5jb25maWcubGFuZ3VhZ2UudHJpbSgpOiIiO2lmKCFlKXJldHVybiBmdjtpZihKY1tlXSlyZXR1cm4gZTt2YXIgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ9PT0iZW5nbGlzaCJ8fHQ9PT0iZW4ifHx0LmluZGV4T2YoImVuZ2xpc2giKT09PTB8fHQuaW5kZXhPZigiXHU4MkYxIik9PT0wPyJFbmdsaXNoIjp0PT09Ilx1NEUyRFx1NjU4NyJ8fHQ9PT0iemgifHx0LmluZGV4T2YoInpoIik9PT0wfHx0LmluZGV4T2YoIlx1NEUyRCIpPT09MHx8dC5pbmRleE9mKCJjaGluZXNlIik9PT0wPyJcdTRFMkRcdTY1ODciOiJFbmdsaXNoIn1mdW5jdGlvbiBSbihlLHQpe3ZhciBhPVU1KCksaT1KY1thXXx8SmNbZnZdLG89aSYmZSBpbiBpP2lbZV06bnVsbDtpZihvPT1udWxsKXt2YXIgYz1KY1tmdl07bz1jJiZlIGluIGM/Y1tlXTplfWlmKHQmJnR5cGVvZiBvPT0ic3RyaW5nIilmb3IodmFyIGQgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxkKSYmKG89by5zcGxpdCgieyIrZCsifSIpLmpvaW4odFtkXSkpO3JldHVybiBvfXZhciB3Qz17c2hpZWxkOic8cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6Ii8+JyxzaGllbGRDaGVjazonPHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPjxwb2x5bGluZSBwb2ludHM9IjkgMTIgMTEgMTQgMTUgMTAiLz4nLGxvY2s6JzxyZWN0IHg9IjUiIHk9IjEwIiB3aWR0aD0iMTQiIGhlaWdodD0iMTEiIHJ4PSIyIi8+PHBhdGggZD0iTTggMTBWN2E0IDQgMCAwIDEgOCAwdjMiLz48cGF0aCBkPSJNMTIgMTR2MyIvPicsY2VydGlmaWNhdGU6JzxwYXRoIGQ9Ik02IDNoMTJ2MTRINnoiLz48cGF0aCBkPSJNOSA3aDYiLz48cGF0aCBkPSJNOSAxMWg0Ii8+PHBhdGggZD0ibTEwIDE3LTEgNCAzLTEgMyAxLTEtNCIvPicsY3B1Oic8cmVjdCB4PSI3IiB5PSI3IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHJ4PSIyIi8+PHBhdGggZD0iTTkgMXYzIi8+PHBhdGggZD0iTTE1IDF2MyIvPjxwYXRoIGQ9Ik05IDIwdjMiLz48cGF0aCBkPSJNMTUgMjB2MyIvPjxwYXRoIGQ9Ik0yMCA5aDMiLz48cGF0aCBkPSJNMjAgMTVoMyIvPjxwYXRoIGQ9Ik0xIDloMyIvPjxwYXRoIGQ9Ik0xIDE1aDMiLz48cmVjdCB4PSIxMCIgeT0iMTAiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIxIi8+JyxicmFpbjonPHBhdGggZD0iTTkuNSA0LjVhMyAzIDAgMCAwLTQuNyAzLjEgMy4zIDMuMyAwIDAgMCAuMyA2LjFBMyAzIDAgMCAwIDggMTloMS41VjQuNXoiLz48cGF0aCBkPSJNMTQuNSA0LjVhMyAzIDAgMCAxIDQuNyAzLjEgMy4zIDMuMyAwIDAgMS0uMyA2LjFBMyAzIDAgMCAxIDE2IDE5aC0xLjVWNC41eiIvPjxwYXRoIGQ9Ik05LjUgOEg3LjgiLz48cGF0aCBkPSJNMTQuNSA4aDEuNyIvPjxwYXRoIGQ9Ik05LjUgMTNINy42Ii8+PHBhdGggZD0iTTE0LjUgMTNoMS45Ii8+JyxrZXlib2FyZDonPHJlY3QgeD0iMiIgeT0iNiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjEyIiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iMTAiIHgyPSI2IiB5Mj0iMTAiLz48bGluZSB4MT0iMTAiIHkxPSIxMCIgeDI9IjEwIiB5Mj0iMTAiLz48bGluZSB4MT0iMTQiIHkxPSIxMCIgeDI9IjE0IiB5Mj0iMTAiLz48bGluZSB4MT0iMTgiIHkxPSIxMCIgeDI9IjE4IiB5Mj0iMTAiLz48bGluZSB4MT0iNiIgeTE9IjE0IiB4Mj0iNiIgeTI9IjE0Ii8+PGxpbmUgeDE9IjE4IiB5MT0iMTQiIHgyPSIxOCIgeTI9IjE0Ii8+PGxpbmUgeDE9IjkiIHkxPSIxNCIgeDI9IjE1IiB5Mj0iMTQiLz4nLHRlcm1pbmFsOic8cG9seWxpbmUgcG9pbnRzPSI0IDcgOSAxMiA0IDE3Ii8+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIyMCIgeTI9IjE3Ii8+JyxjaGF0Oic8cGF0aCBkPSJNMjEgMTJhOCA4IDAgMCAxLTEyLjkgNi4zTDMgMjBsMS43LTUuMUE4IDggMCAxIDEgMjEgMTJ6Ii8+Jyxmb2xkZXI6JzxwYXRoIGQ9Ik0zIDdhMiAyIDAgMCAxIDItMmg0bDIgMmg4YTIgMiAwIDAgMSAyIDJ2OGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoiLz4nLHRyYXNoOic8cG9seWxpbmUgcG9pbnRzPSIzIDYgNSA2IDIxIDYiLz48cGF0aCBkPSJNMTkgNmwtMSAxM2EyIDIgMCAwIDEtMiAySDhhMiAyIDAgMCAxLTItMkw1IDYiLz48cGF0aCBkPSJNMTAgMTF2NiIvPjxwYXRoIGQ9Ik0xNCAxMXY2Ii8+PHBhdGggZD0iTTkgNlY0YTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjIiLz4nLGNoZXZyb25Eb3duOic8cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPicsYmVsbDonPHBhdGggZD0iTTE4IDE2di01YTYgNiAwIDEgMC0xMiAwdjVsLTIgMmgxNnoiLz48cGF0aCBkPSJNMTAgMjFhMiAyIDAgMCAwIDQgMCIvPicsbXVzaWM6JzxwYXRoIGQ9Ik05IDE4VjVsMTItMnYxMyIvPjxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyIvPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjMiLz4nLHZpYnJhdGU6JzxyZWN0IHg9IjkiIHk9IjQiIHdpZHRoPSI2IiBoZWlnaHQ9IjE2IiByeD0iMSIvPjxwYXRoIGQ9Ik01IDh2OCIvPjxwYXRoIGQ9Ik0zIDEwdjQiLz48cGF0aCBkPSJNMTkgOHY4Ii8+PHBhdGggZD0iTTIxIDEwdjQiLz4nLGdsb2JlOic8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ii8+PGxpbmUgeDE9IjMiIHkxPSIxMiIgeDI9IjIxIiB5Mj0iMTIiLz48cGF0aCBkPSJNMTIgM2ExNCAxNCAwIDAgMSAwIDE4Ii8+PHBhdGggZD0iTTEyIDNhMTQgMTQgMCAwIDAgMCAxOCIvPicsc21hcnRwaG9uZTonPHJlY3QgeD0iNiIgeT0iMiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjIwIiByeD0iMi41Ii8+PGxpbmUgeDE9IjExIiB5MT0iMTgiIHgyPSIxMyIgeTI9IjE4Ii8+JyxkZXNrdG9wOic8cmVjdCB4PSIzIiB5PSI0IiB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHJ4PSIyIi8+PGxpbmUgeDE9IjgiIHkxPSIyMCIgeDI9IjE2IiB5Mj0iMjAiLz48bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyIiB5Mj0iMjAiLz4nLGxpbms6JzxwYXRoIGQ9Ik0xMCAxNGE0LjUgNC41IDAgMCAwIDYuMzYgMGwzLTNhNC41IDQuNSAwIDEgMC02LjM2LTYuMzZsLTEuNDIgMS40MSIvPjxwYXRoIGQ9Ik0xNCAxMGE0LjUgNC41IDAgMCAwLTYuMzYgMGwtMyAzYTQuNSA0LjUgMCAxIDAgNi4zNiA2LjM2bDEuNDItMS40MSIvPicscGFsZXR0ZTonPGNpcmNsZSBjeD0iMTMuNSIgY3k9IjYuNSIgcj0iMSIvPjxjaXJjbGUgY3g9IjE3LjUiIGN5PSIxMC41IiByPSIxIi8+PGNpcmNsZSBjeD0iOC41IiBjeT0iNy41IiByPSIxIi8+PGNpcmNsZSBjeD0iNi41IiBjeT0iMTIuNSIgcj0iMSIvPjxwYXRoIGQ9Ik0xMiAzYTkgOSAwIDEgMCAwIDE4IDEuNSAxLjUgMCAwIDAgMS4xLTIuNSAxLjUgMS41IDAgMCAxIDEuMS0yLjVoMi4zQTQuNSA0LjUgMCAwIDAgMjEgMTEuNUMyMSA2LjggMTYuOTcgMyAxMiAzeiIvPicscGxheTonPHBvbHlnb24gcG9pbnRzPSI2IDQgMjAgMTIgNiAyMCA2IDQiLz4nLHdyZW5jaDonPHBhdGggZD0iTTE0LjcgNi4zYTQgNCAwIDEgMSA0IDRsLTkgOS0zLjUgMSAxLTMuNSA3LjUtNy41eiIvPicscGF3Oic8Y2lyY2xlIGN4PSI3LjUiIGN5PSI5IiByPSIyIiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0ibm9uZSIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iNi44IiByPSIyIiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0ibm9uZSIvPjxjaXJjbGUgY3g9IjE2LjUiIGN5PSI5IiByPSIyIiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0ibm9uZSIvPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTMuMyIgcj0iMS44IiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Ik03LjIgMTYuM2MuNS0yLjkgMi4zLTQuOCA0LjgtNC44czQuMyAxLjkgNC44IDQuOGMuMyAxLjgtLjkgMy4yLTIuNiAyLjYtLjgtLjMtMS40LS42LTIuMi0uNnMtMS40LjMtMi4yLjZjLTEuNy42LTIuOS0uOC0yLjYtMi42eiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz4nLGVkaXQ6JzxwYXRoIGQ9Ik0xMiAyMGg5Ii8+PHBhdGggZD0iTTE2LjUgMy41YTIuMTIgMi4xMiAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNHoiLz4nLHJlZnJlc2g6Jzxwb2x5bGluZSBwb2ludHM9IjIzIDQgMjMgMTAgMTcgMTAiLz48cGF0aCBkPSJNMjAuNDkgMTVhOSA5IDAgMSAxLTIuMTItOS4zNkwyMyAxMCIvPicsc2lnbmFsOic8cGF0aCBkPSJNMiAxMmExNSAxNSAwIDAgMSAyMCAwIi8+PHBhdGggZD0iTTUgMTZhMTAgMTAgMCAwIDEgMTQgMCIvPjxwYXRoIGQ9Ik05IDIwYTQgNCAwIDAgMSA2IDAiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjIwIiByPSIwLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIvPicsZmlsZTonPHBhdGggZD0iTTE0IDNINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY5eiIvPjxwb2x5bGluZSBwb2ludHM9IjE0IDMgMTQgOSAyMCA5Ii8+JyxzaWdtYTonPHBvbHlsaW5lIHBvaW50cz0iMTggNCA2IDQgMTMgMTIgNiAyMCAxOCAyMCIvPicseDonPHBhdGggZD0iTTE4IDYgNiAxOCIvPjxwYXRoIGQ9Ik02IDZsMTIgMTIiLz4nLHBsdXM6JzxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ii8+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz4nLG1pYzonPHJlY3QgeD0iOSIgeT0iMyIgd2lkdGg9IjYiIGhlaWdodD0iMTEiIHJ4PSIzIi8+PHBhdGggZD0iTTUgMTFhNyA3IDAgMCAwIDE0IDAiLz48bGluZSB4MT0iMTIiIHkxPSIxOCIgeDI9IjEyIiB5Mj0iMjEiLz48bGluZSB4MT0iOSIgeTE9IjIxIiB4Mj0iMTUiIHkyPSIyMSIvPicscGFwZXJjbGlwOic8cGF0aCBkPSJNMjEuNDQgMTEuMDUgMTIuMjUgMjAuMjRhNiA2IDAgMCAxLTguNDktOC40OWw4Ljg0LTguODRhNCA0IDAgMSAxIDUuNjYgNS42Nkw5LjQxIDE3LjQxYTIgMiAwIDEgMS0yLjgzLTIuODNsOC44NC04LjgzIi8+J307ZnVuY3Rpb24gaXQoZSx0KXt2YXIgYT13Q1tlXTtpZighYSlyZXR1cm4iIjt0PXR8fHt9O3ZhciBpPXQuc2l6ZXx8MTQsbz10LnN0cm9rZVdpZHRofHwxLjgsYz10LmNscz8nIGNsYXNzPSInK3QuY2xzKyciJzoiIixkPXQuZmlsbHx8Im5vbmUiO3JldHVybiI8c3ZnIitjKycgd2lkdGg9IicraSsnIiBoZWlnaHQ9IicraSsnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IicrZCsnIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSInK28rJyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JythKyI8L3N2Zz4ifWZ1bmN0aW9uIFY1KGUpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLmNvbnRlbnQpKXJldHVybiAwO2Zvcih2YXIgdD0wLGE9MDthPGUuY29udGVudC5sZW5ndGg7YSsrKXt2YXIgaT1lLmNvbnRlbnRbYV07aWYoaSl7aWYodHlwZW9mIGkudGV4dD09InN0cmluZyImJih0Kz1pLnRleHQubGVuZ3RoKSx0eXBlb2YgaS50aGlua2luZz09InN0cmluZyImJih0Kz1pLnRoaW5raW5nLmxlbmd0aCksdHlwZW9mIGkuY29udGVudD09InN0cmluZyIpdCs9aS5jb250ZW50Lmxlbmd0aDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaS5jb250ZW50KSlmb3IodmFyIG89MDtvPGkuY29udGVudC5sZW5ndGg7bysrKXt2YXIgYz1pLmNvbnRlbnRbb107YyYmdHlwZW9mIGMudGV4dD09InN0cmluZyImJih0Kz1jLnRleHQubGVuZ3RoKX1pZihpLmlucHV0KXRyeXt0Kz1KU09OLnN0cmluZ2lmeShpLmlucHV0KS5sZW5ndGh9Y2F0Y2h7fX19cmV0dXJuIHR9ZnVuY3Rpb24gRzUoZSx0KXtyZXR1cm4gZT90P1Y1KHQpPj1WNShlKT90Ok9iamVjdC5hc3NpZ24oe30sZSx7dXNhZ2U6dC51c2FnZXx8ZS51c2FnZX0pOmU6dH1mdW5jdGlvbiB4QyhlLHQpe3JldHVybiBlPy5yb2xlPT09ImFzc2lzdGFudCImJnQ/LnJvbGU9PT0iYXNzaXN0YW50Ij9HNShlLHQpOnR8fGV9ZnVuY3Rpb24gRUMoZSx0LGEsaSl7dmFyIG89YXx8MCxjPXR5cGVvZiBpPT0ibnVtYmVyIj9pOk1hdGgubWF4KG8rdC5sZW5ndGgsdC5sZW5ndGgpLGQ9ZSYmQXJyYXkuaXNBcnJheShlLm1lc3NhZ2VzKT9lLm1lc3NhZ2VzOltdLGY9ZSYmdHlwZW9mIGUubWVzc2FnZU9mZnNldD09Im51bWJlciI/ZS5tZXNzYWdlT2Zmc2V0OjAsbT1lJiZ0eXBlb2YgZS5tZXNzYWdlVG90YWw9PSJudW1iZXIiP2UubWVzc2FnZVRvdGFsOmYrZC5sZW5ndGg7aWYodC5sZW5ndGg9PT0wJiZkLmxlbmd0aD4wJiZjPT09MClyZXR1cm57bWVzc2FnZXM6ZCxtZXNzYWdlT2Zmc2V0OmYsbWVzc2FnZVRvdGFsOm19O2lmKGQubGVuZ3RoPjAmJmM8bSlyZXR1cm57bWVzc2FnZXM6ZCxtZXNzYWdlT2Zmc2V0OmYsbWVzc2FnZVRvdGFsOm19O2lmKGQubGVuZ3RoPT09MClyZXR1cm57bWVzc2FnZXM6dCxtZXNzYWdlT2Zmc2V0Om8sbWVzc2FnZVRvdGFsOmN9O3ZhciBoPWYrZC5sZW5ndGgsZz1vK3QubGVuZ3RoO2lmKG8+aHx8Zj5nKXJldHVybnttZXNzYWdlczp0LG1lc3NhZ2VPZmZzZXQ6byxtZXNzYWdlVG90YWw6Y307Zm9yKHZhciBiPU1hdGgubWluKGYsbykseT1NYXRoLm1heChoLGcpLEM9W10sdz1iO3c8eTt3Kyspe3ZhciB4PXc+PWYmJnc8aD9kW3ctZl06dm9pZCAwLEY9dz49byYmdzxnP3Rbdy1vXTp2b2lkIDA7Qy5wdXNoKHhDKHgsRikpfXJldHVybnttZXNzYWdlczpDLG1lc3NhZ2VPZmZzZXQ6YixtZXNzYWdlVG90YWw6TWF0aC5tYXgobSxjLGIrQy5sZW5ndGgpfX1mdW5jdGlvbiBmaSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpO2lmKCFlKXJldHVybiBzLmNoYXRTY3JvbGxFbGVtZW50PW51bGwsbnVsbDt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7cmV0dXJuIHQ/KHMuY2hhdFNjcm9sbEVsZW1lbnQ9dCx0KToocy5jaGF0U2Nyb2xsRWxlbWVudD1udWxsLG51bGwpfWZ1bmN0aW9uIHB2KGUpe3ZhciB0PWV8fGZpKCk7cmV0dXJuIHQ/TWF0aC5hYnModC5zY3JvbGxUb3ApPHMuY2hhdFNjcm9sbFRocmVzaG9sZDohMH1mdW5jdGlvbiBobyhlKXtlPWV8fHt9O3ZhciB0PXMuY2hhdFVucmVhZENvdW50PjB8fHMuY2hhdFVucmVhZFN0YXJ0SW5kZXg+PTA7aWYocy5jaGF0VW5yZWFkQ291bnQ9MCxzLmNoYXRVbnJlYWRTdGFydEluZGV4PS0xLGUucmVtb3ZlRGl2aWRlciE9PSExKXt2YXIgYT1maSgpO2lmKGEpe3ZhciBpPWEucXVlcnlTZWxlY3RvcigiLmNoYXQtdW5yZWFkLWRpdmlkZXIiKTtpJiZpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKX19dCYmUG4oKX1mdW5jdGlvbiB2dihlKXtpZihlfHwoZT1maSgpKSwhIWUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLmNoYXQtdW5yZWFkLWRpdmlkZXIiKTtpZihzLmNoYXRVbnJlYWRTdGFydEluZGV4PDB8fHMuY2hhdFVucmVhZENvdW50PD0wKXt0JiZ0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KTtyZXR1cm59Zm9yKHZhciBhPXMuY2hhdFVucmVhZFN0YXJ0SW5kZXgsaT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2UiKSxvPW51bGwsYz0wO2M8aS5sZW5ndGg7YysrKXt2YXIgZD1pW2NdLmdldEF0dHJpYnV0ZSgiZGF0YS1tc2ctaW5kZXgiKTtpZihkIT09bnVsbCl7dmFyIGY9cGFyc2VJbnQoZCwxMCk7aWYoIWlzTmFOKGYpJiZmPGEpe289aVtjXTticmVha319fXZhciBtPXMuY2hhdFVucmVhZENvdW50KyIgXHU2NzYxXHU2NUIwXHU2RDg4XHU2MDZGIjt0fHwodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0LmNsYXNzTmFtZT0iY2hhdC11bnJlYWQtZGl2aWRlciIsdC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJzZXBhcmF0b3IiKSx0LmlubmVySFRNTD0nPHNwYW4gY2xhc3M9ImNoYXQtdW5yZWFkLWRpdmlkZXItbGluZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LXVucmVhZC1kaXZpZGVyLWxhYmVsIj48L3NwYW4+PHNwYW4gY2xhc3M9ImNoYXQtdW5yZWFkLWRpdmlkZXItbGluZSI+PC9zcGFuPicpLHQucXVlcnlTZWxlY3RvcigiLmNoYXQtdW5yZWFkLWRpdmlkZXItbGFiZWwiKS50ZXh0Q29udGVudD1tLG8/KHQubmV4dFNpYmxpbmchPT1vfHx0LnBhcmVudE5vZGUhPT1lKSYmZS5pbnNlcnRCZWZvcmUodCxvKToodC5wYXJlbnROb2RlIT09ZXx8dC5uZXh0U2libGluZyE9PW51bGwpJiZlLmFwcGVuZENoaWxkKHQpfX1mdW5jdGlvbiBQbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LXVucmVhZC1idWJibGUiKTtpZihlKXt2YXIgdD1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZil7cmV0dXJuIGYuaWQ9PT1zLnNlbGVjdGVkSWR9KSxhPSFwdigpLGk9ISF0JiZzLmN1cnJlbnRWaWV3PT09ImNoYXQiJiZhO2UuY2xhc3NMaXN0LnRvZ2dsZSgidmlzaWJsZSIsaSksZS5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtdW5yZWFkIixzLmNoYXRVbnJlYWRDb3VudD4wKTt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXVucmVhZC1idWJibGUtY291bnQiKTtvJiYocy5jaGF0VW5yZWFkQ291bnQ+MD8oby50ZXh0Q29udGVudD1zLmNoYXRVbnJlYWRDb3VudD45OT8iOTkrIjpTdHJpbmcocy5jaGF0VW5yZWFkQ291bnQpLG8uY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpKTooby50ZXh0Q29udGVudD0iIixvLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKSkpO3ZhciBjPXMuY2hhdFVucmVhZENvdW50PjA/cy5jaGF0VW5yZWFkQ291bnQrIiBcdTY3NjFcdTY1QjBcdTZEODhcdTYwNkZcdUZGMENcdTcwQjlcdTUxRkJcdTY3RTVcdTc3MEIiOiJcdTU2REVcdTUyMzBcdTY3MDBcdTY1QjBcdTZEODhcdTYwNkYiO2Uuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixjKSxlLnNldEF0dHJpYnV0ZSgidGl0bGUiLGMpO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpO2QmJmQuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLWp1bXAtYnRuIixpKX19ZnVuY3Rpb24gZWQoKXttdigpfWZ1bmN0aW9uIG12KGUpe3ZhciB0PWV8fGZpKCk7aWYodCl7dmFyIGE9dC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1waW4tc3BhY2VyIik7YSYmYS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSl9fWZ1bmN0aW9uIFk1KGUpe3ZhciB0PWZpKCk7aWYoISghdHx8IXQuaXNDb25uZWN0ZWQpKXtlZCgpLG12KHQpLHMuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSEwO3ZhciBhPWZ1bmN0aW9uKCl7cy5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITEscy5jaGF0U3RpY2tUb0JvdHRvbT0hMCxobyh7cmVtb3ZlRGl2aWRlcjohMH0pLFBuKCl9O2lmKGUmJnR5cGVvZiB0LnNjcm9sbFRvPT0iZnVuY3Rpb24iKXt0LnNjcm9sbFRvKHt0b3A6MCxiZWhhdmlvcjoic21vb3RoIn0pLHNldFRpbWVvdXQoYSwyNjApO3JldHVybn10LnNjcm9sbFRvcD0wLHJlcXVlc3RBbmltYXRpb25GcmFtZShhKX19ZnVuY3Rpb24gVzUoKXt2YXIgZT1maSgpO2VkKCksZSYmbXYoZSkscy5jaGF0U3RpY2tUb0JvdHRvbT0hMCxobyh7cmVtb3ZlRGl2aWRlcjohMH0pLGUmJmUuaXNDb25uZWN0ZWQmJihzLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMCxzLmNoYXRQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbD1EYXRlLm5vdygpKzE4MCxlLnNjcm9sbFRvcD0wLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3MuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExfSkpLFBuKCl9ZnVuY3Rpb24gS3MoKXt2YXIgZT1maSgpO2lmKCFlfHwhZS5pc0Nvbm5lY3RlZClyZXR1cm47aWYocy5jaGF0U2Nyb2xsRWxlbWVudD09PWUmJnMuY2hhdFNjcm9sbEhhbmRsZXIpe1BuKCk7cmV0dXJufXMuY2hhdFNjcm9sbEVsZW1lbnQmJihzLmNoYXRTY3JvbGxIYW5kbGVyJiZzLmNoYXRTY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIscy5jaGF0U2Nyb2xsSGFuZGxlcikscy5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyJiZzLmNoYXRTY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIixzLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXIpLHMuY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyJiZzLmNoYXRTY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMuY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyKSxzLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyJiZzLmNoYXRTY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIscy5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcikpLHMuY2hhdFNjcm9sbEVsZW1lbnQ9ZTtmdW5jdGlvbiB0KCl7ZWQoKSxzLmNoYXRTdGlja1RvQm90dG9tPSExLGUucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5IikmJnBuKCEwKSxQbigpfXMuY2hhdFNjcm9sbEhhbmRsZXI9ZnVuY3Rpb24oKXtpZihlLmlzQ29ubmVjdGVkKXtpZihzLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbHx8RGF0ZS5ub3coKTxzLmNoYXRQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbCl7UG4oKTtyZXR1cm59dmFyIGE9cHYoZSk7aWYoYSllZCgpLHMuY2hhdFN0aWNrVG9Cb3R0b209ITAsaG8oe3JlbW92ZURpdmlkZXI6ITB9KTtlbHNle3QoKTtyZXR1cm59UG4oKX19LHMuY2hhdFNjcm9sbFdoZWVsSGFuZGxlcj1mdW5jdGlvbihhKXtzLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbHx8YS5kZWx0YVk8MCYmdCgpfSxzLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlcj1mdW5jdGlvbihhKXshYS50b3VjaGVzfHxhLnRvdWNoZXMubGVuZ3RoPT09MHx8KHMuY2hhdFRvdWNoU3RhcnRZPWEudG91Y2hlc1swXS5jbGllbnRZKX0scy5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcj1mdW5jdGlvbihhKXtpZighcy5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGwmJiEoIWEudG91Y2hlc3x8YS50b3VjaGVzLmxlbmd0aD09PTApKXt2YXIgaT1hLnRvdWNoZXNbMF0uY2xpZW50WS1zLmNoYXRUb3VjaFN0YXJ0WTtpPjQmJnQoKX19LGUuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixzLmNoYXRTY3JvbGxIYW5kbGVyLHtwYXNzaXZlOiEwfSksZS5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIscy5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyLHtwYXNzaXZlOiEwfSksZS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixzLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlcix7cGFzc2l2ZTohMH0pLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixzLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyLHtwYXNzaXZlOiEwfSksUG4oKX1mdW5jdGlvbiBLNSgpe2lmKHMuY2hhdFJlbmRlcmVkQ291bnQ8cy5jdXJyZW50TWVzc2FnZXMubGVuZ3RoKXtzLmNoYXRSZW5kZXJlZENvdW50Kz1zLmNoYXRQYWdlU2l6ZSxwbighMCk7cmV0dXJufXZhciBlPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PXMuc2VsZWN0ZWRJZH0pO2UmJnR5cGVvZiBlLm1lc3NhZ2VPZmZzZXQ9PSJudW1iZXIiJiZlLm1lc3NhZ2VPZmZzZXQ+MCYmak4oKX12YXIgUXM9bnVsbDtmdW5jdGlvbiBGQygpe1FzJiYoUXMuZGlzY29ubmVjdCgpLFFzPW51bGwpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LWxvYWQtbW9yZS1zZW50aW5lbCIpO2lmKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLmNoYXQtbG9hZC1tb3JlLWJ0biIpO3QmJih0Lm9uY2xpY2s9ZnVuY3Rpb24oKXtLNSgpfSk7dmFyIGE9ISEod2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocG9pbnRlcjogY29hcnNlKSIpLm1hdGNoZXMpLGk9d2luZG93LmlubmVyV2lkdGg8PTc2ODthfHxpfHx3aW5kb3cuX193YW5kSW1lTmF0aXZlfHx3aW5kb3cuX193YW5kSW9zTmF0aXZlfHx0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI+InUifHwoUXM9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKG8pe2Zvcih2YXIgYz0wO2M8by5sZW5ndGg7YysrKWlmKG9bY10uaXNJbnRlcnNlY3Rpbmcpe0s1KCk7YnJlYWt9fSx7cm9vdDpmaSgpLHJvb3RNYXJnaW46IjIwMHB4In0pLFFzLm9ic2VydmUoZSkpfX1mdW5jdGlvbiBHdCgpe3RyeXtzLnNlbGVjdGVkSWQ/bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtc2VsZWN0ZWQtc2Vzc2lvbiIscy5zZWxlY3RlZElkKTpsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1zZWxlY3RlZC1zZXNzaW9uIil9Y2F0Y2h7fX1mdW5jdGlvbiBodihlKXtyZXR1cm4gZSYmQXJyYXkuaXNBcnJheShlLnF1ZXVlZE1lc3NhZ2VzKT9lLnF1ZXVlZE1lc3NhZ2VzOnMuc3RydWN0dXJlZElucHV0UXVldWV9ZnVuY3Rpb24gQ0MoKXt2YXIgZT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1zLnNlbGVjdGVkSWR9KTtyZXR1cm4gaHYoZSl9ZnVuY3Rpb24gdGQoZSl7dmFyIHQ9aHYoZSk7cy5zdHJ1Y3R1cmVkSW5wdXRRdWV1ZT1BcnJheS5pc0FycmF5KHQpP3Quc2xpY2UoKTpbXX1mdW5jdGlvbiBRNShlLHQpe3JldHVybiEhKGUmJkFycmF5LmlzQXJyYXkoZS5jb250ZW50KSYmZS5jb250ZW50LnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIGEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmYVt0XX0pKX1mdW5jdGlvbiBEQyhlKXtyZXR1cm4hIShlJiZlLnJvbGU9PT0idXNlciImJlE1KGUsIl9fcXVldWVkIikpfWZ1bmN0aW9uIEFDKGUpe3JldHVybiEhKGUmJmUucm9sZT09PSJhc3Npc3RhbnQiJiZRNShlLCJfX3Byb2Nlc3NpbmciKSl9ZnVuY3Rpb24gWHMoZSl7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuW107Zm9yKHZhciB0PSExLGE9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbz1lW2ldO2lmKERDKG8pfHxBQyhvKSl7dD0hMDtjb250aW51ZX1hLnB1c2gobyl9cmV0dXJuIHQ/YTplfWZ1bmN0aW9uIFNDKGUsdCl7aWYoIWV8fCFBcnJheS5pc0FycmF5KGUubWVzc2FnZXMpKXJldHVybiBlO3ZhciBhPWUuc2Vzc2lvbktpbmR8fHQmJnQuc2Vzc2lvbktpbmQ7aWYoYSE9PSJzdHJ1Y3R1cmVkIilyZXR1cm4gZTt2YXIgaT1YcyhlLm1lc3NhZ2VzKTtyZXR1cm4gaT09PWUubWVzc2FnZXM/ZTpPYmplY3QuYXNzaWduKHt9LGUse21lc3NhZ2VzOml9KX1mdW5jdGlvbiBYNSgpe3RyeXt2YXIgZT1DQygpO2lmKCFzLnNlbGVjdGVkSWR8fGUubGVuZ3RoPT09MClyZXR1cm47bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtc3RydWN0dXJlZC1xdWV1ZSIsSlNPTi5zdHJpbmdpZnkoe3Nlc3Npb25JZDpzLnNlbGVjdGVkSWQsaXRlbXM6ZX0pKX1jYXRjaHt9fWZ1bmN0aW9uICQ1KGUpe3RyeXt2YXIgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIik7aWYoIXQpcmV0dXJuO3ZhciBhPUpTT04ucGFyc2UodCk7KCFlfHwhYXx8YS5zZXNzaW9uSWQ9PT1lKSYmbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIndhbmQtc3RydWN0dXJlZC1xdWV1ZSIpfWNhdGNoe2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiKX19ZnVuY3Rpb24gWjUoKXt2YXIgZT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaWQ9PT1zLnNlbGVjdGVkSWR9KTtpZihlJiZBcnJheS5pc0FycmF5KGUucXVldWVkTWVzc2FnZXMpKXt0ZChlKSxYNSgpO3JldHVybn10cnl7dmFyIHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtc3RydWN0dXJlZC1xdWV1ZSIpO2lmKCF0KXJldHVybjt2YXIgYT1KU09OLnBhcnNlKHQpO2lmKCFhfHxhLnNlc3Npb25JZCE9PXMuc2VsZWN0ZWRJZHx8IUFycmF5LmlzQXJyYXkoYS5pdGVtcykpcmV0dXJuO3Muc3RydWN0dXJlZElucHV0UXVldWU9YS5pdGVtcy5zbGljZSgwLDEwKX1jYXRjaHtzLnN0cnVjdHVyZWRJbnB1dFF1ZXVlPVtdfX1mdW5jdGlvbiBBcigpe3RyeXtpZihzLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTApe2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ3YW5kLWNyb3NzLXNlc3Npb24tcXVldWUiKTtyZXR1cm59bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtY3Jvc3Mtc2Vzc2lvbi1xdWV1ZSIsSlNPTi5zdHJpbmdpZnkocy5jcm9zc1Nlc3Npb25RdWV1ZSkpfWNhdGNoe319ZnVuY3Rpb24gYnUoKXtyZXR1cm4gcy5jb25maWcmJnMuY29uZmlnLmRlZmF1bHRDd2R8fCIvdG1wIn1mdW5jdGlvbiBKNSgpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShkdik7aWYoIWUpcmV0dXJue307dmFyIHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gdCYmdHlwZW9mIHQ9PSJvYmplY3QiP3Q6e319Y2F0Y2h7cmV0dXJue319fWZ1bmN0aW9uIEJDKGUpe3RyeXtpZighZXx8T2JqZWN0LmtleXMoZSkubGVuZ3RoPT09MCl7bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZHYpO3JldHVybn1sb2NhbFN0b3JhZ2Uuc2V0SXRlbShkdixKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2h7fX1mdW5jdGlvbiBrQygpe3ZhciBlPXMuc2VsZWN0ZWRJZDtpZighZSlyZXR1cm57fTt2YXIgdD1KNSgpLGE9dFtlXTtyZXR1cm4gYSYmdHlwZW9mIGE9PSJvYmplY3QiP2E6e319ZnVuY3Rpb24gSGEoZSl7aWYoIWV8fCFzLnNlbGVjdGVkSWQpcmV0dXJuIG51bGw7dmFyIHQ9a0MoKTtyZXR1cm4gdHlwZW9mIHRbZV09PSJib29sZWFuIj90W2VdOm51bGx9ZnVuY3Rpb24gZ3YoZSx0KXtpZighKCFlfHwhcy5zZWxlY3RlZElkKSl7dmFyIGE9SjUoKSxpPXMuc2VsZWN0ZWRJZCxvPWFbaV07KCFvfHx0eXBlb2YgbyE9Im9iamVjdCIpJiYobz17fSksb1tlXT0hIXQsYVtpXT1vLEJDKGEpfX1mdW5jdGlvbiBidihlLHQpe3JldHVybiBlP2UudXVpZD8ibXNnOiIrZS51dWlkOmUuaWQ/Im1zZzoiK2UuaWQ6ZS5tZXNzYWdlSWQ/Im1zZzoiK2UubWVzc2FnZUlkOmUudHVybklkPyJtc2c6IitlLnR1cm5JZDoibXNnOiIrKHR5cGVvZiB0PT0ibnVtYmVyIj90OjApOiJtc2c6dW5rbm93bi0iKyh0eXBlb2YgdD09Im51bWJlciI/dDowKX1mdW5jdGlvbiBkcihlLHQpe2Zvcih2YXIgYT1bXSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBvPXRbaV07bz09bnVsbHx8bz09PSIifHxhLnB1c2goU3RyaW5nKG8pKX1yZXR1cm4gZSsiOiIrYS5qb2luKCI6Iil9ZnVuY3Rpb24geXYoZSl7cmV0dXJuIWV8fCFlLmRhdGFzZXQ/IiI6ZS5kYXRhc2V0LmV4cGFuZEtleXx8IiJ9ZnVuY3Rpb24gVEMoZSx0KXtpZighZSlyZXR1cm4hMTtzd2l0Y2godCl7Y2FzZSJ0b29sLWNhcmQiOmNhc2UiZGlmZiI6cmV0dXJuIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb2xsYXBzZWQiKTtjYXNlInRoaW5raW5nIjpyZXR1cm4gZS5jbGFzc0xpc3QuY29udGFpbnMoImV4cGFuZGVkIikmJiFlLmNsYXNzTGlzdC5jb250YWlucygiY29sbGFwc2VkIik7Y2FzZSJpbmxpbmUtdG9vbCI6cmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJpbmxpbmUtdG9vbC1vcGVuIik7Y2FzZSJ0ZXJtaW5hbCI6e3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLnRlcm0tYm9keSIpO3JldHVybiBhP2Euc3R5bGUuZGlzcGxheSE9PSJub25lIjplLmRhdGFzZXQuZXhwYW5kZWQ9PT0idHJ1ZSJ9Y2FzZSJ0b29sLWdyb3VwIjpyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiKT09PSJ0cnVlIjtjYXNlInN1YmFnZW50LXJlcGx5IjpyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiKT09PSJ0cnVlIjtjYXNlInN1YmFnZW50LXBhbmVsIjpyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiKT09PSJ0cnVlIjtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBlMShlLHQsYSl7aWYoZSlzd2l0Y2godCl7Y2FzZSJ0b29sLWNhcmQiOmNhc2UiZGlmZiI6e2UuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIiwhYSk7YnJlYWt9Y2FzZSJ0aGlua2luZyI6e2UuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIiwhYSksZS5jbGFzc0xpc3QudG9nZ2xlKCJleHBhbmRlZCIsISFhKTt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtcHJldmlldyIpO2lmKGkpe3ZhciBvPWUuZGF0YXNldC50aGlua2luZ3x8IiIsYz1vLnNsaWNlKDAsNTcpKyhvLmxlbmd0aD42MD8iXHUyMDI2IjoiIik7aS50ZXh0Q29udGVudD1hP286Y312YXIgZD1lLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtYWN0aW9uIik7ZCYmKGQudGV4dENvbnRlbnQ9YT8iXHU2NTM2XHU4RDc3IjoiXHU1QzU1XHU1RjAwIik7YnJlYWt9Y2FzZSJpbmxpbmUtdG9vbCI6e2UuY2xhc3NMaXN0LnRvZ2dsZSgiaW5saW5lLXRvb2wtb3BlbiIsISFhKTt2YXIgZj1lLnF1ZXJ5U2VsZWN0b3IoIi5pbmxpbmUtdG9vbC1leHBhbmRlZCIpO2YmJihmLnN0eWxlLmRpc3BsYXk9YT8iYmxvY2siOiJub25lIik7YnJlYWt9Y2FzZSJ0ZXJtaW5hbCI6e3ZhciBtPWUucXVlcnlTZWxlY3RvcigiLnRlcm0tYm9keSIpO20mJihtLnN0eWxlLmRpc3BsYXk9YT8iYmxvY2siOiJub25lIiksZS5kYXRhc2V0LmV4cGFuZGVkPWE/InRydWUiOiJmYWxzZSI7dmFyIGg9ZS5xdWVyeVNlbGVjdG9yKCIudGVybS10b2dnbGUtaWNvbiIpO2gmJihoLnRleHRDb250ZW50PWE/Ilx1MjVCQyI6Ilx1MjVCNiIpO2JyZWFrfWNhc2UidG9vbC1ncm91cCI6e2Uuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIixhPyJ0cnVlIjoiZmFsc2UiKTt2YXIgZz1lLnF1ZXJ5U2VsZWN0b3IoIi50b29sLWdyb3VwLWJvZHkiKTtnJiYoZy5zdHlsZS5kaXNwbGF5PWE/ImJsb2NrIjoibm9uZSIpO3ZhciBiPWUucXVlcnlTZWxlY3RvcigiLnRvb2wtZ3JvdXAtY2hldnJvbiIpO2ImJihiLnN0eWxlLnRyYW5zZm9ybT1hPyJyb3RhdGUoMTgwZGVnKSI6IiIpO2JyZWFrfWNhc2Uic3ViYWdlbnQtcmVwbHkiOntlLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsYT8idHJ1ZSI6ImZhbHNlIik7dmFyIHk9ZS5xdWVyeVNlbGVjdG9yKCIuc3ViYWdlbnQtcmVwbHktdG9nZ2xlLWxhYmVsIik7eSYmKHkudGV4dENvbnRlbnQ9YT8iXHU2NTM2XHU4RDc3IjoiXHU1QzU1XHU1RjAwIik7dmFyIEM9ZS5xdWVyeVNlbGVjdG9yKCIuc3ViYWdlbnQtcmVwbHktdG9nZ2xlIik7QyYmKEMuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixhPyJ0cnVlIjoiZmFsc2UiKSxDLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsYT8iXHU2NTM2XHU4RDc3XHU1QjUwXHU0RUUzXHU3NDA2XHU1NkRFXHU1OTBEIjoiXHU1QzU1XHU1RjAwXHU1QjUwXHU0RUUzXHU3NDA2XHU1NkRFXHU1OTBEXHU1MTY4XHU2NTg3IikpO2JyZWFrfWNhc2Uic3ViYWdlbnQtcGFuZWwiOntlLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsYT8idHJ1ZSI6ImZhbHNlIik7Zm9yKHZhciB3PWUucXVlcnlTZWxlY3RvckFsbCgiLnN1YmFnZW50LXBhbmVsLXRvZ2dsZSIpLHg9MDt4PHcubGVuZ3RoO3grKyl7dmFyIEY9d1t4XTtGLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsYT8idHJ1ZSI6ImZhbHNlIiksRi5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGE/Ilx1NjUzNlx1OEQ3N1x1NUI1MFx1NEVFM1x1NzQwNlx1OEY5M1x1NTFGQSI6Ilx1NUM1NVx1NUYwMFx1NUI1MFx1NEVFM1x1NzQwNlx1OEY5M1x1NTFGQSIpO3ZhciBBPUYucXVlcnlTZWxlY3RvcigiLnN1YmFnZW50LXBhbmVsLXRvZ2dsZS1sYWJlbCIpO0EmJihBLnRleHRDb250ZW50PWE/Ilx1NjUzNlx1OEQ3NyI6Ilx1NUM1NVx1NUYwMCIpfXZhciBEPWUucXVlcnlTZWxlY3RvcigiLnN1YmFnZW50LXBhbmVsLWJvZHkiKTtEJiYoYT9ELnNjcm9sbFRvcD0wOkQuc2Nyb2xsVG9wPUQuc2Nyb2xsSGVpZ2h0KTticmVha319fWZ1bmN0aW9uIGdvKGUsdCl7dmFyIGE9eXYoZSk7YSYmZ3YoYSxUQyhlLHQpKX1mdW5jdGlvbiB3dihlKXshZXx8IXMuc2VsZWN0ZWRJZHx8ZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1leHBhbmQta2V5XSIpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGE9eXYodCksaT10LmRhdGFzZXQuZXhwYW5kS2luZHx8IiIsbz1IYShhKTtvPT09bnVsbHx8IWl8fGUxKHQsaSxvKX0pfXZhciBqQz1sZShBZSgpLDEpLHh2PWxlKGRpKCksMSksTUM9bGUocTUoKSwxKSxPQz1sZShxNSgpLDEpLF9DPSJ3YW5kLnJlYWN0VWkuZW5hYmxlZCIsTkM9IndhbmQucmVhY3RTaGVsbC5lbmFibGVkIjtmdW5jdGlvbiBuZChlKXtpZihlPT1udWxsfHxlPT09IiIpcmV0dXJuIG51bGw7Y29uc3QgdD1lLnRyaW0oKS50b0xvd2VyQ2FzZSgpO3JldHVyblsiMSIsInRydWUiLCJvbiIsImVuYWJsZWQiXS5pbmNsdWRlcyh0KT8hMDpbIjAiLCJmYWxzZSIsIm9mZiIsImRpc2FibGVkIl0uaW5jbHVkZXModCk/ITE6bnVsbH1mdW5jdGlvbiB0MShlPXdpbmRvdyl7dHJ5e2NvbnN0IGE9bmQobmV3IFVSTChlLmxvY2F0aW9uLmhyZWYpLnNlYXJjaFBhcmFtcy5nZXQoInJlYWN0VWkiKSk7aWYoYSE9bnVsbClyZXR1cm4gYX1jYXRjaHt9Y29uc3QgdD1lLl9fd2FuZEZlYXR1cmVGbGFncz8ucmVhY3RVaTtpZih0eXBlb2YgdD09ImJvb2xlYW4iKXJldHVybiB0O3RyeXtjb25zdCBhPW5kKGUubG9jYWxTdG9yYWdlLmdldEl0ZW0oX0MpKTtpZihhIT1udWxsKXJldHVybiBhfWNhdGNoe31yZXR1cm4hMH1mdW5jdGlvbiBSQyhlPXdpbmRvdyl7aWYoIXQxKGUpKXJldHVybiExO3RyeXtjb25zdCBhPW5kKG5ldyBVUkwoZS5sb2NhdGlvbi5ocmVmKS5zZWFyY2hQYXJhbXMuZ2V0KCJyZWFjdFNoZWxsIikpO2lmKGEhPW51bGwpcmV0dXJuIGF9Y2F0Y2h7fWNvbnN0IHQ9ZS5fX3dhbmRGZWF0dXJlRmxhZ3M/LnJlYWN0U2hlbGw7aWYodHlwZW9mIHQ9PSJib29sZWFuIilyZXR1cm4gdDt0cnl7Y29uc3QgYT1uZChlLmxvY2FsU3RvcmFnZS5nZXRJdGVtKE5DKSk7aWYoYSE9bnVsbClyZXR1cm4gYX1jYXRjaHt9cmV0dXJuITB9dmFyIElDPWxlKEFlKCksMSksbjE9MCx5dT1bXSxwaT1bXSxhMT17YWN0aXZlRGlhbG9nOm51bGwsdG9hc3RzOltdfSxFdj1uZXcgU2V0O2Z1bmN0aW9uICRzKCl7YTE9e2FjdGl2ZURpYWxvZzp5dVswXT8/bnVsbCx0b2FzdHM6Wy4uLnBpXX07Zm9yKGNvbnN0IGUgb2YgRXYpZSgpfWZ1bmN0aW9uIHIxKGUpe2NvbnN0IHQ9cGkuZmluZChhPT5hLmlkPT09ZSk7IXR8fCF0Lm9wZW58fChwaT1waS5tYXAoYT0+YS5pZD09PWU/ey4uLmEsb3BlbjohMX06YSksJHMoKSx3aW5kb3cuc2V0VGltZW91dCgoKT0+e3BpPXBpLmZpbHRlcihhPT5hLmlkIT09ZSksJHMoKX0sMTgwKSl9dmFyIGJvPXtkaWFsb2coZSl7Y29uc3QgdD0rK24xO3JldHVybiBuZXcgUHJvbWlzZShhPT57eXU9Wy4uLnl1LHtpZDp0LG9wdGlvbnM6ZSxyZXNvbHZlOmF9XSwkcygpfSl9LHRvYXN0KGUsdD17fSl7Y29uc3QgYT0rK24xO3JldHVybiBwaT1bLi4ucGkse2lkOmEsbWVzc2FnZTplLG9wdGlvbnM6dCxvcGVuOiEwfV0sJHMoKSx7aWQ6YSxkaXNtaXNzOigpPT5yMShhKX19LGNsb3NlVG9wbW9zdCgpe2NvbnN0IGU9eXVbMF07cmV0dXJuIWV8fGUub3B0aW9ucy5kaXNtaXNzYWJsZT09PSExPyExOih3dS5jb21wbGV0ZURpYWxvZyhlLmlkLHtkaXNtaXNzZWQ6ITB9KSwhMCl9fSx3dT17c3Vic2NyaWJlKGUpe3JldHVybiBFdi5hZGQoZSksKCk9PkV2LmRlbGV0ZShlKX0sZ2V0U25hcHNob3QoKXtyZXR1cm4gYTF9LGNvbXBsZXRlRGlhbG9nKGUsdCl7Y29uc3QgYT15dS5maW5kKGk9PmkuaWQ9PT1lKTthJiYoeXU9eXUuZmlsdGVyKGk9PmkuaWQhPT1lKSwkcygpLGEucmVzb2x2ZSh0KSl9LGRpc21pc3NUb2FzdDpyMX0sTEM9bGUoQWUoKSwxKTtmdW5jdGlvbiB4dSguLi5lKXtyZXR1cm4gZS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpfXZhciB6Qz1sZShxZSgpLDEpLEdlPSgwLExDLmZvcndhcmRSZWYpKGZ1bmN0aW9uKHtjbGFzc05hbWU6dCxraW5kOmE9InNlY29uZGFyeSIsc2l6ZTppPSJtZWRpdW0iLHR5cGU6bz0iYnV0dG9uIiwuLi5jfSxkKXtyZXR1cm4oMCx6Qy5qc3gpKCJidXR0b24iLHsuLi5jLHJlZjpkLHR5cGU6byxjbGFzc05hbWU6eHUoIndhbmQtdWktYnV0dG9uIixgd2FuZC11aS1idXR0b24tJHthfWAsaSE9PSJtZWRpdW0iJiZgd2FuZC11aS1idXR0b24tJHtpfWAsdCl9KX0pLHNuPWxlKEFlKCksMSksa0w9ISEodHlwZW9mIHdpbmRvdzwidSImJndpbmRvdy5kb2N1bWVudCYmd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO2Z1bmN0aW9uIF9lKGUsdCx7Y2hlY2tGb3JEZWZhdWx0UHJldmVudGVkOmE9ITB9PXt9KXtyZXR1cm4gZnVuY3Rpb24obyl7aWYoZT8uKG8pLGE9PT0hMXx8IW98fCFvLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuIHQ/LihvKX19dmFyIEhDPWxlKEFlKCksMSk7ZnVuY3Rpb24gaTEoZSx0KXtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIilyZXR1cm4gZSh0KTtlIT1udWxsJiYoZS5jdXJyZW50PXQpfWZ1bmN0aW9uIHFDKC4uLmUpe3JldHVybiB0PT57bGV0IGE9ITE7Y29uc3QgaT1lLm1hcChvPT57Y29uc3QgYz1pMShvLHQpO3JldHVybiFhJiZ0eXBlb2YgYz09ImZ1bmN0aW9uIiYmKGE9ITApLGN9KTtpZihhKXJldHVybigpPT57Zm9yKGxldCBvPTA7bzxpLmxlbmd0aDtvKyspe2NvbnN0IGM9aVtvXTt0eXBlb2YgYz09ImZ1bmN0aW9uIj9jKCk6aTEoZVtvXSxudWxsKX19fX1mdW5jdGlvbiBidCguLi5lKXtyZXR1cm4gSEMudXNlQ2FsbGJhY2socUMoLi4uZSksZSl9dmFyIHlvPWxlKEFlKCksMSksUEM9bGUocWUoKSwxKTtmdW5jdGlvbiBTcihlLHQ9W10pe2xldCBhPVtdO2Z1bmN0aW9uIGkoYyxkKXtjb25zdCBmPXlvLmNyZWF0ZUNvbnRleHQoZCk7Zi5kaXNwbGF5TmFtZT1jKyJDb250ZXh0Ijtjb25zdCBtPWEubGVuZ3RoO2E9Wy4uLmEsZF07Y29uc3QgaD1iPT57Y29uc3R7c2NvcGU6eSxjaGlsZHJlbjpDLC4uLnd9PWIseD15Py5bZV0/LlttXXx8ZixGPXlvLnVzZU1lbW8oKCk9PncsT2JqZWN0LnZhbHVlcyh3KSk7cmV0dXJuKDAsUEMuanN4KSh4LlByb3ZpZGVyLHt2YWx1ZTpGLGNoaWxkcmVuOkN9KX07aC5kaXNwbGF5TmFtZT1jKyJQcm92aWRlciI7ZnVuY3Rpb24gZyhiLHksQz17fSl7Y29uc3R7b3B0aW9uYWw6dz0hMX09Qyx4PXk/LltlXT8uW21dfHxmLEY9eW8udXNlQ29udGV4dCh4KTtpZihGKXJldHVybiBGO2lmKGQhPT12b2lkIDApcmV0dXJuIGQ7aWYoIXcpdGhyb3cgbmV3IEVycm9yKGBcYCR7Yn1cYCBtdXN0IGJlIHVzZWQgd2l0aGluIFxgJHtjfVxgYCl9cmV0dXJuW2gsZ119Y29uc3Qgbz0oKT0+e2NvbnN0IGM9YS5tYXAoZD0+eW8uY3JlYXRlQ29udGV4dChkKSk7cmV0dXJuIGZ1bmN0aW9uKGYpe2NvbnN0IG09Zj8uW2VdfHxjO3JldHVybiB5by51c2VNZW1vKCgpPT4oe1tgX19zY29wZSR7ZX1gXTp7Li4uZixbZV06bX19KSxbZixtXSl9fTtyZXR1cm4gby5zY29wZU5hbWU9ZSxbaSxVQyhvLC4uLnQpXX1mdW5jdGlvbiBVQyguLi5lKXtjb25zdCB0PWVbMF07aWYoZS5sZW5ndGg9PT0xKXJldHVybiB0O2NvbnN0IGE9KCk9Pntjb25zdCBpPWUubWFwKG89Pih7dXNlU2NvcGU6bygpLHNjb3BlTmFtZTpvLnNjb3BlTmFtZX0pKTtyZXR1cm4gZnVuY3Rpb24oYyl7Y29uc3QgZD1pLnJlZHVjZSgoZix7dXNlU2NvcGU6bSxzY29wZU5hbWU6aH0pPT57Y29uc3QgYj1tKGMpW2BfX3Njb3BlJHtofWBdO3JldHVybnsuLi5mLC4uLmJ9fSx7fSk7cmV0dXJuIHlvLnVzZU1lbW8oKCk9Pih7W2BfX3Njb3BlJHt0LnNjb3BlTmFtZX1gXTpkfSksW2RdKX19O3JldHVybiBhLnNjb3BlTmFtZT10LnNjb3BlTmFtZSxhfXZhciB1MT1sZShBZSgpLDEpLFZDPWxlKEFlKCksMSksJHQ9Z2xvYmFsVGhpcz8uZG9jdW1lbnQ/VkMudXNlTGF5b3V0RWZmZWN0OigpPT57fSxHQz11MVsiIHVzZUlkICIudHJpbSgpLnRvU3RyaW5nKCldfHwoKCk9Pnt9KSxZQz0wO2Z1bmN0aW9uIEJyKGUpe2NvbnN0W3QsYV09dTEudXNlU3RhdGUoR0MoKSk7cmV0dXJuICR0KCgpPT57ZXx8YShpPT5pPz9TdHJpbmcoWUMrKykpfSxbZV0pLGV8fCh0P2ByYWRpeC0ke3R9YDoiIil9dmFyIHZpPWxlKEFlKCksMSksVEw9bGUoQWUoKSwxKSxXQz12aVsiIHVzZUluc2VydGlvbkVmZmVjdCAiLnRyaW0oKS50b1N0cmluZygpXXx8JHQ7ZnVuY3Rpb24gbWkoe3Byb3A6ZSxkZWZhdWx0UHJvcDp0LG9uQ2hhbmdlOmE9KCk9Pnt9LGNhbGxlcjppfSl7Y29uc3RbbyxjLGRdPUtDKHtkZWZhdWx0UHJvcDp0LG9uQ2hhbmdlOmF9KSxmPWUhPT12b2lkIDAsbT1mP2U6bzt7Y29uc3QgZz12aS51c2VSZWYoZSE9PXZvaWQgMCk7dmkudXNlRWZmZWN0KCgpPT57Y29uc3QgYj1nLmN1cnJlbnQ7YiE9PWYmJmNvbnNvbGUud2FybihgJHtpfSBpcyBjaGFuZ2luZyBmcm9tICR7Yj8iY29udHJvbGxlZCI6InVuY29udHJvbGxlZCJ9IHRvICR7Zj8iY29udHJvbGxlZCI6InVuY29udHJvbGxlZCJ9LiBDb21wb25lbnRzIHNob3VsZCBub3Qgc3dpdGNoIGZyb20gY29udHJvbGxlZCB0byB1bmNvbnRyb2xsZWQgKG9yIHZpY2UgdmVyc2EpLiBEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIHZhbHVlIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbXBvbmVudC5gKSxnLmN1cnJlbnQ9Zn0sW2YsaV0pfWNvbnN0IGg9dmkudXNlQ2FsbGJhY2soZz0+e2lmKGYpe2NvbnN0IGI9UUMoZyk/ZyhlKTpnO2IhPT1lJiZkLmN1cnJlbnQ/LihiKX1lbHNlIGMoZyl9LFtmLGUsYyxkXSk7cmV0dXJuW20saF19ZnVuY3Rpb24gS0Moe2RlZmF1bHRQcm9wOmUsb25DaGFuZ2U6dH0pe2NvbnN0W2EsaV09dmkudXNlU3RhdGUoZSksbz12aS51c2VSZWYoYSksYz12aS51c2VSZWYodCk7cmV0dXJuIFdDKCgpPT57Yy5jdXJyZW50PXR9LFt0XSksdmkudXNlRWZmZWN0KCgpPT57by5jdXJyZW50IT09YSYmKGMuY3VycmVudD8uKGEpLG8uY3VycmVudD1hKX0sW2Esb10pLFthLGksY119ZnVuY3Rpb24gUUMoZSl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24ifXZhciBBdD1sZShBZSgpLDEpLFhDPWxlKEFlKCksMSksJEM9bGUoZGkoKSwxKSxnYT1sZShBZSgpLDEpO2Z1bmN0aW9uIHdvKGUpe2NvbnN0IHQ9Z2EuZm9yd2FyZFJlZigoYSxpKT0+e2xldHtjaGlsZHJlbjpvLC4uLmN9PWEsZD1udWxsLGY9ITE7Y29uc3QgbT1bXTtvMShvKSYmdHlwZW9mIGFkPT0iZnVuY3Rpb24iJiYobz1hZChvLl9wYXlsb2FkKSksZ2EuQ2hpbGRyZW4uZm9yRWFjaChvLHk9PntpZihuNyh5KSl7Zj0hMDtjb25zdCBDPXk7bGV0IHc9ImNoaWxkImluIEMucHJvcHM/Qy5wcm9wcy5jaGlsZDpDLnByb3BzLmNoaWxkcmVuO28xKHcpJiZ0eXBlb2YgYWQ9PSJmdW5jdGlvbiImJih3PWFkKHcuX3BheWxvYWQpKSxkPUpDKEMsdyksbS5wdXNoKGQ/LnByb3BzPy5jaGlsZHJlbil9ZWxzZSBtLnB1c2goeSl9KSxkP2Q9Z2EuY2xvbmVFbGVtZW50KGQsdm9pZCAwLG0pOiFmJiZnYS5DaGlsZHJlbi5jb3VudChvKT09PTEmJmdhLmlzVmFsaWRFbGVtZW50KG8pJiYoZD1vKTtjb25zdCBoPWQ/dDcoZCk6dm9pZCAwLGc9YnQoaSxoKTtpZighZCl7aWYob3x8bz09PTApdGhyb3cgbmV3IEVycm9yKGY/dTcoZSk6aTcoZSkpO3JldHVybiBvfWNvbnN0IGI9ZTcoYyxkLnByb3BzPz97fSk7cmV0dXJuIGQudHlwZSE9PWdhLkZyYWdtZW50JiYoYi5yZWY9aT9nOmgpLGdhLmNsb25lRWxlbWVudChkLGIpfSk7cmV0dXJuIHQuZGlzcGxheU5hbWU9YCR7ZX0uU2xvdGAsdH12YXIgWkM9U3ltYm9sLmZvcigicmFkaXguc2xvdHRhYmxlIiksSkM9KGUsdCk9PntpZigiY2hpbGQiaW4gZS5wcm9wcyl7Y29uc3QgYT1lLnByb3BzLmNoaWxkO3JldHVybiBnYS5pc1ZhbGlkRWxlbWVudChhKT9nYS5jbG9uZUVsZW1lbnQoYSx2b2lkIDAsZS5wcm9wcy5jaGlsZHJlbihhLnByb3BzLmNoaWxkcmVuKSk6bnVsbH1yZXR1cm4gZ2EuaXNWYWxpZEVsZW1lbnQodCk/dDpudWxsfTtmdW5jdGlvbiBlNyhlLHQpe2NvbnN0IGE9ey4uLnR9O2Zvcihjb25zdCBpIGluIHQpe2NvbnN0IG89ZVtpXSxjPXRbaV07L15vbltBLVpdLy50ZXN0KGkpP28mJmM/YVtpXT0oLi4uZik9Pntjb25zdCBtPWMoLi4uZik7cmV0dXJuIG8oLi4uZiksbX06byYmKGFbaV09byk6aT09PSJzdHlsZSI/YVtpXT17Li4ubywuLi5jfTppPT09ImNsYXNzTmFtZSImJihhW2ldPVtvLGNdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIikpfXJldHVybnsuLi5lLC4uLmF9fWZ1bmN0aW9uIHQ3KGUpe2xldCB0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5wcm9wcywicmVmIik/LmdldCxhPXQmJiJpc1JlYWN0V2FybmluZyJpbiB0JiZ0LmlzUmVhY3RXYXJuaW5nO3JldHVybiBhP2UucmVmOih0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwicmVmIik/LmdldCxhPXQmJiJpc1JlYWN0V2FybmluZyJpbiB0JiZ0LmlzUmVhY3RXYXJuaW5nLGE/ZS5wcm9wcy5yZWY6ZS5wcm9wcy5yZWZ8fGUucmVmKX1mdW5jdGlvbiBuNyhlKXtyZXR1cm4gZ2EuaXNWYWxpZEVsZW1lbnQoZSkmJnR5cGVvZiBlLnR5cGU9PSJmdW5jdGlvbiImJiJfX3JhZGl4SWQiaW4gZS50eXBlJiZlLnR5cGUuX19yYWRpeElkPT09WkN9dmFyIGE3PVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKTtmdW5jdGlvbiBvMShlKXtyZXR1cm4gZSE9bnVsbCYmdHlwZW9mIGU9PSJvYmplY3QiJiYiJCR0eXBlb2YiaW4gZSYmZS4kJHR5cGVvZj09PWE3JiYiX3BheWxvYWQiaW4gZSYmcjcoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gcjcoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZSE9PW51bGwmJiJ0aGVuImluIGV9dmFyIGk3PWU9PmAke2V9IGZhaWxlZCB0byBzbG90IG9udG8gaXRzIGNoaWxkcmVuLiBFeHBlY3RlZCBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkIG9yIFxgU2xvdHRhYmxlXGAuYCx1Nz1lPT5gJHtlfSBmYWlsZWQgdG8gc2xvdCBvbnRvIGl0cyBcYFNsb3R0YWJsZVxgLiBFeHBlY3RlZCBcYFNsb3R0YWJsZVxgIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC5gLGFkPWdhWyIgdXNlICIudHJpbSgpLnRvU3RyaW5nKCldLG83PWxlKHFlKCksMSksczc9WyJhIiwiYnV0dG9uIiwiZGl2IiwiZm9ybSIsImgyIiwiaDMiLCJpbWciLCJpbnB1dCIsImxhYmVsIiwibGkiLCJuYXYiLCJvbCIsInAiLCJzZWxlY3QiLCJzcGFuIiwic3ZnIiwidWwiXSxIZT1zNy5yZWR1Y2UoKGUsdCk9Pntjb25zdCBhPXdvKGBQcmltaXRpdmUuJHt0fWApLGk9WEMuZm9yd2FyZFJlZigobyxjKT0+e2NvbnN0e2FzQ2hpbGQ6ZCwuLi5mfT1vLG09ZD9hOnQ7cmV0dXJuIHR5cGVvZiB3aW5kb3c8InUiJiYod2luZG93W1N5bWJvbC5mb3IoInJhZGl4LXVpIildPSEwKSwoMCxvNy5qc3gpKG0sey4uLmYscmVmOmN9KX0pO3JldHVybiBpLmRpc3BsYXlOYW1lPWBQcmltaXRpdmUuJHt0fWAsey4uLmUsW3RdOml9fSx7fSk7ZnVuY3Rpb24gczEoZSx0KXtlJiYkQy5mbHVzaFN5bmMoKCk9PmUuZGlzcGF0Y2hFdmVudCh0KSl9dmFyIEZ2PWxlKEFlKCksMSk7ZnVuY3Rpb24gVW4oZSl7Y29uc3QgdD1Gdi51c2VSZWYoZSk7cmV0dXJuIEZ2LnVzZUVmZmVjdCgoKT0+e3QuY3VycmVudD1lfSksRnYudXNlTWVtbygoKT0+KCguLi5hKT0+dC5jdXJyZW50Py4oLi4uYSkpLFtdKX12YXIgbDE9bGUocWUoKSwxKSxsNz0iRGlzbWlzc2FibGVMYXllciIsQ3Y9ImRpc21pc3NhYmxlTGF5ZXIudXBkYXRlIixjNz0iZGlzbWlzc2FibGVMYXllci5wb2ludGVyRG93bk91dHNpZGUiLGQ3PSJkaXNtaXNzYWJsZUxheWVyLmZvY3VzT3V0c2lkZSIsYzEsRHY9QXQuY3JlYXRlQ29udGV4dCh7bGF5ZXJzOm5ldyBTZXQsbGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQ6bmV3IFNldCxicmFuY2hlczpuZXcgU2V0LGRpc21pc3NhYmxlU3VyZmFjZXM6bmV3IFNldH0pLFpzPUF0LmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6YT0hMSxkZWZlclBvaW50ZXJEb3duT3V0c2lkZTppPSExLG9uRXNjYXBlS2V5RG93bjpvLG9uUG9pbnRlckRvd25PdXRzaWRlOmMsb25Gb2N1c091dHNpZGU6ZCxvbkludGVyYWN0T3V0c2lkZTpmLG9uRGlzbWlzczptLC4uLmh9PWUsZz1BdC51c2VDb250ZXh0KER2KSxbYix5XT1BdC51c2VTdGF0ZShudWxsKSxDPWI/Lm93bmVyRG9jdW1lbnQ/P2dsb2JhbFRoaXM/LmRvY3VtZW50LFssd109QXQudXNlU3RhdGUoe30pLHg9YnQodCx5KSxGPUFycmF5LmZyb20oZy5sYXllcnMpLFtBXT1bLi4uZy5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZF0uc2xpY2UoLTEpLEQ9QT9GLmluZGV4T2YoQSk6LTEsQj1iP0YuaW5kZXhPZihiKTotMSxUPWcubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuc2l6ZT4wLGs9Qj49RCxNPUF0LnVzZVJlZighMSksej1tNyhaPT57Yz8uKFopLGY/LihaKSxaLmRlZmF1bHRQcmV2ZW50ZWR8fG0/LigpfSx7b3duZXJEb2N1bWVudDpDLGRlZmVyUG9pbnRlckRvd25PdXRzaWRlOmksaXNEZWZlcnJlZFBvaW50ZXJEb3duT3V0c2lkZVJlZjpNLGRpc21pc3NhYmxlU3VyZmFjZXM6Zy5kaXNtaXNzYWJsZVN1cmZhY2VzLHNob3VsZEhhbmRsZVBvaW50ZXJEb3duT3V0c2lkZTpBdC51c2VDYWxsYmFjayhaPT57aWYoIShaIGluc3RhbmNlb2YgTm9kZSkpcmV0dXJuITE7Y29uc3QgdmU9Wy4uLmcuYnJhbmNoZXNdLnNvbWUobWU9Pm1lLmNvbnRhaW5zKFopKTtyZXR1cm4gayYmIXZlfSxbZy5icmFuY2hlcyxrXSl9KSxPPWg3KFo9PntpZihpJiZNLmN1cnJlbnQpcmV0dXJuO2NvbnN0IHZlPVoudGFyZ2V0O1suLi5nLmJyYW5jaGVzXS5zb21lKEg9PkguY29udGFpbnModmUpKXx8KGQ/LihaKSxmPy4oWiksWi5kZWZhdWx0UHJldmVudGVkfHxtPy4oKSl9LEMpLHJlPWI/Qj09PUYubGVuZ3RoLTE6ITEsZWU9VW4oWj0+e1oua2V5PT09IkVzY2FwZSImJihvPy4oWiksIVouZGVmYXVsdFByZXZlbnRlZCYmbSYmKFoucHJldmVudERlZmF1bHQoKSxtKCkpKX0pO3JldHVybiBBdC51c2VFZmZlY3QoKCk9PntpZihyZSlyZXR1cm4gQy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixlZSx7Y2FwdHVyZTohMH0pLCgpPT5DLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGVlLHtjYXB0dXJlOiEwfSl9LFtDLHJlLGVlXSksQXQudXNlRWZmZWN0KCgpPT57aWYoYilyZXR1cm4gYSYmKGcubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuc2l6ZT09PTAmJihjMT1DLmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cyxDLmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIpLGcubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuYWRkKGIpKSxnLmxheWVycy5hZGQoYiksZjEoKSwoKT0+e2EmJihnLmxheWVyc1dpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkLmRlbGV0ZShiKSxnLmxheWVyc1dpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkLnNpemU9PT0wJiYoQy5ib2R5LnN0eWxlLnBvaW50ZXJFdmVudHM9YzEpKX19LFtiLEMsYSxnXSksQXQudXNlRWZmZWN0KCgpPT4oKT0+e2ImJihnLmxheWVycy5kZWxldGUoYiksZy5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5kZWxldGUoYiksZjEoKSl9LFtiLGddKSxBdC51c2VFZmZlY3QoKCk9Pntjb25zdCBaPSgpPT53KHt9KTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihDdixaKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihDdixaKX0sW10pLCgwLGwxLmpzeCkoSGUuZGl2LHsuLi5oLHJlZjp4LHN0eWxlOntwb2ludGVyRXZlbnRzOlQ/az8iYXV0byI6Im5vbmUiOnZvaWQgMCwuLi5lLnN0eWxlfSxvbkZvY3VzQ2FwdHVyZTpfZShlLm9uRm9jdXNDYXB0dXJlLE8ub25Gb2N1c0NhcHR1cmUpLG9uQmx1ckNhcHR1cmU6X2UoZS5vbkJsdXJDYXB0dXJlLE8ub25CbHVyQ2FwdHVyZSksb25Qb2ludGVyRG93bkNhcHR1cmU6X2UoZS5vblBvaW50ZXJEb3duQ2FwdHVyZSx6Lm9uUG9pbnRlckRvd25DYXB0dXJlKX0pfSk7WnMuZGlzcGxheU5hbWU9bDc7dmFyIGY3PSJEaXNtaXNzYWJsZUxheWVyQnJhbmNoIixkMT1BdC5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3QgYT1BdC51c2VDb250ZXh0KER2KSxpPUF0LnVzZVJlZihudWxsKSxvPWJ0KHQsaSk7cmV0dXJuIEF0LnVzZUVmZmVjdCgoKT0+e2NvbnN0IGM9aS5jdXJyZW50O2lmKGMpcmV0dXJuIGEuYnJhbmNoZXMuYWRkKGMpLCgpPT57YS5icmFuY2hlcy5kZWxldGUoYyl9fSxbYS5icmFuY2hlc10pLCgwLGwxLmpzeCkoSGUuZGl2LHsuLi5lLHJlZjpvfSl9KTtkMS5kaXNwbGF5TmFtZT1mNztmdW5jdGlvbiBwNygpe2NvbnN0IGU9QXQudXNlQ29udGV4dChEdiksW3QsYV09QXQudXNlU3RhdGUobnVsbCk7cmV0dXJuIEF0LnVzZUVmZmVjdCgoKT0+e2lmKHQpcmV0dXJuIGUuZGlzbWlzc2FibGVTdXJmYWNlcy5hZGQodCksKCk9PntlLmRpc21pc3NhYmxlU3VyZmFjZXMuZGVsZXRlKHQpfX0sW3QsZS5kaXNtaXNzYWJsZVN1cmZhY2VzXSksYX12YXIgdjc9KCk9PiEwO2Z1bmN0aW9uIG03KGUsdCl7Y29uc3R7b3duZXJEb2N1bWVudDphPWdsb2JhbFRoaXM/LmRvY3VtZW50LGRlZmVyUG9pbnRlckRvd25PdXRzaWRlOmk9ITEsaXNEZWZlcnJlZFBvaW50ZXJEb3duT3V0c2lkZVJlZjpvLGRpc21pc3NhYmxlU3VyZmFjZXM6YyxzaG91bGRIYW5kbGVQb2ludGVyRG93bk91dHNpZGU6ZD12N309dCxmPVVuKGUpLG09QXQudXNlUmVmKCExKSxoPUF0LnVzZVJlZighMSksZz1BdC51c2VSZWYobmV3IE1hcCksYj1BdC51c2VSZWYoKCk9Pnt9KTtyZXR1cm4gQXQudXNlRWZmZWN0KCgpPT57ZnVuY3Rpb24geSgpe2guY3VycmVudD0hMSxvLmN1cnJlbnQ9ITEsZy5jdXJyZW50LmNsZWFyKCl9ZnVuY3Rpb24gQygpe3JldHVybiBBcnJheS5mcm9tKGcuY3VycmVudC52YWx1ZXMoKSkuc29tZShCb29sZWFuKX1mdW5jdGlvbiB3KEIpe2lmKCFoLmN1cnJlbnQpcmV0dXJuO2NvbnN0IFQ9Qi50YXJnZXQ7VCBpbnN0YW5jZW9mIE5vZGUmJlsuLi5jXS5zb21lKE09Pk0uY29udGFpbnMoVCkpfHxnLmN1cnJlbnQuc2V0KEIudHlwZSwhMCksQi50eXBlPT09ImNsaWNrIiYmd2luZG93LnNldFRpbWVvdXQoKCk9PntoLmN1cnJlbnQmJmIuY3VycmVudCgpfSwwKX1mdW5jdGlvbiB4KEIpe2guY3VycmVudCYmZy5jdXJyZW50LnNldChCLnR5cGUsITEpfWNvbnN0IEY9Qj0+e2lmKEIudGFyZ2V0JiYhbS5jdXJyZW50KXtsZXQgaz1mdW5jdGlvbigpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGIuY3VycmVudCk7Y29uc3Qgej1DKCk7eSgpLHp8fHAxKGM3LGYsTSx7ZGlzY3JldGU6ITB9KX07dmFyIFQ9aztpZighZChCLnRhcmdldCkpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGIuY3VycmVudCkseSgpLG0uY3VycmVudD0hMTtyZXR1cm59Y29uc3QgTT17b3JpZ2luYWxFdmVudDpCfTtoLmN1cnJlbnQ9ITAsby5jdXJyZW50PWkmJkIuYnV0dG9uPT09MCxnLmN1cnJlbnQuY2xlYXIoKSwhaXx8Qi5idXR0b24hPT0wP2soKTooYS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsYi5jdXJyZW50KSxiLmN1cnJlbnQ9ayxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiLmN1cnJlbnQse29uY2U6ITB9KSl9ZWxzZSBhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixiLmN1cnJlbnQpLHkoKTttLmN1cnJlbnQ9ITF9LEE9WyJwb2ludGVydXAiLCJtb3VzZWRvd24iLCJtb3VzZXVwIiwidG91Y2hzdGFydCIsInRvdWNoZW5kIiwiY2xpY2siXTtmb3IoY29uc3QgQiBvZiBBKWEuYWRkRXZlbnRMaXN0ZW5lcihCLHcsITApLGEuYWRkRXZlbnRMaXN0ZW5lcihCLHgpO2NvbnN0IEQ9d2luZG93LnNldFRpbWVvdXQoKCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixGKX0sMCk7cmV0dXJuKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KEQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEYpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGIuY3VycmVudCk7Zm9yKGNvbnN0IEIgb2YgQSlhLnJlbW92ZUV2ZW50TGlzdGVuZXIoQix3LCEwKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoQix4KX19LFthLGYsaSxvLGMsZF0pLHtvblBvaW50ZXJEb3duQ2FwdHVyZTooKT0+bS5jdXJyZW50PSEwfX1mdW5jdGlvbiBoNyhlLHQ9Z2xvYmFsVGhpcz8uZG9jdW1lbnQpe2NvbnN0IGE9VW4oZSksaT1BdC51c2VSZWYoITEpO3JldHVybiBBdC51c2VFZmZlY3QoKCk9Pntjb25zdCBvPWM9PntjLnRhcmdldCYmIWkuY3VycmVudCYmcDEoZDcsYSx7b3JpZ2luYWxFdmVudDpjfSx7ZGlzY3JldGU6ITF9KX07cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsbyksKCk9PnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsbyl9LFt0LGFdKSx7b25Gb2N1c0NhcHR1cmU6KCk9PmkuY3VycmVudD0hMCxvbkJsdXJDYXB0dXJlOigpPT5pLmN1cnJlbnQ9ITF9fWZ1bmN0aW9uIGYxKCl7Y29uc3QgZT1uZXcgQ3VzdG9tRXZlbnQoQ3YpO2RvY3VtZW50LmRpc3BhdGNoRXZlbnQoZSl9ZnVuY3Rpb24gcDEoZSx0LGEse2Rpc2NyZXRlOml9KXtjb25zdCBvPWEub3JpZ2luYWxFdmVudC50YXJnZXQsYz1uZXcgQ3VzdG9tRXZlbnQoZSx7YnViYmxlczohMSxjYW5jZWxhYmxlOiEwLGRldGFpbDphfSk7dCYmby5hZGRFdmVudExpc3RlbmVyKGUsdCx7b25jZTohMH0pLGk/czEobyxjKTpvLmRpc3BhdGNoRXZlbnQoYyl9dmFyIGc3PVpzLGI3PWQxLEV1PWxlKEFlKCksMSkseTc9bGUocWUoKSwxKSxBdj0iZm9jdXNTY29wZS5hdXRvRm9jdXNPbk1vdW50IixTdj0iZm9jdXNTY29wZS5hdXRvRm9jdXNPblVubW91bnQiLHYxPXtidWJibGVzOiExLGNhbmNlbGFibGU6ITB9LHc3PSJGb2N1c1Njb3BlIixyZD1FdS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7bG9vcDphPSExLHRyYXBwZWQ6aT0hMSxvbk1vdW50QXV0b0ZvY3VzOm8sb25Vbm1vdW50QXV0b0ZvY3VzOmMsLi4uZH09ZSxbZixtXT1FdS51c2VTdGF0ZShudWxsKSxoPVVuKG8pLGc9VW4oYyksYj1FdS51c2VSZWYobnVsbCkseT1idCh0LG0pLEM9RXUudXNlUmVmKHtwYXVzZWQ6ITEscGF1c2UoKXt0aGlzLnBhdXNlZD0hMH0scmVzdW1lKCl7dGhpcy5wYXVzZWQ9ITF9fSkuY3VycmVudDtFdS51c2VFZmZlY3QoKCk9PntpZihpKXtsZXQgRD1mdW5jdGlvbihNKXtpZihDLnBhdXNlZHx8IWYpcmV0dXJuO2NvbnN0IHo9TS50YXJnZXQ7Zi5jb250YWlucyh6KT9iLmN1cnJlbnQ9ejpoaShiLmN1cnJlbnQse3NlbGVjdDohMH0pfSxCPWZ1bmN0aW9uKE0pe2lmKEMucGF1c2VkfHwhZilyZXR1cm47Y29uc3Qgej1NLnJlbGF0ZWRUYXJnZXQ7eiE9PW51bGwmJihmLmNvbnRhaW5zKHopfHxoaShiLmN1cnJlbnQse3NlbGVjdDohMH0pKX0sVD1mdW5jdGlvbihNKXtpZihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keSlmb3IoY29uc3QgTyBvZiBNKU8ucmVtb3ZlZE5vZGVzLmxlbmd0aD4wJiZoaShmKX07dmFyIHg9RCxGPUIsQT1UO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLEQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixCKTtjb25zdCBrPW5ldyBNdXRhdGlvbk9ic2VydmVyKFQpO3JldHVybiBmJiZrLm9ic2VydmUoZix7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSwoKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLEQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixCKSxrLmRpc2Nvbm5lY3QoKX19fSxbaSxmLEMucGF1c2VkXSksRXUudXNlRWZmZWN0KCgpPT57aWYoZil7ZzEuYWRkKEMpO2NvbnN0IHg9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZighZi5jb250YWlucyh4KSl7Y29uc3QgQT1uZXcgQ3VzdG9tRXZlbnQoQXYsdjEpO2YuYWRkRXZlbnRMaXN0ZW5lcihBdixoKSxmLmRpc3BhdGNoRXZlbnQoQSksQS5kZWZhdWx0UHJldmVudGVkfHwoeDcoQTcobTEoZikpLHtzZWxlY3Q6ITB9KSxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09eCYmaGkoZikpfXJldHVybigpPT57Zi5yZW1vdmVFdmVudExpc3RlbmVyKEF2LGgpLHNldFRpbWVvdXQoKCk9Pntjb25zdCBBPW5ldyBDdXN0b21FdmVudChTdix2MSk7Zi5hZGRFdmVudExpc3RlbmVyKFN2LGcpLGYuZGlzcGF0Y2hFdmVudChBKSxBLmRlZmF1bHRQcmV2ZW50ZWR8fGhpKHg/P2RvY3VtZW50LmJvZHkse3NlbGVjdDohMH0pLGYucmVtb3ZlRXZlbnRMaXN0ZW5lcihTdixnKSxnMS5yZW1vdmUoQyl9LDApfX19LFtmLGgsZyxDXSk7Y29uc3Qgdz1FdS51c2VDYWxsYmFjayh4PT57aWYoIWEmJiFpfHxDLnBhdXNlZClyZXR1cm47Y29uc3QgRj14LmtleT09PSJUYWIiJiYheC5hbHRLZXkmJiF4LmN0cmxLZXkmJiF4Lm1ldGFLZXksQT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKEYmJkEpe2NvbnN0IEQ9eC5jdXJyZW50VGFyZ2V0LFtCLFRdPUU3KEQpO0ImJlQ/IXguc2hpZnRLZXkmJkE9PT1UPyh4LnByZXZlbnREZWZhdWx0KCksYSYmaGkoQix7c2VsZWN0OiEwfSkpOnguc2hpZnRLZXkmJkE9PT1CJiYoeC5wcmV2ZW50RGVmYXVsdCgpLGEmJmhpKFQse3NlbGVjdDohMH0pKTpBPT09RCYmeC5wcmV2ZW50RGVmYXVsdCgpfX0sW2EsaSxDLnBhdXNlZF0pO3JldHVybigwLHk3LmpzeCkoSGUuZGl2LHt0YWJJbmRleDotMSwuLi5kLHJlZjp5LG9uS2V5RG93bjp3fSl9KTtyZC5kaXNwbGF5TmFtZT13NztmdW5jdGlvbiB4NyhlLHtzZWxlY3Q6dD0hMX09e30pe2NvbnN0IGE9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtmb3IoY29uc3QgaSBvZiBlKWlmKGhpKGkse3NlbGVjdDp0fSksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEpcmV0dXJufWZ1bmN0aW9uIEU3KGUpe2NvbnN0IHQ9bTEoZSksYT1oMSh0LGUpLGk9aDEodC5yZXZlcnNlKCksZSk7cmV0dXJuW2EsaV19ZnVuY3Rpb24gbTEoZSl7Y29uc3QgdD1bXSxhPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoZSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCx7YWNjZXB0Tm9kZTppPT57Y29uc3Qgbz1pLnRhZ05hbWU9PT0iSU5QVVQiJiZpLnR5cGU9PT0iaGlkZGVuIjtyZXR1cm4gaS5kaXNhYmxlZHx8aS5oaWRkZW58fG8/Tm9kZUZpbHRlci5GSUxURVJfU0tJUDppLnRhYkluZGV4Pj0wP05vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDpOb2RlRmlsdGVyLkZJTFRFUl9TS0lQfX0pO2Zvcig7YS5uZXh0Tm9kZSgpOyl0LnB1c2goYS5jdXJyZW50Tm9kZSk7cmV0dXJuIHR9ZnVuY3Rpb24gaDEoZSx0KXtjb25zdCBhPXR5cGVvZiB0LmNoZWNrVmlzaWJpbGl0eT09ImZ1bmN0aW9uIiYmdC5jaGVja1Zpc2liaWxpdHkoe2NoZWNrVmlzaWJpbGl0eUNTUzohMH0pO2Zvcihjb25zdCBpIG9mIGUpaWYoIShhPyFpLmNoZWNrVmlzaWJpbGl0eSh7Y2hlY2tWaXNpYmlsaXR5Q1NTOiEwfSk6RjcoaSx7dXBUbzp0fSkpKXJldHVybiBpfWZ1bmN0aW9uIEY3KGUse3VwVG86dH0pe2lmKGdldENvbXB1dGVkU3R5bGUoZSkudmlzaWJpbGl0eT09PSJoaWRkZW4iKXJldHVybiEwO2Zvcig7ZTspe2lmKHQhPT12b2lkIDAmJmU9PT10KXJldHVybiExO2lmKGdldENvbXB1dGVkU3R5bGUoZSkuZGlzcGxheT09PSJub25lIilyZXR1cm4hMDtlPWUucGFyZW50RWxlbWVudH1yZXR1cm4hMX1mdW5jdGlvbiBDNyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQmJiJzZWxlY3QiaW4gZX1mdW5jdGlvbiBoaShlLHtzZWxlY3Q6dD0hMX09e30pe2lmKGUmJmUuZm9jdXMpe2NvbnN0IGE9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksZSE9PWEmJkM3KGUpJiZ0JiZlLnNlbGVjdCgpfX12YXIgZzE9RDcoKTtmdW5jdGlvbiBENygpe2xldCBlPVtdO3JldHVybnthZGQodCl7Y29uc3QgYT1lWzBdO3QhPT1hJiZhPy5wYXVzZSgpLGU9YjEoZSx0KSxlLnVuc2hpZnQodCl9LHJlbW92ZSh0KXtlPWIxKGUsdCksZVswXT8ucmVzdW1lKCl9fX1mdW5jdGlvbiBiMShlLHQpe2NvbnN0IGE9Wy4uLmVdLGk9YS5pbmRleE9mKHQpO3JldHVybiBpIT09LTEmJmEuc3BsaWNlKGksMSksYX1mdW5jdGlvbiBBNyhlKXtyZXR1cm4gZS5maWx0ZXIodD0+dC50YWdOYW1lIT09IkEiKX12YXIgeTE9bGUoQWUoKSwxKSxTNz1sZShkaSgpLDEpLEI3PWxlKHFlKCksMSksazc9IlBvcnRhbCIsSnM9eTEuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e2NvbnRhaW5lcjphLC4uLml9PWUsW28sY109eTEudXNlU3RhdGUoITEpOyR0KCgpPT5jKCEwKSxbXSk7Y29uc3QgZD1hfHxvJiZnbG9iYWxUaGlzPy5kb2N1bWVudD8uYm9keTtyZXR1cm4gZD9TNy5jcmVhdGVQb3J0YWwoKDAsQjcuanN4KShIZS5kaXYsey4uLmkscmVmOnR9KSxkKTpudWxsfSk7SnMuZGlzcGxheU5hbWU9azc7dmFyIHFhPWxlKEFlKCksMSksVDc9bGUoQWUoKSwxKTtmdW5jdGlvbiBqNyhlLHQpe3JldHVybiBUNy51c2VSZWR1Y2VyKChhLGkpPT50W2FdW2ldPz9hLGUpfXZhciBrcj1lPT57Y29uc3R7cHJlc2VudDp0LGNoaWxkcmVuOmF9PWUsaT1NNyh0KSxvPXR5cGVvZiBhPT0iZnVuY3Rpb24iP2Eoe3ByZXNlbnQ6aS5pc1ByZXNlbnR9KTpxYS5DaGlsZHJlbi5vbmx5KGEpLGM9TzcoaS5yZWYsXzcobykpO3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uInx8aS5pc1ByZXNlbnQ/cWEuY2xvbmVFbGVtZW50KG8se3JlZjpjfSk6bnVsbH07a3IuZGlzcGxheU5hbWU9IlByZXNlbmNlIjtmdW5jdGlvbiBNNyhlKXtjb25zdFt0LGFdPXFhLnVzZVN0YXRlKCksaT1xYS51c2VSZWYobnVsbCksbz1xYS51c2VSZWYoZSksYz1xYS51c2VSZWYoIm5vbmUiKSxkPXFhLnVzZVJlZih2b2lkIDApLGY9ZT8ibW91bnRlZCI6InVubW91bnRlZCIsW20saF09ajcoZix7bW91bnRlZDp7VU5NT1VOVDoidW5tb3VudGVkIixBTklNQVRJT05fT1VUOiJ1bm1vdW50U3VzcGVuZGVkIn0sdW5tb3VudFN1c3BlbmRlZDp7TU9VTlQ6Im1vdW50ZWQiLEFOSU1BVElPTl9FTkQ6InVubW91bnRlZCJ9LHVubW91bnRlZDp7TU9VTlQ6Im1vdW50ZWQifX0pO3JldHVybiBxYS51c2VFZmZlY3QoKCk9PnttPT09Im1vdW50ZWQiPyhjLmN1cnJlbnQ9ZC5jdXJyZW50Pz9lbChpLmN1cnJlbnQpLGQuY3VycmVudD12b2lkIDApOmMuY3VycmVudD0ibm9uZSJ9LFttXSksJHQoKCk9Pntjb25zdCBnPWkuY3VycmVudCxiPW8uY3VycmVudDtpZihiIT09ZSl7Y29uc3QgQz1jLmN1cnJlbnQsdz1lbChnKTtlPyhkLmN1cnJlbnQ9dyxoKCJNT1VOVCIpKTp3PT09Im5vbmUifHxnPy5kaXNwbGF5PT09Im5vbmUiP2goIlVOTU9VTlQiKTpoKGImJkMhPT13PyJBTklNQVRJT05fT1VUIjoiVU5NT1VOVCIpLG8uY3VycmVudD1lfX0sW2UsaF0pLCR0KCgpPT57aWYodCl7bGV0IGc7Y29uc3QgYj10Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/P3dpbmRvdyx5PXc9Pntjb25zdCBGPWVsKGkuY3VycmVudCkuaW5jbHVkZXMoQ1NTLmVzY2FwZSh3LmFuaW1hdGlvbk5hbWUpKTtpZih3LnRhcmdldD09PXQmJkYmJihoKCJBTklNQVRJT05fRU5EIiksIW8uY3VycmVudCkpe2NvbnN0IEE9dC5zdHlsZS5hbmltYXRpb25GaWxsTW9kZTt0LnN0eWxlLmFuaW1hdGlvbkZpbGxNb2RlPSJmb3J3YXJkcyIsZz1iLnNldFRpbWVvdXQoKCk9Pnt0LnN0eWxlLmFuaW1hdGlvbkZpbGxNb2RlPT09ImZvcndhcmRzIiYmKHQuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGU9QSl9KX19LEM9dz0+e3cudGFyZ2V0PT09dCYmKGMuY3VycmVudD1lbChpLmN1cnJlbnQpKX07cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uc3RhcnQiLEMpLHQuYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uY2FuY2VsIix5KSx0LmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIseSksKCk9PntiLmNsZWFyVGltZW91dChnKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbnN0YXJ0IixDKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmNhbmNlbCIseSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJhbmltYXRpb25lbmQiLHkpfX1lbHNlIGgoIkFOSU1BVElPTl9FTkQiKX0sW3QsaF0pLHtpc1ByZXNlbnQ6WyJtb3VudGVkIiwidW5tb3VudFN1c3BlbmRlZCJdLmluY2x1ZGVzKG0pLHJlZjpxYS51c2VDYWxsYmFjayhnPT57aWYoZyl7Y29uc3QgYj1nZXRDb21wdXRlZFN0eWxlKGcpO2kuY3VycmVudD1iLGQuY3VycmVudD1lbChiKX1lbHNlIGkuY3VycmVudD1udWxsO2EoZyl9LFtdKX19ZnVuY3Rpb24gdzEoZSx0KXtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIilyZXR1cm4gZSh0KTtlIT1udWxsJiYoZS5jdXJyZW50PXQpfWZ1bmN0aW9uIE83KC4uLmUpe2NvbnN0IHQ9cWEudXNlUmVmKGUpO3JldHVybiB0LmN1cnJlbnQ9ZSxxYS51c2VDYWxsYmFjayhhPT57Y29uc3QgaT10LmN1cnJlbnQ7bGV0IG89ITE7Y29uc3QgYz1pLm1hcChkPT57Y29uc3QgZj13MShkLGEpO3JldHVybiFvJiZ0eXBlb2YgZj09ImZ1bmN0aW9uIiYmKG89ITApLGZ9KTtpZihvKXJldHVybigpPT57Zm9yKGxldCBkPTA7ZDxjLmxlbmd0aDtkKyspe2NvbnN0IGY9Y1tkXTt0eXBlb2YgZj09ImZ1bmN0aW9uIj9mKCk6dzEoaVtkXSxudWxsKX19fSxbXSl9ZnVuY3Rpb24gZWwoZSl7cmV0dXJuIGU/LmFuaW1hdGlvbk5hbWV8fCJub25lIn1mdW5jdGlvbiBfNyhlKXtsZXQgdD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUucHJvcHMsInJlZiIpPy5nZXQsYT10JiYiaXNSZWFjdFdhcm5pbmciaW4gdCYmdC5pc1JlYWN0V2FybmluZztyZXR1cm4gYT9lLnJlZjoodD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsInJlZiIpPy5nZXQsYT10JiYiaXNSZWFjdFdhcm5pbmciaW4gdCYmdC5pc1JlYWN0V2FybmluZyxhP2UucHJvcHMucmVmOmUucHJvcHMucmVmfHxlLnJlZil9dmFyIE43PWxlKEFlKCksMSksaWQ9MCx4bz1udWxsO2Z1bmN0aW9uIEJ2KCl7TjcudXNlRWZmZWN0KCgpPT57eG98fCh4bz17c3RhcnQ6eDEoKSxlbmQ6eDEoKX0pO2NvbnN0e3N0YXJ0OmUsZW5kOnR9PXhvO3JldHVybiBkb2N1bWVudC5ib2R5LmZpcnN0RWxlbWVudENoaWxkIT09ZSYmZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyYmVnaW4iLGUpLGRvY3VtZW50LmJvZHkubGFzdEVsZW1lbnRDaGlsZCE9PXQmJmRvY3VtZW50LmJvZHkuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJiZWZvcmVlbmQiLHQpLGlkKyssKCk9PntpZD09PTEmJih4bz8uc3RhcnQucmVtb3ZlKCkseG8/LmVuZC5yZW1vdmUoKSx4bz1udWxsKSxpZD1NYXRoLm1heCgwLGlkLTEpfX0sW10pfWZ1bmN0aW9uIHgxKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJkYXRhLXJhZGl4LWZvY3VzLWd1YXJkIiwiIiksZS50YWJJbmRleD0wLGUuc3R5bGUub3V0bGluZT0ibm9uZSIsZS5zdHlsZS5vcGFjaXR5PSIwIixlLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixlfXZhciBmcj1mdW5jdGlvbigpe3JldHVybiBmcj1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIGEsaT0xLG89YXJndW1lbnRzLmxlbmd0aDtpPG87aSsrKXthPWFyZ3VtZW50c1tpXTtmb3IodmFyIGMgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxjKSYmKHRbY109YVtjXSl9cmV0dXJuIHR9LGZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gRTEoZSx0KXt2YXIgYT17fTtmb3IodmFyIGkgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxpKSYmdC5pbmRleE9mKGkpPDAmJihhW2ldPWVbaV0pO2lmKGUhPW51bGwmJnR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzPT0iZnVuY3Rpb24iKWZvcih2YXIgbz0wLGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtvPGkubGVuZ3RoO28rKyl0LmluZGV4T2YoaVtvXSk8MCYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsaVtvXSkmJihhW2lbb11dPWVbaVtvXV0pO3JldHVybiBhfWZ1bmN0aW9uIFI3KGUsdCxhKXtpZihhfHxhcmd1bWVudHMubGVuZ3RoPT09Milmb3IodmFyIGk9MCxvPXQubGVuZ3RoLGM7aTxvO2krKykoY3x8IShpIGluIHQpKSYmKGN8fChjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQsMCxpKSksY1tpXT10W2ldKTtyZXR1cm4gZS5jb25jYXQoY3x8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCkpfXZhciBGMT1sZShBZSgpKSxUcj1sZShBZSgpKSx1ZD0icmlnaHQtc2Nyb2xsLWJhci1wb3NpdGlvbiIsb2Q9IndpZHRoLWJlZm9yZS1zY3JvbGwtYmFyIixJNz0id2l0aC1zY3JvbGwtYmFycy1oaWRkZW4iLEw3PSItLXJlbW92ZWQtYm9keS1zY3JvbGwtYmFyLXNpemUiO2Z1bmN0aW9uIGt2KGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24iP2UodCk6ZSYmKGUuY3VycmVudD10KSxlfXZhciB6Nz1sZShBZSgpKTtmdW5jdGlvbiBINyhlLHQpe3ZhciBhPSgwLHo3LnVzZVN0YXRlKShmdW5jdGlvbigpe3JldHVybnt2YWx1ZTplLGNhbGxiYWNrOnQsZmFjYWRlOntnZXQgY3VycmVudCgpe3JldHVybiBhLnZhbHVlfSxzZXQgY3VycmVudChpKXt2YXIgbz1hLnZhbHVlO28hPT1pJiYoYS52YWx1ZT1pLGEuY2FsbGJhY2soaSxvKSl9fX19KVswXTtyZXR1cm4gYS5jYWxsYmFjaz10LGEuZmFjYWRlfXZhciBDMT1sZShBZSgpKSxxNz10eXBlb2Ygd2luZG93PCJ1Ij9DMS51c2VMYXlvdXRFZmZlY3Q6QzEudXNlRWZmZWN0LEQxPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFA3KGUsdCl7dmFyIGE9SDcodHx8bnVsbCxmdW5jdGlvbihpKXtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3JldHVybiBrdihvLGkpfSl9KTtyZXR1cm4gcTcoZnVuY3Rpb24oKXt2YXIgaT1EMS5nZXQoYSk7aWYoaSl7dmFyIG89bmV3IFNldChpKSxjPW5ldyBTZXQoZSksZD1hLmN1cnJlbnQ7by5mb3JFYWNoKGZ1bmN0aW9uKGYpe2MuaGFzKGYpfHxrdihmLG51bGwpfSksYy5mb3JFYWNoKGZ1bmN0aW9uKGYpe28uaGFzKGYpfHxrdihmLGQpfSl9RDEuc2V0KGEsZSl9LFtlXSksYX1mdW5jdGlvbiBVNyhlKXtyZXR1cm4gZX1mdW5jdGlvbiBWNyhlLHQpe3Q9PT12b2lkIDAmJih0PVU3KTt2YXIgYT1bXSxpPSExLG89e3JlYWQ6ZnVuY3Rpb24oKXtpZihpKXRocm93IG5ldyBFcnJvcigiU2lkZWNhcjogY291bGQgbm90IGByZWFkYCBmcm9tIGFuIGBhc3NpZ25lZGAgbWVkaXVtLiBgcmVhZGAgY291bGQgYmUgdXNlZCBvbmx5IHdpdGggYHVzZU1lZGl1bWAuIik7cmV0dXJuIGEubGVuZ3RoP2FbYS5sZW5ndGgtMV06ZX0sdXNlTWVkaXVtOmZ1bmN0aW9uKGMpe3ZhciBkPXQoYyxpKTtyZXR1cm4gYS5wdXNoKGQpLGZ1bmN0aW9uKCl7YT1hLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4gZiE9PWR9KX19LGFzc2lnblN5bmNNZWRpdW06ZnVuY3Rpb24oYyl7Zm9yKGk9ITA7YS5sZW5ndGg7KXt2YXIgZD1hO2E9W10sZC5mb3JFYWNoKGMpfWE9e3B1c2g6ZnVuY3Rpb24oZil7cmV0dXJuIGMoZil9LGZpbHRlcjpmdW5jdGlvbigpe3JldHVybiBhfX19LGFzc2lnbk1lZGl1bTpmdW5jdGlvbihjKXtpPSEwO3ZhciBkPVtdO2lmKGEubGVuZ3RoKXt2YXIgZj1hO2E9W10sZi5mb3JFYWNoKGMpLGQ9YX12YXIgbT1mdW5jdGlvbigpe3ZhciBnPWQ7ZD1bXSxnLmZvckVhY2goYyl9LGg9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbihtKX07aCgpLGE9e3B1c2g6ZnVuY3Rpb24oZyl7ZC5wdXNoKGcpLGgoKX0sZmlsdGVyOmZ1bmN0aW9uKGcpe3JldHVybiBkPWQuZmlsdGVyKGcpLGF9fX19O3JldHVybiBvfWZ1bmN0aW9uIEc3KGUpe2U9PT12b2lkIDAmJihlPXt9KTt2YXIgdD1WNyhudWxsKTtyZXR1cm4gdC5vcHRpb25zPWZyKHthc3luYzohMCxzc3I6ITF9LGUpLHR9dmFyIFk3PWxlKEFlKCkpLEExPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc2lkZUNhcixhPUUxKGUsWyJzaWRlQ2FyIl0pO2lmKCF0KXRocm93IG5ldyBFcnJvcigiU2lkZWNhcjogcGxlYXNlIHByb3ZpZGUgYHNpZGVDYXJgIHByb3BlcnR5IHRvIGltcG9ydCB0aGUgcmlnaHQgY2FyIik7dmFyIGk9dC5yZWFkKCk7aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJTaWRlY2FyIG1lZGl1bSBub3QgZm91bmQiKTtyZXR1cm4gWTcuY3JlYXRlRWxlbWVudChpLGZyKHt9LGEpKX07QTEuaXNTaWRlQ2FyRXhwb3J0PSEwO2Z1bmN0aW9uIFc3KGUsdCl7cmV0dXJuIGUudXNlTWVkaXVtKHQpLEExfXZhciBTMT1HNygpLFR2PWZ1bmN0aW9uKCl7fSxzZD1Uci5mb3J3YXJkUmVmKGZ1bmN0aW9uKGUsdCl7dmFyIGE9VHIudXNlUmVmKG51bGwpLGk9VHIudXNlU3RhdGUoe29uU2Nyb2xsQ2FwdHVyZTpUdixvbldoZWVsQ2FwdHVyZTpUdixvblRvdWNoTW92ZUNhcHR1cmU6VHZ9KSxvPWlbMF0sYz1pWzFdLGQ9ZS5mb3J3YXJkUHJvcHMsZj1lLmNoaWxkcmVuLG09ZS5jbGFzc05hbWUsaD1lLnJlbW92ZVNjcm9sbEJhcixnPWUuZW5hYmxlZCxiPWUuc2hhcmRzLHk9ZS5zaWRlQ2FyLEM9ZS5ub1JlbGF0aXZlLHc9ZS5ub0lzb2xhdGlvbix4PWUuaW5lcnQsRj1lLmFsbG93UGluY2hab29tLEE9ZS5hcyxEPUE9PT12b2lkIDA/ImRpdiI6QSxCPWUuZ2FwTW9kZSxUPUUxKGUsWyJmb3J3YXJkUHJvcHMiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsInJlbW92ZVNjcm9sbEJhciIsImVuYWJsZWQiLCJzaGFyZHMiLCJzaWRlQ2FyIiwibm9SZWxhdGl2ZSIsIm5vSXNvbGF0aW9uIiwiaW5lcnQiLCJhbGxvd1BpbmNoWm9vbSIsImFzIiwiZ2FwTW9kZSJdKSxrPXksTT1QNyhbYSx0XSksej1mcihmcih7fSxUKSxvKTtyZXR1cm4gVHIuY3JlYXRlRWxlbWVudChUci5GcmFnbWVudCxudWxsLGcmJlRyLmNyZWF0ZUVsZW1lbnQoayx7c2lkZUNhcjpTMSxyZW1vdmVTY3JvbGxCYXI6aCxzaGFyZHM6Yixub1JlbGF0aXZlOkMsbm9Jc29sYXRpb246dyxpbmVydDp4LHNldENhbGxiYWNrczpjLGFsbG93UGluY2hab29tOiEhRixsb2NrUmVmOmEsZ2FwTW9kZTpCfSksZD9Uci5jbG9uZUVsZW1lbnQoVHIuQ2hpbGRyZW4ub25seShmKSxmcihmcih7fSx6KSx7cmVmOk19KSk6VHIuY3JlYXRlRWxlbWVudChELGZyKHt9LHose2NsYXNzTmFtZTptLHJlZjpNfSksZikpfSk7c2QuZGVmYXVsdFByb3BzPXtlbmFibGVkOiEwLHJlbW92ZVNjcm9sbEJhcjohMCxpbmVydDohMX0sc2QuY2xhc3NOYW1lcz17ZnVsbFdpZHRoOm9kLHplcm9SaWdodDp1ZH07dmFyIFp0PWxlKEFlKCkpLGp2PWxlKEFlKCkpLEs3PWxlKEFlKCkpLEIxLFE3PWZ1bmN0aW9uKCl7aWYoQjEpcmV0dXJuIEIxO2lmKHR5cGVvZiBfX3dlYnBhY2tfbm9uY2VfXzwidSIpcmV0dXJuIF9fd2VicGFja19ub25jZV9ffTtmdW5jdGlvbiBYNygpe2lmKCFkb2N1bWVudClyZXR1cm4gbnVsbDt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO2UudHlwZT0idGV4dC9jc3MiO3ZhciB0PVE3KCk7cmV0dXJuIHQmJmUuc2V0QXR0cmlidXRlKCJub25jZSIsdCksZX1mdW5jdGlvbiAkNyhlLHQpe2Uuc3R5bGVTaGVldD9lLnN0eWxlU2hlZXQuY3NzVGV4dD10OmUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodCkpfWZ1bmN0aW9uIFo3KGUpe3ZhciB0PWRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07dC5hcHBlbmRDaGlsZChlKX12YXIgSjc9ZnVuY3Rpb24oKXt2YXIgZT0wLHQ9bnVsbDtyZXR1cm57YWRkOmZ1bmN0aW9uKGEpe2U9PTAmJih0PVg3KCkpJiYoJDcodCxhKSxaNyh0KSksZSsrfSxyZW1vdmU6ZnVuY3Rpb24oKXtlLS0sIWUmJnQmJih0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0PW51bGwpfX19LGVEPWZ1bmN0aW9uKCl7dmFyIGU9SjcoKTtyZXR1cm4gZnVuY3Rpb24odCxhKXtLNy51c2VFZmZlY3QoZnVuY3Rpb24oKXtyZXR1cm4gZS5hZGQodCksZnVuY3Rpb24oKXtlLnJlbW92ZSgpfX0sW3QmJmFdKX19LGsxPWZ1bmN0aW9uKCl7dmFyIGU9ZUQoKSx0PWZ1bmN0aW9uKGEpe3ZhciBpPWEuc3R5bGVzLG89YS5keW5hbWljO3JldHVybiBlKGksbyksbnVsbH07cmV0dXJuIHR9LHREPXtsZWZ0OjAsdG9wOjAscmlnaHQ6MCxnYXA6MH0sTXY9ZnVuY3Rpb24oZSl7cmV0dXJuIHBhcnNlSW50KGV8fCIiLDEwKXx8MH0sbkQ9ZnVuY3Rpb24oZSl7dmFyIHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSksYT10W2U9PT0icGFkZGluZyI/InBhZGRpbmdMZWZ0IjoibWFyZ2luTGVmdCJdLGk9dFtlPT09InBhZGRpbmciPyJwYWRkaW5nVG9wIjoibWFyZ2luVG9wIl0sbz10W2U9PT0icGFkZGluZyI/InBhZGRpbmdSaWdodCI6Im1hcmdpblJpZ2h0Il07cmV0dXJuW012KGEpLE12KGkpLE12KG8pXX0sYUQ9ZnVuY3Rpb24oZSl7aWYoZT09PXZvaWQgMCYmKGU9Im1hcmdpbiIpLHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiB0RDt2YXIgdD1uRChlKSxhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxpPXdpbmRvdy5pbm5lcldpZHRoO3JldHVybntsZWZ0OnRbMF0sdG9wOnRbMV0scmlnaHQ6dFsyXSxnYXA6TWF0aC5tYXgoMCxpLWErdFsyXS10WzBdKX19LHJEPWsxKCksRW89ImRhdGEtc2Nyb2xsLWxvY2tlZCIsaUQ9ZnVuY3Rpb24oZSx0LGEsaSl7dmFyIG89ZS5sZWZ0LGM9ZS50b3AsZD1lLnJpZ2h0LGY9ZS5nYXA7cmV0dXJuIGE9PT12b2lkIDAmJihhPSJtYXJnaW4iKSxgCiAgLmAuY29uY2F0KEk3LGAgewogICBvdmVyZmxvdzogaGlkZGVuIGApLmNvbmNhdChpLGA7CiAgIHBhZGRpbmctcmlnaHQ6IGApLmNvbmNhdChmLCJweCAiKS5jb25jYXQoaSxgOwogIH0KICBib2R5W2ApLmNvbmNhdChFbyxgXSB7CiAgICBvdmVyZmxvdzogaGlkZGVuIGApLmNvbmNhdChpLGA7CiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgYCkuY29uY2F0KFt0JiYicG9zaXRpb246IHJlbGF0aXZlICIuY29uY2F0KGksIjsiKSxhPT09Im1hcmdpbiImJmAKICAgIHBhZGRpbmctbGVmdDogYC5jb25jYXQobyxgcHg7CiAgICBwYWRkaW5nLXRvcDogYCkuY29uY2F0KGMsYHB4OwogICAgcGFkZGluZy1yaWdodDogYCkuY29uY2F0KGQsYHB4OwogICAgbWFyZ2luLWxlZnQ6MDsKICAgIG1hcmdpbi10b3A6MDsKICAgIG1hcmdpbi1yaWdodDogYCkuY29uY2F0KGYsInB4ICIpLmNvbmNhdChpLGA7CiAgICBgKSxhPT09InBhZGRpbmciJiYicGFkZGluZy1yaWdodDogIi5jb25jYXQoZiwicHggIikuY29uY2F0KGksIjsiKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiIpLGAKICB9CiAgCiAgLmApLmNvbmNhdCh1ZCxgIHsKICAgIHJpZ2h0OiBgKS5jb25jYXQoZiwicHggIikuY29uY2F0KGksYDsKICB9CiAgCiAgLmApLmNvbmNhdChvZCxgIHsKICAgIG1hcmdpbi1yaWdodDogYCkuY29uY2F0KGYsInB4ICIpLmNvbmNhdChpLGA7CiAgfQogIAogIC5gKS5jb25jYXQodWQsIiAuIikuY29uY2F0KHVkLGAgewogICAgcmlnaHQ6IDAgYCkuY29uY2F0KGksYDsKICB9CiAgCiAgLmApLmNvbmNhdChvZCwiIC4iKS5jb25jYXQob2QsYCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAgYCkuY29uY2F0KGksYDsKICB9CiAgCiAgYm9keVtgKS5jb25jYXQoRW8sYF0gewogICAgYCkuY29uY2F0KEw3LCI6ICIpLmNvbmNhdChmLGBweDsKICB9CmApfSxUMT1mdW5jdGlvbigpe3ZhciBlPXBhcnNlSW50KGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKEVvKXx8IjAiLDEwKTtyZXR1cm4gaXNGaW5pdGUoZSk/ZTowfSx1RD1mdW5jdGlvbigpe2p2LnVzZUVmZmVjdChmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZShFbywoVDEoKSsxKS50b1N0cmluZygpKSxmdW5jdGlvbigpe3ZhciBlPVQxKCktMTtlPD0wP2RvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKEVvKTpkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZShFbyxlLnRvU3RyaW5nKCkpfX0sW10pfSxvRD1mdW5jdGlvbihlKXt2YXIgdD1lLm5vUmVsYXRpdmUsYT1lLm5vSW1wb3J0YW50LGk9ZS5nYXBNb2RlLG89aT09PXZvaWQgMD8ibWFyZ2luIjppO3VEKCk7dmFyIGM9anYudXNlTWVtbyhmdW5jdGlvbigpe3JldHVybiBhRChvKX0sW29dKTtyZXR1cm4ganYuY3JlYXRlRWxlbWVudChyRCx7c3R5bGVzOmlEKGMsIXQsbyxhPyIiOiIhaW1wb3J0YW50Iil9KX0sT3Y9ITE7aWYodHlwZW9mIHdpbmRvdzwidSIpdHJ5e3RsPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiBPdj0hMCwhMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsdGwsdGwpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0Iix0bCx0bCl9Y2F0Y2h7T3Y9ITF9dmFyIHRsLEZvPU92P3twYXNzaXZlOiExfTohMSxzRD1mdW5jdGlvbihlKXtyZXR1cm4gZS50YWdOYW1lPT09IlRFWFRBUkVBIn0sajE9ZnVuY3Rpb24oZSx0KXtpZighKGUgaW5zdGFuY2VvZiBFbGVtZW50KSlyZXR1cm4hMTt2YXIgYT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKTtyZXR1cm4gYVt0XSE9PSJoaWRkZW4iJiYhKGEub3ZlcmZsb3dZPT09YS5vdmVyZmxvd1gmJiFzRChlKSYmYVt0XT09PSJ2aXNpYmxlIil9LGxEPWZ1bmN0aW9uKGUpe3JldHVybiBqMShlLCJvdmVyZmxvd1kiKX0sY0Q9ZnVuY3Rpb24oZSl7cmV0dXJuIGoxKGUsIm92ZXJmbG93WCIpfSxNMT1mdW5jdGlvbihlLHQpe3ZhciBhPXQub3duZXJEb2N1bWVudCxpPXQ7ZG97dHlwZW9mIFNoYWRvd1Jvb3Q8InUiJiZpIGluc3RhbmNlb2YgU2hhZG93Um9vdCYmKGk9aS5ob3N0KTt2YXIgbz1PMShlLGkpO2lmKG8pe3ZhciBjPV8xKGUsaSksZD1jWzFdLGY9Y1syXTtpZihkPmYpcmV0dXJuITB9aT1pLnBhcmVudE5vZGV9d2hpbGUoaSYmaSE9PWEuYm9keSk7cmV0dXJuITF9LGREPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc2Nyb2xsVG9wLGE9ZS5zY3JvbGxIZWlnaHQsaT1lLmNsaWVudEhlaWdodDtyZXR1cm5bdCxhLGldfSxmRD1mdW5jdGlvbihlKXt2YXIgdD1lLnNjcm9sbExlZnQsYT1lLnNjcm9sbFdpZHRoLGk9ZS5jbGllbnRXaWR0aDtyZXR1cm5bdCxhLGldfSxPMT1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09InYiP2xEKHQpOmNEKHQpfSxfMT1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09InYiP2REKHQpOmZEKHQpfSxwRD1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09ImgiJiZ0PT09InJ0bCI/LTE6MX0sdkQ9ZnVuY3Rpb24oZSx0LGEsaSxvKXt2YXIgYz1wRChlLHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmRpcmVjdGlvbiksZD1jKmksZj1hLnRhcmdldCxtPXQuY29udGFpbnMoZiksaD0hMSxnPWQ+MCxiPTAseT0wO2Rve2lmKCFmKWJyZWFrO3ZhciBDPV8xKGUsZiksdz1DWzBdLHg9Q1sxXSxGPUNbMl0sQT14LUYtYyp3Oyh3fHxBKSYmTzEoZSxmKSYmKGIrPUEseSs9dyk7dmFyIEQ9Zi5wYXJlbnROb2RlO2Y9RCYmRC5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERT9ELmhvc3Q6RH13aGlsZSghbSYmZiE9PWRvY3VtZW50LmJvZHl8fG0mJih0LmNvbnRhaW5zKGYpfHx0PT09ZikpO3JldHVybihnJiYobyYmTWF0aC5hYnMoYik8MXx8IW8mJmQ+Yil8fCFnJiYobyYmTWF0aC5hYnMoeSk8MXx8IW8mJi1kPnkpKSYmKGg9ITApLGh9LGxkPWZ1bmN0aW9uKGUpe3JldHVybiJjaGFuZ2VkVG91Y2hlcyJpbiBlP1tlLmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFgsZS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZXTpbMCwwXX0sTjE9ZnVuY3Rpb24oZSl7cmV0dXJuW2UuZGVsdGFYLGUuZGVsdGFZXX0sUjE9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJjdXJyZW50ImluIGU/ZS5jdXJyZW50OmV9LG1EPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGVbMF09PT10WzBdJiZlWzFdPT09dFsxXX0saEQ9ZnVuY3Rpb24oZSl7cmV0dXJuYAogIC5ibG9jay1pbnRlcmFjdGl2aXR5LWAuY29uY2F0KGUsYCB7cG9pbnRlci1ldmVudHM6IG5vbmU7fQogIC5hbGxvdy1pbnRlcmFjdGl2aXR5LWApLmNvbmNhdChlLGAge3BvaW50ZXItZXZlbnRzOiBhbGw7fQpgKX0sZ0Q9MCxDbz1bXTtmdW5jdGlvbiBiRChlKXt2YXIgdD1adC51c2VSZWYoW10pLGE9WnQudXNlUmVmKFswLDBdKSxpPVp0LnVzZVJlZigpLG89WnQudXNlU3RhdGUoZ0QrKylbMF0sYz1adC51c2VTdGF0ZShrMSlbMF0sZD1adC51c2VSZWYoZSk7WnQudXNlRWZmZWN0KGZ1bmN0aW9uKCl7ZC5jdXJyZW50PWV9LFtlXSksWnQudXNlRWZmZWN0KGZ1bmN0aW9uKCl7aWYoZS5pbmVydCl7ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJibG9jay1pbnRlcmFjdGl2aXR5LSIuY29uY2F0KG8pKTt2YXIgeD1SNyhbZS5sb2NrUmVmLmN1cnJlbnRdLChlLnNoYXJkc3x8W10pLm1hcChSMSksITApLmZpbHRlcihCb29sZWFuKTtyZXR1cm4geC5mb3JFYWNoKGZ1bmN0aW9uKEYpe3JldHVybiBGLmNsYXNzTGlzdC5hZGQoImFsbG93LWludGVyYWN0aXZpdHktIi5jb25jYXQobykpfSksZnVuY3Rpb24oKXtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoImJsb2NrLWludGVyYWN0aXZpdHktIi5jb25jYXQobykpLHguZm9yRWFjaChmdW5jdGlvbihGKXtyZXR1cm4gRi5jbGFzc0xpc3QucmVtb3ZlKCJhbGxvdy1pbnRlcmFjdGl2aXR5LSIuY29uY2F0KG8pKX0pfX19LFtlLmluZXJ0LGUubG9ja1JlZi5jdXJyZW50LGUuc2hhcmRzXSk7dmFyIGY9WnQudXNlQ2FsbGJhY2soZnVuY3Rpb24oeCxGKXtpZigidG91Y2hlcyJpbiB4JiZ4LnRvdWNoZXMubGVuZ3RoPT09Mnx8eC50eXBlPT09IndoZWVsIiYmeC5jdHJsS2V5KXJldHVybiFkLmN1cnJlbnQuYWxsb3dQaW5jaFpvb207dmFyIEE9bGQoeCksRD1hLmN1cnJlbnQsQj0iZGVsdGFYImluIHg/eC5kZWx0YVg6RFswXS1BWzBdLFQ9ImRlbHRhWSJpbiB4P3guZGVsdGFZOkRbMV0tQVsxXSxrLE09eC50YXJnZXQsej1NYXRoLmFicyhCKT5NYXRoLmFicyhUKT8iaCI6InYiO2lmKCJ0b3VjaGVzImluIHgmJno9PT0iaCImJk0udHlwZT09PSJyYW5nZSIpcmV0dXJuITE7dmFyIE89d2luZG93LmdldFNlbGVjdGlvbigpLHJlPU8mJk8uYW5jaG9yTm9kZSxlZT1yZT9yZT09PU18fHJlLmNvbnRhaW5zKE0pOiExO2lmKGVlKXJldHVybiExO3ZhciBaPU0xKHosTSk7aWYoIVopcmV0dXJuITA7aWYoWj9rPXo6KGs9ej09PSJ2Ij8iaCI6InYiLFo9TTEoeixNKSksIVopcmV0dXJuITE7aWYoIWkuY3VycmVudCYmImNoYW5nZWRUb3VjaGVzImluIHgmJihCfHxUKSYmKGkuY3VycmVudD1rKSwhaylyZXR1cm4hMDt2YXIgdmU9aS5jdXJyZW50fHxrO3JldHVybiB2RCh2ZSxGLHgsdmU9PT0iaCI/QjpULCEwKX0sW10pLG09WnQudXNlQ2FsbGJhY2soZnVuY3Rpb24oeCl7dmFyIEY9eDtpZighKCFDby5sZW5ndGh8fENvW0NvLmxlbmd0aC0xXSE9PWMpKXt2YXIgQT0iZGVsdGFZImluIEY/TjEoRik6bGQoRiksRD10LmN1cnJlbnQuZmlsdGVyKGZ1bmN0aW9uKGspe3JldHVybiBrLm5hbWU9PT1GLnR5cGUmJihrLnRhcmdldD09PUYudGFyZ2V0fHxGLnRhcmdldD09PWsuc2hhZG93UGFyZW50KSYmbUQoay5kZWx0YSxBKX0pWzBdO2lmKEQmJkQuc2hvdWxkKXtGLmNhbmNlbGFibGUmJkYucHJldmVudERlZmF1bHQoKTtyZXR1cm59aWYoIUQpe3ZhciBCPShkLmN1cnJlbnQuc2hhcmRzfHxbXSkubWFwKFIxKS5maWx0ZXIoQm9vbGVhbikuZmlsdGVyKGZ1bmN0aW9uKGspe3JldHVybiBrLmNvbnRhaW5zKEYudGFyZ2V0KX0pLFQ9Qi5sZW5ndGg+MD9mKEYsQlswXSk6IWQuY3VycmVudC5ub0lzb2xhdGlvbjtUJiZGLmNhbmNlbGFibGUmJkYucHJldmVudERlZmF1bHQoKX19fSxbXSksaD1adC51c2VDYWxsYmFjayhmdW5jdGlvbih4LEYsQSxEKXt2YXIgQj17bmFtZTp4LGRlbHRhOkYsdGFyZ2V0OkEsc2hvdWxkOkQsc2hhZG93UGFyZW50OnlEKEEpfTt0LmN1cnJlbnQucHVzaChCKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5jdXJyZW50PXQuY3VycmVudC5maWx0ZXIoZnVuY3Rpb24oVCl7cmV0dXJuIFQhPT1CfSl9LDEpfSxbXSksZz1adC51c2VDYWxsYmFjayhmdW5jdGlvbih4KXthLmN1cnJlbnQ9bGQoeCksaS5jdXJyZW50PXZvaWQgMH0sW10pLGI9WnQudXNlQ2FsbGJhY2soZnVuY3Rpb24oeCl7aCh4LnR5cGUsTjEoeCkseC50YXJnZXQsZih4LGUubG9ja1JlZi5jdXJyZW50KSl9LFtdKSx5PVp0LnVzZUNhbGxiYWNrKGZ1bmN0aW9uKHgpe2goeC50eXBlLGxkKHgpLHgudGFyZ2V0LGYoeCxlLmxvY2tSZWYuY3VycmVudCkpfSxbXSk7WnQudXNlRWZmZWN0KGZ1bmN0aW9uKCl7cmV0dXJuIENvLnB1c2goYyksZS5zZXRDYWxsYmFja3Moe29uU2Nyb2xsQ2FwdHVyZTpiLG9uV2hlZWxDYXB0dXJlOmIsb25Ub3VjaE1vdmVDYXB0dXJlOnl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsbSxGbyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixtLEZvKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixnLEZvKSxmdW5jdGlvbigpe0NvPUNvLmZpbHRlcihmdW5jdGlvbih4KXtyZXR1cm4geCE9PWN9KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsbSxGbyksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixtLEZvKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixnLEZvKX19LFtdKTt2YXIgQz1lLnJlbW92ZVNjcm9sbEJhcix3PWUuaW5lcnQ7cmV0dXJuIFp0LmNyZWF0ZUVsZW1lbnQoWnQuRnJhZ21lbnQsbnVsbCx3P1p0LmNyZWF0ZUVsZW1lbnQoYyx7c3R5bGVzOmhEKG8pfSk6bnVsbCxDP1p0LmNyZWF0ZUVsZW1lbnQob0Qse25vUmVsYXRpdmU6ZS5ub1JlbGF0aXZlLGdhcE1vZGU6ZS5nYXBNb2RlfSk6bnVsbCl9ZnVuY3Rpb24geUQoZSl7Zm9yKHZhciB0PW51bGw7ZSE9PW51bGw7KWUgaW5zdGFuY2VvZiBTaGFkb3dSb290JiYodD1lLmhvc3QsZT1lLmhvc3QpLGU9ZS5wYXJlbnROb2RlO3JldHVybiB0fXZhciB3RD1XNyhTMSxiRCksSTE9RjEuZm9yd2FyZFJlZihmdW5jdGlvbihlLHQpe3JldHVybiBGMS5jcmVhdGVFbGVtZW50KHNkLGZyKHt9LGUse3JlZjp0LHNpZGVDYXI6d0R9KSl9KTtJMS5jbGFzc05hbWVzPXNkLmNsYXNzTmFtZXM7dmFyIF92PUkxLHhEPWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBkb2N1bWVudD4idSIpcmV0dXJuIG51bGw7dmFyIHQ9QXJyYXkuaXNBcnJheShlKT9lWzBdOmU7cmV0dXJuIHQub3duZXJEb2N1bWVudC5ib2R5fSxEbz1uZXcgV2Vha01hcCxjZD1uZXcgV2Vha01hcCxkZD17fSxOdj0wLEwxPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYoZS5ob3N0fHxMMShlLnBhcmVudE5vZGUpKX0sRUQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5tYXAoZnVuY3Rpb24oYSl7aWYoZS5jb250YWlucyhhKSlyZXR1cm4gYTt2YXIgaT1MMShhKTtyZXR1cm4gaSYmZS5jb250YWlucyhpKT9pOihjb25zb2xlLmVycm9yKCJhcmlhLWhpZGRlbiIsYSwiaW4gbm90IGNvbnRhaW5lZCBpbnNpZGUiLGUsIi4gRG9pbmcgbm90aGluZyIpLG51bGwpfSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiEhYX0pfSxGRD1mdW5jdGlvbihlLHQsYSxpKXt2YXIgbz1FRCh0LEFycmF5LmlzQXJyYXkoZSk/ZTpbZV0pO2RkW2FdfHwoZGRbYV09bmV3IFdlYWtNYXApO3ZhciBjPWRkW2FdLGQ9W10sZj1uZXcgU2V0LG09bmV3IFNldChvKSxoPWZ1bmN0aW9uKGIpeyFifHxmLmhhcyhiKXx8KGYuYWRkKGIpLGgoYi5wYXJlbnROb2RlKSl9O28uZm9yRWFjaChoKTt2YXIgZz1mdW5jdGlvbihiKXshYnx8bS5oYXMoYil8fEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYi5jaGlsZHJlbixmdW5jdGlvbih5KXtpZihmLmhhcyh5KSlnKHkpO2Vsc2UgdHJ5e3ZhciBDPXkuZ2V0QXR0cmlidXRlKGkpLHc9QyE9PW51bGwmJkMhPT0iZmFsc2UiLHg9KERvLmdldCh5KXx8MCkrMSxGPShjLmdldCh5KXx8MCkrMTtEby5zZXQoeSx4KSxjLnNldCh5LEYpLGQucHVzaCh5KSx4PT09MSYmdyYmY2Quc2V0KHksITApLEY9PT0xJiZ5LnNldEF0dHJpYnV0ZShhLCJ0cnVlIiksd3x8eS5zZXRBdHRyaWJ1dGUoaSwidHJ1ZSIpfWNhdGNoKEEpe2NvbnNvbGUuZXJyb3IoImFyaWEtaGlkZGVuOiBjYW5ub3Qgb3BlcmF0ZSBvbiAiLHksQSl9fSl9O3JldHVybiBnKHQpLGYuY2xlYXIoKSxOdisrLGZ1bmN0aW9uKCl7ZC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciB5PURvLmdldChiKS0xLEM9Yy5nZXQoYiktMTtEby5zZXQoYix5KSxjLnNldChiLEMpLHl8fChjZC5oYXMoYil8fGIucmVtb3ZlQXR0cmlidXRlKGkpLGNkLmRlbGV0ZShiKSksQ3x8Yi5yZW1vdmVBdHRyaWJ1dGUoYSl9KSxOdi0tLE52fHwoRG89bmV3IFdlYWtNYXAsRG89bmV3IFdlYWtNYXAsY2Q9bmV3IFdlYWtNYXAsZGQ9e30pfX0sUnY9ZnVuY3Rpb24oZSx0LGEpe2E9PT12b2lkIDAmJihhPSJkYXRhLWFyaWEtaGlkZGVuIik7dmFyIGk9QXJyYXkuZnJvbShBcnJheS5pc0FycmF5KGUpP2U6W2VdKSxvPXR8fHhEKGUpO3JldHVybiBvPyhpLnB1c2guYXBwbHkoaSxBcnJheS5mcm9tKG8ucXVlcnlTZWxlY3RvckFsbCgiW2FyaWEtbGl2ZV0sIHNjcmlwdCIpKSksRkQoaSxvLGEsImFyaWEtaGlkZGVuIikpOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSx6dD1sZShxZSgpLDEpLGZkPSJEaWFsb2ciLFt6MSxqTF09U3IoZmQpLFtDRCxQYV09ejEoZmQpLEl2PWU9Pntjb25zdHtfX3Njb3BlRGlhbG9nOnQsY2hpbGRyZW46YSxvcGVuOmksZGVmYXVsdE9wZW46byxvbk9wZW5DaGFuZ2U6Yyxtb2RhbDpkPSEwfT1lLGY9c24udXNlUmVmKG51bGwpLG09c24udXNlUmVmKG51bGwpLFtoLGddPW1pKHtwcm9wOmksZGVmYXVsdFByb3A6bz8/ITEsb25DaGFuZ2U6YyxjYWxsZXI6ZmR9KTtyZXR1cm4oMCx6dC5qc3gpKENELHtzY29wZTp0LHRyaWdnZXJSZWY6Zixjb250ZW50UmVmOm0sY29udGVudElkOkJyKCksdGl0bGVJZDpCcigpLGRlc2NyaXB0aW9uSWQ6QnIoKSxvcGVuOmgsb25PcGVuQ2hhbmdlOmcsb25PcGVuVG9nZ2xlOnNuLnVzZUNhbGxiYWNrKCgpPT5nKGI9PiFiKSxbZ10pLG1vZGFsOmQsY2hpbGRyZW46YX0pfTtJdi5kaXNwbGF5TmFtZT1mZDt2YXIgSDE9IkRpYWxvZ1RyaWdnZXIiLEREPXNuLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRGlhbG9nOmEsLi4uaX09ZSxvPVBhKEgxLGEpLGM9YnQodCxvLnRyaWdnZXJSZWYpO3JldHVybigwLHp0LmpzeCkoSGUuYnV0dG9uLHt0eXBlOiJidXR0b24iLCJhcmlhLWhhc3BvcHVwIjoiZGlhbG9nIiwiYXJpYS1leHBhbmRlZCI6by5vcGVuLCJhcmlhLWNvbnRyb2xzIjpvLm9wZW4/by5jb250ZW50SWQ6dm9pZCAwLCJkYXRhLXN0YXRlIjpWdihvLm9wZW4pLC4uLmkscmVmOmMsb25DbGljazpfZShlLm9uQ2xpY2ssby5vbk9wZW5Ub2dnbGUpfSl9KTtERC5kaXNwbGF5TmFtZT1IMTt2YXIgTHY9IkRpYWxvZ1BvcnRhbCIsW0FELHExXT16MShMdix7Zm9yY2VNb3VudDp2b2lkIDB9KSx6dj1lPT57Y29uc3R7X19zY29wZURpYWxvZzp0LGZvcmNlTW91bnQ6YSxjaGlsZHJlbjppLGNvbnRhaW5lcjpvfT1lLGM9UGEoTHYsdCk7cmV0dXJuKDAsenQuanN4KShBRCx7c2NvcGU6dCxmb3JjZU1vdW50OmEsY2hpbGRyZW46c24uQ2hpbGRyZW4ubWFwKGksZD0+KDAsenQuanN4KShrcix7cHJlc2VudDphfHxjLm9wZW4sY2hpbGRyZW46KDAsenQuanN4KShKcyx7YXNDaGlsZDohMCxjb250YWluZXI6byxjaGlsZHJlbjpkfSl9KSl9KX07enYuZGlzcGxheU5hbWU9THY7dmFyIHBkPSJEaWFsb2dPdmVybGF5IixIdj1zbi5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3QgYT1xMShwZCxlLl9fc2NvcGVEaWFsb2cpLHtmb3JjZU1vdW50Omk9YS5mb3JjZU1vdW50LC4uLm99PWUsYz1QYShwZCxlLl9fc2NvcGVEaWFsb2cpO3JldHVybiBjLm1vZGFsPygwLHp0LmpzeCkoa3Ise3ByZXNlbnQ6aXx8Yy5vcGVuLGNoaWxkcmVuOigwLHp0LmpzeCkoQkQsey4uLm8scmVmOnR9KX0pOm51bGx9KTtIdi5kaXNwbGF5TmFtZT1wZDt2YXIgU0Q9d28oIkRpYWxvZ092ZXJsYXkuUmVtb3ZlU2Nyb2xsIiksQkQ9c24uZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVEaWFsb2c6YSwuLi5pfT1lLG89UGEocGQsYSksYz1wNygpLGQ9YnQodCxjKTtyZXR1cm4oMCx6dC5qc3gpKF92LHthczpTRCxhbGxvd1BpbmNoWm9vbTohMCxzaGFyZHM6W28uY29udGVudFJlZl0sY2hpbGRyZW46KDAsenQuanN4KShIZS5kaXYseyJkYXRhLXN0YXRlIjpWdihvLm9wZW4pLC4uLmkscmVmOmQsc3R5bGU6e3BvaW50ZXJFdmVudHM6ImF1dG8iLC4uLmkuc3R5bGV9fSl9KX0pLEFvPSJEaWFsb2dDb250ZW50Iixxdj1zbi5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3QgYT1xMShBbyxlLl9fc2NvcGVEaWFsb2cpLHtmb3JjZU1vdW50Omk9YS5mb3JjZU1vdW50LC4uLm99PWUsYz1QYShBbyxlLl9fc2NvcGVEaWFsb2cpO3JldHVybigwLHp0LmpzeCkoa3Ise3ByZXNlbnQ6aXx8Yy5vcGVuLGNoaWxkcmVuOmMubW9kYWw/KDAsenQuanN4KShrRCx7Li4ubyxyZWY6dH0pOigwLHp0LmpzeCkoVEQsey4uLm8scmVmOnR9KX0pfSk7cXYuZGlzcGxheU5hbWU9QW87dmFyIGtEPXNuLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdCBhPVBhKEFvLGUuX19zY29wZURpYWxvZyksaT1zbi51c2VSZWYobnVsbCksbz1idCh0LGEuY29udGVudFJlZixpKTtyZXR1cm4gc24udXNlRWZmZWN0KCgpPT57Y29uc3QgYz1pLmN1cnJlbnQ7aWYoYylyZXR1cm4gUnYoYyl9LFtdKSwoMCx6dC5qc3gpKFAxLHsuLi5lLHJlZjpvLHRyYXBGb2N1czphLm9wZW4sZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOmEub3BlbixvbkNsb3NlQXV0b0ZvY3VzOl9lKGUub25DbG9zZUF1dG9Gb2N1cyxjPT57Yy5wcmV2ZW50RGVmYXVsdCgpLGEudHJpZ2dlclJlZi5jdXJyZW50Py5mb2N1cygpfSksb25Qb2ludGVyRG93bk91dHNpZGU6X2UoZS5vblBvaW50ZXJEb3duT3V0c2lkZSxjPT57Y29uc3QgZD1jLmRldGFpbC5vcmlnaW5hbEV2ZW50LGY9ZC5idXR0b249PT0wJiZkLmN0cmxLZXk9PT0hMDsoZC5idXR0b249PT0yfHxmKSYmYy5wcmV2ZW50RGVmYXVsdCgpfSksb25Gb2N1c091dHNpZGU6X2UoZS5vbkZvY3VzT3V0c2lkZSxjPT5jLnByZXZlbnREZWZhdWx0KCkpfSl9KSxURD1zbi5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3QgYT1QYShBbyxlLl9fc2NvcGVEaWFsb2cpLGk9c24udXNlUmVmKCExKSxvPXNuLnVzZVJlZighMSk7cmV0dXJuKDAsenQuanN4KShQMSx7Li4uZSxyZWY6dCx0cmFwRm9jdXM6ITEsZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiExLG9uQ2xvc2VBdXRvRm9jdXM6Yz0+e2Uub25DbG9zZUF1dG9Gb2N1cz8uKGMpLGMuZGVmYXVsdFByZXZlbnRlZHx8KGkuY3VycmVudHx8YS50cmlnZ2VyUmVmLmN1cnJlbnQ/LmZvY3VzKCksYy5wcmV2ZW50RGVmYXVsdCgpKSxpLmN1cnJlbnQ9ITEsby5jdXJyZW50PSExfSxvbkludGVyYWN0T3V0c2lkZTpjPT57ZS5vbkludGVyYWN0T3V0c2lkZT8uKGMpLGMuZGVmYXVsdFByZXZlbnRlZHx8KGkuY3VycmVudD0hMCxjLmRldGFpbC5vcmlnaW5hbEV2ZW50LnR5cGU9PT0icG9pbnRlcmRvd24iJiYoby5jdXJyZW50PSEwKSk7Y29uc3QgZD1jLnRhcmdldDthLnRyaWdnZXJSZWYuY3VycmVudD8uY29udGFpbnMoZCkmJmMucHJldmVudERlZmF1bHQoKSxjLmRldGFpbC5vcmlnaW5hbEV2ZW50LnR5cGU9PT0iZm9jdXNpbiImJm8uY3VycmVudCYmYy5wcmV2ZW50RGVmYXVsdCgpfX0pfSksUDE9c24uZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVEaWFsb2c6YSx0cmFwRm9jdXM6aSxvbk9wZW5BdXRvRm9jdXM6byxvbkNsb3NlQXV0b0ZvY3VzOmMsLi4uZH09ZSxmPVBhKEFvLGEpO3JldHVybiBCdigpLCgwLHp0LmpzeCkoenQuRnJhZ21lbnQse2NoaWxkcmVuOigwLHp0LmpzeCkocmQse2FzQ2hpbGQ6ITAsbG9vcDohMCx0cmFwcGVkOmksb25Nb3VudEF1dG9Gb2N1czpvLG9uVW5tb3VudEF1dG9Gb2N1czpjLGNoaWxkcmVuOigwLHp0LmpzeCkoWnMse3JvbGU6ImRpYWxvZyIsaWQ6Zi5jb250ZW50SWQsImFyaWEtZGVzY3JpYmVkYnkiOmYuZGVzY3JpcHRpb25JZCwiYXJpYS1sYWJlbGxlZGJ5IjpmLnRpdGxlSWQsImRhdGEtc3RhdGUiOlZ2KGYub3BlbiksLi4uZCxyZWY6dCxkZWZlclBvaW50ZXJEb3duT3V0c2lkZTohMCxvbkRpc21pc3M6KCk9PmYub25PcGVuQ2hhbmdlKCExKX0pfSl9KX0pLFUxPSJEaWFsb2dUaXRsZSIsUHY9c24uZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVEaWFsb2c6YSwuLi5pfT1lLG89UGEoVTEsYSk7cmV0dXJuKDAsenQuanN4KShIZS5oMix7aWQ6by50aXRsZUlkLC4uLmkscmVmOnR9KX0pO1B2LmRpc3BsYXlOYW1lPVUxO3ZhciBWMT0iRGlhbG9nRGVzY3JpcHRpb24iLFV2PXNuLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRGlhbG9nOmEsLi4uaX09ZSxvPVBhKFYxLGEpO3JldHVybigwLHp0LmpzeCkoSGUucCx7aWQ6by5kZXNjcmlwdGlvbklkLC4uLmkscmVmOnR9KX0pO1V2LmRpc3BsYXlOYW1lPVYxO3ZhciBHMT0iRGlhbG9nQ2xvc2UiLFkxPXNuLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRGlhbG9nOmEsLi4uaX09ZSxvPVBhKEcxLGEpO3JldHVybigwLHp0LmpzeCkoSGUuYnV0dG9uLHt0eXBlOiJidXR0b24iLC4uLmkscmVmOnQsb25DbGljazpfZShlLm9uQ2xpY2ssKCk9Pm8ub25PcGVuQ2hhbmdlKCExKSl9KX0pO1kxLmRpc3BsYXlOYW1lPUcxO2Z1bmN0aW9uIFZ2KGUpe3JldHVybiBlPyJvcGVuIjoiY2xvc2VkIn12YXIgU289bGUoQWUoKSwxKSxXMT1sZShBZSgpLDEpLGpEPWxlKHFlKCksMSksSzE9KDAsVzEuY3JlYXRlQ29udGV4dCkobnVsbCk7ZnVuY3Rpb24gTUQoe2NvbnRhaW5lcjplLGNoaWxkcmVuOnR9KXtyZXR1cm4oMCxqRC5qc3gpKEsxLlByb3ZpZGVyLHt2YWx1ZTplLGNoaWxkcmVuOnR9KX1mdW5jdGlvbiBubCgpe3JldHVybigwLFcxLnVzZUNvbnRleHQpKEsxKT8/dm9pZCAwfXZhciBPdD1sZShxZSgpLDEpLE9EPXtpbmZvOiJpIix3YXJuaW5nOiIhIixkYW5nZXI6IiEiLHN1Y2Nlc3M6Ilx1MjcxMyIscXVlc3Rpb246Ij8ifTtmdW5jdGlvbiBqcih7b3BlbjplLHRpdGxlOnQsZGVzY3JpcHRpb246YSxjaGlsZHJlbjppLGNsYXNzTmFtZTpvPSJ3YW5kLXVpLWRpYWxvZy1jb250ZW50IixvdmVybGF5Q2xhc3NOYW1lOmM9IndhbmQtdWktZGlhbG9nLW92ZXJsYXkiLHRpdGxlQ2xhc3NOYW1lOmQ9IndhbmQtdWktZGlhbG9nLXRpdGxlIixkZXNjcmlwdGlvbkNsYXNzTmFtZTpmPSJ3YW5kLXVpLWRpYWxvZy1kZXNjcmlwdGlvbiIsaGVhZGVyQ2xhc3NOYW1lOm09IndhbmQtdWktZGlhbG9nLWhlYWRpbmciLGNsb3NlTGFiZWw6aD0iXHU1MTczXHU5NUVEIixjbG9zZUNvbnRlbnQ6Zz0iXHhENyIsdGVzdElkOmIsZGlzbWlzc2FibGU6eT0hMCxvbk9wZW5DaGFuZ2U6Q30pe2NvbnN0IHc9bmwoKSx4PSgwLFNvLnVzZVJlZikobnVsbCksRj0oMCxTby51c2VSZWYpKG51bGwpO3JldHVybigwLE90LmpzeCkoSXYse29wZW46ZSxvbk9wZW5DaGFuZ2U6QT0+eyhBfHx5KSYmQyhBKX0sY2hpbGRyZW46KDAsT3QuanN4cykoenYse2NvbnRhaW5lcjp3LGNoaWxkcmVuOlsoMCxPdC5qc3gpKEh2LHtjbGFzc05hbWU6Y30pLCgwLE90LmpzeHMpKHF2LHtyZWY6eCxjbGFzc05hbWU6bywiZGF0YS10ZXN0aWQiOmIsLi4uYT97fTp7ImFyaWEtZGVzY3JpYmVkYnkiOnZvaWQgMH0sb25Fc2NhcGVLZXlEb3duOkE9Pnt5fHxBLnByZXZlbnREZWZhdWx0KCl9LG9uSW50ZXJhY3RPdXRzaWRlOkE9Pnt5fHxBLnByZXZlbnREZWZhdWx0KCl9LG9uT3BlbkF1dG9Gb2N1czpBPT57QS5wcmV2ZW50RGVmYXVsdCgpLEYuY3VycmVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDpudWxsLCh4LmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3IoIltkYXRhLXdhbmQtYXV0b2ZvY3VzXSIpPz94LmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiwgaW5wdXQsIFt0YWJpbmRleD0nMCddIikpPy5mb2N1cygpfSxvbkNsb3NlQXV0b0ZvY3VzOkE9PntBLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgRD1GLmN1cnJlbnQ7Ri5jdXJyZW50PW51bGwsRCYmZG9jdW1lbnQuY29udGFpbnMoRCkmJkQuZm9jdXMoKX0sY2hpbGRyZW46WygwLE90LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6bSxjaGlsZHJlbjpbKDAsT3QuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCxPdC5qc3gpKFB2LHtjbGFzc05hbWU6ZCxjaGlsZHJlbjp0fSksYT8oMCxPdC5qc3gpKFV2LHtjbGFzc05hbWU6ZixjaGlsZHJlbjphfSk6bnVsbF19KSwoMCxPdC5qc3gpKFkxLHthc0NoaWxkOiEwLGNoaWxkcmVuOigwLE90LmpzeCkoR2Use2tpbmQ6Imdob3N0IiwiYXJpYS1sYWJlbCI6aCxkaXNhYmxlZDoheSxjaGlsZHJlbjpnfSl9KV19KSxpXX0pXX0pfSl9ZnVuY3Rpb24gX0Qoe29wZW46ZSx0aXRsZTp0LGRlc2NyaXB0aW9uOmEsdG9uZTppPSJpbmZvIixpY29uOm8sYWN0aW9uczpjLGlucHV0OmQsZGlzbWlzc2FibGU6Zj0hMCxvbkFjdGlvbjptLG9uRGlzbWlzczpofSl7Y29uc3QgZz1ubCgpLGI9KDAsU28udXNlUmVmKShudWxsKSx5PSgwLFNvLnVzZVJlZikobnVsbCksQz0oMCxTby51c2VSZWYpKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9kb2N1bWVudC5hY3RpdmVFbGVtZW50Om51bGwpLFt3LHhdPSgwLFNvLnVzZVN0YXRlKShkPy52YWx1ZT8/IiIpLEY9Yy5maW5kKEQ9PkQua2luZD09PSJwcmltYXJ5Inx8RC5raW5kPT09ImRhbmdlciIpPz9jLmF0KC0xKTtmdW5jdGlvbiBBKEQpe0Qua2V5IT09IkVudGVyInx8IUZ8fChELnByZXZlbnREZWZhdWx0KCksbShGLnZhbHVlLHcpKX1yZXR1cm4oMCxPdC5qc3gpKEl2LHtvcGVuOmUsb25PcGVuQ2hhbmdlOkQ9PnshRCYmZiYmaCgpfSxjaGlsZHJlbjooMCxPdC5qc3hzKSh6dix7Y29udGFpbmVyOmcsY2hpbGRyZW46WygwLE90LmpzeCkoSHYse2NsYXNzTmFtZToid2FuZC11aS1kaWFsb2ctb3ZlcmxheSJ9KSwoMCxPdC5qc3hzKShxdix7cmVmOnksY2xhc3NOYW1lOiJ3YW5kLXVpLWRpYWxvZy1jb250ZW50IiwuLi5hP3t9OnsiYXJpYS1kZXNjcmliZWRieSI6dm9pZCAwfSxvbkVzY2FwZUtleURvd246RD0+e2Z8fEQucHJldmVudERlZmF1bHQoKX0sb25JbnRlcmFjdE91dHNpZGU6RD0+e2Z8fEQucHJldmVudERlZmF1bHQoKX0sb25PcGVuQXV0b0ZvY3VzOkQ9PntpZihELnByZXZlbnREZWZhdWx0KCksYi5jdXJyZW50KXtiLmN1cnJlbnQuZm9jdXMoKSxiLmN1cnJlbnQuc2VsZWN0KCk7cmV0dXJufSh5LmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3IoIltkYXRhLXdhbmQtYXV0b2ZvY3VzXSIpPz95LmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKT8uZm9jdXMoKX0sb25DbG9zZUF1dG9Gb2N1czpEPT57RC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IEI9Qy5jdXJyZW50O0ImJmRvY3VtZW50LmNvbnRhaW5zKEIpJiZCLmZvY3VzKCl9LGNoaWxkcmVuOlsoMCxPdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXVpLWRpYWxvZy1oZWFkZXIiLGNoaWxkcmVuOlsoMCxPdC5qc3gpKCJkaXYiLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6eHUoIndhbmQtdWktZGlhbG9nLWljb24iLGB3YW5kLXVpLWRpYWxvZy1pY29uLSR7aX1gKSxjaGlsZHJlbjpvPz9PRFtpXX0pLCgwLE90LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtdWktZGlhbG9nLWhlYWRpbmciLGNoaWxkcmVuOlsoMCxPdC5qc3gpKFB2LHtjbGFzc05hbWU6IndhbmQtdWktZGlhbG9nLXRpdGxlIixjaGlsZHJlbjp0fSksYT8oMCxPdC5qc3gpKFV2LHtjbGFzc05hbWU6IndhbmQtdWktZGlhbG9nLWRlc2NyaXB0aW9uIixjaGlsZHJlbjphfSk6bnVsbF19KV19KSxkPygwLE90LmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC11aS1kaWFsb2ctYm9keSIsY2hpbGRyZW46KDAsT3QuanN4KSgiaW5wdXQiLHtyZWY6YixjbGFzc05hbWU6IndhbmQtdWktZGlhbG9nLWlucHV0Iix0eXBlOiJ0ZXh0IiwiYXJpYS1sYWJlbCI6ZC5sYWJlbD8/dCxhdXRvQ29tcGxldGU6Im9mZiIsc3BlbGxDaGVjazohMSxwbGFjZWhvbGRlcjpkLnBsYWNlaG9sZGVyLHZhbHVlOncsb25DaGFuZ2U6RD0+eChELmN1cnJlbnRUYXJnZXQudmFsdWUpLG9uS2V5RG93bjpBfSl9KTpudWxsLCgwLE90LmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC11aS1kaWFsb2ctYWN0aW9ucyIsY2hpbGRyZW46Yy5tYXAoKEQsQik9PigwLE90LmpzeCkoR2Use2tpbmQ6RC5raW5kLCJkYXRhLXdhbmQtYXV0b2ZvY3VzIjpELmF1dG9Gb2N1cz8idHJ1ZSI6dm9pZCAwLG9uQ2xpY2s6KCk9Pm0oRC52YWx1ZSxkP3c6dm9pZCAwKSxjaGlsZHJlbjpELmxhYmVsfSxgJHtELmxhYmVsfS0ke0J9YCkpfSldfSldfSl9KX12YXIgSnQ9bGUoQWUoKSwxKSxiYT1sZShBZSgpLDEpLE5EPVsidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0Il0sZ2k9TWF0aC5taW4sTXI9TWF0aC5tYXgsdmQ9TWF0aC5yb3VuZCxtZD1NYXRoLmZsb29yLE9yPWU9Pih7eDplLHk6ZX0pLFJEPXtsZWZ0OiJyaWdodCIscmlnaHQ6ImxlZnQiLGJvdHRvbToidG9wIix0b3A6ImJvdHRvbSJ9O2Z1bmN0aW9uIFExKGUsdCxhKXtyZXR1cm4gTXIoZSxnaSh0LGEpKX1mdW5jdGlvbiBfcihlLHQpe3JldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIj9lKHQpOmV9ZnVuY3Rpb24gYmkoZSl7cmV0dXJuIGUuc3BsaXQoIi0iKVswXX1mdW5jdGlvbiBCbyhlKXtyZXR1cm4gZS5zcGxpdCgiLSIpWzFdfWZ1bmN0aW9uIEd2KGUpe3JldHVybiBlPT09IngiPyJ5IjoieCJ9ZnVuY3Rpb24gWXYoZSl7cmV0dXJuIGU9PT0ieSI/ImhlaWdodCI6IndpZHRoIn1mdW5jdGlvbiBwcihlKXtjb25zdCB0PWVbMF07cmV0dXJuIHQ9PT0idCJ8fHQ9PT0iYiI/InkiOiJ4In1mdW5jdGlvbiBXdihlKXtyZXR1cm4gR3YocHIoZSkpfWZ1bmN0aW9uIElEKGUsdCxhKXthPT09dm9pZCAwJiYoYT0hMSk7Y29uc3QgaT1CbyhlKSxvPVd2KGUpLGM9WXYobyk7bGV0IGQ9bz09PSJ4Ij9pPT09KGE/ImVuZCI6InN0YXJ0Iik/InJpZ2h0IjoibGVmdCI6aT09PSJzdGFydCI/ImJvdHRvbSI6InRvcCI7cmV0dXJuIHQucmVmZXJlbmNlW2NdPnQuZmxvYXRpbmdbY10mJihkPWhkKGQpKSxbZCxoZChkKV19ZnVuY3Rpb24gTEQoZSl7Y29uc3QgdD1oZChlKTtyZXR1cm5bS3YoZSksdCxLdih0KV19ZnVuY3Rpb24gS3YoZSl7cmV0dXJuIGUuaW5jbHVkZXMoInN0YXJ0Iik/ZS5yZXBsYWNlKCJzdGFydCIsImVuZCIpOmUucmVwbGFjZSgiZW5kIiwic3RhcnQiKX12YXIgWDE9WyJsZWZ0IiwicmlnaHQiXSwkMT1bInJpZ2h0IiwibGVmdCJdLHpEPVsidG9wIiwiYm90dG9tIl0sSEQ9WyJib3R0b20iLCJ0b3AiXTtmdW5jdGlvbiBxRChlLHQsYSl7c3dpdGNoKGUpe2Nhc2UidG9wIjpjYXNlImJvdHRvbSI6cmV0dXJuIGE/dD8kMTpYMTp0P1gxOiQxO2Nhc2UibGVmdCI6Y2FzZSJyaWdodCI6cmV0dXJuIHQ/ekQ6SEQ7ZGVmYXVsdDpyZXR1cm5bXX19ZnVuY3Rpb24gUEQoZSx0LGEsaSl7Y29uc3Qgbz1CbyhlKTtsZXQgYz1xRChiaShlKSxhPT09InN0YXJ0IixpKTtyZXR1cm4gbyYmKGM9Yy5tYXAoZD0+ZCsiLSIrbyksdCYmKGM9Yy5jb25jYXQoYy5tYXAoS3YpKSkpLGN9ZnVuY3Rpb24gaGQoZSl7Y29uc3QgdD1iaShlKTtyZXR1cm4gUkRbdF0rZS5zbGljZSh0Lmxlbmd0aCl9ZnVuY3Rpb24gVUQoZSl7dmFyIHQsYSxpLG87cmV0dXJue3RvcDoodD1lLnRvcCkhPW51bGw/dDowLHJpZ2h0OihhPWUucmlnaHQpIT1udWxsP2E6MCxib3R0b206KGk9ZS5ib3R0b20pIT1udWxsP2k6MCxsZWZ0OihvPWUubGVmdCkhPW51bGw/bzowfX1mdW5jdGlvbiBaMShlKXtyZXR1cm4gdHlwZW9mIGUhPSJudW1iZXIiP1VEKGUpOnt0b3A6ZSxyaWdodDplLGJvdHRvbTplLGxlZnQ6ZX19ZnVuY3Rpb24gZ2QoZSl7Y29uc3R7eDp0LHk6YSx3aWR0aDppLGhlaWdodDpvfT1lO3JldHVybnt3aWR0aDppLGhlaWdodDpvLHRvcDphLGxlZnQ6dCxyaWdodDp0K2ksYm90dG9tOmErbyx4OnQseTphfX1mdW5jdGlvbiBKMShlLHQsYSl7bGV0e3JlZmVyZW5jZTppLGZsb2F0aW5nOm99PWU7Y29uc3QgYz1wcih0KSxkPVd2KHQpLGY9WXYoZCksbT1iaSh0KSxoPWM9PT0ieSIsZz1pLngraS53aWR0aC8yLW8ud2lkdGgvMixiPWkueStpLmhlaWdodC8yLW8uaGVpZ2h0LzIseT1pW2ZdLzItb1tmXS8yO2xldCBDO3N3aXRjaChtKXtjYXNlInRvcCI6Qz17eDpnLHk6aS55LW8uaGVpZ2h0fTticmVhaztjYXNlImJvdHRvbSI6Qz17eDpnLHk6aS55K2kuaGVpZ2h0fTticmVhaztjYXNlInJpZ2h0IjpDPXt4OmkueCtpLndpZHRoLHk6Yn07YnJlYWs7Y2FzZSJsZWZ0IjpDPXt4OmkueC1vLndpZHRoLHk6Yn07YnJlYWs7ZGVmYXVsdDpDPXt4OmkueCx5OmkueX19Y29uc3Qgdz1Cbyh0KTtyZXR1cm4gdyYmKENbZF0rPXkqKHc9PT0iZW5kIj8xOi0xKSooYSYmaD8tMToxKSksQ31hc3luYyBmdW5jdGlvbiBWRChlLHQpe3ZhciBhO3Q9PT12b2lkIDAmJih0PXt9KTtjb25zdHt4OmkseTpvLHBsYXRmb3JtOmMscmVjdHM6ZCxlbGVtZW50czpmLHN0cmF0ZWd5Om19PWUse2JvdW5kYXJ5Omg9ImNsaXBwaW5nQW5jZXN0b3JzIixyb290Qm91bmRhcnk6Zz0idmlld3BvcnQiLGVsZW1lbnRDb250ZXh0OmI9ImZsb2F0aW5nIixhbHRCb3VuZGFyeTp5PSExLHBhZGRpbmc6Qz0wfT1fcih0LGUpLHc9WjEoQyksRj1mW3k/Yj09PSJmbG9hdGluZyI/InJlZmVyZW5jZSI6ImZsb2F0aW5nIjpiXSxBPWdkKGF3YWl0IGMuZ2V0Q2xpcHBpbmdSZWN0KHtlbGVtZW50OihhPWF3YWl0KGMuaXNFbGVtZW50PT1udWxsP3ZvaWQgMDpjLmlzRWxlbWVudChGKSkpPT1udWxsfHxhP0Y6Ri5jb250ZXh0RWxlbWVudHx8YXdhaXQoYy5nZXREb2N1bWVudEVsZW1lbnQ9PW51bGw/dm9pZCAwOmMuZ2V0RG9jdW1lbnRFbGVtZW50KGYuZmxvYXRpbmcpKSxib3VuZGFyeTpoLHJvb3RCb3VuZGFyeTpnLHN0cmF0ZWd5Om19KSksRD1iPT09ImZsb2F0aW5nIj97eDppLHk6byx3aWR0aDpkLmZsb2F0aW5nLndpZHRoLGhlaWdodDpkLmZsb2F0aW5nLmhlaWdodH06ZC5yZWZlcmVuY2UsQj1hd2FpdChjLmdldE9mZnNldFBhcmVudD09bnVsbD92b2lkIDA6Yy5nZXRPZmZzZXRQYXJlbnQoZi5mbG9hdGluZykpLFQ9YXdhaXQoYy5pc0VsZW1lbnQ9PW51bGw/dm9pZCAwOmMuaXNFbGVtZW50KEIpKSYmYXdhaXQoYy5nZXRTY2FsZT09bnVsbD92b2lkIDA6Yy5nZXRTY2FsZShCKSl8fHt4OjEseToxfSxrPWdkKGMuY29udmVydE9mZnNldFBhcmVudFJlbGF0aXZlUmVjdFRvVmlld3BvcnRSZWxhdGl2ZVJlY3Q/YXdhaXQgYy5jb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdCh7ZWxlbWVudHM6ZixyZWN0OkQsb2Zmc2V0UGFyZW50OkIsc3RyYXRlZ3k6bX0pOkQpO3JldHVybnt0b3A6KEEudG9wLWsudG9wK3cudG9wKS9ULnksYm90dG9tOihrLmJvdHRvbS1BLmJvdHRvbSt3LmJvdHRvbSkvVC55LGxlZnQ6KEEubGVmdC1rLmxlZnQrdy5sZWZ0KS9ULngscmlnaHQ6KGsucmlnaHQtQS5yaWdodCt3LnJpZ2h0KS9ULnh9fXZhciBHRD01MCxZRD1hc3luYyhlLHQsYSk9Pntjb25zdHtwbGFjZW1lbnQ6aT0iYm90dG9tIixzdHJhdGVneTpvPSJhYnNvbHV0ZSIsbWlkZGxld2FyZTpjPVtdLHBsYXRmb3JtOmR9PWEsZj1kLmRldGVjdE92ZXJmbG93P2Q6ey4uLmQsZGV0ZWN0T3ZlcmZsb3c6VkR9LG09YXdhaXQoZC5pc1JUTD09bnVsbD92b2lkIDA6ZC5pc1JUTCh0KSk7bGV0IGg9YXdhaXQgZC5nZXRFbGVtZW50UmVjdHMoe3JlZmVyZW5jZTplLGZsb2F0aW5nOnQsc3RyYXRlZ3k6b30pLHt4OmcseTpifT1KMShoLGksbSkseT1pLEM9MDtjb25zdCB3PXt9O2ZvcihsZXQgeD0wO3g8Yy5sZW5ndGg7eCsrKXtjb25zdCBGPWNbeF07aWYoIUYpY29udGludWU7Y29uc3R7bmFtZTpBLGZuOkR9PUYse3g6Qix5OlQsZGF0YTprLHJlc2V0Ok19PWF3YWl0IEQoe3g6Zyx5OmIsaW5pdGlhbFBsYWNlbWVudDppLHBsYWNlbWVudDp5LHN0cmF0ZWd5Om8sbWlkZGxld2FyZURhdGE6dyxyZWN0czpoLHBsYXRmb3JtOmYsZWxlbWVudHM6e3JlZmVyZW5jZTplLGZsb2F0aW5nOnR9fSk7Zz1CPz9nLGI9VD8/Yix3W0FdPXsuLi53W0FdLC4uLmt9LE0mJkM8R0QmJihDKyssdHlwZW9mIE09PSJvYmplY3QiJiYoTS5wbGFjZW1lbnQmJih5PU0ucGxhY2VtZW50KSxNLnJlY3RzJiYoaD1NLnJlY3RzPT09ITA/YXdhaXQgZC5nZXRFbGVtZW50UmVjdHMoe3JlZmVyZW5jZTplLGZsb2F0aW5nOnQsc3RyYXRlZ3k6b30pOk0ucmVjdHMpLHt4OmcseTpifT1KMShoLHksbSkpLHg9LTEpfXJldHVybnt4OmcseTpiLHBsYWNlbWVudDp5LHN0cmF0ZWd5Om8sbWlkZGxld2FyZURhdGE6d319LFdEPWU9Pih7bmFtZToiYXJyb3ciLG9wdGlvbnM6ZSxhc3luYyBmbih0KXtjb25zdHt4OmEseTppLHBsYWNlbWVudDpvLHJlY3RzOmMscGxhdGZvcm06ZCxlbGVtZW50czpmLG1pZGRsZXdhcmVEYXRhOm19PXQse2VsZW1lbnQ6aCxwYWRkaW5nOmc9MH09X3IoZSx0KXx8e307aWYoaD09bnVsbClyZXR1cm57fTtjb25zdCBiPVoxKGcpLHk9e3g6YSx5Oml9LEM9V3Yobyksdz1ZdihDKSx4PWF3YWl0IGQuZ2V0RGltZW5zaW9ucyhoKSxGPUM9PT0ieSIsQT1GPyJ0b3AiOiJsZWZ0IixEPUY/ImJvdHRvbSI6InJpZ2h0IixCPUY/ImNsaWVudEhlaWdodCI6ImNsaWVudFdpZHRoIixUPWMucmVmZXJlbmNlW3ddK2MucmVmZXJlbmNlW0NdLXlbQ10tYy5mbG9hdGluZ1t3XSxrPXlbQ10tYy5yZWZlcmVuY2VbQ10sTT1hd2FpdChkLmdldE9mZnNldFBhcmVudD09bnVsbD92b2lkIDA6ZC5nZXRPZmZzZXRQYXJlbnQoaCkpO2xldCB6PU0/TVtCXTowOyghenx8IWF3YWl0KGQuaXNFbGVtZW50PT1udWxsP3ZvaWQgMDpkLmlzRWxlbWVudChNKSkpJiYoej1mLmZsb2F0aW5nW0JdfHxjLmZsb2F0aW5nW3ddKTtjb25zdCBPPVQvMi1rLzIscmU9ei8yLXhbd10vMi0xLGVlPWdpKGJbQV0scmUpLFo9Z2koYltEXSxyZSksdmU9ei14W3ddLVosbWU9ei8yLXhbd10vMitPLEg9UTEoZWUsbWUsdmUpLHRlPSFtLmFycm93JiZCbyhvKSE9bnVsbCYmbWUhPT1IJiZjLnJlZmVyZW5jZVt3XS8yLShtZTxlZT9lZTpaKS14W3ddLzI8MCxJPXRlP21lPGVlP21lLWVlOm1lLXZlOjA7cmV0dXJue1tDXTp5W0NdK0ksZGF0YTp7W0NdOkgsY2VudGVyT2Zmc2V0Om1lLUgtSSwuLi50ZSYme2FsaWdubWVudE9mZnNldDpJfX0scmVzZXQ6dGV9fX0pLEtEPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT17fSkse25hbWU6ImZsaXAiLG9wdGlvbnM6ZSxhc3luYyBmbih0KXt2YXIgYSxpO2NvbnN0e3BsYWNlbWVudDpvLG1pZGRsZXdhcmVEYXRhOmMscmVjdHM6ZCxpbml0aWFsUGxhY2VtZW50OmYscGxhdGZvcm06bSxlbGVtZW50czpofT10LHttYWluQXhpczpnPSEwLGNyb3NzQXhpczpiPSEwLGZhbGxiYWNrUGxhY2VtZW50czp5LGZhbGxiYWNrU3RyYXRlZ3k6Qz0iYmVzdEZpdCIsZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbjp3PSJub25lIixmbGlwQWxpZ25tZW50Ong9ITAsLi4uRn09X3IoZSx0KTtpZigoYT1jLmFycm93KSE9bnVsbCYmYS5hbGlnbm1lbnRPZmZzZXQpcmV0dXJue307Y29uc3QgQT1iaShvKSxEPXByKGYpLEI9YmkoZik9PT1mLFQ9YXdhaXQobS5pc1JUTD09bnVsbD92b2lkIDA6bS5pc1JUTChoLmZsb2F0aW5nKSksaz15fHwoQnx8IXg/W2hkKGYpXTpMRChmKSksTT13IT09Im5vbmUiOyF5JiZNJiZrLnB1c2goLi4uUEQoZix4LHcsVCkpO2NvbnN0IHo9W2YsLi4ua10sTz1hd2FpdCBtLmRldGVjdE92ZXJmbG93KHQsRikscmU9W107bGV0IGVlPSgoaT1jLmZsaXApPT1udWxsP3ZvaWQgMDppLm92ZXJmbG93cyl8fFtdO2lmKGcmJnJlLnB1c2goT1tBXSksYil7Y29uc3QgSD1JRChvLGQsVCk7cmUucHVzaChPW0hbMF1dLE9bSFsxXV0pfWlmKGVlPVsuLi5lZSx7cGxhY2VtZW50Om8sb3ZlcmZsb3dzOnJlfV0sIXJlLmV2ZXJ5KEg9Pkg8PTApKXt2YXIgWix2ZTtjb25zdCBIPSgoKFo9Yy5mbGlwKT09bnVsbD92b2lkIDA6Wi5pbmRleCl8fDApKzEsdGU9eltIXTtpZih0ZSYmKCEoYj09PSJhbGlnbm1lbnQiP0QhPT1wcih0ZSk6ITEpfHxlZS5ldmVyeShXPT5wcihXLnBsYWNlbWVudCk9PT1EP1cub3ZlcmZsb3dzWzBdPjA6ITApKSlyZXR1cm57ZGF0YTp7aW5kZXg6SCxvdmVyZmxvd3M6ZWV9LHJlc2V0OntwbGFjZW1lbnQ6dGV9fTtsZXQgST0odmU9ZWUuZmlsdGVyKFU9PlUub3ZlcmZsb3dzWzBdPD0wKS5zb3J0KChVLFcpPT5VLm92ZXJmbG93c1sxXS1XLm92ZXJmbG93c1sxXSlbMF0pPT1udWxsP3ZvaWQgMDp2ZS5wbGFjZW1lbnQ7aWYoIUkpc3dpdGNoKEMpe2Nhc2UiYmVzdEZpdCI6e3ZhciBtZTtjb25zdCBVPShtZT1lZS5maWx0ZXIoVz0+e2lmKE0pe2NvbnN0IFg9cHIoVy5wbGFjZW1lbnQpO3JldHVybiBYPT09RHx8WD09PSJ5In1yZXR1cm4hMH0pLm1hcChXPT5bVy5wbGFjZW1lbnQsVy5vdmVyZmxvd3MuZmlsdGVyKFg9Plg+MCkucmVkdWNlKChYLGZlKT0+WCtmZSwwKV0pLnNvcnQoKFcsWCk9PldbMV0tWFsxXSlbMF0pPT1udWxsP3ZvaWQgMDptZVswXTtVJiYoST1VKTticmVha31jYXNlImluaXRpYWxQbGFjZW1lbnQiOkk9ZjticmVha31pZihvIT09SSlyZXR1cm57cmVzZXQ6e3BsYWNlbWVudDpJfX19cmV0dXJue319fX07ZnVuY3Rpb24gZWIoZSx0KXtyZXR1cm57dG9wOmUudG9wLXQuaGVpZ2h0LHJpZ2h0OmUucmlnaHQtdC53aWR0aCxib3R0b206ZS5ib3R0b20tdC5oZWlnaHQsbGVmdDplLmxlZnQtdC53aWR0aH19ZnVuY3Rpb24gdGIoZSl7cmV0dXJuIE5ELnNvbWUodD0+ZVt0XT49MCl9dmFyIFFEPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT17fSkse25hbWU6ImhpZGUiLG9wdGlvbnM6ZSxhc3luYyBmbih0KXtjb25zdHtyZWN0czphLHBsYXRmb3JtOml9PXQse3N0cmF0ZWd5Om89InJlZmVyZW5jZUhpZGRlbiIsLi4uY309X3IoZSx0KTtzd2l0Y2gobyl7Y2FzZSJyZWZlcmVuY2VIaWRkZW4iOntjb25zdCBkPWF3YWl0IGkuZGV0ZWN0T3ZlcmZsb3codCx7Li4uYyxlbGVtZW50Q29udGV4dDoicmVmZXJlbmNlIn0pLGY9ZWIoZCxhLnJlZmVyZW5jZSk7cmV0dXJue2RhdGE6e3JlZmVyZW5jZUhpZGRlbk9mZnNldHM6ZixyZWZlcmVuY2VIaWRkZW46dGIoZil9fX1jYXNlImVzY2FwZWQiOntjb25zdCBkPWF3YWl0IGkuZGV0ZWN0T3ZlcmZsb3codCx7Li4uYyxhbHRCb3VuZGFyeTohMH0pLGY9ZWIoZCxhLmZsb2F0aW5nKTtyZXR1cm57ZGF0YTp7ZXNjYXBlZE9mZnNldHM6Zixlc2NhcGVkOnRiKGYpfX19ZGVmYXVsdDpyZXR1cm57fX19fX0sbmI9bmV3IFNldChbImxlZnQiLCJ0b3AiXSk7YXN5bmMgZnVuY3Rpb24gWEQoZSx0KXtjb25zdHtwbGFjZW1lbnQ6YSxwbGF0Zm9ybTppLGVsZW1lbnRzOm99PWUsYz1hd2FpdChpLmlzUlRMPT1udWxsP3ZvaWQgMDppLmlzUlRMKG8uZmxvYXRpbmcpKSxkPWJpKGEpLGY9Qm8oYSksbT1wcihhKT09PSJ5IixoPW5iLmhhcyhkKT8tMToxLGc9YyYmbT8tMToxLGI9X3IodCxlKTtsZXR7bWFpbkF4aXM6eSxjcm9zc0F4aXM6QyxhbGlnbm1lbnRBeGlzOnd9PXR5cGVvZiBiPT0ibnVtYmVyIj97bWFpbkF4aXM6Yixjcm9zc0F4aXM6MCxhbGlnbm1lbnRBeGlzOm51bGx9OnttYWluQXhpczpiLm1haW5BeGlzfHwwLGNyb3NzQXhpczpiLmNyb3NzQXhpc3x8MCxhbGlnbm1lbnRBeGlzOmIuYWxpZ25tZW50QXhpc307cmV0dXJuIGYmJnR5cGVvZiB3PT0ibnVtYmVyIiYmKEM9Zj09PSJlbmQiP3cqLTE6dyksbT97eDpDKmcseTp5Kmh9Ont4OnkqaCx5OkMqZ319dmFyICREPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT0wKSx7bmFtZToib2Zmc2V0IixvcHRpb25zOmUsYXN5bmMgZm4odCl7dmFyIGEsaTtjb25zdHt4Om8seTpjLHBsYWNlbWVudDpkLG1pZGRsZXdhcmVEYXRhOmZ9PXQsbT1hd2FpdCBYRCh0LGUpO3JldHVybiBkPT09KChhPWYub2Zmc2V0KT09bnVsbD92b2lkIDA6YS5wbGFjZW1lbnQpJiYoaT1mLmFycm93KSE9bnVsbCYmaS5hbGlnbm1lbnRPZmZzZXQ/e306e3g6byttLngseTpjK20ueSxkYXRhOnsuLi5tLHBsYWNlbWVudDpkfX19fX0sWkQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPXt9KSx7bmFtZToic2hpZnQiLG9wdGlvbnM6ZSxhc3luYyBmbih0KXtjb25zdHt4OmEseTppLHBsYWNlbWVudDpvLHBsYXRmb3JtOmN9PXQse21haW5BeGlzOmQ9ITAsY3Jvc3NBeGlzOmY9ITEsbGltaXRlcjptPXtmbjpEPT57bGV0e3g6Qix5OlR9PUQ7cmV0dXJue3g6Qix5OlR9fX0sLi4uaH09X3IoZSx0KSxnPXt4OmEseTppfSxiPWF3YWl0IGMuZGV0ZWN0T3ZlcmZsb3codCxoKSx5PXByKG8pLEM9R3YoeSk7bGV0IHc9Z1tDXSx4PWdbeV07Y29uc3QgRj0oRCxCKT0+UTEoQitiW0Q9PT0ieSI/InRvcCI6ImxlZnQiXSxCLEItYltEPT09InkiPyJib3R0b20iOiJyaWdodCJdKTtkJiYodz1GKEMsdykpLGYmJih4PUYoeSx4KSk7Y29uc3QgQT1tLmZuKHsuLi50LFtDXTp3LFt5XTp4fSk7cmV0dXJuey4uLkEsZGF0YTp7eDpBLngtYSx5OkEueS1pLGVuYWJsZWQ6e1tDXTpkLFt5XTpmfX19fX19LEpEPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT17fSkse29wdGlvbnM6ZSxmbih0KXt2YXIgYSxpO2NvbnN0e3g6byx5OmMscGxhY2VtZW50OmQscmVjdHM6ZixtaWRkbGV3YXJlRGF0YTptfT10LHtvZmZzZXQ6aD0wLG1haW5BeGlzOmc9ITAsY3Jvc3NBeGlzOmI9ITB9PV9yKGUsdCkseT17eDpvLHk6Y30sQz1wcihkKSx3PUd2KEMpO2xldCB4PXlbd10sRj15W0NdO2NvbnN0IEE9X3IoaCx0KSxEPXR5cGVvZiBBPT0ibnVtYmVyIj97bWFpbkF4aXM6QSxjcm9zc0F4aXM6MH06e21haW5BeGlzOihhPUEubWFpbkF4aXMpIT1udWxsP2E6MCxjcm9zc0F4aXM6KGk9QS5jcm9zc0F4aXMpIT1udWxsP2k6MH07aWYoZyl7Y29uc3Qgaz13PT09InkiPyJoZWlnaHQiOiJ3aWR0aCIsTT1mLnJlZmVyZW5jZVt3XS1mLmZsb2F0aW5nW2tdK0QubWFpbkF4aXMsej1mLnJlZmVyZW5jZVt3XStmLnJlZmVyZW5jZVtrXS1ELm1haW5BeGlzO3g8TT94PU06eD56JiYoeD16KX1pZihiKXt2YXIgQixUO2NvbnN0IGs9dz09PSJ5Ij8id2lkdGgiOiJoZWlnaHQiLE09bmIuaGFzKGJpKGQpKSx6PWYucmVmZXJlbmNlW0NdLWYuZmxvYXRpbmdba10rKE0mJigoQj1tLm9mZnNldCk9PW51bGw/dm9pZCAwOkJbQ10pfHwwKSsoTT8wOkQuY3Jvc3NBeGlzKSxPPWYucmVmZXJlbmNlW0NdK2YucmVmZXJlbmNlW2tdKyhNPzA6KChUPW0ub2Zmc2V0KT09bnVsbD92b2lkIDA6VFtDXSl8fDApLShNP0QuY3Jvc3NBeGlzOjApO0Y8ej9GPXo6Rj5PJiYoRj1PKX1yZXR1cm57W3ddOngsW0NdOkZ9fX19LGVBPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT17fSkse25hbWU6InNpemUiLG9wdGlvbnM6ZSxhc3luYyBmbih0KXtjb25zdHtwbGFjZW1lbnQ6YSxyZWN0czppLHBsYXRmb3JtOm8sZWxlbWVudHM6Y309dCx7YXBwbHk6ZD0oKT0+e30sLi4uZn09X3IoZSx0KSxtPWF3YWl0IG8uZGV0ZWN0T3ZlcmZsb3codCxmKSxoPWJpKGEpLGc9Qm8oYSksYj1wcihhKT09PSJ5Iix7d2lkdGg6eSxoZWlnaHQ6Q309aS5mbG9hdGluZztsZXQgdyx4O2g9PT0idG9wInx8aD09PSJib3R0b20iPyh3PWgseD1nPT09KGF3YWl0KG8uaXNSVEw9PW51bGw/dm9pZCAwOm8uaXNSVEwoYy5mbG9hdGluZykpPyJzdGFydCI6ImVuZCIpPyJsZWZ0IjoicmlnaHQiKTooeD1oLHc9Zz09PSJlbmQiPyJ0b3AiOiJib3R0b20iKTtjb25zdCBGPUMtbS50b3AtbS5ib3R0b20sQT15LW0ubGVmdC1tLnJpZ2h0LEQ9Z2koQy1tW3ddLEYpLEI9Z2koeS1tW3hdLEEpLFQ9dC5taWRkbGV3YXJlRGF0YS5zaGlmdCxrPSFUO2xldCBNPUQsej1CO1QhPW51bGwmJlQuZW5hYmxlZC54JiYoej1BKSxUIT1udWxsJiZULmVuYWJsZWQueSYmKE09RiksayYmIWcmJihiP3o9eS0yKk1yKG0ubGVmdCxtLnJpZ2h0KTpNPUMtMipNcihtLnRvcCxtLmJvdHRvbSkpLGF3YWl0IGQoey4uLnQsYXZhaWxhYmxlV2lkdGg6eixhdmFpbGFibGVIZWlnaHQ6TX0pO2NvbnN0IE89YXdhaXQgby5nZXREaW1lbnNpb25zKGMuZmxvYXRpbmcpO3JldHVybiB5IT09Ty53aWR0aHx8QyE9PU8uaGVpZ2h0P3tyZXNldDp7cmVjdHM6ITB9fTp7fX19fTtmdW5jdGlvbiBiZCgpe3JldHVybiB0eXBlb2Ygd2luZG93PCJ1In1mdW5jdGlvbiBrbyhlKXtyZXR1cm4gYWIoZSk/KGUubm9kZU5hbWV8fCIiKS50b0xvd2VyQ2FzZSgpOiIjZG9jdW1lbnQifWZ1bmN0aW9uIFZuKGUpe3ZhciB0O3JldHVybihlPT1udWxsfHwodD1lLm93bmVyRG9jdW1lbnQpPT1udWxsP3ZvaWQgMDp0LmRlZmF1bHRWaWV3KXx8d2luZG93fWZ1bmN0aW9uIE5yKGUpe3ZhciB0O3JldHVybih0PShhYihlKT9lLm93bmVyRG9jdW1lbnQ6ZS5kb2N1bWVudCl8fHdpbmRvdy5kb2N1bWVudCk9PW51bGw/dm9pZCAwOnQuZG9jdW1lbnRFbGVtZW50fWZ1bmN0aW9uIGFiKGUpe3JldHVybiBiZCgpP2UgaW5zdGFuY2VvZiBOb2RlfHxlIGluc3RhbmNlb2YgVm4oZSkuTm9kZTohMX1mdW5jdGlvbiB2cihlKXtyZXR1cm4gYmQoKT9lIGluc3RhbmNlb2YgRWxlbWVudHx8ZSBpbnN0YW5jZW9mIFZuKGUpLkVsZW1lbnQ6ITF9ZnVuY3Rpb24geWkoZSl7cmV0dXJuIGJkKCk/ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fHxlIGluc3RhbmNlb2YgVm4oZSkuSFRNTEVsZW1lbnQ6ITF9ZnVuY3Rpb24gcmIoZSl7cmV0dXJuIWJkKCl8fHR5cGVvZiBTaGFkb3dSb290PiJ1Ij8hMTplIGluc3RhbmNlb2YgU2hhZG93Um9vdHx8ZSBpbnN0YW5jZW9mIFZuKGUpLlNoYWRvd1Jvb3R9ZnVuY3Rpb24geWQoZSl7Y29uc3R7b3ZlcmZsb3c6dCxvdmVyZmxvd1g6YSxvdmVyZmxvd1k6aSxkaXNwbGF5Om99PW1yKGUpO3JldHVybi9hdXRvfHNjcm9sbHxvdmVybGF5fGhpZGRlbnxjbGlwLy50ZXN0KHQraSthKSYmbyE9PSJpbmxpbmUiJiZvIT09ImNvbnRlbnRzIn1mdW5jdGlvbiB0QShlKXtyZXR1cm4vXih0YWJsZXx0ZHx0aCkkLy50ZXN0KGtvKGUpKX1mdW5jdGlvbiB3ZChlKXt0cnl7aWYoZS5tYXRjaGVzKCI6cG9wb3Zlci1vcGVuIikpcmV0dXJuITB9Y2F0Y2h7fXRyeXtyZXR1cm4gZS5tYXRjaGVzKCI6bW9kYWwiKX1jYXRjaHtyZXR1cm4hMX19dmFyIG5BPS90cmFuc2Zvcm18dHJhbnNsYXRlfHNjYWxlfHJvdGF0ZXxwZXJzcGVjdGl2ZXxmaWx0ZXIvLGFBPS9wYWludHxsYXlvdXR8c3RyaWN0fGNvbnRlbnQvLEZ1PWU9PiEhZSYmZSE9PSJub25lIixRdjtmdW5jdGlvbiBYdihlKXtjb25zdCB0PXZyKGUpP21yKGUpOmU7cmV0dXJuIEZ1KHQudHJhbnNmb3JtKXx8RnUodC50cmFuc2xhdGUpfHxGdSh0LnNjYWxlKXx8RnUodC5yb3RhdGUpfHxGdSh0LnBlcnNwZWN0aXZlKXx8ISR2KCkmJihGdSh0LmJhY2tkcm9wRmlsdGVyKXx8RnUodC5maWx0ZXIpKXx8bkEudGVzdCh0LndpbGxDaGFuZ2V8fCIiKXx8YUEudGVzdCh0LmNvbnRhaW58fCIiKX1mdW5jdGlvbiByQShlKXtsZXQgdD1DdShlKTtmb3IoO3lpKHQpJiYhYWwodCk7KXtpZihYdih0KSlyZXR1cm4gdDtpZih3ZCh0KSlyZXR1cm4gbnVsbDt0PUN1KHQpfXJldHVybiBudWxsfWZ1bmN0aW9uICR2KCl7cmV0dXJuIFF2PT1udWxsJiYoUXY9dHlwZW9mIENTUzwidSImJkNTUy5zdXBwb3J0cyYmQ1NTLnN1cHBvcnRzKCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciIsIm5vbmUiKSksUXZ9ZnVuY3Rpb24gYWwoZSl7cmV0dXJuL14oaHRtbHxib2R5fCNkb2N1bWVudCkkLy50ZXN0KGtvKGUpKX1mdW5jdGlvbiBtcihlKXtyZXR1cm4gVm4oZSkuZ2V0Q29tcHV0ZWRTdHlsZShlKX1mdW5jdGlvbiB4ZChlKXtyZXR1cm4gdnIoZSk/e3Njcm9sbExlZnQ6ZS5zY3JvbGxMZWZ0LHNjcm9sbFRvcDplLnNjcm9sbFRvcH06e3Njcm9sbExlZnQ6ZS5zY3JvbGxYLHNjcm9sbFRvcDplLnNjcm9sbFl9fWZ1bmN0aW9uIEN1KGUpe2lmKGtvKGUpPT09Imh0bWwiKXJldHVybiBlO2NvbnN0IHQ9ZS5hc3NpZ25lZFNsb3R8fGUucGFyZW50Tm9kZXx8cmIoZSkmJmUuaG9zdHx8TnIoZSk7cmV0dXJuIHJiKHQpP3QuaG9zdDp0fWZ1bmN0aW9uIGliKGUpe2NvbnN0IHQ9Q3UoZSk7cmV0dXJuIGFsKHQpPyhlLm93bmVyRG9jdW1lbnR8fGUpLmJvZHk6eWkodCkmJnlkKHQpP3Q6aWIodCl9ZnVuY3Rpb24gcmwoZSx0LGEpe3ZhciBpO3Q9PT12b2lkIDAmJih0PVtdKSxhPT09dm9pZCAwJiYoYT0hMCk7Y29uc3Qgbz1pYihlKSxjPW89PT0oKGk9ZS5vd25lckRvY3VtZW50KT09bnVsbD92b2lkIDA6aS5ib2R5KSxkPVZuKG8pO2lmKGMpe2NvbnN0IGY9WnYoZCk7cmV0dXJuIHQuY29uY2F0KGQsZC52aXN1YWxWaWV3cG9ydHx8W10seWQobyk/bzpbXSxmJiZhP3JsKGYpOltdKX1lbHNlIHJldHVybiB0LmNvbmNhdChvLHJsKG8sW10sYSkpfWZ1bmN0aW9uIFp2KGUpe3JldHVybiBlLnBhcmVudCYmT2JqZWN0LmdldFByb3RvdHlwZU9mKGUucGFyZW50KT9lLmZyYW1lRWxlbWVudDpudWxsfWZ1bmN0aW9uIHViKGUpe2NvbnN0IHQ9bXIoZSk7bGV0IGE9cGFyc2VGbG9hdCh0LndpZHRoKXx8MCxpPXBhcnNlRmxvYXQodC5oZWlnaHQpfHwwO2NvbnN0IG89eWkoZSksYz1vP2Uub2Zmc2V0V2lkdGg6YSxkPW8/ZS5vZmZzZXRIZWlnaHQ6aSxmPXZkKGEpIT09Y3x8dmQoaSkhPT1kO3JldHVybiBmJiYoYT1jLGk9ZCkse3dpZHRoOmEsaGVpZ2h0OmksJDpmfX1mdW5jdGlvbiBKdihlKXtyZXR1cm4gdnIoZSk/ZTplLmNvbnRleHRFbGVtZW50fWZ1bmN0aW9uIFRvKGUpe2NvbnN0IHQ9SnYoZSk7aWYoIXlpKHQpKXJldHVybiBPcigxKTtjb25zdCBhPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse3dpZHRoOmksaGVpZ2h0Om8sJDpjfT11Yih0KTtsZXQgZD0oYz92ZChhLndpZHRoKTphLndpZHRoKS9pLGY9KGM/dmQoYS5oZWlnaHQpOmEuaGVpZ2h0KS9vO3JldHVybighZHx8IU51bWJlci5pc0Zpbml0ZShkKSkmJihkPTEpLCghZnx8IU51bWJlci5pc0Zpbml0ZShmKSkmJihmPTEpLHt4OmQseTpmfX12YXIgaUE9T3IoMCk7ZnVuY3Rpb24gb2IoZSl7Y29uc3QgdD1WbihlKTtyZXR1cm4hJHYoKXx8IXQudmlzdWFsVmlld3BvcnQ/aUE6e3g6dC52aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0LHk6dC52aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3B9fWZ1bmN0aW9uIHVBKGUsdCxhKXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9ITEpLCEhYSYmdCYmYT09PVZuKGUpfWZ1bmN0aW9uIER1KGUsdCxhLGkpe3Q9PT12b2lkIDAmJih0PSExKSxhPT09dm9pZCAwJiYoYT0hMSk7Y29uc3Qgbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGM9SnYoZSk7bGV0IGQ9T3IoMSk7dCYmKGk/dnIoaSkmJihkPVRvKGkpKTpkPVRvKGUpKTtjb25zdCBmPXVBKGMsYSxpKT9vYihjKTpPcigwKTtsZXQgbT0oby5sZWZ0K2YueCkvZC54LGg9KG8udG9wK2YueSkvZC55LGc9by53aWR0aC9kLngsYj1vLmhlaWdodC9kLnk7aWYoYyYmaSl7Y29uc3QgeT1WbihjKSxDPXZyKGkpP1ZuKGkpOmk7bGV0IHc9eSx4PVp2KHcpO2Zvcig7eCYmQyE9PXc7KXtjb25zdCBGPVRvKHgpLEE9eC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxEPW1yKHgpLEI9QS5sZWZ0Kyh4LmNsaWVudExlZnQrcGFyc2VGbG9hdChELnBhZGRpbmdMZWZ0KSkqRi54LFQ9QS50b3ArKHguY2xpZW50VG9wK3BhcnNlRmxvYXQoRC5wYWRkaW5nVG9wKSkqRi55O20qPUYueCxoKj1GLnksZyo9Ri54LGIqPUYueSxtKz1CLGgrPVQsdz1Wbih4KSx4PVp2KHcpfX1yZXR1cm4gZ2Qoe3dpZHRoOmcsaGVpZ2h0OmIseDptLHk6aH0pfWZ1bmN0aW9uIEVkKGUsdCl7Y29uc3QgYT14ZChlKS5zY3JvbGxMZWZ0O3JldHVybiB0P3QubGVmdCthOkR1KE5yKGUpKS5sZWZ0K2F9ZnVuY3Rpb24gc2IoZSx0KXtjb25zdCBhPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1hLmxlZnQrdC5zY3JvbGxMZWZ0LUVkKGUsYSksbz1hLnRvcCt0LnNjcm9sbFRvcDtyZXR1cm57eDppLHk6b319ZnVuY3Rpb24gb0EoZSl7bGV0e2VsZW1lbnRzOnQscmVjdDphLG9mZnNldFBhcmVudDppLHN0cmF0ZWd5Om99PWU7Y29uc3QgYz1vPT09ImZpeGVkIixkPU5yKGkpLGY9dD93ZCh0LmZsb2F0aW5nKTohMTtpZihpPT09ZHx8ZiYmYylyZXR1cm4gYTtsZXQgbT17c2Nyb2xsTGVmdDowLHNjcm9sbFRvcDowfSxoPU9yKDEpO2NvbnN0IGc9T3IoMCksYj15aShpKTtpZigoYnx8IWMpJiYoKGtvKGkpIT09ImJvZHkifHx5ZChkKSkmJihtPXhkKGkpKSxiKSl7Y29uc3QgQz1EdShpKTtoPVRvKGkpLGcueD1DLngraS5jbGllbnRMZWZ0LGcueT1DLnkraS5jbGllbnRUb3B9Y29uc3QgeT1kJiYhYiYmIWM/c2IoZCxtKTpPcigwKTtyZXR1cm57d2lkdGg6YS53aWR0aCpoLngsaGVpZ2h0OmEuaGVpZ2h0KmgueSx4OmEueCpoLngtbS5zY3JvbGxMZWZ0KmgueCtnLngreS54LHk6YS55KmgueS1tLnNjcm9sbFRvcCpoLnkrZy55K3kueX19ZnVuY3Rpb24gc0EoZSl7cmV0dXJuIGUuZ2V0Q2xpZW50UmVjdHM/QXJyYXkuZnJvbShlLmdldENsaWVudFJlY3RzKCkpOltdfWZ1bmN0aW9uIGxBKGUpe2NvbnN0IHQ9eGQoZSksYT1lLm93bmVyRG9jdW1lbnQuYm9keSxpPU1yKGUuc2Nyb2xsV2lkdGgsZS5jbGllbnRXaWR0aCxhLnNjcm9sbFdpZHRoLGEuY2xpZW50V2lkdGgpLG89TXIoZS5zY3JvbGxIZWlnaHQsZS5jbGllbnRIZWlnaHQsYS5zY3JvbGxIZWlnaHQsYS5jbGllbnRIZWlnaHQpO2xldCBjPS10LnNjcm9sbExlZnQrRWQoZSk7Y29uc3QgZD0tdC5zY3JvbGxUb3A7cmV0dXJuIG1yKGEpLmRpcmVjdGlvbj09PSJydGwiJiYoYys9TXIoZS5jbGllbnRXaWR0aCxhLmNsaWVudFdpZHRoKS1pKSx7d2lkdGg6aSxoZWlnaHQ6byx4OmMseTpkfX12YXIgY0E9MjU7ZnVuY3Rpb24gZEEoZSx0LGEpe2E9PT12b2lkIDAmJihhPSJ2aWV3cG9ydCIpO2NvbnN0IGk9YT09PSJsYXlvdXRWaWV3cG9ydCIsbz1WbihlKSxjPU5yKGUpLGQ9by52aXN1YWxWaWV3cG9ydDtsZXQgZj1jLmNsaWVudFdpZHRoLG09Yy5jbGllbnRIZWlnaHQsaD0wLGc9MDtpZihkKXtjb25zdCB5PSEkdigpfHx0PT09ImZpeGVkIjtpP3l8fChoPS1kLm9mZnNldExlZnQsZz0tZC5vZmZzZXRUb3ApOihmPWQud2lkdGgsbT1kLmhlaWdodCx5JiYoaD1kLm9mZnNldExlZnQsZz1kLm9mZnNldFRvcCkpfWlmKEVkKGMpPD0wKXtjb25zdCB5PWMub3duZXJEb2N1bWVudCxDPXkuYm9keSx3PWdldENvbXB1dGVkU3R5bGUoQykseD15LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCImJnBhcnNlRmxvYXQody5tYXJnaW5MZWZ0KStwYXJzZUZsb2F0KHcubWFyZ2luUmlnaHQpfHwwLEY9TWF0aC5hYnMoYy5jbGllbnRXaWR0aC1DLmNsaWVudFdpZHRoLXgpLEE9Z2V0Q29tcHV0ZWRTdHlsZShjKS5zY3JvbGxiYXJHdXR0ZXI9PT0ic3RhYmxlIGJvdGgtZWRnZXMiP0YvMjpGO0E8PWNBJiYoZi09QSl9cmV0dXJue3dpZHRoOmYsaGVpZ2h0Om0seDpoLHk6Z319ZnVuY3Rpb24gZkEoZSx0KXtjb25zdCBhPUR1KGUsITAsdD09PSJmaXhlZCIpLGk9YS50b3ArZS5jbGllbnRUb3Asbz1hLmxlZnQrZS5jbGllbnRMZWZ0LGM9VG8oZSksZD1lLmNsaWVudFdpZHRoKmMueCxmPWUuY2xpZW50SGVpZ2h0KmMueSxtPW8qYy54LGg9aSpjLnk7cmV0dXJue3dpZHRoOmQsaGVpZ2h0OmYseDptLHk6aH19ZnVuY3Rpb24gbGIoZSx0LGEpe2xldCBpO2lmKHQ9PT0idmlld3BvcnQifHx0PT09ImxheW91dFZpZXdwb3J0IilpPWRBKGUsYSx0KTtlbHNlIGlmKHQ9PT0iZG9jdW1lbnQiKWk9bEEoTnIoZSkpO2Vsc2UgaWYodnIodCkpaT1mQSh0LGEpO2Vsc2V7Y29uc3Qgbz1vYihlKTtpPXt4OnQueC1vLngseTp0Lnktby55LHdpZHRoOnQud2lkdGgsaGVpZ2h0OnQuaGVpZ2h0fX1yZXR1cm4gZ2QoaSl9ZnVuY3Rpb24gcEEoZSx0KXtjb25zdCBhPXQuZ2V0KGUpO2lmKGEpcmV0dXJuIGE7bGV0IGk9cmwoZSxbXSwhMSkuZmlsdGVyKGY9PnZyKGYpJiZrbyhmKSE9PSJib2R5Iiksbz1udWxsO2NvbnN0IGM9bXIoZSkucG9zaXRpb249PT0iZml4ZWQiO2xldCBkPWM/Q3UoZSk6ZTtmb3IoO3ZyKGQpJiYhYWwoZCk7KXtjb25zdCBmPW1yKGQpLG09WHYoZCksaD1vP28ucG9zaXRpb246Yz8iZml4ZWQiOiIiOyFtJiYoaD09PSJmaXhlZCJ8fGg9PT0iYWJzb2x1dGUiJiZmLnBvc2l0aW9uPT09InN0YXRpYyIpP2k9aS5maWx0ZXIoYj0+YiE9PWQpOm89ZixkPUN1KGQpfXJldHVybiB0LnNldChlLGkpLGl9ZnVuY3Rpb24gdkEoZSl7bGV0e2VsZW1lbnQ6dCxib3VuZGFyeTphLHJvb3RCb3VuZGFyeTppLHN0cmF0ZWd5Om99PWU7Y29uc3QgZD1bLi4uYT09PSJjbGlwcGluZ0FuY2VzdG9ycyI/d2QodCk/W106cEEodCx0aGlzLl9jKTpbXS5jb25jYXQoYSksaV0sZj1sYih0LGRbMF0sbyk7bGV0IG09Zi50b3AsaD1mLnJpZ2h0LGc9Zi5ib3R0b20sYj1mLmxlZnQ7Zm9yKGxldCB5PTE7eTxkLmxlbmd0aDt5Kyspe2NvbnN0IEM9bGIodCxkW3ldLG8pO209TXIoQy50b3AsbSksaD1naShDLnJpZ2h0LGgpLGc9Z2koQy5ib3R0b20sZyksYj1NcihDLmxlZnQsYil9cmV0dXJue3dpZHRoOmgtYixoZWlnaHQ6Zy1tLHg6Yix5Om19fWZ1bmN0aW9uIG1BKGUpe2NvbnN0e3dpZHRoOnQsaGVpZ2h0OmF9PXViKGUpO3JldHVybnt3aWR0aDp0LGhlaWdodDphfX1mdW5jdGlvbiBoQShlLHQsYSl7Y29uc3QgaT15aSh0KSxvPU5yKHQpLGM9YT09PSJmaXhlZCIsZD1EdShlLCEwLGMsdCk7bGV0IGY9e3Njcm9sbExlZnQ6MCxzY3JvbGxUb3A6MH07Y29uc3QgbT1PcigwKTtpZigoaXx8IWMpJiYoKGtvKHQpIT09ImJvZHkifHx5ZChvKSkmJihmPXhkKHQpKSxpKSl7Y29uc3QgeT1EdSh0LCEwLGMsdCk7bS54PXkueCt0LmNsaWVudExlZnQsbS55PXkueSt0LmNsaWVudFRvcH0haSYmbyYmKG0ueD1FZChvKSk7Y29uc3QgaD1vJiYhaSYmIWM/c2IobyxmKTpPcigwKSxnPWQubGVmdCtmLnNjcm9sbExlZnQtbS54LWgueCxiPWQudG9wK2Yuc2Nyb2xsVG9wLW0ueS1oLnk7cmV0dXJue3g6Zyx5OmIsd2lkdGg6ZC53aWR0aCxoZWlnaHQ6ZC5oZWlnaHR9fWZ1bmN0aW9uIGVtKGUpe3JldHVybiBtcihlKS5wb3NpdGlvbj09PSJzdGF0aWMifWZ1bmN0aW9uIGNiKGUsdCl7aWYoIXlpKGUpfHxtcihlKS5wb3NpdGlvbj09PSJmaXhlZCIpcmV0dXJuIG51bGw7aWYodClyZXR1cm4gdChlKTtsZXQgYT1lLm9mZnNldFBhcmVudDtyZXR1cm4gTnIoZSk9PT1hJiYoYT1hLm93bmVyRG9jdW1lbnQuYm9keSksYX1mdW5jdGlvbiBkYihlLHQpe2NvbnN0IGE9Vm4oZSk7aWYod2QoZSkpcmV0dXJuIGE7aWYoIXlpKGUpKXtsZXQgbz1DdShlKTtmb3IoO28mJiFhbChvKTspe2lmKHZyKG8pJiYhZW0obykpcmV0dXJuIG87bz1DdShvKX1yZXR1cm4gYX1sZXQgaT1jYihlLHQpO2Zvcig7aSYmdEEoaSkmJmVtKGkpOylpPWNiKGksdCk7cmV0dXJuIGkmJmFsKGkpJiZlbShpKSYmIVh2KGkpP2E6aXx8ckEoZSl8fGF9dmFyIGdBPWFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5nZXRPZmZzZXRQYXJlbnR8fGRiLGE9dGhpcy5nZXREaW1lbnNpb25zLGk9YXdhaXQgYShlLmZsb2F0aW5nKTtyZXR1cm57cmVmZXJlbmNlOmhBKGUucmVmZXJlbmNlLGF3YWl0IHQoZS5mbG9hdGluZyksZS5zdHJhdGVneSksZmxvYXRpbmc6e3g6MCx5OjAsd2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9fX07ZnVuY3Rpb24gYkEoZSl7cmV0dXJuIG1yKGUpLmRpcmVjdGlvbj09PSJydGwifXZhciB5QT17Y29udmVydE9mZnNldFBhcmVudFJlbGF0aXZlUmVjdFRvVmlld3BvcnRSZWxhdGl2ZVJlY3Q6b0EsZ2V0RG9jdW1lbnRFbGVtZW50Ok5yLGdldENsaXBwaW5nUmVjdDp2QSxnZXRPZmZzZXRQYXJlbnQ6ZGIsZ2V0RWxlbWVudFJlY3RzOmdBLGdldENsaWVudFJlY3RzOnNBLGdldERpbWVuc2lvbnM6bUEsZ2V0U2NhbGU6VG8saXNFbGVtZW50OnZyLGlzUlRMOmJBfTtmdW5jdGlvbiBmYihlLHQpe3JldHVybiBlLng9PT10LngmJmUueT09PXQueSYmZS53aWR0aD09PXQud2lkdGgmJmUuaGVpZ2h0PT09dC5oZWlnaHR9ZnVuY3Rpb24gd0EoZSx0LGEpe2xldCBpPW51bGwsbztjb25zdCBjPU5yKGUpO2Z1bmN0aW9uIGQoKXt2YXIgZztjbGVhclRpbWVvdXQobyksKGc9aSk9PW51bGx8fGcuZGlzY29ubmVjdCgpLGk9bnVsbH1mdW5jdGlvbiBmKGcsYil7Zz09PXZvaWQgMCYmKGc9ITEpLGI9PT12b2lkIDAmJihiPTEpLGQoKTtjb25zdCB5PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2xlZnQ6Qyx0b3A6dyx3aWR0aDp4LGhlaWdodDpGfT15O2lmKGd8fHQoKSwheHx8IUYpcmV0dXJuO2NvbnN0IEE9bWQodyksRD1tZChjLmNsaWVudFdpZHRoLShDK3gpKSxCPW1kKGMuY2xpZW50SGVpZ2h0LSh3K0YpKSxUPW1kKEMpLE09e3Jvb3RNYXJnaW46LUErInB4ICIrLUQrInB4ICIrLUIrInB4ICIrLVQrInB4Iix0aHJlc2hvbGQ6TXIoMCxnaSgxLGIpKXx8MX07bGV0IHo9ITA7ZnVuY3Rpb24gTyhyZSl7Y29uc3QgZWU9cmVbMF0uaW50ZXJzZWN0aW9uUmF0aW87aWYoIWZiKHksZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkpcmV0dXJuIGYoKTtpZihlZSE9PWIpe2lmKCF6KXJldHVybiBmKCk7ZWU/ZighMSxlZSk6bz1zZXRUaW1lb3V0KCgpPT57ZighMSwxZS03KX0sMWUzKX16PSExfXRyeXtpPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihPLHsuLi5NLHJvb3Q6Yy5vd25lckRvY3VtZW50fSl9Y2F0Y2h7aT1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoTyxNKX1pLm9ic2VydmUoZSl9Y29uc3QgbT1WbihlKSxoPSgpPT5mKGEpO3JldHVybiBtLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsaCksZighMCksKCk9PnttLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsaCksZCgpfX1mdW5jdGlvbiB4QShlLHQsYSxpKXtpPT09dm9pZCAwJiYoaT17fSk7Y29uc3R7YW5jZXN0b3JTY3JvbGw6bz0hMCxhbmNlc3RvclJlc2l6ZTpjPSEwLGVsZW1lbnRSZXNpemU6ZD10eXBlb2YgUmVzaXplT2JzZXJ2ZXI9PSJmdW5jdGlvbiIsbGF5b3V0U2hpZnQ6Zj10eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI9PSJmdW5jdGlvbiIsYW5pbWF0aW9uRnJhbWU6bT0hMX09aSxoPUp2KGUpLGc9b3x8Yz9bLi4uaD9ybChoKTpbXSwuLi50P3JsKHQpOltdXTpbXTtnLmZvckVhY2goQT0+e28mJkEuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixhKSxjJiZBLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsYSl9KTtjb25zdCBiPWgmJmY/d0EoaCxhLGMpOm51bGw7bGV0IHk9LTEsQz1udWxsO2QmJihDPW5ldyBSZXNpemVPYnNlcnZlcihBPT57bGV0W0RdPUE7RCYmRC50YXJnZXQ9PT1oJiZDJiZ0JiYoQy51bm9ic2VydmUodCksY2FuY2VsQW5pbWF0aW9uRnJhbWUoeSkseT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt2YXIgQjsoQj1DKT09bnVsbHx8Qi5vYnNlcnZlKHQpfSkpLGEoKX0pLGgmJiFtJiZDLm9ic2VydmUoaCksdCYmQy5vYnNlcnZlKHQpKTtsZXQgdyx4PW0/RHUoZSk6bnVsbDttJiZGKCk7ZnVuY3Rpb24gRigpe2NvbnN0IEE9RHUoZSk7eCYmIWZiKHgsQSkmJmEoKSx4PUEsdz1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoRil9cmV0dXJuIGEoKSwoKT0+e3ZhciBBO2cuZm9yRWFjaChEPT57byYmRC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGEpLGMmJkQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixhKX0pLGI/LigpLChBPUMpPT1udWxsfHxBLmRpc2Nvbm5lY3QoKSxDPW51bGwsbSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodyl9fXZhciBFQT0kRCxGQT1aRCxDQT1LRCxEQT1lQSxBQT1RRCxwYj1XRCxTQT1KRCxCQT0oZSx0LGEpPT57Y29uc3QgaT1uZXcgTWFwLG89YT8/e30sYz17Li4ueUEsLi4uby5wbGF0Zm9ybSxfYzppfTtyZXR1cm4gWUQoZSx0LHsuLi5vLHBsYXRmb3JtOmN9KX0sVG49bGUoQWUoKSwxKSxrQT1sZShBZSgpLDEpLFRBPWxlKGRpKCksMSksakE9dHlwZW9mIGRvY3VtZW50PCJ1IixNQT1mdW5jdGlvbigpe30sRmQ9akE/a0EudXNlTGF5b3V0RWZmZWN0Ok1BO2Z1bmN0aW9uIENkKGUsdCl7aWYoZT09PXQpcmV0dXJuITA7aWYodHlwZW9mIGUhPXR5cGVvZiB0KXJldHVybiExO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlLnRvU3RyaW5nKCk9PT10LnRvU3RyaW5nKCkpcmV0dXJuITA7bGV0IGEsaSxvO2lmKGUmJnQmJnR5cGVvZiBlPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShlKSl7aWYoYT1lLmxlbmd0aCxhIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKGk9YTtpLS0hPT0wOylpZighQ2QoZVtpXSx0W2ldKSlyZXR1cm4hMTtyZXR1cm4hMH1pZihvPU9iamVjdC5rZXlzKGUpLGE9by5sZW5ndGgsYSE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm4hMTtmb3IoaT1hO2ktLSE9PTA7KWlmKCF7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsb1tpXSkpcmV0dXJuITE7Zm9yKGk9YTtpLS0hPT0wOyl7Y29uc3QgYz1vW2ldO2lmKCEoYz09PSJfb3duZXIiJiZlLiQkdHlwZW9mKSYmIUNkKGVbY10sdFtjXSkpcmV0dXJuITF9cmV0dXJuITB9cmV0dXJuIGUhPT1lJiZ0IT09dH1mdW5jdGlvbiB2YihlKXtyZXR1cm4gdHlwZW9mIHdpbmRvdz4idSI/MTooZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmRldmljZVBpeGVsUmF0aW98fDF9ZnVuY3Rpb24gbWIoZSx0KXtjb25zdCBhPXZiKGUpO3JldHVybiBNYXRoLnJvdW5kKHQqYSkvYX1mdW5jdGlvbiB0bShlKXtjb25zdCB0PVRuLnVzZVJlZihlKTtyZXR1cm4gRmQoKCk9Pnt0LmN1cnJlbnQ9ZX0pLHR9ZnVuY3Rpb24gT0EoZSl7ZT09PXZvaWQgMCYmKGU9e30pO2NvbnN0e3BsYWNlbWVudDp0PSJib3R0b20iLHN0cmF0ZWd5OmE9ImFic29sdXRlIixtaWRkbGV3YXJlOmk9W10scGxhdGZvcm06byxlbGVtZW50czp7cmVmZXJlbmNlOmMsZmxvYXRpbmc6ZH09e30sdHJhbnNmb3JtOmY9ITAsd2hpbGVFbGVtZW50c01vdW50ZWQ6bSxvcGVuOmh9PWUsW2csYl09VG4udXNlU3RhdGUoe3g6MCx5OjAsc3RyYXRlZ3k6YSxwbGFjZW1lbnQ6dCxtaWRkbGV3YXJlRGF0YTp7fSxpc1Bvc2l0aW9uZWQ6ITF9KSxbeSxDXT1Ubi51c2VTdGF0ZShpKTtDZCh5LGkpfHxDKGkpO2NvbnN0W3cseF09VG4udXNlU3RhdGUobnVsbCksW0YsQV09VG4udXNlU3RhdGUobnVsbCksRD1Ubi51c2VDYWxsYmFjayhXPT57VyE9PU0uY3VycmVudCYmKE0uY3VycmVudD1XLHgoVykpfSxbXSksQj1Ubi51c2VDYWxsYmFjayhXPT57VyE9PXouY3VycmVudCYmKHouY3VycmVudD1XLEEoVykpfSxbXSksVD1jfHx3LGs9ZHx8RixNPVRuLnVzZVJlZihudWxsKSx6PVRuLnVzZVJlZihudWxsKSxPPVRuLnVzZVJlZihnKSxyZT1tIT1udWxsLGVlPXRtKG0pLFo9dG0obyksdmU9dG0oaCksbWU9VG4udXNlQ2FsbGJhY2soKCk9PntpZighTS5jdXJyZW50fHwhei5jdXJyZW50KXJldHVybjtjb25zdCBXPXtwbGFjZW1lbnQ6dCxzdHJhdGVneTphLG1pZGRsZXdhcmU6eX07Wi5jdXJyZW50JiYoVy5wbGF0Zm9ybT1aLmN1cnJlbnQpLEJBKE0uY3VycmVudCx6LmN1cnJlbnQsVykudGhlbihYPT57Y29uc3QgZmU9ey4uLlgsaXNQb3NpdGlvbmVkOnZlLmN1cnJlbnQhPT0hMX07SC5jdXJyZW50JiYhQ2QoTy5jdXJyZW50LGZlKSYmKE8uY3VycmVudD1mZSxUQS5mbHVzaFN5bmMoKCk9PntiKGZlKX0pKX0pfSxbeSx0LGEsWix2ZV0pO0ZkKCgpPT57aD09PSExJiZPLmN1cnJlbnQuaXNQb3NpdGlvbmVkJiYoTy5jdXJyZW50LmlzUG9zaXRpb25lZD0hMSxiKFc9Pih7Li4uVyxpc1Bvc2l0aW9uZWQ6ITF9KSkpfSxbaF0pO2NvbnN0IEg9VG4udXNlUmVmKCExKTtGZCgoKT0+KEguY3VycmVudD0hMCwoKT0+e0guY3VycmVudD0hMX0pLFtdKSxGZCgoKT0+e2lmKFQmJihNLmN1cnJlbnQ9VCksayYmKHouY3VycmVudD1rKSxUJiZrKXtpZihlZS5jdXJyZW50KXJldHVybiBlZS5jdXJyZW50KFQsayxtZSk7bWUoKX19LFtULGssbWUsZWUscmVdKTtjb25zdCB0ZT1Ubi51c2VNZW1vKCgpPT4oe3JlZmVyZW5jZTpNLGZsb2F0aW5nOnosc2V0UmVmZXJlbmNlOkQsc2V0RmxvYXRpbmc6Qn0pLFtELEJdKSxJPVRuLnVzZU1lbW8oKCk9Pih7cmVmZXJlbmNlOlQsZmxvYXRpbmc6a30pLFtULGtdKSxVPVRuLnVzZU1lbW8oKCk9Pntjb25zdCBXPXtwb3NpdGlvbjphLGxlZnQ6MCx0b3A6MH07aWYoIUkuZmxvYXRpbmcpcmV0dXJuIFc7Y29uc3QgWD1tYihJLmZsb2F0aW5nLGcueCksZmU9bWIoSS5mbG9hdGluZyxnLnkpO3JldHVybiBmP3suLi5XLHRyYW5zZm9ybToidHJhbnNsYXRlKCIrWCsicHgsICIrZmUrInB4KSIsLi4udmIoSS5mbG9hdGluZyk+PTEuNSYme3dpbGxDaGFuZ2U6InRyYW5zZm9ybSJ9fTp7cG9zaXRpb246YSxsZWZ0OlgsdG9wOmZlfX0sW2EsZixJLmZsb2F0aW5nLGcueCxnLnldKTtyZXR1cm4gVG4udXNlTWVtbygoKT0+KHsuLi5nLHVwZGF0ZTptZSxyZWZzOnRlLGVsZW1lbnRzOkksZmxvYXRpbmdTdHlsZXM6VX0pLFtnLG1lLHRlLEksVV0pfXZhciBfQT1lPT57ZnVuY3Rpb24gdChhKXtyZXR1cm57fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsImN1cnJlbnQiKX1yZXR1cm57bmFtZToiYXJyb3ciLG9wdGlvbnM6ZSxmbihhKXtjb25zdHtlbGVtZW50OmkscGFkZGluZzpvfT10eXBlb2YgZT09ImZ1bmN0aW9uIj9lKGEpOmU7cmV0dXJuIGkmJnQoaSk/aS5jdXJyZW50IT1udWxsP3BiKHtlbGVtZW50OmkuY3VycmVudCxwYWRkaW5nOm99KS5mbihhKTp7fTppP3BiKHtlbGVtZW50OmkscGFkZGluZzpvfSkuZm4oYSk6e319fX0sTkE9KGUsdCk9Pntjb25zdCBhPUVBKGUpO3JldHVybntuYW1lOmEubmFtZSxmbjphLmZuLG9wdGlvbnM6W2UsdF19fSxSQT0oZSx0KT0+e2NvbnN0IGE9RkEoZSk7cmV0dXJue25hbWU6YS5uYW1lLGZuOmEuZm4sb3B0aW9uczpbZSx0XX19LElBPShlLHQpPT4oe2ZuOlNBKGUpLmZuLG9wdGlvbnM6W2UsdF19KSxMQT0oZSx0KT0+e2NvbnN0IGE9Q0EoZSk7cmV0dXJue25hbWU6YS5uYW1lLGZuOmEuZm4sb3B0aW9uczpbZSx0XX19LHpBPShlLHQpPT57Y29uc3QgYT1EQShlKTtyZXR1cm57bmFtZTphLm5hbWUsZm46YS5mbixvcHRpb25zOltlLHRdfX0sSEE9KGUsdCk9Pntjb25zdCBhPUFBKGUpO3JldHVybntuYW1lOmEubmFtZSxmbjphLmZuLG9wdGlvbnM6W2UsdF19fSxxQT0oZSx0KT0+e2NvbnN0IGE9X0EoZSk7cmV0dXJue25hbWU6YS5uYW1lLGZuOmEuZm4sb3B0aW9uczpbZSx0XX19LFBBPWxlKEFlKCksMSksaGI9bGUocWUoKSwxKSxVQT0iQXJyb3ciLGdiPVBBLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtjaGlsZHJlbjphLHdpZHRoOmk9MTAsaGVpZ2h0Om89NSwuLi5jfT1lO3JldHVybigwLGhiLmpzeCkoSGUuc3ZnLHsuLi5jLHJlZjp0LHdpZHRoOmksaGVpZ2h0Om8sdmlld0JveDoiMCAwIDMwIDEwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIixjaGlsZHJlbjplLmFzQ2hpbGQ/YTooMCxoYi5qc3gpKCJwb2x5Z29uIix7cG9pbnRzOiIwLDAgMzAsMCAxNSwxMCJ9KX0pfSk7Z2IuZGlzcGxheU5hbWU9VUE7dmFyIFZBPWdiLEdBPWxlKEFlKCksMSk7ZnVuY3Rpb24gYmIoZSl7Y29uc3RbdCxhXT1HQS51c2VTdGF0ZSh2b2lkIDApO3JldHVybiAkdCgoKT0+e2lmKGUpe2Eoe3dpZHRoOmUub2Zmc2V0V2lkdGgsaGVpZ2h0OmUub2Zmc2V0SGVpZ2h0fSk7Y29uc3QgaT1uZXcgUmVzaXplT2JzZXJ2ZXIobz0+e2lmKCFBcnJheS5pc0FycmF5KG8pfHwhby5sZW5ndGgpcmV0dXJuO2NvbnN0IGM9b1swXTtsZXQgZCxmO2lmKCJib3JkZXJCb3hTaXplImluIGMpe2NvbnN0IG09Yy5ib3JkZXJCb3hTaXplLGg9QXJyYXkuaXNBcnJheShtKT9tWzBdOm07ZD1oLmlubGluZVNpemUsZj1oLmJsb2NrU2l6ZX1lbHNlIGQ9ZS5vZmZzZXRXaWR0aCxmPWUub2Zmc2V0SGVpZ2h0O2Eoe3dpZHRoOmQsaGVpZ2h0OmZ9KX0pO3JldHVybiBpLm9ic2VydmUoZSx7Ym94OiJib3JkZXItYm94In0pLCgpPT5pLnVub2JzZXJ2ZShlKX1lbHNlIGEodm9pZCAwKX0sW2VdKSx0fXZhciBBdT1sZShxZSgpLDEpLG5tPSJQb3BwZXIiLFt5YixEZF09U3Iobm0pLFtZQSx3Yl09eWIobm0pLHhiPWU9Pntjb25zdHtfX3Njb3BlUG9wcGVyOnQsY2hpbGRyZW46YX09ZSxbaSxvXT1iYS51c2VTdGF0ZShudWxsKSxbYyxkXT1iYS51c2VTdGF0ZSh2b2lkIDApO3JldHVybigwLEF1LmpzeCkoWUEse3Njb3BlOnQsYW5jaG9yOmksb25BbmNob3JDaGFuZ2U6byxwbGFjZW1lbnRTdGF0ZTpjLHNldFBsYWNlbWVudFN0YXRlOmQsY2hpbGRyZW46YX0pfTt4Yi5kaXNwbGF5TmFtZT1ubTt2YXIgRWI9IlBvcHBlckFuY2hvciIsRmI9YmEuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVQb3BwZXI6YSx2aXJ0dWFsUmVmOmksLi4ub309ZSxjPXdiKEViLGEpLGQ9YmEudXNlUmVmKG51bGwpLGY9Yy5vbkFuY2hvckNoYW5nZSxtPWJhLnVzZUNhbGxiYWNrKHc9PntkLmN1cnJlbnQ9dyx3JiZmKHcpfSxbZl0pLGg9YnQodCxtKSxnPWJhLnVzZVJlZihudWxsKTtiYS51c2VFZmZlY3QoKCk9PntpZighaSlyZXR1cm47Y29uc3Qgdz1nLmN1cnJlbnQ7Zy5jdXJyZW50PWkuY3VycmVudCx3IT09Zy5jdXJyZW50JiZmKGcuY3VycmVudCl9KTtjb25zdCBiPWMucGxhY2VtZW50U3RhdGUmJnJtKGMucGxhY2VtZW50U3RhdGUpLHk9Yj8uWzBdLEM9Yj8uWzFdO3JldHVybiBpP251bGw6KDAsQXUuanN4KShIZS5kaXYseyJkYXRhLXJhZGl4LXBvcHBlci1zaWRlIjp5LCJkYXRhLXJhZGl4LXBvcHBlci1hbGlnbiI6QywuLi5vLHJlZjpofSl9KTtGYi5kaXNwbGF5TmFtZT1FYjt2YXIgYW09IlBvcHBlckNvbnRlbnQiLFtXQSxLQV09eWIoYW0pLENiPWJhLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlUG9wcGVyOmEsc2lkZTppPSJib3R0b20iLHNpZGVPZmZzZXQ6bz0wLGFsaWduOmM9ImNlbnRlciIsYWxpZ25PZmZzZXQ6ZD0wLGFycm93UGFkZGluZzpmPTAsYXZvaWRDb2xsaXNpb25zOm09ITAsY29sbGlzaW9uQm91bmRhcnk6aD1bXSxjb2xsaXNpb25QYWRkaW5nOmc9MCxzdGlja3k6Yj0icGFydGlhbCIsaGlkZVdoZW5EZXRhY2hlZDp5PSExLHVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3k6Qz0ib3B0aW1pemVkIixvblBsYWNlZDp3LC4uLnh9PWUsRj13YihhbSxhKSxbQSxEXT1iYS51c2VTdGF0ZShudWxsKSxCPWJ0KHQsRCksW1Qsa109YmEudXNlU3RhdGUobnVsbCksTT1iYihUKSx6PU0/LndpZHRoPz8wLE89TT8uaGVpZ2h0Pz8wLHJlPWkrKGMhPT0iY2VudGVyIj8iLSIrYzoiIiksZWU9dHlwZW9mIGc9PSJudW1iZXIiP2c6e3RvcDowLHJpZ2h0OjAsYm90dG9tOjAsbGVmdDowLC4uLmd9LFo9QXJyYXkuaXNBcnJheShoKT9oOltoXSx2ZT1aLmxlbmd0aD4wLG1lPXtwYWRkaW5nOmVlLGJvdW5kYXJ5OlouZmlsdGVyKFhBKSxhbHRCb3VuZGFyeTp2ZX0se3JlZnM6SCxmbG9hdGluZ1N0eWxlczp0ZSxwbGFjZW1lbnQ6SSxpc1Bvc2l0aW9uZWQ6VSxtaWRkbGV3YXJlRGF0YTpXfT1PQSh7c3RyYXRlZ3k6ImZpeGVkIixwbGFjZW1lbnQ6cmUsd2hpbGVFbGVtZW50c01vdW50ZWQ6KC4uLmRlKT0+eEEoLi4uZGUse2FuaW1hdGlvbkZyYW1lOkM9PT0iYWx3YXlzIn0pLGVsZW1lbnRzOntyZWZlcmVuY2U6Ri5hbmNob3J9LG1pZGRsZXdhcmU6W05BKHttYWluQXhpczpvK08sYWxpZ25tZW50QXhpczpkfSksbSYmUkEoe21haW5BeGlzOiEwLGNyb3NzQXhpczohMSxsaW1pdGVyOmI9PT0icGFydGlhbCI/SUEoKTp2b2lkIDAsLi4ubWV9KSxtJiZMQSh7Li4ubWV9KSx6QSh7Li4ubWUsYXBwbHk6KHtlbGVtZW50czpkZSxyZWN0czp4ZSxhdmFpbGFibGVXaWR0aDp5ZSxhdmFpbGFibGVIZWlnaHQ6RmV9KT0+e2NvbnN0e3dpZHRoOk5lLGhlaWdodDpydH09eGUucmVmZXJlbmNlLGN0PWRlLmZsb2F0aW5nLnN0eWxlO2N0LnNldFByb3BlcnR5KCItLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgiLGAke3llfXB4YCksY3Quc2V0UHJvcGVydHkoIi0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS1oZWlnaHQiLGAke0ZlfXB4YCksY3Quc2V0UHJvcGVydHkoIi0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aCIsYCR7TmV9cHhgKSxjdC5zZXRQcm9wZXJ0eSgiLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCIsYCR7cnR9cHhgKX19KSxUJiZxQSh7ZWxlbWVudDpULHBhZGRpbmc6Zn0pLCRBKHthcnJvd1dpZHRoOnosYXJyb3dIZWlnaHQ6T30pLHkmJkhBKHtzdHJhdGVneToicmVmZXJlbmNlSGlkZGVuIiwuLi5tZSxib3VuZGFyeTp2ZT9tZS5ib3VuZGFyeTp2b2lkIDB9KV19KSxYPUYuc2V0UGxhY2VtZW50U3RhdGU7JHQoKCk9PihYKEkpLCgpPT57WCh2b2lkIDApfSksW0ksWF0pO2NvbnN0W2ZlLGdlXT1ybShJKSxqPVVuKHcpOyR0KCgpPT57VSYmaj8uKCl9LFtVLGpdKTtjb25zdCBZPVcuYXJyb3c/Lngsc2U9Vy5hcnJvdz8ueSxRPVcuYXJyb3c/LmNlbnRlck9mZnNldCE9PTAsW2NlLEpdPWJhLnVzZVN0YXRlKCk7cmV0dXJuICR0KCgpPT57QSYmSih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShBKS56SW5kZXgpfSxbQV0pLCgwLEF1LmpzeCkoImRpdiIse3JlZjpILnNldEZsb2F0aW5nLCJkYXRhLXJhZGl4LXBvcHBlci1jb250ZW50LXdyYXBwZXIiOiIiLHN0eWxlOnsuLi50ZSx0cmFuc2Zvcm06VT90ZS50cmFuc2Zvcm06InRyYW5zbGF0ZSgwLCAtMjAwJSkiLG1pbldpZHRoOiJtYXgtY29udGVudCIsekluZGV4OmNlLCItLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luIjpbVy50cmFuc2Zvcm1PcmlnaW4/LngsVy50cmFuc2Zvcm1PcmlnaW4/LnldLmpvaW4oIiAiKSwuLi5XLmhpZGU/LnJlZmVyZW5jZUhpZGRlbiYme3Zpc2liaWxpdHk6ImhpZGRlbiIscG9pbnRlckV2ZW50czoibm9uZSJ9fSxkaXI6ZS5kaXIsY2hpbGRyZW46KDAsQXUuanN4KShXQSx7c2NvcGU6YSxwbGFjZWRTaWRlOmZlLHBsYWNlZEFsaWduOmdlLG9uQXJyb3dDaGFuZ2U6ayxhcnJvd1g6WSxhcnJvd1k6c2Usc2hvdWxkSGlkZUFycm93OlEsY2hpbGRyZW46KDAsQXUuanN4KShIZS5kaXYseyJkYXRhLXNpZGUiOmZlLCJkYXRhLWFsaWduIjpnZSwuLi54LHJlZjpCLHN0eWxlOnsuLi54LnN0eWxlLGFuaW1hdGlvbjpVP3ZvaWQgMDoibm9uZSJ9fSl9KX0pfSk7Q2IuZGlzcGxheU5hbWU9YW07dmFyIERiPSJQb3BwZXJBcnJvdyIsUUE9e3RvcDoiYm90dG9tIixyaWdodDoibGVmdCIsYm90dG9tOiJ0b3AiLGxlZnQ6InJpZ2h0In0sQWI9YmEuZm9yd2FyZFJlZihmdW5jdGlvbih0LGEpe2NvbnN0e19fc2NvcGVQb3BwZXI6aSwuLi5vfT10LGM9S0EoRGIsaSksZD1RQVtjLnBsYWNlZFNpZGVdO3JldHVybigwLEF1LmpzeCkoInNwYW4iLHtyZWY6Yy5vbkFycm93Q2hhbmdlLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6Yy5hcnJvd1gsdG9wOmMuYXJyb3dZLFtkXTowLHRyYW5zZm9ybU9yaWdpbjp7dG9wOiIiLHJpZ2h0OiIwIDAiLGJvdHRvbToiY2VudGVyIDAiLGxlZnQ6IjEwMCUgMCJ9W2MucGxhY2VkU2lkZV0sdHJhbnNmb3JtOnt0b3A6InRyYW5zbGF0ZVkoMTAwJSkiLHJpZ2h0OiJ0cmFuc2xhdGVZKDUwJSkgcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKC01MCUpIixib3R0b206InJvdGF0ZSgxODBkZWcpIixsZWZ0OiJ0cmFuc2xhdGVZKDUwJSkgcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCg1MCUpIn1bYy5wbGFjZWRTaWRlXSx2aXNpYmlsaXR5OmMuc2hvdWxkSGlkZUFycm93PyJoaWRkZW4iOnZvaWQgMH0sY2hpbGRyZW46KDAsQXUuanN4KShWQSx7Li4ubyxyZWY6YSxzdHlsZTp7Li4uby5zdHlsZSxkaXNwbGF5OiJibG9jayJ9fSl9KX0pO0FiLmRpc3BsYXlOYW1lPURiO2Z1bmN0aW9uIFhBKGUpe3JldHVybiBlIT09bnVsbH12YXIgJEE9ZT0+KHtuYW1lOiJ0cmFuc2Zvcm1PcmlnaW4iLG9wdGlvbnM6ZSxmbih0KXtjb25zdHtwbGFjZW1lbnQ6YSxyZWN0czppLG1pZGRsZXdhcmVEYXRhOm99PXQsZD1vLmFycm93Py5jZW50ZXJPZmZzZXQhPT0wLGY9ZD8wOmUuYXJyb3dXaWR0aCxtPWQ/MDplLmFycm93SGVpZ2h0LFtoLGddPXJtKGEpLGI9e3N0YXJ0OiIwJSIsY2VudGVyOiI1MCUiLGVuZDoiMTAwJSJ9W2ddLHk9KG8uYXJyb3c/Lng/PzApK2YvMixDPShvLmFycm93Py55Pz8wKSttLzI7bGV0IHc9IiIseD0iIjtyZXR1cm4gaD09PSJib3R0b20iPyh3PWQ/YjpgJHt5fXB4YCx4PWAkey1tfXB4YCk6aD09PSJ0b3AiPyh3PWQ/YjpgJHt5fXB4YCx4PWAke2kuZmxvYXRpbmcuaGVpZ2h0K219cHhgKTpoPT09InJpZ2h0Ij8odz1gJHstbX1weGAseD1kP2I6YCR7Q31weGApOmg9PT0ibGVmdCImJih3PWAke2kuZmxvYXRpbmcud2lkdGgrbX1weGAseD1kP2I6YCR7Q31weGApLHtkYXRhOnt4OncseTp4fX19fSk7ZnVuY3Rpb24gcm0oZSl7Y29uc3RbdCxhPSJjZW50ZXIiXT1lLnNwbGl0KCItIik7cmV0dXJuW3QsYV19dmFyIFNiPXhiLGltPUZiLEJiPUNiLGtiPUFiLGVuPWxlKHFlKCksMSksQWQ9IlBvcG92ZXIiLFtUYixNTF09U3IoQWQsW0RkXSksaWw9RGQoKSxbWkEsd2ldPVRiKEFkKSxqYj1lPT57Y29uc3R7X19zY29wZVBvcG92ZXI6dCxjaGlsZHJlbjphLG9wZW46aSxkZWZhdWx0T3BlbjpvLG9uT3BlbkNoYW5nZTpjLG1vZGFsOmQ9ITF9PWUsZj1pbCh0KSxtPUp0LnVzZVJlZihudWxsKSxbaCxnXT1KdC51c2VTdGF0ZSghMSksW2IseV09bWkoe3Byb3A6aSxkZWZhdWx0UHJvcDpvPz8hMSxvbkNoYW5nZTpjLGNhbGxlcjpBZH0pO3JldHVybigwLGVuLmpzeCkoU2Isey4uLmYsY2hpbGRyZW46KDAsZW4uanN4KShaQSx7c2NvcGU6dCxjb250ZW50SWQ6QnIoKSx0cmlnZ2VyUmVmOm0sb3BlbjpiLG9uT3BlbkNoYW5nZTp5LG9uT3BlblRvZ2dsZTpKdC51c2VDYWxsYmFjaygoKT0+eShDPT4hQyksW3ldKSxoYXNDdXN0b21BbmNob3I6aCxvbkN1c3RvbUFuY2hvckFkZDpKdC51c2VDYWxsYmFjaygoKT0+ZyghMCksW10pLG9uQ3VzdG9tQW5jaG9yUmVtb3ZlOkp0LnVzZUNhbGxiYWNrKCgpPT5nKCExKSxbXSksbW9kYWw6ZCxjaGlsZHJlbjphfSl9KX07amIuZGlzcGxheU5hbWU9QWQ7dmFyIE1iPSJQb3BvdmVyQW5jaG9yIixKQT1KdC5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVBvcG92ZXI6YSwuLi5pfT1lLG89d2koTWIsYSksYz1pbChhKSx7b25DdXN0b21BbmNob3JBZGQ6ZCxvbkN1c3RvbUFuY2hvclJlbW92ZTpmfT1vO3JldHVybiBKdC51c2VFZmZlY3QoKCk9PihkKCksKCk9PmYoKSksW2QsZl0pLCgwLGVuLmpzeCkoaW0sey4uLmMsLi4uaSxyZWY6dH0pfSk7SkEuZGlzcGxheU5hbWU9TWI7dmFyIE9iPSJQb3BvdmVyVHJpZ2dlciIsX2I9SnQuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVQb3BvdmVyOmEsLi4uaX09ZSxvPXdpKE9iLGEpLGM9aWwoYSksZD1idCh0LG8udHJpZ2dlclJlZiksZj0oMCxlbi5qc3gpKEhlLmJ1dHRvbix7dHlwZToiYnV0dG9uIiwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyIsImFyaWEtZXhwYW5kZWQiOm8ub3BlbiwiYXJpYS1jb250cm9scyI6by5vcGVuP28uY29udGVudElkOnZvaWQgMCwiZGF0YS1zdGF0ZSI6SGIoby5vcGVuKSwuLi5pLHJlZjpkLG9uQ2xpY2s6X2UoZS5vbkNsaWNrLG8ub25PcGVuVG9nZ2xlKX0pO3JldHVybiBvLmhhc0N1c3RvbUFuY2hvcj9mOigwLGVuLmpzeCkoaW0se2FzQ2hpbGQ6ITAsLi4uYyxjaGlsZHJlbjpmfSl9KTtfYi5kaXNwbGF5TmFtZT1PYjt2YXIgdW09IlBvcG92ZXJQb3J0YWwiLFtlUyx0U109VGIodW0se2ZvcmNlTW91bnQ6dm9pZCAwfSksTmI9ZT0+e2NvbnN0e19fc2NvcGVQb3BvdmVyOnQsZm9yY2VNb3VudDphLGNoaWxkcmVuOmksY29udGFpbmVyOm99PWUsYz13aSh1bSx0KTtyZXR1cm4oMCxlbi5qc3gpKGVTLHtzY29wZTp0LGZvcmNlTW91bnQ6YSxjaGlsZHJlbjooMCxlbi5qc3gpKGtyLHtwcmVzZW50OmF8fGMub3BlbixjaGlsZHJlbjooMCxlbi5qc3gpKEpzLHthc0NoaWxkOiEwLGNvbnRhaW5lcjpvLGNoaWxkcmVuOml9KX0pfSl9O05iLmRpc3BsYXlOYW1lPXVtO3ZhciBqbz0iUG9wb3ZlckNvbnRlbnQiLFJiPUp0LmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdCBhPXRTKGpvLGUuX19zY29wZVBvcG92ZXIpLHtmb3JjZU1vdW50Omk9YS5mb3JjZU1vdW50LC4uLm99PWUsYz13aShqbyxlLl9fc2NvcGVQb3BvdmVyKTtyZXR1cm4oMCxlbi5qc3gpKGtyLHtwcmVzZW50Oml8fGMub3BlbixjaGlsZHJlbjpjLm1vZGFsPygwLGVuLmpzeCkoYVMsey4uLm8scmVmOnR9KTooMCxlbi5qc3gpKHJTLHsuLi5vLHJlZjp0fSl9KX0pO1JiLmRpc3BsYXlOYW1lPWpvO3ZhciBuUz13bygiUG9wb3ZlckNvbnRlbnQuUmVtb3ZlU2Nyb2xsIiksYVM9SnQuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IGE9d2koam8sZS5fX3Njb3BlUG9wb3ZlciksaT1KdC51c2VSZWYobnVsbCksbz1idCh0LGkpLGM9SnQudXNlUmVmKCExKTtyZXR1cm4gSnQudXNlRWZmZWN0KCgpPT57Y29uc3QgZD1pLmN1cnJlbnQ7aWYoZClyZXR1cm4gUnYoZCl9LFtdKSwoMCxlbi5qc3gpKF92LHthczpuUyxhbGxvd1BpbmNoWm9vbTohMCxjaGlsZHJlbjooMCxlbi5qc3gpKEliLHsuLi5lLHJlZjpvLHRyYXBGb2N1czphLm9wZW4sZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiEwLG9uQ2xvc2VBdXRvRm9jdXM6X2UoZS5vbkNsb3NlQXV0b0ZvY3VzLGQ9PntkLnByZXZlbnREZWZhdWx0KCksYy5jdXJyZW50fHxhLnRyaWdnZXJSZWYuY3VycmVudD8uZm9jdXMoKX0pLG9uUG9pbnRlckRvd25PdXRzaWRlOl9lKGUub25Qb2ludGVyRG93bk91dHNpZGUsZD0+e2NvbnN0IGY9ZC5kZXRhaWwub3JpZ2luYWxFdmVudCxtPWYuYnV0dG9uPT09MCYmZi5jdHJsS2V5PT09ITAsaD1mLmJ1dHRvbj09PTJ8fG07Yy5jdXJyZW50PWh9LHtjaGVja0ZvckRlZmF1bHRQcmV2ZW50ZWQ6ITF9KSxvbkZvY3VzT3V0c2lkZTpfZShlLm9uRm9jdXNPdXRzaWRlLGQ9PmQucHJldmVudERlZmF1bHQoKSx7Y2hlY2tGb3JEZWZhdWx0UHJldmVudGVkOiExfSl9KX0pfSksclM9SnQuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IGE9d2koam8sZS5fX3Njb3BlUG9wb3ZlciksaT1KdC51c2VSZWYoITEpLG89SnQudXNlUmVmKCExKTtyZXR1cm4oMCxlbi5qc3gpKEliLHsuLi5lLHJlZjp0LHRyYXBGb2N1czohMSxkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6ITEsb25DbG9zZUF1dG9Gb2N1czpjPT57ZS5vbkNsb3NlQXV0b0ZvY3VzPy4oYyksYy5kZWZhdWx0UHJldmVudGVkfHwoaS5jdXJyZW50fHxhLnRyaWdnZXJSZWYuY3VycmVudD8uZm9jdXMoKSxjLnByZXZlbnREZWZhdWx0KCkpLGkuY3VycmVudD0hMSxvLmN1cnJlbnQ9ITF9LG9uSW50ZXJhY3RPdXRzaWRlOmM9PntlLm9uSW50ZXJhY3RPdXRzaWRlPy4oYyksYy5kZWZhdWx0UHJldmVudGVkfHwoaS5jdXJyZW50PSEwLGMuZGV0YWlsLm9yaWdpbmFsRXZlbnQudHlwZT09PSJwb2ludGVyZG93biImJihvLmN1cnJlbnQ9ITApKTtjb25zdCBkPWMudGFyZ2V0O2EudHJpZ2dlclJlZi5jdXJyZW50Py5jb250YWlucyhkKSYmYy5wcmV2ZW50RGVmYXVsdCgpLGMuZGV0YWlsLm9yaWdpbmFsRXZlbnQudHlwZT09PSJmb2N1c2luIiYmby5jdXJyZW50JiZjLnByZXZlbnREZWZhdWx0KCl9fSl9KSxJYj1KdC5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVBvcG92ZXI6YSx0cmFwRm9jdXM6aSxvbk9wZW5BdXRvRm9jdXM6byxvbkNsb3NlQXV0b0ZvY3VzOmMsZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOmQsb25Fc2NhcGVLZXlEb3duOmYsb25Qb2ludGVyRG93bk91dHNpZGU6bSxvbkZvY3VzT3V0c2lkZTpoLG9uSW50ZXJhY3RPdXRzaWRlOmcsLi4uYn09ZSx5PXdpKGpvLGEpLEM9aWwoYSk7cmV0dXJuIEJ2KCksKDAsZW4uanN4KShyZCx7YXNDaGlsZDohMCxsb29wOiEwLHRyYXBwZWQ6aSxvbk1vdW50QXV0b0ZvY3VzOm8sb25Vbm1vdW50QXV0b0ZvY3VzOmMsY2hpbGRyZW46KDAsZW4uanN4KShacyx7YXNDaGlsZDohMCxkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6ZCxvbkludGVyYWN0T3V0c2lkZTpnLG9uRXNjYXBlS2V5RG93bjpmLG9uUG9pbnRlckRvd25PdXRzaWRlOm0sb25Gb2N1c091dHNpZGU6aCxvbkRpc21pc3M6KCk9Pnkub25PcGVuQ2hhbmdlKCExKSxkZWZlclBvaW50ZXJEb3duT3V0c2lkZTohMCxjaGlsZHJlbjooMCxlbi5qc3gpKEJiLHsiZGF0YS1zdGF0ZSI6SGIoeS5vcGVuKSxyb2xlOiJkaWFsb2ciLGlkOnkuY29udGVudElkLC4uLkMsLi4uYixyZWY6dCxzdHlsZTp7Li4uYi5zdHlsZSwiLS1yYWRpeC1wb3BvdmVyLWNvbnRlbnQtdHJhbnNmb3JtLW9yaWdpbiI6InZhcigtLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luKSIsIi0tcmFkaXgtcG9wb3Zlci1jb250ZW50LWF2YWlsYWJsZS13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgpIiwiLS1yYWRpeC1wb3BvdmVyLWNvbnRlbnQtYXZhaWxhYmxlLWhlaWdodCI6InZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtaGVpZ2h0KSIsIi0tcmFkaXgtcG9wb3Zlci10cmlnZ2VyLXdpZHRoIjoidmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aCkiLCItLXJhZGl4LXBvcG92ZXItdHJpZ2dlci1oZWlnaHQiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCkifX0pfSl9KX0pLExiPSJQb3BvdmVyQ2xvc2UiLGlTPUp0LmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlUG9wb3ZlcjphLC4uLml9PWUsbz13aShMYixhKTtyZXR1cm4oMCxlbi5qc3gpKEhlLmJ1dHRvbix7dHlwZToiYnV0dG9uIiwuLi5pLHJlZjp0LG9uQ2xpY2s6X2UoZS5vbkNsaWNrLCgpPT5vLm9uT3BlbkNoYW5nZSghMSkpfSl9KTtpUy5kaXNwbGF5TmFtZT1MYjt2YXIgdVM9IlBvcG92ZXJBcnJvdyIsemI9SnQuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVQb3BvdmVyOmEsLi4uaX09ZSxvPWlsKGEpO3JldHVybigwLGVuLmpzeCkoa2Isey4uLm8sLi4uaSxyZWY6dH0pfSk7emIuZGlzcGxheU5hbWU9dVM7ZnVuY3Rpb24gSGIoZSl7cmV0dXJuIGU/Im9wZW4iOiJjbG9zZWQifXZhciBvUz1qYixzUz1fYixsUz1OYixjUz1SYixkUz16Yix1bD1sZShxZSgpLDEpO2Z1bmN0aW9uIHFiKHt0cmlnZ2VyOmUsY2hpbGRyZW46dCxhcmlhTGFiZWw6YSxhbGlnbjppPSJjZW50ZXIiLHNpZGU6bz0iYm90dG9tIixzaWRlT2Zmc2V0OmM9OCxjbGFzc05hbWU6ZCxvcGVuOmYsY29udGVudElkOm0sY29udGVudFJvbGU6aCxmb3JjZU1vdW50OmcscG9ydGFsbGVkOmI9ITAsc2hvd0Fycm93Onk9ITAsb25PcGVuQ2hhbmdlOkN9KXtjb25zdCB3PW5sKCkseD0oMCx1bC5qc3hzKShjUyx7aWQ6bSxyb2xlOmgsZm9yY2VNb3VudDpnLGNsYXNzTmFtZTp4dSgid2FuZC11aS1wb3BvdmVyLWNvbnRlbnQiLGQpLCJhcmlhLWxhYmVsIjphLGFsaWduOmksc2lkZTpvLHNpZGVPZmZzZXQ6Yyxjb2xsaXNpb25QYWRkaW5nOjEyLGNoaWxkcmVuOlt0LHk/KDAsdWwuanN4KShkUyx7Y2xhc3NOYW1lOiJ3YW5kLXVpLXBvcG92ZXItYXJyb3cifSk6bnVsbF19KTtyZXR1cm4oMCx1bC5qc3hzKShvUyx7b3BlbjpmLG9uT3BlbkNoYW5nZTpDLGNoaWxkcmVuOlsoMCx1bC5qc3gpKHNTLHthc0NoaWxkOiEwLGNoaWxkcmVuOmV9KSxiPygwLHVsLmpzeCkobFMse2NvbnRhaW5lcjp3LGNoaWxkcmVuOnh9KTp4XX0pfXZhciB3ZT1sZShBZSgpLDEpLFBiPWxlKGRpKCksMSk7ZnVuY3Rpb24gVWIoZSxbdCxhXSl7cmV0dXJuIE1hdGgubWluKGEsTWF0aC5tYXgodCxlKSl9dmFyIFN1PWxlKEFlKCksMSksb209bGUocWUoKSwxKSxPTD1sZShBZSgpLDEpLF9MPWxlKHFlKCksMSk7ZnVuY3Rpb24gc20oZSl7Y29uc3QgdD1lKyJDb2xsZWN0aW9uUHJvdmlkZXIiLFthLGldPVNyKHQpLFtvLGNdPWEodCx7Y29sbGVjdGlvblJlZjp7Y3VycmVudDpudWxsfSxpdGVtTWFwOm5ldyBNYXB9KSxkPXg9Pntjb25zdHtzY29wZTpGLGNoaWxkcmVuOkF9PXgsRD1TdS51c2VSZWYobnVsbCksQj1TdS51c2VSZWYobmV3IE1hcCkuY3VycmVudDtyZXR1cm4oMCxvbS5qc3gpKG8se3Njb3BlOkYsaXRlbU1hcDpCLGNvbGxlY3Rpb25SZWY6RCxjaGlsZHJlbjpBfSl9O2QuZGlzcGxheU5hbWU9dDtjb25zdCBmPWUrIkNvbGxlY3Rpb25TbG90IixtPXdvKGYpLGg9U3UuZm9yd2FyZFJlZigoeCxGKT0+e2NvbnN0e3Njb3BlOkEsY2hpbGRyZW46RH09eCxCPWMoZixBKSxUPWJ0KEYsQi5jb2xsZWN0aW9uUmVmKTtyZXR1cm4oMCxvbS5qc3gpKG0se3JlZjpULGNoaWxkcmVuOkR9KX0pO2guZGlzcGxheU5hbWU9Zjtjb25zdCBnPWUrIkNvbGxlY3Rpb25JdGVtU2xvdCIsYj0iZGF0YS1yYWRpeC1jb2xsZWN0aW9uLWl0ZW0iLHk9d28oZyksQz1TdS5mb3J3YXJkUmVmKCh4LEYpPT57Y29uc3R7c2NvcGU6QSxjaGlsZHJlbjpELC4uLkJ9PXgsVD1TdS51c2VSZWYobnVsbCksaz1idChGLFQpLE09YyhnLEEpO3JldHVybiBTdS51c2VFZmZlY3QoKCk9PihNLml0ZW1NYXAuc2V0KFQse3JlZjpULC4uLkJ9KSwoKT0+e00uaXRlbU1hcC5kZWxldGUoVCl9KSksKDAsb20uanN4KSh5LHtbYl06IiIscmVmOmssY2hpbGRyZW46RH0pfSk7Qy5kaXNwbGF5TmFtZT1nO2Z1bmN0aW9uIHcoeCl7Y29uc3QgRj1jKGUrIkNvbGxlY3Rpb25Db25zdW1lciIseCk7cmV0dXJuIFN1LnVzZUNhbGxiYWNrKCgpPT57Y29uc3QgRD1GLmNvbGxlY3Rpb25SZWYuY3VycmVudDtpZighRClyZXR1cm5bXTtjb25zdCBCPUFycmF5LmZyb20oRC5xdWVyeVNlbGVjdG9yQWxsKGBbJHtifV1gKSk7cmV0dXJuIEFycmF5LmZyb20oRi5pdGVtTWFwLnZhbHVlcygpKS5zb3J0KChNLHopPT5CLmluZGV4T2YoTS5yZWYuY3VycmVudCktQi5pbmRleE9mKHoucmVmLmN1cnJlbnQpKX0sW0YuY29sbGVjdGlvblJlZixGLml0ZW1NYXBdKX1yZXR1cm5be1Byb3ZpZGVyOmQsU2xvdDpoLEl0ZW1TbG90OkN9LHcsaV19dmFyIFZiPWxlKEFlKCksMSksTkw9bGUocWUoKSwxKSxmUz1WYi5jcmVhdGVDb250ZXh0KHZvaWQgMCk7ZnVuY3Rpb24gbG0oZSl7Y29uc3QgdD1WYi51c2VDb250ZXh0KGZTKTtyZXR1cm4gZXx8dHx8Imx0ciJ9dmFyIEdiPWxlKEFlKCksMSk7ZnVuY3Rpb24gWWIoZSl7Y29uc3QgdD1HYi51c2VSZWYoe3ZhbHVlOmUscHJldmlvdXM6ZX0pO3JldHVybiBHYi51c2VNZW1vKCgpPT4odC5jdXJyZW50LnZhbHVlIT09ZSYmKHQuY3VycmVudC5wcmV2aW91cz10LmN1cnJlbnQudmFsdWUsdC5jdXJyZW50LnZhbHVlPWUpLHQuY3VycmVudC5wcmV2aW91cyksW2VdKX12YXIgcFM9bGUoQWUoKSwxKSx2Uz1sZShxZSgpLDEpLFdiPU9iamVjdC5mcmVlemUoe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYm9yZGVyOjAsd2lkdGg6MSxoZWlnaHQ6MSxwYWRkaW5nOjAsbWFyZ2luOi0xLG92ZXJmbG93OiJoaWRkZW4iLGNsaXA6InJlY3QoMCwgMCwgMCwgMCkiLHdoaXRlU3BhY2U6Im5vd3JhcCIsd29yZFdyYXA6Im5vcm1hbCJ9KSxtUz0iVmlzdWFsbHlIaWRkZW4iLGNtPXBTLmZvcndhcmRSZWYoKGUsdCk9PigwLHZTLmpzeCkoSGUuc3Bhbix7Li4uZSxyZWY6dCxzdHlsZTp7Li4uV2IsLi4uZS5zdHlsZX19KSk7Y20uZGlzcGxheU5hbWU9bVM7dmFyIE1lPWxlKHFlKCksMSksaFM9WyIgIiwiRW50ZXIiLCJBcnJvd1VwIiwiQXJyb3dEb3duIl0sZ1M9WyIgIiwiRW50ZXIiXSxCdT0iU2VsZWN0IixbU2QsQmQsYlNdPXNtKEJ1KSxba3UsUkxdPVNyKEJ1LFtiUyxEZF0pLGtkPURkKCksW3lTLHhpXT1rdShCdSksW3dTLHhTXT1rdShCdSksRVM9IlNlbGVjdFByb3ZpZGVyIjtmdW5jdGlvbiBLYihlKXtjb25zdHtfX3Njb3BlU2VsZWN0OnQsY2hpbGRyZW46YSxvcGVuOmksZGVmYXVsdE9wZW46byxvbk9wZW5DaGFuZ2U6Yyx2YWx1ZTpkLGRlZmF1bHRWYWx1ZTpmLG9uVmFsdWVDaGFuZ2U6bSxkaXI6aCxuYW1lOmcsYXV0b0NvbXBsZXRlOmIsZGlzYWJsZWQ6eSxyZXF1aXJlZDpDLGZvcm06dyxpbnRlcm5hbF9kb19ub3RfdXNlX3JlbmRlcjp4fT1lLEY9a2QodCksW0EsRF09d2UudXNlU3RhdGUobnVsbCksW0IsVF09d2UudXNlU3RhdGUobnVsbCksW2ssTV09d2UudXNlU3RhdGUoITEpLHo9bG0oaCksW08scmVdPW1pKHtwcm9wOmksZGVmYXVsdFByb3A6bz8/ITEsb25DaGFuZ2U6YyxjYWxsZXI6QnV9KSxbZWUsWl09bWkoe3Byb3A6ZCxkZWZhdWx0UHJvcDpmLG9uQ2hhbmdlOm0sY2FsbGVyOkJ1fSksdmU9d2UudXNlUmVmKG51bGwpLG1lPXdlLnVzZVJlZihlZSk7d2UudXNlRWZmZWN0KCgpPT57Y29uc3Qgaj13P0E/Lm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodyk6QT8uZm9ybTtpZihqIGluc3RhbmNlb2YgSFRNTEZvcm1FbGVtZW50KXtjb25zdCBZPSgpPT5aKG1lLmN1cnJlbnQpO3JldHVybiBqLmFkZEV2ZW50TGlzdGVuZXIoInJlc2V0IixZKSwoKT0+ai5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNldCIsWSl9fSxbdyxBLFpdKTtjb25zdCBIPUE/ISF3fHwhIUEuY2xvc2VzdCgiZm9ybSIpOiEwLFt0ZSxJXT13ZS51c2VTdGF0ZShuZXcgU2V0KSxVPUJyKCksVz1BcnJheS5mcm9tKHRlKS5tYXAoaj0+ai5wcm9wcy52YWx1ZSkuam9pbigiOyIpLFg9d2UudXNlQ2FsbGJhY2soaj0+e0koWT0+bmV3IFNldChZKS5hZGQoaikpfSxbXSksZmU9d2UudXNlQ2FsbGJhY2soaj0+e0koWT0+e2NvbnN0IHNlPW5ldyBTZXQoWSk7cmV0dXJuIHNlLmRlbGV0ZShqKSxzZX0pfSxbXSksZ2U9e3JlcXVpcmVkOkMsdHJpZ2dlcjpBLG9uVHJpZ2dlckNoYW5nZTpELHZhbHVlTm9kZTpCLG9uVmFsdWVOb2RlQ2hhbmdlOlQsdmFsdWVOb2RlSGFzQ2hpbGRyZW46ayxvblZhbHVlTm9kZUhhc0NoaWxkcmVuQ2hhbmdlOk0sY29udGVudElkOlUsdmFsdWU6ZWUsb25WYWx1ZUNoYW5nZTpaLG9wZW46Tyxvbk9wZW5DaGFuZ2U6cmUsZGlyOnosdHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmOnZlLGRpc2FibGVkOnksbmFtZTpnLGF1dG9Db21wbGV0ZTpiLGZvcm06dyxuYXRpdmVPcHRpb25zOnRlLG5hdGl2ZVNlbGVjdEtleTpXLGlzRm9ybUNvbnRyb2w6SH07cmV0dXJuKDAsTWUuanN4KShTYix7Li4uRixjaGlsZHJlbjooMCxNZS5qc3gpKHlTLHtzY29wZTp0LC4uLmdlLGNoaWxkcmVuOigwLE1lLmpzeCkoU2QuUHJvdmlkZXIse3Njb3BlOnQsY2hpbGRyZW46KDAsTWUuanN4KSh3Uyx7c2NvcGU6dCxvbk5hdGl2ZU9wdGlvbkFkZDpYLG9uTmF0aXZlT3B0aW9uUmVtb3ZlOmZlLGNoaWxkcmVuOnpTKHgpP3goZ2UpOmF9KX0pfSl9KX1LYi5kaXNwbGF5TmFtZT1FUzt2YXIgUWI9ZT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6dCxjaGlsZHJlbjphLC4uLml9PWU7cmV0dXJuKDAsTWUuanN4KShLYix7X19zY29wZVNlbGVjdDp0LC4uLmksaW50ZXJuYWxfZG9fbm90X3VzZV9yZW5kZXI6KHtpc0Zvcm1Db250cm9sOm99KT0+KDAsTWUuanN4cykoTWUuRnJhZ21lbnQse2NoaWxkcmVuOlthLG8/KDAsTWUuanN4KSh4eSx7X19zY29wZVNlbGVjdDp0fSk6bnVsbF19KX0pfTtRYi5kaXNwbGF5TmFtZT1CdTt2YXIgWGI9IlNlbGVjdFRyaWdnZXIiLCRiPXdlLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OmEsZGlzYWJsZWQ6aT0hMSwuLi5vfT1lLGM9a2QoYSksZD14aShYYixhKSxmPWQuZGlzYWJsZWR8fGksbT1idCh0LGQub25UcmlnZ2VyQ2hhbmdlKSxoPUJkKGEpLGc9d2UudXNlUmVmKCJ0b3VjaCIpLFtiLHksQ109RXkoeD0+e2NvbnN0IEY9aCgpLmZpbHRlcihCPT4hQi5kaXNhYmxlZCksQT1GLmZpbmQoQj0+Qi52YWx1ZT09PWQudmFsdWUpLEQ9RnkoRix4LEEpO0QhPT12b2lkIDAmJmQub25WYWx1ZUNoYW5nZShELnZhbHVlKX0pLHc9eD0+e2Z8fChkLm9uT3BlbkNoYW5nZSghMCksQygpKSx4JiYoZC50cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWYuY3VycmVudD17eDpNYXRoLnJvdW5kKHgucGFnZVgpLHk6TWF0aC5yb3VuZCh4LnBhZ2VZKX0pfTtyZXR1cm4oMCxNZS5qc3gpKGltLHthc0NoaWxkOiEwLC4uLmMsY2hpbGRyZW46KDAsTWUuanN4KShIZS5idXR0b24se3R5cGU6ImJ1dHRvbiIscm9sZToiY29tYm9ib3giLCJhcmlhLWNvbnRyb2xzIjpkLm9wZW4/ZC5jb250ZW50SWQ6dm9pZCAwLCJhcmlhLWV4cGFuZGVkIjpkLm9wZW4sImFyaWEtcmVxdWlyZWQiOmQucmVxdWlyZWQsImFyaWEtYXV0b2NvbXBsZXRlIjoibm9uZSIsZGlyOmQuZGlyLCJkYXRhLXN0YXRlIjpkLm9wZW4/Im9wZW4iOiJjbG9zZWQiLGRpc2FibGVkOmYsImRhdGEtZGlzYWJsZWQiOmY/IiI6dm9pZCAwLCJkYXRhLXBsYWNlaG9sZGVyIjpqZChkLnZhbHVlKT8iIjp2b2lkIDAsLi4ubyxyZWY6bSxvbkNsaWNrOl9lKG8ub25DbGljayx4PT57eC5jdXJyZW50VGFyZ2V0LmZvY3VzKCksZy5jdXJyZW50IT09Im1vdXNlIiYmdyh4KX0pLG9uUG9pbnRlckRvd246X2Uoby5vblBvaW50ZXJEb3duLHg9PntnLmN1cnJlbnQ9eC5wb2ludGVyVHlwZTtjb25zdCBGPXgudGFyZ2V0O0YuaGFzUG9pbnRlckNhcHR1cmUoeC5wb2ludGVySWQpJiZGLnJlbGVhc2VQb2ludGVyQ2FwdHVyZSh4LnBvaW50ZXJJZCkseC5idXR0b249PT0wJiZ4LmN0cmxLZXk9PT0hMSYmeC5wb2ludGVyVHlwZT09PSJtb3VzZSImJih3KHgpLHgucHJldmVudERlZmF1bHQoKSl9KSxvbktleURvd246X2Uoby5vbktleURvd24seD0+e2NvbnN0IEY9Yi5jdXJyZW50IT09IiI7ISh4LmN0cmxLZXl8fHguYWx0S2V5fHx4Lm1ldGFLZXkpJiZ4LmtleS5sZW5ndGg9PT0xJiZ5KHgua2V5KSwhKEYmJngua2V5PT09IiAiKSYmaFMuaW5jbHVkZXMoeC5rZXkpJiYodygpLHgucHJldmVudERlZmF1bHQoKSl9KX0pfSl9KTskYi5kaXNwbGF5TmFtZT1YYjt2YXIgWmI9IlNlbGVjdFZhbHVlIixKYj13ZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDphLGNsYXNzTmFtZTppLHN0eWxlOm8sY2hpbGRyZW46YyxwbGFjZWhvbGRlcjpkPSIiLC4uLmZ9PWUsbT14aShaYixhKSx7b25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZTpofT1tLGc9YyE9PXZvaWQgMCxiPWJ0KHQsbS5vblZhbHVlTm9kZUNoYW5nZSk7JHQoKCk9PntoKGcpfSxbaCxnXSk7Y29uc3QgeT1qZChtLnZhbHVlKTtyZXR1cm4oMCxNZS5qc3gpKEhlLnNwYW4sey4uLmYsYXNDaGlsZDp5PyExOmYuYXNDaGlsZCxyZWY6YixzdHlsZTp7cG9pbnRlckV2ZW50czoibm9uZSJ9LGNoaWxkcmVuOigwLE1lLmpzeCkod2UuRnJhZ21lbnQse2NoaWxkcmVuOnk/ZDpjfSx5PyJwbGFjZWhvbGRlciI6InZhbHVlIil9KX0pO0piLmRpc3BsYXlOYW1lPVpiO3ZhciBGUz0iU2VsZWN0SWNvbiIsZXk9d2UuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6YSxjaGlsZHJlbjppLC4uLm99PWU7cmV0dXJuKDAsTWUuanN4KShIZS5zcGFuLHsiYXJpYS1oaWRkZW4iOiEwLC4uLm8scmVmOnQsY2hpbGRyZW46aXx8Ilx1MjVCQyJ9KX0pO2V5LmRpc3BsYXlOYW1lPUZTO3ZhciB0eT0iU2VsZWN0UG9ydGFsIixbQ1MsRFNdPWt1KHR5LHtmb3JjZU1vdW50OnZvaWQgMH0pLG55PWU9Pntjb25zdHtfX3Njb3BlU2VsZWN0OnQsZm9yY2VNb3VudDphLC4uLml9PWU7cmV0dXJuKDAsTWUuanN4KShDUyx7c2NvcGU6ZS5fX3Njb3BlU2VsZWN0LGZvcmNlTW91bnQ6YSxjaGlsZHJlbjooMCxNZS5qc3gpKEpzLHthc0NoaWxkOiEwLC4uLml9KX0pfTtueS5kaXNwbGF5TmFtZT10eTt2YXIgRWk9IlNlbGVjdENvbnRlbnQiLGF5PXdlLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdCBhPURTKEVpLGUuX19zY29wZVNlbGVjdCkse2ZvcmNlTW91bnQ6aT1hLmZvcmNlTW91bnQsLi4ub309ZSxjPXhpKEVpLGUuX19zY29wZVNlbGVjdCksW2QsZl09d2UudXNlU3RhdGUoKTtyZXR1cm4gJHQoKCk9PntmKG5ldyBEb2N1bWVudEZyYWdtZW50KX0sW10pLCgwLE1lLmpzeCkoa3Ise3ByZXNlbnQ6aXx8Yy5vcGVuLGNoaWxkcmVuOih7cHJlc2VudDptfSk9Pm0/KDAsTWUuanN4KSh1eSx7Li4ubyxyZWY6dH0pOigwLE1lLmpzeCkocnksey4uLm8sZnJhZ21lbnQ6ZH0pfSl9KTtheS5kaXNwbGF5TmFtZT1FaTt2YXIgcnk9d2UuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6YSxjaGlsZHJlbjppLGZyYWdtZW50Om99PWU7cmV0dXJuIG8/UGIuY3JlYXRlUG9ydGFsKCgwLE1lLmpzeCkoaXkse3Njb3BlOmEsY2hpbGRyZW46KDAsTWUuanN4KShTZC5TbG90LHtzY29wZTphLGNoaWxkcmVuOigwLE1lLmpzeCkoImRpdiIse3JlZjp0LGNoaWxkcmVuOml9KX0pfSksbyk6bnVsbH0pO3J5LmRpc3BsYXlOYW1lPSJTZWxlY3RDb250ZW50RnJhZ21lbnQiO3ZhciBVYT0xMCxbaXksRmldPWt1KEVpKSxBUz0iU2VsZWN0Q29udGVudEltcGwiLFNTPXdvKCJTZWxlY3RDb250ZW50LlJlbW92ZVNjcm9sbCIpLHV5PXdlLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OmF9PWUse3Bvc2l0aW9uOmk9Iml0ZW0tYWxpZ25lZCIsb25DbG9zZUF1dG9Gb2N1czpvLG9uRXNjYXBlS2V5RG93bjpjLG9uUG9pbnRlckRvd25PdXRzaWRlOmQsc2lkZTpmLHNpZGVPZmZzZXQ6bSxhbGlnbjpoLGFsaWduT2Zmc2V0OmcsYXJyb3dQYWRkaW5nOmIsY29sbGlzaW9uQm91bmRhcnk6eSxjb2xsaXNpb25QYWRkaW5nOkMsc3RpY2t5OncsaGlkZVdoZW5EZXRhY2hlZDp4LGF2b2lkQ29sbGlzaW9uczpGLC4uLkF9PWUsRD14aShFaSxhKSxbQixUXT13ZS51c2VTdGF0ZShudWxsKSxbayxNXT13ZS51c2VTdGF0ZShudWxsKSx6PWJ0KHQsVCksW08scmVdPXdlLnVzZVN0YXRlKG51bGwpLFtlZSxaXT13ZS51c2VTdGF0ZShudWxsKSx2ZT1CZChhKSxbbWUsSF09d2UudXNlU3RhdGUoITEpLHRlPXdlLnVzZVJlZighMSk7d2UudXNlRWZmZWN0KCgpPT57aWYoQilyZXR1cm4gUnYoQil9LFtCXSksQnYoKTtjb25zdCBJPXdlLnVzZUNhbGxiYWNrKEo9Pntjb25zdFtkZSwuLi54ZV09dmUoKS5tYXAoTmU9Pk5lLnJlZi5jdXJyZW50KSxbeWVdPXhlLnNsaWNlKC0xKSxGZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2Zvcihjb25zdCBOZSBvZiBKKWlmKE5lPT09RmV8fChOZT8uc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiJuZWFyZXN0In0pLE5lPT09ZGUmJmsmJihrLnNjcm9sbFRvcD0wKSxOZT09PXllJiZrJiYoay5zY3JvbGxUb3A9ay5zY3JvbGxIZWlnaHQpLE5lPy5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1GZSkpcmV0dXJufSxbdmUsa10pLFU9d2UudXNlQ2FsbGJhY2soKCk9PkkoW08sQl0pLFtJLE8sQl0pO3dlLnVzZUVmZmVjdCgoKT0+e21lJiZVKCl9LFttZSxVXSk7Y29uc3R7b25PcGVuQ2hhbmdlOlcsdHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmOlh9PUQ7d2UudXNlRWZmZWN0KCgpPT57aWYoQil7bGV0IEo9e3g6MCx5OjB9O2NvbnN0IGRlPXllPT57Sj17eDpNYXRoLmFicyhNYXRoLnJvdW5kKHllLnBhZ2VYKS0oWC5jdXJyZW50Py54Pz8wKSkseTpNYXRoLmFicyhNYXRoLnJvdW5kKHllLnBhZ2VZKS0oWC5jdXJyZW50Py55Pz8wKSl9fSx4ZT15ZT0+e0oueDw9MTAmJkoueTw9MTA/eWUucHJldmVudERlZmF1bHQoKTp5ZS5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyhCKXx8VyghMSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLGRlKSxYLmN1cnJlbnQ9bnVsbH07cmV0dXJuIFguY3VycmVudCE9PW51bGwmJihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsZGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIseGUse2NhcHR1cmU6ITAsb25jZTohMH0pKSwoKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixkZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix4ZSx7Y2FwdHVyZTohMH0pfX19LFtCLFcsWF0pLHdlLnVzZUVmZmVjdCgoKT0+e2NvbnN0IEo9KCk9PlcoITEpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsSiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsSiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsSiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsSil9fSxbV10pO2NvbnN0W2ZlLGdlXT1FeShKPT57Y29uc3QgZGU9dmUoKS5maWx0ZXIoRmU9PiFGZS5kaXNhYmxlZCkseGU9ZGUuZmluZChGZT0+RmUucmVmLmN1cnJlbnQ9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50KSx5ZT1GeShkZSxKLHhlKTt5ZSYmc2V0VGltZW91dCgoKT0+eWUucmVmLmN1cnJlbnQ/LmZvY3VzKCkpfSksaj13ZS51c2VDYWxsYmFjaygoSixkZSx4ZSk9Pntjb25zdCB5ZT0hdGUuY3VycmVudCYmIXhlOyhELnZhbHVlIT09dm9pZCAwJiZELnZhbHVlPT09ZGV8fHllKSYmKHJlKEopLHllJiYodGUuY3VycmVudD0hMCkpfSxbRC52YWx1ZV0pLFk9d2UudXNlQ2FsbGJhY2soKCk9PkI/LmZvY3VzKCksW0JdKSxzZT13ZS51c2VDYWxsYmFjaygoSixkZSx4ZSk9Pntjb25zdCB5ZT0hdGUuY3VycmVudCYmIXhlOyhELnZhbHVlIT09dm9pZCAwJiZELnZhbHVlPT09ZGV8fHllKSYmWihKKX0sW0QudmFsdWVdKSxRPWk9PT0icG9wcGVyIj9kbTpveSxjZT1RPT09ZG0/e3NpZGU6ZixzaWRlT2Zmc2V0Om0sYWxpZ246aCxhbGlnbk9mZnNldDpnLGFycm93UGFkZGluZzpiLGNvbGxpc2lvbkJvdW5kYXJ5OnksY29sbGlzaW9uUGFkZGluZzpDLHN0aWNreTp3LGhpZGVXaGVuRGV0YWNoZWQ6eCxhdm9pZENvbGxpc2lvbnM6Rn06e307cmV0dXJuKDAsTWUuanN4KShpeSx7c2NvcGU6YSxjb250ZW50OkIsdmlld3BvcnQ6ayxvblZpZXdwb3J0Q2hhbmdlOk0saXRlbVJlZkNhbGxiYWNrOmosc2VsZWN0ZWRJdGVtOk8sb25JdGVtTGVhdmU6WSxpdGVtVGV4dFJlZkNhbGxiYWNrOnNlLGZvY3VzU2VsZWN0ZWRJdGVtOlUsc2VsZWN0ZWRJdGVtVGV4dDplZSxwb3NpdGlvbjppLGlzUG9zaXRpb25lZDptZSxzZWFyY2hSZWY6ZmUsY2hpbGRyZW46KDAsTWUuanN4KShfdix7YXM6U1MsYWxsb3dQaW5jaFpvb206ITAsY2hpbGRyZW46KDAsTWUuanN4KShyZCx7YXNDaGlsZDohMCx0cmFwcGVkOkQub3Blbixvbk1vdW50QXV0b0ZvY3VzOko9PntKLnByZXZlbnREZWZhdWx0KCl9LG9uVW5tb3VudEF1dG9Gb2N1czpfZShvLEo9PntELnRyaWdnZXI/LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksSi5wcmV2ZW50RGVmYXVsdCgpfSksY2hpbGRyZW46KDAsTWUuanN4KShacyx7YXNDaGlsZDohMCxkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6ITAsb25Fc2NhcGVLZXlEb3duOmMsb25Qb2ludGVyRG93bk91dHNpZGU6ZCxvbkZvY3VzT3V0c2lkZTpKPT5KLnByZXZlbnREZWZhdWx0KCksb25EaXNtaXNzOigpPT5ELm9uT3BlbkNoYW5nZSghMSksY2hpbGRyZW46KDAsTWUuanN4KShRLHtyb2xlOiJsaXN0Ym94IixpZDpELmNvbnRlbnRJZCwiZGF0YS1zdGF0ZSI6RC5vcGVuPyJvcGVuIjoiY2xvc2VkIixkaXI6RC5kaXIsb25Db250ZXh0TWVudTpKPT5KLnByZXZlbnREZWZhdWx0KCksLi4uQSwuLi5jZSxvblBsYWNlZDooKT0+SCghMCkscmVmOnosc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsb3V0bGluZToibm9uZSIsLi4uQS5zdHlsZX0sb25LZXlEb3duOl9lKEEub25LZXlEb3duLEo9Pntjb25zdCBkZT1KLmN0cmxLZXl8fEouYWx0S2V5fHxKLm1ldGFLZXk7aWYoSi5rZXk9PT0iVGFiIiYmSi5wcmV2ZW50RGVmYXVsdCgpLCFkZSYmSi5rZXkubGVuZ3RoPT09MSYmZ2UoSi5rZXkpLFsiQXJyb3dVcCIsIkFycm93RG93biIsIkhvbWUiLCJFbmQiXS5pbmNsdWRlcyhKLmtleSkpe2xldCB5ZT12ZSgpLmZpbHRlcihGZT0+IUZlLmRpc2FibGVkKS5tYXAoRmU9PkZlLnJlZi5jdXJyZW50KTtpZihbIkFycm93VXAiLCJFbmQiXS5pbmNsdWRlcyhKLmtleSkmJih5ZT15ZS5zbGljZSgpLnJldmVyc2UoKSksWyJBcnJvd1VwIiwiQXJyb3dEb3duIl0uaW5jbHVkZXMoSi5rZXkpKXtjb25zdCBGZT1KLnRhcmdldCxOZT15ZS5pbmRleE9mKEZlKTt5ZT15ZS5zbGljZShOZSsxKX1zZXRUaW1lb3V0KCgpPT5JKHllKSksSi5wcmV2ZW50RGVmYXVsdCgpfX0pfSl9KX0pfSl9KX0pO3V5LmRpc3BsYXlOYW1lPUFTO3ZhciBCUz0iU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbiIsb3k9d2UuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6YSxvblBsYWNlZDppLC4uLm99PWUsYz14aShFaSxhKSxkPUZpKEVpLGEpLFtmLG1dPXdlLnVzZVN0YXRlKG51bGwpLFtoLGddPXdlLnVzZVN0YXRlKG51bGwpLGI9YnQodCxnKSx5PUJkKGEpLEM9d2UudXNlUmVmKCExKSx3PXdlLnVzZVJlZighMCkse3ZpZXdwb3J0Ongsc2VsZWN0ZWRJdGVtOkYsc2VsZWN0ZWRJdGVtVGV4dDpBLGZvY3VzU2VsZWN0ZWRJdGVtOkR9PWQsQj13ZS51c2VDYWxsYmFjaygoKT0+e2lmKGMudHJpZ2dlciYmYy52YWx1ZU5vZGUmJmYmJmgmJngmJkYmJkEpe2NvbnN0IHo9Yy50cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE89aC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyZT1jLnZhbHVlTm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxlZT1BLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGMuZGlyIT09InJ0bCIpe2NvbnN0IEZlPWVlLmxlZnQtTy5sZWZ0LE5lPXJlLmxlZnQtRmUscnQ9ei5sZWZ0LU5lLGN0PXoud2lkdGgrcnQsa2U9TWF0aC5tYXgoY3QsTy53aWR0aCksWGU9d2luZG93LmlubmVyV2lkdGgtVWEsZHQ9VWIoTmUsW1VhLE1hdGgubWF4KFVhLFhlLWtlKV0pO2Yuc3R5bGUubWluV2lkdGg9Y3QrInB4IixmLnN0eWxlLmxlZnQ9ZHQrInB4In1lbHNle2NvbnN0IEZlPU8ucmlnaHQtZWUucmlnaHQsTmU9d2luZG93LmlubmVyV2lkdGgtcmUucmlnaHQtRmUscnQ9d2luZG93LmlubmVyV2lkdGgtei5yaWdodC1OZSxjdD16LndpZHRoK3J0LGtlPU1hdGgubWF4KGN0LE8ud2lkdGgpLFhlPXdpbmRvdy5pbm5lcldpZHRoLVVhLGR0PVViKE5lLFtVYSxNYXRoLm1heChVYSxYZS1rZSldKTtmLnN0eWxlLm1pbldpZHRoPWN0KyJweCIsZi5zdHlsZS5yaWdodD1kdCsicHgifWNvbnN0IFo9eSgpLHZlPXdpbmRvdy5pbm5lckhlaWdodC1VYSoyLG1lPXguc2Nyb2xsSGVpZ2h0LEg9d2luZG93LmdldENvbXB1dGVkU3R5bGUoaCksdGU9cGFyc2VJbnQoSC5ib3JkZXJUb3BXaWR0aCwxMCksST1wYXJzZUludChILnBhZGRpbmdUb3AsMTApLFU9cGFyc2VJbnQoSC5ib3JkZXJCb3R0b21XaWR0aCwxMCksVz1wYXJzZUludChILnBhZGRpbmdCb3R0b20sMTApLFg9dGUrSSttZStXK1UsZmU9TWF0aC5taW4oRi5vZmZzZXRIZWlnaHQqNSxYKSxnZT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh4KSxqPXBhcnNlSW50KGdlLnBhZGRpbmdUb3AsMTApLFk9cGFyc2VJbnQoZ2UucGFkZGluZ0JvdHRvbSwxMCksc2U9ei50b3Arei5oZWlnaHQvMi1VYSxRPXZlLXNlLGNlPUYub2Zmc2V0SGVpZ2h0LzIsSj1GLm9mZnNldFRvcCtjZSxkZT10ZStJK0oseGU9WC1kZTtpZihkZTw9c2Upe2NvbnN0IEZlPVoubGVuZ3RoPjAmJkY9PT1aW1oubGVuZ3RoLTFdLnJlZi5jdXJyZW50O2Yuc3R5bGUuYm90dG9tPSIwcHgiO2NvbnN0IE5lPWguY2xpZW50SGVpZ2h0LXgub2Zmc2V0VG9wLXgub2Zmc2V0SGVpZ2h0LHJ0PU1hdGgubWF4KFEsY2UrKEZlP1k6MCkrTmUrVSksY3Q9ZGUrcnQ7Zi5zdHlsZS5oZWlnaHQ9Y3QrInB4In1lbHNle2NvbnN0IEZlPVoubGVuZ3RoPjAmJkY9PT1aWzBdLnJlZi5jdXJyZW50O2Yuc3R5bGUudG9wPSIwcHgiO2NvbnN0IHJ0PU1hdGgubWF4KHNlLHRlK3gub2Zmc2V0VG9wKyhGZT9qOjApK2NlKSt4ZTtmLnN0eWxlLmhlaWdodD1ydCsicHgiLHguc2Nyb2xsVG9wPWRlLXNlK3gub2Zmc2V0VG9wfWYuc3R5bGUubWFyZ2luPWAke1VhfXB4IDBgLGYuc3R5bGUubWluSGVpZ2h0PWZlKyJweCIsZi5zdHlsZS5tYXhIZWlnaHQ9dmUrInB4IixpPy4oKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PkMuY3VycmVudD0hMCl9fSxbeSxjLnRyaWdnZXIsYy52YWx1ZU5vZGUsZixoLHgsRixBLGMuZGlyLGldKTskdCgoKT0+QigpLFtCXSk7Y29uc3RbVCxrXT13ZS51c2VTdGF0ZSgpOyR0KCgpPT57aCYmayh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShoKS56SW5kZXgpfSxbaF0pO2NvbnN0IE09d2UudXNlQ2FsbGJhY2soej0+e3omJncuY3VycmVudD09PSEwJiYoQigpLEQ/LigpLHcuY3VycmVudD0hMSl9LFtCLERdKTtyZXR1cm4oMCxNZS5qc3gpKFRTLHtzY29wZTphLGNvbnRlbnRXcmFwcGVyOmYsc2hvdWxkRXhwYW5kT25TY3JvbGxSZWY6QyxvblNjcm9sbEJ1dHRvbkNoYW5nZTpNLGNoaWxkcmVuOigwLE1lLmpzeCkoImRpdiIse3JlZjptLHN0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLHBvc2l0aW9uOiJmaXhlZCIsekluZGV4OlR9LGNoaWxkcmVuOigwLE1lLmpzeCkoSGUuZGl2LHsuLi5vLHJlZjpiLHN0eWxlOntib3hTaXppbmc6ImJvcmRlci1ib3giLG1heEhlaWdodDoiMTAwJSIsLi4uby5zdHlsZX19KX0pfSl9KTtveS5kaXNwbGF5TmFtZT1CUzt2YXIga1M9IlNlbGVjdFBvcHBlclBvc2l0aW9uIixkbT13ZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDphLGFsaWduOmk9InN0YXJ0Iixjb2xsaXNpb25QYWRkaW5nOm89VWEsLi4uY309ZSxkPWtkKGEpO3JldHVybigwLE1lLmpzeCkoQmIsey4uLmQsLi4uYyxyZWY6dCxhbGlnbjppLGNvbGxpc2lvblBhZGRpbmc6byxzdHlsZTp7Ym94U2l6aW5nOiJib3JkZXItYm94IiwuLi5jLnN0eWxlLCItLXJhZGl4LXNlbGVjdC1jb250ZW50LXRyYW5zZm9ybS1vcmlnaW4iOiJ2YXIoLS1yYWRpeC1wb3BwZXItdHJhbnNmb3JtLW9yaWdpbikiLCItLXJhZGl4LXNlbGVjdC1jb250ZW50LWF2YWlsYWJsZS13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgpIiwiLS1yYWRpeC1zZWxlY3QtY29udGVudC1hdmFpbGFibGUtaGVpZ2h0IjoidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS1oZWlnaHQpIiwiLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hbmNob3Itd2lkdGgpIiwiLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci1oZWlnaHQiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCkifX0pfSk7ZG0uZGlzcGxheU5hbWU9a1M7dmFyW1RTLGZtXT1rdShFaSx7fSkscG09IlNlbGVjdFZpZXdwb3J0IixzeT13ZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDphLG5vbmNlOmksLi4ub309ZSxjPUZpKHBtLGEpLGQ9Zm0ocG0sYSksZj1idCh0LGMub25WaWV3cG9ydENoYW5nZSksbT13ZS51c2VSZWYoMCk7cmV0dXJuKDAsTWUuanN4cykoTWUuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxNZS5qc3gpKCJzdHlsZSIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6IltkYXRhLXJhZGl4LXNlbGVjdC12aWV3cG9ydF17c2Nyb2xsYmFyLXdpZHRoOm5vbmU7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7fVtkYXRhLXJhZGl4LXNlbGVjdC12aWV3cG9ydF06Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ifSxub25jZTppfSksKDAsTWUuanN4KShTZC5TbG90LHtzY29wZTphLGNoaWxkcmVuOigwLE1lLmpzeCkoSGUuZGl2LHsiZGF0YS1yYWRpeC1zZWxlY3Qtdmlld3BvcnQiOiIiLHJvbGU6InByZXNlbnRhdGlvbiIsLi4ubyxyZWY6ZixzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixmbGV4OjEsb3ZlcmZsb3c6ImhpZGRlbiBhdXRvIiwuLi5vLnN0eWxlfSxvblNjcm9sbDpfZShvLm9uU2Nyb2xsLGg9Pntjb25zdCBnPWguY3VycmVudFRhcmdldCx7Y29udGVudFdyYXBwZXI6YixzaG91bGRFeHBhbmRPblNjcm9sbFJlZjp5fT1kO2lmKHk/LmN1cnJlbnQmJmIpe2NvbnN0IEM9TWF0aC5hYnMobS5jdXJyZW50LWcuc2Nyb2xsVG9wKTtpZihDPjApe2NvbnN0IHc9d2luZG93LmlubmVySGVpZ2h0LVVhKjIseD1wYXJzZUZsb2F0KGIuc3R5bGUubWluSGVpZ2h0KSxGPXBhcnNlRmxvYXQoYi5zdHlsZS5oZWlnaHQpLEE9TWF0aC5tYXgoeCxGKTtpZihBPHcpe2NvbnN0IEQ9QStDLEI9TWF0aC5taW4odyxEKSxUPUQtQjtiLnN0eWxlLmhlaWdodD1CKyJweCIsYi5zdHlsZS5ib3R0b209PT0iMHB4IiYmKGcuc2Nyb2xsVG9wPVQ+MD9UOjAsYi5zdHlsZS5qdXN0aWZ5Q29udGVudD0iZmxleC1lbmQiKX19fW0uY3VycmVudD1nLnNjcm9sbFRvcH0pfSl9KV19KX0pO3N5LmRpc3BsYXlOYW1lPXBtO3ZhciBseT0iU2VsZWN0R3JvdXAiLFtqUyxNU109a3UobHkpLE9TPXdlLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OmEsLi4uaX09ZSxvPUJyKCk7cmV0dXJuKDAsTWUuanN4KShqUyx7c2NvcGU6YSxpZDpvLGNoaWxkcmVuOigwLE1lLmpzeCkoSGUuZGl2LHtyb2xlOiJncm91cCIsImFyaWEtbGFiZWxsZWRieSI6bywuLi5pLHJlZjp0fSl9KX0pO09TLmRpc3BsYXlOYW1lPWx5O3ZhciBjeT0iU2VsZWN0TGFiZWwiLF9TPXdlLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OmEsLi4uaX09ZSxvPU1TKGN5LGEpO3JldHVybigwLE1lLmpzeCkoSGUuZGl2LHtpZDpvLmlkLC4uLmkscmVmOnR9KX0pO19TLmRpc3BsYXlOYW1lPWN5O3ZhciBUZD0iU2VsZWN0SXRlbSIsW05TLGR5XT1rdShUZCksZnk9d2UuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6YSx2YWx1ZTppLGRpc2FibGVkOm89ITEsdGV4dFZhbHVlOmMsLi4uZH09ZSxmPXhpKFRkLGEpLG09RmkoVGQsYSksaD1mLnZhbHVlPT09aSxbZyxiXT13ZS51c2VTdGF0ZShjPz8iIiksW3ksQ109d2UudXNlU3RhdGUoITEpLHc9VW4oQj0+bS5pdGVtUmVmQ2FsbGJhY2s/LihCLGksbykpLHg9YnQodCx3KSxGPUJyKCksQT13ZS51c2VSZWYoInRvdWNoIiksRD0oKT0+e298fChmLm9uVmFsdWVDaGFuZ2UoaSksZi5vbk9wZW5DaGFuZ2UoITEpKX07cmV0dXJuKDAsTWUuanN4KShOUyx7c2NvcGU6YSx2YWx1ZTppLGRpc2FibGVkOm8sdGV4dElkOkYsaXNTZWxlY3RlZDpoLG9uSXRlbVRleHRDaGFuZ2U6d2UudXNlQ2FsbGJhY2soQj0+e2IoVD0+VHx8KEI/LnRleHRDb250ZW50Pz8iIikudHJpbSgpKX0sW10pLGNoaWxkcmVuOigwLE1lLmpzeCkoU2QuSXRlbVNsb3Qse3Njb3BlOmEsdmFsdWU6aSxkaXNhYmxlZDpvLHRleHRWYWx1ZTpnLGNoaWxkcmVuOigwLE1lLmpzeCkoSGUuZGl2LHtyb2xlOiJvcHRpb24iLCJhcmlhLWxhYmVsbGVkYnkiOkYsImRhdGEtaGlnaGxpZ2h0ZWQiOnk/IiI6dm9pZCAwLCJhcmlhLXNlbGVjdGVkIjpoJiZ5LCJkYXRhLXN0YXRlIjpoPyJjaGVja2VkIjoidW5jaGVja2VkIiwiYXJpYS1kaXNhYmxlZCI6b3x8dm9pZCAwLCJkYXRhLWRpc2FibGVkIjpvPyIiOnZvaWQgMCx0YWJJbmRleDpvP3ZvaWQgMDotMSwuLi5kLHJlZjp4LG9uRm9jdXM6X2UoZC5vbkZvY3VzLCgpPT5DKCEwKSksb25CbHVyOl9lKGQub25CbHVyLCgpPT5DKCExKSksb25DbGljazpfZShkLm9uQ2xpY2ssKCk9PntBLmN1cnJlbnQhPT0ibW91c2UiJiZEKCl9KSxvblBvaW50ZXJVcDpfZShkLm9uUG9pbnRlclVwLCgpPT57QS5jdXJyZW50PT09Im1vdXNlIiYmRCgpfSksb25Qb2ludGVyRG93bjpfZShkLm9uUG9pbnRlckRvd24sQj0+e0EuY3VycmVudD1CLnBvaW50ZXJUeXBlfSksb25Qb2ludGVyTW92ZTpfZShkLm9uUG9pbnRlck1vdmUsQj0+e0EuY3VycmVudD1CLnBvaW50ZXJUeXBlLG8/bS5vbkl0ZW1MZWF2ZT8uKCk6QS5jdXJyZW50PT09Im1vdXNlIiYmQi5jdXJyZW50VGFyZ2V0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSxvblBvaW50ZXJMZWF2ZTpfZShkLm9uUG9pbnRlckxlYXZlLEI9PntCLmN1cnJlbnRUYXJnZXQ9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZtLm9uSXRlbUxlYXZlPy4oKX0pLG9uS2V5RG93bjpfZShkLm9uS2V5RG93bixCPT57b3x8Qi50YXJnZXQhPT1CLmN1cnJlbnRUYXJnZXR8fG0uc2VhcmNoUmVmPy5jdXJyZW50IT09IiImJkIua2V5PT09IiAifHwoZ1MuaW5jbHVkZXMoQi5rZXkpJiZEKCksQi5rZXk9PT0iICImJkIucHJldmVudERlZmF1bHQoKSl9KX0pfSl9KX0pO2Z5LmRpc3BsYXlOYW1lPVRkO3ZhciBvbD0iU2VsZWN0SXRlbVRleHQiLHB5PXdlLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OmEsY2xhc3NOYW1lOmksc3R5bGU6bywuLi5jfT1lLGQ9eGkob2wsYSksZj1GaShvbCxhKSxtPWR5KG9sLGEpLGg9eFMob2wsYSksW2csYl09d2UudXNlU3RhdGUobnVsbCkseT1VbihEPT5mLml0ZW1UZXh0UmVmQ2FsbGJhY2s/LihELG0udmFsdWUsbS5kaXNhYmxlZCkpLEM9YnQodCxiLG0ub25JdGVtVGV4dENoYW5nZSx5KSx3PWc/LnRleHRDb250ZW50LHg9d2UudXNlTWVtbygoKT0+KDAsTWUuanN4KSgib3B0aW9uIix7dmFsdWU6bS52YWx1ZSxkaXNhYmxlZDptLmRpc2FibGVkLGNoaWxkcmVuOnd9LG0udmFsdWUpLFttLmRpc2FibGVkLG0udmFsdWUsd10pLHtvbk5hdGl2ZU9wdGlvbkFkZDpGLG9uTmF0aXZlT3B0aW9uUmVtb3ZlOkF9PWg7cmV0dXJuICR0KCgpPT4oRih4KSwoKT0+QSh4KSksW0YsQSx4XSksKDAsTWUuanN4cykoTWUuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxNZS5qc3gpKEhlLnNwYW4se2lkOm0udGV4dElkLC4uLmMscmVmOkN9KSxtLmlzU2VsZWN0ZWQmJmQudmFsdWVOb2RlJiYhZC52YWx1ZU5vZGVIYXNDaGlsZHJlbiYmIWpkKGQudmFsdWUpP1BiLmNyZWF0ZVBvcnRhbChjLmNoaWxkcmVuLGQudmFsdWVOb2RlKTpudWxsXX0pfSk7cHkuZGlzcGxheU5hbWU9b2w7dmFyIHZ5PSJTZWxlY3RJdGVtSW5kaWNhdG9yIixteT13ZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDphLC4uLml9PWU7cmV0dXJuIGR5KHZ5LGEpLmlzU2VsZWN0ZWQ/KDAsTWUuanN4KShIZS5zcGFuLHsiYXJpYS1oaWRkZW4iOiEwLC4uLmkscmVmOnR9KTpudWxsfSk7bXkuZGlzcGxheU5hbWU9dnk7dmFyIHZtPSJTZWxlY3RTY3JvbGxVcEJ1dHRvbiIsaHk9d2UuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IGE9Rmkodm0sZS5fX3Njb3BlU2VsZWN0KSxpPWZtKHZtLGUuX19zY29wZVNlbGVjdCksW28sY109d2UudXNlU3RhdGUoITEpLGQ9YnQodCxpLm9uU2Nyb2xsQnV0dG9uQ2hhbmdlKTtyZXR1cm4gJHQoKCk9PntpZihhLnZpZXdwb3J0JiZhLmlzUG9zaXRpb25lZCl7bGV0IG09ZnVuY3Rpb24oKXtjb25zdCBnPWguc2Nyb2xsVG9wPjA7YyhnKX07dmFyIGY9bTtjb25zdCBoPWEudmlld3BvcnQ7cmV0dXJuIG0oKSxoLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbSksKCk9PmgucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixtKX19LFthLnZpZXdwb3J0LGEuaXNQb3NpdGlvbmVkXSksbz8oMCxNZS5qc3gpKGJ5LHsuLi5lLHJlZjpkLG9uQXV0b1Njcm9sbDooKT0+e2NvbnN0e3ZpZXdwb3J0OmYsc2VsZWN0ZWRJdGVtOm19PWE7ZiYmbSYmKGYuc2Nyb2xsVG9wPWYuc2Nyb2xsVG9wLW0ub2Zmc2V0SGVpZ2h0KX19KTpudWxsfSk7aHkuZGlzcGxheU5hbWU9dm07dmFyIG1tPSJTZWxlY3RTY3JvbGxEb3duQnV0dG9uIixneT13ZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3QgYT1GaShtbSxlLl9fc2NvcGVTZWxlY3QpLGk9Zm0obW0sZS5fX3Njb3BlU2VsZWN0KSxbbyxjXT13ZS51c2VTdGF0ZSghMSksZD1idCh0LGkub25TY3JvbGxCdXR0b25DaGFuZ2UpO3JldHVybiAkdCgoKT0+e2lmKGEudmlld3BvcnQmJmEuaXNQb3NpdGlvbmVkKXtsZXQgbT1mdW5jdGlvbigpe2NvbnN0IGc9aC5zY3JvbGxIZWlnaHQtaC5jbGllbnRIZWlnaHQsYj1NYXRoLmNlaWwoaC5zY3JvbGxUb3ApPGc7YyhiKX07dmFyIGY9bTtjb25zdCBoPWEudmlld3BvcnQ7cmV0dXJuIG0oKSxoLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbSksKCk9PmgucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixtKX19LFthLnZpZXdwb3J0LGEuaXNQb3NpdGlvbmVkXSksbz8oMCxNZS5qc3gpKGJ5LHsuLi5lLHJlZjpkLG9uQXV0b1Njcm9sbDooKT0+e2NvbnN0e3ZpZXdwb3J0OmYsc2VsZWN0ZWRJdGVtOm19PWE7ZiYmbSYmKGYuc2Nyb2xsVG9wPWYuc2Nyb2xsVG9wK20ub2Zmc2V0SGVpZ2h0KX19KTpudWxsfSk7Z3kuZGlzcGxheU5hbWU9bW07dmFyIGJ5PXdlLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OmEsb25BdXRvU2Nyb2xsOmksLi4ub309ZSxjPUZpKCJTZWxlY3RTY3JvbGxCdXR0b24iLGEpLGQ9d2UudXNlUmVmKG51bGwpLGY9QmQoYSksbT13ZS51c2VDYWxsYmFjaygoKT0+e2QuY3VycmVudCE9PW51bGwmJih3aW5kb3cuY2xlYXJJbnRlcnZhbChkLmN1cnJlbnQpLGQuY3VycmVudD1udWxsKX0sW10pO3JldHVybiB3ZS51c2VFZmZlY3QoKCk9PigpPT5tKCksW21dKSwkdCgoKT0+e2YoKS5maW5kKGc9PmcucmVmLmN1cnJlbnQ9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50KT8ucmVmLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCJ9KX0sW2ZdKSwoMCxNZS5qc3gpKEhlLmRpdix7ImFyaWEtaGlkZGVuIjohMCwuLi5vLHJlZjp0LHN0eWxlOntmbGV4U2hyaW5rOjAsLi4uby5zdHlsZX0sb25Qb2ludGVyRG93bjpfZShvLm9uUG9pbnRlckRvd24sKCk9PntkLmN1cnJlbnQ9PT1udWxsJiYoZC5jdXJyZW50PXdpbmRvdy5zZXRJbnRlcnZhbChpLDUwKSl9KSxvblBvaW50ZXJNb3ZlOl9lKG8ub25Qb2ludGVyTW92ZSwoKT0+e2Mub25JdGVtTGVhdmU/LigpLGQuY3VycmVudD09PW51bGwmJihkLmN1cnJlbnQ9d2luZG93LnNldEludGVydmFsKGksNTApKX0pLG9uUG9pbnRlckxlYXZlOl9lKG8ub25Qb2ludGVyTGVhdmUsKCk9PnttKCl9KX0pfSksUlM9IlNlbGVjdFNlcGFyYXRvciIsSVM9d2UuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6YSwuLi5pfT1lO3JldHVybigwLE1lLmpzeCkoSGUuZGl2LHsiYXJpYS1oaWRkZW4iOiEwLC4uLmkscmVmOnR9KX0pO0lTLmRpc3BsYXlOYW1lPVJTO3ZhciB5eT0iU2VsZWN0QXJyb3ciLExTPXdlLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OmEsLi4uaX09ZSxvPWtkKGEpO3JldHVybiBGaSh5eSxhKS5wb3NpdGlvbj09PSJwb3BwZXIiPygwLE1lLmpzeCkoa2Isey4uLm8sLi4uaSxyZWY6dH0pOm51bGx9KTtMUy5kaXNwbGF5TmFtZT15eTt2YXIgd3k9IlNlbGVjdEJ1YmJsZUlucHV0Iix4eT13ZS5mb3J3YXJkUmVmKCh7X19zY29wZVNlbGVjdDplLC4uLnR9LGEpPT57Y29uc3QgaT14aSh3eSxlKSx7dmFsdWU6byxvblZhbHVlQ2hhbmdlOmMscmVxdWlyZWQ6ZCxkaXNhYmxlZDpmLG5hbWU6bSxhdXRvQ29tcGxldGU6aCxmb3JtOmd9PWkse25hdGl2ZU9wdGlvbnM6YixuYXRpdmVTZWxlY3RLZXk6eX09aSxDPXdlLnVzZVJlZihudWxsKSx3PWJ0KGEsQykseD1vPz8iIixGPVliKHgpLEE9QXJyYXkuZnJvbShiKS5zb21lKEQ9PihELnByb3BzLnZhbHVlPz8iIik9PT0iIik7cmV0dXJuIHdlLnVzZUVmZmVjdCgoKT0+e2NvbnN0IEQ9Qy5jdXJyZW50O2lmKCFEKXJldHVybjtjb25zdCBCPXdpbmRvdy5IVE1MU2VsZWN0RWxlbWVudC5wcm90b3R5cGUsaz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEIsInZhbHVlIikuc2V0O2lmKEYhPT14JiZrKXtjb25zdCBNPW5ldyBFdmVudCgiY2hhbmdlIix7YnViYmxlczohMH0pO2suY2FsbChELHgpLEQuZGlzcGF0Y2hFdmVudChNKX19LFtGLHhdKSwoMCxNZS5qc3hzKShIZS5zZWxlY3QseyJhcmlhLWhpZGRlbiI6ITAscmVxdWlyZWQ6ZCx0YWJJbmRleDotMSxuYW1lOm0sYXV0b0NvbXBsZXRlOmgsZGlzYWJsZWQ6Zixmb3JtOmcsb25DaGFuZ2U6RD0+YyhELnRhcmdldC52YWx1ZSksLi4udCxzdHlsZTp7Li4uV2IsLi4udC5zdHlsZX0scmVmOncsZGVmYXVsdFZhbHVlOngsY2hpbGRyZW46W2pkKG8pJiYhQT8oMCxNZS5qc3gpKCJvcHRpb24iLHt2YWx1ZToiIn0pOm51bGwsQXJyYXkuZnJvbShiKV19LHkpfSk7eHkuZGlzcGxheU5hbWU9d3k7ZnVuY3Rpb24gelMoZSl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24ifWZ1bmN0aW9uIGpkKGUpe3JldHVybiBlPT09IiJ8fGU9PT12b2lkIDB9ZnVuY3Rpb24gRXkoZSl7Y29uc3QgdD1VbihlKSxhPXdlLnVzZVJlZigiIiksaT13ZS51c2VSZWYoMCksbz13ZS51c2VDYWxsYmFjayhkPT57Y29uc3QgZj1hLmN1cnJlbnQrZDt0KGYpLChmdW5jdGlvbiBtKGgpe2EuY3VycmVudD1oLHdpbmRvdy5jbGVhclRpbWVvdXQoaS5jdXJyZW50KSxoIT09IiImJihpLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoKCk9Pm0oIiIpLDFlMykpfSkoZil9LFt0XSksYz13ZS51c2VDYWxsYmFjaygoKT0+e2EuY3VycmVudD0iIix3aW5kb3cuY2xlYXJUaW1lb3V0KGkuY3VycmVudCl9LFtdKTtyZXR1cm4gd2UudXNlRWZmZWN0KCgpPT4oKT0+d2luZG93LmNsZWFyVGltZW91dChpLmN1cnJlbnQpLFtdKSxbYSxvLGNdfWZ1bmN0aW9uIEZ5KGUsdCxhKXtjb25zdCBvPXQubGVuZ3RoPjEmJkFycmF5LmZyb20odCkuZXZlcnkoaD0+aD09PXRbMF0pP3RbMF06dCxjPWE/ZS5pbmRleE9mKGEpOi0xO2xldCBkPUhTKGUsTWF0aC5tYXgoYywwKSk7by5sZW5ndGg9PT0xJiYoZD1kLmZpbHRlcihoPT5oIT09YSkpO2NvbnN0IG09ZC5maW5kKGg9PmgudGV4dFZhbHVlLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChvLnRvTG93ZXJDYXNlKCkpKTtyZXR1cm4gbSE9PWE/bTp2b2lkIDB9ZnVuY3Rpb24gSFMoZSx0KXtyZXR1cm4gZS5tYXAoKGEsaSk9PmVbKHQraSklZS5sZW5ndGhdKX12YXIgeWE9bGUocWUoKSwxKTtmdW5jdGlvbiBxUyh7dmFsdWU6ZSxkZWZhdWx0VmFsdWU6dCxvcHRpb25zOmEscGxhY2Vob2xkZXI6aT0iXHU4QkY3XHU5MDA5XHU2MkU5IixhcmlhTGFiZWw6byxkaXNhYmxlZDpjLGNsYXNzTmFtZTpkLG9uVmFsdWVDaGFuZ2U6Zn0pe2NvbnN0IG09bmwoKTtyZXR1cm4oMCx5YS5qc3hzKShRYix7dmFsdWU6ZSxkZWZhdWx0VmFsdWU6dCxkaXNhYmxlZDpjLG9uVmFsdWVDaGFuZ2U6ZixjaGlsZHJlbjpbKDAseWEuanN4cykoJGIse2NsYXNzTmFtZTp4dSgid2FuZC11aS1zZWxlY3QtdHJpZ2dlciIsZCksImFyaWEtbGFiZWwiOm8sY2hpbGRyZW46WygwLHlhLmpzeCkoSmIse3BsYWNlaG9sZGVyOml9KSwoMCx5YS5qc3gpKGV5LHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjoiXHUyMzA0In0pXX0pLCgwLHlhLmpzeCkobnkse2NvbnRhaW5lcjptLGNoaWxkcmVuOigwLHlhLmpzeHMpKGF5LHtjbGFzc05hbWU6IndhbmQtdWktc2VsZWN0LWNvbnRlbnQiLHBvc2l0aW9uOiJwb3BwZXIiLHNpZGVPZmZzZXQ6Nixjb2xsaXNpb25QYWRkaW5nOjEyLGNoaWxkcmVuOlsoMCx5YS5qc3gpKGh5LHtjbGFzc05hbWU6IndhbmQtdWktc2VsZWN0LXNjcm9sbC1idXR0b24iLGNoaWxkcmVuOiJcdTIzMDMifSksKDAseWEuanN4KShzeSx7Y2xhc3NOYW1lOiJ3YW5kLXVpLXNlbGVjdC12aWV3cG9ydCIsY2hpbGRyZW46YS5tYXAoaD0+KDAseWEuanN4cykoZnkse2NsYXNzTmFtZToid2FuZC11aS1zZWxlY3QtaXRlbSIsdmFsdWU6aC52YWx1ZSxkaXNhYmxlZDpoLmRpc2FibGVkLGNoaWxkcmVuOlsoMCx5YS5qc3gpKHB5LHtjaGlsZHJlbjpoLmxhYmVsfSksKDAseWEuanN4KShteSx7Y2xhc3NOYW1lOiJ3YW5kLXVpLXNlbGVjdC1pbmRpY2F0b3IiLGNoaWxkcmVuOiJcdTI3MTMifSldfSxoLnZhbHVlKSl9KSwoMCx5YS5qc3gpKGd5LHtjbGFzc05hbWU6IndhbmQtdWktc2VsZWN0LXNjcm9sbC1idXR0b24iLGNoaWxkcmVuOiJcdTIzMDQifSldfSl9KV19KX12YXIgVmE9bGUoQWUoKSwxKSxScj1sZShxZSgpLDEpLE1kPSJTd2l0Y2giLFtQUyxJTF09U3IoTWQpLFtVUyxobV09UFMoTWQpO2Z1bmN0aW9uIFZTKGUpe2NvbnN0e19fc2NvcGVTd2l0Y2g6dCxjaGVja2VkOmEsY2hpbGRyZW46aSxkZWZhdWx0Q2hlY2tlZDpvLGRpc2FibGVkOmMsZm9ybTpkLG5hbWU6ZixvbkNoZWNrZWRDaGFuZ2U6bSxyZXF1aXJlZDpoLHZhbHVlOmc9Im9uIixpbnRlcm5hbF9kb19ub3RfdXNlX3JlbmRlcjpifT1lLFt5LENdPW1pKHtwcm9wOmEsZGVmYXVsdFByb3A6bz8/ITEsb25DaGFuZ2U6bSxjYWxsZXI6TWR9KSxbdyx4XT1WYS51c2VTdGF0ZShudWxsKSxbRixBXT1WYS51c2VTdGF0ZShudWxsKSxEPVZhLnVzZVJlZighMSksQj13PyEhZHx8ISF3LmNsb3Nlc3QoImZvcm0iKTohMCxUPXtjaGVja2VkOnksc2V0Q2hlY2tlZDpDLGRpc2FibGVkOmMsY29udHJvbDp3LHNldENvbnRyb2w6eCxuYW1lOmYsZm9ybTpkLHZhbHVlOmcsaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWY6RCxyZXF1aXJlZDpoLGRlZmF1bHRDaGVja2VkOm8saXNGb3JtQ29udHJvbDpCLGJ1YmJsZUlucHV0OkYsc2V0QnViYmxlSW5wdXQ6QX07cmV0dXJuKDAsUnIuanN4KShVUyx7c2NvcGU6dCwuLi5ULGNoaWxkcmVuOkdTKGIpP2IoVCk6aX0pfXZhciBDeT0iU3dpdGNoVHJpZ2dlciIsRHk9VmEuZm9yd2FyZFJlZigoe19fc2NvcGVTd2l0Y2g6ZSxvbkNsaWNrOnQsLi4uYX0saSk9Pntjb25zdHtjb250cm9sOm8sZm9ybTpjLHZhbHVlOmQsZGlzYWJsZWQ6ZixjaGVja2VkOm0scmVxdWlyZWQ6aCxzZXRDb250cm9sOmcsc2V0Q2hlY2tlZDpiLGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmOnksaXNGb3JtQ29udHJvbDpDLGJ1YmJsZUlucHV0Ond9PWhtKEN5LGUpLHg9YnQoaSxnKSxGPVZhLnVzZVJlZihtKTtyZXR1cm4gVmEudXNlRWZmZWN0KCgpPT57Y29uc3QgQT1jP28/Lm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYyk6bz8uZm9ybTtpZihBIGluc3RhbmNlb2YgSFRNTEZvcm1FbGVtZW50KXtjb25zdCBEPSgpPT5iKEYuY3VycmVudCk7cmV0dXJuIEEuYWRkRXZlbnRMaXN0ZW5lcigicmVzZXQiLEQpLCgpPT5BLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2V0IixEKX19LFtvLGMsYl0pLCgwLFJyLmpzeCkoSGUuYnV0dG9uLHt0eXBlOiJidXR0b24iLHJvbGU6InN3aXRjaCIsImFyaWEtY2hlY2tlZCI6bSwiYXJpYS1yZXF1aXJlZCI6aCwiZGF0YS1zdGF0ZSI6ankobSksImRhdGEtZGlzYWJsZWQiOmY/IiI6dm9pZCAwLGRpc2FibGVkOmYsdmFsdWU6ZCwuLi5hLHJlZjp4LG9uQ2xpY2s6X2UodCxBPT57YihEPT4hRCksdyYmQyYmKHkuY3VycmVudD1BLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkseS5jdXJyZW50fHxBLnN0b3BQcm9wYWdhdGlvbigpKX0pfSl9KTtEeS5kaXNwbGF5TmFtZT1DeTt2YXIgQXk9VmEuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTd2l0Y2g6YSxuYW1lOmksY2hlY2tlZDpvLGRlZmF1bHRDaGVja2VkOmMscmVxdWlyZWQ6ZCxkaXNhYmxlZDpmLHZhbHVlOm0sb25DaGVja2VkQ2hhbmdlOmgsZm9ybTpnLC4uLmJ9PWU7cmV0dXJuKDAsUnIuanN4KShWUyx7X19zY29wZVN3aXRjaDphLGNoZWNrZWQ6byxkZWZhdWx0Q2hlY2tlZDpjLGRpc2FibGVkOmYscmVxdWlyZWQ6ZCxvbkNoZWNrZWRDaGFuZ2U6aCxuYW1lOmksZm9ybTpnLHZhbHVlOm0saW50ZXJuYWxfZG9fbm90X3VzZV9yZW5kZXI6KHtpc0Zvcm1Db250cm9sOnl9KT0+KDAsUnIuanN4cykoUnIuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxSci5qc3gpKER5LHsuLi5iLHJlZjp0LF9fc2NvcGVTd2l0Y2g6YX0pLHkmJigwLFJyLmpzeCkoVHkse19fc2NvcGVTd2l0Y2g6YX0pXX0pfSl9KTtBeS5kaXNwbGF5TmFtZT1NZDt2YXIgU3k9IlN3aXRjaFRodW1iIixCeT1WYS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVN3aXRjaDphLC4uLml9PWUsbz1obShTeSxhKTtyZXR1cm4oMCxSci5qc3gpKEhlLnNwYW4seyJkYXRhLXN0YXRlIjpqeShvLmNoZWNrZWQpLCJkYXRhLWRpc2FibGVkIjpvLmRpc2FibGVkPyIiOnZvaWQgMCwuLi5pLHJlZjp0fSl9KTtCeS5kaXNwbGF5TmFtZT1TeTt2YXIga3k9IlN3aXRjaEJ1YmJsZUlucHV0IixUeT1WYS5mb3J3YXJkUmVmKCh7X19zY29wZVN3aXRjaDplLC4uLnR9LGEpPT57Y29uc3R7Y29udHJvbDppLGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmOm8sY2hlY2tlZDpjLGRlZmF1bHRDaGVja2VkOmQscmVxdWlyZWQ6ZixkaXNhYmxlZDptLG5hbWU6aCx2YWx1ZTpnLGZvcm06YixidWJibGVJbnB1dDp5LHNldEJ1YmJsZUlucHV0OkN9PWhtKGt5LGUpLHc9YnQoYSxDKSx4PVliKGMpLEY9YmIoaSk7VmEudXNlRWZmZWN0KCgpPT57Y29uc3QgRD15O2lmKCFEKXJldHVybjtjb25zdCBCPXdpbmRvdy5IVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZSxrPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQiwiY2hlY2tlZCIpLnNldCxNPSFvLmN1cnJlbnQ7aWYoeCE9PWMmJmspe2NvbnN0IHo9bmV3IEV2ZW50KCJjbGljayIse2J1YmJsZXM6TX0pO2suY2FsbChELGMpLEQuZGlzcGF0Y2hFdmVudCh6KX19LFt5LHgsYyxvXSk7Y29uc3QgQT1WYS51c2VSZWYoYyk7cmV0dXJuKDAsUnIuanN4KShIZS5pbnB1dCx7dHlwZToiY2hlY2tib3giLCJhcmlhLWhpZGRlbiI6ITAsZGVmYXVsdENoZWNrZWQ6ZD8/QS5jdXJyZW50LHJlcXVpcmVkOmYsZGlzYWJsZWQ6bSxuYW1lOmgsdmFsdWU6Zyxmb3JtOmIsLi4udCx0YWJJbmRleDotMSxyZWY6dyxzdHlsZTp7Li4udC5zdHlsZSwuLi5GLHBvc2l0aW9uOiJhYnNvbHV0ZSIscG9pbnRlckV2ZW50czoibm9uZSIsb3BhY2l0eTowLG1hcmdpbjowLHRyYW5zZm9ybToidHJhbnNsYXRlWCgtMTAwJSkifX0pfSk7VHkuZGlzcGxheU5hbWU9a3k7ZnVuY3Rpb24gR1MoZSl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24ifWZ1bmN0aW9uIGp5KGUpe3JldHVybiBlPyJjaGVja2VkIjoidW5jaGVja2VkIn12YXIgWVM9bGUoQWUoKSwxKSxPZD1sZShxZSgpLDEpO2Z1bmN0aW9uIGdtKHtjaGVja2VkOmUsb25DaGVja2VkQ2hhbmdlOnQsYXJpYUxhYmVsOmEsbGFiZWw6aSxkaXNhYmxlZDpvLGNsYXNzTmFtZTpjLGlkOmR9KXtjb25zdCBmPSgwLFlTLnVzZUlkKSgpLG09ZD8/ZjtyZXR1cm4oMCxPZC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOnh1KCJ3YW5kLXVpLXN3aXRjaC1yb3ciLGMpLGNoaWxkcmVuOlsoMCxPZC5qc3gpKEF5LHtpZDptLGNsYXNzTmFtZToid2FuZC11aS1zd2l0Y2giLGNoZWNrZWQ6ZSxkaXNhYmxlZDpvLCJhcmlhLWxhYmVsIjphLG9uQ2hlY2tlZENoYW5nZTp0LGNoaWxkcmVuOigwLE9kLmpzeCkoQnkse2NsYXNzTmFtZToid2FuZC11aS1zd2l0Y2gtdGh1bWIifSl9KSxpPygwLE9kLmpzeCkoImxhYmVsIix7aHRtbEZvcjptLGNoaWxkcmVuOml9KTpudWxsXX0pfXZhciBNbz1sZShBZSgpLDEpLHJhPWxlKEFlKCksMSksV1M9bGUoQWUoKSwxKSxNeT1sZShBZSgpLDEpLGJtPSExO2Z1bmN0aW9uIEtTKCl7Y29uc3RbZSx0XT1NeS51c2VTdGF0ZShibSk7cmV0dXJuIE15LnVzZUVmZmVjdCgoKT0+e2JtfHwoYm09ITAsdCghMCkpfSxbXSksZX12YXIgT3k9V1NbIiB1c2VTeW5jRXh0ZXJuYWxTdG9yZSAiLnRyaW0oKS50b1N0cmluZygpXTtmdW5jdGlvbiBRUygpe3JldHVybigpPT57fX1mdW5jdGlvbiBYUygpe3JldHVybiBPeShRUywoKT0+ITAsKCk9PiExKX12YXIgJFM9dHlwZW9mIE95PT0iZnVuY3Rpb24iP1hTOktTLFR1PWxlKHFlKCksMSkseW09InJvdmluZ0ZvY3VzR3JvdXAub25FbnRyeUZvY3VzIixaUz17YnViYmxlczohMSxjYW5jZWxhYmxlOiEwfSxzbD0iUm92aW5nRm9jdXNHcm91cCIsW3dtLF95LEpTXT1zbShzbCksW2UzLE55XT1TcihzbCxbSlNdKSxbdDMsbjNdPWUzKHNsKSxSeT1yYS5mb3J3YXJkUmVmKChlLHQpPT4oMCxUdS5qc3gpKHdtLlByb3ZpZGVyLHtzY29wZTplLl9fc2NvcGVSb3ZpbmdGb2N1c0dyb3VwLGNoaWxkcmVuOigwLFR1LmpzeCkod20uU2xvdCx7c2NvcGU6ZS5fX3Njb3BlUm92aW5nRm9jdXNHcm91cCxjaGlsZHJlbjooMCxUdS5qc3gpKGEzLHsuLi5lLHJlZjp0fSl9KX0pKTtSeS5kaXNwbGF5TmFtZT1zbDt2YXIgYTM9cmEuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVSb3ZpbmdGb2N1c0dyb3VwOmEsb3JpZW50YXRpb246aSxsb29wOm89ITEsZGlyOmMsY3VycmVudFRhYlN0b3BJZDpkLGRlZmF1bHRDdXJyZW50VGFiU3RvcElkOmYsb25DdXJyZW50VGFiU3RvcElkQ2hhbmdlOm0sb25FbnRyeUZvY3VzOmgscHJldmVudFNjcm9sbE9uRW50cnlGb2N1czpnPSExLC4uLmJ9PWUseT1yYS51c2VSZWYobnVsbCksQz1idCh0LHkpLHc9bG0oYyksW3gsRl09bWkoe3Byb3A6ZCxkZWZhdWx0UHJvcDpmPz9udWxsLG9uQ2hhbmdlOm0sY2FsbGVyOnNsfSksW0EsRF09cmEudXNlU3RhdGUoITEpLEI9VW4oaCksVD1feShhKSxrPXJhLnVzZVJlZighMSksW00sel09cmEudXNlU3RhdGUoMCk7cmV0dXJuIHJhLnVzZUVmZmVjdCgoKT0+e2NvbnN0IE89eS5jdXJyZW50O2lmKE8pcmV0dXJuIE8uYWRkRXZlbnRMaXN0ZW5lcih5bSxCKSwoKT0+Ty5yZW1vdmVFdmVudExpc3RlbmVyKHltLEIpfSxbQl0pLCgwLFR1LmpzeCkodDMse3Njb3BlOmEsb3JpZW50YXRpb246aSxkaXI6dyxsb29wOm8sY3VycmVudFRhYlN0b3BJZDp4LG9uSXRlbUZvY3VzOnJhLnVzZUNhbGxiYWNrKE89PkYoTyksW0ZdKSxvbkl0ZW1TaGlmdFRhYjpyYS51c2VDYWxsYmFjaygoKT0+RCghMCksW10pLG9uRm9jdXNhYmxlSXRlbUFkZDpyYS51c2VDYWxsYmFjaygoKT0+eihPPT5PKzEpLFtdKSxvbkZvY3VzYWJsZUl0ZW1SZW1vdmU6cmEudXNlQ2FsbGJhY2soKCk9PnooTz0+Ty0xKSxbXSksY2hpbGRyZW46KDAsVHUuanN4KShIZS5kaXYse3RhYkluZGV4OkF8fE09PT0wPy0xOjAsImRhdGEtb3JpZW50YXRpb24iOmksLi4uYixyZWY6QyxzdHlsZTp7b3V0bGluZToibm9uZSIsLi4uZS5zdHlsZX0sb25Nb3VzZURvd246X2UoZS5vbk1vdXNlRG93biwoKT0+e2suY3VycmVudD0hMH0pLG9uRm9jdXM6X2UoZS5vbkZvY3VzLE89Pntjb25zdCByZT0hay5jdXJyZW50O2lmKE8udGFyZ2V0PT09Ty5jdXJyZW50VGFyZ2V0JiZyZSYmIUEpe2NvbnN0IGVlPW5ldyBDdXN0b21FdmVudCh5bSxaUyk7aWYoTy5jdXJyZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQoZWUpLCFlZS5kZWZhdWx0UHJldmVudGVkKXtjb25zdCBaPVQoKS5maWx0ZXIoST0+SS5mb2N1c2FibGUpLHZlPVouZmluZChJPT5JLmFjdGl2ZSksbWU9Wi5maW5kKEk9PkkuaWQ9PT14KSx0ZT1bdmUsbWUsLi4uWl0uZmlsdGVyKEJvb2xlYW4pLm1hcChJPT5JLnJlZi5jdXJyZW50KTt6eSh0ZSxnKX19ay5jdXJyZW50PSExfSksb25CbHVyOl9lKGUub25CbHVyLCgpPT5EKCExKSl9KX0pfSksSXk9IlJvdmluZ0ZvY3VzR3JvdXBJdGVtIixMeT1yYS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVJvdmluZ0ZvY3VzR3JvdXA6YSxmb2N1c2FibGU6aT0hMCxhY3RpdmU6bz0hMSx0YWJTdG9wSWQ6YyxjaGlsZHJlbjpkLC4uLmZ9PWUsbT1CcigpLGg9Y3x8bSxnPW4zKEl5LGEpLGI9Zy5jdXJyZW50VGFiU3RvcElkPT09aCx5PV95KGEpLHtvbkZvY3VzYWJsZUl0ZW1BZGQ6QyxvbkZvY3VzYWJsZUl0ZW1SZW1vdmU6dyxjdXJyZW50VGFiU3RvcElkOnh9PWcsRj0kUygpO3JldHVybiAkdCgoKT0+e2lmKCEoIUZ8fCFpKSlyZXR1cm4gQygpLCgpPT53KCl9LFtGLGksQyx3XSkscmEudXNlRWZmZWN0KCgpPT57aWYoIShGfHwhaSkpcmV0dXJuIEMoKSwoKT0+dygpfSxbRixpLEMsd10pLCgwLFR1LmpzeCkod20uSXRlbVNsb3Qse3Njb3BlOmEsaWQ6aCxmb2N1c2FibGU6aSxhY3RpdmU6byxjaGlsZHJlbjooMCxUdS5qc3gpKEhlLnNwYW4se3RhYkluZGV4OmI/MDotMSwiZGF0YS1vcmllbnRhdGlvbiI6Zy5vcmllbnRhdGlvbiwuLi5mLHJlZjp0LG9uTW91c2VEb3duOl9lKGUub25Nb3VzZURvd24sQT0+e2k/Zy5vbkl0ZW1Gb2N1cyhoKTpBLnByZXZlbnREZWZhdWx0KCl9KSxvbkZvY3VzOl9lKGUub25Gb2N1cywoKT0+Zy5vbkl0ZW1Gb2N1cyhoKSksb25LZXlEb3duOl9lKGUub25LZXlEb3duLEE9PntpZihBLmtleT09PSJUYWIiJiZBLnNoaWZ0S2V5KXtnLm9uSXRlbVNoaWZ0VGFiKCk7cmV0dXJufWlmKEEudGFyZ2V0IT09QS5jdXJyZW50VGFyZ2V0KXJldHVybjtjb25zdCBEPXUzKEEsZy5vcmllbnRhdGlvbixnLmRpcik7aWYoRCE9PXZvaWQgMCl7aWYoQS5tZXRhS2V5fHxBLmN0cmxLZXl8fEEuYWx0S2V5fHxBLnNoaWZ0S2V5KXJldHVybjtBLnByZXZlbnREZWZhdWx0KCk7bGV0IFQ9eSgpLmZpbHRlcihrPT5rLmZvY3VzYWJsZSkubWFwKGs9PmsucmVmLmN1cnJlbnQpO2lmKEQ9PT0ibGFzdCIpVC5yZXZlcnNlKCk7ZWxzZSBpZihEPT09InByZXYifHxEPT09Im5leHQiKXtEPT09InByZXYiJiZULnJldmVyc2UoKTtjb25zdCBrPVQuaW5kZXhPZihBLmN1cnJlbnRUYXJnZXQpO1Q9Zy5sb29wP28zKFQsaysxKTpULnNsaWNlKGsrMSl9c2V0VGltZW91dCgoKT0+enkoVCkpfX0pLGNoaWxkcmVuOnR5cGVvZiBkPT0iZnVuY3Rpb24iP2Qoe2lzQ3VycmVudFRhYlN0b3A6YixoYXNUYWJTdG9wOnghPW51bGx9KTpkfSl9KX0pO0x5LmRpc3BsYXlOYW1lPUl5O3ZhciByMz17QXJyb3dMZWZ0OiJwcmV2IixBcnJvd1VwOiJwcmV2IixBcnJvd1JpZ2h0OiJuZXh0IixBcnJvd0Rvd246Im5leHQiLFBhZ2VVcDoiZmlyc3QiLEhvbWU6ImZpcnN0IixQYWdlRG93bjoibGFzdCIsRW5kOiJsYXN0In07ZnVuY3Rpb24gaTMoZSx0KXtyZXR1cm4gdCE9PSJydGwiP2U6ZT09PSJBcnJvd0xlZnQiPyJBcnJvd1JpZ2h0IjplPT09IkFycm93UmlnaHQiPyJBcnJvd0xlZnQiOmV9ZnVuY3Rpb24gdTMoZSx0LGEpe2NvbnN0IGk9aTMoZS5rZXksYSk7aWYoISh0PT09InZlcnRpY2FsIiYmWyJBcnJvd0xlZnQiLCJBcnJvd1JpZ2h0Il0uaW5jbHVkZXMoaSkpJiYhKHQ9PT0iaG9yaXpvbnRhbCImJlsiQXJyb3dVcCIsIkFycm93RG93biJdLmluY2x1ZGVzKGkpKSlyZXR1cm4gcjNbaV19ZnVuY3Rpb24genkoZSx0PSExKXtjb25zdCBhPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7Zm9yKGNvbnN0IGkgb2YgZSlpZihpPT09YXx8KGkuZm9jdXMoe3ByZXZlbnRTY3JvbGw6dH0pLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1hKSlyZXR1cm59ZnVuY3Rpb24gbzMoZSx0KXtyZXR1cm4gZS5tYXAoKGEsaSk9PmVbKHQraSklZS5sZW5ndGhdKX12YXIgczM9UnksbDM9THksQ2k9bGUocWUoKSwxKSxfZD0iVGFicyIsW2MzLExMXT1TcihfZCxbTnldKSxIeT1OeSgpLFtkMyx4bV09YzMoX2QpLHF5PU1vLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlVGFiczphLHZhbHVlOmksb25WYWx1ZUNoYW5nZTpvLGRlZmF1bHRWYWx1ZTpjLG9yaWVudGF0aW9uOmQ9Imhvcml6b250YWwiLGRpcjpmLGFjdGl2YXRpb25Nb2RlOm09ImF1dG9tYXRpYyIsLi4uaH09ZSxnPWxtKGYpLFtiLHldPW1pKHtwcm9wOmksb25DaGFuZ2U6byxkZWZhdWx0UHJvcDpjPz8iIixjYWxsZXI6X2R9KTtyZXR1cm4oMCxDaS5qc3gpKGQzLHtzY29wZTphLGJhc2VJZDpCcigpLHZhbHVlOmIsb25WYWx1ZUNoYW5nZTp5LG9yaWVudGF0aW9uOmQsZGlyOmcsYWN0aXZhdGlvbk1vZGU6bSxjaGlsZHJlbjooMCxDaS5qc3gpKEhlLmRpdix7ZGlyOmcsImRhdGEtb3JpZW50YXRpb24iOmQsLi4uaCxyZWY6dH0pfSl9KTtxeS5kaXNwbGF5TmFtZT1fZDt2YXIgUHk9IlRhYnNMaXN0IixVeT1Nby5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRhYnM6YSxsb29wOmk9ITAsLi4ub309ZSxjPXhtKFB5LGEpLGQ9SHkoYSk7cmV0dXJuKDAsQ2kuanN4KShzMyx7YXNDaGlsZDohMCwuLi5kLG9yaWVudGF0aW9uOmMub3JpZW50YXRpb24sZGlyOmMuZGlyLGxvb3A6aSxjaGlsZHJlbjooMCxDaS5qc3gpKEhlLmRpdix7cm9sZToidGFibGlzdCIsImFyaWEtb3JpZW50YXRpb24iOmMub3JpZW50YXRpb24sLi4ubyxyZWY6dH0pfSl9KTtVeS5kaXNwbGF5TmFtZT1QeTt2YXIgVnk9IlRhYnNUcmlnZ2VyIixHeT1Nby5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRhYnM6YSx2YWx1ZTppLGRpc2FibGVkOm89ITEsLi4uY309ZSxkPXhtKFZ5LGEpLGY9SHkoYSksbT1LeShkLmJhc2VJZCxpKSxoPVF5KGQuYmFzZUlkLGkpLGc9aT09PWQudmFsdWU7cmV0dXJuKDAsQ2kuanN4KShsMyx7YXNDaGlsZDohMCwuLi5mLGZvY3VzYWJsZTohbyxhY3RpdmU6ZyxjaGlsZHJlbjooMCxDaS5qc3gpKEhlLmJ1dHRvbix7dHlwZToiYnV0dG9uIixyb2xlOiJ0YWIiLCJhcmlhLXNlbGVjdGVkIjpnLCJhcmlhLWNvbnRyb2xzIjpoLCJkYXRhLXN0YXRlIjpnPyJhY3RpdmUiOiJpbmFjdGl2ZSIsImRhdGEtZGlzYWJsZWQiOm8/IiI6dm9pZCAwLGRpc2FibGVkOm8saWQ6bSwuLi5jLHJlZjp0LG9uTW91c2VEb3duOl9lKGUub25Nb3VzZURvd24sYj0+eyFvJiZiLmJ1dHRvbj09PTAmJmIuY3RybEtleT09PSExP2Qub25WYWx1ZUNoYW5nZShpKTpiLnByZXZlbnREZWZhdWx0KCl9KSxvbktleURvd246X2UoZS5vbktleURvd24sYj0+e298fGIudGFyZ2V0IT09Yi5jdXJyZW50VGFyZ2V0fHxbIiAiLCJFbnRlciJdLmluY2x1ZGVzKGIua2V5KSYmZC5vblZhbHVlQ2hhbmdlKGkpfSksb25Gb2N1czpfZShlLm9uRm9jdXMsKCk9Pntjb25zdCBiPWQuYWN0aXZhdGlvbk1vZGUhPT0ibWFudWFsIjshZyYmIW8mJmImJmQub25WYWx1ZUNoYW5nZShpKX0pfSl9KX0pO0d5LmRpc3BsYXlOYW1lPVZ5O3ZhciBZeT0iVGFic0NvbnRlbnQiLFd5PU1vLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlVGFiczphLHZhbHVlOmksZm9yY2VNb3VudDpvLGNoaWxkcmVuOmMsLi4uZH09ZSxmPXhtKFl5LGEpLG09S3koZi5iYXNlSWQsaSksaD1ReShmLmJhc2VJZCxpKSxnPWk9PT1mLnZhbHVlLGI9TW8udXNlUmVmKGcpO3JldHVybiBNby51c2VFZmZlY3QoKCk9Pntjb25zdCB5PXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+Yi5jdXJyZW50PSExKTtyZXR1cm4oKT0+Y2FuY2VsQW5pbWF0aW9uRnJhbWUoeSl9LFtdKSwoMCxDaS5qc3gpKGtyLHtwcmVzZW50Om98fGcsY2hpbGRyZW46KHtwcmVzZW50Onl9KT0+KDAsQ2kuanN4KShIZS5kaXYseyJkYXRhLXN0YXRlIjpnPyJhY3RpdmUiOiJpbmFjdGl2ZSIsImRhdGEtb3JpZW50YXRpb24iOmYub3JpZW50YXRpb24scm9sZToidGFicGFuZWwiLCJhcmlhLWxhYmVsbGVkYnkiOm0saGlkZGVuOiF5LGlkOmgsdGFiSW5kZXg6MCwuLi5kLHJlZjp0LHN0eWxlOnsuLi5lLnN0eWxlLGFuaW1hdGlvbkR1cmF0aW9uOmIuY3VycmVudD8iMHMiOnZvaWQgMH0sY2hpbGRyZW46eSYmY30pfSl9KTtXeS5kaXNwbGF5TmFtZT1ZeTtmdW5jdGlvbiBLeShlLHQpe3JldHVybmAke2V9LXRyaWdnZXItJHt0fWB9ZnVuY3Rpb24gUXkoZSx0KXtyZXR1cm5gJHtlfS1jb250ZW50LSR7dH1gfXZhciBmMz1xeSxwMz1VeSx2Mz1HeSxtMz1XeSxOZD1sZShxZSgpLDEpO2Z1bmN0aW9uIGgzKHt0YWJzOmUsdmFsdWU6dCxkZWZhdWx0VmFsdWU6YSxhcmlhTGFiZWw6aSxjbGFzc05hbWU6byxvblZhbHVlQ2hhbmdlOmN9KXtjb25zdCBkPWE/P2VbMF0/LnZhbHVlO3JldHVybigwLE5kLmpzeHMpKGYzLHtjbGFzc05hbWU6byx2YWx1ZTp0LGRlZmF1bHRWYWx1ZTpkLG9uVmFsdWVDaGFuZ2U6YyxjaGlsZHJlbjpbKDAsTmQuanN4KShwMyx7Y2xhc3NOYW1lOiJ3YW5kLXVpLXRhYnMtbGlzdCIsImFyaWEtbGFiZWwiOmksY2hpbGRyZW46ZS5tYXAoZj0+KDAsTmQuanN4KSh2Myx7Y2xhc3NOYW1lOiJ3YW5kLXVpLXRhYnMtdHJpZ2dlciIsdmFsdWU6Zi52YWx1ZSxkaXNhYmxlZDpmLmRpc2FibGVkLGNoaWxkcmVuOmYubGFiZWx9LGYudmFsdWUpKX0pLGUubWFwKGY9PigwLE5kLmpzeCkobTMse2NsYXNzTmFtZTp4dSgid2FuZC11aS10YWJzLWNvbnRlbnQiKSx2YWx1ZTpmLnZhbHVlLGNoaWxkcmVuOmYuY29udGVudH0sZi52YWx1ZSkpXX0pfXZhciBZZT1sZShBZSgpLDEpLGczPWxlKGRpKCksMSkseXQ9bGUocWUoKSwxKSxFbT0iVG9hc3RQcm92aWRlciIsW0ZtLGIzLHkzXT1zbSgiVG9hc3QiKSxbWHksekxdPVNyKCJUb2FzdCIsW3kzXSksW3czLFJkXT1YeShFbSksJHk9ZT0+e2NvbnN0e19fc2NvcGVUb2FzdDp0LGxhYmVsOmE9Ik5vdGlmaWNhdGlvbiIsZHVyYXRpb246aT01ZTMsc3dpcGVEaXJlY3Rpb246bz0icmlnaHQiLHN3aXBlVGhyZXNob2xkOmM9NTAsYW5ub3VuY2VyQ29udGFpbmVyOmQsY2hpbGRyZW46Zn09ZSxbbSxoXT1ZZS51c2VTdGF0ZShudWxsKSxbZyxiXT1ZZS51c2VTdGF0ZSgwKSx5PVllLnVzZVJlZighMSksQz1ZZS51c2VSZWYoITEpO3JldHVybiBhLnRyaW0oKXx8Y29uc29sZS5lcnJvcihgSW52YWxpZCBwcm9wIFxgbGFiZWxcYCBzdXBwbGllZCB0byBcYCR7RW19XGAuIEV4cGVjdGVkIG5vbi1lbXB0eSBcYHN0cmluZ1xgLmApLCgwLHl0LmpzeCkoRm0uUHJvdmlkZXIse3Njb3BlOnQsY2hpbGRyZW46KDAseXQuanN4KSh3Myx7c2NvcGU6dCxsYWJlbDphLGR1cmF0aW9uOmksc3dpcGVEaXJlY3Rpb246byxzd2lwZVRocmVzaG9sZDpjLHRvYXN0Q291bnQ6Zyx2aWV3cG9ydDptLG9uVmlld3BvcnRDaGFuZ2U6aCxvblRvYXN0QWRkOlllLnVzZUNhbGxiYWNrKCgpPT5iKHc9PncrMSksW10pLG9uVG9hc3RSZW1vdmU6WWUudXNlQ2FsbGJhY2soKCk9PmIodz0+dy0xKSxbXSksaXNGb2N1c2VkVG9hc3RFc2NhcGVLZXlEb3duUmVmOnksaXNDbG9zZVBhdXNlZFJlZjpDLGFubm91bmNlckNvbnRhaW5lcjpkLGNoaWxkcmVuOmZ9KX0pfTskeS5kaXNwbGF5TmFtZT1FbTt2YXIgWnk9IlRvYXN0Vmlld3BvcnQiLHgzPVsiRjgiXSxDbT0idG9hc3Qudmlld3BvcnRQYXVzZSIsRG09InRvYXN0LnZpZXdwb3J0UmVzdW1lIixKeT1ZZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvYXN0OmEsaG90a2V5Omk9eDMsbGFiZWw6bz0iTm90aWZpY2F0aW9ucyAoe2hvdGtleX0pIiwuLi5jfT1lLGQ9UmQoWnksYSksZj1iMyhhKSxtPVllLnVzZVJlZihudWxsKSxoPVllLnVzZVJlZihudWxsKSxnPVllLnVzZVJlZihudWxsKSxiPVllLnVzZVJlZihudWxsKSx5PWJ0KHQsYixkLm9uVmlld3BvcnRDaGFuZ2UpLEM9aS5qb2luKCIrIikucmVwbGFjZSgvS2V5L2csIiIpLnJlcGxhY2UoL0RpZ2l0L2csIiIpLHc9ZC50b2FzdENvdW50PjA7WWUudXNlRWZmZWN0KCgpPT57Y29uc3QgRj1BPT57aS5sZW5ndGghPT0wJiZpLmV2ZXJ5KEI9PkFbQl18fEEuY29kZT09PUIpJiZiLmN1cnJlbnQ/LmZvY3VzKCl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixGKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsRil9LFtpXSksWWUudXNlRWZmZWN0KCgpPT57Y29uc3QgRj1tLmN1cnJlbnQsQT1iLmN1cnJlbnQ7aWYodyYmRiYmQSl7Y29uc3QgRD0oKT0+e2lmKCFkLmlzQ2xvc2VQYXVzZWRSZWYuY3VycmVudCl7Y29uc3QgTT1uZXcgQ3VzdG9tRXZlbnQoQ20pO0EuZGlzcGF0Y2hFdmVudChNKSxkLmlzQ2xvc2VQYXVzZWRSZWYuY3VycmVudD0hMH19LEI9KCk9PntpZihkLmlzQ2xvc2VQYXVzZWRSZWYuY3VycmVudCl7Y29uc3QgTT1uZXcgQ3VzdG9tRXZlbnQoRG0pO0EuZGlzcGF0Y2hFdmVudChNKSxkLmlzQ2xvc2VQYXVzZWRSZWYuY3VycmVudD0hMX19LFQ9TT0+eyFGLmNvbnRhaW5zKE0ucmVsYXRlZFRhcmdldCkmJkIoKX0saz0oKT0+e0YuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl8fEIoKX07cmV0dXJuIEYuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsRCksRi5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsVCksRi5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsRCksRi5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLGspLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixEKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLEIpLCgpPT57Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c2luIixEKSxGLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixUKSxGLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixEKSxGLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJsZWF2ZSIsayksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLEQpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsQil9fX0sW3csZC5pc0Nsb3NlUGF1c2VkUmVmXSk7Y29uc3QgeD1ZZS51c2VDYWxsYmFjaygoe3RhYmJpbmdEaXJlY3Rpb246Rn0pPT57Y29uc3QgRD1mKCkubWFwKEI9Pntjb25zdCBUPUIucmVmLmN1cnJlbnQsaz1bVCwuLi5OMyhUKV07cmV0dXJuIEY9PT0iZm9yd2FyZHMiP2s6ay5yZXZlcnNlKCl9KTtyZXR1cm4oRj09PSJmb3J3YXJkcyI/RC5yZXZlcnNlKCk6RCkuZmxhdCgpfSxbZl0pO3JldHVybiBZZS51c2VFZmZlY3QoKCk9Pntjb25zdCBGPWIuY3VycmVudDtpZihGKXtjb25zdCBBPUQ9Pntjb25zdCBCPUQuYWx0S2V5fHxELmN0cmxLZXl8fEQubWV0YUtleTtpZihELmtleT09PSJUYWIiJiYhQil7Y29uc3Qgaz1kb2N1bWVudC5hY3RpdmVFbGVtZW50LE09RC5zaGlmdEtleTtpZihELnRhcmdldD09PUYmJk0pe2guY3VycmVudD8uZm9jdXMoKTtyZXR1cm59Y29uc3QgcmU9eCh7dGFiYmluZ0RpcmVjdGlvbjpNPyJiYWNrd2FyZHMiOiJmb3J3YXJkcyJ9KSxlZT1yZS5maW5kSW5kZXgoWj0+Wj09PWspO0JtKHJlLnNsaWNlKGVlKzEpKT9ELnByZXZlbnREZWZhdWx0KCk6TT9oLmN1cnJlbnQ/LmZvY3VzKCk6Zy5jdXJyZW50Py5mb2N1cygpfX07cmV0dXJuIEYuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsQSksKCk9PkYucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsQSl9fSxbZix4XSksKDAseXQuanN4cykoYjcse3JlZjptLHJvbGU6InJlZ2lvbiIsImFyaWEtbGFiZWwiOm8ucmVwbGFjZSgie2hvdGtleX0iLEMpLHRhYkluZGV4Oi0xLHN0eWxlOntwb2ludGVyRXZlbnRzOnc/dm9pZCAwOiJub25lIn0sY2hpbGRyZW46W3cmJigwLHl0LmpzeCkoQW0se3JlZjpoLG9uRm9jdXNGcm9tT3V0c2lkZVZpZXdwb3J0OigpPT57Y29uc3QgRj14KHt0YWJiaW5nRGlyZWN0aW9uOiJmb3J3YXJkcyJ9KTtCbShGKX19KSwoMCx5dC5qc3gpKEZtLlNsb3Qse3Njb3BlOmEsY2hpbGRyZW46KDAseXQuanN4KShIZS5vbCx7dGFiSW5kZXg6LTEsLi4uYyxyZWY6eX0pfSksdyYmKDAseXQuanN4KShBbSx7cmVmOmcsb25Gb2N1c0Zyb21PdXRzaWRlVmlld3BvcnQ6KCk9Pntjb25zdCBGPXgoe3RhYmJpbmdEaXJlY3Rpb246ImJhY2t3YXJkcyJ9KTtCbShGKX19KV19KX0pO0p5LmRpc3BsYXlOYW1lPVp5O3ZhciBldz0iVG9hc3RGb2N1c1Byb3h5IixBbT1ZZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvYXN0OmEsb25Gb2N1c0Zyb21PdXRzaWRlVmlld3BvcnQ6aSwuLi5vfT1lLGM9UmQoZXcsYSk7cmV0dXJuKDAseXQuanN4KShjbSx7dGFiSW5kZXg6MCwuLi5vLHJlZjp0LHN0eWxlOntwb3NpdGlvbjoiZml4ZWQifSxvbkZvY3VzOmQ9Pntjb25zdCBmPWQucmVsYXRlZFRhcmdldDshYy52aWV3cG9ydD8uY29udGFpbnMoZikmJmkoKX19KX0pO0FtLmRpc3BsYXlOYW1lPWV3O3ZhciBsbD0iVG9hc3QiLEUzPSJ0b2FzdC5zd2lwZVN0YXJ0IixGMz0idG9hc3Quc3dpcGVNb3ZlIixDMz0idG9hc3Quc3dpcGVDYW5jZWwiLEQzPSJ0b2FzdC5zd2lwZUVuZCIsdHc9WWUuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e2ZvcmNlTW91bnQ6YSxvcGVuOmksZGVmYXVsdE9wZW46byxvbk9wZW5DaGFuZ2U6YywuLi5kfT1lLFtmLG1dPW1pKHtwcm9wOmksZGVmYXVsdFByb3A6bz8/ITAsb25DaGFuZ2U6YyxjYWxsZXI6bGx9KTtyZXR1cm4oMCx5dC5qc3gpKGtyLHtwcmVzZW50OmF8fGYsY2hpbGRyZW46KDAseXQuanN4KShCMyx7b3BlbjpmLC4uLmQscmVmOnQsb25DbG9zZTooKT0+bSghMSksb25QYXVzZTpVbihlLm9uUGF1c2UpLG9uUmVzdW1lOlVuKGUub25SZXN1bWUpLG9uU3dpcGVTdGFydDpfZShlLm9uU3dpcGVTdGFydCxoPT57aC5jdXJyZW50VGFyZ2V0LnNldEF0dHJpYnV0ZSgiZGF0YS1zd2lwZSIsInN0YXJ0Iil9KSxvblN3aXBlTW92ZTpfZShlLm9uU3dpcGVNb3ZlLGg9Pntjb25zdHt4OmcseTpifT1oLmRldGFpbC5kZWx0YTtoLmN1cnJlbnRUYXJnZXQuc2V0QXR0cmlidXRlKCJkYXRhLXN3aXBlIiwibW92ZSIpLGguY3VycmVudFRhcmdldC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1yYWRpeC10b2FzdC1zd2lwZS1tb3ZlLXgiLGAke2d9cHhgKSxoLmN1cnJlbnRUYXJnZXQuc3R5bGUuc2V0UHJvcGVydHkoIi0tcmFkaXgtdG9hc3Qtc3dpcGUtbW92ZS15IixgJHtifXB4YCl9KSxvblN3aXBlQ2FuY2VsOl9lKGUub25Td2lwZUNhbmNlbCxoPT57aC5jdXJyZW50VGFyZ2V0LnNldEF0dHJpYnV0ZSgiZGF0YS1zd2lwZSIsImNhbmNlbCIpLGguY3VycmVudFRhcmdldC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1yYWRpeC10b2FzdC1zd2lwZS1tb3ZlLXgiKSxoLmN1cnJlbnRUYXJnZXQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tcmFkaXgtdG9hc3Qtc3dpcGUtbW92ZS15IiksaC5jdXJyZW50VGFyZ2V0LnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLXJhZGl4LXRvYXN0LXN3aXBlLWVuZC14IiksaC5jdXJyZW50VGFyZ2V0LnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLXJhZGl4LXRvYXN0LXN3aXBlLWVuZC15Iil9KSxvblN3aXBlRW5kOl9lKGUub25Td2lwZUVuZCxoPT57Y29uc3R7eDpnLHk6Yn09aC5kZXRhaWwuZGVsdGE7aC5jdXJyZW50VGFyZ2V0LnNldEF0dHJpYnV0ZSgiZGF0YS1zd2lwZSIsImVuZCIpLGguY3VycmVudFRhcmdldC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1yYWRpeC10b2FzdC1zd2lwZS1tb3ZlLXgiKSxoLmN1cnJlbnRUYXJnZXQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tcmFkaXgtdG9hc3Qtc3dpcGUtbW92ZS15IiksaC5jdXJyZW50VGFyZ2V0LnN0eWxlLnNldFByb3BlcnR5KCItLXJhZGl4LXRvYXN0LXN3aXBlLWVuZC14IixgJHtnfXB4YCksaC5jdXJyZW50VGFyZ2V0LnN0eWxlLnNldFByb3BlcnR5KCItLXJhZGl4LXRvYXN0LXN3aXBlLWVuZC15IixgJHtifXB4YCksbSghMSl9KX0pfSl9KTt0dy5kaXNwbGF5TmFtZT1sbDt2YXJbQTMsUzNdPVh5KGxsLHtvbkNsb3NlKCl7fX0pLEIzPVllLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlVG9hc3Q6YSx0eXBlOmk9ImZvcmVncm91bmQiLGR1cmF0aW9uOm8sb3BlbjpjLG9uQ2xvc2U6ZCxvbkVzY2FwZUtleURvd246ZixvblBhdXNlOm0sb25SZXN1bWU6aCxvblN3aXBlU3RhcnQ6ZyxvblN3aXBlTW92ZTpiLG9uU3dpcGVDYW5jZWw6eSxvblN3aXBlRW5kOkMsLi4ud309ZSx4PVJkKGxsLGEpLFtGLEFdPVllLnVzZVN0YXRlKG51bGwpLEQ9YnQodCxBKSxCPVllLnVzZVJlZihudWxsKSxUPVllLnVzZVJlZihudWxsKSxrPW98fHguZHVyYXRpb24sTT1ZZS51c2VSZWYoMCksej1ZZS51c2VSZWYoayksTz1ZZS51c2VSZWYoMCkse29uVG9hc3RBZGQ6cmUsb25Ub2FzdFJlbW92ZTplZX09eCxaPVVuKCgpPT57Rj8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkmJngudmlld3BvcnQ/LmZvY3VzKCksZCgpfSksdmU9WWUudXNlQ2FsbGJhY2soSD0+eyFIfHxIPT09MS8wfHwod2luZG93LmNsZWFyVGltZW91dChPLmN1cnJlbnQpLE0uY3VycmVudD1uZXcgRGF0ZSgpLmdldFRpbWUoKSxPLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoWixIKSl9LFtaXSk7WWUudXNlRWZmZWN0KCgpPT57Y29uc3QgSD14LnZpZXdwb3J0O2lmKEgpe2NvbnN0IHRlPSgpPT57dmUoei5jdXJyZW50KSxoPy4oKX0sST0oKT0+e2NvbnN0IFU9bmV3IERhdGUoKS5nZXRUaW1lKCktTS5jdXJyZW50O3ouY3VycmVudD16LmN1cnJlbnQtVSx3aW5kb3cuY2xlYXJUaW1lb3V0KE8uY3VycmVudCksbT8uKCl9O3JldHVybiBILmFkZEV2ZW50TGlzdGVuZXIoQ20sSSksSC5hZGRFdmVudExpc3RlbmVyKERtLHRlKSwoKT0+e0gucmVtb3ZlRXZlbnRMaXN0ZW5lcihDbSxJKSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoRG0sdGUpfX19LFt4LnZpZXdwb3J0LGssbSxoLHZlXSksWWUudXNlRWZmZWN0KCgpPT57YyYmIXguaXNDbG9zZVBhdXNlZFJlZi5jdXJyZW50JiZ2ZShrKX0sW2Msayx4LmlzQ2xvc2VQYXVzZWRSZWYsdmVdKSxZZS51c2VFZmZlY3QoKCk9PigpPT57d2luZG93LmNsZWFyVGltZW91dChPLmN1cnJlbnQpfSxbXSksWWUudXNlRWZmZWN0KCgpPT4ocmUoKSwoKT0+ZWUoKSksW3JlLGVlXSk7Y29uc3QgbWU9WWUudXNlTWVtbygoKT0+Rj9vdyhGKTpudWxsLFtGXSk7cmV0dXJuIHgudmlld3BvcnQ/KDAseXQuanN4cykoeXQuRnJhZ21lbnQse2NoaWxkcmVuOlttZSYmKDAseXQuanN4KShrMyx7X19zY29wZVRvYXN0OmEscm9sZToic3RhdHVzIiwiYXJpYS1saXZlIjppPT09ImZvcmVncm91bmQiPyJhc3NlcnRpdmUiOiJwb2xpdGUiLGNoaWxkcmVuOm1lfSksKDAseXQuanN4KShBMyx7c2NvcGU6YSxvbkNsb3NlOlosY2hpbGRyZW46ZzMuY3JlYXRlUG9ydGFsKCgwLHl0LmpzeCkoRm0uSXRlbVNsb3Qse3Njb3BlOmEsY2hpbGRyZW46KDAseXQuanN4KShnNyx7YXNDaGlsZDohMCxvbkVzY2FwZUtleURvd246X2UoZiwoKT0+e3guaXNGb2N1c2VkVG9hc3RFc2NhcGVLZXlEb3duUmVmLmN1cnJlbnR8fFooKSx4LmlzRm9jdXNlZFRvYXN0RXNjYXBlS2V5RG93blJlZi5jdXJyZW50PSExfSksY2hpbGRyZW46KDAseXQuanN4KShIZS5saSx7dGFiSW5kZXg6MCwiZGF0YS1zdGF0ZSI6Yz8ib3BlbiI6ImNsb3NlZCIsImRhdGEtc3dpcGUtZGlyZWN0aW9uIjp4LnN3aXBlRGlyZWN0aW9uLC4uLncscmVmOkQsc3R5bGU6e3VzZXJTZWxlY3Q6Im5vbmUiLHRvdWNoQWN0aW9uOiJub25lIiwuLi5lLnN0eWxlfSxvbktleURvd246X2UoZS5vbktleURvd24sSD0+e0gua2V5PT09IkVzY2FwZSImJihmPy4oSC5uYXRpdmVFdmVudCksSC5uYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkfHwoeC5pc0ZvY3VzZWRUb2FzdEVzY2FwZUtleURvd25SZWYuY3VycmVudD0hMCxaKCkpKX0pLG9uUG9pbnRlckRvd246X2UoZS5vblBvaW50ZXJEb3duLEg9PntILmJ1dHRvbj09PTAmJihCLmN1cnJlbnQ9e3g6SC5jbGllbnRYLHk6SC5jbGllbnRZfSl9KSxvblBvaW50ZXJNb3ZlOl9lKGUub25Qb2ludGVyTW92ZSxIPT57aWYoIUIuY3VycmVudClyZXR1cm47Y29uc3QgdGU9SC5jbGllbnRYLUIuY3VycmVudC54LEk9SC5jbGllbnRZLUIuY3VycmVudC55LFU9ISFULmN1cnJlbnQsVz1bImxlZnQiLCJyaWdodCJdLmluY2x1ZGVzKHguc3dpcGVEaXJlY3Rpb24pLFg9WyJsZWZ0IiwidXAiXS5pbmNsdWRlcyh4LnN3aXBlRGlyZWN0aW9uKT9NYXRoLm1pbjpNYXRoLm1heCxmZT1XP1goMCx0ZSk6MCxnZT1XPzA6WCgwLEkpLGo9SC5wb2ludGVyVHlwZT09PSJ0b3VjaCI/MTA6MixZPXt4OmZlLHk6Z2V9LHNlPXtvcmlnaW5hbEV2ZW50OkgsZGVsdGE6WX07VT8oVC5jdXJyZW50PVksSWQoRjMsYixzZSx7ZGlzY3JldGU6ITF9KSk6c3coWSx4LnN3aXBlRGlyZWN0aW9uLGopPyhULmN1cnJlbnQ9WSxJZChFMyxnLHNlLHtkaXNjcmV0ZTohMX0pLEgudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKEgucG9pbnRlcklkKSk6KE1hdGguYWJzKHRlKT5qfHxNYXRoLmFicyhJKT5qKSYmKEIuY3VycmVudD1udWxsKX0pLG9uUG9pbnRlclVwOl9lKGUub25Qb2ludGVyVXAsSD0+e2NvbnN0IHRlPVQuY3VycmVudCxJPUgudGFyZ2V0O2lmKEkuaGFzUG9pbnRlckNhcHR1cmUoSC5wb2ludGVySWQpJiZJLnJlbGVhc2VQb2ludGVyQ2FwdHVyZShILnBvaW50ZXJJZCksVC5jdXJyZW50PW51bGwsQi5jdXJyZW50PW51bGwsdGUpe2NvbnN0IFU9SC5jdXJyZW50VGFyZ2V0LFc9e29yaWdpbmFsRXZlbnQ6SCxkZWx0YTp0ZX07c3codGUseC5zd2lwZURpcmVjdGlvbix4LnN3aXBlVGhyZXNob2xkKT9JZChEMyxDLFcse2Rpc2NyZXRlOiEwfSk6SWQoQzMseSxXLHtkaXNjcmV0ZTohMH0pLFUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFg9PlgucHJldmVudERlZmF1bHQoKSx7b25jZTohMH0pfX0pfSl9KX0pLHgudmlld3BvcnQpfSldfSk6bnVsbH0pLGszPWU9Pntjb25zdHtfX3Njb3BlVG9hc3Q6dCxjaGlsZHJlbjphLC4uLml9PWUsbz1SZChsbCx0KSxbYyxkXT1ZZS51c2VTdGF0ZSghMSksW2YsbV09WWUudXNlU3RhdGUoITEpO3JldHVybiBPMygoKT0+ZCghMCkpLFllLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGg9d2luZG93LnNldFRpbWVvdXQoKCk9Pm0oITApLDFlMyk7cmV0dXJuKCk9PndpbmRvdy5jbGVhclRpbWVvdXQoaCl9LFtdKSxmP251bGw6KDAseXQuanN4KShKcyx7YXNDaGlsZDohMCxjb250YWluZXI6by5hbm5vdW5jZXJDb250YWluZXJ8fHZvaWQgMCxjaGlsZHJlbjooMCx5dC5qc3gpKGNtLHsuLi5pLGNoaWxkcmVuOmMmJigwLHl0LmpzeHMpKHl0LkZyYWdtZW50LHtjaGlsZHJlbjpbby5sYWJlbCwiICIsYV19KX0pfSl9LFQzPSJUb2FzdFRpdGxlIixudz1ZZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvYXN0OmEsLi4uaX09ZTtyZXR1cm4oMCx5dC5qc3gpKEhlLmRpdix7Li4uaSxyZWY6dH0pfSk7bncuZGlzcGxheU5hbWU9VDM7dmFyIGozPSJUb2FzdERlc2NyaXB0aW9uIixhdz1ZZS5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvYXN0OmEsLi4uaX09ZTtyZXR1cm4oMCx5dC5qc3gpKEhlLmRpdix7Li4uaSxyZWY6dH0pfSk7YXcuZGlzcGxheU5hbWU9ajM7dmFyIHJ3PSJUb2FzdEFjdGlvbiIsTTM9WWUuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e2FsdFRleHQ6YSwuLi5pfT1lO3JldHVybiBhLnRyaW0oKT8oMCx5dC5qc3gpKHV3LHthbHRUZXh0OmEsYXNDaGlsZDohMCxjaGlsZHJlbjooMCx5dC5qc3gpKFNtLHsuLi5pLHJlZjp0fSl9KTooY29uc29sZS5lcnJvcihgSW52YWxpZCBwcm9wIFxgYWx0VGV4dFxgIHN1cHBsaWVkIHRvIFxgJHtyd31cYC4gRXhwZWN0ZWQgbm9uLWVtcHR5IFxgc3RyaW5nXGAuYCksbnVsbCl9KTtNMy5kaXNwbGF5TmFtZT1ydzt2YXIgaXc9IlRvYXN0Q2xvc2UiLFNtPVllLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlVG9hc3Q6YSwuLi5pfT1lLG89UzMoaXcsYSk7cmV0dXJuKDAseXQuanN4KSh1dyx7YXNDaGlsZDohMCxjaGlsZHJlbjooMCx5dC5qc3gpKEhlLmJ1dHRvbix7dHlwZToiYnV0dG9uIiwuLi5pLHJlZjp0LG9uQ2xpY2s6X2UoZS5vbkNsaWNrLG8ub25DbG9zZSl9KX0pfSk7U20uZGlzcGxheU5hbWU9aXc7dmFyIHV3PVllLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlVG9hc3Q6YSxhbHRUZXh0OmksLi4ub309ZTtyZXR1cm4oMCx5dC5qc3gpKEhlLmRpdix7ImRhdGEtcmFkaXgtdG9hc3QtYW5ub3VuY2UtZXhjbHVkZSI6IiIsImRhdGEtcmFkaXgtdG9hc3QtYW5ub3VuY2UtYWx0IjppfHx2b2lkIDAsLi4ubyxyZWY6dH0pfSk7ZnVuY3Rpb24gb3coZSl7Y29uc3QgdD1bXTtyZXR1cm4gQXJyYXkuZnJvbShlLmNoaWxkTm9kZXMpLmZvckVhY2goaT0+e2lmKGkubm9kZVR5cGU9PT1pLlRFWFRfTk9ERSYmaS50ZXh0Q29udGVudCYmdC5wdXNoKGkudGV4dENvbnRlbnQpLF8zKGkpKXtjb25zdCBvPWkuYXJpYUhpZGRlbnx8aS5oaWRkZW58fGkuc3R5bGUuZGlzcGxheT09PSJub25lIixjPWkuZGF0YXNldC5yYWRpeFRvYXN0QW5ub3VuY2VFeGNsdWRlPT09IiI7aWYoIW8paWYoYyl7Y29uc3QgZD1pLmRhdGFzZXQucmFkaXhUb2FzdEFubm91bmNlQWx0O2QmJnQucHVzaChkKX1lbHNlIHQucHVzaCguLi5vdyhpKSl9fSksdH1mdW5jdGlvbiBJZChlLHQsYSx7ZGlzY3JldGU6aX0pe2NvbnN0IG89YS5vcmlnaW5hbEV2ZW50LmN1cnJlbnRUYXJnZXQsYz1uZXcgQ3VzdG9tRXZlbnQoZSx7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGRldGFpbDphfSk7dCYmby5hZGRFdmVudExpc3RlbmVyKGUsdCx7b25jZTohMH0pLGk/czEobyxjKTpvLmRpc3BhdGNoRXZlbnQoYyl9dmFyIHN3PShlLHQsYT0wKT0+e2NvbnN0IGk9TWF0aC5hYnMoZS54KSxvPU1hdGguYWJzKGUueSksYz1pPm87cmV0dXJuIHQ9PT0ibGVmdCJ8fHQ9PT0icmlnaHQiP2MmJmk+YTohYyYmbz5hfTtmdW5jdGlvbiBPMyhlPSgpPT57fSl7Y29uc3QgdD1VbihlKTskdCgoKT0+e2xldCBhPTAsaT0wO3JldHVybiBhPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pmk9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0KSksKCk9Pnt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoYSksd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKGkpfX0sW3RdKX1mdW5jdGlvbiBfMyhlKXtyZXR1cm4gZS5ub2RlVHlwZT09PWUuRUxFTUVOVF9OT0RFfWZ1bmN0aW9uIE4zKGUpe2NvbnN0IHQ9W10sYT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGUsTm9kZUZpbHRlci5TSE9XX0VMRU1FTlQse2FjY2VwdE5vZGU6aT0+e2NvbnN0IG89aS50YWdOYW1lPT09IklOUFVUIiYmaS50eXBlPT09ImhpZGRlbiI7cmV0dXJuIGkuZGlzYWJsZWR8fGkuaGlkZGVufHxvP05vZGVGaWx0ZXIuRklMVEVSX1NLSVA6aS50YWJJbmRleD49MD9Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQ6Tm9kZUZpbHRlci5GSUxURVJfU0tJUH19KTtmb3IoO2EubmV4dE5vZGUoKTspdC5wdXNoKGEuY3VycmVudE5vZGUpO3JldHVybiB0fWZ1bmN0aW9uIEJtKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtyZXR1cm4gZS5zb21lKGE9PmE9PT10PyEwOihhLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQpKX12YXIgUjM9JHksSTM9SnksTDM9dHcsejM9bncsSDM9YXcscTM9U20sUDM9bGUoZGkoKSwxKSxPbz1sZShxZSgpLDEpO2Z1bmN0aW9uIFUzKHtjaGlsZHJlbjplfSl7Y29uc3QgdD1ubCgpO3JldHVybigwLE9vLmpzeHMpKFIzLHtzd2lwZURpcmVjdGlvbjoicmlnaHQiLGxhYmVsOiJcdTkwMUFcdTc3RTUiLGNoaWxkcmVuOltlLHQ/KDAsUDMuY3JlYXRlUG9ydGFsKSgoMCxPby5qc3gpKEkzLHtjbGFzc05hbWU6IndhbmQtdWktdG9hc3Qtdmlld3BvcnQifSksdCk6bnVsbF19KX1mdW5jdGlvbiBWMyh7b3BlbjplLHRpdGxlOnQsZGVzY3JpcHRpb246YSx0b25lOmk9ImluZm8iLGR1cmF0aW9uOm89MzIwMCxvbkRpc21pc3M6Y30pe3JldHVybigwLE9vLmpzeHMpKEwzLHtvcGVuOmUsZHVyYXRpb246byxjbGFzc05hbWU6eHUoIndhbmQtdWktdG9hc3QiLGB3YW5kLXVpLXRvYXN0LSR7aX1gKSxvbk9wZW5DaGFuZ2U6ZD0+e2R8fGMoKX0sY2hpbGRyZW46WygwLE9vLmpzeCkoejMse2NsYXNzTmFtZToid2FuZC11aS10b2FzdC10aXRsZSIsY2hpbGRyZW46dH0pLGE/KDAsT28uanN4KShIMyx7Y2xhc3NOYW1lOiJ3YW5kLXVpLXRvYXN0LWRlc2NyaXB0aW9uIixjaGlsZHJlbjphfSk6bnVsbCwoMCxPby5qc3gpKHEzLHtjbGFzc05hbWU6IndhbmQtdWktdG9hc3QtY2xvc2UiLCJhcmlhLWxhYmVsIjoiXHU1MTczXHU5NUVEXHU5MDFBXHU3N0U1IixjaGlsZHJlbjoiXHhENyJ9KV19KX12YXIgRGk9bGUoQWUoKSwxKSxHMz1sZShBZSgpLDEpLGlhPXtvcGVuOiExLHRhYjoiZ2VuZXJhbCIsbmVzdGVkOm51bGwscmV2aXNpb246MH0sa209bmV3IFNldDtmdW5jdGlvbiBjbChlKXtpYT17Li4uZSxyZXZpc2lvbjppYS5yZXZpc2lvbisxfTtmb3IoY29uc3QgdCBvZiBrbSl0KCl9dmFyIF9vPXtvcGVuKGU9ImdlbmVyYWwiKXtjbCh7b3BlbjohMCx0YWI6ZSxuZXN0ZWQ6bnVsbH0pfSxjbG9zZSgpeyFpYS5vcGVuJiZpYS5uZXN0ZWQ9PT1udWxsfHxjbCh7b3BlbjohMSx0YWI6ImdlbmVyYWwiLG5lc3RlZDpudWxsfSl9LGNsb3NlVG9wbW9zdCgpe3JldHVybiBpYS5uZXN0ZWQhPT1udWxsPyhjbCh7Li4uaWEsbmVzdGVkOm51bGx9KSwhMCk6dGhpcy5jbG9zZUlmT3BlbigpfSxjbG9zZUlmT3Blbigpe3JldHVybiBpYS5vcGVuPyh0aGlzLmNsb3NlKCksITApOiExfSxpc09wZW4oKXtyZXR1cm4gaWEub3Blbn19LEluPXtzdWJzY3JpYmUoZSl7cmV0dXJuIGttLmFkZChlKSwoKT0+a20uZGVsZXRlKGUpfSxnZXRTbmFwc2hvdCgpe3JldHVybiBpYX0sc2V0VGFiKGUpe2lhLnRhYiE9PWUmJmNsKHsuLi5pYSx0YWI6ZX0pfSxzZXROZXN0ZWQoZSl7aWEubmVzdGVkIT09ZSYmY2woey4uLmlhLG5lc3RlZDplfSl9fSxZMz1jbGFzc3tub3RpZmljYXRpb25QcmVmZXJlbmNlc0NoYW5nZWQoZSl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ3YW5kLXNldHRpbmdzLW5vdGlmaWNhdGlvbnMtY2hhbmdlZCIse2RldGFpbDplfSkpfWNvbmZpZ1NhdmVkKGUpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgid2FuZC1zZXR0aW5ncy1jb25maWctc2F2ZWQiLHtkZXRhaWw6ZX0pKX19LFczPXtlbmFibGVkOiExLGhhc0FydGlmYWN0OiExLGZpbGVOYW1lOm51bGwsdmVyc2lvbjpudWxsLHNpemU6bnVsbCx1cGRhdGVkQXQ6bnVsbCxkb3dubG9hZFVybDpudWxsLHNvdXJjZTpudWxsLGxvY2FsOm51bGwsZ2l0aHViOm51bGx9LEszPXtlbmFibGVkOiExLHByb3RvY29sOiJvcGVuYWkiLGJhc2VVcmw6IiIsYXBpS2V5OiIiLGhhc0FwaUtleTohMSxtb2RlbDoiIixhdXRoSGVhZGVyOiJiZWFyZXIiLHNvdXJjZToiY3VzdG9tIn07ZnVuY3Rpb24gdG4oZSl7cmV0dXJuIGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoZSk/ZTp7fX1mdW5jdGlvbiBJZShlLHQ9IiIpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyI/ZTp0fWZ1bmN0aW9uIEduKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJmU/ZTpudWxsfWZ1bmN0aW9uIFEzKGUsdD0hMSl7cmV0dXJuIHR5cGVvZiBlPT0iYm9vbGVhbiI/ZTp0fWZ1bmN0aW9uIGx3KGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGUpP2U6dH1mdW5jdGlvbiBjdyhlKXtjb25zdCB0PXRuKGUpLGE9SWUodC5maWxlTmFtZSksaT1JZSh0LmRvd25sb2FkVXJsKTtyZXR1cm4hYXx8IWk/bnVsbDp7ZmlsZU5hbWU6YSxkb3dubG9hZFVybDppLHZlcnNpb246R24odC52ZXJzaW9uKSxzaXplOmx3KHQuc2l6ZSwwKSx1cGRhdGVkQXQ6R24odC51cGRhdGVkQXQpLHJlbGVhc2VOb3RlczpJZSh0LnJlbGVhc2VOb3Rlcyl8fHZvaWQgMH19ZnVuY3Rpb24gZHcoZSl7Y29uc3QgdD10bihlKSxhPWN3KHQubG9jYWwpLGk9Y3codC5naXRodWIpO3JldHVybnsuLi5XMyxlbmFibGVkOnQuZW5hYmxlZCE9PSExLGhhc0FydGlmYWN0OlEzKHQuaGFzQXJ0aWZhY3QsISEoYXx8aXx8dC5maWxlTmFtZSkpLGZpbGVOYW1lOkduKHQuZmlsZU5hbWUpLHZlcnNpb246R24odC52ZXJzaW9uKSxzaXplOnR5cGVvZiB0LnNpemU9PSJudW1iZXIiP3Quc2l6ZTpudWxsLHVwZGF0ZWRBdDpHbih0LnVwZGF0ZWRBdCksZG93bmxvYWRVcmw6R24odC5kb3dubG9hZFVybCksc291cmNlOnQuc291cmNlPT09ImdpdGh1YiJ8fHQuc291cmNlPT09ImxvY2FsIj90LnNvdXJjZTpudWxsLGxvY2FsOmEsZ2l0aHViOml9fWZ1bmN0aW9uIGZ3KGUsdD0hMCl7Y29uc3QgYT10bihlKSxpPWEuc291cmNlPT09ImNsYXVkZSJ8fGEuc291cmNlPT09ImNvZGV4Inx8YS5zb3VyY2U9PT0ib3BlbmNvZGUiP2Euc291cmNlOiJjdXN0b20iLG89ey4uLkszLGVuYWJsZWQ6YS5lbmFibGVkPT09ITAscHJvdG9jb2w6YS5wcm90b2NvbD09PSJhbnRocm9waWMiPyJhbnRocm9waWMiOiJvcGVuYWkiLGJhc2VVcmw6SWUoYS5iYXNlVXJsKSxhcGlLZXk6IiIsaGFzQXBpS2V5OmEuaGFzQXBpS2V5PT09ITAsbW9kZWw6SWUoYS5tb2RlbCksYXV0aEhlYWRlcjphLmF1dGhIZWFkZXI9PT0ieC1hcGkta2V5Ij8ieC1hcGkta2V5IjoiYmVhcmVyIixzb3VyY2U6aX07cmV0dXJuIHQmJkFycmF5LmlzQXJyYXkoYS5mYWxsYmFja3MpJiYoby5mYWxsYmFja3M9YS5mYWxsYmFja3MubWFwKGM9PmZ3KGMsITEpKSksb31mdW5jdGlvbiBObyhlKXtjb25zdCB0PXRuKGUpLGE9dG4odC5kZWZhdWx0TW9kZWxzKSxpPXRuKHQuY2FyZERlZmF1bHRzKSxvPUFycmF5LmlzQXJyYXkodC5jb21tYW5kUHJlc2V0cyk/dC5jb21tYW5kUHJlc2V0czpbXSxjPVsiZGVmYXVsdCIsImFzc2lzdCIsImFnZW50IiwiYWdlbnQtbWF4IiwiYXV0by1lZGl0IiwiZnVsbC1hY2Nlc3MiLCJuYXRpdmUiLCJtYW5hZ2VkIl0uaW5jbHVkZXMoSWUodC5kZWZhdWx0TW9kZSkpP0llKHQuZGVmYXVsdE1vZGUpOiJkZWZhdWx0IixkPXQuY29tbWl0Q2xpPT09ImNvZGV4Inx8dC5jb21taXRDbGk9PT0ib3BlbmNvZGUiP3QuY29tbWl0Q2xpOiJjbGF1ZGUiLGY9SWUoYS5jbGF1ZGUsSWUodC5kZWZhdWx0TW9kZWwpKSxtPUllKGEuY29kZXgsSWUodC5kZWZhdWx0Q29kZXhNb2RlbCkpLGg9SWUoYS5vcGVuY29kZSxJZSh0LmRlZmF1bHRPcGVuQ29kZU1vZGVsKSksZz1JZShhLmdyb2ssSWUodC5kZWZhdWx0R3Jva01vZGVsKSksYj1JZShhLnFvZGVyLEllKHQuZGVmYXVsdFFvZGVyTW9kZWwpKTtyZXR1cm57aG9zdDpJZSh0Lmhvc3QsIjEyNy4wLjAuMSIpLHBvcnQ6bHcodC5wb3J0LDNlMyksaHR0cHM6dC5odHRwcz09PSEwLGRlZmF1bHRNb2RlOmMsZGVmYXVsdEN3ZDpJZSh0LmRlZmF1bHRDd2QpLHNoZWxsOkllKHQuc2hlbGwsIi9iaW4vYmFzaCIpLGxhbmd1YWdlOkllKHQubGFuZ3VhZ2UpLHN0cnVjdHVyZWRSdW5uZXI6dC5zdHJ1Y3R1cmVkUnVubmVyPT09InNkayI/InNkayI6ImNsaSIsaW5oZXJpdEVudjp0LmluaGVyaXRFbnYhPT0hMSxkZWZhdWx0TW9kZWw6ZixkZWZhdWx0Q29kZXhNb2RlbDptLGRlZmF1bHRPcGVuQ29kZU1vZGVsOmgsZGVmYXVsdEdyb2tNb2RlbDpnLGRlZmF1bHRRb2Rlck1vZGVsOmIsZGVmYXVsdE1vZGVsczp7Y2xhdWRlOmYsY29kZXg6bSxvcGVuY29kZTpoLGdyb2s6Zyxxb2RlcjpifSxjb21taXRDbGk6ZCxjb21taXRNb2RlbDpJZSh0LmNvbW1pdE1vZGVsKSxjb21taXRBaVNvdXJjZTp0LmNvbW1pdEFpU291cmNlPT09ImFwaSI/ImFwaSI6ImNsaSIsc3lzdGVtQWk6ZncodC5zeXN0ZW1BaSksY29tbWFuZFByZXNldHM6by5tYXAoeT0+e2NvbnN0IEM9dG4oeSk7cmV0dXJue2xhYmVsOkllKEMubGFiZWwpLGNvbW1hbmQ6SWUoQy5jb21tYW5kKSxtb2RlOkllKEMubW9kZSl8fHZvaWQgMH19KS5maWx0ZXIoeT0+eS5sYWJlbHx8eS5jb21tYW5kKSxjYXJkRGVmYXVsdHM6e2VkaXRDYXJkczppLmVkaXRDYXJkcz09PSEwLGlubGluZVRvb2xzOmkuaW5saW5lVG9vbHM9PT0hMCx0ZXJtaW5hbDppLnRlcm1pbmFsPT09ITAsdGhpbmtpbmc6aS50aGlua2luZz09PSEwLHRvb2xHcm91cDppLnRvb2xHcm91cD09PSEwfX19ZnVuY3Rpb24gWDMoZSl7Y29uc3QgdD10bihlKSxhPXRuKHQuYnVpbGQpO3JldHVybntwYWNrYWdlTmFtZTpJZSh0LnBhY2thZ2VOYW1lLCJ3YW5kLWxvY2FsIiksdmVyc2lvbjpJZSh0LnZlcnNpb24sIi0iKSxub2RlVmVyc2lvbjpJZSh0Lm5vZGVWZXJzaW9uLCItIikscmVwb1VybDpJZSh0LnJlcG9VcmwpLHVwZGF0ZUF2YWlsYWJsZTp0LnVwZGF0ZUF2YWlsYWJsZT09PSEwLGxhdGVzdFZlcnNpb246R24odC5sYXRlc3RWZXJzaW9uKSx1cGRhdGVDaGFubmVsOnQudXBkYXRlQ2hhbm5lbD09PSJiZXRhIj8iYmV0YSI6InN0YWJsZSIsYnVpbGQ6e2NvbW1pdDpHbihhLmNvbW1pdCksc2hvcnRDb21taXQ6R24oYS5zaG9ydENvbW1pdCksYnVpbHRBdDpHbihhLmJ1aWx0QXQpLGNoYW5uZWw6R24oYS5jaGFubmVsKX0sYW5kcm9pZEFwazpkdyh0LmFuZHJvaWRBcGspLG1hY29zRG1nOmR3KHQubWFjb3NEbWcpfX1mdW5jdGlvbiBwdyhlKXtjb25zdCB0PXRuKGUpLGE9bz0+QXJyYXkuaXNBcnJheSh0W29dKT90W29dOltdLGk9dG4odC5kZWZhdWx0TW9kZWxzKTtyZXR1cm57bW9kZWxzOmEoIm1vZGVscyIpLGNvZGV4TW9kZWxzOmEoImNvZGV4TW9kZWxzIiksb3BlbmNvZGVNb2RlbHM6YSgib3BlbmNvZGVNb2RlbHMiKSxncm9rTW9kZWxzOmEoImdyb2tNb2RlbHMiKSxxb2Rlck1vZGVsczphKCJxb2Rlck1vZGVscyIpLGNsYXVkZVZlcnNpb246R24odC5jbGF1ZGVWZXJzaW9uKSxvcGVuY29kZVZlcnNpb246R24odC5vcGVuY29kZVZlcnNpb24pLHJlZnJlc2hlZEF0OkduKHQucmVmcmVzaGVkQXQpLGRlZmF1bHRNb2RlbDpJZSh0LmRlZmF1bHRNb2RlbCksZGVmYXVsdENvZGV4TW9kZWw6SWUodC5kZWZhdWx0Q29kZXhNb2RlbCksZGVmYXVsdE9wZW5Db2RlTW9kZWw6SWUodC5kZWZhdWx0T3BlbkNvZGVNb2RlbCksZGVmYXVsdEdyb2tNb2RlbDpJZSh0LmRlZmF1bHRHcm9rTW9kZWwpLGRlZmF1bHRRb2Rlck1vZGVsOkllKHQuZGVmYXVsdFFvZGVyTW9kZWwpLGRlZmF1bHRNb2RlbHM6e2NsYXVkZTpJZShpLmNsYXVkZSxJZSh0LmRlZmF1bHRNb2RlbCkpLGNvZGV4OkllKGkuY29kZXgsSWUodC5kZWZhdWx0Q29kZXhNb2RlbCkpLG9wZW5jb2RlOkllKGkub3BlbmNvZGUsSWUodC5kZWZhdWx0T3BlbkNvZGVNb2RlbCkpLGdyb2s6SWUoaS5ncm9rLEllKHQuZGVmYXVsdEdyb2tNb2RlbCkpLHFvZGVyOkllKGkucW9kZXIsSWUodC5kZWZhdWx0UW9kZXJNb2RlbCkpfX19ZnVuY3Rpb24gdncoZSx0KXt0cnl7Y29uc3QgYT13aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk7cmV0dXJuIGE9PW51bGw/dDphPT09InRydWUifWNhdGNoe3JldHVybiB0fX1mdW5jdGlvbiBtdyhlLHQpe3RyeXtjb25zdCBhPU51bWJlcih3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSkpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSkmJmE+PTA/YTp0fWNhdGNoe3JldHVybiB0fX1mdW5jdGlvbiB1YSgpe3RyeXtyZXR1cm4gdHlwZW9mIFdhbmROYXRpdmU8InUiP1dhbmROYXRpdmU6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gTGQoZSl7aWYoZT8uZ2V0UGVybWlzc2lvbil0cnl7Y29uc3QgdD1lLmdldFBlcm1pc3Npb24oKTtpZih0PT09ImdyYW50ZWQifHx0PT09ImRlbmllZCJ8fHQ9PT0iZGVmYXVsdCIpcmV0dXJuIHR9Y2F0Y2h7fXJldHVybiB0eXBlb2YgTm90aWZpY2F0aW9uPiJ1Ij8idW5zdXBwb3J0ZWQiOk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9ufWZ1bmN0aW9uICQzKCl7Y29uc3QgZT11YSgpLHQ9bmF2aWdhdG9yLnVzZXJBZ2VudHx8IiIsYT0vV2FuZFBsYXRmb3JtXC9BbmRyb2lkLy50ZXN0KHQpPyJhbmRyb2lkIjovV2FuZFBsYXRmb3JtXC9pT1MvLnRlc3QodCk/ImlvcyI6L1dhbmRQbGF0Zm9ybVwvbWFjT1MvLnRlc3QodCl8fHdpbmRvdy5fX3dhbmRNYWNOYXRpdmU9PT0hMD8ibWFjb3MiOiJicm93c2VyIjtsZXQgaT1udWxsO2lmKGU/LmdldEFwcEljb24pdHJ5e2k9ZS5nZXRBcHBJY29uKCl8fG51bGx9Y2F0Y2h7fWNvbnN0IG89dC5tYXRjaCgvV2FuZEFwcFwvKFteXHNdKykvKT8uWzFdfHxudWxsO3JldHVybntraW5kOmEsYXBwVmVyc2lvbjpvLGFwcEljb246aSxjYW5TZXRBcHBJY29uOnR5cGVvZiBlPy5zZXRBcHBJY29uPT0iZnVuY3Rpb24iLGNhbkluc3RhbGxEaXN0cmlidXRpb246dHlwZW9mIGU/LmRvd25sb2FkVXBkYXRlPT0iZnVuY3Rpb24iLGhhc05hdGl2ZU5vdGlmaWNhdGlvbnM6dHlwZW9mIGU/LnNlbmROb3RpZmljYXRpb249PSJmdW5jdGlvbiJ9fWZ1bmN0aW9uIGRsKCl7Y29uc3QgZT11YSgpO2xldCB0PVtdLGE9bnVsbCxpPW51bGw7dHJ5e2U/LmdldEF2YWlsYWJsZVNvdW5kcyYmKHQ9SlNPTi5wYXJzZShlLmdldEF2YWlsYWJsZVNvdW5kcygpKSksZT8uZ2V0Tm90aWZpY2F0aW9uU291bmQmJihhPWUuZ2V0Tm90aWZpY2F0aW9uU291bmQoKSksZT8uaXNIYXB0aWNFbmFibGVkJiYoaT1lLmlzSGFwdGljRW5hYmxlZCgpKX1jYXRjaHt9Y29uc3Qgbz1lPy5nZXROb3RpZmljYXRpb25Wb2x1bWU/KCgpPT57dHJ5e3JldHVybiBlLmdldE5vdGlmaWNhdGlvblZvbHVtZSgpfWNhdGNoe3JldHVybiBtdygid2FuZC1ub3RpZi12b2x1bWUiLDgwKX19KSgpOm13KCJ3YW5kLW5vdGlmLXZvbHVtZSIsODApO3JldHVybntzb3VuZDp2dygid2FuZC1ub3RpZi1zb3VuZCIsITApLHZvbHVtZTpNYXRoLm1heCgwLE1hdGgubWluKDEwMCxvKSksYnViYmxlOnZ3KCJ3YW5kLW5vdGlmLWJ1YmJsZSIsITApLHBlcm1pc3Npb246TGQoZSkscGVybWlzc2lvblNvdXJjZTplPyJuYXRpdmUiOnR5cGVvZiBOb3RpZmljYXRpb24+InUiPyJub25lIjoiYnJvd3NlciIsbmF0aXZlU291bmRzOnQsbmF0aXZlU291bmQ6YSxoYXB0aWNzRW5hYmxlZDppfX1mdW5jdGlvbiBaMyhlLHQpe2NvbnN0IGE9ZT09PSJhZG1pbiI7cmV0dXJue21hbmFnZVNldHRpbmdzOmEscmV2ZWFsRW52aXJvbm1lbnQ6YSxtYW5hZ2VTZWN1cml0eTphLG1hbmFnZVVwZGF0ZXM6YSxtYW5hZ2VDb25uZWN0Q29kZTphLG5hdGl2ZVNvdW5kczp0Lmhhc05hdGl2ZU5vdGlmaWNhdGlvbnMsaGFwdGljczpkbCgpLmhhcHRpY3NFbmFibGVkIT09bnVsbCxhcHBJY29uOnQuY2FuU2V0QXBwSWNvbixpbnN0YWxsRGlzdHJpYnV0aW9uOnQuY2FuSW5zdGFsbERpc3RyaWJ1dGlvbn19YXN5bmMgZnVuY3Rpb24gSjMoZSl7bGV0IHQ9e307dHJ5e3Q9dG4oYXdhaXQgZS5qc29uKCkpfWNhdGNoe31pZighZS5va3x8dHlwZW9mIHQuZXJyb3I9PSJzdHJpbmciKXtjb25zdCBhPW5ldyBFcnJvcihJZSh0LmVycm9yLGBcdThCRjdcdTZDNDJcdTU5MzFcdThEMjVcdUZGMDgke2Uuc3RhdHVzfVx1RkYwOWApKTt0aHJvdyBhLnN0YXR1cz1lLnN0YXR1cyxhfXJldHVybiB0fWFzeW5jIGZ1bmN0aW9uIHdhKGUsdD17fSl7cmV0dXJuIEozKGF3YWl0IGZldGNoKGUse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsLi4udH0pKX1hc3luYyBmdW5jdGlvbiB4YShlLHQsYSl7cmV0dXJuIHdhKGUse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OnQ9PT12b2lkIDA/dm9pZCAwOkpTT04uc3RyaW5naWZ5KHQpLHNpZ25hbDphfSl9ZnVuY3Rpb24gVG0oZSx0KXtjb25zdCBhPSQzKCksaT10PT09ImFkbWluIj9ObyhlLmNvbmZpZyk6bnVsbDtyZXR1cm57YWNjZXNzOnQsY2FwYWJpbGl0aWVzOlozKHQsYSksYWJvdXQ6WDMoZSksY29uZmlnOmksZGVzaXJlZENvbmZpZzp0PT09ImFkbWluIj9ObyhlLmRlc2lyZWRDb25maWd8fGUuY29uZmlnKTpudWxsLGFjdGl2ZUNvbmZpZzp0PT09ImFkbWluIj9ObyhlLmFjdGl2ZUNvbmZpZ3x8ZS5jb25maWcpOm51bGwscmVzdGFydFJlcXVpcmVkOmUucmVzdGFydFJlcXVpcmVkPT09ITAsaGFzQ2VydDplLmhhc0NlcnQ9PT0hMCxhdXRvVXBkYXRlOnt3ZWI6dG4oZS5hdXRvVXBkYXRlKS53ZWI9PT0hMCxhcGs6dG4oZS5hdXRvVXBkYXRlKS5hcGs9PT0hMCxkbWc6dG4oZS5hdXRvVXBkYXRlKS5kbWc9PT0hMCxjbGk6dG4oZS5hdXRvVXBkYXRlKS5jbGk9PT0hMH0sbW9kZWxzOm51bGwscHJvdmlkZXJDbGlVcGRhdGVzOm51bGwsY29ubmVjdENvZGU6bnVsbCxub3RpZmljYXRpb25zOmRsKCkscGxhdGZvcm06YX19ZnVuY3Rpb24gZUIoZSl7Y29uc3QgdD11YSgpO3RyeXt0eXBlb2YgZS5zb3VuZD09ImJvb2xlYW4iJiZ3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtbm90aWYtc291bmQiLFN0cmluZyhlLnNvdW5kKSksdHlwZW9mIGUuYnViYmxlPT0iYm9vbGVhbiImJndpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi1idWJibGUiLFN0cmluZyhlLmJ1YmJsZSkpLHR5cGVvZiBlLnZvbHVtZT09Im51bWJlciImJndpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi12b2x1bWUiLFN0cmluZyhlLnZvbHVtZSkpfWNhdGNoe31pZih0eXBlb2YgZS52b2x1bWU9PSJudW1iZXIiJiZ0Py5zZXROb3RpZmljYXRpb25Wb2x1bWUpdHJ5e3Quc2V0Tm90aWZpY2F0aW9uVm9sdW1lKGUudm9sdW1lKX1jYXRjaHt9cmV0dXJuIGRsKCl9ZnVuY3Rpb24gaHcoKXtjb25zdCBlPXVhKCk7aWYoZT8ucHJldmlld1NvdW5kJiZlLmdldE5vdGlmaWNhdGlvblNvdW5kKXRyeXtyZXR1cm4gZS5wcmV2aWV3U291bmQoZS5nZXROb3RpZmljYXRpb25Tb3VuZCgpKSwhMH1jYXRjaHtyZXR1cm4hMX10cnl7Y29uc3QgdD13aW5kb3cuQXVkaW9Db250ZXh0fHx3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0O2lmKCF0KXJldHVybiExO2NvbnN0IGE9bmV3IHQsaT1hLmNyZWF0ZU9zY2lsbGF0b3IoKSxvPWEuY3JlYXRlR2FpbigpO3JldHVybiBvLmdhaW4udmFsdWU9ZGwoKS52b2x1bWUvMTAwKi4wOCxpLmZyZXF1ZW5jeS52YWx1ZT02NjAsaS5jb25uZWN0KG8pLG8uY29ubmVjdChhLmRlc3RpbmF0aW9uKSxpLnN0YXJ0KCksaS5zdG9wKGEuY3VycmVudFRpbWUrLjEyKSwhMH1jYXRjaHtyZXR1cm4hMX19YXN5bmMgZnVuY3Rpb24gdEIoKXtjb25zdCBlPXVhKCk7cmV0dXJuIGU/LnJlcXVlc3RQZXJtaXNzaW9uP25ldyBQcm9taXNlKHQ9PntsZXQgYT0hMTtjb25zdCBpPWM9PnthfHwoYT0hMCx3aW5kb3cuY2xlYXJUaW1lb3V0KG8pLGRlbGV0ZSB3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdCx0KGMpKX0sbz13aW5kb3cuc2V0VGltZW91dCgoKT0+aShMZChlKSksM2UzKTt3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdD1jPT57aShjPT09ImdyYW50ZWQifHxjPT09ImRlbmllZCI/YzoiZGVmYXVsdCIpfTt0cnl7ZS5yZXF1ZXN0UGVybWlzc2lvbigpfWNhdGNoe2koTGQoZSkpfX0pOnR5cGVvZiBOb3RpZmljYXRpb24+InUiPyJ1bnN1cHBvcnRlZCI6Tm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCl9ZnVuY3Rpb24gbkIoKXtjb25zdCBlPXVhKCksdD1MZChlKTtpZih0PT09ImRlbmllZCJ8fHQ9PT0iZGVmYXVsdCIpcmV0dXJuImRlbmllZCI7aWYodD09PSJ1bnN1cHBvcnRlZCIpcmV0dXJuInVuc3VwcG9ydGVkIjt0cnl7cmV0dXJuIGU/LnNlbmROb3RpZmljYXRpb24/ZS5zZW5kTm90aWZpY2F0aW9uKCJXYW5kIFx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNSIsIlx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NURGMlx1NkI2M1x1NUUzOFx1NURFNVx1NEY1Q1x1MzAwMiIsIndhbmQtdGVzdCIpOm5ldyBOb3RpZmljYXRpb24oIldhbmQgXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1Iix7Ym9keToiXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU1REYyXHU2QjYzXHU1RTM4XHU1REU1XHU0RjVDXHUzMDAyIix0YWc6IndhbmQtdGVzdCJ9KSwicGFzc2VkIn1jYXRjaHtyZXR1cm4iZmFpbGVkIn19dmFyIGFCPWNsYXNze2NvbnN0cnVjdG9yKGU9bmV3IFkzKXtwdCh0aGlzLCJydW50aW1lIixlKX1hc3luYyBsb2FkKGU9e30pe2lmKGUuY2FuTWFuYWdlU2V0dGluZ3M9PT0hMSlyZXR1cm4gVG0oYXdhaXQgd2EoIi9hcGkvc2V0dGluZ3MvYWJvdXQiLHtzaWduYWw6ZS5zaWduYWx9KSwicmVhZC1vbmx5Iik7bGV0IHQ7dHJ5e3Q9YXdhaXQgd2EoIi9hcGkvc2V0dGluZ3MiLHtzaWduYWw6ZS5zaWduYWx9KX1jYXRjaChmKXtpZihmLnN0YXR1cz09PTQwMylyZXR1cm4gVG0oYXdhaXQgd2EoIi9hcGkvc2V0dGluZ3MvYWJvdXQiLHtzaWduYWw6ZS5zaWduYWx9KSwicmVhZC1vbmx5Iik7dGhyb3cgZn1jb25zdCBhPVRtKHQsImFkbWluIiksaT13aW5kb3cubG9jYXRpb24/Lm9yaWdpbj9gP29yaWdpbj0ke2VuY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24ub3JpZ2luKX1gOiIiLFtvLGMsZF09YXdhaXQgUHJvbWlzZS5hbGwoW3dhKCIvYXBpL21vZGVscyIse3NpZ25hbDplLnNpZ25hbH0pLmNhdGNoKCgpPT5udWxsKSx3YSgiL2FwaS9wcm92aWRlci1jbGktdXBkYXRlcyIse3NpZ25hbDplLnNpZ25hbH0pLmNhdGNoKCgpPT5udWxsKSx3YShgL2FwaS9hcHAtY29ubmVjdC1jb2RlJHtpfWAse3NpZ25hbDplLnNpZ25hbH0pLmNhdGNoKCgpPT5udWxsKV0pO3JldHVybiBhLm1vZGVscz1vP3B3KG8pOm51bGwsYS5wcm92aWRlckNsaVVwZGF0ZXM9YyxhLmNvbm5lY3RDb2RlPWQ/e2NvZGU6SWUoZC5jb2RlKSx1cmw6SWUoZC51cmwpfTpudWxsLGF9YXN5bmMgZXhlY3V0ZShlLHQ9e30pe2xldCBhO3N3aXRjaChlLnR5cGUpe2Nhc2UiZ2VuZXJhbC5zYXZlIjphPWF3YWl0IHhhKCIvYXBpL3NldHRpbmdzL2NvbmZpZyIsZS52YWx1ZSx0LnNpZ25hbCksdGhpcy5ydW50aW1lLmNvbmZpZ1NhdmVkKE5vKHRuKGEpLmNvbmZpZykpO2JyZWFrO2Nhc2UiYWkuc2F2ZSI6YT1hd2FpdCB4YSgiL2FwaS9zZXR0aW5ncy9jb25maWciLHsuLi5lLnZhbHVlLGRlZmF1bHRNb2RlbHM6e2NsYXVkZTplLnZhbHVlLmRlZmF1bHRNb2RlbCxjb2RleDplLnZhbHVlLmRlZmF1bHRDb2RleE1vZGVsLG9wZW5jb2RlOmUudmFsdWUuZGVmYXVsdE9wZW5Db2RlTW9kZWwsZ3JvazplLnZhbHVlLmRlZmF1bHRHcm9rTW9kZWwscW9kZXI6ZS52YWx1ZS5kZWZhdWx0UW9kZXJNb2RlbH19LHQuc2lnbmFsKSx0aGlzLnJ1bnRpbWUuY29uZmlnU2F2ZWQoTm8odG4oYSkuY29uZmlnKSk7YnJlYWs7Y2FzZSJkaXNwbGF5LnNhdmUiOmE9YXdhaXQgeGEoIi9hcGkvc2V0dGluZ3MvY29uZmlnIix7Y2FyZERlZmF1bHRzOmUudmFsdWV9LHQuc2lnbmFsKSx0aGlzLnJ1bnRpbWUuY29uZmlnU2F2ZWQoTm8odG4oYSkuY29uZmlnKSk7YnJlYWs7Y2FzZSJwYXNzd29yZC5jaGFuZ2UiOmE9YXdhaXQgeGEoIi9hcGkvc2V0LXBhc3N3b3JkIix7cGFzc3dvcmQ6ZS5wYXNzd29yZH0sdC5zaWduYWwpO2JyZWFrO2Nhc2UiY2VydGlmaWNhdGUudXBsb2FkIjp7YT17Li4uYXdhaXQgeGEoIi9hcGkvc2V0dGluZ3MvdXBsb2FkLWNlcnQiLHtrZXk6ZS5rZXksY2VydDplLmNlcnR9LHQuc2lnbmFsKSxoYXNDZXJ0OiEwfTticmVha31jYXNlImVudmlyb25tZW50LmxvYWQiOmE9YXdhaXQgd2EoYC9hcGkvc2V0dGluZ3MvZW52LXByZXZpZXcke2UucmV2ZWFsPyI/cmV2ZWFsPTEiOiIifWAse3NpZ25hbDp0LnNpZ25hbH0pO2JyZWFrO2Nhc2UibW9kZWxzLnJlZnJlc2giOmE9cHcoYXdhaXQgeGEoIi9hcGkvbW9kZWxzL3JlZnJlc2giLHZvaWQgMCx0LnNpZ25hbCkpO2JyZWFrO2Nhc2Uic3lzdGVtQWkuaW1wb3J0IjphPWF3YWl0IHhhKCIvYXBpL3NldHRpbmdzL3N5c3RlbS1haS9pbXBvcnQiLHtzb3VyY2U6ZS5zb3VyY2V9LHQuc2lnbmFsKTticmVhaztjYXNlIndlYlVwZGF0ZS5jaGVjayI6YT1hd2FpdCB3YSgiL2FwaS9jaGVjay11cGRhdGUiLHtzaWduYWw6dC5zaWduYWx9KTticmVhaztjYXNlIndlYlVwZGF0ZS5pbnN0YWxsIjphPWF3YWl0IHhhKCIvYXBpL3VwZGF0ZSIsdm9pZCAwLHQuc2lnbmFsKTticmVhaztjYXNlInNlcnZlci5yZXN0YXJ0IjphPWF3YWl0IHhhKCIvYXBpL3Jlc3RhcnQiLHZvaWQgMCx0LnNpZ25hbCk7YnJlYWs7Y2FzZSJjbGlVcGRhdGVzLmxvYWQiOmE9YXdhaXQgd2EoYC9hcGkvcHJvdmlkZXItY2xpLXVwZGF0ZXMke2UuZm9yY2U/Ij9yZWZyZXNoPTEiOiIifWAse3NpZ25hbDp0LnNpZ25hbH0pO2JyZWFrO2Nhc2UiY2xpVXBkYXRlcy5pbnN0YWxsIjphPWF3YWl0IHhhKCIvYXBpL3Byb3ZpZGVyLWNsaS11cGRhdGVzIix7aWRzOmUuaWRzfHxbXX0sdC5zaWduYWwpO2JyZWFrO2Nhc2UiYXV0b1VwZGF0ZS5zZXQiOntjb25zdCBpPXtbZS50YXJnZXRdOmUuZW5hYmxlZH07YT1hd2FpdCB4YSgiL2FwaS9hdXRvLXVwZGF0ZSIsaSx0LnNpZ25hbCk7YnJlYWt9Y2FzZSJ1cGRhdGVDaGFubmVsLnNldCI6e2NvbnN0IGk9YXdhaXQgeGEoIi9hcGkvdXBkYXRlLWNoYW5uZWwiLHtjaGFubmVsOmUuY2hhbm5lbH0sdC5zaWduYWwpLG89YXdhaXQgd2EoIi9hcGkvY2hlY2stdXBkYXRlIix7c2lnbmFsOnQuc2lnbmFsfSk7YT17Y2hhbm5lbDppLmNoYW5uZWwsdXBkYXRlOm99O2JyZWFrfWNhc2UiY29ubmVjdENvZGUubG9hZCI6e2NvbnN0IGk9d2luZG93LmxvY2F0aW9uPy5vcmlnaW4/YD9vcmlnaW49JHtlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLm9yaWdpbil9YDoiIjthPWF3YWl0IHdhKGAvYXBpL2FwcC1jb25uZWN0LWNvZGUke2l9YCx7c2lnbmFsOnQuc2lnbmFsfSk7YnJlYWt9Y2FzZSJkaXN0cmlidXRpb24uZG93bmxvYWQiOntjb25zdCBpPXVhKCk7aWYoaT8uZG93bmxvYWRVcGRhdGUpaS5kb3dubG9hZFVwZGF0ZShlLnVybCxlLmZpbGVOYW1lLGUuc291cmNlKSxhPXtzdGFydGVkOiEwLG5hdGl2ZTohMH07ZWxzZSBpZihlLnNvdXJjZT09PSJsb2NhbCIpe2NvbnN0IG89YXdhaXQgZmV0Y2goZS51cmwse21ldGhvZDoiSEVBRCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixzaWduYWw6dC5zaWduYWx9KTtpZighby5vayl0aHJvdyBuZXcgRXJyb3IoYFx1NUI4OVx1ODhDNVx1NTMwNVx1NEUwRFx1NTNFRlx1NzUyOFx1RkYwOCR7by5zdGF0dXN9XHVGRjA5XHUzMDAyYCk7Y29uc3QgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Yy5ocmVmPWUudXJsLGMuZG93bmxvYWQ9ZS5maWxlTmFtZSxjLnJlbD0ibm9vcGVuZXIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYyksYy5jbGljaygpLGMucmVtb3ZlKCksYT17c3RhcnRlZDohMCxuYXRpdmU6ITF9fWVsc2Ugd2luZG93Lm9wZW4oZS51cmwsIl9ibGFuayIsIm5vb3BlbmVyIiksYT17c3RhcnRlZDohMCxuYXRpdmU6ITF9O2JyZWFrfWNhc2UiY2xpcGJvYXJkLmNvcHkiOntjb25zdCBpPXVhKCk7aT8uY29weVRvQ2xpcGJvYXJkP2kuY29weVRvQ2xpcGJvYXJkKGUudGV4dCk6YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZS50ZXh0KSxhPXtjb3BpZWQ6ITB9O2JyZWFrfWNhc2Uibm90aWZpY2F0aW9uLnByZWZlcmVuY2VzLnNldCI6YT1lQihlLnZhbHVlKSx0aGlzLnJ1bnRpbWUubm90aWZpY2F0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKGEpO2JyZWFrO2Nhc2Uibm90aWZpY2F0aW9uLnNvdW5kLnByZXZpZXciOmE9e3BsYXllZDpodygpfTticmVhaztjYXNlIm5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uLnJlcXVlc3QiOmE9e3Blcm1pc3Npb246YXdhaXQgdEIoKX07YnJlYWs7Y2FzZSJub3RpZmljYXRpb24udGVzdCI6e2UuZGVsYXlNcyYmYXdhaXQgbmV3IFByb21pc2UoYz0+d2luZG93LnNldFRpbWVvdXQoYyxlLmRlbGF5TXMpKTtjb25zdCBpPWRsKCksbz1odygpO2kuYnViYmxlJiZiby50b2FzdCgiXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1Iix7ZGVzY3JpcHRpb246Ilx1OEZEOVx1NjYyRlx1NEUwMFx1Njc2MVx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNVx1MzAwMiJ9KSxhPXtzb3VuZDpvPyJwYXNzZWQiOiJmYWlsZWQiLGJ1YmJsZTppLmJ1YmJsZT8icGFzc2VkIjoiZGlzYWJsZWQiLHN5c3RlbTpuQigpfTticmVha31jYXNlIm5vdGlmaWNhdGlvbi5uYXRpdmVTb3VuZC5zZXQiOnt1YSgpPy5zZXROb3RpZmljYXRpb25Tb3VuZD8uKGUuc291bmQpLGE9e3NvdW5kOmUuc291bmR9O2JyZWFrfWNhc2Uibm90aWZpY2F0aW9uLm5hdGl2ZVNvdW5kLnByZXZpZXciOntsZXQgaT0hMTt0cnl7dWEoKT8ucHJldmlld1NvdW5kPy4oZS5zb3VuZCksaT0hMH1jYXRjaHt9YT17cGxheWVkOml9O2JyZWFrfWNhc2Uibm90aWZpY2F0aW9uLmhhcHRpY3Muc2V0Ijp7dWEoKT8uc2V0SGFwdGljRW5hYmxlZD8uKGUuZW5hYmxlZCksZS5lbmFibGVkJiZ1YSgpPy52aWJyYXRlPy4oIm1lZGl1bSIpLGE9e2VuYWJsZWQ6ZS5lbmFibGVkfTticmVha31jYXNlImFwcEljb24uc2V0Ijp1YSgpPy5zZXRBcHBJY29uPy4oZS5pY29uKSxhPXtpY29uOmUuaWNvbn07YnJlYWt9cmV0dXJuIGF9fSxyQj1uZXcgYUIsTGU9bGUoQWUoKSwxKSxTdD1sZShxZSgpLDEpO2Z1bmN0aW9uIG5uKHt0aXRsZTplLGRlc2NyaXB0aW9uOnQsYWN0aW9uOmEsY2hpbGRyZW46aX0pe3JldHVybigwLFN0LmpzeHMpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXNlY3Rpb24iLGNoaWxkcmVuOlsoMCxTdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXNlY3Rpb24taGVhZGluZyIsY2hpbGRyZW46WygwLFN0LmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsU3QuanN4KSgiaDMiLHtjaGlsZHJlbjplfSksdD8oMCxTdC5qc3gpKCJwIix7Y2hpbGRyZW46dH0pOm51bGxdfSksYT8oMCxTdC5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3Mtc2VjdGlvbi1hY3Rpb24iLGNoaWxkcmVuOmF9KTpudWxsXX0pLCgwLFN0LmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1zZWN0aW9uLWJvZHkiLGNoaWxkcmVuOml9KV19KX1mdW5jdGlvbiBqdSh7Y2hpbGRyZW46ZX0pe3JldHVybigwLFN0LmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1ncmlkIixjaGlsZHJlbjplfSl9ZnVuY3Rpb24gX3Qoe2xhYmVsOmUsaGludDp0LGVycm9yOmEsaHRtbEZvcjppLGNoaWxkcmVuOm99KXtyZXR1cm4oMCxTdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWZpZWxkIixjaGlsZHJlbjpbKDAsU3QuanN4KSgibGFiZWwiLHtodG1sRm9yOmksY2hpbGRyZW46ZX0pLG8sYT8oMCxTdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWZpZWxkLWVycm9yIixjaGlsZHJlbjphfSk6bnVsbCwhYSYmdD8oMCxTdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWZpZWxkLWhpbnQiLGNoaWxkcmVuOnR9KTpudWxsXX0pfWZ1bmN0aW9uIGpuKHtpZDplLHZhbHVlOnQsb25DaGFuZ2U6YSx0eXBlOmk9InRleHQiLHBsYWNlaG9sZGVyOm8sZGlzYWJsZWQ6YyxpbnZhbGlkOmQsYXV0b0NvbXBsZXRlOmYsbWluOm0sbWF4OmgsbGlzdDpnfSl7cmV0dXJuKDAsU3QuanN4KSgiaW5wdXQiLHtpZDplLGNsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1pbnB1dCIsdHlwZTppLHZhbHVlOnQscGxhY2Vob2xkZXI6byxkaXNhYmxlZDpjLCJhcmlhLWludmFsaWQiOmR8fHZvaWQgMCxhdXRvQ29tcGxldGU6ZixtaW46bSxtYXg6aCxsaXN0Omcsc3BlbGxDaGVjazohMSxvbkNoYW5nZTpiPT5hKGIuY3VycmVudFRhcmdldC52YWx1ZSl9KX1mdW5jdGlvbiBNdSh7aWQ6ZSxhcmlhTGFiZWw6dCx2YWx1ZTphLG9wdGlvbnM6aSxvbkNoYW5nZTpvLGRpc2FibGVkOmN9KXtyZXR1cm4oMCxTdC5qc3gpKCJkaXYiLHtpZDplLGNsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1zZWxlY3QiLGNoaWxkcmVuOigwLFN0LmpzeCkocVMse2FyaWFMYWJlbDp0LHZhbHVlOmEsb3B0aW9uczppLGRpc2FibGVkOmMsb25WYWx1ZUNoYW5nZTpvfSl9KX1mdW5jdGlvbiBHYSh7bGFiZWw6ZSxkZXNjcmlwdGlvbjp0LGNoZWNrZWQ6YSxvbkNoZWNrZWRDaGFuZ2U6aSxkaXNhYmxlZDpvfSl7cmV0dXJuKDAsU3QuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy10b2dnbGUtcm93IixjaGlsZHJlbjpbKDAsU3QuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCxTdC5qc3gpKCJzdHJvbmciLHtjaGlsZHJlbjplfSksdD8oMCxTdC5qc3gpKCJzcGFuIix7Y2hpbGRyZW46dH0pOm51bGxdfSksKDAsU3QuanN4KShnbSx7YXJpYUxhYmVsOmUsY2hlY2tlZDphLGRpc2FibGVkOm8sb25DaGVja2VkQ2hhbmdlOml9KV19KX1mdW5jdGlvbiBBaSh7Y2hpbGRyZW46ZSx0b25lOnQ9ImluZm8ifSl7cmV0dXJuIGU/KDAsU3QuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOmB3YW5kLXNldHRpbmdzLXN0YXR1cyB3YW5kLXNldHRpbmdzLXN0YXR1cy0ke3R9YCxyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNoaWxkcmVuOmV9KTpudWxsfWZ1bmN0aW9uIGptKHtsYWJlbDplLHBlbmRpbmc6dCxkaXNhYmxlZDphLG9uU2F2ZTppLHN0YXR1czpvLHRvbmU6Y30pe3JldHVybigwLFN0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3Mtc2F2ZS1iYXIiLGNoaWxkcmVuOlsoMCxTdC5qc3gpKEFpLHt0b25lOmMsY2hpbGRyZW46b30pLCgwLFN0LmpzeCkoR2Use2tpbmQ6InByaW1hcnkiLGRpc2FibGVkOmF8fHQsb25DbGljazppLGNoaWxkcmVuOnQ/Ilx1NEZERFx1NUI1OFx1NEUyRFx1MjAyNiI6ZX0pXX0pfWZ1bmN0aW9uIG9hKHtjaGlsZHJlbjplLHBlbmRpbmc6dCwuLi5hfSl7cmV0dXJuKDAsU3QuanN4KShHZSx7Li4uYSxkaXNhYmxlZDphLmRpc2FibGVkfHx0LGNoaWxkcmVuOnQ/Ilx1NTkwNFx1NzQwNlx1NEUyRFx1MjAyNiI6ZX0pfXZhciBfPWxlKHFlKCksMSk7ZnVuY3Rpb24gWWEoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yJiZlLm1lc3NhZ2U/ZS5tZXNzYWdlOnR9ZnVuY3Rpb24gaUIoZSl7aWYoZT09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4iLSI7aWYoZTwxMDI0KXJldHVybmAke2V9IEJgO2NvbnN0IHQ9WyJLQiIsIk1CIiwiR0IiXTtsZXQgYT1lLzEwMjQsaT0wO2Zvcig7YT49MTAyNCYmaTx0Lmxlbmd0aC0xOylhLz0xMDI0LGkrPTE7cmV0dXJuYCR7YT49MTA/YS50b0ZpeGVkKDApOmEudG9GaXhlZCgxKX0gJHt0W2ldfWB9ZnVuY3Rpb24gZ3coZSl7Y29uc3QgdD1lPy5tYXRjaCgvXGQrKD86XC5cZCspezEsM30vKT8uWzBdO3JldHVybiB0P3Quc3BsaXQoIi4iKS5tYXAoTnVtYmVyKTpbXX1mdW5jdGlvbiB1QihlLHQpe2NvbnN0IGE9Z3coZSksaT1ndyh0KTtpZighYS5sZW5ndGh8fCFpLmxlbmd0aClyZXR1cm4hMDtmb3IobGV0IG89MDtvPE1hdGgubWF4KGEubGVuZ3RoLGkubGVuZ3RoKTtvKz0xKWlmKChhW29dfHwwKSE9PShpW29dfHwwKSlyZXR1cm4oYVtvXXx8MCk+KGlbb118fDApO3JldHVybiExfWZ1bmN0aW9uIG9CKHtjb2RlOmV9KXtjb25zdCB0PSgwLExlLnVzZVN5bmNFeHRlcm5hbFN0b3JlKShJbi5zdWJzY3JpYmUsSW4uZ2V0U25hcHNob3QsSW4uZ2V0U25hcHNob3QpLGE9KDAsTGUudXNlUmVmKShudWxsKSxbaSxvXT0oMCxMZS51c2VTdGF0ZSkoIiIpO3JldHVybigwLExlLnVzZUVmZmVjdCkoKCk9PntpZih0Lm5lc3RlZCE9PSJxciJ8fCFhLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGM9d2luZG93LlFSQ29kZUxpYjtpZighY3x8dHlwZW9mIGMudG9DYW52YXMhPSJmdW5jdGlvbiIpe28oIlx1NEU4Q1x1N0VGNFx1NzgwMVx1NUU5M1x1NjcyQVx1NTJBMFx1OEY3RFx1RkYwQ1x1NTNFRlx1NTkwRFx1NTIzNlx1OEZERVx1NjNBNVx1NzgwMVx1MzAwMiAiKTtyZXR1cm59bygiIik7dHJ5e2MudG9DYW52YXMoYS5jdXJyZW50LGUse3dpZHRoOk1hdGgubWF4KDI0MCxNYXRoLm1pbig0MjAsd2luZG93LmlubmVyV2lkdGgqLjcyKSksbWFyZ2luOjIsZXJyb3JDb3JyZWN0aW9uTGV2ZWw6Ik0iLGNvbG9yOntkYXJrOiIjMWYxYjE3IixsaWdodDoiI2ZmZmZmZiJ9fSxkPT57ZCYmbygiXHU0RThDXHU3RUY0XHU3ODAxXHU3NTFGXHU2MjEwXHU1OTMxXHU4RDI1XHVGRjBDXHU1M0VGXHU1OTBEXHU1MjM2XHU4RkRFXHU2M0E1XHU3ODAxXHUzMDAyIil9KX1jYXRjaHtvKCJcdTRFOENcdTdFRjRcdTc4MDFcdTc1MUZcdTYyMTBcdTU5MzFcdThEMjVcdUZGMENcdTUzRUZcdTU5MERcdTUyMzZcdThGREVcdTYzQTVcdTc4MDFcdTMwMDIiKX19LFtlLHQubmVzdGVkXSksKDAsXy5qc3hzKShqcix7b3Blbjp0Lm5lc3RlZD09PSJxciIsb25PcGVuQ2hhbmdlOmM9PntjfHxJbi5zZXROZXN0ZWQobnVsbCl9LHRpdGxlOiJBcHAgXHU4RkRFXHU2M0E1XHU0RThDXHU3RUY0XHU3ODAxIixkZXNjcmlwdGlvbjoiXHU3NTI4IFdhbmQgQXBwIFx1NjI2Qlx1NEUwMFx1NjI2Qlx1RkYwQ1x1OEZERVx1NjNBNVx1NUY1M1x1NTI0RFx1NjcwRFx1NTJBMVx1NTY2OFx1MzAwMiIsY2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLW5lc3RlZC1kaWFsb2cgd2FuZC1zZXR0aW5ncy1xci1kaWFsb2ciLG92ZXJsYXlDbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtbmVzdGVkLW92ZXJsYXkiLGhlYWRlckNsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1oZWFkZXIiLHRpdGxlQ2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXRpdGxlIixkZXNjcmlwdGlvbkNsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1kZXNjcmlwdGlvbiIsY2xvc2VMYWJlbDoiXHU1MTczXHU5NUVEXHU4RkRFXHU2M0E1XHU0RThDXHU3RUY0XHU3ODAxIix0ZXN0SWQ6InNldHRpbmdzLWNvbm5lY3QtcXItZGlhbG9nIixjaGlsZHJlbjpbKDAsXy5qc3gpKCJjYW52YXMiLHtyZWY6YSwiYXJpYS1sYWJlbCI6IkFwcCBcdThGREVcdTYzQTVcdTRFOENcdTdFRjRcdTc4MDEifSksaT8oMCxfLmpzeCkoQWkse3RvbmU6Indhcm5pbmciLGNoaWxkcmVuOml9KTpudWxsLCgwLF8uanN4KSgiY29kZSIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1jb25uZWN0LWNvZGUiLGNoaWxkcmVuOmV9KV19KX1mdW5jdGlvbiBidyh7a2luZDplLHRpdGxlOnQsZGlzdHJpYnV0aW9uOmEsY3VycmVudFZlcnNpb246aSxyZXBvc2l0b3J5Om8sdG9hc3Q6Y30pe2NvbnN0IGQ9WyJnaXRodWIiLCJsb2NhbCJdLm1hcChmPT4oe3NvdXJjZTpmLGFzc2V0OmFbZl19KSkuZmlsdGVyKGY9PmYuYXNzZXQhPT1udWxsKTtyZXR1cm4hYS5lbmFibGVkJiZkLmxlbmd0aD09PTAmJiFpP251bGw6KDAsXy5qc3gpKG5uLHt0aXRsZTp0LGRlc2NyaXB0aW9uOmk/YFx1NUY1M1x1NTI0RCBBcHAgXHU3MjQ4XHU2NzJDXHVGRjFBJHtpfWA6Ilx1NUJBMlx1NjIzN1x1N0FFRlx1NEUwQlx1OEY3RFx1NEUwRVx1NzI0OFx1NjcyQ1x1NEZFMVx1NjA2RiIsY2hpbGRyZW46ZC5sZW5ndGg/ZC5tYXAoKHtzb3VyY2U6Zixhc3NldDptfSk9Pntjb25zdCBoPSFpfHx1QihtLnZlcnNpb24saSk7cmV0dXJuKDAsXy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWRvd25sb2FkLXJvdyIsY2hpbGRyZW46WygwLF8uanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCxfLmpzeCkoInN0cm9uZyIse2NoaWxkcmVuOmY9PT0iZ2l0aHViIj8iXHU3RUJGXHU0RTBBXHU3MjQ4XHU2NzJDIjoiXHU2NzJDXHU1NzMwXHU3MjQ4XHU2NzJDIn0pLCgwLF8uanN4cykoInNwYW4iLHtjaGlsZHJlbjpbbS52ZXJzaW9uP2B2JHttLnZlcnNpb259YDptLmZpbGVOYW1lLCIgXHhCNyAiLGlCKG0uc2l6ZSldfSldfSksKDAsXy5qc3gpKEdlLHtraW5kOiJzZWNvbmRhcnkiLGRpc2FibGVkOiFoLCJhcmlhLWxhYmVsIjpgJHtoPyJcdTRFMEJcdThGN0QiOiJcdTVERjJcdTVCODlcdTg4QzUifSR7dH0ke2Y9PT0iZ2l0aHViIj8iXHU3RUJGXHU0RTBBXHU3MjQ4XHU2NzJDIjoiXHU2NzJDXHU1NzMwXHU3MjQ4XHU2NzJDIn1gLG9uQ2xpY2s6YXN5bmMoKT0+e2F3YWl0IG8uZXhlY3V0ZSh7dHlwZToiZGlzdHJpYnV0aW9uLmRvd25sb2FkIixraW5kOmUsc291cmNlOmYsdXJsOm0uZG93bmxvYWRVcmwsZmlsZU5hbWU6bS5maWxlTmFtZX0pLGMoIlx1NURGMlx1NUYwMFx1NTlDQlx1NEUwQlx1OEY3RCIsImluZm8iKX0sY2hpbGRyZW46aD9pPyJcdTRFMEJcdThGN0RcdTVFNzZcdTVCODlcdTg4QzUiOiJcdTRFMEJcdThGN0QiOiJcdTVERjJcdTVCODlcdTg4QzUifSldfSxmKX0pOigwLF8uanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWVtcHR5IixjaGlsZHJlbjoiXHU2NjgyXHU2NUUwXHU1M0VGXHU3NTI4XHU1Qjg5XHU4OEM1XHU1MzA1In0pfSl9ZnVuY3Rpb24gc0Ioe3NuYXBzaG90OmUscmVwb3NpdG9yeTp0LHJlZnJlc2g6YSx0b2FzdDppLHNob3dSZXN0YXJ0Om99KXtjb25zdFtjLGRdPSgwLExlLnVzZVN0YXRlKSgiIiksW2YsbV09KDAsTGUudXNlU3RhdGUpKCIiKSxbaCxnXT0oMCxMZS51c2VTdGF0ZSkoImluZm8iKSxbYix5XT0oMCxMZS51c2VTdGF0ZSkobnVsbCksQz1lLmFib3V0O2FzeW5jIGZ1bmN0aW9uIHcoQSxELEIpe2QoQSksbSgiIik7dHJ5e2F3YWl0IEQoKSxCJiYobShCKSxnKCJzdWNjZXNzIikpfWNhdGNoKFQpe20oWWEoVCwiXHU2NENEXHU0RjVDXHU1OTMxXHU4RDI1XHUzMDAyIikpLGcoImVycm9yIil9ZmluYWxseXtkKCIiKX19Y29uc3QgeD1lLnByb3ZpZGVyQ2xpVXBkYXRlcz8uaXRlbXN8fFtdLEY9eC5maWx0ZXIoQT0+QS51cGRhdGVBdmFpbGFibGUmJkEudXBkYXRlU3VwcG9ydGVkKTtyZXR1cm4oMCxfLmpzeHMpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXBhbmVsIiwiYXJpYS1sYWJlbCI6Ilx1NTE3M1x1NEU4RSBXYW5kIixjaGlsZHJlbjpbKDAsXy5qc3hzKSgiaGVhZGVyIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXBhbmVsLWhlYWRpbmciLGNoaWxkcmVuOlsoMCxfLmpzeCkoImgyIix7Y2hpbGRyZW46Ilx1NTE3M1x1NEU4RSBXYW5kIn0pLCgwLF8uanN4KSgicCIse2NoaWxkcmVuOiJcdTY3RTVcdTc3MEJcdTcyNDhcdTY3MkNcdTRGRTFcdTYwNkZcdTMwMDFcdTY2RjRcdTY1QjBcdTcyQjZcdTYwMDFcdTU0OENcdTVCQTJcdTYyMzdcdTdBRUZcdThGREVcdTYzQTVcdTY1QjlcdTVGMEZcdTMwMDIifSldfSksKDAsXy5qc3gpKG5uLHt0aXRsZToiXHU3MjQ4XHU2NzJDXHU0RkUxXHU2MDZGIixjaGlsZHJlbjooMCxfLmpzeHMpKCJkbCIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1hYm91dC1saXN0IixjaGlsZHJlbjpbKDAsXy5qc3hzKSgiZGl2Iix7Y2hpbGRyZW46WygwLF8uanN4KSgiZHQiLHtjaGlsZHJlbjoiXHU1MzA1XHU1NDBEIn0pLCgwLF8uanN4KSgiZGQiLHtjaGlsZHJlbjpDLnBhY2thZ2VOYW1lfSldfSksKDAsXy5qc3hzKSgiZGl2Iix7Y2hpbGRyZW46WygwLF8uanN4KSgiZHQiLHtjaGlsZHJlbjoiXHU1RjUzXHU1MjREXHU3MjQ4XHU2NzJDIn0pLCgwLF8uanN4KSgiZGQiLHtjaGlsZHJlbjpDLnZlcnNpb259KV19KSwoMCxfLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsXy5qc3gpKCJkdCIse2NoaWxkcmVuOiJOb2RlLmpzIFx1ODk4MVx1NkM0MiJ9KSwoMCxfLmpzeCkoImRkIix7Y2hpbGRyZW46Qy5ub2RlVmVyc2lvbn0pXX0pLEMuYnVpbGQuc2hvcnRDb21taXQ/KDAsXy5qc3hzKSgiZGl2Iix7Y2hpbGRyZW46WygwLF8uanN4KSgiZHQiLHtjaGlsZHJlbjoiXHU2Nzg0XHU1RUZBIn0pLCgwLF8uanN4cykoImRkIix7Y2hpbGRyZW46W0MuYnVpbGQuc2hvcnRDb21taXQsQy5idWlsZC5jaGFubmVsP2AgXHhCNyAke0MuYnVpbGQuY2hhbm5lbH1gOiIiXX0pXX0pOm51bGwsQy5yZXBvVXJsPygwLF8uanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCxfLmpzeCkoImR0Iix7Y2hpbGRyZW46Ilx1NEVEM1x1NUU5M1x1NTczMFx1NTc0MCJ9KSwoMCxfLmpzeCkoImRkIix7Y2hpbGRyZW46KDAsXy5qc3gpKCJhIix7aHJlZjpDLnJlcG9VcmwsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsY2hpbGRyZW46Qy5yZXBvVXJsfSl9KV19KTpudWxsXX0pfSksZS5hY2Nlc3M9PT0iYWRtaW4iPygwLF8uanN4cykoXy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLF8uanN4cykobm4se3RpdGxlOiJcdTRGRERcdTYzMDFcdTU3MjhcdTY3MDBcdTY1QjBcdTcyNDhcdTY3MkMiLGRlc2NyaXB0aW9uOmBcdTVGNTNcdTUyNEQgJHtDLnZlcnNpb259IFx4QjcgJHtDLnVwZGF0ZUNoYW5uZWw9PT0iYmV0YSI/IkJldGEgXHU5MDFBXHU5MDUzIjoiU3RhYmxlIFx1OTAxQVx1OTA1MyJ9YCxjaGlsZHJlbjpbKDAsXy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXVwZGF0ZS1kZWNrIixjaGlsZHJlbjpbKDAsXy5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXVwZGF0ZS1kZWNrLWljb24iLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOiJcdTIxQkIifSksKDAsXy5qc3hzKSgiZGl2Iix7Y2hpbGRyZW46WygwLF8uanN4KSgic3Ryb25nIix7Y2hpbGRyZW46Ilx1NjhDMFx1NjdFNVx1NUU3Nlx1N0JBMVx1NzQwNiBXZWIgXHU2NzBEXHU1MkExXHU2NkY0XHU2NUIwIn0pLCgwLF8uanN4KSgic3BhbiIse2NoaWxkcmVuOmI/LmxhdGVzdHx8Qy5sYXRlc3RWZXJzaW9uPyJcdTVERjJcdTgzQjdcdTUzRDZcdTUzRUZcdTc1MjhcdTcyNDhcdTY3MkNcdTRGRTFcdTYwNkYiOiJcdTkwMDlcdTYyRTlcdTY4QzBcdTY3RTVcdTY2RjRcdTY1QjBcdTRFRTVcdTgzQjdcdTUzRDZcdTY3MDBcdTY1QjBcdTcyNDhcdTY3MkNcdTMwMDIifSldfSksKDAsXy5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOkMudXBkYXRlQ2hhbm5lbD09PSJiZXRhIj8id2FuZC1zZXR0aW5ncy11cGRhdGUtY2hhbm5lbCBpcy1iZXRhIjoid2FuZC1zZXR0aW5ncy11cGRhdGUtY2hhbm5lbCIsY2hpbGRyZW46Qy51cGRhdGVDaGFubmVsPT09ImJldGEiPyJCRVRBIjoiU1RBQkxFIn0pXX0pLCgwLF8uanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWFib3V0LWxpc3QiLGNoaWxkcmVuOigwLF8uanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCxfLmpzeCkoInNwYW4iLHtjaGlsZHJlbjoiXHU2NzAwXHU2NUIwXHU3MjQ4XHU2NzJDIn0pLCgwLF8uanN4KSgic3Ryb25nIix7Y2hpbGRyZW46Yj8ubGF0ZXN0fHxDLmxhdGVzdFZlcnNpb258fCJcdTVDMUFcdTY3MkFcdTY4QzBcdTY3RTUifSldfSl9KSwoMCxfLmpzeCkoR2Ese2xhYmVsOiJCZXRhIFx1OTAxQVx1OTA1MyIsZGVzY3JpcHRpb246Ilx1NjNBNVx1NjUzNlx1NkQ0Qlx1OEJENVx1NzI0OFx1NjcyQ1x1RkYwQ1x1NTNFRlx1ODBGRFx1NTMwNVx1NTQyQlx1NUMxQVx1NjcyQVx1N0EzM1x1NUI5QVx1NzY4NFx1NTI5Rlx1ODBGRFx1MzAwMiIsY2hlY2tlZDpDLnVwZGF0ZUNoYW5uZWw9PT0iYmV0YSIsZGlzYWJsZWQ6ISFjLG9uQ2hlY2tlZENoYW5nZTpBPT57dygiY2hhbm5lbCIsYXN5bmMoKT0+e2NvbnN0IEQ9YXdhaXQgdC5leGVjdXRlKHt0eXBlOiJ1cGRhdGVDaGFubmVsLnNldCIsY2hhbm5lbDpBPyJiZXRhIjoic3RhYmxlIn0pO3koRC51cGRhdGUpLGF3YWl0IGEoKX0sIlx1NjZGNFx1NjVCMFx1OTAxQVx1OTA1M1x1NURGMlx1NTIwN1x1NjM2Mlx1MzAwMiIpfX0pLCgwLF8uanN4KShHYSx7bGFiZWw6Ilx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMCBXZWIgXHU2NzBEXHU1MkExIixkZXNjcmlwdGlvbjoiXHU2OEMwXHU2RDRCXHU1MjMwXHU2NUIwXHU3MjQ4XHU2NzJDXHU1NDBFXHU4MUVBXHU1MkE4XHU0RTBCXHU4RjdEXHU1Qjg5XHU4OEM1XHU1RTc2XHU5MUNEXHU1NDJGXHU2NzBEXHU1MkExXHUzMDAyIixjaGVja2VkOmUuYXV0b1VwZGF0ZS53ZWIsZGlzYWJsZWQ6ISFjLG9uQ2hlY2tlZENoYW5nZTpBPT57dygiYXV0by13ZWIiLGFzeW5jKCk9Pnthd2FpdCB0LmV4ZWN1dGUoe3R5cGU6ImF1dG9VcGRhdGUuc2V0Iix0YXJnZXQ6IndlYiIsZW5hYmxlZDpBfSksYXdhaXQgYSgpfSwiXHU4MUVBXHU1MkE4XHU2NkY0XHU2NUIwXHU1MDRGXHU1OTdEXHU1REYyXHU0RkREXHU1QjU4XHUzMDAyIil9fSksKDAsXy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWJ1dHRvbi1yb3ciLGNoaWxkcmVuOlsoMCxfLmpzeCkob2Ese2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy11cGRhdGUtcHJpbWFyeSIscGVuZGluZzpjPT09ImNoZWNrIixraW5kOiJwcmltYXJ5IixvbkNsaWNrOigpPT57dygiY2hlY2siLGFzeW5jKCk9PnkoYXdhaXQgdC5leGVjdXRlKHt0eXBlOiJ3ZWJVcGRhdGUuY2hlY2sifSkpLCJcdTcyNDhcdTY3MkNcdTY4QzBcdTY3RTVcdTVCOENcdTYyMTBcdTMwMDIiKX0sY2hpbGRyZW46Ilx1NjhDMFx1NjdFNVx1NjZGNFx1NjVCMCJ9KSwoMCxfLmpzeCkob2Ese3BlbmRpbmc6Yz09PSJpbnN0YWxsIixraW5kOiJzZWNvbmRhcnkiLG9uQ2xpY2s6KCk9Pnt3KCJpbnN0YWxsIixhc3luYygpPT57Y29uc3QgQT1hd2FpdCB0LmV4ZWN1dGUoe3R5cGU6IndlYlVwZGF0ZS5pbnN0YWxsIn0pO20oQS5tZXNzYWdlKX0sdm9pZCAwKX0sY2hpbGRyZW46Ilx1NjZGNFx1NjVCMFx1NjIxNlx1OTFDRFx1NjVCMFx1NUI4OVx1ODhDNSJ9KSxlLnJlc3RhcnRSZXF1aXJlZD8oMCxfLmpzeCkob2Ese3BlbmRpbmc6Yz09PSJyZXN0YXJ0IixraW5kOiJzZWNvbmRhcnkiLG9uQ2xpY2s6KCk9Pnt3KCJyZXN0YXJ0Iixhc3luYygpPT57dHJ5e2F3YWl0IHQuZXhlY3V0ZSh7dHlwZToic2VydmVyLnJlc3RhcnQifSl9ZmluYWxseXtvKCl9fSwiXHU2NzBEXHU1MkExXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGXHUyMDI2Iil9LGNoaWxkcmVuOiJcdTkxQ0RcdTU0MkZcdTY3MERcdTUyQTEifSk6bnVsbF19KV19KSwoMCxfLmpzeHMpKG5uLHt0aXRsZToiXHU1RjAwXHU1M0QxIENMSSIsZGVzY3JpcHRpb246IkNsYXVkZSBDb2RlXHUzMDAxQ29kZXhcdTMwMDFPcGVuQ29kZSBcdTRFMEUgUW9kZXIgQ0xJIFx1NzY4NFx1NjcwRFx1NTJBMVx1N0FFRlx1NzI0OFx1NjcyQ1x1MzAwMiIsY2hpbGRyZW46WygwLF8uanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1jbGktbGlzdCIsY2hpbGRyZW46W3gubWFwKEE9PigwLF8uanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCxfLmpzeCkoInN0cm9uZyIse2NoaWxkcmVuOkEubGFiZWx9KSwoMCxfLmpzeHMpKCJzcGFuIix7Y2hpbGRyZW46W0EuaW5zdGFsbGVkP0EuY3VycmVudFZlcnNpb258fCJcdTY3MkFcdTc3RTVcdTcyNDhcdTY3MkMiOiJcdTY3MkFcdTVCODlcdTg4QzUiLEEudXBkYXRlQXZhaWxhYmxlP2AgXHUyMTkyICR7QS5sYXRlc3RWZXJzaW9ufHwiXHU2NzAwXHU2NUIwXHU3MjQ4In1gOiIiXX0pXX0sQS5pZCkpLHgubGVuZ3RoP251bGw6KDAsXy5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtZW1wdHkiLGNoaWxkcmVuOiJcdTVDMUFcdTY3MkFcdTY4QzBcdTY3RTUgQ0xJIFx1NzI0OFx1NjcyQyJ9KV19KSwoMCxfLmpzeCkoR2Ese2xhYmVsOiJcdTgxRUFcdTUyQThcdTY2RjRcdTY1QjBcdTVGMDBcdTUzRDEgQ0xJIixkZXNjcmlwdGlvbjoiXHU2NzBEXHU1MkExXHU3QUVGXHU1QjlBXHU2NzFGXHU2OEMwXHU2N0U1XHU1RTc2XHU4QzAzXHU3NTI4XHU1NDA0IENMSSBcdTc2ODRcdTVCOThcdTY1QjlcdTY2RjRcdTY1QjBcdTU2NjhcdTMwMDIiLGNoZWNrZWQ6ZS5hdXRvVXBkYXRlLmNsaSxkaXNhYmxlZDohIWMsb25DaGVja2VkQ2hhbmdlOkE9Pnt3KCJhdXRvLWNsaSIsYXN5bmMoKT0+e2F3YWl0IHQuZXhlY3V0ZSh7dHlwZToiYXV0b1VwZGF0ZS5zZXQiLHRhcmdldDoiY2xpIixlbmFibGVkOkF9KSxhd2FpdCBhKCl9LCJDTEkgXHU4MUVBXHU1MkE4XHU2NkY0XHU2NUIwXHU1MDRGXHU1OTdEXHU1REYyXHU0RkREXHU1QjU4XHUzMDAyIil9fSksKDAsXy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWJ1dHRvbi1yb3ciLGNoaWxkcmVuOlsoMCxfLmpzeCkob2Ese3BlbmRpbmc6Yz09PSJjbGktY2hlY2siLGtpbmQ6InNlY29uZGFyeSIsb25DbGljazooKT0+e3coImNsaS1jaGVjayIsYXN5bmMoKT0+e2F3YWl0IHQuZXhlY3V0ZSh7dHlwZToiY2xpVXBkYXRlcy5sb2FkIixmb3JjZTohMH0pLGF3YWl0IGEoKX0sIkNMSSBcdTcyNDhcdTY3MkNcdTY4QzBcdTY3RTVcdTVCOENcdTYyMTBcdTMwMDIiKX0sY2hpbGRyZW46Ilx1NjhDMFx1NjdFNSBDTEkgXHU2NkY0XHU2NUIwIn0pLEYubGVuZ3RoPygwLF8uanN4cykob2Ese3BlbmRpbmc6Yz09PSJjbGktaW5zdGFsbCIsa2luZDoicHJpbWFyeSIsb25DbGljazooKT0+e3coImNsaS1pbnN0YWxsIixhc3luYygpPT57YXdhaXQgdC5leGVjdXRlKHt0eXBlOiJjbGlVcGRhdGVzLmluc3RhbGwiLGlkczpGLm1hcChBPT5BLmlkKX0pLGF3YWl0IGEoKX0sIkNMSSBcdTY2RjRcdTY1QjBcdTVCOENcdTYyMTBcdTMwMDIiKX0sY2hpbGRyZW46WyJcdTVGRUJcdTkwMUZcdTY2RjRcdTY1QjAgKCIsRi5sZW5ndGgsIikiXX0pOm51bGxdfSldfSksKDAsXy5qc3gpKGJ3LHtraW5kOiJhcGsiLHRpdGxlOiJBbmRyb2lkIEFwcCIsZGlzdHJpYnV0aW9uOkMuYW5kcm9pZEFwayxjdXJyZW50VmVyc2lvbjplLnBsYXRmb3JtLmtpbmQ9PT0iYW5kcm9pZCI/ZS5wbGF0Zm9ybS5hcHBWZXJzaW9uOm51bGwscmVwb3NpdG9yeTp0LHRvYXN0Oml9KSwoMCxfLmpzeCkoYncse2tpbmQ6ImRtZyIsdGl0bGU6Im1hY09TIEFwcCIsZGlzdHJpYnV0aW9uOkMubWFjb3NEbWcsY3VycmVudFZlcnNpb246ZS5wbGF0Zm9ybS5raW5kPT09Im1hY29zIj9lLnBsYXRmb3JtLmFwcFZlcnNpb246bnVsbCxyZXBvc2l0b3J5OnQsdG9hc3Q6aX0pLCgwLF8uanN4cykobm4se3RpdGxlOiJBcHAgXHU4RkRFXHU2M0E1XHU3ODAxIixkZXNjcmlwdGlvbjoiXHU3Qzk4XHU4RDM0XHU2MjE2XHU2MjZCXHU3ODAxXHU1NDBFXHU1M0VGXHU4RkRFXHU2M0E1XHU1RjUzXHU1MjREXHU2NzBEXHU1MkExXHVGRjFCXHU0RkVFXHU2NTM5XHU1QkM2XHU3ODAxXHU1NDBFXHU0RjFBXHU1OTMxXHU2NTQ4XHUzMDAyIixjaGlsZHJlbjpbKDAsXy5qc3gpKCJjb2RlIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWNvbm5lY3QtY29kZSIsImFyaWEtbGFiZWwiOiJBcHAgXHU4RkRFXHU2M0E1XHU3ODAxIixjaGlsZHJlbjplLmNvbm5lY3RDb2RlPy5jb2RlfHwiXHU2NjgyXHU0RTBEXHU1M0VGXHU3NTI4In0pLCgwLF8uanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1idXR0b24tcm93IixjaGlsZHJlbjpbKDAsXy5qc3gpKEdlLHtkaXNhYmxlZDohZS5jb25uZWN0Q29kZT8uY29kZSxraW5kOiJzZWNvbmRhcnkiLG9uQ2xpY2s6YXN5bmMoKT0+e2F3YWl0IHQuZXhlY3V0ZSh7dHlwZToiY2xpcGJvYXJkLmNvcHkiLHRleHQ6ZS5jb25uZWN0Q29kZS5jb2RlfSksaSgiXHU4RkRFXHU2M0E1XHU3ODAxXHU1REYyXHU1OTBEXHU1MjM2Iiwic3VjY2VzcyIpfSxjaGlsZHJlbjoiXHU1OTBEXHU1MjM2XHU4RkRFXHU2M0E1XHU3ODAxIn0pLCgwLF8uanN4KShHZSx7ZGlzYWJsZWQ6IWUuY29ubmVjdENvZGU/LmNvZGUsa2luZDoic2Vjb25kYXJ5IixvbkNsaWNrOigpPT5Jbi5zZXROZXN0ZWQoInFyIiksY2hpbGRyZW46Ilx1NjUzRVx1NTkyN1x1OEZERVx1NjNBNVx1NEU4Q1x1N0VGNFx1NzgwMSJ9KV19KV19KV19KTpudWxsLGY/KDAsXy5qc3gpKEFpLHt0b25lOmgsY2hpbGRyZW46Zn0pOm51bGwsKDAsXy5qc3gpKG9CLHtjb2RlOmUuY29ubmVjdENvZGU/LmNvZGV8fCIifSldfSl9dmFyIGxCPVt7dmFsdWU6ImRlZmF1bHQiLGxhYmVsOiJcdTlFRDhcdThCQTQifSx7dmFsdWU6ImFzc2lzdCIsbGFiZWw6Ilx1OEY4NVx1NTJBOVx1NkEyMVx1NUYwRiJ9LHt2YWx1ZToiYWdlbnQiLGxhYmVsOiJBZ2VudCJ9LHt2YWx1ZToiYWdlbnQtbWF4IixsYWJlbDoiQWdlbnQgTWF4In0se3ZhbHVlOiJhdXRvLWVkaXQiLGxhYmVsOiJcdTgxRUFcdTUyQThcdTdGMTZcdThGOTEifSx7dmFsdWU6ImZ1bGwtYWNjZXNzIixsYWJlbDoiXHU1QjhDXHU1MTY4XHU4QkJGXHU5NUVFIn0se3ZhbHVlOiJuYXRpdmUiLGxhYmVsOiJcdTUzOUZcdTc1MUZcdTZBMjFcdTVGMEYifSx7dmFsdWU6Im1hbmFnZWQiLGxhYmVsOiJcdTYyNThcdTdCQTFcdTZBMjFcdTVGMEYifV07ZnVuY3Rpb24geXcoZSl7Y29uc3QgdD1lLmNvbmZpZztyZXR1cm57aG9zdDp0Lmhvc3QscG9ydDp0LnBvcnQsaHR0cHM6dC5odHRwcyxkZWZhdWx0TW9kZTp0LmRlZmF1bHRNb2RlLGRlZmF1bHRDd2Q6dC5kZWZhdWx0Q3dkLHNoZWxsOnQuc2hlbGwsbGFuZ3VhZ2U6dC5sYW5ndWFnZSxzdHJ1Y3R1cmVkUnVubmVyOnQuc3RydWN0dXJlZFJ1bm5lcixpbmhlcml0RW52OnQuaW5oZXJpdEVudn19ZnVuY3Rpb24gY0Ioe3JlcG9zaXRvcnk6ZX0pe2NvbnN0IHQ9KDAsTGUudXNlU3luY0V4dGVybmFsU3RvcmUpKEluLnN1YnNjcmliZSxJbi5nZXRTbmFwc2hvdCxJbi5nZXRTbmFwc2hvdCksW2EsaV09KDAsTGUudXNlU3RhdGUpKG51bGwpLFtvLGNdPSgwLExlLnVzZVN0YXRlKSgiIiksW2QsZl09KDAsTGUudXNlU3RhdGUpKCIiKSxbbSxoXT0oMCxMZS51c2VTdGF0ZSkoITEpO2FzeW5jIGZ1bmN0aW9uIGcoeT0hMSl7aCghMCksYygiIik7dHJ5e2koYXdhaXQgZS5leGVjdXRlKHt0eXBlOiJlbnZpcm9ubWVudC5sb2FkIixyZXZlYWw6eX0pKX1jYXRjaChDKXtjKFlhKEMsIlx1NzNBRlx1NTg4M1x1NTNEOFx1OTFDRlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNVx1MzAwMiIpKX1maW5hbGx5e2goITEpfX0oMCxMZS51c2VFZmZlY3QpKCgpPT57dC5uZXN0ZWQ9PT0iZW52aXJvbm1lbnQiJiZnKCExKX0sW3QubmVzdGVkXSk7Y29uc3QgYj0oMCxMZS51c2VNZW1vKSgoKT0+e2NvbnN0IHk9ZC50cmltKCkudG9Mb3dlckNhc2UoKTtyZXR1cm4oYT8uZW50cmllc3x8W10pLmZpbHRlcihDPT4heXx8Qy5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoeSkpfSxbYSxkXSk7cmV0dXJuKDAsXy5qc3hzKShqcix7b3Blbjp0Lm5lc3RlZD09PSJlbnZpcm9ubWVudCIsb25PcGVuQ2hhbmdlOnk9Pnt5fHxJbi5zZXROZXN0ZWQobnVsbCl9LHRpdGxlOiJcdTVDMDZcdTZDRThcdTUxNjVcdTVCNTBcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0YiLGRlc2NyaXB0aW9uOiJcdThGRDlcdTRFOUJcdTUzRDhcdTkxQ0ZcdTRGMUFcdTRGMjBcdTdFRDkgQ2xhdWRlXHUzMDAxQ29kZXggXHU0RTBFIE9wZW5Db2RlIFx1NzY4NFx1NUI1MFx1OEZEQlx1N0EwQlx1MzAwMiIsY2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLW5lc3RlZC1kaWFsb2ciLG92ZXJsYXlDbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtbmVzdGVkLW92ZXJsYXkiLGhlYWRlckNsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1oZWFkZXIiLHRpdGxlQ2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXRpdGxlIixkZXNjcmlwdGlvbkNsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1kZXNjcmlwdGlvbiIsY2xvc2VMYWJlbDoiXHU1MTczXHU5NUVEXHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGXHU5ODg0XHU4OUM4Iix0ZXN0SWQ6InNldHRpbmdzLWVudmlyb25tZW50LWRpYWxvZyIsY2hpbGRyZW46WygwLF8uanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1lbnYtdG9vbGJhciIsY2hpbGRyZW46WygwLF8uanN4KShqbix7aWQ6InNldHRpbmdzLWVudmlyb25tZW50LXNlYXJjaCIsdmFsdWU6ZCx0eXBlOiJzZWFyY2giLHBsYWNlaG9sZGVyOiJcdTY0MUNcdTdEMjJcdTUzRDhcdTkxQ0ZcdTU0MEQiLG9uQ2hhbmdlOmZ9KSwoMCxfLmpzeCkoR2Ese2xhYmVsOiJcdTY2M0VcdTc5M0FcdTY1NEZcdTYxMUZcdTUwM0MiLGRlc2NyaXB0aW9uOiJcdTRFMzRcdTY1RjZcdThCRjdcdTZDNDJcdTY3MERcdTUyQTFcdTdBRUZcdThGRDRcdTU2REVcdTY3MkFcdTYzQTlcdTc4MDFcdTUwM0MiLGNoZWNrZWQ6YT8ucmV2ZWFsPT09ITAsZGlzYWJsZWQ6bSxvbkNoZWNrZWRDaGFuZ2U6eT0+e2coeSl9fSldfSksbz8oMCxfLmpzeCkoQWkse3RvbmU6ImVycm9yIixjaGlsZHJlbjpvfSk6bnVsbCwoMCxfLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtZW52LWxpc3QiLHJvbGU6InRhYmxlIiwiYXJpYS1sYWJlbCI6Ilx1NUI1MFx1OEZEQlx1N0EwQlx1NzNBRlx1NTg4M1x1NTNEOFx1OTFDRiIsY2hpbGRyZW46W20/KDAsXy5qc3gpKCJkaXYiLHtyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOiJcdTUyQTBcdThGN0RcdTRFMkRcdTIwMjYifSk6Yi5tYXAoeT0+KDAsXy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWVudi1yb3ciLHJvbGU6InJvdyIsY2hpbGRyZW46WygwLF8uanN4KSgiY29kZSIse3JvbGU6ImNlbGwiLGNoaWxkcmVuOnkubmFtZX0pLCgwLF8uanN4KSgic3BhbiIse3JvbGU6ImNlbGwiLHRpdGxlOnkudmFsdWUsY2hpbGRyZW46eS52YWx1ZX0pXX0seS5uYW1lKSksIW0mJmIubGVuZ3RoPT09MD8oMCxfLmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1lbXB0eSIsY2hpbGRyZW46Ilx1NkNBMVx1NjcwOVx1NTMzOVx1OTE0RFx1NzY4NFx1NTNEOFx1OTFDRiJ9KTpudWxsXX0pXX0pfWZ1bmN0aW9uIGRCKHtzbmFwc2hvdDplLHJlcG9zaXRvcnk6dCxyZWZyZXNoOmEsdG9hc3Q6aX0pe2NvbnN0W28sY109KDAsTGUudXNlU3RhdGUpKCgpPT55dyhlKSksW2QsZl09KDAsTGUudXNlU3RhdGUpKCExKSxbbSxoXT0oMCxMZS51c2VTdGF0ZSkoIiIpLFtnLGJdPSgwLExlLnVzZVN0YXRlKSgiaW5mbyIpLFt5LENdPSgwLExlLnVzZVN0YXRlKSh7fSk7KDAsTGUudXNlRWZmZWN0KSgoKT0+Yyh5dyhlKSksW2VdKTtmdW5jdGlvbiB3KEYsQSl7YyhEPT4oey4uLkQsW0ZdOkF9KSksQyhEPT4oey4uLkQsW0ZdOiIifSkpfWFzeW5jIGZ1bmN0aW9uIHgoKXtjb25zdCBGPXt9O2lmKG8uaG9zdC50cmltKCl8fChGLmhvc3Q9Ikhvc3QgXHU0RTBEXHU4MEZEXHU0RTNBXHU3QTdBXHUzMDAyIiksKCFOdW1iZXIuaXNJbnRlZ2VyKG8ucG9ydCl8fG8ucG9ydDwxfHxvLnBvcnQ+NjU1MzUpJiYoRi5wb3J0PSJcdTdBRUZcdTUzRTNcdTVGQzVcdTk4N0JcdTY2MkYgMVx1MjAxMzY1NTM1IFx1NzY4NFx1NjU3NFx1NjU3MFx1MzAwMiIpLG8uc2hlbGwudHJpbSgpfHwoRi5zaGVsbD0iU2hlbGwgXHU0RTBEXHU4MEZEXHU0RTNBXHU3QTdBXHUzMDAyIiksQyhGKSxPYmplY3Qua2V5cyhGKS5sZW5ndGgpe2goIlx1OEJGN1x1NEZFRVx1NkI2M1x1NjgwN1x1OEJCMFx1NzY4NFx1OTE0RFx1N0Y2RVx1OTg3OVx1MzAwMiIpLGIoImVycm9yIik7cmV0dXJufWYoITApLGgoIiIpO3RyeXtjb25zdCBBPWF3YWl0IHQuZXhlY3V0ZSh7dHlwZToiZ2VuZXJhbC5zYXZlIix2YWx1ZTpvfSk7aChBLnJlc3RhcnRSZXF1aXJlZD8iXHU5MTREXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4XHVGRjFCSG9zdFx1MzAwMVx1N0FFRlx1NTNFM1x1MzAwMUhUVFBTIFx1NjIxNiBTaGVsbCBcdTc2ODRcdTUzRDhcdTUzMTZcdTk3MDBcdTg5ODFcdTkxQ0RcdTU0MkZcdTY3MERcdTUyQTFcdTU0MEVcdTc1MUZcdTY1NDhcdTMwMDIiOiJcdTU3RkFcdTY3MkNcdTkxNERcdTdGNkVcdTVERjJcdTRGRERcdTVCNThcdTMwMDIiKSxiKEEucmVzdGFydFJlcXVpcmVkPyJ3YXJuaW5nIjoic3VjY2VzcyIpLGF3YWl0IGEoKSxpKCJcdTU3RkFcdTY3MkNcdTkxNERcdTdGNkVcdTVERjJcdTRGRERcdTVCNTgiLCJzdWNjZXNzIil9Y2F0Y2goQSl7aChZYShBLCJcdTRGRERcdTVCNThcdTU3RkFcdTY3MkNcdTkxNERcdTdGNkVcdTU5MzFcdThEMjVcdTMwMDIiKSksYigiZXJyb3IiKX1maW5hbGx5e2YoITEpfX1yZXR1cm4oMCxfLmpzeHMpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXBhbmVsIiwiYXJpYS1sYWJlbCI6Ilx1NTdGQVx1NjcyQ1x1OTE0RFx1N0Y2RSIsY2hpbGRyZW46WygwLF8uanN4cykoImhlYWRlciIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1wYW5lbC1oZWFkaW5nIixjaGlsZHJlbjpbKDAsXy5qc3gpKCJoMiIse2NoaWxkcmVuOiJcdTU3RkFcdTY3MkNcdTkxNERcdTdGNkUifSksKDAsXy5qc3gpKCJwIix7Y2hpbGRyZW46Ilx1OTE0RFx1N0Y2RVx1NjcwRFx1NTJBMVx1OEZERVx1NjNBNVx1MzAwMVx1NjI2N1x1ODg0Q1x1NjVCOVx1NUYwRlx1NTQ4Q1x1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMiJ9KV19KSwoMCxfLmpzeHMpKG5uLHt0aXRsZToiXHU2NzBEXHU1MkExXHU4RkRFXHU2M0E1IixkZXNjcmlwdGlvbjoiXHU5MEU4XHU3RjcyXHU1QjU3XHU2QkI1XHU0RkREXHU1QjU4XHU1NDBFXHU1M0VGXHU4MEZEXHU5NzAwXHU4OTgxXHU5MUNEXHU1NDJGXHU2NzBEXHU1MkExXHUzMDAyIixjaGlsZHJlbjpbKDAsXy5qc3hzKShqdSx7Y2hpbGRyZW46WygwLF8uanN4KShfdCx7bGFiZWw6Ikhvc3QiLGh0bWxGb3I6InNldHRpbmdzLWhvc3QiLGVycm9yOnkuaG9zdCxjaGlsZHJlbjooMCxfLmpzeCkoam4se2lkOiJzZXR0aW5ncy1ob3N0Iix2YWx1ZTpvLmhvc3QsaW52YWxpZDohIXkuaG9zdCxvbkNoYW5nZTpGPT53KCJob3N0IixGKX0pfSksKDAsXy5qc3gpKF90LHtsYWJlbDoiXHU3QUVGXHU1M0UzIixodG1sRm9yOiJzZXR0aW5ncy1wb3J0IixlcnJvcjp5LnBvcnQsY2hpbGRyZW46KDAsXy5qc3gpKGpuLHtpZDoic2V0dGluZ3MtcG9ydCIsdHlwZToibnVtYmVyIixtaW46MSxtYXg6NjU1MzUsdmFsdWU6by5wb3J0LGludmFsaWQ6ISF5LnBvcnQsb25DaGFuZ2U6Rj0+dygicG9ydCIsTnVtYmVyKEYpKX0pfSldfSksKDAsXy5qc3gpKEdhLHtsYWJlbDoiXHU1NDJGXHU3NTI4IEhUVFBTIixkZXNjcmlwdGlvbjoiXHU0RjdGXHU3NTI4XHU2NzBEXHU1MkExXHU3QUVGXHU4QkMxXHU0RTY2XHU1MkEwXHU1QkM2XHU2RDRGXHU4OUM4XHU1NjY4XHU0RTBFXHU2NzBEXHU1MkExXHU0RTRCXHU5NUY0XHU3Njg0XHU4RkRFXHU2M0E1XHUzMDAyIixjaGVja2VkOm8uaHR0cHMsb25DaGVja2VkQ2hhbmdlOkY9PncoImh0dHBzIixGKX0pXX0pLCgwLF8uanN4cykobm4se3RpdGxlOiJcdTYyNjdcdTg4NENcdTUwNEZcdTU5N0QiLGRlc2NyaXB0aW9uOiJcdTVFOTRcdTc1MjhcdTRFOEVcdTRFNEJcdTU0MEVcdTUyMUJcdTVFRkFcdTc2ODRcdTY1QjBcdTRGMUFcdThCRERcdTMwMDIiLGNoaWxkcmVuOlsoMCxfLmpzeHMpKGp1LHtjaGlsZHJlbjpbKDAsXy5qc3gpKF90LHtsYWJlbDoiXHU5RUQ4XHU4QkE0XHU2QTIxXHU1RjBGIixjaGlsZHJlbjooMCxfLmpzeCkoTXUse2lkOiJzZXR0aW5ncy1kZWZhdWx0LW1vZGUiLGFyaWFMYWJlbDoiXHU5RUQ4XHU4QkE0XHU2MjY3XHU4ODRDXHU2QTIxXHU1RjBGIix2YWx1ZTpvLmRlZmF1bHRNb2RlLG9wdGlvbnM6bEIsb25DaGFuZ2U6Rj0+dygiZGVmYXVsdE1vZGUiLEYpfSl9KSwoMCxfLmpzeCkoX3Qse2xhYmVsOiJcdTdFRDNcdTY3ODRcdTUzMTZcdThGRDBcdTg4NENcdTU2NjgiLGNoaWxkcmVuOigwLF8uanN4KShNdSx7aWQ6InNldHRpbmdzLXN0cnVjdHVyZWQtcnVubmVyIixhcmlhTGFiZWw6Ilx1N0VEM1x1Njc4NFx1NTMxNlx1OEZEMFx1ODg0Q1x1NTY2OCIsdmFsdWU6by5zdHJ1Y3R1cmVkUnVubmVyLG9wdGlvbnM6W3t2YWx1ZToiY2xpIixsYWJlbDoiQ0xJIn0se3ZhbHVlOiJzZGsiLGxhYmVsOiJTREsifV0sb25DaGFuZ2U6Rj0+dygic3RydWN0dXJlZFJ1bm5lciIsRil9KX0pLCgwLF8uanN4KShfdCx7bGFiZWw6Ilx1NzU0Q1x1OTc2Mlx1OEJFRFx1OEEwMCIsY2hpbGRyZW46KDAsXy5qc3gpKE11LHtpZDoic2V0dGluZ3MtbGFuZ3VhZ2UiLGFyaWFMYWJlbDoiXHU3NTRDXHU5NzYyXHU4QkVEXHU4QTAwIix2YWx1ZTpvLmxhbmd1YWdlfHwiYXV0byIsb3B0aW9uczpbe3ZhbHVlOiJhdXRvIixsYWJlbDoiXHU4MUVBXHU1MkE4In0se3ZhbHVlOiJ6aC1DTiIsbGFiZWw6Ilx1N0I4MFx1NEY1M1x1NEUyRFx1NjU4NyJ9LHt2YWx1ZToiZW4iLGxhYmVsOiJFbmdsaXNoIn1dLG9uQ2hhbmdlOkY9PncoImxhbmd1YWdlIixGPT09ImF1dG8iPyIiOkYpfSl9KV19KSwoMCxfLmpzeCkoR2Ese2xhYmVsOiJcdTdFRTdcdTYyN0ZcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0YiLGRlc2NyaXB0aW9uOiJcdTYyOEFcdTVGNTNcdTUyNERcdTY3MERcdTUyQTFcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0ZcdTRGMjBcdTdFRDkgUFRZIFx1NEUwRVx1N0VEM1x1Njc4NFx1NTMxNlx1NUI1MFx1OEZEQlx1N0EwQlx1MzAwMiIsY2hlY2tlZDpvLmluaGVyaXRFbnYsb25DaGVja2VkQ2hhbmdlOkY9PncoImluaGVyaXRFbnYiLEYpfSksKDAsXy5qc3gpKEdlLHtraW5kOiJzZWNvbmRhcnkiLG9uQ2xpY2s6KCk9PkluLnNldE5lc3RlZCgiZW52aXJvbm1lbnQiKSxjaGlsZHJlbjoiXHU2N0U1XHU3NzBCXHU1QzA2XHU2Q0U4XHU1MTY1XHU3Njg0XHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGIn0pXX0pLCgwLF8uanN4KShubix7dGl0bGU6Ilx1NURFNVx1NEY1Q1x1NzNBRlx1NTg4MyIsY2hpbGRyZW46KDAsXy5qc3hzKShqdSx7Y2hpbGRyZW46WygwLF8uanN4KShfdCx7bGFiZWw6Ilx1OUVEOFx1OEJBNFx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSIsaHRtbEZvcjoic2V0dGluZ3MtZGVmYXVsdC1jd2QiLGNoaWxkcmVuOigwLF8uanN4KShqbix7aWQ6InNldHRpbmdzLWRlZmF1bHQtY3dkIix2YWx1ZTpvLmRlZmF1bHRDd2QscGxhY2Vob2xkZXI6Ii9ob21lL3VzZXIiLG9uQ2hhbmdlOkY9PncoImRlZmF1bHRDd2QiLEYpfSl9KSwoMCxfLmpzeCkoX3Qse2xhYmVsOiJTaGVsbCIsaHRtbEZvcjoic2V0dGluZ3Mtc2hlbGwiLGVycm9yOnkuc2hlbGwsY2hpbGRyZW46KDAsXy5qc3gpKGpuLHtpZDoic2V0dGluZ3Mtc2hlbGwiLHZhbHVlOm8uc2hlbGwsaW52YWxpZDohIXkuc2hlbGwscGxhY2Vob2xkZXI6Ii9iaW4vYmFzaCIsb25DaGFuZ2U6Rj0+dygic2hlbGwiLEYpfSl9KV19KX0pLGUucGxhdGZvcm0uY2FuU2V0QXBwSWNvbj8oMCxfLmpzeCkobm4se3RpdGxlOiJcdTVFOTRcdTc1MjhcdTU2RkVcdTY4MDciLGRlc2NyaXB0aW9uOiJcdThGRDRcdTU2REVcdTdDRkJcdTdFREZcdTY4NENcdTk3NjJcdTU0MEVcdTc1MUZcdTY1NDhcdTMwMDIiLGNoaWxkcmVuOigwLF8uanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWJ1dHRvbi1yb3ciLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6Ilx1NUU5NFx1NzUyOFx1NTZGRVx1NjgwNyIsY2hpbGRyZW46WyJzaG9ydGhhaXIiLCJnYXJmaWVsZCJdLm1hcChGPT4oMCxfLmpzeCkoR2Use2tpbmQ6ZS5wbGF0Zm9ybS5hcHBJY29uPT09Rj8icHJpbWFyeSI6InNlY29uZGFyeSIsImFyaWEtcHJlc3NlZCI6ZS5wbGF0Zm9ybS5hcHBJY29uPT09RixvbkNsaWNrOmFzeW5jKCk9Pnthd2FpdCB0LmV4ZWN1dGUoe3R5cGU6ImFwcEljb24uc2V0IixpY29uOkZ9KSxpKCJcdTU2RkVcdTY4MDdcdTVERjJcdTUyMDdcdTYzNjJcdUZGMENcdThGRDRcdTU2REVcdTY4NENcdTk3NjJcdTU0MEVcdTc1MUZcdTY1NDgiLCJzdWNjZXNzIil9LGNoaWxkcmVuOkY9PT0ic2hvcnRoYWlyIj8iXHU4RDVCXHU1MzVBXHU4NjRFXHU1OTlFIjoiXHU1MkU0XHU1MkIzXHU1MjFEXHU0RThDIn0sRikpfSl9KTpudWxsLCgwLF8uanN4KShqbSx7bGFiZWw6Ilx1NEZERFx1NUI1OFx1NTdGQVx1NjcyQ1x1OTE0RFx1N0Y2RSIscGVuZGluZzpkLG9uU2F2ZTooKT0+e3goKX0sc3RhdHVzOm0sdG9uZTpnfSksKDAsXy5qc3gpKGNCLHtyZXBvc2l0b3J5OnR9KV19KX1mdW5jdGlvbiB3dyhlKXtjb25zdCB0PWUuY29uZmlnO3JldHVybntkZWZhdWx0TW9kZWw6dC5kZWZhdWx0TW9kZWwsZGVmYXVsdENvZGV4TW9kZWw6dC5kZWZhdWx0Q29kZXhNb2RlbCxkZWZhdWx0T3BlbkNvZGVNb2RlbDp0LmRlZmF1bHRPcGVuQ29kZU1vZGVsLGRlZmF1bHRHcm9rTW9kZWw6dC5kZWZhdWx0R3Jva01vZGVsLGRlZmF1bHRRb2Rlck1vZGVsOnQuZGVmYXVsdFFvZGVyTW9kZWwsY29tbWl0Q2xpOnQuY29tbWl0Q2xpLGNvbW1pdE1vZGVsOnQuY29tbWl0TW9kZWwsY29tbWl0QWlTb3VyY2U6dC5jb21taXRBaVNvdXJjZSxzeXN0ZW1BaTp7Li4udC5zeXN0ZW1BaSxhcGlLZXk6IiJ9fX1mdW5jdGlvbiBSbyh7aWQ6ZSxtb2RlbHM6dH0pe3JldHVybigwLF8uanN4KSgiZGF0YWxpc3QiLHtpZDplLGNoaWxkcmVuOnQubWFwKGE9PigwLF8uanN4KSgib3B0aW9uIix7dmFsdWU6YS5pZCxjaGlsZHJlbjphLmxhYmVsfHxhLmlkfSxhLmlkKSl9KX1mdW5jdGlvbiBmQih7c25hcHNob3Q6ZSxyZXBvc2l0b3J5OnQscmVmcmVzaDphLHNldFNuYXBzaG90OmksdG9hc3Q6b30pe2NvbnN0W2MsZF09KDAsTGUudXNlU3RhdGUpKCgpPT53dyhlKSksW2YsbV09KDAsTGUudXNlU3RhdGUpKCIiKSxbaCxnXT0oMCxMZS51c2VTdGF0ZSkoIiIpLFtiLHldPSgwLExlLnVzZVN0YXRlKSgiaW5mbyIpLFtDLHddPSgwLExlLnVzZVN0YXRlKSh7fSk7KDAsTGUudXNlRWZmZWN0KSgoKT0+ZCh3dyhlKSksW2VdKTtmdW5jdGlvbiB4KE8scmUpe2QoZWU9Pih7Li4uZWUsW09dOnJlfSkpfWZ1bmN0aW9uIEYoTyxyZSl7ZChlZT0+KHsuLi5lZSxzeXN0ZW1BaTp7Li4uZWUuc3lzdGVtQWksW09dOnJlLC4uLk89PT0iYXBpS2V5Ij97c291cmNlOiJjdXN0b20ifTp7fX19KSksdyhlZT0+KHsuLi5lZSxbT106IiJ9KSl9YXN5bmMgZnVuY3Rpb24gQSgpe20oIm1vZGVscyIpLGcoIiIpO3RyeXtjb25zdCBPPWF3YWl0IHQuZXhlY3V0ZSh7dHlwZToibW9kZWxzLnJlZnJlc2gifSk7aShyZT0+cmUmJnsuLi5yZSxtb2RlbHM6T30pLGcoIlx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2OFx1NURGMlx1NTIzN1x1NjVCMFx1MzAwMiIrKE8uY2xhdWRlVmVyc2lvbj9gIENsYXVkZSAke08uY2xhdWRlVmVyc2lvbn1gOiIiKSkseSgic3VjY2VzcyIpfWNhdGNoKE8pe2coWWEoTywiXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4XHU1OTMxXHU4RDI1XHUzMDAyIikpLHkoImVycm9yIil9ZmluYWxseXttKCIiKX19YXN5bmMgZnVuY3Rpb24gRCgpe20oImltcG9ydCIpLGcoIiIpO3RyeXtjb25zdCBPPWF3YWl0IHQuZXhlY3V0ZSh7dHlwZToic3lzdGVtQWkuaW1wb3J0Iixzb3VyY2U6Yy5jb21taXRDbGl9KTtkKHJlPT4oey4uLnJlLHN5c3RlbUFpOnsuLi5PLnN5c3RlbUFpLGFwaUtleToiIn19KSksZyhgXHU1REYyXHU0RUNFXHU1MTY4XHU5MEU4XHU1REYyXHU5MTREXHU3RjZFIENMSSBcdTVCRkNcdTUxNjVcdTVFNzZcdTRGRERcdTVCNTggJHtPLmNvdW50fSBcdTRFMkEgQVBJXHVGRjFCJHtjLmNvbW1pdENsaX0gXHU2NzY1XHU2RTkwXHU0RjE4XHU1MTQ4XHUzMDAyYCkseSgic3VjY2VzcyIpLGF3YWl0IGEoKX1jYXRjaChPKXtnKFlhKE8sIlx1NkNBMVx1NjcwOVx1NjI3RVx1NTIzMFx1NTNFRlx1NUJGQ1x1NTE2NVx1NzY4NCBDTEkgQVBJIFx1OTE0RFx1N0Y2RVx1MzAwMiIpKSx5KCJlcnJvciIpfWZpbmFsbHl7bSgiIil9fWFzeW5jIGZ1bmN0aW9uIEIoKXtjb25zdCBPPWMuc3lzdGVtQWkuZW5hYmxlZHx8Yy5jb21taXRBaVNvdXJjZT09PSJhcGkiLHJlPXt9LGVlPShjLnN5c3RlbUFpLmZhbGxiYWNrc3x8W10pLnNvbWUoWj0+Wi5iYXNlVXJsLnRyaW0oKSYmWi5tb2RlbC50cmltKCkmJihaLmFwaUtleS50cmltKCl8fFouaGFzQXBpS2V5KSk7aWYoTyYmIWVlKXtpZighYy5zeXN0ZW1BaS5iYXNlVXJsLnRyaW0oKSlyZS5iYXNlVXJsPSJcdThCRjdcdThGOTNcdTUxNjUgQVBJIFx1NTczMFx1NTc0MFx1MzAwMiI7ZWxzZSB0cnl7Y29uc3QgWj1uZXcgVVJMKGMuc3lzdGVtQWkuYmFzZVVybCk7Wi5wcm90b2NvbCE9PSJodHRwOiImJloucHJvdG9jb2whPT0iaHR0cHM6IiYmKHJlLmJhc2VVcmw9IkFQSSBcdTU3MzBcdTU3NDBcdTVGQzVcdTk4N0JcdTRGN0ZcdTc1MjggaHR0cChzKVx1MzAwMiIpfWNhdGNoe3JlLmJhc2VVcmw9Ilx1OEJGN1x1OEY5M1x1NTE2NVx1NjcwOVx1NjU0OFx1NzY4NCBBUEkgXHU1NzMwXHU1NzQwXHUzMDAyIn1jLnN5c3RlbUFpLm1vZGVsLnRyaW0oKXx8KHJlLm1vZGVsPSJcdThCRjdcdThGOTNcdTUxNjVcdTdDRkJcdTdFREYgQUkgXHU2QTIxXHU1NzhCXHUzMDAyIiksIWMuc3lzdGVtQWkuYXBpS2V5LnRyaW0oKSYmIWMuc3lzdGVtQWkuaGFzQXBpS2V5JiYocmUuYXBpS2V5PSJcdThCRjdcdThGOTNcdTUxNjUgQVBJIEtleVx1MzAwMiIpfWlmKHcocmUpLE9iamVjdC5rZXlzKHJlKS5sZW5ndGgpe2coIlx1NzZGNFx1OEZERSBBUEkgXHU5MTREXHU3RjZFXHU1QzFBXHU2NzJBXHU1QjhDXHU2NTc0XHUzMDAyIikseSgiZXJyb3IiKTtyZXR1cm59bSgic2F2ZSIpLGcoIiIpO3RyeXtjb25zdCBaPWF3YWl0IHQuZXhlY3V0ZSh7dHlwZToiYWkuc2F2ZSIsdmFsdWU6Y30pO2coWi5yZXN0YXJ0UmVxdWlyZWQ/IkFJIFx1OTE0RFx1N0Y2RVx1NURGMlx1NEZERFx1NUI1OFx1RkYxQlx1OTBFOFx1NTIwNlx1OTBFOFx1N0Y3Mlx1NTNEOFx1NTMxNlx1N0I0OVx1NUY4NVx1OTFDRFx1NTQyRlx1MzAwMiI6IkFJIFx1NEUwRVx1NkEyMVx1NTc4Qlx1OTE0RFx1N0Y2RVx1NURGMlx1NEZERFx1NUI1OFx1MzAwMiIpLHkoWi5yZXN0YXJ0UmVxdWlyZWQ/Indhcm5pbmciOiJzdWNjZXNzIiksYXdhaXQgYSgpLG8oIkFJIFx1NEUwRVx1NkEyMVx1NTc4Qlx1OTE0RFx1N0Y2RVx1NURGMlx1NEZERFx1NUI1OCIsInN1Y2Nlc3MiKX1jYXRjaChaKXtnKFlhKFosIlx1NEZERFx1NUI1OCBBSSBcdTkxNERcdTdGNkVcdTU5MzFcdThEMjVcdTMwMDIiKSkseSgiZXJyb3IiKX1maW5hbGx5e20oIiIpfX1jb25zdCBUPWUubW9kZWxzLGs9Yy5jb21taXRDbGk9PT0iY29kZXgiP1Q/LmNvZGV4TW9kZWxzfHxbXTpjLmNvbW1pdENsaT09PSJvcGVuY29kZSI/VD8ub3BlbmNvZGVNb2RlbHN8fFtdOlQ/Lm1vZGVsc3x8W10sTT1bYy5zeXN0ZW1BaSwuLi5jLnN5c3RlbUFpLmZhbGxiYWNrc3x8W11dLmZpbHRlcihPPT5PLmJhc2VVcmwmJk8ubW9kZWwmJihPLmFwaUtleXx8Ty5oYXNBcGlLZXkpKSx6PU0ubWFwKE89Pk8uc291cmNlPT09ImN1c3RvbSI/Ilx1ODFFQVx1NUI5QVx1NEU0OSI6Ty5zb3VyY2UpLmpvaW4oIiBcdTIxOTIgIik7cmV0dXJuKDAsXy5qc3hzKSgic2VjdGlvbiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1wYW5lbCIsImFyaWEtbGFiZWwiOiJBSSBcdTRFMEVcdTZBMjFcdTU3OEIiLGNoaWxkcmVuOlsoMCxfLmpzeHMpKCJoZWFkZXIiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtcGFuZWwtaGVhZGluZyIsY2hpbGRyZW46WygwLF8uanN4KSgiaDIiLHtjaGlsZHJlbjoiQUkgXHU0RTBFXHU2QTIxXHU1NzhCIn0pLCgwLF8uanN4KSgicCIse2NoaWxkcmVuOiJcdTk2QzZcdTRFMkRcdTdCQTFcdTc0MDZcdTRGMUFcdThCRERcdTlFRDhcdThCQTRcdTZBMjFcdTU3OEJcdTMwMDFcdTdDRkJcdTdFREYgQVBJIFx1NTQ4Q1x1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNFx1NEY3Rlx1NzUyOFx1NzY4NFx1NkEyMVx1NTc4Qlx1MzAwMiJ9KV19KSwoMCxfLmpzeCkobm4se3RpdGxlOiJcdTY1QjBcdTRGMUFcdThCRERcdTlFRDhcdThCQTRcdTZBMjFcdTU3OEIiLGRlc2NyaXB0aW9uOiJcdTc1NTlcdTdBN0FcdTg4NjhcdTc5M0FcdThEREZcdTk2OEZcdTVCRjlcdTVFOTQgQ0xJIFx1OUVEOFx1OEJBNFx1NTAzQ1x1RkYxQlx1NEU1Rlx1NTNFRlx1NEVFNVx1OEY5M1x1NTE2NVx1NTIxN1x1ODg2OFx1NTkxNlx1NzY4NFx1ODFFQVx1NUI5QVx1NEU0OVx1NkEyMVx1NTc4Qlx1MzAwMiIsYWN0aW9uOigwLF8uanN4KShvYSx7cGVuZGluZzpmPT09Im1vZGVscyIsa2luZDoic2Vjb25kYXJ5IixvbkNsaWNrOigpPT57QSgpfSxjaGlsZHJlbjoiXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4In0pLGNoaWxkcmVuOigwLF8uanN4cykoanUse2NoaWxkcmVuOlsoMCxfLmpzeHMpKF90LHtsYWJlbDoiQ2xhdWRlIFx1OUVEOFx1OEJBNFx1NkEyMVx1NTc4QiIsaHRtbEZvcjoic2V0dGluZ3MtbW9kZWwtY2xhdWRlIixoaW50OiJcdTRGMUFcdTUzOUZcdTY4MzdcdTRGMjBcdTdFRDkgLS1tb2RlbCIsY2hpbGRyZW46WygwLF8uanN4KShqbix7aWQ6InNldHRpbmdzLW1vZGVsLWNsYXVkZSIsbGlzdDoic2V0dGluZ3MtbW9kZWxzLWNsYXVkZSIsdmFsdWU6Yy5kZWZhdWx0TW9kZWwscGxhY2Vob2xkZXI6Ilx1OERERlx1OTY4RiBDbGF1ZGUgXHU5RUQ4XHU4QkE0IixvbkNoYW5nZTpPPT54KCJkZWZhdWx0TW9kZWwiLE8pfSksKDAsXy5qc3gpKFJvLHtpZDoic2V0dGluZ3MtbW9kZWxzLWNsYXVkZSIsbW9kZWxzOlQ/Lm1vZGVsc3x8W119KV19KSwoMCxfLmpzeHMpKF90LHtsYWJlbDoiQ29kZXggXHU5RUQ4XHU4QkE0XHU2QTIxXHU1NzhCIixodG1sRm9yOiJzZXR0aW5ncy1tb2RlbC1jb2RleCIsaGludDoiXHU3NTU5XHU3QTdBXHU1MjE5XHU0RTBEXHU0RjIwXHU2QTIxXHU1NzhCXHU1M0MyXHU2NTcwIixjaGlsZHJlbjpbKDAsXy5qc3gpKGpuLHtpZDoic2V0dGluZ3MtbW9kZWwtY29kZXgiLGxpc3Q6InNldHRpbmdzLW1vZGVscy1jb2RleCIsdmFsdWU6Yy5kZWZhdWx0Q29kZXhNb2RlbCxwbGFjZWhvbGRlcjoiXHU4RERGXHU5NjhGIENvZGV4IFx1OUVEOFx1OEJBNCIsb25DaGFuZ2U6Tz0+eCgiZGVmYXVsdENvZGV4TW9kZWwiLE8pfSksKDAsXy5qc3gpKFJvLHtpZDoic2V0dGluZ3MtbW9kZWxzLWNvZGV4Iixtb2RlbHM6VD8uY29kZXhNb2RlbHN8fFtdfSldfSksKDAsXy5qc3hzKShfdCx7bGFiZWw6Ik9wZW5Db2RlIFx1OUVEOFx1OEJBNFx1NkEyMVx1NTc4QiIsaHRtbEZvcjoic2V0dGluZ3MtbW9kZWwtb3BlbmNvZGUiLGhpbnQ6Ilx1OTAxQVx1NUUzOFx1NEUzQSBwcm92aWRlci9tb2RlbCIsY2hpbGRyZW46WygwLF8uanN4KShqbix7aWQ6InNldHRpbmdzLW1vZGVsLW9wZW5jb2RlIixsaXN0OiJzZXR0aW5ncy1tb2RlbHMtb3BlbmNvZGUiLHZhbHVlOmMuZGVmYXVsdE9wZW5Db2RlTW9kZWwscGxhY2Vob2xkZXI6Ilx1OERERlx1OTY4RiBPcGVuQ29kZSBcdTlFRDhcdThCQTQiLG9uQ2hhbmdlOk89PngoImRlZmF1bHRPcGVuQ29kZU1vZGVsIixPKX0pLCgwLF8uanN4KShSbyx7aWQ6InNldHRpbmdzLW1vZGVscy1vcGVuY29kZSIsbW9kZWxzOlQ/Lm9wZW5jb2RlTW9kZWxzfHxbXX0pXX0pLCgwLF8uanN4cykoX3Qse2xhYmVsOiJHcm9rIFx1OUVEOFx1OEJBNFx1NkEyMVx1NTc4QiIsaHRtbEZvcjoic2V0dGluZ3MtbW9kZWwtZ3JvayIsaGludDoiXHU3NTU5XHU3QTdBXHU1MjE5XHU0RTBEXHU0RjIwIC0tbW9kZWwiLGNoaWxkcmVuOlsoMCxfLmpzeCkoam4se2lkOiJzZXR0aW5ncy1tb2RlbC1ncm9rIixsaXN0OiJzZXR0aW5ncy1tb2RlbHMtZ3JvayIsdmFsdWU6Yy5kZWZhdWx0R3Jva01vZGVsLHBsYWNlaG9sZGVyOiJcdThEREZcdTk2OEYgR3JvayBcdTlFRDhcdThCQTQiLG9uQ2hhbmdlOk89PngoImRlZmF1bHRHcm9rTW9kZWwiLE8pfSksKDAsXy5qc3gpKFJvLHtpZDoic2V0dGluZ3MtbW9kZWxzLWdyb2siLG1vZGVsczpUPy5ncm9rTW9kZWxzfHxbXX0pXX0pLCgwLF8uanN4cykoX3Qse2xhYmVsOiJRb2RlciBcdTlFRDhcdThCQTRcdTZBMjFcdTU3OEIiLGh0bWxGb3I6InNldHRpbmdzLW1vZGVsLXFvZGVyIixoaW50OiJcdTUzRUZcdTkwMDkgbGl0ZSAvIGVmZmljaWVudCAvIGF1dG8gLyBwZXJmb3JtYW5jZSAvIHVsdGltYXRlIixjaGlsZHJlbjpbKDAsXy5qc3gpKGpuLHtpZDoic2V0dGluZ3MtbW9kZWwtcW9kZXIiLGxpc3Q6InNldHRpbmdzLW1vZGVscy1xb2RlciIsdmFsdWU6Yy5kZWZhdWx0UW9kZXJNb2RlbCxwbGFjZWhvbGRlcjoiXHU4RERGXHU5NjhGIFFvZGVyIFx1OUVEOFx1OEJBNCIsb25DaGFuZ2U6Tz0+eCgiZGVmYXVsdFFvZGVyTW9kZWwiLE8pfSksKDAsXy5qc3gpKFJvLHtpZDoic2V0dGluZ3MtbW9kZWxzLXFvZGVyIixtb2RlbHM6VD8ucW9kZXJNb2RlbHN8fFtdfSldfSldfSl9KSwoMCxfLmpzeHMpKG5uLHt0aXRsZToiXHU3Q0ZCXHU3RURGIEFJIEFQSSIsZGVzY3JpcHRpb246Ilx1NzUyOFx1NEU4RVx1NjNEMFx1NzkzQVx1OEJDRFx1NEYxOFx1NTMxNlx1MzAwMVx1NEYxQVx1OEJERFx1NjgwN1x1OTg5OFx1RkYwQ1x1NEVFNVx1NTNDQVx1NTNFRlx1OTAwOVx1NzY4NFx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNFx1MzAwMkFQSSBLZXkgXHU0RTBEXHU0RjFBXHU0RUNFXHU2NzBEXHU1MkExXHU3QUVGXHU1NkRFXHU0RjIwXHUzMDAyIixhY3Rpb246KDAsXy5qc3gpKG9hLHtwZW5kaW5nOmY9PT0iaW1wb3J0IixraW5kOiJzZWNvbmRhcnkiLG9uQ2xpY2s6KCk9PntEKCl9LGNoaWxkcmVuOiJcdTVCRkNcdTUxNjVcdTUxNjhcdTkwRTggQ0xJIEFQSSJ9KSxjaGlsZHJlbjpbKDAsXy5qc3gpKEdhLHtsYWJlbDoiXHU3NTI4XHU0RThFXHU3Q0ZCXHU3RURGIEFJIFx1NTI5Rlx1ODBGRCIsZGVzY3JpcHRpb246Ilx1NTQyRlx1NzUyOFx1NjNEMFx1NzkzQVx1OEJDRFx1NEYxOFx1NTMxNlx1NTQ4Q1x1NEYxQVx1OEJERFx1NjgwN1x1OTg5OFx1NzUxRlx1NjIxMFx1MzAwMiIsY2hlY2tlZDpjLnN5c3RlbUFpLmVuYWJsZWQsb25DaGVja2VkQ2hhbmdlOk89PkYoImVuYWJsZWQiLE8pfSksTS5sZW5ndGg+MD8oMCxfLmpzeHMpKEFpLHt0b25lOiJzdWNjZXNzIixjaGlsZHJlbjpbIlx1NURGMlx1OTE0RFx1N0Y2RSAiLE0ubGVuZ3RoLCIgXHU0RTJBIEFQSVx1RkYwQ1x1NUMwNlx1NjMwOSAiLHp8fCJcdTVGNTNcdTUyNERcdTUyMTdcdTg4NjgiLCIgXHU0RjlEXHU2QjIxXHU1QzFEXHU4QkQ1XHVGRjFCXHU1MTY4XHU5MEU4XHU0RTBEXHU1M0VGXHU3NTI4XHU2NUY2XHU1NkRFXHU5MDAwIENMSVx1MzAwMiJdfSk6bnVsbCwoMCxfLmpzeHMpKGp1LHtjaGlsZHJlbjpbKDAsXy5qc3gpKF90LHtsYWJlbDoiXHU2M0E1XHU1M0UzXHU2ODNDXHU1RjBGIixjaGlsZHJlbjooMCxfLmpzeCkoTXUse2lkOiJzZXR0aW5ncy1zeXN0ZW0tYWktcHJvdG9jb2wiLGFyaWFMYWJlbDoiXHU3Q0ZCXHU3RURGIEFJIFx1NjNBNVx1NTNFM1x1NjgzQ1x1NUYwRiIsdmFsdWU6Yy5zeXN0ZW1BaS5wcm90b2NvbCxvcHRpb25zOlt7dmFsdWU6Im9wZW5haSIsbGFiZWw6Ik9wZW5BSS1jb21wYXRpYmxlIn0se3ZhbHVlOiJhbnRocm9waWMiLGxhYmVsOiJBbnRocm9waWMtY29tcGF0aWJsZSJ9XSxvbkNoYW5nZTpPPT5GKCJwcm90b2NvbCIsTyl9KX0pLCgwLF8uanN4KShfdCx7bGFiZWw6Ilx1OEJBNFx1OEJDMVx1NjVCOVx1NUYwRiIsY2hpbGRyZW46KDAsXy5qc3gpKE11LHtpZDoic2V0dGluZ3Mtc3lzdGVtLWFpLWF1dGgiLGFyaWFMYWJlbDoiXHU3Q0ZCXHU3RURGIEFJIFx1OEJBNFx1OEJDMVx1NjVCOVx1NUYwRiIsdmFsdWU6Yy5zeXN0ZW1BaS5hdXRoSGVhZGVyLG9wdGlvbnM6W3t2YWx1ZToiYmVhcmVyIixsYWJlbDoiQmVhcmVyIFRva2VuIn0se3ZhbHVlOiJ4LWFwaS1rZXkiLGxhYmVsOiJ4LWFwaS1rZXkifV0sb25DaGFuZ2U6Tz0+RigiYXV0aEhlYWRlciIsTyl9KX0pLCgwLF8uanN4KShfdCx7bGFiZWw6IkFQSSBcdTU3MzBcdTU3NDAiLGh0bWxGb3I6InNldHRpbmdzLXN5c3RlbS1haS11cmwiLGVycm9yOkMuYmFzZVVybCxjaGlsZHJlbjooMCxfLmpzeCkoam4se2lkOiJzZXR0aW5ncy1zeXN0ZW0tYWktdXJsIix0eXBlOiJ1cmwiLHZhbHVlOmMuc3lzdGVtQWkuYmFzZVVybCxpbnZhbGlkOiEhQy5iYXNlVXJsLHBsYWNlaG9sZGVyOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsb25DaGFuZ2U6Tz0+RigiYmFzZVVybCIsTyl9KX0pLCgwLF8uanN4KShfdCx7bGFiZWw6Ilx1NkEyMVx1NTc4QiIsaHRtbEZvcjoic2V0dGluZ3Mtc3lzdGVtLWFpLW1vZGVsIixlcnJvcjpDLm1vZGVsLGNoaWxkcmVuOigwLF8uanN4KShqbix7aWQ6InNldHRpbmdzLXN5c3RlbS1haS1tb2RlbCIsdmFsdWU6Yy5zeXN0ZW1BaS5tb2RlbCxpbnZhbGlkOiEhQy5tb2RlbCxwbGFjZWhvbGRlcjoiXHU0RjhCXHU1OTgyIGdwdC01LjUiLG9uQ2hhbmdlOk89PkYoIm1vZGVsIixPKX0pfSksKDAsXy5qc3gpKF90LHtsYWJlbDoiQVBJIEtleSIsaHRtbEZvcjoic2V0dGluZ3Mtc3lzdGVtLWFpLWtleSIsZXJyb3I6Qy5hcGlLZXksaGludDpjLnN5c3RlbUFpLmhhc0FwaUtleT8iXHU1REYyXHU0RkREXHU1QjU4XHVGRjFCXHU3NTU5XHU3QTdBXHU0RjFBXHU0RkREXHU3NTU5XHU3M0IwXHU2NzA5XHU1QkM2XHU5NEE1XHUzMDAyIjoiXHU0RUM1XHU0RkREXHU1QjU4XHU1NzI4XHU2NzBEXHU1MkExXHU3QUVGXHUzMDAyIixjaGlsZHJlbjooMCxfLmpzeCkoam4se2lkOiJzZXR0aW5ncy1zeXN0ZW0tYWkta2V5Iix0eXBlOiJwYXNzd29yZCIsYXV0b0NvbXBsZXRlOiJuZXctcGFzc3dvcmQiLHZhbHVlOmMuc3lzdGVtQWkuYXBpS2V5LGludmFsaWQ6ISFDLmFwaUtleSxwbGFjZWhvbGRlcjpjLnN5c3RlbUFpLmhhc0FwaUtleT8iXHU1REYyXHU0RkREXHU1QjU4XHVGRjFCXHU3NTU5XHU3QTdBXHU0RkREXHU2MzAxXHU0RTBEXHU1M0Q4IjoiXHU4RjkzXHU1MTY1IEFQSSBLZXkiLG9uQ2hhbmdlOk89PkYoImFwaUtleSIsTyl9KX0pXX0pXX0pLCgwLF8uanN4cykobm4se3RpdGxlOiJDb21taXQgXHU3NTFGXHU2MjEwIixkZXNjcmlwdGlvbjoiXHU5MDA5XHU2MkU5XHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0XHU3NTFGXHU2MjEwIG1lc3NhZ2UgXHU0RTBFIHRhZyBcdTY1RjZcdTRGN0ZcdTc1MjhcdTc2ODQgQUkgXHU2NzY1XHU2RTkwXHUzMDAyIixjaGlsZHJlbjpbKDAsXy5qc3hzKSgiZmllbGRzZXQiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtcmFkaW8tZ3JvdXAiLGNoaWxkcmVuOlsoMCxfLmpzeCkoImxlZ2VuZCIse2NoaWxkcmVuOiJcdTc1MUZcdTYyMTBcdTY1QjlcdTVGMEYifSksKDAsXy5qc3hzKSgibGFiZWwiLHtjaGlsZHJlbjpbKDAsXy5qc3gpKCJpbnB1dCIse3R5cGU6InJhZGlvIixuYW1lOiJzZXR0aW5ncy1jb21taXQtc291cmNlIix2YWx1ZToiY2xpIixjaGVja2VkOmMuY29tbWl0QWlTb3VyY2U9PT0iY2xpIixvbkNoYW5nZTooKT0+eCgiY29tbWl0QWlTb3VyY2UiLCJjbGkiKX0pLCJDTEkiXX0pLCgwLF8uanN4cykoImxhYmVsIix7Y2hpbGRyZW46WygwLF8uanN4KSgiaW5wdXQiLHt0eXBlOiJyYWRpbyIsbmFtZToic2V0dGluZ3MtY29tbWl0LXNvdXJjZSIsdmFsdWU6ImFwaSIsY2hlY2tlZDpjLmNvbW1pdEFpU291cmNlPT09ImFwaSIsb25DaGFuZ2U6KCk9PngoImNvbW1pdEFpU291cmNlIiwiYXBpIil9KSwiXHU3NkY0XHU4RkRFIEFQSSJdfSldfSksYy5jb21taXRBaVNvdXJjZT09PSJhcGkiPygwLF8uanN4KShBaSx7dG9uZTpNLmxlbmd0aD8ic3VjY2VzcyI6Indhcm5pbmciLGNoaWxkcmVuOk0ubGVuZ3RoP2BcdTVERjJcdTVDMzFcdTdFRUEgJHtNLmxlbmd0aH0gXHU0RTJBIEFQSVx1RkYxQlx1NTE2OFx1OTBFOFx1NTkzMVx1OEQyNVx1NTQwRVx1NTZERVx1OTAwMCBDTElcdTMwMDJgOiJcdThCRjdcdTUxNDhcdTg4NjVcdTUxNjhcdTRFMEFcdTY1QjlcdTc2RjRcdThGREUgQVBJIFx1OTE0RFx1N0Y2RVx1MzAwMiJ9KTooMCxfLmpzeHMpKGp1LHtjaGlsZHJlbjpbKDAsXy5qc3gpKF90LHtsYWJlbDoiQ29tbWl0IENMSSIsY2hpbGRyZW46KDAsXy5qc3gpKE11LHtpZDoic2V0dGluZ3MtY29tbWl0LWNsaSIsYXJpYUxhYmVsOiJDb21taXQgXHU3NTFGXHU2MjEwIENMSSIsdmFsdWU6Yy5jb21taXRDbGksb3B0aW9uczpbe3ZhbHVlOiJjbGF1ZGUiLGxhYmVsOiJDbGF1ZGUifSx7dmFsdWU6ImNvZGV4IixsYWJlbDoiQ29kZXgifSx7dmFsdWU6Im9wZW5jb2RlIixsYWJlbDoiT3BlbkNvZGUifV0sb25DaGFuZ2U6Tz0+e3goImNvbW1pdENsaSIsTykseCgiY29tbWl0TW9kZWwiLCIiKX19KX0pLCgwLF8uanN4cykoX3Qse2xhYmVsOiJDb21taXQgXHU2QTIxXHU1NzhCIixodG1sRm9yOiJzZXR0aW5ncy1jb21taXQtbW9kZWwiLGhpbnQ6Ilx1NzU1OVx1N0E3QVx1OERERlx1OTY4Rlx1NjI0MFx1OTAwOSBDTEkgXHU5RUQ4XHU4QkE0XHU1MDNDIixjaGlsZHJlbjpbKDAsXy5qc3gpKGpuLHtpZDoic2V0dGluZ3MtY29tbWl0LW1vZGVsIixsaXN0OiJzZXR0aW5ncy1jb21taXQtbW9kZWxzIix2YWx1ZTpjLmNvbW1pdE1vZGVsLHBsYWNlaG9sZGVyOiJcdThEREZcdTk2OEYgQ0xJIFx1OUVEOFx1OEJBNCIsb25DaGFuZ2U6Tz0+eCgiY29tbWl0TW9kZWwiLE8pfSksKDAsXy5qc3gpKFJvLHtpZDoic2V0dGluZ3MtY29tbWl0LW1vZGVscyIsbW9kZWxzOmt9KV19KV19KV19KSwoMCxfLmpzeCkoam0se2xhYmVsOiJcdTRGRERcdTVCNTggQUkgXHU0RTBFXHU2QTIxXHU1NzhCXHU5MTREXHU3RjZFIixwZW5kaW5nOmY9PT0ic2F2ZSIsZGlzYWJsZWQ6ISFmJiZmIT09InNhdmUiLG9uU2F2ZTooKT0+e0IoKX0sc3RhdHVzOmgsdG9uZTpifSldfSl9ZnVuY3Rpb24gcEIoZSl7Y29uc3R7c25hcHNob3Q6dCxyZXBvc2l0b3J5OmEsc2V0U25hcHNob3Q6aSx0b2FzdDpvfT1lLFtjLGRdPSgwLExlLnVzZVN0YXRlKSgoKT0+KHsuLi50Lm5vdGlmaWNhdGlvbnN9KSksW2YsbV09KDAsTGUudXNlU3RhdGUpKCIiKSxbaCxnXT0oMCxMZS51c2VTdGF0ZSkoIiIpLFtiLHldPSgwLExlLnVzZVN0YXRlKSgiaW5mbyIpOygwLExlLnVzZUVmZmVjdCkoKCk9PmQoey4uLnQubm90aWZpY2F0aW9uc30pLFt0Lm5vdGlmaWNhdGlvbnNdKTthc3luYyBmdW5jdGlvbiBDKEYsQT0hMSl7bSgicHJlZmVyZW5jZSIpLGcoIiIpO3RyeXtjb25zdCBEPWF3YWl0IGEuZXhlY3V0ZSh7dHlwZToibm90aWZpY2F0aW9uLnByZWZlcmVuY2VzLnNldCIsdmFsdWU6Rn0pO2QoRCksaShCPT5CJiZ7Li4uQixub3RpZmljYXRpb25zOkR9KSxBJiZhd2FpdCBhLmV4ZWN1dGUoe3R5cGU6Im5vdGlmaWNhdGlvbi5zb3VuZC5wcmV2aWV3In0pfWNhdGNoKEQpe2coWWEoRCwiXHU0RkREXHU1QjU4XHU5MDFBXHU3N0U1XHU1MDRGXHU1OTdEXHU1OTMxXHU4RDI1XHUzMDAyIikpLHkoImVycm9yIil9ZmluYWxseXttKCIiKX19YXN5bmMgZnVuY3Rpb24gdyhGLEEpe20oRiksZygiIik7dHJ5e2coYXdhaXQgQSgpKSx5KCJzdWNjZXNzIil9Y2F0Y2goRCl7ZyhZYShELCJcdTkwMUFcdTc3RTVcdTY0Q0RcdTRGNUNcdTU5MzFcdThEMjVcdTMwMDIiKSkseSgiZXJyb3IiKX1maW5hbGx5e20oIiIpfX1jb25zdCB4PWMucGVybWlzc2lvbj09PSJncmFudGVkIj8iXHU1REYyXHU2Mzg4XHU2NzQzIjpjLnBlcm1pc3Npb249PT0iZGVuaWVkIj8iXHU1REYyXHU2MkQyXHU3RUREIjpjLnBlcm1pc3Npb249PT0idW5zdXBwb3J0ZWQiPyJcdTVGNTNcdTUyNERcdTczQUZcdTU4ODNcdTRFMERcdTY1MkZcdTYzMDEiOiJcdTVDMUFcdTY3MkFcdTYzODhcdTY3NDMiO3JldHVybigwLF8uanN4cykoInNlY3Rpb24iLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtcGFuZWwiLCJhcmlhLWxhYmVsIjoiXHU5MDFBXHU3N0U1IixjaGlsZHJlbjpbKDAsXy5qc3hzKSgiaGVhZGVyIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXBhbmVsLWhlYWRpbmciLGNoaWxkcmVuOlsoMCxfLmpzeCkoImgyIix7Y2hpbGRyZW46Ilx1OTAxQVx1NzdFNSJ9KSwoMCxfLmpzeCkoInAiLHtjaGlsZHJlbjoiXHU4QkJFXHU3RjZFXHU2M0QwXHU3OTNBXHU5N0YzXHUzMDAxXHU1RTk0XHU3NTI4XHU1MTg1XHU2QzE0XHU2Q0UxXHU1NDhDXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU3Njg0XHU4ODRDXHU0RTNBXHUzMDAyIn0pXX0pLCgwLF8uanN4cykobm4se3RpdGxlOiJcdTkwMUFcdTc3RTVcdTUwNEZcdTU5N0QiLGRlc2NyaXB0aW9uOiJcdThGRDlcdTRFOUJcdTUwNEZcdTU5N0RcdTRGMUFcdTdBQ0JcdTUzNzNcdTVFOTRcdTc1MjhcdUZGMENcdTY1RTBcdTk3MDBcdTcwQjlcdTUxRkJcdTRGRERcdTVCNThcdTMwMDIiLGNoaWxkcmVuOlsoMCxfLmpzeCkoR2Ese2xhYmVsOiJcdTY0QURcdTY1M0VcdTYzRDBcdTc5M0FcdTk3RjMiLGRlc2NyaXB0aW9uOiJcdTkxQ0RcdTg5ODFcdTkwMUFcdTc3RTVcdTUyMzBcdThGQkVcdTY1RjZcdTY0QURcdTY1M0VcdTY3RDRcdTU0OENcdTYzRDBcdTc5M0FcdTk3RjNcdTMwMDIiLGNoZWNrZWQ6Yy5zb3VuZCxkaXNhYmxlZDpmPT09InByZWZlcmVuY2UiLG9uQ2hlY2tlZENoYW5nZTpGPT57Qyh7c291bmQ6Rn0sRil9fSksYy5zb3VuZD8oMCxfLmpzeCkoX3Qse2xhYmVsOmBcdTYzRDBcdTc5M0FcdTk3RjNcdTk3RjNcdTkxQ0ZcdUZGMDgke2Mudm9sdW1lfSVcdUZGMDlgLGh0bWxGb3I6InNldHRpbmdzLW5vdGlmaWNhdGlvbi12b2x1bWUiLGNoaWxkcmVuOigwLF8uanN4KSgiaW5wdXQiLHtpZDoic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXZvbHVtZSIsY2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXJhbmdlIix0eXBlOiJyYW5nZSIsbWluOiIwIixtYXg6IjEwMCIsc3RlcDoiNSIsdmFsdWU6Yy52b2x1bWUsImFyaWEtbGFiZWwiOiJcdTYzRDBcdTc5M0FcdTk3RjNcdTk3RjNcdTkxQ0YiLG9uQ2hhbmdlOkY9Pntjb25zdCBBPU51bWJlcihGLmN1cnJlbnRUYXJnZXQudmFsdWUpO2QoRD0+KHsuLi5ELHZvbHVtZTpBfSkpfSxvblBvaW50ZXJVcDpGPT57Qyh7dm9sdW1lOk51bWJlcihGLmN1cnJlbnRUYXJnZXQudmFsdWUpfSwhMCl9LG9uS2V5VXA6Rj0+e1siQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsIkhvbWUiLCJFbmQiXS5pbmNsdWRlcyhGLmtleSkmJkMoe3ZvbHVtZTpOdW1iZXIoRi5jdXJyZW50VGFyZ2V0LnZhbHVlKX0sITApfX0pfSk6bnVsbCwoMCxfLmpzeCkoR2Ese2xhYmVsOiJcdTVFOTRcdTc1MjhcdTUxODVcdTkwMUFcdTc3RTVcdTZDMTRcdTZDRTEiLGRlc2NyaXB0aW9uOiJcdTU3MjhcdTk4NzVcdTk3NjJcdTk4NzZcdTkwRThcdTY2M0VcdTc5M0FcdTZENkVcdTUyQThcdTkwMUFcdTc3RTVcdTMwMDIiLGNoZWNrZWQ6Yy5idWJibGUsZGlzYWJsZWQ6Zj09PSJwcmVmZXJlbmNlIixvbkNoZWNrZWRDaGFuZ2U6Rj0+e0Moe2J1YmJsZTpGfSl9fSldfSksYy5uYXRpdmVTb3VuZHMubGVuZ3RoPygwLF8uanN4cykobm4se3RpdGxlOiJcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTk0QzNcdTU4RjAiLGRlc2NyaXB0aW9uOiJcdTkwMDlcdTYyRTlcdTUzOUZcdTc1MUZcdTVCQTJcdTYyMzdcdTdBRUZcdTUzRDFcdTkwMDFcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTY1RjZcdTRGN0ZcdTc1MjhcdTc2ODRcdTk0QzNcdTU4RjBcdTMwMDIiLGNoaWxkcmVuOlsoMCxfLmpzeCkoX3Qse2xhYmVsOiJcdTkwMUFcdTc3RTVcdTk0QzNcdTU4RjAiLGNoaWxkcmVuOigwLF8uanN4KShNdSx7aWQ6InNldHRpbmdzLW5hdGl2ZS1zb3VuZCIsYXJpYUxhYmVsOiJcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTk0QzNcdTU4RjAiLHZhbHVlOmMubmF0aXZlU291bmR8fGMubmF0aXZlU291bmRzWzBdLmlkLG9wdGlvbnM6Yy5uYXRpdmVTb3VuZHMubWFwKEY9Pih7dmFsdWU6Ri5pZCxsYWJlbDpGLm5hbWV9KSksb25DaGFuZ2U6Rj0+e3coIm5hdGl2ZS1zb3VuZCIsYXN5bmMoKT0+KGF3YWl0IGEuZXhlY3V0ZSh7dHlwZToibm90aWZpY2F0aW9uLm5hdGl2ZVNvdW5kLnNldCIsc291bmQ6Rn0pLGQoQT0+KHsuLi5BLG5hdGl2ZVNvdW5kOkZ9KSksIlx1OTAxQVx1NzdFNVx1OTRDM1x1NThGMFx1NURGMlx1NEZERFx1NUI1OFx1MzAwMiIpKX19KX0pLCgwLF8uanN4KShvYSx7cGVuZGluZzpmPT09InNvdW5kLXByZXZpZXciLGtpbmQ6InNlY29uZGFyeSIsb25DbGljazooKT0+e3coInNvdW5kLXByZXZpZXciLGFzeW5jKCk9Pihhd2FpdCBhLmV4ZWN1dGUoe3R5cGU6Im5vdGlmaWNhdGlvbi5uYXRpdmVTb3VuZC5wcmV2aWV3Iixzb3VuZDpjLm5hdGl2ZVNvdW5kfHxjLm5hdGl2ZVNvdW5kc1swXS5pZH0pLCJcdTVERjJcdTY0QURcdTY1M0VcdTk0QzNcdTU4RjBcdTk4ODRcdTg5QzhcdTMwMDIiKSl9LGNoaWxkcmVuOiJcdThCRDVcdTU0MkNcdTk0QzNcdTU4RjAifSldfSk6bnVsbCxjLmhhcHRpY3NFbmFibGVkIT09bnVsbD8oMCxfLmpzeCkobm4se3RpdGxlOiJcdTg5RTZcdTYxMUZcdTUzQ0RcdTk5ODgiLGRlc2NyaXB0aW9uOiJcdTYzMDlcdTk0QUVcdTY0Q0RcdTRGNUNcdTU0OENcdTRFRkJcdTUyQTFcdTVCOENcdTYyMTBcdTY1RjZcdTYzRDBcdTRGOUJcdTYzMkZcdTUyQThcdTUzQ0RcdTk5ODhcdTMwMDIiLGNoaWxkcmVuOigwLF8uanN4KShHYSx7bGFiZWw6Ilx1NTQyRlx1NzUyOFx1ODlFNlx1NjExRlx1NTNDRFx1OTk4OCIsY2hlY2tlZDpjLmhhcHRpY3NFbmFibGVkLGRpc2FibGVkOmY9PT0iaGFwdGljcyIsb25DaGVja2VkQ2hhbmdlOkY9Pnt3KCJoYXB0aWNzIixhc3luYygpPT4oYXdhaXQgYS5leGVjdXRlKHt0eXBlOiJub3RpZmljYXRpb24uaGFwdGljcy5zZXQiLGVuYWJsZWQ6Rn0pLGQoQT0+KHsuLi5BLGhhcHRpY3NFbmFibGVkOkZ9KSksRj8iXHU4OUU2XHU2MTFGXHU1M0NEXHU5OTg4XHU1REYyXHU1NDJGXHU3NTI4XHUzMDAyIjoiXHU4OUU2XHU2MTFGXHU1M0NEXHU5OTg4XHU1REYyXHU1MTczXHU5NUVEXHUzMDAyIikpfX0pfSk6bnVsbCwoMCxfLmpzeCkobm4se3RpdGxlOiJcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTUiLGRlc2NyaXB0aW9uOmBcdTYzODhcdTY3NDNcdTcyQjZcdTYwMDFcdUZGMUEke3h9YCxjaGlsZHJlbjooMCxfLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtYnV0dG9uLXJvdyIsY2hpbGRyZW46W2MucGVybWlzc2lvbiE9PSJncmFudGVkIiYmYy5wZXJtaXNzaW9uIT09InVuc3VwcG9ydGVkIj8oMCxfLmpzeCkob2Ese3BlbmRpbmc6Zj09PSJwZXJtaXNzaW9uIixraW5kOiJwcmltYXJ5IixvbkNsaWNrOigpPT57dygicGVybWlzc2lvbiIsYXN5bmMoKT0+e2NvbnN0IEY9YXdhaXQgYS5leGVjdXRlKHt0eXBlOiJub3RpZmljYXRpb24ucGVybWlzc2lvbi5yZXF1ZXN0In0pO3JldHVybiBkKEE9Pih7Li4uQSxwZXJtaXNzaW9uOkYucGVybWlzc2lvbn0pKSxGLnBlcm1pc3Npb249PT0iZ3JhbnRlZCI/Ilx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NURGMlx1NjM4OFx1Njc0M1x1MzAwMiI6Ilx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NUMxQVx1NjcyQVx1NjM4OFx1Njc0M1x1MzAwMiJ9KX0sY2hpbGRyZW46Ilx1OEJGN1x1NkM0Mlx1OTAxQVx1NzdFNVx1Njc0M1x1OTY1MCJ9KTpudWxsLGMucGVybWlzc2lvbj09PSJkZW5pZWQiPygwLF8uanN4KShHZSx7a2luZDoic2Vjb25kYXJ5IixvbkNsaWNrOigpPT57ZygiXHU4QkY3XHU1NzI4XHU2RDRGXHU4OUM4XHU1NjY4XHU1NzMwXHU1NzQwXHU2ODBGXHU1REU2XHU0RkE3XHU3Njg0XHU3RjUxXHU3QUQ5XHU4QkJFXHU3RjZFXHU2MjE2XHU3Q0ZCXHU3RURGXHU4QkJFXHU3RjZFXHU0RTJEXHVGRjBDXHU1QzA2XHU5MDFBXHU3N0U1XHU2NTM5XHU0RTNBXHU1MTQxXHU4QkI4XHU1NDBFXHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyXHUzMDAyIikseSgid2FybmluZyIpfSxjaGlsZHJlbjoiXHU1OTgyXHU0RjU1XHU5MUNEXHU3RjZFXHU2NzQzXHU5NjUwIn0pOm51bGwsKDAsXy5qc3gpKG9hLHtwZW5kaW5nOmY9PT0idGVzdCIsa2luZDoic2Vjb25kYXJ5IixvbkNsaWNrOigpPT57dygidGVzdCIsYXN5bmMoKT0+e2NvbnN0IEY9YXdhaXQgYS5leGVjdXRlKHt0eXBlOiJub3RpZmljYXRpb24udGVzdCJ9KTtyZXR1cm4gbygiXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1IiwiaW5mbyIpLGBcdTYzRDBcdTc5M0FcdTk3RjNcdUZGMUEke0Yuc291bmQ9PT0icGFzc2VkIj8iXHU5MDFBXHU4RkM3IjoiXHU1OTMxXHU4RDI1In1cdUZGMUJcdTZDMTRcdTZDRTFcdUZGMUEke0YuYnViYmxlPT09InBhc3NlZCI/Ilx1OTAxQVx1OEZDNyI6Ilx1NURGMlx1NTE3M1x1OTVFRCJ9XHVGRjFCXHU3Q0ZCXHU3RURGXHVGRjFBJHtGLnN5c3RlbX1gfSl9LGNoaWxkcmVuOiJcdTdBQ0JcdTUzNzNcdTZENEJcdThCRDUifSksKDAsXy5qc3gpKG9hLHtwZW5kaW5nOmY9PT0iZGVsYXllZC10ZXN0IixraW5kOiJzZWNvbmRhcnkiLG9uQ2xpY2s6KCk9Pnt3KCJkZWxheWVkLXRlc3QiLGFzeW5jKCk9Pihhd2FpdCBhLmV4ZWN1dGUoe3R5cGU6Im5vdGlmaWNhdGlvbi50ZXN0IixkZWxheU1zOjFlNH0pLCIxMCBcdTc5RDJcdTVFRjZcdThGREZcdTkwMUFcdTc3RTVcdTVERjJcdTUzRDFcdTkwMDFcdTMwMDIiKSl9LGNoaWxkcmVuOiIxMCBcdTc5RDJcdTU0MEVcdTUzRDFcdTkwMDEifSldfSl9KSxoPygwLF8uanN4KShBaSx7dG9uZTpiLGNoaWxkcmVuOmh9KTpudWxsXX0pfWZ1bmN0aW9uIHZCKGUpe2NvbnN0e3NuYXBzaG90OnQscmVwb3NpdG9yeTphLHJlZnJlc2g6aSx0b2FzdDpvfT1lLFtjLGRdPSgwLExlLnVzZVN0YXRlKSgiIiksW2YsbV09KDAsTGUudXNlU3RhdGUpKCIiKSxbaCxnXT0oMCxMZS51c2VTdGF0ZSkobnVsbCksW2IseV09KDAsTGUudXNlU3RhdGUpKG51bGwpLFtDLHddPSgwLExlLnVzZVN0YXRlKSgiIiksW3gsRl09KDAsTGUudXNlU3RhdGUpKCIiKSxbQSxEXT0oMCxMZS51c2VTdGF0ZSkoImluZm8iKSxbQixUXT0oMCxMZS51c2VTdGF0ZSkoIiIpO2FzeW5jIGZ1bmN0aW9uIGsoKXtpZihUKCIiKSxjLmxlbmd0aDw2KXtUKCJcdTVCQzZcdTc4MDFcdTk1N0ZcdTVFQTZcdTgxRjNcdTVDMTFcdTRFM0EgNiBcdTRFMkFcdTVCNTdcdTdCMjZcdTMwMDIiKTtyZXR1cm59aWYoYyE9PWYpe1QoIlx1NEUyNFx1NkIyMVx1OEY5M1x1NTE2NVx1NzY4NFx1NUJDNlx1NzgwMVx1NEUwRFx1NEUwMFx1ODFGNFx1MzAwMiIpO3JldHVybn13KCJwYXNzd29yZCIpLEYoIiIpO3RyeXtjb25zdCB6PWF3YWl0IGEuZXhlY3V0ZSh7dHlwZToicGFzc3dvcmQuY2hhbmdlIixwYXNzd29yZDpjfSk7ZCgiIiksbSgiIiksRigiXHU1QkM2XHU3ODAxXHU0RkVFXHU2NTM5XHU2MjEwXHU1MjlGXHVGRjFCXHU2MjQwXHU2NzA5XHU2NUU3XHU3NjdCXHU1RjU1XHU0RjFBXHU4QkREXHU1REYyXHU1OTMxXHU2NTQ4XHVGRjBDXHU2QjYzXHU1NzI4XHU4RkQ0XHU1NkRFXHU3NjdCXHU1RjU1XHU5ODc1XHUyMDI2IiksRCgic3VjY2VzcyIpLG8oIlx1NUJDNlx1NzgwMVx1NURGMlx1NEZFRVx1NjUzOVx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1NzY3Qlx1NUY1NSIsInN1Y2Nlc3MiKSx6LnJlYXV0aGVudGljYXRpb25SZXF1aXJlZCYmd2luZG93LnNldFRpbWVvdXQoKCk9PntJbi5zZXROZXN0ZWQobnVsbCksd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSw2NTApfWNhdGNoKHope0YoWWEoeiwiXHU0RkVFXHU2NTM5XHU1QkM2XHU3ODAxXHU1OTMxXHU4RDI1XHUzMDAyIikpLEQoImVycm9yIil9ZmluYWxseXt3KCIiKX19YXN5bmMgZnVuY3Rpb24gTSgpe2lmKCFofHwhYil7RigiXHU4QkY3XHU5MDA5XHU2MkU5XHU3OUMxXHU5NEE1XHU1NDhDXHU4QkMxXHU0RTY2XHU2NTg3XHU0RUY2XHUzMDAyIiksRCgiZXJyb3IiKTtyZXR1cm59dygiY2VydGlmaWNhdGUiKSxGKCIiKTt0cnl7Y29uc3RbeixPXT1hd2FpdCBQcm9taXNlLmFsbChbaC50ZXh0KCksYi50ZXh0KCldKSxyZT1hd2FpdCBhLmV4ZWN1dGUoe3R5cGU6ImNlcnRpZmljYXRlLnVwbG9hZCIsa2V5OnosY2VydDpPfSk7RihyZS5yZXN0YXJ0UmVxdWlyZWQ/Ilx1OEJDMVx1NEU2Nlx1NURGMlx1NEUwQVx1NEYyMFx1RkYwQ1x1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1NTQwRVx1NzUxRlx1NjU0OFx1MzAwMiI6Ilx1OEJDMVx1NEU2Nlx1NURGMlx1NEUwQVx1NEYyMFx1MzAwMiAiKSxEKCJzdWNjZXNzIiksYXdhaXQgaSgpLG8oIlNTTCBcdThCQzFcdTRFNjZcdTVERjJcdTRFMEFcdTRGMjAiLCJzdWNjZXNzIil9Y2F0Y2goeil7RihZYSh6LCJcdTRFMEFcdTRGMjBcdThCQzFcdTRFNjZcdTU5MzFcdThEMjVcdTMwMDIiKSksRCgiZXJyb3IiKX1maW5hbGx5e3coIiIpfX1yZXR1cm4oMCxfLmpzeHMpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXBhbmVsIiwiYXJpYS1sYWJlbCI6Ilx1NUI4OVx1NTE2OCIsY2hpbGRyZW46WygwLF8uanN4cykoImhlYWRlciIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1wYW5lbC1oZWFkaW5nIixjaGlsZHJlbjpbKDAsXy5qc3gpKCJoMiIse2NoaWxkcmVuOiJcdTVCODlcdTUxNjgifSksKDAsXy5qc3gpKCJwIix7Y2hpbGRyZW46Ilx1N0JBMVx1NzQwNlx1NzY3Qlx1NUY1NVx1NUJDNlx1NzgwMVx1NEUwRSBTU0wgXHU4QkMxXHU0RTY2XHUzMDAyXHU2NTRGXHU2MTFGXHU1M0Q4XHU2NkY0XHU0RkREXHU1QjU4XHU1MjREXHU4QkY3XHU0RUQ0XHU3RUM2XHU3ODZFXHU4QkE0XHUzMDAyIn0pXX0pLCgwLF8uanN4KShubix7dGl0bGU6Ilx1NEZFRVx1NjUzOVx1NUJDNlx1NzgwMSIsZGVzY3JpcHRpb246Ilx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYxQlx1NEZERFx1NUI1OFx1NTQwRVx1NEYxQVx1NjRBNFx1OTUwMFx1NTMwNVx1NjJFQ1x1NUY1M1x1NTI0RFx1OTg3NVx1OTc2Mlx1NTcyOFx1NTE4NVx1NzY4NFx1NjI0MFx1NjcwOVx1NzY3Qlx1NUY1NVx1NEYxQVx1OEJERFx1MzAwMiIsY2hpbGRyZW46KDAsXy5qc3hzKSgiZm9ybSIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1zZWN1cml0eS1mb3JtIixvblN1Ym1pdDp6PT57ei5wcmV2ZW50RGVmYXVsdCgpLGsoKX0sY2hpbGRyZW46WygwLF8uanN4KSgiaW5wdXQiLHt0eXBlOiJ0ZXh0IixuYW1lOiJ1c2VybmFtZSIsYXV0b0NvbXBsZXRlOiJ1c2VybmFtZSIsdmFsdWU6IndhbmQiLHJlYWRPbmx5OiEwLGhpZGRlbjohMH0pLCgwLF8uanN4cykoanUse2NoaWxkcmVuOlsoMCxfLmpzeCkoX3Qse2xhYmVsOiJcdTY1QjBcdTVCQzZcdTc4MDEiLGh0bWxGb3I6InNldHRpbmdzLW5ldy1wYXNzd29yZCIsZXJyb3I6QixjaGlsZHJlbjooMCxfLmpzeCkoam4se2lkOiJzZXR0aW5ncy1uZXctcGFzc3dvcmQiLHR5cGU6InBhc3N3b3JkIixhdXRvQ29tcGxldGU6Im5ldy1wYXNzd29yZCIsdmFsdWU6YyxpbnZhbGlkOiEhQixwbGFjZWhvbGRlcjoiXHU4RjkzXHU1MTY1XHU2NUIwXHU1QkM2XHU3ODAxIixvbkNoYW5nZTp6PT57ZCh6KSxUKCIiKX19KX0pLCgwLF8uanN4KShfdCx7bGFiZWw6Ilx1Nzg2RVx1OEJBNFx1NUJDNlx1NzgwMSIsaHRtbEZvcjoic2V0dGluZ3MtY29uZmlybS1wYXNzd29yZCIsY2hpbGRyZW46KDAsXy5qc3gpKGpuLHtpZDoic2V0dGluZ3MtY29uZmlybS1wYXNzd29yZCIsdHlwZToicGFzc3dvcmQiLGF1dG9Db21wbGV0ZToibmV3LXBhc3N3b3JkIix2YWx1ZTpmLGludmFsaWQ6ISFCLHBsYWNlaG9sZGVyOiJcdTUxOERcdTZCMjFcdThGOTNcdTUxNjVcdTY1QjBcdTVCQzZcdTc4MDEiLG9uQ2hhbmdlOno9PnttKHopLFQoIiIpfX0pfSldfSksKDAsXy5qc3gpKG9hLHt0eXBlOiJzdWJtaXQiLHBlbmRpbmc6Qz09PSJwYXNzd29yZCIsa2luZDoicHJpbWFyeSIsY2hpbGRyZW46Ilx1NEZFRVx1NjUzOVx1NUJDNlx1NzgwMVx1NUU3Nlx1OTFDRFx1NjVCMFx1NzY3Qlx1NUY1NSJ9KV19KX0pLCgwLF8uanN4cykobm4se3RpdGxlOiJTU0wgXHU4QkMxXHU0RTY2IixkZXNjcmlwdGlvbjpgXHU1RjUzXHU1MjREXHU3MkI2XHU2MDAxXHVGRjFBJHt0Lmhhc0NlcnQ/Ilx1NURGMlx1NUI4OVx1ODhDNVx1OEJDMVx1NEU2NiI6Ilx1NjcyQVx1NUI4OVx1ODhDNVx1OEJDMVx1NEU2Nlx1RkYwOFx1NEY3Rlx1NzUyOFx1ODFFQVx1N0I3RVx1NTQwRFx1NjIxNiBIVFRQXHVGRjA5In1gLGNoaWxkcmVuOlsoMCxfLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtZmlsZS1ncmlkIixjaGlsZHJlbjpbKDAsXy5qc3hzKSgibGFiZWwiLHtjaGlsZHJlbjpbKDAsXy5qc3gpKCJzcGFuIix7Y2hpbGRyZW46Ilx1NzlDMVx1OTRBNVx1NjU4N1x1NEVGNlx1RkYwOHNlcnZlci5rZXlcdUZGMDkifSksKDAsXy5qc3gpKCJpbnB1dCIseyJhcmlhLWxhYmVsIjoiU1NMIFx1NzlDMVx1OTRBNVx1NjU4N1x1NEVGNiIsdHlwZToiZmlsZSIsYWNjZXB0OiIua2V5LC5wZW0sdGV4dC9wbGFpbiIsb25DaGFuZ2U6ej0+Zyh6LmN1cnJlbnRUYXJnZXQuZmlsZXM/LlswXXx8bnVsbCl9KSwoMCxfLmpzeCkoInNtYWxsIix7Y2hpbGRyZW46aD8ubmFtZXx8Ilx1NjcyQVx1OTAwOVx1NjJFOVx1NjU4N1x1NEVGNiJ9KV19KSwoMCxfLmpzeHMpKCJsYWJlbCIse2NoaWxkcmVuOlsoMCxfLmpzeCkoInNwYW4iLHtjaGlsZHJlbjoiXHU4QkMxXHU0RTY2XHU2NTg3XHU0RUY2XHVGRjA4c2VydmVyLmNydFx1RkYwOSJ9KSwoMCxfLmpzeCkoImlucHV0Iix7ImFyaWEtbGFiZWwiOiJTU0wgXHU4QkMxXHU0RTY2XHU2NTg3XHU0RUY2Iix0eXBlOiJmaWxlIixhY2NlcHQ6Ii5jcnQsLnBlbSx0ZXh0L3BsYWluIixvbkNoYW5nZTp6PT55KHouY3VycmVudFRhcmdldC5maWxlcz8uWzBdfHxudWxsKX0pLCgwLF8uanN4KSgic21hbGwiLHtjaGlsZHJlbjpiPy5uYW1lfHwiXHU2NzJBXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2In0pXX0pXX0pLCgwLF8uanN4KShvYSx7cGVuZGluZzpDPT09ImNlcnRpZmljYXRlIixraW5kOiJwcmltYXJ5IixvbkNsaWNrOigpPT57TSgpfSxjaGlsZHJlbjoiXHU0RTBBXHU0RjIwXHU4QkMxXHU0RTY2In0pXX0pLHg/KDAsXy5qc3gpKEFpLHt0b25lOkEsY2hpbGRyZW46eH0pOm51bGxdfSl9ZnVuY3Rpb24gbUIoe3NuYXBzaG90OmV9KXtjb25zdCB0PWUuY29uZmlnPy5jb21tYW5kUHJlc2V0c3x8W107cmV0dXJuKDAsXy5qc3hzKSgic2VjdGlvbiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1wYW5lbCIsImFyaWEtbGFiZWwiOiJcdTU0N0RcdTRFRTRcdTk4ODRcdThCQkUiLGNoaWxkcmVuOlsoMCxfLmpzeHMpKCJoZWFkZXIiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtcGFuZWwtaGVhZGluZyIsY2hpbGRyZW46WygwLF8uanN4KSgiaDIiLHtjaGlsZHJlbjoiXHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFIn0pLCgwLF8uanN4KSgicCIse2NoaWxkcmVuOiJcdTk4ODRcdThCQkVcdTc1MzFcdTY3MERcdTUyQTFcdTdBRUZcdTkxNERcdTdGNkVcdTdCQTFcdTc0MDZcdUZGMENcdTUzRUZcdTU3MjhcdTUyMUJcdTVFRkFcdTRGMUFcdThCRERcdTY1RjZcdTVGRUJcdTkwMUZcdTkwMDlcdTYyRTlcdTMwMDIifSldfSksKDAsXy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXByZXNldC1saXN0IiwiYXJpYS1sYWJlbCI6Ilx1NURGMlx1NjcwOVx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRSIsY2hpbGRyZW46W3QubWFwKChhLGkpPT4oMCxfLmpzeHMpKCJhcnRpY2xlIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXByZXNldCIsY2hpbGRyZW46WygwLF8uanN4KSgic3Ryb25nIix7Y2hpbGRyZW46YS5sYWJlbHx8Ilx1NjcyQVx1NTQ3RFx1NTQwRFx1OTg4NFx1OEJCRSJ9KSwoMCxfLmpzeCkoImNvZGUiLHtjaGlsZHJlbjphLmNvbW1hbmR9KSxhLm1vZGU/KDAsXy5qc3hzKSgic3BhbiIse2NoaWxkcmVuOlsiXHU2QTIxXHU1RjBGXHVGRjFBIixhLm1vZGVdfSk6bnVsbF19LGAke2EubGFiZWx9LSR7aX1gKSksdC5sZW5ndGg9PT0wPygwLF8uanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWVtcHR5IixjaGlsZHJlbjoiXHU2Q0ExXHU2NzA5XHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFXHVGRjFCXHU1M0VGXHU1NzI4IGNvbmZpZy5qc29uIFx1NzY4NCBjb21tYW5kUHJlc2V0cyBcdTRFMkRcdTkxNERcdTdGNkVcdTMwMDIifSk6bnVsbF19KV19KX12YXIgaEI9W3trZXk6ImVkaXRDYXJkcyIsdGl0bGU6Ilx1NjU4N1x1NEVGNlx1N0YxNlx1OEY5MSIsZGVzY3JpcHRpb246IkVkaXQgLyBXcml0ZSBcdTVERTVcdTUxNzdcdTdFRDNcdTY3OUMifSx7a2V5OiJpbmxpbmVUb29scyIsdGl0bGU6Ilx1NTE4NVx1ODA1NFx1NURFNVx1NTE3NyIsZGVzY3JpcHRpb246IlJlYWQgLyBHbG9iIC8gR3JlcCBcdTVERTVcdTUxNzdcdTdFRDNcdTY3OUMifSx7a2V5OiJ0ZXJtaW5hbCIsdGl0bGU6Ilx1N0VDOFx1N0FFRlx1OEY5M1x1NTFGQSIsZGVzY3JpcHRpb246IkJhc2ggXHU1NDdEXHU0RUU0XHU2MjY3XHU4ODRDXHU3RUQzXHU2NzlDIn0se2tleToidGhpbmtpbmciLHRpdGxlOiJcdTYwMURcdTgwMDNcdThGQzdcdTdBMEIiLGRlc2NyaXB0aW9uOiJcdTZBMjFcdTU3OEJcdTc2ODQgVGhpbmtpbmcgXHU1MTg1XHU1QkI5In0se2tleToidG9vbEdyb3VwIix0aXRsZToiXHU1REU1XHU1MTc3XHU3RUM0IixkZXNjcmlwdGlvbjoiXHU4RkRFXHU3RUVEXHU1NDBDXHU3QzdCXHU1REU1XHU1MTc3XHU4QzAzXHU3NTI4XHU3Njg0XHU2Mjk4XHU1M0UwXHU3RUM0In1dO2Z1bmN0aW9uIGdCKHtzbmFwc2hvdDplLHJlcG9zaXRvcnk6dCxyZWZyZXNoOmEsdG9hc3Q6aX0pe2NvbnN0W28sY109KDAsTGUudXNlU3RhdGUpKCgpPT4oey4uLmUuY29uZmlnLmNhcmREZWZhdWx0c30pKSxbZCxmXT0oMCxMZS51c2VTdGF0ZSkoITEpLFttLGhdPSgwLExlLnVzZVN0YXRlKSgiIiksW2csYl09KDAsTGUudXNlU3RhdGUpKCJpbmZvIik7KDAsTGUudXNlRWZmZWN0KSgoKT0+Yyh7Li4uZS5jb25maWcuY2FyZERlZmF1bHRzfSksW2VdKTthc3luYyBmdW5jdGlvbiB5KCl7ZighMCksaCgiIik7dHJ5e2F3YWl0IHQuZXhlY3V0ZSh7dHlwZToiZGlzcGxheS5zYXZlIix2YWx1ZTpvfSksaCgiXHU2NjNFXHU3OTNBXHU4QkJFXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4XHVGRjBDXHU1RTc2XHU0RjFBXHU3QUNCXHU1MzczXHU1RTk0XHU3NTI4XHU0RThFXHU0RTRCXHU1NDBFXHU2RTMyXHU2N0QzXHU3Njg0XHU1MzYxXHU3MjQ3XHUzMDAyIiksYigic3VjY2VzcyIpLGF3YWl0IGEoKSxpKCJcdTY2M0VcdTc5M0FcdThCQkVcdTdGNkVcdTVERjJcdTRGRERcdTVCNTgiLCJzdWNjZXNzIil9Y2F0Y2goQyl7aChZYShDLCJcdTRGRERcdTVCNThcdTY2M0VcdTc5M0FcdThCQkVcdTdGNkVcdTU5MzFcdThEMjVcdTMwMDIiKSksYigiZXJyb3IiKX1maW5hbGx5e2YoITEpfX1yZXR1cm4oMCxfLmpzeHMpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXBhbmVsIiwiYXJpYS1sYWJlbCI6Ilx1NjYzRVx1NzkzQSIsY2hpbGRyZW46WygwLF8uanN4cykoImhlYWRlciIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1wYW5lbC1oZWFkaW5nIixjaGlsZHJlbjpbKDAsXy5qc3gpKCJoMiIse2NoaWxkcmVuOiJcdTY2M0VcdTc5M0EifSksKDAsXy5qc3gpKCJwIix7Y2hpbGRyZW46Ilx1OEJCRVx1N0Y2RVx1NTQwNFx1N0M3Qlx1N0VEM1x1Njc5Q1x1NTM2MVx1NzI0N1x1NzY4NFx1OUVEOFx1OEJBNFx1NUM1NVx1NUYwMFx1NzJCNlx1NjAwMVx1MzAwMiJ9KV19KSwoMCxfLmpzeCkobm4se3RpdGxlOiJcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDBcdTc2ODRcdTUzNjFcdTcyNDciLGRlc2NyaXB0aW9uOiJcdTYyNEJcdTUyQThcdTVDNTVcdTVGMDBcdTYyMTZcdTY1MzZcdThENzdcdTRFQ0RcdTRGMUFcdTYzMDlcdTRGMUFcdThCRERcdThCQjBcdTVGNTVcdTMwMDIiLGNoaWxkcmVuOmhCLm1hcChDPT4oMCxfLmpzeCkoR2Ese2xhYmVsOkMudGl0bGUsZGVzY3JpcHRpb246Qy5kZXNjcmlwdGlvbixjaGVja2VkOm9bQy5rZXldLG9uQ2hlY2tlZENoYW5nZTp3PT5jKHg9Pih7Li4ueCxbQy5rZXldOnd9KSl9LEMua2V5KSl9KSwoMCxfLmpzeCkoam0se2xhYmVsOiJcdTRGRERcdTVCNThcdTY2M0VcdTc5M0FcdThCQkVcdTdGNkUiLHBlbmRpbmc6ZCxvblNhdmU6KCk9Pnt5KCl9LHN0YXR1czptLHRvbmU6Z30pXX0pfXZhciBsdD1sZShxZSgpLDEpLHh3PXtnZW5lcmFsOnt0aXRsZToiXHU1N0ZBXHU2NzJDXHU5MTREXHU3RjZFIixkZXNjcmlwdGlvbjoiXHU4RkRFXHU2M0E1XHUzMDAxXHU2QTIxXHU1RjBGXHU0RTBFXHU4RkQwXHU4ODRDXHU3M0FGXHU1ODgzIn0sYWk6e3RpdGxlOiJBSSBcdTRFMEVcdTZBMjFcdTU3OEIiLGRlc2NyaXB0aW9uOiJcdTlFRDhcdThCQTRcdTZBMjFcdTU3OEJcdTMwMDFcdTdDRkJcdTdFREYgQVBJIFx1NEUwRSBDb21taXQifSxub3RpZmljYXRpb25zOnt0aXRsZToiXHU5MDFBXHU3N0U1IixkZXNjcmlwdGlvbjoiXHU2M0QwXHU3OTNBXHU5N0YzXHU0RTBFXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1In0sZGlzcGxheTp7dGl0bGU6Ilx1NjYzRVx1NzkzQSIsZGVzY3JpcHRpb246Ilx1NTM2MVx1NzI0N1x1OUVEOFx1OEJBNFx1NUM1NVx1NUYwMFx1ODg0Q1x1NEUzQSJ9LHNlY3VyaXR5Ont0aXRsZToiXHU1Qjg5XHU1MTY4IixkZXNjcmlwdGlvbjoiXHU1QkM2XHU3ODAxXHU0RTBFXHU4QkMxXHU0RTY2In0scHJlc2V0czp7dGl0bGU6Ilx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRSIsZGVzY3JpcHRpb246Ilx1NjdFNVx1NzcwQlx1NURGMlx1NjcwOVx1OTg4NFx1OEJCRSJ9LGFib3V0Ont0aXRsZToiXHU1MTczXHU0RThFIixkZXNjcmlwdGlvbjoiXHU3MjQ4XHU2NzJDXHUzMDAxXHU2NkY0XHU2NUIwXHU0RTBFXHU4RkRFXHU2M0E1XHU2NUI5XHU1RjBGIn19LGJCPVsiZ2VuZXJhbCIsImFpIiwibm90aWZpY2F0aW9ucyIsImRpc3BsYXkiLCJzZWN1cml0eSIsInByZXNldHMiLCJhYm91dCJdLHlCPXticm93c2VyOiJcdTdGNTFcdTk4NzVcdTYzQTdcdTUyMzZcdTUzRjAiLGFuZHJvaWQ6IkFuZHJvaWQgXHU1MzlGXHU3NTFGIixpb3M6ImlPUyBcdTUzOUZcdTc1MUYiLG1hY29zOiJtYWNPUyBcdTUzOUZcdTc1MUYifTtmdW5jdGlvbiB3Qih7c25hcHNob3Q6ZX0pe2NvbnN0IHQ9ZS5wbGF0Zm9ybS5hcHBWZXJzaW9ufHxlLmFib3V0LnZlcnNpb258fCJcdTY3MkFcdTc3RTVcdTcyNDhcdTY3MkMiO3JldHVybigwLGx0LmpzeHMpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLW92ZXJ2aWV3IiwiYXJpYS1sYWJlbCI6Ilx1NUY1M1x1NTI0RFx1OEJCRVx1N0Y2RVx1Njk4Mlx1ODlDOCIsY2hpbGRyZW46WygwLGx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3Mtb3ZlcnZpZXctbWFyayIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46Ilx1MjcyNiJ9KSwoMCxsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLW92ZXJ2aWV3LWNvcHkiLGNoaWxkcmVuOlsoMCxsdC5qc3hzKSgiZGl2Iix7Y2hpbGRyZW46WygwLGx0LmpzeCkoInN0cm9uZyIse2NoaWxkcmVuOiJcdTdDRkJcdTdFREZcdThCQkVcdTdGNkUifSksKDAsbHQuanN4KSgic3BhbiIse2NoaWxkcmVuOiJcdThGREVcdTYzQTVcdTMwMDFcdThCQkVcdTU5MDdcdTU0OENcdTVERTVcdTRGNUNcdTZENDFcdTUwNEZcdTU5N0RcdTkwRkRcdTU3MjhcdThGRDlcdTkxQ0NcdThDMDNcdTY1NzRcdTMwMDIifSldfSksKDAsbHQuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1vdmVydmlldy1waWxscyIsY2hpbGRyZW46WygwLGx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImlzLXN1Y2Nlc3MiLGNoaWxkcmVuOmUuYWNjZXNzPT09ImFkbWluIj8iXHU3QkExXHU3NDA2XHU1NDU4XHU4RkRFXHU2M0E1IjoiQXBwIFx1OEZERVx1NjNBNSJ9KSwoMCxsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOmUuYWJvdXQudXBkYXRlQ2hhbm5lbD09PSJiZXRhIj8iaXMtd2FybmluZyI6ImlzLWluZm8iLGNoaWxkcmVuOmUuYWJvdXQudXBkYXRlQ2hhbm5lbD09PSJiZXRhIj8iQmV0YSBcdTkwMUFcdTkwNTMiOiJTdGFibGUgXHU5MDFBXHU5MDUzIn0pLCgwLGx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImlzLWFjY2VudCIsY2hpbGRyZW46eUJbZS5wbGF0Zm9ybS5raW5kXX0pXX0pXX0pLCgwLGx0LmpzeHMpKCJjb2RlIix7Y2hpbGRyZW46WyJ2Iix0LnJlcGxhY2UoL152LywiIildfSldfSl9ZnVuY3Rpb24geEIoe3JlcG9zaXRvcnk6ZT1yQixzaG93UmVzdGFydDp0PSgpPT57fX0pe2NvbnN0IGE9KDAsRzMudXNlU3luY0V4dGVybmFsU3RvcmUpKEluLnN1YnNjcmliZSxJbi5nZXRTbmFwc2hvdCxJbi5nZXRTbmFwc2hvdCksW2ksb109KDAsRGkudXNlU3RhdGUpKG51bGwpLFtjLGRdPSgwLERpLnVzZVN0YXRlKSghMSksW2YsbV09KDAsRGkudXNlU3RhdGUpKCIiKSxoPSgwLERpLnVzZUNhbGxiYWNrKShhc3luYyhDLHc9ITEpPT57d3x8ZCghMCksbSgiIik7dHJ5e2NvbnN0IHg9YXdhaXQgZS5sb2FkKHtzaWduYWw6Q30pO0M/LmFib3J0ZWR8fG8oeCl9Y2F0Y2goeCl7Qz8uYWJvcnRlZHx8bSh4IGluc3RhbmNlb2YgRXJyb3I/eC5tZXNzYWdlOiJcdThCQkVcdTdGNkVcdTUyQTBcdThGN0RcdTU5MzFcdThEMjVcdTMwMDIiKX1maW5hbGx5eyFDPy5hYm9ydGVkJiYhdyYmZCghMSl9fSxbZV0pOygwLERpLnVzZUVmZmVjdCkoKCk9PntpZighYS5vcGVuKXJldHVybjtjb25zdCBDPW5ldyBBYm9ydENvbnRyb2xsZXI7cmV0dXJuIGgoQy5zaWduYWwpLCgpPT5DLmFib3J0KCl9LFthLm9wZW4saF0pO2NvbnN0IGc9KDAsRGkudXNlQ2FsbGJhY2spKGFzeW5jKCk9Pmgodm9pZCAwLCEwKSxbaF0pLGI9KDAsRGkudXNlQ2FsbGJhY2spKChDLHc9ImluZm8iKT0+e2JvLnRvYXN0KEMse3RvbmU6d30pfSxbXSkseT0oMCxEaS51c2VNZW1vKSgoKT0+e2lmKCFpKXJldHVybltdO2NvbnN0IEM9e3NuYXBzaG90OmkscmVwb3NpdG9yeTplLHJlZnJlc2g6ZyxzZXRTbmFwc2hvdDpvLHRvYXN0OmIsc2hvd1Jlc3RhcnQ6dH0sdz17Z2VuZXJhbDooMCxsdC5qc3gpKGRCLHsuLi5DfSksYWk6KDAsbHQuanN4KShmQix7Li4uQ30pLG5vdGlmaWNhdGlvbnM6KDAsbHQuanN4KShwQix7Li4uQ30pLGRpc3BsYXk6KDAsbHQuanN4KShnQix7Li4uQ30pLHNlY3VyaXR5OigwLGx0LmpzeCkodkIsey4uLkN9KSxwcmVzZXRzOigwLGx0LmpzeCkobUIsey4uLkN9KSxhYm91dDooMCxsdC5qc3gpKHNCLHsuLi5DfSl9O3JldHVybihpLmFjY2Vzcz09PSJhZG1pbiI/YkI6WyJhYm91dCJdKS5tYXAoRj0+KHt2YWx1ZTpGLGxhYmVsOigwLGx0LmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXRhYi1sYWJlbCIsY2hpbGRyZW46WygwLGx0LmpzeCkoInN0cm9uZyIse2NoaWxkcmVuOnh3W0ZdLnRpdGxlfSksKDAsbHQuanN4KSgic3BhbiIse2NoaWxkcmVuOnh3W0ZdLmRlc2NyaXB0aW9ufSldfSksY29udGVudDp3W0ZdfSkpfSxbZyxlLHQsaSxiXSk7cmV0dXJuKDAsbHQuanN4KShqcix7b3BlbjphLm9wZW4sb25PcGVuQ2hhbmdlOkM9PntDfHxfby5jbG9zZSgpfSx0aXRsZToiXHU3Q0ZCXHU3RURGXHU4QkJFXHU3RjZFIixkZXNjcmlwdGlvbjoiXHU4QzAzXHU2NTc0XHU1RTk0XHU3NTI4XHU5MTREXHU3RjZFXHUzMDAxXHU5MDFBXHU3N0U1XHUzMDAxXHU1Qjg5XHU1MTY4XHU1NDhDXHU2NjNFXHU3OTNBXHU1MDRGXHU1OTdEIixjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtZGlhbG9nIixvdmVybGF5Q2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLW92ZXJsYXkiLHRpdGxlQ2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXRpdGxlIixkZXNjcmlwdGlvbkNsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1kZXNjcmlwdGlvbiIsaGVhZGVyQ2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLWhlYWRlciIsY2xvc2VMYWJlbDoiXHU1MTczXHU5NUVEXHU4QkJFXHU3RjZFIix0ZXN0SWQ6InNldHRpbmdzLWRpYWxvZyIsY2hpbGRyZW46Yz8oMCxsdC5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtbG9hZGluZyIscm9sZToic3RhdHVzIiwiYXJpYS1sYWJlbCI6Ilx1NkI2M1x1NTcyOFx1NTJBMFx1OEY3RFx1OEJCRVx1N0Y2RSIsY2hpbGRyZW46Ilx1NkI2M1x1NTcyOFx1NTJBMFx1OEY3RFx1OEJCRVx1N0Y2RVx1MjAyNiJ9KTpmPygwLGx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtc2V0dGluZ3MtbG9hZC1lcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOlsoMCxsdC5qc3gpKCJwIix7Y2hpbGRyZW46Zn0pLCgwLGx0LmpzeCkoR2Use2tpbmQ6InByaW1hcnkiLG9uQ2xpY2s6KCk9PntoKCl9LGNoaWxkcmVuOiJcdTkxQ0RcdThCRDVcdTUyQTBcdThGN0RcdThCQkVcdTdGNkUifSldfSk6aT8oMCxsdC5qc3hzKShsdC5GcmFnbWVudCx7Y2hpbGRyZW46WygwLGx0LmpzeCkod0Ise3NuYXBzaG90Oml9KSxpLmFjY2Vzcz09PSJyZWFkLW9ubHkiPygwLGx0LmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1zZXR0aW5ncy1yZWFkb25seSIscm9sZToibm90ZSIsY2hpbGRyZW46Ilx1NUY1M1x1NTI0RFx1NjYyRiBBcHAgXHU4RkRFXHU2M0E1XHU0RjFBXHU4QkREXHVGRjBDXHU0RUM1XHU1QzU1XHU3OTNBXHU3MjQ4XHU2NzJDXHU0RTBFXHU1QkEyXHU2MjM3XHU3QUVGXHU0RTBCXHU4RjdEXHU0RkUxXHU2MDZGXHUzMDAyXHU3QkExXHU3NDA2XHU4QkJFXHU3RjZFXHU5NzAwXHU4OTgxXHU3QkExXHU3NDA2XHU1NDU4XHU3NjdCXHU1RjU1XHUzMDAyIn0pOm51bGwsKDAsbHQuanN4KShoMyx7Y2xhc3NOYW1lOiJ3YW5kLXNldHRpbmdzLXRhYnMiLGFyaWFMYWJlbDoiXHU4QkJFXHU3RjZFXHU1MjA2XHU3RUM0Iix2YWx1ZTppLmFjY2Vzcz09PSJyZWFkLW9ubHkiPyJhYm91dCI6YS50YWIsdGFiczp5LG9uVmFsdWVDaGFuZ2U6Qz0+SW4uc2V0VGFiKEMpfSldfSk6bnVsbH0pfXZhciBhbj1sZShBZSgpLDEpLE91PW51bGwsWW49e29wZW46ITEsZGlzbWlzc2FibGU6ITAscmV2aXNpb246MH0semQ9bmV3IFNldDtmdW5jdGlvbiBFdyhlKXtZbj17b3BlbjplLGRpc21pc3NhYmxlOiEwLHJldmlzaW9uOlluLnJldmlzaW9uKzF9O2Zvcihjb25zdCB0IG9mIHpkKXQoKX1mdW5jdGlvbiBFQihlKXtpZighKCFZbi5vcGVufHxZbi5kaXNtaXNzYWJsZT09PWUpKXtZbj17Li4uWW4sZGlzbWlzc2FibGU6ZX07Zm9yKGNvbnN0IHQgb2YgemQpdCgpfX12YXIgV2E9e29wZW4oKXtyZXR1cm4gT3U/KE91Lm9uT3BlbigpLEV3KCEwKSwhMCk6ITF9LGNsb3NlKCl7WW4ub3BlbiYmKEV3KCExKSxPdT8ub25DbG9zZSgpKX0sY2xvc2VJZk9wZW4oKXtyZXR1cm4hWW4ub3Blbnx8IVluLmRpc21pc3NhYmxlPyExOih0aGlzLmNsb3NlKCksITApfSxjbG9zZVRvcG1vc3QoKXtyZXR1cm4gWW4ub3Blbj8oWW4uZGlzbWlzc2FibGUmJnRoaXMuY2xvc2UoKSwhMCk6ITF9LGlzT3Blbigpe3JldHVybiBZbi5vcGVufSxzZXREaXNtaXNzYWJsZShlKXtFQihlKX19LF91PXtzdWJzY3JpYmUoZSl7cmV0dXJuIHpkLmFkZChlKSwoKT0+emQuZGVsZXRlKGUpfSxnZXRTbmFwc2hvdCgpe3JldHVybiBZbn0sZ2V0UnVudGltZSgpe3JldHVybiBPdX19O2Z1bmN0aW9uIEZCKGUpe3JldHVybiBPdT1lLCgpPT57T3U9PT1lJiYoWW4ub3BlbiYmV2EuY2xvc2UoKSxPdT1udWxsKX19dmFyIENCPVsiY2xhdWRlIiwiY29kZXgiLCJvcGVuY29kZSIsImdyb2siLCJxb2RlciJdLERCPVsic3RydWN0dXJlZCIsInB0eSJdLEFCPVsiZGVmYXVsdCIsImZ1bGwtYWNjZXNzIiwiYXV0by1lZGl0IiwibmF0aXZlIiwibWFuYWdlZCJdO2Z1bmN0aW9uIEZ3KGUpe3JldHVybiEhZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShlKX1mdW5jdGlvbiBNbShlLHQsYSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIiYmdC5pbmNsdWRlcyhlKT9lOmF9ZnVuY3Rpb24gSGQoZSx0PSIiKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2U6dH1hc3luYyBmdW5jdGlvbiBPbShlKXtsZXQgdDt0cnl7dD1hd2FpdCBlLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgRXJyb3IoYFx1OEJGN1x1NkM0Mlx1NTkzMVx1OEQyNSAoSFRUUCAke2Uuc3RhdHVzfSlgKX1jb25zdCBhPUZ3KHQpP3Q6e307aWYoIWUub2t8fHR5cGVvZiBhLmVycm9yPT0ic3RyaW5nIil7Y29uc3QgaT1uZXcgRXJyb3IoSGQoYS5lcnJvcixgXHU4QkY3XHU2QzQyXHU1OTMxXHU4RDI1IChIVFRQICR7ZS5zdGF0dXN9KWApKTt0aHJvdyBpLnN0YXR1cz1lLnN0YXR1cyxpfXJldHVybiBhfWZ1bmN0aW9uIFNCKGUpe3JldHVybntkZWZhdWx0UHJvdmlkZXI6TW0oZS5kZWZhdWx0UHJvdmlkZXIsQ0IsImNsYXVkZSIpLGRlZmF1bHRTZXNzaW9uS2luZDpNbShlLmRlZmF1bHRTZXNzaW9uS2luZCxEQiwic3RydWN0dXJlZCIpLGRlZmF1bHRNb2RlOk1tKGUuZGVmYXVsdE1vZGUsQUIsImRlZmF1bHQiKSxkZWZhdWx0Q3dkOkhkKGUuZGVmYXVsdEN3ZCksc3RydWN0dXJlZFJ1bm5lcjpIZChlLnN0cnVjdHVyZWRSdW5uZXIsImNsaSIpfX1mdW5jdGlvbiBDdyhlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLmZsYXRNYXAodD0+IUZ3KHQpfHx0eXBlb2YgdC5wYXRoIT0ic3RyaW5nInx8IXQucGF0aC50cmltKCk/W106W3twYXRoOnQucGF0aCxuYW1lOkhkKHQubmFtZSx0LnBhdGguc3BsaXQoIi8iKS5maWx0ZXIoQm9vbGVhbikuYXQoLTEpPz90LnBhdGgpfV0pOltdfWZ1bmN0aW9uIF9tKGUpe3JldHVybiBlPT09ImNvZGV4Ij9bImZ1bGwtYWNjZXNzIl06ZT09PSJvcGVuY29kZSJ8fGU9PT0iZ3JvayI/WyJkZWZhdWx0IiwiZnVsbC1hY2Nlc3MiLCJtYW5hZ2VkIl06ZT09PSJxb2RlciI/WyJkZWZhdWx0IiwiZnVsbC1hY2Nlc3MiLCJhdXRvLWVkaXQiLCJtYW5hZ2VkIl06WyJkZWZhdWx0IiwiZnVsbC1hY2Nlc3MiLCJhdXRvLWVkaXQiLCJuYXRpdmUiLCJtYW5hZ2VkIl19ZnVuY3Rpb24gZmwoZSx0LGE9ImRlZmF1bHQiKXtjb25zdCBpPV9tKGUpO3JldHVybiBpLmluY2x1ZGVzKHQpP3Q6aS5pbmNsdWRlcyhhKT9hOmlbMF19ZnVuY3Rpb24gQkIoZSx0KXtyZXR1cm4gZT09PSJjb2RleCI/ImNvZGV4LWNsaS1leGVjIjplPT09Im9wZW5jb2RlIj8ib3BlbmNvZGUtY2xpLXJ1biI6ZT09PSJncm9rIj8iZ3Jvay1jbGktaGVhZGxlc3MiOmU9PT0icW9kZXIiPyJxb2Rlci1jbGktcHJpbnQiOnQ9PT0ic2RrInx8dD09PSJjbGF1ZGUtc2RrIj8iY2xhdWRlLXNkayI6ImNsYXVkZS1jbGktcHJpbnQifWZ1bmN0aW9uIGtCKGUpe3JldHVybiBlPT09InFvZGVyIj8icW9kZXJjbGkiOmV9ZnVuY3Rpb24gVEIoZSx0LGEsaT17fSl7Y29uc3Qgbz1lLmN3ZC50cmltKCl8fGEuZWZmZWN0aXZlQ3dkLnRyaW0oKXx8dC5kZWZhdWx0Q3dkLGM9ZmwoZS5wcm92aWRlcixlLm1vZGUsdC5kZWZhdWx0TW9kZSksZD17cHJvdmlkZXI6ZS5wcm92aWRlcixjd2Q6byxtb2RlOmMsd29ya3RyZWVFbmFibGVkOmUud29ya3RyZWVFbmFibGVkPT09ITAsc2Vzc2lvblNvdXJjZToiaW50ZXJhY3RpdmUifTtpZihlLmtpbmQ9PT0icHR5Iil7Y29uc3QgaD1OdW1iZXIuaXNGaW5pdGUoaS5jb2xzKSYmKGkuY29scz8/MCk+MD9pLmNvbHM6dm9pZCAwLGc9TnVtYmVyLmlzRmluaXRlKGkucm93cykmJihpLnJvd3M/PzApPjA/aS5yb3dzOnZvaWQgMDtyZXR1cm57Li4uZCxraW5kOiJwdHkiLGNvbW1hbmQ6a0IoZS5wcm92aWRlciksY29sczpoLHJvd3M6Z319Y29uc3QgZj1hLnNlbGVjdGVkTW9kZWxzPy5bZS5wcm92aWRlcl0/LnRyaW0oKSxtPWEudGhpbmtpbmdFZmZvcnQ/LnRyaW0oKTtyZXR1cm57Li4uZCxraW5kOiJzdHJ1Y3R1cmVkIixydW5uZXI6QkIoZS5wcm92aWRlcix0LnN0cnVjdHVyZWRSdW5uZXIpLG1vZGVsOmZ8fHZvaWQgMCx0aGlua2luZ0VmZm9ydDptfHx2b2lkIDB9fXZhciBqQj1jbGFzc3tjb25zdHJ1Y3RvcihlPSh0LGEpPT5nbG9iYWxUaGlzLmZldGNoKHQsYSkpe3B0KHRoaXMsImZldGNoSW1wbCIsZSkscHQodGhpcywicHJlZmVyZW5jZVdyaXRlIixQcm9taXNlLnJlc29sdmUoKSl9YXN5bmMgbG9hZChlPXt9KXthd2FpdCB0aGlzLnByZWZlcmVuY2VXcml0ZS5jYXRjaCgoKT0+e30pO2NvbnN0IHQ9YXdhaXQgdGhpcy5mZXRjaEltcGwoIi9hcGkvY29uZmlnIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixzaWduYWw6ZS5zaWduYWx9KSxhPVNCKGF3YWl0IE9tKHQpKSxpPWF3YWl0IHRoaXMuZmV0Y2hJbXBsKCIvYXBpL3JlY2VudC1wYXRocyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsc2lnbmFsOmUuc2lnbmFsfSkudGhlbihhc3luYyBvPT5vLm9rP0N3KGF3YWl0IG8uanNvbigpKTpbXSkuY2F0Y2gobz0+e2lmKGUuc2lnbmFsPy5hYm9ydGVkKXRocm93IG87cmV0dXJuW119KTtyZXR1cm57Y29uZmlnOmEscmVjZW50UGF0aHM6aX19c2F2ZVByZWZlcmVuY2VzKGUpe2lmKE9iamVjdC5rZXlzKGUpLmxlbmd0aD09PTApcmV0dXJuIHRoaXMucHJlZmVyZW5jZVdyaXRlO2NvbnN0IHQ9dGhpcy5wcmVmZXJlbmNlV3JpdGUuY2F0Y2goKCk9Pnt9KS50aGVuKGFzeW5jKCk9Pntjb25zdCBhPWF3YWl0IHRoaXMuZmV0Y2hJbXBsKCIvYXBpL3NldHRpbmdzL2NvbmZpZyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoZSl9KTthd2FpdCBPbShhKX0pO3JldHVybiB0aGlzLnByZWZlcmVuY2VXcml0ZT10LHR9YXN5bmMgc3VnZ2VzdFBhdGhzKGUsdD17fSl7Y29uc3QgYT1hd2FpdCB0aGlzLmZldGNoSW1wbChgL2FwaS9wYXRoLXN1Z2dlc3Rpb25zP3E9JHtlbmNvZGVVUklDb21wb25lbnQoZS50cmltKCkpfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsc2lnbmFsOnQuc2lnbmFsfSk7cmV0dXJuIGEub2s/Q3coYXdhaXQgYS5qc29uKCkpOltdfWFzeW5jIGNyZWF0ZShlKXtjb25zdCB0PWUua2luZD09PSJzdHJ1Y3R1cmVkIixhPXQ/Ii9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucyI6Ii9hcGkvY29tbWFuZHMiLGk9dD97Y3dkOmUuY3dkLG1vZGU6ZS5tb2RlLHByb3ZpZGVyOmUucHJvdmlkZXIscnVubmVyOmUucnVubmVyLHdvcmt0cmVlRW5hYmxlZDplLndvcmt0cmVlRW5hYmxlZCxtb2RlbDplLm1vZGVsLHRoaW5raW5nRWZmb3J0OmUudGhpbmtpbmdFZmZvcnQsc2Vzc2lvblNvdXJjZTplLnNlc3Npb25Tb3VyY2V9Ontjb21tYW5kOmUuY29tbWFuZCxwcm92aWRlcjplLnByb3ZpZGVyLGN3ZDplLmN3ZCxtb2RlOmUubW9kZSx3b3JrdHJlZUVuYWJsZWQ6ZS53b3JrdHJlZUVuYWJsZWQsY29sczplLmNvbHMscm93czplLnJvd3Msc2Vzc2lvblNvdXJjZTplLnNlc3Npb25Tb3VyY2V9LG89YXdhaXQgdGhpcy5mZXRjaEltcGwoYSx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShpKX0pLGM9YXdhaXQgT20obyk7aWYodHlwZW9mIGMuaWQhPSJzdHJpbmcifHwhYy5pZCl0aHJvdyBuZXcgRXJyb3IoIlx1NjcwRFx1NTJBMVx1N0FFRlx1NjcyQVx1OEZENFx1NTZERVx1NjVCMFx1NEYxQVx1OEJERCBJRFx1MzAwMiIpO3JldHVybiBjfX0sTUI9bmV3IGpCO2Z1bmN0aW9uIE9CKGUsdCxhKXtpZihlLmxlbmd0aD09PTApcmV0dXJuIHQ7aWYoYT09PSJIb21lIilyZXR1cm4gZVswXTtpZihhPT09IkVuZCIpcmV0dXJuIGVbZS5sZW5ndGgtMV07Y29uc3QgaT1NYXRoLm1heCgwLGUuaW5kZXhPZih0KSk7cmV0dXJuIGVbKGkrKGE9PT0iQXJyb3dSaWdodCJ8fGE9PT0iQXJyb3dEb3duIj8xOi0xKStlLmxlbmd0aCklZS5sZW5ndGhdfXZhciBTZT1sZShxZSgpLDEpLE5tPVt7dmFsdWU6ImNsYXVkZSIsbGFiZWw6IkNsYXVkZSIsZGVzY3JpcHRpb246Ilx1NUI4Q1x1NjU3NCBDbGF1ZGUgXHU0RjFBXHU4QkREXHU4MEZEXHU1MjlCIn0se3ZhbHVlOiJjb2RleCIsbGFiZWw6IkNvZGV4IixkZXNjcmlwdGlvbjoiXHU3RUQzXHU2Nzg0XHU1MzE2IEpTT05MIFx1NjIxNiBQVFkgXHU0RjFBXHU4QkREIn0se3ZhbHVlOiJvcGVuY29kZSIsbGFiZWw6Ik9wZW5Db2RlIixkZXNjcmlwdGlvbjoiXHU1OTFBXHU2QTIxXHU1NzhCXHU3RUQzXHU2Nzg0XHU1MzE2XHU2MjE2IFBUWSBcdTRGMUFcdThCREQifSx7dmFsdWU6Imdyb2siLGxhYmVsOiJHcm9rIixkZXNjcmlwdGlvbjoiR3JvayBCdWlsZCBcdTdFRDNcdTY3ODRcdTUzMTZcdTYyMTYgUFRZIFx1NEYxQVx1OEJERCJ9LHt2YWx1ZToicW9kZXIiLGxhYmVsOiJRb2RlciIsZGVzY3JpcHRpb246IlFvZGVyIENMSSBcdTdFRDNcdTY3ODRcdTUzMTZcdTYyMTYgUFRZIFx1NEYxQVx1OEJERCJ9XSxEdz1be3ZhbHVlOiJzdHJ1Y3R1cmVkIixsYWJlbDoiXHU3RUQzXHU2Nzg0XHU1MzE2IixkZXNjcmlwdGlvbjoiXHU2NjdBXHU4MEZEXHU1QkY5XHU4QkREXHU2QTIxXHU1RjBGIn0se3ZhbHVlOiJwdHkiLGxhYmVsOiJQVFkiLGRlc2NyaXB0aW9uOiJcdTRFQTRcdTRFOTJcdTVGMEZcdTdFQzhcdTdBRUZcdTRGMUFcdThCREQifV0sQXc9W3t2YWx1ZToibWFuYWdlZCIsbGFiZWw6Ilx1NjI1OFx1N0JBMSIsZGVzY3JpcHRpb246Ilx1NTE2OFx1ODFFQVx1NTJBOFx1NUI4Q1x1NjIxMFx1NEVGQlx1NTJBMSJ9LHt2YWx1ZToiZnVsbC1hY2Nlc3MiLGxhYmVsOiJcdTUxNjhcdTY3NDNcdTk2NTAiLGRlc2NyaXB0aW9uOiJcdTgxRUFcdTUyQThcdTc4NkVcdThCQTRcdTY3NDNcdTk2NTAifSx7dmFsdWU6ImF1dG8tZWRpdCIsbGFiZWw6Ilx1ODFFQVx1NTJBOFx1N0YxNlx1OEY5MSIsZGVzY3JpcHRpb246Ilx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1NEZFRVx1NjUzOSJ9LHt2YWx1ZToiZGVmYXVsdCIsbGFiZWw6Ilx1NjgwN1x1NTFDNiIsZGVzY3JpcHRpb246Ilx1OTAxMFx1NkI2NVx1Nzg2RVx1OEJBNFx1NjRDRFx1NEY1QyJ9LHt2YWx1ZToibmF0aXZlIixsYWJlbDoiXHU1MzlGXHU3NTFGIixkZXNjcmlwdGlvbjoiXHU1MzlGXHU3NTFGXHU3RUQzXHU2Nzg0XHU1MzE2XHU4RjkzXHU1MUZBIn1dLF9CPU5tLm1hcChlPT5lLnZhbHVlKSxOQj1Edy5tYXAoZT0+ZS52YWx1ZSk7ZnVuY3Rpb24gUkIoKXtyZXR1cm4oMCxTZS5qc3hzKSgic3ZnIix7Y2xhc3NOYW1lOiJ3YW5kLXByb3ZpZGVyLWdyb2stbWFyayIsdmlld0JveDoiMCAwIDM0IDMzIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixmb2N1c2FibGU6ImZhbHNlIixjaGlsZHJlbjpbKDAsU2UuanN4KSgicGF0aCIse2Q6Ik0xMy4yMzcxIDIxLjA0MDdMMjQuMzE4NiAxMi44NTA2QzI0Ljg2MTkgMTIuNDQ5MSAyNS42Mzg0IDEyLjYwNTcgMjUuODk3MyAxMy4yMjk0QzI3LjI1OTcgMTYuNTE4NSAyNi42NTEgMjAuNDcxMiAyMy45NDAzIDIzLjE4NTFDMjEuMjI5NyAyNS44OTg5IDE3LjQ1ODEgMjYuNDk0MSAxNC4wMTA4IDI1LjEzODZMMTAuMjQ0OSAyNi44ODQzQzE1LjY0NjMgMzAuNTgwNiAyMi4yMDUzIDI5LjY2NjUgMjYuMzA0IDI1LjU2MDFDMjkuNTU1MSAyMi4zMDUxIDMwLjU2MiAxNy44NjgzIDI5LjYyMDUgMTMuODY3M0wyOS42MjkgMTMuODc1OEMyOC4yNjM3IDcuOTk4MDkgMjkuOTY0NyA1LjY0ODcxIDMzLjQ0OS44NDQ1NzZDMzMuNTMxNC43MzA2NjcgMzMuNjEzOS42MTY3NTcgMzMuNjk2NC41TDI5LjExMTMgNS4wOTA1NVY1LjA3NjMxTDEzLjIzNDMgMjEuMDQzNloifSksKDAsU2UuanN4KSgicGF0aCIse2Q6Ik0xMC45NTAzIDIzLjAzMTNDNy4wNzM0MyAxOS4zMjM1IDcuNzQxODUgMTMuNTg1MyAxMS4wNDk4IDEwLjI3NjNDMTMuNDk1OSA3LjgyNzIyIDE3LjUwMzYgNi44Mjc2NyAyMS4wMDIxIDguMjk3MUwyNC43NTk1IDYuNTU5OThDMjQuMDgyNiA2LjA3MDE3IDIzLjIxNSA1LjU0MzM0IDIyLjIxOTUgNS4xNzMxM0MxNy43MTk4IDMuMzE5MjYgMTIuMzMyNiA0LjI0MTkyIDguNjc0NzkgNy45MDEyNkM1LjE1NjM1IDExLjQyMzkgNC4wNDk5IDE2Ljg0MDMgNS45NDk5MiAyMS40NjIyQzcuMzY5MjQgMjQuOTE2NSA1LjA0MjU3IDI3LjM1OTggMi42OTg4NCAyOS44MjZDMS44NjgyOSAzMC43MDAyIDEuMDM0OSAzMS41NzQ1LjM2MzY0IDMyLjVMMTAuOTQ3NCAyMy4wMzQxWiJ9KV19KX1mdW5jdGlvbiBJQihlLHQpe3JldHVybiB0PT09InN0cnVjdHVyZWQiP2U9PT0iY29kZXgiPyJDb2RleCBKU09OTCBcdTdFRDNcdTY3ODRcdTUzMTZcdTgwNEFcdTU5MjlcdTc1NENcdTk3NjJcdUZGMENcdTY1MkZcdTYzMDFcdTU5MUFcdThGNkVcdTVCRjlcdThCRERcdTU0OENcdTVERTVcdTUxNzdcdThDMDNcdTc1MjhcdTVDNTVcdTc5M0FcdTMwMDIiOmU9PT0ib3BlbmNvZGUiPyJPcGVuQ29kZSBKU09OIFx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1NzU0Q1x1OTc2Mlx1RkYwQ1x1NjUyRlx1NjMwMVx1N0VFRFx1ODA0QVx1MzAwMVx1NjAxRFx1ODAwM1x1OEZDN1x1N0EwQlx1NTQ4Q1x1NURFNVx1NTE3N1x1OEMwM1x1NzUyOFx1NUM1NVx1NzkzQVx1MzAwMiI6ZT09PSJncm9rIj8iR3JvayBzdHJlYW1pbmctanNvbiBcdTdFRDNcdTY3ODRcdTUzMTZcdTgwNEFcdTU5MjlcdTc1NENcdTk3NjJcdUZGMENcdTY1MkZcdTYzMDFcdTU5MUFcdThGNkVcdTdFRURcdTgwNEFcdTRFMEVcdTYwMURcdTgwMDNcdThGQzdcdTdBMEJcdTVDNTVcdTc5M0FcdTMwMDIiOmU9PT0icW9kZXIiPyJRb2RlciBzdHJlYW0tanNvbiBcdTdFRDNcdTY3ODRcdTUzMTZcdTgwNEFcdTU5MjlcdTc1NENcdTk3NjJcdUZGMENcdTY1MkZcdTYzMDFcdTdFRURcdTgwNEFcdTMwMDFcdTYwMURcdTgwMDNcdThGQzdcdTdBMEJcdTU0OENcdTVERTVcdTUxNzdcdThDMDNcdTc1MjhcdTVDNTVcdTc5M0FcdTMwMDIiOiJcdTdFRDNcdTY3ODRcdTUzMTZcdTgwNEFcdTU5MjlcdTc1NENcdTk3NjJcdUZGMENcdTY1MkZcdTYzMDFcdTU5MUFcdThGNkVcdTVCRjlcdThCRERcdTMwMDFcdTZENDFcdTVGMEZcdThGOTNcdTUxRkFcdTU0OENcdTVERTVcdTUxNzdcdThDMDNcdTc1MjhcdTVDNTVcdTc5M0FcdTMwMDIiOmU9PT0iY29kZXgiPyJDb2RleCBQVFkgXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREXHVGRjFCdGVybWluYWwgXHU2NjJGXHU1MzlGXHU1OUNCXHU4RjkzXHU1MUZBXHVGRjBDY2hhdCBcdTY2MkZcdTg5RTNcdTY3OTBcdTU0MEVcdTc2ODRcdTk2MDVcdThCRkJcdTg5QzZcdTU2RkVcdTMwMDIiOmU9PT0ib3BlbmNvZGUiPyJPcGVuQ29kZSBUVUkgXHU3Njg0XHU1MzlGXHU1OUNCIFBUWSBcdTdFQzhcdTdBRUZcdTRGMUFcdThCRERcdTMwMDIiOmU9PT0iZ3JvayI/Ikdyb2sgQnVpbGQgVFVJIFx1NzY4NFx1NTM5Rlx1NTlDQiBQVFkgXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREXHUzMDAyIjplPT09InFvZGVyIj8iUW9kZXIgQ0xJIFRVSSBcdTc2ODRcdTUzOUZcdTU5Q0IgUFRZIFx1N0VDOFx1N0FFRlx1NEYxQVx1OEJERFx1MzAwMiI6Ilx1NTM5Rlx1NTlDQiBQVFkgXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREXHVGRjBDXHU2NTJGXHU2MzAxXHU2MzAxXHU3RUVEXHU0RUE0XHU0RTkyXHUzMDAxXHU3RUM4XHU3QUVGXHU4OUM2XHU1NkZFXHU1NDhDXHU2NzQzXHU5NjUwXHU2RDQxXHUzMDAyIn1mdW5jdGlvbiBMQihlLHQpe3JldHVybiBlPT09ImNvZGV4Ij8iQ29kZXggXHU2NTJGXHU2MzAxIFBUWSBcdTdFQzhcdTdBRUZcdTRFMEVcdTdFRDNcdTY3ODRcdTUzMTZcdUZGMDhKU09OTFx1RkYwOVx1NEUyNFx1NzlDRFx1NEYxQVx1OEJERFx1RkYwQ1x1N0VEM1x1Njc4NFx1NTMxNlx1NkEyMVx1NUYwRlx1NjMwOSBmdWxsLWFjY2VzcyBcdTU0MkZcdTUyQThcdTMwMDIiOmU9PT0ib3BlbmNvZGUiP3Q9PT0iZnVsbC1hY2Nlc3MifHx0PT09Im1hbmFnZWQifHx0PT09ImF1dG8tZWRpdCI/Ik9wZW5Db2RlIFx1NUMwNlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NjcyQVx1NjYzRVx1NUYwRlx1NjJEMlx1N0VERFx1NzY4NFx1Njc0M1x1OTY1MFx1RkYxQlx1NjUyRlx1NjMwMSBUVUkgXHU0RTBFIEpTT04gXHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREXHUzMDAyIjoiT3BlbkNvZGUgXHU0RjdGXHU3NTI4XHU4MUVBXHU4RUFCXHU2NzQzXHU5NjUwXHU5MTREXHU3RjZFXHVGRjFCXHU3RUQzXHU2Nzg0XHU1MzE2XHU2QTIxXHU1RjBGXHU0RjFBXHU4MUVBXHU1MkE4XHU2MkQyXHU3RUREXHU2NzJBXHU2Mjc5XHU1MUM2XHU3Njg0XHU2NzQzXHU5NjUwXHU4QkY3XHU2QzQyXHUzMDAyIjplPT09Imdyb2siP3Q9PT0iZnVsbC1hY2Nlc3MifHx0PT09Im1hbmFnZWQiPyJHcm9rIFx1NUMwNlx1NEVFNSBhbHdheXMtYXBwcm92ZSBcdThGRDBcdTg4NENcdUZGMUJcdTY1MkZcdTYzMDEgVFVJIFx1NEUwRSBzdHJlYW1pbmctanNvbiBcdTdFRDNcdTY3ODRcdTUzMTZcdTRGMUFcdThCRERcdTMwMDIiOiJHcm9rIFx1NEY3Rlx1NzUyOFx1ODFFQVx1OEVBQlx1Njc0M1x1OTY1MFx1Nzg2RVx1OEJBNFx1RkYxQlx1NjUyRlx1NjMwMSBUVUkgXHU0RTBFIHN0cmVhbWluZy1qc29uIFx1N0VEM1x1Njc4NFx1NTMxNlx1NEYxQVx1OEJERFx1MzAwMiI6ZT09PSJxb2RlciI/dD09PSJmdWxsLWFjY2VzcyJ8fHQ9PT0ibWFuYWdlZCI/IlFvZGVyIFx1NUMwNlx1NEVFNSBieXBhc3NfcGVybWlzc2lvbnMgXHU4RkQwXHU4ODRDXHVGRjFCXHU2NTJGXHU2MzAxIFRVSSBcdTRFMEUgc3RyZWFtLWpzb24gXHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREXHUzMDAyIjp0PT09ImF1dG8tZWRpdCI/IlFvZGVyIFx1NUMwNlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURFNVx1NEY1Q1x1NTMzQVx1NTE4NVx1NzY4NFx1NUI4OVx1NTE2OFx1N0YxNlx1OEY5MVx1MzAwMiI6IlFvZGVyIFx1NEY3Rlx1NzUyOFx1ODFFQVx1OEVBQlx1Njc0M1x1OTY1MFx1Nzg2RVx1OEJBNFx1RkYxQlx1N0VEM1x1Njc4NFx1NTMxNlx1NkEyMVx1NUYwRlx1NEUwQlx1NjcyQVx1NjI3OVx1NTFDNlx1NzY4NFx1NjRDRFx1NEY1Q1x1NEYxQVx1ODhBQlx1NjJEMlx1N0VERFx1MzAwMiI6dD09PSJmdWxsLWFjY2VzcyI/Ilx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1Njc0M1x1OTY1MFx1OEJGN1x1NkM0Mlx1NEUwRVx1OUFEOFx1Njc0M1x1OTY1MFx1NjRDRFx1NEY1Q1x1RkYwQ1x1OTAwMlx1NTQwOFx1NEY2MFx1Nzg2RVx1OEJBNFx1NzNBRlx1NTg4M1x1NUI4OVx1NTE2OFx1NTQwRVx1NzY4NFx1OEZERVx1N0VFRFx1NEZFRVx1NjUzOVx1MzAwMiI6dD09PSJhdXRvLWVkaXQiPyJcdTRGRERcdTc1NTlcdTRFQTRcdTRFOTJcdTVGMEZcdTRGMUFcdThCRERcdUZGMENcdTU0MENcdTY1RjZcdTY2RjRcdTUwNEZcdTU0MTFcdTc2RjRcdTYzQTVcdTdGMTZcdThGOTFcdTRFRTNcdTc4MDFcdTMwMDIiOnQ9PT0ibmF0aXZlIj8iXHU4QzAzXHU3NTI4IENsYXVkZSBcdTUzOUZcdTc1MUYgQVBJIFx1OEY5M1x1NTFGQVx1RkYwQ1x1OTAwMlx1NTQwOFx1NUZFQlx1OTAxRlx1OTVFRVx1N0I1NFx1NjIxNlx1NEUwMFx1NkIyMVx1NjAyN1x1NzUxRlx1NjIxMFx1MzAwMiI6dD09PSJtYW5hZ2VkIj8iQUkgXHU4MUVBXHU1MkE4XHU1QjhDXHU2MjEwXHU2MjQwXHU2NzA5XHU1REU1XHU0RjVDXHVGRjBDXHU2NUUwXHU5NzAwXHU0RTJEXHU5MDE0XHU3ODZFXHU4QkE0XHVGRjBDXHU5MDAyXHU1NDA4XHU2NzA5XHU2NjBFXHU3ODZFXHU3NkVFXHU2ODA3XHU3Njg0XHU0RUZCXHU1MkExXHUzMDAyIjoiXHU0RkREXHU3NTU5XHU2ODA3XHU1MUM2XHU0RUE0XHU0RTkyXHU2RDQxXHU3QTBCXHVGRjBDXHU5MDAyXHU1NDA4XHU2MjRCXHU1MkE4XHU3ODZFXHU4QkE0XHU2QkNGXHU0RTAwXHU2QjY1XHUzMDAyIn1mdW5jdGlvbiB6QihlLHQpe3JldHVybiB0PT09InN0cnVjdHVyZWQiPyJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQThcdTdFRDNcdTY3ODRcdTUzMTZcdTRGMUFcdThCRERcdUZGMENcdThCRjdcdTc4NkVcdThCQTRcdTVCRjlcdTVFOTQgUHJvdmlkZXIgXHU1REYyXHU2QjYzXHU3ODZFXHU1Qjg5XHU4OEM1XHUzMDAyIjplPT09ImNvZGV4Ij8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IENvZGV4IFx1NEYxQVx1OEJERFx1RkYwQ1x1OEJGN1x1Nzg2RVx1OEJBNCBjb2RleCBcdTVERjJcdTZCNjNcdTc4NkVcdTVCODlcdTg4QzVcdTVFNzZcdTUzRUZcdTU3MjhcdTdFQzhcdTdBRUZcdTRFMkRcdTYyNjdcdTg4NENcdTMwMDIiOmU9PT0ib3BlbmNvZGUiPyJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggT3BlbkNvZGUgXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IG9wZW5jb2RlLWFpIFx1NURGMlx1NkI2M1x1Nzg2RVx1NUI4OVx1ODhDNVx1MzAwMiI6ZT09PSJncm9rIj8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IEdyb2sgXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IEdyb2sgQnVpbGQgQ0xJIFx1NURGMlx1NkI2M1x1Nzg2RVx1NUI4OVx1ODhDNVx1MzAwMiI6ZT09PSJxb2RlciI/Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBRb2RlciBcdTRGMUFcdThCRERcdUZGMENcdThCRjdcdTc4NkVcdThCQTQgQHFvZGVyLWFpL3FvZGVyY2xpIFx1NURGMlx1NkI2M1x1Nzg2RVx1NUI4OVx1ODhDNVx1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IENsYXVkZSBcdTVERjJcdTZCNjNcdTc4NkVcdTVCODlcdTg4QzVcdTMwMDIifWZ1bmN0aW9uIFN3KGUsdCl7cmV0dXJuIShlIGluc3RhbmNlb2YgRXJyb3IpfHwhZS5tZXNzYWdlfHxlLm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj90OmUubWVzc2FnZX12YXIgSEI9bmV3IFNldChbIkFycm93TGVmdCIsIkFycm93UmlnaHQiLCJBcnJvd1VwIiwiQXJyb3dEb3duIiwiSG9tZSIsIkVuZCJdKTtmdW5jdGlvbiBxQih7cmVwb3NpdG9yeTplPU1CfSl7Y29uc3QgdD0oMCxhbi51c2VTeW5jRXh0ZXJuYWxTdG9yZSkoX3Uuc3Vic2NyaWJlLF91LmdldFNuYXBzaG90LF91LmdldFNuYXBzaG90KSxbYSxpXT0oMCxhbi51c2VTdGF0ZSkobnVsbCksW28sY109KDAsYW4udXNlU3RhdGUpKG51bGwpLFtkLGZdPSgwLGFuLnVzZVN0YXRlKSghMSksW20saF09KDAsYW4udXNlU3RhdGUpKCExKSxbZyxiXT0oMCxhbi51c2VTdGF0ZSkoIiIpLFt5LENdPSgwLGFuLnVzZVN0YXRlKShbXSksW3cseF09KDAsYW4udXNlU3RhdGUpKCExKSxbRixBXT0oMCxhbi51c2VTdGF0ZSkoITEpLEQ9KDAsYW4udXNlUmVmKSh7fSksQj0oMCxhbi51c2VSZWYpKHt9KSxUPSgwLGFuLnVzZVJlZikoe30pOygwLGFuLnVzZUVmZmVjdCkoKCk9PntpZighdC5vcGVuKXJldHVybjtjb25zdCBIPW5ldyBBYm9ydENvbnRyb2xsZXIsdGU9X3UuZ2V0UnVudGltZSgpO3JldHVybiBmKCEwKSxoKCExKSxiKCIiKSxpKG51bGwpLGMobnVsbCksQyhbXSkseCghMSksQSghMSksZS5sb2FkKHtzaWduYWw6SC5zaWduYWx9KS50aGVuKEk9PntpZihILnNpZ25hbC5hYm9ydGVkKXJldHVybjtjb25zdCBVPXRlPy5nZXRDb250ZXh0KCk7aShJKSxjKHtwcm92aWRlcjpJLmNvbmZpZy5kZWZhdWx0UHJvdmlkZXIsa2luZDpJLmNvbmZpZy5kZWZhdWx0U2Vzc2lvbktpbmQsbW9kZTpmbChJLmNvbmZpZy5kZWZhdWx0UHJvdmlkZXIsSS5jb25maWcuZGVmYXVsdE1vZGUsSS5jb25maWcuZGVmYXVsdE1vZGUpLGN3ZDoiIix3b3JrdHJlZUVuYWJsZWQ6ITF9KSxVfHxiKCJcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdThGRDBcdTg4NENcdTczQUZcdTU4ODNcdTVDMUFcdTY3MkFcdTVDMzFcdTdFRUFcdUZGMENcdThCRjdcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDIiKX0pLmNhdGNoKEk9PntILnNpZ25hbC5hYm9ydGVkfHxiKFN3KEksIlx1NjVFMFx1NkNENVx1NTJBMFx1OEY3RFx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1OTE0RFx1N0Y2RVx1MzAwMiIpKX0pLmZpbmFsbHkoKCk9PntILnNpZ25hbC5hYm9ydGVkfHxmKCExKX0pLCgpPT5ILmFib3J0KCl9LFt0Lm9wZW4sdC5yZXZpc2lvbixlXSksKDAsYW4udXNlRWZmZWN0KSgoKT0+e2lmKCF0Lm9wZW58fCFvfHwhdylyZXR1cm47Y29uc3QgSD1uZXcgQWJvcnRDb250cm9sbGVyLHRlPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57ZS5zdWdnZXN0UGF0aHMoby5jd2Qse3NpZ25hbDpILnNpZ25hbH0pLnRoZW4oST0+e0guc2lnbmFsLmFib3J0ZWR8fEMoSSl9KS5jYXRjaCgoKT0+e0guc2lnbmFsLmFib3J0ZWR8fEMoW10pfSl9LDEyMCk7cmV0dXJuKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHRlKSxILmFib3J0KCl9fSxbdC5vcGVuLG8/LmN3ZCxlLHddKTtjb25zdCBrPSgwLGFuLnVzZUNhbGxiYWNrKShIPT57aWYoIWEpcmV0dXJuO2MoST0+SSYmey4uLkkscHJvdmlkZXI6SCxtb2RlOmZsKEgsSS5tb2RlLGEuY29uZmlnLmRlZmF1bHRNb2RlKX0pO2NvbnN0IHRlPW8/ZmwoSCxvLm1vZGUsYS5jb25maWcuZGVmYXVsdE1vZGUpOmZsKEgsYS5jb25maWcuZGVmYXVsdE1vZGUsYS5jb25maWcuZGVmYXVsdE1vZGUpO2Uuc2F2ZVByZWZlcmVuY2VzKHtkZWZhdWx0UHJvdmlkZXI6SCxkZWZhdWx0TW9kZTp0ZX0pLmNhdGNoKEk9PmNvbnNvbGUud2FybigiW3dhbmRdIEZhaWxlZCB0byBwZXJzaXN0IG5ldy1zZXNzaW9uIGRlZmF1bHRzIixJKSl9LFthLG8sZV0pLE09KDAsYW4udXNlQ2FsbGJhY2spKEg9PntjKHRlPT50ZSYmey4uLnRlLGtpbmQ6SH0pLEg9PT0icHR5IiYmQSghMCksZS5zYXZlUHJlZmVyZW5jZXMoe2RlZmF1bHRTZXNzaW9uS2luZDpIfSkuY2F0Y2godGU9PmNvbnNvbGUud2FybigiW3dhbmRdIEZhaWxlZCB0byBwZXJzaXN0IG5ldy1zZXNzaW9uIGRlZmF1bHRzIix0ZSkpfSxbZV0pLHo9KDAsYW4udXNlQ2FsbGJhY2spKEg9Pnshb3x8IV9tKG8ucHJvdmlkZXIpLmluY2x1ZGVzKEgpfHwoYyh0ZT0+dGUmJnsuLi50ZSxtb2RlOkh9KSxlLnNhdmVQcmVmZXJlbmNlcyh7ZGVmYXVsdE1vZGU6SH0pLmNhdGNoKHRlPT5jb25zb2xlLndhcm4oIlt3YW5kXSBGYWlsZWQgdG8gcGVyc2lzdCBuZXctc2Vzc2lvbiBkZWZhdWx0cyIsdGUpKSl9LFtvLGVdKSxPPSgwLGFuLnVzZU1lbW8pKCgpPT5vP19tKG8ucHJvdmlkZXIpOltdLFtvPy5wcm92aWRlcl0pLHJlPSgwLGFuLnVzZU1lbW8pKCgpPT5uZXcgU2V0KE8pLFtPXSksZWU9bz8uY3dkLnRyaW0oKXx8X3UuZ2V0UnVudGltZSgpPy5nZXRDb250ZXh0KCkuZWZmZWN0aXZlQ3dkfHxhPy5jb25maWcuZGVmYXVsdEN3ZHx8Ilx1NUY1M1x1NTI0RFx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSIsWj1vP0F3LmZpbmQoSD0+SC52YWx1ZT09PW8ubW9kZSk6dm9pZCAwO2Z1bmN0aW9uIHZlKEgsdGUsSSxVLFcpe2lmKCFIQi5oYXMoSC5rZXkpKXJldHVybjtILnByZXZlbnREZWZhdWx0KCk7Y29uc3QgWD1PQihJLHRlLEgua2V5KTtVKFgpLHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PlcuY3VycmVudFtYXT8uZm9jdXMoKSl9YXN5bmMgZnVuY3Rpb24gbWUoSCl7aWYoSC5wcmV2ZW50RGVmYXVsdCgpLCFvfHwhYXx8bSlyZXR1cm47Y29uc3QgdGU9X3UuZ2V0UnVudGltZSgpO2lmKCF0ZSl7YigiXHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU4RkQwXHU4ODRDXHU3M0FGXHU1ODgzXHU1QzFBXHU2NzJBXHU1QzMxXHU3RUVBXHVGRjBDXHU4QkY3XHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyXHU1NDBFXHU5MUNEXHU4QkQ1XHUzMDAyIik7cmV0dXJufVdhLnNldERpc21pc3NhYmxlKCExKSxoKCEwKSxiKCIiKTt0cnl7Y29uc3QgST1hd2FpdCB0ZS5wcmVwYXJlQ3JlYXRlKG8ua2luZCksVT1UQihvLGEuY29uZmlnLHRlLmdldENvbnRleHQoKSxJKTtlLnNhdmVQcmVmZXJlbmNlcyh7ZGVmYXVsdFByb3ZpZGVyOlUucHJvdmlkZXIsZGVmYXVsdFNlc3Npb25LaW5kOlUua2luZCxkZWZhdWx0TW9kZTpVLm1vZGV9KS5jYXRjaChYPT5jb25zb2xlLndhcm4oIlt3YW5kXSBGYWlsZWQgdG8gcGVyc2lzdCBuZXctc2Vzc2lvbiBkZWZhdWx0cyIsWCkpO2NvbnN0IFc9YXdhaXQgZS5jcmVhdGUoVSk7YXdhaXQgdGUuY29tcGxldGVDcmVhdGUoVSxXKSxXYS5jbG9zZSgpfWNhdGNoKEkpe2IoU3coSSx6QihvLnByb3ZpZGVyLG8ua2luZCkpKX1maW5hbGx5e1dhLnNldERpc21pc3NhYmxlKCEwKSxoKCExKX19cmV0dXJuKDAsU2UuanN4KShqcix7b3Blbjp0Lm9wZW4sb25PcGVuQ2hhbmdlOkg9PntIfHxXYS5jbG9zZSgpfSx0aXRsZToiXHU2NUIwXHU1QkY5XHU4QkREIixkZXNjcmlwdGlvbjoiXHU1NDJGXHU1MkE4IENsYXVkZVx1MzAwMUNvZGV4XHUzMDAxT3BlbkNvZGVcdTMwMDFHcm9rIFx1NjIxNiBRb2RlciBcdTRGMUFcdThCRERcdUZGMENcdTkwMDlcdTYyRTkgcHJvdmlkZXJcdTMwMDFcdTRGMUFcdThCRERcdTdDN0JcdTU3OEJcdTMwMDFcdTZBMjFcdTVGMEZcdTU0OENcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTMwMDIiLGNsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1kaWFsb2ciLG92ZXJsYXlDbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tb3ZlcmxheSIsdGl0bGVDbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tdGl0bGUiLGRlc2NyaXB0aW9uQ2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWRlc2NyaXB0aW9uIixoZWFkZXJDbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24taGVhZGVyIixjbG9zZUxhYmVsOiJcdTUxNzNcdTk1RURcdTY1QjBcdTVFRkFcdTRGMUFcdThCREQiLHRlc3RJZDoibmV3LXNlc3Npb24tZGlhbG9nIixkaXNtaXNzYWJsZTohbSxjaGlsZHJlbjpkPygwLFNlLmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1sb2FkaW5nIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOiJcdTZCNjNcdTU3MjhcdTUyQTBcdThGN0RcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTkxNERcdTdGNkVcdTIwMjYifSk6byYmYT8oMCxTZS5qc3hzKSgiZm9ybSIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1mb3JtIiwiYXJpYS1idXN5IjptLG9uU3VibWl0Okg9PnttZShIKX0sY2hpbGRyZW46WygwLFNlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tYm9keSIsY2hpbGRyZW46WygwLFNlLmpzeHMpKCJmaWVsZHNldCIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1maWVsZCB3YW5kLW5ldy1zZXNzaW9uLWZpZWxkc2V0IixjaGlsZHJlbjpbKDAsU2UuanN4KSgibGVnZW5kIix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWZpZWxkLWxhYmVsIixjaGlsZHJlbjoiUHJvdmlkZXIifSksKDAsU2UuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWNob2ljZXMiLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLWxhYmVsIjoiUHJvdmlkZXIiLGNoaWxkcmVuOk5tLm1hcChIPT4oMCxTZS5qc3hzKSgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixyb2xlOiJyYWRpbyIsImFyaWEtY2hlY2tlZCI6by5wcm92aWRlcj09PUgudmFsdWUsdGFiSW5kZXg6by5wcm92aWRlcj09PUgudmFsdWU/MDotMSxyZWY6dGU9PntELmN1cnJlbnRbSC52YWx1ZV09dGV9LGNsYXNzTmFtZTpgd2FuZC1uZXctc2Vzc2lvbi1jaG9pY2Ugd2FuZC1uZXctc2Vzc2lvbi1wcm92aWRlci1jaG9pY2Uke28ucHJvdmlkZXI9PT1ILnZhbHVlPyIgYWN0aXZlIjoiIn1gLGF1dG9Gb2N1czpvLnByb3ZpZGVyPT09SC52YWx1ZSwiZGF0YS13YW5kLWF1dG9mb2N1cyI6by5wcm92aWRlcj09PUgudmFsdWU/IiI6dm9pZCAwLG9uQ2xpY2s6KCk9PmsoSC52YWx1ZSksb25LZXlEb3duOnRlPT52ZSh0ZSxvLnByb3ZpZGVyLF9CLGssRCksY2hpbGRyZW46W0gudmFsdWU9PT0iZ3JvayImJigwLFNlLmpzeCkoUkIse30pLCgwLFNlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tY2hvaWNlLWxhYmVsIixjaGlsZHJlbjpILmxhYmVsfSksKDAsU2UuanN4KSgic3BhbiIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UtZGVzY3JpcHRpb24iLGNoaWxkcmVuOkguZGVzY3JpcHRpb259KV19LEgudmFsdWUpKX0pXX0pLCgwLFNlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tcHJpbWFyeS1ncmlkIixjaGlsZHJlbjpbKDAsU2UuanN4cykoImZpZWxkc2V0Iix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWZpZWxkIHdhbmQtbmV3LXNlc3Npb24tZmllbGRzZXQiLGNoaWxkcmVuOlsoMCxTZS5qc3gpKCJsZWdlbmQiLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tZmllbGQtbGFiZWwiLGNoaWxkcmVuOiJcdTRGMUFcdThCRERcdTdDN0JcdTU3OEIifSksKDAsU2UuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWNob2ljZXMiLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLWxhYmVsIjoiXHU0RjFBXHU4QkREXHU3QzdCXHU1NzhCIixjaGlsZHJlbjpEdy5tYXAoSD0+KDAsU2UuanN4cykoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIscm9sZToicmFkaW8iLCJhcmlhLWNoZWNrZWQiOm8ua2luZD09PUgudmFsdWUsdGFiSW5kZXg6by5raW5kPT09SC52YWx1ZT8wOi0xLHJlZjp0ZT0+e0IuY3VycmVudFtILnZhbHVlXT10ZX0sY2xhc3NOYW1lOmB3YW5kLW5ldy1zZXNzaW9uLWNob2ljZSB3YW5kLW5ldy1zZXNzaW9uLWtpbmQtY2hvaWNlJHtvLmtpbmQ9PT1ILnZhbHVlPyIgYWN0aXZlIjoiIn1gLG9uQ2xpY2s6KCk9Pk0oSC52YWx1ZSksb25LZXlEb3duOnRlPT52ZSh0ZSxvLmtpbmQsTkIsTSxCKSxjaGlsZHJlbjpbKDAsU2UuanN4KSgic3BhbiIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UtbGFiZWwiLGNoaWxkcmVuOkgubGFiZWx9KSwoMCxTZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWNob2ljZS1kZXNjcmlwdGlvbiIsY2hpbGRyZW46SC5kZXNjcmlwdGlvbn0pXX0sSC52YWx1ZSkpfSksKDAsU2UuanN4KSgicCIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1maWVsZC1oaW50IixjaGlsZHJlbjpJQihvLnByb3ZpZGVyLG8ua2luZCl9KV19KSwoMCxTZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWZpZWxkIixjaGlsZHJlbjpbKDAsU2UuanN4KSgibGFiZWwiLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tZmllbGQtbGFiZWwiLGh0bWxGb3I6IndhbmQtbmV3LXNlc3Npb24tY3dkIixjaGlsZHJlbjoiXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1In0pLCgwLFNlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tc3VnZ2VzdGlvbnMtd3JhcCIsY2hpbGRyZW46WygwLFNlLmpzeCkoImlucHV0Iix7aWQ6IndhbmQtbmV3LXNlc3Npb24tY3dkIixjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24taW5wdXQiLHR5cGU6InRleHQiLHZhbHVlOm8uY3dkLHBsYWNlaG9sZGVyOl91LmdldFJ1bnRpbWUoKT8uZ2V0Q29udGV4dCgpLmVmZmVjdGl2ZUN3ZHx8YS5jb25maWcuZGVmYXVsdEN3ZCxhdXRvQ29tcGxldGU6Im9mZiIsYXV0b0NvcnJlY3Q6Im9mZiIsYXV0b0NhcGl0YWxpemU6Im9mZiIsc3BlbGxDaGVjazohMSwiYXJpYS1pbnZhbGlkIjpnLmluY2x1ZGVzKCJcdTc2RUVcdTVGNTUiKXx8dm9pZCAwLCJhcmlhLWRlc2NyaWJlZGJ5Ijoid2FuZC1uZXctc2Vzc2lvbi1jd2QtaGludCIsb25Gb2N1czooKT0+eCghMCksb25DaGFuZ2U6SD0+Yyh7Li4ubyxjd2Q6SC5jdXJyZW50VGFyZ2V0LnZhbHVlfSksb25CbHVyOigpPT53aW5kb3cuc2V0VGltZW91dCgoKT0+eCghMSksMTIwKX0pLHcmJnkubGVuZ3RoPjA/KDAsU2UuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLXN1Z2dlc3Rpb25zIixyb2xlOiJsaXN0Ym94IiwiYXJpYS1sYWJlbCI6Ilx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1NUVGQVx1OEJBRSIsY2hpbGRyZW46eS5tYXAoSD0+KDAsU2UuanN4cykoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLXN1Z2dlc3Rpb24iLHJvbGU6Im9wdGlvbiIsImFyaWEtc2VsZWN0ZWQiOm8uY3dkPT09SC5wYXRoLG9uTW91c2VEb3duOnRlPT50ZS5wcmV2ZW50RGVmYXVsdCgpLG9uQ2xpY2s6KCk9PntjKHsuLi5vLGN3ZDpILnBhdGh9KSx4KCExKX0sY2hpbGRyZW46WygwLFNlLmpzeCkoInN0cm9uZyIse2NoaWxkcmVuOkgubmFtZX0pLCgwLFNlLmpzeCkoInNtYWxsIix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLXN1Z2dlc3Rpb24tcGF0aCIsY2hpbGRyZW46SC5wYXRofSldfSxILnBhdGgpKX0pOm51bGxdfSksKDAsU2UuanN4KSgicCIse2lkOiJ3YW5kLW5ldy1zZXNzaW9uLWN3ZC1oaW50IixjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tZmllbGQtaGludCIsY2hpbGRyZW46Ilx1NzU1OVx1N0E3QVx1NTIxOVx1NEY3Rlx1NzUyOFx1NUY1M1x1NTI0RFx1NzZFRVx1NUY1NVx1RkYwQ1x1NjUyRlx1NjMwMVx1OERFRlx1NUY4NFx1ODFFQVx1NTJBOFx1ODg2NVx1NTE2OFx1MzAwMiJ9KSxhLnJlY2VudFBhdGhzLmxlbmd0aD4wPygwLFNlLmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1yZWNlbnQtcGF0aHMiLCJhcmlhLWxhYmVsIjoiXHU2NzAwXHU4RkQxXHU0RjdGXHU3NTI4XHU3Njg0XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1IixjaGlsZHJlbjphLnJlY2VudFBhdGhzLm1hcChIPT4oMCxTZS5qc3gpKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgd2FuZC1uZXctc2Vzc2lvbi1yZWNlbnQtcGF0aCR7by5jd2Q9PT1ILnBhdGg/IiBhY3RpdmUiOiIifWAsdGl0bGU6SC5wYXRoLCJhcmlhLXByZXNzZWQiOm8uY3dkPT09SC5wYXRoLG9uQ2xpY2s6KCk9PmMoey4uLm8sY3dkOkgucGF0aH0pLGNoaWxkcmVuOigwLFNlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tcmVjZW50LXBhdGgtdmFsdWUiLGNoaWxkcmVuOkgucGF0aH0pfSxILnBhdGgpKX0pOm51bGxdfSldfSksKDAsU2UuanN4cykoInNlY3Rpb24iLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQiLCJhcmlhLWxhYmVsIjoiXHU5QUQ4XHU3RUE3XHU5MDA5XHU5ODc5IixjaGlsZHJlbjpbKDAsU2UuanN4cykoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWFkdmFuY2VkLXRyaWdnZXIiLCJhcmlhLWV4cGFuZGVkIjpGLCJhcmlhLWNvbnRyb2xzIjoid2FuZC1uZXctc2Vzc2lvbi1hZHZhbmNlZC1jb250ZW50IixvbkNsaWNrOigpPT5BKEg9PiFIKSxjaGlsZHJlbjpbKDAsU2UuanN4KSgic3BhbiIse2NoaWxkcmVuOiJcdTlBRDhcdTdFQTdcdTkwMDlcdTk4NzkifSksKDAsU2UuanN4cykoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQtc3VtbWFyeSIsY2hpbGRyZW46W1o/LmxhYmVsPz8iXHU2ODA3XHU1MUM2IiwiIFx4QjcgIixvLndvcmt0cmVlRW5hYmxlZD8iV29ya3RyZWUgXHU1REYyXHU1RjAwXHU1NDJGIjoiXHU0RTBEXHU0RjdGXHU3NTI4IFdvcmt0cmVlIl19KV19KSxGPygwLFNlLmpzeHMpKCJkaXYiLHtpZDoid2FuZC1uZXctc2Vzc2lvbi1hZHZhbmNlZC1jb250ZW50IixjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQtY29udGVudCIsY2hpbGRyZW46WygwLFNlLmpzeHMpKCJmaWVsZHNldCIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1maWVsZCB3YW5kLW5ldy1zZXNzaW9uLWZpZWxkc2V0IixjaGlsZHJlbjpbKDAsU2UuanN4KSgibGVnZW5kIix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWZpZWxkLWxhYmVsIixjaGlsZHJlbjoiXHU2QTIxXHU1RjBGIn0pLCgwLFNlLmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1jaG9pY2VzIHdhbmQtbmV3LXNlc3Npb24tbW9kZS1jaG9pY2VzIixyb2xlOiJyYWRpb2dyb3VwIiwiYXJpYS1sYWJlbCI6Ilx1NjI2N1x1ODg0Q1x1NkEyMVx1NUYwRiIsY2hpbGRyZW46QXcubWFwKEg9Pntjb25zdCB0ZT0hcmUuaGFzKEgudmFsdWUpO3JldHVybigwLFNlLmpzeHMpKCJidXR0b24iLHt0eXBlOiJidXR0b24iLHJvbGU6InJhZGlvIiwiYXJpYS1jaGVja2VkIjpvLm1vZGU9PT1ILnZhbHVlLCJhcmlhLWRpc2FibGVkIjp0ZSx0YWJJbmRleDpvLm1vZGU9PT1ILnZhbHVlPzA6LTEscmVmOkk9PntULmN1cnJlbnRbSC52YWx1ZV09SX0sZGlzYWJsZWQ6dGUsY2xhc3NOYW1lOmB3YW5kLW5ldy1zZXNzaW9uLWNob2ljZSR7by5tb2RlPT09SC52YWx1ZT8iIGFjdGl2ZSI6IiJ9JHt0ZT8iIGRpc2FibGVkIjoiIn1gLG9uQ2xpY2s6KCk9PnooSC52YWx1ZSksb25LZXlEb3duOkk9PnZlKEksby5tb2RlLE8seixUKSxjaGlsZHJlbjpbKDAsU2UuanN4KSgic3BhbiIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UtbGFiZWwiLGNoaWxkcmVuOkgubGFiZWx9KSwoMCxTZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLWNob2ljZS1kZXNjcmlwdGlvbiIsY2hpbGRyZW46SC5kZXNjcmlwdGlvbn0pXX0sSC52YWx1ZSl9KX0pLCgwLFNlLmpzeCkoInAiLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tZmllbGQtaGludCIsY2hpbGRyZW46TEIoby5wcm92aWRlcixvLm1vZGUpfSldfSksKDAsU2UuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi13b3JrdHJlZSIsY2hpbGRyZW46WygwLFNlLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsU2UuanN4KSgic3Ryb25nIix7Y2hpbGRyZW46Ildvcmt0cmVlIFx1NkEyMVx1NUYwRiJ9KSwoMCxTZS5qc3gpKCJzcGFuIix7Y2hpbGRyZW46Ilx1NEUzQVx1NjcyQ1x1NkIyMVx1NEYxQVx1OEJERFx1NTIxQlx1NUVGQVx1NzJFQ1x1N0FDQlx1NzY4NCBHaXQgd29ya3RyZWUgXHU0RTBFXHU1MjA2XHU2NTJGXHUzMDAyIn0pXX0pLCgwLFNlLmpzeCkoZ20se2lkOiJ3YW5kLW5ldy1zZXNzaW9uLXdvcmt0cmVlIixjaGVja2VkOm8ud29ya3RyZWVFbmFibGVkLGFyaWFMYWJlbDoiXHU1NDJGXHU3NTI4IFdvcmt0cmVlIFx1NkEyMVx1NUYwRiIsb25DaGVja2VkQ2hhbmdlOkg9PntjKHsuLi5vLHdvcmt0cmVlRW5hYmxlZDpIfSksSCYmQSghMCl9fSldfSldfSk6bnVsbF19KV19KSwoMCxTZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLW5ldy1zZXNzaW9uLXN1bW1hcnkiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNoaWxkcmVuOlsoMCxTZS5qc3gpKCJzcGFuIix7Y2hpbGRyZW46Ilx1NTM3M1x1NUMwNlx1NTQyRlx1NTJBOCJ9KSwoMCxTZS5qc3hzKSgic3Ryb25nIix7Y2hpbGRyZW46W05tLmZpbmQoSD0+SC52YWx1ZT09PW8ucHJvdmlkZXIpPy5sYWJlbCwiIFx4QjcgIixvLmtpbmQ9PT0ic3RydWN0dXJlZCI/Ilx1N0VEM1x1Njc4NFx1NTMxNiI6IlBUWSJdfSksKDAsU2UuanN4KSgic3BhbiIse3RpdGxlOmVlLGNoaWxkcmVuOmVlfSksKDAsU2UuanN4cykoInNwYW4iLHtjaGlsZHJlbjpbWj8ubGFiZWw/PyJcdTY4MDdcdTUxQzYiLG8ud29ya3RyZWVFbmFibGVkPyIgXHhCNyBXb3JrdHJlZSI6IiJdfSldfSksKDAsU2UuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1uZXctc2Vzc2lvbi1mb290ZXIiLGNoaWxkcmVuOlsoMCxTZS5qc3gpKEdlLHtraW5kOiJwcmltYXJ5IixzaXplOiJsYXJnZSIsdHlwZToic3VibWl0IixjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tc3VibWl0IixkaXNhYmxlZDptLGNoaWxkcmVuOm0/Ilx1NkI2M1x1NTcyOFx1NTQyRlx1NTJBOFx1MjAyNiI6Ilx1NTQyRlx1NTJBOFx1NEYxQVx1OEJERCJ9KSxnPygwLFNlLmpzeCkoInAiLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpnfSk6bnVsbF19KV19KTpnPygwLFNlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtbmV3LXNlc3Npb24tbG9hZC1lcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOlsoMCxTZS5qc3gpKCJwIix7Y2hpbGRyZW46Z30pLCgwLFNlLmpzeCkoR2Use2tpbmQ6InByaW1hcnkiLG9uQ2xpY2s6KCk9PldhLm9wZW4oKSxjaGlsZHJlbjoiXHU5MUNEXHU4QkQ1In0pXX0pOm51bGx9KX12YXIgS2E9bGUoQWUoKSwxKSxTaT1udWxsLE1uPXtvcGVuOiExLGRpc21pc3NhYmxlOiEwLGluaXRpYWxQYXRoOiIiLHJldmlzaW9uOjB9LHFkPW5ldyBTZXQ7ZnVuY3Rpb24gQncoZSx0PU1uLmluaXRpYWxQYXRoKXtNbj17b3BlbjplLGRpc21pc3NhYmxlOiEwLGluaXRpYWxQYXRoOnQscmV2aXNpb246TW4ucmV2aXNpb24rMX07Zm9yKGNvbnN0IGEgb2YgcWQpYSgpfWZ1bmN0aW9uIFBCKGUpe2lmKCEoIU1uLm9wZW58fE1uLmRpc21pc3NhYmxlPT09ZSkpe01uPXsuLi5NbixkaXNtaXNzYWJsZTplfTtmb3IoY29uc3QgdCBvZiBxZCl0KCl9fXZhciBsbj17b3BlbihlKXtpZighU2kpcmV0dXJuITE7Y29uc3QgdD0oZT8/U2kuZ2V0SW5pdGlhbFBhdGgoKSkudHJpbSgpO3JldHVybiB0PyhTaS5vbk9wZW4/LigpLEJ3KCEwLHQpLCEwKTohMX0sY2xvc2UoKXtNbi5vcGVuJiYoQncoITEpLFNpPy5vbkNsb3NlPy4oKSl9LGNsb3NlSWZPcGVuKCl7cmV0dXJuIU1uLm9wZW58fCFNbi5kaXNtaXNzYWJsZT8hMToodGhpcy5jbG9zZSgpLCEwKX0sY2xvc2VUb3Btb3N0KCl7cmV0dXJuIE1uLm9wZW4/KE1uLmRpc21pc3NhYmxlJiZ0aGlzLmNsb3NlKCksITApOiExfSxpc09wZW4oKXtyZXR1cm4gTW4ub3Blbn0sc2V0RGlzbWlzc2FibGUoZSl7UEIoZSl9LGFzeW5jIGNob29zZShlKXtjb25zdCB0PWUudHJpbSgpLGE9U2k7cmV0dXJuIU1uLm9wZW58fCFhfHwhdD8hMTooYXdhaXQgYS5hcHBseVNlbGVjdGlvbih0KSx0aGlzLmNsb3NlKCksITApfX0sUm09e3N1YnNjcmliZShlKXtyZXR1cm4gcWQuYWRkKGUpLCgpPT5xZC5kZWxldGUoZSl9LGdldFNuYXBzaG90KCl7cmV0dXJuIE1ufX07ZnVuY3Rpb24gVUIoZSl7cmV0dXJuIFNpPWUsKCk9PntTaT09PWUmJihNbi5vcGVuJiZsbi5jbG9zZSgpLFNpPW51bGwpfX1mdW5jdGlvbiBWQihlLHQsYSl7cmV0dXJuIHQ8PTA/LTE6YT09PSJIb21lIj8wOmE9PT0iRW5kIj90LTE6YT09PSJBcnJvd0Rvd24iP2U8MD8wOihlKzEpJXQ6ZTwwP3QtMTooZS0xK3QpJXR9ZnVuY3Rpb24gR0IoZSx0KXtyZXR1cm4gZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYiZXJyb3IiaW4gZSYmdHlwZW9mIGUuZXJyb3I9PSJzdHJpbmciJiZlLmVycm9yLnRyaW0oKT9lLmVycm9yOnR9ZnVuY3Rpb24gWUIoZSx0KXtpZighZXx8dHlwZW9mIGUhPSJvYmplY3QiKXRocm93IG5ldyBFcnJvcigiXHU3NkVFXHU1RjU1XHU2NzBEXHU1MkExXHU4RkQ0XHU1NkRFXHU0RTg2XHU2NUUwXHU2NTQ4XHU2NTcwXHU2MzZFXHUzMDAyIik7Y29uc3QgYT1lLGk9dHlwZW9mIGEuY3VycmVudFBhdGg9PSJzdHJpbmciJiZhLmN1cnJlbnRQYXRoLnRyaW0oKT9hLmN1cnJlbnRQYXRoOnQsbz1BcnJheS5pc0FycmF5KGEuaXRlbXMpP2EuaXRlbXM6W10sYz1bXTtmb3IoY29uc3QgZCBvZiBvKXtpZighZHx8dHlwZW9mIGQhPSJvYmplY3QiKWNvbnRpbnVlO2NvbnN0IGY9ZDt0eXBlb2YgZi5wYXRoIT0ic3RyaW5nInx8IWYucGF0aC50cmltKCl8fHR5cGVvZiBmLm5hbWUhPSJzdHJpbmcifHxmLnR5cGUhPT0icGFyZW50IiYmZi50eXBlIT09ImRpciJ8fGMucHVzaCh7cGF0aDpmLnBhdGgsbmFtZTpmLm5hbWUsdHlwZTpmLnR5cGV9KX1yZXR1cm57Y3VycmVudFBhdGg6aSxpdGVtczpjfX12YXIgV0I9Y2xhc3N7Y29uc3RydWN0b3IoZT0odCxhKT0+Z2xvYmFsVGhpcy5mZXRjaCh0LGEpKXtwdCh0aGlzLCJmZXRjaEltcGwiLGUpfWFzeW5jIGxpc3QoZSx0PXt9KXtjb25zdCBhPWUudHJpbSgpO2lmKCFhKXRocm93IG5ldyBFcnJvcigiXHU4QkY3XHU4RjkzXHU1MTY1XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1XHUzMDAyIik7Y29uc3QgaT1hd2FpdCB0aGlzLmZldGNoSW1wbChgL2FwaS9mb2xkZXJzP3E9JHtlbmNvZGVVUklDb21wb25lbnQoYSl9YCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixzaWduYWw6dC5zaWduYWx9KSxvPWF3YWl0IGkuanNvbigpLmNhdGNoKCgpPT5udWxsKTtpZighaS5vayl0aHJvdyBuZXcgRXJyb3IoR0IobywiXHU2NUUwXHU2Q0Q1XHU4QkZCXHU1M0Q2XHU4QkU1XHU3NkVFXHU1RjU1XHUzMDAyIikpO3JldHVybiBZQihvLGEpfX0sS0I9bmV3IFdCLFl0PWxlKHFlKCksMSksUUI9bmV3IFNldChbIkFycm93RG93biIsIkFycm93VXAiLCJIb21lIiwiRW5kIl0pO2Z1bmN0aW9uIEltKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRXJyb3ImJmUubWVzc2FnZT9lLm1lc3NhZ2U6Ilx1NjVFMFx1NkNENVx1OEJGQlx1NTNENlx1OEJFNVx1NzZFRVx1NUY1NVx1MzAwMiJ9ZnVuY3Rpb24gWEIoe3JlcG9zaXRvcnk6ZT1LQn0pe2NvbnN0IHQ9KDAsS2EudXNlU3luY0V4dGVybmFsU3RvcmUpKFJtLnN1YnNjcmliZSxSbS5nZXRTbmFwc2hvdCxSbS5nZXRTbmFwc2hvdCksW2EsaV09KDAsS2EudXNlU3RhdGUpKCIiKSxbbyxjXT0oMCxLYS51c2VTdGF0ZSkobnVsbCksW2QsZl09KDAsS2EudXNlU3RhdGUpKCExKSxbbSxoXT0oMCxLYS51c2VTdGF0ZSkoITEpLFtnLGJdPSgwLEthLnVzZVN0YXRlKSgiIiksW3ksQ109KDAsS2EudXNlU3RhdGUpKC0xKSx3PSgwLEthLnVzZVJlZikoW10pOygwLEthLnVzZUVmZmVjdCkoKCk9Pnt0Lm9wZW4mJihpKHQuaW5pdGlhbFBhdGgpLGMobnVsbCksZighMSksaCghMSksYigiIiksQygtMSkpfSxbdC5vcGVuLHQucmV2aXNpb24sdC5pbml0aWFsUGF0aF0pLCgwLEthLnVzZUVmZmVjdCkoKCk9PntpZighdC5vcGVuKXJldHVybjtjb25zdCBrPWEudHJpbSgpO2lmKCFrKXtjKG51bGwpLGYoITEpLGIoIlx1OEJGN1x1OEY5M1x1NTE2NVx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMiIpLEMoLTEpO3JldHVybn1jb25zdCBNPW5ldyBBYm9ydENvbnRyb2xsZXI7ZighMCksYigiIiksQygtMSk7Y29uc3Qgej13aW5kb3cuc2V0VGltZW91dCgoKT0+e2UubGlzdChrLHtzaWduYWw6TS5zaWduYWx9KS50aGVuKE89PntNLnNpZ25hbC5hYm9ydGVkfHwoYyhPKSxiKCIiKSl9KS5jYXRjaChPPT57TS5zaWduYWwuYWJvcnRlZHx8KGMobnVsbCksYihJbShPKSkpfSkuZmluYWxseSgoKT0+e00uc2lnbmFsLmFib3J0ZWR8fGYoITEpfSl9LDEyMCk7cmV0dXJuKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHopLE0uYWJvcnQoKX19LFt0Lm9wZW4sYSxlXSksKDAsS2EudXNlRWZmZWN0KSgoKT0+e3k8MHx8dy5jdXJyZW50W3ldPy5zY3JvbGxJbnRvVmlldyh7YmxvY2s6Im5lYXJlc3QifSl9LFt5XSk7ZnVuY3Rpb24geChrKXtpKGspLGMobnVsbCksYigiIiksQygtMSl9YXN5bmMgZnVuY3Rpb24gRihrKXtpZighbSl7bG4uc2V0RGlzbWlzc2FibGUoITEpLGgoITApLGIoIiIpO3RyeXthd2FpdCBsbi5jaG9vc2Uoayl8fGIoIlx1NjVFMFx1NkNENVx1NUU5NFx1NzUyOFx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1RkYwQ1x1OEJGN1x1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mlx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMiIpfWNhdGNoKE0pe2IoSW0oTSkpfWZpbmFsbHl7bG4uc2V0RGlzbWlzc2FibGUoITApLGgoITEpfX19ZnVuY3Rpb24gQShrKXtpZihrLnR5cGU9PT0icGFyZW50Iil7eChrLnBhdGgpO3JldHVybn1GKGsucGF0aCl9YXN5bmMgZnVuY3Rpb24gRChrKXtrLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgTT1hLnRyaW0oKTtpZighTXx8bSl7TXx8YigiXHU4QkY3XHU4RjkzXHU1MTY1XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1XHUzMDAyIik7cmV0dXJufWxuLnNldERpc21pc3NhYmxlKCExKSxoKCEwKSxiKCIiKTt0cnl7Y29uc3Qgej1hd2FpdCBlLmxpc3QoTSk7YXdhaXQgbG4uY2hvb3NlKHouY3VycmVudFBhdGgpfHxiKCJcdTY1RTBcdTZDRDVcdTVFOTRcdTc1MjhcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdUZGMENcdThCRjdcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDIiKX1jYXRjaCh6KXtiKEltKHopKX1maW5hbGx5e2xuLnNldERpc21pc3NhYmxlKCEwKSxoKCExKX19ZnVuY3Rpb24gQihrKXtpZihRQi5oYXMoay5rZXkpKXtrLnByZXZlbnREZWZhdWx0KCksQyh6PT5WQih6LG8/Lml0ZW1zLmxlbmd0aD8/MCxrLmtleSkpO3JldHVybn1pZihrLmtleSE9PSJFbnRlciJ8fHk8MClyZXR1cm47Y29uc3QgTT1vPy5pdGVtc1t5XTtNJiYoay5wcmV2ZW50RGVmYXVsdCgpLEEoTSkpfWNvbnN0IFQ9bz8uaXRlbXMuZmluZChrPT5rLnR5cGU9PT0icGFyZW50Iik/P251bGw7cmV0dXJuKDAsWXQuanN4KShqcix7b3Blbjp0Lm9wZW4sb25PcGVuQ2hhbmdlOms9PntrfHxsbi5jbG9zZSgpfSx0aXRsZToiXHU5MDA5XHU2MkU5XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1IixkZXNjcmlwdGlvbjoiXHU4RjkzXHU1MTY1XHU4REVGXHU1Rjg0XHU2MjE2XHU0RUNFXHU3NkVFXHU1RjU1XHU1RUZBXHU4QkFFXHU0RTJEXHU5MDA5XHU2MkU5XHVGRjBDXHU1NDBFXHU3RUVEXHU2NUIwXHU0RjFBXHU4QkREXHU0RjFBXHU0RUNFXHU4QkU1XHU3NkVFXHU1RjU1XHU1NDJGXHU1MkE4XHUzMDAyIixjbGFzc05hbWU6IndhbmQtZm9sZGVyLXBpY2tlci1kaWFsb2ciLG92ZXJsYXlDbGFzc05hbWU6IndhbmQtZm9sZGVyLXBpY2tlci1vdmVybGF5Iix0aXRsZUNsYXNzTmFtZToid2FuZC1mb2xkZXItcGlja2VyLXRpdGxlIixkZXNjcmlwdGlvbkNsYXNzTmFtZToid2FuZC1mb2xkZXItcGlja2VyLWRlc2NyaXB0aW9uIixoZWFkZXJDbGFzc05hbWU6IndhbmQtZm9sZGVyLXBpY2tlci1oZWFkZXIiLGNsb3NlTGFiZWw6Ilx1NTE3M1x1OTVFRFx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1OTAwOVx1NjJFOVx1NTY2OCIsdGVzdElkOiJmb2xkZXItcGlja2VyLWRpYWxvZyIsZGlzbWlzc2FibGU6IW0sY2hpbGRyZW46KDAsWXQuanN4cykoImZvcm0iLHtjbGFzc05hbWU6IndhbmQtZm9sZGVyLXBpY2tlci1mb3JtIiwiYXJpYS1idXN5IjpkfHxtLG9uU3VibWl0Oms9PntEKGspfSxjaGlsZHJlbjpbKDAsWXQuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1mb2xkZXItcGlja2VyLXF1aWNrIiwiYXJpYS1sYWJlbCI6Ilx1NUZFQlx1NjM3N1x1NzZFRVx1NUY1NSIsY2hpbGRyZW46WygwLFl0LmpzeCkoR2Use3NpemU6InNtYWxsIixvbkNsaWNrOigpPT54KCIvdG1wIiksY2hpbGRyZW46Ilx1NEUzNFx1NjVGNlx1NzZFRVx1NUY1NSAvdG1wIn0pLCgwLFl0LmpzeCkoR2Use3NpemU6InNtYWxsIixvbkNsaWNrOigpPT54KCIvIiksY2hpbGRyZW46Ilx1NjgzOVx1NzZFRVx1NUY1NSAvIn0pLCgwLFl0LmpzeCkoR2Use3NpemU6InNtYWxsIixkaXNhYmxlZDohVHx8ZCxvbkNsaWNrOigpPT57VCYmeChULnBhdGgpfSxjaGlsZHJlbjoiXHU4RkQ0XHU1NkRFXHU0RTBBXHU3RUE3In0pXX0pLCgwLFl0LmpzeHMpKCJsYWJlbCIse2NsYXNzTmFtZToid2FuZC1mb2xkZXItcGlja2VyLWZpZWxkIixodG1sRm9yOiJ3YW5kLWZvbGRlci1waWNrZXItaW5wdXQiLGNoaWxkcmVuOlsoMCxZdC5qc3gpKCJzcGFuIix7Y2hpbGRyZW46Ilx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSJ9KSwoMCxZdC5qc3gpKCJpbnB1dCIse2lkOiJ3YW5kLWZvbGRlci1waWNrZXItaW5wdXQiLGNsYXNzTmFtZToid2FuZC1mb2xkZXItcGlja2VyLWlucHV0IiwiZGF0YS13YW5kLWF1dG9mb2N1cyI6ITAsYXV0b0ZvY3VzOiEwLGF1dG9Db21wbGV0ZToib2ZmIixhdXRvQ29ycmVjdDoib2ZmIixhdXRvQ2FwaXRhbGl6ZToib2ZmIixzcGVsbENoZWNrOiExLCJhcmlhLWludmFsaWQiOmc/InRydWUiOiJmYWxzZSIsImFyaWEtY29udHJvbHMiOiJ3YW5kLWZvbGRlci1waWNrZXItb3B0aW9ucyIsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6eT49MD9gd2FuZC1mb2xkZXItcGlja2VyLW9wdGlvbi0ke3l9YDp2b2lkIDAsdmFsdWU6YSxvbkNoYW5nZTprPT5pKGsuY3VycmVudFRhcmdldC52YWx1ZSksb25LZXlEb3duOkJ9KV19KSwoMCxZdC5qc3gpKCJkaXYiLHtpZDoid2FuZC1mb2xkZXItcGlja2VyLW9wdGlvbnMiLGNsYXNzTmFtZToid2FuZC1mb2xkZXItcGlja2VyLW9wdGlvbnMiLHJvbGU6Imxpc3Rib3giLCJhcmlhLWxhYmVsIjoiXHU3NkVFXHU1RjU1XHU1RUZBXHU4QkFFIixjaGlsZHJlbjpkPygwLFl0LmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1mb2xkZXItcGlja2VyLXN0YXRlIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOiJcdTZCNjNcdTU3MjhcdTUyQTBcdThGN0RcdTc2RUVcdTVGNTVcdTIwMjYifSk6byYmby5pdGVtcy5sZW5ndGg+MD9vLml0ZW1zLm1hcCgoayxNKT0+KDAsWXQuanN4cykoImJ1dHRvbiIse3JlZjp6PT57dy5jdXJyZW50W01dPXp9LGlkOmB3YW5kLWZvbGRlci1waWNrZXItb3B0aW9uLSR7TX1gLHR5cGU6ImJ1dHRvbiIscm9sZToib3B0aW9uIiwiYXJpYS1zZWxlY3RlZCI6eT09PU0sY2xhc3NOYW1lOmB3YW5kLWZvbGRlci1waWNrZXItb3B0aW9uJHt5PT09TT8iIGFjdGl2ZSI6IiJ9YCxvbk1vdXNlRW50ZXI6KCk9PkMoTSksb25DbGljazooKT0+QShrKSxjaGlsZHJlbjpbKDAsWXQuanN4KSgic3BhbiIseyJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOmsudHlwZT09PSJwYXJlbnQiPyJcdTIxQTkiOiJcdTI1QjgifSksKDAsWXQuanN4KSgic3BhbiIse2NoaWxkcmVuOmsudHlwZT09PSJwYXJlbnQiPyIuLlx1RkYwOFx1OEZENFx1NTZERVx1NEUwQVx1N0VBN1x1NzZFRVx1NUY1NVx1RkYwOSI6ay5uYW1lfSksKDAsWXQuanN4KSgiY29kZSIse2NoaWxkcmVuOmsucGF0aH0pXX0sYCR7ay50eXBlfToke2sucGF0aH1gKSk6Zz9udWxsOigwLFl0LmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1mb2xkZXItcGlja2VyLXN0YXRlIixjaGlsZHJlbjoiXHU1RjUzXHU1MjREXHU3NkVFXHU1RjU1XHU2Q0ExXHU2NzA5XHU1QjUwXHU3NkVFXHU1RjU1XHUzMDAyIn0pfSksZz8oMCxZdC5qc3gpKCJwIix7Y2xhc3NOYW1lOiJ3YW5kLWZvbGRlci1waWNrZXItZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpnfSk6bnVsbCwoMCxZdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLWZvbGRlci1waWNrZXItZm9vdGVyIixjaGlsZHJlbjpbKDAsWXQuanN4KSgic3BhbiIse2NoaWxkcmVuOm8/LmN1cnJlbnRQYXRoPz9hfSksKDAsWXQuanN4KShHZSx7a2luZDoicHJpbWFyeSIsdHlwZToic3VibWl0IixkaXNhYmxlZDpkfHxtfHwhYS50cmltKCksY2hpbGRyZW46bT8iXHU2QjYzXHU1NzI4XHU1RTk0XHU3NTI4XHUyMDI2IjoiXHU0RjdGXHU3NTI4XHU2QjY0XHU3NkVFXHU1RjU1In0pXX0pXX0pfSl9dmFyIHluPWxlKEFlKCksMSksTnU9bnVsbCxjbj17b3BlbjohMSxkaXNtaXNzYWJsZTohMCxjb250ZXh0Om51bGwscmV2aXNpb246MH0sUGQ9bmV3IFNldDtmdW5jdGlvbiBrdyhlLHQpe2NuPXtvcGVuOmUsZGlzbWlzc2FibGU6ITAsY29udGV4dDp0LHJldmlzaW9uOmNuLnJldmlzaW9uKzF9O2Zvcihjb25zdCBhIG9mIFBkKWEoKX1mdW5jdGlvbiAkQihlKXtpZighKCFjbi5vcGVufHxjbi5kaXNtaXNzYWJsZT09PWUpKXtjbj17Li4uY24sZGlzbWlzc2FibGU6ZX07Zm9yKGNvbnN0IHQgb2YgUGQpdCgpfX12YXIgTG49e29wZW4oZSl7Y29uc3QgdD1lLnNlc3Npb25JZC50cmltKCk7aWYoIU51fHwhdClyZXR1cm4hMTtpZihjbi5vcGVuJiZjbi5jb250ZXh0Py5zZXNzaW9uSWQ9PT10KXJldHVybiEwO2NvbnN0IGE9e3Nlc3Npb25JZDp0fTtyZXR1cm4gTnUub25PcGVuKGEpLGt3KCEwLGEpLCEwfSxjbG9zZSgpe2lmKCFjbi5vcGVufHwhY24uY29udGV4dClyZXR1cm47Y29uc3QgZT1jbi5jb250ZXh0O2t3KCExLG51bGwpLE51Py5vbkNsb3NlKGUpfSxjbG9zZUlmT3Blbigpe3JldHVybiFjbi5vcGVufHwhY24uZGlzbWlzc2FibGU/ITE6KHRoaXMuY2xvc2UoKSwhMCl9LGNsb3NlVG9wbW9zdCgpe3JldHVybiBjbi5vcGVuPyhjbi5kaXNtaXNzYWJsZSYmdGhpcy5jbG9zZSgpLCEwKTohMX0saXNPcGVuKCl7cmV0dXJuIGNuLm9wZW59LHNldERpc21pc3NhYmxlKGUpeyRCKGUpfX0sRWE9e3N1YnNjcmliZShlKXtyZXR1cm4gUGQuYWRkKGUpLCgpPT5QZC5kZWxldGUoZSl9LGdldFNuYXBzaG90KCl7cmV0dXJuIGNufSxnZXRSdW50aW1lKCl7cmV0dXJuIE51fX07ZnVuY3Rpb24gWkIoZSl7cmV0dXJuIE51PWUsKCk9PntOdT09PWUmJihjbi5vcGVuJiZMbi5jbG9zZSgpLE51PW51bGwpfX12YXIgTG09e2NvbW1pdDp7YWN0aW9uOiJjb21taXQiLGxhYmVsOiJDb21taXQiLHZlcmI6Ilx1NEVDNVx1NjNEMFx1NEVBNCIsd2l0aFRhZzohMSxwdXNoOiExfSwiY29tbWl0LXRhZyI6e2FjdGlvbjoiY29tbWl0LXRhZyIsbGFiZWw6IkNvbW1pdCArIFRhZyIsdmVyYjoiXHU2M0QwXHU0RUE0XHU1RTc2XHU2MjUzIFRhZyIsd2l0aFRhZzohMCxwdXNoOiExfSwiY29tbWl0LXB1c2giOnthY3Rpb246ImNvbW1pdC1wdXNoIixsYWJlbDoiQ29tbWl0ICsgUHVzaCIsdmVyYjoiXHU2M0QwXHU0RUE0XHU1RTc2XHU2M0E4XHU5MDAxIix3aXRoVGFnOiExLHB1c2g6ITB9LCJjb21taXQtdGFnLXB1c2giOnthY3Rpb246ImNvbW1pdC10YWctcHVzaCIsbGFiZWw6IkNvbW1pdCArIFRhZyArIFB1c2giLHZlcmI6Ilx1NjNEMFx1NEVBNFx1MzAwMVx1NjI1MyBUYWcgXHU1RTc2XHU2M0E4XHU5MDAxIix3aXRoVGFnOiEwLHB1c2g6ITB9fSxKQj1PYmplY3QudmFsdWVzKExtKTtmdW5jdGlvbiBlayhlKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciJiZlIGluIExtP2U6ImNvbW1pdCJ9ZnVuY3Rpb24gVHcoZSl7cmV0dXJuIExtW2VrKGUpXX1mdW5jdGlvbiB0ayhlLHQsYSl7Y29uc3QgaT1Udyh0KSxvPWUubWVzc2FnZS50cmltKCksYz1pLndpdGhUYWc/ZS50YWcudHJpbSgpOiIiO3JldHVybnthdXRvTWVzc2FnZTohbyxjdXN0b21NZXNzYWdlOm8sdGFnOmMsYXV0b1RhZzppLndpdGhUYWcmJiFjLHB1c2g6aS5wdXNoLHN1Ym1vZHVsZTphfX1mdW5jdGlvbiBVZChlKXtyZXR1cm4hIWUmJmUuaXNHaXQmJmUubW9kaWZpZWRDb3VudD4wfWZ1bmN0aW9uIG5rKGUsdCxhLGksbyl7cmV0dXJue2FjdGlvbjplLGluY2x1ZGVTdWJtb2R1bGU6dCxwdXNoZWQ6by5wdXNoZWQscHVzaEVycm9yOm8ucHVzaEVycm9yLGNvbW1pdEhhc2g6by5jb21taXQ/Lmhhc2guc2xpY2UoMCw3KT8/IiIsY29tbWl0TWVzc2FnZTpvLmNvbW1pdD8ubWVzc2FnZXx8YS5tZXNzYWdlLnRyaW0oKSx0YWdOYW1lOm8udGFnPy5uYW1lPz8iIixvbGRUYWc6aS5sYXRlc3RUYWcsb2xkQ29tbWl0SGFzaDppLmxhc3RDb21taXQ/LnNob3J0SGFzaHx8aS5oZWFkLnNsaWNlKDAsNyksb2xkQ29tbWl0U3ViamVjdDppLmxhc3RDb21taXQ/LnN1YmplY3Q/PyIiLHN1Ym1vZHVsZUNvdW50Om8uc3VibW9kdWxlQ29tbWl0cy5sZW5ndGh9fWZ1bmN0aW9uIGFrKGUpe2NvbnN0IHQ9ZS50cmltKCk7aWYodD09PSI/PyIpcmV0dXJue2xldHRlcjoiVSIsdG9uZToidW50cmFja2VkIixsYWJlbDoiXHU2NzJBXHU4RERGXHU4RTJBIn07aWYodD09PSIhISIpcmV0dXJue2xldHRlcjoiSSIsdG9uZToiaWdub3JlZCIsbGFiZWw6Ilx1NURGMlx1NUZGRFx1NzU2NSJ9O2NvbnN0IGE9Wy4uLmVdLmZpbmQobz0+byE9PSIuIiYmbyE9PSIgIik/LnRvVXBwZXJDYXNlKCl8fHRbMF0/LnRvVXBwZXJDYXNlKCl8fCI/IjtyZXR1cm57bGV0dGVyOmEsLi4ue0E6e3RvbmU6ImFkZGVkIixsYWJlbDoiXHU2NUIwXHU1ODlFIn0sTTp7dG9uZToibW9kaWZpZWQiLGxhYmVsOiJcdTRGRUVcdTY1MzkifSxEOnt0b25lOiJkZWxldGVkIixsYWJlbDoiXHU1MjIwXHU5NjY0In0sUjp7dG9uZToicmVuYW1lZCIsbGFiZWw6Ilx1OTFDRFx1NTQ3RFx1NTQwRCJ9LEM6e3RvbmU6InJlbmFtZWQiLGxhYmVsOiJcdTU5MERcdTUyMzYifSxUOnt0b25lOiJtb2RpZmllZCIsbGFiZWw6Ilx1N0M3Qlx1NTc4Qlx1NTNEOFx1NjZGNCJ9LFU6e3RvbmU6ImRlbGV0ZWQiLGxhYmVsOiJcdTUxQjJcdTdBODEifX1bYV0/P3t0b25lOiJvdGhlciIsbGFiZWw6Ilx1NURGMlx1NjZGNFx1NjUzOSJ9fX1mdW5jdGlvbiBCaShlKXtyZXR1cm4hIWUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gc2EoZSx0PSIiKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2U6dH1mdW5jdGlvbiB6bShlLHQ9MCl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGUpP2U6dH1hc3luYyBmdW5jdGlvbiBWZChlLHQpe2xldCBhO3RyeXthPWF3YWl0IGUuanNvbigpfWNhdGNoe3Rocm93IG5ldyBFcnJvcihgJHt0fSAoSFRUUCAke2Uuc3RhdHVzfSlgKX1jb25zdCBpPUJpKGEpP2E6e307aWYoIWUub2spdGhyb3cgbmV3IEVycm9yKHNhKGkuZXJyb3IsYCR7dH0gKEhUVFAgJHtlLnN0YXR1c30pYCkpO3JldHVybiBpfWZ1bmN0aW9uIHJrKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UuZmxhdE1hcCh0PT57aWYoIUJpKHQpfHx0eXBlb2YgdC5wYXRoIT0ic3RyaW5nIilyZXR1cm5bXTtjb25zdCBhPUJpKHQuc3VibW9kdWxlU3RhdGUpP3Quc3VibW9kdWxlU3RhdGU6bnVsbDtyZXR1cm5be3BhdGg6dC5wYXRoLHN0YXR1czpzYSh0LnN0YXR1cyksaXNTdWJtb2R1bGU6dC5pc1N1Ym1vZHVsZT09PSEwLHN1Ym1vZHVsZVN0YXRlOmE/e2NvbW1pdENoYW5nZWQ6YS5jb21taXRDaGFuZ2VkPT09ITAsaGFzVHJhY2tlZENoYW5nZXM6YS5oYXNUcmFja2VkQ2hhbmdlcz09PSEwLGhhc1VudHJhY2tlZDphLmhhc1VudHJhY2tlZD09PSEwfTp2b2lkIDB9XX0pOltdfWZ1bmN0aW9uIGlrKGUpe2NvbnN0IHQ9QmkoZSk/ZTp7fSxhPXJrKHQuZmlsZXMpLGk9QmkodC5sYXN0Q29tbWl0KT90Lmxhc3RDb21taXQ6bnVsbCxvPWk/e2hhc2g6c2EoaS5oYXNoKSxzaG9ydEhhc2g6c2EoaS5zaG9ydEhhc2gpLHN1YmplY3Q6c2EoaS5zdWJqZWN0KX06dm9pZCAwO3JldHVybntpc0dpdDp0LmlzR2l0PT09ITAsYnJhbmNoOnNhKHQuYnJhbmNoKSxtb2RpZmllZENvdW50Ok1hdGgubWF4KDAsem0odC5tb2RpZmllZENvdW50LGEubGVuZ3RoKSksZmlsZXM6YSxoZWFkOnNhKHQuaGVhZCksYWhlYWQ6TWF0aC5tYXgoMCx6bSh0LmFoZWFkKSksYmVoaW5kOk1hdGgubWF4KDAsem0odC5iZWhpbmQpKSxsYXN0Q29tbWl0Om8sbGF0ZXN0VGFnOnNhKHQubGF0ZXN0VGFnKSxoYXNTdWJtb2R1bGU6dC5oYXNTdWJtb2R1bGU9PT0hMHx8YS5zb21lKGM9PmMuaXNTdWJtb2R1bGUpLGVycm9yOnR5cGVvZiB0LmVycm9yPT0ic3RyaW5nIj90LmVycm9yOnZvaWQgMH19dmFyIHVrPWNsYXNze2NvbnN0cnVjdG9yKGU9KHQsYSk9PmZldGNoKHQsYSkpe3B0KHRoaXMsImZldGNoSW1wbCIsZSl9YXN5bmMgbG9hZFN0YXR1cyhlLHQ9e30pe2NvbnN0IGE9YXdhaXQgdGhpcy5mZXRjaEltcGwoYC9hcGkvc2Vzc2lvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoZSl9L2dpdC1zdGF0dXNgLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLHNpZ25hbDp0LnNpZ25hbH0pO3JldHVybiBpayhhd2FpdCBWZChhLCJcdTY1RTBcdTZDRDVcdTUyQTBcdThGN0QgR2l0IFx1NzJCNlx1NjAwMVx1MzAwMiIpKX1hc3luYyBnZW5lcmF0ZShlLHQ9e30pe2NvbnN0IGE9YXdhaXQgdGhpcy5mZXRjaEltcGwoYC9hcGkvc2Vzc2lvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoZSl9L2dlbmVyYXRlLWNvbW1pdC1tZXNzYWdlYCx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keToie30iLHNpZ25hbDp0LnNpZ25hbH0pLGk9YXdhaXQgVmQoYSwiQUkgXHU3NTFGXHU2MjEwXHU1OTMxXHU4RDI1XHUzMDAyIik7cmV0dXJue21lc3NhZ2U6c2EoaS5tZXNzYWdlKSxzdWdnZXN0ZWRUYWc6c2EoaS5zdWdnZXN0ZWRUYWcpLnRyaW0oKX19YXN5bmMgY29tbWl0KGUsdCl7Y29uc3QgYT1hd2FpdCB0aGlzLmZldGNoSW1wbChgL2FwaS9zZXNzaW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlKX0vcXVpY2stY29tbWl0YCx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pLGk9YXdhaXQgVmQoYSwiXHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0XHU1OTMxXHU4RDI1XHUzMDAyIiksbz1CaShpLmNvbW1pdCkmJnR5cGVvZiBpLmNvbW1pdC5oYXNoPT0ic3RyaW5nIj97aGFzaDppLmNvbW1pdC5oYXNoLG1lc3NhZ2U6c2EoaS5jb21taXQubWVzc2FnZSl9OnZvaWQgMCxjPUJpKGkudGFnKSYmdHlwZW9mIGkudGFnLm5hbWU9PSJzdHJpbmciP3tuYW1lOmkudGFnLm5hbWV9OnZvaWQgMCxkPUFycmF5LmlzQXJyYXkoaS5zdWJtb2R1bGVDb21taXRzKT9pLnN1Ym1vZHVsZUNvbW1pdHMuZmxhdE1hcChmPT5CaShmKSYmdHlwZW9mIGYucGF0aD09InN0cmluZyImJnR5cGVvZiBmLmhhc2g9PSJzdHJpbmciP1t7cGF0aDpmLnBhdGgsaGFzaDpmLmhhc2h9XTpbXSk6W107cmV0dXJue29rOmkub2shPT0hMSxjb21taXQ6byx0YWc6YyxwdXNoZWQ6aS5wdXNoZWQ9PT0hMCxwdXNoRXJyb3I6c2EoaS5wdXNoRXJyb3IpLHN1Ym1vZHVsZUNvbW1pdHM6ZH19YXN5bmMgcHVzaChlLHQpe2NvbnN0IGE9YXdhaXQgdGhpcy5mZXRjaEltcGwoYC9hcGkvc2Vzc2lvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoZSl9L2dpdC9wdXNoYCx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pLGk9YXdhaXQgVmQoYSwiXHU2M0E4XHU5MDAxXHU1OTMxXHU4RDI1XHUzMDAyIik7cmV0dXJue29rOmkub2shPT0hMSxwdXNoZWRDb21taXRzOmkucHVzaGVkQ29tbWl0cz09PSEwLHB1c2hlZFRhZ3M6aS5wdXNoZWRUYWdzPT09ITAsZXJyb3I6c2EoaS5lcnJvcil9fX0sb2s9bmV3IHVrLGJlPWxlKHFlKCksMSksanc9e21lc3NhZ2U6IiIsdGFnOiIiLHRhZ0VkaXRlZDohMX07ZnVuY3Rpb24gR2QoZSx0KXtyZXR1cm4hKGUgaW5zdGFuY2VvZiBFcnJvcil8fCFlLm1lc3NhZ2V8fGUubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giP3Q6ZS5tZXNzYWdlfWZ1bmN0aW9uIHNrKGUpe2lmKCFlKXJldHVybiJcdTUyQTBcdThGN0QgR2l0IFx1NzJCNlx1NjAwMVx1NUU3Nlx1NTFDNlx1NTkwN1x1NjNEMFx1NEVBNFx1MzAwMiI7Y29uc3QgdD1bZS5icmFuY2h8fCIobm8gYnJhbmNoKSIsZS5tb2RpZmllZENvdW50PjA/YCR7ZS5tb2RpZmllZENvdW50fSBcdTRFMkFcdTY1MzlcdTUyQThgOiJcdTVERTVcdTRGNUNcdTUzM0FcdTVFNzJcdTUxQzAiXTtyZXR1cm4gZS5haGVhZD4wJiZ0LnB1c2goYFx1MjE5MSR7ZS5haGVhZH1gKSxlLmJlaGluZD4wJiZ0LnB1c2goYFx1MjE5MyR7ZS5iZWhpbmR9YCksdC5qb2luKCIgXHhCNyAiKX1mdW5jdGlvbiBsayhlKXtjb25zdCB0PWUuc3VibW9kdWxlQ291bnQ+MD9gXHU1REYyXHU1MTQ4XHU2M0QwXHU0RUE0ICR7ZS5zdWJtb2R1bGVDb3VudH0gXHU0RTJBIHN1Ym1vZHVsZVx1RkYwQ2A6IiIsYT1lLmNvbW1pdEhhc2g/YCAke2UuY29tbWl0SGFzaH1gOiIiLGk9ZS50YWdOYW1lP2BcdUZGMENcdTVERjJcdTYyNTMgVGFnICR7ZS50YWdOYW1lfWA6IiI7cmV0dXJuYCR7dH1cdTVERjJcdTYzRDBcdTRFQTQke2F9JHtpfWB9ZnVuY3Rpb24gTXcoe2hhc2g6ZSxzdWJqZWN0OnQsZW1wdHk6YX0pe3JldHVybiBlPygwLGJlLmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXF1aWNrLXZhbHVlLXN0YWNrIixjaGlsZHJlbjpbKDAsYmUuanN4KSgiY29kZSIse2NoaWxkcmVuOmV9KSx0PygwLGJlLmpzeCkoInNwYW4iLHtjaGlsZHJlbjp0fSk6bnVsbF19KTooMCxiZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXF1aWNrLW11dGVkIixjaGlsZHJlbjphfSl9ZnVuY3Rpb24gT3coe2xhYmVsOmUsYmVmb3JlOnQsYWZ0ZXI6YX0pe3JldHVybigwLGJlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stcmVzdWx0LXBhaXIiLGNoaWxkcmVuOlsoMCxiZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXF1aWNrLXJlc3VsdC1sYWJlbCIsY2hpbGRyZW46ZX0pLCgwLGJlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stcmVzdWx0LWZsb3ciLGNoaWxkcmVuOlsoMCxiZS5qc3gpKCJkaXYiLHtjaGlsZHJlbjp0fSksKDAsYmUuanN4KSgic3BhbiIseyJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOiJcdTIxOTIifSksKDAsYmUuanN4KSgiZGl2Iix7Y2hpbGRyZW46YX0pXX0pXX0pfWZ1bmN0aW9uIGNrKHtzdGF0dXM6ZX0pe3JldHVybigwLGJlLmpzeHMpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJ3YW5kLXF1aWNrLWZpbGVzIiwiYXJpYS1sYWJlbGxlZGJ5Ijoid2FuZC1xdWljay1maWxlcy10aXRsZSIsY2hpbGRyZW46WygwLGJlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stc2VjdGlvbi1oZWFkaW5nIixjaGlsZHJlbjpbKDAsYmUuanN4KSgiaDMiLHtpZDoid2FuZC1xdWljay1maWxlcy10aXRsZSIsY2hpbGRyZW46Ilx1NjUzOVx1NTJBOFx1NjU4N1x1NEVGNiJ9KSwoMCxiZS5qc3gpKCJzcGFuIix7Y2hpbGRyZW46ZS5tb2RpZmllZENvdW50fSldfSksZS5maWxlcy5sZW5ndGg+MD8oMCxiZS5qc3gpKCJ1bCIse2NsYXNzTmFtZToid2FuZC1xdWljay1maWxlLWxpc3QiLGNoaWxkcmVuOmUuZmlsZXMubWFwKCh0LGEpPT57Y29uc3QgaT1hayh0LnN0YXR1cyksbz10LnN1Ym1vZHVsZVN0YXRlP1t0LnN1Ym1vZHVsZVN0YXRlLmNvbW1pdENoYW5nZWQ/Ilx1NjVCMFx1NjMwN1x1OTQ4OCI6IiIsdC5zdWJtb2R1bGVTdGF0ZS5oYXNUcmFja2VkQ2hhbmdlcz8iZGlydHkiOiIiLHQuc3VibW9kdWxlU3RhdGUuaGFzVW50cmFja2VkPyJcdTY3MkFcdThEREZcdThFMkEiOiIiXS5maWx0ZXIoQm9vbGVhbik6W107cmV0dXJuKDAsYmUuanN4cykoImxpIix7dGl0bGU6dC5wYXRoLGNoaWxkcmVuOlsoMCxiZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOmB3YW5kLXF1aWNrLWZpbGUtYmFkZ2Ugd2FuZC1xdWljay1maWxlLWJhZGdlLSR7aS50b25lfWAsdGl0bGU6aS5sYWJlbCwiYXJpYS1sYWJlbCI6aS5sYWJlbCxjaGlsZHJlbjppLmxldHRlcn0pLCgwLGJlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtcXVpY2stZmlsZS1wYXRoIixjaGlsZHJlbjp0LnBhdGh9KSx0LmlzU3VibW9kdWxlPygwLGJlLmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXF1aWNrLXN1Ym1vZHVsZS1iYWRnZSIsY2hpbGRyZW46WyJzdWJtb2R1bGUiLG8ubGVuZ3RoP2AgXHhCNyAke28uam9pbigiIC8gIil9YDoiIl19KTpudWxsXX0sYCR7dC5wYXRofS0ke2F9YCl9KX0pOigwLGJlLmpzeCkoInAiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stZW1wdHkiLGNoaWxkcmVuOiJcdTZDQTFcdTY3MDlcdTUzRUZcdTYzRDBcdTRFQTRcdTc2ODRcdTY1MzlcdTUyQThcdTMwMDIifSldfSl9ZnVuY3Rpb24gZGsoe3N0YXR1czplfSl7Y29uc3QgdD1lLm1vZGlmaWVkQ291bnQ+MCxhPWUuYWhlYWQ+MCxpPXQ/ImFjY2VudCI6InN1Y2Nlc3MiLG89dD9gJHtlLm1vZGlmaWVkQ291bnR9IFx1NEUyQVx1NjUzOVx1NTJBOFx1NUY4NVx1NTkwNFx1NzQwNmA6YT9gJHtlLmFoZWFkfSBcdTRFMkEgY29tbWl0IFx1NUY4NVx1NjNBOFx1OTAwMWA6Ilx1NURFNVx1NEY1Q1x1NTMzQVx1NUU3Mlx1NTFDMCI7cmV0dXJuKDAsYmUuanN4cykoInNlY3Rpb24iLHtjbGFzc05hbWU6YHdhbmQtcXVpY2std29ya3NwYWNlLWxlbnMgaXMtJHtpfWAsImFyaWEtbGFiZWwiOiJcdTVGNTNcdTUyNERcdTVERTVcdTRGNUNcdTUzM0EiLGNoaWxkcmVuOlsoMCxiZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXF1aWNrLXdvcmtzcGFjZS1pY29uIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjoiXHUyMzE4In0pLCgwLGJlLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsYmUuanN4KSgic3Ryb25nIix7dGl0bGU6ZS5icmFuY2h8fCJcdTY3MkFcdThCQzZcdTUyMkJcdTUyMDZcdTY1MkYiLGNoaWxkcmVuOmUuYnJhbmNofHwiXHU2NzJBXHU4QkM2XHU1MjJCXHU1MjA2XHU2NTJGIn0pLCgwLGJlLmpzeCkoInNwYW4iLHtjaGlsZHJlbjpvfSldfSksdCYmYT8oMCxiZS5qc3hzKSgiY29kZSIse2NoaWxkcmVuOlsiXHUyMTkxIixlLmFoZWFkXX0pOm51bGxdfSl9ZnVuY3Rpb24gZmsoe3JlcG9zaXRvcnk6ZT1va30pe2NvbnN0IHQ9KDAseW4udXNlU3luY0V4dGVybmFsU3RvcmUpKEVhLnN1YnNjcmliZSxFYS5nZXRTbmFwc2hvdCxFYS5nZXRTbmFwc2hvdCksW2EsaV09KDAseW4udXNlU3RhdGUpKG51bGwpLFtvLGNdPSgwLHluLnVzZVN0YXRlKShqdyksW2QsZl09KDAseW4udXNlU3RhdGUpKCJjb21taXQiKSxbbSxoXT0oMCx5bi51c2VTdGF0ZSkoITEpLFtnLGJdPSgwLHluLnVzZVN0YXRlKShudWxsKSxbeSxDXT0oMCx5bi51c2VTdGF0ZSkoITEpLFt3LHhdPSgwLHluLnVzZVN0YXRlKSghMSksW0YsQV09KDAseW4udXNlU3RhdGUpKCExKSxbRCxCXT0oMCx5bi51c2VTdGF0ZSkoITEpLFtULGtdPSgwLHluLnVzZVN0YXRlKSgiIiksW00sel09KDAseW4udXNlU3RhdGUpKCIiKSxPPSgwLHluLnVzZVJlZikobnVsbCkscmU9KDAseW4udXNlUmVmKShudWxsKSxlZT10LmNvbnRleHQ7KDAseW4udXNlRWZmZWN0KSgoKT0+e2lmKCF0Lm9wZW58fCFlZSlyZXR1cm47Y29uc3QgWD1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiBPLmN1cnJlbnQ/LmFib3J0KCksTy5jdXJyZW50PW51bGwsaShudWxsKSxjKGp3KSxmKCJjb21taXQiKSxoKCExKSxiKG51bGwpLEMoITApLHgoITEpLEEoITEpLEIoITEpLGsoIiIpLHooIiIpLGUubG9hZFN0YXR1cyhlZS5zZXNzaW9uSWQse3NpZ25hbDpYLnNpZ25hbH0pLnRoZW4oZmU9PntYLnNpZ25hbC5hYm9ydGVkfHwoaShmZSksZmUuaXNHaXR8fGsoZmUuZXJyb3J8fCJcdTVGNTNcdTUyNERcdTc2RUVcdTVGNTVcdTRFMERcdTY2MkYgR2l0IFx1NEVEM1x1NUU5M1x1MzAwMiIpKX0pLmNhdGNoKGZlPT57WC5zaWduYWwuYWJvcnRlZHx8ayhHZChmZSwiXHU2NUUwXHU2Q0Q1XHU1MkEwXHU4RjdEIEdpdCBcdTcyQjZcdTYwMDFcdTMwMDIiKSl9KS5maW5hbGx5KCgpPT57WC5zaWduYWwuYWJvcnRlZHx8QyghMSl9KSwoKT0+e1guYWJvcnQoKSxPLmN1cnJlbnQ/LmFib3J0KCksTy5jdXJyZW50PW51bGx9fSxbdC5vcGVuLHQucmV2aXNpb24sZWU/LnNlc3Npb25JZCxlXSksKDAseW4udXNlRWZmZWN0KSgoKT0+e2lmKCF0Lm9wZW58fHl8fCFhfHxnKXJldHVybjtjb25zdCBYPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnJlLmN1cnJlbnQ/LmZvY3VzKCkpO3JldHVybigpPT53aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoWCl9LFt0Lm9wZW4seSxnLGFdKTtjb25zdCBaPSgwLHluLnVzZU1lbW8pKCgpPT5UdyhkKSxbZF0pLHZlPUZ8fEQsbWU9VWQoYSkmJiF2ZSYmIXk7YXN5bmMgZnVuY3Rpb24gSChYKXtFYS5nZXRSdW50aW1lKCk/Lm9uUmVwb3NpdG9yeUNoYW5nZWQoWCk7dHJ5e2NvbnN0IGZlPWF3YWl0IGUubG9hZFN0YXR1cyhYKTtFYS5nZXRTbmFwc2hvdCgpLmNvbnRleHQ/LnNlc3Npb25JZD09PVgmJmkoZmUpfWNhdGNoe319YXN5bmMgZnVuY3Rpb24gdGUoKXtpZighZWV8fHd8fEYpcmV0dXJuO08uY3VycmVudD8uYWJvcnQoKTtjb25zdCBYPW5ldyBBYm9ydENvbnRyb2xsZXI7Ty5jdXJyZW50PVgseCghMCksaygiIik7dHJ5e2NvbnN0IGZlPWF3YWl0IGUuZ2VuZXJhdGUoZWUuc2Vzc2lvbklkLHtzaWduYWw6WC5zaWduYWx9KTtpZihYLnNpZ25hbC5hYm9ydGVkKXJldHVybjtjKGdlPT4oe21lc3NhZ2U6Z2UubWVzc2FnZS50cmltKCk/Z2UubWVzc2FnZTpmZS5tZXNzYWdlLHRhZzpnZS50YWdFZGl0ZWQ/Z2UudGFnOmZlLnN1Z2dlc3RlZFRhZ3x8Z2UudGFnLHRhZ0VkaXRlZDpnZS50YWdFZGl0ZWR9KSksZmUuc3VnZ2VzdGVkVGFnJiZmKCJjb21taXQtdGFnIil9Y2F0Y2goZmUpe1guc2lnbmFsLmFib3J0ZWR8fGsoR2QoZmUsIkFJIFx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNVx1MzAwMiIpKX1maW5hbGx5e1guc2lnbmFsLmFib3J0ZWR8fHgoITEpLE8uY3VycmVudD09PVgmJihPLmN1cnJlbnQ9bnVsbCl9fWFzeW5jIGZ1bmN0aW9uIEkoWCl7aWYoWD8ucHJldmVudERlZmF1bHQoKSwhKCFlZXx8IWF8fCFtZSkpe0EoITApLGsoIiIpLHooIiIpO3RyeXtjb25zdCBmZT1hd2FpdCBlLmNvbW1pdChlZS5zZXNzaW9uSWQsdGsobyxkLG0pKTtpZighZmUub2spdGhyb3cgbmV3IEVycm9yKCJcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTRcdTU5MzFcdThEMjVcdTMwMDIiKTtjb25zdCBnZT1uayhkLG0sbyxhLGZlKSxqPWxrKGdlKTtpZighZmUucHVzaEVycm9yKXtFYS5nZXRSdW50aW1lKCk/LnRvYXN0KFoucHVzaD9gJHtqfVx1RkYwQ1x1NURGMlx1NjNBOFx1OTAwMVx1MzAwMmA6YCR7an1cdTMwMDJgLCJzdWNjZXNzIiksSChlZS5zZXNzaW9uSWQpLExuLmNsb3NlKCk7cmV0dXJufWIoZ2UpLGZlLnB1c2hFcnJvcj8oeihmZS5wdXNoRXJyb3IpLEVhLmdldFJ1bnRpbWUoKT8udG9hc3QoYCR7an1cdUZGMUJwdXNoIFx1NTkzMVx1OEQyNVx1RkYxQSR7ZmUucHVzaEVycm9yfWAsImVycm9yIikpOkVhLmdldFJ1bnRpbWUoKT8udG9hc3QoYCR7an1cdTMwMDJgLCJzdWNjZXNzIiksYXdhaXQgSChlZS5zZXNzaW9uSWQpfWNhdGNoKGZlKXtjb25zdCBnZT1HZChmZSwiXHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0XHU1OTMxXHU4RDI1XHUzMDAyIik7ayhnZSksRWEuZ2V0UnVudGltZSgpPy50b2FzdChnZSwiZXJyb3IiKX1maW5hbGx5e0EoITEpfX19YXN5bmMgZnVuY3Rpb24gVSgpe2lmKCEoIWVlfHwhZ3x8RCkpe0IoITApLHooIiIpO3RyeXtjb25zdCBYPWF3YWl0IGUucHVzaChlZS5zZXNzaW9uSWQse3B1c2hDb21taXRzOiEwLHB1c2hUYWdzOiEhZy50YWdOYW1lLHN1Ym1vZHVsZTpnLmluY2x1ZGVTdWJtb2R1bGUsdGFnOmcudGFnTmFtZX0pO2lmKCFYLm9rfHxYLmVycm9yKXtjb25zdCBnZT1YLmVycm9yfHwiXHU2M0E4XHU5MDAxXHU1OTMxXHU4RDI1XHUzMDAyIjt6KGdlKSxFYS5nZXRSdW50aW1lKCk/LnRvYXN0KGBcdTYzQThcdTkwMDFcdTU5MzFcdThEMjVcdUZGMUEke2dlfWAsImVycm9yIik7cmV0dXJufWNvbnN0IGZlPVtYLnB1c2hlZENvbW1pdHM/ImNvbW1pdHMiOiIiLFgucHVzaGVkVGFncz8idGFncyI6IiJdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgXHU1NDhDICIpfHwiXHVGRjA4XHU2NUUwXHU1MTg1XHU1QkI5XHVGRjA5IjtFYS5nZXRSdW50aW1lKCk/LnRvYXN0KGBcdTVERjJcdTYzQThcdTkwMDEgJHtmZX1gLCJzdWNjZXNzIiksSChlZS5zZXNzaW9uSWQpLExuLmNsb3NlKCl9Y2F0Y2goWCl7Y29uc3QgZmU9R2QoWCwiXHU2M0E4XHU5MDAxXHU1OTMxXHU4RDI1XHUzMDAyIik7eihmZSksRWEuZ2V0UnVudGltZSgpPy50b2FzdChmZSwiZXJyb3IiKX1maW5hbGx5e0IoITEpfX19ZnVuY3Rpb24gVyhYKXtYLmtleSE9PSJFbnRlciJ8fCFYLm1ldGFLZXkmJiFYLmN0cmxLZXl8fChYLnByZXZlbnREZWZhdWx0KCksSSgpKX1yZXR1cm4oMCxiZS5qc3gpKGpyLHtvcGVuOnQub3Blbixvbk9wZW5DaGFuZ2U6WD0+e1h8fExuLmNsb3NlKCl9LHRpdGxlOiJcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTQiLGRlc2NyaXB0aW9uOnNrKGEpLGNsYXNzTmFtZToid2FuZC1xdWljay1kaWFsb2ciLG92ZXJsYXlDbGFzc05hbWU6IndhbmQtcXVpY2stb3ZlcmxheSIsdGl0bGVDbGFzc05hbWU6IndhbmQtcXVpY2stdGl0bGUiLGRlc2NyaXB0aW9uQ2xhc3NOYW1lOiJ3YW5kLXF1aWNrLWRlc2NyaXB0aW9uIixoZWFkZXJDbGFzc05hbWU6IndhbmQtcXVpY2staGVhZGVyIixjbG9zZUxhYmVsOiJcdTUxNzNcdTk1RURcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTQiLHRlc3RJZDoicXVpY2stY29tbWl0LWRpYWxvZyIsY2hpbGRyZW46eT8oMCxiZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stbG9hZGluZyIscm9sZToic3RhdHVzIixjaGlsZHJlbjoiXHU2QjYzXHU1NzI4XHU1MkEwXHU4RjdEIEdpdCBcdTcyQjZcdTYwMDFcdTIwMjYifSk6Zz8oMCxiZS5qc3hzKSgic2VjdGlvbiIse2NsYXNzTmFtZToid2FuZC1xdWljay1yZXN1bHQiLCJhcmlhLWxhYmVsIjoiXHU2M0QwXHU0RUE0XHU3RUQzXHU2NzlDIixjaGlsZHJlbjpbKDAsYmUuanN4KShPdyx7bGFiZWw6IkNvbW1pdCIsYmVmb3JlOigwLGJlLmpzeCkoTXcse2hhc2g6Zy5vbGRDb21taXRIYXNoLHN1YmplY3Q6Zy5vbGRDb21taXRTdWJqZWN0LGVtcHR5OiJcdTY1RTAifSksYWZ0ZXI6KDAsYmUuanN4KShNdyx7aGFzaDpnLmNvbW1pdEhhc2gsc3ViamVjdDpnLmNvbW1pdE1lc3NhZ2UsZW1wdHk6Ilx1NjVFMCJ9KX0pLCgwLGJlLmpzeCkoT3cse2xhYmVsOiJUYWciLGJlZm9yZTpnLm9sZFRhZz8oMCxiZS5qc3gpKCJjb2RlIix7Y2hpbGRyZW46Zy5vbGRUYWd9KTooMCxiZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLXF1aWNrLW11dGVkIixjaGlsZHJlbjoiXHU2NUUwIHRhZyJ9KSxhZnRlcjpnLnRhZ05hbWU/KDAsYmUuanN4KSgiY29kZSIse2NoaWxkcmVuOmcudGFnTmFtZX0pOigwLGJlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtcXVpY2stbXV0ZWQiLGNoaWxkcmVuOiJcdTY3MkFcdTYyNTMgdGFnIn0pfSksZy5zdWJtb2R1bGVDb3VudD4wPygwLGJlLmpzeHMpKCJwIix7Y2xhc3NOYW1lOiJ3YW5kLXF1aWNrLXJlc3VsdC1ub3RlIixjaGlsZHJlbjpbIlx1NURGMlx1NjNEMFx1NEVBNCAiLGcuc3VibW9kdWxlQ291bnQsIiBcdTRFMkEgc3VibW9kdWxlXHUzMDAyIl19KTpudWxsLGcucHVzaEVycm9yfHxNPygwLGJlLmpzeCkoInAiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpNfHxnLnB1c2hFcnJvcn0pOm51bGwsKDAsYmUuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1xdWljay1yZXN1bHQtYWN0aW9ucyIsY2hpbGRyZW46WygwLGJlLmpzeCkoR2Use2tpbmQ6Imdob3N0IixvbkNsaWNrOigpPT5Mbi5jbG9zZSgpLGNoaWxkcmVuOiJcdTUxNzNcdTk1RUQifSksZy5wdXNoZWQ/KDAsYmUuanN4KSgic3BhbiIse2NsYXNzTmFtZToid2FuZC1xdWljay1wdXNoZWQiLGNoaWxkcmVuOiJcdTVERjJcdTYzQThcdTkwMDEifSk6KDAsYmUuanN4KShHZSx7a2luZDoicHJpbWFyeSIsZGlzYWJsZWQ6RCxvbkNsaWNrOigpPT57VSgpfSxjaGlsZHJlbjpEPyJcdTYzQThcdTkwMDFcdTRFMkRcdTIwMjYiOiJQdXNoICYgQ2xvc2UifSldfSldfSk6YT8oMCxiZS5qc3hzKSgiZm9ybSIse2NsYXNzTmFtZToid2FuZC1xdWljay1mb3JtIiwiYXJpYS1idXN5Ijp2ZSxvblN1Ym1pdDpYPT57SShYKX0sY2hpbGRyZW46WygwLGJlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stYm9keSIsY2hpbGRyZW46WygwLGJlLmpzeCkoZGsse3N0YXR1czphfSksKDAsYmUuanN4KShjayx7c3RhdHVzOmF9KSwoMCxiZS5qc3hzKSgic2VjdGlvbiIse2NsYXNzTmFtZToid2FuZC1xdWljay1lZGl0b3IiLCJhcmlhLWxhYmVsbGVkYnkiOiJ3YW5kLXF1aWNrLWVkaXRvci10aXRsZSIsY2hpbGRyZW46WygwLGJlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stc2VjdGlvbi1oZWFkaW5nIixjaGlsZHJlbjpbKDAsYmUuanN4KSgiaDMiLHtpZDoid2FuZC1xdWljay1lZGl0b3ItdGl0bGUiLGNoaWxkcmVuOiJOZXcifSksKDAsYmUuanN4KShHZSx7a2luZDoiZ2hvc3QiLHNpemU6InNtYWxsIixkaXNhYmxlZDp3fHxGfHwhVWQoYSksdGl0bGU6IkFJIFx1NzUxRlx1NjIxMCBjb21taXQgbWVzc2FnZSBcdTRFMEUgdGFnIixvbkNsaWNrOigpPT57dGUoKX0sY2hpbGRyZW46dz8iXHU3NTFGXHU2MjEwXHU0RTJEXHUyMDI2IjoiXHUyNzI2IEFJIn0pXX0pLCgwLGJlLmpzeHMpKCJsYWJlbCIse2NsYXNzTmFtZToid2FuZC1xdWljay1maWVsZCIsaHRtbEZvcjoid2FuZC1xdWljay1tZXNzYWdlIixjaGlsZHJlbjpbKDAsYmUuanN4KSgic3BhbiIse2NoaWxkcmVuOiJcdTY1QjBcdTc2ODQgQ29tbWl0IFx1NEZFMVx1NjA2RiJ9KSwoMCxiZS5qc3gpKCJ0ZXh0YXJlYSIse2lkOiJ3YW5kLXF1aWNrLW1lc3NhZ2UiLHJlZjpyZSwiZGF0YS13YW5kLWF1dG9mb2N1cyI6IiIscm93czozLHZhbHVlOm8ubWVzc2FnZSxkaXNhYmxlZDpGLHBsYWNlaG9sZGVyOiJcdTc1NTlcdTdBN0FcdTUyMTlcdTgxRUFcdTUyQThcdTc1MUZcdTYyMTAiLG9uQ2hhbmdlOlg9PmMoey4uLm8sbWVzc2FnZTpYLmN1cnJlbnRUYXJnZXQudmFsdWV9KSxvbktleURvd246V30pXX0pLCgwLGJlLmpzeHMpKCJsYWJlbCIse2NsYXNzTmFtZToid2FuZC1xdWljay1maWVsZCIsaHRtbEZvcjoid2FuZC1xdWljay10YWciLGNoaWxkcmVuOlsoMCxiZS5qc3gpKCJzcGFuIix7Y2hpbGRyZW46IlRhZ1x1RkYwOFx1NTNFRlx1OTAwOVx1RkYwOSJ9KSwoMCxiZS5qc3gpKCJpbnB1dCIse2lkOiJ3YW5kLXF1aWNrLXRhZyIsdHlwZToidGV4dCIsdmFsdWU6by50YWcsZGlzYWJsZWQ6RixwbGFjZWhvbGRlcjoiXHU5MDA5XHU2MkU5IFRhZyBcdTUyQThcdTRGNUNcdTY1RjZcdUZGMENcdTc1NTlcdTdBN0FcdTUyMTlcdTgxRUFcdTUyQThcdTc1MUZcdTYyMTAiLGF1dG9Db21wbGV0ZToib2ZmIixzcGVsbENoZWNrOiExLG9uQ2hhbmdlOlg9PmMoey4uLm8sdGFnOlguY3VycmVudFRhcmdldC52YWx1ZSx0YWdFZGl0ZWQ6ITB9KX0pXX0pXX0pLCgwLGJlLmpzeHMpKCJmaWVsZHNldCIse2NsYXNzTmFtZToid2FuZC1xdWljay1hY3Rpb25zIixjaGlsZHJlbjpbKDAsYmUuanN4KSgibGVnZW5kIix7Y2hpbGRyZW46Ilx1NjI2N1x1ODg0Q1x1NTJBOFx1NEY1QyJ9KSwoMCxiZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stYWN0aW9uLWdyaWQiLGNoaWxkcmVuOkpCLm1hcChYPT4oMCxiZS5qc3hzKSgibGFiZWwiLHtjbGFzc05hbWU6ZD09PVguYWN0aW9uPyJpcy1zZWxlY3RlZCI6dm9pZCAwLGNoaWxkcmVuOlsoMCxiZS5qc3gpKCJpbnB1dCIse3R5cGU6InJhZGlvIixuYW1lOiJ3YW5kLXF1aWNrLWFjdGlvbiIsdmFsdWU6WC5hY3Rpb24sY2hlY2tlZDpkPT09WC5hY3Rpb24sZGlzYWJsZWQ6IVVkKGEpfHx2ZSxvbkNoYW5nZTooKT0+ZihYLmFjdGlvbil9KSwoMCxiZS5qc3gpKCJzdHJvbmciLHtjaGlsZHJlbjpYLmxhYmVsfSksKDAsYmUuanN4KSgic3BhbiIse2NoaWxkcmVuOlgudmVyYn0pXX0sWC5hY3Rpb24pKX0pLGEuaGFzU3VibW9kdWxlPygwLGJlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stc3VibW9kdWxlLXRvZ2dsZSIsY2hpbGRyZW46WygwLGJlLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsYmUuanN4KSgic3Ryb25nIix7Y2hpbGRyZW46Ilx1NTMwNVx1NTQyQiBTdWJtb2R1bGUifSksKDAsYmUuanN4KSgic3BhbiIse2NoaWxkcmVuOiJcdTkwMTJcdTVGNTJcdTYyNjdcdTg4NEMgY29tbWl0XHUzMDAxdGFnIFx1NTQ4QyBwdXNoXHUzMDAyIn0pXX0pLCgwLGJlLmpzeCkoZ20se2lkOiJ3YW5kLXF1aWNrLXN1Ym1vZHVsZSIsY2hlY2tlZDptLGRpc2FibGVkOnZlLGFyaWFMYWJlbDoiXHU1MzA1XHU1NDJCIFN1Ym1vZHVsZSIsb25DaGVja2VkQ2hhbmdlOmh9KV19KTpudWxsXX0pLFQ/KDAsYmUuanN4KSgicCIse2NsYXNzTmFtZToid2FuZC1xdWljay1lcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOlR9KTpudWxsXX0pLCgwLGJlLmpzeHMpKCJmb290ZXIiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stZm9vdGVyIixjaGlsZHJlbjpbKDAsYmUuanN4KSgic3BhbiIse2NoaWxkcmVuOlVkKGEpPyJcdTIzMTgvQ3RybCArIEVudGVyIFx1NUZFQlx1OTAxRlx1NjI2N1x1ODg0QyI6Ilx1NURFNVx1NEY1Q1x1NTMzQVx1NUU3Mlx1NTFDMFx1RkYwQ1x1NjVFMFx1NTNFRlx1NjNEMFx1NEVBNFx1NjUzOVx1NTJBOCJ9KSwoMCxiZS5qc3hzKSgiZGl2Iix7Y2hpbGRyZW46WygwLGJlLmpzeCkoR2Use2tpbmQ6Imdob3N0IixvbkNsaWNrOigpPT5Mbi5jbG9zZSgpLGNoaWxkcmVuOiJcdTUzRDZcdTZEODgifSksKDAsYmUuanN4KShHZSx7a2luZDoicHJpbWFyeSIsdHlwZToic3VibWl0IixkaXNhYmxlZDohbWUsY2hpbGRyZW46Rj9vLm1lc3NhZ2UudHJpbSgpPyJcdTYyNjdcdTg4NENcdTRFMkRcdTIwMjYiOiJBSSBcdTc1MUZcdTYyMTAgKyBcdTYzRDBcdTRFQTRcdTRFMkRcdTIwMjYiOloudmVyYn0pXX0pXX0pXX0pOigwLGJlLmpzeCkoImRpdiIse2NsYXNzTmFtZToid2FuZC1xdWljay1sb2FkaW5nIixjaGlsZHJlbjpUPygwLGJlLmpzeCkoInAiLHtjbGFzc05hbWU6IndhbmQtcXVpY2stZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpUfSk6Ilx1NkNBMVx1NjcwOVx1NTNFRlx1NzUyOFx1NzY4NCBHaXQgXHU3MkI2XHU2MDAxXHUzMDAyIn0pfSl9dmFyIGhyPWxlKEFlKCksMSksSW89bnVsbCxybj17b3BlbjohMSxkaXNtaXNzYWJsZTohMCxjb250ZXh0Om51bGwscmV2aXNpb246MH0sWWQ9bmV3IFNldDtmdW5jdGlvbiBfdyhlLHQpe3JuPXtvcGVuOmUsZGlzbWlzc2FibGU6ITAsY29udGV4dDp0LHJldmlzaW9uOnJuLnJldmlzaW9uKzF9O2Zvcihjb25zdCBhIG9mIFlkKWEoKX1mdW5jdGlvbiBwayhlKXtpZighKCFybi5vcGVufHxybi5kaXNtaXNzYWJsZT09PWUpKXtybj17Li4ucm4sZGlzbWlzc2FibGU6ZX07Zm9yKGNvbnN0IHQgb2YgWWQpdCgpfX12YXIgZG49e29wZW4oZSl7Y29uc3QgdD1lLnNlc3Npb25JZC50cmltKCk7aWYoIXQpcmV0dXJuITE7Y29uc3QgYT17Li4uZSxzZXNzaW9uSWQ6dH07cmV0dXJuIHJuLm9wZW4mJnJuLmNvbnRleHQ/LnNlc3Npb25JZD09PXQmJnJuLmNvbnRleHQuaW50ZW50PT09YS5pbnRlbnR8fChJbz8ub25PcGVuKGEpLF93KCEwLGEpKSwhMH0sY2xvc2UoKXtpZighcm4ub3Blbnx8IXJuLmNvbnRleHQpcmV0dXJuO2NvbnN0IGU9cm4uY29udGV4dDtfdyghMSxudWxsKSxJbz8ub25DbG9zZShlKX0sY2xvc2VJZk9wZW4oKXtyZXR1cm4hcm4ub3Blbnx8IXJuLmRpc21pc3NhYmxlPyExOih0aGlzLmNsb3NlKCksITApfSxjbG9zZVRvcG1vc3QoKXtyZXR1cm4gcm4ub3Blbj8ocm4uZGlzbWlzc2FibGUmJnRoaXMuY2xvc2UoKSwhMCk6ITF9LGlzT3Blbigpe3JldHVybiBybi5vcGVufSxzZXREaXNtaXNzYWJsZShlKXtwayhlKX19LFJ1PXtzdWJzY3JpYmUoZSl7cmV0dXJuIFlkLmFkZChlKSwoKT0+WWQuZGVsZXRlKGUpfSxnZXRTbmFwc2hvdCgpe3JldHVybiBybn0sZ2V0UnVudGltZSgpe3JldHVybiBJb319O2Z1bmN0aW9uIHZrKGUpe3JldHVybiBJbz1lLCgpPT57SW89PT1lJiYocm4ub3BlbiYmZG4uY2xvc2UoKSxJbz1udWxsKX19ZnVuY3Rpb24gbWsoZSl7cmV0dXJuIGUuc2Vzc2lvbklkLnRyaW0oKT9lLnNlc3Npb25TdGF0dXM9PT0icnVubmluZyI/e2FsbG93ZWQ6ITEscmVhc29uOiJcdTRGMUFcdThCRERcdTRFQ0RcdTU3MjhcdThGRDBcdTg4NENcdUZGMENcdThCRjdcdTdFRDNcdTY3NUZcdTU0MEVcdTUxOERcdTU0MDhcdTVFNzZcdTYyMTZcdTZFMDVcdTc0MDZcdTMwMDIifTplLm1lcmdlU3RhdHVzPT09Im1lcmdpbmciP3thbGxvd2VkOiExLHJlYXNvbjoiV29ya3RyZWUgXHU2QjYzXHU1NzI4XHU1NDA4XHU1RTc2XHVGRjBDXHU4QkY3XHU3QjQ5XHU1Rjg1XHU1RjUzXHU1MjREXHU2NENEXHU0RjVDXHU1QjhDXHU2MjEwXHUzMDAyIn06ZS5pbnRlbnQ9PT0iY2xlYW51cCI/ZS5jbGVhbnVwUGVuZGluZz09PSEwP3thbGxvd2VkOiEwLHJlYXNvbjoiIn06e2FsbG93ZWQ6ITEscmVhc29uOiJcdTVGNTNcdTUyNEQgd29ya3RyZWUgXHU2NUUwXHU5NzAwXHU4ODY1XHU1MDdGXHU2RTA1XHU3NDA2XHUzMDAyIn06IWUuc291cmNlQnJhbmNoPy50cmltKCl8fCFlLndvcmt0cmVlUGF0aD8udHJpbSgpP3thbGxvd2VkOiExLHJlYXNvbjoiXHU4QkU1XHU0RjFBXHU4QkREXHU2Q0ExXHU2NzA5XHU1M0VGXHU1NDA4XHU1RTc2XHU3Njg0IHdvcmt0cmVlIFx1NEZFMVx1NjA2Rlx1MzAwMiJ9OmUubWVyZ2VTdGF0dXM9PT0ibWVyZ2VkIj9lLmNsZWFudXBQZW5kaW5nP3thbGxvd2VkOiExLHJlYXNvbjoiXHU1MjA2XHU2NTJGXHU1REYyXHU3RUNGXHU1NDA4XHU1RTc2XHVGRjBDXHU4QkY3XHU2NTM5XHU0RTNBXHU5MUNEXHU4QkQ1IHdvcmt0cmVlIFx1NkUwNVx1NzQwNlx1MzAwMiJ9OnthbGxvd2VkOiExLHJlYXNvbjoiXHU4QkU1IHdvcmt0cmVlIFx1NURGMlx1NUI4Q1x1NjIxMFx1NTQwOFx1NUU3Nlx1NTQ4Q1x1NkUwNVx1NzQwNlx1MzAwMiJ9OnthbGxvd2VkOiEwLHJlYXNvbjoiIn06e2FsbG93ZWQ6ITEscmVhc29uOiJcdTY3MkFcdTYyN0VcdTUyMzBcdTVCRjlcdTVFOTRcdTRGMUFcdThCRERcdTMwMDIifX1mdW5jdGlvbiBOdyhlKXtyZXR1cm4hIWUmJmUub2smJmUucmVjb21tZW5kZWRBY3Rpb249PT0ibWVyZ2UiJiZlLmFoZWFkQ291bnQ+MCYmIWUuaGFzVW5jb21taXR0ZWRDaGFuZ2VzJiYhZS5oYXNDb25mbGljdHN9ZnVuY3Rpb24gaGsoZSl7Y29uc3QgdD1lLnRhcmdldEJyYW5jaHx8Ilx1NEUzQlx1NTIwNlx1NjUyRiI7cmV0dXJuIGUuY2xlYW51cERvbmU/YFx1NURGMlx1NTQwOFx1NUU3Nlx1NTIzMCAke3R9IFx1NUU3Nlx1NUI4Q1x1NjIxMCB3b3JrdHJlZSBcdTZFMDVcdTc0MDZcdTMwMDJgOmBcdTVERjJcdTU0MDhcdTVFNzZcdTUyMzAgJHt0fVx1RkYwQ1x1NEY0Nlx1NURFNVx1NEY1Q1x1NjgxMVx1NEVDRFx1NUY4NVx1NkUwNVx1NzQwNlx1MzAwMmB9ZnVuY3Rpb24gZ2soZSl7cmV0dXJuIGUub2s/YFx1NjhDMFx1NjdFNVx1OTAxQVx1OEZDN1x1RkYwQ1x1NTNFRlx1NUMwNiAke2UuYWhlYWRDb3VudH0gXHU0RTJBXHU2M0QwXHU0RUE0XHU1NDA4XHU1RTc2XHU1MjMwICR7ZS50YXJnZXRCcmFuY2h8fCJcdTc2RUVcdTY4MDdcdTUyMDZcdTY1MkYifVx1MzAwMmA6ZS5yZWFzb24/ZS5yZWFzb246ZS5oYXNVbmNvbW1pdHRlZENoYW5nZXM/Ildvcmt0cmVlIFx1NEUyRFx1NEVDRFx1NjcwOVx1NjcyQVx1NjNEMFx1NEVBNFx1NjUzOVx1NTJBOFx1RkYwQ1x1OEJGN1x1NTE0OFx1NjNEMFx1NEVBNFx1NTQwRVx1NTE4RFx1NTQwOFx1NUU3Nlx1MzAwMiI6ZS5oYXNDb25mbGljdHM/Ilx1NjhDMFx1NkQ0Qlx1NTIzMFx1NTFCMlx1N0E4MVx1OThDRVx1OTY2OVx1RkYwQ1x1OEJGN1x1NTE0OFx1NjI0Qlx1NTJBOFx1NTkwNFx1NzQwNlx1MzAwMiI6ZS5haGVhZENvdW50PD0wPyJcdTVGNTNcdTUyNEQgd29ya3RyZWUgXHU2Q0ExXHU2NzA5XHU1M0VGXHU1NDA4XHU1RTc2XHU3Njg0XHU2NUIwXHU2M0QwXHU0RUE0XHUzMDAyIjoiXHU1RjUzXHU1MjREIHdvcmt0cmVlIFx1NjY4Mlx1NEUwRFx1NTNFRlx1NTQwOFx1NUU3Nlx1MzAwMiJ9ZnVuY3Rpb24gSXUoZSl7cmV0dXJuISFlJiZ0eXBlb2YgZT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGUpfWZ1bmN0aW9uIHduKGUsdD0iIil7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9lOnR9ZnVuY3Rpb24gYmsoZSx0PTApe3JldHVybiB0eXBlb2YgZT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZShlKT9lOnR9ZnVuY3Rpb24geWsoZSl7cmV0dXJuIGU9PT0ibm9vcCJ8fGU9PT0icmVzb2x2ZS1jb25mbGljdCI/ZToibWVyZ2UifWZ1bmN0aW9uIHdrKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UuZmxhdE1hcCh0PT4hSXUodCl8fHR5cGVvZiB0Lmhhc2ghPSJzdHJpbmcifHwhdC5oYXNoP1tdOlt7aGFzaDp0Lmhhc2gsc2hvcnRIYXNoOnduKHQuc2hvcnRIYXNoLHQuaGFzaC5zbGljZSgwLDcpKSxzdWJqZWN0OnduKHQuc3ViamVjdCx3bih0Lm1lc3NhZ2UpKX1dKTpbXX1mdW5jdGlvbiB4ayhlKXtjb25zdCB0PUl1KGUpP2U6e307cmV0dXJue29rOnQub2s9PT0hMCxzb3VyY2VCcmFuY2g6d24odC5zb3VyY2VCcmFuY2gpLHRhcmdldEJyYW5jaDp3bih0LnRhcmdldEJyYW5jaCksd29ya3RyZWVQYXRoOnduKHQud29ya3RyZWVQYXRoKSxyZXBvUm9vdDp3bih0LnJlcG9Sb290KSxoYXNVbmNvbW1pdHRlZENoYW5nZXM6dC5oYXNVbmNvbW1pdHRlZENoYW5nZXM9PT0hMCxhaGVhZENvdW50Ok1hdGgubWF4KDAsYmsodC5haGVhZENvdW50KSksaGFzQ29uZmxpY3RzOnQuaGFzQ29uZmxpY3RzPT09ITAscmVjb21tZW5kZWRBY3Rpb246eWsodC5yZWNvbW1lbmRlZEFjdGlvbikscmVhc29uOnduKHQucmVhc29uKSxjb21taXRzOndrKHQuY29tbWl0cyl9fWZ1bmN0aW9uIFJ3KGUpe2NvbnN0IHQ9SXUoZSk/ZTp7fTtyZXR1cm57b2s6dC5vaz09PSEwLHNvdXJjZUJyYW5jaDp3bih0LnNvdXJjZUJyYW5jaCksdGFyZ2V0QnJhbmNoOnduKHQudGFyZ2V0QnJhbmNoKSxyZXBvUm9vdDp3bih0LnJlcG9Sb290KSxtZXJnZUNvbW1pdDp3bih0Lm1lcmdlQ29tbWl0KSxtZXJnZWRBdDp3bih0Lm1lcmdlZEF0KSxjbGVhbnVwRG9uZTp0LmNsZWFudXBEb25lPT09ITAsY29uZmxpY3Q6dC5jb25mbGljdD09PSEwLGVycm9yQ29kZTp3bih0LmVycm9yQ29kZSkscmVhc29uOnduKHQucmVhc29uKX19dmFyIHBsPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0PSIiLGE9bnVsbCxpPTApe3N1cGVyKGUpLHB0KHRoaXMsImNvZGUiLHQpLHB0KHRoaXMsInJlc3VsdCIsYSkscHQodGhpcywic3RhdHVzIixpKSx0aGlzLm5hbWU9Ildvcmt0cmVlTWVyZ2VSZXBvc2l0b3J5RXJyb3IifX07YXN5bmMgZnVuY3Rpb24gSG0oZSx0KXtsZXQgYTt0cnl7YT1hd2FpdCBlLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgcGwoYCR7dH0gKEhUVFAgJHtlLnN0YXR1c30pYCwiIixudWxsLGUuc3RhdHVzKX1jb25zdCBpPUl1KGEpP2E6e307aWYoIWUub2t8fHR5cGVvZiBpLmVycm9yPT0ic3RyaW5nIil0aHJvdyBuZXcgcGwod24oaS5lcnJvcixgJHt0fSAoSFRUUCAke2Uuc3RhdHVzfSlgKSx3bihpLmVycm9yQ29kZSksSXUoaS5yZXN1bHQpP1J3KGkucmVzdWx0KTpudWxsLGUuc3RhdHVzKTtyZXR1cm4gaX12YXIgRWs9Y2xhc3N7Y29uc3RydWN0b3IoZT0odCxhKT0+Z2xvYmFsVGhpcy5mZXRjaCh0LGEpKXtwdCh0aGlzLCJmZXRjaEltcGwiLGUpfWFzeW5jIGluc3BlY3QoZSx0PXt9KXtjb25zdCBhPWF3YWl0IHRoaXMuZmV0Y2hJbXBsKGAvYXBpL3Nlc3Npb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGUpfS93b3JrdHJlZS9tZXJnZS9jaGVja2Ase21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixzaWduYWw6dC5zaWduYWx9KSxpPWF3YWl0IEhtKGEsIlx1NjVFMFx1NkNENVx1NjhDMFx1NjdFNSB3b3JrdHJlZSBcdTU0MDhcdTVFNzZcdTcyQjZcdTYwMDFcdTMwMDIiKTtpZighSXUoaS5yZXN1bHQpKXRocm93IG5ldyBwbCgiXHU2NzBEXHU1MkExXHU3QUVGXHU2NzJBXHU4RkQ0XHU1NkRFXHU1NDA4XHU1RTc2XHU2OEMwXHU2N0U1XHU3RUQzXHU2NzlDXHUzMDAyIik7cmV0dXJuIHhrKGkucmVzdWx0KX1hc3luYyBtZXJnZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuZmV0Y2hJbXBsKGAvYXBpL3Nlc3Npb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGUpfS93b3JrdHJlZS9tZXJnZWAse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6Int9In0pLGE9YXdhaXQgSG0odCwiXHU2NUUwXHU2Q0Q1XHU1NDA4XHU1RTc2IHdvcmt0cmVlXHUzMDAyIik7aWYoIUl1KGEucmVzdWx0KSl0aHJvdyBuZXcgcGwoIlx1NjcwRFx1NTJBMVx1N0FFRlx1NjcyQVx1OEZENFx1NTZERSB3b3JrdHJlZSBcdTU0MDhcdTVFNzZcdTdFRDNcdTY3OUNcdTMwMDIiKTtyZXR1cm4gUncoYS5yZXN1bHQpfWFzeW5jIGNsZWFudXAoZSl7Y29uc3QgdD1hd2FpdCB0aGlzLmZldGNoSW1wbChgL2FwaS9zZXNzaW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlKX0vd29ya3RyZWUvY2xlYW51cGAse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pO3JldHVybntvazooYXdhaXQgSG0odCwiXHU2NUUwXHU2Q0Q1XHU2RTA1XHU3NDA2IHdvcmt0cmVlXHUzMDAyIikpLm9rPT09ITB9fX0sRms9bmV3IEVrLFdlPWxlKHFlKCksMSk7ZnVuY3Rpb24gcW0oZSx0KXtyZXR1cm4hKGUgaW5zdGFuY2VvZiBFcnJvcil8fCFlLm1lc3NhZ2V8fGUubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giP3Q6ZS5tZXNzYWdlfWZ1bmN0aW9uIGtpKHtsYWJlbDplLHZhbHVlOnQsdG9uZTphfSl7Y29uc3QgaT1hP2B3YW5kLXdvcmt0cmVlLXZhbHVlIHdhbmQtd29ya3RyZWUtdmFsdWUtJHthfWA6IndhbmQtd29ya3RyZWUtdmFsdWUiO3JldHVybigwLFdlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtd29ya3RyZWUtcm93IixjaGlsZHJlbjpbKDAsV2UuanN4KSgic3BhbiIse2NsYXNzTmFtZToid2FuZC13b3JrdHJlZS1sYWJlbCIsY2hpbGRyZW46ZX0pLCgwLFdlLmpzeCkoInN0cm9uZyIse2NsYXNzTmFtZTppLGNoaWxkcmVuOnR8fCItIn0pXX0pfWZ1bmN0aW9uIENrKHtpbnNwZWN0aW9uOmV9KXtyZXR1cm4oMCxXZS5qc3hzKShXZS5GcmFnbWVudCx7Y2hpbGRyZW46WygwLFdlLmpzeCkoa2kse2xhYmVsOiJcdTc2RUVcdTY4MDdcdTUyMDZcdTY1MkYiLHZhbHVlOmUudGFyZ2V0QnJhbmNofSksKDAsV2UuanN4KShraSx7bGFiZWw6Ilx1NUY4NVx1NTQwOFx1NUU3Nlx1NjNEMFx1NEVBNCIsdmFsdWU6U3RyaW5nKGUuYWhlYWRDb3VudCl9KSwoMCxXZS5qc3gpKGtpLHtsYWJlbDoiXHU2NzJBXHU2M0QwXHU0RUE0XHU2NTM5XHU1MkE4Iix2YWx1ZTplLmhhc1VuY29tbWl0dGVkQ2hhbmdlcz8iXHU2NzA5IjoiXHU2NUUwIix0b25lOmUuaGFzVW5jb21taXR0ZWRDaGFuZ2VzPyJ3YXJuaW5nIjoic3VjY2VzcyJ9KSwoMCxXZS5qc3gpKGtpLHtsYWJlbDoiXHU1MUIyXHU3QTgxXHU5OENFXHU5NjY5Iix2YWx1ZTplLmhhc0NvbmZsaWN0cz8iXHU2NzA5IjoiXHU2NUUwIix0b25lOmUuaGFzQ29uZmxpY3RzPyJlcnJvciI6InN1Y2Nlc3MifSksZS5jb21taXRzLmxlbmd0aD4wPygwLFdlLmpzeHMpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJ3YW5kLXdvcmt0cmVlLWNvbW1pdHMiLCJhcmlhLWxhYmVsbGVkYnkiOiJ3b3JrdHJlZS1tZXJnZS1jb21taXRzLXRpdGxlIixjaGlsZHJlbjpbKDAsV2UuanN4KSgicCIse2NsYXNzTmFtZToid2FuZC13b3JrdHJlZS1jb21taXRzLXRpdGxlIixpZDoid29ya3RyZWUtbWVyZ2UtY29tbWl0cy10aXRsZSIsY2hpbGRyZW46KDAsV2UuanN4cykoInN0cm9uZyIse2NoaWxkcmVuOlsiXHU1Rjg1XHU1NDA4XHU1RTc2XHU2M0QwXHU0RUE0XHU1MjE3XHU4ODY4XHVGRjA4IixlLmNvbW1pdHMubGVuZ3RoLCJcdUZGMDkiXX0pfSksKDAsV2UuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXdvcmt0cmVlLWNvbW1pdC1saXN0Iixyb2xlOiJsaXN0IiwiYXJpYS1sYWJlbCI6Ilx1NUY4NVx1NTQwOFx1NUU3Nlx1NjNEMFx1NEVBNCIsY2hpbGRyZW46ZS5jb21taXRzLm1hcCh0PT4oMCxXZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXdvcmt0cmVlLXJvdyIscm9sZToibGlzdGl0ZW0iLGNoaWxkcmVuOlsoMCxXZS5qc3gpKCJzcGFuIix7Y2hpbGRyZW46KDAsV2UuanN4KSgiY29kZSIse2NoaWxkcmVuOnQuc2hvcnRIYXNofSl9KSwoMCxXZS5qc3gpKCJzdHJvbmciLHtjbGFzc05hbWU6IndhbmQtd29ya3RyZWUtdmFsdWUiLGNoaWxkcmVuOnQuc3ViamVjdHx8dC5oYXNofSldfSx0Lmhhc2gpKX0pXX0pOm51bGwsKDAsV2UuanN4KSgicCIse2NsYXNzTmFtZTpgd2FuZC13b3JrdHJlZS1zdGF0dXMgd2FuZC13b3JrdHJlZS1zdGF0dXMtJHtlLm9rPyJzdWNjZXNzIjplLmhhc0NvbmZsaWN0cz8iZXJyb3IiOiJ3YXJuaW5nIn1gLGNoaWxkcmVuOmdrKGUpfSldfSl9ZnVuY3Rpb24gRGsoe3JlcG9zaXRvcnk6ZT1Ga30pe2NvbnN0IHQ9KDAsaHIudXNlU3luY0V4dGVybmFsU3RvcmUpKFJ1LnN1YnNjcmliZSxSdS5nZXRTbmFwc2hvdCxSdS5nZXRTbmFwc2hvdCksYT10LmNvbnRleHQsaT0oMCxoci51c2VNZW1vKSgoKT0+YT9tayhhKTp7YWxsb3dlZDohMSxyZWFzb246IiJ9LFthXSksW28sY109KDAsaHIudXNlU3RhdGUpKG51bGwpLFtkLGZdPSgwLGhyLnVzZVN0YXRlKShudWxsKSxbbSxoXT0oMCxoci51c2VTdGF0ZSkoITEpLFtnLGJdPSgwLGhyLnVzZVN0YXRlKSghMSksW3ksQ109KDAsaHIudXNlU3RhdGUpKCIiKSx3PSgwLGhyLnVzZVJlZikobnVsbCk7KDAsaHIudXNlRWZmZWN0KSgoKT0+e2lmKCF0Lm9wZW58fCFhKXJldHVybjtjb25zdCBNPW5ldyBBYm9ydENvbnRyb2xsZXI7cmV0dXJuIGMobnVsbCksZihudWxsKSxiKCExKSxDKCIiKSwhaS5hbGxvd2VkfHxhLmludGVudD09PSJjbGVhbnVwIj8oaCghMSksKCk9Pk0uYWJvcnQoKSk6KGgoITApLGUuaW5zcGVjdChhLnNlc3Npb25JZCx7c2lnbmFsOk0uc2lnbmFsfSkudGhlbih6PT57TS5zaWduYWwuYWJvcnRlZHx8KGMoeiksUnUuZ2V0UnVudGltZSgpPy5vblJlcG9zaXRvcnlDaGFuZ2VkKGEuc2Vzc2lvbklkKSl9KS5jYXRjaCh6PT57TS5zaWduYWwuYWJvcnRlZHx8QyhxbSh6LCJcdTY1RTBcdTZDRDVcdTY4QzBcdTY3RTUgd29ya3RyZWUgXHU1NDA4XHU1RTc2XHU3MkI2XHU2MDAxXHUzMDAyIikpfSkuZmluYWxseSgoKT0+e00uc2lnbmFsLmFib3J0ZWR8fGgoITEpfSksKCk9Pk0uYWJvcnQoKSl9LFtpLmFsbG93ZWQsYT8uaW50ZW50LGE/LnNlc3Npb25JZCx0Lm9wZW4sdC5yZXZpc2lvbixlXSksKDAsaHIudXNlRWZmZWN0KSgoKT0+e2lmKCF0Lm9wZW58fG0pcmV0dXJuO2NvbnN0IE09d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+dy5jdXJyZW50Py5mb2N1cygpKTtyZXR1cm4oKT0+d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKE0pfSxbdC5vcGVuLG0sbyxkXSk7ZnVuY3Rpb24geChNKXtSdS5nZXRSdW50aW1lKCk/Lm9uUmVwb3NpdG9yeUNoYW5nZWQoTSl9YXN5bmMgZnVuY3Rpb24gRigpe2lmKCEoIWF8fGd8fCFOdyhvKSkpe2RuLnNldERpc21pc3NhYmxlKCExKSxiKCEwKSxDKCIiKTt0cnl7Y29uc3QgTT1hd2FpdCBlLm1lcmdlKGEuc2Vzc2lvbklkKTtmKE0pLHgoYS5zZXNzaW9uSWQpO2NvbnN0IHo9aGsoTSk7UnUuZ2V0UnVudGltZSgpPy50b2FzdCh6LE0uY2xlYW51cERvbmU/InN1Y2Nlc3MiOiJpbmZvIiksTS5jbGVhbnVwRG9uZSYmZG4uY2xvc2UoKX1jYXRjaChNKXtNIGluc3RhbmNlb2YgcGwmJk0ucmVzdWx0JiYoZihNLnJlc3VsdCkseChhLnNlc3Npb25JZCkpLEMocW0oTSwiXHU2NUUwXHU2Q0Q1XHU1NDA4XHU1RTc2IHdvcmt0cmVlXHUzMDAyIikpfWZpbmFsbHl7ZG4uc2V0RGlzbWlzc2FibGUoITApLGIoITEpfX19YXN5bmMgZnVuY3Rpb24gQSgpe2lmKCEoIWF8fGcpKXtkbi5zZXREaXNtaXNzYWJsZSghMSksYighMCksQygiIik7dHJ5e2lmKCEoYXdhaXQgZS5jbGVhbnVwKGEuc2Vzc2lvbklkKSkub2spdGhyb3cgbmV3IEVycm9yKCJcdTY1RTBcdTZDRDVcdTZFMDVcdTc0MDYgd29ya3RyZWVcdTMwMDIiKTt4KGEuc2Vzc2lvbklkKSxSdS5nZXRSdW50aW1lKCk/LnRvYXN0KCJcdTVERjJcdTVCOENcdTYyMTAgd29ya3RyZWUgXHU2RTA1XHU3NDA2XHUzMDAyIiwic3VjY2VzcyIpLGRuLmNsb3NlKCl9Y2F0Y2goTSl7QyhxbShNLCJcdTY1RTBcdTZDRDVcdTZFMDVcdTc0MDYgd29ya3RyZWVcdTMwMDIiKSl9ZmluYWxseXtkbi5zZXREaXNtaXNzYWJsZSghMCksYighMSl9fX1jb25zdCBEPWE/LmludGVudD09PSJjbGVhbnVwInx8ZCE9bnVsbCYmZC5jbGVhbnVwRG9uZT09PSExJiYhIWQubWVyZ2VDb21taXQsQj1pLmFsbG93ZWQmJk53KG8pLFQ9RD8iXHU2RTA1XHU3NDA2IFdvcmt0cmVlIjoiXHU1NDA4XHU1RTc2IFdvcmt0cmVlIixrPUQ/Ilx1NUI4Q1x1NjIxMFx1NURGMlx1NTQwOFx1NUU3Nlx1NTIwNlx1NjUyRlx1OTA1N1x1NzU1OVx1NzY4NCB3b3JrdHJlZSBcdTZFMDVcdTc0MDZcdTMwMDIiOiJcdTY4QzBcdTY3RTVcdTVGNTNcdTUyNERcdTRFRkJcdTUyQTFcdTUyMDZcdTY1MkZcdTVFNzZcdTVCODlcdTUxNjhcdTU0MDhcdTVFNzZcdTUyMzBcdTc2RUVcdTY4MDdcdTUyMDZcdTY1MkZcdTMwMDIiO3JldHVybigwLFdlLmpzeCkoanIse29wZW46dC5vcGVuLG9uT3BlbkNoYW5nZTpNPT57TXx8ZG4uY2xvc2UoKX0sdGl0bGU6VCxkZXNjcmlwdGlvbjprLGNsYXNzTmFtZToid2FuZC11aS1kaWFsb2ctY29udGVudCB3YW5kLXdvcmt0cmVlLWRpYWxvZyIsaGVhZGVyQ2xhc3NOYW1lOiJ3YW5kLXdvcmt0cmVlLWhlYWRlciIsdGl0bGVDbGFzc05hbWU6IndhbmQtd29ya3RyZWUtdGl0bGUiLGRlc2NyaXB0aW9uQ2xhc3NOYW1lOiJ3YW5kLXdvcmt0cmVlLWRlc2NyaXB0aW9uIixjbG9zZUxhYmVsOiJcdTUxNzNcdTk1RUQgV29ya3RyZWUgXHU1NDA4XHU1RTc2Iix0ZXN0SWQ6Indvcmt0cmVlLW1lcmdlLWRpYWxvZyIsZGlzbWlzc2FibGU6IWcsY2hpbGRyZW46KDAsV2UuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC13b3JrdHJlZS1ib2R5IixjaGlsZHJlbjpbKDAsV2UuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC13b3JrdHJlZS1jb250ZW50IiwiYXJpYS1idXN5IjptfHxnLGNoaWxkcmVuOlthPygwLFdlLmpzeHMpKFdlLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsV2UuanN4KShraSx7bGFiZWw6Ilx1Njc2NVx1NkU5MFx1NTIwNlx1NjUyRiIsdmFsdWU6bz8uc291cmNlQnJhbmNofHxhLnNvdXJjZUJyYW5jaHx8Ii0ifSksKDAsV2UuanN4KShraSx7bGFiZWw6Ilx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSIsdmFsdWU6bz8ud29ya3RyZWVQYXRofHxhLndvcmt0cmVlUGF0aHx8Ii0ifSldfSk6bnVsbCxpLmFsbG93ZWQ/bT8oMCxXZS5qc3gpKCJwIix7Y2xhc3NOYW1lOiJ3YW5kLXdvcmt0cmVlLXN0YXR1cyIscm9sZToic3RhdHVzIixjaGlsZHJlbjoiXHU2QjYzXHU1NzI4XHU2OEMwXHU2N0U1IHdvcmt0cmVlIFx1NTQwOFx1NUU3Nlx1NzJCNlx1NjAwMVx1MjAyNiJ9KTpvJiYhRD8oMCxXZS5qc3gpKENrLHtpbnNwZWN0aW9uOm99KTpEPygwLFdlLmpzeHMpKFdlLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsV2UuanN4KShraSx7bGFiZWw6Ilx1NzZFRVx1NjgwN1x1NTIwNlx1NjUyRiIsdmFsdWU6ZD8udGFyZ2V0QnJhbmNofHxhPy50YXJnZXRCcmFuY2h8fCJcdTRFM0JcdTUyMDZcdTY1MkYifSksZD8ubWVyZ2VDb21taXQ/KDAsV2UuanN4KShraSx7bGFiZWw6Ilx1NTQwOFx1NUU3Nlx1NjNEMFx1NEVBNCIsdmFsdWU6ZC5tZXJnZUNvbW1pdC5zbGljZSgwLDEyKX0pOm51bGwsKDAsV2UuanN4KSgicCIse2NsYXNzTmFtZToid2FuZC13b3JrdHJlZS1zdGF0dXMgd2FuZC13b3JrdHJlZS1zdGF0dXMtd2FybmluZyIsY2hpbGRyZW46Ilx1NTQwOFx1NUU3Nlx1N0VEM1x1Njc5Q1x1NURGMlx1N0VDRlx1NEZERFx1NzU1OVx1RkYxQlx1NkI2NFx1NjRDRFx1NEY1Q1x1NTNFQVx1OTFDRFx1OEJENVx1NTIyMFx1OTY2NFx1OTA1N1x1NzU1OSB3b3JrdHJlZSBcdTU0OENcdTRFRkJcdTUyQTFcdTUyMDZcdTY1MkZcdTMwMDIifSldfSk6bnVsbDooMCxXZS5qc3gpKCJwIix7Y2xhc3NOYW1lOiJ3YW5kLXdvcmt0cmVlLXN0YXR1cyB3YW5kLXdvcmt0cmVlLXN0YXR1cy13YXJuaW5nIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOmkucmVhc29ufSkseT8oMCxXZS5qc3gpKCJwIix7Y2xhc3NOYW1lOiJ3YW5kLXdvcmt0cmVlLWVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46eX0pOm51bGxdfSksKDAsV2UuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC13b3JrdHJlZS1hY3Rpb25zIixjaGlsZHJlbjpbKDAsV2UuanN4KShHZSx7cmVmOncsa2luZDoic2Vjb25kYXJ5IixkaXNhYmxlZDpnLG9uQ2xpY2s6KCk9PmRuLmNsb3NlKCksY2hpbGRyZW46aS5hbGxvd2VkPyJcdTUzRDZcdTZEODgiOiJcdTUxNzNcdTk1RUQifSksRCYmaS5hbGxvd2VkPygwLFdlLmpzeCkoR2Use2tpbmQ6InByaW1hcnkiLGRpc2FibGVkOmcsb25DbGljazooKT0+e0EoKX0sY2hpbGRyZW46Zz8iXHU2RTA1XHU3NDA2XHU0RTJEXHUyMDI2IjoiXHU5MUNEXHU4QkQ1XHU2RTA1XHU3NDA2In0pOmE/LmludGVudD09PSJtZXJnZSImJmkuYWxsb3dlZD8oMCxXZS5qc3gpKEdlLHtraW5kOiJwcmltYXJ5IixkaXNhYmxlZDohQnx8Z3x8bSxvbkNsaWNrOigpPT57RigpfSxjaGlsZHJlbjpnPyJcdTU0MDhcdTVFNzZcdTRFMkRcdTIwMjYiOiJcdTc4NkVcdThCQTRcdTU0MDhcdTVFNzZcdTVFNzZcdTZFMDVcdTc0MDYifSk6bnVsbF19KV19KX0pfXZhciBQbT1sZShBZSgpLDEpO2Z1bmN0aW9uIFVtKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyI/ZS50cmltKCkucmVwbGFjZSgvXnYvLCIiKS5zcGxpdCgiKyIpWzBdOiIifWZ1bmN0aW9uIEFrKGUsdCl7Y29uc3QgYT1lLnByZXZpb3VzSW5zdGFuY2VJZC50cmltKCksaT1VbShlLmV4cGVjdGVkVmVyc2lvbiksbz10LnNlcnZlckluc3RhbmNlSWQudHJpbSgpLGM9VW0odC5wYWNrYWdlVmVyc2lvbnx8dC5jdXJyZW50VmVyc2lvbiksZD0hYXx8by5sZW5ndGg+MCYmbyE9PWEsZj0haXx8Yz09PWk7cmV0dXJue3JlYWR5OmQmJmYsaW5zdGFuY2VSZWFkeTpkLHZlcnNpb25SZWFkeTpmLGN1cnJlbnRJbnN0YW5jZUlkOm8sY3VycmVudFZlcnNpb246Y319ZnVuY3Rpb24gU2soZSl7cmV0dXJuIGUubGFzdEVycm9yP2BcdTY3MERcdTUyQTFcdTY2ODJcdTRFMERcdTUzRUZcdTc1MjhcdUZGMENcdTZCNjNcdTU3MjhcdTdFRTdcdTdFRURcdTdCNDlcdTVGODVcdUZGMDgke2UuYXR0ZW1wdHN9LyR7ZS5tYXhBdHRlbXB0c31cdUZGMDlcdTIwMjZgOmUuYXR0ZW1wdHM9PT0wP2UubW9kZT09PSJhdXRvLXVwZGF0ZSI/Ilx1NkI2M1x1NTcyOFx1N0I0OVx1NUY4NVx1NjZGNFx1NjVCMFx1NUI4Q1x1NjIxMFx1NUU3Nlx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1MjAyNiI6Ilx1NkI2M1x1NTcyOFx1N0I0OVx1NUY4NVx1NjcwRFx1NTJBMVx1OTFDRFx1NjVCMFx1NTQyRlx1NTJBOFx1MjAyNiI6IWUucmVhZGluZXNzLmluc3RhbmNlUmVhZHkmJiFlLnJlYWRpbmVzcy52ZXJzaW9uUmVhZHk/YFx1NkI2M1x1NTcyOFx1N0I0OVx1NUY4NVx1NjVCMFx1NjcwRFx1NTJBMVx1NUI5RVx1NEY4Qlx1NTQ4Q1x1NzZFRVx1NjgwN1x1NzI0OFx1NjcyQ1x1RkYwOCR7ZS5hdHRlbXB0c30vJHtlLm1heEF0dGVtcHRzfVx1RkYwOVx1MjAyNmA6ZS5yZWFkaW5lc3MuaW5zdGFuY2VSZWFkeT9lLnJlYWRpbmVzcy52ZXJzaW9uUmVhZHk/YFx1NkI2M1x1NTcyOFx1N0I0OVx1NUY4NVx1NjcwRFx1NTJBMVx1NUMzMVx1N0VFQVx1RkYwOCR7ZS5hdHRlbXB0c30vJHtlLm1heEF0dGVtcHRzfVx1RkYwOVx1MjAyNmA6YFx1NjVCMFx1NjcwRFx1NTJBMVx1NURGMlx1NTQyRlx1NTJBOFx1RkYwQ1x1NkI2M1x1NTcyOFx1N0I0OVx1NUY4NVx1NzI0OFx1NjcyQyAke2UudGFyZ2V0LmV4cGVjdGVkVmVyc2lvbnx8ZS5sYXRlc3RWZXJzaW9ufHwiXHU3NkVFXHU2ODA3XHU3MjQ4XHU2NzJDIn1cdUZGMDgke2UuYXR0ZW1wdHN9LyR7ZS5tYXhBdHRlbXB0c31cdUZGMDlcdTIwMjZgOmBcdTc2RUVcdTY4MDdcdTcyNDhcdTY3MkNcdTVERjJcdTVDMzFcdTdFRUFcdUZGMENcdTZCNjNcdTU3MjhcdTdCNDlcdTVGODVcdTY1QjBcdTY3MERcdTUyQTFcdTVCOUVcdTRGOEJcdUZGMDgke2UuYXR0ZW1wdHN9LyR7ZS5tYXhBdHRlbXB0c31cdUZGMDlcdTIwMjZgfWZ1bmN0aW9uIEJrKGUpe2NvbnN0IHQ9ZS5tb2RlPT09ImF1dG8tdXBkYXRlIixhPXQ/Ilx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMFx1NEUyRCI6ZS50YXJnZXQuZXhwZWN0ZWRWZXJzaW9uPyJcdTZCNjNcdTU3MjhcdTVCOENcdTYyMTBcdTY2RjRcdTY1QjAiOiJcdTY3MERcdTUyQTFcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkYiLGk9dD9gJHtlLmN1cnJlbnRWZXJzaW9ufHwiLSJ9IFx1MjE5MiAke2UubGF0ZXN0VmVyc2lvbnx8Ii0ifQpcdTZCNjNcdTU3MjhcdTRFMEJcdThGN0RcdTVFNzZcdTVCODlcdTg4QzVcdTY1QjBcdTcyNDhcdTY3MkNcdUZGMENcdTVCOENcdTYyMTBcdTU0MEVcdTVDMDZcdTgxRUFcdTUyQThcdTkxQ0RcdTU0MkZcdTMwMDJgOmUudGFyZ2V0LmV4cGVjdGVkVmVyc2lvbj8iXHU1Qjg5XHU4OEM1XHU1QjhDXHU2MjEwXHU1RTc2XHU1NDJGXHU1MkE4XHU2NUIwXHU3MjQ4XHU2NzJDXHU1NDBFXHU1QzA2XHU4MUVBXHU1MkE4XHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyXHUzMDAyIjoiXHU2NzBEXHU1MkExXHU2MDYyXHU1OTBEXHU1NDBFXHU1QzA2XHU4MUVBXHU1MkE4XHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyXHUzMDAyIjtsZXQgbz0iIjtyZXR1cm4gZS5waGFzZT09PSJjaGVja2luZyI/bz1gXHU2QjYzXHU1NzI4XHU2OEMwXHU2N0U1XHU2NzBEXHU1MkExXHU3MkI2XHU2MDAxXHVGRjA4JHtlLmF0dGVtcHRzfS8ke2UubWF4QXR0ZW1wdHN9XHVGRjA5XHUyMDI2YDplLnBoYXNlPT09InJlYWR5Ij9vPSJcdTY1QjBcdTY3MERcdTUyQTFcdTU0OENcdTc2RUVcdTY4MDdcdTcyNDhcdTY3MkNcdTU3NDdcdTVERjJcdTVDMzFcdTdFRUFcdUZGMENcdTZCNjNcdTU3MjhcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdTIwMjYiOmUucGhhc2U9PT0idGltZWQtb3V0Ij9vPSJcdTdCNDlcdTVGODVcdTY3MERcdTUyQTFcdTkxQ0RcdTU0MkZcdThEODVcdTY1RjZcdUZGMENcdThCRjdcdTYyNEJcdTUyQThcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdTMwMDIiOmUucGhhc2U9PT0id2FpdGluZyImJihvPVNrKGUpKSx7dGl0bGU6YSxkZXNjcmlwdGlvbjppLGxpdmVTdGF0dXM6b319ZnVuY3Rpb24gSXcoZSl7cmV0dXJuISFlJiZ0eXBlb2YgZT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGUpfWZ1bmN0aW9uIFdkKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyI/ZToiIn1mdW5jdGlvbiBrayhlKXtjb25zdCB0PUl3KGUpP2U6e307cmV0dXJue3NlcnZlckluc3RhbmNlSWQ6V2QodC5zZXJ2ZXJJbnN0YW5jZUlkKSxwYWNrYWdlVmVyc2lvbjpXZCh0LnBhY2thZ2VWZXJzaW9uKSxjdXJyZW50VmVyc2lvbjpXZCh0LmN1cnJlbnRWZXJzaW9uKX19dmFyIEx3PWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0PTApe3N1cGVyKGUpLHB0KHRoaXMsInN0YXR1cyIsdCksdGhpcy5uYW1lPSJSZXN0YXJ0T3ZlcmxheVJlcG9zaXRvcnlFcnJvciJ9fSxUaz1jbGFzc3tjb25zdHJ1Y3RvcihlPSh0LGEpPT5nbG9iYWxUaGlzLmZldGNoKHQsYSkpe3B0KHRoaXMsImZldGNoSW1wbCIsZSl9YXN5bmMgbG9hZENvbmZpZyhlPXt9KXtjb25zdCB0PWF3YWl0IHRoaXMuZmV0Y2hJbXBsKCIvYXBpL2NvbmZpZyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsc2lnbmFsOmUuc2lnbmFsfSk7bGV0IGE7dHJ5e2E9YXdhaXQgdC5qc29uKCl9Y2F0Y2h7dGhyb3cgbmV3IEx3KGBcdTY3MERcdTUyQTFcdTcyQjZcdTYwMDFcdTU0Q0RcdTVFOTRcdTY1RTBcdTY1NDhcdUZGMDhIVFRQICR7dC5zdGF0dXN9XHVGRjA5XHUzMDAyYCx0LnN0YXR1cyl9Y29uc3QgaT1JdyhhKT9hOnt9O2lmKCF0Lm9rfHx0eXBlb2YgaS5lcnJvcj09InN0cmluZyIpdGhyb3cgbmV3IEx3KFdkKGkuZXJyb3IpfHxgXHU2NzBEXHU1MkExXHU1QzFBXHU2NzJBXHU1QzMxXHU3RUVBXHVGRjA4SFRUUCAke3Quc3RhdHVzfVx1RkYwOVx1MzAwMmAsdC5zdGF0dXMpO3JldHVybiBrayhpKX19LGprPW5ldyBUayxWbT0yZTMsS2Q9MTgwLE1rPVZtLE9rPVZtKktkO2Z1bmN0aW9uIHp3KGU9MCl7cmV0dXJue29wZW46ITEsbW9kZToicmVzdGFydCIscGhhc2U6ImlkbGUiLGN1cnJlbnRWZXJzaW9uOiIiLGxhdGVzdFZlcnNpb246IiIsdGFyZ2V0OntwcmV2aW91c0luc3RhbmNlSWQ6IiIsZXhwZWN0ZWRWZXJzaW9uOiIifSxhdHRlbXB0czowLG1heEF0dGVtcHRzOktkLHJlYWRpbmVzczp7cmVhZHk6ITEsaW5zdGFuY2VSZWFkeTohMSx2ZXJzaW9uUmVhZHk6ITEsY3VycmVudEluc3RhbmNlSWQ6IiIsY3VycmVudFZlcnNpb246IiJ9LGxhc3RFcnJvcjoiIixyZXZpc2lvbjplfX1mdW5jdGlvbiBIdyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yJiZlLm1lc3NhZ2U/ZS5tZXNzYWdlOiJcdTY3MERcdTUyQTFcdTVDMUFcdTY3MkFcdTVDMzFcdTdFRUFcdTMwMDIifWZ1bmN0aW9uIFFkKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyI/ZS50cmltKCk6IiJ9ZnVuY3Rpb24gX2soZSl7bGV0IHQ9encoKSxhPW51bGwsaT1udWxsLG89bnVsbCxjPW51bGwsZD0wO2NvbnN0IGY9bmV3IFNldDtmdW5jdGlvbiBtKFQpe3Q9ey4uLnQsLi4uVCxyZXZpc2lvbjp0LnJldmlzaW9uKzF9O2Zvcihjb25zdCBrIG9mIGYpaygpfWZ1bmN0aW9uIGgoKXthIT09bnVsbCYmKGUuY2xvY2suY2xlYXJJbnRlcnZhbChhKSxhPW51bGwpfWZ1bmN0aW9uIGcoKXtpIT09bnVsbCYmKGUuY2xvY2suY2xlYXJUaW1lb3V0KGkpLGk9bnVsbCl9ZnVuY3Rpb24gYigpe28hPT1udWxsJiYoZS5jbG9jay5jbGVhclRpbWVvdXQobyksbz1udWxsKX1mdW5jdGlvbiB5KFQ9bmV3IERPTUV4Y2VwdGlvbigiUmVzdGFydCBwcm9iZSBjYW5jZWxsZWQuIiwiQWJvcnRFcnJvciIpKXtiKCk7Y29uc3Qgaz1jO2M9bnVsbCxrPy5hYm9ydChUKX1mdW5jdGlvbiBDKCl7aCgpLGcoKX1mdW5jdGlvbiB3KCl7QygpLHkoKX1mdW5jdGlvbiB4KFQpe1QhPT1kfHwhdC5vcGVufHx0LnBoYXNlPT09InJlYWR5Inx8dC5waGFzZT09PSJ0aW1lZC1vdXQifHwoQygpLHkoKSxtKHtwaGFzZToidGltZWQtb3V0In0pKX1mdW5jdGlvbiBGKFQpe20oe3BoYXNlOiJ0aW1lZC1vdXQiLGxhc3RFcnJvcjpIdyhUKX0pfWZ1bmN0aW9uIEEoKXt0cnl7ZS5yZWxvYWRQYWdlKCl9Y2F0Y2goVCl7RihUKX19YXN5bmMgZnVuY3Rpb24gRChUKXtpZihUIT09ZHx8IXQub3Blbnx8dC5waGFzZT09PSJ0aW1lZC1vdXQifHx0LnBoYXNlPT09InJlYWR5IilyZXR1cm47YyE9PW51bGwmJnkobmV3IERPTUV4Y2VwdGlvbigiUmVzdGFydCBwcm9iZSB0aW1lZCBvdXQuIiwiVGltZW91dEVycm9yIikpO2NvbnN0IGs9bmV3IEFib3J0Q29udHJvbGxlcjtjPWs7Y29uc3QgTT10LmF0dGVtcHRzKzE7bSh7cGhhc2U6ImNoZWNraW5nIixhdHRlbXB0czpNLGxhc3RFcnJvcjoiIn0pO2xldCB6PSgpPT57fTtjb25zdCBPPW5ldyBQcm9taXNlKChlZSxaKT0+e2NvbnN0IHZlPSgpPT57eigpLFooay5zaWduYWwucmVhc29uIGluc3RhbmNlb2YgRXJyb3I/ay5zaWduYWwucmVhc29uOm5ldyBET01FeGNlcHRpb24oIlJlc3RhcnQgcHJvYmUgY2FuY2VsbGVkLiIsIkFib3J0RXJyb3IiKSl9O3o9KCk9Pmsuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0Iix2ZSksay5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHZlLHtvbmNlOiEwfSl9KTtvPWUuY2xvY2suc2V0VGltZW91dCgoKT0+e1QhPT1kfHxjIT09a3x8ay5hYm9ydChuZXcgRE9NRXhjZXB0aW9uKCJSZXN0YXJ0IHByb2JlIHRpbWVkIG91dC4iLCJUaW1lb3V0RXJyb3IiKSl9LE1rKTtsZXQgcmU9ITE7dHJ5e2NvbnN0IGVlPWF3YWl0IFByb21pc2UucmFjZShbZS5yZXBvc2l0b3J5LmxvYWRDb25maWcoe3NpZ25hbDprLnNpZ25hbH0pLE9dKTtpZihrLnNpZ25hbC5hYm9ydGVkfHxUIT09ZHx8YyE9PWt8fCF0Lm9wZW4pcmV0dXJuO2NvbnN0IFo9QWsodC50YXJnZXQsZWUpO3JlPVoucmVhZHksbSh7cGhhc2U6Wi5yZWFkeT8icmVhZHkiOiJ3YWl0aW5nIixyZWFkaW5lc3M6WixsYXN0RXJyb3I6IiJ9KSxaLnJlYWR5JiYoQygpLEEoKSl9Y2F0Y2goZWUpe2lmKFQhPT1kfHxjIT09a3x8IXQub3BlbilyZXR1cm47aWYoay5zaWduYWwuYWJvcnRlZCYmay5zaWduYWwucmVhc29uIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uKXtpZihrLnNpZ25hbC5yZWFzb24ubmFtZSE9PSJUaW1lb3V0RXJyb3IiKXJldHVybjttKHtwaGFzZToid2FpdGluZyIsbGFzdEVycm9yOiJcdTY3MERcdTUyQTFcdTcyQjZcdTYwMDFcdTY4QzBcdTY3RTVcdThEODVcdTY1RjZcdUZGMENcdTZCNjNcdTU3MjhcdTkxQ0RcdThCRDVcdTMwMDIifSl9ZWxzZSBtKHtwaGFzZToid2FpdGluZyIsbGFzdEVycm9yOkh3KGVlKX0pfWZpbmFsbHl7eigpLGM9PT1rJiYoYigpLGM9bnVsbCl9IXJlJiZUPT09ZCYmdC5vcGVuJiZNPj1LZCYmeChUKX1mdW5jdGlvbiBCKFQsayxNLHosTyl7ZCs9MSx3KCk7Y29uc3QgcmU9e3ByZXZpb3VzSW5zdGFuY2VJZDpRZCh6KSxleHBlY3RlZFZlcnNpb246VW0oTyl9O3Q9e29wZW46ITAsbW9kZTpULHBoYXNlOiJ3YWl0aW5nIixjdXJyZW50VmVyc2lvbjpRZChrKSxsYXRlc3RWZXJzaW9uOlFkKE0pLHRhcmdldDpyZSxhdHRlbXB0czowLG1heEF0dGVtcHRzOktkLHJlYWRpbmVzczp7cmVhZHk6ITEsaW5zdGFuY2VSZWFkeTohcmUucHJldmlvdXNJbnN0YW5jZUlkLHZlcnNpb25SZWFkeTohcmUuZXhwZWN0ZWRWZXJzaW9uLGN1cnJlbnRJbnN0YW5jZUlkOiIiLGN1cnJlbnRWZXJzaW9uOiIifSxsYXN0RXJyb3I6IiIscmV2aXNpb246dC5yZXZpc2lvbisxfTtmb3IoY29uc3QgWiBvZiBmKVooKTtjb25zdCBlZT1kO2E9ZS5jbG9jay5zZXRJbnRlcnZhbCgoKT0+e0QoZWUpfSxWbSksaT1lLmNsb2NrLnNldFRpbWVvdXQoKCk9PngoZWUpLE9rKX1yZXR1cm57c2hvd1Jlc3RhcnQoVCxrKXtCKCJyZXN0YXJ0IiwiIixRZChrKSxULGspfSxzaG93QXV0b1VwZGF0ZShULGssTSl7QigiYXV0by11cGRhdGUiLFQsayxNLGspfSxtYW51YWxSZWZyZXNoKCl7dC5vcGVuJiZBKCl9LGlzT3Blbigpe3JldHVybiB0Lm9wZW59LHN1YnNjcmliZShUKXtyZXR1cm4gZi5hZGQoVCksKCk9PmYuZGVsZXRlKFQpfSxnZXRTbmFwc2hvdCgpe3JldHVybiB0fSxkaXNwb3NlKCl7aWYoZCs9MSx3KCksISghdC5vcGVuJiZ0LnBoYXNlPT09ImlkbGUiKSl7dD16dyh0LnJldmlzaW9uKzEpO2Zvcihjb25zdCBUIG9mIGYpVCgpfX19fXZhciBOaz17c2V0SW50ZXJ2YWwoZSx0KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXRJbnRlcnZhbCgoKT0+e2UoKX0sdCl9LGNsZWFySW50ZXJ2YWwoZSl7Z2xvYmFsVGhpcy5jbGVhckludGVydmFsKGUpfSxzZXRUaW1lb3V0KGUsdCl7cmV0dXJuIGdsb2JhbFRoaXMuc2V0VGltZW91dCgoKT0+e2UoKX0sdCl9LGNsZWFyVGltZW91dChlKXtnbG9iYWxUaGlzLmNsZWFyVGltZW91dChlKX19LEx1PV9rKHtyZXBvc2l0b3J5OmprLGNsb2NrOk5rLHJlbG9hZFBhZ2U6KCk9Pmdsb2JhbFRoaXMubG9jYXRpb24ucmVsb2FkKCl9KTtmdW5jdGlvbiBSayhlLHQpe0x1LnNob3dSZXN0YXJ0KGUsdCl9ZnVuY3Rpb24gSWsoZSx0LGEpe0x1LnNob3dBdXRvVXBkYXRlKGUsdCxhKX12YXIgTGs9U3RyaW5nLnJhd2AKLndhbmQtcmVzdGFydC1iYWNrZHJvcCB7CiAgcG9zaXRpb246IGZpeGVkOwogIGluc2V0OiAwOwogIHotaW5kZXg6IDEwMDsKICBiYWNrZ3JvdW5kOiByZ2JhKDE4LCAxMywgOSwgMC43OCk7CiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpIHNhdHVyYXRlKDEyMCUpOwogIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpIHNhdHVyYXRlKDEyMCUpOwogIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogIGFuaW1hdGlvbjogd2FuZC1yZXN0YXJ0LWZhZGUtaW4gMTgwbXMgZWFzZS1vdXQ7Cn0KCi53YW5kLXJlc3RhcnQtc3VyZmFjZSB7CiAgcG9zaXRpb246IGZpeGVkOwogIGluc2V0OiAwOwogIHotaW5kZXg6IDEwMTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IDEwMHZ3OwogIGhlaWdodDogMTAwZHZoOwogIG1heC1oZWlnaHQ6IG5vbmU7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG92ZXJmbG93OiBhdXRvOwogIGJvcmRlcjogMDsKICBib3JkZXItcmFkaXVzOiAwOwogIHBhZGRpbmc6CiAgICBjYWxjKDI0cHggKyB2YXIoLS13YW5kLXNhZmUtdG9wKSkKICAgIGNhbGMoMjRweCArIHZhcigtLXdhbmQtc2FmZS1yaWdodCkpCiAgICBjYWxjKDI0cHggKyB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSkKICAgIGNhbGMoMjRweCArIHZhcigtLXdhbmQtc2FmZS1sZWZ0KSk7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogbm9uZTsKICB0cmFuc2Zvcm06IG5vbmU7CiAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgb3V0bGluZTogbm9uZTsKfQoKLndhbmQtcmVzdGFydC1zdXJmYWNlW2RhdGEtc3RhdGU9Im9wZW4iXSwKLndhbmQtcmVzdGFydC1zdXJmYWNlW2RhdGEtc3RhdGU9ImNsb3NlZCJdIHsKICBhbmltYXRpb246IG5vbmU7Cn0KCi53YW5kLXJlc3RhcnQtaGVhZGVyIHsKICB3aWR0aDogbWluKDUyMHB4LCAxMDAlKTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi53YW5kLXJlc3RhcnQtaGVhZGVyID4gZGl2IHsKICBtaW4td2lkdGg6IDA7Cn0KCi53YW5kLXJlc3RhcnQtaGVhZGVyID4gLndhbmQtdWktYnV0dG9uIHsKICBkaXNwbGF5OiBub25lOwp9Cgoud2FuZC1yZXN0YXJ0LXRpdGxlIHsKICBtYXJnaW46IDA7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiBjbGFtcCgxLjM1cmVtLCAzLjR2dywgMS44cmVtKTsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOwogIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7Cn0KCi53YW5kLXJlc3RhcnQtZGVzY3JpcHRpb24gewogIG1hcmdpbjogMTBweCAwIDA7CiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43OCk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwogIGxpbmUtaGVpZ2h0OiAxLjY1OwogIHdoaXRlLXNwYWNlOiBwcmUtbGluZTsKfQoKLndhbmQtcmVzdGFydC1ib2R5IHsKICBkaXNwbGF5OiBncmlkOwogIHdpZHRoOiBtaW4oNTIwcHgsIDEwMCUpOwogIHBsYWNlLWl0ZW1zOiBjZW50ZXI7CiAgZ2FwOiAxNnB4OwogIG1hcmdpbi10b3A6IDIycHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Cgoud2FuZC1yZXN0YXJ0LXNwaW5uZXIgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgd2lkdGg6IDQycHg7CiAgaGVpZ2h0OiA0MnB4OwogIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7CiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYW5pbWF0aW9uOiB3YW5kLXJlc3RhcnQtc3BpbiA4MDBtcyBsaW5lYXIgaW5maW5pdGU7Cn0KCi53YW5kLXJlc3RhcnQtbGl2ZSB7CiAgbWluLWhlaWdodDogMS42ZW07CiAgbWFyZ2luOiAwOwogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODgpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKICBsaW5lLWhlaWdodDogMS42OwogIG91dGxpbmU6IG5vbmU7Cn0KCi53YW5kLXJlc3RhcnQtcHJvZ3Jlc3MgewogIHdpZHRoOiBtaW4oMzAwcHgsIDc2dncpOwogIGhlaWdodDogNHB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTsKICBjb2xvcjogdmFyKC0tYWNjZW50KTsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpOwp9Cgoud2FuZC1yZXN0YXJ0LXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJhciB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7Cn0KCi53YW5kLXJlc3RhcnQtcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOwp9Cgoud2FuZC1yZXN0YXJ0LXByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOwogIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7Cn0KCi53YW5kLXJlc3RhcnQtYXR0ZW1wdHMgewogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTYpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsKfQoKLndhbmQtcmVzdGFydC1tYW51YWwgewogIG1pbi13aWR0aDogMTM2cHg7CiAgbWFyZ2luLXRvcDogMnB4Owp9CgpAa2V5ZnJhbWVzIHdhbmQtcmVzdGFydC1zcGluIHsKICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KfQoKQGtleWZyYW1lcyB3YW5kLXJlc3RhcnQtZmFkZS1pbiB7CiAgZnJvbSB7IG9wYWNpdHk6IDA7IH0KICB0byB7IG9wYWNpdHk6IDE7IH0KfQoKQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgLndhbmQtcmVzdGFydC1zdXJmYWNlIHsKICAgIHBhZGRpbmc6CiAgICAgIGNhbGMoMThweCArIHZhcigtLXdhbmQtc2FmZS10b3ApKQogICAgICBjYWxjKDE4cHggKyB2YXIoLS13YW5kLXNhZmUtcmlnaHQpKQogICAgICBjYWxjKDE4cHggKyB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSkKICAgICAgY2FsYygxOHB4ICsgdmFyKC0td2FuZC1zYWZlLWxlZnQpKTsKICB9CgogIC53YW5kLXJlc3RhcnQtZGVzY3JpcHRpb24geyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7IH0KICAud2FuZC1yZXN0YXJ0LWJvZHkgeyBnYXA6IDE0cHg7IG1hcmdpbi10b3A6IDE4cHg7IH0KICAud2FuZC1yZXN0YXJ0LXNwaW5uZXIgeyB3aWR0aDogMzhweDsgaGVpZ2h0OiAzOHB4OyB9CiAgLndhbmQtcmVzdGFydC1tYW51YWwgeyB3aWR0aDogbWluKDI4MHB4LCAxMDAlKTsgfQp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogIC53YW5kLXJlc3RhcnQtYmFja2Ryb3AgeyBhbmltYXRpb246IG5vbmU7IH0KICAud2FuZC1yZXN0YXJ0LXNwaW5uZXIgeyBhbmltYXRpb24tZHVyYXRpb246IDEuOHM7IH0KfQpgLEZhPWxlKHFlKCksMSk7ZnVuY3Rpb24gemsoe2NvbnRyb2xsZXI6ZT1MdX0pe2NvbnN0IHQ9KDAsUG0udXNlU3luY0V4dGVybmFsU3RvcmUpKGUuc3Vic2NyaWJlLGUuZ2V0U25hcHNob3QsZS5nZXRTbmFwc2hvdCksYT1Cayh0KSxpPSgwLFBtLnVzZVJlZikobnVsbCk7KDAsUG0udXNlRWZmZWN0KSgoKT0+e3QucGhhc2U9PT0idGltZWQtb3V0IiYmaS5jdXJyZW50Py5mb2N1cygpfSxbdC5waGFzZV0pO2NvbnN0IG89dC5waGFzZT09PSJ3YWl0aW5nInx8dC5waGFzZT09PSJjaGVja2luZyIsYz1NYXRoLm1pbih0LmF0dGVtcHRzLHQubWF4QXR0ZW1wdHMpO3JldHVybigwLEZhLmpzeHMpKEZhLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsRmEuanN4KSgic3R5bGUiLHsiZGF0YS13YW5kLXJlc3RhcnQtb3ZlcmxheS1zdHlsZXMiOiEwLGNoaWxkcmVuOkxrfSksKDAsRmEuanN4KShqcix7b3Blbjp0Lm9wZW4sb25PcGVuQ2hhbmdlOigpPT57fSx0aXRsZTphLnRpdGxlLGRlc2NyaXB0aW9uOmEuZGVzY3JpcHRpb24sY2xhc3NOYW1lOiJ3YW5kLXJlc3RhcnQtc3VyZmFjZSIsb3ZlcmxheUNsYXNzTmFtZToid2FuZC1yZXN0YXJ0LWJhY2tkcm9wIixoZWFkZXJDbGFzc05hbWU6IndhbmQtcmVzdGFydC1oZWFkZXIiLHRpdGxlQ2xhc3NOYW1lOiJ3YW5kLXJlc3RhcnQtdGl0bGUiLGRlc2NyaXB0aW9uQ2xhc3NOYW1lOiJ3YW5kLXJlc3RhcnQtZGVzY3JpcHRpb24iLGNsb3NlTGFiZWw6Ilx1NjcwRFx1NTJBMVx1OTFDRFx1NTQyRlx1NjcxRlx1OTVGNFx1NjVFMFx1NkNENVx1NTE3M1x1OTVFRCIsdGVzdElkOiJyZXN0YXJ0LW92ZXJsYXkiLGRpc21pc3NhYmxlOiExLGNoaWxkcmVuOigwLEZhLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtcmVzdGFydC1ib2R5IiwiYXJpYS1idXN5IjpvLGNoaWxkcmVuOlt0LnBoYXNlIT09InRpbWVkLW91dCI/KDAsRmEuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLXJlc3RhcnQtc3Bpbm5lciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KTpudWxsLCgwLEZhLmpzeCkoInAiLHtjbGFzc05hbWU6IndhbmQtcmVzdGFydC1saXZlIixyb2xlOnQucGhhc2U9PT0idGltZWQtb3V0Ij8iYWxlcnQiOiJzdGF0dXMiLCJhcmlhLWxpdmUiOnQucGhhc2U9PT0idGltZWQtb3V0Ij8iYXNzZXJ0aXZlIjoicG9saXRlIiwiZGF0YS13YW5kLWF1dG9mb2N1cyI6InRydWUiLHRhYkluZGV4Oi0xLGNoaWxkcmVuOmEubGl2ZVN0YXR1c30pLHQucGhhc2UhPT0idGltZWQtb3V0Ij8oMCxGYS5qc3hzKShGYS5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEZhLmpzeCkoInByb2dyZXNzIix7Y2xhc3NOYW1lOiJ3YW5kLXJlc3RhcnQtcHJvZ3Jlc3MiLG1heDp0Lm1heEF0dGVtcHRzLHZhbHVlOmMsImFyaWEtbGFiZWwiOiJcdTdCNDlcdTVGODVcdTY3MERcdTUyQTFcdTkxQ0RcdTU0MkZcdThGREJcdTVFQTYifSksKDAsRmEuanN4cykoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtcmVzdGFydC1hdHRlbXB0cyIsY2hpbGRyZW46WyJcdTVERjJcdTY4QzBcdTY3RTUgIix0LmF0dGVtcHRzLCIgLyAiLHQubWF4QXR0ZW1wdHMsIiBcdTZCMjEiXX0pXX0pOigwLEZhLmpzeCkoR2Use3JlZjppLGNsYXNzTmFtZToid2FuZC1yZXN0YXJ0LW1hbnVhbCIsa2luZDoicHJpbWFyeSIsb25DbGljazooKT0+ZS5tYW51YWxSZWZyZXNoKCksY2hpbGRyZW46Ilx1NjI0Qlx1NTJBOFx1NTIzN1x1NjVCMCJ9KV19KX0pXX0pfXZhciB2bD1sZShBZSgpLDEpLHF3PTEzLEhrPTEwLHFrPTIyO2Z1bmN0aW9uIFhkKGUpe2NvbnN0IHQ9ZS50cmltKCkucmVwbGFjZSgvW1xcL10rJC8sIiIpO3JldHVybiB0LnNwbGl0KC9bXFwvXS8pLnBvcCgpfHx0fHwiZmlsZSJ9ZnVuY3Rpb24gUGsoZSl7Y29uc3QgdD1lLmxhc3RJbmRleE9mKCIuIik7cmV0dXJuIHQ+MD9lLnNsaWNlKHQpLnRvTG93ZXJDYXNlKCk6IiJ9ZnVuY3Rpb24gVWsoZSl7Y29uc3QgdD10eXBlb2YgZT09InN0cmluZyI/e3BhdGg6ZX06ZSxhPXQucGF0aC50cmltKCk7aWYoIWEpcmV0dXJuIG51bGw7Y29uc3QgaT1uZXcgU2V0LG89W107Zm9yKGNvbnN0IGMgb2YgdC5zaWJsaW5ncz8/W10pe2NvbnN0IGQ9Yy5wYXRoLnRyaW0oKTshZHx8Yy50eXBlPT09ImRpciJ8fGkuaGFzKGQpfHwoaS5hZGQoZCksby5wdXNoKHtwYXRoOmQsbmFtZTpjLm5hbWU/LnRyaW0oKXx8WGQoZCksdHlwZToiZmlsZSJ9KSl9cmV0dXJue3BhdGg6YSxzaWJsaW5nczpvfX1mdW5jdGlvbiBHbShlLHQpe2NvbnN0IGE9ZT8uc2libGluZ3M/P1tdO2lmKGEubGVuZ3RoPDJ8fCFlKXJldHVybiBudWxsO2NvbnN0IGk9YS5maW5kSW5kZXgoZD0+ZC5wYXRoPT09ZS5wYXRoKTtpZihpPDApcmV0dXJuIG51bGw7Y29uc3Qgbz0oaSt0K2EubGVuZ3RoKSVhLmxlbmd0aCxjPWFbb107cmV0dXJuIGMmJmMucGF0aCE9PWUucGF0aD9jOm51bGx9ZnVuY3Rpb24gVmsoZSl7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShlKT9NYXRoLm1heChIayxNYXRoLm1pbihxayxNYXRoLnJvdW5kKGUpKSk6cXd9ZnVuY3Rpb24gUHcoKXtyZXR1cm4gcXd9ZnVuY3Rpb24gbWwoZSl7Y29uc3QgdD10eXBlb2YgZT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZShlKT9NYXRoLm1heCgwLGUpOjA7aWYodDwxMDI0KXJldHVybmAke01hdGgucm91bmQodCl9IEJgO2NvbnN0IGE9WyJLQiIsIk1CIiwiR0IiLCJUQiJdO2xldCBpPXQvMTAyNCxvPTA7Zm9yKDtpPj0xMDI0JiZvPGEubGVuZ3RoLTE7KWkvPTEwMjQsbys9MTtyZXR1cm5gJHtpPj0xMD9pLnRvRml4ZWQoMCk6aS50b0ZpeGVkKDEpfSAke2Fbb119YH1mdW5jdGlvbiBHayhlKXtyZXR1cm4gZS5raW5kPT09InRleHQiP2UubGFuZ3x8ZS5leHQucmVwbGFjZSgvXlwuLywiIil8fCJ0ZXh0Ijp7aW1hZ2U6Ilx1NTZGRVx1NzI0NyIscGRmOiJQREYiLHZpZGVvOiJcdTg5QzZcdTk4OTEiLGF1ZGlvOiJcdTk3RjNcdTk4OTEiLGJpbmFyeToiXHU0RThDXHU4RkRCXHU1MjM2In1bZS5raW5kXXx8ZS5leHQucmVwbGFjZSgvXlwuLywiIil8fGUua2luZH1mdW5jdGlvbiBZayhlKXtzd2l0Y2goZSl7Y2FzZSJpbWFnZSI6cmV0dXJuIlx1MjVBNyI7Y2FzZSJwZGYiOnJldHVybiJQREYiO2Nhc2UidmlkZW8iOnJldHVybiJcdTI1QjYiO2Nhc2UiYXVkaW8iOnJldHVybiJcdTI2NkIiO2Nhc2UiYmluYXJ5IjpyZXR1cm4iXHUyNUM3IjtkZWZhdWx0OnJldHVybiJcdTIyNjEifX1mdW5jdGlvbiBXayhlKXtyZXR1cm4gZS5sYW5nPT09Im1hcmtkb3duInx8L1wuKG1kfG1hcmtkb3dufG1keCkkL2kudGVzdChlLm5hbWUpfWZ1bmN0aW9uIEtrKGUpe3JldHVybmAnJHtlLnJlcGxhY2UoLycvZywiJ1xcJyciKX0nYH12YXIgUWs9bmV3IFNldChbImFic3RyYWN0IiwiYXMiLCJhc3luYyIsImF3YWl0IiwiYnJlYWsiLCJjYXNlIiwiY2F0Y2giLCJjbGFzcyIsImNvbnN0IiwiY29udGludWUiLCJkZWZhdWx0IiwiZGVmIiwiZGVsZXRlIiwiZG8iLCJlbHNlIiwiZW51bSIsImV4cG9ydCIsImV4dGVuZHMiLCJmYWxzZSIsImZpbmFsbHkiLCJmbiIsImZvciIsImZyb20iLCJmdW5jIiwiZnVuY3Rpb24iLCJnbyIsImlmIiwiaW1wbCIsImltcG9ydCIsImluIiwiaW5zdGFuY2VvZiIsImludGVyZmFjZSIsImxldCIsIm1hdGNoIiwibW9kIiwibmV3IiwibmlsIiwibnVsbCIsIm9mIiwicGFja2FnZSIsInBhc3MiLCJwcml2YXRlIiwicHJvdGVjdGVkIiwicHViIiwicHVibGljIiwicmFpc2UiLCJyZWFkb25seSIsInJldHVybiIsInNlbGYiLCJzdGF0aWMiLCJzdHJ1Y3QiLCJzdXBlciIsInN3aXRjaCIsInRocm93IiwidHJhaXQiLCJ0cnVlIiwidHJ5IiwidHlwZSIsInR5cGVvZiIsInVuZGVmaW5lZCIsInVuc2FmZSIsInVzZSIsInZhciIsInZvaWQiLCJ3aGlsZSIsIndpdGgiLCJ5aWVsZCJdKSxYaz0vXC9cL1teXG5dKnwjW15cbl0qfCIoPzpbXiJcXF18XFwuKSoifCcoPzpbXidcXF18XFwuKSonfGAoPzpbXmBcXF18XFwuKSpgfFxiKD86MHhbXGRhLWZBLUZdK3wwYlswMV0rfFxkKyg/OlwuXGQrKT8pXGJ8XGJbQS1aYS16XyRdW1x3JF0qXGJ8WytcLSovJT08PiEmfF5+PzpdKy9nO2Z1bmN0aW9uIFV3KGUpe2NvbnN0IHQ9W107bGV0IGE9MDtmb3IoY29uc3QgaSBvZiBlLm1hdGNoQWxsKFhrKSl7Y29uc3Qgbz1pLmluZGV4Pz8wO28+YSYmdC5wdXNoKHt2YWx1ZTplLnNsaWNlKGEsbyl9KTtjb25zdCBjPWlbMF07bGV0IGQ7Yy5zdGFydHNXaXRoKCIvLyIpfHxjLnN0YXJ0c1dpdGgoIiMiKT9kPSJjb21tZW50IjovXlsiJ2BdLy50ZXN0KGMpP2Q9InN0cmluZyI6L14oPzoweHwwYnxcZCkvLnRlc3QoYyk/ZD0ibnVtYmVyIjpRay5oYXMoYyk/ZD0ia2V5d29yZCI6L15bK1wtKi8lPTw+ISZ8Xn4/Ol0rJC8udGVzdChjKSYmKGQ9Im9wZXJhdG9yIiksdC5wdXNoKHt2YWx1ZTpjLGtpbmQ6ZH0pLGE9bytjLmxlbmd0aH1yZXR1cm4gYTxlLmxlbmd0aCYmdC5wdXNoKHt2YWx1ZTplLnNsaWNlKGEpfSksdH1mdW5jdGlvbiBWdyhlLHQ9ITEpe2NvbnN0IGE9ZS50cmltKCk7cmV0dXJuL14oPzpodHRwcz86fG1haWx0bzp8I3xcLykvaS50ZXN0KGEpfHx0JiYvXmRhdGE6aW1hZ2VcLyg/OnBuZ3xnaWZ8anBlP2d8d2VicCk7YmFzZTY0LC9pLnRlc3QoYSk/YTpudWxsfWZ1bmN0aW9uIFltKGUpe2xldCB0PWUudHJpbSgpO3JldHVybiB0LnN0YXJ0c1dpdGgoInwiKSYmKHQ9dC5zbGljZSgxKSksdC5lbmRzV2l0aCgifCIpJiYodD10LnNsaWNlKDAsLTEpKSx0LnNwbGl0KCJ8Iil9dmFyICRrPS8oIVxbW15cXV0qXF1cKFteKV0rXCl8XFtbXlxdXStcXVwoW14pXStcKXxgW15gXStgfFwqXCpbXipdK1wqXCp8fn5bXn5dK35+fFwqW14qXStcKikvZztmdW5jdGlvbiBMbyhlKXtjb25zdCB0PVtdO2xldCBhPTA7Zm9yKGNvbnN0IGkgb2YgZS5tYXRjaEFsbCgkaykpe2NvbnN0IG89aS5pbmRleD8/MDtvPmEmJnQucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6ZS5zbGljZShhLG8pfSk7Y29uc3QgYz1pWzBdLGQ9L14hXFsoW15cXV0qKVxdXCgoW14pXSspXCkkLy5leGVjKGMpLGY9L15cWyhbXlxdXSspXF1cKChbXildKylcKSQvLmV4ZWMoYyk7aWYoZCl7Y29uc3QgbT1WdyhkWzJdLCEwKTt0LnB1c2gobT97dHlwZToiaW1hZ2UiLHZhbHVlOmRbMV0sdXJsOm19Ont0eXBlOiJ0ZXh0Iix2YWx1ZTpkWzFdfSl9ZWxzZSBpZihmKXtjb25zdCBtPVZ3KGZbMl0pO3QucHVzaChtP3t0eXBlOiJsaW5rIix2YWx1ZTpmWzFdLHVybDptfTp7dHlwZToidGV4dCIsdmFsdWU6ZlsxXX0pfWVsc2UgYy5zdGFydHNXaXRoKCJgIik/dC5wdXNoKHt0eXBlOiJjb2RlIix2YWx1ZTpjLnNsaWNlKDEsLTEpfSk6Yy5zdGFydHNXaXRoKCIqKiIpP3QucHVzaCh7dHlwZToic3Ryb25nIix2YWx1ZTpjLnNsaWNlKDIsLTIpfSk6Yy5zdGFydHNXaXRoKCJ+fiIpP3QucHVzaCh7dHlwZToiZGVsZXRlIix2YWx1ZTpjLnNsaWNlKDIsLTIpfSk6dC5wdXNoKHt0eXBlOiJlbXBoYXNpcyIsdmFsdWU6Yy5zbGljZSgxLC0xKX0pO2E9bytjLmxlbmd0aH1yZXR1cm4gYTxlLmxlbmd0aCYmdC5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTplLnNsaWNlKGEpfSksdH1mdW5jdGlvbiBaayhlLHQpe2NvbnN0IGE9ZVt0XT8/IiIsaT1lW3QrMV0/LnRyaW0oKT8/IiI7cmV0dXJuL15gYGAvLnRlc3QoYSl8fC9eI3sxLDZ9XHMrLy50ZXN0KGEpfHwvXj5ccz8vLnRlc3QoYSl8fC9eWy0qXVxzKy8udGVzdChhKXx8L15cZCtcLlxzKy8udGVzdChhKXx8L14oPzotLS0rfFwqXCpcKispJC8udGVzdChhLnRyaW0oKSl8fGEuaW5jbHVkZXMoInwiKSYmL15cfD9ccyo6Py0rOj8oXHMqXHxccyo6Py0rOj8pK1xzKlx8PyQvLnRlc3QoaSl9ZnVuY3Rpb24gSmsoZSl7Y29uc3QgdD1lLnNwbGl0KGAKYCksYT1bXTtsZXQgaT0wO2Zvcig7aTx0Lmxlbmd0aDspe2NvbnN0IG89dFtpXTtpZighby50cmltKCkpe2krPTE7Y29udGludWV9Y29uc3QgYz0vXmBgYChbXHcrLV0qKVxzKiQvLmV4ZWMobyk7aWYoYyl7Y29uc3QgYj1bXTtmb3IoaSs9MTtpPHQubGVuZ3RoJiYhL15gYGBccyokLy50ZXN0KHRbaV0pOyliLnB1c2godFtpXSksaSs9MTtpPHQubGVuZ3RoJiYoaSs9MSksYS5wdXNoKHt0eXBlOiJjb2RlIixsYW5nOmNbMV0sdmFsdWU6Yi5qb2luKGAKYCl9KTtjb250aW51ZX1jb25zdCBkPS9eKCN7MSw2fSlccysoLiopJC8uZXhlYyhvKTtpZihkKXthLnB1c2goe3R5cGU6ImhlYWRpbmciLGxldmVsOmRbMV0ubGVuZ3RoLGNvbnRlbnQ6TG8oZFsyXSl9KSxpKz0xO2NvbnRpbnVlfWlmKC9eKD86LS0tK3xcKlwqXCorKSQvLnRlc3Qoby50cmltKCkpKXthLnB1c2goe3R5cGU6InJ1bGUifSksaSs9MTtjb250aW51ZX1jb25zdCBmPXRbaSsxXT8udHJpbSgpPz8iIjtpZihvLmluY2x1ZGVzKCJ8IikmJi9eXHw/XHMqOj8tKzo/KFxzKlx8XHMqOj8tKzo/KStccypcfD8kLy50ZXN0KGYpKXtjb25zdCBiPVltKG8pLm1hcCh3PT5Mbyh3LnRyaW0oKSkpLHk9WW0oZikubWFwKHc9Pntjb25zdCB4PXcudHJpbSgpO2lmKHguc3RhcnRzV2l0aCgiOiIpJiZ4LmVuZHNXaXRoKCI6IikpcmV0dXJuImNlbnRlciI7aWYoeC5lbmRzV2l0aCgiOiIpKXJldHVybiJyaWdodCI7aWYoeC5zdGFydHNXaXRoKCI6IikpcmV0dXJuImxlZnQifSksQz1bXTtmb3IoaSs9MjtpPHQubGVuZ3RoJiZ0W2ldLnRyaW0oKSYmdFtpXS5pbmNsdWRlcygifCIpOylDLnB1c2goWW0odFtpXSkubWFwKHc9PkxvKHcudHJpbSgpKSkpLGkrPTE7YS5wdXNoKHt0eXBlOiJ0YWJsZSIsaGVhZGVyczpiLGFsaWduczp5LHJvd3M6Q30pO2NvbnRpbnVlfWlmKC9ePlxzPy8udGVzdChvKSl7Y29uc3QgYj1bXTtmb3IoO2k8dC5sZW5ndGgmJi9ePlxzPy8udGVzdCh0W2ldKTspYi5wdXNoKHRbaV0ucmVwbGFjZSgvXj5ccz8vLCIiKSksaSs9MTthLnB1c2goe3R5cGU6ImJsb2NrcXVvdGUiLGNvbnRlbnQ6TG8oYi5qb2luKGAKYCkpfSk7Y29udGludWV9Y29uc3QgbT0vXlstKl1ccysvLnRlc3QobyksaD0vXlxkK1wuXHMrLy50ZXN0KG8pO2lmKG18fGgpe2NvbnN0IGI9W10seT1oPy9eXGQrXC5ccysoLiopJC86L15bLSpdXHMrKC4qKSQvO2Zvcig7aTx0Lmxlbmd0aDspe2NvbnN0IEM9eS5leGVjKHRbaV0pO2lmKCFDKWJyZWFrO2IucHVzaChMbyhDWzFdKSksaSs9MX1hLnB1c2goe3R5cGU6Imxpc3QiLG9yZGVyZWQ6aCxpdGVtczpifSk7Y29udGludWV9Y29uc3QgZz1bb107Zm9yKGkrPTE7aTx0Lmxlbmd0aCYmdFtpXS50cmltKCkmJiFaayh0LGkpOylnLnB1c2godFtpXSksaSs9MTthLnB1c2goe3R5cGU6InBhcmFncmFwaCIsY29udGVudDpMbyhnLmpvaW4oYApgKSl9KX1yZXR1cm4gYX1mdW5jdGlvbiBHdyhlKXtyZXR1cm4hIWUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gSXIoZSx0PSIiKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2U6dH1mdW5jdGlvbiBobChlLHQ9MCl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGUpP2U6dH1mdW5jdGlvbiBlOShlKXtzd2l0Y2goZSl7Y2FzZSJpbWFnZSI6Y2FzZSJwZGYiOmNhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmNhc2UiYmluYXJ5IjpyZXR1cm4gZTtkZWZhdWx0OnJldHVybiJ0ZXh0In19ZnVuY3Rpb24gV20oZSx0PSExKXtyZXR1cm5gL2FwaS9maWxlLXJhdz8ke3Q/ImRvd25sb2FkPTEmIjoiIn1wYXRoPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGUpfWB9YXN5bmMgZnVuY3Rpb24gWXcoZSl7dHJ5e2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIEd3KHQpP3Q6e319Y2F0Y2h7cmV0dXJue319fWZ1bmN0aW9uIFd3KGUsdCxhLGkpe2NvbnN0IG89WGQoYSksYz1obCh0LnNpemUsLTEpLGQ9e21lc3NhZ2U6SXIodC5lcnJvcixgJHtpfSAoSFRUUCAke2Uuc3RhdHVzfSlgKSxzdGF0dXM6ZS5zdGF0dXMsc2l6ZTpjPj0wP2M6dm9pZCAwLG1heFNpemU6aGwodC5tYXhTaXplLC0xKT49MD9obCh0Lm1heFNpemUpOnZvaWQgMH07cmV0dXJuIGUuc3RhdHVzPT09NDEzJiYoZC5kb3dubG9hZD17cGF0aDphLG5hbWU6byx1cmw6V20oYSwhMCksc2l6ZTpkLnNpemV9KSxkfWZ1bmN0aW9uIHQ5KGUsdCl7Y29uc3QgYT1HdyhlKT9lOnt9LGk9SXIoYS5wYXRoLHQpLnRyaW0oKXx8dCxvPUlyKGEubmFtZSxYZChpKSksYz1lOShhLmtpbmQpLGQ9Yz09PSJ0ZXh0Ij9JcihhLmNvbnRlbnQpOnZvaWQgMDtyZXR1cm57a2luZDpjLHBhdGg6aSxuYW1lOm8sZXh0OklyKGEuZXh0LFBrKG8pKSxzaXplOk1hdGgubWF4KDAsaGwoYS5zaXplKSksbWltZTpJcihhLm1pbWUpfHx2b2lkIDAsbGFuZzpJcihhLmxhbmcpfHx2b2lkIDAsY29udGVudDpkLHJhd1VybDpXbShpKSx1cmw6V20oaSwhMCl9fXZhciBuOT1jbGFzc3tjb25zdHJ1Y3RvcihlPSh0LGEpPT5nbG9iYWxUaGlzLmZldGNoKHQsYSkpe3B0KHRoaXMsImZldGNoSW1wbCIsZSl9YXN5bmMgbG9hZChlLHQ9e30pe2NvbnN0IGE9YXdhaXQgdGhpcy5mZXRjaEltcGwoYC9hcGkvZmlsZS1wcmV2aWV3P3BhdGg9JHtlbmNvZGVVUklDb21wb25lbnQoZSl9YCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixzaWduYWw6dC5zaWduYWx9KSxpPWF3YWl0IFl3KGEpO3JldHVybiFhLm9rfHx0eXBlb2YgaS5lcnJvcj09InN0cmluZyI/e29rOiExLGZhaWx1cmU6V3coYSxpLGUsIlx1NTJBMFx1OEY3RFx1OTg4NFx1ODlDOFx1NTkzMVx1OEQyNSIpfTp7b2s6ITAsZmlsZTp0OShpLGUpfX1hc3luYyBzYXZlKGUsdCl7Y29uc3QgYT1hd2FpdCB0aGlzLmZldGNoSW1wbCgiL2FwaS9maWxlLXdyaXRlIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7cGF0aDplLGNvbnRlbnQ6dH0pfSksaT1hd2FpdCBZdyhhKTtyZXR1cm4hYS5va3x8dHlwZW9mIGkuZXJyb3I9PSJzdHJpbmciP3tvazohMSxmYWlsdXJlOld3KGEsaSxlLCJcdTRGRERcdTVCNThcdTY1ODdcdTRFRjZcdTU5MzFcdThEMjUiKX06e29rOiEwLHJlc3VsdDp7cGF0aDpJcihpLnBhdGgsZSksc2l6ZTpNYXRoLm1heCgwLGhsKGkuc2l6ZSxuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodCkuYnl0ZUxlbmd0aCkpLG10aW1lOklyKGkubXRpbWUpfHx2b2lkIDB9fX19LGE5PW5ldyBuOTtmdW5jdGlvbiBLdyhlPTApe3JldHVybntvcGVuOiExLHJldmlzaW9uOmUscmVxdWVzdDpudWxsLHN0YXR1czoiaWRsZSIsZmlsZTpudWxsLGZhaWx1cmU6bnVsbCxlZGl0aW5nOiExLGRyYWZ0OiIiLGJhc2VsaW5lOiIiLGRpcnR5OiExLHNhdmluZzohMSx3cmFwOiExLGZvbnRTaXplOlB3KCksaW1hZ2Vab29tZWQ6ITF9fWZ1bmN0aW9uICRkKGUsdCl7cmV0dXJue21lc3NhZ2U6ZSBpbnN0YW5jZW9mIEVycm9yJiZlLm1lc3NhZ2U/ZS5tZXNzYWdlOnR9fWZ1bmN0aW9uIHI5KGUpe3JldHVybiBlIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiZlLm5hbWU9PT0iQWJvcnRFcnJvciJ9ZnVuY3Rpb24gaTkoZSl7cmV0dXJuIGU9PT0iZXhpdC1lZGl0Ij97dGl0bGU6Ilx1NjUzRVx1NUYwM1x1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NEZFRVx1NjUzOVx1RkYxRiIsbWVzc2FnZToiXHU1RjUzXHU1MjREXHU2NTg3XHU0RUY2XHU2NzA5XHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU2NTM5XHU1MkE4XHVGRjBDXHU5MDAwXHU1MUZBXHU3RjE2XHU4RjkxXHU1NDBFXHU0RjFBXHU0RTIyXHU1OTMxXHUzMDAyIn06ZT09PSJyZXBsYWNlIj97dGl0bGU6Ilx1NTIwN1x1NjM2Mlx1OTg4NFx1ODlDOFx1NjU4N1x1NEVGNlx1RkYxRiIsbWVzc2FnZToiXHU1RjUzXHU1MjREXHU2NTg3XHU0RUY2XHU2NzA5XHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU2NTM5XHU1MkE4XHVGRjBDXHU1MjA3XHU2MzYyXHU1NDBFXHU0RjFBXHU0RTIyXHU1OTMxXHUzMDAyIn06e3RpdGxlOiJcdTY1M0VcdTVGMDNcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTRGRUVcdTY1MzlcdUZGMUYiLG1lc3NhZ2U6Ilx1NUY1M1x1NTI0RFx1NjU4N1x1NEVGNlx1NjcwOVx1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NjUzOVx1NTJBOFx1RkYwQ1x1NTE3M1x1OTVFRFx1NTQwRVx1NEYxQVx1NEUyMlx1NTkzMVx1MzAwMiJ9fXZhciB1OT17YXN5bmMgY29uZmlybURpc2NhcmQoZSl7Y29uc3QgdD1pOShlKSxhPWF3YWl0IGJvLmRpYWxvZyh7dGl0bGU6dC50aXRsZSxkZXNjcmlwdGlvbjp0Lm1lc3NhZ2UsdG9uZToid2FybmluZyIsYWN0aW9uczpbe2xhYmVsOiJcdTdFRTdcdTdFRURcdTdGMTZcdThGOTEiLHZhbHVlOiExLGtpbmQ6InNlY29uZGFyeSIsYXV0b0ZvY3VzOiEwfSx7bGFiZWw6Ilx1NjUzRVx1NUYwM1x1NEZFRVx1NjUzOSIsdmFsdWU6ITAsa2luZDoiZGFuZ2VyIn1dLGRpc21pc3NhYmxlOiEwfSk7cmV0dXJuIGEuZGlzbWlzc2VkPT09ITEmJmEuYWN0aW9uPT09ITB9LGFzeW5jIGNvcHlUZXh0KGUpe2lmKCFnbG9iYWxUaGlzLm5hdmlnYXRvcj8uY2xpcGJvYXJkPy53cml0ZVRleHQpdGhyb3cgbmV3IEVycm9yKCJcdTVGNTNcdTUyNERcdTczQUZcdTU4ODNcdTY1RTBcdTZDRDVcdThCQkZcdTk1RUVcdTUyNkFcdThEMzRcdTY3N0ZcdTMwMDIiKTthd2FpdCBnbG9iYWxUaGlzLm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGUpfSxhcHBlbmRUb0NvbXBvc2VyKCl7cmV0dXJuITF9LG5vdGlmeShlLHQpe2JvLnRvYXN0KGUse3RvbmU6dH0pfSxvblNhdmVkKCl7fX07ZnVuY3Rpb24gbzkoZSl7Y29uc3QgdD1uZXcgU2V0O2xldCBhPUt3KCksaT1lLnJ1bnRpbWU/P3U5LG89MCxjPW51bGw7ZnVuY3Rpb24gZChDKXthPXsuLi5hLC4uLkMscmV2aXNpb246YS5yZXZpc2lvbisxfTtmb3IoY29uc3QgdyBvZiB0KXcoKX1mdW5jdGlvbiBmKCl7Yz8uYWJvcnQoKSxjPW51bGwsbys9MSxhPUt3KGEucmV2aXNpb24rMSk7Zm9yKGNvbnN0IEMgb2YgdClDKCl9YXN5bmMgZnVuY3Rpb24gbShDKXtpZighYS5kaXJ0eXx8IWEucmVxdWVzdClyZXR1cm4hMDt0cnl7cmV0dXJuIGF3YWl0IGkuY29uZmlybURpc2NhcmQoQyxhLnJlcXVlc3QucGF0aCl9Y2F0Y2godyl7cmV0dXJuIGkubm90aWZ5KCRkKHcsIlx1NjVFMFx1NkNENVx1Nzg2RVx1OEJBNFx1NjYyRlx1NTQyNlx1NjUzRVx1NUYwM1x1NEZFRVx1NjUzOVx1MzAwMiIpLm1lc3NhZ2UsImVycm9yIiksITF9fWFzeW5jIGZ1bmN0aW9uIGgoQyl7Yz8uYWJvcnQoKTtjb25zdCB3PW5ldyBBYm9ydENvbnRyb2xsZXI7Yz13O2NvbnN0IHg9KytvO2Qoe29wZW46ITAscmVxdWVzdDpDLHN0YXR1czoibG9hZGluZyIsZmlsZTpudWxsLGZhaWx1cmU6bnVsbCxlZGl0aW5nOiExLGRyYWZ0OiIiLGJhc2VsaW5lOiIiLGRpcnR5OiExLHNhdmluZzohMSx3cmFwOiExLGZvbnRTaXplOlB3KCksaW1hZ2Vab29tZWQ6ITF9KTt0cnl7Y29uc3QgRj1hd2FpdCBlLnJlcG9zaXRvcnkubG9hZChDLnBhdGgse3NpZ25hbDp3LnNpZ25hbH0pO2lmKHghPT1vfHx3LnNpZ25hbC5hYm9ydGVkfHwhYS5vcGVuKXJldHVybiExO2lmKGM9bnVsbCxGLm9rPT09ITEpcmV0dXJuIGQoe3N0YXR1czoiZXJyb3IiLGZhaWx1cmU6Ri5mYWlsdXJlfSksITE7Y29uc3QgQT1GLmZpbGUua2luZD09PSJ0ZXh0Ij9GLmZpbGUuY29udGVudD8/IiI6IiI7cmV0dXJuIGQoe3N0YXR1czoicmVhZHkiLGZpbGU6Ri5maWxlLGZhaWx1cmU6bnVsbCxkcmFmdDpBLGJhc2VsaW5lOkF9KSwhMH1jYXRjaChGKXtyZXR1cm4geCE9PW98fHcuc2lnbmFsLmFib3J0ZWR8fHI5KEYpfHwhYS5vcGVufHwoYz1udWxsLGQoe3N0YXR1czoiZXJyb3IiLGZhaWx1cmU6JGQoRiwiXHU1MkEwXHU4RjdEXHU5ODg0XHU4OUM4XHU1OTMxXHU4RDI1Iil9KSksITF9fWFzeW5jIGZ1bmN0aW9uIGcoQyx3KXt0cnl7cmV0dXJuIGF3YWl0IGkuY29weVRleHQoQyksaS5ub3RpZnkodywic3VjY2VzcyIpLCEwfWNhdGNoKHgpe3JldHVybiBpLm5vdGlmeSgkZCh4LCJcdTU5MERcdTUyMzZcdTU5MzFcdThEMjVcdTMwMDIiKS5tZXNzYWdlLCJlcnJvciIpLCExfX1hc3luYyBmdW5jdGlvbiBiKEMpe2lmKCFhLm9wZW4pcmV0dXJuITE7c3dpdGNoKEMudHlwZSl7Y2FzZSJjbG9zZSI6cmV0dXJuIGEuc2F2aW5nPyExOmEuZGlydHk/YXdhaXQgbSgiY2xvc2UiKT8oZigpLCEwKTohMTooZigpLCEwKTtjYXNlIm5hdmlnYXRlIjp7aWYoYS5lZGl0aW5nfHxhLnNhdmluZylyZXR1cm4hMTtjb25zdCB3PUdtKGEucmVxdWVzdCxDLmRpcmVjdGlvbik7cmV0dXJuIXd8fCFhLnJlcXVlc3Q/ITE6aCh7Li4uYS5yZXF1ZXN0LHBhdGg6dy5wYXRofSl9Y2FzZSJlZGl0LmVudGVyIjp7aWYoYS5zdGF0dXMhPT0icmVhZHkifHxhLmZpbGU/LmtpbmQhPT0idGV4dCJ8fGEuc2F2aW5nKXJldHVybiExO2NvbnN0IHc9YS5maWxlLmNvbnRlbnQ/PyIiO3JldHVybiBkKHtlZGl0aW5nOiEwLGRyYWZ0OncsYmFzZWxpbmU6dyxkaXJ0eTohMSxmYWlsdXJlOm51bGx9KSwhMH1jYXNlImVkaXQuY2hhbmdlIjpyZXR1cm4hYS5lZGl0aW5nfHxhLnNhdmluZz8hMTooZCh7ZHJhZnQ6Qy52YWx1ZSxkaXJ0eTpDLnZhbHVlIT09YS5iYXNlbGluZSxmYWlsdXJlOm51bGx9KSwhMCk7Y2FzZSJlZGl0LnJldmVydCI6cmV0dXJuIWEuZWRpdGluZ3x8YS5zYXZpbmc/ITE6KGQoe2RyYWZ0OmEuYmFzZWxpbmUsZGlydHk6ITEsZmFpbHVyZTpudWxsfSksITApO2Nhc2UiZWRpdC5leGl0IjpyZXR1cm4hYS5lZGl0aW5nfHxhLnNhdmluZ3x8IWF3YWl0IG0oImV4aXQtZWRpdCIpPyExOihkKHtlZGl0aW5nOiExLGRyYWZ0OmEuYmFzZWxpbmUsZGlydHk6ITEsZmFpbHVyZTpudWxsfSksITApO2Nhc2UiZWRpdC5zYXZlIjp7aWYoIWEuZWRpdGluZ3x8YS5zYXZpbmd8fGEuZmlsZT8ua2luZCE9PSJ0ZXh0Inx8IWEucmVxdWVzdClyZXR1cm4hMTtpZihhLmRyYWZ0PT09YS5iYXNlbGluZSlyZXR1cm4gaS5ub3RpZnkoIlx1NkNBMVx1NjcwOVx1NjUzOVx1NTJBOCIsImluZm8iKSwhMDtjb25zdCB3PWEucmVxdWVzdC5wYXRoLHg9YS5kcmFmdDtkKHtzYXZpbmc6ITAsZmFpbHVyZTpudWxsfSk7dHJ5e2NvbnN0IEY9YXdhaXQgZS5yZXBvc2l0b3J5LnNhdmUodyx4KTtpZighYS5vcGVufHxhLnJlcXVlc3Q/LnBhdGghPT13KXJldHVybiExO2lmKEYub2s9PT0hMSlyZXR1cm4gZCh7c2F2aW5nOiExLGZhaWx1cmU6Ri5mYWlsdXJlfSksaS5ub3RpZnkoRi5mYWlsdXJlLm1lc3NhZ2UsImVycm9yIiksITE7Y29uc3QgQT1hLmZpbGU7ZCh7c2F2aW5nOiExLGZpbGU6QSYmey4uLkEsY29udGVudDp4LHNpemU6Ri5yZXN1bHQuc2l6ZX0sYmFzZWxpbmU6eCxkcmFmdDp4LGRpcnR5OiExLGZhaWx1cmU6bnVsbH0pLGkubm90aWZ5KCJcdTVERjJcdTRGRERcdTVCNTgiLCJzdWNjZXNzIik7dHJ5e2F3YWl0IGkub25TYXZlZCh3KX1jYXRjaHt9cmV0dXJuITB9Y2F0Y2goRil7aWYoIWEub3Blbnx8YS5yZXF1ZXN0Py5wYXRoIT09dylyZXR1cm4hMTtjb25zdCBBPSRkKEYsIlx1NEZERFx1NUI1OFx1NTkzMVx1OEQyNVx1RkYxQVx1N0Y1MVx1N0VEQ1x1OTUxOVx1OEJFRiIpO3JldHVybiBkKHtzYXZpbmc6ITEsZmFpbHVyZTpBfSksaS5ub3RpZnkoQS5tZXNzYWdlLCJlcnJvciIpLCExfX1jYXNlImNvcHkucGF0aCI6cmV0dXJuIGEuZmlsZT9nKGEuZmlsZS5wYXRoLCJcdTVERjJcdTU5MERcdTUyMzZcdThERUZcdTVGODQiKTohMTtjYXNlImNvcHkuY29udGVudCI6cmV0dXJuIGEuZmlsZT8ua2luZD09PSJ0ZXh0Ij9nKGEuZmlsZS5jb250ZW50Pz8iIiwiXHU1REYyXHU1OTBEXHU1MjM2XHU1MTg1XHU1QkI5Iik6ITE7Y2FzZSJjb21wb3Nlci5wYXRoIjp7aWYoIWEuZmlsZSlyZXR1cm4hMTtjb25zdCB3PWkuYXBwZW5kVG9Db21wb3NlcihhLmZpbGUucGF0aCk7cmV0dXJuIGkubm90aWZ5KHc/Ilx1NURGMlx1N0M5OFx1OEQzNFx1NTIzMFx1OEY5M1x1NTE2NVx1Njg0NiI6Ilx1NjVFMFx1NkNENVx1N0M5OFx1OEQzNFx1NTIzMFx1OEY5M1x1NTE2NVx1Njg0NiIsdz8ic3VjY2VzcyI6ImVycm9yIiksd31jYXNlImNvbXBvc2VyLmNhdCI6e2lmKCFhLmZpbGUpcmV0dXJuITE7Y29uc3Qgdz1pLmFwcGVuZFRvQ29tcG9zZXIoYGNhdCAtLSAke0trKGEuZmlsZS5wYXRoKX1gKTtyZXR1cm4gaS5ub3RpZnkodz8iXHU1NDdEXHU0RUU0XHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2IjoiXHU2NUUwXHU2Q0Q1XHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iix3PyJzdWNjZXNzIjoiZXJyb3IiKSx3fWNhc2Uidmlldy53cmFwLnRvZ2dsZSI6cmV0dXJuIGEuZmlsZT8ua2luZCE9PSJ0ZXh0Inx8YS5lZGl0aW5nPyExOihkKHt3cmFwOiFhLndyYXB9KSwhMCk7Y2FzZSJ2aWV3LmZvbnQuYWRqdXN0IjpyZXR1cm4gYS5maWxlPy5raW5kIT09InRleHQifHxhLmVkaXRpbmc/ITE6KGQoe2ZvbnRTaXplOlZrKGEuZm9udFNpemUrQy5kZWx0YSl9KSwhMCk7Y2FzZSJ2aWV3LmltYWdlLnpvb20udG9nZ2xlIjpyZXR1cm4gYS5maWxlPy5raW5kIT09ImltYWdlInx8YS5lZGl0aW5nPyExOihkKHtpbWFnZVpvb21lZDohYS5pbWFnZVpvb21lZH0pLCEwKX19cmV0dXJue2NvbnRyb2xsZXI6e2FzeW5jIG9wZW4oQyl7Y29uc3Qgdz1VayhDKTtyZXR1cm4gdz9hLm9wZW4mJmEucmVxdWVzdD8ucGF0aD09PXcucGF0aCYmIWEuZGlydHk/KGQoe3JlcXVlc3Q6d30pLCEwKTphLm9wZW4mJmEuZGlydHkmJiFhd2FpdCBtKCJyZXBsYWNlIik/ITE6aCh3KTohMX0sZXhlY3V0ZTpiLGNsb3NlSWZPcGVuKCl7cmV0dXJuIGEub3Blbj8oYih7dHlwZToiY2xvc2UifSksITApOiExfSxjbG9zZVRvcG1vc3QoKXtyZXR1cm4gdGhpcy5jbG9zZUlmT3BlbigpfSxpc09wZW4oKXtyZXR1cm4gYS5vcGVufX0sc3RvcmU6e3N1YnNjcmliZShDKXtyZXR1cm4gdC5hZGQoQyksKCk9PnQuZGVsZXRlKEMpfSxnZXRTbmFwc2hvdCgpe3JldHVybiBhfX0sY29uZmlndXJlUnVudGltZShDKXtjb25zdCB3PWk7cmV0dXJuIGk9QywoKT0+e2k9PT1DJiYoaT13KX19fX12YXIgS209bzkoe3JlcG9zaXRvcnk6YTl9KSxUaT1LbS5jb250cm9sbGVyLFpkPUttLnN0b3JlLHM5PUttLmNvbmZpZ3VyZVJ1bnRpbWUsbDk9U3RyaW5nLnJhd2AKLndhbmQtZmlsZS1wcmV2aWV3LW92ZXJsYXkgeyB6LWluZGV4OiA1NDsgfQoKLyogR2VuZXJpYyBjb25maXJtYXRpb24gZGlhbG9ncyByZW5kZXIgYWZ0ZXIgRmlsZSBQcmV2aWV3IGluIHRoZSBzaGFyZWQgcG9ydGFsLiAqLwoud2FuZC1maWxlLXByZXZpZXctb3ZlcmxheSB+IC53YW5kLXVpLWRpYWxvZy1vdmVybGF5Om5vdCgud2FuZC1maWxlLXByZXZpZXctb3ZlcmxheSkgeyB6LWluZGV4OiA1NjsgfQoud2FuZC1maWxlLXByZXZpZXctb3ZlcmxheSB+IC53YW5kLXVpLWRpYWxvZy1jb250ZW50Om5vdCgud2FuZC1maWxlLXByZXZpZXctZGlhbG9nKSB7IHotaW5kZXg6IDU3OyB9Cgoud2FuZC1maWxlLXByZXZpZXctZGlhbG9nIHsKICB6LWluZGV4OiA1NTsKICB3aWR0aDogbWluKDEwNDBweCwgY2FsYygxMDB2dyAtIHZhcigtLXdhbmQtc2FmZS1sZWZ0KSAtIHZhcigtLXdhbmQtc2FmZS1yaWdodCkgLSA0MHB4KSk7CiAgaGVpZ2h0OiBtaW4oNzYwcHgsIGNhbGMoMTAwZHZoIC0gdmFyKC0td2FuZC1zYWZlLXRvcCkgLSB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSAtIDQwcHgpKTsKICBtYXgtd2lkdGg6IG5vbmU7CiAgbWF4LWhlaWdodDogbm9uZTsKICBwYWRkaW5nOiAwOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KCi53YW5kLWZpbGUtcHJldmlldy1oZWFkZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGdhcDogMTZweDsKICBmbGV4OiAwIDAgYXV0bzsKICBwYWRkaW5nOiAxN3B4IDIwcHggMTNweDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7Cn0KCi53YW5kLWZpbGUtcHJldmlldy1oZWFkZXIgPiBkaXY6Zmlyc3QtY2hpbGQgeyBtaW4td2lkdGg6IDA7IH0KLndhbmQtZmlsZS1wcmV2aWV3LXRpdGxlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KLndhbmQtZmlsZS1wcmV2aWV3LXBhdGggewogIG1heC13aWR0aDogbWluKDc2dncsIDgyMHB4KTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Cgoud2FuZC1maWxlLXByZXZpZXctc2hlbGwgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleDogMSAxIGF1dG87CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtaW4td2lkdGg6IDA7CiAgbWluLWhlaWdodDogMDsKICBvdXRsaW5lOiBub25lOwp9Cgoud2FuZC1maWxlLXByZXZpZXctdGl0bGUtbWV0YSB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGdhcDogOHB4OwogIG1pbi1oZWlnaHQ6IDMycHg7CiAgcGFkZGluZzogNnB4IDE2cHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7Cn0KCi53YW5kLWZpbGUtcHJldmlldy1raW5kLWljb24gewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWluLXdpZHRoOiAyNHB4OwogIGhlaWdodDogMjBweDsKICBjb2xvcjogdmFyKC0tYWNjZW50LWFjdGl2ZSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7CiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpOwp9Cgoud2FuZC1maWxlLXByZXZpZXcta2luZCB7CiAgcGFkZGluZzogMnB4IDdweDsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7Cn0KCi53YW5kLWZpbGUtcHJldmlldy1kaXJ0eSB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBjb2xvcjogdmFyKC0td2FybmluZyk7IGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7IH0KCi53YW5kLWZpbGUtcHJldmlldy10b29sYmFyIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZ2FwOiA4cHg7CiAgZmxleDogMCAwIGF1dG87CiAgbWluLWhlaWdodDogNDhweDsKICBwYWRkaW5nOiA3cHggMTJweDsKICBvdmVyZmxvdy14OiBhdXRvOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsKICBzY3JvbGxiYXItd2lkdGg6IHRoaW47Cn0KCi53YW5kLWZpbGUtcHJldmlldy10b29sYmFyLmVkaXRpbmcgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpOyB9Ci53YW5kLWZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNXB4OyBmbGV4OiAwIDAgYXV0bzsgfQoud2FuZC1maWxlLXByZXZpZXctdG9vbGJhci1ncm91cCArIC53YW5kLWZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIHsKICBwYWRkaW5nLWxlZnQ6IDhweDsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwp9Cgoud2FuZC1maWxlLXByZXZpZXctZG93bmxvYWQgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWluLWhlaWdodDogMzBweDsKICBwYWRkaW5nOiA1cHggMTBweDsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOwogIGxpbmUtaGVpZ2h0OiAxLjI7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Cgoud2FuZC1maWxlLXByZXZpZXctZG93bmxvYWQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IGNvbG9yOiB2YXIoLS1hY2NlbnQtYWN0aXZlKTsgYmFja2dyb3VuZDogdmFyKC0tYmctZWxldmF0ZWQpOyB9Ci53YW5kLWZpbGUtcHJldmlldy1kb3dubG9hZDpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogbm9uZTsgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLCAwIDAgMCA0cHggdmFyKC0tYWNjZW50KTsgfQoud2FuZC1maWxlLXByZXZpZXctZm9udC1zaXplIHsgbWluLXdpZHRoOiAyNHB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KCi53YW5kLWZpbGUtcHJldmlldy1pbmxpbmUtZXJyb3IgewogIGZsZXg6IDAgMCBhdXRvOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiA4cHggMTRweDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGFuZ2VyKTsKICBjb2xvcjogdmFyKC0tZGFuZ2VyKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1kYW5nZXItbXV0ZWQpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKfQoKLndhbmQtZmlsZS1wcmV2aWV3LWJvZHkgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXg6IDEgMSBhdXRvOwogIG1pbi13aWR0aDogMDsKICBtaW4taGVpZ2h0OiAwOwogIG92ZXJmbG93OiBhdXRvOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7CiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKfQoKLndhbmQtZmlsZS1wcmV2aWV3LXN0YXRlIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IDEwcHg7CiAgd2lkdGg6IDEwMCU7CiAgbWluLWhlaWdodDogMjIwcHg7CiAgcGFkZGluZzogMjhweDsKICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Cgoud2FuZC1maWxlLXByZXZpZXctZXJyb3IgPiBzcGFuIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHdpZHRoOiAzNnB4OwogIGhlaWdodDogMzZweDsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7CiAgY29sb3I6IHZhcigtLWRhbmdlcik7CiAgYmFja2dyb3VuZDogdmFyKC0tZGFuZ2VyLW11dGVkKTsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7Cn0KLndhbmQtZmlsZS1wcmV2aWV3LWVycm9yIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1kYW5nZXIpOyB9Cgoud2FuZC1maWxlLXByZXZpZXctY29kZSB7CiAgZGlzcGxheTogZ3JpZDsKICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KG1heC1jb250ZW50LCAxZnIpOwogIG1pbi13aWR0aDogMTAwJTsKICBtaW4taGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwp9Cgoud2FuZC1maWxlLXByZXZpZXctbGluZXMsCi53YW5kLWZpbGUtcHJldmlldy1jb2RlLWNvbnRlbnQgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgbWluLWhlaWdodDogMTAwJTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMTZweCAxNHB4OwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOwogIGxpbmUtaGVpZ2h0OiAxLjYyOwogIHRhYi1zaXplOiAyOwogIHdoaXRlLXNwYWNlOiBwcmU7Cn0KCi53YW5kLWZpbGUtcHJldmlldy1saW5lcyB7CiAgcG9zaXRpb246IHN0aWNreTsKICBsZWZ0OiAwOwogIHotaW5kZXg6IDE7CiAgbWluLXdpZHRoOiA1MnB4OwogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwogIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpOwogIHRleHQtYWxpZ246IHJpZ2h0OwogIHVzZXItc2VsZWN0OiBub25lOwp9Cgoud2FuZC1maWxlLXByZXZpZXctY29kZS1jb250ZW50IHsgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7IH0KLndhbmQtZmlsZS1wcmV2aWV3LWNvZGUud3JhcCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTsgd2lkdGg6IDEwMCU7IH0KLndhbmQtZmlsZS1wcmV2aWV3LWNvZGUud3JhcCAud2FuZC1maWxlLXByZXZpZXctY29kZS1jb250ZW50LAoud2FuZC1maWxlLXByZXZpZXctbWFya2Rvd24ud3JhcCB7IG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IH0KCi53YW5kLWZpbGUtcHJldmlldy1zeW50YXgtY29tbWVudCB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zdHlsZTogaXRhbGljOyB9Ci53YW5kLWZpbGUtcHJldmlldy1zeW50YXgtc3RyaW5nIHsgY29sb3I6IHZhcigtLXN1Y2Nlc3MpOyB9Ci53YW5kLWZpbGUtcHJldmlldy1zeW50YXgtbnVtYmVyIHsgY29sb3I6IHZhcigtLXdhcm5pbmcpOyB9Ci53YW5kLWZpbGUtcHJldmlldy1zeW50YXgta2V5d29yZCB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtYWN0aXZlKTsgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTsgfQoud2FuZC1maWxlLXByZXZpZXctc3ludGF4LW9wZXJhdG9yIHsgY29sb3I6IHZhcigtLWRhbmdlcik7IH0KCi53YW5kLWZpbGUtcHJldmlldy1tYXJrZG93biB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB3aWR0aDogbWluKDEwMCUsIDkyMHB4KTsKICBtaW4taGVpZ2h0OiAxMDAlOwogIG1hcmdpbjogMCBhdXRvOwogIHBhZGRpbmc6IDI2cHggMzJweCA0OHB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogIGxpbmUtaGVpZ2h0OiAxLjcyOwp9Cgoud2FuZC1maWxlLXByZXZpZXctbWFya2Rvd24gcCwKLndhbmQtZmlsZS1wcmV2aWV3LW1hcmtkb3duIGJsb2NrcXVvdGUgeyB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IH0KLndhbmQtZmlsZS1wcmV2aWV3LW1hcmtkb3duIGgxLAoud2FuZC1maWxlLXByZXZpZXctbWFya2Rvd24gaDIsCi53YW5kLWZpbGUtcHJldmlldy1tYXJrZG93biBoMyB7IG1hcmdpbjogMS4zNWVtIDAgMC41NWVtOyBsaW5lLWhlaWdodDogMS4yNTsgfQoud2FuZC1maWxlLXByZXZpZXctbWFya2Rvd24gaDE6Zmlyc3QtY2hpbGQsCi53YW5kLWZpbGUtcHJldmlldy1tYXJrZG93biBoMjpmaXJzdC1jaGlsZCwKLndhbmQtZmlsZS1wcmV2aWV3LW1hcmtkb3duIGgzOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfQoud2FuZC1maWxlLXByZXZpZXctbWFya2Rvd24gYSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtYWN0aXZlKTsgfQoud2FuZC1maWxlLXByZXZpZXctbWFya2Rvd24gY29kZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTsKICBwYWRkaW5nOiAwLjEyZW0gMC4zNGVtOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTsKICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsKfQoud2FuZC1maWxlLXByZXZpZXctbWFya2Rvd24gcHJlIHsKICBvdmVyZmxvdzogYXV0bzsKICBwYWRkaW5nOiAxNHB4IDE2cHg7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpOwogIHdoaXRlLXNwYWNlOiBwcmU7Cn0KLndhbmQtZmlsZS1wcmV2aWV3LW1hcmtkb3duIHByZSBjb2RlIHsgcGFkZGluZzogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0KLndhbmQtZmlsZS1wcmV2aWV3LW1hcmtkb3duIGJsb2NrcXVvdGUgeyBtYXJnaW4tbGVmdDogMDsgcGFkZGluZy1sZWZ0OiAxNHB4OyBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWFjY2VudCk7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IH0KLndhbmQtZmlsZS1wcmV2aWV3LW1hcmtkb3duIGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOyB9Ci53YW5kLWZpbGUtcHJldmlldy10YWJsZS13cmFwIHsgbWF4LXdpZHRoOiAxMDAlOyBvdmVyZmxvdy14OiBhdXRvOyB9Ci53YW5kLWZpbGUtcHJldmlldy10YWJsZS13cmFwIHRhYmxlIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KLndhbmQtZmlsZS1wcmV2aWV3LXRhYmxlLXdyYXAgdGgsCi53YW5kLWZpbGUtcHJldmlldy10YWJsZS13cmFwIHRkIHsgcGFkZGluZzogOHB4IDEwcHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOyB9Ci53YW5kLWZpbGUtcHJldmlldy10YWJsZS13cmFwIHRoIHsgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTsgfQoKLndhbmQtZmlsZS1wcmV2aWV3LWVkaXRvciB7IGRpc3BsYXk6IGZsZXg7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IG1pbi1oZWlnaHQ6IDA7IH0KLndhbmQtZmlsZS1wcmV2aWV3LWVkaXRvciB0ZXh0YXJlYSB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBmbGV4OiAxIDEgYXV0bzsKICB3aWR0aDogMTAwJTsKICBtaW4taGVpZ2h0OiAxMDAlOwogIHJlc2l6ZTogbm9uZTsKICBib3JkZXI6IDA7CiAgb3V0bGluZTogbm9uZTsKICBwYWRkaW5nOiAxOHB4IDIwcHggNDRweDsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsKICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsKICBmb250LXNpemU6IDEzcHg7CiAgbGluZS1oZWlnaHQ6IDEuNjI7CiAgdGFiLXNpemU6IDI7CiAgY2FyZXQtY29sb3I6IHZhcigtLWFjY2VudC1hY3RpdmUpOwp9Ci53YW5kLWZpbGUtcHJldmlldy1lZGl0b3IgdGV4dGFyZWE6Zm9jdXMgeyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKTsgfQoKLndhbmQtZmlsZS1wcmV2aWV3LWltYWdlIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7CiAgbWluLWhlaWdodDogMTAwJTsKICBwYWRkaW5nOiAyNHB4OwogIG92ZXJmbG93OiBhdXRvOwogIGJvcmRlcjogMDsKICBjb2xvcjogaW5oZXJpdDsKICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHZhcigtLWJnLXRlcnRpYXJ5KSAyNSUsIHRyYW5zcGFyZW50IDI1JSksIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHZhcigtLWJnLXRlcnRpYXJ5KSAyNSUsIHRyYW5zcGFyZW50IDI1JSksIGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNzUlLCB2YXIoLS1iZy10ZXJ0aWFyeSkgNzUlKSwgbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgNzUlLCB2YXIoLS1iZy10ZXJ0aWFyeSkgNzUlKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDAgOHB4LCA4cHggLThweCwgLThweCAwOwogIGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4OwogIGN1cnNvcjogem9vbS1pbjsKfQoud2FuZC1maWxlLXByZXZpZXctaW1hZ2UgaW1nIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbjsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTsgfQoud2FuZC1maWxlLXByZXZpZXctaW1hZ2Uuem9vbWVkIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgY3Vyc29yOiB6b29tLW91dDsgfQoud2FuZC1maWxlLXByZXZpZXctaW1hZ2Uuem9vbWVkIGltZyB7IG1heC13aWR0aDogbm9uZTsgbWF4LWhlaWdodDogbm9uZTsgfQoKLndhbmQtZmlsZS1wcmV2aWV3LXBkZiB7IHdpZHRoOiAxMDAlOyBtaW4taGVpZ2h0OiAxMDAlOyBib3JkZXI6IDA7IGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOyB9Ci53YW5kLWZpbGUtcHJldmlldy1tZWRpYSB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiAxNHB4OwogIHdpZHRoOiAxMDAlOwogIG1pbi1oZWlnaHQ6IDEwMCU7CiAgcGFkZGluZzogMjZweDsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwp9Ci53YW5kLWZpbGUtcHJldmlldy1tZWRpYSB2aWRlbyB7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7IGJhY2tncm91bmQ6ICMwMDA7IH0KLndhbmQtZmlsZS1wcmV2aWV3LWF1ZGlvIGF1ZGlvIHsgd2lkdGg6IG1pbig1MjBweCwgMTAwJSk7IH0KLndhbmQtZmlsZS1wcmV2aWV3LW1lZGlhLWljb24geyBmb250LXNpemU6IDQ4cHg7IGNvbG9yOiB2YXIoLS1hY2NlbnQtYWN0aXZlKTsgfQoKLndhbmQtZmlsZS1wcmV2aWV3LWJpbmFyeSB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiAxMnB4OwogIHdpZHRoOiBtaW4oNTYwcHgsIGNhbGMoMTAwJSAtIDMycHgpKTsKICBtYXJnaW46IGF1dG87CiAgcGFkZGluZzogMzBweDsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci53YW5kLWZpbGUtcHJldmlldy1iaW5hcnktaWNvbiB7IGZvbnQtc2l6ZTogNDRweDsgY29sb3I6IHZhcigtLWFjY2VudC1hY3RpdmUpOyB9Ci53YW5kLWZpbGUtcHJldmlldy1iaW5hcnktbWV0YSB7IGRpc3BsYXk6IGZsZXg7IGdhcDogN3B4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH0KLndhbmQtZmlsZS1wcmV2aWV3LWJpbmFyeSA+IGNvZGUgeyBtYXgtd2lkdGg6IDEwMCU7IG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgfQoud2FuZC1maWxlLXByZXZpZXctYmluYXJ5LWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgbWFyZ2luLXRvcDogNnB4OyB9Cgoud2FuZC1maWxlLXByZXZpZXctbWV0YWRhdGEgewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDEycHg7CiAgZmxleDogMCAwIGF1dG87CiAgbWluLWhlaWdodDogMzJweDsKICBwYWRkaW5nOiA2cHggMTRweCBjYWxjKDZweCArIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKTsKICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsKfQoud2FuZC1maWxlLXByZXZpZXctbWV0YWRhdGEgY29kZSB7IG1pbi13aWR0aDogMDsgbWFyZ2luLWxlZnQ6IGF1dG87IG92ZXJmbG93OiBoaWRkZW47IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQoKQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLndhbmQtZmlsZS1wcmV2aWV3LWRpYWxvZyB7CiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXdhbmQtc2FmZS1sZWZ0KSAtIHZhcigtLXdhbmQtc2FmZS1yaWdodCkgLSAxMnB4KTsKICAgIGhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS13YW5kLXNhZmUtdG9wKSAtIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pIC0gMTJweCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwogIH0KICAud2FuZC1maWxlLXByZXZpZXctaGVhZGVyIHsgcGFkZGluZzogMTNweCAxNHB4IDEwcHg7IH0KICAud2FuZC1maWxlLXByZXZpZXctcGF0aCB7IG1heC13aWR0aDogY2FsYygxMDB2dyAtIDg4cHgpOyB9CiAgLndhbmQtZmlsZS1wcmV2aWV3LXRpdGxlLW1ldGEgeyBwYWRkaW5nLWlubGluZTogMTBweDsgfQogIC53YW5kLWZpbGUtcHJldmlldy10b29sYmFyIHsgcGFkZGluZzogNnB4IDhweDsgfQogIC53YW5kLWZpbGUtcHJldmlldy1tYXJrZG93biB7IHBhZGRpbmc6IDIwcHggMThweCAzNnB4OyB9CiAgLndhbmQtZmlsZS1wcmV2aWV3LWxpbmVzLAogIC53YW5kLWZpbGUtcHJldmlldy1jb2RlLWNvbnRlbnQgeyBwYWRkaW5nOiAxMnB4IDEwcHg7IH0KICAud2FuZC1maWxlLXByZXZpZXctbGluZXMgeyBtaW4td2lkdGg6IDQycHg7IH0KICAud2FuZC1maWxlLXByZXZpZXctbWV0YWRhdGEgeyBnYXA6IDhweDsgcGFkZGluZy1pbmxpbmU6IDEwcHg7IH0KICAud2FuZC1maWxlLXByZXZpZXctbWV0YWRhdGEgY29kZSB7IGRpc3BsYXk6IG5vbmU7IH0KICAud2FuZC1maWxlLXByZXZpZXctYmluYXJ5IHsgcGFkZGluZzogMjJweCAxNnB4OyB9CiAgLndhbmQtZmlsZS1wcmV2aWV3LWJpbmFyeS1hY3Rpb25zIHsgd2lkdGg6IDEwMCU7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0KICAud2FuZC1maWxlLXByZXZpZXctYmluYXJ5LWFjdGlvbnMgPiAqIHsgd2lkdGg6IDEwMCU7IH0KfQoKQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7CiAgLndhbmQtZmlsZS1wcmV2aWV3LWRpYWxvZyB7CiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXdhbmQtc2FmZS1sZWZ0KSAtIHZhcigtLXdhbmQtc2FmZS1yaWdodCkgLSA4cHgpOwogICAgaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgLSA4cHgpOwogIH0KICAud2FuZC1maWxlLXByZXZpZXctaGVhZGVyIHsgcGFkZGluZy1pbmxpbmU6IDEycHg7IH0KICAud2FuZC1maWxlLXByZXZpZXctdG9vbGJhci1ncm91cCArIC53YW5kLWZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIHsgcGFkZGluZy1sZWZ0OiA2cHg7IH0KICAud2FuZC1maWxlLXByZXZpZXctZG93bmxvYWQgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9CiAgLndhbmQtZmlsZS1wcmV2aWV3LWltYWdlIHsgcGFkZGluZzogMTBweDsgfQogIC53YW5kLWZpbGUtcHJldmlldy1tZWRpYSB7IHBhZGRpbmc6IDE2cHggMTBweDsgfQp9CmAsYWU9bGUocWUoKSwxKTtmdW5jdGlvbiBSdChlKXtUaS5leGVjdXRlKGUpfWZ1bmN0aW9uIEpkKHtmaWxlOmUsbGFiZWw6dD0iXHU0RTBCXHU4RjdEIn0pe3JldHVybigwLGFlLmpzeCkoImEiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LWRvd25sb2FkIixocmVmOmUudXJsLGRvd25sb2FkOmUubmFtZSxjaGlsZHJlbjp0fSl9ZnVuY3Rpb24gUXcoe3Rva2VuczplfSl7cmV0dXJuKDAsYWUuanN4KShhZS5GcmFnbWVudCx7Y2hpbGRyZW46ZS5tYXAoKHQsYSk9PnQua2luZD8oMCxhZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOmB3YW5kLWZpbGUtcHJldmlldy1zeW50YXgtJHt0LmtpbmR9YCxjaGlsZHJlbjp0LnZhbHVlfSxhKTooMCxhZS5qc3gpKHZsLkZyYWdtZW50LHtjaGlsZHJlbjp0LnZhbHVlfSxhKSl9KX1mdW5jdGlvbiB6byh7dG9rZW5zOmV9KXtyZXR1cm4oMCxhZS5qc3gpKGFlLkZyYWdtZW50LHtjaGlsZHJlbjplLm1hcCgodCxhKT0+e3N3aXRjaCh0LnR5cGUpe2Nhc2UiY29kZSI6cmV0dXJuKDAsYWUuanN4KSgiY29kZSIse2NoaWxkcmVuOnQudmFsdWV9LGEpO2Nhc2Uic3Ryb25nIjpyZXR1cm4oMCxhZS5qc3gpKCJzdHJvbmciLHtjaGlsZHJlbjp0LnZhbHVlfSxhKTtjYXNlImVtcGhhc2lzIjpyZXR1cm4oMCxhZS5qc3gpKCJlbSIse2NoaWxkcmVuOnQudmFsdWV9LGEpO2Nhc2UiZGVsZXRlIjpyZXR1cm4oMCxhZS5qc3gpKCJkZWwiLHtjaGlsZHJlbjp0LnZhbHVlfSxhKTtjYXNlImxpbmsiOnJldHVybigwLGFlLmpzeCkoImEiLHtocmVmOnQudXJsLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGNoaWxkcmVuOnQudmFsdWV9LGEpO2Nhc2UiaW1hZ2UiOnJldHVybigwLGFlLmpzeCkoImltZyIse3NyYzp0LnVybCxhbHQ6dC52YWx1ZX0sYSk7ZGVmYXVsdDpyZXR1cm4oMCxhZS5qc3gpKHZsLkZyYWdtZW50LHtjaGlsZHJlbjp0LnZhbHVlfSxhKX19KX0pfWZ1bmN0aW9uIGM5KHtibG9jazplfSl7Y29uc3QgdD0oMCxhZS5qc3gpKHpvLHt0b2tlbnM6ZS5jb250ZW50fSk7c3dpdGNoKGUubGV2ZWwpe2Nhc2UgMTpyZXR1cm4oMCxhZS5qc3gpKCJoMSIse2NoaWxkcmVuOnR9KTtjYXNlIDI6cmV0dXJuKDAsYWUuanN4KSgiaDIiLHtjaGlsZHJlbjp0fSk7Y2FzZSAzOnJldHVybigwLGFlLmpzeCkoImgzIix7Y2hpbGRyZW46dH0pO2Nhc2UgNDpyZXR1cm4oMCxhZS5qc3gpKCJoNCIse2NoaWxkcmVuOnR9KTtjYXNlIDU6cmV0dXJuKDAsYWUuanN4KSgiaDUiLHtjaGlsZHJlbjp0fSk7ZGVmYXVsdDpyZXR1cm4oMCxhZS5qc3gpKCJoNiIse2NoaWxkcmVuOnR9KX19ZnVuY3Rpb24gZDkoe2Jsb2NrOmV9KXtzd2l0Y2goZS50eXBlKXtjYXNlImhlYWRpbmciOnJldHVybigwLGFlLmpzeCkoYzkse2Jsb2NrOmV9KTtjYXNlInBhcmFncmFwaCI6cmV0dXJuKDAsYWUuanN4KSgicCIse2NoaWxkcmVuOigwLGFlLmpzeCkoem8se3Rva2VuczplLmNvbnRlbnR9KX0pO2Nhc2UiYmxvY2txdW90ZSI6cmV0dXJuKDAsYWUuanN4KSgiYmxvY2txdW90ZSIse2NoaWxkcmVuOigwLGFlLmpzeCkoem8se3Rva2VuczplLmNvbnRlbnR9KX0pO2Nhc2UibGlzdCI6e2NvbnN0IHQ9ZS5pdGVtcy5tYXAoKGEsaSk9PigwLGFlLmpzeCkoImxpIix7Y2hpbGRyZW46KDAsYWUuanN4KSh6byx7dG9rZW5zOmF9KX0saSkpO3JldHVybiBlLm9yZGVyZWQ/KDAsYWUuanN4KSgib2wiLHtjaGlsZHJlbjp0fSk6KDAsYWUuanN4KSgidWwiLHtjaGlsZHJlbjp0fSl9Y2FzZSJjb2RlIjpyZXR1cm4oMCxhZS5qc3gpKCJwcmUiLHsiZGF0YS1sYW5ndWFnZSI6ZS5sYW5nfHx2b2lkIDAsY2hpbGRyZW46KDAsYWUuanN4KSgiY29kZSIse2NoaWxkcmVuOigwLGFlLmpzeCkoUXcse3Rva2VuczpVdyhlLnZhbHVlKX0pfSl9KTtjYXNlInRhYmxlIjpyZXR1cm4oMCxhZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LXRhYmxlLXdyYXAiLGNoaWxkcmVuOigwLGFlLmpzeHMpKCJ0YWJsZSIse2NoaWxkcmVuOlsoMCxhZS5qc3gpKCJ0aGVhZCIse2NoaWxkcmVuOigwLGFlLmpzeCkoInRyIix7Y2hpbGRyZW46ZS5oZWFkZXJzLm1hcCgodCxhKT0+KDAsYWUuanN4KSgidGgiLHtzdHlsZTp7dGV4dEFsaWduOmUuYWxpZ25zW2FdfSxjaGlsZHJlbjooMCxhZS5qc3gpKHpvLHt0b2tlbnM6dH0pfSxhKSl9KX0pLCgwLGFlLmpzeCkoInRib2R5Iix7Y2hpbGRyZW46ZS5yb3dzLm1hcCgodCxhKT0+KDAsYWUuanN4KSgidHIiLHtjaGlsZHJlbjp0Lm1hcCgoaSxvKT0+KDAsYWUuanN4KSgidGQiLHtzdHlsZTp7dGV4dEFsaWduOmUuYWxpZ25zW29dfSxjaGlsZHJlbjooMCxhZS5qc3gpKHpvLHt0b2tlbnM6aX0pfSxvKSl9LGEpKX0pXX0pfSk7Y2FzZSJydWxlIjpyZXR1cm4oMCxhZS5qc3gpKCJociIse30pfX1mdW5jdGlvbiBmOSh7c25hcHNob3Q6ZSxmaWxlOnR9KXtjb25zdCBhPXQuY29udGVudD8/IiI7aWYoV2sodCkpcmV0dXJuKDAsYWUuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOmB3YW5kLWZpbGUtcHJldmlldy1tYXJrZG93biR7ZS53cmFwPyIgd3JhcCI6IiJ9YCxzdHlsZTp7Zm9udFNpemU6YCR7ZS5mb250U2l6ZX1weGB9LGNoaWxkcmVuOkprKGEpLm1hcCgobyxjKT0+KDAsYWUuanN4KShkOSx7YmxvY2s6b30sYykpfSk7Y29uc3QgaT1NYXRoLm1heCgxLGEuc3BsaXQoYApgKS5sZW5ndGgpO3JldHVybigwLGFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6YHdhbmQtZmlsZS1wcmV2aWV3LWNvZGUke2Uud3JhcD8iIHdyYXAiOiIifWAsY2hpbGRyZW46WygwLGFlLmpzeCkoInByZSIseyJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzTmFtZToid2FuZC1maWxlLXByZXZpZXctbGluZXMiLHN0eWxlOntmb250U2l6ZTpgJHtlLmZvbnRTaXplfXB4YH0sY2hpbGRyZW46QXJyYXkuZnJvbSh7bGVuZ3RoOml9LChvLGMpPT5jKzEpLmpvaW4oYApgKX0pLCgwLGFlLmpzeCkoInByZSIse2NsYXNzTmFtZToid2FuZC1maWxlLXByZXZpZXctY29kZS1jb250ZW50IixzdHlsZTp7Zm9udFNpemU6YCR7ZS5mb250U2l6ZX1weGB9LGNoaWxkcmVuOigwLGFlLmpzeCkoImNvZGUiLHtjaGlsZHJlbjooMCxhZS5qc3gpKFF3LHt0b2tlbnM6VXcoYSl9KX0pfSldfSl9ZnVuY3Rpb24gcDkoe2ZpbGU6ZX0pe3JldHVybigwLGFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LWJpbmFyeSIsY2hpbGRyZW46WygwLGFlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LWJpbmFyeS1pY29uIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjoiXHUyNUM3In0pLCgwLGFlLmpzeCkoInN0cm9uZyIse2NoaWxkcmVuOmUubmFtZX0pLCgwLGFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LWJpbmFyeS1tZXRhIixjaGlsZHJlbjpbKDAsYWUuanN4KSgic3BhbiIse2NoaWxkcmVuOmUuZXh0LnJlcGxhY2UoL15cLi8sIiIpfHwiXHU2NzJBXHU3N0U1XHU2ODNDXHU1RjBGIn0pLCgwLGFlLmpzeCkoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjoiXHhCNyJ9KSwoMCxhZS5qc3gpKCJzcGFuIix7Y2hpbGRyZW46bWwoZS5zaXplKX0pXX0pLCgwLGFlLmpzeCkoImNvZGUiLHtjaGlsZHJlbjplLnBhdGh9KSwoMCxhZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLWZpbGUtcHJldmlldy1iaW5hcnktYWN0aW9ucyIsY2hpbGRyZW46WygwLGFlLmpzeCkoSmQse2ZpbGU6ZSxsYWJlbDoiXHU0RTBCXHU4RjdEXHU2NTg3XHU0RUY2In0pLCgwLGFlLmpzeCkoR2Use3NpemU6InNtYWxsIixvbkNsaWNrOigpPT5SdCh7dHlwZToiY29tcG9zZXIuY2F0In0pLGNoaWxkcmVuOiJcdTU3MjhcdTdFQzhcdTdBRUZcdTRFMkRcdTY3RTVcdTc3MEIifSldfSldfSl9ZnVuY3Rpb24gdjkoe3NuYXBzaG90OmUsZWRpdG9yUmVmOnR9KXtpZihlLnN0YXR1cz09PSJsb2FkaW5nIilyZXR1cm4oMCxhZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LXN0YXRlIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOiJcdTZCNjNcdTU3MjhcdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjYifSk7aWYoZS5zdGF0dXM9PT0iZXJyb3IiKXJldHVybigwLGFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LXN0YXRlIHdhbmQtZmlsZS1wcmV2aWV3LWVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46WygwLGFlLmpzeCkoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjoiISJ9KSwoMCxhZS5qc3gpKCJzdHJvbmciLHtjaGlsZHJlbjplLmZhaWx1cmU/Lm1lc3NhZ2V8fCJcdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTU5MzFcdThEMjUifSksZS5mYWlsdXJlPy5zaXplIT1udWxsPygwLGFlLmpzeHMpKCJzbWFsbCIse2NoaWxkcmVuOlsiXHU2NTg3XHU0RUY2XHU1OTI3XHU1QzBGXHVGRjFBIixtbChlLmZhaWx1cmUuc2l6ZSldfSk6bnVsbCxlLmZhaWx1cmU/LmRvd25sb2FkPygwLGFlLmpzeCkoSmQse2ZpbGU6ZS5mYWlsdXJlLmRvd25sb2FkLGxhYmVsOiJcdTRFQ0RcdTcxMzZcdTRFMEJcdThGN0RcdTY1ODdcdTRFRjYifSk6bnVsbF19KTtjb25zdCBhPWUuZmlsZTtpZighYSlyZXR1cm4oMCxhZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LXN0YXRlIixjaGlsZHJlbjoiXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2XHU1NDBFXHU1QzA2XHU1NzI4XHU4RkQ5XHU5MUNDXHU2NjNFXHU3OTNBXHU5ODg0XHU4OUM4XHUzMDAyIn0pO2lmKGUuZWRpdGluZylyZXR1cm4oMCxhZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LWVkaXRvciIsY2hpbGRyZW46KDAsYWUuanN4KSgidGV4dGFyZWEiLHtyZWY6dCwiYXJpYS1sYWJlbCI6YFx1N0YxNlx1OEY5MSAke2EubmFtZX1gLGF1dG9Db21wbGV0ZToib2ZmIixhdXRvQ29ycmVjdDoib2ZmIixhdXRvQ2FwaXRhbGl6ZToib2ZmIixzcGVsbENoZWNrOiExLHdyYXA6Im9mZiIsdmFsdWU6ZS5kcmFmdCxvbkNoYW5nZTppPT5SdCh7dHlwZToiZWRpdC5jaGFuZ2UiLHZhbHVlOmkuY3VycmVudFRhcmdldC52YWx1ZX0pLG9uS2V5RG93bjppPT57aWYoaS5rZXkhPT0iVGFiIilyZXR1cm47aS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IG89aS5jdXJyZW50VGFyZ2V0LGM9by5zZWxlY3Rpb25TdGFydCxkPW8uc2VsZWN0aW9uRW5kLGY9YCR7ZS5kcmFmdC5zbGljZSgwLGMpfSAgJHtlLmRyYWZ0LnNsaWNlKGQpfWA7UnQoe3R5cGU6ImVkaXQuY2hhbmdlIix2YWx1ZTpmfSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57by5zZWxlY3Rpb25TdGFydD1jKzIsby5zZWxlY3Rpb25FbmQ9YysyfSl9fSl9KTtzd2l0Y2goYS5raW5kKXtjYXNlImltYWdlIjpyZXR1cm4oMCxhZS5qc3gpKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgd2FuZC1maWxlLXByZXZpZXctaW1hZ2Uke2UuaW1hZ2Vab29tZWQ/IiB6b29tZWQiOiIifWAsImFyaWEtbGFiZWwiOmUuaW1hZ2Vab29tZWQ/Ilx1N0YyOVx1NUMwRlx1NTZGRVx1NzI0NyI6Ilx1NjUzRVx1NTkyN1x1NTZGRVx1NzI0NyIsb25DbGljazooKT0+UnQoe3R5cGU6InZpZXcuaW1hZ2Uuem9vbS50b2dnbGUifSksY2hpbGRyZW46KDAsYWUuanN4KSgiaW1nIix7c3JjOmEucmF3VXJsLGFsdDphLm5hbWV9KX0pO2Nhc2UicGRmIjpyZXR1cm4oMCxhZS5qc3gpKCJpZnJhbWUiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LXBkZiIsc3JjOmEucmF3VXJsLHRpdGxlOmEubmFtZX0pO2Nhc2UidmlkZW8iOnJldHVybigwLGFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LW1lZGlhIixjaGlsZHJlbjpbKDAsYWUuanN4KSgidmlkZW8iLHtjb250cm9sczohMCxwcmVsb2FkOiJtZXRhZGF0YSIsc3JjOmEucmF3VXJsLGNoaWxkcmVuOiJcdTYwQThcdTc2ODRcdTZENEZcdTg5QzhcdTU2NjhcdTRFMERcdTY1MkZcdTYzMDFcdTg5QzZcdTk4OTFcdTk4ODRcdTg5QzhcdTMwMDIifSksKDAsYWUuanN4KSgic3BhbiIse2NoaWxkcmVuOm1sKGEuc2l6ZSl9KV19KTtjYXNlImF1ZGlvIjpyZXR1cm4oMCxhZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLWZpbGUtcHJldmlldy1tZWRpYSB3YW5kLWZpbGUtcHJldmlldy1hdWRpbyIsY2hpbGRyZW46WygwLGFlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LW1lZGlhLWljb24iLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOiJcdTI2NkIifSksKDAsYWUuanN4KSgic3Ryb25nIix7Y2hpbGRyZW46YS5uYW1lfSksKDAsYWUuanN4KSgiYXVkaW8iLHtjb250cm9sczohMCxwcmVsb2FkOiJtZXRhZGF0YSIsc3JjOmEucmF3VXJsLGNoaWxkcmVuOiJcdTYwQThcdTc2ODRcdTZENEZcdTg5QzhcdTU2NjhcdTRFMERcdTY1MkZcdTYzMDFcdTk3RjNcdTk4OTFcdTk4ODRcdTg5QzhcdTMwMDIifSksKDAsYWUuanN4KSgic3BhbiIse2NoaWxkcmVuOm1sKGEuc2l6ZSl9KV19KTtjYXNlImJpbmFyeSI6cmV0dXJuKDAsYWUuanN4KShwOSx7ZmlsZTphfSk7ZGVmYXVsdDpyZXR1cm4oMCxhZS5qc3gpKGY5LHtzbmFwc2hvdDplLGZpbGU6YX0pfX1mdW5jdGlvbiBtOSh7c25hcHNob3Q6ZX0pe2NvbnN0IHQ9R20oZS5yZXF1ZXN0LC0xKSxhPUdtKGUucmVxdWVzdCwxKSxpPWUuZmlsZTtyZXR1cm4oMCxhZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOmB3YW5kLWZpbGUtcHJldmlldy10b29sYmFyJHtlLmVkaXRpbmc/IiBlZGl0aW5nIjoiIn1gLCJhcmlhLWxhYmVsIjoiXHU2NTg3XHU0RUY2XHU5ODg0XHU4OUM4XHU1REU1XHU1MTc3XHU2ODBGIixjaGlsZHJlbjpbKDAsYWUuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1maWxlLXByZXZpZXctdG9vbGJhci1ncm91cCIsY2hpbGRyZW46WygwLGFlLmpzeCkoR2Use3NpemU6InNtYWxsIixraW5kOiJnaG9zdCIsImFyaWEtbGFiZWwiOiJcdTRFMEFcdTRFMDBcdTRFMkFcdTY1ODdcdTRFRjYiLHRpdGxlOnQ/YFx1NEUwQVx1NEUwMFx1NEUyQVx1NjU4N1x1NEVGNlx1RkYxQSR7dC5uYW1lfWA6Ilx1NkNBMVx1NjcwOVx1NEUwQVx1NEUwMFx1NEUyQVx1NjU4N1x1NEVGNiIsZGlzYWJsZWQ6IXR8fGUuZWRpdGluZ3x8ZS5zYXZpbmcsb25DbGljazooKT0+UnQoe3R5cGU6Im5hdmlnYXRlIixkaXJlY3Rpb246LTF9KSxjaGlsZHJlbjoiXHUyMTkwIn0pLCgwLGFlLmpzeCkoR2Use3NpemU6InNtYWxsIixraW5kOiJnaG9zdCIsImFyaWEtbGFiZWwiOiJcdTRFMEJcdTRFMDBcdTRFMkFcdTY1ODdcdTRFRjYiLHRpdGxlOmE/YFx1NEUwQlx1NEUwMFx1NEUyQVx1NjU4N1x1NEVGNlx1RkYxQSR7YS5uYW1lfWA6Ilx1NkNBMVx1NjcwOVx1NEUwQlx1NEUwMFx1NEUyQVx1NjU4N1x1NEVGNiIsZGlzYWJsZWQ6IWF8fGUuZWRpdGluZ3x8ZS5zYXZpbmcsb25DbGljazooKT0+UnQoe3R5cGU6Im5hdmlnYXRlIixkaXJlY3Rpb246MX0pLGNoaWxkcmVuOiJcdTIxOTIifSldfSksZS5lZGl0aW5nPygwLGFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LXRvb2xiYXItZ3JvdXAgd2FuZC1maWxlLXByZXZpZXctZWRpdC1hY3Rpb25zIixjaGlsZHJlbjpbKDAsYWUuanN4KShHZSx7a2luZDoicHJpbWFyeSIsc2l6ZToic21hbGwiLGRpc2FibGVkOmUuc2F2aW5nLG9uQ2xpY2s6KCk9PlJ0KHt0eXBlOiJlZGl0LnNhdmUifSksY2hpbGRyZW46ZS5zYXZpbmc/Ilx1NEZERFx1NUI1OFx1NEUyRFx1MjAyNiI6Ilx1NEZERFx1NUI1OCJ9KSwoMCxhZS5qc3gpKEdlLHtzaXplOiJzbWFsbCIsZGlzYWJsZWQ6ZS5zYXZpbmd8fCFlLmRpcnR5LG9uQ2xpY2s6KCk9PlJ0KHt0eXBlOiJlZGl0LnJldmVydCJ9KSxjaGlsZHJlbjoiXHU2NEE0XHU5NTAwXHU2NTM5XHU1MkE4In0pLCgwLGFlLmpzeCkoR2Use3NpemU6InNtYWxsIixkaXNhYmxlZDplLnNhdmluZyxvbkNsaWNrOigpPT5SdCh7dHlwZToiZWRpdC5leGl0In0pLGNoaWxkcmVuOiJcdTkwMDBcdTUxRkFcdTdGMTZcdThGOTEifSldfSk6aT8oMCxhZS5qc3hzKShhZS5GcmFnbWVudCx7Y2hpbGRyZW46WygwLGFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LXRvb2xiYXItZ3JvdXAiLGNoaWxkcmVuOltpLmtpbmQ9PT0idGV4dCI/KDAsYWUuanN4KShHZSx7a2luZDoicHJpbWFyeSIsc2l6ZToic21hbGwiLG9uQ2xpY2s6KCk9PlJ0KHt0eXBlOiJlZGl0LmVudGVyIn0pLGNoaWxkcmVuOiJcdTdGMTZcdThGOTEifSk6bnVsbCwoMCxhZS5qc3gpKEdlLHtzaXplOiJzbWFsbCIsb25DbGljazooKT0+UnQoe3R5cGU6ImNvcHkucGF0aCJ9KSxjaGlsZHJlbjoiXHU1OTBEXHU1MjM2XHU4REVGXHU1Rjg0In0pLCgwLGFlLmpzeCkoR2Use3NpemU6InNtYWxsIixvbkNsaWNrOigpPT5SdCh7dHlwZToiY29tcG9zZXIucGF0aCJ9KSxjaGlsZHJlbjoiXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2In0pLCgwLGFlLmpzeCkoSmQse2ZpbGU6aX0pXX0pLGkua2luZD09PSJ0ZXh0Ij8oMCxhZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLWZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIixjaGlsZHJlbjpbKDAsYWUuanN4KShHZSx7c2l6ZToic21hbGwiLG9uQ2xpY2s6KCk9PlJ0KHt0eXBlOiJjb3B5LmNvbnRlbnQifSksY2hpbGRyZW46Ilx1NTkwRFx1NTIzNlx1NTE4NVx1NUJCOSJ9KSwoMCxhZS5qc3gpKEdlLHtzaXplOiJzbWFsbCIsa2luZDplLndyYXA/InByaW1hcnkiOiJzZWNvbmRhcnkiLCJhcmlhLXByZXNzZWQiOmUud3JhcCxvbkNsaWNrOigpPT5SdCh7dHlwZToidmlldy53cmFwLnRvZ2dsZSJ9KSxjaGlsZHJlbjoiXHU4MUVBXHU1MkE4XHU2MzYyXHU4ODRDIn0pLCgwLGFlLmpzeCkoR2Use3NpemU6InNtYWxsIiwiYXJpYS1sYWJlbCI6Ilx1N0YyOVx1NUMwRlx1NUI1N1x1NTNGNyIsb25DbGljazooKT0+UnQoe3R5cGU6InZpZXcuZm9udC5hZGp1c3QiLGRlbHRhOi0xfSksY2hpbGRyZW46IkFcdTIyMTIifSksKDAsYWUuanN4KSgic3BhbiIse2NsYXNzTmFtZToid2FuZC1maWxlLXByZXZpZXctZm9udC1zaXplIiwiYXJpYS1sYWJlbCI6YFx1NUI1N1x1NTNGNyAke2UuZm9udFNpemV9YCxjaGlsZHJlbjplLmZvbnRTaXplfSksKDAsYWUuanN4KShHZSx7c2l6ZToic21hbGwiLCJhcmlhLWxhYmVsIjoiXHU2NTNFXHU1OTI3XHU1QjU3XHU1M0Y3IixvbkNsaWNrOigpPT5SdCh7dHlwZToidmlldy5mb250LmFkanVzdCIsZGVsdGE6MX0pLGNoaWxkcmVuOiJBKyJ9KV19KTpudWxsXX0pOmUuZmFpbHVyZT8uZG93bmxvYWQ/KDAsYWUuanN4KShKZCx7ZmlsZTplLmZhaWx1cmUuZG93bmxvYWR9KTpudWxsXX0pfWZ1bmN0aW9uIGg5KCl7Y29uc3QgZT0oMCx2bC51c2VTeW5jRXh0ZXJuYWxTdG9yZSkoWmQuc3Vic2NyaWJlLFpkLmdldFNuYXBzaG90LFpkLmdldFNuYXBzaG90KSx0PSgwLHZsLnVzZVJlZikobnVsbCk7KDAsdmwudXNlRWZmZWN0KSgoKT0+e2lmKCFlLmVkaXRpbmcpcmV0dXJuO2NvbnN0IGQ9dC5jdXJyZW50O2QmJihkLmZvY3VzKCksZC5zZXRTZWxlY3Rpb25SYW5nZSgwLDApLGQuc2Nyb2xsVG9wPTApfSxbZS5lZGl0aW5nXSk7Y29uc3QgYT1lLnJlcXVlc3Q/LnBhdGg/PyIiLGk9ZS5maWxlPy5uYW1lfHwoYT9YZChhKToiXHU2NTg3XHU0RUY2XHU5ODg0XHU4OUM4Iiksbz1lLmZpbGU7ZnVuY3Rpb24gYyhkKXtpZigoZC5jdHJsS2V5fHxkLm1ldGFLZXkpJiZkLmtleS50b0xvd2VyQ2FzZSgpPT09InMiJiZlLmVkaXRpbmcpe2QucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpLFJ0KHt0eXBlOiJlZGl0LnNhdmUifSk7cmV0dXJufWlmKGQua2V5PT09IkVzY2FwZSIpe2QucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpLFJ0KHt0eXBlOmUuZWRpdGluZz8iZWRpdC5leGl0IjoiY2xvc2UifSk7cmV0dXJufWNvbnN0IGY9ZC50YXJnZXQ7ZiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZi5tYXRjaGVzKCJpbnB1dCwgdGV4dGFyZWEiKXx8Zi5pc0NvbnRlbnRFZGl0YWJsZSl8fGUuZWRpdGluZ3x8KGQua2V5PT09IkFycm93TGVmdCI/KGQucHJldmVudERlZmF1bHQoKSxSdCh7dHlwZToibmF2aWdhdGUiLGRpcmVjdGlvbjotMX0pKTpkLmtleT09PSJBcnJvd1JpZ2h0Ij8oZC5wcmV2ZW50RGVmYXVsdCgpLFJ0KHt0eXBlOiJuYXZpZ2F0ZSIsZGlyZWN0aW9uOjF9KSk6ZC5rZXkudG9Mb3dlckNhc2UoKT09PSJlIiYmbz8ua2luZD09PSJ0ZXh0IiYmKGQucHJldmVudERlZmF1bHQoKSxSdCh7dHlwZToiZWRpdC5lbnRlciJ9KSkpfXJldHVybigwLGFlLmpzeHMpKGFlLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsYWUuanN4KSgic3R5bGUiLHtpZDoid2FuZC1maWxlLXByZXZpZXctc3R5bGVzIixjaGlsZHJlbjpsOX0pLCgwLGFlLmpzeCkoanIse29wZW46ZS5vcGVuLG9uT3BlbkNoYW5nZTpkPT57ZHx8UnQoe3R5cGU6ImNsb3NlIn0pfSx0aXRsZTppLGRlc2NyaXB0aW9uOmF8fCJcdTY3RTVcdTc3MEJcdTY1ODdcdTRFRjZcdTUxODVcdTVCQjlcdTRFMEVcdTUxNDNcdTY1NzBcdTYzNkVcdTMwMDIiLGNsYXNzTmFtZToid2FuZC11aS1kaWFsb2ctY29udGVudCB3YW5kLWZpbGUtcHJldmlldy1kaWFsb2ciLG92ZXJsYXlDbGFzc05hbWU6IndhbmQtdWktZGlhbG9nLW92ZXJsYXkgd2FuZC1maWxlLXByZXZpZXctb3ZlcmxheSIsdGl0bGVDbGFzc05hbWU6IndhbmQtdWktZGlhbG9nLXRpdGxlIHdhbmQtZmlsZS1wcmV2aWV3LXRpdGxlIixkZXNjcmlwdGlvbkNsYXNzTmFtZToid2FuZC11aS1kaWFsb2ctZGVzY3JpcHRpb24gd2FuZC1maWxlLXByZXZpZXctcGF0aCIsaGVhZGVyQ2xhc3NOYW1lOiJ3YW5kLXVpLWRpYWxvZy1oZWFkaW5nIHdhbmQtZmlsZS1wcmV2aWV3LWhlYWRlciIsY2xvc2VMYWJlbDoiXHU1MTczXHU5NUVEXHU2NTg3XHU0RUY2XHU5ODg0XHU4OUM4Iix0ZXN0SWQ6ImZpbGUtcHJldmlldy1kaWFsb2ciLGRpc21pc3NhYmxlOiFlLnNhdmluZyYmIWUuZWRpdGluZyxjaGlsZHJlbjooMCxhZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ3YW5kLWZpbGUtcHJldmlldy1zaGVsbCIsImRhdGEtd2FuZC1hdXRvZm9jdXMiOiEwLHRhYkluZGV4Oi0xLG9uS2V5RG93bkNhcHR1cmU6YyxjaGlsZHJlbjpbKDAsYWUuanN4cykoImRpdiIse2NsYXNzTmFtZToid2FuZC1maWxlLXByZXZpZXctdGl0bGUtbWV0YSIsImFyaWEtbGl2ZSI6InBvbGl0ZSIsY2hpbGRyZW46WygwLGFlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LWtpbmQtaWNvbiIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46bz9ZayhvLmtpbmQpOiJcdTIwMjYifSksbz8oMCxhZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLWZpbGUtcHJldmlldy1raW5kIixjaGlsZHJlbjpHayhvKX0pOm51bGwsZS5kaXJ0eT8oMCxhZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ3YW5kLWZpbGUtcHJldmlldy1kaXJ0eSIsY2hpbGRyZW46Ilx1MjVDRiBcdTY3MkFcdTRGRERcdTVCNTgifSk6bnVsbF19KSwoMCxhZS5qc3gpKG05LHtzbmFwc2hvdDplfSksZS5zdGF0dXM9PT0icmVhZHkiJiZlLmZhaWx1cmU/KDAsYWUuanN4KSgicCIse2NsYXNzTmFtZToid2FuZC1maWxlLXByZXZpZXctaW5saW5lLWVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46ZS5mYWlsdXJlLm1lc3NhZ2V9KTpudWxsLCgwLGFlLmpzeCkoImRpdiIse2NsYXNzTmFtZTpgd2FuZC1maWxlLXByZXZpZXctYm9keSBraW5kLSR7bz8ua2luZD8/ZS5zdGF0dXN9YCxjaGlsZHJlbjooMCxhZS5qc3gpKHY5LHtzbmFwc2hvdDplLGVkaXRvclJlZjp0fSl9KSxvPygwLGFlLmpzeHMpKCJmb290ZXIiLHtjbGFzc05hbWU6IndhbmQtZmlsZS1wcmV2aWV3LW1ldGFkYXRhIiwiYXJpYS1sYWJlbCI6Ilx1NjU4N1x1NEVGNlx1NTE0M1x1NjU3MFx1NjM2RSIsY2hpbGRyZW46WygwLGFlLmpzeCkoInNwYW4iLHtjaGlsZHJlbjptbChvLnNpemUpfSksKDAsYWUuanN4KSgic3BhbiIse2NoaWxkcmVuOm8ubWltZXx8by5leHQucmVwbGFjZSgvXlwuLywiIil8fG8ua2luZH0pLCgwLGFlLmpzeCkoImNvZGUiLHt0aXRsZTpvLnBhdGgsY2hpbGRyZW46by5wYXRofSldfSk6bnVsbF19KX0pXX0pfXZhciBRYT1sZShxZSgpLDEpO2Z1bmN0aW9uIGc5KHtwb3J0YWxDb250YWluZXI6ZX0pe2NvbnN0IHQ9KDAsSUMudXNlU3luY0V4dGVybmFsU3RvcmUpKHd1LnN1YnNjcmliZSx3dS5nZXRTbmFwc2hvdCx3dS5nZXRTbmFwc2hvdCksYT10LmFjdGl2ZURpYWxvZztyZXR1cm4oMCxRYS5qc3hzKShNRCx7Y29udGFpbmVyOmUsY2hpbGRyZW46WygwLFFhLmpzeCkoeEIse3Nob3dSZXN0YXJ0OigpPT5MdS5zaG93UmVzdGFydCgpfSksKDAsUWEuanN4KShxQix7fSksKDAsUWEuanN4KShYQix7fSksKDAsUWEuanN4KShmayx7fSksKDAsUWEuanN4KShEayx7fSksKDAsUWEuanN4KShoOSx7fSksKDAsUWEuanN4KSh6ayx7fSksKDAsUWEuanN4KShVMyx7Y2hpbGRyZW46dC50b2FzdHMubWFwKGk9PigwLFFhLmpzeCkoVjMse29wZW46aS5vcGVuLHRpdGxlOmkubWVzc2FnZSxkZXNjcmlwdGlvbjppLm9wdGlvbnMuZGVzY3JpcHRpb24sdG9uZTppLm9wdGlvbnMudG9uZSxkdXJhdGlvbjppLm9wdGlvbnMuZHVyYXRpb24sb25EaXNtaXNzOigpPT53dS5kaXNtaXNzVG9hc3QoaS5pZCl9LGkuaWQpKX0pLGE/KDAsUWEuanN4KShfRCx7b3BlbjohMCx0aXRsZTphLm9wdGlvbnMudGl0bGUsZGVzY3JpcHRpb246YS5vcHRpb25zLmRlc2NyaXB0aW9uLHRvbmU6YS5vcHRpb25zLnRvbmUsaWNvbjphLm9wdGlvbnMuaWNvbixhY3Rpb25zOmEub3B0aW9ucy5hY3Rpb25zLGlucHV0OmEub3B0aW9ucy5pbnB1dCxkaXNtaXNzYWJsZTphLm9wdGlvbnMuZGlzbWlzc2FibGUsb25BY3Rpb246KGksbyk9Pnt3dS5jb21wbGV0ZURpYWxvZyhhLmlkLHtkaXNtaXNzZWQ6ITEsYWN0aW9uOmksaW5wdXRWYWx1ZTpvfSl9LG9uRGlzbWlzczooKT0+e3d1LmNvbXBsZXRlRGlhbG9nKGEuaWQse2Rpc21pc3NlZDohMH0pfX0sYS5pZCk6bnVsbF19KX12YXIgYjk9U3RyaW5nLnJhd2AKI292ZXJsYXktcm9vdCB7CiAgaXNvbGF0aW9uOiBpc29sYXRlOwogIHBvc2l0aW9uOiBmaXhlZDsKICBpbnNldDogMDsKICB6LWluZGV4OiAyMDAwMDsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLndhbmQtdWktbW91bnQgewogIGRpc3BsYXk6IGNvbnRlbnRzOwp9Cgoud2FuZC11aS1wb3J0YWxzIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgaW5zZXQ6IDA7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7CiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpOwp9Cgoud2FuZC11aS1idXR0b24gewogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGdhcDogN3B4OwogIG1pbi1oZWlnaHQ6IDM2cHg7CiAgcGFkZGluZzogN3B4IDE0cHg7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwogIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7CiAgbGluZS1oZWlnaHQ6IDEuMjsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOwp9Cgoud2FuZC11aS1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWRlZmF1bHQpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWVsZXZhdGVkKTsKfQoKLndhbmQtdWktYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7Cn0KCi53YW5kLXVpLWJ1dHRvbjpmb2N1cy12aXNpYmxlLAoud2FuZC11aS1zZWxlY3QtdHJpZ2dlcjpmb2N1cy12aXNpYmxlLAoud2FuZC11aS1zd2l0Y2g6Zm9jdXMtdmlzaWJsZSwKLndhbmQtdWktdGFicy10cmlnZ2VyOmZvY3VzLXZpc2libGUgewogIG91dGxpbmU6IG5vbmU7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLCAwIDAgMCA0cHggdmFyKC0tYWNjZW50KTsKfQoKLndhbmQtdWktYnV0dG9uOmRpc2FibGVkIHsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIG9wYWNpdHk6IDAuNTI7Cn0KCi53YW5kLXVpLWJ1dHRvbi1wcmltYXJ5IHsKICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1hY3RpdmUpOwogIGNvbG9yOiB2YXIoLS10ZXh0LWludmVyc2UpOwogIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1hY3RpdmUpOwp9Cgoud2FuZC11aS1idXR0b24tcHJpbWFyeTpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtYWN0aXZlKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtYWN0aXZlKTsKICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45KTsKfQoKLndhbmQtdWktYnV0dG9uLWRhbmdlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYW5nZXIpOwogIGNvbG9yOiB2YXIoLS10ZXh0LWludmVyc2UpOwogIGJhY2tncm91bmQ6IHZhcigtLWRhbmdlcik7Cn0KCi53YW5kLXVpLWJ1dHRvbi1kYW5nZXI6aG92ZXI6bm90KDpkaXNhYmxlZCkgewogIGJvcmRlci1jb2xvcjogdmFyKC0tZGFuZ2VyKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1kYW5nZXIpOwogIGZpbHRlcjogYnJpZ2h0bmVzcygwLjkpOwp9Cgoud2FuZC11aS1idXR0b24tb3V0bGluZSwKLndhbmQtdWktYnV0dG9uLXNlY29uZGFyeSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZGVmYXVsdCk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTsKfQoKLndhbmQtdWktYnV0dG9uLWdob3N0IHsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9Cgoud2FuZC11aS1idXR0b24tc21hbGwgewogIG1pbi1oZWlnaHQ6IDMwcHg7CiAgcGFkZGluZzogNXB4IDEwcHg7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOwp9Cgoud2FuZC11aS1idXR0b24tbGFyZ2UgewogIG1pbi1oZWlnaHQ6IDQycHg7CiAgcGFkZGluZzogOXB4IDE4cHg7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7Cn0KCi53YW5kLXVpLWRpYWxvZy1vdmVybGF5IHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgaW5zZXQ6IDA7CiAgei1pbmRleDogMDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1vdmVybGF5KTsKICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKfQoKLndhbmQtdWktZGlhbG9nLW92ZXJsYXlbZGF0YS1zdGF0ZT0ib3BlbiJdIHsKICBhbmltYXRpb246IHdhbmQtdWktZmFkZS1pbiB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCk7Cn0KCi53YW5kLXVpLWRpYWxvZy1vdmVybGF5W2RhdGEtc3RhdGU9ImNsb3NlZCJdIHsKICBhbmltYXRpb246IHdhbmQtdWktZmFkZS1vdXQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsKfQoKLndhbmQtdWktZGlhbG9nLWNvbnRlbnQgewogIHBvc2l0aW9uOiBmaXhlZDsKICB6LWluZGV4OiAxOwogIHRvcDogNTAlOwogIGxlZnQ6IDUwJTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHdpZHRoOiBtaW4oNTIwcHgsIGNhbGMoMTAwdncgLSB2YXIoLS13YW5kLXNhZmUtbGVmdCkgLSB2YXIoLS13YW5kLXNhZmUtcmlnaHQpIC0gMzJweCkpOwogIG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gdmFyKC0td2FuZC1zYWZlLXRvcCkgLSB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSAtIDMycHgpOwogIG92ZXJmbG93OiBhdXRvOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOwogIHBhZGRpbmc6IDIwcHg7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctZWxldmF0ZWQpOwogIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14bCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgcG9pbnRlci1ldmVudHM6IGF1dG87Cn0KCi53YW5kLXVpLWRpYWxvZy1jb250ZW50W2RhdGEtc3RhdGU9Im9wZW4iXSB7CiAgYW5pbWF0aW9uOiB3YW5kLXVpLWRpYWxvZy1pbiB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCk7Cn0KCi53YW5kLXVpLWRpYWxvZy1jb250ZW50W2RhdGEtc3RhdGU9ImNsb3NlZCJdIHsKICBhbmltYXRpb246IHdhbmQtdWktZGlhbG9nLW91dCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOwp9Cgoud2FuZC11aS1kaWFsb2ctaGVhZGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogIGdhcDogMTJweDsKfQoKLndhbmQtdWktZGlhbG9nLWljb24gewogIGZsZXg6IDAgMCBhdXRvOwogIGRpc3BsYXk6IGdyaWQ7CiAgcGxhY2UtaXRlbXM6IGNlbnRlcjsKICB3aWR0aDogMzRweDsKICBoZWlnaHQ6IDM0cHg7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOwogIGNvbG9yOiB2YXIoLS1pbmZvKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmZvLW11dGVkKTsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7Cn0KCi53YW5kLXVpLWRpYWxvZy1pY29uLXdhcm5pbmcgewogIGNvbG9yOiB2YXIoLS13YXJuaW5nKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS13YXJuaW5nLW11dGVkKTsKfQoKLndhbmQtdWktZGlhbG9nLWljb24tZGFuZ2VyIHsKICBjb2xvcjogdmFyKC0tZGFuZ2VyKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1kYW5nZXItbXV0ZWQpOwp9Cgoud2FuZC11aS1kaWFsb2ctaWNvbi1zdWNjZXNzIHsKICBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7CiAgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1tdXRlZCk7Cn0KCi53YW5kLXVpLWRpYWxvZy1pY29uLXF1ZXN0aW9uIHsKICBjb2xvcjogdmFyKC0tYWNjZW50KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtbXV0ZWQpOwp9Cgoud2FuZC11aS1kaWFsb2ctaGVhZGluZyB7CiAgbWluLXdpZHRoOiAwOwogIGZsZXg6IDE7Cn0KCi53YW5kLXVpLWRpYWxvZy10aXRsZSB7CiAgbWFyZ2luOiAwOwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOwogIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7Cn0KCi53YW5kLXVpLWRpYWxvZy1kZXNjcmlwdGlvbiB7CiAgbWFyZ2luOiA2cHggMCAwOwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwogIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKfQoKLndhbmQtdWktZGlhbG9nLWJvZHkgewogIG1hcmdpbi10b3A6IDE2cHg7Cn0KCi53YW5kLXVpLWRpYWxvZy1pbnB1dCB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB3aWR0aDogMTAwJTsKICBtaW4taGVpZ2h0OiA0MHB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogIHBhZGRpbmc6IDhweCAxMXB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogIGZvbnQ6IGluaGVyaXQ7Cn0KCi53YW5kLXVpLWRpYWxvZy1pbnB1dDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOwogIG91dGxpbmU6IG5vbmU7CiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCk7Cn0KCi53YW5kLXVpLWRpYWxvZy1hY3Rpb25zIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIGdhcDogOHB4OwogIG1hcmdpbi10b3A6IDIwcHg7Cn0KCi53YW5kLXVpLXRvYXN0LXZpZXdwb3J0IHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgei1pbmRleDogMjA7CiAgdG9wOiBjYWxjKDE2cHggKyB2YXIoLS13YW5kLXNhZmUtdG9wKSk7CiAgcmlnaHQ6IGNhbGMoMTZweCArIHZhcigtLXdhbmQtc2FmZS1yaWdodCkpOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IDhweDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHdpZHRoOiBtaW4oMzkwcHgsIGNhbGMoMTAwdncgLSB2YXIoLS13YW5kLXNhZmUtbGVmdCkgLSB2YXIoLS13YW5kLXNhZmUtcmlnaHQpIC0gMzJweCkpOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi53YW5kLXVpLXRvYXN0IHsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87CiAgZ2FwOiA4cHggMTJweDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWluZm8pOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgcGFkZGluZzogMTJweCAxM3B4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWVsZXZhdGVkKTsKICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpOwogIHBvaW50ZXItZXZlbnRzOiBhdXRvOwp9Cgoud2FuZC11aS10b2FzdFtkYXRhLXN0YXRlPSJvcGVuIl0gewogIGFuaW1hdGlvbjogd2FuZC11aS10b2FzdC1pbiB2YXIoLS10cmFuc2l0aW9uLXNwcmluZyk7Cn0KCi53YW5kLXVpLXRvYXN0W2RhdGEtc3RhdGU9ImNsb3NlZCJdIHsKICBhbmltYXRpb246IHdhbmQtdWktdG9hc3Qtb3V0IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Cn0KCi53YW5kLXVpLXRvYXN0W2RhdGEtc3dpcGU9Im1vdmUiXSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXJhZGl4LXRvYXN0LXN3aXBlLW1vdmUteCkpOwp9Cgoud2FuZC11aS10b2FzdFtkYXRhLXN3aXBlPSJjYW5jZWwiXSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOwp9Cgoud2FuZC11aS10b2FzdFtkYXRhLXN3aXBlPSJlbmQiXSB7CiAgYW5pbWF0aW9uOiB3YW5kLXVpLXRvYXN0LXN3aXBlLW91dCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOwp9Cgoud2FuZC11aS10b2FzdC1zdWNjZXNzIHsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXN1Y2Nlc3MpOyB9Ci53YW5kLXVpLXRvYXN0LXdhcm5pbmcgeyBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0td2FybmluZyk7IH0KLndhbmQtdWktdG9hc3QtZXJyb3IgeyBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tZGFuZ2VyKTsgfQoKLndhbmQtdWktdG9hc3QtdGl0bGUgewogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOwp9Cgoud2FuZC11aS10b2FzdC1kZXNjcmlwdGlvbiB7CiAgZ3JpZC1jb2x1bW46IDE7CiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7CiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwp9Cgoud2FuZC11aS10b2FzdC1jbG9zZSB7CiAgZ3JpZC1jb2x1bW46IDI7CiAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7CiAgYWxpZ24tc2VsZjogc3RhcnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7CiAgcGFkZGluZzogMnB4IDZweDsKICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpOwp9Cgoud2FuZC11aS10b2FzdC1jbG9zZTpob3ZlciB7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpOwp9Cgoud2FuZC11aS1wb3BvdmVyLWNvbnRlbnQsCi53YW5kLXVpLXNlbGVjdC1jb250ZW50IHsKICB6LWluZGV4OiAxMDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IDhweDsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1lbGV2YXRlZCk7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsKfQoKLndhbmQtdWktcG9wb3Zlci1jb250ZW50IHsKICB3aWR0aDogbWluKDMyMHB4LCBjYWxjKDEwMHZ3IC0gdmFyKC0td2FuZC1zYWZlLWxlZnQpIC0gdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSAtIDI0cHgpKTsKfQoKLndhbmQtdWktcG9wb3Zlci1jb250ZW50W2RhdGEtc3RhdGU9Im9wZW4iXSwKLndhbmQtdWktc2VsZWN0LWNvbnRlbnRbZGF0YS1zdGF0ZT0ib3BlbiJdIHsKICBhbmltYXRpb246IHdhbmQtdWktc2NhbGUtaW4gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsKfQoKLndhbmQtdWktcG9wb3Zlci1hcnJvdyB7CiAgZmlsbDogdmFyKC0tYmctZWxldmF0ZWQpOwp9Cgoud2FuZC11aS1zZWxlY3QtdHJpZ2dlciB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxMHB4OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgbWluLXdpZHRoOiAxNjBweDsKICBtaW4taGVpZ2h0OiAzOHB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogIHBhZGRpbmc6IDdweCAxMHB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwp9Cgoud2FuZC11aS1zZWxlY3QtdHJpZ2dlcltkYXRhLXBsYWNlaG9sZGVyXSB7CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwp9Cgoud2FuZC11aS1zZWxlY3QtdHJpZ2dlcjpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiAwLjUyOwp9Cgoud2FuZC11aS1zZWxlY3QtY29udGVudCB7CiAgbWF4LWhlaWdodDogbWluKDM2MHB4LCB2YXIoLS1yYWRpeC1zZWxlY3QtY29udGVudC1hdmFpbGFibGUtaGVpZ2h0KSk7CiAgbWluLXdpZHRoOiB2YXIoLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci13aWR0aCk7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLndhbmQtdWktc2VsZWN0LXZpZXdwb3J0IHsKICBwYWRkaW5nOiAycHg7Cn0KCi53YW5kLXVpLXNlbGVjdC1pdGVtIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIG1pbi1oZWlnaHQ6IDM0cHg7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTsKICBwYWRkaW5nOiA1cHggMzBweCA1cHggOXB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7CiAgdXNlci1zZWxlY3Q6IG5vbmU7Cn0KCi53YW5kLXVpLXNlbGVjdC1pdGVtW2RhdGEtaGlnaGxpZ2h0ZWRdIHsKICBvdXRsaW5lOiBub25lOwogIGNvbG9yOiB2YXIoLS1hY2NlbnQpOwogIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1tdXRlZCk7Cn0KCi53YW5kLXVpLXNlbGVjdC1pdGVtW2RhdGEtZGlzYWJsZWRdIHsKICBvcGFjaXR5OiAwLjQ1Owp9Cgoud2FuZC11aS1zZWxlY3QtaW5kaWNhdG9yIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDlweDsKICBjb2xvcjogdmFyKC0tYWNjZW50KTsKfQoKLndhbmQtdWktc2VsZWN0LXNjcm9sbC1idXR0b24gewogIGRpc3BsYXk6IGdyaWQ7CiAgcGxhY2UtaXRlbXM6IGNlbnRlcjsKICBoZWlnaHQ6IDI0cHg7CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwp9Cgoud2FuZC11aS10YWJzLWxpc3QgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGdhcDogM3B4OwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgcGFkZGluZzogM3B4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTsKfQoKLndhbmQtdWktdGFicy10cmlnZ2VyIHsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTsKICBwYWRkaW5nOiA3cHggMTFweDsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKfQoKLndhbmQtdWktdGFicy10cmlnZ2VyW2RhdGEtc3RhdGU9ImFjdGl2ZSJdIHsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1lbGV2YXRlZCk7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhzKTsKfQoKLndhbmQtdWktdGFicy10cmlnZ2VyOmRpc2FibGVkIHsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIG9wYWNpdHk6IDAuNDU7Cn0KCi53YW5kLXVpLXRhYnMtY29udGVudCB7CiAgbWFyZ2luLXRvcDogMTJweDsKICBvdXRsaW5lOiBub25lOwp9Cgoud2FuZC11aS1zd2l0Y2gtcm93IHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGdhcDogOXB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKfQoKLndhbmQtdWktc3dpdGNoIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IDQycHg7CiAgaGVpZ2h0OiAyNHB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdHJvbmcpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsKfQoKLndhbmQtdWktc3dpdGNoW2RhdGEtc3RhdGU9ImNoZWNrZWQiXSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOwogIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7Cn0KCi53YW5kLXVpLXN3aXRjaDpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiAwLjUyOwp9Cgoud2FuZC11aS1zd2l0Y2gtdGh1bWIgewogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAxOHB4OwogIGhlaWdodDogMThweDsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctZWxldmF0ZWQpOwogIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Cn0KCi53YW5kLXVpLXN3aXRjaC10aHVtYltkYXRhLXN0YXRlPSJjaGVja2VkIl0gewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKfQoKCmAseTk9U3RyaW5nLnJhd2AKQGtleWZyYW1lcyB3YW5kLXVpLWZhZGUtaW4gewogIGZyb20geyBvcGFjaXR5OiAwOyB9CiAgdG8geyBvcGFjaXR5OiAxOyB9Cn0KCkBrZXlmcmFtZXMgd2FuZC11aS1mYWRlLW91dCB7CiAgZnJvbSB7IG9wYWNpdHk6IDE7IH0KICB0byB7IG9wYWNpdHk6IDA7IH0KfQoKQGtleWZyYW1lcyB3YW5kLXVpLWRpYWxvZy1pbiB7CiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIGNhbGMoLTUwJSArIDEwcHgpKSBzY2FsZSgwLjk4KTsgfQogIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7IH0KfQoKQGtleWZyYW1lcyB3YW5kLXVpLWRpYWxvZy1vdXQgewogIGZyb20geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTsgfQogIHRvIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtNTAlICsgNnB4KSkgc2NhbGUoMC45OSk7IH0KfQoKQGtleWZyYW1lcyB3YW5kLXVpLXRvYXN0LWluIHsKICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE4cHgpIHNjYWxlKDAuOTgpOyB9CiAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7IH0KfQoKQGtleWZyYW1lcyB3YW5kLXVpLXRvYXN0LW91dCB7CiAgZnJvbSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfQogIHRvIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEycHgpOyB9Cn0KCkBrZXlmcmFtZXMgd2FuZC11aS10b2FzdC1zd2lwZS1vdXQgewogIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tcmFkaXgtdG9hc3Qtc3dpcGUtZW5kLXgpKTsgfQogIHRvIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSArIDE2cHgpKTsgfQp9CgpAa2V5ZnJhbWVzIHdhbmQtdWktc2NhbGUtaW4gewogIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOyB9CiAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkgewogIC53YW5kLXVpLWRpYWxvZy1jb250ZW50IHsKICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0td2FuZC1zYWZlLWxlZnQpIC0gdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSAtIDIwcHgpOwogICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS13YW5kLXNhZmUtdG9wKSAtIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pIC0gMjBweCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogMTZweDsKICB9CgogIC53YW5kLXVpLWRpYWxvZy1hY3Rpb25zIHsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICB9CgogIC53YW5kLXVpLWRpYWxvZy1hY3Rpb25zIC53YW5kLXVpLWJ1dHRvbiB7CiAgICB3aWR0aDogMTAwJTsKICB9Cn0KCgpgLHc5PVN0cmluZy5yYXdgCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgI292ZXJsYXktcm9vdCAqLAogICNvdmVybGF5LXJvb3QgKjo6YmVmb3JlLAogICNvdmVybGF5LXJvb3QgKjo6YWZ0ZXIgewogICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50OwogICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50OwogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7CiAgfQp9CmAseDk9U3RyaW5nLnJhd2AKLndhbmQtc2V0dGluZ3Mtb3ZlcmxheSwKLndhbmQtc2V0dGluZ3MtbmVzdGVkLW92ZXJsYXkgewogIHBvc2l0aW9uOiBmaXhlZDsKICBpbnNldDogMDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1vdmVybGF5KTsKICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKfQoKLndhbmQtc2V0dGluZ3Mtb3ZlcmxheSB7IHotaW5kZXg6IDMwOyB9Ci53YW5kLXNldHRpbmdzLW5lc3RlZC1vdmVybGF5IHsgei1pbmRleDogNDA7IH0KCi53YW5kLXNldHRpbmdzLWRpYWxvZywKLndhbmQtc2V0dGluZ3MtbmVzdGVkLWRpYWxvZyB7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogNTAlOwogIGxlZnQ6IDUwJTsKICB6LWluZGV4OiAzMTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1lbGV2YXRlZCkgNzglLCB0cmFuc3BhcmVudCk7CiAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIDU1JSwgdmFyKC0tYm9yZGVyLXN1YnRsZSkpOwogIGJveC1zaGFkb3c6IDAgMXB4IDNweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tdGV4dC1wcmltYXJ5KSA3JSwgdHJhbnNwYXJlbnQpOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxMzAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKfQoKLndhbmQtc2V0dGluZ3MtZGlhbG9nIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgd2lkdGg6IG1pbigxMDgwcHgsIGNhbGMoMTAwdncgLSB2YXIoLS13YW5kLXNhZmUtbGVmdCkgLSB2YXIoLS13YW5kLXNhZmUtcmlnaHQpIC0gNDhweCkpOwogIGhlaWdodDogbWluKDc5MHB4LCBjYWxjKDEwMGR2aCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgLSA0OHB4KSk7CiAgbWluLWhlaWdodDogNTIwcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1zdWJ0bGUpOwogIGJvcmRlci1yYWRpdXM6IDIwcHg7Cn0KCi53YW5kLXNldHRpbmdzLW5lc3RlZC1kaWFsb2cgewogIHotaW5kZXg6IDQxOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB3aWR0aDogbWluKDc2MHB4LCBjYWxjKDEwMHZ3IC0gdmFyKC0td2FuZC1zYWZlLWxlZnQpIC0gdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSAtIDMycHgpKTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgLSAzMnB4KTsKICBvdmVyZmxvdzogYXV0bzsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOwogIHBhZGRpbmctYm90dG9tOiAxOHB4Owp9Cgoud2FuZC1zZXR0aW5ncy1kaWFsb2dbZGF0YS1zdGF0ZT0ib3BlbiJdLAoud2FuZC1zZXR0aW5ncy1uZXN0ZWQtZGlhbG9nW2RhdGEtc3RhdGU9Im9wZW4iXSB7CiAgYW5pbWF0aW9uOiB3YW5kLXNldHRpbmdzLWZhZGUtaW4gMTYwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44LCAwLjIsIDEpOwp9CgpAa2V5ZnJhbWVzIHdhbmQtc2V0dGluZ3MtZmFkZS1pbiB7CiAgZnJvbSB7IG9wYWNpdHk6IDA7IH0KICB0byB7IG9wYWNpdHk6IDE7IH0KfQoKLndhbmQtc2V0dGluZ3MtaGVhZGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXg6IDAgMCBhdXRvOwogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDIwcHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ib3JkZXItc3VidGxlKSA3NiUsIHRyYW5zcGFyZW50KTsKICBwYWRkaW5nOiAxN3B4IDIwcHggMTZweDsKICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmctZWxldmF0ZWQpIDY4JSwgdHJhbnNwYXJlbnQpOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxMzAlKTsKfQoKLndhbmQtc2V0dGluZ3MtdGl0bGUgewogIG1hcmdpbjogMDsKICBmb250LXNpemU6IDEuMTI1cmVtOwogIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7CiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNWVtOwp9Cgoud2FuZC1zZXR0aW5ncy1kZXNjcmlwdGlvbiwKLndhbmQtc2V0dGluZ3MtcGFuZWwtaGVhZGluZyBwLAoud2FuZC1zZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmcgcCB7CiAgbWFyZ2luOiA1cHggMCAwOwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwp9Cgoud2FuZC1zZXR0aW5ncy1vdmVydmlldyB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4OiAwIDAgYXV0bzsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGdhcDogMTJweDsKICBtYXJnaW46IDE0cHggMThweCAwOwogIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hY2NlbnQpIDE3JSwgdmFyKC0tYm9yZGVyLXN1YnRsZSkpOwogIGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgcGFkZGluZzogMTNweCAxNHB4OwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1lbGV2YXRlZCkgODIlLCB2YXIoLS1hY2NlbnQtbXV0ZWQpKTsKICBib3gtc2hhZG93OiAwIDFweCAycHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRleHQtcHJpbWFyeSkgNSUsIHRyYW5zcGFyZW50KTsKfQoKLndhbmQtc2V0dGluZ3Mtb3ZlcnZpZXctbWFyaywKLndhbmQtc2V0dGluZ3MtdXBkYXRlLWRlY2staWNvbiB7CiAgZGlzcGxheTogaW5saW5lLWdyaWQ7CiAgZmxleDogMCAwIGF1dG87CiAgcGxhY2UtaXRlbXM6IGNlbnRlcjsKICB3aWR0aDogMzhweDsKICBoZWlnaHQ6IDM4cHg7CiAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFjY2VudCkgMjQlLCB0cmFuc3BhcmVudCk7CiAgYm9yZGVyLXJhZGl1czogMTJweDsKICBjb2xvcjogdmFyKC0tYWNjZW50LWFjdGl2ZSk7CiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LW11dGVkKTsKICBmb250LXNpemU6IDE4cHg7CiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpOwp9Cgoud2FuZC1zZXR0aW5ncy1vdmVydmlldy1jb3B5IHsKICBkaXNwbGF5OiBncmlkOwogIGZsZXg6IDEgMSBhdXRvOwogIG1pbi13aWR0aDogMDsKICBnYXA6IDhweDsKfQoKLndhbmQtc2V0dGluZ3Mtb3ZlcnZpZXctY29weSA+IGRpdjpmaXJzdC1jaGlsZCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMnB4OyB9Ci53YW5kLXNldHRpbmdzLW92ZXJ2aWV3LWNvcHkgc3Ryb25nIHsgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsgfQoud2FuZC1zZXR0aW5ncy1vdmVydmlldy1jb3B5ID4gZGl2OmZpcnN0LWNoaWxkIHNwYW4geyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7IH0KLndhbmQtc2V0dGluZ3Mtb3ZlcnZpZXcgPiBjb2RlIHsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIG1vbm9zcGFjZTsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Cgoud2FuZC1zZXR0aW5ncy1vdmVydmlldy1waWxscyB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiA2cHg7Cn0KCi53YW5kLXNldHRpbmdzLW92ZXJ2aWV3LXBpbGxzID4gc3BhbiwKLndhbmQtc2V0dGluZ3MtdXBkYXRlLWNoYW5uZWwgewogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTsKICBwYWRkaW5nOiA0cHggN3B4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpOwogIGZvbnQtc2l6ZTogMTBweDsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOwogIGxpbmUtaGVpZ2h0OiAxOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi53YW5kLXNldHRpbmdzLW92ZXJ2aWV3LXBpbGxzIC5pcy1zdWNjZXNzIHsgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3VjY2VzcykgMjAlLCB0cmFuc3BhcmVudCk7IGNvbG9yOiB2YXIoLS1zdWNjZXNzKTsgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1tdXRlZCk7IH0KLndhbmQtc2V0dGluZ3Mtb3ZlcnZpZXctcGlsbHMgLmlzLXdhcm5pbmcsCi53YW5kLXNldHRpbmdzLXVwZGF0ZS1jaGFubmVsLmlzLWJldGEgeyBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS13YXJuaW5nKSAyMCUsIHRyYW5zcGFyZW50KTsgY29sb3I6IHZhcigtLXdhcm5pbmcpOyBiYWNrZ3JvdW5kOiB2YXIoLS13YXJuaW5nLW11dGVkKTsgfQoud2FuZC1zZXR0aW5ncy1vdmVydmlldy1waWxscyAuaXMtaW5mbyB7IGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluZm8pIDIwJSwgdHJhbnNwYXJlbnQpOyBjb2xvcjogdmFyKC0taW5mbyk7IGJhY2tncm91bmQ6IHZhcigtLWluZm8tbXV0ZWQpOyB9Ci53YW5kLXNldHRpbmdzLW92ZXJ2aWV3LXBpbGxzIC5pcy1hY2NlbnQgeyBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hY2NlbnQpIDIwJSwgdHJhbnNwYXJlbnQpOyBjb2xvcjogdmFyKC0tYWNjZW50LWFjdGl2ZSk7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1tdXRlZCk7IH0KCi53YW5kLXNldHRpbmdzLWxvYWRpbmcsCi53YW5kLXNldHRpbmdzLWxvYWQtZXJyb3IgewogIGRpc3BsYXk6IGdyaWQ7CiAgZmxleDogMTsKICBwbGFjZS1jb250ZW50OiBjZW50ZXI7CiAganVzdGlmeS1pdGVtczogY2VudGVyOwogIGdhcDogMTRweDsKICBwYWRkaW5nOiAyOHB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7Cn0KCi53YW5kLXNldHRpbmdzLXJlYWRvbmx5IHsKICBmbGV4OiAwIDAgYXV0bzsKICBtYXJnaW46IDEycHggMThweCAwOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdhcm5pbmcpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgcGFkZGluZzogOXB4IDEycHg7CiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS13YXJuaW5nLW11dGVkKTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7Cn0KCi53YW5kLXNldHRpbmdzLXRhYnMgewogIGRpc3BsYXk6IGdyaWQ7CiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNDZweCBtaW5tYXgoMCwgMWZyKTsKICBmbGV4OiAxOwogIG1pbi1oZWlnaHQ6IDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLndhbmQtc2V0dGluZ3MtdGFicyA+IC53YW5kLXVpLXRhYnMtbGlzdCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogM3B4OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgb3ZlcmZsb3c6IGF1dG87CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJvcmRlci1zdWJ0bGUpIDc2JSwgdHJhbnNwYXJlbnQpOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgcGFkZGluZzogMTNweCAxMXB4OwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1zZWNvbmRhcnkpIDgyJSwgdmFyKC0tYmctcHJpbWFyeSkpOwp9Cgoud2FuZC1zZXR0aW5ncy10YWJzID4gLndhbmQtdWktdGFicy1saXN0IC53YW5kLXVpLXRhYnMtdHJpZ2dlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1pbi1oZWlnaHQ6IDUycHg7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogMTBweDsKICBwYWRkaW5nOiA4cHggMTJweCA4cHggMTRweDsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgdHJhbnNpdGlvbjoKICAgIGNvbG9yIDE0MG1zIGN1YmljLWJlemllcigwLjIsIDAuOCwgMC4yLCAxKSwKICAgIGJhY2tncm91bmQtY29sb3IgMTQwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44LCAwLjIsIDEpLAogICAgYm9yZGVyLWNvbG9yIDE0MG1zIGN1YmljLWJlemllcigwLjIsIDAuOCwgMC4yLCAxKTsKfQoKLndhbmQtc2V0dGluZ3MtdGFicyA+IC53YW5kLXVpLXRhYnMtbGlzdCAud2FuZC11aS10YWJzLXRyaWdnZXI6aG92ZXI6bm90KDpkaXNhYmxlZCkgewogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1lbGV2YXRlZCkgNjYlLCB0cmFuc3BhcmVudCk7Cn0KCi53YW5kLXNldHRpbmdzLXRhYnMgPiAud2FuZC11aS10YWJzLWxpc3QgLndhbmQtdWktdGFicy10cmlnZ2VyW2RhdGEtc3RhdGU9ImFjdGl2ZSJdIHsKICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hY2NlbnQpIDE2JSwgdmFyKC0tYm9yZGVyLXN1YnRsZSkpOwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1lbGV2YXRlZCkgOTAlLCB2YXIoLS1hY2NlbnQtbXV0ZWQpKTsKfQoKLndhbmQtc2V0dGluZ3MtdGFicyA+IC53YW5kLXVpLXRhYnMtbGlzdCAud2FuZC11aS10YWJzLXRyaWdnZXJbZGF0YS1zdGF0ZT0iYWN0aXZlIl06OmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTFweDsKICBib3R0b206IDExcHg7CiAgbGVmdDogNXB4OwogIHdpZHRoOiAycHg7CiAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTsKICBjb250ZW50OiAiIjsKfQoKLndhbmQtc2V0dGluZ3MtdGFiLWxhYmVsIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiAycHg7CiAgbWluLXdpZHRoOiAwOwp9Cgoud2FuZC1zZXR0aW5ncy10YWItbGFiZWwgc3Ryb25nIHsKICBjb2xvcjogaW5oZXJpdDsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7CiAgbGluZS1oZWlnaHQ6IDEuMjU7Cn0KCi53YW5kLXNldHRpbmdzLXRhYi1sYWJlbCBzcGFuIHsKICBvdmVyZmxvdzogaGlkZGVuOwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi53YW5kLXNldHRpbmdzLXRhYnMgPiAud2FuZC11aS10YWJzLWNvbnRlbnQgewogIGdyaWQtY29sdW1uOiAyOwogIG1pbi13aWR0aDogMDsKICBtaW4taGVpZ2h0OiAwOwogIG1hcmdpbjogMDsKICBvdmVyZmxvdzogYXV0bzsKICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1wcmltYXJ5KSA1OCUsIHZhcigtLWJnLWVsZXZhdGVkKSk7Cn0KCi53YW5kLXVpLXBvcG92ZXItY29udGVudC53YW5kLXNoZWxsLW1lbnUtcG9wb3ZlciB7CiAgd2lkdGg6IGF1dG87CiAgcGFkZGluZzogNHB4Owp9Cgoud2FuZC1zZXR0aW5ncy1wYW5lbCB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB3aWR0aDogMTAwJTsKICBtYXgtd2lkdGg6IDgyMHB4OwogIG1hcmdpbjogMCBhdXRvOwogIHBhZGRpbmc6IDI1cHggMjZweCAzNnB4Owp9Cgoud2FuZC1zZXR0aW5ncy1wYW5lbC1oZWFkaW5nIHsKICBtYXJnaW4tYm90dG9tOiAyMnB4Owp9Cgoud2FuZC1zZXR0aW5ncy1wYW5lbC1oZWFkaW5nIGgyLAoud2FuZC1zZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmcgaDMgewogIG1hcmdpbjogMDsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKfQoKLndhbmQtc2V0dGluZ3MtcGFuZWwtaGVhZGluZyBoMiB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgbGV0dGVyLXNwYWNpbmc6IC0wLjAxOGVtOyB9Ci53YW5kLXNldHRpbmdzLXNlY3Rpb24taGVhZGluZyBoMyB7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpOyB9Cgoud2FuZC1zZXR0aW5ncy1zZWN0aW9uIHsKICBtYXJnaW4tYm90dG9tOiAxOHB4OwogIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ib3JkZXItZGVmYXVsdCkgNzIlLCB0cmFuc3BhcmVudCk7CiAgYm9yZGVyLXJhZGl1czogMTVweDsKICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmctZWxldmF0ZWQpIDc2JSwgdHJhbnNwYXJlbnQpOwogIGJveC1zaGFkb3c6IDAgMXB4IDFweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tdGV4dC1wcmltYXJ5KSA0JSwgdHJhbnNwYXJlbnQpOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KSBzYXR1cmF0ZSgxMjAlKTsKfQoKLndhbmQtc2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDE2cHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ib3JkZXItc3VidGxlKSA3MiUsIHRyYW5zcGFyZW50KTsKICBwYWRkaW5nOiAxNXB4IDE3cHggMTRweDsKfQoKLndhbmQtc2V0dGluZ3Mtc2VjdGlvbi1hY3Rpb24geyBmbGV4OiAwIDAgYXV0bzsgfQoKLndhbmQtc2V0dGluZ3Mtc2VjdGlvbi1ib2R5IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiAxNXB4OwogIHBhZGRpbmc6IDE3cHg7Cn0KCi53YW5kLXNldHRpbmdzLWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7CiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwogIGdhcDogMTRweDsKfQoKLndhbmQtc2V0dGluZ3MtZmllbGQgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IDZweDsKICBtaW4td2lkdGg6IDA7Cn0KCi53YW5kLXNldHRpbmdzLWZpZWxkID4gbGFiZWwsCi53YW5kLXNldHRpbmdzLWZpbGUtZ3JpZCBsYWJlbCA+IHNwYW4gewogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOwp9Cgoud2FuZC1zZXR0aW5ncy1pbnB1dCB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB3aWR0aDogMTAwJTsKICBtaW4taGVpZ2h0OiA0MHB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogIHBhZGRpbmc6IDhweCAxMHB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwp9Cgoud2FuZC1zZXR0aW5ncy1pbnB1dDpmb2N1cywKLndhbmQtc2V0dGluZ3MtcmFuZ2U6Zm9jdXMtdmlzaWJsZSwKLndhbmQtc2V0dGluZ3MtZmlsZS1ncmlkIGlucHV0OmZvY3VzLXZpc2libGUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsKICBvdXRsaW5lOiBub25lOwogIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpOwp9Cgoud2FuZC1zZXR0aW5ncy1pbnB1dFthcmlhLWludmFsaWQ9InRydWUiXSB7IGJvcmRlci1jb2xvcjogdmFyKC0tZGFuZ2VyKTsgfQoKLndhbmQtc2V0dGluZ3Mtc2VsZWN0IC53YW5kLXVpLXNlbGVjdC10cmlnZ2VyIHsgd2lkdGg6IDEwMCU7IH0KCi53YW5kLXNldHRpbmdzLWZpZWxkLWhpbnQsCi53YW5kLXNldHRpbmdzLWZpZWxkLWVycm9yLAoud2FuZC1zZXR0aW5ncy1maWxlLWdyaWQgc21hbGwgewogIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7Cn0KCi53YW5kLXNldHRpbmdzLWZpZWxkLWVycm9yIHsgY29sb3I6IHZhcigtLWRhbmdlcik7IH0KCi53YW5kLXNldHRpbmdzLXRvZ2dsZS1yb3csCi53YW5kLXNldHRpbmdzLWRvd25sb2FkLXJvdywKLndhbmQtc2V0dGluZ3MtY2xpLWxpc3QgPiBkaXYsCi53YW5kLXNldHRpbmdzLWFib3V0LWxpc3QgPiBkaXYgewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxOHB4Owp9Cgoud2FuZC1zZXR0aW5ncy10b2dnbGUtcm93LAoud2FuZC1zZXR0aW5ncy1kb3dubG9hZC1yb3cgewogIG1pbi1oZWlnaHQ6IDQ0cHg7Cn0KCi53YW5kLXNldHRpbmdzLXRvZ2dsZS1yb3cgPiBkaXYsCi53YW5kLXNldHRpbmdzLWRvd25sb2FkLXJvdyA+IGRpdiB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogM3B4OwogIG1pbi13aWR0aDogMDsKfQoKLndhbmQtc2V0dGluZ3MtdG9nZ2xlLXJvdyBzdHJvbmcsCi53YW5kLXNldHRpbmdzLWRvd25sb2FkLXJvdyBzdHJvbmcgeyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7IH0KLndhbmQtc2V0dGluZ3MtdG9nZ2xlLXJvdyBzcGFuLAoud2FuZC1zZXR0aW5ncy1kb3dubG9hZC1yb3cgc3BhbiwKLndhbmQtc2V0dGluZ3MtY2xpLWxpc3Qgc3BhbiB7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsgfQoKLndhbmQtc2V0dGluZ3Mtc3RhdHVzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICBwYWRkaW5nOiA5cHggMTFweDsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7CiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwp9Cgoud2FuZC1zZXR0aW5ncy1zdGF0dXMtc3VjY2VzcyB7IGJvcmRlci1jb2xvcjogdmFyKC0tc3VjY2Vzcyk7IGJhY2tncm91bmQ6IHZhcigtLXN1Y2Nlc3MtbXV0ZWQpOyB9Ci53YW5kLXNldHRpbmdzLXN0YXR1cy13YXJuaW5nIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS13YXJuaW5nKTsgYmFja2dyb3VuZDogdmFyKC0td2FybmluZy1tdXRlZCk7IH0KLndhbmQtc2V0dGluZ3Mtc3RhdHVzLWVycm9yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYW5nZXIpOyBiYWNrZ3JvdW5kOiB2YXIoLS1kYW5nZXItbXV0ZWQpOyB9Cgoud2FuZC1zZXR0aW5ncy1zYXZlLWJhciB7CiAgcG9zaXRpb246IHN0aWNreTsKICBib3R0b206IDA7CiAgei1pbmRleDogMjsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICBnYXA6IDEycHg7CiAgbWFyZ2luOiAxOHB4IC0yNnB4IC0zNnB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTsKICBwYWRkaW5nOiAxM3B4IDI2cHggY2FsYygxM3B4ICsgdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkpOwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1lbGV2YXRlZCkgOTYlLCB0cmFuc3BhcmVudCk7CiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpOwp9Cgoud2FuZC1zZXR0aW5ncy1zYXZlLWJhciAud2FuZC1zZXR0aW5ncy1zdGF0dXMgeyBmbGV4OiAxOyB9Cgoud2FuZC1zZXR0aW5ncy1idXR0b24tcm93IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKICBnYXA6IDhweDsKfQoKLndhbmQtc2V0dGluZ3MtYWJvdXQtbGlzdCwKLndhbmQtc2V0dGluZ3MtY2xpLWxpc3QgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IDEwcHg7CiAgbWFyZ2luOiAwOwp9Cgoud2FuZC1zZXR0aW5ncy1hYm91dC1saXN0ID4gZGl2LAoud2FuZC1zZXR0aW5ncy1jbGktbGlzdCA+IGRpdiB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwogIHBhZGRpbmctYm90dG9tOiA5cHg7Cn0KCi53YW5kLXNldHRpbmdzLWFib3V0LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCwKLndhbmQtc2V0dGluZ3MtY2xpLWxpc3QgPiBkaXY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IHBhZGRpbmctYm90dG9tOiAwOyB9Ci53YW5kLXNldHRpbmdzLWFib3V0LWxpc3QgZHQgeyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyB9Ci53YW5kLXNldHRpbmdzLWFib3V0LWxpc3QgZGQgeyBtYXJnaW46IDA7IG1heC13aWR0aDogNzAlOyBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgdGV4dC1hbGlnbjogcmlnaHQ7IH0KCi53YW5kLXNldHRpbmdzLXVwZGF0ZS1kZWNrIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZ2FwOiAxMXB4OwogIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1zdWNjZXNzKSAyMCUsIHZhcigtLWJvcmRlci1zdWJ0bGUpKTsKICBib3JkZXItcmFkaXVzOiAxM3B4OwogIHBhZGRpbmc6IDExcHg7CiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXN1Y2Nlc3MtbXV0ZWQpIDQ1JSwgdmFyKC0tYmctc2Vjb25kYXJ5KSk7Cn0KCi53YW5kLXNldHRpbmdzLXVwZGF0ZS1kZWNrLWljb24gewogIHdpZHRoOiAzNHB4OwogIGhlaWdodDogMzRweDsKICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1zdWNjZXNzKSAyNiUsIHRyYW5zcGFyZW50KTsKICBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7CiAgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1tdXRlZCk7CiAgZm9udC1zaXplOiAyMHB4Owp9Cgoud2FuZC1zZXR0aW5ncy11cGRhdGUtZGVjayA+IGRpdiB7IGRpc3BsYXk6IGdyaWQ7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IGdhcDogMnB4OyB9Ci53YW5kLXNldHRpbmdzLXVwZGF0ZS1kZWNrIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7IH0KLndhbmQtc2V0dGluZ3MtdXBkYXRlLWRlY2sgc3BhbiB7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsgfQoud2FuZC1zZXR0aW5ncy11cGRhdGUtcHJpbWFyeSB7IG1pbi13aWR0aDogMTEycHg7IH0KCi53YW5kLXNldHRpbmdzLWNvbm5lY3QtY29kZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgb3ZlcmZsb3c6IGF1dG87CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgcGFkZGluZzogMTBweDsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7CiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7CiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwp9Cgoud2FuZC1zZXR0aW5ncy1xci1kaWFsb2cgeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfQoud2FuZC1zZXR0aW5ncy1xci1kaWFsb2cgY2FudmFzIHsgYWxpZ24tc2VsZjogY2VudGVyOyBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpOyBoZWlnaHQ6IGF1dG87IG1hcmdpbjogMThweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgfQoud2FuZC1zZXR0aW5ncy1xci1kaWFsb2cgLndhbmQtc2V0dGluZ3MtY29ubmVjdC1jb2RlIHsgbWFyZ2luOiAwIDE4cHg7IH0KCi53YW5kLXNldHRpbmdzLWVudi10b29sYmFyIHsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDE4MHB4LCAxZnIpIG1pbm1heCgyNDBweCwgMWZyKTsKICBnYXA6IDE0cHg7CiAgcGFkZGluZzogMTZweCAxOHB4Owp9Cgoud2FuZC1zZXR0aW5ncy1lbnYtbGlzdCB7CiAgbWluLWhlaWdodDogMTgwcHg7CiAgbWF4LWhlaWdodDogNTV2aDsKICBtYXJnaW46IDAgMThweDsKICBvdmVyZmxvdzogYXV0bzsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsKfQoKLndhbmQtc2V0dGluZ3MtZW52LXJvdyB7CiAgZGlzcGxheTogZ3JpZDsKICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxNDBweCwgLjQ1ZnIpIG1pbm1heCgwLCAxZnIpOwogIGdhcDogMTJweDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7CiAgcGFkZGluZzogOHB4IDEwcHg7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOwp9Cgoud2FuZC1zZXR0aW5ncy1lbnYtcm93IHNwYW4geyBvdmVyZmxvdzogaGlkZGVuOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQoKLndhbmQtc2V0dGluZ3MtcmFuZ2UgeyB3aWR0aDogMTAwJTsgYWNjZW50LWNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9Cgoud2FuZC1zZXR0aW5ncy1yYWRpby1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiA4cHggMThweDsKICBtYXJnaW46IDA7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7Cn0KLndhbmQtc2V0dGluZ3MtcmFkaW8tZ3JvdXAgbGVnZW5kIHsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDRweDsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOyBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOyB9Ci53YW5kLXNldHRpbmdzLXJhZGlvLWdyb3VwIGxhYmVsIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyBjdXJzb3I6IHBvaW50ZXI7IH0KLndhbmQtc2V0dGluZ3MtcmFkaW8tZ3JvdXAgaW5wdXQgeyBhY2NlbnQtY29sb3I6IHZhcigtLWFjY2VudCk7IH0KCi53YW5kLXNldHRpbmdzLXByZXNldC1saXN0IHsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxMHB4OyB9Ci53YW5kLXNldHRpbmdzLXByZXNldCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNXB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7IHBhZGRpbmc6IDEycHggMTRweDsgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTsgfQoud2FuZC1zZXR0aW5ncy1wcmVzZXQgY29kZSB7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9Ci53YW5kLXNldHRpbmdzLXByZXNldCBzcGFuIHsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7IH0KCi53YW5kLXNldHRpbmdzLWVtcHR5IHsgcGFkZGluZzogMjBweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsgfQoKLndhbmQtc2V0dGluZ3Mtc2VjdXJpdHktZm9ybSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTRweDsgfQoud2FuZC1zZXR0aW5ncy1maWxlLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IGdhcDogMTJweDsgfQoud2FuZC1zZXR0aW5ncy1maWxlLWdyaWQgbGFiZWwgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDdweDsgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgcGFkZGluZzogMTJweDsgfQoud2FuZC1zZXR0aW5ncy1maWxlLWdyaWQgaW5wdXQgeyBtYXgtd2lkdGg6IDEwMCU7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsgfQoKLndhbmQtcXVpY2stb3ZlcmxheSB7CiAgcG9zaXRpb246IGZpeGVkOwogIGluc2V0OiAwOwogIHotaW5kZXg6IDA7CiAgYmFja2dyb3VuZDogcmdiYSgyMCwgMTQsIDgsIDAuMzQpOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTsKICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKfQoKLndhbmQtcXVpY2stZGlhbG9nIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgei1pbmRleDogMTsKICB0b3A6IDUwJTsKICBsZWZ0OiA1MCU7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBtaW4oNzIwcHgsIGNhbGMoMTAwdncgLSB2YXIoLS13YW5kLXNhZmUtbGVmdCkgLSB2YXIoLS13YW5kLXNhZmUtcmlnaHQpIC0gMzJweCkpOwogIG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gdmFyKC0td2FuZC1zYWZlLXRvcCkgLSB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSAtIDMycHgpOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTgpOwogIGJvcmRlci1yYWRpdXM6IDI0cHg7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1MiwgMjQ3LCAwLjk0KTsKICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzNnB4KSBzYXR1cmF0ZSgxNjUlKTsKICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzNnB4KSBzYXR1cmF0ZSgxNjUlKTsKfQoKLndhbmQtcXVpY2stZGlhbG9nW2RhdGEtc3RhdGU9Im9wZW4iXSB7IGFuaW1hdGlvbjogd2FuZC11aS1kaWFsb2ctaW4gdmFyKC0tdHJhbnNpdGlvbi1ub3JtYWwpOyB9Ci53YW5kLXF1aWNrLWRpYWxvZ1tkYXRhLXN0YXRlPSJjbG9zZWQiXSB7IGFuaW1hdGlvbjogd2FuZC11aS1kaWFsb2ctb3V0IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH0KCi53YW5kLXF1aWNrLWhlYWRlciB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxOHB4OwogIHBhZGRpbmc6IDIxcHggMjJweCAxN3B4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTsKfQoKLndhbmQtcXVpY2stdGl0bGUgewogIG1hcmdpbjogMDsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7CiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTsKfQoKLndhbmQtcXVpY2stZGVzY3JpcHRpb24gewogIG1hcmdpbjogNXB4IDAgMDsKICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwp9Cgoud2FuZC1xdWljay1oZWFkZXIgPiAud2FuZC11aS1idXR0b24gewogIGZsZXg6IDAgMCBhdXRvOwogIHdpZHRoOiAzMnB4OwogIG1pbi13aWR0aDogMzJweDsKICBtaW4taGVpZ2h0OiAzMnB4OwogIHBhZGRpbmc6IDA7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOwp9Cgoud2FuZC1xdWljay1sb2FkaW5nIHsKICBwYWRkaW5nOiA0MnB4IDI0cHg7CiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi53YW5kLXF1aWNrLWZvcm0gewogIGRpc3BsYXk6IGZsZXg7CiAgbWluLWhlaWdodDogMDsKICBmbGV4OiAxIDEgYXV0bzsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Cgoud2FuZC1xdWljay1ib2R5IHsKICBkaXNwbGF5OiBncmlkOwogIG1pbi1oZWlnaHQ6IDA7CiAgZ2FwOiAxN3B4OwogIG92ZXJmbG93LXk6IGF1dG87CiAgcGFkZGluZzogMThweCAyMnB4IDIwcHg7Cn0KCi53YW5kLXF1aWNrLXdvcmtzcGFjZS1sZW5zIHsKICAtLXdhbmQtcXVpY2stbGVucy10b25lOiB2YXIoLS1hY2NlbnQpOwogIC0td2FuZC1xdWljay1sZW5zLW11dGVkOiB2YXIoLS1hY2NlbnQtbXV0ZWQpOwogIGRpc3BsYXk6IGdyaWQ7CiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzNHB4IG1pbm1heCgwLCAxZnIpIGF1dG87CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDEwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXdhbmQtcXVpY2stbGVucy10b25lKSAyNiUsIHZhcigtLWJvcmRlci1zdWJ0bGUpKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OwogIHBhZGRpbmc6IDExcHg7CiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXdhbmQtcXVpY2stbGVucy1tdXRlZCkgNDglLCB2YXIoLS1iZy1lbGV2YXRlZCkpOwp9Cgoud2FuZC1xdWljay13b3Jrc3BhY2UtbGVucy5pcy1zdWNjZXNzIHsKICAtLXdhbmQtcXVpY2stbGVucy10b25lOiB2YXIoLS1zdWNjZXNzKTsKICAtLXdhbmQtcXVpY2stbGVucy1tdXRlZDogdmFyKC0tc3VjY2Vzcy1tdXRlZCk7Cn0KCi53YW5kLXF1aWNrLXdvcmtzcGFjZS1pY29uIHsKICBkaXNwbGF5OiBncmlkOwogIHdpZHRoOiAzNHB4OwogIGhlaWdodDogMzRweDsKICBwbGFjZS1pdGVtczogY2VudGVyOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgY29sb3I6IHZhcigtLXdhbmQtcXVpY2stbGVucy10b25lKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS13YW5kLXF1aWNrLWxlbnMtbXV0ZWQpOwogIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgbW9ub3NwYWNlOwogIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTsKfQoKLndhbmQtcXVpY2std29ya3NwYWNlLWxlbnMgPiBkaXYgeyBkaXNwbGF5OiBncmlkOyBtaW4td2lkdGg6IDA7IGdhcDogMnB4OyB9Ci53YW5kLXF1aWNrLXdvcmtzcGFjZS1sZW5zIHN0cm9uZyB7IG92ZXJmbG93OiBoaWRkZW47IGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOyBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIG1vbm9zcGFjZTsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQoud2FuZC1xdWljay13b3Jrc3BhY2UtbGVucyA+IGRpdiA+IHNwYW4geyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7IH0KLndhbmQtcXVpY2std29ya3NwYWNlLWxlbnMgPiBjb2RlIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOyBwYWRkaW5nOiA1cHggN3B4OyBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7IGJhY2tncm91bmQ6IHZhcigtLXN1Y2Nlc3MtbXV0ZWQpOyBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIG1vbm9zcGFjZTsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOyB9Cgoud2FuZC1xdWljay1maWxlcywKLndhbmQtcXVpY2stZWRpdG9yLAoud2FuZC1xdWljay1hY3Rpb25zIHsKICBtaW4td2lkdGg6IDA7CiAgbWFyZ2luOiAwOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ4KTsKfQoKLndhbmQtcXVpY2stYWN0aW9ucyB7IHBhZGRpbmc6IDE0cHg7IH0KCi53YW5kLXF1aWNrLXNlY3Rpb24taGVhZGluZyB7CiAgZGlzcGxheTogZmxleDsKICBtaW4taGVpZ2h0OiAzNXB4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGdhcDogMTJweDsKICBwYWRkaW5nOiA4cHggMTFweDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Cn0KCi53YW5kLXF1aWNrLXNlY3Rpb24taGVhZGluZyBoMywKLndhbmQtcXVpY2stYWN0aW9ucyBsZWdlbmQgewogIG1hcmdpbjogMDsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsKICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOwogIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLndhbmQtcXVpY2stc2VjdGlvbi1oZWFkaW5nID4gc3BhbiB7CiAgbWluLXdpZHRoOiAyMnB4OwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTsKICBwYWRkaW5nOiAycHggN3B4OwogIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLndhbmQtcXVpY2stZmlsZS1saXN0IHsKICBkaXNwbGF5OiBncmlkOwogIG1heC1oZWlnaHQ6IDE0OHB4OwogIG1hcmdpbjogMDsKICBvdmVyZmxvdy15OiBhdXRvOwogIHBhZGRpbmc6IDVweCAwOwogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KCi53YW5kLXF1aWNrLWZpbGUtbGlzdCBsaSB7CiAgZGlzcGxheTogZmxleDsKICBtaW4td2lkdGg6IDA7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDlweDsKICBwYWRkaW5nOiA1cHggMTFweDsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKfQoKLndhbmQtcXVpY2stZmlsZS1saXN0IGxpOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgxMjUsIDkxLCA1NywgMC4wNSk7IH0KCi53YW5kLXF1aWNrLWZpbGUtYmFkZ2UgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIHdpZHRoOiAyMHB4OwogIGhlaWdodDogMjBweDsKICBmbGV4OiAwIDAgMjBweDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGJvcmRlci1yYWRpdXM6IDZweDsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTsKICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIG1vbm9zcGFjZTsKICBmb250LXNpemU6IDExcHg7CiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpOwp9Cgoud2FuZC1xdWljay1maWxlLWJhZGdlLWFkZGVkLAoud2FuZC1xdWljay1maWxlLWJhZGdlLXVudHJhY2tlZCB7IGNvbG9yOiB2YXIoLS1zdWNjZXNzKTsgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1tdXRlZCk7IH0KLndhbmQtcXVpY2stZmlsZS1iYWRnZS1tb2RpZmllZCB7IGNvbG9yOiB2YXIoLS13YXJuaW5nKTsgYmFja2dyb3VuZDogdmFyKC0td2FybmluZy1tdXRlZCk7IH0KLndhbmQtcXVpY2stZmlsZS1iYWRnZS1kZWxldGVkIHsgY29sb3I6IHZhcigtLWRhbmdlcik7IGJhY2tncm91bmQ6IHZhcigtLWRhbmdlci1tdXRlZCk7IH0KLndhbmQtcXVpY2stZmlsZS1iYWRnZS1yZW5hbWVkIHsgY29sb3I6IHZhcigtLWluZm8pOyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmZvLW11dGVkKTsgfQoud2FuZC1xdWljay1maWxlLWJhZGdlLWlnbm9yZWQgeyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH0KCi53YW5kLXF1aWNrLWZpbGUtcGF0aCB7CiAgbWluLXdpZHRoOiAwOwogIGZsZXg6IDEgMSBhdXRvOwogIG92ZXJmbG93OiBoaWRkZW47CiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBtb25vc3BhY2U7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLndhbmQtcXVpY2stc3VibW9kdWxlLWJhZGdlIHsKICBmbGV4OiAwIDAgYXV0bzsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7CiAgcGFkZGluZzogMnB4IDdweDsKICBjb2xvcjogdmFyKC0taW5mbyk7CiAgYmFja2dyb3VuZDogdmFyKC0taW5mby1tdXRlZCk7CiAgZm9udC1zaXplOiAxMHB4Owp9Cgoud2FuZC1xdWljay1lbXB0eSB7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDE3cHggMTJweDsKICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLndhbmQtcXVpY2stZWRpdG9yIHsgcGFkZGluZy1ib3R0b206IDEycHg7IH0KLndhbmQtcXVpY2stZWRpdG9yIC53YW5kLXF1aWNrLXNlY3Rpb24taGVhZGluZyB7IG1hcmdpbi1ib3R0b206IDEycHg7IH0KCi53YW5kLXF1aWNrLWZpZWxkIHsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTIwcHggbWlubWF4KDAsIDFmcik7CiAgYWxpZ24taXRlbXM6IHN0YXJ0OwogIGdhcDogMTJweDsKICBwYWRkaW5nOiA1cHggMTJweDsKfQoKLndhbmQtcXVpY2stZmllbGQgPiBzcGFuIHsKICBwYWRkaW5nLXRvcDogOXB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7CiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTsKfQoKLndhbmQtcXVpY2stZmllbGQgaW5wdXQsCi53YW5kLXF1aWNrLWZpZWxkIHRleHRhcmVhIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHdpZHRoOiAxMDAlOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogIHBhZGRpbmc6IDlweCAxMXB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwogIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTsKICByZXNpemU6IHZlcnRpY2FsOwp9Cgoud2FuZC1xdWljay1maWVsZCBpbnB1dDpmb2N1cywKLndhbmQtcXVpY2stZmllbGQgdGV4dGFyZWE6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOwogIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpOwp9Cgoud2FuZC1xdWljay1hY3Rpb25zIGxlZ2VuZCB7IHBhZGRpbmc6IDAgNXB4OyB9Cgoud2FuZC1xdWljay1hY3Rpb24tZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsKICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CiAgZ2FwOiA4cHg7Cn0KCi53YW5kLXF1aWNrLWFjdGlvbi1ncmlkIGxhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogZ3JpZDsKICBnYXA6IDNweDsKICBtaW4td2lkdGg6IDA7CiAgY3Vyc29yOiBwb2ludGVyOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogIHBhZGRpbmc6IDEwcHggMTJweCAxMHB4IDM2cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOwp9Cgoud2FuZC1xdWljay1hY3Rpb24tZ3JpZCBsYWJlbDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLXN0cm9uZyk7IH0KLndhbmQtcXVpY2stYWN0aW9uLWdyaWQgbGFiZWwuaXMtc2VsZWN0ZWQgeyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1tdXRlZCk7IH0KLndhbmQtcXVpY2stYWN0aW9uLWdyaWQgbGFiZWw6Zm9jdXMtd2l0aGluIHsgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLCAwIDAgMCA0cHggdmFyKC0tYWNjZW50KTsgfQoKLndhbmQtcXVpY2stYWN0aW9uLWdyaWQgaW5wdXQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEzcHg7CiAgbGVmdDogMTNweDsKICB3aWR0aDogMTVweDsKICBoZWlnaHQ6IDE1cHg7CiAgbWFyZ2luOiAwOwogIGFjY2VudC1jb2xvcjogdmFyKC0tYWNjZW50LWFjdGl2ZSk7Cn0KCi53YW5kLXF1aWNrLWFjdGlvbi1ncmlkIHN0cm9uZyB7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsgfQoud2FuZC1xdWljay1hY3Rpb24tZ3JpZCBzcGFuIHsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7IH0KCi53YW5kLXF1aWNrLXN1Ym1vZHVsZS10b2dnbGUgewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxNHB4OwogIG1hcmdpbi10b3A6IDExcHg7CiAgcGFkZGluZzogMTBweCAxMXB4OwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTsKfQoKLndhbmQtcXVpY2stc3VibW9kdWxlLXRvZ2dsZSA+IGRpdjpmaXJzdC1jaGlsZCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMnB4OyB9Ci53YW5kLXF1aWNrLXN1Ym1vZHVsZS10b2dnbGUgc3Ryb25nIHsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOyB9Ci53YW5kLXF1aWNrLXN1Ym1vZHVsZS10b2dnbGUgc3BhbiB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOyB9Cgoud2FuZC1xdWljay1lcnJvciB7CiAgbWFyZ2luOiAwOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgcGFkZGluZzogOXB4IDExcHg7CiAgY29sb3I6IHZhcigtLWRhbmdlcik7CiAgYmFja2dyb3VuZDogdmFyKC0tZGFuZ2VyLW11dGVkKTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7Cn0KCi53YW5kLXF1aWNrLWZvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4OiAwIDAgYXV0bzsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDE2cHg7CiAgcGFkZGluZzogMTNweCAyMnB4IGNhbGMoMTNweCArIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKTsKICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1MiwgMjQ3LCAwLjkpOwp9Cgoud2FuZC1xdWljay1mb290ZXIgPiBzcGFuIHsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7IH0KLndhbmQtcXVpY2stZm9vdGVyID4gZGl2IHsgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IH0KCi53YW5kLXF1aWNrLXJlc3VsdCB7CiAgZGlzcGxheTogZ3JpZDsKICBnYXA6IDEzcHg7CiAgb3ZlcmZsb3cteTogYXV0bzsKICBwYWRkaW5nOiAyMnB4Owp9Cgoud2FuZC1xdWljay1yZXN1bHQtcGFpciB7CiAgZGlzcGxheTogZ3JpZDsKICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDc4cHggbWlubWF4KDAsIDFmcik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDEycHg7Cn0KCi53YW5kLXF1aWNrLXJlc3VsdC1sYWJlbCB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOyBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOyB9Cgoud2FuZC1xdWljay1yZXN1bHQtZmxvdyB7CiAgZGlzcGxheTogZ3JpZDsKICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG8gbWlubWF4KDAsIDFmcik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDExcHg7Cn0KCi53YW5kLXF1aWNrLXJlc3VsdC1mbG93ID4gZGl2IHsKICBtaW4td2lkdGg6IDA7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICBwYWRkaW5nOiAxMHB4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7Cn0KCi53YW5kLXF1aWNrLXJlc3VsdC1mbG93ID4gc3BhbiB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfQoud2FuZC1xdWljay12YWx1ZS1zdGFjayB7IGRpc3BsYXk6IGdyaWQ7IG1pbi13aWR0aDogMDsgZ2FwOiA0cHg7IH0KLndhbmQtcXVpY2stdmFsdWUtc3RhY2sgPiBzcGFuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQoud2FuZC1xdWljay1yZXN1bHQgY29kZSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtYWN0aXZlKTsgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsgfQoud2FuZC1xdWljay1tdXRlZCB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOyB9Ci53YW5kLXF1aWNrLXJlc3VsdC1ub3RlIHsgbWFyZ2luOiAwOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7IH0KCi53YW5kLXF1aWNrLXJlc3VsdC1hY3Rpb25zIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICBnYXA6IDhweDsKICBwYWRkaW5nLXRvcDogNHB4Owp9Cgoud2FuZC1xdWljay1wdXNoZWQgeyBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTsgfQoKCmAsRTk9U3RyaW5nLnJhd2AKLndhbmQtbmV3LXNlc3Npb24tb3ZlcmxheSB7CiAgcG9zaXRpb246IGZpeGVkOwogIGluc2V0OiAwOwogIHotaW5kZXg6IDA7CiAgYmFja2dyb3VuZDogcmdiYSgyMCwgMTQsIDgsIDAuNDIpOwogIHBvaW50ZXItZXZlbnRzOiBhdXRvOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1kaWFsb2cgewogIHBvc2l0aW9uOiBmaXhlZDsKICB6LWluZGV4OiAxOwogIHRvcDogNTAlOwogIGxlZnQ6IDUwJTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB3aWR0aDogbWluKDcyMHB4LCBjYWxjKDEwMHZ3IC0gdmFyKC0td2FuZC1zYWZlLWxlZnQpIC0gdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSAtIDMycHgpKTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgLSAzMnB4KTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ib3JkZXItc3VidGxlKSA3MCUsIHdoaXRlKTsKICBib3JkZXItcmFkaXVzOiAyNnB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWVsZXZhdGVkKTsKICBib3gtc2hhZG93OiAwIDI4cHggNzJweCByZ2JhKDQzLCAyNywgMTYsIDAuMjQpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Nik7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgcG9pbnRlci1ldmVudHM6IGF1dG87Cn0KCkBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpIHsKICAud2FuZC1uZXctc2Vzc2lvbi1vdmVybGF5IHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDE0LCA4LCAwLjM0KTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpIHNhdHVyYXRlKDE0MCUpOwogIH0KCiAgLndhbmQtbmV3LXNlc3Npb24tZGlhbG9nIHsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYyKTsKICAgIGJhY2tncm91bmQ6CiAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTYlIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzQpLCB0cmFuc3BhcmVudCAyOCUpLAogICAgICBsaW5lYXItZ3JhZGllbnQoMTQ4ZGVnLCByZ2JhKDI1NSwgMjUyLCAyNDcsIDAuOTQpLCByZ2JhKDI1NSwgMjQ3LCAyMzgsIDAuNzYpKTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzNnB4KSBzYXR1cmF0ZSgxNjUlKTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDM2cHgpIHNhdHVyYXRlKDE2NSUpOwogIH0KfQoKLndhbmQtbmV3LXNlc3Npb24tZGlhbG9nW2RhdGEtc3RhdGU9Im9wZW4iXSB7CiAgYW5pbWF0aW9uOiB3YW5kLXVpLWRpYWxvZy1pbiB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWRpYWxvZ1tkYXRhLXN0YXRlPSJjbG9zZWQiXSB7CiAgYW5pbWF0aW9uOiB3YW5kLXVpLWRpYWxvZy1vdXQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsKfQoKLndhbmQtbmV3LXNlc3Npb24taGVhZGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXg6IDAgMCBhdXRvOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIG1pbi1oZWlnaHQ6IDU2cHg7CiAgcGFkZGluZzogMThweCAyMnB4IDE2cHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ib3JkZXItc3VidGxlKSA3NCUsIHRyYW5zcGFyZW50KTsKICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmctZWxldmF0ZWQpIDk0JSwgdHJhbnNwYXJlbnQpOwp9CgpAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSB7CiAgLndhbmQtbmV3LXNlc3Npb24taGVhZGVyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDRkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40MiksIHJnYmEoMjU1LCAyNDYsIDIzNywgMC4xOCkpOwogIH0KfQoKLndhbmQtbmV3LXNlc3Npb24taGVhZGVyID4gZGl2IHsKICBtaW4td2lkdGg6IDA7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWhlYWRlciA+IC53YW5kLXVpLWJ1dHRvbiB7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IDMycHg7CiAgbWluLXdpZHRoOiAzMnB4OwogIG1pbi1oZWlnaHQ6IDMycHg7CiAgcGFkZGluZzogMDsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXRpdGxlIHsKICBtYXJnaW46IDA7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgZm9udC1zaXplOiAxLjMxMjVyZW07CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBsZXR0ZXItc3BhY2luZzogLTAuMDIyZW07CiAgbGluZS1oZWlnaHQ6IDEuMjsKfQoKLndhbmQtbmV3LXNlc3Npb24tZGVzY3JpcHRpb24gewogIG1heC13aWR0aDogNDRjaDsKICBtYXJnaW46IDVweCAwIDA7CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogIGZvbnQtc2l6ZTogMC44MTI1cmVtOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQoKLndhbmQtbmV3LXNlc3Npb24tZm9ybSB7CiAgZGlzcGxheTogZmxleDsKICBtaW4taGVpZ2h0OiAwOwogIGZsZXg6IDEgMSBhdXRvOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWJvZHkgewogIGZsZXg6IDEgMSBhdXRvOwogIG1pbi1oZWlnaHQ6IDA7CiAgb3ZlcmZsb3cteTogYXV0bzsKICBwYWRkaW5nOiAyMHB4IDI4cHg7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWZpZWxkIHsKICBtYXJnaW4tYm90dG9tOiAxNHB4Owp9Cgoud2FuZC1uZXctc2Vzc2lvbi1maWVsZDpsYXN0LW9mLXR5cGUgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXByaW1hcnktZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsKICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAwLjlmcikgbWlubWF4KDAsIDEuMWZyKTsKICBnYXA6IDE4cHg7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWZpZWxkc2V0IHsKICBtaW4td2lkdGg6IDA7CiAgcGFkZGluZzogMDsKICBib3JkZXI6IDA7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWZpZWxkLWxhYmVsIHsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgcGFkZGluZzogMDsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGZvbnQtc2l6ZTogMC44MTI1cmVtOwogIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWZpZWxkLWhpbnQgewogIG1hcmdpbjogNnB4IDAgMDsKICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgZm9udC1zaXplOiAwLjc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWNob2ljZXMgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwogIGdhcDogOHB4Owp9Cgoud2FuZC1uZXctc2Vzc2lvbi1wcm92aWRlci1jaG9pY2UgewogIGZsZXg6IDEgMSAxMThweDsKfQoKLndhbmQtbmV3LXNlc3Npb24tY2hvaWNlIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXg6IDEgMSAwOwogIG1pbi13aWR0aDogMDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZ2FwOiAzcHg7CiAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJvcmRlci1zdWJ0bGUpIDg0JSwgdHJhbnNwYXJlbnQpOwogIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgcGFkZGluZzogMTJweCAxMHB4OwogIGNvbG9yOiBpbmhlcml0OwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1lbGV2YXRlZCkgODglLCB0cmFuc3BhcmVudCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTgpLCAwIDFweCAycHggcmdiYSgxMjUsIDkxLCA1NywgMC4wMzUpOwogIGN1cnNvcjogcG9pbnRlcjsKICBvdXRsaW5lOiBub25lOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE4MG1zIGVhc2UsIGJvcmRlci1jb2xvciAxODBtcyBlYXNlLCBib3gtc2hhZG93IDE4MG1zIGVhc2UsIHRyYW5zZm9ybSAxODBtcyBlYXNlOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1jaG9pY2U6aG92ZXIgewogIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFjY2VudCkgMjQlLCB2YXIoLS1ib3JkZXItc3VidGxlKSk7CiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJnLWVsZXZhdGVkKSA5NiUsIHZhcigtLWFjY2VudC1tdXRlZCkpOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc0KSwgMCA4cHggMThweCByZ2JhKDEyNSwgOTEsIDU3LCAwLjA5KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWNob2ljZS5hY3RpdmUgewogIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFjY2VudCkgNDQlLCB3aGl0ZSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0OGRlZywgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJnLWVsZXZhdGVkKSA5MiUsIHdoaXRlKSwgdmFyKC0tYWNjZW50LW11dGVkKSk7CiAgYm94LXNoYWRvdzoKICAgIDAgMCAwIDNweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYWNjZW50LW11dGVkKSA4NiUsIHRyYW5zcGFyZW50KSwKICAgIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpLAogICAgaW5zZXQgMCAtMXB4IDAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFjY2VudCkgMTIlLCB0cmFuc3BhcmVudCksCiAgICAwIDhweCAyMHB4IHJnYmEoMTI1LCA5MSwgNTcsIDAuMTIpOwogIHRyYW5zZm9ybTogbm9uZTsKfQoKLndhbmQtbmV3LXNlc3Npb24tY2hvaWNlOmZvY3VzLXZpc2libGUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsKICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tYmctcHJpbWFyeSksIDAgMCAwIDRweCB2YXIoLS1hY2NlbnQpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UtbGFiZWwgewogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGZvbnQtc2l6ZTogMC44cmVtOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGluZS1oZWlnaHQ6IDEuMzsKfQoKLndhbmQtcHJvdmlkZXItZ3Jvay1tYXJrIHsKICB3aWR0aDogMjBweDsKICBoZWlnaHQ6IDIwcHg7CiAgZmlsbDogY3VycmVudENvbG9yOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UtZGVzY3JpcHRpb24gewogIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICBmb250LXNpemU6IDAuNjhyZW07CiAgbGluZS1oZWlnaHQ6IDEuMzsKfQoKLndhbmQtbmV3LXNlc3Npb24tY2hvaWNlLmFjdGl2ZSAud2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UtbGFiZWwgewogIGNvbG9yOiB2YXIoLS1hY2NlbnQpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UuZGlzYWJsZWQgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgb3BhY2l0eTogMC40NTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLndhbmQtbmV3LXNlc3Npb24tY2hvaWNlLmRpc2FibGVkOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHJnYmEoMTI1LCA5MSwgNTcsIDAuMik7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UuZGlzYWJsZWQgLndhbmQtbmV3LXNlc3Npb24tY2hvaWNlLWxhYmVsLAoud2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UuZGlzYWJsZWQgLndhbmQtbmV3LXNlc3Npb24tY2hvaWNlLWRlc2NyaXB0aW9uIHsKICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWNob2ljZS5hY3RpdmUuZGlzYWJsZWQgewogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXN1Z2dlc3Rpb25zLXdyYXAgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLndhbmQtbmV3LXNlc3Npb24taW5wdXQgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgd2lkdGg6IDEwMCU7CiAgbWluLWhlaWdodDogNDRweDsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgOTEsIDU3LCAwLjE0KTsKICBib3JkZXItcmFkaXVzOiAxMnB4OwogIHBhZGRpbmc6IDExcHggMTRweDsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDEuNXB4IHJnYmEoMTI1LCA5MSwgNTcsIDAuMDQpOwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOwogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgb3V0bGluZTogbm9uZTsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWlucHV0OmhvdmVyIHsKICBib3JkZXItY29sb3I6IHJnYmEoMTI1LCA5MSwgNTcsIDAuMjQpOwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWlucHV0OmZvY3VzIHsKICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7CiAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxLjVweCByZ2JhKDEyNSwgOTEsIDU3LCAwLjA0KSwgMCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1zdWdnZXN0aW9ucyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IDUwOwogIHRvcDogY2FsYygxMDAlICsgNHB4KTsKICByaWdodDogMDsKICBsZWZ0OiAwOwogIG1heC1oZWlnaHQ6IDIwMHB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDkxLCA1NywgMC4xNCk7CiAgYm9yZGVyLXJhZGl1czogMTJweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjUyLCAyNDcsIDAuOTYpOwogIGJveC1zaGFkb3c6IDAgMCAwIDAuNXB4IHJnYmEoMTI1LCA5MSwgNTcsIDAuMDUpLCAwIDEycHggMjhweCAtOHB4IHJnYmEoMjAsIDE0LCA4LCAwLjE4KTsKICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgc2F0dXJhdGUoMTgwJSk7CiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgc2F0dXJhdGUoMTgwJSk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXN1Z2dlc3Rpb24gewogIHdpZHRoOiAxMDAlOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOwogIGZvbnQtc2l6ZTogMC44MTI1cmVtOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1zdWdnZXN0aW9uOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDIzMiwgMTk3LCAxNzQsIDAuMzIpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1zdWdnZXN0aW9uIHNtYWxsIHsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW4tdG9wOiAycHg7CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogIGZvbnQtc2l6ZTogMC42ODc1cmVtOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1zdWdnZXN0aW9uLXBhdGggewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1yZWNlbnQtcGF0aHMgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwogIGdhcDogNXB4OwogIG1hcmdpbi10b3A6IDZweDsKfQoKLndhbmQtbmV3LXNlc3Npb24tcmVjZW50LXBhdGggewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgbWF4LXdpZHRoOiAxODBweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCA5MSwgNTcsIDAuMTIpOwogIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIHBhZGRpbmc6IDJweCAxMHB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTsKICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgxMjUsIDkxLCA1NywgMC4wMyk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOwogIGZvbnQtc2l6ZTogMC42ODc1cmVtOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLCBib3JkZXItY29sb3IgMC4xNnMgZWFzZSwgY29sb3IgMC4xNnMgZWFzZSwgdHJhbnNmb3JtIDAuMTZzIGVhc2U7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXJlY2VudC1wYXRoOmhvdmVyLAoud2FuZC1uZXctc2Vzc2lvbi1yZWNlbnQtcGF0aC5hY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsKICBjb2xvcjogdmFyKC0tYWNjZW50KTsKICBiYWNrZ3JvdW5kOiAjZmZmN2VmOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1yZWNlbnQtcGF0aDpob3ZlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1yZWNlbnQtcGF0aDpmb2N1cy12aXNpYmxlIHsKICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYWNjZW50KTsKICBvdXRsaW5lLW9mZnNldDogMnB4Owp9Cgoud2FuZC1uZXctc2Vzc2lvbi1yZWNlbnQtcGF0aC12YWx1ZSB7CiAgbWluLXdpZHRoOiAwOwogIG1heC13aWR0aDogMTAwJTsKfQoKLndhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQgewogIG1hcmdpbi10b3A6IDRweDsKICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYm9yZGVyLXN1YnRsZSkgODAlLCB0cmFuc3BhcmVudCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmctc2Vjb25kYXJ5KSA3MiUsIHRyYW5zcGFyZW50KTsKICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40Mik7Cn0KCkBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpIHsKICAud2FuZC1uZXctc2Vzc2lvbi1hZHZhbmNlZCB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQyZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjcpLCByZ2JhKDI1NSwgMjQxLCAyMjksIDAuMTYpKTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KSBzYXR1cmF0ZSgxMzUlKTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpIHNhdHVyYXRlKDEzNSUpOwogIH0KfQoKLndhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQtdHJpZ2dlciB7CiAgZGlzcGxheTogZmxleDsKICB3aWR0aDogMTAwJTsKICBtaW4taGVpZ2h0OiA0OHB4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGdhcDogMTJweDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsKICBwYWRkaW5nOiAxMHB4IDEzcHg7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwogIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQoKLndhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQtdHJpZ2dlcjo6YWZ0ZXIgewogIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICBjb250ZW50OiAiKyI7CiAgZm9udC1zaXplOiAxLjFyZW07CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWFkdmFuY2VkLXRyaWdnZXJbYXJpYS1leHBhbmRlZD0idHJ1ZSJdOjphZnRlciB7CiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1hZHZhbmNlZC10cmlnZ2VyOmZvY3VzLXZpc2libGUgewogIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQpOwogIG91dGxpbmUtb2Zmc2V0OiAtMnB4Owp9Cgoud2FuZC1uZXctc2Vzc2lvbi1hZHZhbmNlZC1zdW1tYXJ5IHsKICBtaW4td2lkdGg6IDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOwogIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTsKICB0ZXh0LWFsaWduOiByaWdodDsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1hZHZhbmNlZC1jb250ZW50IHsKICBwYWRkaW5nOiAwIDEzcHggMTNweDsKICBhbmltYXRpb246IHdhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQtaW4gMTgwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44LCAwLjIsIDEpOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1tb2RlLWNob2ljZXMgLndhbmQtbmV3LXNlc3Npb24tY2hvaWNlIHsKICBmbGV4LWJhc2lzOiAxMTBweDsKICBwYWRkaW5nOiA5cHggOHB4Owp9CgpAa2V5ZnJhbWVzIHdhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQtaW4gewogIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IH0KICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQp9Cgoud2FuZC1uZXctc2Vzc2lvbi13b3JrdHJlZSB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDE2cHg7CiAgbWFyZ2luLXRvcDogMTJweDsKICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgOTEsIDU3LCAwLjA0KTsKfQoKLndhbmQtbmV3LXNlc3Npb24td29ya3RyZWUgPiBkaXY6Zmlyc3QtY2hpbGQgewogIGRpc3BsYXk6IGdyaWQ7CiAgbWluLXdpZHRoOiAwOwogIGdhcDogM3B4Owp9Cgoud2FuZC1uZXctc2Vzc2lvbi13b3JrdHJlZSBzdHJvbmcgewogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKfQoKLndhbmQtbmV3LXNlc3Npb24td29ya3RyZWUgc3BhbiB7CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsKICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXdvcmt0cmVlIC53YW5kLXVpLXN3aXRjaC1yb3cgewogIGZsZXg6IDAgMCBhdXRvOwp9Cgoud2FuZC1uZXctc2Vzc2lvbi1zdW1tYXJ5IHsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDdweDsKICBwYWRkaW5nOiAxMHB4IDI4cHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ib3JkZXItc3VidGxlKSA2OCUsIHRyYW5zcGFyZW50KTsKICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJnLWVsZXZhdGVkKSA5MCUsIHRyYW5zcGFyZW50KTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7Cn0KCkBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpIHsKICAud2FuZC1uZXctc2Vzc2lvbi1zdW1tYXJ5IHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKSwgcmdiYSgyNTUsIDI0NCwgMjMzLCAwLjE0KSk7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCkgc2F0dXJhdGUoMTQwJSk7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KSBzYXR1cmF0ZSgxNDAlKTsKICB9Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXN1bW1hcnkgc3Ryb25nIHsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXN1bW1hcnkgc3BhbjpudGgtY2hpbGQoMykgewogIG92ZXJmbG93OiBoaWRkZW47CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLndhbmQtbmV3LXNlc3Npb24tZm9vdGVyIHsKICBwb3NpdGlvbjogc3RpY2t5OwogIGJvdHRvbTogMDsKICB6LWluZGV4OiAyOwogIGRpc3BsYXk6IGJsb2NrOwogIGZsZXg6IDAgMCBhdXRvOwogIHBhZGRpbmc6IDE0cHggMjhweCBjYWxjKDE4cHggKyB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSk7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ib3JkZXItc3VidGxlKSA3NCUsIHRyYW5zcGFyZW50KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1lbGV2YXRlZCk7CiAgYm94LXNoYWRvdzogMCAtMTJweCAyOHB4IHJnYmEoMTI1LCA5MSwgNTcsIDAuMDQ1KSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTQpOwp9CgpAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSB7CiAgLndhbmQtbmV3LXNlc3Npb24tZm9vdGVyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTBkZWcsIHJnYmEoMjU1LCAyNTMsIDI0OSwgMC44OCksIHJnYmEoMjU1LCAyNDQsIDIzMywgMC43KSk7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjJweCkgc2F0dXJhdGUoMTUwJSk7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyMnB4KSBzYXR1cmF0ZSgxNTAlKTsKICB9Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLXRyYW5zcGFyZW5jeTogcmVkdWNlKSB7CiAgLndhbmQtbmV3LXNlc3Npb24tb3ZlcmxheSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAxNCwgOCwgMC40Mik7CiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogbm9uZTsKICB9CgogIC53YW5kLW5ldy1zZXNzaW9uLWRpYWxvZyB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ib3JkZXItc3VidGxlKSA3MCUsIHdoaXRlKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWVsZXZhdGVkKTsKICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lOwogIH0KCiAgLndhbmQtbmV3LXNlc3Npb24taGVhZGVyIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1lbGV2YXRlZCkgOTQlLCB0cmFuc3BhcmVudCk7CiAgfQoKICAud2FuZC1uZXctc2Vzc2lvbi1hZHZhbmNlZCB7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmctc2Vjb25kYXJ5KSA3MiUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lOwogIH0KCiAgLndhbmQtbmV3LXNlc3Npb24tc3VtbWFyeSB7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmctZWxldmF0ZWQpIDkwJSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBub25lOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmU7CiAgfQoKICAud2FuZC1uZXctc2Vzc2lvbi1mb290ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctZWxldmF0ZWQpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBub25lOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmU7CiAgfQoKICAud2FuZC1uZXctc2Vzc2lvbi1zdWdnZXN0aW9ucyB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjUyLCAyNDcsIDAuOTYpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBub25lOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmU7CiAgfQp9CgpAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpLCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7CiAgLndhbmQtbmV3LXNlc3Npb24tb3ZlcmxheSB7CiAgICBiYWNrZ3JvdW5kOiBDYW52YXM7CiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogbm9uZTsKICB9CgogIC53YW5kLW5ldy1zZXNzaW9uLWRpYWxvZywKICAud2FuZC1uZXctc2Vzc2lvbi1oZWFkZXIsCiAgLndhbmQtbmV3LXNlc3Npb24tYWR2YW5jZWQsCiAgLndhbmQtbmV3LXNlc3Npb24tc3VtbWFyeSwKICAud2FuZC1uZXctc2Vzc2lvbi1mb290ZXIsCiAgLndhbmQtbmV3LXNlc3Npb24tc3VnZ2VzdGlvbnMgewogICAgYm9yZGVyLWNvbG9yOiBDYW52YXNUZXh0OwogICAgYmFja2dyb3VuZDogQ2FudmFzOwogICAgYm94LXNoYWRvdzogbm9uZTsKICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lOwogIH0KCiAgLndhbmQtbmV3LXNlc3Npb24tY2hvaWNlIHsKICAgIGJvcmRlci1jb2xvcjogQ2FudmFzVGV4dDsKICAgIGJhY2tncm91bmQ6IENhbnZhczsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgfQoKICAud2FuZC1uZXctc2Vzc2lvbi1jaG9pY2UuYWN0aXZlIHsKICAgIG91dGxpbmU6IDJweCBzb2xpZCBIaWdobGlnaHQ7CiAgICBvdXRsaW5lLW9mZnNldDogLTNweDsKICB9Cn0KCi53YW5kLW5ldy1zZXNzaW9uLXN1Ym1pdCB7CiAgd2lkdGg6IDEwMCU7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWVycm9yIHsKICBtYXJnaW46IDhweCAwIDA7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNzgsIDc5LCA2OSwgMC4zMik7CiAgYm9yZGVyLXJhZGl1czogMTBweDsKICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgY29sb3I6IHZhcigtLWRhbmdlcik7CiAgYmFja2dyb3VuZDogcmdiYSgxNzgsIDc5LCA2OSwgMC4xKTsKICBmb250LXNpemU6IDAuNzVyZW07CiAgYW5pbWF0aW9uOiB3YW5kLW5ldy1zZXNzaW9uLWVycm9yLWluIDE4MG1zIGVhc2Utb3V0Owp9CgpAa2V5ZnJhbWVzIHdhbmQtbmV3LXNlc3Npb24tZXJyb3ItaW4gewogIGZyb20geyBvcGFjaXR5OiAwOyB9CiAgdG8geyBvcGFjaXR5OiAxOyB9Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWxvYWRpbmcsCi53YW5kLW5ldy1zZXNzaW9uLWxvYWQtZXJyb3IgewogIHBhZGRpbmc6IDI4cHg7CiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi53YW5kLW5ldy1zZXNzaW9uLWxvYWQtZXJyb3IgcCB7CiAgbWFyZ2luOiAwIDAgMTRweDsKICBjb2xvcjogdmFyKC0tZGFuZ2VyKTsKfQoKLndhbmQtZm9sZGVyLXBpY2tlci1vdmVybGF5IHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgaW5zZXQ6IDA7CiAgei1pbmRleDogMDsKICBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAxNCwgOCwgMC4zNCk7CiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpIHNhdHVyYXRlKDE0MCUpOwogIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpIHNhdHVyYXRlKDE0MCUpOwogIHBvaW50ZXItZXZlbnRzOiBhdXRvOwp9Cgoud2FuZC1mb2xkZXItcGlja2VyLWRpYWxvZyB7CiAgcG9zaXRpb246IGZpeGVkOwogIHotaW5kZXg6IDE7CiAgdG9wOiA1MCU7CiAgbGVmdDogNTAlOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgZGlzcGxheTogZmxleDsKICB3aWR0aDogbWluKDYyMHB4LCBjYWxjKDEwMHZ3IC0gdmFyKC0td2FuZC1zYWZlLWxlZnQpIC0gdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSAtIDMycHgpKTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgLSAzMnB4KTsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG92ZXJmbG93OiBoaWRkZW47CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOwogIGJvcmRlci1yYWRpdXM6IDI0cHg7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1MiwgMjQ3LCAwLjk0KTsKICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzNHB4KSBzYXR1cmF0ZSgxNjUlKTsKICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzNHB4KSBzYXR1cmF0ZSgxNjUlKTsKfQoKLndhbmQtZm9sZGVyLXBpY2tlci1kaWFsb2dbZGF0YS1zdGF0ZT0ib3BlbiJdIHsgYW5pbWF0aW9uOiB3YW5kLXVpLWRpYWxvZy1pbiB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCk7IH0KLndhbmQtZm9sZGVyLXBpY2tlci1kaWFsb2dbZGF0YS1zdGF0ZT0iY2xvc2VkIl0geyBhbmltYXRpb246IHdhbmQtdWktZGlhbG9nLW91dCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9Cgoud2FuZC1mb2xkZXItcGlja2VyLWhlYWRlciB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxNnB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTsKICBwYWRkaW5nOiAyMHB4IDIycHggMTZweDsKfQoKLndhbmQtZm9sZGVyLXBpY2tlci1oZWFkZXIgPiAud2FuZC11aS1idXR0b24gewogIGZsZXg6IDAgMCBhdXRvOwogIHdpZHRoOiAzMnB4OwogIG1pbi13aWR0aDogMzJweDsKICBtaW4taGVpZ2h0OiAzMnB4OwogIHBhZGRpbmc6IDA7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOwp9Cgoud2FuZC1mb2xkZXItcGlja2VyLXRpdGxlIHsKICBtYXJnaW46IDA7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpOwogIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7Cn0KCi53YW5kLWZvbGRlci1waWNrZXItZGVzY3JpcHRpb24gewogIG1heC13aWR0aDogNDgwcHg7CiAgbWFyZ2luOiA1cHggMCAwOwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwp9Cgoud2FuZC1mb2xkZXItcGlja2VyLWZvcm0gewogIGRpc3BsYXk6IGZsZXg7CiAgbWluLWhlaWdodDogMDsKICBmbGV4OiAxIDEgYXV0bzsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogMTJweDsKICBwYWRkaW5nOiAxNnB4IDIwcHggMThweDsKfQoKLndhbmQtZm9sZGVyLXBpY2tlci1xdWljayB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiA4cHg7Cn0KCi53YW5kLWZvbGRlci1waWNrZXItZmllbGQgewogIGRpc3BsYXk6IGdyaWQ7CiAgZ2FwOiA2cHg7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwogIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7Cn0KCi53YW5kLWZvbGRlci1waWNrZXItaW5wdXQgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgd2lkdGg6IDEwMCU7CiAgbWluLWhlaWdodDogNDJweDsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICBwYWRkaW5nOiA5cHggMTFweDsKICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsKICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7Cn0KCi53YW5kLWZvbGRlci1waWNrZXItaW5wdXQ6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsKICBvdXRsaW5lOiBub25lOwogIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpOwp9Cgoud2FuZC1mb2xkZXItcGlja2VyLWlucHV0W2FyaWEtaW52YWxpZD0idHJ1ZSJdIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYW5nZXIpOyB9CgovKiBTaGFyZWQgdGV4dC1pbnB1dCB0cmVhdG1lbnQgYWNyb3NzIGV2ZXJ5IFJlYWN0LW93bmVkIHN1cmZhY2UuIFRoZSBmaWVsZCBzdGF5cwogICBxdWlldCBhdCByZXN0LCByZXNwb25kcyBpbW1lZGlhdGVseSBvbiBmb2N1cywgYW5kIG5ldmVyIHVzZXMgYm91bmN5IG1vdGlvbgogICB3aGlsZSB0aGUgdXNlciBpcyB0eXBpbmcuIFBhdGgtb3JpZW50ZWQgZmllbGRzIGtlZXAgdGhlaXIgbG9jYWwgbW9ubyBmb250LiAqLwo6aXMoCiAgLndhbmQtdWktZGlhbG9nLWlucHV0LAogIC53YW5kLXNldHRpbmdzLWlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIGlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIHRleHRhcmVhLAogIC53YW5kLW5ldy1zZXNzaW9uLWlucHV0LAogIC53YW5kLWZvbGRlci1waWNrZXItaW5wdXQKKSB7CiAgbWluLWhlaWdodDogNDRweDsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7CiAgYm9yZGVyLXJhZGl1czogMTJweDsKICBvdXRsaW5lOiBub25lOwogIGNhcmV0LWNvbG9yOiB2YXIoLS1hY2NlbnQpOwogIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iZy1wcmltYXJ5KSA4OCUsIHRyYW5zcGFyZW50KTsKICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSA0MiUsIHRyYW5zcGFyZW50KTsKICB0cmFuc2l0aW9uOgogICAgYm9yZGVyLWNvbG9yIDE2MG1zIGN1YmljLWJlemllcigwLjIsIDAuOCwgMC4yLCAxKSwKICAgIGJhY2tncm91bmQtY29sb3IgMTYwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44LCAwLjIsIDEpLAogICAgYm94LXNoYWRvdyAxNjBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLjgsIDAuMiwgMSk7Cn0KCjppcygKICAud2FuZC11aS1kaWFsb2ctaW5wdXQsCiAgLndhbmQtc2V0dGluZ3MtaW5wdXQsCiAgLndhbmQtcXVpY2stZmllbGQgaW5wdXQsCiAgLndhbmQtcXVpY2stZmllbGQgdGV4dGFyZWEsCiAgLndhbmQtbmV3LXNlc3Npb24taW5wdXQsCiAgLndhbmQtZm9sZGVyLXBpY2tlci1pbnB1dAopOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1pbnZhbGlkPSJ0cnVlIl0pIHsKICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1zdHJvbmcpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwp9Cgo6aXMoCiAgLndhbmQtdWktZGlhbG9nLWlucHV0LAogIC53YW5kLXNldHRpbmdzLWlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIGlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIHRleHRhcmVhLAogIC53YW5kLW5ldy1zZXNzaW9uLWlucHV0LAogIC53YW5kLWZvbGRlci1waWNrZXItaW5wdXQKKTpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogIGJveC1zaGFkb3c6CiAgICAwIDAgMCAzcHggdmFyKC0tYWNjZW50LW11dGVkKSwKICAgIDAgMTBweCAyNHB4IC0yMHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hY2NlbnQpIDQ1JSwgdHJhbnNwYXJlbnQpOwp9Cgo6aXMoCiAgLndhbmQtdWktZGlhbG9nLWlucHV0LAogIC53YW5kLXNldHRpbmdzLWlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIGlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIHRleHRhcmVhLAogIC53YW5kLW5ldy1zZXNzaW9uLWlucHV0LAogIC53YW5kLWZvbGRlci1waWNrZXItaW5wdXQKKTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICBvcGFjaXR5OiAwLjcyOwp9Cgo6aXMoCiAgLndhbmQtdWktZGlhbG9nLWlucHV0LAogIC53YW5kLXNldHRpbmdzLWlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIGlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIHRleHRhcmVhLAogIC53YW5kLW5ldy1zZXNzaW9uLWlucHV0LAogIC53YW5kLWZvbGRlci1waWNrZXItaW5wdXQKKTpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiAwLjU2Owp9Cgo6aXMoCiAgLndhbmQtdWktZGlhbG9nLWlucHV0LAogIC53YW5kLXNldHRpbmdzLWlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIGlucHV0LAogIC53YW5kLXF1aWNrLWZpZWxkIHRleHRhcmVhLAogIC53YW5kLW5ldy1zZXNzaW9uLWlucHV0LAogIC53YW5kLWZvbGRlci1waWNrZXItaW5wdXQKKVthcmlhLWludmFsaWQ9InRydWUiXSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYW5nZXIpOwogIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1kYW5nZXItbXV0ZWQpOwp9CgpAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIHsKICA6aXMoCiAgICAud2FuZC11aS1kaWFsb2ctaW5wdXQsCiAgICAud2FuZC1zZXR0aW5ncy1pbnB1dCwKICAgIC53YW5kLXF1aWNrLWZpZWxkIGlucHV0LAogICAgLndhbmQtcXVpY2stZmllbGQgdGV4dGFyZWEsCiAgICAud2FuZC1uZXctc2Vzc2lvbi1pbnB1dCwKICAgIC53YW5kLWZvbGRlci1waWNrZXItaW5wdXQKICApIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLXN0cm9uZyk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgfQoKICA6aXMoCiAgICAud2FuZC11aS1kaWFsb2ctaW5wdXQsCiAgICAud2FuZC1zZXR0aW5ncy1pbnB1dCwKICAgIC53YW5kLXF1aWNrLWZpZWxkIGlucHV0LAogICAgLndhbmQtcXVpY2stZmllbGQgdGV4dGFyZWEsCiAgICAud2FuZC1uZXctc2Vzc2lvbi1pbnB1dCwKICAgIC53YW5kLWZvbGRlci1waWNrZXItaW5wdXQKICApOmZvY3VzIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1hY2NlbnQpOwogIH0KfQoKLndhbmQtZm9sZGVyLXBpY2tlci1vcHRpb25zIHsKICBtaW4taGVpZ2h0OiAxMTJweDsKICBtYXgtaGVpZ2h0OiBtaW4oMzEwcHgsIDQyZHZoKTsKICBvdmVyZmxvdzogYXV0bzsKICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwp9Cgoud2FuZC1mb2xkZXItcGlja2VyLW9wdGlvbiB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjBweCBtaW5tYXgoMCwgMWZyKTsKICBnYXA6IDJweCA4cHg7CiAgd2lkdGg6IDEwMCU7CiAgbWluLWhlaWdodDogNDhweDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwogIHBhZGRpbmc6IDhweCAxMXB4OwogIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGZvbnQ6IGluaGVyaXQ7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi53YW5kLWZvbGRlci1waWNrZXItb3B0aW9uOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9Ci53YW5kLWZvbGRlci1waWNrZXItb3B0aW9uOmhvdmVyLAoud2FuZC1mb2xkZXItcGlja2VyLW9wdGlvbi5hY3RpdmUsCi53YW5kLWZvbGRlci1waWNrZXItb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9InRydWUiXSB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1tdXRlZCk7IH0KLndhbmQtZm9sZGVyLXBpY2tlci1vcHRpb246Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQpOyBvdXRsaW5lLW9mZnNldDogLTJweDsgfQoud2FuZC1mb2xkZXItcGlja2VyLW9wdGlvbiA+IHNwYW46Zmlyc3QtY2hpbGQgeyBncmlkLXJvdzogMSAvIHNwYW4gMjsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB9Ci53YW5kLWZvbGRlci1waWNrZXItb3B0aW9uID4gc3BhbjpudGgtY2hpbGQoMikgeyBvdmVyZmxvdzogaGlkZGVuOyBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQoud2FuZC1mb2xkZXItcGlja2VyLW9wdGlvbiBjb2RlIHsgZ3JpZC1jb2x1bW46IDI7IG92ZXJmbG93OiBoaWRkZW47IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQoKLndhbmQtZm9sZGVyLXBpY2tlci1zdGF0ZSB7CiAgZGlzcGxheTogZ3JpZDsKICBtaW4taGVpZ2h0OiAxMTBweDsKICBwbGFjZS1pdGVtczogY2VudGVyOwogIHBhZGRpbmc6IDE2cHg7CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi53YW5kLWZvbGRlci1waWNrZXItZXJyb3IgewogIG1hcmdpbjogMDsKICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZGFuZ2VyKSAzMiUsIHRyYW5zcGFyZW50KTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogIHBhZGRpbmc6IDhweCAxMHB4OwogIGNvbG9yOiB2YXIoLS1kYW5nZXIpOwogIGJhY2tncm91bmQ6IHZhcigtLWRhbmdlci1tdXRlZCk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwp9Cgoud2FuZC1mb2xkZXItcGlja2VyLWZvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDEycHg7Cn0KCi53YW5kLWZvbGRlci1waWNrZXItZm9vdGVyID4gc3BhbiB7CiAgbWluLXdpZHRoOiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Cgoud2FuZC1mb2xkZXItcGlja2VyLWZvb3RlciA+IC53YW5kLXVpLWJ1dHRvbiB7IGZsZXg6IDAgMCBhdXRvOyB9Cgoud2FuZC13b3JrdHJlZS1kaWFsb2cgewogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IG1pbig2MjBweCwgY2FsYygxMDB2dyAtIHZhcigtLXdhbmQtc2FmZS1sZWZ0KSAtIHZhcigtLXdhbmQtc2FmZS1yaWdodCkgLSAzMnB4KSk7CiAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS13YW5kLXNhZmUtdG9wKSAtIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pIC0gMzJweCk7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IDA7Cn0KCi53YW5kLXdvcmt0cmVlLWhlYWRlciB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4OiAwIDAgYXV0bzsKICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxOHB4OwogIHBhZGRpbmc6IDIwcHggMjJweCAxNnB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTsKfQoKLndhbmQtd29ya3RyZWUtaGVhZGVyID4gZGl2IHsKICBtaW4td2lkdGg6IDA7Cn0KCi53YW5kLXdvcmt0cmVlLWhlYWRlciA+IC53YW5kLXVpLWJ1dHRvbiB7CiAgd2lkdGg6IDMycHg7CiAgbWluLXdpZHRoOiAzMnB4OwogIG1pbi1oZWlnaHQ6IDMycHg7CiAgZmxleDogMCAwIGF1dG87CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOwogIHBhZGRpbmc6IDA7Cn0KCi53YW5kLXdvcmt0cmVlLXRpdGxlIHsKICBtYXJnaW46IDA7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpOwogIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7Cn0KCi53YW5kLXdvcmt0cmVlLWRlc2NyaXB0aW9uIHsKICBtYXgtd2lkdGg6IDQ1MHB4OwogIG1hcmdpbjogNXB4IDAgMDsKICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKfQoKLndhbmQtd29ya3RyZWUtYm9keSB7CiAgZGlzcGxheTogZmxleDsKICBtaW4taGVpZ2h0OiAwOwogIGZsZXg6IDEgMSBhdXRvOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgb3ZlcmZsb3cteTogYXV0bzsKICBwYWRkaW5nOiAxOHB4IDIycHggMjBweDsKfQoKLndhbmQtd29ya3RyZWUtY29udGVudCB7CiAgZGlzcGxheTogZmxleDsKICBtaW4taGVpZ2h0OiAxNjhweDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogMTBweDsKfQoKLndhbmQtd29ya3RyZWUtcm93IHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxNnB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgcGFkZGluZzogMTBweCAxMnB4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7CiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pOwp9Cgoud2FuZC13b3JrdHJlZS1sYWJlbCwKLndhbmQtd29ya3RyZWUtcm93ID4gc3BhbiB7CiAgbWluLXdpZHRoOiAwOwogIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7Cn0KCi53YW5kLXdvcmt0cmVlLXZhbHVlIHsKICBtaW4td2lkdGg6IDA7CiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7CiAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCi53YW5kLXdvcmt0cmVlLXZhbHVlLXdhcm5pbmcgeyBjb2xvcjogdmFyKC0td2FybmluZyk7IH0KLndhbmQtd29ya3RyZWUtdmFsdWUtc3VjY2VzcyB7IGNvbG9yOiB2YXIoLS1zdWNjZXNzKTsgfQoud2FuZC13b3JrdHJlZS12YWx1ZS1lcnJvciB7IGNvbG9yOiB2YXIoLS1kYW5nZXIpOyB9Cgoud2FuZC13b3JrdHJlZS1jb21taXRzIHsKICBkaXNwbGF5OiBncmlkOwogIGdhcDogN3B4Owp9Cgoud2FuZC13b3JrdHJlZS1jb21taXRzLXRpdGxlIHsKICBtYXJnaW46IDJweCAwIDA7CiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7Cn0KCi53YW5kLXdvcmt0cmVlLWNvbW1pdC1saXN0IHsKICBkaXNwbGF5OiBncmlkOwogIGdhcDogN3B4Owp9Cgoud2FuZC13b3JrdHJlZS1yb3cgY29kZSB7CiAgY29sb3I6IHZhcigtLWFjY2VudC1hY3RpdmUpOwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTsKfQoKLndhbmQtd29ya3RyZWUtc3RhdHVzLAoud2FuZC13b3JrdHJlZS1lcnJvciB7CiAgbWFyZ2luOiAwOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgcGFkZGluZzogOXB4IDExcHg7CiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpOwogIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTsKICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7Cn0KCi53YW5kLXdvcmt0cmVlLXN0YXR1cy1zdWNjZXNzIHsKICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1zdWNjZXNzKSAyOCUsIHRyYW5zcGFyZW50KTsKICBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7CiAgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1tdXRlZCk7Cn0KCi53YW5kLXdvcmt0cmVlLXN0YXR1cy13YXJuaW5nIHsKICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS13YXJuaW5nKSAzMCUsIHRyYW5zcGFyZW50KTsKICBjb2xvcjogdmFyKC0td2FybmluZyk7CiAgYmFja2dyb3VuZDogdmFyKC0td2FybmluZy1tdXRlZCk7Cn0KCi53YW5kLXdvcmt0cmVlLXN0YXR1cy1lcnJvciwKLndhbmQtd29ya3RyZWUtZXJyb3IgewogIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWRhbmdlcikgMzAlLCB0cmFuc3BhcmVudCk7CiAgY29sb3I6IHZhcigtLWRhbmdlcik7CiAgYmFja2dyb3VuZDogdmFyKC0tZGFuZ2VyLW11dGVkKTsKfQoKLndhbmQtd29ya3RyZWUtYWN0aW9ucyB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4OiAwIDAgYXV0bzsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIGdhcDogOHB4OwogIG1hcmdpbi10b3A6IDE4cHg7CiAgcGFkZGluZy10b3A6IDE0cHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpOwp9Cgoud2FuZC13b3JrdHJlZS1hY3Rpb25zID4gLndhbmQtdWktYnV0dG9uIHsKICBtaW4td2lkdGg6IDEyMHB4Owp9CgpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICAud2FuZC1xdWljay1kaWFsb2cgewogICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS13YW5kLXNhZmUtbGVmdCkgLSB2YXIoLS13YW5kLXNhZmUtcmlnaHQpIC0gMTRweCk7CiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgLSAxNHB4KTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgfQoKICAud2FuZC1xdWljay1oZWFkZXIgeyBwYWRkaW5nOiAxNnB4IDE1cHggMTNweDsgfQogIC53YW5kLXF1aWNrLWJvZHkgeyBnYXA6IDEzcHg7IHBhZGRpbmc6IDEzcHggMTJweCAxNnB4OyB9CiAgLndhbmQtcXVpY2std29ya3NwYWNlLWxlbnMgeyBwYWRkaW5nOiAxMHB4OyB9CiAgLndhbmQtcXVpY2stYWN0aW9uLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpOyB9CiAgLndhbmQtcXVpY2stZmllbGQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpOyBnYXA6IDVweDsgfQogIC53YW5kLXF1aWNrLWZpZWxkID4gc3BhbiB7IHBhZGRpbmctdG9wOiAwOyB9CiAgLndhbmQtcXVpY2stZm9vdGVyIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHBhZGRpbmc6IDExcHggMTJweCBjYWxjKDExcHggKyB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSk7IH0KICAud2FuZC1xdWljay1mb290ZXIgPiBkaXYgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IH0KICAud2FuZC1xdWljay1yZXN1bHQgeyBwYWRkaW5nOiAxNnB4IDEycHg7IH0KICAud2FuZC1xdWljay1yZXN1bHQtcGFpciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7IGdhcDogNXB4OyB9CiAgLndhbmQtcXVpY2stcmVzdWx0LWZsb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpOyB9CiAgLndhbmQtcXVpY2stcmVzdWx0LWZsb3cgPiBzcGFuIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KCiAgLndhbmQtbmV3LXNlc3Npb24tZGlhbG9nIHsKICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0td2FuZC1zYWZlLWxlZnQpIC0gdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSAtIDIwcHgpOwogICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS13YW5kLXNhZmUtdG9wKSAtIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pIC0gMjBweCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwogIH0KCiAgLndhbmQtZm9sZGVyLXBpY2tlci1kaWFsb2cgewogICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS13YW5kLXNhZmUtbGVmdCkgLSB2YXIoLS13YW5kLXNhZmUtcmlnaHQpIC0gMjBweCk7CiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgLSAyMHB4KTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgfQoKICAud2FuZC1mb2xkZXItcGlja2VyLWhlYWRlciB7IHBhZGRpbmc6IDE2cHggMTVweCAxM3B4OyB9CiAgLndhbmQtZm9sZGVyLXBpY2tlci1kZXNjcmlwdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH0KICAud2FuZC1mb2xkZXItcGlja2VyLWZvcm0geyBnYXA6IDEwcHg7IHBhZGRpbmc6IDEzcHggMTJweCBjYWxjKDEzcHggKyB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSk7IH0KICAud2FuZC1mb2xkZXItcGlja2VyLW9wdGlvbnMgeyBtYXgtaGVpZ2h0OiBtaW4oMzMwcHgsIDQ1ZHZoKTsgfQogIC53YW5kLWZvbGRlci1waWNrZXItZm9vdGVyIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0KICAud2FuZC1mb2xkZXItcGlja2VyLWZvb3RlciA+IC53YW5kLXVpLWJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9CgogIC53YW5kLXdvcmt0cmVlLWRpYWxvZyB7CiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXdhbmQtc2FmZS1sZWZ0KSAtIHZhcigtLXdhbmQtc2FmZS1yaWdodCkgLSAyMHB4KTsKICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gdmFyKC0td2FuZC1zYWZlLXRvcCkgLSB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSAtIDIwcHgpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICB9CgogIC53YW5kLXdvcmt0cmVlLWhlYWRlciB7IHBhZGRpbmc6IDE2cHggMTVweCAxM3B4OyB9CiAgLndhbmQtd29ya3RyZWUtZGVzY3JpcHRpb24geyBkaXNwbGF5OiBub25lOyB9CiAgLndhbmQtd29ya3RyZWUtYm9keSB7IHBhZGRpbmc6IDEzcHggMTJweCBjYWxjKDEzcHggKyB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSk7IH0KICAud2FuZC13b3JrdHJlZS1jb250ZW50IHsgbWluLWhlaWdodDogMDsgfQogIC53YW5kLXdvcmt0cmVlLXJvdyB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDRweDsgfQogIC53YW5kLXdvcmt0cmVlLXZhbHVlIHsgdGV4dC1hbGlnbjogbGVmdDsgfQogIC53YW5kLXdvcmt0cmVlLWFjdGlvbnMgeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9CiAgLndhbmQtd29ya3RyZWUtYWN0aW9ucyA+IC53YW5kLXVpLWJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9CgogIC53YW5kLXNldHRpbmdzLWRpYWxvZyB7CiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXdhbmQtc2FmZS1sZWZ0KSAtIHZhcigtLXdhbmQtc2FmZS1yaWdodCkgLSAxMnB4KTsKICAgIGhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS13YW5kLXNhZmUtdG9wKSAtIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pIC0gMTJweCk7CiAgICBtaW4taGVpZ2h0OiAwOwogICAgYm9yZGVyLXJhZGl1czogMThweDsKICB9CgogIC53YW5kLXNldHRpbmdzLWhlYWRlciB7IHBhZGRpbmc6IDE0cHggMTVweCAxM3B4OyB9CiAgLndhbmQtc2V0dGluZ3MtZGVzY3JpcHRpb24geyBkaXNwbGF5OiBub25lOyB9CiAgLndhbmQtc2V0dGluZ3Mtb3ZlcnZpZXcgeyBnYXA6IDEwcHg7IG1hcmdpbjogOHB4IDEycHggMDsgcGFkZGluZzogMTFweDsgfQogIC53YW5kLXNldHRpbmdzLW92ZXJ2aWV3LWNvcHkgPiBkaXY6Zmlyc3QtY2hpbGQgc3BhbiB7IGRpc3BsYXk6IG5vbmU7IH0KICAud2FuZC1zZXR0aW5ncy1vdmVydmlldyA+IGNvZGUgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9CgogIC53YW5kLXNldHRpbmdzLXRhYnMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7CiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gbWlubWF4KDAsIDFmcik7CiAgfQoKICAud2FuZC1zZXR0aW5ncy10YWJzID4gLndhbmQtdWktdGFicy1saXN0IHsKICAgIGdyaWQtcm93OiAxOwogICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgIGdhcDogM3B4OwogICAgb3ZlcmZsb3cteDogYXV0bzsKICAgIGJvcmRlci1yaWdodDogMDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTsKICAgIHBhZGRpbmc6IDdweCA4cHg7CiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7CiAgfQoKICAud2FuZC1zZXR0aW5ncy10YWJzID4gLndhbmQtdWktdGFicy1saXN0IC53YW5kLXVpLXRhYnMtdHJpZ2dlciB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIG1pbi1oZWlnaHQ6IDM4cHg7CiAgICBib3JkZXItcmFkaXVzOiA5cHg7CiAgICBwYWRkaW5nOiA3cHggMTJweDsKICB9CgogIC53YW5kLXNldHRpbmdzLXRhYnMgPiAud2FuZC11aS10YWJzLWxpc3QgLndhbmQtdWktdGFicy10cmlnZ2VyW2RhdGEtc3RhdGU9ImFjdGl2ZSJdOjpiZWZvcmUgewogICAgdG9wOiBhdXRvOwogICAgcmlnaHQ6IDEwcHg7CiAgICBib3R0b206IDNweDsKICAgIGxlZnQ6IDEwcHg7CiAgICB3aWR0aDogYXV0bzsKICAgIGhlaWdodDogMnB4OwogIH0KCiAgLndhbmQtc2V0dGluZ3MtdGFiLWxhYmVsIHNwYW4geyBkaXNwbGF5OiBub25lOyB9CiAgLndhbmQtc2V0dGluZ3MtdGFicyA+IC53YW5kLXVpLXRhYnMtY29udGVudCB7IGdyaWQtY29sdW1uOiAxOyBncmlkLXJvdzogMjsgfQogIC53YW5kLXNldHRpbmdzLXBhbmVsIHsgcGFkZGluZzogMjBweCAxNHB4IDI4cHg7IH0KICAud2FuZC1zZXR0aW5ncy1wYW5lbC1oZWFkaW5nIHsgbWFyZ2luLWJvdHRvbTogMThweDsgfQogIC53YW5kLXNldHRpbmdzLXNlY3Rpb24geyBtYXJnaW4tYm90dG9tOiAxNHB4OyBib3JkZXItcmFkaXVzOiAxNHB4OyB9CiAgLndhbmQtc2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIHsgcGFkZGluZzogMTRweDsgfQogIC53YW5kLXNldHRpbmdzLXNlY3Rpb24tYm9keSB7IHBhZGRpbmc6IDE0cHg7IH0KICAud2FuZC1zZXR0aW5ncy1ncmlkLCAud2FuZC1zZXR0aW5ncy1maWxlLWdyaWQsIC53YW5kLXNldHRpbmdzLWVudi10b29sYmFyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTsgfQogIC53YW5kLXNldHRpbmdzLXNlY3Rpb24taGVhZGluZyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0KICAud2FuZC1zZXR0aW5ncy1zZWN0aW9uLWFjdGlvbiB7IHdpZHRoOiAxMDAlOyB9CiAgLndhbmQtc2V0dGluZ3Mtc2VjdGlvbi1hY3Rpb24gLndhbmQtdWktYnV0dG9uIHsgd2lkdGg6IDEwMCU7IH0KICAud2FuZC1zZXR0aW5ncy1zYXZlLWJhciB7IGJvdHRvbTogMDsgbWFyZ2luOiAxNnB4IC0xNHB4IC0yOHB4OyBwYWRkaW5nOiAxMHB4IDE0cHggY2FsYygxMHB4ICsgdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkpOyB9CiAgLndhbmQtc2V0dGluZ3Mtc2F2ZS1iYXIgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfQogIC53YW5kLXNldHRpbmdzLXRvZ2dsZS1yb3csIC53YW5kLXNldHRpbmdzLWRvd25sb2FkLXJvdyB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9CiAgLndhbmQtc2V0dGluZ3MtYWJvdXQtbGlzdCBkZCB7IG1heC13aWR0aDogNjIlOyB9CiAgLndhbmQtc2V0dGluZ3MtbmVzdGVkLWRpYWxvZyB7IHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0td2FuZC1zYWZlLWxlZnQpIC0gdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSAtIDE2cHgpOyBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgLSAxNnB4KTsgfQp9CgpAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAud2FuZC1uZXctc2Vzc2lvbi1oZWFkZXIgeyBwYWRkaW5nOiAxNnB4IDE4cHggMTRweDsgfQogIC53YW5kLW5ldy1zZXNzaW9uLXRpdGxlIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgfQogIC53YW5kLW5ldy1zZXNzaW9uLWJvZHkgeyBwYWRkaW5nOiAxNHB4IDE4cHg7IH0KICAud2FuZC1uZXctc2Vzc2lvbi1wcmltYXJ5LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpOyBnYXA6IDA7IH0KICAud2FuZC1uZXctc2Vzc2lvbi1zdW1tYXJ5IHsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTsKICAgIHBhZGRpbmc6IDlweCAxOHB4OwogIH0KICAud2FuZC1uZXctc2Vzc2lvbi1zdW1tYXJ5IHNwYW46bnRoLWNoaWxkKDMpIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfQogIC53YW5kLW5ldy1zZXNzaW9uLXN1bW1hcnkgc3BhbjpsYXN0LWNoaWxkIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfQogIC53YW5kLW5ldy1zZXNzaW9uLWZvb3RlciB7IHBhZGRpbmc6IDEwcHggMThweCBjYWxjKDE0cHggKyB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSk7IH0KICAud2FuZC1uZXctc2Vzc2lvbi1hZHZhbmNlZC1zdW1tYXJ5IHsgbWF4LXdpZHRoOiAxOWNoOyB9CiAgLndhbmQtbmV3LXNlc3Npb24taW5wdXQgeyBmb250LXNpemU6IDE2cHg7IH0KfQoKQG1lZGlhIChtYXgtd2lkdGg6IDM5MHB4KSB7CiAgLndhbmQtbmV3LXNlc3Npb24tZm9vdGVyIHsgcGFkZGluZzogOHB4IDEwcHggMTJweDsgfQp9CgoKYCxYdz0id2FuZC1yZWFjdC11aS1zdHlsZXMiLEY5PVtiOSx4OSx5OSxFOSx3OV0uam9pbigiIik7ZnVuY3Rpb24gQzkoZT1kb2N1bWVudCl7aWYoZS5nZXRFbGVtZW50QnlJZChYdykpcmV0dXJuO2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3QuaWQ9WHcsdC50ZXh0Q29udGVudD1GOSxlLmhlYWQuYXBwZW5kQ2hpbGQodCl9dmFyIEQ5PXtpZGxlOiJcdTdBN0FcdTk1RjIiLHN0b3BwZWQ6Ilx1NURGMlx1NTA1Q1x1NkI2MiIscnVubmluZzoiXHU4RkQwXHU4ODRDXHU0RTJEIix0aGlua2luZzoiXHU2MDFEXHU4MDAzXHU0RTJEIiwid2FpdGluZy1pbnB1dCI6Ilx1N0I0OVx1NUY4NVx1OEY5M1x1NTE2NSIsd2FpdGluZ19pbnB1dDoiXHU3QjQ5XHU1Rjg1XHU4RjkzXHU1MTY1IixyZWNvbm5lY3Rpbmc6Ilx1OTFDRFx1OEZERVx1NEUyRCIsZXhpdGVkOiJcdTVERjJcdTkwMDBcdTUxRkEiLGZhaWxlZDoiXHU1REYyXHU1OTMxXHU4RDI1In07ZnVuY3Rpb24gdnQoZSx0PSIiKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2U6dH1mdW5jdGlvbiBlZihlLHQ9MCl7aWYoIWUpcmV0dXJuIHQ7Y29uc3QgYT1uZXcgRGF0ZShlKS5nZXRUaW1lKCk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOnR9ZnVuY3Rpb24gUW0oZSl7cmV0dXJuIGU/T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoOjB9ZnVuY3Rpb24gQTkoZSl7cmV0dXJuIGUuY29uZmlnPyJhdXRoZW50aWNhdGVkIjplLmxvZ2luQ2hlY2tlZD8iYW5vbnltb3VzIjoiYm9vdGluZyJ9ZnVuY3Rpb24gJHcoZSl7Y29uc3QgdD12dChlLnNlc3Npb25Tb3VyY2UpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ9PT0iYXV0b21hdGlvbiJ8fHQ9PT0ic3RhcnR1cCJ9ZnVuY3Rpb24gUzkoZSl7aWYoZS5wZXJtaXNzaW9uQmxvY2tlZClyZXR1cm4iXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIjtpZihlLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiJiZlLnN0cnVjdHVyZWRTdGF0ZT8uaW5GbGlnaHQpcmV0dXJuIlx1NjAxRFx1ODAwM1x1NEUyRCI7Y29uc3QgdD12dChlLnN0YXR1cywiaWRsZSIpO3JldHVybiBEOVt0XT8/dH1mdW5jdGlvbiBCOShlKXtyZXR1cm4gZS5wZXJtaXNzaW9uQmxvY2tlZD8icGVybWlzc2lvbi1ibG9ja2VkIjplLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiJiZlLnN0cnVjdHVyZWRTdGF0ZT8uaW5GbGlnaHQ/InJ1bm5pbmciOnZ0KGUuc3RhdHVzKX1mdW5jdGlvbiBYbShlKXtyZXR1cm4gdnQoZS53b3JraW5nRGlyKXx8dnQoZS5jb25maWc/LmRlZmF1bHRDd2QpfHx2dChlLmNvbmZpZz8uY3dkKXx8Ii90bXAifWZ1bmN0aW9uIGs5KGUpe3JldHVybiB2dChlLnRpdGxlKXx8dnQoZS5kZXNjcmlwdGlvbil8fHZ0KGUuc3VtbWFyeSl8fHZ0KGUuY29tbWFuZCl8fCJXYW5kIFx1NEYxQVx1OEJERCJ9ZnVuY3Rpb24gVDkoZSx0LGEpe2NvbnN0IGk9dnQoZS5pZCksbz12dChlLnByb3ZpZGVyLHZ0KGUuY29tbWFuZCwiY2xhdWRlIikpLGM9dnQoZS5zdGF0dXMsImlkbGUiKSxkPWUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCI/InN0cnVjdHVyZWQiOiJwdHkiLGY9ISEoZS53b3JrdHJlZT8uZW5hYmxlZD8/ZS53b3JrdHJlZUVuYWJsZWQpLG09JHcoZSk/ImF1dG9tYXRpb24iOiJ3YW5kIjtyZXR1cm57aWQ6aSxzb3VyY2U6bSxwcm92aWRlcjpvLGtpbmQ6ZCx0aXRsZTprOShlKSxkZXNjcmlwdGlvbjp2dChlLmRlc2NyaXB0aW9uKSxjd2Q6dnQoZS5jd2QsWG0odCkpLHN0YXR1czpjLHN0YXR1c0xhYmVsOlM5KGUpLGFjdGl2ZTppIT09IiImJmk9PT10LnNlbGVjdGVkSWQsc2VsZWN0ZWQ6ISFhW2ldLHJlc3VtYWJsZTpkIT09InN0cnVjdHVyZWQiJiZjIT09InJ1bm5pbmciJiYhIWUuY2xhdWRlU2Vzc2lvbklkLHBlcm1pc3Npb25CbG9ja2VkOiEhZS5wZXJtaXNzaW9uQmxvY2tlZCxpbkZsaWdodDohIWUuc3RydWN0dXJlZFN0YXRlPy5pbkZsaWdodCx0aXRsZUdlbmVyYXRpbmc6ISFlLnRpdGxlR2VuZXJhdGluZywuLi5lLnN0YXJ0ZWRBdD97c3RhcnRlZEF0OmUuc3RhcnRlZEF0fTp7fSwuLi5lLmVuZGVkQXQ/e2VuZGVkQXQ6ZS5lbmRlZEF0fTp7fSwuLi5lLmNsYXVkZVNlc3Npb25JZD97Y2xhdWRlU2Vzc2lvbklkOmUuY2xhdWRlU2Vzc2lvbklkfTp7fSwuLi5mP3t3b3JrdHJlZTp7ZW5hYmxlZDohMCxicmFuY2g6dnQoZS53b3JrdHJlZT8uYnJhbmNoPz9lLndvcmt0cmVlQnJhbmNoKXx8dm9pZCAwLHBhdGg6dnQoZS53b3JrdHJlZT8ucGF0aD8/ZS53b3JrdHJlZVBhdGgpfHx2b2lkIDAsbWVyZ2VTdGF0dXM6dnQoZS53b3JrdHJlZT8ubWVyZ2VTdGF0dXM/P2Uud29ya3RyZWVNZXJnZVN0YXR1cyl8fHZvaWQgMH19Ont9fX1mdW5jdGlvbiBadyhlLHQsYSxpKXtjb25zdCBvPXZ0KGUuY2xhdWRlU2Vzc2lvbklkKSxjPWUudGltZXN0YW1wfHwoTnVtYmVyLmlzRmluaXRlKGUubXRpbWVNcykmJk51bWJlcihlLm10aW1lTXMpPjA/bmV3IERhdGUoTnVtYmVyKGUubXRpbWVNcykpLnRvSVNPU3RyaW5nKCk6dm9pZCAwKTtyZXR1cm57aWQ6byxzb3VyY2U6dD09PSJjb2RleCI/ImNvZGV4LWhpc3RvcnkiOiJjbGF1ZGUtaGlzdG9yeSIscHJvdmlkZXI6dCxraW5kOiJwdHkiLHRpdGxlOnZ0KGUuZmlyc3RVc2VyTWVzc2FnZSl8fHZ0KGUudGl0bGUpfHx2dChlLnN1bW1hcnkpfHwiXHVGRjA4XHU3QTdBXHU0RjFBXHU4QkREXHVGRjA5IixkZXNjcmlwdGlvbjoiIixjd2Q6dnQoZS5jd2QsWG0oYSkpLHN0YXR1czoic3RvcHBlZCIsc3RhdHVzTGFiZWw6Ilx1NTM4Nlx1NTNGMiIsYWN0aXZlOiExLHNlbGVjdGVkOiEhaVtvXSxyZXN1bWFibGU6ISFvLHBlcm1pc3Npb25CbG9ja2VkOiExLGluRmxpZ2h0OiExLHRpdGxlR2VuZXJhdGluZzohMSwuLi5jP3tzdGFydGVkQXQ6Y306e30sLi4ubz97Y2xhdWRlU2Vzc2lvbklkOm99Ont9fX1mdW5jdGlvbiBKdyhlLHQpe3JldHVybihlPz9bXSkuZmlsdGVyKGE9Pntjb25zdCBpPXZ0KGEuY2xhdWRlU2Vzc2lvbklkKTtyZXR1cm4hIWkmJiEhYS5oYXNDb252ZXJzYXRpb24mJiFhLm1hbmFnZWRCeVdhbmQmJiF0LmhhcyhpKX0pfWZ1bmN0aW9uIGU2KGUpe3JldHVybiBlLnNvcnQoKHQsYSk9PmVmKGEuc3RhcnRlZEF0KS1lZih0LnN0YXJ0ZWRBdCkpfWZ1bmN0aW9uIGo5KGUsdCl7Y29uc3QgYT1lLnNlc3Npb25zPz9bXSxpPWUuc2VsZWN0ZWRTZXNzaW9uSWRzPz97fSxvPWUuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzPz97fSxjPWUuc2VsZWN0ZWRDb2RleEhpc3RvcnlJZHM/P3t9LGQ9YS5tYXAoTz0+VDkoTyxlLGkpKSxmPWQuZmluZChPPT5PLmlkPT09ZS5zZWxlY3RlZElkKT8/bnVsbCxtPWEuZmluZChPPT5PLmlkPT09ZS5zZWxlY3RlZElkKT8/bnVsbCxoPW5ldyBTZXQoYS5tYXAoTz0+dnQoTy5jbGF1ZGVTZXNzaW9uSWQpKS5maWx0ZXIoQm9vbGVhbikpLGc9ZTYoZC5maWx0ZXIoTz0+Ty5zb3VyY2U9PT0id2FuZCIpKSxiPWU2KGQuZmlsdGVyKE89Pk8uc291cmNlPT09ImF1dG9tYXRpb24iKSkseT1bXTtlLmNsYXVkZUhpc3RvcnlMb2FkZWQmJnkucHVzaCguLi5KdyhlLmNsYXVkZUhpc3RvcnksaCkubWFwKE89Plp3KE8sImNsYXVkZSIsZSxvKSkpLGUuY29kZXhIaXN0b3J5TG9hZGVkJiZ5LnB1c2goLi4uSncoZS5jb2RleEhpc3RvcnksaCkubWFwKE89Plp3KE8sImNvZGV4IixlLGMpKSkseS5zb3J0KChPLHJlKT0+ZWYocmUuc3RhcnRlZEF0KS1lZihPLnN0YXJ0ZWRBdCkpO2NvbnN0IEM9dC53aWR0aDw9NzY4LHc9ISFlLnNlc3Npb25zRHJhd2VyT3Blbix4PSEhZS5zaWRlYmFyUGlubmVkLEY9ISFlLnNpZGViYXJDb2xsYXBzZWQsQT0hIWUuZmlsZVBhbmVsT3BlbixCPWY/LmtpbmQ9PT0ic3RydWN0dXJlZCJ8fGUuY3VycmVudFZpZXc9PT0iY2hhdCI/ImNoYXQiOiJ0ZXJtaW5hbCIsVD0hIWUuc2Vzc2lvbnNNYW5hZ2VNb2RlLGs9UW0oaSkrUW0obykrUW0oYyksTT1mPy5jd2Q/P1htKGUpLHo9ZiYmZS5naXRTdGF0dXNTZXNzaW9uSWQ9PT1mLmlkJiZlLmdpdFN0YXR1cz8uaXNHaXQ/e2JyYW5jaDp2dChlLmdpdFN0YXR1cy5icmFuY2gsIj8iKSxtb2RpZmllZENvdW50Ok51bWJlcihlLmdpdFN0YXR1cy5tb2RpZmllZENvdW50KXx8MCxjbGVhbjooTnVtYmVyKGUuZ2l0U3RhdHVzLm1vZGlmaWVkQ291bnQpfHwwKT09PTB9Om51bGw7cmV0dXJue2F1dGg6e3BoYXNlOkE5KGUpfSx2aWV3cG9ydDp7bW9iaWxlOkMsb25saW5lOnR5cGVvZiBlLmlzT25saW5lPT0iYm9vbGVhbiI/ZS5pc09ubGluZTp0Lm9ubGluZSxlbWJlZFRlcm1pbmFsOnQuZW1iZWRUZXJtaW5hbCxuYXRpdmVJbnB1dDp0Lm5hdGl2ZUlucHV0fSxjYXBhYmlsaXRpZXM6e2JhY2tUb05hdGl2ZTp0LmJhY2tUb05hdGl2ZSxzd2l0Y2hTZXJ2ZXI6dC5zd2l0Y2hTZXJ2ZXJ9LGxheW91dDp7c2Vzc2lvbnNEcmF3ZXJPcGVuOncsc2lkZWJhclBpbm5lZDp4LHNpZGViYXJDb2xsYXBzZWQ6RixzaWRlYmFyQW5jaG9yZWQ6Rnx8IUMmJih4fHx3KSxzZXNzaW9uc0JhY2tkcm9wVmlzaWJsZTp3JiYoQ3x8IXgpLGZpbGVQYW5lbE9wZW46QSxmaWxlUGFuZWxCYWNrZHJvcFZpc2libGU6QSYmQyx0b3BiYXJNb3JlT3BlbjohIWUudG9wYmFyTW9yZU9wZW4sY3VycmVudFZpZXc6Qn0sc2VsZWN0ZWQ6ZixzaWRlYmFyOntpbnRlcmFjdGl2ZUNvdW50OmEuZmlsdGVyKE89PiEkdyhPKSkubGVuZ3RoLHRvdGFsQ291bnQ6Zy5sZW5ndGgrYi5sZW5ndGgreS5sZW5ndGgsbWFuYWdlTW9kZTpULHNlbGVjdGVkQ291bnQ6ayxncm91cHM6W3traW5kOiJ3YW5kIixsYWJlbDoiV2FuZCBcdTRGMUFcdThCREQiLGV4cGFuZGVkOiEwLGVudHJpZXM6Z30se2tpbmQ6ImF1dG9tYXRpb24iLGxhYmVsOiJcdTgxRUFcdTUyQThcdTUzMTYiLGV4cGFuZGVkOlR8fCEhdC5hdXRvbWF0aW9uRXhwYW5kZWQsZW50cmllczpifSx7a2luZDoiaGlzdG9yeSIsbGFiZWw6Ilx1OTc1RSBXYW5kIFx1NEYxQVx1OEJERCIsZXhwYW5kZWQ6VHx8ISF0Lmhpc3RvcnlFeHBhbmRlZCxlbnRyaWVzOnl9XX0sdG9wYmFyOnt0aXRsZTpmPy50aXRsZT8/IldhbmQgXHU2M0E3XHU1MjM2XHU1M0YwIixkZXNjcmlwdGlvbjpmPy5kZXNjcmlwdGlvbj8/IiIsc3RhdHVzTGFiZWw6Zj8uc3RhdHVzTGFiZWw/PyIiLHN0YXR1c1RvbmU6bT9COShtKToiIixjd2Q6TSxjdXJyZW50VGFzazp2dChlLmN1cnJlbnRUYXNrPy50aXRsZSl8fHZ0KG0/LmN1cnJlbnRUYXNrVGl0bGUpLHRpdGxlR2VuZXJhdGluZzohIW0/LnRpdGxlR2VuZXJhdGluZyxnaXQ6en0sbGVnYWN5VmlzaWJpbGl0eTp7dGVybWluYWw6ISFmJiZCPT09InRlcm1pbmFsIixjaGF0OiEhZiYmQj09PSJjaGF0IixibGFuazohZixjb21wb3NlcjohIWZ9fX12YXIgTTk9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXtwdCh0aGlzLCJuYW1lIikscHQodGhpcywicG9ydCIpLHB0KHRoaXMsInJlbWVtYmVyZWRTbG90IixudWxsKSxwdCh0aGlzLCJtb3VudGVkIiwhMSkscHQodGhpcywiZGlzcG9zZWQiLCExKSxwdCh0aGlzLCJnZW5lcmF0aW9uIiwwKSx0aGlzLm5hbWU9ZSx0aGlzLnBvcnQ9dH1tb3VudChlKXtpZih0aGlzLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcihgJHt0aGlzLm5hbWV9IGhhcyBiZWVuIGRpc3Bvc2VkYCk7aWYodGhpcy5yZW1lbWJlcmVkU2xvdCYmdGhpcy5yZW1lbWJlcmVkU2xvdCE9PWUpdGhyb3cgbmV3IEVycm9yKGAke3RoaXMubmFtZX0gY2Fubm90IHN3aXRjaCB0byBhIGRpZmZlcmVudCBzbG90YCk7aWYodGhpcy5tb3VudGVkKXJldHVybiB0aGlzLmN1cnJlbnRMZWFzZSgpO2lmKCF0aGlzLnJlbWVtYmVyZWRTbG90JiZlLmNoaWxkTm9kZXMubGVuZ3RoIT09MCl0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy5uYW1lfSByZXF1aXJlcyBhbiBlbXB0eSBSZWFjdCBzbG90YCk7cmV0dXJuIHRoaXMucG9ydC5tb3VudChlKSx0aGlzLnJlbWVtYmVyZWRTbG90PWUsdGhpcy5tb3VudGVkPSEwLHRoaXMuZ2VuZXJhdGlvbis9MSx0aGlzLmN1cnJlbnRMZWFzZSgpfXVubW91bnQoZSl7aWYoZSYmdGhpcy5yZW1lbWJlcmVkU2xvdCYmZSE9PXRoaXMucmVtZW1iZXJlZFNsb3QpdGhyb3cgbmV3IEVycm9yKGAke3RoaXMubmFtZX0gY2Fubm90IHVubW91bnQgYSBkaWZmZXJlbnQgc2xvdGApO2lmKCF0aGlzLm1vdW50ZWR8fCF0aGlzLnJlbWVtYmVyZWRTbG90KXJldHVybjtjb25zdCB0PXRoaXMucmVtZW1iZXJlZFNsb3Q7dGhpcy5tb3VudGVkPSExLHRoaXMuZ2VuZXJhdGlvbis9MSx0aGlzLnBvcnQudW5tb3VudD8uKHQpfWN1cnJlbnRMZWFzZSgpe2lmKCF0aGlzLm1vdW50ZWR8fCF0aGlzLnJlbWVtYmVyZWRTbG90fHx0aGlzLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcihgJHt0aGlzLm5hbWV9IGlzIG5vdCBtb3VudGVkYCk7cmV0dXJuIE9iamVjdC5mcmVlemUoe3Nsb3Q6dGhpcy5yZW1lbWJlcmVkU2xvdCxnZW5lcmF0aW9uOnRoaXMuZ2VuZXJhdGlvbn0pfWlzQ3VycmVudChlKXtyZXR1cm4hdGhpcy5kaXNwb3NlZCYmdGhpcy5tb3VudGVkJiZ0aGlzLnJlbWVtYmVyZWRTbG90PT09ZS5zbG90JiZ0aGlzLmdlbmVyYXRpb249PT1lLmdlbmVyYXRpb259aXNNb3VudGVkKCl7cmV0dXJuIXRoaXMuZGlzcG9zZWQmJnRoaXMubW91bnRlZH1kaXNwb3NlKCl7aWYoIXRoaXMuZGlzcG9zZWQpdHJ5e3RoaXMudW5tb3VudCgpfWZpbmFsbHl7dGhpcy5kaXNwb3NlZD0hMH19fTtmdW5jdGlvbiBPOShlLHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UibmF2LmhvbWUiOnJldHVybiBlLmdvSG9tZSgpO2Nhc2UibmF2LnJlZnJlc2giOnJldHVybiBlLnJlZnJlc2hQYWdlKCk7Y2FzZSJzZXNzaW9uLm5ldyI6cmV0dXJuIGUub3Blbk5ld1Nlc3Npb24oKTtjYXNlInNlc3Npb24ucXVpY2tTdGFydC5jbGF1ZGUiOnJldHVybiBlLnF1aWNrU3RhcnRDbGF1ZGVUZXJtaW5hbCgpO2Nhc2Uic2Vzc2lvbi5xdWlja1N0YXJ0LmNvZGV4IjpyZXR1cm4gZS5xdWlja1N0YXJ0Q29kZXhUZXJtaW5hbCgpO2Nhc2Uic2Vzc2lvbi5xdWlja1N0YXJ0Lm9wZW5jb2RlIjpyZXR1cm4gZS5xdWlja1N0YXJ0T3BlbkNvZGVUZXJtaW5hbCgpO2Nhc2Uic2Vzc2lvbi5xdWlja1N0YXJ0LnN0cnVjdHVyZWQiOnJldHVybiBlLnF1aWNrU3RhcnRTdHJ1Y3R1cmVkU2Vzc2lvbigpO2Nhc2Uic2Vzc2lvbi5zZWxlY3QiOnJldHVybiBlLnNlbGVjdFNlc3Npb24odC5pZCk7Y2FzZSJzZXNzaW9uLnJlc3VtZSI6cmV0dXJuIGUucmVzdW1lU2Vzc2lvbih0LmlkKTtjYXNlInNlc3Npb24ucmVzdW1lSGlzdG9yeSI6cmV0dXJuIGUucmVzdW1lSGlzdG9yeSh0LnByb3ZpZGVyLHQuaWQsdC5jd2QpO2Nhc2Uic2Vzc2lvbi5kZWxldGUiOnJldHVybiBlLmRlbGV0ZUl0ZW0odC50YXJnZXQsdC5pZCk7Y2FzZSJzZXNzaW9uLm1lcmdlIjpyZXR1cm4gZS5tZXJnZVNlc3Npb24odC5pZCk7Y2FzZSJzZXNzaW9uLmNsZWFudXAiOnJldHVybiBlLmNsZWFudXBTZXNzaW9uKHQuaWQpO2Nhc2Uic2Vzc2lvbi5tYW5hZ2UudG9nZ2xlIjpyZXR1cm4gZS50b2dnbGVNYW5hZ2VNb2RlKCk7Y2FzZSJzZXNzaW9uLm1hbmFnZS5zZWxlY3QiOnJldHVybiBlLnRvZ2dsZU1hbmFnZWRTZWxlY3Rpb24odC50YXJnZXQsdC5pZCk7Y2FzZSJzZXNzaW9uLm1hbmFnZS5zZWxlY3RBbGwiOnJldHVybiBlLnNlbGVjdEFsbE1hbmFnZWQoKTtjYXNlInNlc3Npb24ubWFuYWdlLmNsZWFyIjpyZXR1cm4gZS5jbGVhck1hbmFnZWRTZWxlY3Rpb24oKTtjYXNlInNlc3Npb24ubWFuYWdlLmRlbGV0ZVNlbGVjdGVkIjpyZXR1cm4gZS5kZWxldGVNYW5hZ2VkU2VsZWN0aW9uKCk7Y2FzZSJsYXlvdXQuZHJhd2VyLnRvZ2dsZSI6cmV0dXJuIGUudG9nZ2xlU2Vzc2lvbnNEcmF3ZXIoKTtjYXNlImxheW91dC5kcmF3ZXIuY2xvc2UiOnJldHVybiBlLmNsb3NlU2Vzc2lvbnNEcmF3ZXIoKTtjYXNlImxheW91dC5kcmF3ZXIucGluIjpyZXR1cm4gZS50b2dnbGVTaWRlYmFyUGluKCk7Y2FzZSJsYXlvdXQuZHJhd2VyLmNvbGxhcHNlIjpyZXR1cm4gZS50b2dnbGVTaWRlYmFyQ29sbGFwc2VkKCk7Y2FzZSJsYXlvdXQuZHJhd2VyLmV4cGFuZEdyb3VwIjpyZXR1cm4gZS5leHBhbmRTaWRlYmFyR3JvdXAodC5ncm91cCk7Y2FzZSJsYXlvdXQuZHJhd2VyLmdyb3VwLnNldCI6cmV0dXJuIGUuc2V0U2lkZWJhckdyb3VwRXhwYW5kZWQodC5ncm91cCx0LmV4cGFuZGVkKTtjYXNlImxheW91dC5maWxlcy50b2dnbGUiOnJldHVybiBlLnRvZ2dsZUZpbGVQYW5lbCgpO2Nhc2UibGF5b3V0LmZpbGVzLmNsb3NlIjpyZXR1cm4gZS5jbG9zZUZpbGVQYW5lbCgpO2Nhc2UibGF5b3V0LmZpbGVzLnJlZnJlc2giOnJldHVybiBlLnJlZnJlc2hGaWxlcygpO2Nhc2UibGF5b3V0LmZpbGVzLm5hdmlnYXRlIjpyZXR1cm4gZS5uYXZpZ2F0ZUZpbGVzKHQuY3dkKTtjYXNlImxheW91dC5maWxlcy51cCI6cmV0dXJuIGUubmF2aWdhdGVGaWxlc1VwKCk7Y2FzZSJsYXlvdXQuZmlsZXMuc2VhcmNoIjpyZXR1cm4gZS5zZWFyY2hGaWxlcyh0LnF1ZXJ5KTtjYXNlImxheW91dC5maWxlcy5zZWFyY2guY2xlYXIiOnJldHVybiBlLmNsZWFyRmlsZVNlYXJjaCgpO2Nhc2UiZm9sZGVyUGlja2VyLm9wZW4iOnJldHVybiBlLm9wZW5Gb2xkZXJQaWNrZXIoKTtjYXNlInRvcGJhci5tZW51LnRvZ2dsZSI6cmV0dXJuIGUudG9nZ2xlVG9wYmFyTWVudSgpO2Nhc2UidG9wYmFyLmNvcHkiOnJldHVybiBlLmNvcHlUb3BiYXJGaWVsZCh0LmZpZWxkKTtjYXNlInRvcGJhci5naXRDb21taXQiOnJldHVybiBlLm9wZW5HaXRDb21taXQoKTtjYXNlInNldHRpbmdzLm9wZW4iOnJldHVybiBlLm9wZW5TZXR0aW5ncygpO2Nhc2UibmF0aXZlLmJhY2siOnJldHVybiBlLmJhY2tUb05hdGl2ZSgpO2Nhc2UibmF0aXZlLnN3aXRjaFNlcnZlciI6cmV0dXJuIGUuc3dpdGNoU2VydmVyKCk7Y2FzZSJhdXRoLmxvZ291dCI6cmV0dXJuIGUubG9nb3V0KCk7ZGVmYXVsdDpyZXR1cm4gXzkodCl9fWZ1bmN0aW9uIF85KGUpe3Rocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgVUkgYWN0aW9uOiAke0pTT04uc3RyaW5naWZ5KGUpfWApfXZhciBIbz1sZShBZSgpLDEpLHFvPWxlKEFlKCksMSksdDY9KDAscW8uY3JlYXRlQ29udGV4dCkobnVsbCk7ZnVuY3Rpb24gTjkoZSl7cmV0dXJue3N1YnNjcmliZTp0PT5lLnN1YnNjcmliZSh0KSxnZXRTbmFwc2hvdDooKT0+ZS5nZXRTbmFwc2hvdCgpfX1mdW5jdGlvbiBSOSh7c3RvcmU6ZSxjaGlsZHJlbjp0fSl7cmV0dXJuKDAscW8uY3JlYXRlRWxlbWVudCkodDYuUHJvdmlkZXIse3ZhbHVlOmV9LHQpfWZ1bmN0aW9uIG42KCl7Y29uc3QgZT0oMCxxby51c2VDb250ZXh0KSh0Nik7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJ1c2VVaVN0b3JlIG11c3QgYmUgdXNlZCBpbnNpZGUgVWlTdG9yZVByb3ZpZGVyIik7cmV0dXJuIGV9ZnVuY3Rpb24gZ2woKXtjb25zdCBlPW42KCksdD0oMCxxby51c2VNZW1vKSgoKT0+TjkoZSksW2VdKTtyZXR1cm4oMCxxby51c2VTeW5jRXh0ZXJuYWxTdG9yZSkodC5zdWJzY3JpYmUsdC5nZXRTbmFwc2hvdCx0LmdldFNuYXBzaG90KX1mdW5jdGlvbiB0Zigpe2NvbnN0IGU9bjYoKTtyZXR1cm4oMCxxby51c2VDYWxsYmFjaykodD0+ZS5kaXNwYXRjaCh0KSxbZV0pfXZhciBRZT1sZShxZSgpLDEpO2Z1bmN0aW9uICRtKC4uLmUpe3JldHVybiBlLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIil9ZnVuY3Rpb24gWm0oZSl7bGV0IHQ9ZS50cmltKCk7cmV0dXJuIHQ/KHQ9dC5yZXBsYWNlKC9cL3syLH0vZywiLyIpLHQubGVuZ3RoPjEmJih0PXQucmVwbGFjZSgvXC8rJC8sIiIpKSx0KToiIn1mdW5jdGlvbiBJOShlKXtjb25zdCB0PVptKGUpO3JldHVybiF0fHx0PT09Ii8iP3R8fCIvIjp0LnJlcGxhY2UoL1wvW14vXSskLywiIil8fCIvIn1mdW5jdGlvbiBQbyh7bmFtZTplLHNpemU6dD0xNn0pe2NvbnN0IGE9e2NsYXNzTmFtZTpgd2FuZC1pY29uIHdhbmQtaWNvbi0ke2V9YCx3aWR0aDp0LGhlaWdodDp0LHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOjIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsImFyaWEtaGlkZGVuIjohMH07c3dpdGNoKGUpe2Nhc2UiY2xvc2UiOnJldHVybigwLFFlLmpzeCkoInN2ZyIsey4uLmEsY2hpbGRyZW46KDAsUWUuanN4KSgicGF0aCIse2Q6Ik0xOCA2TDYgMThNNiA2bDEyIDEyIn0pfSk7Y2FzZSJmb2xkZXIiOnJldHVybigwLFFlLmpzeCkoInN2ZyIsey4uLmEsY2xhc3NOYW1lOiJ3YW5kLWljb24gd2FuZC1pY29uLWZvbGRlci1vcGVuIixjaGlsZHJlbjooMCxRZS5qc3gpKCJwYXRoIix7ZDoiTTYgMTRsMS41LTNBMiAyIDAgMDE5LjIgMTBIMjBhMiAyIDAgMDExLjkgMi41bC0xLjUgNkEyIDIgMCAwMTE4LjQgMjBINGEyIDIgMCAwMS0yLTJWNWEyIDIgMCAwMTItMmg0bDMgM2g3YTIgMiAwIDAxMiAydjIifSl9KTtjYXNlInJlZnJlc2giOnJldHVybigwLFFlLmpzeCkoInN2ZyIsey4uLmEsY2hpbGRyZW46KDAsUWUuanN4KSgicGF0aCIse2Q6Ik0yMSAxMmE5IDkgMCAxMS0zLTYuN00yMSA0djVoLTUifSl9KTtjYXNlInNlYXJjaCI6cmV0dXJuKDAsUWUuanN4cykoInN2ZyIsey4uLmEsY2hpbGRyZW46WygwLFFlLmpzeCkoImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI3In0pLCgwLFFlLmpzeCkoInBhdGgiLHtkOiJNMjEgMjFsLTQuMy00LjMifSldfSk7Y2FzZSJ1cCI6cmV0dXJuKDAsUWUuanN4KSgic3ZnIix7Li4uYSxjaGlsZHJlbjooMCxRZS5qc3gpKCJwYXRoIix7ZDoiTTEyIDE5VjVNNSAxMmw3LTcgNyA3In0pfSl9fWZ1bmN0aW9uIEw5KHtleHBsb3JlclJlZjplfT17fSl7Y29uc3QgdD1nbCgpLGE9dGYoKSxpPVptKHQudG9wYmFyLmN3ZCl8fCIvIixbbyxjXT1Iby51c2VTdGF0ZShpKSxbZCxmXT1Iby51c2VTdGF0ZSgiIiksbT1Iby51c2VSZWYoaSksaD1Iby51c2VSZWYoITEpO0hvLnVzZUVmZmVjdCgoKT0+e2guY3VycmVudHx8KG0uY3VycmVudD1pLGMoaSkpfSxbdC5zZWxlY3RlZD8uaWQsaV0pO2NvbnN0IGc9SG8udXNlQ2FsbGJhY2soKCk9Pntjb25zdCB5PVptKG8pO2lmKCF5KXtjKG0uY3VycmVudCk7cmV0dXJufWMoeSkseSE9PW0uY3VycmVudCYmKG0uY3VycmVudD15LGEoe3R5cGU6ImxheW91dC5maWxlcy5uYXZpZ2F0ZSIsY3dkOnl9KSl9LFtvLGFdKSxiPUk5KG0uY3VycmVudCk7cmV0dXJuKDAsUWUuanN4cykoUWUuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxRZS5qc3gpKCJkaXYiLHtpZDoiZmlsZS1wYW5lbC1iYWNrZHJvcCIsY2xhc3NOYW1lOiRtKCJmaWxlLXBhbmVsLWJhY2tkcm9wIix0LmxheW91dC5maWxlUGFuZWxCYWNrZHJvcFZpc2libGUmJiJvcGVuIiksImFyaWEtaGlkZGVuIjoidHJ1ZSIsb25DbGljazooKT0+e2Eoe3R5cGU6ImxheW91dC5maWxlcy5jbG9zZSJ9KX19KSwoMCxRZS5qc3hzKSgiZGl2Iix7aWQ6ImZpbGUtc2lkZS1wYW5lbCIsY2xhc3NOYW1lOiRtKCJmaWxlLXNpZGUtcGFuZWwiLHQubGF5b3V0LmZpbGVQYW5lbE9wZW4mJiJvcGVuIiksImFyaWEtaGlkZGVuIjohdC5sYXlvdXQuZmlsZVBhbmVsT3BlbixjaGlsZHJlbjpbKDAsUWUuanN4cykoImRpdiIse2NsYXNzTmFtZToiZmlsZS1zaWRlLXBhbmVsLWhlYWRlciIsY2hpbGRyZW46WygwLFFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6ImZpbGUtc2lkZS1wYW5lbC10aXRsZS1ncm91cCIsY2hpbGRyZW46WygwLFFlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZpbGUtc2lkZS1wYW5lbC1pY29uIixjaGlsZHJlbjooMCxRZS5qc3gpKFBvLHtuYW1lOiJmb2xkZXIifSl9KSwoMCxRZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmaWxlLXNpZGUtcGFuZWwtdGl0bGUiLGNoaWxkcmVuOiJcdTY1ODdcdTRFRjYifSldfSksKDAsUWUuanN4cykoImRpdiIse2NsYXNzTmFtZToiZmlsZS1zaWRlLXBhbmVsLWhlYWRlci1hY3Rpb25zIixjaGlsZHJlbjpbKDAsUWUuanN4KSgiYnV0dG9uIix7Y2xhc3NOYW1lOiJmaWxlLXNpZGUtcGFuZWwtaWNvbmJ0biIsaWQ6ImZpbGUtZXhwbG9yZXItcmVmcmVzaCIsdHlwZToiYnV0dG9uIix0aXRsZToiXHU1MjM3XHU2NUIwIiwiYXJpYS1sYWJlbCI6Ilx1NTIzN1x1NjVCMFx1NjU4N1x1NEVGNlx1NTIxN1x1ODg2OCIsb25DbGljazooKT0+e2Eoe3R5cGU6ImxheW91dC5maWxlcy5yZWZyZXNoIn0pfSxjaGlsZHJlbjooMCxRZS5qc3gpKFBvLHtuYW1lOiJyZWZyZXNoIixzaXplOjE1fSl9KSwoMCxRZS5qc3gpKCJidXR0b24iLHtpZDoiZmlsZS1zaWRlLXBhbmVsLWNsb3NlIixjbGFzc05hbWU6ImZpbGUtc2lkZS1wYW5lbC1pY29uYnRuIGNsb3NlIix0eXBlOiJidXR0b24iLCJhcmlhLWxhYmVsIjoiXHU1MTczXHU5NUVEXHU2NTg3XHU0RUY2XHU5NzYyXHU2NzdGIix0aXRsZToiXHU1MTczXHU5NUVEIixvbkNsaWNrOigpPT57YSh7dHlwZToibGF5b3V0LmZpbGVzLmNsb3NlIn0pfSxjaGlsZHJlbjooMCxRZS5qc3gpKFBvLHtuYW1lOiJjbG9zZSJ9KX0pXX0pXX0pLCgwLFFlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6ImZpbGUtc2lkZS1wYW5lbC1ib2R5IixjaGlsZHJlbjpbKDAsUWUuanN4cykoImRpdiIse2NsYXNzTmFtZToiZmlsZS1leHBsb3Jlci1oZWFkZXIiLGNoaWxkcmVuOlsoMCxRZS5qc3gpKCJidXR0b24iLHtjbGFzc05hbWU6ImZpbGUtZXhwbG9yZXItdXAiLGlkOiJmaWxlLWV4cGxvcmVyLXVwIix0eXBlOiJidXR0b24iLHRpdGxlOiJcdThGRDRcdTU2REVcdTRFMEFcdTdFQTdcdTc2RUVcdTVGNTUiLCJhcmlhLWxhYmVsIjoiXHU4RkQ0XHU1NkRFXHU0RTBBXHU3RUE3XHU3NkVFXHU1RjU1IixkaXNhYmxlZDptLmN1cnJlbnQ9PT0iLyIsb25DbGljazooKT0+e2IhPT1tLmN1cnJlbnQmJihtLmN1cnJlbnQ9YixjKGIpLGEoe3R5cGU6ImxheW91dC5maWxlcy51cCJ9KSl9LGNoaWxkcmVuOigwLFFlLmpzeCkoUG8se25hbWU6InVwIixzaXplOjE1fSl9KSwoMCxRZS5qc3gpKCJpbnB1dCIse3R5cGU6InRleHQiLGNsYXNzTmFtZToiZmlsZS1leHBsb3Jlci1wYXRoIixpZDoiZmlsZS1leHBsb3Jlci1jd2QiLHZhbHVlOm8sdGl0bGU6byxwbGFjZWhvbGRlcjoiXHU4RjkzXHU1MTY1XHU4REVGXHU1Rjg0XHU1RTc2XHU1NkRFXHU4RjY2Li4uIixzcGVsbENoZWNrOiExLGF1dG9Db21wbGV0ZToib2ZmIixhdXRvQ2FwaXRhbGl6ZToib2ZmIixhdXRvQ29ycmVjdDoib2ZmIiwiYXJpYS1sYWJlbCI6Ilx1NUY1M1x1NTI0RFx1OERFRlx1NUY4NFx1RkYwQ1x1NTNFRlx1NzZGNFx1NjNBNVx1NEZFRVx1NjUzOVx1NTQwRVx1NTZERVx1OEY2NiIsb25Gb2N1czp5PT57aC5jdXJyZW50PSEwLHkuY3VycmVudFRhcmdldC5zZWxlY3QoKX0sb25DaGFuZ2U6eT0+Yyh5LmN1cnJlbnRUYXJnZXQudmFsdWUpLG9uQmx1cjooKT0+e2guY3VycmVudD0hMSxnKCl9LG9uS2V5RG93bjp5PT57eS5rZXk9PT0iRW50ZXIiPyh5LnByZXZlbnREZWZhdWx0KCksZygpLHkuY3VycmVudFRhcmdldC5ibHVyKCkpOnkua2V5PT09IkVzY2FwZSImJih5LnByZXZlbnREZWZhdWx0KCksaC5jdXJyZW50PSExLGMobS5jdXJyZW50KSx5LmN1cnJlbnRUYXJnZXQuYmx1cigpKX19KV19KSwoMCxRZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJmaWxlLXNlYXJjaC1ib3giLGNoaWxkcmVuOlsoMCxRZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmaWxlLXNlYXJjaC1pY29uIixjaGlsZHJlbjooMCxRZS5qc3gpKFBvLHtuYW1lOiJzZWFyY2giLHNpemU6MTR9KX0pLCgwLFFlLmpzeCkoImlucHV0Iix7dHlwZToidGV4dCIsaWQ6ImZpbGUtc2VhcmNoLWlucHV0IixjbGFzc05hbWU6ImZpbGUtc2VhcmNoLWlucHV0Iix2YWx1ZTpkLHBsYWNlaG9sZGVyOiJcdTY0MUNcdTdEMjJcdTVGNTNcdTUyNERcdTc2RUVcdTVGNTVcdTIwMjYiLGF1dG9Db21wbGV0ZToib2ZmIixhdXRvQ29ycmVjdDoib2ZmIixhdXRvQ2FwaXRhbGl6ZToib2ZmIixzcGVsbENoZWNrOiExLCJhcmlhLWxhYmVsIjoiXHU2NDFDXHU3RDIyXHU1RjUzXHU1MjREXHU3NkVFXHU1RjU1IixvbkNoYW5nZTp5PT57Y29uc3QgQz15LmN1cnJlbnRUYXJnZXQudmFsdWU7ZihDKSxhKHt0eXBlOiJsYXlvdXQuZmlsZXMuc2VhcmNoIixxdWVyeTpDLnRyaW0oKX0pfX0pLCgwLFFlLmpzeCkoImJ1dHRvbiIse2NsYXNzTmFtZTokbSgiZmlsZS1zZWFyY2gtY2xlYXIiLGQudHJpbSgpJiYidmlzaWJsZSIpLGlkOiJmaWxlLXNlYXJjaC1jbGVhciIsdHlwZToiYnV0dG9uIiwiYXJpYS1sYWJlbCI6Ilx1NkUwNVx1OTY2NFx1NjQxQ1x1N0QyMiIsdGl0bGU6Ilx1NkUwNVx1OTY2NCIsZGlzYWJsZWQ6IWQsb25DbGljazooKT0+e2YoIiIpLGEoe3R5cGU6ImxheW91dC5maWxlcy5zZWFyY2guY2xlYXIifSl9LGNoaWxkcmVuOigwLFFlLmpzeCkoUG8se25hbWU6ImNsb3NlIixzaXplOjEzfSl9KV19KSwoMCxRZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6ImZpbGUtZXhwbG9yZXIiLGlkOiJmaWxlLWV4cGxvcmVyIixyZWY6ZX0pXX0pXX0pXX0pfXZhciBuZj1sZShBZSgpLDEpLFA9bGUocWUoKSwxKTtmdW5jdGlvbiB4biguLi5lKXtyZXR1cm4gZS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpfWZ1bmN0aW9uIGE2KGUpe3JldHVybiBlLnNvdXJjZT09PSJjbGF1ZGUtaGlzdG9yeSI/ImNsYXVkZS1oaXN0b3J5IjplLnNvdXJjZT09PSJjb2RleC1oaXN0b3J5Ij8iY29kZXgtaGlzdG9yeSI6InNlc3Npb24ifWZ1bmN0aW9uIHI2KGUsdCl7Y29uc3QgYT1hNihlKTtpZih0KXJldHVybntwcmltYXJ5Ont0eXBlOiJzZXNzaW9uLm1hbmFnZS5zZWxlY3QiLHRhcmdldDphLGlkOmUuaWR9LHJlc3VtZTpudWxsLGRlbGV0ZTpudWxsLG1lcmdlOm51bGwsY2xlYW51cDpudWxsfTtjb25zdCBpPWUuc291cmNlPT09ImNvZGV4LWhpc3RvcnkiPyJjb2RleCI6ZS5zb3VyY2U9PT0iY2xhdWRlLWhpc3RvcnkiPyJjbGF1ZGUiOm51bGwsbz1pP3t0eXBlOiJzZXNzaW9uLnJlc3VtZUhpc3RvcnkiLHByb3ZpZGVyOmksaWQ6ZS5pZCxjd2Q6ZS5jd2R9Om51bGwsYz1lLndvcmt0cmVlPy5lbmFibGVkJiZlLndvcmt0cmVlLm1lcmdlU3RhdHVzPT09Im1lcmdlZCI/e3R5cGU6InNlc3Npb24uY2xlYW51cCIsaWQ6ZS5pZH06bnVsbCxkPWUud29ya3RyZWU/LmVuYWJsZWQmJmUud29ya3RyZWUuYnJhbmNoJiZlLndvcmt0cmVlLnBhdGgmJmUud29ya3RyZWUubWVyZ2VTdGF0dXMhPT0ibWVyZ2VkIj97dHlwZToic2Vzc2lvbi5tZXJnZSIsaWQ6ZS5pZH06bnVsbDtyZXR1cm57cHJpbWFyeTpvPz97dHlwZToic2Vzc2lvbi5zZWxlY3QiLGlkOmUuaWR9LHJlc3VtZTpvPz8oZS5yZXN1bWFibGU/e3R5cGU6InNlc3Npb24ucmVzdW1lIixpZDplLmlkfTpudWxsKSxkZWxldGU6e3R5cGU6InNlc3Npb24uZGVsZXRlIix0YXJnZXQ6YSxpZDplLmlkfSxtZXJnZTpkLGNsZWFudXA6Y319ZnVuY3Rpb24gZm4oe25hbWU6ZSxzaXplOnQ9MTQsY2xhc3NOYW1lOmF9KXtjb25zdCBpPXt3aWR0aDp0LGhlaWdodDp0LHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOjIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2xhc3NOYW1lOmEsImFyaWEtaGlkZGVuIjohMH07c3dpdGNoKGUpe2Nhc2UiYmFjayI6cmV0dXJuKDAsUC5qc3hzKSgic3ZnIix7Li4uaSxjaGlsZHJlbjpbKDAsUC5qc3gpKCJyZWN0Iix7eDoiMTAiLHk6IjMiLHdpZHRoOiIxMSIsaGVpZ2h0OiIxOCIscng6IjIifSksKDAsUC5qc3gpKCJwYXRoIix7ZDoiTTcgOGwtNCA0IDQgNE0zIDEyaDExIn0pXX0pO2Nhc2UiY2hldnJvbiI6cmV0dXJuKDAsUC5qc3gpKCJzdmciLHsuLi5pLGNoaWxkcmVuOigwLFAuanN4KSgicGF0aCIse2Q6Ik02IDlsNiA2IDYtNiJ9KX0pO2Nhc2UiY2xlYW51cCI6Y2FzZSJ0cmFzaCI6cmV0dXJuKDAsUC5qc3gpKCJzdmciLHsuLi5pLGNoaWxkcmVuOigwLFAuanN4KSgicGF0aCIse2Q6Ik0zIDZoMThNOCA2VjRoOHYyTTE5IDZsLTEgMTRINkw1IDYifSl9KTtjYXNlImNsb3NlIjpyZXR1cm4oMCxQLmpzeCkoInN2ZyIsey4uLmksY2hpbGRyZW46KDAsUC5qc3gpKCJwYXRoIix7ZDoiTTYgNmwxMiAxMk0xOCA2TDYgMTgifSl9KTtjYXNlImZpbGUiOnJldHVybigwLFAuanN4KSgic3ZnIix7Li4uaSxjaGlsZHJlbjooMCxQLmpzeCkoInBhdGgiLHtkOiJNMjIgMTlhMiAyIDAgMDEtMiAySDRhMiAyIDAgMDEtMi0yVjVhMiAyIDAgMDEyLTJoNWwyIDNoOWEyIDIgMCAwMTIgMnoifSl9KTtjYXNlImdlYXIiOnJldHVybigwLFAuanN4cykoInN2ZyIsey4uLmksY2hpbGRyZW46WygwLFAuanN4KSgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifSksKDAsUC5qc3gpKCJwYXRoIix7ZDoiTTEyIDJ2M00xMiAxOXYzTTQuOSA0LjlMNyA3TTE3IDE3bDIuMSAyLjFNMiAxMmgzTTE5IDEyaDNNNC45IDE5LjFMNyAxN00xNyA3bDIuMS0yLjEifSldfSk7Y2FzZSJoaXN0b3J5IjpyZXR1cm4oMCxQLmpzeCkoInN2ZyIsey4uLmksY2hpbGRyZW46KDAsUC5qc3gpKCJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMTA5LTkgOS43IDkuNyAwIDAwLTYuNyAyLjdMMyA4TTMgM3Y1aDVNMTIgN3Y1bDMgMiJ9KX0pO2Nhc2UibG9nb3V0IjpyZXR1cm4oMCxQLmpzeCkoInN2ZyIsey4uLmksY2hpbGRyZW46KDAsUC5qc3gpKCJwYXRoIix7ZDoiTTkgMjFINWEyIDIgMCAwMS0yLTJWNWEyIDIgMCAwMTItMmg0TTE2IDE3bDUtNS01LTVNMjEgMTJIOSJ9KX0pO2Nhc2UibWVyZ2UiOnJldHVybigwLFAuanN4KSgic3ZnIix7Li4uaSxjaGlsZHJlbjooMCxQLmpzeCkoInBhdGgiLHtkOiJNNyA3aDEwTTcgMTJoMTBNNyAxN2gxME01IDdMMyA5bDIgMk0xOSAxNWwyIDItMiAyIn0pfSk7Y2FzZSJtb3JlIjpyZXR1cm4oMCxQLmpzeHMpKCJzdmciLHsuLi5pLGNoaWxkcmVuOlsoMCxQLmpzeCkoImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEifSksKDAsUC5qc3gpKCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9KSwoMCxQLmpzeCkoImNpcmNsZSIse2N4OiIxMiIsY3k6IjE5IixyOiIxIn0pXX0pO2Nhc2UicGluIjpyZXR1cm4oMCxQLmpzeCkoInN2ZyIsey4uLmksY2hpbGRyZW46KDAsUC5qc3gpKCJwYXRoIix7ZDoiTTEyIDE3djVNNSAxN2gxNE05IDEyVjZIOGEyIDIgMCAwMTAtNGg4YTIgMiAwIDAxMCA0aC0xdjYifSl9KTtjYXNlInJlc3VtZSI6cmV0dXJuKDAsUC5qc3gpKCJzdmciLHsuLi5pLGNoaWxkcmVuOigwLFAuanN4KSgicGF0aCIse2Q6Ik0xIDR2Nmg2TTMuNSAxNUE5IDkgMCAxMDkgMy42TDMgMTAifSl9KTtjYXNlInNlcnZlciI6cmV0dXJuKDAsUC5qc3hzKSgic3ZnIix7Li4uaSxjaGlsZHJlbjpbKDAsUC5qc3gpKCJyZWN0Iix7eDoiMiIseToiMyIsd2lkdGg6IjIwIixoZWlnaHQ6IjgiLHJ4OiIyIn0pLCgwLFAuanN4KSgicmVjdCIse3g6IjIiLHk6IjEzIix3aWR0aDoiMjAiLGhlaWdodDoiOCIscng6IjIifSksKDAsUC5qc3gpKCJwYXRoIix7ZDoiTTYgN2guMDFNNiAxN2guMDEifSldfSk7Y2FzZSJzcGFyayI6cmV0dXJuKDAsUC5qc3hzKSgic3ZnIix7Li4uaSxjaGlsZHJlbjpbKDAsUC5qc3gpKCJwYXRoIix7ZDoiTTEyIDJ2NE0xMiAxOHY0TTQuOSA0LjlsMi44IDIuOE0xNi4zIDE2LjNsMi44IDIuOE0yIDEyaDRNMTggMTJoNE00LjkgMTkuMWwyLjgtMi44TTE2LjMgNy43bDIuOC0yLjgifSksKDAsUC5qc3gpKCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9KV19KX19ZnVuY3Rpb24gYWYoe2FjdGlvbjplLGRpc3BhdGNoOnQsYWN0aW9uTmFtZTphLGxhYmVsOmksaWNvbjpvLGNsYXNzTmFtZTpjLGRpc2FibGVkOmQsZGF0YTpmfSl7cmV0dXJuKDAsUC5qc3gpKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTp4bigic2Vzc2lvbi1hY3Rpb24tYnRuIixjKSwiZGF0YS1hY3Rpb24iOmEsImRhdGEtc2Vzc2lvbi1pZCI6Zj8uc2Vzc2lvbklkLCJkYXRhLWNsYXVkZS1zZXNzaW9uLWlkIjpmPy5oaXN0b3J5SWQsImRhdGEtY3dkIjpmPy5jd2QsImFyaWEtbGFiZWwiOmksdGl0bGU6aSxkaXNhYmxlZDpkLG9uQ2xpY2s6bT0+e20uc3RvcFByb3BhZ2F0aW9uKCksdChlKX0sY2hpbGRyZW46KDAsUC5qc3gpKGZuLHtuYW1lOm99KX0pfWZ1bmN0aW9uIHo5KHtlbnRyeTplLGRpc3BhdGNoOnR9KXtjb25zdCBhPWE2KGUpLGk9YT09PSJzZXNzaW9uIj8ic2Vzc2lvbnMiOmE9PT0iY29kZXgtaGlzdG9yeSI/ImNvZGV4IjoiaGlzdG9yeSI7cmV0dXJuKDAsUC5qc3hzKSgibGFiZWwiLHtjbGFzc05hbWU6InNlc3Npb24tbWFuYWdlLWNoZWNrIixvbkNsaWNrOm89Pm8uc3RvcFByb3BhZ2F0aW9uKCksY2hpbGRyZW46WygwLFAuanN4KSgiaW5wdXQiLHt0eXBlOiJjaGVja2JveCIsImRhdGEtYWN0aW9uIjoidG9nZ2xlLXNlbGVjdGlvbiIsImRhdGEta2luZCI6aSwiZGF0YS1pZCI6ZS5pZCxjaGVja2VkOmUuc2VsZWN0ZWQsImFyaWEtbGFiZWwiOmBcdTkwMDlcdTYyRTlcdTRGMUFcdThCREQgJHtlLnRpdGxlfWAsb25DaGFuZ2U6KCk9Pnt0KHt0eXBlOiJzZXNzaW9uLm1hbmFnZS5zZWxlY3QiLHRhcmdldDphLGlkOmUuaWR9KX19KSwoMCxQLmpzeCkoInNwYW4iLHt9KV19KX1mdW5jdGlvbiBIOSh7ZW50cnk6ZX0pe2lmKCFlLndvcmt0cmVlPy5lbmFibGVkKXJldHVybiBudWxsO2NvbnN0IHQ9e3JlYWR5OiJcdTUzRUZcdTU0MDhcdTVFNzYiLGNoZWNraW5nOiJcdTY4QzBcdTY3RTVcdTRFMkQiLG1lcmdpbmc6Ilx1NTQwOFx1NUU3Nlx1NEUyRCIsbWVyZ2VkOiJcdTVERjJcdTU0MDhcdTVFNzYiLGZhaWxlZDoiXHU1NDA4XHU1RTc2XHU1OTMxXHU4RDI1In0sYT1bZS53b3JrdHJlZS5icmFuY2gmJmBXb3JrdHJlZTogJHtlLndvcmt0cmVlLmJyYW5jaH1gLGUud29ya3RyZWUucGF0aCYmYFBhdGg6ICR7ZS53b3JrdHJlZS5wYXRofWBdLmZpbHRlcihCb29sZWFuKS5qb2luKGAKYCk7cmV0dXJuKDAsUC5qc3hzKShQLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJzZXNzaW9uLWtpbmQtYmFkZ2Ugd29ya3RyZWUiLHRpdGxlOmF8fHZvaWQgMCxjaGlsZHJlbjoiV29ya3RyZWUifSksZS53b3JrdHJlZS5tZXJnZVN0YXR1cyYmKDAsUC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOnhuKCJzZXNzaW9uLWtpbmQtYmFkZ2Ugd29ya3RyZWUtbWVyZ2UiLGUud29ya3RyZWUubWVyZ2VTdGF0dXMpLGNoaWxkcmVuOnRbZS53b3JrdHJlZS5tZXJnZVN0YXR1c10/P2Uud29ya3RyZWUubWVyZ2VTdGF0dXN9KV19KX1mdW5jdGlvbiBxOShlKXtjb25zdCB0PWUuZW5kZWRBdD8/ZS5zdGFydGVkQXQ7aWYoIXQpcmV0dXJuIiI7Y29uc3QgYT1uZXcgRGF0ZSh0KTtpZighTnVtYmVyLmlzRmluaXRlKGEuZ2V0VGltZSgpKSlyZXR1cm4iIjtpZighZS5lbmRlZEF0JiZlLnN0YXR1cz09PSJydW5uaW5nIiYmZS5zdGFydGVkQXQpe2NvbnN0IG89TWF0aC5tYXgoMCxNYXRoLmZsb29yKChEYXRlLm5vdygpLW5ldyBEYXRlKGUuc3RhcnRlZEF0KS5nZXRUaW1lKCkpLzFlMykpLGM9TWF0aC5mbG9vcihvLzM2MDApLGQ9TWF0aC5mbG9vcihvJTM2MDAvNjApLGY9byU2MDtyZXR1cm4gYz4wP2Ake2N9OiR7U3RyaW5nKGQpLnBhZFN0YXJ0KDIsIjAiKX06JHtTdHJpbmcoZikucGFkU3RhcnQoMiwiMCIpfWA6YCR7U3RyaW5nKGQpLnBhZFN0YXJ0KDIsIjAiKX06JHtTdHJpbmcoZikucGFkU3RhcnQoMiwiMCIpfWB9Y29uc3QgaT1NYXRoLm1heCgwLERhdGUubm93KCktYS5nZXRUaW1lKCkpO3JldHVybiBpPDZlND8iXHU1MjFBXHU1MjFBIjppPDM2ZTU/YCR7TWF0aC5mbG9vcihpLzZlNCl9XHU1MjA2XHU5NDlGXHU1MjREYDppPDg2NGU1P2Ake01hdGguZmxvb3IoaS8zNmU1KX1cdTVDMEZcdTY1RjZcdTUyNERgOmk8NjA0OGU1P2Ake01hdGguZmxvb3IoaS84NjRlNSl9XHU1OTI5XHU1MjREYDphLnRvTG9jYWxlRGF0ZVN0cmluZygiemgtQ04iLHttb250aDoibnVtZXJpYyIsZGF5OiJudW1lcmljIn0pfWZ1bmN0aW9uIFA5KGUpe3N3aXRjaChlLnByb3ZpZGVyKXtjYXNlImNvZGV4IjpyZXR1cm4iQ29kZXgiO2Nhc2Uib3BlbmNvZGUiOnJldHVybiJPcGVuQ29kZSI7Y2FzZSJjbGF1ZGUiOnJldHVybiJDbGF1ZGUiO2RlZmF1bHQ6cmV0dXJuIGUucHJvdmlkZXJ8fCJBSSJ9fWZ1bmN0aW9uIFU5KHtlbnRyeTplfSl7Y29uc3QgdD1QOShlKTtyZXR1cm4oMCxQLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6eG4oInNlc3Npb24tcHJvdmlkZXItbWFyayIsYHByb3ZpZGVyLSR7ZS5wcm92aWRlcnx8ImNsYXVkZSJ9YCksImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46ZS5wcm92aWRlcj09PSJjb2RleCI/IkMiOigwLFAuanN4KShmbix7bmFtZToic3BhcmsiLHNpemU6MTV9KX0pfWZ1bmN0aW9uIGk2KHtwYXRoOmV9KXtjb25zdCB0PW5mLnVzZVJlZihudWxsKSxbYSxpXT1uZi51c2VTdGF0ZSgwKSxvPWUucmVwbGFjZSgvXFwvZywiLyIpLnJlcGxhY2UoL1wvJC8sIiIpLGM9by5sYXN0SW5kZXhPZigiLyIpLGQ9Yz49MD9vLnNsaWNlKDAsYysxKToiIixmPWM+PTA/by5zbGljZShjKzEpOm8sbT1BcnJheS5mcm9tKG8pLnJlZHVjZSgoZyxiKT0+ZytiLmNoYXJDb2RlQXQoMCksMCklMTIwMDtuZi51c2VMYXlvdXRFZmZlY3QoKCk9Pntjb25zdCBnPXQuY3VycmVudDtpZighZylyZXR1cm47Y29uc3QgYj0oKT0+e2NvbnN0IHc9Zy5maXJzdEVsZW1lbnRDaGlsZDtpKE1hdGgubWF4KDAsKHc/LnNjcm9sbFdpZHRoPz8wKS1nLmNsaWVudFdpZHRoKSl9LHk9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpLEM9dHlwZW9mIFJlc2l6ZU9ic2VydmVyPiJ1Ij9udWxsOm5ldyBSZXNpemVPYnNlcnZlcihiKTtyZXR1cm4gQz8ub2JzZXJ2ZShnKSwoKT0+e2NhbmNlbEFuaW1hdGlvbkZyYW1lKHkpLEM/LmRpc2Nvbm5lY3QoKX19LFtvXSk7Y29uc3QgaD1NYXRoLm1heCg0LjgsYS8yOCk7cmV0dXJuIGU/KDAsUC5qc3gpKCJzcGFuIix7cmVmOnQsY2xhc3NOYW1lOnhuKCJzZXNzaW9uLXBhdGgiLCJ0YWlsLW1hcnF1ZWUtcGF0aCIsYT4xJiYiaXMtb3ZlcmZsb3dpbmciKSx0aXRsZTplLCJhcmlhLWxhYmVsIjplLHN0eWxlOnsiLS10YWlsLW1hcnF1ZWUtc2hpZnQiOmAke2F9cHhgLCItLXRhaWwtbWFycXVlZS1kdXJhdGlvbiI6YCR7TWF0aC5taW4oOCxoKX1zYCwiLS10YWlsLW1hcnF1ZWUtZGVsYXkiOmAkezEuOCttLzFlM31zYH0sY2hpbGRyZW46KDAsUC5qc3hzKSgic3BhbiIse2NsYXNzTmFtZToidGFpbC1tYXJxdWVlLXBhdGgtaW5uZXIiLGNoaWxkcmVuOlsoMCxQLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRhaWwtbWFycXVlZS1wcmVmaXgiLGNoaWxkcmVuOmR9KSwoMCxQLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRhaWwtbWFycXVlZS1sZWFmIixjaGlsZHJlbjpmfSldfSl9KTpudWxsfWZ1bmN0aW9uIFY5KHtlbnRyeTplLG1hbmFnZU1vZGU6dCxkaXNwYXRjaDphfSl7Y29uc3QgaT1yNihlLHQpLG89ZS5zb3VyY2U9PT0iY2xhdWRlLWhpc3RvcnkifHxlLnNvdXJjZT09PSJjb2RleC1oaXN0b3J5IixjPWUuc291cmNlPT09ImNvZGV4LWhpc3RvcnkiPyJjb2RleCI6ImNsYXVkZSIsZD1vP3toaXN0b3J5SWQ6ZS5pZCxjd2Q6ZS5jd2R9OntzZXNzaW9uSWQ6ZS5pZH0sZj0oKT0+e2EoaS5wcmltYXJ5KX0sbT1xOShlKSxoPSFvJiYoZS5wZXJtaXNzaW9uQmxvY2tlZHx8ZS5pbkZsaWdodHx8WyJydW5uaW5nIiwidGhpbmtpbmciLCJ3YWl0aW5nLWlucHV0Iiwid2FpdGluZ19pbnB1dCIsInJlY29ubmVjdGluZyJdLmluY2x1ZGVzKGUuc3RhdHVzKSksZz1lLnBlcm1pc3Npb25CbG9ja2VkfHxbIndhaXRpbmctaW5wdXQiLCJ3YWl0aW5nX2lucHV0IiwicmVjb25uZWN0aW5nIl0uaW5jbHVkZXMoZS5zdGF0dXMpO3JldHVybigwLFAuanN4cykoImRpdiIse2NsYXNzTmFtZTp4bigic2Vzc2lvbi1pdGVtIixvJiYibm9uLXdhbmQtc2Vzc2lvbiIsZS5hY3RpdmUmJiJhY3RpdmUiLHQmJmUuc2VsZWN0ZWQmJiJzZWxlY3RlZCIsdCYmInNlc3Npb24tbWFuYWdpbmciLGgmJiJzdGF0dXMtcHJvbWluZW50IixnJiYic3RhdHVzLXByb21pbmVudC13YXJuaW5nIiksImRhdGEtc2Vzc2lvbi1pZCI6bz92b2lkIDA6ZS5pZCwiZGF0YS1jbGF1ZGUtaGlzdG9yeS1pZCI6bz9lLmlkOnZvaWQgMCwiZGF0YS1wcm92aWRlciI6bz9jOnZvaWQgMCwiZGF0YS1jd2QiOm8/ZS5jd2Q6dm9pZCAwLHJvbGU6ImJ1dHRvbiIsdGFiSW5kZXg6MCwiYXJpYS1jdXJyZW50IjplLmFjdGl2ZT8icGFnZSI6dm9pZCAwLG9uQ2xpY2s6ZixvbktleURvd246Yj0+e2IudGFyZ2V0PT09Yi5jdXJyZW50VGFyZ2V0JiYoYi5rZXkhPT0iRW50ZXIiJiZiLmtleSE9PSIgInx8KGIucHJldmVudERlZmF1bHQoKSxmKCkpKX0sY2hpbGRyZW46WyF0JiYhbyYmaS5kZWxldGUmJigwLFAuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJzZXNzaW9uLXN3aXBlLWJnIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjooMCxQLmpzeHMpKCJidXR0b24iLHtjbGFzc05hbWU6InNlc3Npb24tc3dpcGUtZGVsZXRlIiwiZGF0YS1hY3Rpb24iOiJzd2lwZS1kZWxldGUtc2Vzc2lvbiIsImRhdGEtc2Vzc2lvbi1pZCI6ZS5pZCx0eXBlOiJidXR0b24iLHRhYkluZGV4Oi0xLCJhcmlhLWxhYmVsIjoiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIixvbkNsaWNrOmI9PntiLnN0b3BQcm9wYWdhdGlvbigpLGEoaS5kZWxldGUpfSxjaGlsZHJlbjpbKDAsUC5qc3gpKGZuLHtuYW1lOiJ0cmFzaCIsc2l6ZToxOH0pLCgwLFAuanN4KSgic3BhbiIse2NoaWxkcmVuOiJcdTUyMjBcdTk2NjQifSldfSl9KSwoMCxQLmpzeCkoImRpdiIse2NsYXNzTmFtZToic2Vzc2lvbi1pdGVtLWNvbnRlbnQiLGNoaWxkcmVuOigwLFAuanN4cykoImRpdiIse2NsYXNzTmFtZToic2Vzc2lvbi1pdGVtLXJvdyIsY2hpbGRyZW46W3QmJigwLFAuanN4KSh6OSx7ZW50cnk6ZSxkaXNwYXRjaDphfSksKDAsUC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJzZXNzaW9uLW1haW4iLGNoaWxkcmVuOlsoMCxQLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6InNlc3Npb24tdGl0bGUtcm93IixjaGlsZHJlbjpbKDAsUC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJzZXNzaW9uLWxlYWRpbmctc2xvdCIsY2hpbGRyZW46KDAsUC5qc3gpKFU5LHtlbnRyeTplfSl9KSwoMCxQLmpzeCkoImRpdiIse2NsYXNzTmFtZTp4bihvPyJzZXNzaW9uLWNvbW1hbmQgY2xhdWRlLWhpc3RvcnktcHJldmlldyI6InNlc3Npb24tdGl0bGUiLGUudGl0bGVHZW5lcmF0aW5nJiYidGl0bGUtZ2VuZXJhdGluZyIpLCJhcmlhLWJ1c3kiOmUudGl0bGVHZW5lcmF0aW5nfHx2b2lkIDAsY2hpbGRyZW46ZS50aXRsZX0pXX0pLGUuZGVzY3JpcHRpb24mJigwLFAuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJzZXNzaW9uLWRlc2NyaXB0aW9uIixjaGlsZHJlbjplLmRlc2NyaXB0aW9ufSksKDAsUC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJzZXNzaW9uLW1ldGEiLGNoaWxkcmVuOlsoMCxQLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InNlc3Npb24tbGVhZGluZy1zbG90IHNlc3Npb24tdGltZSIsY2hpbGRyZW46bX0pLG8/KDAsUC5qc3hzKShQLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUC5qc3hzKSgic3BhbiIse2NsYXNzTmFtZToic2Vzc2lvbi1jb250ZXh0IHNlc3Npb24tY29udGV4dC1yZWNvdmVyYWJsZSIsY2hpbGRyZW46WygwLFAuanN4KShmbix7bmFtZToiaGlzdG9yeSIsc2l6ZToxMX0pLCJcdTUzRUZcdTYwNjJcdTU5MEQiXX0pLCgwLFAuanN4KShpNix7cGF0aDplLmN3ZH0pXX0pOigwLFAuanN4cykoUC5GcmFnbWVudCx7Y2hpbGRyZW46WygwLFAuanN4KSgic3BhbiIse2NsYXNzTmFtZTp4bigic2Vzc2lvbi1zdGF0dXMiLGUucGVybWlzc2lvbkJsb2NrZWQ/InBlcm1pc3Npb24tYmxvY2tlZCI6ZS5pbkZsaWdodD8icnVubmluZyI6ZS5zdGF0dXMpLGNoaWxkcmVuOmUuc3RhdHVzTGFiZWx9KSwoMCxQLmpzeCkoaTYse3BhdGg6ZS5jd2R9KSwoMCxQLmpzeCkoSDkse2VudHJ5OmV9KV19KV19KV19KSwhdCYmKDAsUC5qc3hzKSgic3BhbiIse2NsYXNzTmFtZToic2Vzc2lvbi1hY3Rpb25zIixjaGlsZHJlbjpbaS5yZXN1bWUmJigwLFAuanN4KShhZix7YWN0aW9uOmkucmVzdW1lLGRpc3BhdGNoOmEsYWN0aW9uTmFtZTpvP2Uuc291cmNlPT09ImNvZGV4LWhpc3RvcnkiPyJyZXN1bWUtY29kZXgtaGlzdG9yeSI6InJlc3VtZS1oaXN0b3J5IjoicmVzdW1lIixsYWJlbDpvP2BcdTYwNjJcdTU5MERcdTZCNjQgJHtjPT09ImNvZGV4Ij8iQ29kZXgiOiJDbGF1ZGUifSBcdTRGMUFcdThCRERgOiJcdTYwNjJcdTU5MERcdTRGMUFcdThCREQiLGljb246InJlc3VtZSIsZGF0YTpkfSksaS5tZXJnZSYmKDAsUC5qc3gpKGFmLHthY3Rpb246aS5tZXJnZSxkaXNwYXRjaDphLGFjdGlvbk5hbWU6Indvcmt0cmVlLW1lcmdlIixsYWJlbDoiXHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGIixpY29uOiJtZXJnZSIsY2xhc3NOYW1lOiJtZXJnZS1idG4iLGRpc2FibGVkOmUuc3RhdHVzPT09InJ1bm5pbmcifHxlLndvcmt0cmVlPy5tZXJnZVN0YXR1cz09PSJtZXJnaW5nIixkYXRhOmR9KSxpLmNsZWFudXAmJigwLFAuanN4KShhZix7YWN0aW9uOmkuY2xlYW51cCxkaXNwYXRjaDphLGFjdGlvbk5hbWU6Indvcmt0cmVlLWNsZWFudXAiLGxhYmVsOiJcdTkxQ0RcdThCRDVcdTZFMDVcdTc0MDYgd29ya3RyZWUiLGljb246ImNsZWFudXAiLGNsYXNzTmFtZToibWVyZ2UtYnRuIixkYXRhOmR9KSxpLmRlbGV0ZSYmKDAsUC5qc3gpKGFmLHthY3Rpb246aS5kZWxldGUsZGlzcGF0Y2g6YSxhY3Rpb25OYW1lOm8/ZS5zb3VyY2U9PT0iY29kZXgtaGlzdG9yeSI/ImRlbGV0ZS1jb2RleC1oaXN0b3J5IjoiZGVsZXRlLWhpc3RvcnkiOiJkZWxldGUtc2Vzc2lvbiIsbGFiZWw6Ilx1NTIyMFx1OTY2NFx1NEYxQVx1OEJERCIsaWNvbjoidHJhc2giLGNsYXNzTmFtZToiZGVsZXRlLWJ0biIsZGF0YTpkfSldfSldfSl9KV19KX1mdW5jdGlvbiBHOSh7Z3JvdXA6ZSxtYW5hZ2VNb2RlOnQsZGlzcGF0Y2g6YX0pe2lmKGUuZW50cmllcy5sZW5ndGg9PT0wKXJldHVybiBudWxsO2NvbnN0IGk9KDAsUC5qc3gpKCJzZWN0aW9uIix7Y2xhc3NOYW1lOnhuKCJzZXNzaW9uLWdyb3VwIixlLmtpbmQ9PT0iYXV0b21hdGlvbiImJiJhdXRvbWF0aW9uLXNlc3Npb24tbGlzdCIsZS5raW5kPT09Imhpc3RvcnkiJiYibm9uLXdhbmQtc2Vzc2lvbi1saXN0IiksY2hpbGRyZW46ZS5lbnRyaWVzLm1hcChjPT4oMCxQLmpzeCkoVjkse2VudHJ5OmMsbWFuYWdlTW9kZTp0LGRpc3BhdGNoOmF9LGAke2Muc291cmNlfToke2MuaWR9YCkpfSk7aWYoZS5raW5kPT09IndhbmQiKXJldHVybiBpO2NvbnN0IG89ZS5raW5kPT09ImF1dG9tYXRpb24iO3JldHVybigwLFAuanN4cykoImRldGFpbHMiLHtjbGFzc05hbWU6eG4obz8iYXV0b21hdGlvbi1zZXNzaW9uLWdyb3VwIjoibm9uLXdhbmQtc2Vzc2lvbi1ncm91cCIsdCYmIm1hbmFnZS1tb2RlIiksb3Blbjp0fHxlLmV4cGFuZGVkLG9uVG9nZ2xlOmM9Pnt0fHxhKHt0eXBlOiJsYXlvdXQuZHJhd2VyLmdyb3VwLnNldCIsZ3JvdXA6bz8iYXV0b21hdGlvbiI6Imhpc3RvcnkiLGV4cGFuZGVkOmMuY3VycmVudFRhcmdldC5vcGVufSl9LGNoaWxkcmVuOlsoMCxQLmpzeHMpKCJzdW1tYXJ5Iix7Y2xhc3NOYW1lOm8/ImF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5Ijoibm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5Iix0aXRsZTpvPyJcdTc1MzFcdTgxRUFcdTUyQThcdTUzMTZcdTYyMTZcdTU0MkZcdTUyQThcdTRFRkJcdTUyQTFcdTUyMUJcdTVFRkFcdUZGMENcdTRFMERcdTUzQzJcdTRFMEVcdTY2NkVcdTkwMUEgV2FuZCBcdTRGMUFcdThCRERcdTYzOTJcdTVFOEYiOiJDbGF1ZGUgXHU0RTBFIENvZGV4IFx1NzY4NFx1NjcyQ1x1NjczQVx1NTM5Rlx1NzUxRlx1NEYxQVx1OEJERFx1RkYwQ1x1NEUwRFx1NTNDMlx1NEUwRSBXYW5kIFx1NEYxQVx1OEJERFx1NjM5Mlx1NUU4RiIsb25DbGljazp0P2M9PmMucHJldmVudERlZmF1bHQoKTp2b2lkIDAsY2hpbGRyZW46WygwLFAuanN4KSgic3BhbiIse2NsYXNzTmFtZTpvPyJhdXRvbWF0aW9uLXNlc3Npb24taWNvbiI6Im5vbi13YW5kLXNlc3Npb24taWNvbiIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46KDAsUC5qc3gpKGZuLHtuYW1lOm8/InNwYXJrIjoiaGlzdG9yeSJ9KX0pLCgwLFAuanN4KSgic3BhbiIse2NsYXNzTmFtZTpvPyJhdXRvbWF0aW9uLXNlc3Npb24tdGl0bGUiOiJub24td2FuZC1zZXNzaW9uLXRpdGxlIixjaGlsZHJlbjplLmxhYmVsfSksKDAsUC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOm8/ImF1dG9tYXRpb24tc2Vzc2lvbi1jb3VudCI6Im5vbi13YW5kLXNlc3Npb24tY291bnQiLCJhcmlhLWxhYmVsIjpgJHtlLmVudHJpZXMubGVuZ3RofSBcdTRFMkFcdTRGMUFcdThCRERgLGNoaWxkcmVuOmUuZW50cmllcy5sZW5ndGh9KSwoMCxQLmpzeCkoZm4se25hbWU6ImNoZXZyb24iLGNsYXNzTmFtZTpvPyJhdXRvbWF0aW9uLXNlc3Npb24tY2hldnJvbiI6Im5vbi13YW5kLXNlc3Npb24tY2hldnJvbiJ9KV19KSxpXX0pfWZ1bmN0aW9uIFk5KHttYW5hZ2VNb2RlOmUsc2VsZWN0ZWRDb3VudDp0LHRvdGFsQ291bnQ6YSxkaXNwYXRjaDppfSl7aWYoIWUpcmV0dXJuKDAsUC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJzZXNzaW9uLW1hbmFnZS1iYXIiLGNoaWxkcmVuOlsoMCxQLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InNpZGViYXItaW50cm8iLGNoaWxkcmVuOiJXYW5kIFx1NEYxQVx1OEJERCJ9KSwoMCxQLmpzeCkoImJ1dHRvbiIse2NsYXNzTmFtZToiYnRuIGJ0bi1naG9zdCBidG4teHMgc2Vzc2lvbi1tYW5hZ2UtdG9nZ2xlIiwiZGF0YS1hY3Rpb24iOiJ0b2dnbGUtbWFuYWdlLW1vZGUiLHR5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+e2koe3R5cGU6InNlc3Npb24ubWFuYWdlLnRvZ2dsZSJ9KX0sY2hpbGRyZW46KDAsUC5qc3gpKCJzcGFuIix7Y2hpbGRyZW46Ilx1N0JBMVx1NzQwNiJ9KX0pXX0pO2NvbnN0IG89YT4wJiZ0Pj1hO3JldHVybigwLFAuanN4cykoImRpdiIse2NsYXNzTmFtZToic2Vzc2lvbi1tYW5hZ2UtYmFyIGFjdGl2ZSIsY2hpbGRyZW46WygwLFAuanN4KSgiYnV0dG9uIix7Y2xhc3NOYW1lOiJzZXNzaW9uLW1hbmFnZS1leGl0IiwiZGF0YS1hY3Rpb24iOiJ0b2dnbGUtbWFuYWdlLW1vZGUiLHR5cGU6ImJ1dHRvbiIsImFyaWEtbGFiZWwiOiJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiLHRpdGxlOiJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiLG9uQ2xpY2s6KCk9PntpKHt0eXBlOiJzZXNzaW9uLm1hbmFnZS50b2dnbGUifSl9LGNoaWxkcmVuOigwLFAuanN4KShmbix7bmFtZToiY2xvc2UifSl9KSwoMCxQLmpzeCkoImRpdiIse2NsYXNzTmFtZToic2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeSIsY2hpbGRyZW46dD4wPygwLFAuanN4cykoUC5GcmFnbWVudCx7Y2hpbGRyZW46WygwLFAuanN4KSgic3BhbiIse2NsYXNzTmFtZToic2Vzc2lvbi1tYW5hZ2UtY291bnQiLGNoaWxkcmVuOnR9KSwoMCxQLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InNlc3Npb24tbWFuYWdlLXN1bW1hcnktbGFiZWwiLGNoaWxkcmVuOiJcdTVERjJcdTkwMDlcdTYyRTkifSldfSk6KDAsUC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5LWxhYmVsIG11dGVkIixjaGlsZHJlbjoiXHU5MDA5XHU2MkU5XHU4OTgxXHU3QkExXHU3NDA2XHU3Njg0XHU5ODc5XHU3NkVFIn0pfSksKDAsUC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJzZXNzaW9uLW1hbmFnZS1hY3Rpb25zIixjaGlsZHJlbjpbKDAsUC5qc3gpKCJidXR0b24iLHtjbGFzc05hbWU6ImJ0biBidG4tZ2hvc3QgYnRuLXhzIiwiZGF0YS1hY3Rpb24iOm8/ImNsZWFyLXNlbGVjdGlvbiI6InNlbGVjdC1hbGwtdmlzaWJsZSIsdHlwZToiYnV0dG9uIixkaXNhYmxlZDphPT09MCxvbkNsaWNrOigpPT57aSh7dHlwZTpvPyJzZXNzaW9uLm1hbmFnZS5jbGVhciI6InNlc3Npb24ubWFuYWdlLnNlbGVjdEFsbCJ9KX0sY2hpbGRyZW46bz8iXHU1M0Q2XHU2RDg4XHU1MTY4XHU5MDA5IjoiXHU1MTY4XHU5MDA5In0pLCgwLFAuanN4cykoImJ1dHRvbiIse2NsYXNzTmFtZToiYnRuIGJ0bi1kYW5nZXIgYnRuLXhzIiwiZGF0YS1hY3Rpb24iOiJkZWxldGUtc2VsZWN0ZWQiLHR5cGU6ImJ1dHRvbiIsZGlzYWJsZWQ6dD09PTAsb25DbGljazooKT0+e2koe3R5cGU6InNlc3Npb24ubWFuYWdlLmRlbGV0ZVNlbGVjdGVkIn0pfSxjaGlsZHJlbjpbIlx1NTIyMFx1OTY2NCIsdD4wP2AgJHt0fWA6IiJdfSldfSldfSl9ZnVuY3Rpb24gVzkoe2dyb3VwczplLGRpc3BhdGNoOnR9KXtjb25zdCBhPWUuZmluZChjPT5jLmtpbmQ9PT0id2FuZCIpPy5lbnRyaWVzPz9bXSxpPWUuZmluZChjPT5jLmtpbmQ9PT0iYXV0b21hdGlvbiIpPy5lbnRyaWVzPz9bXSxvPWUuZmluZChjPT5jLmtpbmQ9PT0iaGlzdG9yeSIpPy5lbnRyaWVzPz9bXTtyZXR1cm4oMCxQLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6InNpZGViYXItY29sbGFwc2VkLXRpbGVzIixjaGlsZHJlbjpbYS5tYXAoKGMsZCk9PigwLFAuanN4KSgiYnV0dG9uIix7Y2xhc3NOYW1lOnhuKCJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIixjLmFjdGl2ZSYmImFjdGl2ZSIpLHR5cGU6ImJ1dHRvbiIsImRhdGEtY29sbGFwc2VkLXNlc3Npb24taWQiOmMuaWQsdGl0bGU6Yy50aXRsZSxvbkNsaWNrOigpPT57dCh7dHlwZToic2Vzc2lvbi5zZWxlY3QiLGlkOmMuaWR9KX0sY2hpbGRyZW46ZCsxfSxjLmlkKSksaS5sZW5ndGg+MCYmKDAsUC5qc3hzKSgiYnV0dG9uIix7Y2xhc3NOYW1lOnhuKCJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIGF1dG9tYXRpb24tY291bnQtdGlsZSIsaS5zb21lKGM9PmMuYWN0aXZlKSYmImFjdGl2ZS1ncm91cCIpLHR5cGU6ImJ1dHRvbiIsImRhdGEtZXhwYW5kLXNlc3Npb24tZ3JvdXAiOiJhdXRvbWF0aW9uIix0aXRsZTpgXHU1QzU1XHU1RjAwXHU2N0U1XHU3NzBCICR7aS5sZW5ndGh9IFx1NEUyQVx1ODFFQVx1NTJBOFx1NTMxNlx1NEYxQVx1OEJERGAsImFyaWEtbGFiZWwiOmBcdTVDNTVcdTVGMDBcdTY3RTVcdTc3MEIgJHtpLmxlbmd0aH0gXHU0RTJBXHU4MUVBXHU1MkE4XHU1MzE2XHU0RjFBXHU4QkREYCxvbkNsaWNrOigpPT57dCh7dHlwZToibGF5b3V0LmRyYXdlci5leHBhbmRHcm91cCIsZ3JvdXA6ImF1dG9tYXRpb24ifSl9LGNoaWxkcmVuOlsoMCxQLmpzeCkoZm4se25hbWU6InNwYXJrIixzaXplOjE2fSksKDAsUC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJub24td2FuZC1jb3VudC1iYWRnZSIsY2hpbGRyZW46aS5sZW5ndGg+OTk/Ijk5KyI6aS5sZW5ndGh9KV19KSxvLmxlbmd0aD4wJiYoMCxQLmpzeHMpKCJidXR0b24iLHtjbGFzc05hbWU6InNpZGViYXItY29sbGFwc2VkLXRpbGUgbm9uLXdhbmQtY291bnQtdGlsZSIsdHlwZToiYnV0dG9uIiwiZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cCI6Im5vbi13YW5kIix0aXRsZTpgXHU1QzU1XHU1RjAwXHU2N0U1XHU3NzBCICR7by5sZW5ndGh9IFx1NEUyQVx1OTc1RSBXYW5kIFx1NEYxQVx1OEJERGAsImFyaWEtbGFiZWwiOmBcdTVDNTVcdTVGMDBcdTY3RTVcdTc3MEIgJHtvLmxlbmd0aH0gXHU0RTJBXHU5NzVFIFdhbmQgXHU0RjFBXHU4QkREYCxvbkNsaWNrOigpPT57dCh7dHlwZToibGF5b3V0LmRyYXdlci5leHBhbmRHcm91cCIsZ3JvdXA6Imhpc3RvcnkifSl9LGNoaWxkcmVuOlsoMCxQLmpzeCkoZm4se25hbWU6Imhpc3RvcnkiLHNpemU6MTZ9KSwoMCxQLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6Im5vbi13YW5kLWNvdW50LWJhZGdlIixjaGlsZHJlbjpvLmxlbmd0aD45OT8iOTkrIjpvLmxlbmd0aH0pXX0pLCgwLFAuanN4KSgiYnV0dG9uIix7Y2xhc3NOYW1lOiJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIGFkZCIsdHlwZToiYnV0dG9uIiwiZGF0YS1jb2xsYXBzZWQtbmV3LXNlc3Npb24iOiIxIix0aXRsZToiXHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREIiwiYXJpYS1sYWJlbCI6Ilx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERCIsb25DbGljazooKT0+e3Qoe3R5cGU6InNlc3Npb24ubmV3In0pfSxjaGlsZHJlbjooMCxQLmpzeCkoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjoiXHVGRjBCIn0pfSldfSl9ZnVuY3Rpb24gSzkoKXtjb25zdCBlPWdsKCksdD10ZigpLFthLGldPW5mLnVzZVN0YXRlKCExKSxvPWUubGF5b3V0LnNpZGViYXJQaW5uZWQmJmUubGF5b3V0LnNpZGViYXJDb2xsYXBzZWQsYz14bigic2lkZWJhciIsZS5sYXlvdXQuc2Vzc2lvbnNEcmF3ZXJPcGVuJiYib3BlbiIsZS5sYXlvdXQuc2lkZWJhckFuY2hvcmVkJiYicGlubmVkIixvJiYiY29sbGFwc2VkIik7cmV0dXJuKDAsUC5qc3hzKShQLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUC5qc3gpKCJkaXYiLHtpZDoic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIixjbGFzc05hbWU6eG4oImRyYXdlci1iYWNrZHJvcCIsZS5sYXlvdXQuc2Vzc2lvbnNCYWNrZHJvcFZpc2libGUmJiJvcGVuIiksImFyaWEtaGlkZGVuIjoidHJ1ZSIsb25DbGljazooKT0+e3Qoe3R5cGU6ImxheW91dC5kcmF3ZXIuY2xvc2UifSl9fSksKDAsUC5qc3hzKSgiYXNpZGUiLHtpZDoic2Vzc2lvbnMtZHJhd2VyIixjbGFzc05hbWU6YywiYXJpYS1sYWJlbCI6Ilx1NEYxQVx1OEJERFx1NEZBN1x1NjgwRiIsY2hpbGRyZW46WygwLFAuanN4cykoImRpdiIse2NsYXNzTmFtZToic2lkZWJhci1oZWFkZXIiLGNoaWxkcmVuOlsoMCxQLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6InNpZGViYXItaGVhZGVyLW1haW4iLGNoaWxkcmVuOlsoMCxQLmpzeCkoImRpdiIse2NsYXNzTmFtZToidG9wYmFyLWxvZ28taWNvbiIsY2hpbGRyZW46IlcifSksKDAsUC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJzaWRlYmFyLXRpdGxlIixjaGlsZHJlbjoiXHU0RjFBXHU4QkREIn0pLCgwLFAuanN4KSgic3BhbiIse2NsYXNzTmFtZToic2Vzc2lvbi1jb3VudCIsaWQ6InNlc3Npb24tY291bnQiLGNoaWxkcmVuOmUuc2lkZWJhci5pbnRlcmFjdGl2ZUNvdW50fSldfSksKDAsUC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJzaWRlYmFyLWhlYWRlci1hY3Rpb25zIixjaGlsZHJlbjpbKDAsUC5qc3gpKCJkaXYiLHtjbGFzc05hbWU6InNpZGViYXItaGVhZGVyLW1vcmUiLGNoaWxkcmVuOigwLFAuanN4cykocWIse29wZW46YSxvbk9wZW5DaGFuZ2U6aSxhbGlnbjoiZW5kIixzaWRlT2Zmc2V0OjYscG9ydGFsbGVkOiExLGZvcmNlTW91bnQ6ITAsc2hvd0Fycm93OiExLGNvbnRlbnRJZDoic2lkZWJhci1vdmVyZmxvdy1tZW51Iixjb250ZW50Um9sZToibWVudSIsYXJpYUxhYmVsOiJcdTRGQTdcdTY4MEZcdTY2RjRcdTU5MUFcdTY0Q0RcdTRGNUMiLGNsYXNzTmFtZTp4bigic2lkZWJhci1oZWFkZXItb3ZlcmZsb3ciLCJ3YW5kLXNoZWxsLW1lbnUtcG9wb3ZlciIsYSYmIm9wZW4iKSx0cmlnZ2VyOigwLFAuanN4KSgiYnV0dG9uIix7aWQ6InNpZGViYXItbW9yZS1idG4iLGNsYXNzTmFtZToiYnRuIGJ0bi1naG9zdCBidG4tc20iLHR5cGU6ImJ1dHRvbiIsdGl0bGU6Ilx1NjZGNFx1NTkxQVx1NjRDRFx1NEY1QyIsImFyaWEtaGFzcG9wdXAiOiJtZW51IiwiYXJpYS1leHBhbmRlZCI6YSwiYXJpYS1jb250cm9scyI6InNpZGViYXItb3ZlcmZsb3ctbWVudSIsY2hpbGRyZW46KDAsUC5qc3gpKGZuLHtuYW1lOiJtb3JlIn0pfSksY2hpbGRyZW46WygwLFAuanN4KSgiYnV0dG9uIix7Y2xhc3NOYW1lOiJvdmVyZmxvdy1pdGVtIixpZDoic2lkZWJhci1ob21lLWJ0biIsdHlwZToiYnV0dG9uIixyb2xlOiJtZW51aXRlbSIsb25DbGljazooKT0+e2koITEpLHQoe3R5cGU6Im5hdi5ob21lIn0pfSxjaGlsZHJlbjooMCxQLmpzeCkoInNwYW4iLHtjaGlsZHJlbjoiXHU1NkRFXHU1MjMwXHU5OTk2XHU5ODc1In0pfSksKDAsUC5qc3gpKCJidXR0b24iLHtjbGFzc05hbWU6Im92ZXJmbG93LWl0ZW0iLGlkOiJzaWRlYmFyLXJlZnJlc2gtYnRuIix0eXBlOiJidXR0b24iLHJvbGU6Im1lbnVpdGVtIixvbkNsaWNrOigpPT57aSghMSksdCh7dHlwZToibmF2LnJlZnJlc2gifSl9LGNoaWxkcmVuOigwLFAuanN4KSgic3BhbiIse2NoaWxkcmVuOiJcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjIifSl9KV19KX0pLCgwLFAuanN4KSgiYnV0dG9uIix7aWQ6InNpZGViYXItcGluLWJ0biIsY2xhc3NOYW1lOnhuKCJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLXBpbi10b2dnbGUiLGUubGF5b3V0LnNpZGViYXJQaW5uZWQmJiJwaW5uZWQiKSx0eXBlOiJidXR0b24iLHRpdGxlOmUubGF5b3V0LnNpZGViYXJQaW5uZWQ/Ilx1NURGMlx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3Qlx1RkYwOFx1NzBCOVx1NTFGQlx1ODlFM1x1OTY2NFx1OTUwMVx1NUI5QVx1RkYwOSI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIsImFyaWEtbGFiZWwiOmUubGF5b3V0LnNpZGViYXJQaW5uZWQ/Ilx1ODlFM1x1OTY2NFx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3QiI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIsImFyaWEtcHJlc3NlZCI6ZS5sYXlvdXQuc2lkZWJhclBpbm5lZCxvbkNsaWNrOigpPT57dCh7dHlwZToibGF5b3V0LmRyYXdlci5waW4ifSl9LGNoaWxkcmVuOigwLFAuanN4KShmbix7bmFtZToicGluIn0pfSksKDAsUC5qc3gpKCJidXR0b24iLHtpZDoic2lkZWJhci1jb2xsYXBzZS1idG4iLGNsYXNzTmFtZTp4bigiYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1jb2xsYXBzZS10b2dnbGUiLG8mJiJjb2xsYXBzZWQiKSx0eXBlOiJidXR0b24iLHRpdGxlOm8/Ilx1NUM1NVx1NUYwMFx1NEUzQVx1NTE2OFx1NUMzQVx1NUJGOCI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIsImFyaWEtbGFiZWwiOm8/Ilx1NUM1NVx1NUYwMFx1NEUzQVx1NTE2OFx1NUMzQVx1NUJGOCI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIsb25DbGljazooKT0+e3Qoe3R5cGU6ImxheW91dC5kcmF3ZXIuY29sbGFwc2UifSl9LGNoaWxkcmVuOigwLFAuanN4KShmbix7bmFtZToiY2hldnJvbiJ9KX0pLCgwLFAuanN4KSgiYnV0dG9uIix7aWQ6ImNsb3NlLWRyYXdlci1idXR0b24iLGNsYXNzTmFtZToiYnRuIGJ0bi1naG9zdCBidG4taWNvbiBzaWRlYmFyLWNsb3NlIGRyYXdlci1jbG9zZS1idG4iLHR5cGU6ImJ1dHRvbiIsImFyaWEtbGFiZWwiOiJcdTUxNzNcdTk1RURcdTgzRENcdTUzNTUiLG9uQ2xpY2s6KCk9Pnt0KHt0eXBlOiJsYXlvdXQuZHJhd2VyLmNsb3NlIn0pfSxjaGlsZHJlbjooMCxQLmpzeCkoZm4se25hbWU6ImNsb3NlIn0pfSldfSldfSksKDAsUC5qc3gpKCJkaXYiLHtjbGFzc05hbWU6InNpZGViYXItYm9keSIsY2hpbGRyZW46KDAsUC5qc3gpKCJkaXYiLHtpZDoic2Vzc2lvbnMtcGFuZWwiLGNoaWxkcmVuOigwLFAuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJzZXNzaW9ucy1saXN0IixpZDoic2Vzc2lvbnMtbGlzdCIsY2hpbGRyZW46bz8oMCxQLmpzeCkoVzkse2dyb3VwczplLnNpZGViYXIuZ3JvdXBzLGRpc3BhdGNoOnR9KTooMCxQLmpzeHMpKFAuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxQLmpzeCkoWTkse21hbmFnZU1vZGU6ZS5zaWRlYmFyLm1hbmFnZU1vZGUsc2VsZWN0ZWRDb3VudDplLnNpZGViYXIuc2VsZWN0ZWRDb3VudCx0b3RhbENvdW50OmUuc2lkZWJhci50b3RhbENvdW50LGRpc3BhdGNoOnR9KSxlLnNpZGViYXIudG90YWxDb3VudD09PTA/KDAsUC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJlbXB0eS1zdGF0ZSIsY2hpbGRyZW46WygwLFAuanN4KSgic3Ryb25nIix7Y2hpbGRyZW46Ilx1OEZEOFx1NkNBMVx1NjcwOVx1NEYxQVx1OEJERFx1OEJCMFx1NUY1NSJ9KSwoMCxQLmpzeCkoImJyIix7fSksIlx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMiJdfSk6ZS5zaWRlYmFyLmdyb3Vwcy5tYXAoZD0+KDAsUC5qc3gpKEc5LHtncm91cDpkLG1hbmFnZU1vZGU6ZS5zaWRlYmFyLm1hbmFnZU1vZGUsZGlzcGF0Y2g6dH0sZC5raW5kKSldfSl9KX0pfSksKDAsUC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJzaWRlYmFyLWZvb3RlciIsY2hpbGRyZW46WygwLFAuanN4cykoImJ1dHRvbiIse2lkOiJkcmF3ZXItbmV3LXNlc3Npb24tYnV0dG9uIixjbGFzc05hbWU6ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siLHR5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+e3Qoe3R5cGU6InNlc3Npb24ubmV3In0pfSxjaGlsZHJlbjpbKDAsUC5qc3gpKCJzcGFuIix7Y2hpbGRyZW46IisifSksIiBcdTY1QjBcdTRGMUFcdThCREQiXX0pLCgwLFAuanN4cykoImRpdiIse2NsYXNzTmFtZToic2lkZWJhci1mb290ZXItYWN0aW9ucyIsY2hpbGRyZW46WygwLFAuanN4cykoImJ1dHRvbiIse2lkOiJmaWxlLXBhbmVsLXRvZ2dsZS1idG4iLGNsYXNzTmFtZTp4bigiYnRuIGJ0bi1naG9zdCBidG4tc20iLGUubGF5b3V0LmZpbGVQYW5lbE9wZW4mJiJhY3RpdmUiKSx0eXBlOiJidXR0b24iLHRpdGxlOiJcdTY3RTVcdTc3MEJcdTY1ODdcdTRFRjYiLG9uQ2xpY2s6KCk9Pnt0KHt0eXBlOiJsYXlvdXQuZmlsZXMudG9nZ2xlIn0pfSxjaGlsZHJlbjpbKDAsUC5qc3gpKGZuLHtuYW1lOiJmaWxlIixzaXplOjE2fSksKDAsUC5qc3gpKCJzcGFuIix7Y2hpbGRyZW46Ilx1NjU4N1x1NEVGNiJ9KV19KSwoMCxQLmpzeHMpKCJidXR0b24iLHtpZDoic2V0dGluZ3MtYnV0dG9uIixjbGFzc05hbWU6ImJ0biBidG4tZ2hvc3QgYnRuLXNtIix0eXBlOiJidXR0b24iLHRpdGxlOiJcdThCQkVcdTdGNkUiLG9uQ2xpY2s6KCk9Pnt0KHt0eXBlOiJzZXR0aW5ncy5vcGVuIn0pfSxjaGlsZHJlbjpbKDAsUC5qc3gpKGZuLHtuYW1lOiJnZWFyIixzaXplOjE2fSksKDAsUC5qc3gpKCJzcGFuIix7Y2hpbGRyZW46Ilx1OEJCRVx1N0Y2RSJ9KV19KSxlLmNhcGFiaWxpdGllcy5iYWNrVG9OYXRpdmUmJigwLFAuanN4cykoImJ1dHRvbiIse2lkOiJiYWNrLXRvLW5hdGl2ZS1idXR0b24iLGNsYXNzTmFtZToiYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1iYWNrLXRvLW5hdGl2ZSIsdHlwZToiYnV0dG9uIix0aXRsZToiXHU4RkQ0XHU1NkRFIEFwcCBcdTUzOUZcdTc1MUZcdTc1NENcdTk3NjIiLG9uQ2xpY2s6KCk9Pnt0KHt0eXBlOiJuYXRpdmUuYmFjayJ9KX0sY2hpbGRyZW46WygwLFAuanN4KShmbix7bmFtZToiYmFjayIsc2l6ZToxNn0pLCgwLFAuanN4KSgic3BhbiIse2NoaWxkcmVuOiJcdThGRDRcdTU2REVBcHAifSldfSksZS5jYXBhYmlsaXRpZXMuc3dpdGNoU2VydmVyJiYoMCxQLmpzeHMpKCJidXR0b24iLHtpZDoic3dpdGNoLXNlcnZlci1idXR0b24iLGNsYXNzTmFtZToiYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1zd2l0Y2gtc2VydmVyIix0eXBlOiJidXR0b24iLHRpdGxlOiJcdTUyMDdcdTYzNjJcdTY3MERcdTUyQTFcdTU2NjgiLG9uQ2xpY2s6KCk9Pnt0KHt0eXBlOiJuYXRpdmUuc3dpdGNoU2VydmVyIn0pfSxjaGlsZHJlbjpbKDAsUC5qc3gpKGZuLHtuYW1lOiJzZXJ2ZXIiLHNpemU6MTZ9KSwoMCxQLmpzeCkoInNwYW4iLHtjaGlsZHJlbjoiXHU1MjA3XHU2MzYyIn0pXX0pLCgwLFAuanN4cykoImJ1dHRvbiIse2lkOiJsb2dvdXQtYnV0dG9uIixjbGFzc05hbWU6ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItbG9nb3V0Iix0eXBlOiJidXR0b24iLHRpdGxlOiJcdTkwMDBcdTUxRkFcdTc2N0JcdTVGNTUiLG9uQ2xpY2s6KCk9Pnt0KHt0eXBlOiJhdXRoLmxvZ291dCJ9KX0sY2hpbGRyZW46WygwLFAuanN4KShmbix7bmFtZToibG9nb3V0IixzaXplOjE2fSksKDAsUC5qc3gpKCJzcGFuIix7Y2hpbGRyZW46Ilx1OTAwMFx1NTFGQSJ9KV19KV19KV19KV19KV19KX12YXIgQ2U9bGUocWUoKSwxKTtmdW5jdGlvbiBqaSguLi5lKXtyZXR1cm4gZS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpfWZ1bmN0aW9uIHJmKHtuYW1lOmUsc2l6ZTp0PTE2fSl7Y29uc3QgYT17d2lkdGg6dCxoZWlnaHQ6dCx2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoyLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLCJhcmlhLWhpZGRlbiI6ITB9O3N3aXRjaChlKXtjYXNlImNvcHkiOnJldHVybigwLENlLmpzeHMpKCJzdmciLHsuLi5hLGNoaWxkcmVuOlsoMCxDZS5qc3gpKCJyZWN0Iix7eDoiOSIseToiOSIsd2lkdGg6IjEzIixoZWlnaHQ6IjEzIixyeDoiMiJ9KSwoMCxDZS5qc3gpKCJwYXRoIix7ZDoiTTUgMTVINGEyIDIgMCAwMS0yLTJWNGEyIDIgMCAwMTItMmg5YTIgMiAwIDAxMiAydjEifSldfSk7Y2FzZSJmaWxlIjpyZXR1cm4oMCxDZS5qc3gpKCJzdmciLHsuLi5hLGNoaWxkcmVuOigwLENlLmpzeCkoInBhdGgiLHtkOiJNMjIgMTlhMiAyIDAgMDEtMiAySDRhMiAyIDAgMDEtMi0yVjVhMiAyIDAgMDEyLTJoNWwyIDNoOWEyIDIgMCAwMTIgMnoifSl9KTtjYXNlImdpdCI6cmV0dXJuKDAsQ2UuanN4cykoInN2ZyIsey4uLmEsY2xhc3NOYW1lOiJ0b3BiYXItZ2l0LWljb24iLGNoaWxkcmVuOlsoMCxDZS5qc3gpKCJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjIifSksKDAsQ2UuanN4KSgiY2lyY2xlIix7Y3g6IjYiLGN5OiIxOCIscjoiMiJ9KSwoMCxDZS5qc3gpKCJjaXJjbGUiLHtjeDoiMTgiLGN5OiI5IixyOiIyIn0pLCgwLENlLmpzeCkoInBhdGgiLHtkOiJNNiA4djhNMTggMTF2MWEzIDMgMCAwMS0zIDNIOSJ9KV19KTtjYXNlImhhc2giOnJldHVybigwLENlLmpzeCkoInN2ZyIsey4uLmEsY2hpbGRyZW46KDAsQ2UuanN4KSgicGF0aCIse2Q6Ik00IDloMTZNNCAxNWgxNk0xMCAzTDggMjFNMTYgM2wtMiAxOCJ9KX0pO2Nhc2UibWVyZ2UiOnJldHVybigwLENlLmpzeCkoInN2ZyIsey4uLmEsY2hpbGRyZW46KDAsQ2UuanN4KSgicGF0aCIse2Q6Ik03IDdoMTBNNyAxMmgxME03IDE3aDEwTTUgN0wzIDlsMiAyTTE5IDE1bDIgMi0yIDIifSl9KTtjYXNlIm1vcmUiOnJldHVybigwLENlLmpzeHMpKCJzdmciLHsuLi5hLGNoaWxkcmVuOlsoMCxDZS5qc3gpKCJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIxIn0pLCgwLENlLmpzeCkoImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn0pLCgwLENlLmpzeCkoImNpcmNsZSIse2N4OiIxMiIsY3k6IjE5IixyOiIxIn0pXX0pO2Nhc2UidHJhc2giOnJldHVybigwLENlLmpzeCkoInN2ZyIsey4uLmEsY2hpbGRyZW46KDAsQ2UuanN4KSgicGF0aCIse2Q6Ik0zIDZoMThNOCA2VjRoOHYyTTE5IDZsLTEgMTRINkw1IDYifSl9KX19ZnVuY3Rpb24gVW8oe2FjdGlvbjplLGFjdGlvbk5hbWU6dCxsYWJlbDphLGljb246aSxkYW5nZXI6byxkaXNhYmxlZDpjLG9uQWN0aW9uOmR9KXtyZXR1cm4oMCxDZS5qc3hzKSgiYnV0dG9uIix7Y2xhc3NOYW1lOmppKCJ0b3BiYXItbW9yZS1pdGVtIixvJiYidG9wYmFyLW1vcmUtaXRlbS1kYW5nZXIiKSwiZGF0YS1hY3Rpb24iOnQsdHlwZToiYnV0dG9uIixyb2xlOiJtZW51aXRlbSIsZGlzYWJsZWQ6YyxvbkNsaWNrOigpPT5kKGUpLGNoaWxkcmVuOlsoMCxDZS5qc3gpKHJmLHtuYW1lOmksc2l6ZToxNH0pLCgwLENlLmpzeCkoInNwYW4iLHtjaGlsZHJlbjphfSldfSl9ZnVuY3Rpb24gUTkoKXtjb25zdCBlPWdsKCksdD10ZigpLGE9ZS5zZWxlY3RlZCxpPWUubGF5b3V0LnRvcGJhck1vcmVPcGVuLG89YT9yNihhLCExKTpudWxsLGM9KCk9PntlLmxheW91dC5maWxlUGFuZWxPcGVufHx0KHt0eXBlOiJsYXlvdXQuZmlsZXMudG9nZ2xlIn0pfSxkPWY9PntpJiZ0KHt0eXBlOiJ0b3BiYXIubWVudS50b2dnbGUifSksdChmKX07cmV0dXJuKDAsQ2UuanN4cykoImRpdiIse2NsYXNzTmFtZToibWFpbi1oZWFkZXItcm93IixjaGlsZHJlbjpbKDAsQ2UuanN4cykoImRpdiIse2NsYXNzTmFtZToidG9wYmFyLWxlZnQiLGNoaWxkcmVuOlsoMCxDZS5qc3gpKCJidXR0b24iLHtpZDoic2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIsY2xhc3NOYW1lOmppKCJmbG9hdGluZy1zaWRlYmFyLXRvZ2dsZSIsZS5sYXlvdXQuc2Vzc2lvbnNEcmF3ZXJPcGVuJiYiYWN0aXZlIiksImFyaWEtbGFiZWwiOiJcdTUyMDdcdTYzNjJcdTRGMUFcdThCRERcdTRGQTdcdTY4MEYiLHR5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+e3Qoe3R5cGU6ImxheW91dC5kcmF3ZXIudG9nZ2xlIn0pfSxjaGlsZHJlbjooMCxDZS5qc3hzKSgic3BhbiIse2NsYXNzTmFtZToiaGFtYnVyZ2VyLWljb24iLGNoaWxkcmVuOlsoMCxDZS5qc3gpKCJzcGFuIix7fSksKDAsQ2UuanN4KSgic3BhbiIse30pLCgwLENlLmpzeCkoInNwYW4iLHt9KV19KX0pLCgwLENlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRvcGJhci1icmFuZCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46IlcifSldfSksKDAsQ2UuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ0b3BiYXItY2VudGVyIixjaGlsZHJlbjphPygwLENlLmpzeHMpKENlLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQ2UuanN4KSgic3BhbiIse2NsYXNzTmFtZTpqaSgidG9wYmFyLXNlc3Npb24tdGl0bGUiLGUudG9wYmFyLnRpdGxlR2VuZXJhdGluZyYmInRpdGxlLWdlbmVyYXRpbmciKSx0aXRsZTplLnRvcGJhci5kZXNjcmlwdGlvbnx8YS50aXRsZSwiYXJpYS1idXN5IjplLnRvcGJhci50aXRsZUdlbmVyYXRpbmd8fHZvaWQgMCxjaGlsZHJlbjplLnRvcGJhci50aXRsZX0pLCgwLENlLmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOmppKCJzZXNzaW9uLXN0YXR1cy1waWxsIixlLnRvcGJhci5zdGF0dXNUb25lKSx0aXRsZTplLnRvcGJhci5zdGF0dXNMYWJlbCxjaGlsZHJlbjpbKDAsQ2UuanN4KSgic3BhbiIse2NsYXNzTmFtZToic2Vzc2lvbi1zdGF0dXMtZG90In0pLCgwLENlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InNlc3Npb24tc3RhdHVzLXRleHQiLGNoaWxkcmVuOmUudG9wYmFyLnN0YXR1c0xhYmVsfSldfSksKDAsQ2UuanN4KSgic3BhbiIse2NsYXNzTmFtZTpqaSgiY3VycmVudC10YXNrIiwhZS50b3BiYXIuY3VycmVudFRhc2smJiJoaWRkZW4iKSxpZDoiY3VycmVudC10YXNrIix0aXRsZTplLnRvcGJhci5jdXJyZW50VGFza3x8dm9pZCAwLGNoaWxkcmVuOmUudG9wYmFyLmN1cnJlbnRUYXNrfSksZS50b3BiYXIuY3dkJiYoMCxDZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0b3BiYXItY3dkIHRhaWwtbWFycXVlZS1wYXRoIixpZDoidG9wYmFyLWN3ZCIscm9sZToiYnV0dG9uIix0YWJJbmRleDowLHRpdGxlOmUudG9wYmFyLmN3ZCxvbkNsaWNrOmMsb25LZXlEb3duOmY9PntmLmtleSE9PSJFbnRlciImJmYua2V5IT09IiAifHwoZi5wcmV2ZW50RGVmYXVsdCgpLGMoKSl9LGNoaWxkcmVuOigwLENlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRhaWwtbWFycXVlZS1wYXRoLWlubmVyIixjaGlsZHJlbjplLnRvcGJhci5jd2R9KX0pXX0pOigwLENlLmpzeHMpKENlLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQ2UuanN4KSgic3BhbiIse2NsYXNzTmFtZToidG9wYmFyLXRhZ2xpbmUiLGNoaWxkcmVuOmUudG9wYmFyLnRpdGxlfHwiV2FuZCBcdTYzQTdcdTUyMzZcdTUzRjAifSksKDAsQ2UuanN4KSgic3BhbiIse2NsYXNzTmFtZToiY3VycmVudC10YXNrIGhpZGRlbiIsaWQ6ImN1cnJlbnQtdGFzayJ9KV19KX0pLCgwLENlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6InRvcGJhci1yaWdodCIsY2hpbGRyZW46WygwLENlLmpzeCkoImJ1dHRvbiIse2lkOiJ0b3BiYXItZmlsZS1idXR0b24iLGNsYXNzTmFtZTpqaSgidG9wYmFyLWJ0biBzcXVhcmUiLGUubGF5b3V0LmZpbGVQYW5lbE9wZW4mJiJhY3RpdmUiKSx0eXBlOiJidXR0b24iLCJhcmlhLWxhYmVsIjoiXHU2NTg3XHU0RUY2Iix0aXRsZToiXHU2N0U1XHU3NzBCXHU2NTg3XHU0RUY2XHVGRjA4XHU1M0VGXHU0RkVFXHU2NTM5XHU4REVGXHU1Rjg0XHVGRjA5IixvbkNsaWNrOigpPT57dCh7dHlwZToibGF5b3V0LmZpbGVzLnRvZ2dsZSJ9KX0sY2hpbGRyZW46KDAsQ2UuanN4KShyZix7bmFtZToiZmlsZSJ9KX0pLCgwLENlLmpzeCkoInNwYW4iLHtpZDoidG9wYmFyLWdpdC1zbG90IixjbGFzc05hbWU6InRvcGJhci1naXQtc2xvdCIsY2hpbGRyZW46ZS50b3BiYXIuZ2l0JiYoMCxDZS5qc3hzKSgiYnV0dG9uIix7aWQ6InRvcGJhci1naXQtYmFkZ2UiLGNsYXNzTmFtZToidG9wYmFyLWdpdC1iYWRnZSIsdHlwZToiYnV0dG9uIix0aXRsZTpgJHtlLnRvcGJhci5naXQuYnJhbmNofSAgXHhCNyAgJHtlLnRvcGJhci5naXQuY2xlYW4/Ilx1NURFNVx1NEY1Q1x1NTMzQVx1NUU3Mlx1NTFDMCI6YCR7ZS50b3BiYXIuZ2l0Lm1vZGlmaWVkQ291bnR9IFx1NEUyQVx1NjU4N1x1NEVGNlx1NUY4NVx1NjNEMFx1NEVBNGB9YCwiYXJpYS1sYWJlbCI6Ilx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNCIsb25DbGljazooKT0+e3Qoe3R5cGU6InRvcGJhci5naXRDb21taXQifSl9LGNoaWxkcmVuOlsoMCxDZS5qc3gpKHJmLHtuYW1lOiJnaXQiLHNpemU6MTR9KSwoMCxDZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0b3BiYXItZ2l0LWJyYW5jaCIsY2hpbGRyZW46ZS50b3BiYXIuZ2l0LmJyYW5jaH0pLGUudG9wYmFyLmdpdC5jbGVhbj8oMCxDZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0b3BiYXItZ2l0LWNsZWFuIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjoiXHUyNzEzIn0pOigwLENlLmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0b3BiYXItZ2l0LWNvdW50IixjaGlsZHJlbjpbIlx4QjciLGUudG9wYmFyLmdpdC5tb2RpZmllZENvdW50XX0pXX0pfSksYSYmKDAsQ2UuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ0b3BiYXItbW9yZS13cmFwIixjaGlsZHJlbjooMCxDZS5qc3hzKShxYix7b3BlbjppLG9uT3BlbkNoYW5nZTpmPT57ZiE9PWkmJnQoe3R5cGU6InRvcGJhci5tZW51LnRvZ2dsZSJ9KX0sYWxpZ246ImVuZCIsc2lkZU9mZnNldDo2LHBvcnRhbGxlZDohMSxmb3JjZU1vdW50OiEwLHNob3dBcnJvdzohMSxjb250ZW50SWQ6InRvcGJhci1tb3JlLW1lbnUiLGNvbnRlbnRSb2xlOiJtZW51IixhcmlhTGFiZWw6Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERCIsY2xhc3NOYW1lOmppKCJ0b3BiYXItbW9yZS1tZW51Iiwid2FuZC1zaGVsbC1tZW51LXBvcG92ZXIiLCFpJiYiaGlkZGVuIiksdHJpZ2dlcjooMCxDZS5qc3gpKCJidXR0b24iLHtpZDoidG9wYmFyLW1vcmUtYnV0dG9uIixjbGFzc05hbWU6amkoInRvcGJhci1idG4gc3F1YXJlIixpJiYiYWN0aXZlIiksdHlwZToiYnV0dG9uIiwiYXJpYS1sYWJlbCI6Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NjRDRFx1NEY1QyIsImFyaWEtaGFzcG9wdXAiOiJtZW51IiwiYXJpYS1leHBhbmRlZCI6aSwiYXJpYS1jb250cm9scyI6InRvcGJhci1tb3JlLW1lbnUiLHRpdGxlOiJcdTVGNTNcdTUyNERcdTRGMUFcdThCRERcdTY0Q0RcdTRGNUMiLGNoaWxkcmVuOigwLENlLmpzeCkocmYse25hbWU6Im1vcmUifSl9KSxjaGlsZHJlbjpbYS5jbGF1ZGVTZXNzaW9uSWQmJigwLENlLmpzeCkoVW8se2FjdGlvbjp7dHlwZToidG9wYmFyLmNvcHkiLGZpZWxkOiJwcm92aWRlclNlc3Npb25JZCJ9LGFjdGlvbk5hbWU6ImNvcHktY2xhdWRlLXNlc3Npb24taWQiLGxhYmVsOmEucHJvdmlkZXI9PT0iY29kZXgiPyJcdTU5MERcdTUyMzYgQ29kZXggdGhyZWFkIElEIjphLnByb3ZpZGVyPT09Im9wZW5jb2RlIj8iXHU1OTBEXHU1MjM2IE9wZW5Db2RlIHNlc3Npb24gSUQiOiJcdTU5MERcdTUyMzYgQ2xhdWRlIFx1NEYxQVx1OEJERCBJRCIsaWNvbjoiY29weSIsb25BY3Rpb246ZH0pLGEuY3dkJiYoMCxDZS5qc3gpKFVvLHthY3Rpb246e3R5cGU6InRvcGJhci5jb3B5IixmaWVsZDoiY3dkIn0sYWN0aW9uTmFtZToiY29weS1jd2QiLGxhYmVsOiJcdTU5MERcdTUyMzZcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTUiLGljb246ImZpbGUiLG9uQWN0aW9uOmR9KSwoMCxDZS5qc3gpKFVvLHthY3Rpb246e3R5cGU6InRvcGJhci5jb3B5IixmaWVsZDoic2Vzc2lvbklkIn0sYWN0aW9uTmFtZToiY29weS1zZXNzaW9uLWlkIixsYWJlbDoiXHU1OTBEXHU1MjM2XHU0RjFBXHU4QkREIElEIixpY29uOiJoYXNoIixvbkFjdGlvbjpkfSksKDAsQ2UuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJ0b3BiYXItbW9yZS1kaXZpZGVyIixyb2xlOiJzZXBhcmF0b3IifSksbz8ubWVyZ2UmJigwLENlLmpzeCkoVW8se2FjdGlvbjpvLm1lcmdlLGFjdGlvbk5hbWU6Indvcmt0cmVlLW1lcmdlIixsYWJlbDoiXHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGXHUyMDI2IixpY29uOiJtZXJnZSIsZGlzYWJsZWQ6YS5zdGF0dXM9PT0icnVubmluZyJ8fGEud29ya3RyZWU/Lm1lcmdlU3RhdHVzPT09Im1lcmdpbmciLG9uQWN0aW9uOmR9KSxvPy5jbGVhbnVwJiYoMCxDZS5qc3gpKFVvLHthY3Rpb246by5jbGVhbnVwLGFjdGlvbk5hbWU6Indvcmt0cmVlLWNsZWFudXAiLGxhYmVsOiJcdTkxQ0RcdThCRDUgd29ya3RyZWUgXHU2RTA1XHU3NDA2IixpY29uOiJtZXJnZSIsb25BY3Rpb246ZH0pLG8/LmRlbGV0ZSYmKDAsQ2UuanN4KShVbyx7YWN0aW9uOm8uZGVsZXRlLGFjdGlvbk5hbWU6ImRlbGV0ZS1zZXNzaW9uIixsYWJlbDoiXHU1MjIwXHU5NjY0XHU1RjUzXHU1MjREXHU0RjFBXHU4QkREIixpY29uOiJ0cmFzaCIsZGFuZ2VyOiEwLG9uQWN0aW9uOmR9KV19KX0pXX0pXX0pfXZhciBWZT1sZShxZSgpLDEpO2Z1bmN0aW9uIFg5KGUpe3JldHVybnt0ZXJtaW5hbDpgdGVybWluYWwtY29udGFpbmVyICR7ZS50ZXJtaW5hbD8iYWN0aXZlIjoiaGlkZGVuIn1gLGNoYXQ6YGNoYXQtY29udGFpbmVyICR7ZS5jaGF0PyJhY3RpdmUiOiJoaWRkZW4ifWAsYmxhbms6YGJsYW5rLWNoYXQke2UuYmxhbms/IiI6IiBoaWRkZW4ifWAsY29tcG9zZXI6YGlucHV0LXBhbmVsJHtlLmNvbXBvc2VyPyIiOiIgaGlkZGVuIn1gfX1mdW5jdGlvbiAkOShlKXtzd2l0Y2goZSl7Y2FzZSJjbGF1ZGUiOnJldHVybnt0eXBlOiJzZXNzaW9uLnF1aWNrU3RhcnQuY2xhdWRlIn07Y2FzZSJjb2RleCI6cmV0dXJue3R5cGU6InNlc3Npb24ucXVpY2tTdGFydC5jb2RleCJ9O2Nhc2Uib3BlbmNvZGUiOnJldHVybnt0eXBlOiJzZXNzaW9uLnF1aWNrU3RhcnQub3BlbmNvZGUifTtjYXNlInN0cnVjdHVyZWQiOnJldHVybnt0eXBlOiJzZXNzaW9uLnF1aWNrU3RhcnQuc3RydWN0dXJlZCJ9fX1mdW5jdGlvbiB1Zih7bmFtZTplLHNpemU6dH0pe2NvbnN0IGE9e3dpZHRoOnQsaGVpZ2h0OnQsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6MS44LHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLCJhcmlhLWhpZGRlbiI6ITB9O3N3aXRjaChlKXtjYXNlImNoYXQiOnJldHVybigwLFZlLmpzeCkoInN2ZyIsey4uLmEsY2hpbGRyZW46KDAsVmUuanN4KSgicGF0aCIse2Q6Ik0yMSAxNWE0IDQgMCAwMS00IDRIOGwtNSAzVjdhNCA0IDAgMDE0LTRoMTBhNCA0IDAgMDE0IDR6In0pfSk7Y2FzZSJjaGV2cm9uLWRvd24iOnJldHVybigwLFZlLmpzeCkoInN2ZyIsey4uLmEsc3Ryb2tlV2lkdGg6MixjaGlsZHJlbjooMCxWZS5qc3gpKCJwYXRoIix7ZDoiTTYgOWw2IDYgNi02In0pfSk7Y2FzZSJmb2xkZXIiOnJldHVybigwLFZlLmpzeCkoInN2ZyIsey4uLmEsY2hpbGRyZW46KDAsVmUuanN4KSgicGF0aCIse2Q6Ik0yMiAxOWEyIDIgMCAwMS0yIDJINGEyIDIgMCAwMS0yLTJWNWEyIDIgMCAwMTItMmg1bDIgM2g5YTIgMiAwIDAxMiAyeiJ9KX0pO2Nhc2UidGVybWluYWwiOnJldHVybigwLFZlLmpzeCkoInN2ZyIsey4uLmEsY2hpbGRyZW46KDAsVmUuanN4KSgicGF0aCIse2Q6Ik00IDE3bDYtNS02LTVNMTIgMTloOCJ9KX0pfX1mdW5jdGlvbiBaOSh7Y2xhc3NOYW1lOmUsY3dkOnQscXVldWVSZWY6YX0pe2NvbnN0IGk9dGYoKSxvPWQ9PntpKCQ5KGQpKX0sYz0oKT0+e2koe3R5cGU6ImZvbGRlclBpY2tlci5vcGVuIn0pfTtyZXR1cm4oMCxWZS5qc3hzKSgiZGl2Iix7aWQ6ImJsYW5rLWNoYXQiLGNsYXNzTmFtZTplLGNoaWxkcmVuOlsoMCxWZS5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJibGFuay1jaGF0LWlubmVyIixjaGlsZHJlbjpbKDAsVmUuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJibGFuay1jaGF0LWxvZ28iLGNoaWxkcmVuOiJXIn0pLCgwLFZlLmpzeCkoImgyIix7Y2xhc3NOYW1lOiJibGFuay1jaGF0LXRpdGxlIixjaGlsZHJlbjoiV2FuZCJ9KSwoMCxWZS5qc3gpKCJwIix7Y2xhc3NOYW1lOiJibGFuay1jaGF0LXN1YnRpdGxlIixjaGlsZHJlbjoiXHU2NTJGXHU2MzAxXHU3RUM4XHU3QUVGIFBUWSBcdTRGMUFcdThCRERcdTRFMEVcdTdFRDNcdTY3ODRcdTUzMTYgY2hhdCBcdTRGMUFcdThCRERcdUZGMENcdTRFMjRcdTc5Q0RcdTZBMjFcdTVGMEZcdTUzRUZcdTVFNzZcdTVCNThcdTMwMDIifSksKDAsVmUuanN4cykoImRpdiIse2NsYXNzTmFtZToiYmxhbmstY2hhdC10b29scyIsY2hpbGRyZW46WygwLFZlLmpzeHMpKCJidXR0b24iLHtjbGFzc05hbWU6ImJsYW5rLWNoYXQtdG9vbC1idG4iLGlkOiJ3ZWxjb21lLXRvb2wtY2xhdWRlIix0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9Pm8oImNsYXVkZSIpLGNoaWxkcmVuOlsoMCxWZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0b29sLWljb24iLGNoaWxkcmVuOigwLFZlLmpzeCkodWYse25hbWU6InRlcm1pbmFsIixzaXplOjE2fSl9KSwiXHU2NUIwXHU1RUZBXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREIl19KSwoMCxWZS5qc3hzKSgiYnV0dG9uIix7Y2xhc3NOYW1lOiJibGFuay1jaGF0LXRvb2wtYnRuIixpZDoid2VsY29tZS10b29sLWNvZGV4Iix0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9Pm8oImNvZGV4IiksY2hpbGRyZW46WygwLFZlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRvb2wtaWNvbiB0b29sLWljb24tdGV4dCIsY2hpbGRyZW46Ilx1MjMxOCJ9KSwiXHU2NUIwXHU1RUZBIENvZGV4IFx1NEYxQVx1OEJERCJdfSksKDAsVmUuanN4cykoImJ1dHRvbiIse2NsYXNzTmFtZToiYmxhbmstY2hhdC10b29sLWJ0biIsaWQ6IndlbGNvbWUtdG9vbC1vcGVuY29kZSIsdHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT5vKCJvcGVuY29kZSIpLGNoaWxkcmVuOlsoMCxWZS5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0b29sLWljb24gdG9vbC1pY29uLXRleHQiLGNoaWxkcmVuOiJPQyJ9KSwiXHU2NUIwXHU1RUZBIE9wZW5Db2RlIFx1NEYxQVx1OEJERCJdfSksKDAsVmUuanN4cykoImJ1dHRvbiIse2NsYXNzTmFtZToiYmxhbmstY2hhdC10b29sLWJ0biIsaWQ6IndlbGNvbWUtdG9vbC1zdHJ1Y3R1cmVkIix0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9Pm8oInN0cnVjdHVyZWQiKSxjaGlsZHJlbjpbKDAsVmUuanN4KSgic3BhbiIse2NsYXNzTmFtZToidG9vbC1pY29uIixjaGlsZHJlbjooMCxWZS5qc3gpKHVmLHtuYW1lOiJjaGF0IixzaXplOjE2fSl9KSwiXHU2NUIwXHU1RUZBXHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREIl19KV19KSwoMCxWZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6ImJsYW5rLWNoYXQtY3dkLXdyYXAiLGNoaWxkcmVuOigwLFZlLmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6ImJsYW5rLWNoYXQtY3dkIixpZDoiYmxhbmstY2hhdC1jd2QiLHJvbGU6ImJ1dHRvbiIsdGFiSW5kZXg6MCwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyIsdGl0bGU6YFx1NUY1M1x1NTI0RFx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1RkYxQSR7dH1gLG9uQ2xpY2s6YyxvbktleURvd246ZD0+e2Qua2V5IT09IkVudGVyIiYmZC5rZXkhPT0iICJ8fChkLnByZXZlbnREZWZhdWx0KCksYygpKX0sY2hpbGRyZW46WygwLFZlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImJsYW5rLWNoYXQtY3dkLWljb24iLGNoaWxkcmVuOigwLFZlLmpzeCkodWYse25hbWU6ImZvbGRlciIsc2l6ZToxM30pfSksKDAsVmUuanN4KSgic3BhbiIse2NsYXNzTmFtZToiYmxhbmstY2hhdC1jd2QtcGF0aCB0YWlsLW1hcnF1ZWUtcGF0aCIsaWQ6ImJsYW5rLWNoYXQtY3dkLXBhdGgiLHRpdGxlOnQsY2hpbGRyZW46KDAsVmUuanN4KSgic3BhbiIse2NsYXNzTmFtZToidGFpbC1tYXJxdWVlLXBhdGgtaW5uZXIiLGNoaWxkcmVuOnR9KX0pLCgwLFZlLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImJsYW5rLWNoYXQtY3dkLWFycm93IixpZDoiYmxhbmstY2hhdC1jd2QtYXJyb3ciLGNoaWxkcmVuOigwLFZlLmpzeCkodWYse25hbWU6ImNoZXZyb24tZG93biIsc2l6ZToxMX0pfSldfSl9KV19KSwoMCxWZS5qc3gpKCJkaXYiLHtpZDoiY3Jvc3Mtc2Vzc2lvbi1xdWV1ZS1ob3N0IixyZWY6YX0pXX0pfWZ1bmN0aW9uIEo5KHtsZWdhY3lSZWZzOmV9PXt9KXtjb25zdCB0PWdsKCksYT1YOSh0LmxlZ2FjeVZpc2liaWxpdHkpLGk9dC50b3BiYXIuY3dkfHwiLyI7cmV0dXJuKDAsVmUuanN4cykoIm1haW4iLHtjbGFzc05hbWU6YG1haW4tY29udGVudCR7dC5sYXlvdXQuZmlsZVBhbmVsT3Blbj8iIGZpbGUtcGFuZWwtb3BlbiI6IiJ9YCxjaGlsZHJlbjpbKDAsVmUuanN4KShROSx7fSksKDAsVmUuanN4KShMOSx7ZXhwbG9yZXJSZWY6ZT8uZmlsZUV4cGxvcmVyfSksKDAsVmUuanN4KSgiZGl2Iix7aWQ6Im91dHB1dCIsY2xhc3NOYW1lOmEudGVybWluYWwscmVmOmU/LnRlcm1pbmFsfSksKDAsVmUuanN4KSgiZGl2Iix7aWQ6ImNoYXQtb3V0cHV0IixjbGFzc05hbWU6YS5jaGF0LHJlZjplPy5jaGF0fSksKDAsVmUuanN4KShaOSx7Y2xhc3NOYW1lOmEuYmxhbmssY3dkOmkscXVldWVSZWY6ZT8uY3Jvc3NTZXNzaW9uUXVldWV9KSwoMCxWZS5qc3gpKCJkaXYiLHtjbGFzc05hbWU6YS5jb21wb3NlcixyZWY6ZT8uY29tcG9zZXJ9KV19KX12YXIgVm89bGUocWUoKSwxKTtmdW5jdGlvbiBlVChlKXtjb25zdCB0PVsibWFpbi1sYXlvdXQiXTtyZXR1cm4gZS5zZXNzaW9uc0RyYXdlck9wZW4mJnQucHVzaCgic2lkZWJhci1vcGVuIiksZS5zaWRlYmFyQW5jaG9yZWQmJnQucHVzaCgic2lkZWJhci1waW5uZWQiKSxlLnNpZGViYXJQaW5uZWQmJmUuc2lkZWJhckNvbGxhcHNlZCYmdC5wdXNoKCJzaWRlYmFyLWNvbGxhcHNlZCIpLHQuam9pbigiICIpfWZ1bmN0aW9uIHRUKHtsZWdhY3lSZWZzOmV9PXt9KXtjb25zdCB0PWdsKCk7cmV0dXJuKDAsVm8uanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJhcHAtY29udGFpbmVyIixjaGlsZHJlbjooMCxWby5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOmVUKHQubGF5b3V0KSxjaGlsZHJlbjpbKDAsVm8uanN4KShLOSx7fSksKDAsVm8uanN4KShKOSx7bGVnYWN5UmVmczplfSldfSl9KX1mdW5jdGlvbiBuVCh7c3RvcmU6ZSxsZWdhY3lSZWZzOnR9KXtyZXR1cm4oMCxWby5qc3gpKFI5LHtzdG9yZTplLGNoaWxkcmVuOigwLFZvLmpzeCkodFQse2xlZ2FjeVJlZnM6dH0pfSl9ZnVuY3Rpb24gSm0oZSx0PW5ldyBNYXApe2lmKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCIpcmV0dXJuIGU7Y29uc3QgYT10LmdldChlKTtpZihhIT09dm9pZCAwKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoZSkpe2NvbnN0IG89W107dC5zZXQoZSxvKTtmb3IoY29uc3QgYyBvZiBlKW8ucHVzaChKbShjLHQpKTtyZXR1cm4gb31jb25zdCBpPXt9O3Quc2V0KGUsaSk7Zm9yKGNvbnN0W28sY11vZiBPYmplY3QuZW50cmllcyhlKSlpW29dPUptKGMsdCk7cmV0dXJuIGl9ZnVuY3Rpb24gdTYoZSx0PW5ldyBTZXQpe2lmKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCJ8fHQuaGFzKGUpKXJldHVybiBlO3QuYWRkKGUpO2Zvcihjb25zdCBhIG9mIE9iamVjdC52YWx1ZXMoZSkpdTYoYSx0KTtyZXR1cm4gT2JqZWN0LmZyZWV6ZShlKX1mdW5jdGlvbiBvNihlLHQsYSl7Y29uc3QgaT1KbSh7YXV0aDplLmF1dGgsdmlld3BvcnQ6ZS52aWV3cG9ydCxjYXBhYmlsaXRpZXM6ZS5jYXBhYmlsaXRpZXMsbGF5b3V0OmUubGF5b3V0LHNlbGVjdGVkOmUuc2VsZWN0ZWQsc2lkZWJhcjplLnNpZGViYXIsdG9wYmFyOmUudG9wYmFyLGxlZ2FjeVZpc2liaWxpdHk6ZS5sZWdhY3lWaXNpYmlsaXR5LHJldmlzaW9uOnR9KTtyZXR1cm4gYT91NihpKTppfWZ1bmN0aW9uIGFUKGUpe2NvbnN0IHQ9ZT8/MDtpZighTnVtYmVyLmlzRmluaXRlKHQpfHx0PDB8fHQ+MjAwKXRocm93IG5ldyBSYW5nZUVycm9yKCJiYXRjaE1zIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyMDAgbWlsbGlzZWNvbmRzIik7cmV0dXJuIHR9ZnVuY3Rpb24gclQoZSl7Y29uc3QgdD1nbG9iYWxUaGlzLnJlcG9ydEVycm9yO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXt0KGUpO3JldHVybn1jb25zb2xlLmVycm9yKCJbd2FuZC11aS1zdG9yZV0gc3Vic2NyaWJlciBmYWlsZWQiLGUpfWZ1bmN0aW9uIGlUKGUpe3JldHVybiBlIT09bnVsbCYmKHR5cGVvZiBlPT0ib2JqZWN0Inx8dHlwZW9mIGU9PSJmdW5jdGlvbiIpJiZ0eXBlb2YgZS50aGVuPT0iZnVuY3Rpb24ifXZhciB1VD1jbGFzc3tjb25zdHJ1Y3RvcihlKXtwdCh0aGlzLCJyZWFkU25hcHNob3QiKSxwdCh0aGlzLCJhcHBseUFjdGlvbiIpLHB0KHRoaXMsImJhdGNoTXMiKSxwdCh0aGlzLCJmcmVlemVTbmFwc2hvdHMiKSxwdCh0aGlzLCJsaXN0ZW5lcnMiLG5ldyBTZXQpLHB0KHRoaXMsInNuYXBzaG90IikscHQodGhpcywiZGlzcG9zZWQiLCExKSxwdCh0aGlzLCJwZW5kaW5nIiwhMSkscHQodGhpcywic2NoZWR1bGVHZW5lcmF0aW9uIiwwKSxwdCh0aGlzLCJ0aW1lciIsbnVsbCksdGhpcy5yZWFkU25hcHNob3Q9ZS5yZWFkU25hcHNob3QsdGhpcy5hcHBseUFjdGlvbj1lLmFwcGx5QWN0aW9uLHRoaXMuYmF0Y2hNcz1hVChlLmJhdGNoTXMpLHRoaXMuZnJlZXplU25hcHNob3RzPWUuZnJlZXplU25hcHNob3RzIT09ITEsdGhpcy5zbmFwc2hvdD1vNih0aGlzLnJlYWRTbmFwc2hvdCgpLDAsdGhpcy5mcmVlemVTbmFwc2hvdHMpfWdldFNuYXBzaG90KCl7cmV0dXJuIHRoaXMuc25hcHNob3R9c3Vic2NyaWJlKGUpe2lmKHRoaXMuZGlzcG9zZWQpcmV0dXJuKCk9Pnt9O3RoaXMubGlzdGVuZXJzLmFkZChlKTtsZXQgdD0hMDtyZXR1cm4oKT0+e3QmJih0PSExLHRoaXMubGlzdGVuZXJzLmRlbGV0ZShlKSl9fWRpc3BhdGNoKGUpe2lmKHRoaXMuZGlzcG9zZWQpdGhyb3cgbmV3IEVycm9yKCJVaVN0b3JlIGhhcyBiZWVuIGRpc3Bvc2VkIik7Y29uc3QgdD10aGlzLmFwcGx5QWN0aW9uKGUpO2lmKHRoaXMucHVibGlzaCh7c3luYzohMCxyZWFzb246YGFjdGlvbjoke2UudHlwZX1gfSksISFpVCh0KSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQpLnRoZW4oYT0+KHRoaXMucHVibGlzaCh7c3luYzohMCxyZWFzb246YGFjdGlvbi1zZXR0bGVkOiR7ZS50eXBlfWB9KSxhKSxhPT57dGhyb3cgdGhpcy5wdWJsaXNoKHtzeW5jOiEwLHJlYXNvbjpgYWN0aW9uLXNldHRsZWQ6JHtlLnR5cGV9YH0pLGF9KX1wdWJsaXNoKGU9e30pe2lmKHRoaXMuZGlzcG9zZWQpcmV0dXJuO2lmKGUuc3luYyl7dGhpcy5jYW5jZWxQZW5kaW5nUHVibGlzaCgpLHRoaXMuZmx1c2goKTtyZXR1cm59aWYodGhpcy5wZW5kaW5nKXJldHVybjt0aGlzLnBlbmRpbmc9ITA7Y29uc3QgdD0rK3RoaXMuc2NoZWR1bGVHZW5lcmF0aW9uO2lmKHRoaXMuYmF0Y2hNcz09PTApe3F1ZXVlTWljcm90YXNrKCgpPT50aGlzLmZsdXNoU2NoZWR1bGVkKHQpKTtyZXR1cm59dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT50aGlzLmZsdXNoU2NoZWR1bGVkKHQpLHRoaXMuYmF0Y2hNcyl9ZGlzcG9zZSgpe3RoaXMuZGlzcG9zZWR8fCh0aGlzLmRpc3Bvc2VkPSEwLHRoaXMuY2FuY2VsUGVuZGluZ1B1Ymxpc2goKSx0aGlzLmxpc3RlbmVycy5jbGVhcigpKX1pc0Rpc3Bvc2VkKCl7cmV0dXJuIHRoaXMuZGlzcG9zZWR9Zmx1c2hTY2hlZHVsZWQoZSl7dGhpcy5kaXNwb3NlZHx8IXRoaXMucGVuZGluZ3x8ZSE9PXRoaXMuc2NoZWR1bGVHZW5lcmF0aW9ufHwodGhpcy5wZW5kaW5nPSExLHRoaXMudGltZXI9bnVsbCx0aGlzLmZsdXNoKCkpfWNhbmNlbFBlbmRpbmdQdWJsaXNoKCl7dGhpcy5wZW5kaW5nPSExLHRoaXMuc2NoZWR1bGVHZW5lcmF0aW9uKz0xLHRoaXMudGltZXIhPT1udWxsJiZjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy50aW1lcj1udWxsfWZsdXNoKCl7aWYoIXRoaXMuZGlzcG9zZWQpe3RoaXMuc25hcHNob3Q9bzYodGhpcy5yZWFkU25hcHNob3QoKSx0aGlzLnNuYXBzaG90LnJldmlzaW9uKzEsdGhpcy5mcmVlemVTbmFwc2hvdHMpO2Zvcihjb25zdCBlIG9mWy4uLnRoaXMubGlzdGVuZXJzXSl0cnl7ZSgpfWNhdGNoKHQpe3JUKHQpfX19fSxvVD1jbGFzc3tjb25zdHJ1Y3RvcihlKXtwdCh0aGlzLCJzdG9yZSIpLHB0KHRoaXMsInVuc3Vic2NyaWJlTGVnYWN5IiksdGhpcy5zdG9yZT1uZXcgdVQoe3JlYWRTbmFwc2hvdDplLnJlYWRTbmFwc2hvdCxhcHBseUFjdGlvbjplLmFwcGx5QWN0aW9uLGJhdGNoTXM6ZS5iYXRjaE1zLGZyZWV6ZVNuYXBzaG90czplLmZyZWV6ZVNuYXBzaG90c30pO2NvbnN0IHQ9ZS5zdWJzY3JpYmVMZWdhY3koYT0+dGhpcy5wdWJsaXNoKHtyZWFzb246YX0pKTt0aGlzLnVuc3Vic2NyaWJlTGVnYWN5PXR5cGVvZiB0PT0iZnVuY3Rpb24iP3Q6KCk9Pnt9fWdldFNuYXBzaG90KCl7cmV0dXJuIHRoaXMuc3RvcmUuZ2V0U25hcHNob3QoKX1zdWJzY3JpYmUoZSl7cmV0dXJuIHRoaXMuc3RvcmUuc3Vic2NyaWJlKGUpfWRpc3BhdGNoKGUpe3JldHVybiB0aGlzLnN0b3JlLmRpc3BhdGNoKGUpfXB1Ymxpc2goZSl7dGhpcy5zdG9yZS5wdWJsaXNoKGUpfWRpc3Bvc2UoKXt0aGlzLnN0b3JlLmRpc3Bvc2UoKTtjb25zdCBlPXRoaXMudW5zdWJzY3JpYmVMZWdhY3k7dGhpcy51bnN1YnNjcmliZUxlZ2FjeT0oKT0+e30sZSgpfX0sc1Q9bGUocWUoKSwxKSxzNj0ib3ZlcmxheS1yb290IixsVD0id2FuZC1yZWFjdC11aS1tb3VudCIsY1Q9IndhbmQtcmVhY3QtdWktcG9ydGFscyIsZWg9bnVsbDtmdW5jdGlvbiBsNihlLHQsYSl7Y29uc3QgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTtpZihpJiZpLnBhcmVudEVsZW1lbnQ9PT1lKXJldHVybiBpO2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIG8uaWQ9dCxvLmNsYXNzTmFtZT1hLGUuYXBwZW5kQ2hpbGQobyksb31mdW5jdGlvbiBkVCgpe2NvbnN0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoczYpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5pZD1zNix0LmRhdGFzZXQud2FuZFVpUm9vdD0iIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpLHR9ZnVuY3Rpb24gZlQoKXt3aW5kb3cuX193YW5kUmVhY3RTZXR0aW5ncz1fbyx3aW5kb3cuX193YW5kUmVhY3ROZXdTZXNzaW9uPVdhLHdpbmRvdy5fX3dhbmRSZWFjdEZvbGRlclBpY2tlcj1sbix3aW5kb3cuX193YW5kUmVhY3RRdWlja0NvbW1pdD1Mbix3aW5kb3cuX193YW5kUmVhY3RXb3JrdHJlZU1lcmdlPWRuLHdpbmRvdy5fX3dhbmRSZWFjdFJlc3RhcnRPdmVybGF5PUx1LHdpbmRvdy5fX3dhbmRSZWFjdEZpbGVQcmV2aWV3PVRpfWZ1bmN0aW9uIHBUKCl7Y29uc3QgZT1kVCgpLHQ9dDEoKTtpZighZWgpe0M5KCk7Y29uc3QgYT1sNihlLGxULCJ3YW5kLXVpLW1vdW50IiksaT1sNihlLGNULCJ3YW5kLXVpLXBvcnRhbHMiKTtlaD0oMCxPQy5jcmVhdGVSb290KShhKSxlaC5yZW5kZXIoKDAsc1QuanN4KShnOSx7cG9ydGFsQ29udGFpbmVyOml9KSl9cmV0dXJuIGZUKCksZS5kYXRhc2V0LnJlYWN0VWk9dD8iZW5hYmxlZCI6ImZhbGxiYWNrIix0Pyh3aW5kb3cuX193YW5kUmVhY3RVaT1ibyxibyk6KGRlbGV0ZSB3aW5kb3cuX193YW5kUmVhY3RVaSxudWxsKX12YXIgdlQ9IndhbmQtYXV0b21hdGlvbi1zZXNzaW9ucy1leHBhbmRlZCIsbVQ9IndhbmQtbm9uLXdhbmQtc2Vzc2lvbnMtZXhwYW5kZWQiLHRoPW5ldyBTZXQ7ZnVuY3Rpb24gQ2EoZSl7Zm9yKGNvbnN0IHQgb2ZbLi4udGhdKXQoZSl9ZnVuY3Rpb24gaFQoKXtjb25zdCBlPXR5cGVvZiBXYW5kTmF0aXZlPiJ1Ij92b2lkIDA6V2FuZE5hdGl2ZTtyZXR1cm57d2lkdGg6d2luZG93LmlubmVyV2lkdGgsb25saW5lOm5hdmlnYXRvci5vbkxpbmUsZW1iZWRUZXJtaW5hbDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy13YW5kLWVtYmVkLXRlcm1pbmFsIiksbmF0aXZlSW5wdXQ6ISEod2luZG93Ll9fd2FuZEltZU5hdGl2ZXx8d2luZG93Ll9fd2FuZElvc05hdGl2ZSksYmFja1RvTmF0aXZlOnR5cGVvZiBlPy5iYWNrVG9OYXRpdmU9PSJmdW5jdGlvbiIsc3dpdGNoU2VydmVyOnR5cGVvZiBlPy5zd2l0Y2hTZXJ2ZXI9PSJmdW5jdGlvbiIsYXV0b21hdGlvbkV4cGFuZGVkOmd1KHZULCExKSxoaXN0b3J5RXhwYW5kZWQ6Z3UobVQsITEpfX1mdW5jdGlvbiBnVChlKXt0aC5hZGQoZSk7Y29uc3QgdD0oKT0+ZSgidmlld3BvcnQ6cmVzaXplIiksYT0oKT0+ZSgibmV0d29yazpvbmxpbmUiKSxpPSgpPT5lKCJuZXR3b3JrOm9mZmxpbmUiKTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsYSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLGkpLCgpPT57dGguZGVsZXRlKGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHQpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLGEpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvZmZsaW5lIixpKX19ZnVuY3Rpb24gYlQoZSx0PXt9KXtyZXR1cm4gbmV3IG9UKHtyZWFkU25hcHNob3Q6KCk9Pmo5KHMsaFQoKSksYXBwbHlBY3Rpb246YT0+TzkoZSxhKSxzdWJzY3JpYmVMZWdhY3k6Z1QsYmF0Y2hNczp0LmJhdGNoTXMsZnJlZXplU25hcHNob3RzOnQuZnJlZXplU25hcHNob3RzfSl9dmFyIG5oPW51bGwsTHI9bnVsbDtmdW5jdGlvbiB5VChlKXtpZihMcil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZXBsYWNlIGJyb3dzZXIgc2hlbGwgY29tbWFuZHMgYWZ0ZXIgbW91bnQiKTtuaD1lfWZ1bmN0aW9uIEN0KCl7cmV0dXJuIExyIT09bnVsbH1mdW5jdGlvbiB3VChlLHQpe2Zvcig7ZS5maXJzdENoaWxkOyl0LmFwcGVuZENoaWxkKGUuZmlyc3RDaGlsZCl9ZnVuY3Rpb24geFQoZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO3QuaW5uZXJIVE1MPWU7Y29uc3QgYT1be25hbWU6IkJyb3dzZXJUZXJtaW5hbFNsb3QiLHNlbGVjdG9yOiIjb3V0cHV0IixrZXk6InRlcm1pbmFsIn0se25hbWU6IkJyb3dzZXJDaGF0U2xvdCIsc2VsZWN0b3I6IiNjaGF0LW91dHB1dCIsa2V5OiJjaGF0In0se25hbWU6IkJyb3dzZXJDb21wb3NlclNsb3QiLHNlbGVjdG9yOiIuaW5wdXQtcGFuZWwiLGtleToiY29tcG9zZXIifSx7bmFtZToiQnJvd3NlckZpbGVFeHBsb3JlclNsb3QiLHNlbGVjdG9yOiIjZmlsZS1leHBsb3JlciIsa2V5OiJmaWxlRXhwbG9yZXIifSx7bmFtZToiQnJvd3NlckNyb3NzU2Vzc2lvblF1ZXVlU2xvdCIsc2VsZWN0b3I6IiNjcm9zcy1zZXNzaW9uLXF1ZXVlLWhvc3QiLGtleToiY3Jvc3NTZXNzaW9uUXVldWUifV0saT17fSxvPWEubWFwKCh7bmFtZTpjLHNlbGVjdG9yOmQsa2V5OmZ9KT0+e2NvbnN0IG09dC5jb250ZW50LnF1ZXJ5U2VsZWN0b3IoZCk7aWYoIW0pdGhyb3cgbmV3IEVycm9yKGAke2N9IHNlZWQgaXMgbWlzc2luZyAke2R9YCk7Y29uc3QgaD1uZXcgTTkoYyx7bW91bnQoZyl7d1QobSxnKX19KTtyZXR1cm4gaVtmXT1nPT57Zz9oLm1vdW50KGcpOmgudW5tb3VudCgpfSxofSk7cmV0dXJue3JlZnM6aSxob3N0czpvfX1mdW5jdGlvbiBFVChlLHQpe2lmKCFSQygpKXJldHVybiBhaCgpLCJkaXNhYmxlZCI7aWYoIW5oKXRocm93IG5ldyBFcnJvcigiQnJvd3NlciBzaGVsbCBjb21tYW5kcyB3ZXJlIG5vdCBjb25maWd1cmVkIik7aWYoTHIpe2lmKExyLmFwcCE9PWUpdGhyb3cgbmV3IEVycm9yKCJSZWFjdCBzaGVsbCBjYW5ub3QgbW92ZSB0byBhIGRpZmZlcmVudCAjYXBwIHJvb3QiKTtyZXR1cm4oMCx4di5mbHVzaFN5bmMpKCgpPT5Mcj8uc3RvcmUucHVibGlzaCh7c3luYzohMCxyZWFzb246ImxlZ2FjeTpyZW5kZXIifSkpLCJ1cGRhdGVkIn1jb25zdCBhPXhUKHQoKSksaT1iVChuaCx7YmF0Y2hNczowfSk7ZS5yZXBsYWNlQ2hpbGRyZW4oKSxlLmRhdGFzZXQucmVhY3RTaGVsbD0iZW5hYmxlZCI7Y29uc3Qgbz0oMCxNQy5jcmVhdGVSb290KShlKTtMcj17YXBwOmUscm9vdDpvLHN0b3JlOmksaG9zdHM6YS5ob3N0c307dHJ5eygwLHh2LmZsdXNoU3luYykoKCk9Pm8ucmVuZGVyKGpDLmNyZWF0ZUVsZW1lbnQoblQse3N0b3JlOmksbGVnYWN5UmVmczphLnJlZnN9KSkpfWNhdGNoKGMpe0xyPW51bGwsaS5kaXNwb3NlKCk7Zm9yKGNvbnN0IGQgb2YgYS5ob3N0cylkLmRpc3Bvc2UoKTt0aHJvdyBkZWxldGUgZS5kYXRhc2V0LnJlYWN0U2hlbGwsY31yZXR1cm4ibW91bnRlZCJ9ZnVuY3Rpb24gYWgoKXtjb25zdCBlPUxyO2lmKGUpe0xyPW51bGwsKDAseHYuZmx1c2hTeW5jKSgoKT0+ZS5yb290LnVubW91bnQoKSksZS5zdG9yZS5kaXNwb3NlKCk7Zm9yKGNvbnN0IHQgb2YgZS5ob3N0cyl0LmRpc3Bvc2UoKTtkZWxldGUgZS5hcHAuZGF0YXNldC5yZWFjdFNoZWxsfX12YXIgb2Y9bnVsbCxzZj1udWxsLGxmPW51bGwsY2Y9bnVsbDtmdW5jdGlvbiBGVChlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBhIG9mIGUpYS50eXBlIT09ImZpbGUifHx0eXBlb2YgYS5wYXRoIT0ic3RyaW5nInx8IWEucGF0aC50cmltKCl8fHQucHVzaCh7cGF0aDphLnBhdGgsLi4udHlwZW9mIGEubmFtZT09InN0cmluZyImJmEubmFtZT97bmFtZTphLm5hbWV9Ont9LHR5cGU6ImZpbGUifSk7cmV0dXJuIHR9ZnVuY3Rpb24gQ1QoKXtjb25zdCBlPVtMbixsbixXYSxkbixfb107Zm9yKGNvbnN0IHQgb2YgZSlpZih0LmlzT3BlbigpJiYhdC5jbG9zZUlmT3BlbigpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIERUKGUpe3NmPy4oKSxvZj1lLHNmPXM5KHtjb25maXJtRGlzY2FyZDplLmNvbmZpcm1EaXNjYXJkLGFzeW5jIGNvcHlUZXh0KGEpe2lmKCFhd2FpdCBlLmNvcHlUZXh0KGEpKXRocm93IG5ldyBFcnJvcigiXHU1OTBEXHU1MjM2XHU1OTMxXHU4RDI1XHUzMDAyIil9LGFwcGVuZFRvQ29tcG9zZXI6ZS5hcHBlbmRUb0NvbXBvc2VyLG5vdGlmeTplLm5vdGlmeSxvblNhdmVkOmUub25TYXZlZH0pO2xldCB0PSExO3JldHVybigpPT57dHx8b2YhPT1lfHwodD0hMCxjZj1udWxsLFRpLmNsb3NlSWZPcGVuKCksc2Y/LigpLHNmPW51bGwsb2Y9bnVsbCl9fWZ1bmN0aW9uIEFUKGUpe2NvbnN0IHQ9b2YsYT10eXBlb2YgZT09InN0cmluZyI/ZS50cmltKCk6IiI7cmV0dXJuIXR8fCFhfHxMdS5pc09wZW4oKXx8IUNUKCk/ITE6KFRpLm9wZW4oe3BhdGg6YSxzaWJsaW5nczpGVCh0LmdldFNpYmxpbmdzKCkpfSksITApfWZ1bmN0aW9uIGJsKGUpe2lmKCFUaS5pc09wZW4oKSlyZXR1cm4hMDtjb25zdCB0PVpkLmdldFNuYXBzaG90KCk7cmV0dXJuIHQuc2F2aW5nPyExOnQuZGlydHk/KGNmPWUsbGZ8fChsZj1UaS5leGVjdXRlKHt0eXBlOiJjbG9zZSJ9KSxsZi50aGVuKGE9Pntjb25zdCBpPWNmO2lmKGNmPW51bGwsbGY9bnVsbCwhKCFhfHwhaSkpdHJ5e2koKX1jYXRjaChvKXtjb25zb2xlLndhcm4oIlt3YW5kXSBGYWlsZWQgdG8gY29udGludWUgb3ZlcmxheSBvcGVuIGludGVudCIsbyl9fSkpLCExKTooVGkuY2xvc2VJZk9wZW4oKSwhVGkuaXNPcGVuKCkpfWZ1bmN0aW9uIEVuKCl7cmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoPD03Njh9ZnVuY3Rpb24gYzYoKXtyZXR1cm4hIXMuc2Vzc2lvbnNEcmF3ZXJPcGVuJiYoRW4oKXx8IXMuc2lkZWJhclBpbm5lZCl9ZnVuY3Rpb24gcmgoZSl7cy5maWxlUGFuZWxPcGVuPWU7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLWZpbGUtcGFuZWwtb3BlbiIsU3RyaW5nKHMuZmlsZVBhbmVsT3BlbikpfWNhdGNoe31zLmZpbGVQYW5lbE9wZW4mJkVuKCkmJihzLnNlc3Npb25zRHJhd2VyT3Blbj0hMSxUdCgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSksTWkoKSxzLmZpbGVQYW5lbE9wZW4mJlhhKCl9ZnVuY3Rpb24geWwoKXtyaCghcy5maWxlUGFuZWxPcGVuKX1mdW5jdGlvbiBTVCgpe2lmKEN0KCkpe0NhKCJsYXlvdXQ6ZmlsZXMiKTtyZXR1cm59dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2lkZS1wYW5lbCIpLHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLm1haW4tY29udGVudCIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtYmFja2Ryb3AiKTtlJiZlLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLHMuZmlsZVBhbmVsT3BlbiksdCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJmaWxlLXBhbmVsLW9wZW4iLHMuZmlsZVBhbmVsT3BlbiksaSYmaS5jbGFzc0xpc3QudG9nZ2xlKCJvcGVuIixzLmZpbGVQYW5lbE9wZW4pLGEmJmEuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixzLmZpbGVQYW5lbE9wZW4pfWZ1bmN0aW9uIE1pKCl7ZWMoKSxTVCgpfWZ1bmN0aW9uIEJUKGUpe2lmKEN0KCkpe0NhKCJsYXlvdXQ6ZmlsZS1jd2QiKTtyZXR1cm59dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItY3dkIik7aWYodCl7dmFyIGE9ZSYmZS5jd2Q/ZS5jd2Q6YnUoKTt0LnRhZ05hbWU9PT0iSU5QVVQiP2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT10JiYodC52YWx1ZT1hLG9SKHQpKTp0LnRleHRDb250ZW50PWEsdC50aXRsZT1hO3ZhciBpPXQuY2xvc2VzdCgiLmZpbGUtZXhwbG9yZXItaGVhZGVyIik7aSYmYWMoaSl9fWZ1bmN0aW9uIGloKCl7cy5maWxlUGFuZWxPcGVuJiZyaCghMSl9ZnVuY3Rpb24gZDYoZSl7dmFyIHQ9cy50ZXJtaW5hbFNjYWxlK2U7aWYodD1NYXRoLm1heCguNSxNYXRoLm1pbigyLHQpKSx0PU1hdGgucm91bmQodCo0KS80LHQhPT1zLnRlcm1pbmFsU2NhbGUpe3MudGVybWluYWxTY2FsZT10O3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC10ZXJtaW5hbC1zY2FsZSIsU3RyaW5nKHQpKX1jYXRjaHt9ZjYoKSxrVCgpfX1mdW5jdGlvbiBmNigpe2lmKCEoIXMudGVybWluYWx8fCFzLnRlcm1pbmFsLmVsZW1lbnQpKXt2YXIgZT1zLnRlcm1pbmFsQmFzZUZvbnRTaXplKnMudGVybWluYWxTY2FsZSx0PU1hdGgubWF4KDEsTWF0aC5yb3VuZChlKSksYT1NYXRoLm1heCgxLE1hdGgucm91bmQoZSoxLjUpKTtzLnRlcm1pbmFsLmVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIi0tdGVybS1mb250LXNpemUiLHQrInB4Iikscy50ZXJtaW5hbC5lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCItLXRlcm0tcm93LWhlaWdodCIsYSsicHgiKSx0eXBlb2Ygcy50ZXJtaW5hbC5yZW1lYXN1cmU9PSJmdW5jdGlvbiImJnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3MudGVybWluYWwmJnMudGVybWluYWwucmVtZWFzdXJlKCl9KX19ZnVuY3Rpb24ga1QoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtbGFiZWwtdG9wIik7ZSYmKGUudGV4dENvbnRlbnQ9TWF0aC5yb3VuZChzLnRlcm1pbmFsU2NhbGUqMTAwKSsiJSIpfXZhciBUVD17ImNoZXZyb24tbGVmdCI6JzxwYXRoIGQ9Ik0xNSAxOGwtNi02IDYtNiIvPicsImFycm93LXVwIjonPHBhdGggZD0iTTEyIDE5VjUiLz48cGF0aCBkPSJNNSAxMmw3LTcgNyA3Ii8+JyxyZWZyZXNoOic8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTMtNi43Ii8+PHBhdGggZD0iTTIxIDR2NWgtNSIvPicsZXllOic8cGF0aCBkPSJNMSAxMnM0LTcgMTEtNyAxMSA3IDExIDctNCA3LTExIDdTMSAxMiAxIDEyeiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz4nLCJleWUtb2ZmIjonPHBhdGggZD0iTTE3Ljk0IDE3Ljk0QTEwLjk0IDEwLjk0IDAgMCAxIDEyIDE5Yy03IDAtMTEtNy0xMS03YTE5Ljg2IDE5Ljg2IDAgMCAxIDQuMjItNS4xOCIvPjxwYXRoIGQ9Ik0xIDFsMjIgMjIiLz48cGF0aCBkPSJNOS45IDQuMjRBMTAuOTQgMTAuOTQgMCAwIDEgMTIgNGM3IDAgMTEgNyAxMSA3YTE5LjgzIDE5LjgzIDAgMCAxLTMuMzYgNC4yNyIvPjxwYXRoIGQ9Ik0xNC4xMiAxNC4xMmEzIDMgMCAxIDEtNC4yNC00LjI0Ii8+Jyx4Oic8cGF0aCBkPSJNMTggNkw2IDE4Ii8+PHBhdGggZD0iTTYgNmwxMiAxMiIvPicsc2VhcmNoOic8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI3Ii8+PHBhdGggZD0iTTIxIDIxbC00LjMtNC4zIi8+Jyxjb3B5Oic8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHJ4PSIyIi8+PHBhdGggZD0iTTUgMTVWNWEyIDIgMCAwIDEgMi0yaDEwIi8+JyxjbGlwYm9hcmQ6JzxyZWN0IHg9IjgiIHk9IjMiIHdpZHRoPSI4IiBoZWlnaHQ9IjQiIHJ4PSIxIi8+PHBhdGggZD0iTTE2IDVoMmEyIDIgMCAwIDEgMiAydjEyYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMmgyIi8+Jyxkb3dubG9hZDonPHBhdGggZD0iTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLz48cGF0aCBkPSJNNyAxMGw1IDUgNS01Ii8+PHBhdGggZD0iTTEyIDE1VjMiLz4nLGVkaXQ6JzxwYXRoIGQ9Ik0xMiAyMGg5Ii8+PHBhdGggZD0iTTE2LjUgMy41YTIuMTIxIDIuMTIxIDAgMCAxIDMgM0w3IDE5bC00IDEgMS00eiIvPicsc2F2ZTonPHBhdGggZD0iTTE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTFsNSA1djExYTIgMiAwIDAgMS0yIDJ6Ii8+PHBhdGggZD0iTTE3IDIxdi04SDd2OCIvPjxwYXRoIGQ9Ik03IDN2NWg4Ii8+Jywicm90YXRlLWNjdyI6JzxwYXRoIGQ9Ik0zIDEyYTkgOSAwIDEgMCAzLTYuNyIvPjxwYXRoIGQ9Ik0zIDR2NWg1Ii8+Jywid3JhcC10ZXh0IjonPHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik0zIDEyaDE1YTMgMyAwIDEgMSAwIDZoLTQiLz48cGF0aCBkPSJNMTYgMTZsLTIgMiAyIDIiLz48cGF0aCBkPSJNMyAxOGg2Ii8+Jyx0eXBlOic8cGF0aCBkPSJNNCA3VjRoMTZ2MyIvPjxwYXRoIGQ9Ik05IDIwaDYiLz48cGF0aCBkPSJNMTIgNHYxNiIvPicsbWludXM6JzxwYXRoIGQ9Ik01IDEyaDE0Ii8+JyxwbHVzOic8cGF0aCBkPSJNMTIgNXYxNCIvPjxwYXRoIGQ9Ik01IDEyaDE0Ii8+Jywic2VuZC10by1pbnB1dCI6JzxwYXRoIGQ9Ik0yMiAyTDExIDEzIi8+PHBhdGggZD0iTTIyIDJsLTcgMjAtNC05LTktNHoiLz4nLHRlcm1pbmFsOic8cG9seWxpbmUgcG9pbnRzPSI0IDE3IDEwIDExIDQgNSIvPjxsaW5lIHgxPSIxMiIgeTE9IjE5IiB4Mj0iMjAiIHkyPSIxOSIvPicsImZvbGRlci1vcGVuIjonPHBhdGggZD0iTTYgMTRsMS40NS0yLjlBMiAyIDAgMCAxIDkuMjQgMTBIMjBhMiAyIDAgMCAxIDEuOTQgMi41bC0xLjU1IDZhMiAyIDAgMCAxLTEuOTQgMS41SDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45M2EyIDIgMCAwIDEgMS42Ni45bC44MiAxLjJhMiAyIDAgMCAwIDEuNjYuOUgxOGEyIDIgMCAwIDEgMiAydjIiLz4nLGluZm86JzxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PGxpbmUgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMiIgeTI9IjEyIi8+PGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjEyLjAxIiB5Mj0iOCIvPid9O2Z1bmN0aW9uIEdvKGUsdCl7dD10fHx7fTt2YXIgYT1UVFtlXXx8IiIsaT10LnNpemV8fDE2LG89dC5jbGFzc05hbWU/IiAiK3QuY2xhc3NOYW1lOiIiO3JldHVybic8c3ZnIGNsYXNzPSJ3YW5kLWljb24gd2FuZC1pY29uLScrZStvKyciIHdpZHRoPSInK2krJyIgaGVpZ2h0PSInK2krJyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4nK2ErIjwvc3ZnPiJ9ZnVuY3Rpb24galQoZSl7dmFyIHQ9ZXx8YnUoKTtyZXR1cm4gdD8nPGRpdiBjbGFzcz0iZmlsZS10cmVlIiBpZD0iZmlsZS10cmVlIiBkYXRhLWN3ZD0iJytMKHQpKyciPjxkaXYgY2xhc3M9InRyZWUtbG9hZGluZyI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9kaXY+PC9kaXY+JzonPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciBlbXB0eSI+XHU2NzJBXHU5MTREXHU3RjZFXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1XHUzMDAyPC9kaXY+J312YXIgTVQ9e3BuZzoiXHV7MUY1QkN9XHVGRTBGIixqcGc6Ilx1ezFGNUJDfVx1RkUwRiIsanBlZzoiXHV7MUY1QkN9XHVGRTBGIixnaWY6Ilx1ezFGNUJDfVx1RkUwRiIsd2VicDoiXHV7MUY1QkN9XHVGRTBGIixzdmc6Ilx1ezFGNUJDfVx1RkUwRiIsYXZpZjoiXHV7MUY1QkN9XHVGRTBGIixibXA6Ilx1ezFGNUJDfVx1RkUwRiIsaWNvOiJcdXsxRjVCQ31cdUZFMEYiLGhlaWM6Ilx1ezFGNUJDfVx1RkUwRiIsaGVpZjoiXHV7MUY1QkN9XHVGRTBGIixwZGY6Ilx1ezFGNEQ1fSIsZG9jOiJcdXsxRjREOH0iLGRvY3g6Ilx1ezFGNEQ4fSIsb2R0OiJcdXsxRjREOH0iLHhsczoiXHV7MUY0Q0F9Iix4bHN4OiJcdXsxRjRDQX0iLGNzdjoiXHV7MUY0Q0F9Iix0c3Y6Ilx1ezFGNENBfSIscHB0OiJcdXsxRjREOX0iLHBwdHg6Ilx1ezFGNEQ5fSIsbXA0OiJcdXsxRjNBQ30iLHdlYm06Ilx1ezFGM0FDfSIsbW92OiJcdXsxRjNBQ30iLG1rdjoiXHV7MUYzQUN9IixtNHY6Ilx1ezFGM0FDfSIsb2d2OiJcdXsxRjNBQ30iLG1wMzoiXHV7MUYzQjV9Iix3YXY6Ilx1ezFGM0I1fSIsb2dnOiJcdXsxRjNCNX0iLG00YToiXHV7MUYzQjV9IixmbGFjOiJcdXsxRjNCNX0iLGFhYzoiXHV7MUYzQjV9IixvcHVzOiJcdXsxRjNCNX0iLHppcDoiXHV7MUY0RTZ9Iix0YXI6Ilx1ezFGNEU2fSIsZ3o6Ilx1ezFGNEU2fSIsdGd6OiJcdXsxRjRFNn0iLGJ6MjoiXHV7MUY0RTZ9IiwiN3oiOiJcdXsxRjRFNn0iLHJhcjoiXHV7MUY0RTZ9Iix4ejoiXHV7MUY0RTZ9IixtZDoiXHV7MUY0RER9IixtYXJrZG93bjoiXHV7MUY0RER9IixtZHg6Ilx1ezFGNEREfSIscnN0OiJcdXsxRjRERH0iLHR4dDoiXHV7MUY0RER9Iixsb2c6Ilx1ezFGNEREfSIsaHRtbDoiXHV7MUYzMTB9IixodG06Ilx1ezFGMzEwfSIseG1sOiJcdXsxRjMxMH0iLGNzczoiXHV7MUYzQTh9IixzY3NzOiJcdXsxRjNBOH0iLGxlc3M6Ilx1ezFGM0E4fSIsanNvbjoiXHUyNjk5XHVGRTBGIixqc29uYzoiXHUyNjk5XHVGRTBGIix5YW1sOiJcdTI2OTlcdUZFMEYiLHltbDoiXHUyNjk5XHVGRTBGIix0b21sOiJcdTI2OTlcdUZFMEYiLGluaToiXHUyNjk5XHVGRTBGIixjZmc6Ilx1MjY5OVx1RkUwRiIsY29uZjoiXHUyNjk5XHVGRTBGIixlbnY6Ilx1MjY5OVx1RkUwRiIsZWRpdG9yY29uZmlnOiJcdTI2OTlcdUZFMEYiLHRzOiJcdXsxRjREQ30iLHRzeDoiXHV7MUY0REN9IixqczoiXHV7MUY0REN9Iixqc3g6Ilx1ezFGNERDfSIsbWpzOiJcdXsxRjREQ30iLGNqczoiXHV7MUY0REN9IixweToiXHV7MUY0REN9IixyYjoiXHV7MUY0REN9IixnbzoiXHV7MUY0REN9IixyczoiXHV7MUY0REN9IixqYXZhOiJcdXsxRjREQ30iLGM6Ilx1ezFGNERDfSIsY3BwOiJcdXsxRjREQ30iLGg6Ilx1ezFGNERDfSIsaHBwOiJcdXsxRjREQ30iLGNzOiJcdXsxRjREQ30iLHN3aWZ0OiJcdXsxRjREQ30iLGt0OiJcdXsxRjREQ30iLHNjYWxhOiJcdXsxRjREQ30iLHBocDoiXHV7MUY0REN9IixzaDoiXHV7MUY0REN9IixiYXNoOiJcdXsxRjREQ30iLHpzaDoiXHV7MUY0REN9IixmaXNoOiJcdXsxRjREQ30iLGx1YToiXHV7MUY0REN9IixzcWw6Ilx1ezFGNERDfSIsZ3JhcGhxbDoiXHV7MUY0REN9Iixwcm90bzoiXHV7MUY0REN9Iix2dWU6Ilx1ezFGNERDfSIsc3ZlbHRlOiJcdXsxRjREQ30iLGRpZmY6Ilx1ezFGNERDfSIscGF0Y2g6Ilx1ezFGNERDfSIsdHRmOiJcdXsxRjUyNH0iLG90ZjoiXHV7MUY1MjR9Iix3b2ZmOiJcdXsxRjUyNH0iLHdvZmYyOiJcdXsxRjUyNH0iLGVvdDoiXHV7MUY1MjR9In07ZnVuY3Rpb24gT1QoZSl7aWYoIWUpcmV0dXJuIlx1ezFGNEM0fSI7aWYoZS50eXBlPT09ImRpciIpcmV0dXJuIlx1ezFGNEMxfSI7dmFyIHQ9KGUubmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7aWYodD09PSJkb2NrZXJmaWxlIilyZXR1cm4iXHV7MUY0MzN9IjtpZih0PT09Im1ha2VmaWxlIilyZXR1cm4iXHV7MUY2RTB9XHVGRTBGIjtpZih0PT09ImxpY2Vuc2UiKXJldHVybiJcdXsxRjREQ30iO2lmKHQ9PT0icmVhZG1lIilyZXR1cm4iXHV7MUY0RER9Ijt2YXIgYT10Lmxhc3RJbmRleE9mKCIuIik7aWYoYTwwfHxhPT09dC5sZW5ndGgtMSlyZXR1cm4iXHV7MUY0QzR9Ijt2YXIgaT10LnNsaWNlKGErMSk7cmV0dXJuIE1UW2ldfHwiXHV7MUY0QzR9In1mdW5jdGlvbiBwNihlKXtpZih0eXBlb2YgZSE9Im51bWJlciJ8fCFpc0Zpbml0ZShlKXx8ZTwwKXJldHVybiIiO2lmKGU8MTAyNClyZXR1cm4gZSsiIEIiO3ZhciB0PWUvMTAyNDtpZih0PDEwMjQpcmV0dXJuKHQ+PTEwP01hdGgucm91bmQodCk6dC50b0ZpeGVkKDEpKSsiIEtCIjt2YXIgYT10LzEwMjQ7aWYoYTwxMDI0KXJldHVybihhPj0xMD9NYXRoLnJvdW5kKGEpOmEudG9GaXhlZCgxKSkrIiBNQiI7dmFyIGk9YS8xMDI0O3JldHVybihpPj0xMD9NYXRoLnJvdW5kKGkpOmkudG9GaXhlZCgxKSkrIiBHQiJ9ZnVuY3Rpb24gX1QoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9RGF0ZS5wYXJzZShlKTtyZXR1cm4gaXNOYU4odCk/IiI6bmV3IERhdGUodCkudG9Mb2NhbGVTdHJpbmcoKX1mdW5jdGlvbiB2Nigpe2lmKHMuZmlsZUV4cGxvcmVyQ3dkKXJldHVybiBzLmZpbGVFeHBsb3JlckN3ZDtpZihzLnNlbGVjdGVkSWQpe3ZhciBlPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PXMuc2VsZWN0ZWRJZH0pO2lmKGUmJmUuY3dkKXJldHVybiBlLmN3ZH1yZXR1cm4gYnUoKX1mdW5jdGlvbiBYYShlKXtlPWV8fHt9O3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWV4cGxvcmVyIiksYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci1jd2QiKTtpZih0KXt2YXIgaT1lLmN3ZHx8djYoKTtpZighaSl7dC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NkNBMVx1NjcwOVx1NTNFRlx1NjYzRVx1NzkzQVx1NzY4NFx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvZGl2Pic7cmV0dXJufXMuZmlsZUV4cGxvcmVyQ3dkPWkscy5maWxlRXhwbG9yZXJMb2FkaW5nPSEwLHMuYWxsRmlsZXM9W10scy5maWxlRXhwbG9yZXJUcnVuY2F0ZWQ9ITEscy5maWxlRXhwbG9yZXJUb3RhbD0wLHQuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLWV4cGxvcmVyIj48ZGl2IGNsYXNzPSJ0cmVlLWxvYWRpbmciIHN0eWxlPSJwYWRkaW5nOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOjAuODEyNXJlbTsiPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2PicsYSYmIUN0KCkmJihhLnRhZ05hbWU9PT0iSU5QVVQiP2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1hJiYoYS52YWx1ZT1pKTphLnRleHRDb250ZW50PWksYS50aXRsZT1pKTt2YXIgbz0iL2FwaS9kaXJlY3Rvcnk/cT0iK2VuY29kZVVSSUNvbXBvbmVudChpKSsiJmdpdFN0YXR1cz10cnVlIjtmZXRjaChvLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihjKXtpZighYy5vayl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeS4iKTtyZXR1cm4gYy5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGMpe3MuZmlsZUV4cGxvcmVyTG9hZGluZz0hMTt2YXIgZCxmLG07aWYoQXJyYXkuaXNBcnJheShjKT8oZD1jLGY9ITEsbT1jLmxlbmd0aCk6KGQ9YyYmYy5pdGVtc3x8W10sZj0hIShjJiZjLnRydW5jYXRlZCksbT1jJiZjLnRvdGFsfHxkLmxlbmd0aCksIWR8fGQubGVuZ3RoPT09MCl7dC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1N0E3QVx1NzZFRVx1NUY1NVx1NjIxNlx1NjVFMFx1NkNENVx1OEJCRlx1OTVFRVx1MzAwMjwvZGl2Pic7cmV0dXJufXMuYWxsRmlsZXM9ZCxzLmZpbGVFeHBsb3JlclRydW5jYXRlZD1mLHMuZmlsZUV4cGxvcmVyVG90YWw9bSxkZigpfSkuY2F0Y2goZnVuY3Rpb24oKXtzLmZpbGVFeHBsb3JlckxvYWRpbmc9ITEsdC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1NjhDMFx1NjdFNVx1OERFRlx1NUY4NFx1NjIxNlx1Njc0M1x1OTY1MFx1MzAwMjwvZGl2Pid9KX19ZnVuY3Rpb24gZGYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpO2lmKGUpe3ZhciB0PXMuZmlsZUV4cGxvcmVyQ3dkfHwiIjtpZih0KXt2YXIgYT1zLmZpbGVTZWFyY2hRdWVyeSxpPXMuYWxsRmlsZXN8fFtdLG89aTtpZihhKXt2YXIgYz1hLnRvTG93ZXJDYXNlKCk7bz1pLmZpbHRlcihmdW5jdGlvbihtKXtyZXR1cm4gbS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihjKSE9PS0xfSl9aWYoby5sZW5ndGg9PT0wKXtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciBlbXB0eSI+JysoYT8iXHU2Q0ExXHU2NzA5XHU2MjdFXHU1MjMwXHU1MzM5XHU5MTREXHU3Njg0XHU2NTg3XHU0RUY2IjoiXHU3QTdBXHU3NkVFXHU1RjU1IikrIjwvZGl2PiI7cmV0dXJufXZhciBkPSIiO2lmKCFhJiZzLmZpbGVFeHBsb3JlclRydW5jYXRlZCl7dmFyIGY9aS5sZW5ndGg7ZD0nPGRpdiBjbGFzcz0idHJlZS10cnVuY2F0ZWQiIHRpdGxlPSJcdTU0MEVcdTdBRUZcdTYzMDlcdTVCNTdcdTZCQ0RcdTVFOEZcdTY3MDBcdTU5MUFcdThGRDRcdTU2REUgJytmKycgXHU5ODc5Ij5cdTY2M0VcdTc5M0FcdTUyNEQgJytmKyIgXHU5ODc5IC8gXHU1MTcxICIrcy5maWxlRXhwbG9yZXJUb3RhbCsiIFx1OTg3OTwvZGl2PiJ9ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrTCh0KSsnIj4nK28ubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBtNihtKX0pLmpvaW4oIiIpKyI8L2Rpdj4iK2QsaDYoKX19fWZ1bmN0aW9uIG02KGUsdCl7dD10fHwwO3ZhciBhPUwoZS5uYW1lKSxpPWUudHlwZT09PSJkaXIiLG89T1QoZSksYz1pPyJcdTI1QjgiOiIiLGQ9aT8iIjoiIGVtcHR5IixmPWUuZ2l0U3RhdHVzLG09TlQoZiksaD0iIjtyZXR1cm4haSYmdHlwZW9mIGUuc2l6ZT09Im51bWJlciImJihoPSc8c3BhbiBjbGFzcz0idHJlZS1tZXRhIiB0aXRsZT0iXHU1OTI3XHU1QzBGXHVGRjFBJytMKHA2KGUuc2l6ZSkpKyhlLm10aW1lP2AKXHU0RkVFXHU2NTM5XHU2NUY2XHU5NUY0XHVGRjFBYCtMKF9UKGUubXRpbWUpKToiIikrJyI+JytMKHA2KGUuc2l6ZSkpKyI8L3NwYW4+IiksJzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgZGF0YS1wYXRoPSInK0woZS5wYXRoKSsnIiBkYXRhLXR5cGU9IicrTChlLnR5cGUpKyciIGRhdGEtbmFtZT0iJytMKGUubmFtZSkrJyIgdGFiaW5kZXg9IjAiPjxzcGFuIGNsYXNzPSJ0cmVlLXRvZ2dsZScrZCsnIj4nK2MrJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1pY29uIj4nK28rJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1uYW1lIj4nK2ErIjwvc3Bhbj4iK2grKG0/JzxzcGFuIGNsYXNzPSJnaXQtc3RhdHVzLWJhZGdlICcrbS5jbGFzcysnIiB0aXRsZT0iJyttLnRpdGxlKyciPicrbS50ZXh0KyI8L3NwYW4+IjoiIikrIjwvZGl2PiJ9ZnVuY3Rpb24gTlQoZSl7cmV0dXJuIGU/ZS5zdGFnZWQ9PT0iYWRkZWQiP3t0ZXh0OiJBIixjbGFzczoiZ2l0LWFkZGVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU2NUIwXHU1ODlFXHVGRjA5In06ZS5zdGFnZWQ9PT0ibW9kaWZpZWQiP3t0ZXh0OiJNIixjbGFzczoiZ2l0LW1vZGlmaWVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU0RkVFXHU2NTM5XHVGRjA5In06ZS5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtZGVsZXRlZCIsdGl0bGU6Ilx1NURGMlx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUuc3RhZ2VkPT09InJlbmFtZWQiP3t0ZXh0OiJSIixjbGFzczoiZ2l0LXJlbmFtZWQiLHRpdGxlOiJcdTVERjJcdTY2ODJcdTVCNThcdUZGMDhcdTkxQ0RcdTU0N0RcdTU0MERcdUZGMDkifTplLnVuc3RhZ2VkPT09Im1vZGlmaWVkIj97dGV4dDoiTSIsY2xhc3M6ImdpdC11bnN0YWdlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NEZFRVx1NjUzOVx1RkYwOSJ9OmUudW5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtdW5zdGFnZWQtZGVsZXRlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUudW50cmFja2VkP3t0ZXh0OiI/IixjbGFzczoiZ2l0LXVudHJhY2tlZCIsdGl0bGU6Ilx1NjcyQVx1OERERlx1OEUyQSJ9Om51bGw6bnVsbH1mdW5jdGlvbiBoNigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXRyZWUiKTtpZihlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi50cmVlLWl0ZW1bZGF0YS10eXBlPSdkaXInXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24obyl7UlQoaSl9KX0pLGUucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbVtkYXRhLXR5cGU9J2ZpbGUnXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIG89ZnVuY3Rpb24oKXtzaChpLmRhdGFzZXQucGF0aCl9O2kuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG8pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLG8pfSk7dmFyIHQ9bnVsbCxhPSExO2UucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsZnVuY3Rpb24obyl7by5wcmV2ZW50RGVmYXVsdCgpLHk2KG8uY2xpZW50WCxvLmNsaWVudFksaSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKG8pe2E9ITEsdD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YT0hMDt2YXIgYz1vLnRvdWNoZXMmJm8udG91Y2hlc1swXTt5NihjP2MuY2xpZW50WDowLGM/Yy5jbGllbnRZOjAsaSl9LDUwMCl9LHtwYXNzaXZlOiEwfSksaS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KX0pfX1mdW5jdGlvbiBSVChlKXt2YXIgdD1lLmRhdGFzZXQucGF0aCxhPWUucXVlcnlTZWxlY3RvcigiLnRyZWUtdG9nZ2xlIiksaT1lLm5leHRFbGVtZW50U2libGluZztpZihpJiZpLmNsYXNzTGlzdC5jb250YWlucygidHJlZS1jaGlsZHJlbiIpKXt2YXIgbz1pLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpO2kuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIpLGEmJmEuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsIW8pO3ZhciBjPWUucXVlcnlTZWxlY3RvcigiLnRyZWUtaWNvbiIpO2MmJihjLnRleHRDb250ZW50PW8/Ilx1ezFGNEMxfSI6Ilx1ezFGNEMyfSIpO3JldHVybn1hJiZhLmNsYXNzTGlzdC5hZGQoIm9wZW4iKTt2YXIgZD1lLnF1ZXJ5U2VsZWN0b3IoIi50cmVlLWljb24iKTtkJiYoZC50ZXh0Q29udGVudD0iXHV7MUY0QzJ9Iik7dmFyIGY9Ii9hcGkvZGlyZWN0b3J5P3E9IitlbmNvZGVVUklDb21wb25lbnQodCkrIiZnaXRTdGF0dXM9dHJ1ZSI7ZmV0Y2goZix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obSl7cmV0dXJuIG0uanNvbigpfSkudGhlbihmdW5jdGlvbihtKXt2YXIgaDtBcnJheS5pc0FycmF5KG0pP2g9bTpoPW0mJm0uaXRlbXN8fFtdO3ZhciBnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2cuY2xhc3NOYW1lPSJ0cmVlLWNoaWxkcmVuIG9wZW4iLCFofHxoLmxlbmd0aD09PTA/Zy5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpkZWZhdWx0OyI+PHNwYW4gY2xhc3M9InRyZWUtdG9nZ2xlIGVtcHR5Ij5cdTI1Qjg8L3NwYW4+PHNwYW4gY2xhc3M9InRyZWUtbmFtZSI+XHVGRjA4XHU3QTdBXHU3NkVFXHU1RjU1XHVGRjA5PC9zcGFuPjwvZGl2Pic6Zy5pbm5lckhUTUw9aC5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIG02KGIpfSkuam9pbigiIiksZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnLGUubmV4dFNpYmxpbmcpLGg2KCl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIGc2KCl7dmFyIGU9djYoKTtpZihlKXt2YXIgdD1lLnJlcGxhY2UoL1wvKyQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIiKTt0fHwodD0iLyIpLHQhPT1lJiZYYSh7Y3dkOnR9KX19ZnVuY3Rpb24gYjYoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCF0KXJldHVybiExO3ZhciBhPXQudmFsdWV8fCIiLGk9YSYmIWEuZW5kc1dpdGgoIiAiKSYmIWEuZW5kc1dpdGgoYApgKT8iICI6IiI7dC52YWx1ZT1hK2krZSx0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSk7dHJ5e3QuZm9jdXMoKSx0LnNldFNlbGVjdGlvblJhbmdlKHQudmFsdWUubGVuZ3RoLHQudmFsdWUubGVuZ3RoKX1jYXRjaHt9cmV0dXJuITB9ZnVuY3Rpb24gdWgoZSl7aWYobmF2aWdhdG9yLmNsaXBib2FyZCYmbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQpcmV0dXJuIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGUpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHQoKX0pO3JldHVybiBQcm9taXNlLnJlc29sdmUodCgpKTtmdW5jdGlvbiB0KCl7dHJ5e3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7YS52YWx1ZT1lLGEuc3R5bGUucG9zaXRpb249ImZpeGVkIixhLnN0eWxlLmxlZnQ9Ii05OTk5cHgiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSksYS5zZWxlY3QoKTt2YXIgaT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpLGl9Y2F0Y2h7cmV0dXJuITF9fX1mdW5jdGlvbiBvaChlKXtoZShlKX1mdW5jdGlvbiBZbygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWNvbnRleHQtbWVudSIpO2UmJmUucmVtb3ZlKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLFlvLCEwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFlvLCEwKX1mdW5jdGlvbiB5NihlLHQsYSl7WW8oKTt2YXIgaT1hLmRhdGFzZXQucGF0aHx8IiIsbz1hLmRhdGFzZXQudHlwZXx8ImZpbGUiLGM9cy5maWxlRXhwbG9yZXJDd2R8fCIiLGQ9aTtjJiZpLmluZGV4T2YoYyk9PT0wJiYoZD1pLnNsaWNlKGMubGVuZ3RoKS5yZXBsYWNlKC9eXC8rLywiIil8fCIuIik7dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zi5pZD0iZmlsZS1jb250ZXh0LW1lbnUiLGYuY2xhc3NOYW1lPSJmaWxlLWNvbnRleHQtbWVudSI7dmFyIG09W107bz09PSJmaWxlIj9tLnB1c2goe2xhYmVsOiJcdTYyNTNcdTVGMDBcdTk4ODRcdTg5QzgiLGljb246Ilx1ezFGNDQxfSIscnVuOmZ1bmN0aW9uKCl7c2goaSl9fSk6bS5wdXNoKHtsYWJlbDoiXHU4RkRCXHU1MTY1XHU2QjY0XHU3NkVFXHU1RjU1IixpY29uOiJcdXsxRjRDMn0iLHJ1bjpmdW5jdGlvbigpe1hhKHtjd2Q6aX0pfX0pLG0ucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NUI4Q1x1NjU3NFx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXt1aChpKS50aGVuKGZ1bmN0aW9uKCl7b2goIlx1NURGMlx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIpfSl9fSksZCYmZCE9PWkmJm0ucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXt1aChkKS50aGVuKGZ1bmN0aW9uKCl7b2goIlx1NURGMlx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIpfSl9fSksbS5wdXNoKHtsYWJlbDoiXHU3Qzk4XHU4RDM0XHU4REVGXHU1Rjg0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2IixpY29uOiJcdTI3MEZcdUZFMEYiLHJ1bjpmdW5jdGlvbigpe2I2KGkpJiZvaCgiXHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9fSksbz09PSJmaWxlIiYmbS5wdXNoKHtsYWJlbDoiXHU0RTBCXHU4RjdEXHU2NTg3XHU0RUY2IixpY29uOiJcdTJCMDciLHJ1bjpmdW5jdGlvbigpe3ZhciB3PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTt3LmhyZWY9Ii9hcGkvZmlsZS1yYXc/ZG93bmxvYWQ9MSZwYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpLHcucmVsPSJub29wZW5lciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh3KSx3LmNsaWNrKCksdy5yZW1vdmUoKX19KSxmLmlubmVySFRNTD1tLm1hcChmdW5jdGlvbih3LHgpe3JldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImZpbGUtY29udGV4dC1tZW51LWl0ZW0iIGRhdGEtaWR4PSInK3grJyI+PHNwYW4gY2xhc3M9ImN0eC1pY29uIj4nK3cuaWNvbisnPC9zcGFuPjxzcGFuIGNsYXNzPSJjdHgtbGFiZWwiPicrTCh3LmxhYmVsKSsiPC9zcGFuPjwvYnV0dG9uPiJ9KS5qb2luKCIiKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGYpO3ZhciBoPXdpbmRvdy5pbm5lcldpZHRoLGc9d2luZG93LmlubmVySGVpZ2h0LGI9Zi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx5PU1hdGgubWluKGUsaC1iLndpZHRoLTgpLEM9TWF0aC5taW4odCxnLWIuaGVpZ2h0LTgpO2Yuc3R5bGUubGVmdD1NYXRoLm1heCg4LHkpKyJweCIsZi5zdHlsZS50b3A9TWF0aC5tYXgoOCxDKSsicHgiLGYucXVlcnlTZWxlY3RvckFsbCgiLmZpbGUtY29udGV4dC1tZW51LWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKHcpe3cuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHgpe3guc3RvcFByb3BhZ2F0aW9uKCk7dmFyIEY9cGFyc2VJbnQody5kYXRhc2V0LmlkeCwxMCk7WW8oKSxtW0ZdJiZtW0ZdLnJ1bigpfSl9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFlvLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLFlvLCEwKX0sMCl9ZnVuY3Rpb24gc2goZSl7QVQoZSl9ZnVuY3Rpb24gdzYoKXtpZighcy5zZWxlY3RlZElkfHwhcy5naXRTdGF0dXN8fCFzLmdpdFN0YXR1cy5pc0dpdHx8cy5naXRTdGF0dXNTZXNzaW9uSWQhPT1zLnNlbGVjdGVkSWQpcmV0dXJuIiI7dmFyIGU9cy5naXRTdGF0dXMuYnJhbmNofHwiPyIsdD1zLmdpdFN0YXR1cy5tb2RpZmllZENvdW50fHwwLGE9ZSsodD8iICBceEI3ICAiK3QrIiBcdTRFMkFcdTY1ODdcdTRFRjZcdTVGODVcdTYzRDBcdTRFQTQiOiIgIFx4QjcgIFx1NURFNVx1NEY1Q1x1NTMzQVx1NUU3Mlx1NTFDMCIpO3JldHVybic8YnV0dG9uIGlkPSJ0b3BiYXItZ2l0LWJhZGdlIiBjbGFzcz0idG9wYmFyLWdpdC1iYWRnZSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iJytMKGEpKyciIGFyaWEtbGFiZWw9Ilx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNCI+PHN2ZyBjbGFzcz0idG9wYmFyLWdpdC1pY29uIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjIiLz48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjIiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjkiIHI9IjIiLz48cGF0aCBkPSJNNiA4djgiLz48cGF0aCBkPSJNMTggMTF2MWEzIDMgMCAwIDEtMyAzSDkiLz48L3N2Zz48c3BhbiBjbGFzcz0idG9wYmFyLWdpdC1icmFuY2giPicrTChlKSsiPC9zcGFuPiIrKHQ+MD8nPHNwYW4gY2xhc3M9InRvcGJhci1naXQtY291bnQiPlx4QjcnK3QrIjwvc3Bhbj4iOic8c3BhbiBjbGFzcz0idG9wYmFyLWdpdC1jbGVhbiIgYXJpYS1oaWRkZW49InRydWUiPlx1MjcxMzwvc3Bhbj4nKSsiPC9idXR0b24+In1mdW5jdGlvbiBsaCgpe2lmKEN0KCkpe0NhKCJ0b3BiYXI6Z2l0Iik7cmV0dXJufXZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LXNsb3QiKTtpZihlKXtlLmlubmVySFRNTD13NigpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LWJhZGdlIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLGNoKCl9KX19ZnVuY3Rpb24gSVQoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9cy50b3BiYXJNb3JlT3BlbixhPSEhZS5jbGF1ZGVTZXNzaW9uSWQsaT0hIWUuY3dkLG89ZS53b3JrdHJlZUVuYWJsZWQmJmUud29ya3RyZWUmJmUud29ya3RyZWUuYnJhbmNoJiZlLndvcmt0cmVlLnBhdGgsYz1lLndvcmt0cmVlTWVyZ2VTdGF0dXM9PT0ibWVyZ2VkIiYmZS53b3JrdHJlZU1lcmdlSW5mbyYmZS53b3JrdHJlZU1lcmdlSW5mby5jbGVhbnVwRG9uZT09PSExLGQ9ZS5zdGF0dXM9PT0icnVubmluZyJ8fGUud29ya3RyZWVNZXJnZVN0YXR1cz09PSJtZXJnaW5nIixmPW8mJmUud29ya3RyZWVNZXJnZVN0YXR1cyE9PSJtZXJnZWQiLG09YyxoPWF8fGl8fCEwLGc9Znx8bXx8ITAsYj0nPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiIvPjxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiLz48L3N2Zz4nLHk9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE3LjUgMTlhNC41IDQuNSAwIDEgMC0xLjUtOC43NEE2IDYgMCAxIDAgNiAxNGgxMS41eiIvPjwvc3ZnPicsQz0nPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz4nLHc9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGxpbmUgeDE9IjQiIHkxPSI5IiB4Mj0iMjAiIHkyPSI5Ii8+PGxpbmUgeDE9IjQiIHkxPSIxNSIgeDI9IjIwIiB5Mj0iMTUiLz48bGluZSB4MT0iMTAiIHkxPSIzIiB4Mj0iOCIgeTI9IjIxIi8+PGxpbmUgeDE9IjE2IiB5MT0iMyIgeDI9IjE0IiB5Mj0iMjEiLz48L3N2Zz4nLHg9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTcgN2gxMCIvPjxwYXRoIGQ9Ik03IDEyaDEwIi8+PHBhdGggZD0iTTcgMTdoMTAiLz48cGF0aCBkPSJNNSA3bC0yIDIgMiAyIi8+PHBhdGggZD0iTTE5IDE1bDIgMi0yIDIiLz48L3N2Zz4nLEY9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+JyxBPSIiO2lmKGEpe3ZhciBEPWUucHJvdmlkZXI9PT0iY29kZXgiPyJcdTU5MERcdTUyMzYgQ29kZXggdGhyZWFkIElEIjplLnByb3ZpZGVyPT09Im9wZW5jb2RlIj8iXHU1OTBEXHU1MjM2IE9wZW5Db2RlIHNlc3Npb24gSUQiOiJcdTU5MERcdTUyMzYgQ2xhdWRlIFx1NEYxQVx1OEJERCBJRCI7QSs9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJjb3B5LWNsYXVkZS1zZXNzaW9uLWlkIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIj4nK3krIjxzcGFuPiIrRCsiPC9zcGFuPjwvYnV0dG9uPiJ9aSYmKEErPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0iY29weS1jd2QiIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicrQysiPHNwYW4+XHU1OTBEXHU1MjM2XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9zcGFuPjwvYnV0dG9uPiIpLEErPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0iY29weS1zZXNzaW9uLWlkIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIj4nK3crIjxzcGFuPlx1NTkwRFx1NTIzNlx1NEYxQVx1OEJERCBJRDwvc3Bhbj48L2J1dHRvbj4iO3ZhciBCPSIiO2Y/Qis9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJ3b3JrdHJlZS1tZXJnZSIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSInKyhkPyIgZGlzYWJsZWQiOiIiKSsiPiIreCsiPHNwYW4+XHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGXHUyMDI2PC9zcGFuPjwvYnV0dG9uPiI6bSYmKEIrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0id29ya3RyZWUtY2xlYW51cCIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSI+Jyt4KyI8c3Bhbj5cdTkxQ0RcdThCRDUgd29ya3RyZWUgXHU2RTA1XHU3NDA2PC9zcGFuPjwvYnV0dG9uPiIpLEIrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIHRvcGJhci1tb3JlLWl0ZW0tZGFuZ2VyIiBkYXRhLWFjdGlvbj0iZGVsZXRlLXNlc3Npb24iIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicrRisiPHNwYW4+XHU1MjIwXHU5NjY0XHU1RjUzXHU1MjREXHU0RjFBXHU4QkREPC9zcGFuPjwvYnV0dG9uPiI7dmFyIFQ9aCYmZz8nPGRpdiBjbGFzcz0idG9wYmFyLW1vcmUtZGl2aWRlciIgcm9sZT0ic2VwYXJhdG9yIj48L2Rpdj4nOiIiO3JldHVybic8ZGl2IGNsYXNzPSJ0b3BiYXItbW9yZS13cmFwIj48YnV0dG9uIGlkPSJ0b3BiYXItbW9yZS1idXR0b24iIGNsYXNzPSJ0b3BiYXItYnRuIHNxdWFyZScrKHQ/IiBhY3RpdmUiOiIiKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NjRDRFx1NEY1QyIgYXJpYS1oYXNwb3B1cD0ibWVudSIgYXJpYS1leHBhbmRlZD0iJysodD8idHJ1ZSI6ImZhbHNlIikrJyIgdGl0bGU9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NjRDRFx1NEY1QyI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIxIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxOSIgcj0iMSIvPjwvc3ZnPjwvYnV0dG9uPjxkaXYgaWQ9InRvcGJhci1tb3JlLW1lbnUiIGNsYXNzPSJ0b3BiYXItbW9yZS1tZW51JysodD8iIjoiIGhpZGRlbiIpKyciIHJvbGU9Im1lbnUiIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERCI+JytBK1QrQisiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBmZihlLHQpe2lmKCFlKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7dmFyIGE9dCYmdC5mb3JjZSxpPURhdGUubm93KCk7aWYoIWEmJnMuZ2l0U3RhdHVzU2Vzc2lvbklkPT09ZSYmcy5naXRTdGF0dXMmJmktcy5naXRTdGF0dXNMYXN0RmV0Y2hBdDwxZTMpcmV0dXJuIFByb21pc2UucmVzb2x2ZShzLmdpdFN0YXR1cyk7aWYocy5naXRTdGF0dXNJbmZsaWdodCYmcy5naXRTdGF0dXNJbmZsaWdodC5zZXNzaW9uSWQ9PT1lKXJldHVybiBzLmdpdFN0YXR1c0luZmxpZ2h0LnByb21pc2U7cy5naXRTdGF0dXNMb2FkaW5nPSEwO3ZhciBvPWZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvZ2l0LXN0YXR1cyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGMpe3JldHVybiBjLm9rP2MuanNvbigpOntpc0dpdDohMX19KS50aGVuKGZ1bmN0aW9uKGMpe3JldHVybiBzLmdpdFN0YXR1cz1jfHx7aXNHaXQ6ITF9LHMuZ2l0U3RhdHVzU2Vzc2lvbklkPWUscy5naXRTdGF0dXNMYXN0RmV0Y2hBdD1EYXRlLm5vdygpLGxoKCksY30pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHMuZ2l0U3RhdHVzPXtpc0dpdDohMX0scy5naXRTdGF0dXNTZXNzaW9uSWQ9ZSxzLmdpdFN0YXR1c0xhc3RGZXRjaEF0PURhdGUubm93KCksbGgoKSxudWxsfSkuZmluYWxseShmdW5jdGlvbigpe3MuZ2l0U3RhdHVzTG9hZGluZz0hMSxzLmdpdFN0YXR1c0luZmxpZ2h0JiZzLmdpdFN0YXR1c0luZmxpZ2h0LnNlc3Npb25JZD09PWUmJihzLmdpdFN0YXR1c0luZmxpZ2h0PW51bGwpfSk7cmV0dXJuIHMuZ2l0U3RhdHVzSW5mbGlnaHQ9e3Nlc3Npb25JZDplLHByb21pc2U6b30sb31aQih7b25PcGVuOmZ1bmN0aW9uKCl7bG4uY2xvc2VJZk9wZW4oKSxWTigpLFVOKCksWkUoKX0sb25DbG9zZTpmdW5jdGlvbigpe30sb25SZXBvc2l0b3J5Q2hhbmdlZDpmdW5jdGlvbihlKXtmZihlLHtmb3JjZTohMH0pfSx0b2FzdDpmdW5jdGlvbihlLHQpe2hlKGUsdCl9fSk7ZnVuY3Rpb24gY2goKXtpZihzLnNlbGVjdGVkSWQpe3ZhciBlPXMuc2VsZWN0ZWRJZCx0PWZ1bmN0aW9uKCl7aWYoIShsbi5pc09wZW4oKSYmIWxuLmNsb3NlSWZPcGVuKCkpKXt2YXIgYT13aW5kb3cuX193YW5kUmVhY3RXb3JrdHJlZU1lcmdlO2lmKCEoYT8uaXNPcGVuKCkmJiFhLmNsb3NlSWZPcGVuKCkpKXt2YXIgaT13aW5kb3cuX193YW5kUmVhY3ROZXdTZXNzaW9uO2lmKCEoaT8uaXNPcGVuKCkmJiFpLmNsb3NlSWZPcGVuKCkpKXt2YXIgbz13aW5kb3cuX193YW5kUmVhY3RTZXR0aW5ncztvPy5pc09wZW4oKSYmIW8uY2xvc2VJZk9wZW4oKXx8TG4ub3Blbih7c2Vzc2lvbklkOmV9KX19fX07YmwodCkmJnQoKX19ZnVuY3Rpb24geDYoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9RGF0ZS5ub3coKSxhPW5ldyBEYXRlKGUpLmdldFRpbWUoKSxpPU1hdGgubWF4KDAsdC1hKSxvPU1hdGguZmxvb3IoaS8xZTMpO2lmKG88NjApcmV0dXJuIlx1NTIxQVx1NTIxQSI7dmFyIGM9TWF0aC5mbG9vcihvLzYwKTtpZihjPDYwKXJldHVybiBjKyJcdTUyMDZcdTk0OUZcdTUyNEQiO3ZhciBkPU1hdGguZmxvb3IoYy82MCk7aWYoZDwyNClyZXR1cm4gZCsiXHU1QzBGXHU2NUY2XHU1MjREIjt2YXIgZj1NYXRoLmZsb29yKGQvMjQpO3JldHVybiBmPDMwP2YrIlx1NTkyOVx1NTI0RCI6TWF0aC5mbG9vcihmLzMwKSsiXHU0RTJBXHU2NzA4XHU1MjREIn1mdW5jdGlvbiBFNihlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1EYXRlLm5vdygpLGE9bmV3IERhdGUoZSkuZ2V0VGltZSgpLGk9TWF0aC5tYXgoMCx0LWEpLG89TWF0aC5mbG9vcihpLzFlMyksYz1NYXRoLmZsb29yKG8vNjApLGQ9TWF0aC5mbG9vcihjLzYwKTtyZXR1cm4gZD4wP2QrImgiKyhjJTYwPjA/YyU2MCsibSI6IiIpOmM+MD9jKyJtIjpvKyJzIn1mdW5jdGlvbiB3bChlKXtpZighZSlyZXR1cm4iIjtpZihlLnBlcm1pc3Npb25CbG9ja2VkKXJldHVybiJcdTdCNDlcdTVGODVcdTYzODhcdTY3NDMiO2lmKHV0KGUpJiZlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpcmV0dXJuIlx1NjAxRFx1ODAwM1x1NEUyRCI7dmFyIHQ9e2lkbGU6Ilx1N0E3QVx1OTVGMiIsc3RvcHBlZDoiXHU1REYyXHU1MDVDXHU2QjYyIixydW5uaW5nOiJcdThGRDBcdTg4NENcdTRFMkQiLHRoaW5raW5nOiJcdTYwMURcdTgwMDNcdTRFMkQiLCJ3YWl0aW5nLWlucHV0IjoiXHU3QjQ5XHU1Rjg1XHU4RjkzXHU1MTY1Iix3YWl0aW5nX2lucHV0OiJcdTdCNDlcdTVGODVcdThGOTNcdTUxNjUiLHJlY29ubmVjdGluZzoiXHU5MUNEXHU4RkRFXHU0RTJEIixleGl0ZWQ6Ilx1NURGMlx1OTAwMFx1NTFGQSIsZmFpbGVkOiJcdTVERjJcdTU5MzFcdThEMjUifTtyZXR1cm4gdFtlLnN0YXR1c118fGUuc3RhdHVzfWZ1bmN0aW9uIEY2KGUpe3JldHVybiBlP2UucGVybWlzc2lvbkJsb2NrZWQ/InBlcm1pc3Npb24tYmxvY2tlZCI6dXQoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodD8icnVubmluZyI6ZS5zdGF0dXN8fCIiOiIifWZ1bmN0aW9uIExUKGUpe3JldHVybiBlP2UucGVybWlzc2lvbkJsb2NrZWQ/Ilx1N0I0OVx1NUY4NVx1NEY2MFx1NzY4NFx1NjM4OFx1Njc0MyI6ZS5zdGF0dXMhPT0icnVubmluZyI/IiI6ZS5pZD09PXMuc2VsZWN0ZWRJZCYmcy5jdXJyZW50VGFzayYmcy5jdXJyZW50VGFzay50aXRsZT9zLmN1cnJlbnRUYXNrLnRpdGxlOmUuY3VycmVudFRhc2tUaXRsZT9lLmN1cnJlbnRUYXNrVGl0bGU6IiI6IiJ9ZnVuY3Rpb24gelQoZSl7dmFyIHQ9ZSYmZS5tZXNzYWdlcztpZighdHx8dC5sZW5ndGg9PT0wKXJldHVybiIiO2Zvcih2YXIgYT10Lmxlbmd0aC0xO2E+PTA7YS0tKXt2YXIgaT10W2FdO2lmKCEoIWl8fGkucm9sZSE9PSJ1c2VyIikpe3ZhciBvPWkuY29udGVudDtpZih0eXBlb2Ygbz09InN0cmluZyIpe3ZhciBjPW8udHJpbSgpO2lmKGMpcmV0dXJuIGM7Y29udGludWV9aWYoQXJyYXkuaXNBcnJheShvKSlmb3IodmFyIGQ9MDtkPG8ubGVuZ3RoO2QrKyl7dmFyIGY9b1tkXTtpZighKCFmfHxmLnR5cGUhPT0idGV4dCJ8fCFmLnRleHQpJiYhZi5fX3F1ZXVlZCl7dmFyIG09U3RyaW5nKGYudGV4dCkudHJpbSgpO2lmKG0pcmV0dXJuIG19fX19cmV0dXJuIiJ9ZnVuY3Rpb24gSFQoZSl7dmFyIHQ9ZSYmZS5tZXNzYWdlcztpZighdHx8dC5sZW5ndGg9PT0wKXJldHVybiIiO2Zvcih2YXIgYT10Lmxlbmd0aC0xO2E+PTA7YS0tKXt2YXIgaT10W2FdO2lmKGkucm9sZT09PSJhc3Npc3RhbnQiKXtmb3IodmFyIG89aS5jb250ZW50fHxbXSxjPTA7YzxvLmxlbmd0aDtjKyspaWYob1tjXS50eXBlPT09InRleHQiJiZvW2NdLnRleHQmJm9bY10udGV4dC50cmltKCkpe3ZhciBkPW9bY10udGV4dC50cmltKCk7ZD1kLnJlcGxhY2UoL14jK1xzKy9nbSwiIikucmVwbGFjZSgvXCpcKi9nLCIiKS5yZXBsYWNlKC9gL2csIiIpO3ZhciBmPWQuc3BsaXQoYApgKVswXS50cmltKCk7cmV0dXJuIGYuc2xpY2UoMCwxMDApfX19cmV0dXJuIiJ9ZnVuY3Rpb24gcVQoZSx0KXt2YXIgYT1lLmlkPT09cy5zZWxlY3RlZElkPyIgYWN0aXZlIjoiIixpPXMuc2Vzc2lvbnNNYW5hZ2VNb2RlJiZzLnNlbGVjdGVkU2Vzc2lvbklkc1tlLmlkXT8iIHNlbGVjdGVkIjoiIixvPXMuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIgc2Vzc2lvbi1tYW5hZ2luZyI6IiIsYz13bChlKSxkPUY2KGUpLGY9ZS5wZXJtaXNzaW9uQmxvY2tlZHx8dXQoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodHx8WyJydW5uaW5nIiwidGhpbmtpbmciLCJ3YWl0aW5nLWlucHV0Iiwid2FpdGluZ19pbnB1dCIsInJlY29ubmVjdGluZyJdLmluZGV4T2YoZS5zdGF0dXMpIT09LTEsbT1lLnBlcm1pc3Npb25CbG9ja2VkfHxbIndhaXRpbmctaW5wdXQiLCJ3YWl0aW5nX2lucHV0IiwicmVjb25uZWN0aW5nIl0uaW5kZXhPZihlLnN0YXR1cykhPT0tMSxoPWY/IiBzdGF0dXMtcHJvbWluZW50IisobT8iIHN0YXR1cy1wcm9taW5lbnQtd2FybmluZyI6IiIpOiIiLGc9IiIsYj1NNigic2Vzc2lvbnMiLGUuaWQsIlx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERCAiK2UuY29tbWFuZCk7aWYoZS5jbGF1ZGVTZXNzaW9uSWQmJmUuc3RhdHVzIT09InJ1bm5pbmciJiYhcy5zZXNzaW9uc01hbmFnZU1vZGUmJiF1dChlKSl7dmFyIHk9e2NsYXVkZToiQ2xhdWRlIixjb2RleDoiQ29kZXgiLG9wZW5jb2RlOiJPcGVuQ29kZSIsZ3JvazoiR3JvayIscW9kZXI6IlFvZGVyIn0sQz0iXHU2MDYyXHU1OTBEICIrKHlbZS5wcm92aWRlcl18fCJQcm92aWRlciIpKyIgXHU0RjFBXHU4QkREIjtnPSc8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4iIGRhdGEtYWN0aW9uPSJyZXN1bWUiIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iJytDKyciIHRpdGxlPSInK0MrJyI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMSA0djZoNiIvPjxwYXRoIGQ9Ik0zLjUxIDE1YTkgOSAwIDEwNS42NC0xMS4zNkwzIDEwIi8+PC9zdmc+PC9idXR0b24+J312YXIgdz0hcy5zZXNzaW9uc01hbmFnZU1vZGUmJmUud29ya3RyZWVFbmFibGVkJiZlLndvcmt0cmVlJiZlLndvcmt0cmVlLmJyYW5jaCYmZS53b3JrdHJlZS5wYXRoLHg9ZS53b3JrdHJlZU1lcmdlU3RhdHVzPT09Im1lcmdlZCImJmUud29ya3RyZWVNZXJnZUluZm8mJmUud29ya3RyZWVNZXJnZUluZm8uY2xlYW51cERvbmU9PT0hMSxGPWUuc3RhdHVzPT09InJ1bm5pbmcifHxlLndvcmt0cmVlTWVyZ2VTdGF0dXM9PT0ibWVyZ2luZyIsQT14PyJcdTkxQ0RcdThCRDVcdTZFMDVcdTc0MDYgd29ya3RyZWUiOiJcdTU0MDhcdTVFNzZcdTUyMzBcdTRFM0JcdTUyMDZcdTY1MkYiLEQ9dyYmZS53b3JrdHJlZU1lcmdlU3RhdHVzIT09Im1lcmdlZCI/JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biBtZXJnZS1idG4iIGRhdGEtYWN0aW9uPSJ3b3JrdHJlZS1tZXJnZSIgZGF0YS1zZXNzaW9uLWlkPSInK2UuaWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSInK0woQSkrJyIgdGl0bGU9IicrTChBKSsnIicrKEY/IiBkaXNhYmxlZCI6IiIpKyc+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNyA3aDEwIi8+PHBhdGggZD0iTTcgMTJoMTAiLz48cGF0aCBkPSJNNyAxN2gxMCIvPjxwYXRoIGQ9Ik01IDdsLTIgMiAyIDIiLz48cGF0aCBkPSJNMTkgMTVsMiAyLTIgMiIvPjwvc3ZnPjwvYnV0dG9uPic6eD8nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb24tYnRuIG1lcmdlLWJ0biIgZGF0YS1hY3Rpb249Indvcmt0cmVlLWNsZWFudXAiIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU5MUNEXHU4QkQ1XHU2RTA1XHU3NDA2IHdvcmt0cmVlIiB0aXRsZT0iXHU5MUNEXHU4QkQ1XHU2RTA1XHU3NDA2IHdvcmt0cmVlIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPjwvYnV0dG9uPic6IiIsQj1zLnNlc3Npb25zTWFuYWdlTW9kZT8iIjonPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb24tYnRuIGRlbGV0ZS1idG4iIGRhdGEtYWN0aW9uPSJkZWxldGUtc2Vzc2lvbiIgZGF0YS1zZXNzaW9uLWlkPSInK2UuaWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQiIHRpdGxlPSJcdTUyMjBcdTk2NjRcdTZCNjRcdTRGMUFcdThCREQiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+PC9idXR0b24+JyxUPSc8c3BhbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb25zIj4nK2crRCtCKyI8L3NwYW4+IixrPWUudGl0bGVHZW5lcmF0aW5nPyIgdGl0bGUtZ2VuZXJhdGluZyI6IiIsTT1lLnRpdGxlR2VuZXJhdGluZz8nIGFyaWEtYnVzeT0idHJ1ZSInOiIiLHo9ZS50aXRsZXx8ZS5zdW1tYXJ5Pyc8ZGl2IGNsYXNzPSJzZXNzaW9uLXRpdGxlJytrKyciJytNKyI+IitMKGUudGl0bGV8fGUuc3VtbWFyeSkrIjwvZGl2PiI6JzxkaXYgY2xhc3M9InNlc3Npb24tY29tbWFuZCcraysnIicrTSsiPiIrTChlLnJlc3VtZWRGcm9tU2Vzc2lvbklkP2UuY29tbWFuZC5yZXBsYWNlKC9ccystLXJlc3VtZVxzK1xTKy8sIiIpLnJlcGxhY2UoL1xzK3Jlc3VtZVxzK1swLTlhLWYtXSsvLCIiKTplLmNvbW1hbmQpKyI8L2Rpdj4iLE89TFQoZSkscmU9IiI7ZS5zdGF0dXM9PT0icnVubmluZyImJk8mJihyZT0nPGRpdiBjbGFzcz0ic2Vzc2lvbi1hY3Rpdml0eSI+JytMKE8pKyI8L2Rpdj4iKTt2YXIgZWU9ZS5kZXNjcmlwdGlvbj8nPGRpdiBjbGFzcz0ic2Vzc2lvbi1kZXNjcmlwdGlvbiI+JytMKGUuZGVzY3JpcHRpb24pKyI8L2Rpdj4iOiIiLFo9IiI7ZS5zdGF0dXM9PT0icnVubmluZyI/Wj0nPHNwYW4gY2xhc3M9InNlc3Npb24tdGltZSIgdGl0bGU9Ilx1NURGMlx1OEZEMFx1ODg0QyAnK0woRTYoZS5zdGFydGVkQXQpKSsnIj4nK0woRTYoZS5zdGFydGVkQXQpKSsiPC9zcGFuPiI6ZS5lbmRlZEF0P1o9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXRpbWUiIHRpdGxlPSInK0wobmV3IERhdGUoZS5lbmRlZEF0KS50b0xvY2FsZVN0cmluZygpKSsnIj4nK0woeDYoZS5lbmRlZEF0KSkrIjwvc3Bhbj4iOmUuc3RhcnRlZEF0JiYoWj0nPHNwYW4gY2xhc3M9InNlc3Npb24tdGltZSIgdGl0bGU9IicrTChuZXcgRGF0ZShlLnN0YXJ0ZWRBdCkudG9Mb2NhbGVTdHJpbmcoKSkrJyI+JytMKHg2KGUuc3RhcnRlZEF0KSkrIjwvc3Bhbj4iKTt2YXIgdmU9VlQoZSksbWU9ZS5hdXRvUmVjb3ZlcmVkPyc8c3BhbiBjbGFzcz0ic2Vzc2lvbi1yZWNvdmVyeS1oaW50Ij5cdTgxRUFcdTUyQThcdTYwNjJcdTU5MEQ8L3NwYW4+JzoiIixIPXMuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIiOic8ZGl2IGNsYXNzPSJzZXNzaW9uLXN3aXBlLWJnIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1zd2lwZS1kZWxldGUiIGRhdGEtYWN0aW9uPSJzd2lwZS1kZWxldGUtc2Vzc2lvbiIgZGF0YS1zZXNzaW9uLWlkPSInK2UuaWQrJyIgdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iLTEiIGFyaWEtbGFiZWw9Ilx1NTIyMFx1OTY2NFx1NEYxQVx1OEJERCI+PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyA2aDE4Ii8+PHBhdGggZD0iTTggNlY0YTIgMiAwIDAxMi0yaDRhMiAyIDAgMDEyIDJ2MiIvPjxwYXRoIGQ9Ik0xOSA2bC0xIDE0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMkw1IDYiLz48L3N2Zz48c3Bhbj5cdTUyMjBcdTk2NjQ8L3NwYW4+PC9idXR0b24+PC9kaXY+JztyZXR1cm4nPGRpdiBjbGFzcz0ic2Vzc2lvbi1pdGVtJythK2krbytoKyciIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPicrSCsnPGRpdiBjbGFzcz0ic2Vzc2lvbi1pdGVtLWNvbnRlbnQiPjxkaXYgY2xhc3M9InNlc3Npb24taXRlbS1yb3ciPicrYisnPGRpdiBjbGFzcz0ic2Vzc2lvbi1tYWluIj48ZGl2IGNsYXNzPSJzZXNzaW9uLXRpdGxlLXJvdyI+Jyt6K1orIjwvZGl2PiIrZWUrcmUrJzxkaXYgY2xhc3M9InNlc3Npb24tbWV0YSI+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzICcrZCsnIj4nK0woYykrIjwvc3Bhbj4iKyhlLmN3ZD9RZihlLmN3ZCwic2Vzc2lvbi1wYXRoIik6IiIpK3ZlK21lKyI8L2Rpdj48L2Rpdj4iK1QrIjwvZGl2PjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gUFQoZSl7aWYoIWV8fCFlLndvcmt0cmVlTWVyZ2VTdGF0dXMpcmV0dXJuIiI7dmFyIHQ9e3JlYWR5OiJcdTUzRUZcdTU0MDhcdTVFNzYiLGNoZWNraW5nOiJcdTY4QzBcdTY3RTVcdTRFMkQiLG1lcmdpbmc6Ilx1NTQwOFx1NUU3Nlx1NEUyRCIsbWVyZ2VkOmUud29ya3RyZWVNZXJnZUluZm8mJmUud29ya3RyZWVNZXJnZUluZm8uY2xlYW51cERvbmU9PT0hMT8iXHU1REYyXHU1NDA4XHU1RTc2XHU1Rjg1XHU2RTA1XHU3NDA2IjoiXHU1REYyXHU1NDA4XHU1RTc2IixmYWlsZWQ6Ilx1NTQwOFx1NUU3Nlx1NTkzMVx1OEQyNSJ9O3JldHVybiB0W2Uud29ya3RyZWVNZXJnZVN0YXR1c118fCIifWZ1bmN0aW9uIFVUKGUpe3ZhciB0PVBUKGUpO3JldHVybiB0Pyc8c3BhbiBjbGFzcz0ic2Vzc2lvbi1raW5kLWJhZGdlIHdvcmt0cmVlLW1lcmdlICcrTChlLndvcmt0cmVlTWVyZ2VTdGF0dXN8fCIiKSsnIj4nK0wodCkrIjwvc3Bhbj4iOiIifWZ1bmN0aW9uIFZUKGUpe2lmKCFlfHwhZS53b3JrdHJlZUVuYWJsZWQpcmV0dXJuIiI7dmFyIHQ9W107ZS53b3JrdHJlZSYmZS53b3JrdHJlZS5icmFuY2gmJnQucHVzaCgiV29ya3RyZWU6ICIrZS53b3JrdHJlZS5icmFuY2gpLGUud29ya3RyZWUmJmUud29ya3RyZWUucGF0aCYmdC5wdXNoKCJQYXRoOiAiK2Uud29ya3RyZWUucGF0aCk7dmFyIGE9dC5sZW5ndGg+MD8nIHRpdGxlPSInK0wodC5qb2luKGAKYCkpKyciJzoiIjtyZXR1cm4nPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSB3b3JrdHJlZSInK2ErIj5Xb3JrdHJlZTwvc3Bhbj4iK1VUKGUpfXZhciBkaD0id2FuZC1ub24td2FuZC1zZXNzaW9ucy1leHBhbmRlZCIsZmg9IndhbmQtYXV0b21hdGlvbi1zZXNzaW9ucy1leHBhbmRlZCI7ZnVuY3Rpb24gR1QoZSl7cmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJhdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAiKT9maDplLmNsYXNzTGlzdC5jb250YWlucygibm9uLXdhbmQtc2Vzc2lvbi1ncm91cCIpP2RoOiIifWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvZ2dsZSIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7aWYoISghdHx8IXQuY2xhc3NMaXN0KSl7dmFyIGE9R1QodCk7aWYoYSl7aWYocy5zZXNzaW9uc01hbmFnZU1vZGUpe3Qub3Blbnx8KHQub3Blbj0hMCk7cmV0dXJufVR0KGEsdC5vcGVuKX19fSwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe2lmKCFDdCgpKXt2YXIgdD1lLnRhcmdldDtpZighKCF0fHx0eXBlb2YgdC5jbG9zZXN0IT0iZnVuY3Rpb24iKSl7aWYodC5jbG9zZXN0KCIubm9uLXdhbmQtc2Vzc2lvbi1ncm91cC5tYW5hZ2UtbW9kZSA+IHN1bW1hcnksIC5hdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAubWFuYWdlLW1vZGUgPiBzdW1tYXJ5Iikpe2UucHJldmVudERlZmF1bHQoKTtyZXR1cm59dmFyIGE9dC5jbG9zZXN0KCJbZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cF0iKTtpZihhKXt2YXIgaT1hLmRhdGFzZXQuZXhwYW5kU2Vzc2lvbkdyb3VwLG89aT09PSJhdXRvbWF0aW9uIj9maDppPT09Im5vbi13YW5kIj9kaDoiIjtpZihvKXtUdChvLCEwKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1jb2xsYXBzZS1idG4iKTtjJiZjLmNsaWNrKCl9fX19fSk7ZnVuY3Rpb24gWVQoZSl7dmFyIHQ9U3RyaW5nKGUmJmUuc2Vzc2lvblNvdXJjZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ9PT0iYXV0b21hdGlvbiJ8fHQ9PT0ic3RhcnR1cCJ9ZnVuY3Rpb24gcGgoZSl7cmV0dXJuIGUuc29ydChmdW5jdGlvbih0LGEpe3JldHVybiBhLnQtdC50fSl9ZnVuY3Rpb24gQzYoKXt2YXIgZT1bXSx0PVtdLGE9W107cmV0dXJuIHMuc2Vzc2lvbnMuZm9yRWFjaChmdW5jdGlvbihpKXt2YXIgbz1pLnN0YXJ0ZWRBdD9uZXcgRGF0ZShpLnN0YXJ0ZWRBdCkuZ2V0VGltZSgpOjAsYz17a2luZDoic2Vzc2lvbiIscmVmOmksdDppc0Zpbml0ZShvKT9vOjB9OyhZVChpKT90OmUpLnB1c2goYyl9KSxzLmNsYXVkZUhpc3RvcnlMb2FkZWQmJnhsKCkuZm9yRWFjaChmdW5jdGlvbihpKXt2YXIgbz1pLnRpbWVzdGFtcD9uZXcgRGF0ZShpLnRpbWVzdGFtcCkuZ2V0VGltZSgpOk51bWJlcihpLm10aW1lTXMpfHwwO2lzRmluaXRlKG8pfHwobz1OdW1iZXIoaS5tdGltZU1zKXx8MCksYS5wdXNoKHtraW5kOiJoaXN0b3J5IixyZWY6aSx0Om99KX0pLHMuY29kZXhIaXN0b3J5TG9hZGVkJiZnaCgpLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIG89aS50aW1lc3RhbXA/bmV3IERhdGUoaS50aW1lc3RhbXApLmdldFRpbWUoKTpOdW1iZXIoaS5tdGltZU1zKXx8MDthLnB1c2goe2tpbmQ6ImNvZGV4IixyZWY6aSx0OmlzRmluaXRlKG8pP286MH0pfSkse3dhbmQ6cGgoZSksYXV0b21hdGlvbjpwaCh0KSxub25XYW5kOnBoKGEpfX1mdW5jdGlvbiBXVCgpe3ZhciBlPVtdO2UucHVzaChENigpKTt2YXIgdD1DNigpO3JldHVybiB0LndhbmQubGVuZ3RoK3QuYXV0b21hdGlvbi5sZW5ndGgrdC5ub25XYW5kLmxlbmd0aD09PTA/RDYoKSsnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU4RkQ4XHU2Q0ExXHU2NzA5XHU0RjFBXHU4QkREXHU4QkIwXHU1RjU1PC9zdHJvbmc+PGJyPlx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMjwvZGl2Pic6KHQud2FuZC5sZW5ndGg+MCYmZS5wdXNoKG1oKHQud2FuZCkpLHQuYXV0b21hdGlvbi5sZW5ndGg+MCYmZS5wdXNoKCRUKHQuYXV0b21hdGlvbikpLHQubm9uV2FuZC5sZW5ndGg+MCYmZS5wdXNoKFhUKHQubm9uV2FuZCkpLGUuam9pbigiIikpfWZ1bmN0aW9uIEtUKCl7cmV0dXJuISFzLnNpZGViYXJQaW5uZWQmJiEhcy5zaWRlYmFyQ29sbGFwc2VkfWZ1bmN0aW9uIFFUKCl7dmFyIGU9QzYoKSx0PWUud2FuZC5tYXAoZnVuY3Rpb24obSxoKXt2YXIgZz1oKzEsYj1tLnJlZix5PWIuaWQ9PT1zLnNlbGVjdGVkSWQ/IiBhY3RpdmUiOiIiLEM9Yi50aXRsZXx8Yi5kZXNjcmlwdGlvbnx8Yi5zdW1tYXJ5fHxiLmNvbW1hbmR8fCJcdTRGMUFcdThCREQgIitnO3JldHVybic8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlJyt5KyciIHR5cGU9ImJ1dHRvbiIgZGF0YS1jb2xsYXBzZWQtc2Vzc2lvbi1pZD0iJytMKGIuaWQpKyciIHRpdGxlPSInK0woQykrJyI+JytnKyI8L2J1dHRvbj4ifSkuam9pbigiIiksYT1lLmF1dG9tYXRpb24ubGVuZ3RoLGk9ZS5hdXRvbWF0aW9uLnNvbWUoZnVuY3Rpb24obSl7cmV0dXJuIG0ucmVmLmlkPT09cy5zZWxlY3RlZElkfSksbz1hPjA/JzxidXR0b24gY2xhc3M9InNpZGViYXItY29sbGFwc2VkLXRpbGUgYXV0b21hdGlvbi1jb3VudC10aWxlJysoaT8iIGFjdGl2ZS1ncm91cCI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cD0iYXV0b21hdGlvbiIgdGl0bGU9Ilx1NUM1NVx1NUYwMFx1NjdFNVx1NzcwQiAnK2ErJyBcdTRFMkFcdTgxRUFcdTUyQThcdTUzMTZcdTRGMUFcdThCREQiIGFyaWEtbGFiZWw9Ilx1NUM1NVx1NUYwMFx1NjdFNVx1NzcwQiAnK2ErJyBcdTRFMkFcdTgxRUFcdTUyQThcdTUzMTZcdTRGMUFcdThCREQiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTEyIDJ2NCIvPjxwYXRoIGQ9Ik0xMiAxOHY0Ii8+PHBhdGggZD0iTTQuOTMgNC45M2wyLjgzIDIuODMiLz48cGF0aCBkPSJNMTYuMjQgMTYuMjRsMi44MyAyLjgzIi8+PHBhdGggZD0iTTIgMTJoNCIvPjxwYXRoIGQ9Ik0xOCAxMmg0Ii8+PHBhdGggZD0iTTQuOTMgMTkuMDdsMi44My0yLjgzIi8+PHBhdGggZD0iTTE2LjI0IDcuNzZsMi44My0yLjgzIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJub24td2FuZC1jb3VudC1iYWRnZSI+JysoYT45OT8iOTkrIjphKSsiPC9zcGFuPjwvYnV0dG9uPiI6IiIsYz1lLm5vbldhbmQubGVuZ3RoLGQ9Yz4wPyc8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIG5vbi13YW5kLWNvdW50LXRpbGUiIHR5cGU9ImJ1dHRvbiIgZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cD0ibm9uLXdhbmQiIHRpdGxlPSJcdTVDNTVcdTVGMDBcdTY3RTVcdTc3MEIgJytjKycgXHU0RTJBXHU5NzVFIFdhbmQgXHU0RjFBXHU4QkREIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDBcdTY3RTVcdTc3MEIgJytjKycgXHU0RTJBXHU5NzVFIFdhbmQgXHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0zIDEyYTkgOSAwIDEwOS05IDkuNzUgOS43NSAwIDAwLTYuNzQgMi43NEwzIDgiLz48cGF0aCBkPSJNMyAzdjVoNSIvPjxwYXRoIGQ9Ik0xMiA3djVsMyAyIi8+PC9zdmc+PHNwYW4gY2xhc3M9Im5vbi13YW5kLWNvdW50LWJhZGdlIj4nKyhjPjk5PyI5OSsiOmMpKyI8L3NwYW4+PC9idXR0b24+IjoiIixmPSc8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIGFkZCIgdHlwZT0iYnV0dG9uIiBkYXRhLWNvbGxhcHNlZC1uZXctc2Vzc2lvbj0iMSIgdGl0bGU9Ilx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERCIgYXJpYS1sYWJlbD0iXHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ii8+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz48L3N2Zz48L2J1dHRvbj4nO3JldHVybic8ZGl2IGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlcyI+Jyt0K28rZCtmKyI8L2Rpdj4ifWZ1bmN0aW9uIHZoKCl7cmV0dXJuIEtUKCk/UVQoKTpXVCgpfWZ1bmN0aW9uIEQ2KCl7aWYoIXMuc2Vzc2lvbnNNYW5hZ2VNb2RlKXJldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1iYXIiPjxzcGFuIGNsYXNzPSJzaWRlYmFyLWludHJvIj5XYW5kIFx1NEYxQVx1OEJERDwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi14cyBzZXNzaW9uLW1hbmFnZS10b2dnbGUiIGRhdGEtYWN0aW9uPSJ0b2dnbGUtbWFuYWdlLW1vZGUiIHR5cGU9ImJ1dHRvbiI+PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOSAxMWwzIDNMMjIgNCIvPjxwYXRoIGQ9Ik0yMSAxMnY3YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMSIvPjwvc3ZnPjxzcGFuPlx1N0JBMVx1NzQwNjwvc3Bhbj48L2J1dHRvbj48L2Rpdj4nO3ZhciBlPUE2KCkubGVuZ3RoLHQ9UzYoKS5sZW5ndGgsYT1CNigpLmxlbmd0aCxpPWUrdCthLG89aT4wLGM9WlQoKSxkPWM+MCYmaT49YyxmPWQ/Ilx1NTNENlx1NkQ4OFx1NTE2OFx1OTAwOSI6Ilx1NTE2OFx1OTAwOSIsbT1kPyJjbGVhci1zZWxlY3Rpb24iOiJzZWxlY3QtYWxsLXZpc2libGUiLGg9Yz09PTA/IiBkaXNhYmxlZCI6IiIsZz0nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtZXhpdCIgZGF0YS1hY3Rpb249InRvZ2dsZS1tYW5hZ2UtbW9kZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj4nLGI9bz8nPHNwYW4gY2xhc3M9InNlc3Npb24tbWFuYWdlLWNvdW50Ij4nK2krJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeS1sYWJlbCI+XHU1REYyXHU5MDA5XHU2MkU5PC9zcGFuPic6JzxzcGFuIGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5LWxhYmVsIG11dGVkIj5cdTkwMDlcdTYyRTlcdTg5ODFcdTdCQTFcdTc0MDZcdTc2ODRcdTk4NzlcdTc2RUU8L3NwYW4+JztyZXR1cm4nPGRpdiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtYmFyIGFjdGl2ZSI+JytnKyc8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5Ij4nK2IrJzwvZGl2PjxkaXYgY2xhc3M9InNlc3Npb24tbWFuYWdlLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXhzIiBkYXRhLWFjdGlvbj0iJyttKyciIHR5cGU9ImJ1dHRvbiInK2grIj4iK2YrJzwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFuZ2VyIGJ0bi14cyIgZGF0YS1hY3Rpb249ImRlbGV0ZS1zZWxlY3RlZCIgdHlwZT0iYnV0dG9uIicrKG8/IiI6IiBkaXNhYmxlZCIpKyI+XHU1MjIwXHU5NjY0Iisobz8iICIraToiIikrIjwvYnV0dG9uPjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gbWgoZSx0KXt2YXIgYT0nPHNlY3Rpb24gY2xhc3M9InNlc3Npb24tZ3JvdXAnKyh0PyIgIit0OiIiKSsnIj4nO3JldHVybiBhKz1lLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS5raW5kPT09InNlc3Npb24iP3FUKGkucmVmLCJzZXNzaW9ucyIpOmVqKGkucmVmLGkua2luZCl9KS5qb2luKCIiKSxhKz0iPC9zZWN0aW9uPiIsYX1mdW5jdGlvbiBYVChlKXt2YXIgdD1zLnNlc3Npb25zTWFuYWdlTW9kZXx8Z3UoZGgsITEpO3JldHVybic8ZGV0YWlscyBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1ncm91cCcrKHMuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIgbWFuYWdlLW1vZGUiOiIiKSsnIicrKHQ/IiBvcGVuIjoiIikrJz48c3VtbWFyeSBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5IiB0aXRsZT0iQ2xhdWRlIFx1NEUwRSBDb2RleCBcdTc2ODRcdTY3MkNcdTY3M0FcdTUzOUZcdTc1MUZcdTRGMUFcdThCRERcdUZGMENcdTRFMERcdTUzQzJcdTRFMEUgV2FuZCBcdTRGMUFcdThCRERcdTYzOTJcdTVFOEYiPjxzcGFuIGNsYXNzPSJub24td2FuZC1zZXNzaW9uLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTJhOSA5IDAgMTA5LTkgOS43NSA5Ljc1IDAgMDAtNi43NCAyLjc0TDMgOCIvPjxwYXRoIGQ9Ik0zIDN2NWg1Ii8+PHBhdGggZD0iTTEyIDd2NWwzIDIiLz48L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9Im5vbi13YW5kLXNlc3Npb24tdGl0bGUiPlx1OTc1RSBXYW5kIFx1NEYxQVx1OEJERDwvc3Bhbj48c3BhbiBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1jb3VudCIgYXJpYS1sYWJlbD0iJytlLmxlbmd0aCsnIFx1NEUyQVx1NEYxQVx1OEJERCI+JytlLmxlbmd0aCsnPC9zcGFuPjxzdmcgY2xhc3M9Im5vbi13YW5kLXNlc3Npb24tY2hldnJvbiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ii8+PC9zdmc+PC9zdW1tYXJ5PicrbWgoZSwibm9uLXdhbmQtc2Vzc2lvbi1saXN0IikrIjwvZGV0YWlscz4ifWZ1bmN0aW9uICRUKGUpe3ZhciB0PXMuc2Vzc2lvbnNNYW5hZ2VNb2RlfHxndShmaCwhMSk7cmV0dXJuJzxkZXRhaWxzIGNsYXNzPSJhdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAnKyhzLnNlc3Npb25zTWFuYWdlTW9kZT8iIG1hbmFnZS1tb2RlIjoiIikrJyInKyh0PyIgb3BlbiI6IiIpKyc+PHN1bW1hcnkgY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5IiB0aXRsZT0iXHU3NTMxXHU4MUVBXHU1MkE4XHU1MzE2XHU2MjE2XHU1NDJGXHU1MkE4XHU0RUZCXHU1MkExXHU1MjFCXHU1RUZBXHVGRjBDXHU0RTBEXHU1M0MyXHU0RTBFXHU2NjZFXHU5MDFBIFdhbmQgXHU0RjFBXHU4QkREXHU2MzkyXHU1RThGIj48c3BhbiBjbGFzcz0iYXV0b21hdGlvbi1zZXNzaW9uLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDJ2NCIvPjxwYXRoIGQ9Ik0xMiAxOHY0Ii8+PHBhdGggZD0iTTQuOTMgNC45M2wyLjgzIDIuODMiLz48cGF0aCBkPSJNMTYuMjQgMTYuMjRsMi44MyAyLjgzIi8+PHBhdGggZD0iTTIgMTJoNCIvPjxwYXRoIGQ9Ik0xOCAxMmg0Ii8+PHBhdGggZD0iTTQuOTMgMTkuMDdsMi44My0yLjgzIi8+PHBhdGggZD0iTTE2LjI0IDcuNzZsMi44My0yLjgzIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXV0b21hdGlvbi1zZXNzaW9uLXRpdGxlIj5cdTgxRUFcdTUyQThcdTUzMTY8L3NwYW4+PHNwYW4gY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1jb3VudCIgYXJpYS1sYWJlbD0iJytlLmxlbmd0aCsnIFx1NEUyQVx1NEYxQVx1OEJERCI+JytlLmxlbmd0aCsnPC9zcGFuPjxzdmcgY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1jaGV2cm9uIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiLz48L3N2Zz48L3N1bW1hcnk+JyttaChlLCJhdXRvbWF0aW9uLXNlc3Npb24tbGlzdCIpKyI8L2RldGFpbHM+In1mdW5jdGlvbiB4bCgpe3ZhciBlPW5ldyBTZXQ7cmV0dXJuIHMuc2Vzc2lvbnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNsYXVkZVNlc3Npb25JZCYmZS5hZGQodC5jbGF1ZGVTZXNzaW9uSWQpfSkscy5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5oYXNDb252ZXJzYXRpb24mJiF0Lm1hbmFnZWRCeVdhbmQmJiFlLmhhcyh0LmNsYXVkZVNlc3Npb25JZCl9KX1mdW5jdGlvbiBBNigpe3JldHVybiBPYmplY3Qua2V5cyhzLnNlbGVjdGVkU2Vzc2lvbklkcykuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhcy5zZWxlY3RlZFNlc3Npb25JZHNbZV19KX1mdW5jdGlvbiBTNigpe3JldHVybiBPYmplY3Qua2V5cyhzLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcykuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhcy5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHNbZV19KX1mdW5jdGlvbiBCNigpe3JldHVybiBPYmplY3Qua2V5cyhzLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuISFzLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzW2VdfSl9ZnVuY3Rpb24gcGYoKXtzLnNlbGVjdGVkU2Vzc2lvbklkcz17fSxzLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcz17fSxzLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzPXt9fWZ1bmN0aW9uIGs2KGUpe3Muc2Vzc2lvbnNNYW5hZ2VNb2RlPXR5cGVvZiBlPT0iYm9vbGVhbiI/ZTohcy5zZXNzaW9uc01hbmFnZU1vZGUscy5zZXNzaW9uc01hbmFnZU1vZGUmJighcy5jbGF1ZGVIaXN0b3J5TG9hZGVkfHwhcy5jb2RleEhpc3RvcnlMb2FkZWQpJiZGbCgpLnRoZW4oRHQpLHMuc2Vzc2lvbnNNYW5hZ2VNb2RlfHwocGYoKSxxbCgpKSxEdCgpfWZ1bmN0aW9uIFQ2KCl7cmV0dXJuIHMuc2Vzc2lvbnMuc2xpY2UoKX1mdW5jdGlvbiBaVCgpe3JldHVybiBUNigpLmxlbmd0aCt4bCgpLmxlbmd0aCtnaCgpLmxlbmd0aH1mdW5jdGlvbiBoaCgpe2lmKCFzLmNsYXVkZUhpc3RvcnlMb2FkZWR8fCFzLmNvZGV4SGlzdG9yeUxvYWRlZCl7RmwoKS50aGVuKGhoKTtyZXR1cm59dmFyIGU9e307VDYoKS5mb3JFYWNoKGZ1bmN0aW9uKGkpe2VbaS5pZF09ITB9KTt2YXIgdD17fTt4bCgpLmZvckVhY2goZnVuY3Rpb24oaSl7dFtpLmNsYXVkZVNlc3Npb25JZF09ITB9KTt2YXIgYT17fTtnaCgpLmZvckVhY2goZnVuY3Rpb24oaSl7YVtpLmNsYXVkZVNlc3Npb25JZF09ITB9KSxzLnNlbGVjdGVkU2Vzc2lvbklkcz1lLHMuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzPXQscy5zZWxlY3RlZENvZGV4SGlzdG9yeUlkcz1hLER0KCl9ZnVuY3Rpb24gajYoKXtwZigpLER0KCl9ZnVuY3Rpb24gV28oZSx0KXtpZighKCFzLnNlc3Npb25zTWFuYWdlTW9kZXx8IXQpKXt2YXIgYT1lPT09Imhpc3RvcnkiP3Muc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzOmU9PT0iY29kZXgiP3Muc2VsZWN0ZWRDb2RleEhpc3RvcnlJZHM6cy5zZWxlY3RlZFNlc3Npb25JZHM7YVt0XT9kZWxldGUgYVt0XTphW3RdPSEwLER0KCl9fWZ1bmN0aW9uIE02KGUsdCxhKXtpZighcy5zZXNzaW9uc01hbmFnZU1vZGUpcmV0dXJuIiI7dmFyIGk9ZT09PSJoaXN0b3J5Ij8hIXMuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzW3RdOmU9PT0iY29kZXgiPyEhcy5zZWxlY3RlZENvZGV4SGlzdG9yeUlkc1t0XTohIXMuc2VsZWN0ZWRTZXNzaW9uSWRzW3RdO3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24tbWFuYWdlLWNoZWNrIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRhdGEtYWN0aW9uPSJ0b2dnbGUtc2VsZWN0aW9uIiBkYXRhLWtpbmQ9IicrTChlKSsnIiBkYXRhLWlkPSInK0wodCkrJyInKyhpPyIgY2hlY2tlZCI6IiIpKycgYXJpYS1sYWJlbD0iJytMKGEpKyciPjxzcGFuPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gT2koZSx0KXtyZXR1cm4gTWgoZSxPYmplY3QuYXNzaWduKHt0eXBlOiJkYW5nZXIiLGRhbmdlcjohMCxva0xhYmVsOiJcdTUyMjBcdTk2NjQifSx0fHx7fSkpfWZ1bmN0aW9uIE82KCl7dmFyIGU9QTYoKSx0PVM2KCksYT1CNigpLGk9cy5zZXNzaW9ucy5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIGUuaW5kZXhPZihjLmlkKSE9PS0xfSkubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLmNsYXVkZVNlc3Npb25JZH0pLmZpbHRlcihCb29sZWFuKSxvPWUubGVuZ3RoK3QubGVuZ3RoK2EubGVuZ3RoO28mJk9pKCJcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdTYyNDBcdTkwMDkgIitvKyIgXHU5ODc5XHU1NDE3XHVGRjFGXHU2QjY0XHU2NENEXHU0RjVDXHU2NUUwXHU2Q0Q1XHU2NEE0XHU5NTAwXHUzMDAyIix7dGl0bGU6Ilx1NTIyMFx1OTY2NFx1NjI0MFx1OTAwOSAiK28rIiBcdTk4NzkifSkudGhlbihmdW5jdGlvbihjKXtpZihjKXt2YXIgZD1bXTtlLmxlbmd0aD4wJiZkLnB1c2goZmV0Y2goIi9hcGkvc2Vzc2lvbnMvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2Vzc2lvbklkczplfSl9KS50aGVuKGZ1bmN0aW9uKGYpe3JldHVybiBmLmpzb24oKX0pKSx0Lmxlbmd0aD4wJiZkLnB1c2goZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7Y2xhdWRlU2Vzc2lvbklkczp0fSl9KS50aGVuKGZ1bmN0aW9uKGYpe3JldHVybiBmLmpzb24oKX0pKSxhLmxlbmd0aD4wJiZkLnB1c2goZmV0Y2goIi9hcGkvY29kZXgtaGlzdG9yeS9iYXRjaC1kZWxldGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtjbGF1ZGVTZXNzaW9uSWRzOmF9KX0pLnRoZW4oZnVuY3Rpb24oZil7cmV0dXJuIGYuanNvbigpfSkpLFByb21pc2UuYWxsKGQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS5pbmRleE9mKHMuc2VsZWN0ZWRJZCkhPT0tMSYmKHMuc2VsZWN0ZWRJZD1udWxsLEd0KCkpLHMuY2xhdWRlSGlzdG9yeT1zLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiB0LmluZGV4T2YoZi5jbGF1ZGVTZXNzaW9uSWQpPT09LTEmJmkuaW5kZXhPZihmLmNsYXVkZVNlc3Npb25JZCk9PT0tMX0pLHMuY29kZXhIaXN0b3J5PXMuY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4gYS5pbmRleE9mKGYuY2xhdWRlU2Vzc2lvbklkKT09PS0xJiZpLmluZGV4T2YoZi5jbGF1ZGVTZXNzaW9uSWQpPT09LTF9KSxwZigpLEhpKCl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtaYShmLCJcdTY1RTBcdTZDRDVcdTYyNzlcdTkxQ0ZcdTUyMjBcdTk2NjRcdTYyNDBcdTkwMDlcdTk4NzlcdTc2RUVcdTMwMDIiKX0pfX0pfWZ1bmN0aW9uIEpUKCl7dmFyIGU9RGF0ZS5ub3coKS04NjRlNSx0PXhsKCkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiFhLnRpbWVzdGFtcHx8bmV3IERhdGUoYS50aW1lc3RhbXApLmdldFRpbWUoKTw9ZX0pO2lmKHQubGVuZ3RoKXJldHVybiBPaSgiXHU3ODZFXHU4QkE0XHU2RTA1XHU3QTdBXHU1RjUzXHU1MjREXHU2NjNFXHU3OTNBXHU3Njg0ICIrdC5sZW5ndGgrIiBcdTY3NjEgQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NTQxN1x1RkYxRiIse3RpdGxlOiJcdTZFMDVcdTdBN0EgQ2xhdWRlIFx1NTM4Nlx1NTNGMiIsb2tMYWJlbDoiXHU2RTA1XHU3QTdBIn0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGk9dC5tYXAoZnVuY3Rpb24obyl7cmV0dXJuIG8uY2xhdWRlU2Vzc2lvbklkfSk7cmV0dXJuIGZldGNoKCIvYXBpL2NsYXVkZS1oaXN0b3J5L2JhdGNoLWRlbGV0ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2NsYXVkZVNlc3Npb25JZHM6aX0pfSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gby5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG8pe2lmKG8mJm8uZXJyb3IpdGhyb3cgbmV3IEVycm9yKG8uZXJyb3IpO3MuY2xhdWRlSGlzdG9yeT1zLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBpLmluZGV4T2YoYy5jbGF1ZGVTZXNzaW9uSWQpPT09LTF9KSxwZigpLER0KCl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtaYShvLCJcdTY1RTBcdTZDRDVcdTZFMDVcdTdBN0FcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTMwMDIiKX0pfX0pfWZ1bmN0aW9uIGVqKGUsdCl7dmFyIGE9dD09PSJjb2RleCIsaT1hPyJyZXN1bWUtY29kZXgtaGlzdG9yeSI6InJlc3VtZS1oaXN0b3J5IixvPWE/ImRlbGV0ZS1jb2RleC1oaXN0b3J5IjoiZGVsZXRlLWhpc3RvcnkiLGM9YT9zLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzOnMuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzLGQ9ZS5jbGF1ZGVTZXNzaW9uSWQuc2xpY2UoMCw4KSxmPWUuZmlyc3RVc2VyTWVzc2FnZXx8IihcdTdBN0FcdTRGMUFcdThCREQpIixtPXRqKGUudGltZXN0YW1wKSxoPU02KHQsZS5jbGF1ZGVTZXNzaW9uSWQsIlx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERCAiK2YpLGc9cy5zZXNzaW9uc01hbmFnZU1vZGU/IiI6JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biBkZWxldGUtYnRuIiBkYXRhLWFjdGlvbj0iJytvKyciIGRhdGEtY2xhdWRlLXNlc3Npb24taWQ9IicrZS5jbGF1ZGVTZXNzaW9uSWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQiIHRpdGxlPSJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+PC9idXR0b24+JyxiPXMuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIiOic8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4iIGRhdGEtYWN0aW9uPSInK2krJyIgZGF0YS1jbGF1ZGUtc2Vzc2lvbi1pZD0iJytlLmNsYXVkZVNlc3Npb25JZCsnIiBkYXRhLWN3ZD0iJytMKGUuY3dkKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERCIgdGl0bGU9IicrKGE/Ilx1NjA2Mlx1NTkwRFx1NkI2NCBDb2RleCBcdTRGMUFcdThCREQiOiJcdTYwNjJcdTU5MERcdTZCNjQgQ2xhdWRlIFx1NEYxQVx1OEJERCIpKyciPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEgNHY2aDYiLz48cGF0aCBkPSJNMy41MSAxNWE5IDkgMCAxMDUuNjQtMTEuMzZMMyAxMCIvPjwvc3ZnPjwvYnV0dG9uPic7cmV0dXJuJzxkaXYgY2xhc3M9InNlc3Npb24taXRlbSBub24td2FuZC1zZXNzaW9uJysocy5zZXNzaW9uc01hbmFnZU1vZGU/IiBzZXNzaW9uLW1hbmFnaW5nIjoiIikrKHMuc2Vzc2lvbnNNYW5hZ2VNb2RlJiZjW2UuY2xhdWRlU2Vzc2lvbklkXT8iIHNlbGVjdGVkIjoiIikrJyIgZGF0YS1jbGF1ZGUtaGlzdG9yeS1pZD0iJytlLmNsYXVkZVNlc3Npb25JZCsnIiBkYXRhLXByb3ZpZGVyPSInKyhhPyJjb2RleCI6ImNsYXVkZSIpKyciIGRhdGEtY3dkPSInK0woZS5jd2QpKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjxkaXYgY2xhc3M9InNlc3Npb24taXRlbS1jb250ZW50Ij48ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0tcm93Ij4nK2grJzxkaXYgY2xhc3M9InNlc3Npb24tbWFpbiI+PGRpdiBjbGFzcz0ic2Vzc2lvbi1jb21tYW5kIGNsYXVkZS1oaXN0b3J5LXByZXZpZXciPicrTChmKSsnPC9kaXY+PGRpdiBjbGFzcz0ic2Vzc2lvbi1tZXRhIj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1pZCIgdGl0bGU9IicrTChlLmNsYXVkZVNlc3Npb25JZCkrJyI+JytMKGQpKyI8L3NwYW4+PHNwYW4+IitMKG0pKyc8L3NwYW4+PC9kaXY+PC9kaXY+PHNwYW4gY2xhc3M9InNlc3Npb24tYWN0aW9ucyI+JytiK2crIjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIHRqKGUpe2lmKCFlKXJldHVybiIiO3RyeXt2YXIgdD1uZXcgRGF0ZShlKSxhPW5ldyBEYXRlLGk9YS10LG89TWF0aC5mbG9vcihpLzZlNCk7aWYobzwxKXJldHVybiJcdTUyMUFcdTUyMUEiO2lmKG88NjApcmV0dXJuIG8rIiBcdTUyMDZcdTk0OUZcdTUyNEQiO3ZhciBjPU1hdGguZmxvb3Ioby82MCk7aWYoYzwyNClyZXR1cm4gYysiIFx1NUMwRlx1NjVGNlx1NTI0RCI7dmFyIGQ9TWF0aC5mbG9vcihjLzI0KTtyZXR1cm4gZDwzMD9kKyIgXHU1OTI5XHU1MjREIjp0LnRvTG9jYWxlRGF0ZVN0cmluZygpfWNhdGNoe3JldHVybiIifX1mdW5jdGlvbiBfNigpe3JldHVybiBmZXRjaCgiL2FwaS9jbGF1ZGUtaGlzdG9yeSIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLm9rP2UuanNvbigpOltdfSkudGhlbihmdW5jdGlvbihlKXtzLmNsYXVkZUhpc3Rvcnk9ZXx8W10scy5jbGF1ZGVIaXN0b3J5TG9hZGVkPSEwLER0KCl9KS5jYXRjaChmdW5jdGlvbigpe3MuY2xhdWRlSGlzdG9yeUxvYWRlZD0hMCxzLmNsYXVkZUhpc3Rvcnk9W10sRHQoKX0pfXZhciBFbD1udWxsO2Z1bmN0aW9uIEZsKCl7dmFyIGU9bmooKTshcy5jbGF1ZGVIaXN0b3J5TG9hZGVkJiYhRWwmJihFbD1fNigpLnRoZW4oZnVuY3Rpb24oKXtFbD1udWxsfSxmdW5jdGlvbigpe0VsPW51bGx9KSk7dmFyIHQ9RWx8fFByb21pc2UucmVzb2x2ZSgpO3JldHVybiBQcm9taXNlLmFsbChbdCxlXSkudGhlbihmdW5jdGlvbigpe30pfWZ1bmN0aW9uIE42KCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvZGV4LWhpc3RvcnkiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZS5vaz9lLmpzb24oKTpbXX0pLnRoZW4oZnVuY3Rpb24oZSl7cy5jb2RleEhpc3Rvcnk9ZXx8W10scy5jb2RleEhpc3RvcnlMb2FkZWQ9ITAsRHQoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cy5jb2RleEhpc3RvcnlMb2FkZWQ9ITAscy5jb2RleEhpc3Rvcnk9W10sRHQoKX0pfXZhciBLbz1udWxsO2Z1bmN0aW9uIG5qKCl7cmV0dXJuIHMuY29kZXhIaXN0b3J5TG9hZGVkP1Byb21pc2UucmVzb2x2ZSgpOktvfHwoS289TjYoKS50aGVuKGZ1bmN0aW9uKCl7S289bnVsbH0sZnVuY3Rpb24oKXtLbz1udWxsfSksS28pfWZ1bmN0aW9uIGdoKCl7dmFyIGU9bmV3IFNldDtyZXR1cm4gcy5zZXNzaW9ucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuY2xhdWRlU2Vzc2lvbklkJiZlLmFkZCh0LmNsYXVkZVNlc3Npb25JZCl9KSxzLmNvZGV4SGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuaGFzQ29udmVyc2F0aW9uJiYhdC5tYW5hZ2VkQnlXYW5kJiYhZS5oYXModC5jbGF1ZGVTZXNzaW9uSWQpfSl9ZnVuY3Rpb24gUjYoKXtQNigpLCF2ZigpJiYocy5wb2xsVGltZXI9c2V0SW50ZXJ2YWwoSGksMTYwMCkpfXNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNlc3Npb24tdGltZSIpO2UubGVuZ3RoPjAmJncwKCl9LDNlNCk7ZnVuY3Rpb24gYmgoKXtzLndzUmVjb25uZWN0VGltZXImJihjbGVhclRpbWVvdXQocy53c1JlY29ubmVjdFRpbWVyKSxzLndzUmVjb25uZWN0VGltZXI9bnVsbCl9dmFyIGFqPTFlNCxyaj00ZTQ7ZnVuY3Rpb24gaWooKXtJNigpLHMud3NIZWFydGJlYXRDaGVja1RpbWVyPXNldEludGVydmFsKEw2LGFqKX1mdW5jdGlvbiBJNigpe3Mud3NIZWFydGJlYXRDaGVja1RpbWVyJiYoY2xlYXJJbnRlcnZhbChzLndzSGVhcnRiZWF0Q2hlY2tUaW1lcikscy53c0hlYXJ0YmVhdENoZWNrVGltZXI9bnVsbCl9ZnVuY3Rpb24gTDYoKXtpZighKCFzLndzfHxzLndzLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTikmJnMubGFzdFdzTWVzc2FnZUF0KXt2YXIgZT1EYXRlLm5vdygpLXMubGFzdFdzTWVzc2FnZUF0O2U+cmomJnloKCJoZWFydGJlYXQtc3RhbGUtIitNYXRoLnJvdW5kKGUvMWUzKSsicyIpfX1mdW5jdGlvbiB5aChlKXtpZihiaCgpLHMud3Mpe3ZhciB0PXMud3M7dHJ5e3Qub25jbG9zZT1udWxsfWNhdGNoe310cnl7dC5vbmVycm9yPW51bGx9Y2F0Y2h7fXRyeXt0Lm9ubWVzc2FnZT1udWxsfWNhdGNoe310cnl7dC5jbG9zZSgpfWNhdGNoe31zLndzPW51bGx9cy53c0Nvbm5lY3RlZD0hMSxzLndzUmVjb25uZWN0QXR0ZW1wdHM9MCx2ZihlKX1mdW5jdGlvbiB6Nigpe2lmKCFzLndzUmVjb25uZWN0VGltZXImJiFkb2N1bWVudC5oaWRkZW4pe3ZhciBlPXMud3NSZWNvbm5lY3RBdHRlbXB0c3x8MCx0PVs1MDAsMWUzLDJlMyw0ZTMsOGUzXSxhPXRbZTx0Lmxlbmd0aD9lOnQubGVuZ3RoLTFdO3Mud3NSZWNvbm5lY3RBdHRlbXB0cz1lKzEscy53c1JlY29ubmVjdFRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLndzUmVjb25uZWN0VGltZXI9bnVsbCxzLmNvbmZpZyYmIXMud3MmJiFkb2N1bWVudC5oaWRkZW4mJnZmKCJiYWNrb2ZmIil9LGEpfX1mdW5jdGlvbiB2ZihlKXtpZighd2luZG93LldlYlNvY2tldClyZXR1cm4hMTtpZihzLndzKXt0cnl7cy53cy5jbG9zZSgpfWNhdGNoe31zLndzPW51bGx9dmFyIHQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sPT09Imh0dHBzOiI/IndzczoiOiJ3czoiLGE9dCsiLy8iK3dpbmRvdy5sb2NhdGlvbi5ob3N0KyIvd3MiO3RyeXt2YXIgaT1uZXcgV2ViU29ja2V0KGEpO3JldHVybiBpLm9ub3Blbj1mdW5jdGlvbigpe3Mud3M9aSxzLndzQ29ubmVjdGVkPSEwLHMubGFzdFdzTWVzc2FnZUF0PURhdGUubm93KCkscy53c1JlY29ubmVjdEF0dGVtcHRzPTAsYmgoKSxzLmxhc3RTZXFCeVNlc3Npb249e30saWooKSxLdShzLnNlbGVjdGVkSWQpLExPKCksa2woIndzLXJlY29ubmVjdCIpfSxpLm9ubWVzc2FnZT1mdW5jdGlvbihvKXtzLmxhc3RXc01lc3NhZ2VBdD1EYXRlLm5vdygpO3RyeXt2YXIgYz1KU09OLnBhcnNlKG8uZGF0YSk7aWYoYyYmYy50eXBlPT09InBpbmciKXtpZihzLndzJiZzLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTil0cnl7cy53cy5zZW5kKEpTT04uc3RyaW5naWZ5KHt0eXBlOiJwb25nIix0OmMudH0pKX1jYXRjaHt9cmV0dXJufWlmKGMmJmMudHlwZT09PSJyZXN5bmNfcmVxdWlyZWQiJiZjLnNlc3Npb25JZCl7aWYocy53cyYmcy53cy5yZWFkeVN0YXRlPT09V2ViU29ja2V0Lk9QRU4pdHJ5e3Mud3Muc2VuZChKU09OLnN0cmluZ2lmeSh7dHlwZToicmVzeW5jIixzZXNzaW9uSWQ6Yy5zZXNzaW9uSWR9KSl9Y2F0Y2h7fXMubGFzdFNlcUJ5U2Vzc2lvbnx8KHMubGFzdFNlcUJ5U2Vzc2lvbj17fSkscy5sYXN0U2VxQnlTZXNzaW9uW2Muc2Vzc2lvbklkXT0wO3JldHVybn1pZihjJiYoYy50eXBlPT09ImluaXQifHxjLnR5cGU9PT0ib3V0cHV0IikmJmMuc2Vzc2lvbklkJiZ0eXBlb2YgYy5zZXE9PSJudW1iZXIiKXtzLmxhc3RTZXFCeVNlc3Npb258fChzLmxhc3RTZXFCeVNlc3Npb249e30pO3ZhciBkPXMubGFzdFNlcUJ5U2Vzc2lvbltjLnNlc3Npb25JZF18fDA7aWYoYy50eXBlPT09ImluaXQiKXMubGFzdFNlcUJ5U2Vzc2lvbltjLnNlc3Npb25JZF09Yy5zZXE7ZWxzZSBpZihjLnNlcT09PWQrMSlzLmxhc3RTZXFCeVNlc3Npb25bYy5zZXNzaW9uSWRdPWMuc2VxO2Vsc2UgaWYoYy5zZXE+ZCsxJiZkPjApe2lmKHMud3MmJnMud3MucmVhZHlTdGF0ZT09PVdlYlNvY2tldC5PUEVOKXRyeXtzLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InJlc3luYyIsc2Vzc2lvbklkOmMuc2Vzc2lvbklkfSkpfWNhdGNoe31zLmxhc3RTZXFCeVNlc3Npb25bYy5zZXNzaW9uSWRdPTA7cmV0dXJufWVsc2V7aWYoYy5zZXE8ZClyZXR1cm47cy5sYXN0U2VxQnlTZXNzaW9uW2Muc2Vzc2lvbklkXT1jLnNlcX19dWooYyl9Y2F0Y2h7fX0saS5vbmNsb3NlPWZ1bmN0aW9uKCl7cy53cz1udWxsLHMud3NDb25uZWN0ZWQ9ITEsSTYoKSx6NigpfSxpLm9uZXJyb3I9ZnVuY3Rpb24oKXtpLmNsb3NlKCl9LCEwfWNhdGNoe3JldHVybiB6NigpLCExfX1mdW5jdGlvbiB1aihlKXtzd2l0Y2goZS50eXBlKXtjYXNlIm91dHB1dCI6aWYoZS5kYXRhJiZlLnNlc3Npb25JZCYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwiaXNSZXNwb25kaW5nIikmJihzLl9sYXN0SXNSZXNwb25kaW5nfHwocy5fbGFzdElzUmVzcG9uZGluZz17fSkscy5fbGFzdElzUmVzcG9uZGluZ1tlLnNlc3Npb25JZF09ISFlLmRhdGEuaXNSZXNwb25kaW5nKSxlLmRhdGEmJmUuc2Vzc2lvbklkKXt2YXIgdD0hIWUuZGF0YS5pbmNyZW1lbnRhbCxhPXtpZDplLnNlc3Npb25JZH0saT0hMTtpZighdCYmZS5kYXRhLm91dHB1dCE9PXZvaWQgMCYmKGEub3V0cHV0PWUuZGF0YS5vdXRwdXQpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInBlcm1pc3Npb25CbG9ja2VkIikmJihhLnBlcm1pc3Npb25CbG9ja2VkPSEhZS5kYXRhLnBlcm1pc3Npb25CbG9ja2VkKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJxdWV1ZWRNZXNzYWdlcyIpJiYoYS5xdWV1ZWRNZXNzYWdlcz1lLmRhdGEucXVldWVkTWVzc2FnZXN8fFtdLHMucXVldWVFcG9jaCsrKSxlLmRhdGEuc3RydWN0dXJlZFN0YXRlJiYoYS5zdHJ1Y3R1cmVkU3RhdGU9ZS5kYXRhLnN0cnVjdHVyZWRTdGF0ZSksZS5kYXRhLnNlc3Npb25LaW5kJiYoYS5zZXNzaW9uS2luZD1lLmRhdGEuc2Vzc2lvbktpbmQpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInRpdGxlIikmJihhLnRpdGxlPWUuZGF0YS50aXRsZSxpPSEwKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJkZXNjcmlwdGlvbiIpJiYoYS5kZXNjcmlwdGlvbj1lLmRhdGEuZGVzY3JpcHRpb24saT0hMCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwidGl0bGVHZW5lcmF0aW5nIikmJihhLnRpdGxlR2VuZXJhdGluZz0hIWUuZGF0YS50aXRsZUdlbmVyYXRpbmcsaT0hMCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwic3VtbWFyeSIpJiYoYS5zdW1tYXJ5PWUuZGF0YS5zdW1tYXJ5KSxlLmRhdGEubWVzc2FnZXMpYS5tZXNzYWdlcz1lLmRhdGEubWVzc2FnZXMsdHlwZW9mIGUuZGF0YS5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIiYmKGEubWVzc2FnZU9mZnNldD1lLmRhdGEubWVzc2FnZU9mZnNldCksdHlwZW9mIGUuZGF0YS5tZXNzYWdlVG90YWw9PSJudW1iZXIiJiYoYS5tZXNzYWdlVG90YWw9ZS5kYXRhLm1lc3NhZ2VUb3RhbCk7ZWxzZSBpZih0JiZlLmRhdGEubGFzdE1lc3NhZ2Upe3ZhciBvPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihnZSl7cmV0dXJuIGdlLmlkPT09ZS5zZXNzaW9uSWR9KTtpZihvKXt2YXIgYz1BcnJheS5pc0FycmF5KG8ubWVzc2FnZXMpP28ubWVzc2FnZXMuc2xpY2UoKTpbXSxkPWUuZGF0YS5tZXNzYWdlQ291bnR8fDAsZj10eXBlb2Ygby5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIj9vLm1lc3NhZ2VPZmZzZXQ6MCxtPWMubGVuZ3RoPjA/Y1tjLmxlbmd0aC0xXTpudWxsLGg9ZS5kYXRhLmxhc3RNZXNzYWdlO20mJmgucm9sZSYmbS5yb2xlPT09aC5yb2xlP2NbYy5sZW5ndGgtMV09RzUobSxoKTpmK2MubGVuZ3RoPGQmJmMucHVzaChoKSxhLm1lc3NhZ2VzPWMsZD4wJiYoYS5tZXNzYWdlVG90YWw9ZCl9fXZhciBnPXQmJmUuZGF0YS5jaHVuayYmIWUuZGF0YS5sYXN0TWVzc2FnZSYmIWEubWVzc2FnZXMmJmEub3V0cHV0PT09dm9pZCAwJiYhZS5kYXRhLnN0cnVjdHVyZWRTdGF0ZSYmIWUuZGF0YS5zZXNzaW9uS2luZDtpZihnKXtpZihlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQhPT12b2lkIDApe3ZhciBiPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihnZSl7cmV0dXJuIGdlLmlkPT09ZS5zZXNzaW9uSWR9KTtiJiYhIWIucGVybWlzc2lvbkJsb2NrZWQhPSEhZS5kYXRhLnBlcm1pc3Npb25CbG9ja2VkJiYoYXQoYSksZS5zZXNzaW9uSWQ9PT1zLnNlbGVjdGVkSWQmJnpyKCkpfX1lbHNlIGlmKChhLm91dHB1dCE9PXZvaWQgMHx8YS5tZXNzYWdlc3x8dHx8ZS5kYXRhLnBlcm1pc3Npb25CbG9ja2VkIT09dm9pZCAwfHxhLnRpdGxlfHxhLmRlc2NyaXB0aW9ufHxhLnRpdGxlR2VuZXJhdGluZyE9PXZvaWQgMCkmJihhdChhKSxpJiZ3MCgpLGUuc2Vzc2lvbklkPT09cy5zZWxlY3RlZElkKSl7dmFyIHk9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGdlKXtyZXR1cm4gZ2UuaWQ9PT1lLnNlc3Npb25JZH0pfHxhO3MuY3VycmVudE1lc3NhZ2VzPU9uKHksS24oeSx5Lm91dHB1dCwhMSkpLHpyKCkseS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkInx8ZS5kYXRhLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiP0NsKCk6d2goKX19ZS5zZXNzaW9uSWQ9PT1zLnNlbGVjdGVkSWQmJnMudGVybWluYWwmJmUuZGF0YSYmKGUuZGF0YS5jaHVuayYmZ08oZS5zZXNzaW9uSWQpPyhzLmxhc3RDaHVua0F0PURhdGUubm93KCkscy50ZXJtaW5hbExpdmVTdHJlYW1TZXNzaW9uc1tlLnNlc3Npb25JZF09ITAsWm8ocy50ZXJtaW5hbCxlLmRhdGEuY2h1bmspLHMudGVybWluYWxTZXNzaW9uSWQ9ZS5zZXNzaW9uSWQsZS5kYXRhLm91dHB1dD8ocy50ZXJtaW5hbE91dHB1dD11eCh1MChlLmRhdGEub3V0cHV0KSkscy50ZXJtaW5hbE91dHB1dE1hcmtlcj0wKTpzLnRlcm1pbmFsT3V0cHV0PXV4KChzLnRlcm1pbmFsT3V0cHV0fHwiIikrdTAoZS5kYXRhLmNodW5rKSksQWEoIm91dHB1dCIpLERhKCkpOiFlLmRhdGEuaW5jcmVtZW50YWwmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsIm91dHB1dCIpJiZ3ZihlLnNlc3Npb25JZCxlLmRhdGEub3V0cHV0fHwiIix7bW9kZToiYXBwZW5kIn0pKTticmVhaztjYXNlInN0YXJ0ZWQiOndyKCk7YnJlYWs7Y2FzZSJlbmRlZCI6e3ZhciBDPWUuZGF0YSYmZS5kYXRhLnN0YXR1cz9lLmRhdGEuc3RhdHVzOiJleGl0ZWQiLHc9ZS5kYXRhJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJwZXJtaXNzaW9uQmxvY2tlZCIpPyEhZS5kYXRhLnBlcm1pc3Npb25CbG9ja2VkOiExLHg9e2lkOmUuc2Vzc2lvbklkLHN0YXR1czpDLHBlcm1pc3Npb25CbG9ja2VkOnd9O2UuZGF0YSYmZS5kYXRhLm1lc3NhZ2VzJiYoeC5tZXNzYWdlcz1lLmRhdGEubWVzc2FnZXMsdHlwZW9mIGUuZGF0YS5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIiYmKHgubWVzc2FnZU9mZnNldD1lLmRhdGEubWVzc2FnZU9mZnNldCksdHlwZW9mIGUuZGF0YS5tZXNzYWdlVG90YWw9PSJudW1iZXIiJiYoeC5tZXNzYWdlVG90YWw9ZS5kYXRhLm1lc3NhZ2VUb3RhbCkpLGUuZGF0YSYmZS5kYXRhLnN0cnVjdHVyZWRTdGF0ZSYmKHguc3RydWN0dXJlZFN0YXRlPWUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUpLGUuZGF0YSYmZS5kYXRhLnF1ZXVlZE1lc3NhZ2VzJiYoeC5xdWV1ZWRNZXNzYWdlcz1lLmRhdGEucXVldWVkTWVzc2FnZXMpLGF0KHgpLGUuc2Vzc2lvbklkPT09cy5zZWxlY3RlZElkJiYoVXUoIkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IFNoaWZ0K0VudGVyIFx1NjM2Mlx1ODg0QyIpLHdoKCEwKSk7dmFyIEY9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGdlKXtyZXR1cm4gZ2UuaWQ9PT1lLnNlc3Npb25JZH0pLEE9ZS5kYXRhJiZlLmRhdGEuZXhpdENvZGUsRD1BIT1udWxsJiZBIT09MCxCPUYmJkYuc3VtbWFyeXx8IiIsVD1GP0hUKEYpOiIiLGs9RD8iXHU0RUZCXHU1MkExXHU1RjAyXHU1RTM4XHU3RUQzXHU2NzVGIjoiXHU0RUZCXHU1MkExXHU1REYyXHU1QjhDXHU2MjEwIixNPSIiO0I/KE09QixUJiYhRCYmKE0rPWAKYCtUKSk6TT1GJiZGLmNvbW1hbmR8fGUuc2Vzc2lvbklkLE5sKEQ/ImVycm9yIjoic3VjY2VzcyIpLEJNKGUuc2Vzc2lvbklkLGssTSksYngoZS5zZXNzaW9uSWQpLEloKCksKGUuc2Vzc2lvbklkIT09cy5zZWxlY3RlZElkfHxkb2N1bWVudC5oaWRkZW4pJiZPaCh7dGl0bGU6ayxib2R5Ok0sdHlwZTpEPyJ3YXJuaW5nIjoic3VjY2VzcyIsaWNvbjpEPyIhIjoiXHUyNzEzIixkdXJhdGlvbjo2ZTMsYWN0aW9uTGFiZWw6Ilx1NjdFNVx1NzcwQiIsYWN0aW9uOmZ1bmN0aW9uKCl7dHIoZS5zZXNzaW9uSWQpfX0pLHMubWVzc2FnZVF1ZXVlPVtdLHMucGVuZGluZ01lc3NhZ2VzPVtdO3ZhciB6PXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihnZSl7cmV0dXJuIGdlLmlkPT09ZS5zZXNzaW9uSWR9KSxPPWUuc2Vzc2lvbklkPT09cy5zZWxlY3RlZElkP3Muc2Vzc2lvbnMuZmluZChmdW5jdGlvbihnZSl7cmV0dXJuIGdlLmlkPT09cy5zZWxlY3RlZElkfSk6bnVsbCxyZT0hISh6JiZ6LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHxPJiZPLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiKTtyZSYmZS5zZXNzaW9uSWQ9PT1zLnNlbGVjdGVkSWQ/KGp4KCksJDUoZS5zZXNzaW9uSWQpKTpyZXx8KHMuc3RydWN0dXJlZElucHV0UXVldWU9W10sJDUocy5zZWxlY3RlZElkKSxSaSgpKSxlLnNlc3Npb25JZD09PXMuc2VsZWN0ZWRJZCYmKHJlfHxlcyghMSkscy5jdXJyZW50VGFzaz1udWxsLHpyKCkpLGUuc2Vzc2lvbklkPT09cy5zZWxlY3RlZElkJiZKbCgpLHdyKCkudGhlbihmdW5jdGlvbigpe0ZmKCl9KSxlLnNlc3Npb25JZD09PXMuc2VsZWN0ZWRJZCYmKHJlfHxQaShlLnNlc3Npb25JZCkpO2JyZWFrfWNhc2UiaW5pdCI6aWYoZS5zZXNzaW9uSWQ9PT1zLnNlbGVjdGVkSWQmJmUuZGF0YSl7cy5jaGF0UmVuZGVyVGltZXImJihjbGVhclRpbWVvdXQocy5jaGF0UmVuZGVyVGltZXIpLHMuY2hhdFJlbmRlclRpbWVyPW51bGwpLGF0KGUuZGF0YSk7dmFyIGVlPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihnZSl7cmV0dXJuIGdlLmlkPT09ZS5zZXNzaW9uSWR9KTtzLmN1cnJlbnRNZXNzYWdlcz1PbihlZXx8ZS5kYXRhLEtuKGVlfHxlLmRhdGEsZS5kYXRhLm91dHB1dCwhMSkpLENsKCEwKSx6cigpLEg2KCk7dmFyIFo9ZS5kYXRhLm91dHB1dHx8IiIsdmU9cy50ZXJtaW5hbFNlc3Npb25JZD09PWUuc2Vzc2lvbklkLG1lPXMudGVybWluYWxPdXRwdXR8fCIiLEg9dmUmJm1lLmxlbmd0aD4wJiZaLmxlbmd0aD49bWUubGVuZ3RoJiZaLnN0YXJ0c1dpdGgobWUpO2NqKFosZS5zZXNzaW9uSWQsSD8iYXBwZW5kIjoicmVwbGFjZSIpLGtsKCJpbml0Iil9YnJlYWs7Y2FzZSJ1c2FnZSI6YnJlYWs7Y2FzZSJ0YXNrIjplLnNlc3Npb25JZD09PXMuc2VsZWN0ZWRJZCYmKHMuY3VycmVudFRhc2s9ZS5kYXRhfHxudWxsLHpyKCkpLEFNKGUuc2Vzc2lvbklkLGUuZGF0YXx8bnVsbCksTGgoZS5zZXNzaW9uSWQpLHcwKCk7YnJlYWs7Y2FzZSJzdGF0dXMiOmlmKGUuc2Vzc2lvbklkJiZlLmRhdGEpe3ZhciB0ZT17aWQ6ZS5zZXNzaW9uSWR9O2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInN0YXR1cyIpJiYodGUuc3RhdHVzPWUuZGF0YS5zdGF0dXMpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsImV4aXRDb2RlIikmJih0ZS5leGl0Q29kZT1lLmRhdGEuZXhpdENvZGUpLGUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUpdGUuc3RydWN0dXJlZFN0YXRlPWUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGU7ZWxzZSBpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJzdGF0dXMiKSl7dmFyIG89cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGope3JldHVybiBqLmlkPT09ZS5zZXNzaW9uSWR9KTtvJiZvLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiJiYodGUuc3RydWN0dXJlZFN0YXRlPU9iamVjdC5hc3NpZ24oe30sby5zdHJ1Y3R1cmVkU3RhdGV8fHt9LHtpbkZsaWdodDplLmRhdGEuc3RhdHVzPT09InJ1bm5pbmcifSkpfWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInF1ZXVlZE1lc3NhZ2VzIikmJih0ZS5xdWV1ZWRNZXNzYWdlcz1lLmRhdGEucXVldWVkTWVzc2FnZXN8fFtdLHMucXVldWVFcG9jaCsrKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJwZXJtaXNzaW9uQmxvY2tlZCIpJiYodGUucGVybWlzc2lvbkJsb2NrZWQ9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQpLGUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdCl7dGUucGVuZGluZ0VzY2FsYXRpb249e3Njb3BlOmUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC5zY29wZSx0YXJnZXQ6ZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0LnRhcmdldCxyZWFzb246ZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0LnByb21wdH07dmFyIEk9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGdlKXtyZXR1cm4gZ2UuaWQ9PT1lLnNlc3Npb25JZH0pLFU9SSYmKEkuc3VtbWFyeXx8SS5jb21tYW5kKXx8ZS5zZXNzaW9uSWQsVz1lLmRhdGEucGVybWlzc2lvblJlcXVlc3QucHJvbXB0fHwiXHU5NzAwXHU4OTgxXHU2NzQzXHU5NjUwXHU1QkExXHU2Mjc5IixYPWUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC50YXJnZXQsZmU9VTtYP2ZlKz1gCmArVysiIFx4QjcgIitYOmZlKz1gCmArVyxObCgibWVkaXVtIiksU00oZS5zZXNzaW9uSWQsZmUpLGUuc2Vzc2lvbklkIT09cy5zZWxlY3RlZElkJiZPaCh7dGl0bGU6Ilx1OTcwMFx1ODk4MVx1NEY2MFx1NzY4NFx1NjM4OFx1Njc0MyIsYm9keTpmZSx0eXBlOiJ3YXJuaW5nIixpY29uOiIhIixkdXJhdGlvbjowLGFjdGlvbkxhYmVsOiJcdTUzQkJcdTU5MDRcdTc0MDYiLGFjdGlvbjpmdW5jdGlvbigpe3RyKGUuc2Vzc2lvbklkKX19KX1lLmRhdGEucGVybWlzc2lvbkJsb2NrZWQ9PT0hMSYmKHRlLnBlbmRpbmdFc2NhbGF0aW9uPW51bGwpLGUuZGF0YS5hcHByb3ZhbFN0YXRzJiYodGUuYXBwcm92YWxTdGF0cz1lLmRhdGEuYXBwcm92YWxTdGF0cyksYXQodGUpLExoKGUuc2Vzc2lvbklkKSxJaCgpLGUuc2Vzc2lvbklkPT09cy5zZWxlY3RlZElkJiYoenIoKSxlLmRhdGEuYXBwcm92YWxTdGF0cyYmSDYoKSx0ZS5zdHJ1Y3R1cmVkU3RhdGUmJih0ZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHR8fChVdSgiRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgU2hpZnQrRW50ZXIgXHU2MzYyXHU4ODRDIiksangoKSksd2goKSkpfWJyZWFrO2Nhc2Uibm90aWZpY2F0aW9uIjplLmRhdGEmJihlLmRhdGEua2luZD09PSJ1cGRhdGUiP2h4KGUuZGF0YS5jdXJyZW50fHwiLSIsZS5kYXRhLmxhdGVzdHx8Ii0iKTplLmRhdGEua2luZD09PSJhdXRvLXVwZGF0ZS1zdGFydCI/X00oZS5kYXRhLmN1cnJlbnR8fCItIixlLmRhdGEubGF0ZXN0fHwiLSIsZS5kYXRhLnByZXZpb3VzSW5zdGFuY2VJZHx8bnVsbCk6ZS5kYXRhLmtpbmQ9PT0iYXV0by11cGRhdGUtcmVzdGFydCI/UmwoZS5kYXRhLnByZXZpb3VzSW5zdGFuY2VJZHx8bnVsbCxlLmRhdGEubGF0ZXN0fHxudWxsKTplLmRhdGEua2luZD09PSJyZXN0YXJ0IiYmUmwoKSk7YnJlYWt9fWZ1bmN0aW9uIHpyKCl7dmFyIGU9Q3QoKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjdXJyZW50LXRhc2siKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJtaXNzaW9uLWFjdGlvbnMiKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWwiKTtpZighKCF0JiYhZSkpe0NhKCJ0YXNrOnVwZGF0ZSIpO3ZhciBvPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihDKXtyZXR1cm4gQy5pZD09PXMuc2VsZWN0ZWRJZH0pO28mJm8ucHJvdmlkZXI9PT0iY29kZXgiJiYoYSYmYS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSwhZSYmdCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJwZXJtaXNzaW9uLWJsb2NrZWQiKSk7dmFyIGM9byYmby5wZW5kaW5nRXNjYWxhdGlvbj9vLnBlbmRpbmdFc2NhbGF0aW9uOm51bGwsZD1vJiZvLnByb3ZpZGVyIT09ImNvZGV4Ij9jfHxvLnBlcm1pc3Npb25CbG9ja2VkOiExO2lmKGQpe3ZhciBmPW8mJm8uYXV0b0FwcHJvdmVQZXJtaXNzaW9ucztpZihpKWlmKGYpaS50ZXh0Q29udGVudD0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU0RTJELi4uIjtlbHNlIGlmKGMpe3ZhciBtPWMucmVhc29ufHwiXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIixoPWMudGFyZ2V0PyIgXHhCNyAiK2MudGFyZ2V0OiIiO2kudGV4dENvbnRlbnQ9bStofWVsc2UgaS50ZXh0Q29udGVudD0iXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIjtpZihhKXthLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBnPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiksYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO2cmJmcuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhIWYpLGImJmIuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhIWYpfSFlJiZ0JiYodC50ZXh0Q29udGVudD0iIix0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHQuY2xhc3NMaXN0LnJlbW92ZSgicGVybWlzc2lvbi1ibG9ja2VkIikpO3JldHVybn0hZSYmdCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJwZXJtaXNzaW9uLWJsb2NrZWQiKSxhJiZhLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpO3ZhciB5PXMuY3VycmVudFRhc2s7IWUmJnQmJnkmJnkudGl0bGU/KHQudGV4dENvbnRlbnQ9eS50aXRsZSx0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKTohZSYmdCYmKHQudGV4dENvbnRlbnQ9IiIsdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSl9fWZ1bmN0aW9uIEg2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmFsLXN0YXRzIik7aWYoZSl7dmFyIHQ9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09cy5zZWxlY3RlZElkfSksYT10JiZ0LmFwcHJvdmFsU3RhdHM7aWYoIWF8fGEudG90YWw9PT0wKXtlLmNsYXNzTmFtZT0iYXBwcm92YWwtc3RhdHMgaGlkZGVuIixlLmlubmVySFRNTD0iIjtyZXR1cm59ZS5jbGFzc05hbWU9ImFwcHJvdmFsLXN0YXRzIixlLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWRpdmlkZXIiPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtYmFkZ2UiIGlkPSJhcHByb3ZhbC1zdGF0cy1iYWRnZSIgdGl0bGU9Ilx1NjcyQ1x1NkIyMVx1NEYxQVx1OEJERFx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1N0VERlx1OEJBMSI+PHN2ZyBjbGFzcz0iYXBwcm92YWwtc3RhdHMtaWNvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy10b3RhbCI+JythLnRvdGFsKyc8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1wb3B1cCIgaWQ9ImFwcHJvdmFsLXN0YXRzLXBvcHVwIj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcG9wdXAtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1N0VERlx1OEJBMTwvc3Bhbj4nKyhhLmNvbW1hbmQ+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK2l0KCJ0ZXJtaW5hbCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTU0N0RcdTRFRTRcdTYyNjdcdTg4NEM8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+JythLmNvbW1hbmQrIjwvc3Bhbj48L3NwYW4+IjoiIikrKGEuZmlsZT4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicraXQoImVkaXQiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU2NTg3XHU0RUY2XHU1MTk5XHU1MTY1PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrYS5maWxlKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyhhLnRvb2w+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK2l0KCJ3cmVuY2giLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1MTc2XHU0RUQ2XHU1REU1XHU1MTc3PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrYS50b29sKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93IGFwcHJvdmFsLXN0YXRzLXJvdy10b3RhbCI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK2l0KCJzaWdtYSIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTU0MDhcdThCQTE8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+JythLnRvdGFsKyI8L3NwYW4+PC9zcGFuPjwvc3Bhbj4iO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmFwcHJvdmFsLXN0YXRzLWJhZGdlIik7aSYmKGkuY2xhc3NMaXN0LnJlbW92ZSgiYXBwcm92YWwtc3RhdHMtcHVsc2UiKSxpLm9mZnNldFdpZHRoLGkuY2xhc3NMaXN0LmFkZCgiYXBwcm92YWwtc3RhdHMtcHVsc2UiKSl9fWZ1bmN0aW9uIG9qKCl7aWYoTmwoImxpZ2h0IiksISFzLnNlbGVjdGVkSWQpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO2UmJihlLmRpc2FibGVkPSEwKSx0JiYodC5kaXNhYmxlZD0hMCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQocy5zZWxlY3RlZElkKSsiL2FwcHJvdmUtcGVybWlzc2lvbiIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtpZihhJiZhLmVycm9yKXtoZShhLmVycm9yLCJlcnJvciIpO3JldHVybn1hdChhKSx6cigpfSkuY2F0Y2goZnVuY3Rpb24oYSl7aGUoYSYmYS5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU2Mjc5XHU1MUM2XHU2Mzg4XHU2NzQzXHUzMDAyIiwiZXJyb3IiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtlJiYoZS5kaXNhYmxlZD0hMSksdCYmKHQuZGlzYWJsZWQ9ITEpfSl9fWZ1bmN0aW9uIHNqKCl7aWYoTmwoImxpZ2h0IiksISFzLnNlbGVjdGVkSWQpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO2UmJihlLmRpc2FibGVkPSEwKSx0JiYodC5kaXNhYmxlZD0hMCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQocy5zZWxlY3RlZElkKSsiL2RlbnktcGVybWlzc2lvbiIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtpZihhJiZhLmVycm9yKXtoZShhLmVycm9yLCJlcnJvciIpO3JldHVybn1hdChhKSx6cigpfSkuY2F0Y2goZnVuY3Rpb24oYSl7aGUoYSYmYS5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU2MkQyXHU3RUREXHU2Mzg4XHU2NzQzXHUzMDAyIiwiZXJyb3IiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtlJiYoZS5kaXNhYmxlZD0hMSksdCYmKHQuZGlzYWJsZWQ9ITEpfSl9fWZ1bmN0aW9uIGxqKCl7aWYocy5zZWxlY3RlZElkKXt2YXIgZT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1zLnNlbGVjdGVkSWR9KTtpZihlJiZlLnByb3ZpZGVyPT09ImNvZGV4Iil7aGUoIkNvZGV4IFx1NEYxQVx1OEJERFx1NTZGQVx1NUI5QVx1NEVFNSBmdWxsLWFjY2VzcyBQVFkgXHU1NDJGXHU1MkE4XHVGRjBDXHU0RTBEXHU2NTJGXHU2MzAxXHU1MjA3XHU2MzYyXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHUzMDAyIiwiaW5mbyIpO3JldHVybn12YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by1hcHByb3ZlLXRvZ2dsZSIpO3QmJih0LnN0eWxlLm9wYWNpdHk9IjAuNSIpLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KHMuc2VsZWN0ZWRJZCkrIi90b2dnbGUtYXV0by1hcHByb3ZlIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe2lmKGEmJmEuZXJyb3Ipe2hlKGEuZXJyb3IsImVycm9yIik7cmV0dXJufWF0KGEpLHE2KCk7dmFyIGk9YS5hdXRvQXBwcm92ZVBlcm1pc3Npb25zO2hlKGk/Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NUYwMFx1NTQyRiI6Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NTE3M1x1OTVFRCIsImluZm8iKX0pLmNhdGNoKGZ1bmN0aW9uKGEpe2hlKGEmJmEubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1MzAwMiIsImVycm9yIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dCYmKHQuc3R5bGUub3BhY2l0eT0iIil9KX19ZnVuY3Rpb24gcTYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by1hcHByb3ZlLXRvZ2dsZSIpLHQ9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09cy5zZWxlY3RlZElkfSk7aWYocUUodCkpe2UmJmUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpO3JldHVybn1pZihlKXt2YXIgYT0iY29tcG9zZXItcGlsbCBjb21wb3Nlci1waWxsLWNoaXAgYXV0by1hcHByb3ZlLWluZGljYXRvciIsaT10JiZ0LmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7aT8oZS5jbGFzc05hbWU9YSsiIGFjdGl2ZSIsZS50aXRsZT0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1NDJGXHU3NTI4IFx1MjAxNCBcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiLGUuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCJ0cnVlIiksZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTU0MkZcdTc1MjhcdUZGMENcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiKSxlLmlubmVySFRNTD1pdCgic2hpZWxkQ2hlY2siLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuNyxjbHM6ImNvbXBvc2VyLXBpbGwtaWNvbiJ9KSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXBpbGwtbGFiZWwiPlx1ODFFQVx1NTJBODwvc3Bhbj4nKTooZS5jbGFzc05hbWU9YSxlLnRpdGxlPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RUQgXHUyMDE0IFx1NzBCOVx1NTFGQlx1NUYwMFx1NTQyRiIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIiksZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RURcdUZGMENcdTcwQjlcdTUxRkJcdTVGMDBcdTU0MkYiKSxlLmlubmVySFRNTD1pdCgic2hpZWxkIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjcsY2xzOiJjb21wb3Nlci1waWxsLWljb24ifSkrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci1waWxsLWxhYmVsIj5cdTYyNEJcdTUyQTg8L3NwYW4+Jyl9fWZ1bmN0aW9uIGNqKGUsdCxhKXtyZXR1cm4gcy50ZXJtaW5hbD93Zih0fHxzLnNlbGVjdGVkSWQsZSx7bW9kZTphfHwiYXBwZW5kIn0pOiExfWZ1bmN0aW9uIFA2KCl7cy5wb2xsVGltZXImJihjbGVhckludGVydmFsKHMucG9sbFRpbWVyKSxzLnBvbGxUaW1lcj1udWxsKX1mdW5jdGlvbiBDbChlKXtzLnJlbmRlclBlbmRpbmcmJiFlfHwocy5yZW5kZXJQZW5kaW5nPSEwLGU/KF9mKCEwKSxzLnJlbmRlclBlbmRpbmc9ITEpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe19mKCExKSxzLnJlbmRlclBlbmRpbmc9ITF9KSl9cy5jaGF0UmVuZGVyVGltZXI9bnVsbDtmdW5jdGlvbiB3aChlKXtpZighKHMuY2hhdFJlbmRlclRpbWVyJiYhZSkpe2lmKHMuY2hhdFJlbmRlclRpbWVyJiZjbGVhclRpbWVvdXQocy5jaGF0UmVuZGVyVGltZXIpLGUpe3MuY2hhdFJlbmRlclRpbWVyPW51bGwsQ2woKTtyZXR1cm59dmFyIHQ9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09cy5zZWxlY3RlZElkfSksYT10JiZ0LnN0YXR1cz09PSJydW5uaW5nIiYmdC5zZXNzaW9uS2luZCE9PSJzdHJ1Y3R1cmVkIixpPWE/cng6aXg7cy5jaGF0UmVuZGVyVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3MuY2hhdFJlbmRlclRpbWVyPW51bGw7dmFyIG89cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLmlkPT09cy5zZWxlY3RlZElkfSk7byYmKHMuY3VycmVudE1lc3NhZ2VzPU9uKG8sS24obyxvLm91dHB1dCwhMCkpKSxDbCgpfSxpKX19dmFyIHhoPTAsbWY9MCxVNj0wLERsPTA7ZnVuY3Rpb24gRWgoKXtyZXR1cm4gd2luZG93Ll9fd2FuZElvc05hdGl2ZT09PSEwfWZ1bmN0aW9uIFY2KGUpe1U2PU1hdGgubWF4KFU2LERhdGUubm93KCkrKGV8fDE4MDApKX1mdW5jdGlvbiBHNihlLHQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2hmKGEpJiZhIT09dHx8VjYoZSl9LDMwKX1mdW5jdGlvbiBkaihlKXtyZXR1cm4gTWF0aC5tYXgod2luZG93LmlubmVySGVpZ2h0fHwwLGUmJmUuaGVpZ2h0fHwwLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8MCxkb2N1bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodHx8MCl9ZnVuY3Rpb24gZmooZSl7dmFyIHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGE9TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZSYmZS53aWR0aHx8MCx0JiZ0LmNsaWVudFdpZHRofHwwKSxpPWRqKGUpO3JldHVybiF4aHx8TWF0aC5hYnMoYS14aCk+OD8oeGg9YSxtZj1pKTppPm1mJiYobWY9aSksTWF0aC5tYXgoMSxNYXRoLnJvdW5kKG1mfHxpfHwxKSl9ZnVuY3Rpb24gcGooZSx0LGEsaSl7cmV0dXJuIGV8fCFFaCgpPyExOnQ+MHx8aT5hKzF9ZnVuY3Rpb24gUW8oZSl7dmFyIHQ9d2luZG93LnZpc3VhbFZpZXdwb3J0O2lmKHQpe3ZhciBhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZihhLmNsYXNzTGlzdC50b2dnbGUoImlzLWtleWJvYXJkLW9wZW4iLCEhZSksd2luZG93Ll9fd2FuZEltZU5hdGl2ZSl7YS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hcHAtdmlld3BvcnQtdG9wIiwiMHB4IiksYS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hcHAtdmlld3BvcnQtaGVpZ2h0IixNYXRoLnJvdW5kKHQuaGVpZ2h0KSsicHgiKTtyZXR1cm59dmFyIGk9ZmoodCksbz1NYXRoLm1heCgwLE1hdGgucm91bmQodC5vZmZzZXRUb3B8fDApKSxjPU1hdGgubWF4KDEsTWF0aC5yb3VuZCh0LmhlaWdodCkpOyghZSYmRWgoKXx8cGooZSxvLGMsaSkpJiYobz0wLGM9TWF0aC5tYXgoYyxpKSksYS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hcHAtdmlld3BvcnQtdG9wIixvKyJweCIpLGEuc3R5bGUuc2V0UHJvcGVydHkoIi0tYXBwLXZpZXdwb3J0LWhlaWdodCIsYysicHgiKSwoZXx8KHdpbmRvdy5zY3JvbGxZfHwwKT4wKSYmWGgoKX19ZnVuY3Rpb24gaGYoZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9ZS50YWdOYW1lO2lmKHQ9PT0iVEVYVEFSRUEifHx0PT09IlNFTEVDVCIpcmV0dXJuITA7aWYodD09PSJJTlBVVCIpe3ZhciBhPShlLmdldEF0dHJpYnV0ZSgidHlwZSIpfHwidGV4dCIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIS9eKGJ1dHRvbnxjaGVja2JveHxjb2xvcnxmaWxlfGhpZGRlbnxpbWFnZXxyYWRpb3xyYW5nZXxyZXNldHxzdWJtaXQpJC9pLnRlc3QoYSl9cmV0dXJuISFlLmlzQ29udGVudEVkaXRhYmxlfWZ1bmN0aW9uIHZqKCl7aWYoISgidmlzdWFsVmlld3BvcnQiaW4gd2luZG93KXx8d2luZG93Ll9fd2FuZFZpZXdwb3J0SGFuZGxlcnNCb3VuZClyZXR1cm47d2luZG93Ll9fd2FuZFZpZXdwb3J0SGFuZGxlcnNCb3VuZD0hMDt2YXIgZT13aW5kb3cudmlzdWFsVmlld3BvcnQsdD1lLmhlaWdodCxhPSExLGk9TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZS53aWR0aHx8MCksbz1NYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHR8fDAsZS5oZWlnaHR8fDApLGM9W107ZnVuY3Rpb24gZCgpe3JldHVybiBNYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHR8fDAsZS5oZWlnaHR8fDApfWZ1bmN0aW9uIGYoKXt2YXIgdz1NYXRoLm1heCh3aW5kb3cuaW5uZXJXaWR0aHx8MCxlLndpZHRofHwwKSx4PWQoKTtpZihNYXRoLmFicyh3LWkpPjgpe2k9dyxvPXg7cmV0dXJufXg+byYmKG89eCl9ZnVuY3Rpb24gbSh3LHgpe3ZhciBGPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsQT1GPT09d3x8aGYoRiksRD1vLWUuaGVpZ2h0LEI9by0od2luZG93LmlubmVySGVpZ2h0fHxlLmhlaWdodHx8MCksVD1EYXRlLm5vdygpPERsO3JldHVybiBUPyEhKEEmJihEPjEyMHx8Qj4xMjApKTohISh4PjgwfHxBJiYoRD4xMjB8fEI+MTIwKXx8YSYmKEQ+ODB8fHg+MzIpKX1mdW5jdGlvbiBoKCl7Yy5mb3JFYWNoKGZ1bmN0aW9uKHcpe2NsZWFyVGltZW91dCh3KX0pLGM9WzYwLDE4MCwzNjAsNjIwLDkwMF0ubWFwKGZ1bmN0aW9uKHcpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7UW8oYSl9LHcpfSl9ZnVuY3Rpb24gZygpe1swLDUwLDEyMCwyMjAsMzYwLDU2MF0uZm9yRWFjaChmdW5jdGlvbih3KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YigpO3ZhciB4PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTt4JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09eCYmT2YoeCl9LHcpfSl9ZnVuY3Rpb24gYigpe2lmKGUpe3ZhciB3PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSx4PXdpbmRvdy5pbm5lckhlaWdodC1lLmhlaWdodC1lLm9mZnNldFRvcDtmKCk7dmFyIEY9bSh3LHgpLEE9TWF0aC5hYnMoZS5oZWlnaHQtdCk+ODtpZihRbyhGKSxGJiYoIWF8fEEpJiZ0XyhlLHcpJiZPZih3KSwhYSYmRil7dmFyIEQ9cy50ZXJtaW5hbEF1dG9Gb2xsb3d8fERoKCk7em4oImtleWJvYXJkLW9wZW4iLHtmb3JjZVJlcGxheTohMH0pLHdpbmRvdy5fX3dhbmRJbWVOYXRpdmV8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXtRbyghMCl9LDIyMCksaCgpLEQmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLnRlcm1pbmFsJiZBYSgiZm9yY2UiKX0sMjIwKX1pZihhJiYhRil7dmFyIEI9ISF3aW5kb3cuX193YW5kSW1lTmF0aXZlO0J8fChWNigyMjAwKSxEbD1EYXRlLm5vdygpKzEyMDAsUW8oITEpLFhoKCkpLGgoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Qnx8KFFvKCExKSxYaCgpKSx6bigia2V5Ym9hcmQtY2xvc2UiLHtmb3JjZVJlcGxheTohMH0pLEFhKCJrZXlib2FyZCIpfSwyMDApfUEmJmE9PT1GJiZ6bigidmlld3BvcnQiKSxhPUYsdD1lLmhlaWdodH19dmFyIHk9bnVsbDtmdW5jdGlvbiBDKCl7eSE9PW51bGwmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHkpLHk9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7eT1udWxsLGIoKX0pfWUuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixDKSxlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsQyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZnVuY3Rpb24oKXtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSImJihDKCksc2V0VGltZW91dChDLDI0MCksc2V0VGltZW91dChDLDcyMCkpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixmdW5jdGlvbih3KXt3JiZ3LnBlcnNpc3RlZCYmKEMoKSxzZXRUaW1lb3V0KEMsMjQwKSl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsZnVuY3Rpb24odyl7IXd8fCF3LnRhcmdldHx8aGYody50YXJnZXQpJiYoRzYoMTYwMCx3LnRhcmdldCksRWgoKSYmKERsPU1hdGgubWF4KERsLERhdGUubm93KCkrMTIwMCkpLHNldFRpbWVvdXQoQyw4MCksc2V0VGltZW91dChDLDQyMCkpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsZnVuY3Rpb24odyl7IXd8fCF3LnRhcmdldHx8IWhmKHcudGFyZ2V0KXx8ZygpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndhbmQtaW9zLWltZS1zdGF0ZSIsZnVuY3Rpb24odyl7dmFyIHg9dyYmdy5kZXRhaWwmJncuZGV0YWlsLnN0YXRlO3g9PT0iaGlkZGVuIiYmKERsPURhdGUubm93KCkrOTAwKSxnKCksaCgpfSksYigpfWZ1bmN0aW9uIG1qKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1yZXNpemUtaGFuZGxlIix0LmlubmVySFRNTD0iJiM4OTQyOyIsZS5hcHBlbmRDaGlsZCh0KTt2YXIgYT0hMSxpPTAsbz0wO3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbihjKXthPSEwLGk9Yy5jbGllbnRZLG89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9Im5zLXJlc2l6ZSIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSJub25lIixjLnByZXZlbnREZWZhdWx0KCl9KSxzLnJlc2l6ZU1vdXNlTW92ZT1mdW5jdGlvbihjKXtpZihhKXt2YXIgZD1jLmNsaWVudFktaSxmPU1hdGgubWF4KDIwMCxNYXRoLm1pbihvK2Qsd2luZG93LmlubmVySGVpZ2h0LTIwMCkpO2Uuc3R5bGUuaGVpZ2h0PWYrInB4IixlLnN0eWxlLmZsZXg9Im5vbmUiLEhyKCl9fSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHMucmVzaXplTW91c2VNb3ZlKSxzLnJlc2l6ZU1vdXNlVXA9ZnVuY3Rpb24oKXthJiYoYT0hMSxkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj0iIixkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3Q9IiIsSHIoKSl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHMucmVzaXplTW91c2VVcCksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixmdW5jdGlvbihjKXthPSEwLGk9Yy50b3VjaGVzWzBdLmNsaWVudFksbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCxjLnByZXZlbnREZWZhdWx0KCl9LHtwYXNzaXZlOiExfSkscy5yZXNpemVUb3VjaE1vdmU9ZnVuY3Rpb24oYyl7aWYoYSl7dmFyIGQ9Yy50b3VjaGVzWzBdLmNsaWVudFktaSxmPU1hdGgubWF4KDIwMCxNYXRoLm1pbihvK2Qsd2luZG93LmlubmVySGVpZ2h0LTIwMCkpO2Uuc3R5bGUuaGVpZ2h0PWYrInB4IixlLnN0eWxlLmZsZXg9Im5vbmUiLEhyKCksYy5wcmV2ZW50RGVmYXVsdCgpfX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixzLnJlc2l6ZVRvdWNoTW92ZSx7cGFzc2l2ZTohMX0pLHMucmVzaXplVG91Y2hFbmQ9ZnVuY3Rpb24oKXthJiYoYT0hMSxIcigpKX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMucmVzaXplVG91Y2hFbmQpfX1mdW5jdGlvbiBZNigpe3JldHVybiEhSWkoKX1mdW5jdGlvbiBGaChlKXt2YXIgdD1NYXRoLm1heChMaSx3aW5kb3cuaW5uZXJXaWR0aC1EZi1MaSksYT1NYXRoLm1heChMaSx3aW5kb3cuaW5uZXJIZWlnaHQtRGYtTGkpO3JldHVybntyaWdodDpNYXRoLm1pbihNYXRoLm1heChMaSxlLnJpZ2h0KSx0KSxib3R0b206TWF0aC5taW4oTWF0aC5tYXgoTGksZS5ib3R0b20pLGEpfX1mdW5jdGlvbiBXNigpe2lmKHMuam95c3RpY2tCYWxsRWwpe3ZhciBlPUZoKHMuam95c3RpY2tQb3N8fHtyaWdodDoxOCxib3R0b206OTZ9KTtzLmpveXN0aWNrQmFsbEVsLnN0eWxlLnJpZ2h0PWUucmlnaHQrInB4IixzLmpveXN0aWNrQmFsbEVsLnN0eWxlLmJvdHRvbT1lLmJvdHRvbSsicHgifX1mdW5jdGlvbiBoaihlLHQpe3ZhciBhPUZoKHtyaWdodDplLGJvdHRvbTp0fSk7cy5qb3lzdGlja1Bvcz1hO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1iYWxsLXBvcyIsSlNPTi5zdHJpbmdpZnkoYSkpfWNhdGNoe319ZnVuY3Rpb24gZ2ooKXtmdW5jdGlvbiBlKGMsZCxmKXtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ3anAta2V5JysoZj8iICIrZjoiIikrJyIgZGF0YS1rZXk9IicrYysnIj4nK2QrIjwvYnV0dG9uPiJ9dmFyIHQ9JzxkaXYgY2xhc3M9IndqcC1kcGFkIj48ZGl2IGNsYXNzPSJ3anAtZHBhZC1yb3ciPicrZSgidXAiLCJcdTIxOTEiLCJ3anAtZGlyIikrJzwvZGl2PjxkaXYgY2xhc3M9IndqcC1kcGFkLXJvdyI+JytlKCJsZWZ0IiwiXHUyMTkwIiwid2pwLWRpciIpK2UoImRvd24iLCJcdTIxOTMiLCJ3anAtZGlyIikrZSgicmlnaHQiLCJcdTIxOTIiLCJ3anAtZGlyIikrIjwvZGl2PjwvZGl2PiIsYT0iIixpO2ZvcihpPTA7aTxVaC5sZW5ndGg7aSsrKWErPWUoVWhbaV0ua2V5LFVoW2ldLmxhYmVsLCIiKTt2YXIgbz0nPGRpdiBjbGFzcz0id2pwLWhlYWRlciI+PHNwYW4gY2xhc3M9IndqcC10aXRsZSI+JytpdCgicGF3Iix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjYsY2xzOiJ3anAtdGl0bGUtaWNvbiJ9KSsnPHNwYW4+XHU5MDY1XHU2M0E3XHU5NzYyXHU2NzdGPC9zcGFuPjwvc3Bhbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IndqcC1jbG9zZSIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEXHU5MDY1XHU2M0E3XHU5NzYyXHU2NzdGIj4nK2l0KCJ4Iix7c2l6ZToxMyxzdHJva2VXaWR0aDoyfSkrIjwvYnV0dG9uPjwvZGl2PiIrdCsnPGRpdiBjbGFzcz0id2pwLWdyaWQgd2pwLWZua2V5cyI+JythKyI8L2Rpdj4iO3JldHVybiBvfWZ1bmN0aW9uIGJqKCl7aWYoIXMuam95c3RpY2tSb290RWwpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuY2xhc3NOYW1lPSJ3YW5kLWpveXN0aWNrLXJvb3QiLFsicG9pbnRlcmRvd24iLCJwb2ludGVydXAiLCJ0b3VjaHN0YXJ0IiwidG91Y2hlbmQiLCJjbGljayJdLmZvckVhY2goZnVuY3Rpb24obyl7ZS5hZGRFdmVudExpc3RlbmVyKG8sSzYsITApfSk7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9IndhbmQtam95c3RpY2stYmFja2Ryb3AiLGUuYXBwZW5kQ2hpbGQodCk7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9IndhbmQtam95c3RpY2stcGFuZWwiLGEuaW5uZXJIVE1MPWdqKCksYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsQWopLGUuYXBwZW5kQ2hpbGQoYSk7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5jbGFzc05hbWU9IndhbmQtam95c3RpY2stYmFsbCIsaS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJidXR0b24iKSxpLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIldhbmQgXHU5MDY1XHU2M0E3XHU5NzYyXHU2NzdGIiksaS5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU3MEI5XHU1MUZCXHU2MjUzXHU1RjAwXHU5MDY1XHU2M0E3XHU5NzYyXHU2NzdGXHVGRjBDXHU2MkQ2XHU1MkE4XHU1M0VGXHU3OUZCXHU1MkE4XHU0RjREXHU3RjZFIiksaS5pbm5lckhUTUw9aXQoInBhdyIse3NpemU6MjUsc3Ryb2tlV2lkdGg6MS42LGNsczoid2FuZC1qb3lzdGljay1sb2dvIn0pLGUuYXBwZW5kQ2hpbGQoaSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxzLmpveXN0aWNrUm9vdEVsPWUscy5qb3lzdGlja0JhY2tkcm9wRWw9dCxzLmpveXN0aWNrUGFuZWxFbD1hLHMuam95c3RpY2tCYWxsRWw9aSxXNigpLGkuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHlqKSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihvKXtvLnByZXZlbnREZWZhdWx0KCksby5zdG9wUHJvcGFnYXRpb24oKX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLGZ1bmN0aW9uKG8pe3Muam95c3RpY2tQaW5uZWRPcGVuJiZzLmpveXN0aWNrR2VzdHVyZT09bnVsbCYmKG8ucHJldmVudERlZmF1bHQoKSxBbCgpKX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKG8pe28ucHJldmVudERlZmF1bHQoKSxvLnN0b3BQcm9wYWdhdGlvbigpfSkscy5qb3lzdGlja1Jlc2l6ZUhhbmRsZXI9ZnVuY3Rpb24oKXtXNigpfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixzLmpveXN0aWNrUmVzaXplSGFuZGxlciksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixzLmpveXN0aWNrUmVzaXplSGFuZGxlciksWjYoKX19ZnVuY3Rpb24gSzYoKXtpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy13YW5kLW5hdGl2ZS1pbnB1dCIpKXt2YXIgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKGUmJnR5cGVvZiBlLmJsdXI9PSJmdW5jdGlvbiIpdHJ5e2UuYmx1cigpfWNhdGNoe31zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZih0JiZ0eXBlb2YgdC5ibHVyPT0iZnVuY3Rpb24iKXRyeXt0LmJsdXIoKX1jYXRjaHt9fSwwKX19ZnVuY3Rpb24geWooZSl7aWYoWTYoKSYmISgoZS5wb2ludGVyVHlwZT09PSJtb3VzZSJ8fGUucG9pbnRlclR5cGU9PT0icGVuIikmJmUuYnV0dG9uIT09MCkmJnMuam95c3RpY2tQb2ludGVySWQ9PT1udWxsKXtLNigpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciB0PWUucG9pbnRlclR5cGU9PT0ibW91c2UifHxlLnBvaW50ZXJUeXBlPT09InBlbiI7cy5qb3lzdGlja1BvaW50ZXJJZD1lLnBvaW50ZXJJZCxzLmpveXN0aWNrUHJlc3NTdGFydD17eDplLmNsaWVudFgseTplLmNsaWVudFksdDpEYXRlLm5vdygpfSxzLmpveXN0aWNrR2VzdHVyZT0icGVuZGluZyI7dHJ5e3Muam95c3RpY2tCYWxsRWwuc2V0UG9pbnRlckNhcHR1cmUoZS5wb2ludGVySWQpfWNhdGNoe310fHwocy5qb3lzdGlja0xvbmdQcmVzc1RpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLmpveXN0aWNrR2VzdHVyZT09PSJwZW5kaW5nIiYmUTYoKX0sd08pKSxzLmpveXN0aWNrTW92ZUhhbmRsZXI9d2oscy5qb3lzdGlja1VwSGFuZGxlcj14aixkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIscy5qb3lzdGlja01vdmVIYW5kbGVyKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHMuam95c3RpY2tVcEhhbmRsZXIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHMuam95c3RpY2tVcEhhbmRsZXIpfX1mdW5jdGlvbiBRNigpe3Muam95c3RpY2tHZXN0dXJlPSJtb3ZlIixzLmpveXN0aWNrUGlubmVkT3BlbiYmQWwoKSxzLmpveXN0aWNrQmFsbEVsJiZzLmpveXN0aWNrQmFsbEVsLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIikscy5qb3lzdGlja0JhY2tkcm9wRWwmJnMuam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpfWZ1bmN0aW9uIFg2KGUsdCl7aWYocy5qb3lzdGlja0JhbGxFbCl7dmFyIGE9Rmgoe3JpZ2h0OndpbmRvdy5pbm5lcldpZHRoLWUtRGYvMixib3R0b206d2luZG93LmlubmVySGVpZ2h0LXQtRGYvMn0pO3Muam95c3RpY2tCYWxsRWwuc3R5bGUucmlnaHQ9YS5yaWdodCsicHgiLHMuam95c3RpY2tCYWxsRWwuc3R5bGUuYm90dG9tPWEuYm90dG9tKyJweCJ9fWZ1bmN0aW9uIHdqKGUpe2lmKCEoZS5wb2ludGVySWQhPT1zLmpveXN0aWNrUG9pbnRlcklkfHwhcy5qb3lzdGlja0JhbGxFbCkpe2lmKGUucHJldmVudERlZmF1bHQoKSxzLmpveXN0aWNrR2VzdHVyZT09PSJtb3ZlIil7WDYoZS5jbGllbnRYLGUuY2xpZW50WSk7cmV0dXJufWlmKHMuam95c3RpY2tHZXN0dXJlPT09InBlbmRpbmciKXt2YXIgdD1lLmNsaWVudFgtcy5qb3lzdGlja1ByZXNzU3RhcnQueCxhPWUuY2xpZW50WS1zLmpveXN0aWNrUHJlc3NTdGFydC55O01hdGguc3FydCh0KnQrYSphKTw9eE98fChlLnBvaW50ZXJUeXBlPT09Im1vdXNlInx8ZS5wb2ludGVyVHlwZT09PSJwZW4iPyhRNigpLFg2KGUuY2xpZW50WCxlLmNsaWVudFkpKToocy5qb3lzdGlja0xvbmdQcmVzc1RpbWVyJiYoY2xlYXJUaW1lb3V0KHMuam95c3RpY2tMb25nUHJlc3NUaW1lcikscy5qb3lzdGlja0xvbmdQcmVzc1RpbWVyPW51bGwpLHMuam95c3RpY2tHZXN0dXJlPSJjYW5jZWxsZWQiKSl9fX1mdW5jdGlvbiB4aihlKXtpZihlLnBvaW50ZXJJZD09PXMuam95c3RpY2tQb2ludGVySWQpe3Muam95c3RpY2tMb25nUHJlc3NUaW1lciYmKGNsZWFyVGltZW91dChzLmpveXN0aWNrTG9uZ1ByZXNzVGltZXIpLHMuam95c3RpY2tMb25nUHJlc3NUaW1lcj1udWxsKTt2YXIgdD1zLmpveXN0aWNrR2VzdHVyZTtpZih0PT09InBlbmRpbmciKXt2YXIgYT1lLmNsaWVudFgtcy5qb3lzdGlja1ByZXNzU3RhcnQueCxpPWUuY2xpZW50WS1zLmpveXN0aWNrUHJlc3NTdGFydC55O01hdGguc3FydChhKmEraSppKTw9RU8mJkNqKCl9ZWxzZSBpZih0PT09Im1vdmUiKXt2YXIgbz1zLmpveXN0aWNrQmFsbEVsP3Muam95c3RpY2tCYWxsRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6bnVsbDtvJiZoaih3aW5kb3cuaW5uZXJXaWR0aC1vLnJpZ2h0LHdpbmRvdy5pbm5lckhlaWdodC1vLmJvdHRvbSl9JDYoKX19ZnVuY3Rpb24gJDYoKXtpZihzLmpveXN0aWNrTG9uZ1ByZXNzVGltZXImJihjbGVhclRpbWVvdXQocy5qb3lzdGlja0xvbmdQcmVzc1RpbWVyKSxzLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9bnVsbCkscy5qb3lzdGlja0JhbGxFbCYmcy5qb3lzdGlja1BvaW50ZXJJZCE9PW51bGwpdHJ5e3Muam95c3RpY2tCYWxsRWwucmVsZWFzZVBvaW50ZXJDYXB0dXJlKHMuam95c3RpY2tQb2ludGVySWQpfWNhdGNoe31zLmpveXN0aWNrTW92ZUhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIscy5qb3lzdGlja01vdmVIYW5kbGVyKSxzLmpveXN0aWNrTW92ZUhhbmRsZXI9bnVsbCkscy5qb3lzdGlja1VwSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIscy5qb3lzdGlja1VwSGFuZGxlciksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIscy5qb3lzdGlja1VwSGFuZGxlcikscy5qb3lzdGlja1VwSGFuZGxlcj1udWxsKSxzLmpveXN0aWNrQmFsbEVsJiZzLmpveXN0aWNrQmFsbEVsLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIikscy5qb3lzdGlja0JhY2tkcm9wRWwmJiFzLmpveXN0aWNrUGlubmVkT3BlbiYmcy5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikscy5qb3lzdGlja1BvaW50ZXJJZD1udWxsLHMuam95c3RpY2tHZXN0dXJlPW51bGwscy5qb3lzdGlja1ByZXNzU3RhcnQ9bnVsbH1mdW5jdGlvbiBFaihlKXtpZihlPT09ImN0cmwifHxlPT09ImFsdCJ8fGU9PT0ic2hpZnQiKXtzLm1vZGlmaWVyc1tlXT0hcy5tb2RpZmllcnNbZV0sU2woKTtyZXR1cm59dmFyIHQ9SWkoKTtpZih0JiZ1dCh0KSl7KGU9PT0iY3RybF9jInx8ZT09PSJlc2NhcGUiKSYmRmoodCxlKSxCZigpLFNsKCk7cmV0dXJufXZhciBhPUh4KGUse2N0cmw6cy5tb2RpZmllcnMuY3RybCxhbHQ6cy5tb2RpZmllcnMuYWx0LHNoaWZ0OnMubW9kaWZpZXJzLnNoaWZ0fSk7YSYmTHgoYSxlKSxCZigpLFNsKCksTU8oKX1mdW5jdGlvbiBGaihlLHQpeyFlfHwhZS5pZHx8ZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK2UuaWQrIi9tZXNzYWdlcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OiIiLGludGVycnVwdDohMCxwcmVzZXJ2ZVF1ZXVlOiEwfSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLm9rP2EuanNvbigpOmEuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue319KS50aGVuKGZ1bmN0aW9uKGkpe3Rocm93IG5ldyBFcnJvcihpJiZpLmVycm9yfHwiXHU0RTJEXHU2NUFEXHU1OTMxXHU4RDI1IChrZXk9Iit0KyIpIil9KX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoYSYmYS5pZCYmKGF0KGEpLGEuaWQ9PT1zLnNlbGVjdGVkSWQpKXt2YXIgaT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uaWQ9PT1hLmlkfSl8fGE7cy5jdXJyZW50TWVzc2FnZXM9T24oaSxLbihpLGEub3V0cHV0LCExKSksQ2woITApLHR5cGVvZiBXbj09ImZ1bmN0aW9uIiYmV24oKX19KS5jYXRjaChmdW5jdGlvbihhKXthJiZhLm1lc3NhZ2UmJmNvbnNvbGUuZGVidWcoIlt3YW5kXSBqb3lzdGljayBpbnRlcnJ1cHQgbm8tb3A6IixhLm1lc3NhZ2UpfSl9ZnVuY3Rpb24gQ2ooKXtzLmpveXN0aWNrUGlubmVkT3Blbj9BbCgpOkRqKCl9ZnVuY3Rpb24gRGooKXtpZighKCFzLmpveXN0aWNrUGFuZWxFbHx8IXMuam95c3RpY2tCYWxsRWwpKXtzLmpveXN0aWNrUGlubmVkT3Blbj0hMDt2YXIgZT1zLmpveXN0aWNrQmFsbEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3Muam95c3RpY2tQYW5lbEVsLnN0eWxlLnJpZ2h0PU1hdGgubWF4KExpLHdpbmRvdy5pbm5lcldpZHRoLWUucmlnaHQpKyJweCIscy5qb3lzdGlja1BhbmVsRWwuc3R5bGUuYm90dG9tPU1hdGgubWF4KExpLHdpbmRvdy5pbm5lckhlaWdodC1lLnRvcCsxMCkrInB4IixzLmpveXN0aWNrUGFuZWxFbC5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSxzLmpveXN0aWNrQmFsbEVsLmNsYXNzTGlzdC5hZGQoInBhbmVsLW9wZW4iKSxzLmpveXN0aWNrQmFja2Ryb3BFbCYmcy5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksU2woKX19ZnVuY3Rpb24gQWwoKXtzLmpveXN0aWNrUGlubmVkT3Blbj0hMSxzLmpveXN0aWNrUGFuZWxFbCYmcy5qb3lzdGlja1BhbmVsRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikscy5qb3lzdGlja0JhbGxFbCYmcy5qb3lzdGlja0JhbGxFbC5jbGFzc0xpc3QucmVtb3ZlKCJwYW5lbC1vcGVuIikscy5qb3lzdGlja0JhY2tkcm9wRWwmJnMuam95c3RpY2tHZXN0dXJlPT1udWxsJiZzLmpveXN0aWNrQmFja2Ryb3BFbC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKX1mdW5jdGlvbiBTbCgpe3Muam95c3RpY2tQYW5lbEVsJiZbImN0cmwiLCJhbHQiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PXMuam95c3RpY2tQYW5lbEVsLnF1ZXJ5U2VsZWN0b3IoJy53anAtbW9kW2RhdGEta2V5PSInK2UrJyJdJyk7dCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhcy5tb2RpZmllcnNbZV0pfSl9ZnVuY3Rpb24gQWooZSl7dmFyIHQ9ZS50YXJnZXQmJmUudGFyZ2V0LmNsb3Nlc3Q/ZS50YXJnZXQuY2xvc2VzdCgiLndqcC1jbG9zZSIpOm51bGw7aWYodCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksQWwoKTtyZXR1cm59dmFyIGE9ZS50YXJnZXQmJmUudGFyZ2V0LmNsb3Nlc3Q/ZS50YXJnZXQuY2xvc2VzdCgiLndqcC1rZXkiKTpudWxsO2lmKGEpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBpPWEuZ2V0QXR0cmlidXRlKCJkYXRhLWtleSIpO2kmJkVqKGkpfX1mdW5jdGlvbiBaNigpe3ZhciBlPXMuam95c3RpY2tSb290RWw7aWYoZSl7dmFyIHQ9WTYoKTtlLmNsYXNzTGlzdC50b2dnbGUoInZpc2libGUiLHQpLHR8fCgocy5qb3lzdGlja1BvaW50ZXJJZCE9PW51bGx8fHMuam95c3RpY2tHZXN0dXJlKSYmJDYoKSxzLmpveXN0aWNrUGlubmVkT3BlbiYmQWwoKSxzLmpveXN0aWNrQmFja2Ryb3BFbCYmcy5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikpfX1mdW5jdGlvbiBTaigpe3Muam95c3RpY2tMb25nUHJlc3NUaW1lciYmKGNsZWFyVGltZW91dChzLmpveXN0aWNrTG9uZ1ByZXNzVGltZXIpLHMuam95c3RpY2tMb25nUHJlc3NUaW1lcj1udWxsKSxzLmpveXN0aWNrTW92ZUhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIscy5qb3lzdGlja01vdmVIYW5kbGVyKSxzLmpveXN0aWNrTW92ZUhhbmRsZXI9bnVsbCkscy5qb3lzdGlja1VwSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIscy5qb3lzdGlja1VwSGFuZGxlciksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIscy5qb3lzdGlja1VwSGFuZGxlcikscy5qb3lzdGlja1VwSGFuZGxlcj1udWxsKSxzLmpveXN0aWNrUmVzaXplSGFuZGxlciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHMuam95c3RpY2tSZXNpemVIYW5kbGVyKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLHMuam95c3RpY2tSZXNpemVIYW5kbGVyKSxzLmpveXN0aWNrUmVzaXplSGFuZGxlcj1udWxsKSxzLmpveXN0aWNrUm9vdEVsJiZzLmpveXN0aWNrUm9vdEVsLnBhcmVudE5vZGUmJnMuam95c3RpY2tSb290RWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzLmpveXN0aWNrUm9vdEVsKSxzLmpveXN0aWNrUm9vdEVsPW51bGwscy5qb3lzdGlja1BhbmVsRWw9bnVsbCxzLmpveXN0aWNrQmFja2Ryb3BFbD1udWxsLHMuam95c3RpY2tCYWxsRWw9bnVsbCxzLmpveXN0aWNrUG9pbnRlcklkPW51bGwscy5qb3lzdGlja0dlc3R1cmU9bnVsbCxzLmpveXN0aWNrUHJlc3NTdGFydD1udWxsLHMuam95c3RpY2tQaW5uZWRPcGVuPSExfWZ1bmN0aW9uIEJqKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKGUpe3ZhciB0PSFFbigpO3MucmVzaXplSGFuZGxlcj1mdW5jdGlvbigpe0hyKCEwKTt2YXIgYT0hRW4oKTt0IT09YSYmKHQ9YSwhYSYmcy5zaWRlYmFyUGlubmVkJiZzLnNlc3Npb25zRHJhd2VyT3Blbj8ocy5zZXNzaW9uc0RyYXdlck9wZW49ITEsVHQoIndhbmQtc2lkZWJhci1vcGVuIiwhMSksZWMoKSk6YSYmcy5zaWRlYmFyUGlubmVkJiYhcy5zZXNzaW9uc0RyYXdlck9wZW4mJihzLnNlc3Npb25zRHJhd2VyT3Blbj0hMCxUdCgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSxlYygpKSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHMucmVzaXplSGFuZGxlciksd2luZG93LnZpc3VhbFZpZXdwb3J0JiYocy52aXN1YWxWaWV3cG9ydEhhbmRsZXI9ZnVuY3Rpb24oKXtIcighMCl9LHdpbmRvdy52aXN1YWxWaWV3cG9ydC5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHMudmlzdWFsVmlld3BvcnRIYW5kbGVyKSkscy52aXNpYmlsaXR5SGFuZGxlcj1mdW5jdGlvbigpe2RvY3VtZW50LmhpZGRlbnx8em4oInZpc2liaWxpdHkiLHtmb3JjZVJlcGxheTohMH0pfSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixzLnZpc2liaWxpdHlIYW5kbGVyKSxzLm9yaWVudGF0aW9uSGFuZGxlcj1mdW5jdGlvbigpe3puKCJvcmllbnRhdGlvbiIse2ZvcmNlUmVwbGF5OiEwfSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIscy5vcmllbnRhdGlvbkhhbmRsZXIpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe0hyKCEwKX0pfX1mdW5jdGlvbiBraigpe3MudGVybWluYWxIZWFsdGhUaW1lcnx8KHMudGVybWluYWxIZWFsdGhUaW1lcj1zZXRJbnRlcnZhbChmdW5jdGlvbigpe2lmKCEoIXMudGVybWluYWx8fHMuY3VycmVudFZpZXchPT0idGVybWluYWwifHxkb2N1bWVudC5oaWRkZW4pKXt2YXIgZT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWQ9PT1zLnNlbGVjdGVkSWR9KTtpZighKCFlfHxlLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiKSl7em4oImhlYWx0aCIpO3ZhciB0PURhdGUubm93KCksYT1zLmxhc3RDaHVua0F0PjAmJnQtcy5sYXN0Q2h1bmtBdD4zMDAsaT10LXMubGFzdFRlcm1pbmFsUmVzeW5jQXQ+M2U0LG89cy5sYXN0Q2h1bmtBdD5zLmxhc3RUZXJtaW5hbFJlc3luY0F0O2kmJm8mJihhfHxlLnN0YXR1cyE9PSJydW5uaW5nIikmJnMudGVybWluYWxPdXRwdXQmJnp1KCl9fX0sNWUzKSl9ZnVuY3Rpb24gVGooKXtzLnRlcm1pbmFsSGVhbHRoVGltZXImJihjbGVhckludGVydmFsKHMudGVybWluYWxIZWFsdGhUaW1lcikscy50ZXJtaW5hbEhlYWx0aFRpbWVyPW51bGwpfWZ1bmN0aW9uIEJsKCl7VGooKSxzLnJlc2l6ZVRpbWVyJiYoY2xlYXJUaW1lb3V0KHMucmVzaXplVGltZXIpLHMucmVzaXplVGltZXI9bnVsbCkscy5yZXNpemVPYnNlcnZlciYmKHMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHMucmVzaXplT2JzZXJ2ZXI9bnVsbCkscy5yZXNpemVIYW5kbGVyJiYod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscy5yZXNpemVIYW5kbGVyKSxzLnJlc2l6ZUhhbmRsZXI9bnVsbCkscy52aXN1YWxWaWV3cG9ydEhhbmRsZXImJndpbmRvdy52aXN1YWxWaWV3cG9ydCYmKHdpbmRvdy52aXN1YWxWaWV3cG9ydC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHMudmlzdWFsVmlld3BvcnRIYW5kbGVyKSxzLnZpc3VhbFZpZXdwb3J0SGFuZGxlcj1udWxsKSxzLnZpc2liaWxpdHlIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIscy52aXNpYmlsaXR5SGFuZGxlcikscy52aXNpYmlsaXR5SGFuZGxlcj1udWxsKSxzLm9yaWVudGF0aW9uSGFuZGxlciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIscy5vcmllbnRhdGlvbkhhbmRsZXIpLHMub3JpZW50YXRpb25IYW5kbGVyPW51bGwpLFtbIm1vdXNlbW92ZSIsInJlc2l6ZU1vdXNlTW92ZSJdLFsibW91c2V1cCIsInJlc2l6ZU1vdXNlVXAiXSxbInRvdWNobW92ZSIsInJlc2l6ZVRvdWNoTW92ZSJdLFsidG91Y2hlbmQiLCJyZXNpemVUb3VjaEVuZCJdXS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3Nbb1sxXV0mJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKG9bMF0sc1tvWzFdXSksc1tvWzFdXT1udWxsKX0pLCRvKCk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKHMudGVybWluYWxWaWV3cG9ydEVsJiYocy50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlciYmcy50ZXJtaW5hbFZpZXdwb3J0RWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixzLnRlcm1pbmFsVmlld3BvcnRTY3JvbGxIYW5kbGVyKSxzLnRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXImJnMudGVybWluYWxWaWV3cG9ydEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIscy50ZXJtaW5hbFZpZXdwb3J0VG91Y2hIYW5kbGVyKSxzLnRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlciYmcy50ZXJtaW5hbFZpZXdwb3J0RWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIscy50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXIpKSxlJiYocy50ZXJtaW5hbFdoZWVsSGFuZGxlciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIscy50ZXJtaW5hbFdoZWVsSGFuZGxlcikscy50ZXJtaW5hbENsaWNrSGFuZGxlciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIscy50ZXJtaW5hbENsaWNrSGFuZGxlcikpLHMudGVybWluYWxWaWV3cG9ydEVsPW51bGwscy50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlcj1udWxsLHMudGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcj1udWxsLHMudGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyPW51bGwscy50ZXJtaW5hbFdoZWVsSGFuZGxlcj1udWxsLHMudGVybWluYWxDbGlja0hhbmRsZXI9bnVsbCxzLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyJiYoY2xlYXJUaW1lb3V0KHMudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXIpLHMudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXI9bnVsbCkscy50ZXJtaW5hbFNjcm9sbGJhckVsJiZzLnRlcm1pbmFsU2Nyb2xsYmFyRWwucGFyZW50Tm9kZSYmcy50ZXJtaW5hbFNjcm9sbGJhckVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocy50ZXJtaW5hbFNjcm9sbGJhckVsKSxzLnRlcm1pbmFsU2Nyb2xsYmFyRWw9bnVsbCxzLnRlcm1pbmFsU2Nyb2xsYmFyVGh1bWJFbD1udWxsLHMudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMSxzLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZz0hMSxzLnRlcm1pbmFsJiYocy50ZXJtaW5hbC5kZXN0cm95KCkscy50ZXJtaW5hbD1udWxsKSxlKWZvcih2YXIgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi50ZXJtaW5hbC1zY3JvbGwtd3JhcCIpLGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIGk9dFthXTtpLnBhcmVudE5vZGU9PT1lJiZlLnJlbW92ZUNoaWxkKGkpfUJoKCkscy5zeW5jT3V0cHV0QnVmZmVyPW51bGwscy5zeW5jT3V0cHV0RGVhZGxpbmU9MCxzLnN5bmNGcmFtaW5nUmVzaWR1ZT0hMSxzLnRlcm1pbmFsU2Vzc2lvbklkPW51bGwscy50ZXJtaW5hbE91dHB1dD0iIixzLnRlcm1pbmFsT3V0cHV0TWFya2VyPTAscy50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAscy5zaG93VGVybWluYWxKdW1wVG9Cb3R0b209ITEsRGEoKSxzLnNvZnRSZXN5bmNUaW1lciYmKGNsZWFyVGltZW91dChzLnNvZnRSZXN5bmNUaW1lcikscy5zb2Z0UmVzeW5jVGltZXI9bnVsbCkscy5fcmVzeW5jQ2h1bmtUYWlsVGltZXImJihjbGVhclRpbWVvdXQocy5fcmVzeW5jQ2h1bmtUYWlsVGltZXIpLHMuX3Jlc3luY0NodW5rVGFpbFRpbWVyPW51bGwpLHMuX3Jlc3luY0NodW5rTGFzdEF0PTAscy5fcmVzeW5jU3RhdHNXaW5kb3dTdGFydD0wLHMuX3Jlc3luY1N0YXRzQ291bnQ9MCxzLl9yZXN5bmNMYXN0V2FybkF0PTAscy5fcmVzeW5jSW5Qcm9ncmVzcz0hMSxzLmxhc3RSZXNpemU9e2NvbHM6MCxyb3dzOjB9LFNqKCl9ZnVuY3Rpb24gZ2YoZSx0KXtpZihzLnNlbGVjdGVkSWQpe3ZhciBhPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PXMuc2VsZWN0ZWRJZH0pO2lmKCEoIWF8fGEuc3RhdHVzIT09InJ1bm5pbmciKSYmIXV0KGEpKXtlPjI1NiYmKGU9MjU2KSx0PjE2MCYmKHQ9MTYwKTt2YXIgaT17Y29sczplLHJvd3M6dH07KHMubGFzdFJlc2l6ZS5jb2xzIT09aS5jb2xzfHxzLmxhc3RSZXNpemUucm93cyE9PWkucm93cykmJihzLmxhc3RSZXNpemU9aSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK3Muc2VsZWN0ZWRJZCsiL3Jlc2l6ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoaSl9KS5jYXRjaChmdW5jdGlvbigpe30pKX19fWZ1bmN0aW9uIHpuKGUsdCl7aWYoIXMudGVybWluYWwpcmV0dXJuITE7dmFyIGE9dHx8e30saT1hLmZvcmNlUmVwbGF5PT09ITAsbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYoIW98fG8ub2Zmc2V0V2lkdGg9PT0wfHxvLm9mZnNldEhlaWdodD09PTApcmV0dXJuIGtsKGV8fCJmaXQtcmV0cnkiLHtmb3JjZVJlcGxheTppfSksITE7dmFyIGM9cy50ZXJtaW5hbEF1dG9Gb2xsb3d8fERoKCksZD1zLnRlcm1pbmFsLmNvbHMsZj1zLnRlcm1pbmFsLnJvd3M7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2lmKHMudGVybWluYWwpe3R5cGVvZiBzLnRlcm1pbmFsLnJlbWVhc3VyZT09ImZ1bmN0aW9uIiYmcy50ZXJtaW5hbC5yZW1lYXN1cmUoKSxnZihzLnRlcm1pbmFsLmNvbHMscy50ZXJtaW5hbC5yb3dzKTt2YXIgbT1zLnRlcm1pbmFsLmNvbHMhPT1kfHxzLnRlcm1pbmFsLnJvd3MhPT1mOyFtJiZpJiZzLnRlcm1pbmFsT3V0cHV0JiZ6dSh7c2tpcEZpdDohMH0pLGMmJkFhKCJmb3JjZSIpfX0pfSksITB9ZnVuY3Rpb24ga2woZSx0KXtpZighcy50ZXJtaW5hbClyZXR1cm47dmFyIGE9dHx8e30saT1hLmZvcmNlUmVwbGF5IT09ITEsbz0wLGM9ODtmdW5jdGlvbiBkKCl7aWYocy50ZXJtaW5hbCl7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKGYmJmYub2Zmc2V0SGVpZ2h0LGYmJmYub2Zmc2V0V2lkdGg+MCYmZi5vZmZzZXRIZWlnaHQ+MCl7em4oZSx7Zm9yY2VSZXBsYXk6aX0pO3JldHVybn0rK28+PWN8fChvPD00P3JlcXVlc3RBbmltYXRpb25GcmFtZShkKTpzZXRUaW1lb3V0KGQsMzIpKX19ZCgpfWZ1bmN0aW9uIEhyKGUpe3MucmVzaXplVGltZXImJihjbGVhclRpbWVvdXQocy5yZXNpemVUaW1lcikscy5yZXNpemVUaW1lcj1udWxsKTt2YXIgdD1lPzA6MTAwO3MucmVzaXplVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3MucmVzaXplVGltZXI9bnVsbCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoamopfSx0KX1mdW5jdGlvbiBqaigpe2lmKHMudGVybWluYWwpe3ZhciBlPXMudGVybWluYWxBdXRvRm9sbG93fHxEaCgpO2UmJkFhKCJmb3JjZSIpLGdmKHMudGVybWluYWwuY29scyxzLnRlcm1pbmFsLnJvd3MpfX1mdW5jdGlvbiBKNihlKXtzLndvcmtpbmdEaXI9ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtd29ya2luZy1kaXIiLGUpfWNhdGNoe31NaihlKX1mdW5jdGlvbiBNaihlKXtyZXR1cm4gZmV0Y2goIi9hcGkvcmVjZW50LXBhdGhzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7cGF0aDplfSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIENoKGUpe3ZhciB0PXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PWV9KTt0JiZ0LnN0YXR1cyE9PSJydW5uaW5nIiYmIXV0KHQpP0toKGUpOnRyKGUpLG5yKCl9ZnVuY3Rpb24gT2ooZSl7dmFyIHQ9ZS50YXJnZXQ7aWYoISghdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCkpKXt2YXIgYT10LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIik7aWYoYSYmYSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXtpZihhLmRhdGFzZXQuY29sbGFwc2VkTmV3U2Vzc2lvbil7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksVmYoKTtyZXR1cm59aWYoYS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksQ2goYS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCk7cmV0dXJufWlmKGEuZGF0YXNldC5jb2xsYXBzZWRIaXN0b3J5SWQpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBpPWEuZGF0YXNldC5jb2xsYXBzZWRIaXN0b3J5SWQsbz1hLmRhdGFzZXQuY3dkfHwiIixjPWEuZGF0YXNldC5wcm92aWRlcj09PSJjb2RleCI/amY6TWY7YyhpLG8pLnRoZW4oZnVuY3Rpb24odyl7dyYmdy5pZCYmKHMuc2VsZWN0ZWRJZD13LmlkLEd0KCkscy5kcmFmdHNbdy5pZF09IiIsd3IoKS50aGVuKGZ1bmN0aW9uKCl7dHIody5pZCl9KSl9KTtyZXR1cm59fXZhciBkPXQuY2xvc2VzdCgiI2NsYXVkZS1oaXN0b3J5LXRvZ2dsZSIpO2lmKGQpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHMuY2xhdWRlSGlzdG9yeUV4cGFuZGVkPSFzLmNsYXVkZUhpc3RvcnlFeHBhbmRlZCxzLmNsYXVkZUhpc3RvcnlFeHBhbmRlZCYmIXMuY2xhdWRlSGlzdG9yeUxvYWRlZCYmRmwoKSxEdCgpO3JldHVybn12YXIgZj10LmNsb3Nlc3QoIltkYXRhLWFjdGlvbl0iKTtpZihmJiZmIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2lmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLGYuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLW1hbmFnZS1tb2RlIilrNigpO2Vsc2UgaWYoZi5kYXRhc2V0LmFjdGlvbj09PSJzZWxlY3QtYWxsLXZpc2libGUiKWhoKCk7ZWxzZSBpZihmLmRhdGFzZXQuYWN0aW9uPT09ImNsZWFyLXNlbGVjdGlvbiIpajYoKTtlbHNlIGlmKGYuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLXNlbGVjdGVkIilPNigpO2Vsc2UgaWYoZi5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtc2VsZWN0aW9uIilXbyhmLmRhdGFzZXQua2luZCxmLmRhdGFzZXQuaWQpO2Vsc2UgaWYoZi5kYXRhc2V0LmFjdGlvbj09PSJzd2lwZS1kZWxldGUtc2Vzc2lvbiImJmYuZGF0YXNldC5zZXNzaW9uSWQpa2YoZi5kYXRhc2V0LnNlc3Npb25JZCk7ZWxzZSBpZihmLmRhdGFzZXQuYWN0aW9uPT09ImRlbGV0ZS1zZXNzaW9uIiYmZi5kYXRhc2V0LnNlc3Npb25JZCkoZnVuY3Rpb24odyl7T2koIlx1Nzg2RVx1OEJBNFx1NTIyMFx1OTY2NFx1OEZEOVx1NEUyQVx1NEYxQVx1OEJERFx1NTQxN1x1RkYxRlx1NkI2NFx1NjRDRFx1NEY1Q1x1NjVFMFx1NkNENVx1NjRBNFx1OTUwMFx1MzAwMiIse3RpdGxlOiJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQifSkudGhlbihmdW5jdGlvbih4KXt4JiZrZih3KX0pfSkoZi5kYXRhc2V0LnNlc3Npb25JZCk7ZWxzZSBpZihmLmRhdGFzZXQuYWN0aW9uPT09ImRlbGV0ZS1oaXN0b3J5IiYmZi5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZCkoZnVuY3Rpb24odyx4KXtPaSgiXHU3ODZFXHU4QkE0XHU1MjIwXHU5NjY0XHU4RkQ5XHU2NzYxIENsYXVkZSBcdTRGMUFcdThCRERcdTU0MTdcdUZGMUYiLHt0aXRsZToiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIn0pLnRoZW4oZnVuY3Rpb24oRil7RiYmcXgodyx4KX0pfSkoZi5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZCxmLmNsb3Nlc3QoIi5zZXNzaW9uLWl0ZW0iKSk7ZWxzZSBpZihmLmRhdGFzZXQuYWN0aW9uPT09InRvZ2dsZS1oaXN0b3J5LWRpcmVjdG9yeSImJmYuZGF0YXNldC5jd2Qpe3ZhciBtPWYuZGF0YXNldC5jd2Q7cy5jbGF1ZGVIaXN0b3J5RXhwYW5kZWREaXJzW21dPSFzLmNsYXVkZUhpc3RvcnlFeHBhbmRlZERpcnNbbV0sRHQoKX1lbHNlIGlmKGYuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWhpc3RvcnktZGlyZWN0b3J5IiYmZi5kYXRhc2V0LmN3ZCkoZnVuY3Rpb24odyx4KXt2YXIgRj1QTyh3KSxBPXhsKCkuZmlsdGVyKGZ1bmN0aW9uKEQpe3JldHVybiBELmN3ZD09PXd9KS5sZW5ndGg7T2koIlx1Nzg2RVx1OEJBNFx1NkUwNVx1N0E3QVx1NkI2NFx1NzZFRVx1NUY1NVx1NEUwQlx1NzY4NCAiK0ErIiBcdTY3NjEgQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NTQxN1x1RkYxRiIse3RpdGxlOiJcdTZFMDVcdTdBN0FcdTc2RUVcdTVGNTVcdTUzODZcdTUzRjIiLG9rTGFiZWw6Ilx1NkUwNVx1N0E3QSJ9KS50aGVuKGZ1bmN0aW9uKEQpe0QmJihQeChGLCEwKSxxTyh3LHgsRikpfSl9KShmLmRhdGFzZXQuY3dkLGYpO2Vsc2UgaWYoZi5kYXRhc2V0LmFjdGlvbj09PSJjbGVhci1hbGwtaGlzdG9yeSIpSlQoKTtlbHNlIGlmKGYuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLWFyY2hpdmVkLWdyb3VwIilzLmFyY2hpdmVkRXhwYW5kZWQ9IXMuYXJjaGl2ZWRFeHBhbmRlZCxEdCgpO2Vsc2UgaWYoZi5kYXRhc2V0LmFjdGlvbj09PSJyZXN1bWUiJiZmLmRhdGFzZXQuc2Vzc2lvbklkKVZPKGYpO2Vsc2UgaWYoZi5kYXRhc2V0LmFjdGlvbj09PSJyZXN1bWUtaGlzdG9yeSImJmYuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQpV08oZik7ZWxzZSBpZihmLmRhdGFzZXQuYWN0aW9uPT09InJlc3VtZS1jb2RleC1oaXN0b3J5IiYmZi5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZClHTyhmKTtlbHNlIGlmKGYuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWNvZGV4LWhpc3RvcnkiJiZmLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkKVlPKGYpO2Vsc2UgaWYoZi5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtY29kZXgtaGlzdG9yeS1kaXJlY3RvcnkiJiZmLmRhdGFzZXQuY3dkKXt2YXIgaD1mLmRhdGFzZXQuY3dkO3MuY29kZXhIaXN0b3J5RXhwYW5kZWREaXJzW2hdPSFzLmNvZGV4SGlzdG9yeUV4cGFuZGVkRGlyc1toXSxEdCgpfWVsc2UgZi5kYXRhc2V0LmFjdGlvbj09PSJ3b3JrdHJlZS1tZXJnZSImJmYuZGF0YXNldC5zZXNzaW9uSWQ/RjAoZi5kYXRhc2V0LnNlc3Npb25JZCk6Zi5kYXRhc2V0LmFjdGlvbj09PSJ3b3JrdHJlZS1jbGVhbnVwIiYmZi5kYXRhc2V0LnNlc3Npb25JZCYmQzAoZi5kYXRhc2V0LnNlc3Npb25JZCk7cmV0dXJufXZhciBnPXQuY2xvc2VzdCgiLnNlc3Npb24taXRlbSIpO2lmKGcpe2lmKHMuc2Vzc2lvbnNNYW5hZ2VNb2RlKXtnLmRhdGFzZXQuc2Vzc2lvbklkP1dvKCJzZXNzaW9ucyIsZy5kYXRhc2V0LnNlc3Npb25JZCk6Zy5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCYmV28oZy5kYXRhc2V0LnByb3ZpZGVyPT09ImNvZGV4Ij8iY29kZXgiOiJoaXN0b3J5IixnLmRhdGFzZXQuY2xhdWRlSGlzdG9yeUlkKTtyZXR1cm59aWYoZy5jbGFzc0xpc3QuY29udGFpbnMoInN3aXBlZCIpKXtxbCgpO3JldHVybn1pZihVeClyZXR1cm47aWYoZy5kYXRhc2V0LnNlc3Npb25JZClDaChnLmRhdGFzZXQuc2Vzc2lvbklkKTtlbHNlIGlmKGcuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQpe3ZhciBiPWcuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQseT1nLmRhdGFzZXQuY3dkLEM9Zy5kYXRhc2V0LnByb3ZpZGVyPT09ImNvZGV4Ij9qZjpNZjtDKGIseSkudGhlbihmdW5jdGlvbih3KXt3JiZ3LmlkJiYocy5zZWxlY3RlZElkPXcuaWQsR3QoKSxzLmRyYWZ0c1t3LmlkXT0iIix3cigpLnRoZW4oZnVuY3Rpb24oKXt0cih3LmlkKSxucigpfSkpfSl9fX19ZnVuY3Rpb24gX2ooZSl7aWYoIShlLmtleSE9PSJFbnRlciImJmUua2V5IT09IiAiKSl7dmFyIHQ9ZS50YXJnZXQuY2xvc2VzdCgiLnNlc3Npb24taXRlbSIpO2lmKHQpe2lmKGUucHJldmVudERlZmF1bHQoKSxzLnNlc3Npb25zTWFuYWdlTW9kZSl7dC5kYXRhc2V0LnNlc3Npb25JZD9Xbygic2Vzc2lvbnMiLHQuZGF0YXNldC5zZXNzaW9uSWQpOnQuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQmJldvKHQuZGF0YXNldC5wcm92aWRlcj09PSJjb2RleCI/ImNvZGV4IjoiaGlzdG9yeSIsdC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCk7cmV0dXJufWlmKHQuZGF0YXNldC5zZXNzaW9uSWQpQ2godC5kYXRhc2V0LnNlc3Npb25JZCk7ZWxzZSBpZih0LmRhdGFzZXQuY2xhdWRlSGlzdG9yeUlkKXt2YXIgYT10LmRhdGFzZXQuY2xhdWRlSGlzdG9yeUlkLGk9dC5kYXRhc2V0LmN3ZCxvPXQuZGF0YXNldC5wcm92aWRlcj09PSJjb2RleCI/amY6TWY7byhhLGkpLnRoZW4oZnVuY3Rpb24oYyl7YyYmYy5pZCYmKHMuc2VsZWN0ZWRJZD1jLmlkLEd0KCkscy5kcmFmdHNbYy5pZF09IiIsd3IoKS50aGVuKGZ1bmN0aW9uKCl7dHIoYy5pZCksbnIoKX0pKX0pfX19fWZ1bmN0aW9uIFhvKGUsdCl7dmFyIGE9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09cy5zZWxlY3RlZElkfSk7aWYoYSl7dmFyIGk9YVtlXTtpZighaSl7aGUoIlx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NkNBMVx1NjcwOVx1NTNFRlx1NTkwRFx1NTIzNlx1NzY4NFx1NTE4NVx1NUJCOVx1MzAwMiIsImVycm9yIik7cmV0dXJufUdmKFN0cmluZyhpKSxudWxsLGZ1bmN0aW9uKCl7aGUodHx8Ilx1NURGMlx1NTkwRFx1NTIzNiIsImluZm8iKX0pfX1mdW5jdGlvbiAkYSgpe3JldHVybiFzLnRlcm1pbmFsfHwhcy50ZXJtaW5hbC5lbGVtZW50P251bGw6KHMudGVybWluYWxWaWV3cG9ydEVsPXMudGVybWluYWwuZWxlbWVudCxzLnRlcm1pbmFsVmlld3BvcnRFbCl9ZnVuY3Rpb24gJG8oKXtzLnRlcm1pbmFsU2Nyb2xsSWRsZVRpbWVyJiYoY2xlYXJUaW1lb3V0KHMudGVybWluYWxTY3JvbGxJZGxlVGltZXIpLHMudGVybWluYWxTY3JvbGxJZGxlVGltZXI9bnVsbCl9ZnVuY3Rpb24gRGEoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtanVtcC1ib3R0b20iKSx0PSEhcy5zZWxlY3RlZElkJiZzLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmIXMudGVybWluYWxBdXRvRm9sbG93JiYhZXgoKTtzLnNob3dUZXJtaW5hbEp1bXBUb0JvdHRvbT10LGUmJmUuY2xhc3NMaXN0LnRvZ2dsZSgidmlzaWJsZSIsdCk7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2EmJmEuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLWp1bXAtYnRuIix0KX1mdW5jdGlvbiBEaCgpe3ZhciBlPSRhKCk7aWYoIWUpcmV0dXJuITA7dmFyIHQ9ZS5zY3JvbGxIZWlnaHQtZS5jbGllbnRIZWlnaHQtZS5zY3JvbGxUb3A7cmV0dXJuIHQ8PXMudGVybWluYWxTY3JvbGxUaHJlc2hvbGR9ZnVuY3Rpb24gZXgoKXt2YXIgZT0kYSgpO2lmKCFlKXJldHVybiEwO3ZhciB0PWUuc2Nyb2xsSGVpZ2h0LWUuY2xpZW50SGVpZ2h0LWUuc2Nyb2xsVG9wO3JldHVybiB0PD0yfWZ1bmN0aW9uIHR4KGUpe2lmKHMudGVybWluYWwpe3ZhciB0PSRhKCk7aWYodCl7dmFyIGE9ZT81MDA6MTIwO3MudGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbD1NYXRoLm1heChzLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWwsRGF0ZS5ub3coKSthKSxlP3Quc2Nyb2xsVG8oe3RvcDp0LnNjcm9sbEhlaWdodCxiZWhhdmlvcjoic21vb3RoIn0pOnQuc2Nyb2xsVG9wPXQuc2Nyb2xsSGVpZ2h0fX19ZnVuY3Rpb24gQWgoKXtzLnRlcm1pbmFsQXV0b0ZvbGxvdz0hMSwkbygpLHMudGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbD0wLHMudGVybWluYWwmJiJfc2hvdWxkU2Nyb2xsVG9Cb3R0b20iaW4gcy50ZXJtaW5hbCYmKHMudGVybWluYWwuX3Nob3VsZFNjcm9sbFRvQm90dG9tPSExKSxEYSgpfWZ1bmN0aW9uIEFhKGUpe2lmKHMudGVybWluYWwpe3ZhciB0PWU9PT0iZm9yY2UiO2lmKHQpe3MudGVybWluYWxBdXRvRm9sbG93PSEwLCRvKCksdHgoITEpLERhKCk7cmV0dXJufWlmKCFzLnRlcm1pbmFsQXV0b0ZvbGxvdyl7RGEoKTtyZXR1cm59dHgoITEpLERhKCl9fWZ1bmN0aW9uIE5qKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1zY3JvbGxiYXIiO3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1zY3JvbGxiYXItdHJhY2siO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWIiLGEuYXBwZW5kQ2hpbGQoaSksdC5hcHBlbmRDaGlsZChhKSxlLmFwcGVuZENoaWxkKHQpLHMudGVybWluYWxTY3JvbGxiYXJFbD10LHMudGVybWluYWxTY3JvbGxiYXJUaHVtYkVsPWkscy50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lcj1udWxsLHMudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMSxzLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZz0hMTtmdW5jdGlvbiBvKCl7cy50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lciYmKGNsZWFyVGltZW91dChzLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyKSxzLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwpLHQuY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpfWZ1bmN0aW9uIGMoKXtzLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmd8fChzLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyJiZjbGVhclRpbWVvdXQocy50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lcikscy50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cy50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lcj1udWxsLHMudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZ3x8dC5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIil9LDE1MDApKX1mdW5jdGlvbiBkKCl7cy50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmc9ITE7dmFyIHg9JGEoKTtpZih4KXt2YXIgRj14LnNjcm9sbEhlaWdodCxBPXguY2xpZW50SGVpZ2h0O2lmKEY8PUEpe3QuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpO3JldHVybn12YXIgRD1hLmNsaWVudEhlaWdodCxCPU1hdGgubWF4KDI4LEEvRipEKSxUPUYtQSxrPXguc2Nyb2xsVG9wL1QsTT1rKihELUIpO2kuc3R5bGUuaGVpZ2h0PUIrInB4IixpLnN0eWxlLnRvcD1NKyJweCJ9fWZ1bmN0aW9uIGYoKXtzLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZ3x8KHMudGVybWluYWxTY3JvbGxiYXJSYWZQZW5kaW5nPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShkKSl9dmFyIG09JGEoKTttJiZtLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZnVuY3Rpb24oKXtvKCksZigpLGMoKX0se3Bhc3NpdmU6ITB9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsZnVuY3Rpb24oeCl7aWYoeC50YXJnZXQhPT1pKXt4LnByZXZlbnREZWZhdWx0KCk7dmFyIEY9JGEoKTtpZihGKXt2YXIgQT1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEQ9KHguY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQsQj1GLnNjcm9sbEhlaWdodC1GLmNsaWVudEhlaWdodDtGLnNjcm9sbFRvcD1EKkJ9fX0pO3ZhciBoPTAsZz0wO2kuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbih4KXt4LnByZXZlbnREZWZhdWx0KCkseC5zdG9wUHJvcGFnYXRpb24oKSxzLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITAsaS5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLGg9eC5jbGllbnRZO3ZhciBGPSRhKCk7Zz1GP0Yuc2Nyb2xsVG9wOjAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixiKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix5KX0pO2Z1bmN0aW9uIGIoeCl7eC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBGPSRhKCk7aWYoRil7dmFyIEE9YS5jbGllbnRIZWlnaHQsRD1GLnNjcm9sbEhlaWdodCxCPUYuY2xpZW50SGVpZ2h0LFQ9RC1CO2lmKCEoVDw9MCkpe3ZhciBrPU1hdGgubWF4KDI4LEIvRCpBKSxNPUEtaztpZighKE08PTApKXt2YXIgej14LmNsaWVudFktaCxPPXovTSpUO0Yuc2Nyb2xsVG9wPWcrT319fX1mdW5jdGlvbiB5KCl7cy50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSExLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHkpLGMoKX1pLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKHgpe2lmKHgudG91Y2hlcy5sZW5ndGg9PT0xKXt4LnN0b3BQcm9wYWdhdGlvbigpLHMudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMCxpLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksaD14LnRvdWNoZXNbMF0uY2xpZW50WTt2YXIgRj0kYSgpO2c9Rj9GLnNjcm9sbFRvcDowLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsQyx7cGFzc2l2ZTohMX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix3KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGNhbmNlbCIsdyl9fSx7cGFzc2l2ZTohMX0pO2Z1bmN0aW9uIEMoeCl7aWYoeC50b3VjaGVzLmxlbmd0aD09PTEpe3gucHJldmVudERlZmF1bHQoKTt2YXIgRj0kYSgpO2lmKEYpe3ZhciBBPWEuY2xpZW50SGVpZ2h0LEQ9Ri5zY3JvbGxIZWlnaHQsQj1GLmNsaWVudEhlaWdodCxUPUQtQjtpZighKFQ8PTApKXt2YXIgaz1NYXRoLm1heCgyOCxCL0QqQSksTT1BLWs7aWYoIShNPD0wKSl7dmFyIHo9eC50b3VjaGVzWzBdLmNsaWVudFktaCxPPXovTSpUO0Yuc2Nyb2xsVG9wPWcrT319fX19ZnVuY3Rpb24gdygpe3MudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMSxpLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixDKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdyksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHcpLGMoKX10LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7bygpfSksdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe3MudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZ3x8YygpfSksZigpfWZ1bmN0aW9uIFJqKGUpe3JldHVybiBlPDQzNTI/ITE6ZT49NDM1MiYmZTw9NDQ0N3x8ZT49OTAwMSYmZTw9OTAwMnx8ZT49MTE5MDQmJmU8PTEyMzUwfHxlPj0xMjM1MyYmZTw9MTMzMTF8fGU+PTEzMzEyJiZlPD0xOTkwM3x8ZT49MTk5NjgmJmU8PTQwOTU5fHxlPj00MDk2MCYmZTw9NDIxOTF8fGU+PTQ0MDMyJiZlPD01NTIwM3x8ZT49NjM3NDQmJmU8PTY0MjU1fHxlPj02NTA3MiYmZTw9NjUxMDN8fGU+PTY1MjgwJiZlPD02NTM3Nnx8ZT49NjU1MDQmJmU8PTY1NTEwfHxlPj0xMjY5NzYmJmU8PTEyOTUzNXx8ZT49MTMxMDcyJiZlPD0xOTY2MDV8fGU+PTE5NjYwOCYmZTw9MjYyMTQxfXZhciBueD0iXHUyMDYwIjtmdW5jdGlvbiBheCgpe3JldHVybnttb2RlOiJub3JtYWwifX1mdW5jdGlvbiBJaihlKXtyZXR1cm4hL1teXHgwMC1ceDdmXS8udGVzdChlKSYmZS5pbmRleE9mKCJceDFCIik9PT0tMX1mdW5jdGlvbiBMaihlLHQpe2lmKCFlKXJldHVybiIiO3ZhciBhPVN0cmluZyhlKTtpZih0Lm1vZGU9PT0ibm9ybWFsIiYmSWooYSkpcmV0dXJuIGE7Zm9yKHZhciBpPSIiLG89MDtvPGEubGVuZ3RoO28rKyl7dmFyIGM9YS5jaGFyQ29kZUF0KG8pLGQ9YyxmPTE7aWYoYz49NTUyOTYmJmM8PTU2MzE5JiZvKzE8YS5sZW5ndGgpe3ZhciBtPWEuY2hhckNvZGVBdChvKzEpO20+PTU2MzIwJiZtPD01NzM0MyYmKGQ9KGMtNTUyOTYpKjEwMjQrKG0tNTYzMjApKzY1NTM2LGY9Mil9dmFyIGg9Zj09PTI/YS5zdWJzdHIobywyKTphLmNoYXJBdChvKTtzd2l0Y2godC5tb2RlKXtjYXNlIm5vcm1hbCI6ZD09PTI3Pyh0Lm1vZGU9ImVzYyIsaSs9aCk6ZD09PTE1NT8odC5tb2RlPSJjc2kiLGkrPWgpOmQ9PT0xNTd8fGQ9PT0xNDR8fGQ9PT0xNTh8fGQ9PT0xNTk/KHQubW9kZT0ic3RyaW5nIixpKz1oKTooaSs9aCxSaihkKSYmKGkrPW54KSk7YnJlYWs7Y2FzZSJlc2MiOmkrPWgsZD09PTkxP3QubW9kZT0iY3NpIjpkPT09OTN8fGQ9PT04MHx8ZD09PTg4fHxkPT09OTR8fGQ9PT05NT90Lm1vZGU9InN0cmluZyI6dC5tb2RlPSJub3JtYWwiO2JyZWFrO2Nhc2UiY3NpIjppKz1oLGQ+PTY0JiZkPD0xMjYmJih0Lm1vZGU9Im5vcm1hbCIpO2JyZWFrO2Nhc2Uic3RyaW5nIjppKz1oLGQ9PT03fHxkPT09MTU2P3QubW9kZT0ibm9ybWFsIjpkPT09MjcmJih0Lm1vZGU9InN0cmluZy1lc2MiKTticmVhaztjYXNlInN0cmluZy1lc2MiOmkrPWgsZD09PTkyP3QubW9kZT0ibm9ybWFsIjp0Lm1vZGU9InN0cmluZyI7YnJlYWt9bys9Zi0xfXJldHVybiBpfXZhciBiZj0iXHgxQls/MjAyNmgiLFNoPSJceDFCWz8yMDI2bCIsemo9MjAwLEhqPTI1NioxMDI0O2Z1bmN0aW9uIHFqKGUpe2lmKCFlfHxzLnN5bmNPdXRwdXRCdWZmZXI9PT1udWxsJiZlLmluZGV4T2YoYmYpPT09LTEpcmV0dXJuIGU7Zm9yKHZhciB0PSIiLGE9MDthPGUubGVuZ3RoOylpZihzLnN5bmNPdXRwdXRCdWZmZXIhPT1udWxsKXt2YXIgaT1lLmluZGV4T2YoU2gsYSk7aWYoaT09PS0xKXJldHVybiBzLnN5bmNPdXRwdXRCdWZmZXIrPWUuc2xpY2UoYSksKHMuc3luY091dHB1dEJ1ZmZlci5sZW5ndGg+SGp8fERhdGUubm93KCk+cy5zeW5jT3V0cHV0RGVhZGxpbmUpJiYodCs9cy5zeW5jT3V0cHV0QnVmZmVyLHMuc3luY091dHB1dEJ1ZmZlcj1udWxsLHMuc3luY0ZyYW1pbmdSZXNpZHVlPSEwKSx0O3Muc3luY091dHB1dEJ1ZmZlcis9ZS5zbGljZShhLGkrU2gubGVuZ3RoKSx0Kz1zLnN5bmNPdXRwdXRCdWZmZXIscy5zeW5jT3V0cHV0QnVmZmVyPW51bGwsYT1pK1NoLmxlbmd0aH1lbHNle3ZhciBvPWUuaW5kZXhPZihiZixhKTtpZihvPT09LTEpcmV0dXJuIHQrPWUuc2xpY2UoYSksdDt0Kz1lLnNsaWNlKGEsbykscy5zeW5jT3V0cHV0QnVmZmVyPWJmLHMuc3luY091dHB1dERlYWRsaW5lPURhdGUubm93KCkremosYT1vK2JmLmxlbmd0aH1yZXR1cm4gdH1mdW5jdGlvbiBabyhlLHQpe2lmKCEoIWV8fHQ9PW51bGwpKXtzLndpZGVQYXJzZXJTdGF0ZXx8KHMud2lkZVBhcnNlclN0YXRlPWF4KCkpO3ZhciBhPUxqKHQscy53aWRlUGFyc2VyU3RhdGUpLGk9cWooYSksbz1zLnRlcm1pbmFsQXV0b0ZvbGxvdyE9PSExOyJfc2hvdWxkU2Nyb2xsVG9Cb3R0b20iaW4gZSYmKGUuX3Nob3VsZFNjcm9sbFRvQm90dG9tPW8pLGkmJmUud3JpdGUoaSksIl9zaG91bGRTY3JvbGxUb0JvdHRvbSJpbiBlJiYoZS5fc2hvdWxkU2Nyb2xsVG9Cb3R0b209byksbyYmKHMudGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbD1NYXRoLm1heChzLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWwsRGF0ZS5ub3coKSsxMjApKSwkaih0KX19ZnVuY3Rpb24gQmgoKXtzLndpZGVQYXJzZXJTdGF0ZT1heCgpfWZ1bmN0aW9uIFBqKCl7dHlwZW9mIGRvY3VtZW50PiJ1Inx8ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsZnVuY3Rpb24oZSl7dmFyIHQ9d2luZG93LmdldFNlbGVjdGlvbiYmd2luZG93LmdldFNlbGVjdGlvbigpO2lmKCEoIXR8fHQuaXNDb2xsYXBzZWQpKXt2YXIgYT10LmFuY2hvck5vZGUsaT1hJiZhLm5vZGVUeXBlPT09Mz9hLnBhcmVudE5vZGU6YSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZighKCFvfHwhaXx8IW8uY29udGFpbnMoaSkpKXt2YXIgYz10LnRvU3RyaW5nKCksZD1jLnNwbGl0KGAKYCkubWFwKGZ1bmN0aW9uKGYpe3JldHVybiBmLnNwbGl0KG54KS5qb2luKCIiKS5yZXBsYWNlKC9bIFx0XSskLywiIil9KS5qb2luKGAKYCk7ZCE9PWMmJmUuY2xpcGJvYXJkRGF0YSYmKGUuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCJ0ZXh0L3BsYWluIixkKSxlLnByZXZlbnREZWZhdWx0KCkpfX19KX1QaigpO3ZhciByeD0xNTAsaXg9MzAsVWo9MTYwKjEwMjQsVmo9MTkyKjEwMjQ7ZnVuY3Rpb24gdXgoZSl7aWYoIWV8fGUubGVuZ3RoPD1WailyZXR1cm4gZTt2YXIgdD1lLmxlbmd0aCxhPWZ1bmN0aW9uKGspe2lmKCEodHlwZW9mIHM+InUifHwhcykpe3ZhciBNPXMudGVybWluYWxPdXRwdXRNYXJrZXJ8MDtpZighKE08PTApKXt2YXIgej10LWs7cy50ZXJtaW5hbE91dHB1dE1hcmtlcj1NPno/TS16OjB9fX0saT1lLmxlbmd0aC1VajtpZihpPjAmJmk8ZS5sZW5ndGgpe3ZhciBvPWUuY2hhckNvZGVBdChpKTtvPj01NjMyMCYmbzw9NTczNDMmJmkrK31mb3IodmFyIGM9NDA5NixkPU1hdGgubWluKGkrYyxlLmxlbmd0aCksZj1pO2Y8ZDtmKyspaWYoZS5jaGFyQ29kZUF0KGYpPT09MTApe3ZhciBtPWUuc2xpY2UoZisxKTtyZXR1cm4gYShtLmxlbmd0aCksbX1mb3IodmFyIGg9TWF0aC5tYXgoMCxpLTI1NiksZz0tMSxiPWktMTtiPj1oO2ItLSl7dmFyIHk9ZS5jaGFyQ29kZUF0KGIpO2lmKHk9PT0yNyl7Zz1iO2JyZWFrfWlmKHk9PT03fHx5Pj02NCYmeTw9MTI2KWJyZWFrfWlmKGchPT0tMSl7Zm9yKHZhciBDPSExLHc9ZysxO3c8aTt3Kyspe3ZhciB4PWUuY2hhckNvZGVBdCh3KTtpZih4PT09Nyl7Qz0hMDticmVha31pZih4Pj02NCYmeDw9MTI2KXtDPSEwO2JyZWFrfX1pZighQylmb3IodmFyIEY9TWF0aC5taW4oaSsyNTYsZS5sZW5ndGgpLEE9aTtBPEY7QSsrKXt2YXIgRD1lLmNoYXJDb2RlQXQoQSk7aWYoRD09PTd8fEQ+PTY0JiZEPD0xMjYpe3ZhciBCPWUuc2xpY2UoQSsxKTtyZXR1cm4gYShCLmxlbmd0aCksQn19fXZhciBUPWUuc2xpY2UoaSk7cmV0dXJuIGEoVC5sZW5ndGgpLFR9ZnVuY3Rpb24geWYoKXtpZihzLnRlcm1pbmFsKXtpZih0eXBlb2Ygcy50ZXJtaW5hbC5yZXNldD09ImZ1bmN0aW9uIil7cy50ZXJtaW5hbC5yZXNldCgpLEJoKCkscy5zeW5jT3V0cHV0QnVmZmVyPW51bGwscy5zeW5jT3V0cHV0RGVhZGxpbmU9MDtyZXR1cm59dHlwZW9mIHMudGVybWluYWwud3JpdGU9PSJmdW5jdGlvbiImJnMudGVybWluYWwud3JpdGUoIlx4MUJjIiksQmgoKSxzLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxzLnN5bmNPdXRwdXREZWFkbGluZT0wfX1zLl9yZXN5bmNTdGF0c1dpbmRvd1N0YXJ0PTAscy5fcmVzeW5jU3RhdHNDb3VudD0wLHMuX3Jlc3luY0xhc3RXYXJuQXQ9MDt2YXIgR2o9NWUzLFlqPTEyLFdqPTNlNDtzLl9yZXN5bmNJblByb2dyZXNzPSExO2Z1bmN0aW9uIHp1KGUpe2lmKCFzLnRlcm1pbmFsfHwhcy50ZXJtaW5hbE91dHB1dClyZXR1cm4hMTt2YXIgdD1lfHx7fSxhPXMudGVybWluYWxPdXRwdXRNYXJrZXJ8MDthPDAmJihhPTApLGE+cy50ZXJtaW5hbE91dHB1dC5sZW5ndGgmJihhPXMudGVybWluYWxPdXRwdXQubGVuZ3RoKTt2YXIgaT1hPjA/cy50ZXJtaW5hbE91dHB1dC5zbGljZShhKTpzLnRlcm1pbmFsT3V0cHV0LG89aS5sZW5ndGgsYz10eXBlb2YgcGVyZm9ybWFuY2U8InUiJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2Uubm93KCk6RGF0ZS5ub3coKTtzLl9yZXN5bmNJblByb2dyZXNzPSEwO3RyeXt5ZigpLFpvKHMudGVybWluYWwsaSl9ZmluYWxseXtzLl9yZXN5bmNJblByb2dyZXNzPSExfXMubGFzdFRlcm1pbmFsUmVzeW5jQXQ9RGF0ZS5ub3coKSxBYSgib3V0cHV0IiksdC5za2lwRml0fHx6bigicmVmcmVzaCIpO3ZhciBkPURhdGUubm93KCk7aWYoZC1zLl9yZXN5bmNTdGF0c1dpbmRvd1N0YXJ0PkdqKXMuX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ9ZCxzLl9yZXN5bmNTdGF0c0NvdW50PTE7ZWxzZSBpZihzLl9yZXN5bmNTdGF0c0NvdW50Kysscy5fcmVzeW5jU3RhdHNDb3VudD5ZaiYmZC1zLl9yZXN5bmNMYXN0V2FybkF0PldqKXtzLl9yZXN5bmNMYXN0V2FybkF0PWQ7dmFyIGY9dHlwZW9mIHBlcmZvcm1hbmNlPCJ1IiYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlLm5vdygpOkRhdGUubm93KCk7Y29uc29sZS53YXJuKCJbd2FuZF0gc29mdFJlc3luY1Rlcm1pbmFsIGhpZ2ggZnJlcXVlbmN5IiwiY291bnQ9IitzLl9yZXN5bmNTdGF0c0NvdW50KyIvIitNYXRoLnJvdW5kKChkLXMuX3Jlc3luY1N0YXRzV2luZG93U3RhcnQpLzEwMCkvMTArInMiLCJidWZMZW49IitvLCJsYXN0UmVwbGF5TXM9IitNYXRoLnJvdW5kKGYtYykpfXJldHVybiEwfWZ1bmN0aW9uIEtqKGUpe3Muc29mdFJlc3luY1RpbWVyJiZjbGVhclRpbWVvdXQocy5zb2Z0UmVzeW5jVGltZXIpLHMuc29mdFJlc3luY1RpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLnNvZnRSZXN5bmNUaW1lcj1udWxsLHp1KCl9LHR5cGVvZiBlPT0ibnVtYmVyIj9lOjE1MCl9dmFyIFFqPS9ceDFiXFtcZCooPzo7XGQqKT9bQUJDRGZISktdLyxveD0xNTAwLFhqPTgwMDtzLl9yZXN5bmNDaHVua0xhc3RBdD0wLHMuX3Jlc3luY0NodW5rVGFpbFRpbWVyPW51bGw7ZnVuY3Rpb24gJGooZSl7aWYoIXMuX3Jlc3luY0luUHJvZ3Jlc3MmJnMuc3luY0ZyYW1pbmdSZXNpZHVlJiYocy5zeW5jRnJhbWluZ1Jlc2lkdWU9ITEsISghZXx8dHlwZW9mIGUhPSJzdHJpbmciKSYmZS5pbmRleE9mKCJceDFCWyIpIT09LTEmJlFqLnRlc3QoZSkpKXt2YXIgdD1EYXRlLm5vdygpLGE9dC1zLl9yZXN5bmNDaHVua0xhc3RBdDtpZihhPj1veCl7cy5fcmVzeW5jQ2h1bmtUYWlsVGltZXImJihjbGVhclRpbWVvdXQocy5fcmVzeW5jQ2h1bmtUYWlsVGltZXIpLHMuX3Jlc3luY0NodW5rVGFpbFRpbWVyPW51bGwpLHMuX3Jlc3luY0NodW5rTGFzdEF0PXQsenUoKTtyZXR1cm59aWYoIXMuX3Jlc3luY0NodW5rVGFpbFRpbWVyKXt2YXIgaT1NYXRoLm1heChYaixveC1hKTtzLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cy5fcmVzeW5jQ2h1bmtUYWlsVGltZXI9bnVsbCxzLl9yZXN5bmNDaHVua0xhc3RBdD1EYXRlLm5vdygpLHp1KCl9LGkpfX19ZnVuY3Rpb24gd2YoZSx0LGEpe2lmKCFzLnRlcm1pbmFsKXJldHVybiExO3ZhciBpPXUwKHR8fCIiKSxvPWV8fG51bGwsYz1hfHx7fSxkPWMubW9kZXx8ImFwcGVuZCIsZj1jLnNjcm9sbCE9PSExLG09cy50ZXJtaW5hbFNlc3Npb25JZCE9PW8saD1zLnRlcm1pbmFsT3V0cHV0fHwiIixnPSEhKG8mJnMudGVybWluYWxMaXZlU3RyZWFtU2Vzc2lvbnNbb10pLGI9ITE7aWYoaT09PWgmJiFtKXJldHVybiBmJiZBYSgib3V0cHV0IiksRGEoKSwhMTtpZihtJiYoeWYoKSxoPSIiLHMudGVybWluYWxPdXRwdXQ9IiIscy50ZXJtaW5hbE91dHB1dE1hcmtlcj0wLHMudGVybWluYWxBdXRvRm9sbG93PSEwLCRvKCksRGEoKSksZD09PSJyZXBsYWNlIilpIT09aCYmKHlmKCksaSYmWm8ocy50ZXJtaW5hbCxpKSxiPSEwKTtlbHNle2lmKGkubGVuZ3RoPGgubGVuZ3RoJiYhbSlyZXR1cm4hMTtpZihnJiYhbSYmZCE9PSJyZXBsYWNlIiYmaCYmIWkuc3RhcnRzV2l0aChoKSlyZXR1cm4hMTtpZihpLnN0YXJ0c1dpdGgoaCkpe3ZhciB5PWkuc2xpY2UoaC5sZW5ndGgpO3kmJihabyhzLnRlcm1pbmFsLHkpLGI9ITApfWVsc2V7aWYoaCYmaC5zdGFydHNXaXRoKGkpKXJldHVybiExO3lmKCksaSYmWm8ocy50ZXJtaW5hbCxpKSxiPSEwfX1yZXR1cm4gcy50ZXJtaW5hbFNlc3Npb25JZD1vLHMudGVybWluYWxPdXRwdXQ9aSxzLnRlcm1pbmFsT3V0cHV0TWFya2VyPTAsZiYmKGJ8fG18fGQ9PT0icmVwbGFjZSIpP0FhKG18fGQ9PT0icmVwbGFjZSI/ImZvcmNlIjoib3V0cHV0Iik6RGEoKSxtJiZnZihzLnRlcm1pbmFsLmNvbHMscy50ZXJtaW5hbC5yb3dzKSxifHxtfWZ1bmN0aW9uIEpvKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCEoIWV8fHMudGVybWluYWx8fHMudGVybWluYWxJbml0aWFsaXppbmcpKXtpZih0eXBlb2YgV1Rlcm1MaWI+InUifHwhV1Rlcm1MaWIuV1Rlcm0pe3MudGVybWluYWxJbml0UmV0cmllc3x8KHMudGVybWluYWxJbml0UmV0cmllcz0wKSxzLnRlcm1pbmFsSW5pdFJldHJpZXM8MTAmJihzLnRlcm1pbmFsSW5pdFJldHJpZXMrKyxzZXRUaW1lb3V0KEpvLDIwMCkpO3JldHVybn1zLnRlcm1pbmFsSW5pdFJldHJpZXM9MCxzLnRlcm1pbmFsSW5pdGlhbGl6aW5nPSEwO3ZhciB0PXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihoKXtyZXR1cm4gaC5pZD09PXMuc2VsZWN0ZWRJZH0pLGE9ISF0JiYhdXQodCkmJnMuY3VycmVudFZpZXc9PT0idGVybWluYWwiO2EmJihlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGUuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIikpO2Zvcih2YXIgaT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi50ZXJtaW5hbC1zY3JvbGwtd3JhcCIpLG89MDtvPGkubGVuZ3RoO28rKyl7dmFyIGM9aVtvXTtjLnBhcmVudE5vZGU9PT1lJiZlLnJlbW92ZUNoaWxkKGMpfXZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1zY3JvbGwtd3JhcCIsZS5hcHBlbmRDaGlsZChkKTt2YXIgZj1uZXcgV1Rlcm1MaWIuV1Rlcm0oZCx7Y29sczoxMjAscm93czozNixhdXRvUmVzaXplOiEwLGN1cnNvckJsaW5rOiExLG9uRGF0YTpmdW5jdGlvbigpe30sb25SZXNpemU6ZnVuY3Rpb24oaCxnKXtnZihoLGcpLHMudGVybWluYWwmJnMudGVybWluYWxPdXRwdXQmJnp1KHtza2lwRml0OiEwfSl9fSksbT1kb2N1bWVudC5mb250cyYmdHlwZW9mIGRvY3VtZW50LmZvbnRzLnJlYWR5PT0ib2JqZWN0Ij9Qcm9taXNlLnJhY2UoW2RvY3VtZW50LmZvbnRzLnJlYWR5LG5ldyBQcm9taXNlKGZ1bmN0aW9uKGgpe3NldFRpbWVvdXQoaCw4MDApfSldKTpQcm9taXNlLnJlc29sdmUoKTttLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZi5pbml0KCl9KS50aGVuKGZ1bmN0aW9uKCl7aWYocy50ZXJtaW5hbD1mLHMudGVybWluYWxJbml0aWFsaXppbmc9ITEsZjYoKSxkLmlzQ29ubmVjdGVkJiYoZC5vZmZzZXRIZWlnaHQsdHlwZW9mIGYucmVtZWFzdXJlPT0iZnVuY3Rpb24iKSl0cnl7Zi5yZW1lYXN1cmUoKX1jYXRjaHt9cy50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAsJG8oKTt2YXIgaD0kYSgpO2lmKGgmJihzLnRlcm1pbmFsVmlld3BvcnRTY3JvbGxIYW5kbGVyPWZ1bmN0aW9uKCl7aWYoRGF0ZS5ub3coKTxzLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWwpe0RhKCk7cmV0dXJufWlmKGV4KCkpe3MudGVybWluYWxBdXRvRm9sbG93PSEwLCRvKCksRGEoKTtyZXR1cm59QWgoKX0scy50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXI9ZnVuY3Rpb24oYil7Yi50b3VjaGVzJiZiLnRvdWNoZXMubGVuZ3RoPT09MSYmKHMudGVybWluYWxUb3VjaFN0YXJ0WT1iLnRvdWNoZXNbMF0uY2xpZW50WSl9LHMudGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcj1mdW5jdGlvbihiKXshYi50b3VjaGVzfHxiLnRvdWNoZXMubGVuZ3RoIT09MXx8dHlwZW9mIHMudGVybWluYWxUb3VjaFN0YXJ0WT09Im51bWJlciImJmIudG91Y2hlc1swXS5jbGllbnRZLXMudGVybWluYWxUb3VjaFN0YXJ0WT40JiZBaCgpfSxoLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIscy50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlcix7cGFzc2l2ZTohMH0pLGguYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIscy50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxoLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIscy50ZXJtaW5hbFZpZXdwb3J0VG91Y2hIYW5kbGVyLHtwYXNzaXZlOiEwfSkpLHMudGVybWluYWxXaGVlbEhhbmRsZXI9ZnVuY3Rpb24oYil7Yi5kZWx0YVk8MCYmQWgoKSxiLnN0b3BQcm9wYWdhdGlvbigpfSxlLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixzLnRlcm1pbmFsV2hlZWxIYW5kbGVyLHtwYXNzaXZlOiEwfSksTmooZSkscy5zZWxlY3RlZElkKXt2YXIgZz1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIuaWQ9PT1zLnNlbGVjdGVkSWR9KTtnJiZ3ZihnLmlkLGcub3V0cHV0fHwiIix7bW9kZToiYXBwZW5kIixzY3JvbGw6ITF9KX1lbHNlIFpvKGYsYFx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMlxyCmApO3MudGVybWluYWxDbGlja0hhbmRsZXI9ZnVuY3Rpb24oYil7U2YoKXx8YnIoYil9LGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMudGVybWluYWxDbGlja0hhbmRsZXIpLERhKCksbWooKSxiaigpLEJqKCksa2ooKSx6bigibW91bnQiLHtmb3JjZVJlcGxheTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImlzLXdhbmQtZW1iZWQtdGVybWluYWwiKSYmWzEyMCwzNTAsNzAwXS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtzLnRlcm1pbmFsJiZ6bigiZW1iZWQtc2V0dGxlIil9LGIpfSl9KS5jYXRjaChmdW5jdGlvbihoKXtzLnRlcm1pbmFsSW5pdGlhbGl6aW5nPSExLGNvbnNvbGUuZXJyb3IoIlt3YW5kXSB3dGVybSBpbml0IGZhaWxlZDoiLGgpfSl9fWZ1bmN0aW9uIFpqKGUsdCl7aWYoISghcy5zZWxlY3RlZElkfHwhZSkpe3ZhciBhPXMuc2VsZWN0ZWRJZCsiOiIrZTtpZihzLnRvb2xDb250ZW50Q2FjaGVbYV0pe3QobnVsbCxzLnRvb2xDb250ZW50Q2FjaGVbYV0pO3JldHVybn1mZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChzLnNlbGVjdGVkSWQpKyIvdG9vbC1jb250ZW50LyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2kuZXJyb3I/dChpLmVycm9yLG51bGwpOihzLnRvb2xDb250ZW50Q2FjaGVbYV09aSx0KG51bGwsaSkpfSkuY2F0Y2goZnVuY3Rpb24oKXt0KCJcdTUyQTBcdThGN0RcdTU5MzFcdThEMjUiLG51bGwpfSl9fWZ1bmN0aW9uIEh1KGUpe3JldHVybiEhKHMuY29uZmlnJiZzLmNvbmZpZy5jYXJkRGVmYXVsdHMmJnMuY29uZmlnLmNhcmREZWZhdWx0c1tlXSl9ZnVuY3Rpb24ga2goZSx0LGEsaSl7aWYoISghZXx8ZS5kYXRhc2V0LnRydW5jYXRlZCE9PSJ0cnVlInx8ZS5kYXRhc2V0LmxvYWRlZD09PSJ0cnVlIikpe3ZhciBvPWUuZGF0YXNldC50b29sVXNlSWQ7byYmKHQmJih0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0idG9vbC1jb250ZW50LWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PicpLGUuZGF0YXNldC5sb2FkZWQ9ImxvYWRpbmciLFpqKG8sZnVuY3Rpb24oYyxkKXtpZihjKXt0JiYodC5pbm5lckhUTUw9aXx8JzxkaXYgY2xhc3M9InRvb2wtY29udGVudC1lcnJvciI+XHU1MkEwXHU4RjdEXHU1OTMxXHU4RDI1XHVGRjBDXHU3MEI5XHU1MUZCXHU5MUNEXHU4QkQ1PC9kaXY+JyksZS5kYXRhc2V0LmxvYWRlZD0iIjtyZXR1cm59ZS5kYXRhc2V0LnRydW5jYXRlZD0iZmFsc2UiLGUuZGF0YXNldC5sb2FkZWQ9InRydWUiO3ZhciBmPXR5cGVvZiBkLmNvbnRlbnQ9PSJzdHJpbmciP2QuY29udGVudDpKU09OLnN0cmluZ2lmeShkLmNvbnRlbnQpO2EoZixkKX0pKX19d2luZG93Ll9fdGNUb2dnbGU9ZnVuY3Rpb24oZSx0KXt2YXIgYT10LmNsb3Nlc3QoIi50b29sLXVzZS1jYXJkIil8fHQuY2xvc2VzdCgiLmlubGluZS1kaWZmIik7aWYoYSl7dmFyIGk9YS5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO2EuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIik7dmFyIG89aTt0LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsbz8idHJ1ZSI6ImZhbHNlIik7dmFyIGM9YS5xdWVyeVNlbGVjdG9yKCIudG9vbC11c2UtYm9keSwgLmRpZmYtYm9keSIpO2MmJmMuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsbz8iZmFsc2UiOiJ0cnVlIik7dmFyIGQ9YS5kYXRhc2V0LmV4cGFuZEtpbmR8fCJ0b29sLWNhcmQiO2lmKGdvKGEsZCksaSl7dmFyIGY9YS5xdWVyeVNlbGVjdG9yKCIudG9vbC11c2UtcmVzdWx0Iik7a2goYSxmLGZ1bmN0aW9uKG0pe2YmJihmLmlubmVySFRNTD0nPHByZSBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWNvbnRlbnQiPicrTChtKSsiPC9wcmU+Iil9LGA8ZGl2IGNsYXNzPSJ0b29sLWNvbnRlbnQtZXJyb3IiIG9uY2xpY2s9Il9fdGNUb2dnbGUobnVsbCwgdGhpcy5jbG9zZXN0KCcudG9vbC11c2UtY2FyZCwuaW5saW5lLWRpZmYnKS5xdWVyeVNlbGVjdG9yKCcudG9vbC11c2UtaGVhZGVyLC5kaWZmLWhlYWRlcicpKSI+XHU1MkEwXHU4RjdEXHU1OTMxXHU4RDI1XHVGRjBDXHU3MEI5XHU1MUZCXHU5MUNEXHU4QkQ1PC9kaXY+YCl9fWUmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSl9LHdpbmRvdy5fX3RoaW5raW5nVG9nZ2xlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb2xsYXBzZWQiKTtpZih0KXtlLmNsYXNzTGlzdC5yZW1vdmUoImNvbGxhcHNlZCIpLGUuY2xhc3NMaXN0LmFkZCgiZXhwYW5kZWQiKSxlLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtcHJldmlldyIpLnRleHRDb250ZW50PWUuZGF0YXNldC50aGlua2luZ3x8IiI7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLWFjdGlvbiIpO2EmJihhLnRleHRDb250ZW50PSJcdTY1MzZcdThENzciKX1lbHNle2UuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kZWQiKSxlLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpO3ZhciBpPShlLmRhdGFzZXQudGhpbmtpbmd8fCIiKS5zbGljZSgwLDU3KSsoKGUuZGF0YXNldC50aGlua2luZ3x8IiIpLmxlbmd0aD42MD8iXHUyMDI2IjoiIik7ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLXByZXZpZXciKS50ZXh0Q29udGVudD1pO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1hY3Rpb24iKTthJiYoYS50ZXh0Q29udGVudD0iXHU1QzU1XHU1RjAwIil9Z28oZSwidGhpbmtpbmciKX0sd2luZG93Ll9fc3ViYWdlbnRSZXBseVRvZ2dsZT1mdW5jdGlvbihlLHQpe2UmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSk7dmFyIGE9dCYmdC5jbG9zZXN0P3QuY2xvc2VzdCgiLnN1YmFnZW50LXJlcGx5Iik6bnVsbDtpZihhKXt2YXIgaT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2UxKGEsInN1YmFnZW50LXJlcGx5IiwhaSksZ28oYSwic3ViYWdlbnQtcmVwbHkiKX19LHdpbmRvdy5fX3N1YmFnZW50UGFuZWxUb2dnbGU9ZnVuY3Rpb24oZSx0KXtlJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpO3ZhciBhPXQmJnQuY2xvc2VzdD90LmNsb3Nlc3QoIi5zdWJhZ2VudC1wYW5lbCIpOm51bGw7YSYmYS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLCJ0cnVlIil9O2Z1bmN0aW9uIEpqKGUpe2lmKGUpZm9yKHZhciB0PWUucXVlcnlTZWxlY3RvckFsbCgnLnN1YmFnZW50LXBhbmVsW2RhdGEtZm9sbG93LXRhaWw9InRydWUiXScpLGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIGk9dFthXS5xdWVyeVNlbGVjdG9yKCIuc3ViYWdlbnQtcGFuZWwtYm9keSIpO2kmJihpLnNjcm9sbFRvcD1pLnNjcm9sbEhlaWdodCl9fXdpbmRvdy5fX29wZW5GaWxlUHJldmlldz1mdW5jdGlvbihlKXtlJiZzaChlKX0sd2luZG93Ll9faW5saW5lVG9vbFRvZ2dsZT1mdW5jdGlvbihlKXt2YXIgdD1lLmNsYXNzTGlzdC50b2dnbGUoImlubGluZS10b29sLW9wZW4iKSxhPWUucXVlcnlTZWxlY3RvcigiLmlubGluZS10b29sLWV4cGFuZGVkIik7YSYmKGEuc3R5bGUuZGlzcGxheT10PyJibG9jayI6Im5vbmUiKTt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5pbmxpbmUtdG9vbC1zdGF0dXMiKTtpJiYoZS5kYXRhc2V0LnN0YXR1cz09PSJlcnJvciI/aS50ZXh0Q29udGVudD0iXHUyNzE3IjplLmRhdGFzZXQuc3RhdHVzPT09ImRvbmUiJiYoaS50ZXh0Q29udGVudD0iXHUyNzEzIikpLHQmJmtoKGUsYSxmdW5jdGlvbihvKXtlLmRhdGFzZXQucmVzdWx0PW8sYSYmKGEuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1yZXN1bHQiPicrZ0UobywiIikrIjwvZGl2PiIpfSksZ28oZSwiaW5saW5lLXRvb2wiKX0sd2luZG93Ll9fdGVybWluYWxFeHBhbmQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbG9zZXN0KCIuaW5saW5lLXRlcm1pbmFsIik7aWYodCl7dmFyIGE9dC5xdWVyeVNlbGVjdG9yKCIudGVybS1ib2R5Iik7aWYoYSl7dmFyIGk9YS5zdHlsZS5kaXNwbGF5PT09Im5vbmUiO2Euc3R5bGUuZGlzcGxheT1pPyJibG9jayI6Im5vbmUiLHQuZGF0YXNldC5leHBhbmRlZD1pPyJ0cnVlIjoiZmFsc2UiLGUuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixpPyJ0cnVlIjoiZmFsc2UiKSxhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLGk/ImZhbHNlIjoidHJ1ZSIpO3ZhciBvPWUucXVlcnlTZWxlY3RvcigiLnRlcm0tdG9nZ2xlLWljb24iKTtpZihvJiYoby50ZXh0Q29udGVudD1pPyJcdTI1QkMiOiJcdTI1QjYiKSxnbyh0LCJ0ZXJtaW5hbCIpLGkpe3ZhciBjPWEucXVlcnlTZWxlY3RvcigiLnRlcm0tb3V0cHV0Iik7a2godCxjLGZ1bmN0aW9uKGQpe2lmKGMpe2Zvcih2YXIgZj1kLnNwbGl0KGAKYCksbT0iIixoPTA7aDxmLmxlbmd0aDtoKyspIWZbaF0mJmg9PT1mLmxlbmd0aC0xfHwobSs9JzxkaXYgY2xhc3M9InRlcm0tbGluZSI+JytMKGZbaF0pKyI8L2Rpdj4iKTtjLmlubmVySFRNTD1tfX0pfX19fSx3aW5kb3cuX19hc2tTZWxlY3Q9ZnVuY3Rpb24oZSx0LGEsaSl7dmFyIG89cy5hc2tVc2VyU2VsZWN0aW9uc1tlXTtpZihvfHwobz17c3VibWl0dGVkOiExfSxzLmFza1VzZXJTZWxlY3Rpb25zW2VdPW8pLCFvLnN1Ym1pdHRlZCl7dmFyIGM9b1t0XXx8W107aWYoaSl7dmFyIGQ9Yy5pbmRleE9mKGEpO2Q9PT0tMT9jLnB1c2goYSk6Yy5zcGxpY2UoZCwxKX1lbHNlIGM9Y1swXT09PWE/W106W2FdO29bdF09Yyx3aW5kb3cuX19hc2tSZW5kZXIoZSl9fSx3aW5kb3cuX19hc2tSZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbC11c2UtaWQ9IicrZSsnIl0nKTtpZih0KXt2YXIgYT1zLmFza1VzZXJTZWxlY3Rpb25zW2VdfHx7fTt0LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1vcHRpb24iKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBmPXBhcnNlSW50KGQuZGF0YXNldC5xdWVzdGlvbkluZGV4LDEwKSxtPXBhcnNlSW50KGQuZGF0YXNldC5vcHRpb25JbmRleCwxMCksaD0oYVtmXXx8W10pLmluZGV4T2YobSkhPT0tMTtkLmNsYXNzTGlzdC50b2dnbGUoInNlbGVjdGVkIixoKX0pO3ZhciBpPXQucXVlcnlTZWxlY3RvcigiLmFzay11c2VyLXN1Ym1pdCIpO2lmKGkpe3ZhciBvPXQucXVlcnlTZWxlY3RvckFsbCgiLmFzay11c2VyLXF1ZXN0aW9uLWdyb3VwIiksYz0hMDtvLmZvckVhY2goZnVuY3Rpb24oZCxmKXsoIWFbZl18fGFbZl0ubGVuZ3RoPT09MCkmJihjPSExKX0pLGkuZGlzYWJsZWQ9IWN8fCEhYS5zdWJtaXR0ZWQsYS5zdWJtaXR0ZWQmJihpLnRleHRDb250ZW50PSJcdTVERjJcdTYzRDBcdTRFQTQuLi4iLGkuY2xhc3NMaXN0LmFkZCgiYXNrLXVzZXItc3VibWl0dGVkIikpfX19LHdpbmRvdy5fX2Fza1N1Ym1pdD1mdW5jdGlvbihlKXt2YXIgdD1zLmFza1VzZXJTZWxlY3Rpb25zW2VdO2lmKCEoIXR8fHQuc3VibWl0dGVkfHwhcy5zZWxlY3RlZElkKSl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbC11c2UtaWQ9IicrZSsnIl0nKTtpZihhKXt2YXIgaT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1xdWVzdGlvbi1ncm91cCIpLG89W10sYz0hMDtpZihpLmZvckVhY2goZnVuY3Rpb24oZixtKXt2YXIgaD10W21dfHxbXTtpZihoLmxlbmd0aD09PTApe2M9ITE7cmV0dXJufXZhciBnPVtdO2guZm9yRWFjaChmdW5jdGlvbihiKXt2YXIgeT1mLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW9wdGlvbi1pbmRleD0iJytiKyciXScpO3kmJmcucHVzaCh5LmRhdGFzZXQub3B0aW9uTGFiZWwpfSksby5wdXNoKGcuam9pbigiLCAiKSl9KSwhIWMpe3Quc3VibWl0dGVkPSEwLHdpbmRvdy5fX2Fza1JlbmRlcihlKTt2YXIgZD1vLmpvaW4oYApgKTtmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK3Muc2VsZWN0ZWRJZCsiL2lucHV0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7aW5wdXQ6ZCtgCmAsdmlldzpzLmN1cnJlbnRWaWV3fSl9KS5jYXRjaChmdW5jdGlvbihmKXtjb25zb2xlLmVycm9yKCJbd2FuZF0gRXJyb3Igc2VuZGluZyBhbnN3ZXI6IixmKSx0LnN1Ym1pdHRlZD0hMSx3aW5kb3cuX19hc2tSZW5kZXIoZSl9KX19fX07ZnVuY3Rpb24gZU0oKXtpZighcy5fX2dsb2JhbExpc3RlbmVyc0JvdW5kKXtzLl9fZ2xvYmFsTGlzdGVuZXJzQm91bmQ9ITAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7aWYoIUN0KCkpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLW92ZXJmbG93LW1lbnUiKTt0JiZ0LmNsYXNzTGlzdC5yZW1vdmUoIm9wZW4iKX19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixmdW5jdGlvbigpe2lmKCFDdCgpKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1vdmVyZmxvdy1tZW51Iik7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJvcGVuIil9fSk7dmFyIGU9ZnVuY3Rpb24oKXtpZighQ3QoKSl7cy50b3BiYXJNb3JlT3Blbj0hMTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLW1vcmUtbWVudSIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1tb3JlLWJ1dHRvbiIpO3QmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksYSYmKGEuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksYS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpKX19O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXtpZighQ3QoKSYmcy50b3BiYXJNb3JlT3Blbil7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1tb3JlLW1lbnUiKSxpPWEmJmEucGFyZW50RWxlbWVudDtpJiYhaS5jb250YWlucyh0LnRhcmdldCkmJmUoKX19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbih0KXtDdCgpfHx0LmtleT09PSJFc2NhcGUiJiZzLnRvcGJhck1vcmVPcGVuJiZlKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7aWYocy5wbHVzUG9wb3Zlck9wZW4pe3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb21wb3Nlci1wbHVzLXBvcG92ZXIiKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdHRhY2gtYnRuIik7YSYmYS5jb250YWlucyh0LnRhcmdldCl8fGkmJmkuY29udGFpbnModC50YXJnZXQpfHxVZigpfX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHQpe3Qua2V5PT09IkVzY2FwZSImJnMucGx1c1BvcG92ZXJPcGVuJiZVZigpLHQua2V5PT09IkVzY2FwZSImJmgwKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIGE9dC50YXJnZXQ7aWYoISghYXx8dHlwZW9mIGEuY2xvc2VzdCE9ImZ1bmN0aW9uIikpe3ZhciBpPWEuY2xvc2VzdCgiW2RhdGEtY2xhdWRlLXNraWxscy10cmlnZ2VyXSIpO2lmKGkpe3QucHJldmVudERlZmF1bHQoKSxoTihpKTtyZXR1cm59dmFyIG89YS5jbG9zZXN0KCJbZGF0YS1jbGF1ZGUtc2tpbGwtbmFtZV0iKTtpZihvKXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIGM9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGYpe3JldHVybiBmLmlkPT09cy5zZWxlY3RlZElkfSk7Z04oYyxvLmdldEF0dHJpYnV0ZSgiZGF0YS1jbGF1ZGUtc2tpbGwtbmFtZSIpKTtyZXR1cm59dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXNraWxscy1wb3BvdmVyIik7ZCYmIWQuY29udGFpbnMoYSkmJmgwKCl9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciBhPXQudGFyZ2V0O2lmKCEoIWF8fHR5cGVvZiBhLmNsb3Nlc3QhPSJmdW5jdGlvbiIpKXt2YXIgaT1hLmNsb3Nlc3QoIltkYXRhLW1vZGVscy1yZWZyZXNoXSIpO2lmKGkpe3QucHJldmVudERlZmF1bHQoKSxpLmRpc2FibGVkfHxBTigpO3JldHVybn12YXIgbz1hLmNsb3Nlc3QoIiNhdXRvLWFwcHJvdmUtdG9nZ2xlIik7byYmKHQucHJldmVudERlZmF1bHQoKSxsaigpKX19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKHQpe3ZhciBhPXQudGFyZ2V0O2lmKCEoIWF8fGEubm9kZVR5cGUhPT0xKSYmISh0eXBlb2YgYS5tYXRjaGVzIT0iZnVuY3Rpb24ifHwhYS5tYXRjaGVzKCJbZGF0YS1tb2RlLWNvbnRyb2xdIikpKXt2YXIgaT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1tb2RlLWNvbnRyb2wiKSxvPWEudmFsdWU7aT09PSJtb2RlIj9CTihvKTppPT09Im1vZGVsIj9TTihvKTppPT09InRoaW5raW5nIiYmRk4obyksYS5jbG9zZXN0JiZhLmNsb3Nlc3QoIiNjb21wb3Nlci1wbHVzLXBvcG92ZXIiKSYmVWYoKX19KX19ZnVuY3Rpb24gdE0oKXtlTSgpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1idXR0b24iKTtpZihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvMCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ2luLWZvcm0iKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsZnVuY3Rpb24ocGUpe3BlLnByZXZlbnREZWZhdWx0KCksbzAoKX0pO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1zd2l0Y2gtc2VydmVyLWJ1dHRvbiIpO2EmJmEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGwwKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzc3dvcmQiKSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2dnbGUtcGFzc3dvcmQtYnV0dG9uIik7byYmaSYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgcGU9aS50eXBlPT09InRleHQiO2kudHlwZT1wZT8icGFzc3dvcmQiOiJ0ZXh0IixvLnRleHRDb250ZW50PXBlPyJcdTY2M0VcdTc5M0EiOiJcdTk2OTBcdTg1Q0YiLG8uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixwZT8iXHU2NjNFXHU3OTNBXHU1QkM2XHU3ODAxIjoiXHU5NjkwXHU4NUNGXHU1QkM2XHU3ODAxIiksby5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIscGU/ImZhbHNlIjoidHJ1ZSIpLGkuZm9jdXMoKX0pLGkmJihpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHBlKXtwZS5rZXk9PT0iRW50ZXIiJiZvMCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtpLmRhdGFzZXQuZXJyb3I9ImZhbHNlIixpLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwiZmFsc2UiKTt2YXIgcGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ2luLWVycm9yIik7cGUmJmN4KHBlKX0pLGkuZm9jdXMoKSk7cmV0dXJufXZhciBjPUN0KCk7aWYoIWMpe3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0Iik7ZCYmKGQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24ocGUpe3BlLmtleT09PSJFbnRlciImJiFwZS5zaGlmdEtleSYmKHBlLnByZXZlbnREZWZhdWx0KCksQXgoKSl9KSxkLmZvY3VzKCkpO3ZhciBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLXNlbmQtYnRuIik7ZiYmZi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtBeCgpfSk7dmFyIG09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtdG9vbC1jbGF1ZGUiKTttJiZtLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe1lmKCl9KTt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLWNvZGV4Iik7aCYmaC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzLnNlc3Npb25Ub29sPSJjb2RleCIscy5wcmVmZXJyZWRDb21tYW5kPSJjb2RleCIscy5tb2RlVmFsdWU9ImZ1bGwtYWNjZXNzIixZZigpfSk7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtdG9vbC1vcGVuY29kZSIpO2cmJmcuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7cy5zZXNzaW9uVG9vbD0ib3BlbmNvZGUiLHMucHJlZmVycmVkQ29tbWFuZD0ib3BlbmNvZGUiLHMubW9kZVZhbHVlPSJtYW5hZ2VkIixZZigpfSk7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtdG9vbC1zdHJ1Y3R1cmVkIik7YiYmYi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtWRSgpLnRoZW4oZnVuY3Rpb24oKXticighMCl9KS5jYXRjaChmdW5jdGlvbihwZSl7aGUocGUmJnBlLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQThcdTdFRDNcdTY3ODRcdTUzMTZcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpfSl9KTt2YXIgeT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpO3kmJih5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixPaikseS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixfaikseS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHpOKSx5LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixITiksVU8oeSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLFVyLCEwKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixVcik7dmFyIEM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLXRvZ2dsZS1idXR0b24iKTtDJiZDLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixZRSk7dmFyIHc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLWRyYXdlci1iYWNrZHJvcCIpO3cmJncuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGlzKTt2YXIgeD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvc2UtZHJhd2VyLWJ1dHRvbiIpO3gmJnguYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGlzKTt2YXIgRj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1jb2xsYXBzZS1idG4iKTtGJiZGLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixFMCk7dmFyIEE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItcGluLWJ0biIpO0EmJkEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEtFKTt2YXIgRD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1tb3JlLWJ0biIpLEI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItb3ZlcmZsb3ctbWVudSIpO0QmJkImJkQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHBlKXtwZS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgS2U9IUIuY2xhc3NMaXN0LmNvbnRhaW5zKCJvcGVuIik7Qi5jbGFzc0xpc3QudG9nZ2xlKCJvcGVuIixLZSksS2UmJlBOKEIpfSk7dmFyIFQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItaG9tZS1idG4iKTtUJiZULmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3Muc2VsZWN0ZWRJZD1udWxsLEd0KCksU2EoKSxucigpLF9pKCl9KTt2YXIgaz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1yZWZyZXNoLWJ0biIpO2smJmsuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSk7dmFyIE09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ291dC1idXR0b24iKTtNJiZNLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixjMCk7dmFyIHo9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN3aXRjaC1zZXJ2ZXItYnV0dG9uIik7eiYmei5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbDApO3ZhciBPPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiYWNrLXRvLW5hdGl2ZS1idXR0b24iKTtPJiZPLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixDRSk7dmFyIHJlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1idXR0b24iKTtyZSYmcmUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCRFKTt2YXIgZWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1uZXctc2Vzc2lvbi1idXR0b24iKTtlZSYmZWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFZmKTt2YXIgWj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHJhd2VyLW5ldy1zZXNzaW9uLWJ1dHRvbiIpO1omJlouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFZmKX12YXIgdmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmUtcGVybWlzc2lvbi1idG4iKTt2ZSYmdmUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG9qKTt2YXIgbWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlbnktcGVybWlzc2lvbi1idG4iKTttZSYmbWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHNqKTt2YXIgSD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VuZC1pbnB1dC1idXR0b24iKTtIJiZILmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe25yKCksV00oKX0pO3ZhciB0ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcC1idXR0b24iKTt0ZSYmdGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFloKTt2YXIgST1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7SSYmKFd4KEkpLEkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsV04pLEkuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLHRSKSxJLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe3MudGVybWluYWxDb21wb3Npbmd8fGUyKEkpfHwoZV8oSSksUW4oSS52YWx1ZSwhMCksV2YoSSkpfSksSS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IixmdW5jdGlvbigpe3MudGVybWluYWxJbnRlcmFjdGl2ZSYmKHMudGVybWluYWxDb21wb3Npbmc9ITApfSksSS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsZnVuY3Rpb24oKXtzLnRlcm1pbmFsQ29tcG9zaW5nJiYocy50ZXJtaW5hbENvbXBvc2luZz0hMSxzLnRlcm1pbmFsSW50ZXJhY3RpdmUmJmUyKEkpKX0pLEkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGZ1bmN0aW9uKCl7bnIoKSxYTyh7dGFyZ2V0Okl9KX0pLEkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsJE8pKTt2YXIgVT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXR0YWNoLWJ0biIpLFc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtdXBsb2FkLWlucHV0IiksWD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tcG9zZXItcGx1cy1wb3BvdmVyIiksZmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsdXMtYXR0YWNoLWl0ZW0iKTtVJiZYJiZVLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihwZSl7cGUuc3RvcFByb3BhZ2F0aW9uKCksTk4oKX0pLGZlJiZXJiZmZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtVZigpLFcuY2xpY2soKX0pLFcmJlcuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3ZhciBwZT1XLmZpbGVzO2lmKHBlKWZvcih2YXIgS2U9MDtLZTxwZS5sZW5ndGg7S2UrKylEMChwZVtLZV0pO1cudmFsdWU9IiJ9KTt2YXIgZ2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtnZSYmKGdlLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixJTSksZ2UuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLExNKSxnZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHd4KSxnZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIix6TSksZ2UuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGZ1bmN0aW9uKHBlKXtwZS5wcmV2ZW50RGVmYXVsdCgpfSkpO3ZhciBqPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcm9tcHQtb3B0aW1pemUtYnRuIik7aiYmai5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtuUigpfSk7dmFyIFk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7WSYmKFkuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLGZ1bmN0aW9uKHBlKXtwZS5wcmV2ZW50RGVmYXVsdCgpLHBlLnN0b3BQcm9wYWdhdGlvbigpLFkuY2xhc3NMaXN0LmFkZCgiZHJhZy1vdmVyIil9KSxZLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsZnVuY3Rpb24ocGUpe3BlLnByZXZlbnREZWZhdWx0KCkscGUuc3RvcFByb3BhZ2F0aW9uKCksWS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLFkuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsZnVuY3Rpb24ocGUpe3BlLnByZXZlbnREZWZhdWx0KCkscGUuc3RvcFByb3BhZ2F0aW9uKCksWS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKTt2YXIgS2U9cGUuZGF0YVRyYW5zZmVyJiZwZS5kYXRhVHJhbnNmZXIuZmlsZXM7aWYoS2UpZm9yKHZhciBtbj0wO21uPEtlLmxlbmd0aDttbisrKUQwKEtlW21uXSl9KSk7dmFyIHNlPVsidGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlLXRvcCJdO2lmKHNlLmZvckVhY2goZnVuY3Rpb24ocGUpe3ZhciBLZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChwZSk7S2UmJktlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixqTyl9KSwhYyl7dmFyIFE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIpO1EmJlEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHlsKTt2YXIgY2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2lkZS1wYW5lbC1jbG9zZSIpO2NlJiZjZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaWgpO3ZhciBKPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXBhbmVsLWJhY2tkcm9wIik7SiYmSi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaWgpO3ZhciBkZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLWZpbGUtYnV0dG9uIik7ZGUmJmRlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix5bCk7dmFyIHhlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItY3dkIik7eGUmJih4ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzLmZpbGVQYW5lbE9wZW58fHlsKCl9KSx4ZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihwZSl7KHBlLmtleT09PSJFbnRlciJ8fHBlLmtleT09PSIgIikmJihwZS5wcmV2ZW50RGVmYXVsdCgpLHMuZmlsZVBhbmVsT3Blbnx8eWwoKSl9KSk7dmFyIHllPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1idXR0b24iKSxGZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLW1vcmUtbWVudSIpO3llJiZGZSYmKHllLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihwZSl7cGUuc3RvcFByb3BhZ2F0aW9uKCkscy50b3BiYXJNb3JlT3Blbj0hcy50b3BiYXJNb3JlT3BlbixGZS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFzLnRvcGJhck1vcmVPcGVuKSx5ZS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLHMudG9wYmFyTW9yZU9wZW4pLHllLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIscy50b3BiYXJNb3JlT3Blbj8idHJ1ZSI6ImZhbHNlIil9KSxGZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24ocGUpe3ZhciBLZT1wZS50YXJnZXQmJnBlLnRhcmdldC5jbG9zZXN0P3BlLnRhcmdldC5jbG9zZXN0KCIudG9wYmFyLW1vcmUtaXRlbSIpOm51bGw7aWYoS2Upe3ZhciBtbj1LZS5nZXRBdHRyaWJ1dGUoImRhdGEtYWN0aW9uIik7c3dpdGNoKHMudG9wYmFyTW9yZU9wZW49ITEsRmUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIikseWUuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikseWUuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSxtbil7Y2FzZSJjb3B5LWNsYXVkZS1zZXNzaW9uLWlkIjp2YXIgdW49SWkoKSYmSWkoKS5wcm92aWRlcjtYbygiY2xhdWRlU2Vzc2lvbklkIix1bj09PSJjb2RleCI/IkNvZGV4IHRocmVhZCBJRCBcdTVERjJcdTU5MERcdTUyMzYiOnVuPT09Im9wZW5jb2RlIj8iT3BlbkNvZGUgc2Vzc2lvbiBJRCBcdTVERjJcdTU5MERcdTUyMzYiOiJDbGF1ZGUgXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2UiY29weS1jd2QiOlhvKCJjd2QiLCJcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTVERjJcdTU5MERcdTUyMzYiKTticmVhaztjYXNlImNvcHktc2Vzc2lvbi1pZCI6WG8oImlkIiwiXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2Uid29ya3RyZWUtbWVyZ2UiOnMuc2VsZWN0ZWRJZCYmRjAocy5zZWxlY3RlZElkKTticmVhaztjYXNlIndvcmt0cmVlLWNsZWFudXAiOnMuc2VsZWN0ZWRJZCYmQzAocy5zZWxlY3RlZElkKTticmVhaztjYXNlImRlbGV0ZS1zZXNzaW9uIjpzLnNlbGVjdGVkSWQmJihmdW5jdGlvbihDbil7T2koIlx1Nzg2RVx1NUI5QVx1ODk4MVx1NTIyMFx1OTY2NFx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NTQxN1x1RkYxRlx1NkI2NFx1NjRDRFx1NEY1Q1x1NjVFMFx1NkNENVx1NjRBNFx1OTUwMFx1MzAwMiIse3RpdGxlOiJcdTUyMjBcdTk2NjRcdTVGNTNcdTUyNERcdTRGMUFcdThCREQifSkudGhlbihmdW5jdGlvbihxdCl7cXQmJmtmKENuKX0pfSkocy5zZWxlY3RlZElkKTticmVha319fSkpfXZhciBOZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtZG93bi10b3AiKSxydD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtdXAtdG9wIik7TmUmJk5lLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Q2KC0uMjUpfSkscnQmJnJ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Q2KC4yNSl9KTt2YXIgY3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2UtcmVmcmVzaC1idG4iKTtjdCYmY3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHBlKXtpZihwZSYmcGUuc2hpZnRLZXkpe2xvY2F0aW9uLnJlbG9hZCgpO3JldHVybn16dSgpLFNhKHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSwkaCghMCl9KTt2YXIga2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWp1bXAtYm90dG9tIik7a2UmJmtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe0FhKCJmb3JjZSIpfSk7dmFyIFhlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LXVucmVhZC1idWJibGUiKTtpZihYZSYmWGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7WTUoITApfSksIWMpe3ZhciBkdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci1yZWZyZXNoIik7ZHQmJmR0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe1hhKCl9KTt2YXIgdm49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItdXAiKTt2biYmdm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGc2KTt2YXIgemU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItY3dkIik7aWYoemUmJnplLnRhZ05hbWU9PT0iSU5QVVQiKXt2YXIgbnQ9emUudmFsdWUsSHQ9ZnVuY3Rpb24ocGUpe3ZhciBLZT0ocGV8fCIiKS50cmltKCk7cmV0dXJuIEtlPyhLZT1LZS5yZXBsYWNlKC9cL3syLH0vZywiLyIpLEtlLmxlbmd0aD4xJiYoS2U9S2UucmVwbGFjZSgvXC8rJC8sIiIpKSxLZSk6IiJ9O3plLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbigpe250PXplLnZhbHVlLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0cnl7emUuc2VsZWN0KCl9Y2F0Y2h7fX0sMCl9KSx6ZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihwZSl7aWYocGUua2V5PT09IkVudGVyIil7cGUucHJldmVudERlZmF1bHQoKTt2YXIgS2U9SHQoemUudmFsdWUpO2lmKCFLZSlyZXR1cm47bnQ9S2UsemUudmFsdWU9S2UsWGEoe2N3ZDpLZX0pLHplLmJsdXIoKX1lbHNlIHBlLmtleT09PSJFc2NhcGUiJiYocGUucHJldmVudERlZmF1bHQoKSx6ZS52YWx1ZT1udCx6ZS5ibHVyKCkpfSksemUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsZnVuY3Rpb24oKXt2YXIgcGU9SHQoemUudmFsdWUpO2lmKCFwZSl7emUudmFsdWU9bnQ7cmV0dXJufWlmKHBlPT09bnQpe3plLnZhbHVlPXBlO3JldHVybn1udD1wZSx6ZS52YWx1ZT1wZSxYYSh7Y3dkOnBlfSl9KX12YXIganQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2VhcmNoLWlucHV0IiksRm49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2VhcmNoLWNsZWFyIik7anQmJmp0LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbihwZSl7cy5maWxlU2VhcmNoUXVlcnk9cGUudGFyZ2V0LnZhbHVlLnRyaW0oKSxGbiYmRm4uY2xhc3NMaXN0LnRvZ2dsZSgidmlzaWJsZSIscy5maWxlU2VhcmNoUXVlcnkubGVuZ3RoPjApLGRmKCl9KSxGbiYmRm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7cy5maWxlU2VhcmNoUXVlcnk9IiIsanQmJihqdC52YWx1ZT0iIiksRm4uY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSk7dmFyIFhuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LWJhZGdlIik7WG4mJlhuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihwZSl7cGUucHJldmVudERlZmF1bHQoKSxjaCgpfSl9Sm8oKSxuXygpLHZqKCksb08oKSxXbigpfWZ1bmN0aW9uIFNhKGUpe3ZhciB0PWV8fHt9O3MubGFzdFJlbmRlcmVkSGFzaD0wLHMubGFzdFJlbmRlcmVkTXNnQ291bnQ9MCxzLmxhc3RSZW5kZXJlZEVtcHR5PW51bGwscy5yZW5kZXJQZW5kaW5nPSExLHMuY2hhdFJlbmRlcmVkQ291bnQ9cy5jaGF0UGFnZVNpemUscy5hc2tVc2VyU2VsZWN0aW9ucz17fSxzLmNoYXRTY3JvbGxFbGVtZW50JiYocy5jaGF0U2Nyb2xsSGFuZGxlciYmcy5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHMuY2hhdFNjcm9sbEhhbmRsZXIpLHMuY2hhdFNjcm9sbFdoZWVsSGFuZGxlciYmcy5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIscy5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyKSxzLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciYmcy5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixzLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlcikscy5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlciYmcy5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHMuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXIpKSxzLmNoYXRTY3JvbGxFbGVtZW50PW51bGwscy5jaGF0U2Nyb2xsSGFuZGxlcj1udWxsLHMuY2hhdFNjcm9sbFdoZWVsSGFuZGxlcj1udWxsLHMuY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyPW51bGwscy5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcj1udWxsLHMuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExLHQucHJlc2VydmVTdGlja1N0YXRlfHwocy5jaGF0U3RpY2tUb0JvdHRvbT0hMCxzLmNoYXRVbnJlYWRDb3VudD0wLHMuY2hhdFVucmVhZFN0YXJ0SW5kZXg9LTEscy5jaGF0SW5pdGlhbFJlbmRlckRvbmU9ITEpfWZ1bmN0aW9uIHFyKCl7cmV0dXJuIHMud29ya2luZ0Rpcnx8YnUoKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixmdW5jdGlvbigpe3MuaXNPbmxpbmU9ITAseGYoKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvZmZsaW5lIixmdW5jdGlvbigpe3MuaXNPbmxpbmU9ITEseGYoKX0pO2Z1bmN0aW9uIHhmKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9mZmxpbmUtYmFubmVyIik7aWYoIXMuaXNPbmxpbmUmJiFlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmlkPSJvZmZsaW5lLWJhbm5lciIsdC5jbGFzc05hbWU9Im9mZmxpbmUtYmFubmVyIix0LnRleHRDb250ZW50PSJZb3UgYXJlIG9mZmxpbmUgLSBzb21lIGZlYXR1cmVzIG1heSBiZSBsaW1pdGVkIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpfWVsc2Ugcy5pc09ubGluZSYmZSYmZS5yZW1vdmUoKX1mdW5jdGlvbiBuTSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTtlJiYoZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZyI+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLWNhcmQiPjxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZy1zcGlubmVyIj48L2Rpdj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctdGV4dCI+XHU2QjYzXHU1NzI4XHU4RkRFXHU2M0E1IFdhbmRcdTIwMjY8L2Rpdj48L2Rpdj48L2Rpdj4nKX1mdW5jdGlvbiBUbChlLHQpe2lmKHMuY29uZmlnJiYhZG9jdW1lbnQuaGlkZGVuKXt2YXIgYT10JiZ0LmltbWVkaWF0ZT09PSEwLGk9RGF0ZS5ub3coKTshYSYmaS1zLmxhc3RGb3JlZ3JvdW5kU3luY0F0PDE1MDB8fChzLmxhc3RGb3JlZ3JvdW5kU3luY0F0PWkscy5mb3JlZ3JvdW5kU3luY1RpbWVyJiYoY2xlYXJUaW1lb3V0KHMuZm9yZWdyb3VuZFN5bmNUaW1lcikscy5mb3JlZ3JvdW5kU3luY1RpbWVyPW51bGwpLGFNKGUsYSkpfX1mdW5jdGlvbiBhTShlLHQpe3JldHVybiFzLmNvbmZpZ3x8ZG9jdW1lbnQuaGlkZGVuP1Byb21pc2UucmVzb2x2ZSgpOihMNigpLHQ/eWgoInJlc3VtZS1mb3JjZSIpOighcy53c3x8cy53cy5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4mJnMud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5DT05ORUNUSU5HKSYmdmYoKSxzLmNsYXVkZUhpc3RvcnlMb2FkZWQmJl82KCkscy5jb2RleEhpc3RvcnlMb2FkZWQmJk42KCksd3Ioe3NraXBTZWxlY3RlZE91dHB1dFJlbG9hZDohMH0pLmNhdGNoKGZ1bmN0aW9uKGEpe2NvbnNvbGUuZXJyb3IoIlt3YW5kXSBmb3JlZ3JvdW5kIHN5bmMgZmFpbGVkOiIsZSxhKX0pKX1mdW5jdGlvbiByTSgpe3dpbmRvdy5fX3dhbmRGb3JlZ3JvdW5kU3luY0JvdW5kfHwod2luZG93Ll9fd2FuZEZvcmVncm91bmRTeW5jQm91bmQ9ITAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZnVuY3Rpb24oKXtkb2N1bWVudC5oaWRkZW4/YmgoKTooVGwoInZpc2liaWxpdHkiKSxrbCgidmlzaWJpbGl0eSIpKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsZnVuY3Rpb24oKXtUbCgiZm9jdXMiKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXtUbCgicGFnZXNob3ciKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXN1bWUiLGZ1bmN0aW9uKCl7VGwoInJlc3VtZSIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndhbmQtYW5kcm9pZC1yZXN1bWUiLGZ1bmN0aW9uKCl7VGwoImFuZHJvaWQtcmVzdW1lIix7aW1tZWRpYXRlOiEwfSksa2woImFuZHJvaWQtcmVzdW1lIil9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigid2FuZC1pbWUtc3RhdGUiLGZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuZGV0YWlsJiZlLmRldGFpbC5zdGF0ZTtpZih0PT09InNob3duInx8dD09PSJoaWRkZW4iKXRyeXt6bigibmF0aXZlLWltZS0iK3Qse2ZvcmNlUmVwbGF5OiEwfSksQWEoIm5hdGl2ZS1pbWUiKX1jYXRjaHt9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndhbmQtYW5kcm9pZC1uZXR3b3JrIixmdW5jdGlvbihlKXt2YXIgdD1lJiZlLmRldGFpbCYmZS5kZXRhaWwuc3RhdGU7aWYodD09PSJsb3N0Iil7cy5pc09ubGluZT0hMTt0cnl7eGYoKX1jYXRjaHt9cmV0dXJufWlmKHQ9PT0iYXZhaWxhYmxlInx8dD09PSJjaGFuZ2VkInx8dD09PSJ2YWxpZGF0ZWQiKXtzLmlzT25saW5lPSEwO3RyeXt4ZigpfWNhdGNoe315aCgiYW5kcm9pZC1uZXR3b3JrLSIrdCl9fSkpfWZ1bmN0aW9uIGlNKCl7ZmV0Y2goIi9hcGkvc2Vzc2lvbi1jaGVjayIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLm9rP2UuanNvbigpOnthdXRoZWQ6ITF9fSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4hZXx8IWUuYXV0aGVkPyhzLmxvZ2luQ2hlY2tlZD0hMCxfaSgpLG51bGwpOmZldGNoKCIvYXBpL2NvbmZpZyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm9rP3QuanNvbigpOihzLmxvZ2luQ2hlY2tlZD0hMCxfaSgpLG51bGwpfSl9KS50aGVuKGZ1bmN0aW9uKGUpe2UmJihzLmNvbmZpZz1lLHMubG9naW5DaGVja2VkPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3RyeXtfaSh7c2tpcFNoZWxsQ2hyb21lOiEwfSl9Y2F0Y2h7fXJNKCksUjYoKSxIaSgpLEROKCksRk0oKSxlLnVwZGF0ZUF2YWlsYWJsZSYmZS5sYXRlc3RWZXJzaW9uJiZoeChlLmN1cnJlbnRWZXJzaW9ufHwiLSIsZS5sYXRlc3RWZXJzaW9uKSx2eCYmR04oKSxSaCYmWU4oKSxzLmNsYXVkZUhpc3RvcnlMb2FkZWR8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLmNsYXVkZUhpc3RvcnlMb2FkZWR8fEZsKCl9LDYwMCl9KSl9KS5jYXRjaChmdW5jdGlvbigpe2lmKHMubG9naW5DaGVja2VkPSEwLCFuYXZpZ2F0b3Iub25MaW5lKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwIik7ZSYmKGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJib290LWxvYWRpbmciPjxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZy1jYXJkIj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctdGV4dCIgc3R5bGU9ImZvbnQtc2l6ZToxLjNlbTttYXJnaW4tYm90dG9tOjEycHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo4cHgiPicraXQoInNpZ25hbCIse3NpemU6MjAsc3Ryb2tlV2lkdGg6MS44fSkrJzxzcGFuPlx1NjVFMFx1NkNENVx1OEZERVx1NjNBNVx1NTIzMFx1NjcwRFx1NTJBMVx1NTY2ODwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctdGV4dCIgc3R5bGU9Im9wYWNpdHk6MC43O2ZvbnQtc2l6ZTowLjk1ZW0iPlx1OEJGN1x1NjhDMFx1NjdFNVx1N0Y1MVx1N0VEQ1x1OEZERVx1NjNBNVx1NjIxNlx1Nzg2RVx1OEJBNCBXYW5kIFx1NjcwRFx1NTJBMVx1NkI2M1x1NTcyOFx1OEZEMFx1ODg0Q1x1MzAwMjwvZGl2PjxidXR0b24gb25jbGljaz0ibG9jYXRpb24ucmVsb2FkKCkiIHN0eWxlPSJtYXJnaW4tdG9wOjE4cHg7cGFkZGluZzo4cHggMjRweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTUwLDExOCw4NSwwLjMpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjgpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTowLjk1ZW0iPlx1OTFDRFx1OEJENTwvYnV0dG9uPjwvZGl2PjwvZGl2PicpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGZ1bmN0aW9uKCl7bG9jYXRpb24ucmVsb2FkKCl9LHtvbmNlOiEwfSk7cmV0dXJufV9pKCl9KX1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7aWYoIUVuKCkmJiFzLnNpZGViYXJQaW5uZWQmJiFzLnNpZGViYXJDb2xsYXBzZWQmJnMuc2Vzc2lvbnNEcmF3ZXJPcGVuKXt2YXIgdD1lLnRhcmdldDshdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCl8fHQuY2xvc2VzdCgiI3Nlc3Npb25zLWRyYXdlciIpfHx0LmNsb3Nlc3QoIiNzZXNzaW9ucy10b2dnbGUtYnV0dG9uIil8fHQuY2xvc2VzdCgiLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlIil8fHQuY2xvc2VzdCgiLnNpZGViYXItdGlsZS1idWJibGUiKXx8dC5jbG9zZXN0KCIubW9kYWwtYmFja2Ryb3AsIC5tb2RhbC1vdmVybGF5LCAubW9kYWwtY29udGFpbmVyLCBbcm9sZT0nZGlhbG9nJ10sIFtyb2xlPSdtZW51J10sIC50b3BiYXItbW9yZS1tZW51LCAuc2lkZWJhci1oZWFkZXItb3ZlcmZsb3csIC5wYXRoLXN1Z2dlc3Rpb25zLCAucGVybWlzc2lvbi1wcm9tcHQtb3ZlcmxheSIpfHxfTigpfX0sITApLG5NKCksaU0oKTtmdW5jdGlvbiBfaShlKXt2YXIgdD1lJiZlLnNraXBTaGVsbENocm9tZSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTtpZihhKXt2YXIgaT1zLmNvbmZpZyE9PW51bGwsbz1DdCgpLGM9IWl8fCFvJiYhIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtjJiZCbCgpLCFpJiZvJiZhaCgpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIikscy5zaWRlYmFyUGlubmVkJiYhcy5zaWRlYmFyQ29sbGFwc2VkJiYhRW4oKSYmKHMuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLFR0KCJ3YW5kLXNpZGViYXItb3BlbiIsITApKTt2YXIgZD0iZGlzYWJsZWQiLGY9ITE7aWYoaSl7dHJ5e2Q9RVQoYSxUaCl9Y2F0Y2goaCl7Y29uc29sZS5lcnJvcigiW3dhbmRdIFJlYWN0IHNoZWxsIG1vdW50IGZhaWxlZDsgdXNpbmcgbGVnYWN5IHNoZWxsIixoKSxhaCgpLGEuaW5uZXJIVE1MPVRoKCksZD0iZGlzYWJsZWQifWQ9PT0iZGlzYWJsZWQiPyhhLmlubmVySFRNTD1UaCgpLGY9ITApOmQ9PT0ibW91bnRlZCImJihmPSEwKX1lbHNlIGEuaW5uZXJIVE1MPW9NKCksZj0hMDtpZihmJiYoU2EoKSx0TSgpKSxlYygpLGQwKCkscWYoSWkoKSksYjAoKSx0fHxKbCgpLGkmJnMuZmlsZVBhbmVsT3BlbiYmWGEoKSxkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgibm8tdHJhbnNpdGlvbiIpfSksaSYmcy5zZWxlY3RlZElkJiZzLmdpdFN0YXR1c1Nlc3Npb25JZCE9PXMuc2VsZWN0ZWRJZCYmZmYocy5zZWxlY3RlZElkKSxpKXt2YXIgbT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaCl7cmV0dXJuIGguaWQ9PT1zLnNlbGVjdGVkSWR9KTtrMChtKX1hYyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLWN3ZCIpKSxhYyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtcGF0aCIpKSxyYygpfX1mdW5jdGlvbiB1TSgpe3ZhciBlPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PXMuc2VsZWN0ZWRJZH0pLHQ9ZSYmZS5hcHByb3ZhbFN0YXRzO3JldHVybiF0fHx0LnRvdGFsPT09MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzIGhpZGRlbiIgaWQ9ImFwcHJvdmFsLXN0YXRzIj48L3NwYW4+JzonPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzIiBpZD0iYXBwcm92YWwtc3RhdHMiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1kaXZpZGVyIj48L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWJhZGdlIiBpZD0iYXBwcm92YWwtc3RhdHMtYmFkZ2UiIHRpdGxlPSJcdTY3MkNcdTZCMjFcdTRGMUFcdThCRERcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTdFREZcdThCQTEiPjxzdmcgY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWljb24iIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiLz48L3N2Zz48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtdG90YWwiPicrdC50b3RhbCsnPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcG9wdXAiIGlkPSJhcHByb3ZhbC1zdGF0cy1wb3B1cCI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXBvcHVwLXRpdGxlIj5cdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTdFREZcdThCQTE8L3NwYW4+JysodC5jb21tYW5kPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytpdCgidGVybWluYWwiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1NDdEXHU0RUU0XHU2MjY3XHU4ODRDPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrdC5jb21tYW5kKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyh0LmZpbGU+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK2l0KCJlZGl0Iix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NjU4N1x1NEVGNlx1NTE5OVx1NTE2NTwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3QuZmlsZSsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsodC50b29sPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytpdCgid3JlbmNoIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTE3Nlx1NEVENlx1NURFNVx1NTE3Nzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3QudG9vbCsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsnPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyBhcHByb3ZhbC1zdGF0cy1yb3ctdG90YWwiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytpdCgic2lnbWEiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1NDA4XHU4QkExPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrdC50b3RhbCsiPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPiJ9ZnVuY3Rpb24gb00oKXtyZXR1cm4gcy5sb2dpbkNoZWNrZWQ/JzxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0ibG9naW4tY2FyZCI+PGRpdiBjbGFzcz0ibG9naW4taGVhZGVyIj48ZGl2IGNsYXNzPSJsb2dpbi1sb2dvIj48ZGl2IGNsYXNzPSJsb2dpbi1sb2dvLWljb24iPlc8L2Rpdj48c3BhbiBjbGFzcz0ibG9naW4tbG9nby10ZXh0Ij5XYW5kPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxvZ2luLXN1YnRpdGxlIj5cdTU3MjhcdTZENEZcdTg5QzhcdTU2NjhcdTRFMkRcdThGRDBcdTg4NENcdTY3MkNcdTY3M0FcdTdFQzhcdTdBRUY8L2Rpdj48L2Rpdj48Zm9ybSBpZD0ibG9naW4tZm9ybSIgY2xhc3M9ImxvZ2luLWJvZHkiIGF1dG9jb21wbGV0ZT0ib24iPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VybmFtZSIgYXV0b2NvbXBsZXRlPSJ1c2VybmFtZSIgdmFsdWU9IndhbmQiIHRhYmluZGV4PSItMSIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi05OTk5cHg7d2lkdGg6MXB4O2hlaWdodDoxcHg7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmUiIHJlYWRvbmx5IC8+PHAgY2xhc3M9ImxvZ2luLWhpbnQiPlx1OEY5M1x1NTE2NSBXYW5kIFx1OEJCRlx1OTVFRVx1NUJDNlx1NzgwMVx1NEVFNVx1OEZEQlx1NTE2NVx1NjNBN1x1NTIzNlx1NTNGMFx1MzAwMjwvcD48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJwYXNzd29yZCI+XHU1QkM2XHU3ODAxPC9sYWJlbD48ZGl2IGNsYXNzPSJwYXNzd29yZC1maWVsZCI+PGlucHV0IGlkPSJwYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJmaWVsZC1pbnB1dCBwYXNzd29yZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1OEJCRlx1OTVFRVx1NUJDNlx1NzgwMSIgYXV0b2NvbXBsZXRlPSJjdXJyZW50LXBhc3N3b3JkIiBkYXRhLWVycm9yPSJmYWxzZSIgYXJpYS1kZXNjcmliZWRieT0icGFzc3dvcmQtaGludCBsb2dpbi1lcnJvciIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgLz48YnV0dG9uIGlkPSJ0b2dnbGUtcGFzc3dvcmQtYnV0dG9uIiB0eXBlPSJidXR0b24iIGNsYXNzPSJwYXNzd29yZC10b2dnbGUiIGFyaWEtbGFiZWw9Ilx1NjYzRVx1NzkzQVx1NUJDNlx1NzgwMSIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+XHU2NjNFXHU3OTNBPC9idXR0b24+PC9kaXY+PHAgaWQ9InBhc3N3b3JkLWhpbnQiIGNsYXNzPSJoaW50Ij5cdTRGN0ZcdTc1MjhcdTRGNjBcdTU3MjggV2FuZCBcdTRFMkRcdThCQkVcdTdGNkVcdTc2ODRcdThCQkZcdTk1RUVcdTVCQzZcdTc4MDFcdTMwMDI8L3A+PHAgaWQ9ImxvZ2luLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iIHJvbGU9ImFsZXJ0Ij48L3A+PC9kaXY+PGRpdiBpZD0ibG9naW4tY2VydC1oaW50IiBjbGFzcz0ibG9naW4tY2VydC1oaW50IGhpZGRlbiIgcm9sZT0iYWxlcnQiPjxkaXYgY2xhc3M9ImxvZ2luLWNlcnQtaGludC10aXRsZSI+XHU4QkMxXHU0RTY2XHU0RTBEXHU1M0Q3XHU0RkUxXHU0RUZCXHVGRjBDXHU3NjdCXHU1RjU1XHU2MDAxXHU2NUUwXHU2Q0Q1XHU0RkREXHU1QjU4PC9kaXY+PHAgY2xhc3M9ImxvZ2luLWNlcnQtaGludC1ib2R5Ij5cdTVCQzZcdTc4MDFcdTY2MkZcdTVCRjlcdTc2ODRcdUZGMENcdTRGNDZcdTVGNTNcdTUyNEQgSFRUUFMgXHU4QkMxXHU0RTY2XHU0RTBEXHU1M0Q3XHU2RDRGXHU4OUM4XHU1NjY4XHU0RkUxXHU0RUZCXHVGRjBDXHU2RDRGXHU4OUM4XHU1NjY4XHU1NkUwXHU2QjY0XHU2MkQyXHU3RUREXHU0RkREXHU1QjU4XHU3NjdCXHU1RjU1IENvb2tpZVx1RkYwQ1x1NjI0MFx1NEVFNVx1OEZEQlx1NEUwRFx1NEU4Nlx1NjNBN1x1NTIzNlx1NTNGMFx1MzAwMjxici8+XHU4OUUzXHU1MUIzXHU1MjlFXHU2Q0Q1XHVGRjA4XHU0RUZCXHU5MDA5XHU1MTc2XHU0RTAwXHVGRjA5XHVGRjFBXHU2NTM5XHU3NTI4IEhUVFAgXHU4QkJGXHU5NUVFXHU2NzJDXHU2NzBEXHU1MkExXHVGRjFCXHU2MjE2XHU2MjhBXHU2NzJDXHU2NzBEXHU1MkExXHU4QkMxXHU0RTY2XHU4QkJFXHU0RTNBXHUzMDBDXHU1M0Q3XHU0RkUxXHU0RUZCXHUzMDBEXHVGRjA4XHU2M0E4XHU4MzUwIG1rY2VydFx1RkYwOVx1RkYxQlx1NjIxNlx1NTcyOFx1NjcyQ1x1NjczQVx1NUMwNlx1OEJFNVx1ODFFQVx1N0I3RVx1OEJDMVx1NEU2Nlx1OEJCRVx1NEUzQVx1NUI4Q1x1NTE2OFx1NEZFMVx1NEVGQlx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMjwvcD48YSBpZD0ibG9naW4tY2VydC1odHRwLWxpbmsiIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1ibG9jayIgaHJlZj0iIyIgcmVsPSJub29wZW5lciI+XHU2NTM5XHU3NTI4IEhUVFAgXHU4QkJGXHU5NUVFPC9hPjwvZGl2PjxidXR0b24gaWQ9ImxvZ2luLWJ1dHRvbiIgdHlwZT0ic3VibWl0IiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayI+XHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwPC9idXR0b24+JysoczAoKT8nPGJ1dHRvbiBpZD0ibG9naW4tc3dpdGNoLXNlcnZlci1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1ibG9jayBsb2dpbi1zd2l0Y2gtc2VydmVyIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iNyIgeDI9IjYuMDEiIHkyPSI3Ii8+PGxpbmUgeDE9IjYiIHkxPSIxNyIgeDI9IjYuMDEiIHkyPSIxNyIvPjwvc3ZnPjxzcGFuPlx1NTIwN1x1NjM2Mlx1NjcwRFx1NTJBMVx1NTY2ODwvc3Bhbj48L2J1dHRvbj4nOiIiKSsiPC9mb3JtPjwvZGl2PjwvZGl2PiI6JzxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0ibG9naW4tY2FyZCBsb2dpbi1jYXJkLWxvYWRpbmciPjxkaXYgY2xhc3M9ImxvZ2luLWhlYWRlciI+PGRpdiBjbGFzcz0ibG9naW4tbG9nbyI+PGRpdiBjbGFzcz0ibG9naW4tbG9nby1pY29uIj5XPC9kaXY+PHNwYW4gY2xhc3M9ImxvZ2luLWxvZ28tdGV4dCI+V2FuZDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsb2dpbi1zdWJ0aXRsZSI+XHU2QjYzXHU1NzI4XHU2MDYyXHU1OTBEXHU3NjdCXHU1RjU1XHU3MkI2XHU2MDAxPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibG9naW4tYm9keSI+PGRpdiBjbGFzcz0ibG9naW4tc3RhdHVzIj48c3BhbiBjbGFzcz0ibG9naW4tc3Bpbm5lciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48ZGl2PjxwIGNsYXNzPSJsb2dpbi1oaW50Ij5cdTZCNjNcdTU3MjhcdTY4QzBcdTY3RTVcdTY3MkNcdTU3MzBcdTc2N0JcdTVGNTVcdTRGMUFcdThCRERcdUZGMENcdThCRjdcdTdBMERcdTUwMTlcdTMwMDI8L3A+PHAgY2xhc3M9ImxvZ2luLW11dGVkIj5cdTU5ODJcdTY3OUNcdTRGNjBcdTUyMUFcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdUZGMENcdThGRDlcdTY2MkZcdTZCNjNcdTVFMzhcdTczQjBcdThDNjFcdTMwMDI8L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+J31mdW5jdGlvbiBUaCgpe3ZhciBlPSI8XC9zY3JpcHQ+Iix0PXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih3KXtyZXR1cm4gdy5pZD09PXMuc2VsZWN0ZWRJZH0pLGE9dD9ucyh0LmNvbW1hbmQpOiJcdTY3MkFcdTkwMDlcdTYyRTlcdTRGMUFcdThCREQiLGk9dD90Lm1vZGUrIiB8ICIrdC5zdGF0dXM6Ilx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQiIsbz1zLnNlbGVjdGVkSWQmJnMuZHJhZnRzW3Muc2VsZWN0ZWRJZF18fCIiLGM9cy5zZXNzaW9uc0RyYXdlck9wZW4/IiBvcGVuIjoiIixkPWM2KCk/IiBvcGVuIjoiIixmPWxOKCksbT1ZdShmLHMuY2hhdE1vZGUpLGg9RW4oKSxnPSEhcy5zaWRlYmFyUGlubmVkJiYhIXMuc2lkZWJhckNvbGxhcHNlZCxiPWd8fCFoJiYoISFzLnNpZGViYXJQaW5uZWR8fCEhcy5zZXNzaW9uc0RyYXdlck9wZW4pLHk9Zz8iIHNpZGViYXItY29sbGFwc2VkIjoiIixDPWc/IiBjb2xsYXBzZWQiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJhcHAtY29udGFpbmVyIj48ZGl2IGlkPSJzZXNzaW9ucy1kcmF3ZXItYmFja2Ryb3AiIGNsYXNzPSJkcmF3ZXItYmFja2Ryb3AnK2QrJyI+PC9kaXY+PGRpdiBjbGFzcz0ibWFpbi1sYXlvdXQnKyhzLnNlc3Npb25zRHJhd2VyT3Blbj8iIHNpZGViYXItb3BlbiI6IiIpKyhiPyIgc2lkZWJhci1waW5uZWQiOiIiKSt5KyciPjxhc2lkZSBpZD0ic2Vzc2lvbnMtZHJhd2VyIiBjbGFzcz0ic2lkZWJhcicrYysoYj8iIHBpbm5lZCI6IiIpK0MrJyI+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyLW1haW4iPjxkaXYgY2xhc3M9InRvcGJhci1sb2dvLWljb24iPlc8L2Rpdj48c3BhbiBjbGFzcz0ic2lkZWJhci10aXRsZSI+XHU0RjFBXHU4QkREPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLWNvdW50IiBpZD0ic2Vzc2lvbi1jb3VudCI+JytTdHJpbmcocy5zZXNzaW9ucy5maWx0ZXIoZnVuY3Rpb24odyl7dmFyIHg9U3RyaW5nKHcmJncuc2Vzc2lvblNvdXJjZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHghPT0iYXV0b21hdGlvbiImJnghPT0ic3RhcnR1cCJ9KS5sZW5ndGgpKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXItYWN0aW9ucyI+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXItbW9yZSI+PGJ1dHRvbiBpZD0ic2lkZWJhci1tb3JlLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY2RjRcdTU5MUFcdTY0Q0RcdTRGNUMiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIxLjUiLz48L3N2Zz48L2J1dHRvbj48ZGl2IGNsYXNzPSJzaWRlYmFyLWhlYWRlci1vdmVyZmxvdyIgaWQ9InNpZGViYXItb3ZlcmZsb3ctbWVudSI+PGJ1dHRvbiBjbGFzcz0ib3ZlcmZsb3ctaXRlbSIgaWQ9InNpZGViYXItaG9tZS1idG4iIHR5cGU9ImJ1dHRvbiI+PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyA5bDktNyA5IDd2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6Ii8+PHBvbHlsaW5lIHBvaW50cz0iOSAyMiA5IDEyIDE1IDEyIDE1IDIyIi8+PC9zdmc+PHNwYW4+XHU1NkRFXHU1MjMwXHU5OTk2XHU5ODc1PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9Im92ZXJmbG93LWl0ZW0iIGlkPSJzaWRlYmFyLXJlZnJlc2gtYnRuIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBvbHlsaW5lIHBvaW50cz0iMjMgNCAyMyAxMCAxNyAxMCIvPjxwYXRoIGQ9Ik0yMC40OSAxNWE5IDkgMCAxIDEtMi4xMi05LjM2TDIzIDEwIi8+PC9zdmc+PHNwYW4+XHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxidXR0b24gaWQ9InNpZGViYXItcGluLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItcGluLXRvZ2dsZScrKHMuc2lkZWJhclBpbm5lZD8iIHBpbm5lZCI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgdGl0bGU9IicrKHMuc2lkZWJhclBpbm5lZD8iXHU1REYyXHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCXHVGRjA4XHU3MEI5XHU1MUZCXHU4OUUzXHU5NjY0XHU5NTAxXHU1QjlBXHVGRjA5IjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIikrJyIgYXJpYS1sYWJlbD0iJysocy5zaWRlYmFyUGlubmVkPyJcdTg5RTNcdTk2NjRcdTU2RkFcdTVCOUFcdTVFMzhcdTlBN0IiOiJcdTU2RkFcdTVCOUFcdTRGQTdcdTY4MEZcdTVFMzhcdTlBN0IiKSsnIiBhcmlhLXByZXNzZWQ9IicrKHMuc2lkZWJhclBpbm5lZD8idHJ1ZSI6ImZhbHNlIikrJyI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMiIgeTI9IjIyIi8+PHBhdGggZD0iTTUgMTdoMTR2LTEuNzZhMiAyIDAgMCAwLTEuMTEtMS43OWwtMS43OC0uOUEyIDIgMCAwIDEgMTUgMTAuNzZWNmgxYTIgMiAwIDAgMCAwLTRIOGEyIDIgMCAwIDAgMCA0aDF2NC43NmEyIDIgMCAwIDEtMS4xMSAxLjc5bC0xLjc4LjlBMiAyIDAgMCAwIDUgMTUuMjR6Ii8+PC9zdmc+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2lkZWJhci1jb2xsYXBzZS1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLWNvbGxhcHNlLXRvZ2dsZScrKGc/IiBjb2xsYXBzZWQiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSInKyhnPyJcdTVDNTVcdTVGMDBcdTRFM0FcdTUxNjhcdTVDM0FcdTVCRjgiOiJcdTY1MzZcdThENzdcdTRFM0FcdTdBODRcdTY3NjEiKSsnIiBhcmlhLWxhYmVsPSInKyhnPyJcdTVDNTVcdTVGMDBcdTRFM0FcdTUxNjhcdTVDM0FcdTVCRjgiOiJcdTY1MzZcdThENzdcdTRFM0FcdTdBODRcdTY3NjEiKSsnIj4nKyhnPyc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjEwIDYgMTYgMTIgMTAgMTgiLz48bGluZSB4MT0iMjAiIHkxPSI1IiB4Mj0iMjAiIHkyPSIxOSIvPjwvc3ZnPic6Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iMTQgNiA4IDEyIDE0IDE4Ii8+PGxpbmUgeDE9IjQiIHkxPSI1IiB4Mj0iNCIgeTI9IjE5Ii8+PC9zdmc+JykrJzwvYnV0dG9uPjxidXR0b24gaWQ9ImNsb3NlLWRyYXdlci1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIHNpZGViYXItY2xvc2UgZHJhd2VyLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RURcdTgzRENcdTUzNTUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyLWJvZHkiPjxkaXYgaWQ9InNlc3Npb25zLXBhbmVsIj48ZGl2IGNsYXNzPSJzZXNzaW9ucy1saXN0IiBpZD0ic2Vzc2lvbnMtbGlzdCI+Jyt2aCgpKyc8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyLWZvb3RlciI+PGJ1dHRvbiBpZD0iZHJhd2VyLW5ldy1zZXNzaW9uLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siPjxzcGFuPis8L3NwYW4+IFx1NjVCMFx1NEYxQVx1OEJERDwvYnV0dG9uPjxkaXYgY2xhc3M9InNpZGViYXItZm9vdGVyLWFjdGlvbnMiPjxidXR0b24gaWQ9ImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtJysocy5maWxlUGFuZWxPcGVuPyIgYWN0aXZlIjoiIikrJyIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2N0U1XHU3NzBCXHU2NTg3XHU0RUY2Ij48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIvPjwvc3ZnPjxzcGFuPlx1NjU4N1x1NEVGNjwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGlkPSJzZXR0aW5ncy1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU4QkJFXHU3RjZFIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48cGF0aCBkPSJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMS0yLjgzIDIuODNsLS4wNi0uMDZhMS42NSAxLjY1IDAgMCAwLTEuODItLjMzIDEuNjUgMS42NSAwIDAgMC0xIDEuNTFWMjFhMiAyIDAgMCAxLTQgMHYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44My0yLjgzbC4wNi0uMDZBMS42NSAxLjY1IDAgMCAwIDQuNjggMTVhMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMSAwLTRoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDIuODMtMi44M2wuMDYuMDZBMS42NSAxLjY1IDAgMCAwIDkgNC42OGExLjY1IDEuNjUgMCAwIDAgMS0xLjUxVjNhMiAyIDAgMCAxIDQgMHYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAyLjgzbC0uMDYuMDZBMS42NSAxLjY1IDAgMCAwIDE5LjQgOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAwIDRoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeiIvPjwvc3ZnPjxzcGFuPlx1OEJCRVx1N0Y2RTwvc3Bhbj48L2J1dHRvbj4nKyhzTigpPyc8YnV0dG9uIGlkPSJiYWNrLXRvLW5hdGl2ZS1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLWJhY2stdG8tbmF0aXZlIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdThGRDRcdTU2REUgQXBwIFx1NTM5Rlx1NzUxRlx1NzU0Q1x1OTc2MiI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIxMCIgeT0iMyIgd2lkdGg9IjExIiBoZWlnaHQ9IjE4IiByeD0iMiIvPjxsaW5lIHgxPSIxNCIgeTE9IjE3IiB4Mj0iMTciIHkyPSIxNyIvPjxwb2x5bGluZSBwb2ludHM9IjcgOCAzIDEyIDcgMTYiLz48L3N2Zz48c3Bhbj5cdThGRDRcdTU2REVBcHA8L3NwYW4+PC9idXR0b24+JzoiIikrKHMwKCk/JzxidXR0b24gaWQ9InN3aXRjaC1zZXJ2ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1zd2l0Y2gtc2VydmVyIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMDdcdTYzNjJcdTY3MERcdTUyQTFcdTU2NjgiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iNyIgeDI9IjYuMDEiIHkyPSI3Ii8+PGxpbmUgeDE9IjYiIHkxPSIxNyIgeDI9IjYuMDEiIHkyPSIxNyIvPjwvc3ZnPjxzcGFuPlx1NTIwN1x1NjM2Mjwvc3Bhbj48L2J1dHRvbj4nOiIiKSsnPGJ1dHRvbiBpZD0ibG9nb3V0LWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItbG9nb3V0IiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTc2N0JcdTVGNTUiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTYgMTcgMjEgMTIgMTYgNyIvPjxsaW5lIHgxPSIyMSIgeTE9IjEyIiB4Mj0iOSIgeTI9IjEyIi8+PC9zdmc+PHNwYW4+XHU5MDAwXHU1MUZBPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvYXNpZGU+PG1haW4gY2xhc3M9Im1haW4tY29udGVudCI+PGRpdiBjbGFzcz0ibWFpbi1oZWFkZXItcm93Ij48ZGl2IGNsYXNzPSJ0b3BiYXItbGVmdCI+PGJ1dHRvbiBpZD0ic2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIgY2xhc3M9ImZsb2F0aW5nLXNpZGViYXItdG9nZ2xlJysocy5zZXNzaW9uc0RyYXdlck9wZW4/IiBhY3RpdmUiOiIiKSsnIiBhcmlhLWxhYmVsPSJcdTUyMDdcdTYzNjJcdTRGMUFcdThCRERcdTRGQTdcdTY4MEYiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9ImhhbWJ1cmdlci1pY29uIj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+PHNwYW4gY2xhc3M9InRvcGJhci1icmFuZCIgYXJpYS1oaWRkZW49InRydWUiPlc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9wYmFyLWNlbnRlciI+JysodD8nPHNwYW4gY2xhc3M9InRvcGJhci1zZXNzaW9uLXRpdGxlJysodC50aXRsZUdlbmVyYXRpbmc/IiB0aXRsZS1nZW5lcmF0aW5nIjoiIikrJyInKyh0LnRpdGxlR2VuZXJhdGluZz8nIGFyaWEtYnVzeT0idHJ1ZSInOiIiKSsnIHRpdGxlPSInK0wodC5kZXNjcmlwdGlvbnx8dC5jb21tYW5kfHwiIikrJyI+JytMKHQudGl0bGV8fG5zKHQuY29tbWFuZCkpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzLXBpbGwgJytGNih0KSsnIiB0aXRsZT0iJytMKHdsKHQpKSsnIj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1zdGF0dXMtZG90Ij48L3NwYW4+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzLXRleHQiPicrTCh3bCh0KSkrJzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImN1cnJlbnQtdGFzayBoaWRkZW4iIGlkPSJjdXJyZW50LXRhc2siPjwvc3Bhbj4nKyh0LmN3ZD9RZih0LmN3ZCwidG9wYmFyLWN3ZCIsJyBpZD0idG9wYmFyLWN3ZCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCInKToiIik6JzxzcGFuIGNsYXNzPSJ0b3BiYXItdGFnbGluZSI+V2FuZCBcdTYzQTdcdTUyMzZcdTUzRjA8L3NwYW4+PHNwYW4gY2xhc3M9ImN1cnJlbnQtdGFzayBoaWRkZW4iIGlkPSJjdXJyZW50LXRhc2siPjwvc3Bhbj4nKSsnPC9kaXY+PGRpdiBjbGFzcz0idG9wYmFyLXJpZ2h0Ij48YnV0dG9uIGlkPSJ0b3BiYXItZmlsZS1idXR0b24iIGNsYXNzPSJ0b3BiYXItYnRuIHNxdWFyZScrKHMuZmlsZVBhbmVsT3Blbj8iIGFjdGl2ZSI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU2NTg3XHU0RUY2IiB0aXRsZT0iXHU2N0U1XHU3NzBCXHU2NTg3XHU0RUY2XHVGRjA4XHU1M0VGXHU0RkVFXHU2NTM5XHU4REVGXHU1Rjg0XHVGRjA5Ij48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIvPjwvc3ZnPjwvYnV0dG9uPjxzcGFuIGlkPSJ0b3BiYXItZ2l0LXNsb3QiIGNsYXNzPSJ0b3BiYXItZ2l0LXNsb3QiPicrdzYoKSsiPC9zcGFuPiIrKHQ/SVQodCk6IiIpKyc8L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWxlLXBhbmVsLWJhY2tkcm9wIiBjbGFzcz0iZmlsZS1wYW5lbC1iYWNrZHJvcCcrKHMuZmlsZVBhbmVsT3Blbj8iIG9wZW4iOiIiKSsnIj48L2Rpdj48ZGl2IGlkPSJmaWxlLXNpZGUtcGFuZWwiIGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwnKyhzLmZpbGVQYW5lbE9wZW4/IiBvcGVuIjoiIikrJyI+PGRpdiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsLWhlYWRlciI+PGRpdiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsLXRpdGxlLWdyb3VwIj48c3BhbiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsLWljb24iPicrR28oImZvbGRlci1vcGVuIix7c2l6ZToxNn0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC10aXRsZSI+XHU2NTg3XHU0RUY2PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1oZWFkZXItYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsLWljb25idG4iIGlkPSJmaWxlLWV4cGxvcmVyLXJlZnJlc2giIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NTIzN1x1NjVCMCIgYXJpYS1sYWJlbD0iXHU1MjM3XHU2NUIwXHU2NTg3XHU0RUY2XHU1MjE3XHU4ODY4Ij4nK0dvKCJyZWZyZXNoIix7c2l6ZToxNX0pKyc8L2J1dHRvbj48YnV0dG9uIGlkPSJmaWxlLXNpZGUtcGFuZWwtY2xvc2UiIGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtaWNvbmJ0biBjbG9zZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RURcdTY1ODdcdTRFRjZcdTk3NjJcdTY3N0YiIHRpdGxlPSJcdTUxNzNcdTk1RUQiPicrR28oIngiLHtzaXplOjE2fSkrJzwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1ib2R5Ij48ZGl2IGNsYXNzPSJmaWxlLWV4cGxvcmVyLWhlYWRlciI+PGJ1dHRvbiBjbGFzcz0iZmlsZS1leHBsb3Jlci11cCIgaWQ9ImZpbGUtZXhwbG9yZXItdXAiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1OEZENFx1NTZERVx1NEUwQVx1N0VBN1x1NzZFRVx1NUY1NSIgYXJpYS1sYWJlbD0iXHU4RkQ0XHU1NkRFXHU0RTBBXHU3RUE3XHU3NkVFXHU1RjU1Ij4nK0dvKCJhcnJvdy11cCIse3NpemU6MTV9KSsnPC9idXR0b24+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmaWxlLWV4cGxvcmVyLXBhdGgiIGlkPSJmaWxlLWV4cGxvcmVyLWN3ZCIgdmFsdWU9IicrTCh0JiZ0LmN3ZD90LmN3ZDpidSgpKSsnIiB0aXRsZT0iJytMKHQmJnQuY3dkP3QuY3dkOmJ1KCkpKyciIHBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdThERUZcdTVGODRcdTVFNzZcdTU2REVcdThGNjYuLi4iIHNwZWxsY2hlY2s9ImZhbHNlIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXJpYS1sYWJlbD0iXHU1RjUzXHU1MjREXHU4REVGXHU1Rjg0XHVGRjBDXHU1M0VGXHU3NkY0XHU2M0E1XHU0RkVFXHU2NTM5XHU1NDBFXHU1NkRFXHU4RjY2IiAvPjwvZGl2PjxkaXYgY2xhc3M9ImZpbGUtc2VhcmNoLWJveCI+PHNwYW4gY2xhc3M9ImZpbGUtc2VhcmNoLWljb24iPicrR28oInNlYXJjaCIse3NpemU6MTR9KSsnPC9zcGFuPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZmlsZS1zZWFyY2gtaW5wdXQiIGNsYXNzPSJmaWxlLXNlYXJjaC1pbnB1dCIgcGxhY2Vob2xkZXI9Ilx1NjQxQ1x1N0QyMlx1NUY1M1x1NTI0RFx1NzZFRVx1NUY1NVx1MjAyNiIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9jb3JyZWN0PSJvZmYiIGF1dG9jYXBpdGFsaXplPSJvZmYiIHNwZWxsY2hlY2s9ImZhbHNlIiAvPjxidXR0b24gY2xhc3M9ImZpbGUtc2VhcmNoLWNsZWFyIiBpZD0iZmlsZS1zZWFyY2gtY2xlYXIiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU2RTA1XHU5NjY0XHU2NDFDXHU3RDIyIiB0aXRsZT0iXHU2RTA1XHU5NjY0Ij4nK0dvKCJ4Iix7c2l6ZToxM30pKyc8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLWV4cGxvcmVyIiBpZD0iZmlsZS1leHBsb3JlciI+JytqVCh0JiZ0LmN3ZD90LmN3ZDpidSgpKSsnPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBpZD0ib3V0cHV0IiBjbGFzcz0idGVybWluYWwtY29udGFpbmVyJysocy5zZWxlY3RlZElkPyIiOiIgaGlkZGVuIikrJyBhY3RpdmUiPjxkaXYgY2xhc3M9InRlcm1pbmFsLXNjYWxlLW92ZXJsYXkiIGFyaWEtbGFiZWw9Ilx1N0VDOFx1N0FFRlx1N0YyOVx1NjUzRVx1NjNBN1x1NEVGNiI+PGJ1dHRvbiBpZD0idGVybWluYWwtc2NhbGUtZG93bi10b3AiIGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWJ0biB0ZXJtaW5hbC1zY2FsZS1idG4iIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1N0YyOVx1NUMwRiI+XHUyMjEyPC9idXR0b24+PHNwYW4gY2xhc3M9InRlcm1pbmFsLXNjYWxlLW92ZXJsYXktbGFiZWwgdGVybWluYWwtc2NhbGUtbGFiZWwiIGlkPSJ0ZXJtaW5hbC1zY2FsZS1sYWJlbC10b3AiPicrTWF0aC5yb3VuZChzLnRlcm1pbmFsU2NhbGUqMTAwKSsnJTwvc3Bhbj48YnV0dG9uIGlkPSJ0ZXJtaW5hbC1zY2FsZS11cC10b3AiIGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWJ0biB0ZXJtaW5hbC1zY2FsZS1idG4iIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NjUzRVx1NTkyNyI+KzwvYnV0dG9uPjxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWRpdmlkZXIiPjwvc3Bhbj48YnV0dG9uIGlkPSJwYWdlLXJlZnJlc2gtYnRuIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4iIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NTIzN1x1NjVCMFx1OTg3NVx1OTc2MiI+XHUyMUJCPC9idXR0b24+PC9kaXY+PGJ1dHRvbiBpZD0idGVybWluYWwtanVtcC1ib3R0b20iIGNsYXNzPSJ0ZXJtaW5hbC1qdW1wLWJvdHRvbScrKHMuc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tPyIgdmlzaWJsZSI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NTZERVx1NTIzMFx1NUU5NVx1OTBFOCIgYXJpYS1sYWJlbD0iXHU1NkRFXHU1MjMwXHU1RTk1XHU5MEU4Ij48c3ZnIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOCAzLjV2OU0zLjUgOGw0LjUgNC41TDEyLjUgOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImNoYXQtb3V0cHV0IiBjbGFzcz0iY2hhdC1jb250YWluZXIgaGlkZGVuIj48ZGl2IGlkPSJjaGF0LWZvbGQtYmFyIiBjbGFzcz0iY2hhdC1mb2xkLWJhciBoaWRkZW4iIGFyaWEtbGl2ZT0icG9saXRlIj48L2Rpdj48YnV0dG9uIGlkPSJjaGF0LXVucmVhZC1idWJibGUiIGNsYXNzPSJjaGF0LXVucmVhZC1idWJibGUiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NTZERVx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiIgYXJpYS1sYWJlbD0iXHU1NkRFXHU1MjMwXHU2NzAwXHU2NUIwXHU2RDg4XHU2MDZGIj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlLWljb24iPjxzdmcgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik04IDMuNXY5TTMuNSA4bDQuNSA0LjVMMTIuNSA4Ii8+PC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LXVucmVhZC1idWJibGUtY291bnQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9idXR0b24+PC9kaXY+PGRpdiBpZD0iYmxhbmstY2hhdCIgY2xhc3M9ImJsYW5rLWNoYXQnKyhzLnNlbGVjdGVkSWQ/IiBoaWRkZW4iOiIiKSsnIj48ZGl2IGNsYXNzPSJibGFuay1jaGF0LWlubmVyIj48ZGl2IGNsYXNzPSJibGFuay1jaGF0LWxvZ28iPlc8L2Rpdj48aDIgY2xhc3M9ImJsYW5rLWNoYXQtdGl0bGUiPldhbmQ8L2gyPjxwIGNsYXNzPSJibGFuay1jaGF0LXN1YnRpdGxlIj5cdTY1MkZcdTYzMDFcdTdFQzhcdTdBRUYgUFRZIFx1NEYxQVx1OEJERFx1NEUwRVx1N0VEM1x1Njc4NFx1NTMxNiBjaGF0IFx1NEYxQVx1OEJERFx1RkYwQ1x1NEUyNFx1NzlDRFx1NkEyMVx1NUYwRlx1NTNFRlx1NUU3Nlx1NUI1OFx1MzAwMjwvcD48ZGl2IGNsYXNzPSJibGFuay1jaGF0LXRvb2xzIj48YnV0dG9uIGNsYXNzPSJibGFuay1jaGF0LXRvb2wtYnRuIiBpZD0id2VsY29tZS10b29sLWNsYXVkZSIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idG9vbC1pY29uIj4nK2l0KCJ0ZXJtaW5hbCIse3NpemU6MTYsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj5cdTY1QjBcdTVFRkFcdTdFQzhcdTdBRUZcdTRGMUFcdThCREQ8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJibGFuay1jaGF0LXRvb2wtYnRuIiBpZD0id2VsY29tZS10b29sLWNvZGV4IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ0b29sLWljb24gdG9vbC1pY29uLXRleHQiPlx1MjMxODwvc3Bhbj5cdTY1QjBcdTVFRkEgQ29kZXggXHU0RjFBXHU4QkREPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1vcGVuY29kZSIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idG9vbC1pY29uIHRvb2wtaWNvbi10ZXh0Ij5PQzwvc3Bhbj5cdTY1QjBcdTVFRkEgT3BlbkNvZGUgXHU0RjFBXHU4QkREPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1zdHJ1Y3R1cmVkIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ0b29sLWljb24iPicraXQoImNoYXQiLHtzaXplOjE2LHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+XHU2NUIwXHU1RUZBXHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2Qtd3JhcCI+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2QiIGlkPSJibGFuay1jaGF0LWN3ZCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgYXJpYS1oYXNwb3B1cD0iZGlhbG9nIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgdGl0bGU9Ilx1NzBCOVx1NTFGQlx1NTIwN1x1NjM2Mlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSI+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWljb24iPicraXQoImZvbGRlciIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS44fSkrIjwvc3Bhbj4iK1FmKHFyKCksImJsYW5rLWNoYXQtY3dkLXBhdGgiLCcgaWQ9ImJsYW5rLWNoYXQtY3dkLXBhdGgiJykrJzxzcGFuIGNsYXNzPSJibGFuay1jaGF0LWN3ZC1hcnJvdyI+JytpdCgiY2hldnJvbkRvd24iLHtzaXplOjExLHN0cm9rZVdpZHRoOjJ9KSsnPC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImNyb3NzLXNlc3Npb24tcXVldWUtaG9zdCI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iaW5wdXQtcGFuZWwnKyhzLnNlbGVjdGVkSWQ/IiI6IiBoaWRkZW4iKSsnIj48ZGl2IGNsYXNzPSJjb21wb3Nlci10b3Atcm93Ij48ZGl2IGlkPSJ0b2RvLXByb2dyZXNzIiBjbGFzcz0idG9kby1wcm9ncmVzcyBoaWRkZW4iPjxidXR0b24gY2xhc3M9InRvZG8tcHJvZ3Jlc3MtaGVhZGVyIiBpZD0idG9kby1wcm9ncmVzcy10b2dnbGUiIHR5cGU9ImJ1dHRvbiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InRvZG8tcHJvZ3Jlc3MtYm9keSIgYXJpYS1sYWJlbD0iXHU1QzU1XHU1RjAwXHU1Rjg1XHU1MjlFXHU1MjE3XHU4ODY4Ij48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLWZpbGwiIGlkPSJ0b2RvLXByb2dyZXNzLWZpbGwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iLS1wcm9ncmVzczowIj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLWxlZnQiPjxzcGFuIGNsYXNzPSJ0b2RvLXByb2dyZXNzLXJpbmciIGlkPSJ0b2RvLXByb2dyZXNzLXJpbmciIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iLS1wcm9ncmVzczowIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDM2IDM2Ij48Y2lyY2xlIGNsYXNzPSJ0b2RvLXJpbmctdHJhY2siIGN4PSIxOCIgY3k9IjE4IiByPSIxNS41IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjQiLz48Y2lyY2xlIGNsYXNzPSJ0b2RvLXJpbmctZmlsbCIgY3g9IjE4IiBjeT0iMTgiIHI9IjE1LjUiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiIGlkPSJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLXRhc2std3JhcCI+PHNwYW4gY2xhc3M9InRvZG8tcHJvZ3Jlc3MtdGFzayIgaWQ9InRvZG8tcHJvZ3Jlc3MtdGFzayI+PC9zcGFuPjwvZGl2PicraXQoImNoZXZyb25Eb3duIix7c2l6ZToxNCxzdHJva2VXaWR0aDoyfSkrJzwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InRvZG8tcHJvZ3Jlc3MtYm9keSBoaWRkZW4iIGlkPSJ0b2RvLXByb2dyZXNzLWJvZHkiPjx1bCBjbGFzcz0idG9kby1wcm9ncmVzcy1saXN0IiBpZD0idG9kby1wcm9ncmVzcy1saXN0Ij48L3VsPjwvZGl2PjwvZGl2PjxkaXYgaWQ9InF1ZXVlLWJhci1ob3N0IiBjbGFzcz0icXVldWUtYmFyLWhvc3QiIGhpZGRlbj48L2Rpdj48ZGl2IGNsYXNzPSJpbnB1dC1jb21wb3Nlci1yb3ciPjxkaXYgY2xhc3M9ImlucHV0LWNvbXBvc2VyJysobz8iIGhhcy10ZXh0IjoiIikrJyI+PGRpdiBjbGFzcz0iY29tcG9zZXItc3RhdHVzLXJvdyIgaWQ9ImNvbXBvc2VyLXN0YXR1cy1yb3ciPicrQ04odCkrJzxzcGFuIGNsYXNzPSJwZXJtaXNzaW9uLWFjdGlvbnMgaGlkZGVuIiBpZD0icGVybWlzc2lvbi1hY3Rpb25zIj48c3BhbiBjbGFzcz0icGVybWlzc2lvbi1hY3Rpb25zLWxhYmVsIiBpZD0icGVybWlzc2lvbi1hY3Rpb25zLWxhYmVsIj5cdTdCNDlcdTVGODVcdTYzODhcdTY3NDM8L3NwYW4+PGJ1dHRvbiBpZD0iYXBwcm92ZS1wZXJtaXNzaW9uLWJ0biIgY2xhc3M9ImJ0biBidG4tcGVybWlzc2lvbiBidG4tcGVybWlzc2lvbi1hcHByb3ZlIiB0eXBlPSJidXR0b24iPlx1NjI3OVx1NTFDNjwvYnV0dG9uPjxidXR0b24gaWQ9ImRlbnktcGVybWlzc2lvbi1idG4iIGNsYXNzPSJidG4gYnRuLXBlcm1pc3Npb24gYnRuLXBlcm1pc3Npb24tZGVueSIgdHlwZT0iYnV0dG9uIj5cdTYyRDJcdTdFREQ8L2J1dHRvbj48L3NwYW4+Jyt1TSgpKyc8L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1tYWluLXJvdyI+PGRpdiBjbGFzcz0iY29tcG9zZXItYWN0aW9ucy1sZWZ0Ij48YnV0dG9uIGlkPSJhdHRhY2gtYnRuIiBjbGFzcz0iYnRuLWNpcmNsZSBidG4tY2lyY2xlLWFjdGlvbiIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2NkY0XHU1OTFBIiBhcmlhLWxhYmVsPSJcdTY2RjRcdTU5MUEiIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPicraXQoInBsdXMiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjIuMn0pKyc8L2J1dHRvbj48aW5wdXQgdHlwZT0iZmlsZSIgaWQ9ImZpbGUtdXBsb2FkLWlucHV0IiBtdWx0aXBsZSB0YWJpbmRleD0iLTEiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLDAsMCwwKTtwb2ludGVyLWV2ZW50czpub25lIj48L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1pbmxpbmUtY29uZmlnIj4nK05FKHQpKyc8L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1pbnB1dC13cmFwIj48dGV4dGFyZWEgaWQ9ImlucHV0LWJveCIgY2xhc3M9ImlucHV0LXRleHRhcmVhIiBwbGFjZWhvbGRlcj0iJytBRSh0LHMudGVybWluYWxJbnRlcmFjdGl2ZSkrJyIgcm93cz0iMSIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9jb3JyZWN0PSJvZmYiIGF1dG9jYXBpdGFsaXplPSJvZmYiIHNwZWxsY2hlY2s9ImZhbHNlIiBlbnRlcmtleWhpbnQ9InNlbmQiPicrTChvKSsnPC90ZXh0YXJlYT48YnV0dG9uIGlkPSJwcm9tcHQtb3B0aW1pemUtYnRuIiBjbGFzcz0icHJvbXB0LW9wdGltaXplLWJ0biIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2XHVGRjA4QUlcdUZGMDkiIGFyaWEtbGFiZWw9Ilx1NjNEMFx1NzkzQVx1OEJDRFx1NEYxOFx1NTMxNiI+PHN2ZyBjbGFzcz0icHJvbXB0LW9wdGltaXplLWljb24iIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTIgM2wxLjYgNC40TDE4IDlsLTQuNCAxLjZMMTIgMTVsLTEuNi00LjRMNiA5bDQuNC0xLjZ6IiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuMjUiLz48cGF0aCBkPSJNMTIgM2wxLjYgNC40TDE4IDlsLTQuNCAxLjZMMTIgMTVsLTEuNi00LjRMNiA5bDQuNC0xLjZ6Ii8+PHBhdGggZD0iTTE5IDE0bC43IDEuOUwyMS42IDE3bC0xLjkuN0wxOSAxOS42bC0uNy0xLjlMMTYuNCAxN2wxLjktLjd6IiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuMzUiLz48cGF0aCBkPSJNNSA0bC41IDEuNEw3IDZsLTEuNS42TDUgOGwtLjUtMS40TDMgNmwxLjUtLjZ6IiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuMzUiLz48L3N2Zz48c3BhbiBjbGFzcz0icHJvbXB0LW9wdGltaXplLXNwaW5uZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iY29tcG9zZXItYWN0aW9ucy1yaWdodCI+PGJ1dHRvbiBpZD0ic3RvcC1idXR0b24iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtc3RvcCBoaWRkZW4iIHRpdGxlPSJcdTUwNUNcdTZCNjIiPjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iMiIvPjwvc3ZnPjwvYnV0dG9uPjxidXR0b24gaWQ9InZvaWNlLXJlY29yZC1idG4iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtYWN0aW9uIGJ0bi1jaXJjbGUtdm9pY2UiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NjMwOVx1NEY0Rlx1OEJFRFx1OTdGM1x1OEY5M1x1NTE2NSIgYXJpYS1sYWJlbD0iXHU2MzA5XHU0RjRGXHU4QkVEXHU5N0YzXHU4RjkzXHU1MTY1IiBhcmlhLXByZXNzZWQ9ImZhbHNlIicrKHMudGVybWluYWxJbnRlcmFjdGl2ZT8iIGRpc2FibGVkIjoiIikrIj4iK2l0KCJtaWMiLHtzaXplOjE5LHN0cm9rZVdpZHRoOjJ9KSsnPC9idXR0b24+PGJ1dHRvbiBpZD0ic2VuZC1pbnB1dC1idXR0b24iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtc2VuZCIgdGl0bGU9Ilx1NTNEMVx1OTAwMSI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIyMiIgeTE9IjIiIHgyPSIxMSIgeTI9IjEzIi8+PHBvbHlnb24gcG9pbnRzPSIyMiAyIDE1IDIyIDExIDEzIDIgOSAyMiAyIi8+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYXR0YWNobWVudC1wcmV2aWV3IiBjbGFzcz0iYXR0YWNobWVudC1wcmV2aWV3IGhpZGRlbiI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY29tcG9zZXItcGx1cy1wb3BvdmVyIGhpZGRlbiIgaWQ9ImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJmYWxzZSIgYXJpYS1sYWJlbD0iXHU2NkY0XHU1OTFBXHU2NENEXHU0RjVDIj48YnV0dG9uIGNsYXNzPSJwbHVzLXBvcG92ZXItaXRlbSIgaWQ9InBsdXMtYXR0YWNoLWl0ZW0iIHR5cGU9ImJ1dHRvbiI+JytpdCgicGFwZXJjbGlwIix7c2l6ZToxNCxzdHJva2VXaWR0aDoxLjgsY2xzOiJwbHVzLXBvcG92ZXItaWNvbiJ9KSsnPHNwYW4gY2xhc3M9InBsdXMtcG9wb3Zlci1sYWJlbCI+XHU0RTBBXHU0RjIwXHU5NjQ0XHU0RUY2PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InBsdXMtcG9wb3Zlci1pdGVtJysocy50ZXJtaW5hbEludGVyYWN0aXZlPyIgaXMtb24iOiIiKSsnIiBpZD0idGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlLXRvcCIgdHlwZT0iYnV0dG9uIiBhcmlhLXByZXNzZWQ9IicrKHMudGVybWluYWxJbnRlcmFjdGl2ZT8idHJ1ZSI6ImZhbHNlIikrJyI+JytpdCgia2V5Ym9hcmQiLHtzaXplOjE0LHN0cm9rZVdpZHRoOjEuOCxjbHM6InBsdXMtcG9wb3Zlci1pY29uIn0pKyc8c3BhbiBjbGFzcz0icGx1cy1wb3BvdmVyLWxhYmVsIj5cdTdFQzhcdTdBRUZcdTRFQTRcdTRFOTI8L3NwYW4+PHNwYW4gY2xhc3M9InBsdXMtcG9wb3Zlci10b2dnbGUtc3RhdGUiPicrKHMudGVybWluYWxJbnRlcmFjdGl2ZT8iXHU1RjAwIjoiXHU1MTczIikrJzwvc3Bhbj48L2J1dHRvbj48ZGl2IGNsYXNzPSJwbHVzLXBvcG92ZXItc2VwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+PGRpdiBjbGFzcz0icGx1cy1wb3BvdmVyLXRyaW8td3JhcCI+JytORSh0KSsiPC9kaXY+PC9kaXY+IitPRSh0KSsnPGRpdiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC1idWJibGUgaGlkZGVuIiBpZD0idm9pY2UtdHJhbnNjcmlwdC1idWJibGUiIGFyaWEtbGl2ZT0icG9saXRlIj48ZGl2IGNsYXNzPSJ2b2ljZS10cmFuc2NyaXB0LXRleHQiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LXRleHQiPjwvZGl2PjxkaXYgY2xhc3M9InZvaWNlLXRyYW5zY3JpcHQtaGludCIgaWQ9InZvaWNlLXRyYW5zY3JpcHQtaGludCI+PHNwYW4gY2xhc3M9InZvaWNlLXdhdmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48aT48L2k+PGk+PC9pPjxpPjwvaT48aT48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyIgaWQ9InZvaWNlLXRyYW5zY3JpcHQtc3RhdHVzIj5cdTZCNjNcdTU3MjhcdTgwNDZcdTU0MkNcdTIwMjZcdTRFMEFcdTZFRDFcdTUzRDZcdTZEODg8L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9InZvaWNlLWJ1YmJsZS1hcnJvdyIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2Rpdj48cCBpZD0iYWN0aW9uLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48L2Rpdj48L21haW4+PC9kaXY+PC9kaXY+J312YXIgcXU9MCxqaD1udWxsLGpsPSExO2Z1bmN0aW9uIHN4KCl7Y29uc3QgZT13aW5kb3cuX193YW5kUmVhY3RVaTtyZXR1cm4hZXx8dHlwZW9mIGUuZGlhbG9nIT0iZnVuY3Rpb24ifHx0eXBlb2YgZS50b2FzdCE9ImZ1bmN0aW9uIj9udWxsOmV9ZnVuY3Rpb24gc00oZSl7c3dpdGNoKGUpe2Nhc2Uid2FybmluZyI6Y2FzZSJkYW5nZXIiOmNhc2Uic3VjY2VzcyI6Y2FzZSJxdWVzdGlvbiI6cmV0dXJuIGU7Y2FzZSJlcnJvciI6cmV0dXJuImRhbmdlciI7ZGVmYXVsdDpyZXR1cm4iaW5mbyJ9fWZ1bmN0aW9uIGxNKGUpe3N3aXRjaChlKXtjYXNlInN1Y2Nlc3MiOmNhc2Uid2FybmluZyI6Y2FzZSJlcnJvciI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iaW5mbyJ9fWZ1bmN0aW9uIGx4KGUpe3N3aXRjaChlKXtjYXNlInByaW1hcnkiOmNhc2Uib3V0bGluZSI6Y2FzZSJnaG9zdCI6Y2FzZSJkYW5nZXIiOnJldHVybiBlO2RlZmF1bHQ6cmV0dXJuInNlY29uZGFyeSJ9fWZ1bmN0aW9uIGNNKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUuYnV0dG9ucykmJmUuYnV0dG9ucy5sZW5ndGg+MD9lLmJ1dHRvbnM6W3tsYWJlbDoiXHU1OTdEIix2YWx1ZTohMCxraW5kOiJwcmltYXJ5IixhdXRvZm9jdXM6ITB9XX1mdW5jdGlvbiBkTShlKXtyZXR1cm4gZS5jYW5jZWxWYWx1ZSE9PXZvaWQgMD9lLmNhbmNlbFZhbHVlOmUuaW5wdXQ/bnVsbDohMX1mdW5jdGlvbiBmTSgpe2lmKHR5cGVvZiBkb2N1bWVudD4idSIpcmV0dXJuIG51bGw7Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3JldHVybiBlJiZ0eXBlb2YgZS5mb2N1cz09ImZ1bmN0aW9uIj9lOm51bGx9ZnVuY3Rpb24gcE0oKXtpZihqbClyZXR1cm47amw9ITAsKHR5cGVvZiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lPT0iZnVuY3Rpb24iP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOnQ9PnNldFRpbWVvdXQoKCk9PnQoRGF0ZS5ub3coKSksMCkpKCgpPT57aWYoamw9ITEscXU+MClyZXR1cm47Y29uc3QgdD1qaDtpZihqaD1udWxsLCEoIXR8fCF0LmlzQ29ubmVjdGVkfHx0eXBlb2YgZG9jdW1lbnQ+InUifHwhZG9jdW1lbnQuY29udGFpbnModCkpKXRyeXt0LmZvY3VzKCl9Y2F0Y2h7fX0pfWZ1bmN0aW9uIHZNKCl7cXU9TWF0aC5tYXgoMCxxdS0xKSxxdT09PTAmJnBNKCl9ZnVuY3Rpb24gbU0oZSl7Y29uc3QgdD1zeCgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0IGE9cXU9PT0wJiYhamw/Zk0oKTpudWxsLGk9Y00oZSksbz1zTShlLnR5cGUpLGM9ISFlLmlucHV0LGQ9e3RpdGxlOmUudGl0bGU/U3RyaW5nKGUudGl0bGUpOm89PT0iZGFuZ2VyIj8iXHU3ODZFXHU4QkE0XHU2NENEXHU0RjVDIjoiXHU2M0QwXHU3OTNBIixkZXNjcmlwdGlvbjplLm1lc3NhZ2U/U3RyaW5nKGUubWVzc2FnZSk6dm9pZCAwLHRvbmU6byxpY29uOmUuaWNvbj09bnVsbD92b2lkIDA6U3RyaW5nKGUuaWNvbiksYWN0aW9uczppLm1hcChtPT4oe2xhYmVsOm0ubGFiZWw9PW51bGw/IiI6U3RyaW5nKG0ubGFiZWwpLHZhbHVlOntidXR0b246bX0sa2luZDpseChtLmtpbmQpLGF1dG9Gb2N1czptLmF1dG9mb2N1cz09PSEwfHxtLmF1dG9Gb2N1cz09PSEwfSkpLGlucHV0OmM/e3ZhbHVlOmUuaW5wdXRWYWx1ZT09bnVsbD8iIjpTdHJpbmcoZS5pbnB1dFZhbHVlKSxwbGFjZWhvbGRlcjplLmlucHV0UGxhY2Vob2xkZXI9PW51bGw/dm9pZCAwOlN0cmluZyhlLmlucHV0UGxhY2Vob2xkZXIpLGxhYmVsOmUuaW5wdXRMYWJlbD09bnVsbD9lLnRpdGxlPT1udWxsPyJcdThGOTNcdTUxNjVcdTUxODVcdTVCQjkiOlN0cmluZyhlLnRpdGxlKTpTdHJpbmcoZS5pbnB1dExhYmVsKX06dm9pZCAwLGRpc21pc3NhYmxlOmUuZGlzbWlzc2FibGUhPT0hMX07bGV0IGY7dHJ5e2Y9dC5kaWFsb2coZCl9Y2F0Y2h7cmV0dXJuIG51bGx9cmV0dXJuIHF1PT09MCYmIWpsJiYoamg9YSkscXUrPTEsZi50aGVuKG09PntpZihtLmRpc21pc3NlZD09PSEwKXJldHVybiBkTShlKTtjb25zdCBoPW0uYWN0aW9uLmJ1dHRvbjtyZXR1cm4gYyYmbHgoaC5raW5kKT09PSJwcmltYXJ5Ij9tLmlucHV0VmFsdWU/PyIiOmgudmFsdWV9KS5maW5hbGx5KHZNKX1mdW5jdGlvbiBoTShlLHQsYSl7Y29uc3QgaT1zeCgpO2lmKCFpKXJldHVybiExO2NvbnN0IG89e3RvbmU6bE0odCksZHVyYXRpb246YX07dHJ5e3JldHVybiBpLnRvYXN0KGUsbyksITB9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIFphKGUsdCl7aWYoZSl7ZS50ZXh0Q29udGVudD10LGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7Zm9yKHZhciBhPWUucHJldmlvdXNFbGVtZW50U2libGluZzthOyl7aWYoYS50YWdOYW1lPT09IklOUFVUIil7YS5zZXRBdHRyaWJ1dGUoImRhdGEtZXJyb3IiLCJ0cnVlIik7YnJlYWt9YT1hLnByZXZpb3VzRWxlbWVudFNpYmxpbmd9fX1mdW5jdGlvbiBjeChlKXtpZihlKXtlLnRleHRDb250ZW50PSIiLGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7Zm9yKHZhciB0PWUucHJldmlvdXNFbGVtZW50U2libGluZzt0Oyl7aWYodC50YWdOYW1lPT09IklOUFVUIil7dC5zZXRBdHRyaWJ1dGUoImRhdGEtZXJyb3IiLCJmYWxzZSIpO2JyZWFrfXQ9dC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nfX19ZnVuY3Rpb24gaGUoZSx0KXt2YXIgYT10PT09ImVycm9yIj80ZTM6MjIwMDtoTShlLHQsYSl8fE9oKHt0aXRsZTplLHR5cGU6dD09PSJlcnJvciI/Indhcm5pbmciOiJpbmZvIixkdXJhdGlvbjphfSl9ZnVuY3Rpb24gTWwoZSl7ZT1lfHx7fTt2YXIgdD1tTShlKTtyZXR1cm4gdHx8Z00oZSl9ZnVuY3Rpb24gZ00oZSl7dmFyIHQ9ZS50aXRsZT09bnVsbD8iIjpTdHJpbmcoZS50aXRsZSksYT1lLm1lc3NhZ2U9PW51bGw/IiI6U3RyaW5nKGUubWVzc2FnZSksaT10JiZhP3QrYAoKYCthOnR8fGEsbz1BcnJheS5pc0FycmF5KGUuYnV0dG9ucykmJmUuYnV0dG9ucy5sZW5ndGg/ZS5idXR0b25zOlt7bGFiZWw6Ilx1NTk3RCIsdmFsdWU6ITAsa2luZDoicHJpbWFyeSJ9XTtpZihlLmlucHV0KXJldHVybiBQcm9taXNlLnJlc29sdmUod2luZG93LnByb21wdChpLGUuaW5wdXRWYWx1ZT09bnVsbD8iIjpTdHJpbmcoZS5pbnB1dFZhbHVlKSkpO2lmKG8ubGVuZ3RoPD0xKXJldHVybiB3aW5kb3cuYWxlcnQoaSksUHJvbWlzZS5yZXNvbHZlKG9bMF0/LnZhbHVlKTt2YXIgYz13aW5kb3cuY29uZmlybShpKTtpZighYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUuY2FuY2VsVmFsdWUhPT12b2lkIDA/ZS5jYW5jZWxWYWx1ZTohMSk7dmFyIGQ9by5maW5kKGZ1bmN0aW9uKGYpe3JldHVybiBmLmtpbmQ9PT0icHJpbWFyeSJ8fGYua2luZD09PSJkYW5nZXIifSl8fG9bby5sZW5ndGgtMV07cmV0dXJuIFByb21pc2UucmVzb2x2ZShkLnZhbHVlKX1mdW5jdGlvbiBiTShlLHQpe3JldHVybiB0PXR8fHt9LE1sKHt0aXRsZTp0LnRpdGxlfHwiXHU2M0QwXHU3OTNBIixtZXNzYWdlOnR5cGVvZiBlPT0ic3RyaW5nIj9lOlN0cmluZyhlPz8iIiksdHlwZTp0LnR5cGV8fCJpbmZvIixkaXNtaXNzYWJsZTp0LmRpc21pc3NhYmxlLGJ1dHRvbnM6W3tsYWJlbDp0Lm9rTGFiZWx8fCJcdTU5N0QiLHZhbHVlOnZvaWQgMCxraW5kOiJwcmltYXJ5IixhdXRvZm9jdXM6ITB9XX0pfWZ1bmN0aW9uIE1oKGUsdCl7dD10fHx7fTt2YXIgYT0hIXQuZGFuZ2VyfHx0LnR5cGU9PT0iZGFuZ2VyIjtyZXR1cm4gTWwoe3RpdGxlOnQudGl0bGV8fChhPyJcdTc4NkVcdThCQTRcdTY0Q0RcdTRGNUMiOiJcdThCRjdcdTc4NkVcdThCQTQiKSxtZXNzYWdlOnR5cGVvZiBlPT0ic3RyaW5nIj9lOlN0cmluZyhlPz8iIiksdHlwZTp0LnR5cGV8fChhPyJkYW5nZXIiOiJxdWVzdGlvbiIpLGNhbmNlbFZhbHVlOiExLGRpc21pc3NhYmxlOnQuZGlzbWlzc2FibGUsYnV0dG9uczpbe2xhYmVsOnQuY2FuY2VsTGFiZWx8fCJcdTUzRDZcdTZEODgiLHZhbHVlOiExLGtpbmQ6InNlY29uZGFyeSJ9LHtsYWJlbDp0Lm9rTGFiZWx8fChhPyJcdTUyMjBcdTk2NjQiOiJcdTc4NkVcdTVCOUEiKSx2YWx1ZTohMCxraW5kOmE/ImRhbmdlciI6InByaW1hcnkiLGF1dG9mb2N1czohYX1dfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaT09PSEwfSl9ZnVuY3Rpb24geU0oZSx0LGEpe3JldHVybiBhPWF8fHt9LE1sKHt0aXRsZTphLnRpdGxlfHwiXHU4QkY3XHU4RjkzXHU1MTY1IixtZXNzYWdlOnR5cGVvZiBlPT0ic3RyaW5nIj9lOlN0cmluZyhlPz8iIiksdHlwZTphLnR5cGV8fCJxdWVzdGlvbiIsaW5wdXQ6ITAsaW5wdXRWYWx1ZTp0PT1udWxsPyIiOlN0cmluZyh0KSxpbnB1dFBsYWNlaG9sZGVyOmEucGxhY2Vob2xkZXJ8fCIiLGNhbmNlbFZhbHVlOm51bGwsZGlzbWlzc2FibGU6YS5kaXNtaXNzYWJsZSxidXR0b25zOlt7bGFiZWw6YS5jYW5jZWxMYWJlbHx8Ilx1NTNENlx1NkQ4OCIsdmFsdWU6bnVsbCxraW5kOiJzZWNvbmRhcnkifSx7bGFiZWw6YS5va0xhYmVsfHwiXHU3ODZFXHU1QjlBIix2YWx1ZTp2b2lkIDAsa2luZDoicHJpbWFyeSJ9XX0pfXdpbmRvdy53YW5kQWxlcnQ9Yk0sd2luZG93LndhbmRDb25maXJtPU1oLHdpbmRvdy53YW5kUHJvbXB0PXlNLHdpbmRvdy5vcGVuV2FuZERpYWxvZz1NbCx3aW5kb3cuc2hvd1RvYXN0PWhlO3ZhciBQcj1bXSxkeD0wLHdNPTYseE09MTY7ZnVuY3Rpb24gT2goZSl7aWYoKGUuYWN0aW9uTGFiZWx8fGUucGxheVNvdW5kKSYmeXgoKSwhcy5ub3RpZkJ1YmJsZSlyZXR1cm57ZGlzbWlzczpmdW5jdGlvbigpe319O3ZhciB0PSsrZHgsYT1lLnR5cGV8fCJpbmZvIixpPWUuaWNvbnx8KGE9PT0id2FybmluZyI/IiEiOmE9PT0ic3VjY2VzcyI/Ilx1MjcxMyI6ImkiKSxvPWUuZHVyYXRpb24hPT12b2lkIDA/ZS5kdXJhdGlvbjo4ZTMsYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtjLmNsYXNzTmFtZT0ibm90aWZpY2F0aW9uLWJ1YmJsZSIsYy5zZXRBdHRyaWJ1dGUoImRhdGEtbmlkIixTdHJpbmcodCkpO3ZhciBkPSc8ZGl2IGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLWhlYWRlciI+PHNwYW4gY2xhc3M9Im5vdGlmaWNhdGlvbi1idWJibGUtaWNvbiAnK2ErJyI+JytpKyc8L3NwYW4+PHNwYW4gY2xhc3M9Im5vdGlmaWNhdGlvbi1idWJibGUtdGl0bGUiPicrTChlLnRpdGxlKSsnPC9zcGFuPjxidXR0b24gY2xhc3M9Im5vdGlmaWNhdGlvbi1idWJibGUtY2xvc2UiIHRpdGxlPSJcdTUxNzNcdTk1RUQiPlx4RDc8L2J1dHRvbj48L2Rpdj4nLGY9ZS5ib2R5Pyc8ZGl2IGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLWJvZHkiPicrTChlLmJvZHkpLnJlcGxhY2UoL1xuL2csIjxicj4iKSsiPC9kaXY+IjoiIixtPWUuYWN0aW9uTGFiZWw/JzxkaXYgY2xhc3M9Im5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0icHJpbWFyeSI+JytMKGUuYWN0aW9uTGFiZWwpKyI8L2J1dHRvbj48L2Rpdj4iOiIiO2MuaW5uZXJIVE1MPWQrZittLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYyk7dmFyIGg9e2lkOnQsZWw6Y307UHIucHVzaChoKSxfaCgpO3ZhciBnPWMucXVlcnlTZWxlY3RvcigiLm5vdGlmaWNhdGlvbi1idWJibGUtY2xvc2UiKTtpZihnJiYoZy5vbmNsaWNrPWZ1bmN0aW9uKCl7T2wodCl9KSxlLmFjdGlvbkxhYmVsJiZlLmFjdGlvbil7dmFyIGI9Yy5xdWVyeVNlbGVjdG9yKCIubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbiIpO2ImJihiLm9uY2xpY2s9ZnVuY3Rpb24oKXtlLmFjdGlvbigpLE9sKHQpfSl9dmFyIHk9bnVsbDtyZXR1cm4gbz4wJiYoeT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7T2wodCl9LG8pKSx7ZGlzbWlzczpmdW5jdGlvbigpe09sKHQpfX19ZnVuY3Rpb24gT2woZSl7Zm9yKHZhciB0PS0xLGE9MDthPFByLmxlbmd0aDthKyspaWYoUHJbYV0uaWQ9PT1lKXt0PWE7YnJlYWt9aWYodCE9PS0xKXt2YXIgaT1Qclt0XTtpLmVsLmNsYXNzTGlzdC5hZGQoInNsaWRlLW91dCIpLFByLnNwbGljZSh0LDEpLF9oKCksc2V0VGltZW91dChmdW5jdGlvbigpe2kuZWwucGFyZW50Tm9kZSYmaS5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkuZWwpfSwzMDApfX1mdW5jdGlvbiBfaCgpe2Zvcih2YXIgZT14TSx0PTA7dDxQci5sZW5ndGg7dCsrKVByW3RdLmVsLnN0eWxlLnRvcD1lKyJweCIsZSs9UHJbdF0uZWwub2Zmc2V0SGVpZ2h0K3dNfXRyeXtmeD1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9XYW5kUGxhdGZvcm1cL21hY09TLyksTmg9d2luZG93LndlYmtpdCYmd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMmJndpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLndhbmROYXRpdmV8fG51bGwsZngmJk5oJiZ0eXBlb2Ygd2luZG93LldhbmROYXRpdmU+InUiJiYod2luZG93LldhbmROYXRpdmU9e2Rvd25sb2FkVXBkYXRlOmZ1bmN0aW9uKGUsdCxhKXt0cnl7TmgucG9zdE1lc3NhZ2Uoe3R5cGU6ImRvd25sb2FkVXBkYXRlIix1cmw6U3RyaW5nKGV8fCIiKSxmaWxlTmFtZTpTdHJpbmcodHx8IndhbmQtdXBkYXRlLmRtZyIpLHNvdXJjZTpTdHJpbmcoYXx8ImxvY2FsIil9KX1jYXRjaHt9fX0pfWNhdGNoe312YXIgZngsTmgsTmk9dHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5zZW5kTm90aWZpY2F0aW9uPT0iZnVuY3Rpb24iLF9sPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1dhbmRBcHBcLyhbXlxzXSspLykscHg9L1dhbmRQbGF0Zm9ybVwvbWFjT1MvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksRU09ISFfbCYmIXB4LHZ4PV9sJiZFTT9fbFsxXTpudWxsLFJoPV9sJiZweD9fbFsxXTpudWxsO2Z1bmN0aW9uIE5sKGUpe2lmKCEoIU5pfHx0eXBlb2YgV2FuZE5hdGl2ZS52aWJyYXRlIT0iZnVuY3Rpb24iKSl0cnl7V2FuZE5hdGl2ZS52aWJyYXRlKGV8fCJsaWdodCIpfWNhdGNoe319ZnVuY3Rpb24gSWgoKXtpZihOaSl7dmFyIGU9cy5zZXNzaW9ucy5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiF0LmFyY2hpdmVkJiYodC5zdGF0dXM9PT0icnVubmluZyJ8fHQuc3RhdHVzPT09InRoaW5raW5nInx8dC5zdGF0dXM9PT0iaW5pdGlhbGl6aW5nIil9KTtpZih0eXBlb2YgV2FuZE5hdGl2ZS5zZXRLZWVwU2NyZWVuT249PSJmdW5jdGlvbiIpdHJ5e1dhbmROYXRpdmUuc2V0S2VlcFNjcmVlbk9uKGUpfWNhdGNoe31pZihlKXtpZih0eXBlb2YgV2FuZE5hdGl2ZS5zdGFydEtlZXBBbGl2ZT09ImZ1bmN0aW9uIil0cnl7V2FuZE5hdGl2ZS5zdGFydEtlZXBBbGl2ZSgpfWNhdGNoe319ZWxzZSBpZih0eXBlb2YgV2FuZE5hdGl2ZS5zdG9wS2VlcEFsaXZlPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnN0b3BLZWVwQWxpdmUoKX1jYXRjaHt9fX1mdW5jdGlvbiBteCgpe2lmKE5pJiZ0eXBlb2YgV2FuZE5hdGl2ZS5nZXRQZXJtaXNzaW9uPT0iZnVuY3Rpb24iKXRyeXtyZXR1cm4gV2FuZE5hdGl2ZS5nZXRQZXJtaXNzaW9uKCl9Y2F0Y2h7fXJldHVybiBudWxsfWZ1bmN0aW9uIEZNKCl7aWYoTmkpe3ZhciBlPW14KCk7aWYoZT09PSJkZWZhdWx0Inx8ZT09PSJkZW5pZWQiKXRyeXtXYW5kTmF0aXZlLnJlcXVlc3RQZXJtaXNzaW9uKCl9Y2F0Y2h7fXJldHVybn10eXBlb2YgTm90aWZpY2F0aW9uPCJ1IiYmTm90aWZpY2F0aW9uLnBlcm1pc3Npb249PT0iZGVmYXVsdCImJk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpfWZ1bmN0aW9uIENNKGUpe3ZhciB0PWV8fHt9O3JldHVybiEodC5vbmx5V2hlbkhpZGRlbiYmIWRvY3VtZW50LmhpZGRlbnx8dC5za2lwV2hlblNlbGVjdGVkU2Vzc2lvbklkJiZ0LnNraXBXaGVuU2VsZWN0ZWRTZXNzaW9uSWQ9PT1zLnNlbGVjdGVkSWQmJiFkb2N1bWVudC5oaWRkZW4pfWZ1bmN0aW9uIERNKGUsdCl7aWYoIWV8fCF0fHx0PD0wKXJldHVybiExO3ZhciBhPXMubm90aWZpY2F0aW9uSGlzdG9yeVtlXXx8MCxpPURhdGUubm93KCk7cmV0dXJuIGktYTx0PyEwOihzLm5vdGlmaWNhdGlvbkhpc3RvcnlbZV09aSwhMSl9ZnVuY3Rpb24gRWYoZSx0LGEpe3ZhciBpPWF8fHt9LG89aS50YWd8fCIiO2lmKENNKGkpJiYhRE0obyxpLm1pbkludGVydmFsTXN8fDApKXtpZihOaSl7dmFyIGM9bXgoKTtpZihjIT09ImdyYW50ZWQiKXJldHVybjt0cnl7dmFyIGQ9bztpLmtpbmQmJihkPWkua2luZCsobz8iOiIrbzoiIikpLFdhbmROYXRpdmUuc2VuZE5vdGlmaWNhdGlvbihlfHwiV2FuZCIsdHx8IiIsZHx8IiIpfWNhdGNoe31yZXR1cm59aWYoISh0eXBlb2YgTm90aWZpY2F0aW9uPiJ1Inx8Tm90aWZpY2F0aW9uLnBlcm1pc3Npb24hPT0iZ3JhbnRlZCIpJiZkb2N1bWVudC5oaWRkZW4pdHJ5e3ZhciBmPW5ldyBOb3RpZmljYXRpb24oZSx7Ym9keTp0fHwiIixpY29uOmkuaWNvbnx8Ii9mYXZpY29uLmljbyIsdGFnOm98fHZvaWQgMH0pO2Yub25jbGljaz1mdW5jdGlvbigpe3dpbmRvdy5mb2N1cygpLGYuY2xvc2UoKSxpLm9uQ2xpY2smJmkub25DbGljaygpfSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zi5jbG9zZSgpfSwxZTQpfWNhdGNoe319fWZ1bmN0aW9uIEFNKGUsdCl7aWYoISghdHx8IXQudGl0bGUpKXt2YXIgYT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uaWQ9PT1lfSk7aWYoYSl7dmFyIGk9YS5zdW1tYXJ5fHxhLmNvbW1hbmR8fGU7RWYoIlx1NEVGQlx1NTJBMVx1OEZEQlx1ODg0Q1x1NEUyRCIsaStgCmArdC50aXRsZSx7a2luZDoidGFzayIsdGFnOiJ3YW5kLXRhc2stIitlKyItIit0LnRpdGxlLG1pbkludGVydmFsTXM6OWU0LG9ubHlXaGVuSGlkZGVuOiEwLHNraXBXaGVuU2VsZWN0ZWRTZXNzaW9uSWQ6ZSxvbkNsaWNrOmZ1bmN0aW9uKCl7ZSE9PXMuc2VsZWN0ZWRJZCYmdHIoZSl9fSl9fX1mdW5jdGlvbiBoeChlLHQpe01NKGV8fCItIix0fHwiLSIpLEVmKCJXYW5kIFx1NTNEMVx1NzNCMFx1NjVCMFx1NzI0OFx1NjcyQyIsIlx1NUY1M1x1NTI0RCAiKyhlfHwiLSIpKyIgXHUyMTkyIFx1NjcwMFx1NjVCMCAiKyh0fHwiLSIpLHtraW5kOiJ1cGRhdGUiLHRhZzoid2FuZC11cGRhdGUiLG1pbkludGVydmFsTXM6M2U1fSl9ZnVuY3Rpb24gU00oZSx0KXtFZigiXHU5NzAwXHU4OTgxXHU0RjYwXHU3Njg0XHU2Mzg4XHU2NzQzIix0LHtraW5kOiJwZXJtaXNzaW9uIix0YWc6IndhbmQtcGVybS0iK2UsbWluSW50ZXJ2YWxNczo2ZTQsb25seVdoZW5IaWRkZW46ITAsc2tpcFdoZW5TZWxlY3RlZFNlc3Npb25JZDplLG9uQ2xpY2s6ZnVuY3Rpb24oKXtlIT09cy5zZWxlY3RlZElkJiZ0cihlKX19KX1mdW5jdGlvbiBCTShlLHQsYSl7RWYodCxhLHtraW5kOiJ0YXNrLWVuZGVkIix0YWc6IndhbmQtZW5kZWQtIitlLG1pbkludGVydmFsTXM6MWU0LG9uQ2xpY2s6ZnVuY3Rpb24oKXtlIT09cy5zZWxlY3RlZElkJiZ0cihlKX19KX12YXIgUHU9e30sa009MzA7ZnVuY3Rpb24gZ3goZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9U3RyaW5nKGUpLnJlcGxhY2UoL14jK1xzKy9nbSwiIikucmVwbGFjZSgvXCpcKi9nLCIiKS5yZXBsYWNlKC9gL2csIiIpLnRyaW0oKSxhPXQuc3BsaXQoYApgKVswXS50cmltKCk7cmV0dXJuIGEubGVuZ3RoPjEwMCYmKGE9YS5zbGljZSgwLDEwMCkrIlx1MjAyNiIpLGF9ZnVuY3Rpb24gTGgoZSl7IU5pfHx0eXBlb2YgV2FuZE5hdGl2ZS51cGRhdGVTZXNzaW9uUHJvZ3Jlc3MhPSJmdW5jdGlvbiJ8fGUmJihQdVtlXSYmY2xlYXJUaW1lb3V0KFB1W2VdKSxQdVtlXT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZGVsZXRlIFB1W2VdLFRNKGUpfSxrTSkpfWZ1bmN0aW9uIFRNKGUpe3ZhciB0PXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihrKXtyZXR1cm4gay5pZD09PWV9KTtpZih0KXt2YXIgYT10LnN1bW1hcnl8fHQuY29tbWFuZHx8ZSxpPXQuc3RhdHVzfHwicnVubmluZyI7aWYoaT09PSJpZGxlInx8aT09PSJhcmNoaXZlZCJ8fGk9PT0iZXhpdGVkIil7YngoZSk7cmV0dXJufWZvcih2YXIgbz1udWxsLGM9IiIsZD0iIixmPVtdLG09dC5tZXNzYWdlc3x8W10saD1tLmxlbmd0aC0xO2g+PTA7aC0tKXt2YXIgZz1tW2hdO2lmKCEoIWcuY29udGVudHx8IUFycmF5LmlzQXJyYXkoZy5jb250ZW50KSkpe2lmKCFkJiZnLnJvbGU9PT0iYXNzaXN0YW50Iilmb3IodmFyIGI9Zy5jb250ZW50Lmxlbmd0aC0xO2I+PTA7Yi0tKXt2YXIgeT1nLmNvbnRlbnRbYl07aWYoeSYmeS50eXBlPT09InRleHQiJiZ5LnRleHQmJnkudGV4dC50cmltKCkpe2Q9Z3goeS50ZXh0KTticmVha319aWYoZy5yb2xlPT09InVzZXIiKXt2YXIgQz1nLmNvbnRlbnQuc29tZShmdW5jdGlvbihrKXtyZXR1cm4gayYmay5fX3F1ZXVlZH0pO2lmKCFDKWZvcih2YXIgdz0wO3c8Zy5jb250ZW50Lmxlbmd0aDt3Kyspe3ZhciB4PWcuY29udGVudFt3XTtpZih4JiZ4LnR5cGU9PT0idGV4dCImJngudGV4dCYmeC50ZXh0LnRyaW0oKSl7dmFyIEY9Z3goeC50ZXh0KTtjfHwoYz1GKSxmLmxlbmd0aDw0JiZmLnB1c2goRik7YnJlYWt9fX1pZighbylmb3IodmFyIEE9Zy5jb250ZW50Lmxlbmd0aC0xO0E+PTA7QS0tKXt2YXIgRD1nLmNvbnRlbnRbQV07aWYoRCYmRC50eXBlPT09InRvb2xfdXNlIiYmRC5uYW1lPT09IlRvZG9Xcml0ZSImJkQuaW5wdXQmJkQuaW5wdXQudG9kb3Mpe289RC5pbnB1dC50b2RvczticmVha319aWYobyYmZi5sZW5ndGg+PTQmJmQpYnJlYWt9fWYucmV2ZXJzZSgpO3ZhciBCPSIiO2U9PT1zLnNlbGVjdGVkSWQmJnMuY3VycmVudFRhc2smJnMuY3VycmVudFRhc2sudGl0bGUmJihCPXMuY3VycmVudFRhc2sudGl0bGUpO3ZhciBUPXtzZXNzaW9uTGFiZWw6YSxzdGF0dXM6aSxjdXJyZW50VGFzazpCLGxhdGVzdFVzZXJUZXh0OmMsbGF0ZXN0QXNzaXN0YW50VGV4dDpkLHRvZG9zOm98fFtdLHJlY2VudFVzZXJUZXh0czpmfTt0cnl7V2FuZE5hdGl2ZS51cGRhdGVTZXNzaW9uUHJvZ3Jlc3MoZSxKU09OLnN0cmluZ2lmeShUKSl9Y2F0Y2h7fX19ZnVuY3Rpb24gYngoZSl7aWYoISghTml8fHR5cGVvZiBXYW5kTmF0aXZlLmNsZWFyU2Vzc2lvblByb2dyZXNzIT0iZnVuY3Rpb24iKSl7UHVbZV0mJihjbGVhclRpbWVvdXQoUHVbZV0pLGRlbGV0ZSBQdVtlXSk7dHJ5e1dhbmROYXRpdmUuY2xlYXJTZXNzaW9uUHJvZ3Jlc3MoZSl9Y2F0Y2h7fX19d2luZG93LmhhbmRsZU5hdGl2ZUJhY2s9ZnVuY3Rpb24oKXtpZihMdS5pc09wZW4oKSlyZXR1cm4hMDt2YXIgZT13aW5kb3cuX193YW5kUmVhY3RVaTtpZihlJiZ0eXBlb2YgZS5jbG9zZVRvcG1vc3Q9PSJmdW5jdGlvbiIpdHJ5e2lmKGUuY2xvc2VUb3Btb3N0KCkpcmV0dXJuITB9Y2F0Y2h7fXZhciB0PXdpbmRvdy5fX3dhbmRSZWFjdEZpbGVQcmV2aWV3O2lmKHQmJnR5cGVvZiB0LmNsb3NlVG9wbW9zdD09ImZ1bmN0aW9uIil0cnl7aWYodC5jbG9zZVRvcG1vc3QoKSlyZXR1cm4hMH1jYXRjaHt9dmFyIGE9d2luZG93Ll9fd2FuZFJlYWN0UXVpY2tDb21taXQ7aWYoYSYmdHlwZW9mIGEuY2xvc2VUb3Btb3N0PT0iZnVuY3Rpb24iKXRyeXtpZihhLmNsb3NlVG9wbW9zdCgpKXJldHVybiEwfWNhdGNoe312YXIgaT13aW5kb3cuX193YW5kUmVhY3ROZXdTZXNzaW9uO2lmKGkmJnR5cGVvZiBpLmNsb3NlVG9wbW9zdD09ImZ1bmN0aW9uIil0cnl7aWYoaS5jbG9zZVRvcG1vc3QoKSlyZXR1cm4hMH1jYXRjaHt9dmFyIG89d2luZG93Ll9fd2FuZFJlYWN0Rm9sZGVyUGlja2VyO2lmKG8mJnR5cGVvZiBvLmNsb3NlVG9wbW9zdD09ImZ1bmN0aW9uIil0cnl7aWYoby5jbG9zZVRvcG1vc3QoKSlyZXR1cm4hMH1jYXRjaHt9dmFyIGM9d2luZG93Ll9fd2FuZFJlYWN0V29ya3RyZWVNZXJnZTtpZihjJiZ0eXBlb2YgYy5jbG9zZVRvcG1vc3Q9PSJmdW5jdGlvbiIpdHJ5e2lmKGMuY2xvc2VUb3Btb3N0KCkpcmV0dXJuITB9Y2F0Y2h7fXZhciBkPXdpbmRvdy5fX3dhbmRSZWFjdFNldHRpbmdzO2lmKGQmJnR5cGVvZiBkLmNsb3NlVG9wbW9zdD09ImZ1bmN0aW9uIil0cnl7aWYoZC5jbG9zZVRvcG1vc3QoKSlyZXR1cm4hMH1jYXRjaHt9cmV0dXJuIHMuZmlsZVBhbmVsT3BlbiYmRW4oKT8ocmgoITEpLCEwKTpzLnNlc3Npb25zRHJhd2VyT3BlbiYmRW4oKT8oaXMoKSwhMCk6RW4oKSYmcy5zZWxlY3RlZElkPyhzLnNlbGVjdGVkSWQ9bnVsbCxHdCgpLHMuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLFR0KCJ3YW5kLXNpZGViYXItb3BlbiIsITApLF9pKCksITApOiExfTtmdW5jdGlvbiB5eCgpe3Mubm90aWZTb3VuZCYmak0oKX1mdW5jdGlvbiBqTSgpe3RyeXtsZXQgbz1mdW5jdGlvbihjLGQsZil7dmFyIG09YS5jcmVhdGVPc2NpbGxhdG9yKCksaD1hLmNyZWF0ZUdhaW4oKTttLnR5cGU9InNpbmUiLG0uZnJlcXVlbmN5LnZhbHVlPWMsaC5nYWluLnNldFZhbHVlQXRUaW1lKDAsYS5jdXJyZW50VGltZStkKSxoLmdhaW4ubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoLjUqaSxhLmN1cnJlbnRUaW1lK2QrLjA0KSxoLmdhaW4uZXhwb25lbnRpYWxSYW1wVG9WYWx1ZUF0VGltZSguMDAxLGEuY3VycmVudFRpbWUrZCtmKSxtLmNvbm5lY3QoaCksaC5jb25uZWN0KGEuZGVzdGluYXRpb24pLG0uc3RhcnQoYS5jdXJyZW50VGltZStkKSxtLnN0b3AoYS5jdXJyZW50VGltZStkK2YpfTt2YXIgZT1vLHQ9d2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dDtpZighdClyZXR1cm4hMTt2YXIgYT1uZXcgdDthLnN0YXRlPT09InN1c3BlbmRlZCImJmEucmVzdW1lKCk7dmFyIGk9KHMubm90aWZWb2x1bWV8fDApLzEwMDtyZXR1cm4gbyg1MjMsMCwuMjUpLG8oNjU5LC4xMiwuMyksc2V0VGltZW91dChmdW5jdGlvbigpe2EuY2xvc2UoKX0sNjAwKSwhMH1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gTU0oZSx0KXtpZihzLl91cGRhdGVCdWJibGVTaG93bilyZXR1cm47cy5fdXBkYXRlQnViYmxlU2hvd249ITAseXgoKTt2YXIgYT0rK2R4LGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5jbGFzc05hbWU9Im5vdGlmaWNhdGlvbi1idWJibGUgdXBkYXRlLWNhcmQiLGkuc2V0QXR0cmlidXRlKCJkYXRhLW5pZCIsU3RyaW5nKGEpKSxpLmlubmVySFRNTD0nPGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtc2hpbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1oZWFkZXIiPjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDE5VjUiLz48cGF0aCBkPSJNNSAxMmw3LTcgNyA3Ii8+PC9zdmc+PC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtaGVhZGluZyI+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtdGl0bGUiPlx1NTNEMVx1NzNCMFx1NjVCMFx1NzI0OFx1NjcyQzwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXN1YnRpdGxlIiBpZD0idXBkYXRlLWNhcmQtc3VidGl0bGUiPlx1NzBCOVx1NTFGQlx1NEUwQlx1NjVCOVx1NjMwOVx1OTRBRVx1NEUwMFx1OTUyRVx1NjZGNFx1NjVCMDwvZGl2PjwvZGl2PjxidXR0b24gY2xhc3M9InVwZGF0ZS1jYXJkLWNsb3NlIiB0aXRsZT0iXHU3QTBEXHU1NDBFXHU2M0QwXHU5MTkyIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTggNkw2IDE4Ii8+PHBhdGggZD0iTTYgNmwxMiAxMiIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24iPjxzcGFuIGNsYXNzPSJ1cGRhdGUtY2FyZC12ZXJzaW9uLWNoaXAgdXBkYXRlLWNhcmQtdmVyc2lvbi1jdXJyZW50Ij52JytMKFN0cmluZyhlKS5yZXBsYWNlKC9edi8sIiIpKSsnPC9zcGFuPjxzdmcgY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24tYXJyb3ciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik01IDEyaDE0Ii8+PHBhdGggZD0iTTEzIDVsNyA3LTcgNyIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJ1cGRhdGUtY2FyZC12ZXJzaW9uLWNoaXAgdXBkYXRlLWNhcmQtdmVyc2lvbi1sYXRlc3QiPnYnK0woU3RyaW5nKHQpLnJlcGxhY2UoL152LywiIikpKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtcHJvZ3Jlc3MiIGlkPSJ1cGRhdGUtY2FyZC1wcm9ncmVzcyIgYXJpYS1oaWRkZW49InRydWUiPjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXByb2dyZXNzLXRyYWNrIj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1wcm9ncmVzcy1maWxsIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1zdGF0dXMgaGlkZGVuIiBpZD0idXBkYXRlLWNhcmQtc3RhdHVzIj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJ1cGRhdGUtY2FyZC1hY3Rpb24gdXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnkiIGlkPSJ1cGRhdGUtYnViYmxlLWFjdGlvbiIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idXBkYXRlLWNhcmQtYWN0aW9uLWxhYmVsIj5cdTdBQ0JcdTUzNzNcdTY2RjRcdTY1QjA8L3NwYW4+PC9idXR0b24+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpO3ZhciBvPXtpZDphLGVsOml9O1ByLnB1c2gobyksX2goKTt2YXIgYz1pLnF1ZXJ5U2VsZWN0b3IoIi51cGRhdGUtY2FyZC1jbG9zZSIpO2MmJihjLm9uY2xpY2s9ZnVuY3Rpb24oKXtPbChhKSxzLl91cGRhdGVCdWJibGVTaG93bj0hMX0pO3ZhciBkPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1idWJibGUtYWN0aW9uIiksZj1pLnF1ZXJ5U2VsZWN0b3IoIi51cGRhdGUtY2FyZC1hY3Rpb24tbGFiZWwiKSxtPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1jYXJkLXN1YnRpdGxlIiksaD1pLnF1ZXJ5U2VsZWN0b3IoIiN1cGRhdGUtY2FyZC1zdGF0dXMiKSxnPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1jYXJkLXByb2dyZXNzIik7ZnVuY3Rpb24gYih3LHgpe2lmKGgpe2lmKGgudGV4dENvbnRlbnQ9d3x8IiIsaC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iLCJlcnJvciIsInN1Y2Nlc3MiKSwhdyl7aC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtyZXR1cm59eCYmaC5jbGFzc0xpc3QuYWRkKHgpfX1mdW5jdGlvbiB5KHcpe20mJihtLnRleHRDb250ZW50PXd8fCIiKX1mdW5jdGlvbiBDKHcpe2cmJmcuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIXcpfWQmJihkLm9uY2xpY2s9ZnVuY3Rpb24oKXtkLmRpc2FibGVkPSEwLGkuY2xhc3NMaXN0LmFkZCgiaXMtYnVzeSIpLGYmJihmLnRleHRDb250ZW50PSJcdTY2RjRcdTY1QjBcdTRFMkRcdTIwMjYiKSx5KCJcdTZCNjNcdTU3MjhcdTRFMEJcdThGN0RcdTVFNzZcdTVCODlcdTg4QzVcdTY1QjBcdTcyNDhcdTY3MkNcdTIwMjYiKSxDKCEwKSxiKCIiKSxmZXRjaCgiL2FwaS91cGRhdGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odyl7cmV0dXJuIHcuanNvbigpfSkudGhlbihmdW5jdGlvbih3KXtpZih3LmVycm9yKXtDKCExKSxpLmNsYXNzTGlzdC5yZW1vdmUoImlzLWJ1c3kiKSx5KCJcdTY2RjRcdTY1QjBcdTY3MkFcdTVCOENcdTYyMTAiKSxiKHcuZXJyb3IsImVycm9yIiksZC5kaXNhYmxlZD0hMSxmJiYoZi50ZXh0Q29udGVudD0iXHU5MUNEXHU4QkQ1Iik7cmV0dXJufWlmKGkuY2xhc3NMaXN0LmFkZCgiaXMtc3VjY2VzcyIpLHkoKHcubWVzc2FnZXx8Ilx1NjZGNFx1NjVCMFx1NUI4Q1x1NjIxMCIpKyJcdUZGMENcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTY3MERcdTUyQTFcdTIwMjYiKSxiKCIiKSxmJiYoZi50ZXh0Q29udGVudD0iXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGXHUyMDI2Iiksdy5kZXRhY2hlZFVwZGF0ZSl7UmwoKTtyZXR1cm59aWYody5yZXN0YXJ0UmVxdWlyZWQ9PT0hMSl7QyghMSksaS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1idXN5IiksZC5kaXNhYmxlZD0hMSxmJiYoZi50ZXh0Q29udGVudD0iXHU1REYyXHU1QjhDXHU2MjEwIik7cmV0dXJufU9NKGQsZixtLGgsZyl9KS5jYXRjaChmdW5jdGlvbigpe0MoITEpLGkuY2xhc3NMaXN0LnJlbW92ZSgiaXMtYnVzeSIpLHkoIlx1NjZGNFx1NjVCMFx1NjcyQVx1NUI4Q1x1NjIxMCIpLGIoIlx1OEJGN1x1NjhDMFx1NjdFNVx1N0Y1MVx1N0VEQ1x1OEZERVx1NjNBNVx1NTQwRVx1OTFDRFx1OEJENSIsImVycm9yIiksZC5kaXNhYmxlZD0hMSxmJiYoZi50ZXh0Q29udGVudD0iXHU5MUNEXHU4QkQ1Iil9KX0pfWZ1bmN0aW9uIE9NKGUsdCxhLGksbyl7ZmV0Y2goIi9hcGkvcmVzdGFydCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gYy5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKCl7UmwoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7UmwoKX0pfWZ1bmN0aW9uIFJsKGUsdCl7UmsoZSx0KX1mdW5jdGlvbiBfTShlLHQsYSl7SWsoZSx0LGEpfXZhciBOdD17cmVjb3JkaW5nOiExLGNhbmNlbGluZzohMSx0cmFuc2NyaXB0OiIiLHN0YXJ0WTowfSxOTT02MDtmdW5jdGlvbiBSTShlKXtOdC50cmFuc2NyaXB0PWV8fCIiO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LXRleHQiKTt0JiYodC50ZXh0Q29udGVudD1OdC50cmFuc2NyaXB0KTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1idWJibGUiKTthJiZhLmNsYXNzTGlzdC50b2dnbGUoImhhcy10ZXh0IiwhIU50LnRyYW5zY3JpcHQpfWZ1bmN0aW9uIElNKGUpe2lmKCEocy50ZXJtaW5hbEludGVyYWN0aXZlfHxOdC5yZWNvcmRpbmcpKXtpZihlKXtlLnByZXZlbnREZWZhdWx0KCksTnQuc3RhcnRZPXR5cGVvZiBlLmNsaWVudFk9PSJudW1iZXIiP2UuY2xpZW50WTowO3RyeXtlLnBvaW50ZXJJZCE9PXZvaWQgMCYmZS5jdXJyZW50VGFyZ2V0JiZlLmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUmJmUuY3VycmVudFRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShlLnBvaW50ZXJJZCl9Y2F0Y2h7fX1OdC5yZWNvcmRpbmc9ITAsTnQuY2FuY2VsaW5nPSExLE50LnRyYW5zY3JpcHQ9IiI7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtpZih0KXt0LmNsYXNzTGlzdC5hZGQoImlzLXJlY29yZGluZyIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCJ0cnVlIiksdC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2NzdFXHU1RjAwXHU3RUQzXHU2NzVGIFx4QjcgXHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4Iik7dmFyIGE9dC5xdWVyeVNlbGVjdG9yKCIudm9pY2UtcmVjb3JkLWxhYmVsIik7YSYmKGEudGV4dENvbnRlbnQ9Ilx1Njc3RVx1NUYwMCBcdTUzRDFcdTkwMDEiKX12YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1idWJibGUiKTtpJiZpLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIsImlzLWNhbmNlbGluZyIsImhhcy10ZXh0IiksUk0oIiIpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyIpO28mJihvLnRleHRDb250ZW50PSJcdTdGNTFcdTk4NzVcdTdBRUZcdTY2ODJcdTRFMERcdTY1MkZcdTYzMDFcdThCRURcdTk3RjNcdThGOTNcdTUxNjVcdUZGMENcdThCRjdcdTRGN0ZcdTc1MjggQXBwIil9fWZ1bmN0aW9uIExNKGUpe2lmKCEoIU50LnJlY29yZGluZ3x8IWUpKXt2YXIgdD1OdC5zdGFydFktKHR5cGVvZiBlLmNsaWVudFk9PSJudW1iZXIiP2UuY2xpZW50WTpOdC5zdGFydFkpLGE9dD5OTTtpZihhIT09TnQuY2FuY2VsaW5nKXtOdC5jYW5jZWxpbmc9YTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1idWJibGUiKTtpJiZpLmNsYXNzTGlzdC50b2dnbGUoImlzLWNhbmNlbGluZyIsYSk7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKSxjPW8mJm8ucXVlcnlTZWxlY3RvcigiLnZvaWNlLXJlY29yZC1sYWJlbCIpO2MmJihjLnRleHRDb250ZW50PWE/Ilx1Njc3RVx1NUYwMCBcdTUzRDZcdTZEODgiOiJcdTY3N0VcdTVGMDAgXHU1M0QxXHU5MDAxIik7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtc3RhdHVzIik7ZCYmKGQudGV4dENvbnRlbnQ9YT8iXHU2NzdFXHU1RjAwXHU2MjRCXHU2MzA3IFx1NTNENlx1NkQ4OCI6Ilx1NkI2M1x1NTcyOFx1ODA0Nlx1NTQyQ1x1MjAyNlx1NEUwQVx1NkVEMVx1NTNENlx1NkQ4OCIpfX19ZnVuY3Rpb24gd3goZSl7aWYoTnQucmVjb3JkaW5nKXtlJiZlLnByZXZlbnREZWZhdWx0KCksTnQucmVjb3JkaW5nPSExO3ZhciB0PSFOdC5jYW5jZWxpbmcmJiEhTnQudHJhbnNjcmlwdC50cmltKCksYT1OdC50cmFuc2NyaXB0O3h4KCksdCYmSE0oYSl9fWZ1bmN0aW9uIHpNKGUpe050LnJlY29yZGluZyYmKE50LmNhbmNlbGluZz0hMCx3eChlKSl9ZnVuY3Rpb24geHgoKXtOdC5jYW5jZWxpbmc9ITE7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtpZihlKXtlLmNsYXNzTGlzdC5yZW1vdmUoImlzLXJlY29yZGluZyIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpLGUuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlx1NjMwOVx1NEY0Rlx1OEJFRFx1OTdGM1x1OEY5M1x1NTE2NSIpO3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLnZvaWNlLXJlY29yZC1sYWJlbCIpO3QmJih0LnRleHRDb250ZW50PSJcdTYzMDlcdTRGNEYgXHU4QkY0XHU4QkREIil9dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7YSYmYS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX1mdW5jdGlvbiBITShlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtpZih0KXt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aWYoYSl7dmFyIGk9YS52YWx1ZXx8IiIsbz1pP2kucmVwbGFjZSgvXHMrJC8sIiIpKyIgIit0OnQ7YS52YWx1ZT1vLFFuKG8sITApLGxhKGEpO3RyeXthLnNldFNlbGVjdGlvblJhbmdlKG8ubGVuZ3RoLG8ubGVuZ3RoKX1jYXRjaHt9fX19ZnVuY3Rpb24gbGEoZSl7aWYoZSl7dmFyIHQ9MzYsYT1wYXJzZUZsb2F0KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpLm1heEhlaWdodHx8IiIpLGk9TnVtYmVyLmlzRmluaXRlKGEpP01hdGgubWF4KHQsYSk6MTIwLG89UGwoKTtpZighZS52YWx1ZXx8ZS52YWx1ZS50cmltKCk9PT0iIil7ZS5zdHlsZS5oZWlnaHQ9dCsicHgiLGUuc3R5bGUubWluSGVpZ2h0PXQrInB4IixlLnN0eWxlLm92ZXJmbG93WT1vPyJhdXRvIjoiaGlkZGVuIixlLnNjcm9sbFRvcD0wLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGFzLW11bHRpbGluZS1kcmFmdCIsImhhcy1jbGlwcGVkLWRyYWZ0IiksZS5jbG9zZXN0KCIuaW5wdXQtY29tcG9zZXIiKT8uY2xhc3NMaXN0LnJlbW92ZSgiaXMtZXhwYW5kZWQiKSxXZihlKTtyZXR1cm59dmFyIGM9ZS5zdHlsZS5vdmVyZmxvd1k7ZS5zdHlsZS5vdmVyZmxvd1k9ImhpZGRlbiIsZS5zdHlsZS5oZWlnaHQ9dCsicHgiO3ZhciBkPWUuc2Nyb2xsSGVpZ2h0LGY9TWF0aC5tYXgodCxNYXRoLm1pbihkLGkpKSxtPWQ+aSxoPWQ+dCsxO2Uuc3R5bGUuaGVpZ2h0PWYrInB4IixlLnN0eWxlLm1pbkhlaWdodD10KyJweCIsZS5zdHlsZS5vdmVyZmxvd1k9bXx8bz8iYXV0byI6ImhpZGRlbiIsZS5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtbXVsdGlsaW5lLWRyYWZ0IixoKSxlLmNsYXNzTGlzdC50b2dnbGUoImhhcy1jbGlwcGVkLWRyYWZ0IixtKSxlLmNsb3Nlc3QoIi5pbnB1dC1jb21wb3NlciIpPy5jbGFzc0xpc3QudG9nZ2xlKCJpcy1leHBhbmRlZCIsaCksbT9PZihlKTplLnNjcm9sbFRvcD0wLFdmKGUpfX1mdW5jdGlvbiBxTSgpe2lmKCFzLnNlbGVjdGVkSWQpcmV0dXJuITE7dmFyIGU9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09cy5zZWxlY3RlZElkfSk7cmV0dXJuIHV0KGUpPyEhKGUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCk6ISFlJiZlLnN0YXR1cz09PSJydW5uaW5nIn12YXIgSWw9ITE7ZnVuY3Rpb24gRXgoZSl7cmV0dXJuIWV8fGUuYXJjaGl2ZWQ/ITE6dXQoZSk/ISEoZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KTplLnN0YXR1cz09PSJydW5uaW5nIn1mdW5jdGlvbiB6aCgpe3JldHVybiBzLnNlc3Npb25zLnNvbWUoRXgpfWZ1bmN0aW9uIFBNKCl7dmFyIGU9cy5zZXNzaW9ucy5maWx0ZXIoRXgpO2lmKGUubGVuZ3RoPT09MClyZXR1cm4gbnVsbDtpZihzLnNlbGVjdGVkSWQpe3ZhciB0PWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PXMuc2VsZWN0ZWRJZH0pO2lmKHQpcmV0dXJuIHR9cmV0dXJuIGUuc29ydChmdW5jdGlvbihhLGkpe3JldHVybihEYXRlLnBhcnNlKGkuc3RhcnRlZEF0KXx8MCktKERhdGUucGFyc2UoYS5zdGFydGVkQXQpfHwwKX0pLGVbMF19ZnVuY3Rpb24gRngoZSl7aWYoIWUpcmV0dXJuIiI7Zm9yKHZhciB0PUFycmF5LmlzQXJyYXkoZS5xdWV1ZWRNZXNzYWdlcyk/ZS5xdWV1ZWRNZXNzYWdlczpbXSxhPXQubGVuZ3RoLTE7YT49MDthLS0pe3ZhciBpPXR5cGVvZiB0W2FdPT0ic3RyaW5nIj90W2FdLnRyaW0oKToiIjtpZihpKXJldHVybiBpfWZvcih2YXIgbz1BcnJheS5pc0FycmF5KGUubWVzc2FnZXMpP2UubWVzc2FnZXM6W10sYz1vLmxlbmd0aC0xO2M+PTA7Yy0tKXt2YXIgZD1vW2NdO2lmKCEoIWR8fGQucm9sZSE9PSJ1c2VyInx8IUFycmF5LmlzQXJyYXkoZC5jb250ZW50KSkpe3ZhciBmPWQuY29udGVudC5maWx0ZXIoZnVuY3Rpb24oZyl7cmV0dXJuIGcmJmcudHlwZT09PSJ0ZXh0IiYmdHlwZW9mIGcudGV4dD09InN0cmluZyJ9KS5tYXAoZnVuY3Rpb24oZyl7cmV0dXJuIGcudGV4dH0pO2lmKGYubGVuZ3RoKXJldHVybiBmLmpvaW4oYApgKS50cmltKCk7Zm9yKHZhciBtPTA7bTxkLmNvbnRlbnQubGVuZ3RoO20rKyl7dmFyIGg9ZC5jb250ZW50W21dO2lmKGgmJmgudHlwZT09PSJ0b29sX3Jlc3VsdCImJnR5cGVvZiBoLmNvbnRlbnQ9PSJzdHJpbmciKXJldHVybiBoLmNvbnRlbnQudHJpbSgpfXJldHVybiIifX1yZXR1cm4iIn1mdW5jdGlvbiBVTShlLHQpe3ZhciBhPXR5cGVvZiB0PT0ic3RyaW5nIj90LnRyaW0oKToiIjtpZihhJiZGeChlKT09PWEpcmV0dXJuIGhlKCJcdTRFMEVcdTRFMEFcdTRFMDBcdTY3NjFcdTZEODhcdTYwNkZcdTc2RjhcdTU0MENcdUZGMENcdTVERjJcdTVGRkRcdTc1NjVcdUZGMENcdTRFMERcdTRGMUFcdTUyQTBcdTUxNjVcdTYzOTJcdTk2MUZcdTMwMDIiLCJ3YXJuaW5nIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGk9dHlwZW9mIGNyeXB0bzwidSImJmNyeXB0by5yYW5kb21VVUlEP2NyeXB0by5yYW5kb21VVUlEKCk6RGF0ZS5ub3coKS50b1N0cmluZygzNikrIi0iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsMTApLG89QXJyYXkuaXNBcnJheShlLnF1ZXVlZE1lc3NhZ2VzKT9lLnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W10sYz1vLnNsaWNlKCk7Yy5wdXNoKHQpLGF0KHtpZDplLmlkLHF1ZXVlZE1lc3NhZ2VzOmN9KSxlLmlkPT09cy5zZWxlY3RlZElkJiZXbigpO3ZhciBkPWUudGl0bGV8fG5zKGUuY29tbWFuZCl8fCJcdTVGNTNcdTUyNERcdTRGMUFcdThCREQiO3JldHVybiBoZSgiXHU1REYyXHU1MkEwXHU1MTY1XHUzMDBDIitkKyJcdTMwMERcdTc2ODRcdTYzOTJcdTk2MUZcdUZGMENcdTU2REVcdTU5MERcdTdFRDNcdTY3NUZcdTU0MEVcdTgxRUFcdTUyQThcdTUzRDFcdTkwMDFcdUZGMDhcdTU0MkJcdTRFMEFcdTRFMEJcdTY1ODdcdUZGMDlcdTMwMDIiLCJpbmZvIiksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK2UuaWQrIi9tZXNzYWdlcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OnQsaWRlbXBvdGVuY3lLZXk6aSwuLi55cihlKT97c2tpbGxzOldsKGUpfTp7fX0pfSkudGhlbihmdW5jdGlvbihmKXtyZXR1cm4gZi5vaz9mLmpzb24oKTpmLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybntlcnJvcjoiXHU4QkY3XHU2QzQyXHU1OTMxXHU4RDI1In19KS50aGVuKGZ1bmN0aW9uKG0pe3Rocm93IG5ldyBFcnJvcihtJiZtLmVycm9yfHwiXHU2NUUwXHU2Q0Q1XHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHUzMDAyIil9KX0pLnRoZW4oZnVuY3Rpb24oZil7ZiYmZi5pZCYmKGF0KGYpLGYuaWQ9PT1zLnNlbGVjdGVkSWQmJlduKCkpfSkuY2F0Y2goZnVuY3Rpb24oZil7YXQoe2lkOmUuaWQscXVldWVkTWVzc2FnZXM6b30pLGUuaWQ9PT1zLnNlbGVjdGVkSWQmJlduKCksaGUoZiYmZi5tZXNzYWdlfHwiXHU2MzkyXHU5NjFGXHU1OTMxXHU4RDI1XHVGRjBDXHU4QkY3XHU5MUNEXHU4QkQ1XHUzMDAyIiwiZXJyb3IiKX0pfWZ1bmN0aW9uIEN4KGUpe3ZhciB0PVBNKCk7aWYodCYmdXQodCkpe1VNKHQsZSk7cmV0dXJufWlmKHMuY3Jvc3NTZXNzaW9uUXVldWUubGVuZ3RoPj0xMCl7aGUoIlx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1NURGMlx1NkVFMVx1RkYwOFx1NjcwMFx1NTkxQSAxMCBcdTY3NjFcdUZGMDlcdUZGMENcdThCRjdcdTdCNDlcdTVGODVcdTVGNTNcdTUyNERcdTRGMUFcdThCRERcdTVCOENcdTYyMTBcdTMwMDIiLCJ3YXJuaW5nIik7cmV0dXJufXZhciBhPSJjc3EtIitEYXRlLm5vdygpKyItIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLDgpO3MuY3Jvc3NTZXNzaW9uUXVldWUucHVzaCh7aWQ6YSx0ZXh0OmUsY3dkOnFyKCksbW9kZTpzLmNoYXRNb2RlfHwibWFuYWdlZCIsdG9vbDplcigpLHF1ZXVlZEF0OkRhdGUubm93KCl9KSxBcigpLEphKCksaGUoIlx1NURGMlx1NjM5Mlx1OTYxRlx1RkYwQ1x1NUMwNlx1NTcyOFx1N0E3QVx1OTVGMlx1NTQwRVx1ODFFQVx1NTJBOFx1NUYwMFx1NTlDQlx1NjVCMFx1NEYxQVx1OEJERFx1MzAwMiIsImluZm8iKX1mdW5jdGlvbiBWTShlKXtJbHx8KElsPSEwLGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShWaSh7Y29tbWFuZDplLnRvb2wsY3dkOmUuY3dkLG1vZGU6ZS5tb2RlLGluaXRpYWxJbnB1dDplLnRleHR9KSl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIElsPSExLHQuZXJyb3I/KGhlKHQuZXJyb3IsImVycm9yIikscy5jcm9zc1Nlc3Npb25RdWV1ZS51bnNoaWZ0KGUpLEFyKCksSmEoKSxudWxsKTpUZih0KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe0lsPSExLGhlKHQmJnQubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1NjM5Mlx1OTYxRlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIikscy5jcm9zc1Nlc3Npb25RdWV1ZS51bnNoaWZ0KGUpLEFyKCksSmEoKX0pKX1mdW5jdGlvbiBHTShlKXt2YXIgdD1zLmNyb3NzU2Vzc2lvblF1ZXVlLmZpbmRJbmRleChmdW5jdGlvbihpKXtyZXR1cm4gaS5pZD09PWV9KTtpZighKHQ8MCkpe3ZhciBhPXMuY3Jvc3NTZXNzaW9uUXVldWUuc3BsaWNlKHQsMSlbMF07QXIoKSxKYSgpLGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShWaSh7Y29tbWFuZDphLnRvb2wsY3dkOmEuY3dkLG1vZGU6YS5tb2RlLGluaXRpYWxJbnB1dDphLnRleHR9KSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuZXJyb3I/KGhlKGkuZXJyb3IsImVycm9yIikscy5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwwLGEpLEFyKCksSmEoKSxudWxsKTpUZihpKX0pLmNhdGNoKGZ1bmN0aW9uKGkpe2hlKGkmJmkubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1NjM5Mlx1OTYxRlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIikscy5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwwLGEpLEFyKCksSmEoKX0pfX1mdW5jdGlvbiBZTShlKXt2YXIgdD1zLmNyb3NzU2Vzc2lvblF1ZXVlLmZpbmRJbmRleChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PWV9KTt0PDB8fChzLmNyb3NzU2Vzc2lvblF1ZXVlLnNwbGljZSh0LDEpLEFyKCksSmEoKSxzLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTAmJmhlKCJcdTYzOTJcdTk2MUZcdTVERjJcdTZFMDVcdTdBN0FcdTMwMDIiLCJpbmZvIikpfWZ1bmN0aW9uIEZmKCl7aWYocy5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGghPT0wJiYhemgoKSYmIUlsKXt2YXIgZT1zLmNyb3NzU2Vzc2lvblF1ZXVlLnNoaWZ0KCk7SmEoKSxWTShlKX19ZnVuY3Rpb24gRHgoZSl7dmFyIHQ9TWF0aC5mbG9vcigoRGF0ZS5ub3coKS1lKS8xZTMpO2lmKHQ8NjApcmV0dXJuIHQrInMiO3ZhciBhPU1hdGguZmxvb3IodC82MCk7cmV0dXJuIGE8NjA/YSsibSI6TWF0aC5mbG9vcihhLzYwKSsiaCJ9ZnVuY3Rpb24gSmEoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY3Jvc3Mtc2Vzc2lvbi1xdWV1ZSIpLHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIiksYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3RydWN0dXJlZC1zdGF0dXMtYmFyIiksaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjcm9zcy1zZXNzaW9uLXF1ZXVlLWhvc3QiKTtpZihzLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTApe2UmJmUucmVtb3ZlKCksQXIoKTtyZXR1cm59dmFyIGM9dCYmIXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSxkPWM/dDpvLGY9Yz9hfHxpOm51bGw7aWYoZCl7ZSYmZS5wYXJlbnROb2RlIT09ZCYmKGUucmVtb3ZlKCksZT1udWxsKSxlP2MmJmYmJmUubmV4dFNpYmxpbmchPT1mJiZkLmluc2VydEJlZm9yZShlLGYpOihlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuY2xhc3NOYW1lPSJjcm9zcy1zZXNzaW9uLXF1ZXVlIixmP2QuaW5zZXJ0QmVmb3JlKGUsZik6ZC5hcHBlbmRDaGlsZChlKSk7dmFyIG09cy5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGgsaD1zLmNyb3NzU2Vzc2lvblF1ZXVlLm1hcChmdW5jdGlvbihiLHkpe3ZhciBDPWIudGV4dC5sZW5ndGg+NjA/Yi50ZXh0LnNsaWNlKDAsNjApKyJcdTIwMjYiOmIudGV4dCx3PUR4KGIucXVldWVkQXQpO3JldHVybic8ZGl2IGNsYXNzPSJxdWV1ZS1pdGVtIiBkYXRhLXF1ZXVlLWlkPSInK0woYi5pZCkrJyI+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tZG90Ij48L3NwYW4+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tdGV4dCIgdGl0bGU9IicrTChiLnRleHQpKyciPicrTChDKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxdWV1ZS1pdGVtLWFnZSI+Jyt3Kyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1zZW5kLW5vdyIgZGF0YS1xdWV1ZS1pZD0iJytMKGIuaWQpKyciIHRpdGxlPSJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDEiIHR5cGU9ImJ1dHRvbiI+XHU1M0QxXHU5MDAxPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1jYW5jZWwiIGRhdGEtcXVldWUtaWQ9IicrTChiLmlkKSsnIiB0aXRsZT0iXHU1M0Q2XHU2RDg4IiB0eXBlPSJidXR0b24iPlx4RDc8L2J1dHRvbj48L2Rpdj4nfSkuam9pbigiIiksZz1tPjE/JzxkaXYgY2xhc3M9InF1ZXVlLWhlYWRlciI+PHNwYW4gY2xhc3M9InF1ZXVlLWhlYWRlci1sYWJlbCI+XHU2MzkyXHU5NjFGICcrbSsnIFx1Njc2MTwvc3Bhbj48YnV0dG9uIGNsYXNzPSJxdWV1ZS1oZWFkZXItY2xlYXIiIGlkPSJxdWV1ZS1jbGVhci1hbGwiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NkUwNVx1N0E3QVx1NjM5Mlx1OTYxRiI+XHU2RTA1XHU3QTdBPC9idXR0b24+PC9kaXY+JzoiIjtlLmlubmVySFRNTD1nK2h9fXNldEludGVydmFsKGZ1bmN0aW9uKCl7aWYocy5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnF1ZXVlLWl0ZW0tYWdlIik7cy5jcm9zc1Nlc3Npb25RdWV1ZS5mb3JFYWNoKGZ1bmN0aW9uKHQsYSl7ZVthXSYmKGVbYV0udGV4dENvbnRlbnQ9RHgodC5xdWV1ZWRBdCkpfSksRmYoKX19LDVlMyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHQuY2xvc2VzdCgiI3F1ZXVlLWNsZWFyLWFsbCIpKXtlLnByZXZlbnREZWZhdWx0KCkscy5jcm9zc1Nlc3Npb25RdWV1ZT1bXSxBcigpLEphKCksaGUoIlx1NjM5Mlx1OTYxRlx1NURGMlx1NkUwNVx1N0E3QVx1MzAwMiIsImluZm8iKTtyZXR1cm59dmFyIGE9dC5jbG9zZXN0KCIucXVldWUtaXRlbS1zZW5kLW5vdyIpO2lmKGEpe2UucHJldmVudERlZmF1bHQoKSxHTShhLmRhdGFzZXQucXVldWVJZCk7cmV0dXJufXZhciBpPXQuY2xvc2VzdCgiLnF1ZXVlLWl0ZW0tY2FuY2VsIik7aWYoaSl7ZS5wcmV2ZW50RGVmYXVsdCgpLFlNKGkuZGF0YXNldC5xdWV1ZUlkKTtyZXR1cm59fSk7ZnVuY3Rpb24gQXgoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS1pbnB1dCIpLHQ9ZT9lLnZhbHVlLnRyaW0oKToiIjtpZih0KXtpZih6aCgpKXtlLnZhbHVlPSIiLEN4KHQpO3JldHVybn12YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpO2EmJmEuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS52YWx1ZT0iIixlLnBsYWNlaG9sZGVyPSJcdTZCNjNcdTU3MjhcdTU0MkZcdTUyQThcdTIwMjYiLGUuZGlzYWJsZWQ9ITA7dmFyIGk9cy5jaGF0TW9kZXx8Im1hbmFnZWQiLG89cXIoKSxjPWVyKCk7ZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KFZpKHtjb21tYW5kOmMscHJvdmlkZXI6Yyxjd2Q6byxtb2RlOmksaW5pdGlhbElucHV0OnR9KSl9KS50aGVuKGZ1bmN0aW9uKGQpe3JldHVybiBkLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZCl7aWYoZC5lcnJvcil7aGUoZC5lcnJvciwiZXJyb3IiKSxlLnBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTZEODhcdTYwNkYiLGUuZGlzYWJsZWQ9ITE7cmV0dXJufXMuc2VsZWN0ZWRJZD1kLmlkLEd0KCkscy5kcmFmdHNbZC5pZF09IiIsU2EoKSxhdChkKSxEdCgpLExsKGQuaWQpLEt1KGQuaWQpLFBpKGQuaWQpLnRoZW4oZnVuY3Rpb24oKXtlLnBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTZEODhcdTYwNkYiLGUuZGlzYWJsZWQ9ITEsYnIoITApfSl9KS5jYXRjaChmdW5jdGlvbihkKXtoZShkJiZkLm1lc3NhZ2V8fChjPT09ImNvZGV4Ij8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IENvZGV4IFx1NEYxQVx1OEJERFx1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHUzMDAyIiksImVycm9yIiksZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIFdNKGUpe2U9ZXx8e307dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtaW5wdXQiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxpPXQmJnQudmFsdWUudHJpbSgpP3QudmFsdWUudHJpbSgpOmE/YS52YWx1ZS50cmltKCk6IiI7aWYocy5zZWxlY3RlZElkKXtpJiZTeChlKTtyZXR1cm59aWYoaSYmemgoKSl7YSYmKGEudmFsdWU9IiIpLHQmJih0LnZhbHVlPSIiKSxXZihhKSxDeChpKTtyZXR1cm59dmFyIG89cy5jaGF0TW9kZXx8Im1hbmFnZWQiLGM9cXIoKSxkPWVyKCk7ZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KFZpKHtjb21tYW5kOmQscHJvdmlkZXI6ZCxjd2Q6Yyxtb2RlOm8saW5pdGlhbElucHV0Oml8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24oZil7cmV0dXJuIGYuanNvbigpfSkudGhlbihmdW5jdGlvbihmKXtyZXR1cm4gZi5lcnJvcj8oaGUoZi5lcnJvciwiZXJyb3IiKSxudWxsKToocy5zZWxlY3RlZElkPWYuaWQsR3QoKSxzLmRyYWZ0c1tmLmlkXT0iIixTYSgpLGEmJihhLnZhbHVlPSIiKSx0JiYodC52YWx1ZT0iIiksYXQoZiksRHQoKSxMbChmLmlkKSxLdShmLmlkKSxQaShmLmlkKSl9KS5jYXRjaChmdW5jdGlvbihmKXtoZShmJiZmLm1lc3NhZ2V8fChkPT09ImNvZGV4Ij8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IENvZGV4IFx1NEYxQVx1OEJERFx1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHUzMDAyIiksImVycm9yIil9KX1mdW5jdGlvbiBMbChlKXt2YXIgdD1DdCgpLGE9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKEMpe3JldHVybiBDLmlkPT09ZX0pLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIiksZj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtdGl0bGUiKSxtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC1pbmZvIiksaD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdW1tYXJ5LXZhbHVlIiksZz11dChhKTshdCYmaSYmaS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSwhdCYmbyYmby5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLGcpLCF0JiZjJiZjLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGc/cy5jdXJyZW50Vmlldz0iY2hhdCI6cy5jdXJyZW50Vmlldz0idGVybWluYWwiO3ZhciBiPWE/bnMoYS5jb21tYW5kKToiV2FuZCIseT1hP3dsKGEpOiJcdTVGMDBcdTU5Q0JcdTVCRjlcdThCREQiO2YmJihmLnRleHRDb250ZW50PWIpLG0mJihtLnRleHRDb250ZW50PXkpLGgmJihoLnRleHRDb250ZW50PWIpLGd8fHMudGVybWluYWx8fEpvKCksYjAoKSxicighMCksZ3x8em4oInZpZXctc3dpdGNoIix7Zm9yY2VSZXBsYXk6ITB9KSxDYSgic2Vzc2lvbjp2aWV3Iil9ZnVuY3Rpb24gU3goZSl7ZT1lfHx7fTt2YXIgdD0hIWUuaW50ZXJydXB0LGE9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCIpO2lmKHMudGVybWluYWxJbnRlcmFjdGl2ZSYmIWEpcmV0dXJuIGhlKCJcdTdFQzhcdTdBRUZcdTRFQTRcdTRFOTJcdTZBMjFcdTVGMEZcdTVGMDBcdTU0MkZcdTY1RjZcdUZGMENcdThCRjdcdTc2RjRcdTYzQTVcdTU3MjhcdTdFQzhcdTdBRUZcdTRFMkRcdThGOTNcdTUxNjVcdTMwMDIiLCJpbmZvIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLG89aT9pLnZhbHVlOiIiLGM9SWkoKSxkPXMucGVuZGluZ0F0dGFjaG1lbnRzLmxlbmd0aD4wO2lmKG98fGQpe3ZhciBmPWQmJnMuc2VsZWN0ZWRJZD9KTihzLnNlbGVjdGVkSWQpLmNhdGNoKGZ1bmN0aW9uKG0pe2hlKCJcdTk2NDRcdTRFRjZcdTRFMEFcdTRGMjBcdTU5MzFcdThEMjU6ICIrKG0mJm0ubWVzc2FnZXx8bSksImVycm9yIik7dmFyIGg9bSBpbnN0YW5jZW9mIEVycm9yP206bmV3IEVycm9yKFN0cmluZyhtKSk7dGhyb3cgaC5fX3dhbmRUb2FzdGVkPSEwLGh9KTpQcm9taXNlLnJlc29sdmUoW10pO3JldHVybiBmLnRoZW4oZnVuY3Rpb24obSl7dmFyIGg9ZVIobSksZz1oKyhvfHwobS5sZW5ndGg/Ilx1OEJGN1x1NjdFNVx1NzcwQlx1OTY0NFx1NEVGNlx1MzAwMiI6IiIpKTttLmxlbmd0aCYmWk4oKTt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpO2lmKGImJmIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksdXQoYykpcmV0dXJuIEtNKGcsaSxjLHtpbnRlcnJ1cHQ6dH0pO3ZhciB5PWNPKGMsZyksQz0hcy53c0Nvbm5lY3RlZDtyZXR1cm4gQz8odk8oeSksaSYmKGkudmFsdWU9IiIsbGEoaSkpLFFuKCIiKSxQcm9taXNlLnJlc29sdmUoKSk6bE8oYykudGhlbihmdW5jdGlvbih3KXtpZighdylyZXR1cm4gbnVsbDt2YXIgeD1zLmN1cnJlbnRWaWV3O2lmKHcmJncucHJvdmlkZXI9PT0iY29kZXgiJiZzLnNlbGVjdGVkSWQhPT13LmlkKXRocm93IG5ldyBFcnJvcigiQ29kZXggc2Vzc2lvbiBjaGFuZ2VkIGJlZm9yZSBpbnB1dCBzZW5kLiIpO3JldHVybiBXNSgpLGRPKHksImVudGVyX3RleHQiLDMwLHgpLnRoZW4oZnVuY3Rpb24oKXtpJiZpLnZhbHVlPT09byYmKGkudmFsdWU9IiIsbGEoaSkpLFFuKCIiKX0pfSkuY2F0Y2goZnVuY3Rpb24odyl7dGhyb3cgaGUoTXgodyksImVycm9yIiksdyYmKHcuX193YW5kVG9hc3RlZD0hMCksd30pfSkuY2F0Y2goZnVuY3Rpb24obSl7dGhyb3cgbSYmbS5fX3dhbmRUb2FzdGVkfHxoZShNeChtKSwiZXJyb3IiKSxtfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfXZhciBCeD17fSxreD0zNTA7ZnVuY3Rpb24gS00oZSx0LGEsaSl7aT1pfHx7fTt2YXIgbz0hIWkuaW50ZXJydXB0O2lmKCFzLnNlbGVjdGVkSWR8fCFlKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTtpZighYSlyZXR1cm4gaGUoIlx1NEYxQVx1OEJERFx1NEUwRFx1NUI1OFx1NTcyOFx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1OTAwOVx1NjJFOVx1NjIxNlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGM9ISEoYS5zdHJ1Y3R1cmVkU3RhdGUmJmEuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZhLnN0YXR1cz09PSJydW5uaW5nIik7aWYoYyYmIW8mJkZ4KGEpPT09ZS50cmltKCkpcmV0dXJuIHQmJih0LnZhbHVlPSIiLGxhKHQpKSxRbigiIiksaGUoIlx1NEUwRVx1NEUwQVx1NEUwMFx1Njc2MVx1NkQ4OFx1NjA2Rlx1NzZGOFx1NTQwQ1x1RkYwQ1x1NURGMlx1NUZGRFx1NzU2NVx1RkYwQ1x1NEUwRFx1NEYxQVx1NTJBMFx1NTE2NVx1NjM5Mlx1OTYxRlx1MzAwMiIsIndhcm5pbmciKSxVdSgiRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgU2hpZnQrRW50ZXIgXHU2MzYyXHU4ODRDIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGQ9RGF0ZS5ub3coKSxmPUJ4W2EuaWRdfHwwO2lmKGQtZjxreClyZXR1cm4gY29uc29sZS5sb2coIlt3YW5kXSBwb3N0U3RydWN0dXJlZElucHV0OiBkdXBsaWNhdGUgc3VibWl0ICh3aXRoaW4gIitreCsibXMpIGlnbm9yZWQgZm9yIHNlc3Npb24iLGEuaWQpLFByb21pc2UucmVzb2x2ZSgpO0J4W2EuaWRdPWQ7dmFyIG09YyYmbyxoPWMmJiFvLGc9WHMoQXJyYXkuaXNBcnJheShhLm1lc3NhZ2VzKT9hLm1lc3NhZ2VzLnNsaWNlKCk6W10pLGI7aWYoaCl7dmFyIHk9QXJyYXkuaXNBcnJheShhLnF1ZXVlZE1lc3NhZ2VzKT9hLnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W107eS5wdXNoKGUpLGI9e2lkOmEuaWQscXVldWVkTWVzc2FnZXM6eX0sYXQoYik7dmFyIEM9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKEQpe3JldHVybiBELmlkPT09YS5pZH0pfHxhO3MuY3VycmVudE1lc3NhZ2VzPU9uKEMsS24oQyxDLm91dHB1dCwhMSkpLFV1KCJcdTVERjJcdTUyQTBcdTUxNjVcdTYzOTJcdTk2MUZcdTIwMjYiKSxwbighMCksUmkoKSxoZSh5Lmxlbmd0aD4xPyJcdTVERjJcdTUyQTBcdTUxNjVcdTYzOTJcdTk2MUZcdUZGMDhcdTUxNzEgIit5Lmxlbmd0aCsiIFx1Njc2MVx1N0I0OVx1NUY4NVx1RkYwOSI6Ilx1NURGMlx1NTJBMFx1NTE2NVx1NjM5Mlx1OTYxRlx1RkYwQ1x1N0I0OVx1NUY1M1x1NTI0RFx1NTZERVx1NTkwRFx1NUI4Q1x1NjIxMFx1NEYxQVx1ODFFQVx1NTJBOFx1NTNEMVx1OTAwMVx1MzAwMiIsImluZm8iKX1lbHNle3ZhciB3PXtyb2xlOiJ1c2VyIixjb250ZW50Olt7dHlwZToidGV4dCIsdGV4dDplfV19O2cucHVzaCh3KTt2YXIgeD1PYmplY3QuYXNzaWduKHt9LGEuc3RydWN0dXJlZFN0YXRlfHx7fSx7aW5GbGlnaHQ6ITB9KTthdCh7aWQ6YS5pZCxzdGF0dXM6InJ1bm5pbmciLG1lc3NhZ2VzOmcsc3RydWN0dXJlZFN0YXRlOnh9KSxzLmN1cnJlbnRNZXNzYWdlcz1PbihPYmplY3QuYXNzaWduKHt9LGEse3N0YXR1czoicnVubmluZyIsbWVzc2FnZXM6ZyxzdHJ1Y3R1cmVkU3RhdGU6eH0pLGcpLFV1KG0/Ilx1NURGMlx1NEUyRFx1NjVBRFx1RkYwQ1x1NkI2M1x1NTcyOFx1NTkwNFx1NzQwNlx1NjVCMFx1NkQ4OFx1NjA2Rlx1MjAyNiI6Ilx1NjAxRFx1ODAwM1x1NEUyRFx1MjAyNiIpLFc1KCkscG4oITApLG0mJmhlKCJcdTVERjJcdTRFMkRcdTY1QURcdTRFMEFcdTRFMDBcdTY3NjFcdTU2REVcdTU5MERcdUZGMENcdTZCNjNcdTU3MjhcdTU5MDRcdTc0MDZcdTY1QjBcdTZEODhcdTYwNkZcdTIwMjYiLCJpbmZvIil9dCYmKHQudmFsdWU9IiIsbGEodCkpLFFuKCIiKTt2YXIgRj1zLnF1ZXVlRXBvY2gsQT10eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnJhbmRvbVVVSUQ/Y3J5cHRvLnJhbmRvbVVVSUQoKTpEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSsiLSIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCk7cmV0dXJuIGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIithLmlkKyIvbWVzc2FnZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtpbnB1dDplLGludGVycnVwdDptfHx2b2lkIDAsaWRlbXBvdGVuY3lLZXk6QSwuLi55cihhKT97c2tpbGxzOldsKGEpfTp7fX0pfSkudGhlbihmdW5jdGlvbihEKXtyZXR1cm4gRC5vaz9ELmpzb24oKTpELmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybntlcnJvcjoiXHU4QkY3XHU2QzQyXHU1OTMxXHU4RDI1In19KS50aGVuKGZ1bmN0aW9uKEIpe3ZhciBUPW5ldyBFcnJvcihCJiZCLmVycm9yfHwiXHU2NUUwXHU2Q0Q1XHU1M0QxXHU5MDAxXHU3RUQzXHU2Nzg0XHU1MzE2XHU2RDg4XHU2MDZGXHUzMDAyIik7dGhyb3cgVC5lcnJvckNvZGU9QiYmQi5lcnJvckNvZGUsVC5odHRwU3RhdHVzPUQuc3RhdHVzLFR9KX0pLnRoZW4oZnVuY3Rpb24oRCl7aWYoRCYmRC5lcnJvcil0aHJvdyBuZXcgRXJyb3IoRC5lcnJvcik7aWYoRCYmRC5pZCYmKHMucXVldWVFcG9jaD5GJiZELnF1ZXVlZE1lc3NhZ2VzJiZkZWxldGUgRC5xdWV1ZWRNZXNzYWdlcyxhdChEKSxELmlkPT09cy5zZWxlY3RlZElkKSl7dmFyIEI9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFQpe3JldHVybiBULmlkPT09RC5pZH0pfHxEO3MuY3VycmVudE1lc3NhZ2VzPU9uKEIsS24oQixELm91dHB1dCwhMSkpLHBuKCEwKSxSaSgpfX0pLmNhdGNoKGZ1bmN0aW9uKEQpe2lmKEQmJkQuZXJyb3JDb2RlPT09ImR1cGxpY2F0ZV9pZGVtcG90ZW5jeV9rZXkiKXtoZShELm1lc3NhZ2V8fCJcdTY4QzBcdTZENEJcdTUyMzBcdTkxQ0RcdTU5MERcdTUzRDFcdTkwMDFcdUZGMENcdTVERjJcdTYyRTZcdTYyMkFcdTMwMDIiLCJ3YXJuaW5nIiksVXUoIkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IFNoaWZ0K0VudGVyIFx1NjM2Mlx1ODg0QyIpO3JldHVybn1pZihoKXt2YXIgQj1BcnJheS5pc0FycmF5KGEucXVldWVkTWVzc2FnZXMpP2EucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZihhdCh7aWQ6YS5pZCxxdWV1ZWRNZXNzYWdlczpCfSksYS5pZD09PXMuc2VsZWN0ZWRJZCl7dmFyIFQ9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKE8pe3JldHVybiBPLmlkPT09YS5pZH0pfHxhO3MuY3VycmVudE1lc3NhZ2VzPU9uKFQsS24oVCxULm91dHB1dCwhMSkpLHBuKCEwKSxSaSgpfX1lbHNle3ZhciBrPWcuc2xpY2UoMCwtMSk7YXQoe2lkOmEuaWQsc3RhdHVzOmEuc3RhdHVzLG1lc3NhZ2VzOmssc3RydWN0dXJlZFN0YXRlOk9iamVjdC5hc3NpZ24oe30sYS5zdHJ1Y3R1cmVkU3RhdGV8fHt9LHtpbkZsaWdodDohMX0pfSksYS5pZD09PXMuc2VsZWN0ZWRJZCYmKHMuY3VycmVudE1lc3NhZ2VzPU9uKE9iamVjdC5hc3NpZ24oe30sYSx7bWVzc2FnZXM6ayxzdHJ1Y3R1cmVkU3RhdGU6T2JqZWN0LmFzc2lnbih7fSxhLnN0cnVjdHVyZWRTdGF0ZXx8e30se2luRmxpZ2h0OiExfSl9KSxrKSxwbighMCkpfXZhciBNPUQmJkQubWVzc2FnZXx8IiIsej1NPT09IkZhaWxlZCB0byBmZXRjaCJ8fE09PT0iTmV0d29ya0Vycm9yIHdoZW4gYXR0ZW1wdGluZyB0byBmZXRjaCByZXNvdXJjZS4ifHxNPT09IkxvYWQgZmFpbGVkInx8L2Fib3J0ZWR8YWJvcnRlcnJvcnxuZXR3b3JrZXJyb3J8ZmFpbGVkIHRvIGZldGNoL2kudGVzdChNKTt6fHxoZShEJiZELm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTUzRDFcdTkwMDFcdTdFRDNcdTY3ODRcdTUzMTZcdTZEODhcdTYwNkZcdTMwMDIiLCJlcnJvciIpLFV1KCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKX0pfWZ1bmN0aW9uIFV1KGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1oaW50Iik7dCYmKHQudGV4dENvbnRlbnQ9ZSl9ZnVuY3Rpb24gUmkoKXtXbigpfXZhciBRTT0xMCxUeD0yNjtmdW5jdGlvbiBYTShlKXtpZih0eXBlb2YgZSE9InN0cmluZyIpcmV0dXJuIiI7dmFyIHQ9ZS5yZXBsYWNlKC9ccysvZywiICIpLnRyaW0oKTtyZXR1cm4gdC5sZW5ndGg8PVR4P3Q6dC5zbGljZSgwLFR4KSsiXHUyMDI2In1mdW5jdGlvbiAkTSgpe3JldHVybiEhcy5xdWV1ZUJhckV4cGFuZGVkfWZ1bmN0aW9uIFpNKGUpe2lmKCEhcy5xdWV1ZUJhckV4cGFuZGVkIT0hIWUpe3MucXVldWVCYXJFeHBhbmRlZD0hIWU7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnF1ZXVlLWJhciIpO3QmJnQuY2xhc3NMaXN0LnRvZ2dsZSgiZXhwYW5kZWQiLCEhZSl9fWZ1bmN0aW9uIEpNKGUsdCxhKXt2YXIgaT1lLmxlbmd0aCxvPSJxdWV1ZS1iYXIiO2EmJihvKz0iIHF1ZXVlLWJhci1jYXBhY2l0eSIpLHQmJihvKz0iIHF1ZXVlLWJhci1pbmZsaWdodCIpO2Zvcih2YXIgYz10PyJcdTRFMkRcdTY1QURcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdUZGMENcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjEiOiJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjEiLGQ9IiIsZj0wO2Y8aTtmKyspe3ZhciBtPWVbZl09PW51bGw/IiI6U3RyaW5nKGVbZl0pLGg9WE0obSksZz1tKyJcdUZGMDhcdTYzMDlcdTRGNEZcdTUzRUZcdTYyRDZcdTUyQThcdThDMDNcdTVFOEZcdUZGMDkiO2QrPSc8bGkgY2xhc3M9InF1ZXVlLWJhci1pdGVtIiBkYXRhLWluZGV4PSInK2YrJyIgZGF0YS1hY3Rpb249ImRyYWciIHRpdGxlPSInK0woZykrJyI+PHNwYW4gY2xhc3M9InF1ZXVlLWJhci1pdGVtLWluZGV4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+JysoZisxKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS10ZXh0Ij4nK0woaCkrJzwvc3Bhbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InF1ZXVlLWJhci1pdGVtLXByb21vdGUiIGRhdGEtYWN0aW9uPSJwcm9tb3RlLWl0ZW0iIHRpdGxlPSInK0woYykrJyIgYXJpYS1sYWJlbD0iXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU3QjJDICcrKGYrMSkrJyBcdTY3NjEiPjxzdmcgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMyAyIEw0IDE0IEwxMSAxNCBMMTAgMjIgTDIwIDkgTDEzIDkgWiIvPjwvc3ZnPjwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icXVldWUtYmFyLWl0ZW0tZGVsZXRlIiBkYXRhLWFjdGlvbj0iZGVsZXRlIiBhcmlhLWxhYmVsPSJcdTUyMjBcdTk2NjRcdTdCMkMgJysoZisxKSsnIFx1Njc2MVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2RiIgdGl0bGU9Ilx1NTIyMFx1OTY2NCI+PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjYiIHkxPSIxOCIgeDI9IjE4IiB5Mj0iNiIvPjwvc3ZnPjwvYnV0dG9uPjwvbGk+J312YXIgYj0iIjtyZXR1cm4gaT49MiYmKGI9JzxkaXYgY2xhc3M9InF1ZXVlLWJhci1oZWFkIj48c3BhbiBjbGFzcz0icXVldWUtYmFyLWhlYWQtY291bnQiPicraSsnIFx1Njc2MVx1NjM5Mlx1OTYxRjwvc3Bhbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InF1ZXVlLWJhci1jbGVhci1hbGwiIGRhdGEtYWN0aW9uPSJjbGVhci1hbGwiIHRpdGxlPSJcdTZFMDVcdTdBN0FcdTUxNjhcdTkwRThcdTYzOTJcdTk2MUYiIGFyaWEtbGFiZWw9Ilx1NkUwNVx1N0E3QVx1NTE2OFx1OTBFOCAnK2krJyBcdTY3NjFcdTYzOTJcdTk2MUZcdTZEODhcdTYwNkYiPlx1NkUwNVx1N0E3QTwvYnV0dG9uPjwvZGl2PicpLCc8ZGl2IGNsYXNzPSInK28rJyIgZGF0YS1xdWV1ZS1iYXI9IjEiIHRpdGxlPSJcdTYzOTJcdTk2MUYgJytpKycgXHU2NzYxXHVGRjA4XHU2MzA5XHU0RjRGXHU2QzE0XHU2Q0UxXHU1M0VGXHU4QzAzXHU1RThGXHVGRjA5Ij4nK2IrJzxvbCBjbGFzcz0icXVldWUtYmFyLWxpc3QiIGRhdGEtcXVldWUtbGlzdD0iMSI+JytkKyI8L29sPjwvZGl2PiJ9ZnVuY3Rpb24gV24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVldWUtYmFyLWhvc3QiKTtpZihlKXt2YXIgdD1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaWQ9PT1zLnNlbGVjdGVkSWR9KSxhPXQmJnQuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCIsaT1hP2h2KHQpOltdO2lmKGk9QXJyYXkuaXNBcnJheShpKT9pOltdLCFhfHxpLmxlbmd0aD09PTApe2UuaGlkZGVuPSEwLGUuaW5uZXJIVE1MPSIiLHMucXVldWVCYXJFeHBhbmRlZD0hMTtyZXR1cm59aWYoIXMucXVldWVCYXJEcmFnKXtlLmhpZGRlbj0hMTt2YXIgbz0hISh0LnN0cnVjdHVyZWRTdGF0ZSYmdC5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQmJnQuc3RhdHVzPT09InJ1bm5pbmciKSxjPWkubGVuZ3RoPj1RTTtlLmlubmVySFRNTD1KTShpLG8sYyl9fX1mdW5jdGlvbiBDZihlLHQpe2F0KHtpZDplLmlkLHF1ZXVlZE1lc3NhZ2VzOnR9KTt2YXIgYT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaWQ9PT1lLmlkfSl8fGU7cy5jdXJyZW50TWVzc2FnZXM9T24oYSxLbihhLGEub3V0cHV0LCExKSkscG4oITApLFduKCl9ZnVuY3Rpb24gZU8oZSl7dmFyIHQ9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGQpe3JldHVybiBkLmlkPT09cy5zZWxlY3RlZElkfSk7aWYodCl7dmFyIGE9QXJyYXkuaXNBcnJheSh0LnF1ZXVlZE1lc3NhZ2VzKT90LnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W107aWYoIShlPDB8fGU+PWEubGVuZ3RoKSl7dmFyIGk9YS5zbGljZSgpLG89YS5zbGljZSgwLGUpLmNvbmNhdChhLnNsaWNlKGUrMSkpO2F0KHtpZDp0LmlkLHF1ZXVlZE1lc3NhZ2VzOm99KTt2YXIgYz1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaWQ9PT10LmlkfSl8fHQ7cy5jdXJyZW50TWVzc2FnZXM9T24oYyxLbihjLGMub3V0cHV0LCExKSkscG4oITApLFduKCksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK3QuaWQrIi9xdWV1ZWQvIitlLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZCl7aWYoIWQub2spcmV0dXJuIGQuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue319KS50aGVuKGZ1bmN0aW9uKGYpe3Rocm93IG5ldyBFcnJvcihmJiZmLmVycm9yfHwiXHU1MjIwXHU5NjY0XHU1OTMxXHU4RDI1Iil9KX0pLmNhdGNoKGZ1bmN0aW9uKGQpe0NmKHQsaSksaGUoZCYmZC5tZXNzYWdlfHwiXHU1MjIwXHU5NjY0XHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKX0pfX19ZnVuY3Rpb24gdE8oKXt2YXIgZT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaWQ9PT1zLnNlbGVjdGVkSWR9KTtpZihlKXt2YXIgdD1BcnJheS5pc0FycmF5KGUucXVldWVkTWVzc2FnZXMpP2UucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZih0Lmxlbmd0aCE9PTApe3MucXVldWVCYXJFeHBhbmRlZD0hMSxhdCh7aWQ6ZS5pZCxxdWV1ZWRNZXNzYWdlczpbXX0pO3ZhciBhPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5pZD09PWUuaWR9KXx8ZTtzLmN1cnJlbnRNZXNzYWdlcz1PbihhLEtuKGEsYS5vdXRwdXQsITEpKSxwbighMCksV24oKSxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrZS5pZCsiL3F1ZXVlZCIse21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtpZighaS5vaylyZXR1cm4gaS5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24obyl7dGhyb3cgbmV3IEVycm9yKG8mJm8uZXJyb3J8fCJcdTZFMDVcdTdBN0FcdTU5MzFcdThEMjUiKX0pO2hlKCJcdTVERjJcdTZFMDVcdTdBN0EgIit0Lmxlbmd0aCsiIFx1Njc2MVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1MzAwMiIsImluZm8iKX0pLmNhdGNoKGZ1bmN0aW9uKGkpe0NmKGUsdCksaGUoaSYmaS5tZXNzYWdlfHwiXHU2RTA1XHU3QTdBXHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKX0pfX19ZnVuY3Rpb24gbk8oZSl7aWYoIXMucXVldWVCYXJQcm9tb3Rpbmcpe3ZhciB0PXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihtKXtyZXR1cm4gbS5pZD09PXMuc2VsZWN0ZWRJZH0pO2lmKHQpe3ZhciBhPUFycmF5LmlzQXJyYXkodC5xdWV1ZWRNZXNzYWdlcyk/dC5xdWV1ZWRNZXNzYWdlcy5zbGljZSgpOltdO2lmKCEoZTwwfHxlPj1hLmxlbmd0aCkpe3ZhciBpPWFbZV0sbz1hLnNsaWNlKDAsZSkuY29uY2F0KGEuc2xpY2UoZSsxKSksYz1hLnNsaWNlKCksZD0hISh0LnN0cnVjdHVyZWRTdGF0ZSYmdC5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQmJnQuc3RhdHVzPT09InJ1bm5pbmciKTtzLnF1ZXVlQmFyUHJvbW90aW5nPSEwLG8ubGVuZ3RoPT09MCYmKHMucXVldWVCYXJFeHBhbmRlZD0hMSksYXQoe2lkOnQuaWQscXVldWVkTWVzc2FnZXM6b30pO3ZhciBmPXR5cGVvZiBjcnlwdG88InUiJiZjcnlwdG8ucmFuZG9tVVVJRD9jcnlwdG8ucmFuZG9tVVVJRCgpOkRhdGUubm93KCkudG9TdHJpbmcoMzYpKyItIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLDEwKTtoZShkPyJcdTVERjJcdThCRjdcdTZDNDJcdTRFMkRcdTY1QURcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdUZGMENcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjFcdTMwMDIiOiJcdTVERjJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjFcdTZEODhcdTYwNkZcdTMwMDIiLCJpbmZvIiksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK3QuaWQrIi9xdWV1ZWQvIitlKyIvcHJvbW90ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2V4cGVjdGVkVGV4dDppLGlkZW1wb3RlbmN5S2V5OmZ9KX0pLnRoZW4oZnVuY3Rpb24obSl7cmV0dXJuIG0ub2s/bS5qc29uKCk6bS5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oaCl7dGhyb3cgbmV3IEVycm9yKGgmJmguZXJyb3J8fCJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdTU5MzFcdThEMjUiKX0pfSkudGhlbihmdW5jdGlvbihtKXtpZihtJiZtLmlkJiYoYXQobSksbS5pZD09PXMuc2VsZWN0ZWRJZCkpe3ZhciBoPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihnKXtyZXR1cm4gZy5pZD09PW0uaWR9KXx8bTtzLmN1cnJlbnRNZXNzYWdlcz1PbihoLEtuKGgsbS5vdXRwdXQsITEpKSxwbighMCksV24oKX1zLnF1ZXVlQmFyUHJvbW90aW5nPSExfSkuY2F0Y2goZnVuY3Rpb24obSl7cy5xdWV1ZUJhclByb21vdGluZz0hMSxDZih0LGMpLGhlKG0mJm0ubWVzc2FnZXx8Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19fX1mdW5jdGlvbiBhTyhlLHQpe3ZhciBhPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihiKXtyZXR1cm4gYi5pZD09PXMuc2VsZWN0ZWRJZH0pO2lmKGEpe3ZhciBpPUFycmF5LmlzQXJyYXkoYS5xdWV1ZWRNZXNzYWdlcyk/YS5xdWV1ZWRNZXNzYWdlcy5zbGljZSgpOltdO2lmKCEoaS5sZW5ndGg8PTEpJiZ0KXt2YXIgbz10LnBhcmVudEVsZW1lbnQ7aWYobyl7dmFyIGM9TnVtYmVyKHQuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpLGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoby5jaGlsZHJlbiksZj1kLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0pLG09MztmLmxlbmd0aD49MiYmKG09TWF0aC5tYXgoMCxmWzFdLnRvcC1mWzBdLnRvcC1mWzBdLmhlaWdodCkpLGUucHJldmVudERlZmF1bHQoKTt0cnl7dC5zZXRQb2ludGVyQ2FwdHVyZShlLnBvaW50ZXJJZCl9Y2F0Y2h7fWlmKG5hdmlnYXRvciYmbmF2aWdhdG9yLnZpYnJhdGUpdHJ5e25hdmlnYXRvci52aWJyYXRlKDgpfWNhdGNoe31zLnF1ZXVlQmFyRHJhZz17cG9pbnRlcklkOmUucG9pbnRlcklkLGhhbmRsZUVsOnQsaXRlbUVsOnQsbGlzdEVsOm8sc2libGluZ3M6ZCxyZWN0czpmLG9yaWdJbmRleDpjLHRhcmdldEluZGV4OmMsc3RhcnRZOmUuY2xpZW50WSxnYXA6bSxxdWV1ZVNuYXBzaG90Oml9LHQuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSxkLmZvckVhY2goZnVuY3Rpb24oYil7YiE9PXQmJmIuY2xhc3NMaXN0LmFkZCgicXVldWUtYmFyLWl0ZW0tc2xpZGluZyIpfSk7dmFyIGg9ZnVuY3Rpb24oYil7aU8oYil9LGc9ZnVuY3Rpb24oYil7dU8oYil9O3MucXVldWVCYXJEcmFnLm1vdmVIYW5kbGVyPWgscy5xdWV1ZUJhckRyYWcudXBIYW5kbGVyPWcsdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsaCksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLGcpLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsZyl9fX19ZnVuY3Rpb24gck8oZSx0LGEsaSl7Zm9yKHZhciBvPWEubGVuZ3RoLGM9W10sZD0wO2Q8bztkKyspYy5wdXNoKGQpO2Muc3BsaWNlKGUsMSksYy5zcGxpY2UodCwwLGUpO2Zvcih2YXIgZj1hWzBdLnRvcCxtPWFbMF0udG9wLGg9MTtoPG87aCsrKWFbaF0udG9wPG0mJihtPWFbaF0udG9wKTtmb3IodmFyIGc9e30sYj1tLHk9MDt5PG87eSsrKXt2YXIgQz1jW3ldO2dbQ109YixiKz1hW0NdLmhlaWdodCtpfXJldHVybiBnfWZ1bmN0aW9uIGlPKGUpe3ZhciB0PXMucXVldWVCYXJEcmFnO2lmKCEoIXR8fGUucG9pbnRlcklkIT09dC5wb2ludGVySWQpKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIGE9ZS5jbGllbnRZLXQuc3RhcnRZO3QuaXRlbUVsLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgiK2ErInB4KSI7Zm9yKHZhciBpPXQucmVjdHNbdC5vcmlnSW5kZXhdLnRvcCt0LnJlY3RzW3Qub3JpZ0luZGV4XS5oZWlnaHQvMithLG89dC5vcmlnSW5kZXgsYz0wO2M8dC5yZWN0cy5sZW5ndGg7YysrKWlmKGMhPT10Lm9yaWdJbmRleCl7dmFyIGQ9dC5yZWN0c1tjXS50b3ArdC5yZWN0c1tjXS5oZWlnaHQvMjtjPHQub3JpZ0luZGV4JiZpPGQ/bz1NYXRoLm1pbihvLGMpOmM+dC5vcmlnSW5kZXgmJmk+ZCYmKG89TWF0aC5tYXgobyxjKSl9aWYobyE9PXQudGFyZ2V0SW5kZXgpe3QudGFyZ2V0SW5kZXg9bzt2YXIgZj1yTyh0Lm9yaWdJbmRleCxvLHQucmVjdHMsdC5nYXApO3Quc2libGluZ3MuZm9yRWFjaChmdW5jdGlvbihtLGgpe2lmKGghPT10Lm9yaWdJbmRleCl7dmFyIGc9ZltoXS10LnJlY3RzW2hdLnRvcDttLnN0eWxlLnRyYW5zZm9ybT1nPyJ0cmFuc2xhdGVZKCIrZysicHgpIjoiIn19KX19fWZ1bmN0aW9uIHVPKGUpe3ZhciB0PXMucXVldWVCYXJEcmFnO2lmKCEoIXR8fGUmJmUucG9pbnRlcklkIT09dC5wb2ludGVySWQpKXt0cnl7dC5oYW5kbGVFbC5yZWxlYXNlUG9pbnRlckNhcHR1cmUodC5wb2ludGVySWQpfWNhdGNoe310LmhhbmRsZUVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIix0Lm1vdmVIYW5kbGVyKSx0LmhhbmRsZUVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdC51cEhhbmRsZXIpLHQuaGFuZGxlRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsdC51cEhhbmRsZXIpO3ZhciBhPXQub3JpZ0luZGV4LGk9dC50YXJnZXRJbmRleCxvPXQucXVldWVTbmFwc2hvdDtpZih0LnNpYmxpbmdzLmZvckVhY2goZnVuY3Rpb24oaCl7aC5zdHlsZS50cmFuc2Zvcm09IiIsaC5jbGFzc0xpc3QucmVtb3ZlKCJxdWV1ZS1iYXItaXRlbS1zbGlkaW5nIil9KSx0Lml0ZW1FbC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLHMucXVldWVCYXJEcmFnPW51bGwsYT09PWkpe1duKCk7cmV0dXJufWZvcih2YXIgYz1bXSxkPTA7ZDxvLmxlbmd0aDtkKyspYy5wdXNoKGQpO2Muc3BsaWNlKGEsMSksYy5zcGxpY2UoaSwwLGEpO3ZhciBmPWMubWFwKGZ1bmN0aW9uKGgpe3JldHVybiBvW2hdfSksbT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaCl7cmV0dXJuIGguaWQ9PT1zLnNlbGVjdGVkSWR9KTtpZighbSl7V24oKTtyZXR1cm59YXQoe2lkOm0uaWQscXVldWVkTWVzc2FnZXM6Zn0pLFduKCksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK20uaWQrIi9xdWV1ZWQiLHttZXRob2Q6IlBBVENIIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7b3JkZXI6Y30pfSkudGhlbihmdW5jdGlvbihoKXtpZighaC5vaylyZXR1cm4gaC5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oZyl7dGhyb3cgbmV3IEVycm9yKGcmJmcuZXJyb3J8fCJcdTYzOTJcdTVFOEZcdTU5MzFcdThEMjUiKX0pfSkuY2F0Y2goZnVuY3Rpb24oaCl7Q2YobSxvKSxoZShoJiZoLm1lc3NhZ2V8fCJcdThDMDNcdTY1NzRcdTYzOTJcdTk2MUZcdTk4N0FcdTVFOEZcdTU5MzFcdThEMjVcdTMwMDIiLCJlcnJvciIpfSl9fWZ1bmN0aW9uIG9PKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1ZXVlLWJhci1ob3N0Iik7IWV8fGUuX19xdWV1ZURlbGVnYXRlZHx8KGUuX19xdWV1ZURlbGVnYXRlZD0hMCxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt2YXIgYT10LnRhcmdldCxpPWEmJmEuY2xvc2VzdD9hLmNsb3Nlc3QoIltkYXRhLWFjdGlvbl0iKTpudWxsO2lmKGkmJmUuY29udGFpbnMoaSkpe3ZhciBvPWkuZ2V0QXR0cmlidXRlKCJkYXRhLWFjdGlvbiIpO2lmKG89PT0iZHJhZyIpcmV0dXJuO2lmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLG89PT0icHJvbW90ZS1pdGVtIil7dmFyIGM9aS5jbG9zZXN0KCIucXVldWUtYmFyLWl0ZW0iKTtjJiZuTyhOdW1iZXIoYy5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSkpfWVsc2UgaWYobz09PSJkZWxldGUiKXt2YXIgZD1pLmNsb3Nlc3QoIi5xdWV1ZS1iYXItaXRlbSIpO2QmJmVPKE51bWJlcihkLmdldEF0dHJpYnV0ZSgiZGF0YS1pbmRleCIpKSl9ZWxzZSBvPT09ImNsZWFyLWFsbCImJnRPKCk7cmV0dXJufX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLGZ1bmN0aW9uKHQpe2lmKCEodC5idXR0b24hPT12b2lkIDAmJnQuYnV0dG9uIT09MCkpe3ZhciBhPXQudGFyZ2V0O2lmKCEoYSYmYS5jbG9zZXN0JiZhLmNsb3Nlc3QoJ1tkYXRhLWFjdGlvbj0iZGVsZXRlIl0sIFtkYXRhLWFjdGlvbj0icHJvbW90ZS1pdGVtIl0sIFtkYXRhLWFjdGlvbj0iY2xlYXItYWxsIl0sIFtkYXRhLWFjdGlvbj0iZXhwYW5kIl0nKSkpe3ZhciBpPWEmJmEuY2xvc2VzdD9hLmNsb3Nlc3QoIi5xdWV1ZS1iYXItaXRlbSIpOm51bGw7aSYmYU8odCxpKX19fSksZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbih0KXt0LmtleT09PSJFc2NhcGUiJiYkTSgpJiYodC5zdG9wUHJvcGFnYXRpb24oKSxaTSghMSkpfSkpfWZ1bmN0aW9uIE9uKGUsdCl7dmFyIGE9QXJyYXkuaXNBcnJheSh0KT9Ycyh0KTpbXSxpPUFycmF5LmlzQXJyYXkoYSk/YS5zbGljZSgpOltdO2lmKCFlfHxlLnNlc3Npb25LaW5kIT09InN0cnVjdHVyZWQiKXJldHVybiBpO2lmKGUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCl7dmFyIG89aVtpLmxlbmd0aC0xXTsoIW98fG8ucm9sZSE9PSJhc3Npc3RhbnQiKSYmaS5wdXNoKHtyb2xlOiJhc3Npc3RhbnQiLGNvbnRlbnQ6W3t0eXBlOiJ0ZXh0Iix0ZXh0OiIiLF9fcHJvY2Vzc2luZzohMH1dfSl9cmV0dXJuIGl9ZnVuY3Rpb24gangoKXt2YXIgZT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1zLnNlbGVjdGVkSWR9KTt0ZChlKSxSaSgpfWZ1bmN0aW9uIE14KGUpe3ZhciB0PUlpKCksYT10JiZ0LnByb3ZpZGVyPT09ImNvZGV4IjtyZXR1cm4gZSYmKGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9UX1JVTk5JTkcifHxlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PX1BUWSIpP2E/IkNvZGV4IFx1NEYxQVx1OEJERFx1NURGMlx1N0VEM1x1Njc1Rlx1RkYxQlx1ODJFNVx1NUI1OFx1NTcyOCBDb2RleCBcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdUZGMENcdTVDMDZcdTU3MjhcdTRGNjBcdTRFMEJcdTZCMjFcdTUzRDFcdTkwMDFcdTZEODhcdTYwNkZcdTY1RjZcdTgxRUFcdTUyQThcdTYwNjJcdTU5MERcdTMwMDIiOiJcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUZcdUZGMUJcdTgyRTVcdTVCNThcdTU3MjggQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1RkYwQ1x1NUMwNlx1NTcyOFx1NEY2MFx1NEUwQlx1NkIyMVx1NTNEMVx1OTAwMVx1NkQ4OFx1NjA2Rlx1NjVGNlx1ODFFQVx1NTJBOFx1NjA2Mlx1NTkwRFx1MzAwMiI6ZSYmZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT1RfRk9VTkQiPyJcdTRGMUFcdThCRERcdTRFMERcdTVCNThcdTU3MjhcdUZGMENcdThCRjdcdTkxQ0RcdTY1QjBcdTkwMDlcdTYyRTlcdTYyMTZcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTMwMDIiOmUmJmUubWVzc2FnZXx8KGE/IkNvZGV4IFx1NEYxQVx1OEJERFx1NjY4Mlx1NEUwRFx1NTNFRlx1NzUyOFx1RkYxQlx1ODJFNVx1NUI1OFx1NTcyOCBDb2RleCBcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdUZGMENcdTVDMDZcdTgxRUFcdTUyQThcdTVDMURcdThCRDVcdTYwNjJcdTU5MERcdTMwMDIiOiJcdTRGMUFcdThCRERcdTY2ODJcdTRFMERcdTUzRUZcdTc1MjhcdUZGMUJcdTgyRTVcdTVCNThcdTU3MjggQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1RkYwQ1x1NUMwNlx1ODFFQVx1NTJBOFx1NUMxRFx1OEJENVx1NjA2Mlx1NTkwRFx1MzAwMiIpfWZ1bmN0aW9uIE94KGUpe3ZhciB0PW5ldyBFcnJvcihlJiZlLmVycm9yfHwiXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGXHUzMDAyIik7cmV0dXJuIGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmKHQuZXJyb3JDb2RlPWUuZXJyb3JDb2RlfHxudWxsLHQuc2Vzc2lvbklkPWUuc2Vzc2lvbklkfHxzLnNlbGVjdGVkSWR8fG51bGwsdC5zZXNzaW9uU3RhdHVzPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJzZXNzaW9uU3RhdHVzIik/ZS5zZXNzaW9uU3RhdHVzOm51bGwpLHR9ZnVuY3Rpb24gX3goZSl7cmV0dXJuIGUmJihlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PVF9SVU5OSU5HInx8ZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT19QVFkifHxlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PVF9GT1VORCIpfWZ1bmN0aW9uIHNPKGUsdCl7ZSYmYXQoe2lkOmUsc3RhdHVzOnR8fCJleGl0ZWQifSl9ZnVuY3Rpb24gSGgoZSl7cmV0dXJuISEoZSYmIXV0KGUpJiZbImNsYXVkZSIsImNvZGV4Iiwib3BlbmNvZGUiLCJncm9rIiwicW9kZXIiXS5pbmRleE9mKGUucHJvdmlkZXIpIT09LTEmJmUuc3RhdHVzIT09InJ1bm5pbmciJiZlLmNsYXVkZVNlc3Npb25JZCl9ZnVuY3Rpb24gbE8oZSx0KXtpZighZSlyZXR1cm4gaGUoIlx1NEYxQVx1OEJERFx1NEUwRFx1NUI1OFx1NTcyOFx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1OTAwOVx1NjJFOVx1NjIxNlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKG51bGwpO2lmKGUuc3RhdHVzPT09InJ1bm5pbmciKXJldHVybiBQcm9taXNlLnJlc29sdmUoZSk7aWYoIUhoKGUpKXt2YXIgYT17Y2xhdWRlOiJDbGF1ZGUiLGNvZGV4OiJDb2RleCIsb3BlbmNvZGU6Ik9wZW5Db2RlIixncm9rOiJHcm9rIixxb2RlcjoiUW9kZXIifSxpPWUmJmFbZS5wcm92aWRlcl18fCJQcm92aWRlciI7cmV0dXJuIGhlKCJcdThCRTVcdTRGMUFcdThCRERcdTZDQTFcdTY3MDlcdTUzRUZcdTYwNjJcdTU5MERcdTc2ODQgIitpKyIgXHU1Mzg2XHU1M0YyXHU0RTBBXHU0RTBCXHU2NTg3XHVGRjBDXHU4QkY3XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSxQcm9taXNlLnJlc29sdmUobnVsbCl9cmV0dXJuIFZ4KGUuaWQsdCkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gbz8oYXQobyksRHQoKSxLdShvLmlkKSxQaShvLmlkKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGJyKCEwKSxvfSkpOm51bGx9KX1mdW5jdGlvbiBjTyhlLHQpe3JldHVyblt0LCJcciJdfWZ1bmN0aW9uIGRPKGUsdCxhLGkpe3ZhciBvPUFycmF5LmlzQXJyYXkoZSk/ZS5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuISFkfSk6W107aWYoby5sZW5ndGg9PT0wKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgYz10eXBlb2YgYT09Im51bWJlciI/YTowO3JldHVybiBvLnJlZHVjZShmdW5jdGlvbihkLGYsbSl7cmV0dXJuIGQudGhlbihmdW5jdGlvbigpe3JldHVybiBtPjAmJmM+MD9uZXcgUHJvbWlzZShmdW5jdGlvbihoKXtzZXRUaW1lb3V0KGgsYyl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGdyKGYsbT09PW8ubGVuZ3RoLTE/dDp2b2lkIDAsaSl9KTpncihmLG09PT1vLmxlbmd0aC0xP3Q6dm9pZCAwLGkpfSl9LFByb21pc2UucmVzb2x2ZSgpKX12YXIgZk89NWUzLHBPPTEwMDtmdW5jdGlvbiBxaChlKXtlJiYocy5wZW5kaW5nTWVzc2FnZXMubGVuZ3RoPj1wTyYmcy5wZW5kaW5nTWVzc2FnZXMuc2hpZnQoKSxzLnBlbmRpbmdNZXNzYWdlcy5wdXNoKHtpbnB1dDplLGF0OkRhdGUubm93KCl9KSl9ZnVuY3Rpb24gdk8oZSl7dmFyIHQ9QXJyYXkuaXNBcnJheShlKT9lLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4hIWF9KTpbXTt0LmZvckVhY2goZnVuY3Rpb24oYSl7cWgoYSl9KX1mdW5jdGlvbiBtTyhlKXtpZighKHR5cGVvZiBlIT0ic3RyaW5nInx8IWUpKXt2YXIgdD1lLnJlcGxhY2UoL1x4MWJcWzIwMH4vZywiIikucmVwbGFjZSgvXHgxYlxbMjAxfi9nLCIiKTsvKD86XnxcbilccypcL2NsZWFyXHMqKD86XHJ8XG58JCkvLnRlc3QodCkmJnR5cGVvZiBzPCJ1IiYmcyYmKHMudGVybWluYWxPdXRwdXRNYXJrZXI9KHMudGVybWluYWxPdXRwdXQmJnMudGVybWluYWxPdXRwdXQubGVuZ3RoKXwwKX19ZnVuY3Rpb24gZ3IoZSx0LGEpe3JldHVybiFlfHwhcy5zZWxlY3RlZElkP1Byb21pc2UucmVzb2x2ZSgpOihtTyhlKSxzLm1lc3NhZ2VRdWV1ZS5wdXNoKGUpLHMuaW5wdXRRdWV1ZT1zLmlucHV0UXVldWUudGhlbihmdW5jdGlvbigpe3JldHVybiBoTyhlLHQsYSkuZmluYWxseShmdW5jdGlvbigpe3ZhciBpPXMubWVzc2FnZVF1ZXVlLmluZGV4T2YoZSk7aT4tMSYmcy5tZXNzYWdlUXVldWUuc3BsaWNlKGksMSl9KX0pLHMuaW5wdXRRdWV1ZSl9ZnVuY3Rpb24gaE8oZSx0LGEpe2lmKCFzLnNlbGVjdGVkSWQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBpPXMuc2VsZWN0ZWRJZCxvPWF8fHMuY3VycmVudFZpZXc7cmV0dXJuIHFNKCk/cy53c0Nvbm5lY3RlZD9mZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2krIi9pbnB1dCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OmUsdmlldzpvLHNob3J0Y3V0S2V5OnR8fHZvaWQgMH0pfSkudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gYy5vaz9jLmpzb24oKTpjLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybntlcnJvcjoiXHU4QkY3XHU2QzQyXHU1OTMxXHU4RDI1In19KS50aGVuKGZ1bmN0aW9uKGQpe3ZhciBmPU94KGQpO3Rocm93IGYuaHR0cFN0YXR1cz1jLnN0YXR1cyxjb25zb2xlLmVycm9yKCJbd2FuZF0gcG9zdElucHV0OiByZXF1ZXN0IGZhaWxlZCIse3N0YXR1czpjLnN0YXR1cyxlcnJvckNvZGU6Zi5lcnJvckNvZGUsbWVzc2FnZTpmLm1lc3NhZ2Usc2Vzc2lvbklkOml9KSxfeChmKSYmc08oaSxmLnNlc3Npb25TdGF0dXN8fCJleGl0ZWQiKSxmfSl9KS50aGVuKGZ1bmN0aW9uKGMpe3JldHVybiBjJiZjLmlkJiYoYXQoYyksYy5pZD09PXMuc2VsZWN0ZWRJZCYmKGMubWVzc2FnZXMmJmMubWVzc2FnZXMubGVuZ3RoPjAmJihzLmN1cnJlbnRNZXNzYWdlcz1jLm1lc3NhZ2VzKSxwbighMCkpKSxjfSk6KHFoKGUpLGNvbnNvbGUubG9nKCJbd2FuZF0gcG9zdElucHV0OiBXZWJTb2NrZXQgZGlzY29ubmVjdGVkLCBxdWV1ZWQgbWVzc2FnZSIse3Nlc3Npb25JZDpzLnNlbGVjdGVkSWQsaW5wdXRMZW5ndGg6ZS5sZW5ndGh9KSxQcm9taXNlLnJlc29sdmUoKSk6cy53c0Nvbm5lY3RlZD8oY29uc29sZS53YXJuKCJbd2FuZF0gcG9zdElucHV0OiBzZXNzaW9uIG5vdCBydW5uaW5nLCBza2lwcGluZyBzZW5kIix7c2Vzc2lvbklkOnMuc2VsZWN0ZWRJZH0pLGhlKCJcdTRGMUFcdThCRERcdTY3MkFcdThGRDBcdTg4NENcdUZGMENcdTZCNjNcdTU3MjhcdTdCNDlcdTVGODVcdTgxRUFcdTUyQThcdTYwNjJcdTU5MERcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDIiLCJpbmZvIiksUHJvbWlzZS5yZXNvbHZlKCkpOihxaChlKSxjb25zb2xlLmxvZygiW3dhbmRdIHBvc3RJbnB1dDogc2Vzc2lvbiBub3QgcnVubmluZywgcXVldWVkIGZvciByZWNvbm5lY3QiLHtzZXNzaW9uSWQ6cy5zZWxlY3RlZElkLGlucHV0TGVuZ3RoOmUubGVuZ3RofSksUHJvbWlzZS5yZXNvbHZlKCkpfWZ1bmN0aW9uIElpKCl7cmV0dXJuIHMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihlKXtyZXR1cm4gZS5pZD09PXMuc2VsZWN0ZWRJZH0pfHxudWxsfWZ1bmN0aW9uIFBoKCl7cmV0dXJuISFzLnNlbGVjdGVkSWQmJnMuY3VycmVudFZpZXc9PT0idGVybWluYWwifWZ1bmN0aW9uIGdPKGUpe3JldHVybiEoIXMudGVybWluYWx8fCFlfHxlIT09cy5zZWxlY3RlZElkfHxzLnRlcm1pbmFsU2Vzc2lvbklkJiZzLnRlcm1pbmFsU2Vzc2lvbklkIT09ZSl9ZnVuY3Rpb24gTngoZSl7aWYoIXMudGVybWluYWxJbnRlcmFjdGl2ZXx8IVBoKCl8fGUuZGVmYXVsdFByZXZlbnRlZHx8ZS5pc0NvbXBvc2luZylyZXR1cm4hMTt2YXIgdD1lLnRhcmdldDtyZXR1cm4gdD8hKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImlzLXdhbmQtZW1iZWQtdGVybWluYWwiKSYmdC5jbG9zZXN0JiZ0LmNsb3Nlc3QoIiNpbnB1dC1ib3giKXx8dC5jbG9zZXN0JiZ0LmNsb3Nlc3QoIiNtaW5pLWtleWJvYXJkIil8fENPKHQpKTohMH12YXIgYk89e0VzYzoiZXNjYXBlIixBcnJvd1VwOiJ1cCIsQXJyb3dEb3duOiJkb3duIixBcnJvd0xlZnQ6ImxlZnQiLEFycm93UmlnaHQ6InJpZ2h0IixFbnRlcjoiZW50ZXIiLFRhYjoidGFiIixCYWNrc3BhY2U6ImJhY2tzcGFjZSIsSG9tZToiaG9tZSIsRW5kOiJlbmQiLFBhZ2VVcDoicGFnZXVwIixQYWdlRG93bjoicGFnZWRvd24iLERlbGV0ZToiZGVsZXRlIixJbnNlcnQ6Imluc2VydCIsIiAiOiJzcGFjZSJ9LHlPPXtzcGFjZToiICIsdGFiOiIJIixzaGlmdF90YWI6Ilx4MUJbWiIsYmFja3NwYWNlOiJceDdGIixob21lOiJceDFCW0giLGVuZDoiXHgxQltGIixwYWdldXA6Ilx4MUJbNX4iLHBhZ2Vkb3duOiJceDFCWzZ+IixkZWxldGU6Ilx4MUJbM34iLGluc2VydDoiXHgxQlsyfiJ9LFJ4PXsiICI6MCwiWyI6MjcsIlxcIjoyOCwiXSI6MjksIl4iOjMwLF86MzF9LHdPPTQwMCx4Tz0xMCxFTz04LERmPTU0LExpPTgsVWg9W3trZXk6ImVudGVyIixsYWJlbDoiRW50ZXIifSx7a2V5OiJjdHJsX2MiLGxhYmVsOiJDdHJsK0MifSx7a2V5OiJlc2NhcGUiLGxhYmVsOiJFc2MifSx7a2V5OiJzaGlmdF90YWIiLGxhYmVsOiJTaGlmdCtUYWIifV0sRk89bmV3IFNldChbIm1pbmkta2V5Ym9hcmQtZmFiIiwibWluaS1rZXlib2FyZC10b2dnbGUiLCJ0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUiXSk7ZnVuY3Rpb24gQ08oZSl7cmV0dXJuIGU/Rk8uaGFzKGUuaWQpPyEwOiEhKGUuY2xvc2VzdCYmZS5jbG9zZXN0KCdbcm9sZT0iZGlhbG9nIl0sIFtyb2xlPSJhbGVydGRpYWxvZyJdJykpOiExfXZhciBETz1uZXcgU2V0KFsiY3RybCIsImFsdCIsInNoaWZ0Il0pO2Z1bmN0aW9uIEl4KGUpe3JldHVybiBETy5oYXMoZSl9ZnVuY3Rpb24gQU8oZSl7cmV0dXJuIHlPW2VdfHwiIn1mdW5jdGlvbiBTTyhlKXt2YXIgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ+PSJhIiYmdDw9InoiP1N0cmluZy5mcm9tQ2hhckNvZGUodC5jaGFyQ29kZUF0KDApLTk2KTpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoUngsdCk/U3RyaW5nLmZyb21DaGFyQ29kZShSeFt0XSk6IiJ9ZnVuY3Rpb24gQk8oZSl7cmV0dXJuIGJPW2Uua2V5XXx8ZS5rZXl9ZnVuY3Rpb24ga08oZSx0KXtyZXR1cm57Y3RybDplLmN0cmxLZXksYWx0OmUuYWx0S2V5LHNoaWZ0OmUuc2hpZnRLZXkmJih0Lmxlbmd0aD09PTF8fHQ9PT0idGFiIiksbWV0YTplLm1ldGFLZXl9fWZ1bmN0aW9uIEx4KGUsdCl7ZSYmZ3IoZSx0KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIFRPKCl7JHgoKX1mdW5jdGlvbiBWaChlKXtzLmtleWJvYXJkUG9wdXBPcGVuPSExLGUhPT0hMSYmQmYoKSxPTygpfWZ1bmN0aW9uIGpPKCl7UGgoKSYmZXMoIXMudGVybWluYWxJbnRlcmFjdGl2ZSl9ZnVuY3Rpb24gZXMoZSl7dmFyIHQ9ISFlJiZQaCgpO3MudGVybWluYWxJbnRlcmFjdGl2ZSE9PXQmJihzLnRlcm1pbmFsSW50ZXJhY3RpdmU9dCx0PyhOTygpLFZoKCExKSxUTygpLGhlKCJcdTdFQzhcdTdBRUZcdTRFQTRcdTRFOTJcdTZBMjFcdTVGMEZcdTVERjJcdTVGMDBcdTU0MkYiLCJpbmZvIikpOihSTygpLEJmKCkpLEFmKCkpfWZ1bmN0aW9uIHp4KCl7dmFyIGU9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09cy5zZWxlY3RlZElkfSksdD0hZXx8ZS5zdGF0dXMhPT0icnVubmluZyJ8fHMuY3VycmVudFZpZXchPT0idGVybWluYWwiO2lmKHQmJnMudGVybWluYWxJbnRlcmFjdGl2ZSl7ZXMoITEpO3JldHVybn0oIWV8fHMuY3VycmVudFZpZXchPT0idGVybWluYWwiKSYmcy5rZXlib2FyZFBvcHVwT3BlbiYmKHMua2V5Ym9hcmRQb3B1cE9wZW49ITEpLEFmKCl9ZnVuY3Rpb24gQWYoKXt2YXIgZT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oRil7cmV0dXJuIEYuaWQ9PT1zLnNlbGVjdGVkSWR9KSx0PXV0KGUpLGE9ZSYmZS5wcm92aWRlcj09PSJjb2RleCIsaT10PyEhKGUmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCk6ISFlJiZlLnN0YXR1cz09PSJydW5uaW5nIixvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxjPVsidGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlLXRvcCJdO2MuZm9yRWFjaChmdW5jdGlvbihGKXt2YXIgQT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChGKTtpZihBKXtBLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIscy50ZXJtaW5hbEludGVyYWN0aXZlKSxBLmNsYXNzTGlzdC50b2dnbGUoImlzLW9uIixzLnRlcm1pbmFsSW50ZXJhY3RpdmUpLEEuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIix0fHxzLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsInx8IWUpLEEuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLHMudGVybWluYWxJbnRlcmFjdGl2ZT8idHJ1ZSI6ImZhbHNlIik7dmFyIEQ9QS5xdWVyeVNlbGVjdG9yKCIucGx1cy1wb3BvdmVyLXRvZ2dsZS1zdGF0ZSIpO0QmJihELnRleHRDb250ZW50PXMudGVybWluYWxJbnRlcmFjdGl2ZT8iXHU1RjAwIjoiXHU1MTczIil9fSk7dmFyIGQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWhpbnQiKTtkJiYoZC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLHQ/ITA6cy5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCIpLCF0JiZlJiYoZC50ZXh0Q29udGVudD1hPyJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBjaGF0IFx1NEUzQVx1ODlFM1x1Njc5MFx1ODlDNlx1NTZGRVx1RkYwQ3Rlcm1pbmFsIFx1NEUzQVx1NTM5Rlx1NTlDQlx1OEY5M1x1NTFGQSI6IkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IFNoaWZ0K0VudGVyIFx1NjM2Mlx1ODg0QyIpKTt2YXIgZj0hdCYmIWkmJkhoKGUpO28mJihvLnBsYWNlaG9sZGVyPUFFKGUscy50ZXJtaW5hbEludGVyYWN0aXZlKSxvLmRpc2FibGVkPSF0JiYhIWUmJiFpJiYhZixvLnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsby5kaXNhYmxlZD8idHJ1ZSI6ImZhbHNlIiksby5yZWFkT25seT0hMSxvLmNsYXNzTGlzdC50b2dnbGUoImlzLXRlcm1pbmFsLXBhc3N0aHJvdWdoIiwhIXMudGVybWluYWxJbnRlcmFjdGl2ZSYmIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImlzLXdhbmQtZW1iZWQtdGVybWluYWwiKSkpO3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1yZWNvcmQtYnRuIik7bSYmKG0uZGlzYWJsZWQ9cy50ZXJtaW5hbEludGVyYWN0aXZlLG0uc2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIixtLmRpc2FibGVkPyJ0cnVlIjoiZmFsc2UiKSkscy50ZXJtaW5hbEludGVyYWN0aXZlJiZOdC5yZWNvcmRpbmcmJihOdC5yZWNvcmRpbmc9ITEseHgoKSk7dmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbmQtaW5wdXQtYnV0dG9uIiksZz10JiZpO2gmJihoLmRpc2FibGVkPSF0JiYhIWUmJiFpJiYhZixoLnNldEF0dHJpYnV0ZSgidGl0bGUiLHQ/Zz8iXHU2MzkyXHU5NjFGXHU1M0QxXHU5MDAxXHVGRjA4XHU1RjUzXHU1MjREXHU1NkRFXHU1OTBEXHU3RUQzXHU2NzVGXHU1NDBFXHU1OTA0XHU3NDA2XHVGRjA5IjoiXHU1M0QxXHU5MDAxIjphP2k/Ilx1NTNEMVx1OTAwMVx1N0VEOSBDb2RleCI6IkNvZGV4IFx1NEYxQVx1OEJERFx1NURGMlx1N0VEM1x1Njc1RiI6IWV8fGl8fGY/Ilx1NTNEMVx1OTAwMSI6Ilx1NEYxQVx1OEJERFx1NURGMlx1N0VEM1x1Njc1RiIpLGguY2xhc3NMaXN0LnRvZ2dsZSgicXVldWUtbW9kZSIsZykpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO2lmKGIpe3ZhciB5PUIwKGUpO2IuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwheS5hY3RpdmUpfXZhciBDPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO2lmKEMpe3ZhciB3PUIwKGUpO0MuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhdy5hY3RpdmUpfXZhciB4PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTt4JiZ4LmNsYXNzTGlzdC50b2dnbGUoImludGVyYWN0aXZlIiwhdCYmcy50ZXJtaW5hbEludGVyYWN0aXZlKSxaNigpfWZ1bmN0aW9uIFNmKCl7dmFyIGU9d2luZG93LmdldFNlbGVjdGlvbiYmd2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFlfHxlLmlzQ29sbGFwc2VkKXJldHVybiExO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZighdClyZXR1cm4hMTt2YXIgYT1lLmFuY2hvck5vZGU7cmV0dXJuIGEmJmEubm9kZVR5cGU9PT0zJiYoYT1hLnBhcmVudE5vZGUpLCEhKGEmJnQuY29udGFpbnMoYSkpfWZ1bmN0aW9uIEdoKGUpe2lmKE54KGUpJiYhZS5tZXRhS2V5KXt2YXIgdD1CTyhlKTtpZih0KXt2YXIgYT1rTyhlLHQpO2lmKCFJeCh0KSYmIShhLmN0cmwmJnQubGVuZ3RoPT09MSYmdC50b0xvd2VyQ2FzZSgpPT09ImMiJiZTZigpKSl7dmFyIGk9SHgodCxhKTtpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLEx4KGksdCkpfX19fWZ1bmN0aW9uIE1PKCl7cy50ZXJtaW5hbCYmS2ooNTAwKX1mdW5jdGlvbiBPTygpe1NsKCl9ZnVuY3Rpb24gX08oKXtzLmtleWJvYXJkUG9wdXBPcGVuPSExLEFmKCl9ZnVuY3Rpb24gTk8oKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixHaCwhMCl9ZnVuY3Rpb24gUk8oKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixHaCwhMCl9ZnVuY3Rpb24gSHgoZSx0KXt2YXIgYT10fHx7Y3RybDohMSxhbHQ6ITEsc2hpZnQ6ITF9O2lmKEl4KGUpKXJldHVybiIiO2lmKGU9PT0idGFiIiYmYS5zaGlmdClyZXR1cm4iXHgxQltaIjt2YXIgaT1BTyhlKTtpZihpKXJldHVybiBpO2lmKGUuaW5kZXhPZigiY3RybF8iKT09PTApcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLTk2KTt2YXIgbz16bChlKTtpZihvKXJldHVybiBvO2lmKCFlKXJldHVybiIiO3ZhciBjPWUubGVuZ3RoPT09MT9lOiIiO3JldHVybiBjPyhhLnNoaWZ0JiYoYz1jLnRvVXBwZXJDYXNlKCkpLGEuY3RybD9TTyhjKTphLmFsdD8iXHgxQiIrYzpjKToiIn1mdW5jdGlvbiBCZigpe3MubW9kaWZpZXJzLmN0cmw9ITEscy5tb2RpZmllcnMuYWx0PSExLHMubW9kaWZpZXJzLnNoaWZ0PSExLElPKCl9ZnVuY3Rpb24gSU8oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWluaS1rZXlib2FyZCIpO2UmJlsiY3RybCIsImFsdCIsInNoaWZ0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgYT1lLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWtleT0iJyt0KyciXScpO2EmJmEuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIXMubW9kaWZpZXJzW3RdKX0pfWZ1bmN0aW9uIHpsKGUpe3N3aXRjaChlKXtjYXNlInllcyI6cmV0dXJuInlcciI7Y2FzZSJubyI6cmV0dXJuIm5cciI7Y2FzZSJ1cCI6cmV0dXJuIlx4MUJbQSI7Y2FzZSJkb3duIjpyZXR1cm4iXHgxQltCIjtjYXNlImxlZnQiOnJldHVybiJceDFCW0QiO2Nhc2UicmlnaHQiOnJldHVybiJceDFCW0MiO2Nhc2UiZW50ZXIiOnJldHVybiJcciI7Y2FzZSJjdHJsX2MiOnJldHVybiIDIjtjYXNlImN0cmxfZCI6cmV0dXJuIgQiO2Nhc2UiY3RybF9sIjpyZXR1cm4iXGYiO2Nhc2UiY3RybF91IjpyZXR1cm4iFSI7Y2FzZSJjdHJsX2siOnJldHVybiJcdiI7Y2FzZSJjdHJsX3ciOnJldHVybiIXIjtjYXNlImN0cmxfeiI6cmV0dXJuIhoiO2Nhc2UiZXNjYXBlIjpyZXR1cm4iXHgxQiI7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gTE8oKXtpZihzLnBlbmRpbmdNZXNzYWdlcy5sZW5ndGghPT0wKXt2YXIgZT1JaSgpO2lmKHV0KGUpKXtzLnBlbmRpbmdNZXNzYWdlcz1bXTtyZXR1cm59dmFyIHQ9RGF0ZS5ub3coKSxhPVtdLGk9MDtzLnBlbmRpbmdNZXNzYWdlcy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2lmKHR5cGVvZiBjPT0ic3RyaW5nIil7YS5wdXNoKGMpO3JldHVybn1pZighKCFjfHx0eXBlb2YgYy5pbnB1dCE9InN0cmluZyIpKXtpZih0LShjLmF0fHwwKT5mTyl7aSsrO3JldHVybn1hLnB1c2goYy5pbnB1dCl9fSkscy5wZW5kaW5nTWVzc2FnZXM9W10saT4wJiZjb25zb2xlLmxvZygiW3dhbmRdIGZsdXNoUGVuZGluZ01lc3NhZ2VzOiBkcm9wcGVkICIraSsiIHN0YWxlIGlucHV0KHMpIik7dmFyIG89UHJvbWlzZS5yZXNvbHZlKCk7YS5mb3JFYWNoKGZ1bmN0aW9uKGMpe289by50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHpPKGMpLmNhdGNoKGZ1bmN0aW9uKCl7fSl9KX0pfX1mdW5jdGlvbiB6TyhlKXtpZighZXx8IXMuc2VsZWN0ZWRJZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHQ9cy5zZWxlY3RlZElkO3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK3QrIi9pbnB1dCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OmUsdmlldzpzLmN1cnJlbnRWaWV3fSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLm9rP2EuanNvbigpOmEuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue2Vycm9yOiJcdThCRjdcdTZDNDJcdTU5MzFcdThEMjUifX0pLnRoZW4oZnVuY3Rpb24oaSl7dmFyIG89T3goaSk7aWYoby5odHRwU3RhdHVzPWEuc3RhdHVzLF94KG8pKXJldHVybiBjb25zb2xlLmxvZygiW3dhbmRdIHNlbmRJbnB1dERpcmVjdDogc2Vzc2lvbiB1bmF2YWlsYWJsZSwgZHJvcHBpbmciLHtzZXNzaW9uSWQ6dCxlcnJvckNvZGU6by5lcnJvckNvZGV9KSxudWxsO3Rocm93IG99KX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEuaWQmJihhdChhKSxhLmlkPT09cy5zZWxlY3RlZElkJiYoYS5tZXNzYWdlcyYmYS5tZXNzYWdlcy5sZW5ndGg+MCYmKHMuY3VycmVudE1lc3NhZ2VzPWEubWVzc2FnZXMpLHBuKCEwKSkpLGF9KX1mdW5jdGlvbiBZaCgpe2lmKHMuc2VsZWN0ZWRJZCl7dmFyIGU9cy5zZWxlY3RlZElkO01oKFJuKCJzdG9wLmNvbmZpcm0ubWVzc2FnZSIpLHt0aXRsZTpSbigic3RvcC5jb25maXJtLnRpdGxlIiksZGFuZ2VyOiEwLG9rTGFiZWw6Um4oInN0b3AuY29uZmlybS5vayIpLGNhbmNlbExhYmVsOlJuKCJzdG9wLmNvbmZpcm0uY2FuY2VsIil9KS50aGVuKGZ1bmN0aW9uKHQpe3QmJnMuc2VsZWN0ZWRJZD09PWUmJmZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZSsiL3N0b3AiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKEhpKX0pfX1mdW5jdGlvbiBrZihlKXt2YXIgdD1DdCgpP251bGw6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNlc3Npb24taXRlbVtkYXRhLXNlc3Npb24taWQ9IicrZSsnIl0nKSxhPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PWV9KSxpPWEmJmEuY2xhdWRlU2Vzc2lvbklkO3QmJnQuY2xhc3NMaXN0LmFkZCgiZGVsZXRpbmciKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtpZihvJiZvLmVycm9yKXRocm93IG5ldyBFcnJvcihvLmVycm9yKTtyZXR1cm4gcy5zZWxlY3RlZElkPT09ZSYmKHMuc2VsZWN0ZWRJZD1udWxsLEd0KCkpLGkmJihzLmNsYXVkZUhpc3Rvcnk9cy5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYy5jbGF1ZGVTZXNzaW9uSWQhPT1pfSkscy5jb2RleEhpc3Rvcnk9cy5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjLmNsYXVkZVNlc3Npb25JZCE9PWl9KSksSGkoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJkZWxldGluZyIpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtaYShvLCJcdTY1RTBcdTZDRDVcdTUyMjBcdTk2NjRcdTRGMUFcdThCRERcdTMwMDIiKX0pfSwyNTApfWZ1bmN0aW9uIHF4KGUsdCl7dCYmdC5jbGFzc0xpc3QuYWRkKCJkZWxldGluZyIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtmZXRjaCgiL2FwaS9jbGF1ZGUtaGlzdG9yeS8iK2VuY29kZVVSSUNvbXBvbmVudChlKSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoYSYmYS5lcnJvcil0aHJvdyBuZXcgRXJyb3IoYS5lcnJvcik7cy5jbGF1ZGVIaXN0b3J5PXMuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkuY2xhdWRlU2Vzc2lvbklkIT09ZX0pLGRlbGV0ZSBzLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkc1tlXSxEdCgpfSkuY2F0Y2goZnVuY3Rpb24oKXt0JiZ0LmNsYXNzTGlzdC5yZW1vdmUoImRlbGV0aW5nIik7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFjdGlvbi1lcnJvciIpO1phKGEsIlx1NjVFMFx1NkNENVx1NTIyMFx1OTY2NFx1NEYxQVx1OEJERFx1MzAwMiIpfSl9LDI1MCl9ZnVuY3Rpb24gSE8oZSx0KXtxeChlLHQpfWZ1bmN0aW9uIHFPKGUsdCxhKXtlJiZmZXRjaCgiL2FwaS9jbGF1ZGUtaGlzdG9yeT9jd2Q9IitlbmNvZGVVUklDb21wb25lbnQoZSkse21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkmJmkuZXJyb3IpdGhyb3cgbmV3IEVycm9yKGkuZXJyb3IpO3MuY2xhdWRlSGlzdG9yeT1zLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKG8pe3JldHVybiBvLmN3ZCE9PWV9KSxEdCgpfSkuY2F0Y2goZnVuY3Rpb24oKXtQeChhLCExKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7WmEoaSwiXHU2NUUwXHU2Q0Q1XHU2RTA1XHU3NDA2XHU4QkU1XHU3NkVFXHU1RjU1XHU3Njg0XHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHUzMDAyIil9KX1mdW5jdGlvbiBQeChlLHQpe2UuZm9yRWFjaChmdW5jdGlvbihhKXthLmNsYXNzTGlzdC50b2dnbGUoImRlbGV0aW5nIix0KX0pfWZ1bmN0aW9uIFBPKGUpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2xhdWRlLWhpc3RvcnktaXRlbVtkYXRhLWN3ZD0iJyt3aW5kb3cuQ1NTLmVzY2FwZShTdHJpbmcoZSkpKyciXScpKX12YXIgVXg9bnVsbCxIbD1udWxsO2Z1bmN0aW9uIHFsKCl7aWYoSGwpe0hsLmNsYXNzTGlzdC5yZW1vdmUoInN3aXBlZCIpO3ZhciBlPUhsLnF1ZXJ5U2VsZWN0b3IoIi5zZXNzaW9uLWl0ZW0tY29udGVudCIpO2UmJihlLnN0eWxlLnRyYW5zZm9ybT0iIiksSGw9bnVsbH19ZnVuY3Rpb24gVU8oZSl7VXg9bnVsbCxIbD1udWxsfXZhciBXaD0hMTtmdW5jdGlvbiBWeChlLHQpe3JldHVybiFlfHxXaD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KFdoPSEwLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvcmVzdW1lIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShWaSh7bW9kZTpzLmNoYXRNb2RlfHxzLmNvbmZpZy5kZWZhdWx0TW9kZXx8ImRlZmF1bHQifSkpfSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmVycm9yPyh0P1phKHQsYS5lcnJvcik6aGUoYS5lcnJvciwiZXJyb3IiKSxudWxsKToocy5zZWxlY3RlZElkPWEuaWQsR3QoKSxzLmRyYWZ0c1thLmlkXT0iIixhKX0pLmNhdGNoKGZ1bmN0aW9uKGEpe3ZhciBpPWEmJmEubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiI7cmV0dXJuIHQ/WmEodCxpKTpoZShpLCJlcnJvciIpLG51bGx9KS5maW5hbGx5KGZ1bmN0aW9uKCl7V2g9ITF9KSl9ZnVuY3Rpb24gVGYoZSl7cmV0dXJuIWV8fCFlLmlkP1Byb21pc2UucmVzb2x2ZSgpOihzLnNlbGVjdGVkSWQ9ZS5pZCxHdCgpLHMuY3VycmVudE1lc3NhZ2VzPVtdLEJsKCksU2EoKSxMbChlLmlkKSxhdChlKSxEdCgpLEt1KGUuaWQpLFBpKGUuaWQpLnRoZW4oZnVuY3Rpb24oKXticighMCl9KSl9ZnVuY3Rpb24gS2goZSl7cmV0dXJuIFZ4KGUpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHQuY2xhdWRlU2Vzc2lvbklkJiYodC5wcm92aWRlcj09PSJjb2RleCI/cy5jb2RleEhpc3Rvcnk9cy5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXVkZVNlc3Npb25JZCE9PXQuY2xhdWRlU2Vzc2lvbklkfSk6cy5jbGF1ZGVIaXN0b3J5PXMuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkIT09dC5jbGF1ZGVTZXNzaW9uSWR9KSksVGYodCkudGhlbihmdW5jdGlvbigpe3JldHVybiB0fSkpOm51bGx9KX1mdW5jdGlvbiBWTyhlKXtlLmRpc2FibGVkPSEwLEtoKGUuZGF0YXNldC5zZXNzaW9uSWQpLmZpbmFsbHkoZnVuY3Rpb24oKXtlLmRpc2FibGVkPSExfSl9ZnVuY3Rpb24gR08oZSl7dmFyIHQ9ZS5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZCxhPWUuZGF0YXNldC5jd2Q7dCYmKGUuZGlzYWJsZWQ9ITAsUWgoImNvZGV4Iix0LGEpLmZpbmFsbHkoZnVuY3Rpb24oKXtlLmRpc2FibGVkPSExfSkpfWZ1bmN0aW9uIGpmKGUsdCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvZGV4LXNlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvcmVzdW1lIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShWaSh7bW9kZTpzLmNoYXRNb2RlfHxzLmNvbmZpZyYmcy5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iixjd2Q6dH0pKX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5lcnJvcj8oaGUoYS5lcnJvciwiZXJyb3IiKSxudWxsKTphfSkuY2F0Y2goZnVuY3Rpb24oYSl7cmV0dXJuIGhlKGEmJmEubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbnVsbH0pfWZ1bmN0aW9uIFlPKGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQ7dCYmT2koIlx1Nzg2RVx1OEJBNFx1NTIyMFx1OTY2NFx1OEZEOVx1Njc2MSBDb2RleCBcdTRGMUFcdThCRERcdTU0MTdcdUZGMUYiLHt0aXRsZToiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIn0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGk9ZS5jbG9zZXN0KCIuc2Vzc2lvbi1pdGVtIik7aSYmKGkuc3R5bGUub3BhY2l0eT0iMC41IiksR3godCkuY2F0Y2goZnVuY3Rpb24oKXtpJiYoaS5zdHlsZS5vcGFjaXR5PSIxIil9KX19KX1mdW5jdGlvbiBXTyhlKXt2YXIgdD1lLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkLGE9ZS5kYXRhc2V0LmN3ZDt0JiYoZS5kaXNhYmxlZD0hMCxRaCgiY2xhdWRlIix0LGEpLmZpbmFsbHkoZnVuY3Rpb24oKXtlLmRpc2FibGVkPSExfSkpfWZ1bmN0aW9uIE1mKGUsdCl7cmV0dXJuIGZldGNoKCIvYXBpL2NsYXVkZS1zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoVmkoe21vZGU6cy5jaGF0TW9kZXx8cy5jb25maWcmJnMuY29uZmlnLmRlZmF1bHRNb2RlfHwiZGVmYXVsdCIsY3dkOnR9KSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuZXJyb3I/KGhlKGEuZXJyb3IsImVycm9yIiksbnVsbCk6YX0pLmNhdGNoKGZ1bmN0aW9uKGEpe3JldHVybiBoZShhJiZhLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYwNjJcdTU5MERcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpLG51bGx9KX1mdW5jdGlvbiBRaChlLHQsYSl7dmFyIGk9ZT09PSJjb2RleCI/amYodCxhKTpNZih0LGEpO3JldHVybiBpLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIW98fCFvLmlkP251bGw6KGU9PT0iY29kZXgiP3MuY29kZXhIaXN0b3J5PXMuY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYy5jbGF1ZGVTZXNzaW9uSWQhPT10fSk6cy5jbGF1ZGVIaXN0b3J5PXMuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIGMuY2xhdWRlU2Vzc2lvbklkIT09dH0pLHMuc2VsZWN0ZWRJZD1vLmlkLEd0KCkscy5kcmFmdHNbby5pZF09IiIsVGYobykudGhlbihmdW5jdGlvbigpe3JldHVybiBucigpLG99KSl9KX1mdW5jdGlvbiBHeChlKXtyZXR1cm4gZmV0Y2goIi9hcGkvY29kZXgtaGlzdG9yeS8iK2VuY29kZVVSSUNvbXBvbmVudChlKSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoIXR8fHQub2shPT0hMCl0aHJvdyBuZXcgRXJyb3IodCYmdC5lcnJvcnx8Ilx1NjVFMFx1NkNENVx1NTIyMFx1OTY2NFx1NEYxQVx1OEJERFx1MzAwMiIpO3JldHVybiBzLmNvZGV4SGlzdG9yeT1zLmNvZGV4SGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkIT09ZX0pLER0KCksdH0pfWZ1bmN0aW9uIFBsKCl7cmV0dXJuIm9udG91Y2hzdGFydCJpbiB3aW5kb3d8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfWZ1bmN0aW9uIGJyKGUpe2lmKCFzLnRlcm1pbmFsSW50ZXJhY3RpdmUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshdHx8IXMuc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQmJihlJiZQbCgpfHxReCh0KSl9fWZ1bmN0aW9uIEtPKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIik7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1rZXlib2FyZC1vZmZzZXQiKX1mdW5jdGlvbiBRTygpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1wYW5lbCIpO2UmJmUuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0ta2V5Ym9hcmQtb2Zmc2V0Iil9ZnVuY3Rpb24gWXgoZSl7aWYoZSl7dmFyIHQ9ZS5zZWxlY3Rpb25TdGFydCxhPWUuc2VsZWN0aW9uRW5kO09mKGUpLHR5cGVvZiB0PT0ibnVtYmVyIiYmdHlwZW9mIGE9PSJudW1iZXIiJiZlLnNldFNlbGVjdGlvblJhbmdlKHQsYSl9fWZ1bmN0aW9uIFd4KGUpeyFlfHxlLmRhdGFzZXQudG91Y2hTY3JvbGxCb3VuZD09PSJ0cnVlInx8KGUuZGF0YXNldC50b3VjaFNjcm9sbEJvdW5kPSJ0cnVlIixlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKCl7ZS5zY3JvbGxIZWlnaHQ8PWUuY2xpZW50SGVpZ2h0KzF8fChlLnNjcm9sbFRvcDw9MD9lLnNjcm9sbFRvcD0xOmUuc2Nyb2xsVG9wK2UuY2xpZW50SGVpZ2h0Pj1lLnNjcm9sbEhlaWdodCYmKGUuc2Nyb2xsVG9wPU1hdGgubWF4KDEsZS5zY3JvbGxIZWlnaHQtZS5jbGllbnRIZWlnaHQtMSkpKX0se3Bhc3NpdmU6ITB9KSl9ZnVuY3Rpb24gS3goZSl7ZSYmKGxhKGUpLFl4KGUpKX1mdW5jdGlvbiBYTyhlKXt2YXIgdD1lJiZlLnRhcmdldD9lLnRhcmdldDpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7dCYmKEtPKCksS3godCkpfWZ1bmN0aW9uICRPKGUpe3ZhciB0PWUmJmUudGFyZ2V0P2UudGFyZ2V0OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtRTygpLHQmJmxhKHQpLEc2KDIyMDAsdCk7dmFyIGE9WzgwLDIwMCwzODAsNjIwLDkwMF07YS5mb3JFYWNoKGZ1bmN0aW9uKGksbyl7c2V0VGltZW91dChmdW5jdGlvbigpe1FvKCExKSx0JiZ0LnZhbHVlJiZsYSh0KSxvPT09MSYmUGwoKSYmKHpuKCJrZXlib2FyZC1ibHVyIix7Zm9yY2VSZXBsYXk6ITB9KSxBYSgia2V5Ym9hcmQiKSl9LGkpfSl9ZnVuY3Rpb24gWk8oZSl7ZSYmKGUuc2V0U2VsZWN0aW9uUmFuZ2UoZS52YWx1ZS5sZW5ndGgsZS52YWx1ZS5sZW5ndGgpLFl4KGUpKX1mdW5jdGlvbiBReChlKXtlJiYoZS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLFpPKGUpKX1mdW5jdGlvbiBKTyhlKXtXeChlKSxLeChlKX1mdW5jdGlvbiBlXyhlKXtKTyhlKX1mdW5jdGlvbiB0XyhlLHQpe2lmKCFlfHwhdHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQpcmV0dXJuITE7dmFyIGE9d2luZG93LmlubmVySGVpZ2h0LWUuaGVpZ2h0LWUub2Zmc2V0VG9wO2lmKGE8PTUwKXJldHVybiExO3ZhciBpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGkuYm90dG9tPmUuaGVpZ2h0LTEyfWZ1bmN0aW9uIE9mKGUpe2lmKGUpe3ZhciB0PWUuc2Nyb2xsSGVpZ2h0PmUuY2xpZW50SGVpZ2h0KzE7aWYoIXQpe2Uuc2Nyb2xsVG9wPTA7cmV0dXJufWUuc2Nyb2xsVG9wPWUuc2Nyb2xsSGVpZ2h0fX1mdW5jdGlvbiBYeCgpe2lmKHMudGVybWluYWxJbnRlcmFjdGl2ZSl7JHgoKTtyZXR1cm59aWYoIVBsKCkpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshZXx8IXMuc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWV8fFF4KGUpfX1mdW5jdGlvbiAkeCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtlJiYoZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLGUuZm9jdXMoKSxzLnRlcm1pbmFsJiZzLnRlcm1pbmFsLmZvY3VzJiZzLnRlcm1pbmFsLmZvY3VzKCkpfWZ1bmN0aW9uIG5fKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO2lmKCJ2aXJ0dWFsS2V5Ym9hcmQiaW4gbmF2aWdhdG9yKXt2YXIgYT1uYXZpZ2F0b3IudmlydHVhbEtleWJvYXJkO2EuYWRkRXZlbnRMaXN0ZW5lcigiZ2VvbWV0cnljaGFuZ2UiLGZ1bmN0aW9uKCl7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgicGFkZGluZy1ib3R0b20iKX0pfXZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe1h4KCl9KSx0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihvKXt2YXIgYz1vLnRhcmdldDtjLnRhZ05hbWUhPT0iQSImJmMudGFnTmFtZSE9PSJCVVRUT04iJiYhYy5jbG9zZXN0KCJidXR0b24iKSYmIWMuY2xvc2VzdCgiW2RhdGEtdG9vbC10b2dnbGVdIikmJlh4KCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24obyl7aWYoUGwoKSl7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCEoIWN8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1jKSl7dmFyIGQ9by50YXJnZXQ7IWR8fHR5cGVvZiBkLmNsb3Nlc3QhPSJmdW5jdGlvbiJ8fGQuY2xvc2VzdCgiLmlucHV0LXBhbmVsIil8fGQuY2xvc2VzdCgiI21pbmkta2V5Ym9hcmQiKXx8ZC5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC1mYWIiKXx8ZC5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC10b2dnbGUiKXx8ZC5jbG9zZXN0KCIjdGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlIil8fGQuY2xvc2VzdCgiLndhbmQtam95c3RpY2stcm9vdCIpfHxjLmJsdXIoKX19fSwhMCl9ZnVuY3Rpb24gWGgoKXt0cnl7d2luZG93LnNjcm9sbFRvKDAsMCl9Y2F0Y2h7fWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQmJihkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcD0wKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPTApLGRvY3VtZW50LmJvZHkmJihkb2N1bWVudC5ib2R5LnNjcm9sbFRvcD0wKX12YXIgYV89bmV3IFNldChbImNsYXVkZS1zZGsiLCJjbGF1ZGUtY2xpLXByaW50IiwiY29kZXgtY2xpLWV4ZWMiLCJvcGVuY29kZS1jbGktcnVuIiwiZ3Jvay1jbGktaGVhZGxlc3MiLCJxb2Rlci1jbGktcHJpbnQiXSk7ZnVuY3Rpb24gcl8oZSl7cmV0dXJuIWV8fGUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCI/ITE6dHlwZW9mIGUucnVubmVyIT0ic3RyaW5nInx8IWFfLmhhcyhlLnJ1bm5lcil9ZnVuY3Rpb24gcG4oZSl7cy5yZW5kZXJQZW5kaW5nJiYhZXx8KHMucmVuZGVyUGVuZGluZz0hMCxlPyhfZighMCkscy5yZW5kZXJQZW5kaW5nPSExKTpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtfZighMSkscy5yZW5kZXJQZW5kaW5nPSExfSkpfXMuY2hhdFJlbmRlclRpbWVyPW51bGw7ZnVuY3Rpb24gJGgoZSl7aWYoIShzLmNoYXRSZW5kZXJUaW1lciYmIWUpKXtpZihzLmNoYXRSZW5kZXJUaW1lciYmY2xlYXJUaW1lb3V0KHMuY2hhdFJlbmRlclRpbWVyKSxlKXtzLmNoYXRSZW5kZXJUaW1lcj1udWxsLHBuKCk7cmV0dXJufXRyeXt3aW5kb3cuX19zY2hlZHVsZUNoYXRSZW5kZXI9ZnVuY3Rpb24oKXskaCghMCl9fWNhdGNoe312YXIgdD1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uaWQ9PT1zLnNlbGVjdGVkSWR9KSxhPXQmJnQuc3RhdHVzPT09InJ1bm5pbmciJiZ0LnNlc3Npb25LaW5kIT09InN0cnVjdHVyZWQiLGk9YT9yeDppeDtzLmNoYXRSZW5kZXJUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cy5jaGF0UmVuZGVyVGltZXI9bnVsbDt2YXIgbz1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWQ9PT1zLnNlbGVjdGVkSWR9KTtvJiYocy5jdXJyZW50TWVzc2FnZXM9T24obyxLbihvLG8ub3V0cHV0LCEwKSkpLHBuKCl9LGkpfX1mdW5jdGlvbiBpXyhlLHQpe2lmKCFlfHwhdHx8dC5sZW5ndGg9PT0wKXJldHVybltdO2Z1bmN0aW9uIGEoQSl7cmV0dXJuIEEucmVwbGFjZSgvXHgxQig/OltALVpcXC1fXXxcW1swLT9dKlsgLS9dKltALX5dKS9nLCIiKX1mb3IodmFyIGk9YShlKSxvPVtdLGM9W10sZD0wO2Q8dC5sZW5ndGg7ZCsrKWlmKHRbZF0ucm9sZT09PSJ1c2VyIil7dmFyIGY9IiIsbT10W2RdLmNvbnRlbnQ7aWYodHlwZW9mIG09PSJzdHJpbmciKWY9bTtlbHNlIGlmKEFycmF5LmlzQXJyYXkobSkpe2Zvcih2YXIgaD0wO2g8bS5sZW5ndGg7aCsrKWlmKG1baF0udHlwZT09PSJ0ZXh0Iil7Zj1tW2hdLnRleHQ7YnJlYWt9fWYmJmMucHVzaCh7dGV4dDpmLGluZGV4OmR9KX1mb3IodmFyIGc9MCxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBiPWNbZF0seT1pLmluZGV4T2YoIlx1Mjc2RiAiK2IudGV4dCxnKTtpZih5PT09LTEmJih5PWkuaW5kZXhPZihgClx1Mjc2RiBgK2IudGV4dCxnKSx5IT09LTEmJih5Kz0xKSkseT5nKXtmb3IodmFyIEM9aS5zdWJzdHJpbmcoZyx5KSx3PUMuc3BsaXQoYApgKSx4PVtdLGg9MDtoPHcubGVuZ3RoO2grKyl7dmFyIEY9d1toXS50cmltKCk7IUZ8fEYuc3RhcnRzV2l0aCgiXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwIil8fEY9PT0iXHUyNzZGInx8Rj09PSI/Inx8Rj09PSIifHxGLmluY2x1ZGVzKCJDbGF1ZGUgQ29kZSB2Iil8fEYuaW5jbHVkZXMoIk9wdXMiKSYmRi5pbmNsdWRlcygid2l0aCIpfHxGLmluY2x1ZGVzKCJTb25uZXQiKSYmRi5pbmNsdWRlcygid2l0aCIpfHxGLmluY2x1ZGVzKCJBUEkgVXNhZ2UiKXx8Ri5pbmNsdWRlcygiQmlsbGluZyIpfHxGLmluY2x1ZGVzKCJmb3Igc2hvcnRjdXRzIil8fEYuaW5jbHVkZXMoIi9lZmZvcnQiKXx8Ri5tYXRjaCgvXlvilrjilpDilp3ilpjilpfilpbilojilozilo3ilo7ilo/ilpTiloHiloLiloPiloTiloXilobilofilojilohdLyl8fEYubWF0Y2goL15b4pa44paQ4pad4paY4paX4paW4paI4paM4paN4paO4paP4paU4paB4paC4paD4paE4paF4paG4paH4paI4paIXXszLH0vKXx8Ri5sZW5ndGg+MyYmeC5wdXNoKEYpfXgubGVuZ3RoPjAmJm8ucHVzaCh7YmVmb3JlTWVzc2FnZTpiLmluZGV4LGNvbnRlbnQ6eC5qb2luKGAKYCl9KX1nPXkrYi50ZXh0Lmxlbmd0aCsyfXJldHVybiBvfWZ1bmN0aW9uIFpoKGUpe2lmKCFlKXJldHVybiBudWxsO3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZXMiKTtyZXR1cm4gdHx8KHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5jbGFzc05hbWU9ImNoYXQtbWVzc2FnZXMiLGUuYXBwZW5kQ2hpbGQodCksdCl9ZnVuY3Rpb24gWngoZSx0KXt2YXIgYT1aaChlKTtyZXR1cm4gYT8oYS5pbm5lckhUTUw9dCxyYyhhKSxLcygpLFBuKCksYSk6bnVsbH1mdW5jdGlvbiBfZihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKTtpZighdClyZXR1cm47dmFyIGE9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGtlKXtyZXR1cm4ga2UuaWQ9PT1zLnNlbGVjdGVkSWR9KTtpZighYSl7cy5sYXN0UmVuZGVyZWRFbXB0eSE9PSJub25lIiYmKFp4KHQsJzxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj48c3Ryb25nPlx1NjcyQVx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERDwvc3Ryb25nPjxicj5cdTcwQjlcdTUxRkJcdTRFMEFcdTY1QjlcdTMwMENcdTY1QjBcdTVCRjlcdThCRERcdTMwMERcdTVGMDBcdTU5Q0JcdTRGNjBcdTc2ODRcdTdCMkNcdTRFMDBcdTZCMjFcdTVCRjlcdThCRERcdTMwMDI8L2Rpdj4nKSxzLmxhc3RSZW5kZXJlZEVtcHR5PSJub25lIixzLmxhc3RSZW5kZXJlZE1zZ0NvdW50PTApO3JldHVybn12YXIgaT1zLmN1cnJlbnRNZXNzYWdlcyxvPU5fKGkpO2lmKGUwPVJfKGkpLGkubGVuZ3RoPT09MCl7aWYocy5sYXN0UmVuZGVyZWRFbXB0eSE9PSJlbXB0eSIpe3ZhciBjPSIiO3V0KGEpJiYoYz0nPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUtdHJpby13cmFwIj48ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZS10cmlvLWhpbnQiPlx1OUVEOFx1OEJBNFx1NEYxQVx1NjMwOVx1NEVFNVx1NEUwQlx1OEJCRVx1N0Y2RVx1NTNEMVx1OTAwMVx1RkYwQ1x1NTNFRlx1NzBCOVx1NTFGQlx1OEMwM1x1NjU3NFx1RkYxQTwvZGl2Picrdk4oYSx7a2luZDoiZHJvcGRvd24ifSkrIjwvZGl2PiIpLFp4KHQsJzxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj48c3Ryb25nPlx1NUJGOVx1OEJERFx1NURGMlx1NUYwMFx1NTlDQjwvc3Ryb25nPjxicj5cdTU3MjhcdTRFMEJcdTY1QjlcdThGOTNcdTUxNjVcdTY4NDZcdTUzRDFcdTkwMDFcdTZEODhcdTYwNkZcdUZGMENDbGF1ZGUgXHU0RjFBXHU4MUVBXHU1MkE4XHU1NkRFXHU1OTBEXHUzMDAyPC9kaXY+JytjKSxzLmxhc3RSZW5kZXJlZEVtcHR5PSJlbXB0eSIscy5sYXN0UmVuZGVyZWRNc2dDb3VudD0wfVQwKG51bGwsYSksSmgoW10pO3JldHVybn12YXIgZD1pLmxlbmd0aDtkPnMuY2hhdFJlbmRlcmVkQ291bnQmJihzLmNoYXRSZW5kZXJlZENvdW50PWQpO3ZhciBmPU1hdGgubWF4KDAsZC1zLmNoYXRSZW5kZXJlZENvdW50KSxtPWY+MD9pLnNsaWNlKGYpOmksaD10eXBlb2YgYS5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIiYmYS5tZXNzYWdlT2Zmc2V0PjAsZz1mPjB8fGgsYj1tLmxlbmd0aCx5PWEub3V0cHV0P2Eub3V0cHV0Lmxlbmd0aDowO2lmKGEubWVzc2FnZXMmJmEubWVzc2FnZXMubGVuZ3RoPjApe2Zvcih2YXIgQz0wLHc9MCx4PTA7eDxhLm1lc3NhZ2VzLmxlbmd0aDt4Kyspe3ZhciBGPWEubWVzc2FnZXNbeF0uY29udGVudDtpZihGKWlmKEFycmF5LmlzQXJyYXkoRikpe0MrPUYubGVuZ3RoO2Zvcih2YXIgQT0wO0E8Ri5sZW5ndGg7QSsrKXt2YXIgRD1GW0FdO0QudGV4dCYmKHcrPUQudGV4dC5sZW5ndGgpLEQudGhpbmtpbmcmJih3Kz1ELnRoaW5raW5nLmxlbmd0aCksRC5jb250ZW50JiYodys9RC5jb250ZW50Lmxlbmd0aCksRC5pZCYmKHcrPUQuaWQubGVuZ3RoKSxELnRvb2xfdXNlX2lkJiYodys9RC50b29sX3VzZV9pZC5sZW5ndGgpLEQuZGVzY3JpcHRpb24mJih3Kz1ELmRlc2NyaXB0aW9uLmxlbmd0aCksRC5pbnB1dCYmKHcrPUpTT04uc3RyaW5naWZ5KEQuaW5wdXQpLmxlbmd0aCl9aWYoYS5tZXNzYWdlc1t4XS51c2FnZSl7dmFyIEI9YS5tZXNzYWdlc1t4XS51c2FnZTt3Kz0oQi5pbnB1dFRva2Vuc3x8MCkrKEIub3V0cHV0VG9rZW5zfHwwKSsoQi5jYWNoZVJlYWRJbnB1dFRva2Vuc3x8MCkrKEIuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zfHwwKSsoQi5yZWFzb25pbmdPdXRwdXRUb2tlbnN8fDApK01hdGgucm91bmQoKEIudG90YWxDb3N0VXNkfHwwKSoxZTYpKyhCLmVzdGltYXRlZD09PSEwPzE6MCl9fWVsc2UgQys9MSx3PVN0cmluZyhGKS5sZW5ndGh9eT1iKjFlNStDKjFlMyt3fXZhciBUPWV8fGIhPT1zLmxhc3RSZW5kZXJlZE1zZ0NvdW50O2lmKCFUJiZiPT09cy5sYXN0UmVuZGVyZWRNc2dDb3VudCYmeT09PXMubGFzdFJlbmRlcmVkSGFzaCl7dmFyIGs9dC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO2smJlQwKGssYSksSmgoaSk7cmV0dXJufXZhciBNPXMubGFzdFJlbmRlcmVkSGFzaCx6PXMubGFzdFJlbmRlcmVkTXNnQ291bnQ7aWYocy5sYXN0UmVuZGVyZWRNc2dDb3VudD1iLHMubGFzdFJlbmRlcmVkSGFzaD15LGs9WmgodCksIWspcmV0dXJuO3ZhciBPPXB2KGspLHJlPSFzLmNoYXRJbml0aWFsUmVuZGVyRG9uZSxlZT1rLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKS5sZW5ndGgsWj1UfHxlZT09PTB8fGIhPT1lZTtmdW5jdGlvbiB2ZSgpe2Zvcih2YXIga2U9cl8oYSk/aV8oYS5vdXRwdXQsbSk6W10sWGU9IiIsZHQ9bS5zbGljZSgpLnJldmVyc2UoKSx2bj1tLmxlbmd0aCx6ZT0wO3plPGR0Lmxlbmd0aDt6ZSsrKXtmb3IodmFyIG50PWR0W3plXSxIdD12bi0xLXplLGp0PUh0K2YsRm49bnVsbCxYbj0wO1huPGtlLmxlbmd0aDtYbisrKWlmKGtlW1huXS5iZWZvcmVNZXNzYWdlPT09SHQpe0ZuPWtlW1huXTticmVha31GbiYmKFhlKz0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlIHN5c3RlbS1pbmZvIj48ZGl2IGNsYXNzPSJzeXN0ZW0taW5mby1jYXJkIj48ZGl2IGNsYXNzPSJzeXN0ZW0taW5mby1oZWFkZXIiPlx1MjEzOVx1RkUwRiBcdTdDRkJcdTdFREZcdTRGRTFcdTYwNkY8L2Rpdj48ZGl2IGNsYXNzPSJzeXN0ZW0taW5mby1jb250ZW50Ij4nK0woRm4uY29udGVudCkrIjwvZGl2PjwvZGl2PjwvZGl2PiIpLFhlKz10MChudCxtZVtqdF18fG51bGwsanQsbyl9aWYoZyl7dmFyIHBlPWY+MD8iXHU1MkEwXHU4RjdEXHU2NkY0XHU2NUU5XHU3Njg0ICIrTWF0aC5taW4ocy5jaGF0UGFnZVNpemUsZikrIiBcdTY3NjFcdTZEODhcdTYwNkYiOiJcdTUyQTBcdThGN0RcdTY2RjRcdTY1RTlcdTc2ODRcdTZEODhcdTYwNkYiO1hlKz0nPGRpdiBjbGFzcz0iY2hhdC1sb2FkLW1vcmUiIGlkPSJjaGF0LWxvYWQtbW9yZS1zZW50aW5lbCI+PGJ1dHRvbiBjbGFzcz0iY2hhdC1sb2FkLW1vcmUtYnRuIiB0eXBlPSJidXR0b24iPicrcGUrIjwvYnV0dG9uPjwvZGl2PiJ9dmFyIEtlPS0xLG1uPTA7aWYoZWU+MCYmIU8pZm9yKHZhciB1bj1rLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxDbj1rLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKSxxdD0wO3F0PENuLmxlbmd0aDtxdCsrKXt2YXIgaWU9Q25bcXRdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGllLmJvdHRvbT49dW4pe3ZhciBHaT1DbltxdF0uZ2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIpO0dpIT1udWxsJiYoS2U9cGFyc2VJbnQoR2ksMTApLG1uPWllLnRvcC11bik7YnJlYWt9fWlmKGsuaW5uZXJIVE1MPVhlLChmdW5jdGlvbigpe2Zvcih2YXIgaG49ay5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlOm5vdCguc3lzdGVtLWluZm8pIiksdXM9aG4ubGVuZ3RoLF9uPTA7X248dXM7X24rKylobltfbl0uc2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIsU3RyaW5nKGYrdXMtMS1fbikpfSkoKSxyYyhrKSx6PT09MCYmIXMuY2hhdEluaXRpYWxSZW5kZXJEb25lKWsuc2Nyb2xsVG9wPTAscy5jaGF0U3RpY2tUb0JvdHRvbT0hMCxobyh7cmVtb3ZlRGl2aWRlcjohMH0pLHMuY2hhdEluaXRpYWxSZW5kZXJEb25lPSEwO2Vsc2UgaWYoej09PTAmJnMuY2hhdFN0aWNrVG9Cb3R0b20pay5zY3JvbGxUb3A9MDtlbHNlIGlmKE8pay5zY3JvbGxUb3A9MDtlbHNlIGlmKEtlPj0wKXt2YXIgUXU9ay5xdWVyeVNlbGVjdG9yKCcuY2hhdC1tZXNzYWdlW2RhdGEtbXNnLWluZGV4PSInK0tlKyciXScpO2lmKFF1KXt2YXIgYXI9ay5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AsRG49UXUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksJG49RG4udG9wLWFyLW1uO01hdGguYWJzKCRuKT4uNSYmKHMuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSEwLGsuc2Nyb2xsVG9wKz0kbixyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtzLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMX0pKX19SngoayksS3MoKSx3dihrKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt2dihrKSxQbigpLEZDKCl9KX12YXIgbWU9e307aWYoKGZ1bmN0aW9uKCl7Zm9yKHZhciBrZT17aW5wdXRUb2tlbnM6MCxvdXRwdXRUb2tlbnM6MCxjYWNoZVJlYWRJbnB1dFRva2VuczowLGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczowLHJlYXNvbmluZ091dHB1dFRva2VuczowLHRvdGFsQ29zdFVzZDowLGVzdGltYXRlZDohMX0sWGU9ITEsZHQ9LTEsdm49MDt2bjxpLmxlbmd0aDt2bisrKXt2YXIgemU9aVt2bl07aWYoemUucm9sZT09PSJ1c2VyIilkdD49MCYmWGUmJihtZVtkdF09a2UpLGtlPXtpbnB1dFRva2VuczowLG91dHB1dFRva2VuczowLGNhY2hlUmVhZElucHV0VG9rZW5zOjAsY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zOjAscmVhc29uaW5nT3V0cHV0VG9rZW5zOjAsdG90YWxDb3N0VXNkOjAsZXN0aW1hdGVkOiExfSxYZT0hMSxkdD0tMTtlbHNlIGlmKHplLnJvbGU9PT0iYXNzaXN0YW50IiYmemUudXNhZ2Upe3ZhciBudD16ZS51c2FnZTtYZT0hMCxrZS5pbnB1dFRva2Vucys9bnQuaW5wdXRUb2tlbnN8fDAsa2Uub3V0cHV0VG9rZW5zKz1udC5vdXRwdXRUb2tlbnN8fDAsa2UuY2FjaGVSZWFkSW5wdXRUb2tlbnMrPW50LmNhY2hlUmVhZElucHV0VG9rZW5zfHwwLGtlLmNhY2hlQ3JlYXRpb25JbnB1dFRva2Vucys9bnQuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zfHwwLGtlLnJlYXNvbmluZ091dHB1dFRva2Vucys9bnQucmVhc29uaW5nT3V0cHV0VG9rZW5zfHwwLGtlLnRvdGFsQ29zdFVzZCs9bnQudG90YWxDb3N0VXNkfHwwLGtlLmVzdGltYXRlZD1rZS5lc3RpbWF0ZWR8fG50LmVzdGltYXRlZD09PSEwLGR0PXZufWVsc2UgemUucm9sZT09PSJhc3Npc3RhbnQiJiYoZHQ9dm4pfWR0Pj0wJiZYZSYmKG1lW2R0XT1rZSl9KSgpLFopdmUoKTtlbHNlIGlmKGI+ZWUpe3ZhciBIPW0uc2xpY2UoZWUpO0gucmV2ZXJzZSgpO2Zvcih2YXIgdGU9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLEk9W10sVT1bXSxXPWYrZWUsWD0wO1g8SC5sZW5ndGg7WCsrKXt2YXIgZmU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZ2U9ZitlZSsoSC5sZW5ndGgtMS1YKTtmZS5pbm5lckhUTUw9dDAoSFtYXSxtZVtnZV18fG51bGwsZ2Usbyk7dmFyIGo9ZmUuZmlyc3RFbGVtZW50Q2hpbGQ7aiYmKGouY2xhc3NMaXN0LmFkZCgiYW5pbWF0ZS1pbiIpLGouc2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIsU3RyaW5nKGdlKSksSS5wdXNoKGopLFUucHVzaChnZSksdGUuYXBwZW5kQ2hpbGQoaikpfWsuaW5zZXJ0QmVmb3JlKHRlLGsuZmlyc3RDaGlsZCksS3MoKSxKeChrKSx3dihrKSxPP3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2suaXNDb25uZWN0ZWQmJk1hdGguYWJzKGsuc2Nyb2xsVG9wKT4xJiYocy5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITAsay5zY3JvbGxUb3A9MCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtzLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMX0pKSxobyh7cmVtb3ZlRGl2aWRlcjohMH0pLFBuKCl9KToocy5jaGF0VW5yZWFkU3RhcnRJbmRleDwwJiYocy5jaGF0VW5yZWFkU3RhcnRJbmRleD1XKSxzLmNoYXRVbnJlYWRDb3VudCs9SS5sZW5ndGgsdnYoayksUG4oKSl9ZWxzZSBpZihiPT09ZWUmJnkhPT1NKXtmb3IodmFyIFk9QXJyYXkuZnJvbShrLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKSksc2U9bS5zbGljZSgpLnJldmVyc2UoKSxRPSExLGNlPU1hdGgubWluKDQsc2UubGVuZ3RoLFkubGVuZ3RoKSxKPTA7SjxjZTtKKyspe3ZhciBkZT1ZW0pdLHhlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHllPWYrc2UubGVuZ3RoLTEtSjt4ZS5pbm5lckhUTUw9dDAoc2VbSl0sbWVbeWVdfHxudWxsLHllLG8pO3ZhciBGZT14ZS5maXJzdEVsZW1lbnRDaGlsZDtpZihGZSl7aWYoZGUuaW5uZXJIVE1MIT09RmUuaW5uZXJIVE1MfHxkZS5jbGFzc05hbWUhPT1GZS5jbGFzc05hbWUpay5yZXBsYWNlQ2hpbGQoRmUsZGUpLHNfKEZlKSxRPSEwO2Vsc2UgaWYoSj4wKWJyZWFrfX1pZighUSYmc2UubGVuZ3RoPmNlJiZ2ZSgpLFEpe0tzKCksd3YoaykscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7TyYmay5pc0Nvbm5lY3RlZCYmTWF0aC5hYnMoay5zY3JvbGxUb3ApPjEmJihzLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMCxrLnNjcm9sbFRvcD0wLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3MuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExfSkpLHZ2KGspLFBuKCl9KTt2YXIgTmU9ay5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlIikscnQ9ay5xdWVyeVNlbGVjdG9yQWxsKCIudG9vbC11c2UtY2FyZCwgLmlubGluZS1kaWZmW2RhdGEtZXhwYW5kLWtleV0iKSxjdD1udWxsO3J0LmZvckVhY2goZnVuY3Rpb24oa2Upe3ZhciBYZT15dihrZSk7SGEoWGUpPT09bnVsbCYmKGtlLmNsYXNzTGlzdC5jb250YWlucygiYXNrLXVzZXIiKSYmIWtlLmNsYXNzTGlzdC5jb250YWlucygiYXNrLXVzZXItYW5zd2VyZWQiKXx8KE5lJiZOZS5jb250YWlucyhrZSk/Y3Q/a2UuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIik6Y3Q9a2U6a2UuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIikpKX0pfX1lbHNlIGI8ZWUmJnZlKCk7SmooayksX18oayxhKSxrXyh0LGssaSxyZSksVDAoayxhKSxKaChpKX12YXIgVWw9ITE7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKCEoIXR8fCEodCBpbnN0YW5jZW9mIEVsZW1lbnQpKSl7dmFyIGE9dC5jbG9zZXN0KCIjdG9kby1wcm9ncmVzcy10b2dnbGUiKTtpZihhKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxVbD0hVWwsYS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLFVsPyJ0cnVlIjoiZmFsc2UiKSxhLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsVWw/Ilx1NjUzNlx1OEQ3N1x1NUY4NVx1NTI5RVx1NTIxN1x1ODg2OCI6Ilx1NUM1NVx1NUYwMFx1NUY4NVx1NTI5RVx1NTIxN1x1ODg2OCIpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzIiksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcy1ib2R5Iik7aSYmbyYmKFVsPyhpLmNsYXNzTGlzdC5hZGQoImV4cGFuZGVkIiksby5jbGFzc0xpc3QuYWRkKCJleHBhbmRlZCIpKTooaS5jbGFzc0xpc3QucmVtb3ZlKCJleHBhbmRlZCIpLG8uY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kZWQiKSkpLE5mKCl9fX0pO2Z1bmN0aW9uIE5mKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoYXQtb3V0cHV0IC5jaGF0LW1lc3NhZ2VzIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcy1ib2R5Iik7aWYoISghZXx8IXQpKXt2YXIgYT1lLGk9IXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSxvPXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJleHBhbmRlZCIpLGM9dC5vZmZzZXRIZWlnaHQ7aSYmbyYmYz4wP2Euc3R5bGUucGFkZGluZ0JvdHRvbT1jKzgrInB4IjphLnN0eWxlLnBhZGRpbmdCb3R0b209IiJ9fWZ1bmN0aW9uIHVfKGUpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIilyZXR1cm4gZTtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIHQ9W10sYT0wO2E8ZS5sZW5ndGg7YSsrKXt2YXIgaT1lW2FdO3R5cGVvZiBpPT0ic3RyaW5nIj90LnB1c2goaSk6aSYmdHlwZW9mIGkudGV4dD09InN0cmluZyImJnQucHVzaChpLnRleHQpfXJldHVybiB0LmpvaW4oIiIpfXJldHVybiIifWZ1bmN0aW9uIG9fKGUsdCl7Zm9yKHZhciBhPXt9LGk9dDtpPGUubGVuZ3RoO2krKyl7dmFyIG89ZVtpXTtpZighKCFvfHwhQXJyYXkuaXNBcnJheShvLmNvbnRlbnQpKSlmb3IodmFyIGM9MDtjPG8uY29udGVudC5sZW5ndGg7YysrKXt2YXIgZD1vLmNvbnRlbnRbY107ZCYmZC50eXBlPT09InRvb2xfcmVzdWx0IiYmZC50b29sX3VzZV9pZCYmKGFbZC50b29sX3VzZV9pZF09dV8oZC5jb250ZW50KSl9fWZvcih2YXIgZj17fSxtPTAsaD0wLGc9ITEsYj10O2I8ZS5sZW5ndGg7YisrKXt2YXIgeT1lW2JdO2lmKCEoIXl8fCFBcnJheS5pc0FycmF5KHkuY29udGVudCkpKWZvcih2YXIgQz0wO0M8eS5jb250ZW50Lmxlbmd0aDtDKyspe3ZhciB3PXkuY29udGVudFtDXTtpZighKCF3fHx3LnR5cGUhPT0idG9vbF91c2UiKSl7dmFyIHg9dy5pbnB1dHx8e307aWYody5uYW1lPT09IlRhc2tDcmVhdGUiKXtnPSEwLGgrKzt2YXIgRj1hW3cuaWRdfHwiIixBPUYubWF0Y2goLyMoXGQrKS8pLEQ9QT9BWzFdOlN0cmluZyhoKTtmW0RdPXtpZDpELGNvbnRlbnQ6eC5zdWJqZWN0fHwiIixhY3RpdmVGb3JtOnguYWN0aXZlRm9ybXx8IiIsc3RhdHVzOiJwZW5kaW5nIixvcmRlcjptKyt9fWVsc2UgaWYody5uYW1lPT09IlRhc2tVcGRhdGUiKXtnPSEwO3ZhciBCPVN0cmluZyh4LnRhc2tJZCksVD1mW0JdO1R8fChUPXtpZDpCLGNvbnRlbnQ6IiIsYWN0aXZlRm9ybToiIixzdGF0dXM6InBlbmRpbmciLG9yZGVyOm0rK30sZltCXT1UKSx4LnN0YXR1cyYmKFQuc3RhdHVzPXguc3RhdHVzKSx4LnN1YmplY3QmJihULmNvbnRlbnQ9eC5zdWJqZWN0KSx4LmFjdGl2ZUZvcm0mJihULmFjdGl2ZUZvcm09eC5hY3RpdmVGb3JtKX19fX1pZighZylyZXR1cm4gbnVsbDt2YXIgaz1bXTtmb3IodmFyIE0gaW4gZilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZixNKSYmZltNXS5zdGF0dXMhPT0iZGVsZXRlZCImJmsucHVzaChmW01dKTtyZXR1cm4gay5zb3J0KGZ1bmN0aW9uKHosTyl7cmV0dXJuIHoub3JkZXItTy5vcmRlcn0pLGsubGVuZ3RoP2s6bnVsbH1mdW5jdGlvbiBKaChlKXtmb3IodmFyIHQ9MCxhPWUubGVuZ3RoLTE7YT49MDthLS0paWYoZVthXSYmZVthXS5yb2xlPT09InVzZXIiKXt0PWErMTticmVha31mb3IodmFyIGk9bnVsbCxvPWUubGVuZ3RoLTE7bz49dDtvLS0pe3ZhciBjPWVbb107aWYoISghYy5jb250ZW50fHwhQXJyYXkuaXNBcnJheShjLmNvbnRlbnQpKSl7Zm9yKHZhciBkPWMuY29udGVudC5sZW5ndGgtMTtkPj0wO2QtLSl7dmFyIGY9Yy5jb250ZW50W2RdO2lmKGYudHlwZT09PSJ0b29sX3VzZSImJmYuc2VtYW50aWMmJmYuc2VtYW50aWMua2luZD09PSJ0YXNrX2xpc3QiKXtpPWYuc2VtYW50aWMuaXRlbXM7YnJlYWt9aWYoZi50eXBlPT09InRvb2xfdXNlIiYmZi5uYW1lPT09IlRvZG9Xcml0ZSImJmYuaW5wdXQmJmYuaW5wdXQudG9kb3Mpe2k9Zi5pbnB1dC50b2RvczticmVha319aWYoaSlicmVha319aXx8KGk9b18oZSx0KSk7dmFyIG09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MiKSxoPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWJvZHkiKTtpZihtKXtpZighaXx8aS5sZW5ndGg9PT0wKXttLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGgmJmguY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksTmYoKTtyZXR1cm59Zm9yKHZhciBnPTAsYj0wLHk9IiIsQz0wO0M8aS5sZW5ndGg7QysrKWlbQ10uc3RhdHVzPT09ImNvbXBsZXRlZCImJmcrKyxpW0NdLnN0YXR1cz09PSJpbl9wcm9ncmVzcyImJihiKysseXx8KHk9aVtDXS5hY3RpdmVGb3JtfHxpW0NdLmNvbnRlbnR8fCIiKSk7dmFyIHc9Zz09PWkubGVuZ3RoLHg9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHRlKXtyZXR1cm4gdGUuaWQ9PT1zLnNlbGVjdGVkSWR9KSxGPSEheCYmeC5zdGF0dXM9PT0icnVubmluZyI7aWYoIUZ8fHcpe20uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksaCYmaC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxOZigpO3JldHVybn1tLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLG0uY2xhc3NMaXN0LnJlbW92ZSgiYWxsLWRvbmUiKSxoJiZoLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiKTtBJiYoQS50ZXh0Q29udGVudD1nKyIgLyAiK2kubGVuZ3RoKTt2YXIgRD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcy10YXNrIik7aWYoRCl7aWYoIXkpe2Zvcih2YXIgQj0wO0I8aS5sZW5ndGg7QisrKWlmKGlbQl0uc3RhdHVzPT09InBlbmRpbmciJiYoaVtCXS5hY3RpdmVGb3JtfHxpW0JdLmNvbnRlbnQpKXt5PWlbQl0uYWN0aXZlRm9ybXx8aVtCXS5jb250ZW50O2JyZWFrfX1ELnRleHRDb250ZW50PXl8fCJcdTUxQzZcdTU5MDdcdTRFMkRcdTIwMjYifXZhciBUPWkubGVuZ3RoPjA/Zy9pLmxlbmd0aDowLGs9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtcmluZyIpO2smJmsuc3R5bGUuc2V0UHJvcGVydHkoIi0tcHJvZ3Jlc3MiLFQudG9GaXhlZCgzKSk7dmFyIE09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtZmlsbCIpO00mJk0uc3R5bGUuc2V0UHJvcGVydHkoIi0tcHJvZ3Jlc3MiLFQudG9GaXhlZCgzKSk7dmFyIHo9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtbGlzdCIpO2lmKHope2Zvcih2YXIgTz0iIixyZT0wO3JlPGkubGVuZ3RoO3JlKyspe3ZhciBlZT1pW3JlXSxaPWVlLnN0YXR1c3x8InBlbmRpbmciLHZlPVo9PT0iaW5fcHJvZ3Jlc3MiPyJhY3RpdmUiOlo9PT0iY29tcGxldGVkIj8iZG9uZSI6IiIsbWU9Wj09PSJpbl9wcm9ncmVzcyI/ImFjdGl2ZSI6Wj09PSJjb21wbGV0ZWQiPyJkb25lIjoicGVuZGluZyIsSD1aPT09ImNvbXBsZXRlZCI/Ilx1MjcxMyI6Wj09PSJpbl9wcm9ncmVzcyI/Ilx1MjAzQSI6Ilx1MjVDQiI7Tys9JzxsaSBjbGFzcz0idG9kby1wcm9ncmVzcy1pdGVtICcrdmUrJyI+PHNwYW4gY2xhc3M9InRvZG8taXRlbS1pY29uICcrbWUrJyI+JytIKyI8L3NwYW4+PHNwYW4+IitMKGVlLmNvbnRlbnR8fCIiKSsiPC9zcGFuPjwvbGk+In16LmlubmVySFRNTD1PfXMuc2VsZWN0ZWRJZCYmTGgocy5zZWxlY3RlZElkKSxOZigpfX1mdW5jdGlvbiBzXyhlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jb2RlLWNvcHkiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGE9dC5jbG9zZXN0KCIuY29kZS1ibG9jayIpLGk9YT9hLnF1ZXJ5U2VsZWN0b3IoImNvZGUiKTpudWxsO2kmJkdmKGkudGV4dENvbnRlbnR8fCIiLG51bGwsZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PSJDb3BpZWQhIix0LmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PSJDb3B5Iix0LmNsYXNzTGlzdC5yZW1vdmUoImNvcGllZCIpfSwyZTMpfSl9KX0pfWZ1bmN0aW9uIEp4KGUpe2UucXVlcnlTZWxlY3RvckFsbCgiLmNvZGUtY29weSIpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGE9dC5jbG9uZU5vZGUoITApO3QucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoYSx0KSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBpPWEuY2xvc2VzdCgiLmNvZGUtYmxvY2siKSxvPWk/aS5xdWVyeVNlbGVjdG9yKCJjb2RlIik6bnVsbDtvJiZHZihvLnRleHRDb250ZW50fHwiIixudWxsLGZ1bmN0aW9uKCl7YS50ZXh0Q29udGVudD0iQ29waWVkISIsYS5jbGFzc0xpc3QuYWRkKCJjb3BpZWQiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50ZXh0Q29udGVudD0iQ29weSIsYS5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX0pfSl9KSxsXyhlKX1mdW5jdGlvbiBsXyhlKXt2YXIgdD13aW5kb3cubWF0Y2hNZWRpYSgiKHBvaW50ZXI6IGNvYXJzZSkiKS5tYXRjaGVzO3QmJmUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZSIpLmZvckVhY2goZnVuY3Rpb24oYSl7aWYoIWEucXVlcnlTZWxlY3RvcigiLm1zZy1jb3B5LWJ0biIpKXt2YXIgaT1hLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2UtYnViYmxlIik7aWYoaSl7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7by5jbGFzc05hbWU9Im1zZy1jb3B5LWJ0biIsby50ZXh0Q29udGVudD0iXHU1OTBEXHU1MjM2IixvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihjKXtjLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBkPWkuaW5uZXJUZXh0fHxpLnRleHRDb250ZW50fHwiIjtHZihkLnRyaW0oKSxudWxsLGZ1bmN0aW9uKCl7by50ZXh0Q29udGVudD0iXHU1REYyXHU1OTBEXHU1MjM2IixvLmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLnRleHRDb250ZW50PSJcdTU5MERcdTUyMzYiLG8uY2xhc3NMaXN0LnJlbW92ZSgiY29waWVkIiksby5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIil9LDE1MDApfSl9KSxhLmFwcGVuZENoaWxkKG8pfX19KX0oZnVuY3Rpb24oKXt2YXIgdD13aW5kb3cubWF0Y2hNZWRpYSgiKHBvaW50ZXI6IGNvYXJzZSkiKS5tYXRjaGVzO2lmKHQpe3ZhciBhPW51bGwsaT0wO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKG8pe3ZhciBjPW8udGFyZ2V0LmNsb3Nlc3QoIi5jaGF0LW1lc3NhZ2UiKTtpZihjKXt2YXIgZD1jLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2UtYnViYmxlIik7ZCYmKGk9by50b3VjaGVzWzBdLmNsaWVudFksYT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGY9Yy5xdWVyeVNlbGVjdG9yKCIubXNnLWNvcHktYnRuIik7ZiYmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tc2ctY29weS1idG4udmlzaWJsZSIpLmZvckVhY2goZnVuY3Rpb24obSl7bS5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIil9KSxmLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKSl9LDUwMCkpfX0se3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGZ1bmN0aW9uKG8pe2EmJk1hdGguYWJzKG8udG91Y2hlc1swXS5jbGllbnRZLWkpPjEwJiYoY2xlYXJUaW1lb3V0KGEpLGE9bnVsbCl9LHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGZ1bmN0aW9uKCl7YSYmKGNsZWFyVGltZW91dChhKSxhPW51bGwpfSx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihvKXtvLnRhcmdldC5jbG9zZXN0KCIubXNnLWNvcHktYnRuIil8fGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tc2ctY29weS1idG4udmlzaWJsZSIpLmZvckVhY2goZnVuY3Rpb24oYyl7Yy5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIil9KX0pfX0pKCk7ZnVuY3Rpb24gY18oZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9U3RyaW5nKGUpLnRyaW0oKTtyZXR1cm4gdD8hISh0LmluZGV4T2YoIlx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCIpPT09MHx8dD09PSJcdTI3NkYifHx0PT09Ilx1MjAzQSJ8fC9eW+KVreKVsOKUguKUjOKUlOKUkOKUmOKUnOKUpOKUrOKUtOKUvOKUgOKVkF17Mix9JC8udGVzdCh0KXx8L15b4paB4paC4paD4paE4paF4paG4paH4paI4paU4paV4paP4paQXSskLy50ZXN0KHQpfHx0LmluZGV4T2YoImVzYyB0byBpbnRlcnJ1cHQiKSE9PS0xfHx0LmluZGV4T2YoIkNsYXVkZSBDb2RlIHYiKSE9PS0xfHwvXlNvbm5ldFxiLy50ZXN0KHQpfHx0LmluZGV4T2YoIkZhaWxlZCB0byBpbnN0YWxsIEFudGhyb3BpYyIpIT09LTF8fHQuaW5kZXhPZigiQ2xhdWRlIENvZGUgaGFzIHN3aXRjaGVkIikhPT0tMXx8dC5pbmRleE9mKCI/IGZvciBzaG9ydGN1dHMiKSE9PS0xfHx0LmluZGV4T2YoIkNsYXVkZSBpcyB3YWl0aW5nIikhPT0tMXx8dC5pbmRleE9mKCJbd2FuZF0iKSE9PS0xfHx0LmluZGV4T2YoIjA7Iik9PT0wfHx0LmluZGV4T2YoIjk7Iik9PT0wfHx0LmluZGV4T2YoImN0cmwrZyIpIT09LTF8fHQuaW5kZXhPZigiL2VmZm9ydCIpIT09LTF8fC9eVXNpbmcgLiogZm9yIC4qIHNlc3Npb24vLnRlc3QodCl8fHQuaW5kZXhPZigiUHJlc3MgIik9PT0wJiZ0LmluZGV4T2YoIiBmb3IiKSE9PS0xfHx0LmluZGV4T2YoInR5cGUgIik9PT0wJiZ0LmluZGV4T2YoIiB0byAiKSE9PS0xfHx0LmluZGV4T2YoImF1dG8gbW9kZSBpcyB1bmF2YWlsYWJsZSIpIT09LTF8fC9NQ1Agc2VydmVyLipmYWlsZWQvaS50ZXN0KHQpfHx0LmluZGV4T2YoIkdlcm1pbmF0aW5nIikhPT0tMXx8dC5pbmRleE9mKCJEb29kbGluZyIpIT09LTF8fHQuaW5kZXhPZigiQnJld2luZyIpIT09LTF8fHQuaW5kZXhPZigiUGVybWlzc2lvbnMiKSE9PS0xJiZ0LmluZGV4T2YoIm1vZGUiKSE9PS0xfHx0LmluZGV4T2YoIlx1MjVDRiIpPT09MCYmdC5pbmRleE9mKCJceEI3IikhPT0tMXx8dC5pbmRleE9mKCJbPiIpPT09MHx8dC5pbmRleE9mKCJbPCIpPT09MHx8dC5pbmRleE9mKCJDYXB0dXJlZCBDbGF1ZGUgc2Vzc2lvbiBJRCIpIT09LTF8fC9ePl9ccypPcGVuQUkgQ29kZXhcYi8udGVzdCh0KXx8L15PcGVuQUkgQ29kZXhcYi9pLnRlc3QodCl8fC9eKG1vZGVsfGRpcmVjdG9yeSk6XHMrL2kudGVzdCh0KXx8L14odGlwfGNvbnRleHQpOlxzKy9pLnRlc3QodCl8fC9ed29yayh0cmVlfHNwYWNlKTpccysvaS50ZXN0KHQpfHwvXihhcHByb3ZhbHM/fHNhbmRib3h8cHJvdmlkZXJ8c2Vzc2lvbiBpZCk6XHMrL2kudGVzdCh0KXx8L14odGhpbmtpbmd8d29ya2luZykoXC5cLlwufOKApik/JC9pLnRlc3QodCl8fC9eW+KAouKXpsK3XVxzK1dvcmtpbmdcYi9pLnRlc3QodCl8fC9eW+KAouKXpsK3XVxzKyhSdW5uaW5nfFBsYW5uaW5nfEFwcGx5aW5nfFJlYWRpbmd8U2VhcmNoaW5nKVxiL2kudGVzdCh0KXx8L15b4oCi4pemwrddXHMrKEluc3BlY3Rpbmd8UmV2aWV3aW5nfFN1bW1hcml6aW5nfEVkaXRpbmd8VXBkYXRpbmd8V3JpdGluZylcYi9pLnRlc3QodCl8fC9eW+KAouKXpsK3XVxzK0NvbXBsZXRlZFxiL2kudGVzdCh0KXx8L14oY3RybHxlbnRlcnx0YWJ8c2hpZnR8ZXNjfGFsdClcKy9pLnRlc3QodCl8fC9cYihvcGVufGNsb3NlfHRvZ2dsZSkgKGNoYXR8dGVybWluYWwpXGIvaS50ZXN0KHQpfHwvXGIoYXBwcm92ZXxkZW55KVxiLipcYihwZXJtaXNzaW9ufGFwcHJvdmFsKVxiL2kudGVzdCh0KXx8L14odXNlfHByZXNzKSAuKiAodG98Zm9yKSAuKi9pLnRlc3QodCl8fC9eKD86dG9rZW58Y29udGV4dCB3aW5kb3d8cmVtYWluaW5nIGNvbnRleHR8Y29udmVyc2F0aW9uKTpccysvaS50ZXN0KHQpfHwvXig/OmN3ZHxwYXRoKTpccytcLy9pLnRlc3QodCl8fC9eWzw+4pSC4pSG4pWOXS4qWzw+4pSC4pSG4pWOXSQvLnRlc3QodCkmJnQubGVuZ3RoPDgpOiExfWZ1bmN0aW9uIGRfKGUpe3JldHVybiBTdHJpbmcoZXx8IiIpLnJlcGxhY2UoL1x4MWJcXVteXHgwN10qKFx4MDd8XHgxYlxcKS9nLCIiKS5yZXBsYWNlKC9ceDFiXFsoXGQrKUMvZyxmdW5jdGlvbih0LGEpe3JldHVybiIgIi5yZXBlYXQoTnVtYmVyKGEpfHwxKX0pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0FCXS9nLGAKYCkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbc3VdL2csIiIpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0hmSktyXS9nLGAKYCkucmVwbGFjZSgvXHgxYk0vZyxgCmApLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW1NUXS9nLGAKYCkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbYS16QS1aXS9nLCIiKS5yZXBsYWNlKC9ceDFiWz48PWVQWF5fXS9nLCIiKS5yZXBsYWNlKC9bXHUwMGEwXHUyMDBiLVx1MjAwZFx1ZmVmZl0vZywiICIpLnJlcGxhY2UoL1tceDAwLVx4MDhceDBiXHgwY1x4MGUtXHgxZl0vZywiIikucmVwbGFjZSgvXHJcbj8vZyxgCmApLnJlcGxhY2UoL1sgXHRdK1xuL2csYApgKS5yZXBsYWNlKC9cbnszLH0vZyxgCgpgKX1mdW5jdGlvbiBmXyhlLHQpe3ZhciBhPVtdO2lmKCFlKXJldHVybiBhO3ZhciBpPVN0cmluZyhlfHwiIiksbz1gCmAsYz0iXHIiLGQ9Ilx4MUIiO2lmKC9eY29kZXhcYi8udGVzdChTdHJpbmcodHx8IiIpLnRyaW0oKSkpe2xldCBCYT1mdW5jdGlvbihUZSl7cmV0dXJuIFN0cmluZyhUZXx8IiIpLnJlcGxhY2UoL1x4MWJcXVteXHgwN10qKFx4MDd8XHgxYlxcKS9nLCIiKS5yZXBsYWNlKC9ceDFiXFsoXGQrKUMvZyxmdW5jdGlvbihFZSxSZSl7cmV0dXJuIiAiLnJlcGVhdChOdW1iZXIoUmUpfHwxKX0pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0FCXS9nLG8pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW3N1XS9nLCIiKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltIZkpLcl0vZyxvKS5yZXBsYWNlKC9ceDFiTS9nLG8pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW1NUXS9nLG8pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW2EtekEtWl0vZywiIikucmVwbGFjZSgvXHgxYls+PD1lUFheX10vZywiIikucmVwbGFjZSgvW1x1MDBhMFx1MjAwYi1cdTIwMGRcdWZlZmZdL2csIiAiKS5yZXBsYWNlKC9bXHgwMC1ceDA4XHgwYlx4MGNceDBlLVx4MWZdL2csIiIpLnJlcGxhY2UoL1sgXHRdK1xuL2csbyl9LGthPWZ1bmN0aW9uKFRlKXtyZXR1cm4gU3RyaW5nKFRlfHwiIikucmVwbGFjZSgvXHMrL2csIiAiKS5yZXBsYWNlKC9bTV0rJC9nLCIiKS50cmltKCl9LFdpPWZ1bmN0aW9uKFRlKXtyZXR1cm4gU3RyaW5nKFRlfHwiIikucmVwbGFjZSgvXuKAulxzKi8sIiIpLnJlcGxhY2UoL14+XHMqLywiIikudHJpbSgpfSxHcj1mdW5jdGlvbihUZSl7dmFyIEVlPVN0cmluZyhUZXx8IiIpLnRyaW0oKTtyZXR1cm4hISghRWV8fGNfKEVlKXx8RC50ZXN0KEVlKXx8L15b4pWt4pWw4pSC4pSM4pSU4pSQ4pSY4pSc4pSk4pSs4pS04pS84pSA4pWQXS8udGVzdChFZSl8fC9eXFs+WzAtOTs/XSp1JC9pLnRlc3QoRWUpfHwvXk0rJC9pLnRlc3QoRWUpfHwvXig/Ok9wZW5BSSBDb2RleHxDb2RleClcYi9pLnRlc3QoRWUpfHwvXig/OnRva2Vucz98Y29udGV4dCB3aW5kb3d8cmVtYWluaW5nIGNvbnRleHR8YXBwcm92YWxzP3xzYW5kYm94fHByb3ZpZGVyfHNlc3Npb24gaWQpOlxzKi9pLnRlc3QoRWUpfHwvXig/OnRoaW5raW5nfHdvcmtpbmcpXHMqKD86XC5cLlwufOKApik/JC9pLnRlc3QoRWUpfHwvXlvigKLil6bCt11ccysoPzp0aGlua2luZ3x3b3JraW5nfHJ1bm5pbmd8cGxhbm5pbmd8YXBwbHlpbmd8cmVhZGluZ3xzZWFyY2hpbmd8aW5zcGVjdGluZ3xyZXZpZXdpbmd8c3VtbWFyaXppbmd8ZWRpdGluZ3x1cGRhdGluZ3x3cml0aW5nfGNvbXBsZXRlZClcYi9pLnRlc3QoRWUpfHwvXig/Om1vZGVsfGRpcmVjdG9yeXx0aXB8Y29udGV4dHxjd2R8cGF0aCk6XHMrL2kudGVzdChFZSkpfSxvcz1mdW5jdGlvbihUZSl7dmFyIEVlPVN0cmluZyhUZXx8IiIpLnRyaW0oKTtpZighL17igLooPzpcc3wkKS8udGVzdChFZSl8fEQudGVzdChFZSkpcmV0dXJuIG51bGw7dmFyIFJlPWthKFdpKEVlKSk7cmV0dXJuIVJlfHxHcihSZSk/bnVsbDpSZX0sc3M9ZnVuY3Rpb24oVGUpe3ZhciBFZT1TdHJpbmcoVGV8fCIiKS50cmltKCk7aWYoIS9eW+KAouKXpsK34o+6XS8udGVzdChFZSkpcmV0dXJuIG51bGw7dmFyIFJlPUVlLnJlcGxhY2UoL15b4oCi4pemwrddXHMqLywiIikucmVwbGFjZSgvXuKPulxzKy8sIiIpLnJlcGxhY2UoL17ilIJccyovLCIiKS50cmltKCk7cmV0dXJuIVJlfHwvXlvigKLil6bCt+KPul0kLy50ZXN0KFJlKXx8KFJlPVJlLnJlcGxhY2UoL1xzKlwoXGQrW3NtaF0/XHMq4oCiXHMqZXNjIHRvIGludGVycnVwdFwpW1xzXFNdKiQvaSwiIikucmVwbGFjZSgvKD86W2Etel17MSw2fSk/4oC6W1xzXFNdKiQvLCIiKS5yZXBsYWNlKC9cc3syLH1ncHQtXGRbXHNcU10qJC9pLCIiKS5yZXBsYWNlKC9cYig/Ok9wZW5BSSBDb2RleHxtb2RlbDp8ZGlyZWN0b3J5OnxUaXA6KVxiW1xzXFNdKiQvaSwiIiksUmU9a2EoUmUpLCFSZXx8UmUubGVuZ3RoPDJ8fEIudGVzdChSZSl8fEdyKFJlKSk/bnVsbDpSZX0saWM9ZnVuY3Rpb24oVGUpe3ZhciBFZT1rYShUZSk7cmV0dXJuIUVlfHxHcihFZSl8fC9eW+KAouKXpsK34o+64oC6XS8udGVzdChFZSl8fC9eW1xbXF08PjAtOTs/XSt1PyQvaS50ZXN0KEVlKXx8L15b4pWt4pWw4pSC4pSM4pSU4pSQ4pSY4pSc4pSk4pSs4pS04pS84pSA4pWQXS8udGVzdChFZSl8fEVlLmxlbmd0aD41MDA/bnVsbDpFZX0sbHM9ZnVuY3Rpb24oVGUsRWUpe2lmKFRlLmluZGV4T2YoRWUpIT09MClyZXR1cm4hMTt2YXIgUmU9VGUuc2xpY2UoRWUubGVuZ3RoKTtyZXR1cm4vXlthLXpdezEsNH0kL2kudGVzdChSZSl9LCR1PWZ1bmN0aW9uKFRlKXtmb3IodmFyIEVlPVtdLFJlPTA7UmU8VGUubGVuZ3RoO1JlKyspe3ZhciBtdD1rYShUZVtSZV0pO2lmKCEoIW10fHxtdC5sZW5ndGg8Mnx8R3IobXQpKSl7dmFyIFB0PUVlW0VlLmxlbmd0aC0xXTtpZighUHQpe0VlLnB1c2gobXQpO2NvbnRpbnVlfWlmKG10IT09UHQpe2lmKG10LmluZGV4T2YoUHQpPT09MCl7RWVbRWUubGVuZ3RoLTFdPW10O2NvbnRpbnVlfWlmKFB0LmluZGV4T2YobXQpPT09MCl7bHMoUHQsbXQpJiYoRWVbRWUubGVuZ3RoLTFdPW10KTtjb250aW51ZX1FZS5wdXNoKG10KX19fXJldHVybiBFZS5qb2luKG8pLnRyaW0oKX0sdWM9ZnVuY3Rpb24oVGUpe2Zvcih2YXIgRWU9MDtFZTxUZS5sZW5ndGg7RWUrKyl7dmFyIFJlPVN0cmluZyhUZVtFZV18fCIiKS50cmltKCk7aWYoUmUpe3ZhciBtdD1vcyhSZSk7aWYobXQpcmV0dXJuIG10O2lmKFJlPT09Ilx1MjAzQSIpZm9yKHZhciBQdD1FZSsxO1B0PFRlLmxlbmd0aDtQdCsrKXt2YXIgWXI9a2EoVGVbUHRdKTtpZighKCFZcnx8RC50ZXN0KFlyKXx8R3IoWXIpKSlyZXR1cm4gWXJ9fX1yZXR1cm4gbnVsbH0sb2M9ZnVuY3Rpb24oVGUpe2Zvcih2YXIgRWU9W10sUmU9ITEsbXQ9MDttdDxUZS5sZW5ndGg7bXQrKyl7dmFyIFB0PVN0cmluZyhUZVttdF18fCIiKS50cmltKCk7aWYoIVB0KXtpZihSZSlicmVhaztjb250aW51ZX12YXIgWXI9c3MoUHQpO2lmKFlyKXtFZS5wdXNoKFlyKSxSZT0hMDtjb250aW51ZX1pZihSZSl7aWYoUHQ9PT0iXHUyMDNBInx8L17igLooPzpcc3wkKS8udGVzdChQdCl8fEQudGVzdChQdCl8fEdyKFB0KSlicmVhaztFZS5wdXNoKGthKFB0KSl9fXJldHVybiBFZX07Zm9yKHZhciBmPUJhLG09a2EsaD1XaSxnPUdyLGI9b3MseT1zcyxDPWljLHc9bHMseD0kdSxGPXVjLEE9b2MsRD0vXGJncHQtXGQrKD86XC5cZCspPyg/OlxzK1thLXowLTkuLV0rKT9ccyvCt1xzK1xkKyVccytsZWZ0XHMrwrdccysoPzpcL3x+XC8pLisvaSxCPS9eKD86dGhpbmtpbmd8d29ya2luZ3xydW5uaW5nfHBsYW5uaW5nfGFwcGx5aW5nfHJlYWRpbmd8c2VhcmNoaW5nfGluc3BlY3Rpbmd8cmV2aWV3aW5nfHN1bW1hcml6aW5nfGVkaXRpbmd8dXBkYXRpbmd8d3JpdGluZ3xjb21wbGV0ZWQpXGIvaSxUPVtdLGs9MCxNPWkucmVwbGFjZSgvXHJcbj8vZyxvKS5zcGxpdChvKSx6PTA7ejxNLmxlbmd0aDt6KyspZm9yKHZhciBPPUJhKE1bel0pLHJlPU8uc3BsaXQobyksZWU9MDtlZTxyZS5sZW5ndGg7ZWUrKyl7dmFyIFo9U3RyaW5nKHJlW2VlXXx8IiIpLnRyaW0oKTtpZihaKXt2YXIgdmU9b3MoWik7aWYodmUpe1QucHVzaCh7a2luZDoidXNlciIsb3JkZXI6aysrLHRleHQ6dmV9KTtjb250aW51ZX12YXIgbWU9c3MoWik7aWYobWUpe1QucHVzaCh7a2luZDoiYXNzaXN0YW50IixvcmRlcjprKyssdGV4dDptZX0pO2NvbnRpbnVlfXZhciBIPWljKFopO0gmJlQucHVzaCh7a2luZDoiZWNobyIsb3JkZXI6aysrLHRleHQ6SH0pfX1mb3IodmFyIHRlPVQuZmlsdGVyKGZ1bmN0aW9uKFRlLEVlLFJlKXt2YXIgbXQ9UmVbRWUtMV07cmV0dXJuIW10fHxtdC5raW5kIT09VGUua2luZHx8bXQudGV4dCE9PVRlLnRleHR9KSxJPXRlLmZpbHRlcihmdW5jdGlvbihUZSl7cmV0dXJuIFRlLmtpbmQ9PT0idXNlciJ9KSxVPXRlLmZpbHRlcihmdW5jdGlvbihUZSl7cmV0dXJuIFRlLmtpbmQ9PT0iYXNzaXN0YW50In0pLFc9dGUuZmlsdGVyKGZ1bmN0aW9uKFRlKXtyZXR1cm4gVGUua2luZD09PSJlY2hvIn0pLFg9ZF8oaSksZmU9WC5zcGxpdChvKS5tYXAoZnVuY3Rpb24oVGUpe3JldHVybiBTdHJpbmcoVGV8fCIiKS50cmltRW5kKCl9KSxnZT11YyhmZSksaj1JLmxlbmd0aD9JW0kubGVuZ3RoLTFdOm51bGwsWT1XLm1hcChmdW5jdGlvbihUZSl7cmV0dXJuIFRlLnRleHR9KS5maWx0ZXIoZnVuY3Rpb24oVGUpe3JldHVybiBUZS5sZW5ndGg+PTN9KSxzZT1udWxsLFE9WS5sZW5ndGgtMTtRPj0wO1EtLSlpZihZW1FdIT09Z2Upe3NlPVlbUV07YnJlYWt9IXNlJiZZLmxlbmd0aCYmKHNlPVlbWS5sZW5ndGgtMV0pO2Zvcih2YXIgY2U9aj9qLnRleHQ6c2UsSj1VLmZpbHRlcihmdW5jdGlvbihUZSl7cmV0dXJuIWp8fFRlLm9yZGVyPmoub3JkZXJ9KS5tYXAoZnVuY3Rpb24oVGUpe3JldHVybiBUZS50ZXh0fSksZGU9W10seGU9WC5tYXRjaCgvXlsgXHRdKlvigKLil6bCt+KPul1bIFx0XSooLispJC9nbSl8fFtdLHllPTA7eWU8eGUubGVuZ3RoO3llKyspe3ZhciBGZT1rYSh4ZVt5ZV0ucmVwbGFjZSgvXlsgXHRdKlvigKLil6bCt+KPul1bIFx0XSovLCIiKSk7RmUmJihCLnRlc3QoRmUpfHxELnRlc3QoRmUpfHwvXGIoPzpPcGVuQUkgQ29kZXh8bW9kZWw6fGRpcmVjdG9yeTp8VGlwOnxlc2MgdG8gaW50ZXJydXB0KVxiL2kudGVzdChGZSl8fGRlLnB1c2goRmUpKX12YXIgTmU9JHUoSil8fCR1KG9jKGZlKSl8fChkZS5sZW5ndGg/ZGVbZGUubGVuZ3RoLTFdOm51bGwpO3JldHVybiBjZSYmYS5wdXNoKHtyb2xlOiJ1c2VyIixjb250ZW50OmNlfSksTmUmJmEucHVzaCh7cm9sZToiYXNzaXN0YW50Iixjb250ZW50Ok5lfSksIWEubGVuZ3RoJiZqP2EucHVzaCh7cm9sZToidXNlciIsY29udGVudDpqLnRleHR9KTohYS5sZW5ndGgmJnNlJiZhLnB1c2goe3JvbGU6InVzZXIiLGNvbnRlbnQ6c2V9KSxhfWZvcih2YXIgcnQ9IlwwIixjdD0iXGIiLGtlPSJcdiIsWGU9IlxmIixkdD0iDiIsdm49Ih8iLHplPSJceEEwIixudD0iXHgwNyIsSHQ9bmV3IFJlZ0V4cChkKyJcXFtbMC05Oz9dKlthLXpBLVpdfCIrZCsiXFxdW14iK250KyJdKigiK250KyJ8IitkKyJcXFxcXFxcXCl8IitkKyJbPjw9ZVBfWF5dfFsiK3J0KyItIitjdCtrZStYZStkdCsiLSIrdm4rIl18Iit6ZSsifCIrYywiZyIpLGp0PWkucmVwbGFjZShIdCxmdW5jdGlvbihCYSl7cmV0dXJuIEJhPT09emU/IiAiOkJhPT09Yz9vOiIifSkuc3BsaXQoYykuam9pbihvKSxGbj1qdC5zcGxpdChvKS5tYXAoZnVuY3Rpb24oQmEpe3JldHVybiBCYS50cmltKCl9KS5maWx0ZXIoQm9vbGVhbiksWG49Wy90aGlua2luZyB3aXRoIGhpZ2ggZWZmb3J0L2ksL3RoaW5raW5nIHdpdGggbWVkaXVtIGVmZm9ydC9pLC90aGlua2luZyB3aXRoIGxvdyBlZmZvcnQvaSxuZXcgUmVnRXhwKCJ0aG91Z2h0IGZvciBbMC05XStzIiwiaSIpLG5ldyBSZWdFeHAoIlNhdXRlZWQgZm9yIFswLTldK20iLCJpIiksL0dlcm1pbmF0aW5nL2ksL0Rvb2RsaW5nL2ksL0JyZXdpbmcvaV0scGU9bnVsbCxLZT0tMSxtbj1bXSx1bj1bXSxDbj1bXSxxdD0wO3F0PEZuLmxlbmd0aDtxdCsrKXt2YXIgaWU9Rm5bcXRdLEdpPWllLnJlcGxhY2UoL17ina9ccyovLCIiKTtpZihHaS5pbmRleE9mKCdUcnkiJyk9PT0wfHxHaS5pbmRleE9mKCdUcnkgIicpPT09MCl7bW4ucHVzaChHaSk7Y29udGludWV9Zm9yKHZhciBRdT0hMSxhcj0wO2FyPFhuLmxlbmd0aDthcisrKWlmKFhuW2FyXS50ZXN0KGllKSl7UXU9ITAsQ24ucHVzaChpZSk7YnJlYWt9aWYoIVF1JiZpZSYmaWUuaW5kZXhPZigiXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwIikhPT0wJiZpZSE9PSJcdTI3NkYiJiZpZS5pbmRleE9mKCJlc2MgdG8gaW50ZXJydXB0Iik9PT0tMSYmaWUuaW5kZXhPZigiQ2xhdWRlIENvZGUgdiIpPT09LTEmJmllLmluZGV4T2YoIlNvbm5ldCIpPT09LTEmJmllLmluZGV4T2YoIn4vIikhPT0wJiZpZS5pbmRleE9mKCJcdTI1Q0YgaGlnaCIpPT09LTEmJmllLmluZGV4T2YoIkZhaWxlZCB0byBpbnN0YWxsIEFudGhyb3BpYyBtYXJrZXRwbGFjZSIpPT09LTEmJmllLmluZGV4T2YoIkNsYXVkZSBDb2RlIGhhcyBzd2l0Y2hlZCBmcm9tIG5wbSB0byBuYXRpdmUgaW5zdGFsbGVyIik9PT0tMSYmaWUuaW5kZXhPZigiRmx1dHRlcmluZyIpPT09LTEmJmllLmluZGV4T2YoIj8gZm9yIHNob3J0Y3V0cyIpPT09LTEmJmllLmluZGV4T2YoIjA7IikhPT0wJiZpZS5pbmRleE9mKCI5OyIpIT09MCYmaWUuaW5kZXhPZigiQ2xhdWRlIGlzIHdhaXRpbmciKT09PS0xJiYhKGllLmluZGV4T2YoIlx1MjcyMiIpIT09LTF8fGllLmluZGV4T2YoIlx1MjczMyIpIT09LTF8fGllLmluZGV4T2YoIlx1MjczNiIpIT09LTF8fGllLmluZGV4T2YoIlx1MjczQiIpIT09LTF8fGllLmluZGV4T2YoIlx1MjczRCIpIT09LTEpJiYhKGllLmluZGV4T2YoIlx1MjU5MCIpPT09MHx8aWUuaW5kZXhPZigiXHUyNTlEIik9PT0wfHxpZS5pbmRleE9mKCJcdTI1OTgiKT09PTApJiYhKChpZT09PSJsdSJ8fGllPT09InVlInx8aWU9PT0idHIifHxpZT09PSJ0aSJ8fGllPT09ImcifHxpZT09PSJuInx8aWU9PT0iaVx1MjAyNiJ8fGllPT09Ilx1MjAyNiJ8fGllPT09InV0cyJ8fGllPT09Imx0Inx8aWU9PT0icmcifHxpZT09PSJceEI3IikmJmllLmxlbmd0aDw0KSYmIShpZS5pbmRleE9mKCJcdTI3M0RGIik9PT0wfHxpZS5pbmRleE9mKCJcdTI3M0JGIik9PT0wKSYmaWUuaW5kZXhPZigibnBtIFdBUk4iKT09PS0xJiZpZS5pbmRleE9mKCJucG0gbm90aWNlIik9PT0tMSYmIShpZS5pbmRleE9mKCJhZGRlZCAiKSE9PS0xJiZpZS5pbmRleE9mKCIgcGFja2FnZXMiKSE9PS0xKSYmaWUuaW5kZXhPZigiYXVkaXRlZCAiKT09PS0xJiYhKGllLmluZGV4T2YoImZvdW5kICIpIT09LTEmJmllLmluZGV4T2YoIiB2dWxuZXJhYmlsaXRpZXMiKSE9PS0xKSYmIShpZS5pbmRleE9mKCJVc2luZyAiKSE9PS0xJiZpZS5pbmRleE9mKCIgZm9yICIpIT09LTEmJmllLmluZGV4T2YoInNlc3Npb24iKSE9PS0xKSYmaWUuaW5kZXhPZigiWW91IGNhbiB1c2UiKT09PS0xJiYhKGllLmluZGV4T2YoIlByZXNzICIpIT09LTEmJmllLmluZGV4T2YoIiBmb3IiKSE9PS0xKSYmIShpZS5pbmRleE9mKCJ0eXBlICIpPT09MCYmaWUuaW5kZXhPZigiIHRvICIpIT09LTEpJiZpZS5pbmRleE9mKCJbd2FuZF0iKSE9PTAmJmllLmluZGV4T2YoIkNhcHR1cmVkIENsYXVkZSBzZXNzaW9uIElEIik9PT0tMSYmaWUuaW5kZXhPZigiXHUyM0Y1Iik9PT0tMSYmaWUuaW5kZXhPZigiYWNjZXB0ZWRpdCIpPT09LTEmJmllLmluZGV4T2YoInNoaWZ0K3RhYiIpPT09LTEmJmllLmluZGV4T2YoInRhYnRvY3ljbGUiKT09PS0xJiZpZS5pbmRleE9mKCJjdHJsK2ciKT09PS0xJiZpZS5pbmRleE9mKCIvZWZmb3J0Iik9PT0tMSYmIShpZS5pbmRleE9mKCJPcHVzIikhPT0tMSYmaWUuaW5kZXhPZigibW9kZWwiKSE9PS0xKSYmaWUuaW5kZXhPZigiSGFpa3UiKT09PS0xJiZpZS5pbmRleE9mKCJ0byBjeWNsZSIpPT09LTEmJiEoaWUuaW5kZXhPZigiaGlnaCBceEI3IikhPT0tMXx8aWUuaW5kZXhPZigiaGlnaFx4QjciKSE9PS0xKSYmIShpZS5pbmRleE9mKCJtZWRpdW0gXHhCNyIpIT09LTF8fGllLmluZGV4T2YoIm1lZGl1bVx4QjciKSE9PS0xKSYmIShpZS5pbmRleE9mKCJsb3cgXHhCNyIpIT09LTF8fGllLmluZGV4T2YoImxvd1x4QjciKSE9PS0xKSl7aWYoaWUuaW5kZXhPZigiXHUyNUNGIik9PT0wKXtpZihpZT1pZS5zbGljZSgxKS50cmltKCksIWllKWNvbnRpbnVlO3VuLnB1c2goaWUpO2NvbnRpbnVlfWllLmxlbmd0aDwzJiYhL15bYS16QS1aXXszfSQvLnRlc3QoaWUpfHx1bi5wdXNoKGllKX19aWYoQ24ubGVuZ3RoPjApe3ZhciBEbj1DbltDbi5sZW5ndGgtMV0sJG49RG4ubWF0Y2gobmV3IFJlZ0V4cCgiZm9yIChbMC05XStbbXNdK3wgWzAtOV0rbSBbMC05XStzKSIsImkiKSksaG49JG4/Ilx1NkRGMVx1NUVBNlx1NjAxRFx1ODAwMyAiKyRuWzBdLnJlcGxhY2UoL2ZvciAvaSwiIik6Ilx1NkRGMVx1NUVBNlx1NjAxRFx1ODAwM1x1NEUyRC4uLiI7YS5wdXNoKHtyb2xlOiJ0aGlua2luZyIsY29udGVudDpobix0eXBlOiJkZWVwLXRob3VnaHQifSl9aWYobW4ubGVuZ3RoPjApe3ZhciB1cz1tblttbi5sZW5ndGgtMV0ucmVwbGFjZSgvXlRyeVxzKi8sIiIpLnRyaW0oKTthLnB1c2goe3JvbGU6InByb21wdCIsY29udGVudDp1cyx0eXBlOiJzdWdnZXN0aW9uIn0pfWlmKCF1bi5sZW5ndGgpcmV0dXJuIGE7Zm9yKHZhciBfbj1bXSxycj1udWxsLE5uPVtdLHF0PTA7cXQ8dW4ubGVuZ3RoO3F0KyspaWYoaWU9dW5bcXRdLGllLmluZGV4T2YoIlx1Mjc2RiIpPT09MCl7dmFyIFZyPWllLnJlcGxhY2UoL17ina9ccyovLCIiKS50cmltKCk7aWYoVnIuaW5kZXhPZignVHJ5IicpPT09MHx8VnIuaW5kZXhPZignVHJ5ICInKT09PTApY29udGludWU7cnIhPT1udWxsJiZObi5sZW5ndGg+MCYmKF9uLnB1c2goe3VzZXI6cnIsYXNzaXN0YW50TGluZXM6Tm59KSxObj1bXSksVnI/cnI9VnI6KHJyIT09bnVsbCYmTm4ubGVuZ3RoPjAmJihfbi5wdXNoKHt1c2VyOnJyLGFzc2lzdGFudExpbmVzOk5ufSksTm49W10pLHJyPW51bGwpfWVsc2UgcnIhPT1udWxsJiYoaWUuaW5kZXhPZigiXHUyM0ZBIikhPT0tMSYmKGllLmluZGV4T2YoIkhpISIpIT09LTF8fGllLmluZGV4T2YoIkhlbGxvIikhPT0tMXx8aWUuaW5kZXhPZigiV2hhdCIpIT09LTF8fGllLmluZGV4T2YoIndvcmtpbmciKSE9PS0xKT9Obi5wdXNoKGllKTppZS5pbmRleE9mKCJcdTIzRkEiKT09PTA/Tm4ucHVzaChpZS5zbGljZSgxKS50cmltKCl8fGllKTppZS5sZW5ndGg+PTgmJmllLmluZGV4T2YoIlx1MjcyMiIpPT09LTEmJmllLmluZGV4T2YoIlx1MjczMyIpPT09LTEmJmllLmluZGV4T2YoIlx1MjczNiIpPT09LTEmJmllLmluZGV4T2YoIlx1MjczQiIpPT09LTEmJmllLmluZGV4T2YoIlx1MjczRCIpPT09LTEmJmllLmluZGV4T2YoIlx1MjU5MCIpIT09MCYmaWUuaW5kZXhPZigiXHUyNTlEIikhPT0wJiZpZS5pbmRleE9mKCJcdTI1OTgiKSE9PTAmJmllLmluZGV4T2YoImVzY3RvaW50ZXJydXB0Iik9PT0tMSYmaWUuaW5kZXhPZigiP2ZvciIpIT09MCYmaWUuaW5kZXhPZigiPyBmb3IiKSE9PTAmJk5uLnB1c2goaWUpKTtpZihyciE9PW51bGwmJk5uLmxlbmd0aD4wJiZfbi5wdXNoKHt1c2VyOnJyLGFzc2lzdGFudExpbmVzOk5ufSksX24ubGVuZ3RoPT09MCl7Zm9yKHZhciBZaT0iIixpcj0tMSxxdD0wO3F0PHVuLmxlbmd0aDtxdCsrKWlmKGllPXVuW3F0XSwhKGllLmluZGV4T2YoJ1RyeSInKT09PTB8fGllLmluZGV4T2YoJ1RyeSAiJyk9PT0wKSYmaWUuaW5kZXhPZigiRmFpbGVkIHRvIGluc3RhbGwiKT09PS0xJiZpZS5pbmRleE9mKCJjdHJsK2ciKT09PS0xJiZpZS5pbmRleE9mKCJcdTI1Q0YgIikhPT0wJiYhKGllLmxlbmd0aDwyfHxpZS5sZW5ndGg+MTAwKSYmL15bYS16QS1aXS8udGVzdChpZSkpe1lpPWllLnRyaW0oKSxpcj1xdDticmVha31pZihZaSYmaXI+PTApe3ZhciBYdT11bi5zbGljZShpcisxKS5maWx0ZXIoZnVuY3Rpb24oQmEpe3JldHVybiBCYS5sZW5ndGg+PTh9KTtYdS5sZW5ndGg+MCYmX24ucHVzaCh7dXNlcjpZaSxhc3Npc3RhbnRMaW5lczpYdX0pfX1mb3IodmFyIHVyPTA7dXI8X24ubGVuZ3RoO3VyKyspaWYoYS5wdXNoKHtyb2xlOiJ1c2VyIixjb250ZW50Ol9uW3VyXS51c2VyfSksX25bdXJdLmFzc2lzdGFudExpbmVzLmxlbmd0aD4wKXt2YXIgTzA9WF8oX25bdXJdLmFzc2lzdGFudExpbmVzLmpvaW4obykpO2EucHVzaCh7cm9sZToiYXNzaXN0YW50Iixjb250ZW50Ok8wfSl9cmV0dXJuIGF9dmFyIGVFPSJ0cmFuc3BhcmVudCI7ZnVuY3Rpb24gdEUoZSx0KXtmb3IodmFyIGE9dHx8MyxpPWVbMF0ubGVuZ3RoKmEsbz1lLmxlbmd0aCphLGM9IiIsZD0wO2Q8ZS5sZW5ndGg7ZCsrKWZvcih2YXIgZj0wO2Y8ZVtkXS5sZW5ndGg7ZisrKWVbZF1bZl0hPT1lRSYmKGMrPSc8cmVjdCB4PSInK2YqYSsnIiB5PSInK2QqYSsnIiB3aWR0aD0iJythKyciIGhlaWdodD0iJythKyciIGZpbGw9IicrZVtkXVtmXSsnIi8+Jyk7cmV0dXJuJzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgJytpKyIgIitvKyciIGNsYXNzPSJwaXhlbC1hdmF0YXItc3ZnIj4nK2MrIjwvc3ZnPiJ9ZnVuY3Rpb24gbkUoZSl7dmFyIHQ9ZUUsYT1lLmJhc2UsaT1lLmRhcmssbz1lLmxpZ2h0fHxlLmJhc2UsYz1lLmFjY2VudHx8IiNGRkZGRkYiLGQ9ZS5leWV8fCIjMkQyRDJEIixmPWUubW91dGh8fCIjRjI4QjlBIixtPWUubm9zZXx8ZS5kYXJrO3JldHVybltbdCxpLHQsdCx0LHQsdCx0LGksdF0sW2ksYSxpLHQsdCx0LHQsaSxhLGldLFtpLGEsYSxhLGEsYSxhLGEsYSxpXSxbYSxhLGMsZCxhLGEsYyxkLGEsYV0sW2EsYSxjLGMsYSxhLGMsYyxhLGFdLFthLGEsYSxhLGYsZixhLGEsYSxhXSxbYSxtLGEsbyxhLGEsbyxhLG0sYV0sW3QsYSxhLGEsYSxhLGEsYSxhLHRdLFt0LHQsYSxpLGEsYSxpLGEsdCx0XSxbdCx0LHQsYSx0LHQsYSx0LHQsdF1dfXZhciBwXz17YmFzZToiI0YwOTIzQSIsZGFyazoiI0M0NkExQSIsbGlnaHQ6IiNGMDkyM0EiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjMkQyRDJEIixtb3V0aDoiI0YyOEI5QSIsbm9zZToiI0U4N0Q1QSJ9LHZfPXtiYXNlOiIjOUVBQUI4IixkYXJrOiIjNkI3QjhEIixsaWdodDoiI0M1Q0VEOCIsYWNjZW50OiIjRkZGRkZGIixleWU6IiM3RUM4OEIiLG1vdXRoOiIjRjI4QjlBIn0sYUU9W3tiYXNlOiIjNUE4RkUwIixkYXJrOiIjMkU1QkIzIixsaWdodDoiIzlDQzBGMiIsYWNjZW50OiIjRkZGRkZGIixleWU6IiNGRkQ2NkUiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjNUE4RkUwIn0se2Jhc2U6IiNBMDZGRTAiLGRhcms6IiM2QjQ1QTgiLGxpZ2h0OiIjQzhBNEYyIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiI0ZGRTM2RSIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiNBMDZGRTAifSx7YmFzZToiIzdCQjc2QiIsZGFyazoiIzRGOEE0MCIsbGlnaHQ6IiNBOUQ0OUMiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjMkQyRDJEIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiIzdCQjc2QiJ9LHtiYXNlOiIjRDg2QTg4IixkYXJrOiIjOUMzQTU3IixsaWdodDoiI0U4QTRCNSIsYWNjZW50OiIjRkZGRkZGIixleWU6IiMyRDJEMkQiLG1vdXRoOiIjRkZGRkZGIixwcmltYXJ5OiIjRDg2QTg4In0se2Jhc2U6IiM1QkI3QjAiLGRhcms6IiMyRTc4NzMiLGxpZ2h0OiIjOUNENkQyIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiI0ZGRDY2RSIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiM1QkI3QjAifSx7YmFzZToiIzRBNEE2MCIsZGFyazoiIzFGMUYyRSIsbGlnaHQ6IiM2RTZFODQiLGFjY2VudDoiI0Y1RjVGNSIsZXllOiIjRkZENjZFIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiIzRBNEE2MCJ9LHtiYXNlOiIjRDhBODVBIixkYXJrOiIjOUM3MDI4IixsaWdodDoiI0VCQzc4QSIsYWNjZW50OiIjRkZGRkZGIixleWU6IiMyRDJEMkQiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjRDhBODVBIn1dO2Z1bmN0aW9uIG1fKGUsdCl7Zm9yKHZhciBhPVN0cmluZyhlfHwiIiksaT0wLG89MDtvPGEubGVuZ3RoO28rKylpPShpPDw1KS1pK2EuY2hhckNvZGVBdChvKXwwO3JldHVybiBNYXRoLmFicyhpKSV0fXZhciByRT17ImdlbmVyYWwtcHVycG9zZSI6Ilx1NEUwN1x1ODBGRFx1NzMyQiIsRXhwbG9yZToiXHU0RkE2XHU2M0EyXHU3MzJCIiwiY29kZS1leHBsb3JlciI6Ilx1NEZBNlx1NjNBMlx1NzMyQiIsImNvZGUtcmV2aWV3ZXIiOiJcdTVCQTFcdTY3RTVcdTczMkIiLCJjb2RlLWFyY2hpdGVjdCI6Ilx1NjdCNlx1Njc4NFx1NzMyQiIsImNvZGUtc2ltcGxpZmllciI6Ilx1N0I4MFx1NTMxNlx1NzMyQiIsImNvZGUtZ3VpZGUiOiJcdTU0MTFcdTVCRkNcdTczMkIiLFBsYW46Ilx1N0I1Nlx1NTIxMlx1NzMyQiIsImZlYXR1cmUtZGV2IjoiXHU1RjAwXHU1M0QxXHU3MzJCIiwicHItdGVzdC1hbmFseXplciI6Ilx1NkQ0Qlx1OEJENVx1NzMyQiIsInNpbGVudC1mYWlsdXJlLWh1bnRlciI6Ilx1NjJBNFx1NTM2Qlx1NzMyQiIsInR5cGUtZGVzaWduLWFuYWx5emVyIjoiXHU3QzdCXHU1NzhCXHU3MzJCIiwiY29tbWVudC1hbmFseXplciI6Ilx1NkNFOFx1OTFDQVx1NzMyQiJ9LGUwPW51bGw7ZnVuY3Rpb24gaUUoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9ZS5hZ2VudFR5cGV8fCIiO3JldHVybiB0JiZyRVt0XT9yRVt0XTp0fHwoVTUoKT09PSJFbmdsaXNoIj8iU3VidGFzayI6Ilx1NUI1MFx1NEVGQlx1NTJBMSIpfWZ1bmN0aW9uIGhfKGUpe3ZhciB0PVN0cmluZyhlfHwiIikudHJpbSgpO3JldHVybiB0P3QuaW5kZXhPZigiXHU3MzJCXHU3MzJCIik9PT0wP3Q6Ilx1NzMyQlx1NzMyQiAiK3Q6Ilx1NzMyQlx1NzMyQlx1NUI1MCBBZ2VudCJ9ZnVuY3Rpb24gZ18oZSl7dmFyIHQ9aUUoZSk7aWYoIXQpcmV0dXJuIHQ7dmFyIGE9ZTAmJmUmJmUudGFza0lkP2UwLmdldChlLnRhc2tJZCk6bnVsbDtyZXR1cm4gaF8oYT90K2E6dCl9ZnVuY3Rpb24gYl8oZSl7dmFyIHQ9ZSYmKGUuYWdlbnRUeXBlfHxlLnRhc2tJZCl8fCJzdWJhZ2VudCI7cmV0dXJuIGFFW21fKHQsYUUubGVuZ3RoKV19ZnVuY3Rpb24geV8oZSx0KXtpZighZXx8ZS50eXBlIT09InRvb2xfcmVzdWx0IilyZXR1cm4iIjt2YXIgYT16aShlLmNvbnRlbnQpLGk9ZS5pc19lcnJvcj09PSEwLG89dHlwZW9mIGE9PSJzdHJpbmciP2E6YT09bnVsbD8iIjpTdHJpbmcoYSk7aWYoIWkmJiFvLnRyaW0oKSlyZXR1cm4nPGRpdiBjbGFzcz0ic3ViYWdlbnQtcmVwbHkgcGVuZGluZyI+PHNwYW4gY2xhc3M9InN1YmFnZW50LXJlcGx5LW1hcmtlciBwZW5kaW5nIj4nK0woUm4oInN1YmFnZW50LnJ1bm5pbmciKSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0idHlwaW5nLWluZGljYXRvciI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2Pic7dmFyIGM9by50cmltKCk/bzpSbigic3ViYWdlbnQubm9fb3V0cHV0IiksZD1vLnRyaW0oKT9pMChjKTpMKGMpLGY9Um4oaT8ic3ViYWdlbnQudGFzay5mYWlsZWQiOiJzdWJhZ2VudC50YXNrLmRvbmUiKSxtPWk/Ilx1MjcxNyI6Ilx1MjcxMyI7cmV0dXJuJzxkaXYgY2xhc3M9InN1YmFnZW50LXJlcGx5IGZpbmFsJysoaT8iIGVycm9yIjoiIikrJyI+PGRpdiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktbWFya2VyICcrKGk/ImVycm9yIjoiZG9uZSIpKyciPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1yZXBseS1tYXJrZXItaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPicrbSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1yZXBseS1tYXJrZXItbGFiZWwiPicrTChmKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN1YmFnZW50LXJlcGx5LWNvbnRlbnQiPicrZCsiPC9kaXY+PC9kaXY+In12YXIgdUU9e2Fzc2lzdGFudDp0RShuRShwXykpLHVzZXI6dEUobkUodl8pKX0sb0U9e3VzZXI6e25hbWU6Ilx1OEQ1Qlx1NTM1QVx1ODY0RVx1NTk5RSIsYXZhdGFyU3ZnOnVFLnVzZXJ9LGFzc2lzdGFudDp7bmFtZToiXHU1MkU0XHU1MkIzXHU1MjFEXHU0RThDIixhdmF0YXJTdmc6dUUuYXNzaXN0YW50fX07ZnVuY3Rpb24gc0UoZSl7dmFyIHQ9cy5jb25maWcmJnMuY29uZmlnLnN0cnVjdHVyZWRDaGF0UGVyc29uYSxhPXQmJnRbZV0/dFtlXTpudWxsLGk9b0VbZV18fG9FLmFzc2lzdGFudDtyZXR1cm57bmFtZTphJiZ0eXBlb2YgYS5uYW1lPT0ic3RyaW5nIiYmYS5uYW1lLnRyaW0oKT9hLm5hbWUudHJpbSgpOmkubmFtZSxhdmF0YXI6YSYmdHlwZW9mIGEuYXZhdGFyPT0ic3RyaW5nIiYmYS5hdmF0YXIudHJpbSgpP2EuYXZhdGFyLnRyaW0oKTpudWxsLGF2YXRhclN2ZzppLmF2YXRhclN2Z319ZnVuY3Rpb24gd18oZSl7cmV0dXJuJzxkaXYgY2xhc3M9InBpeGVsLWF2YXRhciI+JytlKyI8L2Rpdj4ifWZ1bmN0aW9uIHRzKGUpe3ZhciB0PWU9PT0idXNlciI/InVzZXIiOiJhc3Npc3RhbnQiLGE9c0UodCksaT1hLmF2YXRhcj8nPGltZyBjbGFzcz0icGl4ZWwtYXZhdGFyLWltYWdlIiBzcmM9IicrTChhLmF2YXRhcikrJyIgYWx0PSInK0woYS5uYW1lKSsnIiBvbmVycm9yPSJoYW5kbGVDaGF0QXZhdGFySW1hZ2VFcnJvcih0aGlzLCAnK0pTT04uc3RyaW5naWZ5KHQpKycpIiAvPic6d18oYS5hdmF0YXJTdmcpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYXZhdGFyICcrZSsnIj4nK2krJzxzcGFuIGNsYXNzPSJhdmF0YXItbmFtZSI+JytMKGEubmFtZSkrIjwvc3Bhbj48L2Rpdj4ifWZ1bmN0aW9uIHQwKGUsdCxhLGkpe2lmKGUucm9sZT09PSJ0aGlua2luZyIpe3ZhciBvPXR5cGVvZiBlLmNvbnRlbnQ9PSJzdHJpbmciP2UuY29udGVudDoiIjtpZighby50cmltKCkpcmV0dXJuIiI7dmFyIGM9ZHIoInRoaW5raW5nIixbYnYoZSxhKSwicHR5Il0pLGQ9SGEoYyksZj1kPT09bnVsbD9IdSgidGhpbmtpbmciKTpkO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UgdGhpbmtpbmciPjxkaXYgY2xhc3M9InRoaW5raW5nLWlubGluZSB0aGlua2luZy1wdHkgJysoZj8iZXhwYW5kZWQiOiJjb2xsYXBzZWQiKSsnIiBkYXRhLWV4cGFuZC1raW5kPSJ0aGlua2luZyIgZGF0YS1leHBhbmQta2V5PSInK0woYykrJyIgZGF0YS10aGlua2luZz0iJytMKG8pKyciIG9uY2xpY2s9Il9fdGhpbmtpbmdUb2dnbGUodGhpcykiPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtaWNvbiI+XHUyOUJGPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtcHJldmlldyI+JytMKG8pKyc8L3NwYW4+PHNwYW4gY2xhc3M9InRoaW5raW5nLWlubGluZS1hY3Rpb24iPicrKGY/Ilx1NjUzNlx1OEQ3NyI6Ilx1NUM1NVx1NUYwMCIpKyI8L3NwYW4+PC9kaXY+PC9kaXY+In1pZihlLnJvbGU9PT0icHJvbXB0IilyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlIHByb21wdCI+PGRpdiBjbGFzcz0icHJvbXB0LWNhcmQiPjxkaXYgY2xhc3M9InByb21wdC1pY29uIj5cdTIxOTI8L2Rpdj48ZGl2IGNsYXNzPSJwcm9tcHQtY29udGVudCI+XHU4QkQ1XHU4QkQ1XHVGRjFBPHNwYW4gY2xhc3M9InByb21wdC10ZXh0Ij4nK0woZS5jb250ZW50KSsiPC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PiI7aWYoQXJyYXkuaXNBcnJheShlLmNvbnRlbnQpKXJldHVybiB6XyhlLHQsYSxpKTt2YXIgbT10cyhlLnJvbGUpLGg9ZS5yb2xlPT09ImFzc2lzdGFudCI/aTAoZS5jb250ZW50KTplLnJvbGU9PT0idXNlciI/dkUoZS5jb250ZW50KTpMKGUuY29udGVudCk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2Uucm9sZSsnIj4nK20rJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZS1idWJibGUiPicraCsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiB4XyhlKXt2YXIgdD17fTtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdDtmb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErKyl7dmFyIGk9ZVthXTtpZihpJiZpLnR5cGU9PT0idG9vbF9yZXN1bHQiKXt2YXIgbz1pLnRvb2xfdXNlX2lkO2lmKCFvKWNvbnRpbnVlO3Rbb118fCh0W29dPVtdKSx0W29dLnB1c2goaSl9fXJldHVybiB0fWZ1bmN0aW9uIGxFKGUsdCl7dmFyIGE9ZSYmdD9lW3RdOm51bGw7aWYoIWF8fCFhLmxlbmd0aClyZXR1cm4gbnVsbDtmb3IodmFyIGk9MDtpPGEubGVuZ3RoLTE7aSsrKWlmKEJFKGFbaV0sYVtpKzFdKSlyZXR1cm4gYVtpKzFdO3JldHVybiBhW2EubGVuZ3RoLTFdfWZ1bmN0aW9uIEVfKGUsdCl7dmFyIGE9ZSYmdD9lW3RdOm51bGw7aWYoIWF8fGEubGVuZ3RoPDIpcmV0dXJuITE7Zm9yKHZhciBpPTA7aTxhLmxlbmd0aC0xO2krKylpZihCRShhW2ldLGFbaSsxXSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gRl8oZSl7cmV0dXJuJzxkaXYgY2xhc3M9InN0cnVjdHVyZWQtdG9vbC1oaW50Ij5cdTVERjJcdTgxRUFcdTUyQThcdTYwNjJcdTU5MERcdTRFMDBcdTZCMjEgJytMKHIwKGUpKSsiIFx1NTNDMlx1NjU3MFx1OTVFRVx1OTg5ODwvZGl2PiJ9dmFyIENfPXtSZWFkOjEsR2xvYjoxLEdyZXA6MSxXZWJGZXRjaDoxLFdlYlNlYXJjaDoxLFRvZG9SZWFkOjF9O2Z1bmN0aW9uIGNFKGUpe2lmKCFlfHxlLnR5cGUhPT0idG9vbF91c2UifHwhQ19bZS5uYW1lXSlyZXR1cm4hMTtpZihlLm5hbWU9PT0iUmVhZCIpe3ZhciB0PWUuaW5wdXR8fHt9O2lmKGowKHQuZmlsZV9wYXRofHx0LnBhdGh8fCIiKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBEXyhlKXtmb3IodmFyIHQ9W10sYT0wO2E8ZS5sZW5ndGg7KXt2YXIgaT1lW2FdO2lmKGkudHlwZT09PSJ0b29sX3Jlc3VsdCIpe2ErKztjb250aW51ZX1pZihjRShpKSl7Zm9yKHZhciBvPVt7YmxvY2s6aSxpbmRleDphfV0sYz1hKzE7YzxlLmxlbmd0aDspe2lmKGVbY10udHlwZT09PSJ0b29sX3Jlc3VsdCIpe2MrKztjb250aW51ZX1pZihjRShlW2NdKSlvLnB1c2goe2Jsb2NrOmVbY10saW5kZXg6Y30pLGMrKztlbHNlIGJyZWFrfW8ubGVuZ3RoPj0yP3QucHVzaCh7dHlwZToiZ3JvdXAiLGl0ZW1zOm8sZW5kSW5kZXg6Y30pOnQucHVzaCh7dHlwZToic2luZ2xlIixibG9jazppLGluZGV4OmF9KSxhPWN9ZWxzZSB0LnB1c2goe3R5cGU6InNpbmdsZSIsYmxvY2s6aSxpbmRleDphfSksYSsrfXJldHVybiB0fXZhciBBXz17UmVhZDoiXHU4QkZCXHU1M0Q2IixHbG9iOiJcdTY0MUNcdTdEMjIiLEdyZXA6Ilx1NjQxQ1x1N0QyMiIsV2ViRmV0Y2g6Ilx1NjI5M1x1NTNENiIsV2ViU2VhcmNoOiJcdTY0MUNcdTdEMjIiLFRvZG9SZWFkOiJcdTVGODVcdTUyOUUifTtmdW5jdGlvbiBTXyhlLHQsYSxpLG8pe2Zvcih2YXIgYz1vfHx7fSxkPXt9LGY9MDtmPGUubGVuZ3RoO2YrKyl7dmFyIG09ZVtmXS5ibG9jay5uYW1lO2RbbV09KGRbbV18fDApKzF9Zm9yKHZhciBoPSEwLGc9ITEsZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgYj1lW2ZdLmJsb2NrLHk9bEUoYSxiLmlkKTt5P3kuaXNfZXJyb3ImJihnPSEwKTpoPSExfXZhciBDPWg/Zz8iXHUyNzE3IjoiXHUyNzEzIjoiXHUyMDI2Iix3PWg/Zz8iZXJyb3IiOiJkb25lIjoicGVuZGluZyIseD1bXTtmb3IodmFyIEYgaW4gZCl4LnB1c2goZFtGXSsiICIrKEFfW0ZdfHxGKSk7Zm9yKHZhciBBPXguam9pbigiIFx4QjcgIiksRD1kcigidG9vbC1ncm91cCIsW2ksZVswXSYmZVswXS5pbmRleCxlLmxlbmd0aF0pLEI9SGEoRCksVD1jLmZvcmNlRXhwYW5kZWRUb29sQm9kaWVzPyEwOkI9PT1udWxsP0h1KCJ0b29sR3JvdXAiKTpCLGs9IiIsZj0wO2Y8ZS5sZW5ndGg7ZisrKXRyeXtrKz1tRShlW2ZdLmJsb2NrLHQsYSxlW2ZdLmluZGV4LGksYyl9Y2F0Y2h7ays9JzxkaXYgY2xhc3M9InJlbmRlci1lcnJvciI+XHU1REU1XHU1MTc3XHU2RTMyXHU2N0QzXHU1OTMxXHU4RDI1PC9kaXY+J31yZXR1cm4nPGRpdiBjbGFzcz0idG9vbC1ncm91cCIgZGF0YS1leHBhbmQta2luZD0idG9vbC1ncm91cCIgZGF0YS1leHBhbmQta2V5PSInK0woRCkrJyIgZGF0YS1leHBhbmRlZD0iJysoVD8idHJ1ZSI6ImZhbHNlIikrJyIgZGF0YS1zdGF0dXM9IicrdysnIj48ZGl2IGNsYXNzPSJ0b29sLWdyb3VwLXN1bW1hcnkiIG9uY2xpY2s9Il9fdG9vbEdyb3VwVG9nZ2xlKHRoaXMucGFyZW50Tm9kZSkiPjxzcGFuIGNsYXNzPSJ0b29sLWdyb3VwLXN0YXR1cyI+JytDKyc8L3NwYW4+PHNwYW4gY2xhc3M9InRvb2wtZ3JvdXAtdGV4dCI+JytMKEEpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InRvb2wtZ3JvdXAtY291bnQiPicrZS5sZW5ndGgrJyBcdTRFMkFcdThDMDNcdTc1Mjg8L3NwYW4+PHN2ZyBjbGFzcz0idG9vbC1ncm91cC1jaGV2cm9uIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHlsZT0idHJhbnNmb3JtOicrKFQ/InJvdGF0ZSgxODBkZWcpIjoiIikrJyI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiLz48L3N2Zz48L2Rpdj48ZGl2IGNsYXNzPSJ0b29sLWdyb3VwLWJvZHkiIHN0eWxlPSJkaXNwbGF5OicrKFQ/ImJsb2NrIjoibm9uZSIpKyc7Ij4nK2srIjwvZGl2PjwvZGl2PiJ9d2luZG93Ll9fdG9vbEdyb3VwVG9nZ2xlPWZ1bmN0aW9uKGUpe2lmKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7ZS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLHQ/ImZhbHNlIjoidHJ1ZSIpO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLnRvb2wtZ3JvdXAtYm9keSIpO2EmJihhLnN0eWxlLmRpc3BsYXk9dD8ibm9uZSI6ImJsb2NrIik7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIudG9vbC1ncm91cC1jaGV2cm9uIik7aSYmKGkuc3R5bGUudHJhbnNmb3JtPXQ/IiI6InJvdGF0ZSgxODBkZWcpIiksZ28oZSwidG9vbC1ncm91cCIpfX07ZnVuY3Rpb24gQl8oZSx0KXtmb3IodmFyIGE9ZS5uZXh0RWxlbWVudFNpYmxpbmc7YTspYS5jbGFzc0xpc3QuY29udGFpbnMoImNoYXQtbG9hZC1tb3JlIil8fCh0P2EuY2xhc3NMaXN0LnJlbW92ZSgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpOmEuY2xhc3NMaXN0LmFkZCgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpKSxhPWEubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGtfKGUsdCxhLGkpeyFlfHwhdHx8KFRfKGUsdCwhMSksZEUodCksTV8oZSkpfWZ1bmN0aW9uIFRfKGUsdCxhKXtlJiZlLmNsYXNzTGlzdC50b2dnbGUoImF1dG8tZm9sZCIsISFhKX1mdW5jdGlvbiBkRShlKXtpZihlKWZvcih2YXIgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LWF1dG8tZm9sZC1oaWRkZW4iKSxhPTA7YTx0Lmxlbmd0aDthKyspdFthXS5jbGFzc0xpc3QucmVtb3ZlKCJjaGF0LWF1dG8tZm9sZC1oaWRkZW4iKX1mdW5jdGlvbiBqXyhlKXshZXx8IWUuaXNDb25uZWN0ZWR8fChobyh7cmVtb3ZlRGl2aWRlcjohMH0pLFk1KCEwKSl9ZnVuY3Rpb24gTV8oZSl7aWYoZSl7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIjY2hhdC1mb2xkLWJhciIpO3QmJih0LmlubmVySFRNTD0iIix0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHMuY2hhdEF1dG9Gb2xkU25hcHNob3Q9bnVsbCl9fWZ1bmN0aW9uIE9fKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PVtdO2Z1bmN0aW9uIGEoZCl7aWYodHlwZW9mIGQ9PSJzdHJpbmciKXt2YXIgZj1kLnJlcGxhY2UoL1xzKy9nLCIgIikudHJpbSgpO2YmJnQucHVzaChmKX19aWYodHlwZW9mIGUuY29udGVudD09InN0cmluZyIpYShlLmNvbnRlbnQpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlLmNvbnRlbnQpKWZvcih2YXIgaT0wO2k8ZS5jb250ZW50Lmxlbmd0aCYmdC5qb2luKCIgIikubGVuZ3RoPDE4MDtpKyspe3ZhciBvPWUuY29udGVudFtpXTtvJiYoby50eXBlPT09InRleHQiP2Eoby50ZXh0KTpvLnR5cGU9PT0idGhpbmtpbmciP2Eoby50aGlua2luZyk6by50eXBlPT09InRvb2xfdXNlIj9hKG8ubmFtZT8iXHU4QzAzXHU3NTI4ICIrby5uYW1lOiJcdTVERTVcdTUxNzdcdThDMDNcdTc1MjgiKTpvLnR5cGU9PT0idG9vbF9yZXN1bHQiP2Eoby5pc19lcnJvcj8iXHU1REU1XHU1MTc3XHU4RkQ0XHU1NkRFXHU5NTE5XHU4QkVGIjoiXHU1REU1XHU1MTc3XHU4RkQ0XHU1NkRFXHU3RUQzXHU2NzlDIik6by50ZXh0JiZhKG8udGV4dCkpfXZhciBjPXQuam9pbigiIFx4QjcgIik7cmV0dXJuIGMubGVuZ3RoPjE4MD9jLnNsaWNlKDAsMTc3KSsiLi4uIjpjfXdpbmRvdy5fX2NoYXRGb2xkSnVtcFRvTGF0ZXN0PWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoYXQtb3V0cHV0IC5jaGF0LW1lc3NhZ2VzIik7ZSYmal8oZSl9LHdpbmRvdy5fX2NoYXRGb2xkVG9nZ2xlSGlzdG9yeT1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjaGF0LW91dHB1dCAuY2hhdC1oaXN0b3J5LXN1bW1hcnkiKSx0PWU/ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1oaXN0b3J5LXN1bW1hcnktYnRuIik6bnVsbDtlJiZlLmNsYXNzTGlzdC5yZW1vdmUoImNoYXQtYXV0by1mb2xkLWhpZGRlbiIpLHQmJndpbmRvdy5fX2hpc3RvcnlTdW1tYXJ5VG9nZ2xlJiZ3aW5kb3cuX19oaXN0b3J5U3VtbWFyeVRvZ2dsZSh0KX07ZnVuY3Rpb24gX18oZSx0KXtpZighZSlyZXR1cm47Zm9yKHZhciBhPXMuY3VycmVudE1lc3NhZ2VzfHxbXSxpPS0xLG89YS5sZW5ndGgtMTtvPj0wO28tLSlpZihhW29dJiZhW29dLnJvbGU9PT0idXNlciIpe2k9bzticmVha31mdW5jdGlvbiBjKCl7dmFyIHg9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1oaXN0b3J5LXN1bW1hcnkiKTt4JiZ4LnJlbW92ZSgpO2Zvcih2YXIgRj1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LWhpc3RvcnktaGlkZGVuIiksQT0wO0E8Ri5sZW5ndGg7QSsrKUZbQV0uY2xhc3NMaXN0LnJlbW92ZSgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpO2UucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWhpc3Rvcnktc2lnIil9YygpO2Zvcih2YXIgZD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50W2RhdGEtbXNnLWluZGV4XSIpLGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIG09ZFtmXSxoPXBhcnNlSW50KG0uZ2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIpfHwiIiwxMCk7aWYoIShpc05hTihoKXx8IWFbaF18fGFbaF0ucm9sZSE9PSJhc3Npc3RhbnQiKSl7dmFyIGc9aDxpLGI9ZHIoZz8iYXNzaXN0YW50LXJlcGx5LWhpc3RvcnkiOiJhc3Npc3RhbnQtcmVwbHktY3VycmVudCIsW2J2KGFbaF0saCldKSx5PUhhKGIpLEM9eT09PW51bGw/IWc6eSx3PW0ucXVlcnlTZWxlY3RvcigiOnNjb3BlID4gLmFzc2lzdGFudC1yZXBseS1kaXNjbG9zdXJlIik7d3x8KHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksdy5jbGFzc05hbWU9ImFzc2lzdGFudC1yZXBseS1kaXNjbG9zdXJlIix3LnNldEF0dHJpYnV0ZSgidHlwZSIsImJ1dHRvbiIpLG0uaW5zZXJ0QmVmb3JlKHcsbS5maXJzdENoaWxkKSksdy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kLWtleSIsYiksdy5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLEM/InRydWUiOiJmYWxzZSIpLHcuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0iYXNzaXN0YW50LXJlcGx5LWxhYmVsIj5cdTU2REVcdTU5MEQ8L3NwYW4+PHNwYW4gY2xhc3M9ImFzc2lzdGFudC1yZXBseS1wcmV2aWV3Ij4nK0woT18oYVtoXSl8fCJcdTUyQTlcdTYyNEJcdTU2REVcdTU5MEQiKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhc3Npc3RhbnQtcmVwbHktYWN0aW9uIj4nKyhDPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhc3Npc3RhbnQtcmVwbHktY2hldnJvbiI+JytpdCgiY2hldnJvbkRvd24iLHtzaXplOjE1fSkrIjwvc3Bhbj4iLG0uY2xhc3NMaXN0LnRvZ2dsZSgiYXNzaXN0YW50LXJlcGx5LWNvbGxhcHNlZCIsIUMpLG0uY2xhc3NMaXN0LnRvZ2dsZSgiYXNzaXN0YW50LXJlcGx5LWV4cGFuZGVkIixDKSx3Lm9uY2xpY2s9ZnVuY3Rpb24oKXt2YXIgeD10aGlzLnBhcmVudEVsZW1lbnQsRj14LmNsYXNzTGlzdC5jb250YWlucygiYXNzaXN0YW50LXJlcGx5LWNvbGxhcHNlZCIpO3guY2xhc3NMaXN0LnRvZ2dsZSgiYXNzaXN0YW50LXJlcGx5LWNvbGxhcHNlZCIsIUYpLHguY2xhc3NMaXN0LnRvZ2dsZSgiYXNzaXN0YW50LXJlcGx5LWV4cGFuZGVkIixGKSx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsRj8idHJ1ZSI6ImZhbHNlIik7dmFyIEE9dGhpcy5xdWVyeVNlbGVjdG9yKCIuYXNzaXN0YW50LXJlcGx5LWFjdGlvbiIpO0EmJihBLnRleHRDb250ZW50PUY/Ilx1NjUzNlx1OEQ3NyI6Ilx1NUM1NVx1NUYwMCIpLGd2KHRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZC1rZXkiKSxGKX19fX13aW5kb3cuX19oaXN0b3J5U3VtbWFyeVRvZ2dsZT1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLmNsb3Nlc3Q/ZS5jbG9zZXN0KCIuY2hhdC1oaXN0b3J5LXN1bW1hcnkiKTpudWxsO2lmKHQpe3ZhciBhPXQuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZC1rZXkiKSxpPXQuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIikhPT0idHJ1ZSI7dC5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLGk/InRydWUiOiJmYWxzZSIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixpPyJ0cnVlIjoiZmFsc2UiKTt2YXIgbz10LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LWhpc3Rvcnktc3VtbWFyeS10aXRsZSIpO28mJihvLnRleHRDb250ZW50PVJuKGk/Imhpc3RvcnkuY29sbGFwc2UiOiJoaXN0b3J5LmV4cGFuZCIpKSxhJiZndihhLGkpLEJfKHQsaSk7dmFyIGM9dC5wYXJlbnRFbGVtZW50O2lmKGkmJmRFKGMpLGMpe3ZhciBkPWMuZ2V0QXR0cmlidXRlKCJkYXRhLWhpc3Rvcnktc2lnIik7aWYoZCl7dmFyIGY9ZC5zcGxpdCgiOiIpO2YubGVuZ3RoPj0zJiYoZlsyXT1pPyIxIjoiMCIsYy5zZXRBdHRyaWJ1dGUoImRhdGEtaGlzdG9yeS1zaWciLGYuam9pbigiOiIpKSl9fX19O2Z1bmN0aW9uIG4wKGUpe2lmKCFlfHxlLnR5cGUhPT0idG9vbF91c2UiKXJldHVybiBudWxsO3ZhciB0PWUuaW5wdXR8fHt9LGE9dHlwZW9mIHQuc3ViYWdlbnRfdHlwZT09InN0cmluZyI/dC5zdWJhZ2VudF90eXBlOm51bGw7cmV0dXJuIWEmJmUubmFtZSE9PSJUYXNrIiYmZS5uYW1lIT09IkFnZW50Ij9udWxsOnt0YXNrSWQ6ZS5pZCxhZ2VudFR5cGU6YXx8dm9pZCAwLHRhc2tEZXNjcmlwdGlvbjp0eXBlb2YgdC5kZXNjcmlwdGlvbj09InN0cmluZyI/dC5kZXNjcmlwdGlvbjp2b2lkIDB9fWZ1bmN0aW9uIE5fKGUpe3ZhciB0PW5ldyBNYXA7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7Zm9yKHZhciBhPTA7YTxlLmxlbmd0aDthKyspe3ZhciBpPWVbYV07aWYoISghaXx8aS5yb2xlIT09ImFzc2lzdGFudCJ8fCFBcnJheS5pc0FycmF5KGkuY29udGVudCkpKWZvcih2YXIgbz0wO288aS5jb250ZW50Lmxlbmd0aDtvKyspe3ZhciBjPWkuY29udGVudFtvXTtpZighKCFjfHxjLnR5cGUhPT0idG9vbF91c2UiKSl7dmFyIGQ9Yy5fX3N1YmFnZW50fHxuMChjKTtkJiZ0LnNldChjLmlkLGQpfX19cmV0dXJuIHR9ZnVuY3Rpb24gUl8oZSl7dmFyIHQ9bmV3IE1hcDtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdDt2YXIgYT1uZXcgTWFwLGk9bmV3IFNldDtmdW5jdGlvbiBvKGcpe2lmKCEoIWd8fCFnLnRhc2tJZCkmJiFpLmhhcyhnLnRhc2tJZCkpe2kuYWRkKGcudGFza0lkKTt2YXIgYj1pRShnKTtiJiYoYS5oYXMoYil8fGEuc2V0KGIsW10pLGEuZ2V0KGIpLnB1c2goZy50YXNrSWQpKX19Zm9yKHZhciBjPTA7YzxlLmxlbmd0aDtjKyspe3ZhciBkPWVbY107aWYoISghZHx8IUFycmF5LmlzQXJyYXkoZC5jb250ZW50KSkpZm9yKHZhciBmPTA7ZjxkLmNvbnRlbnQubGVuZ3RoO2YrKyl7dmFyIG09ZC5jb250ZW50W2ZdO2lmKG0pe3ZhciBoPW0uX19zdWJhZ2VudHx8KG0udHlwZT09PSJ0b29sX3VzZSI/bjAobSk6bnVsbCk7aCYmbyhoKX19fXJldHVybiBhLmZvckVhY2goZnVuY3Rpb24oZyl7aWYoIShnLmxlbmd0aDwyKSlmb3IodmFyIGI9MDtiPGcubGVuZ3RoO2IrKyl0LnNldChnW2JdLCIgIyIrKGIrMSkpfSksdH1mdW5jdGlvbiBmRShlLHQpe3ZhciBhPVtdO2lmKCFBcnJheS5pc0FycmF5KGUpfHwhZS5sZW5ndGgpcmV0dXJuIGE7Zm9yKHZhciBpPW51bGwsbz0wO288ZS5sZW5ndGg7bysrKXt2YXIgYz1lW29dLGQ9YyYmYy50eXBlPT09InRleHQiJiZjLl9fcHJvY2Vzc2luZz09PSEwO2lmKGQmJmkpe2kuYmxvY2tzLnB1c2goYyk7Y29udGludWV9dmFyIGY9YyYmYy5fX3N1YmFnZW50P2MuX19zdWJhZ2VudDpudWxsO2Z8fChmPW4wKGMpKSwhZiYmYyYmYy50eXBlPT09InRvb2xfcmVzdWx0IiYmdCYmdC5oYXMoYy50b29sX3VzZV9pZCkmJihmPXQuZ2V0KGMudG9vbF91c2VfaWQpKTt2YXIgbT1mP2YudGFza0lkOm51bGw7KCFpfHxpLmtleSE9PW0pJiYoaT17a2V5Om0sc3ViYWdlbnQ6ZixibG9ja3M6W10sZmlyc3RJbmRleDpvfSxhLnB1c2goaSkpLGkuYmxvY2tzLnB1c2goYyl9cmV0dXJuIGF9ZnVuY3Rpb24gYTAoZSx0LGEsaSxvLGMpe3ZhciBkPSIiLGY9Y3x8e307dHJ5e2Zvcih2YXIgbT1EXyhlKSxoPTA7aDxtLmxlbmd0aDtoKyspe3ZhciBnPW1baF07dHJ5e2lmKGcudHlwZT09PSJncm91cCIpe2Zvcih2YXIgYj1bXSx5PTA7eTxnLml0ZW1zLmxlbmd0aDt5KyspYi5wdXNoKHtibG9jazpnLml0ZW1zW3ldLmJsb2NrLGluZGV4OmcuaXRlbXNbeV0uaW5kZXgrdH0pO2QrPVNfKGIsYSxpLG8sZil9ZWxzZSBkKz1tRShnLmJsb2NrLGEsaSxnLmluZGV4K3QsbyxmKX1jYXRjaHtkKz0nPGRpdiBjbGFzcz0icmVuZGVyLWVycm9yIj5cdTZEODhcdTYwNkZcdTU3NTdcdTZFMzJcdTY3RDNcdTU5MzFcdThEMjU8L2Rpdj4nfX19Y2F0Y2h7ZCs9JzxkaXYgY2xhc3M9InJlbmRlci1lcnJvciI+XHU2RDg4XHU2MDZGXHU2RTMyXHU2N0QzXHU1OTMxXHU4RDI1PC9kaXY+J31yZXR1cm4gZH1mdW5jdGlvbiBwRShlLHQsYSxpLG8sYyl7Zm9yKHZhciBkPWN8fHt9LGY9ZC5zaG93SGFuZG9mZiE9PSExLG09IiIsaD1udWxsLGc9MDtnPGUubGVuZ3RoO2crKyl7dmFyIGI9ZVtnXSx5PWIuc3ViYWdlbnQ/e2luU3ViYWdlbnRQYW5lbDohMH06e30sQz1hMChiLmJsb2NrcyxiLmZpcnN0SW5kZXgsdCxpLG8seSk7aWYoISghQ3x8IUMudHJpbSgpKSlpZihiLnN1YmFnZW50KXt2YXIgdz1mJiZoIT09Yi5zdWJhZ2VudC50YXNrSWQ7bSs9SV8oYixhLEMsbyx3KSxoPWIuc3ViYWdlbnQudGFza0lkfWVsc2UgbSs9JzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZS1zZWdtZW50IHBhcmVudCI+Jyt0cyh0KSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPicrQysiPC9kaXY+PC9kaXY+IixoPW51bGx9cmV0dXJuIG19ZnVuY3Rpb24gSV8oZSx0LGEsaSxvKXt2YXIgYz1lLnN1YmFnZW50LGQ9Yl8oYyksZj1nXyhjKSxtPWMudGFza0lkfHwiIixoPUxfKGUuYmxvY2tzKSxnO2lmKG8pe3ZhciBiPSEhKGMudGFza0Rlc2NyaXB0aW9uJiZTdHJpbmcoYy50YXNrRGVzY3JpcHRpb24pLnRyaW0oKSkseT1iPyc8c3BhbiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtdGFzay1kZXNjIj4nK0woYy50YXNrRGVzY3JpcHRpb24pKyI8L3NwYW4+IjonPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLXRhc2stZGVzYyI+JytMKFJuKCJzdWJhZ2VudC5jb250aW51ZWQiKSkrIjwvc3Bhbj4iO2c9JzxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1hdHRyaWJ1dGlvbiI+PHN0cm9uZyBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtbmFtZSI+JytMKGYpKyc8L3N0cm9uZz48c3BhbiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtdGFnIiB0aXRsZT0iJytMKFJuKCJzdWJhZ2VudC50YWdfdGl0bGUiKSkrJyI+JytMKFJuKCJzdWJhZ2VudC50YWciKSkrIjwvc3Bhbj4iK3krIjwvc3Bhbj4ifWVsc2UgZz0nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWF0dHJpYnV0aW9uIj48c3Ryb25nIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1uYW1lIj4nK0woZikrJzwvc3Ryb25nPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10YXNrLWRlc2MiPiAnK0woUm4oInN1YmFnZW50LmNvbnRpbnVlZCIpKSsiPC9zcGFuPjwvc3Bhbj4iO3ZhciBDPWRyKCJzdWJhZ2VudC1wYW5lbCIsW2ksbV0pO3JldHVybic8ZGl2IGNsYXNzPSJzdWJhZ2VudC1wYW5lbCIgZGF0YS1leHBhbmQta2luZD0ic3ViYWdlbnQtcGFuZWwiIGRhdGEtZXhwYW5kLWtleT0iJytMKEMpKyciIGRhdGEtYWdlbnQtaWQ9IicrTChtKSsnIiBkYXRhLWZvbGxvdy10YWlsPSJ0cnVlIiBkYXRhLWV4cGFuZGVkPSJ0cnVlIiBzdHlsZT0iLS1hZ2VudC1jb2xvcjonK2QucHJpbWFyeSsnIj48ZGl2IGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1oZWFkZXIiIGFyaWEtbGFiZWw9IicrTChSbigic3ViYWdlbnQudGl0bGVfYXJpYSIpKSsnIj4nK2crJzxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1jb3VudCI+JytMKGgrIiBcdTY3NjFcdTUxODVcdTVCQjkiKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN1YmFnZW50LXBhbmVsLWJvZHkiPicrYSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBMXyhlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gMDtmb3IodmFyIHQ9MCxhPTA7YTxlLmxlbmd0aDthKyspe3ZhciBpPWVbYV07IWl8fCFpLnR5cGV8fGkudHlwZSE9PSJ0b29sX3Jlc3VsdCImJihpLnR5cGU9PT0idGV4dCImJiFTdHJpbmcoaS50ZXh0fHwiIikudHJpbSgpJiYhaS5fX3Byb2Nlc3Npbmd8fGkudHlwZT09PSJ0aGlua2luZyImJiFTdHJpbmcoaS50aGlua2luZ3x8IiIpLnRyaW0oKXx8dCsrKX1yZXR1cm4gTWF0aC5tYXgoMSx0KX1mdW5jdGlvbiB6XyhlLHQsYSxpKXt2YXIgbz1lLnJvbGUsYz1idihlLGEpLGQ9bz09PSJhc3Npc3RhbnQiP0hfKHQpOiIiLGY9bz09PSJ1c2VyIiYmZS5jb250ZW50JiZlLmNvbnRlbnQuc29tZShmdW5jdGlvbihUKXtyZXR1cm4gVC5fX3F1ZXVlZH0pO2lmKCFlLmNvbnRlbnR8fGUuY29udGVudC5sZW5ndGg9PT0wKXJldHVybiBvPT09ImFzc2lzdGFudCI/JzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK28rJyI+Jyt0cyhvKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPjxkaXYgY2xhc3M9InR5cGluZy1pbmRpY2F0b3IiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2PicrZCsiPC9kaXY+PC9kaXY+IjonPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrbysnIGVtcHR5LW1lc3NhZ2UiIGRhdGEtbWVzc2FnZS1rZXk9IicrTChjKSsnIj4nK3RzKG8pKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+PHNwYW4gY2xhc3M9ImVtcHR5LW1lc3NhZ2UtaGludCI+XHVGRjA4XHU3QTdBXHU2RDg4XHU2MDZGXHVGRjA5PC9zcGFuPjwvZGl2PjwvZGl2Pic7dmFyIG09eF8oZS5jb250ZW50KSxoPXNFKCJhc3Npc3RhbnQiKTtpZihvIT09ImFzc2lzdGFudCIpe3ZhciBnPWZFKGUuY29udGVudCxpKSxiPWcuc29tZShmdW5jdGlvbihUKXtyZXR1cm4gVC5zdWJhZ2VudH0pLHk9Zj8iIHF1ZXVlZCI6IiIsQz1mPyc8c3BhbiBjbGFzcz0icXVldWVkLWJhZGdlIj5cdTYzOTJcdTk2MUZcdTRFMkQ8L3NwYW4+JzoiIjtpZihiKXt2YXIgdz1wRShnLG8saC5uYW1lLG0sYyx7c2hvd0hhbmRvZmY6ITF9KTtyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrbyt5KycgbXVsdGktYWdlbnQiIGRhdGEtbWVzc2FnZS1rZXk9IicrTChjKSsnIj4nK3crQysiPC9kaXY+In12YXIgeD1hMChlLmNvbnRlbnQsMCxvLG0sYyk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK28reSsnIiBkYXRhLW1lc3NhZ2Uta2V5PSInK0woYykrJyI+Jyt0cyhvKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPicreCtDKyI8L2Rpdj48L2Rpdj4ifXZhciBGPWZFKGUuY29udGVudCxpKSxBPUYuc29tZShmdW5jdGlvbihUKXtyZXR1cm4gVC5zdWJhZ2VudH0pO2lmKCFBKXt2YXIgRD1hMChlLmNvbnRlbnQsMCxvLG0sYyk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK28rJyIgZGF0YS1tZXNzYWdlLWtleT0iJytMKGMpKyciPicrdHMobykrJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZS1jb250ZW50Ij4nK0QrZCsiPC9kaXY+PC9kaXY+In12YXIgQj0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrbysnIG11bHRpLWFnZW50IiBkYXRhLW1lc3NhZ2Uta2V5PSInK0woYykrJyI+JztyZXR1cm4gQis9cEUoRixvLGgubmFtZSxtLGMse3Nob3dIYW5kb2ZmOiEwfSksQis9ZCxCKz0iPC9kaXY+IixCfWZ1bmN0aW9uIFZsKGUpe3JldHVybiBlPj0xZTY/KGUvMWU2KS50b0ZpeGVkKDEpLnJlcGxhY2UoL1wuMCQvLCIiKSsiTSI6ZT49MWUzPyhlLzFlMykudG9GaXhlZCgxKS5yZXBsYWNlKC9cLjAkLywiIikrImsiOlN0cmluZyhNYXRoLm1heCgwLE1hdGgucm91bmQoZXx8MCkpKX1mdW5jdGlvbiBIXyhlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1lLmVzdGltYXRlZD09PSEwLGE9W107cmV0dXJuKGUuaW5wdXRUb2tlbnN8fDApPjAmJmEucHVzaCgiXHU4RjkzXHU1MTY1ICIrVmwoZS5pbnB1dFRva2VucykpLChlLmNhY2hlUmVhZElucHV0VG9rZW5zfHwwKT4wJiZhLnB1c2goIlx1N0YxM1x1NUI1OFx1NTQ3RFx1NEUyRCAiK1ZsKGUuY2FjaGVSZWFkSW5wdXRUb2tlbnMpKSwoZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnN8fDApPjAmJmEucHVzaCgiXHU3RjEzXHU1QjU4XHU1MTk5XHU1MTY1ICIrVmwoZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMpKSwoZS5vdXRwdXRUb2tlbnN8fDApPjAmJmEucHVzaCgiXHU4RjkzXHU1MUZBICIrKHQ/Ilx1MjI0OCI6IiIpK1ZsKGUub3V0cHV0VG9rZW5zKSksKGUucmVhc29uaW5nT3V0cHV0VG9rZW5zfHwwKT4wJiZhLnB1c2goIlx1NjNBOFx1NzQwNiAiKyh0PyJcdTIyNDgiOiIiKStWbChlLnJlYXNvbmluZ091dHB1dFRva2VucykpLChlLnRvdGFsQ29zdFVzZHx8MCk+MCYmYS5wdXNoKCIkIitOdW1iZXIoZS50b3RhbENvc3RVc2QpLnRvRml4ZWQoNCkucmVwbGFjZSgvMCskLywiIikucmVwbGFjZSgvXC4kLywiIikpLGEubGVuZ3RoPT09MCYmdCYmYS5wdXNoKCJcdTZCNjNcdTU3MjhcdTdFREZcdThCQTFcdTc1MjhcdTkxQ0ZcdTIwMjYiKSxhLmxlbmd0aD09PTA/IiI6JzxkaXYgY2xhc3M9InR1cm4tdXNhZ2Utc3VtbWFyeScrKHQ/IiBpcy1lc3RpbWF0ZWQiOiIiKSsnIiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWxhYmVsPSJcdTY3MkNcdThGNkVcdTc1MjhcdTkxQ0YgJytMKGEuam9pbigiXHVGRjBDIikpKyciPjxzdmcgY2xhc3M9InR1cm4tdXNhZ2UtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTIuNSAxMy41aDExTTQgMTFWNy41TTggMTFWM00xMiAxMVY1LjUiLz48L3N2Zz48c3Bhbj4nK0woYS5qb2luKCIgXHhCNyAiKSkrIjwvc3Bhbj48L2Rpdj4ifXZhciBxXz0vXlxzKlxb6ZmE5Lu25bey5LiK5Lyg77yM6K+35p+l55yL5Lul5LiL5paH5Lu2OlxuKFtcc1xTXSo/KVxdXG4rLztmdW5jdGlvbiBQXyhlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtpZighdClyZXR1cm4iIjt2YXIgYT10LnNwbGl0KCIvIikucG9wKCl8fHQ7aWYoajAodCkpe3ZhciBpPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQodCk7cmV0dXJuJzxkaXYgY2xhc3M9InVzZXItYXR0YWNobWVudC1pbWFnZSI+PGltZyBjbGFzcz0idXNlci1hdHRhY2htZW50LXRodW1iIiBsb2FkaW5nPSJsYXp5IiBzcmM9IicraSsnIiBhbHQ9IicrTChhKSsnIiBkYXRhLXBhdGg9IicrTCh0KStgIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgaWYod2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KXdpbmRvdy5fX29wZW5GaWxlUHJldmlldyh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1wYXRoJykpOyIgb25lcnJvcj0idmFyIHc9dGhpcy5jbG9zZXN0KCcudXNlci1hdHRhY2htZW50LWltYWdlJyk7IGlmKHcpdy5zdHlsZS5kaXNwbGF5PSdub25lJzsiIC8+PC9kaXY+YH1yZXR1cm4nPGRpdiBjbGFzcz0idXNlci1hdHRhY2htZW50LWZpbGUiIGRhdGEtcGF0aD0iJytMKHQpK2AiIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBpZih3aW5kb3cuX19vcGVuRmlsZVByZXZpZXcpd2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXBhdGgnKSk7Ij48c3BhbiBjbGFzcz0idXNlci1hdHRhY2htZW50LWZpbGUtaWNvbiI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNOSAxLjVINGExIDEgMCAwIDAtMSAxdjExYTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xVjUuNUw5IDEuNXoiLz48cGF0aCBkPSJNOSAxLjVWNS41aDQiLz48L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9InVzZXItYXR0YWNobWVudC1maWxlLW5hbWUiPmArTChhKSsiPC9zcGFuPjwvZGl2PiJ9ZnVuY3Rpb24gdkUoZSl7dmFyIHQ9ZXx8IiIsYT10Lm1hdGNoKHFfKTtpZighYSlyZXR1cm4gTCh0KTtmb3IodmFyIGk9IiIsbz1hWzFdLnNwbGl0KGAKYCksYz0wO2M8by5sZW5ndGg7YysrKWkrPVBfKG9bY10pO3ZhciBkPXQuc2xpY2UoYVswXS5sZW5ndGgpLGY9aT8nPGRpdiBjbGFzcz0idXNlci1hdHRhY2htZW50cyI+JytpKyI8L2Rpdj4iOiIiLG09ZC50cmltKCk/JzxkaXYgY2xhc3M9InVzZXItYXR0YWNobWVudC10ZXh0Ij4nK0woZCkrIjwvZGl2PiI6IiI7cmV0dXJuIGYrbX1mdW5jdGlvbiBtRShlLHQsYSxpLG8sYyl7dmFyIGQ9Y3x8e307aWYoIWV8fCFlLnR5cGV8fCFkLmluU3ViYWdlbnRQYW5lbCYmZS50eXBlPT09InRvb2xfdXNlIiYmZS5fX3N1YmFnZW50JiZlLl9fc3ViYWdlbnQudGFza0lkPT09ZS5pZClyZXR1cm4iIjtpZihlLnR5cGU9PT0idG9vbF9yZXN1bHQiJiZlLl9fc3ViYWdlbnQmJmUuX19zdWJhZ2VudC50YXNrSWQ9PT1lLnRvb2xfdXNlX2lkKXJldHVybiB5XyhlLHQpO3N3aXRjaChlLnR5cGUpe2Nhc2UidGV4dCI6cmV0dXJuIHQ9PT0iYXNzaXN0YW50IiYmZS5fX3Byb2Nlc3Npbmc/JzxkaXYgY2xhc3M9InR5cGluZy1pbmRpY2F0b3IiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2Pic6dD09PSJhc3Npc3RhbnQiP2kwKGUudGV4dHx8IiIpOnZFKGUudGV4dHx8IiIpO2Nhc2UidGhpbmtpbmciOnZhciBmPWUudGhpbmtpbmd8fCIiLG09ZS50aGlua2luZz09PXZvaWQgMCYmZS50eXBlPT09InRoaW5raW5nIjtpZihtKXJldHVybic8ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgdGhpbmtpbmctc3RyZWFtaW5nIiBkYXRhLXRoaW5raW5nPSIiPjxkaXYgY2xhc3M9InRoaW5raW5nLXN0cmVhbWluZy1pbm5lciI+PHNwYW4gY2xhc3M9InRoaW5raW5nLXN0cmVhbWluZy1pY29uIHNwaW5uaW5nIj5cdTI5QkY8L3NwYW4+PGRpdiBjbGFzcz0idGhpbmtpbmctc3RyZWFtaW5nLXRleHQiPjwvZGl2PjwvZGl2PjwvZGl2Pic7aWYoIWYudHJpbSgpKXJldHVybiIiO3ZhciBoPWYubGVuZ3RoPjYwP2Yuc2xpY2UoMCw1NykrIlx1MjAyNiI6ZixnPWRyKCJ0aGlua2luZyIsW28saV0pLGI9SGEoZykseT1iPT09bnVsbD9IdSgidGhpbmtpbmciKTpiO3JldHVybic8ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgJysoeT8iZXhwYW5kZWQiOiJjb2xsYXBzZWQiKSsnIiBkYXRhLWV4cGFuZC1raW5kPSJ0aGlua2luZyIgZGF0YS1leHBhbmQta2V5PSInK0woZykrJyIgZGF0YS10aGlua2luZz0iJytMKGYpKyciIG9uY2xpY2s9Il9fdGhpbmtpbmdUb2dnbGUodGhpcykiPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtaWNvbiI+XHUyOUJGPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtcHJldmlldyI+JytMKHk/ZjpoKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtYWN0aW9uIj4nKyh5PyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKSsiPC9zcGFuPjwvZGl2PiI7Y2FzZSJ0b29sX3VzZSI6dmFyIEM9bEUoYSxlLmlkKSx3PVdfKGUsQyxpLG8sZCk7cmV0dXJuIEVfKGEsZS5pZCkmJih3PUZfKGUubmFtZXx8Ilx1NURFNVx1NTE3NyIpK3cpLHc7Y2FzZSJ0b29sX3Jlc3VsdCI6cmV0dXJuIiI7ZGVmYXVsdDp2YXIgeD1lJiZlLnR5cGU/U3RyaW5nKGUudHlwZSk6Ilx1NjcyQVx1NzdFNSIsRj0iIjt0cnl7Rj1KU09OLnN0cmluZ2lmeShlLG51bGwsMil9Y2F0Y2h7Rj0ie30ifXJldHVybmA8ZGl2IGNsYXNzPSJ1bmtub3duLWJsb2NrIGNvbGxhcHNlZCIgb25jbGljaz0idGhpcy5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKSI+PGRpdiBjbGFzcz0idW5rbm93bi1ibG9jay1oZWFkZXIiPjxzcGFuIGNsYXNzPSJ1bmtub3duLWJsb2NrLWljb24iPj88L3NwYW4+PHNwYW4gY2xhc3M9InVua25vd24tYmxvY2stbGFiZWwiPlx1NjcyQVx1OEJDNlx1NTIyQlx1NzY4NFx1NTE4NVx1NUJCOVx1NTc1N1x1RkYxQWArTCh4KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ1bmtub3duLWJsb2NrLXRvZ2dsZSI+XHUyNUJDPC9zcGFuPjwvZGl2PjxwcmUgY2xhc3M9InVua25vd24tYmxvY2stYm9keSI+JytMKEYpKyI8L3ByZT48L2Rpdj4ifX1mdW5jdGlvbiBVXyhlLHQsYSxpLG8sYyxkLGYpe3ZhciBtPWZ8fHt9LGg9ZS5pZHx8InRvb2wtIithLGc9ZHIoImlubGluZS10b29sIixbYyxofHxkLGRdKSxiPUhhKGcpLHk9ZS5pbnB1dHx8e30sQz16aSh0JiZ0LmNvbnRlbnQpLHc9dCYmdC5pc19lcnJvcix4PUMubGVuZ3RoPjAsRj13PyJcdTI3MTciOng/Ilx1MjcxMyI6Ilx1MjAyNiIsQT0iIixEPSIiLEI9IiIsVD0iIjtpZihhPT09IlJlYWQiKXtBPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNMSAzLjVBMS41IDEuNSAwIDAgMSAyLjUgMmgyLjc2NGMuOTU4IDAgMS43Ni41NiAyLjMxMSAxLjE4NEM4LjQwNSAzLjc3IDkuMTQ2IDQgMTAgNGgzLjVBMS41IDEuNSAwIDAgMSAxNSA1LjV2N2ExLjUgMS41IDAgMCAxLTEuNSAxLjVoLTExQTEuNSAxLjUgMCAwIDEgMSAxMi41di05eiIvPjxwYXRoIGQ9Ik0yIDUuNWgxMk0yIDhoOE0yIDEwLjVoNSIvPjwvc3ZnPic7dmFyIGs9eS5maWxlX3BhdGh8fHkucGF0aHx8aXx8IiIsTT0iIjt5LmxpbWl0JiYoTT0iICIreS5vZmZzZXQrIi0iKyh5Lm9mZnNldCt5LmxpbWl0KSksRD1rLEI9TX1lbHNlIGlmKGE9PT0iR2xvYiIpe0E9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjciIGN5PSI3IiByPSI1Ii8+PHBhdGggZD0iTTEwLjUgMTAuNUwxNCAxNCIvPjwvc3ZnPic7dmFyIHo9eS5wYXR0ZXJufHwiIixPPXkucGF0aHx8aXx8IiI7RD16LEI9T31lbHNlIGlmKGE9PT0iR3JlcCIpe0E9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjYuNSIgY3k9IjYuNSIgcj0iNC41Ii8+PHBhdGggZD0iTTExLjUgMTEuNUwxNSAxNSIvPjwvc3ZnPic7dmFyIHo9eS5wYXR0ZXJufHwiIixPPXkucGF0aHx8aXx8IiI7RD16LEI9Tyx5LmNvbnRleHQmJihCKz0iIC1DIit5LmNvbnRleHQpfWVsc2UgaWYoYT09PSJXZWJGZXRjaCIpe0E9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjgiIGN5PSI4IiByPSI2LjUiLz48cGF0aCBkPSJNOCAxLjV2MTNNMS41IDhoMTMiLz48L3N2Zz4nO3ZhciByZT15LnVybHx8IiI7RD1yZSxCPW98fCIifWVsc2UgaWYoYT09PSJXZWJTZWFyY2giKXtBPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI3IiBjeT0iNyIgcj0iNSIvPjxwYXRoIGQ9Ik0xMC41IDEwLjVMMTQgMTQiLz48cGF0aCBkPSJNNSA3aDRNNyA1djQiLz48L3N2Zz4nO3ZhciBlZT15LnF1ZXJ5fHwiIjtEPWVlLEI9b3x8IiJ9ZWxzZSBhPT09IlRvZG9SZWFkIj8oQT0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMiIvPjxwYXRoIGQ9Ik01IDhsMiAyIDQtNCIvPjwvc3ZnPicsRD0iXHU4QkZCXHU1M0Q2XHU1Rjg1XHU1MjlFXHU1MjE3XHU4ODY4IixCPW98fCIiKTooQT0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PGNpcmNsZSBjeD0iOCIgY3k9IjgiIHI9IjYuNSIvPjxwYXRoIGQ9Ik04IDV2My41TTggMTFoLjAxIi8+PC9zdmc+JyxEPXIwKGEpLEI9b3x8IiIpO2lmKHgpe3ZhciBaPUMuc3BsaXQoYApgKTtaLmxlbmd0aD4xMD9UPVouc2xpY2UoMCwxMCkuam9pbihgCmApK2AKXHUyMDI2YDpUPUN9dmFyIHZlPUwoQyksbWU9TChUKSxIPUMsdGU9IiIsST1tLmZvcmNlRXhwYW5kZWRUb29sQm9kaWVzPyEwOmI9PT1udWxsP0h1KCJpbmxpbmVUb29scyIpOmI7eD90ZT0nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5OiAnKyhJPyJibG9jayI6Im5vbmUiKSsnOyI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtcmVzdWx0Ij4nK2dFKEMsYSkrIjwvZGl2PjwvZGl2PiI6dz90ZT0nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5OiAnKyhJPyJibG9jayI6Im5vbmUiKSsnOyI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtcmVzdWx0IGlubGluZS10b29sLWVycm9yIj4nK0woQ3x8Ilx1NjRDRFx1NEY1Q1x1NTkzMVx1OEQyNSIpKyI8L2Rpdj48L2Rpdj4iOnR8fCh0ZT0nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5OiAnKyhJPyJibG9jayI6Im5vbmUiKSsnOyI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtbG9hZGluZyI+XHU3QjQ5XHU1Rjg1XHU1NENEXHU1RTk0XHUyMDI2PC9kaXY+PC9kaXY+Jyk7dmFyIFU9dCYmdC5fdHJ1bmNhdGVkPT09ITAsVz0iIjtpZihhPT09IlJlYWQiKXt2YXIgWD15LmZpbGVfcGF0aHx8eS5wYXRofHxpfHwiIjtpZihYJiZqMChYKSl7dmFyIGZlPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQoWCk7Vz0nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtaW1hZ2UiIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyI+PGltZyBjbGFzcz0iaW5saW5lLXRvb2wtaW1hZ2UtdGh1bWIiIGxvYWRpbmc9ImxhenkiIHNyYz0iJytmZSsnIiBhbHQ9IicrTChrKSsnIiBkYXRhLXBhdGg9IicrTChYKStgIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgaWYod2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KXdpbmRvdy5fX29wZW5GaWxlUHJldmlldyh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1wYXRoJykpOyIgb25lcnJvcj0idmFyIHc9dGhpcy5jbG9zZXN0KCcuaW5saW5lLXRvb2wtaW1hZ2UnKTsgaWYodyl3LnN0eWxlLmRpc3BsYXk9J25vbmUnOyIgLz48L2Rpdj5gfX12YXIgZ2U9Qj8nPHNwYW4gY2xhc3M9ImlubGluZS10b29sLW1ldGEiPicrTChCKSsiPC9zcGFuPiI6IiIsaj13PyJpbmxpbmUtdG9vbC1lcnJvci1pbmxpbmUiOiIiO0kmJihqKz0iIGlubGluZS10b29sLW9wZW4iKTt2YXIgWT1VPydkYXRhLXRydW5jYXRlZD0idHJ1ZSIgZGF0YS10b29sLXVzZS1pZD0iJytMKGUuaWR8fCIiKSsnIiAnOiIiO3JldHVybic8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbCAnK2orJyIgZGF0YS1leHBhbmQta2luZD0iaW5saW5lLXRvb2wiIGRhdGEtZXhwYW5kLWtleT0iJytMKGcpKyciIGRhdGEtcmVzdWx0PSInK0woSCkrJyIgZGF0YS1wcmV2aWV3PSInK21lKyciIGRhdGEtc3RhdHVzPSInKyh3PyJlcnJvciI6eD8iZG9uZSI6InBlbmRpbmciKSsnIiAnK1krJ29uY2xpY2s9Il9faW5saW5lVG9vbFRvZ2dsZSh0aGlzKSI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtcm93Ij48c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtc3RhdHVzIj4nK0YrIjwvc3Bhbj4iK0ErJzxzcGFuIGNsYXNzPSJpbmxpbmUtdG9vbC10aXRsZSI+JytMKEQpKyI8L3NwYW4+IitnZSsiPC9kaXY+IitXK3RlKyI8L2Rpdj4ifWZ1bmN0aW9uIFZfKGUsdCxhLGksbyxjKXt2YXIgZD1jfHx7fSxmPWUuaW5wdXR8fHt9LG09Zi5jb21tYW5kfHxmLmNtZHx8IiIsaD16aSh0JiZ0LmNvbnRlbnQpLGc9ZS5pZHx8InRvb2wtIithLGI9ZHIoInRlcm1pbmFsIixbaSxnfHxvLG9dKSx5PUhhKGIpLEM9dCYmdC5pc19lcnJvcix3PWYuZXhpdENvZGUseD1oLmxlbmd0aD4wLEY9IiI7dD9DP0Y9JzxzcGFuIGNsYXNzPSJ0ZXJtLXN0YXR1cy1kb3QgdGVybS1lcnJvciI+PC9zcGFuPic6dz09PTB8fHc9PT12b2lkIDA/Rj0nPHNwYW4gY2xhc3M9InRlcm0tc3RhdHVzLWRvdCB0ZXJtLXN1Y2Nlc3MiPjwvc3Bhbj4nOkY9JzxzcGFuIGNsYXNzPSJ0ZXJtLXN0YXR1cy1kb3QgdGVybS13YXJuIj48L3NwYW4+JzpGPSc8c3BhbiBjbGFzcz0idGVybS1zdGF0dXMtZG90IHRlcm0tcnVubmluZyI+PC9zcGFuPic7Zm9yKHZhciBBPSc8c3BhbiBjbGFzcz0idGVybS1wcm9tcHQiPiQ8L3NwYW4+JyxEPUwobSksQj1oLnNwbGl0KGAKYCksVD0iIixrPTA7azxCLmxlbmd0aDtrKyspe3ZhciBNPUJba107IU0mJms9PT1CLmxlbmd0aC0xfHwoVCs9JzxkaXYgY2xhc3M9InRlcm0tbGluZSI+JytMKE0pKyI8L2Rpdj4iKX12YXIgej0iIjtpZih0JiZ3IT09dm9pZCAwKXt2YXIgTz13PT09MD8idGVybS1leGl0LXN1Y2Nlc3MiOiJ0ZXJtLWV4aXQtZXJyb3IiO3o9JzxkaXYgY2xhc3M9InRlcm0tZXhpdCAnK08rJyI+ZXhpdCAnK3crIjwvZGl2PiJ9dmFyIHJlPW0ubGVuZ3RoPjgwP20uc2xpY2UoMCw3NykrIlx1MjAyNiI6bSxlZT1kLmZvcmNlRXhwYW5kZWRUb29sQm9kaWVzPyEwOnk9PT1udWxsP0h1KCJ0ZXJtaW5hbCIpOnksWj10JiZ0Ll90cnVuY2F0ZWQ9PT0hMCx2ZT1aPycgZGF0YS10cnVuY2F0ZWQ9InRydWUiIGRhdGEtdG9vbC11c2UtaWQ9IicrTChlLmlkfHwiIikrJyInOiIiO3JldHVybic8ZGl2IGNsYXNzPSJpbmxpbmUtdGVybWluYWwiIGRhdGEtZXhwYW5kLWtpbmQ9InRlcm1pbmFsIiBkYXRhLWV4cGFuZC1rZXk9IicrTChiKSsnIiBkYXRhLWV4cGFuZGVkPSInKyhlZT8idHJ1ZSI6ImZhbHNlIikrJyInK3ZlKyc+PGRpdiBjbGFzcz0idGVybS1oZWFkZXIiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGFyaWEtZXhwYW5kZWQ9IicrKGVlPyJ0cnVlIjoiZmFsc2UiKStgIiBvbmNsaWNrPSJfX3Rlcm1pbmFsRXhwYW5kKHRoaXMpIiBvbmtleWRvd249ImlmKGV2ZW50LmtleT09PSdFbnRlcid8fGV2ZW50LmtleT09PScgJyl7ZXZlbnQucHJldmVudERlZmF1bHQoKTtfX3Rlcm1pbmFsRXhwYW5kKHRoaXMpO30iPmArRisnPHNwYW4gY2xhc3M9InRlcm0tY21kLXByZXZpZXciPjxzcGFuIGNsYXNzPSJ0ZXJtLXByb21wdCI+JDwvc3Bhbj4gJytMKHJlKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXJtLXRvZ2dsZS1pY29uIj4nKyhlZT8iXHUyNUJDIjoiXHUyNUI2IikrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0ZXJtLWJvZHkiIGFyaWEtaGlkZGVuPSInKyhlZT8iZmFsc2UiOiJ0cnVlIikrJyIgc3R5bGU9ImRpc3BsYXk6JysoZWU/ImJsb2NrIjoibm9uZSIpKyc7Ij48ZGl2IGNsYXNzPSJ0ZXJtLWNvbW1hbmQiPjxzcGFuIGNsYXNzPSJ0ZXJtLXByb21wdCI+JDwvc3Bhbj4gJytEKyI8L2Rpdj4iKyhUPyc8ZGl2IGNsYXNzPSJ0ZXJtLW91dHB1dCI+JytUKyI8L2Rpdj4iOiIiKSt6KyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIHppKGUpe3JldHVybiBlP3R5cGVvZiBlPT0ic3RyaW5nIj9lOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoZnVuY3Rpb24odCl7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0IilyZXR1cm4iIjtpZih0LnR5cGU9PT0idGV4dCImJnR5cGVvZiB0LnRleHQ9PSJzdHJpbmciKXJldHVybiB0LnRleHQ7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX1jYXRjaHtyZXR1cm4iIn19KS5maWx0ZXIoQm9vbGVhbikuam9pbihgCmApOiIiOiIifWZ1bmN0aW9uIEdfKGUsdCxhLGksbyxjKXt2YXIgZD1jfHx7fSxmPWUuaW5wdXR8fHt9LG09Zi5maWxlX3BhdGh8fGYucGF0aHx8IiIsaD1tLnNwbGl0KCIvIikucG9wKCl8fG0sZz1lLmlkfHwidG9vbC0iK2ErIi0iKyh0eXBlb2Ygbz09Im51bWJlciI/bzowKSxiPWYub2xkX3N0cmluZ3x8IiIseT1mLm5ld19zdHJpbmd8fGYuY29udGVudHx8IiIsQz1mLm9sZF9jb250ZW50fHwiIix3PWYubmV3X2NvbnRlbnR8fCIiLHg9Zi51bmlmaWVkX2RpZmZ8fGYuZGlmZnx8IiIsRj1mLmtpbmR8fCIiLEE9YT09PSJXcml0ZSJ8fGE9PT0iTXVsdGlFZGl0IixEPXQmJnQuaXNfZXJyb3IsQj16aSh0JiZ0LmNvbnRlbnQpLFQ9ISEoQiYmQi50cmltKCkubGVuZ3RoPjApLGs9IiIsTT0iIix6PSIiO3g/ej0nPGRpdiBjbGFzcz0iZGlmZi1jb2wgZGlmZi1jb2wtZnVsbCI+PGRpdiBjbGFzcz0iZGlmZi1jb2wtbGFiZWwiPkRpZmY8L2Rpdj4nK1lfKHgpKyI8L2Rpdj4iOkE/TT0nPGRpdiBjbGFzcz0iZGlmZi1saW5lIGRpZmYtYWRkIj4rICcrTCh3KSsiPC9kaXY+IjooYiYmKGs9JzxkaXYgY2xhc3M9ImRpZmYtbGluZSBkaWZmLXJlbW92ZSI+LSAnK0woYikrIjwvZGl2PiIpLHkmJihNPSc8ZGl2IGNsYXNzPSJkaWZmLWxpbmUgZGlmZi1hZGQiPisgJytMKHkpKyI8L2Rpdj4iKSk7dmFyIE89IiIscmU9IiI7dD9EPyhPPSJkaWZmLWVycm9yIixyZT1CLmluZGV4T2YoImhhdmVuJ3QgZ3JhbnRlZCIpIT09LTF8fEIuaW5kZXhPZigicGVybWlzc2lvbiIpIT09LTE/Ilx1N0I0OVx1NUY4NVx1NjM4OFx1Njc0MyI6Ilx1NTkzMVx1OEQyNSIpOihPPSJkaWZmLXN1Y2Nlc3MiLHJlPUY9PT0iYWRkIj8iXHU1REYyXHU2NUIwXHU1ODlFIjpGPT09ImRlbGV0ZSI/Ilx1NURGMlx1NTIyMFx1OTY2NCI6Rj09PSJtb3ZlIj8iXHU1REYyXHU3OUZCXHU1MkE4IjoiXHU1REYyXHU0RkVFXHU2NTM5Iik6KE89ImRpZmYtcGVuZGluZyIscmU9Ilx1NjI2N1x1ODg0Q1x1NEUyRCIpO3ZhciBlZT1kcigiZGlmZiIsW2ksZ3x8byxvXSksWj1IYShlZSksdmU9SHUoImVkaXRDYXJkcyIpLG1lPWQuZm9yY2VFeHBhbmRlZFRvb2xCb2RpZXM/ITA6Wj09PW51bGw/dmU6WixIPW1lPyIiOiIgY29sbGFwc2VkIix0ZT0heiYmayYmTSxJPXRlPyJkaWZmLWNvbC1oYWxmIjoiZGlmZi1jb2wtZnVsbCIsVT16fHwodGU/JzxkaXYgY2xhc3M9ImRpZmYtY29sICcrSSsnIj48ZGl2IGNsYXNzPSJkaWZmLWNvbC1sYWJlbCI+XHU2NUU3PC9kaXY+JytrKyI8L2Rpdj4iOiIiKSsnPGRpdiBjbGFzcz0iZGlmZi1jb2wgJytJKyciPjxkaXYgY2xhc3M9ImRpZmYtY29sLWxhYmVsIj4nKyh0ZT8iXHU2NUIwIjoiIikrIjwvZGl2PiIrKE18fGt8fGhFKG0pKSsiPC9kaXY+IixXPW0/JzxidXR0b24gY2xhc3M9ImRpZmYtb3Blbi1maWxlIiB0eXBlPSJidXR0b24iIGRhdGEtcGF0aD0iJytMKG0pK2AiIHRpdGxlPSJcdTYyNTNcdTVGMDBcdTY1ODdcdTRFRjYiIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBpZih3aW5kb3cuX19vcGVuRmlsZVByZXZpZXcpd2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXBhdGgnKSk7Ij5cdTYyNTNcdTVGMDA8L2J1dHRvbj5gOiIiO3JldHVybic8ZGl2IGNsYXNzPSJpbmxpbmUtZGlmZicrSCsnIiBkYXRhLXRvb2wtbmFtZT0iJytMKGEpKyciIGRhdGEtZXhwYW5kLWtpbmQ9ImRpZmYiIGRhdGEtZXhwYW5kLWtleT0iJytMKGVlKSsnIiBkYXRhLXRvb2wtdXNlLWlkPSInK0woZykrJyIgZGF0YS1wYXRoPSInK0wobSkrJyI+PGRpdiBjbGFzcz0iZGlmZi1oZWFkZXIiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGFyaWEtZXhwYW5kZWQ9IicrKG1lPyJ0cnVlIjoiZmFsc2UiKStgIiBvbmNsaWNrPSJfX3RjVG9nZ2xlKGV2ZW50LHRoaXMpIiBvbmtleWRvd249ImlmKGV2ZW50LmtleT09PSdFbnRlcid8fGV2ZW50LmtleT09PScgJyl7ZXZlbnQucHJldmVudERlZmF1bHQoKTtfX3RjVG9nZ2xlKGV2ZW50LHRoaXMpO30iPjxzcGFuIGNsYXNzPSJkaWZmLWZpbGUtaWNvbiI+PC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZmLWZpbGUtbmFtZSI+YCtMKGgpKyI8L3NwYW4+IitRZihtLCJkaWZmLXBhdGgiKSsnPHNwYW4gY2xhc3M9ImRpZmYtc3RhdHVzICcrTysnIj4nK3JlKyI8L3NwYW4+IitXKyc8c3BhbiBjbGFzcz0iZGlmZi10b2dnbGUiPlx1MjVCQzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJkaWZmLWJvZHkiIGFyaWEtaGlkZGVuPSInKyhtZT8iZmFsc2UiOiJ0cnVlIikrJyI+PGRpdiBjbGFzcz0iZGlmZi1jb2x1bW5zIj4nK1UrIjwvZGl2PjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gWV8oZSl7Zm9yKHZhciB0PVN0cmluZyhlfHwiIikuc3BsaXQoYApgKSxhPTYwMCxpPSIiLG89MDtvPHQubGVuZ3RoJiZvPGE7bysrKXt2YXIgYz10W29dLGQ9ImRpZmYtY29udGV4dCI7L15AQC8udGVzdChjKT9kPSJkaWZmLWh1bmsiOi9eXCsvLnRlc3QoYykmJiEvXlwrXCtcKy8udGVzdChjKT9kPSJkaWZmLWFkZCI6L14tLy50ZXN0KGMpJiYhL14tLS0vLnRlc3QoYykmJihkPSJkaWZmLXJlbW92ZSIpLGkrPSc8ZGl2IGNsYXNzPSJkaWZmLWxpbmUgJytkKyciPicrTChjfHwiICIpKyI8L2Rpdj4ifXJldHVybiB0Lmxlbmd0aD5hJiYoaSs9JzxkaXYgY2xhc3M9ImRpZmYtbGluZSBkaWZmLWNvbnRleHQiPlx1MjAyNlx1RkYwOFx1NURGMlx1NjIyQVx1NjVBRCAnKyh0Lmxlbmd0aC1hKSsiIFx1ODg0Q1x1RkYwOTwvZGl2PiIpLGl8fGhFKCIiKX1mdW5jdGlvbiBoRShlKXt2YXIgdD1lPyJcdUZGMENcdTUzRUZcdTYyNTNcdTVGMDBcdTY1ODdcdTRFRjZcdTY3RTVcdTc3MEJcdTVGNTNcdTUyNERcdTUxODVcdTVCQjkiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJkaWZmLWVtcHR5Ij5Db2RleCBcdTY3MkFcdTYzRDBcdTRGOUJcdTUxODVcdTgwNTQgZGlmZicrdCsiXHUzMDAyPC9kaXY+In1mdW5jdGlvbiBnRShlLHQpe3JldHVybiBlPyc8cHJlIGNsYXNzPSJpbmxpbmUtdG9vbC1yZXN1bHQtdGV4dCIgc3R5bGU9Im1heC1oZWlnaHQ6IDMwMHB4OyBvdmVyZmxvdy15OiBhdXRvOyI+JytMKGUpKyI8L3ByZT4iOic8c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtZW1wdHkiPlx1NjVFMFx1OEY5M1x1NTFGQTwvc3Bhbj4nfWZ1bmN0aW9uIFdfKGUsdCxhLGksbyl7dmFyIGM9b3x8e30sZD1lLm5hbWV8fCJ1bmtub3duIixmPWUuaWR8fCJ0b29sLSIrZCsiLSIrKHR5cGVvZiBhPT0ibnVtYmVyIj9hOjApLG09UV8oZCxlLmlucHV0KTtpZihkPT09IlJlYWQifHxkPT09Ikdsb2IifHxkPT09IkdyZXAifHxkPT09IldlYkZldGNoInx8ZD09PSJXZWJTZWFyY2gifHxkPT09IlRvZG9SZWFkIilyZXR1cm4gVV8oZSx0LGQsbSwiIixpLGEsYyk7aWYoZD09PSJCYXNoIilyZXR1cm4gVl8oZSx0LGQsaSxhLGMpO2lmKGQ9PT0iRWRpdCJ8fGQ9PT0iV3JpdGUifHxkPT09Ik11bHRpRWRpdCIpcmV0dXJuIEdfKGUsdCxkLGksYSxjKTt2YXIgaD1lLnNlbWFudGljJiZlLnNlbWFudGljLmtpbmQ9PT0icXVlc3Rpb25fcmVxdWVzdCI/ZS5zZW1hbnRpYy5xdWVzdGlvbnM6bnVsbDtpZihofHxkPT09IkFza1VzZXJRdWVzdGlvbiImJmUuaW5wdXQmJmUuaW5wdXQucXVlc3Rpb25zKXt2YXIgZz1ofHxlLmlucHV0LnF1ZXN0aW9ucztpZihnJiZnLmxlbmd0aD4wKXtmb3IodmFyIGI9ISF0LHk9cy5hc2tVc2VyU2VsZWN0aW9uc1tmXXx8e30sQz0hIXkuc3VibWl0dGVkLHc9Yj96aSh0LmNvbnRlbnQpOiIiLHg9dz93LnRyaW0oKS5zcGxpdChgCmApOltdLEY9IiIsQT0wO0E8Zy5sZW5ndGg7QSsrKWlmKGdbQV0uaGVhZGVyKXtGPWdbQV0uaGVhZGVyO2JyZWFrfXZhciBEPUY/JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zdW1tYXJ5Ij4nK0woRikrIjwvc3Bhbj4iOiIiLEI9IiI7Zy5mb3JFYWNoKGZ1bmN0aW9uKGtlLFhlKXt2YXIgZHQ9ISFrZS5tdWx0aVNlbGVjdCx2bj1rZS5xdWVzdGlvbj8nPGRpdiBjbGFzcz0iYXNrLXVzZXItdGl0bGUiPicrTChrZS5xdWVzdGlvbikrIjwvZGl2PiI6IiIsemU9IiI7a2Uub3B0aW9ucyYma2Uub3B0aW9ucy5sZW5ndGg+MCYmKHplPSc8ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb25zIiBkYXRhLW11bHRpLXNlbGVjdD0iJytkdCsnIj4nLGtlLm9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbihudCxIdCl7dmFyIGp0PW50LmxhYmVsP0wobnQubGFiZWwpOiJcdTkwMDlcdTk4NzkgIisoSHQrMSksRm49bnQuZGVzY3JpcHRpb24/JzxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1kZXNjIj4nK0wobnQuZGVzY3JpcHRpb24pKyI8L2Rpdj4iOiIiO2lmKGIpe3ZhciBYbj14W1hlXXx8eFswXXx8IiIscGU9WG4uc3BsaXQoIiwiKS5tYXAoZnVuY3Rpb24oQ24pe3JldHVybiBDbi50cmltKCl9KSxLZT1wZS5pbmRleE9mKG50LmxhYmVsfHwiIikhPT0tMTt6ZSs9JzxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbiBhc2stdXNlci1vcHRpb24tcmVhZG9ubHknKyhLZT8iIGFzay11c2VyLW9wdGlvbi1jaG9zZW4iOiIiKSsnIj48c3BhbiBjbGFzcz0iYXNrLXVzZXItaW5kaWNhdG9yIj48L3NwYW4+PGRpdiBjbGFzcz0iYXNrLXVzZXItb3B0aW9uLWNvbnRlbnQiPjxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1sYWJlbCI+JytqdCsiPC9kaXY+IitGbisiPC9kaXY+PC9kaXY+In1lbHNle3ZhciBtbj0oeVtYZV18fFtdKS5pbmRleE9mKEh0KSE9PS0xLHVuPUM/IiBkaXNhYmxlZCI6IiI7emUrPSc8YnV0dG9uIGNsYXNzPSJhc2stdXNlci1vcHRpb24nKyhtbj8iIHNlbGVjdGVkIjoiIikrJyIgZGF0YS1vcHRpb24taW5kZXg9IicrSHQrJyIgZGF0YS1xdWVzdGlvbi1pbmRleD0iJytYZSsnIiBkYXRhLW9wdGlvbi1sYWJlbD0iJytMKG50LmxhYmVsfHwiXHU5MDA5XHU5ODc5ICIrKEh0KzEpKStgIiBvbmNsaWNrPSJfX2Fza1NlbGVjdCgnYCtMKGYpKyInLCIrWGUrIiwiK0h0KyIsIitkdCsnKSInK3VuKyc+PHNwYW4gY2xhc3M9ImFzay11c2VyLWluZGljYXRvciI+PC9zcGFuPjxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1jb250ZW50Ij48ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24tbGFiZWwiPicranQrIjwvZGl2PiIrRm4rIjwvZGl2PjwvYnV0dG9uPiJ9fSksemUrPSI8L2Rpdj4iKSxCKz0nPGRpdiBjbGFzcz0iYXNrLXVzZXItcXVlc3Rpb24tZ3JvdXAiIGRhdGEtcXVlc3Rpb24taW5kZXg9IicrWGUrJyI+Jyt2bit6ZSsiPC9kaXY+In0pO3ZhciBUPSIiO2lmKCFiKXtmb3IodmFyIGs9ITAsTT0wO008Zy5sZW5ndGg7TSsrKWlmKCF5W01dfHx5W01dLmxlbmd0aD09PTApe2s9ITE7YnJlYWt9dmFyIHo9IWt8fEM/IiBkaXNhYmxlZCI6IiIsTz1DPyIgYXNrLXVzZXItc3VibWl0dGVkIjoiIixyZT1DPyJcdTVERjJcdTYzRDBcdTRFQTQuLi4iOiJcdTc4NkVcdThCQTRcdTYzRDBcdTRFQTQiO1Q9JzxkaXYgY2xhc3M9ImFzay11c2VyLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImFzay11c2VyLXN1Ym1pdCcrTysnIiBkYXRhLXRvb2wtdXNlLWlkPSInK0woZikrYCIgb25jbGljaz0iX19hc2tTdWJtaXQoJ2ArTChmKStgJykiYCt6KyI+IityZSsiPC9idXR0b24+PC9kaXY+In12YXIgZWU9IiI7aWYoYiYmdyl7dmFyIFo9dy50cmltKCkucmVwbGFjZSgvXG4vZywiLCAiKTtaLmxlbmd0aD40MCYmKFo9Wi5zbGljZSgwLDM3KSsiLi4uIiksZWU9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1maWxlIj4nK0woWikrIjwvc3Bhbj4ifXZhciB2ZT1kcigidG9vbC1jYXJkIixbaSxmXSksbWU9SGEodmUpLEg9Yy5mb3JjZUV4cGFuZGVkVG9vbEJvZGllcz8hMDptZT09PW51bGw/IWI6bWUsdGU9SD8iIjoiIGNvbGxhcHNlZCIsST1iPyIgYXNrLXVzZXItYW5zd2VyZWQiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJ0b29sLXVzZS1jYXJkIGFzay11c2VyJytJK3RlKyciIGRhdGEtdG9vbC11c2UtaWQ9IicrTChmKSsnIiBkYXRhLWV4cGFuZC1raW5kPSJ0b29sLWNhcmQiIGRhdGEtZXhwYW5kLWtleT0iJytMKHZlKSsnIj48ZGl2IGNsYXNzPSJ0b29sLXVzZS1oZWFkZXIiIGRhdGEtdG9vbC10b2dnbGUgb25jbGljaz0iX190Y1RvZ2dsZShldmVudCx0aGlzKSI+PHNwYW4gY2xhc3M9InRvb2wtdXNlLWljb24iPicrKGI/Ilx1MjcxMyI6Ij8iKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0b29sLXVzZS1uYW1lIj5cdTYzRDBcdTk1RUU8L3NwYW4+JytEK2VlKyc8c3BhbiBjbGFzcz0idG9vbC11c2UtdG9nZ2xlIj5cdTI1QkM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9vbC11c2UtYm9keSBhc2stdXNlci1ib2R5Ij4nK0IrVCsiPC9kaXY+PC9kaXY+In19dmFyIFU9ZS5kZXNjcmlwdGlvbnx8ZS5pbnB1dCYmZS5pbnB1dC5kZXNjcmlwdGlvbnx8IiIsVz1LXyhlLm5hbWUsZS5pbnB1dCksWD0iIixmZT0iIjtVPyhYPVUubGVuZ3RoPjgwP1Uuc2xpY2UoMCw3NykrIi4uLiI6VSxtJiYoZmU9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1maWxlIj4nK0wobSkrIjwvc3Bhbj4iKSk6KFg9cjAoZCksbSYmKGZlPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtZmlsZSI+JytMKG0pKyI8L3NwYW4+IiksVyYmKGZlKz0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLXN1bW1hcnkiPicrTChXKSsiPC9zcGFuPiIpKTt2YXIgZ2U9ZS5pbnB1dD9KU09OLnN0cmluZ2lmeShlLmlucHV0LG51bGwsMik6Int9IixqPSJsb2FkaW5nIixZPSc8c3BhbiBjbGFzcz0idG9vbC11c2Utc3Bpbm5lciI+PC9zcGFuPicsc2U9IiI7aWYodCl7dmFyIFE9dC5pc19lcnJvcixjZT16aSh0LmNvbnRlbnQpO2o9UT8iZXJyb3IiOiJzdWNjZXNzIixZPWJFKGQpO3ZhciBKPWNlJiZjZS50cmltKCkubGVuZ3RoPjA7Sj9zZT0nPHByZSBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWNvbnRlbnQiPicrTChjZSkrIjwvcHJlPiI6c2U9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQtZW1wdHkiPlx1NjVFMFx1OEY5M1x1NTFGQTwvc3Bhbj4nfWVsc2UgWT1iRShkKTt2YXIgZGU9ZHIoInRvb2wtY2FyZCIsW2ksZl0pLHhlPUhhKGRlKSx5ZT1IdSgiZWRpdENhcmRzIiksRmU9Yy5mb3JjZUV4cGFuZGVkVG9vbEJvZGllcz8hMDp4ZT09PW51bGw/eWU6eGUsTmU9dCYmdC5fdHJ1bmNhdGVkPT09ITAscnQ9RmU/IiI6IiBjb2xsYXBzZWQiLGN0PSc8c3BhbiBjbGFzcz0idG9vbC11c2UtdG9nZ2xlIj5cdTI1QkM8L3NwYW4+JztyZXR1cm4nPGRpdiBjbGFzcz0idG9vbC11c2UtY2FyZCAnK2orcnQrJyIgZGF0YS1leHBhbmQta2luZD0idG9vbC1jYXJkIiBkYXRhLWV4cGFuZC1rZXk9IicrTChkZSkrJyIgZGF0YS10b29sLXVzZS1pZD0iJytMKGYpKyciJysoTmU/JyBkYXRhLXRydW5jYXRlZD0idHJ1ZSInOiIiKSsnPjxkaXYgY2xhc3M9InRvb2wtdXNlLWhlYWRlciIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgYXJpYS1leHBhbmRlZD0iJysoRmU/InRydWUiOiJmYWxzZSIpK2AiIGRhdGEtdG9vbC10b2dnbGUgb25jbGljaz0iX190Y1RvZ2dsZShldmVudCx0aGlzKSIgb25rZXlkb3duPSJpZihldmVudC5rZXk9PT0nRW50ZXInfHxldmVudC5rZXk9PT0nICcpe2V2ZW50LnByZXZlbnREZWZhdWx0KCk7X190Y1RvZ2dsZShldmVudCx0aGlzKTt9Ij48c3BhbiBjbGFzcz0idG9vbC11c2UtaWNvbiI+YCtZKyc8L3NwYW4+PHNwYW4gY2xhc3M9InRvb2wtdXNlLW5hbWUiPicrTChYKSsiPC9zcGFuPiIrZmUrY3QrJzwvZGl2PjxkaXYgY2xhc3M9InRvb2wtdXNlLWJvZHkiIGFyaWEtaGlkZGVuPSInKyhGZT8iZmFsc2UiOiJ0cnVlIikrJyI+JysoVT8nPGRpdiBjbGFzcz0idG9vbC11c2UtbWV0YSI+PHNwYW4gY2xhc3M9InRvb2wtdXNlLW1ldGEtbGFiZWwiPlx1NURFNVx1NTE3N1x1RkYxQTwvc3Bhbj4nK0woZCkrIjwvZGl2PiI6IiIpKyc8cHJlIGNsYXNzPSJ0b29sLXVzZS1jb250ZW50Ij4nK0woZ2UpKyI8L3ByZT4iKyhzZT8nPGRpdiBjbGFzcz0idG9vbC11c2UtcmVzdWx0Ij4nK3NlKyI8L2Rpdj4iOiIiKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiByMChlKXt2YXIgdD17UmVhZDoiXHU4QkZCXHU1M0Q2XHU2NTg3XHU0RUY2IixXcml0ZToiXHU1MTk5XHU1MTY1XHU2NTg3XHU0RUY2IixFZGl0OiJcdTdGMTZcdThGOTFcdTY1ODdcdTRFRjYiLE11bHRpRWRpdDoiXHU1OTFBXHU1OTA0XHU3RjE2XHU4RjkxIixCYXNoOiJcdTYyNjdcdTg4NENcdTU0N0RcdTRFRTQiLEdyZXA6Ilx1NjQxQ1x1N0QyMlx1NTE4NVx1NUJCOSIsR2xvYjoiXHU2N0U1XHU2MjdFXHU2NTg3XHU0RUY2IixXZWJGZXRjaDoiXHU4M0I3XHU1M0Q2XHU3RjUxXHU5ODc1IixXZWJTZWFyY2g6Ilx1NjQxQ1x1N0QyMlx1N0Y1MVx1OTg3NSIsVGFzazoiXHU0RUZCXHU1MkExIixUb2RvV3JpdGU6Ilx1NjZGNFx1NjVCMFx1NUY4NVx1NTI5RSIsVG9kb1JlYWQ6Ilx1OEJGQlx1NTNENlx1NUY4NVx1NTI5RSIsTm90ZWJvb2tFZGl0OiJcdTdGMTZcdThGOTFcdTdCMTRcdThCQjBcdTY3MkMiLEFnZW50OiJcdTVCNTBcdTRFRTNcdTc0MDYiLEFza1VzZXJRdWVzdGlvbjoiXHU2M0QwXHU5NUVFIixFeGl0OiJcdTkwMDBcdTUxRkEifTtyZXR1cm4gdFtlXXx8ZX1mdW5jdGlvbiBiRShlKXt2YXIgdD17UmVhZDoiUiIsV3JpdGU6IlciLEVkaXQ6IkUiLE11bHRpRWRpdDoiRSIsQmFzaDoiJCIsR3JlcDoiRyIsR2xvYjoiRiIsV2ViRmV0Y2g6Ilx1MjFFMyIsV2ViU2VhcmNoOiJcdTIxRTIiLFRhc2s6IlQiLFRvZG9Xcml0ZToiXHUyNjEwIixUb2RvUmVhZDoiXHUyNjExIixOb3RlYm9va0VkaXQ6Ik4iLEFnZW50OiJBIixFeGl0OiJceEQ3In07cmV0dXJuIHRbZV18fCJceEI3In1mdW5jdGlvbiBLXyhlLHQpe2lmKCF0fHx0eXBlb2YgdCE9Im9iamVjdCIpcmV0dXJuIiI7dmFyIGE9T2JqZWN0LmtleXModCk7aWYoYS5sZW5ndGg9PT0wKXJldHVybiJ7fSI7aWYoZT09PSJSZWFkIilyZXR1cm4iXHU4QkZCXHU1M0Q2XHU2NTg3XHU0RUY2IjtpZihlPT09IldyaXRlIilyZXR1cm4iXHU1MTk5XHU1MTY1XHU2NTg3XHU0RUY2IjtpZihlPT09IkVkaXQiKXt2YXIgaT10LmVkaXRzP3QuZWRpdHMubGVuZ3RoOjA7cmV0dXJuIlx1N0YxNlx1OEY5MSAoIitpKyIgXHU1OTA0XHU0RkVFXHU2NTM5KSJ9aWYoZT09PSJCYXNoIil7dmFyIG89dC5jb21tYW5kfHwiIjtpZihvKXt2YXIgYz1vLmxlbmd0aD42MD9vLnNsaWNlKDAsNjApKyIuLi4iOm87cmV0dXJuIlx1NTQ3RFx1NEVFNFx1RkYxQSIrY319aWYoZT09PSJHcmVwIil7dmFyIGQ9dC5wYXR0ZXJufHwiIixmPXQucGF0aHx8IiI7aWYoZClyZXR1cm4iXHU2NDFDXHU3RDIyXHVGRjFBIitkKyhmPyIgKFx1NTcyOCAiK2YrIikiOiIiKX1pZihlPT09Ikdsb2IiKXt2YXIgZD10LnBhdHRlcm58fCIiO2lmKGQpcmV0dXJuIlx1NjdFNVx1NjI3RVx1RkYxQSIrZH1pZihlPT09IkFnZW50Iil7dmFyIG09dC5wcm9tcHR8fHQudGFza3x8IiI7aWYobSl7dmFyIGg9bS5sZW5ndGg+NDA/bS5zbGljZSgwLDQwKSsiLi4uIjptO3JldHVybiJcdTRFRkJcdTUyQTFcdUZGMUEiK2h9fWlmKGU9PT0iVGFzayIpe3ZhciBtPXQudGFza3x8dC5kZXNjcmlwdGlvbnx8IiI7aWYobSl7dmFyIGg9bS5sZW5ndGg+NDA/bS5zbGljZSgwLDQwKSsiLi4uIjptO3JldHVybiJcdTRFRkJcdTUyQTFcdUZGMUEiK2h9fWlmKGU9PT0iVG9kb1dyaXRlIil7dmFyIGc9dC50b2Rvc3x8W107cmV0dXJuIlx1NjZGNFx1NjVCMFx1NUY4NVx1NTI5RSAoIitnLmxlbmd0aCsiIFx1OTg3OSkifWlmKGU9PT0iV2ViU2VhcmNoIil7dmFyIGI9dC5xdWVyeXx8IiI7aWYoYilyZXR1cm4iXHU2NDFDXHU3RDIyXHVGRjFBIitifXZhciB5PWFbMF0sQz10W3ldO2lmKHR5cGVvZiBDPT0ic3RyaW5nIil7dmFyIHc9Qy5sZW5ndGg+NTA/Qy5zbGljZSgwLDUwKSsiLi4uIjpDO3JldHVybiB5KyI6ICIrd31yZXR1cm4gYS5sZW5ndGgrIiBcdTRFMkFcdTUzQzJcdTY1NzAifWZ1bmN0aW9uIFFfKGUsdCl7aWYoIXQpcmV0dXJuIG51bGw7dmFyIGE9dC5maWxlX3BhdGh8fHQucGF0aHx8dC5jd2Q7cmV0dXJuIGE/YS5sZW5ndGg+NTA/Ii4uLiIrYS5zbGljZSgtNDcpOmE6bnVsbH1mdW5jdGlvbiBYXyhlKXtpZighZSlyZXR1cm4iIjtmb3IodmFyIHQ9YApgLGE9ZS5zcGxpdCh0KSxpPVtdLG89ITEsYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLGY9ZC50cmltKCk7aWYoISghbyYmIWYpKXtpZihvPSEwLGYuaW5kZXhPZigiXHUyM0ZBIik9PT0wJiZmLmxlbmd0aD4yKXtpLnB1c2goZi5zbGljZSgxKS50cmltKCkpO2NvbnRpbnVlfWlmKGYuaW5kZXhPZigiXHUyNUNGIik9PT0wKXtpZihmPWYuc2xpY2UoMSkudHJpbSgpLCFmKWNvbnRpbnVlO2Q9Zn1pLnB1c2goZCl9fWZvcig7aS5sZW5ndGg+MCYmIWlbaS5sZW5ndGgtMV0udHJpbSgpOylpLnBvcCgpO2Zvcih2YXIgbT1bXSxoPXt9LGc9MDtnPGkubGVuZ3RoO2crKyl7dmFyIGI9aVtnXS5yZXBsYWNlKC9ccysvZywiIik7Yi5sZW5ndGg+NSYmaFtiXXx8KGIubGVuZ3RoPjUmJihoW2JdPSEwKSxtLnB1c2goaVtnXSkpfXJldHVybiBtLmpvaW4odCl9ZnVuY3Rpb24gJF8oZSl7dmFyIHQ9YApgLGE9ZS5zcGxpdCh0KSxpPVtdLG89MDtmdW5jdGlvbiBjKHgpe3ZhciBGPXgudHJpbSgpO3JldHVybiBGLmNoYXJBdCgwKT09PSJ8IiYmKEY9Ri5zbGljZSgxKSksRi5jaGFyQXQoRi5sZW5ndGgtMSk9PT0ifCImJihGPUYuc2xpY2UoMCwtMSkpLEYuc3BsaXQoInwiKX1mdW5jdGlvbiBkKHgpe3JldHVybiB4Pycgc3R5bGU9InRleHQtYWxpZ246Jyt4KyciJzoiIn1mdW5jdGlvbiBmKHgsRixBKXt2YXIgRD0iPHRoZWFkPjx0cj4iK3gubWFwKGZ1bmN0aW9uKFQsayl7cmV0dXJuIjx0aCIrZChGW2tdKSsiPiIrVC50cmltKCkrIjwvdGg+In0pLmpvaW4oIiIpKyI8L3RyPjwvdGhlYWQ+IixCPUEubGVuZ3RoPyI8dGJvZHk+IitBLm1hcChmdW5jdGlvbihUKXtyZXR1cm4iPHRyPiIrVC5tYXAoZnVuY3Rpb24oayxNKXtyZXR1cm4iPHRkIitkKEZbTV0pKyI+IitrLnRyaW0oKSsiPC90ZD4ifSkuam9pbigiIikrIjwvdHI+In0pLmpvaW4oIiIpKyI8L3Rib2R5PiI6IiI7cmV0dXJuJzxkaXYgY2xhc3M9Im1kLXRhYmxlLXdyYXAiPjx0YWJsZSBjbGFzcz0ibWQtdGFibGUiPicrRCtCKyI8L3RhYmxlPjwvZGl2PiJ9Zm9yKDtvPGEubGVuZ3RoOyl7dmFyIG09YVtvXTtpZihtLmluZGV4T2YoInwiKSE9PS0xJiZvKzE8YS5sZW5ndGgpe3ZhciBoPWFbbysxXS50cmltKCk7aWYoL15cfD9ccyo6Py0rOj8oXHMqXHxccyo6Py0rOj8pK1xzKlx8PyQvLnRlc3QoaCkpe2Zvcih2YXIgZz1jKG0pLGI9YyhoKS5tYXAoZnVuY3Rpb24oeCl7dmFyIEY9eC50cmltKCksQT1GLmNoYXJBdCgwKT09PSI6IixEPUYuY2hhckF0KEYubGVuZ3RoLTEpPT09IjoiO3JldHVybiBBJiZEPyJjZW50ZXIiOkQ/InJpZ2h0IjpBPyJsZWZ0IjoiIn0pLHk9W10sQz1vKzI7QzxhLmxlbmd0aDspe3ZhciB3PWFbQ10udHJpbSgpO2lmKCF3fHx3LmluZGV4T2YoInwiKT09PS0xKWJyZWFrO3kucHVzaChjKGFbQ10pKSxDKz0xfWkucHVzaCgiIixmKGcsYix5KSwiIiksbz1DO2NvbnRpbnVlfX1pLnB1c2gobSksbys9MX1yZXR1cm4gaS5qb2luKHQpfWZ1bmN0aW9uIGkwKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PVtdLGE9TChmKFN0cmluZyhlKSkpLGk9ImAiLG89YApgO2Z1bmN0aW9uIGMoUSl7dmFyIGNlPVN0cmluZyhRfHwiIikudHJpbSgpO2lmKCFjZSlyZXR1cm4gbnVsbDtpZihjZS5jaGFyQXQoMCk9PT0iPCImJmNlLmNoYXJBdChjZS5sZW5ndGgtMSk9PT0iPiImJihjZT1jZS5zbGljZSgxLC0xKS50cmltKCkpLC9eZmlsZTpcL1wvL2kudGVzdChjZSkpdHJ5e3ZhciBKPW5ldyBVUkwoY2UpO2lmKEoucHJvdG9jb2whPT0iZmlsZToiKXJldHVybiBudWxsO2NlPWRlY29kZVVSSUNvbXBvbmVudChKLnBhdGhuYW1lfHwiIil9Y2F0Y2h7Y2U9Y2UucmVwbGFjZSgvXmZpbGU6XC9cLyg/OmxvY2FsaG9zdCk/L2ksIiIpO3RyeXtjZT1kZWNvZGVVUklDb21wb25lbnQoY2UpfWNhdGNoe319ZWxzZSBpZihjZS5jaGFyQXQoMCkhPT0iLyJ8fGNlLmluZGV4T2YoIi8vIik9PT0wKXJldHVybiBudWxsO3JldHVybi9eXC8oPzphcGl8YW5kcm9pZHxtYWNvcykoPzpcL3wkKS8udGVzdChjZSk/bnVsbDooY2U9Y2UucmVwbGFjZSgvI0xcZCsoPzpDXGQrKT8kL2ksIiIpLGNlPWNlLnJlcGxhY2UoLzpcZCsoPzo6XGQrKT8kLywiIiksY2UuY2hhckF0KDApPT09Ii8iP2NlOm51bGwpfWZ1bmN0aW9uIGQoUSxjZSl7dmFyIEo9U3RyaW5nKFF8fCIiKS50cmltKCk7aWYoSi5jaGFyQXQoMCk9PT0iPCImJkouY2hhckF0KEoubGVuZ3RoLTEpPT09Ij4iJiYoSj1KLnNsaWNlKDEsLTEpLnRyaW0oKSksIS9eKD86aHR0cHM/OlwvXC98bWFpbHRvOnwjKS9pLnRlc3QoSikpcmV0dXJuIGNlO3ZhciBkZT1MKEopLHhlPS9eaHR0cHM/OlwvXC8vaS50ZXN0KEopO3JldHVybic8YSBocmVmPSInK2RlKyciJysoeGU/JyB0YXJnZXQ9Il9ibGFuayInOiIiKSsnIHJlbD0ibm9vcGVuZXIiPicrY2UrIjwvYT4ifWZ1bmN0aW9uIGYoUSl7ZnVuY3Rpb24gY2UoemUpe2lmKFEuY2hhckF0KHplKT09PSI8Iil7dmFyIG50PVEuaW5kZXhPZigiPiIsemUrMSk7cmV0dXJuIG50Pj0wJiZRLmNoYXJBdChudCsxKT09PSIpIj9udCsxOi0xfWZvcih2YXIgSHQ9MCxqdD16ZTtqdDxRLmxlbmd0aDtqdCs9MSl7aWYoUS5jaGFyQXQoanQpPT09IlxcIil7anQrPTE7Y29udGludWV9aWYoUS5jaGFyQXQoanQpPT09IigiKUh0Kz0xO2Vsc2UgaWYoUS5jaGFyQXQoanQpPT09IikiKXtpZihIdD09PTApcmV0dXJuIGp0O0h0LT0xfX1yZXR1cm4tMX1mb3IodmFyIEo9IiIsZGU9MCx4ZT0hMSx5ZT0hMTtkZTxRLmxlbmd0aDspe2lmKFEuc2xpY2UoZGUsZGUrMyk9PT0iYGBgIil7eGU9IXhlLEorPSJgYGAiLGRlKz0zO2NvbnRpbnVlfWlmKCF4ZSYmUS5jaGFyQXQoZGUpPT09ImAiKXt5ZT0heWUsSis9ImAiLGRlKz0xO2NvbnRpbnVlfWlmKCF4ZSYmIXllJiZRLmNoYXJBdChkZSk9PT0iWyImJlEuY2hhckF0KGRlLTEpIT09IiEiKXt2YXIgRmU9US5pbmRleE9mKCJdKCIsZGUrMSksTmU9RmU+PTA/Y2UoRmUrMik6LTE7aWYoRmU+ZGUrMSYmTmU+RmUrMil7dmFyIHJ0PUwoUS5zbGljZShkZSsxLEZlKSksY3Q9US5zbGljZShGZSsyLE5lKS50cmltKCksa2U9YyhjdCksWGU7aWYoa2Upe3ZhciBkdD0iL2FwaS9maWxlLXJhdz9kb3dubG9hZD0xJmFtcDtwYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KGtlKTtYZT0nPGEgY2xhc3M9InNlcnZlci1maWxlLWxpbmsiIGhyZWY9IicrZHQrJyIgZGF0YS1zZXJ2ZXItZmlsZS1wYXRoPSInK0woa2UpK2AiIHRpdGxlPSJcdTYyNTNcdTVGMDBcdTYyMTZcdTRFMEJcdThGN0RcdTY3MERcdTUyQTFcdTdBRUZcdTY1ODdcdTRFRjYiIG9uY2xpY2s9ImlmKHdpbmRvdy5fX29wZW5GaWxlUHJldmlldyl7ZXZlbnQucHJldmVudERlZmF1bHQoKTt3aW5kb3cuX19vcGVuRmlsZVByZXZpZXcodGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2VydmVyLWZpbGUtcGF0aCcpKTt9Ij5gK3J0KyI8L2E+In1lbHNlIFhlPWQoY3QscnQpO3ZhciB2bj0iV0FORE1BUktET1dOTElOS1RPS0VOIit0Lmxlbmd0aCsiRU5EIjt0LnB1c2goWGUpLEorPXZuLGRlPU5lKzE7Y29udGludWV9fUorPVEuY2hhckF0KGRlKSxkZSs9MX1yZXR1cm4gSn1mdW5jdGlvbiBtKFEpe2Zvcih2YXIgY2U9MDtjZTx0Lmxlbmd0aDtjZSs9MSlRPVEuc3BsaXQoIldBTkRNQVJLRE9XTkxJTktUT0tFTiIrY2UrIkVORCIpLmpvaW4odFtjZV0pO3JldHVybiBRfWZ1bmN0aW9uIGgoUSxjZSxKLGRlKXtmb3IodmFyIHhlPTA7Oyl7dmFyIHllPVEuaW5kZXhPZihjZSx4ZSk7aWYoeWU9PT0tMSlicmVhazt2YXIgRmU9US5pbmRleE9mKGNlLHllK2NlLmxlbmd0aCk7aWYoRmU9PT0tMSlicmVhazt2YXIgTmU9US5zbGljZSh5ZStjZS5sZW5ndGgsRmUpO2lmKCFOZSl7eGU9RmUrY2UubGVuZ3RoO2NvbnRpbnVlfXZhciBydD1KK05lK2RlO1E9US5zbGljZSgwLHllKStydCtRLnNsaWNlKEZlK2NlLmxlbmd0aCkseGU9eWUrcnQubGVuZ3RofXJldHVybiBRfWZ1bmN0aW9uIGcoUSl7cmV0dXJuIFE+PTQ4JiZRPD01N3x8UT49NjUmJlE8PTkwfHxRPj05NyYmUTw9MTIyfHxRPT09OTV9ZnVuY3Rpb24gYihRLGNlLEope2Zvcih2YXIgZGU9MDtkZTxRLmxlbmd0aDspe3ZhciB4ZT1RLmluZGV4T2YoIl8iLGRlKTtpZih4ZT09PS0xKWJyZWFrO3ZhciB5ZT14ZT4wP1EuY2hhckNvZGVBdCh4ZS0xKTowO2lmKGcoeWUpKXtkZT14ZSsxO2NvbnRpbnVlfWZvcih2YXIgRmU9eGUrMSxOZT0tMTtGZTxRLmxlbmd0aDspe3ZhciBydD1RLmluZGV4T2YoIl8iLEZlKTtpZihydD09PS0xKWJyZWFrO3ZhciBjdD1ydCsxLGtlPWN0PFEubGVuZ3RoP1EuY2hhckNvZGVBdChjdCk6MDtpZighZyhrZSkpe05lPXJ0O2JyZWFrfUZlPXJ0KzF9aWYoTmU9PT0tMSlicmVhazt2YXIgWGU9US5zbGljZSh4ZSsxLE5lKTtpZighWGUpe2RlPU5lKzE7Y29udGludWV9dmFyIGR0PWNlK1hlK0o7UT1RLnNsaWNlKDAseGUpK2R0K1Euc2xpY2UoTmUrMSksZGU9eGUrZHQubGVuZ3RofXJldHVybiBRfWZ1bmN0aW9uIHkoUSxjZSxKLGRlKXtyZXR1cm4gUS5zcGxpdChvKS5tYXAoZnVuY3Rpb24oeGUpe3JldHVybiB4ZS5pbmRleE9mKGNlKSE9PTA/eGU6Sit4ZS5zbGljZShjZS5sZW5ndGgpK2RlfSkuam9pbihvKX1mdW5jdGlvbiBDKFEpe3JldHVybiBRLnNwbGl0KG8pLm1hcChmdW5jdGlvbihjZSl7dmFyIEo9Y2UuaW5kZXhPZigiLiAiKTtpZihKPD0wKXJldHVybiBjZTtmb3IodmFyIGRlPTA7ZGU8SjtkZSs9MSl7dmFyIHhlPWNlLmNoYXJDb2RlQXQoZGUpO2lmKHhlPDQ4fHx4ZT41NylyZXR1cm4gY2V9cmV0dXJuIjxsaT4iK2NlLnNsaWNlKEorMikrIjwvbGk+In0pLmpvaW4obyl9ZnVuY3Rpb24gdyhRKXtyZXR1cm4gUS5zcGxpdChvK28pLm1hcChmdW5jdGlvbihjZSl7dmFyIEo9Y2UudHJpbSgpO3JldHVybiBKP0ouaW5kZXhPZigiPGRpdiIpPT09MHx8Si5pbmRleE9mKCI8aDEiKT09PTB8fEouaW5kZXhPZigiPGgyIik9PT0wfHxKLmluZGV4T2YoIjxoMyIpPT09MHx8Si5pbmRleE9mKCI8aDQiKT09PTB8fEouaW5kZXhPZigiPGg1Iik9PT0wfHxKLmluZGV4T2YoIjxoNiIpPT09MHx8Si5pbmRleE9mKCI8dWwiKT09PTB8fEouaW5kZXhPZigiPG9sIik9PT0wfHxKLmluZGV4T2YoIjxsaSIpPT09MHx8Si5pbmRleE9mKCI8YmxvY2txdW90ZSIpPT09MHx8Si5pbmRleE9mKCI8cHJlIik9PT0wP0o6IjxwPiIrSi5zcGxpdChvKS5qb2luKCI8YnI+IikrIjwvcD4iOiIifSkuam9pbigiIil9Zm9yKHZhciB4PTA7Oyl7dmFyIEY9YS5pbmRleE9mKGkraStpLHgpO2lmKEY9PT0tMSlicmVhazt2YXIgQT1hLmluZGV4T2YoaStpK2ksRiszKTtpZihBPT09LTEpYnJlYWs7dmFyIEQ9YS5zbGljZShGKzMsQSksQj1ELmluZGV4T2YobyksVD0iIixrPUQ7aWYoQiE9PS0xJiZCPDMwKXtmb3IodmFyIE09RC5zbGljZSgwLEIpLnRyaW0oKSx6PU0ubGVuZ3RoPjAsTz0wO088TS5sZW5ndGg7Tys9MSl7dmFyIHJlPU0uY2hhckNvZGVBdChPKSxlZT1yZT49NDgmJnJlPD01NyxaPXJlPj02NSYmcmU8PTkwLHZlPXJlPj05NyYmcmU8PTEyMjtpZighZWUmJiFaJiYhdmUpe3o9ITE7YnJlYWt9fXomJihUPU0saz1ELnNsaWNlKEIrMSkpfXZhciBtZT1aXyhrLnRyaW0oKSxUKSxIPW1lLnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpLHRlPSc8ZGl2IGNsYXNzPSJjb2RlLWJsb2NrIj48ZGl2IGNsYXNzPSJjb2RlLWJsb2NrLWhlYWRlciI+PHNwYW4gY2xhc3M9ImNvZGUtbGFuZyI+JysoVHx8ImNvZGUiKSsnPC9zcGFuPjxidXR0b24gY2xhc3M9ImNvZGUtY29weSI+Q29weTwvYnV0dG9uPjwvZGl2PjxwcmU+PGNvZGU+JytIKyI8L2NvZGU+PC9wcmU+PC9kaXY+IjthPWEuc2xpY2UoMCxGKSt0ZSthLnNsaWNlKEErMykseD1GK3RlLmxlbmd0aH1mb3IoeD0wOzspe3ZhciBJPWEuaW5kZXhPZihpLHgpO2lmKEk9PT0tMSlicmVhazt2YXIgVT1hLmluZGV4T2YoaSxJKzEpO2lmKFU9PT0tMSlicmVhaztpZihVPT09SSsxKXt4PVUrMTtjb250aW51ZX12YXIgVz1hLnNsaWNlKEkrMSxVKSxYPVcucmVwbGFjZSgvXy9nLCImIzk1OyIpLnJlcGxhY2UoL1wqL2csIiYjNDI7IiksZmU9Jzxjb2RlIGNsYXNzPSJjb2RlLWlubGluZSI+JytYKyI8L2NvZGU+IjthPWEuc2xpY2UoMCxJKStmZSthLnNsaWNlKFUrMSkseD1JK2ZlLmxlbmd0aH1hPWgoYSwiKioiLCI8c3Ryb25nPiIsIjwvc3Ryb25nPiIpLGE9aChhLCIqIiwiPGVtPiIsIjwvZW0+IiksYT1iKGEsIjxlbT4iLCI8L2VtPiIpLGE9eShhLCIjIyMgIiwiPGgzPiIsIjwvaDM+IiksYT15KGEsIiMjICIsIjxoMj4iLCI8L2gyPiIpLGE9eShhLCIjICIsIjxoMT4iLCI8L2gxPiIpLGE9eShhLCImZ3Q7ICIsIjxibG9ja3F1b3RlPiIsIjwvYmxvY2txdW90ZT4iKSxhPXkoYSwiLSAiLCI8bGk+IiwiPC9saT4iKSxhPXkoYSwiKiAiLCI8bGk+IiwiPC9saT4iKSxhPUMoYSksYT0kXyhhKTt2YXIgZ2U9YS5zcGxpdChvKSxqPVtdLFk9W107ZnVuY3Rpb24gc2UoKXtZLmxlbmd0aCYmKGoucHVzaCgiPHVsPiIrWS5qb2luKCIiKSsiPC91bD4iKSxZPVtdKX1yZXR1cm4gZ2UuZm9yRWFjaChmdW5jdGlvbihRKXtpZihRLmluZGV4T2YoIjxsaT4iKT09PTAmJlEubGFzdEluZGV4T2YoIjwvbGk+Iik9PT1RLmxlbmd0aC01KXtZLnB1c2goUSk7cmV0dXJufXNlKCksai5wdXNoKFEpfSksc2UoKSxhPXcoai5qb2luKG8pKSxhPW0oYSksJzxkaXYgY2xhc3M9Im1hcmtkb3duLWNvbnRlbnQiPicrYSsiPC9kaXY+In1mdW5jdGlvbiBaXyhlLHQpe3JldHVybiBlPWUucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLGV9ZnVuY3Rpb24gbnMoZSl7dmFyIHQ9U3RyaW5nKGV8fCIiKS50cmltKCk7cmV0dXJuIHQubGVuZ3RoPD0yND90fHwiXHU2NzJBXHU5MDA5XHU2MkU5XHU0RjFBXHU4QkREIjp0LnNsaWNlKDAsMjEpKyIuLi4ifWZ1bmN0aW9uIHUwKGUpe3JldHVybiBTdHJpbmcoZXx8IiIpLnJlcGxhY2UoL1xyXHJcbi9nLGBccgpgKS5yZXBsYWNlKC9cdTAwMDAvZywiIil9dmFyIEpfPW5ldyBTZXQoWyJyZWFkeSIsImNoZWNraW5nIiwibWVyZ2luZyIsIm1lcmdlZCIsImZhaWxlZCJdKSxWdT1udWxsO2Z1bmN0aW9uIHlFKGUpe3JldHVybiEhZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShlKX1mdW5jdGlvbiBHdShlKXtyZXR1cm4gdHlwZW9mIGUhPSJzdHJpbmciP3ZvaWQgMDplLnRyaW0oKXx8dm9pZCAwfWZ1bmN0aW9uIGVOKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJkpfLmhhcyhlKT9lOnZvaWQgMH1mdW5jdGlvbiB0TihlLHQpe2lmKCFlKXJldHVybiBudWxsO2NvbnN0IGE9R3UoZS5pZCk7aWYoIWEpcmV0dXJuIG51bGw7Y29uc3QgaT15RShlLndvcmt0cmVlKT9lLndvcmt0cmVlOnt9LG89eUUoZS53b3JrdHJlZU1lcmdlSW5mbyk/ZS53b3JrdHJlZU1lcmdlSW5mbzp7fSxjPUd1KGkuYnJhbmNoKT8/R3UoZS53b3JrdHJlZUJyYW5jaCksZD1HdShpLnBhdGgpPz9HdShlLndvcmt0cmVlUGF0aCksZj1HdShvLnRhcmdldEJyYW5jaCksbT1HdShlLnN0YXR1cyksaD1lTihlLndvcmt0cmVlTWVyZ2VTdGF0dXMpLGc9aD09PSJtZXJnZWQiJiZvLmNsZWFudXBEb25lPT09ITE7cmV0dXJue3Nlc3Npb25JZDphLGludGVudDp0Pz8oZz8iY2xlYW51cCI6Im1lcmdlIiksLi4uYz97c291cmNlQnJhbmNoOmN9Ont9LC4uLmQ/e3dvcmt0cmVlUGF0aDpkfTp7fSwuLi5mP3t0YXJnZXRCcmFuY2g6Zn06e30sLi4ubT97c2Vzc2lvblN0YXR1czptfTp7fSwuLi5oP3ttZXJnZVN0YXR1czpofTp7fSxjbGVhbnVwUGVuZGluZzpnfX1mdW5jdGlvbiB3RSgpe2Zvcihjb25zdCBlIG9mW0xuLGxuLFdhLF9vXSlpZihlLmlzT3BlbigpJiYhZS5jbG9zZUlmT3BlbigpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHhFKGUsdCl7Y29uc3QgYT10IGluc3RhbmNlb2YgRXJyb3ImJnQubWVzc2FnZT9gXHVGRjFBJHt0Lm1lc3NhZ2V9YDoiIjtlLnRvYXN0KGBXb3JrdHJlZSBcdTVERjJcdTY2RjRcdTY1QjBcdUZGMENcdTRGNDZcdTRGMUFcdThCRERcdTUyMTdcdTg4NjhcdTUyMzdcdTY1QjBcdTU5MzFcdThEMjUke2F9YCwiZXJyb3IiKX1mdW5jdGlvbiBuTihlLHQpe3RyeXtQcm9taXNlLnJlc29sdmUoZS5yZWZyZXNoU2Vzc2lvbnModCkpLmNhdGNoKGE9Pnt4RShlLGEpfSl9Y2F0Y2goYSl7eEUoZSxhKX19ZnVuY3Rpb24gYU4oZSl7cmV0dXJue29uT3Blbih0KXt3RSgpLGUub25PcGVuPy4odCl9LG9uQ2xvc2UodCl7ZS5vbkNsb3NlPy4odCl9LG9uUmVwb3NpdG9yeUNoYW5nZWQodCl7bk4oZSx0KX0sdG9hc3QodCxhKXtlLnRvYXN0KHQsYSl9fX1mdW5jdGlvbiByTihlKXtpZihWdT8uZGVwZW5kZW5jaWVzPT09ZSlyZXR1cm4gVnUuZGlzcG9zZTtWdT8uZGlzcG9zZSgpO2NvbnN0IHQ9dmsoYU4oZSkpO2xldCBhPSExO2NvbnN0IGk9e2RlcGVuZGVuY2llczplLGRpc3Bvc2UoKXthfHwoYT0hMCx0KCksVnU9PT1pJiYoVnU9bnVsbCkpfX07cmV0dXJuIFZ1PWksaS5kaXNwb3NlfWZ1bmN0aW9uIEVFKGUsdCl7Y29uc3QgYT1WdSxpPWUudHJpbSgpO3JldHVybiFhfHwhaXx8IWJsKCgpPT57RkUoYSxpLHQpfSk/ITE6RkUoYSxpLHQpfWZ1bmN0aW9uIEZFKGUsdCxhKXtpZighd0UoKSlyZXR1cm4hMTtjb25zdCBpPXROKGUuZGVwZW5kZW5jaWVzLmdldFNlc3Npb24odCksYSk7cmV0dXJuIGk/ZG4ub3BlbihpKT8hMDooZS5kZXBlbmRlbmNpZXMudG9hc3QoIldvcmt0cmVlIFx1NTQwOFx1NUU3Nlx1NzU0Q1x1OTc2Mlx1NUMxQVx1NjcyQVx1NUMzMVx1N0VFQVx1RkYwQ1x1OEJGN1x1NTIzN1x1NjVCMFx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMiIsImVycm9yIiksITEpOihlLmRlcGVuZGVuY2llcy50b2FzdCgiXHU2NzJBXHU2MjdFXHU1MjMwXHU1M0VGXHU2NENEXHU0RjVDXHU3Njg0IHdvcmt0cmVlIFx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksITEpfWZ1bmN0aW9uIGlOKCl7cmV0dXJuIGRuLmNsb3NlSWZPcGVuKCl9ZnVuY3Rpb24gdU4oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tY2VydC1oaW50Iik7ZSYmZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tY2VydC1odHRwLWxpbmsiKTt0JiYodC5ocmVmPSJodHRwOi8vIitsb2NhdGlvbi5ob3N0K2xvY2F0aW9uLnBhdGhuYW1lLHQuc3R5bGUuZGlzcGxheT1sb2NhdGlvbi5wcm90b2NvbD09PSJodHRwczoiPyIiOiJub25lIil9ZnVuY3Rpb24gb04oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tY2VydC1oaW50Iik7ZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX1mdW5jdGlvbiBvMCgpe2lmKCFzLmxvZ2luUGVuZGluZyl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tYnV0dG9uIiksYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tZXJyb3IiKTshZXx8IXR8fCFhfHwoY3goYSksb04oKSxlLmRhdGFzZXQuZXJyb3I9ImZhbHNlIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwiZmFsc2UiKSxzLmxvZ2luUGVuZGluZz0hMCx0LmRpc2FibGVkPSEwLHQudGV4dENvbnRlbnQ9Ilx1NzY3Qlx1NUY1NVx1NEUyRC4uLiIsZmV0Y2goIi9hcGkvbG9naW4iLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7cGFzc3dvcmQ6ZS52YWx1ZX0pLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLnN0YXR1cz09PTQyOT8oWmEoYSwiXHU3NjdCXHU1RjU1XHU1QzFEXHU4QkQ1XHU2QjIxXHU2NTcwXHU4RkM3XHU1OTFBXHVGRjBDXHU4QkY3XHU3QTBEXHU1NDBFXHU1MThEXHU4QkQ1XHUzMDAyIiksUHJvbWlzZS5yZWplY3QoImhhbmRsZWQiKSk6aS5vaz9mZXRjaCgiL2FwaS9jb25maWciLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSk6KGUuZGF0YXNldC5lcnJvcj0idHJ1ZSIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsInRydWUiKSxaYShhLCJcdTVCQzZcdTc4MDFcdTk1MTlcdThCRUZcdUZGMENcdThCRjdcdTkxQ0RcdThCRDVcdTMwMDIiKSxQcm9taXNlLnJlamVjdCgiaGFuZGxlZCIpKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkub2s/aS5qc29uKCk6KGxvY2F0aW9uLnByb3RvY29sPT09Imh0dHBzOiI/dU4oKTpaYShhLCJcdTc2N0JcdTVGNTVcdTU5MzFcdThEMjVcdUZGMENcdThCRjdcdTkxQ0RcdThCRDVcdTMwMDIiKSxQcm9taXNlLnJlamVjdCgiaGFuZGxlZCIpKX0pLnRoZW4oZnVuY3Rpb24oaSl7cy5jb25maWc9aTt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdHVzLWRvdCIpLGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1cy10ZXh0Iik7cmV0dXJuIG8mJm8uY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksYyYmKGMudGV4dENvbnRlbnQ9Ilx1NURGMlx1NzY3Qlx1NUY1NSIpLEhpKCl9KS50aGVuKGZ1bmN0aW9uKCl7UjYoKSxfaSgpLHMuY2xhdWRlSGlzdG9yeUxvYWRlZHx8c2V0VGltZW91dChmdW5jdGlvbigpe3MuY2xhdWRlSGlzdG9yeUxvYWRlZHx8RmwoKX0sNjAwKX0pLmNhdGNoKGZ1bmN0aW9uKGkpe2khPT0iaGFuZGxlZCImJihjb25zb2xlLmVycm9yKCJbd2FuZF0gTG9naW4gZXJyb3I6IixpKSxaYShhLCJcdTc2N0JcdTVGNTVcdTU5MzFcdThEMjVcdUZGMENcdThCRjdcdTkxQ0RcdThCRDVcdTMwMDIiKSl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7cy5sb2dpblBlbmRpbmc9ITEsdC5kaXNhYmxlZD0hMSx0LnRleHRDb250ZW50PSJcdThGREJcdTUxNjVcdTYzQTdcdTUyMzZcdTUzRjAifSkpfX1mdW5jdGlvbiBzMCgpe3JldHVybiB0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLnN3aXRjaFNlcnZlcj09ImZ1bmN0aW9uIn1mdW5jdGlvbiBsMCgpe2lmKHMwKCkpdHJ5e1dhbmROYXRpdmUuc3dpdGNoU2VydmVyKCl9Y2F0Y2h7fX1mdW5jdGlvbiBzTigpe3JldHVybiB0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLmJhY2tUb05hdGl2ZT09ImZ1bmN0aW9uIj8hMDp0eXBlb2Ygd2luZG93Ll9fd2FuZEJhY2tUb05hdGl2ZT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBDRSgpe3RyeXtpZih0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLmJhY2tUb05hdGl2ZT09ImZ1bmN0aW9uIil7V2FuZE5hdGl2ZS5iYWNrVG9OYXRpdmUoKTtyZXR1cm59dHlwZW9mIHdpbmRvdy5fX3dhbmRCYWNrVG9OYXRpdmU9PSJmdW5jdGlvbiImJndpbmRvdy5fX3dhbmRCYWNrVG9OYXRpdmUoKX1jYXRjaHt9fWZ1bmN0aW9uIGMwKCl7ZmV0Y2goIi9hcGkvbG9nb3V0Iix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkuY2F0Y2goZnVuY3Rpb24oKXt9KSxQNigpLGVzKCExKSxWaCgpLEJsKCkscy5jb25maWc9bnVsbCxzLnNlbGVjdGVkSWQ9bnVsbCxHdCgpLHMuc2Vzc2lvbnM9W10scy5jbGF1ZGVIaXN0b3J5PVtdLHMuY2xhdWRlSGlzdG9yeUxvYWRlZD0hMSxzLmNsYXVkZUhpc3RvcnlFeHBhbmRlZD0hMSxzLmNsYXVkZUhpc3RvcnlFeHBhbmRlZERpcnM9e30scy5zZXNzaW9uc0RyYXdlck9wZW49ITEsVHQoIndhbmQtc2lkZWJhci1vcGVuIiwhMSksX2koKX1mdW5jdGlvbiBIaSgpe3JldHVybiB3cigpfWZ1bmN0aW9uIERFKGUpe3JldHVybiBlPT09ImZ1bGwtYWNjZXNzIj8iXHU1MTY4XHU2NzQzXHU5NjUwIjplPT09ImRlZmF1bHQiPyJcdTlFRDhcdThCQTQiOmU9PT0ibmF0aXZlIj8iXHU1MzlGXHU3NTFGIjplPT09ImF1dG8tZWRpdCI/Ilx1ODFFQVx1NTJBOFx1N0YxNlx1OEY5MSI6ZT09PSJtYW5hZ2VkIj8iXHU2MjU4XHU3QkExIjplfWZ1bmN0aW9uIGVyKCl7cmV0dXJuIHMuc2Vzc2lvblRvb2x8fHMucHJlZmVycmVkQ29tbWFuZHx8ImNsYXVkZSJ9ZnVuY3Rpb24gbE4oKXt2YXIgZT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1zLnNlbGVjdGVkSWR9KTtyZXR1cm4gZSYmZS5wcm92aWRlcnx8cy5wcmVmZXJyZWRDb21tYW5kfHwiY2xhdWRlIn1mdW5jdGlvbiBBRShlLHQpe3JldHVybiB0PyJcdTk1MkVcdTc2RDhcdThGOTNcdTUxNjVcdTVDMDZcdTUzRDFcdTkwMDFcdTUyMzBcdTdFQzhcdTdBRUYiOmUmJihlLnN0YXR1cz09PSJleGl0ZWQifHxlLnN0YXR1cz09PSJmYWlsZWQifHxlLnN0YXR1cz09PSJzdG9wcGVkIik/SGgoZSk/Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2Rlx1NEVFNVx1N0VFN1x1N0VFRFx1NEYxQVx1OEJERCI6Ilx1NEYxQVx1OEJERFx1NURGMlx1N0VEM1x1Njc1RiI6dXQoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodD8iXHU1NkRFXHU1OTBEXHU0RTJEXHVGRjBDXHU1M0VGXHU3RUU3XHU3RUVEXHU4RjkzXHU1MTY1IjoiXHU2MjUzXHU1QjU3XHU2MjE2XHU2MzA5XHU0RjRGXHU4QkY0XHU4QkREIn1mdW5jdGlvbiBTRShlKXtyZXR1cm4gZT09PSJjb2RleCI/WyJmdWxsLWFjY2VzcyJdOmU9PT0ib3BlbmNvZGUifHxlPT09Imdyb2siP1siZGVmYXVsdCIsImZ1bGwtYWNjZXNzIiwibWFuYWdlZCJdOmU9PT0icW9kZXIiP1siZGVmYXVsdCIsImZ1bGwtYWNjZXNzIiwiYXV0by1lZGl0IiwibWFuYWdlZCJdOlsiZGVmYXVsdCIsImZ1bGwtYWNjZXNzIiwiYXV0by1lZGl0IiwibmF0aXZlIiwibWFuYWdlZCJdfWZ1bmN0aW9uIFl1KGUsdCl7dmFyIGE9U0UoZSk7aWYoYS5pbmRleE9mKHQpIT09LTEpcmV0dXJuIHQ7dmFyIGk9cy5jb25maWcmJnMuY29uZmlnLmRlZmF1bHRNb2RlP3MuY29uZmlnLmRlZmF1bHRNb2RlOiJkZWZhdWx0IjtyZXR1cm4gYS5pbmRleE9mKGkpIT09LTE/aTphWzBdfWZ1bmN0aW9uIGNOKGUpe3ZhciB0PXtkZWZhdWx0OiJcdTY4MDdcdTUxQzZcdTZBMjFcdTVGMEYgLSBcdTk3MDBcdTg5ODFcdTc4NkVcdThCQTRcdTY1ODdcdTRFRjZcdTRGRUVcdTY1MzkiLCJmdWxsLWFjY2VzcyI6Ilx1NUI4Q1x1NTE2OFx1OEJCRlx1OTVFRSAtIFx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1Njc0M1x1OTY1MFx1NEUwRVx1NjRDRFx1NEY1QyIsImF1dG8tZWRpdCI6Ilx1ODFFQVx1NTJBOFx1N0YxNlx1OEY5MSAtIFx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1NjU4N1x1NEVGNlx1NEZFRVx1NjUzOSIsbmF0aXZlOiJcdTUzOUZcdTc1MUZcdTZBMjFcdTVGMEYgLSBcdThGRDRcdTU2REVcdTdFRDNcdTY3ODRcdTUzMTZcdThGOTNcdTUxRkEiLG1hbmFnZWQ6Ilx1NjI1OFx1N0JBMVx1NkEyMVx1NUYwRiAtIEFJIFx1ODFFQVx1NTJBOFx1NUI4Q1x1NjIxMFx1NjI0MFx1NjcwOVx1NURFNVx1NEY1QyJ9O3JldHVybiB0W2VdfHwiIn1mdW5jdGlvbiBkTihlKXt2YXIgdD1lJiZlLnByb3ZpZGVyP2UucHJvdmlkZXI6ImNsYXVkZSI7cmV0dXJuKHV0KGUpPyJcdTdFRDNcdTY3ODRcdTUzMTYiOiJcdTdFQzhcdTdBRUYiKSsiIFx4QjcgIit0fWZ1bmN0aW9uIGZOKGUpe3JldHVybiB1dChlKT8iXHU3RUQzXHU2Nzg0XHU1MzE2IFx4QjcgXHU1NzU3XHU3RUE3XHU4QkIwXHU1RjU1IjplJiZlLnByb3ZpZGVyPT09ImNvZGV4Ij8iXHU3RUM4XHU3QUVGIFx4QjcgQ29kZXggUFRZXHVGRjA4Y2hhdCBcdTRFM0FcdTg5RTNcdTY3OTBcdTg5QzZcdTU2RkVcdUZGMDkiOiJcdTdFQzhcdTdBRUYgXHhCNyBQVFkgXHU0RjFBXHU4QkREIn1mdW5jdGlvbiBwTihlKXtyZXR1cm4gZT91dChlKXx8ZS5wcm92aWRlcj09PSJjb2RleCI6ITF9ZnVuY3Rpb24gQkUoZSx0KXtpZighZXx8IWUuaXNfZXJyb3J8fCF0fHx0LmlzX2Vycm9yKXJldHVybiExO3ZhciBhPXppKGUuY29udGVudCkudG9Mb3dlckNhc2UoKSxpPXppKHQuY29udGVudCkudG9Mb3dlckNhc2UoKTtyZXR1cm4gYT9hLmluZGV4T2YoImludmFsaWQgcGFnZXMgcGFyYW1ldGVyIikhPT0tMSYmaS5sZW5ndGg+MDohMX1mdW5jdGlvbiB1dChlKXtyZXR1cm4hIWUmJihlLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHxlLnJ1bm5lcj09PSJjbGF1ZGUtY2xpLXByaW50Iil9ZnVuY3Rpb24gZDAoKXtzLmNoYXRNb2RlPVl1KCJjbGF1ZGUiLHMuY2hhdE1vZGUpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWhpbnQiKTtlJiYoZS50ZXh0Q29udGVudD1jTihzLmNoYXRNb2RlKSkscWkoKX12YXIga0U9T2JqZWN0LmNyZWF0ZShudWxsKSxSZj1PYmplY3QuY3JlYXRlKG51bGwpLElmPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gVEUoZSl7cmV0dXJuIGUmJklmW2VdfHxudWxsfWZ1bmN0aW9uIExmKGUsdCxhKXtpZihlKXt2YXIgaT1JZltlXXx8KElmW2VdPXt9KTtpW3RdPWF9fWZ1bmN0aW9uIGpFKGUpe2UmJmRlbGV0ZSBJZltlXX1mdW5jdGlvbiBmMChlLHQpe3ZhciBhPShSZltlXXx8MCkrMTtSZltlXT1hO3ZhciBpPWtFW2VdfHxQcm9taXNlLnJlc29sdmUoKSxvPWkuY2F0Y2goZnVuY3Rpb24oKXt9KS50aGVuKHQpO3JldHVybiBrRVtlXT1vLmNhdGNoKGZ1bmN0aW9uKCl7fSksby50aGVuKGZ1bmN0aW9uKGMpe3JldHVybntkYXRhOmMsbGF0ZXN0OlJmW2VdPT09YX19LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlamVjdCh7ZXJyb3I6YyxsYXRlc3Q6UmZbZV09PT1hfSl9KX1mdW5jdGlvbiBHbChlLHQpe2pFKGUpLFByb21pc2UucmVzb2x2ZSh3cigpKS5jYXRjaChmdW5jdGlvbigpe30pLmZpbmFsbHkoZnVuY3Rpb24oKXtxaSgpfSksaGUodCwiZXJyb3IiKX1mdW5jdGlvbiBwMChlLHQpe2lmKCF0LmxhdGVzdClyZXR1cm4hMTt2YXIgYT10LmRhdGE7cmV0dXJuIGEmJmEuZXJyb3I/KEdsKGUsYS5lcnJvciksITEpOiFhfHwhYS5pZD8oR2woZSwiXHU0RjFBXHU4QkREXHU4QkJFXHU3RjZFXHU2NkY0XHU2NUIwXHU1OTMxXHU4RDI1IiksITEpOihhdChhKSxqRShlKSxxaSgpLCEwKX1mdW5jdGlvbiB2TihlLHQpe3Q9dHx8e307dmFyIGE9dC5raW5kPT09ImNvbXBhY3QifHx0LmtpbmQ9PT0icG9wb3ZlciI/dC5raW5kOiJkcm9wZG93biIsaT1lcigpLG89cy5jaGF0TW9kZXx8ImRlZmF1bHQiLGM9WGwoZSl8fCIiLGQ9emYoYyxlKSxmPVBmKGUpO2Z1bmN0aW9uIG0oZyxiLHksQyl7dmFyIHc9YT09PSJjb21wYWN0Ij8iIjonPHNwYW4gY2xhc3M9ImNoYXQtbW9kZS10cmlvLXRhZyI+JytMKGIpKyI8L3NwYW4+IjtyZXR1cm4nPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXRleHQtcGlsbCBjaGF0LW1vZGUtdHJpby1waWxsIiBkYXRhLW1vZGUtY29udHJvbC1waWxsPSInK2crJyIgdGl0bGU9IicrTChiKSsnIj4nK3crJzxzcGFuIGNsYXNzPSJjb21wb3Nlci10ZXh0LWxhYmVsIj4nK0woeSkrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSInK2crJyIgYXJpYS1sYWJlbD0iJytMKGIpKyciPicrQysiPC9zZWxlY3Q+PC9zcGFuPiJ9dmFyIGg9JzxidXR0b24gY2xhc3M9Im1vZGVsLXJlZnJlc2gtYnV0dG9uIiB0eXBlPSJidXR0b24iIGRhdGEtbW9kZWxzLXJlZnJlc2ggYXJpYS1sYWJlbD0iXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4IiB0aXRsZT0iXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4IicrKHMubW9kZWxzUmVmcmVzaGluZz8nIGRpc2FibGVkIGFyaWEtYnVzeT0idHJ1ZSInOiIiKSsiPiIraXQoInJlZnJlc2giLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOSxjbHM6Im1vZGVsLXJlZnJlc2gtaWNvbiJ9KSsnPHNwYW4gY2xhc3M9Im1vZGVsLXJlZnJlc2gtbGFiZWwiPlx1NTIzN1x1NjVCMFx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2ODwvc3Bhbj48L2J1dHRvbj4nO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1vZGUtdHJpbyBjaGF0LW1vZGUtdHJpby0nK2ErJyIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9Ilx1NEYxQVx1OEJERFx1OEJCRVx1N0Y2RSI+JyttKCJtb2RlIiwiXHU2QTIxXHU1RjBGIixvLEhmKGksbykpKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItdGV4dC1zZXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj5ceEI3PC9zcGFuPicrbSgibW9kZWwiLCJcdTZBMjFcdTU3OEIiLGQsTEUoYyxlKSkraCsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXRleHQtc2VwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+XHhCNzwvc3Bhbj4nK20oInRoaW5raW5nIiwiXHU2MDFEXHU4MDAzIixXdShmLGUpLHYwKGYsZSkpKyI8L2Rpdj4ifWZ1bmN0aW9uIFd1KGUsdCl7dmFyIGE9RU4oZSx0KTtyZXR1cm4gYT09PSJsb3ciPyJcdTRGNEUiOmE9PT0ibWVkaXVtIj8iXHU0RTJEIjphPT09ImhpZ2giPyJcdTlBRDgiOmE9PT0ieGhpZ2giPyJcdThEODVcdTlBRDgiOmE9PT0ibWF4Ij8iXHU2NzgxXHU5QUQ4IjphPT09InVsdHJhIj8iXHU2NzgxXHU5NjUwIjoiXHU4MUVBXHU1MkE4In1mdW5jdGlvbiBZbChlLHQpe3ZhciBhPWV8fCIiLGk9ZzAodCk7aWYoIWF8fGE9PT0iZGVmYXVsdCIpe2Zvcih2YXIgbz0wO288aS5sZW5ndGg7bysrKWlmKGlbb10uaWQ9PT0iZGVmYXVsdCIpcmV0dXJuIGlbb10ubGFiZWx8fGlbb10uaWQ7cmV0dXJuIlx1OUVEOFx1OEJBNCJ9Zm9yKHZhciBjPTA7YzxpLmxlbmd0aDtjKyspaWYoaVtjXS5pZD09PWEpcmV0dXJuIGlbY10ubGFiZWx8fGlbY10uaWQ7cmV0dXJuIGF9ZnVuY3Rpb24gemYoZSx0KXt2YXIgYT1ZbChlLHQpO2lmKCFhfHxhPT09Ilx1OERERlx1OTY4Rlx1NjcwRFx1NTJBMVx1N0FFRlx1OUVEOFx1OEJBNCIpcmV0dXJuIlx1OUVEOFx1OEJBNCI7dmFyIGk9YS5zZWFyY2goL1vvvIgoXS8pO2k+MCYmKGE9YS5zbGljZSgwLGkpLnRyaW0oKSk7dmFyIG89YS5sYXN0SW5kZXhPZigiLyIpO28+PTAmJm88YS5sZW5ndGgtMSYmKGE9YS5zbGljZShvKzEpLnRyaW0oKSk7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiBjLmluZGV4T2YoIm9wdXMiKSE9PS0xPyJPcHVzIjpjLmluZGV4T2YoInNvbm5ldCIpIT09LTE/IlNvbm5ldCI6Yy5pbmRleE9mKCJoYWlrdSIpIT09LTE/IkhhaWt1IjpjLmluZGV4T2YoImdwdC01LjUiKSE9PS0xPyJHUFQtNS41IjpjLmluZGV4T2YoImdwdC01IikhPT0tMT8iR1BULTUiOmMuaW5kZXhPZigiZ3B0LTQiKSE9PS0xPyJHUFQtNCI6Yy5pbmRleE9mKCJncm9rLTQuNSIpIT09LTE/Ikdyb2sgNC41IjpjLmluZGV4T2YoImdyb2stNCIpIT09LTE/Ikdyb2sgNCI6Yy5pbmRleE9mKCJncm9rLTMiKSE9PS0xPyJHcm9rIDMiOihjLmluZGV4T2YoImdyb2siKSE9PS0xLGEubGVuZ3RoPjEyP2Euc2xpY2UoMCwxMCkrIlx1MjAyNiI6YSl9ZnVuY3Rpb24gdjAoZSx0KXt2YXIgYT1abCh0KSxpPWEuc29tZShmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PWV9KT9lOiJvZmYiO3JldHVybiBhLm1hcChmdW5jdGlvbihvKXt2YXIgYz1vLmlkPT09Im9mZiI/Ilx1ODFFQVx1NTJBOFx1RkYwOFx1NkEyMVx1NTc4Qlx1OUVEOFx1OEJBNFx1RkYwOSI6V3Uoby5pZCx0KTtyZXR1cm4nPG9wdGlvbiB2YWx1ZT0iJytMKG8uaWQpKyciJysoby5pZD09PWk/IiBzZWxlY3RlZCI6IiIpKyI+IitMKGMpKyI8L29wdGlvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gTUUoZSx0LGEpe3ZhciBpPWUucXVlcnlTZWxlY3RvcignW2RhdGEtbW9kZS1jb250cm9sPSJ0aGlua2luZyJdJyk7aSYmKGkuaW5uZXJIVE1MPXYwKHQsYSksaS52YWx1ZT1abChhKS5zb21lKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09dH0pP3Q6Im9mZiIpfWZ1bmN0aW9uIHlyKGUpe3JldHVybiEhZSYmZS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIiYmZS5wcm92aWRlcj09PSJjbGF1ZGUiJiZlLnJ1bm5lcj09PSJjbGF1ZGUtc2RrIn1mdW5jdGlvbiBXbChlKXtpZigheXIoZSkpcmV0dXJuW107dmFyIHQ9cy5zZWxlY3RlZENsYXVkZVNraWxsc0J5U2Vzc2lvbiYmcy5zZWxlY3RlZENsYXVkZVNraWxsc0J5U2Vzc2lvbltlLmlkXTtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90OltdfXZhciBtMD1udWxsO2Z1bmN0aW9uIEtsKCl7dmFyIGU9SG4oKSx0PVdsKGUpO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWNsYXVkZS1za2lsbHMtdHJpZ2dlcl0iKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EudGV4dENvbnRlbnQ9dC5sZW5ndGg/IlNraWxscyAiK3QubGVuZ3RoOiJTa2lsbHMiLGEuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixzLmNsYXVkZVNraWxsc1BpY2tlck9wZW4/InRydWUiOiJmYWxzZSIpLGEuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdC5sZW5ndGg/Ilx1NURGMlx1OTAwOVx1NjJFOSAiK3QubGVuZ3RoKyIgXHU0RTJBIHNraWxscyI6Ilx1OTAwOVx1NjJFOVx1NjcyQ1x1Njc2MVx1NkQ4OFx1NjA2Rlx1ODk4MVx1NUU5NFx1NzUyOFx1NzY4NCBza2lsbHMiKX0pLG1OKCl9ZnVuY3Rpb24gT0UoZSl7aWYoIXlyKGUpKXJldHVybiIiO3ZhciB0PVdsKGUpLGE9cy5jbGF1ZGVTa2lsbHNCeUN3ZCYmQXJyYXkuaXNBcnJheShzLmNsYXVkZVNraWxsc0J5Q3dkW2UuY3dkXSk/cy5jbGF1ZGVTa2lsbHNCeUN3ZFtlLmN3ZF06W10saT0hIShzLmNsYXVkZVNraWxsc0xvYWRpbmdCeUN3ZCYmcy5jbGF1ZGVTa2lsbHNMb2FkaW5nQnlDd2RbZS5jd2RdKSxvPWk/JzxkaXYgY2xhc3M9ImNvbXBvc2VyLXNraWxscy1lbXB0eSI+XHU2QjYzXHU1NzI4XHU1MkEwXHU4RjdEIHNraWxsc1x1MjAyNjwvZGl2Pic6YS5sZW5ndGg/YS5tYXAoZnVuY3Rpb24oYyl7dmFyIGQ9dHlwZW9mIGMubmFtZT09InN0cmluZyI/Yy5uYW1lOiIiO2lmKCFkKXJldHVybiIiO3ZhciBmPXQuaW5kZXhPZihkKSE9PS0xLG09dHlwZW9mIGMuZGVzY3JpcHRpb249PSJzdHJpbmciP2MuZGVzY3JpcHRpb246IiIsaD1jLnNvdXJjZT09PSJwcm9qZWN0Ij8iXHU5ODc5XHU3NkVFIjoiXHU3NTI4XHU2MjM3IjtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0iY29tcG9zZXItc2tpbGwtb3B0aW9uJysoZj8iIGlzLXNlbGVjdGVkIjoiIikrJyIgdHlwZT0iYnV0dG9uIiByb2xlPSJjaGVja2JveCIgYXJpYS1jaGVja2VkPSInK2YrJyIgZGF0YS1jbGF1ZGUtc2tpbGwtbmFtZT0iJytMKGQpKyciPjxzcGFuIGNsYXNzPSJjb21wb3Nlci1za2lsbC1jaGVjayIgYXJpYS1oaWRkZW49InRydWUiPicrKGY/Ilx1MjcxMyI6IiIpKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImNvbXBvc2VyLXNraWxsLWNvcHkiPjxzcGFuIGNsYXNzPSJjb21wb3Nlci1za2lsbC1uYW1lIj4nK0woZCkrIjwvc3Bhbj4iKyhtPyc8c3BhbiBjbGFzcz0iY29tcG9zZXItc2tpbGwtZGVzY3JpcHRpb24iPicrTChtKSsiPC9zcGFuPiI6IiIpKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImNvbXBvc2VyLXNraWxsLXNvdXJjZSI+JytoKyI8L3NwYW4+PC9idXR0b24+In0pLmpvaW4oIiIpOic8ZGl2IGNsYXNzPSJjb21wb3Nlci1za2lsbHMtZW1wdHkiPlx1NUY1M1x1NTI0RFx1NzZFRVx1NUY1NVx1NkNBMVx1NjcwOVx1NTNFRlx1NzUyOCBza2lsbHNcdTMwMDI8L2Rpdj4nO3JldHVybic8ZGl2IGNsYXNzPSJjb21wb3Nlci1za2lsbHMtcG9wb3ZlcicrKHMuY2xhdWRlU2tpbGxzUGlja2VyT3Blbj8iIjoiIGhpZGRlbiIpKyciIGlkPSJjb21wb3Nlci1za2lsbHMtcG9wb3ZlciIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsPSJcdTkwMDlcdTYyRTkgc2tpbGxzIiB0YWJpbmRleD0iLTEiPjxkaXYgY2xhc3M9ImNvbXBvc2VyLXNraWxscy1oZWFkaW5nIj48c3Bhbj5Ta2lsbHM8L3NwYW4+PHNwYW4gY2xhc3M9ImNvbXBvc2VyLXNraWxscy1jb3VudCI+JysodC5sZW5ndGg/Ilx1NURGMlx1OTAwOSAiK3QubGVuZ3RoOiJcdTY3MkNcdTY3NjFcdTRFMERcdTVFOTRcdTc1MjgiKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLXNraWxscy1saXN0Ij4nK28rIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gbU4oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tcG9zZXItc2tpbGxzLXBvcG92ZXIiKSx0PUhuKCk7aWYoIXlyKHQpKXtlPy5yZW1vdmUoKTtyZXR1cm59dmFyIGE9T0UodCk7aWYoZSllLm91dGVySFRNTD1hO2Vsc2V7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpO2lmKCFpKXJldHVybjt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO28uaW5uZXJIVE1MPWEsaS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyZW5kIixvLmNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQpfXMuY2xhdWRlU2tpbGxzUGlja2VyT3BlbiYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXNraWxscy1wb3BvdmVyIiksZD1jPy5xdWVyeVNlbGVjdG9yKCJbZGF0YS1jbGF1ZGUtc2tpbGwtbmFtZV0iKT8/YztkPy5mb2N1cygpfSl9ZnVuY3Rpb24gX0UoZSl7aWYoIXlyKGUpfHwhZS5jd2QpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciB0PWUuY3dkO3JldHVybiBzLmNsYXVkZVNraWxsc0J5Q3dkJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocy5jbGF1ZGVTa2lsbHNCeUN3ZCx0KXx8cy5jbGF1ZGVTa2lsbHNMb2FkaW5nQnlDd2QmJnMuY2xhdWRlU2tpbGxzTG9hZGluZ0J5Q3dkW3RdP1Byb21pc2UucmVzb2x2ZSgpOihzLmNsYXVkZVNraWxsc0xvYWRpbmdCeUN3ZFt0XT0hMCxmZXRjaCgiL2FwaS9jbGF1ZGUtc2tpbGxzP2N3ZD0iK2VuY29kZVVSSUNvbXBvbmVudCh0KSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWEub2spdGhyb3cgbmV3IEVycm9yKCJcdTY1RTBcdTZDRDVcdTUyQTBcdThGN0Qgc2tpbGxzXHUzMDAyIik7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtzLmNsYXVkZVNraWxsc0J5Q3dkW3RdPUFycmF5LmlzQXJyYXkoYSYmYS5za2lsbHMpP2Euc2tpbGxzOltdfSkuY2F0Y2goZnVuY3Rpb24oKXtzLmNsYXVkZVNraWxsc0J5Q3dkW3RdPVtdfSkuZmluYWxseShmdW5jdGlvbigpe2RlbGV0ZSBzLmNsYXVkZVNraWxsc0xvYWRpbmdCeUN3ZFt0XSxLbCgpfSkpfWZ1bmN0aW9uIGhOKGUpe3ZhciB0PUhuKCk7aWYoeXIodCkpe2lmKHMuY2xhdWRlU2tpbGxzUGlja2VyT3Blbil7aDAoKTtyZXR1cm59bTA9ZT8/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxzLmNsYXVkZVNraWxsc1BpY2tlck9wZW49ITAsX0UodCksS2woKX19ZnVuY3Rpb24gaDAoKXtzLmNsYXVkZVNraWxsc1BpY2tlck9wZW4mJihzLmNsYXVkZVNraWxsc1BpY2tlck9wZW49ITEsS2woKSxtMD8uZm9jdXMoKSxtMD1udWxsKX1mdW5jdGlvbiBnTihlLHQpe2lmKCEoIXlyKGUpfHwhdCkpe3ZhciBhPVdsKGUpLnNsaWNlKCksaT1hLmluZGV4T2YodCk7aT09PS0xP2EucHVzaCh0KTphLnNwbGljZShpLDEpLHMuc2VsZWN0ZWRDbGF1ZGVTa2lsbHNCeVNlc3Npb25bZS5pZF09YSxLbCgpfX1mdW5jdGlvbiBORShlKXt2YXIgdD1lcigpLGE9cy5jaGF0TW9kZXx8ImRlZmF1bHQiLGk9WGwoZSl8fCIiLG89UGYoZSksYz1ERShhKSxkPXpmKGksZSksZj1XdShvLGUpLG09Ilx1NkEyMVx1NUYwRiAiK2MrIiBceEI3IFx1NkEyMVx1NTc4QiAiK2QrIiBceEI3IFx1NjAxRFx1ODAwMyAiK2Y7cmV0dXJuJzxkaXYgY2xhc3M9ImNvbXBvc2VyLWNvbmZpZy1jb250cm9scyIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9Ilx1NEYxQVx1OEJERFx1OEJCRVx1N0Y2RSIgdGl0bGU9IicrTChtKSsnIj48c3BhbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWNoaXAgY29tcG9zZXItY29uZmlnLWNoaXAtbW9kZSIgZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0ibW9kZSIgdGl0bGU9Ilx1NkEyMVx1NUYwRlx1RkYxQScrTChjKSsnIj4nK2l0KCJzaGllbGQiLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOCxjbHM6ImNvbXBvc2VyLWNvbmZpZy1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWxhYmVsIj4nK0woYykrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSJtb2RlIiBhcmlhLWxhYmVsPSJcdTZBMjFcdTVGMEYiPicrSGYodCxhKSsnPC9zZWxlY3Q+PC9zcGFuPjxzcGFuIGNsYXNzPSJjb21wb3Nlci1jb25maWctY2hpcCBjb21wb3Nlci1jb25maWctbW9kZWwiIGRhdGEtbW9kZS1jb250cm9sLXBpbGw9Im1vZGVsIiB0aXRsZT0iXHU2QTIxXHU1NzhCXHVGRjFBJytMKGQpKyciPicraXQoImNwdSIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS44LGNsczoiY29tcG9zZXItY29uZmlnLWljb24ifSkrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci1jb25maWctbGFiZWwiPicrTChkKSsnPC9zcGFuPjxzZWxlY3QgY2xhc3M9ImNvbXBvc2VyLXRleHQtaGlkZGVuLXNlbGVjdCIgZGF0YS1tb2RlLWNvbnRyb2w9Im1vZGVsIiBhcmlhLWxhYmVsPSJcdTZBMjFcdTU3OEIiPicrSUUoaSxlKSsnPC9zZWxlY3Q+PC9zcGFuPjxidXR0b24gY2xhc3M9Im1vZGVsLXJlZnJlc2gtYnV0dG9uIGNvbXBvc2VyLW1vZGVsLXJlZnJlc2gtYnV0dG9uIiB0eXBlPSJidXR0b24iIGRhdGEtbW9kZWxzLXJlZnJlc2ggYXJpYS1sYWJlbD0iXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4IiB0aXRsZT0iXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4IicrKHMubW9kZWxzUmVmcmVzaGluZz8nIGRpc2FibGVkIGFyaWEtYnVzeT0idHJ1ZSInOiIiKSsiPiIraXQoInJlZnJlc2giLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOSxjbHM6Im1vZGVsLXJlZnJlc2gtaWNvbiJ9KSsnPHNwYW4gY2xhc3M9Im1vZGVsLXJlZnJlc2gtbGFiZWwiPlx1NTIzN1x1NjVCMFx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2ODwvc3Bhbj48L2J1dHRvbj48c3BhbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWNoaXAgY29tcG9zZXItY29uZmlnLXRoaW5raW5nIiBkYXRhLW1vZGUtY29udHJvbC1waWxsPSJ0aGlua2luZyIgZGF0YS10aGlua2luZz0iJytMKG8pKyciIHRpdGxlPSJcdTYwMURcdTgwMDNcdTZERjFcdTVFQTZcdUZGMUEnK0woZikrJyI+JytpdCgiYnJhaW4iLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOCxjbHM6ImNvbXBvc2VyLWNvbmZpZy1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWxhYmVsIj4nK0woZikrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSJ0aGlua2luZyIgYXJpYS1sYWJlbD0iXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2Ij4nK3YwKG8sZSkrIjwvc2VsZWN0Pjwvc3Bhbj4iKyh5cihlKT8nPGJ1dHRvbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWNoaXAgY29tcG9zZXItY29uZmlnLXNraWxscyIgdHlwZT0iYnV0dG9uIiBkYXRhLWNsYXVkZS1za2lsbHMtdHJpZ2dlciBhcmlhLWhhc3BvcHVwPSJkaWFsb2ciIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0aXRsZT0iXHU5MDA5XHU2MkU5XHU2NzJDXHU2NzYxXHU2RDg4XHU2MDZGXHU4OTgxXHU1RTk0XHU3NTI4XHU3Njg0IHNraWxscyI+U2tpbGxzPC9idXR0b24+JzoiIikrIjwvZGl2PiJ9ZnVuY3Rpb24gcWkoKXt2YXIgZT1IbigpLHQ9ZXIoKSxhPXMuY2hhdE1vZGV8fCJkZWZhdWx0IixpPVhsKGUpfHwiIixvPXpmKGksZSksYz1QZihlKSxkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1vZGUtdHJpbyIpO2QuZm9yRWFjaChmdW5jdGlvbihmKXtmdW5jdGlvbiBtKGgsZyxiLHkpe3ZhciBDPWYucXVlcnlTZWxlY3RvcignW2RhdGEtbW9kZS1jb250cm9sLXBpbGw9IicraCsnIl0nKTtpZihDKXt2YXIgdz1DLnF1ZXJ5U2VsZWN0b3IoIi5jb21wb3Nlci10ZXh0LWxhYmVsIik7aWYodyYmKHcudGV4dENvbnRlbnQ9eXx8ZyksaD09PSJ0aGlua2luZyIpe01FKEMsZyxlKTtyZXR1cm59dmFyIHg9Qy5xdWVyeVNlbGVjdG9yKCdbZGF0YS1tb2RlLWNvbnRyb2w9IicraCsnIl0nKTt4JiYoYiYmKHguaW5uZXJIVE1MPWIpLHgudmFsdWUhPT1nJiYoeC52YWx1ZT1nKSl9fW0oIm1vZGUiLGEsSGYodCxhKSksbSgibW9kZWwiLGksTEUoaSxlKSxvKSxtKCJ0aGlua2luZyIsYywiIixXdShjLGUpKX0pLGJOKGUsYSxYbChlKXx8IiIsYyl9ZnVuY3Rpb24gYk4oZSx0LGEsaSl7dmFyIG89ZXIoKSxjPURFKHQpLGQ9emYoYSxlKSxmPVd1KGksZSksbT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY29tcG9zZXItY29uZmlnLWNvbnRyb2xzIik7bS5mb3JFYWNoKGZ1bmN0aW9uKGgpe3ZhciBnPSJcdTZBMjFcdTVGMEYgIitjKyIgXHhCNyBcdTZBMjFcdTU3OEIgIitkKyIgXHhCNyBcdTYwMURcdTgwMDMgIitmO2guc2V0QXR0cmlidXRlKCJ0aXRsZSIsZyk7ZnVuY3Rpb24gYihCLFQsayl7dmFyIE09Qi5xdWVyeVNlbGVjdG9yKCJbZGF0YS1tb2RlLWNvbnRyb2xdIik7TSYmKE0uaW5uZXJIVE1MPWssTS52YWx1ZT1UKX12YXIgeT1oLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbC1waWxsPSJtb2RlIl0nKTtpZih5KXt2YXIgQz15LnF1ZXJ5U2VsZWN0b3IoIi5jb21wb3Nlci1jb25maWctbGFiZWwiKTtDJiYoQy50ZXh0Q29udGVudD1jKSx5LnNldEF0dHJpYnV0ZSgidGl0bGUiLCJcdTZBMjFcdTVGMEZcdUZGMUEiK2MpLGIoeSx0LEhmKG8sdCkpfXZhciB3PWgucXVlcnlTZWxlY3RvcignW2RhdGEtbW9kZS1jb250cm9sLXBpbGw9Im1vZGVsIl0nKTtpZih3KXt2YXIgeD13LnF1ZXJ5U2VsZWN0b3IoIi5jb21wb3Nlci1jb25maWctbGFiZWwiKTt4JiYoeC50ZXh0Q29udGVudD1kKSx3LnNldEF0dHJpYnV0ZSgidGl0bGUiLCJcdTZBMjFcdTU3OEJcdUZGMUEiK2QpLGIodyxhLElFKGEsZSkpfXZhciBGPWgucXVlcnlTZWxlY3RvcignW2RhdGEtbW9kZS1jb250cm9sLXBpbGw9InRoaW5raW5nIl0nKTtpZihGKXt2YXIgQT1GLnF1ZXJ5U2VsZWN0b3IoIi5jb21wb3Nlci1jb25maWctbGFiZWwiKTtBJiYoQS50ZXh0Q29udGVudD1mKSxGLnNldEF0dHJpYnV0ZSgiZGF0YS10aGlua2luZyIsaSksRi5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2XHVGRjFBIitmKSxNRShGLGksZSl9dmFyIEQ9aC5xdWVyeVNlbGVjdG9yKCJbZGF0YS1jbGF1ZGUtc2tpbGxzLXRyaWdnZXJdIik7eXIoZSk/RHx8aC5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsJzxidXR0b24gY2xhc3M9ImNvbXBvc2VyLWNvbmZpZy1jaGlwIGNvbXBvc2VyLWNvbmZpZy1za2lsbHMiIHR5cGU9ImJ1dHRvbiIgZGF0YS1jbGF1ZGUtc2tpbGxzLXRyaWdnZXIgYXJpYS1oYXNwb3B1cD0iZGlhbG9nIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgdGl0bGU9Ilx1OTAwOVx1NjJFOVx1NjcyQ1x1Njc2MVx1NkQ4OFx1NjA2Rlx1ODk4MVx1NUU5NFx1NzUyOFx1NzY4NCBza2lsbHMiPlNraWxsczwvYnV0dG9uPicpOkQ/LnJlbW92ZSgpfSksS2woKX1mdW5jdGlvbiBIZihlLHQpe3JldHVybiBTRShlKS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuJzxvcHRpb24gdmFsdWU9IicrTChhKSsnIicrKGE9PT10PyIgc2VsZWN0ZWQiOiIiKSsiPiIrTChhKSsiPC9vcHRpb24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIGFzKGUpe3JldHVybiBlPT09ImNvZGV4Inx8ZT09PSJvcGVuY29kZSJ8fGU9PT0iZ3JvayJ8fGU9PT0icW9kZXIiP2U6ImNsYXVkZSJ9ZnVuY3Rpb24gUWwoZSl7cmV0dXJuIGFzKGUmJmUucHJvdmlkZXJ8fHMuc2Vzc2lvblRvb2x8fCJjbGF1ZGUiKX1mdW5jdGlvbiB5Tigpe3ZhciBlPXMuY29uZmlnJiZzLmNvbmZpZy5kZWZhdWx0TW9kZWxzJiZ0eXBlb2Ygcy5jb25maWcuZGVmYXVsdE1vZGVscz09Im9iamVjdCI/cy5jb25maWcuZGVmYXVsdE1vZGVsczp7fTtyZXR1cm57Y2xhdWRlOnR5cGVvZiBlLmNsYXVkZT09InN0cmluZyI/ZS5jbGF1ZGU6cy5jb25maWcmJnMuY29uZmlnLmRlZmF1bHRNb2RlbHx8IiIsY29kZXg6dHlwZW9mIGUuY29kZXg9PSJzdHJpbmciP2UuY29kZXg6cy5jb25maWcmJnMuY29uZmlnLmRlZmF1bHRDb2RleE1vZGVsfHwiIixvcGVuY29kZTp0eXBlb2YgZS5vcGVuY29kZT09InN0cmluZyI/ZS5vcGVuY29kZTpzLmNvbmZpZyYmcy5jb25maWcuZGVmYXVsdE9wZW5Db2RlTW9kZWx8fCIiLGdyb2s6dHlwZW9mIGUuZ3Jvaz09InN0cmluZyI/ZS5ncm9rOnMuY29uZmlnJiZzLmNvbmZpZy5kZWZhdWx0R3Jva01vZGVsfHwiIixxb2Rlcjp0eXBlb2YgZS5xb2Rlcj09InN0cmluZyI/ZS5xb2RlcjpzLmNvbmZpZyYmcy5jb25maWcuZGVmYXVsdFFvZGVyTW9kZWx8fCIifX1mdW5jdGlvbiBSRShlKXt2YXIgdD15TigpLGE9YXMoZSk7cmV0dXJuIGE9PT0iY29kZXgiP3QuY29kZXh8fCIiOmE9PT0ib3BlbmNvZGUiP3Qub3BlbmNvZGV8fCIiOmE9PT0iZ3JvayI/dC5ncm9rfHwiIjphPT09InFvZGVyIj90LnFvZGVyfHwiIjp0LmNsYXVkZXx8IiJ9ZnVuY3Rpb24gcnMoZSl7dmFyIHQ9YXMoZSksYT1zLmNoYXRNb2RlbHMmJnR5cGVvZiBzLmNoYXRNb2RlbHNbdF09PSJzdHJpbmciP3MuY2hhdE1vZGVsc1t0XToiIjtyZXR1cm4hYSYmdD09PSJjbGF1ZGUiJiYoYT1zLmNoYXRNb2RlbHx8IiIpLGF8fCIifWZ1bmN0aW9uIHdOKGUsdCl7dmFyIGE9YXMoZSksaT0odHx8IiIpLnRyaW0oKTtzLmNoYXRNb2RlbHN8fChzLmNoYXRNb2RlbHM9e2NsYXVkZToiIixjb2RleDoiIixvcGVuY29kZToiIixncm9rOiIiLHFvZGVyOiIifSkscy5jaGF0TW9kZWxzW2FdPWkscy5jaGF0TW9kZWw9aTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtY2hhdC1tb2RlbC0iK2EsaSksbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIndhbmQtY2hhdC1tb2RlbCIpfWNhdGNoe319ZnVuY3Rpb24gWGwoZSl7dmFyIHQ9ZSYmZS5pZD9URShlLmlkKTpudWxsO2lmKHQmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCJtb2RlbCIpKXJldHVybiB0Lm1vZGVsfHwiIjtpZihlJiZlLnNlbGVjdGVkTW9kZWwpcmV0dXJuIGUuc2VsZWN0ZWRNb2RlbDt2YXIgYT1RbChlKSxpPXJzKGEpO3JldHVybiBpfHxSRShhKXx8IiJ9ZnVuY3Rpb24gZzAoZSl7dmFyIHQ9YXMoZSYmZS5wcm92aWRlcnx8cy5zZXNzaW9uVG9vbHx8ImNsYXVkZSIpO3JldHVybiB0PT09ImNvZGV4Ij9zLmF2YWlsYWJsZUNvZGV4TW9kZWxzfHxbXTp0PT09Im9wZW5jb2RlIj9zLmF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzfHxbXTp0PT09Imdyb2siP3MuYXZhaWxhYmxlR3Jva01vZGVsc3x8W106dD09PSJxb2RlciI/cy5hdmFpbGFibGVRb2Rlck1vZGVsc3x8W106cy5hdmFpbGFibGVNb2RlbHN8fFtdfWZ1bmN0aW9uIElFKGUsdCl7Zm9yKHZhciBhPWcwKHQpLGk9ZT09PSJkZWZhdWx0Ij8iIjplfHwiIixvPSc8b3B0aW9uIHZhbHVlPSIiJysoaT8iIjoiIHNlbGVjdGVkIikrIj5cdTlFRDhcdThCQTQgXHhCNyAiK0woWWwoIiIsdCkpKyI8L29wdGlvbj4iLGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXTtpZihkLmlkIT09ImRlZmF1bHQiKXt2YXIgZj1kLmxhYmVsfHxkLmlkLG09UWwodCk9PT0iY2xhdWRlIj9kLmF2YWlsYWJpbGl0eT09PSJ2ZXJpZmllZCI/IiBceEI3IFx1NURGMlx1OUE4Q1x1OEJDMSI6ZC5hdmFpbGFiaWxpdHk9PT0ic3RhbGUiPyIgXHhCNyBcdTVGODVcdTUyMzdcdTY1QjAiOmQuc291cmNlPT09Im1vZGVscy1hcGkiPyIgXHhCNyBBUEkgXHU1MDE5XHU5MDA5IjoiIFx4QjcgXHU1MDE5XHU5MDA5IjoiIjtvKz0nPG9wdGlvbiB2YWx1ZT0iJytMKGQuaWQpKyciJysoZC5pZD09PWk/IiBzZWxlY3RlZCI6IiIpKyI+IitMKGYrbSkrIjwvb3B0aW9uPiJ9fXJldHVybiBpJiYhYS5zb21lKGZ1bmN0aW9uKGgpe3JldHVybiBoLmlkPT09aX0pJiYobys9JzxvcHRpb24gdmFsdWU9IicrTChpKSsnIiBzZWxlY3RlZD4nK0woaSkrIlx1RkYwOFx1ODFFQVx1NUI5QVx1NEU0OVx1RkYwOTwvb3B0aW9uPiIpLG99ZnVuY3Rpb24gTEUoZSx0KXtmb3IodmFyIGE9ZzAodCksaT1lPT09ImRlZmF1bHQiPyIiOmV8fCIiLG89JzxvcHRpb24gdmFsdWU9IiInKyhpPyIiOiIgc2VsZWN0ZWQiKSsiPiIrTChZbCgiIix0KSkrIjwvb3B0aW9uPiIsYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdO2lmKGQuaWQhPT0iZGVmYXVsdCIpe3ZhciBmPVFsKHQpPT09ImNsYXVkZSI/ZC5hdmFpbGFiaWxpdHk9PT0idmVyaWZpZWQiPyIgXHhCNyB2ZXJpZmllZCI6ZC5hdmFpbGFiaWxpdHk9PT0ic3RhbGUiPyIgXHhCNyBzdGFsZSI6ZC5zb3VyY2U9PT0ibW9kZWxzLWFwaSI/IiBceEI3IEFQSSBjYW5kaWRhdGUiOiIgXHhCNyBjYW5kaWRhdGUiOiIiO28rPSc8b3B0aW9uIHZhbHVlPSInK0woZC5pZCkrJyInKyhkLmlkPT09aT8iIHNlbGVjdGVkIjoiIikrIj4iK0woZC5pZCtmKSsiPC9vcHRpb24+In19cmV0dXJuIGkmJiFhLnNvbWUoZnVuY3Rpb24obSl7cmV0dXJuIG0uaWQ9PT1pfSkmJihvKz0nPG9wdGlvbiB2YWx1ZT0iJytMKGkpKyciIHNlbGVjdGVkPicrTChpKSsiPC9vcHRpb24+Iiksb31mdW5jdGlvbiBxZihlKXtxaSgpfXZhciAkbD1be2lkOiJvZmYiLGxhYmVsOiJhdXRvIixoaW50OiJcdTRGN0ZcdTc1MjggcHJvdmlkZXIgLyBcdTZBMjFcdTU3OEJcdTlFRDhcdThCQTRcdTYwMURcdTgwMDNcdTY4NjNcdTRGNEQifSx7aWQ6InN0YW5kYXJkIixsYWJlbDoibG93IixoaW50OiJDbGF1ZGUvQ29kZXg6IGxvdyBceEI3IE9wZW5Db2RlIHZhcmlhbnQ6IGxvdyJ9LHtpZDoiZGVlcCIsbGFiZWw6Im1lZGl1bSIsaGludDoiQ2xhdWRlL0NvZGV4OiBtZWRpdW0gXHhCNyBPcGVuQ29kZSB2YXJpYW50OiBoaWdoIn0se2lkOiJtYXgiLGxhYmVsOiJtYXgiLGhpbnQ6IkNsYXVkZTogbWF4IFx4QjcgQ29kZXg6IHhoaWdoIFx4QjcgT3BlbkNvZGUgdmFyaWFudDogbWF4In1dO2Z1bmN0aW9uIHhOKGUpe3JldHVybiBlPT09ImxvdyI/InN0YW5kYXJkIjplPT09Im1lZGl1bSI/ImRlZXAiOmU9PT0ieGhpZ2giPyJtYXgiOiJjb2RleDoiK2V9ZnVuY3Rpb24gWmwoZSl7aWYoUWwoZSkhPT0iY29kZXgiKXJldHVybiAkbDt2YXIgdD1YbChlKXx8ImRlZmF1bHQiLGE9cy5hdmFpbGFibGVDb2RleE1vZGVsc3x8W10saT1hLmZpbmQoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaWQ9PT10fSl8fGEuZmluZChmdW5jdGlvbihkKXtyZXR1cm4gZC5pZD09PSJkZWZhdWx0In0pLG89aSYmQXJyYXkuaXNBcnJheShpLnJlYXNvbmluZ0VmZm9ydHMpP2kucmVhc29uaW5nRWZmb3J0czpbXTtpZighby5sZW5ndGgpcmV0dXJuICRsO3ZhciBjPWkuZGVmYXVsdFJlYXNvbmluZ0VmZm9ydHx8IiI7cmV0dXJuW3tpZDoib2ZmIixsYWJlbDoiYXV0byIsaGludDpjPyJcdTRGN0ZcdTc1MjhcdTZBMjFcdTU3OEJcdTlFRDhcdThCQTRcdTY4NjNcdTRGNERcdUZGMDgiK2MrIlx1RkYwOSI6Ilx1NEY3Rlx1NzUyOFx1NkEyMVx1NTc4Qlx1OUVEOFx1OEJBNFx1Njg2M1x1NEY0RCJ9XS5jb25jYXQoby5tYXAoZnVuY3Rpb24oZCl7dmFyIGY9U3RyaW5nKGQuZWZmb3J0fHwiIikudG9Mb3dlckNhc2UoKTtyZXR1cm57aWQ6eE4oZiksbGFiZWw6ZixoaW50OmQuZGVzY3JpcHRpb258fGZ9fSkuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBkLmxhYmVsfSkpfWZ1bmN0aW9uIEVOKGUsdCl7Zm9yKHZhciBhPVpsKHQpLGk9MDtpPGEubGVuZ3RoO2krKylpZihhW2ldLmlkPT09ZSlyZXR1cm4gYVtpXS5sYWJlbDtpZih0eXBlb2YgZT09InN0cmluZyImJmUuaW5kZXhPZigiY29kZXg6Iik9PT0wKXJldHVybiBlLnNsaWNlKDYpO2Zvcih2YXIgbz0wO288JGwubGVuZ3RoO28rKylpZigkbFtvXS5pZD09PWUpcmV0dXJuICRsW29dLmxhYmVsO3JldHVybiJhdXRvIn1mdW5jdGlvbiBQZihlKXt2YXIgdD1lJiZlLmlkP1RFKGUuaWQpOm51bGw7cmV0dXJuIHQmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCJ0aGlua2luZyIpP3QudGhpbmtpbmd8fCJvZmYiOmUmJmUudGhpbmtpbmdFZmZvcnQ/ZS50aGlua2luZ0VmZm9ydDpzLmNoYXRUaGlua2luZz9zLmNoYXRUaGlua2luZzoib2ZmIn1mdW5jdGlvbiB6RShlKXtzLmNoYXRUaGlua2luZz1lO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC10aGlua2luZy1lZmZvcnQiLGUpfWNhdGNoe319ZnVuY3Rpb24gSEUoZSx0LGEsaSl7cmV0dXJuIGYwKGUuaWQsZnVuY3Rpb24oKXtyZXR1cm4gaSYmIWkub2s/e2Vycm9yOmkuZXJyb3J8fCJcdTUyMDdcdTYzNjJcdTZBMjFcdTU3OEJcdTU5MzFcdThEMjUifTpmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlLmlkKSsiL3RoaW5raW5nLWVmZm9ydCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe3RoaW5raW5nRWZmb3J0OnR9KX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSl9KS50aGVuKGZ1bmN0aW9uKG8pe3AwKGUuaWQsbykmJnR5cGVvZiBoZT09ImZ1bmN0aW9uIiYmaGUoYXx8Ilx1NURGMlx1NTIwN1x1NjM2Mlx1NjAxRFx1ODAwM1x1NkRGMVx1NUVBNiBcdTIxOTIgIitXdSh0LEhuKCkpLCJzdWNjZXNzIil9KS5jYXRjaChmdW5jdGlvbihvKXtvJiZvLmxhdGVzdCYmR2woZS5pZCwiXHU1MjA3XHU2MzYyXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2XHU1OTMxXHU4RDI1Iil9KX1mdW5jdGlvbiBGTihlKXt2YXIgdD0oZXx8Im9mZiIpLnRyaW0oKSxhPUhuKCksaT1abChhKS5zb21lKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09dH0pO2l8fCh0PSJvZmYiKSx6RSh0KSxhJiZMZihhLmlkLCJ0aGlua2luZyIsdCkscWkoKSxhJiZIRShhLHQsIlx1NURGMlx1NTIwN1x1NjM2Mlx1NjAxRFx1ODAwM1x1NkRGMVx1NUVBNiBcdTIxOTIgIitXdSh0LGEpKX1mdW5jdGlvbiBxRShlKXtpZighZSlyZXR1cm4hMTt2YXIgdD1lLm1vZGU7cmV0dXJuIHQ9PT0ibWFuYWdlZCJ8fHQ9PT0iZnVsbC1hY2Nlc3MifWZ1bmN0aW9uIENOKGUpe2lmKCFlfHxxRShlKSlyZXR1cm4iIjt2YXIgdD0hIWUuYXV0b0FwcHJvdmVQZXJtaXNzaW9ucztyZXR1cm4gdD8nPGJ1dHRvbiBpZD0iYXV0by1hcHByb3ZlLXRvZ2dsZSIgY2xhc3M9ImNvbXBvc2VyLXBpbGwgY29tcG9zZXItcGlsbC1jaGlwIGF1dG8tYXBwcm92ZS1pbmRpY2F0b3IgYWN0aXZlIiB0eXBlPSJidXR0b24iIGFyaWEtcHJlc3NlZD0idHJ1ZSIgYXJpYS1sYWJlbD0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1NDJGXHU3NTI4XHVGRjBDXHU3MEI5XHU1MUZCXHU1MTczXHU5NUVEIiB0aXRsZT0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1NDJGXHU3NTI4IFx1MjAxNCBcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiPicraXQoInNoaWVsZENoZWNrIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjcsY2xzOiJjb21wb3Nlci1waWxsLWljb24ifSkrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci1waWxsLWxhYmVsIj5cdTgxRUFcdTUyQTg8L3NwYW4+PC9idXR0b24+JzonPGJ1dHRvbiBpZD0iYXV0by1hcHByb3ZlLXRvZ2dsZSIgY2xhc3M9ImNvbXBvc2VyLXBpbGwgY29tcG9zZXItcGlsbC1jaGlwIGF1dG8tYXBwcm92ZS1pbmRpY2F0b3IiIHR5cGU9ImJ1dHRvbiIgYXJpYS1wcmVzc2VkPSJmYWxzZSIgYXJpYS1sYWJlbD0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1MTczXHU5NUVEXHVGRjBDXHU3MEI5XHU1MUZCXHU1RjAwXHU1NDJGIiB0aXRsZT0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1MTczXHU5NUVEIFx1MjAxNCBcdTcwQjlcdTUxRkJcdTVGMDBcdTU0MkYiPicraXQoInNoaWVsZCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU2MjRCXHU1MkE4PC9zcGFuPjwvYnV0dG9uPid9ZnVuY3Rpb24gRE4oKXtyZXR1cm4gZmV0Y2goIi9hcGkvbW9kZWxzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gUEUoZSksZX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KX1mdW5jdGlvbiBQRShlKXtyZXR1cm4hZXx8IUFycmF5LmlzQXJyYXkoZS5tb2RlbHMpPyExOihzLmF2YWlsYWJsZU1vZGVscz1lLm1vZGVscyxzLmF2YWlsYWJsZUNvZGV4TW9kZWxzPUFycmF5LmlzQXJyYXkoZS5jb2RleE1vZGVscyk/ZS5jb2RleE1vZGVsczpbXSxzLmF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzPUFycmF5LmlzQXJyYXkoZS5vcGVuY29kZU1vZGVscyk/ZS5vcGVuY29kZU1vZGVsczpbXSxzLmF2YWlsYWJsZUdyb2tNb2RlbHM9QXJyYXkuaXNBcnJheShlLmdyb2tNb2RlbHMpP2UuZ3Jva01vZGVsczpbXSxzLmF2YWlsYWJsZVFvZGVyTW9kZWxzPUFycmF5LmlzQXJyYXkoZS5xb2Rlck1vZGVscyk/ZS5xb2Rlck1vZGVsczpbXSxxZihIbigpKSwhMCl9ZnVuY3Rpb24gVUUoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1tb2RlbHMtcmVmcmVzaF0iKTtlLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGE9ISFzLm1vZGVsc1JlZnJlc2hpbmc7dC50b2dnbGVBdHRyaWJ1dGUoImRpc2FibGVkIixhKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1idXN5IixhPyJ0cnVlIjoiZmFsc2UiKSx0LnNldEF0dHJpYnV0ZSgidGl0bGUiLGE/Ilx1NkI2M1x1NTcyOFx1NTIzN1x1NjVCMFx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2OCI6Ilx1NTIzN1x1NjVCMFx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2OCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixhPyJcdTZCNjNcdTU3MjhcdTUyMzdcdTY1QjBcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjgiOiJcdTUyMzdcdTY1QjBcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjgiKSx0LmNsYXNzTGlzdC50b2dnbGUoImlzLXJlZnJlc2hpbmciLGEpfSl9ZnVuY3Rpb24gQU4oKXtyZXR1cm4gcy5tb2RlbHNSZWZyZXNoaW5nP1Byb21pc2UucmVzb2x2ZShudWxsKToocy5tb2RlbHNSZWZyZXNoaW5nPSEwLFVFKCksZmV0Y2goIi9hcGkvbW9kZWxzL3JlZnJlc2giLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLm9rP2UuanNvbigpOmUuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue319KS50aGVuKGZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcih0JiZ0LmVycm9yP3QuZXJyb3I6Ilx1NTIzN1x1NjVCMFx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2OFx1NTkzMVx1OEQyNVx1MzAwMiIpfSl9KS50aGVuKGZ1bmN0aW9uKGUpe2lmKCFQRShlKSl0aHJvdyBuZXcgRXJyb3IoIlx1NTIzN1x1NjVCMFx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2OFx1NTkzMVx1OEQyNVx1MzAwMiIpO3JldHVybiBoZSgiXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4XHU1REYyXHU1MjM3XHU2NUIwXHUzMDAyIiwic3VjY2VzcyIpLGV9KS5jYXRjaChmdW5jdGlvbihlKXtyZXR1cm4gaGUoZSYmZS5tZXNzYWdlP2UubWVzc2FnZToiXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4XHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKSxudWxsfSkuZmluYWxseShmdW5jdGlvbigpe3MubW9kZWxzUmVmcmVzaGluZz0hMSxVRSgpfSkpfWZ1bmN0aW9uIEhuKCl7aWYoIXMuc2VsZWN0ZWRJZClyZXR1cm4gbnVsbDtmb3IodmFyIGU9MDtlPHMuc2Vzc2lvbnMubGVuZ3RoO2UrKylpZihzLnNlc3Npb25zW2VdLmlkPT09cy5zZWxlY3RlZElkKXJldHVybiBzLnNlc3Npb25zW2VdO3JldHVybiBudWxsfWZ1bmN0aW9uIFNOKGUpe3ZhciB0PShlfHwiIikudHJpbSgpLGE9SG4oKSxpPVFsKGEpO3dOKGksdCksYSYmTGYoYS5pZCwibW9kZWwiLHQpO3ZhciBvPSExO2lmKFpsKGEpLnNvbWUoZnVuY3Rpb24oZil7cmV0dXJuIGYuaWQ9PT1QZihhKX0pfHwobz0hMCx6RSgib2ZmIiksYSYmTGYoYS5pZCwidGhpbmtpbmciLCJvZmYiKSkscWkoKSwhIWEpe3ZhciBjPXtvazohMSxlcnJvcjoiIn07aWYoZjAoYS5pZCxmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChhLmlkKSsiL21vZGVsIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7bW9kZWw6dHx8bnVsbH0pfSkudGhlbihmdW5jdGlvbihmKXtyZXR1cm4gZi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGYpe3JldHVybiBjLm9rPSEhKGYmJmYuaWQmJiFmLmVycm9yKSxjLmVycm9yPWYmJmYuZXJyb3I/Zi5lcnJvcjoiIixmfSl9KS50aGVuKGZ1bmN0aW9uKGYpe2lmKCFvJiZwMChhLmlkLGYpJiZ0eXBlb2YgaGU9PSJmdW5jdGlvbiIpe3ZhciBtPVlsKHQsSG4oKXx8YSksaD1hLnByb3ZpZGVyPT09ImNvZGV4Ij8iXHVGRjA4XHU0RTBCXHU2QjIxXHU1QkY5XHU4QkREXHU3NTFGXHU2NTQ4XHVGRjA5IjoiIjtoZSgiXHU1REYyXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCIFx1MjE5MiAiK20raCwic3VjY2VzcyIpfX0pLmNhdGNoKGZ1bmN0aW9uKGYpe2Mub2s9ITEsIW8mJmYmJmYubGF0ZXN0JiZHbChhLmlkLCJcdTUyMDdcdTYzNjJcdTZBMjFcdTU3OEJcdTU5MzFcdThEMjUiKX0pLG8pe3ZhciBkPVlsKHQsYSk7SEUoYSwib2ZmIiwiXHU1REYyXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCIFx1MjE5MiAiK2QrIlx1RkYxQlx1NjAxRFx1ODAwM1x1NkRGMVx1NUVBNlx1NURGMlx1NTZERVx1ODQzRFx1NEUzQVx1ODFFQVx1NTJBOCIsYyl9fX1mdW5jdGlvbiBCTihlKXt2YXIgdD1ZdShlcigpLChlfHwiZGVmYXVsdCIpLnRyaW0oKSk7cy5jaGF0TW9kZT10LHFpKCk7dmFyIGE9SG4oKTtpZighYXx8IWEuaWQpe2hlJiZoZSgiXHU2NUIwXHU0RjFBXHU4QkREXHU2QTIxXHU1RjBGXHVGRjFBIit0LCJpbmZvIik7cmV0dXJufUxmKGEuaWQsIm1vZGUiLHQpLGYwKGEuaWQsZnVuY3Rpb24oKXtyZXR1cm4gZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoYS5pZCkrIi9tb2RlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7bW9kZTp0fSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pfSkudGhlbihmdW5jdGlvbihpKXtpZihwMChhLmlkLGkpJiZ0eXBlb2YgaGU9PSJmdW5jdGlvbiIpe3ZhciBvPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihmKXtyZXR1cm4gZi5pZD09PWEuaWR9KXx8YSxjPW8ubW9kZXx8dDtzLmNoYXRNb2RlPVl1KG8ucHJvdmlkZXJ8fGVyKCksYykscWkoKTt2YXIgZD1hLnByb3ZpZGVyPT09ImNvZGV4Ij8iXHVGRjA4Q29kZXggXHU1NkZBXHU1QjlBXHU1MTY4XHU2NzQzXHU5NjUwXHVGRjA5IjoiIjtoZSgiXHU1REYyXHU1MjA3XHU2MzYyXHU2QTIxXHU1RjBGIFx1MjE5MiAiK2MrZCwic3VjY2VzcyIpfX0pLmNhdGNoKGZ1bmN0aW9uKGkpe2kmJmkubGF0ZXN0JiZHbChhLmlkLCJcdTUyMDdcdTYzNjJcdTZBMjFcdTVGMEZcdTU5MzFcdThEMjUiKX0pfWZ1bmN0aW9uIFZFKGUsdCxhLGkpe3ZhciBvPWFzKHMuc2Vzc2lvblRvb2wpLGM9cnMobyl8fFJFKG8pLGQ9cy5jaGF0VGhpbmtpbmd8fCJvZmYiLGY9bz09PSJjb2RleCI/ImNvZGV4LWNsaS1leGVjIjpvPT09Im9wZW5jb2RlIj8ib3BlbmNvZGUtY2xpLXJ1biI6bz09PSJncm9rIj8iZ3Jvay1jbGktaGVhZGxlc3MiOm89PT0icW9kZXIiPyJxb2Rlci1jbGktcHJpbnQiOnMuY29uZmlnJiZzLmNvbmZpZy5zdHJ1Y3R1cmVkUnVubmVyPT09InNkayI/ImNsYXVkZS1zZGsiOnMuc3RydWN0dXJlZFJ1bm5lcnx8ImNsYXVkZS1jbGktcHJpbnQiLG09e2N3ZDp0fHxxcigpLG1vZGU6YXx8cy5jaGF0TW9kZXx8cy5jb25maWcmJnMuY29uZmlnLmRlZmF1bHRNb2RlfHwiZGVmYXVsdCIscHJvdmlkZXI6byxydW5uZXI6Zixwcm9tcHQ6ZXx8dm9pZCAwLHdvcmt0cmVlRW5hYmxlZDppPT09ITAsbW9kZWw6Y3x8dm9pZCAwLHRoaW5raW5nRWZmb3J0OmQsc2Vzc2lvblNvdXJjZToiaW50ZXJhY3RpdmUifTtyZXR1cm4gZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkobSl9KS50aGVuKGZ1bmN0aW9uKGgpe3JldHVybiBoLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaCl7aWYoaC5lcnJvcil0aHJvdyBuZXcgRXJyb3IoaC5lcnJvcik7cmV0dXJuIHMuc2VsZWN0ZWRJZD1oLmlkLEd0KCkscy5kcmFmdHNbaC5pZF09IiIsU2EoKSxhdChoKSxEdCgpLExsKGguaWQpLEt1KGguaWQpLFBpKGguaWQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaH0pfSl9ZnVuY3Rpb24gYjAoKXt2YXIgZT1DdCgpLHQ9ISFzLnNlbGVjdGVkSWQsYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0IiksYz1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaCl7cmV0dXJuIGguaWQ9PT1zLnNlbGVjdGVkSWR9KSxkPXV0KGMpLGY9dCYmIWQmJnMuY3VycmVudFZpZXc9PT0idGVybWluYWwiLG09dCYmKGR8fHMuY3VycmVudFZpZXchPT0idGVybWluYWwiKTtkP3MuY3VycmVudFZpZXc9ImNoYXQiOnR8fChzLmN1cnJlbnRWaWV3PSJ0ZXJtaW5hbCIpLCFlJiZhJiYoYS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLGYpLGEuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhZikpLCFlJiZpJiYoaS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG0pLGkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhbSkpLCFlJiZvJiZvLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsdCksaSYmbSYmWmgoaSksS3MoKSxQbigpLEFmKCksQ2EoInNoZWxsOnZpZXciKX1mdW5jdGlvbiBhdChlKXtpZighKCFlfHwhZS5pZCkpe3ZhciB0PXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihmKXtyZXR1cm4gZi5pZD09PWUuaWR9KXx8bnVsbCxhPVNDKGUsdCk7aWYoQXJyYXkuaXNBcnJheShhLm1lc3NhZ2VzKSYmdHlwZW9mIGEubWVzc2FnZU9mZnNldD09Im51bWJlciIpe3ZhciBpPUVDKHQsYS5tZXNzYWdlcyxhLm1lc3NhZ2VPZmZzZXQsYS5tZXNzYWdlVG90YWwpO2EubWVzc2FnZXM9aS5tZXNzYWdlcyxhLm1lc3NhZ2VPZmZzZXQ9aS5tZXNzYWdlT2Zmc2V0LGEubWVzc2FnZVRvdGFsPWkubWVzc2FnZVRvdGFsfXZhciBvPSExLGM9bnVsbDtzLnNlc3Npb25zPXMuc2Vzc2lvbnMubWFwKGZ1bmN0aW9uKGYpe3JldHVybiBmLmlkIT09YS5pZD9mOihjPWYsbz0hMCxPYmplY3QuYXNzaWduKHt9LGYsYSkpfSksb3x8cy5zZXNzaW9ucy51bnNoaWZ0KGEpO3ZhciBkPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihmKXtyZXR1cm4gZi5pZD09PWEuaWR9KXx8YTtkJiZBcnJheS5pc0FycmF5KGQucXVldWVkTWVzc2FnZXMpJiZhLmlkPT09cy5zZWxlY3RlZElkJiYodGQoZCksWDUoKSxSaSgpKSxhLmlkPT09cy5zZWxlY3RlZElkJiYoengoKSx6cigpKSxhLnN0YXR1cyYmYS5zdGF0dXMhPT0icnVubmluZyImJnMuY3Jvc3NTZXNzaW9uUXVldWUubGVuZ3RoPjAmJnNldFRpbWVvdXQoRmYsMCl9fWZ1bmN0aW9uIEt1KGUpeyFlfHwhcy53c3x8cy53cy5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU58fHMud3Muc2VuZChKU09OLnN0cmluZ2lmeSh7dHlwZToic3Vic2NyaWJlIixzZXNzaW9uSWQ6ZX0pKX1mdW5jdGlvbiBrTihlLHQpe2lmKCFlKXJldHVybiB0O3ZhciBhPU9iamVjdC5hc3NpZ24oe30sZSx0KSxpPWUub3V0cHV0fHwiIixvPXQub3V0cHV0fHwiIixjPWkubGVuZ3RoPm8ubGVuZ3RoLGQ9ZS5zdHJ1Y3R1cmVkU3RhdGV8fG51bGwsZj10LnN0cnVjdHVyZWRTdGF0ZXx8bnVsbCxtPWUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fHQuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCIsaD0hIShlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aCYmKGZ1bmN0aW9uKCl7dmFyIHg9ZS5tZXNzYWdlc1tlLm1lc3NhZ2VzLmxlbmd0aC0xXTtyZXR1cm4geCYmeC5yb2xlPT09ImFzc2lzdGFudCImJkFycmF5LmlzQXJyYXkoeC5jb250ZW50KSYmeC5jb250ZW50LnNvbWUoZnVuY3Rpb24oRil7cmV0dXJuIEYmJkYuX19wcm9jZXNzaW5nfSl9KSgpKSxnPUFycmF5LmlzQXJyYXkoZS5tZXNzYWdlcyk/bT9YcyhlLm1lc3NhZ2VzKTplLm1lc3NhZ2VzOltdLGI9QXJyYXkuaXNBcnJheSh0Lm1lc3NhZ2VzKT9tP1hzKHQubWVzc2FnZXMpOnQubWVzc2FnZXM6W10seT1iLmxlbmd0aD4wJiYoZnVuY3Rpb24oKXt2YXIgeD1iW2IubGVuZ3RoLTFdO3JldHVybiB4JiZ4LnJvbGU9PT0iYXNzaXN0YW50IiYmQXJyYXkuaXNBcnJheSh4LmNvbnRlbnQpJiYheC5jb250ZW50LnNvbWUoZnVuY3Rpb24oRil7cmV0dXJuIEYmJkYuX19wcm9jZXNzaW5nfSl9KSgpLEM9ZS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIiYmISFkJiZkLmluRmxpZ2h0PT09ITAmJighZnx8Zi5pbkZsaWdodCE9PSEwKSYmaCYmISFkLmFjdGl2ZVJlcXVlc3RJZCYmISFmJiYhIWYuYWN0aXZlUmVxdWVzdElkJiZmLmFjdGl2ZVJlcXVlc3RJZD09PWQuYWN0aXZlUmVxdWVzdElkJiYheSx3PWcubGVuZ3RoPmIubGVuZ3RofHxnLmxlbmd0aD4wJiZiLmxlbmd0aD4wJiZKU09OLnN0cmluZ2lmeShnW2cubGVuZ3RoLTFdKSE9PUpTT04uc3RyaW5naWZ5KGJbYi5sZW5ndGgtMV0pJiZKU09OLnN0cmluZ2lmeShnKS5sZW5ndGg+SlNPTi5zdHJpbmdpZnkoYikubGVuZ3RoO3JldHVybiBjJiYoYS5vdXRwdXQ9aSksQyYmKGEuc3RhdHVzPWUuc3RhdHVzfHxhLnN0YXR1cyxhLnN0cnVjdHVyZWRTdGF0ZT1PYmplY3QuYXNzaWduKHt9LGZ8fHt9LGQse2luRmxpZ2h0OiEwfSksYS5tZXNzYWdlcz1lLm1lc3NhZ2VzKSx3JiYoYS5tZXNzYWdlcz1nKSxlLmlkPT09cy5zZWxlY3RlZElkJiYoZS5wZXJtaXNzaW9uQmxvY2tlZCYmdC5wZXJtaXNzaW9uQmxvY2tlZD09PSExfHxlLnBlcm1pc3Npb25CbG9ja2VkJiYhdC5wZXJtaXNzaW9uQmxvY2tlZCYmKGEucGVybWlzc2lvbkJsb2NrZWQ9ITApLGUucGVuZGluZ0VzY2FsYXRpb24mJiF0LnBlbmRpbmdFc2NhbGF0aW9uJiZ0LnBlcm1pc3Npb25CbG9ja2VkIT09ITEmJihhLnBlbmRpbmdFc2NhbGF0aW9uPWUucGVuZGluZ0VzY2FsYXRpb24pLGUubWVzc2FnZXMmJmUubWVzc2FnZXMubGVuZ3RoPjAmJighdC5tZXNzYWdlc3x8dC5tZXNzYWdlcy5sZW5ndGg9PT0wKSYmKGEubWVzc2FnZXM9ZS5tZXNzYWdlcykpLGF9ZnVuY3Rpb24gS24oZSx0LGEpe2lmKGUmJmUubWVzc2FnZXMmJmUubWVzc2FnZXMubGVuZ3RoPjApcmV0dXJuIGUubWVzc2FnZXM7aWYoZSYmZS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIilyZXR1cm5bXTtpZighYSlyZXR1cm5bXTt2YXIgaT10eXBlb2YgdD09InN0cmluZyI/dDplJiZlLm91dHB1dHx8IiI7cmV0dXJuIGk/Zl8oaSxlJiZlLmNvbW1hbmQpOltdfWZ1bmN0aW9uIFROKGUpe2lmKCFlfHwhZS5sZW5ndGgpcmV0dXJuIG51bGw7aWYocy5zZWxlY3RlZElkKXt2YXIgdD1lLmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uaWQ9PT1zLnNlbGVjdGVkSWR9KTtyZXR1cm4gdD90LmlkOm51bGx9dmFyIGE9ZS5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLnN0YXR1cz09PSJydW5uaW5nIn0pO2lmKGEpcmV0dXJuIGEuaWQ7dmFyIGk9ZS5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiFvLmFyY2hpdmVkfSk7cmV0dXJuIGk/aS5pZDplWzBdLmlkfWZ1bmN0aW9uIHdyKGUpe3ZhciB0PWV8fHt9O3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe2lmKGEuc3RhdHVzPT09NDAxKXtjMCgpO3JldHVybn1yZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe3ZhciBpPWF8fFtdLG89bmV3IFNldChpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi5pZH0pKTtPYmplY3Qua2V5cyhzLmRyYWZ0cykuZm9yRWFjaChmdW5jdGlvbihiKXtvLmhhcyhiKXx8ZGVsZXRlIHMuZHJhZnRzW2JdfSkscy5zZXNzaW9ucz1pLm1hcChmdW5jdGlvbihiKXt2YXIgeT1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oQyl7cmV0dXJuIEMuaWQ9PT1iLmlkfSk7cmV0dXJuIGtOKHksYil9KTt2YXIgYz1UTihzLnNlc3Npb25zKTtpZihjIT09dm9pZCAwJiYocy5zZWxlY3RlZElkPWMpLFo1KCksUmkoKSxzLmJvb3RzdHJhcHBpbmc9ITEsR3QoKSwhQ3QoKSl7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLWxpc3QiKSxmPXZoKCk7aWYoZCYmZC5pbm5lckhUTUw9PT1mKXt2YXIgbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1jb3VudCIpO20mJihtLnRleHRDb250ZW50PVN0cmluZyhzLnNlc3Npb25zLmxlbmd0aCkpfWVsc2V7ZCYmKGQuaW5uZXJIVE1MPWYscmMoZCkpO3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLWNvdW50Iik7bSYmKG0udGV4dENvbnRlbnQ9U3RyaW5nKHMuc2Vzc2lvbnMubGVuZ3RoKSl9fUpsKCkscy5zZWxlY3RlZElkJiZzLmdpdFN0YXR1c1Nlc3Npb25JZCE9PXMuc2VsZWN0ZWRJZCYmZmYocy5zZWxlY3RlZElkKTt2YXIgaD1Qcm9taXNlLnJlc29sdmUoKTtpZighdC5za2lwU2VsZWN0ZWRPdXRwdXRSZWxvYWQmJnMuc2VsZWN0ZWRJZCloPVBpKHMuc2VsZWN0ZWRJZCk7ZWxzZSBpZihzLnNlbGVjdGVkSWQpe3ZhciBnPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihiKXtyZXR1cm4gYi5pZD09PXMuc2VsZWN0ZWRJZH0pO3V0KGcpJiYoU2Eoe3ByZXNlcnZlU3RpY2tTdGF0ZTohMH0pLCRoKCEwKSl9cmV0dXJuIGgudGhlbihmdW5jdGlvbigpe3MuY3Jvc3NTZXNzaW9uUXVldWUubGVuZ3RoPjAmJkZmKCksSmEoKSxJaCgpfSl9KS5jYXRjaChmdW5jdGlvbihhKXt2YXIgaT1hJiZhLm1lc3NhZ2V8fCIiLG89aT09PSJGYWlsZWQgdG8gZmV0Y2gifHxpPT09Ik5ldHdvcmtFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gZmV0Y2ggcmVzb3VyY2UuInx8aT09PSJMb2FkIGZhaWxlZCJ8fC9hYm9ydGVkfGFib3J0ZXJyb3J8bmV0d29ya2Vycm9yfGZhaWxlZCB0byBmZXRjaC9pLnRlc3QoaSk7b3x8Y29uc29sZS5lcnJvcigiW3dhbmRdIGxvYWRTZXNzaW9ucyBmYWlsZWQ6IixhKX0pfXZhciB5MD1udWxsO2Z1bmN0aW9uIHcwKCl7eTB8fCh5MD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eTA9bnVsbCxEdCgpfSwyMDApKX1mdW5jdGlvbiBEdCgpe2lmKCFDdCgpKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtlJiYoZS5pbm5lckhUTUw9dmgoKSxyYyhlKSksdCYmKHQudGV4dENvbnRlbnQ9U3RyaW5nKHMuc2Vzc2lvbnMubGVuZ3RoKSl9Q2EoInNlc3Npb25zOnVwZGF0ZSIpLHR5cGVvZiBVcj09ImZ1bmN0aW9uIiYmVXIoKSxKbCgpLHMuY3Jvc3NTZXNzaW9uUXVldWUubGVuZ3RoPjAmJkphKCl9ZnVuY3Rpb24gSmwoKXt2YXIgZT1DdCgpLHQ9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4LmlkPT09cy5zZWxlY3RlZElkfSk7dHx8KGVzKCExKSxWaCgpLF9PKCkpO3ZhciBhPXQ/bnModC5jb21tYW5kKToiV2FuZCIsaT10P3dsKHQpOiJcdTVGMDBcdTU5Q0JcdTVCRjlcdThCREQiLG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnNlc3Npb24tc3VtbWFyeS12YWx1ZSIpLGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLXRpdGxlIiksZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtaW5mbyIpLGY9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnRvcGJhci1zZXNzaW9uLXRpdGxlLCAudG9wYmFyLXRhZ2xpbmUiKTshZSYmZiYmdCYmKGYuY2xhc3NMaXN0LnJlbW92ZSgidG9wYmFyLXRhZ2xpbmUiKSxmLmNsYXNzTGlzdC5hZGQoInRvcGJhci1zZXNzaW9uLXRpdGxlIiksZi50ZXh0Q29udGVudD10LnRpdGxlfHxucyh0LmNvbW1hbmQpLGYuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdC5kZXNjcmlwdGlvbnx8dC5jb21tYW5kfHwiIikpO3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0IiksaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IiksZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKSxiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO28mJm8udGV4dENvbnRlbnQhPT1hJiYoby50ZXh0Q29udGVudD1hKSxjJiZjLnRleHRDb250ZW50IT09YSYmKGMudGV4dENvbnRlbnQ9YSksZCYmKGQudGV4dENvbnRlbnQ9dD9pKyIgXHhCNyAiK2ZOKHQpOmkpO3ZhciB5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLWtpbmQtZGlzcGxheSIpLEM9dD9kTih0KToiXHU3RUM4XHU3QUVGIjt5JiZ5LnRleHRDb250ZW50IT09QyYmKHkudGV4dENvbnRlbnQ9QykscTYoKSwhcy50ZXJtaW5hbCYmaCYmdCYmIXV0KHQpJiZKbygpLHMudGVybWluYWwmJmgmJnQmJiF1dCh0KSYmIWguY29udGFpbnMocy50ZXJtaW5hbC5lbGVtZW50KSYmKEJsKCksSm8oKSksdHx8KHMudGVybWluYWxTZXNzaW9uSWQ9bnVsbCxzLnRlcm1pbmFsT3V0cHV0PSIiLHMudGVybWluYWxPdXRwdXRNYXJrZXI9MCkscy50ZXJtaW5hbCYmdCYmcy5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCImJkFhKCJ2aWV3Iik7dmFyIHc9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIik7dD8oIWUmJm0mJm0uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksIWUmJmgmJmguY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksIWUmJmcmJmcuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksIWUmJncmJncuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpOighZSYmbSYmbS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSwhZSYmaCYmaC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSwhZSYmZyYmZy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxiJiZiLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLCFlJiZ3JiZ3LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKSxkMCgpLHFmKEhuKCkpLGIwKCksengoKSxDYSgic2hlbGw6Y2hyb21lIil9dmFyIEdFPTA7ZnVuY3Rpb24gUGkoZSl7dmFyIHQ9KytHRTtzLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChzLmNoYXRSZW5kZXJUaW1lcikscy5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIGE9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09ZX0pLGk9Ii9hcGkvc2Vzc2lvbnMvIitlO3JldHVybiBwTihhKSYmKGkrPSI/Zm9ybWF0PWNoYXQiKSxmZXRjaChpLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gby5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG8pe2lmKCEodCE9PUdFfHxzLnNlbGVjdGVkSWQhPT1lKSl7aWYoby5lcnJvcil7cy5zZWxlY3RlZElkPT09ZSYmKHMuc2VsZWN0ZWRJZD1udWxsLEd0KCkpLHdyKCk7cmV0dXJufWlmKGF0KG8pLEpsKCkscy50ZXJtaW5hbCYmZT09PXMuc2VsZWN0ZWRJZCYmby5vdXRwdXQhPT12b2lkIDApe3ZhciBjPSEhcy53cyYmKHMud3MucmVhZHlTdGF0ZT09PVdlYlNvY2tldC5PUEVOfHxzLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuQ09OTkVDVElORyk7Yz96bigic2Vzc2lvbi1zd2l0Y2giKTood2YoZSxvLm91dHB1dCx7bW9kZToiYXBwZW5kIn0pLHpuKCJzZXNzaW9uLXN3aXRjaCIse2ZvcmNlUmVwbGF5OiEwfSkpfXZhciBkPXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihmKXtyZXR1cm4gZi5pZD09PWV9KTtzLmN1cnJlbnRNZXNzYWdlcz1PbihkLEtuKGQsby5vdXRwdXQsITEpKSxwbighMSl9fSl9dmFyIHgwPSExO2Z1bmN0aW9uIGpOKCl7aWYoeDApcmV0dXJuITE7dmFyIGU9cy5zZWxlY3RlZElkO2lmKCFlKXJldHVybiExO3ZhciB0PXMuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihkKXtyZXR1cm4gZC5pZD09PWV9KTtpZighdClyZXR1cm4hMTt2YXIgYT10eXBlb2YgdC5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIj90Lm1lc3NhZ2VPZmZzZXQ6MDtpZihhPD0wKXJldHVybiExO3ZhciBpPTQwLG89TWF0aC5tYXgoMCxhLWkpLGM9YS1vO3JldHVybiB4MD0hMCxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL21lc3NhZ2VzP29mZnNldD0iK28rIiZsaW1pdD0iK2Mse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGQpe3JldHVybiBkLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZCl7aWYoZCYmQXJyYXkuaXNBcnJheShkLm1lc3NhZ2VzKSYmdC5tZXNzYWdlT2Zmc2V0PT09YSl7dmFyIGY9QXJyYXkuaXNBcnJheSh0Lm1lc3NhZ2VzKT90Lm1lc3NhZ2VzOltdO3QubWVzc2FnZXM9ZC5tZXNzYWdlcy5jb25jYXQoZiksdC5tZXNzYWdlT2Zmc2V0PW8sdHlwZW9mIGQudG90YWw9PSJudW1iZXIiJiYodC5tZXNzYWdlVG90YWw9ZC50b3RhbCksZT09PXMuc2VsZWN0ZWRJZCYmKHMuY3VycmVudE1lc3NhZ2VzPU9uKHQsS24odCx0Lm91dHB1dCwhMSkpLHMuY2hhdFJlbmRlcmVkQ291bnQ9cy5jdXJyZW50TWVzc2FnZXMubGVuZ3RoLHBuKCEwKSl9fSkuY2F0Y2goZnVuY3Rpb24oKXt9KS5maW5hbGx5KGZ1bmN0aW9uKCl7eDA9ITF9KSwhMH1mdW5jdGlvbiB0cihlKXt2YXIgdD1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaWQ9PT1lfSk7aWYodCl7cy5zZWxlY3RlZElkIT09ZSYmQmwoKSxzLnNlbGVjdGVkSWQ9ZSxzLmNsYXVkZVNraWxsc1BpY2tlck9wZW49ITEsR3QoKSxzLnRvb2xDb250ZW50Q2FjaGU9e30scy5tZXNzYWdlUXVldWU9W10scy5wZW5kaW5nTWVzc2FnZXM9W10sdGQodCksWjUoKSxSaSgpLFNhKCkscy5jdXJyZW50TWVzc2FnZXM9W10scy5jaGF0UmVuZGVyVGltZXImJihjbGVhclRpbWVvdXQocy5jaGF0UmVuZGVyVGltZXIpLHMuY2hhdFJlbmRlclRpbWVyPW51bGwpO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzIik7YSYmYS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTt2YXIgaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3RydWN0dXJlZC1zdGF0dXMtYmFyIik7aSYmaS5yZW1vdmUoKSxzLl9zdGF0dXNCYXJUaW1lcklkJiYoY2xlYXJJbnRlcnZhbChzLl9zdGF0dXNCYXJUaW1lcklkKSxzLl9zdGF0dXNCYXJUaW1lcklkPW51bGwpLHMuX3N0YXR1c0JhclN0YXJ0VGltZT0wO3ZhciBvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO28mJm8uY2xhc3NMaXN0LnJlbW92ZSgiaW4tZmxpZ2h0Iik7dmFyIGM9dDtzLnByZWZlcnJlZENvbW1hbmQ9ZXIoKSxzLmNoYXRNb2RlPVl1KCJjbGF1ZGUiLGMmJmMubW9kZT9jLm1vZGU6cy5jaGF0TW9kZSkscy50ZXJtaW5hbEludGVyYWN0aXZlJiZjJiZjLnN0YXR1cyE9PSJydW5uaW5nIiYmZXMoITEpLER0KCksTGwoZSkscG4oITApLHMuZmlsZVBhbmVsT3BlbiYmKEJUKGMpLFhhKCkpLFBpKGUpLnRoZW4oZnVuY3Rpb24oKXticighMCl9KSxLdShlKSxfRSh0KSxzLmdpdFN0YXR1cz1udWxsLHMuZ2l0U3RhdHVzU2Vzc2lvbklkPW51bGwsbGgoKSxmZihlLHtmb3JjZTohMH0pfX1mdW5jdGlvbiBNTigpe3Muc2VsZWN0ZWRJZCYmKHMuc2VsZWN0ZWRJZD1udWxsLHMuY3VycmVudFRhc2s9bnVsbCxzLmN1cnJlbnRNZXNzYWdlcz1bXSxzLmdpdFN0YXR1cz1udWxsLHMuZ2l0U3RhdHVzU2Vzc2lvbklkPW51bGwsR3QoKSxTYSgpLG5yKCksRHQoKSl9ZnVuY3Rpb24gT04oKXtpZihDdCgpKXtDYSgibGF5b3V0OnBpbiIpO3JldHVybn12YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKSxhPUVuKCksaT0hIXMuc2lkZWJhclBpbm5lZCYmISFzLnNpZGViYXJDb2xsYXBzZWQsbz1pfHwhYSYmKCEhcy5zaWRlYmFyUGlubmVkfHwhIXMuc2Vzc2lvbnNEcmF3ZXJPcGVuKTtlJiYoZS5jbGFzc0xpc3QudG9nZ2xlKCJwaW5uZWQiLG8pLGUuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIixpKSksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1waW5uZWQiLG8pLHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1jb2xsYXBzZWQiLGkpKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1waW4tYnRuIik7YyYmKGMuY2xhc3NMaXN0LnRvZ2dsZSgicGlubmVkIiwhIXMuc2lkZWJhclBpbm5lZCksYy50aXRsZT1zLnNpZGViYXJQaW5uZWQ/Ilx1NURGMlx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3Qlx1RkYwOFx1NzBCOVx1NTFGQlx1ODlFM1x1OTY2NFx1OTUwMVx1NUI5QVx1RkYwOSI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIsYy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHMuc2lkZWJhclBpbm5lZD8iXHU4OUUzXHU5NjY0XHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCIjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIiksYy5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIscy5zaWRlYmFyUGlubmVkPyJ0cnVlIjoiZmFsc2UiKSl9ZnVuY3Rpb24gZWMoKXtpZihDdCgpKXtDYSgibGF5b3V0OmRyYXdlciIpO3JldHVybn12YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIiksYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtlJiZlLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLHMuc2Vzc2lvbnNEcmF3ZXJPcGVuKSx0JiZ0LmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLGM2KCkpLGEmJmEuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1vcGVuIixzLnNlc3Npb25zRHJhd2VyT3Blbik7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLXRvZ2dsZS1idXR0b24iKTtpJiZpLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIscy5zZXNzaW9uc0RyYXdlck9wZW4pLE9OKCl9ZnVuY3Rpb24gWUUoKXt2YXIgZT1FbigpO2lmKCFlKXt2YXIgdD1zLnNpZGViYXJQaW5uZWQ/ITE6IXMuc2Vzc2lvbnNEcmF3ZXJPcGVuO3Muc2Vzc2lvbnNEcmF3ZXJPcGVuPXQsdCYmKHMuc2lkZWJhckNvbGxhcHNlZD0hMSxUdCgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpKSxUdCgid2FuZC1zaWRlYmFyLW9wZW4iLHMuc2Vzc2lvbnNEcmF3ZXJPcGVuKSxNaSgpLHRjKCk7cmV0dXJufWlmKHMuc2Vzc2lvbnNEcmF3ZXJPcGVuPSFzLnNlc3Npb25zRHJhd2VyT3BlbixUdCgid2FuZC1zaWRlYmFyLW9wZW4iLHMuc2Vzc2lvbnNEcmF3ZXJPcGVuKSxzLnNlc3Npb25zRHJhd2VyT3Blbil7cy5maWxlUGFuZWxPcGVuPSExO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1maWxlLXBhbmVsLW9wZW4iLCJmYWxzZSIpfWNhdGNoe319TWkoKX1mdW5jdGlvbiBpcygpe3ZhciBlPUVuKCk7aWYoIWUpe2lmKCFzLnNpZGViYXJQaW5uZWQmJiFzLnNlc3Npb25zRHJhd2VyT3BlbilyZXR1cm47cWwoKSxzLnNpZGViYXJQaW5uZWQ9ITEscy5zZXNzaW9uc0RyYXdlck9wZW49ITEsVHQoIndhbmQtc2lkZWJhci1waW5uZWQiLCExKSxUdCgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxNaSgpLHRjKCk7cmV0dXJufXMuc2Vzc2lvbnNEcmF3ZXJPcGVuJiYocWwoKSxzLnNlc3Npb25zRHJhd2VyT3Blbj0hMSxUdCgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxNaSgpKX1mdW5jdGlvbiBfTigpe2lmKEVuKCkpe2lzKCk7cmV0dXJufXMuc2lkZWJhclBpbm5lZHx8cy5zaWRlYmFyQ29sbGFwc2VkfHwhcy5zZXNzaW9uc0RyYXdlck9wZW58fChxbCgpLHMuc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLFR0KCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLE1pKCksdGMoKSl9ZnVuY3Rpb24gV0UoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKTtzLnBsdXNQb3BvdmVyT3Blbj0hIWUsdCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFlKSxhJiYoYS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhZSksYS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGU/InRydWUiOiJmYWxzZSIpKX1mdW5jdGlvbiBOTigpe1dFKCFzLnBsdXNQb3BvdmVyT3Blbil9ZnVuY3Rpb24gVWYoKXtzLnBsdXNQb3BvdmVyT3BlbiYmV0UoITEpfWZ1bmN0aW9uIG5yKCl7RW4oKSYmcy5zZXNzaW9uc0RyYXdlck9wZW4mJmlzKCl9ZnVuY3Rpb24gdGMoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtpZihlKXt2YXIgdD1mdW5jdGlvbihhKXthLnByb3BlcnR5TmFtZT09PSJwYWRkaW5nLWxlZnQiJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0KSxIcighMCkpfTtlLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLHQpfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtIcighMCl9LDM1MCl9dmFyIHhyPW51bGw7ZnVuY3Rpb24gUk4oKXtyZXR1cm4geHImJmRvY3VtZW50LmJvZHkuY29udGFpbnMoeHIpfHwoeHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikseHIuY2xhc3NOYW1lPSJzaWRlYmFyLXRpbGUtYnViYmxlIix4ci5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sdGlwIiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh4cikpLHhyfWZ1bmN0aW9uIFVyKCl7eHImJnhyLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX1mdW5jdGlvbiBJTihlLHQpe2lmKCF0KXtVcigpO3JldHVybn12YXIgYT1STigpO2EudGV4dENvbnRlbnQ9dC5sZW5ndGg+NDAwP3Quc2xpY2UoMCw0MDApKyJcdTIwMjYiOnQ7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKTt2YXIgbz1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGM9aS50b3AraS5oZWlnaHQvMixkPWMtby5oZWlnaHQvMixmPTgsbT13aW5kb3cuaW5uZXJIZWlnaHQtby5oZWlnaHQtODtkPGYmJihkPWYpLGQ+bSYmKGQ9TWF0aC5tYXgoZixtKSksYS5zdHlsZS5sZWZ0PWkucmlnaHQrMTIrInB4IixhLnN0eWxlLnRvcD1kKyJweCIsYS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1idWJibGUtdGFpbC15IixjLWQrInB4Iil9ZnVuY3Rpb24gTE4oZSl7aWYoZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7dmFyIHQ9cy5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZH0pO2lmKCF0KXJldHVybiIiO3ZhciBhPXpUKHQpO3JldHVybiBhfHx0LnN1bW1hcnl8fHQuY29tbWFuZHx8IiJ9aWYoZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZCl7dmFyIGk9cy5jbGF1ZGVIaXN0b3J5LmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uY2xhdWRlU2Vzc2lvbklkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZH0pO2lmKGkmJmkuZmlyc3RVc2VyTWVzc2FnZSlyZXR1cm4gaS5maXJzdFVzZXJNZXNzYWdlfXJldHVybiIifWZ1bmN0aW9uIHpOKGUpe3ZhciB0PWUudGFyZ2V0O2lmKCEoIXR8fCEodCBpbnN0YW5jZW9mIEVsZW1lbnQpKSl7dmFyIGE9dC5jbG9zZXN0KCIuc2lkZWJhci1jb2xsYXBzZWQtdGlsZSIpO2lmKCFhKXtVcigpO3JldHVybn12YXIgaT1MTihhKTtpZighaSl7VXIoKTtyZXR1cm59SU4oYSxpKX19ZnVuY3Rpb24gSE4oZSl7dmFyIHQ9ZS5yZWxhdGVkVGFyZ2V0O3QmJnQgaW5zdGFuY2VvZiBFbGVtZW50JiZ0LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIil8fFVyKCl9ZnVuY3Rpb24gRTAoKXt2YXIgZT1FbigpO3Muc2lkZWJhclBpbm5lZHx8KHMuc2lkZWJhclBpbm5lZD0hMCxUdCgid2FuZC1zaWRlYmFyLXBpbm5lZCIsITApKSxzLnNpZGViYXJDb2xsYXBzZWQ9IXMuc2lkZWJhckNvbGxhcHNlZCxUdCgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIscy5zaWRlYmFyQ29sbGFwc2VkKSxzLnNpZGViYXJDb2xsYXBzZWQ/cy5zZXNzaW9uc0RyYXdlck9wZW49ITE6ZT8ocy5zaWRlYmFyUGlubmVkPSExLHMuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLFR0KCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMSkpOnMuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLFR0KCJ3YW5kLXNpZGViYXItb3BlbiIscy5zZXNzaW9uc0RyYXdlck9wZW4pLE1pKCksRHQoKSxxTigpLFVyKCksdGMoKX1mdW5jdGlvbiBLRSgpe0VuKCl8fChzLnNpZGViYXJQaW5uZWQ9IXMuc2lkZWJhclBpbm5lZCxzLnNlc3Npb25zRHJhd2VyT3Blbj0hMCxUdCgid2FuZC1zaWRlYmFyLXBpbm5lZCIscy5zaWRlYmFyUGlubmVkKSxUdCgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSxNaSgpLHRjKCkpfWZ1bmN0aW9uIHFOKCl7aWYoQ3QoKSl7Q2EoImxheW91dDpjb2xsYXBzZS1idXR0b24iKTtyZXR1cm59dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItY29sbGFwc2UtYnRuIik7aWYoZSl7dmFyIHQ9ISFzLnNpZGViYXJQaW5uZWQmJiEhcy5zaWRlYmFyQ29sbGFwc2VkO2UuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIix0KSxlLnRpdGxlPXQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIpLGUuaW5uZXJIVE1MPXQ/Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iMTAgNiAxNiAxMiAxMCAxOCIvPjxsaW5lIHgxPSIyMCIgeTE9IjUiIHgyPSIyMCIgeTI9IjE5Ii8+PC9zdmc+JzonPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxNCA2IDggMTIgMTQgMTgiLz48bGluZSB4MT0iNCIgeTE9IjUiIHgyPSI0IiB5Mj0iMTkiLz48L3N2Zz4nfX1mdW5jdGlvbiBQTihlKXtpZihlKXtlLnN0eWxlLmxlZnQ9IiIsZS5zdHlsZS5yaWdodD0iIjt2YXIgdD1lLm9mZnNldFBhcmVudHx8ZS5wYXJlbnRFbGVtZW50O2lmKHQpe3ZhciBhPTgsaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxjPXdpbmRvdy5pbm5lcldpZHRoO28ubGVmdDxhPyhlLnN0eWxlLnJpZ2h0PSJhdXRvIixlLnN0eWxlLmxlZnQ9YS1pLmxlZnQrInB4Iik6by5yaWdodD5jLWEmJihlLnN0eWxlLmxlZnQ9ImF1dG8iLGUuc3R5bGUucmlnaHQ9aS5yaWdodC0oYy1hKSsicHgiKX19fWZ1bmN0aW9uIFVpKGUpe3JldHVybiFlPy5pc09wZW4oKXx8ZS5jbG9zZUlmT3BlbigpfWZ1bmN0aW9uIFFFKCl7aWYoISghVWkobG4pfHwhVWkoTG4pfHwhVWkoZG4pfHwhVWkod2luZG93Ll9fd2FuZFJlYWN0U2V0dGluZ3MpKSl7dmFyIGU9d2luZG93Ll9fd2FuZFJlYWN0TmV3U2Vzc2lvbjtpZihlJiZ0eXBlb2YgZS5vcGVuPT0iZnVuY3Rpb24iKXRyeXtpZihlLm9wZW4oKSlyZXR1cm59Y2F0Y2goYSl7Y29uc29sZS53YXJuKCJbd2FuZF0gUmVhY3QgbmV3LXNlc3Npb24gaG9zdCB1bmF2YWlsYWJsZSIsYSl9dHJ5e3ZhciB0PW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLnNlYXJjaFBhcmFtcy5nZXQoInJlYWN0VWkiKT09PSIwIjtpZih0KXtoZSgiXHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU3NTRDXHU5NzYyXHU1REYyXHU4OEFCID9yZWFjdFVpPTAgXHU3OTgxXHU3NTI4XHVGRjFCXHU3OUZCXHU5NjY0XHU4QkU1XHU1M0MyXHU2NTcwXHU1RTc2XHU1MjM3XHU2NUIwXHU1NDBFXHU1MzczXHU1M0VGXHU0RjdGXHU3NTI4XHUzMDAyIiwiZXJyb3IiKTtyZXR1cm59aWYod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLnJlYWN0VWkuZW5hYmxlZCIpPT09ImZhbHNlIil7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLnJlYWN0VWkuZW5hYmxlZCIsInRydWUiKSxoZSgiXHU2QjYzXHU1NzI4XHU1NDJGXHU3NTI4XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU3NTRDXHU5NzYyXHUyMDI2IiwiaW5mbyIpLHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSwxMjApO3JldHVybn19Y2F0Y2h7fWhlKCJcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTc1NENcdTk3NjJcdTY3MkFcdTgwRkRcdTU0MkZcdTUyQThcdUZGMENcdThCRjdcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDIiLCJlcnJvciIpfX1mdW5jdGlvbiBWZigpe2JsKFFFKSYmUUUoKX1mdW5jdGlvbiBVTigpe3ZhciBlPXdpbmRvdy5fX3dhbmRSZWFjdE5ld1Nlc3Npb247aWYoZSYmdHlwZW9mIGUuY2xvc2VJZk9wZW49PSJmdW5jdGlvbiIpdHJ5e2lmKGUuY2xvc2VJZk9wZW4oKSlyZXR1cm59Y2F0Y2h7fX1mdW5jdGlvbiBGMChlKXtFRShlLCJtZXJnZSIpfWZ1bmN0aW9uIFZOKCl7cmV0dXJuIGlOKCl9ZnVuY3Rpb24gQzAoZSl7RUUoZSwiY2xlYW51cCIpfWZ1bmN0aW9uIFhFKCl7aWYoISghVWkobG4pfHwhVWkoTG4pfHwhVWkoZG4pfHwhVWkod2luZG93Ll9fd2FuZFJlYWN0TmV3U2Vzc2lvbikpKXt2YXIgZT13aW5kb3cuX193YW5kUmVhY3RTZXR0aW5ncztpZihlJiZ0eXBlb2YgZS5vcGVuPT0iZnVuY3Rpb24iKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYnV0dG9uIik7dCYmdC5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGUub3BlbigiZ2VuZXJhbCIpO3JldHVybn10cnl7dmFyIGE9bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikuc2VhcmNoUGFyYW1zLmdldCgicmVhY3RVaSIpPT09IjAiO2lmKGEpe2hlKCJcdThCQkVcdTdGNkVcdTc1NENcdTk3NjJcdTVERjJcdTg4QUIgP3JlYWN0VWk9MCBcdTc5ODFcdTc1MjhcdUZGMUJcdTc5RkJcdTk2NjRcdThCRTVcdTUzQzJcdTY1NzBcdTVFNzZcdTUyMzdcdTY1QjBcdTU0MEVcdTUzNzNcdTUzRUZcdTRGN0ZcdTc1MjhcdTMwMDIiLCJlcnJvciIpO3JldHVybn1pZih3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQucmVhY3RVaS5lbmFibGVkIik9PT0iZmFsc2UiKXt3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQucmVhY3RVaS5lbmFibGVkIiwidHJ1ZSIpLGhlKCJcdTZCNjNcdTU3MjhcdTU0MkZcdTc1MjhcdThCQkVcdTdGNkVcdTc1NENcdTk3NjJcdTIwMjYiLCJpbmZvIiksd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24ucmVsb2FkKCl9LDEyMCk7cmV0dXJufX1jYXRjaHt9aGUoIlx1OEJCRVx1N0Y2RVx1NzU0Q1x1OTc2Mlx1NjcyQVx1ODBGRFx1NTQyRlx1NTJBOFx1RkYwQ1x1OEJGN1x1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mlx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMiIsImVycm9yIil9fWZ1bmN0aW9uICRFKCl7YmwoWEUpJiZYRSgpfWZ1bmN0aW9uIFpFKCl7dmFyIGU9d2luZG93Ll9fd2FuZFJlYWN0U2V0dGluZ3M7ZSYmdHlwZW9mIGUuY2xvc2VJZk9wZW49PSJmdW5jdGlvbiImJmUuY2xvc2VJZk9wZW4oKX1mdW5jdGlvbiBHZihlLHQsYSl7aWYoIWUpcmV0dXJuO2Z1bmN0aW9uIGkoKXtpZihObCgibGlnaHQiKSxhKXthKCk7cmV0dXJufWlmKHQpe3ZhciBvPXQudGV4dENvbnRlbnQ7dC50ZXh0Q29udGVudD0iXHU1REYyXHU1OTBEXHU1MjM2IixzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC50ZXh0Q29udGVudD1vfSwxNTAwKX19aWYoTmkmJnR5cGVvZiBXYW5kTmF0aXZlLmNvcHlUb0NsaXBib2FyZD09ImZ1bmN0aW9uIil0cnl7aWYoV2FuZE5hdGl2ZS5jb3B5VG9DbGlwYm9hcmQoZSk9PT0ib2siKXtpKCk7cmV0dXJufX1jYXRjaHt9bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZSkudGhlbihpKS5jYXRjaChmdW5jdGlvbigpe3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7by52YWx1ZT1lLG8uc3R5bGUucG9zaXRpb249ImZpeGVkIixvLnN0eWxlLm9wYWNpdHk9IjAiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobyksby5zZWxlY3QoKSxkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobyksaSgpfSl9ZnVuY3Rpb24gR04oKXtmZXRjaCgiL2FwaS9hdXRvLXVwZGF0ZSIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7aWYoZS5hcGspcmV0dXJuIGZldGNoKCIvYXBpL2FuZHJvaWQtYXBrLXVwZGF0ZT9jdXJyZW50VmVyc2lvbj0iK2VuY29kZVVSSUNvbXBvbmVudCh2eCkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoISghdC51cGRhdGVBdmFpbGFibGV8fCF0LmRvd25sb2FkVXJsKSl0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZSh0LmRvd25sb2FkVXJsLHQuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5hcGsiLHQuc291cmNlfHwibG9jYWwiKX1jYXRjaHt9fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIFlOKCl7UmgmJmZldGNoKCIvYXBpL2F1dG8tdXBkYXRlIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlLmRtZylyZXR1cm4gZmV0Y2goIi9hcGkvbWFjb3MtZG1nLXVwZGF0ZT9jdXJyZW50VmVyc2lvbj0iK2VuY29kZVVSSUNvbXBvbmVudChSaCkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoISghdC51cGRhdGVBdmFpbGFibGV8fCF0LmRvd25sb2FkVXJsKSl0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZSh0LmRvd25sb2FkVXJsLHQuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5kbWciLHQuc291cmNlfHwibG9jYWwiKX1jYXRjaHt9fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIFZpKGUpe2lmKCFlfHx0eXBlb2YgZSE9Im9iamVjdCJ8fCFzLnRlcm1pbmFsKXJldHVybiBlO3RyeXt0eXBlb2Ygcy50ZXJtaW5hbC5yZW1lYXN1cmU9PSJmdW5jdGlvbiImJnMudGVybWluYWwucmVtZWFzdXJlKCl9Y2F0Y2h7fXZhciB0PXMudGVybWluYWwuY29scyxhPXMudGVybWluYWwucm93cztyZXR1cm4gdHlwZW9mIHQ9PSJudW1iZXIiJiZ0eXBlb2YgYT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZSh0KSYmTnVtYmVyLmlzRmluaXRlKGEpJiZ0PjAmJmE+MCYmKGUuY29scz10LGUucm93cz1hKSxlfWZ1bmN0aW9uIEpFKCl7cmV0dXJuIHMudGVybWluYWwmJnMudGVybWluYWwuY29scz9Qcm9taXNlLnJlc29sdmUoKTpuZXcgUHJvbWlzZShmdW5jdGlvbihlKXt2YXIgdD0hMSxhPWZ1bmN0aW9uKCl7dHx8KHQ9ITAsZSgpKX0saT1zZXRUaW1lb3V0KGEsMmUzKTt0cnl7Sm8oKX1jYXRjaHt9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cy50ZXJtaW5hbCYmcy50ZXJtaW5hbC5jb2xzJiYoY2xlYXJUaW1lb3V0KGkpLGEoKSl9KX0pfSl9ZnVuY3Rpb24gWWYoKXt2YXIgZT1lcigpLHQ9ZT09PSJxb2RlciI/InFvZGVyY2xpIjplLGE9cXIoKSxpPVl1KGUscy5jb25maWcmJnMuY29uZmlnLmRlZmF1bHRNb2RlP3MuY29uZmlnLmRlZmF1bHRNb2RlOiJkZWZhdWx0Iik7cmV0dXJuIHMucHJlZmVycmVkQ29tbWFuZD1lLHMuY2hhdE1vZGU9WXUoZSxzLmNoYXRNb2RlKSxKRSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KFZpKHtjb21tYW5kOnQscHJvdmlkZXI6ZSxjd2Q6YSxtb2RlOmksc2Vzc2lvblNvdXJjZToiaW50ZXJhY3RpdmUifSkpfSl9KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiBvLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obyl7aWYoby5lcnJvcil7aGUoby5lcnJvciwiZXJyb3IiKTtyZXR1cm59cmV0dXJuIHMuc2VsZWN0ZWRJZD1vLmlkLEd0KCkscy5kcmFmdHNbby5pZF09IiIsU2EoKSxIaSgpfSkudGhlbihmdW5jdGlvbigpe2JyKCEwKX0pLmNhdGNoKGZ1bmN0aW9uKCl7aGUoIlx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIil9KX1mdW5jdGlvbiBXTihlKXtpZighZS5pc0NvbXBvc2luZyl7aWYoTngoZSkpe0doKGUpO3JldHVybn1pZihlLmtleT09PSJFbnRlciIpe2lmKGUuc2hpZnRLZXkpe2UucHJldmVudERlZmF1bHQoKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aWYodCl7dmFyIGE9dC5zZWxlY3Rpb25TdGFydHx8MCxpPXQudmFsdWUsbz1pLnNsaWNlKDAsYSkrYApgK2kuc2xpY2UoYSk7dC52YWx1ZT1vLHQuc2VsZWN0aW9uU3RhcnQ9YSsxLHQuc2VsZWN0aW9uRW5kPWErMSxRbihvLCEwKSxsYSh0KX1yZXR1cm59ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBjPSEhKGUubWV0YUtleXx8ZS5jdHJsS2V5KTtTeChjP3tpbnRlcnJ1cHQ6ITB9OnZvaWQgMCk7cmV0dXJufWlmKGUua2V5PT09IkJhY2tzcGFjZSIpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgeD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7eCYmUW4oeC52YWx1ZSwhMCl9LDApO3JldHVybn1pZihlLmtleT09PSJUYWIiKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKHQpe3ZhciBhPXQuc2VsZWN0aW9uU3RhcnR8fDAsaT10LnZhbHVlLG89aS5zbGljZSgwLGEpKyIJIitpLnNsaWNlKGEpO3QudmFsdWU9byxRbihvLCEwKX1yZXR1cm59aWYoZS5rZXk9PT0iRXNjYXBlIil7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBkPUhuKCk7dXQoZCk/ZCYmZC5zdHJ1Y3R1cmVkU3RhdGUmJmQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZZaCgpOmdyKHpsKCJlc2NhcGUiKSwiZXNjYXBlIik7cmV0dXJufWlmKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0iYyIpe3ZhciBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxtPWYmJmYuc2VsZWN0aW9uU3RhcnQhPT1mLnNlbGVjdGlvbkVuZHx8U2YoKTtpZihtKXJldHVybjt2YXIgaD1IbigpO2lmKHV0KGgpKXtlLnByZXZlbnREZWZhdWx0KCksaCYmaC5zdHJ1Y3R1cmVkU3RhdGUmJmguc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZZaCgpO3JldHVybn1lLnByZXZlbnREZWZhdWx0KCksZ3IoemwoImN0cmxfYyIpLCJjdHJsX2MiKTtyZXR1cm59aWYoKGUubWV0YUtleXx8ZS5jdHJsS2V5KSYmZS5rZXkudG9Mb3dlckNhc2UoKT09PSJkIil7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLGI9ZyYmZy5zZWxlY3Rpb25TdGFydCE9PWcuc2VsZWN0aW9uRW5kfHxTZigpO2lmKGIpcmV0dXJuO3ZhciB5PUhuKCk7aWYodXQoeSkpe2UucHJldmVudERlZmF1bHQoKTtyZXR1cm59ZS5wcmV2ZW50RGVmYXVsdCgpLGdyKHpsKCJjdHJsX2QiKSwiY3RybF9kIik7cmV0dXJufWlmKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0ibCIpe2UucHJldmVudERlZmF1bHQoKTt2YXIgQz1IbigpO2lmKHV0KEMpKXJldHVybjtncih6bCgiY3RybF9sIiksImN0cmxfbCIpO3JldHVybn1pZighKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0iYSIpJiYhKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0idiIpKXtpZigoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09IngiKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iiksdz10JiZ0LnNlbGVjdGlvblN0YXJ0IT09dC5zZWxlY3Rpb25FbmQ7aWYodylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGdyKCIYIiwiY3RybF94Iik7cmV0dXJufWUua2V5Lmxlbmd0aD09PTEmJiFlLmN0cmxLZXkmJiFlLm1ldGFLZXkmJiFlLmFsdEtleSYmc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciB4PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTt4JiZRbih4LnZhbHVlKX0sMCl9fX12YXIgS049MTAqMTAyNCoxMDI0O2Z1bmN0aW9uIFFOKGUpe3JldHVybiBlPDEwMjQ/ZSsiIEIiOmU8MTAyNCoxMDI0PyhlLzEwMjQpLnRvRml4ZWQoMSkrIiBLQiI6KGUvKDEwMjQqMTAyNCkpLnRvRml4ZWQoMSkrIiBNQiJ9ZnVuY3Rpb24gWE4oZSl7cmV0dXJuL15pbWFnZVwvKHBuZ3xqcGU/Z3xnaWZ8d2VicHxibXB8c3ZnXCt4bWwpLy50ZXN0KGUpfWZ1bmN0aW9uIEQwKGUpe2lmKGUpe2lmKGUuc2l6ZT5LTil7aGUoIlx1NjU4N1x1NEVGNlx1OEZDN1x1NTkyN1x1RkYwOFx1NEUwQVx1OTY1MCAxMCBNQlx1RkYwOTogIitlLm5hbWUsImVycm9yIik7cmV0dXJufXZhciB0PXtmaWxlOmUsbmFtZTplLm5hbWUsc2l6ZTplLnNpemUscHJldmlld1VybDpudWxsfTtYTihlLnR5cGUpJiYodC5wcmV2aWV3VXJsPVVSTC5jcmVhdGVPYmplY3RVUkwoZSkpLHMucGVuZGluZ0F0dGFjaG1lbnRzLnB1c2godCksQTAoKX19ZnVuY3Rpb24gJE4oZSl7dmFyIHQ9cy5wZW5kaW5nQXR0YWNobWVudHMuc3BsaWNlKGUsMSk7dC5sZW5ndGgmJnRbMF0ucHJldmlld1VybCYmVVJMLnJldm9rZU9iamVjdFVSTCh0WzBdLnByZXZpZXdVcmwpLEEwKCl9ZnVuY3Rpb24gWk4oKXtzLnBlbmRpbmdBdHRhY2htZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucHJldmlld1VybCYmVVJMLnJldm9rZU9iamVjdFVSTChlLnByZXZpZXdVcmwpfSkscy5wZW5kaW5nQXR0YWNobWVudHM9W10sQTAoKX1mdW5jdGlvbiBBMCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdHRhY2htZW50LXByZXZpZXciKTtpZihlKXt2YXIgdD1zLnBlbmRpbmdBdHRhY2htZW50cztpZih0Lmxlbmd0aD09PTApe2UuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS5pbm5lckhUTUw9IiI7cmV0dXJufWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7Zm9yKHZhciBhPSIiLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXSxjPW8ucHJldmlld1VybD8nPGltZyBzcmM9IicrTChvLnByZXZpZXdVcmwpKyciIGFsdD0iIj4nOic8c3BhbiBjbGFzcz0iYXR0LWljb24iPicraXQoImZpbGUiLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuN30pKyI8L3NwYW4+IjthKz0nPHNwYW4gY2xhc3M9ImF0dGFjaG1lbnQtcGlsbCIgZGF0YS1pbmRleD0iJytpKyciPicrYysnPHNwYW4gY2xhc3M9ImF0dC1uYW1lIiB0aXRsZT0iJytMKG8ubmFtZSkrJyI+JytMKG8ubmFtZSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXR0LXNpemUiPicrUU4oby5zaXplKSsnPC9zcGFuPjxidXR0b24gY2xhc3M9ImF0dC1yZW1vdmUiIGRhdGEtaW5kZXg9IicraSsnIiB0aXRsZT0iXHU3OUZCXHU5NjY0Ij5ceEQ3PC9idXR0b24+PC9zcGFuPid9ZS5pbm5lckhUTUw9YSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5hdHQtcmVtb3ZlIikuZm9yRWFjaChmdW5jdGlvbihkKXtkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihmKXtmLnByZXZlbnREZWZhdWx0KCksZi5zdG9wUHJvcGFnYXRpb24oKSwkTihwYXJzZUludChkLmdldEF0dHJpYnV0ZSgiZGF0YS1pbmRleCIpLDEwKSl9KX0pfX1mdW5jdGlvbiBKTihlKXtpZighcy5wZW5kaW5nQXR0YWNobWVudHMubGVuZ3RoKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO3ZhciB0PW5ldyBGb3JtRGF0YTtyZXR1cm4gcy5wZW5kaW5nQXR0YWNobWVudHMuZm9yRWFjaChmdW5jdGlvbihhKXt0LmFwcGVuZCgiZmlsZXMiLGEuZmlsZSxhLm5hbWUpfSksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi91cGxvYWQiLHttZXRob2Q6IlBPU1QiLGJvZHk6dCxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5vaz9hLmpzb24oKTphLmpzb24oKS50aGVuKGZ1bmN0aW9uKGkpe3Rocm93IG5ldyBFcnJvcihpLmVycm9yfHwiXHU0RTBBXHU0RjIwXHU1OTMxXHU4RDI1Iil9KX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuZmlsZXN8fFtdfSl9ZnVuY3Rpb24gZVIoZSl7aWYoIWV8fCFlLmxlbmd0aClyZXR1cm4iIjt2YXIgdD1lLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYS5zYXZlZFBhdGh9KTtyZXR1cm5gW1x1OTY0NFx1NEVGNlx1NURGMlx1NEUwQVx1NEYyMFx1RkYwQ1x1OEJGN1x1NjdFNVx1NzcwQlx1NEVFNVx1NEUwQlx1NjU4N1x1NEVGNjoKYCt0LmpvaW4oYApgKStgXQoKYH1mdW5jdGlvbiBlMihlKXtpZighcy50ZXJtaW5hbEludGVyYWN0aXZlfHwhZXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCIpKXJldHVybiExO3ZhciB0PWUudmFsdWV8fCIiO3JldHVybiB0Pyhncih0LCJpbnRlcmFjdGl2ZV90ZXh0IikuY2F0Y2goZnVuY3Rpb24oKXt9KSxlLnZhbHVlPSIiLGxhKGUpLFFuKCIiLCEwKSwhMCk6ITF9ZnVuY3Rpb24gdFIoZSl7dmFyIHQ9ZS5jbGlwYm9hcmREYXRhJiZlLmNsaXBib2FyZERhdGEuaXRlbXM7aWYodCYmIXMudGVybWluYWxJbnRlcmFjdGl2ZSl7Zm9yKHZhciBhPTA7YTx0Lmxlbmd0aDthKyspaWYodFthXS50eXBlLmluZGV4T2YoImltYWdlLyIpPT09MCl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBpPXRbYV0uZ2V0QXNGaWxlKCk7aSYmRDAoaSk7cmV0dXJufX12YXIgbz1lLmNsaXBib2FyZERhdGEmJmUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0Iik7aWYobyl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLHMudGVybWluYWxJbnRlcmFjdGl2ZSl7Z3IobywicGFzdGUiKS5jYXRjaChmdW5jdGlvbigpe30pO3JldHVybn12YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aWYoYyl7dmFyIGQ9Yy5zZWxlY3Rpb25TdGFydHx8MCxmPWMuc2VsZWN0aW9uRW5kfHwwLG09Yy52YWx1ZSxoPW0uc2xpY2UoMCxkKStvK20uc2xpY2UoZik7Yy52YWx1ZT1oLFFuKGgpfX19ZnVuY3Rpb24gUW4oZSx0KXtpZihzLnNlbGVjdGVkSWQpe3MuZHJhZnRzW3Muc2VsZWN0ZWRJZF09ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtZHJhZnQtIitzLnNlbGVjdGVkSWQsZSl9Y2F0Y2h7fWlmKCF0KXt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7YSYmKGEudmFsdWU9ZSl9fX12YXIgUzA9ITE7ZnVuY3Rpb24gblIoKXtpZighUzApe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcm9tcHQtb3B0aW1pemUtYnRuIiksYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTtpZihlKXt2YXIgaT0oZS52YWx1ZXx8IiIpLnRyaW0oKTtpZighaSl7dHlwZW9mIGhlPT0iZnVuY3Rpb24iJiZoZSgiXHU4QkY3XHU1MTQ4XHU4RjkzXHU1MTY1XHU4OTgxXHU0RjE4XHU1MzE2XHU3Njg0XHU1MTg1XHU1QkI5XHUzMDAyIiwiaW5mbyIpLGUuZm9jdXMoKTtyZXR1cm59UzA9ITAsdCYmKHQuY2xhc3NMaXN0LmFkZCgiaXMtbG9hZGluZyIpLHQuZGlzYWJsZWQ9ITAsdC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2QjYzXHU1NzI4XHU0RjE4XHU1MzE2XHUyMDI2IikpLGEmJmEuY2xhc3NMaXN0LmFkZCgiaXMtb3B0aW1pemluZyIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLWJ1c3kiLCJ0cnVlIik7dmFyIG89ZS5yZWFkT25seTtlLnJlYWRPbmx5PSEwO3ZhciBjPXt0ZXh0Oml9O3MmJnMuc2VsZWN0ZWRJZCYmKGMuc2Vzc2lvbklkPXMuc2VsZWN0ZWRJZCksZmV0Y2goIi9hcGkvb3B0aW1pemUtcHJvbXB0Iix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeShjKX0pLnRoZW4oZnVuY3Rpb24oZCl7cmV0dXJuIGQuanNvbigpLnRoZW4oZnVuY3Rpb24oZil7cmV0dXJue29rOmQub2ssZGF0YTpmfX0pfSkudGhlbihmdW5jdGlvbihkKXtpZighZC5vayl0aHJvdyBuZXcgRXJyb3IoZC5kYXRhJiZkLmRhdGEuZXJyb3J8fCJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdTU5MzFcdThEMjVcdTMwMDIiKTt2YXIgZj1kLmRhdGEmJmQuZGF0YS5vcHRpbWl6ZWR8fCIiO2lmKCFmKXRocm93IG5ldyBFcnJvcigiQ2xhdWRlIFx1OEZENFx1NTZERVx1NEUzQVx1N0E3QVx1MzAwMiIpO2FSKGUsZil9KS5jYXRjaChmdW5jdGlvbihkKXt0eXBlb2YgaGU9PSJmdW5jdGlvbiImJmhlKGQmJmQubWVzc2FnZXx8Ilx1NjNEMFx1NzkzQVx1OEJDRFx1NEYxOFx1NTMxNlx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIiksdCYmKHQuY2xhc3NMaXN0LnJlbW92ZSgiaXMtbG9hZGluZyIpLHQuY2xhc3NMaXN0LmFkZCgiaXMtc2hha2UiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1zaGFrZSIpfSw0MDApKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtTMD0hMSx0JiYodC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1sb2FkaW5nIiksdC5kaXNhYmxlZD0hMSx0LnNldEF0dHJpYnV0ZSgidGl0bGUiLCJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdUZGMDhBSVx1RkYwOSIpKSxhJiZhLmNsYXNzTGlzdC5yZW1vdmUoImlzLW9wdGltaXppbmciKSxlLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1idXN5IiksZS5yZWFkT25seT1vfSl9fX1mdW5jdGlvbiBhUihlLHQpe2lmKCFlKXJldHVybjt2YXIgYT1BcnJheS5mcm9tKHQpLGk9YS5sZW5ndGg7aWYoaT09PTApe2UudmFsdWU9IiIsUW4oIiIsITApLGxhKGUpO3JldHVybn12YXIgbz1NYXRoLm1pbig3MDAsTWF0aC5tYXgoMjIwLGkqOCkpLGM9TWF0aC5taW4oaSw2MCksZD1NYXRoLmNlaWwoaS9jKSxmPW8vYyxtPTA7ZS52YWx1ZT0iIixsYShlKTtmdW5jdGlvbiBoKCl7aWYobT1NYXRoLm1pbihpLG0rZCksZS52YWx1ZT1hLnNsaWNlKDAsbSkuam9pbigiIiksbGEoZSksbTxpKXNldFRpbWVvdXQoaCxmKTtlbHNle1FuKHQsITApO3RyeXtlLnNldFNlbGVjdGlvblJhbmdlKHQubGVuZ3RoLHQubGVuZ3RoKX1jYXRjaHt9fX1oKCl9ZnVuY3Rpb24gV2YoZSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7aWYodCl7dmFyIGE9ZXx8ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLGk9ISEoYSYmYS52YWx1ZSYmYS52YWx1ZS5sZW5ndGg+MCk7dC5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtdGV4dCIsaSl9fXMuX3N0YXR1c0JhclRpbWVySWQ9bnVsbCxzLl9zdGF0dXNCYXJTdGFydFRpbWU9MDt2YXIgbmM9bnVsbCxLZj0wO2Z1bmN0aW9uIEIwKGUpe2lmKCFlKXJldHVybnthY3RpdmU6ITF9O2lmKGUuYXJjaGl2ZWQpcmV0dXJue2FjdGl2ZTohMX07dmFyIHQ9ISFlLnBlcm1pc3Npb25CbG9ja2VkLGE9ISEodXQoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCksaT0hdXQoZSkmJmUuc3RhdHVzPT09InJ1bm5pbmciO3JldHVybnthY3RpdmU6YXx8aXx8dCxpbkZsaWdodDphLHB0eVJ1bm5pbmc6aSxwZXJtaXNzaW9uQmxvY2tlZDp0fX1mdW5jdGlvbiByUihlKXt2YXIgdD1NYXRoLm1heCgwLE1hdGguZmxvb3IoZS8xZTMpKTtpZih0PDYwKXJldHVybiB0KyJzIjt2YXIgYT1NYXRoLmZsb29yKHQvNjApLGk9dCU2MDtpZihhPDYwKXJldHVybiBhKyJtIisoaT8iICIraSsicyI6IiIpO3ZhciBvPU1hdGguZmxvb3IoYS82MCksYz1hJTYwO3JldHVybiBvKyJoIisoYz8iICIrYysibSI6IiIpfWZ1bmN0aW9uIGswKGUpe3ZhciB0PUIwKGUpLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLm1haW4taGVhZGVyLXJvdyIpLGk9YT9hLnF1ZXJ5U2VsZWN0b3IoIi5zZXNzaW9uLXN0YXR1cy1waWxsIik6bnVsbCxvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7aWYoYSYmKGEuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtcnVubmluZyIsdC5hY3RpdmUpLGEuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtcGVybWlzc2lvbi1ibG9ja2VkIix0LnBlcm1pc3Npb25CbG9ja2VkKSksaSl7dmFyIGM9aS5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdGF0dXMtZWxhcHNlZCIpO2lmKHQuaW5GbGlnaHQpe0tmfHwoS2Y9cy5fc3RhdHVzQmFyU3RhcnRUaW1lPjA/cy5fc3RhdHVzQmFyU3RhcnRUaW1lOkRhdGUubm93KCkpO3ZhciBkPXJSKERhdGUubm93KCktS2YpO2N8fChjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSxjLmNsYXNzTmFtZT0ic2Vzc2lvbi1zdGF0dXMtZWxhcHNlZCIsaS5hcHBlbmRDaGlsZChjKSksYy50ZXh0Q29udGVudD1kfWVsc2UgS2Y9MCxjJiZjLnJlbW92ZSgpfXQuYWN0aXZlP25jfHwobmM9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt2YXIgZj1zLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obSl7cmV0dXJuIG0uaWQ9PT1zLnNlbGVjdGVkSWR9KTtrMChmKX0sMWUzKSk6bmMmJihjbGVhckludGVydmFsKG5jKSxuYz1udWxsKX1mdW5jdGlvbiBUMChlLHQpe2swKHQpO3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jb21wb3Nlci10b3Atcm93IiksaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3RydWN0dXJlZC1zdGF0dXMtYmFyIiksbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTtpZighdHx8IXV0KHQpKXtpJiZpLnJlbW92ZSgpLG8mJm8uY2xhc3NMaXN0LnJlbW92ZSgiaW4tZmxpZ2h0IiksY2xlYXJJbnRlcnZhbChzLl9zdGF0dXNCYXJUaW1lcklkKSxzLl9zdGF0dXNCYXJUaW1lcklkPW51bGw7cmV0dXJufXZhciBjPXQuc3RydWN0dXJlZFN0YXRlJiZ0LnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodDtpZihjKXtpZihzLl9zdGF0dXNCYXJUaW1lcklkfHwocy5fc3RhdHVzQmFyU3RhcnRUaW1lPURhdGUubm93KCkpLG8mJm8uY2xhc3NMaXN0LmFkZCgiaW4tZmxpZ2h0IiksIWkmJmEpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuY2xhc3NOYW1lPSJzdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiLGQuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0ic3RhdHVzLWJhci1kb3QiPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhci1sYWJlbCI+XHU1NkRFXHU1OTBEXHU0RTJEPC9zcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFyLXRpbWVyIj4wLjBzPC9zcGFuPicsYS5hcHBlbmRDaGlsZChkKSxpPWR9ZWxzZSBpZihpJiZpLmNsYXNzTGlzdC5jb250YWlucygiY29tcGxldGVkIikpe2kuY2xhc3NMaXN0LnJlbW92ZSgiY29tcGxldGVkIiksaS5zdHlsZS5hbmltYXRpb249Im5vbmUiLGkucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItbGFiZWwiKS50ZXh0Q29udGVudD0iXHU1NkRFXHU1OTBEXHU0RTJEIjt2YXIgZj1pLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLWRvdCIpO2YmJihmLnN0eWxlLmRpc3BsYXk9IiIpLHMuX3N0YXR1c0JhclN0YXJ0VGltZT1EYXRlLm5vdygpfXMuX3N0YXR1c0JhclRpbWVySWR8fChzLl9zdGF0dXNCYXJUaW1lcklkPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIGg9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnN0cnVjdHVyZWQtc3RhdHVzLWJhcjpub3QoLmNvbXBsZXRlZCkiKTtpZighaCl7Y2xlYXJJbnRlcnZhbChzLl9zdGF0dXNCYXJUaW1lcklkKSxzLl9zdGF0dXNCYXJUaW1lcklkPW51bGw7cmV0dXJufXZhciBnPSgoRGF0ZS5ub3coKS1zLl9zdGF0dXNCYXJTdGFydFRpbWUpLzFlMykudG9GaXhlZCgxKSxiPWgucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItdGltZXIiKTtiJiYoYi50ZXh0Q29udGVudD1nKyJzIil9LDEwMCkpfWVsc2UgaWYoY2xlYXJJbnRlcnZhbChzLl9zdGF0dXNCYXJUaW1lcklkKSxzLl9zdGF0dXNCYXJUaW1lcklkPW51bGwsbyYmby5jbGFzc0xpc3QucmVtb3ZlKCJpbi1mbGlnaHQiKSxpJiYhaS5jbGFzc0xpc3QuY29udGFpbnMoImNvbXBsZXRlZCIpKXt2YXIgbT1zLl9zdGF0dXNCYXJTdGFydFRpbWU/KChEYXRlLm5vdygpLXMuX3N0YXR1c0JhclN0YXJ0VGltZSkvMWUzKS50b0ZpeGVkKDEpOiIwLjAiO2kuY2xhc3NMaXN0LmFkZCgiY29tcGxldGVkIiksaS5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci1sYWJlbCIpLnRleHRDb250ZW50PSJcdTVCOENcdTYyMTAiLGkucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItdGltZXIiKS50ZXh0Q29udGVudD1tKyJzIjt2YXIgZj1pLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLWRvdCIpO2YmJihmLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSxzLl9zdGF0dXNCYXJTdGFydFRpbWU9MCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5wYXJlbnROb2RlJiZpLnJlbW92ZSgpfSwzZTMpfX1mdW5jdGlvbiBMKGUpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpfWZ1bmN0aW9uIFFmKGUsdCxhKXt2YXIgaT1TdHJpbmcoZXx8IiIpLG89TWF0aC5tYXgoaS5sYXN0SW5kZXhPZigiLyIpLGkubGFzdEluZGV4T2YoIlxcIikpLGM9bz49MD9pLnNsaWNlKDAsbysxKToiIixkPW8+PTA/aS5zbGljZShvKzEpOmk7cmV0dXJuJzxzcGFuIGNsYXNzPSInK3QrJyB0YWlsLW1hcnF1ZWUtcGF0aCIgdGl0bGU9IicrTChpKSsnIicrKGF8fCIiKSsnPjxzcGFuIGNsYXNzPSJ0YWlsLW1hcnF1ZWUtcGF0aC1pbm5lciI+PHNwYW4gY2xhc3M9InRhaWwtbWFycXVlZS1wcmVmaXgiPicrTChjKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0YWlsLW1hcnF1ZWUtbGVhZiI+JytMKGQpKyI8L3NwYW4+PC9zcGFuPjwvc3Bhbj4ifXZhciBpUj0vXC4ocG5nfGpwZT9nfGdpZnx3ZWJwfHN2Z3xhdmlmfGJtcHxpY298aGVpY3xoZWlmKSQvaTtmdW5jdGlvbiBqMChlKXtpZih0eXBlb2YgZSE9InN0cmluZyIpcmV0dXJuITE7dmFyIHQ9ZS50cmltKCkuc3BsaXQoL1s/I10vKVswXTtyZXR1cm4gaVIudGVzdCh0KX1mdW5jdGlvbiBhYyhlKXtpZihlKXt2YXIgdD1mdW5jdGlvbigpe3RyeXt2YXIgYT1lLmZpcnN0RWxlbWVudENoaWxkJiZlLmZpcnN0RWxlbWVudENoaWxkLmNsYXNzTGlzdCYmZS5maXJzdEVsZW1lbnRDaGlsZC5jbGFzc0xpc3QuY29udGFpbnMoInRhaWwtbWFycXVlZS1wYXRoLWlubmVyIik/ZS5maXJzdEVsZW1lbnRDaGlsZDpudWxsO2lmKGEpe3ZhciBpPU1hdGgubWF4KDAsYS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoKTtlLmNsYXNzTGlzdC50b2dnbGUoImlzLW92ZXJmbG93aW5nIixpPjEpLGUuc3R5bGUuc2V0UHJvcGVydHkoIi0tdGFpbC1tYXJxdWVlLXNoaWZ0IixpKyJweCIpO3ZhciBvPU1hdGgubWF4KDQuOCxpLzE4KTtlLnN0eWxlLnNldFByb3BlcnR5KCItLXRhaWwtbWFycXVlZS1kdXJhdGlvbiIsTWF0aC5tYXgoNi44LG8vLjY4KSsicyIpO3JldHVybn1lLnNjcm9sbFdpZHRoPmUuY2xpZW50V2lkdGgmJihlLnNjcm9sbExlZnQ9ZS5zY3JvbGxXaWR0aCl9Y2F0Y2h7fX07dCgpLHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU9PSJmdW5jdGlvbiImJnJlcXVlc3RBbmltYXRpb25GcmFtZSh0KX19ZnVuY3Rpb24gcmMoZSl7dmFyIHQ9ZXx8ZG9jdW1lbnQ7IXR8fHR5cGVvZiB0LnF1ZXJ5U2VsZWN0b3JBbGwhPSJmdW5jdGlvbiJ8fHQucXVlcnlTZWxlY3RvckFsbCgiLnRhaWwtbWFycXVlZS1wYXRoIikuZm9yRWFjaChmdW5jdGlvbihhKXthYyhhKX0pfWZ1bmN0aW9uIHVSKGUsdCl7aWYoZSl7dmFyIGE9U3RyaW5nKHR8fCIiKSxpPWUucXVlcnlTZWxlY3RvciYmZS5xdWVyeVNlbGVjdG9yKCIudGFpbC1tYXJxdWVlLXBhdGgtaW5uZXIiKTtpZihpKXt2YXIgbz1NYXRoLm1heChhLmxhc3RJbmRleE9mKCIvIiksYS5sYXN0SW5kZXhPZigiXFwiKSksYz1vPj0wP2Euc2xpY2UoMCxvKzEpOiIiLGQ9bz49MD9hLnNsaWNlKG8rMSk6YTtpLnRleHRDb250ZW50PSIiO3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtmLmNsYXNzTmFtZT0idGFpbC1tYXJxdWVlLXByZWZpeCIsZi50ZXh0Q29udGVudD1jO3ZhciBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTttLmNsYXNzTmFtZT0idGFpbC1tYXJxdWVlLWxlYWYiLG0udGV4dENvbnRlbnQ9ZCxpLmFwcGVuZChmLG0pfWVsc2UgZS50ZXh0Q29udGVudD1hO2Uuc2V0QXR0cmlidXRlJiZlLnNldEF0dHJpYnV0ZSgidGl0bGUiLGEpLGFjKGUpfX1mdW5jdGlvbiBvUihlKXtpZihlKXt2YXIgdD1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2YgZS5zZXRTZWxlY3Rpb25SYW5nZT09ImZ1bmN0aW9uIiYmZS52YWx1ZSE9bnVsbCl7dmFyIGE9ZS52YWx1ZS5sZW5ndGg7dHJ5e2Uuc2V0U2VsZWN0aW9uUmFuZ2UoYSxhKX1jYXRjaHt9fWUuc2Nyb2xsV2lkdGg+ZS5jbGllbnRXaWR0aCYmKGUuc2Nyb2xsTGVmdD1lLnNjcm9sbFdpZHRoKX1jYXRjaHt9fTt0KCksdHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIiYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfX12YXIgdDI9bnVsbDtmdW5jdGlvbiBuMihlKXtDdCgpfHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QiKT8uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixlPyJ0cnVlIjoiZmFsc2UiKX1mdW5jdGlvbiBzUihlKXtpZihDdCgpKXtDYSgid29ya2luZy1kaXIiKTtyZXR1cm59Y29uc3QgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QiKTt0JiYodC50aXRsZT1gXHU1RjUzXHU1MjREXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1XHVGRjFBJHtlfWApLHVSKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0LWN3ZC1wYXRoIiksZSk7Y29uc3QgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci1jd2QiKTshcy5zZWxlY3RlZElkJiZhJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09YSYmKGEudmFsdWU9ZSxhLnRpdGxlPWUpfXZhciBsUj17Z2V0SW5pdGlhbFBhdGg6cXIsb25PcGVuKCl7V2EuY2xvc2VJZk9wZW4oKSxMbi5jbG9zZUlmT3BlbigpLF9vLmNsb3NlSWZPcGVuKCksZG4uY2xvc2VJZk9wZW4oKSxuMighMCl9LG9uQ2xvc2UoKXtuMighMSksd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0LWN3ZCIpPy5mb2N1cygpfSl9LGFwcGx5U2VsZWN0aW9uKGUpe0o2KGUpLHNSKGUpfX07ZnVuY3Rpb24gYTIoKXtmb3IoY29uc3QgZSBvZltXYSxMbixfbyxkbl0paWYoZS5pc09wZW4oKSYmIWUuY2xvc2VJZk9wZW4oKSlyZXR1cm4hMTtyZXR1cm4gbG4ub3BlbihxcigpKT8hMDooaGUoIlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1OTAwOVx1NjJFOVx1NTY2OFx1NUMxQVx1NjcyQVx1NUMzMVx1N0VFQVx1RkYwQ1x1OEJGN1x1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mlx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMiIsImVycm9yIiksITEpfWZ1bmN0aW9uIHIyKCl7cmV0dXJuIGJsKCgpPT57YTIoKX0pP2EyKCk6ITF9ZnVuY3Rpb24gaTIoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHIyKCl9ZnVuY3Rpb24gdTIoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFbGVtZW50P2UuY2xvc2VzdCgiI2JsYW5rLWNoYXQtY3dkIik6bnVsbH1mdW5jdGlvbiBjUihlKXtDdCgpfHx1MihlLnRhcmdldCkmJmkyKGUpfWZ1bmN0aW9uIGRSKGUpe0N0KCl8fGUua2V5IT09IkVudGVyIiYmZS5rZXkhPT0iICJ8fHUyKGUudGFyZ2V0KSYmaTIoZSl9ZnVuY3Rpb24gZlIoKXt0Mnx8KHQyPVVCKGxSKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsY1IpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGRSKSl9dmFyIG8yPW51bGwscFI9e29uT3Blbigpe2xuLmNsb3NlSWZPcGVuKCksTG4uY2xvc2VJZk9wZW4oKSxkbi5jbG9zZUlmT3BlbigpLFpFKCkscy5zZXNzaW9uc0RyYXdlck9wZW49ITEsVHQoIndhbmQtc2lkZWJhci1vcGVuIiwhMSksZWMoKX0sb25DbG9zZSgpe30sZ2V0Q29udGV4dCgpe3JldHVybntlZmZlY3RpdmVDd2Q6cXIoKSxzZWxlY3RlZE1vZGVsczp7Y2xhdWRlOnJzKCJjbGF1ZGUiKSxjb2RleDpycygiY29kZXgiKSxvcGVuY29kZTpycygib3BlbmNvZGUiKSxncm9rOnJzKCJncm9rIil9LHRoaW5raW5nRWZmb3J0OnMuY2hhdFRoaW5raW5nfHwib2ZmIn19LGFzeW5jIHByZXBhcmVDcmVhdGUoZSl7aWYoZSE9PSJwdHkiKXJldHVybnt9O2F3YWl0IEpFKCk7dHJ5e3MudGVybWluYWw/LnJlbWVhc3VyZT8uKCl9Y2F0Y2h7fWNvbnN0IHQ9cy50ZXJtaW5hbD8uY29scyxhPXMudGVybWluYWw/LnJvd3M7cmV0dXJue2NvbHM6dHlwZW9mIHQ9PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUodCkmJnQ+MD90OnZvaWQgMCxyb3dzOnR5cGVvZiBhPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGEpJiZhPjA/YTp2b2lkIDB9fSxhc3luYyBjb21wbGV0ZUNyZWF0ZShlLHQpe3MubW9kZVZhbHVlPWUubW9kZSxzLmNoYXRNb2RlPWUubW9kZSxzLnNlc3Npb25Ub29sPWUucHJvdmlkZXIscy5wcmVmZXJyZWRDb21tYW5kPWUucHJvdmlkZXIscy5zZWxlY3RlZElkPXQuaWQscy5kcmFmdHNbdC5pZF09IiIsR3QoKSxKNihlLmN3ZCksU2EoKSxkMCgpLGF3YWl0IHdyKCkscWYocy5zZXNzaW9ucy5maW5kKGE9PmEuaWQ9PT10LmlkKXx8bnVsbCksdHIodC5pZCksbnIoKSx3aW5kb3cuc2V0VGltZW91dCgoKT0+YnIoITApLDApfX07ZnVuY3Rpb24gdlIoKXtvMnx8KG8yPUZCKHBSKSl9ZnVuY3Rpb24gbVIoKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigid2FuZC1zZXR0aW5ncy1ub3RpZmljYXRpb25zLWNoYW5nZWQiLGU9Pntjb25zdCB0PWUuZGV0YWlsfHx7fTt0eXBlb2YgdC5zb3VuZD09ImJvb2xlYW4iJiYocy5ub3RpZlNvdW5kPXQuc291bmQpLHR5cGVvZiB0LnZvbHVtZT09Im51bWJlciImJihzLm5vdGlmVm9sdW1lPXQudm9sdW1lKSx0eXBlb2YgdC5idWJibGU9PSJib29sZWFuIiYmKHMubm90aWZCdWJibGU9dC5idWJibGUpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndhbmQtc2V0dGluZ3MtY29uZmlnLXNhdmVkIixlPT57Y29uc3QgdD1lLmRldGFpbDt0JiYocy5jb25maWd8fChzLmNvbmZpZz17fSksT2JqZWN0LmFzc2lnbihzLmNvbmZpZyx0KSl9KX1mdW5jdGlvbiBoUihlKXtyZXR1cm4gZT09PSJjbGF1ZGUtaGlzdG9yeSI/Imhpc3RvcnkiOmU9PT0iY29kZXgtaGlzdG9yeSI/ImNvZGV4Ijoic2Vzc2lvbnMifWZ1bmN0aW9uIGdSKGUsdCl7cmV0dXJuIE9pKGBcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdThGRDlcdTY3NjEgJHtlPT09ImNvZGV4LWhpc3RvcnkiPyJDb2RleCI6ZT09PSJjbGF1ZGUtaGlzdG9yeSI/IkNsYXVkZSI6IldhbmQifSBcdTRGMUFcdThCRERcdTU0MTdcdUZGMUZgLHt0aXRsZToiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIn0pLnRoZW4oaT0+e2lmKGkpcmV0dXJuIGU9PT0iY29kZXgtaGlzdG9yeSI/R3godCk6ZT09PSJjbGF1ZGUtaGlzdG9yeSI/SE8odCxudWxsKTprZih0KX0pfWZ1bmN0aW9uIHMyKGUpe3Muc2Vzc2lvblRvb2w9ZSxzLnByZWZlcnJlZENvbW1hbmQ9ZSxlPT09ImNvZGV4IiYmKHMubW9kZVZhbHVlPSJmdWxsLWFjY2VzcyIpLGU9PT0ib3BlbmNvZGUiJiYocy5tb2RlVmFsdWU9Im1hbmFnZWQiKX1mdW5jdGlvbiBNMChlKXtyZXR1cm4gczIoZSksWWYoKX1mdW5jdGlvbiBiUigpe3JldHVybiBzMigiY2xhdWRlIiksVkUoKS50aGVuKGU9PihicighMCksZSkpfWZ1bmN0aW9uIHlSKGUpe2NvbnN0IHQ9cy5zZXNzaW9ucy5maW5kKG89Pm8uaWQ9PT1zLnNlbGVjdGVkSWQpO2lmKGU9PT0iY3dkIilyZXR1cm4gWG8oImN3ZCIsIlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1NURGMlx1NTkwRFx1NTIzNiIpO2lmKGU9PT0ic2Vzc2lvbklkIilyZXR1cm4gWG8oImlkIiwiXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2NvbnN0IGE9dD8ucHJvdmlkZXI7cmV0dXJuIFhvKCJjbGF1ZGVTZXNzaW9uSWQiLGE9PT0iY29kZXgiPyJDb2RleCB0aHJlYWQgSUQgXHU1REYyXHU1OTBEXHU1MjM2IjphPT09Im9wZW5jb2RlIj8iT3BlbkNvZGUgc2Vzc2lvbiBJRCBcdTVERjJcdTU5MERcdTUyMzYiOmE9PT0iZ3JvayI/Ikdyb2sgXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiI6YT09PSJxb2RlciI/IlFvZGVyIFx1NEYxQVx1OEJERCBJRCBcdTVERjJcdTU5MERcdTUyMzYiOiJDbGF1ZGUgXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpfWZ1bmN0aW9uIHdSKCl7cmV0dXJue2dvSG9tZTpNTixyZWZyZXNoUGFnZTooKT0+d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpLG9wZW5OZXdTZXNzaW9uOlZmLHF1aWNrU3RhcnRDbGF1ZGVUZXJtaW5hbDooKT0+TTAoImNsYXVkZSIpLHF1aWNrU3RhcnRDb2RleFRlcm1pbmFsOigpPT5NMCgiY29kZXgiKSxxdWlja1N0YXJ0T3BlbkNvZGVUZXJtaW5hbDooKT0+TTAoIm9wZW5jb2RlIikscXVpY2tTdGFydFN0cnVjdHVyZWRTZXNzaW9uOmJSLHNlbGVjdFNlc3Npb246ZT0+e3RyKGUpLG5yKCl9LHJlc3VtZVNlc3Npb246ZT0+S2goZSkudGhlbih0PT4obnIoKSx0KSkscmVzdW1lSGlzdG9yeTooZSx0LGEpPT5RaChlLHQsYSksZGVsZXRlSXRlbTpnUixtZXJnZVNlc3Npb246RjAsY2xlYW51cFNlc3Npb246QzAsdG9nZ2xlTWFuYWdlTW9kZTprNix0b2dnbGVNYW5hZ2VkU2VsZWN0aW9uOihlLHQpPT5XbyhoUihlKSx0KSxzZWxlY3RBbGxNYW5hZ2VkOmhoLGNsZWFyTWFuYWdlZFNlbGVjdGlvbjpqNixkZWxldGVNYW5hZ2VkU2VsZWN0aW9uOk82LHRvZ2dsZVNlc3Npb25zRHJhd2VyOllFLGNsb3NlU2Vzc2lvbnNEcmF3ZXI6aXMsdG9nZ2xlU2lkZWJhclBpbjpLRSx0b2dnbGVTaWRlYmFyQ29sbGFwc2VkOkUwLGV4cGFuZFNpZGViYXJHcm91cDplPT57VHQoZT09PSJhdXRvbWF0aW9uIj8id2FuZC1hdXRvbWF0aW9uLXNlc3Npb25zLWV4cGFuZGVkIjoid2FuZC1ub24td2FuZC1zZXNzaW9ucy1leHBhbmRlZCIsITApLEUwKCl9LHNldFNpZGViYXJHcm91cEV4cGFuZGVkOihlLHQpPT57VHQoZT09PSJhdXRvbWF0aW9uIj8id2FuZC1hdXRvbWF0aW9uLXNlc3Npb25zLWV4cGFuZGVkIjoid2FuZC1ub24td2FuZC1zZXNzaW9ucy1leHBhbmRlZCIsdCl9LHRvZ2dsZUZpbGVQYW5lbDp5bCxjbG9zZUZpbGVQYW5lbDppaCxyZWZyZXNoRmlsZXM6KCk9PlhhKCksbmF2aWdhdGVGaWxlczplPT5YYSh7Y3dkOmV9KSxuYXZpZ2F0ZUZpbGVzVXA6ZzYsc2VhcmNoRmlsZXM6ZT0+e3MuZmlsZVNlYXJjaFF1ZXJ5PWUudHJpbSgpLGRmKCl9LGNsZWFyRmlsZVNlYXJjaDooKT0+e3MuZmlsZVNlYXJjaFF1ZXJ5PSIiLGRmKCl9LG9wZW5Gb2xkZXJQaWNrZXI6KCk9PntyMigpfSx0b2dnbGVUb3BiYXJNZW51OigpPT57cy50b3BiYXJNb3JlT3Blbj0hcy50b3BiYXJNb3JlT3Blbn0sY29weVRvcGJhckZpZWxkOnlSLG9wZW5HaXRDb21taXQ6Y2gsb3BlblNldHRpbmdzOiRFLGJhY2tUb05hdGl2ZTpDRSxzd2l0Y2hTZXJ2ZXI6bDAsbG9nb3V0OmMwfX1tUigpLHlUKHdSKCkpLChmdW5jdGlvbigpe3RyeXt2YXIgZT1uYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnR8fCIiOy9XYW5kQXBwXC8vLnRlc3QoZSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy13YW5kLWFwcCIpLC9XYW5kUGxhdGZvcm1cL2lPUy8udGVzdChlKSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtaW9zIiksL1dhbmRQbGF0Zm9ybVwvQW5kcm9pZC8udGVzdChlKSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtYW5kcm9pZCIpLC9XYW5kUGxhdGZvcm1cL21hY09TLy50ZXN0KGUpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtd2FuZC1tYWNvcyIpfWNhdGNoe310cnl7Y29uc3QgdD1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKS5zZWFyY2hQYXJhbXM7dC5nZXQoImVtYmVkIik9PT0idGVybWluYWwiJiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtZW1iZWQtdGVybWluYWwiKSx0LmdldCgibmF0aXZlSW5wdXQiKT09PSIxIiYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtbmF0aXZlLWlucHV0IikpfWNhdGNoe310cnl7d2luZG93Ll9fd2FuZE5hdGl2ZUJhY2tIb29rZWQ9ITB9Y2F0Y2h7fXRyeXt3aW5kb3cuX193YW5kQ29uZmlnUGF0aD15Q31jYXRjaHt9fSkoKSxwVCgpLHZSKCksZlIoKSxyTih7Z2V0U2Vzc2lvbihlKXtyZXR1cm4gcy5zZXNzaW9ucy5maW5kKHQ9PnQuaWQ9PT1lKT8/bnVsbH0scmVmcmVzaFNlc3Npb25zKCl7cmV0dXJuIEhpKCl9LHRvYXN0KGUsdCl7aGUoZSx0KX19KSxEVCh7Z2V0U2libGluZ3MoKXtyZXR1cm4gcy5hbGxGaWxlc30sY29uZmlybURpc2NhcmQoZSl7Y29uc3QgdD1lPT09InJlcGxhY2UiO3JldHVybiBNbCh7dHlwZToid2FybmluZyIsdGl0bGU6dD8iXHU1MjA3XHU2MzYyXHU5ODg0XHU4OUM4XHU2NTg3XHU0RUY2XHVGRjFGIjoiXHU2NTNFXHU1RjAzXHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU0RkVFXHU2NTM5XHVGRjFGIixtZXNzYWdlOnQ/Ilx1NUY1M1x1NTI0RFx1NjU4N1x1NEVGNlx1NjcwOVx1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NjUzOVx1NTJBOFx1RkYwQ1x1NTIwN1x1NjM2Mlx1NTQwRVx1NEYxQVx1NEUyMlx1NTkzMVx1MzAwMiI6ZT09PSJleGl0LWVkaXQiPyJcdTVGNTNcdTUyNERcdTY1ODdcdTRFRjZcdTY3MDlcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTY1MzlcdTUyQThcdUZGMENcdTkwMDBcdTUxRkFcdTdGMTZcdThGOTFcdTU0MEVcdTRGMUFcdTRFMjJcdTU5MzFcdTMwMDIiOiJcdTVGNTNcdTUyNERcdTY1ODdcdTRFRjZcdTY3MDlcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTY1MzlcdTUyQThcdUZGMENcdTUxNzNcdTk1RURcdTU0MEVcdTRGMUFcdTRFMjJcdTU5MzFcdTMwMDIiLGJ1dHRvbnM6W3tsYWJlbDoiXHU3RUU3XHU3RUVEXHU3RjE2XHU4RjkxIix2YWx1ZTohMSxraW5kOiJzZWNvbmRhcnkiLGF1dG9mb2N1czohMH0se2xhYmVsOiJcdTY1M0VcdTVGMDNcdTRGRUVcdTY1MzkiLHZhbHVlOiEwLGtpbmQ6ImRhbmdlciJ9XSxjYW5jZWxWYWx1ZTohMX0pLnRoZW4oYT0+YT09PSEwKX0sY29weVRleHQ6dWgsYXBwZW5kVG9Db21wb3NlcjpiNixub3RpZnkoZSx0KXtoZShlLHQpfSxvblNhdmVkKCl7WGEoKX19KX0pKCk7Cg=="),
|
|
9
|
-
stylesCss: decode("OnJvb3R7LS1iZy1wcmltYXJ5OiAjZjVmM2VlOy0tYmctc2Vjb25kYXJ5OiByZ2JhKDI1NSwgMjUzLCAyNDksIC44Nik7LS1iZy10ZXJ0aWFyeTogI2VjZThlMTstLWJnLWVsZXZhdGVkOiAjZmNmYWY2Oy0tYmctc3VyZmFjZTogcmdiYSgyNTUsIDI1MywgMjQ5LCAuNjIpOy0tYmctdGVybWluYWw6ICMxZjFiMTc7LS1iZy1vdmVybGF5OiByZ2JhKDQyLCAyOCwgMTgsIC40KTstLWJvcmRlci1zdWJ0bGU6IHJnYmEoMTA5LCA4OCwgNzIsIC4xKTstLWJvcmRlci1kZWZhdWx0OiAjZDlkMmM5Oy0tYm9yZGVyLXN0cm9uZzogcmdiYSgxMDksIDg4LCA3MiwgLjM0KTstLWJvcmRlcjogdmFyKC0tYm9yZGVyLWRlZmF1bHQpOy0tYm9yZGVyLWZvY3VzOiByZ2JhKDE5NywgMTAxLCA2MSwgLjUpOy0tdGV4dC1wcmltYXJ5OiAjMjgyMzFmOy0tdGV4dC1zZWNvbmRhcnk6ICM2MjVhNTM7LS10ZXh0LXRlcnRpYXJ5OiAjN2E3MTY4Oy0tdGV4dC1tdXRlZDogIzhiODI3OTstLXRleHQtaW52ZXJzZTogI2ZmZmZmZjstLXRleHQtbGluazogI2M1NjUzZDstLWFjY2VudDogI2M1NjUzZDstLWFjY2VudC1ob3ZlcjogI2Q0NzU1MDstLWFjY2VudC1hY3RpdmU6ICNhZjUzMzA7LS1hY2NlbnQtc29mdDogI2U4YzVhZTstLWFjY2VudC1tdXRlZDogcmdiYSgxOTcsIDEwMSwgNjEsIC4xMik7LS1hY2NlbnQtZ2xvdzogcmdiYSgxOTcsIDEwMSwgNjEsIC4yNSk7LS1zdWNjZXNzOiAjNGY3YTU4Oy0tc3VjY2Vzcy1ob3ZlcjogIzVhOGY2NjstLXN1Y2Nlc3MtbXV0ZWQ6IHJnYmEoNzksIDEyMiwgODgsIC4xNCk7LS1zdWNjZXNzLWdsb3c6IHJnYmEoNzksIDEyMiwgODgsIC4zKTstLXdhcm5pbmc6ICNhOTZhMmY7LS13YXJuaW5nLWhvdmVyOiAjYzA3YTM1Oy0td2FybmluZy1tdXRlZDogcmdiYSgxNjksIDEwNiwgNDcsIC4xNCk7LS13YXJuaW5nLWdsb3c6IHJnYmEoMTY5LCAxMDYsIDQ3LCAuMjUpOy0tZGFuZ2VyOiAjYjI0ZjQ1Oy0tZGFuZ2VyLWhvdmVyOiAjYzk2MDU1Oy0tZGFuZ2VyLW11dGVkOiByZ2JhKDE3OCwgNzksIDY5LCAuMTQpOy0tZGFuZ2VyLWdsb3c6IHJnYmEoMTc4LCA3OSwgNjksIC4yNSk7LS1pbmZvOiAjNGE2ZmE1Oy0taW5mby1tdXRlZDogcmdiYSg3NCwgMTExLCAxNjUsIC4xNCk7LS1zaGFkb3cteHM6IDAgMXB4IDNweCByZ2JhKDg5LCA1OCwgMzIsIC4wNCk7LS1zaGFkb3ctc206IDAgMnB4IDhweCByZ2JhKDg5LCA1OCwgMzIsIC4wNik7LS1zaGFkb3ctbWQ6IDAgNHB4IDE2cHggcmdiYSg4OSwgNTgsIDMyLCAuMDgpOy0tc2hhZG93LWxnOiAwIDhweCAzMnB4IHJnYmEoODksIDU4LCAzMiwgLjEyKTstLXNoYWRvdy14bDogMCAxMnB4IDQ4cHggcmdiYSg4OSwgNTgsIDMyLCAuMTYpOy0tc2hhZG93LXNvZnQ6IDAgMjBweCA1MHB4IHJnYmEoODksIDU4LCAzMiwgLjEyKTstLXNoYWRvdy1lbGV2YXRlZDogMCA4cHggMjRweCByZ2JhKDg5LCA1OCwgMzIsIC4wOCk7LS1zaGFkb3ctZ2xvdzogMCAwIDI0cHggdmFyKC0tYWNjZW50LWdsb3cpOy0tc2hhZG93LWdsb3ctc3VjY2VzczogMCAwIDIwcHggdmFyKC0tc3VjY2Vzcy1nbG93KTstLXJhZGl1cy14czogNnB4Oy0tcmFkaXVzLXNtOiAxMHB4Oy0tcmFkaXVzLW1kOiAxNHB4Oy0tcmFkaXVzLWxnOiAyMHB4Oy0tcmFkaXVzLXhsOiAyOHB4Oy0tcmFkaXVzLWZ1bGw6IDk5OTlweDstLWZvbnQtc2FuczogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCAiSGVsdmV0aWNhIE5ldWUiLCAiUGluZ0ZhbmcgU0MiLCAiTm90byBTYW5zIFNDIiwgIk1pY3Jvc29mdCBZYUhlaSIsIHNhbnMtc2VyaWY7LS1mb250LW1vbm86ICJTRiBNb25vIiwgIkZpcmEgQ29kZSIsICJDYXNjYWRpYSBDb2RlIiwgIkpldEJyYWlucyBNb25vIiwgTWVubG8sIE1vbmFjbywgIkNvbnNvbGFzIiwgbW9ub3NwYWNlOy0tZm9udC1zaXplLXhzOiAuNjg3NXJlbTstLWZvbnQtc2l6ZS1zbTogLjgxMjVyZW07LS1mb250LXNpemUtYmFzZTogLjkzNzVyZW07LS1mb250LXNpemUtbGc6IDEuMDYyNXJlbTstLWZvbnQtc2l6ZS14bDogMS4yNXJlbTstLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwOy0tZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7LS1mb250LXdlaWdodC1zZW1pYm9sZDogNjAwOy0tZm9udC13ZWlnaHQtYm9sZDogNzAwOy0tbGluZS1oZWlnaHQtdGlnaHQ6IDEuMzstLWxpbmUtaGVpZ2h0LWJhc2U6IDEuNjstLWxpbmUtaGVpZ2h0LXJlbGF4ZWQ6IDEuNzU7LS10cmFuc2l0aW9uLWZhc3Q6IC4xNXMgZWFzZTstLXRyYW5zaXRpb24tbm9ybWFsOiAuMjVzIGVhc2U7LS10cmFuc2l0aW9uLXNsb3c6IC40cyBlYXNlOy0tdHJhbnNpdGlvbi1zcHJpbmc6IC4zMnMgY3ViaWMtYmV6aWVyKC4yLCAuOCwgLjIsIDEpOy0tc2lkZWJhci13aWR0aDogMzAwcHg7LS1zaWRlYmFyLWNvbGxhcHNlZC13aWR0aDogNTZweDstLWZpbGUtcGFuZWwtd2lkdGg6IDMyMHB4Oy0tc2FmZS1ib3R0b206IDBweDstLWVhc2Utb3V0LWV4cG86IGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTstLWVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllciguMzQsIDEuNTYsIC42NCwgMSk7LS1lYXNlLWluLW91dC1zbW9vdGg6IGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpOy0tZWFzZS1zcHJpbmc6IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEuMjc1KTstLWVhc2Utc3ByaW5nLWJvdW5jeTogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMS40KTstLWVhc2UtYm91bmNlOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upe2h0bWw6bm90KC5pcy13YW5kLWFwcCkgKixodG1sOm5vdCguaXMtd2FuZC1hcHApICo6YmVmb3JlLGh0bWw6bm90KC5pcy13YW5kLWFwcCkgKjphZnRlcnthbmltYXRpb24tZHVyYXRpb246LjAxbXMhaW1wb3J0YW50O2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDFtcyFpbXBvcnRhbnQ7c2Nyb2xsLWJlaGF2aW9yOmF1dG8haW1wb3J0YW50fX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLXRyYW5zcGFyZW5jeTpyZWR1Y2Upey5pbnB1dC1jb21wb3NlciwuZmllbGQtaW5wdXQsLmZpbGUtc2VhcmNoLWlucHV0LGlucHV0LmZpbGUtZXhwbG9yZXItcGF0aHtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfX1AbWVkaWEocHJlZmVycy1jb250cmFzdDptb3JlKXsuaW5wdXQtY29tcG9zZXIsLmZpZWxkLWlucHV0LC5maWxlLXNlYXJjaC1pbnB1dCxpbnB1dC5maWxlLWV4cGxvcmVyLXBhdGh7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1zdHJvbmcpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JveC1zaGFkb3c6bm9uZX0uaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluLC5maWVsZC1pbnB1dDpmb2N1cywuZmlsZS1zZWFyY2gtaW5wdXQ6Zm9jdXMsaW5wdXQuZmlsZS1leHBsb3Jlci1wYXRoOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWFjY2VudCl9fTpyb290ey0tYXBwLWluc2V0LXRvcDogMHB4Oy0tYXBwLWluc2V0LWJvdHRvbTogMHB4Oy0tYXBwLWluc2V0LWxlZnQ6IDBweDstLWFwcC1pbnNldC1yaWdodDogMHB4Oy0td2FuZC1zYWZlLXRvcDogbWF4KHZhcigtLWFwcC1pbnNldC10b3ApLCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSk7LS13YW5kLXNhZmUtYm90dG9tOiBtYXgodmFyKC0tYXBwLWluc2V0LWJvdHRvbSksIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTstLXdhbmQtc2FmZS1sZWZ0OiBtYXgodmFyKC0tYXBwLWluc2V0LWxlZnQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDBweCkpOy0td2FuZC1zYWZlLXJpZ2h0OiBtYXgodmFyKC0tYXBwLWluc2V0LXJpZ2h0KSwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMHB4KSk7LS1zYWZlLWJvdHRvbTogdmFyKC0td2FuZC1zYWZlLWJvdHRvbSk7LS1pbnB1dC1zYWZlLWJvdHRvbTogdmFyKC0tc2FmZS1ib3R0b20pfS5pcy13YW5kLWFwcHstLXdhbmQtc2FmZS10b3A6IG1heCh2YXIoLS1hcHAtaW5zZXQtdG9wKSwgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCksIDMycHgpOy0td2FuZC1zYWZlLWJvdHRvbTogbWF4KHZhcigtLWFwcC1pbnNldC1ib3R0b20pLCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSwgMHB4KX0uaXMtd2FuZC1hcHAtbmF0aXZlLWluc2V0c3stLXdhbmQtc2FmZS10b3A6IDBweDstLXdhbmQtc2FmZS1ib3R0b206IDBweDstLXdhbmQtc2FmZS1sZWZ0OiAwcHg7LS13YW5kLXNhZmUtcmlnaHQ6IDBweH0uaXMtd2FuZC1pb3MuaXMta2V5Ym9hcmQtb3BlbnstLWlucHV0LXNhZmUtYm90dG9tOiAwcHh9LmlzLXdhbmQtYXBwIC5zaWRlYmFyLWhlYWRlcixodG1sLmlzLXdhbmQtYXBwIC5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItaGVhZGVye3BhZGRpbmctdG9wOmNhbGMoMTRweCArIHZhcigtLXdhbmQtc2FmZS10b3ApKX0uYXBwLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS13YW5kLXNhZmUtdG9wKX0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAuc2lkZWJhciwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAubWFpbi1oZWFkZXItcm93LC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5ibGFuay1jaGF0LC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5kcmF3ZXItYmFja2Ryb3AsLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLmZpbGUtcGFuZWwtYmFja2Ryb3B7ZGlzcGxheTpub25lIWltcG9ydGFudH0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAuYXBwLWNvbnRhaW5lcntwYWRkaW5nLXRvcDowfWh0bWwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbHtjb2xvci1zY2hlbWU6bGlnaHQgZGFyazstLWVtYmVkLXB0eS1iZzogIzE3MTIwZn1odG1sLmlzLXdhbmQtZW1iZWQtdGVybWluYWwsaHRtbC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIGJvZHl7YmFja2dyb3VuZDp2YXIoLS1lbWJlZC1wdHktYmcpfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5tYWluLWxheW91dCwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWQsLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLm1haW4tbGF5b3V0LnNpZGViYXItcGlubmVkLnNpZGViYXItY29sbGFwc2Vke3BhZGRpbmctbGVmdDowfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5tYWluLWNvbnRlbnR7YmFja2dyb3VuZDp2YXIoLS1lbWJlZC1wdHktYmcpfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC50ZXJtaW5hbC1jb250YWluZXJ7bWFyZ2luOjA7Ym9yZGVyLXJhZGl1czowO2JvcmRlcjowO2JvcmRlci1sZWZ0OjA7Ym9yZGVyLXJpZ2h0OjA7YmFja2dyb3VuZDp2YXIoLS1lbWJlZC1wdHktYmcpO2JveC1zaGFkb3c6bm9uZX0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtY29udGFpbmVyOmZvY3VzLXdpdGhpbiwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtY29udGFpbmVyLmludGVyYWN0aXZle2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnRlcm1pbmFsLWNvbnRhaW5lcjphZnRlciwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtc2NhbGUtb3ZlcmxheSwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtcmVzaXplLWhhbmRsZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC50ZXJtaW5hbC1zY3JvbGwtd3JhcHtwYWRkaW5nOjhweCA0cHggNnB4Oy0tdGVybS1mb250LWZhbWlseTogIlJvYm90byBNb25vIiwgIkRyb2lkIFNhbnMgTW9ubyIsICJOb3RvIFNhbnMgTW9ubyIsICJOb3RvIFNhbnMgU3ltYm9scyAyIiwgIk5vdG8gU2FucyBTeW1ib2xzIiwgbW9ub3NwYWNlOy0tdGVybS1mb250LXNpemU6IDEwcHggIWltcG9ydGFudDstLXRlcm0tcm93LWhlaWdodDogMTVweCAhaW1wb3J0YW50Oy0tdGVybS1mZzogI2Y1ZWFkYzstLXRlcm0tYmc6IHRyYW5zcGFyZW50Oy0tdGVybS1jdXJzb3I6ICNkNjdiNTI7LS10ZXJtLWNvbG9yLTA6ICMxZjFiMTc7LS10ZXJtLWNvbG9yLTE6ICNkMjc3NjY7LS10ZXJtLWNvbG9yLTI6ICM3ZmEzNmY7LS10ZXJtLWNvbG9yLTM6ICNkNWEzNWI7LS10ZXJtLWNvbG9yLTQ6ICM4N2E5ZDk7LS10ZXJtLWNvbG9yLTU6ICNjNTk1Yzc7LS10ZXJtLWNvbG9yLTY6ICM3ZmIzYjE7LS10ZXJtLWNvbG9yLTc6ICNmNWVhZGM7LS10ZXJtLWNvbG9yLTg6ICM2MjUzNDc7LS10ZXJtLWNvbG9yLTk6ICNlMzlhODk7LS10ZXJtLWNvbG9yLTEwOiAjOWNjMDhhOy0tdGVybS1jb2xvci0xMTogI2ViYmI2ZTstLXRlcm0tY29sb3ItMTI6ICNhOGMxZWE7LS10ZXJtLWNvbG9yLTEzOiAjZGJiMWRjOy0tdGVybS1jb2xvci0xNDogIzlhY2JjYTstLXRlcm0tY29sb3ItMTU6ICNmZmY3ZWZ9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnRlcm1pbmFsLXNjcm9sbC13cmFwIDo6c2VsZWN0aW9ue2JhY2tncm91bmQ6I2Q2N2I1MjQ3fS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsLmlzLXdhbmQtbmF0aXZlLWlucHV0IC5pbnB1dC1wYW5lbHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC53YW5kLWpveXN0aWNrLXJvb3R7ei1pbmRleDoxMjB9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stcm9vdC52aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGV9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stYmFja2Ryb3B7ei1pbmRleDoxMjB9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stYmFsbHt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2NvbG9yOiNmZmY3ZWZmNTtiYWNrZ3JvdW5kOiMyMzFjMThlYjtib3JkZXItY29sb3I6I2ZmZjdlZjNkO2JveC1zaGFkb3c6MCAxMHB4IDI2cHggIzAwMDAwMDYxLGluc2V0IDAgMXB4ICNmZmZmZmYxYTt6LWluZGV4OjEyM30uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAud2FuZC1qb3lzdGljay1iYWxsLnBhbmVsLW9wZW4sLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stYmFsbDphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEuMDQpO2JhY2tncm91bmQ6IzFkMTcxNGZhO2JvcmRlci1jb2xvcjojZmZmN2VmNTd9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stcGFuZWx7ei1pbmRleDoxMjQ7YmFja2dyb3VuZDojMWQxNzE0ZmE7Ym9yZGVyLWNvbG9yOiNmZmY3ZWYyZTtib3gtc2hhZG93OjAgMThweCA0MHB4ICMwMDAwMDA2YixpbnNldCAwIDFweCAjZmZmZmZmMTR9aHRtbC5uby10cmFuc2l0aW9uLGh0bWwubm8tdHJhbnNpdGlvbiAqLGh0bWwubm8tdHJhbnNpdGlvbiAqOmJlZm9yZSxodG1sLm5vLXRyYW5zaXRpb24gKjphZnRlcnt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O2FuaW1hdGlvbjpub25lIWltcG9ydGFudH0qe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MDtwYWRkaW5nOjB9aHRtbHtmb250LXNpemU6MTRweDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7bWluLWhlaWdodDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2Y1ZjNlZX1ib2R5e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDglIC00JSxyZ2JhKDE5NywxMDEsNjEsLjAzNCksdHJhbnNwYXJlbnQgNDIlKSxyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDEwMiUgNDIlLHJnYmEoMTgwLDE1NSwxMzQsLjAyNCksdHJhbnNwYXJlbnQgMzAlKSwjZjVmM2VlO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWluLWhlaWdodDoxMDB2aDttaW4taGVpZ2h0OjEwMGR2aDtoZWlnaHQ6MTAwdmg7aGVpZ2h0OjEwMGR2aDtsaW5lLWhlaWdodDp2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtvdmVyZmxvdzpoaWRkZW59Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo4cHg7aGVpZ2h0OjhweH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Izk2NzY1NTQwO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1NjZ9Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zb2Z0KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfTo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtc29mdCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uaW5wdXQtdGV4dGFyZWE6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOiM0ZjdhNTg0Nztjb2xvcjojMjQxNjBmfS5pbnB1dC10ZXh0YXJlYTo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZDojNGY3YTU4NDc7Y29sb3I6IzI0MTYwZn0uY2hhdC1tZXNzYWdlLnVzZXIgLmNoYXQtbWVzc2FnZS1idWJibGU6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOiNmZmZmZmY1Mjtjb2xvcjojZmZmfS5hcHAtY29udGFpbmVyey0tbGF5b3V0LW1haW4tZmlsZS1wYW5lbC13aWR0aDogdmFyKC0tZmlsZS1wYW5lbC13aWR0aCk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpmaXhlZDt0b3A6dmFyKC0tYXBwLXZpZXdwb3J0LXRvcCwgMHB4KTtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6dmFyKC0tYXBwLXZpZXdwb3J0LWhlaWdodCwgMTAwZHZoKTtvdmVyZmxvdzpoaWRkZW59LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTt3aWR0aDozNHB4O2hlaWdodDozNHB4O3BhZGRpbmc6MDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7YmFja2dyb3VuZDojZmZmYmY1ZDk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Y3Vyc29yOnBvaW50ZXI7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDJweCA4cHggIzAwMDAwMDBmO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGV7bWFyZ2luLXJpZ2h0OjJweH0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlIC5oYW1idXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgxKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSg1cHgpIHJvdGF0ZSg0NWRlZyl9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlIC5oYW1idXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgyKXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWCgwKX0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDMpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpIHJvdGF0ZSgtNDVkZWcpfS5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmJmNWYyO2JveC1zaGFkb3c6MCAzcHggMTJweCAjMDAwMDAwMWF9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGU6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTIpfS5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZTpob3ZlciAuaGFtYnVyZ2VyLWljb24gc3BhbiwubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZTpob3ZlciAuaGFtYnVyZ2VyLWljb24gc3BhbntiYWNrZ3JvdW5kOnZhcigtLXRleHQtcHJpbWFyeSl9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmJmNWYyO2JveC1zaGFkb3c6MCAzcHggMTJweCAjMDAwMDAwMWF9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZXtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBlYXNlfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Mil9LmhhbWJ1cmdlci1pY29ue3dpZHRoOjE2cHg7aGVpZ2h0OjEycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uaGFtYnVyZ2VyLWljb24gc3BhbntkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgdmFyKC0tZWFzZS1vdXQtZXhwbyksb3BhY2l0eSAuMnMgZWFzZSxiYWNrZ3JvdW5kIC4xNXMgZWFzZTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0uZmxvYXRpbmctc2lkZWJhci10b2dnbGU6aG92ZXIgLmhhbWJ1cmdlci1pY29uIHNwYW57YmFja2dyb3VuZDp2YXIoLS10ZXh0LXByaW1hcnkpfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDEpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCkgcm90YXRlKDQ1ZGVnKX0uZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlIC5oYW1idXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgyKXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWCgwKX0uZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlIC5oYW1idXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgzKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KSByb3RhdGUoLTQ1ZGVnKX0udG9wYmFyLWxvZ28taWNvbnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZDQ3ODVhLCNiODU3M2EsI2EwNGEyZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MTBweDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjgwMDtib3gtc2hhZG93OjAgMXB4IDRweCAjYjg1YzM3NDAsaW5zZXQgMCAxcHggI2ZmZjM7bGV0dGVyLXNwYWNpbmc6LS4wMmVtO2ZsZXgtc2hyaW5rOjB9LnN0YXR1cy1kb3R7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS10ZXh0LW11dGVkKX0uc3RhdHVzLWRvdC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKTtib3gtc2hhZG93OjAgMCA4cHggdmFyKC0tc3VjY2Vzcyl9Lm1haW4tbGF5b3V0e2Rpc3BsYXk6ZmxleDtmbGV4OjE7bWluLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6MDt0cmFuc2l0aW9uOnBhZGRpbmctbGVmdCB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCl9LnNpZGViYXItb3Blbjpub3QoLnNpZGViYXItcGlubmVkKSAuaW5wdXQtcGFuZWx7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLHZpc2liaWxpdHkgMHMgbGluZWFyIC4yc30ubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWR7cGFkZGluZy1sZWZ0OnZhcigtLXNpZGViYXItd2lkdGgpO3RyYW5zaXRpb246cGFkZGluZy1sZWZ0IC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKX0ubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWQgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xle2Rpc3BsYXk6bm9uZX0ubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWQuc2lkZWJhci1jb2xsYXBzZWR7cGFkZGluZy1sZWZ0OnZhcigtLXNpZGViYXItY29sbGFwc2VkLXdpZHRoKX0uZHJhd2VyLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDo0NDtiYWNrZ3JvdW5kOnZhcigtLWJnLW92ZXJsYXkpO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIHZhcigtLWVhc2UtaW4tb3V0LXNtb290aCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNHB4KX0uZHJhd2VyLWJhY2tkcm9wLm9wZW57b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX0uc2lkZWJhcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7Ym90dG9tOjA7ei1pbmRleDo0NTt3aWR0aDptaW4odmFyKC0tc2lkZWJhci13aWR0aCksY2FsYygxMDB2dyAtIDIwcHgpKTttYXgtd2lkdGg6OTB2dztiYWNrZ3JvdW5kOiNmZmZiZjVmNTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWhlaWdodDowO2JhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6NHB4IDAgMzJweCAjNTkzYTIwMTQ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyB2YXIoLS1lYXNlLW91dC1leHBvKSxib3gtc2hhZG93IC4zNXMgZWFzZSxvcGFjaXR5IC4yNXMgZWFzZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH0uc2lkZWJhci5vcGVue3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7Ym94LXNoYWRvdzo4cHggMCA0MHB4ICM1OTNhMjAyNjtwb2ludGVyLWV2ZW50czphdXRvO29wYWNpdHk6MX0uc2lkZWJhci5waW5uZWR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTtwb2ludGVyLWV2ZW50czphdXRvO29wYWNpdHk6MTtib3gtc2hhZG93Om5vbmU7dHJhbnNpdGlvbjp3aWR0aCAuM3MgdmFyKC0tZWFzZS1vdXQtZXhwbyksdHJhbnNmb3JtIC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksYm94LXNoYWRvdyAuMzVzIGVhc2Usb3BhY2l0eSAuMjVzIGVhc2V9LnNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlci1hY3Rpb25zIC5zaWRlYmFyLWNsb3Nle2Rpc3BsYXk6bm9uZX0uc2lkZWJhci5waW5uZWQuY29sbGFwc2Vke3dpZHRoOnZhcigtLXNpZGViYXItY29sbGFwc2VkLXdpZHRoKX0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlcntwYWRkaW5nOjE0cHggOHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjB9LnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1oZWFkZXItbWFpbiwuc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlci1tb3JlLC5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItcGluLXRvZ2dsZSwuc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWZvb3RlcntkaXNwbGF5Om5vbmV9LnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1oZWFkZXItYWN0aW9uc3tnYXA6MDt3aWR0aDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1ib2R5e3BhZGRpbmc6OHB4IDRweDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59LnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1ib2R5Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDowfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7YWxpZ24taXRlbXM6Y2VudGVyfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxle3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxMXB4O2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMyKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsI2Q0Nzg1YSwjYjg1NzNhLCNhMDRhMmUpO2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztsZXR0ZXItc3BhY2luZzotLjAxZW07Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjA7Ym94LXNoYWRvdzowIDFweCAycHggI2I4NWMzNzM4LGluc2V0IDAgMXB4ICNmZmZmZmY0Nzt0cmFuc2l0aW9uOmZpbHRlciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJveC1zaGFkb3cgLjIycyBlYXNlLHRyYW5zZm9ybSAuMjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlOmhvdmVye2ZpbHRlcjpicmlnaHRuZXNzKDEuMDYpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCA0cHggMTBweCAtM3B4ICNiODVjMzc1YyxpbnNldCAwIDFweCAjZmZmZmZmNTJ9LnNpZGViYXItY29sbGFwc2VkLXRpbGUuYWRke2JhY2tncm91bmQ6I2I4NWMzNzBmO2JvcmRlcjoxLjVweCBkYXNoZWQgcmdiYSgxODQsOTIsNTUsLjUpO2NvbG9yOiNhMDRhMmU7Ym94LXNoYWRvdzpub25lO21hcmdpbi10b3A6MnB4fS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmFkZDpob3ZlcntmaWx0ZXI6bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtiYWNrZ3JvdW5kOiNiODVjMzcxZjtib3JkZXItY29sb3I6I2I4NWMzN2I4O2JveC1zaGFkb3c6MCAzcHggOHB4IC0zcHggI2I4NWMzNzUyfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmFkZDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjk0KX0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCNkMjczNTgsI2IzNTQzNCwjOTM0MTI4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgMCAwIDJweCAjYzU2NTNkNGQsMCA1cHggMTRweCAtNHB4ICNhMDRhMmU3MyxpbnNldCAwIDFweCAjZmZmNn0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjk0KTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wOHN9LnNpZGViYXItdGlsZS1idWJibGV7cG9zaXRpb246Zml4ZWQ7bWF4LXdpZHRoOjMyMHB4O21pbi13aWR0aDo4MHB4O3BhZGRpbmc6OXB4IDEzcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCNmZmZiZjVmYywjZmNmNGU5ZmMpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSwgcmdiYSgxMjAsIDg4LCA1NiwgLjE4KSk7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaGFkb3c6MCA2cHggMjRweCAtNHB4ICM1OTNhMjAzOCwwIDJweCA2cHggIzU5M2EyMDE0LGluc2V0IDAgMXB4ICNmZmZmZmZhNjtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjQ2O2NvbG9yOiMzODI0MTJlYjt6LWluZGV4OjIwMDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC00cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xOHMgdmFyKC0tZWFzZS1vdXQtZXhwbywgZWFzZSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpIHNhdHVyYXRlKDE2MCUpfS5zaWRlYmFyLXRpbGUtYnViYmxlLnZpc2libGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9LnNpZGViYXItdGlsZS1idWJibGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotNnB4O3RvcDp2YXIoLS1idWJibGUtdGFpbC15LCA1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7d2lkdGg6MTFweDtoZWlnaHQ6MTFweDtiYWNrZ3JvdW5kOmluaGVyaXQ7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUsIHJnYmEoMTIwLCA4OCwgNTYsIC4xOCkpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUsIHJnYmEoMTIwLCA4OCwgNTYsIC4xOCkpO2JveC1zaGFkb3c6LTJweCAycHggNXB4IC0ycHggIzU5M2EyMDE0fS5zaWRlYmFyLWNvbGxhcHNlLXRvZ2dsZXtmbGV4LXNocmluazowO3RyYW5zaXRpb246Y29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2lkZWJhci1jb2xsYXBzZS10b2dnbGUuY29sbGFwc2Vke2NvbG9yOnZhcigtLXByaW1hcnkpfS5zaWRlYmFyLXBpbi10b2dnbGV7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKX0uc2lkZWJhci1waW4tdG9nZ2xlLnBpbm5lZHtiYWNrZ3JvdW5kOiNjNTY1M2QxZjtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5zaWRlYmFyLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MTJweCAxNHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6I2ZmZmJmNWNjO2ZsZXgtc2hyaW5rOjA7bWluLWhlaWdodDo1MnB4O2dhcDoxMHB4fS5zaWRlYmFyLWhlYWRlci1tYWlue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjlweDttaW4td2lkdGg6MDtmbGV4OjF9LnNpZGViYXItaGVhZGVyLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2ZsZXgtc2hyaW5rOjB9LnNpZGViYXItaGVhZGVyLW1vcmV7cG9zaXRpb246cmVsYXRpdmV9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93e2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNnB4KTtyaWdodDowO21pbi13aWR0aDoxNTBweDtiYWNrZ3JvdW5kOiNmZmZiZjVmYTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3gtc2hhZG93OjAgNHB4IDIwcHggIzU5M2EyMDFmO3BhZGRpbmc6NHB4O3otaW5kZXg6NjB9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93Lm9wZW57ZGlzcGxheTpibG9jazthbmltYXRpb246ZmFkZVNsaWRlRG93biAuMTVzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjlweCAxMnB4O2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW06YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTcpfUBrZXlmcmFtZXMgZmFkZVNsaWRlRG93bnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uc2lkZWJhci1sb2dvdXR7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNzt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLWxvZ291dDpob3ZlcntvcGFjaXR5OjE7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5zaWRlYmFyLXN3aXRjaC1zZXJ2ZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNzt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLXN3aXRjaC1zZXJ2ZXI6aG92ZXJ7b3BhY2l0eToxO2NvbG9yOnZhcigtLXByaW1hcnksIHZhcigtLXRleHQtc2Vjb25kYXJ5KSl9LmxvZ2luLXN3aXRjaC1zZXJ2ZXJ7bWFyZ2luLXRvcDoxMHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjZweDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmxvZ2luLXN3aXRjaC1zZXJ2ZXIgc3Zne29wYWNpdHk6Ljc1fS5sb2dpbi1zd2l0Y2gtc2VydmVyOmhvdmVye2NvbG9yOnZhcigtLXByaW1hcnksIHZhcigtLXRleHQtcHJpbWFyeSkpfS5zaWRlYmFyLXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDFlbTt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1jb3VudHtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtd2VpZ2h0OjYwMH0uc2lkZWJhci1jbG9zZXtmbGV4LXNocmluazowfS5maWxlLWV4cGxvcmVye2ZsZXg6MTtvdmVyZmxvdy15OmF1dG87cGFkZGluZzo4cHggMDttaW4taGVpZ2h0OjB9LmZpbGUtZXhwbG9yZXIuZW1wdHl7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MjRweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjgxMjVyZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZpbGUtdHJlZXtmb250LXNpemU6LjgxMjVyZW19LnRyZWUtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7cGFkZGluZzo0cHggMTJweDtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjZweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt1c2VyLXNlbGVjdDpub25lO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udHJlZS1pdGVtOmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmZmZmYjMsI2ZmZmNmNzY2KTtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmZiM30udHJlZS1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2ViLCNmZmY0ZThiZik7Y29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMCAwIDFweCAjYzU2NTNkMzgsMCAzcHggMTBweCAtM3B4ICNjNTY1M2Q0MCxpbnNldCAwIDFweCAjZmZmZmZmZDl9LnRyZWUtdG9nZ2xle2ZsZXgtc2hyaW5rOjA7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udHJlZS10b2dnbGUub3Blbnt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0udHJlZS10b2dnbGUuZW1wdHl7dmlzaWJpbGl0eTpoaWRkZW59LnRyZWUtaWNvbntmbGV4LXNocmluazowO2ZvbnQtc2l6ZToxcmVtO21hcmdpbi1yaWdodDo2cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0udHJlZS1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZsZXg6MTttaW4td2lkdGg6MH0udHJlZS1jaGlsZHJlbntkaXNwbGF5Om5vbmV9LnRyZWUtY2hpbGRyZW4ub3BlbntkaXNwbGF5OmJsb2NrfS5maWxlLWV4cGxvcmVyLWhlYWRlcntwYWRkaW5nOjEwcHggMTRweCA2cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbGJhci13aWR0aDp0aGlufS5maWxlLWV4cGxvcmVyLXBhdGh7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjE7bWluLXdpZHRoOjA7Zm9udC13ZWlnaHQ6NTAwfWlucHV0LmZpbGUtZXhwbG9yZXItcGF0aHtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjZweCAxMHB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjEuMjtjdXJzb3I6dGV4dDtjYXJldC1jb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO291dGxpbmU6bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOm1heC1jb250ZW50O21pbi13aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH1pbnB1dC5maWxlLWV4cGxvcmVyLXBhdGg6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6LjZ9aW5wdXQuZmlsZS1leHBsb3Jlci1wYXRoOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfWlucHV0LmZpbGUtZXhwbG9yZXItcGF0aDpmb2N1c3tiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dGV4dC1vdmVyZmxvdzpjbGlwO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCl9LmZpbGUtZXhwbG9yZXItcmVmcmVzaHtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjFyZW07cGFkZGluZzo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmZpbGUtZXhwbG9yZXItcmVmcmVzaDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZpbGUtc2lkZS1wYW5lbHtwb3NpdGlvbjpmaXhlZDtyaWdodDpjYWxjKC0xICogdmFyKC0tZmlsZS1wYW5lbC13aWR0aCkpO3RvcDowO2JvdHRvbTowO3dpZHRoOnZhcigtLWZpbGUtcGFuZWwtd2lkdGgpO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7ei1pbmRleDo1NTt0cmFuc2l0aW9uOnJpZ2h0IC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKSxib3gtc2hhZG93IC4zcyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym94LXNoYWRvdzotNHB4IDAgMjRweCAjMDAwMDAwMWE7cGFkZGluZy10b3A6dmFyKC0td2FuZC1zYWZlLXRvcCk7cGFkZGluZy1ib3R0b206dmFyKC0td2FuZC1zYWZlLWJvdHRvbSl9LmZpbGUtc2lkZS1wYW5lbC5vcGVue3JpZ2h0OjA7Ym94LXNoYWRvdzotOHB4IDAgMzJweCAjNTkzYTIwMjZ9LmZpbGUtcGFuZWwtYmFja2Ryb3B7ZGlzcGxheTpub25lfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5maWxlLXBhbmVsLWJhY2tkcm9we2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMyYTFjMTI0ZDt6LWluZGV4OjU0O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigycHgpfS5maWxlLXBhbmVsLWJhY2tkcm9wLm9wZW57b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LnNpZGViYXItcGluLXRvZ2dsZXtkaXNwbGF5Om5vbmV9fS5maWxlLXNpZGUtcGFuZWwtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxMnB4IDE0cHggMTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtmbGV4LXNocmluazowO2dhcDo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZmY2LCNmZmYwKX0uZmlsZS1zaWRlLXBhbmVsLXRpdGxlLWdyb3Vwe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4td2lkdGg6MDtmbGV4OjF9LmZpbGUtc2lkZS1wYW5lbC1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tYWNjZW50KTtvcGFjaXR5Oi44NX0uZmlsZS1zaWRlLXBhbmVsLXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi4wMWVtfS5maWxlLXNpZGUtcGFuZWwtaGVhZGVyLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2ZsZXgtc2hyaW5rOjB9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1zdWJ0bGUpfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuLmFjdGl2ZXtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXItY29sb3I6I2Q0OTg2MzU5fS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bi5jbG9zZTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6I2RjNDY0NjE0O2JvcmRlci1jb2xvcjojZGM0NjQ2NDB9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuIC53YW5kLWljb257ZGlzcGxheTpibG9ja30uZmlsZS1zaWRlLXBhbmVsLWljb25idG46aG92ZXIgLndhbmQtaWNvbi1yZWZyZXNoe3RyYW5zZm9ybTpyb3RhdGUoNjBkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LmZpbGUtc2lkZS1wYW5lbC1ib2R5e2ZsZXg6MTttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW59LmdpdC1zdGF0dXMtYmFkZ2V7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MXB4IDVweDtib3JkZXItcmFkaXVzOjNweDttaW4td2lkdGg6MThweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pfS5naXQtYWRkZWR7YmFja2dyb3VuZDojMjI4YjIyMjY7Y29sb3I6IzIyOGIyMn0uZ2l0LW1vZGlmaWVke2JhY2tncm91bmQ6I2ZmYTUwMDI2O2NvbG9yOm9yYW5nZX0uZ2l0LWRlbGV0ZWR7YmFja2dyb3VuZDojZGMxNDNjMjY7Y29sb3I6I2RjMTQzY30uZ2l0LXJlbmFtZWR7YmFja2dyb3VuZDojNDY4MmI0MjY7Y29sb3I6IzQ2ODJiNH0uZ2l0LXVuc3RhZ2Vke2JhY2tncm91bmQ6I2ZmOGMwMDI2O2NvbG9yOiNmZjhjMDB9LmdpdC11bnN0YWdlZC1kZWxldGVke2JhY2tncm91bmQ6I2RjMTQzYzI2O2NvbG9yOiNkYzE0M2N9LmdpdC11bnRyYWNrZWR7YmFja2dyb3VuZDojODA4MDgwMjY7Y29sb3I6Z3JheX0uZmlsZS1zZWFyY2gtYm94e3BhZGRpbmc6OHB4IDEycHggMTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmV9LmZpbGUtc2VhcmNoLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDoyMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5Oi43fS5maWxlLXNlYXJjaC1pbnB1dHtmbGV4OjE7cGFkZGluZzo3cHggMzJweCA3cHggMzBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7bWluLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6LjgxMjVyZW07Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtjYXJldC1jb2xvcjp2YXIoLS1hY2NlbnQpO291dGxpbmU6bm9uZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzIGVhc2UsYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMTVzIGVhc2V9LmZpbGUtc2VhcmNoLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tYWNjZW50LW11dGVkKX0uZmlsZS1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5maWxlLXNlYXJjaC1jbGVhcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxOHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6NHB4O3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlfS5maWxlLXNlYXJjaC1jbGVhcjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5maWxlLXNlYXJjaC1jbGVhci52aXNpYmxle2Rpc3BsYXk6aW5saW5lLWZsZXh9LmZpbGUtc2VhcmNoLWNsZWFyOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uc2lkZWJhci1ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO21pbi1oZWlnaHQ6MDtvdmVyZmxvdy15OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7cG9zaXRpb246cmVsYXRpdmV9LnNpZGViYXItaW50cm97Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbnMtbGlzdHtmbGV4OjEgMCBhdXRvO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93OnZpc2libGU7cGFkZGluZzoxMHB4IDEwcHggMTJweH0jc2Vzc2lvbnMtcGFuZWx7ZGlzcGxheTpjb250ZW50c30uc2Vzc2lvbnMtbGlzdDplbXB0eTpiZWZvcmV7Y29udGVudDoiXDY2ODJcNjVlMFw0ZjFhXDhiZGQiO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4taGVpZ2h0OjIwMHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODc1cmVtfS5zZXNzaW9uLWdyb3Vwe21hcmdpbi1ib3R0b206MTRweH0uc2Vzc2lvbi1ncm91cDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uc2Vzc2lvbi1ncm91cC10aXRsZXtwYWRkaW5nOjRweCA2cHggMTBweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4fS5zZXNzaW9uLWdyb3VwLXRpdGxlOmJlZm9yZXtjb250ZW50OiIiO3dpZHRoOjNweDtoZWlnaHQ6MTJweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7b3BhY2l0eTouNjU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCl9LmNsYXVkZS1oaXN0b3J5LXByZXZpZXd7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXNzaW9uLWl0ZW17d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZDojZmZmY2Y3ZWI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEwcHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtwYWRkaW5nOjEwcHggMTJweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZSx0cmFuc2Zvcm0gLjFzIGVhc2U7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTttYXJnaW4tYm90dG9tOjZweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnNlc3Npb24taXRlbTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjZweDtib3R0b206NnB4O3dpZHRoOjNweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVkoMCk7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7Ym9yZGVyLXJhZGl1czoycHh9LnNlc3Npb24taXRlbS1yb3d7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5zZXNzaW9uLWl0ZW0tY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOmluaGVyaXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utb3V0LWV4cG8pLGJhY2tncm91bmQgLjE4cyBlYXNlO3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0uc2Vzc2lvbi1pdGVtLnN3aXBlZCAuc2Vzc2lvbi1pdGVtLWNvbnRlbnR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNzJweCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdmNSwjZmNmNmVkZjApfS5zZXNzaW9uLXN3aXBlLWJne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpzdHJldGNoO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjE4cyBlYXNlfS5zZXNzaW9uLWl0ZW0uc3dpcGVkIC5zZXNzaW9uLXN3aXBlLWJne29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS5zZXNzaW9uLXN3aXBlLWRlbGV0ZXt3aWR0aDo3MnB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcik7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6M3B4O2ZvbnQ6aW5oZXJpdDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2N1cnNvcjpwb2ludGVyfS5zZXNzaW9uLXN3aXBlLWRlbGV0ZSBzdmd7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2t7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7bWFyZ2luLXJpZ2h0OjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2sgaW5wdXR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXJ9LnNlc3Npb24tbWFuYWdlLWNoZWNrIHNwYW57d2lkdGg6MThweDtoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjZweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4yMik7YmFja2dyb3VuZDojZmZmYmY1OGM7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmNjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZX0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2s6aG92ZXIgc3BhbntiYWNrZ3JvdW5kOiNmZmZiZjVjYztib3JkZXItY29sb3I6IzdkNWIzOTU5fS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dDpjaGVja2VkK3NwYW57YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dDpjaGVja2VkK3NwYW46YWZ0ZXJ7Y29udGVudDoiXDI3MTMiO2NvbG9yOiNmZmY7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo3MDB9LnNlc3Npb24taXRlbS5zZWxlY3RlZHtib3JkZXItY29sb3I6I2M1NjUzZDU5O2JhY2tncm91bmQ6I2ZmZjVlZWY1fS5zZXNzaW9uLWl0ZW0tcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fUBrZXlmcmFtZXMgc2Vzc2lvbi1kZWxldGUtY29sbGFwc2V7dG97bWF4LWhlaWdodDowO29wYWNpdHk6MDttYXJnaW4tYm90dG9tOjA7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO2JvcmRlci13aWR0aDowfX0uc2Vzc2lvbi1pdGVtLmRlbGV0aW5ne2FuaW1hdGlvbjpzZXNzaW9uLWRlbGV0ZS1jb2xsYXBzZSAuM3MgZWFzZS1vdXQgZm9yd2FyZHM7b3ZlcmZsb3c6aGlkZGVuO21heC1oZWlnaHQ6MTIwcHg7cG9pbnRlci1ldmVudHM6bm9uZX0uc2Vzc2lvbi1tYWlue2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDozcHg7cGFkZGluZy1yaWdodDo2MHB4fS5zZXNzaW9uLXRpdGxlLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4fS5zZXNzaW9uLXRpdGxlLXJvdyAuc2Vzc2lvbi10aXRsZSwuc2Vzc2lvbi10aXRsZS1yb3cgLnNlc3Npb24tY29tbWFuZHtmbGV4OjE7bWluLXdpZHRoOjB9LnNlc3Npb24tdGltZXtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6MS40O3BhZGRpbmctdG9wOjFweH0uc2Vzc2lvbi1hY3Rpdml0eXtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tYWNjZW50KTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bGluZS1oZWlnaHQ6MS4zO29wYWNpdHk6Ljg1fS5zZXNzaW9uLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bGluZS1oZWlnaHQ6MS4zNX0uc2Vzc2lvbi1yZWNvdmVyeS1oaW50e2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6Izk2NzY1NTE0O3BhZGRpbmc6MXB4IDVweDtib3JkZXItcmFkaXVzOjNweH0uc2Vzc2lvbi1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7bWluLWhlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4O3BhZGRpbmc6MDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOi44MTI1cmVtO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXJ9LnNlc3Npb24tYWN0aW9uLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiM5Njc2NTUxYTtjb2xvcjp2YXIoLS1hY2NlbnQpfS5zZXNzaW9uLWFjdGlvbi1idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMXN9LnNlc3Npb24tYWN0aW9uLWJ0biBzdmd7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1hY3Rpb24tYnRuLmRlbGV0ZS1idG46aG92ZXJ7YmFja2dyb3VuZDojZTc0YzNjMTQ7Y29sb3I6I2QzNTI0NH0uc2Vzc2lvbi1hY3Rpb24tYnRuLm1lcmdlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiMyZjgwZWQxYTtjb2xvcjojMmY4MGVkfS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWUtbWVyZ2V7YmFja2dyb3VuZDojMmY4MGVkMWY7Y29sb3I6IzJmODBlZH0uc2Vzc2lvbi1raW5kLWJhZGdlLndvcmt0cmVlLW1lcmdlLmZhaWxlZHtiYWNrZ3JvdW5kOiNlNzRjM2MxZjtjb2xvcjojZDM1MjQ0fS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWUtbWVyZ2UubWVyZ2Vke2JhY2tncm91bmQ6IzI3YWU2MDFmO2NvbG9yOiMyMTk2NTN9LnNlc3Npb24ta2luZC1iYWRnZS53b3JrdHJlZS1tZXJnZS5tZXJnaW5nLC5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWUtbWVyZ2UuY2hlY2tpbmd7YmFja2dyb3VuZDojZjI5OTRhMWY7Y29sb3I6I2MxN2MyYn0ubW9kYWwtc3VidGl0bGV7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLWFjdGlvbi1idG5bZGlzYWJsZWRde29wYWNpdHk6LjQ1O2N1cnNvcjpub3QtYWxsb3dlZH0uc2Vzc2lvbi1hY3Rpb24tYnRuW2Rpc2FibGVkXTpob3ZlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfUBtZWRpYShob3Zlcjpob3Zlcil7LnNlc3Npb24taXRlbSAuc2Vzc2lvbi1hY3Rpb25ze29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2V9LnNlc3Npb24taXRlbTpob3ZlciAuc2Vzc2lvbi1hY3Rpb25zLC5zZXNzaW9uLWl0ZW0uYWN0aXZlIC5zZXNzaW9uLWFjdGlvbnMsLnNlc3Npb24taXRlbS5zd2lwZWQgLnNlc3Npb24tYWN0aW9uc3tvcGFjaXR5OjF9LnNlc3Npb24taXRlbSAuc2Vzc2lvbi1hY3Rpb25zOmhhcyguc2Vzc2lvbi1hY3Rpb24tYnRuW2RhdGEtYWN0aW9uPXJlc3VtZV0pe29wYWNpdHk6MX19QG1lZGlhKGhvdmVyOm5vbmUpey5zZXNzaW9uLWl0ZW0gLnNlc3Npb24tYWN0aW9uc3tvcGFjaXR5OjF9fS5zZXNzaW9uLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDojZmZmZGZhZjU7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1kZWZhdWx0KTtib3gtc2hhZG93OjAgMnB4IDhweCAjNTkzYTIwMTJ9LnNlc3Npb24taXRlbTpob3ZlcjpiZWZvcmV7b3BhY2l0eTouNTt0cmFuc2Zvcm06c2NhbGVZKDEpfS5zZXNzaW9uLWl0ZW0uYWN0aXZle2JhY2tncm91bmQ6I2ZmZjdmMGY1O2JvcmRlci1jb2xvcjojYzU2NTNkNGQ7Ym94LXNoYWRvdzowIDJweCA4cHggI2M1NjUzZDFhfS5zZXNzaW9uLWl0ZW06YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTkpO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5zZXNzaW9uLWNvbW1hbmR7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouODEyNXJlbTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDFlbX0uc2Vzc2lvbi10aXRsZXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44MTI1cmVtO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDFlbTtsaW5lLWhlaWdodDoxLjN9QGtleWZyYW1lcyB0aXRsZUdlbmVyYXRpbmdSaHl0aG17MCUsdG97b3BhY2l0eTouNjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NTAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX19LnRpdGxlLWdlbmVyYXRpbmd7YW5pbWF0aW9uOnRpdGxlR2VuZXJhdGluZ1JoeXRobSAxLjE1cyBjdWJpYy1iZXppZXIoLjQ1LDAsLjU1LDEpIGluZmluaXRlO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBjZW50ZXJ9QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsudGl0bGUtZ2VuZXJhdGluZ3thbmltYXRpb246bm9uZSFpbXBvcnRhbnQ7b3BhY2l0eTouNzI7dHJhbnNmb3JtOm5vbmV9fS5zZXNzaW9uLW1ldGF7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmbGV4LXdyYXA6d3JhcH0uc2Vzc2lvbi1zdGF0dXN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouNjg3NXJlbTt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zZXNzaW9uLXN0YXR1cy1kb3R7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1zdGF0dXMucnVubmluZyAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyk7Ym94LXNoYWRvdzowIDAgNXB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyk7YW5pbWF0aW9uOnN0YXR1cy1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZX0uc2Vzc2lvbi1zdGF0dXMuZXhpdGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS10ZXh0LW11dGVkKX0uc2Vzc2lvbi1zdGF0dXMuZmFpbGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLXN0YXR1cy5zdG9wcGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKX0uc2Vzc2lvbi1zdGF0dXMucnVubmluZ3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5zZXNzaW9uLXN0YXR1cy5mYWlsZWR7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcil9LnNlc3Npb24tc3RhdHVzLnN0b3BwZWR7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKTtjb2xvcjp2YXIoLS13YXJuaW5nKX0uc2Vzc2lvbi1zdGF0dXMucGVybWlzc2lvbi1ibG9ja2Vke2JhY2tncm91bmQ6I2YwYTUwMDI0O2NvbG9yOiNkMThiMDB9LnNlc3Npb24tc3RhdHVzLmV4aXRlZCwuc2Vzc2lvbi1zdGF0dXMuYXJjaGl2ZWR7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9QGtleWZyYW1lcyBzdGF0dXMtcHVsc2V7MCUsdG97b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi41fX0uc2Vzc2lvbi1pZHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6Izk2NzY1NTFmO3BhZGRpbmc6MnB4IDZweDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9LnNpZGViYXItZm9vdGVye3BhZGRpbmc6MTJweCAxMnB4IDE0cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtiYWNrZ3JvdW5kOiNmZmZiZjViM30uc2lkZWJhci1mb290ZXItYWN0aW9uc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoNTZweCwxZnIpKTtnYXA6NHB4fS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NHB4O2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtwYWRkaW5nOjdweCA0cHg7bWluLWhlaWdodDo0NnB4O2JvcmRlci1yYWRpdXM6OXB4O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0biBzdmd7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtmbGV4LXNocmluazowO29wYWNpdHk6Ljg1O3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG46aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtiYWNrZ3JvdW5kOiM5Njc2NTUxNDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuOmhvdmVyIHN2Z3tvcGFjaXR5OjF9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMXN9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bi5oaWRkZW57ZGlzcGxheTpub25lfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5zaWRlYmFyLWxvZ291dHtwb3NpdGlvbjpyZWxhdGl2ZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuc2lkZWJhci1sb2dvdXQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotM3B4O3RvcDoyMiU7Ym90dG9tOjIyJTt3aWR0aDoxcHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXItc3VidGxlKTtwb2ludGVyLWV2ZW50czpub25lfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5zaWRlYmFyLWxvZ291dDpob3Zlcntjb2xvcjp2YXIoLS1kYW5nZXIpO2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuc2lkZWJhci1sb2dvdXQ6aG92ZXIgc3Zne2NvbG9yOnZhcigtLWRhbmdlcil9LnRvcGJhci1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NXB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo1MDA7cGFkZGluZzo2cHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2hlaWdodDozMnB4O21pbi1oZWlnaHQ6MzJweDt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNpemluZzpib3JkZXItYm94O2xpbmUtaGVpZ2h0OjE7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnRvcGJhci1idG46aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmODA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0udG9wYmFyLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9LnRvcGJhci1idG4uYWN0aXZle2JhY2tncm91bmQ6I2ZmZmZmZmIzO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC13ZWlnaHQ6NjAwO2JveC1zaGFkb3c6MCAxcHggNHB4ICM1OTNhMjAxYX0udG9wYmFyLWJ0bi5zcXVhcmV7d2lkdGg6MzJweDtwYWRkaW5nOjA7Zm9udC1zaXplOi44NzVyZW19I3Rlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjojYzU2NTNkMzN9I3Rlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AuYWN0aXZlOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDJlfS5idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NnB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0uMDA1ZW07cGFkZGluZzowIDE2cHg7aGVpZ2h0OjM4cHg7bWluLWhlaWdodDozOHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlvbjpyZWxhdGl2ZTt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuOmZvY3Vze291dGxpbmU6bm9uZX0uYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lO2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLDAgMCAwIDRweCB2YXIoLS1hY2NlbnQpfS5idG46ZGlzYWJsZWQsLmJ0bltkaXNhYmxlZF17b3BhY2l0eTouNDU7Y3Vyc29yOm5vdC1hbGxvd2VkO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9LmJ0bi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQtaG92ZXIpIDAlLHZhcigtLWFjY2VudCkgMTAwJSk7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtib3gtc2hhZG93OjAgMXB4IDJweCAjYzU2NTNkNTIsMCA0cHggMTBweCAtMnB4ICNjNTY1M2Q1MixpbnNldCAwIDFweCAjZmZmZmZmMzgsaW5zZXQgMCAtMXB4ICM1OTNhMjAyZX0uYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNkNjg1NWUgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgMnB4IDRweCAjYzU2NTNkNTIsMCA4cHggMjBweCAtNHB4ICNjNTY1M2Q2NixpbnNldCAwIDFweCAjZmZmZmZmNDcsaW5zZXQgMCAtMXB4ICM1OTNhMjAyZX0uYnRuLXByaW1hcnk6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudC1hY3RpdmUpIDEwMCUpO2JveC1zaGFkb3c6MCAxcHggMnB4ICNjNTY1M2Q0NyxpbnNldCAwIDFweCAjNTkzYTIwMmU7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tc2Vjb25kYXJ5e2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTI0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmJ0bi1zZWNvbmRhcnk6YWN0aXZle2JhY2tncm91bmQ6IzdkNWIzOTMzO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uYnRuLWdob3N0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWdob3N0OmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmJ0bi1naG9zdDphY3RpdmV7YmFja2dyb3VuZDojN2Q1YjM5MjQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tZGFuZ2Vye2JhY2tncm91bmQ6I2IyNGY0NTE0O2NvbG9yOnZhcigtLWRhbmdlcik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTI5O2NvbG9yOnZhcigtLWRhbmdlcil9LmJ0bi1kYW5nZXI6YWN0aXZle2JhY2tncm91bmQ6I2IyNGY0NTNkO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uYnRuLWRhbmdlcjpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLDAgMCAwIDRweCB2YXIoLS1kYW5nZXIpfS5idG4tc3VjY2Vzc3tiYWNrZ3JvdW5kOiM0ZjdhNTgxYTtjb2xvcjp2YXIoLS1zdWNjZXNzKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQ6IzRmN2E1ODJlO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5idG4tc3VjY2VzczphY3RpdmV7YmFja2dyb3VuZDojNGY3YTU4NDI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tc3VjY2Vzczpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLDAgMCAwIDRweCB2YXIoLS1zdWNjZXNzKX0uYnRuLWJsb2Nre3dpZHRoOjEwMCV9LmJ0bi14c3toZWlnaHQ6MjZweDttaW4taGVpZ2h0OjI2cHg7cGFkZGluZzowIDEwcHg7Zm9udC1zaXplOi43NXJlbTtib3JkZXItcmFkaXVzOjdweDtnYXA6NHB4fS5idG4tc217aGVpZ2h0OjMycHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtc2l6ZTouODEyNXJlbTtib3JkZXItcmFkaXVzOjhweDtnYXA6NXB4fS5idG4taWNvbntwYWRkaW5nOjA7d2lkdGg6MzZweDttaW4td2lkdGg6MzZweDtoZWlnaHQ6MzZweDttaW4taGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Z2FwOjB9LmJ0bi1pY29uLmJ0bi1zbXt3aWR0aDozMHB4O21pbi13aWR0aDozMHB4O2hlaWdodDozMHB4O21pbi1oZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjdweH0uYnRuLWljb24gc3Zne2ZsZXgtc2hyaW5rOjB9Lm1haW4tY29udGVudHtmbGV4OjE7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmV9Lm1haW4tY29udGVudC5maWxlLXBhbmVsLW9wZW57bWFyZ2luLXJpZ2h0OnZhcigtLWxheW91dC1tYWluLWZpbGUtcGFuZWwtd2lkdGgpO3RyYW5zaXRpb246bWFyZ2luLXJpZ2h0IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRlcm1pbmFsLWluZm97Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwfS5tYWluLWhlYWRlci1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjZweCAxMHB4O2ZsZXgtc2hyaW5rOjA7bWluLWhlaWdodDo0NHB4O2dhcDo4cHg7cG9zaXRpb246cmVsYXRpdmV9Lm1haW4taGVhZGVyLXJvdzphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2hlaWdodDoycHg7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjg1KSAzNSUscmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLDEpIDUwJSxyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjg1KSA2NSUsdHJhbnNwYXJlbnQgMTAwJSk7YmFja2dyb3VuZC1zaXplOjIyMCUgMTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgY2VudGVyO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlfS5tYWluLWhlYWRlci1yb3cuaXMtcnVubmluZzphZnRlcntvcGFjaXR5OjE7YW5pbWF0aW9uOnRvcGJhclByb2dyZXNzRmxvdyAxLjZzIGxpbmVhciBpbmZpbml0ZX0ubWFpbi1oZWFkZXItcm93LmlzLXBlcm1pc3Npb24tYmxvY2tlZDphZnRlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKDE2OSwxMDYsNDcsLjg1KSAzNSUscmdiYSgxNjksMTA2LDQ3LDEpIDUwJSxyZ2JhKDE2OSwxMDYsNDcsLjg1KSA2NSUsdHJhbnNwYXJlbnQgMTAwJSk7YmFja2dyb3VuZC1zaXplOjIyMCUgMTAwJTthbmltYXRpb24tZHVyYXRpb246Mi40c31Aa2V5ZnJhbWVzIHRvcGJhclByb2dyZXNzRmxvd3swJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgY2VudGVyfXRve2JhY2tncm91bmQtcG9zaXRpb246LTEwMCUgY2VudGVyfX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5tYWluLWhlYWRlci1yb3cuaXMtcnVubmluZzphZnRlcnthbmltYXRpb246bm9uZTtvcGFjaXR5Oi43fX0udG9wYmFyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZsZXgtc2hyaW5rOjB9LnRvcGJhci1jZW50ZXJ7ZmxleDoxO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtvdmVyZmxvdzpoaWRkZW59LnRvcGJhci1yaWdodHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7ZmxleC1zaHJpbms6MH0udG9wYmFyLWJyYW5ke2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tYWNjZW50KSx2YXIoLS1hY2NlbnQtYWN0aXZlKSk7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi44NXJlbTtsZXR0ZXItc3BhY2luZzouMDJlbTtib3gtc2hhZG93OjAgMXB4IDNweCAjNTkzYTIwMmU7dXNlci1zZWxlY3Q6bm9uZTtmbGV4LXNocmluazowfS50b3BiYXItc2Vzc2lvbi10aXRsZXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmbGV4LXNocmluazowO21heC13aWR0aDoyNDBweH0udG9wYmFyLWN3ZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjcycmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDowO2ZsZXg6MSAxIDA7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoycHggNnB4O2JvcmRlci1yYWRpdXM6NnB4O2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvcGJhci1jd2Q6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo0cHh9LnRvcGJhci1jd2Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Izk2NzY1NTQ3O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpfS50b3BiYXItY3dkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiM5Njc2NTU4MH0udG9wYmFyLWN3ZDpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmY4Yztjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnRhaWwtbWFycXVlZS1wYXRoe2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246Ym90dG9tOy0tdGFpbC1tYXJxdWVlLXNoaWZ0OiAwcHg7LS10YWlsLW1hcnF1ZWUtZHVyYXRpb246IDEyczstLXRhaWwtbWFycXVlZS1kZWxheTogMi40c30udGFpbC1tYXJxdWVlLXBhdGgtaW5uZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9LnRhaWwtbWFycXVlZS1wYXRoLmlzLW92ZXJmbG93aW5nIC50YWlsLW1hcnF1ZWUtcGF0aC1pbm5lcnthbmltYXRpb246dGFpbFBhdGhSZXZlYWwgdmFyKC0tdGFpbC1tYXJxdWVlLWR1cmF0aW9uKSBsaW5lYXIgdmFyKC0tdGFpbC1tYXJxdWVlLWRlbGF5KSAxIGJvdGh9LnRhaWwtbWFycXVlZS1wcmVmaXh7Y29sb3I6aW5oZXJpdH0udGFpbC1tYXJxdWVlLWxlYWZ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjUwMH1Aa2V5ZnJhbWVzIHRhaWxQYXRoUmV2ZWFsezAle3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC0xICogdmFyKC0tdGFpbC1tYXJxdWVlLXNoaWZ0KSkpfX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey50YWlsLW1hcnF1ZWUtcGF0aC5pcy1vdmVyZmxvd2luZyAudGFpbC1tYXJxdWVlLXBhdGgtaW5uZXJ7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50O3RyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtMSAqIHZhcigtLXRhaWwtbWFycXVlZS1zaGlmdCkpKX19LnRvcGJhci10YWdsaW5le2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzhyZW07d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5zZXNzaW9uLXN0YXR1cy1waWxse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzoycHggOXB4IDJweCA3cHg7ZmxleC1zaHJpbms6MDttYXgtd2lkdGg6MTQwcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0uc2Vzc2lvbi1zdGF0dXMtcGlsbCAuc2Vzc2lvbi1zdGF0dXMtZG90e3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCk7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1zdGF0dXMtcGlsbCAuc2Vzc2lvbi1zdGF0dXMtdGV4dHtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uc2Vzc2lvbi1zdGF0dXMtcGlsbC5ydW5uaW5ne2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg0ZDtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5ydW5uaW5nIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKTthbmltYXRpb246dGFzay1wdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5zZXNzaW9uLXN0YXR1cy1waWxsLnBlcm1pc3Npb24tYmxvY2tlZHtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctbXV0ZWQpO2JvcmRlci1jb2xvcjojYTk2YTJmNTk7Y29sb3I6dmFyKC0td2FybmluZyl9LnNlc3Npb24tc3RhdHVzLXBpbGwucGVybWlzc2lvbi1ibG9ja2VkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKTthbmltYXRpb246dGFzay1wdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5zZXNzaW9uLXN0YXR1cy1waWxsLmV4aXRlZCwuc2Vzc2lvbi1zdGF0dXMtcGlsbC5zdG9wcGVke2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLXN0YXR1cy1waWxsLmZhaWxlZHtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Ym9yZGVyLWNvbG9yOiNiMjRmNDU0ZDtjb2xvcjp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLXN0YXR1cy1waWxsLmZhaWxlZCAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyKX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5hcmNoaXZlZHtvcGFjaXR5Oi43fS5zZXNzaW9uLXN0YXR1cy1waWxsIC5zZXNzaW9uLXN0YXR1cy1lbGFwc2Vke2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6NHB4O3BhZGRpbmctbGVmdDo2cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtvcGFjaXR5Oi43NTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouNjVyZW07bGV0dGVyLXNwYWNpbmc6LS4wMWVtfS5jdXJyZW50LXRhc2t7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4yKTtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzoycHggOHB4IDJweCA1cHg7Zm9udC13ZWlnaHQ6NTAwO21heC13aWR0aDoyNDBweDttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47ZmxleC1zaHJpbms6MTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uY3VycmVudC10YXNrOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtmbGV4LXNocmluazowO2FuaW1hdGlvbjp0YXNrLXB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9QGtleWZyYW1lcyB0YXNrLXB1bHNlezAlLHRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle29wYWNpdHk6LjU7dHJhbnNmb3JtOnNjYWxlKC44KX19LnRvcGJhci1tb3JlLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleH0udG9wYmFyLW1vcmUtbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNnB4KTtyaWdodDowO21pbi13aWR0aDoxNjhweDtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7cGFkZGluZzo0cHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbGcpO3otaW5kZXg6NjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MXB4fS50b3BiYXItbW9yZS1tZW51LmhpZGRlbntkaXNwbGF5Om5vbmV9LnRvcGJhci1tb3JlLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O3dpZHRoOjEwMCU7cGFkZGluZzo4cHggMTJweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjgycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjhweDt0ZXh0LWFsaWduOmxlZnQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udG9wYmFyLW1vcmUtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KX0udG9wYmFyLW1vcmUtaXRlbSBzdmd7ZmxleC1zaHJpbms6MDtvcGFjaXR5Oi44NX0udG9wYmFyLW1vcmUtaXRlbS50b3BiYXItbW9yZS1pdGVtLWRhbmdlcntjb2xvcjp2YXIoLS1kYW5nZXIpfS50b3BiYXItbW9yZS1pdGVtLnRvcGJhci1tb3JlLWl0ZW0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXItaG92ZXIpfS50b3BiYXItbW9yZS1pdGVtLmhpZGRlbntkaXNwbGF5Om5vbmV9LnRvcGJhci1tb3JlLWl0ZW1bZGlzYWJsZWRde29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS50b3BiYXItbW9yZS1pdGVtW2Rpc2FibGVkXTpob3ZlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnRvcGJhci1tb3JlLWRpdmlkZXJ7aGVpZ2h0OjFweDttYXJnaW46NHB4IDZweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1kZWZhdWx0KTtvcGFjaXR5Oi42fS50ZXJtaW5hbC1jb250YWluZXJ7ZmxleDoxO2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgdG9wIHJpZ2h0LHJnYmEoOTEsNTgsMzQsLjIpLHRyYW5zcGFyZW50IDM1JSkscmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBib3R0b20gbGVmdCxyZ2JhKDE5NywxMDEsNjEsLjA4KSx0cmFuc3BhcmVudCA0MCUpLGxpbmVhci1ncmFkaWVudCgxODBkZWcsIzJhMjIxYywjMWYxYjE3LCMxYTE2MTMpO292ZXJmbG93OmhpZGRlbjttaW4taGVpZ2h0OjA7bWluLXdpZHRoOjA7bWFyZ2luOjAgNnB4IDZweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE0MCwxMTAsODUsLjM1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmYwZiwwIDhweCAzMnB4ICMwMDAwMDA1OSwwIDJweCA4cHggIzAwMDM7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1ub3JtYWwpLGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1ub3JtYWwpfS50ZXJtaW5hbC1jb250YWluZXIuYWN0aXZle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpzdHJldGNofS50ZXJtaW5hbC1zY3JvbGwtd3JhcHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjtzY3JvbGxiYXItd2lkdGg6bm9uZTtwYWRkaW5nOjEycHg7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTt0ZXh0LXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub25lO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoibGlnYSIgMCwiY2xpZyIgMCwiY2FsdCIgMCwiZGxpZyIgMDtmb250LWtlcm5pbmc6bm9uZTstLXRlcm0tZmc6ICNmNWVhZGM7LS10ZXJtLWJnOiB0cmFuc3BhcmVudDstLXRlcm0tY3Vyc29yOiAjZDY3YjUyOy0tdGVybS1mb250LWZhbWlseTogIkdlaXN0IE1vbm8iLCAiU0YgTW9ubyIsIG1vbm9zcGFjZTstLXRlcm0tZm9udC1zaXplOiAxM3B4Oy0tdGVybS1saW5lLWhlaWdodDogdmFyKC0tdGVybS1yb3ctaGVpZ2h0KTstLXRlcm0tcm93LWhlaWdodDogMjBweDstLXRlcm0tY29sb3ItMDogIzFmMWIxNzstLXRlcm0tY29sb3ItMTogI2QyNzc2NjstLXRlcm0tY29sb3ItMjogIzdmYTM2ZjstLXRlcm0tY29sb3ItMzogI2Q1YTM1YjstLXRlcm0tY29sb3ItNDogIzg3YTlkOTstLXRlcm0tY29sb3ItNTogI2M1OTVjNzstLXRlcm0tY29sb3ItNjogIzdmYjNiMTstLXRlcm0tY29sb3ItNzogI2Y1ZWFkYzstLXRlcm0tY29sb3ItODogIzYyNTM0NzstLXRlcm0tY29sb3ItOTogI2UzOWE4OTstLXRlcm0tY29sb3ItMTA6ICM5Y2MwOGE7LS10ZXJtLWNvbG9yLTExOiAjZWJiYjZlOy0tdGVybS1jb2xvci0xMjogI2E4YzFlYTstLXRlcm0tY29sb3ItMTM6ICNkYmIxZGM7LS10ZXJtLWNvbG9yLTE0OiAjOWFjYmNhOy0tdGVybS1jb2xvci0xNTogI2ZmZjdlZn0udGVybWluYWwtc2Nyb2xsLXdyYXA6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGVybWluYWwtc2Nyb2xsLXdyYXAgOjpzZWxlY3Rpb257YmFja2dyb3VuZDojZDY3YjUyNDd9LnRlcm1pbmFsLXNjcm9sbC13cmFwIC50ZXJtLWdyaWR7bWluLWhlaWdodDoxMDAlfS50ZXJtaW5hbC1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjRweDtyaWdodDoycHg7Ym90dG9tOjRweDt3aWR0aDoxNHB4O3otaW5kZXg6MTA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTtwb2ludGVyLWV2ZW50czpub25lfS50ZXJtaW5hbC1zY3JvbGxiYXIudmlzaWJsZXtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0b30udGVybWluYWwtc2Nyb2xsYmFyLXRyYWNre3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MTRweDtib3JkZXItcmFkaXVzOjdweH0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1ie3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDt3aWR0aDo4cHg7bWluLWhlaWdodDoyOHB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6I2I0OTY3ODU5O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2Usd2lkdGggLjE1cyBlYXNlLHJpZ2h0IC4xNXMgZWFzZX0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6I2M4YWE4YzhjO3dpZHRoOjEwcHg7cmlnaHQ6MnB4fS50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWIuZHJhZ2dpbmcsLnRlcm1pbmFsLXNjcm9sbGJhci10aHVtYjphY3RpdmV7YmFja2dyb3VuZDojZGNiOTk2YjM7d2lkdGg6MTBweDtyaWdodDoycHh9QG1lZGlhKHBvaW50ZXI6Y29hcnNlKXsudGVybWluYWwtc2Nyb2xsYmFyLC50ZXJtaW5hbC1zY3JvbGxiYXItdHJhY2t7d2lkdGg6MjBweH0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1ie3dpZHRoOjEycHg7cmlnaHQ6NHB4O21pbi1oZWlnaHQ6MzZweH0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLC50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWIuZHJhZ2dpbmd7d2lkdGg6MTRweDtyaWdodDozcHh9fS50ZXJtaW5hbC1jb250YWluZXI6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjojYzU2NTNkODA7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmZmZmMTQsMCA4cHggMzJweCAjMDAwNiwwIDAgMCAycHggI2M1NjUzZDI2fS50ZXJtaW5hbC1yZXNpemUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTozcHg7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTt3aWR0aDo0OHB4O2hlaWdodDo1cHg7YmFja2dyb3VuZDojZmZmZmZmMTQ7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7Y3Vyc29yOm5zLXJlc2l6ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjdweDtjb2xvcjojZmZmZmZmNDA7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyk7ei1pbmRleDoxMDtwb2ludGVyLWV2ZW50czphdXRvfS50ZXJtaW5hbC1yZXNpemUtaGFuZGxlOmJlZm9yZXtjb250ZW50OiJcMjJlZVwyMmVlIjtsZXR0ZXItc3BhY2luZzo4cHg7Zm9udC1zaXplOjZweH0udGVybWluYWwtcmVzaXplLWhhbmRsZTpob3ZlcntvcGFjaXR5OjE7YmFja2dyb3VuZDojZmZmZmZmMjY7Y29sb3I6I2ZmZmZmZjgwO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgc2NhbGUoMS4xKX0udGVybWluYWwtY29udGFpbmVyOmhvdmVyIC50ZXJtaW5hbC1yZXNpemUtaGFuZGxle29wYWNpdHk6Ljd9LnRlcm1pbmFsLWNvbnRhaW5lci5pbnRlcmFjdGl2ZXtib3JkZXItY29sb3I6IzRmN2E1ODhjO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZmZmZjBmLDAgMCAwIDJweCAjNGY3YTU4NDAsMCA4cHggMzJweCAjMDAwMDAwNTl9LnRlcm1pbmFsLWNvbnRhaW5lci5pbnRlcmFjdGl2ZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50LHZhcigtLXN1Y2Nlc3MpLHRyYW5zcGFyZW50KTthbmltYXRpb246dGVybWluYWwtYWN0aXZlLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgdGVybWluYWwtYWN0aXZlLXB1bHNlezAlLHRve29wYWNpdHk6LjV9NTAle29wYWNpdHk6MX19LnRlcm1pbmFsLWNvbnRhaW5lcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo0OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCxyZ2JhKDI2LDIyLDE5LC41KSx0cmFuc3BhcmVudCk7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO3otaW5kZXg6MTI7Ym9yZGVyLXJhZGl1czowIDAgdmFyKC0tcmFkaXVzLW1kKSB2YXIoLS1yYWRpdXMtbWQpfS50ZXJtaW5hbC1jb250YWluZXIuaGFzLWp1bXAtYnRuOmFmdGVye29wYWNpdHk6MX0udGVybWluYWwtc2NhbGUtYnRue21pbi13aWR0aDoyNHB4O2hlaWdodDoyNHB4O3BhZGRpbmc6MCA0cHg7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NjAwfS50ZXJtaW5hbC1zY2FsZS1sYWJlbHtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWluLXdpZHRoOjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowIDJweH0udGVybWluYWwtc2NhbGUtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O3JpZ2h0OjhweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MXB4O3BhZGRpbmc6MnB4O2JvcmRlci1yYWRpdXM6N3B4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDYpO2JhY2tncm91bmQ6IzE4MTQxMTYxO2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7Ym94LXNoYWRvdzowIDZweCAxOHB4ICMwMDAwMDAyZTtvcGFjaXR5Oi43Mjt0cmFuc2l0aW9uOm9wYWNpdHkgLjE4cyBlYXNlLGJhY2tncm91bmQgLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2U7ei1pbmRleDoxMjtwb2ludGVyLWV2ZW50czphdXRvfS50ZXJtaW5hbC1jb250YWluZXI6aG92ZXIgLnRlcm1pbmFsLXNjYWxlLW92ZXJsYXksLnRlcm1pbmFsLXNjYWxlLW92ZXJsYXk6Zm9jdXMtd2l0aGlue29wYWNpdHk6MTtiYWNrZ3JvdW5kOiMxODE0MTE4Zjtib3JkZXItY29sb3I6I2ZmZmZmZjFhfS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWJ0bnttaW4td2lkdGg6MjJweDtoZWlnaHQ6MjJweDtwYWRkaW5nOjAgM3B4O2NvbG9yOiNmNWVhZGNlMDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NXB4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsY29sb3IgLjE4cyBlYXNlfS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNkNjdiNTIyZTtjb2xvcjojZmZmN2VmZjV9LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXktbGFiZWx7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6I2Y1ZWFkY2E4O21pbi13aWR0aDozNHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAzcHh9LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXktZGl2aWRlcnt3aWR0aDoxcHg7aGVpZ2h0OjE0cHg7YmFja2dyb3VuZDojZjVlYWRjMzM7bWFyZ2luOjAgMnB4fS50ZXJtaW5hbC1qdW1wLWJvdHRvbXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNHB4O2JvdHRvbToxNnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MzRweDtoZWlnaHQ6MzRweDtwYWRkaW5nOjA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojMWMxNjEyYzc7Y29sb3I6I2ZmZjdlZmViO2JveC1zaGFkb3c6MCAxcHggMnB4ICMwMDAwMDA0MCwwIDhweCAyMnB4ICMwMDAwMDA1MixpbnNldCAwIDFweCAjZmZmZmZmMGY7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjEzO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KSBzY2FsZSguODYpO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNnMgdmFyKC0tZWFzZS1vdXQtZXhwbyksdHJhbnNmb3JtIC4zMnMgdmFyKC0tZWFzZS1zcHJpbmcpLGJhY2tncm91bmQgLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2UsYm94LXNoYWRvdyAuMnMgZWFzZX0udGVybWluYWwtanVtcC1ib3R0b20udmlzaWJsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7cG9pbnRlci1ldmVudHM6YXV0b30udGVybWluYWwtanVtcC1ib3R0b20gc3Zne3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0udGVybWluYWwtanVtcC1ib3R0b206aG92ZXJ7YmFja2dyb3VuZDojZDY3YjUyZWI7Ym9yZGVyLWNvbG9yOiNmZmZmZmYyZTtjb2xvcjojZmZmO2JveC1zaGFkb3c6MCAxcHggMnB4ICMwMDAwMDA0NywwIDEwcHggMjZweCAjYjg1YzM3NWMsaW5zZXQgMCAxcHggI2ZmZmZmZjJlfS50ZXJtaW5hbC1qdW1wLWJvdHRvbTpob3ZlciBzdmd7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMS41cHgpfS50ZXJtaW5hbC1qdW1wLWJvdHRvbTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjkyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wOHN9LnRlcm1pbmFsLWp1bXAtYm90dG9tOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lO2JveC1zaGFkb3c6MCAxcHggMnB4ICMwMDAwMDA0NywwIDEwcHggMjZweCAjYjg1YzM3NWMsaW5zZXQgMCAxcHggI2ZmZmZmZjJlLDAgMCAwIDNweCAjZDY3YjUyNTl9LnRlcm1pbmFsLWNvbnRhaW5lci5pbnRlcmFjdGl2ZXtib3JkZXItY29sb3I6IzRmN2E1ODgwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZmZmZjBhLDAgMCAwIDJweCAjNGY3YTU4NDAsdmFyKC0tc2hhZG93LXNvZnQpfS5taW5pLWtleWJvYXJkLWZhYntwb3NpdGlvbjpmaXhlZDtib3R0b206NjBweDtyaWdodDoxNnB4O3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOjEuMTI1cmVtO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93OjAgNHB4IDE2cHggI2I4NWMzNzU5O3otaW5kZXg6MTAwO3RyYW5zaXRpb246YWxsIC4ycyB2YXIoLS1lYXNlLXNwcmluZyl9Lm1pbmkta2V5Ym9hcmQtZmFiLnZpc2libGV7ZGlzcGxheTpmbGV4fS5taW5pLWtleWJvYXJkLWZhYjpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4xKTtib3gtc2hhZG93OjAgNnB4IDIwcHggI2I4NWMzNzczfS5taW5pLWtleWJvYXJkLWZhYjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9Lm1pbmkta2V5Ym9hcmR7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjYwcHg7cmlnaHQ6MTZweDtiYWNrZ3JvdW5kOiMyYTFmMTZmNTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIyLDkxLDY0LC41KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7Ym94LXNoYWRvdzowIDhweCAzMnB4ICMwMDA2O3otaW5kZXg6MTAwMDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjI2MHB4O2FuaW1hdGlvbjpta1NsaWRlVXAgLjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5taW5pLWtleWJvYXJkLmhpZGRlbntkaXNwbGF5Om5vbmV9QGtleWZyYW1lcyBta1NsaWRlVXB7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEycHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX1AbWVkaWEobWF4LXdpZHRoOjY0MHB4KXsubWluaS1rZXlib2FyZHtib3R0b206MjBweDtyaWdodDoxMHB4O2xlZnQ6MTBweDttaW4td2lkdGg6MH0ubWluaS1rZXlib2FyZC1mYWJ7Ym90dG9tOjIwcHg7cmlnaHQ6MTZweH19LmNoYXQtY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MTtkaXNwbGF5Om5vbmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDIwcHggMTZweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgyNTUsMjUyLDI0OCwuNSkgMCUsdHJhbnNwYXJlbnQgMTAwJSl9LmNoYXQtdW5yZWFkLWJ1YmJsZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNHB4O2JvdHRvbToxMHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjZweDtoZWlnaHQ6MzJweDttaW4td2lkdGg6MzJweDtwYWRkaW5nOjAgMTBweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC43Mik7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kOiNmZmZjZjhlYjtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjE7bGV0dGVyLXNwYWNpbmc6LjAxZW07d2hpdGUtc3BhY2U6bm93cmFwO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE0cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCk7Ym94LXNoYWRvdzowIDFweCAzcHggIzU5M2EyMDFmLDAgMTBweCAyNHB4ICNiODVjMzcyZSxpbnNldCAwIDFweCAjZmZmOTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjEzO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpIHNjYWxlKC45KTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMjZzIHZhcigtLWVhc2Utb3V0LWV4cG8pLHRyYW5zZm9ybSAuMzJzIHZhcigtLWVhc2Utc3ByaW5nKSxiYWNrZ3JvdW5kIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJveC1zaGFkb3cgLjJzIGVhc2UsY29sb3IgLjE4cyBlYXNlLHBhZGRpbmcgLjIycyB2YXIoLS1lYXNlLW91dC1leHBvKX0uY2hhdC11bnJlYWQtYnViYmxlLnZpc2libGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpO3BvaW50ZXItZXZlbnRzOmF1dG99LmNoYXQtdW5yZWFkLWJ1YmJsZS5oYXMtdW5yZWFke2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjojZmZmZmZmYzc7cGFkZGluZzowIDEycHggMCAxMHB4O2JveC1zaGFkb3c6MCAxcHggM3B4ICM1OTNhMjAyZSwwIDEycHggMjhweCAjYjg1YzM3NTIsaW5zZXQgMCAxcHggI2ZmZmZmZjQ3fS5jaGF0LXVucmVhZC1idWJibGUtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5jaGF0LXVucmVhZC1idWJibGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmYWYyO2JveC1zaGFkb3c6MCAycHggNHB4ICM1OTNhMjAyOSwwIDE0cHggMzBweCAjYjg1YzM3M2QsaW5zZXQgMCAxcHggI2ZmZmZmZmIzfS5jaGF0LXVucmVhZC1idWJibGUuaGFzLXVucmVhZDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1ob3Zlcik7Ym94LXNoYWRvdzowIDJweCA1cHggIzU5M2EyMDM4LDAgMTRweCAzMnB4ICNiODVjMzc2YixpbnNldCAwIDFweCAjZmZmZmZmNTJ9LmNoYXQtdW5yZWFkLWJ1YmJsZTpob3ZlciAuY2hhdC11bnJlYWQtYnViYmxlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMS41cHgpfS5jaGF0LXVucmVhZC1idWJibGU6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC45NCk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDhzfS5jaGF0LXVucmVhZC1idWJibGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzowIDJweCA0cHggIzU5M2EyMDMzLDAgMTJweCAyOHB4ICNiODVjMzc1MixpbnNldCAwIDFweCAjZmZmZmZmNTIsMCAwIDAgM3B4ICNjNTY1M2Q1Mn0uY2hhdC11bnJlYWQtYnViYmxlLWNvdW50e2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MTtsZXR0ZXItc3BhY2luZzouMDFlbTtwb2ludGVyLWV2ZW50czpub25lfS5jaGF0LXVucmVhZC1idWJibGUtY291bnQudmlzaWJsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FuaW1hdGlvbjpjaGF0VW5yZWFkQ291bnRQb3AgLjIycyB2YXIoLS1lYXNlLW91dC1iYWNrLCBjdWJpYy1iZXppZXIoLjM0LCAxLjU2LCAuNjQsIDEpKX0uY2hhdC11bnJlYWQtYnViYmxlLWNvdW50OmFmdGVye2NvbnRlbnQ6IiBcNjc2MVw2NWIwXDZkODhcNjA2ZiI7bWFyZ2luLWxlZnQ6MnB4O2ZvbnQtd2VpZ2h0OjUwMDtvcGFjaXR5Oi45NX1Aa2V5ZnJhbWVzIGNoYXRVbnJlYWRDb3VudFBvcHswJXt0cmFuc2Zvcm06c2NhbGUoLjYpO29wYWNpdHk6MH10b3t0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX0uY2hhdC11bnJlYWQtZGl2aWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O21hcmdpbjo2cHggNHB4IDJweDtwYWRkaW5nOjAgMnB4O2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWFjY2VudCk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07dXNlci1zZWxlY3Q6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDthbmltYXRpb246Y2hhdFVucmVhZERpdmlkZXJJbiAuMzJzIHZhcigtLWVhc2Utb3V0LWV4cG8pIGZvcndhcmRzfS5jaGF0LXVucmVhZC1kaXZpZGVyLWxpbmV7ZmxleDoxO2hlaWdodDoxcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2M1NjUzZDBkLCNjNTY1M2Q1MiwjYzU2NTNkMGQpfS5jaGF0LXVucmVhZC1kaXZpZGVyLWxhYmVse2ZsZXgtc2hyaW5rOjA7cGFkZGluZzozcHggMTBweDtiYWNrZ3JvdW5kOiNmZmY4ZjBmMjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMTgpO2JvcmRlci1yYWRpdXM6OTk5cHg7Ym94LXNoYWRvdzowIDFweCAzcHggI2I4NWMzNzFhO3doaXRlLXNwYWNlOm5vd3JhcH1Aa2V5ZnJhbWVzIGNoYXRVbnJlYWREaXZpZGVySW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmNoYXQtY29udGFpbmVyLmFjdGl2ZXtkaXNwbGF5OmZsZXh9LmNoYXQtY29udGFpbmVyOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjQ4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMjU1LDI1MiwyNDgsLjYpLHRyYW5zcGFyZW50KTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7ei1pbmRleDoxMn0uY2hhdC1jb250YWluZXIuaGFzLWp1bXAtYnRuOmFmdGVye29wYWNpdHk6MX0uY2hhdC1tZXNzYWdlc3tmbGV4OjE7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZTtnYXA6MTZweDtwYWRkaW5nOjIwcHggNHB4IDEycHg7bWluLWhlaWdodDowO21pbi13aWR0aDowO3Njcm9sbGJhci1ndXR0ZXI6c3RhYmxlO292ZXJzY3JvbGwtYmVoYXZpb3IteTpjb250YWluOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3RvdWNoLWFjdGlvbjpwYW4teTtvdmVyZmxvdy1hbmNob3I6bm9uZTtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LmNoYXQtbG9hZC1tb3Jle2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6OHB4IDB9LmNoYXQtbG9hZC1tb3JlLWJ0bntiYWNrZ3JvdW5kOnZhcigtLWJnLWhvdmVyKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbTtwYWRkaW5nOjZweCAxNnB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlfS5jaGF0LWxvYWQtbW9yZS1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9QG1lZGlhKHBvaW50ZXI6Y29hcnNlKSwobWF4LXdpZHRoOjc2OHB4KXsuY2hhdC1sb2FkLW1vcmV7cGFkZGluZzoxMnB4IDB9LmNoYXQtbG9hZC1tb3JlLWJ0bnttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzo4cHggMThweDtmb250LXNpemU6Ljc4cmVtfS5jaGF0LW1lc3NhZ2UuYW5pbWF0ZS1pbnthbmltYXRpb24tZHVyYXRpb246LjE4c30uY2hhdC1tZXNzYWdlLnVzZXIuYW5pbWF0ZS1pbnthbmltYXRpb24tZHVyYXRpb246LjE3c319QGtleWZyYW1lcyBtZXNzYWdlU2xpZGV7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCkgc2NhbGUoLjk4NSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX1Aa2V5ZnJhbWVzIG1lc3NhZ2VTbGlkZVVzZXJ7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMTBweCkgdHJhbnNsYXRlWSg0cHgpIHNjYWxlKC45ODUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApIHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSl9fUBrZXlmcmFtZXMgbWVzc2FnZUZsb2F0ezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtM3B4KX19LmNoYXQtbWVzc2FnZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO21hcmdpbjo0cHggMDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UsdHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKTstLWNoYXQtY2FyZC1tYXgtd2lkdGg6IDcyMHB4fS5jaGF0LW1lc3NhZ2U6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9QG1lZGlhKGhvdmVyOm5vbmUpey5jaGF0LW1lc3NhZ2U6aG92ZXJ7dHJhbnNmb3JtOm5vbmV9LmNoYXQtbWVzc2FnZTpob3ZlciAuY2hhdC1tZXNzYWdlLWJ1YmJsZXtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSl9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnQ6aG92ZXIgLmNoYXQtbWVzc2FnZS1idWJibGV7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKX19LmNoYXQtbWVzc2FnZS51c2Vye2FsaWduLXNlbGY6ZmxleC1lbmR9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnR7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCV9LmNoYXQtbWVzc2FnZS5zeXN0ZW0taW5mb3thbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlO21hcmdpbjoxMHB4IDA7YW5pbWF0aW9uOm1lc3NhZ2VGbG9hdCAzcyBlYXNlLWluLW91dCBpbmZpbml0ZX0uc3lzdGVtLWluZm8tY2FyZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzYzNjZmMTE0LCM2MzY2ZjEwYSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDk5LDEwMiwyNDEsLjIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtwYWRkaW5nOjEycHggMTZweDtmb250LXNpemU6LjgxMjVyZW07Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteHMpfS5zeXN0ZW0taW5mby1oZWFkZXJ7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiM2MzY2ZjFmMjttYXJnaW4tYm90dG9tOjhweDtmb250LXNpemU6LjY4NzVyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wOGVtO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0uc3lzdGVtLWluZm8taGVhZGVyOmJlZm9yZXtjb250ZW50OiIiO3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JhY2tncm91bmQ6IzYzNjZmMTk5O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpfS5zeXN0ZW0taW5mby1jb250ZW50e2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtsaW5lLWhlaWdodDp2YXIoLS1saW5lLWhlaWdodC1iYXNlKTttYXgtaGVpZ2h0OjIwMHB4O292ZXJmbG93LXk6YXV0b30uY2hhdC1tZXNzYWdlLmFuaW1hdGUtaW57YW5pbWF0aW9uOm1lc3NhZ2VTbGlkZSAuMjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtfS5jaGF0LW1lc3NhZ2UudXNlci5hbmltYXRlLWlue2FuaW1hdGlvbjptZXNzYWdlU2xpZGVVc2VyIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0uY2hhdC1tZXNzYWdlLWF2YXRhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzowIDJweCA0cHh9LmNoYXQtbWVzc2FnZS1hdmF0YXIuYXNzaXN0YW50e2ZsZXgtZGlyZWN0aW9uOnJvd30uY2hhdC1tZXNzYWdlLWF2YXRhci51c2Vye2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5waXhlbC1hdmF0YXJ7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6NnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtib3gtc2hhZG93OjAgMXB4IDNweCAjMDAwMDAwMjZ9LnBpeGVsLWF2YXRhci1pbWFnZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0ucGl4ZWwtYXZhdGFyLXN2Z3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7aW1hZ2UtcmVuZGVyaW5nOnBpeGVsYXRlZH0uYXZhdGFyLW5hbWV7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDNlbTtsaW5lLWhlaWdodDoxfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50IC5hdmF0YXItbmFtZXtjb2xvcjp2YXIoLS1hY2NlbnQpfS5jaGF0LW1lc3NhZ2UudXNlciAuYXZhdGFyLW5hbWV7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSl9LmNoYXQtbWVzc2FnZS1idWJibGV7cGFkZGluZzoxMnB4IDE2cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OnZhcigtLWxpbmUtaGVpZ2h0LXJlbGF4ZWQpO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkO3doaXRlLXNwYWNlOnByZS13cmFwO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY2hhdC1tZXNzYWdlOmhvdmVyIC5jaGF0LW1lc3NhZ2UtYnViYmxle2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1kKX0uY2hhdC1tZXNzYWdlLnVzZXIgLmNoYXQtbWVzc2FnZS1idWJibGV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWFjY2VudCkgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKSB2YXIoLS1yYWRpdXMtbGcpIHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLWxnKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDtib3gtc2hhZG93OjAgNHB4IDE2cHggI2M1NjUzZDRkLGluc2V0IDAgMXB4ICNmZmZmZmYyNn0uY2hhdC1tZXNzYWdlLnVzZXJ7bWF4LXdpZHRoOjEwMCV9LnVzZXItYXR0YWNobWVudHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6NnB4O21hcmdpbi1ib3R0b206NnB4fS51c2VyLWF0dGFjaG1lbnQtaW1hZ2V7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDowfS51c2VyLWF0dGFjaG1lbnQtdGh1bWJ7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6bWluKDEwMCUsMjQwcHgpO21heC1oZWlnaHQ6MjAwcHg7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bztib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yNSk7b2JqZWN0LWZpdDpjb250YWluO2N1cnNvcjp6b29tLWluO2JveC1zaGFkb3c6MCAycHggOHB4ICMwMDAwMDAyNDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xNnMgZWFzZX0udXNlci1hdHRhY2htZW50LXRodW1iOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCA0cHggMTRweCAjMDAwMzt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0udXNlci1hdHRhY2htZW50LWZpbGV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjVweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXN1cmZhY2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzVyZW07Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZX0udXNlci1hdHRhY2htZW50LWZpbGU6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0udXNlci1hdHRhY2htZW50LWZpbGUtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtc2hyaW5rOjA7Y29sb3I6dmFyKC0tYWNjZW50KX0udXNlci1hdHRhY2htZW50LWZpbGUtbmFtZXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnVzZXItYXR0YWNobWVudC10ZXh0e3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50IC5jaGF0LW1lc3NhZ2UtYnViYmxle2JhY2tncm91bmQ6dmFyKC0tYmctc3VyZmFjZSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtwYWRkaW5nOjE0cHggMThweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKX0uY2hhdC1tZXNzYWdlLmFzc2lzdGFudDpob3ZlciAuY2hhdC1tZXNzYWdlLWJ1YmJsZXtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LXNvZnQpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1kKX0uY2hhdC1tZXNzYWdlLWNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6dmFyKC0tbGluZS1oZWlnaHQtcmVsYXhlZCk7d29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YW55d2hlcmU7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNoYXQtbWVzc2FnZS1jb250ZW50Pi50aGlua2luZy1pbmxpbmUsLmNoYXQtbWVzc2FnZS1jb250ZW50Pi5pbmxpbmUtdG9vbCwuY2hhdC1tZXNzYWdlLWNvbnRlbnQ+LnRvb2wtdXNlLWNhcmQsLmNoYXQtbWVzc2FnZS1jb250ZW50Pi50b29sLWdyb3Vwe21hcmdpbjozcHggMH0udHVybi11c2FnZS1zdW1tYXJ5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo2cHg7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjIwcHg7bWFyZ2luLXRvcDo2cHg7cGFkZGluZzoycHggMnB4IDA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxtb25vc3BhY2U7Zm9udC1zaXplOi42N3JlbTtsaW5lLWhlaWdodDoxLjQ1O2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztib3gtc2l6aW5nOmJvcmRlci1ib3h9LnR1cm4tdXNhZ2Utc3VtbWFyeS5pcy1lc3RpbWF0ZWR7b3BhY2l0eTouODJ9LnR1cm4tdXNhZ2UtaWNvbnt3aWR0aDoxM3B4O2hlaWdodDoxM3B4O21hcmdpbi10b3A6MXB4O2ZsZXg6MCAwIGF1dG87ZmlsbDpub25lO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLXdpZHRoOjEuMzU7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfS5jaGF0LW1lc3NhZ2UubXVsdGktYWdlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94fS5jaGF0LW1lc3NhZ2UudXNlci5tdWx0aS1hZ2VudHthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uY2hhdC1tZXNzYWdlLm11bHRpLWFnZW50IC5jaGF0LW1lc3NhZ2Utc2VnbWVudHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLXNlbGY6ZmxleC1zdGFydDt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY2hhdC1tZXNzYWdlLm11bHRpLWFnZW50IC5jaGF0LW1lc3NhZ2Utc2VnbWVudC5zdWJhZ2VudHtwYWRkaW5nLWxlZnQ6MTBweDttYXJnaW4tbGVmdDo2cHg7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1ib3JkZXItc3VidGxlKSk7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMDt3aWR0aDpjYWxjKDEwMCUgLSA2cHgpO21heC13aWR0aDpjYWxjKDEwMCUgLSA2cHgpfS5jaGF0LW1lc3NhZ2UubXVsdGktYWdlbnQgLmNoYXQtbWVzc2FnZS1zZWdtZW50LnN1YmFnZW50IC5jaGF0LW1lc3NhZ2UtY29udGVudHtvcGFjaXR5Oi45Nn0uY2hhdC1tZXNzYWdlLm11bHRpLWFnZW50IC5jaGF0LW1lc3NhZ2Utc2VnbWVudCAuY2hhdC1tZXNzYWdlLWF2YXRhcntwYWRkaW5nLWJvdHRvbTo0cHh9LmNoYXQtbWVzc2FnZS1hdmF0YXIuc3ViYWdlbnQgLmF2YXRhci1uYW1le2NvbG9yOnZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKX0uc3ViYWdlbnQtcmVwbHl7YmFja2dyb3VuZDojYzU2NTNkMGY7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNiUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4yKTtib3JkZXI6MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAyMCUsdHJhbnNwYXJlbnQpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjEwcHggMTRweDttYXJnaW46NHB4IDA7bGluZS1oZWlnaHQ6MS41NTtmb250LXNpemU6Ljg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVufS5zdWJhZ2VudC1yZXBseT46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5zdWJhZ2VudC1yZXBseT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnN1YmFnZW50LXJlcGx5LmVycm9ye2JhY2tncm91bmQ6I2UyNTc0YzE0O2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyLCAjZTI1NzRjKSA4JSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyLWNvbG9yOiNlMjU3NGM1OTtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyLCAjZTI1NzRjKSAzNSUsdHJhbnNwYXJlbnQpfS5zdWJhZ2VudC1yZXBseS5wZW5kaW5ne29wYWNpdHk6Ljc7cGFkZGluZzoxNHB4IDE2cHh9LnN1YmFnZW50LXJlcGx5Om5vdCguY29sbGFwc2libGUpe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo2cHh9LnN1YmFnZW50LXJlcGx5IHByZSwuc3ViYWdlbnQtcmVwbHkgY29kZXtmb250LXNpemU6LjgycmVtfS5zdWJhZ2VudC1yZXBseSBwcmV7YmFja2dyb3VuZDojMDAwMDAwMGE7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLXJhZGl1czo2cHg7b3ZlcmZsb3cteDpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YW55d2hlcmU7bWFyZ2luOjhweCAwO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5zdWJhZ2VudC1wYW5lbHttYXJnaW46OHB4IDA7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMjUlLHRyYW5zcGFyZW50KTtib3JkZXItbGVmdDozcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDU1JSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAzJSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym94LXNoYWRvdzowIDFweCAycHggIzAwMDAwMDA4fS5zdWJhZ2VudC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEycHg7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMTAlLHZhcigtLWJnLXN1cmZhY2UpKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMTYlLHRyYW5zcGFyZW50KTtmb250LXNpemU6Ljc4cmVtO2xpbmUtaGVpZ2h0OjEuMzV9LnN1YmFnZW50LXBhbmVsLWhlYWRlcjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA1NSUsdHJhbnNwYXJlbnQpO291dGxpbmUtb2Zmc2V0Oi0ycHh9LnN1YmFnZW50LXBhbmVsLWFycm93e2ZsZXg6MCAwIGF1dG87Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDY1JSx2YXIoLS10ZXh0LXByaW1hcnkpKTtvcGFjaXR5Oi44O2ZvbnQtd2VpZ2h0OjYwMH0uc3ViYWdlbnQtcGFuZWwtYXR0cmlidXRpb257ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc3ViYWdlbnQtcGFuZWwtbmFtZXtjb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgODglLHZhcigtLXRleHQtcHJpbWFyeSkpO2ZvbnQtd2VpZ2h0OjYwMH0uc3ViYWdlbnQtcGFuZWwtdGFne2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIDZweDtwYWRkaW5nOjAgNnB4O2ZvbnQtc2l6ZTouNjJyZW07Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wNGVtO2NvbG9yOnZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxMiUsdHJhbnNwYXJlbnQpO2JvcmRlcjoxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDMwJSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czo0cHg7dmVydGljYWwtYWxpZ246MXB4O2xpbmUtaGVpZ2h0OjEuNDt3aGl0ZS1zcGFjZTpub3dyYXB9LnN1YmFnZW50LXBhbmVsLXRhc2stZGVzY3tjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo0MDB9LnN1YmFnZW50LXBhbmVsLWNvdW50e2ZsZXg6MCAwIGF1dG87ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzozcHggOHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMjQlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA5JSx2YXIoLS1iZy1zdXJmYWNlKSk7Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDcyJSx2YXIoLS10ZXh0LXByaW1hcnkpKTtmb250LXNpemU6LjdyZW07Zm9udC13ZWlnaHQ6NjAwO3doaXRlLXNwYWNlOm5vd3JhcH0uc3ViYWdlbnQtcGFuZWwtdG9nZ2xle2Rpc3BsYXk6bm9uZTtmbGV4OjAgMCBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O3BhZGRpbmc6M3B4IDEwcHg7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjM7Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDc4JSx2YXIoLS10ZXh0LXByaW1hcnkpKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA4JSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMzAlLHRyYW5zcGFyZW50KTtib3JkZXItcmFkaXVzOjk5OXB4O2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlLHRyYW5zZm9ybSAuMXMgZWFzZX0uc3ViYWdlbnQtcGFuZWwtdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDE4JSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA0NSUsdHJhbnNwYXJlbnQpfS5zdWJhZ2VudC1wYW5lbC10b2dnbGU6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnN1YmFnZW50LXBhbmVsLXRvZ2dsZS1pY29ue3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvLCBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSkpfS5zdWJhZ2VudC1wYW5lbFtkYXRhLWV4cGFuZGVkPXRydWVdIC5zdWJhZ2VudC1wYW5lbC10b2dnbGUtaWNvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnN1YmFnZW50LXBhbmVsLWJvZHl7cGFkZGluZzoxMHB4IDE0cHg7aGVpZ2h0OjMyMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCU7c2Nyb2xsYmFyLWd1dHRlcjpzdGFibGU7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS5zdWJhZ2VudC1wYW5lbFtkYXRhLWV4cGFuZGVkPWZhbHNlXSAuc3ViYWdlbnQtcGFuZWwtYm9keSwuc3ViYWdlbnQtcGFuZWxbZGF0YS1leHBhbmRlZD10cnVlXSAuc3ViYWdlbnQtcGFuZWwtYm9keXtoZWlnaHQ6MzIwcHh9LnN1YmFnZW50LXBhbmVsLWJvZHk+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uc3ViYWdlbnQtcGFuZWwtYm9keT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnN1YmFnZW50LXBhbmVsLWJvZHkgLnRvb2wtdXNlLWNhcmQsLnN1YmFnZW50LXBhbmVsLWJvZHkgLnRvb2wtZ3JvdXAsLnN1YmFnZW50LXBhbmVsLWJvZHkgLmlubGluZS10b29sLC5zdWJhZ2VudC1wYW5lbC1ib2R5IC5pbmxpbmUtdGVybWluYWwsLnN1YmFnZW50LXBhbmVsLWJvZHkgLmlubGluZS1kaWZme21hcmdpbjo0cHggMH0uc3ViYWdlbnQtcGFuZWwtYm9keSAubWFya2Rvd24tY29udGVudHtmb250LXNpemU6Ljg3NXJlbX0uc3ViYWdlbnQtcGFuZWwtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6N3B4O2hlaWdodDo3cHh9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDMyJSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czo0cHh9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDUwJSx0cmFuc3BhcmVudCl9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LnN1YmFnZW50LXBhbmVsLWZvb3RlcntkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNiUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlci10b3A6MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxNCUsdHJhbnNwYXJlbnQpO2ZvbnQtc2l6ZTouN3JlbX0uc3ViYWdlbnQtcGFuZWwtZm9vdGVyLWhpbnR7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi43O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zdWJhZ2VudC1yZXBseS5jb2xsYXBzaWJsZXtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5zdWJhZ2VudC1yZXBseS5maW5hbHttYXJnaW46NnB4IDAgMDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXItbGVmdDozcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDYwJSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNSUsdmFyKC0tYmctc3VyZmFjZSkpfS5zdWJhZ2VudC1yZXBseS5maW5hbC5lcnJvcntib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1kYW5nZXIsICNlMjU3NGMpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyLCAjZTI1NzRjKSA1JSx2YXIoLS1iZy1zdXJmYWNlKSl9LnN1YmFnZW50LXJlcGx5LW1hcmtlcntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O21hcmdpbi1ib3R0b206NHB4O2ZvbnQtc2l6ZTouNjhyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNzglLHZhcigtLXRleHQtcHJpbWFyeSkpfS5zdWJhZ2VudC1yZXBseS1tYXJrZXIuZXJyb3J7Y29sb3I6dmFyKC0tZGFuZ2VyLCAjZTI1NzRjKX0uc3ViYWdlbnQtcmVwbHktbWFya2VyLnBlbmRpbmd7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzowO2ZvbnQtd2VpZ2h0OjUwMH0uc3ViYWdlbnQtcmVwbHktbWFya2VyLWljb257Zm9udC13ZWlnaHQ6NzAwfS5zdWJhZ2VudC1yZXBseS5maW5hbCAuc3ViYWdlbnQtcmVwbHktY29udGVudD46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5zdWJhZ2VudC1yZXBseS5maW5hbCAuc3ViYWdlbnQtcmVwbHktY29udGVudD46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmVtcHR5LW1lc3NhZ2UgLmVtcHR5LW1lc3NhZ2UtaGludHtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmb250LXN0eWxlOml0YWxpYztmb250LXNpemU6LjgxMjVyZW07b3BhY2l0eTouN30udW5rbm93bi1ibG9ja3ttYXJnaW46NHB4IDA7Ym9yZGVyOjFweCBkYXNoZWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tdGV4dC1tdXRlZCkgNiUsdHJhbnNwYXJlbnQpO2ZvbnQtc2l6ZTouNzVyZW07Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnVua25vd24tYmxvY2s6aG92ZXJ7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS10ZXh0LW11dGVkKSAxMCUsdHJhbnNwYXJlbnQpfS51bmtub3duLWJsb2NrLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo2cHggMTBweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnVua25vd24tYmxvY2staWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS10ZXh0LW11dGVkKTtjb2xvcjp2YXIoLS1iZy1zdXJmYWNlKTtmb250LXNpemU6LjdyZW07Zm9udC13ZWlnaHQ6NjAwfS51bmtub3duLWJsb2NrLWxhYmVse2ZsZXg6MTtmb250LXdlaWdodDo1MDB9LnVua25vd24tYmxvY2stdG9nZ2xle2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZvbnQtc2l6ZTouN3JlbTt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS51bmtub3duLWJsb2NrLmNvbGxhcHNlZCAudW5rbm93bi1ibG9jay10b2dnbGV7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS51bmtub3duLWJsb2NrLWJvZHl7bWFyZ2luOjA7cGFkZGluZzo4cHggMTBweCAxMHB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsO21heC1oZWlnaHQ6MjQwcHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2JvcmRlci10b3A6MXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnVua25vd24tYmxvY2suY29sbGFwc2VkIC51bmtub3duLWJsb2NrLWJvZHl7ZGlzcGxheTpub25lfS50b29sLXVzZS1jYXJkW2RhdGEtdHJ1bmNhdGVkPXRydWVdIC50b29sLXVzZS1uYW1lOmFmdGVyLC5pbmxpbmUtdG9vbFtkYXRhLXRydW5jYXRlZD10cnVlXSAuaW5saW5lLXRvb2wtdGl0bGU6YWZ0ZXJ7Y29udGVudDoiXDVkZjJcNjIyYVw2NWFkIjtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDo2cHg7cGFkZGluZzoxcHggNnB4O2ZvbnQtc2l6ZTouNnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlLCAjZmZmKTtiYWNrZ3JvdW5kOnZhcigtLXRleHQtdGVydGlhcnkpO2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAyZW07dmVydGljYWwtYWxpZ246MXB4O29wYWNpdHk6Ljg1fS5jaGF0LW1lc3NhZ2UudGhpbmtpbmd7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O21heC13aWR0aDoxMDAlO21hcmdpbjo0cHggMH0uY2hhdC1tZXNzYWdlLnByb21wdHthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJTttYXJnaW46NHB4IDB9LnByb21wdC1jYXJke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnByb21wdC1pY29ue2ZvbnQtc2l6ZTouODc1cmVtfS5wcm9tcHQtY29udGVudHtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc3R5bGU6aXRhbGljfS5wcm9tcHQtdGV4dHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOiNjNTY1M2RjYztmb250LXdlaWdodDo1MDB9LnR5cGluZy1pbmRpY2F0b3J7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O3BhZGRpbmc6NnB4IDB9LnR5cGluZy1pbmRpY2F0b3Igc3BhbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo3cHg7aGVpZ2h0OjdweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zb2Z0KTthbmltYXRpb246dHlwaW5nQm91bmNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9LnR5cGluZy1pbmRpY2F0b3Igc3BhbjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9LnR5cGluZy1pbmRpY2F0b3Igc3BhbjpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zc31Aa2V5ZnJhbWVzIHR5cGluZ0JvdW5jZXswJSw2MCUsdG97b3BhY2l0eTouMzU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MzAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KX19LnRvb2wtdXNlLWNhcmR7bWFyZ2luOjRweCAwO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmYmY1ZTAsI2ZmZjZlYWI4KTtib3gtc2hhZG93OjAgMXB4IDJweCAjNTkzYTIwMGE7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjIycyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlLHRyYW5zZm9ybSAuMjJzIGVhc2V9LnRvb2wtdXNlLWNhcmQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg0ZDtib3gtc2hhZG93OjAgM3B4IDEycHggIzRmN2E1ODE0fS50b29sLXVzZS1jYXJkLmxvYWRpbmd7Ym9yZGVyLWNvbG9yOiNhOTZhMmY0ZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZjRlMmUwLCNmZmYxZGFiOCl9LnRvb2wtdXNlLWNhcmQuc3VjY2Vzc3tib3JkZXItY29sb3I6IzRmN2E1ODUyfS50b29sLXVzZS1jYXJkLmVycm9ye2JvcmRlci1jb2xvcjojYjI0ZjQ1NTI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmY2YwZWVlMCwjZmNlYmU5YjgpfS50b29sLXVzZS1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjlweCAxNHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi44MTI1cmVtO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2U7bWluLWhlaWdodDozOHB4O2ZsZXgtd3JhcDpub3dyYXB9LnRvb2wtdXNlLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QwYX0udG9vbC11c2UtaGVhZGVyOmFjdGl2ZXtiYWNrZ3JvdW5kOiNjNTY1M2QxMn0udG9vbC11c2UtY2FyZC5sb2FkaW5nIC50b29sLXVzZS1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojYTk2YTJmMGZ9LnRvb2wtdXNlLWNhcmQuc3VjY2VzcyAudG9vbC11c2UtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6IzRmN2E1ODBmfS50b29sLXVzZS1jYXJkLmVycm9yIC50b29sLXVzZS1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MGZ9LnRvb2wtdXNlLWljb257Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC13ZWlnaHQ6NzAwO2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6MjJweDtoZWlnaHQ6MjJweDtib3JkZXItcmFkaXVzOjZweDtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2xldHRlci1zcGFjaW5nOi0uMDJlbX0udG9vbC11c2UtY2FyZC5sb2FkaW5nIC50b29sLXVzZS1pY29ue2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyl9LnRvb2wtdXNlLWNhcmQuZXJyb3IgLnRvb2wtdXNlLWljb257YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcil9LnRvb2wtdXNlLXNwaW5uZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXdhcm5pbmctbXV0ZWQpO2JvcmRlci10b3AtY29sb3I6dmFyKC0td2FybmluZyk7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnRvb2wtc3BpbiAuOHMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdG9vbC1zcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnRvb2wtdXNlLW5hbWV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbX0udG9vbC11c2UtZmlsZXtmb250LXNpemU6Ljc1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7bWF4LXdpZHRoOjMyMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDowfS50b29sLXVzZS1zdW1tYXJ5e2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZsZXg6MCAxIGF1dG87bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjJweH0udG9vbC11c2UtdG9nZ2xle2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utc3ByaW5nKSxjb2xvciAuMThzIGVhc2U7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6LjZ9LnRvb2wtdXNlLWNhcmQ6aG92ZXIgLnRvb2wtdXNlLXRvZ2dsZXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7b3BhY2l0eToxfS50b29sLXVzZS1jYXJkLmNvbGxhcHNlZCAudG9vbC11c2UtdG9nZ2xle3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0udG9vbC11c2UtYm9keXtwYWRkaW5nOjEycHggMTRweDtiYWNrZ3JvdW5kOiNmZmZkZjhhNjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpO21heC1oZWlnaHQ6NjAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246bWF4LWhlaWdodCAuMjRzIHZhcigtLWVhc2Utb3V0LWV4cG8pLHBhZGRpbmcgLjI0cyB2YXIoLS1lYXNlLW91dC1leHBvKSxvcGFjaXR5IC4xOHMgZWFzZSx0cmFuc2Zvcm0gLjI0cyB2YXIoLS1lYXNlLW91dC1leHBvKTtvcGFjaXR5OjE7dHJhbnNmb3JtLW9yaWdpbjp0b3B9LnRvb2wtdXNlLWNhcmQuY29sbGFwc2VkIC50b29sLXVzZS1ib2R5e21heC1oZWlnaHQ6MDtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVkoLjk1KTt2aXNpYmlsaXR5OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS50b29sLXVzZS1jb250ZW50e21hcmdpbjowO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDo0MDBweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87bGluZS1oZWlnaHQ6MS41NX0udG9vbC11c2UtcmVzdWx0e21hcmdpbi10b3A6MTBweDtwYWRkaW5nLXRvcDoxMHB4O2JvcmRlci10b3A6MXB4IGRhc2hlZCByZ2JhKDEyNSw5MSw1NywuMTQpfS50b29sLXVzZS1yZXN1bHQtY29udGVudHttYXJnaW46MDtmb250LXNpemU6Ljc1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGw7bWF4LWhlaWdodDozMjBweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87bGluZS1oZWlnaHQ6MS41NTtiYWNrZ3JvdW5kOiM3ZDViMzkwOTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyk7cGFkZGluZzo4cHggMTBweDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnRvb2wtdXNlLXJlc3VsdC1lbXB0eXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc3R5bGU6aXRhbGljfS50b29sLXVzZS1tZXRhe2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTttYXJnaW4tYm90dG9tOjhweDtwYWRkaW5nLWJvdHRvbTo4cHg7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkIHJnYmEoMTI1LDkxLDU3LC4xNCl9LnRvb2wtdXNlLW1ldGEtbGFiZWx7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjYwMH0udG9vbC11c2UtY2FyZC5hc2stdXNlcntib3JkZXItY29sb3I6I2M1NjUzZDRkO2JhY2tncm91bmQ6I2M1NjUzZDBhfS50b29sLXVzZS1jYXJkLmFzay11c2VyIC50b29sLXVzZS1oZWFkZXJ7YmFja2dyb3VuZDojYzU2NTNkMTR9LmFzay11c2VyLWJvZHl7cGFkZGluZzoxMHB4IDEycHh9LmFzay11c2VyLXF1ZXN0aW9uLWdyb3Vwe21hcmdpbi1ib3R0b206MTBweH0uYXNrLXVzZXItcXVlc3Rpb24tZ3JvdXA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmFzay11c2VyLXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO21hcmdpbi1ib3R0b206MTBweH0uYXNrLXVzZXItb3B0aW9uc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHh9LmFzay11c2VyLW9wdGlvbntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3RleHQtYWxpZ246bGVmdH0uYXNrLXVzZXItb3B0aW9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2M1NjUzZDBmfS5hc2stdXNlci1vcHRpb246ZGlzYWJsZWR7b3BhY2l0eTouNTtjdXJzb3I6bm90LWFsbG93ZWR9LmFzay11c2VyLW9wdGlvbi5zZWxlY3RlZHtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNjNTY1M2QyZTtib3gtc2hhZG93OjAgMCAwIDFweCAjYzU2NTNkNTkgaW5zZXR9LnRvb2wtdXNlLWNhcmQuYXNrLXVzZXIuYXNrLXVzZXItYW5zd2VyZWR7Ym9yZGVyLXRvcDoycHggc29saWQgdmFyKC0tc3VjY2VzcywgIzRjYWY1MCl9LmFzay11c2VyLW9wdGlvbi5hc2stdXNlci1vcHRpb24tY2hvc2Vue2JhY2tncm91bmQ6I2M1NjUzZDI5O2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5hc2stdXNlci1pbmRpY2F0b3J7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtmbGV4LXNocmluazowO2JvcmRlcjoycHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6NTAlO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5hc2stdXNlci1vcHRpb25zW2RhdGEtbXVsdGktc2VsZWN0PXRydWVdIC5hc2stdXNlci1pbmRpY2F0b3J7Ym9yZGVyLXJhZGl1czozcHh9LmFzay11c2VyLW9wdGlvbi5zZWxlY3RlZCAuYXNrLXVzZXItaW5kaWNhdG9ye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KX0uYXNrLXVzZXItb3B0aW9uLnNlbGVjdGVkIC5hc2stdXNlci1pbmRpY2F0b3I6YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDo2cHg7aGVpZ2h0OjZweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo1MCV9LmFzay11c2VyLW9wdGlvbnNbZGF0YS1tdWx0aS1zZWxlY3Q9dHJ1ZV0gLmFzay11c2VyLW9wdGlvbi5zZWxlY3RlZCAuYXNrLXVzZXItaW5kaWNhdG9yOmFmdGVye3dpZHRoOjRweDtoZWlnaHQ6OHB4O2JvcmRlcjpzb2xpZCB3aGl0ZTtib3JkZXItd2lkdGg6MCAycHggMnB4IDA7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQ6bm9uZTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTttYXJnaW4tYm90dG9tOjJweH0uYXNrLXVzZXItb3B0aW9uLWNvbnRlbnR7ZmxleDoxO21pbi13aWR0aDowfS5hc2stdXNlci1vcHRpb24tbGFiZWx7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5hc2stdXNlci1vcHRpb24tZGVzY3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTttYXJnaW4tdG9wOjJweDtsaW5lLWhlaWdodDoxLjR9LmFzay11c2VyLWFjdGlvbnN7bWFyZ2luLXRvcDoxMHB4O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmFzay11c2VyLXN1Ym1pdHtwYWRkaW5nOjZweCAxNnB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5hc2stdXNlci1zdWJtaXQ6aG92ZXI6bm90KDpkaXNhYmxlZCl7ZmlsdGVyOmJyaWdodG5lc3MoMS4xKX0uYXNrLXVzZXItc3VibWl0OmRpc2FibGVke29wYWNpdHk6LjQ7Y3Vyc29yOm5vdC1hbGxvd2VkfS5hc2stdXNlci1zdWJtaXQuYXNrLXVzZXItc3VibWl0dGVke2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWRlZmF1bHQpO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BvaW50ZXItZXZlbnRzOm5vbmV9LmFzay11c2VyLWFuc3dlcmVkIC5hc2stdXNlci1vcHRpb257Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5Oi42fS5hc2stdXNlci1hbnN3ZXJlZCAuYXNrLXVzZXItb3B0aW9uLmFzay11c2VyLW9wdGlvbi1jaG9zZW57b3BhY2l0eToxO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKTtiYWNrZ3JvdW5kOiM0ZjdhNTgwZn0uYXNrLXVzZXItYW5zd2VyZWQgLmFzay11c2VyLW9wdGlvbi5hc2stdXNlci1vcHRpb24tY2hvc2VuIC5hc2stdXNlci1pbmRpY2F0b3J7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpO2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyl9LmFzay11c2VyLW9wdGlvbi1yZWFkb25seXtwb2ludGVyLWV2ZW50czpub25lfS50aGlua2luZy1pbmxpbmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDo1cHg7bWFyZ2luOjJweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzozcHggOHB4O2JvcmRlci1yYWRpdXM6NnB4O2JhY2tncm91bmQ6IzhhNmNiMjBhO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS40O2NvbG9yOiM4YTZjYjI4Yzt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnRoaW5raW5nLWlubGluZTpob3ZlcntiYWNrZ3JvdW5kOiM4YTZjYjIxNDtjb2xvcjojOGE2Y2IyY2N9LnRoaW5raW5nLWlubGluZS5leHBhbmRlZHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7bGluZS1oZWlnaHQ6MS42O21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3cteTphdXRvfS50aGlua2luZy1pbmxpbmUtaWNvbntmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjI1cmVtfS50aGlua2luZy1pbmxpbmUtcHJldmlld3tmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50aGlua2luZy1pbmxpbmUuZXhwYW5kZWQgLnRoaW5raW5nLWlubGluZS1wcmV2aWV3e3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS50aGlua2luZy1pbmxpbmUtYWN0aW9ue2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6IzhhNmNiMjY2O3BhZGRpbmc6MCA0cHg7Ym9yZGVyLXJhZGl1czozcHg7YmFja2dyb3VuZDojOGE2Y2IyMTQ7bWFyZ2luLWxlZnQ6YXV0b30udGhpbmtpbmctaW5saW5lOmhvdmVyIC50aGlua2luZy1pbmxpbmUtYWN0aW9ue2NvbG9yOiM4YTZjYjJiM30udGhpbmtpbmctaW5saW5lLnRoaW5raW5nLXB0eXtiYWNrZ3JvdW5kOiM4YTZjYjIwOH0udGhpbmtpbmctc3RyZWFtaW5ne2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo1cHg7bWFyZ2luOjJweCAwO3BhZGRpbmc6M3B4IDhweDtib3JkZXItcmFkaXVzOjZweDtiYWNrZ3JvdW5kOiM4YTZjYjIwYTtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjojOGE2Y2IyOGN9LnRoaW5raW5nLXN0cmVhbWluZy1pbm5lcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6NXB4O3dpZHRoOjEwMCV9LnRoaW5raW5nLXN0cmVhbWluZy1pY29ue2ZvbnQtc2l6ZTouNjI1cmVtO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDoxcHh9LnRoaW5raW5nLXN0cmVhbWluZy10ZXh0e2ZsZXg6MTttaW4td2lkdGg6MDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM4YTZjYjJjYzt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDo0LjVlbTtvdmVyZmxvdy15OmF1dG87c2Nyb2xsYmFyLXdpZHRoOnRoaW47c2Nyb2xsYmFyLWNvbG9yOnJnYmEoMTM4LDEwOCwxNzgsLjMpIHRyYW5zcGFyZW50fS50aGlua2luZy1zdHJlYW1pbmctdGV4dDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NHB4fS50aGlua2luZy1zdHJlYW1pbmctdGV4dDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOGE2Y2IyNGQ7Ym9yZGVyLXJhZGl1czoycHh9LnRvb2wtZ3JvdXB7bWFyZ2luOjRweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZiZjVkOSwjZmZmOGVlYjMpO2JveC1zaGFkb3c6MCAxcHggMnB4ICM1OTNhMjAwODtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE4cyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlLHRyYW5zZm9ybSAuMjJzIGVhc2V9LnRvb2wtZ3JvdXA6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM3ZDViMzkyZTtib3gtc2hhZG93OjAgMnB4IDhweCAjNTkzYTIwMGZ9LnRvb2wtZ3JvdXBbZGF0YS1zdGF0dXM9cGVuZGluZ117Ym9yZGVyLWNvbG9yOiNhOTZhMmYzODtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZjRlMmQ5LCNmZmYxZGFiMyl9LnRvb2wtZ3JvdXBbZGF0YS1zdGF0dXM9ZXJyb3Jde2JvcmRlci1jb2xvcjojYjI0ZjQ1NDc7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmY2YwZWVkOSwjZmNlY2VhYjMpfS50b29sLWdyb3VwLXN1bW1hcnl7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O3BhZGRpbmc6OHB4IDEycHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlfS50b29sLWdyb3VwLXN1bW1hcnk6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMGF9LnRvb2wtZ3JvdXAtc3RhdHVze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MThweDtoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjUwJTtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7ZmxleC1zaHJpbms6MDtsZXR0ZXItc3BhY2luZzowfS50b29sLWdyb3VwW2RhdGEtc3RhdHVzPWRvbmVdIC50b29sLWdyb3VwLXN0YXR1c3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS50b29sLWdyb3VwW2RhdGEtc3RhdHVzPWVycm9yXSAudG9vbC1ncm91cC1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcil9LnRvb2wtZ3JvdXBbZGF0YS1zdGF0dXM9cGVuZGluZ10gLnRvb2wtZ3JvdXAtc3RhdHVze2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyk7YW5pbWF0aW9uOnRvb2wtZ3JvdXAtcHVsc2UgMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHRvb2wtZ3JvdXAtcHVsc2V7MCUsdG97b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi41NX19LnRvb2wtZ3JvdXAtdGV4dHtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDA1ZW19LnRvb2wtZ3JvdXAtY291bnR7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6IzdkNWIzOTEyO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30udG9vbC1ncm91cC1jaGV2cm9ue2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyB2YXIoLS1lYXNlLW91dC1leHBvKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi42fS50b29sLWdyb3VwOmhvdmVyIC50b29sLWdyb3VwLWNoZXZyb257b3BhY2l0eToxfS50b29sLWdyb3VwW2RhdGEtZXhwYW5kZWQ9dHJ1ZV0gLnRvb2wtZ3JvdXAtY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnRvb2wtZ3JvdXAtYm9keXtkaXNwbGF5Om5vbmU7cGFkZGluZzo0cHggOHB4IDhweCAxOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wNik7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOCk7YmFja2dyb3VuZDojZmZmZGY4OGN9LnRvb2wtZ3JvdXAtYm9keT4uaW5saW5lLXRvb2x7bWFyZ2luOjB9LnRvb2wtZ3JvdXAtYm9keT4uaW5saW5lLXRvb2wrLmlubGluZS10b29se2JvcmRlci10b3A6MXB4IGRhc2hlZCByZ2JhKDEyNSw5MSw1NywuMDYpfS50b29sLWdyb3VwW2RhdGEtZXhwYW5kZWQ9dHJ1ZV0gLnRvb2wtZ3JvdXAtYm9keXtkaXNwbGF5OmJsb2NrO2FuaW1hdGlvbjp0b29sLWdyb3VwLXJldmVhbCAuMThzIHZhcigtLWVhc2Utb3V0LWV4cG8pfUBrZXlmcmFtZXMgdG9vbC1ncm91cC1yZXZlYWx7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmNoYXQtZm9sZC1iYXJ7ZmxleDowIDAgYXV0bztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHg7bWF4LWhlaWdodDoxMjRweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo4cHggNHB4IDdweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjhmNSwjZmZmYWY0ZWIpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTBweCk7Ym94LXNoYWRvdzowIDRweCAxMnB4IC04cHggIzU5M2EyMDJlfS5jaGF0LWZvbGQtYmFyLmhpZGRlbntkaXNwbGF5Om5vbmV9LmNoYXQtZm9sZC1yb3d7d2lkdGg6bWluKDEwMCUsdmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpKTttaW4taGVpZ2h0OjMwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjVweCAxMHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NTRweCBtaW5tYXgoMCwxZnIpO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjEyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCwgOHB4KTtiYWNrZ3JvdW5kOiNmZmZmZmY5ZTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94fS5jaGF0LWZvbGQtcm93OmhvdmVye2JvcmRlci1jb2xvcjojN2Q1YjM5MzM7YmFja2dyb3VuZDojZmZmZmZmZDF9LmNoYXQtZm9sZC1yb3cuaGlzdG9yeXtiYWNrZ3JvdW5kOiNmZmY4ZWViODtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmNoYXQtZm9sZC1yb2xle2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcH0uY2hhdC1mb2xkLXRleHR7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZTouNzhyZW07bGluZS1oZWlnaHQ6MS4yNX0uY2hhdC1jb250YWluZXIuYXV0by1mb2xkIC5jaGF0LW1lc3NhZ2Vze2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5jaGF0LWZvbGQtYmFye21heC1oZWlnaHQ6MTEycHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0uY2hhdC1mb2xkLXJvd3ttaW4taGVpZ2h0OjI4cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQ0cHggbWlubWF4KDAsMWZyKTtwYWRkaW5nOjRweCA4cHh9LmNoYXQtZm9sZC1yb2xle2ZvbnQtc2l6ZTouNjhyZW19LmNoYXQtZm9sZC10ZXh0e2ZvbnQtc2l6ZTouNzRyZW19fS5jaGF0LWZvbGQtYmFyLXNwYWNlcntkaXNwbGF5Om5vbmV9LmNoYXQtaGlzdG9yeS1oaWRkZW4sLmNoYXQtYXV0by1mb2xkLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5jaGF0LWhpc3Rvcnktc3VtbWFyeXt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7bWFyZ2luOjEwcHggYXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNoYXQtaGlzdG9yeS1zdW1tYXJ5LWJ0bntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjdweCAxMnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsLCA5OTlweCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmJmNWU2LCNmZmY3ZWNjNyk7Ym94LXNoYWRvdzowIDFweCAycHggIzU5M2EyMDBhO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udDppbmhlcml0O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4yMnMgZWFzZSxiYWNrZ3JvdW5kIC4xOHMgZWFzZX0uY2hhdC1oaXN0b3J5LXN1bW1hcnktYnRuOmhvdmVye2JvcmRlci1jb2xvcjojN2Q1YjM5MzM7Ym94LXNoYWRvdzowIDJweCA4cHggIzU5M2EyMDBmO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmYWYzZjIsI2ZmZjVlOGQ5KX0uY2hhdC1oaXN0b3J5LXN1bW1hcnktaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNzV9LmNoYXQtaGlzdG9yeS1zdW1tYXJ5LWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MXB4O2ZsZXg6MTttaW4td2lkdGg6MH0uY2hhdC1oaXN0b3J5LXN1bW1hcnktdGl0bGV7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS5jaGF0LWhpc3Rvcnktc3VtbWFyeS1tZXRhe2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5jaGF0LWhpc3Rvcnktc3VtbWFyeS1jaGV2cm9ue2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5jaGF0LWhpc3Rvcnktc3VtbWFyeS1idG46aG92ZXIgLmNoYXQtaGlzdG9yeS1zdW1tYXJ5LWNoZXZyb257b3BhY2l0eToxfS5jaGF0LWhpc3Rvcnktc3VtbWFyeVtkYXRhLWV4cGFuZGVkPXRydWVdIC5jaGF0LWhpc3Rvcnktc3VtbWFyeS1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uYXNzaXN0YW50LXJlcGx5LWRpc2Nsb3N1cmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3dpZHRoOjEwMCU7bWluLWhlaWdodDozNHB4O3BhZGRpbmc6NHB4IDJweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyfS5hc3Npc3RhbnQtcmVwbHktbGFiZWx7ZmxleC1zaHJpbms6MDtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NjUwfS5hc3Npc3RhbnQtcmVwbHktcHJldmlld3tmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZvbnQtc2l6ZTouNzhyZW19LmFzc2lzdGFudC1yZXBseS1hY3Rpb257ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjdyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmFzc2lzdGFudC1yZXBseS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2V9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnQtcmVwbHktZXhwYW5kZWQ+LmFzc2lzdGFudC1yZXBseS1kaXNjbG9zdXJlIC5hc3Npc3RhbnQtcmVwbHktY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnQtcmVwbHktY29sbGFwc2VkPjpub3QoLmFzc2lzdGFudC1yZXBseS1kaXNjbG9zdXJlKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5pbmxpbmUtdG9vbHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjoxcHggMDt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlfS50b29sLWdyb3VwLWJvZHk+LmlubGluZS10b29se21heC13aWR0aDoxMDAlfS5pbmxpbmUtdG9vbC1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtsaW5lLWhlaWdodDoxLjQ1O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZX0uaW5saW5lLXRvb2w6aG92ZXIgLmlubGluZS10b29sLXJvd3tiYWNrZ3JvdW5kOiNjNTY1M2QwZjtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5pbmxpbmUtdG9vbC1zdGF0dXN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNHB4O2hlaWdodDoxNHB4O2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1zdWNjZXNzKTtsaW5lLWhlaWdodDoxfS5pbmxpbmUtdG9vbFtkYXRhLXN0YXR1cz1wZW5kaW5nXSAuaW5saW5lLXRvb2wtc3RhdHVze2NvbG9yOnZhcigtLXdhcm5pbmcpfS5pbmxpbmUtdG9vbFtkYXRhLXN0YXR1cz1lcnJvcl0gLmlubGluZS10b29sLXN0YXR1cywuaW5saW5lLXRvb2wtZXJyb3ItaW5saW5lIC5pbmxpbmUtdG9vbC1zdGF0dXN7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uaW5saW5lLXRvb2wtaWNvbntmbGV4LXNocmluazowO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO29wYWNpdHk6Ljg1fS5pbmxpbmUtdG9vbDpob3ZlciAuaW5saW5lLXRvb2wtaWNvbntjb2xvcjp2YXIoLS1hY2NlbnQpO29wYWNpdHk6MX0uaW5saW5lLXRvb2wtdGl0bGV7ZmxleDoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbX0uaW5saW5lLXRvb2w6aG92ZXIgLmlubGluZS10b29sLXRpdGxle2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmlubGluZS10b29sLW1ldGF7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjIyMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bGV0dGVyLXNwYWNpbmc6LS4wMWVtfS5pbmxpbmUtdG9vbC1pbWFnZXtwYWRkaW5nOjJweCAxMHB4IDhweCAzMnB4O2N1cnNvcjpkZWZhdWx0fS5pbmxpbmUtdG9vbC1pbWFnZS10aHVtYntkaXNwbGF5OmJsb2NrO21heC13aWR0aDptaW4oMTAwJSwzNjBweCk7bWF4LWhlaWdodDoyNDBweDt3aWR0aDphdXRvO2hlaWdodDphdXRvO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xNCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgxMjUsOTEsNTcsLjA1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDc1JSxyZ2JhKDEyNSw5MSw1NywuMDUpIDc1JSkgMCAwIC8gMTZweCAxNnB4LGxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDEyNSw5MSw1NywuMDUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNzUlLHJnYmEoMTI1LDkxLDU3LC4wNSkgNzUlKSA4cHggOHB4IC8gMTZweCAxNnB4O29iamVjdC1maXQ6Y29udGFpbjtjdXJzb3I6em9vbS1pbjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2V9LmlubGluZS10b29sLWltYWdlLXRodW1iOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAycHggMTBweCAjMDAwMDAwMWZ9LmlubGluZS10b29sLWV4cGFuZGVke2Rpc3BsYXk6bm9uZTtwYWRkaW5nOjAgMTBweCA4cHh9LmlubGluZS10b29sLW9wZW4gLmlubGluZS10b29sLWV4cGFuZGVke2Rpc3BsYXk6YmxvY2s7YW5pbWF0aW9uOnRvb2wtZ3JvdXAtcmV2ZWFsIC4xNnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LmlubGluZS10b29sLXJlc3VsdHtiYWNrZ3JvdW5kOiM3ZDViMzkwYTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wNyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO3BhZGRpbmc6MTBweCAxMnB4O21hcmdpbi10b3A6NnB4O21heC1oZWlnaHQ6MzIwcHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO3Njcm9sbGJhci13aWR0aDp0aGluO3Njcm9sbGJhci1jb2xvcjpyZ2JhKDEyNSw5MSw1NywuMikgdHJhbnNwYXJlbnR9LmlubGluZS10b29sLXJlc3VsdDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NnB4fS5pbmxpbmUtdG9vbC1yZXN1bHQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzdkNWIzOTMzO2JvcmRlci1yYWRpdXM6M3B4fS5pbmxpbmUtdG9vbC1yZXN1bHQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTUyfS5pbmxpbmUtdG9vbC1yZXN1bHQtdGV4dHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS41NTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDttYXJnaW46MH0uaW5saW5lLXRvb2wtZXJyb3ItaW5saW5le2JvcmRlci1sZWZ0OjJweCBzb2xpZCB2YXIoLS1kYW5nZXIpO3BhZGRpbmctbGVmdDoycHg7bWFyZ2luLWxlZnQ6LTJweH0uaW5saW5lLXRvb2wtZXJyb3ItaW5saW5lIC5pbmxpbmUtdG9vbC1yb3d7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uaW5saW5lLXRvb2wtcmVzdWx0LmlubGluZS10b29sLWVycm9ye2NvbG9yOnZhcigtLWRhbmdlcik7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljc1cmVtO2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtib3JkZXItY29sb3I6I2IyNGY0NTJlfS5pbmxpbmUtdG9vbC1sb2FkaW5ne2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0td2FybmluZyk7Zm9udC1zdHlsZTppdGFsaWM7cGFkZGluZzo2cHggMDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4fS5pbmxpbmUtdG9vbC1sb2FkaW5nOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLXdhcm5pbmctbXV0ZWQpO2JvcmRlci10b3AtY29sb3I6dmFyKC0td2FybmluZyk7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnRvb2wtY29udGVudC1zcGluIC43cyBsaW5lYXIgaW5maW5pdGV9LmlubGluZS10b29sLWVtcHR5e2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zdHlsZTppdGFsaWN9LnRvb2wtY29udGVudC1sb2FkaW5ne2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zdHlsZTppdGFsaWM7cGFkZGluZzo4cHggMH0udG9vbC1jb250ZW50LWxvYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXRleHQtbXV0ZWQpO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnRvb2wtY29udGVudC1zcGluIC42cyBsaW5lYXIgaW5maW5pdGU7dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHh9QGtleWZyYW1lcyB0b29sLWNvbnRlbnQtc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS50b29sLWNvbnRlbnQtZXJyb3J7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS1lcnJvcik7cGFkZGluZzo4cHggMDtjdXJzb3I6cG9pbnRlcn0udG9vbC1jb250ZW50LWVycm9yOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmlubGluZS10ZXJtaW5hbHttYXJnaW46NHB4IDA7d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTUsMTIsOSwuNik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JhY2tncm91bmQ6IzFmMWIxNztib3gtc2hhZG93OjAgMXB4ICNmZmZmZmYwYSBpbnNldCwwIDJweCAxMnB4ICMwZjBjMDkyZTtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpib3gtc2hhZG93IC4yMnMgZWFzZSx0cmFuc2Zvcm0gLjIycyBlYXNlLGJvcmRlci1jb2xvciAuMjJzIGVhc2V9LmlubGluZS10ZXJtaW5hbDpob3Zlcntib3gtc2hhZG93OjAgMXB4ICNmZmZmZmYwZCBpbnNldCwwIDRweCAxOHB4ICMwZjBjMDkzZDtib3JkZXItY29sb3I6I2ZmZmZmZjFhfS50ZXJtLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6OHB4IDE0cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZmZmYwYSwjZmZmZmZmMDQpLCMwMDAwMDAyZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Zm9udC1zaXplOi43NXJlbTtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS50ZXJtLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmZmZjBmLCNmZmZmZmYwNiksIzAwMDAwMDJlfS50ZXJtLXN0YXR1cy1kb3R7d2lkdGg6OXB4O2hlaWdodDo5cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDtib3gtc2hhZG93OjAgMCAwIDFweCAjMDAwMDAwNDAgaW5zZXR9LnRlcm0tc3RhdHVzLWRvdC50ZXJtLXN1Y2Nlc3N7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM1JSAzMCUsI2I2ZjBjNCwjNmVlMDlhLCMzYWE3NjUpO2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldCwwIDAgNnB4ICM2ZWUwOWE1OX0udGVybS1zdGF0dXMtZG90LnRlcm0tZXJyb3J7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM1JSAzMCUsI2ZmYjViOSwjZjA3MTc4LCNiNTNiNDEpO2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldCwwIDAgNnB4ICNmMDcxNzg1OX0udGVybS1zdGF0dXMtZG90LnRlcm0td2FybntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzUlIDMwJSwjZmZkMDdhLCNmMGE1MDAsI2FkNzQwMCk7Ym94LXNoYWRvdzowIDAgMCAxcHggIzAwMDAwMDQwIGluc2V0LDAgMCA2cHggI2YwYTUwMDU5fS50ZXJtLXN0YXR1cy1kb3QudGVybS1ydW5uaW5ne2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzNSUgMzAlLCNkMWQ1ZGIsIzljYTNhZiwjNGI1NTYzKTthbmltYXRpb246dGVybS1wdWxzZSAxcyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHRlcm0tcHVsc2V7MCUsdG97b3BhY2l0eToxO2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldCwwIDAgIzljYTNhZjAwfTUwJXtvcGFjaXR5Oi41NTtib3gtc2hhZG93OjAgMCAwIDFweCAjMDAwMDAwNDAgaW5zZXQsMCAwIDhweCAjOWNhM2FmNTl9fS50ZXJtLWNtZC1wcmV2aWV3e2ZsZXg6MTttaW4td2lkdGg6MDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6I2U4ZGNjOGM3O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS50ZXJtLWNtZC1wcmV2aWV3IC50ZXJtLXByb21wdHtjb2xvcjojNmVlMDlhO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tcmlnaHQ6NnB4O2ZvbnQtc2l6ZTouNzVyZW07b3BhY2l0eTouOX0udGVybS10b2dnbGUtaWNvbntmb250LXNpemU6LjYyNXJlbTtjb2xvcjojZmZmZmZmNTk7dHJhbnNpdGlvbjpjb2xvciAuMThzIGVhc2U7ZmxleC1zaHJpbms6MH0udGVybS1oZWFkZXI6aG92ZXIgLnRlcm0tdG9nZ2xlLWljb257Y29sb3I6I2ZmZmZmZmE2fS50ZXJtLWJvZHl7cGFkZGluZzoxMnB4IDE0cHggMTRweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwMDAwMDJlLCMwMDAwIDI0cHgpLCMxZjFiMTd9LnRlcm0tY29tbWFuZHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjojZjRlOWQ0O2xpbmUtaGVpZ2h0OjEuNTU7bWFyZ2luLWJvdHRvbTo2cHg7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0udGVybS1wcm9tcHR7Y29sb3I6IzZlZTA5YTtmb250LXdlaWdodDo2MDA7bWFyZ2luLXJpZ2h0OjZweDt0ZXh0LXNoYWRvdzowIDAgNnB4IHJnYmEoMTEwLDIyNCwxNTQsLjI1KX0udGVybS1vdXRwdXR7bWFyZ2luLXRvcDo4cHg7cGFkZGluZy10b3A6OHB4O2JvcmRlci10b3A6MXB4IGRhc2hlZCByZ2JhKDI1NSwyNTUsMjU1LC4wNik7bWF4LWhlaWdodDozNjBweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87c2Nyb2xsYmFyLXdpZHRoOnRoaW47c2Nyb2xsYmFyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjE1KSB0cmFuc3BhcmVudH0udGVybS1vdXRwdXQ6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjZweH0udGVybS1vdXRwdXQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6I2ZmZmZmZjI2O2JvcmRlci1yYWRpdXM6M3B4fS50ZXJtLW91dHB1dDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmNDB9LnRlcm0tbGluZXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjojZDRjMmEzO2xpbmUtaGVpZ2h0OjEuNTU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0udGVybS1leGl0e21hcmdpbi10b3A6MTBweDtwYWRkaW5nLXRvcDo4cHg7Ym9yZGVyLXRvcDoxcHggZGFzaGVkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNjg3NXJlbTtsaW5lLWhlaWdodDoxLjU7bGV0dGVyLXNwYWNpbmc6LjA0ZW19LnRlcm0tZXhpdC1zdWNjZXNze2NvbG9yOiM2ZWUwOWFiZn0udGVybS1leGl0LWVycm9ye2NvbG9yOiNmMDcxNzhjN30uaW5saW5lLWRpZmZ7bWFyZ2luOjRweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmYmY1ZTAsI2ZmZjZlYWI4KTtib3gtc2hhZG93OjAgMXB4IDJweCAjNTkzYTIwMGE7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjIycyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlfS5pbmxpbmUtZGlmZjpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTM4O2JveC1zaGFkb3c6MCAzcHggMTJweCAjNTkzYTIwMGZ9LmRpZmYtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTouODEyNXJlbTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5kaWZmLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QwYX0uZGlmZi10b2dnbGV7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utc3ByaW5nKSxjb2xvciAuMThzIGVhc2U7ZmxleC1zaHJpbms6MDttYXJnaW4tbGVmdDphdXRvO29wYWNpdHk6LjZ9LmlubGluZS1kaWZmOmhvdmVyIC5kaWZmLXRvZ2dsZXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7b3BhY2l0eToxfS5pbmxpbmUtZGlmZi5jb2xsYXBzZWQgLmRpZmYtdG9nZ2xle3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uaW5saW5lLWRpZmYuY29sbGFwc2VkIC5kaWZmLWJvZHl7bWF4LWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksb3BhY2l0eSAuMjVzIGVhc2U7dmlzaWJpbGl0eTpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZX0uZGlmZi1maWxlLW5hbWV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouODEyNXJlbTtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS5kaWZmLXBhdGh7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXNpemU6LjY4NzVyZW19LmRpZmYtc3RhdHVze2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjNweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2xldHRlci1zcGFjaW5nOi4wMWVtfS5kaWZmLXN0YXR1cy5kaWZmLXN1Y2Nlc3N7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uZGlmZi1zdGF0dXMuZGlmZi1lcnJvcntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uZGlmZi1zdGF0dXMuZGlmZi1wZW5kaW5ne2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyl9LmRpZmYtb3Blbi1maWxle2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTYpO2JhY2tncm91bmQ6I2ZmZmRmOGI4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtwYWRkaW5nOjNweCA5cHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjY1MDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlfS5kaWZmLW9wZW4tZmlsZTpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QxYTtib3JkZXItY29sb3I6I2M1NjUzZDQ3O2NvbG9yOnZhcigtLWFjY2VudCl9LmRpZmYtYm9keXtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTtiYWNrZ3JvdW5kOiNmZmZkZjhhNn0uZGlmZi1jb2x1bW5ze2Rpc3BsYXk6ZmxleDtnYXA6MXB4O2JhY2tncm91bmQ6IzdkNWIzOTE0O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5kaWZmLWNvbHtmbGV4OjEgMSAwO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQ6I2ZmZmRmOGQ5O292ZXJmbG93OmhpZGRlbn0uZGlmZi1jb2wtaGFsZntmbGV4OjF9LmRpZmYtY29sLWZ1bGx7ZmxleDpub25lO3dpZHRoOjEwMCV9LmRpZmYtY29sLWxhYmVse2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmc6NHB4IDEycHg7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wOGVtO2JhY2tncm91bmQ6IzdkNWIzOTBkO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOCl9LmRpZmYtbGluZXtwYWRkaW5nOjNweCAxMnB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxLjU1O3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGw7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94fS5kaWZmLWFkZHtiYWNrZ3JvdW5kOiM0ZjdhNTgxNDtjb2xvcjojMmM1NTM1O2JvcmRlci1sZWZ0OjJweCBzb2xpZCByZ2JhKDc5LDEyMiw4OCwuNSl9LmRpZmYtcmVtb3Zle2JhY2tncm91bmQ6I2IyNGY0NTBmO2NvbG9yOiM3YzJhMjM7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYmEoMTc4LDc5LDY5LC40NSl9LmRpZmYtY29udGV4dHtiYWNrZ3JvdW5kOiNmZmZkZjhkYjtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHRyYW5zcGFyZW50fS5kaWZmLWh1bmt7YmFja2dyb3VuZDojNGE2ZmE1MTc7Y29sb3I6dmFyKC0taW5mbyk7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYmEoNzQsMTExLDE2NSwuMzUpO2ZvbnQtd2VpZ2h0OjY1MH0uZGlmZi1lbXB0eXtwYWRkaW5nOjEwcHggMTJweDtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2JhY2tncm91bmQ6I2ZmZmRmOGRifS5tYXJrZG93bi1jb250ZW50e2NvbG9yOmluaGVyaXQ7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXg6aGlkZGVuO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IC5jb2RlLWJsb2NrIHByZXtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0ubWFya2Rvd24tY29udGVudCBwe21hcmdpbjowIDAgOHB4O292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IHA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Lm1hcmtkb3duLWNvbnRlbnQgc3Ryb25ne2ZvbnQtd2VpZ2h0OjYwMH0ubWFya2Rvd24tY29udGVudCBlbXtmb250LXN0eWxlOml0YWxpY30ubWFya2Rvd24tY29udGVudCB1bCwubWFya2Rvd24tY29udGVudCBvbHttYXJnaW46OHB4IDA7cGFkZGluZy1sZWZ0OjIwcHh9Lm1hcmtkb3duLWNvbnRlbnQgbGl7bWFyZ2luOjRweCAwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IGgxLC5tYXJrZG93bi1jb250ZW50IGgyLC5tYXJrZG93bi1jb250ZW50IGgze21hcmdpbjoxNnB4IDAgOHB4O2ZvbnQtd2VpZ2h0OjYwMDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ubWFya2Rvd24tY29udGVudCBoMXtmb250LXNpemU6MS4yNXJlbX0ubWFya2Rvd24tY29udGVudCBoMntmb250LXNpemU6MS4xcmVtfS5tYXJrZG93bi1jb250ZW50IGgze2ZvbnQtc2l6ZToxcmVtfS5tYXJrZG93bi1jb250ZW50IGJsb2NrcXVvdGV7bWFyZ2luOjhweCAwO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkIHZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMGY7Ym9yZGVyLXJhZGl1czowIHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLXNtKSAwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IGF7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbH0ubWFya2Rvd24tY29udGVudCBpbWd7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99Lm1hcmtkb3duLWNvbnRlbnQgY29kZTpub3QoLmNvZGUtYmxvY2spOm5vdCguY29kZS1pbmxpbmUpe2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44MTI1cmVtO2JhY2tncm91bmQ6Izk2NzY1NTFmO3BhZGRpbmc6MnB4IDVweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsfS5tYXJrZG93bi1jb250ZW50IGNvZGUuY29kZS1pbmxpbmV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07YmFja2dyb3VuZDojOTY3NjU1MWY7cGFkZGluZzoycHggNXB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGx9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlLXdyYXB7bWFyZ2luOjEycHggMDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmF1dG87Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0ubWFya2Rvd24tY29udGVudCAubWQtdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3dpZHRoOjEwMCU7dGFibGUtbGF5b3V0OmZpeGVkO2ZvbnQtc2l6ZTouODEyNXJlbTt3aGl0ZS1zcGFjZTpub3JtYWx9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlIHRoLC5tYXJrZG93bi1jb250ZW50IC5tZC10YWJsZSB0ZHtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZzo2cHggMTBweDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IC5tZC10YWJsZSB0aHtiYWNrZ3JvdW5kOiM5Njc2NTUxYTtmb250LXdlaWdodDo2MDB9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgybil7YmFja2dyb3VuZDojOTY3NjU1MGF9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtYmxvY2t7bWFyZ2luOjEycHggMDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzFmMWIxNztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIyLDkxLDY0LC4zNSk7Ym94LXNoYWRvdzowIDJweCA4cHggIzAwMDAwMDI2fS5tYXJrZG93bi1jb250ZW50IC5jb2RlLWJsb2NrLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDojN2E1YjQwMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjIsOTEsNjQsLjIpO2dhcDo4cHh9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtbGFuZ3tmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjojOGM3MzVmO3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtY29weXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouN3JlbTtwYWRkaW5nOjRweCAxMHB4O2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JhY2tncm91bmQ6I2ZmZmZmZjFhO2NvbG9yOiNkOWM0YjA7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleC1zaHJpbms6MH0ubWFya2Rvd24tY29udGVudCAuY29kZS1jb3B5OmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZjJlO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNmZmZmZmY0MH0ubWFya2Rvd24tY29udGVudCAuY29kZS1jb3B5LmNvcGllZHtjb2xvcjojN2ZhMzZmO2JvcmRlci1jb2xvcjojN2ZhMzZmODA7YmFja2dyb3VuZDojN2ZhMzZmMjZ9Lm1hcmtkb3duLWNvbnRlbnQgcHJle21hcmdpbjowO3BhZGRpbmc6MTJweDtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0ubWFya2Rvd24tY29udGVudCBwcmUgY29kZXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6I2Y1ZWFkYztiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MDttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS5pbnB1dC1wYW5lbHtwYWRkaW5nOjZweCAxMHB4O3BhZGRpbmctYm90dG9tOmNhbGMoNnB4ICsgdmFyKC0taW5wdXQtc2FmZS1ib3R0b20sIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKSk7ZmxleC1zaHJpbms6MDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI2O292ZXJzY3JvbGwtYmVoYXZpb3I6Y29udGFpbjt0b3VjaC1hY3Rpb246cGFuLXk7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLHZpc2liaWxpdHkgMHN9LmlucHV0LWNvbXBvc2VyLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjhweDt3aWR0aDoxMDAlO21heC13aWR0aDo5NjBweDttYXJnaW4taW5saW5lOmF1dG87bWluLXdpZHRoOjB9LmlucHV0LWNvbXBvc2VyLXJvdz4uaW5wdXQtY29tcG9zZXJ7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MH0uaW5wdXQtY29tcG9zZXJ7LS1jb21wb3Nlci1hY3Rpb24tc2l6ZTogNDBweDtiYWNrZ3JvdW5kOiNmZmZmZmZlMDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjI0cHg7Ym94LXNoYWRvdzowIDNweCAxNHB4ICM1OTNhMjAwZDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTZzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSxib3JkZXItcmFkaXVzIC4yMnMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpLGJveC1zaGFkb3cgLjE2cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSksYmFja2dyb3VuZCAuMTZzIGN1YmljLWJlemllciguMiwuOCwuMiwxKTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWlufS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czoxOHB4O2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCksMCAxMHB4IDI4cHggLTIycHggI2M1NjUzZDllO2JhY2tncm91bmQ6I2ZmZmZmZmZhfS5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZHtib3JkZXItcmFkaXVzOjE4cHh9LmlucHV0LWNvbXBvc2VyLnZvaWNlLWhvbGRpbmd7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKX0uY29tcG9zZXItc3RhdHVzLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleC13cmFwOndyYXA7cGFkZGluZzowIDEwcHg7bWluLWhlaWdodDowO3RyYW5zaXRpb246cGFkZGluZyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5jb21wb3Nlci1zdGF0dXMtcm93Pip7ZmxleC1zaHJpbms6MH0uY29tcG9zZXItc3RhdHVzLXJvdzpoYXMoPio6bm90KC5oaWRkZW4pKXtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206MH1Ac3VwcG9ydHMgbm90IHNlbGVjdG9yKDpoYXMoKikpey5jb21wb3Nlci1zdGF0dXMtcm93Om5vdCg6ZW1wdHkpe3BhZGRpbmctdG9wOjRweH19LmNvbXBvc2VyLW1haW4tcm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0byBtaW5tYXgoOTZweCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6NHB4O3Jvdy1nYXA6MDtwYWRkaW5nOjRweCA2cHg7bWluLWhlaWdodDo0OHB4fS5jb21wb3Nlci1hY3Rpb25zLWxlZnQsLmNvbXBvc2VyLWFjdGlvbnMtcmlnaHR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtc2hyaW5rOjB9LmNvbXBvc2VyLWlucHV0LXdyYXB7cG9zaXRpb246cmVsYXRpdmU7bWluLXdpZHRoOjA7bWluLWhlaWdodDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uY29tcG9zZXItaW5saW5lLWNvbmZpZ3tkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDowO2dhcDo0cHh9LmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiAuY29tcG9zZXItbWFpbi1yb3csLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1tYWluLXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0byBtaW5tYXgoMCwxZnIpIGF1dG87cm93LWdhcDo0cHg7cGFkZGluZzo2cHggOHB4fS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLWlucHV0LXdyYXAsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1pbnB1dC13cmFwe2dyaWQtY29sdW1uOjEgLyAtMTtncmlkLXJvdzoxfS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLWFjdGlvbnMtbGVmdCwuaW5wdXQtY29tcG9zZXIuaXMtZXhwYW5kZWQgLmNvbXBvc2VyLWFjdGlvbnMtbGVmdHtncmlkLWNvbHVtbjoxO2dyaWQtcm93OjJ9LmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiAuY29tcG9zZXItaW5saW5lLWNvbmZpZywuaW5wdXQtY29tcG9zZXIuaXMtZXhwYW5kZWQgLmNvbXBvc2VyLWlubGluZS1jb25maWd7ZGlzcGxheTpmbGV4O2dyaWQtY29sdW1uOjI7Z3JpZC1yb3c6MjtvdmVyZmxvdzpoaWRkZW59LmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiAuY29tcG9zZXItYWN0aW9ucy1yaWdodCwuaW5wdXQtY29tcG9zZXIuaXMtZXhwYW5kZWQgLmNvbXBvc2VyLWFjdGlvbnMtcmlnaHR7Z3JpZC1jb2x1bW46MztncmlkLXJvdzoyfUBtZWRpYShtaW4td2lkdGg6NzIxcHgpey5pbnB1dC1jb21wb3Nlcntib3JkZXItcmFkaXVzOjIwcHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE2cyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpLGJhY2tncm91bmQtY29sb3IgLjE2cyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpLGJveC1zaGFkb3cgLjE2cyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpfS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4sLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVke2JvcmRlci1yYWRpdXM6MjBweH0uY29tcG9zZXItbWFpbi1yb3csLmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiAuY29tcG9zZXItbWFpbi1yb3csLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1tYWluLXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0byBtaW5tYXgoMCwxZnIpIGF1dG87cm93LWdhcDoycHg7cGFkZGluZzo3cHggOHB4fS5jb21wb3Nlci1pbnB1dC13cmFwLC5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLWlucHV0LXdyYXAsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1pbnB1dC13cmFwe2dyaWQtY29sdW1uOjEgLyAtMTtncmlkLXJvdzoxfS5jb21wb3Nlci1hY3Rpb25zLWxlZnQsLmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiAuY29tcG9zZXItYWN0aW9ucy1sZWZ0LC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZCAuY29tcG9zZXItYWN0aW9ucy1sZWZ0e2dyaWQtY29sdW1uOjE7Z3JpZC1yb3c6Mn0uY29tcG9zZXItaW5saW5lLWNvbmZpZywuaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluIC5jb21wb3Nlci1pbmxpbmUtY29uZmlnLC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZCAuY29tcG9zZXItaW5saW5lLWNvbmZpZ3tkaXNwbGF5OmZsZXg7Z3JpZC1jb2x1bW46MjtncmlkLXJvdzoyO292ZXJmbG93OmhpZGRlbn0uY29tcG9zZXItYWN0aW9ucy1yaWdodCwuaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluIC5jb21wb3Nlci1hY3Rpb25zLXJpZ2h0LC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZCAuY29tcG9zZXItYWN0aW9ucy1yaWdodHtncmlkLWNvbHVtbjozO2dyaWQtcm93OjJ9LmlucHV0LWNvbXBvc2VyIC5pbnB1dC10ZXh0YXJlYXt0cmFuc2l0aW9uOm5vbmV9fS5jb21wb3Nlci1jb25maWctY29udHJvbHN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDttaW4td2lkdGg6MH0uY29tcG9zZXItY29uZmlnLWNoaXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NHB4O21pbi1oZWlnaHQ6MjhweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3VzZXItc2VsZWN0Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpwb2ludGVyfS5jb21wb3Nlci1jb25maWctY2hpcHttYXgtd2lkdGg6NzZweDtwYWRkaW5nOjAgOHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kOiNmNmYxZThiODt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5jb21wb3Nlci1jb25maWctY2hpcC1tb2Rle2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMWE7Ym9yZGVyLWNvbG9yOiNjNTY1M2QzOH0uY29tcG9zZXItY29uZmlnLWNoaXA6aG92ZXIsLmNvbXBvc2VyLWNvbmZpZy1jaGlwOmZvY3VzLXdpdGhpbntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNmZmY4ZjJmNX0uY29tcG9zZXItY29uZmlnLWNoaXA6Zm9jdXMtd2l0aGlue291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudC1tdXRlZCk7b3V0bGluZS1vZmZzZXQ6MXB4fS5jb21wb3Nlci1jb25maWctbW9kZWx7bWF4LXdpZHRoOjk2cHh9LmNvbXBvc2VyLWNvbmZpZy10aGlua2luZ3ttYXgtd2lkdGg6NzZweH0uY29tcG9zZXItY29uZmlnLXRoaW5raW5nW2RhdGEtdGhpbmtpbmc9b2ZmXXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uY29tcG9zZXItY29uZmlnLXNraWxsc3thcHBlYXJhbmNlOm5vbmU7Zm9udDppbmhlcml0O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uY29tcG9zZXItc2tpbGxzLXBvcG92ZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo2MDtsZWZ0OjUwJTtib3R0b206Y2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpICsgOTJweCk7d2lkdGg6bWluKDM2MHB4LGNhbGMoMTAwdncgLSAyNHB4KSk7bWF4LWhlaWdodDptaW4oMzYwcHgsY2FsYygxMDB2aCAtIDE0OHB4KSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLCAjZmZmZGY5KTtib3gtc2hhZG93OjAgMTJweCAyOHB4ICMzODJiMWUyZX0uY29tcG9zZXItc2tpbGxzLXBvcG92ZXIuaGlkZGVue2Rpc3BsYXk6bm9uZX0uY29tcG9zZXItc2tpbGxzLWhlYWRpbmd7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweDtwYWRkaW5nOjEwcHggMTJweCA4cHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXNpemU6Ljc4cmVtO2ZvbnQtd2VpZ2h0OjcwMH0uY29tcG9zZXItc2tpbGxzLWNvdW50e2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NTAwfS5jb21wb3Nlci1za2lsbHMtbGlzdHtkaXNwbGF5OmdyaWQ7bWF4LWhlaWdodDoyOTZweDtvdmVyZmxvdy15OmF1dG87cGFkZGluZzowIDZweCA2cHh9LmNvbXBvc2VyLXNraWxsLW9wdGlvbntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjE4cHggbWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOnN0YXJ0O2dhcDo4cHg7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjQ0cHg7cGFkZGluZzo4cHggNnB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyfS5jb21wb3Nlci1za2lsbC1vcHRpb246aG92ZXIsLmNvbXBvc2VyLXNraWxsLW9wdGlvbjpmb2N1cy12aXNpYmxlLC5jb21wb3Nlci1za2lsbC1vcHRpb24uaXMtc2VsZWN0ZWR7YmFja2dyb3VuZDojYzU2NTNkMWE7b3V0bGluZTpub25lfS5jb21wb3Nlci1za2lsbC1vcHRpb246Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQtbXV0ZWQpO291dGxpbmUtb2Zmc2V0Oi0ycHh9LmNvbXBvc2VyLXNraWxsLWNoZWNre2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDttYXJnaW4tdG9wOjFweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC1zaXplOi43MnJlbTtmb250LXdlaWdodDo3MDB9LmNvbXBvc2VyLXNraWxsLW9wdGlvbi5pcy1zZWxlY3RlZCAuY29tcG9zZXItc2tpbGwtY2hlY2t7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMjR9LmNvbXBvc2VyLXNraWxsLWNvcHl7bWluLXdpZHRoOjB9LmNvbXBvc2VyLXNraWxsLW5hbWUsLmNvbXBvc2VyLXNraWxsLWRlc2NyaXB0aW9ue2Rpc3BsYXk6YmxvY2t9LmNvbXBvc2VyLXNraWxsLW5hbWV7Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo2NTB9LmNvbXBvc2VyLXNraWxsLWRlc2NyaXB0aW9ue21hcmdpbi10b3A6MnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDoxLjM1fS5jb21wb3Nlci1za2lsbC1zb3VyY2V7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42OHJlbTtsaW5lLWhlaWdodDoxLjQ7d2hpdGUtc3BhY2U6bm93cmFwfS5jb21wb3Nlci1za2lsbHMtZW1wdHl7cGFkZGluZzoxNnB4IDEwcHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi43NnJlbTt0ZXh0LWFsaWduOmNlbnRlcn0uY29tcG9zZXItY29uZmlnLWljb257ZmxleDowIDAgYXV0bzt3aWR0aDoxM3B4O2hlaWdodDoxM3B4fS5jb21wb3Nlci1jb25maWctbGFiZWx7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOi43MnJlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MX0uY29tcG9zZXItdGV4dC1waWxse3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MnB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNpemluZzpib3JkZXItYm94O3VzZXItc2VsZWN0Om5vbmU7bWF4LXdpZHRoOjExMHB4O2xldHRlci1zcGFjaW5nOi4wMWVtfS5jb21wb3Nlci10ZXh0LXBpbGw6aG92ZXIsLmNvbXBvc2VyLXRleHQtcGlsbDpmb2N1cy13aXRoaW57Y29sb3I6dmFyKC0tYWNjZW50KX0uY29tcG9zZXItdGV4dC1waWxsOmZvY3VzLXdpdGhpbntvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQtbXV0ZWQpO291dGxpbmUtb2Zmc2V0OjFweH0uY29tcG9zZXItdGV4dC1sYWJlbHtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJX0uY29tcG9zZXItdGV4dC1oaWRkZW4tc2VsZWN0e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp0cmFuc3BhcmVudDtmb250OmluaGVyaXQ7b3BhY2l0eTowO2N1cnNvcjpwb2ludGVyO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX0uY29tcG9zZXItdGV4dC1oaWRkZW4tc2VsZWN0OmZvY3Vze291dGxpbmU6bm9uZX0ubW9kZWwtcmVmcmVzaC1idXR0b257ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4OjAgMCBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpjb2xvciAuMTVzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSxiYWNrZ3JvdW5kIC4xNXMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpLHRyYW5zZm9ybSAuMTVzIGN1YmljLWJlemllciguMiwuOCwuMiwxKX0ubW9kZWwtcmVmcmVzaC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCksLm1vZGVsLXJlZnJlc2gtYnV0dG9uOmZvY3VzLXZpc2libGV7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7b3V0bGluZTpub25lfS5tb2RlbC1yZWZyZXNoLWJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCl7dHJhbnNmb3JtOnNjYWxlKC45Nil9Lm1vZGVsLXJlZnJlc2gtYnV0dG9uOmRpc2FibGVke2N1cnNvcjp3YWl0O29wYWNpdHk6LjYyfS5tb2RlbC1yZWZyZXNoLWJ1dHRvbi5pcy1yZWZyZXNoaW5nIC5tb2RlbC1yZWZyZXNoLWljb257YW5pbWF0aW9uOm1vZGVsUmVmcmVzaFNwaW4gLjc2cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBtb2RlbFJlZnJlc2hTcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19Lm1vZGVsLXJlZnJlc2gtbGFiZWx7ZGlzcGxheTpub25lfS5jb21wb3Nlci1tb2RlbC1yZWZyZXNoLWJ1dHRvbnttYXJnaW4tbGVmdDotM3B4fUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm1vZGVsLXJlZnJlc2gtYnV0dG9ue3RyYW5zaXRpb246bm9uZX0ubW9kZWwtcmVmcmVzaC1idXR0b24uaXMtcmVmcmVzaGluZyAubW9kZWwtcmVmcmVzaC1pY29ue2FuaW1hdGlvbjpub25lfX0uY29tcG9zZXItdGV4dC1zZXB7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSwgI2I1YTg5YSk7Zm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjE7dXNlci1zZWxlY3Q6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6LjY1fS5wZXJtaXNzaW9uLWFjdGlvbnN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDthbmltYXRpb246cGVybWlzc2lvbi1mYWRlLWluIC4ycyBlYXNlLW91dH0ucGVybWlzc2lvbi1hY3Rpb25zLmhpZGRlbntkaXNwbGF5Om5vbmV9LnBlcm1pc3Npb24tYWN0aW9ucy1sYWJlbHtmb250LXNpemU6LjdyZW07Y29sb3I6I2QxOGIwMDttYXgtd2lkdGg6MTgwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5idG4tcGVybWlzc2lvbntmb250LXNpemU6LjY1cmVtO3BhZGRpbmc6MXB4IDhweDtib3JkZXItcmFkaXVzOjRweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0OjEuNDtmb250LXdlaWdodDo1MDA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMsYm9yZGVyLWNvbG9yIC4xNXN9LmJ0bi1wZXJtaXNzaW9uOmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS5idG4tcGVybWlzc2lvbi1hcHByb3Zle2JhY2tncm91bmQ6I2YwYTUwMDI2O2NvbG9yOiNkMThiMDA7Ym9yZGVyLWNvbG9yOiNmMGE1MDA0ZH0uYnRuLXBlcm1pc3Npb24tYXBwcm92ZTpob3Zlcjpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kOiNmMGE1MDA0MH0uYnRuLXBlcm1pc3Npb24tZGVueXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5idG4tcGVybWlzc2lvbi1kZW55OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQ6I2RjMzIzMjE0O2NvbG9yOnZhcigtLWRhbmdlcik7Ym9yZGVyLWNvbG9yOiNkYzMyMzI0ZH1Aa2V5ZnJhbWVzIHBlcm1pc3Npb24tZmFkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX19LmF1dG8tYXBwcm92ZS1pbmRpY2F0b3IuYWN0aXZle2NvbG9yOiMyMmM1NWU7Ym9yZGVyLWNvbG9yOiMyMmM1NWU4MDtiYWNrZ3JvdW5kOiMyMmM1NWUxZn0uYXV0by1hcHByb3ZlLWluZGljYXRvci5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZDojMjJjNTVlMzM7Ym9yZGVyLWNvbG9yOiMyMmM1NWV9LmFwcHJvdmFsLXN0YXRze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5hcHByb3ZhbC1zdGF0cy5oaWRkZW57ZGlzcGxheTpub25lfS5hcHByb3ZhbC1zdGF0cy1kaXZpZGVye3dpZHRoOjA7aGVpZ2h0OjE2cHg7bWFyZ2luOjAgMXB4fS5hcHByb3ZhbC1zdGF0cy1iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6M3B4O21pbi1oZWlnaHQ6MjJweDtwYWRkaW5nOjFweCA4cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6IzIyYzU1ZTFhO2NvbG9yOiMyMmM1NWU7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpkZWZhdWx0O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzO2xpbmUtaGVpZ2h0OjE7Ym94LXNpemluZzpib3JkZXItYm94fS5hcHByb3ZhbC1zdGF0cy1iYWRnZTpob3ZlcntiYWNrZ3JvdW5kOiMyMmM1NWUyZX0uYXBwcm92YWwtc3RhdHMtaWNvbntzdHJva2U6IzIyYzU1ZTtmbGV4LXNocmluazowfS5hcHByb3ZhbC1zdGF0cy10b3RhbHtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9QGtleWZyYW1lcyBhcHByb3ZhbC1wdWxzZXswJXt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fS5hcHByb3ZhbC1zdGF0cy1wdWxzZXthbmltYXRpb246YXBwcm92YWwtcHVsc2UgLjNzIGVhc2Utb3V0fS5hcHByb3ZhbC1zdGF0cy1wb3B1cHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOmNhbGMoMTAwJSArIDZweCk7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkLCAjMWUxZTJlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo4cHg7cGFkZGluZzo4cHggMTBweDttaW4td2lkdGg6MTQwcHg7Ym94LXNoYWRvdzowIDRweCAxNnB4ICMwMDAwMDA0MDt6LWluZGV4OjEwMDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjRweH0uYXBwcm92YWwtc3RhdHM6aG92ZXIgLmFwcHJvdmFsLXN0YXRzLXBvcHVwe2Rpc3BsYXk6ZmxleH0uYXBwcm92YWwtc3RhdHMtcG9wdXAtdGl0bGV7Zm9udC1zaXplOi42NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo1MDA7bWFyZ2luLWJvdHRvbToycHg7d2hpdGUtc3BhY2U6bm93cmFwfS5hcHByb3ZhbC1zdGF0cy1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSwgI2NjYyk7d2hpdGUtc3BhY2U6bm93cmFwfS5hcHByb3ZhbC1zdGF0cy1yb3ctaWNvbnt3aWR0aDoxNnB4O3RleHQtYWxpZ246Y2VudGVyO2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi43MnJlbX0uYXBwcm92YWwtc3RhdHMtcm93LWxhYmVse2ZsZXg6MX0uYXBwcm92YWwtc3RhdHMtcm93LWNvdW50e2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnksICNlZWUpO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtczttaW4td2lkdGg6MjBweDt0ZXh0LWFsaWduOnJpZ2h0fS5hcHByb3ZhbC1zdGF0cy1yb3ctdG90YWx7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtwYWRkaW5nLXRvcDo0cHg7bWFyZ2luLXRvcDoycHg7Y29sb3I6IzIyYzU1ZX0uYXBwcm92YWwtc3RhdHMtcm93LXRvdGFsIC5hcHByb3ZhbC1zdGF0cy1yb3ctY291bnR7Y29sb3I6IzIyYzU1ZX0ucXVldWUtYmFyey0tcWItYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE0KTstLXFiLWJnLXN0cm9uZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjIpOy0tcWItYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yNCk7LS1xYi10ZXh0OiB2YXIoLS10ZXh0LXByaW1hcnksICMxZjFkMWEpOy0tcWItdGV4dC1tdXRlZDogdmFyKC0tdGV4dC1tdXRlZCwgIzZiNjU1Yyk7LS1xYi1zaGFkb3c6IDAgNHB4IDE4cHggcmdiYSgwLCAwLCAwLCAuMSksIDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIC4wNik7LS1xYi1zaGFkb3ctaG92ZXI6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAuMTQpLCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMDYpfVtkYXRhLXRoZW1lPWRhcmtdIC5xdWV1ZS1iYXIsLnRoZW1lLWRhcmsgLnF1ZXVlLWJhcnstLXFiLWJnOiByZ2JhKDQwLCAzOCwgMzQsIC42KTstLXFiLWJnLXN0cm9uZzogcmdiYSg2MCwgNTYsIDUwLCAuNzQpOy0tcWItYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMil9LmlucHV0LXBhbmVsPi5xdWV1ZS1iYXItaG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O2xlZnQ6YXV0bztib3R0b206Y2FsYygxMDAlICsgNnB4KTt6LWluZGV4OjMwO21heC13aWR0aDptaW4oNDQwcHgsY2FsYygxMDAlIC0gMjBweCkpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnF1ZXVlLWJhci1ob3N0W2hpZGRlbl17ZGlzcGxheTpub25lfS5xdWV1ZS1iYXJ7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDo1cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtib3gtc2hhZG93Om5vbmU7cGFkZGluZzowO21hcmdpbjowfUBrZXlmcmFtZXMgcXVldWVCYXJJdGVtRW50ZXJ7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCkgc2NhbGUoLjk2KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSl9fS5xdWV1ZS1iYXItaGVhZHtwb2ludGVyLWV2ZW50czphdXRvO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzozcHggNnB4IDNweCAxMHB4O2JhY2tncm91bmQ6dmFyKC0tcWItYmcpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMTgwJSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1xYi1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTNweDtib3gtc2hhZG93OnZhcigtLXFiLXNoYWRvdyksaW5zZXQgMCAxcHggI2ZmZjM7YW5pbWF0aW9uOnF1ZXVlQmFySXRlbUVudGVyIC4yMnMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpIGJvdGh9LnF1ZXVlLWJhci1oZWFkLWNvdW50e2ZvbnQtc2l6ZToxMC41cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXFiLXRleHQtbXV0ZWQpO2xldHRlci1zcGFjaW5nOi4wMmVtO3VzZXItc2VsZWN0Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwfS5xdWV1ZS1iYXItY2xlYXItYWxse2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDlweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7Y29sb3I6dmFyKC0tcWItdGV4dC1tdXRlZCk7Ym9yZGVyLXJhZGl1czoxMHB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlLGJvcmRlci1jb2xvciAuMTVzIGVhc2V9LnF1ZXVlLWJhci1jbGVhci1hbGw6aG92ZXJ7YmFja2dyb3VuZDojZGM1MDQ2MWY7Ym9yZGVyLWNvbG9yOiNkYzUwNDY1OTtjb2xvcjojZDg0ODNjfS5xdWV1ZS1iYXItbGlzdHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjVweDt3aWR0aDoxMDAlfS5xdWV1ZS1iYXItaXRlbXtwb2ludGVyLWV2ZW50czphdXRvO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo0cHggNnB4IDRweCA1cHg7bWF4LXdpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6dmFyKC0tcWItYmcpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMTgwJSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1xYi1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTVweDtib3gtc2hhZG93OnZhcigtLXFiLXNoYWRvdyksaW5zZXQgMCAxcHggI2ZmZjM7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS4zNTtjb2xvcjp2YXIoLS1xYi10ZXh0KTtjdXJzb3I6Z3JhYjt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZTthbmltYXRpb246cXVldWVCYXJJdGVtRW50ZXIgLjIycyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSkgYm90aH0ucXVldWUtYmFyLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1xYi1iZy1zdHJvbmcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6dmFyKC0tcWItc2hhZG93LWhvdmVyKSxpbnNldCAwIDFweCAjZmZmZmZmNDB9LnF1ZXVlLWJhci1pdGVtLmRyYWdnaW5ne2N1cnNvcjpncmFiYmluZzt0cmFuc2Zvcm06c2NhbGUoMS4wNCk7Ym94LXNoYWRvdzowIDhweCAyMnB4ICMwMDAzO3otaW5kZXg6NTA7b3BhY2l0eTouOTR9LnF1ZXVlLWJhci1pdGVtLXNsaWRpbmd7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE2cyBjdWJpYy1iZXppZXIoLjIsLjcsLjIsMSl9LnF1ZXVlLWJhci1pdGVtLWluZGV4e2ZsZXg6MCAwIGF1dG87d2lkdGg6MThweDtoZWlnaHQ6MThweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQsICNjNTY1M2QpO2NvbG9yOnZhcigtLXRleHQtaW52ZXJzZSwgI2ZmZik7Ym9yZGVyLXJhZGl1czo1MCU7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjF9LnF1ZXVlLWJhci1pdGVtLXRleHR7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6dmFyKC0tcWItdGV4dCk7Zm9udC13ZWlnaHQ6NTAwfS5xdWV1ZS1iYXItaXRlbS1wcm9tb3RlLC5xdWV1ZS1iYXItaXRlbS1kZWxldGV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JvcmRlcjpub25lO2JhY2tncm91bmQ6I2ZmZmZmZjI5O2NvbG9yOnZhcigtLXFiLXRleHQpO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2ZsZXg6MCAwIGF1dG87dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSx0cmFuc2Zvcm0gLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZSxmaWx0ZXIgLjE1cyBlYXNlO3BhZGRpbmc6MH0ucXVldWUtYmFyLWl0ZW0tcHJvbW90ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCwgI2M1NjUzZCk7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlLCAjZmZmKX0ucXVldWUtYmFyLWl0ZW0tcHJvbW90ZTpob3ZlcntmaWx0ZXI6YnJpZ2h0bmVzcygxLjA4KTt0cmFuc2Zvcm06c2NhbGUoMS4wNil9LnF1ZXVlLWJhci1pdGVtLWRlbGV0ZTpob3ZlcntiYWNrZ3JvdW5kOiNkYzUwNDYyZTtjb2xvcjojZDg0ODNjfS5xdWV1ZS1iYXItaXRlbS1kZWxldGU6YWN0aXZlLC5xdWV1ZS1iYXItaXRlbS1wcm9tb3RlOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk0KX0ucXVldWUtYmFyLWl0ZW0tcHJvbW90ZSBzdmcsLnF1ZXVlLWJhci1pdGVtLWRlbGV0ZSBzdmd7ZmxleC1zaHJpbms6MH0ucXVldWUtYmFyLnF1ZXVlLWJhci1jYXBhY2l0eSAucXVldWUtYmFyLWl0ZW17LS1xYi1iZzogcmdiYSgyMjAsIDEyMCwgNjAsIC4yKTstLXFiLWJnLXN0cm9uZzogcmdiYSgyMjAsIDEyMCwgNjAsIC4yOCl9LnF1ZXVlLWJhci5xdWV1ZS1iYXItaW5mbGlnaHQgLnF1ZXVlLWJhci1pdGVte2JveC1zaGFkb3c6dmFyKC0tcWItc2hhZG93KSxpbnNldCAwIDFweCAjZmZmZmZmNDAsMCAwIDAgMXB4ICNjNTY1M2QyZX1AbWVkaWEobWF4LXdpZHRoOjU2MHB4KXsuaW5wdXQtcGFuZWw+LnF1ZXVlLWJhci1ob3N0e3JpZ2h0OjhweDttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTZweCl9fS5pbnB1dC1oaW50e2ZvbnQtc2l6ZTouNXJlbTtsaW5lLWhlaWdodDoxLjI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7d2hpdGUtc3BhY2U6bm93cmFwO3VzZXItc2VsZWN0Om5vbmU7b3BhY2l0eTouNzttYXgtd2lkdGg6MzhjaDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uY29tcG9zZXItdG9wLXJvd3twb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWluLXdpZHRoOjB9LmNvbXBvc2VyLXRvcC1yb3c6aGFzKD4udG9kby1wcm9ncmVzczpub3QoLmhpZGRlbikpLC5jb21wb3Nlci10b3Atcm93Omhhcyg+LnN0cnVjdHVyZWQtc3RhdHVzLWJhcil7bWFyZ2luLWJvdHRvbTo2cHh9LnRvZG8tcHJvZ3Jlc3N7bWFyZ2luLWJvdHRvbTo2cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udG9kby1wcm9ncmVzcy5oaWRkZW57ZGlzcGxheTpub25lfS5jb21wb3Nlci10b3Atcm93Pi50b2RvLXByb2dyZXNze2ZsZXg6MTttaW4td2lkdGg6MDttYXJnaW4tYm90dG9tOjB9LnRvZG8tcHJvZ3Jlc3MtaGVhZGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzowIDEwcHg7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTtnYXA6MTBweDtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYmctZWxldmF0ZWQpIDc4JSx0cmFuc3BhcmVudCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjExcHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteHMpLGluc2V0IDAgMXB4ICNmZmZmZmY4YztvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50b2RvLXByb2dyZXNzLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWJnLWVsZXZhdGVkKSA4OCUsdmFyKC0tYWNjZW50LW11dGVkKSk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWJvcmRlci1kZWZhdWx0KSA2NSUsdmFyKC0tYWNjZW50KSl9LnRvZG8tcHJvZ3Jlc3MtaGVhZGVyOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItZm9jdXMpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCksaW5zZXQgMCAxcHggI2ZmZmZmZjhjfS50b2RvLXByb2dyZXNzLWhlYWRlcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDtyaWdodDoxMHB4O2JvdHRvbTozcHg7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1zdWJ0bGUpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnRvZG8tcHJvZ3Jlc3MtbGVmdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo3cHg7bWluLXdpZHRoOjA7ZmxleC1zaHJpbms6MDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LnRvZG8tcHJvZ3Jlc3MtcmluZ3twb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7bWluLXdpZHRoOjE2cHg7ZmxleC1zaHJpbms6MH0udG9kby1wcm9ncmVzcy1yaW5nIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0udG9kby1yaW5nLXRyYWNre3N0cm9rZTojYzU2NTNkMmV9LnRvZG8tcmluZy1maWxse3N0cm9rZTp2YXIoLS1hY2NlbnQpO3N0cm9rZS1kYXNoYXJyYXk6OTcuMzk7c3Ryb2tlLWRhc2hvZmZzZXQ6Y2FsYyg5Ny4zOSAqICgxIC0gdmFyKC0tcHJvZ3Jlc3MsIDApKSk7dHJhbnNpdGlvbjpzdHJva2UtZGFzaG9mZnNldCAuMzVzIGVhc2V9LnRvZG8tcHJvZ3Jlc3MtY291bnRlcnttaW4td2lkdGg6MzFweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjUwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztsZXR0ZXItc3BhY2luZzouMDFlbX0udG9kby1wcm9ncmVzcy1maWxse3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDtib3R0b206M3B4O3dpZHRoOmNhbGMoKDEwMCUgLSAyMHB4KSAqIHZhcigtLXByb2dyZXNzLCAwKSk7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1hY2NlbnQtYWN0aXZlKSx2YXIoLS1hY2NlbnQtaG92ZXIpKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTt0cmFuc2l0aW9uOndpZHRoIC4zcyBlYXNlLW91dDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mn0udG9kby1wcm9ncmVzcy10YXNrLXdyYXB7ZmxleDoxO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3BhZGRpbmctbGVmdDoycHh9LnRvZG8tcHJvZ3Jlc3MtdGFza3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXg6MTttaW4td2lkdGg6MDt0ZXh0LWFsaWduOmxlZnR9LnRvZG8tcHJvZ3Jlc3MtY2hldnJvbntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmbGV4LXNocmluazowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0udG9kby1wcm9ncmVzcy5leHBhbmRlZCAudG9kby1wcm9ncmVzcy1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udG9kby1wcm9ncmVzcy1ib2R5e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTpjYWxjKDEwMCUgKyA2cHgpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYmctZWxldmF0ZWQpIDk0JSx0cmFuc3BhcmVudCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzo3cHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbGcpLGluc2V0IDAgMXB4ICNmZmZmZmY4YztiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KSBzYXR1cmF0ZSgxLjEpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCkgc2F0dXJhdGUoMS4xKTttYXgtaGVpZ2h0OjMyMHB4O292ZXJmbG93LXk6YXV0bzt6LWluZGV4OjMwO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHMgZWFzZSx0cmFuc2Zvcm0gLjE4cyBlYXNlfS50b2RvLXByb2dyZXNzLWJvZHkuaGlkZGVue2Rpc3BsYXk6bm9uZX0udG9kby1wcm9ncmVzcy1ib2R5LmV4cGFuZGVke29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtwb2ludGVyLWV2ZW50czphdXRvfS50b2RvLXByb2dyZXNzLWxpc3R7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDozcHh9LnRvZG8tcHJvZ3Jlc3MtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHg7bWluLWhlaWdodDozNHB4O3BhZGRpbmc6N3B4IDlweDtib3JkZXItcmFkaXVzOjlweDtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2xpbmUtaGVpZ2h0OjEuMzU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvZG8tcHJvZ3Jlc3MtaXRlbSsudG9kby1wcm9ncmVzcy1pdGVte2JvcmRlci10b3A6MH0udG9kby1wcm9ncmVzcy1pdGVtLmFjdGl2ZXtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtd2VpZ2h0OjU1MDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCl9LnRvZG8tcHJvZ3Jlc3MtaXRlbS5kb25le2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6Ljc4fS50b2RvLXByb2dyZXNzLWl0ZW0+c3BhbjpsYXN0LWNoaWxke2ZsZXg6MTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnRvZG8taXRlbS1pY29ue2Rpc3BsYXk6aW5saW5lLWdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO3dpZHRoOjE4cHg7bWluLXdpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjUwJTtmb250LXNpemU6MDtmbGV4LXNocmluazowfS50b2RvLWl0ZW0taWNvbi5wZW5kaW5ne2NvbG9yOnZhcigtLWJvcmRlci1zdHJvbmcpfS50b2RvLWl0ZW0taWNvbi5hY3RpdmV7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWNjZW50KSA0MCUsdHJhbnNwYXJlbnQpfS50b2RvLWl0ZW0taWNvbi5hY3RpdmU6YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcn0udG9kby1pdGVtLWljb24uZG9uZXtjb2xvcjp2YXIoLS1zdWNjZXNzKTtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpfS50b2RvLWl0ZW0taWNvbi5kb25lOmFmdGVye2NvbnRlbnQ6IiI7d2lkdGg6N3B4O2hlaWdodDo0cHg7Ym9yZGVyLWxlZnQ6MS41cHggc29saWQgY3VycmVudENvbG9yO2JvcmRlci1ib3R0b206MS41cHggc29saWQgY3VycmVudENvbG9yO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpIHJvdGF0ZSgtNDVkZWcpfUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LnRvZG8tcmluZy1maWxsLC50b2RvLXByb2dyZXNzLWZpbGwsLnRvZG8tcHJvZ3Jlc3MtYm9keSwudG9kby1wcm9ncmVzcy1jaGV2cm9ue3RyYW5zaXRpb246bm9uZX19LmlucHV0LXRleHRhcmVhey0taW5wdXQtbWF4LWhlaWdodDogMTIwcHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjkzNzVyZW07YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2NhcmV0LWNvbG9yOnZhcigtLWFjY2VudCk7cGFkZGluZzo5cHggOHB4O291dGxpbmU6bm9uZTtyZXNpemU6bm9uZTttaW4taGVpZ2h0OjM2cHg7bWF4LWhlaWdodDp2YXIoLS1pbnB1dC1tYXgtaGVpZ2h0KTt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpoaWRkZW47b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3RyYW5zaXRpb246aGVpZ2h0IC4xNnMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDoxLjQ7dG91Y2gtYWN0aW9uOnBhbi15O3Njcm9sbGJhci1ndXR0ZXI6c3RhYmxlfUBtZWRpYShwb2ludGVyOmNvYXJzZSl7LmlucHV0LWNvbXBvc2Vyey0tY29tcG9zZXItYWN0aW9uLXNpemU6IDQ0cHh9LmlucHV0LXRleHRhcmVhey0taW5wdXQtbWF4LWhlaWdodDogbWluKDE2MHB4LCAzNWR2aCk7b3ZlcmZsb3cteTphdXRvfX1Ac3VwcG9ydHMgbm90IChoZWlnaHQ6IDFkdmgpe0BtZWRpYShwb2ludGVyOmNvYXJzZSl7LmlucHV0LXRleHRhcmVhey0taW5wdXQtbWF4LWhlaWdodDogbWluKDE2MHB4LCAzNXZoKX19fS5pbnB1dC10ZXh0YXJlYTpmb2N1c3tvdXRsaW5lOm5vbmV9LmlucHV0LXRleHRhcmVhOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzowO29wYWNpdHk6LjcyfS5pbnB1dC10ZXh0YXJlYS5pcy10ZXJtaW5hbC1wYXNzdGhyb3VnaHtvcGFjaXR5Oi43O2N1cnNvcjpkZWZhdWx0fS5pbnB1dC10ZXh0YXJlYS5pcy10ZXJtaW5hbC1wYXNzdGhyb3VnaDo6cGxhY2Vob2xkZXJ7Zm9udC1zdHlsZTppdGFsaWN9LmNvbXBvc2VyLXBpbGx7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7bWluLWhlaWdodDoyMnB4O3BhZGRpbmc6MXB4IDhweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOiNmNmYxZThiMztjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHg7d2hpdGUtc3BhY2U6bm93cmFwO2JveC1zaXppbmc6Ym9yZGVyLWJveDt1c2VyLXNlbGVjdDpub25lfS5jb21wb3Nlci1waWxsOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQtY29sb3I6I2Y2ZjFlOH0uY29tcG9zZXItcGlsbDpmb2N1cywuY29tcG9zZXItcGlsbDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWFjY2VudC1tdXRlZCk7b3V0bGluZTpub25lfS5jb21wb3Nlci1waWxsLmRpc2FibGVkLC5jb21wb3Nlci1waWxsW2Rpc2FibGVkXXtvcGFjaXR5Oi41NTtjdXJzb3I6bm90LWFsbG93ZWR9LmNvbXBvc2VyLXBpbGwtY2hpcHtwYWRkaW5nOjFweCA4cHg7Zm9udC1zaXplOi42MjVyZW19LmNvbXBvc2VyLXBpbGwtY2hpcC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQsIHJnYmEoMTk3LCAxMDEsIDYxLCAuMTIpKTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5jb21wb3Nlci1waWxsLWNoaXAuYWN0aXZlOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDJlfS5pcy13YW5kLWFwcCAuaW5wdXQtY29tcG9zZXI6bm90KDpmb2N1cy13aXRoaW4pOm5vdCguaGFzLXRleHQpIC5hdXRvLWFwcHJvdmUtaW5kaWNhdG9ye3dpZHRoOjI0cHg7bWluLXdpZHRoOjI0cHg7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO2dhcDowfS5pcy13YW5kLWFwcCAuaW5wdXQtY29tcG9zZXI6bm90KDpmb2N1cy13aXRoaW4pOm5vdCguaGFzLXRleHQpIC5hdXRvLWFwcHJvdmUtaW5kaWNhdG9yIC5jb21wb3Nlci1waWxsLWxhYmVse2Rpc3BsYXk6bm9uZX0uY2hhdC1tb2RlLXNlbGVjdHttYXgtd2lkdGg6NzhweH0uYnRuLWNpcmNsZXt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTttaW4td2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSx0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZmxleC1zaHJpbms6MDtwYWRkaW5nOjB9LmJ0bi1jaXJjbGUtc2VuZHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtib3gtc2hhZG93Om5vbmV9LmJ0bi1jaXJjbGUtc2VuZDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1ob3Zlcik7dHJhbnNmb3JtOnNjYWxlKDEuMDQpO2JveC1zaGFkb3c6bm9uZX0uYnRuLWNpcmNsZS1zZW5kOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk1KX0uYnRuLWNpcmNsZS1zdG9we2JhY2tncm91bmQ6I2IyNGY0NTFmO2NvbG9yOnZhcigtLWRhbmdlcil9LmJ0bi1jaXJjbGUtc3RvcDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcik7Y29sb3I6I2ZmZjt0cmFuc2Zvcm06c2NhbGUoMS4wOCl9LmJ0bi1jaXJjbGUtc3RvcDphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9LmJ0bi1jaXJjbGUtc2VuZC5xdWV1ZS1tb2Rle2JhY2tncm91bmQ6I2M1NjUzZDk0O2JveC1zaGFkb3c6bm9uZX0uYnRuLWNpcmNsZS1zZW5kLnF1ZXVlLW1vZGU6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6bm9uZX0ucHJvbXB0LW9wdGltaXplLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O3JpZ2h0OjZweDt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMjIpO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6I2M1NjUzZDE3O2NvbG9yOnZhcigtLWFjY2VudCk7ei1pbmRleDo0O2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0ucHJvbXB0LW9wdGltaXplLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QyNDtjb2xvcjp2YXIoLS1hY2NlbnQtaG92ZXIpO3RyYW5zZm9ybTpzY2FsZSgxLjA0KTtib3JkZXItY29sb3I6I2M1NjUzZDU5O2JveC1zaGFkb3c6bm9uZX0ucHJvbXB0LW9wdGltaXplLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Mik7Ym94LXNoYWRvdzpub25lfS5wcm9tcHQtb3B0aW1pemUtYnRuOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi42fS5wcm9tcHQtb3B0aW1pemUtYnRuOmRpc2FibGVkOmhvdmVye3RyYW5zZm9ybTpub25lO2JhY2tncm91bmQ6I2M1NjUzZDE3O2JveC1zaGFkb3c6bm9uZTtib3JkZXItY29sb3I6I2M1NjUzZDM4fS5wcm9tcHQtb3B0aW1pemUtaWNvbnt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGVhc2Usb3BhY2l0eSAuMnMgZWFzZTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDE5NywxMDEsNjEsLjMpKX0ucHJvbXB0LW9wdGltaXplLWJ0bjpob3ZlciAucHJvbXB0LW9wdGltaXplLWljb257YW5pbWF0aW9uOnByb21wdC1vcHRpbWl6ZS10d2lua2xlIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAzcHggcmdiYSgxOTcsMTAxLDYxLC40KSl9QGtleWZyYW1lcyBwcm9tcHQtb3B0aW1pemUtdHdpbmtsZXswJSx0b3t0cmFuc2Zvcm06cm90YXRlKDApIHNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDEyZGVnKSBzY2FsZSgxLjEyKX19LnByb21wdC1vcHRpbWl6ZS1zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7YmFja2dyb3VuZDpjb25pYy1ncmFkaWVudChmcm9tIDBkZWcsdHJhbnNwYXJlbnQgMGRlZyx2YXIoLS1hY2NlbnQpIDI3MGRlZyx0cmFuc3BhcmVudCAzNjBkZWcpO21hc2s6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSx0cmFuc3BhcmVudCAxMHB4LGJsYWNrIDExcHgpOy13ZWJraXQtbWFzazpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHRyYW5zcGFyZW50IDEwcHgsYmxhY2sgMTFweCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgZWFzZX0ucHJvbXB0LW9wdGltaXplLWJ0bi5pcy1sb2FkaW5ne2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmZmZhZjIsI2U4YzVhZTgwKTtib3JkZXItY29sb3I6I2M1NjUzZDY2O2JveC1zaGFkb3c6MCAycHggMTJweCAjYzU2NTNkNDAsMCAwIDAgM3B4ICNjNTY1M2QxNH0ucHJvbXB0LW9wdGltaXplLWJ0bi5pcy1sb2FkaW5nIC5wcm9tcHQtb3B0aW1pemUtaWNvbnthbmltYXRpb246cHJvbXB0LW9wdGltaXplLXB1bHNlIDEuMXMgZWFzZS1pbi1vdXQgaW5maW5pdGV9LnByb21wdC1vcHRpbWl6ZS1idG4uaXMtbG9hZGluZyAucHJvbXB0LW9wdGltaXplLXNwaW5uZXJ7b3BhY2l0eToxO2FuaW1hdGlvbjpwcm9tcHQtb3B0aW1pemUtc3BpbiAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgcHJvbXB0LW9wdGltaXplLXNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHByb21wdC1vcHRpbWl6ZS1wdWxzZXswJSx0b3t0cmFuc2Zvcm06c2NhbGUoLjg4KTtvcGFjaXR5Oi44fTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSk7b3BhY2l0eToxfX0uaW5wdXQtY29tcG9zZXIuaXMtb3B0aW1pemluZ3tib3JkZXItY29sb3I6I2M1NjUzZDZiO2JveC1zaGFkb3c6MCAwIDAgMnB4ICNjNTY1M2QxYSwwIDAgMThweCAjYzU2NTNkMjR9LmlucHV0LWNvbXBvc2VyLmlzLW9wdGltaXppbmcgLmNvbXBvc2VyLWlucHV0LXdyYXA6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEwMGRlZyx0cmFuc3BhcmVudCAwJSx0cmFuc3BhcmVudCAzOCUscmdiYSgyMTQsMTIzLDgyLC4xNikgNTAlLHRyYW5zcGFyZW50IDYyJSx0cmFuc3BhcmVudCAxMDAlKTtiYWNrZ3JvdW5kLXNpemU6MjIwJSAxMDAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIyMCUgMDthbmltYXRpb246cHJvbXB0LW9wdGltaXplLWZsb3cgMS42cyBsaW5lYXIgaW5maW5pdGU7ei1pbmRleDowfUBrZXlmcmFtZXMgcHJvbXB0LW9wdGltaXplLWZsb3d7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoyMjAlIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwJSAwfX0ucHJvbXB0LW9wdGltaXplLWJ0bi5pcy1zaGFrZXthbmltYXRpb246cHJvbXB0LW9wdGltaXplLXNoYWtlIC40cyBlYXNlLW91dDtjb2xvcjp2YXIoLS1kYW5nZXIpfUBrZXlmcmFtZXMgcHJvbXB0LW9wdGltaXplLXNoYWtlezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9MjAle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTNweCl9NDAle3RyYW5zZm9ybTp0cmFuc2xhdGUoM3B4KX02MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4KX04MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgycHgpfX1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsucHJvbXB0LW9wdGltaXplLWJ0bnt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKX0ucHJvbXB0LW9wdGltaXplLWljb257d2lkdGg6MTRweDtoZWlnaHQ6MTRweH19LmJ0bi1jaXJjbGUtYWN0aW9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7d2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2hlaWdodDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7bWluLXdpZHRoOnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZmxleC1zaHJpbms6MDtwYWRkaW5nOjB9LmJ0bi1jaXJjbGUtYWN0aW9uOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDFhO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnNjYWxlKDEuMDgpfS5idG4tY2lyY2xlLWFjdGlvbjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LmJ0bi1jaXJjbGUtYWN0aW9uLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCwgcmdiYSgxOTcsIDEwMSwgNjEsIC4xNCkpO2NvbG9yOnZhcigtLWFjY2VudCl9LmJ0bi1jaXJjbGUtYWN0aW9uLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QzOH0uYnRuLWNpcmNsZS1hY3Rpb24uYnRuLWNpcmNsZS12b2ljZXt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O21pbi13aWR0aDo0NHB4O2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMTQ7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lO3RvdWNoLWFjdGlvbjpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS5idG4tY2lyY2xlLXZvaWNlLmlzLXJlY29yZGluZ3tjb2xvcjojZmZmO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpO3RyYW5zZm9ybTpzY2FsZSguOTYpfS5idG4tY2lyY2xlLXZvaWNlOmRpc2FibGVke29wYWNpdHk6LjM1O2N1cnNvcjpub3QtYWxsb3dlZH0uY2hhdC1tb2RlLXRyaW97ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4LXdyYXA6d3JhcH0uY2hhdC1tb2RlLXRyaW8tcGlsbHtwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lfS5jaGF0LW1vZGUtdHJpby10YWd7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnksICNiNWE4OWEpO2xldHRlci1zcGFjaW5nOi4wNGVtO21hcmdpbi1yaWdodDo0cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO29wYWNpdHk6Ljc1fS5lbXB0eS1zdGF0ZS10cmlvLXdyYXB7bWFyZ2luLXRvcDoxNHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7YW5pbWF0aW9uOmVtcHR5U3RhdGVUcmlvRmFkZUluIC40cyBlYXNlLW91dH0uZW1wdHktc3RhdGUtdHJpby1oaW50e2ZvbnQtc2l6ZTouNzJyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGV0dGVyLXNwYWNpbmc6LjAyZW19LmNoYXQtbW9kZS10cmlvLWRyb3Bkb3due2dhcDo0cHg7cGFkZGluZzo2cHggMTJweDtiYWNrZ3JvdW5kOiNmNmYxZTg5OTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2hhZG93OjAgMXB4IDNweCAjMDAwMDAwMGF9LmNoYXQtbW9kZS10cmlvLWRyb3Bkb3duIC5jaGF0LW1vZGUtdHJpby1waWxse2ZvbnQtc2l6ZTouNzhyZW07cGFkZGluZzozcHggNnB4O2JvcmRlci1yYWRpdXM6OHB4O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY2hhdC1tb2RlLXRyaW8tcGlsbDpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QwZn0uY2hhdC1tb2RlLXRyaW8tZHJvcGRvd24gLmNoYXQtbW9kZS10cmlvLXBpbGw6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQ6I2M1NjUzZDE0fS5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY29tcG9zZXItdGV4dC1sYWJlbHtmb250LXNpemU6LjhyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWF4LXdpZHRoOjE0MHB4fUBrZXlmcmFtZXMgZW1wdHlTdGF0ZVRyaW9GYWRlSW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uY2hhdC1tZXNzYWdlLWF2YXRhci51c2VyIC5jaGF0LW1vZGUtdHJpby1jb21wYWN0e21hcmdpbi1yaWdodDo0cHg7Z2FwOjNweDtvcGFjaXR5Oi41NTt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY2hhdC1tZXNzYWdlLWF2YXRhci51c2VyOmhvdmVyIC5jaGF0LW1vZGUtdHJpby1jb21wYWN0LC5jaGF0LW1lc3NhZ2UtYXZhdGFyLnVzZXIgLmNoYXQtbW9kZS10cmlvLWNvbXBhY3Q6Zm9jdXMtd2l0aGluLC5jaGF0LW1lc3NhZ2UtYXZhdGFyLnVzZXIgLmNoYXQtbW9kZS10cmlvLWNvbXBhY3Q6aG92ZXJ7b3BhY2l0eToxfS5jaGF0LW1vZGUtdHJpby1jb21wYWN0IC5jaGF0LW1vZGUtdHJpby1waWxse2ZvbnQtc2l6ZTouNjg3NXJlbTtwYWRkaW5nOjJweCA2cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6I2Y2ZjFlODhjO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7bGluZS1oZWlnaHQ6MX0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY2hhdC1tb2RlLXRyaW8tcGlsbDpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QxYTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5jaGF0LW1vZGUtdHJpby1jb21wYWN0IC5jb21wb3Nlci10ZXh0LWxhYmVse2ZvbnQtc2l6ZTouNjg3NXJlbTttYXgtd2lkdGg6ODhweDtsZXR0ZXItc3BhY2luZzouMDFlbX0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY29tcG9zZXItdGV4dC1zZXB7ZGlzcGxheTpub25lfUBtZWRpYShtYXgtd2lkdGg6NzIwcHgpey5jaGF0LW1vZGUtdHJpby1kcm9wZG93bntwYWRkaW5nOjZweCAxMHB4O2dhcDoycHh9LmNoYXQtbW9kZS10cmlvLWRyb3Bkb3duIC5jb21wb3Nlci10ZXh0LWxhYmVse21heC13aWR0aDoxMDBweH0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY2hhdC1tb2RlLXRyaW8tcGlsbHtmb250LXNpemU6LjYyNXJlbTtwYWRkaW5nOjJweCA1cHh9LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNvbXBvc2VyLXRleHQtbGFiZWx7bWF4LXdpZHRoOjY0cHh9fS5jb21wb3Nlci1wbHVzLXBvcG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxNHB4O2JvdHRvbTpjYWxjKHZhcigtLXNhZmUtYm90dG9tLCAwcHgpICsgNTZweCk7ei1pbmRleDoyODttaW4td2lkdGg6MjQwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDI4cHgpO2JhY2tncm91bmQ6I2ZmZmZmZmZhO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMTJweCAyOHB4ICMwMDAwMDAyZSwwIDJweCA2cHggIzAwMDAwMDE0O3BhZGRpbmc6NnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweDthbmltYXRpb246cGx1c1BvcG92ZXJJbiAuMThzIGVhc2Utb3V0O3RyYW5zZm9ybS1vcmlnaW46MTZweCBjYWxjKDEwMCUgKyA4cHgpfS5jb21wb3Nlci1wbHVzLXBvcG92ZXIuaGlkZGVue2Rpc3BsYXk6bm9uZX1Aa2V5ZnJhbWVzIHBsdXNQb3BvdmVySW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCkgc2NhbGUoLjk2KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSl9fS5wbHVzLXBvcG92ZXItaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6OHB4IDEwcHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjEwcHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXNpemU6LjgycmVtO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6MTAwJX0ucGx1cy1wb3BvdmVyLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMTR9LnBsdXMtcG9wb3Zlci1pdGVtOmFjdGl2ZXtiYWNrZ3JvdW5kOiNjNTY1M2QyNH0ucGx1cy1wb3BvdmVyLWljb257Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZsZXgtc2hyaW5rOjB9LnBsdXMtcG9wb3Zlci1sYWJlbHtmbGV4OjE7bGluZS1oZWlnaHQ6MS4yfS5wbHVzLXBvcG92ZXItdG9nZ2xlLXN0YXRle2ZvbnQtc2l6ZTouNjhyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6IzAwMDAwMDBkO2xpbmUtaGVpZ2h0OjEuMjtsZXR0ZXItc3BhY2luZzouMDJlbX0ucGx1cy1wb3BvdmVyLWl0ZW0uaXMtb24sLnBsdXMtcG9wb3Zlci1pdGVtLmlzLW9uIC5wbHVzLXBvcG92ZXItaWNvbntjb2xvcjp2YXIoLS1hY2NlbnQpfS5wbHVzLXBvcG92ZXItaXRlbS5pcy1vbiAucGx1cy1wb3BvdmVyLXRvZ2dsZS1zdGF0ZXtjb2xvcjojZmZmO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KX0ucGx1cy1wb3BvdmVyLXNlcHtoZWlnaHQ6MXB4O21hcmdpbjo0cHggNnB4O2JhY2tncm91bmQ6dmFyKC0tYm9yZGVyLXN1YnRsZSl9LnBsdXMtcG9wb3Zlci10cmlvLXdyYXB7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4fS5wbHVzLXBvcG92ZXItdHJpby13cmFwIC5jb21wb3Nlci1jb25maWctY29udHJvbHN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2dhcDo2cHh9LnBsdXMtcG9wb3Zlci10cmlvLXdyYXAgLmNvbXBvc2VyLWNvbmZpZy1jaGlwe3dpZHRoOjEwMCU7bWF4LXdpZHRoOm5vbmU7bWluLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MTJweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nOjAgMTBweH0ucGx1cy1wb3BvdmVyLXRyaW8td3JhcCAubW9kZWwtcmVmcmVzaC1idXR0b24sLmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLm1vZGVsLXJlZnJlc2gtYnV0dG9ue3dpZHRoOjEwMCU7bWluLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MTJweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtnYXA6OHB4O3BhZGRpbmc6MCAxMHB4O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjgycmVtfS5wbHVzLXBvcG92ZXItdHJpby13cmFwIC5tb2RlbC1yZWZyZXNoLWxhYmVsLC5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5tb2RlbC1yZWZyZXNoLWxhYmVse2Rpc3BsYXk6aW5saW5lO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uY2hhdC1tb2RlLXRyaW8tcG9wb3ZlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjJweH0uY2hhdC1tb2RlLXRyaW8tcG9wb3ZlciAuY29tcG9zZXItdGV4dC1zZXB7ZGlzcGxheTpub25lfS5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jaGF0LW1vZGUtdHJpby1waWxse2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjdweCAxMHB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6LjgycmVtO21heC13aWR0aDpub25lO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNoYXQtbW9kZS10cmlvLXBpbGw6aG92ZXIsLmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNoYXQtbW9kZS10cmlvLXBpbGw6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQ6I2M1NjUzZDE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNoYXQtbW9kZS10cmlvLXRhZ3tmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LXRyYW5zZm9ybTpub25lO29wYWNpdHk6MTttYXJnaW4tcmlnaHQ6MDtmbGV4LXNocmluazowO3dpZHRoOjM2cHh9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNvbXBvc2VyLXRleHQtbGFiZWx7ZmxleDoxO2ZvbnQtc2l6ZTouODJyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0ZXh0LWFsaWduOnJpZ2h0O21heC13aWR0aDoxMDAlO2ZvbnQtd2VpZ2h0OjUwMH1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsuaW5wdXQtY29tcG9zZXJ7LS1jb21wb3Nlci1hY3Rpb24tc2l6ZTogNDRweH0uY29tcG9zZXItcGx1cy1wb3BvdmVye21pbi13aWR0aDoyMjBweDtsZWZ0OjEwcHg7Ym90dG9tOmNhbGModmFyKC0tc2FmZS1ib3R0b20sIDBweCkgKyA2MHB4KX0uY29tcG9zZXItbWFpbi1yb3d7Y29sdW1uLWdhcDoycHg7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjVweH0uY29tcG9zZXItaW5saW5lLWNvbmZpZ3tnYXA6M3B4fS5jb21wb3Nlci1jb25maWctY2hpcCwucGx1cy1wb3BvdmVyLXRyaW8td3JhcCAuY29tcG9zZXItY29uZmlnLWNoaXAsLmNoYXQtbW9kZS10cmlvLWRyb3Bkb3duIC5jaGF0LW1vZGUtdHJpby1waWxsLC5wbHVzLXBvcG92ZXItdHJpby13cmFwIC5tb2RlbC1yZWZyZXNoLWJ1dHRvbiwuY2hhdC1tb2RlLXRyaW8tcG9wb3ZlciAubW9kZWwtcmVmcmVzaC1idXR0b257bWluLWhlaWdodDo0NHB4fS5jb21wb3Nlci1jb25maWctY2hpcHtwYWRkaW5nOjAgN3B4O21heC13aWR0aDo2NHB4fS5jb21wb3Nlci1jb25maWctbW9kZWx7bWF4LXdpZHRoOjc2cHh9LmNvbXBvc2VyLWNvbmZpZy10aGlua2luZ3ttYXgtd2lkdGg6NjhweH0uY29tcG9zZXItY29uZmlnLWxhYmVse2ZvbnQtc2l6ZTouNjhyZW19fUBtZWRpYShtYXgtd2lkdGg6NDMwcHgpey5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLWlubGluZS1jb25maWcsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1pbmxpbmUtY29uZmlne2Rpc3BsYXk6bm9uZX0uaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluIC5jb21wb3Nlci1hY3Rpb25zLWxlZnQsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1hY3Rpb25zLWxlZnR7Z3JpZC1jb2x1bW46MSAvIDN9fS5wcm9tcHQtb3B0aW1pemUtYnRue2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDphdXRvIDRweCA0cHggYXV0bzt0cmFuc2Zvcm06bm9uZTt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTt6LWluZGV4OjR9LmlucHV0LWNvbXBvc2VyLmhhcy10ZXh0IC5wcm9tcHQtb3B0aW1pemUtYnRue2Rpc3BsYXk6aW5saW5lLWZsZXh9LmlucHV0LWNvbXBvc2VyLmhhcy10ZXh0IC5wcm9tcHQtb3B0aW1pemUtYnRuOmhvdmVye3RyYW5zZm9ybTpzY2FsZSgxLjA0KX0uaW5wdXQtY29tcG9zZXIuaGFzLXRleHQgLnByb21wdC1vcHRpbWl6ZS1idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTIpfS5pbnB1dC1jb21wb3Nlci5oYXMtdGV4dCAuaW5wdXQtdGV4dGFyZWF7cGFkZGluZy1yaWdodDo0NHB4fUBtZWRpYShtaW4td2lkdGg6NzIxcHgpYW5kIChob3Zlcjpob3ZlcilhbmQgKHBvaW50ZXI6ZmluZSl7LmlucHV0LWNvbXBvc2VyIC5idG4tY2lyY2xlLXNlbmQ6aG92ZXIsLmlucHV0LWNvbXBvc2VyIC5idG4tY2lyY2xlLXN0b3A6aG92ZXIsLmlucHV0LWNvbXBvc2VyIC5idG4tY2lyY2xlLWFjdGlvbjpob3ZlciwuaW5wdXQtY29tcG9zZXIuaGFzLXRleHQgLnByb21wdC1vcHRpbWl6ZS1idG46aG92ZXJ7dHJhbnNmb3JtOm5vbmV9LmlucHV0LWNvbXBvc2VyIC5idG4tY2lyY2xlLXNlbmQ6YWN0aXZlLC5pbnB1dC1jb21wb3NlciAuYnRuLWNpcmNsZS1zdG9wOmFjdGl2ZSwuaW5wdXQtY29tcG9zZXIgLmJ0bi1jaXJjbGUtYWN0aW9uOmFjdGl2ZSwuaW5wdXQtY29tcG9zZXIuaGFzLXRleHQgLnByb21wdC1vcHRpbWl6ZS1idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTcpO3RyYW5zaXRpb24tZHVyYXRpb246LjEyc30uaW5wdXQtY29tcG9zZXIgLnByb21wdC1vcHRpbWl6ZS1idG46aG92ZXIgLnByb21wdC1vcHRpbWl6ZS1pY29ue2FuaW1hdGlvbjpub25lO3RyYW5zZm9ybTpub25lfX0udm9pY2UtaW5wdXQtbW9kZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjAgNHB4fS52b2ljZS1pbnB1dC1tb2RlLmhpZGRlbntkaXNwbGF5Om5vbmV9LnZvaWNlLXJlY29yZC1idG57ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtoZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjk5OXB4O2JvcmRlcjoxcHggZGFzaGVkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtiYWNrZ3JvdW5kOiNmNmYxZTg4MDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjhweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259LnZvaWNlLXJlY29yZC1idG46aG92ZXJ7YmFja2dyb3VuZDojZjZmMWU4ZTY7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tYWNjZW50KX0udm9pY2UtcmVjb3JkLWJ0bjphY3RpdmUsLnZvaWNlLXJlY29yZC1idG4uaXMtcmVjb3JkaW5ne2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkLCByZ2JhKDE5NywgMTAxLCA2MSwgLjE0KSk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItc3R5bGU6c29saWR9LnZvaWNlLXJlY29yZC1wdWxzZXt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtvcGFjaXR5Oi41NX0udm9pY2UtcmVjb3JkLWJ0bi5pcy1yZWNvcmRpbmcgLnZvaWNlLXJlY29yZC1wdWxzZXtvcGFjaXR5OjE7YW5pbWF0aW9uOnZvaWNlLXB1bHNlIDEuMXMgZWFzZS1pbi1vdXQgaW5maW5pdGV9QGtleWZyYW1lcyB2b2ljZS1wdWxzZXswJSx0b3t0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS40NSk7b3BhY2l0eTouNDV9fS52b2ljZS1jYW5jZWwtYnRue3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udm9pY2UtY2FuY2VsLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUxYTtjb2xvcjp2YXIoLS1kYW5nZXIpfS5pbnB1dC1jb21wb3Nlci52b2ljZS1tb2RlIC5pbnB1dC10ZXh0YXJlYXt2aXNpYmlsaXR5OmhpZGRlbn0uaW5wdXQtY29tcG9zZXIudm9pY2UtbW9kZSAucHJvbXB0LW9wdGltaXplLWJ0bntkaXNwbGF5Om5vbmV9LmlucHV0LWNvbXBvc2VyLnZvaWNlLW1vZGUgLnZvaWNlLWlucHV0LW1vZGV7ZGlzcGxheTpmbGV4fS52b2ljZS10cmFuc2NyaXB0LWJ1YmJsZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEycHg7cmlnaHQ6MTJweDtib3R0b206Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjQwO3BhZGRpbmc6MTJweCAxNnB4IDEwcHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LCAjYzU2NTNkKTtjb2xvcjojZmZmO2JveC1zaGFkb3c6MCA2cHggMjRweCAjMDAwMDAwMmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gY2VudGVyO2FuaW1hdGlvbjp2b2ljZS1idWJibGUtaW4gLjE4cyBlYXNlfS52b2ljZS10cmFuc2NyaXB0LWJ1YmJsZS5oaWRkZW57ZGlzcGxheTpub25lfUBrZXlmcmFtZXMgdm9pY2UtYnViYmxlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX0udm9pY2UtdHJhbnNjcmlwdC10ZXh0e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi45NXJlbTtsaW5lLWhlaWdodDoxLjU7Zm9udC13ZWlnaHQ6NTAwO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDttaW4taGVpZ2h0OjEuNGVtO2NvbG9yOiNmZmZ9LnZvaWNlLXRyYW5zY3JpcHQtYnViYmxlOm5vdCguaGFzLXRleHQpIC52b2ljZS10cmFuc2NyaXB0LXRleHQ6YmVmb3Jle2NvbnRlbnQ6Ilw4YmY3XDVmMDBcNTljYlw4YmY0XDhiZGRcMjAyNiI7b3BhY2l0eTouNn0udm9pY2UtdHJhbnNjcmlwdC1oaW50e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmb250LXNpemU6LjcycmVtO29wYWNpdHk6Ljg1fS52b2ljZS10cmFuc2NyaXB0LXN0YXR1c3tsZXR0ZXItc3BhY2luZzouMDJlbX0udm9pY2Utd2F2ZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDoycHg7aGVpZ2h0OjEycHh9LnZvaWNlLXdhdmU+aXt3aWR0aDoyLjVweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjthbmltYXRpb246dm9pY2Utd2F2ZS1ib3VuY2UgLjlzIGVhc2UtaW4tb3V0IGluZmluaXRlfS52b2ljZS13YXZlPmk6bnRoLWNoaWxkKDEpe2hlaWdodDo1cHg7YW5pbWF0aW9uLWRlbGF5OjBzfS52b2ljZS13YXZlPmk6bnRoLWNoaWxkKDIpe2hlaWdodDoxMnB4O2FuaW1hdGlvbi1kZWxheTouMTVzfS52b2ljZS13YXZlPmk6bnRoLWNoaWxkKDMpe2hlaWdodDo4cHg7YW5pbWF0aW9uLWRlbGF5Oi4zc30udm9pY2Utd2F2ZT5pOm50aC1jaGlsZCg0KXtoZWlnaHQ6MTFweDthbmltYXRpb24tZGVsYXk6LjQ1c31Aa2V5ZnJhbWVzIHZvaWNlLXdhdmUtYm91bmNlezAlLHRve3RyYW5zZm9ybTpzY2FsZVkoLjQpO29wYWNpdHk6LjZ9NTAle3RyYW5zZm9ybTpzY2FsZVkoMSk7b3BhY2l0eToxfX0udm9pY2UtYnViYmxlLWFycm93e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6YXV0bztyaWdodDoxOHB4O3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDo4cHggc29saWQgdmFyKC0tYWNjZW50LCAjYzU2NTNkKX0udm9pY2UtdHJhbnNjcmlwdC1idWJibGUuaXMtY2FuY2VsaW5ne2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLCAjYjI0ZjQ1KX0udm9pY2UtdHJhbnNjcmlwdC1idWJibGUuaXMtY2FuY2VsaW5nIC52b2ljZS1idWJibGUtYXJyb3d7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1kYW5nZXIsICNiMjRmNDUpfUBtZWRpYShtYXgtd2lkdGg6NzIwcHgpey5idG4tY2lyY2xlLWFjdGlvbnt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTttaW4td2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpfS5jb21wb3Nlci1tYWluLXJvd3twYWRkaW5nOjVweCA2cHg7bWluLWhlaWdodDo0OHB4O2dhcDo1cHh9fS5hdHRhY2htZW50LXByZXZpZXd7ZGlzcGxheTpmbGV4O2dhcDo2cHg7cGFkZGluZzo2cHggMTBweDtmbGV4LXdyYXA6d3JhcDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0uYXR0YWNobWVudC1wcmV2aWV3LmhpZGRlbntkaXNwbGF5Om5vbmV9LmF0dGFjaG1lbnQtcGlsbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O3BhZGRpbmc6M3B4IDhweDtiYWNrZ3JvdW5kOiNjNTY1M2QwZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMTgpO2JvcmRlci1yYWRpdXM6OHB4O2ZvbnQtc2l6ZTouNzJyZW07bWF4LXdpZHRoOjIwMHB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTthbmltYXRpb246cGVybWlzc2lvbi1mYWRlLWluIC4ycyBlYXNlLW91dH0uYXR0YWNobWVudC1waWxsIGltZ3t3aWR0aDoyOHB4O2hlaWdodDoyOHB4O29iamVjdC1maXQ6Y292ZXI7Ym9yZGVyLXJhZGl1czo0cHg7ZmxleC1zaHJpbms6MH0uYXR0YWNobWVudC1waWxsIC5hdHQtaWNvbnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTouODVyZW19LmF0dGFjaG1lbnQtcGlsbCAuYXR0LW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXg6MTttaW4td2lkdGg6MH0uYXR0YWNobWVudC1waWxsIC5hdHQtc2l6ZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjY1cmVtO2ZsZXgtc2hyaW5rOjB9LmF0dGFjaG1lbnQtcGlsbCAuYXR0LXJlbW92ZXtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjhyZW07bGluZS1oZWlnaHQ6MTtwYWRkaW5nOjAgMnB4O2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lfS5hdHRhY2htZW50LXBpbGwgLmF0dC1yZW1vdmU6aG92ZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uaW5wdXQtY29tcG9zZXIuZHJhZy1vdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpIWltcG9ydGFudDtiYWNrZ3JvdW5kOiNjNTY1M2QwYSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKSxpbnNldCAwIDAgMjBweCAjYzU2NTNkMDh9LmxvZ2luLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLWhlaWdodDoxMDB2aDttaW4taGVpZ2h0OjEwMGR2aDtwYWRkaW5nOjI0cHh9LmxvZ2luLWNhcmR7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzgwcHg7YmFja2dyb3VuZDojZmZmZGY5YzI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC43Mik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OjAgMXB4IDJweCAjNDkzMzIzMGU7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTMwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxMzAlKX0ubG9naW4taGVhZGVye3BhZGRpbmc6MjhweCAyNHB4IDIycHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDojZmZmZGY5N2F9LmJvb3QtbG9hZGluZ3ttaW4taGVpZ2h0OjEwMHZoO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjI0cHh9LmJvb3QtbG9hZGluZy1jYXJke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzoxNnB4IDE4cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWVsZXZhdGVkKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5ib290LWxvYWRpbmctc3Bpbm5lcnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjE2KTtib3JkZXItdG9wLWNvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czo5OTlweDthbmltYXRpb246bG9naW5TcGluIC44cyBsaW5lYXIgaW5maW5pdGV9LmJvb3QtbG9hZGluZy10ZXh0e2ZvbnQtc2l6ZTouOTM3NXJlbTtmb250LXdlaWdodDo1MDB9LmxvZ2luLWxvZ297ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxMHB4O21hcmdpbi1ib3R0b206OHB4fS5sb2dpbi1sb2dvLWljb257d2lkdGg6NDJweDtoZWlnaHQ6NDJweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE4KTtib3gtc2hhZG93OjAgMXB4IDFweCAjYzU2NTNkMWE7Zm9udC1zaXplOjE4cHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo3MDB9LmxvZ2luLWxvZ28tdGV4dHtmb250LXNpemU6MS42cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAyZW19LmxvZ2luLXN1YnRpdGxle2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODc1cmVtfS5sb2dpbi1ib2R5e3BhZGRpbmc6MjJweCAyNHB4IDI0cHh9LmxvZ2luLWNhcmQtbG9hZGluZyAubG9naW4tYm9keXtwYWRkaW5nLXRvcDoxOHB4O3BhZGRpbmctYm90dG9tOjI0cHh9LmxvZ2luLWhpbnR7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTttYXJnaW4tYm90dG9tOjE2cHg7bGluZS1oZWlnaHQ6MS41fS5sb2dpbi1tdXRlZHttYXJnaW46NHB4IDAgMDtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNDV9LmxvZ2luLXN0YXR1c3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTRweDtwYWRkaW5nOjJweCAwfS5sb2dpbi1zcGlubmVye3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7ZmxleC1zaHJpbms6MDttYXJnaW4tdG9wOjJweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMTYpO2JvcmRlci10b3AtY29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOjk5OXB4O2FuaW1hdGlvbjpsb2dpblNwaW4gLjhzIGxpbmVhciBpbmZpbml0ZX0ucGFzc3dvcmQtZmllbGR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0ucGFzc3dvcmQtaW5wdXR7cGFkZGluZy1yaWdodDo3OHB4O21pbi1oZWlnaHQ6NDZweH0ucGFzc3dvcmQtdG9nZ2xle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjhweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6NnB4IDhweDtib3JkZXItcmFkaXVzOjhweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5wYXNzd29yZC10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MTQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0ucGFzc3dvcmQtdG9nZ2xlOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9QGtleWZyYW1lcyBsb2dpblNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5idG46ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjcyO3RyYW5zZm9ybTpub25lO2JveC1zaGFkb3c6bm9uZX0ubG9naW4tYm9keSAuZmllbGR7bWFyZ2luLWJvdHRvbToyMHB4fS5sb2dpbi1ib2R5IC5oaW50e21hcmdpbi10b3A6MTBweH0ubG9naW4tYm9keSAuZXJyb3ItbWVzc2FnZXttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbTowfS5sb2dpbi1jZXJ0LWhpbnR7bWFyZ2luLXRvcDoxNHB4O3BhZGRpbmc6MTRweCAxNnB4O2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTkwLDEyMCw0MCwuMzIpO2JhY2tncm91bmQ6I2RjOTYzYzFhO3RleHQtYWxpZ246bGVmdH0ubG9naW4tY2VydC1oaW50LXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO21hcmdpbi1ib3R0b206NnB4fS5sb2dpbi1jZXJ0LWhpbnQtYm9keXtmb250LXNpemU6LjgxMjVyZW07bGluZS1oZWlnaHQ6MS42O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTttYXJnaW46MCAwIDEycHh9LmxvZ2luLWNlcnQtaGludCAuYnRue21hcmdpbi10b3A6MH0ubW9kYWwtc3VidGl0bGV7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjV9LnBhc3N3b3JkLWlucHV0W2RhdGEtZXJyb3I9dHJ1ZV0sLnBhc3N3b3JkLWlucHV0W2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKTtib3gtc2hhZG93OjAgMCAwIDNweCB2YXIoLS1kYW5nZXItbXV0ZWQpfS5wYXNzd29yZC1pbnB1dFtkYXRhLWVycm9yPXRydWVdKy5wYXNzd29yZC10b2dnbGUsLnBhc3N3b3JkLWlucHV0W2FyaWEtaW52YWxpZD10cnVlXSsucGFzc3dvcmQtdG9nZ2xle2NvbG9yOnZhcigtLWRhbmdlcil9LnBhc3N3b3JkLWlucHV0OmZvY3VzKy5wYXNzd29yZC10b2dnbGV7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0ucGFzc3dvcmQtdG9nZ2xlOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSguOTgpfS5wYXNzd29yZC1pbnB1dDo6LW1zLXJldmVhbCwucGFzc3dvcmQtaW5wdXQ6Oi1tcy1jbGVhcntkaXNwbGF5Om5vbmV9LnBhc3N3b3JkLWlucHV0Ojotd2Via2l0LWNyZWRlbnRpYWxzLWF1dG8tZmlsbC1idXR0b24sLnBhc3N3b3JkLWlucHV0Ojotd2Via2l0LWNvbnRhY3RzLWF1dG8tZmlsbC1idXR0b257dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTpub25lIWltcG9ydGFudDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnBhc3N3b3JkLWlucHV0W3R5cGU9dGV4dF17Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uZmllbGR7bWFyZ2luLWJvdHRvbToxOHB4fS5maWVsZC1sYWJlbHtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO21hcmdpbi1ib3R0b206OHB4fS5maWVsZC1pbnB1dHt3aWR0aDoxMDAlO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44NzVyZW07YmFja2dyb3VuZDojZmZmZmZmYmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMjIpO2JvcmRlci1yYWRpdXM6MTJweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2NhcmV0LWNvbG9yOnZhcigtLWFjY2VudCk7cGFkZGluZzoxMnB4IDE0cHg7b3V0bGluZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTttaW4taGVpZ2h0OjQ0cHh9LmZpZWxkLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCksMCAxMHB4IDI4cHggLTIycHggI2M1NjUzZDllO2JhY2tncm91bmQ6I2ZmZmZmZmU2fS5maWVsZC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNzJ9Lm1vZGFsLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDo1MDA7YmFja2dyb3VuZDojMTQwZTA4NTc7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy10b3A6bWF4KDMycHgsdmFyKC0td2FuZC1zYWZlLXRvcCkpO3BhZGRpbmctYm90dG9tOm1heCgzMnB4LHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKTtwYWRkaW5nLWxlZnQ6bWF4KDMycHgsdmFyKC0td2FuZC1zYWZlLWxlZnQpKTtwYWRkaW5nLXJpZ2h0Om1heCgzMnB4LHZhcigtLXdhbmQtc2FmZS1yaWdodCkpO2FuaW1hdGlvbjpsaXF1aWRCYWNrZHJvcEluIC4yOHMgdmFyKC0tZWFzZS1vdXQtZXhwbywgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpKSBib3RofS5tb2RhbC1iYWNrZHJvcC5jbG9zaW5ne2FuaW1hdGlvbjpsaXF1aWRCYWNrZHJvcE91dCAuMThzIHZhcigtLWVhc2UtaW4tb3V0LXNtb290aCwgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkpIGJvdGg7cG9pbnRlci1ldmVudHM6bm9uZX1Aa2V5ZnJhbWVzIGxpcXVpZEJhY2tkcm9wSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyBsaXF1aWRCYWNrZHJvcE91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX0ubW9kYWx7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTYwcHg7bWF4LWhlaWdodDo4OHZoO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YmFja2dyb3VuZDojZmZmY2Y3YmQ7Ym9yZGVyOi41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNik7Ym9yZGVyLXJhZGl1czoyNnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZHJvcC1maWx0ZXI6Ymx1cig0MHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDQwcHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6MCAzMnB4IDgwcHggLTE2cHggIzE0MGUwODU3LDAgOHB4IDI0cHggLThweCAjMTQwZTA4MmUsMCAwIDAgLjVweCAjN2Q1YjM5MTQsaW5zZXQgMCAxcHggI2ZmZmZmZmIzO2FuaW1hdGlvbjpsaXF1aWRNb2RhbEluIC4zMnMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpIGJvdGh9Lm1vZGFsLWJhY2tkcm9wLmNsb3NpbmcgLm1vZGFse2FuaW1hdGlvbjpsaXF1aWRNb2RhbE91dCAuMThzIHZhcigtLWVhc2UtaW4tb3V0LXNtb290aCwgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkpIGJvdGh9QGtleWZyYW1lcyBsaXF1aWRNb2RhbEluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk0KSB0cmFuc2xhdGVZKDEycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBsaXF1aWRNb2RhbE91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOTcpIHRyYW5zbGF0ZVkoNHB4KX19QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsubW9kYWwtYmFja2Ryb3AsLm1vZGFsLWJhY2tkcm9wLmNsb3NpbmcsLm1vZGFsLC5tb2RhbC1iYWNrZHJvcC5jbG9zaW5nIC5tb2RhbHthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9fUBzdXBwb3J0cyBub3QgKChiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkgb3IgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpKXsubW9kYWwtYmFja2Ryb3B7YmFja2dyb3VuZDojMTQwZTA4OTl9Lm1vZGFse2JhY2tncm91bmQ6I2ZmZmFmMjtib3JkZXItY29sb3I6IzdkNWIzOTJlfX1AbWVkaWEocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Lm1vZGFsLWJhY2tkcm9we2JhY2tncm91bmQ6IzA4MDUwMjgwfUBzdXBwb3J0cyBub3QgKChiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkgb3IgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpKXsubW9kYWwtYmFja2Ryb3B7YmFja2dyb3VuZDojMDgwNTAyYzd9fX0ubW9kYWwtY2xvc2UtYnRue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6MDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiM3ZDViMzkxMjtib3JkZXI6bm9uZTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmbGV4LXNocmluazowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xOHMgZWFzZSxjb2xvciAuMThzIGVhc2UsdHJhbnNmb3JtIC4yOHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpLGJveC1zaGFkb3cgLjE4cyBlYXNlfS5tb2RhbC1jbG9zZS1idG4gc3Zne2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZX0ubW9kYWwtY2xvc2UtYnRuOmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTFmO2NvbG9yOnZhcigtLWRhbmdlcik7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7Ym94LXNoYWRvdzowIDJweCA4cHggI2IyNGY0NTJlfS5tb2RhbC1jbG9zZS1idG46YWN0aXZle2JhY2tncm91bmQ6I2IyNGY0NTMzO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpIHNjYWxlKC45Mik7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5tb2RhbC1jbG9zZS1idG46Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjNweH0uc2lkZWJhcntiYWNrZ3JvdW5kOiNmZmZjZjdiODtib3JkZXItcmlnaHQ6LjVweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41NSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMzZweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigzNnB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTBmLDRweCAwIDMycHggLThweCAjMTQwZTA4MmV9LnNpZGViYXIub3Blbntib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTBmLDEycHggMCA0OHB4IC0xMnB4ICMxNDBlMDg0N30uc2lkZWJhci5waW5uZWR7Ym94LXNoYWRvdzowIDAgMCAuNXB4ICM3ZDViMzkwZiwycHggMCAxMnB4IC04cHggIzE0MGUwODFmfS5kcmF3ZXItYmFja2Ryb3B7YmFja2dyb3VuZDojMTQwZTA4NTI7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KX0uZHJhd2VyLWJhY2tkcm9wLm9wZW57YmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKX0uc2lkZWJhci1oZWFkZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDYpO3BhZGRpbmc6MTRweCAxNnB4fS5zaWRlYmFyLXRpdGxle2ZvbnQtc2l6ZTouOTM3NXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LS4wMTJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5zZXNzaW9uLWNvdW50e2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtwYWRkaW5nOjJweCA5cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztsaW5lLWhlaWdodDoxLjV9LnNpZGViYXItaGVhZGVyLWFjdGlvbnMgLmJ0bi1naG9zdC5idG4tc20sLmRyYXdlci1jbG9zZS1idG57d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttaW4td2lkdGg6MzJweDttaW4taGVpZ2h0OjMycHg7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtib3JkZXI6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjIycyBjdWJpYy1iZXppZXIoLjM0LDEuNCwuNjQsMSl9LnNpZGViYXItaGVhZGVyLWFjdGlvbnMgLmJ0bi1naG9zdC5idG4tc206aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MTQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uZHJhd2VyLWNsb3NlLWJ0bntiYWNrZ3JvdW5kOiM3ZDViMzkxMn0uZHJhd2VyLWNsb3NlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUxZjtjb2xvcjp2YXIoLS1kYW5nZXIpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5kcmF3ZXItY2xvc2UtYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kOiNiMjRmNDUzMzt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKSBzY2FsZSguOTIpO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uZHJhd2VyLWNsb3NlLWJ0bjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6M3B4fS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvd3tiYWNrZ3JvdW5kOiNmZmZjZjdkYjtib3JkZXI6LjVweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41NSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjRweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigyNHB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTE0LDAgMTJweCAyOHB4IC04cHggIzE0MGUwODM4O2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjZweH0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW17Ym9yZGVyLXJhZGl1czo5cHg7cGFkZGluZzo5cHggMTBweDtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NTAwO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsY29sb3IgLjE2cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMThzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbTpob3ZlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmZmZmU2LCNmZmZjZjc5OSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTE0LGluc2V0IDAgMXB4ICNmZmZmZmZkOX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW06YWN0aXZle2JhY2tncm91bmQ6I2M1NjUzZDFmO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnNjYWxlKC45OCl9LnNlc3Npb24tbWFuYWdlLWJhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7cGFkZGluZzo0cHggNHB4IDRweCAxMHB4O2JvcmRlci1yYWRpdXM6MTBweDttYXJnaW4tYm90dG9tOjEwcHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlfS5zZXNzaW9uLW1hbmFnZS1iYXI6aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MGR9LnNlc3Npb24tbWFuYWdlLWJhciAuc2lkZWJhci1pbnRyb3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xldHRlci1zcGFjaW5nOi4wMDVlbX0uc2Vzc2lvbi1tYW5hZ2UtYmFyLmFjdGl2ZXtwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDo2O21hcmdpbjotMTBweCAtMTBweCA4cHg7cGFkZGluZzo5cHggMTBweCA5cHggNnB4O2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOiNmZmZiZjVmMDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpzYXR1cmF0ZSgxLjIpIGJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6c2F0dXJhdGUoMS4yKSBibHVyKDhweCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym94LXNoYWRvdzpub25lfS5zZXNzaW9uLW1hbmFnZS1iYXIuYWN0aXZlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmJmNWYwfS5zZXNzaW9uLW1hbmFnZS1leGl0e2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O3BhZGRpbmc6MDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTRzIGVhc2UsY29sb3IgLjE0cyBlYXNlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uc2Vzc2lvbi1tYW5hZ2UtZXhpdDpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkxYTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5zZXNzaW9uLW1hbmFnZS1zdW1tYXJ5e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7bWluLXdpZHRoOjA7ZmxleDoxO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjUwMH0uc2Vzc2lvbi1tYW5hZ2UtY291bnR7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6MjBweDtoZWlnaHQ6MThweDtwYWRkaW5nOjAgNnB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UpO2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LnNlc3Npb24tbWFuYWdlLXN1bW1hcnktbGFiZWx7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjYwMH0uc2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeS1sYWJlbC5tdXRlZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo1MDB9LnNlc3Npb24tbWFuYWdlLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtc2hyaW5rOjB9LnNlc3Npb24tbWFuYWdlLXRvZ2dsZXtnYXA6NXB4fS5jbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktY2xlYXItYnRue21hcmdpbi1sZWZ0OmF1dG99LnNlc3Npb24tZ3JvdXAtdGl0bGV7cGFkZGluZzoxMHB4IDZweCA4cHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMWVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLWdyb3VwLXRpdGxlOmJlZm9yZXt3aWR0aDozcHg7aGVpZ2h0OjEycHg7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50KSxyZ2JhKDE5NywxMDEsNjEsLjQpKTtvcGFjaXR5OjF9LnNlc3Npb24taXRlbXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoxMXB4O3BhZGRpbmc6OXB4IDEycHg7bWFyZ2luLWJvdHRvbToycHg7Ym94LXNoYWRvdzpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNnMgZWFzZX0uc2Vzc2lvbi1pdGVtOmJlZm9yZXtsZWZ0OjRweDt0b3A6OXB4O2JvdHRvbTo5cHg7d2lkdGg6M3B4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQpLHJnYmEoMTk3LDEwMSw2MSwuNSkpfS5zZXNzaW9uLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MGY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5zZXNzaW9uLWl0ZW06aG92ZXI6YmVmb3Jle29wYWNpdHk6MH0uc2Vzc2lvbi1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2ViLCNmZmY0ZThiZCk7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q0Nztib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmY4Y30uc2Vzc2lvbi1pdGVtLnNlbGVjdGVke2JhY2tncm91bmQ6I2M1NjUzZDE3O2JvcmRlci1jb2xvcjojYzU2NTNkMmV9LnNlc3Npb24taXRlbS5zZWxlY3RlZDpiZWZvcmV7b3BhY2l0eTouNzt0cmFuc2Zvcm06c2NhbGVZKDEpfS5zZXNzaW9uLWl0ZW06YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTkyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wOHN9LnNlc3Npb24tdGl0bGUsLnNlc3Npb24tY29tbWFuZHtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0uMDA1ZW19LnNlc3Npb24tdGl0bGUtcm93e2dhcDoxMHB4fS5zZXNzaW9uLXRpbWV7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30uc2Vzc2lvbi1hY3Rpdml0eXtvcGFjaXR5OjE7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXdlaWdodDo1MDB9LnNlc3Npb24tc3RhdHVze3BhZGRpbmc6MnB4IDhweDtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjAyZW19LnNlc3Npb24taWR7YmFja2dyb3VuZDojN2Q1YjM5MTQ7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7Zm9udC1zaXplOi42MjVyZW07cGFkZGluZzoxLjVweCA2cHg7Ym9yZGVyLXJhZGl1czo0cHh9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4O21pbi1oZWlnaHQ6MjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiM3ZDViMzkwZjtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtib3JkZXI6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjE4cyBjdWJpYy1iZXppZXIoLjM0LDEuNCwuNjQsMSl9LnNlc3Npb24tYWN0aW9uLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkyNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfS5zZXNzaW9uLWFjdGlvbi1idG4uZGVsZXRlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUyNDtjb2xvcjp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLWFjdGlvbi1idG4ubWVyZ2UtYnRuOmhvdmVye2JhY2tncm91bmQ6IzRmN2E1ODI5O2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5zZXNzaW9uLWFjdGlvbi1idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5zZXNzaW9uLWFjdGlvbi1idG46Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2sgc3Bhbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjoxLjVweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMjIpO2JhY2tncm91bmQ6I2ZmZjk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggIzdkNWIzOTBhO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNnMgZWFzZSxib3gtc2hhZG93IC4xNnMgZWFzZX0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2sgaW5wdXQ6Y2hlY2tlZCtzcGFue2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMXB4IDNweCAjYzU2NTNkNGQsaW5zZXQgMCAxcHggI2ZmZjN9LnNlc3Npb24tbWFuYWdlLWNoZWNrIGlucHV0OmNoZWNrZWQrc3BhbjphZnRlcntjb250ZW50OiIiO3dpZHRoOjZweDtoZWlnaHQ6MTBweDtib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2ZmZjt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTFweCwtMXB4KX0uc2lkZWJhci1mb290ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDYpO3BhZGRpbmc6MTRweH0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRue2JhY2tncm91bmQ6I2ZmZmZmZjczO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA2KTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzo4cHggNHB4O2dhcDo0cHg7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMWVtO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNnMgZWFzZSxjb2xvciAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xNnMgZWFzZSxib3gtc2hhZG93IC4xNnMgZWFzZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuOmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZmQ5O2JvcmRlci1jb2xvcjojN2Q1YjM5Mjk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgMnB4IDhweCAjN2Q1YjM5MGZ9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Nik7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4uYWN0aXZle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmY2Y3ZjIsI2ZmZjJlNGM3KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMjgpO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgM3B4IDEwcHggLTNweCAjYzU2NTNkMzgsaW5zZXQgMCAxcHggI2ZmZmZmZmIzfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4uc2lkZWJhci1sb2dvdXQ6aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MTQ7Ym9yZGVyLWNvbG9yOiNiMjRmNDUzMztjb2xvcjp2YXIoLS1kYW5nZXIpO29wYWNpdHk6MX0uc2lkZWJhci1mb290ZXIgLmJ0bi1wcmltYXJ5e2JveC1zaGFkb3c6MCA2cHggMTZweCAtNHB4ICNjNTY1M2Q2NiwwIDJweCA2cHggLTJweCAjYzU2NTNkNGQsaW5zZXQgMCAxcHggI2ZmZjM7Ym9yZGVyLXJhZGl1czoxMnB4fS5zaWRlYmFyLWZvb3RlciAuYnRuLXByaW1hcnk6aG92ZXJ7Ym94LXNoYWRvdzowIDEwcHggMjRweCAtNHB4ICNjNTY1M2Q3NSwwIDRweCAxMHB4IC0ycHggI2M1NjUzZDU3LGluc2V0IDAgMXB4ICNmZmZmZmY0MH0uc2Vzc2lvbnMtbGlzdDplbXB0eTpiZWZvcmV7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44MTI1cmVtO2xldHRlci1zcGFjaW5nOi4wMWVtfUBzdXBwb3J0cyBub3QgKChiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkgb3IgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpKXsuc2lkZWJhcntiYWNrZ3JvdW5kOiNmZmZiZjVmYX0uZHJhd2VyLWJhY2tkcm9we2JhY2tncm91bmQ6IzE0MGUwODhjfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvd3tiYWNrZ3JvdW5kOiNmZmZhZjJ9fS5tb2RhbC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjE4cHggMjJweCAxNnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2ZsZXgtc2hyaW5rOjA7bWluLWhlaWdodDo1NnB4fS5tb2RhbC10aXRsZXtmb250LXNpemU6MS4wNjI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDFlbX0ubW9kYWwtYm9keXtwYWRkaW5nOjIycHg7b3ZlcmZsb3cteTphdXRvO2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowfS5tb2RhbC1ib2R5IC5maWVsZHttYXJnaW4tYm90dG9tOjE0cHh9Lm1vZGFsLWJvZHkgLmZpZWxkOmxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjE2cHh9LmZpZWxkLWhpbnR7bWFyZ2luLXRvcDo2cHg7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjV9c2VsZWN0LmZpZWxkLWlucHV0e2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzhjNzM1Zicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNNiA5bDYgNiA2LTYnLyUzRSUzQy9zdmclM0UiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNHB4IGNlbnRlcjtwYWRkaW5nLXJpZ2h0OjQwcHg7Y3Vyc29yOnBvaW50ZXJ9LmVycm9yLW1lc3NhZ2V7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS1kYW5nZXIpO3BhZGRpbmc6MTBweCAxMnB4O2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7bWFyZ2luLXRvcDoxMnB4O2FuaW1hdGlvbjpzaGFrZSAuM3MgZWFzZX1Aa2V5ZnJhbWVzIHNoYWtlezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTRweCl9NzUle3RyYW5zZm9ybTp0cmFuc2xhdGUoNHB4KX19LmZpZWxkLWlucHV0W2RhdGEtZXJyb3I9dHJ1ZV17Ym9yZGVyLWNvbG9yOnZhcigtLWRhbmdlcik7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tZGFuZ2VyLW11dGVkKX0uaGludHtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDoxMnB4fS5lbXB0eS1zdGF0ZXt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjQwcHggMjBweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjgxMjVyZW19LmVtcHR5LXN0YXRlIHN0cm9uZ3tkaXNwbGF5OmJsb2NrO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6Ljk1cmVtO21hcmdpbi1ib3R0b206OHB4O2ZvbnQtd2VpZ2h0OjYwMH0uaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Lm9mZmxpbmUtYmFubmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTo4MHB4O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKTtjb2xvcjojZmZmO3BhZGRpbmc6OHB4IDE2cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo1MDA7ei1pbmRleDoxMDA7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctZWxldmF0ZWQpO2FuaW1hdGlvbjpzbGlkZVVwIC4zcyBlYXNlfUBrZXlmcmFtZXMgc2xpZGVVcHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDIwcHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoMCl9fTo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NnB4O2hlaWdodDo2cHh9Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOTY3NjU1NGQ7Ym9yZGVyLXJhZGl1czozcHh9Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiM5Njc2NTU4MH0uc2Vzc2lvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NHB4fS5zZXNzaW9ucy1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zZXNzaW9ucy1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM5Njc2NTU0MDtib3JkZXItcmFkaXVzOjJweH0uc2Vzc2lvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1NjZ9OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9YnV0dG9uOmZvY3VzLXZpc2libGV7b3V0bGluZS1vZmZzZXQ6MH1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuc2lkZWJhci5waW5uZWQ6bm90KC5jb2xsYXBzZWQpOm5vdCgub3Blbil7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSk7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjB9Lm1haW4tbGF5b3V0LnNpZGViYXItcGlubmVkOm5vdCguc2lkZWJhci1jb2xsYXBzZWQpe3BhZGRpbmctbGVmdDowfS5hcHAtY29udGFpbmVyey0tbGF5b3V0LW1haW4tZmlsZS1wYW5lbC13aWR0aDogMHB4fS5zaWRlYmFye3dpZHRoOm1pbigzMDBweCxjYWxjKDEwMHZ3IC0gMjBweCkpO3RvcDowfS50ZXJtaW5hbC1jb250YWluZXJ7bWFyZ2luOjAgNnB4IDZweDttaW4taGVpZ2h0OjB9LmJ0bnttaW4taGVpZ2h0OjQwcHh9LmJ0bi1zbXttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzowIDEwcHg7Zm9udC1zaXplOi43NXJlbTtoZWlnaHQ6MzZweH0uYnRuLWljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweDttaW4taGVpZ2h0OjM2cHh9LmNoYXQtY29udGFpbmVye3BhZGRpbmc6MCAxMnB4IDEycHh9LmNoYXQtbWVzc2FnZXttYXgtd2lkdGg6MTAwJX0uc2Vzc2lvbi1pdGVte21pbi1oZWlnaHQ6NTJweDtwYWRkaW5nOjEycHh9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDozNnB4O2hlaWdodDozNnB4O21pbi13aWR0aDozNnB4O21pbi1oZWlnaHQ6MzZweH0uc2Vzc2lvbi1tYW5hZ2UtYmFyIC5idG57bWluLWhlaWdodDozMnB4fS5jbGF1ZGUtaGlzdG9yeS10b2dnbGV7bWluLWhlaWdodDo0MHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bnttaW4taGVpZ2h0OjQ0cHh9LnRyZWUtaXRlbXttaW4taGVpZ2h0OjQ0cHg7cGFkZGluZzo4cHggMTJweH19QG1lZGlhKG1pbi13aWR0aDo3NjlweCl7LmRyYXdlci1iYWNrZHJvcHtkaXNwbGF5Om5vbmV9fUBtZWRpYShtYXgtd2lkdGg6NjQwcHgpezpyb290ey0tc2lkZWJhci13aWR0aDogMjgwcHg7LS1maWxlLXBhbmVsLXdpZHRoOiAxMDAlfS5hcHAtY29udGFpbmVyey0tbGF5b3V0LW1haW4tZmlsZS1wYW5lbC13aWR0aDogMHB4fWh0bWwsYm9keXttaW4taGVpZ2h0OjEwMGR2aDtoZWlnaHQ6MTAwZHZofWJvZHl7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS5hcHAtY29udGFpbmVye292ZXJmbG93OmhpZGRlbn0uZmxvYXRpbmctc2lkZWJhci10b2dnbGV7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjZweH0uZmxvYXRpbmctc2lkZWJhci10b2dnbGUgLmhhbWJ1cmdlci1pY29ue3dpZHRoOjEzcHg7aGVpZ2h0OjlweH0uc2lkZWJhcnt0b3A6MH0uc2lkZWJhci1oZWFkZXJ7cGFkZGluZzoxMHB4IDEycHg7bWluLWhlaWdodDo0OHB4O2dhcDo4cHh9LnNpZGViYXItaGVhZGVyLWFjdGlvbnN7Z2FwOjRweH0uc2lkZWJhci1mb290ZXItYWN0aW9uc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKTtnYXA6NHB4fS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zOmhhcyguc2lkZWJhci1iYWNrLXRvLW5hdGl2ZSk6aGFzKC5zaWRlYmFyLXN3aXRjaC1zZXJ2ZXIpe2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSwxZnIpfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG57bWluLWhlaWdodDo0MHB4O3BhZGRpbmc6NnB4IDRweH0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuIHNwYW57ZGlzcGxheTpub25lfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4gc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93e21pbi13aWR0aDoxODBweDttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDI0cHgpfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbXtwYWRkaW5nOjExcHggMTRweDtmb250LXNpemU6Ljg3NXJlbX0udGVybWluYWwtaGVhZGVye3BhZGRpbmc6NXB4IDhweDttaW4taGVpZ2h0OjMycHh9LnRlcm1pbmFsLXRpdGxle2dhcDo0cHg7Zm9udC1zaXplOi42ODc1cmVtfS50ZXJtaW5hbC1pbmZve2ZvbnQtc2l6ZTouNTYyNXJlbX0uY3VycmVudC10YXNre2ZvbnQtc2l6ZTouNTYyNXJlbTtwYWRkaW5nOjFweCA2cHggMXB4IDRweDtnYXA6M3B4fS5tYWluLWhlYWRlci1yb3d7cGFkZGluZzoycHggNnB4O2dhcDo0cHh9LnRvcGJhci1icmFuZCwudG9wYmFyLWN3ZHtkaXNwbGF5Om5vbmV9LnRvcGJhci1zZXNzaW9uLXRpdGxle21heC13aWR0aDoxNDBweDtmb250LXNpemU6Ljc4cmVtfS5zZXNzaW9uLXN0YXR1cy1waWxse2ZvbnQtc2l6ZTouNjI1cmVtO3BhZGRpbmc6MXB4IDdweCAxcHggNXB4O21heC13aWR0aDoxMTBweH0uc2Vzc2lvbi1zdGF0dXMtcGlsbCAuc2Vzc2lvbi1zdGF0dXMtZG90e3dpZHRoOjVweDtoZWlnaHQ6NXB4fS50b3BiYXItbW9yZS1tZW51e21pbi13aWR0aDoxNTZweH0udGVybWluYWwtc2NhbGUtb3ZlcmxheXt0b3A6NnB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtnYXA6MXB4fS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWJ0bnttaW4td2lkdGg6MjZweDtoZWlnaHQ6MjZweDtmb250LXNpemU6Ljc1cmVtfS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWxhYmVse21pbi13aWR0aDoyOHB4O2ZvbnQtc2l6ZTouNTYyNXJlbTtwYWRkaW5nOjAgMnB4fS5tYWluLWxheW91dHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO21pbi1oZWlnaHQ6MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjB9LnNpZGViYXJ7dG9wOjA7d2lkdGg6bWluKDI2MHB4LGNhbGMoMTAwdncgLSAxMnB4KSk7bWF4LWhlaWdodDpub25lO2JvcmRlci1ib3R0b206bm9uZX0ubWFpbi1jb250ZW50e2ZsZXg6MTttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW59LnRlcm1pbmFsLWNvbnRhaW5lcntmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MDttYXgtaGVpZ2h0Om5vbmV9LnNlc3Npb25zLWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjEgMCBhdXRvO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmc6NHB4fS5zZXNzaW9uLWl0ZW17d2lkdGg6MTAwJTttYXgtd2lkdGg6bm9uZTttYXJnaW4tYm90dG9tOjRweDtwYWRkaW5nOjhweCAxMHB4O21pbi1oZWlnaHQ6NDRweDtib3JkZXItcmFkaXVzOjZweH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWluLWhlaWdodDozMnB4O21pbi13aWR0aDozMnB4O2JvcmRlci1yYWRpdXM6NnB4fS5pbnB1dC1wYW5lbHt6LWluZGV4OjMwO3BhZGRpbmc6NHB4IDZweDtwYWRkaW5nLWJvdHRvbTpjYWxjKDZweCArIHZhcigtLWlucHV0LXNhZmUtYm90dG9tLCB2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSkgKyB2YXIoLS1rZXlib2FyZC1vZmZzZXQsIDBweCkpO2ZsZXg6MCAwIGF1dG87bWFyZ2luLXRvcDphdXRvO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZjZmMWU4ODAsI2Y2ZjFlOGUwIDMwJSwjZjZmMWU4KSwjZjZmMWU4O2JhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpfS5pbnB1dC10ZXh0YXJlYXtwYWRkaW5nLWJvdHRvbTo0cHh9LmlucHV0LWNvbXBvc2Vye2JvcmRlci1yYWRpdXM6MjRweDtib3gtc2hhZG93OjAgM3B4IDE0cHggIzU5M2EyMDEyfS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4sLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVke2JvcmRlci1yYWRpdXM6MThweH0uYnRuLWNpcmNsZXt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTttaW4td2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2JvcmRlci1yYWRpdXM6NTAlfS5idG4tY2lyY2xlLXNlbmQgc3ZnLC5idG4tY2lyY2xlLXN0b3Agc3Zne3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9LmlucHV0LXRleHRhcmVhLC5maWVsZC1pbnB1dHtmb250LXNpemU6MTZweH0uaW5wdXQtdGV4dGFyZWF7bWluLWhlaWdodDozNnB4O3BhZGRpbmc6N3B4IDhweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxLjM1fS5pbnB1dC1jb21wb3Nlci5oYXMtdGV4dCAuaW5wdXQtdGV4dGFyZWF7cGFkZGluZy1yaWdodDo0NHB4fS5pbnB1dC10ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7Zm9udC1zaXplOjE1cHh9LmNoYXQtbW9kZS1zZWxlY3R7bWF4LXdpZHRoOjY1cHg7Zm9udC1zaXplOi41NjI1cmVtO2hlaWdodDoyMnB4O21pbi1oZWlnaHQ6MjJweDtwYWRkaW5nOjAgMTRweCAwIDRweDtib3JkZXItcmFkaXVzOjVweH0uaW5wdXQtaGludHtmb250LXNpemU6LjQ1cmVtO21heC13aWR0aDoxOGNoO29wYWNpdHk6LjZ9LnRlcm1pbmFsLWp1bXAtYm90dG9te3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7cGFkZGluZzowO3JpZ2h0OjEwcHg7Ym90dG9tOjEycHh9LmNoYXQtdW5yZWFkLWJ1YmJsZXtoZWlnaHQ6MzBweDttaW4td2lkdGg6MzBweDtyaWdodDoxMHB4O2JvdHRvbTo4cHg7cGFkZGluZzowIDlweDtmb250LXNpemU6LjcycmVtfS5jaGF0LXVucmVhZC1idWJibGUuaGFzLXVucmVhZHtwYWRkaW5nOjAgMTFweCAwIDlweH0uY2hhdC11bnJlYWQtYnViYmxlLWNvdW50e2ZvbnQtc2l6ZTouNzJyZW19Lm1pbmkta2V5Ym9hcmQtZmFie3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym90dG9tOjUwcHg7cmlnaHQ6MTBweDtmb250LXNpemU6MXJlbX0ubWluaS1rZXlib2FyZHtib3R0b206NTBweDtyaWdodDo4cHg7bGVmdDo4cHg7bWluLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czoxMHB4fS5jaGF0LWNvbnRhaW5lcnttaW4taGVpZ2h0OjA7ZmxleDoxIDEgYXV0bztvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY2hhdC1jb250YWluZXIuYWN0aXZle2Rpc3BsYXk6ZmxleH0udG9kby1wcm9ncmVzcy1oZWFkZXJ7cGFkZGluZzowIDhweDtnYXA6NnB4fS50b2RvLXByb2dyZXNzLWNvdW50ZXIsLnRvZG8tcHJvZ3Jlc3MtdGFza3tmb250LXNpemU6Ljc1cmVtfS50b2RvLXByb2dyZXNzLWNoZXZyb257d2lkdGg6MTJweDtoZWlnaHQ6MTJweH0udG9kby1wcm9ncmVzcy1ib2R5e3BhZGRpbmc6NHB4IDZweH0ubG9naW4tY29udGFpbmVye21pbi1oZWlnaHQ6MTAwZHZoO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7cGFkZGluZzo4cHggOHB4IGNhbGMoOHB4ICsgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpfS5sb2dpbi1jYXJke21hcmdpbi10b3A6bWF4KDZweCxlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwwcHgpKX0ubG9naW4taGVhZGVye3BhZGRpbmc6MTRweCAxMnB4IDEwcHh9LmxvZ2luLWJvZHl7cGFkZGluZzoxMnB4fS5idG57bWluLWhlaWdodDo0MHB4fS5idG4tc217bWluLWhlaWdodDozMnB4fS5jaGF0LW1lc3NhZ2UtYnViYmxle3BhZGRpbmc6OHB4IDEwcHg7Zm9udC1zaXplOi43NXJlbX0uY2hhdC1tZXNzYWdlLWF2YXRhcntmb250LXNpemU6LjY4NzVyZW19Lm1vZGFsLWJhY2tkcm9we3BhZGRpbmc6OHB4O3BhZGRpbmctdG9wOm1heCg4cHgsdmFyKC0td2FuZC1zYWZlLXRvcCkpO3BhZGRpbmctbGVmdDptYXgoOHB4LHZhcigtLXdhbmQtc2FmZS1sZWZ0KSk7cGFkZGluZy1yaWdodDptYXgoOHB4LHZhcigtLXdhbmQtc2FmZS1yaWdodCkpO2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5tb2RhbHttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0Ojg1dmg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpIHZhcigtLXJhZGl1cy1tZCkgMCAwO21hcmdpbi1ib3R0b206dmFyKC0tc2FmZS1ib3R0b20sIDBweCl9Lm1vZGFsLWhlYWRlcntwYWRkaW5nOjEwcHggMTJweDttaW4taGVpZ2h0OjQwcHh9Lm1vZGFsLWJvZHl7cGFkZGluZzoxMHB4IDEycHh9Lm1vZGFsLWZvb3RlcntwYWRkaW5nOjhweCAxMnB4fS5tYWluLWNvbnRlbnQuZmlsZS1wYW5lbC1vcGVue21hcmdpbi1yaWdodDowfS5maWxlLXNpZGUtcGFuZWx7d2lkdGg6MTAwJX0uZmlsZS1zaWRlLXBhbmVsLWhlYWRlcntwYWRkaW5nOjEwcHggMTJweDttaW4taGVpZ2h0OjQ4cHh9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRue3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHh9LmZpbGUtZXhwbG9yZXItaGVhZGVye3BhZGRpbmc6NnB4IDEwcHggNHB4O2dhcDo2cHh9LmZpbGUtZXhwbG9yZXItdXB7d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0uZmlsZS1zZWFyY2gtYm94e3BhZGRpbmc6NnB4IDEwcHggOHB4fS5maWxlLXNlYXJjaC1pY29ue2xlZnQ6MjBweH0uZmlsZS1zZWFyY2gtY2xlYXJ7cmlnaHQ6MTZweH0uZmlsZS1zZWFyY2gtaW5wdXR7bWluLWhlaWdodDozNHB4O2ZvbnQtc2l6ZToxNnB4O3BhZGRpbmc6N3B4IDMycHggN3B4IDMwcHh9LmJsYW5rLWNoYXR7cGFkZGluZzoxNnB4IDEycHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uYmxhbmstY2hhdC1pbm5lcnttYXgtd2lkdGg6MTAwJX0uYmxhbmstY2hhdC1sb2dve3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbi1ib3R0b206MTBweH0uYmxhbmstY2hhdC10aXRsZXtmb250LXNpemU6MS4xMjVyZW19LmJsYW5rLWNoYXQtc3VidGl0bGV7Zm9udC1zaXplOi43NXJlbTttYXJnaW4tYm90dG9tOjE2cHh9LmJsYW5rLWNoYXQtdG9vbHN7Z2FwOjRweDttYXJnaW4tYm90dG9tOjhweH0uYmxhbmstY2hhdC10b29sLWJ0bntwYWRkaW5nOjZweCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW07bWluLWhlaWdodDo0NHB4fS5ub3RpZmljYXRpb24tYnViYmxle21heC13aWR0aDpjYWxjKDEwMHZ3IC0gMjRweCl9fUBtZWRpYShtaW4td2lkdGg6MzkxcHgpYW5kIChtYXgtd2lkdGg6NDIwcHgpey50ZXJtaW5hbC1jb250YWluZXJ7bWFyZ2luOjAgNnB4IDZweDtwYWRkaW5nOjZweH0uaW5wdXQtcGFuZWx7cGFkZGluZzo2cHggMTBweDtwYWRkaW5nLWJvdHRvbTpjYWxjKDhweCArIHZhcigtLWlucHV0LXNhZmUtYm90dG9tLCB2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSkpfX1AbWVkaWEobWF4LXdpZHRoOjM5MHB4KXsuZmxvYXRpbmctc2lkZWJhci10b2dnbGV7d2lkdGg6MjhweDtoZWlnaHQ6MjhweH0uZmxvYXRpbmctc2lkZWJhci10b2dnbGUgLmhhbWJ1cmdlci1pY29ue3dpZHRoOjExcHg7aGVpZ2h0OjhweH0udGVybWluYWwtaGVhZGVye3BhZGRpbmc6NHB4IDZweDttaW4taGVpZ2h0OjI4cHh9LnRlcm1pbmFsLWluZm97ZGlzcGxheTpub25lfS50ZXJtaW5hbC1jb250YWluZXJ7bWFyZ2luOjAgNHB4IDRweDtwYWRkaW5nOjRweH0uaW5wdXQtcGFuZWx7cGFkZGluZzo1cHggNnB4O3BhZGRpbmctYm90dG9tOmNhbGMoNnB4ICsgdmFyKC0taW5wdXQtc2FmZS1ib3R0b20sIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKSl9LmlucHV0LWNvbXBvc2Vye2JvcmRlci1yYWRpdXM6MjRweH0uaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluLC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZHtib3JkZXItcmFkaXVzOjE4cHh9LmlucHV0LXRleHRhcmVhe21pbi1oZWlnaHQ6MzZweDtwYWRkaW5nOjdweCA2cHg7Zm9udC1zaXplOjE2cHh9LmJ0bi1jaXJjbGV7d2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2hlaWdodDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7bWluLXdpZHRoOnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKX0uc2Vzc2lvbi1pdGVte3BhZGRpbmc6NnB4IDhweDttaW4taGVpZ2h0OjQwcHh9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDozMHB4O2hlaWdodDozMHB4O21pbi13aWR0aDozMHB4O21pbi1oZWlnaHQ6MzBweH0uc2lkZWJhcnt0b3A6MDt3aWR0aDptaW4oMjQwcHgsY2FsYygxMDB2dyAtIDEwcHgpKX0uc2lkZWJhci1mb290ZXItYWN0aW9uc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uc2lkZWJhci1mb290ZXItYWN0aW9uczpoYXMoLnNpZGViYXItYmFjay10by1uYXRpdmUpOmhhcyguc2lkZWJhci1zd2l0Y2gtc2VydmVyKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuIHNwYW57ZGlzcGxheTpub25lfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG57bWluLWhlaWdodDozNnB4O3BhZGRpbmc6NnB4fS5tb2RhbHttYXgtaGVpZ2h0Ojgwdmh9Lm1vZGFsLWhlYWRlcntwYWRkaW5nOjhweCAxMHB4O21pbi1oZWlnaHQ6MzZweH0ubW9kYWwtYm9keXtwYWRkaW5nOjhweCAxMHB4fS5maWVsZC1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MH0uYnRue21pbi1oZWlnaHQ6MzZweDtwYWRkaW5nOjhweCAxMnB4fS5idG4tc217bWluLWhlaWdodDoyOHB4O3BhZGRpbmc6NHB4IDhweH19QG1lZGlhKG1pbi13aWR0aDo2NDFweClhbmQgKG1heC13aWR0aDo3NjhweCl7LnNpZGViYXJ7dG9wOjA7d2lkdGg6bWluKDMyMHB4LGNhbGMoMTAwdncgLSA0MHB4KSl9LnNlc3Npb24taXRlbXttaW4taGVpZ2h0OjUycHg7cGFkZGluZzoxMXB4IDEycHh9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDozNHB4O2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4O21pbi1oZWlnaHQ6MzRweH0uYnRue21pbi1oZWlnaHQ6NDJweH0uYnRuLXNte21pbi1oZWlnaHQ6MzZweH0uZmxvYXRpbmctdG9nZ2xle21pbi13aWR0aDo0OHB4O21pbi1oZWlnaHQ6NDhweH19QG1lZGlhKG1heC1oZWlnaHQ6NDIwcHgpYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZXt3aWR0aDoyOHB4O2hlaWdodDoyOHB4fS5zaWRlYmFye3RvcDowfS50ZXJtaW5hbC1jb250YWluZXJ7bWluLWhlaWdodDo1NXZoO21hcmdpbjo2cHg7cGFkZGluZzo4cHh9LmNoYXQtY29udGFpbmVye3BhZGRpbmc6MCAxMHB4IDhweH0uaW5wdXQtcGFuZWx7cGFkZGluZzo4cHg7cGFkZGluZy1ib3R0b206Y2FsYyg4cHggKyB2YXIoLS1pbnB1dC1zYWZlLWJvdHRvbSwgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpKX19QG1lZGlhKG1heC13aWR0aDo0ODBweCl7LmNoYXQtY29udGFpbmVye3BhZGRpbmc6MCA2cHggOHB4fS5jaGF0LW1lc3NhZ2Vze3BhZGRpbmctbGVmdDoycHg7cGFkZGluZy1yaWdodDoycHg7Z2FwOjEycHh9LmNoYXQtbWVzc2FnZXstLWNoYXQtY2FyZC1tYXgtd2lkdGg6IDEwMCV9LnRvb2wtdXNlLWhlYWRlcntmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjRweDtwYWRkaW5nOjhweCAxMnB4fS50b29sLXVzZS1maWxle21heC13aWR0aDoxMDAlfS50b29sLXVzZS1ib2R5e3BhZGRpbmc6MTBweCAxMnB4fS5zdWJhZ2VudC1yZXBseXtwYWRkaW5nOjlweCAxMnB4fS5zdWJhZ2VudC1yZXBseS5jb2xsYXBzaWJsZXtwYWRkaW5nOjB9LnN1YmFnZW50LXJlcGx5LmZpbmFse3BhZGRpbmc6OXB4IDExcHh9LnN1YmFnZW50LXBhbmVse21hcmdpbjo2cHggMH0uc3ViYWdlbnQtcGFuZWwtaGVhZGVye3BhZGRpbmc6N3B4IDEwcHg7Z2FwOjZweDtmb250LXNpemU6Ljc0cmVtO2ZsZXgtd3JhcDp3cmFwfS5zdWJhZ2VudC1wYW5lbC1hdHRyaWJ1dGlvbnt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1oZWlnaHQ6MS40fS5zdWJhZ2VudC1wYW5lbC1jb3VudHttYXJnaW4tbGVmdDphdXRvfS5zdWJhZ2VudC1wYW5lbC10YWd7bWFyZ2luOjAgNHB4O3BhZGRpbmc6MCA0cHh9LnN1YmFnZW50LXBhbmVsLWJvZHl7aGVpZ2h0OjI2MHB4O3BhZGRpbmc6OXB4IDExcHh9LnN1YmFnZW50LXBhbmVsW2RhdGEtZXhwYW5kZWQ9ZmFsc2VdIC5zdWJhZ2VudC1wYW5lbC1ib2R5LC5zdWJhZ2VudC1wYW5lbFtkYXRhLWV4cGFuZGVkPXRydWVdIC5zdWJhZ2VudC1wYW5lbC1ib2R5e2hlaWdodDoyNjBweDttYXgtaGVpZ2h0Om5vbmV9LnN1YmFnZW50LXBhbmVsLWZvb3RlcntwYWRkaW5nOjVweCAxMHB4fS5zdWJhZ2VudC1wYW5lbC1mb290ZXItaGludHtkaXNwbGF5Om5vbmV9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtYmxvY2t7bWFyZ2luOjhweCAwfS5tYXJrZG93bi1jb250ZW50IHByZSwubWFya2Rvd24tY29udGVudCAuY29kZS1ibG9jayBwcmUsLnN1YmFnZW50LXJlcGx5IHByZXtwYWRkaW5nOjEwcHh9LmRpZmYtY29sdW1uc3tmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmRpZmYtY29sLC5kaWZmLWNvbC1oYWxmLC5kaWZmLWNvbC1mdWxse2ZsZXg6MSAxIGF1dG87d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJX0udGVybS1oZWFkZXIsLmRpZmYtaGVhZGVye2ZsZXgtd3JhcDp3cmFwO3Jvdy1nYXA6NHB4fS5kaWZmLXBhdGh7ZmxleC1iYXNpczoxMDAlO29yZGVyOjk5fS5pbmxpbmUtdG9vbC1yb3d7ZmxleC13cmFwOndyYXA7cm93LWdhcDoycHh9LmlubGluZS10b29sLW1ldGF7bWF4LXdpZHRoOjEwMCU7ZmxleC1iYXNpczoxMDAlO3BhZGRpbmctbGVmdDoyMnB4fX0uc2Vzc2lvbi1raW5kLWJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoxOHB4O3BhZGRpbmc6MCA2cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMWVtO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1raW5kLWJhZGdlLnB0eXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDojNzg4MDhjMWY7Ym9yZGVyLWNvbG9yOiM3ODgwOGMyZX0uc2Vzc2lvbi1raW5kLWJhZGdlLnN0cnVjdHVyZWR7Y29sb3I6I2QxOGI1MjtiYWNrZ3JvdW5kOiNkNzdhNTIxYTtib3JkZXItY29sb3I6I2Q3N2E1MjM4fS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWV7Y29sb3I6IzJmNmY1NDtiYWNrZ3JvdW5kOiM0ZjdhNTgxZjtib3JkZXItY29sb3I6IzRmN2E1ODM4fS5zZXNzaW9uLWtpbmQtZGlzcGxheXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjFweCA2cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiM4YTRiMjQ7YmFja2dyb3VuZDojZDc3YTUyMWY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIxNSwxMjIsODIsLjIpfS5zdHJ1Y3R1cmVkLXRvb2wtaGludHttYXJnaW46NHB4IDAgOHB4O3BhZGRpbmc6NnB4IDEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDojZDc3YTUyMTQ7Ym9yZGVyOjFweCBkYXNoZWQgcmdiYSgyMTUsMTIyLDgyLC4xOCl9LmJsYW5rLWNoYXR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXg6MTtwYWRkaW5nOjIwcHggMTZweDttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6YXV0b30uYmxhbmstY2hhdC1pbm5lcnt3aWR0aDoxMDAlO21heC13aWR0aDo1NjBweDt0ZXh0LWFsaWduOmNlbnRlcn0uYmxhbmstY2hhdC1sb2dve3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNkNzdhNTIsI2E5NTEzMCk7Ym9yZGVyLXJhZGl1czoxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZjttYXJnaW46MCBhdXRvIDE0cHg7Ym94LXNoYWRvdzowIDRweCAxNnB4ICNjNTY1M2QzOH0uYmxhbmstY2hhdC10aXRsZXtmb250LXNpemU6MS4zNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWFyZ2luOjAgMCA2cHh9LmJsYW5rLWNoYXQtc3VidGl0bGV7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbjowIDAgMjBweH0uYmxhbmstY2hhdC10b29sc3tkaXNwbGF5OmZsZXg7Z2FwOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MTJweDtmbGV4LXdyYXA6d3JhcH0uYmxhbmstY2hhdC10b29sLWJ0bntwYWRkaW5nOjhweCAxNHB4O2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6I2ZmZmZmZmIzO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo1MDA7Zm9udC1mYW1pbHk6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttaW4taGVpZ2h0OjQwcHh9LmJsYW5rLWNoYXQtdG9vbC1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDRweCAxMnB4ICM1OTNhMjAxNH0uYmxhbmstY2hhdC10b29sLWJ0biAudG9vbC1pY29ue2ZvbnQtc2l6ZToxLjEyNXJlbX0uYmxhbmstY2hhdC1jd2Qtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjhweH0uYmxhbmstY2hhdC1jd2R7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BhZGRpbmc6NHB4IDhweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7dHJhbnNpdGlvbjpjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt1c2VyLXNlbGVjdDpub25lfS5ibGFuay1jaGF0LWN3ZDpob3Zlcntjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKX0uYmxhbmstY2hhdC1jd2QtaWNvbntmb250LXNpemU6LjgxMjVyZW19LmJsYW5rLWNoYXQtY3dkLXBhdGh7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTttYXgtd2lkdGg6MjgwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uYmxhbmstY2hhdC1jd2QtcGF0aDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjNweH0uYmxhbmstY2hhdC1jd2QtcGF0aDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOTY3NjU1NTI7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCl9LmJsYW5rLWNoYXQtY3dkOmhvdmVyIC5ibGFuay1jaGF0LWN3ZC1wYXRoe3Njcm9sbGJhci13aWR0aDp0aGlufS5ibGFuay1jaGF0LWN3ZDpob3ZlciAuYmxhbmstY2hhdC1jd2QtcGF0aDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjRweH0uYmxhbmstY2hhdC1jd2QtYXJyb3d7Zm9udC1zaXplOi42MjVyZW07b3BhY2l0eTouNjt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5jaGF0LW1vZGUtc2VsZWN0e2ZvbnQtZmFtaWx5OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTpub25lfS5jaGF0LW1vZGUtc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5ub3RpZmljYXRpb24tYnViYmxle3Bvc2l0aW9uOmZpeGVkO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7ei1pbmRleDoxMDAwMDttaW4td2lkdGg6MjIwcHg7bWF4LXdpZHRoOjMyMHB4O2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1sZyk7cGFkZGluZzo4cHggMTJweDthbmltYXRpb246bm90aWZpY2F0aW9uLXNsaWRlLWluIC4zcyBjdWJpYy1iZXppZXIoLjM0LDEuNTYsLjY0LDEpO3RyYW5zaXRpb246dG9wIC4yNXMgZWFzZSxvcGFjaXR5IC4yNXMgZWFzZX0ubm90aWZpY2F0aW9uLWJ1YmJsZS5zbGlkZS1vdXR7YW5pbWF0aW9uOm5vdGlmaWNhdGlvbi1zbGlkZS1vdXQgLjI1cyBlYXNlIGZvcndhcmRzO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSl9Lm5vdGlmaWNhdGlvbi1idWJibGUtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttYXJnaW4tYm90dG9tOjJweH0ubm90aWZpY2F0aW9uLWJ1YmJsZS1pY29ue3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2ZvbnQtc2l6ZToxMHB4fS5ub3RpZmljYXRpb24tYnViYmxlLWljb24uaW5mb3tiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZn0ubm90aWZpY2F0aW9uLWJ1YmJsZS1pY29uLndhcm5pbmd7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKTtjb2xvcjojZmZmfS5ub3RpZmljYXRpb24tYnViYmxlLWljb24uc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpO2NvbG9yOiNmZmZ9Lm5vdGlmaWNhdGlvbi1idWJibGUtdGl0bGV7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tZmctcHJpbWFyeSk7ZmxleDoxO21pbi13aWR0aDowfS5ub3RpZmljYXRpb24tYnViYmxlLWNsb3Nle2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtjb2xvcjp2YXIoLS1mZy1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTtwYWRkaW5nOjFweCAzcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2ZsZXgtc2hyaW5rOjB9Lm5vdGlmaWNhdGlvbi1idWJibGUtY2xvc2U6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3Zlcik7Y29sb3I6dmFyKC0tZmctcHJpbWFyeSl9Lm5vdGlmaWNhdGlvbi1idWJibGUtYm9keXtmb250LXNpemU6LjdyZW07Y29sb3I6dmFyKC0tZmctc2Vjb25kYXJ5KTtsaW5lLWhlaWdodDoxLjQ7bWFyZ2luLWJvdHRvbTowO21heC1oZWlnaHQ6NC4yZW07b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnN7bWFyZ2luLXRvcDo2cHg7ZGlzcGxheTpmbGV4O2dhcDo2cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9ue2ZvbnQtc2l6ZTouN3JlbTtwYWRkaW5nOjJweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2NvbG9yOnZhcigtLWZnLXByaW1hcnkpO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctaG92ZXIpfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uLnByaW1hcnl7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b24ucHJpbWFyeTpob3ZlcntmaWx0ZXI6YnJpZ2h0bmVzcygxLjEpfUBrZXlmcmFtZXMgbm90aWZpY2F0aW9uLXNsaWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoLTIwcHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgbm90aWZpY2F0aW9uLXNsaWRlLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoLTIwcHgpfX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbjpkaXNhYmxlZHtvcGFjaXR5Oi42O2N1cnNvcjpub3QtYWxsb3dlZDtmaWx0ZXI6bm9uZX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbi5zdWNjZXNze2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyl9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b24uc3VjY2Vzczpob3Zlcjpub3QoOmRpc2FibGVkKXtmaWx0ZXI6YnJpZ2h0bmVzcygxLjEpfS5ub3RpZmljYXRpb24tYnViYmxlLnVwZGF0ZS1jYXJke3dpZHRoOm1pbigzNjBweCxjYWxjKDEwMHZ3IC0gMjRweCkpO21heC13aWR0aDptaW4oMzYwcHgsY2FsYygxMDB2dyAtIDI0cHgpKTttaW4td2lkdGg6MDtwYWRkaW5nOjE0cHggMTRweCAxMnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgxMjAlIDEyMCUgYXQgMCUgMCUsdmFyKC0tYWNjZW50LW11dGVkKSAwJSx0cmFuc3BhcmVudCA1NSUpLGxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYmctZWxldmF0ZWQpIDAlLHZhcigtLWJnLXByaW1hcnkpIDEwMCUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteGwpLDAgMCAwIDFweCAjZmZmNiBpbnNldDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGV9LnVwZGF0ZS1jYXJkLXNoaW5le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMTVkZWcsdHJhbnNwYXJlbnQgMCUscmdiYSgyNTUsMjU1LDI1NSwuMTgpIDQ1JSxyZ2JhKDI1NSwyNTUsMjU1LC4zMikgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE4KSA1NSUsdHJhbnNwYXJlbnQgMTAwJSk7YmFja2dyb3VuZC1zaXplOjIyMCUgMTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEyMCUgMDttaXgtYmxlbmQtbW9kZTpvdmVybGF5O29wYWNpdHk6LjY1O2FuaW1hdGlvbjp1cGRhdGUtY2FyZC1zaGluZSA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTt6LWluZGV4OjB9QGtleWZyYW1lcyB1cGRhdGUtY2FyZC1zaGluZXswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEyMCUgMH01NSV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjAlIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMjAlIDB9fS51cGRhdGUtY2FyZC5pcy1zdWNjZXNze2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KDEyMCUgMTIwJSBhdCAwJSAwJSx2YXIoLS1zdWNjZXNzLW11dGVkKSAwJSx0cmFuc3BhcmVudCA1NSUpLGxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYmctZWxldmF0ZWQpIDAlLHZhcigtLWJnLXByaW1hcnkpIDEwMCUpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy14bCksMCAwIDAgMXB4ICNmZmY2IGluc2V0LHZhcigtLXNoYWRvdy1nbG93LXN1Y2Nlc3MpfS51cGRhdGUtY2FyZC1oZWFkZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMHB4fS51cGRhdGUtY2FyZC1pY29ue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7ZmxleC1zaHJpbms6MDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWFjY2VudCkgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTtib3gtc2hhZG93OjAgNHB4IDEycHggdmFyKC0tYWNjZW50LWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY1OX0udXBkYXRlLWNhcmQuaXMtc3VjY2VzcyAudXBkYXRlLWNhcmQtaWNvbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tc3VjY2VzcykgMCUsdmFyKC0tc3VjY2Vzcy1ob3ZlcikgMTAwJSk7Ym94LXNoYWRvdzowIDRweCAxMnB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjU5fS51cGRhdGUtY2FyZC1oZWFkaW5ne2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9LnVwZGF0ZS1jYXJkLXRpdGxle2ZvbnQtc2l6ZTouODhyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LjAxZW07bGluZS1oZWlnaHQ6MS4yNX0udXBkYXRlLWNhcmQtc3VidGl0bGV7Zm9udC1zaXplOi43MnJlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtsaW5lLWhlaWdodDoxLjM1fS51cGRhdGUtY2FyZC1jbG9zZXtmbGV4LXNocmluazowO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxjb2xvciAuMTVzfS51cGRhdGUtY2FyZC1jbG9zZTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS51cGRhdGUtY2FyZC12ZXJzaW9ue3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW46MTJweCAwIDEwcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZsZXgtd3JhcDpub3dyYXB9LnVwZGF0ZS1jYXJkLXZlcnNpb24tY2hpcHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8sIHVpLW1vbm9zcGFjZSwgIlNGIE1vbm8iLCBNZW5sbywgQ29uc29sYXMsIG1vbm9zcGFjZSk7Zm9udC1zaXplOi43NHJlbTtmb250LXdlaWdodDo2MDA7cGFkZGluZzozcHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO3doaXRlLXNwYWNlOm5vd3JhcH0udXBkYXRlLWNhcmQtdmVyc2lvbi1jdXJyZW50e2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpfS51cGRhdGUtY2FyZC12ZXJzaW9uLWxhdGVzdHtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMXB4IDZweCB2YXIoLS1hY2NlbnQtZ2xvdyl9LnVwZGF0ZS1jYXJkLmlzLXN1Y2Nlc3MgLnVwZGF0ZS1jYXJkLXZlcnNpb24tbGF0ZXN0e2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpO2JveC1zaGFkb3c6MCAxcHggNnB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyl9LnVwZGF0ZS1jYXJkLXZlcnNpb24tYXJyb3d7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7ZmxleC1zaHJpbms6MH0udXBkYXRlLWNhcmQtcHJvZ3Jlc3N7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjttYXJnaW46MDt0cmFuc2l0aW9uOmhlaWdodCAuMjVzIGVhc2UsbWFyZ2luIC4yNXMgZWFzZX0udXBkYXRlLWNhcmQtcHJvZ3Jlc3MuYWN0aXZle2hlaWdodDo2cHg7bWFyZ2luOjAgMCAxMHB4fS51cGRhdGUtY2FyZC1wcm9ncmVzcy10cmFja3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO292ZXJmbG93OmhpZGRlbn0udXBkYXRlLWNhcmQtcHJvZ3Jlc3MtZmlsbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0Oi00MCU7d2lkdGg6NDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLWFjY2VudCkgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTtib3gtc2hhZG93OjAgMCAxMHB4IHZhcigtLWFjY2VudC1nbG93KTthbmltYXRpb246dXBkYXRlLWNhcmQtcHJvZ3Jlc3Mtc3dlZXAgMS40cyBjdWJpYy1iZXppZXIoLjY1LC4wNSwuMzUsMSkgaW5maW5pdGV9QGtleWZyYW1lcyB1cGRhdGUtY2FyZC1wcm9ncmVzcy1zd2VlcHswJXtsZWZ0Oi00NSU7d2lkdGg6NDAlfTUwJXtsZWZ0OjI1JTt3aWR0aDo1NSV9dG97bGVmdDoxMDUlO3dpZHRoOjQwJX19LnVwZGF0ZS1jYXJkLXN0YXR1c3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7Zm9udC1zaXplOi43MnJlbTtsaW5lLWhlaWdodDoxLjQ7cGFkZGluZzo2cHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7bWFyZ2luLWJvdHRvbToxMHB4O2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpfS51cGRhdGUtY2FyZC1zdGF0dXMuZXJyb3J7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcik7Ym9yZGVyLWNvbG9yOnZhcigtLWRhbmdlcil9LnVwZGF0ZS1jYXJkLXN0YXR1cy5zdWNjZXNze2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfS51cGRhdGUtY2FyZC1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2dhcDo4cHh9LnVwZGF0ZS1jYXJkLWFjdGlvbntmb250LXNpemU6Ljc4cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjdweCAxNnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjEycyBlYXNlLGZpbHRlciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMTVzIGVhc2V9LnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgNHB4IDEycHggdmFyKC0tYWNjZW50LWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY0MH0udXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KDpkaXNhYmxlZCl7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDZweCAxNnB4IHZhcigtLWFjY2VudC1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNGR9LnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoOmRpc2FibGVkKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtmaWx0ZXI6YnJpZ2h0bmVzcyguOTYpfS51cGRhdGUtY2FyZC1hY3Rpb246ZGlzYWJsZWR7b3BhY2l0eTouNztjdXJzb3I6cHJvZ3Jlc3M7ZmlsdGVyOm5vbmU7dHJhbnNmb3JtOm5vbmV9LnVwZGF0ZS1jYXJkLmlzLXN1Y2Nlc3MgLnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1zdWNjZXNzKSAwJSx2YXIoLS1zdWNjZXNzLWhvdmVyKSAxMDAlKTtib3gtc2hhZG93OjAgNHB4IDEycHggdmFyKC0tc3VjY2Vzcy1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNDB9LnVwZGF0ZS1jYXJkLmlzLXN1Y2Nlc3MgLnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JveC1zaGFkb3c6MCA2cHggMTZweCB2YXIoLS1zdWNjZXNzLWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY0ZH0uZW1wdHktc3RhdGUtY29tcGFjdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3BhZGRpbmc6MzJweCAxNnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODEyNXJlbX0uZW1wdHktc3RhdGUtY29tcGFjdCAuZW1wdHktaWNvbntmb250LXNpemU6MS41cmVtO29wYWNpdHk6LjV9LnN3aXRjaC1jYXJkLWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweH0uc3dpdGNoLWNhcmR7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOiNmZmZmZmY4MDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MTRweCAxNnB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4ycyxiYWNrZ3JvdW5kIC4ycyx0cmFuc2Zvcm0gLjJzO3VzZXItc2VsZWN0Om5vbmV9LnN3aXRjaC1jYXJkOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0uc3dpdGNoLWNhcmQtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHh9LnN3aXRjaC1jYXJkLXRpdGxle2ZsZXg6MTtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnN3aXRjaC1jYXJkLWRlc2N7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTttYXJnaW4tdG9wOjA7bWF4LWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4yNXMgZWFzZSxvcGFjaXR5IC4ycyBlYXNlLG1hcmdpbi10b3AgLjI1cyBlYXNlfS5zd2l0Y2gtY2FyZDpoYXMoLnN3aXRjaC10b2dnbGU6Y2hlY2tlZCkgLnN3aXRjaC1jYXJkLWRlc2N7bWF4LWhlaWdodDo0MHB4O29wYWNpdHk6MTttYXJnaW4tdG9wOjhweH0uc3dpdGNoLWNhcmQ6aGFzKC5zd2l0Y2gtdG9nZ2xlOmNoZWNrZWQpe2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWNjZW50KSA2JSx2YXIoLS1iZy1zZWNvbmRhcnkpKX0uc3dpdGNoLXRvZ2dsZXtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7d2lkdGg6MDtoZWlnaHQ6MDtwb2ludGVyLWV2ZW50czpub25lfS5zd2l0Y2gtc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ0cHg7aGVpZ2h0OjI2cHg7bWluLXdpZHRoOjQ0cHg7Ym9yZGVyLXJhZGl1czoxM3B4O2JhY2tncm91bmQ6IzdkNWIzOTM4O2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4ICM3ZDViMzkyZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjIycyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlO2N1cnNvcjpwb2ludGVyfS5zd2l0Y2gtc2xpZGVyOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtsZWZ0OjJweDt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMnB4IDRweCAjMTQwZTA4MmUsMCAwIDAgLjVweCAjN2Q1YjM5MGY7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI0cyBjdWJpYy1iZXppZXIoLjM0LDEuNCwuNjQsMSl9LnN3aXRjaC10b2dnbGU6Y2hlY2tlZCsuc3dpdGNoLXNsaWRlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggIzAwMDAwMDFhfS5zd2l0Y2gtdG9nZ2xlOmNoZWNrZWQrLnN3aXRjaC1zbGlkZXI6YWZ0ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxOHB4KX0uc3dpdGNoLXRvZ2dsZTpmb2N1cy12aXNpYmxlKy5zd2l0Y2gtc2xpZGVye291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5wcmVzZXQtaXRlbXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O2JhY2tncm91bmQ6I2ZmZmZmZjg1O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbi1ib3R0b206MTBweDtmb250LXNpemU6LjgxMjVyZW19LnByZXNldC1sYWJlbHtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0ucHJlc2V0LWRldGFpbHttaW4td2lkdGg6MDt0ZXh0LWFsaWduOnJpZ2h0O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07d29yZC1icmVhazpicmVhay13b3JkfUBtZWRpYShtYXgtd2lkdGg6NjQwcHgpey5wcmVzZXQtaXRlbXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ucHJlc2V0LWRldGFpbHt0ZXh0LWFsaWduOmxlZnR9fS50cmVlLWl0ZW1bZGF0YS10eXBlPWZpbGVde2N1cnNvcjpwb2ludGVyfS50cmVlLWl0ZW1bZGF0YS10eXBlPWZpbGVdOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctaG92ZXIpfS50cmVlLWl0ZW1bZGF0YS10eXBlPWZpbGVdOmhvdmVyIC50cmVlLW5hbWV7Y29sb3I6dmFyKC0tYWNjZW50KX0uZmlsZS1leHBsb3Jlci11cHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2ZsZXgtc2hyaW5rOjB9LmZpbGUtZXhwbG9yZXItdXA6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLXN1YnRsZSl9LmZpbGUtZXhwbG9yZXItdXA6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfS50cmVlLW1ldGF7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nLWxlZnQ6NnB4O21heC13aWR0aDo3MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvcGFjaXR5Oi44NX0udHJlZS1pdGVtOmhvdmVyIC50cmVlLW1ldGF7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS50cmVlLXRydW5jYXRlZHtwYWRkaW5nOjhweCAxNHB4O21hcmdpbjo0cHggNnB4IDhweDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2JvcmRlcjoxcHggZGFzaGVkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo2cHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmZpbGUtY29udGV4dC1tZW51e3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTEwMDttaW4td2lkdGg6MjAwcHg7cGFkZGluZzo0cHg7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMHB4O2JveC1zaGFkb3c6MCAxMnB4IDM2cHggIzAwMDAwMDJlO2FuaW1hdGlvbjpjdHgtZmFkZS1pbiAuMTJzIGVhc2V9QGtleWZyYW1lcyBjdHgtZmFkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjk4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSl9fS5maWxlLWNvbnRleHQtbWVudS1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7d2lkdGg6MTAwJTtwYWRkaW5nOjhweCAxMnB4O2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXNpemU6LjgxMjVyZW07dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6NnB4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzfS5maWxlLWNvbnRleHQtbWVudS1pdGVtOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpfS5maWxlLWNvbnRleHQtbWVudS1pdGVtIC5jdHgtaWNvbnt3aWR0aDoxOHB4O3RleHQtYWxpZ246Y2VudGVyO29wYWNpdHk6Ljg1fS53YW5kLWljb257ZmxleC1zaHJpbms6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnRyZWUtaXRlbXt0cmFuc2l0aW9uOmFsbCAuMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnRyZWUtaXRlbTpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlKDRweCl9LnRyZWUtaXRlbTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgycHgpIHNjYWxlKC45OSl9LmZpbGUtc2lkZS1wYW5lbHt0cmFuc2l0aW9uOnJpZ2h0IC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksYm94LXNoYWRvdyAuMzVzIGVhc2V9LmZpbGUtc2lkZS1wYW5lbC5vcGVue2JveC1zaGFkb3c6LThweCAwIDMycHggIzU5M2EyMDFmfS5zcGlubmVye2FuaW1hdGlvbjpzcGluIDFzIGxpbmVhciBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIGZsb2F0ezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KX19LmZsb2F0e2FuaW1hdGlvbjpmbG9hdCAzcyBlYXNlLWluLW91dCBpbmZpbml0ZX0uY2hhdC1tZXNzYWdlLWJ1YmJsZXstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0ubXNnLWNvcHktYnRue2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTMycHg7cmlnaHQ6NHB4O3BhZGRpbmc6NHB4IDEwcHg7Zm9udC1zaXplOi43NXJlbTtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1kKTtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt6LWluZGV4OjEwO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn0ubXNnLWNvcHktYnRuLnZpc2libGV7ZGlzcGxheTpibG9ja30ubXNnLWNvcHktYnRuLmNvcGllZHtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKX0uY2hhdC1tZXNzYWdle3Bvc2l0aW9uOnJlbGF0aXZlfS50ZXJtaW5hbC1qdW1wLWJvdHRvbXt6LWluZGV4OjIwfS5pbnB1dC1jb21wb3Nlci5pbi1mbGlnaHR7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1kZWZhdWx0KTtib3gtc2hhZG93Omluc2V0IDAgMnB4IHJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuMzQpfS5pbnB1dC1jb21wb3Nlci5pbi1mbGlnaHQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWFjY2VudC1tdXRlZCksaW5zZXQgMCAycHggcmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC4zNCl9LmlucHV0LWNvbXBvc2VyLmluLWZsaWdodDpiZWZvcmUsLmlucHV0LWNvbXBvc2VyLmluLWZsaWdodDphZnRlcntjb250ZW50Om5vbmV9LnN0cnVjdHVyZWQtc3RhdHVzLWJhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6NXB4O21hcmdpbjowIDAgMCBhdXRvO3BhZGRpbmc6NHB4IDhweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2UsY29sb3IgLjNzIGVhc2U7b3ZlcmZsb3c6aGlkZGVuO2ZsZXgtc2hyaW5rOjB9LnN0cnVjdHVyZWQtc3RhdHVzLWJhciAuc3RhdHVzLWJhci1kb3R7d2lkdGg6NXB4O2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjgpO2FuaW1hdGlvbjpzdGF0dXNEb3RQdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO2ZsZXgtc2hyaW5rOjB9QGtleWZyYW1lcyBzdGF0dXNEb3RQdWxzZXswJSx0b3tvcGFjaXR5Oi40O3RyYW5zZm9ybTpzY2FsZSguOSl9NTAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMS4xKX19LnN0cnVjdHVyZWQtc3RhdHVzLWJhciAuc3RhdHVzLWJhci1sYWJlbHtmbGV4LXNocmluazowO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjYyNXJlbX0uc3RydWN0dXJlZC1zdGF0dXMtYmFyIC5zdGF0dXMtYmFyLXRpbWVye2ZsZXgtc2hyaW5rOjA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnN0cnVjdHVyZWQtc3RhdHVzLWJhci5jb21wbGV0ZWR7YW5pbWF0aW9uOnN0YXR1c0JhckZhZGVPdXQgMnMgZWFzZS1vdXQgMXMgZm9yd2FyZHN9LnN0cnVjdHVyZWQtc3RhdHVzLWJhci5jb21wbGV0ZWQgLnN0YXR1cy1iYXItbGFiZWx7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9QGtleWZyYW1lcyBzdGF0dXNCYXJGYWRlT3V0ezAle29wYWNpdHk6MTttYXgtaGVpZ2h0OjIwcHh9NzAle29wYWNpdHk6MDttYXgtaGVpZ2h0OjIwcHh9dG97b3BhY2l0eTowO21heC1oZWlnaHQ6MDttYXJnaW46MH19LmNyb3NzLXNlc3Npb24tcXVldWV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21hcmdpbjowIDhweCA0cHh9LnF1ZXVlLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7cGFkZGluZzowIDRweDtmb250LXNpemU6LjZyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnF1ZXVlLWhlYWRlci1sYWJlbHtmbGV4OjE7b3BhY2l0eTouNn0ucXVldWUtaGVhZGVyLWNsZWFye2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi41NjI1cmVtO3BhZGRpbmc6MXB4IDRweDtib3JkZXItcmFkaXVzOjNweDtvcGFjaXR5Oi41O3RyYW5zaXRpb246Y29sb3IgLjE1cyxiYWNrZ3JvdW5kIC4xNXMsb3BhY2l0eSAuMTVzfS5xdWV1ZS1oZWFkZXItY2xlYXI6aG92ZXJ7Y29sb3I6dmFyKC0tZXJyb3IsICNlNTUpO2JhY2tncm91bmQ6I2U1NTU1NTFmO29wYWNpdHk6MX0ucXVldWUtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo0cHggOHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi43O3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2V9LnF1ZXVlLWl0ZW06aG92ZXJ7b3BhY2l0eToxfS5xdWV1ZS1pdGVtLWRvdHtmbGV4LXNocmluazowO3dpZHRoOjRweDtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC42KTthbmltYXRpb246c3RhdHVzRG90UHVsc2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZX0ucXVldWUtaXRlbS10ZXh0e2ZsZXg6MTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5xdWV1ZS1pdGVtLWFnZXtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNTYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7b3BhY2l0eTouNX0ucXVldWUtaXRlbS1zZW5kLW5vd3tmbGV4LXNocmluazowO2JvcmRlcjoxcHggc29saWQgcmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC4zKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLWFjY2VudCwgI2M1NjUzZCk7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoxcHggOHB4O2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZTouNnJlbTtsaW5lLWhlaWdodDoxLjQ7dHJhbnNpdGlvbjpjb2xvciAuMTVzLGJhY2tncm91bmQgLjE1cyxib3JkZXItY29sb3IgLjE1c30ucXVldWUtaXRlbS1zZW5kLW5vdzpob3Zlcntjb2xvcjp2YXIoLS1hY2NlbnQsICNjNTY1M2QpO2JhY2tncm91bmQ6cmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC4xMik7Ym9yZGVyLWNvbG9yOnJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuNSl9LnF1ZXVlLWl0ZW0tY2FuY2Vse2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjFweCA0cHg7Ym9yZGVyLXJhZGl1czozcHg7Zm9udC1zaXplOi42ODc1cmVtO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNDt0cmFuc2l0aW9uOmNvbG9yIC4xNXMsYmFja2dyb3VuZCAuMTVzLG9wYWNpdHkgLjE1c30ucXVldWUtaXRlbS1jYW5jZWw6aG92ZXJ7Y29sb3I6dmFyKC0tZXJyb3IsICNlNTUpO2JhY2tncm91bmQ6I2U1NTU1NTFmO29wYWNpdHk6MX0udG9wYmFyLWdpdC1zbG90e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS50b3BiYXItZ2l0LXNsb3Q6ZW1wdHl7ZGlzcGxheTpub25lfS50b3BiYXItZ2l0LWJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7bGluZS1oZWlnaHQ6MX0udG9wYmFyLWdpdC1iYWRnZTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmY4MDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS50b3BiYXItZ2l0LWJhZGdlOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk2KX0udG9wYmFyLWdpdC1pY29ue2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTouODV9LnRvcGJhci1naXQtYnJhbmNoe2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTtmb250LXdlaWdodDo2MDA7bWF4LXdpZHRoOjEyZW07b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnRvcGJhci1naXQtY291bnR7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXdlaWdodDo3MDA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpfS50b3BiYXItZ2l0LWNsZWFue2NvbG9yOiMzY2EwNWFkOTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi43OHJlbX1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsudG9wYmFyLWdpdC1icmFuY2h7bWF4LXdpZHRoOjhlbX0udG9wYmFyLWdpdC1iYWRnZXtwYWRkaW5nOjAgOHB4O2ZvbnQtc2l6ZTouN3JlbX19LmJ0bi13aXRoLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0uYnRuLXdpdGgtaWNvbj5zdmd7ZmxleC1zaHJpbms6MH0uY29tcG9zZXItcGlsbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOi0ycHh9LmNvbXBvc2VyLXBpbGwtbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGV0dGVyLXNwYWNpbmc6LjAyZW19LmJsYW5rLWNoYXQtdG9vbC1idG4gLnRvb2wtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Zm9udC1zaXplOjEuMTI1cmVtfS5ibGFuay1jaGF0LXRvb2wtYnRuIC50b29sLWljb24+c3Zne2Rpc3BsYXk6YmxvY2t9LmJsYW5rLWNoYXQtdG9vbC1idG4gLnRvb2wtaWNvbi10ZXh0e3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxfS5ibGFuay1jaGF0LWN3ZC1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MH0uYmxhbmstY2hhdC1jd2QtaWNvbj5zdmd7ZGlzcGxheTpibG9ja30uYmxhbmstY2hhdC1jd2QtYXJyb3d7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MDtsaW5lLWhlaWdodDowO3RyYW5zaXRpb246dHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmJsYW5rLWNoYXQtY3dkLWFycm93PnN2Z3tkaXNwbGF5OmJsb2NrfS5hcHByb3ZhbC1zdGF0cy1yb3ctaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MH0uYXBwcm92YWwtc3RhdHMtcm93LWljb24+c3Zne2Rpc3BsYXk6YmxvY2t9LmF0dGFjaG1lbnQtcGlsbCAuYXR0LWljb24+c3Zne2Rpc3BsYXk6YmxvY2t9LndhbmQtam95c3RpY2stcm9vdHtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjQwO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZX0ud2FuZC1qb3lzdGljay1yb290LnZpc2libGV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZX0ud2FuZC1qb3lzdGljay1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn0ud2FuZC1qb3lzdGljay1iYWNrZHJvcC5hY3RpdmV7dmlzaWJpbGl0eTp2aXNpYmxlO3BvaW50ZXItZXZlbnRzOmF1dG99LndhbmQtam95c3RpY2stYmFsbHtwb3NpdGlvbjpmaXhlZDtyaWdodDoxOHB4O2JvdHRvbTo5NnB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmNWViZTFmMDtiYWNrZ3JvdW5kOiMyMzFjMThkYjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjQ1LDIzNSwyMjUsLjE4KTtib3gtc2hhZG93OjAgOHB4IDIycHggIzAwMDAwMDRkLGluc2V0IDAgMXB4ICNmZmZmZmYxNDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpO3BvaW50ZXItZXZlbnRzOmF1dG87dG91Y2gtYWN0aW9uOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3otaW5kZXg6NDM7Y3Vyc29yOmdyYWI7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlLXNwcmluZyksYmFja2dyb3VuZCAuMnMgZWFzZSxib3JkZXItY29sb3IgLjJzIGVhc2UsYm94LXNoYWRvdyAuMnMgZWFzZX0ud2FuZC1qb3lzdGljay1sb2dve3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ud2FuZC1qb3lzdGljay1iYWxsOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JvcmRlci1jb2xvcjojZjVlYmUxNGQ7YmFja2dyb3VuZDojMmIyMjFkZTY7Ym94LXNoYWRvdzowIDEwcHggMjZweCAjMDAwMDAwNTcsaW5zZXQgMCAxcHggI2ZmZmZmZjFhfS53YW5kLWpveXN0aWNrLWJhbGw6YWN0aXZlLC53YW5kLWpveXN0aWNrLWJhbGwucGFuZWwtb3BlbntiYWNrZ3JvdW5kOiMxZDE3MTRmMH0ud2FuZC1qb3lzdGljay1iYWxsLmRyYWdnaW5ne3RyYW5zZm9ybTpzY2FsZSgxLjEyKTtjdXJzb3I6Z3JhYmJpbmc7Ym94LXNoYWRvdzowIDEwcHggMjhweCAjMDAwMDAwNWN9LndhbmQtam95c3RpY2stcGFuZWx7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MThweDtib3R0b206MTYwcHg7ei1pbmRleDo0NDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiMxZDE3MTRmNTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjQ1LDIzNSwyMjUsLjEyKTtib3gtc2hhZG93OjAgMTRweCAzNHB4ICMwMDAwMDA1NyxpbnNldCAwIDFweCAjZmZmZmZmMGY7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpIHNjYWxlKC45Nik7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gcmlnaHQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHMgdmFyKC0tZWFzZS1vdXQtZXhwbyksdHJhbnNmb3JtIC4yMnMgdmFyKC0tZWFzZS1zcHJpbmcpLHZpc2liaWxpdHkgMHMgbGluZWFyIC4xOHM7d2lkdGg6bWluKDIyNHB4LGNhbGMoMTAwdncgLSAzNnB4KSk7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAzNnB4KX0ud2FuZC1qb3lzdGljay1wYW5lbC5hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0bztvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpO3RyYW5zaXRpb24tZGVsYXk6MHN9LndqcC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTBweDttaW4taGVpZ2h0OjI0cHh9LndqcC10aXRsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZvbnQtc2l6ZTouNzZyZW07bGV0dGVyLXNwYWNpbmc6MDtjb2xvcjojZjVlYmUxYzc7Zm9udC13ZWlnaHQ6NjAwfS53anAtdGl0bGUtaWNvbntjb2xvcjojZjVlYmUxYjh9LndqcC1jbG9zZXt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNDUsMjM1LDIyNSwuMTIpO2JhY2tncm91bmQ6I2ZmZmZmZjBkO2NvbG9yOiNmNWViZTFiODtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE0cyBlYXNlLGNvbG9yIC4xNHMgZWFzZSx0cmFuc2Zvcm0gLjE0cyBlYXNlfS53anAtY2xvc2U6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmMWE7Y29sb3I6I2Y1ZWJlMWYyfS53anAtY2xvc2U6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTQpfS53anAtZHBhZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4fS53anAtZHBhZC1yb3d7ZGlzcGxheTpmbGV4O2dhcDo1cHh9LndqcC1ncmlke2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6NXB4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9LndqcC1mbmtleXN7bWF4LXdpZHRoOjIwMHB4fS53anAta2V5e21pbi13aWR0aDo0NHB4O2hlaWdodDozOHB4O3BhZGRpbmc6MCA4cHg7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1zaXplOi43NnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2Y1ZWJlMWQ2O2JhY2tncm91bmQ6I2ZmZmZmZjBiO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNDUsMjM1LDIyNSwuMTEpO2N1cnNvcjpwb2ludGVyO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2UsYmFja2dyb3VuZCAuMTVzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2V9LndqcC1rZXk6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmMTQ7Ym9yZGVyLWNvbG9yOiNmNWViZTEzMztjb2xvcjojZjVlYmUxZjJ9LndqcC1rZXk6YWN0aXZle2JhY2tncm91bmQ6I2ZmZmZmZjFmO3RyYW5zZm9ybTpzY2FsZSguOTYpfS53anAta2V5LndqcC1tb2QuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5zZXNzaW9uLWl0ZW0tcm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjhweDttaW4taGVpZ2h0OjQwcHg7d2lkdGg6MTAwJX0uc2Vzc2lvbi1pdGVtLXJvdzpoYXMoPi5zZXNzaW9uLW1hbmFnZS1jaGVjayl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjI0cHggbWlubWF4KDAsMWZyKSBhdXRvfS5zZXNzaW9uLWl0ZW0tcm93Pi5zZXNzaW9uLW1hbmFnZS1jaGVja3tncmlkLWNvbHVtbjoxO2p1c3RpZnktc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW4tcmlnaHQ6MH0uc2Vzc2lvbi1pdGVtLXJvdz4uc2Vzc2lvbi1tYWlue2dyaWQtY29sdW1uOjE7bWluLXdpZHRoOjA7cGFkZGluZy1yaWdodDowfS5zZXNzaW9uLWl0ZW0tcm93Omhhcyg+LnNlc3Npb24tbWFuYWdlLWNoZWNrKT4uc2Vzc2lvbi1tYWlue2dyaWQtY29sdW1uOjJ9LnNlc3Npb24taXRlbS1yb3c+LnNlc3Npb24tYWN0aW9uc3tncmlkLWNvbHVtbjoyO3Bvc2l0aW9uOnN0YXRpYzt0cmFuc2Zvcm06bm9uZTtqdXN0aWZ5LXNlbGY6ZW5kO2FsaWduLXNlbGY6Y2VudGVyO21pbi13aWR0aDptYXgtY29udGVudDttaW4taGVpZ2h0OjMycHh9LnNlc3Npb24taXRlbS1yb3c6aGFzKD4uc2Vzc2lvbi1tYW5hZ2UtY2hlY2spPi5zZXNzaW9uLWFjdGlvbnN7Z3JpZC1jb2x1bW46M30uc2Vzc2lvbi1hY3Rpb25zOmVtcHR5e2Rpc3BsYXk6bm9uZX0uc2Vzc2lvbi10aXRsZS1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6YmFzZWxpbmU7Y29sdW1uLWdhcDo4cHg7bWluLXdpZHRoOjB9LnNlc3Npb24tbWFpbntnYXA6NHB4fS5zZXNzaW9uLWNvbW1hbmQsLnNlc3Npb24tdGl0bGUsLmNsYXVkZS1oaXN0b3J5LXByZXZpZXd7bGluZS1oZWlnaHQ6MS4zNX0uc2Vzc2lvbi1tZXRhe21pbi13aWR0aDowO2dhcDo2cHg7ZmxleC13cmFwOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59LnNlc3Npb24tbWV0YT5zcGFue21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc2Vzc2lvbi1zdGF0dXMsLnNlc3Npb24taWQsLnNlc3Npb24ta2luZC1iYWRnZSwuc2Vzc2lvbi1yZWNvdmVyeS1oaW50e2ZsZXg6MCAwIGF1dG99LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDozMnB4O2hlaWdodDozMnB4O21pbi13aWR0aDozMnB4O21pbi1oZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjlweH0uc2Vzc2lvbi1tYW5hZ2UtYmFye21pbi1oZWlnaHQ6MzhweH0uc2Vzc2lvbi1tYW5hZ2UtYWN0aW9ucyAuYnRuLC5zZXNzaW9uLW1hbmFnZS10b2dnbGV7bWluLWhlaWdodDozMnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uZmlsZS10cmVley0tdHJlZS1tZXRhLXdpZHRoOiA1NnB4Oy0tdHJlZS1zdGF0dXMtd2lkdGg6IDIycHh9LnRyZWUtaXRlbXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjE4cHggMjBweCBtaW5tYXgoMCwxZnIpIG1pbm1heCgwLHZhcigtLXRyZWUtbWV0YS13aWR0aCkpIHZhcigtLXRyZWUtc3RhdHVzLXdpZHRoKTthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo2cHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6NHB4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50cmVlLWl0ZW06aG92ZXIsLnRyZWUtaXRlbTphY3RpdmV7dHJhbnNmb3JtOm5vbmV9LnRyZWUtdG9nZ2xle2dyaWQtY29sdW1uOjE7d2lkdGg6MThweDtoZWlnaHQ6MThweH0udHJlZS1pY29ue2dyaWQtY29sdW1uOjI7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tcmlnaHQ6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjF9LnRyZWUtbmFtZXtncmlkLWNvbHVtbjozO21pbi13aWR0aDowfS50cmVlLW1ldGF7Z3JpZC1jb2x1bW46NDtqdXN0aWZ5LXNlbGY6ZW5kO21heC13aWR0aDpub25lO21hcmdpbi1sZWZ0OjA7cGFkZGluZy1sZWZ0OjA7dGV4dC1hbGlnbjpyaWdodH0uZ2l0LXN0YXR1cy1iYWRnZXtncmlkLWNvbHVtbjo1O2p1c3RpZnktc2VsZjplbmQ7d2lkdGg6MjBweDttaW4td2lkdGg6MjBweDtoZWlnaHQ6MjBweDtwYWRkaW5nOjA7bGluZS1oZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnRyZWUtY2hpbGRyZW4ub3BlbnttYXJnaW4tbGVmdDoxM3B4O3BhZGRpbmctbGVmdDo1cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOSl9LnRvb2wtdXNlLWhlYWRlcntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjI0cHggbWlubWF4KDdjaCxtYXgtY29udGVudCkgbWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjEwcHg7bWluLWhlaWdodDo0MnB4fS50b29sLXVzZS1pY29ue2dyaWQtY29sdW1uOjE7d2lkdGg6MjJweDttaW4td2lkdGg6MjJweH0udG9vbC11c2UtbmFtZXtncmlkLWNvbHVtbjoyO21heC13aWR0aDoxODBweH0udG9vbC11c2UtZmlsZSwudG9vbC11c2Utc3VtbWFyeXtncmlkLWNvbHVtbjozO21heC13aWR0aDpub25lO21pbi13aWR0aDowfS50b29sLXVzZS10b2dnbGV7Z3JpZC1jb2x1bW46NDtqdXN0aWZ5LXNlbGY6ZW5kO21hcmdpbi1sZWZ0OjB9LmRpZmYtaGVhZGVye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDdjaCxtYXgtY29udGVudCkgbWlubWF4KDAsMWZyKSBhdXRvIGF1dG8gYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDoxMHB4O21pbi1oZWlnaHQ6NDJweH0uZGlmZi1maWxlLWljb257ZGlzcGxheTpub25lfS5kaWZmLWZpbGUtbmFtZXtncmlkLWNvbHVtbjoxO21heC13aWR0aDoxODBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmRpZmYtcGF0aHtncmlkLWNvbHVtbjoyO21pbi13aWR0aDowO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LmRpZmYtc3RhdHVze2dyaWQtY29sdW1uOjM7d2hpdGUtc3BhY2U6bm93cmFwfS5kaWZmLW9wZW4tZmlsZXtncmlkLWNvbHVtbjo0O21pbi1oZWlnaHQ6MjhweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0uZGlmZi10b2dnbGV7Z3JpZC1jb2x1bW46NTtqdXN0aWZ5LXNlbGY6ZW5kO21hcmdpbi1sZWZ0OjB9LnN3aXRjaC1jYXJkLWhlYWRlcntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDoxNHB4fS5zd2l0Y2gtY2FyZC10aXRsZSwuc3dpdGNoLWNhcmQtZGVzY3ttaW4td2lkdGg6MH0uc3dpdGNoLXNsaWRlcntqdXN0aWZ5LXNlbGY6ZW5kfS5wcmVzZXQtaXRlbXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgxMGNoLG1heC1jb250ZW50KSBtaW5tYXgoMCwxZnIpO2FsaWduLWl0ZW1zOnN0YXJ0O2NvbHVtbi1nYXA6MTRweH0ucHJlc2V0LWRldGFpbHttaW4td2lkdGg6MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3RleHQtYWxpZ246cmlnaHR9LmVudi1wcmV2aWV3LXRvb2xiYXJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4fS5lbnYtcHJldmlldy1jb250cm9sc3ttaW4td2lkdGg6MDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmVudi1wcmV2aWV3LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDEwcmVtLC40MmZyKSBtaW5tYXgoMCwxZnIpIG1heC1jb250ZW50O2FsaWduLWl0ZW1zOmNlbnRlcn0uZW52LXByZXZpZXctbmFtZXttaW4td2lkdGg6MH0uZW52LXByZXZpZXctbGVue2p1c3RpZnktc2VsZjplbmR9LnF1ZXVlLWl0ZW17ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczo4cHggbWlubWF4KDAsMWZyKSBtYXgtY29udGVudCBtYXgtY29udGVudCBtYXgtY29udGVudDthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo2cHg7bWluLWhlaWdodDoyOHB4fS5xdWV1ZS1pdGVtLWRvdCwucXVldWUtaXRlbS1hZ2UsLnF1ZXVlLWl0ZW0tc2VuZC1ub3csLnF1ZXVlLWl0ZW0tY2FuY2Vse2p1c3RpZnktc2VsZjplbmR9QG1lZGlhKHBvaW50ZXI6Y29hcnNlKSwobWF4LXdpZHRoOjc2OHB4KXsuc2Vzc2lvbi1pdGVtLXJvd3ttaW4taGVpZ2h0OjQ0cHh9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O21pbi13aWR0aDo0NHB4O21pbi1oZWlnaHQ6NDRweH0udHJlZS1pdGVte2dyaWQtdGVtcGxhdGUtY29sdW1uczoyMHB4IDIycHggbWlubWF4KDAsMWZyKSBtaW5tYXgoMCw1NnB4KSAyNHB4O21pbi1oZWlnaHQ6NDRweDtwYWRkaW5nOjhweCAxMnB4fS5maWxlLWV4cGxvcmVyLXVwLC5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0biwuZGlmZi1vcGVuLWZpbGUsLnF1ZXVlLWl0ZW0tc2VuZC1ub3csLnF1ZXVlLWl0ZW0tY2FuY2Vse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn19QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnNlc3Npb24tdGl0bGUtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO3Jvdy1nYXA6MnB4fS5zZXNzaW9uLXRpbWV7anVzdGlmeS1zZWxmOnN0YXJ0fS50b29sLXVzZS1oZWFkZXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjI0cHggbWlubWF4KDAsMWZyKSBhdXRvfS50b29sLXVzZS1uYW1le2dyaWQtY29sdW1uOjI7bWF4LXdpZHRoOm5vbmV9LnRvb2wtdXNlLWZpbGUsLnRvb2wtdXNlLXN1bW1hcnl7Z3JpZC1jb2x1bW46MiAvIDR9LnRvb2wtdXNlLXRvZ2dsZXtncmlkLWNvbHVtbjozO2dyaWQtcm93OjF9LmRpZmYtaGVhZGVye2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGF1dG8gYXV0bztyb3ctZ2FwOjRweH0uZGlmZi1maWxlLW5hbWV7Z3JpZC1jb2x1bW46MTttYXgtd2lkdGg6bm9uZX0uZGlmZi1wYXRoe2dyaWQtY29sdW1uOjEgLyA0O2dyaWQtcm93OjJ9LmRpZmYtc3RhdHVze2dyaWQtY29sdW1uOjI7Z3JpZC1yb3c6MX0uZGlmZi1vcGVuLWZpbGV7Z3JpZC1jb2x1bW46MztncmlkLXJvdzoxfS5kaWZmLXRvZ2dsZXtkaXNwbGF5Om5vbmV9LnN3aXRjaC1jYXJkLWhlYWRlciwucHJlc2V0LWl0ZW0sLmVudi1wcmV2aWV3LXRvb2xiYXIsLmVudi1wcmV2aWV3LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKTtyb3ctZ2FwOjhweH0uc3dpdGNoLXNsaWRlciwucHJlc2V0LWRldGFpbCwuZW52LXByZXZpZXctY29udHJvbHMsLmVudi1wcmV2aWV3LWxlbntqdXN0aWZ5LXNlbGY6c3RhcnQ7dGV4dC1hbGlnbjpsZWZ0fS5lbnYtcHJldmlldy1jb250cm9sc3t3aWR0aDoxMDAlfS5xdWV1ZS1pdGVte2dyaWQtdGVtcGxhdGUtY29sdW1uczo4cHggbWlubWF4KDAsMWZyKSBhdXRvO3Jvdy1nYXA6NnB4fS5xdWV1ZS1pdGVtLXNlbmQtbm93LC5xdWV1ZS1pdGVtLWNhbmNlbHtncmlkLXJvdzoyfS5xdWV1ZS1pdGVtLXNlbmQtbm93e2dyaWQtY29sdW1uOjI7anVzdGlmeS1zZWxmOnN0YXJ0fS5xdWV1ZS1pdGVtLWNhbmNlbHtncmlkLWNvbHVtbjozfX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KSwocG9pbnRlcjpjb2Fyc2Upe2h0bWwuaXMtd2FuZC1hbmRyb2lkIC5maWxlLWV4cGxvcmVyLXVwLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bixodG1sLmlzLXdhbmQtYW5kcm9pZCAuZGlmZi1vcGVuLWZpbGUsaHRtbC5pcy13YW5kLWFuZHJvaWQgLnF1ZXVlLWl0ZW0tc2VuZC1ub3csaHRtbC5pcy13YW5kLWFuZHJvaWQgLnF1ZXVlLWl0ZW0tY2FuY2VsLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1oZWFkZXItY2xlYXJ7bWluLXdpZHRoOjQ0cHg7bWluLWhlaWdodDo0NHB4fWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5maWxlLWV4cGxvcmVyLXVwLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bnt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6MTJweH1odG1sLmlzLXdhbmQtYW5kcm9pZCAuZGlmZi1vcGVuLWZpbGV7aGVpZ2h0OjQ0cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czoxMnB4fWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVte2dyaWQtdGVtcGxhdGUtY29sdW1uczo4cHggbWlubWF4KDAsMWZyKSBtYXgtY29udGVudCBtYXgtY29udGVudCBtYXgtY29udGVudDtyb3ctZ2FwOjA7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6NnB4IDhweDtvcGFjaXR5Oi44Nn1odG1sLmlzLXdhbmQtYW5kcm9pZCAucXVldWUtaXRlbS1hZ2V7Z3JpZC1jb2x1bW46MztncmlkLXJvdzoxfWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVtLXNlbmQtbm93e2dyaWQtY29sdW1uOjQ7Z3JpZC1yb3c6MTtoZWlnaHQ6NDRweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxfWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVtLWNhbmNlbCxodG1sLmlzLXdhbmQtYW5kcm9pZCAucXVldWUtaGVhZGVyLWNsZWFye3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MTJweDtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxfWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVtLWNhbmNlbHtncmlkLWNvbHVtbjo1O2dyaWQtcm93OjF9aHRtbC5pcy13YW5kLWFuZHJvaWQgLnN3aXRjaC1jYXJkLWhlYWRlcntncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcn1odG1sLmlzLXdhbmQtYW5kcm9pZCAuc3dpdGNoLXNsaWRlcntqdXN0aWZ5LXNlbGY6ZW5kfX1Aa2V5ZnJhbWVzIHdhbmQtc3VyZmFjZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KSBzY2FsZSguOTg1KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSl9fUBrZXlmcmFtZXMgd2FuZC1zdXJmYWNlLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCkgc2NhbGUoLjk5KX19QGtleWZyYW1lcyB3YW5kLWJhY2tkcm9wLWluezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fS5tb2RhbC1iYWNrZHJvcHtiYWNrZ3JvdW5kOiMxODE0MTE4NTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig1cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoNXB4KTthbmltYXRpb246d2FuZC1iYWNrZHJvcC1pbiAuMTZzIGVhc2Utb3V0IGJvdGh9Lm1vZGFse2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MjBweDtib3gtc2hhZG93OjAgMjRweCA2NHB4ICMyYTFmMTYzMywwIDRweCAxNnB4ICMyYTFmMTYxNDtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2FuaW1hdGlvbjp3YW5kLXN1cmZhY2UtaW4gLjE4cyBlYXNlLW91dCBib3RofS5tb2RhbC1iYWNrZHJvcC5jbG9zaW5nIC5tb2RhbHthbmltYXRpb246d2FuZC1zdXJmYWNlLW91dCAuMTNzIGVhc2UtaW4gYm90aH0ubW9kYWwtY2xvc2UtYnRue3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjQ0cHg7bWluLWhlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6MTJweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZSxib3gtc2hhZG93IC4xNXMgZWFzZX0ubW9kYWwtY2xvc2UtYnRuOmhvdmVyLC5tb2RhbC1jbG9zZS1idG46YWN0aXZle3RyYW5zZm9ybTpub25lO2JveC1zaGFkb3c6bm9uZX0obWF4LXdpZHRoOiA3NjBweCl7Lm1vZGFsLWJhY2tkcm9we3BhZGRpbmc6dmFyKC0td2FuZC1zYWZlLXRvcCkgdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSB2YXIoLS13YW5kLXNhZmUtbGVmdCk7YWxpZ24taXRlbXM6c3RyZXRjaH19Lm5vbi13YW5kLXNlc3Npb24tZ3JvdXB7bWFyZ2luOjEycHggNnB4IDJweDtwYWRkaW5nLXRvcDo2cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9Lm5vbi13YW5kLXNlc3Npb24tc3VtbWFyeXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjI0cHggbWlubWF4KDAsMWZyKSBhdXRvIDE0cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6MCA4cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjtsaXN0LXN0eWxlOm5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5ub24td2FuZC1zZXNzaW9uLXN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsLm5vbi13YW5kLXNlc3Npb24tc3VtbWFyeTo6bWFya2Vye2Rpc3BsYXk6bm9uZTtjb250ZW50OiIifS5ub24td2FuZC1zZXNzaW9uLXN1bW1hcnk6aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtiYWNrZ3JvdW5kOnZhcigtLWJnLWhvdmVyLCByZ2JhKDEyNSwgOTEsIDU3LCAuMDgpKX0ubm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9Lm5vbi13YW5kLXNlc3Npb24tZ3JvdXAubWFuYWdlLW1vZGU+Lm5vbi13YW5kLXNlc3Npb24tc3VtbWFyeXtjdXJzb3I6ZGVmYXVsdH0ubm9uLXdhbmQtc2Vzc2lvbi1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpfS5ub24td2FuZC1zZXNzaW9uLXRpdGxle21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDJlbTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ubm9uLXdhbmQtc2Vzc2lvbi1jb3VudHttaW4td2lkdGg6MjJweDtwYWRkaW5nOjJweCA2cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjk5OXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246Y2VudGVyfS5ub24td2FuZC1zZXNzaW9uLWNoZXZyb257Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlfS5ub24td2FuZC1zZXNzaW9uLWdyb3VwW29wZW5dIC5ub24td2FuZC1zZXNzaW9uLWNoZXZyb257dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5ub24td2FuZC1zZXNzaW9uLWxpc3R7bWFyZ2luLXRvcDoycHh9Lm5vbi13YW5kLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtLm5vbi13YW5kLXNlc3Npb257bWFyZ2luOjFweCAwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6bm9uZX0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW0ubm9uLXdhbmQtc2Vzc2lvbjpob3Zlciwubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW0ubm9uLXdhbmQtc2Vzc2lvbjpmb2N1cy12aXNpYmxle2JhY2tncm91bmQ6dmFyKC0tYmctaG92ZXIsIHJnYmEoMTI1LCA5MSwgNTcsIC4wOCkpfS5ub24td2FuZC1zZXNzaW9uLWxpc3QgLm5vbi13YW5kLXNlc3Npb24gLnNlc3Npb24taXRlbS1jb250ZW50e3BhZGRpbmctdG9wOjNweDtwYWRkaW5nLWJvdHRvbTozcHh9Lm5vbi13YW5kLXNlc3Npb24tbGlzdCAubm9uLXdhbmQtc2Vzc2lvbiAuc2Vzc2lvbi1pdGVtLXJvd3ttaW4taGVpZ2h0OjM0cHh9Lm5vbi13YW5kLXNlc3Npb24tbGlzdCAubm9uLXdhbmQtc2Vzc2lvbiAuc2Vzc2lvbi1tYWlue2dhcDoycHh9Lm5vbi13YW5kLXNlc3Npb24tbGlzdCAubm9uLXdhbmQtc2Vzc2lvbiAuc2Vzc2lvbi1jb21tYW5ke2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6Ljc4cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLW1ldGF7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42NnJlbX0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLWlke2Rpc3BsYXk6bm9uZX0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5ub24td2FuZC1jb3VudC10aWxle3Bvc2l0aW9uOnJlbGF0aXZlO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JvcmRlci1zdHlsZTpkYXNoZWQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5ub24td2FuZC1jb3VudC10aWxlOmhvdmVyLC5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLm5vbi13YW5kLWNvdW50LXRpbGU6Zm9jdXMtdmlzaWJsZXtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctaG92ZXIsIHJnYmEoMTI1LCA5MSwgNTcsIC4wOCkpfS5ub24td2FuZC1jb3VudC1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDtyaWdodDotNXB4O21pbi13aWR0aDoxN3B4O2hlaWdodDoxN3B4O3BhZGRpbmc6MCA0cHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1iZy1wcmltYXJ5LCB2YXIoLS1iZy1lbGV2YXRlZCkpO2JvcmRlci1yYWRpdXM6OTk5cHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtmb250LXNpemU6LjU2MjVyZW07Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxM3B4O3RleHQtYWxpZ246Y2VudGVyfS5hdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXB7bWFyZ2luOjEycHggNnB4IDJweDtwYWRkaW5nLXRvcDo2cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LmF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjRweCBtaW5tYXgoMCwxZnIpIGF1dG8gMTRweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzo0cHggNnB4O2JvcmRlci1yYWRpdXM6OXB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjtsaXN0LXN0eWxlOm5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5hdXRvbWF0aW9uLXNlc3Npb24tc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwuYXV0b21hdGlvbi1zZXNzaW9uLXN1bW1hcnk6Om1hcmtlcntkaXNwbGF5Om5vbmU7Y29udGVudDoiIn0uYXV0b21hdGlvbi1zZXNzaW9uLXN1bW1hcnk6aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtiYWNrZ3JvdW5kOiNiODVjMzcxMn0uYXV0b21hdGlvbi1zZXNzaW9uLXN1bW1hcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH0uYXV0b21hdGlvbi1zZXNzaW9uLWdyb3VwLm1hbmFnZS1tb2RlPi5hdXRvbWF0aW9uLXNlc3Npb24tc3VtbWFyeXtjdXJzb3I6ZGVmYXVsdH0uYXV0b21hdGlvbi1zZXNzaW9uLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYjg1YzM3MTd9LmF1dG9tYXRpb24tc2Vzc2lvbi10aXRsZXttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmF1dG9tYXRpb24tc2Vzc2lvbi1jb3VudHttaW4td2lkdGg6MjJweDtwYWRkaW5nOjJweCA2cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE4NCw5Miw1NSwuMTgpO2JvcmRlci1yYWRpdXM6OTk5cHg7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNiODVjMzcwZjtmb250LXNpemU6LjY2cmVtO2xpbmUtaGVpZ2h0OjEuMjt0ZXh0LWFsaWduOmNlbnRlcn0uYXV0b21hdGlvbi1zZXNzaW9uLWNoZXZyb257Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlfS5hdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXBbb3Blbl0gLmF1dG9tYXRpb24tc2Vzc2lvbi1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3R7bWFyZ2luLXRvcDoycHh9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW17bWFyZ2luOjFweCAwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6bm9uZX0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbTpob3ZlciwuYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbTpmb2N1cy12aXNpYmxle2JhY2tncm91bmQ6I2I4NWMzNzBmfS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtLWNvbnRlbnR7cGFkZGluZy10b3A6M3B4O3BhZGRpbmctYm90dG9tOjNweH0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS1yb3d7bWluLWhlaWdodDozNHB4fS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1tYWlue2dhcDoycHh9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWNvbW1hbmR7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NTAwfS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1tZXRhe2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNjZyZW19LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWlke2Rpc3BsYXk6bm9uZX0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hdXRvbWF0aW9uLWNvdW50LXRpbGV7cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItc3R5bGU6ZGFzaGVkO2JhY2tncm91bmQ6I2I4NWMzNzBkO2JveC1zaGFkb3c6bm9uZX0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hdXRvbWF0aW9uLWNvdW50LXRpbGU6aG92ZXIsLnNpZGViYXItY29sbGFwc2VkLXRpbGUuYXV0b21hdGlvbi1jb3VudC10aWxlOmZvY3VzLXZpc2libGV7Y29sb3I6dmFyKC0tYWNjZW50LXN0cm9uZywgIzliNDMyOSk7YmFja2dyb3VuZDojYjg1YzM3MWN9LnNpZGViYXItY29sbGFwc2VkLXRpbGUuYXV0b21hdGlvbi1jb3VudC10aWxlLmFjdGl2ZS1ncm91cHtib3JkZXItc3R5bGU6c29saWQ7Ym94LXNoYWRvdzowIDAgMCAycHggI2I4NWMzNzJlfS5hdXRvbWF0aW9uLWNvdW50LXRpbGUgLm5vbi13YW5kLWNvdW50LWJhZGdle2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNmZmZmZmZiODtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCl9QG1lZGlhKG1heC13aWR0aDo3NjBweCksKHBvaW50ZXI6Y29hcnNlKXsuYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS1yb3csLm5vbi13YW5kLXNlc3Npb24tbGlzdCAubm9uLXdhbmQtc2Vzc2lvbiAuc2Vzc2lvbi1pdGVtLXJvd3ttaW4taGVpZ2h0OjQ0cHh9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW0tY29udGVudCwubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLWl0ZW0tY29udGVudHtwYWRkaW5nLXRvcDo0cHg7cGFkZGluZy1ib3R0b206NHB4fX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5hdXRvbWF0aW9uLXNlc3Npb24tY2hldnJvbiwubm9uLXdhbmQtc2Vzc2lvbi1jaGV2cm9ue3RyYW5zaXRpb246bm9uZX19LnNlc3Npb24tY29udGV4dHttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42NTYyNXJlbTtmb250LXdlaWdodDo1MDA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNlc3Npb24tc3RhdHVze3RyYW5zaXRpb246Y29sb3IgLjE0cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSksYmFja2dyb3VuZC1jb2xvciAuMTRzIGN1YmljLWJlemllciguMiwuOCwuMiwxKX0udGl0bGUtZ2VuZXJhdGluZ3thbmltYXRpb246bm9uZTtvcGFjaXR5Oi43Mjt0cmFuc2Zvcm06bm9uZX0uc2Vzc2lvbi1pdGVtOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgMzglLHRyYW5zcGFyZW50KTtvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tYWNjZW50LW11dGVkKX0uc2Vzc2lvbi1hY3Rpb24tYnRue3RyYW5zaXRpb246Y29sb3IgLjE0cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSksYmFja2dyb3VuZC1jb2xvciAuMTRzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSx0cmFuc2Zvcm0gLjEycyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSl9QG1lZGlhKGhvdmVyOmhvdmVyKWFuZCAocG9pbnRlcjpmaW5lKXsuc2Vzc2lvbi1hY3Rpb24tYnRuOmhvdmVye3RyYW5zZm9ybTpub25lfX1AbWVkaWEoaG92ZXI6bm9uZSksKHBvaW50ZXI6Y29hcnNlKXsuc2Vzc2lvbi1pdGVtOm5vdCguYWN0aXZlKTpub3QoLnNlbGVjdGVkKTpob3ZlciwuYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbTpob3Zlciwubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW0ubm9uLXdhbmQtc2Vzc2lvbjpob3Zlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9fS5zZXNzaW9uLW1haW57ZGlzcGxheTpncmlkO2dhcDo2cHg7bWluLXdpZHRoOjB9LnNlc3Npb24tdGl0bGUtcm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDZweCBtaW5tYXgoMCwxZnIpO2FsaWduLWl0ZW1zOnN0YXJ0O2NvbHVtbi1nYXA6OHB4fS5zZXNzaW9uLXRpdGxlLXJvdyAuc2Vzc2lvbi10aXRsZSwuc2Vzc2lvbi10aXRsZS1yb3cgLnNlc3Npb24tY29tbWFuZCwuc2Vzc2lvbi10aXRsZS1yb3cgLmNsYXVkZS1oaXN0b3J5LXByZXZpZXd7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS5zZXNzaW9uLWxlYWRpbmctc2xvdHtkaXNwbGF5OmlubGluZS1mbGV4O3dpZHRoOjQ2cHg7bWluLXdpZHRoOjQ2cHg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNlc3Npb24tcHJvdmlkZXItbWFya3tkaXNwbGF5OmlubGluZS1mbGV4O3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjcwMH0uc2Vzc2lvbi1wcm92aWRlci1tYXJrLnByb3ZpZGVyLWNvZGV4e2NvbG9yOnZhcigtLWluZm8pfS5zZXNzaW9uLW1ldGF7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczo0NnB4IGF1dG8gbWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbn0uc2Vzc2lvbi1tZXRhIC5zZXNzaW9uLXRpbWV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246Y2VudGVyO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXNzaW9uLW1ldGEgLnNlc3Npb24tc3RhdHVze3dpZHRoOjZweDttaW4td2lkdGg6NnB4O2hlaWdodDo2cHg7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6NTAlO3BhZGRpbmc6MDtjb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLW1ldGEgLnNlc3Npb24tc3RhdHVzLnJ1bm5pbmd7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKX0uc2Vzc2lvbi1tZXRhIC5zZXNzaW9uLXN0YXR1cy5wZXJtaXNzaW9uLWJsb2NrZWR7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKX0uc2Vzc2lvbi1tZXRhIC5zZXNzaW9uLXN0YXR1cy5mYWlsZWR7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLWNvbnRleHQtcmVjb3ZlcmFibGV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXNzaW9uLXBhdGh7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42MjVyZW19LnNlc3Npb24taXRlbXtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWJnLWVsZXZhdGVkKSA3NiUsdHJhbnNwYXJlbnQpO2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix3aGl0ZSA2MiUsdmFyKC0tYm9yZGVyLXN1YnRsZSkpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE0cHgpIHNhdHVyYXRlKDEyMCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCkgc2F0dXJhdGUoMTIwJSk7Ym94LXNoYWRvdzowIDFweCAxcHggIzQ5MzMyMzBhfUBtZWRpYShtYXgtd2lkdGg6NjQwcHgpey5zZXNzaW9uLXRpdGxlLXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDJweCBtaW5tYXgoMCwxZnIpfS5zZXNzaW9uLWxlYWRpbmctc2xvdHt3aWR0aDo0MnB4O21pbi13aWR0aDo0MnB4fS5zZXNzaW9uLW1ldGF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQycHggYXV0byBtaW5tYXgoMCwxZnIpfS5zZXNzaW9uLXByb3ZpZGVyLW1hcmt7d2lkdGg6MjZweDtoZWlnaHQ6MjZweH19Lm1haW4taGVhZGVyLXJvd3tiYWNrZ3JvdW5kOiNmZmZkZjliZDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxMzUlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDEzNSUpfS5zaWRlYmFye2JhY2tncm91bmQ6I2ZmZmRmOWUwO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxMzUlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDEzNSUpO2JveC1zaGFkb3c6NHB4IDAgMjBweCAtMTJweCAjNTkzYTIwMjl9LnNpZGViYXIub3Blbntib3gtc2hhZG93OjhweCAwIDI4cHggLTE0cHggIzU5M2EyMDM4fS5zaWRlYmFyLnBpbm5lZHtib3gtc2hhZG93OjJweCAwIDEycHggLTEwcHggIzU5M2EyMDFmfS5zZXNzaW9uLWl0ZW17YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtib3gtc2hhZG93Om5vbmV9LnNlc3Npb24taXRlbTpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkwZX0uc2Vzc2lvbi1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9LnNlc3Npb24taXRlbS5zdGF0dXMtcHJvbWluZW50ey0tc2Vzc2lvbi1wcm9taW5lbnQtY29sb3I6IHZhcigtLXN1Y2Nlc3MpfS5zZXNzaW9uLWl0ZW0uc3RhdHVzLXByb21pbmVudC13YXJuaW5ney0tc2Vzc2lvbi1wcm9taW5lbnQtY29sb3I6IHZhcigtLXdhcm5pbmcpfS5zZXNzaW9uLWl0ZW0uc3RhdHVzLXByb21pbmVudCAuc2Vzc2lvbi1tZXRhIC5zZXNzaW9uLXN0YXR1c3t3aWR0aDphdXRvO21pbi13aWR0aDowO2hlaWdodDphdXRvO292ZXJmbG93OnZpc2libGU7Z2FwOjRweDtwYWRkaW5nOjA7Y29sb3I6dmFyKC0tc2Vzc2lvbi1wcm9taW5lbnQtY29sb3IpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXNzaW9uLWl0ZW0uc3RhdHVzLXByb21pbmVudCAuc2Vzc2lvbi1tZXRhIC5zZXNzaW9uLXN0YXR1czpiZWZvcmV7Y29udGVudDoiIjt3aWR0aDo1cHg7aGVpZ2h0OjVweDtmbGV4OjAgMCA1cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpjdXJyZW50Q29sb3J9LnNlc3Npb24taXRlbS5hY3RpdmU6YmVmb3Jle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGVZKDEpfS5zZXNzaW9uLWl0ZW0uc2VsZWN0ZWQsLnNlc3Npb24taXRlbS5zZXNzaW9uLW1hbmFnaW5nLmFjdGl2ZXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uc2Vzc2lvbi1pdGVtLnNlbGVjdGVkOmJlZm9yZSwuc2Vzc2lvbi1pdGVtLnNlc3Npb24tbWFuYWdpbmc6YmVmb3Jle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVZKDApfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBzcGFue2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6bm9uZX0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2sgaW5wdXQ6Y2hlY2tlZCtzcGFue2JveC1zaGFkb3c6bm9uZX0uaW5wdXQtY29tcG9zZXJ7YmFja2dyb3VuZDojZmZmZGY5Y2M7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTM1JSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxMzUlKTtib3gtc2hhZG93OjAgM3B4IDEycHggIzU5M2EyMDBifS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW57YmFja2dyb3VuZDojZmZmZGY5ZjA7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKSwwIDRweCAxNHB4ICM1OTNhMjAwYn0ubW9kYWx7YmFja2dyb3VuZDojZmZmZGY5ZWI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTIpO2JvcmRlci1yYWRpdXM6MjBweDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyNHB4KSBzYXR1cmF0ZSgxNDAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDI0cHgpIHNhdHVyYXRlKDE0MCUpO2JveC1zaGFkb3c6MCAxOHB4IDUycHggLTI0cHggIzE0MGUwODQ3fS5tb2RhbC1iYWNrZHJvcHtiYWNrZ3JvdW5kOiMxNDBlMDg0NztiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX0udG9vbC11c2UtY2FyZCwuaW5saW5lLWRpZmZ7YmFja2dyb3VuZDojZmZmZGY5ZTY7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6bm9uZX0udG9vbC11c2UtY2FyZDpob3ZlciwuaW5saW5lLWRpZmY6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM3ZDViMzkzMztib3gtc2hhZG93Om5vbmU7dHJhbnNmb3JtOm5vbmV9QG1lZGlhKHByZWZlcnMtcmVkdWNlZC10cmFuc3BhcmVuY3k6cmVkdWNlKSwocHJlZmVycy1jb250cmFzdDptb3JlKXsubWFpbi1oZWFkZXItcm93LC5zaWRlYmFyLC5pbnB1dC1jb21wb3NlciwubW9kYWx7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZX19Cg=="),
|
|
9
|
+
stylesCss: decode("OnJvb3R7LS1iZy1wcmltYXJ5OiAjZjVmM2VlOy0tYmctc2Vjb25kYXJ5OiByZ2JhKDI1NSwgMjUzLCAyNDksIC44Nik7LS1iZy10ZXJ0aWFyeTogI2VjZThlMTstLWJnLWVsZXZhdGVkOiAjZmNmYWY2Oy0tYmctc3VyZmFjZTogcmdiYSgyNTUsIDI1MywgMjQ5LCAuNjIpOy0tYmctdGVybWluYWw6ICMxZjFiMTc7LS1iZy1vdmVybGF5OiByZ2JhKDQyLCAyOCwgMTgsIC40KTstLWJvcmRlci1zdWJ0bGU6IHJnYmEoMTA5LCA4OCwgNzIsIC4xKTstLWJvcmRlci1kZWZhdWx0OiAjZDlkMmM5Oy0tYm9yZGVyLXN0cm9uZzogcmdiYSgxMDksIDg4LCA3MiwgLjM0KTstLWJvcmRlcjogdmFyKC0tYm9yZGVyLWRlZmF1bHQpOy0tYm9yZGVyLWZvY3VzOiByZ2JhKDE5NywgMTAxLCA2MSwgLjUpOy0tdGV4dC1wcmltYXJ5OiAjMjgyMzFmOy0tdGV4dC1zZWNvbmRhcnk6ICM2MjVhNTM7LS10ZXh0LXRlcnRpYXJ5OiAjN2E3MTY4Oy0tdGV4dC1tdXRlZDogIzhiODI3OTstLXRleHQtaW52ZXJzZTogI2ZmZmZmZjstLXRleHQtbGluazogI2M1NjUzZDstLWFjY2VudDogI2M1NjUzZDstLWFjY2VudC1ob3ZlcjogI2Q0NzU1MDstLWFjY2VudC1hY3RpdmU6ICNhZjUzMzA7LS1hY2NlbnQtc29mdDogI2U4YzVhZTstLWFjY2VudC1tdXRlZDogcmdiYSgxOTcsIDEwMSwgNjEsIC4xMik7LS1hY2NlbnQtZ2xvdzogcmdiYSgxOTcsIDEwMSwgNjEsIC4yNSk7LS1zdWNjZXNzOiAjNGY3YTU4Oy0tc3VjY2Vzcy1ob3ZlcjogIzVhOGY2NjstLXN1Y2Nlc3MtbXV0ZWQ6IHJnYmEoNzksIDEyMiwgODgsIC4xNCk7LS1zdWNjZXNzLWdsb3c6IHJnYmEoNzksIDEyMiwgODgsIC4zKTstLXdhcm5pbmc6ICNhOTZhMmY7LS13YXJuaW5nLWhvdmVyOiAjYzA3YTM1Oy0td2FybmluZy1tdXRlZDogcmdiYSgxNjksIDEwNiwgNDcsIC4xNCk7LS13YXJuaW5nLWdsb3c6IHJnYmEoMTY5LCAxMDYsIDQ3LCAuMjUpOy0tZGFuZ2VyOiAjYjI0ZjQ1Oy0tZGFuZ2VyLWhvdmVyOiAjYzk2MDU1Oy0tZGFuZ2VyLW11dGVkOiByZ2JhKDE3OCwgNzksIDY5LCAuMTQpOy0tZGFuZ2VyLWdsb3c6IHJnYmEoMTc4LCA3OSwgNjksIC4yNSk7LS1pbmZvOiAjNGE2ZmE1Oy0taW5mby1tdXRlZDogcmdiYSg3NCwgMTExLCAxNjUsIC4xNCk7LS1zaGFkb3cteHM6IDAgMXB4IDNweCByZ2JhKDg5LCA1OCwgMzIsIC4wNCk7LS1zaGFkb3ctc206IDAgMnB4IDhweCByZ2JhKDg5LCA1OCwgMzIsIC4wNik7LS1zaGFkb3ctbWQ6IDAgNHB4IDE2cHggcmdiYSg4OSwgNTgsIDMyLCAuMDgpOy0tc2hhZG93LWxnOiAwIDhweCAzMnB4IHJnYmEoODksIDU4LCAzMiwgLjEyKTstLXNoYWRvdy14bDogMCAxMnB4IDQ4cHggcmdiYSg4OSwgNTgsIDMyLCAuMTYpOy0tc2hhZG93LXNvZnQ6IDAgMjBweCA1MHB4IHJnYmEoODksIDU4LCAzMiwgLjEyKTstLXNoYWRvdy1lbGV2YXRlZDogMCA4cHggMjRweCByZ2JhKDg5LCA1OCwgMzIsIC4wOCk7LS1zaGFkb3ctZ2xvdzogMCAwIDI0cHggdmFyKC0tYWNjZW50LWdsb3cpOy0tc2hhZG93LWdsb3ctc3VjY2VzczogMCAwIDIwcHggdmFyKC0tc3VjY2Vzcy1nbG93KTstLXJhZGl1cy14czogNnB4Oy0tcmFkaXVzLXNtOiAxMHB4Oy0tcmFkaXVzLW1kOiAxNHB4Oy0tcmFkaXVzLWxnOiAyMHB4Oy0tcmFkaXVzLXhsOiAyOHB4Oy0tcmFkaXVzLWZ1bGw6IDk5OTlweDstLWZvbnQtc2FuczogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCAiSGVsdmV0aWNhIE5ldWUiLCAiUGluZ0ZhbmcgU0MiLCAiTm90byBTYW5zIFNDIiwgIk1pY3Jvc29mdCBZYUhlaSIsIHNhbnMtc2VyaWY7LS1mb250LW1vbm86ICJTRiBNb25vIiwgIkZpcmEgQ29kZSIsICJDYXNjYWRpYSBDb2RlIiwgIkpldEJyYWlucyBNb25vIiwgTWVubG8sIE1vbmFjbywgIkNvbnNvbGFzIiwgbW9ub3NwYWNlOy0tZm9udC1zaXplLXhzOiAuNjg3NXJlbTstLWZvbnQtc2l6ZS1zbTogLjgxMjVyZW07LS1mb250LXNpemUtYmFzZTogLjkzNzVyZW07LS1mb250LXNpemUtbGc6IDEuMDYyNXJlbTstLWZvbnQtc2l6ZS14bDogMS4yNXJlbTstLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwOy0tZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7LS1mb250LXdlaWdodC1zZW1pYm9sZDogNjAwOy0tZm9udC13ZWlnaHQtYm9sZDogNzAwOy0tbGluZS1oZWlnaHQtdGlnaHQ6IDEuMzstLWxpbmUtaGVpZ2h0LWJhc2U6IDEuNjstLWxpbmUtaGVpZ2h0LXJlbGF4ZWQ6IDEuNzU7LS10cmFuc2l0aW9uLWZhc3Q6IC4xNXMgZWFzZTstLXRyYW5zaXRpb24tbm9ybWFsOiAuMjVzIGVhc2U7LS10cmFuc2l0aW9uLXNsb3c6IC40cyBlYXNlOy0tdHJhbnNpdGlvbi1zcHJpbmc6IC4zMnMgY3ViaWMtYmV6aWVyKC4yLCAuOCwgLjIsIDEpOy0tc2lkZWJhci13aWR0aDogMzAwcHg7LS1zaWRlYmFyLWNvbGxhcHNlZC13aWR0aDogNTZweDstLWZpbGUtcGFuZWwtd2lkdGg6IDMyMHB4Oy0tc2FmZS1ib3R0b206IDBweDstLWVhc2Utb3V0LWV4cG86IGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTstLWVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllciguMzQsIDEuNTYsIC42NCwgMSk7LS1lYXNlLWluLW91dC1zbW9vdGg6IGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpOy0tZWFzZS1zcHJpbmc6IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEuMjc1KTstLWVhc2Utc3ByaW5nLWJvdW5jeTogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMS40KTstLWVhc2UtYm91bmNlOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upe2h0bWw6bm90KC5pcy13YW5kLWFwcCkgKixodG1sOm5vdCguaXMtd2FuZC1hcHApICo6YmVmb3JlLGh0bWw6bm90KC5pcy13YW5kLWFwcCkgKjphZnRlcnthbmltYXRpb24tZHVyYXRpb246LjAxbXMhaW1wb3J0YW50O2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDFtcyFpbXBvcnRhbnQ7c2Nyb2xsLWJlaGF2aW9yOmF1dG8haW1wb3J0YW50fX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLXRyYW5zcGFyZW5jeTpyZWR1Y2Upey5pbnB1dC1jb21wb3NlciwuZmllbGQtaW5wdXQsLmZpbGUtc2VhcmNoLWlucHV0LGlucHV0LmZpbGUtZXhwbG9yZXItcGF0aHtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfX1AbWVkaWEocHJlZmVycy1jb250cmFzdDptb3JlKXsuaW5wdXQtY29tcG9zZXIsLmZpZWxkLWlucHV0LC5maWxlLXNlYXJjaC1pbnB1dCxpbnB1dC5maWxlLWV4cGxvcmVyLXBhdGh7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1zdHJvbmcpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JveC1zaGFkb3c6bm9uZX0uaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluLC5maWVsZC1pbnB1dDpmb2N1cywuZmlsZS1zZWFyY2gtaW5wdXQ6Zm9jdXMsaW5wdXQuZmlsZS1leHBsb3Jlci1wYXRoOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWFjY2VudCl9fTpyb290ey0tYXBwLWluc2V0LXRvcDogMHB4Oy0tYXBwLWluc2V0LWJvdHRvbTogMHB4Oy0tYXBwLWluc2V0LWxlZnQ6IDBweDstLWFwcC1pbnNldC1yaWdodDogMHB4Oy0td2FuZC1zYWZlLXRvcDogbWF4KHZhcigtLWFwcC1pbnNldC10b3ApLCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSk7LS13YW5kLXNhZmUtYm90dG9tOiBtYXgodmFyKC0tYXBwLWluc2V0LWJvdHRvbSksIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTstLXdhbmQtc2FmZS1sZWZ0OiBtYXgodmFyKC0tYXBwLWluc2V0LWxlZnQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDBweCkpOy0td2FuZC1zYWZlLXJpZ2h0OiBtYXgodmFyKC0tYXBwLWluc2V0LXJpZ2h0KSwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMHB4KSk7LS1zYWZlLWJvdHRvbTogdmFyKC0td2FuZC1zYWZlLWJvdHRvbSk7LS1pbnB1dC1zYWZlLWJvdHRvbTogdmFyKC0tc2FmZS1ib3R0b20pfS5pcy13YW5kLWFwcHstLXdhbmQtc2FmZS10b3A6IG1heCh2YXIoLS1hcHAtaW5zZXQtdG9wKSwgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCksIDMycHgpOy0td2FuZC1zYWZlLWJvdHRvbTogbWF4KHZhcigtLWFwcC1pbnNldC1ib3R0b20pLCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSwgMHB4KX0uaXMtd2FuZC1hcHAtbmF0aXZlLWluc2V0c3stLXdhbmQtc2FmZS10b3A6IDBweDstLXdhbmQtc2FmZS1ib3R0b206IDBweDstLXdhbmQtc2FmZS1sZWZ0OiAwcHg7LS13YW5kLXNhZmUtcmlnaHQ6IDBweH0uaXMtd2FuZC1pb3MuaXMta2V5Ym9hcmQtb3BlbnstLWlucHV0LXNhZmUtYm90dG9tOiAwcHh9LmlzLXdhbmQtYXBwIC5zaWRlYmFyLWhlYWRlcixodG1sLmlzLXdhbmQtYXBwIC5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItaGVhZGVye3BhZGRpbmctdG9wOmNhbGMoMTRweCArIHZhcigtLXdhbmQtc2FmZS10b3ApKX0uYXBwLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS13YW5kLXNhZmUtdG9wKX0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAuc2lkZWJhciwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAubWFpbi1oZWFkZXItcm93LC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5ibGFuay1jaGF0LC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5kcmF3ZXItYmFja2Ryb3AsLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLmZpbGUtcGFuZWwtYmFja2Ryb3B7ZGlzcGxheTpub25lIWltcG9ydGFudH0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAuYXBwLWNvbnRhaW5lcntwYWRkaW5nLXRvcDowfWh0bWwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbHtjb2xvci1zY2hlbWU6bGlnaHQgZGFyazstLWVtYmVkLXB0eS1iZzogIzE3MTIwZn1odG1sLmlzLXdhbmQtZW1iZWQtdGVybWluYWwsaHRtbC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIGJvZHl7YmFja2dyb3VuZDp2YXIoLS1lbWJlZC1wdHktYmcpfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5tYWluLWxheW91dCwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWQsLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLm1haW4tbGF5b3V0LnNpZGViYXItcGlubmVkLnNpZGViYXItY29sbGFwc2Vke3BhZGRpbmctbGVmdDowfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5tYWluLWNvbnRlbnR7YmFja2dyb3VuZDp2YXIoLS1lbWJlZC1wdHktYmcpfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC50ZXJtaW5hbC1jb250YWluZXJ7bWFyZ2luOjA7Ym9yZGVyLXJhZGl1czowO2JvcmRlcjowO2JvcmRlci1sZWZ0OjA7Ym9yZGVyLXJpZ2h0OjA7YmFja2dyb3VuZDp2YXIoLS1lbWJlZC1wdHktYmcpO2JveC1zaGFkb3c6bm9uZX0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtY29udGFpbmVyOmZvY3VzLXdpdGhpbiwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtY29udGFpbmVyLmludGVyYWN0aXZle2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnRlcm1pbmFsLWNvbnRhaW5lcjphZnRlciwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtc2NhbGUtb3ZlcmxheSwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtcmVzaXplLWhhbmRsZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC50ZXJtaW5hbC1zY3JvbGwtd3JhcHtwYWRkaW5nOjhweCA0cHggNnB4Oy0tdGVybS1mb250LWZhbWlseTogIlJvYm90byBNb25vIiwgIkRyb2lkIFNhbnMgTW9ubyIsICJOb3RvIFNhbnMgTW9ubyIsICJOb3RvIFNhbnMgU3ltYm9scyAyIiwgIk5vdG8gU2FucyBTeW1ib2xzIiwgbW9ub3NwYWNlOy0tdGVybS1mb250LXNpemU6IDEwcHggIWltcG9ydGFudDstLXRlcm0tcm93LWhlaWdodDogMTVweCAhaW1wb3J0YW50Oy0tdGVybS1mZzogI2Y1ZWFkYzstLXRlcm0tYmc6IHRyYW5zcGFyZW50Oy0tdGVybS1jdXJzb3I6ICNkNjdiNTI7LS10ZXJtLWNvbG9yLTA6ICMxZjFiMTc7LS10ZXJtLWNvbG9yLTE6ICNkMjc3NjY7LS10ZXJtLWNvbG9yLTI6ICM3ZmEzNmY7LS10ZXJtLWNvbG9yLTM6ICNkNWEzNWI7LS10ZXJtLWNvbG9yLTQ6ICM4N2E5ZDk7LS10ZXJtLWNvbG9yLTU6ICNjNTk1Yzc7LS10ZXJtLWNvbG9yLTY6ICM3ZmIzYjE7LS10ZXJtLWNvbG9yLTc6ICNmNWVhZGM7LS10ZXJtLWNvbG9yLTg6ICM2MjUzNDc7LS10ZXJtLWNvbG9yLTk6ICNlMzlhODk7LS10ZXJtLWNvbG9yLTEwOiAjOWNjMDhhOy0tdGVybS1jb2xvci0xMTogI2ViYmI2ZTstLXRlcm0tY29sb3ItMTI6ICNhOGMxZWE7LS10ZXJtLWNvbG9yLTEzOiAjZGJiMWRjOy0tdGVybS1jb2xvci0xNDogIzlhY2JjYTstLXRlcm0tY29sb3ItMTU6ICNmZmY3ZWZ9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnRlcm1pbmFsLXNjcm9sbC13cmFwIDo6c2VsZWN0aW9ue2JhY2tncm91bmQ6I2Q2N2I1MjQ3fS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsLmlzLXdhbmQtbmF0aXZlLWlucHV0IC5pbnB1dC1wYW5lbHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC53YW5kLWpveXN0aWNrLXJvb3R7ei1pbmRleDoxMjB9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stcm9vdC52aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGV9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stYmFja2Ryb3B7ei1pbmRleDoxMjB9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stYmFsbHt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2NvbG9yOiNmZmY3ZWZmNTtiYWNrZ3JvdW5kOiMyMzFjMThlYjtib3JkZXItY29sb3I6I2ZmZjdlZjNkO2JveC1zaGFkb3c6MCAxMHB4IDI2cHggIzAwMDAwMDYxLGluc2V0IDAgMXB4ICNmZmZmZmYxYTt6LWluZGV4OjEyM30uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAud2FuZC1qb3lzdGljay1iYWxsLnBhbmVsLW9wZW4sLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stYmFsbDphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEuMDQpO2JhY2tncm91bmQ6IzFkMTcxNGZhO2JvcmRlci1jb2xvcjojZmZmN2VmNTd9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stcGFuZWx7ei1pbmRleDoxMjQ7YmFja2dyb3VuZDojMWQxNzE0ZmE7Ym9yZGVyLWNvbG9yOiNmZmY3ZWYyZTtib3gtc2hhZG93OjAgMThweCA0MHB4ICMwMDAwMDA2YixpbnNldCAwIDFweCAjZmZmZmZmMTR9aHRtbC5uby10cmFuc2l0aW9uLGh0bWwubm8tdHJhbnNpdGlvbiAqLGh0bWwubm8tdHJhbnNpdGlvbiAqOmJlZm9yZSxodG1sLm5vLXRyYW5zaXRpb24gKjphZnRlcnt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O2FuaW1hdGlvbjpub25lIWltcG9ydGFudH0qe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MDtwYWRkaW5nOjB9aHRtbHtmb250LXNpemU6MTRweDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7bWluLWhlaWdodDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2Y1ZjNlZX1ib2R5e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDglIC00JSxyZ2JhKDE5NywxMDEsNjEsLjAzNCksdHJhbnNwYXJlbnQgNDIlKSxyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDEwMiUgNDIlLHJnYmEoMTgwLDE1NSwxMzQsLjAyNCksdHJhbnNwYXJlbnQgMzAlKSwjZjVmM2VlO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWluLWhlaWdodDoxMDB2aDttaW4taGVpZ2h0OjEwMGR2aDtoZWlnaHQ6MTAwdmg7aGVpZ2h0OjEwMGR2aDtsaW5lLWhlaWdodDp2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtvdmVyZmxvdzpoaWRkZW59Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo4cHg7aGVpZ2h0OjhweH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Izk2NzY1NTQwO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1NjZ9Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zb2Z0KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfTo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtc29mdCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uaW5wdXQtdGV4dGFyZWE6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOiM0ZjdhNTg0Nztjb2xvcjojMjQxNjBmfS5pbnB1dC10ZXh0YXJlYTo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZDojNGY3YTU4NDc7Y29sb3I6IzI0MTYwZn0uY2hhdC1tZXNzYWdlLnVzZXIgLmNoYXQtbWVzc2FnZS1idWJibGU6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOiNmZmZmZmY1Mjtjb2xvcjojZmZmfS5hcHAtY29udGFpbmVyey0tbGF5b3V0LW1haW4tZmlsZS1wYW5lbC13aWR0aDogdmFyKC0tZmlsZS1wYW5lbC13aWR0aCk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpmaXhlZDt0b3A6dmFyKC0tYXBwLXZpZXdwb3J0LXRvcCwgMHB4KTtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6dmFyKC0tYXBwLXZpZXdwb3J0LWhlaWdodCwgMTAwZHZoKTtvdmVyZmxvdzpoaWRkZW59LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTt3aWR0aDozNHB4O2hlaWdodDozNHB4O3BhZGRpbmc6MDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7YmFja2dyb3VuZDojZmZmYmY1ZDk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Y3Vyc29yOnBvaW50ZXI7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDJweCA4cHggIzAwMDAwMDBmO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGV7bWFyZ2luLXJpZ2h0OjJweH0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlIC5oYW1idXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgxKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSg1cHgpIHJvdGF0ZSg0NWRlZyl9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlIC5oYW1idXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgyKXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWCgwKX0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDMpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpIHJvdGF0ZSgtNDVkZWcpfS5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmJmNWYyO2JveC1zaGFkb3c6MCAzcHggMTJweCAjMDAwMDAwMWF9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGU6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTIpfS5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZTpob3ZlciAuaGFtYnVyZ2VyLWljb24gc3BhbiwubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZTpob3ZlciAuaGFtYnVyZ2VyLWljb24gc3BhbntiYWNrZ3JvdW5kOnZhcigtLXRleHQtcHJpbWFyeSl9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmJmNWYyO2JveC1zaGFkb3c6MCAzcHggMTJweCAjMDAwMDAwMWF9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZXtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBlYXNlfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Mil9LmhhbWJ1cmdlci1pY29ue3dpZHRoOjE2cHg7aGVpZ2h0OjEycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uaGFtYnVyZ2VyLWljb24gc3BhbntkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgdmFyKC0tZWFzZS1vdXQtZXhwbyksb3BhY2l0eSAuMnMgZWFzZSxiYWNrZ3JvdW5kIC4xNXMgZWFzZTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0uZmxvYXRpbmctc2lkZWJhci10b2dnbGU6aG92ZXIgLmhhbWJ1cmdlci1pY29uIHNwYW57YmFja2dyb3VuZDp2YXIoLS10ZXh0LXByaW1hcnkpfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDEpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCkgcm90YXRlKDQ1ZGVnKX0uZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlIC5oYW1idXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgyKXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWCgwKX0uZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlIC5oYW1idXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgzKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KSByb3RhdGUoLTQ1ZGVnKX0udG9wYmFyLWxvZ28taWNvbnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZDQ3ODVhLCNiODU3M2EsI2EwNGEyZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MTBweDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjgwMDtib3gtc2hhZG93OjAgMXB4IDRweCAjYjg1YzM3NDAsaW5zZXQgMCAxcHggI2ZmZjM7bGV0dGVyLXNwYWNpbmc6LS4wMmVtO2ZsZXgtc2hyaW5rOjB9LnN0YXR1cy1kb3R7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS10ZXh0LW11dGVkKX0uc3RhdHVzLWRvdC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKTtib3gtc2hhZG93OjAgMCA4cHggdmFyKC0tc3VjY2Vzcyl9Lm1haW4tbGF5b3V0e2Rpc3BsYXk6ZmxleDtmbGV4OjE7bWluLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6MDt0cmFuc2l0aW9uOnBhZGRpbmctbGVmdCB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCl9LnNpZGViYXItb3Blbjpub3QoLnNpZGViYXItcGlubmVkKSAuaW5wdXQtcGFuZWx7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLHZpc2liaWxpdHkgMHMgbGluZWFyIC4yc30ubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWR7cGFkZGluZy1sZWZ0OnZhcigtLXNpZGViYXItd2lkdGgpO3RyYW5zaXRpb246cGFkZGluZy1sZWZ0IC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKX0ubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWQgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xle2Rpc3BsYXk6bm9uZX0ubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWQuc2lkZWJhci1jb2xsYXBzZWR7cGFkZGluZy1sZWZ0OnZhcigtLXNpZGViYXItY29sbGFwc2VkLXdpZHRoKX0uZHJhd2VyLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDo0NDtiYWNrZ3JvdW5kOnZhcigtLWJnLW92ZXJsYXkpO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIHZhcigtLWVhc2UtaW4tb3V0LXNtb290aCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNHB4KX0uZHJhd2VyLWJhY2tkcm9wLm9wZW57b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX0uc2lkZWJhcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7Ym90dG9tOjA7ei1pbmRleDo0NTt3aWR0aDptaW4odmFyKC0tc2lkZWJhci13aWR0aCksY2FsYygxMDB2dyAtIDIwcHgpKTttYXgtd2lkdGg6OTB2dztiYWNrZ3JvdW5kOiNmZmZiZjVmNTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWhlaWdodDowO2JhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6NHB4IDAgMzJweCAjNTkzYTIwMTQ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyB2YXIoLS1lYXNlLW91dC1leHBvKSxib3gtc2hhZG93IC4zNXMgZWFzZSxvcGFjaXR5IC4yNXMgZWFzZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH0uc2lkZWJhci5vcGVue3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7Ym94LXNoYWRvdzo4cHggMCA0MHB4ICM1OTNhMjAyNjtwb2ludGVyLWV2ZW50czphdXRvO29wYWNpdHk6MX0uc2lkZWJhci5waW5uZWR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTtwb2ludGVyLWV2ZW50czphdXRvO29wYWNpdHk6MTtib3gtc2hhZG93Om5vbmU7dHJhbnNpdGlvbjp3aWR0aCAuM3MgdmFyKC0tZWFzZS1vdXQtZXhwbyksdHJhbnNmb3JtIC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksYm94LXNoYWRvdyAuMzVzIGVhc2Usb3BhY2l0eSAuMjVzIGVhc2V9LnNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlci1hY3Rpb25zIC5zaWRlYmFyLWNsb3Nle2Rpc3BsYXk6bm9uZX0uc2lkZWJhci5waW5uZWQuY29sbGFwc2Vke3dpZHRoOnZhcigtLXNpZGViYXItY29sbGFwc2VkLXdpZHRoKX0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlcntwYWRkaW5nOjE0cHggOHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjB9LnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1oZWFkZXItbWFpbiwuc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlci1tb3JlLC5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItcGluLXRvZ2dsZSwuc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWZvb3RlcntkaXNwbGF5Om5vbmV9LnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1oZWFkZXItYWN0aW9uc3tnYXA6MDt3aWR0aDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1ib2R5e3BhZGRpbmc6OHB4IDRweDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59LnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1ib2R5Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDowfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7YWxpZ24taXRlbXM6Y2VudGVyfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxle3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxMXB4O2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMyKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsI2Q0Nzg1YSwjYjg1NzNhLCNhMDRhMmUpO2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztsZXR0ZXItc3BhY2luZzotLjAxZW07Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjA7Ym94LXNoYWRvdzowIDFweCAycHggI2I4NWMzNzM4LGluc2V0IDAgMXB4ICNmZmZmZmY0Nzt0cmFuc2l0aW9uOmZpbHRlciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJveC1zaGFkb3cgLjIycyBlYXNlLHRyYW5zZm9ybSAuMjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlOmhvdmVye2ZpbHRlcjpicmlnaHRuZXNzKDEuMDYpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCA0cHggMTBweCAtM3B4ICNiODVjMzc1YyxpbnNldCAwIDFweCAjZmZmZmZmNTJ9LnNpZGViYXItY29sbGFwc2VkLXRpbGUuYWRke2JhY2tncm91bmQ6I2I4NWMzNzBmO2JvcmRlcjoxLjVweCBkYXNoZWQgcmdiYSgxODQsOTIsNTUsLjUpO2NvbG9yOiNhMDRhMmU7Ym94LXNoYWRvdzpub25lO21hcmdpbi10b3A6MnB4fS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmFkZDpob3ZlcntmaWx0ZXI6bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtiYWNrZ3JvdW5kOiNiODVjMzcxZjtib3JkZXItY29sb3I6I2I4NWMzN2I4O2JveC1zaGFkb3c6MCAzcHggOHB4IC0zcHggI2I4NWMzNzUyfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmFkZDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjk0KX0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCNkMjczNTgsI2IzNTQzNCwjOTM0MTI4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgMCAwIDJweCAjYzU2NTNkNGQsMCA1cHggMTRweCAtNHB4ICNhMDRhMmU3MyxpbnNldCAwIDFweCAjZmZmNn0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjk0KTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wOHN9LnNpZGViYXItdGlsZS1idWJibGV7cG9zaXRpb246Zml4ZWQ7bWF4LXdpZHRoOjMyMHB4O21pbi13aWR0aDo4MHB4O3BhZGRpbmc6OXB4IDEzcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCNmZmZiZjVmYywjZmNmNGU5ZmMpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSwgcmdiYSgxMjAsIDg4LCA1NiwgLjE4KSk7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaGFkb3c6MCA2cHggMjRweCAtNHB4ICM1OTNhMjAzOCwwIDJweCA2cHggIzU5M2EyMDE0LGluc2V0IDAgMXB4ICNmZmZmZmZhNjtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjQ2O2NvbG9yOiMzODI0MTJlYjt6LWluZGV4OjIwMDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC00cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xOHMgdmFyKC0tZWFzZS1vdXQtZXhwbywgZWFzZSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpIHNhdHVyYXRlKDE2MCUpfS5zaWRlYmFyLXRpbGUtYnViYmxlLnZpc2libGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9LnNpZGViYXItdGlsZS1idWJibGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotNnB4O3RvcDp2YXIoLS1idWJibGUtdGFpbC15LCA1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7d2lkdGg6MTFweDtoZWlnaHQ6MTFweDtiYWNrZ3JvdW5kOmluaGVyaXQ7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUsIHJnYmEoMTIwLCA4OCwgNTYsIC4xOCkpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUsIHJnYmEoMTIwLCA4OCwgNTYsIC4xOCkpO2JveC1zaGFkb3c6LTJweCAycHggNXB4IC0ycHggIzU5M2EyMDE0fS5zaWRlYmFyLWNvbGxhcHNlLXRvZ2dsZXtmbGV4LXNocmluazowO3RyYW5zaXRpb246Y29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2lkZWJhci1jb2xsYXBzZS10b2dnbGUuY29sbGFwc2Vke2NvbG9yOnZhcigtLXByaW1hcnkpfS5zaWRlYmFyLXBpbi10b2dnbGV7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKX0uc2lkZWJhci1waW4tdG9nZ2xlLnBpbm5lZHtiYWNrZ3JvdW5kOiNjNTY1M2QxZjtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5zaWRlYmFyLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MTJweCAxNHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6I2ZmZmJmNWNjO2ZsZXgtc2hyaW5rOjA7bWluLWhlaWdodDo1MnB4O2dhcDoxMHB4fS5zaWRlYmFyLWhlYWRlci1tYWlue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjlweDttaW4td2lkdGg6MDtmbGV4OjF9LnNpZGViYXItaGVhZGVyLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2ZsZXgtc2hyaW5rOjB9LnNpZGViYXItaGVhZGVyLW1vcmV7cG9zaXRpb246cmVsYXRpdmV9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93e2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNnB4KTtyaWdodDowO21pbi13aWR0aDoxNTBweDtiYWNrZ3JvdW5kOiNmZmZiZjVmYTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3gtc2hhZG93OjAgNHB4IDIwcHggIzU5M2EyMDFmO3BhZGRpbmc6NHB4O3otaW5kZXg6NjB9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93Lm9wZW57ZGlzcGxheTpibG9jazthbmltYXRpb246ZmFkZVNsaWRlRG93biAuMTVzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjlweCAxMnB4O2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW06YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTcpfUBrZXlmcmFtZXMgZmFkZVNsaWRlRG93bnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uc2lkZWJhci1sb2dvdXR7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNzt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLWxvZ291dDpob3ZlcntvcGFjaXR5OjE7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5zaWRlYmFyLXN3aXRjaC1zZXJ2ZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNzt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLXN3aXRjaC1zZXJ2ZXI6aG92ZXJ7b3BhY2l0eToxO2NvbG9yOnZhcigtLXByaW1hcnksIHZhcigtLXRleHQtc2Vjb25kYXJ5KSl9LmxvZ2luLXN3aXRjaC1zZXJ2ZXJ7bWFyZ2luLXRvcDoxMHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjZweDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmxvZ2luLXN3aXRjaC1zZXJ2ZXIgc3Zne29wYWNpdHk6Ljc1fS5sb2dpbi1zd2l0Y2gtc2VydmVyOmhvdmVye2NvbG9yOnZhcigtLXByaW1hcnksIHZhcigtLXRleHQtcHJpbWFyeSkpfS5zaWRlYmFyLXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDFlbTt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1jb3VudHtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtd2VpZ2h0OjYwMH0uc2lkZWJhci1jbG9zZXtmbGV4LXNocmluazowfS5maWxlLWV4cGxvcmVye2ZsZXg6MTtvdmVyZmxvdy15OmF1dG87cGFkZGluZzo4cHggMDttaW4taGVpZ2h0OjB9LmZpbGUtZXhwbG9yZXIuZW1wdHl7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MjRweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjgxMjVyZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZpbGUtdHJlZXtmb250LXNpemU6LjgxMjVyZW19LnRyZWUtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7cGFkZGluZzo0cHggMTJweDtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjZweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt1c2VyLXNlbGVjdDpub25lO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udHJlZS1pdGVtOmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmZmZmYjMsI2ZmZmNmNzY2KTtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmZiM30udHJlZS1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2ViLCNmZmY0ZThiZik7Y29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMCAwIDFweCAjYzU2NTNkMzgsMCAzcHggMTBweCAtM3B4ICNjNTY1M2Q0MCxpbnNldCAwIDFweCAjZmZmZmZmZDl9LnRyZWUtdG9nZ2xle2ZsZXgtc2hyaW5rOjA7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udHJlZS10b2dnbGUub3Blbnt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0udHJlZS10b2dnbGUuZW1wdHl7dmlzaWJpbGl0eTpoaWRkZW59LnRyZWUtaWNvbntmbGV4LXNocmluazowO2ZvbnQtc2l6ZToxcmVtO21hcmdpbi1yaWdodDo2cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0udHJlZS1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZsZXg6MTttaW4td2lkdGg6MH0udHJlZS1jaGlsZHJlbntkaXNwbGF5Om5vbmV9LnRyZWUtY2hpbGRyZW4ub3BlbntkaXNwbGF5OmJsb2NrfS5maWxlLWV4cGxvcmVyLWhlYWRlcntwYWRkaW5nOjEwcHggMTRweCA2cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbGJhci13aWR0aDp0aGlufS5maWxlLWV4cGxvcmVyLXBhdGh7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjE7bWluLXdpZHRoOjA7Zm9udC13ZWlnaHQ6NTAwfWlucHV0LmZpbGUtZXhwbG9yZXItcGF0aHtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjZweCAxMHB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjEuMjtjdXJzb3I6dGV4dDtjYXJldC1jb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO291dGxpbmU6bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOm1heC1jb250ZW50O21pbi13aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH1pbnB1dC5maWxlLWV4cGxvcmVyLXBhdGg6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6LjZ9aW5wdXQuZmlsZS1leHBsb3Jlci1wYXRoOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfWlucHV0LmZpbGUtZXhwbG9yZXItcGF0aDpmb2N1c3tiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dGV4dC1vdmVyZmxvdzpjbGlwO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCl9LmZpbGUtZXhwbG9yZXItcmVmcmVzaHtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjFyZW07cGFkZGluZzo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmZpbGUtZXhwbG9yZXItcmVmcmVzaDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZpbGUtc2lkZS1wYW5lbHtwb3NpdGlvbjpmaXhlZDtyaWdodDpjYWxjKC0xICogdmFyKC0tZmlsZS1wYW5lbC13aWR0aCkpO3RvcDowO2JvdHRvbTowO3dpZHRoOnZhcigtLWZpbGUtcGFuZWwtd2lkdGgpO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7ei1pbmRleDo1NTt0cmFuc2l0aW9uOnJpZ2h0IC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKSxib3gtc2hhZG93IC4zcyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym94LXNoYWRvdzotNHB4IDAgMjRweCAjMDAwMDAwMWE7cGFkZGluZy10b3A6dmFyKC0td2FuZC1zYWZlLXRvcCk7cGFkZGluZy1ib3R0b206dmFyKC0td2FuZC1zYWZlLWJvdHRvbSl9LmZpbGUtc2lkZS1wYW5lbC5vcGVue3JpZ2h0OjA7Ym94LXNoYWRvdzotOHB4IDAgMzJweCAjNTkzYTIwMjZ9LmZpbGUtcGFuZWwtYmFja2Ryb3B7ZGlzcGxheTpub25lfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5maWxlLXBhbmVsLWJhY2tkcm9we2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMyYTFjMTI0ZDt6LWluZGV4OjU0O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigycHgpfS5maWxlLXBhbmVsLWJhY2tkcm9wLm9wZW57b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LnNpZGViYXItcGluLXRvZ2dsZXtkaXNwbGF5Om5vbmV9fS5maWxlLXNpZGUtcGFuZWwtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxMnB4IDE0cHggMTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtmbGV4LXNocmluazowO2dhcDo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZmY2LCNmZmYwKX0uZmlsZS1zaWRlLXBhbmVsLXRpdGxlLWdyb3Vwe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4td2lkdGg6MDtmbGV4OjF9LmZpbGUtc2lkZS1wYW5lbC1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tYWNjZW50KTtvcGFjaXR5Oi44NX0uZmlsZS1zaWRlLXBhbmVsLXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi4wMWVtfS5maWxlLXNpZGUtcGFuZWwtaGVhZGVyLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2ZsZXgtc2hyaW5rOjB9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1zdWJ0bGUpfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuLmFjdGl2ZXtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXItY29sb3I6I2Q0OTg2MzU5fS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bi5jbG9zZTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6I2RjNDY0NjE0O2JvcmRlci1jb2xvcjojZGM0NjQ2NDB9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuIC53YW5kLWljb257ZGlzcGxheTpibG9ja30uZmlsZS1zaWRlLXBhbmVsLWljb25idG46aG92ZXIgLndhbmQtaWNvbi1yZWZyZXNoe3RyYW5zZm9ybTpyb3RhdGUoNjBkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LmZpbGUtc2lkZS1wYW5lbC1ib2R5e2ZsZXg6MTttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW59LmdpdC1zdGF0dXMtYmFkZ2V7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MXB4IDVweDtib3JkZXItcmFkaXVzOjNweDttaW4td2lkdGg6MThweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pfS5naXQtYWRkZWR7YmFja2dyb3VuZDojMjI4YjIyMjY7Y29sb3I6IzIyOGIyMn0uZ2l0LW1vZGlmaWVke2JhY2tncm91bmQ6I2ZmYTUwMDI2O2NvbG9yOm9yYW5nZX0uZ2l0LWRlbGV0ZWR7YmFja2dyb3VuZDojZGMxNDNjMjY7Y29sb3I6I2RjMTQzY30uZ2l0LXJlbmFtZWR7YmFja2dyb3VuZDojNDY4MmI0MjY7Y29sb3I6IzQ2ODJiNH0uZ2l0LXVuc3RhZ2Vke2JhY2tncm91bmQ6I2ZmOGMwMDI2O2NvbG9yOiNmZjhjMDB9LmdpdC11bnN0YWdlZC1kZWxldGVke2JhY2tncm91bmQ6I2RjMTQzYzI2O2NvbG9yOiNkYzE0M2N9LmdpdC11bnRyYWNrZWR7YmFja2dyb3VuZDojODA4MDgwMjY7Y29sb3I6Z3JheX0uZmlsZS1zZWFyY2gtYm94e3BhZGRpbmc6OHB4IDEycHggMTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmV9LmZpbGUtc2VhcmNoLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDoyMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5Oi43fS5maWxlLXNlYXJjaC1pbnB1dHtmbGV4OjE7cGFkZGluZzo3cHggMzJweCA3cHggMzBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7bWluLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6LjgxMjVyZW07Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtjYXJldC1jb2xvcjp2YXIoLS1hY2NlbnQpO291dGxpbmU6bm9uZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzIGVhc2UsYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMTVzIGVhc2V9LmZpbGUtc2VhcmNoLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tYWNjZW50LW11dGVkKX0uZmlsZS1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5maWxlLXNlYXJjaC1jbGVhcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxOHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6NHB4O3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlfS5maWxlLXNlYXJjaC1jbGVhcjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5maWxlLXNlYXJjaC1jbGVhci52aXNpYmxle2Rpc3BsYXk6aW5saW5lLWZsZXh9LmZpbGUtc2VhcmNoLWNsZWFyOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uc2lkZWJhci1ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO21pbi1oZWlnaHQ6MDtvdmVyZmxvdy15OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7cG9zaXRpb246cmVsYXRpdmV9LnNpZGViYXItaW50cm97Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbnMtbGlzdHtmbGV4OjEgMCBhdXRvO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93OnZpc2libGU7cGFkZGluZzoxMHB4IDEwcHggMTJweH0jc2Vzc2lvbnMtcGFuZWx7ZGlzcGxheTpjb250ZW50c30uc2Vzc2lvbnMtbGlzdDplbXB0eTpiZWZvcmV7Y29udGVudDoiXDY2ODJcNjVlMFw0ZjFhXDhiZGQiO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4taGVpZ2h0OjIwMHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODc1cmVtfS5zZXNzaW9uLWdyb3Vwe21hcmdpbi1ib3R0b206MTRweH0uc2Vzc2lvbi1ncm91cDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uc2Vzc2lvbi1ncm91cC10aXRsZXtwYWRkaW5nOjRweCA2cHggMTBweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4fS5zZXNzaW9uLWdyb3VwLXRpdGxlOmJlZm9yZXtjb250ZW50OiIiO3dpZHRoOjNweDtoZWlnaHQ6MTJweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7b3BhY2l0eTouNjU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCl9LmNsYXVkZS1oaXN0b3J5LXByZXZpZXd7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXNzaW9uLWl0ZW17d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZDojZmZmY2Y3ZWI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEwcHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtwYWRkaW5nOjEwcHggMTJweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZSx0cmFuc2Zvcm0gLjFzIGVhc2U7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTttYXJnaW4tYm90dG9tOjZweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnNlc3Npb24taXRlbTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjZweDtib3R0b206NnB4O3dpZHRoOjNweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVkoMCk7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7Ym9yZGVyLXJhZGl1czoycHh9LnNlc3Npb24taXRlbS1yb3d7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5zZXNzaW9uLWl0ZW0tY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOmluaGVyaXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utb3V0LWV4cG8pLGJhY2tncm91bmQgLjE4cyBlYXNlO3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0uc2Vzc2lvbi1pdGVtLnN3aXBlZCAuc2Vzc2lvbi1pdGVtLWNvbnRlbnR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNzJweCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdmNSwjZmNmNmVkZjApfS5zZXNzaW9uLXN3aXBlLWJne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpzdHJldGNoO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjE4cyBlYXNlfS5zZXNzaW9uLWl0ZW0uc3dpcGVkIC5zZXNzaW9uLXN3aXBlLWJne29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS5zZXNzaW9uLXN3aXBlLWRlbGV0ZXt3aWR0aDo3MnB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcik7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6M3B4O2ZvbnQ6aW5oZXJpdDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2N1cnNvcjpwb2ludGVyfS5zZXNzaW9uLXN3aXBlLWRlbGV0ZSBzdmd7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2t7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7bWFyZ2luLXJpZ2h0OjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2sgaW5wdXR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXJ9LnNlc3Npb24tbWFuYWdlLWNoZWNrIHNwYW57d2lkdGg6MThweDtoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjZweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4yMik7YmFja2dyb3VuZDojZmZmYmY1OGM7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmNjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZX0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2s6aG92ZXIgc3BhbntiYWNrZ3JvdW5kOiNmZmZiZjVjYztib3JkZXItY29sb3I6IzdkNWIzOTU5fS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dDpjaGVja2VkK3NwYW57YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dDpjaGVja2VkK3NwYW46YWZ0ZXJ7Y29udGVudDoiXDI3MTMiO2NvbG9yOiNmZmY7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo3MDB9LnNlc3Npb24taXRlbS5zZWxlY3RlZHtib3JkZXItY29sb3I6I2M1NjUzZDU5O2JhY2tncm91bmQ6I2ZmZjVlZWY1fS5zZXNzaW9uLWl0ZW0tcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fUBrZXlmcmFtZXMgc2Vzc2lvbi1kZWxldGUtY29sbGFwc2V7dG97bWF4LWhlaWdodDowO29wYWNpdHk6MDttYXJnaW4tYm90dG9tOjA7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO2JvcmRlci13aWR0aDowfX0uc2Vzc2lvbi1pdGVtLmRlbGV0aW5ne2FuaW1hdGlvbjpzZXNzaW9uLWRlbGV0ZS1jb2xsYXBzZSAuM3MgZWFzZS1vdXQgZm9yd2FyZHM7b3ZlcmZsb3c6aGlkZGVuO21heC1oZWlnaHQ6MTIwcHg7cG9pbnRlci1ldmVudHM6bm9uZX0uc2Vzc2lvbi1tYWlue2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDozcHg7cGFkZGluZy1yaWdodDo2MHB4fS5zZXNzaW9uLXRpdGxlLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4fS5zZXNzaW9uLXRpdGxlLXJvdyAuc2Vzc2lvbi10aXRsZSwuc2Vzc2lvbi10aXRsZS1yb3cgLnNlc3Npb24tY29tbWFuZHtmbGV4OjE7bWluLXdpZHRoOjB9LnNlc3Npb24tdGltZXtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6MS40O3BhZGRpbmctdG9wOjFweH0uc2Vzc2lvbi1hY3Rpdml0eXtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tYWNjZW50KTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bGluZS1oZWlnaHQ6MS4zO29wYWNpdHk6Ljg1fS5zZXNzaW9uLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bGluZS1oZWlnaHQ6MS4zNX0uc2Vzc2lvbi1yZWNvdmVyeS1oaW50e2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6Izk2NzY1NTE0O3BhZGRpbmc6MXB4IDVweDtib3JkZXItcmFkaXVzOjNweH0uc2Vzc2lvbi1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7bWluLWhlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4O3BhZGRpbmc6MDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOi44MTI1cmVtO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXJ9LnNlc3Npb24tYWN0aW9uLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiM5Njc2NTUxYTtjb2xvcjp2YXIoLS1hY2NlbnQpfS5zZXNzaW9uLWFjdGlvbi1idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMXN9LnNlc3Npb24tYWN0aW9uLWJ0biBzdmd7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1hY3Rpb24tYnRuLmRlbGV0ZS1idG46aG92ZXJ7YmFja2dyb3VuZDojZTc0YzNjMTQ7Y29sb3I6I2QzNTI0NH0uc2Vzc2lvbi1hY3Rpb24tYnRuLm1lcmdlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiMyZjgwZWQxYTtjb2xvcjojMmY4MGVkfS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWUtbWVyZ2V7YmFja2dyb3VuZDojMmY4MGVkMWY7Y29sb3I6IzJmODBlZH0uc2Vzc2lvbi1raW5kLWJhZGdlLndvcmt0cmVlLW1lcmdlLmZhaWxlZHtiYWNrZ3JvdW5kOiNlNzRjM2MxZjtjb2xvcjojZDM1MjQ0fS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWUtbWVyZ2UubWVyZ2Vke2JhY2tncm91bmQ6IzI3YWU2MDFmO2NvbG9yOiMyMTk2NTN9LnNlc3Npb24ta2luZC1iYWRnZS53b3JrdHJlZS1tZXJnZS5tZXJnaW5nLC5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWUtbWVyZ2UuY2hlY2tpbmd7YmFja2dyb3VuZDojZjI5OTRhMWY7Y29sb3I6I2MxN2MyYn0ubW9kYWwtc3VidGl0bGV7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLWFjdGlvbi1idG5bZGlzYWJsZWRde29wYWNpdHk6LjQ1O2N1cnNvcjpub3QtYWxsb3dlZH0uc2Vzc2lvbi1hY3Rpb24tYnRuW2Rpc2FibGVkXTpob3ZlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfUBtZWRpYShob3Zlcjpob3Zlcil7LnNlc3Npb24taXRlbSAuc2Vzc2lvbi1hY3Rpb25ze29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2V9LnNlc3Npb24taXRlbTpob3ZlciAuc2Vzc2lvbi1hY3Rpb25zLC5zZXNzaW9uLWl0ZW0uYWN0aXZlIC5zZXNzaW9uLWFjdGlvbnMsLnNlc3Npb24taXRlbS5zd2lwZWQgLnNlc3Npb24tYWN0aW9uc3tvcGFjaXR5OjF9LnNlc3Npb24taXRlbSAuc2Vzc2lvbi1hY3Rpb25zOmhhcyguc2Vzc2lvbi1hY3Rpb24tYnRuW2RhdGEtYWN0aW9uPXJlc3VtZV0pe29wYWNpdHk6MX19QG1lZGlhKGhvdmVyOm5vbmUpey5zZXNzaW9uLWl0ZW0gLnNlc3Npb24tYWN0aW9uc3tvcGFjaXR5OjF9fS5zZXNzaW9uLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDojZmZmZGZhZjU7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1kZWZhdWx0KTtib3gtc2hhZG93OjAgMnB4IDhweCAjNTkzYTIwMTJ9LnNlc3Npb24taXRlbTpob3ZlcjpiZWZvcmV7b3BhY2l0eTouNTt0cmFuc2Zvcm06c2NhbGVZKDEpfS5zZXNzaW9uLWl0ZW0uYWN0aXZle2JhY2tncm91bmQ6I2ZmZjdmMGY1O2JvcmRlci1jb2xvcjojYzU2NTNkNGQ7Ym94LXNoYWRvdzowIDJweCA4cHggI2M1NjUzZDFhfS5zZXNzaW9uLWl0ZW06YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTkpO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5zZXNzaW9uLWNvbW1hbmR7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouODEyNXJlbTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDFlbX0uc2Vzc2lvbi10aXRsZXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44MTI1cmVtO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDFlbTtsaW5lLWhlaWdodDoxLjN9QGtleWZyYW1lcyB0aXRsZUdlbmVyYXRpbmdSaHl0aG17MCUsdG97b3BhY2l0eTouNjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NTAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX19LnRpdGxlLWdlbmVyYXRpbmd7YW5pbWF0aW9uOnRpdGxlR2VuZXJhdGluZ1JoeXRobSAxLjE1cyBjdWJpYy1iZXppZXIoLjQ1LDAsLjU1LDEpIGluZmluaXRlO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBjZW50ZXJ9QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsudGl0bGUtZ2VuZXJhdGluZ3thbmltYXRpb246bm9uZSFpbXBvcnRhbnQ7b3BhY2l0eTouNzI7dHJhbnNmb3JtOm5vbmV9fS5zZXNzaW9uLW1ldGF7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmbGV4LXdyYXA6d3JhcH0uc2Vzc2lvbi1zdGF0dXN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouNjg3NXJlbTt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zZXNzaW9uLXN0YXR1cy1kb3R7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1zdGF0dXMucnVubmluZyAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyk7Ym94LXNoYWRvdzowIDAgNXB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyk7YW5pbWF0aW9uOnN0YXR1cy1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZX0uc2Vzc2lvbi1zdGF0dXMuZXhpdGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS10ZXh0LW11dGVkKX0uc2Vzc2lvbi1zdGF0dXMuZmFpbGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLXN0YXR1cy5zdG9wcGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKX0uc2Vzc2lvbi1zdGF0dXMucnVubmluZ3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5zZXNzaW9uLXN0YXR1cy5mYWlsZWR7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcil9LnNlc3Npb24tc3RhdHVzLnN0b3BwZWR7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKTtjb2xvcjp2YXIoLS13YXJuaW5nKX0uc2Vzc2lvbi1zdGF0dXMucGVybWlzc2lvbi1ibG9ja2Vke2JhY2tncm91bmQ6I2YwYTUwMDI0O2NvbG9yOiNkMThiMDB9LnNlc3Npb24tc3RhdHVzLmV4aXRlZCwuc2Vzc2lvbi1zdGF0dXMuYXJjaGl2ZWR7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9QGtleWZyYW1lcyBzdGF0dXMtcHVsc2V7MCUsdG97b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi41fX0uc2Vzc2lvbi1pZHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6Izk2NzY1NTFmO3BhZGRpbmc6MnB4IDZweDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9LnNpZGViYXItZm9vdGVye3BhZGRpbmc6MTJweCAxMnB4IDE0cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtiYWNrZ3JvdW5kOiNmZmZiZjViM30uc2lkZWJhci1mb290ZXItYWN0aW9uc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoNTZweCwxZnIpKTtnYXA6NHB4fS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NHB4O2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtwYWRkaW5nOjdweCA0cHg7bWluLWhlaWdodDo0NnB4O2JvcmRlci1yYWRpdXM6OXB4O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0biBzdmd7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtmbGV4LXNocmluazowO29wYWNpdHk6Ljg1O3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG46aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtiYWNrZ3JvdW5kOiM5Njc2NTUxNDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuOmhvdmVyIHN2Z3tvcGFjaXR5OjF9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMXN9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bi5oaWRkZW57ZGlzcGxheTpub25lfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5zaWRlYmFyLWxvZ291dHtwb3NpdGlvbjpyZWxhdGl2ZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuc2lkZWJhci1sb2dvdXQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotM3B4O3RvcDoyMiU7Ym90dG9tOjIyJTt3aWR0aDoxcHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXItc3VidGxlKTtwb2ludGVyLWV2ZW50czpub25lfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5zaWRlYmFyLWxvZ291dDpob3Zlcntjb2xvcjp2YXIoLS1kYW5nZXIpO2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuc2lkZWJhci1sb2dvdXQ6aG92ZXIgc3Zne2NvbG9yOnZhcigtLWRhbmdlcil9LnRvcGJhci1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NXB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo1MDA7cGFkZGluZzo2cHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2hlaWdodDozMnB4O21pbi1oZWlnaHQ6MzJweDt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNpemluZzpib3JkZXItYm94O2xpbmUtaGVpZ2h0OjE7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnRvcGJhci1idG46aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmODA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0udG9wYmFyLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9LnRvcGJhci1idG4uYWN0aXZle2JhY2tncm91bmQ6I2ZmZmZmZmIzO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC13ZWlnaHQ6NjAwO2JveC1zaGFkb3c6MCAxcHggNHB4ICM1OTNhMjAxYX0udG9wYmFyLWJ0bi5zcXVhcmV7d2lkdGg6MzJweDtwYWRkaW5nOjA7Zm9udC1zaXplOi44NzVyZW19I3Rlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjojYzU2NTNkMzN9I3Rlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AuYWN0aXZlOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDJlfS5idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NnB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0uMDA1ZW07cGFkZGluZzowIDE2cHg7aGVpZ2h0OjM4cHg7bWluLWhlaWdodDozOHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlvbjpyZWxhdGl2ZTt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuOmZvY3Vze291dGxpbmU6bm9uZX0uYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lO2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLDAgMCAwIDRweCB2YXIoLS1hY2NlbnQpfS5idG46ZGlzYWJsZWQsLmJ0bltkaXNhYmxlZF17b3BhY2l0eTouNDU7Y3Vyc29yOm5vdC1hbGxvd2VkO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9LmJ0bi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQtaG92ZXIpIDAlLHZhcigtLWFjY2VudCkgMTAwJSk7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtib3gtc2hhZG93OjAgMXB4IDJweCAjYzU2NTNkNTIsMCA0cHggMTBweCAtMnB4ICNjNTY1M2Q1MixpbnNldCAwIDFweCAjZmZmZmZmMzgsaW5zZXQgMCAtMXB4ICM1OTNhMjAyZX0uYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNkNjg1NWUgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgMnB4IDRweCAjYzU2NTNkNTIsMCA4cHggMjBweCAtNHB4ICNjNTY1M2Q2NixpbnNldCAwIDFweCAjZmZmZmZmNDcsaW5zZXQgMCAtMXB4ICM1OTNhMjAyZX0uYnRuLXByaW1hcnk6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudC1hY3RpdmUpIDEwMCUpO2JveC1zaGFkb3c6MCAxcHggMnB4ICNjNTY1M2Q0NyxpbnNldCAwIDFweCAjNTkzYTIwMmU7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tc2Vjb25kYXJ5e2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTI0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmJ0bi1zZWNvbmRhcnk6YWN0aXZle2JhY2tncm91bmQ6IzdkNWIzOTMzO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uYnRuLWdob3N0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWdob3N0OmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmJ0bi1naG9zdDphY3RpdmV7YmFja2dyb3VuZDojN2Q1YjM5MjQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tZGFuZ2Vye2JhY2tncm91bmQ6I2IyNGY0NTE0O2NvbG9yOnZhcigtLWRhbmdlcik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTI5O2NvbG9yOnZhcigtLWRhbmdlcil9LmJ0bi1kYW5nZXI6YWN0aXZle2JhY2tncm91bmQ6I2IyNGY0NTNkO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uYnRuLWRhbmdlcjpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLDAgMCAwIDRweCB2YXIoLS1kYW5nZXIpfS5idG4tc3VjY2Vzc3tiYWNrZ3JvdW5kOiM0ZjdhNTgxYTtjb2xvcjp2YXIoLS1zdWNjZXNzKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQ6IzRmN2E1ODJlO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5idG4tc3VjY2VzczphY3RpdmV7YmFja2dyb3VuZDojNGY3YTU4NDI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tc3VjY2Vzczpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLDAgMCAwIDRweCB2YXIoLS1zdWNjZXNzKX0uYnRuLWJsb2Nre3dpZHRoOjEwMCV9LmJ0bi14c3toZWlnaHQ6MjZweDttaW4taGVpZ2h0OjI2cHg7cGFkZGluZzowIDEwcHg7Zm9udC1zaXplOi43NXJlbTtib3JkZXItcmFkaXVzOjdweDtnYXA6NHB4fS5idG4tc217aGVpZ2h0OjMycHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtc2l6ZTouODEyNXJlbTtib3JkZXItcmFkaXVzOjhweDtnYXA6NXB4fS5idG4taWNvbntwYWRkaW5nOjA7d2lkdGg6MzZweDttaW4td2lkdGg6MzZweDtoZWlnaHQ6MzZweDttaW4taGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Z2FwOjB9LmJ0bi1pY29uLmJ0bi1zbXt3aWR0aDozMHB4O21pbi13aWR0aDozMHB4O2hlaWdodDozMHB4O21pbi1oZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjdweH0uYnRuLWljb24gc3Zne2ZsZXgtc2hyaW5rOjB9Lm1haW4tY29udGVudHtmbGV4OjE7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmV9Lm1haW4tY29udGVudC5maWxlLXBhbmVsLW9wZW57bWFyZ2luLXJpZ2h0OnZhcigtLWxheW91dC1tYWluLWZpbGUtcGFuZWwtd2lkdGgpO3RyYW5zaXRpb246bWFyZ2luLXJpZ2h0IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRlcm1pbmFsLWluZm97Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwfS5tYWluLWhlYWRlci1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjZweCAxMHB4O2ZsZXgtc2hyaW5rOjA7bWluLWhlaWdodDo0NHB4O2dhcDo4cHg7cG9zaXRpb246cmVsYXRpdmV9Lm1haW4taGVhZGVyLXJvdzphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2hlaWdodDoycHg7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjg1KSAzNSUscmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLDEpIDUwJSxyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjg1KSA2NSUsdHJhbnNwYXJlbnQgMTAwJSk7YmFja2dyb3VuZC1zaXplOjIyMCUgMTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgY2VudGVyO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlfS5tYWluLWhlYWRlci1yb3cuaXMtcnVubmluZzphZnRlcntvcGFjaXR5OjE7YW5pbWF0aW9uOnRvcGJhclByb2dyZXNzRmxvdyAxLjZzIGxpbmVhciBpbmZpbml0ZX0ubWFpbi1oZWFkZXItcm93LmlzLXBlcm1pc3Npb24tYmxvY2tlZDphZnRlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKDE2OSwxMDYsNDcsLjg1KSAzNSUscmdiYSgxNjksMTA2LDQ3LDEpIDUwJSxyZ2JhKDE2OSwxMDYsNDcsLjg1KSA2NSUsdHJhbnNwYXJlbnQgMTAwJSk7YmFja2dyb3VuZC1zaXplOjIyMCUgMTAwJTthbmltYXRpb24tZHVyYXRpb246Mi40c31Aa2V5ZnJhbWVzIHRvcGJhclByb2dyZXNzRmxvd3swJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgY2VudGVyfXRve2JhY2tncm91bmQtcG9zaXRpb246LTEwMCUgY2VudGVyfX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5tYWluLWhlYWRlci1yb3cuaXMtcnVubmluZzphZnRlcnthbmltYXRpb246bm9uZTtvcGFjaXR5Oi43fX0udG9wYmFyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZsZXgtc2hyaW5rOjB9LnRvcGJhci1jZW50ZXJ7ZmxleDoxO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtvdmVyZmxvdzpoaWRkZW59LnRvcGJhci1yaWdodHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7ZmxleC1zaHJpbms6MH0udG9wYmFyLWJyYW5ke2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tYWNjZW50KSx2YXIoLS1hY2NlbnQtYWN0aXZlKSk7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi44NXJlbTtsZXR0ZXItc3BhY2luZzouMDJlbTtib3gtc2hhZG93OjAgMXB4IDNweCAjNTkzYTIwMmU7dXNlci1zZWxlY3Q6bm9uZTtmbGV4LXNocmluazowfS50b3BiYXItc2Vzc2lvbi10aXRsZXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmbGV4LXNocmluazowO21heC13aWR0aDoyNDBweH0udG9wYmFyLWN3ZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjcycmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDowO2ZsZXg6MSAxIDA7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoycHggNnB4O2JvcmRlci1yYWRpdXM6NnB4O2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvcGJhci1jd2Q6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo0cHh9LnRvcGJhci1jd2Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Izk2NzY1NTQ3O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpfS50b3BiYXItY3dkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiM5Njc2NTU4MH0udG9wYmFyLWN3ZDpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmY4Yztjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnRhaWwtbWFycXVlZS1wYXRoe2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246Ym90dG9tOy0tdGFpbC1tYXJxdWVlLXNoaWZ0OiAwcHg7LS10YWlsLW1hcnF1ZWUtZHVyYXRpb246IDEyczstLXRhaWwtbWFycXVlZS1kZWxheTogMi40c30udGFpbC1tYXJxdWVlLXBhdGgtaW5uZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9LnRhaWwtbWFycXVlZS1wYXRoLmlzLW92ZXJmbG93aW5nIC50YWlsLW1hcnF1ZWUtcGF0aC1pbm5lcnthbmltYXRpb246dGFpbFBhdGhSZXZlYWwgdmFyKC0tdGFpbC1tYXJxdWVlLWR1cmF0aW9uKSBsaW5lYXIgdmFyKC0tdGFpbC1tYXJxdWVlLWRlbGF5KSAxIGJvdGh9LnRhaWwtbWFycXVlZS1wcmVmaXh7Y29sb3I6aW5oZXJpdH0udGFpbC1tYXJxdWVlLWxlYWZ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjUwMH1Aa2V5ZnJhbWVzIHRhaWxQYXRoUmV2ZWFsezAle3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC0xICogdmFyKC0tdGFpbC1tYXJxdWVlLXNoaWZ0KSkpfX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey50YWlsLW1hcnF1ZWUtcGF0aC5pcy1vdmVyZmxvd2luZyAudGFpbC1tYXJxdWVlLXBhdGgtaW5uZXJ7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50O3RyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtMSAqIHZhcigtLXRhaWwtbWFycXVlZS1zaGlmdCkpKX19LnRvcGJhci10YWdsaW5le2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzhyZW07d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5zZXNzaW9uLXN0YXR1cy1waWxse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzoycHggOXB4IDJweCA3cHg7ZmxleC1zaHJpbms6MDttYXgtd2lkdGg6MTQwcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0uc2Vzc2lvbi1zdGF0dXMtcGlsbCAuc2Vzc2lvbi1zdGF0dXMtZG90e3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCk7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1zdGF0dXMtcGlsbCAuc2Vzc2lvbi1zdGF0dXMtdGV4dHtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uc2Vzc2lvbi1zdGF0dXMtcGlsbC5ydW5uaW5ne2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg0ZDtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5ydW5uaW5nIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKTthbmltYXRpb246dGFzay1wdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5zZXNzaW9uLXN0YXR1cy1waWxsLnBlcm1pc3Npb24tYmxvY2tlZHtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctbXV0ZWQpO2JvcmRlci1jb2xvcjojYTk2YTJmNTk7Y29sb3I6dmFyKC0td2FybmluZyl9LnNlc3Npb24tc3RhdHVzLXBpbGwucGVybWlzc2lvbi1ibG9ja2VkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKTthbmltYXRpb246dGFzay1wdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5zZXNzaW9uLXN0YXR1cy1waWxsLmV4aXRlZCwuc2Vzc2lvbi1zdGF0dXMtcGlsbC5zdG9wcGVke2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLXN0YXR1cy1waWxsLmZhaWxlZHtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Ym9yZGVyLWNvbG9yOiNiMjRmNDU0ZDtjb2xvcjp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLXN0YXR1cy1waWxsLmZhaWxlZCAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyKX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5hcmNoaXZlZHtvcGFjaXR5Oi43fS5zZXNzaW9uLXN0YXR1cy1waWxsIC5zZXNzaW9uLXN0YXR1cy1lbGFwc2Vke2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6NHB4O3BhZGRpbmctbGVmdDo2cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtvcGFjaXR5Oi43NTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouNjVyZW07bGV0dGVyLXNwYWNpbmc6LS4wMWVtfS5jdXJyZW50LXRhc2t7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4yKTtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzoycHggOHB4IDJweCA1cHg7Zm9udC13ZWlnaHQ6NTAwO21heC13aWR0aDoyNDBweDttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47ZmxleC1zaHJpbms6MTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uY3VycmVudC10YXNrOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtmbGV4LXNocmluazowO2FuaW1hdGlvbjp0YXNrLXB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9QGtleWZyYW1lcyB0YXNrLXB1bHNlezAlLHRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle29wYWNpdHk6LjU7dHJhbnNmb3JtOnNjYWxlKC44KX19LnRvcGJhci1tb3JlLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleH0udG9wYmFyLW1vcmUtbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNnB4KTtyaWdodDowO21pbi13aWR0aDoxNjhweDtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7cGFkZGluZzo0cHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbGcpO3otaW5kZXg6NjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MXB4fS50b3BiYXItbW9yZS1tZW51LmhpZGRlbntkaXNwbGF5Om5vbmV9LnRvcGJhci1tb3JlLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O3dpZHRoOjEwMCU7cGFkZGluZzo4cHggMTJweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjgycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjhweDt0ZXh0LWFsaWduOmxlZnQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udG9wYmFyLW1vcmUtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KX0udG9wYmFyLW1vcmUtaXRlbSBzdmd7ZmxleC1zaHJpbms6MDtvcGFjaXR5Oi44NX0udG9wYmFyLW1vcmUtaXRlbS50b3BiYXItbW9yZS1pdGVtLWRhbmdlcntjb2xvcjp2YXIoLS1kYW5nZXIpfS50b3BiYXItbW9yZS1pdGVtLnRvcGJhci1tb3JlLWl0ZW0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXItaG92ZXIpfS50b3BiYXItbW9yZS1pdGVtLmhpZGRlbntkaXNwbGF5Om5vbmV9LnRvcGJhci1tb3JlLWl0ZW1bZGlzYWJsZWRde29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS50b3BiYXItbW9yZS1pdGVtW2Rpc2FibGVkXTpob3ZlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnRvcGJhci1tb3JlLWRpdmlkZXJ7aGVpZ2h0OjFweDttYXJnaW46NHB4IDZweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1kZWZhdWx0KTtvcGFjaXR5Oi42fS50ZXJtaW5hbC1jb250YWluZXJ7ZmxleDoxO2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgdG9wIHJpZ2h0LHJnYmEoOTEsNTgsMzQsLjIpLHRyYW5zcGFyZW50IDM1JSkscmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBib3R0b20gbGVmdCxyZ2JhKDE5NywxMDEsNjEsLjA4KSx0cmFuc3BhcmVudCA0MCUpLGxpbmVhci1ncmFkaWVudCgxODBkZWcsIzJhMjIxYywjMWYxYjE3LCMxYTE2MTMpO292ZXJmbG93OmhpZGRlbjttaW4taGVpZ2h0OjA7bWluLXdpZHRoOjA7bWFyZ2luOjAgNnB4IDZweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE0MCwxMTAsODUsLjM1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmYwZiwwIDhweCAzMnB4ICMwMDAwMDA1OSwwIDJweCA4cHggIzAwMDM7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1ub3JtYWwpLGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1ub3JtYWwpfS50ZXJtaW5hbC1jb250YWluZXIuYWN0aXZle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpzdHJldGNofS50ZXJtaW5hbC1zY3JvbGwtd3JhcHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjtzY3JvbGxiYXItd2lkdGg6bm9uZTtwYWRkaW5nOjEycHg7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTt0ZXh0LXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub25lO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoibGlnYSIgMCwiY2xpZyIgMCwiY2FsdCIgMCwiZGxpZyIgMDtmb250LWtlcm5pbmc6bm9uZTstLXRlcm0tZmc6ICNmNWVhZGM7LS10ZXJtLWJnOiB0cmFuc3BhcmVudDstLXRlcm0tY3Vyc29yOiAjZDY3YjUyOy0tdGVybS1mb250LWZhbWlseTogIkdlaXN0IE1vbm8iLCAiU0YgTW9ubyIsIG1vbm9zcGFjZTstLXRlcm0tZm9udC1zaXplOiAxM3B4Oy0tdGVybS1saW5lLWhlaWdodDogdmFyKC0tdGVybS1yb3ctaGVpZ2h0KTstLXRlcm0tcm93LWhlaWdodDogMjBweDstLXRlcm0tY29sb3ItMDogIzFmMWIxNzstLXRlcm0tY29sb3ItMTogI2QyNzc2NjstLXRlcm0tY29sb3ItMjogIzdmYTM2ZjstLXRlcm0tY29sb3ItMzogI2Q1YTM1YjstLXRlcm0tY29sb3ItNDogIzg3YTlkOTstLXRlcm0tY29sb3ItNTogI2M1OTVjNzstLXRlcm0tY29sb3ItNjogIzdmYjNiMTstLXRlcm0tY29sb3ItNzogI2Y1ZWFkYzstLXRlcm0tY29sb3ItODogIzYyNTM0NzstLXRlcm0tY29sb3ItOTogI2UzOWE4OTstLXRlcm0tY29sb3ItMTA6ICM5Y2MwOGE7LS10ZXJtLWNvbG9yLTExOiAjZWJiYjZlOy0tdGVybS1jb2xvci0xMjogI2E4YzFlYTstLXRlcm0tY29sb3ItMTM6ICNkYmIxZGM7LS10ZXJtLWNvbG9yLTE0OiAjOWFjYmNhOy0tdGVybS1jb2xvci0xNTogI2ZmZjdlZn0udGVybWluYWwtc2Nyb2xsLXdyYXA6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGVybWluYWwtc2Nyb2xsLXdyYXAgOjpzZWxlY3Rpb257YmFja2dyb3VuZDojZDY3YjUyNDd9LnRlcm1pbmFsLXNjcm9sbC13cmFwIC50ZXJtLWdyaWR7bWluLWhlaWdodDoxMDAlfS50ZXJtaW5hbC1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjRweDtyaWdodDoycHg7Ym90dG9tOjRweDt3aWR0aDoxNHB4O3otaW5kZXg6MTA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTtwb2ludGVyLWV2ZW50czpub25lfS50ZXJtaW5hbC1zY3JvbGxiYXIudmlzaWJsZXtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0b30udGVybWluYWwtc2Nyb2xsYmFyLXRyYWNre3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MTRweDtib3JkZXItcmFkaXVzOjdweH0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1ie3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDt3aWR0aDo4cHg7bWluLWhlaWdodDoyOHB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6I2I0OTY3ODU5O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2Usd2lkdGggLjE1cyBlYXNlLHJpZ2h0IC4xNXMgZWFzZX0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6I2M4YWE4YzhjO3dpZHRoOjEwcHg7cmlnaHQ6MnB4fS50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWIuZHJhZ2dpbmcsLnRlcm1pbmFsLXNjcm9sbGJhci10aHVtYjphY3RpdmV7YmFja2dyb3VuZDojZGNiOTk2YjM7d2lkdGg6MTBweDtyaWdodDoycHh9QG1lZGlhKHBvaW50ZXI6Y29hcnNlKXsudGVybWluYWwtc2Nyb2xsYmFyLC50ZXJtaW5hbC1zY3JvbGxiYXItdHJhY2t7d2lkdGg6MjBweH0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1ie3dpZHRoOjEycHg7cmlnaHQ6NHB4O21pbi1oZWlnaHQ6MzZweH0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLC50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWIuZHJhZ2dpbmd7d2lkdGg6MTRweDtyaWdodDozcHh9fS50ZXJtaW5hbC1jb250YWluZXI6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjojYzU2NTNkODA7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmZmZmMTQsMCA4cHggMzJweCAjMDAwNiwwIDAgMCAycHggI2M1NjUzZDI2fS50ZXJtaW5hbC1yZXNpemUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTozcHg7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTt3aWR0aDo0OHB4O2hlaWdodDo1cHg7YmFja2dyb3VuZDojZmZmZmZmMTQ7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7Y3Vyc29yOm5zLXJlc2l6ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjdweDtjb2xvcjojZmZmZmZmNDA7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyk7ei1pbmRleDoxMDtwb2ludGVyLWV2ZW50czphdXRvfS50ZXJtaW5hbC1yZXNpemUtaGFuZGxlOmJlZm9yZXtjb250ZW50OiJcMjJlZVwyMmVlIjtsZXR0ZXItc3BhY2luZzo4cHg7Zm9udC1zaXplOjZweH0udGVybWluYWwtcmVzaXplLWhhbmRsZTpob3ZlcntvcGFjaXR5OjE7YmFja2dyb3VuZDojZmZmZmZmMjY7Y29sb3I6I2ZmZmZmZjgwO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgc2NhbGUoMS4xKX0udGVybWluYWwtY29udGFpbmVyOmhvdmVyIC50ZXJtaW5hbC1yZXNpemUtaGFuZGxle29wYWNpdHk6Ljd9LnRlcm1pbmFsLWNvbnRhaW5lci5pbnRlcmFjdGl2ZXtib3JkZXItY29sb3I6IzRmN2E1ODhjO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZmZmZjBmLDAgMCAwIDJweCAjNGY3YTU4NDAsMCA4cHggMzJweCAjMDAwMDAwNTl9LnRlcm1pbmFsLWNvbnRhaW5lci5pbnRlcmFjdGl2ZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50LHZhcigtLXN1Y2Nlc3MpLHRyYW5zcGFyZW50KTthbmltYXRpb246dGVybWluYWwtYWN0aXZlLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgdGVybWluYWwtYWN0aXZlLXB1bHNlezAlLHRve29wYWNpdHk6LjV9NTAle29wYWNpdHk6MX19LnRlcm1pbmFsLWNvbnRhaW5lcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo0OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCxyZ2JhKDI2LDIyLDE5LC41KSx0cmFuc3BhcmVudCk7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO3otaW5kZXg6MTI7Ym9yZGVyLXJhZGl1czowIDAgdmFyKC0tcmFkaXVzLW1kKSB2YXIoLS1yYWRpdXMtbWQpfS50ZXJtaW5hbC1jb250YWluZXIuaGFzLWp1bXAtYnRuOmFmdGVye29wYWNpdHk6MX0udGVybWluYWwtc2NhbGUtYnRue21pbi13aWR0aDoyNHB4O2hlaWdodDoyNHB4O3BhZGRpbmc6MCA0cHg7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NjAwfS50ZXJtaW5hbC1zY2FsZS1sYWJlbHtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWluLXdpZHRoOjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowIDJweH0udGVybWluYWwtc2NhbGUtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O3JpZ2h0OjhweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MXB4O3BhZGRpbmc6MnB4O2JvcmRlci1yYWRpdXM6N3B4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDYpO2JhY2tncm91bmQ6IzE4MTQxMTYxO2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7Ym94LXNoYWRvdzowIDZweCAxOHB4ICMwMDAwMDAyZTtvcGFjaXR5Oi43Mjt0cmFuc2l0aW9uOm9wYWNpdHkgLjE4cyBlYXNlLGJhY2tncm91bmQgLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2U7ei1pbmRleDoxMjtwb2ludGVyLWV2ZW50czphdXRvfS50ZXJtaW5hbC1jb250YWluZXI6aG92ZXIgLnRlcm1pbmFsLXNjYWxlLW92ZXJsYXksLnRlcm1pbmFsLXNjYWxlLW92ZXJsYXk6Zm9jdXMtd2l0aGlue29wYWNpdHk6MTtiYWNrZ3JvdW5kOiMxODE0MTE4Zjtib3JkZXItY29sb3I6I2ZmZmZmZjFhfS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWJ0bnttaW4td2lkdGg6MjJweDtoZWlnaHQ6MjJweDtwYWRkaW5nOjAgM3B4O2NvbG9yOiNmNWVhZGNlMDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NXB4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsY29sb3IgLjE4cyBlYXNlfS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNkNjdiNTIyZTtjb2xvcjojZmZmN2VmZjV9LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXktbGFiZWx7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6I2Y1ZWFkY2E4O21pbi13aWR0aDozNHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAzcHh9LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXktZGl2aWRlcnt3aWR0aDoxcHg7aGVpZ2h0OjE0cHg7YmFja2dyb3VuZDojZjVlYWRjMzM7bWFyZ2luOjAgMnB4fS50ZXJtaW5hbC1qdW1wLWJvdHRvbXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNHB4O2JvdHRvbToxNnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MzRweDtoZWlnaHQ6MzRweDtwYWRkaW5nOjA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojMWMxNjEyYzc7Y29sb3I6I2ZmZjdlZmViO2JveC1zaGFkb3c6MCAxcHggMnB4ICMwMDAwMDA0MCwwIDhweCAyMnB4ICMwMDAwMDA1MixpbnNldCAwIDFweCAjZmZmZmZmMGY7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjEzO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KSBzY2FsZSguODYpO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNnMgdmFyKC0tZWFzZS1vdXQtZXhwbyksdHJhbnNmb3JtIC4zMnMgdmFyKC0tZWFzZS1zcHJpbmcpLGJhY2tncm91bmQgLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2UsYm94LXNoYWRvdyAuMnMgZWFzZX0udGVybWluYWwtanVtcC1ib3R0b20udmlzaWJsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7cG9pbnRlci1ldmVudHM6YXV0b30udGVybWluYWwtanVtcC1ib3R0b20gc3Zne3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0udGVybWluYWwtanVtcC1ib3R0b206aG92ZXJ7YmFja2dyb3VuZDojZDY3YjUyZWI7Ym9yZGVyLWNvbG9yOiNmZmZmZmYyZTtjb2xvcjojZmZmO2JveC1zaGFkb3c6MCAxcHggMnB4ICMwMDAwMDA0NywwIDEwcHggMjZweCAjYjg1YzM3NWMsaW5zZXQgMCAxcHggI2ZmZmZmZjJlfS50ZXJtaW5hbC1qdW1wLWJvdHRvbTpob3ZlciBzdmd7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMS41cHgpfS50ZXJtaW5hbC1qdW1wLWJvdHRvbTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjkyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wOHN9LnRlcm1pbmFsLWp1bXAtYm90dG9tOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lO2JveC1zaGFkb3c6MCAxcHggMnB4ICMwMDAwMDA0NywwIDEwcHggMjZweCAjYjg1YzM3NWMsaW5zZXQgMCAxcHggI2ZmZmZmZjJlLDAgMCAwIDNweCAjZDY3YjUyNTl9LnRlcm1pbmFsLWNvbnRhaW5lci5pbnRlcmFjdGl2ZXtib3JkZXItY29sb3I6IzRmN2E1ODgwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZmZmZjBhLDAgMCAwIDJweCAjNGY3YTU4NDAsdmFyKC0tc2hhZG93LXNvZnQpfS5taW5pLWtleWJvYXJkLWZhYntwb3NpdGlvbjpmaXhlZDtib3R0b206NjBweDtyaWdodDoxNnB4O3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOjEuMTI1cmVtO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93OjAgNHB4IDE2cHggI2I4NWMzNzU5O3otaW5kZXg6MTAwO3RyYW5zaXRpb246YWxsIC4ycyB2YXIoLS1lYXNlLXNwcmluZyl9Lm1pbmkta2V5Ym9hcmQtZmFiLnZpc2libGV7ZGlzcGxheTpmbGV4fS5taW5pLWtleWJvYXJkLWZhYjpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4xKTtib3gtc2hhZG93OjAgNnB4IDIwcHggI2I4NWMzNzczfS5taW5pLWtleWJvYXJkLWZhYjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9Lm1pbmkta2V5Ym9hcmR7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjYwcHg7cmlnaHQ6MTZweDtiYWNrZ3JvdW5kOiMyYTFmMTZmNTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIyLDkxLDY0LC41KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7Ym94LXNoYWRvdzowIDhweCAzMnB4ICMwMDA2O3otaW5kZXg6MTAwMDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjI2MHB4O2FuaW1hdGlvbjpta1NsaWRlVXAgLjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5taW5pLWtleWJvYXJkLmhpZGRlbntkaXNwbGF5Om5vbmV9QGtleWZyYW1lcyBta1NsaWRlVXB7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEycHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX1AbWVkaWEobWF4LXdpZHRoOjY0MHB4KXsubWluaS1rZXlib2FyZHtib3R0b206MjBweDtyaWdodDoxMHB4O2xlZnQ6MTBweDttaW4td2lkdGg6MH0ubWluaS1rZXlib2FyZC1mYWJ7Ym90dG9tOjIwcHg7cmlnaHQ6MTZweH19LmNoYXQtY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MTtkaXNwbGF5Om5vbmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDIwcHggMTZweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgyNTUsMjUyLDI0OCwuNSkgMCUsdHJhbnNwYXJlbnQgMTAwJSl9LmNoYXQtdW5yZWFkLWJ1YmJsZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNHB4O2JvdHRvbToxMHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjZweDtoZWlnaHQ6MzJweDttaW4td2lkdGg6MzJweDtwYWRkaW5nOjAgMTBweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC43Mik7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kOiNmZmZjZjhlYjtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjE7bGV0dGVyLXNwYWNpbmc6LjAxZW07d2hpdGUtc3BhY2U6bm93cmFwO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE0cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCk7Ym94LXNoYWRvdzowIDFweCAzcHggIzU5M2EyMDFmLDAgMTBweCAyNHB4ICNiODVjMzcyZSxpbnNldCAwIDFweCAjZmZmOTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjEzO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpIHNjYWxlKC45KTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMjZzIHZhcigtLWVhc2Utb3V0LWV4cG8pLHRyYW5zZm9ybSAuMzJzIHZhcigtLWVhc2Utc3ByaW5nKSxiYWNrZ3JvdW5kIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJveC1zaGFkb3cgLjJzIGVhc2UsY29sb3IgLjE4cyBlYXNlLHBhZGRpbmcgLjIycyB2YXIoLS1lYXNlLW91dC1leHBvKX0uY2hhdC11bnJlYWQtYnViYmxlLnZpc2libGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpO3BvaW50ZXItZXZlbnRzOmF1dG99LmNoYXQtdW5yZWFkLWJ1YmJsZS5oYXMtdW5yZWFke2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjojZmZmZmZmYzc7cGFkZGluZzowIDEycHggMCAxMHB4O2JveC1zaGFkb3c6MCAxcHggM3B4ICM1OTNhMjAyZSwwIDEycHggMjhweCAjYjg1YzM3NTIsaW5zZXQgMCAxcHggI2ZmZmZmZjQ3fS5jaGF0LXVucmVhZC1idWJibGUtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5jaGF0LXVucmVhZC1idWJibGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmYWYyO2JveC1zaGFkb3c6MCAycHggNHB4ICM1OTNhMjAyOSwwIDE0cHggMzBweCAjYjg1YzM3M2QsaW5zZXQgMCAxcHggI2ZmZmZmZmIzfS5jaGF0LXVucmVhZC1idWJibGUuaGFzLXVucmVhZDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1ob3Zlcik7Ym94LXNoYWRvdzowIDJweCA1cHggIzU5M2EyMDM4LDAgMTRweCAzMnB4ICNiODVjMzc2YixpbnNldCAwIDFweCAjZmZmZmZmNTJ9LmNoYXQtdW5yZWFkLWJ1YmJsZTpob3ZlciAuY2hhdC11bnJlYWQtYnViYmxlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMS41cHgpfS5jaGF0LXVucmVhZC1idWJibGU6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC45NCk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDhzfS5jaGF0LXVucmVhZC1idWJibGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzowIDJweCA0cHggIzU5M2EyMDMzLDAgMTJweCAyOHB4ICNiODVjMzc1MixpbnNldCAwIDFweCAjZmZmZmZmNTIsMCAwIDAgM3B4ICNjNTY1M2Q1Mn0uY2hhdC11bnJlYWQtYnViYmxlLWNvdW50e2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MTtsZXR0ZXItc3BhY2luZzouMDFlbTtwb2ludGVyLWV2ZW50czpub25lfS5jaGF0LXVucmVhZC1idWJibGUtY291bnQudmlzaWJsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FuaW1hdGlvbjpjaGF0VW5yZWFkQ291bnRQb3AgLjIycyB2YXIoLS1lYXNlLW91dC1iYWNrLCBjdWJpYy1iZXppZXIoLjM0LCAxLjU2LCAuNjQsIDEpKX0uY2hhdC11bnJlYWQtYnViYmxlLWNvdW50OmFmdGVye2NvbnRlbnQ6IiBcNjc2MVw2NWIwXDZkODhcNjA2ZiI7bWFyZ2luLWxlZnQ6MnB4O2ZvbnQtd2VpZ2h0OjUwMDtvcGFjaXR5Oi45NX1Aa2V5ZnJhbWVzIGNoYXRVbnJlYWRDb3VudFBvcHswJXt0cmFuc2Zvcm06c2NhbGUoLjYpO29wYWNpdHk6MH10b3t0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX0uY2hhdC11bnJlYWQtZGl2aWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O21hcmdpbjo2cHggNHB4IDJweDtwYWRkaW5nOjAgMnB4O2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWFjY2VudCk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07dXNlci1zZWxlY3Q6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDthbmltYXRpb246Y2hhdFVucmVhZERpdmlkZXJJbiAuMzJzIHZhcigtLWVhc2Utb3V0LWV4cG8pIGZvcndhcmRzfS5jaGF0LXVucmVhZC1kaXZpZGVyLWxpbmV7ZmxleDoxO2hlaWdodDoxcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2M1NjUzZDBkLCNjNTY1M2Q1MiwjYzU2NTNkMGQpfS5jaGF0LXVucmVhZC1kaXZpZGVyLWxhYmVse2ZsZXgtc2hyaW5rOjA7cGFkZGluZzozcHggMTBweDtiYWNrZ3JvdW5kOiNmZmY4ZjBmMjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMTgpO2JvcmRlci1yYWRpdXM6OTk5cHg7Ym94LXNoYWRvdzowIDFweCAzcHggI2I4NWMzNzFhO3doaXRlLXNwYWNlOm5vd3JhcH1Aa2V5ZnJhbWVzIGNoYXRVbnJlYWREaXZpZGVySW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmNoYXQtY29udGFpbmVyLmFjdGl2ZXtkaXNwbGF5OmZsZXh9LmNoYXQtY29udGFpbmVyOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjQ4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMjU1LDI1MiwyNDgsLjYpLHRyYW5zcGFyZW50KTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7ei1pbmRleDoxMn0uY2hhdC1jb250YWluZXIuaGFzLWp1bXAtYnRuOmFmdGVye29wYWNpdHk6MX0uY2hhdC1tZXNzYWdlc3tmbGV4OjE7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZTtnYXA6MTZweDtwYWRkaW5nOjIwcHggNHB4IDEycHg7bWluLWhlaWdodDowO21pbi13aWR0aDowO3Njcm9sbGJhci1ndXR0ZXI6c3RhYmxlO292ZXJzY3JvbGwtYmVoYXZpb3IteTpjb250YWluOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3RvdWNoLWFjdGlvbjpwYW4teTtvdmVyZmxvdy1hbmNob3I6bm9uZTtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LmNoYXQtbG9hZC1tb3Jle2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6OHB4IDB9LmNoYXQtbG9hZC1tb3JlLWJ0bntiYWNrZ3JvdW5kOnZhcigtLWJnLWhvdmVyKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbTtwYWRkaW5nOjZweCAxNnB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlfS5jaGF0LWxvYWQtbW9yZS1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9QG1lZGlhKHBvaW50ZXI6Y29hcnNlKSwobWF4LXdpZHRoOjc2OHB4KXsuY2hhdC1sb2FkLW1vcmV7cGFkZGluZzoxMnB4IDB9LmNoYXQtbG9hZC1tb3JlLWJ0bnttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzo4cHggMThweDtmb250LXNpemU6Ljc4cmVtfS5jaGF0LW1lc3NhZ2UuYW5pbWF0ZS1pbnthbmltYXRpb24tZHVyYXRpb246LjE4c30uY2hhdC1tZXNzYWdlLnVzZXIuYW5pbWF0ZS1pbnthbmltYXRpb24tZHVyYXRpb246LjE3c319QGtleWZyYW1lcyBtZXNzYWdlU2xpZGV7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCkgc2NhbGUoLjk4NSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX1Aa2V5ZnJhbWVzIG1lc3NhZ2VTbGlkZVVzZXJ7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMTBweCkgdHJhbnNsYXRlWSg0cHgpIHNjYWxlKC45ODUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApIHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSl9fUBrZXlmcmFtZXMgbWVzc2FnZUZsb2F0ezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtM3B4KX19LmNoYXQtbWVzc2FnZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO21hcmdpbjo0cHggMDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UsdHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKTstLWNoYXQtY2FyZC1tYXgtd2lkdGg6IDcyMHB4fS5jaGF0LW1lc3NhZ2U6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9QG1lZGlhKGhvdmVyOm5vbmUpey5jaGF0LW1lc3NhZ2U6aG92ZXJ7dHJhbnNmb3JtOm5vbmV9LmNoYXQtbWVzc2FnZTpob3ZlciAuY2hhdC1tZXNzYWdlLWJ1YmJsZXtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSl9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnQ6aG92ZXIgLmNoYXQtbWVzc2FnZS1idWJibGV7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKX19LmNoYXQtbWVzc2FnZS51c2Vye2FsaWduLXNlbGY6ZmxleC1lbmR9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnR7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCV9LmNoYXQtbWVzc2FnZS5zeXN0ZW0taW5mb3thbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlO21hcmdpbjoxMHB4IDA7YW5pbWF0aW9uOm1lc3NhZ2VGbG9hdCAzcyBlYXNlLWluLW91dCBpbmZpbml0ZX0uc3lzdGVtLWluZm8tY2FyZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzYzNjZmMTE0LCM2MzY2ZjEwYSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDk5LDEwMiwyNDEsLjIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtwYWRkaW5nOjEycHggMTZweDtmb250LXNpemU6LjgxMjVyZW07Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteHMpfS5zeXN0ZW0taW5mby1oZWFkZXJ7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiM2MzY2ZjFmMjttYXJnaW4tYm90dG9tOjhweDtmb250LXNpemU6LjY4NzVyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wOGVtO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0uc3lzdGVtLWluZm8taGVhZGVyOmJlZm9yZXtjb250ZW50OiIiO3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JhY2tncm91bmQ6IzYzNjZmMTk5O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpfS5zeXN0ZW0taW5mby1jb250ZW50e2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtsaW5lLWhlaWdodDp2YXIoLS1saW5lLWhlaWdodC1iYXNlKTttYXgtaGVpZ2h0OjIwMHB4O292ZXJmbG93LXk6YXV0b30uY2hhdC1tZXNzYWdlLmFuaW1hdGUtaW57YW5pbWF0aW9uOm1lc3NhZ2VTbGlkZSAuMjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtfS5jaGF0LW1lc3NhZ2UudXNlci5hbmltYXRlLWlue2FuaW1hdGlvbjptZXNzYWdlU2xpZGVVc2VyIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0uY2hhdC1tZXNzYWdlLWF2YXRhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzowIDJweCA0cHh9LmNoYXQtbWVzc2FnZS1hdmF0YXIuYXNzaXN0YW50e2ZsZXgtZGlyZWN0aW9uOnJvd30uY2hhdC1tZXNzYWdlLWF2YXRhci51c2Vye2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5waXhlbC1hdmF0YXJ7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6NnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtib3gtc2hhZG93OjAgMXB4IDNweCAjMDAwMDAwMjZ9LnBpeGVsLWF2YXRhci1pbWFnZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0ucGl4ZWwtYXZhdGFyLXN2Z3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7aW1hZ2UtcmVuZGVyaW5nOnBpeGVsYXRlZH0uYXZhdGFyLW5hbWV7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDNlbTtsaW5lLWhlaWdodDoxfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50IC5hdmF0YXItbmFtZXtjb2xvcjp2YXIoLS1hY2NlbnQpfS5jaGF0LW1lc3NhZ2UudXNlciAuYXZhdGFyLW5hbWV7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSl9LmNoYXQtbWVzc2FnZS1idWJibGV7cGFkZGluZzoxMnB4IDE2cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OnZhcigtLWxpbmUtaGVpZ2h0LXJlbGF4ZWQpO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkO3doaXRlLXNwYWNlOnByZS13cmFwO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY2hhdC1tZXNzYWdlOmhvdmVyIC5jaGF0LW1lc3NhZ2UtYnViYmxle2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1kKX0uY2hhdC1tZXNzYWdlLnVzZXIgLmNoYXQtbWVzc2FnZS1idWJibGV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWFjY2VudCkgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKSB2YXIoLS1yYWRpdXMtbGcpIHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLWxnKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDtib3gtc2hhZG93OjAgNHB4IDE2cHggI2M1NjUzZDRkLGluc2V0IDAgMXB4ICNmZmZmZmYyNn0uY2hhdC1tZXNzYWdlLnVzZXJ7bWF4LXdpZHRoOjEwMCV9LnVzZXItYXR0YWNobWVudHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6NnB4O21hcmdpbi1ib3R0b206NnB4fS51c2VyLWF0dGFjaG1lbnQtaW1hZ2V7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDowfS51c2VyLWF0dGFjaG1lbnQtdGh1bWJ7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6bWluKDEwMCUsMjQwcHgpO21heC1oZWlnaHQ6MjAwcHg7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bztib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yNSk7b2JqZWN0LWZpdDpjb250YWluO2N1cnNvcjp6b29tLWluO2JveC1zaGFkb3c6MCAycHggOHB4ICMwMDAwMDAyNDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xNnMgZWFzZX0udXNlci1hdHRhY2htZW50LXRodW1iOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCA0cHggMTRweCAjMDAwMzt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0udXNlci1hdHRhY2htZW50LWZpbGV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjVweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXN1cmZhY2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzVyZW07Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZX0udXNlci1hdHRhY2htZW50LWZpbGU6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0udXNlci1hdHRhY2htZW50LWZpbGUtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtc2hyaW5rOjA7Y29sb3I6dmFyKC0tYWNjZW50KX0udXNlci1hdHRhY2htZW50LWZpbGUtbmFtZXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnVzZXItYXR0YWNobWVudC10ZXh0e3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50IC5jaGF0LW1lc3NhZ2UtYnViYmxle2JhY2tncm91bmQ6dmFyKC0tYmctc3VyZmFjZSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtwYWRkaW5nOjE0cHggMThweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKX0uY2hhdC1tZXNzYWdlLmFzc2lzdGFudDpob3ZlciAuY2hhdC1tZXNzYWdlLWJ1YmJsZXtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LXNvZnQpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1kKX0uY2hhdC1tZXNzYWdlLWNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6dmFyKC0tbGluZS1oZWlnaHQtcmVsYXhlZCk7d29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YW55d2hlcmU7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNoYXQtbWVzc2FnZS1jb250ZW50Pi50aGlua2luZy1pbmxpbmUsLmNoYXQtbWVzc2FnZS1jb250ZW50Pi5pbmxpbmUtdG9vbCwuY2hhdC1tZXNzYWdlLWNvbnRlbnQ+LnRvb2wtdXNlLWNhcmQsLmNoYXQtbWVzc2FnZS1jb250ZW50Pi50b29sLWdyb3Vwe21hcmdpbjozcHggMH0udHVybi11c2FnZS1zdW1tYXJ5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo2cHg7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjIwcHg7bWFyZ2luLXRvcDo2cHg7cGFkZGluZzoycHggMnB4IDA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxtb25vc3BhY2U7Zm9udC1zaXplOi42N3JlbTtsaW5lLWhlaWdodDoxLjQ1O2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztib3gtc2l6aW5nOmJvcmRlci1ib3h9LnR1cm4tdXNhZ2Utc3VtbWFyeS5pcy1lc3RpbWF0ZWR7b3BhY2l0eTouODJ9LnR1cm4tdXNhZ2UtaWNvbnt3aWR0aDoxM3B4O2hlaWdodDoxM3B4O21hcmdpbi10b3A6MXB4O2ZsZXg6MCAwIGF1dG87ZmlsbDpub25lO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLXdpZHRoOjEuMzU7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfS5jaGF0LW1lc3NhZ2UubXVsdGktYWdlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94fS5jaGF0LW1lc3NhZ2UudXNlci5tdWx0aS1hZ2VudHthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uY2hhdC1tZXNzYWdlLm11bHRpLWFnZW50IC5jaGF0LW1lc3NhZ2Utc2VnbWVudHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLXNlbGY6ZmxleC1zdGFydDt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY2hhdC1tZXNzYWdlLm11bHRpLWFnZW50IC5jaGF0LW1lc3NhZ2Utc2VnbWVudC5zdWJhZ2VudHtwYWRkaW5nLWxlZnQ6MTBweDttYXJnaW4tbGVmdDo2cHg7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1ib3JkZXItc3VidGxlKSk7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMDt3aWR0aDpjYWxjKDEwMCUgLSA2cHgpO21heC13aWR0aDpjYWxjKDEwMCUgLSA2cHgpfS5jaGF0LW1lc3NhZ2UubXVsdGktYWdlbnQgLmNoYXQtbWVzc2FnZS1zZWdtZW50LnN1YmFnZW50IC5jaGF0LW1lc3NhZ2UtY29udGVudHtvcGFjaXR5Oi45Nn0uY2hhdC1tZXNzYWdlLm11bHRpLWFnZW50IC5jaGF0LW1lc3NhZ2Utc2VnbWVudCAuY2hhdC1tZXNzYWdlLWF2YXRhcntwYWRkaW5nLWJvdHRvbTo0cHh9LmNoYXQtbWVzc2FnZS1hdmF0YXIuc3ViYWdlbnQgLmF2YXRhci1uYW1le2NvbG9yOnZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKX0uc3ViYWdlbnQtcmVwbHl7YmFja2dyb3VuZDojYzU2NTNkMGY7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNiUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4yKTtib3JkZXI6MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAyMCUsdHJhbnNwYXJlbnQpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjEwcHggMTRweDttYXJnaW46NHB4IDA7bGluZS1oZWlnaHQ6MS41NTtmb250LXNpemU6Ljg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVufS5zdWJhZ2VudC1yZXBseT46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5zdWJhZ2VudC1yZXBseT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnN1YmFnZW50LXJlcGx5LmVycm9ye2JhY2tncm91bmQ6I2UyNTc0YzE0O2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyLCAjZTI1NzRjKSA4JSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyLWNvbG9yOiNlMjU3NGM1OTtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyLCAjZTI1NzRjKSAzNSUsdHJhbnNwYXJlbnQpfS5zdWJhZ2VudC1yZXBseS5wZW5kaW5ne29wYWNpdHk6Ljc7cGFkZGluZzoxNHB4IDE2cHh9LnN1YmFnZW50LXJlcGx5Om5vdCguY29sbGFwc2libGUpe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo2cHh9LnN1YmFnZW50LXJlcGx5IHByZSwuc3ViYWdlbnQtcmVwbHkgY29kZXtmb250LXNpemU6LjgycmVtfS5zdWJhZ2VudC1yZXBseSBwcmV7YmFja2dyb3VuZDojMDAwMDAwMGE7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLXJhZGl1czo2cHg7b3ZlcmZsb3cteDpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YW55d2hlcmU7bWFyZ2luOjhweCAwO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5zdWJhZ2VudC1wYW5lbHttYXJnaW46OHB4IDA7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMjUlLHRyYW5zcGFyZW50KTtib3JkZXItbGVmdDozcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDU1JSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAzJSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym94LXNoYWRvdzowIDFweCAycHggIzAwMDAwMDA4fS5zdWJhZ2VudC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEycHg7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMTAlLHZhcigtLWJnLXN1cmZhY2UpKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMTYlLHRyYW5zcGFyZW50KTtmb250LXNpemU6Ljc4cmVtO2xpbmUtaGVpZ2h0OjEuMzV9LnN1YmFnZW50LXBhbmVsLWhlYWRlcjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA1NSUsdHJhbnNwYXJlbnQpO291dGxpbmUtb2Zmc2V0Oi0ycHh9LnN1YmFnZW50LXBhbmVsLWFycm93e2ZsZXg6MCAwIGF1dG87Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDY1JSx2YXIoLS10ZXh0LXByaW1hcnkpKTtvcGFjaXR5Oi44O2ZvbnQtd2VpZ2h0OjYwMH0uc3ViYWdlbnQtcGFuZWwtYXR0cmlidXRpb257ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc3ViYWdlbnQtcGFuZWwtbmFtZXtjb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgODglLHZhcigtLXRleHQtcHJpbWFyeSkpO2ZvbnQtd2VpZ2h0OjYwMH0uc3ViYWdlbnQtcGFuZWwtdGFne2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIDZweDtwYWRkaW5nOjAgNnB4O2ZvbnQtc2l6ZTouNjJyZW07Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wNGVtO2NvbG9yOnZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxMiUsdHJhbnNwYXJlbnQpO2JvcmRlcjoxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDMwJSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czo0cHg7dmVydGljYWwtYWxpZ246MXB4O2xpbmUtaGVpZ2h0OjEuNDt3aGl0ZS1zcGFjZTpub3dyYXB9LnN1YmFnZW50LXBhbmVsLXRhc2stZGVzY3tjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo0MDB9LnN1YmFnZW50LXBhbmVsLWNvdW50e2ZsZXg6MCAwIGF1dG87ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzozcHggOHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMjQlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA5JSx2YXIoLS1iZy1zdXJmYWNlKSk7Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDcyJSx2YXIoLS10ZXh0LXByaW1hcnkpKTtmb250LXNpemU6LjdyZW07Zm9udC13ZWlnaHQ6NjAwO3doaXRlLXNwYWNlOm5vd3JhcH0uc3ViYWdlbnQtcGFuZWwtdG9nZ2xle2Rpc3BsYXk6bm9uZTtmbGV4OjAgMCBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O3BhZGRpbmc6M3B4IDEwcHg7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjM7Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDc4JSx2YXIoLS10ZXh0LXByaW1hcnkpKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA4JSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMzAlLHRyYW5zcGFyZW50KTtib3JkZXItcmFkaXVzOjk5OXB4O2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlLHRyYW5zZm9ybSAuMXMgZWFzZX0uc3ViYWdlbnQtcGFuZWwtdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDE4JSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA0NSUsdHJhbnNwYXJlbnQpfS5zdWJhZ2VudC1wYW5lbC10b2dnbGU6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnN1YmFnZW50LXBhbmVsLXRvZ2dsZS1pY29ue3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvLCBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSkpfS5zdWJhZ2VudC1wYW5lbFtkYXRhLWV4cGFuZGVkPXRydWVdIC5zdWJhZ2VudC1wYW5lbC10b2dnbGUtaWNvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnN1YmFnZW50LXBhbmVsLWJvZHl7cGFkZGluZzoxMHB4IDE0cHg7aGVpZ2h0OjMyMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCU7c2Nyb2xsYmFyLWd1dHRlcjpzdGFibGU7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS5zdWJhZ2VudC1wYW5lbFtkYXRhLWV4cGFuZGVkPWZhbHNlXSAuc3ViYWdlbnQtcGFuZWwtYm9keSwuc3ViYWdlbnQtcGFuZWxbZGF0YS1leHBhbmRlZD10cnVlXSAuc3ViYWdlbnQtcGFuZWwtYm9keXtoZWlnaHQ6MzIwcHh9LnN1YmFnZW50LXBhbmVsLWJvZHk+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uc3ViYWdlbnQtcGFuZWwtYm9keT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnN1YmFnZW50LXBhbmVsLWJvZHkgLnRvb2wtdXNlLWNhcmQsLnN1YmFnZW50LXBhbmVsLWJvZHkgLnRvb2wtZ3JvdXAsLnN1YmFnZW50LXBhbmVsLWJvZHkgLmlubGluZS10b29sLC5zdWJhZ2VudC1wYW5lbC1ib2R5IC5pbmxpbmUtdGVybWluYWwsLnN1YmFnZW50LXBhbmVsLWJvZHkgLmlubGluZS1kaWZme21hcmdpbjo0cHggMH0uc3ViYWdlbnQtcGFuZWwtYm9keSAubWFya2Rvd24tY29udGVudHtmb250LXNpemU6Ljg3NXJlbX0uc3ViYWdlbnQtcGFuZWwtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6N3B4O2hlaWdodDo3cHh9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDMyJSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czo0cHh9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDUwJSx0cmFuc3BhcmVudCl9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LnN1YmFnZW50LXBhbmVsLWZvb3RlcntkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNiUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlci10b3A6MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxNCUsdHJhbnNwYXJlbnQpO2ZvbnQtc2l6ZTouN3JlbX0uc3ViYWdlbnQtcGFuZWwtZm9vdGVyLWhpbnR7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi43O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zdWJhZ2VudC1yZXBseS5jb2xsYXBzaWJsZXtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5zdWJhZ2VudC1yZXBseS5maW5hbHttYXJnaW46NnB4IDAgMDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXItbGVmdDozcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDYwJSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNSUsdmFyKC0tYmctc3VyZmFjZSkpfS5zdWJhZ2VudC1yZXBseS5maW5hbC5lcnJvcntib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1kYW5nZXIsICNlMjU3NGMpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyLCAjZTI1NzRjKSA1JSx2YXIoLS1iZy1zdXJmYWNlKSl9LnN1YmFnZW50LXJlcGx5LW1hcmtlcntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O21hcmdpbi1ib3R0b206NHB4O2ZvbnQtc2l6ZTouNjhyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNzglLHZhcigtLXRleHQtcHJpbWFyeSkpfS5zdWJhZ2VudC1yZXBseS1tYXJrZXIuZXJyb3J7Y29sb3I6dmFyKC0tZGFuZ2VyLCAjZTI1NzRjKX0uc3ViYWdlbnQtcmVwbHktbWFya2VyLnBlbmRpbmd7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzowO2ZvbnQtd2VpZ2h0OjUwMH0uc3ViYWdlbnQtcmVwbHktbWFya2VyLWljb257Zm9udC13ZWlnaHQ6NzAwfS5zdWJhZ2VudC1yZXBseS5maW5hbCAuc3ViYWdlbnQtcmVwbHktY29udGVudD46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5zdWJhZ2VudC1yZXBseS5maW5hbCAuc3ViYWdlbnQtcmVwbHktY29udGVudD46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmVtcHR5LW1lc3NhZ2UgLmVtcHR5LW1lc3NhZ2UtaGludHtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmb250LXN0eWxlOml0YWxpYztmb250LXNpemU6LjgxMjVyZW07b3BhY2l0eTouN30udW5rbm93bi1ibG9ja3ttYXJnaW46NHB4IDA7Ym9yZGVyOjFweCBkYXNoZWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tdGV4dC1tdXRlZCkgNiUsdHJhbnNwYXJlbnQpO2ZvbnQtc2l6ZTouNzVyZW07Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnVua25vd24tYmxvY2s6aG92ZXJ7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS10ZXh0LW11dGVkKSAxMCUsdHJhbnNwYXJlbnQpfS51bmtub3duLWJsb2NrLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo2cHggMTBweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnVua25vd24tYmxvY2staWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS10ZXh0LW11dGVkKTtjb2xvcjp2YXIoLS1iZy1zdXJmYWNlKTtmb250LXNpemU6LjdyZW07Zm9udC13ZWlnaHQ6NjAwfS51bmtub3duLWJsb2NrLWxhYmVse2ZsZXg6MTtmb250LXdlaWdodDo1MDB9LnVua25vd24tYmxvY2stdG9nZ2xle2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZvbnQtc2l6ZTouN3JlbTt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS51bmtub3duLWJsb2NrLmNvbGxhcHNlZCAudW5rbm93bi1ibG9jay10b2dnbGV7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS51bmtub3duLWJsb2NrLWJvZHl7bWFyZ2luOjA7cGFkZGluZzo4cHggMTBweCAxMHB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsO21heC1oZWlnaHQ6MjQwcHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2JvcmRlci10b3A6MXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnVua25vd24tYmxvY2suY29sbGFwc2VkIC51bmtub3duLWJsb2NrLWJvZHl7ZGlzcGxheTpub25lfS50b29sLXVzZS1jYXJkW2RhdGEtdHJ1bmNhdGVkPXRydWVdIC50b29sLXVzZS1uYW1lOmFmdGVyLC5pbmxpbmUtdG9vbFtkYXRhLXRydW5jYXRlZD10cnVlXSAuaW5saW5lLXRvb2wtdGl0bGU6YWZ0ZXJ7Y29udGVudDoiXDVkZjJcNjIyYVw2NWFkIjtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDo2cHg7cGFkZGluZzoxcHggNnB4O2ZvbnQtc2l6ZTouNnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlLCAjZmZmKTtiYWNrZ3JvdW5kOnZhcigtLXRleHQtdGVydGlhcnkpO2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAyZW07dmVydGljYWwtYWxpZ246MXB4O29wYWNpdHk6Ljg1fS5jaGF0LW1lc3NhZ2UudGhpbmtpbmd7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O21heC13aWR0aDoxMDAlO21hcmdpbjo0cHggMH0uY2hhdC1tZXNzYWdlLnByb21wdHthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJTttYXJnaW46NHB4IDB9LnByb21wdC1jYXJke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnByb21wdC1pY29ue2ZvbnQtc2l6ZTouODc1cmVtfS5wcm9tcHQtY29udGVudHtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc3R5bGU6aXRhbGljfS5wcm9tcHQtdGV4dHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOiNjNTY1M2RjYztmb250LXdlaWdodDo1MDB9LnR5cGluZy1pbmRpY2F0b3J7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O3BhZGRpbmc6NnB4IDB9LnR5cGluZy1pbmRpY2F0b3Igc3BhbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo3cHg7aGVpZ2h0OjdweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zb2Z0KTthbmltYXRpb246dHlwaW5nQm91bmNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9LnR5cGluZy1pbmRpY2F0b3Igc3BhbjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9LnR5cGluZy1pbmRpY2F0b3Igc3BhbjpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zc31Aa2V5ZnJhbWVzIHR5cGluZ0JvdW5jZXswJSw2MCUsdG97b3BhY2l0eTouMzU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MzAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KX19LnRvb2wtdXNlLWNhcmR7bWFyZ2luOjRweCAwO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmYmY1ZTAsI2ZmZjZlYWI4KTtib3gtc2hhZG93OjAgMXB4IDJweCAjNTkzYTIwMGE7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjIycyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlLHRyYW5zZm9ybSAuMjJzIGVhc2V9LnRvb2wtdXNlLWNhcmQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg0ZDtib3gtc2hhZG93OjAgM3B4IDEycHggIzRmN2E1ODE0fS50b29sLXVzZS1jYXJkLmxvYWRpbmd7Ym9yZGVyLWNvbG9yOiNhOTZhMmY0ZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZjRlMmUwLCNmZmYxZGFiOCl9LnRvb2wtdXNlLWNhcmQuc3VjY2Vzc3tib3JkZXItY29sb3I6IzRmN2E1ODUyfS50b29sLXVzZS1jYXJkLmVycm9ye2JvcmRlci1jb2xvcjojYjI0ZjQ1NTI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmY2YwZWVlMCwjZmNlYmU5YjgpfS50b29sLXVzZS1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjlweCAxNHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi44MTI1cmVtO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2U7bWluLWhlaWdodDozOHB4O2ZsZXgtd3JhcDpub3dyYXB9LnRvb2wtdXNlLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QwYX0udG9vbC11c2UtaGVhZGVyOmFjdGl2ZXtiYWNrZ3JvdW5kOiNjNTY1M2QxMn0udG9vbC11c2UtY2FyZC5sb2FkaW5nIC50b29sLXVzZS1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojYTk2YTJmMGZ9LnRvb2wtdXNlLWNhcmQuc3VjY2VzcyAudG9vbC11c2UtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6IzRmN2E1ODBmfS50b29sLXVzZS1jYXJkLmVycm9yIC50b29sLXVzZS1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MGZ9LnRvb2wtdXNlLWljb257Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC13ZWlnaHQ6NzAwO2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6MjJweDtoZWlnaHQ6MjJweDtib3JkZXItcmFkaXVzOjZweDtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2xldHRlci1zcGFjaW5nOi0uMDJlbX0udG9vbC11c2UtY2FyZC5sb2FkaW5nIC50b29sLXVzZS1pY29ue2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyl9LnRvb2wtdXNlLWNhcmQuZXJyb3IgLnRvb2wtdXNlLWljb257YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcil9LnRvb2wtdXNlLXNwaW5uZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXdhcm5pbmctbXV0ZWQpO2JvcmRlci10b3AtY29sb3I6dmFyKC0td2FybmluZyk7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnRvb2wtc3BpbiAuOHMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdG9vbC1zcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnRvb2wtdXNlLW5hbWV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbX0udG9vbC11c2UtZmlsZXtmb250LXNpemU6Ljc1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7bWF4LXdpZHRoOjMyMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDowfS50b29sLXVzZS1zdW1tYXJ5e2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZsZXg6MCAxIGF1dG87bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjJweH0udG9vbC11c2UtdG9nZ2xle2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utc3ByaW5nKSxjb2xvciAuMThzIGVhc2U7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6LjZ9LnRvb2wtdXNlLWNhcmQ6aG92ZXIgLnRvb2wtdXNlLXRvZ2dsZXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7b3BhY2l0eToxfS50b29sLXVzZS1jYXJkLmNvbGxhcHNlZCAudG9vbC11c2UtdG9nZ2xle3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0udG9vbC11c2UtYm9keXtwYWRkaW5nOjEycHggMTRweDtiYWNrZ3JvdW5kOiNmZmZkZjhhNjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpO21heC1oZWlnaHQ6NjAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246bWF4LWhlaWdodCAuMjRzIHZhcigtLWVhc2Utb3V0LWV4cG8pLHBhZGRpbmcgLjI0cyB2YXIoLS1lYXNlLW91dC1leHBvKSxvcGFjaXR5IC4xOHMgZWFzZSx0cmFuc2Zvcm0gLjI0cyB2YXIoLS1lYXNlLW91dC1leHBvKTtvcGFjaXR5OjE7dHJhbnNmb3JtLW9yaWdpbjp0b3B9LnRvb2wtdXNlLWNhcmQuY29sbGFwc2VkIC50b29sLXVzZS1ib2R5e21heC1oZWlnaHQ6MDtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVkoLjk1KTt2aXNpYmlsaXR5OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS50b29sLXVzZS1jb250ZW50e21hcmdpbjowO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDo0MDBweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87bGluZS1oZWlnaHQ6MS41NX0udG9vbC11c2UtcmVzdWx0e21hcmdpbi10b3A6MTBweDtwYWRkaW5nLXRvcDoxMHB4O2JvcmRlci10b3A6MXB4IGRhc2hlZCByZ2JhKDEyNSw5MSw1NywuMTQpfS50b29sLXVzZS1yZXN1bHQtY29udGVudHttYXJnaW46MDtmb250LXNpemU6Ljc1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGw7bWF4LWhlaWdodDozMjBweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87bGluZS1oZWlnaHQ6MS41NTtiYWNrZ3JvdW5kOiM3ZDViMzkwOTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyk7cGFkZGluZzo4cHggMTBweDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnRvb2wtdXNlLXJlc3VsdC1lbXB0eXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc3R5bGU6aXRhbGljfS50b29sLXVzZS1tZXRhe2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTttYXJnaW4tYm90dG9tOjhweDtwYWRkaW5nLWJvdHRvbTo4cHg7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkIHJnYmEoMTI1LDkxLDU3LC4xNCl9LnRvb2wtdXNlLW1ldGEtbGFiZWx7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjYwMH0udG9vbC11c2UtY2FyZC5hc2stdXNlcntib3JkZXItY29sb3I6I2M1NjUzZDRkO2JhY2tncm91bmQ6I2M1NjUzZDBhfS50b29sLXVzZS1jYXJkLmFzay11c2VyIC50b29sLXVzZS1oZWFkZXJ7YmFja2dyb3VuZDojYzU2NTNkMTR9LmFzay11c2VyLWJvZHl7cGFkZGluZzoxMHB4IDEycHh9LmFzay11c2VyLXF1ZXN0aW9uLWdyb3Vwe21hcmdpbi1ib3R0b206MTBweH0uYXNrLXVzZXItcXVlc3Rpb24tZ3JvdXA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmFzay11c2VyLXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO21hcmdpbi1ib3R0b206MTBweH0uYXNrLXVzZXItb3B0aW9uc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHh9LmFzay11c2VyLW9wdGlvbntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3RleHQtYWxpZ246bGVmdH0uYXNrLXVzZXItb3B0aW9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2M1NjUzZDBmfS5hc2stdXNlci1vcHRpb246ZGlzYWJsZWR7b3BhY2l0eTouNTtjdXJzb3I6bm90LWFsbG93ZWR9LmFzay11c2VyLW9wdGlvbi5zZWxlY3RlZHtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNjNTY1M2QyZTtib3gtc2hhZG93OjAgMCAwIDFweCAjYzU2NTNkNTkgaW5zZXR9LnRvb2wtdXNlLWNhcmQuYXNrLXVzZXIuYXNrLXVzZXItYW5zd2VyZWR7Ym9yZGVyLXRvcDoycHggc29saWQgdmFyKC0tc3VjY2VzcywgIzRjYWY1MCl9LmFzay11c2VyLW9wdGlvbi5hc2stdXNlci1vcHRpb24tY2hvc2Vue2JhY2tncm91bmQ6I2M1NjUzZDI5O2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5hc2stdXNlci1pbmRpY2F0b3J7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtmbGV4LXNocmluazowO2JvcmRlcjoycHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6NTAlO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5hc2stdXNlci1vcHRpb25zW2RhdGEtbXVsdGktc2VsZWN0PXRydWVdIC5hc2stdXNlci1pbmRpY2F0b3J7Ym9yZGVyLXJhZGl1czozcHh9LmFzay11c2VyLW9wdGlvbi5zZWxlY3RlZCAuYXNrLXVzZXItaW5kaWNhdG9ye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KX0uYXNrLXVzZXItb3B0aW9uLnNlbGVjdGVkIC5hc2stdXNlci1pbmRpY2F0b3I6YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDo2cHg7aGVpZ2h0OjZweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo1MCV9LmFzay11c2VyLW9wdGlvbnNbZGF0YS1tdWx0aS1zZWxlY3Q9dHJ1ZV0gLmFzay11c2VyLW9wdGlvbi5zZWxlY3RlZCAuYXNrLXVzZXItaW5kaWNhdG9yOmFmdGVye3dpZHRoOjRweDtoZWlnaHQ6OHB4O2JvcmRlcjpzb2xpZCB3aGl0ZTtib3JkZXItd2lkdGg6MCAycHggMnB4IDA7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQ6bm9uZTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTttYXJnaW4tYm90dG9tOjJweH0uYXNrLXVzZXItb3B0aW9uLWNvbnRlbnR7ZmxleDoxO21pbi13aWR0aDowfS5hc2stdXNlci1vcHRpb24tbGFiZWx7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5hc2stdXNlci1vcHRpb24tZGVzY3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTttYXJnaW4tdG9wOjJweDtsaW5lLWhlaWdodDoxLjR9LmFzay11c2VyLWFjdGlvbnN7bWFyZ2luLXRvcDoxMHB4O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmFzay11c2VyLXN1Ym1pdHtwYWRkaW5nOjZweCAxNnB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5hc2stdXNlci1zdWJtaXQ6aG92ZXI6bm90KDpkaXNhYmxlZCl7ZmlsdGVyOmJyaWdodG5lc3MoMS4xKX0uYXNrLXVzZXItc3VibWl0OmRpc2FibGVke29wYWNpdHk6LjQ7Y3Vyc29yOm5vdC1hbGxvd2VkfS5hc2stdXNlci1zdWJtaXQuYXNrLXVzZXItc3VibWl0dGVke2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWRlZmF1bHQpO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BvaW50ZXItZXZlbnRzOm5vbmV9LmFzay11c2VyLWFuc3dlcmVkIC5hc2stdXNlci1vcHRpb257Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5Oi42fS5hc2stdXNlci1hbnN3ZXJlZCAuYXNrLXVzZXItb3B0aW9uLmFzay11c2VyLW9wdGlvbi1jaG9zZW57b3BhY2l0eToxO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKTtiYWNrZ3JvdW5kOiM0ZjdhNTgwZn0uYXNrLXVzZXItYW5zd2VyZWQgLmFzay11c2VyLW9wdGlvbi5hc2stdXNlci1vcHRpb24tY2hvc2VuIC5hc2stdXNlci1pbmRpY2F0b3J7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpO2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyl9LmFzay11c2VyLW9wdGlvbi1yZWFkb25seXtwb2ludGVyLWV2ZW50czpub25lfS50aGlua2luZy1pbmxpbmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDo1cHg7bWFyZ2luOjJweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzozcHggOHB4O2JvcmRlci1yYWRpdXM6NnB4O2JhY2tncm91bmQ6IzhhNmNiMjBhO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS40O2NvbG9yOiM4YTZjYjI4Yzt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnRoaW5raW5nLWlubGluZTpob3ZlcntiYWNrZ3JvdW5kOiM4YTZjYjIxNDtjb2xvcjojOGE2Y2IyY2N9LnRoaW5raW5nLWlubGluZS5leHBhbmRlZHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7bGluZS1oZWlnaHQ6MS42O21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3cteTphdXRvfS50aGlua2luZy1pbmxpbmUtaWNvbntmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjI1cmVtfS50aGlua2luZy1pbmxpbmUtcHJldmlld3tmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50aGlua2luZy1pbmxpbmUuZXhwYW5kZWQgLnRoaW5raW5nLWlubGluZS1wcmV2aWV3e3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS50aGlua2luZy1pbmxpbmUtYWN0aW9ue2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6IzhhNmNiMjY2O3BhZGRpbmc6MCA0cHg7Ym9yZGVyLXJhZGl1czozcHg7YmFja2dyb3VuZDojOGE2Y2IyMTQ7bWFyZ2luLWxlZnQ6YXV0b30udGhpbmtpbmctaW5saW5lOmhvdmVyIC50aGlua2luZy1pbmxpbmUtYWN0aW9ue2NvbG9yOiM4YTZjYjJiM30udGhpbmtpbmctaW5saW5lLnRoaW5raW5nLXB0eXtiYWNrZ3JvdW5kOiM4YTZjYjIwOH0udGhpbmtpbmctc3RyZWFtaW5ne2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo1cHg7bWFyZ2luOjJweCAwO3BhZGRpbmc6M3B4IDhweDtib3JkZXItcmFkaXVzOjZweDtiYWNrZ3JvdW5kOiM4YTZjYjIwYTtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjojOGE2Y2IyOGN9LnRoaW5raW5nLXN0cmVhbWluZy1pbm5lcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6NXB4O3dpZHRoOjEwMCV9LnRoaW5raW5nLXN0cmVhbWluZy1pY29ue2ZvbnQtc2l6ZTouNjI1cmVtO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDoxcHh9LnRoaW5raW5nLXN0cmVhbWluZy10ZXh0e2ZsZXg6MTttaW4td2lkdGg6MDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM4YTZjYjJjYzt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDo0LjVlbTtvdmVyZmxvdy15OmF1dG87c2Nyb2xsYmFyLXdpZHRoOnRoaW47c2Nyb2xsYmFyLWNvbG9yOnJnYmEoMTM4LDEwOCwxNzgsLjMpIHRyYW5zcGFyZW50fS50aGlua2luZy1zdHJlYW1pbmctdGV4dDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NHB4fS50aGlua2luZy1zdHJlYW1pbmctdGV4dDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOGE2Y2IyNGQ7Ym9yZGVyLXJhZGl1czoycHh9LnRvb2wtZ3JvdXB7bWFyZ2luOjRweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZiZjVkOSwjZmZmOGVlYjMpO2JveC1zaGFkb3c6MCAxcHggMnB4ICM1OTNhMjAwODtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE4cyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlLHRyYW5zZm9ybSAuMjJzIGVhc2V9LnRvb2wtZ3JvdXA6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM3ZDViMzkyZTtib3gtc2hhZG93OjAgMnB4IDhweCAjNTkzYTIwMGZ9LnRvb2wtZ3JvdXBbZGF0YS1zdGF0dXM9cGVuZGluZ117Ym9yZGVyLWNvbG9yOiNhOTZhMmYzODtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZjRlMmQ5LCNmZmYxZGFiMyl9LnRvb2wtZ3JvdXBbZGF0YS1zdGF0dXM9ZXJyb3Jde2JvcmRlci1jb2xvcjojYjI0ZjQ1NDc7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmY2YwZWVkOSwjZmNlY2VhYjMpfS50b29sLWdyb3VwLXN1bW1hcnl7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O3BhZGRpbmc6OHB4IDEycHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlfS50b29sLWdyb3VwLXN1bW1hcnk6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMGF9LnRvb2wtZ3JvdXAtc3RhdHVze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MThweDtoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjUwJTtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7ZmxleC1zaHJpbms6MDtsZXR0ZXItc3BhY2luZzowfS50b29sLWdyb3VwW2RhdGEtc3RhdHVzPWRvbmVdIC50b29sLWdyb3VwLXN0YXR1c3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS50b29sLWdyb3VwW2RhdGEtc3RhdHVzPWVycm9yXSAudG9vbC1ncm91cC1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcil9LnRvb2wtZ3JvdXBbZGF0YS1zdGF0dXM9cGVuZGluZ10gLnRvb2wtZ3JvdXAtc3RhdHVze2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyk7YW5pbWF0aW9uOnRvb2wtZ3JvdXAtcHVsc2UgMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHRvb2wtZ3JvdXAtcHVsc2V7MCUsdG97b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi41NX19LnRvb2wtZ3JvdXAtdGV4dHtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi0uMDA1ZW19LnRvb2wtZ3JvdXAtY291bnR7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6IzdkNWIzOTEyO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30udG9vbC1ncm91cC1jaGV2cm9ue2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyB2YXIoLS1lYXNlLW91dC1leHBvKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi42fS50b29sLWdyb3VwOmhvdmVyIC50b29sLWdyb3VwLWNoZXZyb257b3BhY2l0eToxfS50b29sLWdyb3VwW2RhdGEtZXhwYW5kZWQ9dHJ1ZV0gLnRvb2wtZ3JvdXAtY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnRvb2wtZ3JvdXAtYm9keXtkaXNwbGF5Om5vbmU7cGFkZGluZzo0cHggOHB4IDhweCAxOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wNik7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOCk7YmFja2dyb3VuZDojZmZmZGY4OGN9LnRvb2wtZ3JvdXAtYm9keT4uaW5saW5lLXRvb2x7bWFyZ2luOjB9LnRvb2wtZ3JvdXAtYm9keT4uaW5saW5lLXRvb2wrLmlubGluZS10b29se2JvcmRlci10b3A6MXB4IGRhc2hlZCByZ2JhKDEyNSw5MSw1NywuMDYpfS50b29sLWdyb3VwW2RhdGEtZXhwYW5kZWQ9dHJ1ZV0gLnRvb2wtZ3JvdXAtYm9keXtkaXNwbGF5OmJsb2NrO2FuaW1hdGlvbjp0b29sLWdyb3VwLXJldmVhbCAuMThzIHZhcigtLWVhc2Utb3V0LWV4cG8pfUBrZXlmcmFtZXMgdG9vbC1ncm91cC1yZXZlYWx7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmNoYXQtZm9sZC1iYXJ7ZmxleDowIDAgYXV0bztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHg7bWF4LWhlaWdodDoxMjRweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo4cHggNHB4IDdweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjhmNSwjZmZmYWY0ZWIpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTBweCk7Ym94LXNoYWRvdzowIDRweCAxMnB4IC04cHggIzU5M2EyMDJlfS5jaGF0LWZvbGQtYmFyLmhpZGRlbntkaXNwbGF5Om5vbmV9LmNoYXQtZm9sZC1yb3d7d2lkdGg6bWluKDEwMCUsdmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpKTttaW4taGVpZ2h0OjMwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjVweCAxMHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NTRweCBtaW5tYXgoMCwxZnIpO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjEyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCwgOHB4KTtiYWNrZ3JvdW5kOiNmZmZmZmY5ZTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94fS5jaGF0LWZvbGQtcm93OmhvdmVye2JvcmRlci1jb2xvcjojN2Q1YjM5MzM7YmFja2dyb3VuZDojZmZmZmZmZDF9LmNoYXQtZm9sZC1yb3cuaGlzdG9yeXtiYWNrZ3JvdW5kOiNmZmY4ZWViODtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmNoYXQtZm9sZC1yb2xle2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcH0uY2hhdC1mb2xkLXRleHR7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZTouNzhyZW07bGluZS1oZWlnaHQ6MS4yNX0uY2hhdC1jb250YWluZXIuYXV0by1mb2xkIC5jaGF0LW1lc3NhZ2Vze2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5jaGF0LWZvbGQtYmFye21heC1oZWlnaHQ6MTEycHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0uY2hhdC1mb2xkLXJvd3ttaW4taGVpZ2h0OjI4cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQ0cHggbWlubWF4KDAsMWZyKTtwYWRkaW5nOjRweCA4cHh9LmNoYXQtZm9sZC1yb2xle2ZvbnQtc2l6ZTouNjhyZW19LmNoYXQtZm9sZC10ZXh0e2ZvbnQtc2l6ZTouNzRyZW19fS5jaGF0LWZvbGQtYmFyLXNwYWNlcntkaXNwbGF5Om5vbmV9LmNoYXQtaGlzdG9yeS1oaWRkZW4sLmNoYXQtYXV0by1mb2xkLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5jaGF0LWhpc3Rvcnktc3VtbWFyeXt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7bWFyZ2luOjEwcHggYXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNoYXQtaGlzdG9yeS1zdW1tYXJ5LWJ0bntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjdweCAxMnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsLCA5OTlweCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmJmNWU2LCNmZmY3ZWNjNyk7Ym94LXNoYWRvdzowIDFweCAycHggIzU5M2EyMDBhO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udDppbmhlcml0O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4yMnMgZWFzZSxiYWNrZ3JvdW5kIC4xOHMgZWFzZX0uY2hhdC1oaXN0b3J5LXN1bW1hcnktYnRuOmhvdmVye2JvcmRlci1jb2xvcjojN2Q1YjM5MzM7Ym94LXNoYWRvdzowIDJweCA4cHggIzU5M2EyMDBmO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmYWYzZjIsI2ZmZjVlOGQ5KX0uY2hhdC1oaXN0b3J5LXN1bW1hcnktaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNzV9LmNoYXQtaGlzdG9yeS1zdW1tYXJ5LWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MXB4O2ZsZXg6MTttaW4td2lkdGg6MH0uY2hhdC1oaXN0b3J5LXN1bW1hcnktdGl0bGV7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS5jaGF0LWhpc3Rvcnktc3VtbWFyeS1tZXRhe2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5jaGF0LWhpc3Rvcnktc3VtbWFyeS1jaGV2cm9ue2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5jaGF0LWhpc3Rvcnktc3VtbWFyeS1idG46aG92ZXIgLmNoYXQtaGlzdG9yeS1zdW1tYXJ5LWNoZXZyb257b3BhY2l0eToxfS5jaGF0LWhpc3Rvcnktc3VtbWFyeVtkYXRhLWV4cGFuZGVkPXRydWVdIC5jaGF0LWhpc3Rvcnktc3VtbWFyeS1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uYXNzaXN0YW50LXJlcGx5LWRpc2Nsb3N1cmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3dpZHRoOjEwMCU7bWluLWhlaWdodDozNHB4O3BhZGRpbmc6NHB4IDJweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyfS5hc3Npc3RhbnQtcmVwbHktbGFiZWx7ZmxleC1zaHJpbms6MDtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NjUwfS5hc3Npc3RhbnQtcmVwbHktcHJldmlld3tmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZvbnQtc2l6ZTouNzhyZW19LmFzc2lzdGFudC1yZXBseS1hY3Rpb257ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjdyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmFzc2lzdGFudC1yZXBseS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2V9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnQtcmVwbHktZXhwYW5kZWQ+LmFzc2lzdGFudC1yZXBseS1kaXNjbG9zdXJlIC5hc3Npc3RhbnQtcmVwbHktY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnQtcmVwbHktY29sbGFwc2VkPjpub3QoLmFzc2lzdGFudC1yZXBseS1kaXNjbG9zdXJlKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5pbmxpbmUtdG9vbHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjoxcHggMDt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlfS50b29sLWdyb3VwLWJvZHk+LmlubGluZS10b29se21heC13aWR0aDoxMDAlfS5pbmxpbmUtdG9vbC1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtsaW5lLWhlaWdodDoxLjQ1O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZX0uaW5saW5lLXRvb2w6aG92ZXIgLmlubGluZS10b29sLXJvd3tiYWNrZ3JvdW5kOiNjNTY1M2QwZjtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5pbmxpbmUtdG9vbC1zdGF0dXN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNHB4O2hlaWdodDoxNHB4O2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1zdWNjZXNzKTtsaW5lLWhlaWdodDoxfS5pbmxpbmUtdG9vbFtkYXRhLXN0YXR1cz1wZW5kaW5nXSAuaW5saW5lLXRvb2wtc3RhdHVze2NvbG9yOnZhcigtLXdhcm5pbmcpfS5pbmxpbmUtdG9vbFtkYXRhLXN0YXR1cz1lcnJvcl0gLmlubGluZS10b29sLXN0YXR1cywuaW5saW5lLXRvb2wtZXJyb3ItaW5saW5lIC5pbmxpbmUtdG9vbC1zdGF0dXN7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uaW5saW5lLXRvb2wtaWNvbntmbGV4LXNocmluazowO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO29wYWNpdHk6Ljg1fS5pbmxpbmUtdG9vbDpob3ZlciAuaW5saW5lLXRvb2wtaWNvbntjb2xvcjp2YXIoLS1hY2NlbnQpO29wYWNpdHk6MX0uaW5saW5lLXRvb2wtdGl0bGV7ZmxleDoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbX0uaW5saW5lLXRvb2w6aG92ZXIgLmlubGluZS10b29sLXRpdGxle2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmlubGluZS10b29sLW1ldGF7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjIyMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bGV0dGVyLXNwYWNpbmc6LS4wMWVtfS5pbmxpbmUtdG9vbC1pbWFnZXtwYWRkaW5nOjJweCAxMHB4IDhweCAzMnB4O2N1cnNvcjpkZWZhdWx0fS5pbmxpbmUtdG9vbC1pbWFnZS10aHVtYntkaXNwbGF5OmJsb2NrO21heC13aWR0aDptaW4oMTAwJSwzNjBweCk7bWF4LWhlaWdodDoyNDBweDt3aWR0aDphdXRvO2hlaWdodDphdXRvO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xNCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgxMjUsOTEsNTcsLjA1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDc1JSxyZ2JhKDEyNSw5MSw1NywuMDUpIDc1JSkgMCAwIC8gMTZweCAxNnB4LGxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDEyNSw5MSw1NywuMDUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNzUlLHJnYmEoMTI1LDkxLDU3LC4wNSkgNzUlKSA4cHggOHB4IC8gMTZweCAxNnB4O29iamVjdC1maXQ6Y29udGFpbjtjdXJzb3I6em9vbS1pbjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2V9LmlubGluZS10b29sLWltYWdlLXRodW1iOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAycHggMTBweCAjMDAwMDAwMWZ9LmlubGluZS10b29sLWV4cGFuZGVke2Rpc3BsYXk6bm9uZTtwYWRkaW5nOjAgMTBweCA4cHh9LmlubGluZS10b29sLW9wZW4gLmlubGluZS10b29sLWV4cGFuZGVke2Rpc3BsYXk6YmxvY2s7YW5pbWF0aW9uOnRvb2wtZ3JvdXAtcmV2ZWFsIC4xNnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LmlubGluZS10b29sLXJlc3VsdHtiYWNrZ3JvdW5kOiM3ZDViMzkwYTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wNyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO3BhZGRpbmc6MTBweCAxMnB4O21hcmdpbi10b3A6NnB4O21heC1oZWlnaHQ6MzIwcHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO3Njcm9sbGJhci13aWR0aDp0aGluO3Njcm9sbGJhci1jb2xvcjpyZ2JhKDEyNSw5MSw1NywuMikgdHJhbnNwYXJlbnR9LmlubGluZS10b29sLXJlc3VsdDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NnB4fS5pbmxpbmUtdG9vbC1yZXN1bHQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzdkNWIzOTMzO2JvcmRlci1yYWRpdXM6M3B4fS5pbmxpbmUtdG9vbC1yZXN1bHQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTUyfS5pbmxpbmUtdG9vbC1yZXN1bHQtdGV4dHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS41NTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDttYXJnaW46MH0uaW5saW5lLXRvb2wtZXJyb3ItaW5saW5le2JvcmRlci1sZWZ0OjJweCBzb2xpZCB2YXIoLS1kYW5nZXIpO3BhZGRpbmctbGVmdDoycHg7bWFyZ2luLWxlZnQ6LTJweH0uaW5saW5lLXRvb2wtZXJyb3ItaW5saW5lIC5pbmxpbmUtdG9vbC1yb3d7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uaW5saW5lLXRvb2wtcmVzdWx0LmlubGluZS10b29sLWVycm9ye2NvbG9yOnZhcigtLWRhbmdlcik7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljc1cmVtO2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtib3JkZXItY29sb3I6I2IyNGY0NTJlfS5pbmxpbmUtdG9vbC1sb2FkaW5ne2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0td2FybmluZyk7Zm9udC1zdHlsZTppdGFsaWM7cGFkZGluZzo2cHggMDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4fS5pbmxpbmUtdG9vbC1sb2FkaW5nOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLXdhcm5pbmctbXV0ZWQpO2JvcmRlci10b3AtY29sb3I6dmFyKC0td2FybmluZyk7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnRvb2wtY29udGVudC1zcGluIC43cyBsaW5lYXIgaW5maW5pdGV9LmlubGluZS10b29sLWVtcHR5e2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zdHlsZTppdGFsaWN9LnRvb2wtY29udGVudC1sb2FkaW5ne2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zdHlsZTppdGFsaWM7cGFkZGluZzo4cHggMH0udG9vbC1jb250ZW50LWxvYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXRleHQtbXV0ZWQpO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnRvb2wtY29udGVudC1zcGluIC42cyBsaW5lYXIgaW5maW5pdGU7dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHh9QGtleWZyYW1lcyB0b29sLWNvbnRlbnQtc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS50b29sLWNvbnRlbnQtZXJyb3J7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS1lcnJvcik7cGFkZGluZzo4cHggMDtjdXJzb3I6cG9pbnRlcn0udG9vbC1jb250ZW50LWVycm9yOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmlubGluZS10ZXJtaW5hbHttYXJnaW46NHB4IDA7d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTUsMTIsOSwuNik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JhY2tncm91bmQ6IzFmMWIxNztib3gtc2hhZG93OjAgMXB4ICNmZmZmZmYwYSBpbnNldCwwIDJweCAxMnB4ICMwZjBjMDkyZTtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpib3gtc2hhZG93IC4yMnMgZWFzZSx0cmFuc2Zvcm0gLjIycyBlYXNlLGJvcmRlci1jb2xvciAuMjJzIGVhc2V9LmlubGluZS10ZXJtaW5hbDpob3Zlcntib3gtc2hhZG93OjAgMXB4ICNmZmZmZmYwZCBpbnNldCwwIDRweCAxOHB4ICMwZjBjMDkzZDtib3JkZXItY29sb3I6I2ZmZmZmZjFhfS50ZXJtLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6OHB4IDE0cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZmZmYwYSwjZmZmZmZmMDQpLCMwMDAwMDAyZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Zm9udC1zaXplOi43NXJlbTtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS50ZXJtLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmZmZjBmLCNmZmZmZmYwNiksIzAwMDAwMDJlfS50ZXJtLXN0YXR1cy1kb3R7d2lkdGg6OXB4O2hlaWdodDo5cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDtib3gtc2hhZG93OjAgMCAwIDFweCAjMDAwMDAwNDAgaW5zZXR9LnRlcm0tc3RhdHVzLWRvdC50ZXJtLXN1Y2Nlc3N7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM1JSAzMCUsI2I2ZjBjNCwjNmVlMDlhLCMzYWE3NjUpO2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldCwwIDAgNnB4ICM2ZWUwOWE1OX0udGVybS1zdGF0dXMtZG90LnRlcm0tZXJyb3J7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM1JSAzMCUsI2ZmYjViOSwjZjA3MTc4LCNiNTNiNDEpO2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldCwwIDAgNnB4ICNmMDcxNzg1OX0udGVybS1zdGF0dXMtZG90LnRlcm0td2FybntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzUlIDMwJSwjZmZkMDdhLCNmMGE1MDAsI2FkNzQwMCk7Ym94LXNoYWRvdzowIDAgMCAxcHggIzAwMDAwMDQwIGluc2V0LDAgMCA2cHggI2YwYTUwMDU5fS50ZXJtLXN0YXR1cy1kb3QudGVybS1ydW5uaW5ne2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzNSUgMzAlLCNkMWQ1ZGIsIzljYTNhZiwjNGI1NTYzKTthbmltYXRpb246dGVybS1wdWxzZSAxcyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHRlcm0tcHVsc2V7MCUsdG97b3BhY2l0eToxO2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldCwwIDAgIzljYTNhZjAwfTUwJXtvcGFjaXR5Oi41NTtib3gtc2hhZG93OjAgMCAwIDFweCAjMDAwMDAwNDAgaW5zZXQsMCAwIDhweCAjOWNhM2FmNTl9fS50ZXJtLWNtZC1wcmV2aWV3e2ZsZXg6MTttaW4td2lkdGg6MDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6I2U4ZGNjOGM3O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS50ZXJtLWNtZC1wcmV2aWV3IC50ZXJtLXByb21wdHtjb2xvcjojNmVlMDlhO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tcmlnaHQ6NnB4O2ZvbnQtc2l6ZTouNzVyZW07b3BhY2l0eTouOX0udGVybS10b2dnbGUtaWNvbntmb250LXNpemU6LjYyNXJlbTtjb2xvcjojZmZmZmZmNTk7dHJhbnNpdGlvbjpjb2xvciAuMThzIGVhc2U7ZmxleC1zaHJpbms6MH0udGVybS1oZWFkZXI6aG92ZXIgLnRlcm0tdG9nZ2xlLWljb257Y29sb3I6I2ZmZmZmZmE2fS50ZXJtLWJvZHl7cGFkZGluZzoxMnB4IDE0cHggMTRweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwMDAwMDJlLCMwMDAwIDI0cHgpLCMxZjFiMTd9LnRlcm0tY29tbWFuZHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjojZjRlOWQ0O2xpbmUtaGVpZ2h0OjEuNTU7bWFyZ2luLWJvdHRvbTo2cHg7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0udGVybS1wcm9tcHR7Y29sb3I6IzZlZTA5YTtmb250LXdlaWdodDo2MDA7bWFyZ2luLXJpZ2h0OjZweDt0ZXh0LXNoYWRvdzowIDAgNnB4IHJnYmEoMTEwLDIyNCwxNTQsLjI1KX0udGVybS1vdXRwdXR7bWFyZ2luLXRvcDo4cHg7cGFkZGluZy10b3A6OHB4O2JvcmRlci10b3A6MXB4IGRhc2hlZCByZ2JhKDI1NSwyNTUsMjU1LC4wNik7bWF4LWhlaWdodDozNjBweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87c2Nyb2xsYmFyLXdpZHRoOnRoaW47c2Nyb2xsYmFyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjE1KSB0cmFuc3BhcmVudH0udGVybS1vdXRwdXQ6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjZweH0udGVybS1vdXRwdXQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6I2ZmZmZmZjI2O2JvcmRlci1yYWRpdXM6M3B4fS50ZXJtLW91dHB1dDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmNDB9LnRlcm0tbGluZXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjojZDRjMmEzO2xpbmUtaGVpZ2h0OjEuNTU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0udGVybS1leGl0e21hcmdpbi10b3A6MTBweDtwYWRkaW5nLXRvcDo4cHg7Ym9yZGVyLXRvcDoxcHggZGFzaGVkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNjg3NXJlbTtsaW5lLWhlaWdodDoxLjU7bGV0dGVyLXNwYWNpbmc6LjA0ZW19LnRlcm0tZXhpdC1zdWNjZXNze2NvbG9yOiM2ZWUwOWFiZn0udGVybS1leGl0LWVycm9ye2NvbG9yOiNmMDcxNzhjN30uaW5saW5lLWRpZmZ7bWFyZ2luOjRweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmYmY1ZTAsI2ZmZjZlYWI4KTtib3gtc2hhZG93OjAgMXB4IDJweCAjNTkzYTIwMGE7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjIycyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlfS5pbmxpbmUtZGlmZjpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTM4O2JveC1zaGFkb3c6MCAzcHggMTJweCAjNTkzYTIwMGZ9LmRpZmYtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTouODEyNXJlbTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5kaWZmLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QwYX0uZGlmZi10b2dnbGV7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utc3ByaW5nKSxjb2xvciAuMThzIGVhc2U7ZmxleC1zaHJpbms6MDttYXJnaW4tbGVmdDphdXRvO29wYWNpdHk6LjZ9LmlubGluZS1kaWZmOmhvdmVyIC5kaWZmLXRvZ2dsZXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7b3BhY2l0eToxfS5pbmxpbmUtZGlmZi5jb2xsYXBzZWQgLmRpZmYtdG9nZ2xle3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uaW5saW5lLWRpZmYuY29sbGFwc2VkIC5kaWZmLWJvZHl7bWF4LWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksb3BhY2l0eSAuMjVzIGVhc2U7dmlzaWJpbGl0eTpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZX0uZGlmZi1maWxlLW5hbWV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouODEyNXJlbTtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS5kaWZmLXBhdGh7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXNpemU6LjY4NzVyZW19LmRpZmYtc3RhdHVze2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjNweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2xldHRlci1zcGFjaW5nOi4wMWVtfS5kaWZmLXN0YXR1cy5kaWZmLXN1Y2Nlc3N7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uZGlmZi1zdGF0dXMuZGlmZi1lcnJvcntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uZGlmZi1zdGF0dXMuZGlmZi1wZW5kaW5ne2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyl9LmRpZmYtb3Blbi1maWxle2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTYpO2JhY2tncm91bmQ6I2ZmZmRmOGI4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtwYWRkaW5nOjNweCA5cHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjY1MDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlfS5kaWZmLW9wZW4tZmlsZTpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QxYTtib3JkZXItY29sb3I6I2M1NjUzZDQ3O2NvbG9yOnZhcigtLWFjY2VudCl9LmRpZmYtYm9keXtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTtiYWNrZ3JvdW5kOiNmZmZkZjhhNn0uZGlmZi1jb2x1bW5ze2Rpc3BsYXk6ZmxleDtnYXA6MXB4O2JhY2tncm91bmQ6IzdkNWIzOTE0O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5kaWZmLWNvbHtmbGV4OjEgMSAwO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQ6I2ZmZmRmOGQ5O292ZXJmbG93OmhpZGRlbn0uZGlmZi1jb2wtaGFsZntmbGV4OjF9LmRpZmYtY29sLWZ1bGx7ZmxleDpub25lO3dpZHRoOjEwMCV9LmRpZmYtY29sLWxhYmVse2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmc6NHB4IDEycHg7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wOGVtO2JhY2tncm91bmQ6IzdkNWIzOTBkO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOCl9LmRpZmYtbGluZXtwYWRkaW5nOjNweCAxMnB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxLjU1O3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGw7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94fS5kaWZmLWFkZHtiYWNrZ3JvdW5kOiM0ZjdhNTgxNDtjb2xvcjojMmM1NTM1O2JvcmRlci1sZWZ0OjJweCBzb2xpZCByZ2JhKDc5LDEyMiw4OCwuNSl9LmRpZmYtcmVtb3Zle2JhY2tncm91bmQ6I2IyNGY0NTBmO2NvbG9yOiM3YzJhMjM7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYmEoMTc4LDc5LDY5LC40NSl9LmRpZmYtY29udGV4dHtiYWNrZ3JvdW5kOiNmZmZkZjhkYjtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHRyYW5zcGFyZW50fS5kaWZmLWh1bmt7YmFja2dyb3VuZDojNGE2ZmE1MTc7Y29sb3I6dmFyKC0taW5mbyk7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYmEoNzQsMTExLDE2NSwuMzUpO2ZvbnQtd2VpZ2h0OjY1MH0uZGlmZi1lbXB0eXtwYWRkaW5nOjEwcHggMTJweDtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2JhY2tncm91bmQ6I2ZmZmRmOGRifS5tYXJrZG93bi1jb250ZW50e2NvbG9yOmluaGVyaXQ7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXg6aGlkZGVuO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IC5jb2RlLWJsb2NrIHByZXtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0ubWFya2Rvd24tY29udGVudCBwe21hcmdpbjowIDAgOHB4O292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IHA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Lm1hcmtkb3duLWNvbnRlbnQgc3Ryb25ne2ZvbnQtd2VpZ2h0OjYwMH0ubWFya2Rvd24tY29udGVudCBlbXtmb250LXN0eWxlOml0YWxpY30ubWFya2Rvd24tY29udGVudCB1bCwubWFya2Rvd24tY29udGVudCBvbHttYXJnaW46OHB4IDA7cGFkZGluZy1sZWZ0OjIwcHh9Lm1hcmtkb3duLWNvbnRlbnQgbGl7bWFyZ2luOjRweCAwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IGgxLC5tYXJrZG93bi1jb250ZW50IGgyLC5tYXJrZG93bi1jb250ZW50IGgze21hcmdpbjoxNnB4IDAgOHB4O2ZvbnQtd2VpZ2h0OjYwMDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ubWFya2Rvd24tY29udGVudCBoMXtmb250LXNpemU6MS4yNXJlbX0ubWFya2Rvd24tY29udGVudCBoMntmb250LXNpemU6MS4xcmVtfS5tYXJrZG93bi1jb250ZW50IGgze2ZvbnQtc2l6ZToxcmVtfS5tYXJrZG93bi1jb250ZW50IGJsb2NrcXVvdGV7bWFyZ2luOjhweCAwO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkIHZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMGY7Ym9yZGVyLXJhZGl1czowIHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLXNtKSAwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IGF7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbH0ubWFya2Rvd24tY29udGVudCBpbWd7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99Lm1hcmtkb3duLWNvbnRlbnQgY29kZTpub3QoLmNvZGUtYmxvY2spOm5vdCguY29kZS1pbmxpbmUpe2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44MTI1cmVtO2JhY2tncm91bmQ6Izk2NzY1NTFmO3BhZGRpbmc6MnB4IDVweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsfS5tYXJrZG93bi1jb250ZW50IGNvZGUuY29kZS1pbmxpbmV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07YmFja2dyb3VuZDojOTY3NjU1MWY7cGFkZGluZzoycHggNXB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGx9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlLXdyYXB7bWFyZ2luOjEycHggMDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmF1dG87Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0ubWFya2Rvd24tY29udGVudCAubWQtdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3dpZHRoOjEwMCU7dGFibGUtbGF5b3V0OmZpeGVkO2ZvbnQtc2l6ZTouODEyNXJlbTt3aGl0ZS1zcGFjZTpub3JtYWx9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlIHRoLC5tYXJrZG93bi1jb250ZW50IC5tZC10YWJsZSB0ZHtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZzo2cHggMTBweDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IC5tZC10YWJsZSB0aHtiYWNrZ3JvdW5kOiM5Njc2NTUxYTtmb250LXdlaWdodDo2MDB9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgybil7YmFja2dyb3VuZDojOTY3NjU1MGF9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtYmxvY2t7bWFyZ2luOjEycHggMDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzFmMWIxNztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIyLDkxLDY0LC4zNSk7Ym94LXNoYWRvdzowIDJweCA4cHggIzAwMDAwMDI2fS5tYXJrZG93bi1jb250ZW50IC5jb2RlLWJsb2NrLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDojN2E1YjQwMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjIsOTEsNjQsLjIpO2dhcDo4cHh9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtbGFuZ3tmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjojOGM3MzVmO3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtY29weXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouN3JlbTtwYWRkaW5nOjRweCAxMHB4O2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JhY2tncm91bmQ6I2ZmZmZmZjFhO2NvbG9yOiNkOWM0YjA7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleC1zaHJpbms6MH0ubWFya2Rvd24tY29udGVudCAuY29kZS1jb3B5OmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZjJlO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNmZmZmZmY0MH0ubWFya2Rvd24tY29udGVudCAuY29kZS1jb3B5LmNvcGllZHtjb2xvcjojN2ZhMzZmO2JvcmRlci1jb2xvcjojN2ZhMzZmODA7YmFja2dyb3VuZDojN2ZhMzZmMjZ9Lm1hcmtkb3duLWNvbnRlbnQgcHJle21hcmdpbjowO3BhZGRpbmc6MTJweDtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0ubWFya2Rvd24tY29udGVudCBwcmUgY29kZXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6I2Y1ZWFkYztiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MDttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS5pbnB1dC1wYW5lbHtwYWRkaW5nOjEycHggMThweCAxNnB4O3BhZGRpbmctYm90dG9tOmNhbGMoMTZweCArIHZhcigtLWlucHV0LXNhZmUtYm90dG9tLCB2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSkpO2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyNjtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW47dG91Y2gtYWN0aW9uOnBhbi15O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDI0NSwyNDMsMjM4LDApIDAlLHJnYmEoMjQ1LDI0MywyMzgsLjc4KSAzNCUsdmFyKC0tYmctcHJpbWFyeSkgNzglKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UsdmlzaWJpbGl0eSAwc30uaW5wdXQtY29tcG9zZXItcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6OHB4O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjk2MHB4O21hcmdpbi1pbmxpbmU6YXV0bzttaW4td2lkdGg6MH0uaW5wdXQtY29tcG9zZXItcm93Pi5pbnB1dC1jb21wb3NlcntmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowfS5pbnB1dC1jb21wb3NlcnstLWNvbXBvc2VyLWFjdGlvbi1zaXplOiA0MHB4O2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYmctZWxldmF0ZWQpIDc4JSx2YXIoLS1iZy10ZXJ0aWFyeSkpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMDksODgsNzIsLjIpO2JvcmRlci1yYWRpdXM6MThweDtib3gtc2hhZG93OjAgMTBweCAyNHB4IC0yMnB4ICM1OTNhMjBjYyxpbnNldCAwIDFweCAjZmZmZmZmOWU7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE2cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSksYm9yZGVyLXJhZGl1cyAuMjJzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSxib3gtc2hhZG93IC4xNnMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpLGJhY2tncm91bmQgLjE2cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSk7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJzY3JvbGwtYmVoYXZpb3I6Y29udGFpbn0uaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDYyJSx2YXIoLS1ib3JkZXItZGVmYXVsdCkpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMCAwIDNweCAjYzU2NTNkMWEsMCAxNHB4IDMwcHggLTI0cHggIzU5M2EyMGNjLGluc2V0IDAgMXB4ICNmZmZmZmZiODtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKX0uaW5wdXQtY29tcG9zZXIuaXMtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czoxNnB4fS5pbnB1dC1jb21wb3Nlci52b2ljZS1ob2xkaW5ne2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWFjY2VudC1tdXRlZCl9LmNvbXBvc2VyLXN0YXR1cy1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6MCAxMHB4O21pbi1oZWlnaHQ6MDt0cmFuc2l0aW9uOnBhZGRpbmcgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY29tcG9zZXItc3RhdHVzLXJvdz4qe2ZsZXgtc2hyaW5rOjB9LmNvbXBvc2VyLXN0YXR1cy1yb3c6aGFzKD4qOm5vdCguaGlkZGVuKSl7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjB9QHN1cHBvcnRzIG5vdCBzZWxlY3Rvcig6aGFzKCopKXsuY29tcG9zZXItc3RhdHVzLXJvdzpub3QoOmVtcHR5KXtwYWRkaW5nLXRvcDo0cHh9fS5jb21wb3Nlci1tYWluLXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gbWlubWF4KDk2cHgsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjRweDtyb3ctZ2FwOjA7cGFkZGluZzo0cHggNnB4O21pbi1oZWlnaHQ6NDhweH0uY29tcG9zZXItYWN0aW9ucy1sZWZ0LC5jb21wb3Nlci1hY3Rpb25zLXJpZ2h0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4LXNocmluazowfS5jb21wb3Nlci1pbnB1dC13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO21pbi13aWR0aDowO21pbi1oZWlnaHQ6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LmNvbXBvc2VyLWlubGluZS1jb25maWd7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MDtnYXA6NHB4fS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLW1haW4tcm93LC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZCAuY29tcG9zZXItbWFpbi1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gbWlubWF4KDAsMWZyKSBhdXRvO3Jvdy1nYXA6NHB4O3BhZGRpbmc6NnB4IDhweH0uaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluIC5jb21wb3Nlci1pbnB1dC13cmFwLC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZCAuY29tcG9zZXItaW5wdXQtd3JhcHtncmlkLWNvbHVtbjoxIC8gLTE7Z3JpZC1yb3c6MX0uaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluIC5jb21wb3Nlci1hY3Rpb25zLWxlZnQsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1hY3Rpb25zLWxlZnR7Z3JpZC1jb2x1bW46MTtncmlkLXJvdzoyfS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLWlubGluZS1jb25maWcsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1pbmxpbmUtY29uZmlne2Rpc3BsYXk6ZmxleDtncmlkLWNvbHVtbjoyO2dyaWQtcm93OjI7b3ZlcmZsb3c6aGlkZGVufS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLWFjdGlvbnMtcmlnaHQsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1hY3Rpb25zLXJpZ2h0e2dyaWQtY29sdW1uOjM7Z3JpZC1yb3c6Mn1AbWVkaWEobWluLXdpZHRoOjcyMXB4KXsuaW5wdXQtY29tcG9zZXJ7Ym9yZGVyLXJhZGl1czoxOHB4O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNnMgY3ViaWMtYmV6aWVyKC4yMywxLC4zMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xNnMgY3ViaWMtYmV6aWVyKC4yMywxLC4zMiwxKSxib3gtc2hhZG93IC4xNnMgY3ViaWMtYmV6aWVyKC4yMywxLC4zMiwxKX0uaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluLC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZHtib3JkZXItcmFkaXVzOjE2cHh9LmNvbXBvc2VyLW1haW4tcm93LC5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLW1haW4tcm93LC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZCAuY29tcG9zZXItbWFpbi1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gbWlubWF4KDAsMWZyKSBhdXRvO3Jvdy1nYXA6NHB4O3BhZGRpbmc6NnB4IDhweCA3cHh9LmNvbXBvc2VyLWlucHV0LXdyYXAsLmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiAuY29tcG9zZXItaW5wdXQtd3JhcCwuaW5wdXQtY29tcG9zZXIuaXMtZXhwYW5kZWQgLmNvbXBvc2VyLWlucHV0LXdyYXB7Z3JpZC1jb2x1bW46MSAvIC0xO2dyaWQtcm93OjF9LmNvbXBvc2VyLWlucHV0LXdyYXA6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7Ym90dG9tOi0zcHg7bGVmdDoycHg7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1zdWJ0bGUpO3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbXBvc2VyLWFjdGlvbnMtbGVmdCwuaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluIC5jb21wb3Nlci1hY3Rpb25zLWxlZnQsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1hY3Rpb25zLWxlZnR7Z3JpZC1jb2x1bW46MTtncmlkLXJvdzoyfS5jb21wb3Nlci1pbmxpbmUtY29uZmlnLC5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLWlubGluZS1jb25maWcsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1pbmxpbmUtY29uZmlne2Rpc3BsYXk6ZmxleDtncmlkLWNvbHVtbjoyO2dyaWQtcm93OjI7b3ZlcmZsb3c6aGlkZGVufS5jb21wb3Nlci1hY3Rpb25zLXJpZ2h0LC5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4gLmNvbXBvc2VyLWFjdGlvbnMtcmlnaHQsLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVkIC5jb21wb3Nlci1hY3Rpb25zLXJpZ2h0e2dyaWQtY29sdW1uOjM7Z3JpZC1yb3c6Mn0uaW5wdXQtY29tcG9zZXIgLmlucHV0LXRleHRhcmVhe3RyYW5zaXRpb246bm9uZX19LmNvbXBvc2VyLWNvbmZpZy1jb250cm9sc3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O21pbi13aWR0aDowfS5jb21wb3Nlci1jb25maWctY2hpcHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHg7bWluLWhlaWdodDoyOHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dXNlci1zZWxlY3Q6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXA7Y3Vyc29yOnBvaW50ZXJ9LmNvbXBvc2VyLWNvbmZpZy1jaGlwe21heC13aWR0aDo3NnB4O3BhZGRpbmc6MCA3cHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNvbXBvc2VyLWNvbmZpZy1jaGlwLW1vZGV7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNjNTY1M2QxNDtib3JkZXItY29sb3I6I2M1NjUzZDI0fS5jb21wb3Nlci1jb25maWctY2hpcDpob3ZlciwuY29tcG9zZXItY29uZmlnLWNoaXA6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjojYzU2NTNkMzM7YmFja2dyb3VuZDojYzU2NTNkMTR9LmNvbXBvc2VyLWNvbmZpZy1jaGlwOmZvY3VzLXdpdGhpbntvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQtbXV0ZWQpO291dGxpbmUtb2Zmc2V0OjFweH0uY29tcG9zZXItY29uZmlnLW1vZGVse21heC13aWR0aDo5NnB4fS5jb21wb3Nlci1jb25maWctdGhpbmtpbmd7bWF4LXdpZHRoOjc2cHh9LmNvbXBvc2VyLWNvbmZpZy10aGlua2luZ1tkYXRhLXRoaW5raW5nPW9mZl17Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmNvbXBvc2VyLWNvbmZpZy1za2lsbHN7YXBwZWFyYW5jZTpub25lO2ZvbnQ6aW5oZXJpdDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmNvbXBvc2VyLXNraWxscy1wb3BvdmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NjA7bGVmdDo1MCU7Ym90dG9tOmNhbGMoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sMHB4KSArIDkycHgpO3dpZHRoOm1pbigzNjBweCxjYWxjKDEwMHZ3IC0gMjRweCkpO21heC1oZWlnaHQ6bWluKDM2MHB4LGNhbGMoMTAwdmggLSAxNDhweCkpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSwgI2ZmZmRmOSk7Ym94LXNoYWRvdzowIDEycHggMjhweCAjMzgyYjFlMmV9LmNvbXBvc2VyLXNraWxscy1wb3BvdmVyLmhpZGRlbntkaXNwbGF5Om5vbmV9LmNvbXBvc2VyLXNraWxscy1oZWFkaW5ne2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHg7cGFkZGluZzoxMHB4IDEycHggOHB4O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo3MDB9LmNvbXBvc2VyLXNraWxscy1jb3VudHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjUwMH0uY29tcG9zZXItc2tpbGxzLWxpc3R7ZGlzcGxheTpncmlkO21heC1oZWlnaHQ6Mjk2cHg7b3ZlcmZsb3cteTphdXRvO3BhZGRpbmc6MCA2cHggNnB4fS5jb21wb3Nlci1za2lsbC1vcHRpb257ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxOHB4IG1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpzdGFydDtnYXA6OHB4O3dpZHRoOjEwMCU7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6OHB4IDZweDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udDppbmhlcml0O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcn0uY29tcG9zZXItc2tpbGwtb3B0aW9uOmhvdmVyLC5jb21wb3Nlci1za2lsbC1vcHRpb246Zm9jdXMtdmlzaWJsZSwuY29tcG9zZXItc2tpbGwtb3B0aW9uLmlzLXNlbGVjdGVke2JhY2tncm91bmQ6I2M1NjUzZDFhO291dGxpbmU6bm9uZX0uY29tcG9zZXItc2tpbGwtb3B0aW9uOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50LW11dGVkKTtvdXRsaW5lLW9mZnNldDotMnB4fS5jb21wb3Nlci1za2lsbC1jaGVja3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDoxcHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NzAwfS5jb21wb3Nlci1za2lsbC1vcHRpb24uaXMtc2VsZWN0ZWQgLmNvbXBvc2VyLXNraWxsLWNoZWNre2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2M1NjUzZDI0fS5jb21wb3Nlci1za2lsbC1jb3B5e21pbi13aWR0aDowfS5jb21wb3Nlci1za2lsbC1uYW1lLC5jb21wb3Nlci1za2lsbC1kZXNjcmlwdGlvbntkaXNwbGF5OmJsb2NrfS5jb21wb3Nlci1za2lsbC1uYW1le2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NjUwfS5jb21wb3Nlci1za2lsbC1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOjJweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MS4zNX0uY29tcG9zZXItc2tpbGwtc291cmNle2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNjhyZW07bGluZS1oZWlnaHQ6MS40O3doaXRlLXNwYWNlOm5vd3JhcH0uY29tcG9zZXItc2tpbGxzLWVtcHR5e3BhZGRpbmc6MTZweCAxMHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzZyZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmNvbXBvc2VyLWNvbmZpZy1pY29ue2ZsZXg6MCAwIGF1dG87d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0uY29tcG9zZXItY29uZmlnLWxhYmVse21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjF9LmNvbXBvc2VyLXRleHQtcGlsbHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouN3JlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtwYWRkaW5nOjJweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO2JveC1zaXppbmc6Ym9yZGVyLWJveDt1c2VyLXNlbGVjdDpub25lO21heC13aWR0aDoxMTBweDtsZXR0ZXItc3BhY2luZzouMDFlbX0uY29tcG9zZXItdGV4dC1waWxsOmhvdmVyLC5jb21wb3Nlci10ZXh0LXBpbGw6Zm9jdXMtd2l0aGlue2NvbG9yOnZhcigtLWFjY2VudCl9LmNvbXBvc2VyLXRleHQtcGlsbDpmb2N1cy13aXRoaW57b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50LW11dGVkKTtvdXRsaW5lLW9mZnNldDoxcHh9LmNvbXBvc2VyLXRleHQtbGFiZWx7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjEwMCV9LmNvbXBvc2VyLXRleHQtaGlkZGVuLXNlbGVjdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dHJhbnNwYXJlbnQ7Zm9udDppbmhlcml0O29wYWNpdHk6MDtjdXJzb3I6cG9pbnRlcjthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LmNvbXBvc2VyLXRleHQtaGlkZGVuLXNlbGVjdDpmb2N1c3tvdXRsaW5lOm5vbmV9Lm1vZGVsLXJlZnJlc2gtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDowIDAgYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246Y29sb3IgLjE1cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSksYmFja2dyb3VuZCAuMTVzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSx0cmFuc2Zvcm0gLjE1cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSl9Lm1vZGVsLXJlZnJlc2gtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLC5tb2RlbC1yZWZyZXNoLWJ1dHRvbjpmb2N1cy12aXNpYmxle2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO291dGxpbmU6bm9uZX0ubW9kZWwtcmVmcmVzaC1idXR0b246YWN0aXZlOm5vdCg6ZGlzYWJsZWQpe3RyYW5zZm9ybTpzY2FsZSguOTYpfS5tb2RlbC1yZWZyZXNoLWJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6d2FpdDtvcGFjaXR5Oi42Mn0ubW9kZWwtcmVmcmVzaC1idXR0b24uaXMtcmVmcmVzaGluZyAubW9kZWwtcmVmcmVzaC1pY29ue2FuaW1hdGlvbjptb2RlbFJlZnJlc2hTcGluIC43NnMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgbW9kZWxSZWZyZXNoU3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5tb2RlbC1yZWZyZXNoLWxhYmVse2Rpc3BsYXk6bm9uZX0uY29tcG9zZXItbW9kZWwtcmVmcmVzaC1idXR0b257bWFyZ2luLWxlZnQ6LTNweH1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5tb2RlbC1yZWZyZXNoLWJ1dHRvbnt0cmFuc2l0aW9uOm5vbmV9Lm1vZGVsLXJlZnJlc2gtYnV0dG9uLmlzLXJlZnJlc2hpbmcgLm1vZGVsLXJlZnJlc2gtaWNvbnthbmltYXRpb246bm9uZX19LmNvbXBvc2VyLXRleHQtc2Vwe2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnksICNiNWE4OWEpO2ZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDoxO3VzZXItc2VsZWN0Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5Oi42NX0ucGVybWlzc2lvbi1hY3Rpb25ze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7YW5pbWF0aW9uOnBlcm1pc3Npb24tZmFkZS1pbiAuMnMgZWFzZS1vdXR9LnBlcm1pc3Npb24tYWN0aW9ucy5oaWRkZW57ZGlzcGxheTpub25lfS5wZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWx7Zm9udC1zaXplOi43cmVtO2NvbG9yOiNkMThiMDA7bWF4LXdpZHRoOjE4MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYnRuLXBlcm1pc3Npb257Zm9udC1zaXplOi42NXJlbTtwYWRkaW5nOjFweCA4cHg7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDoxLjQ7Zm9udC13ZWlnaHQ6NTAwO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLGJvcmRlci1jb2xvciAuMTVzfS5idG4tcGVybWlzc2lvbjpkaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpub3QtYWxsb3dlZH0uYnRuLXBlcm1pc3Npb24tYXBwcm92ZXtiYWNrZ3JvdW5kOiNmMGE1MDAyNjtjb2xvcjojZDE4YjAwO2JvcmRlci1jb2xvcjojZjBhNTAwNGR9LmJ0bi1wZXJtaXNzaW9uLWFwcHJvdmU6aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZDojZjBhNTAwNDB9LmJ0bi1wZXJtaXNzaW9uLWRlbnl7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uYnRuLXBlcm1pc3Npb24tZGVueTpob3Zlcjpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kOiNkYzMyMzIxNDtjb2xvcjp2YXIoLS1kYW5nZXIpO2JvcmRlci1jb2xvcjojZGMzMjMyNGR9QGtleWZyYW1lcyBwZXJtaXNzaW9uLWZhZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTRweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9fS5hdXRvLWFwcHJvdmUtaW5kaWNhdG9yLmFjdGl2ZXtjb2xvcjojMjJjNTVlO2JvcmRlci1jb2xvcjojMjJjNTVlODA7YmFja2dyb3VuZDojMjJjNTVlMWZ9LmF1dG8tYXBwcm92ZS1pbmRpY2F0b3IuYWN0aXZlOmhvdmVye2JhY2tncm91bmQ6IzIyYzU1ZTMzO2JvcmRlci1jb2xvcjojMjJjNTVlfS5hcHByb3ZhbC1zdGF0c3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0uYXBwcm92YWwtc3RhdHMuaGlkZGVue2Rpc3BsYXk6bm9uZX0uYXBwcm92YWwtc3RhdHMtZGl2aWRlcnt3aWR0aDowO2hlaWdodDoxNnB4O21hcmdpbjowIDFweH0uYXBwcm92YWwtc3RhdHMtYmFkZ2V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjNweDttaW4taGVpZ2h0OjIycHg7cGFkZGluZzoxcHggOHB4O2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOiMyMmM1NWUxYTtjb2xvcjojMjJjNTVlO2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6ZGVmYXVsdDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cztsaW5lLWhlaWdodDoxO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uYXBwcm92YWwtc3RhdHMtYmFkZ2U6aG92ZXJ7YmFja2dyb3VuZDojMjJjNTVlMmV9LmFwcHJvdmFsLXN0YXRzLWljb257c3Ryb2tlOiMyMmM1NWU7ZmxleC1zaHJpbms6MH0uYXBwcm92YWwtc3RhdHMtdG90YWx7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfUBrZXlmcmFtZXMgYXBwcm92YWwtcHVsc2V7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSl9dG97dHJhbnNmb3JtOnNjYWxlKDEpfX0uYXBwcm92YWwtc3RhdHMtcHVsc2V7YW5pbWF0aW9uOmFwcHJvdmFsLXB1bHNlIC4zcyBlYXNlLW91dH0uYXBwcm92YWwtc3RhdHMtcG9wdXB7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTpjYWxjKDEwMCUgKyA2cHgpO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCwgIzFlMWUyZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6OHB4IDEwcHg7bWluLXdpZHRoOjE0MHB4O2JveC1zaGFkb3c6MCA0cHggMTZweCAjMDAwMDAwNDA7ei1pbmRleDoxMDA7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHh9LmFwcHJvdmFsLXN0YXRzOmhvdmVyIC5hcHByb3ZhbC1zdGF0cy1wb3B1cHtkaXNwbGF5OmZsZXh9LmFwcHJvdmFsLXN0YXRzLXBvcHVwLXRpdGxle2ZvbnQtc2l6ZTouNjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1ib3R0b206MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uYXBwcm92YWwtc3RhdHMtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmb250LXNpemU6LjdyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnksICNjY2MpO3doaXRlLXNwYWNlOm5vd3JhcH0uYXBwcm92YWwtc3RhdHMtcm93LWljb257d2lkdGg6MTZweDt0ZXh0LWFsaWduOmNlbnRlcjtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNzJyZW19LmFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbHtmbGV4OjF9LmFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudHtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5LCAjZWVlKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bWluLXdpZHRoOjIwcHg7dGV4dC1hbGlnbjpyaWdodH0uYXBwcm92YWwtc3RhdHMtcm93LXRvdGFse2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZy10b3A6NHB4O21hcmdpbi10b3A6MnB4O2NvbG9yOiMyMmM1NWV9LmFwcHJvdmFsLXN0YXRzLXJvdy10b3RhbCAuYXBwcm92YWwtc3RhdHMtcm93LWNvdW50e2NvbG9yOiMyMmM1NWV9LnF1ZXVlLWJhcnstLXFiLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNCk7LS1xYi1iZy1zdHJvbmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIyKTstLXFiLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjQpOy0tcWItdGV4dDogdmFyKC0tdGV4dC1wcmltYXJ5LCAjMWYxZDFhKTstLXFiLXRleHQtbXV0ZWQ6IHZhcigtLXRleHQtbXV0ZWQsICM2YjY1NWMpOy0tcWItc2hhZG93OiAwIDRweCAxOHB4IHJnYmEoMCwgMCwgMCwgLjEpLCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMDYpOy0tcWItc2hhZG93LWhvdmVyOiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgLjE0KSwgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgLjA2KX1bZGF0YS10aGVtZT1kYXJrXSAucXVldWUtYmFyLC50aGVtZS1kYXJrIC5xdWV1ZS1iYXJ7LS1xYi1iZzogcmdiYSg0MCwgMzgsIDM0LCAuNik7LS1xYi1iZy1zdHJvbmc6IHJnYmEoNjAsIDU2LCA1MCwgLjc0KTstLXFiLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTIpfS5pbnB1dC1wYW5lbD4ucXVldWUtYmFyLWhvc3R7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtsZWZ0OmF1dG87Ym90dG9tOmNhbGMoMTAwJSArIDZweCk7ei1pbmRleDozMDttYXgtd2lkdGg6bWluKDQ0MHB4LGNhbGMoMTAwJSAtIDIwcHgpKTtwb2ludGVyLWV2ZW50czpub25lfS5xdWV1ZS1iYXItaG9zdFtoaWRkZW5de2Rpc3BsYXk6bm9uZX0ucXVldWUtYmFye3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6NXB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lO3BhZGRpbmc6MDttYXJnaW46MH1Aa2V5ZnJhbWVzIHF1ZXVlQmFySXRlbUVudGVyezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX0ucXVldWUtYmFyLWhlYWR7cG9pbnRlci1ldmVudHM6YXV0bztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6M3B4IDZweCAzcHggMTBweDtiYWNrZ3JvdW5kOnZhcigtLXFiLWJnKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcWItYm9yZGVyKTtib3JkZXItcmFkaXVzOjEzcHg7Ym94LXNoYWRvdzp2YXIoLS1xYi1zaGFkb3cpLGluc2V0IDAgMXB4ICNmZmYzO2FuaW1hdGlvbjpxdWV1ZUJhckl0ZW1FbnRlciAuMjJzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSBib3RofS5xdWV1ZS1iYXItaGVhZC1jb3VudHtmb250LXNpemU6MTAuNXB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1xYi10ZXh0LW11dGVkKTtsZXR0ZXItc3BhY2luZzouMDJlbTt1c2VyLXNlbGVjdDpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0ucXVldWUtYmFyLWNsZWFyLWFsbHtmb250LXNpemU6MTFweDtwYWRkaW5nOjJweCA5cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpO2NvbG9yOnZhcigtLXFiLXRleHQtbXV0ZWQpO2JvcmRlci1yYWRpdXM6MTBweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlfS5xdWV1ZS1iYXItY2xlYXItYWxsOmhvdmVye2JhY2tncm91bmQ6I2RjNTA0NjFmO2JvcmRlci1jb2xvcjojZGM1MDQ2NTk7Y29sb3I6I2Q4NDgzY30ucXVldWUtYmFyLWxpc3R7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDo1cHg7d2lkdGg6MTAwJX0ucXVldWUtYmFyLWl0ZW17cG9pbnRlci1ldmVudHM6YXV0bztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3BhZGRpbmc6NHB4IDZweCA0cHggNXB4O21heC13aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOnZhcigtLXFiLWJnKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcWItYm9yZGVyKTtib3JkZXItcmFkaXVzOjE1cHg7Ym94LXNoYWRvdzp2YXIoLS1xYi1zaGFkb3cpLGluc2V0IDAgMXB4ICNmZmYzO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuMzU7Y29sb3I6dmFyKC0tcWItdGV4dCk7Y3Vyc29yOmdyYWI7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2U7YW5pbWF0aW9uOnF1ZXVlQmFySXRlbUVudGVyIC4yMnMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpIGJvdGh9LnF1ZXVlLWJhci1pdGVtOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tcWItYmctc3Ryb25nKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OnZhcigtLXFiLXNoYWRvdy1ob3ZlciksaW5zZXQgMCAxcHggI2ZmZmZmZjQwfS5xdWV1ZS1iYXItaXRlbS5kcmFnZ2luZ3tjdXJzb3I6Z3JhYmJpbmc7dHJhbnNmb3JtOnNjYWxlKDEuMDQpO2JveC1zaGFkb3c6MCA4cHggMjJweCAjMDAwMzt6LWluZGV4OjUwO29wYWNpdHk6Ljk0fS5xdWV1ZS1iYXItaXRlbS1zbGlkaW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNnMgY3ViaWMtYmV6aWVyKC4yLC43LC4yLDEpfS5xdWV1ZS1iYXItaXRlbS1pbmRleHtmbGV4OjAgMCBhdXRvO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LCAjYzU2NTNkKTtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UsICNmZmYpO2JvcmRlci1yYWRpdXM6NTAlO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxfS5xdWV1ZS1iYXItaXRlbS10ZXh0e2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOnZhcigtLXFiLXRleHQpO2ZvbnQtd2VpZ2h0OjUwMH0ucXVldWUtYmFyLWl0ZW0tcHJvbW90ZSwucXVldWUtYmFyLWl0ZW0tZGVsZXRle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOiNmZmZmZmYyOTtjb2xvcjp2YXIoLS1xYi10ZXh0KTtib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjtmbGV4OjAgMCBhdXRvO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsdHJhbnNmb3JtIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2UsZmlsdGVyIC4xNXMgZWFzZTtwYWRkaW5nOjB9LnF1ZXVlLWJhci1pdGVtLXByb21vdGV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQsICNjNTY1M2QpO2NvbG9yOnZhcigtLXRleHQtaW52ZXJzZSwgI2ZmZil9LnF1ZXVlLWJhci1pdGVtLXByb21vdGU6aG92ZXJ7ZmlsdGVyOmJyaWdodG5lc3MoMS4wOCk7dHJhbnNmb3JtOnNjYWxlKDEuMDYpfS5xdWV1ZS1iYXItaXRlbS1kZWxldGU6aG92ZXJ7YmFja2dyb3VuZDojZGM1MDQ2MmU7Y29sb3I6I2Q4NDgzY30ucXVldWUtYmFyLWl0ZW0tZGVsZXRlOmFjdGl2ZSwucXVldWUtYmFyLWl0ZW0tcHJvbW90ZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LnF1ZXVlLWJhci1pdGVtLXByb21vdGUgc3ZnLC5xdWV1ZS1iYXItaXRlbS1kZWxldGUgc3Zne2ZsZXgtc2hyaW5rOjB9LnF1ZXVlLWJhci5xdWV1ZS1iYXItY2FwYWNpdHkgLnF1ZXVlLWJhci1pdGVtey0tcWItYmc6IHJnYmEoMjIwLCAxMjAsIDYwLCAuMik7LS1xYi1iZy1zdHJvbmc6IHJnYmEoMjIwLCAxMjAsIDYwLCAuMjgpfS5xdWV1ZS1iYXIucXVldWUtYmFyLWluZmxpZ2h0IC5xdWV1ZS1iYXItaXRlbXtib3gtc2hhZG93OnZhcigtLXFiLXNoYWRvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjQwLDAgMCAwIDFweCAjYzU2NTNkMmV9QG1lZGlhKG1heC13aWR0aDo1NjBweCl7LmlucHV0LXBhbmVsPi5xdWV1ZS1iYXItaG9zdHtyaWdodDo4cHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE2cHgpfX0uaW5wdXQtaGludHtmb250LXNpemU6LjVyZW07bGluZS1oZWlnaHQ6MS4yO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3JhcDt1c2VyLXNlbGVjdDpub25lO29wYWNpdHk6Ljc7bWF4LXdpZHRoOjM4Y2g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LmNvbXBvc2VyLXRvcC1yb3d7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21pbi13aWR0aDowfS5jb21wb3Nlci10b3Atcm93Omhhcyg+LnRvZG8tcHJvZ3Jlc3M6bm90KC5oaWRkZW4pKSwuY29tcG9zZXItdG9wLXJvdzpoYXMoPi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIpe21hcmdpbi1ib3R0b206NnB4fS50b2RvLXByb2dyZXNze21hcmdpbi1ib3R0b206NnB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvZG8tcHJvZ3Jlc3MuaGlkZGVue2Rpc3BsYXk6bm9uZX0uY29tcG9zZXItdG9wLXJvdz4udG9kby1wcm9ncmVzc3tmbGV4OjE7bWluLXdpZHRoOjA7bWFyZ2luLWJvdHRvbTowfS50b2RvLXByb2dyZXNzLWhlYWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7bWluLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxMHB4O2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7Z2FwOjEwcHg7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWJnLWVsZXZhdGVkKSA3OCUsdHJhbnNwYXJlbnQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxMXB4O2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhzKSxpbnNldCAwIDFweCAjZmZmZmZmOGM7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udG9kby1wcm9ncmVzcy1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1iZy1lbGV2YXRlZCkgODglLHZhcigtLWFjY2VudC1tdXRlZCkpO2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1ib3JkZXItZGVmYXVsdCkgNjUlLHZhcigtLWFjY2VudCkpfS50b2RvLXByb2dyZXNzLWhlYWRlcjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWZvY3VzKTtib3gtc2hhZG93OjAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpLGluc2V0IDAgMXB4ICNmZmZmZmY4Y30udG9kby1wcm9ncmVzcy1oZWFkZXI6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7cmlnaHQ6MTBweDtib3R0b206M3B4O2hlaWdodDoycHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXItc3VidGxlKTtwb2ludGVyLWV2ZW50czpub25lfS50b2RvLXByb2dyZXNzLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O21pbi13aWR0aDowO2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS50b2RvLXByb2dyZXNzLXJpbmd7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21pbi13aWR0aDoxNnB4O2ZsZXgtc2hyaW5rOjB9LnRvZG8tcHJvZ3Jlc3MtcmluZyBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyl9LnRvZG8tcmluZy10cmFja3tzdHJva2U6I2M1NjUzZDJlfS50b2RvLXJpbmctZmlsbHtzdHJva2U6dmFyKC0tYWNjZW50KTtzdHJva2UtZGFzaGFycmF5Ojk3LjM5O3N0cm9rZS1kYXNob2Zmc2V0OmNhbGMoOTcuMzkgKiAoMSAtIHZhcigtLXByb2dyZXNzLCAwKSkpO3RyYW5zaXRpb246c3Ryb2tlLWRhc2hvZmZzZXQgLjM1cyBlYXNlfS50b2RvLXByb2dyZXNzLWNvdW50ZXJ7bWluLXdpZHRoOjMxcHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjY1MDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bGV0dGVyLXNwYWNpbmc6LjAxZW19LnRvZG8tcHJvZ3Jlc3MtZmlsbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7Ym90dG9tOjNweDt3aWR0aDpjYWxjKCgxMDAlIC0gMjBweCkgKiB2YXIoLS1wcm9ncmVzcywgMCkpO2hlaWdodDoycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tYWNjZW50LWFjdGl2ZSksdmFyKC0tYWNjZW50LWhvdmVyKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7dHJhbnNpdGlvbjp3aWR0aCAuM3MgZWFzZS1vdXQ7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjJ9LnRvZG8tcHJvZ3Jlc3MtdGFzay13cmFwe2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtwYWRkaW5nLWxlZnQ6MnB4fS50b2RvLXByb2dyZXNzLXRhc2t7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjE7bWluLXdpZHRoOjA7dGV4dC1hbGlnbjpsZWZ0fS50b2RvLXByb2dyZXNzLWNoZXZyb257Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgZWFzZTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LnRvZG8tcHJvZ3Jlc3MuZXhwYW5kZWQgLnRvZG8tcHJvZ3Jlc3MtY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnRvZG8tcHJvZ3Jlc3MtYm9keXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206Y2FsYygxMDAlICsgNnB4KTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWJnLWVsZXZhdGVkKSA5NCUsdHJhbnNwYXJlbnQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6N3B4O2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWxnKSxpbnNldCAwIDFweCAjZmZmZmZmOGM7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCkgc2F0dXJhdGUoMS4xKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE0cHgpIHNhdHVyYXRlKDEuMSk7bWF4LWhlaWdodDozMjBweDtvdmVyZmxvdy15OmF1dG87ei1pbmRleDozMDtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgZWFzZX0udG9kby1wcm9ncmVzcy1ib2R5LmhpZGRlbntkaXNwbGF5Om5vbmV9LnRvZG8tcHJvZ3Jlc3MtYm9keS5leHBhbmRlZHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7cG9pbnRlci1ldmVudHM6YXV0b30udG9kby1wcm9ncmVzcy1saXN0e2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6M3B4fS50b2RvLXByb2dyZXNzLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O21pbi1oZWlnaHQ6MzRweDtwYWRkaW5nOjdweCA5cHg7Ym9yZGVyLXJhZGl1czo5cHg7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtsaW5lLWhlaWdodDoxLjM1O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50b2RvLXByb2dyZXNzLWl0ZW0rLnRvZG8tcHJvZ3Jlc3MtaXRlbXtib3JkZXItdG9wOjB9LnRvZG8tcHJvZ3Jlc3MtaXRlbS5hY3RpdmV7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXdlaWdodDo1NTA7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpfS50b2RvLXByb2dyZXNzLWl0ZW0uZG9uZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi43OH0udG9kby1wcm9ncmVzcy1pdGVtPnNwYW46bGFzdC1jaGlsZHtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50b2RvLWl0ZW0taWNvbntkaXNwbGF5OmlubGluZS1ncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjt3aWR0aDoxOHB4O21pbi13aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JvcmRlcjoxLjVweCBzb2xpZCBjdXJyZW50Q29sb3I7Ym9yZGVyLXJhZGl1czo1MCU7Zm9udC1zaXplOjA7ZmxleC1zaHJpbms6MH0udG9kby1pdGVtLWljb24ucGVuZGluZ3tjb2xvcjp2YXIoLS1ib3JkZXItc3Ryb25nKX0udG9kby1pdGVtLWljb24uYWN0aXZle2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgNDAlLHRyYW5zcGFyZW50KX0udG9kby1pdGVtLWljb24uYWN0aXZlOmFmdGVye2NvbnRlbnQ6IiI7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpjdXJyZW50Q29sb3J9LnRvZG8taXRlbS1pY29uLmRvbmV7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKX0udG9kby1pdGVtLWljb24uZG9uZTphZnRlcntjb250ZW50OiIiO3dpZHRoOjdweDtoZWlnaHQ6NHB4O2JvcmRlci1sZWZ0OjEuNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtib3JkZXItYm90dG9tOjEuNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KSByb3RhdGUoLTQ1ZGVnKX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey50b2RvLXJpbmctZmlsbCwudG9kby1wcm9ncmVzcy1maWxsLC50b2RvLXByb2dyZXNzLWJvZHksLnRvZG8tcHJvZ3Jlc3MtY2hldnJvbnt0cmFuc2l0aW9uOm5vbmV9fS5pbnB1dC10ZXh0YXJlYXstLWlucHV0LW1heC1oZWlnaHQ6IDEyMHB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi45Mzc1cmVtO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtjYXJldC1jb2xvcjp2YXIoLS1hY2NlbnQpO3BhZGRpbmc6OXB4IDEwcHg7b3V0bGluZTpub25lO3Jlc2l6ZTpub25lO21pbi1oZWlnaHQ6MzZweDttYXgtaGVpZ2h0OnZhcigtLWlucHV0LW1heC1oZWlnaHQpO3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztvdmVyZmxvdy15OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7dHJhbnNpdGlvbjpoZWlnaHQgLjE2cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSk7Ym94LXNpemluZzpib3JkZXItYm94O2xpbmUtaGVpZ2h0OjEuNDU7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbTt0b3VjaC1hY3Rpb246cGFuLXk7c2Nyb2xsYmFyLWd1dHRlcjpzdGFibGV9QG1lZGlhKHBvaW50ZXI6Y29hcnNlKXsuaW5wdXQtY29tcG9zZXJ7LS1jb21wb3Nlci1hY3Rpb24tc2l6ZTogNDRweH0uaW5wdXQtdGV4dGFyZWF7LS1pbnB1dC1tYXgtaGVpZ2h0OiBtaW4oMTYwcHgsIDM1ZHZoKTtvdmVyZmxvdy15OmF1dG99fUBzdXBwb3J0cyBub3QgKGhlaWdodDogMWR2aCl7QG1lZGlhKHBvaW50ZXI6Y29hcnNlKXsuaW5wdXQtdGV4dGFyZWF7LS1pbnB1dC1tYXgtaGVpZ2h0OiBtaW4oMTYwcHgsIDM1dmgpfX19LmlucHV0LXRleHRhcmVhOmZvY3Vze291dGxpbmU6bm9uZX0uaW5wdXQtdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOjA7b3BhY2l0eTouODJ9LmlucHV0LXRleHRhcmVhLmlzLXRlcm1pbmFsLXBhc3N0aHJvdWdoe29wYWNpdHk6Ljc7Y3Vyc29yOmRlZmF1bHR9LmlucHV0LXRleHRhcmVhLmlzLXRlcm1pbmFsLXBhc3N0aHJvdWdoOjpwbGFjZWhvbGRlcntmb250LXN0eWxlOml0YWxpY30uY29tcG9zZXItcGlsbHthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTttaW4taGVpZ2h0OjIycHg7cGFkZGluZzoxcHggOHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6I2Y2ZjFlOGIzO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjRweDt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNpemluZzpib3JkZXItYm94O3VzZXItc2VsZWN0Om5vbmV9LmNvbXBvc2VyLXBpbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZC1jb2xvcjojZjZmMWU4fS5jb21wb3Nlci1waWxsOmZvY3VzLC5jb21wb3Nlci1waWxsOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKTtvdXRsaW5lOm5vbmV9LmNvbXBvc2VyLXBpbGwuZGlzYWJsZWQsLmNvbXBvc2VyLXBpbGxbZGlzYWJsZWRde29wYWNpdHk6LjU1O2N1cnNvcjpub3QtYWxsb3dlZH0uY29tcG9zZXItcGlsbC1jaGlwe3BhZGRpbmc6MXB4IDhweDtmb250LXNpemU6LjYyNXJlbX0uY29tcG9zZXItcGlsbC1jaGlwLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCwgcmdiYSgxOTcsIDEwMSwgNjEsIC4xMikpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LmNvbXBvc2VyLXBpbGwtY2hpcC5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMmV9LmlzLXdhbmQtYXBwIC5pbnB1dC1jb21wb3Nlcjpub3QoOmZvY3VzLXdpdGhpbik6bm90KC5oYXMtdGV4dCkgLmF1dG8tYXBwcm92ZS1pbmRpY2F0b3J7d2lkdGg6MjRweDttaW4td2lkdGg6MjRweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7Z2FwOjB9LmlzLXdhbmQtYXBwIC5pbnB1dC1jb21wb3Nlcjpub3QoOmZvY3VzLXdpdGhpbik6bm90KC5oYXMtdGV4dCkgLmF1dG8tYXBwcm92ZS1pbmRpY2F0b3IgLmNvbXBvc2VyLXBpbGwtbGFiZWx7ZGlzcGxheTpub25lfS5jaGF0LW1vZGUtc2VsZWN0e21heC13aWR0aDo3OHB4fS5idG4tY2lyY2xle3dpZHRoOnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTtoZWlnaHQ6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO21pbi13aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtmbGV4LXNocmluazowO3BhZGRpbmc6MH0uYnRuLWNpcmNsZS1zZW5ke2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZmZmZjM4LDAgM3B4IDdweCAjYWY1MzMwMjl9LmJ0bi1jaXJjbGUtc2VuZDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1ob3Zlcik7dHJhbnNmb3JtOnNjYWxlKDEuMDQpO2JveC1zaGFkb3c6bm9uZX0uYnRuLWNpcmNsZS1zZW5kOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk1KX0uYnRuLWNpcmNsZS1zdG9we2JhY2tncm91bmQ6I2IyNGY0NTFmO2NvbG9yOnZhcigtLWRhbmdlcil9LmJ0bi1jaXJjbGUtc3RvcDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcik7Y29sb3I6I2ZmZjt0cmFuc2Zvcm06c2NhbGUoMS4wOCl9LmJ0bi1jaXJjbGUtc3RvcDphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9LmJ0bi1jaXJjbGUtc2VuZC5xdWV1ZS1tb2Rle2JhY2tncm91bmQ6I2M1NjUzZDk0O2JveC1zaGFkb3c6bm9uZX0uYnRuLWNpcmNsZS1zZW5kLnF1ZXVlLW1vZGU6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6bm9uZX0ucHJvbXB0LW9wdGltaXplLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O3JpZ2h0OjZweDt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMjIpO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6I2M1NjUzZDE3O2NvbG9yOnZhcigtLWFjY2VudCk7ei1pbmRleDo0O2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0ucHJvbXB0LW9wdGltaXplLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QyNDtjb2xvcjp2YXIoLS1hY2NlbnQtaG92ZXIpO3RyYW5zZm9ybTpzY2FsZSgxLjA0KTtib3JkZXItY29sb3I6I2M1NjUzZDU5O2JveC1zaGFkb3c6bm9uZX0ucHJvbXB0LW9wdGltaXplLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Mik7Ym94LXNoYWRvdzpub25lfS5wcm9tcHQtb3B0aW1pemUtYnRuOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi42fS5wcm9tcHQtb3B0aW1pemUtYnRuOmRpc2FibGVkOmhvdmVye3RyYW5zZm9ybTpub25lO2JhY2tncm91bmQ6I2M1NjUzZDE3O2JveC1zaGFkb3c6bm9uZTtib3JkZXItY29sb3I6I2M1NjUzZDM4fS5wcm9tcHQtb3B0aW1pemUtaWNvbnt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGVhc2Usb3BhY2l0eSAuMnMgZWFzZTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDE5NywxMDEsNjEsLjMpKX0ucHJvbXB0LW9wdGltaXplLWJ0bjpob3ZlciAucHJvbXB0LW9wdGltaXplLWljb257YW5pbWF0aW9uOnByb21wdC1vcHRpbWl6ZS10d2lua2xlIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAzcHggcmdiYSgxOTcsMTAxLDYxLC40KSl9QGtleWZyYW1lcyBwcm9tcHQtb3B0aW1pemUtdHdpbmtsZXswJSx0b3t0cmFuc2Zvcm06cm90YXRlKDApIHNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDEyZGVnKSBzY2FsZSgxLjEyKX19LnByb21wdC1vcHRpbWl6ZS1zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7YmFja2dyb3VuZDpjb25pYy1ncmFkaWVudChmcm9tIDBkZWcsdHJhbnNwYXJlbnQgMGRlZyx2YXIoLS1hY2NlbnQpIDI3MGRlZyx0cmFuc3BhcmVudCAzNjBkZWcpO21hc2s6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSx0cmFuc3BhcmVudCAxMHB4LGJsYWNrIDExcHgpOy13ZWJraXQtbWFzazpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHRyYW5zcGFyZW50IDEwcHgsYmxhY2sgMTFweCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgZWFzZX0ucHJvbXB0LW9wdGltaXplLWJ0bi5pcy1sb2FkaW5ne2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmZmZhZjIsI2U4YzVhZTgwKTtib3JkZXItY29sb3I6I2M1NjUzZDY2O2JveC1zaGFkb3c6MCAycHggMTJweCAjYzU2NTNkNDAsMCAwIDAgM3B4ICNjNTY1M2QxNH0ucHJvbXB0LW9wdGltaXplLWJ0bi5pcy1sb2FkaW5nIC5wcm9tcHQtb3B0aW1pemUtaWNvbnthbmltYXRpb246cHJvbXB0LW9wdGltaXplLXB1bHNlIDEuMXMgZWFzZS1pbi1vdXQgaW5maW5pdGV9LnByb21wdC1vcHRpbWl6ZS1idG4uaXMtbG9hZGluZyAucHJvbXB0LW9wdGltaXplLXNwaW5uZXJ7b3BhY2l0eToxO2FuaW1hdGlvbjpwcm9tcHQtb3B0aW1pemUtc3BpbiAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgcHJvbXB0LW9wdGltaXplLXNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHByb21wdC1vcHRpbWl6ZS1wdWxzZXswJSx0b3t0cmFuc2Zvcm06c2NhbGUoLjg4KTtvcGFjaXR5Oi44fTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSk7b3BhY2l0eToxfX0uaW5wdXQtY29tcG9zZXIuaXMtb3B0aW1pemluZ3tib3JkZXItY29sb3I6I2M1NjUzZDZiO2JveC1zaGFkb3c6MCAwIDAgMnB4ICNjNTY1M2QxYSwwIDAgMThweCAjYzU2NTNkMjR9LmlucHV0LWNvbXBvc2VyLmlzLW9wdGltaXppbmcgLmNvbXBvc2VyLWlucHV0LXdyYXA6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEwMGRlZyx0cmFuc3BhcmVudCAwJSx0cmFuc3BhcmVudCAzOCUscmdiYSgyMTQsMTIzLDgyLC4xNikgNTAlLHRyYW5zcGFyZW50IDYyJSx0cmFuc3BhcmVudCAxMDAlKTtiYWNrZ3JvdW5kLXNpemU6MjIwJSAxMDAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIyMCUgMDthbmltYXRpb246cHJvbXB0LW9wdGltaXplLWZsb3cgMS42cyBsaW5lYXIgaW5maW5pdGU7ei1pbmRleDowfUBrZXlmcmFtZXMgcHJvbXB0LW9wdGltaXplLWZsb3d7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoyMjAlIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwJSAwfX0ucHJvbXB0LW9wdGltaXplLWJ0bi5pcy1zaGFrZXthbmltYXRpb246cHJvbXB0LW9wdGltaXplLXNoYWtlIC40cyBlYXNlLW91dDtjb2xvcjp2YXIoLS1kYW5nZXIpfUBrZXlmcmFtZXMgcHJvbXB0LW9wdGltaXplLXNoYWtlezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9MjAle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTNweCl9NDAle3RyYW5zZm9ybTp0cmFuc2xhdGUoM3B4KX02MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4KX04MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgycHgpfX1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsucHJvbXB0LW9wdGltaXplLWJ0bnt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKX0ucHJvbXB0LW9wdGltaXplLWljb257d2lkdGg6MTRweDtoZWlnaHQ6MTRweH19LmJ0bi1jaXJjbGUtYWN0aW9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7d2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2hlaWdodDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7bWluLXdpZHRoOnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZmxleC1zaHJpbms6MDtwYWRkaW5nOjB9LmJ0bi1jaXJjbGUtYWN0aW9uOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDFhO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnNjYWxlKDEuMDgpfS5idG4tY2lyY2xlLWFjdGlvbjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LmJ0bi1jaXJjbGUtYWN0aW9uLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCwgcmdiYSgxOTcsIDEwMSwgNjEsIC4xNCkpO2NvbG9yOnZhcigtLWFjY2VudCl9LmJ0bi1jaXJjbGUtYWN0aW9uLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QzOH0uYnRuLWNpcmNsZS1hY3Rpb24uYnRuLWNpcmNsZS12b2ljZXt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTttaW4td2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMTI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjEpO2JveC1zaGFkb3c6bm9uZTt0b3VjaC1hY3Rpb246bm9uZTt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0uYnRuLWNpcmNsZS12b2ljZS5pcy1yZWNvcmRpbmd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tYWNjZW50LW11dGVkKTt0cmFuc2Zvcm06c2NhbGUoLjk2KX0uYnRuLWNpcmNsZS12b2ljZTpkaXNhYmxlZHtvcGFjaXR5Oi4zNTtjdXJzb3I6bm90LWFsbG93ZWR9LmNoYXQtbW9kZS10cmlve2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleC13cmFwOndyYXB9LmNoYXQtbW9kZS10cmlvLXBpbGx7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZX0uY2hhdC1tb2RlLXRyaW8tdGFne2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5LCAjYjVhODlhKTtsZXR0ZXItc3BhY2luZzouMDRlbTttYXJnaW4tcmlnaHQ6NHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtvcGFjaXR5Oi43NX0uZW1wdHktc3RhdGUtdHJpby13cmFwe21hcmdpbi10b3A6MTRweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2FuaW1hdGlvbjplbXB0eVN0YXRlVHJpb0ZhZGVJbiAuNHMgZWFzZS1vdXR9LmVtcHR5LXN0YXRlLXRyaW8taGludHtmb250LXNpemU6LjcycmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xldHRlci1zcGFjaW5nOi4wMmVtfS5jaGF0LW1vZGUtdHJpby1kcm9wZG93bntnYXA6NHB4O3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDojZjZmMWU4OTk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEycHg7Ym94LXNoYWRvdzowIDFweCAzcHggIzAwMDAwMDBhfS5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY2hhdC1tb2RlLXRyaW8tcGlsbHtmb250LXNpemU6Ljc4cmVtO3BhZGRpbmc6M3B4IDZweDtib3JkZXItcmFkaXVzOjhweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY2hhdC1tb2RlLXRyaW8tZHJvcGRvd24gLmNoYXQtbW9kZS10cmlvLXBpbGw6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMGZ9LmNoYXQtbW9kZS10cmlvLWRyb3Bkb3duIC5jaGF0LW1vZGUtdHJpby1waWxsOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kOiNjNTY1M2QxNH0uY2hhdC1tb2RlLXRyaW8tZHJvcGRvd24gLmNvbXBvc2VyLXRleHQtbGFiZWx7Zm9udC1zaXplOi44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO21heC13aWR0aDoxNDBweH1Aa2V5ZnJhbWVzIGVtcHR5U3RhdGVUcmlvRmFkZUluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmNoYXQtbWVzc2FnZS1hdmF0YXIudXNlciAuY2hhdC1tb2RlLXRyaW8tY29tcGFjdHttYXJnaW4tcmlnaHQ6NHB4O2dhcDozcHg7b3BhY2l0eTouNTU7dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNoYXQtbWVzc2FnZS1hdmF0YXIudXNlcjpob3ZlciAuY2hhdC1tb2RlLXRyaW8tY29tcGFjdCwuY2hhdC1tZXNzYWdlLWF2YXRhci51c2VyIC5jaGF0LW1vZGUtdHJpby1jb21wYWN0OmZvY3VzLXdpdGhpbiwuY2hhdC1tZXNzYWdlLWF2YXRhci51c2VyIC5jaGF0LW1vZGUtdHJpby1jb21wYWN0OmhvdmVye29wYWNpdHk6MX0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY2hhdC1tb2RlLXRyaW8tcGlsbHtmb250LXNpemU6LjY4NzVyZW07cGFkZGluZzoycHggNnB4O2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOiNmNmYxZTg4Yztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2xpbmUtaGVpZ2h0OjF9LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNoYXQtbW9kZS10cmlvLXBpbGw6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMWE7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY29tcG9zZXItdGV4dC1sYWJlbHtmb250LXNpemU6LjY4NzVyZW07bWF4LXdpZHRoOjg4cHg7bGV0dGVyLXNwYWNpbmc6LjAxZW19LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNvbXBvc2VyLXRleHQtc2Vwe2Rpc3BsYXk6bm9uZX1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsuY2hhdC1tb2RlLXRyaW8tZHJvcGRvd257cGFkZGluZzo2cHggMTBweDtnYXA6MnB4fS5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY29tcG9zZXItdGV4dC1sYWJlbHttYXgtd2lkdGg6MTAwcHh9LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNoYXQtbW9kZS10cmlvLXBpbGx7Zm9udC1zaXplOi42MjVyZW07cGFkZGluZzoycHggNXB4fS5jaGF0LW1vZGUtdHJpby1jb21wYWN0IC5jb21wb3Nlci10ZXh0LWxhYmVse21heC13aWR0aDo2NHB4fX0uY29tcG9zZXItcGx1cy1wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTRweDtib3R0b206Y2FsYyh2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSArIDU2cHgpO3otaW5kZXg6Mjg7bWluLXdpZHRoOjI0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAyOHB4KTtiYWNrZ3JvdW5kOiNmZmZmZmZmYTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjE2cHg7Ym94LXNoYWRvdzowIDEycHggMjhweCAjMDAwMDAwMmUsMCAycHggNnB4ICMwMDAwMDAxNDtwYWRkaW5nOjZweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHg7YW5pbWF0aW9uOnBsdXNQb3BvdmVySW4gLjE4cyBlYXNlLW91dDt0cmFuc2Zvcm0tb3JpZ2luOjE2cHggY2FsYygxMDAlICsgOHB4KX0uY29tcG9zZXItcGx1cy1wb3BvdmVyLmhpZGRlbntkaXNwbGF5Om5vbmV9QGtleWZyYW1lcyBwbHVzUG9wb3ZlckluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX0ucGx1cy1wb3BvdmVyLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjhweCAxMHB4O2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoxMHB4O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOi44MnJlbTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEwMCV9LnBsdXMtcG9wb3Zlci1pdGVtOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDE0fS5wbHVzLXBvcG92ZXItaXRlbTphY3RpdmV7YmFja2dyb3VuZDojYzU2NTNkMjR9LnBsdXMtcG9wb3Zlci1pY29ue2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmbGV4LXNocmluazowfS5wbHVzLXBvcG92ZXItbGFiZWx7ZmxleDoxO2xpbmUtaGVpZ2h0OjEuMn0ucGx1cy1wb3BvdmVyLXRvZ2dsZS1zdGF0ZXtmb250LXNpemU6LjY4cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BhZGRpbmc6MnB4IDhweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOiMwMDAwMDAwZDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LjAyZW19LnBsdXMtcG9wb3Zlci1pdGVtLmlzLW9uLC5wbHVzLXBvcG92ZXItaXRlbS5pcy1vbiAucGx1cy1wb3BvdmVyLWljb257Y29sb3I6dmFyKC0tYWNjZW50KX0ucGx1cy1wb3BvdmVyLWl0ZW0uaXMtb24gLnBsdXMtcG9wb3Zlci10b2dnbGUtc3RhdGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCl9LnBsdXMtcG9wb3Zlci1zZXB7aGVpZ2h0OjFweDttYXJnaW46NHB4IDZweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1zdWJ0bGUpfS5wbHVzLXBvcG92ZXItdHJpby13cmFwe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH0ucGx1cy1wb3BvdmVyLXRyaW8td3JhcCAuY29tcG9zZXItY29uZmlnLWNvbnRyb2xze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NnB4fS5wbHVzLXBvcG92ZXItdHJpby13cmFwIC5jb21wb3Nlci1jb25maWctY2hpcHt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO21pbi1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjEycHg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzowIDEwcHh9LnBsdXMtcG9wb3Zlci10cmlvLXdyYXAgLm1vZGVsLXJlZnJlc2gtYnV0dG9uLC5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5tb2RlbC1yZWZyZXNoLWJ1dHRvbnt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjEycHg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7Z2FwOjhweDtwYWRkaW5nOjAgMTBweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44MnJlbX0ucGx1cy1wb3BvdmVyLXRyaW8td3JhcCAubW9kZWwtcmVmcmVzaC1sYWJlbCwuY2hhdC1tb2RlLXRyaW8tcG9wb3ZlciAubW9kZWwtcmVmcmVzaC1sYWJlbHtkaXNwbGF5OmlubGluZTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2dhcDoycHh9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNvbXBvc2VyLXRleHQtc2Vwe2Rpc3BsYXk6bm9uZX0uY2hhdC1tb2RlLXRyaW8tcG9wb3ZlciAuY2hhdC1tb2RlLXRyaW8tcGlsbHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo3cHggMTBweDtib3JkZXItcmFkaXVzOjEwcHg7Zm9udC1zaXplOi44MnJlbTttYXgtd2lkdGg6bm9uZTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jaGF0LW1vZGUtdHJpby1waWxsOmhvdmVyLC5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jaGF0LW1vZGUtdHJpby1waWxsOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kOiNjNTY1M2QxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jaGF0LW1vZGUtdHJpby10YWd7Zm9udC1zaXplOi43MnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2xldHRlci1zcGFjaW5nOjA7dGV4dC10cmFuc2Zvcm06bm9uZTtvcGFjaXR5OjE7bWFyZ2luLXJpZ2h0OjA7ZmxleC1zaHJpbms6MDt3aWR0aDozNnB4fS5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jb21wb3Nlci10ZXh0LWxhYmVse2ZsZXg6MTtmb250LXNpemU6LjgycmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dGV4dC1hbGlnbjpyaWdodDttYXgtd2lkdGg6MTAwJTtmb250LXdlaWdodDo1MDB9QG1lZGlhKG1heC13aWR0aDo3MjBweCl7LmlucHV0LWNvbXBvc2Vyey0tY29tcG9zZXItYWN0aW9uLXNpemU6IDQ0cHh9LmNvbXBvc2VyLXBsdXMtcG9wb3ZlcnttaW4td2lkdGg6MjIwcHg7bGVmdDoxMHB4O2JvdHRvbTpjYWxjKHZhcigtLXNhZmUtYm90dG9tLCAwcHgpICsgNjBweCl9LmNvbXBvc2VyLW1haW4tcm93e2NvbHVtbi1nYXA6MnB4O3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDo1cHh9LmNvbXBvc2VyLWlubGluZS1jb25maWd7Z2FwOjNweH0uY29tcG9zZXItY29uZmlnLWNoaXAsLnBsdXMtcG9wb3Zlci10cmlvLXdyYXAgLmNvbXBvc2VyLWNvbmZpZy1jaGlwLC5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY2hhdC1tb2RlLXRyaW8tcGlsbCwucGx1cy1wb3BvdmVyLXRyaW8td3JhcCAubW9kZWwtcmVmcmVzaC1idXR0b24sLmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLm1vZGVsLXJlZnJlc2gtYnV0dG9ue21pbi1oZWlnaHQ6NDRweH0uY29tcG9zZXItY29uZmlnLWNoaXB7cGFkZGluZzowIDdweDttYXgtd2lkdGg6NjRweH0uY29tcG9zZXItY29uZmlnLW1vZGVse21heC13aWR0aDo3NnB4fS5jb21wb3Nlci1jb25maWctdGhpbmtpbmd7bWF4LXdpZHRoOjY4cHh9LmNvbXBvc2VyLWNvbmZpZy1sYWJlbHtmb250LXNpemU6LjY4cmVtfX1AbWVkaWEobWF4LXdpZHRoOjQzMHB4KXsuaW5wdXQtY29tcG9zZXI6Zm9jdXMtd2l0aGluIC5jb21wb3Nlci1pbmxpbmUtY29uZmlnLC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZCAuY29tcG9zZXItaW5saW5lLWNvbmZpZ3tkaXNwbGF5Om5vbmV9LmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiAuY29tcG9zZXItYWN0aW9ucy1sZWZ0LC5pbnB1dC1jb21wb3Nlci5pcy1leHBhbmRlZCAuY29tcG9zZXItYWN0aW9ucy1sZWZ0e2dyaWQtY29sdW1uOjEgLyAzfX0ucHJvbXB0LW9wdGltaXplLWJ0bntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6YXV0byA0cHggNHB4IGF1dG87dHJhbnNmb3JtOm5vbmU7d2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2hlaWdodDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7ei1pbmRleDo0fS5pbnB1dC1jb21wb3Nlci5oYXMtdGV4dCAucHJvbXB0LW9wdGltaXplLWJ0bntkaXNwbGF5OmlubGluZS1mbGV4fS5pbnB1dC1jb21wb3Nlci5oYXMtdGV4dCAucHJvbXB0LW9wdGltaXplLWJ0bjpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4wNCl9LmlucHV0LWNvbXBvc2VyLmhhcy10ZXh0IC5wcm9tcHQtb3B0aW1pemUtYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjkyKX0uaW5wdXQtY29tcG9zZXIuaGFzLXRleHQgLmlucHV0LXRleHRhcmVhe3BhZGRpbmctcmlnaHQ6NDRweH1AbWVkaWEobWluLXdpZHRoOjcyMXB4KWFuZCAoaG92ZXI6aG92ZXIpYW5kIChwb2ludGVyOmZpbmUpey5pbnB1dC1jb21wb3NlciAuYnRuLWNpcmNsZS1zZW5kOmhvdmVyLC5pbnB1dC1jb21wb3NlciAuYnRuLWNpcmNsZS1zdG9wOmhvdmVyLC5pbnB1dC1jb21wb3NlciAuYnRuLWNpcmNsZS1hY3Rpb246aG92ZXIsLmlucHV0LWNvbXBvc2VyLmhhcy10ZXh0IC5wcm9tcHQtb3B0aW1pemUtYnRuOmhvdmVye3RyYW5zZm9ybTpub25lfS5pbnB1dC1jb21wb3NlciAuYnRuLWNpcmNsZS1zZW5kOmFjdGl2ZSwuaW5wdXQtY29tcG9zZXIgLmJ0bi1jaXJjbGUtc3RvcDphY3RpdmUsLmlucHV0LWNvbXBvc2VyIC5idG4tY2lyY2xlLWFjdGlvbjphY3RpdmUsLmlucHV0LWNvbXBvc2VyLmhhcy10ZXh0IC5wcm9tcHQtb3B0aW1pemUtYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk3KTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xMnN9LmlucHV0LWNvbXBvc2VyIC5wcm9tcHQtb3B0aW1pemUtYnRuOmhvdmVyIC5wcm9tcHQtb3B0aW1pemUtaWNvbnthbmltYXRpb246bm9uZTt0cmFuc2Zvcm06bm9uZX19LnZvaWNlLWlucHV0LW1vZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzowIDRweH0udm9pY2UtaW5wdXQtbW9kZS5oaWRkZW57ZGlzcGxheTpub25lfS52b2ljZS1yZWNvcmQtYnRue2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7aGVpZ2h0OjMwcHg7Ym9yZGVyLXJhZGl1czo5OTlweDtib3JkZXI6MXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7YmFja2dyb3VuZDojZjZmMWU4ODA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo4cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS52b2ljZS1yZWNvcmQtYnRuOmhvdmVye2JhY2tncm91bmQ6I2Y2ZjFlOGU2O2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudCl9LnZvaWNlLXJlY29yZC1idG46YWN0aXZlLC52b2ljZS1yZWNvcmQtYnRuLmlzLXJlY29yZGluZ3tiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCwgcmdiYSgxOTcsIDEwMSwgNjEsIC4xNCkpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLXN0eWxlOnNvbGlkfS52b2ljZS1yZWNvcmQtcHVsc2V7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7b3BhY2l0eTouNTV9LnZvaWNlLXJlY29yZC1idG4uaXMtcmVjb3JkaW5nIC52b2ljZS1yZWNvcmQtcHVsc2V7b3BhY2l0eToxO2FuaW1hdGlvbjp2b2ljZS1wdWxzZSAxLjFzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgdm9pY2UtcHVsc2V7MCUsdG97dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX01MCV7dHJhbnNmb3JtOnNjYWxlKDEuNDUpO29wYWNpdHk6LjQ1fX0udm9pY2UtY2FuY2VsLWJ0bnt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnZvaWNlLWNhbmNlbC1idG46aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MWE7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uaW5wdXQtY29tcG9zZXIudm9pY2UtbW9kZSAuaW5wdXQtdGV4dGFyZWF7dmlzaWJpbGl0eTpoaWRkZW59LmlucHV0LWNvbXBvc2VyLnZvaWNlLW1vZGUgLnByb21wdC1vcHRpbWl6ZS1idG57ZGlzcGxheTpub25lfS5pbnB1dC1jb21wb3Nlci52b2ljZS1tb2RlIC52b2ljZS1pbnB1dC1tb2Rle2Rpc3BsYXk6ZmxleH0udm9pY2UtdHJhbnNjcmlwdC1idWJibGV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O3JpZ2h0OjEycHg7Ym90dG9tOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDo0MDtwYWRkaW5nOjEycHggMTZweCAxMHB4O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCwgI2M1NjUzZCk7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgNnB4IDI0cHggIzAwMDAwMDJlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybS1vcmlnaW46Ym90dG9tIGNlbnRlcjthbmltYXRpb246dm9pY2UtYnViYmxlLWluIC4xOHMgZWFzZX0udm9pY2UtdHJhbnNjcmlwdC1idWJibGUuaGlkZGVue2Rpc3BsYXk6bm9uZX1Aa2V5ZnJhbWVzIHZvaWNlLWJ1YmJsZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KSBzY2FsZSguOTYpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19LnZvaWNlLXRyYW5zY3JpcHQtdGV4dHtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouOTVyZW07bGluZS1oZWlnaHQ6MS41O2ZvbnQtd2VpZ2h0OjUwMDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXA7bWluLWhlaWdodDoxLjRlbTtjb2xvcjojZmZmfS52b2ljZS10cmFuc2NyaXB0LWJ1YmJsZTpub3QoLmhhcy10ZXh0KSAudm9pY2UtdHJhbnNjcmlwdC10ZXh0OmJlZm9yZXtjb250ZW50OiJcOGJmN1w1ZjAwXDU5Y2JcOGJmNFw4YmRkXDIwMjYiO29wYWNpdHk6LjZ9LnZvaWNlLXRyYW5zY3JpcHQtaGludHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Zm9udC1zaXplOi43MnJlbTtvcGFjaXR5Oi44NX0udm9pY2UtdHJhbnNjcmlwdC1zdGF0dXN7bGV0dGVyLXNwYWNpbmc6LjAyZW19LnZvaWNlLXdhdmV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MnB4O2hlaWdodDoxMnB4fS52b2ljZS13YXZlPml7d2lkdGg6Mi41cHg7Ym9yZGVyLXJhZGl1czoycHg7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7YW5pbWF0aW9uOnZvaWNlLXdhdmUtYm91bmNlIC45cyBlYXNlLWluLW91dCBpbmZpbml0ZX0udm9pY2Utd2F2ZT5pOm50aC1jaGlsZCgxKXtoZWlnaHQ6NXB4O2FuaW1hdGlvbi1kZWxheTowc30udm9pY2Utd2F2ZT5pOm50aC1jaGlsZCgyKXtoZWlnaHQ6MTJweDthbmltYXRpb24tZGVsYXk6LjE1c30udm9pY2Utd2F2ZT5pOm50aC1jaGlsZCgzKXtoZWlnaHQ6OHB4O2FuaW1hdGlvbi1kZWxheTouM3N9LnZvaWNlLXdhdmU+aTpudGgtY2hpbGQoNCl7aGVpZ2h0OjExcHg7YW5pbWF0aW9uLWRlbGF5Oi40NXN9QGtleWZyYW1lcyB2b2ljZS13YXZlLWJvdW5jZXswJSx0b3t0cmFuc2Zvcm06c2NhbGVZKC40KTtvcGFjaXR5Oi42fTUwJXt0cmFuc2Zvcm06c2NhbGVZKDEpO29wYWNpdHk6MX19LnZvaWNlLWJ1YmJsZS1hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OmF1dG87cmlnaHQ6MThweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6OHB4IHNvbGlkIHZhcigtLWFjY2VudCwgI2M1NjUzZCl9LnZvaWNlLXRyYW5zY3JpcHQtYnViYmxlLmlzLWNhbmNlbGluZ3tiYWNrZ3JvdW5kOnZhcigtLWRhbmdlciwgI2IyNGY0NSl9LnZvaWNlLXRyYW5zY3JpcHQtYnViYmxlLmlzLWNhbmNlbGluZyAudm9pY2UtYnViYmxlLWFycm93e2JvcmRlci10b3AtY29sb3I6dmFyKC0tZGFuZ2VyLCAjYjI0ZjQ1KX1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsuYnRuLWNpcmNsZS1hY3Rpb257d2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO2hlaWdodDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7bWluLXdpZHRoOnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKX0uY29tcG9zZXItbWFpbi1yb3d7cGFkZGluZzo1cHggNnB4O21pbi1oZWlnaHQ6NDhweDtnYXA6NXB4fX0uYXR0YWNobWVudC1wcmV2aWV3e2Rpc3BsYXk6ZmxleDtnYXA6NnB4O3BhZGRpbmc6NnB4IDEwcHg7ZmxleC13cmFwOndyYXA7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LmF0dGFjaG1lbnQtcHJldmlldy5oaWRkZW57ZGlzcGxheTpub25lfS5hdHRhY2htZW50LXBpbGx7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjNweCA4cHg7YmFja2dyb3VuZDojYzU2NTNkMGY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjE4KTtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6LjcycmVtO21heC13aWR0aDoyMDBweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YW5pbWF0aW9uOnBlcm1pc3Npb24tZmFkZS1pbiAuMnMgZWFzZS1vdXR9LmF0dGFjaG1lbnQtcGlsbCBpbWd7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6NHB4O2ZsZXgtc2hyaW5rOjB9LmF0dGFjaG1lbnQtcGlsbCAuYXR0LWljb257d2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6Ljg1cmVtfS5hdHRhY2htZW50LXBpbGwgLmF0dC1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjE7bWluLXdpZHRoOjB9LmF0dGFjaG1lbnQtcGlsbCAuYXR0LXNpemV7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42NXJlbTtmbGV4LXNocmluazowfS5hdHRhY2htZW50LXBpbGwgLmF0dC1yZW1vdmV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44cmVtO2xpbmUtaGVpZ2h0OjE7cGFkZGluZzowIDJweDtmbGV4LXNocmluazowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZX0uYXR0YWNobWVudC1waWxsIC5hdHQtcmVtb3ZlOmhvdmVye2NvbG9yOnZhcigtLWRhbmdlcil9LmlucHV0LWNvbXBvc2VyLmRyYWctb3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KSFpbXBvcnRhbnQ7YmFja2dyb3VuZDojYzU2NTNkMGEhaW1wb3J0YW50O2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWFjY2VudC1tdXRlZCksaW5zZXQgMCAwIDIwcHggI2M1NjUzZDA4fS5sb2dpbi1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi1oZWlnaHQ6MTAwdmg7bWluLWhlaWdodDoxMDBkdmg7cGFkZGluZzoyNHB4fS5sb2dpbi1jYXJke3dpZHRoOjEwMCU7bWF4LXdpZHRoOjM4MHB4O2JhY2tncm91bmQ6I2ZmZmRmOWMyO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNzIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzowIDFweCAycHggIzQ5MzMyMzBlO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDEzMCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTMwJSl9LmxvZ2luLWhlYWRlcntwYWRkaW5nOjI4cHggMjRweCAyMnB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6I2ZmZmRmOTdhfS5ib290LWxvYWRpbmd7bWluLWhlaWdodDoxMDB2aDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoyNHB4fS5ib290LWxvYWRpbmctY2FyZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTZweCAxOHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1lbGV2YXRlZCk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uYm9vdC1sb2FkaW5nLXNwaW5uZXJ7d2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO2JvcmRlcjoycHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4xNik7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6OTk5cHg7YW5pbWF0aW9uOmxvZ2luU3BpbiAuOHMgbGluZWFyIGluZmluaXRlfS5ib290LWxvYWRpbmctdGV4dHtmb250LXNpemU6LjkzNzVyZW07Zm9udC13ZWlnaHQ6NTAwfS5sb2dpbi1sb2dve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDttYXJnaW4tYm90dG9tOjhweH0ubG9naW4tbG9nby1pY29ue3dpZHRoOjQycHg7aGVpZ2h0OjQycHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xOCk7Ym94LXNoYWRvdzowIDFweCAxcHggI2M1NjUzZDFhO2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NzAwfS5sb2dpbi1sb2dvLXRleHR7Zm9udC1zaXplOjEuNnJlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LS4wMmVtfS5sb2dpbi1zdWJ0aXRsZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6Ljg3NXJlbX0ubG9naW4tYm9keXtwYWRkaW5nOjIycHggMjRweCAyNHB4fS5sb2dpbi1jYXJkLWxvYWRpbmcgLmxvZ2luLWJvZHl7cGFkZGluZy10b3A6MThweDtwYWRkaW5nLWJvdHRvbToyNHB4fS5sb2dpbi1oaW50e2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7bWFyZ2luLWJvdHRvbToxNnB4O2xpbmUtaGVpZ2h0OjEuNX0ubG9naW4tbXV0ZWR7bWFyZ2luOjRweCAwIDA7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjQ1fS5sb2dpbi1zdGF0dXN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjE0cHg7cGFkZGluZzoycHggMH0ubG9naW4tc3Bpbm5lcnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDoycHg7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjE2KTtib3JkZXItdG9wLWNvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czo5OTlweDthbmltYXRpb246bG9naW5TcGluIC44cyBsaW5lYXIgaW5maW5pdGV9LnBhc3N3b3JkLWZpZWxke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnBhc3N3b3JkLWlucHV0e3BhZGRpbmctcmlnaHQ6NzhweDttaW4taGVpZ2h0OjQ2cHh9LnBhc3N3b3JkLXRvZ2dsZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo4cHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czo4cHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0ucGFzc3dvcmQtdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnBhc3N3b3JkLXRvZ2dsZTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fUBrZXlmcmFtZXMgbG9naW5TcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0uYnRuOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi43Mjt0cmFuc2Zvcm06bm9uZTtib3gtc2hhZG93Om5vbmV9LmxvZ2luLWJvZHkgLmZpZWxke21hcmdpbi1ib3R0b206MjBweH0ubG9naW4tYm9keSAuaGludHttYXJnaW4tdG9wOjEwcHh9LmxvZ2luLWJvZHkgLmVycm9yLW1lc3NhZ2V7bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MH0ubG9naW4tY2VydC1oaW50e21hcmdpbi10b3A6MTRweDtwYWRkaW5nOjE0cHggMTZweDtib3JkZXItcmFkaXVzOjEycHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5MCwxMjAsNDAsLjMyKTtiYWNrZ3JvdW5kOiNkYzk2M2MxYTt0ZXh0LWFsaWduOmxlZnR9LmxvZ2luLWNlcnQtaGludC10aXRsZXtmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTttYXJnaW4tYm90dG9tOjZweH0ubG9naW4tY2VydC1oaW50LWJvZHl7Zm9udC1zaXplOi44MTI1cmVtO2xpbmUtaGVpZ2h0OjEuNjtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7bWFyZ2luOjAgMCAxMnB4fS5sb2dpbi1jZXJ0LWhpbnQgLmJ0bnttYXJnaW4tdG9wOjB9Lm1vZGFsLXN1YnRpdGxle21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS41fS5wYXNzd29yZC1pbnB1dFtkYXRhLWVycm9yPXRydWVdLC5wYXNzd29yZC1pbnB1dFthcmlhLWludmFsaWQ9dHJ1ZV17Ym9yZGVyLWNvbG9yOnZhcigtLWRhbmdlcik7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tZGFuZ2VyLW11dGVkKX0ucGFzc3dvcmQtaW5wdXRbZGF0YS1lcnJvcj10cnVlXSsucGFzc3dvcmQtdG9nZ2xlLC5wYXNzd29yZC1pbnB1dFthcmlhLWludmFsaWQ9dHJ1ZV0rLnBhc3N3b3JkLXRvZ2dsZXtjb2xvcjp2YXIoLS1kYW5nZXIpfS5wYXNzd29yZC1pbnB1dDpmb2N1cysucGFzc3dvcmQtdG9nZ2xle2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnBhc3N3b3JkLXRvZ2dsZTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLjk4KX0ucGFzc3dvcmQtaW5wdXQ6Oi1tcy1yZXZlYWwsLnBhc3N3b3JkLWlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfS5wYXNzd29yZC1pbnB1dDo6LXdlYmtpdC1jcmVkZW50aWFscy1hdXRvLWZpbGwtYnV0dG9uLC5wYXNzd29yZC1pbnB1dDo6LXdlYmtpdC1jb250YWN0cy1hdXRvLWZpbGwtYnV0dG9ue3Zpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS5wYXNzd29yZC1pbnB1dFt0eXBlPXRleHRde2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9LmZpZWxke21hcmdpbi1ib3R0b206MThweH0uZmllbGQtbGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTttYXJnaW4tYm90dG9tOjhweH0uZmllbGQtaW5wdXR7d2lkdGg6MTAwJTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODc1cmVtO2JhY2tncm91bmQ6I2ZmZmZmZmJmO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjIyKTtib3JkZXItcmFkaXVzOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtjYXJldC1jb2xvcjp2YXIoLS1hY2NlbnQpO3BhZGRpbmc6MTJweCAxNHB4O291dGxpbmU6bm9uZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7bWluLWhlaWdodDo0NHB4fS5maWVsZC1pbnB1dDpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpLDAgMTBweCAyOHB4IC0yMnB4ICNjNTY1M2Q5ZTtiYWNrZ3JvdW5kOiNmZmZmZmZlNn0uZmllbGQtaW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6LjcyfS5tb2RhbC1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6NTAwO2JhY2tncm91bmQ6IzE0MGUwODU3O2JhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDE0MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctdG9wOm1heCgzMnB4LHZhcigtLXdhbmQtc2FmZS10b3ApKTtwYWRkaW5nLWJvdHRvbTptYXgoMzJweCx2YXIoLS13YW5kLXNhZmUtYm90dG9tKSk7cGFkZGluZy1sZWZ0Om1heCgzMnB4LHZhcigtLXdhbmQtc2FmZS1sZWZ0KSk7cGFkZGluZy1yaWdodDptYXgoMzJweCx2YXIoLS13YW5kLXNhZmUtcmlnaHQpKTthbmltYXRpb246bGlxdWlkQmFja2Ryb3BJbiAuMjhzIHZhcigtLWVhc2Utb3V0LWV4cG8sIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKSkgYm90aH0ubW9kYWwtYmFja2Ryb3AuY2xvc2luZ3thbmltYXRpb246bGlxdWlkQmFja2Ryb3BPdXQgLjE4cyB2YXIoLS1lYXNlLWluLW91dC1zbW9vdGgsIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpKSBib3RoO3BvaW50ZXItZXZlbnRzOm5vbmV9QGtleWZyYW1lcyBsaXF1aWRCYWNrZHJvcEluezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgbGlxdWlkQmFja2Ryb3BPdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lm1vZGFse3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjU2MHB4O21heC1oZWlnaHQ6ODh2aDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQ6I2ZmZmNmN2JkO2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjYpO2JvcmRlci1yYWRpdXM6MjZweDtvdmVyZmxvdzpoaWRkZW47YmFja2Ryb3AtZmlsdGVyOmJsdXIoNDBweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cig0MHB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMzJweCA4MHB4IC0xNnB4ICMxNDBlMDg1NywwIDhweCAyNHB4IC04cHggIzE0MGUwODJlLDAgMCAwIC41cHggIzdkNWIzOTE0LGluc2V0IDAgMXB4ICNmZmZmZmZiMzthbmltYXRpb246bGlxdWlkTW9kYWxJbiAuMzJzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKSBib3RofS5tb2RhbC1iYWNrZHJvcC5jbG9zaW5nIC5tb2RhbHthbmltYXRpb246bGlxdWlkTW9kYWxPdXQgLjE4cyB2YXIoLS1lYXNlLWluLW91dC1zbW9vdGgsIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpKSBib3RofUBrZXlmcmFtZXMgbGlxdWlkTW9kYWxJbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC45NCkgdHJhbnNsYXRlWSgxMnB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgbGlxdWlkTW9kYWxPdXR7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk3KSB0cmFuc2xhdGVZKDRweCl9fUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm1vZGFsLWJhY2tkcm9wLC5tb2RhbC1iYWNrZHJvcC5jbG9zaW5nLC5tb2RhbCwubW9kYWwtYmFja2Ryb3AuY2xvc2luZyAubW9kYWx7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fX1Ac3VwcG9ydHMgbm90ICgoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpIG9yICgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSl7Lm1vZGFsLWJhY2tkcm9we2JhY2tncm91bmQ6IzE0MGUwODk5fS5tb2RhbHtiYWNrZ3JvdW5kOiNmZmZhZjI7Ym9yZGVyLWNvbG9yOiM3ZDViMzkyZX19QG1lZGlhKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspey5tb2RhbC1iYWNrZHJvcHtiYWNrZ3JvdW5kOiMwODA1MDI4MH1Ac3VwcG9ydHMgbm90ICgoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpIG9yICgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSl7Lm1vZGFsLWJhY2tkcm9we2JhY2tncm91bmQ6IzA4MDUwMmM3fX19Lm1vZGFsLWNsb3NlLWJ0bnt3aWR0aDozMnB4O2hlaWdodDozMnB4O21pbi13aWR0aDozMnB4O21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojN2Q1YjM5MTI7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsY29sb3IgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMjhzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKSxib3gtc2hhZG93IC4xOHMgZWFzZX0ubW9kYWwtY2xvc2UtYnRuIHN2Z3tkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1vZGFsLWNsb3NlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUxZjtjb2xvcjp2YXIoLS1kYW5nZXIpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO2JveC1zaGFkb3c6MCAycHggOHB4ICNiMjRmNDUyZX0ubW9kYWwtY2xvc2UtYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kOiNiMjRmNDUzMzt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKSBzY2FsZSguOTIpO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30ubW9kYWwtY2xvc2UtYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDozcHh9LnNpZGViYXJ7YmFja2dyb3VuZDojZmZmY2Y3Yjg7Ym9yZGVyLXJpZ2h0Oi41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNTUpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDM2cHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMzZweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDAgMCAuNXB4ICM3ZDViMzkwZiw0cHggMCAzMnB4IC04cHggIzE0MGUwODJlfS5zaWRlYmFyLm9wZW57Ym94LXNoYWRvdzowIDAgMCAuNXB4ICM3ZDViMzkwZiwxMnB4IDAgNDhweCAtMTJweCAjMTQwZTA4NDd9LnNpZGViYXIucGlubmVke2JveC1zaGFkb3c6MCAwIDAgLjVweCAjN2Q1YjM5MGYsMnB4IDAgMTJweCAtOHB4ICMxNDBlMDgxZn0uZHJhd2VyLWJhY2tkcm9we2JhY2tncm91bmQ6IzE0MGUwODUyO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCl9LmRyYXdlci1iYWNrZHJvcC5vcGVue2JhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDE0MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSl9LnNpZGViYXItaGVhZGVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA2KTtwYWRkaW5nOjE0cHggMTZweH0uc2lkZWJhci10aXRsZXtmb250LXNpemU6LjkzNzVyZW07Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi0uMDEyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uc2Vzc2lvbi1jb3VudHtiYWNrZ3JvdW5kOiM3ZDViMzkxNDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7cGFkZGluZzoycHggOXB4O2JvcmRlci1yYWRpdXM6OTk5cHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bGluZS1oZWlnaHQ6MS41fS5zaWRlYmFyLWhlYWRlci1hY3Rpb25zIC5idG4tZ2hvc3QuYnRuLXNtLC5kcmF3ZXItY2xvc2UtYnRue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6MDtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7Ym9yZGVyOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxjb2xvciAuMTZzIGVhc2UsdHJhbnNmb3JtIC4yMnMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpfS5zaWRlYmFyLWhlYWRlci1hY3Rpb25zIC5idG4tZ2hvc3QuYnRuLXNtOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmRyYXdlci1jbG9zZS1idG57YmFja2dyb3VuZDojN2Q1YjM5MTJ9LmRyYXdlci1jbG9zZS1idG46aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MWY7Y29sb3I6dmFyKC0tZGFuZ2VyKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0uZHJhd2VyLWNsb3NlLWJ0bjphY3RpdmV7YmFja2dyb3VuZDojYjI0ZjQ1MzM7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZykgc2NhbGUoLjkyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9LmRyYXdlci1jbG9zZS1idG46Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjNweH0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3d7YmFja2dyb3VuZDojZmZmY2Y3ZGI7Ym9yZGVyOi41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNTUpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDI0cHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjRweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDAgMCAuNXB4ICM3ZDViMzkxNCwwIDEycHggMjhweCAtOHB4ICMxNDBlMDgzODtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzo2cHh9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93IC5vdmVyZmxvdy1pdGVte2JvcmRlci1yYWRpdXM6OXB4O3BhZGRpbmc6OXB4IDEwcHg7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSx0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlLW91dC1leHBvKX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZmZmZlNiwjZmZmY2Y3OTkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym94LXNoYWRvdzowIDAgMCAuNXB4ICM3ZDViMzkxNCxpbnNldCAwIDFweCAjZmZmZmZmZDl9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93IC5vdmVyZmxvdy1pdGVtOmFjdGl2ZXtiYWNrZ3JvdW5kOiNjNTY1M2QxZjtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTpzY2FsZSguOTgpfS5zZXNzaW9uLW1hbmFnZS1iYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4O3BhZGRpbmc6NHB4IDRweCA0cHggMTBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZX0uc2Vzc2lvbi1tYW5hZ2UtYmFyOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTBkfS5zZXNzaW9uLW1hbmFnZS1iYXIgLnNpZGViYXItaW50cm97Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsZXR0ZXItc3BhY2luZzouMDA1ZW19LnNlc3Npb24tbWFuYWdlLWJhci5hY3RpdmV7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6NjttYXJnaW46LTEwcHggLTEwcHggOHB4O3BhZGRpbmc6OXB4IDEwcHggOXB4IDZweDtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZDojZmZmYmY1ZjA7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6c2F0dXJhdGUoMS4yKSBibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOnNhdHVyYXRlKDEuMikgYmx1cig4cHgpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6bm9uZX0uc2Vzc2lvbi1tYW5hZ2UtYmFyLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZiZjVmMH0uc2Vzc2lvbi1tYW5hZ2UtZXhpdHtmbGV4LXNocmluazowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE0cyBlYXNlLGNvbG9yIC4xNHMgZWFzZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LnNlc3Npb24tbWFuYWdlLWV4aXQ6aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MWE7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uc2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O21pbi13aWR0aDowO2ZsZXg6MTtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXdlaWdodDo1MDB9LnNlc3Npb24tbWFuYWdlLWNvdW50e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIwcHg7aGVpZ2h0OjE4cHg7cGFkZGluZzowIDZweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2JvcmRlci1yYWRpdXM6OTk5cHg7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5zZXNzaW9uLW1hbmFnZS1zdW1tYXJ5LWxhYmVse2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXdlaWdodDo2MDB9LnNlc3Npb24tbWFuYWdlLXN1bW1hcnktbGFiZWwubXV0ZWR7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwfS5zZXNzaW9uLW1hbmFnZS1hY3Rpb25ze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4LXNocmluazowfS5zZXNzaW9uLW1hbmFnZS10b2dnbGV7Z2FwOjVweH0uY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LWNsZWFyLWJ0bnttYXJnaW4tbGVmdDphdXRvfS5zZXNzaW9uLWdyb3VwLXRpdGxle3BhZGRpbmc6MTBweCA2cHggOHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjFlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uc2Vzc2lvbi1ncm91cC10aXRsZTpiZWZvcmV7d2lkdGg6M3B4O2hlaWdodDoxMnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWFjY2VudCkscmdiYSgxOTcsMTAxLDYxLC40KSk7b3BhY2l0eToxfS5zZXNzaW9uLWl0ZW17YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MTFweDtwYWRkaW5nOjlweCAxMnB4O21hcmdpbi1ib3R0b206MnB4O2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGJvcmRlci1jb2xvciAuMTZzIGVhc2V9LnNlc3Npb24taXRlbTpiZWZvcmV7bGVmdDo0cHg7dG9wOjlweDtib3R0b206OXB4O3dpZHRoOjNweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50KSxyZ2JhKDE5NywxMDEsNjEsLjUpKX0uc2Vzc2lvbi1pdGVtOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTBmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uc2Vzc2lvbi1pdGVtOmhvdmVyOmJlZm9yZXtvcGFjaXR5OjB9LnNlc3Npb24taXRlbS5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdlYiwjZmZmNGU4YmQpO2JvcmRlci1jb2xvcjojYzU2NTNkNDc7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmZmZmOGN9LnNlc3Npb24taXRlbS5zZWxlY3RlZHtiYWNrZ3JvdW5kOiNjNTY1M2QxNztib3JkZXItY29sb3I6I2M1NjUzZDJlfS5zZXNzaW9uLWl0ZW0uc2VsZWN0ZWQ6YmVmb3Jle29wYWNpdHk6Ljc7dHJhbnNmb3JtOnNjYWxlWSgxKX0uc2Vzc2lvbi1pdGVtOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk5Mik7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDhzfS5zZXNzaW9uLXRpdGxlLC5zZXNzaW9uLWNvbW1hbmR7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS5zZXNzaW9uLXRpdGxlLXJvd3tnYXA6MTBweH0uc2Vzc2lvbi10aW1le2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LnNlc3Npb24tYWN0aXZpdHl7b3BhY2l0eToxO2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC13ZWlnaHQ6NTAwfS5zZXNzaW9uLXN0YXR1c3twYWRkaW5nOjJweCA4cHg7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wMmVtfS5zZXNzaW9uLWlke2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZvbnQtc2l6ZTouNjI1cmVtO3BhZGRpbmc6MS41cHggNnB4O2JvcmRlci1yYWRpdXM6NHB4fS5zZXNzaW9uLWFjdGlvbi1idG57d2lkdGg6MjhweDtoZWlnaHQ6MjhweDttaW4td2lkdGg6MjhweDttaW4taGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojN2Q1YjM5MGY7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7Ym9yZGVyOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxjb2xvciAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xOHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpfS5zZXNzaW9uLWFjdGlvbi1idG46aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MjQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0uc2Vzc2lvbi1hY3Rpb24tYnRuLmRlbGV0ZS1idG46aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MjQ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uc2Vzc2lvbi1hY3Rpb24tYnRuLm1lcmdlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiM0ZjdhNTgyOTtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uc2Vzc2lvbi1hY3Rpb24tYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjkpO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uc2Vzc2lvbi1hY3Rpb24tYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9LnNlc3Npb24tbWFuYWdlLWNoZWNrIHNwYW57d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjZweDtib3JkZXI6MS41cHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjIyKTtiYWNrZ3JvdW5kOiNmZmY5O2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4ICM3ZDViMzkwYTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGJvcmRlci1jb2xvciAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2V9LnNlc3Npb24tbWFuYWdlLWNoZWNrIGlucHV0OmNoZWNrZWQrc3BhbntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDFweCAzcHggI2M1NjUzZDRkLGluc2V0IDAgMXB4ICNmZmYzfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dDpjaGVja2VkK3NwYW46YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDo2cHg7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZCAjZmZmO2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNmZmY7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0xcHgsLTFweCl9LnNpZGViYXItZm9vdGVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA2KTtwYWRkaW5nOjE0cHh9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bntiYWNrZ3JvdW5kOiNmZmZmZmY3Mztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wNik7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6OHB4IDRweDtnYXA6NHB4O2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDFlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGJvcmRlci1jb2xvciAuMTZzIGVhc2UsY29sb3IgLjE2cyBlYXNlLHRyYW5zZm9ybSAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2V9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmZkOTtib3JkZXItY29sb3I6IzdkNWIzOTI5O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDJweCA4cHggIzdkNWIzOTBmfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTYpO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2YyLCNmZmYyZTRjNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjI4KTtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDNweCAxMHB4IC0zcHggI2M1NjUzZDM4LGluc2V0IDAgMXB4ICNmZmZmZmZiM30uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuLnNpZGViYXItbG9nb3V0OmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTE0O2JvcmRlci1jb2xvcjojYjI0ZjQ1MzM7Y29sb3I6dmFyKC0tZGFuZ2VyKTtvcGFjaXR5OjF9LnNpZGViYXItZm9vdGVyIC5idG4tcHJpbWFyeXtib3gtc2hhZG93OjAgNnB4IDE2cHggLTRweCAjYzU2NTNkNjYsMCAycHggNnB4IC0ycHggI2M1NjUzZDRkLGluc2V0IDAgMXB4ICNmZmYzO2JvcmRlci1yYWRpdXM6MTJweH0uc2lkZWJhci1mb290ZXIgLmJ0bi1wcmltYXJ5OmhvdmVye2JveC1zaGFkb3c6MCAxMHB4IDI0cHggLTRweCAjYzU2NTNkNzUsMCA0cHggMTBweCAtMnB4ICNjNTY1M2Q1NyxpbnNldCAwIDFweCAjZmZmZmZmNDB9LnNlc3Npb25zLWxpc3Q6ZW1wdHk6YmVmb3Jle2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODEyNXJlbTtsZXR0ZXItc3BhY2luZzouMDFlbX1Ac3VwcG9ydHMgbm90ICgoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpIG9yICgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSl7LnNpZGViYXJ7YmFja2dyb3VuZDojZmZmYmY1ZmF9LmRyYXdlci1iYWNrZHJvcHtiYWNrZ3JvdW5kOiMxNDBlMDg4Y30uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3d7YmFja2dyb3VuZDojZmZmYWYyfX0ubW9kYWwtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxOHB4IDIycHggMTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtmbGV4LXNocmluazowO21pbi1oZWlnaHQ6NTZweH0ubW9kYWwtdGl0bGV7Zm9udC1zaXplOjEuMDYyNXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzotLjAxZW19Lm1vZGFsLWJvZHl7cGFkZGluZzoyMnB4O292ZXJmbG93LXk6YXV0bztmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MH0ubW9kYWwtYm9keSAuZmllbGR7bWFyZ2luLWJvdHRvbToxNHB4fS5tb2RhbC1ib2R5IC5maWVsZDpsYXN0LW9mLXR5cGV7bWFyZ2luLWJvdHRvbToxNnB4fS5maWVsZC1oaW50e21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS41fXNlbGVjdC5maWVsZC1pbnB1dHthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM4YzczNWYnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTYgOWw2IDYgNi02Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgMTRweCBjZW50ZXI7cGFkZGluZy1yaWdodDo0MHB4O2N1cnNvcjpwb2ludGVyfS5lcnJvci1tZXNzYWdle2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tZGFuZ2VyKTtwYWRkaW5nOjEwcHggMTJweDtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO21hcmdpbi10b3A6MTJweDthbmltYXRpb246c2hha2UgLjNzIGVhc2V9QGtleWZyYW1lcyBzaGFrZXswJSx0b3t0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTI1JXt0cmFuc2Zvcm06dHJhbnNsYXRlKC00cHgpfTc1JXt0cmFuc2Zvcm06dHJhbnNsYXRlKDRweCl9fS5maWVsZC1pbnB1dFtkYXRhLWVycm9yPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1kYW5nZXIpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWRhbmdlci1tdXRlZCl9LmhpbnR7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbi10b3A6MTJweH0uZW1wdHktc3RhdGV7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzo0MHB4IDIwcHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44MTI1cmVtfS5lbXB0eS1zdGF0ZSBzdHJvbmd7ZGlzcGxheTpibG9jaztjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi45NXJlbTttYXJnaW4tYm90dG9tOjhweDtmb250LXdlaWdodDo2MDB9LmhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5vZmZsaW5lLWJhbm5lcntwb3NpdGlvbjpmaXhlZDtib3R0b206ODBweDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpO2JhY2tncm91bmQ6dmFyKC0td2FybmluZyk7Y29sb3I6I2ZmZjtwYWRkaW5nOjhweCAxNnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NTAwO3otaW5kZXg6MTAwO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWVsZXZhdGVkKTthbmltYXRpb246c2xpZGVVcCAuM3MgZWFzZX1Aa2V5ZnJhbWVzIHNsaWRlVXB7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgdHJhbnNsYXRlWSgyMHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDApfX06Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjZweDtoZWlnaHQ6NnB4fTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDp0cmFuc3BhcmVudH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Izk2NzY1NTRkO2JvcmRlci1yYWRpdXM6M3B4fTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1ODB9LnNlc3Npb25zLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjRweH0uc2Vzc2lvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uc2Vzc2lvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOTY3NjU1NDA7Ym9yZGVyLXJhZGl1czoycHh9LnNlc3Npb25zLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6Izk2NzY1NTY2fTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fWJ1dHRvbjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjB9QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LnNpZGViYXIucGlubmVkOm5vdCguY29sbGFwc2VkKTpub3QoLm9wZW4pe3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowfS5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZDpub3QoLnNpZGViYXItY29sbGFwc2VkKXtwYWRkaW5nLWxlZnQ6MH0uYXBwLWNvbnRhaW5lcnstLWxheW91dC1tYWluLWZpbGUtcGFuZWwtd2lkdGg6IDBweH0uc2lkZWJhcnt3aWR0aDptaW4oMzAwcHgsY2FsYygxMDB2dyAtIDIwcHgpKTt0b3A6MH0udGVybWluYWwtY29udGFpbmVye21hcmdpbjowIDZweCA2cHg7bWluLWhlaWdodDowfS5idG57bWluLWhlaWdodDo0MHB4fS5idG4tc217bWluLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW07aGVpZ2h0OjM2cHh9LmJ0bi1pY29ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWluLWhlaWdodDozNnB4fS5jaGF0LWNvbnRhaW5lcntwYWRkaW5nOjAgMTJweCAxMnB4fS5jaGF0LW1lc3NhZ2V7bWF4LXdpZHRoOjEwMCV9LnNlc3Npb24taXRlbXttaW4taGVpZ2h0OjUycHg7cGFkZGluZzoxMnB4fS5zZXNzaW9uLWFjdGlvbi1idG57d2lkdGg6MzZweDtoZWlnaHQ6MzZweDttaW4td2lkdGg6MzZweDttaW4taGVpZ2h0OjM2cHh9LnNlc3Npb24tbWFuYWdlLWJhciAuYnRue21pbi1oZWlnaHQ6MzJweH0uY2xhdWRlLWhpc3RvcnktdG9nZ2xle21pbi1oZWlnaHQ6NDBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG57bWluLWhlaWdodDo0NHB4fS50cmVlLWl0ZW17bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6OHB4IDEycHh9fUBtZWRpYShtaW4td2lkdGg6NzY5cHgpey5kcmF3ZXItYmFja2Ryb3B7ZGlzcGxheTpub25lfX1AbWVkaWEobWF4LXdpZHRoOjY0MHB4KXs6cm9vdHstLXNpZGViYXItd2lkdGg6IDI4MHB4Oy0tZmlsZS1wYW5lbC13aWR0aDogMTAwJX0uYXBwLWNvbnRhaW5lcnstLWxheW91dC1tYWluLWZpbGUtcGFuZWwtd2lkdGg6IDBweH1odG1sLGJvZHl7bWluLWhlaWdodDoxMDBkdmg7aGVpZ2h0OjEwMGR2aH1ib2R5e292ZXJmbG93OmhpZGRlbjstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0uYXBwLWNvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW59LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xle3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Ym9yZGVyLXJhZGl1czo2cHh9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlIC5oYW1idXJnZXItaWNvbnt3aWR0aDoxM3B4O2hlaWdodDo5cHh9LnNpZGViYXJ7dG9wOjB9LnNpZGViYXItaGVhZGVye3BhZGRpbmc6MTBweCAxMnB4O21pbi1oZWlnaHQ6NDhweDtnYXA6OHB4fS5zaWRlYmFyLWhlYWRlci1hY3Rpb25ze2dhcDo0cHh9LnNpZGViYXItZm9vdGVyLWFjdGlvbnN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Z2FwOjRweH0uc2lkZWJhci1mb290ZXItYWN0aW9uczpoYXMoLnNpZGViYXItYmFjay10by1uYXRpdmUpOmhhcyguc2lkZWJhci1zd2l0Y2gtc2VydmVyKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRue21pbi1oZWlnaHQ6NDBweDtwYWRkaW5nOjZweCA0cHh9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0biBzcGFue2Rpc3BsYXk6bm9uZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvd3ttaW4td2lkdGg6MTgwcHg7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAyNHB4KX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW17cGFkZGluZzoxMXB4IDE0cHg7Zm9udC1zaXplOi44NzVyZW19LnRlcm1pbmFsLWhlYWRlcntwYWRkaW5nOjVweCA4cHg7bWluLWhlaWdodDozMnB4fS50ZXJtaW5hbC10aXRsZXtnYXA6NHB4O2ZvbnQtc2l6ZTouNjg3NXJlbX0udGVybWluYWwtaW5mb3tmb250LXNpemU6LjU2MjVyZW19LmN1cnJlbnQtdGFza3tmb250LXNpemU6LjU2MjVyZW07cGFkZGluZzoxcHggNnB4IDFweCA0cHg7Z2FwOjNweH0ubWFpbi1oZWFkZXItcm93e3BhZGRpbmc6MnB4IDZweDtnYXA6NHB4fS50b3BiYXItYnJhbmQsLnRvcGJhci1jd2R7ZGlzcGxheTpub25lfS50b3BiYXItc2Vzc2lvbi10aXRsZXttYXgtd2lkdGg6MTQwcHg7Zm9udC1zaXplOi43OHJlbX0uc2Vzc2lvbi1zdGF0dXMtcGlsbHtmb250LXNpemU6LjYyNXJlbTtwYWRkaW5nOjFweCA3cHggMXB4IDVweDttYXgtd2lkdGg6MTEwcHh9LnNlc3Npb24tc3RhdHVzLXBpbGwgLnNlc3Npb24tc3RhdHVzLWRvdHt3aWR0aDo1cHg7aGVpZ2h0OjVweH0udG9wYmFyLW1vcmUtbWVudXttaW4td2lkdGg6MTU2cHh9LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXl7dG9wOjZweDtyaWdodDo2cHg7cGFkZGluZzoycHg7Z2FwOjFweH0udGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG57bWluLXdpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7Zm9udC1zaXplOi43NXJlbX0udGVybWluYWwtc2NhbGUtb3ZlcmxheS1sYWJlbHttaW4td2lkdGg6MjhweDtmb250LXNpemU6LjU2MjVyZW07cGFkZGluZzowIDJweH0ubWFpbi1sYXlvdXR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MTttaW4taGVpZ2h0OjA7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctbGVmdDowfS5zaWRlYmFye3RvcDowO3dpZHRoOm1pbigyNjBweCxjYWxjKDEwMHZ3IC0gMTJweCkpO21heC1oZWlnaHQ6bm9uZTtib3JkZXItYm90dG9tOm5vbmV9Lm1haW4tY29udGVudHtmbGV4OjE7bWluLWhlaWdodDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufS50ZXJtaW5hbC1jb250YWluZXJ7ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjA7bWF4LWhlaWdodDpub25lfS5zZXNzaW9ucy1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxIDAgYXV0bzttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjRweH0uc2Vzc2lvbi1pdGVte3dpZHRoOjEwMCU7bWF4LXdpZHRoOm5vbmU7bWFyZ2luLWJvdHRvbTo0cHg7cGFkZGluZzo4cHggMTBweDttaW4taGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo2cHh9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDozMnB4O2hlaWdodDozMnB4O21pbi1oZWlnaHQ6MzJweDttaW4td2lkdGg6MzJweDtib3JkZXItcmFkaXVzOjZweH0uaW5wdXQtcGFuZWx7ei1pbmRleDozMDtwYWRkaW5nOjhweCAxMHB4IDEwcHg7cGFkZGluZy1ib3R0b206Y2FsYygxMHB4ICsgdmFyKC0taW5wdXQtc2FmZS1ib3R0b20sIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKSArIHZhcigtLWtleWJvYXJkLW9mZnNldCwgMHB4KSk7ZmxleDowIDAgYXV0bzttYXJnaW4tdG9wOmF1dG87YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMjQ1LDI0MywyMzgsMCkgMCUscmdiYSgyNDUsMjQzLDIzOCwuODYpIDM0JSx2YXIoLS1iZy1wcmltYXJ5KSAxMDAlKSx2YXIoLS1iZy1wcmltYXJ5KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KX0uaW5wdXQtdGV4dGFyZWF7cGFkZGluZy1ib3R0b206NHB4fS5pbnB1dC1jb21wb3Nlcntib3JkZXItcmFkaXVzOjE4cHg7Ym94LXNoYWRvdzowIDhweCAyMHB4IC0xOHB4ICM1OTNhMjBiOCxpbnNldCAwIDFweCAjZmZmZmZmOWV9LmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiwuaW5wdXQtY29tcG9zZXIuaXMtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czoxNnB4fS5idG4tY2lyY2xle3dpZHRoOnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTtoZWlnaHQ6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpO21pbi13aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7Ym9yZGVyLXJhZGl1czo1MCV9LmJ0bi1jaXJjbGUtc2VuZCBzdmcsLmJ0bi1jaXJjbGUtc3RvcCBzdmd7d2lkdGg6MTJweDtoZWlnaHQ6MTJweH0uaW5wdXQtdGV4dGFyZWEsLmZpZWxkLWlucHV0e2ZvbnQtc2l6ZToxNnB4fS5pbnB1dC10ZXh0YXJlYXttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzo3cHggOHB4O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuMzV9LmlucHV0LWNvbXBvc2VyLmhhcy10ZXh0IC5pbnB1dC10ZXh0YXJlYXtwYWRkaW5nLXJpZ2h0OjQ0cHh9LmlucHV0LXRleHRhcmVhOjpwbGFjZWhvbGRlcntmb250LXNpemU6MTVweH0uY2hhdC1tb2RlLXNlbGVjdHttYXgtd2lkdGg6NjVweDtmb250LXNpemU6LjU2MjVyZW07aGVpZ2h0OjIycHg7bWluLWhlaWdodDoyMnB4O3BhZGRpbmc6MCAxNHB4IDAgNHB4O2JvcmRlci1yYWRpdXM6NXB4fS5pbnB1dC1oaW50e2ZvbnQtc2l6ZTouNDVyZW07bWF4LXdpZHRoOjE4Y2g7b3BhY2l0eTouNn0udGVybWluYWwtanVtcC1ib3R0b217d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjA7cmlnaHQ6MTBweDtib3R0b206MTJweH0uY2hhdC11bnJlYWQtYnViYmxle2hlaWdodDozMHB4O21pbi13aWR0aDozMHB4O3JpZ2h0OjEwcHg7Ym90dG9tOjhweDtwYWRkaW5nOjAgOXB4O2ZvbnQtc2l6ZTouNzJyZW19LmNoYXQtdW5yZWFkLWJ1YmJsZS5oYXMtdW5yZWFke3BhZGRpbmc6MCAxMXB4IDAgOXB4fS5jaGF0LXVucmVhZC1idWJibGUtY291bnR7Zm9udC1zaXplOi43MnJlbX0ubWluaS1rZXlib2FyZC1mYWJ7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtib3R0b206NTBweDtyaWdodDoxMHB4O2ZvbnQtc2l6ZToxcmVtfS5taW5pLWtleWJvYXJke2JvdHRvbTo1MHB4O3JpZ2h0OjhweDtsZWZ0OjhweDttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjEwcHh9LmNoYXQtY29udGFpbmVye21pbi1oZWlnaHQ6MDtmbGV4OjEgMSBhdXRvO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Om5vbmU7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jaGF0LWNvbnRhaW5lci5hY3RpdmV7ZGlzcGxheTpmbGV4fS50b2RvLXByb2dyZXNzLWhlYWRlcntwYWRkaW5nOjAgOHB4O2dhcDo2cHh9LnRvZG8tcHJvZ3Jlc3MtY291bnRlciwudG9kby1wcm9ncmVzcy10YXNre2ZvbnQtc2l6ZTouNzVyZW19LnRvZG8tcHJvZ3Jlc3MtY2hldnJvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS50b2RvLXByb2dyZXNzLWJvZHl7cGFkZGluZzo0cHggNnB4fS5sb2dpbi1jb250YWluZXJ7bWluLWhlaWdodDoxMDBkdmg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjhweCA4cHggY2FsYyg4cHggKyB2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSl9LmxvZ2luLWNhcmR7bWFyZ2luLXRvcDptYXgoNnB4LGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLDBweCkpfS5sb2dpbi1oZWFkZXJ7cGFkZGluZzoxNHB4IDEycHggMTBweH0ubG9naW4tYm9keXtwYWRkaW5nOjEycHh9LmJ0bnttaW4taGVpZ2h0OjQwcHh9LmJ0bi1zbXttaW4taGVpZ2h0OjMycHh9LmNoYXQtbWVzc2FnZS1idWJibGV7cGFkZGluZzo4cHggMTBweDtmb250LXNpemU6Ljc1cmVtfS5jaGF0LW1lc3NhZ2UtYXZhdGFye2ZvbnQtc2l6ZTouNjg3NXJlbX0ubW9kYWwtYmFja2Ryb3B7cGFkZGluZzo4cHg7cGFkZGluZy10b3A6bWF4KDhweCx2YXIoLS13YW5kLXNhZmUtdG9wKSk7cGFkZGluZy1sZWZ0Om1heCg4cHgsdmFyKC0td2FuZC1zYWZlLWxlZnQpKTtwYWRkaW5nLXJpZ2h0Om1heCg4cHgsdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSk7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lm1vZGFse21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6ODV2aDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCkgdmFyKC0tcmFkaXVzLW1kKSAwIDA7bWFyZ2luLWJvdHRvbTp2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KX0ubW9kYWwtaGVhZGVye3BhZGRpbmc6MTBweCAxMnB4O21pbi1oZWlnaHQ6NDBweH0ubW9kYWwtYm9keXtwYWRkaW5nOjEwcHggMTJweH0ubW9kYWwtZm9vdGVye3BhZGRpbmc6OHB4IDEycHh9Lm1haW4tY29udGVudC5maWxlLXBhbmVsLW9wZW57bWFyZ2luLXJpZ2h0OjB9LmZpbGUtc2lkZS1wYW5lbHt3aWR0aDoxMDAlfS5maWxlLXNpZGUtcGFuZWwtaGVhZGVye3BhZGRpbmc6MTBweCAxMnB4O21pbi1oZWlnaHQ6NDhweH0uZmlsZS1zaWRlLXBhbmVsLWljb25idG57d2lkdGg6MzRweDtoZWlnaHQ6MzRweH0uZmlsZS1leHBsb3Jlci1oZWFkZXJ7cGFkZGluZzo2cHggMTBweCA0cHg7Z2FwOjZweH0uZmlsZS1leHBsb3Jlci11cHt3aWR0aDozMnB4O2hlaWdodDozMnB4fS5maWxlLXNlYXJjaC1ib3h7cGFkZGluZzo2cHggMTBweCA4cHh9LmZpbGUtc2VhcmNoLWljb257bGVmdDoyMHB4fS5maWxlLXNlYXJjaC1jbGVhcntyaWdodDoxNnB4fS5maWxlLXNlYXJjaC1pbnB1dHttaW4taGVpZ2h0OjM0cHg7Zm9udC1zaXplOjE2cHg7cGFkZGluZzo3cHggMzJweCA3cHggMzBweH0uYmxhbmstY2hhdHtwYWRkaW5nOjE2cHggMTJweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5ibGFuay1jaGF0LWlubmVye21heC13aWR0aDoxMDAlfS5ibGFuay1jaGF0LWxvZ297d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtmb250LXNpemU6MjRweDtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luLWJvdHRvbToxMHB4fS5ibGFuay1jaGF0LXRpdGxle2ZvbnQtc2l6ZToxLjEyNXJlbX0uYmxhbmstY2hhdC1zdWJ0aXRsZXtmb250LXNpemU6Ljc1cmVtO21hcmdpbi1ib3R0b206MTZweH0uYmxhbmstY2hhdC10b29sc3tnYXA6NHB4O21hcmdpbi1ib3R0b206OHB4fS5ibGFuay1jaGF0LXRvb2wtYnRue3BhZGRpbmc6NnB4IDEwcHg7Zm9udC1zaXplOi43NXJlbTttaW4taGVpZ2h0OjQ0cHh9Lm5vdGlmaWNhdGlvbi1idWJibGV7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAyNHB4KX19QG1lZGlhKG1pbi13aWR0aDozOTFweClhbmQgKG1heC13aWR0aDo0MjBweCl7LnRlcm1pbmFsLWNvbnRhaW5lcnttYXJnaW46MCA2cHggNnB4O3BhZGRpbmc6NnB4fS5pbnB1dC1wYW5lbHtwYWRkaW5nOjZweCAxMHB4O3BhZGRpbmctYm90dG9tOmNhbGMoOHB4ICsgdmFyKC0taW5wdXQtc2FmZS1ib3R0b20sIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKSl9fUBtZWRpYShtYXgtd2lkdGg6MzkwcHgpey5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZXt3aWR0aDoyOHB4O2hlaWdodDoyOHB4fS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZSAuaGFtYnVyZ2VyLWljb257d2lkdGg6MTFweDtoZWlnaHQ6OHB4fS50ZXJtaW5hbC1oZWFkZXJ7cGFkZGluZzo0cHggNnB4O21pbi1oZWlnaHQ6MjhweH0udGVybWluYWwtaW5mb3tkaXNwbGF5Om5vbmV9LnRlcm1pbmFsLWNvbnRhaW5lcnttYXJnaW46MCA0cHggNHB4O3BhZGRpbmc6NHB4fS5pbnB1dC1wYW5lbHtwYWRkaW5nOjVweCA2cHg7cGFkZGluZy1ib3R0b206Y2FsYyg2cHggKyB2YXIoLS1pbnB1dC1zYWZlLWJvdHRvbSwgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpKX0uaW5wdXQtY29tcG9zZXJ7Ym9yZGVyLXJhZGl1czoyNHB4fS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW4sLmlucHV0LWNvbXBvc2VyLmlzLWV4cGFuZGVke2JvcmRlci1yYWRpdXM6MThweH0uaW5wdXQtdGV4dGFyZWF7bWluLWhlaWdodDozNnB4O3BhZGRpbmc6N3B4IDZweDtmb250LXNpemU6MTZweH0uYnRuLWNpcmNsZXt3aWR0aDp2YXIoLS1jb21wb3Nlci1hY3Rpb24tc2l6ZSk7aGVpZ2h0OnZhcigtLWNvbXBvc2VyLWFjdGlvbi1zaXplKTttaW4td2lkdGg6dmFyKC0tY29tcG9zZXItYWN0aW9uLXNpemUpfS5zZXNzaW9uLWl0ZW17cGFkZGluZzo2cHggOHB4O21pbi1oZWlnaHQ6NDBweH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWluLXdpZHRoOjMwcHg7bWluLWhlaWdodDozMHB4fS5zaWRlYmFye3RvcDowO3dpZHRoOm1pbigyNDBweCxjYWxjKDEwMHZ3IC0gMTBweCkpfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zOmhhcyguc2lkZWJhci1iYWNrLXRvLW5hdGl2ZSk6aGFzKC5zaWRlYmFyLXN3aXRjaC1zZXJ2ZXIpe2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSwxZnIpfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4gc3BhbntkaXNwbGF5Om5vbmV9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bnttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzo2cHh9Lm1vZGFse21heC1oZWlnaHQ6ODB2aH0ubW9kYWwtaGVhZGVye3BhZGRpbmc6OHB4IDEwcHg7bWluLWhlaWdodDozNnB4fS5tb2RhbC1ib2R5e3BhZGRpbmc6OHB4IDEwcHh9LmZpZWxkLXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDowfS5idG57bWluLWhlaWdodDozNnB4O3BhZGRpbmc6OHB4IDEycHh9LmJ0bi1zbXttaW4taGVpZ2h0OjI4cHg7cGFkZGluZzo0cHggOHB4fX1AbWVkaWEobWluLXdpZHRoOjY0MXB4KWFuZCAobWF4LXdpZHRoOjc2OHB4KXsuc2lkZWJhcnt0b3A6MDt3aWR0aDptaW4oMzIwcHgsY2FsYygxMDB2dyAtIDQwcHgpKX0uc2Vzc2lvbi1pdGVte21pbi1oZWlnaHQ6NTJweDtwYWRkaW5nOjExcHggMTJweH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7bWluLXdpZHRoOjM0cHg7bWluLWhlaWdodDozNHB4fS5idG57bWluLWhlaWdodDo0MnB4fS5idG4tc217bWluLWhlaWdodDozNnB4fS5mbG9hdGluZy10b2dnbGV7bWluLXdpZHRoOjQ4cHg7bWluLWhlaWdodDo0OHB4fX1AbWVkaWEobWF4LWhlaWdodDo0MjBweClhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xle3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9LnNpZGViYXJ7dG9wOjB9LnRlcm1pbmFsLWNvbnRhaW5lcnttaW4taGVpZ2h0OjU1dmg7bWFyZ2luOjZweDtwYWRkaW5nOjhweH0uY2hhdC1jb250YWluZXJ7cGFkZGluZzowIDEwcHggOHB4fS5pbnB1dC1wYW5lbHtwYWRkaW5nOjhweDtwYWRkaW5nLWJvdHRvbTpjYWxjKDhweCArIHZhcigtLWlucHV0LXNhZmUtYm90dG9tLCB2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSkpfX1AbWVkaWEobWF4LXdpZHRoOjQ4MHB4KXsuY2hhdC1jb250YWluZXJ7cGFkZGluZzowIDZweCA4cHh9LmNoYXQtbWVzc2FnZXN7cGFkZGluZy1sZWZ0OjJweDtwYWRkaW5nLXJpZ2h0OjJweDtnYXA6MTJweH0uY2hhdC1tZXNzYWdley0tY2hhdC1jYXJkLW1heC13aWR0aDogMTAwJX0udG9vbC11c2UtaGVhZGVye2ZsZXgtd3JhcDp3cmFwO3Jvdy1nYXA6NHB4O3BhZGRpbmc6OHB4IDEycHh9LnRvb2wtdXNlLWZpbGV7bWF4LXdpZHRoOjEwMCV9LnRvb2wtdXNlLWJvZHl7cGFkZGluZzoxMHB4IDEycHh9LnN1YmFnZW50LXJlcGx5e3BhZGRpbmc6OXB4IDEycHh9LnN1YmFnZW50LXJlcGx5LmNvbGxhcHNpYmxle3BhZGRpbmc6MH0uc3ViYWdlbnQtcmVwbHkuZmluYWx7cGFkZGluZzo5cHggMTFweH0uc3ViYWdlbnQtcGFuZWx7bWFyZ2luOjZweCAwfS5zdWJhZ2VudC1wYW5lbC1oZWFkZXJ7cGFkZGluZzo3cHggMTBweDtnYXA6NnB4O2ZvbnQtc2l6ZTouNzRyZW07ZmxleC13cmFwOndyYXB9LnN1YmFnZW50LXBhbmVsLWF0dHJpYnV0aW9ue3doaXRlLXNwYWNlOm5vcm1hbDtsaW5lLWhlaWdodDoxLjR9LnN1YmFnZW50LXBhbmVsLWNvdW50e21hcmdpbi1sZWZ0OmF1dG99LnN1YmFnZW50LXBhbmVsLXRhZ3ttYXJnaW46MCA0cHg7cGFkZGluZzowIDRweH0uc3ViYWdlbnQtcGFuZWwtYm9keXtoZWlnaHQ6MjYwcHg7cGFkZGluZzo5cHggMTFweH0uc3ViYWdlbnQtcGFuZWxbZGF0YS1leHBhbmRlZD1mYWxzZV0gLnN1YmFnZW50LXBhbmVsLWJvZHksLnN1YmFnZW50LXBhbmVsW2RhdGEtZXhwYW5kZWQ9dHJ1ZV0gLnN1YmFnZW50LXBhbmVsLWJvZHl7aGVpZ2h0OjI2MHB4O21heC1oZWlnaHQ6bm9uZX0uc3ViYWdlbnQtcGFuZWwtZm9vdGVye3BhZGRpbmc6NXB4IDEwcHh9LnN1YmFnZW50LXBhbmVsLWZvb3Rlci1oaW50e2Rpc3BsYXk6bm9uZX0ubWFya2Rvd24tY29udGVudCAuY29kZS1ibG9ja3ttYXJnaW46OHB4IDB9Lm1hcmtkb3duLWNvbnRlbnQgcHJlLC5tYXJrZG93bi1jb250ZW50IC5jb2RlLWJsb2NrIHByZSwuc3ViYWdlbnQtcmVwbHkgcHJle3BhZGRpbmc6MTBweH0uZGlmZi1jb2x1bW5ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGlmZi1jb2wsLmRpZmYtY29sLWhhbGYsLmRpZmYtY29sLWZ1bGx7ZmxleDoxIDEgYXV0bzt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfS50ZXJtLWhlYWRlciwuZGlmZi1oZWFkZXJ7ZmxleC13cmFwOndyYXA7cm93LWdhcDo0cHh9LmRpZmYtcGF0aHtmbGV4LWJhc2lzOjEwMCU7b3JkZXI6OTl9LmlubGluZS10b29sLXJvd3tmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjJweH0uaW5saW5lLXRvb2wtbWV0YXttYXgtd2lkdGg6MTAwJTtmbGV4LWJhc2lzOjEwMCU7cGFkZGluZy1sZWZ0OjIycHh9fS5zZXNzaW9uLWtpbmQtYmFkZ2V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjE4cHg7cGFkZGluZzowIDZweDtib3JkZXItcmFkaXVzOjk5OXB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAxZW07Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtmbGV4LXNocmluazowfS5zZXNzaW9uLWtpbmQtYmFkZ2UucHR5e2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtiYWNrZ3JvdW5kOiM3ODgwOGMxZjtib3JkZXItY29sb3I6Izc4ODA4YzJlfS5zZXNzaW9uLWtpbmQtYmFkZ2Uuc3RydWN0dXJlZHtjb2xvcjojZDE4YjUyO2JhY2tncm91bmQ6I2Q3N2E1MjFhO2JvcmRlci1jb2xvcjojZDc3YTUyMzh9LnNlc3Npb24ta2luZC1iYWRnZS53b3JrdHJlZXtjb2xvcjojMmY2ZjU0O2JhY2tncm91bmQ6IzRmN2E1ODFmO2JvcmRlci1jb2xvcjojNGY3YTU4Mzh9LnNlc3Npb24ta2luZC1kaXNwbGF5e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MXB4IDZweDtib3JkZXItcmFkaXVzOjk5OXB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6IzhhNGIyNDtiYWNrZ3JvdW5kOiNkNzdhNTIxZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjE1LDEyMiw4MiwuMil9LnN0cnVjdHVyZWQtdG9vbC1oaW50e21hcmdpbjo0cHggMCA4cHg7cGFkZGluZzo2cHggMTBweDtib3JkZXItcmFkaXVzOjEwcHg7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOiNkNzdhNTIxNDtib3JkZXI6MXB4IGRhc2hlZCByZ2JhKDIxNSwxMjIsODIsLjE4KX0uYmxhbmstY2hhdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleDoxO3BhZGRpbmc6MjBweCAxNnB4O21pbi1oZWlnaHQ6MDtvdmVyZmxvdzphdXRvfS5ibGFuay1jaGF0LWlubmVye3dpZHRoOjEwMCU7bWF4LXdpZHRoOjU2MHB4O3RleHQtYWxpZ246Y2VudGVyfS5ibGFuay1jaGF0LWxvZ297d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2Q3N2E1MiwjYTk1MTMwKTtib3JkZXItcmFkaXVzOjE2cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO21hcmdpbjowIGF1dG8gMTRweDtib3gtc2hhZG93OjAgNHB4IDE2cHggI2M1NjUzZDM4fS5ibGFuay1jaGF0LXRpdGxle2ZvbnQtc2l6ZToxLjM3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTttYXJnaW46MCAwIDZweH0uYmxhbmstY2hhdC1zdWJ0aXRsZXtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luOjAgMCAyMHB4fS5ibGFuay1jaGF0LXRvb2xze2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWJvdHRvbToxMnB4O2ZsZXgtd3JhcDp3cmFwfS5ibGFuay1jaGF0LXRvb2wtYnRue3BhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDojZmZmZmZmYjM7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O21pbi1oZWlnaHQ6NDBweH0uYmxhbmstY2hhdC10b29sLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tYWNjZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgNHB4IDEycHggIzU5M2EyMDE0fS5ibGFuay1jaGF0LXRvb2wtYnRuIC50b29sLWljb257Zm9udC1zaXplOjEuMTI1cmVtfS5ibGFuay1jaGF0LWN3ZC13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi10b3A6OHB4fS5ibGFuay1jaGF0LWN3ZHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cGFkZGluZzo0cHggOHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTt0cmFuc2l0aW9uOmNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3VzZXItc2VsZWN0Om5vbmV9LmJsYW5rLWNoYXQtY3dkOmhvdmVye2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpfS5ibGFuay1jaGF0LWN3ZC1pY29ue2ZvbnQtc2l6ZTouODEyNXJlbX0uYmxhbmstY2hhdC1jd2QtcGF0aHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO21heC13aWR0aDoyODBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS5ibGFuay1jaGF0LWN3ZC1wYXRoOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6M3B4fS5ibGFuay1jaGF0LWN3ZC1wYXRoOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM5Njc2NTU1Mjtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX0uYmxhbmstY2hhdC1jd2Q6aG92ZXIgLmJsYW5rLWNoYXQtY3dkLXBhdGh7c2Nyb2xsYmFyLXdpZHRoOnRoaW59LmJsYW5rLWNoYXQtY3dkOmhvdmVyIC5ibGFuay1jaGF0LWN3ZC1wYXRoOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NHB4fS5ibGFuay1jaGF0LWN3ZC1hcnJvd3tmb250LXNpemU6LjYyNXJlbTtvcGFjaXR5Oi42O3RyYW5zaXRpb246dHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNoYXQtbW9kZS1zZWxlY3R7Zm9udC1mYW1pbHk6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmV9LmNoYXQtbW9kZS1zZWxlY3Q6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9Lm5vdGlmaWNhdGlvbi1idWJibGV7cG9zaXRpb246Zml4ZWQ7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTt6LWluZGV4OjEwMDAwO21pbi13aWR0aDoyMjBweDttYXgtd2lkdGg6MzIwcHg7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWxnKTtwYWRkaW5nOjhweCAxMnB4O2FuaW1hdGlvbjpub3RpZmljYXRpb24tc2xpZGUtaW4gLjNzIGN1YmljLWJlemllciguMzQsMS41NiwuNjQsMSk7dHJhbnNpdGlvbjp0b3AgLjI1cyBlYXNlLG9wYWNpdHkgLjI1cyBlYXNlfS5ub3RpZmljYXRpb24tYnViYmxlLnNsaWRlLW91dHthbmltYXRpb246bm90aWZpY2F0aW9uLXNsaWRlLW91dCAuMjVzIGVhc2UgZm9yd2FyZHM7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O21hcmdpbi1ib3R0b206MnB4fS5ub3RpZmljYXRpb24tYnViYmxlLWljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtmbGV4LXNocmluazowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Zm9udC1zaXplOjEwcHh9Lm5vdGlmaWNhdGlvbi1idWJibGUtaWNvbi5pbmZve2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmfS5ub3RpZmljYXRpb24tYnViYmxlLWljb24ud2FybmluZ3tiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmcpO2NvbG9yOiNmZmZ9Lm5vdGlmaWNhdGlvbi1idWJibGUtaWNvbi5zdWNjZXNze2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyk7Y29sb3I6I2ZmZn0ubm90aWZpY2F0aW9uLWJ1YmJsZS10aXRsZXtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1mZy1wcmltYXJ5KTtmbGV4OjE7bWluLXdpZHRoOjB9Lm5vdGlmaWNhdGlvbi1idWJibGUtY2xvc2V7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOnZhcigtLWZnLW11dGVkKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MXB4IDNweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7ZmxleC1zaHJpbms6MH0ubm90aWZpY2F0aW9uLWJ1YmJsZS1jbG9zZTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLWhvdmVyKTtjb2xvcjp2YXIoLS1mZy1wcmltYXJ5KX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1ib2R5e2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjp2YXIoLS1mZy1zZWNvbmRhcnkpO2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tYm90dG9tOjA7bWF4LWhlaWdodDo0LjJlbTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6Mzstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9uc3ttYXJnaW4tdG9wOjZweDtkaXNwbGF5OmZsZXg7Z2FwOjZweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b257Zm9udC1zaXplOi43cmVtO3BhZGRpbmc6MnB4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Y29sb3I6dmFyKC0tZmctcHJpbWFyeSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXN9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b246aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3Zlcil9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b24ucHJpbWFyeXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbi5wcmltYXJ5OmhvdmVye2ZpbHRlcjpicmlnaHRuZXNzKDEuMSl9QGtleWZyYW1lcyBub3RpZmljYXRpb24tc2xpZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgdHJhbnNsYXRlWSgtMjBweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgdHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBub3RpZmljYXRpb24tc2xpZGUtb3V0ezAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoMCl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgdHJhbnNsYXRlWSgtMjBweCl9fS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uOmRpc2FibGVke29wYWNpdHk6LjY7Y3Vyc29yOm5vdC1hbGxvd2VkO2ZpbHRlcjpub25lfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uLnN1Y2Nlc3N7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbi5zdWNjZXNzOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2ZpbHRlcjpicmlnaHRuZXNzKDEuMSl9Lm5vdGlmaWNhdGlvbi1idWJibGUudXBkYXRlLWNhcmR7d2lkdGg6bWluKDM2MHB4LGNhbGMoMTAwdncgLSAyNHB4KSk7bWF4LXdpZHRoOm1pbigzNjBweCxjYWxjKDEwMHZ3IC0gMjRweCkpO21pbi13aWR0aDowO3BhZGRpbmc6MTRweCAxNHB4IDEycHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KDEyMCUgMTIwJSBhdCAwJSAwJSx2YXIoLS1hY2NlbnQtbXV0ZWQpIDAlLHRyYW5zcGFyZW50IDU1JSksbGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1iZy1lbGV2YXRlZCkgMCUsdmFyKC0tYmctcHJpbWFyeSkgMTAwJSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy14bCksMCAwIDAgMXB4ICNmZmY2IGluc2V0O292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZX0udXBkYXRlLWNhcmQtc2hpbmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDExNWRlZyx0cmFuc3BhcmVudCAwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xOCkgNDUlLHJnYmEoMjU1LDI1NSwyNTUsLjMyKSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTgpIDU1JSx0cmFuc3BhcmVudCAxMDAlKTtiYWNrZ3JvdW5kLXNpemU6MjIwJSAxMDAlO2JhY2tncm91bmQtcG9zaXRpb246MTIwJSAwO21peC1ibGVuZC1tb2RlOm92ZXJsYXk7b3BhY2l0eTouNjU7YW5pbWF0aW9uOnVwZGF0ZS1jYXJkLXNoaW5lIDZzIGVhc2UtaW4tb3V0IGluZmluaXRlO3otaW5kZXg6MH1Aa2V5ZnJhbWVzIHVwZGF0ZS1jYXJkLXNoaW5lezAle2JhY2tncm91bmQtcG9zaXRpb246MTIwJSAwfTU1JXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMCUgMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMCUgMH19LnVwZGF0ZS1jYXJkLmlzLXN1Y2Nlc3N7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTIwJSAxMjAlIGF0IDAlIDAlLHZhcigtLXN1Y2Nlc3MtbXV0ZWQpIDAlLHRyYW5zcGFyZW50IDU1JSksbGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1iZy1lbGV2YXRlZCkgMCUsdmFyKC0tYmctcHJpbWFyeSkgMTAwJSk7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhsKSwwIDAgMCAxcHggI2ZmZjYgaW5zZXQsdmFyKC0tc2hhZG93LWdsb3ctc3VjY2Vzcyl9LnVwZGF0ZS1jYXJkLWhlYWRlcntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEwcHh9LnVwZGF0ZS1jYXJkLWljb257d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tYWNjZW50KSAwJSx2YXIoLS1hY2NlbnQtaG92ZXIpIDEwMCUpO2JveC1zaGFkb3c6MCA0cHggMTJweCB2YXIoLS1hY2NlbnQtZ2xvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjU5fS51cGRhdGUtY2FyZC5pcy1zdWNjZXNzIC51cGRhdGUtY2FyZC1pY29ue2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1zdWNjZXNzKSAwJSx2YXIoLS1zdWNjZXNzLWhvdmVyKSAxMDAlKTtib3gtc2hhZG93OjAgNHB4IDEycHggdmFyKC0tc3VjY2Vzcy1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNTl9LnVwZGF0ZS1jYXJkLWhlYWRpbmd7ZmxleDoxO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH0udXBkYXRlLWNhcmQtdGl0bGV7Zm9udC1zaXplOi44OHJlbTtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzouMDFlbTtsaW5lLWhlaWdodDoxLjI1fS51cGRhdGUtY2FyZC1zdWJ0aXRsZXtmb250LXNpemU6LjcycmVtO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2xpbmUtaGVpZ2h0OjEuMzV9LnVwZGF0ZS1jYXJkLWNsb3Nle2ZsZXgtc2hyaW5rOjA7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLGNvbG9yIC4xNXN9LnVwZGF0ZS1jYXJkLWNsb3NlOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnVwZGF0ZS1jYXJkLXZlcnNpb257cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO21hcmdpbjoxMnB4IDAgMTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7ZmxleC13cmFwOm5vd3JhcH0udXBkYXRlLWNhcmQtdmVyc2lvbi1jaGlwe2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgdWktbW9ub3NwYWNlLCAiU0YgTW9ubyIsIE1lbmxvLCBDb25zb2xhcywgbW9ub3NwYWNlKTtmb250LXNpemU6Ljc0cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjNweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7d2hpdGUtc3BhY2U6bm93cmFwfS51cGRhdGUtY2FyZC12ZXJzaW9uLWN1cnJlbnR7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSl9LnVwZGF0ZS1jYXJkLXZlcnNpb24tbGF0ZXN0e2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAxcHggNnB4IHZhcigtLWFjY2VudC1nbG93KX0udXBkYXRlLWNhcmQuaXMtc3VjY2VzcyAudXBkYXRlLWNhcmQtdmVyc2lvbi1sYXRlc3R7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyk7Ym94LXNoYWRvdzowIDFweCA2cHggdmFyKC0tc3VjY2Vzcy1nbG93KX0udXBkYXRlLWNhcmQtdmVyc2lvbi1hcnJvd3tjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmbGV4LXNocmluazowfS51cGRhdGUtY2FyZC1wcm9ncmVzc3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowO3RyYW5zaXRpb246aGVpZ2h0IC4yNXMgZWFzZSxtYXJnaW4gLjI1cyBlYXNlfS51cGRhdGUtY2FyZC1wcm9ncmVzcy5hY3RpdmV7aGVpZ2h0OjZweDttYXJnaW46MCAwIDEwcHh9LnVwZGF0ZS1jYXJkLXByb2dyZXNzLXRyYWNre3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7b3ZlcmZsb3c6aGlkZGVufS51cGRhdGUtY2FyZC1wcm9ncmVzcy1maWxse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6LTQwJTt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tYWNjZW50KSAwJSx2YXIoLS1hY2NlbnQtaG92ZXIpIDEwMCUpO2JveC1zaGFkb3c6MCAwIDEwcHggdmFyKC0tYWNjZW50LWdsb3cpO2FuaW1hdGlvbjp1cGRhdGUtY2FyZC1wcm9ncmVzcy1zd2VlcCAxLjRzIGN1YmljLWJlemllciguNjUsLjA1LC4zNSwxKSBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHVwZGF0ZS1jYXJkLXByb2dyZXNzLXN3ZWVwezAle2xlZnQ6LTQ1JTt3aWR0aDo0MCV9NTAle2xlZnQ6MjUlO3dpZHRoOjU1JX10b3tsZWZ0OjEwNSU7d2lkdGg6NDAlfX0udXBkYXRlLWNhcmQtc3RhdHVze3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtmb250LXNpemU6LjcycmVtO2xpbmUtaGVpZ2h0OjEuNDtwYWRkaW5nOjZweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTttYXJnaW4tYm90dG9tOjEwcHg7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LnVwZGF0ZS1jYXJkLXN0YXR1cy5lcnJvcntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Y29sb3I6dmFyKC0tZGFuZ2VyKTtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX0udXBkYXRlLWNhcmQtc3RhdHVzLnN1Y2Nlc3N7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtjb2xvcjp2YXIoLS1zdWNjZXNzKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyl9LnVwZGF0ZS1jYXJkLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7Z2FwOjhweH0udXBkYXRlLWNhcmQtYWN0aW9ue2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6N3B4IDE2cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTJzIGVhc2UsZmlsdGVyIC4xNXMgZWFzZSxib3gtc2hhZG93IC4xNXMgZWFzZX0udXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWFjY2VudCkgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTtjb2xvcjojZmZmO2JveC1zaGFkb3c6MCA0cHggMTJweCB2YXIoLS1hY2NlbnQtZ2xvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjQwfS51cGRhdGUtY2FyZC1hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoOmRpc2FibGVkKXtmaWx0ZXI6YnJpZ2h0bmVzcygxLjA1KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgNnB4IDE2cHggdmFyKC0tYWNjZW50LWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY0ZH0udXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO2ZpbHRlcjpicmlnaHRuZXNzKC45Nil9LnVwZGF0ZS1jYXJkLWFjdGlvbjpkaXNhYmxlZHtvcGFjaXR5Oi43O2N1cnNvcjpwcm9ncmVzcztmaWx0ZXI6bm9uZTt0cmFuc2Zvcm06bm9uZX0udXBkYXRlLWNhcmQuaXMtc3VjY2VzcyAudXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLXN1Y2Nlc3MpIDAlLHZhcigtLXN1Y2Nlc3MtaG92ZXIpIDEwMCUpO2JveC1zaGFkb3c6MCA0cHggMTJweCB2YXIoLS1zdWNjZXNzLWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY0MH0udXBkYXRlLWNhcmQuaXMtc3VjY2VzcyAudXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KDpkaXNhYmxlZCl7Ym94LXNoYWRvdzowIDZweCAxNnB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjRkfS5lbXB0eS1zdGF0ZS1jb21wYWN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzozMnB4IDE2cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44MTI1cmVtfS5lbXB0eS1zdGF0ZS1jb21wYWN0IC5lbXB0eS1pY29ue2ZvbnQtc2l6ZToxLjVyZW07b3BhY2l0eTouNX0uc3dpdGNoLWNhcmQtbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4fS5zd2l0Y2gtY2FyZHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2ZmZmZmZjgwO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxNHB4IDE2cHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjJzLGJhY2tncm91bmQgLjJzLHRyYW5zZm9ybSAuMnM7dXNlci1zZWxlY3Q6bm9uZX0uc3dpdGNoLWNhcmQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfS5zd2l0Y2gtY2FyZC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweH0uc3dpdGNoLWNhcmQtdGl0bGV7ZmxleDoxO2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uc3dpdGNoLWNhcmQtZGVzY3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbi10b3A6MDttYXgtaGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO29wYWNpdHk6MDt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjI1cyBlYXNlLG9wYWNpdHkgLjJzIGVhc2UsbWFyZ2luLXRvcCAuMjVzIGVhc2V9LnN3aXRjaC1jYXJkOmhhcyguc3dpdGNoLXRvZ2dsZTpjaGVja2VkKSAuc3dpdGNoLWNhcmQtZGVzY3ttYXgtaGVpZ2h0OjQwcHg7b3BhY2l0eToxO21hcmdpbi10b3A6OHB4fS5zd2l0Y2gtY2FyZDpoYXMoLnN3aXRjaC10b2dnbGU6Y2hlY2tlZCl7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDYlLHZhcigtLWJnLXNlY29uZGFyeSkpfS5zd2l0Y2gtdG9nZ2xle3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDt3aWR0aDowO2hlaWdodDowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXRjaC1zbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6NDRweDtoZWlnaHQ6MjZweDttaW4td2lkdGg6NDRweDtib3JkZXItcmFkaXVzOjEzcHg7YmFja2dyb3VuZDojN2Q1YjM5Mzg7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggIzdkNWIzOTJlO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMjJzIGVhc2UsYm94LXNoYWRvdyAuMjJzIGVhc2U7Y3Vyc29yOnBvaW50ZXJ9LnN3aXRjaC1zbGlkZXI6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4O3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAycHggNHB4ICMxNDBlMDgyZSwwIDAgMCAuNXB4ICM3ZDViMzkwZjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjRzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKX0uc3dpdGNoLXRvZ2dsZTpjaGVja2VkKy5zd2l0Y2gtc2xpZGVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCAjMDAwMDAwMWF9LnN3aXRjaC10b2dnbGU6Y2hlY2tlZCsuc3dpdGNoLXNsaWRlcjphZnRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlKDE4cHgpfS5zd2l0Y2gtdG9nZ2xlOmZvY3VzLXZpc2libGUrLnN3aXRjaC1zbGlkZXJ7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9LnByZXNldC1pdGVte2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzoxMnB4IDE0cHg7YmFja2dyb3VuZDojZmZmZmZmODU7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luLWJvdHRvbToxMHB4O2ZvbnQtc2l6ZTouODEyNXJlbX0ucHJlc2V0LWxhYmVse2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5wcmVzZXQtZGV0YWlse21pbi13aWR0aDowO3RleHQtYWxpZ246cmlnaHQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnByZXNldC1pdGVte2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5wcmVzZXQtZGV0YWlse3RleHQtYWxpZ246bGVmdH19LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV17Y3Vyc29yOnBvaW50ZXJ9LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3Zlcil9LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV06aG92ZXIgLnRyZWUtbmFtZXtjb2xvcjp2YXIoLS1hY2NlbnQpfS5maWxlLWV4cGxvcmVyLXVwe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjhweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZmxleC1zaHJpbms6MH0uZmlsZS1leHBsb3Jlci11cDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKX0uZmlsZS1leHBsb3Jlci11cDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnRyZWUtbWV0YXtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bWFyZ2luLWxlZnQ6NnB4O3BhZGRpbmctbGVmdDo2cHg7bWF4LXdpZHRoOjcwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO29wYWNpdHk6Ljg1fS50cmVlLWl0ZW06aG92ZXIgLnRyZWUtbWV0YXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnRyZWUtdHJ1bmNhdGVke3BhZGRpbmc6OHB4IDE0cHg7bWFyZ2luOjRweCA2cHggOHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBkYXNoZWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjZweDt0ZXh0LWFsaWduOmNlbnRlcn0uZmlsZS1jb250ZXh0LW1lbnV7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMTAwO21pbi13aWR0aDoyMDBweDtwYWRkaW5nOjRweDtiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7Ym94LXNoYWRvdzowIDEycHggMzZweCAjMDAwMDAwMmU7YW5pbWF0aW9uOmN0eC1mYWRlLWluIC4xMnMgZWFzZX1Aa2V5ZnJhbWVzIGN0eC1mYWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KSBzY2FsZSguOTgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19LmZpbGUtY29udGV4dC1tZW51LWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDt3aWR0aDoxMDAlO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZTouODEyNXJlbTt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnN9LmZpbGUtY29udGV4dC1tZW51LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSl9LmZpbGUtY29udGV4dC1tZW51LWl0ZW0gLmN0eC1pY29ue3dpZHRoOjE4cHg7dGV4dC1hbGlnbjpjZW50ZXI7b3BhY2l0eTouODV9LndhbmQtaWNvbntmbGV4LXNocmluazowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHJlZS1pdGVte3RyYW5zaXRpb246YWxsIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0udHJlZS1pdGVtOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGUoNHB4KX0udHJlZS1pdGVtOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlKDJweCkgc2NhbGUoLjk5KX0uZmlsZS1zaWRlLXBhbmVse3RyYW5zaXRpb246cmlnaHQgLjM1cyB2YXIoLS1lYXNlLW91dC1leHBvKSxib3gtc2hhZG93IC4zNXMgZWFzZX0uZmlsZS1zaWRlLXBhbmVsLm9wZW57Ym94LXNoYWRvdzotOHB4IDAgMzJweCAjNTkzYTIwMWZ9LnNwaW5uZXJ7YW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgZmxvYXR7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfX0uZmxvYXR7YW5pbWF0aW9uOmZsb2F0IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5jaGF0LW1lc3NhZ2UtYnViYmxley13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dDt1c2VyLXNlbGVjdDp0ZXh0fS5tc2ctY29weS1idG57ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMzJweDtyaWdodDo0cHg7cGFkZGluZzo0cHggMTBweDtmb250LXNpemU6Ljc1cmVtO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbWQpO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3otaW5kZXg6MTA7d2hpdGUtc3BhY2U6bm93cmFwOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS5tc2ctY29weS1idG4udmlzaWJsZXtkaXNwbGF5OmJsb2NrfS5tc2ctY29weS1idG4uY29waWVke2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfS5jaGF0LW1lc3NhZ2V7cG9zaXRpb246cmVsYXRpdmV9LnRlcm1pbmFsLWp1bXAtYm90dG9te3otaW5kZXg6MjB9LmlucHV0LWNvbXBvc2VyLmluLWZsaWdodHtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JveC1zaGFkb3c6aW5zZXQgMCAycHggcmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC4zNCl9LmlucHV0LWNvbXBvc2VyLmluLWZsaWdodDpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKSxpbnNldCAwIDJweCByZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjM0KX0uaW5wdXQtY29tcG9zZXIuaW4tZmxpZ2h0OmJlZm9yZSwuaW5wdXQtY29tcG9zZXIuaW4tZmxpZ2h0OmFmdGVye2NvbnRlbnQ6bm9uZX0uc3RydWN0dXJlZC1zdGF0dXMtYmFye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2dhcDo1cHg7bWFyZ2luOjAgMCAwIGF1dG87cGFkZGluZzo0cHggOHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZSxjb2xvciAuM3MgZWFzZTtvdmVyZmxvdzpoaWRkZW47ZmxleC1zaHJpbms6MH0uc3RydWN0dXJlZC1zdGF0dXMtYmFyIC5zdGF0dXMtYmFyLWRvdHt3aWR0aDo1cHg7aGVpZ2h0OjVweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuOCk7YW5pbWF0aW9uOnN0YXR1c0RvdFB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7ZmxleC1zaHJpbms6MH1Aa2V5ZnJhbWVzIHN0YXR1c0RvdFB1bHNlezAlLHRve29wYWNpdHk6LjQ7dHJhbnNmb3JtOnNjYWxlKC45KX01MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX0uc3RydWN0dXJlZC1zdGF0dXMtYmFyIC5zdGF0dXMtYmFyLWxhYmVse2ZsZXgtc2hyaW5rOjA7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNjI1cmVtfS5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIgLnN0YXR1cy1iYXItdGltZXJ7ZmxleC1zaHJpbms6MDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uc3RydWN0dXJlZC1zdGF0dXMtYmFyLmNvbXBsZXRlZHthbmltYXRpb246c3RhdHVzQmFyRmFkZU91dCAycyBlYXNlLW91dCAxcyBmb3J3YXJkc30uc3RydWN0dXJlZC1zdGF0dXMtYmFyLmNvbXBsZXRlZCAuc3RhdHVzLWJhci1sYWJlbHtjb2xvcjp2YXIoLS1zdWNjZXNzKX1Aa2V5ZnJhbWVzIHN0YXR1c0JhckZhZGVPdXR7MCV7b3BhY2l0eToxO21heC1oZWlnaHQ6MjBweH03MCV7b3BhY2l0eTowO21heC1oZWlnaHQ6MjBweH10b3tvcGFjaXR5OjA7bWF4LWhlaWdodDowO21hcmdpbjowfX0uY3Jvc3Mtc2Vzc2lvbi1xdWV1ZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHg7bWFyZ2luOjAgOHB4IDRweH0ucXVldWUtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtwYWRkaW5nOjAgNHB4O2ZvbnQtc2l6ZTouNnJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ucXVldWUtaGVhZGVyLWxhYmVse2ZsZXg6MTtvcGFjaXR5Oi42fS5xdWV1ZS1oZWFkZXItY2xlYXJ7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6LjU2MjVyZW07cGFkZGluZzoxcHggNHB4O2JvcmRlci1yYWRpdXM6M3B4O29wYWNpdHk6LjU7dHJhbnNpdGlvbjpjb2xvciAuMTVzLGJhY2tncm91bmQgLjE1cyxvcGFjaXR5IC4xNXN9LnF1ZXVlLWhlYWRlci1jbGVhcjpob3Zlcntjb2xvcjp2YXIoLS1lcnJvciwgI2U1NSk7YmFja2dyb3VuZDojZTU1NTU1MWY7b3BhY2l0eToxfS5xdWV1ZS1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6Ljc7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgZWFzZX0ucXVldWUtaXRlbTpob3ZlcntvcGFjaXR5OjF9LnF1ZXVlLWl0ZW0tZG90e2ZsZXgtc2hyaW5rOjA7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjYpO2FuaW1hdGlvbjpzdGF0dXNEb3RQdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5xdWV1ZS1pdGVtLXRleHR7ZmxleDoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnF1ZXVlLWl0ZW0tYWdle2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi41NjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztvcGFjaXR5Oi41fS5xdWV1ZS1pdGVtLXNlbmQtbm93e2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjMpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tYWNjZW50LCAjYzU2NTNkKTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjFweCA4cHg7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC1zaXplOi42cmVtO2xpbmUtaGVpZ2h0OjEuNDt0cmFuc2l0aW9uOmNvbG9yIC4xNXMsYmFja2dyb3VuZCAuMTVzLGJvcmRlci1jb2xvciAuMTVzfS5xdWV1ZS1pdGVtLXNlbmQtbm93OmhvdmVye2NvbG9yOnZhcigtLWFjY2VudCwgI2M1NjUzZCk7YmFja2dyb3VuZDpyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjEyKTtib3JkZXItY29sb3I6cmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC41KX0ucXVldWUtaXRlbS1jYW5jZWx7ZmxleC1zaHJpbms6MDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MXB4IDRweDtib3JkZXItcmFkaXVzOjNweDtmb250LXNpemU6LjY4NzVyZW07bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi40O3RyYW5zaXRpb246Y29sb3IgLjE1cyxiYWNrZ3JvdW5kIC4xNXMsb3BhY2l0eSAuMTVzfS5xdWV1ZS1pdGVtLWNhbmNlbDpob3Zlcntjb2xvcjp2YXIoLS1lcnJvciwgI2U1NSk7YmFja2dyb3VuZDojZTU1NTU1MWY7b3BhY2l0eToxfS50b3BiYXItZ2l0LXNsb3R7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnRvcGJhci1naXQtc2xvdDplbXB0eXtkaXNwbGF5Om5vbmV9LnRvcGJhci1naXQtYmFkZ2V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTBweDtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDoxfS50b3BiYXItZ2l0LWJhZGdlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZjgwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnRvcGJhci1naXQtYmFkZ2U6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTYpfS50b3BiYXItZ2l0LWljb257ZmxleC1zaHJpbms6MDtvcGFjaXR5Oi44NX0udG9wYmFyLWdpdC1icmFuY2h7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtd2VpZ2h0OjYwMDttYXgtd2lkdGg6MTJlbTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udG9wYmFyLWdpdC1jb3VudHtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtd2VpZ2h0OjcwMDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSl9LnRvcGJhci1naXQtY2xlYW57Y29sb3I6IzNjYTA1YWQ5O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6Ljc4cmVtfUBtZWRpYShtYXgtd2lkdGg6NzIwcHgpey50b3BiYXItZ2l0LWJyYW5jaHttYXgtd2lkdGg6OGVtfS50b3BiYXItZ2l0LWJhZGdle3BhZGRpbmc6MCA4cHg7Zm9udC1zaXplOi43cmVtfX0uYnRuLXdpdGgtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4fS5idG4td2l0aC1pY29uPnN2Z3tmbGV4LXNocmluazowfS5jb21wb3Nlci1waWxsLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246LTJweH0uY29tcG9zZXItcGlsbC1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztsZXR0ZXItc3BhY2luZzouMDJlbX0uYmxhbmstY2hhdC10b29sLWJ0biAudG9vbC1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MThweDtoZWlnaHQ6MThweDtmb250LXNpemU6MS4xMjVyZW19LmJsYW5rLWNoYXQtdG9vbC1idG4gLnRvb2wtaWNvbj5zdmd7ZGlzcGxheTpibG9ja30uYmxhbmstY2hhdC10b29sLWJ0biAudG9vbC1pY29uLXRleHR7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bztmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjF9LmJsYW5rLWNoYXQtY3dkLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MDtsaW5lLWhlaWdodDowfS5ibGFuay1jaGF0LWN3ZC1pY29uPnN2Z3tkaXNwbGF5OmJsb2NrfS5ibGFuay1jaGF0LWN3ZC1hcnJvd3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uYmxhbmstY2hhdC1jd2QtYXJyb3c+c3Zne2Rpc3BsYXk6YmxvY2t9LmFwcHJvdmFsLXN0YXRzLXJvdy1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtmb250LXNpemU6MDtsaW5lLWhlaWdodDowfS5hcHByb3ZhbC1zdGF0cy1yb3ctaWNvbj5zdmd7ZGlzcGxheTpibG9ja30uYXR0YWNobWVudC1waWxsIC5hdHQtaWNvbj5zdmd7ZGlzcGxheTpibG9ja30ud2FuZC1qb3lzdGljay1yb290e3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NDA7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlfS53YW5kLWpveXN0aWNrLXJvb3QudmlzaWJsZXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlfS53YW5kLWpveXN0aWNrLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3Zpc2liaWxpdHk6aGlkZGVufS53YW5kLWpveXN0aWNrLWJhY2tkcm9wLmFjdGl2ZXt2aXNpYmlsaXR5OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0b30ud2FuZC1qb3lzdGljay1iYWxse3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjE4cHg7Ym90dG9tOjk2cHg7d2lkdGg6NTRweDtoZWlnaHQ6NTRweDtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6I2Y1ZWJlMWYwO2JhY2tncm91bmQ6IzIzMWMxOGRiO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNDUsMjM1LDIyNSwuMTgpO2JveC1zaGFkb3c6MCA4cHggMjJweCAjMDAwMDAwNGQsaW5zZXQgMCAxcHggI2ZmZmZmZjE0O2JhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTBweCk7cG9pbnRlci1ldmVudHM6YXV0bzt0b3VjaC1hY3Rpb246bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7ei1pbmRleDo0MztjdXJzb3I6Z3JhYjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIHZhcigtLWVhc2Utc3ByaW5nKSxiYWNrZ3JvdW5kIC4ycyBlYXNlLGJvcmRlci1jb2xvciAuMnMgZWFzZSxib3gtc2hhZG93IC4ycyBlYXNlfS53YW5kLWpveXN0aWNrLWxvZ297cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS53YW5kLWpveXN0aWNrLWJhbGw6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym9yZGVyLWNvbG9yOiNmNWViZTE0ZDtiYWNrZ3JvdW5kOiMyYjIyMWRlNjtib3gtc2hhZG93OjAgMTBweCAyNnB4ICMwMDAwMDA1NyxpbnNldCAwIDFweCAjZmZmZmZmMWF9LndhbmQtam95c3RpY2stYmFsbDphY3RpdmUsLndhbmQtam95c3RpY2stYmFsbC5wYW5lbC1vcGVue2JhY2tncm91bmQ6IzFkMTcxNGYwfS53YW5kLWpveXN0aWNrLWJhbGwuZHJhZ2dpbmd7dHJhbnNmb3JtOnNjYWxlKDEuMTIpO2N1cnNvcjpncmFiYmluZztib3gtc2hhZG93OjAgMTBweCAyOHB4ICMwMDAwMDA1Y30ud2FuZC1qb3lzdGljay1wYW5lbHtwb3NpdGlvbjpmaXhlZDtyaWdodDoxOHB4O2JvdHRvbToxNjBweDt6LWluZGV4OjQ0O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6IzFkMTcxNGY1O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNDUsMjM1LDIyNSwuMTIpO2JveC1zaGFkb3c6MCAxNHB4IDM0cHggIzAwMDAwMDU3LGluc2V0IDAgMXB4ICNmZmZmZmYwZjtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCkgc2NhbGUoLjk2KTt0cmFuc2Zvcm0tb3JpZ2luOmJvdHRvbSByaWdodDt0cmFuc2l0aW9uOm9wYWNpdHkgLjE4cyB2YXIoLS1lYXNlLW91dC1leHBvKSx0cmFuc2Zvcm0gLjIycyB2YXIoLS1lYXNlLXNwcmluZyksdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjE4czt3aWR0aDptaW4oMjI0cHgsY2FsYygxMDB2dyAtIDM2cHgpKTttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDM2cHgpfS53YW5kLWpveXN0aWNrLXBhbmVsLmFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvO29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7dHJhbnNpdGlvbi1kZWxheTowc30ud2pwLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMHB4O21pbi1oZWlnaHQ6MjRweH0ud2pwLXRpdGxle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Zm9udC1zaXplOi43NnJlbTtsZXR0ZXItc3BhY2luZzowO2NvbG9yOiNmNWViZTFjNztmb250LXdlaWdodDo2MDB9LndqcC10aXRsZS1pY29ue2NvbG9yOiNmNWViZTFiOH0ud2pwLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI0NSwyMzUsMjI1LC4xMik7YmFja2dyb3VuZDojZmZmZmZmMGQ7Y29sb3I6I2Y1ZWJlMWI4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTRzIGVhc2UsY29sb3IgLjE0cyBlYXNlLHRyYW5zZm9ybSAuMTRzIGVhc2V9LndqcC1jbG9zZTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmYxYTtjb2xvcjojZjVlYmUxZjJ9LndqcC1jbG9zZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LndqcC1kcGFke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHh9LndqcC1kcGFkLXJvd3tkaXNwbGF5OmZsZXg7Z2FwOjVweH0ud2pwLWdyaWR7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo1cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ud2pwLWZua2V5c3ttYXgtd2lkdGg6MjAwcHh9LndqcC1rZXl7bWluLXdpZHRoOjQ0cHg7aGVpZ2h0OjM4cHg7cGFkZGluZzowIDhweDtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6Ljc2cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjojZjVlYmUxZDY7YmFja2dyb3VuZDojZmZmZmZmMGI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI0NSwyMzUsMjI1LC4xMSk7Y3Vyc29yOnBvaW50ZXI7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgZWFzZSxiYWNrZ3JvdW5kIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZX0ud2pwLWtleTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmYxNDtib3JkZXItY29sb3I6I2Y1ZWJlMTMzO2NvbG9yOiNmNWViZTFmMn0ud2pwLWtleTphY3RpdmV7YmFja2dyb3VuZDojZmZmZmZmMWY7dHJhbnNmb3JtOnNjYWxlKC45Nil9LndqcC1rZXkud2pwLW1vZC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LnNlc3Npb24taXRlbS1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6OHB4O21pbi1oZWlnaHQ6NDBweDt3aWR0aDoxMDAlfS5zZXNzaW9uLWl0ZW0tcm93Omhhcyg+LnNlc3Npb24tbWFuYWdlLWNoZWNrKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjRweCBtaW5tYXgoMCwxZnIpIGF1dG99LnNlc3Npb24taXRlbS1yb3c+LnNlc3Npb24tbWFuYWdlLWNoZWNre2dyaWQtY29sdW1uOjE7anVzdGlmeS1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O21hcmdpbi1yaWdodDowfS5zZXNzaW9uLWl0ZW0tcm93Pi5zZXNzaW9uLW1haW57Z3JpZC1jb2x1bW46MTttaW4td2lkdGg6MDtwYWRkaW5nLXJpZ2h0OjB9LnNlc3Npb24taXRlbS1yb3c6aGFzKD4uc2Vzc2lvbi1tYW5hZ2UtY2hlY2spPi5zZXNzaW9uLW1haW57Z3JpZC1jb2x1bW46Mn0uc2Vzc2lvbi1pdGVtLXJvdz4uc2Vzc2lvbi1hY3Rpb25ze2dyaWQtY29sdW1uOjI7cG9zaXRpb246c3RhdGljO3RyYW5zZm9ybTpub25lO2p1c3RpZnktc2VsZjplbmQ7YWxpZ24tc2VsZjpjZW50ZXI7bWluLXdpZHRoOm1heC1jb250ZW50O21pbi1oZWlnaHQ6MzJweH0uc2Vzc2lvbi1pdGVtLXJvdzpoYXMoPi5zZXNzaW9uLW1hbmFnZS1jaGVjayk+LnNlc3Npb24tYWN0aW9uc3tncmlkLWNvbHVtbjozfS5zZXNzaW9uLWFjdGlvbnM6ZW1wdHl7ZGlzcGxheTpub25lfS5zZXNzaW9uLXRpdGxlLXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpiYXNlbGluZTtjb2x1bW4tZ2FwOjhweDttaW4td2lkdGg6MH0uc2Vzc2lvbi1tYWlue2dhcDo0cHh9LnNlc3Npb24tY29tbWFuZCwuc2Vzc2lvbi10aXRsZSwuY2xhdWRlLWhpc3RvcnktcHJldmlld3tsaW5lLWhlaWdodDoxLjM1fS5zZXNzaW9uLW1ldGF7bWluLXdpZHRoOjA7Z2FwOjZweDtmbGV4LXdyYXA6bm93cmFwO292ZXJmbG93OmhpZGRlbn0uc2Vzc2lvbi1tZXRhPnNwYW57bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXNzaW9uLXN0YXR1cywuc2Vzc2lvbi1pZCwuc2Vzc2lvbi1raW5kLWJhZGdlLC5zZXNzaW9uLXJlY292ZXJ5LWhpbnR7ZmxleDowIDAgYXV0b30uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6OXB4fS5zZXNzaW9uLW1hbmFnZS1iYXJ7bWluLWhlaWdodDozOHB4fS5zZXNzaW9uLW1hbmFnZS1hY3Rpb25zIC5idG4sLnNlc3Npb24tbWFuYWdlLXRvZ2dsZXttaW4taGVpZ2h0OjMycHg7d2hpdGUtc3BhY2U6bm93cmFwfS5maWxlLXRyZWV7LS10cmVlLW1ldGEtd2lkdGg6IDU2cHg7LS10cmVlLXN0YXR1cy13aWR0aDogMjJweH0udHJlZS1pdGVte2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MThweCAyMHB4IG1pbm1heCgwLDFmcikgbWlubWF4KDAsdmFyKC0tdHJlZS1tZXRhLXdpZHRoKSkgdmFyKC0tdHJlZS1zdGF0dXMtd2lkdGgpO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjZweDttaW4taGVpZ2h0OjMycHg7cGFkZGluZzo0cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRyZWUtaXRlbTpob3ZlciwudHJlZS1pdGVtOmFjdGl2ZXt0cmFuc2Zvcm06bm9uZX0udHJlZS10b2dnbGV7Z3JpZC1jb2x1bW46MTt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS50cmVlLWljb257Z3JpZC1jb2x1bW46Mjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi1yaWdodDowO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MX0udHJlZS1uYW1le2dyaWQtY29sdW1uOjM7bWluLXdpZHRoOjB9LnRyZWUtbWV0YXtncmlkLWNvbHVtbjo0O2p1c3RpZnktc2VsZjplbmQ7bWF4LXdpZHRoOm5vbmU7bWFyZ2luLWxlZnQ6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LWFsaWduOnJpZ2h0fS5naXQtc3RhdHVzLWJhZGdle2dyaWQtY29sdW1uOjU7anVzdGlmeS1zZWxmOmVuZDt3aWR0aDoyMHB4O21pbi13aWR0aDoyMHB4O2hlaWdodDoyMHB4O3BhZGRpbmc6MDtsaW5lLWhlaWdodDoyMHB4O2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveH0udHJlZS1jaGlsZHJlbi5vcGVue21hcmdpbi1sZWZ0OjEzcHg7cGFkZGluZy1sZWZ0OjVweDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA5KX0udG9vbC11c2UtaGVhZGVye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjRweCBtaW5tYXgoN2NoLG1heC1jb250ZW50KSBtaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6MTBweDttaW4taGVpZ2h0OjQycHh9LnRvb2wtdXNlLWljb257Z3JpZC1jb2x1bW46MTt3aWR0aDoyMnB4O21pbi13aWR0aDoyMnB4fS50b29sLXVzZS1uYW1le2dyaWQtY29sdW1uOjI7bWF4LXdpZHRoOjE4MHB4fS50b29sLXVzZS1maWxlLC50b29sLXVzZS1zdW1tYXJ5e2dyaWQtY29sdW1uOjM7bWF4LXdpZHRoOm5vbmU7bWluLXdpZHRoOjB9LnRvb2wtdXNlLXRvZ2dsZXtncmlkLWNvbHVtbjo0O2p1c3RpZnktc2VsZjplbmQ7bWFyZ2luLWxlZnQ6MH0uZGlmZi1oZWFkZXJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoN2NoLG1heC1jb250ZW50KSBtaW5tYXgoMCwxZnIpIGF1dG8gYXV0byBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjEwcHg7bWluLWhlaWdodDo0MnB4fS5kaWZmLWZpbGUtaWNvbntkaXNwbGF5Om5vbmV9LmRpZmYtZmlsZS1uYW1le2dyaWQtY29sdW1uOjE7bWF4LXdpZHRoOjE4MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uZGlmZi1wYXRoe2dyaWQtY29sdW1uOjI7bWluLXdpZHRoOjA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZGlmZi1zdGF0dXN7Z3JpZC1jb2x1bW46Mzt3aGl0ZS1zcGFjZTpub3dyYXB9LmRpZmYtb3Blbi1maWxle2dyaWQtY29sdW1uOjQ7bWluLWhlaWdodDoyOHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5kaWZmLXRvZ2dsZXtncmlkLWNvbHVtbjo1O2p1c3RpZnktc2VsZjplbmQ7bWFyZ2luLWxlZnQ6MH0uc3dpdGNoLWNhcmQtaGVhZGVye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjE0cHh9LnN3aXRjaC1jYXJkLXRpdGxlLC5zd2l0Y2gtY2FyZC1kZXNje21pbi13aWR0aDowfS5zd2l0Y2gtc2xpZGVye2p1c3RpZnktc2VsZjplbmR9LnByZXNldC1pdGVte2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDEwY2gsbWF4LWNvbnRlbnQpIG1pbm1heCgwLDFmcik7YWxpZ24taXRlbXM6c3RhcnQ7Y29sdW1uLWdhcDoxNHB4fS5wcmVzZXQtZGV0YWlse21pbi13aWR0aDowO292ZXJmbG93LXdyYXA6YW55d2hlcmU7dGV4dC1hbGlnbjpyaWdodH0uZW52LXByZXZpZXctdG9vbGJhcntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHh9LmVudi1wcmV2aWV3LWNvbnRyb2xze21pbi13aWR0aDowO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uZW52LXByZXZpZXctcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMTByZW0sLjQyZnIpIG1pbm1heCgwLDFmcikgbWF4LWNvbnRlbnQ7YWxpZ24taXRlbXM6Y2VudGVyfS5lbnYtcHJldmlldy1uYW1le21pbi13aWR0aDowfS5lbnYtcHJldmlldy1sZW57anVzdGlmeS1zZWxmOmVuZH0ucXVldWUtaXRlbXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjhweCBtaW5tYXgoMCwxZnIpIG1heC1jb250ZW50IG1heC1jb250ZW50IG1heC1jb250ZW50O2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjZweDttaW4taGVpZ2h0OjI4cHh9LnF1ZXVlLWl0ZW0tZG90LC5xdWV1ZS1pdGVtLWFnZSwucXVldWUtaXRlbS1zZW5kLW5vdywucXVldWUtaXRlbS1jYW5jZWx7anVzdGlmeS1zZWxmOmVuZH1AbWVkaWEocG9pbnRlcjpjb2Fyc2UpLChtYXgtd2lkdGg6NzY4cHgpey5zZXNzaW9uLWl0ZW0tcm93e21pbi1oZWlnaHQ6NDRweH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjQ0cHg7bWluLWhlaWdodDo0NHB4fS50cmVlLWl0ZW17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjIwcHggMjJweCBtaW5tYXgoMCwxZnIpIG1pbm1heCgwLDU2cHgpIDI0cHg7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6OHB4IDEycHh9LmZpbGUtZXhwbG9yZXItdXAsLmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuLC5kaWZmLW9wZW4tZmlsZSwucXVldWUtaXRlbS1zZW5kLW5vdywucXVldWUtaXRlbS1jYW5jZWx7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufX1AbWVkaWEobWF4LXdpZHRoOjY0MHB4KXsuc2Vzc2lvbi10aXRsZS1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcik7cm93LWdhcDoycHh9LnNlc3Npb24tdGltZXtqdXN0aWZ5LXNlbGY6c3RhcnR9LnRvb2wtdXNlLWhlYWRlcntncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjRweCBtaW5tYXgoMCwxZnIpIGF1dG99LnRvb2wtdXNlLW5hbWV7Z3JpZC1jb2x1bW46MjttYXgtd2lkdGg6bm9uZX0udG9vbC11c2UtZmlsZSwudG9vbC11c2Utc3VtbWFyeXtncmlkLWNvbHVtbjoyIC8gNH0udG9vbC11c2UtdG9nZ2xle2dyaWQtY29sdW1uOjM7Z3JpZC1yb3c6MX0uZGlmZi1oZWFkZXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgYXV0byBhdXRvO3Jvdy1nYXA6NHB4fS5kaWZmLWZpbGUtbmFtZXtncmlkLWNvbHVtbjoxO21heC13aWR0aDpub25lfS5kaWZmLXBhdGh7Z3JpZC1jb2x1bW46MSAvIDQ7Z3JpZC1yb3c6Mn0uZGlmZi1zdGF0dXN7Z3JpZC1jb2x1bW46MjtncmlkLXJvdzoxfS5kaWZmLW9wZW4tZmlsZXtncmlkLWNvbHVtbjozO2dyaWQtcm93OjF9LmRpZmYtdG9nZ2xle2Rpc3BsYXk6bm9uZX0uc3dpdGNoLWNhcmQtaGVhZGVyLC5wcmVzZXQtaXRlbSwuZW52LXByZXZpZXctdG9vbGJhciwuZW52LXByZXZpZXctcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO3Jvdy1nYXA6OHB4fS5zd2l0Y2gtc2xpZGVyLC5wcmVzZXQtZGV0YWlsLC5lbnYtcHJldmlldy1jb250cm9scywuZW52LXByZXZpZXctbGVue2p1c3RpZnktc2VsZjpzdGFydDt0ZXh0LWFsaWduOmxlZnR9LmVudi1wcmV2aWV3LWNvbnRyb2xze3dpZHRoOjEwMCV9LnF1ZXVlLWl0ZW17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjhweCBtaW5tYXgoMCwxZnIpIGF1dG87cm93LWdhcDo2cHh9LnF1ZXVlLWl0ZW0tc2VuZC1ub3csLnF1ZXVlLWl0ZW0tY2FuY2Vse2dyaWQtcm93OjJ9LnF1ZXVlLWl0ZW0tc2VuZC1ub3d7Z3JpZC1jb2x1bW46MjtqdXN0aWZ5LXNlbGY6c3RhcnR9LnF1ZXVlLWl0ZW0tY2FuY2Vse2dyaWQtY29sdW1uOjN9fUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpLChwb2ludGVyOmNvYXJzZSl7aHRtbC5pcy13YW5kLWFuZHJvaWQgLmZpbGUtZXhwbG9yZXItdXAsaHRtbC5pcy13YW5kLWFuZHJvaWQgLmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5kaWZmLW9wZW4tZmlsZSxodG1sLmlzLXdhbmQtYW5kcm9pZCAucXVldWUtaXRlbS1zZW5kLW5vdyxodG1sLmlzLXdhbmQtYW5kcm9pZCAucXVldWUtaXRlbS1jYW5jZWwsaHRtbC5pcy13YW5kLWFuZHJvaWQgLnF1ZXVlLWhlYWRlci1jbGVhcnttaW4td2lkdGg6NDRweDttaW4taGVpZ2h0OjQ0cHh9aHRtbC5pcy13YW5kLWFuZHJvaWQgLmZpbGUtZXhwbG9yZXItdXAsaHRtbC5pcy13YW5kLWFuZHJvaWQgLmZpbGUtc2lkZS1wYW5lbC1pY29uYnRue3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5kaWZmLW9wZW4tZmlsZXtoZWlnaHQ6NDRweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjEycHh9aHRtbC5pcy13YW5kLWFuZHJvaWQgLnF1ZXVlLWl0ZW17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjhweCBtaW5tYXgoMCwxZnIpIG1heC1jb250ZW50IG1heC1jb250ZW50IG1heC1jb250ZW50O3Jvdy1nYXA6MDttaW4taGVpZ2h0OjQ0cHg7cGFkZGluZzo2cHggOHB4O29wYWNpdHk6Ljg2fWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVtLWFnZXtncmlkLWNvbHVtbjozO2dyaWQtcm93OjF9aHRtbC5pcy13YW5kLWFuZHJvaWQgLnF1ZXVlLWl0ZW0tc2VuZC1ub3d7Z3JpZC1jb2x1bW46NDtncmlkLXJvdzoxO2hlaWdodDo0NHB4O3BhZGRpbmc6MCAxMnB4O2JvcmRlci1yYWRpdXM6MTJweDtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjF9aHRtbC5pcy13YW5kLWFuZHJvaWQgLnF1ZXVlLWl0ZW0tY2FuY2VsLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1oZWFkZXItY2xlYXJ7d2lkdGg6NDRweDtoZWlnaHQ6NDRweDtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjF9aHRtbC5pcy13YW5kLWFuZHJvaWQgLnF1ZXVlLWl0ZW0tY2FuY2Vse2dyaWQtY29sdW1uOjU7Z3JpZC1yb3c6MX1odG1sLmlzLXdhbmQtYW5kcm9pZCAuc3dpdGNoLWNhcmQtaGVhZGVye2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyfWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5zd2l0Y2gtc2xpZGVye2p1c3RpZnktc2VsZjplbmR9fUBrZXlmcmFtZXMgd2FuZC1zdXJmYWNlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpIHNjYWxlKC45ODUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19QGtleWZyYW1lcyB3YW5kLXN1cmZhY2Utb3V0ezAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KSBzY2FsZSguOTkpfX1Aa2V5ZnJhbWVzIHdhbmQtYmFja2Ryb3AtaW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lm1vZGFsLWJhY2tkcm9we2JhY2tncm91bmQ6IzE4MTQxMTg1O2JhY2tkcm9wLWZpbHRlcjpibHVyKDVweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cig1cHgpO2FuaW1hdGlvbjp3YW5kLWJhY2tkcm9wLWluIC4xNnMgZWFzZS1vdXQgYm90aH0ubW9kYWx7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoyMHB4O2JveC1zaGFkb3c6MCAyNHB4IDY0cHggIzJhMWYxNjMzLDAgNHB4IDE2cHggIzJhMWYxNjE0O2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YW5pbWF0aW9uOndhbmQtc3VyZmFjZS1pbiAuMThzIGVhc2Utb3V0IGJvdGh9Lm1vZGFsLWJhY2tkcm9wLmNsb3NpbmcgLm1vZGFse2FuaW1hdGlvbjp3YW5kLXN1cmZhY2Utb3V0IC4xM3MgZWFzZS1pbiBib3RofS5tb2RhbC1jbG9zZS1idG57d2lkdGg6NDRweDtoZWlnaHQ6NDRweDttaW4td2lkdGg6NDRweDttaW4taGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czoxMnB4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlLGJveC1zaGFkb3cgLjE1cyBlYXNlfS5tb2RhbC1jbG9zZS1idG46aG92ZXIsLm1vZGFsLWNsb3NlLWJ0bjphY3RpdmV7dHJhbnNmb3JtOm5vbmU7Ym94LXNoYWRvdzpub25lfShtYXgtd2lkdGg6IDc2MHB4KXsubW9kYWwtYmFja2Ryb3B7cGFkZGluZzp2YXIoLS13YW5kLXNhZmUtdG9wKSB2YXIoLS13YW5kLXNhZmUtcmlnaHQpIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pIHZhcigtLXdhbmQtc2FmZS1sZWZ0KTthbGlnbi1pdGVtczpzdHJldGNofX0ubm9uLXdhbmQtc2Vzc2lvbi1ncm91cHttYXJnaW46MTJweCA2cHggMnB4O3BhZGRpbmctdG9wOjZweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0ubm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjRweCBtaW5tYXgoMCwxZnIpIGF1dG8gMTRweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4taGVpZ2h0OjQ0cHg7cGFkZGluZzowIDhweDtib3JkZXItcmFkaXVzOjEwcHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2N1cnNvcjpwb2ludGVyO2xpc3Qtc3R5bGU6bm9uZTt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9Lm5vbi13YW5kLXNlc3Npb24tc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwubm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5OjptYXJrZXJ7ZGlzcGxheTpub25lO2NvbnRlbnQ6IiJ9Lm5vbi13YW5kLXNlc3Npb24tc3VtbWFyeTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctaG92ZXIsIHJnYmEoMTI1LCA5MSwgNTcsIC4wOCkpfS5ub24td2FuZC1zZXNzaW9uLXN1bW1hcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH0ubm9uLXdhbmQtc2Vzc2lvbi1ncm91cC5tYW5hZ2UtbW9kZT4ubm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5e2N1cnNvcjpkZWZhdWx0fS5ub24td2FuZC1zZXNzaW9uLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCl9Lm5vbi13YW5kLXNlc3Npb24tdGl0bGV7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMmVtO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5ub24td2FuZC1zZXNzaW9uLWNvdW50e21pbi13aWR0aDoyMnB4O3BhZGRpbmc6MnB4IDZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6OTk5cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztsaW5lLWhlaWdodDoxLjI7dGV4dC1hbGlnbjpjZW50ZXJ9Lm5vbi13YW5kLXNlc3Npb24tY2hldnJvbntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2V9Lm5vbi13YW5kLXNlc3Npb24tZ3JvdXBbb3Blbl0gLm5vbi13YW5kLXNlc3Npb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Lm5vbi13YW5kLXNlc3Npb24tbGlzdHttYXJnaW4tdG9wOjJweH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW0ubm9uLXdhbmQtc2Vzc2lvbnttYXJnaW46MXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lfS5ub24td2FuZC1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS5ub24td2FuZC1zZXNzaW9uOmhvdmVyLC5ub24td2FuZC1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS5ub24td2FuZC1zZXNzaW9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3ZlciwgcmdiYSgxMjUsIDkxLCA1NywgLjA4KSl9Lm5vbi13YW5kLXNlc3Npb24tbGlzdCAubm9uLXdhbmQtc2Vzc2lvbiAuc2Vzc2lvbi1pdGVtLWNvbnRlbnR7cGFkZGluZy10b3A6M3B4O3BhZGRpbmctYm90dG9tOjNweH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLWl0ZW0tcm93e21pbi1oZWlnaHQ6MzRweH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLW1haW57Z2FwOjJweH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLWNvbW1hbmR7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NTAwfS5ub24td2FuZC1zZXNzaW9uLWxpc3QgLm5vbi13YW5kLXNlc3Npb24gLnNlc3Npb24tbWV0YXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjY2cmVtfS5ub24td2FuZC1zZXNzaW9uLWxpc3QgLm5vbi13YW5kLXNlc3Npb24gLnNlc3Npb24taWR7ZGlzcGxheTpub25lfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLm5vbi13YW5kLWNvdW50LXRpbGV7cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Ym9yZGVyLXN0eWxlOmRhc2hlZDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLm5vbi13YW5kLWNvdW50LXRpbGU6aG92ZXIsLnNpZGViYXItY29sbGFwc2VkLXRpbGUubm9uLXdhbmQtY291bnQtdGlsZTpmb2N1cy12aXNpYmxle2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3ZlciwgcmdiYSgxMjUsIDkxLCA1NywgLjA4KSl9Lm5vbi13YW5kLWNvdW50LWJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3JpZ2h0Oi01cHg7bWluLXdpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7cGFkZGluZzowIDRweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWJnLXByaW1hcnksIHZhcigtLWJnLWVsZXZhdGVkKSk7Ym9yZGVyLXJhZGl1czo5OTlweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2ZvbnQtc2l6ZTouNTYyNXJlbTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEzcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmF1dG9tYXRpb24tc2Vzc2lvbi1ncm91cHttYXJnaW46MTJweCA2cHggMnB4O3BhZGRpbmctdG9wOjZweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0uYXV0b21hdGlvbi1zZXNzaW9uLXN1bW1hcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyNHB4IG1pbm1heCgwLDFmcikgYXV0byAxNHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21pbi1oZWlnaHQ6MzZweDtwYWRkaW5nOjRweCA2cHg7Ym9yZGVyLXJhZGl1czo5cHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2N1cnNvcjpwb2ludGVyO2xpc3Qtc3R5bGU6bm9uZTt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyLC5hdXRvbWF0aW9uLXNlc3Npb24tc3VtbWFyeTo6bWFya2Vye2Rpc3BsYXk6bm9uZTtjb250ZW50OiIifS5hdXRvbWF0aW9uLXNlc3Npb24tc3VtbWFyeTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6I2I4NWMzNzEyfS5hdXRvbWF0aW9uLXNlc3Npb24tc3VtbWFyeTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5hdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAubWFuYWdlLW1vZGU+LmF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5e2N1cnNvcjpkZWZhdWx0fS5hdXRvbWF0aW9uLXNlc3Npb24taWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNiODVjMzcxN30uYXV0b21hdGlvbi1zZXNzaW9uLXRpdGxle21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYXV0b21hdGlvbi1zZXNzaW9uLWNvdW50e21pbi13aWR0aDoyMnB4O3BhZGRpbmc6MnB4IDZweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTg0LDkyLDU1LC4xOCk7Ym9yZGVyLXJhZGl1czo5OTlweDtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2I4NWMzNzBmO2ZvbnQtc2l6ZTouNjZyZW07bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246Y2VudGVyfS5hdXRvbWF0aW9uLXNlc3Npb24tY2hldnJvbntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2V9LmF1dG9tYXRpb24tc2Vzc2lvbi1ncm91cFtvcGVuXSAuYXV0b21hdGlvbi1zZXNzaW9uLWNoZXZyb257dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdHttYXJnaW4tdG9wOjJweH0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbXttYXJnaW46MXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lfS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtOmhvdmVyLC5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojYjg1YzM3MGZ9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW0tY29udGVudHtwYWRkaW5nLXRvcDozcHg7cGFkZGluZy1ib3R0b206M3B4fS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtLXJvd3ttaW4taGVpZ2h0OjM0cHh9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLW1haW57Z2FwOjJweH0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24tY29tbWFuZHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo1MDB9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLW1ldGF7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42NnJlbX0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taWR7ZGlzcGxheTpub25lfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmF1dG9tYXRpb24tY291bnQtdGlsZXtwb3NpdGlvbjpyZWxhdGl2ZTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1zdHlsZTpkYXNoZWQ7YmFja2dyb3VuZDojYjg1YzM3MGQ7Ym94LXNoYWRvdzpub25lfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmF1dG9tYXRpb24tY291bnQtdGlsZTpob3Zlciwuc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hdXRvbWF0aW9uLWNvdW50LXRpbGU6Zm9jdXMtdmlzaWJsZXtjb2xvcjp2YXIoLS1hY2NlbnQtc3Ryb25nLCAjOWI0MzI5KTtiYWNrZ3JvdW5kOiNiODVjMzcxY30uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hdXRvbWF0aW9uLWNvdW50LXRpbGUuYWN0aXZlLWdyb3Vwe2JvcmRlci1zdHlsZTpzb2xpZDtib3gtc2hhZG93OjAgMCAwIDJweCAjYjg1YzM3MmV9LmF1dG9tYXRpb24tY291bnQtdGlsZSAubm9uLXdhbmQtY291bnQtYmFkZ2V7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2ZmZmZmZmI4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KX1AbWVkaWEobWF4LXdpZHRoOjc2MHB4KSwocG9pbnRlcjpjb2Fyc2Upey5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtLXJvdywubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLWl0ZW0tcm93e21pbi1oZWlnaHQ6NDRweH0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS1jb250ZW50LC5ub24td2FuZC1zZXNzaW9uLWxpc3QgLm5vbi13YW5kLXNlc3Npb24gLnNlc3Npb24taXRlbS1jb250ZW50e3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo0cHh9fUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmF1dG9tYXRpb24tc2Vzc2lvbi1jaGV2cm9uLC5ub24td2FuZC1zZXNzaW9uLWNoZXZyb257dHJhbnNpdGlvbjpub25lfX0uc2Vzc2lvbi1jb250ZXh0e21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjY1NjI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc2Vzc2lvbi1zdGF0dXN7dHJhbnNpdGlvbjpjb2xvciAuMTRzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xNHMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpfS50aXRsZS1nZW5lcmF0aW5ne2FuaW1hdGlvbjpub25lO29wYWNpdHk6LjcyO3RyYW5zZm9ybTpub25lfS5zZXNzaW9uLWl0ZW06Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWNjZW50KSAzOCUsdHJhbnNwYXJlbnQpO291dGxpbmU6bm9uZTtib3gtc2hhZG93OjAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpfS5zZXNzaW9uLWFjdGlvbi1idG57dHJhbnNpdGlvbjpjb2xvciAuMTRzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xNHMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpLHRyYW5zZm9ybSAuMTJzIGN1YmljLWJlemllciguMiwuOCwuMiwxKX1AbWVkaWEoaG92ZXI6aG92ZXIpYW5kIChwb2ludGVyOmZpbmUpey5zZXNzaW9uLWFjdGlvbi1idG46aG92ZXJ7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYShob3Zlcjpub25lKSwocG9pbnRlcjpjb2Fyc2Upey5zZXNzaW9uLWl0ZW06bm90KC5hY3RpdmUpOm5vdCguc2VsZWN0ZWQpOmhvdmVyLC5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtOmhvdmVyLC5ub24td2FuZC1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS5ub24td2FuZC1zZXNzaW9uOmhvdmVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6bm9uZX19LnNlc3Npb24tbWFpbntkaXNwbGF5OmdyaWQ7Z2FwOjZweDttaW4td2lkdGg6MH0uc2Vzc2lvbi10aXRsZS1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczo0NnB4IG1pbm1heCgwLDFmcik7YWxpZ24taXRlbXM6c3RhcnQ7Y29sdW1uLWdhcDo4cHh9LnNlc3Npb24tdGl0bGUtcm93IC5zZXNzaW9uLXRpdGxlLC5zZXNzaW9uLXRpdGxlLXJvdyAuc2Vzc2lvbi1jb21tYW5kLC5zZXNzaW9uLXRpdGxlLXJvdyAuY2xhdWRlLWhpc3RvcnktcHJldmlld3tkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjJ9LnNlc3Npb24tbGVhZGluZy1zbG90e2Rpc3BsYXk6aW5saW5lLWZsZXg7d2lkdGg6NDZweDttaW4td2lkdGg6NDZweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2Vzc2lvbi1wcm92aWRlci1tYXJre2Rpc3BsYXk6aW5saW5lLWZsZXg7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NzAwfS5zZXNzaW9uLXByb3ZpZGVyLW1hcmsucHJvdmlkZXItY29kZXh7Y29sb3I6dmFyKC0taW5mbyl9LnNlc3Npb24tbWV0YXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQ2cHggYXV0byBtaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo3cHg7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS5zZXNzaW9uLW1ldGEgLnNlc3Npb24tdGltZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNlc3Npb24tbWV0YSAuc2Vzc2lvbi1zdGF0dXN7d2lkdGg6NnB4O21pbi13aWR0aDo2cHg7aGVpZ2h0OjZweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzowO2NvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCl9LnNlc3Npb24tbWV0YSAuc2Vzc2lvbi1zdGF0dXMucnVubmluZ3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpfS5zZXNzaW9uLW1ldGEgLnNlc3Npb24tc3RhdHVzLnBlcm1pc3Npb24tYmxvY2tlZHtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmcpfS5zZXNzaW9uLW1ldGEgLnNlc3Npb24tc3RhdHVzLmZhaWxlZHtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcil9LnNlc3Npb24tY29udGV4dC1yZWNvdmVyYWJsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpub3dyYXB9LnNlc3Npb24tcGF0aHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7bWF4LXdpZHRoOm5vbmU7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjYyNXJlbX0uc2Vzc2lvbi1pdGVte2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYmctZWxldmF0ZWQpIDc2JSx0cmFuc3BhcmVudCk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHdoaXRlIDYyJSx2YXIoLS1ib3JkZXItc3VidGxlKSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCkgc2F0dXJhdGUoMTIwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KSBzYXR1cmF0ZSgxMjAlKTtib3gtc2hhZG93OjAgMXB4IDFweCAjNDkzMzIzMGF9QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnNlc3Npb24tdGl0bGUtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczo0MnB4IG1pbm1heCgwLDFmcil9LnNlc3Npb24tbGVhZGluZy1zbG90e3dpZHRoOjQycHg7bWluLXdpZHRoOjQycHh9LnNlc3Npb24tbWV0YXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDJweCBhdXRvIG1pbm1heCgwLDFmcil9LnNlc3Npb24tcHJvdmlkZXItbWFya3t3aWR0aDoyNnB4O2hlaWdodDoyNnB4fX0ubWFpbi1oZWFkZXItcm93e2JhY2tncm91bmQ6I2ZmZmRmOWJkO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDEzNSUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTM1JSl9LnNpZGViYXJ7YmFja2dyb3VuZDojZmZmZGY5ZTA7Ym9yZGVyLXJpZ2h0LWNvbG9yOnZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDEzNSUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMTM1JSk7Ym94LXNoYWRvdzo0cHggMCAyMHB4IC0xMnB4ICM1OTNhMjAyOX0uc2lkZWJhci5vcGVue2JveC1zaGFkb3c6OHB4IDAgMjhweCAtMTRweCAjNTkzYTIwMzh9LnNpZGViYXIucGlubmVke2JveC1zaGFkb3c6MnB4IDAgMTJweCAtMTBweCAjNTkzYTIwMWZ9LnNlc3Npb24taXRlbXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JveC1zaGFkb3c6bm9uZX0uc2Vzc2lvbi1pdGVtOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTBlfS5zZXNzaW9uLWl0ZW0uYWN0aXZle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6bm9uZX0uc2Vzc2lvbi1pdGVtLnN0YXR1cy1wcm9taW5lbnR7LS1zZXNzaW9uLXByb21pbmVudC1jb2xvcjogdmFyKC0tc3VjY2Vzcyl9LnNlc3Npb24taXRlbS5zdGF0dXMtcHJvbWluZW50LXdhcm5pbmd7LS1zZXNzaW9uLXByb21pbmVudC1jb2xvcjogdmFyKC0td2FybmluZyl9LnNlc3Npb24taXRlbS5zdGF0dXMtcHJvbWluZW50IC5zZXNzaW9uLW1ldGEgLnNlc3Npb24tc3RhdHVze3dpZHRoOmF1dG87bWluLXdpZHRoOjA7aGVpZ2h0OmF1dG87b3ZlcmZsb3c6dmlzaWJsZTtnYXA6NHB4O3BhZGRpbmc6MDtjb2xvcjp2YXIoLS1zZXNzaW9uLXByb21pbmVudC1jb2xvcik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aGl0ZS1zcGFjZTpub3dyYXB9LnNlc3Npb24taXRlbS5zdGF0dXMtcHJvbWluZW50IC5zZXNzaW9uLW1ldGEgLnNlc3Npb24tc3RhdHVzOmJlZm9yZXtjb250ZW50OiIiO3dpZHRoOjVweDtoZWlnaHQ6NXB4O2ZsZXg6MCAwIDVweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcn0uc2Vzc2lvbi1pdGVtLmFjdGl2ZTpiZWZvcmV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZVkoMSl9LnNlc3Npb24taXRlbS5zZWxlY3RlZCwuc2Vzc2lvbi1pdGVtLnNlc3Npb24tbWFuYWdpbmcuYWN0aXZle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5zZXNzaW9uLWl0ZW0uc2VsZWN0ZWQ6YmVmb3JlLC5zZXNzaW9uLWl0ZW0uc2Vzc2lvbi1tYW5hZ2luZzpiZWZvcmV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVkoMCl9LnNlc3Npb24tbWFuYWdlLWNoZWNrIHNwYW57Ym9yZGVyLXJhZGl1czo1MCU7Ym94LXNoYWRvdzpub25lfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dDpjaGVja2VkK3NwYW57Ym94LXNoYWRvdzpub25lfS5pbnB1dC1jb21wb3NlcntiYWNrZ3JvdW5kOiNmZmZkZjljYztiYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxMzUlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDEzNSUpO2JveC1zaGFkb3c6MCAzcHggMTJweCAjNTkzYTIwMGJ9LmlucHV0LWNvbXBvc2VyOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kOiNmZmZkZjlmMDtib3gtc2hhZG93OjAgMCAwIDJweCB2YXIoLS1hY2NlbnQtbXV0ZWQpLDAgNHB4IDE0cHggIzU5M2EyMDBifS5tb2RhbHtiYWNrZ3JvdW5kOiNmZmZkZjllYjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xMik7Ym9yZGVyLXJhZGl1czoyMHB4O2JhY2tkcm9wLWZpbHRlcjpibHVyKDI0cHgpIHNhdHVyYXRlKDE0MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjRweCkgc2F0dXJhdGUoMTQwJSk7Ym94LXNoYWRvdzowIDE4cHggNTJweCAtMjRweCAjMTQwZTA4NDd9Lm1vZGFsLWJhY2tkcm9we2JhY2tncm91bmQ6IzE0MGUwODQ3O2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpfS50b29sLXVzZS1jYXJkLC5pbmxpbmUtZGlmZntiYWNrZ3JvdW5kOiNmZmZkZjllNjtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym94LXNoYWRvdzpub25lfS50b29sLXVzZS1jYXJkOmhvdmVyLC5pbmxpbmUtZGlmZjpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTMzO2JveC1zaGFkb3c6bm9uZTt0cmFuc2Zvcm06bm9uZX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLXRyYW5zcGFyZW5jeTpyZWR1Y2UpLChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey5tYWluLWhlYWRlci1yb3csLnNpZGViYXIsLmlucHV0LWNvbXBvc2VyLC5tb2RhbHtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfX0K"),
|
|
10
10
|
vendor: {
|
|
11
11
|
"/vendor/wterm/wterm.bundle.js": {
|
|
12
12
|
content: decode("InVzZSBzdHJpY3QiO3ZhciBXVGVybUxpYj0oKCk9Pnt2YXIgZj1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIEY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgeD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczt2YXIgcD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciB2PShyLEEpPT57Zm9yKHZhciB0IGluIEEpZihyLHQse2dldDpBW3RdLGVudW1lcmFibGU6ITB9KX0sbT0ocixBLHQsZSk9PntpZihBJiZ0eXBlb2YgQT09Im9iamVjdCJ8fHR5cGVvZiBBPT0iZnVuY3Rpb24iKWZvcihsZXQgcyBvZiB4KEEpKSFwLmNhbGwocixzKSYmcyE9PXQmJmYocixzLHtnZXQ6KCk9PkFbc10sZW51bWVyYWJsZTohKGU9RihBLHMpKXx8ZS5lbnVtZXJhYmxlfSk7cmV0dXJuIHJ9O3ZhciBrPXI9Pm0oZih7fSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscik7dmFyIE89e307dihPLHtJbnB1dEhhbmRsZXI6KCk9PmwsUmVuZGVyZXI6KCk9PmMsV1Rlcm06KCk9PmIsV2FzbUJyaWRnZTooKT0+YSxXZWJTb2NrZXRUcmFuc3BvcnQ6KCk9PmR9KTt2YXIgRz0iQUdGemJRRUFBQUFCS1FoZ0FBRi9ZQUFBWUFGL0FYOWdBWDhBWUFKL2Z3QmdBMzkvZndCZ0FuOS9BWDlnQTM5L2Z3Ri9BeW9wQUFBQkFBQUNBZ0lBQUFBQUFBQUFBQUFBQUFBQkFBQURCQUVCQVFVRkJBRUZBd1VGQmdjQUJBUUVCUUZ3QVFFQkJRTUJBRmdHQ1FGL0FVR0FnTUFBQ3dlakF4c0diV1Z0YjNKNUFnQUtaMlYwVFdGNFEyOXNjd0FBQzJkbGRFTmxiR3hUYVhwbEFBRU5ZMnhsWVhKU1pYTndiMjV6WlFBQ0RtZGxkRkpsYzNCdmJuTmxUR1Z1QUFNT1oyVjBVbVZ6Y0c5dWMyVlFkSElBQkJSblpYUlRZM0p2Ykd4aVlXTnJUR2x1WlV4bGJnQUZFV2RsZEZOamNtOXNiR0poWTJ0TWFXNWxBQWNTWjJWMFUyTnliMnhzWW1GamEwTnZkVzUwQUFnUFoyVjBWR2wwYkdWRGFHRnVaMlZrQUFrTFoyVjBWR2wwYkdWTVpXNEFDZ3RuWlhSVWFYUnNaVkIwY2dBTEVXZGxkRlZ6YVc1blFXeDBVMk55WldWdUFBd1JaMlYwUW5KaFkydGxkR1ZrVUdGemRHVUFEUkJuWlhSRGRYSnpiM0pMWlhselFYQndBQTRIWjJWMFVtOTNjd0FQQjJkbGRFTnZiSE1BRUJCblpYUkRkWEp6YjNKV2FYTnBZbXhsQUJFTVoyVjBRM1Z5YzI5eVEyOXNBQklNWjJWMFEzVnljMjl5VW05M0FCTUtZMnhsWVhKRWFYSjBlUUFVQzJkbGRFUnBjblI1VUhSeUFCVUtaMlYwUjNKcFpGQjBjZ0FXQ25keWFYUmxRbmwwWlhNQUZ3NW5aWFJYY21sMFpVSjFabVpsY2dBbURuSmxjMmw2WlZSbGNtMXBibUZzQUNjRWFXNXBkQUFvQ29kWEtRVUFRWUFDQ3dRQVFRd0xEUUJCQUVFQU9nREdpZkNBQUFzTEFFRUFMUURHaWZDQUFBc0lBRUdHaWZDQUFBc2FBQUpBSUFBUWhvQ0FnQUFpQUEwQVFRQVBDeUFBTHdHQUdBdGNBUUovUVFBaEFRSkFJQUJCQUNnQzZJS3NnZ0FpQWs4TkFBSkFBa0FnQWtIb0IwOE5BQ0FDSUFCQmYzTnFJUUFNQVF0QkFDZ0M3SUtzZ2dBZ0FHdEI1d2RxUWVnSGNDRUFDeUFBUVlRWWJFSElvL0NBQUdvaEFRc2dBUXNWQUNBQUVJYUFnSUFBSWdCQnlJdndnQUFnQUJzTEN3QkJBQ2dDNklLc2dnQUxLQUVCZjBFQUlRQUNRRUVBTFFDRmlmQ0FBRVVOQUVFQVFRQTZBSVdKOElBQVFRRWhBQXNnQUFzTEFFRUFMd0hlaHZDQUFBc0lBRUdFaC9DQUFBc0xBRUVBTFFDRGgvQ0FBQXNMQUVFQUxRRDdodkNBQUFzTEFFRUFMUUQ2aHZDQUFBc0xBRUVBTHdIMGh2Q0FBQXNMQUVFQUx3SDRodkNBQUFzTEFFRUFMUUNFaWZDQUFBc0xBRUVBTHdIY2h2Q0FBQXNMQUVFQUx3SGFodkNBQUFzM0FRSi9RUUF2QVpxQThJQUFJUUJCQUNFQkFrQURRQ0FBSUFGR0RRRWdBVUdjZ1BDQUFHcEJBRG9BQUNBQlFRRnFJUUVNQUFzTEN3Z0FRWnlBOElBQUN3Z0FRWmlBd0lBQUM5QTNBd1YvQVg0RmZ5T0FnSUNBQUVIQUFHc2lBU1NBZ0lDQUFDQUFRWURBQUNBQVFZREFBRWtiSVFKQm5JTHdnQUJCQW1vaEEwRUFJUUFEUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBQ0FDUmcwQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FBTFFEd2dxeUNBQ0lFUVdocURnUUNBUUlBQVF0QkFDMEF3b0x3Z0FBaEJFRUFRUUk2QU1LQzhJQUFJQVJCQjNGQkIwWU5BMEVBUVFBN0FjaUM4SUFBREIwTEFrQUNRQUpBQWtBQ1FBSkFRUUF0QU1LQzhJQUFRUWR4RGdnTEFBRUNBd1FGQndzTElBVEFRYjkvU2cwSlFRQXRBTStHOElBQVFRQXRBTTZHOElBQWEwRUhjVUhLaHZDQUFHb2dCRG9BQUVFQVFRQXRBTTZHOElBQVFYOXFRUWR4SWdRNkFNNkc4SUFBSUFRTklVSDkvd01oQkFKQUFrQUNRQUpBUVFBdEFNK0c4SUFBUVFkeFFYNXFEZ01BQVFJREMwRUFMUURLaHZDQUFFRWZjVUVHZEVFQUxRRExodkNBQUVFL2NYSWhCQXdDQzBFQUxRRExodkNBQUVFL2NVRUdkRUVBTFFES2h2Q0FBRUVQY1VFTWRISkJBQzBBeklid2dBQkJQM0Z5SVFRTUFRdEJBQzBBeTRid2dBQkJQM0ZCREhSQkFDMEF5b2J3Z0FCQkVuUnlRUUF0QU15RzhJQUFRVDl4UVFaMGNrRUFMUUROaHZDQUFFRS9jWEloQkF0QkFDQUVPd0djZ3ZDQUFDQURJQVJCZ0lEOEFIRkJFSFk2QUFCQkFFRUFPZ0RDZ3ZDQUFBd0xDd0pBQWtBQ1FDQUVRYVYvYWc0REFBSUJBZ3RCQUVFRU9nRENndkNBQUVFQVFRQTdBY2lDOElBQVFRQkJBRG9BeFlMd2dBQkJBRUVBT2dERWd2Q0FBRUdJZ2pBaEJBTkFJQVJCcUlJd1JnMGpJQVJCbUlEQWdBQnFRUUE3QVFBZ0JFRUNhaUVFREFBTEMwRUFRUWM2QU1LQzhJQUFRUUJCQURzQndJTHdnQUFNSVFzQ1FDQUVRZkFCY1VFZ1J3MEFBa0JCQUMwQXlJTHdnQUFpQlVFQlN3MEFJQVVnQkRvQXhvTHdnQUJCQUVFQUxRRElndkNBQUVFQmFqb0F5SUx3Z0FBTFFRQkJBem9Bd29Md2dBQU1JUXNnQkVGUWFrSC9BWEZCendCSkRROGdCRUVnU1EwWkRBUUxBa0FnQkVId0FYRkJJRWNOQUVFQUxRRElndkNBQUNJRlFRRkxEU0FnQlNBRU9nREdndkNBQUVFQVFRQXRBTWlDOElBQVFRRnFPZ0RJZ3ZDQUFBd2dDeUFFUVZCcVFmOEJjVUhQQUVrTkRpQUVRU0JKRFJnTUF3c0NRQUpBQWtBQ1FBSkFBa0FnQkVGUWFrSC9BWEVpQlVFSlN3MEFRUUF0QU1XQzhJQUFEU1JCQUMwQXhJTHdnQUFpQkEwQlFRQWhCRUVBUVFFNkFNU0M4SUFBREFJTElBUkJSV29PQlFJRUJDSWlBd3NnQkVGL2FrSC9BWEVoQkFzZ0JFRUJkQ0lFUVg4Z0JDOEJvSUx3Z0FCQkVIU3RRZ3ArSWdhbklBWkNJSWluRzBFUWRpQUZhaUlFUWYvL0F5QUVRZi8vQTBrYk93R2dndkNBQUF3aEMwRUFMUURFZ3ZDQUFDSUVRUTlMRFNCQkFDQUVRUUVnQkVFQlN4dEJBV282QU1TQzhJQUFEQ0FMSUFSQklVWU5IZ3NDUUNBRVFmQUJjVUVnUncwQUFrQkJBQzBBeUlMd2dBQWlCVUVCU3cwQUlBVWdCRG9BeG9Md2dBQkJBRUVBTFFESWd2Q0FBRUVCYWpvQXlJTHdnQUFMUVFCQkJUb0F3b0x3Z0FBTUh3c2dCRUZBYWtIL0FYRkJQMGtOQ1NBRVFTQkpEUmNNSEFzQ1FDQUVRZkFCY1VFZ1J3MEFRUUF0QU1pQzhJQUFJZ1ZCQVVzTkhpQUZJQVE2QU1hQzhJQUFRUUJCQUMwQXlJTHdnQUJCQVdvNkFNaUM4SUFBREI0TElBUkJRR3BCL3dGeFFUOUpEUWdnQkVFZ1R3MGJEQllMSUFSQlFHcEIvd0Z4UVQ1TERSd0xRUUJCQURvQXdvTHdnQUFNR3dzZ0JFRUhSdzBCUVFCQkFEb0F3b0x3Z0FBTFFRQXZBY0NDOElBQUlnUkJBa2tOR1VFQUxRREtndkNBQUVGUWFnNERCeGtIR1FzZ0JFRmdha0gvQVhGQjNnQkxEUmhCQUM4QndJTHdnQUFpQlVIL0Ewc05HQ0FGSUFRNkFNcUM4SUFBUVFBZ0JVRUJhanNCd0lMd2dBQU1HQXRCQUVFQU9nRENndkNBQUFzZ0JFRWdTUTBQQWtBZ0JFSC9BRWtOQUFKQUlBUkIvd0JIRFFCQkFFSC9BRG9BdzRMd2dBQU1FZ3NDUUNBRVFlQUJjVUhBQVVjTkFFRUFRUUk2QU0rRzhJQUFRUUFnQkRvQXlvYndnQUJCQUVFQk9nRE9odkNBQUVFQVFRRTZBTUtDOElBQURCZ0xBa0FnQkVId0FYRkI0QUZIRFFCQkFFRURPZ0RQaHZDQUFFRUFJQVE2QU1xRzhJQUFRUUJCQWpvQXpvYndnQUJCQUVFQk9nRENndkNBQUF3WUN5QUVRZmdCY1VId0FVY05GMEVBUVFRNkFNK0c4SUFBUVFBZ0JEb0F5b2J3Z0FCQkFFRURPZ0RPaHZDQUFFRUFRUUU2QU1LQzhJQUFEQmNMUVFBZ0JEc0JuSUx3Z0FBZ0EwRUFPZ0FBQzBFQUtBS2NndkNBQUNFRVFRQXRBSUdIOElBQURRRU1EUXRCQUNBRU9nRERndkNBQUVFQVFRQTZBTUtDOElBQVFRQXRBTW1DOElBQUlnVkJQMGNOQkVFQklRY0NRQUpBSUFSQm1IOXFEZ1VCRmhZV0FCWUxRUUFoQnd0QkFDRUVRUUF0QU1TQzhJQUFJZ1ZCQVNBRlFRRkxHMEVCZENFSUEwQWdDQ0FFUmcwVkFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FFUWFDQzhJQUFhaThCQUNJRlFYOXFEZ2NCQ2dvS0NnSURBQXNDUUNBRlFlbDNhZzREQmdrSEFBc2dCVUVVUmcwRElBVkJHVVlOQkNBRlFTOUdEUVVnQlVIVUQwWU5Cd3dKQzBFQUlBYzZBUHFHOElBQURBZ0xRUUFnQnpvQS9ZYndnQUFNQnd0QkFDQUhPZ0QraHZDQUFBd0dDMEVBSUFjNkFQeUc4SUFBREFVTFFRQWdCem9BaElud2dBQU1CQXNnQjBFQUVKaUFnSUFBREFNTElBZEJBUkNZZ0lDQUFBd0NDMEVBSUFjNkFQdUc4SUFBREFFTEFrQWdCdzBBRUptQWdJQUFEQUVMRUpxQWdJQUFDeUFFUVFKcUlRUU1BQXNMUVFCQkFEc0IzSWJ3Z0FBUW00Q0FnQUJCQUVFQU9nQ0JoL0NBQUF3TEN5QUJRY0FBYWlTQWdJQ0FBQThMUVFBdEFNdUM4SUFBUVR0SERSRWdCRUYrYWlJRVFZQUNJQVJCZ0FKSkd5RUZRUUFoQkFKQUEwQWdCU0FFUmcwQklBUkJoSWZ3Z0FCcUlBUkJ6SUx3Z0FCcUxRQUFPZ0FBSUFSQkFXb2hCQXdBQ3d0QkFFRUJPZ0NGaWZDQUFFRUFJQVU3QWQ2RzhJQUFEQkVMUVFBZ0JEb0F3NEx3Z0FCQkFFRUFPZ0RDZ3ZDQUFBSkFBa0FDUUFKQUFrQUNRQUpBUVFBdEFNaUM4SUFBUlEwQVFRQXRBTWFDOElBQVFmOEJjVUVqUncwQUFrQWdCRUc4ZjJvT0NnTUNHQmdIR0JnWUdBUUFDd0pBSUFSQlNXb09BZ29BQlF0QkFDRUZBa0FEUUNBRlFmLy9BM0ZCQUM4QjlJYndnQUJQRFFGQkFDRUVBa0FEUUNBRVFmLy9BM0ZCQUM4QitJYndnQUJQRFFFZ0JTQUVRWXlBd0lBQUVKeUFnSUFBSUFSQkFXb2hCQXdBQ3dzZ0JVRUJhaUVGREFBTEMwRUFRUUEyQWRxRzhJQUFEQmNMQWtBZ0JFRzhmMm9PQ2dJQkZ4Y0dGeGNYRndNQUN3SkFJQVJCU1dvT0Fna0lBQXNnQkVIakFFWU5CQXdXQzBFQVFRQTZBSUdIOElBQVFRQkJBRHNCM0lid2dBQUxFSnVBZ0lBQURCUUxBa0JCQUM4QjJvYndnQUFpQkVFQUx3SHlodkNBQUVjTkFDQUVRUUF2QWRpRzhJQUFRUUVRbllDQWdBQU1GQXNnQkVVTkUwRUFJQVJCZjJvN0FkcUc4SUFBREJNTElBUkI0d0JIRFJJTFFRQXZBZmlHOElBQVFRQXZBZlNHOElBQUVKNkFnSUFBREJFTFFRQXZBZHlHOElBQUlnUkIvd0ZMRFJBZ0JFRUJPZ0RIaWZDQUFBd1FDd0pBSUFSQjhBQkhEUUFnQlVFaFJ3MEFRUUJCQVRvQS9vYndnQUJCQUVFQk9nQ0VpZkNBQUVFQVFZQ0NnQWcyQXV5RzhJQUFRUUJCQUM4QjlJYndnQUE3QWRpRzhJQUFRUUJCQURvQS9ZYndnQUJCQUVFQU9nRDdodkNBQUVFQVFRQTZBUHFHOElBQVFRQkJBRHNCOG9id2dBQkJBRUVBT2dEL2h2Q0FBQXdRQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCRUZBYWc0MkdBQUJBZ01FQlFZV0l3Y0lDUW9qSXdzakl3d05JeU1qRGlNakl5TWpJeU1YRHlNakVCRVdFaU1qSXlNakV4b2pJeU1aRlNNVUl3dEJBRUVBUVFBdkFkcUc4SUFBSWdSQkFDOEJvSUx3Z0FBaUJVRUJJQVZCQVVzYlFRRkJBQzBBeElMd2dBQWJheUlGSUFVZ0JFc2JPd0hhaHZDQUFFRUFRUUE2QUlHSDhJQUFEQ0lMUVFCQkFDOEIyb2J3Z0FCQkFDOEJvSUx3Z0FBaUJFRUJJQVJCQVVzYlFRRkJBQzBBeElMd2dBQWJha0gvL3dOeElnUkJBQzhCOUlid2dBQkJmMnBCLy84RGNTSUZJQVFnQlVrYk93SGFodkNBQUVFQVFRQTZBSUdIOElBQURDRUxRUUJCQUM4QjNJYndnQUJCQUM4Qm9JTHdnQUFpQkVFQklBUkJBVXNiUVFGQkFDMEF4SUx3Z0FBYmFrSC8vd054SWdSQkFDOEIrSWJ3Z0FCQmYycEIvLzhEY1NJRklBUWdCVWtiT3dIY2h2Q0FBRUVBUVFBNkFJR0g4SUFBRENBTFFRQkJBRUVBTHdIY2h2Q0FBQ0lFUVFBdkFhQ0M4SUFBSWdWQkFTQUZRUUZMRzBFQlFRQXRBTVNDOElBQUcyc2lCU0FGSUFSTEd6c0IzSWJ3Z0FCQkFFRUFPZ0NCaC9DQUFBd2ZDMEVBUVFBdkFkcUc4SUFBUVFBdkFhQ0M4SUFBSWdSQkFTQUVRUUZMRzBFQlFRQXRBTVNDOElBQUcycEIvLzhEY1NJRVFRQXZBZlNHOElBQVFYOXFRZi8vQTNFaUJTQUVJQVZKR3pzQjJvYndnQUJCQUVFQU9nQ0JoL0NBQUVFQVFRQTdBZHlHOElBQURCNExRUUJCQUVFQUx3SGFodkNBQUNJRVFRQXZBYUNDOElBQUlnVkJBU0FGUVFGTEcwRUJRUUF0QU1TQzhJQUFHMnNpQlNBRklBUkxHenNCMm9id2dBQkJBRUVBT2dDQmgvQ0FBRUVBUVFBN0FkeUc4SUFBREIwTFFRQkJBRUVBTHdHZ2d2Q0FBQ0lFUVg5cUlnVWdCU0FFU3h0QkFFRUFMUURFZ3ZDQUFCc2lCRUVBTHdINGh2Q0FBQ0lGUVg5cUlBUWdCVWtiT3dIY2h2Q0FBRUVBUVFBNkFJR0g4SUFBREJ3TEFrQUNRQUpBUVFBdEFNU0M4SUFBUlEwQUFrQkJBQzhCb0lMd2dBQU9CQUVDQUFNZkN4Q2ZnSUNBQUF3ZUMwRUFMd0hhaHZDQUFFRUFMd0hjaHZDQUFFRUFMd0g0aHZDQUFCQ2dnSUNBQUVFQUx3SGFodkNBQUNFRUEwQWdCRUVCYWlJRVFmLy9BM0ZCQUM4QjlJYndnQUJQRFI0Z0JCQ2hnSUNBQUF3QUN3dEJBQ0VFQWtBRFFDQUVRZi8vQTNGQkFDOEIyb2J3Z0FBaUJVOE5BU0FFRUtHQWdJQUFJQVJCQVdvaEJBd0FDd3NnQlVFQVFRQXZBZHlHOElBQVFRRnFFS0NBZ0lBQURCd0xFSitBZ0lBQVFRQW9BdENHOElBQUlnUkZEUnNnQkVJQU53S2czN3NCREJzTEFrQUNRQUpBUVFBdEFNU0M4SUFBUlEwQVFRQXZBYUNDOElBQURnTUFBUUlkQzBFQUx3SGFodkNBQUVFQUx3SGNodkNBQUVFQUx3SDRodkNBQUJDZ2dJQ0FBQXdjQzBFQUx3SGFodkNBQUVFQVFRQXZBZHlHOElBQVFRRnFFS0NBZ0lBQURCc0xRUUF2QWRxRzhJQUFFS0dBZ0lBQURCb0xRUUF2QWRxRzhJQUFJZ1JCQUM4QjhvYndnQUJKRFJrZ0JFRUFMd0hZaHZDQUFDSUZUdzBaSUFRZ0JVRUFMd0dnZ3ZDQUFDSUlRUUVnQ0VFQlN4dEJBVUVBTFFERWd2Q0FBQnNRbllDQWdBQU1HUXRCQUM4QjJvYndnQUFpQkVFQUx3SHlodkNBQUVrTkdDQUVRUUF2QWRpRzhJQUFJZ1ZQRFJnZ0JDQUZRUUF2QWFDQzhJQUFJZ2hCQVNBSVFRRkxHMEVCUVFBdEFNU0M4SUFBR3hDaWdJQ0FBQXdZQzBFQUx3SGNodkNBQUNJRVFReHNJZ2RCbUlEQWdBQnFJUVZCQUM4Qm9JTHdnQUFpQ0VFQklBaEJBVXNiUVFGQkFDMEF4SUx3Z0FBYklnbEJER3hCbUlEQWdBQnFJUW9DUUFOQUlBa2dCR3BCQUM4QitJYndnQUFpQ0U4TkFTQUhRUUF2QWRxRzhJQUFRWUFZYkdvaUNFR1lnTUNBQUdvZ0NpQUlhaUlMS1FJQU53SUFJQWhCb0lEQWdBQnFJQXRCQ0dvb0FnQTJBZ0FnQlVFTWFpRUZJQWRCREdvaEJ5QUVRUUZxSVFRTUFBc0xBa0FEUUVFQUx3SGFodkNBQUNFSElBUWdDRUgvL3dOeFR3MEJJQVVnQjBHQUdHeHFJZ2hCQUNrQ2dJREFnQUEzQWdBZ0NFRUlha0VBS0FLSWdNQ0FBRFlDQUNBRlFReHFJUVVnQkVFQmFpRUVRUUF2QWZpRzhJQUFJUWdNQUFzTElBZEJBVG9BbklEd2dBQU1Gd3RCQUM4Qm9JTHdnQUFpQkVFQklBUkJBVXNiUVFGQkFDMEF4SUx3Z0FBYklRZEJBQzhCOG9id2dBQWhCUUpBUVFBdEFJT0g4SUFBRFFBZ0JVSC8vd054RFFCQkFDRUZRUUFvQXRDRzhJQUFJZ3RGRFFCQkFDRUZRUUFoQkFOQUlBUkIvLzhEY1NJSUlBZFBEUUVnQ0VFQUx3SFlodkNBQUNBRmEwSC8vd054VHcwQklBc2dCQ0FGYWtILy93TnhRWUFZYkVHWWdNQ0FBR3BCQUM4QitJYndnQUFRbzRDQWdBQWdCRUVCYWlFRVFRQXZBZktHOElBQUlRVU1BQXNMSUFWQkFDOEIySWJ3Z0FBZ0J4Q2lnSUNBQUF3V0MwRUFMd0h5aHZDQUFFRUFMd0hZaHZDQUFFRUFMd0dnZ3ZDQUFDSUVRUUVnQkVFQlN4dEJBVUVBTFFERWd2Q0FBQnNRbllDQWdBQU1GUXRCQUM4QjJvYndnQUJCQUM4QjNJYndnQUFpQkNBRVFRQXZBYUNDOElBQUlnVkJBU0FGUVFGTEcwRUJRUUF0QU1TQzhJQUFHMnBCLy84RGNTSUVRUUF2QWZpRzhJQUFJZ1VnQkNBRlNSc1FvSUNBZ0FBTUZBdEJBRUVBTHdIY2h2Q0FBRUVBTHdHZ2d2Q0FBQ0lFUVFFZ0JFRUJTeHRCQVVFQUxRREVndkNBQUJ0cVFmLy9BM0VpQkVFQUx3SDRodkNBQUVGL2FrSC8vd054SWdVZ0JDQUZTUnM3QWR5RzhJQUFRUUJCQURvQWdZZndnQUFNRXd0QkFFRUFRUUF2QWFDQzhJQUFJZ1JCZjJvaUJTQUZJQVJMRzBFQVFRQXRBTVNDOElBQUd5SUVRUUF2QWZTRzhJQUFJZ1ZCZjJvZ0JDQUZTUnM3QWRxRzhJQUFRUUJCQURvQWdZZndnQUFNRWd0QkFFRUFMd0hhaHZDQUFFRUFMd0dnZ3ZDQUFDSUVRUUVnQkVFQlN4dEJBVUVBTFFERWd2Q0FBQnRxUWYvL0EzRWlCRUVBTHdIMGh2Q0FBRUYvYWtILy93TnhJZ1VnQkNBRlNSczdBZHFHOElBQVFRQkJBRG9BZ1lmd2dBQU1FUXNDUUFKQVFRQXRBTVNDOElBQVJRMEFRUUF2QWFDQzhJQUFEZ1FBRWhJQkVndEJBQzhCM0lid2dBQWlCRUgvQVVzTkVTQUVRUUE2QU1lSjhJQUFEQkVMUWErSk1DRUVBMEFnQkVHdml6QkdEUkVnQkVHWWdNQ0FBR3BCQURvQUFDQUVRUUZxSVFRTUFBc0xRUUFoQkFKQVFRQXRBTVNDOElBQUlnVU5BRUVBUVlDQ2dBZzJBdXlHOElBQVFRQkJBRG9BLzRid2dBQU1FQXNEUUNBRVFmOEJjU0lJSUFWQi93RnhUdzBRQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQ0VFQmRDOEJvSUx3Z0FBaUJRNHlBQUVDQXdRRkZBWUhDQlFVRkJRVUZCUVVGQlFVRkFrS0N3d1VEUTRQRkJRVUZCUVVGQlFRRVJRVUZCUVVGQlFVRWhNVUMwRUFRWUNDZ0FnMkF1eUc4SUFBUVFCQkFEb0EvNGJ3Z0FBTUZBdEJBRUVBTFFEL2h2Q0FBRUVCY2pvQS80YndnQUFNRXd0QkFFRUFMUUQvaHZDQUFFRUNjam9BLzRid2dBQU1FZ3RCQUVFQUxRRC9odkNBQUVFRWNqb0EvNGJ3Z0FBTUVRdEJBRUVBTFFEL2h2Q0FBRUVJY2pvQS80YndnQUFNRUF0QkFFRUFMUUQvaHZDQUFFRVFjam9BLzRid2dBQU1Ed3RCQUVFQUxRRC9odkNBQUVFZ2Nqb0EvNGJ3Z0FBTURndEJBRUVBTFFEL2h2Q0FBRUhBQUhJNkFQK0c4SUFBREEwTFFRQkJBQzBBLzRid2dBQkJnQUZ5T2dEL2h2Q0FBQXdNQzBFQVFRQXRBUCtHOElBQVFmd0JjVG9BLzRid2dBQU1Dd3RCQUVFQUxRRC9odkNBQUVIN0FYRTZBUCtHOElBQURBb0xRUUJCQUMwQS80YndnQUJCOXdGeE9nRC9odkNBQUF3SkMwRUFRUUF0QVArRzhJQUFRZThCY1RvQS80YndnQUFNQ0F0QkFFRUFMUUQvaHZDQUFFSGZBWEU2QVArRzhJQUFEQWNMUVFCQkFDMEEvNGJ3Z0FCQnZ3RnhPZ0QvaHZDQUFBd0dDMEVBUVFBdEFQK0c4SUFBUWY4QWNUb0EvNGJ3Z0FBTUJRc2dCRUhzaHZDQUFCQ2tnSUNBQUVIL0FYRWdCR29oQkF3RUMwRUFRWUFDT3dIc2h2Q0FBQXdEQ3lBRVFlNkc4SUFBRUtTQWdJQUFRZjhCY1NBRWFpRUVEQUlMUVFCQmdBSTdBZTZHOElBQURBRUxBa0FnQlVGaWFpSUlRZi8vQTNGQkNFa05BQUpBSUFWQitQOERjVUVvUmcwQUFrQWdCVUdtZjJwQi8vOERjVUVJU1EwQUlBVkJuSDlxUWYvL0EzRkJDRThOQTBFQUlBVkJwSDlxT3dIdWh2Q0FBQXdEQzBFQUlBVkJybjlxT3dIc2h2Q0FBQXdDQzBFQUlBVkJXR283QWU2RzhJQUFEQUVMUVFBZ0NEc0I3SWJ3Z0FBTElBUkJBV29oQkVFQUxRREVndkNBQUNFRkRBQUxDeENaZ0lDQUFBd09DeENhZ0lDQUFBd05DMEVBUVFCQkFDOEJvSUx3Z0FBaUJFRi9haUlGSUFVZ0JFc2JRUUJCQUMwQXhJTHdnQUFpQkJzaUJVRUFMd0gwaHZDQUFDSUlRWDlxSUFVZ0NFa2JPd0hhaHZDQUFFRUFRUUJCQUM4Qm9vTHdnQUFpQlVGL2FpSUlJQWdnQlVzYlFRQWdCRUVCU3hzaUJFRUFMd0g0aHZDQUFDSUZRWDlxSUFRZ0JVa2JPd0hjaHZDQUFFRUFRUUE2QUlHSDhJQUFEQXdMUVFCQkFFRUFMd0dnZ3ZDQUFDSUVRWDlxSWdVZ0JTQUVTeHRCQUVFQUxRREVndkNBQUJzaUJFRUFMd0g0aHZDQUFDSUZRWDlxSUFRZ0JVa2JPd0hjaHZDQUFFRUFRUUE2QUlHSDhJQUFEQXNMQWtCQkFDOEJvSUx3Z0FBaUJFRUJJQVJCQVVzYlFRRkJBQzBBeElMd2dBQWJJZ2hCQUM4QjNJYndnQUFpQldwQi8vOERjVUVBTHdINGh2Q0FBQ0lFU1EwQVFRQXZBZHFHOElBQUlBVWdCQkNnZ0lDQUFBd0xDd0pBQTBBZ0JFRi9haUlFUWYvL0EzRWdCU0FJYWlJSFFmLy9BM0ZKRFFGQkFDOEIyb2J3Z0FCQmdCaHNRWmlBd0lBQWFpSUZJQVFnQ0d0Qi8vOERjVUVNYkdvaUJ5a0NBQ0VHSUFVZ0JFSC8vd054UVF4c2FpSUZRUWhxSUFkQkNHb29BZ0EyQWdBZ0JTQUdOd0lBUVFBdkFkeUc4SUFBSVFVTUFBc0xRUUFnQjBILy93TnhJZ1JCQUM4QitJYndnQUFpQ0NBRUlBaEpHeUlFSUFWQi8vOERjU0lGYXlJSUlBZ2dCRXNiSVFRZ0JVRU1iRUdZZ01DQUFHb2hCUUpBQTBCQkFDOEIyb2J3Z0FBaENDQUVSUTBCSUFVZ0NFR0FHR3hxSWdoQkFDa0NnSURBZ0FBM0FnQWdDRUVJYWtFQUtBS0lnTUNBQURZQ0FDQUVRWDlxSVFRZ0JVRU1haUVGREFBTEN5QUlRUUU2QUp5QThJQUFEQW9MUVFCQkFDOEJvSUx3Z0FBaUJFRi9haUlGSUFVZ0JFc2JRUUJCQUMwQXhJTHdnQUFpQ0JzaUIwRUFMd0dpZ3ZDQUFDSUZRUUF2QWZTRzhJQUFJZ1FnQlNBRVNSc2dCQ0FGR3lBRUlBaEJBVXNiSWdSUERRbEJBQ0FFT3dIWWh2Q0FBRUVBSUFjN0FmS0c4SUFBUVFBZ0IwRUFRUUF0QVAyRzhJQUFHenNCMm9id2dBQkJBRUVBT2dDQmgvQ0FBRUVBUVFBN0FkeUc4SUFBREFrTFFRQXRBTVNDOElBQVJRMElRUUF2QWFDQzhJQUFRZi8vQTNGQkJrY05DQ0FCUVp1MkFUc0FBRUVBTHdIY2h2Q0FBQ0VFSUFFZ0FVRUNRUUF2QWRxRzhJQUFRUUZxRUtXQWdJQUFJZ1ZCL3dGeGFrRTdPZ0FBSUFFZ0FTQUZRUUZxSUFSQkFXb1FwWUNBZ0FBaUJFSC9BWEZxUWRJQU9nQUFBa0JCd0FCRkRRQkJob253Z0FBZ0FVSEFBUHdLQUFBTFFRQWdCRUVCYWpvQXhvbndnQUFNQ0FzZ0FVRUFPZ0FMSUFGQkFEc0FDU0FCUVFBdEFQK0c4SUFBT2dBSUlBRkJBQ2dDN0lid2dBQTJBZ1FnQVNBRVFmLy8vd0J4TmdJQVFRQXZBZHFHOElBQVFRQXZBZHlHOElBQUlBRVFuSUNBZ0FBQ1FFRUFMd0hjaHZDQUFDSUVRUUF2QWZpRzhJQUFRWDlxUWYvL0EzRlBEUUJCQUNBRVFRRnFPd0hjaHZDQUFBd0lDMEVBTFFEK2h2Q0FBRVVOQjBFQVFRRTZBSUdIOElBQURBY0xRUUFoQlVFQUlBUTZBTU9DOElBQUlBUkJlR29PQmdBQkFnSUNBd1lMUVFBdkFkeUc4SUFBSWdSRkRRVWdCRUYvYWlFRkRBSUxRUUF2QWZpRzhJQUFJZ2RCQUM4QjNJYndnQUFpQkVFQmFrSC8vd054SWdVZ0J5QUZTeHNoQ3dKQUEwQWdCRUVCYWlJRklBZFBEUUVnQkVISWlmQ0FBR29oQ0NBRklRUWdDQzBBQUVFQlJ3MEFDeUFGSVFzTElBc2dCMEYvYWlBRklBZEpHeUVGREFFTEVKdUFnSUFBUVFBaEJVRUFMUUQ4aHZDQUFFVU5Bd3RCQUNBRk93SGNodkNBQUVFQVFRQTZBSUdIOElBQURBSUxRUUJCQmpvQXdvTHdnQUFNQVF0QkFDQUVPZ0RKZ3ZDQUFBc2dBRUVCYWlFQURBQUxDOWNEQVFGL0FrQWdBRUVCY1VFQUxRQ0RoL0NBQUVZTkFFRUFLQUxVaHZDQUFDSUNSUTBBQWtBQ1FBSkFBa0FnQUVFQmNVVU5BQ0FCUVFGeERRRU1BZ3NDUUVHRWdqQkZEUUJCbUlEQWdBQWdBa0dFZ2pEOENnQUFDMEVBUVFBNkFJT0g4SUFBQWtBZ0FVRUJjVVVOQUVFQVFRQXZBZmFHOElBQU93SGFodkNBQUVFQVFRQXZBZkNHOElBQU93SGNodkNBQUVFQVFRQXZBZXFHOElBQU93SHNodkNBQUVFQVFRQXZBZUNHOElBQU93SHVodkNBQUVFQVFRQXRBSUtIOElBQU9nRC9odkNBQUVFQVFRQTZBSUdIOElBQUMwR0VnREFoQUFOQUlBQkIvUDlQYWtFQUx3SDBodkNBQUNJQlR3MERJQUJCbUlEQWdBQnFRUUU2QUFBZ0FFRUJhaUVBREFBTEMwRUFRUUF2QWRxRzhJQUFPd0gyaHZDQUFFRUFRUUF2QWR5RzhJQUFPd0h3aHZDQUFFRUFRUUF2QWV5RzhJQUFPd0hxaHZDQUFFRUFRUUF2QWU2RzhJQUFPd0hnaHZDQUFFRUFRUUF0QVArRzhJQUFPZ0NDaC9DQUFBc0NRRUdFZ2pCRkRRQWdBa0dZZ01DQUFFR0VnakQ4Q2dBQUMwRUFRUUF2QWZTRzhJQUFPd0dhZ1BDQUFFRUFRUUF2QWZpRzhJQUFPd0dZZ1BDQUFCQ2ZnSUNBQUVFQVFRRTZBSU9IOElBQVFRQXZBZlNHOElBQUlRRUxRUUFnQVRzQjJJYndnQUJCQUVFQU93SHlodkNBQUFzTFF3QkJBRUVBS0FIaWh2Q0FBRFlCMm9id2dBQkJBRUVBS0FIbWh2Q0FBRFlDN0lid2dBQkJBRUVBTFFDQWgvQ0FBRG9BLzRid2dBQkJBRUVBT2dDQmgvQ0FBQXM0QUVFQVFRQW9BZHFHOElBQU5nSGlodkNBQUVFQVFRQW9BdXlHOElBQU5nSG1odkNBQUVFQVFRQXRBUCtHOElBQU9nQ0FoL0NBQUF1akFRRURmd0pBQWtCQkFDOEIyb2J3Z0FCQkFXb2lBRUgvL3dOeFFRQXZBZGlHOElBQUlnRkpEUUJCQUM4QjhvYndnQUFoQUVFQUxRQ0RoL0NBQUEwQklBQkIvLzhEY1EwQlFRQWhBRUVBS0FMUWh2Q0FBQ0lDUlEwQklBSkJtSURBZ0FCQkFDOEIrSWJ3Z0FBUW80Q0FnQUJCQUM4QjJJYndnQUFoQVVFQUx3SHlodkNBQUNFQURBRUxRUUFnQURzQjJvYndnQUFQQ3lBQUlBRkJBUkNpZ0lDQUFBdDFBQUpBSUFCQi8vOERjVUVBTHdHYWdQQ0FBRThOQUNBQlFmLy9BM0ZCQUM4Qm1JRHdnQUJCLy84RGNVOE5BQ0FBUWYvL0EzRWlBRUdBR0d3Z0FVSC8vd054UVF4c2FpSUJJQUlwQWdBM0FwaUF3SUFBSUFGQm9JREFnQUJxSUFKQkNHb29BZ0EyQWdBZ0FFRUJPZ0NjZ1BDQUFBc0wzd0VCQkg4Q1FDQUNRZi8vQTNGRkRRQWdBVUgvL3dOeElBQkIvLzhEY1UwTkFDQUJJQUJySWdNZ0FrSC8vd054SWdJZ0EwSC8vd054SWdNZ0FpQURTUnNpQkd0Qi8vOERjU0VGUVFBaEFnTkFBa0FnQlNBQ1J3MEFJQVFnQUdwQi8vOERjU0VDQTBBZ0FFSC8vd054SUFKUERRTWdBQkNoZ0lDQUFDQUFRUUZxSVFBTUFBc0xJQUVnQWtGL2Myb2lCa0gvL3dOeElRTUNRRUdBR0VVTkFDQURRWUFZYkVHWWdNQ0FBR29nQmlBRWEwSC8vd054UVlBWWJFR1lnTUNBQUdwQmdCajhDZ0FBQ3lBRFFRRTZBSnlBOElBQUlBSkJBV29oQWd3QUN3c0wrUUlCQVg4amdJQ0FnQUJCZ0FKcklnSWtnSUNBZ0FCQkFDQUJPd0dhZ1BDQUFFRUFJQUE3QVppQThJQUFFSitBZ0lBQUFrQkJ0QVJGRFFCQm5JTHdnQUJCQUVHMEJQd0xBQXRCQUNBQk93SDBodkNBQUVFQUlBQTdBZmlHOElBQVFRQkJBVG9BaElud2dBQkJBRUVCT2dEK2h2Q0FBRUVBSUFFN0FkaUc4SUFBUVFCQ2dJS0FDRGNDN0lid2dBQkJBRUdBZ29BSU5nTG9odkNBQUVFQVFvQ0NnSUNBZ0lDQUFUY0M0SWJ3Z0FCQkFFRUFOZ0hhaHZDQUFFRUFRUUE2QUlHSDhJQUFRUUJCQURzQS80YndnQUJCQUVFQU93SDJodkNBQUVFQVFRQTJBZnFHOElBQVFRQkJBRG9BZzRmd2dBQkJBRUVBT2dDQ2gvQ0FBRUVBUVFBN0FkNkc4SUFBUVFCQkFEb0FoWW53Z0FCQkFFRUFPZ0RHaWZDQUFBSkFRWUFDUlEwQUlBSkJBRUdBQXZ3TEFBdEJDQ0VCQWtBRFFDQUJRZjhCU3cwQklBSWdBV3BCQVRvQUFDQUJRUWhxSVFFTUFBc0xBa0JCZ0FKRkRRQkJ4NG53Z0FBZ0FrR0FBdndLQUFBTElBSkJnQUpxSklDQWdJQUFDeklCQVg5QkFDRUFBa0FEUUNBQVFmLy9BM0ZCQUM4Qm1vRHdnQUJQRFFFZ0FCQ2hnSUNBQUNBQVFRRnFJUUFNQUFzTEM2Z0JBUUYvQWtBZ0FFSC8vd054SWdOQkFDOEJtb0R3Z0FCUERRQkJBQ0FDUWYvL0EzRWlBRUVBTHdHWWdQQ0FBQ0lDSUFBZ0Fra2JJZ0FnQVVILy93TnhJZ0ZySWdJZ0FpQUFTeHNoQWlBRFFZQVliQ0FCUVF4c2FrR1lnTUNBQUdvaEFBSkFBMEFnQWtVTkFTQUFRUWhxUVFBb0FvaUF3SUFBTmdJQUlBQkJBQ2tDZ0lEQWdBQTNBZ0FnQUVFTWFpRUFJQUpCZjJvaEFnd0FDd3NnQTBFQk9nQ2NnUENBQUFzTGZRRUNmd0pBSUFCQi8vOERjU0lCUVFBdkFacUE4SUFBVHcwQUlBRkJnQmhzUVppQXdJQUFhaUVBUVFBaEFnSkFBMEFnQWtFQUx3R1lnUENBQUU4TkFTQUFRUWhxUVFBb0FvaUF3SUFBTmdJQUlBQkJBQ2tDZ0lEQWdBQTNBZ0FnQUVFTWFpRUFJQUpCQVdvaEFnd0FDd3NnQVVFQk9nQ2NnUENBQUFzTDFnRUJBMzhDUUNBQ1FmLy9BM0ZGRFFBZ0FVSC8vd054SUFCQi8vOERjVTBOQUNBQ1FmLy9BM0VpQWlBQklBQnJRZi8vQTNFaUF5QUNJQU5KR3lJRFFZQVliRUdZZ01DQUFHb2hCQ0FCUWYvL0EzRWhCU0FBUWYvL0EzRWlBRUdBR0d3aEFnTkFBa0FnQXlBQWFpQUZTUTBBQTBBZ0FFSC8vd054SUFGQi8vOERjVThOQXlBQUVLR0FnSUFBSUFCQkFXb2hBQXdBQ3dzQ1FFR0FHRVVOQUNBQ1FaaUF3SUFBYWlBRUlBSnFRWUFZL0FvQUFBc2dBRUdjZ1BDQUFHcEJBVG9BQUNBQ1FZQVlhaUVDSUFCQkFXb2hBQXdBQ3dzTG9RRUNBMzhCZmlBQ1FmLy9BM0VoQXlBQUlBQW9BcVRmdXdGQmhCaHNhaUlFSVFVQ1FBTkFJQU5GRFFFZ0FTa0NBQ0VHSUFWQkNHb2dBVUVJYWlnQ0FEWUNBQ0FGSUFZM0FnQWdBVUVNYWlFQklBVkJER29oQlNBRFFYOXFJUU1NQUFzTElBUWdBanNCZ0JnZ0FDQUFLQUtrMzdzQlFRRnFRZWdIY0RZQ3BOKzdBUUpBSUFBb0FxRGZ1d0VpQVVIb0IwOE5BQ0FBSUFGQkFXbzJBcURmdXdFTEM5MENBUU4vUVFBaEFnSkFJQUJCQVdwQi93RnhJZ05CQUMwQXhJTHdnQUFpQkU4TkFBSkFBa0FDUUNBRFFRRjBMd0dnZ3ZDQUFFRithZzRFQVFNREFBTUxJQUJCQW1wQi93RnhJZ0FnQkU4TkFpQUFRUUYwTHdHZ2d2Q0FBQ0VBUVFJaEFnd0JDeUFBUVFScVFmOEJjU0lESUFSUERRRWdBMEVCZEM4Qm9JTHdnQUFoQWdKQUlBQkJBbXBCL3dGeFFRRjBMd0dnZ3ZDQUFDSURJQUJCQTJwQi93RnhRUUYwTHdHZ2d2Q0FBQ0lBUncwQUlBQWdBa0gvL3dOeFJ3MEFRUVFoQWdKQUlBTkIvd0Z4SWdCQkNFOE5BRUVRSVFBTUFnc0NRQ0FBUWZnQlRRMEFRZWNCSVFBTUFnc2dBMEY0YWtIL0FYRkJDbTVCNkFGcUlnQkIvd0VnQUVIL0FVa2JJUUFNQVFzZ0EwRUZiRUgvQUdwQi8vOERjVUgvQVc1QkpHd2dBRUVGYkVIL0FHcEIvLzhEY1VIL0FXNUJCbXhxSUFKQkJXeEIvd0JxUWYvL0EzRkIvd0Z1YWtFUWFpRUFRUVFoQWdzZ0FTQUFPd0VBQ3lBQ0M1MEJBUU4vSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUJCQUNFRUEzOENRQ0FDUWYvL0EzRWlCUTBBSUFGQi93RnhJUUlnQTBFTGFrRi9haUVGQWtBRFFDQUVSUTBCSUFBZ0Ftb2dCU0FFYWkwQUFEb0FBQ0FDUVFGcUlRSWdCRUYvYWlFRURBQUxDeUFEUVJCcUpJQ0FnSUFBSUFJUEN5QURRUXRxSUFScUlBSWdCVUVLYmlJRlFRcHNhMEV3Y2pvQUFDQUVRUUZxSVFRZ0JTRUNEQUFMQ3dnQVFmQ0NySUlBQzRRR0FRaC9RWUFDSUFGQi8vOERjU0lDUVFFZ0FrRUJTeHNpQWtHQUFpQUNRWUFDU1JzZ0FVR0FBa3NiSVFOQkFDOEI5SWJ3Z0FBaEJBSkFBa0JCZ0FJZ0FFSC8vd054SWdGQkFTQUJRUUZMR3lJQlFZQUNJQUZCZ0FKSkd5QUFRWUFDU3hzaUJVRUFMd0g0aHZDQUFDSUNSdzBBSUFNZ0JFSC8vd054UmcwQkN3SkFJQVVnQWtraUJrVU5BQ0FESUFSQi8vOERjU0lCSUFNZ0FVa2JJUWNnQlVFTWJFR1lnTUNBQUdvaENFRUFJUWtEUUNBSklBZEdEUUVnQ0NFQklBVWhBQUpBQTBBZ0FpQUFRZi8vQTNGR0RRRWdBVUVJYWtFQUtBS0lnTUNBQURZQ0FDQUJRUUFwQW9DQXdJQUFOd0lBSUFGQkRHb2hBU0FBUVFGcUlRQU1BQXNMSUFoQmdCaHFJUWdnQ1VFQmFpRUpEQUFMQ3dKQUlBTWdCRUgvL3dOeElnaFBEUUJCQUMwQWc0ZndnQUFOQUVFQUtBTFFodkNBQUVVTkFDQUZJQUlnQmhzaENTQURRWUFZYkVHWWdNQ0FBR29oQUNBRElRRURRQ0FFUWYvL0EzRWdBVUgvL3dOeFJnMEJRUUFvQXRDRzhJQUFJQUFnQ1JDamdJQ0FBQ0FBUVlBWWFpRUFJQUZCQVdvaEFRd0FDd3RCQUNBRE93SDBodkNBQUVFQUlBVTdBZmlHOElBQVFRQWdBenNCbW9Ed2dBQkJBQ0FGT3dHWWdQQ0FBQUpBSUFNZ0NFME5BQ0FFSVFFRFFDQUJRZi8vQTNFZ0EwOE5BU0FCRUtHQWdJQUFJQUZCQVdvaEFRd0FDd3NDUUNBRklBSk5EUUFnQXlBRVFmLy9BM0VpQVNBRElBRkpHeUVJSUFVZ0Ftc2hCeUFDUVF4c1FaaUF3SUFBYWlFSlFRQWhBZ05BSUFJZ0NFWU5BU0FISVFBZ0NTRUJBa0FEUUNBQVJRMEJJQUZCQ0dwQkFDZ0NpSURBZ0FBMkFnQWdBVUVBS1FLQWdNQ0FBRGNDQUNBQVFYOXFJUUFnQVVFTWFpRUJEQUFMQ3lBQ1FRRTZBSnlBOElBQUlBbEJnQmhxSVFrZ0FrRUJhaUVDREFBTEMwRUFJQU03QWRpRzhJQUFRUUJCQURzQjhvYndnQUFDUUVFQUx3SGNodkNBQUNBRlNRMEFRUUFnQlVGL2Fqc0IzSWJ3Z0FBTEFrQkJBQzhCMm9id2dBQWdBMGtOQUVFQUlBTkJmMm83QWRxRzhJQUFDMEVBSVFFRFFDQURJQUZHRFFFZ0FVR2NnUENBQUdwQkFUb0FBQ0FCUVFGcUlRRU1BQXNMQzFNQVFZQUNJQUJCQVNBQUd5QUFRWUFDU3h0QmdBSWdBVUVCSUFFYklBRkJnQUpMR3hDZWdJQ0FBRUVBUWZEQ3JJSUFOZ0xVaHZDQUFFRUFRY2lqOElBQU5nTFFodkNBQUVFQVFnQTNBdWlDcklJQUN3c2hBUUJCZ0lEQUFBc1lJQUFBQUFBQkFBRUFBQUFBUlFBQUFBQUJBQUVBQUFBQSI7ZnVuY3Rpb24geShyKXtsZXQgQT1hdG9iKHIpLHQ9bmV3IFVpbnQ4QXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgZT0wO2U8QS5sZW5ndGg7ZSsrKXRbZV09QS5jaGFyQ29kZUF0KGUpO3JldHVybiB0LmJ1ZmZlcn12YXIgYT1jbGFzcyBye2NvbnN0cnVjdG9yKEEpe3RoaXMuZ3JpZFB0cj0wLHRoaXMuZGlydHlQdHI9MCx0aGlzLndyaXRlQnVmZmVyUHRyPTAsdGhpcy5jZWxsU2l6ZT0xMix0aGlzLm1heENvbHM9MjU2LHRoaXMuZW5jb2Rlcj1uZXcgVGV4dEVuY29kZXIsdGhpcy5kZWNvZGVyPW5ldyBUZXh0RGVjb2Rlcix0aGlzLmV4cG9ydHM9QS5leHBvcnRzLHRoaXMubWVtb3J5PXRoaXMuZXhwb3J0cy5tZW1vcnl9c3RhdGljIGFzeW5jIGxvYWQoQSl7bGV0IHQ7aWYoQSl7bGV0IHM9YXdhaXQgZmV0Y2goQSk7aWYoIXMub2spdGhyb3cgbmV3IEVycm9yKGBbd3Rlcm1dIEZhaWxlZCB0byBsb2FkIFdBU00gZnJvbSAke0F9OiAke3Muc3RhdHVzfSAke3Muc3RhdHVzVGV4dH1gKTt0PWF3YWl0IHMuYXJyYXlCdWZmZXIoKX1lbHNlIHQ9eShHKTtsZXR7aW5zdGFuY2U6ZX09YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUodCk7cmV0dXJuIG5ldyByKGUpfWluaXQoQSx0KXt0aGlzLmV4cG9ydHMuaW5pdChBLHQpLHRoaXMuX3VwZGF0ZVBvaW50ZXJzKCl9X3VwZGF0ZVBvaW50ZXJzKCl7dGhpcy5ncmlkUHRyPXRoaXMuZXhwb3J0cy5nZXRHcmlkUHRyKCksdGhpcy5kaXJ0eVB0cj10aGlzLmV4cG9ydHMuZ2V0RGlydHlQdHIoKSx0aGlzLndyaXRlQnVmZmVyUHRyPXRoaXMuZXhwb3J0cy5nZXRXcml0ZUJ1ZmZlcigpLHRoaXMuY2VsbFNpemU9dGhpcy5leHBvcnRzLmdldENlbGxTaXplKCksdGhpcy5tYXhDb2xzPXRoaXMuZXhwb3J0cy5nZXRNYXhDb2xzKCksdGhpcy5fZHY9bmV3IERhdGFWaWV3KHRoaXMubWVtb3J5LmJ1ZmZlcil9d3JpdGVTdHJpbmcoQSl7bGV0IHQ9dGhpcy5lbmNvZGVyLmVuY29kZShBKTt0aGlzLndyaXRlUmF3KHQpfXdyaXRlUmF3KEEpe2xldCB0PW5ldyBVaW50OEFycmF5KHRoaXMubWVtb3J5LmJ1ZmZlcix0aGlzLndyaXRlQnVmZmVyUHRyLDgxOTIpLGU9MDtmb3IoO2U8QS5sZW5ndGg7KXtsZXQgcz1NYXRoLm1pbihBLmxlbmd0aC1lLDgxOTIpO3Quc2V0KEEuc3ViYXJyYXkoZSxlK3MpKSx0aGlzLmV4cG9ydHMud3JpdGVCeXRlcyhzKSxlKz1zfX1nZXRDZWxsKEEsdCl7bGV0IGU9dGhpcy5ncmlkUHRyKyhBKnRoaXMubWF4Q29scyt0KSp0aGlzLmNlbGxTaXplLHM9dGhpcy5fZHY7cmV0dXJue2NoYXI6cy5nZXRVaW50MzIoZSwhMCksZmc6cy5nZXRVaW50MTYoZSs0LCEwKSxiZzpzLmdldFVpbnQxNihlKzYsITApLGZsYWdzOnMuZ2V0VWludDgoZSs4KX19aXNEaXJ0eVJvdyhBKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodGhpcy5tZW1vcnkuYnVmZmVyLHRoaXMuZGlydHlQdHIsMjU2KVtBXSE9PTB9Y2xlYXJEaXJ0eSgpe3RoaXMuZXhwb3J0cy5jbGVhckRpcnR5KCl9Z2V0Q3Vyc29yKCl7cmV0dXJue3Jvdzp0aGlzLmV4cG9ydHMuZ2V0Q3Vyc29yUm93KCksY29sOnRoaXMuZXhwb3J0cy5nZXRDdXJzb3JDb2woKSx2aXNpYmxlOnRoaXMuZXhwb3J0cy5nZXRDdXJzb3JWaXNpYmxlKCkhPT0wfX1nZXRDb2xzKCl7cmV0dXJuIHRoaXMuZXhwb3J0cy5nZXRDb2xzKCl9Z2V0Um93cygpe3JldHVybiB0aGlzLmV4cG9ydHMuZ2V0Um93cygpfWN1cnNvcktleXNBcHAoKXtyZXR1cm4gdGhpcy5leHBvcnRzLmdldEN1cnNvcktleXNBcHAoKSE9PTB9YnJhY2tldGVkUGFzdGUoKXtyZXR1cm4gdGhpcy5leHBvcnRzLmdldEJyYWNrZXRlZFBhc3RlKCkhPT0wfXVzaW5nQWx0U2NyZWVuKCl7cmV0dXJuIHRoaXMuZXhwb3J0cy5nZXRVc2luZ0FsdFNjcmVlbigpIT09MH1nZXRUaXRsZSgpe2lmKHRoaXMuZXhwb3J0cy5nZXRUaXRsZUNoYW5nZWQoKT09PTApcmV0dXJuIG51bGw7bGV0IEE9dGhpcy5leHBvcnRzLmdldFRpdGxlUHRyKCksdD10aGlzLmV4cG9ydHMuZ2V0VGl0bGVMZW4oKSxlPW5ldyBVaW50OEFycmF5KHRoaXMubWVtb3J5LmJ1ZmZlcixBLHQpO3JldHVybiB0aGlzLmRlY29kZXIuZGVjb2RlKGUpfWdldFJlc3BvbnNlKCl7bGV0IEE9dGhpcy5leHBvcnRzLmdldFJlc3BvbnNlTGVuKCk7aWYoQT09PTApcmV0dXJuIG51bGw7bGV0IHQ9dGhpcy5leHBvcnRzLmdldFJlc3BvbnNlUHRyKCksZT1uZXcgVWludDhBcnJheSh0aGlzLm1lbW9yeS5idWZmZXIsdCxBKSxzPXRoaXMuZGVjb2Rlci5kZWNvZGUoZSk7cmV0dXJuIHRoaXMuZXhwb3J0cy5jbGVhclJlc3BvbnNlKCksc31nZXRTY3JvbGxiYWNrQ291bnQoKXtyZXR1cm4gdGhpcy5leHBvcnRzLmdldFNjcm9sbGJhY2tDb3VudCgpfWdldFNjcm9sbGJhY2tDZWxsKEEsdCl7bGV0IHM9dGhpcy5leHBvcnRzLmdldFNjcm9sbGJhY2tMaW5lKEEpK3QqdGhpcy5jZWxsU2l6ZSxpPXRoaXMuX2R2O3JldHVybntjaGFyOmkuZ2V0VWludDMyKHMsITApLGZnOmkuZ2V0VWludDE2KHMrNCwhMCksYmc6aS5nZXRVaW50MTYocys2LCEwKSxmbGFnczppLmdldFVpbnQ4KHMrOCl9fWdldFNjcm9sbGJhY2tMaW5lTGVuKEEpe3JldHVybiB0aGlzLmV4cG9ydHMuZ2V0U2Nyb2xsYmFja0xpbmVMZW4oQSl9cmVzaXplKEEsdCl7dGhpcy5leHBvcnRzLnJlc2l6ZVRlcm1pbmFsKEEsdCksdGhpcy5fdXBkYXRlUG9pbnRlcnMoKX19O3ZhciBkPWNsYXNze2NvbnN0cnVjdG9yKEE9e30pe3RoaXMuX3dzPW51bGwsdGhpcy5fcmVjb25uZWN0VGltZXI9bnVsbCx0aGlzLl9yZWNvbm5lY3REZWxheT0xZTMsdGhpcy5fY2xvc2VkPSExLHRoaXMuX2J1ZmZlcj1bXSx0aGlzLnVybD1BLnVybD8/bnVsbCx0aGlzLnJlY29ubmVjdD1BLnJlY29ubmVjdCE9PSExLHRoaXMubWF4UmVjb25uZWN0RGVsYXk9QS5tYXhSZWNvbm5lY3REZWxheT8/M2U0LHRoaXMub25EYXRhPUEub25EYXRhPz9udWxsLHRoaXMub25PcGVuPUEub25PcGVuPz9udWxsLHRoaXMub25DbG9zZT1BLm9uQ2xvc2U/P251bGwsdGhpcy5vbkVycm9yPUEub25FcnJvcj8/bnVsbH1jb25uZWN0KEEpe2lmKEEmJih0aGlzLnVybD1BKSwhdGhpcy51cmwpdGhyb3cgbmV3IEVycm9yKCJObyBXZWJTb2NrZXQgVVJMIHByb3ZpZGVkIik7dGhpcy5fY2xvc2VkPSExLHRoaXMuX3dzPW5ldyBXZWJTb2NrZXQodGhpcy51cmwpLHRoaXMuX3dzLmJpbmFyeVR5cGU9ImFycmF5YnVmZmVyIix0aGlzLl93cy5vbm9wZW49KCk9Pnt0aGlzLl9yZWNvbm5lY3REZWxheT0xZTMsdGhpcy5fZmx1c2hCdWZmZXIoKSx0aGlzLm9uT3BlbiYmdGhpcy5vbk9wZW4oKX0sdGhpcy5fd3Mub25tZXNzYWdlPXQ9Pnt0aGlzLm9uRGF0YSYmKHQuZGF0YSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP3RoaXMub25EYXRhKG5ldyBVaW50OEFycmF5KHQuZGF0YSkpOnRoaXMub25EYXRhKHQuZGF0YSkpfSx0aGlzLl93cy5vbmNsb3NlPSgpPT57dGhpcy5vbkNsb3NlJiZ0aGlzLm9uQ2xvc2UoKSx0aGlzLnJlY29ubmVjdCYmIXRoaXMuX2Nsb3NlZCYmdGhpcy5fc2NoZWR1bGVSZWNvbm5lY3QoKX0sdGhpcy5fd3Mub25lcnJvcj10PT57dGhpcy5vbkVycm9yJiZ0aGlzLm9uRXJyb3IodCksdGhpcy5fd3M/LmNsb3NlKCl9fXNlbmQoQSl7dGhpcy5fd3MmJnRoaXMuX3dzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTj90eXBlb2YgQT09InN0cmluZyI/dGhpcy5fd3Muc2VuZChuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSkpOnRoaXMuX3dzLnNlbmQoQSk6dGhpcy5fYnVmZmVyLnB1c2goQSl9Y2xvc2UoKXt0aGlzLl9jbG9zZWQ9ITAsdGhpcy5fcmVjb25uZWN0VGltZXImJmNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lciksdGhpcy5fd3MmJnRoaXMuX3dzLmNsb3NlKCl9Z2V0IGNvbm5lY3RlZCgpe3JldHVybiB0aGlzLl93cyE9PW51bGwmJnRoaXMuX3dzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTn1fZmx1c2hCdWZmZXIoKXtsZXQgQT10aGlzLl9idWZmZXIuc3BsaWNlKDApO2ZvcihsZXQgdCBvZiBBKXRoaXMuc2VuZCh0KX1fc2NoZWR1bGVSZWNvbm5lY3QoKXt0aGlzLl9yZWNvbm5lY3RUaW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy5jb25uZWN0KCl9LHRoaXMuX3JlY29ubmVjdERlbGF5KSx0aGlzLl9yZWNvbm5lY3REZWxheT1NYXRoLm1pbih0aGlzLl9yZWNvbm5lY3REZWxheSoyLHRoaXMubWF4UmVjb25uZWN0RGVsYXkpfX07ZnVuY3Rpb24gdShyKXtpZihyPT09MjU2KXJldHVybiBudWxsO2lmKHI8MTYpcmV0dXJuYHZhcigtLXRlcm0tY29sb3ItJHtyfSlgO2lmKHI8MjMyKXtsZXQgdD1yLTE2LGU9TWF0aC5mbG9vcih0LzM2KSo1MSxzPU1hdGguZmxvb3IodC82KSU2KjUxLGk9dCU2KjUxO3JldHVybmByZ2IoJHtlfSwke3N9LCR7aX0pYH1sZXQgQT0oci0yMzIpKjEwKzg7cmV0dXJuYHJnYigke0F9LCR7QX0sJHtBfSlgfWZ1bmN0aW9uIFMocixBLHQpe2xldCBlPXIscz1BO2lmKHQmMzIpe2xldCBRPWU7ZT1zLHM9USxlPT09MjU2JiYoZT0wKSxzPT09MjU2JiYocz03KX1sZXQgaT11KGUpLG89dShzKSxCPSIiO2kmJihCKz1gY29sb3I6JHtpfTtgKSxvJiYoQis9YGJhY2tncm91bmQ6JHtvfTtgKSx0JjEmJihCKz0iZm9udC13ZWlnaHQ6Ym9sZDsiKSx0JjImJihCKz0ib3BhY2l0eTowLjU7IiksdCY0JiYoQis9ImZvbnQtc3R5bGU6aXRhbGljOyIpO2xldCBFPVtdO3JldHVybiB0JjEyOCYmRS5wdXNoKCJsaW5lLXRocm91Z2giKSxFLmxlbmd0aCYmKEIrPWB0ZXh0LWRlY29yYXRpb246JHtFLmpvaW4oIiAiKX07YCksdCY2NCYmKEIrPSJ2aXNpYmlsaXR5OmhpZGRlbjsiKSxCfWZ1bmN0aW9uIEQocixBLHQpe2lmKHQpe2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtlLnN0eWxlLmNzc1RleHQ9dCxlLnRleHRDb250ZW50PUEsci5hcHBlbmRDaGlsZChlKX1lbHNlIHIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoQSkpfWZ1bmN0aW9uIFIocixBLHQpe2xldCBlPXIscz1BO3JldHVybiB0JjMyJiYoW2Usc109W3MsZV0sZT09PTI1NiYmKGU9MCkscz09PTI1NiYmKHM9NykpLHtmZzp1KGUpfHwidmFyKC0tdGVybS1mZykiLGJnOnUocyl8fCJ2YXIoLS10ZXJtLWJnKSJ9fWZ1bmN0aW9uIEgocixBLHQpe3N3aXRjaChyKXtjYXNlIDk2MDA6cmV0dXJuYGxpbmVhci1ncmFkaWVudCgke0F9IDUwJSwke3R9IDUwJSlgO2Nhc2UgOTYwMTpyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7dH0gODcuNSUsJHtBfSA4Ny41JSlgO2Nhc2UgOTYwMjpyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7dH0gNzUlLCR7QX0gNzUlKWA7Y2FzZSA5NjAzOnJldHVybmBsaW5lYXItZ3JhZGllbnQoJHt0fSA2Mi41JSwke0F9IDYyLjUlKWA7Y2FzZSA5NjA0OnJldHVybmBsaW5lYXItZ3JhZGllbnQoJHt0fSA1MCUsJHtBfSA1MCUpYDtjYXNlIDk2MDU6cmV0dXJuYGxpbmVhci1ncmFkaWVudCgke3R9IDM3LjUlLCR7QX0gMzcuNSUpYDtjYXNlIDk2MDY6cmV0dXJuYGxpbmVhci1ncmFkaWVudCgke3R9IDI1JSwke0F9IDI1JSlgO2Nhc2UgOTYwNzpyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7dH0gMTIuNSUsJHtBfSAxMi41JSlgO2Nhc2UgOTYwODpyZXR1cm4gQTtjYXNlIDk2MDk6cmV0dXJuYGxpbmVhci1ncmFkaWVudCh0byByaWdodCwke0F9IDg3LjUlLCR7dH0gODcuNSUpYDtjYXNlIDk2MTA6cmV0dXJuYGxpbmVhci1ncmFkaWVudCh0byByaWdodCwke0F9IDc1JSwke3R9IDc1JSlgO2Nhc2UgOTYxMTpyZXR1cm5gbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCR7QX0gNjIuNSUsJHt0fSA2Mi41JSlgO2Nhc2UgOTYxMjpyZXR1cm5gbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCR7QX0gNTAlLCR7dH0gNTAlKWA7Y2FzZSA5NjEzOnJldHVybmBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsJHtBfSAzNy41JSwke3R9IDM3LjUlKWA7Y2FzZSA5NjE0OnJldHVybmBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsJHtBfSAyNSUsJHt0fSAyNSUpYDtjYXNlIDk2MTU6cmV0dXJuYGxpbmVhci1ncmFkaWVudCh0byByaWdodCwke0F9IDEyLjUlLCR7dH0gMTIuNSUpYDtjYXNlIDk2MTY6cmV0dXJuYGxpbmVhci1ncmFkaWVudCh0byByaWdodCwke3R9IDUwJSwke0F9IDUwJSlgO2Nhc2UgOTYxNzpyZXR1cm5gY29sb3ItbWl4KGluIHNyZ2IsJHtBfSAyNSUsJHt0fSlgO2Nhc2UgOTYxODpyZXR1cm5gY29sb3ItbWl4KGluIHNyZ2IsJHtBfSA1MCUsJHt0fSlgO2Nhc2UgOTYxOTpyZXR1cm5gY29sb3ItbWl4KGluIHNyZ2IsJHtBfSA3NSUsJHt0fSlgO2Nhc2UgOTYyMDpyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7QX0gMTIuNSUsJHt0fSAxMi41JSlgO2Nhc2UgOTYyMTpyZXR1cm5gbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCR7dH0gODcuNSUsJHtBfSA4Ny41JSlgO2RlZmF1bHQ6e2xldCBzPXs5NjIyOlshMSwhMSwhMCwhMV0sOTYyMzpbITEsITEsITEsITBdLDk2MjQ6WyEwLCExLCExLCExXSw5NjI1OlshMCwhMSwhMCwhMF0sOTYyNjpbITAsITEsITEsITBdLDk2Mjc6WyEwLCEwLCEwLCExXSw5NjI4OlshMCwhMCwhMSwhMF0sOTYyOTpbITEsITAsITEsITFdLDk2MzA6WyExLCEwLCEwLCExXSw5NjMxOlshMSwhMCwhMCwhMF19W3JdO2lmKCFzKXJldHVybiBBO2xldFtpLG8sQixFXT1zO2lmKGkmJm8mJkImJkUpcmV0dXJuIEE7bGV0IFE9W10sQz1bIjAgMCIsIjEwMCUgMCIsIjAgMTAwJSIsIjEwMCUgMTAwJSJdO3JldHVybiBzLmZvckVhY2goKG4sSSk9PntuJiZRLnB1c2goYGxpbmVhci1ncmFkaWVudCgke0F9LCR7QX0pICR7Q1tJXX0vNTAlIDUwJSBuby1yZXBlYXRgKX0pLFEucHVzaCh0KSxRLmpvaW4oIiwiKX19fXZhciBjPWNsYXNze2NvbnN0cnVjdG9yKEEpe3RoaXMucm93cz0wLHRoaXMuY29scz0wLHRoaXMucm93RWxzPVtdLHRoaXMucHJldkN1cnNvclJvdz0tMSx0aGlzLnByZXZDdXJzb3JDb2w9LTEsdGhpcy5fc2Nyb2xsYmFja1Jvd0Vscz1bXSx0aGlzLl9yZW5kZXJlZFNjcm9sbGJhY2tDb3VudD0wLHRoaXMuY29udGFpbmVyPUF9c2V0dXAoQSx0KXt0aGlzLmNvbHM9QSx0aGlzLnJvd3M9dCx0aGlzLmNvbnRhaW5lci5pbm5lckhUTUw9IiIsdGhpcy5yb3dFbHM9W10sdGhpcy5fc2Nyb2xsYmFja1Jvd0Vscz1bXSx0aGlzLl9yZW5kZXJlZFNjcm9sbGJhY2tDb3VudD0wO2xldCBlPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtmb3IobGV0IHM9MDtzPHQ7cysrKXtsZXQgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLmNsYXNzTmFtZT0idGVybS1yb3ciLGUuYXBwZW5kQ2hpbGQoaSksdGhpcy5yb3dFbHMucHVzaChpKX10aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChlKSx0aGlzLnByZXZDdXJzb3JSb3c9LTEsdGhpcy5wcmV2Q3Vyc29yQ29sPS0xfV9idWlsZFJvd0NvbnRlbnQoQSx0LGUscyl7QS50ZXh0Q29udGVudD0iIjtsZXQgaT0iIixvPSIiLEI9MCxFPVE9PntpZihvKWlmKHM+PUImJnM8USl7bGV0IEM9cy1CLG49by5zbGljZSgwLEMpLEk9b1tDXSxoPW8uc2xpY2UoQysxKTtuJiZEKEEsbixpKTtsZXQgZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Zy5jbGFzc05hbWU9InRlcm0tY3Vyc29yIixpJiYoZy5zdHlsZS5jc3NUZXh0PWkpLGcudGV4dENvbnRlbnQ9SSxBLmFwcGVuZENoaWxkKGcpLGgmJkQoQSxoLGkpfWVsc2UgRChBLG8saSl9O2ZvcihsZXQgUT0wO1E8dGhpcy5jb2xzO1ErKyl7bGV0IEM9dChRKSxuPVE8ZSxJPW4/Qy5jaGFyOjA7aWYobiYmST49OTYwMCYmSTw9OTYzMSl7RShRKTtsZXQgaD1SKEMuZmcsQy5iZyxDLmZsYWdzKSxnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtnLmNsYXNzTmFtZT1RPT09cz8idGVybS1ibG9jayB0ZXJtLWN1cnNvciI6InRlcm0tYmxvY2siLGcuc3R5bGUuYmFja2dyb3VuZD1IKEksaC5mZyxoLmJnKSxDLmZsYWdzJjImJihnLnN0eWxlLm9wYWNpdHk9IjAuNSIpLEEuYXBwZW5kQ2hpbGQoZyksaT0iIixvPSIiLEI9USsxfWVsc2V7bGV0IGg9biYmST49MzI/U3RyaW5nLmZyb21Db2RlUG9pbnQoSSk6IiAiLGc9bj9TKEMuZmcsQy5iZyxDLmZsYWdzKToiIjtnIT09aT8oRShRKSxpPWcsbz1oLEI9USk6bys9aH19RSh0aGlzLmNvbHMpfV9idWlsZFNjcm9sbGJhY2tSb3dFbChBLHQpe2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuY2xhc3NOYW1lPSJ0ZXJtLXJvdyB0ZXJtLXNjcm9sbGJhY2stcm93IjtsZXQgcz1BLmdldFNjcm9sbGJhY2tMaW5lTGVuKHQpO3JldHVybiB0aGlzLl9idWlsZFJvd0NvbnRlbnQoZSxpPT5BLmdldFNjcm9sbGJhY2tDZWxsKHQsaSkscywtMSksZX1zeW5jU2Nyb2xsYmFjayhBKXtsZXQgdD1BLmdldFNjcm9sbGJhY2tDb3VudCgpO2lmKHQhPT10aGlzLl9yZW5kZXJlZFNjcm9sbGJhY2tDb3VudCl7aWYodD50aGlzLl9yZW5kZXJlZFNjcm9sbGJhY2tDb3VudCl7bGV0IGU9dC10aGlzLl9yZW5kZXJlZFNjcm9sbGJhY2tDb3VudCxzPXRoaXMucm93RWxzWzBdPz9udWxsLGk9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2ZvcihsZXQgbz1lLTE7bz49MDtvLS0pe2xldCBCPXRoaXMuX2J1aWxkU2Nyb2xsYmFja1Jvd0VsKEEsbyk7aS5hcHBlbmRDaGlsZChCKSx0aGlzLl9zY3JvbGxiYWNrUm93RWxzLnB1c2goQil9dGhpcy5jb250YWluZXIuaW5zZXJ0QmVmb3JlKGkscyl9ZWxzZXtsZXQgZT10aGlzLl9yZW5kZXJlZFNjcm9sbGJhY2tDb3VudC10O2ZvcihsZXQgcz0wO3M8ZTtzKyspe2xldCBpPXRoaXMuX3Njcm9sbGJhY2tSb3dFbHMuc2hpZnQoKTtpJiZpLnJlbW92ZSgpfX10aGlzLl9yZW5kZXJlZFNjcm9sbGJhY2tDb3VudD10fX1yZW5kZXIoQSl7bGV0IHQ9QS5nZXRSb3dzKCksZT1BLmdldENvbHMoKSxzPSExOyh0IT09dGhpcy5yb3dzfHxlIT09dGhpcy5jb2xzKSYmKHRoaXMuc2V0dXAoZSx0KSxzPSEwKSx0aGlzLnN5bmNTY3JvbGxiYWNrKEEpO2xldCBpPUEuZ2V0Q3Vyc29yKCksbz1pLnZpc2libGUsQj1pLnJvdyE9PXRoaXMucHJldkN1cnNvclJvd3x8aS5jb2whPT10aGlzLnByZXZDdXJzb3JDb2w7Zm9yKGxldCBFPTA7RTx0aGlzLnJvd3M7RSsrKXtsZXQgUT1zfHxBLmlzRGlydHlSb3coRSksQz1FPT09dGhpcy5wcmV2Q3Vyc29yUm93JiZCLG49RT09PWkucm93O2lmKFF8fEN8fG4mJkIpe2xldCBJPW4mJm8/aS5jb2w6LTE7dGhpcy5fYnVpbGRSb3dDb250ZW50KHRoaXMucm93RWxzW0VdLGg9PkEuZ2V0Q2VsbChFLGgpLHRoaXMuY29scyxJKX19dGhpcy5wcmV2Q3Vyc29yUm93PWkucm93LHRoaXMucHJldkN1cnNvckNvbD1pLmNvbCxBLmNsZWFyRGlydHkoKX19O3ZhciBVPXtBcnJvd1VwOiJceDFCW0EiLEFycm93RG93bjoiXHgxQltCIixBcnJvd1JpZ2h0OiJceDFCW0MiLEFycm93TGVmdDoiXHgxQltEIixIb21lOiJceDFCW0giLEVuZDoiXHgxQltGIn0sTT17QXJyb3dVcDoiXHgxQk9BIixBcnJvd0Rvd246Ilx4MUJPQiIsQXJyb3dSaWdodDoiXHgxQk9DIixBcnJvd0xlZnQ6Ilx4MUJPRCIsSG9tZToiXHgxQk9IIixFbmQ6Ilx4MUJPRiJ9LF89e0VudGVyOiJcciIsQmFja3NwYWNlOiJceDdGIixUYWI6IgkiLEVzY2FwZToiXHgxQiIsSW5zZXJ0OiJceDFCWzJ+IixEZWxldGU6Ilx4MUJbM34iLFBhZ2VVcDoiXHgxQls1fiIsUGFnZURvd246Ilx4MUJbNn4iLEYxOiJceDFCT1AiLEYyOiJceDFCT1EiLEYzOiJceDFCT1IiLEY0OiJceDFCT1MiLEY1OiJceDFCWzE1fiIsRjY6Ilx4MUJbMTd+IixGNzoiXHgxQlsxOH4iLEY4OiJceDFCWzE5fiIsRjk6Ilx4MUJbMjB+IixGMTA6Ilx4MUJbMjF+IixGMTE6Ilx4MUJbMjN+IixGMTI6Ilx4MUJbMjR+In0sbD1jbGFzc3tjb25zdHJ1Y3RvcihBLHQsZSl7dGhpcy5jb21wb3Npbmc9ITEsdGhpcy5lbGVtZW50PUEsdGhpcy5vbkRhdGE9dCx0aGlzLmdldEJyaWRnZT1lLHRoaXMudGV4dGFyZWE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKSx0aGlzLnRleHRhcmVhLnNldEF0dHJpYnV0ZSgiYXV0b2NhcGl0YWxpemUiLCJvZmYiKSx0aGlzLnRleHRhcmVhLnNldEF0dHJpYnV0ZSgiYXV0b2NvbXBsZXRlIiwib2ZmIiksdGhpcy50ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoImF1dG9jb3JyZWN0Iiwib2ZmIiksdGhpcy50ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoInNwZWxsY2hlY2siLCJmYWxzZSIpLHRoaXMudGV4dGFyZWEuc2V0QXR0cmlidXRlKCJlbnRlcmtleWhpbnQiLCJzZW5kIiksdGhpcy50ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLHRoaXMudGV4dGFyZWEuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwidGVybWluYWwgaW5wdXQiKTtsZXQgcz10aGlzLnRleHRhcmVhLnN0eWxlO3MucG9zaXRpb249ImFic29sdXRlIixzLmxlZnQ9Ii05OTk5cHgiLHMudG9wPSIwIixzLndpZHRoPSIxcHgiLHMuaGVpZ2h0PSIxcHgiLHMub3BhY2l0eT0iMCIscy5vdmVyZmxvdz0iaGlkZGVuIixzLmJvcmRlcj0iMCIscy5wYWRkaW5nPSIwIixzLm1hcmdpbj0iMCIscy5vdXRsaW5lPSJub25lIixzLnJlc2l6ZT0ibm9uZSIscy5wb2ludGVyRXZlbnRzPSJub25lIixzLmNhcmV0Q29sb3I9InRyYW5zcGFyZW50IixzLmNvbG9yPSJ0cmFuc3BhcmVudCIscy5iYWNrZ3JvdW5kPSJ0cmFuc3BhcmVudCIsQS5hcHBlbmRDaGlsZCh0aGlzLnRleHRhcmVhKSx0aGlzLl9vbktleURvd249dGhpcy5oYW5kbGVLZXlEb3duLmJpbmQodGhpcyksdGhpcy5fb25QYXN0ZT10aGlzLmhhbmRsZVBhc3RlLmJpbmQodGhpcyksdGhpcy5fb25Db21wb3NpdGlvblN0YXJ0PXRoaXMuaGFuZGxlQ29tcG9zaXRpb25TdGFydC5iaW5kKHRoaXMpLHRoaXMuX29uQ29tcG9zaXRpb25FbmQ9dGhpcy5oYW5kbGVDb21wb3NpdGlvbkVuZC5iaW5kKHRoaXMpLHRoaXMuX29uSW5wdXQ9dGhpcy5oYW5kbGVJbnB1dC5iaW5kKHRoaXMpLHRoaXMuX29uRm9jdXM9KCk9PnRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJmb2N1c2VkIiksdGhpcy5fb25CbHVyPSgpPT50aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiZm9jdXNlZCIpLHRoaXMudGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fb25LZXlEb3duKSx0aGlzLnRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIix0aGlzLl9vblBhc3RlKSx0aGlzLnRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLHRoaXMuX29uQ29tcG9zaXRpb25TdGFydCksdGhpcy50ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsdGhpcy5fb25Db21wb3NpdGlvbkVuZCksdGhpcy50ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsdGhpcy5fb25JbnB1dCksdGhpcy50ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fb25Gb2N1cyksdGhpcy50ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9vbkJsdXIpfWZvY3VzKCl7dGhpcy50ZXh0YXJlYS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pfWRlc3Ryb3koKXt0aGlzLnRleHRhcmVhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX29uS2V5RG93biksdGhpcy50ZXh0YXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKCJwYXN0ZSIsdGhpcy5fb25QYXN0ZSksdGhpcy50ZXh0YXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0Iix0aGlzLl9vbkNvbXBvc2l0aW9uU3RhcnQpLHRoaXMudGV4dGFyZWEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLHRoaXMuX29uQ29tcG9zaXRpb25FbmQpLHRoaXMudGV4dGFyZWEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLHRoaXMuX29uSW5wdXQpLHRoaXMudGV4dGFyZWEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX29uRm9jdXMpLHRoaXMudGV4dGFyZWEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fb25CbHVyKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiZm9jdXNlZCIpLHRoaXMudGV4dGFyZWEucmVtb3ZlKCl9aGFuZGxlS2V5RG93bihBKXtpZih0aGlzLmNvbXBvc2luZylyZXR1cm47aWYoKEEubWV0YUtleXx8QS5jdHJsS2V5KSYmQS5rZXk9PT0iYyIpe2xldCBlPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihlJiZlLnRvU3RyaW5nKCkubGVuZ3RoPjApcmV0dXJufWlmKChBLm1ldGFLZXl8fEEuY3RybEtleSkmJkEua2V5PT09InYiKXt0aGlzLnRleHRhcmVhLmZvY3VzKCk7cmV0dXJufWlmKEEubWV0YUtleSYmIUEuY3RybEtleSl7aWYoQS5rZXk9PT0iQmFja3NwYWNlIilBLnByZXZlbnREZWZhdWx0KCksdGhpcy5vbkRhdGEoIhUiKTtlbHNlIGlmKEEua2V5PT09ImEiKXtBLnByZXZlbnREZWZhdWx0KCk7bGV0IGU9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKGUpe2xldCBzPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cy5zZWxlY3ROb2RlQ29udGVudHModGhpcy5lbGVtZW50KSxlLnJlbW92ZUFsbFJhbmdlcygpLGUuYWRkUmFuZ2Uocyl9fXJldHVybn1BLnByZXZlbnREZWZhdWx0KCk7bGV0IHQ9dGhpcy5rZXlUb1NlcXVlbmNlKEEpO3QmJnRoaXMub25EYXRhKHQpfWhhbmRsZVBhc3RlKEEpe0EucHJldmVudERlZmF1bHQoKTtsZXQgdD1BLmNsaXBib2FyZERhdGE/LmdldERhdGEoInRleHQiKTtpZighdClyZXR1cm47bGV0IGU9dGhpcy5nZXRCcmlkZ2UoKTtlJiZlLmJyYWNrZXRlZFBhc3RlKCk/dGhpcy5vbkRhdGEoIlx4MUJbMjAwfiIrdCsiXHgxQlsyMDF+Iik6dGhpcy5vbkRhdGEodCl9aGFuZGxlQ29tcG9zaXRpb25TdGFydCgpe3RoaXMuY29tcG9zaW5nPSEwfWhhbmRsZUNvbXBvc2l0aW9uRW5kKEEpe3RoaXMuY29tcG9zaW5nPSExLEEuZGF0YSYmdGhpcy5vbkRhdGEoQS5kYXRhKSx0aGlzLnRleHRhcmVhLnZhbHVlPSIifWhhbmRsZUlucHV0KCl7aWYodGhpcy5jb21wb3NpbmcpcmV0dXJuO2xldCBBPXRoaXMudGV4dGFyZWEudmFsdWU7QSYmKHRoaXMub25EYXRhKEEpLHRoaXMudGV4dGFyZWEudmFsdWU9IiIpfWtleVRvU2VxdWVuY2UoQSl7aWYoQS5jdHJsS2V5JiYhQS5hbHRLZXkmJiFBLm1ldGFLZXkpe2lmKEEua2V5Lmxlbmd0aD09PTEpe2xldCBCPUEua2V5LnRvTG93ZXJDYXNlKCkuY2hhckNvZGVBdCgwKTtpZihCPj05NyYmQjw9MTIyKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKEItOTYpfWlmKEEua2V5PT09IlsiKXJldHVybiJceDFCIjtpZihBLmtleT09PSJcXCIpcmV0dXJuIhwiO2lmKEEua2V5PT09Il0iKXJldHVybiIdIjtpZihBLmtleT09PSJeIilyZXR1cm4iHiI7aWYoQS5rZXk9PT0iXyIpcmV0dXJuIh8ifWlmKEEua2V5PT09IkVudGVyIiYmQS5zaGlmdEtleSlyZXR1cm4iXHgxQlsxMzsydSI7aWYoQS5rZXk9PT0iVGFiIiYmQS5zaGlmdEtleSlyZXR1cm4iXHgxQltaIjtsZXQgdD1fW0Eua2V5XTtpZih0KXJldHVybiBBLmFsdEtleT8iXHgxQiIrdDp0O2xldCBlPXRoaXMuZ2V0QnJpZGdlKCksbz0oZSYmZS5jdXJzb3JLZXlzQXBwKCk/TTpVKVtBLmtleV07cmV0dXJuIG8/QS5hbHRLZXk/Ilx4MUIiK286bzpBLmtleS5sZW5ndGg9PT0xJiYhQS5jdHJsS2V5JiYhQS5tZXRhS2V5P0EuYWx0S2V5PyJceDFCIitBLmtleTpBLmtleTpudWxsfX07dmFyIHc9Y2xhc3N7Y29uc3RydWN0b3IoQSx0PXt9KXt0aGlzLmJyaWRnZT1udWxsLHRoaXMucmVuZGVyZXI9bnVsbCx0aGlzLmlucHV0PW51bGwsdGhpcy5yYWZJZD1udWxsLHRoaXMucmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fc2hvdWxkU2Nyb2xsVG9Cb3R0b209ITEsdGhpcy5lbGVtZW50PUEsdGhpcy53YXNtVXJsPXQud2FzbVVybCx0aGlzLmNvbHM9dC5jb2xzfHw4MCx0aGlzLnJvd3M9dC5yb3dzfHwyNCx0aGlzLmF1dG9SZXNpemU9dC5hdXRvUmVzaXplIT09ITEsdGhpcy5vbkRhdGE9dC5vbkRhdGF8fG51bGwsdGhpcy5vblRpdGxlPXQub25UaXRsZXx8bnVsbCx0aGlzLm9uUmVzaXplPXQub25SZXNpemV8fG51bGwsdGhpcy5fY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NvbnRhaW5lci5jbGFzc05hbWU9InRlcm0tZ3JpZCIsdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lciksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoInd0ZXJtIiksdC5jdXJzb3JCbGluayYmdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoImN1cnNvci1ibGluayIpLHRoaXMuX29uQ2xpY2tGb2N1cz0oKT0+e2xldCBlPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTsoIWV8fGUuaXNDb2xsYXBzZWQpJiZ0aGlzLmlucHV0Py5mb2N1cygpfSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX29uQ2xpY2tGb2N1cyl9YXN5bmMgaW5pdCgpe3RyeXtpZih0aGlzLmJyaWRnZT1hd2FpdCBhLmxvYWQodGhpcy53YXNtVXJsKSx0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIHRoaXM7dGhpcy5icmlkZ2UuaW5pdCh0aGlzLmNvbHMsdGhpcy5yb3dzKSx0aGlzLnJlbmRlcmVyPW5ldyBjKHRoaXMuX2NvbnRhaW5lciksdGhpcy5yZW5kZXJlci5zZXR1cCh0aGlzLmNvbHMsdGhpcy5yb3dzKSx0aGlzLmlucHV0PW5ldyBsKHRoaXMuZWxlbWVudCxBPT57dGhpcy5vbkRhdGE/dGhpcy5vbkRhdGEoQSk6dGhpcy53cml0ZShBKX0sKCk9PnRoaXMuYnJpZGdlKSx0aGlzLmF1dG9SZXNpemU/dGhpcy5fc2V0dXBSZXNpemVPYnNlcnZlcigpOnRoaXMuX2xvY2tIZWlnaHQoKSx0aGlzLmlucHV0LmZvY3VzKCksdGhpcy5faW5pdGlhbFJlbmRlcigpfWNhdGNoKEEpe3Rocm93IHRoaXMuZGVzdHJveSgpLG5ldyBFcnJvcihgd3Rlcm06IGZhaWxlZCB0byBpbml0aWFsaXplOiAke0EgaW5zdGFuY2VvZiBFcnJvcj9BLm1lc3NhZ2U6QX1gKX1yZXR1cm4gdGhpc31faXNTY3JvbGxlZFRvQm90dG9tKCl7bGV0IEE9dGhpcy5lbGVtZW50O3JldHVybiBBLnNjcm9sbEhlaWdodC1BLnNjcm9sbFRvcC1BLmNsaWVudEhlaWdodDw1fV9zY3JvbGxUb0JvdHRvbSgpe3RoaXMuZWxlbWVudC5zY3JvbGxUb3A9dGhpcy5lbGVtZW50LnNjcm9sbEhlaWdodH13cml0ZShBKXt0aGlzLmJyaWRnZSYmKHRoaXMuX3Nob3VsZFNjcm9sbFRvQm90dG9tPXRoaXMuX2lzU2Nyb2xsZWRUb0JvdHRvbSgpLHR5cGVvZiBBPT0ic3RyaW5nIj90aGlzLmJyaWRnZS53cml0ZVN0cmluZyhBKTp0aGlzLmJyaWRnZS53cml0ZVJhdyhBKSx0aGlzLl9zY2hlZHVsZVJlbmRlcigpKX1yZXNpemUoQSx0KXt0aGlzLmJyaWRnZSYmKHRoaXMuX3Nob3VsZFNjcm9sbFRvQm90dG9tPXRoaXMuX2lzU2Nyb2xsZWRUb0JvdHRvbSgpLHRoaXMuY29scz1BLHRoaXMucm93cz10LHRoaXMuYnJpZGdlLnJlc2l6ZShBLHQpLHRoaXMucmVuZGVyZXI/LnNldHVwKEEsdCksdGhpcy5fc2NoZWR1bGVSZW5kZXIoKSx0aGlzLm9uUmVzaXplJiZ0aGlzLm9uUmVzaXplKEEsdCkpfWZvY3VzKCl7dGhpcy5pbnB1dD90aGlzLmlucHV0LmZvY3VzKCk6dGhpcy5lbGVtZW50LmZvY3VzKCl9X3NjaGVkdWxlUmVuZGVyKCl7dGhpcy5yYWZJZD09bnVsbCYmKHRoaXMucmFmSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5yYWZJZD1udWxsLHRoaXMuX2RvUmVuZGVyKCl9KSl9X2luaXRpYWxSZW5kZXIoKXt0aGlzLl9kb1JlbmRlcigpfV9kb1JlbmRlcigpe2lmKCF0aGlzLmJyaWRnZXx8IXRoaXMucmVuZGVyZXIpcmV0dXJuO3RoaXMucmVuZGVyZXIucmVuZGVyKHRoaXMuYnJpZGdlKTtsZXQgQT10aGlzLmJyaWRnZS5nZXRTY3JvbGxiYWNrQ291bnQoKT4wO3RoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtc2Nyb2xsYmFjayIsQSksdGhpcy5fc2hvdWxkU2Nyb2xsVG9Cb3R0b20mJnRoaXMuX3Njcm9sbFRvQm90dG9tKCk7bGV0IHQ9dGhpcy5icmlkZ2UuZ2V0VGl0bGUoKTt0IT09bnVsbCYmdGhpcy5vblRpdGxlJiZ0aGlzLm9uVGl0bGUodCk7bGV0IGU9dGhpcy5icmlkZ2UuZ2V0UmVzcG9uc2UoKTtlIT09bnVsbCYmdGhpcy5vbkRhdGEmJnRoaXMub25EYXRhKGUpfV9sb2NrSGVpZ2h0KCl7bGV0IEE9Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnQpLHQ9cGFyc2VGbG9hdChBLmdldFByb3BlcnR5VmFsdWUoIi0tdGVybS1yb3ctaGVpZ2h0IikpfHwxNyxlPXRoaXMucm93cyp0LHM9KHBhcnNlRmxvYXQoQS5wYWRkaW5nVG9wKXx8MCkrKHBhcnNlRmxvYXQoQS5wYWRkaW5nQm90dG9tKXx8MCk7QS5ib3hTaXppbmc9PT0iYm9yZGVyLWJveCImJihzKz0ocGFyc2VGbG9hdChBLmJvcmRlclRvcFdpZHRoKXx8MCkrKHBhcnNlRmxvYXQoQS5ib3JkZXJCb3R0b21XaWR0aCl8fDApKSx0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0PWAke2Urc31weGB9X21lYXN1cmVDaGFyU2l6ZSgpe2xldCBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtBLmNsYXNzTmFtZT0idGVybS1jZWxsIixBLnRleHRDb250ZW50PSJXIixBLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsQS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLHRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChBKTtsZXQgdD1BLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGU9dC53aWR0aCxzPXQuaGVpZ2h0O3JldHVybiBBLnJlbW92ZSgpLGU9PT0wfHxzPT09MD9udWxsOnt3aWR0aDplLGhlaWdodDpzfX1fc2V0dXBSZXNpemVPYnNlcnZlcigpe2xldCBBPXRoaXMuX21lYXN1cmVDaGFyU2l6ZSgpO2lmKCFBKXJldHVybjtsZXQgdD1BLndpZHRoLGU9QS5oZWlnaHQ7dGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIocz0+e2xldCBpPXRoaXMuX21lYXN1cmVDaGFyU2l6ZSgpO2kmJih0PWkud2lkdGgsZT1pLmhlaWdodCk7Zm9yKGxldCBvIG9mIHMpe2xldHt3aWR0aDpCLGhlaWdodDpFfT1vLmNvbnRlbnRSZWN0LFE9TWF0aC5tYXgoMSxNYXRoLmZsb29yKEIvdCkpLEM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKEUvZSkpOyhRIT09dGhpcy5jb2xzfHxDIT09dGhpcy5yb3dzKSYmdGhpcy5yZXNpemUoUSxDKX19KSx0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMucmFmSWQhPW51bGwmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMucmFmSWQpLHRoaXMucmVzaXplT2JzZXJ2ZXImJnRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuaW5wdXQmJnRoaXMuaW5wdXQuZGVzdHJveSgpLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fb25DbGlja0ZvY3VzKSx0aGlzLmVsZW1lbnQuaW5uZXJIVE1MPSIifX07dmFyIEo9L1x4MWJcWyhbMC05O10qKW0vZyxMPTI1NjtmdW5jdGlvbiBOKHIpe2lmKCFyKXJldHVybiBudWxsO2xldCBBPXIuc3BsaXQoIjsiKSx0PVtdO2ZvcihsZXQgZT0wO2U8QS5sZW5ndGg7ZSsrKXtsZXQgcz1BW2VdO2lmKChzPT09IjM4Inx8cz09PSI0OCIpJiZBW2UrMV09PT0iNSIpe3QucHVzaChBW2VdLEFbZSsxXSxBW2UrMl0/PyIiKSxlKz0yO2NvbnRpbnVlfWlmKChzPT09IjM4Inx8cz09PSI0OCIpJiZBW2UrMV09PT0iMiIpe3QucHVzaChBW2VdLEFbZSsxXSxBW2UrMl0/PyIiLEFbZSszXT8/IiIsQVtlKzRdPz8iIiksZSs9NDtjb250aW51ZX1zPT09IjQifHxzPT09IjI0Inx8dC5wdXNoKHMpfXJldHVybiB0Lmxlbmd0aD8iXHgxQlsiK3Quam9pbigiOyIpKyJtIjoiIn12YXIgYj1jbGFzcyBleHRlbmRzIHd7cmVzaXplKEEsdCl7c3VwZXIucmVzaXplKE1hdGgubWluKEEsTCksdCl9d3JpdGUoQSl7dHlwZW9mIEE9PSJzdHJpbmciJiYoQT1BLnJlcGxhY2UoSiwodCxlKT0+e2xldCBzPU4oZSk7cmV0dXJuIHM9PT1udWxsP3Q6c30pKSxzdXBlci53cml0ZShBKX1yZXNldCgpeyF0aGlzLmJyaWRnZXx8IXRoaXMucmVuZGVyZXJ8fCh0aGlzLmJyaWRnZS5pbml0KHRoaXMuY29scyx0aGlzLnJvd3MpLHRoaXMucmVuZGVyZXIuc2V0dXAodGhpcy5jb2xzLHRoaXMucm93cyksdGhpcy5fc2NoZWR1bGVSZW5kZXIoKSl9YXN5bmMgaW5pdCgpe3JldHVybiB0aGlzLl9jYWxpYnJhdGVJbml0aWFsU2l6ZSgpLGF3YWl0IHN1cGVyLmluaXQoKSx0aGlzLmF1dG9SZXNpemUmJiF0aGlzLnJlc2l6ZU9ic2VydmVyJiYhdGhpcy5fZGVzdHJveWVkJiZ0aGlzLl9zY2hlZHVsZU9ic2VydmVyU2V0dXAoKSx0aGlzfV9jYWxpYnJhdGVJbml0aWFsU2l6ZSgpe2lmKCF0aGlzLmVsZW1lbnR8fCF0aGlzLl9jb250YWluZXJ8fCF0aGlzLmVsZW1lbnQuaXNDb25uZWN0ZWQpcmV0dXJuO3RoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7bGV0IEE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO0EuY2xhc3NOYW1lPSJ0ZXJtLWNlbGwiLEEuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dmlzaWJpbGl0eTpoaWRkZW47bGVmdDotOTk5OXB4O3RvcDowOyIsQS50ZXh0Q29udGVudD0iVyIsdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKEEpO2xldCB0PUEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZT10LndpZHRoLHM9dC5oZWlnaHQ7aWYoQS5yZW1vdmUoKSxlPD0wfHxzPD0wKXJldHVybjtsZXQgaT1nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudCksbz0ocGFyc2VGbG9hdChpLnBhZGRpbmdMZWZ0KXx8MCkrKHBhcnNlRmxvYXQoaS5wYWRkaW5nUmlnaHQpfHwwKSxCPShwYXJzZUZsb2F0KGkucGFkZGluZ1RvcCl8fDApKyhwYXJzZUZsb2F0KGkucGFkZGluZ0JvdHRvbSl8fDApLEU9dGhpcy5lbGVtZW50LmNsaWVudFdpZHRoLW8sUT10aGlzLmVsZW1lbnQuY2xpZW50SGVpZ2h0LUI7aWYoRTw9MHx8UTw9MClyZXR1cm47bGV0IEM9TWF0aC5taW4oTWF0aC5tYXgoMSxNYXRoLmZsb29yKEUvZSkpLEwpLG49TWF0aC5tYXgoMSxNYXRoLmZsb29yKFEvcykpO3RoaXMuY29scz1DLHRoaXMucm93cz1ufV9zY2hlZHVsZU9ic2VydmVyU2V0dXAoKXtpZih0aGlzLl9vYnNlcnZlclNldHVwUGVuZGluZylyZXR1cm47dGhpcy5fb2JzZXJ2ZXJTZXR1cFBlbmRpbmc9ITA7bGV0IEE9MCx0PTEyMCxlPSgpPT57aWYodGhpcy5fZGVzdHJveWVkfHx0aGlzLnJlc2l6ZU9ic2VydmVyKXt0aGlzLl9vYnNlcnZlclNldHVwUGVuZGluZz0hMTtyZXR1cm59aWYodGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodCx0aGlzLl9tZWFzdXJlQ2hhclNpemUoKSYmdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoPjAmJnRoaXMuZWxlbWVudC5jbGllbnRIZWlnaHQ+MCl7dGhpcy5fc2V0dXBSZXNpemVPYnNlcnZlcigpLHRoaXMuX29ic2VydmVyU2V0dXBQZW5kaW5nPSExO3JldHVybn1pZigrK0E+PXQpe3RoaXMuX29ic2VydmVyU2V0dXBQZW5kaW5nPSExO3JldHVybn1BPD04P3JlcXVlc3RBbmltYXRpb25GcmFtZShlKTpzZXRUaW1lb3V0KGUsNTApfTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSl9cmVtZWFzdXJlKCl7aWYoIXRoaXMuYnJpZGdlfHwhdGhpcy5yZW5kZXJlcilyZXR1cm47dGhpcy5hdXRvUmVzaXplJiYhdGhpcy5yZXNpemVPYnNlcnZlciYmIXRoaXMuX2Rlc3Ryb3llZCYmKHRoaXMuX21lYXN1cmVDaGFyU2l6ZSgpJiZ0aGlzLmVsZW1lbnQuY2xpZW50V2lkdGg+MCYmdGhpcy5lbGVtZW50LmNsaWVudEhlaWdodD4wP3RoaXMuX3NldHVwUmVzaXplT2JzZXJ2ZXIoKTp0aGlzLl9zY2hlZHVsZU9ic2VydmVyU2V0dXAoKSk7bGV0IEE9dGhpcy5fbWVhc3VyZUNoYXJTaXplKCk7aWYoIUEpcmV0dXJuO2xldCB0PWdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50KSxlPXRoaXMuZWxlbWVudC5jbGllbnRXaWR0aC0ocGFyc2VGbG9hdCh0LnBhZGRpbmdMZWZ0KXx8MCktKHBhcnNlRmxvYXQodC5wYWRkaW5nUmlnaHQpfHwwKSxzPXRoaXMuZWxlbWVudC5jbGllbnRIZWlnaHQtKHBhcnNlRmxvYXQodC5wYWRkaW5nVG9wKXx8MCktKHBhcnNlRmxvYXQodC5wYWRkaW5nQm90dG9tKXx8MCk7aWYoZTw9MHx8czw9MClyZXR1cm47bGV0IGk9TWF0aC5taW4oTWF0aC5tYXgoMSxNYXRoLmZsb29yKGUvQS53aWR0aCkpLEwpLG89TWF0aC5tYXgoMSxNYXRoLmZsb29yKHMvQS5oZWlnaHQpKTtpIT09dGhpcy5jb2xzfHxvIT09dGhpcy5yb3dzP3RoaXMucmVzaXplKGksbyk6dGhpcy5fc2NoZWR1bGVSZW5kZXIoKX19O3JldHVybiBrKE8pO30pKCk7Cg=="),
|