D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
Filename :
serp_3.json
back
Copy
{"success":true,"settings":{"hash":"3","url":"https:\/\/www.google.com\/search?q=target+crinkle+comforter&as_rights=&num=100&start=0&pws=0&hl=en&near=United+States&uule=w+CAIQICINVW5pdGVkIFN0YXRlcw&gws_rd=cr&gl=US&glp=1&gbv=1"},"code":200,"exception":null,"bodyLen":84075,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1kb2RRYU1PM0VmM2NzZU1QbzR2SzRRWSIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+UGxlYXNlIGNsaWNrIDxhIGhyZWY9Ii9odHRwc2VydmljZS9yZXRyeS9lbmFibGVqcz9zZWk9ZG9kUWFNTzNFZjNjc2VNUG80dks0UVkiPmhlcmU8L2E+IGlmIHlvdSBhcmUgbm90IHJlZGlyZWN0ZWQgd2l0aGluIGEgZmV3IHNlY29uZHMuPC9kaXY+PC9ub3NjcmlwdD48c2NyaXB0IG5vbmNlPSIxUHMyaXNUcFIwcGlDbmdsSjlONVB3Ij4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09CihmdW5jdGlvbigpe2Z1bmN0aW9uIEEoYyl7cmV0dXJuIGN9dmFyIHU9dGhpc3x8c2VsZixQPWZ1bmN0aW9uKGMpe3JldHVybiBBLmNhbGwodGhpcyxjKX0sej1mdW5jdGlvbihjLGIsTCxLLHgsSSxYLEMsRixKLG0sSCl7Zm9yKEo9KEg9NCxiKTs7KXRyeXtpZihIPT1LKWJyZWFrO2Vsc2UgaWYoSD09MzEpdS5jb25zb2xlW3hdKG0ubWVzc2FnZSksSD0yODtlbHNlIGlmKEg9PWMpSD11LmNvbnNvbGU\/MzE6Mjg7ZWxzZSBpZihIPT00NClKPWIsSD1jO2Vsc2UgaWYoSD09OClKPTgwLEM9Ri5jcmVhdGVQb2xpY3koSSx7Y3JlYXRlSFRNTDpQLGNyZWF0ZVNjcmlwdDpQLGNyZWF0ZVNjcmlwdFVSTDpQfSksSD0yODtlbHNlIGlmKEg9PTQpRj11LnRydXN0ZWRUeXBlcyxDPVgsSD1MO2Vsc2V7aWYoSD09NjMpcmV0dXJuIEM7aWYoSD09TClIPUYmJkYuY3JlYXRlUG9saWN5Pzg6NjM7ZWxzZSBpZihIPT0yOClyZXR1cm4gSj1iLEN9fWNhdGNoKFEpe2lmKEo9PWIpdGhyb3cgUTtKPT04MCYmKG09USxIPTQ0KX19OygwLGV2YWwpKGZ1bmN0aW9uKGMsYil7cmV0dXJuKGI9eig2Niw1Myw2NSw0MCwiZXJyb3IiLCJrcyIsbnVsbCkpJiZjLmV2YWwoYi5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEwpe3JldHVybiBiLmNyZWF0ZVNjcmlwdChMKX06ZnVuY3Rpb24oTCl7cmV0dXJuIiIrTH19KHUpKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgSmY9ZnVuY3Rpb24oSCxMLGMsQSxDLGIpe2ZvcihDPTY1O0MhPTMwOylpZihDPT03MCl0aGlzLnprPXRoaXMuemssdGhpcy5PPXRoaXMuTyxDPTIzO2Vsc2UgaWYoQz09OTYpQT10eXBlb2YgYyxiPUE9PUwmJmMhPW51bGx8fEE9PSJmdW5jdGlvbiIsQz00MjtlbHNlIGlmKEM9PTY0KWI9dHlwZW9mIEEuY2xhc3NOYW1lPT1jP0EuY2xhc3NOYW1lOkEuZ2V0QXR0cmlidXRlJiZBLmdldEF0dHJpYnV0ZShMKXx8IiIsQz02OTtlbHNlIGlmKEM9PTY5KUM9KEgrMyY1Nyk8SCYmKEgrNF4yMik+PUg\/NzA6MjM7ZWxzZSBpZihDPT00NilDPShIKzFeMjApPj1IJiYoSCs0XjE3KTxIPzk2OjQyO2Vsc2V7aWYoQz09MjMpcmV0dXJuIGI7Qz09NDI\/Qz0oSHw0OCk9PUg\/NjQ6Njk6Qz09NjUmJihDPTQ2KX19LGlhPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSx1LEssSixRLFAseCl7Zm9yKFA9MjE7UCE9NTI7KWlmKFA9PTMyKUEuc2V0QXR0cmlidXRlKEYsQyksUD00NDtlbHNlIGlmKFA9PTEzKVA9KEwtNHw0Myk8TCYmTC0zPDwxPj1MPzI0OjQ0O2Vsc2UgaWYoUD09MjEpUD00MztlbHNle2lmKFA9PTEyKXJldHVybiB4O2lmKFA9PTU3KVA9SzxtLmxlbmd0aD85NToxMztlbHNlIGlmKFA9PTc5KWIuVy5yZW1vdmUoU3RyaW5nKG0pLEEsdSxDKSxQPTEzO2Vsc2UgaWYoUD09OTUpaWEoMCw1LCJvYmplY3QiLEEsQyxiLEYsbVtLXSksUD02NDtlbHNlIGlmKFA9PTMzKW09Z3gsYiBpbiBtP0Euc2V0QXR0cmlidXRlKEYsbVtiXSk6QS5yZW1vdmVBdHRyaWJ1dGUoRiksUD00NDtlbHNlIGlmKFA9PTc4KVA9Yj8yMzoxMztlbHNlIGlmKFA9PTQ5KShKPVEuVnQobSxDLHUsQSkpJiZ1YShKLDAsIm9uIiw0NiksUD0xMztlbHNlIGlmKFA9PTk3KVA9YiYmYltMcl0\/Nzk6Nzg7ZWxzZXtpZihQPT03NSl0aHJvdyBFcnJvcigiSW52YWxpZCBkZWNvcmF0b3IgZnVuY3Rpb24gIitIKTtpZihQPT00MylQPShMKzQmNzYpPj1MJiYoTC0xXjUpPEw\/NTM6MTM7ZWxzZSBpZihQPT04OClQPVE\/NDk6MTM7ZWxzZSBpZihQPT00MCl1PXt9LGd4PSh1LmF0b21pYz1mYWxzZSx1LmF1dG9jb21wbGV0ZT0ibm9uZSIsdS5kcm9wZWZmZWN0PSJub25lIix1Lmhhc3BvcHVwPWZhbHNlLHVbSF09Im9mZiIsdS5tdWx0aWxpbmU9ZmFsc2UsdS5tdWx0aXNlbGVjdGFibGU9ZmFsc2UsdS5vcmllbnRhdGlvbj0idmVydGljYWwiLHUucmVhZG9ubHk9ZmFsc2UsdS5yZWxldmFudD0iYWRkaXRpb25zIHRleHQiLHUucmVxdWlyZWQ9ZmFsc2UsdVtjXT0ibm9uZSIsdS5idXN5PWZhbHNlLHUuZGlzYWJsZWQ9ZmFsc2UsdS5oaWRkZW49ZmFsc2UsdS5pbnZhbGlkPSJmYWxzZSIsdSksUD0zMztlbHNlIGlmKFA9PTUzKVA9QXJyYXkuaXNBcnJheShtKT82MTo5O2Vsc2UgaWYoUD09NzQpUD1jPzUwOjY3O2Vsc2UgaWYoUD09NjEpSz1ILFA9NDI7ZWxzZSBpZihQPT00NylQPWd4PzMzOjQwO2Vsc2UgaWYoUD09MTQpUD1DPT09IiJ8fEM9PXZvaWQgMD80NzozMjtlbHNlIGlmKFA9PTQyKVA9NTc7ZWxzZSBpZihQPT0yMylRPXpLKDIzLGIsNzQpLFA9ODg7ZWxzZSBpZihQPT05KXU9SmYoNDUsYyxGKT8hIUYuY2FwdHVyZTohIUYsQT1XKDQ5LEEpLFA9OTc7ZWxzZSBpZihQPT0yNClBcnJheS5pc0FycmF5KEMpJiYoQz1DLmpvaW4oIiAiKSksRj0iYXJpYS0iK2IsUD0xNDtlbHNlIGlmKFA9PTY0KUsrKyxQPTU3O2Vsc2V7aWYoUD09NjcpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK2MpO1A9PTQ0P1A9KExeMjgpPj4zPT0xPzc0OjEyOlA9PTUwJiYoUD10eXBlb2YgSCE9PSJmdW5jdGlvbiI\/NzU6MTIpfX19fSx4eT1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSxQKXt7UT05MDt3aGlsZShRIT01OSlpZihRPT0yMSltPVcoNDgsbSksdSYmdVtMcl0\/dS5XLmFkZChTdHJpbmcoYiksbSxjLEpmKDEzLCJvYmplY3QiLEYpPyEhRi5jYXB0dXJlOiEhRixDKTpBZigyNixmYWxzZSwib2JqZWN0IixDLGIsYyx1LEYsbSksUT02MTtlbHNlIGlmKFE9PTIwKUo9ZnVuY3Rpb24oeCl7cmV0dXJuIGMuY2FsbChKLnNyYyxKLmxpc3RlbmVyLHgpfSxjPW1RLFA9SixRPTU7ZWxzZSBpZihRPT0yOClkZWxldGUgQy5CW2JdLEMueXQtLSxRPTk1O2Vsc2UgaWYoUT09NDApUT1BcnJheS5pc0FycmF5KGIpPzIzOjIxO2Vsc2UgaWYoUT09MjMpSz1BLFE9OTE7ZWxzZSBpZihRPT0wKVFhKEEsMTMsYyksUT0xNztlbHNlIGlmKFE9PTIpSysrLFE9NzE7ZWxzZSBpZihRPT05MSlRPTcxO2Vsc2UgaWYoUT09ODYpYj1BLnR5cGUsUT0zNTtlbHNlIGlmKFE9PTk1KVE9KEw+PjImNik8NCYmTD4+MT49LTM5PzQwOjYxO2Vsc2UgaWYoUT09NSlRPShMJjkxKT09TD84Njo5NTtlbHNlIGlmKFE9PTE3KVE9Qy5CW2JdLmxlbmd0aD09MD8yODo5NTtlbHNle2lmKFE9PTYxKXJldHVybiBQO1E9PTM1P1E9YiBpbiBDLkImJnVhKEMuQltiXSxBLDEsOSk\/MDo5NTpRPT05MD9RPTgwOlE9PTgwP1E9KEwmSCk9PUw\/MjA6NTpRPT03MT9RPUs8Yi5sZW5ndGg\/Mzk6NjE6UT09MzkmJih4eSgxMTgsNyx0cnVlLDAsQyxiW0tdLEYsbSx1KSxRPTIpfX19LFdXPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSx1KXt7Rj01MTt3aGlsZShGIT02NylpZihGPT03NSlGPUMrMj4+MjxDJiYoQyszXjMwKT49Qz8zMjo0ODtlbHNlIGlmKEY9PTI1KW09ZnVuY3Rpb24oKXt9LG0ucHJvdG90eXBlPWMucHJvdG90eXBlLEwuRD1jLnByb3RvdHlwZSxMLnByb3RvdHlwZT1uZXcgbSxMLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1MLEwuRmc9ZnVuY3Rpb24oSyxKLFEpe2Zvcih2YXIgUD00NjtQIT04MjspaWYoUD09NDYpdmFyIHg9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0oUD00MixBKSksST1BO2Vsc2UgaWYoUD09NzQpUD1JPGFyZ3VtZW50cy5sZW5ndGg\/NDk6MTU7ZWxzZSBpZihQPT00OSl4W0ktQV09YXJndW1lbnRzW0ldLFA9Nzc7ZWxzZSBpZihQPT03NylJKyssUD03NDtlbHNle2lmKFA9PTE1KXJldHVybiBjLnByb3RvdHlwZVtKXS5hcHBseShLLHgpO1A9PTQyJiYoUD03NCl9fSxGPUg7ZWxzZXtpZihGPT1IKXJldHVybiB1O0Y9PTQ4P0Y9QysxPj4yPEMmJihDLTh8MjUpPj1DPzI1Okg6Rj09NTE\/Rj03NTpGPT0zMiYmKEwuZ3goZnVuY3Rpb24oSyl7Yj1LfSxBLGMpLHU9YixGPTQ4KX19fSxBZj1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSxQLHgsSSl7e3g9MjM7d2hpbGUoeCE9MTEpaWYoeD09NzgpRi5hdHRhY2hFdmVudChUKDE4LCJvbiIsQy50b1N0cmluZygpKSxLKSx4PTM1O2Vsc2UgaWYoeD09MTcpdT0wLHg9NzE7ZWxzZSBpZih4PT0zNil4PUFycmF5LmlzQXJyYXkobSk\/MTc6MzI7ZWxzZXtpZih4PT0zNyl0aHJvdyBFcnJvcigiYWRkRXZlbnRMaXN0ZW5lciBhbmQgYXR0YWNoRXZlbnQgYXJlIHVuYXZhaWxhYmxlLiIpO2lmKHg9PTU1KXg9Ri5hdHRhY2hFdmVudD83ODoyMjtlbHNlIGlmKHg9PTQ4KXg9Qz8yOjE5O2Vsc2UgaWYoeD09NTApSUd8fChtPUopLG09PT12b2lkIDAmJihtPUwpLEYuYWRkRXZlbnRMaXN0ZW5lcihDLnRvU3RyaW5nKCksSyxtKSx4PTM1O2Vsc2UgaWYoeD09MjUpQWYoMzgsdHJ1ZSwib2JqZWN0IixBLEMsYixGLG1bdV0pLHg9NztlbHNle2lmKHg9PTIwKXJldHVybiBJO2lmKHg9PTk1KXg9SCszPj4zPj0wJiZILTk8MTc\/Mzo1NztlbHNlIGlmKHg9PTM1KVhqKysseD0yMDtlbHNlIGlmKHg9PTU3KXg9KEgtMl4xMCk+PUgmJihIKzJeNyk8SD81MTo3NTtlbHNlIGlmKHg9PTc1KXg9SCszPj0yMyYmKEheOSk8Mzc\/NDg6MjA7ZWxzZSBpZih4PT0zMiliPVcoNTAsYiksQyYmQ1tMcl0\/Qy5XLmFkZChTdHJpbmcobSksYixmYWxzZSxKZigxNCxjLEYpPyEhRi5jYXB0dXJlOiEhRixBKTpBZigyNyxmYWxzZSwib2JqZWN0IixBLG0sZmFsc2UsQyxGLGIpLHg9OTU7ZWxzZSBpZih4PT04OSlLPXh5KDExOCwyMCksUS5wcm94eT1LLEsuc3JjPUYsSy5saXN0ZW5lcj1RLHg9NTY7ZWxzZSBpZih4PT0xNil4PSgoSF41KSYxMCk9PTI\/NTk6OTU7ZWxzZSBpZih4PT0zKXRoaXMudHlwZT1MLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1jLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLkR5PWZhbHNlLHg9NTc7ZWxzZSBpZih4PT0yMil4PUYuYWRkTGlzdGVuZXImJkYucmVtb3ZlTGlzdGVuZXI\/MTU6Mzc7ZWxzZXtpZih4PT0xOSl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7eD09Nz8odSsrLHg9NTQpOng9PTE1PyhGLmFkZExpc3RlbmVyKEspLHg9MzUpOng9PTUxP3g9NzU6eD09NTk\/eD1GJiZGLm9uY2U\/Mjc6MzY6eD09MTg\/eD1RLnByb3h5PzIwOjg5Ong9PTU0P3g9dTxtLmxlbmd0aD8yNTo5NTp4PT0yNz8oeHkoMTE4LDUsTCwwLEEsbSxGLGIsQykseD05NSk6eD09MjM\/eD0xNjp4PT03MT94PTU0Ong9PTU2P3g9Ri5hZGRFdmVudExpc3RlbmVyPzUwOjU1Ong9PTImJihKPUpmKDEyLGMsbSk\/ISFtLmNhcHR1cmU6ISFtLChQPXpLKDIzLEYsNzIpKXx8KEZbcHJdPVA9bmV3IHNVKEYpKSxRPVAuYWRkKEMsdSxiLEosQSkseD0xOCl9fX19fSxiYT1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSl7e209NDt3aGlsZShtIT00MClpZihtPT04KW09KEwmMjcpPT1MPzY2OjI4O2Vsc2UgaWYobT09NjMpbT0oTHw3KT4+ND84MDpIO2Vsc2UgaWYobT09MTQpbT10aGlzLnYubGVuZ3RoPDUwPzkzOjIwO2Vsc2UgaWYobT09MjApQT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqdGhpcy5uKSxBPDUwJiYodGhpcy52W0FdPWMpLG09ODtlbHNlIGlmKG09PTI4KW09KExeSCk8MTMmJihMXjI4KT49MTA\/MzE6NjM7ZWxzZSBpZihtPT02NilBLlAzJiZBLlAzLmZvckVhY2goYyx2b2lkIDApLG09Mjg7ZWxzZSBpZihtPT05Myl0aGlzLnYucHVzaChjKSxtPTg7ZWxzZSBpZihtPT00NCl0aGlzLm4rKyxtPTE0O2Vsc2UgaWYobT09NjUpbT1MLTk8PDE+PUwmJihMKzheMTApPEw\/NDQ6ODtlbHNle2lmKG09PTgwKXJldHVybiB1O209PTMxPyh0aGlzLk49YyxtPTYzKTptPT00P209NjU6bT09SCYmKGIuY2xhc3NMaXN0P2IuY2xhc3NMaXN0LnJlbW92ZShGKTpIVyg5NCwxOSxDLGMsRixiKSYmY1coMTcsNSxjLGIsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEhXKDk0LDM1LGMsYiksZnVuY3Rpb24oSyl7cmV0dXJuIEshPUZ9KS5qb2luKEEpKSxtPTgwKX19fSxrPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSx1LEssSil7e0o9Mzk7d2hpbGUoSiE9MTQpaWYoSj09NzEpbChMLGMsSCksSFtUS109Mjc5NixKPTcwO2Vsc2UgaWYoSj09OTUpe2lmKGMuSy5sZW5ndGgpe2MudHcmJiI6VFFSOlRRUjoiKCksYy5Kcz1ILGMudHc9dHJ1ZTt0cnl7bT1jLmwoKSxjLmh3PW0sYy5XMz1tLGMuWHI9MCxjLm4wPTAsYj10Zig1LG51bGwsIjoiLDI1NCwzLGMsSCksdT1DPzA6MTAsRj1jLmwoKS1jLlczLGMuQzArPUYsYy5PMiYmYy5PMihGLWMuTCxjLmcsYy5SLGMubjApLGMuUj1mYWxzZSxjLmc9ZmFsc2UsYy5MPTAsRjx1fHxjLlRrLS08PTB8fChGPU1hdGguZmxvb3IoRiksYy5iOC5wdXNoKEY8PUw\/RjoyNTQpKX1maW5hbGx5e2MudHc9ZmFsc2V9Sz1ifUo9MTh9ZWxzZXtpZihKPT0xOClyZXR1cm4gSztKPT00NT9KPUErMz49MTEmJihBPj4xJjgpPDc\/NzE6NzA6Sj09Mzk\/Sj00NTpKPT03MCYmKEo9QTw8MSYzPzE4Ojk1KX19fSxUPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSl7Zm9yKEY9MTI7RiE9NzI7KXtpZihGPT00MClyZXR1cm4gbTtGPT00NT8oQys9ODE5MixGPTQ0KTpGPT0xMz9GPSgoSHw3KSYyNik9PTI\/NTc6NjQ6Rj09OTk\/Rj0oSCY5MCk9PUg\/Nzg6MzU6Rj09Nzg\/KG09YyBpbiBVVT9VVVtjXTpVVVtjXT1MK2MsRj0zNSk6Rj09ODE\/KEE9d2luZG93LmJ0b2EsRj0xOSk6Rj09NjQ\/Rj1ILTI8MTQmJkg8PDE+PTExPzgxOjUzOkY9PTU3PyhMLlNKPWZ1bmN0aW9uKCl7cmV0dXJuIEwuZjA\/TC5mMDpMLmYwPW5ldyBMfSxMLmYwPXZvaWQgMCxGPTY0KTpGPT02OT8oYj0iIixDPTAsRj01MSk6Rj09Nzk\/KGM9QShiKS5yZXBsYWNlKC9cXCsvZywiLSIpLnJlcGxhY2UoL1xcLy9nLCJfIikucmVwbGFjZSgvPS9nLCIiKSxGPTY1KTpGPT00Mj8odGhpcy5saXN0ZW5lcj1jLHRoaXMucHJveHk9bnVsbCx0aGlzLnNyYz1MLHRoaXMudHlwZT1DLHRoaXMuY2FwdHVyZT0hIWIsdGhpcy5LMD1BLHRoaXMua2V5PSsrbGEsdGhpcy5Kdz10aGlzLmw4PWZhbHNlLEY9MTMpOkY9PTExPyhjPXZvaWQgMCxGPTY1KTpGPT01Mz9GPShIfDU2KT09SD82Mzo0MDpGPT0xOT9GPUE\/Njk6MTE6Rj09MzU\/Rj0oSHw3Mik9PUg\/NDI6MTM6Rj09NDQ\/Rj1DPEwubGVuZ3RoPzc1Ojc5OkY9PTEyP0Y9OTk6Rj09NjU\/KG09YyxGPTUzKTpGPT03NT8oYis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEwuc2xpY2UoQyxDKzgxOTIpKSxGPTQ1KTpGPT02Mz8obT0hIShDPWMuUXQsKEN8TCktfihDJkEpK35DKSxGPTQwKTpGPT01MSYmKEY9NDQpfX0sZD1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEope3JldHVybihMLTUmKChMXjE4KT4+Mz09KEwrMz4+MjxMJiYoTC04XjI3KT49TCYmKEE9Wy0xNCwtNDEsNzQsODgsLTQzLDQsQSw3MiwtNTcsLTQ5XSxLPWImNyx1PWt5LG09ZHhbQy5vXShDLnllKSxtW0Mub109ZnVuY3Rpb24oUSl7Sys9KEY9USw2KzcqYiksSyY9N30sbS5jb25jYXQ9ZnVuY3Rpb24oUSxQLHgsSSxYKXtyZXR1cm4oeD0oUT1jJTE2KzEsNTUqRipGLTMxOTAqRi0yMjAqYypjKkYpK0FbSys0MyY3XSpjKlErSCpjKmMqUStLKyh1KCl8MCkqUS0gLTIyNTUqYypGLVEqRixQPUFbeF0sRj12b2lkIDAsQSlbWD1LKzIxJjcsST1iJjIsKFh8SSktfihYJkkpLTFdPVAsQVtLKygyKihifDApLSAtMSt+Yi0oYiYtMykpXT0tNDEsUH0sSj1tKSwxKSYmKEguST9KPWFHKEguQSxIKTooYz1vRyg4LEgsdHJ1ZSksYyYxMjgmJihjXj0xMjgsQz1vRygyLEgsdHJ1ZSksYz0oQT1jPDwyLC0xLTIqfkMtKH5BXkMpKzIqKEF8fkMpKSksSj1jKSksMTEpKT09MiYmKEguST9KPWFHKEguQSxIKTooQz1vRyg4LEgsdHJ1ZSksQyYxMjgmJihDXj0xMjgsYz1vRygyLEgsdHJ1ZSksQz0oQT1DPDwyLC0xLTIqfmMtKH5BXmMpKzIqKEF8fmMpKSksSj1DKSksSn0sUWE9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyxKKXtmb3IoSj01MjtKIT04MzspaWYoSj09MzApdT1DPTAsQT1bXSxKPTU0O2Vsc2UgaWYoSj09MzIpQys9SCxiPShGPWI8PEgsbT1jW3VdLChGJm0pKzIqKEYmfm0pLShGXm0pKzIqKH5GJm0pKSxKPTE0O2Vsc2UgaWYoSj09MjgpSj05NDtlbHNlIGlmKEo9PTg3KUs9QSxKPTkzO2Vsc2UgaWYoSj09OTQpSj1DPjc\/MTc6MTg7ZWxzZSBpZihKPT00NilKPShMfDU2KT09TD8zNzo3NDtlbHNlIGlmKEo9PTE0KUo9OTQ7ZWxzZSBpZihKPT05MylKPShMJjc4KT09TD85Nzo1NTtlbHNlIGlmKEo9PTM3KXtpZigoQT1ILmxlbmd0aCxBKT5jKXtmb3IoQz1BcnJheShBKSxiPWM7YjxBO2IrKylDW2JdPUhbYl07Sz1DfWVsc2UgSz1bXTtKPTc0fWVsc2UgaWYoSj09OTYpe2ZvcihGIGluIG09YyxBLkIpe2ZvcihDPWMsYj1BLkJbRl07QzxiLmxlbmd0aDtDKyspKyttLFFhKGJbQ10sNyxIKTtkZWxldGUgKEEueXQtLSxBLkIpW0ZdfUo9MTF9ZWxzZSBpZihKPT0xOCl1KyssSj0xNjtlbHNlIGlmKEo9PTcpSC5sOD10cnVlLEgubGlzdGVuZXI9YyxILnByb3h5PWMsSC5zcmM9YyxILkswPWMsSj01ODtlbHNlIGlmKEo9PTU4KUo9KEx8NzIpPT1MPzk2OjExO2Vsc2UgaWYoSj09OTcpYj10eXBlb2YgQyxGPWIhPUg\/YjpDP0FycmF5LmlzQXJyYXkoQyk\/ImFycmF5IjpiOiJudWxsIixLPUY9PWN8fEY9PUgmJnR5cGVvZiBDLmxlbmd0aD09QSxKPTU1O2Vsc2UgaWYoSj09MTcpQy09OCxBLnB1c2goYj4+QyYyNTUpLEo9Mjg7ZWxzZXtpZihKPT0xMSlyZXR1cm4gSztKPT03ND9KPShMPj4xJjE1KT09MT8zMDo5MzpKPT01NT9KPSgoTHw1KSYxNCk+PTYmJihMLTcmMTYpPDg\/Nzo1ODpKPT01ND9KPTE2Oko9PTE2P0o9dTxjLmxlbmd0aD8zMjo4NzpKPT01MiYmKEo9NDYpfX0sSFc9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyl7Zm9yKHU9MTk7dSE9NDI7KWlmKHU9PTk3KXU9KEx8MTYpPT1MPzk1Ojg2O2Vsc2UgaWYodT09NzApSz1BLmNsYXNzTGlzdD9BLmNsYXNzTGlzdDpKZig0OSwiY2xhc3MiLGMsQSkubWF0Y2goL1xcUysvZyl8fFtdLHU9Nzc7ZWxzZSBpZih1PT01MClLPUYsdT04NjtlbHNlIGlmKHU9PTY0KW09SFcoOTQsMzQsQSxiKSxGPVcoMzIsYyxDLG0pPj1jLHU9NTA7ZWxzZSBpZih1PT0yMSlGPWIuY2xhc3NMaXN0LmNvbnRhaW5zKEMpLHU9NTA7ZWxzZSBpZih1PT04Nil1PShMXjM5KT4+NDwxJiYoKExeNzMpJjE1KT49Nj83MDo3NztlbHNlIGlmKHU9PTc5KUM9YyxLPWZ1bmN0aW9uKCl7cmV0dXJuIEM8QS5sZW5ndGg\/e2RvbmU6ZmFsc2UsdmFsdWU6QVtDKytdfTp7ZG9uZTp0cnVlfX0sdT05NztlbHNlIGlmKHU9PTE4KXU9NTU7ZWxzZSBpZih1PT0xOSl1PTc2O2Vsc2V7aWYodT09NTUpcmV0dXJuIEs7dT09NzY\/dT0oTCZIKT09TD83OTo5Nzp1PT05NT91PWIuY2xhc3NMaXN0PzIxOjY0OnU9PTc3JiYodT0oTHw5KT4+ND81NToxOCl9fSxSRz1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSxQLHgpe3t4PTgzO3doaWxlKHghPTk1KWlmKHg9PTk0KXg9KEh8MSk8MjUmJigoSHw0KSYxNSk+PTExPzg6Mzc7ZWxzZSBpZih4PT00MSlQPXRoaXMubj09PTA\/MDpNYXRoLnNxcnQodGhpcy5qSi90aGlzLm4pLHg9MTE7ZWxzZSBpZih4PT0zNil4PShIfDQ4KT09SD80MToxMTtlbHNlIGlmKHg9PTM1KXg9KEg+PjEmMTUpPT0xPzkwOjM2O2Vsc2UgaWYoeD09NTIpYy5oPSgoYy5oP2MuaCsifiI6IkU6IikrQS5tZXNzYWdlK0wrQS5zdGFjaykuc2xpY2UoMCwyMDQ4KSx4PTM1O2Vsc2UgaWYoeD09MzcpeD0oSCs3JjExKT09Mj81MjozNTtlbHNlIGlmKHg9PTkwKVA9TCYmTC5wYXJlbnROb2RlP0wucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChMKTpudWxsLHg9MzY7ZWxzZSBpZih4PT04KXtpZihKPWMuVy5CW1N0cmluZyhiKV0pe2ZvcihGPSEoSj1KLmNvbmNhdCgpLHU9TCwwKTt1PEoubGVuZ3RoOysrdSkoSz1KW3VdKSYmIUsubDgmJksuY2FwdHVyZT09QyYmKG09Sy5saXN0ZW5lcixRPUsuSzB8fEsuc3JjLEsuSncmJnh5KDExOCwyNCxudWxsLEssYy5XKSxGPW0uY2FsbChRLEEpIT09ZmFsc2UmJkYpO1A9RiYmIUEuZGVmYXVsdFByZXZlbnRlZH1lbHNlIFA9dHJ1ZTt4PTM3fWVsc2UgaWYoeD09ODMpeD05NDtlbHNlIGlmKHg9PTExKXJldHVybiBQfX0scT1mdW5jdGlvbihILEwsYyxBLEMsYixGKXtyZXR1cm4oSD4+KEgtOD4+Mz09MiYmKEE9ZHhbTC5vXShMLm91KSxBW0wub109ZnVuY3Rpb24oKXtyZXR1cm4gY30sQS5jb25jYXQ9ZnVuY3Rpb24obSl7Yz1tfSxGPUEpLDEpPj0tNjMmJihIPj4xJjgpPDYmJihBPXFmKDgsdHJ1ZSxjKSxBJjEyOCYmKEE9KEM9QSYxMjcsYj1xZig4LHRydWUsYyk8PEwsKEMmYikrfmItfihDfGIpKyh+QyZiKSkpLEY9QSksSD4+MjwyNykmJkg+PjE+PTE1JiYoRj0oYj1jW0FdPDxMfGNbKEF8MCkrMV08PDE2fGNbKEF8MCkrMl08PDgsQz1jWy0xLTIqfihBfDMpKyh+QV4zKV0sLTItfmItKGJ8fkMpKSksRn0sank9ZnVuY3Rpb24oSCxMLGMsQSl7Zm9yKGM9NzQ7YyE9OTI7KWlmKGM9PTEyKUJXLmNhbGwodGhpcyksdGhpcy5XPW5ldyBzVSh0aGlzKSx0aGlzLm9lPW51bGwsdGhpcy5tUD10aGlzLGM9OTg7ZWxzZSBpZihjPT04NCljPUwrMj49MTkmJihMKzImMTYpPDEzPzEyOjk4O2Vsc2UgaWYoYz09NjcpdGhpc1t0aGlzK0hdPXRoaXMsQT1Qcm9taXNlLnJlc29sdmUoKSxjPTc4O2Vsc2UgaWYoYz09OTgpYz0oTF4yMyk+PjM\/Nzg6Njc7ZWxzZXtpZihjPT03OClyZXR1cm4gQTtjPT02Nj8odGhpcy5uPT09MD9BPVswLDBdOih0aGlzLnYuc29ydChmdW5jdGlvbihDLGIpe3JldHVybiBDLWJ9KSxBPVt0aGlzLm4sdGhpcy52W3RoaXMudi5sZW5ndGg+PjFdXSksYz04NCk6Yz09NjE\/Yz0oTF4yOCk+PjM+PTImJkw+PjE8NT82Njo4NDpjPT03NCYmKGM9NjEpfX0sWnc9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUpe2ZvcihtPTg1O20hPTU7KXtpZihtPT04MylyZXR1cm4gdTttPT0zOT8oYj1BLGJePWI8PDEzLGI9KEY9Yj4+MTcsKGJ8MCkrfkYrKH5iJkYpLShifH5GKSksKGI9KGJeYjw8NSkmQyl8fChiPTEpLHU9Y15iLG09ODMpOm09PTkwP209TC01Pj4zPj0wJiYoKEx8MykmOCk8Mj8zOTo4MzptPT0xMT8odGhpcy5zcmM9Yyx0aGlzLkI9e30sdGhpcy55dD0wLG09MjcpOm09PTg1P209MTU6bT09ODQ\/KFZhLmNhbGwodGhpcyksY3x8RVV8fChFVT1uZXcgd3gpLHRoaXMuUWU9dGhpcy5ZPXRoaXMudTg9dGhpcy5QMz1ILHRoaXMuRnI9dm9pZCAwLHRoaXMuZk49ZmFsc2UsdGhpcy5OVj1ILHRoaXMucDA9ZmFsc2UsbT05MCk6bT09MTU\/bT1MLTk8PDE8TCYmTC03PDwyPj1MPzExOjI3Om09PTI3JiYobT0oTHwxNik9PUw\/ODQ6OTApfX0sVz1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLKXtmb3IodT00NDt1IT02NDspaWYodT09NTIpdT0oSHw0OCk9PUg\/Njg6ODI7ZWxzZSBpZih1PT00NSl1PShIfDYpPj4zPzc5OjMzO2Vsc2UgaWYodT09MzApdT0oSF40NCk8MjYmJkgrNj49MTY\/MTM6NTI7ZWxzZSBpZih1PT0yMSl0aGlzW3RoaXMrIiJdPXRoaXMsdT00NTtlbHNlIGlmKHU9PTY4KXR5cGVvZiBMPT09ImZ1bmN0aW9uIj9LPUw6KExbZXldfHwoTFtleV09ZnVuY3Rpb24oSil7cmV0dXJuIEwuaGFuZGxlRXZlbnQoSil9KSxLPUxbZXldKSx1PTgyO2Vsc2UgaWYodT09NTYpdT0oSHw3Mik9PUg\/Mjc6MzA7ZWxzZSBpZih1PT0xMyl7YTppZih0eXBlb2YgQT09PSJzdHJpbmciKUs9dHlwZW9mIGMhPT0ic3RyaW5nInx8Yy5sZW5ndGghPTE\/LTE6QS5pbmRleE9mKGMsTCk7ZWxzZXtmb3IoQz1MO0M8QS5sZW5ndGg7QysrKWlmKEMgaW4gQSYmQVtDXT09PWMpe0s9QzticmVhayBhfUs9LTF9dT01Mn1lbHNlIGlmKHU9PTgyKXU9KChIXjM1KSYxNSk+PTEwJiYoKEh8MikmMTYpPDk\/MjE6NDU7ZWxzZSBpZih1PT00NCl1PTU2O2Vsc2V7aWYodT09NzkpcmV0dXJuIEs7aWYodT09MzMpe2E6e2ZvcihiPVtMPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcywoRj1BLEMpLEw9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyxMPT10eXBlb2Ygc2VsZiYmc2VsZixMPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO0Y8Yi5sZW5ndGg7KytGKWlmKChtPWJbRl0pJiZtW2NdPT1NYXRoKXtLPW07YnJlYWsgYX10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpO311PTc5fWVsc2UgdT09MjcmJihLPWR4W2NdKGR4LnByb3RvdHlwZSx7cHJvdG90eXBlOkwsY29uc29sZTpMLGRvY3VtZW50OkwscHJvcGVydHlJc0VudW1lcmFibGU6TCxwb3A6TCxjYWxsOkwsc3BsaWNlOkwsc3RhY2s6TCxsZW5ndGg6TCxyZXBsYWNlOkwsZmxvb3I6TCxwYXJlbnQ6TH0pLHU9MzApfX0sZnI9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyl7Zm9yKEs9ODY7SyE9MTk7KWlmKEs9PUwpdGhpcy5uKyssQT1jLXRoaXMuWix0aGlzLlorPUEvdGhpcy5uLHRoaXMuakorPUEqKGMtdGhpcy5aKSxLPTM1O2Vsc2UgaWYoSz09NzApe2ZvcihiIGluKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoSFcoOTQsMzIsKEY9e30sInN0cmluZyIpLGMpLGZ1bmN0aW9uKEope0ZbSl09dHJ1ZX0pLEFycmF5KS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEEsZnVuY3Rpb24oSil7RltKXT10cnVlfSksbT0iIixGKW0rPW0ubGVuZ3RoPjA\/IiAiK2I6YjtLPShjVygxNywyNSwic3RyaW5nIixjLG0pLDQ2KX1lbHNlIGlmKEs9PTQ5KUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQSxmdW5jdGlvbihKLFEsUCl7Zm9yKFA9OTU7UCE9MjY7KVA9PTU1P1A9SFcoOTQsMTcsMCwic3RyaW5nIixKLGMpPzI2OjE2OlA9PTk5PyhjLmNsYXNzTGlzdC5hZGQoSiksUD0yNik6UD09MTY\/KFE9SmYoNDgsImNsYXNzIiwic3RyaW5nIixjKSxjVygxNyxILCJzdHJpbmciLGMsUSsoUS5sZW5ndGg+MD8iICIrSjpKKSksUD0yNik6UD09OTUmJihQPWMuY2xhc3NMaXN0Pzk5OjU1KX0pLEs9NDY7ZWxzZSBpZihLPT1IKUs9Yy5jbGFzc0xpc3Q\/NDk6NzA7ZWxzZSBpZihLPT04NilLPTczO2Vsc2UgaWYoSz09NzMpSz1DPDwxJjU\/MzU6TDtlbHNle2lmKEs9PTQ2KXJldHVybiB1O0s9PTM1JiYoSz0oQy0xfDMzKT49QyYmKEMtM14yOSk8Qz9IOjQ2KX19LE49ZnVuY3Rpb24oSCxMLGMpe2lmKEg9PTQzOHx8SD09MzA2KUwuRltIXT9MLkZbSF0uY29uY2F0KGMpOkwuRltIXT1xKDI4LEwsYyk7ZWxzZXt3aGlsZShMLmVKJiZIIT0zODMpe3JldHVybjtpZih0cnVlIT1bXSlicmVha31IPT0xMzZ8fEg9PTkzfHxIPT0yMDR8fEg9PTIwOHx8SD09MjE3fHxIPT00NDR8fEg9PTIwNnx8SD09MzE4fHxIPT0zOTJ8fEg9PTM3OT9MLkZbSF18fChMLkZbSF09ZCg0LDEwLEgsYyxMLDExMCkpOkwuRltIXT1kKDQsMTQsSCxjLEwsMTEzKX1IPT0zODMmJihMLlM9b0coMzIsTCxmYWxzZSksTC5QPXZvaWQgMCl9LHVhPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSx1LEssSixRKXt7UT0xO3doaWxlKFEhPTQ2KWlmKFE9PTkxKVE9bSYmbVtMcl0\/MTc6ODM7ZWxzZSBpZihRPT04MylDPUgudHlwZSxGPUgucHJveHksbS5yZW1vdmVFdmVudExpc3RlbmVyP20ucmVtb3ZlRXZlbnRMaXN0ZW5lcihDLEYsSC5jYXB0dXJlKTptLmRldGFjaEV2ZW50P20uZGV0YWNoRXZlbnQoVCgxNixjLEMpLEYpOm0uYWRkTGlzdGVuZXImJm0ucmVtb3ZlTGlzdGVuZXImJm0ucmVtb3ZlTGlzdGVuZXIoRiksWGotLSxiPXpLKDIzLG0sNzMpLFE9MzI7ZWxzZSBpZihRPT02MylRPXR5cGVvZiBIIT09Im51bWJlciImJkgmJiFILmw4PzgxOjQxO2Vsc2UgaWYoUT09NjgpYi5zcmM9bnVsbCxtW3ByXT1udWxsLFE9NDE7ZWxzZSBpZihRPT04NClRPShBPj4xJjEzKT09MT8yNzo3NTtlbHNlIGlmKFE9PTI3KUo9ISEoQy5BdyZMKSYmVCg2MSwwLEMsTCkhPUgmJighKGI9Qy5ZMiwoTHwwKS0gLTErKGJ8fkwpKXx8Qy5kaXNwYXRjaEV2ZW50KEZhKDgsMTcsMywyLGMsMTYsOCxMLEgpKSkmJiFDLk8sUT03NTtlbHNlIGlmKFE9PTE5KUMrPWMuY2hhckNvZGVBdCh1KSxDKz1DPDwxMCxDXj1DPj42LFE9MztlbHNlIGlmKFE9PTgpSD10cnVlLFE9NjE7ZWxzZSBpZihRPT03OSlRPTk0O2Vsc2UgaWYoUT09NTQpeHkoMTE4LDE5LG51bGwsSCxiKSxRPTE1O2Vsc2UgaWYoUT09NjkpQz1uZXcgdXQoTCx0aGlzKSxGPWMuSzB8fGMuc3JjLGI9Yy5saXN0ZW5lcixjLkp3JiZ1YShjLDAsIm9uIiw0NyksSD1iLmNhbGwoRixDKSxRPTYxO2Vsc2UgaWYoUT09MzIpUT1iPzU0OjE2O2Vsc2UgaWYoUT09MilDKz1DPDwzLEM9KGI9Qz4+MTEsMip+KEMmYiktfkMtfmIpLEs9QysoQzw8MTUpPj4+MCxtPW5ldyBOdW1iZXIoSyYoRj0xPDxMLC0oRiYxKS1+KEYmMSkrKEYmLTIpKyhGfC0yKSkpLG1bMF09KEs+Pj5MKSVILEo9bSxRPTMzO2Vsc2UgaWYoUT09MTUpUT1iLnl0PT1MPzY4OjQxO2Vsc2UgaWYoUT09NzUpUT0oQXw4MCk9PUE\/OTg6MTA7ZWxzZSBpZihRPT0xMClRPSgoQV42MikmMzEpPj0zMCYmKEE8PDEmMzIpPDI\/Mjg6MzM7ZWxzZSBpZihRPT00MSlRPShBfDMpPj40PzEzOjQ7ZWxzZSBpZihRPT04MSltPUguc3JjLFE9OTE7ZWxzZSBpZihRPT0zMylRPShBKzUmNTgpPj1BJiYoQS02fDQxKTxBPzYzOjQxO2Vsc2UgaWYoUT09NClDPVcoMzUsMCxMLEgpLChiPUM+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoSCxDLGMpLEo9YixRPTEzO2Vsc2V7aWYoUT09MTMpcmV0dXJuIEo7UT09Mz8odSsrLFE9OTQpOlE9PTYxPyhKPUgsUT0xMCk6UT09MT9RPTg0OlE9PTk0P1E9dTxjLmxlbmd0aD8xOToyOlE9PTk4P1E9Yy5sOD84OjY5OlE9PTI4Pyh1PUM9MCxRPTc5KTpRPT0xNz8oeHkoMTE4LDE3LG51bGwsSCxtLlcpLFE9NDEpOlE9PTE2JiYoUWEoSCwxMSxudWxsKSxRPTQxKX19fSxzVT1mdW5jdGlvbihIKXt3aGlsZSgiSSIpe3JldHVybiBady5jYWxsKHRoaXMsbnVsbCwxMCxIKTtpZighIiI9PSEoIVtdPT0oLTA9PT0wKSkpYnJlYWt9fSxYYT1mdW5jdGlvbihILEwpe3JldHVybiBGYS5jYWxsKHRoaXMsOCwxNywxNSxILEwpfSxWPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSx1LEssSixRLFAseCxJLFgpe3tYPTgyO3doaWxlKFghPTk3KWlmKFg9PTApdGhpcy5FMj1FLmRvY3VtZW50fHxkb2N1bWVudCxYPTM7ZWxzZSBpZihYPT0zKVg9KEg+PjEmMjIpPT0yPzgwOjkyO2Vsc2UgaWYoWD09NTcpe2E6e2Zvcih4PWIuc3BsaXQoTCksdT1MdCxtPUM7bTx4Lmxlbmd0aC1jO20rKyl7aWYoISgoSz14W21dLEspaW4gdSkpYnJlYWsgYTt1PXVbS119UT0oUD14W3gubGVuZ3RoLWNdLHUpW1BdLEo9RihRKSxKIT1RJiZKIT1BJiZKdSh1LFAse2NvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6Sn0pfVg9MzZ9ZWxzZSBpZihYPT0yMylYPShIKzkmNyk9PTQ\/MDozO2Vsc2UgaWYoWD09ODIpWD0yMztlbHNlIGlmKFg9PTk2KVg9Rj81NzozNjtlbHNlIGlmKFg9PTkyKVg9SD4+Mj49NSYmKChIXjY0KSYyMCk8MTY\/OTY6MzY7ZWxzZSBpZihYPT0zNilYPShIfDgwKT09SD80NTozODtlbHNlIGlmKFg9PTE5KUwoZnVuY3Rpb24oZyl7ZyhjKX0pLEk9W2Z1bmN0aW9uKCl7cmV0dXJuIGN9LGZ1bmN0aW9uKCl7fV0sWD02MDtlbHNlIGlmKFg9PTQ1KUk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEwsQXUpJiZMW0F1XXx8KExbQXVdPSsrQ3QpLFg9Mzg7ZWxzZSBpZihYPT0zOClYPShIXjUzKTwxMiYmKChIfDEpJjEzKT49MT8xOTo2MDtlbHNle2lmKFg9PTYwKXJldHVybiBJO1g9PTgwJiYoQS5LLnNwbGljZShMLEwsYyksWD05Mil9fX0sbD1mdW5jdGlvbihILEwsYyl7c3dpdGNoKCEoSD09NDM4fHxIPT0zMDYpKXtjYXNlIHRydWU6c3dpdGNoKCEoTC5lSiYmSCE9MzgzKSl7Y2FzZSB0cnVlIT1bXTohW3VuZGVmaW5lZF09PTA7YnJlYWs7Y2FzZSAhW10hPWZhbHNlOnJldHVybjticmVha31IPT0xMzZ8fEg9PTkzfHxIPT0yMDR8fEg9PTIwOHx8SD09MjE3fHxIPT00NDR8fEg9PTIwNnx8SD09MzE4fHxIPT0zOTJ8fEg9PTM3OT9MLkZbSF18fChMLkZbSF09ZCg0LDEzLEgsYyxMLDExMCkpOkwuRltIXT1kKDQsOSxILGMsTCwxMTMpO2JyZWFrO2Nhc2UgZmFsc2U6TC5GW0hdP0wuRltIXS5jb25jYXQoYyk6TC5GW0hdPXEoMjUsTCxjKTticmVha31IPT0zODMmJihMLlM9b0coMzIsTCxmYWxzZSksTC5QPXZvaWQgMCl9LG1kPWZ1bmN0aW9uKEgpe3JldHVybiBady5jYWxsKHRoaXMsbnVsbCwyNCxIKX0saXQ9ZnVuY3Rpb24oSCxMLGMpe3JldHVybiB0Zi5jYWxsKHRoaXMsMzIsSCxMLGMpfSxRdD1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSxQKXtmb3IoUD05MztQIT0yMzspaWYoUD09NzEpYj0obT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYi5wcm90b3R5cGUpKSYmbS5jb25zdHJ1Y3RvcixQPTQ2O2Vsc2UgaWYoUD09ODkpUD1ILTg+PjM9PTM\/MzA6ODU7ZWxzZSBpZihQPT05OSltKyssUD03NztlbHNlIGlmKFA9PTkzKVA9NjM7ZWxzZSBpZihQPT0wKXRoaXMuWD1GLFA9ODU7ZWxzZSBpZihQPT0yMSlQPShIPDwxJjEzKT49NCYmSC0xPDE1PzE5OjQ4O2Vsc2UgaWYoUD09NjUpUD02ODtlbHNlIGlmKFA9PTc5KXthOntmb3IoRj1MO0Y8Yi5sZW5ndGg7KytGKWlmKG09YltGXSwhbS5sOCYmbS5saXN0ZW5lcj09QSYmbS5jYXB0dXJlPT0hIUMmJm0uSzA9PWMpe1E9RjticmVhayBhfVE9LTF9UD0zMX1lbHNlIGlmKFA9PTYzKVA9KEgrM14zMSk8SCYmKEgrOCY2Nyk+PUg\/Nzk6MzE7ZWxzZSBpZihQPT03KVA9KEM9JGVbdV0pPzY1OjcxO2Vsc2UgaWYoUD09MzEpUD0oSCY5NCk9PUg\/NzM6MjE7ZWxzZSBpZihQPT0xMSl7aWYoKChiLnMrPShtPShGPShBfHxiLlhyKyssSz1iLkllPjAmJmIudHcmJmIuSnMmJmIuVTI8PTEmJiFiLkkmJiFiLmomJighQXx8Yi5ocy1DPjEpJiZkb2N1bWVudC5oaWRkZW49PUwsYi5Ycj09NCkpfHxLP2IubCgpOmIuaHcsSj1tLWIuaHcsSj4+MTQpPjAsYi5TKSYmKGIuU149KGIucysxPj4yKSooSjw8MikpLGIpLk49Yi5zKzE+PjIhPTB8fGIuTixGfHxLKWIuWHI9MCxiLmh3PW07Sz8oYi5JZT5iLm4wJiYoYi5uMD1iLkllKSxtLWIuVzM8Yi5JZS0oYz8yNTU6QT81OjIpP1E9TDooYi5ocz1DLHU9QihBPzMwNjo0MzgsYiksbCg0MzgsYixiLmkpLGIuSy5wdXNoKFtQVCx1LEE\/QysxOkMsYi5nLGIuUl0pLGIuaj1idCxRPXRydWUpKTpRPUwsUD04OX1lbHNlIGlmKFA9PTE2KW0gaW4gYiYmQS5jYWxsKHZvaWQgMCxiW21dLG0sQyksUD05OTtlbHNlIGlmKFA9PTc3KVA9bTxGPzE2OjIxO2Vsc2UgaWYoUD09MzUpdT1WKDgxLGIpLFA9NztlbHNlIGlmKFA9PTczKUY9Qy5sZW5ndGgsYj10eXBlb2YgQz09PSJzdHJpbmciP0Muc3BsaXQoTCk6QyxtPWMsUD01MztlbHNlIGlmKFA9PTUzKVA9Nzc7ZWxzZSBpZihQPT00NilQPTk3O2Vsc2UgaWYoUD09MzMpYj10aGlzLmNvbnN0cnVjdG9yLFA9OTg7ZWxzZSBpZihQPT0xOSlQPTQ4O2Vsc2UgaWYoUD09OClQPShGPWMpPzA6MzM7ZWxzZSBpZihQPT02OClGPUM\/dHlwZW9mIEMuU0o9PT0iZnVuY3Rpb24iP0MuU0ooKTpuZXcgQzpudWxsLFA9MDtlbHNlIGlmKFA9PTQ4KVA9KEheOTIpPj40Pzg5OjExO2Vsc2V7aWYoUD09ODUpcmV0dXJuIFE7UD09MzA\/KG1kLmNhbGwodGhpcyxBKSxQPTgpOlA9PTk4P1A9OTc6UD09OTcmJihQPWI\/MzU6NjgpfX0sd3g9ZnVuY3Rpb24oKXtyZXR1cm4gVi5jYWxsKHRoaXMsMyl9LFl5PWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSx1LEssSixRKXtpZigoKChtXjMwKSYzfHwoSj1RPWZ1bmN0aW9uKCl7Zm9yKHZhciBQPTM3O1AhPTM7KWlmKFA9PTg5KVA9Yj09QT82ODo0NTtlbHNlIGlmKFA9PTQ1KXt2YXIgeD1yeChJLDMsQyw0NTApO1A9MTZ9ZWxzZSBpZihQPT01OCl1JiZLJiZ1LnJlbW92ZUV2ZW50TGlzdGVuZXIoSyxRLE1mKSxQPTM7ZWxzZSBpZihQPT0yNyl2YXIgST1baGYsYyxMLChQPTg0LHZvaWQgMCksdSxLLGFyZ3VtZW50c107ZWxzZSBpZihQPT01NilQPUMuRj8yNzo1ODtlbHNlIGlmKFA9PTExKVYoNSwwLEksQykseD1rKEYsSCxDLDIyLEYpLFA9MTY7ZWxzZSBpZihQPT02OCl7dmFyIFg9IUMuSy5sZW5ndGg7VigyMSwwLEksQyksWCYmayhGLEgsQywyNCxGKSxQPTE2fWVsc2V7aWYoUD09MTYpcmV0dXJuIHg7UD09Mzc\/UD1DLk49PUM\/NTY6MzpQPT04NCYmKFA9Yj09Mj8xMTo4OSl9fSksbV4xMCkmMyk9PTEpc3dpdGNoKCEoYz1PVSgic3BsaWNlIiwiYXJyYXkiLGIpPT09ImFycmF5Ij9iOltiXSx0aGlzLmgpKXtjYXNlIHRydWU6dHJ5e0w9W10sQz0hdGhpcy5LLmxlbmd0aCxWKDYsMCxbdlcsTCxjXSx0aGlzKSxWKDIyLDAsW1N5LEEsTF0sdGhpcyksRiYmIUN8fGsoRixILHRoaXMsNix0cnVlKX1jYXRjaChQKXtSRyg0MywiOiIsdGhpcyxQKSxBKHRoaXMuaCl9YnJlYWs7Y2FzZSBmYWxzZTpBKHRoaXMuaCk7YnJlYWt9cmV0dXJuIEp9LGNXPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSl7e209NzM7d2hpbGUobSE9OTgpe2lmKG09PUgpcmV0dXJuIEY7bT09Mjk\/KEY9TWF0aC5mbG9vcih0aGlzLkMwKyh0aGlzLmwoKS10aGlzLlczKSksbT1IKTptPT05NT8odHlwZW9mIEEuY2xhc3NOYW1lPT1jP0EuY2xhc3NOYW1lPUM6QS5zZXRBdHRyaWJ1dGUmJkEuc2V0QXR0cmlidXRlKCJjbGFzcyIsQyksbT03MCk6bT09Mz9tPUwtOT4+ND84NTozNzptPT03MD9tPSgoTF41NykmNyk9PTI\/Mjk6SDptPT03Mz9tPTM6bT09ODU\/bT0oTCY5Myk9PUw\/OTU6NzA6bT09MzcmJihGPSEhKGI9QS56ViwtfihifEMpLWMqKGImfkMpLSh+Yl5DKStjKihifH5DKSkmJiEhKEEuQXcmQyksbT04NSl9fX0selo9ZnVuY3Rpb24oKXtyZXR1cm4gQWYuY2FsbCh0aGlzLDM2KX0sQlc9ZnVuY3Rpb24oKXtyZXR1cm4gSmYuY2FsbCh0aGlzLDMpfSx0Zj1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSxQLHgpe0o9NjY7e3g9NjA7d2hpbGUoIk0iKXRyeXtpZihKPT05NilicmVhaztlbHNlIGlmKEo9PTY2KUo9MTtlbHNlIGlmKEo9PTc0KUo9Yi5LLmxlbmd0aD8xNDo0MTtlbHNlIGlmKEo9PTQxKVE9bSxKPTg7ZWxzZXtpZihKPT04NilyZXR1cm4gUTtKPT03Nz9KPTc0Oko9PTg\/Sj0oSF41Mik+PjQ8MiYmKEheNDQpPj05PzY6NDc6Sj09NDY\/Sj0oSCs5XjEzKTxIJiYoSCsxXjI3KT49SD83Nzo4Oko9PTk5P0o9NzQ6Sj09MT9KPShIJjExKT09SD83OjQ2Oko9PTI\/KHg9NjAsSj00OCk6Sj09NDQ\/Sj04NjpKPT00Nz9KPShIXjMxKSY2Pzg2OjQ0Oko9PTU0PyhLPWIuaixLKGZ1bmN0aW9uKCl7ayh0cnVlLEEsYiwxNix0cnVlKX0pLEo9NDEpOko9PTY\/KEt0LmNhbGwodGhpcyxMLGN8fHhlLlNKKCksQSksSj00Nyk6Sj09MjE\/KHg9NjAsUkcoNzUsYyxiLFApLEo9Mik6Sj09Nz8oUT1MLEo9NDYpOko9PTE0PyhiLmo9TCx1PWIuSy5wb3AoKSxKPTI3KTpKPT0yNz8oeD02OSxtPXJ4KHUsQyxiLDQ1MCksSj0yKTpKPT00OCYmKEo9RiYmYi5qPzU0Ojk5KX19Y2F0Y2goSSl7aWYoeD09NjApdGhyb3cgSTt4PT02OSYmKFA9SSxKPTIxKX19fSxCPWZ1bmN0aW9uKEgsTCxjKXtpZihjPUwuRltIXSxjPT09dm9pZCAwKXRocm93W0k3LDMwLEhdO3N3aXRjaCghYy52YWx1ZSl7Y2FzZSBudWxsIT0oW109PSFudWxsKSE9W106MDticmVhaztjYXNlICFbXSE9ZmFsc2U6cmV0dXJuIGMuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKGMuY3JlYXRlKEgqNCpIKy00MSpIKzU4KSxjKS5wcm90b3R5cGV9LGNUPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSl7cmV0dXJuIHlhLmNhbGwodGhpcyw5LDMsSCxMLGMsQSxDLGIsRixtKX0seWE9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyxKLFEpe3tKPTIyO3doaWxlKEohPTEyKWlmKEo9PTI1KVE9KEs9TmZbYy5zdWJzdHJpbmcoMCwzKSsiXyJdKT9LKGMuc3Vic3RyaW5nKDMpLEEsQyxiLEYsbSx1KTpWKDQ4LEEsYyksSj00ODtlbHNle2lmKEo9PTk5KXJldHVybiBRO0o9PTIyP0o9ODA6Sj09ODA\/Sj0oTCtIXjIzKT49TCYmTC04PDwxPEw\/MjU6NDg6Sj09NDg\/Sj0oTC0xfEgpPEwmJihMKzZeNSk+PUw\/MTQ6OTk6Sj09MTQmJihRPU1hdGguZmxvb3IodGhpcy5sKCkpLEo9OTkpfX19LHhlPWZ1bmN0aW9uKCl7cmV0dXJuIHRmLmNhbGwodGhpcyw3KX0seks9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyxKKXtmb3IoSz0zMztLIT01MTspaWYoSz09ODIpSz0oYzw8MSYxMyk8MSYmKGM+PjImMTQpPj0zPzg4OjgxO2Vsc2V7aWYoSz09NDYpcmV0dXJuIHU7aWYoSz09MzQpSz0oYyYxMSk9PWM\/NDU6OTtlbHNlIGlmKEs9PTkpSz0oY3w3Mik9PWM\/NzE6ODI7ZWxzZSBpZihLPT04OClIVC5jYWxsKHRoaXMsTD9MLnR5cGU6IiIpLHRoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbCx0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wLHRoaXMua2V5PSIiLHRoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTAsdGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PWZhbHNlLHRoaXMuc3RhdGU9bnVsbCx0aGlzLnBvaW50ZXJJZD0wLHRoaXMucG9pbnRlclR5cGU9IiIsdGhpcy50aW1lU3RhbXA9MCx0aGlzLlQ9bnVsbCxMJiZ0aGlzLmluaXQoTCxBKSxLPTgxO2Vsc2UgaWYoSz09MzMpSz0zNDtlbHNlIGlmKEs9PTcxKUE9TFtwcl0sdT1BIGluc3RhbmNlb2Ygc1U\/QTpudWxsLEs9ODI7ZWxzZSBpZihLPT00NSlKPWZ1bmN0aW9uKCl7fSxtPXZvaWQgMCxDPWNUKEwsZnVuY3Rpb24oUSxQKXtmb3IoUD02NDtQIT01NzspUD09MjI\/KEEmJmJ0KEEpLG09USxKKCksSj12b2lkIDAsUD01Nyk6UD09NjQmJihQPUo\/MjI6NTcpfSwhIUEpLGI9Q1swXSxGPUNbMV0sdT17dG9wOmZ1bmN0aW9uKFEsUCx4LEksWCxnLHope2ZvcihnPTMxO2chPUg7KWlmKGc9PTUxKWc9UD81Mjo3ODtlbHNle2lmKGc9PTc4KXJldHVybiBJPWIoeCksUSYmUShJKSxJO2c9PTU5Pyh6KCksZz1IKTpnPT0zMT8oej1mdW5jdGlvbigpe20oZnVuY3Rpb24obil7YnQoZnVuY3Rpb24oKXtRKG4pfSl9LHgpfSxnPTUxKTpnPT01PyhYPUosSj1mdW5jdGlvbigpe1goKSxidCh6KX0sZz1IKTpnPT01MiYmKGc9bT81OTo1KX19LHBlOmZ1bmN0aW9uKFEpe0YmJkYoUSl9fSxLPTk7ZWxzZSBpZihLPT01NCl7YTp7Zm9yKEYgaW4gQylpZihiLmNhbGwodm9pZCAwLENbRl0sRixDKSl7dT1BO2JyZWFrIGF9dT1MfUs9NDZ9ZWxzZSBLPT04MSYmKEs9KGN8MjQpPT1jPzU0OjQ2KX19LFo9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRil7d2hpbGUoISgoTF42KT4+NCkpe0M9ZChBLDcpO3tiPUg7d2hpbGUoYz5IKWI9Yjw8OHxxZig4LHRydWUsQSksYy0tfXdoaWxlKCJaIilpZihsKEMsQSxiKSxbXSlicmVhaztpZighIVtdKWJyZWFrfXJldHVybiBMKzE8MjQmJihMfDEpPj0xOCYmKEguST9GPWFHKEguQSxIKTooQz1vRyg4LEgsdHJ1ZSksQyYxMjgmJihDXj0xMjgsYz1vRygyLEgsdHJ1ZSksQz0oQT1DPDwyLC0xLTIqfmMtKH5BXmMpKzIqKEF8fmMpKSksRj1DKSksRn0sRz1mdW5jdGlvbihILEwsYyl7Yz1MLkZbSF07d2hpbGUoYz09PXZvaWQgMCl7dGhyb3dbSTcsMzAsSF07aWYoe30pYnJlYWt9aWYoYy52YWx1ZSlyZXR1cm4gYy5jcmVhdGUoKTtyZXR1cm4gYy5jcmVhdGUoSCo0KkgrLTQxKkgrNTgpLGMucHJvdG90eXBlfSxGYT1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEope3tKPTY0O3doaWxlKEohPTU2KWlmKEo9PTY0KUo9NjU7ZWxzZSBpZihKPT0zNSlBLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEMsZnVuY3Rpb24oUSl7YmEoNzcsNSwic3RyaW5nIiwiICIsMCxBLFEpfSk6Y1coTCwyOCwic3RyaW5nIixBLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChIVyg5NCwzMywic3RyaW5nIixBKSxmdW5jdGlvbihRKXtyZXR1cm4hKFcoMzQsMCxRLEMpPj0wKX0pLmpvaW4oIiAiKSksSj02MztlbHNlIGlmKEo9PTQpSj0oYyszXjMwKTxjJiZjLUg8PDI+PWM\/MzU6NjM7ZWxzZSBpZihKPT02NSlKPShjfDEpPj4zPzQ6NTc7ZWxzZXtpZihKPT02MylyZXR1cm4gSztpZihKPT01Nyl7YTp7c3dpdGNoKG0pe2Nhc2UgMTpLPXU\/ImRpc2FibGUiOiJlbmFibGUiO2JyZWFrIGE7Y2FzZSBBOks9dT8iaGlnaGxpZ2h0IjoidW5oaWdobGlnaHQiO2JyZWFrIGE7Y2FzZSBDOks9dT8iYWN0aXZhdGUiOiJkZWFjdGl2YXRlIjticmVhayBhO2Nhc2UgRjpLPXU\/InNlbGVjdCI6InVuc2VsZWN0IjticmVhayBhO2Nhc2UgYjpLPXU\/ImNoZWNrIjoidW5jaGVjayI7YnJlYWsgYTtjYXNlIDMyOks9dT8iZm9jdXMiOiJibHVyIjticmVhayBhO2Nhc2UgNjQ6Sz11PyJvcGVuIjoiY2xvc2UiO2JyZWFrIGF9dGhyb3cgRXJyb3IoIkludmFsaWQgY29tcG9uZW50IHN0YXRlIik7fUo9NH19fX0sbnQ9ZnVuY3Rpb24oSCxMKXtmb3IodmFyIGM9MTg7YyE9NjQ7KWlmKGM9PTgzKWM9MDtlbHNlIGlmKGM9PTYzKXt2YXIgQT1zT1tGXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixBKSYmKEhbQV09YltBXSksYz0xMn1lbHNlIGlmKGM9PTE4KXZhciBDPShjPTgzLDEpO2Vsc2UgaWYoYz09MTEpYz1GPHNPLmxlbmd0aD82Mzo3MjtlbHNlIGlmKGM9PTEyKUYrKyxjPTExO2Vsc2UgaWYoYz09NTMpe3ZhciBiPWFyZ3VtZW50c1tDXTtmb3IoQSBpbiBiKUhbQV09YltBXTt2YXIgRj0oYz05LDApfWVsc2UgYz09NzI\/KEMrKyxjPTApOmM9PTk\/Yz0xMTpjPT0wJiYoYz1DPGFyZ3VtZW50cy5sZW5ndGg\/NTM6NjQpfSxPVT1mdW5jdGlvbihILEwsYyxBLEMpe2lmKEE9dHlwZW9mIGMsQT09Im9iamVjdCIpc3dpdGNoKCFjKXtjYXNlICFbXT09MDpyZXR1cm4ibnVsbCI7YnJlYWs7Y2FzZSBmYWxzZTppZihjIGluc3RhbmNlb2YgQXJyYXkpcmV0dXJuIEw7c3dpdGNoKCEoYyBpbnN0YW5jZW9mIE9iamVjdCkpe2Nhc2UgdHJ1ZSE9W10hPSFbXTowO2JyZWFrO2Nhc2UgIVtdOnJldHVybiBBO2JyZWFrfUM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGMpO3N3aXRjaCghKEM9PSJbb2JqZWN0IFdpbmRvd10iKSl7Y2FzZSAtMD09PTA6MTticmVhaztjYXNlICEoMCE9ZmFsc2UpPT0hIiI9PSFbXTpyZXR1cm4ib2JqZWN0IjticmVha31zd2l0Y2goIShDPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgYy5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgYy5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgYy5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFjLnByb3BlcnR5SXNFbnVtZXJhYmxlKEgpKSl7Y2FzZSAhbnVsbCE9W106dHJ1ZTticmVhaztjYXNlIE5hTiE9PU5hTj09W106cmV0dXJuIEw7YnJlYWt9d2hpbGUoQz09IltvYmplY3QgRnVuY3Rpb25dInx8dHlwZW9mIGMuY2FsbCE9InVuZGVmaW5lZCImJnR5cGVvZiBjLnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIWMucHJvcGVydHlJc0VudW1lcmFibGUoImNhbGwiKSl7cmV0dXJuImZ1bmN0aW9uIjtpZighW10hPXRydWUpYnJlYWt9YnJlYWt9ZWxzZSBpZihBPT0iZnVuY3Rpb24iJiZ0eXBlb2YgYy5jYWxsPT0idW5kZWZpbmVkIilyZXR1cm4ib2JqZWN0IjtyZXR1cm4gQX0seT1mdW5jdGlvbihILEwsYyl7aWYoYz09NDM4fHxjPT0zMDYpSC5GW2NdP0guRltjXS5jb25jYXQoTCk6SC5GW2NdPXEoMjYsSCxMKTtlbHNle2lmKEguZUomJmMhPTM4MylyZXR1cm47Yz09MTM2fHxjPT05M3x8Yz09MjA0fHxjPT0yMDh8fGM9PTIxN3x8Yz09NDQ0fHxjPT0yMDZ8fGM9PTMxOHx8Yz09MzkyfHxjPT0zNzk\/SC5GW2NdfHwoSC5GW2NdPWQoNCw4LGMsTCxILDExMCkpOkguRltjXT1kKDQsMTIsYyxMLEgsMTEzKX1jPT0zODMmJihILlM9b0coMzIsSCxmYWxzZSksSC5QPXZvaWQgMCl9LEt0PWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSl7cmV0dXJuIFF0LmNhbGwodGhpcywzMixILEwsYyxBLEMsYixGLG0pfSxXVD1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLKXsoTC5wdXNoKCh1PUhbMF08PDI0LG09SFsxXTw8MTYsLTIqfnUrfm0rMioofnUmbSkrKH51fG0pKXxIWzJdPDw4fEhbM10pLEwpLnB1c2goKEE9KGI9SFs0XTw8MjQsRj1IWzVdPDwxNiwtKGImRiktMip+KGImRikrLTIrKGJeRikpfEhbNl08PDgsSz1IWzddLChBJkspLTErKEEmfkspLShBfH5LKSkpLEwucHVzaCgoYz1IWzhdPDwyNCxDPUhbOV08PDE2LH5DLTIqfihjfEMpKyh+Y3xDKSl8SFsxMF08PDh8SFsxMV0pfSxxST1mdW5jdGlvbihIKXtyZXR1cm4gUkcuY2FsbCh0aGlzLDMsSCl9LHR1PWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSx1LEssSixRLFApe2Zvcih1PShGPShLPUgucmVwbGFjZSgvXFxyXFxuL2csIlxcbiIpLDApLFE9W10sMCk7dTxLLmxlbmd0aDt1KyspbT1LLmNoYXJDb2RlQXQodSksbTwxMjg\/UVtGKytdPW06KG08MjA0OD9RW0YrK109KEM9bT4+TCwxOTIrKENeMTkyKS0ofkMmMTkyKSk6KC1+bSsofm1eNjQ1MTIpKyh+bSY2NDUxMik9PTU1Mjk2JiZ1KzE8Sy5sZW5ndGgmJihKPUsuY2hhckNvZGVBdCh1KzEpLChKfDY0NTEyKS1+KEomNjQ1MTIpK35KLSh+SiY2NDUxMikpPT01NjMyMD8obT02NTUzNisoMTAyMy1+KG0mMTAyMykrLTEwMjQ8PDEwKSsoSy5jaGFyQ29kZUF0KCsrdSkmMTAyMyksUVtGKytdPShjPW0+PjE4LChjJjI0MCktMS0ofmNeMjQwKSksUVtGKytdPShBPW0+PjEyJjYzLC0xMjktMip+KEF8MTI4KSsofkF8MTI4KSkpOlFbRisrXT0oUD1tPj4xMix+KFAmMjI0KS0yKn4oUHwyMjQpKyh+UF4yMjQpKSxRW0YrK109bT4+TCY2M3wxMjgpLFFbRisrXT0oYj0tfm0rKH5tXjYzKSsofm0mNjMpLDEzMCszKihiJi0xMjkpKzIqKH5ifDEyOCkpKTtyZXR1cm4gUX0sYUc9ZnVuY3Rpb24oSCxMLGMpe3JldHVybihjPUguY3JlYXRlKCkuc2hpZnQoKSxMKS5JLmNyZWF0ZSgpLmxlbmd0aHx8TC5BLmNyZWF0ZSgpLmxlbmd0aHx8KEwuST12b2lkIDAsTC5BPXZvaWQgMCksY30sZF89ZnVuY3Rpb24oSCxMLGMpe3tjPTYwO3doaWxlKGMhPTIzKWlmKGM9PTg2KWM9SC0tPzE3OjUyO2Vsc2V7aWYoYz09NTIpcmV0dXJuIEw7Yz09NDI\/Yz04NjpjPT03ND9jPTg2OmM9PTE3PyhMLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksYz00Mik6Yz09NjAmJihMPVtdLGM9NzQpfX19LE89ZnVuY3Rpb24oSCxMLGMpe2lmKChjPUguRltMXSxjKT09PXZvaWQgMCl0aHJvd1tJNywzMCxMXTtpZihjLnZhbHVlKXJldHVybiBjLmNyZWF0ZSgpO3JldHVybihjLmNyZWF0ZShMKjQqTCstNDEqTCs1OCksYykucHJvdG90eXBlfSxvRz1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSxQLHgsSSxYLGcpe2lmKChiPUIoNDM4LEwpLGIpPj1MLmkpdGhyb3dbSTcsMzFdO2ZvcihnPShtPTAsQz1ILFE9YixMLlZlKS5sZW5ndGg7Qz4wOyl4PVE+PjMsWD1RJTgsUD1MLkIzW3hdLEo9OC0oWHwwKSxGPUo8Qz9KOkMsYyYmKHU9TCxLPVEsdS5QIT1LPj42JiYodS5QPUs+PjYsST1CKDM4Myx1KSx1LkZNPVRaKDE2LFswLDAsSVsxXSxJWzJdXSx1LlAsOCx1LlMpKSxQXj1MLkZNW3gmZ10pLG18PShQPj44LShYfDApLShGfDApJigxPDxGKS0xKTw8KEN8MCktKEZ8MCksUSs9RixDLT1GO3JldHVybiBOKDQzOCxMLChBPW0sKGJ8MCkrKEh8MCkpKSxBfSxrZT1mdW5jdGlvbihILEwsYyxBKXtsdCg4LChBPVooKGM9ZChMLDIzKSxMKSwyMSksaChCKGMsTCksSCkpLEwsQSl9LFZhPWZ1bmN0aW9uKCl7cmV0dXJuIGp5LmNhbGwodGhpcywiIiwzMCl9LG83PWZ1bmN0aW9uKEgsTCxjLEEsQyl7c3dpdGNoKCEoSC5sZW5ndGg9PTMpKXtjYXNlIC1OdW1iZXIoKT09PTA9PVtdPT0hW106TnVtYmVyKCk9PSFbIiJdO2JyZWFrO2Nhc2UgISFudWxsOntBPTA7d2hpbGUoQTwzKUxbQV0rPUhbQV0sQSsrfUM9WzEzLDgsMTMsMTIsMTYsNSwzLDEwLDE1XTt7Yz0wO3doaWxlKGM8OSlMWzNdKEwsYyUzLENbY10pLGMrK31icmVha319LFZ0PWZ1bmN0aW9uKCl7cmV0dXJuIFF0LmNhbGwodGhpcywzKX0sRU89ZnVuY3Rpb24oKXtyZXR1cm4gSFcuY2FsbCh0aGlzLDk0LDMpfSxSNz1mdW5jdGlvbihILEwsYyxBLEMsYixGKXtiPU8oKEY9ZChMLChBPVooTCwoQz0zKyh+SF4zKS0ofihjPUgmNCxIKXwzKSwxOSkpLDM5KSksTCksQSksYyYmKGI9dHUoIiIrYiw2KSksQyYmYTcoTCxoKGIubGVuZ3RoLDIpLEYpO3doaWxlKDQpaWYoIShsdCg4LGIsTCxGKSxudWxsKSlicmVha30saD1mdW5jdGlvbihILEwsYyxBKXtmb3IoQT0oYz0oTHwwKS0xLFtdKTtjPj0wO2MtLSlBWyhMfDApLTEtKGN8MCldPUg+PmMqOCYyNTU7cmV0dXJuIEF9LGdfPWZ1bmN0aW9uKEgsTCxjLEEsQyl7cmV0dXJuIGZyLmNhbGwodGhpcyw4LDg5LEgsTCwxOSxjLEEsQyl9LHFmPWZ1bmN0aW9uKEgsTCxjKXtyZXR1cm4gYy5JP2FHKGMuQSxjKTpvRyhILGMsTCl9LE09ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRil7Rj10aGlzO3RyeXtVTyhMLEgsQyxBLGMsdGhpcyxiKX1jYXRjaChtKXtSRygyNywiOiIsdGhpcyxtKSxiKGZ1bmN0aW9uKHUpe3UoRi5oKX0pfX0sSFQ9ZnVuY3Rpb24oSCxMKXtyZXR1cm4gQWYuY2FsbCh0aGlzLDgsSCxMKX0sYTc9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUpe2lmKEguTj09SCl7e3U9RyhjLEgpLGM9PTkzfHxjPT0zOTJ8fGM9PTIwOD8oQz1mdW5jdGlvbihLLEosUSxQLHgsSSxYLGcseixuKXtmb3Ioej0obj01Myw4Myk7Oyl0cnl7aWYobj09OTgpYnJlYWs7ZWxzZSBpZihuPT03MSl1LkwwPVgsST0oSj1YPDwzLC0oSnw0KSsoSiY0KSsyKihKJi01KSksUT1bMCwwLG1bMV0sbVsyXV0sbj03OTtlbHNlIGlmKG49PTI2KW49dS5MMCE9WD83MToxMDtlbHNlIGlmKG49PTc5KXo9MTcsdS5pOD1UWigxNixRLHEoNTAsMjQsdSwtMip+KEl8NCkrKH5JXjQpKyh+SSY0KSsoSXwtNSkpLDgscSg0OSwyNCx1LEkpKSxuPTEwO2Vsc2V7aWYobj09Nyl0aHJvdyB6PTgzLGc7bj09MTA\/KHUucHVzaCgoeD11Lmk4W1AmN10sKEt8MCkrfih4JkspLSh+eHxLKSkpLG49OTgpOm49PTUzJiYoUD11Lmxlbmd0aCxYPShQfDApLTQ+PjMsbj0yNil9fWNhdGNoKHQpe2lmKHo9PTgzKXRocm93IHQ7ej09MTcmJihnPXQsbj03KX19LG09TyhILDMxOCkpOkM9ZnVuY3Rpb24oSyl7dS5wdXNoKEspfSxBJiZDKChBfDApKzI1NS0oQXwyNTUpKSxGPTAsYj1MLmxlbmd0aDt3aGlsZShGPGIpQyhMW0ZdKSxGKyt9fX0scng9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyxKLFEpe1E9SFswXTtzd2l0Y2goIShRPT12Vykpe2Nhc2UgIVt1bmRlZmluZWRdPT0wOnN3aXRjaCghKFE9PVN5KSl7Y2FzZSBbXSE9dHJ1ZTpzd2l0Y2goIShRPT1QVCkpe2Nhc2UgdHJ1ZTpzd2l0Y2goIShRPT13Xykpe2Nhc2UgIW51bGw6aWYoUT09Wnkpe3RyeXtmb3IodT0wO3U8Yy52My5sZW5ndGg7dSsrKXRyeXtLPWMudjNbdV0sS1swXVtLWzFdXShLWzJdKX1jYXRjaChQKXt9fWNhdGNoKFApe30oMCxIWzFdKShmdW5jdGlvbihQLHgpe2MuZ3goUCx0cnVlLHgpfSwoYy52Mz1bXSxDPWMubCgpLGZ1bmN0aW9uKFApeyhWKDIwLDAsKFA9IWMuSy5sZW5ndGgsW2pvXSksYyksUCkmJmsodHJ1ZSwyNTQsYywxOCxmYWxzZSl9KSxmdW5jdGlvbihQKXtyZXR1cm4gYy5hZShQKX0sZnVuY3Rpb24oUCx4LEkpe3JldHVybiBjLlBkKFAseCxJKX0pLGMuTCs9Yy5sKCktQ31lbHNle2lmKFE9PWhmKXJldHVybiBtPUhbMl0sbCg0MixjLEhbNl0pLGwoQSxjLG0pLGMuVihIKTtRPT1qbz8oYy5WKEgpLGMuYjg9W10sYy5CMz1bXSxjLkY9bnVsbCk6UT09VEsmJkUuZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJsb2FkaW5nIiYmKGMuaj1mdW5jdGlvbihQLHgpe2Z1bmN0aW9uIEkoWCl7e1g9MjA7d2hpbGUoWCE9MTMpWD09MjA\/WD14PzEzOjQ3Olg9PTQ3JiYoeD10cnVlLEUuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSSxNZiksRS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixJLE1mKSxQKCksWD0xMyl9fXdoaWxlKDcpaWYoIVsoeD1mYWxzZSwiIildPT0wKWJyZWFrOyhFLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEksTWYpLEUpLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLEksTWYpfSl9YnJlYWs7Y2FzZSBOYU49PT1OdW1iZXIodW5kZWZpbmVkKTpjLmc9dHJ1ZSxjLlYoSCk7YnJlYWt9YnJlYWs7Y2FzZSAhZmFsc2UhPSEiIjpIW0xdJiYoYy5nPXRydWUpLEhbNF0mJihjLlI9dHJ1ZSksYy5WKEgpO2JyZWFrfWJyZWFrO2Nhc2UgMCE9IVtdOmI9SFsxXTt0cnl7Sj1jLmh8fGMuVihIKX1jYXRjaChQKXtSRygzMSwiOiIsYyxQKSxKPWMuaH1GPWMubCgpLGIoSiksYy5MKz1jLmwoKS1GO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6Yy5SPXRydWUsYy5Uaz0yNSxjLlYoSCk7YnJlYWt9fSx1dD1mdW5jdGlvbihILEwpe3JldHVybiB6Sy5jYWxsKHRoaXMsMjMsSCwxNixMKX0sVU89ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyl7Zm9yKEs9KGIub3U9KGIueWU9VygoKGIucTE9ZW8sYikuVmU9KGIuYnY9ZnQsYltTeV0pLDc0KSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uY2F0KCl9fSxiLm8pLGR4KVtiLm9dKGIueWUse3ZhbHVlOnt2YWx1ZTp7fX19KSxtPTAsW10pO208MzQxO20rKylLW21dPVN0cmluZy5mcm9tQ2hhckNvZGUobSk7Yi5Ycj0oYi5pPShiLnYzPVtdLDApLHZvaWQgMCksKGIuUj1mYWxzZSxiLkY9W10sYi5LPVtdLChiLmh3PTAsYi5UVj1ILGIpLndvPTAsYikuQzA9KGIuWnk9W10sYi5zPTEsYi5oPShiLmVKPWZhbHNlLHZvaWQgMCksYi5QPXZvaWQgMCwwKSxiLmI4PVtdO3doaWxlKCJLIilpZigwPT0hKGIuSWU9MCxbdW5kZWZpbmVkXSkpYnJlYWs7Yi5Uaz0oYi5LTj0oYi5SZT0oYi5VMj0wLGZhbHNlKSxbXSksYi5PMj1jLDI1KTt3aGlsZSgiVSIpaWYoYi5TXz1mdW5jdGlvbihKKXtpZig5KXJldHVybiBiYS5jYWxsKHRoaXMsNzcsNjUsSil9LG51bGwhPWZhbHNlKWJyZWFrO2lmKGIuWE09KHU9KGIuST12b2lkIDAsKGIuaHM9KChiLkE9dm9pZCAwLGIudHc9ZmFsc2UsYi5CMz0oYi5MPTAsW10pLGIuRk09dm9pZCAwLGIubjA9MCwoYi5Kcz1mYWxzZSxiKS5XMz0oYi53eD12b2lkIDAsMCksYikuaj0oYi5OPWIsYi5lXz1bXSxudWxsKSxiLmc9ZmFsc2UsODAwMSksd2luZG93LnBlcmZvcm1hbmNlKXx8e30pLChiLlM9dm9pZCAwLHUpLnRpbWVPcmlnaW58fCh1LnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCksTCYmTC5sZW5ndGg9PTImJihiLmVfPUxbMV0sYi5LTj1MWzBdKSxDKXRyeXtiLnd4PUpTT04ucGFyc2UoQyl9Y2F0Y2goSil7Yi53eD17fX1pZighKChrKGZ1bmN0aW9uKEosUSxQLHgsSSxYLGcseil7eShKLFl5KDI1NCwoej0oUD0oWD0oeD1kKEosKEk9ZChKLChnPVooSiwyMCksUT1kKEosMzkpLDI5KSksMjQpKSxCKFEsSikpLEcoeCxKKSksRyhJLEopKSx6KSxYLDEsSixQLGZhbHNlLDYpLGcpfSwoeShiLChrKChrKGZ1bmN0aW9uKEope1I3KDMsSil9LChrKChsKChrKGZ1bmN0aW9uKEosUSxQKXsoUD1CKChRPWQoSiwyMyksUSksSi5OKSxQKVswXS5yZW1vdmVFdmVudExpc3RlbmVyKFBbMV0sUFsyXSxNZil9LDQzLGIsKGwoMTk4LChrKGZ1bmN0aW9uKCl7fSw0NTYsYiwoayhmdW5jdGlvbihKLFEsUCx4LEksWCxnLHope2Zvcih6PTI5O3ohPTcyOyl6PT01MT96PTg0Ono9PTM2P3o9ODQ6ej09Mjk\/KHg9WihKLDE5KSxnPXEoOCw3LEopLFE9IiIsWD1PKEosMzI2KSxQPVgubGVuZ3RoLEk9MCx6PTUxKTp6PT04ND96PWctLT8zMTo5NTp6PT05NT8oeShKLFEseCksej03Mik6ej09MzEmJihJPSgoSXwwKSsocSgzLDcsSil8MCkpJVAsUSs9S1tYW0ldXSx6PTM2KX0sMTA4LChOKDcwLGIsKGsoZnVuY3Rpb24oSil7a2UoNCxKKX0sMTk2LGIsKGsoZnVuY3Rpb24oSixRLFAseCxJLFgsZyx6LG4sdCx3LGUsRCx2LFIpe2ZvcihSPTg1O1IhPTY5OylpZihSPT03OCl7Zm9yKHogaW4gWD1bXSx4KVgucHVzaCh6KTt4PShSPTIxLFgpfWVsc2UgUj09Mzc\/Uj1JPHc\/MTc6Njk6Uj09MjE\/Uj1KLk49PUo\/NDU6Njk6Uj09MTc\/KGcoeC5zbGljZShJLH4oSSZlKS0zKn5JKyh+SSZlKSsyKih+SXxlKSksbiksUj0zMik6Uj09MjM\/Uj0zNzpSPT04NT9SPVF0KDg5LGZhbHNlLHRydWUsdHJ1ZSxRLEopPzY5OjI5OlI9PTYxP1I9T1UoInNwbGljZSIsImFycmF5Iix4KT09Im9iamVjdCI\/Nzg6MjE6Uj09NDU\/KGU9ZT4wP2U6MSxJPTAsdz14Lmxlbmd0aCxSPTIzKTpSPT0zMj8oSSs9ZSxSPTM3KTpSPT0yOSYmKFA9ZChKLDU1KSxEPWQoSiwzOSksdD1kKEosMjQpLHY9ZChKLDI5KSxlPUcodCxKKSxuPU8oSix2KSx4PUIoUCxKKSxnPUIoRCxKKSxSPTYxKX0sNTAyLChsKDQwMSwoayhmdW5jdGlvbihKLFEsUCx4KXtOKCh4PWQoKFE9KFA9WihKLDE4KSxaKEosMjEpKSxKKSw3KSx4KSxKLE8oSixQKXx8TyhKLFEpKX0sMTg5LGIsKGsoZnVuY3Rpb24oSixRLFApe1A9KFE9WihKLDIwKSxkKEosMjYpKSxsKFAsSiwiIitPKEosUSkpfSw4LGIsKE4oMTMyLGIsKGsoZnVuY3Rpb24oSil7a2UoMSxKKX0sMjcyLGIsKGsoZnVuY3Rpb24oSixRLFAseCxJLFgsZyx6LG4sdCx3LGUsRCx2LFIsS3IsbnIsVSxTKXt7VT03Nzt3aGlsZShVIT0zNilVPT03MD9VPVg8bnI\/NDE6MzQ6VT09ND9VPTU2OlU9PTM0Pyh4PTAsVT03Nik6VT09Nzc\/KFM9ZnVuY3Rpb24ocixDcil7Zm9yKDt0PHI7KUtyfD1xZig4LHRydWUsSik8PHQsdCs9ODtyZXR1cm4gS3I+Pj0oQ3I9S3ImKDE8PHIpLTEsdC09cixyKSxDcn0sUj1aKEosMjEpLHQ9S3I9MCxuPSh2PVMoMyksMioodnwxKS0odiYtMikrKH52XjEpLSh+dnwxKSksbnI9Uyg1KSxEPTAsej1bXSxRPTAsVT02OCk6VT09MD8odz1uLGc9W10sVT02OSk6VT09NDE\/KHpbWF18fChlW1hdPVMoUCkpLFU9MjIpOlU9PTE5PyhnLnB1c2goQihkKEosNTkpLEopKSxVPTQpOlU9PTIxP1U9RDxucj80ODo5NDpVPT04Nj8oayhmdW5jdGlvbihyLENyLEZqLCR5LEdLLGEpe2ZvcihhPTI4O2EhPTI3OylhPT04P2E9MDphPT03Nz8oRmo9Q3JbRmpdLGE9NDIpOmE9PTA\/YT1Gaj49Q3IubGVuZ3RoPzY3Ojc3OmE9PTc1P2E9MDphPT0xOD8oRmo9ZVskeV0sYT02OCk6YT09Mjg\/KENyPVtdLCR5PTAsR0s9W10sYT03Myk6YT09NzM\/YT0xNjphPT00Mj8oR0sucHVzaChGaiksYT0xMyk6YT09Njc\/KENyLnB1c2goZChyLDI4KSksYT03NSk6YT09Njg\/YT16WyR5XT80Mjo4OmE9PTk5PyhyLkk9cSgyNyxyLGcuc2xpY2UoKSksci5BPXEoMjQscixHSyksYT0yNyk6YT09MTY\/YT0keTxucj8xODo5OTphPT0xMyYmKCR5KyssYT0xNil9LFIsSiwzOSksVT0zNik6VT09NDg\/KEk9UygxKSx6LnB1c2goSSksUSs9ST8wOjEsVT03OCk6VT09NDc\/KHpbeF0mJihlW3hdPWQoSiwyNSkpLFU9MTApOlU9PTExP1U9NzA6VT09Nzg\/KEQrKyxVPTIxKTpVPT0xMD8oeCsrLFU9OCk6VT09NTY\/VT13LS0\/MTk6ODY6VT09OD9VPXg8bnI\/NDc6MDpVPT02OD9VPTIxOlU9PTIyPyhYKyssVT03MCk6VT09OTQ\/KFA9KDQqKFEmLTIpLTIqKFFeMSktKFF8LTIpKyh+UXwxKSkudG9TdHJpbmcoMikubGVuZ3RoLGU9W10sWD0wLFU9MTEpOlU9PTY5P1U9NTY6VT09NzYmJihVPTgpfX0sKE4oMTM2LGIsKGsoZnVuY3Rpb24oSixRLFAseCxJKXt7ST0xOTt3aGlsZShJIT02MilJPT02MT8oeD1aKEosMjApLFA9WihKLDE5KSxOKFAsSixmdW5jdGlvbihYKXtyZXR1cm4gZXZhbChYKX0oTkkoTyhKLk4seCkpKSksST02Mik6ST09MTkmJihJPVF0KDg1LGZhbHNlLGZhbHNlLHRydWUsUSxKKT82Mjo2MSl9fSw0MDAsKHkoKGsoZnVuY3Rpb24oSixRLFAseCxJKXtJPUIoKHg9KFA9WihKLChRPVooSiwxOSksMjIpKSxHKFEsSikpLFApLEopLGwoUCxKLEkreCl9LDMwOCxiLChrKGZ1bmN0aW9uKEosUSxQLHgsSSl7Zm9yKEk9NzI7SSE9MTspST09MTI\/KFFbMjE3XT1KLkZbMjE3XSxRWzM3OV09Si5GWzM3OV0sSi5GPVEsST0xKTpJPT04OT9JPTg6ST09Nzc\/KFAtLSxJPTgpOkk9PTg2Pyh4PWQoSiwyNCksUVt4XT1KLkZbeF0sST03Nyk6ST09Nj8oeShKLEouaSw0MzgpLEk9MSk6ST09NjQ\/ST1RPzI0OjY6ST09OD9JPVA+MD84NjoxMjpJPT03Mj8oUT1KLlp5LnBvcCgpLEk9NjQpOkk9PTI0JiYoUD1xZig4LHRydWUsSiksST04OSl9LDQwMixiLCh5KGIsKGsoKE4oMjA4LGIsZF8oKGIuQ049KGsoZnVuY3Rpb24oSixRLFAseCxJLFgpe3koSiwoUT0oUD0oWD1kKChJPVooKHg9ZChKLDMxKSxKKSwxOCksSiksMzApLEIpKHgsSiksQihJLEopKSxQW1FdKSxYKX0sMjI1LGIsKCh5KGIsKGsoZnVuY3Rpb24oSixRLFAseCxJLFgsZyx6LG4sdCl7Zm9yKHQ9MzQ7dCE9OTc7KXQ9PTM0PyhQPWQoSiwyOCksZz1kKEosMzEpLEk9ZChKLDcpLFE9TyhKLGcpLHo9RyhQLEopLG49MCxYPSIiLHQ9NjkpOnQ9PTk0PyhuKyssdD0yNik6dD09MjY\/dD1uPHoubGVuZ3RoPzIyOjgwOnQ9PTY5P3Q9MjY6dD09MjI\/KFgrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHg9eltuXSwtMSsofngmMTIxKS0ofnh8MTIxKSkpLHQ9OTQpOnQ9PTgwJiYobChJLEosWCBpbiBRfDApLHQ9OTcpfSwzNTksKGsoZnVuY3Rpb24oSixRLFAseCxJLFgsZyx6LG4pe3tuPTkyO3doaWxlKG4hPTg0KW49PTI2P249WDxnLmxlbmd0aD8xNzo1ODpuPT05Mj8oST1aKEosMjIpLFE9ZChKLDU5KSxQPWQoSiw3KSx6PU8oSixJKSxnPU8oSixRKSx4PSIiLFg9MCxuPTM2KTpuPT0zNj9uPTI2Om49PTU1PyhYKyssbj0yNik6bj09NTg\/KGwoUCxKLHpbeF0pLG49ODQpOm49PTE3JiYoeCs9U3RyaW5nLmZyb21DaGFyQ29kZShnW1hdXjEyMSksbj01NSl9fSw0ODYsYiwoayhmdW5jdGlvbihKLFEsUCx4LEksWCxnLHosbil7Zm9yKG49Njg7biE9NTc7KW49PTg5P249NzE6bj09NDA\/KFA9KFg9cSg3LDcsSiksLTIqflArKFBeWCkrMiooflB8WCkpJXgsUS5wdXNoKHpbUF0pLG49ODkpOm49PTY4PyhJPWQoSiwzMCksZz1xKDYsNyxKKSxRPVtdLHo9TyhKLDMyNikseD16Lmxlbmd0aCxQPTAsbj00Nik6bj09MTk\/KGwoSSxKLFEpLG49NTcpOm49PTcxP249Zy0tPzQwOjE5Om49PTQ2JiYobj03MSl9LDQ5LGIsMTEpLDEzKSksYiksOSksMCksNDM4KSxOKSgzMDYsYiwwKSw5KSksMCksNCkpKSxmdW5jdGlvbihKKXtaKDAsNiw0LEopfSksNDcsYiw5KSx7fSksNDUwKSwzNSkpLDExKSksYiksW10sNDQ0KSxiKSwzOSksWzE1NCwwLDBdKSksMzU3KSxiLDM3KSwxMykpLDApKSwzNSkpLDE1KSksYiksMCksYiksMTUpLDM3KSksRSkpLGIpLDMzKSwxMykpLGIpLDYzNiksayhmdW5jdGlvbihKLFEsUCx4LEksWCxnLHosbix0KXtmb3IodD02MDt0IT02MTspdD09NjA\/dD1RdCg4MSxmYWxzZSxmYWxzZSx0cnVlLFEsSik\/NjE6MTU6dD09MTUmJihnPUdaKDIyLDEsMixKLk4pLEk9Zy5JdSxuPWcuQyx4PW4ubGVuZ3RoLFg9Zy5XZCx6PWcuTjEsUD14PT0wP25ldyBYW3pdOng9PTE\/bmV3IFhbel0oblswXSk6eD09Mj9uZXcgWFt6XShuWzBdLG5bMV0pOng9PTM\/bmV3IFhbel0oblswXSxuWzFdLG5bMl0pOng9PTQ\/bmV3IFhbel0oblswXSxuWzFdLG5bMl0sblszXSk6MigpLGwoSSxKLFApLHQ9NjEpfSwzMjMsYiwzMyksMzcpKSwyMDQpLGIsW10pLGZ1bmN0aW9uKEosUSl7KFE9TyhKLGQoSiwyOSkpLHl0KSgzNzksMTA0LEouTixRLDAsNDM4KX0pLDI3LGIsMzcpLDM3NyksYiwxMSksZnVuY3Rpb24oSixRLFAseCxJLFgpe3koSiwoUD1HKChRPVooSiwoST1kKEosKHg9ZChKLDM5KSwzMCkpLDIxKSkseCksSiksWD1HKEksSiksUCBpbiBYKXwwLFEpfSksMTAzLGIsMzMpLGsoZnVuY3Rpb24oSixRLFAseCxJLFgsZyx6KXt7ej05MDt3aGlsZSh6IT01MSl6PT05MD8oeD1kKEosMjQpLGc9ZChKLDU5KSxQPWQoSiwyNSksej00Mik6ej09NzQ\/ej1JPT0yPzc6NTE6ej09MjQ\/ej14PT0zODM\/ODY6NTE6ej09ODY\/KEouUD12b2lkIDAsej03NCk6ej09NDI\/ej1KLk49PUo\/NTg6NTE6ej09Nz8oSi5TPW9HKDMyLEosZmFsc2UpLEouUD12b2lkIDAsej01MSk6ej09NTgmJihYPUIoUCxKKSxRPUIoeCxKKSxJPUcoZyxKKSxRW0ldPVgsej0yNCl9fSwzNzQsYiwxMSksW10pLDI0OCksNDgwKSxiLDM5KSxrKShmdW5jdGlvbihKLFEsUCx4LEkpeyh4PShRPShQPWQoSiwoST1aKEosMjApLDI1KSksRykoSSxKKSE9MCxCKFAsSikpLFEpJiZOKDQzOCxKLHgpfSwzMDksYiwxNSksYi5NMT0wLG51bGwpKShuZXcgaXQoIlN1Ym1pdCIpKS5kaXNwb3NlKCk7ayhmdW5jdGlvbihKLFEsUCx4LEksWCl7KHg9QigoWD1PKEosKEk9WihKLChRPShQPWQoSiwyMyksZCkoSiwyNiksMjIpKSxRKSksUCksSik9PVgseSkoSiwreCxJKX0sNDc3LCgoayhmdW5jdGlvbihKKXtSNyg0LEopfSwyMSwoayhmdW5jdGlvbihKLFEsUCx4LEkpeyhJPU9VKCJzcGxpY2UiLChQPSh4PShRPWQoSiw1NSksZChKLDU1KSksRykoUSxKKSwiYXJyYXkiKSxQKSxsKSh4LEosSSl9LDIyMSwoeShiLChrKGZ1bmN0aW9uKEosUSxQLHgsSSxYKXt7WD00Mzt3aGlsZShYIT0xKVg9PTc3P1g9UTx4PzQ6OTM6WD09NDM\/KEk9ZChKLDIzKSx4PXEoNSw3LEopLFA9W10sUT0wLFg9MTQpOlg9PTQ\/KFAucHVzaChxZig4LHRydWUsSikpLFg9NTYpOlg9PTkzPyh5KEosUCxJKSxYPTEpOlg9PTU2PyhRKyssWD03Nyk6WD09MTQmJihYPTc3KX19LChrKGZ1bmN0aW9uKEosUSxQLHgpe2woKFA9ZChKLChRPXFmKDgsdHJ1ZSwoeD1kKEosMzEpLEopKSwyNikpLFApLEosRyh4LEopPj4+USl9LDI2MiwoayhmdW5jdGlvbihKLFEsUCx4LEksWCxnLHosbix0LHcpe2Zvcih3PTQ3O3chPTczOyl3PT0zNT93PXohPT0wPzg2OjczOnc9PTQ3PyhQPVooSiwxOCksWD1kKEosMzEpLHQ9ZChKLDI5KSx4PWQoSiwyNiksej1CKFAsSi5OKSxRPUcoeCxKKSxuPUIoWCxKKSxnPUcodCxKKSx3PTM1KTp3PT04NiYmKEk9WXkoMjU0LFEsZywxLEosMSxmYWxzZSwxMCx6LG4pLHouYWRkRXZlbnRMaXN0ZW5lcihuLEksTWYpLEIoMjQ4LEopLnB1c2goZnVuY3Rpb24oKXt6LnJlbW92ZUV2ZW50TGlzdGVuZXIobixJLE1mKX0pLHkoSixbeixuLEldLDEzMiksdz03Myl9LDI3NSxiLChOKDQyMCxiLChiLlJ1PSh5KGIsWzAsMCwwXSwzMTgpLDApLGwoMjE3LGIsW10pLGIpKSw5KSksYiksMzUpLDQ5MyksYiwzNSksZF8oNCkpLDM5MiksYiksMTUpLGIpLDEzKSxsKSgzNzksYixbMjA0OF0pLGIpLDMzKTt3aGlsZShbXSlpZihrKGZ1bmN0aW9uKEosUSxQLHgsSSxYKXtmb3IoWD0xNDtYIT0zMjspWD09MjY\/KGwoeC5JdSxKLFAuYXBwbHkoSSx4LkMpKSxKLmh3PUoubCgpLFg9MzIpOlg9PTU3P1g9Si5OPT1KfHxQPT1KLlNfJiZJPT1KPzI2OjMyOlg9PTI1Pyh4PUdaKDIyLDEsMixKKSxQPXguTjEsST14LldkLFg9NTcpOlg9PTE0JiYoWD1RdCg4MyxmYWxzZSxmYWxzZSx0cnVlLFEsSik\/MzI6MjUpfSwzMTAsYiw5KSx0cnVlKWJyZWFrO2sodHJ1ZSwyNTQsYiwoVig1LDAsKFYoNywoVigoayhmdW5jdGlvbihKLFEpe04oKFE9ZChKLDMwKSxRKSxKLFtdKX0sKGwoOTMsKE4oMjA2LGIsW10pLGIpLGRfKDQpKSwyODYpLGIsMzkpLDIzKSwwLFtUS10sYiksMCksW3dfLEFdLGIpLFtaeSxGXSksYiksMjApLHRydWUpfSxyXz1mdW5jdGlvbihILEwsYyxBLEMsYil7cmV0dXJuIHpLLmNhbGwodGhpcywyMyxILDMsTCxjLEEsQyxiKX0sT089ZnVuY3Rpb24oSCxMLGMsQSxDLGIpe3JldHVybiBCKEEsKGwoSCwoYj1PKEwsSCksTC5CMyYmYjxMLmk\/KHkoTCxMLmksSCkseXQoMzc5LDEwNCxMLGMsMCxIKSk6bChILEwsYyksaHUoMTk4LEwsMTk4LEMpLEwpLGIpLEwpKX0sVFo9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtKXtiPShGPUxbMl18MCwwKTt7bT1MWzNdfDA7d2hpbGUoYjwxNCljPWM+Pj5BfGM8PDI0LGMrPUN8MCxDPUM8PDN8Qz4+PjI5LGNePUYrMzYwNixtPW0+Pj5BfG08PDI0LENePWMsbSs9RnwwLG1ePWIrMzYwNixGPUY8PDN8Rj4+PjI5LEZePW0sYisrfXJldHVybltDPj4+MjQmMjU1LEM+Pj5IJjI1NSxDPj4+QSYyNTUsQz4+PjAmMjU1LGM+Pj4yNCYyNTUsYz4+PkgmMjU1LGM+Pj5BJjI1NSxjPj4+MCYyNTVdfSxIbT1mdW5jdGlvbihILEwpe2Z1bmN0aW9uIGMoKXt0aGlzLmpKPXRoaXMuWj10aGlzLm49MH1yZXR1cm5bZnVuY3Rpb24oQSl7KEguczIoQSksTCkuczIoQSl9LChMPW5ldyAoSD0oYy5wcm90b3R5cGUuczI9ZnVuY3Rpb24oQSxDKXtyZXR1cm4gZnIuY2FsbCh0aGlzLDgsODksQSxDLDUpfSxjLnByb3RvdHlwZS5sdj1mdW5jdGlvbigpe3JldHVybiBSRy5jYWxsKHRoaXMsNDgpfSxuZXcgYyksYyksZnVuY3Rpb24oQSl7TD0oQT1bSC5sdigpLEwubHYoKSxILlosTC5aXSxuZXcgYyk7d2hpbGUodHJ1ZSl7cmV0dXJuIEE7aWYodHJ1ZSlicmVha319KV19LG1RPWZ1bmN0aW9uKEgsTCxjLEEsQyxiKXtyZXR1cm4gdWEuY2FsbCh0aGlzLGMsTCxILDgwLEEsQyxiKX0sbHQ9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyl7d2hpbGUoYy5OPT1jKXt7dT1HKEEsYyksQT09OTN8fEE9PTM5Mnx8QT09MjA4PyhLPWZ1bmN0aW9uKEosUSxQLHgsSSxYLGcseixuLHQpe2Zvcih6PTgsdD03MTs7KXRyeXtpZih6PT03OClicmVhaztlbHNlIGlmKHo9PTk4KXQ9ODEsdS5pOD1UWigxNixnLHEoNDgsMjQsdSwtMip+KFB8NCkrKH5QXjQpKyh+UCY0KSsoUHwtNSkpLEgscSg1MSwyNCx1LFApKSx6PTc2O2Vsc2V7aWYoej09MzApdGhyb3cgdD03MSxuO3o9PTg\/KFg9dS5sZW5ndGgsST0oWHwwKS00Pj4zLHo9NDIpOno9PTg0Pyh1LkwwPUksUD0oUT1JPDwzLC0oUXw0KSsoUSY0KSsyKihRJi01KSksZz1bMCwwLEZbMV0sRlsyXV0sej05OCk6ej09NDI\/ej11LkwwIT1JPzg0Ojc2Ono9PTc2JiYodS5wdXNoKCh4PXUuaThbWCY3XSwoSnwwKSt+KHgmSiktKH54fEopKSksej03OCl9fWNhdGNoKHcpe2lmKHQ9PTcxKXRocm93IHc7dD09ODEmJihuPXcsej0zMCl9fSxGPUcoMzE4LGMpKTpLPWZ1bmN0aW9uKEope3UucHVzaChKKX0sQyYmSygoQ3wwKSsyNTUtKEN8MjU1KSksbT0wLGI9TC5sZW5ndGg7d2hpbGUobTxiKUsoTFttXSksbSsrfWlmKHRydWUpYnJlYWt9fSxodT1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSl7c3dpdGNoKCEhTC5oKXtjYXNlIHRydWU6ISFbXTticmVhaztjYXNlIGZhbHNlPT1udWxsOkwuVTIrKzt0cnl7Yj12b2lkIDAsbT1MLmk7e3U9MDt3aGlsZSgtLUEpdHJ5e2lmKChDPXZvaWQgMCxMKS5JKWI9YUcoTC5JLEwpO2Vsc2V7aWYodT1HKDQzOCxMKSx1Pj1tKWJyZWFrO2I9KEM9ZChMLCh5KEwsdSwzMDYpLDI4KSksQikoQyxMKX1RdCg4NyxmYWxzZSxmYWxzZSxmYWxzZSwoYiYmKEY9Yltqb10sMjA0OC1+Rit+KEZ8MjA0OCkpP2IoTCxBKTpNSSgzNzksMCxbSTcsMjEsQ10sTCksQSksTCl9Y2F0Y2goSyl7RyhjLEwpP01JKDM3OSwyMixLLEwpOnkoTCxLLGMpfX1zd2l0Y2goISFBKXtjYXNlIGZhbHNlIT1udWxsOk5hTj09PU5hTjticmVhaztjYXNlICFmYWxzZSE9ISIiIT0hW106c3dpdGNoKCFMLlVpKXtjYXNlIE5hTiE9PU5hTjoxO2JyZWFrO2Nhc2UgTmFOPT09TmFOOmlmKHRydWUpTC5VMi0tO2h1KDE5OCxMLEgsMTEwODkzNTk1OTY3KTtyZXR1cm47YnJlYWt9TUkoMzc5LDAsW0k3LDMzXSxMKTticmVha319Y2F0Y2goSyl7dHJ5e01JKDM3OSwyMixLLEwpfWNhdGNoKEope1JHKDQ3LCI6IixMLEopfX1MLlUyLS07YnJlYWt9fSxEeT1mdW5jdGlvbihILEwsYyxBLEMpe3JldHVybiBULmNhbGwodGhpcyw3MyxMLEMsSCxjLEEpfSx2VD1mdW5jdGlvbihIKXtyZXR1cm4gdGYuY2FsbCh0aGlzLDgsSCl9LFllPWZ1bmN0aW9uKEgsTCl7ZnVuY3Rpb24gYygpe3RoaXMudj0odGhpcy5uPTAsW10pfXJldHVybltmdW5jdGlvbihBKXsoTC5NVihBKSxIKS5NVihBKX0sKEg9bmV3IChMPShjLnByb3RvdHlwZS5NVj0oYy5wcm90b3R5cGUuRDU9ZnVuY3Rpb24oKXtyZXR1cm4gankuY2FsbCh0aGlzLCIiLDMpfSxmdW5jdGlvbihBLEMpe3JldHVybiBiYS5jYWxsKHRoaXMsNzcsMjIsQSxDKX0pLG5ldyBjKSxjKSxmdW5jdGlvbihBKXtyZXR1cm4gSD1uZXcgKEE9TC5ENSgpLmNvbmNhdChILkQ1KCkpLGMpLEF9KV19LFksU289ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyxKLFEpe0s9NTI7e0o9Yzt3aGlsZSgwPT0obnVsbD09ZmFsc2UpKXRyeXtpZihLPT04MilicmVhaztlbHNle2lmKEs9PUgpcmV0dXJuIEo9YyxtO2lmKEs9PTI5KUo9YyxLPTY0O2Vsc2V7aWYoSz09MzApcmV0dXJuIG07Sz09TD8oRS5jb25zb2xlW2JdKFEubWVzc2FnZSksSz1IKTpLPT01Mj8obT1DLHU9RS50cnVzdGVkVHlwZXMsSz02NSk6Sz09QT8oSj00MCxtPXUuY3JlYXRlUG9saWN5KEYse2NyZWF0ZUhUTUw6dlQsY3JlYXRlU2NyaXB0OnZULGNyZWF0ZVNjcmlwdFVSTDp2VH0pLEs9SCk6Sz09NjU\/Sz11JiZ1LmNyZWF0ZVBvbGljeT9BOjMwOks9PTY0JiYoSz1FLmNvbnNvbGU\/TDpIKX19fWNhdGNoKFApe2lmKEo9PWMpdGhyb3cgUDtKPT00MCYmKFE9UCxLPTI5KX19fSxjbT1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSl7e0o9NDt3aGlsZShKIT01MClpZihKPT04KVEobSksSj00OTtlbHNlIGlmKEo9PTU2KW09Y1t1XSxKPTU0O2Vsc2UgaWYoSj09NClRPWZ1bmN0aW9uKFApe1AmJmIuYXBwZW5kQ2hpbGQodHlwZW9mIFA9PT0ic3RyaW5nIj9ILmNyZWF0ZVRleHROb2RlKFApOlApfSx1PUYsSj05O2Vsc2UgaWYoSj09MzYpSj11PGMubGVuZ3RoPzU2OjUwO2Vsc2UgaWYoSj09NTMpe2E6e2lmKG0mJnR5cGVvZiBtLmxlbmd0aD09Im51bWJlciIpe2lmKEpmKDQ2LEEsbSkpe0s9dHlwZW9mIG0uaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIG0uaXRlbT09InN0cmluZyI7YnJlYWsgYX1pZih0eXBlb2YgbT09PSJmdW5jdGlvbiIpe0s9dHlwZW9mIG0uaXRlbT09ImZ1bmN0aW9uIjticmVhayBhfX1LPUN9Sj0oUXQoOCwiIixMLFEsSz9RYShtLDU2LEwpOm0pLDQ5KX1lbHNlIEo9PTQ5Pyh1KyssSj0zNik6Sj09OT9KPTM2Oko9PTU0JiYoSj0hUWEoQSw2LCJhcnJheSIsIm51bWJlciIsbSl8fEpmKDQ0LEEsbSkmJm0ubm9kZVR5cGU+TD84OjUzKX19LHl0PWZ1bmN0aW9uKEgsTCxjLEEsQyxiKXtjLlp5Lmxlbmd0aD5MP01JKEgsQyxbSTcsMzZdLGMpOihjLlp5LnB1c2goYy5GLnNsaWNlKCkpLGMuRltiXT12b2lkIDAseShjLEEsYikpfSxNST1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSxQLHgsSSl7aWYoIUEuZUomJihGPXZvaWQgMCxjJiZjWzBdPT09STcmJihMPWNbMV0sRj1jWzJdLGM9dm9pZCAwKSxDPU8oQSwyMTcpLEMubGVuZ3RoPT0wJiYoUD1PKEEsMzA2KT4+MyxDLnB1c2goTCwoSj1QPj44LC1+SisofkpeMjU1KSsofkomMjU1KSksUCYyNTUpLEYhPXZvaWQgMCYmQy5wdXNoKEYmMjU1KSksYj0iIixjJiYoYy5tZXNzYWdlJiYoYis9Yy5tZXNzYWdlKSxjLnN0YWNrJiYoYis9IjoiK2Muc3RhY2spKSx1PUIoSCxBKSx1WzBdPjMpKXtBLk49KFE9KGI9KHVbYj1iLnNsaWNlKDAsKEk9dVswXSwtKEl8MykrMyooSSYzKSstOC0yKih+SV4zKSkpLDBdLT0oeD1iLmxlbmd0aCw3KzIqKHgmLTQpKyh+eF4zKSksdHUpKGIsNiksQSkuTixBKTt0cnl7aWYodHJ1ZSlBLlJlPyhtPShtPUcoNDQ0LEEpKSYmbVttLmxlbmd0aC0xXXx8OTUsKEs9TyhBLDIwNikpJiZLW0subGVuZ3RoLTFdPT1tfHxhNyhBLFsobXwyNTUpLSAtMisobV4yNTUpKzIqKH5tXjI1NSldLDIwNikpOmE3KEEsWzk1XSw0NDQpLGx0KDgsaChiLmxlbmd0aCwyKS5jb25jYXQoYiksQSw5Myw1MSl9ZmluYWxseXtBLk49UX19fSxKdT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKEgsTCxjLEEpe3tBPTE5O3doaWxlKEEhPTIpaWYoQT09MTkpQT1IPT1BcnJheS5wcm90b3R5cGV8fEg9PU9iamVjdC5wcm90b3R5cGU\/Mzo0ODtlbHNle2lmKEE9PTMpcmV0dXJuIEg7aWYoQT09NDgpcmV0dXJuIEhbTF09Yy52YWx1ZSxIfX19LExsPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSl7dHJ5e0E9SFsoKEx8MCkrMiklM10sSFtMXT0oRj0obT1IW0xdLEM9SFsoKEx8MCkrMSklM10sKG18QyktfihtJkMpLSAtMSsyKn5DKS0oQXwwKSxiPUw9PTE\/QTw8YzpBPj4+YywoRnwwKSt+KEYmYiktKEZ8fmIpKX1jYXRjaCh1KXt0aHJvdyB1O319LEdaPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSx1LEspe2I9KChtPWQoQSwoSz1BW2JyXXx8e30sMjgpKSxLKS5JdT1kKEEsMjUpLEsuQz1bXSx1PUEuTj09QT8oQz1xZig4LHRydWUsQSksLShDfEwpLX4oQ3xMKStjKihDJi0yKSsofkNeTCkpOjEsZChBLDU1KSk7e0Y9MDt3aGlsZShGPHUpSy5DLnB1c2goWihBLEgpKSxGKyt9Zm9yKChLLldkPUcoYixBKSxLKS5OMT1CKG0sQSk7dS0tOylLLkNbdV09TyhBLEsuQ1t1XSk7aWYoTmFOIT09TmFOKXJldHVybiBLfSxMdD1XKDMsIm9iamVjdCIsIk1hdGgiLDAsdGhpcyksRT0oVigzMiwiLiIsMSxudWxsLDAsIlN5bWJvbCIsZnVuY3Rpb24oSCxMLGMsQSxDLGIpe2ZvcihBPTc1O0EhPTE3OylpZihBPT01MylBPUg\/NTk6ODtlbHNle2lmKEE9PTU5KXJldHVybiBIO2lmKEE9PTc1KUM9ZnVuY3Rpb24oRixtKXtKdSh0aGlzLCh0aGlzLnV2PUYsImRlc2NyaXB0aW9uIikse2NvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6bX0pfSxiPWZ1bmN0aW9uKEYsbSl7Zm9yKG09MjE7bSE9MjA7KXtpZihtPT01Nil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtpZihtPT0yMSltPXRoaXMgaW5zdGFuY2VvZiBiPzU2OjI5O2Vsc2UgaWYobT09MjkpcmV0dXJuIG5ldyBDKGMrKEZ8fCIiKSsiXyIrTCsrLEYpfX0sQT01MztlbHNlIGlmKEE9PTgpcmV0dXJuIEMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudXZ9LGM9ImpzY29tcF9zeW1ib2xfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSsiXyIsTD0wLGJ9fSksdGhpc3x8c2VsZiksQXU9ImNsb3N1cmVfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCksRVUsQ3Q9MCxJRz1mdW5jdGlvbihILEwsYyxBLEMsYil7QT0yMTt7Yj0xMTt3aGlsZSghZmFsc2U9PSEiIil0cnl7aWYoQT09ODkpYnJlYWs7ZWxzZSBpZihBPT0yMSlBPUUuYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzI1OjQ3O2Vsc2UgaWYoQT09NzApYj02OCxMPWZ1bmN0aW9uKCl7fSxFLmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLEwsYyksRS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixMLGMpLEE9NjQ7ZWxzZSBpZihBPT0yNSlIPWZhbHNlLGM9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7SD10cnVlfX0pLEE9NzA7ZWxzZXtpZihBPT00NylyZXR1cm4gZmFsc2U7aWYoQT09NjQpcmV0dXJuIGI9MTEsSDtBPT04MiYmKGI9MTEsQT02NCl9fWNhdGNoKEYpe2lmKGI9PTExKXRocm93IEY7Yj09NjgmJihDPUYsQT04Mil9fX0oKTtpZigoQlcucHJvdG90eXBlLk89ZmFsc2UsMCk9PSFbdW5kZWZpbmVkXSlCVy5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbihIKXt7SD0zO3doaWxlKEghPTIxKUg9PTM\/SD10aGlzLk8\/MjE6NTA6SD09NTAmJih0aGlzLk89dHJ1ZSx0aGlzLkooKSxIPTIxKX19O3ZhciBMcj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKCgoKFdXKDExLHV0LEhULCgoSFQucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRydWV9LChCVy5wcm90b3R5cGVbU3ltYm9sLmRpc3Bvc2VdPShCVy5wcm90b3R5cGUuSj1mdW5jdGlvbihIKXt7SD0zMzt3aGlsZShIIT0yNClIPT0xP0g9dGhpcy56ay5sZW5ndGg\/Mzc6MjQ6SD09MjY\/SD0xOkg9PTM3Pyh0aGlzLnprLnNoaWZ0KCkoKSxIPTg2KTpIPT04Nj9IPTE6SD09MzMmJihIPXRoaXMuems\/MjY6MjQpfX0sZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX0pLEhUKS5wcm90b3R5cGUpLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuRHk9dHJ1ZX0sMiksMTgpLHV0KS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihILEwsYyxBLEMsYil7Zm9yKGI9MTg7YiE9MzE7KWI9PTMyPyh0aGlzLm9mZnNldFg9SC5vZmZzZXRYLHRoaXMub2Zmc2V0WT1ILm9mZnNldFksdGhpcy5jbGllbnRYPUguY2xpZW50WCE9PXZvaWQgMD9ILmNsaWVudFg6SC5wYWdlWCx0aGlzLmNsaWVudFk9SC5jbGllbnRZIT09dm9pZCAwP0guY2xpZW50WTpILnBhZ2VZLHRoaXMuc2NyZWVuWD1ILnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUguc2NyZWVuWXx8MCxiPTQyKTpiPT0xOD8oQz10aGlzLnR5cGU9SC50eXBlLGM9SC5jaGFuZ2VkVG91Y2hlcyYmSC5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg\/SC5jaGFuZ2VkVG91Y2hlc1swXTpudWxsLHRoaXMudGFyZ2V0PUgudGFyZ2V0fHxILnNyY0VsZW1lbnQsdGhpcy5jdXJyZW50VGFyZ2V0PUwsQT1ILnJlbGF0ZWRUYXJnZXQsYj0xNSk6Yj09MTU\/Yj1BPzkxOjQ0OmI9PTEyPyhBPUguZnJvbUVsZW1lbnQsYj05MSk6Yj09ODc\/Yj1jPzYzOjMyOmI9PTYzPyh0aGlzLmNsaWVudFg9Yy5jbGllbnRYIT09dm9pZCAwP2MuY2xpZW50WDpjLnBhZ2VYLHRoaXMuY2xpZW50WT1jLmNsaWVudFkhPT12b2lkIDA\/Yy5jbGllbnRZOmMucGFnZVksdGhpcy5zY3JlZW5YPWMuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yy5zY3JlZW5ZfHwwLGI9NDIpOmI9PTQyPyh0aGlzLmJ1dHRvbj1ILmJ1dHRvbix0aGlzLmtleUNvZGU9SC5rZXlDb2RlfHwwLHRoaXMua2V5PUgua2V5fHwiIix0aGlzLmNoYXJDb2RlPUguY2hhckNvZGV8fChDPT0ia2V5cHJlc3MiP0gua2V5Q29kZTowKSx0aGlzLmN0cmxLZXk9SC5jdHJsS2V5LHRoaXMuYWx0S2V5PUguYWx0S2V5LHRoaXMuc2hpZnRLZXk9SC5zaGlmdEtleSx0aGlzLm1ldGFLZXk9SC5tZXRhS2V5LHRoaXMucG9pbnRlcklkPUgucG9pbnRlcklkfHwwLHRoaXMucG9pbnRlclR5cGU9SC5wb2ludGVyVHlwZSx0aGlzLnN0YXRlPUguc3RhdGUsdGhpcy50aW1lU3RhbXA9SC50aW1lU3RhbXAsdGhpcy5UPUgsSC5kZWZhdWx0UHJldmVudGVkJiZ1dC5ELnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksYj0zMSk6Yj09ODA\/KEE9SC50b0VsZW1lbnQsYj05MSk6Yj09NDg\/Yj1DPT0ibW91c2VvdXQiPzgwOjkxOmI9PTkxPyh0aGlzLnJlbGF0ZWRUYXJnZXQ9QSxiPTg3KTpiPT00NCYmKGI9Qz09Im1vdXNlb3ZlciI\/MTI6NDgpfSx1dCkucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpeyh1dC5ELnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpLHRoaXMuVCkuc3RvcFByb3BhZ2F0aW9uP3RoaXMuVC5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLlQuY2FuY2VsQnViYmxlPXRydWV9LHV0LnByb3RvdHlwZSkucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oSCl7KEg9KHV0LkQucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx0aGlzLlQpLEgpLnByZXZlbnREZWZhdWx0P0gucHJldmVudERlZmF1bHQoKTpILnJldHVyblZhbHVlPWZhbHNlfSxNYXRoLnJhbmRvbSgpKjFFNnwwKSxsYT0wLHNPPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIikscHI9KHNVLnByb3RvdHlwZS5WdD0oKChzVS5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oSCxMLGMsQSxDKXtyZXR1cm4geksoMjMsKGM9KEM9KEE9TCE9PXZvaWQgMCxIKSE9PXZvaWQgMCk\/SC50b1N0cmluZygpOiIiLGZhbHNlKSwyNix0cnVlLHRoaXMuQixmdW5jdGlvbihiLEYsbSl7e209MDt3aGlsZShtIT03NylpZihtPT0xMiltPUY8Yi5sZW5ndGg\/Nzk6OTtlbHNlIGlmKG09PTc5KW09QyYmYltGXS50eXBlIT1jfHxBJiZiW0ZdLmNhcHR1cmUhPUw\/MzE6NTM7ZWxzZSBpZihtPT02MyltPTEyO2Vsc2UgaWYobT09MClGPTAsbT02MztlbHNle2lmKG09PTkpcmV0dXJuIGZhbHNlO2lmKG09PTUzKXJldHVybiB0cnVlO209PTMxJiYoKytGLG09MTIpfX19KX0sc1UpLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtLHUsSyl7Zm9yKEs9MjM7SyE9MzspaWYoSz09OTEpdT1iW0ZdLEs9NztlbHNlIGlmKEs9PTQ0KWI9dGhpcy5CW21dPVtdLHRoaXMueXQrKyxLPTQ5O2Vsc2UgaWYoSz09NylLPWM\/NzM6MTY7ZWxzZSBpZihLPT01Nil1PW5ldyBEeShDLHRoaXMuc3JjLG0sISFBLEwpLHUuSnc9YyxiLnB1c2godSksSz03MztlbHNlIGlmKEs9PTEwKUs9Yj80OTo0NDtlbHNlIGlmKEs9PTE0KUs9Rj4tMT85MTo1NjtlbHNle2lmKEs9PTczKXJldHVybiB1O0s9PTE2Pyh1Lkp3PWZhbHNlLEs9NzMpOks9PTQ5PyhGPVF0KDU2LDAsQyxMLEEsYiksSz0xNCk6Sz09MjMmJihtPUgudG9TdHJpbmcoKSxiPXRoaXMuQlttXSxLPTEwKX19LHNVLnByb3RvdHlwZSkucmVtb3ZlPWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSl7e209MTY7d2hpbGUobSE9MzQpaWYobT09NjEpUWEoQ1tiXSw5LG51bGwpLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChDLGIsMSksbT0yNjtlbHNlIGlmKG09PTk1KWRlbGV0ZSB0aGlzLkJbRl0sdGhpcy55dC0tLG09OTk7ZWxzZSBpZihtPT0xNilGPUgudG9TdHJpbmcoKSxtPTc5O2Vsc2UgaWYobT09ODYpQz10aGlzLkJbRl0sYj1RdCg1NywwLEEsTCxjLEMpLG09MTU7ZWxzZSBpZihtPT0yNiltPUMubGVuZ3RoPT0wPzk1Ojk5O2Vsc2V7aWYobT09ODcpcmV0dXJuIGZhbHNlO2lmKG09PTk5KXJldHVybiB0cnVlO2lmKG09PTcpcmV0dXJuIGZhbHNlO209PTE1P209Yj4tMT82MTo3Om09PTc5JiYobT1GIGluIHRoaXMuQj84Njo4Nyl9fX0sZnVuY3Rpb24oSCxMLGMsQSxDLGIpe3JldHVybihiPShDPS0xLHRoaXMpLkJbSC50b1N0cmluZygpXSxiKSYmKEM9UXQoNTgsMCxMLEEsYyxiKSksQz4tMT9iW0NdOm51bGx9KSwiY2xvc3VyZV9sbV8iKSsoTWF0aC5yYW5kb20oKSoxRTZ8MCksVVU9e30sWGo9MCxleT0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApOygoWT0oKFdXKDExLFZhLEJXLDIsMjEpLFZhKS5wcm90b3R5cGVbTHJdPXRydWUsVmEucHJvdG90eXBlKSxZKS5jMz1mdW5jdGlvbihIKXt0aGlzLm9lPUh9LFkuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihILEwsYyxBKXtBZigzNCx0cnVlLCJvYmplY3QiLEEsdGhpcyxMLGMsSCl9LFkpLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oSCxMLGMsQSl7aWEoMCw2LCJvYmplY3QiLEwsQSx0aGlzLGMsSCl9LFkuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSl7Zm9yKFE9MzI7USE9OTg7KWlmKFE9PTY1KWM9Ri5jdXJyZW50VGFyZ2V0PUxbdV0sQT1SRyg5LDAsYyxGLGZhbHNlLGIpJiZBLFE9ODQ7ZWxzZSBpZihRPT05OSlRPSFGLkR5JiZ1Pj0wPzEzOjg5O2Vsc2UgaWYoUT09NjEpRj1uZXcgSFQoRixDKSxRPTYzO2Vsc2UgaWYoUT09NzkpdT0wLFE9MTI7ZWxzZSBpZihRPT00MiljPUYuY3VycmVudFRhcmdldD1DLEE9UkcoMTIsMCxjLEYsdHJ1ZSxiKSYmQSxGLkR5fHwoQT1SRyg4LDAsYyxGLGZhbHNlLGIpJiZBKSxRPTkzO2Vsc2UgaWYoUT09MjgpUT1MPzI3Ojg5O2Vsc2UgaWYoUT09MylRPTI7ZWxzZSBpZihRPT0yNSlMPUosRj1ILEM9dGhpcy5tUCxiPUYudHlwZXx8RixRPTMxO2Vsc2UgaWYoUT09NjMpQT10cnVlLFE9Mjg7ZWxzZXtpZihRPT00OClyZXR1cm4gQTtRPT02PyhGLnRhcmdldD1GLnRhcmdldHx8QyxRPTYzKTpRPT0xMz8oYz1GLmN1cnJlbnRUYXJnZXQ9TFt1XSxBPVJHKDEwLDAsYyxGLHRydWUsYikmJkEsUT0zNyk6UT09Mzg\/UT1tPzUwOjI1OlE9PTg0Pyh1KyssUT0zMCk6UT09MzA\/UT0hRi5EeSYmdTxMLmxlbmd0aD82NTo0ODpRPT0yP1E9bT8xMToyNTpRPT04OT9RPUYuRHk\/OTM6NDI6UT09MzI\/KG09dGhpcy5vZSxRPTM4KTpRPT0yNz8odT1MLmxlbmd0aC0xLFE9NTIpOlE9PTM2P1E9RiBpbnN0YW5jZW9mIEhUPzY6ODg6UT09MTE\/KEoucHVzaChtKSxRPTg1KTpRPT05Mz9RPUw\/Nzk6NDg6UT09MTI\/UT0zMDpRPT04OD8oSz1GLEY9bmV3IEhUKGIsQyksbnQoRixLKSxRPTYzKTpRPT0zNz8odS0tLFE9OTkpOlE9PTMxP1E9dHlwZW9mIEY9PT0ic3RyaW5nIj82MTozNjpRPT01Mj9RPTk5OlE9PTUwPyhKPVtdLFE9Myk6UT09ODUmJihtPW0ub2UsUT0yKX19LFkuSj1mdW5jdGlvbigpe3RoaXMub2U9KFZhLkQuSi5jYWxsKHRoaXMpLHRoaXMuVyYmUWEobnVsbCw4OCwwLHRoaXMuVyksbnVsbCl9LFkuVnQ9ZnVuY3Rpb24oSCxMLGMsQSl7cmV0dXJuIHRoaXMuVy5WdChTdHJpbmcoSCksTCxjLEEpfSxZLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKEgsTCl7cmV0dXJuIHRoaXMuVy5oYXNMaXN0ZW5lcihIIT09dm9pZCAwP1N0cmluZyhIKTp2b2lkIDAsTCl9O3ZhciBneDsoKCgoKCJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwiSU5QVVQiXSksWT13eC5wcm90b3R5cGUsWSkuSD1mdW5jdGlvbihIKXtyZXR1cm4gdHlwZW9mIEg9PT0ic3RyaW5nIj90aGlzLkUyLmdldEVsZW1lbnRCeUlkKEgpOkh9LFkuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oSCxMKXtyZXR1cm4oTHx8dGhpcy5FMikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKEgpKX0sWSkuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihILEwsYyl7cmV0dXJuKChjPShMPVN0cmluZyhIKSx0aGlzKS5FMixjLmNvbnRlbnRUeXBlKT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoTD1MLnRvTG93ZXJDYXNlKCkpLGMpLmNyZWF0ZUVsZW1lbnQoTCl9LFkpLmNyZWF0ZVRleHROb2RlPWZ1bmN0aW9uKEgpe3JldHVybiB0aGlzLkUyLmNyZWF0ZVRleHROb2RlKFN0cmluZyhIKSl9LFkpLmFwcGVuZENoaWxkPWZ1bmN0aW9uKEgsTCl7SC5hcHBlbmRDaGlsZChMKX0sWSkuYXBwZW5kPWZ1bmN0aW9uKEgsTCl7Y20oSC5ub2RlVHlwZT09OT9IOkgub3duZXJEb2N1bWVudHx8SC5kb2N1bWVudCwwLGFyZ3VtZW50cywib2JqZWN0IixmYWxzZSxILDEpfTt3aGlsZSghW3VuZGVmaW5lZF09PTApaWYoWS5jYW5IYXZlQ2hpbGRyZW49ZnVuY3Rpb24oSCxMKXtmb3IoTD0zO0whPTA7KXtpZihMPT0zMilyZXR1cm4gZmFsc2U7aWYoTD09MylMPUgubm9kZVR5cGUhPTE\/MzI6NTE7ZWxzZSBpZihMPT01MSl7c3dpdGNoKEgudGFnTmFtZSl7Y2FzZSAiQVBQTEVUIjpjYXNlICJBUkVBIjpjYXNlICJCQVNFIjpjYXNlICJCUiI6Y2FzZSAiQ09MIjpjYXNlICJDT01NQU5EIjpjYXNlICJFTUJFRCI6Y2FzZSAiRlJBTUUiOmNhc2UgIkhSIjpjYXNlICJJTUciOmNhc2UgIklOUFVUIjpjYXNlICJJRlJBTUUiOmNhc2UgIklTSU5ERVgiOmNhc2UgIktFWUdFTiI6Y2FzZSAiTElOSyI6Y2FzZSAiTk9GUkFNRVMiOmNhc2UgIk5PU0NSSVBUIjpjYXNlICJNRVRBIjpjYXNlICJPQkpFQ1QiOmNhc2UgIlBBUkFNIjpjYXNlICJTQ1JJUFQiOmNhc2UgIlNPVVJDRSI6Y2FzZSAiU1RZTEUiOmNhc2UgIlRSQUNLIjpjYXNlICJXQlIiOnJldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX19fSwxNilicmVhazsoKFk9KFdXKDExLG1kLFZhLCgoVCg1LChZLmNvbnRhaW5zPShZLnJlbW92ZU5vZGU9cUksZnVuY3Rpb24oSCxMLGMpe3tjPTI7d2hpbGUoYyE9ODQpe2lmKGM9PTQzKXJldHVybiBIPT1MfHwhIShILmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKEwpJjE2KTtpZihjPT00MilyZXR1cm4gSD09THx8SC5jb250YWlucyhMKTtpZihjPT0zMyljPUguY29udGFpbnMmJkwubm9kZVR5cGU9PTE\/NDI6ODc7ZWxzZSBpZihjPT0xMiljPUwmJkghPUw\/OTc6OTY7ZWxzZSBpZihjPT0zMSljPTEyO2Vsc2V7aWYoYz09OTYpcmV0dXJuIEw9PUg7aWYoYz09MjQpcmV0dXJuIGZhbHNlO2M9PTI\/Yz1IJiZMPzMzOjI0OmM9PTQ1P2M9MTI6Yz09ODc\/Yz10eXBlb2YgSC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiE9InVuZGVmaW5lZCI\/NDM6MzE6Yz09OTcmJihMPUwucGFyZW50Tm9kZSxjPTQ1KX19fX0pLFZ0KSksVnQucHJvdG90eXBlLkxOPTAsVnQucHJvdG90eXBlKS50cz0iIiwyKSwxNiksbWQucHJvdG90eXBlKSxZLkFzPVZ0LlNKKCksWSkuSD1mdW5jdGlvbigpe3JldHVybiB0aGlzLll9LFkpLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5WfTt3aGlsZSh0cnVlKWlmKChZLmMzPWZ1bmN0aW9uKEgsTCl7Zm9yKEw9OTU7TCE9ODspaWYoTD09NjMpbWQuRC5jMy5jYWxsKHRoaXMsSCksTD04O2Vsc2UgaWYoTD09OTUpTD10aGlzLk5WJiZ0aGlzLk5WIT1IPzQxOjYzO2Vsc2UgaWYoTD09NDEpdGhyb3cgRXJyb3IoIk1ldGhvZCBub3Qgc3VwcG9ydGVkIik7fSxudWxsKSE9ZmFsc2UpYnJlYWs7aWYoWS5HPWZ1bmN0aW9uKCl7dGhpcy5wMD0hKChiYSg3NywxNyxmdW5jdGlvbihIKXtILnAwJiZILkcoKX0sdGhpcyksdGhpcy5GcikmJlFhKG51bGwsODksMCx0aGlzLkZyKSwxKX0sMD09PS0wKVkuSj1mdW5jdGlvbihIKXtmb3IoSD0yNDtIIT03NTspSD09Njg\/KGJhKDc3LDE2LGZ1bmN0aW9uKEwpe0wuZGlzcG9zZSgpfSx0aGlzKSwhdGhpcy5mTiYmdGhpcy5ZJiZxSSh0aGlzLlkpLHRoaXMuTlY9dGhpcy51OD10aGlzLlk9dGhpcy5QMz1udWxsLG1kLkQuSi5jYWxsKHRoaXMpLEg9NzUpOkg9PTg1P0g9dGhpcy5Gcj8xMjo2ODpIPT0xMj8odGhpcy5Gci5kaXNwb3NlKCksZGVsZXRlIHRoaXMuRnIsSD02OCk6SD09MjQmJih0aGlzLnAwJiZ0aGlzLkcoKSxIPTg1KX07WS5yZW1vdmVDaGlsZD1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSxLLEosUSxQKXt7UD00O3doaWxlKFAhPTgzKWlmKFA9PTEpUD1IPzU5OjY0O2Vsc2UgaWYoUD09ODApbT1ILFA9NjU7ZWxzZXtpZihQPT02NCl0aHJvdyBFcnJvcigiQ2hpbGQgaXMgbm90IGluIHBhcmVudCBjb21wb25lbnQiKTtpZihQPT05NilQPXR5cGVvZiBIPT09InN0cmluZyI\/ODA6MjQ7ZWxzZSBpZihQPT02KVE9bnVsbCxQPTY4O2Vsc2UgaWYoUD09MzApRj1ILFA9MjA7ZWxzZSBpZihQPT00KVA9SD85NjoxO2Vsc2UgaWYoUD09MjQpUD0oSj1ILlFlKT82Nzo5ODtlbHNlIGlmKFA9PTg0KVA9dGhpcy51OCYmYj8xMTo2O2Vsc2V7aWYoUD09NTkpcmV0dXJuIEg7aWYoUD09MTEpQz10aGlzLnU4LFE9KEMhPT1udWxsJiZiIGluIEM\/Q1tiXTp2b2lkIDApfHxudWxsLFA9Njg7ZWxzZSBpZihQPT05OCljPUgsdT1ILkFzLEs9dS50cysiOiIrKHUuTE4rKykudG9TdHJpbmcoMzYpLEo9Yy5RZT1LLFA9Njc7ZWxzZXtpZihQPT0yNil0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7UD09NTA\/KEguRygpLEguWSYmcUkoSC5ZKSxQPTMwKTpQPT0zNj9QPUw\/NTA6MzA6UD09Njc\/KG09SixQPTY1KTpQPT02NT8oYj1tLFA9ODQpOlA9PTYyP1A9YiYmSD80MDoxOlA9PTY4PyhIPVEsUD02Mik6UD09MjA\/UD1GPT1udWxsPzI2OjIxOlA9PTIxPyhGLk5WPW51bGwsbWQuRC5jMy5jYWxsKEYsbnVsbCksUD0xKTpQPT00MCYmKEE9dGhpcy51OCxiIGluIEEmJmRlbGV0ZSBBW2JdLHVhKHRoaXMuUDMsSCwxLDEwKSxQPTM2KX19fX19O3ZhciBKWCxBWD17YnV0dG9uOiJwcmVzc2VkIixjaGVja2JveDooVCgzMix6WiksImNoZWNrZWQiKSxtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSwkZT0oVCgzMywoV1coMTEsRU8sKChZPXpaLnByb3RvdHlwZSxZLkJkPWZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctY29udHJvbCJ9LFkuVT1mdW5jdGlvbihILEwsYyxBLEMsYixGKXtmb3IoRj03ODtGIT02MjspRj09Njk\/Rj1DPzQ3OjYyOkY9PTQ3P0Y9dGhpcy5Haz8yOTo5NjpGPT0yOT8oKEE9dGhpcy5Ha1tMXSkmJnRoaXMuazAoQSxILGMpLHRoaXMueDAoQyxMLGMpLEY9NjIpOkY9PTc4PyhDPUguSCgpLEY9NjkpOkY9PTk2JiYoYj10aGlzLkJkKCksYi5yZXBsYWNlKC9cXHhhMHxcXHMvZywiICIpLHRoaXMuR2s9ezE6YisiLWRpc2FibGVkIiwyOmIrIi1ob3ZlciIsNDpiKyItYWN0aXZlIiw4OmIrIi1zZWxlY3RlZCIsMTY6YisiLWNoZWNrZWQiLDMyOmIrIi1mb2N1c2VkIiw2NDpiKyItb3BlbiJ9LEY9MjkpfSxZLlkwPWZ1bmN0aW9uKEgpe3JldHVybiBILkgoKX0sWS5IMz1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSl7aWYoIVtdIT0oLTA9PT0wKSl1PTM7e0Y9OTE7d2hpbGUoW10pdHJ5e2lmKHU9PTEwKWJyZWFrO2Vsc2UgdT09ODI\/KEY9NCxDLmJsdXIoKSx1PTY2KTp1PT0zMj8oY1coMTcsMTAsMixILDQpJiZILnNldEFjdGl2ZShmYWxzZSksY1coMTcsMTQsMixILDMyKSYmdWEoZmFsc2UsMzIsNCwzNCxIKSYmSC5VKDMyLGZhbHNlKSx1PTI3KTp1PT02ND91PSFMJiZUKDYwLDAsSCwzMik\/ODI6Mjc6dT09Mzk\/KGIudGFiSW5kZXg9MCx1PTEwKTp1PT00Nj8oYi50YWJJbmRleD0tMSxiLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSx1PTEwKTp1PT02Nj8oRj05MSx1PTg2KTp1PT0xND8oYj1DLHU9ODkpOnU9PTg2P3U9VCg1NiwwLEgsMzIpPzMyOjI3OnU9PTI3P3U9KGM9Qy5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzQxOjc0OnU9PTU0PyhGPTkxLHU9NjYpOnU9PTg5P3U9TD8zOTo0Njp1PT03ND91PWMhPUw\/MTQ6MTA6dT09NDE\/KEE9Qy50YWJJbmRleCxjPXR5cGVvZiBBPT09Im51bWJlciImJkE+PTAmJkE8MzI3NjgsdT03NCk6dT09MyYmKHU9SC5BdyYzMiYmKEM9SC5ZMCgpKT82NDoxMCl9Y2F0Y2goSyl7aWYoRj09OTEpdGhyb3cgSztGPT00JiYobT1LLHU9NTQpfX19LFkueDA9ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtKXsobT1ILmdldEF0dHJpYnV0ZSgoQT0oSlh8fChKWD17MToiZGlzYWJsZWQiLDg6InNlbGVjdGVkIiwxNjoiY2hlY2tlZCIsNjQ6ImV4cGFuZGVkIn0pLEpYW0xdKSwicm9sZSIpKXx8bnVsbCk\/KEM9QVhbbV18fEEsRj1BPT0iY2hlY2tlZCJ8fEE9PSJzZWxlY3RlZCI\/QzpBKTpGPUEsKGI9RikmJmlhKCJsaXZlIiw0NSwic29ydCIsSCxjLGIpfSxZKS5rMD1mdW5jdGlvbihILEwsYyxBKXsoQT1MLkg\/TC5IKCk6TCkmJihjP2dfOlhhKShBLFtIXSl9LHpaKSwyLDE5KSxFTykpLHt9KTtpZigoKCgoKCgoWT0oV1coMTEsS3QsKEVPLnByb3RvdHlwZS5CZD0oRU8ucHJvdG90eXBlLngwPWZ1bmN0aW9uKEgsTCxjKXtzd2l0Y2goTCl7Y2FzZSA4OmNhc2UgMTY6aWEoImxpdmUiLDQ0LCJzb3J0IixILGMsInByZXNzZWQiKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOkVPLkQueDAuY2FsbCh0aGlzLEgsTCxjKX19LGZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctYnV0dG9uIn0pLG1kKSwyLDIwKSxLdC5wcm90b3R5cGUpLFkuRz1mdW5jdGlvbigpeyhLdC5ELkcuY2FsbCh0aGlzKSx0aGlzLm1rKSYmdGhpcy5tay5kZXRhY2goKSx0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLmlzRW5hYmxlZCgpJiZ0aGlzLlguSDModGhpcyxmYWxzZSl9LFkuWTI9MCxZKS56Vj0yNTUsWS5rMD1mdW5jdGlvbihILEwsYyl7Zm9yKGM9ODg7YyE9NTM7KWM9PTc5Pyh0aGlzLnU\/VygzMywwLEwsdGhpcy51KT49MHx8dGhpcy51LnB1c2goTCk6dGhpcy51PVtMXSx0aGlzLlguazAoTCx0aGlzLHRydWUpLGM9NTMpOmM9PTIyPyh0aGlzLnU9bnVsbCxjPTUwKTpjPT05MD9jPXRoaXMudS5sZW5ndGg9PTA\/MjI6NTA6Yz09NTA\/KHRoaXMuWC5rMChMLHRoaXMsZmFsc2UpLGM9NTMpOmM9PTg4P2M9SD8xODoxNzpjPT0xOD9jPUw\/Nzk6NTM6Yz09MTcmJihjPUwmJnRoaXMudSYmdWEodGhpcy51LEwsMSw4KT85MDo1Myl9LFkuUXQ9MCxZLlkwPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWC5ZMCh0aGlzKX0sWSkudT1udWxsLFkpLko9ZnVuY3Rpb24oSCl7e0g9MTU7d2hpbGUoSCE9MjIpSD09MTk\/SD10aGlzLm1rPzE3Ojg5Okg9PTE3Pyh0aGlzLm1rLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5tayxIPTg5KTpIPT04OT8oZGVsZXRlIHRoaXMuWCx0aGlzLnU9bnVsbCxIPTIyKTpIPT0xNSYmKEt0LkQuSi5jYWxsKHRoaXMpLEg9MTkpfX0sWSkuQXc9MzksWS5wTj10cnVlLFkuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucE59LFkpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiFUKDU5LDAsdGhpcywxKX0sWSkuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gVCg1OCwwLHRoaXMsNCl9LFkpLnNldEFjdGl2ZT1mdW5jdGlvbihIKXt1YShILDQsNCwzOSx0aGlzKSYmdGhpcy5VKDQsSCl9LFkuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RdH0sWS5VPWZ1bmN0aW9uKEgsTCxjLEEsQyxiKXtmb3IoYj0zMTtiIT05OTspYj09MzE\/Yj1jfHxIIT0xPzY1OjI1OmI9PTQ1Pyh0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLlguSDModGhpcyxBKSx0aGlzLlUoMSwhQSx0cnVlKSxiPTk5KTpiPT02NT9iPXRoaXMuQXcmSCYmTCE9VCg1NywwLHRoaXMsSCk\/MDo5OTpiPT0wPyh0aGlzLlguVSh0aGlzLEgsTCksdGhpcy5RdD1MP3RoaXMuUXR8SDp0aGlzLlF0Jn5ILGI9OTkpOmI9PTI1PyhBPSFMLEM9dGhpcy5nZXRQYXJlbnQoKSxiPTI5KTpiPT0xMT9iPUE\/NDU6NjA6Yj09Mjk\/Yj1DJiZ0eXBlb2YgQy5pc0VuYWJsZWQ9PSJmdW5jdGlvbiImJiFDLmlzRW5hYmxlZCgpfHwhdWEoIUEsMSw0LDM4LHRoaXMpPzk5OjExOmI9PTYwJiYodGhpcy5zZXRBY3RpdmUoZmFsc2UpLHVhKGZhbHNlLDIsNCwzNSx0aGlzKSYmdGhpcy5VKDIsZmFsc2UpLGI9NDUpfSx0eXBlb2YgS3QhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBjbGFzcyAiK0t0KTtzd2l0Y2goISh0eXBlb2YgelohPT0iZnVuY3Rpb24iKSl7Y2FzZSAhW10hPShbXSE9dHJ1ZSkhPSFbXTpOYU47YnJlYWs7Y2FzZSBudWxsPT1mYWxzZTp0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK3paKTticmVha312YXIgQ2w9Vig4MCxLdCk7aWYoV1coMTEseGUsRU8sKGlhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBLdChudWxsKX0sMTcsKCRlW0NsXT16WiwiZ29vZy1jb250cm9sIikpLDIpLDE1KSwhKE51bWJlcih1bmRlZmluZWQpPT09TmFOKT09ISIiKVQoMyx4ZSk7KHhlLnByb3RvdHlwZS54MD1mdW5jdGlvbigpe30seGUpLnByb3RvdHlwZS5IMz1mdW5jdGlvbigpe307d2hpbGUoIVt1bmRlZmluZWRdPT0wKWlmKHhlLnByb3RvdHlwZS5VPWZ1bmN0aW9uKEgsTCxjLEEsQyl7e0M9Nzg7d2hpbGUoQyE9NzIpQz09MzM\/Qz1BJiZMPT0xPzU6NzI6Qz09Nzg\/KHhlLkQuVS5jYWxsKHRoaXMsSCxMLGMpLEE9SC5IKCksQz0zMyk6Qz09NSYmKEEuZGlzYWJsZWQ9YyxDPTcyKX19LDEzKWJyZWFrO3ZhciBidD0oaWEoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGl0KG51bGwpfSwxNiwoKFdXKDExLGl0LEt0LDIsMTcpLGl0LnByb3RvdHlwZSkuSj1mdW5jdGlvbigpe2RlbGV0ZSAoaXQuRC5KLmNhbGwodGhpcyksdGhpcykuQlosZGVsZXRlIHRoaXMuTkd9LCJnb29nLWJ1dHRvbiIpKSxFKS5yZXF1ZXN0SWRsZUNhbGxiYWNrP2Z1bmN0aW9uKEgpe3JlcXVlc3RJZGxlQ2FsbGJhY2soZnVuY3Rpb24oKXtIKCl9LHt0aW1lb3V0OjR9KX06RS5zZXRJbW1lZGlhdGU\/ZnVuY3Rpb24oSCl7c2V0SW1tZWRpYXRlKEgpfTpmdW5jdGlvbihIKXtzZXRUaW1lb3V0KEgsMCl9LE5mLE1mPXtwYXNzaXZlOnRydWUsY2FwdHVyZTp0cnVlfSxicj1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxaeT0oKE0ucHJvdG90eXBlLnNpPXZvaWQgMCxNLnByb3RvdHlwZS5xVj0idG9TdHJpbmciLE0ucHJvdG90eXBlKS5PaT12b2lkIDAsW10pLHdfPVtdLGpvPVtdLHZXPVtdLEk3PXt9LFBUPVtdLFN5PShNLnByb3RvdHlwZS5VaT1mYWxzZSxbXSksaGY9W10sVEs9W10sZHg9KCgoKFdULGZ1bmN0aW9uKCl7fSkoZF8pLGZ1bmN0aW9uKCl7fSkoTGwpLG83LGZ1bmN0aW9uKCl7fSkoWWUpLEhtLEk3LmNvbnN0cnVjdG9yKSxreT0oKFk9TS5wcm90b3R5cGUsWS5neD1mdW5jdGlvbihILEwsYyxBLEMsYil7cmV0dXJuIFl5LmNhbGwodGhpcywyNTQsQSxiLEgsQyxjLEwsMyl9LFkucm89ZnVuY3Rpb24oKXtyZXR1cm4gY1cuY2FsbCh0aGlzLDE3LDMpfSxZKS5qXz1mdW5jdGlvbihILEwsYyxBLEMsYixGLG0sdSl7cmV0dXJuIHVhLmNhbGwodGhpcyxjLEwsSCwzMixBLEMsYixGLG0sdSl9LFkuRWk9ZnVuY3Rpb24oKXtyZXR1cm4geWEuY2FsbCh0aGlzLDksMTApfSxZLmF1PWZ1bmN0aW9uKEgsTCxjLEEsQyxiLEYsbSl7cmV0dXJuIFFhLmNhbGwodGhpcyxMLDMsSCxjLEEsQyxiLEYsbSl9LHZvaWQgMCk7aWYoWS5IZD1mdW5jdGlvbihILEwsYyxBLEMpe3JldHVybiBady5jYWxsKHRoaXMsbnVsbCw1LEgsTCxjLEEsQyl9LHRydWUpWS5sPSh3aW5kb3cucGVyZm9ybWFuY2V8fHt9KS5ub3c\/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5YTSt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCl9OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfTsoWT0oKE0ucHJvdG90eXBlLm89ImNyZWF0ZSIsWSkudmQ9MCxNLnByb3RvdHlwZSksWS5WPWZ1bmN0aW9uKEgsTCl7cmV0dXJuIEw9KEg9e30sa3k9ZnVuY3Rpb24oKXtyZXR1cm4gSD09TD81ODozOH0se30pLGZ1bmN0aW9uKGMsQSxDLGIsRixtLHUsSyxKLFEsUCx4LEksWCxnLHosbix0LHcsZSxELHYsUixLcixucixVLFMscixDcixGaiwkeSxHSyxhLGYsQlQsJGEscCxwdCxQVyl7cD0oUFc9dW5kZWZpbmVkLGY9NzYsNDApO3skYT1mYWxzZTt3aGlsZSgwPT0hW10pdHJ5e2lmKHA9PTE3KWJyZWFrO2Vsc2UgaWYocD09MzQpcD16Lmxlbmd0aD40PzkyOjg5O2Vsc2UgaWYocD09NDEpRltJKytdPS0xLX4oYnwyNTUpLShiXjI1NSksYj4+PTgscD04O2Vsc2UgaWYocD09NDYpZj00OSx4KCkscD02MDtlbHNlIGlmKHA9PTgyKXA9NTU7ZWxzZSBpZihwPT05KWY9Nzcsbj1PKHRoaXMsMjE3KSxuLmxlbmd0aD4wJiZsdCg4LGgobi5sZW5ndGgsMikuY29uY2F0KG4pLHRoaXMsMTM2LDQ4KSxsdCg4LGgodGhpcy5zKzE+PjEsMSksdGhpcywxMzYsODcpLGx0KDgsaCh0aGlzW1N5XS5sZW5ndGgsMSksdGhpcywxMzYpLEZqPXRoaXMuUmU\/Tyh0aGlzLDIwNik6Tyh0aGlzLDQ0NCksRmoubGVuZ3RoPjAmJmE3KHRoaXMsaChGai5sZW5ndGgsMikuY29uY2F0KEZqKSwyMDgsNjQpLEtyPUIoMjA4LHRoaXMpLEtyLmxlbmd0aD40JiZhNyh0aGlzLGgoS3IubGVuZ3RoLDIpLmNvbmNhdChLciksMTM2LDY1KSxRPTAsUS09KE8odGhpcywxMzYpLmxlbmd0aHwwKSs1LFErPU8odGhpcyw0MDEpJjIwNDcsej1HKDkzLHRoaXMpLHoubGVuZ3RoPjQmJihRLT0oZT16Lmxlbmd0aCwyKihlfDMpLX4oZSYzKSt+KGV8MykpKSxRPjAmJmx0KDgsaChRLDIpLmNvbmNhdChkXyhRKSksdGhpcywxMzYsNTMpLHA9MzQ7ZWxzZXtpZihwPT02NXx8cD09NilyZXR1cm4gcHQ7aWYocD09NDIpeD1KLnZhbHVlLHA9NDY7ZWxzZSBpZihwPT0xMClPTyg0MzgsdGhpcyxjWzFdLDQ1MCxjWzJdKSxwPTcwO2Vsc2UgaWYocD09NDkpRD1nW3ZdW3RoaXMucVZdKDE2KSxELmxlbmd0aD09MSYmKEQ9IjAiK0QpLFMrPUQscD01ODtlbHNlIGlmKHA9PTc2KXA9Si5kb25lPzkxOjQyO2Vsc2UgaWYocD09OTQpcD1YPT1QVD8xMDo3OTtlbHNlIGlmKHA9PTQ4KWY9ODksWD1jWzBdLHA9MTg7ZWxzZSBpZihwPT0yOSlmPTI3LG09YXRvYihSKSxGPVtdLCR5PUk9MCxwPTE7ZWxzZSBpZihwPT0yMSlmPTg5LHA9NjA7ZWxzZSBpZihwPT0yNilQVyE9PXVuZGVmaW5lZD8ocD1QVyxQVz11bmRlZmluZWQpOnA9MTc7ZWxzZSBpZihwPT04NSlwPVBXIT09dW5kZWZpbmVkPzcwOjU3O2Vsc2UgaWYocD09MzkpcD1YPT1qbz81OTo3MDtlbHNlIGlmKHA9PTg3KXA9JHk8bS5sZW5ndGg\/MjI6NzM7ZWxzZSBpZihwPT03OSlwPVg9PWhmPzY3OjM5O2Vsc2UgaWYocD09NTgpdisrLHA9NTU7ZWxzZSBpZihwPT03MilhNyh0aGlzLGgoei5sZW5ndGgsMikuY29uY2F0KHopLDEzNiwxNjYpLHA9ODk7ZWxzZSBpZihwPT03NSljWzFdLnB1c2goRyg5Myx0aGlzKS5sZW5ndGgsQigyMDQsdGhpcykubGVuZ3RoLEcoMTM2LHRoaXMpLmxlbmd0aCxCKDQ0NCx0aGlzKS5sZW5ndGgsRygzOTIsdGhpcykubGVuZ3RoLE8odGhpcywzNzkpWzBdLEIoMjA4LHRoaXMpLmxlbmd0aCxCKDIwNix0aGlzKS5sZW5ndGgpLGwoNDUwLHRoaXMsY1syXSksdGhpcy5GWzUwXSYmT08oNDM4LHRoaXMsRyg1MCx0aGlzKSw0NTAsODAwMSkscD03MDtlbHNlIGlmKHA9PTEpcD04NztlbHNlIGlmKHA9PTUxKVI9Y1sxXSxwPTI5O2Vsc2UgaWYocD09NzMpdGhpcy5CMz1GLHRoaXMuaT10aGlzLkIzLmxlbmd0aDw8Myx5KHRoaXMsWzAsMCwwXSwzODMpLHA9NjY7ZWxzZSBpZihwPT01NylmPTg5LGc9ZF8oMikuY29uY2F0KEcoMTM2LHRoaXMpKSxnWzFdPWdbMF1eNjAsZ1szXT1nWzFdXndbMF0sZ1s0XT0oVT1nWzFdLHU9d1sxXSwoVXwwKS0odXwwKSsyKih+VSZ1KSksUz10aGlzLm5OKGcpLHA9MTM7ZWxzZSBpZihwPT00MCl0PUgsSD1MLHA9NDg7ZWxzZSBpZihwPT0xMylwPVM\/ODA6MjM7ZWxzZSBpZihwPT05MilwPXoubGVuZ3RoPjFFNj8zODo3MjtlbHNlIGlmKHA9PTgwKVM9IioiK1MscD0xMTtlbHNlIGlmKHA9PTQzKUE9Y1syXSx3PWgoKEIoMTM2LHRoaXMpLmxlbmd0aHwwKSsyLDIpLENyPXRoaXMuTix0aGlzLk49dGhpcyxwPTk7ZWxzZSBpZihwPT0zOCl6PXouc2xpY2UoMCwxRTYpLGE3KHRoaXMsW10sMTM2LDE5NyksYTcodGhpcyxbXSwxMzYsMzYpLHA9NzI7ZWxzZSBpZihwPT01NSlwPXY8Zy5sZW5ndGg\/NDk6MTE7ZWxzZSBpZihwPT04KUZbSSsrXT1iLHA9NTA7ZWxzZSBpZihwPT0xMSlucj1TLEcoOTMsdGhpcykubGVuZ3RoPUEuc2hpZnQoKSxCKDIwNCx0aGlzKS5sZW5ndGg9QS5zaGlmdCgpLE8odGhpcywxMzYpLmxlbmd0aD1BLnNoaWZ0KCksQig0NDQsdGhpcykubGVuZ3RoPUEuc2hpZnQoKSxCKDM5Mix0aGlzKS5sZW5ndGg9QS5zaGlmdCgpLEcoMzc5LHRoaXMpWzBdPUEuc2hpZnQoKSxCKDIwOCx0aGlzKS5sZW5ndGg9QS5zaGlmdCgpLEcoMjA2LHRoaXMpLmxlbmd0aD1BLnNoaWZ0KCkscHQ9bnIsUFc9NixwPTcwO2Vsc2UgaWYocD09MTgpcD1YPT13Xz81MTo2MztlbHNlIGlmKHA9PTEyKWY9ODksTUkoMzc5LDE3LEJULHRoaXMpLFBXPTE3LHA9NzA7ZWxzZSBpZihwPT05MSlLLmxlbmd0aD0wLHA9NzA7ZWxzZSBpZihwPT04OSlmPTg5LHRoaXMuTj1DcixwPTg1O2Vsc2UgaWYocD09NjcpcHQ9T08oNDM4LHRoaXMsY1sxXSw0NTAsODAwMSksUFc9NjUscD03MDtlbHNlIGlmKHA9PTU5KXtpZihLPUcoMjQ4LHRoaXMpLFA9dHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmS1tTeW1ib2wuaXRlcmF0b3JdKXI9UC5jYWxsKEspO2Vsc2UgaWYodHlwZW9mIEsubGVuZ3RoPT0ibnVtYmVyIilyPXtuZXh0OkhXKDk0LDY0LDAsSyl9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKEspKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3A9KEo9KEM9cixDLm5leHQoKSksMzIpfWVsc2UgaWYocD09MjIpYj1tLmNoYXJDb2RlQXQoJHkpLHA9MTQ7ZWxzZSBpZihwPT02NilmPTg5LGh1KDE5OCx0aGlzLDE5OCw4MDAxKSxwPTcwO2Vsc2UgaWYocD09NjApSj1DLm5leHQoKSxwPTc2O2Vsc2UgaWYocD09MzIpcD03NjtlbHNlIGlmKHA9PTUwKSR5KysscD04NztlbHNlIGlmKHA9PTYzKXA9WD09dlc\/NzU6Njg7ZWxzZSBpZihwPT03MClmPTc2LEg9dCxwPTI2O2Vsc2UgaWYocD09NjgpcD1YPT1TeT80Mzo5NDtlbHNlIGlmKHA9PTE0KXA9Yj4yNTU\/NDE6ODtlbHNlIGlmKHA9PTIzKXY9MCxTPSIiLHA9ODI7ZWxzZSBpZihwPT03NCl0aHJvdyBhO319Y2F0Y2goRHcpe2lmKGE9RHcsZj09NzYpdGhyb3cgRHc7Zj09Nzc\/KFBXPTc0LHA9ODkpOmY9PTg5PyhQVz03NCxwPTcwKTpmPT0yNz8oQlQ9RHcscD0xMik6Zj09NDkmJihHSz1EdyxwPTIxKX19fX0oKSxZKS5hZT1mdW5jdGlvbigpe3JldHVybiBXLmNhbGwodGhpcyw4KX07dmFyIGVvLGZ0PShZLkdWPShNLnByb3RvdHlwZVtaeV09WzAsMCwxLDEsMCwxLDFdLFkubk49ZnVuY3Rpb24oSCxMLGMsQSxDKXtyZXR1cm4gVC5jYWxsKHRoaXMsOSxILEwsYyxBLEMpfSxZLmNkPShZLlBkPWZ1bmN0aW9uKCl7cmV0dXJuIGp5LmNhbGwodGhpcywiIiwxNil9LDApLDApLC8uLyksRnA9d18ucG9wLmJpbmQoTS5wcm90b3R5cGVbdlddKSxOST0oKGVvPVcoNzUse2dldDpGcH0sKGZ0W00ucHJvdG90eXBlLnFWXT1GcCxNLnByb3RvdHlwZS5vKSksTS5wcm90b3R5cGUpLlo1PXZvaWQgMCxmdW5jdGlvbihILEwpe3JldHVybihMPVNvKDI2LDk2LDQ4LDE2LG51bGwsImVycm9yIiwia3MiKSkmJkguZXZhbChMLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE\/ZnVuY3Rpb24oYyl7cmV0dXJuIEwuY3JlYXRlU2NyaXB0KGMpfTpmdW5jdGlvbihjKXtyZXR1cm4iIitjfX0oRSkpOyhOZj1FLmtuaXRzYWlsfHwoRS5rbml0c2FpbD17fSksTmYubT40MCl8fChOZi5tPTQxLE5mLmtzPXJfLE5mLmE9Y1QpLE5mLm5mUl89ZnVuY3Rpb24oSCxMLGMsQSxDLGIsRixtKXtyZXR1cm5bKG09bmV3IE0oYixBLEYsSCxDLEwpLGZ1bmN0aW9uKHUpe3JldHVybiBXVygxMSxtLHUsZmFsc2UsMyl9KSxmdW5jdGlvbih1KXttLmFlKHUpfV19O30pLmNhbGwodGhpcyk7J10uam9pbignXG4nKSkpO30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iMVBzMmlzVHBSMHBpQ25nbEo5TjVQdyI+KGZ1bmN0aW9uKCl7dmFyIHI9JzEnO3ZhciBjZT0zMDt2YXIgc2N0bT1mYWxzZTt2YXIgcD0nbmZSTmdLakVUVjRYTElqaGxnS2o1bDcwdnZ2Z0ZIUFJvVzNxWnNLejIraEJUdHBNTXRMbVZEVlY3Mzgwd0R5UlhTay9SS1lEL2JZYk83aXJjM1kyMlJtMjNjTWhFVlJES0JJeWpPL3MvanlheFVQTXBXd1ZTVW9TUVJmNUpqRlRPU3F0Rit3eGZ3TGFNYU1aemY3QTh5RU5ySmZrYVVOeks4YmlNOEYyczNUaFEraUNjN1BvbmxoQ2I0SVNTaVVGd2NudENMeUhYbFJlcVpzajl1SDFkNjlKaFNHcGs4WndSMHlqTmJvMnBwbFFaeE1PL2RGcEhlb3NBcWxURVU0UnJ5L1BIdXJkSTJDYjhFclBwV05QQ3NyMWttSXhueVYrZGt1SVlVUkxYU0pjeURNUy9vNU10elZxMmt5ODZJeVYzQzdhVTJQTGVoM3E2c3JpMWUwL0F1VHB5THh3UmI5ck92UW05S0ZCQTRrTTNDTEoxUGtJSnpkVkh5YzlBYXdqNnpjTHRkaC8zYnZkZ3k5a2ZReHhWcjFHK2VNQ09OUEYwOEpKbGVIRHFHcTV4anhkREQwME1QU1RRZ2Q3NHRkcHN2dUs5UmwvN2hiOWRwblRFYVhKSGNKeFExSWxWamJBTWhSWDAzK0YxZFF0Nm5VOVMzMHRtdmdDL0RGaGRrcmpWSUVNYjBDc2RNeWVrSERKektEd1lFY2RVVk82YlJkd2k3Y1FYdk95YjVBRW9xZkZ2THViZlhxNGhYWDZjVzVOcmpnY3hzWnNPVXY2eGJ3UHZZTFRocGFaVnk0UXM5VXBDOVBSdlY3NG9wczVJUzVqSFgvdlNmTzNlRWJ0Zjc3d0NPY2h5VU44RkNSbHFaMTJvb1lBZnRMNm5BSDRESEpNclpNVnMreDNXdkZxU1pTb3RIdnRBaFo5OEppa3Rha3BBUDNEbXk4a0pvUFFWaHczckowYzlVUnVkZ3dpY09NT3VZV0I3SGhmemRXQmZZSEdJS0RrOFQ0dGgrcit3ajVWcUJsbC9jVVU4eE9xeWo5WSswRFNyMmVUR05RbkFVUFFIZVdVcEF1YVY2cUEzWi9TS0NGN0Y3Z2EwckZlckRwYWxZN09hMVBQaFRuaVorWm94ZFNYWTVLeXdtQ1EyOG1WbGtNYnk2MVF1QmZoNUxsUHVCbE1zbHpMRmhhRU9GZ2pkYUtGYld4ZEhSazQ0cUxOK2FKMUpFMGdwTmFveVFnZ3FlRVQ5R1VjcDZwTGlxUitTVjZ4dUlaNStQdDliUzd2dStMT0orNFpUa0RCaTFYUEQ1ZHg4U2F1c1dBUXNFNUFpbm9XQjI3TzAxUXcvckJxMzVSS0h3aU8xelNqWDBnbE8vSGR2TnZCRVVlU01uaEJHUXJzcTFTNW5ldW9ncVBZYzBwUFZTTGNyek9CTS96VEFGTHYrTlI4clhyMkZKYWJXanQzR05hV25IRStrMXAyazUyVmtKTDN2Q3hDQ2pLMGVjMThTc0hlN0FBUFQvQVVvbmdMOUxtb3BzWENKUTJlb25xUEZTeW8wNU15VkNaRnhXdjloUnhhTWFNSktvVlJmbXlCRys2MjE5eFRTbld0OG9aWndBc25oeXZxL25xQnJxWmd2dk1BM3p6UnFramNiS2lvNHd4NHZlN1I5TFJnUUE1TWd5OTNNbXpYU0ttMnArMUgweHkxUHBwcEl3TE5tOVpxRjFkaE1ucGgxRTV1cjlRdEYvOFpYV25XZE5GMys0UERxMDAwR1BGWmFGS3dLM2ltMTJrZ0Q0OTdnR0xnQmwzYktFZ0xxdVlzWmwycjFuVUl2SUhsN2d3VTZPa2owSkxDRWxkYmYwRWwzb3h1YURtcnRPUmhkRHgyNlpNdi9FUFh1YTNLQUFPTmdBbTFueDFjblQzSnh1WHNMS0ZBdmRRSFFrWXIxK1JPdzdWU1BrRlBibXh2Uzlia1c2a21wMnE3SE9DNkhvOVlvekJHbEpEWWdncE85Q09MbjNoZVk5aUY5TVJJSFRoYWRzSHMvdkc0QytSUE9wRS9XUkU0bkd5MUYyeGkzbFpnZDF1Tlg5bGF6M1FwUytFN1lDbVlwc1Jya1pqaEJ2ZW0zK0kyck0zTWtyN0NrUkZvQVdiZFhIblEyVkZmSGpNTWV5YlpwZkIzL0JuaEpwTVM3b2YrM0I4alJVWStRVlZ3MUZjdUlUOTdaRStSUHcrVXVWWXpKNGNCVG1jNnZpSDdCcE9JajVCTE1vQnloNEFpTE1QNms3L0J0bHRZOEh3SCtYL3hVOHFtcXJjNVVjUWFXZld4Ylo2UkdXdWVVVXhZUk1SQnFWbDlSMmFEbXZaVHcxRUtGOXJYWFhvLzNwcEl3ckYyUmRSN0pGTU9tV0VPRGJ0citnYjk2bUVJaVRodlpHVkw3VzBuZkI5MVpoeVFMM3MrRTE5Tk5yYWtxVEhXZHVaTjk4NFliKzV2cEx4YkMvRjZUdkFYSFNJcEQrL2tyZ2IxamlBV01OcFgxV3hTY05OYnFFdkxVSXVlUTNreVlBV0FNdGxjVnVaVWt4VEkvT3lzOHhNK0cvaWQ2T2t2bHJrMjNwd0lUdnltVDloSlBwMEFWN0tBOGNtUVhlTkxNZmlmYUhzWDhxRWgzODFsUTV5ekRSMnJaNUlxR2JJSmNkK1ZxeVNiZmc3bTI3b1lSY1MrbU85eDZNT3ZPSm00VU1Sc1ZseGVrRWlZVER0aEcvNTdOZnF0M0lFK0FuaWdNQWlPemM5cWF2cHZlSjNSRDNuU0dJZUJMeXNtcElaQVJhSnBEL2VNSGorQlVFb04rK2tnYWhvTWtCcVQvS3Y1S0FQQ1lNUHo0RjNVRXkzWmpPelc4ekx4dUlYRW5RdjltaVArNnRwaGZKTEh5Y1hJT3Uwb3lzbERNQ0tDczcxRTRvemNwdzVZZU9zZXdTMnI4Ym1wV2o4cWMzd2NNUWNnN21WSHFITTdjendHQU1KeWVtc25uVVZXK2cwSmtpQWpETHkzL1VKSzVuV1YvN2hzaGFDUTh5a25XTHp6eFdkZmlZUDFBcmxBUTRrMk5RVW5EeU5wVHlDeU9UMjVVcERHZUJKRXJIcUxRT2RYc1N3S292cE9aVU9zSDRmRUVGNXI4ajAxQmNyV0hrWjlYSUcyczh6OXRFemkrS3IxSnM2WDdBc0l6dTN4VzdPaVdaNHIrWXZHdG03T0haUUl5NHVYVm1GM3lsaXVxM1l4YUdQZHZOR1hPK2Vyb3BveDdYd0haeTNUcDBBRTl4UWs1R2VkZWZmQjBXMFUrNnN5bmNibk9GWW9ublp0THdOTm1ITFJ2ZCsrOHBGR2tIMW5yYVhvbWN0QytXcFhCejVXUW03TUtwbElobWtLcUUwRXZWTFYrMXk1UFVBU1VKR20vVGNMYWNjNm5oWGhoUTAvLzFRUW5wMWFqSmMzb3lCWUtZSkFwbmZySWF2ajE3d0Fnck5Zb3l1Mm8wNzhsc1dmYnZRbGh2SjhsemVZQ2NaRWFGMHRwcGRIeTNScVVBOW5lejB0UlVOQ1hERi9IR01wSjg0RjNhTUZtWjN4bEtCc3pNbmQzZGhXNEtwNGFFZkpuQ21iKy81MEpUR1dDQ2U5bFlmc0xKcjRrV1VwSkovY0R2MVdUeHMzMGdHMERhZWJwbDUzdjhEWEVjRXY4Wm5KV1JNZFBxMkRjby9Xb1ZHYnVUYnVLUEVXbHFIay9HNkwrVXBSTHY3S2h1NEMzZ29ueVJIR0U5U0RLN0xHcnYxcWo3YkZBVUtHcmZkU3I5dnVkWEZFU1oxYWh5b0FJQ1I3YXRMQTh0RkZGdkt3NFppMUttSE9FUHdYdkdRa1BHWU54WmlnWVFDdVZXTGhjQzlsNXRjM1hHYkxYTUlLQzd3NUNadzhod1k2cjJCUml5ZEh1aUhSY2ZCZDYzRmtjVlRlTCtOclk4VDVNeVQ0N2xuQVZlTkZuWWxBMFJJUUFaZFZhZ3JpamZoNDkyWGR3S1ZFaDFSSlcvSktKaDlWQ2dRbkdKQWRLUzhkelkreDBEYzVRZWIvcnhTT3YwZHpzdGRLY2huUVh2OUZZZ1BJck9VZDVvOEpXRVFnbGR4R2NCTy9pN2c5MFZWU3k5RDhBcC9ockl5YWl5dlRoeTVGa3JoR1NNdm9oU0gxb1F2SldSRlk5WjVSWERwVmZCeTVETkVZRm42Zy9nMEJvbjVKVlltZjVmZmxaQnFXZEJqa2JMSlQ2eWl2R1krcEVWZHl3b3Q3MWFmbjVzZW9uVGtWMUJpejRabHJBaWhmbW0ra2JkUzQ0ejdOOEFwamJpL21hcjhnRHo5eWE0T0R1MzNYN2lLaVEyUklUWlJRRkVwSTFmUHhpRGNSQzVvT0MvdnJyT1VIdVU3cDhJMktoK1hlTG0yS3FWVWU3QnhlL3h0ZGtoZjU3cXcvY3JaK3BiRlExTm1iTEswTkVOSWdEdFVTcnAzWlNzSGdmR3UwSVNXcGgvWU5BSXRDc3N1SVIrRDBCT042cWxFSnhMc0VTdVJvTnNaMVVxWUVSNHNJZjZjaU1uZU0wUUxEejd5S2cyek5GNWVhRW5PRmZ1UHZndEtRNDNEOVdQdllHL0Jha0VLSUpSMmJKYnpyaWYwNStQenUxM1pOcnZVMnlUSzFITWN0Sy9hc2NYckxZSHJwMHdoWGYvWjN1emk5aUE2UFlGN2FmQUhwNSt6bHJubTBrenAyVzhQL05icEgvN2dzVjFKZkp5L0RNcXQ1MWlROUg3VjFnaXRXQlRPK09OZWNXZFhqL0N4Q0k2dzRvYnhWT04xK0pneWNLTW5kUitabzhLT2xGYUJhc1ltM1JaTk1DYmYwamR2cFBURldZUW91eURKcHZjR0lBUmFlcS9GRDJ5RmdtNWw2dlJYaHZBNFVuZ21DMS84SkwzV3JlRElUUHc3THVnT2N1MkJ2U1hKWWcvT09xaG40aXp0ZUkxMVNhWXJ3QVd3MXlMSHo5Q2lSbkQ4b3R4dktpWnB5SGQzckRQT1NxS2gya1cwRE9yNjRsV01Tc0tmbzRFK3F4em9KSXYrRGlqSVFnYmlqUzlOSkhiSkFwYWIzeFkxMCtCZlRYWmJ5QnprVU5qbWRrZ1FpQTE0TDVJNDNBVTdOUWxZeUxXaXBwNGVxM2JiMnFFaG1RNlp6OVpTeVY1R2JHZW5jUDZEMWtpUktNd2FwaWE2SlE3STdtYVhSL1VUUUw2VUN4V3RPRE94YW5peHZUbXhPK1Q0SERhMFJoZlNRL0tNTjdtbFZDNUh5TmUxZjFSb0JNNGZRY1g0VDREbEp4clVkYnZPWnp4QXhhL1dOZ2xvNm1LdUxsRHlOTVJxbFkvWjJXY1pRTGpLWXdoZW1LTWlpSFE3K1A5U2VXbkxUcCtySnF3TW1abjhuRGVoSElCaUt4d1IzenNQZGdHQ1o3YWRXM2pHWkw5VXczRVVUWVdncE1oOE9jODlYNS85dkttbWRESmpOQlpmaUkwQnRJYU5qWmZKUnIvTkJjTGVrVk1yM0I1eEFQMDdsTk04OG04d1NJNmFCaGo2aVZVU2pQTFpNcHVZK1UvbXIrMjdKbVVMM2lTZ085R3M0MEhtblhSMStIcHpMZVBQZVZHdXZHUElDN0ZuakZUTCtEdkk4NUdaS0pPbXdwQVI3K3Z1Z010dDRMRkM2RmZKM3FvSUJIYUtDVFNNNjZsSVlnamwzMXVXQzQzN1JoVlRiUmFsdW4xUTRQMnNqZEJMMGNyYUJvdXR0VnUyVXZnVk54dDBJV3dqeGFkNFB6eVBtVERILzBDb3JDNS83N2d4aGt0NVNsVGQwQmF3QXQzRjV4c1FkTGExZ3JibEdtUmYwU1VFS3RZbUFOaWxPYUNPY0JieFY4WGJmcG5yOUZsbTdsaktFTEg3RHc0ZWVvQXZ2dnQ5T2FHMGZXQXlrd1VsQ0s3RnN3TXVFUG1PT2RPMGdoejYxd1JJV3dXem9KajdJVHNPNEh5YStnZWRsMzR6OFlWZGZVQy9HNm02QTlQZVdzTzkrdVcwZDM2WFh3SHlyNmRqcUxnME8zdy92MmZkQk9ZUkJZRmlKanZGNC84WHhZTkQrZzErb1prOHVPSjJtYlRsMGsrcXJxeDhKYkhtTDF0NUo1VVZtYVhEQXVZRGp0MXZYeEVxV05ieWYxaFNOQnJ3V1ZIaVQxaWNnUmxYZUM1endlM1dvMVVwTkhmVFRVc0pzVFJjWGRGa2FOc05pYXdvdDV4dUpycjBGdE5VNEkyY0EwcW9ySjd4NGxJbXExVnkwNGFQRE55VUJ2VWdWcnVuSzQyVnNBNS9Rb1NPb21lOTVLQzdYRldabUh3TDBhUG0ySVl4bmVOUzdNdnRVVnFjb25qUFlNQlVzOG5XZU5VdWVDeG5FNWxhWTVvTS9nNCtpME95ZjFXbTlrb1JMME5zaFlFbi8wcEYzWHBaK3AwVVNQN240ci9OblVIMG5YZVBjVThQQ2FQK0JjbWJ1VlFaR2JicUsydHNucUxlTlQwQ25TT0VIUVZBbHFkMkE0Ris3UmVJUHlsR0dIVUVyWjJET3V1K1M5ZG9SU3AvOXp0SjRNcXUrQnU3VzNCZUZ4K1lJV3NhYmF4NEFNelBhRjV6NzVxNHB2NG1kU0hWTEllbUJmM3hYUFBwcjZIVllaYWhvTFc0WHc0VjhicCs0VGpBYjdpUDJzTzdRQnpKUlRiK093S3djMzJyWHlEQitabUMwSVdCR1pBR1JIdnhZU3ZMd2dGb0VEZUk3T082cjc0NUVxZVkxSGtOVVlCcGFiRGRDalhPRG5PRmtvVW1YMGlvU3RqVVMrTDQzU3Y0U3NVM1RvNWE2K0ZBYURBUkdYMVM3Qis2akEreHN4STE0K3dFK0dOV2VtcDlDUFlMUDhVYzE3OWV4YndrTTh2ME5kUWtzY2V5VlVJRzhjOGxVVlBocDZ1cGpSTlNKTWtON0lHM1lyR0p1Sm1ML3RIWG9wRC9WVmZRTHVOeHh0bzFzSWw1VnhGVVFhUFJQNHNnZ2pZNmhsb0pGWWV2V1F6OGp6Mm8xZkVvT09vOVg0VS9Cajc1STh4Kyt6Wm9mdlVPT3RhalFJdHZ5R21zNUxXRXdnS0swajVsV2VBVWN3cjB4dndHdFhMTTFibFNuZ21XUk9lNUNDcDhrYkZwUSthYkxtL1IzbUcycXJWTHZWWEtWY0hUZHl0a2xMQjA3VDRFMERWdW9sMkJJU2RmRWZxRVZiK2dOWllCODhGc2w0TlBHUlM2eW1POUNJcTBMT2FCMEFNUDR3eUk2SE5UU2xhQkNaNjJYY1RnUlBFaVM1NHlmYmo0QUpaRXhZd0xnQTZMZWNkSXkxZzJ2NFFYM3dqUXAwOTJUQkdWRVdnZThyM3BpR042Skhhcm9kSkNoNnlXSk1KalgzMURKSXp5elJEWUFZTStvYmJNSkt4VkMwWTVQSURrYmZpVUU4VkhHYW5zUG4xOFhGMjhnTUNIN0o1WjNKdnhtaWRRUWJkdDMrWnkwRWJnWjdDRGVQQ1U5di9qSER1ejdlZHlNR3ZZM1BudzdDMXJIWFF2TUhvK2lqeHgzS3ZWS2ppdEhEeTN4Nm1kYW8vUlAxU1VvUm9MQkdlQVlpL2NqRllvWDVRTzlpdVZGc0lvV0Z4WThOUWRuUjZoUDN3VVVUY1gvWEFiUGhlUm81ek1mRS9MbjZVR29YL0ZTUmxDYSsvdVo5RTFxSzAyKzhFQTZYd203OXFRRjU4VjZyQW1tUEdpKzVRMHpyRHFBTGs3Q3ovdGNsUEpKQU1hOFZMV0NBQ1ZhZitPWk83cGxLQUR6NThZR3NSYld3OUdXUEtZT094aU5SbEs3ZS82d3BtYlRheDh3ckppOS84Tng0R1lFMUlBZ3FOb3BjSHlTRDkxUndEYklqbUhQWnFXRWFlUlg2LzgrbmZrVzhYaHJuN0RMV0o5NnNwWmYvc05MQ3R2L1EvRVRmeklsQU51dzhOWmtWanZEWjEzcFk4NTg0R1hramhWSVBaRExRL0ZWZW1UV0Y0TGZNdVJyU3NzQnNYVEFtKzh6Ryt5WGN2RkkwTlZRYzB4eUdwTUtwUkJxKzRScm9CSm9HYnlja2g1VWp2bzFveEtZaGM5eG1XVXFZRUM2MjdCL0VjSXdRNTFubU9UMFBqQURTTHNkU0owLzVNbkpUNTBsdGV6WEtEZGd5STE5U3VWUE80QkpvRURwVWxxczRzMUExWUxJdjNLb1QrWGwzcmZVclJXbDhxNEFQaElyZTVpcXVXc0traE9CV3pKVENCTDVtRVVHbktrcWUxMDBJYkFTYWMvMHJ1ZGt4T0ZoUjVBeGZyU0dBcUFnSi80dTZVNWtsS2dpUlBSSnBrN0xmNm1nYkZlUU9ScktOWW5kTGtjdXRhcEJPeE5JbHNZK0JLT1ZqTU1YV1lUVXZxV2ZUaDJ1T3I3STVReVV4dFlFTEZvcjJHOWszZWRlMUJJeHNzZlUxMjUvZEJUc0RmODA1MEFsR0l3ekRRTWZtZWZLcE56bitScHVDWmpCWGJBd3BhTmp6NHJVU3Y1OVpyOTRFTUpVZ3FGSXVhckF5eE44cUtiWC9vcC9FTSs3aE1iZHZJcWdpczZpdThVb1pOMEVZVW5qcS9xQWZvTGFmTDl6Y1ZDWGRFWVJPZm8vd0E2Z0MzWkRsdUdtVHJaaVdjaEhDVmN2c1BRazFSanRNaDdUV2wzZ3ZXanRrVEJKT3cxUW1tRlZiWnNlZGdadE1NR1dVMTZjYmFKdUU2TTIvYWJiazNKM1dCSFZXbG5jQnI4dEs5UHJPK3BzQlRpWXRBRzZwc05oQitxdk1iaXBScWo0Z0tuTSthU1F6aFVKNG1JaDhZR2wreEx2V2o2YWxZTlpOdFdnTFczVHA0VDFTbEVlS0VaWTlIKzkvVW1ZUStTRGxYSC91cGlmc3VMb0pia0dLZkg3UiszdlZGWkpjMTVFaUN4UmJHMGhaL0V5MkNjQjFHL0cxUzVtbHpRbUlPcWZ2bFVmUE1vLzBPSzgydlFac3ptTDJlZXVUOW1Lb0kwQkJsY3RiMnJRUFhNM3AvelA1UWZkRnJJWlRWRktVYk1OYXVvbkNZS1pCcTZKZGt6TnBXTDYwYnhmcHkwd3dYNDAvdDc5UUFEc1ZqL0g4RWJsNUNTSnNJbVdsbXVEZEdPOFBPekxoaXFBQ05wTE41dkgxcG44Uk4zSGxHK2NWMXQxZ2Nsbk9nbWpKMm5LV1EzR2Y2SUFPZXExdXllWjI1ZWVrNG0rUVkzKzB6ajJhU3QyMnZ5NGs2YitoMkp1Qkt4eUFNTkdqaTd4c1IrYmJlWXRtVVlzay9teEI4VEZqcUdxMWw5L0h4SmU0NTJoemJMTXR3ZG1RK1JGQWJnZTdTUEF3ZGRPMUhRSXg3a1N3THV4VzVkdVNyOEZiQkI2RnB0MDEzSHFNNjFBQzJnU0s1RXpnQUtHMkFReVJDSmxMeWFrU3FiUmZRY0lpSXIzNVlTM2pzQzhpM0thOGhvUmsvdittT3pyRmtSb3dYNGZrM0E3UkczelJVTnRjTlZQMlBzWHJLUytHNlFhc1BaNThPQysyTmNOaURiaU5ZNVBqcG1JQU5mbElQYVRQUHhMRzZGVnBhaGlTSjZYVzhlTzM0eWZaNHJablBMMUR3WlhsVTNXVHVvdFNKS1ZYeEc1bmpDcE9VdDBuWmpoYTZSZ0tTT0xPQjlNRmpSMitBQjlMMnFZQjVsTjk2MnRZSGxkYkVUbS9rRzM5RWsydmdBLzV3SzQ3Z3ZFRDZCcVRQSXFXZTkzWmlrb3V4dXJrQnZtQkZPNFJpM1JNcEs0TXNIOVlVS2xCYkhiV2p4YnBubTErNDY2MFZvaWtwczZCTkwrQ0RnMTJaUklVYjhYRjczaTBwUWIvV3A1cENqV0NsUEwwVnZkNkc0eFUvSFNqYjNycGVzUUNSTjNSbG9NQmllY0xjUnhwN1RWOWNkdUtlU3QyOWtDZ2pOUE9ZNzZLVFg3Z1JTNzRZVVBBZW9qWXkwTmZFOUJTR3NWak44VnoycytQL1EzV042U3ZFVjhvZzRIOWEydE1OTG9LdlRqV2ZBQWo0M0xjb2Z2RklaazZ2bktlMnNnWlgyY25LaXBjc1lkKzBDUFRPOEMvOWdHOGpJMjlJRTJMa2dEaFV6QUZpMzhHcFIyWHRtdEd5MzRKcGhQVkhpQmJ4OEpqQm9TMWc5N0hTWnNOaDdBeldaNEppY3YyajlCeFZOWUNGSUxVemN1S3BlWlVkWThGWTdqSkhXS0EzbytMdkg1c3QrbmJ0SThRaVBDN2Zoc09FZUJ0cmgrSjh2OHVrMFkvTExvOGtDL2xxYy9iL3FKZEM0WFBnbHZnM2ovWmkwZ2g5WndFektVTHBWUHoyTWxsdmlGaDFPNUx2Z0xjT29XK1FDVitSM2M1RkJQSG1ycFREenZnRkcyQnlzUG45ZE9MQzR3MFhmZTU1RW5vNVFkckZFZjVlNkt1d0JUa05UUmFFeFF3V2NNU2RMbDU2dHM1SGRZUlpScGxaODg3M1luZm4zUm83d2NxanZreWdBRmJJbzZpUHJSMnZkUEFIcVVIR20wT1hYUWpSOWFaL0VUQm1OOFNyWG5VeXB2OGlYRDB1YXBaOVBsQlg1eFFlbjI0czZUZ3ZVS2luOXF6cUNvZ2h2UW1odUZXRi9RQ3NDejRmZ3VnVGlvZ2xmNDJlVUFZUmF3UnkxWW53M2V6Q1BuU0ZGWVRrYmR6SlNZVitOQmpXc2ZhNTJVRGVyZzh1czBUQUtYUVFrSXJndGl4aElia0pKMXowUiszYTh2NTcxblBnS0lreG56RWthQ0VnajlJMU91QUh3M1hGTkF2L2hIMWpZUXBaMkIxK0NDaStGOTBhOWorWE9PSHJic1o1NTZVUktzVFVlVlhsajY4VnBCTmhjUU03eklKTlVQUUlhTEl5UVpRYnZJbWZ3YXN2cGxZWU1xWEhvS2RQQXRBRW9wejFDU1FDaW01TWxJdkdiRThYbUppcGhmaCtXQ3NvTVZ2QTBmZk9RamE5UERzaHpQdjdTcXpyb3YzNWVTRXJGdWJCMnJEcWdhVWtOZlBkUFdVd0Z4QVg3ZjNGZ3lQamZteDVsM0hMcXRJenJEUWZHZHBXMXFEaWVNWkUzNEc4R2tFZ1o3TnlKNmFvWWJXeXhsMzFyYVI2ZGhQZUlZQ01zSHJuWnZDUEdCWHk1cVdQZ3JHbXZqUUxtQXZmbU92TittTEpEQVlHOEhETk9ybzNlT0UvalhPUSthYUxPbFZnd0UvVXBRQTJBd1pNVEJ4ZHh0OU9kZ2pnK0xzQ2pBdU9sWThMZzlPbld5UGdseXlOdzdhSTFGSE5FM2UzNXRLY3cxQXN2SGRhcWVTclY4RXZWMERITUVvUHZLSXVEWEFvNFpKc2hESXgvUk1Zd1M2OTBUTFhLU1ZOWDVIMGdtMWtlLy93Wm1mY1cyR3VWeVlxUGY0cTZKQWtYMkMxU3h5ZzBvR2hWL2tjRThybFdnRjdOaWczTHl4V0FNNytDQnFqNGV5RE54U3plbEptZUt6bHI2VmJRdnZZYUZxUkVFa3pPRFhWc1g3dlNqTWtBUmdQdHFoK25GZFhDdURzc2llOGdiREhhNjNIUmR1SVp6bFJ0NVJPcWUrU3FvSy9OT3RMd0dKeG5mZ3hjUisxeldBaVVaYjF5U2s1Z0pEcGplR3pITmdMdHYrVkdHbm9pOFM3WXAvMjFudEFTdnpTQWYveDR5aThiWFh0djE0YWNyM2hFWmxrNUIvY24wT1pneENUa2tiS3FzZS9ySEJyekFZVUZ1ZTJ2ZGZtcHVKTU5sRkNBOEFJRTB0aEFvMUQxNWxJdmFucDk0K2VlRHBJWjgzblYvNkszcHVrY0pQSzZ6L0Faa0JsMXJPajU0K0xLOThSVjFHNUExbzlVYzBJYVpWRUt6ZElXYllIWUhiR2Y0WWozNzdGbzBweG9MQjYvMGFhSnVsS0VCL1NzbjNRblRhVTZXcW9iUWhKN2c4RnNZdTdFa3FaM0dPZUtOdUxBYi94cjVRcEF3cEFLVG5zbkxOUTVYTllKR2xmS0toL2hscmh1L1p5U0ZMQkJTMzVObFdNazdnM3pWdjFraTdIemlzd3lMdVZnanQ0WDZYWWwyWFZhKzNLcCtkTEFHa1BDUkhQeTdEbE15ZWQvQTJtazhJdituUGFVZ2VzS3N5ZHY5ZVN3NWppeUplZndkS3Y3cW1HblVSYTd2ZmFqL0J5Q0FlUG5aTkZ0NGJzKy9uZ3ovcGcxbTJPSEJDSDk1REo3K1VXQ2t2WTZ3NE5IbVB2MnNmUWNjRTFjUGdoekJ2aDY4TW5iVGc1YS93d3l4cW50M052VlVqbHI5Y24yMjJvUzdmVGx6Qko1NlZrZkV2dVUyUlBKbHZrWDRTWllHdEVVemhwZmpWV3R1Zko2cHFrc05BU3pUc0pRNCtTZWZ3bGpMU0RlUlo2Q0pMVzUxMFpIRHBGSUw2cVpOVzZiOCsyU1JNNGN0SEhOdm96MjVpTEgrbGJZZEFPaUNKQlBacXFYV05XMjJnaEs5akVLQkU5UHB3YldoaExCVDJhWTJWWWxwU2JMVlBRQUpHQ2pQL3QwQ0Iyd2xHTFhSa0hTVHo2RXR2TWtaUEl2TkpnVkVaOEo3YUd6T20zaEpWTkhQVkMrVnZ5amxNK1pkdnZvWDBxbm9FNXZrUHNlT2I1RTRBemwrTVkyUzJDYmc4OHVqMjhHcG40MEZJWlFUUHFsNXZWVUYxSEYxdWhZZGR4SXZaQm5DdGR0MThRVHkxeTZLak5ZV0V6VUR1R1E3cUhJN09SSEdXSDEzME9DTWhnaWdDclIyZnBPajB3VzVzNDBsdW5UK3MxZERvSlV6S1czQUhFbG5rK0trZ29MbXd1SER0WVc1aUNYQ3J6QUZ0SzY2dVhqVGxTLzgxREg3TURnVnFGZWlUenIrM1M1WHgybU1aOTBlbGRYR25XVjEzK244VExYYlVvVFZoaVlQVEZUcGk5STVMd09mcVRLY2g1Sm5VSW1qS1lJWHVNNEoxWnBaTUp6bVNncWRvWjIvZTFkZ2VPeWFWV09UNSt3RVZYckt3WlY0VU1QdUlzSEpmNUJtY1VQRzlCdzVnMk9XMVNkdkNJOUVvMnlzUjhtdEpQVW9XK2ZycTQyZ1ZCajRyNFZLK3dIVjBpZFo4U3pJSUxnNXhhNXpIR2R3U0kwZlN1WGJkcCtHS0ZJZ2VrMU42eUNRbU80V29kZWRuWnBWU1laeTc0Uk9nQ2FKT1dpSlZ3enhRUVVSRkxSdE9CNDVvMFRHNWpwSlkzWnV6K0FwVlNpSm9Vd0JyV3FjVDE2dndyS1FvVWhMdm9VNXozcEVFUHJGakJKN2ZPZmsvUmhUVVV6R1MwRU9EamMySE1MVW83S0xmd2lxT3p4dEwra1lnSlBLM3lmM24yVGtHYTZRdGdsemF2N2czRExrdndQcDNNMTU3NG5KOHlacW1UbllycVNiRnVTL3FyMHVSYTdtQTlPR1MrTHJIKzV5RFVuWmpIVEtWeFRzR3dHYysvQWdSOWgrbEViTzB2WmVDeDA0dXNlQ3dqQ1BtUEdUdy9sQmpVOXVqZG8rc1RRRGV3Zis2T1hQbnlyL1RyaVdKZXJHZG1RYnVQN21yc21Fdjhob0Q4TkQrUGptMVFGL1o0SUM4ZFZHbWltSkZOamxsc0ZhL3RhT0lmR2ZBSEsyeVBIeXM4WFp3ZzI3cm9ySDNjUVZrdGFiak05MU14R3h3aHZFM2JUeGlMVDAxN2djSWpFL0lwOGJaT1F4ZDVQUWVTdGtUUTY2RjdUVXJTRjBQVSsyMndIUmtIcHpRWm9lWkVwd01HdE91UmxFdXlqajRUSGt0RGkrdjQ2YjZuREREaXRVOGtlVmRUUStJUTJZQlJoTmt2NXZtaXdaNU1hT3ZVZXJKYnJrbWxYbElJS2l3VkFmS0FHcmhUTjJKR0xBS1RsckhCYjJ3dE8zMVU4WlA1WjdDS2ZmcnUxUExKMStBVGZQb3hMSUE0REoxR0Vjclp3WnFrRXo5SjlEZENPdXR1M3lnYlY2UElaQlhDTEVRK1BqSTdDdS9tZGFmWEEzSURWTHYxUUJZUFd6L25kSm9wdzFGSkZRcktYVGxZdk9LR0RKd013SkpsTERORXNIdURBL3hKNTdhZFNBLzJLdXpXT3VoM24rNDFha3NTKzc5UU02S3pjU3pDYXRLNmVnQjRWd1ZVODNTSU94RUIvKzNzcXFpdzA0U1JoTXBjTExndFIxcm9GSGVmbS9ITytKa21nb0EycTEwSXFTYk9ib1BuUkJ0TzJOQzQvenpObXo0RFM1VVFnTzZMa3ZHRHdmVXVDR0pndTF6RUtZZTJnZTNralZuYjRnZTJsYXNEb1JZVTR0YkdxcFJDQ3dqK2t0WUJESXRnb0VCZTBoc20yZktkeWduS08xNXhEUU9QQ0x1OG1DdVpDTmNCZ2w0YTlXQ3VvalVDVFV4eFV0K1lBc0N6NGRidHhsU0NzeHdIaE85aDZxL3hCOVVhRWxNZjFlZkpRckVrNXE4Uy8yUUszNFQzbUZwaElPaDJLeGEyM0RCSWtydnFqRDhzWVdlc0F2TlJiS1BHZnVCQVpQR2FOSzRtS3lNd2xPa2VwMjBnU3ZNMDl6Q2gzQk5OSGVwLzRVbUZCd0hJVEp2bW9RYWdlbGxxYWhZbjZmTDZOUm9QaXJZVzczNzNIQzh1RnBoTHRNM2xRMlJQRnRBRGNYOVNKcmVJalgwUGE0WHR3TG1vTm5SQkxISVRXaWlIbC9hMjFOSzZRd2x1c1hzME1JeHVWMTFaL1FYcXYvUlM0eUlZMDdOS3BOUHlGcEk0MXE4VjV3TVFhSVJsTFp2bnNSdTBtb0RrcVp3TUpGaXo2MWdvY3pGRFdRandIQUpjcVh6Y092cDljWVNXc21kR21jbWFmeFdmTm5HTVArRHowS3dyem5GTGN3OWJ4OHlVdFJGMElzdnpNNjNlRnl0VTQybEZ6WkpSU1ZRNkttaWhPemRYK0ozclJBM2Y1Vi9uV3pnYlkyUWVGbTRHUmZFazBIKzJMeU9qbDFEWkJRQmtBdkV3YWhabUsyZjRHMjhRWkFwSkl0aU8yMjFlMnkrN3pFZ1dReGgzVlNsbDdaSEN5WEZqRFZGOEpXTjdYOG16M3BBai9DZ3N6SXlRNWRjUnF1SHZGYTV2LzdGamc3NnFPdG1LbmRPU0NrTkpBYUxjbFBadk1qcjF5R2htUGFhTElaeHYyWVdCL044ajloN0xXaUlSNlE2QVNJQllmbFJaa3hZdVIyazRJV2w2TDNZdlV0dEI3RHo5VFdkNjlxZ1l6d0VDTnJPVlRDOHBVV09wNFRyZkgwTEE1NmZWb2xqVmlqT2c0QWJqYTRrdm9VQWt6bWFRVUk5TWJWaWdYMmxESEhKUTJVdGFhTVVMcmZEQW9rbEJBWWh2Q0hBb3BObDJLY3B3cS9iTlN5bDdyNTZJYnJQSTFSMkFHOWNrRVVSaVYwZlBtOVVKTWlpVXhiYWl0SGNaZFNGUCtPUGpRZGFhQURGWGJaOFZYanZYMW9DR1ZHMjBvaklLYzRPVW9CckhHMnFiaW9oTk9YdFJ5U2xLNVUyTS94SW1DMjNhdFYxVG82Q2NtS0I3c2g2ekdiNXhiYjZEYkxyRlJjTlJjaHNPek5TWHEwTkFYTURMZVVFVWZIbW5QSUVQWFArMGJFMzR6UzhtRlFidm1kZU8rK21nM2UrNzN4YUlBb1ArOHMzejd5RU9HdWFPV002SVphY3djY3FQRzZCRDJDZVdoYnFwNXNkRVhmazdURytManVPbVIxc0hvQ1lsVWwxL1NMQUVWTG55YXVEdUkySnVROFEyTnFQVXpIeE0yUTQ5bEpaWnJoN1BENjlpTXloU1FlMXhzTHJOSXBpcE5ZQ2JuZ3dNc01jcHZzcjdhejNuR1RZK0ZRQzVWcnExanpqUlJyYTl6MmJ0K0Z3K1AvbGZScHppVVVvSmtKbC93VndRSllSU3kzTjZPMTRGa2VtMjRqUFlrNjdMOEFCVG5uRS9CMmVVZU45c1UwVDJMQzN0QmQwN0ZWUllMOUVaekZVTnZrdUdJTjJyZkxoUlgyZUJVTU1ydlpTQXFxMjVudU53UkhoUUJjeDR4Y242emY0TXpUUHhZR2VyNC9DL1Q3QmoyYWVyV25OWXoremxBU2pqaStGdEJscjZlRVU5MEJCdzBRMGFPTVpnRGlJT2RZczM0enkvU0IrNTBwL052NGd6U1FJd0tGWG8wZFV4aG42Y29PVVU5T01Hc0c2ajZFcFZqNFVBSGJaYXN2N0ZRdzI2ZE5tOHFjUXhnaWNTUjN3dkFZZTdWcjBHMmkxQzJsUGFIMU1id2JGQ2w5Y3BFbUFsS2ZsMWpPWUR5c1NsTHlibGFHenpXT205VHc4Z2dYNXFDemRsbytaVzdaekpHZ0x2RXhmTjZqZzc1VGJJRU1nWjJ3TnlYVUNlMlJmMEtKc0wrbmVoQ0hzdXJLRGhtYnBqZmNIOEJOSGRQMk9FbmYzKzlUOWdnL2lBeUh4QkRnZnBLV2p4TGhaOG9jODZNQVU0RWZMNjRzRy9ZaTB3WmNza0VNZG1IV2pKYjI3ODczWW5MQmdYbEtzVGozaUFLQmRGOFUya1FTcU9RTDVCbWRsZngzWWNZUjhWOWtXT2dEZnVnNVFIdFlGYStKMk9jbDF2dy9ieXh2cmNFV3lkNFo0RVkzaEY5b3JWVURST2REMnFuTXppTFI5L1Y5UnZBU1M5L0k4NWJQSG9QNGJDeVE5NzlFM0pUYWJVc2NuNTJnbDhxKzVCclNoV1F5MHl1NnREL3U2d1d0aEJUemxVQmMyYk5LL3BjT1RSQVNiNUMxOC9ZUUF5T3hTbFBoTDFCQzVyeDl1Wk44NjY4dUltSEdYMWtUQmpRWlVKZFYwV0pkUkJpbjJ2RmJKa1d0eVQ1aTZsYnRRR0s0eUpGcHJ0cVcvSUs3UnFpbjF3bjZuRi9DT1VmYnl5d1lXZCtPazN5UFRvU0RlTXJ1OWdhQVI5WGd5UEJZeUZEQ1grWkU1c1RWelpDRWRWSEx0N1F1TSs0Y1BCY3BCNHVzTW5EWUVZWGpMdWkrc3JyNGJTWlJRQWUxaU1Sbjd6TFJScVkrRnRMOWE1L0VTaXNwNXJpb2ZPM1ZEdFovK1ZDTDNvQngzcFJwMHVrMUpIVlZ0ZENMbWlMMlFvTEFpdUN1V3ArRkpNRXh0RHJxYnd4aGJaUHFqN1lNWXpvY3V3WUxoczJpRXpkS1d3aGhIaFo1eFg1dDdPS0JVbXJEU084eXozSFZYRmVjc010ck5LR3VreVJZOGRpN3k5ZGVhTUErSEFTTW5QT3h5OEtPblVIV0h6V3JreUMwQkFXWCs4OWI2QkJscGZQbUQvVWpCcHhHQWsrbzdqTkthQlNDbGNZaUZTcENJVVlZVHpqbUxMZkwzSE15UTBQVC8zdjdxSjR6dzl1MVR4a25YRnZOdEdjbkU4aE9qMmxIeUVLUVlBN1NkcWVUeWNuTnAzaDFKQWRKZ0MrMGhJSmNyTzNhYUtteWIyNTNaekNibEx0dmtLWEltdzI4QmlJcVk2d2lHLzEvbjNKbzEzWEp6bno5aVVEeWcrbFMxbjVKbTlXK3R1TmJEN3d5enc4NzdocmhvTGNxdU1sV0g4WFMvZGhUTUw0eVpZMW0wOVgxcU94QXBWaThqdUZZNStJV01mVkxNNGZWRzRZVWQ5UzR1ekVzeHVzZ0dpK3VCYjhoUUNtelBOWUxqc2RpdGoyN1F2Snh1VXE4RkJhNjZSSGQvTUVWRjMxS0owUUFWczRsK3RGYkh0cGlZUUlFeG5zOGFaUnBKVFFxb2ZycWZsVjEwMUxVMk50L1VlNzQ3ZndPVDU1OGtWQ3BDWTErNU43enNFK3kyc0lKZjh3cTVVUXpIekdYdW01OWpGMUlkSGZwTWEzOFBkREhhK00wMlZYMitQd1FYU3QvUGJwbHgvamNzQ3dLa1djRy8rbjI0T2lIaXdBUU1DUGI5Ykx4MWwzT1FpeVk2ZnFTMDNLTXBRdmVPdWNBZlY4Y1A1RHE2RkZJYW1ZSFBDN2FvM0Y0UHk4dXhNS0pUSGVRbHQ4QUR0U0xhVUJRQWpoRWxqQXFXWlZob296dGUzV0RXbUJtYngrSHB6c0dkSWpGS05iSW9ZeDR1cFcrVk05Y1hUcXpqUHhpUWhuOFZWamZLNTlqUmdoaGtiRGxQSWFiZDVJcTFHMVI3SDBIdFhPU3NSTnNnbGoyeHlLUHU0aWJtTnR2eTF2WkVLRnEyQ2dMQUQrMGF4VzAvVE4yL2o1Wk9BeE05b0RYaDVrTGwzZ2lFTldnbUc1bDNRNFhXWG82c0ZGRDljODkrc3F4Rm8zWVY3dEVCV3lsZEh5VXJ6YWFSY0M4L3piZUVRZWdPNjI3SnNCUktRRkdRelNWM21ndVE5K2N6eGNDRVRFT0g4SHZtWmhvMGcwTmEySXVLajkrZ1RnemhLS0ZjQ0ZKVlhMNjF3YS9xdXhsK3dVSU9DMFFVOGp1SWtCcS83SkdsTkRScVhsbk1LZUNrUzZNNXJjMWZ4aWZjcTF3NXR4anZSRks2eVpKREtrTEtYRktQVG90dERQcDBXZ1doMi90NVdBTkliVEs1Y2tXRmRKaGlmcnhaUVNGeWFLWlpQdEV6cmlqekMrZUFJNEdHc3l3K0lGeXpYV2xoeWV4SklJVmYzZ3N2UndRWGlUNlZweWNBc3hLaTdMbkw5YzY0TFhrZGVIUnpTUk5PcWpIVktHQVNTOGwvNUtDNklHYmJWTDdFTXBJSEN4YnpiNXlTQ1hWNHRDZ0xIVzhLQnZFZEFRS1ZaMExZbk14Wlh3RW1YcFRrQlBzMUNmVFVVMGMycExDSnZJMDYvQmlweWpBMzVnelgvNEtGdm4zWnNuMDBjTU9WN2FVVGcrOEdMUXZBclYzZkY5RE1aamtmVkFGUU93b1BuRXJPK1lyNnVFTVN4V0xpc0loL01Ld2YwZ0N4NG9iRzJOeHViVlRiYnNLaDJZZFo5M1p1SzFHVlBRd1J3VE5XMTYvYkk4bDVDQW9NR1BqSHcrYklPUEFiOEdiRWhTdDlqR1J5aGUwelJSeW1VeEh3cVFDdTdsZEFvVHB5ZjA3Z0Z3SHpIWW5FaGhmYUEveEVOSTBwMHMvMDhlWFNKMEdUb0JwZmF1Sk8ybURGU3VZM2YzcHBLZFQyeDlwY29VNERHaklDMndBUVB4SC8rSUJhaUNianlhUTk2bEFQUERPUmNLYnZnbVpiajZ4OHNCUTkxTVNoN1JuVnJYdm9HSFJldm44TGlNNmhvMHkzcHRrZUltaWVSa2kvNjFUck16NjBaT1lGMmFyYlVNc0ZoNENXeVdJRHQ3L010eU0rcFZKc28zY1RtMTdPTFB1ZGxqNjdGMHJSWC9sMzR3UUtMRVlXeDhKY3pXQ2x0b1lYcWhOOFp5UE5JUC85em1ROHQxbGtIQmdVSFdNODhrTTN1NHAzbngramd0d0JsNm8rZ2JGT3ErTVozaGJIL1dUaFNmaVE0NlJzUjlrQ3ZiY2ZBdUpxVk11UmNTbm1VZFpGN0xZMTJadFhONHJhQkUwMWM4N1ArWVF1N3ZjREY1NlZ0YkQrK09ESDY5dWdVbWlWY3pNdzJhTDR4RnZKYmdmOHUwekpGM1hCdlFWV2I1MVBKdXVvVm5McTZEV2VXMkI4Ukx5dktzWndJYlZIeWFNRUFkYjNvQzBldGlnRGZLVnZuMXEydnBJQy9hNkhNQjRWV0JNayt0NmVyUXlqcjVRRExRZ0hqZUJqNDc2UDBuMnVwUjRBXHgzZFx4M2QnO3ZhciBnPSdrbml0c2FpbCc7dmFyIGVpZD0nZG9kUWFNTzNFZjNjc2VNUG80dks0UVknO3ZhciBzc19jZ2k9ZmFsc2U7dmFyIHNwPScnO3ZhciBoYXNoZWRfcXVlcnk9Jyc7dmFyIGNicz0nJzt2YXIgdXNzdj0nJzsoZnVuY3Rpb24oKXt2YXIgcT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sdT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixkKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1kLnZhbHVlO3JldHVybiBhfSx3PWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiYSIpO30seD13KHRoaXMpLHk9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBkPXg7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBsPTA7bDxhLmxlbmd0aC0xO2wrKyl7dmFyIGY9YVtsXTtpZighKGYgaW4gZCkpYnJlYWsgYTtkPWRbZl19YT1hW2EubGVuZ3RoLTFdO2w9ZFthXTtiPWIobCk7YiE9bCYmYiE9bnVsbCYmdShkLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fSx6PWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmFbU3ltYm9sLml0ZXJhdG9yXTtpZihiKXJldHVybiBiLmNhbGwoYSk7aWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpxKGEpfTt0aHJvdyBFcnJvcigiYmAiK1N0cmluZyhhKSk7fTt5KCJQcm9taXNlIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dGhpcy5pPW51bGx9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIGY\/YzpuZXcgZihmdW5jdGlvbihlKXtlKGMpfSl9aWYoYSlyZXR1cm4gYTtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGMpe2lmKHRoaXMuaT09bnVsbCl7dGhpcy5pPVtdO3ZhciBlPXRoaXM7dGhpcy5sKGZ1bmN0aW9uKCl7ZS52KCl9KX10aGlzLmkucHVzaChjKX07dmFyIGw9eC5zZXRUaW1lb3V0O2IucHJvdG90eXBlLmw9ZnVuY3Rpb24oYyl7bChjLDApfTtiLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmkmJnRoaXMuaS5sZW5ndGg7KXt2YXIgYz10aGlzLmk7dGhpcy5pPVtdO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7KytlKXt2YXIgaD1jW2VdO2NbZV09bnVsbDt0cnl7aCgpfWNhdGNoKGspe3RoaXMuQShrKX19fXRoaXMuaT1udWxsfTtiLnByb3RvdHlwZS5BPWZ1bmN0aW9uKGMpe3RoaXMubChmdW5jdGlvbigpe3Rocm93IGM7fSl9O3ZhciBmPWZ1bmN0aW9uKGMpe3RoaXMuaj0wO3RoaXMubD12b2lkIDA7dGhpcy5pPVtdO3RoaXMuRD0hMTt2YXIgZT10aGlzLkEoKTt0cnl7YyhlLnJlc29sdmUsZS5yZWplY3QpfWNhdGNoKGgpe2UucmVqZWN0KGgpfX07Zi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe2Z1bmN0aW9uIGMoayl7cmV0dXJuIGZ1bmN0aW9uKG0pe2h8fChoPSEwLGsuY2FsbChlLG0pKX19dmFyIGU9dGhpcyxoPSExO3JldHVybntyZXNvbHZlOmModGhpcy5KKSxyZWplY3Q6Yyh0aGlzLnYpfX07Zi5wcm90b3R5cGUuSj1mdW5jdGlvbihjKXtpZihjPT09dGhpcyl0aGlzLnYobmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTtlbHNlIGlmKGMgaW5zdGFuY2VvZiBmKXRoaXMuTChjKTtlbHNle2E6c3dpdGNoKHR5cGVvZiBjKXtjYXNlICJvYmplY3QiOnZhciBlPWMhPW51bGw7YnJlYWsgYTtjYXNlICJmdW5jdGlvbiI6ZT0hMDticmVhayBhO2RlZmF1bHQ6ZT0hMX1lP3RoaXMuSShjKTp0aGlzLkMoYyl9fTtmLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGMpe3ZhciBlPXZvaWQgMDt0cnl7ZT1jLnRoZW59Y2F0Y2goaCl7dGhpcy52KGgpO3JldHVybn10eXBlb2YgZT09ImZ1bmN0aW9uIj90aGlzLk0oZSxjKTp0aGlzLkMoYyl9O2YucHJvdG90eXBlLnY9ZnVuY3Rpb24oYyl7dGhpcy5GKDIsYyl9O2YucHJvdG90eXBlLkM9ZnVuY3Rpb24oYyl7dGhpcy5GKDEsYyl9O2YucHJvdG90eXBlLkY9ZnVuY3Rpb24oYyxlKXtpZih0aGlzLmohPTApdGhyb3cgRXJyb3IoImNgIitjKyJgIitlKyJgIit0aGlzLmopO3RoaXMuaj1jO3RoaXMubD1lO3RoaXMuaj09PTImJnRoaXMuSygpO3RoaXMuRygpfTtmLnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7dmFyIGM9dGhpcztsKGZ1bmN0aW9uKCl7aWYoYy5IKCkpe3ZhciBlPXguY29uc29sZTt0eXBlb2YgZSE9PSJ1bmRlZmluZWQiJiZlLmVycm9yKGMubCl9fSwxKX07Zi5wcm90b3R5cGUuSD1mdW5jdGlvbigpe2lmKHRoaXMuRClyZXR1cm4hMTt2YXIgYz14LkN1c3RvbUV2ZW50LGU9eC5FdmVudCxoPXguZGlzcGF0Y2hFdmVudDtpZih0eXBlb2YgaD09PSJ1bmRlZmluZWQiKXJldHVybiEwO3R5cGVvZiBjPT09ImZ1bmN0aW9uIj9jPW5ldyBjKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6dHlwZW9mIGU9PT0iZnVuY3Rpb24iP2M9bmV3IGUoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTooYz14LmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGMuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGMpKTtjLnByb21pc2U9dGhpcztjLnJlYXNvbj10aGlzLmw7cmV0dXJuIGgoYyl9O2YucHJvdG90eXBlLkc9ZnVuY3Rpb24oKXtpZih0aGlzLmkhPW51bGwpe2Zvcih2YXIgYz0wO2M8dGhpcy5pLmxlbmd0aDsrK2Mpdi5qKHRoaXMuaVtjXSk7dGhpcy5pPW51bGx9fTt2YXIgdj1uZXcgYjtmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGMpe3ZhciBlPXRoaXMuQSgpO2MuQihlLnJlc29sdmUsZS5yZWplY3QpfTtmLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGMsZSl7dmFyIGg9dGhpcy5BKCk7dHJ5e2MuY2FsbChlLGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaChuLHQpe3JldHVybiB0eXBlb2Ygbj09ImZ1bmN0aW9uIj9mdW5jdGlvbihCKXt0cnl7ayhuKEIpKX1jYXRjaChDKXttKEMpfX06dH12YXIgayxtLEQ9bmV3IGYoZnVuY3Rpb24obix0KXtrPW47bT10fSk7dGhpcy5CKGgoYyxrKSxoKGUsbSkpO3JldHVybiBEfTtmLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxjKX07Zi5wcm90b3R5cGUuQj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgoKXtzd2l0Y2goay5qKXtjYXNlIDE6YyhrLmwpO2JyZWFrO2Nhc2UgMjplKGsubCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZGAiK2suaik7fX12YXIgaz0KdGhpczt0aGlzLmk9PW51bGw\/di5qKGgpOnRoaXMuaS5wdXNoKGgpO3RoaXMuRD0hMH07Zi5yZXNvbHZlPWQ7Zi5yZWplY3Q9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7aChjKX0pfTtmLnJhY2U9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7Zm9yKHZhciBrPXooYyksbT1rLm5leHQoKTshbS5kb25lO209ay5uZXh0KCkpZChtLnZhbHVlKS5CKGUsaCl9KX07Zi5hbGw9ZnVuY3Rpb24oYyl7dmFyIGU9eihjKSxoPWUubmV4dCgpO3JldHVybiBoLmRvbmU\/ZChbXSk6bmV3IGYoZnVuY3Rpb24oayxtKXtmdW5jdGlvbiBEKEIpe3JldHVybiBmdW5jdGlvbihDKXtuW0JdPUM7dC0tO3Q9PTAmJmsobil9fXZhciBuPVtdLHQ9MDtkbyBuLnB1c2godm9pZCAwKSx0KyssZChoLnZhbHVlKS5CKEQobi5sZW5ndGgtMSksbSksaD1lLm5leHQoKTt3aGlsZSghaC5kb25lKX0pfTtyZXR1cm4gZn0pOwp2YXIgQT10aGlzfHxzZWxmO2Z1bmN0aW9uIEUoKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZX07dmFyIEY9d2luZG93LmxvY2F0aW9uO2Z1bmN0aW9uIEcoYSl7cmV0dXJuKGE9Ri5zZWFyY2gubWF0Y2gobmV3IFJlZ0V4cCgiWz8mXSIrYSsiPShcXGQrKSIpKSk\/TnVtYmVyKGFbMV0pOi0xfWZ1bmN0aW9uIEgoKXt2YXIgYT1nb29nbGUudGltZXJzLmxvYWQ7Z29vZ2xlLmMuZ3RzP2dvb2dsZS5jLmd0cyhmdW5jdGlvbigpe0koYSl9KTpJKGEpfQpmdW5jdGlvbiBJKGEpe3ZhciBiPWEuZSxkPWdvb2dsZS5zdHZzYztkJiYoYi5zc3I9MSk7aWYoZD9kLmlzQkY6RSgpPT09MiliLmJiPTE7RSgpPT09MSYmKGIucj0xKTthOntpZih3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiYoZD13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpLGQubGVuZ3RoIT09MCkpe2Q9ZFswXTticmVhayBhfWQ9dm9pZCAwfWlmKGQpe3ZhciBsPWQudHlwZTtsJiYoYi5udD1sKTtsPWQuZGVsaXZlcnlUeXBlO2whPW51bGwmJihiLmR0PWwpO2Q9ZC50cmFuc2ZlclNpemU7ZCE9bnVsbCYmKGIudHM9ZCl9KGQ9d2luZG93Lm5hdmlnYXRpb24pJiYoZD1kLmFjdGl2YXRpb24pJiYoZD1kLm5hdmlnYXRpb25UeXBlKSYmKGIuYW50PWQpO2I9YS5tO2lmKCFifHwhYi5wcnMpe2Q9d2luZG93Ll9jc2M9PT0iYWdzYSImJndpbmRvdy5fY3NoaWQ7bD1FKCl8fGQ\/MDpHKCJxc3VidHMiKTtsPjAmJihiPUcoImZidHMiKSxiPjAmJihhLnQuc3RhcnQ9TWF0aC5tYXgobCxiKSkpO3ZhciBmPWEudCx2PWYuc3RhcnQ7Yj17fTthLndzcnQhPT12b2lkIDAmJihiLndzcnQ9YS53c3J0KTtpZih2KWZvcih2YXIgYyBpbiBmKWlmKGMhPT0ic3RhcnQiKXt2YXIgZT1mW2NdO2JbY109Yz09PSJzZ2wiP2U6TWF0aC5tYXgoZS12LDApfWw+MCYmKGIuZ3Nhc3J0PWEudC5zdGFydC1sLGM9RygicXNkIiksYz4wJiZnb29nbGUuYy5lKCJsb2FkIiwicXNkIixTdHJpbmcoYykpLChjPWEuZmJ0cykmJihiLmdzYXNydDI9TWF0aC5tYXgobCxjKS1sKSk7RSgpfHxkfHwhYS5xc3VidHN8fChjPWEuZmJ0cykmJihiLmdzYXNydDM9TWF0aC5tYXgoYS5xc3VidHMsYyktYS5xc3VidHMpO2M9YS5lO2E9Ii9nZW5fMjA0P3M9Iitnb29nbGUuc24rIiZ0PXNnJmF0eXA9Y3NpJmVpPSIrZ29vZ2xlLmtFSSsiJnJ0PSI7ZD0iIjtmb3IoayBpbiBiKWErPSIiK2QraysiLiIrYltrXSxkPSIsIjtmb3IodmFyIGggaW4gYylhKz0KIiYiK2grIj0iK2NbaF07dmFyIGs9IiI7QS5fY3NoaWQmJihrKz0iJmNzaGlkPSIrQS5fY3NoaWQpOyhoPXdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUua09QSXx8bnVsbCkmJihrKz0iJm9waT0iK2gpO2s9YSs9azt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT0iZnVuY3Rpb24iP25hdmlnYXRvci5zZW5kQmVhY29uKGssIiIpOmdvb2dsZS5sb2coIiIsIiIsayl9fTt2YXIgSj1mdW5jdGlvbigpe3ZhciBhPWxvY2F0aW9uLmhyZWY7dGhpcy5pPXRoaXMuaj0iIjt2YXIgYj1hLmluZGV4T2YoIiMiKTtiPjAmJih0aGlzLmo9YS5zdWJzdHJpbmcoYiksYT1hLnN1YnN0cmluZygwLGIpKTtiPWEuaW5kZXhPZigiPyIpO2I+MCYmKHRoaXMuaT0iJiIrYS5zdWJzdHJpbmcoYisxKSxhPWEuc3Vic3RyaW5nKDAsYikpO3RoaXMubD1hfSxMPWZ1bmN0aW9uKGEsYixkKXtLKGEsYik7YS5pPWEuaSsiJiIrYisiPSIrZH0sSz1mdW5jdGlvbihhLGIpe2EuaT1hLmkucmVwbGFjZShuZXcgUmVnRXhwKCImIitiKyI9KFteJl0rKSIsImciKSwiIil9O0oucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdGhpcy5sKyh0aGlzLmk\/Ij8iK3RoaXMuaS5zdWJzdHJpbmcoMSk6IiIpK3RoaXMuan07CnZhciBNPWZ1bmN0aW9uKGEpe3RoaXMuaT1hfTtNLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O3ZhciBOPWZ1bmN0aW9uKGEpe3RoaXMuTj1hfTtmdW5jdGlvbiBPKGEpe3JldHVybiBuZXcgTihmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgUD1bTygiZGF0YSIpLE8oImh0dHAiKSxPKCJodHRwcyIpLE8oIm1haWx0byIpLE8oImZ0cCIpLG5ldyBOKGZ1bmN0aW9uKGEpe3JldHVybi9eW146XSooWy8\/I118JCkvLnRlc3QoYSl9KV0sUT0vXlxzKig\/IWphdmFzY3JpcHQ6KSg\/OltcdysuLV0rOnxbXjovPyNdKig\/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIFIoKXt2YXIgYT1BW2ddO2lmKGEpe2E9eigoMCxhLmEpKHAsZnVuY3Rpb24oKXt9LCExKSkubmV4dCgpLnZhbHVlO3ZhciBiPVthYSgpXTtyZXR1cm4gYShiKX1TKEVycm9yKCJmIikpfWZ1bmN0aW9uIGFhKCl7dmFyIGE9bG9jYXRpb24uaHJlZixiPWhhc2hlZF9xdWVyeSxkPXt9O2ImJihkLnFoPWIsKGE9KGE9YS5tYXRjaCgvWz8mXXN0YXJ0PShcZCspL2cpKT9hW2EubGVuZ3RoLTFdLm1hdGNoKC9cZCsvKVswXToiIikmJihkLnN0PWEpKTtyZXR1cm4gZH0KZnVuY3Rpb24gVCgpe3ZhciBhO2E6e2lmKHdpbmRvdy5zdCYmKGE9d2luZG93LnN0KGxvY2F0aW9uLmhyZWYpKSlicmVhayBhO2E9cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLnRpbWluZyYmcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD9wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0OnZvaWQgMH1pZihhKXRyeXt2YXIgYjsoKGI9d2luZG93KT09bnVsbD8wOmIuc2Vzc2lvblN0b3JhZ2UpJiZ3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlaWQsU3RyaW5nKGEpKX1jYXRjaChkKXt9fWZ1bmN0aW9uIFUoKXt2YXIgYT1laWQsYj1uZXcgSjtLKGIsInNnX3NzIik7TChiLCJzZWkiLGEpO3JldHVybiBiLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVihhKXt2YXIgYj1laWQsZD1uZXcgSjtMKGQsInNnX3NzIixlbmNvZGVVUklDb21wb25lbnQoYSkpO0woZCwic2VpIixiKTtXKGQudG9TdHJpbmcoKSl9CmZ1bmN0aW9uIGJhKGEpe2lmKHdpbmRvdy5wcnMpe1goInBzcnQiKTtzY3RtJiZIKCk7dmFyIGI9VSgpO3dpbmRvdy5wcnMoYixhKS5jYXRjaChmdW5jdGlvbigpe1YoYSl9KX1lbHNlIFYoYSl9ZnVuY3Rpb24gVyhhKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3dpbmRvdy5wcnM\/d2luZG93LnBycyhhKS5jYXRjaChmdW5jdGlvbigpe1koYSl9KTpZKGEpfQpmdW5jdGlvbiBZKGEpe2lmKHdpbmRvdy5wcil3aW5kb3cucHIoYSk7ZWxzZXthOnt2YXIgYj1iPT09dm9pZCAwP1A6YjtpZihhIGluc3RhbmNlb2YgTSliPWE7ZWxzZXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoOysrZCl7dmFyIGw9YltkXTtpZihsIGluc3RhbmNlb2YgTiYmbC5OKGEpKXtiPW5ldyBNKGEpO2JyZWFrIGF9fWI9dm9pZCAwfX1hPWxvY2F0aW9uO2lmKGIgaW5zdGFuY2VvZiBNKWlmKGIgaW5zdGFuY2VvZiBNKWI9Yi5pO2Vsc2UgdGhyb3cgRXJyb3IoImUiKTtlbHNlIGI9US50ZXN0KGIpP2I6dm9pZCAwO2IhPT12b2lkIDAmJmEucmVwbGFjZShiKX19ZnVuY3Rpb24gUyhhKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/Y2FkPXNnX2JfZSZlPSIrYSwiIil9ZnVuY3Rpb24gWChhKXtzY3RtJiZnb29nbGUudGljaygibG9hZCIsYSl9O25hdmlnYXRvcnx8KEEubmF2aWdhdG9yPXt9KTt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb24hPT0iZnVuY3Rpb24iJiYobmF2aWdhdG9yLnNlbmRCZWFjb249ZnVuY3Rpb24oYSl7KG5ldyBJbWFnZSkuc3JjPWF9KTt3aW5kb3cub25lcnJvcj1mdW5jdGlvbihhLGIsZCxsLGYpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9lbXNnPSIrKGYgaW5zdGFuY2VvZiBFcnJvcj9mLm1lc3NhZ2U6YSkrIiZzcmNwZz1zZ3MmanNyPTEmanNlbD0zIil9O1goInNzdCIpO3ZhciBaO3dpbmRvdy5zZ3MmJnVzc3Y\/KFgoInNzc3QiKSxaPXdpbmRvdy5zZ3Moc3ApLnRoZW4oZnVuY3Rpb24oYSl7WCgic3NldCIpO3ImJihUKCksYmEoYSkpO3JldHVybiEwfSxmdW5jdGlvbigpe3JldHVybiExfSkpOlo9UHJvbWlzZS5yZXNvbHZlKCExKTtaLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWEmJihYKCJic3N0IiksYT1SKCksWCgiYnNldCIpLGEpKXt2YXIgYj1jYnM7YT1oYXNoZWRfcXVlcnk\/IkIuMS4iK2IrIi4iK2E6YTtiPW5ldyBEYXRlO2Iuc2V0U2Vjb25kcyhiLmdldFNlY29uZHMoKSsoTnVtYmVyKGNlKXx8MzAwKSk7dmFyIGQ9IlNHX1NTPSIrYSxsPWRvY3VtZW50LmNvb2tpZS5sZW5ndGgrZC5sZW5ndGg7ciYmKGw8NDA5MyYmIXNzX2NnaSYmKGRvY3VtZW50LmNvb2tpZT1kKygiOyBleHBpcmVzPSIrYi50b1VUQ1N0cmluZygpKSksVCgpLHNzX2NnaXx8ZG9jdW1lbnQuY29va2llLmluZGV4T2YoIlNHX1NTPSIpPDA\/VihhKTpXKFUoKSkpfX0pLmNhdGNoKGZ1bmN0aW9uKGEpe1MoYSl9KTt9KS5jYWxsKHRoaXMpO30pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iMVBzMmlzVHBSMHBpQ25nbEo5TjVQdyI+KGZ1bmN0aW9uKCl7dmFyIGNzc0lkPSd5dmxydWUnO3ZhciBldmVudF9pZD0nZG9kUWFNTzNFZjNjc2VNUG80dks0UVknO2Z1bmN0aW9uIHN3KCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY3NzSWQpLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCcnKTtuYXZpZ2F0b3Iuc2VuZEJlYWNvbihgL2dlbl8yMDQ\/Y2FkPXNnX3RyYmwmZWk9JHtldmVudF9pZH1gLCcnKTt9CnNldFRpbWVvdXQoc3csMjAwMCk7fSkoKTs8L3NjcmlwdD4gPGRpdiBpZD0ieXZscnVlIiBzdHlsZT0iZGlzcGxheTpub25lIj5JZiB5b3UncmUgaGF2aW5nIHRyb3VibGUgYWNjZXNzaW5nIEdvb2dsZSBTZWFyY2gsIHBsZWFzZSZuYnNwOzxhIGhyZWY9Ii9zZWFyY2g\/cT10YXJnZXQrY3JpbmtsZStjb21mb3J0ZXImYW1wO251bT0xMDAmYW1wO3NjYV9lc3Y9ZmM5ODFkYTg3ZDFlZDFmOCZhbXA7cHdzPTAmYW1wO2hsPWVuJmFtcDtuZWFyPVVuaXRlZCtTdGF0ZXMmYW1wO2dsPVVTJmFtcDtnbHA9MSZhbXA7Z2J2PTEmYW1wO2Vtc2c9U0dfUkVMJmFtcDtzZWk9ZG9kUWFNTzNFZjNjc2VNUG80dks0UVkiPmNsaWNrIGhlcmU8L2E+LCBvciBzZW5kJm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vd2Vic2VhcmNoIj5mZWVkYmFjazwvYT4uPC9kaXY+PC9ib2R5PjwvaHRtbD4="}