name=小说模块
team=织梦官方
time=2009-12-01
email=admin@dedecms.com
url=http://www.dedecms.com
hash=7badb72a3ff79af2a7112beee60cb970
indexname=小说
indexurl=../book/mybooks.php
ismember=1
autosetup=1
autodel=1
lang=gb2312
moduletype=soft
ICAgICAgICAgICAgICA8bTp0b3AgbmFtZT0n0KHLtbncwO0nIGRpc3BsYXk9J2Jsb2NrJyBjPSc2LCcgcmFuaz0nJz4NCgkgICAgICAgICAgPG06aXRlbSBuYW1lPSfQocu1wLjEv7ncwO0nIGxpbms9J3N0b3J5X2NhdGFsb2cucGhwJyByYW5rPSdzdG9yeV9jYXRhbG9nJyB0YXJnZXQ9J21haW4nIC8+DQoJICAgICAgICAgIDxtOml0ZW0gbmFtZT0n0KHLtcrpxL8nIGxpbms9J3N0b3J5X2Jvb2tzLnBocCcgcmFuaz0nc3RvcnlfbGlzdCcgdGFyZ2V0PSdtYWluJyAvPg0KCSAgICAgICAgICA8bTppdGVtIG5hbWU9J9Chy7XBrNTYxNrI3ScgbGluaz0nc3RvcnlfbGlzdF9jb250ZW50LnBocCcgcmFuaz0nc3RvcnlfbGlzdCcgdGFyZ2V0PSdtYWluJyAvPg0KCSAgICAgICAgICA8bTppdGVtIG5hbWU9J9Chy7XVwr3audzA7ScgbGluaz0nc3RvcnlfbGlzdF9jaGFwdGVyLnBocCcgcmFuaz0nc3RvcnlfbGlzdCcgdGFyZ2V0PSdtYWluJyAvPg0KCSAgICAgICAgICA8bTppdGVtIG5hbWU9J7j80MLQocu1SFRNTCcgbGluaz0nbWFrZWh0bWxfc3RvcnkucGhwJyByYW5rPSdzeXNfTWFrZUh0bWwnIHRhcmdldD0nbWFpbicgLz4NCiAgICAgICAgICAgICAgICAgIDxtOml0ZW0gbmFtZT0nxsDC27ncwO0nIGxpbms9J3N0b3J5X2ZlZWRiYWNrX21haW4ucGhwJyByYW5rPSdzeXNfTWFrZUh0bWwnIHRhcmdldD0nbWFpbicgLz4NCgkgICAgICA8L206dG9wPg==
PHA+54mI5p2D5omA5pyJICZjb3B5OzIwMDMtMjAyMe+8jERlZGVDTVMuY29tIOS/neeVmeaJgOacieadg+WIqeOAgjwvcD4NCjxwPuaEn+iwouaCqOmAieaLqee7h+aipuWGheWuueeuoeeQhuezu+e7n++8iOS7peS4i+eugOensERlZGVDTVPvvInvvIxEZWRlQ01T5piv5Lit5bCP5Z6L6Zeo5oi3572R56uZ5bu66K6+6Kej5Yaz5pa55qGI77yM5Z+65LqOIFBIUCArIE15U1FMIOeahOaKgOacr+W8gOWPke+8jOWFqOmDqOa6kOeggeW8gOaUvuOAgjwvcD4NCjxwPkRlZGVDTVPlrpjmlrnnvZHnq5nvvJogd3d3LmRlZGVjbXMuY29tPC9wPg0KPHA+5Li65LqG5L2/5oKo5q2j56Gu5bm25ZCI5rOV5Zyw5L2/55So5pys6L2v5Lu277yM6K+35oKo5Zyo5L2/55So5YmN5Yqh5b+F6ZiF6K+75riF5qWa5LiL6Z2i55qE5Y2P6K6u5p2h5qy+77yaPC9wPg0KPHA+DQo8c3Ryb25nPuS4gOOAgeacrOaOiOadg+WNj+iurumAgueUqOS4lOS7hemAgueUqOS6jiBEZWRlQ01TIDUueC54IOeJiOacrDwvc3Ryb25nPg0KPC9wPg0KPHA+DQo8c3Ryb25nPuS6jOOAgeWNj+iuruiuuOWPr+eahOadg+WIqTwvc3Ryb25nPg0KPGJyLz4xLuaCqOWPr+S7peWcqOWujOWFqOmBteWuiOacrOacgOe7iOeUqOaIt+aOiOadg+S9v+eUqOWNj+iurueahOWfuuehgOS4iu+8jOWwhuacrOi9r+S7tuW6lOeUqOS6jumdnuWVhuS4mueUqOmAlO+8jOiAjOS4jeW/heaUr+S7mOi9r+S7tueJiOadg+aOiOadg+i0ueeUqOOAgg0KPGJyLz4yLuaCqOWPr+S7peWcqOWNj+iuruinhOWumueahOe6puadn+WSjOmZkOWItuiMg+WbtOWGheS/ruaUuSBEZWRlQ01TIOa6kOS7o+eggeaIlueVjOmdoumjjuagvOS7pemAguW6lOaCqOeahOe9keermeimgeaxguOAgg0KPGJyLz4zLuaCqOaLpeacieS9v+eUqOacrOi9r+S7tuaehOW7uueahOe9keermeWFqOmDqOWGheWuueaJgOacieadg++8jOW5tueLrOeri+aJv+aLheS4jui/meS6m+WGheWuueeahOebuOWFs+azleW+i+S5ieWKoeOAgg0KPGJyLz40LuiOt+W+l+WVhuS4muaOiOadg+S5i+WQju+8jOaCqOWPr+S7peWwhuacrOi9r+S7tuW6lOeUqOS6juWVhuS4mueUqOmAlO+8jOWQjOaXtuS+neaNruaJgOi0reS5sOeahOaOiOadg+exu+Wei+S4reehruWumueahOaKgOacr+aUr+aMgeWGheWuue+8jOiHqui0reS5sOaXtuWIu+i1t++8jOWcqOaKgOacr+aUr+aMgeacn+mZkOWGheaLpeaciemAmui/h+aMh+WumueahOaWueW8j+iOt+W+l+aMh+WumuiMg+WbtOWGheeahOaKgOacr+aUr+aMgeacjeWKoeOAguWVhuS4muaOiOadg+eUqOaIt+S6q+acieWPjeaYoOWSjOaPkOWHuuaEj+ingeeahOadg+WKm++8jOebuOWFs+aEj+ingeWwhuiiq+S9nOS4uummluimgeiAg+iZke+8jOS9huayoeacieS4gOWumuiiq+mHh+e6s+eahOaJv+ivuuaIluS/neivgeOAgg0KPC9wPg0KPHA+DQo8c3Ryb25nPuS4ieOAgeWNj+iuruinhOWumueahOe6puadn+WSjOmZkOWItjwvc3Ryb25nPg0KPGJyLz4xLuacquiOt+WVhuS4muaOiOadg+S5i+WJje+8jOS4jeW+l+WwhuacrOi9r+S7tueUqOS6juWVhuS4mueUqOmAlO+8iOWMheaLrOS9huS4jemZkOS6juS8geS4mue9keermeOAgee7j+iQpeaAp+e9keermeOAgeS7peiQpeWIqeS4uuebrueahOaIluWunueOsOebiOWIqeeahOe9keerme+8ieOAgui0reS5sOWVhuS4muaOiOadg+ivt+eZu+W9lXd3dy5kZXNkZXYuY27kuobop6PmnIDmlrDor7TmmI7jgIINCjxici8+Mi7mnKrnu4/lrpjmlrnorrjlj6/vvIzkuI3lvpflr7nmnKzova/ku7bmiJbkuI7kuYvlhbPogZTnmoTllYbkuJrmjojmnYPov5vooYzlh7rnp5/jgIHlh7rllK7jgIHmirXmirzmiJblj5HmlL7lrZDorrjlj6/or4HjgIINCjxici8+My7kuI3nrqHmgqjnmoTnvZHnq5nmmK/lkKbmlbTkvZPkvb/nlKggRGVkZUNNUyDvvIzov5jmmK/pg6jliIbmoI/nm67kvb/nlKggRGVkZUNNU++8jOWcqOaCqOS9v+eUqOS6hiBEZWRlQ01TIOeahOe9keermeS4u+mhteS4iuW/hemhu+WKoOS4iiBEZWRlQ01TIOWumOaWuee9keWdgCh3d3cuZGVkZWNtcy5jb20p55qE6ZO+5o6l5Y+K5L+d55WZ54mI5p2D5L+h5oGv44CCDQo8YnIvPjQu5pyq57uP5a6Y5pa56K645Y+v77yM56aB5q2i5ZyoIERlZGVDTVMg55qE5pW05L2T5oiW5Lu75L2V6YOo5YiG5Z+656GA5LiK5Lul5Y+R5bGV5Lu75L2V5rS+55Sf54mI5pys44CB5L+u5pS554mI5pys5oiW56ys5LiJ5pa554mI5pys55So5LqO6YeN5paw5YiG5Y+R44CCDQo8YnIvPjUu5aaC5p6c5oKo5pyq6IO96YG15a6I5pys5Y2P6K6u55qE5p2h5qy+77yM5oKo55qE5o6I5p2D5bCG6KKr57uI5q2i77yM5omA6KKr6K645Y+v55qE5p2D5Yip5bCG6KKr5pS25Zue77yM5bm25om/5ouF55u45bqU5rOV5b6L6LSj5Lu744CCDQo8L3A+DQo8cD4NCjxzdHJvbmc+5Zub44CB5pyJ6ZmQ5ouF5L+d5ZKM5YWN6LSj5aOw5piOPC9zdHJvbmc+DQo8YnIvPjEu5pys6L2v5Lu25Y+K5omA6ZmE5bim55qE5paH5Lu25piv5L2c5Li65LiN5o+Q5L6b5Lu75L2V5piO56Gu55qE5oiW6ZqQ5ZCr55qE6LWU5YG/5oiW5ouF5L+d55qE5b2i5byP5o+Q5L6b55qE44CCDQo8YnIvPjIu55So5oi35Ye65LqO6Ieq5oS/6ICM5L2/55So5pys6L2v5Lu277yM5oKo5b+F6aG75LqG6Kej5L2/55So5pys6L2v5Lu255qE6aOO6Zmp77yM5Zyo5bCa5pyq6LSt5Lmw5Lqn5ZOB5oqA5pyv5pyN5Yqh5LmL5YmN77yM5oiR5Lus5LiN5om/6K+65a+55YWN6LS555So5oi35o+Q5L6b5Lu75L2V5b2i5byP55qE5oqA5pyv5pSv5oyB44CB5L2/55So5ouF5L+d77yM5Lmf5LiN5om/5ouF5Lu75L2V5Zug5L2/55So5pys6L2v5Lu26ICM5Lqn55Sf6Zeu6aKY55qE55u45YWz6LSj5Lu744CCDQo8YnIvPjMu55S15a2Q5paH5pys5b2i5byP55qE5o6I5p2D5Y2P6K6u5aaC5ZCM5Y+M5pa55Lmm6Z2i562+572y55qE5Y2P6K6u5LiA5qC377yM5YW35pyJ5a6M5YWo55qE5ZKM562J5ZCM55qE5rOV5b6L5pWI5Yqb44CC5oKo5LiA5pem5byA5aeL56Gu6K6k5pys5Y2P6K6u5bm25a6J6KOFRGVkZUNNU++8jOWNs+iiq+inhuS4uuWujOWFqOeQhuino+W5tuaOpeWPl+acrOWNj+iurueahOWQhOmhueadoeasvu+8jOWcqOS6q+acieS4iui/sOadoeasvuaOiOS6iOeahOadg+WKm+eahOWQjOaXtu+8jOWPl+WIsOebuOWFs+eahOe6puadn+WSjOmZkOWItuOAguWNj+iuruiuuOWPr+iMg+WbtOS7peWklueahOihjOS4uu+8jOWwhuebtOaOpei/neWPjeacrOaOiOadg+WNj+iuruW5tuaehOaIkOS+teadg++8jOaIkeS7rOacieadg+maj+aXtue7iOatouaOiOadg++8jOi0o+S7pOWBnOatouaNn+Wus++8jOW5tuS/neeVmei/veeptuebuOWFs+i0o+S7u+eahOadg+WKm+OAgg0KPGJyLz40LuWmguaenOacrOi9r+S7tuW4puacieWFtuWug+i9r+S7tueahOaVtOWQiEFQSeekuuiMg+S+i+WtkOWMhe+8jOi/meS6m+aWh+S7tueJiOadg+S4jeWxnuS6juacrOi9r+S7tuWumOaWue+8jOW5tuS4lOi/meS6m+aWh+S7tuaYr+ayoee7j+i/h+aOiOadg+WPkeW4g+eahO+8jOivt+WPguiAg+ebuOWFs+i9r+S7tueahOS9v+eUqOiuuOWPr+WQiOazleeahOS9v+eUqOOAgg0KPC9wPg0KPHA+5Y2P6K6u5Y+R5biD5pe26Ze077yaMjAwOOW5tDjmnIgyMOaXpSBCeSBEZWRlQ01TLmNvbTwvcD4=
RFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19zdG9yeV9ib29rc2A7DQpDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgI0BfX3N0b3J5X2Jvb2tzYCAoDQogIGBiaWRgIGludCgxMSkgdW5zaWduZWQgTk9UIE5VTEwgYXV0b19pbmNyZW1lbnQsDQogIGBjYXRpZGAgc21hbGxpbnQoNikgZGVmYXVsdCAnMCcsDQogIGBiY2F0aWRgIHNtYWxsaW50KDYpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgaXNjaGVja2Agc21hbGxpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMScsDQogIGBzdGF0dXNgIHRpbnlpbnQoMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBib29rdHlwZWAgc21hbGxpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBpc2NvbW1lbmRgIHNtYWxsaW50KDYpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgY2xpY2tgIGludCgxMSkgdW5zaWduZWQgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBmcmVlbnVtYCBzbWFsbGludCg2KSBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGJvb2tuYW1lYCB2YXJjaGFyKDQwKSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KICBgYXV0aG9yYCB2YXJjaGFyKDMwKSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KICBgbWlkYCBpbnQoMTEpIHVuc2lnbmVkIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgYWRtaW5pZGAgaW50KDExKSBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGxpdHBpY2AgdmFyY2hhcigxMDApIE5PVCBOVUxMIGRlZmF1bHQgJycsDQogIGBwdWJkYXRlYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgbGFzdHBvc3RgIGludCgxMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBwb3N0bnVtYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgbGFzdGZlZWRiYWNrYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgZmVlZGJhY2tudW1gIGludCgxMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGB3ZWVrY2NgIGludCgxMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBtb250aGNjYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgd2Vla3VwYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgbW9udGh1cGAgaW50KDExKSBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGRlc2NyaXB0aW9uYCB2YXJjaGFyKDI1MCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYGJvZHlgIG1lZGl1bXRleHQsDQogIGBrZXl3b3Jkc2AgdmFyY2hhcig2MCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYHVzZXJpcGAgdmFyY2hhcigyMCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYHNlbmRkYXRlYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgYXJjcmFua2Agc21hbGxpbnQoNikgZGVmYXVsdCAnMCcsDQogIGBnb29kcG9zdGAgdmFyY2hhcig2MCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYGJhZHBvc3RgIG1lZGl1bWludCg4KSB1bnNpZ25lZCBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYG5vdHBvc3RgIHRpbnlpbnQoMSkgdW5zaWduZWQgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIFBSSU1BUlkgS0VZICAoYGJpZGApLA0KICBLRVkgYGNhdGlkYCAoYGNhdGlkYCxgYmNhdGlkYCxgaXNjaGVja2ApLA0KICBLRVkgYGNsaWNrYCAoYGNsaWNrYCxgd2Vla2NjYCxgbW9udGhjY2AsYHdlZWt1cGAsYG1vbnRodXBgKSwNCiAgS0VZIGBib29rdHlwZWAgDQoNCihgYm9va3R5cGVgLGBpc2NvbW1lbmRgLGBmcmVlbnVtYCxgYm9va25hbWVgLGBtaWRgLGBsaXRwaWNgLGBwdWJkYXRlYCxgbGFzdHBvc3RgLGBwb3N0bnVtYCxgc2VuZGRhdGVgLGBhZG1pbmlkYCxgYXV0aG9yYCkNCikgVFlQRT1NeUlTQU07DQoNCkRST1AgVEFCTEUgSUYgRVhJU1RTIGAjQF9fc3RvcnlfY2F0YWxvZ2A7DQpDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgI0BfX3N0b3J5X2NhdGFsb2dgICgNCiAgYGlkYCBpbnQoMTEpIE5PVCBOVUxMIGF1dG9faW5jcmVtZW50LA0KICBgY2xhc3NuYW1lYCB2YXJjaGFyKDMwKSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KICBgcGlkYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgcmFua2Agc21hbGxpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBsaXN0cnVsZWAgdmFyY2hhcigzMCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYHZpZXdydWxlYCB2YXJjaGFyKDMwKSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KICBgYm9va3R5cGVgIHNtYWxsaW50KDYpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBga2V5d29yZHNgIHZhcmNoYXIoNTApIE5PVCBOVUxMIGRlZmF1bHQgJycsDQogIGBkZXNjcmlwdGlvbmAgdmFyY2hhcigyMDApIE5PVCBOVUxMIGRlZmF1bHQgJycsDQogIFBSSU1BUlkgS0VZICAoYGlkYCksDQogIEtFWSBgY2xhc3NuYW1lYCAoYGNsYXNzbmFtZWAsYHBpZGAsYHJhbmtgLGBib29rdHlwZWApDQopIFRZUEU9TXlJU0FNOw0KDQpEUk9QIFRBQkxFIElGIEVYSVNUUyBgI0BfX3N0b3J5X2NoYXB0ZXJgOw0KQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYCNAX19zdG9yeV9jaGFwdGVyYCAoDQogIGBpZGAgaW50KDExKSBOT1QgTlVMTCBhdXRvX2luY3JlbWVudCwNCiAgYGJvb2tpZGAgaW50KDExKSBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGNhdGlkYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgY2hhcG51bWAgc21hbGxpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMScsDQogIGBwb3N0bnVtYCBzbWFsbGludCg2KSBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYG1pZGAgaW50KDExKSBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGNoYXB0ZXJuYW1lYCB2YXJjaGFyKDQwKSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KICBgYm9va25hbWVgIHZhcmNoYXIoNDApIE5PVCBOVUxMIGRlZmF1bHQgJycsDQogIFBSSU1BUlkgS0VZICAoYGlkYCkNCikgVFlQRT1NeUlTQU07DQoNCkRST1AgVEFCTEUgSUYgRVhJU1RTIGAjQF9fc3RvcnlfY29udGVudGA7DQpDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgI0BfX3N0b3J5X2NvbnRlbnRgICgNCiAgYGlkYCBpbnQoMTEpIE5PVCBOVUxMIGF1dG9faW5jcmVtZW50LA0KICBgdGl0bGVgIHZhcmNoYXIoNDApIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgYm9va25hbWVgIHZhcmNoYXIoNDApIE5PVCBOVUxMIGRlZmF1bHQgJycsDQogIGBjaGFwdGVyaWRgIGludCgxMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBib29raWRgIGludCgxMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBjYXRpZGAgc21hbGxpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBiY2F0aWRgIHNtYWxsaW50KDYpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgYm9va3R5cGVgIGludCgxMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBtaWRgIGludCgxMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBhZG1pbmlkYCBzbWFsbGludCg2KSBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGFkZHRpbWVgIGludCgxMSkgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBzb3J0aWRgIHNtYWxsaW50KDYpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgc29ydGJvb2tgIHNtYWxsaW50KDYpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgaXNjaGVja2Agc21hbGxpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMScsDQogIGBiaWdwaWNgIHZhcmNoYXIoODApIE5PVCBOVUxMIGRlZmF1bHQgJycsDQogIGBib2R5YCBtZWRpdW10ZXh0IE5PVCBOVUxMLA0KICBQUklNQVJZIEtFWSAgKGBpZGApLA0KICBLRVkgYHRpdGxlYCAoYHNvcnRib29rYCxgY2hhcHRlcmlkYCxgYm9va2lkYCxgY2F0aWRgLGBiY2F0aWRgLGBtaWRgLGBhZG1pbmlkYCxgYWRkdGltZWAsYGlzY2hlY2tgKQ0KKSBUWVBFPU15SVNBTTsNCg0KRFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19zdG9yeV92aXBoaXN0b3J5YDsNCkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGAjQF9fc3RvcnlfdmlwaGlzdG9yeWAgKA0KICBgY2lkYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgbWlkYCBpbnQoMTEpIE5PVCBOVUxMIGRlZmF1bHQgJzAnDQopIFRZUEU9TXlJU0FNOw0KDQpEUk9QIFRBQkxFIElGIEVYSVNUUyBgI0BfX3N0b3J5X2Jvb2tzdGFyc2A7DQpDUkVBVEUgVEFCTEUgYCNAX19zdG9yeV9ib29rc3RhcnNgICgNCiAgYGJpZGAgdmFyY2hhcigxMSkgTk9UIE5VTEwsDQogIGB0b3RhbHZvdGVzYCBpbnQoMTEpIE5PVCBOVUxMIERFRkFVTFQgJzAnLA0KICBgdG90YWx2YWx1ZWAgaW50KDExKSBOT1QgTlVMTCBERUZBVUxUICcwJywNCiAgYHZvdGVpbmZvYCBsb25ndGV4dCwNCiAgYHVzZWRpZHNgIGxvbmd0ZXh0LA0KICBQUklNQVJZIEtFWSAoYGJpZGApDQopIFRZUEU9TXlJU0FNOw0KDQpEUk9QIFRBQkxFIElGIEVYSVNUUyBgI0BfX2Jvb2tmZWVkYmFja2A7DQpDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgI0BfX2Jvb2tmZWVkYmFja2AgKA0KICBgaWRgIGludCgxMCkgdW5zaWduZWQgTk9UIE5VTEwgYXV0b19pbmNyZW1lbnQsDQogIGBhaWRgIG1lZGl1bWludCg4KSB1bnNpZ25lZCBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGNhdGlkYCBzbWFsbGludCg1KSB1bnNpZ25lZCBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYHVzZXJuYW1lYCBjaGFyKDIwKSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KICBgYXJjdGl0bGVgIHZhcmNoYXIoNjApIE5PVCBOVUxMIGRlZmF1bHQgJycsDQogIGBpcGAgY2hhcigxNSkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYGlzY2hlY2tgIHNtYWxsaW50KDYpIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgZHRpbWVgIGludCgxMCkgdW5zaWduZWQgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBtaWRgIG1lZGl1bWludCg4KSB1bnNpZ25lZCBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGJhZGAgbWVkaXVtaW50KDgpIHVuc2lnbmVkIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgZ29vZGAgbWVkaXVtaW50KDgpIHVuc2lnbmVkIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgZnR5cGVgIHNldCgnZmVlZGJhY2snLCdnb29kJywnYmFkJykgTk9UIE5VTEwgZGVmYXVsdCAnZmVlZGJhY2snLA0KICBgZmFjZWAgc21hbGxpbnQoNSkgdW5zaWduZWQgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBtc2dgIHRleHQsDQogIFBSSU1BUlkgS0VZICAoYGlkYCksDQogIEtFWSBgYWlkYCAoYGFpZGAsYGlzY2hlY2tgLGBtaWRgKQ0KKSBFTkdJTkU9TXlJU0FNOw0KDQpSRVBMQUNFIElOVE8gYCNAX19zeXNjb25maWdgIChgYWlkYCAsYHZhcm5hbWVgICxgaW5mb2AgLGB2YWx1ZWAgLGB0eXBlYCAsYGdyb3VwaWRgKQ0KVkFMVUVTKDcwMSwgJ2NmZ19ib29rX2ZyZWVudW0nLCAnwazU2MTayN3ErMjPw+K30dXCvdooLTHOqsirv6q3xSknLCAnNicsICdzdHJpbmcnLCA4KSwNCig3MDIsICdjZmdfYm9va19wYXknLCAnytW30c28yum8xrfR0M7KvSgxsLTNvMrpo6wysLTVwr3aKScsICcxJywgJ3N0cmluZycsIDgpLA0KKDcwMywgJ2NmZ19ib29rX21vbmV5JywgJ8rVt9HNvMrpu6i30b3wsdLK/ScsICcxJywgJ3N0cmluZycsIDgpLA0KKDcwNSwgJ2NmZ19ib29rX2lmY2hlY2snLCAnu+HUsbeisrzNvMrpyse38dDo0qrJ87rLJywgJ1knLCAnYm9vbCcsIDgpOw0KDQpJbnNlcnQgaW50byBgI0BfX2FyY3R5cGVgKHJlaWQsdG9waWQsc29ydHJhbmssdHlwZW5hbWUsdHlwZWRpcixpc2RlZmF1bHQsZGVmYXVsdG5hbWUsaXNzZW5kLGNoYW5uZWx0eXBlLA0KdGVtcGluZGV4LHRlbXBsaXN0LHRlbXBhcnRpY2xlLG1vZG5hbWUsbmFtZXJ1bGUsbmFtZXJ1bGUyLGlzcGFydCxjb3JhbmssZGVzY3JpcHRpb24sa2V5d29yZHMsbW9yZXNpdGUsc2l0ZXVybCxzaXRlcGF0aCxpc2hpZGRlbixgY3Jvc3NgLGBjcm9zc2lkYCxgY29udGVudGApDQpWYWx1ZXMoJzAnLCcwJywnOTkwJywn0KHLtScsJ19ST09UVVJMXy9ib29rJywnMScsJ2luZGV4LnBocCcsJzAnLCcxJywNCicnLCcnLCcnLCdkZWZhdWx0JywnJywnJywnMicsJzAnLCcnLCcnLCcwJywnJywnJywnMCcsJzAnLCcwJywnJyk7DQoNCkFMVEVSIFRBQkxFICBgI0BfX21lbWJlcl9zdG93YCBBREQgdHlwZSB2YXJjaGFyKDEwKTs=
RFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19zdG9yeV9ib29rc2A7DQoNCg0KDQpEUk9QIFRBQkxFIElGIEVYSVNUUyBgI0BfX3N0b3J5X2NhdGFsb2dgOw0KDQoNCg0KRFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19zdG9yeV9jaGFwdGVyYDsNCg0KDQoNCkRST1AgVEFCTEUgSUYgRVhJU1RTIGAjQF9fc3RvcnlfY29udGVudGA7DQoNCg0KDQpEUk9QIFRBQkxFIElGIEVYSVNUUyBgI0BfX3N0b3J5X3ZpcGhpc3RvcnlgOw0KDQoNCg0KRFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19zdG9yeV9ib29rc3RhcnNgOw0KDQoNCg0KRFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19ib29rZmVlZGJhY2tgOw0KDQoNCg0KDQoNCg0KDQpkZWxldGUgZnJvbSBgI0BfX3N5c2NvbmZpZ2Agd2hlcmUgdmFybmFtZT0nY2ZnX2Jvb2tfZnJlZW51bScgbGltaXQgMTsNCg0KDQoNCmRlbGV0ZSBmcm9tIGAjQF9fc3lzY29uZmlnYCB3aGVyZSB2YXJuYW1lPSdjZmdfYm9va19wYXknIGxpbWl0IDE7DQoNCg0KDQpkZWxldGUgZnJvbSBgI0BfX3N5c2NvbmZpZ2Agd2hlcmUgdmFybmFtZT0nY2ZnX2Jvb2tfbW9uZXknIGxpbWl0IDE7DQoNCg0KDQpkZWxldGUgZnJvbSBgI0BfX3N5c2NvbmZpZ2Agd2hlcmUgdmFybmFtZT0nY2ZnX2Jvb2tfaWZjaGVjaycgbGltaXQgMTsNCg0KDQoNCmRlbGV0ZSBmcm9tIGAjQF9fYXJjdHlwZWAgd2hlcmUgdHlwZW5hbWU9J9Chy7UnIGFuZCBpc3BhcnQ9JzInOw0KDQoNCg0KDQoNCg0KDQpBTFRFUiBUQUJMRSBgI0BfX21lbWJlcl9zdG93YCBEUk9QIENPTFVNTiB0eXBlOw==
../book
story_add.php
story_add_action.php
story_add_content.php
story_add_photo.php
story_add_photo_action.php
story_add_content_action.php
story_books.php
story_catalog.php
story_do.php
story_edit.php
story_edit_action.php
story_list_chapter.php
story_list_content.php
story_photo_edit.php
story_content_edit.php
story_edit_content_action.php
story_edit_photo_action.php
story_feedback_edit.php
story_feedback_main.php
makehtml_story.php
templets/story_add.htm
templets/story_add_content.htm
templets/story_add_photo.htm
templets/story_books.htm
templets/story_catalog.htm
templets/story_edit.htm
templets/story_list_chapter.htm
templets/story_list_content.htm
templets/story_photo_edit.htm
templets/makehtml_story.htm
templets/story_content_edit.htm
templets/story_feedback_edit.htm
templets/story_feedback_main.htm
../plus/bookfeedback.php
../plus/bookfeedback_js.php
../templets/plus/bookfeedback_confirm.htm
../templets/plus/bookfeedback_quote.htm
../templets/plus/bookfeedback_templet.htm
../templets/plus/bookfeedback_templet_js.htm
js/story.js
images/booknopic.gif
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+YWRzt6Kwosu5ttm3osrbt8mwosu5ttm3orfFtPMgLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgt8mwosu5ttm3qMj2tamwosu5ttm3osn6tPO3+beoyPa1qbeiyPa12Le9t6LI9rXYt723qMj2tanI9rXYt73Kv7Tzt/IgIj4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib3h5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0nL2luY2x1ZGUvZGVkZWFqYXgyLmpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL3N0YXJzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL2pxdWVyeS5ib3h5LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IA0KCSAgJCgiLmJveHkiKS5ib3h5KCk7DQogIH0pDQpmdW5jdGlvbiBTaG93U3RhckluZm8oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfc3RhcmluZm8nKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MSZhamF4dHlwZT1pbmZvIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBTaG93cmF0aW5nKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3JhdGluZycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD0xIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2xvZ2luc3RhLnBocCIpOw0KICBteWFqYXggPSBudWxsOw0KfQ0KZnVuY3Rpb24gY2hlY2tTdWJtaXQoKXsNCglpZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPScnKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsNCgllbHNlIGFsZXJ0KCLGwMLbxNrI3bK7xNzOqr/Vo6EiKTsNCn0NCmZ1bmN0aW9uIHBvc3RCYWRHb29kKGZ0eXBlLGZpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrZmlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdiYWRnb29kaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCXZhciBzYXZlaWRzID0gc2F2ZWlkLnNwbGl0KCcsJyk7DQoJCXZhciBoYXNpZCA9IGZhbHNlOw0KCQlzYXZlaWQgPSAnJzsNCgkJaiA9IDE7DQoJCWZvcihpPXNhdmVpZHMubGVuZ3RoLTE7aT49MDtpLS0pDQoJCXsNCgkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCQllbHNlIHsNCgkJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCQkJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJCQlqKys7DQoJCQkJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkJCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJCX0NCgkJfQ0KCQlpZihoYXNpZCkgeyBhbGVydCgnxPq41bLF0tGx7b72uf3By+C4o6EnKTsgcmV0dXJuIGZhbHNlO30NCgkJZWxzZSBzYXZlaWQgKz0gJywnK2ZpZDsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLGZpZCwxKTsNCgl9DQoJbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQoJbXlhamF4LlNlbmRHZXQyKCIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0iK2ZpZCsiJmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2xvZ2luLnBocCI+tcfCvDwvYT48L3NwYW4+ILvyIDxzcGFuPjxhIGhyZWY9Ii9tZW1iZXIvaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Jy9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+yP25+tHd0uU8L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgIAkJCTxsaT48YSBocmVmPScvbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoJPCEtLc23sr+94cr4LS0+DQogICAgPCEtLdbQvOS/qsq8LS0+DQogICAgPGRpdiBpZD0ibWFpbiI+DQogICAJICA8ZGl2IGlkPSJib29rX21haW4iPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19pbmRleCI+tbHHsM671sOjujxhIGhyZWY9Ii9ib29rIj7W99KzPC9hPiA+IDxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPiA+IGFkc7eisKLLubbZt6LK27fJsKLLubbZt6K3xbTzDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfbGVmdCI+PCEtLdfzsd+/qsq8LS0+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+sb7UwsjIw8XNvMrpDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAJDQoJCQkJCQkJPGxpPjxhIGhyZWY9Jy9ib29rLzEvZGF4aWFndWZlbmdhc2Zhc2FkaWZhbmdmYXNhLTIuaHRtbCc+tPPPw7nJt91nYXO3osj2tdi3vbeiyPY8L2E+PC9saT4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7Nxrz2zbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPtfcteO798XF0NANCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCgkJICAJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAJCTxsaT48YSBocmVmPScvYm9vay8xL2RheGlhZ3VmZW5nYXNmYXNhZGlmYW5nZmFzYS0yLmh0bWwnPrTzz8O5ybfdZ2Fzt6LI9rXYt723osj2PC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj48IS0t1/Ox373hyvgtLT4NCg0KICAgICAgICAgIAk8ZGl2IGlkPSJib29rX3JpZ2h0Ij48IS0t09Kx37+qyrwtLT4NCiAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX25ld3MiPjwhLS3Qwsrpyc+83C0tPg0KICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3NfdGl0bGUgdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPs7E1cLQxc+io7o8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfZm9ybTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9pbWcxIj48aW1nIHNyYz0iL2ltYWdlcy9kZWZhdWx0cGljLmdpZiIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxNjAiIGFsdD0iYWRzt6Kwosu5ttm3osrbt8mwosu5ttm3orfFtPMiLz48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfdGV4dDIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21tZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPmFkc7eisKLLubbZt6LK27fJsKLLubbZt6K3xbTzIDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCTxoMj7X99Xfo7phZG1pbjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgIDxoMj7kr8DAwb+jujxzY3JpcHQgc3JjPSIvYm9vay9jb3VudGJvb2sucGhwP3ZpZXc9eWVzJmFpZD0xIiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7A4NDNo7o8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0xIj7I/bn60d3S5TwvYT48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wazU2M3qs8mjusGs1NjW0C4uLjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7Jz7zcyrG85KO6MjAxMS0wMi0xODwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YSBocmVmPSIvcGx1cy9zdG93LnBocD9haWQ9MSZ0eXBlPWJvb2smdGl0bGU9YWRzt6Kwosu5ttm3osrbt8mwosu5ttm3orfFtPMiIHRhcmdldD0iX2JsYW5rIj7K1bLYPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icnRleHQiPsbAvNvV4rG+yumjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdCI+DQogICAgICAgICAgICAgIAkJCQkJICAgPGRpdiBpZD0iX3JhdGluZyIgc3R5bGU9InBhZGRpbmctdG9wOiAycHg7Ij48L2Rpdj4NCgkJCSAJCQkJCSAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd3JhdGluZygpOzwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Il9zdGFyaW5mbyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dTdGFySW5mbygpOzwvc2NyaXB0PiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+1+7QwtXCvdqjujwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RpdGxlIj7NvMrpvenJ3KO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2dhcmVhIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPg0KCbfJsKLLubbZt6jI9rWpsKLLubbZt6LJ+rTzt/m3qMj2tam3osj2tdi3vbeiyPa12Le9t6jI9rWpyPa12Le9yr+087fyPC9wPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV9saXN0dGFibGUiPtXCvdrB0LHto7oNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICA8IS0tIGNvbW1lbnQtLT4NCgkJCTxkaXYgc3R5bGU9InRleHQtYWxpZ246bGVmdDsgIj4JDQoJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJPGR0Pg0KCQkJCQkJPHN0cm9uZz7X7tDCxsDC2zwvc3Ryb25nPg0KCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTEiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICA8L2R0Pg0KCQkJCQk8ZGQ+DQoJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnQiPg0KCQkJCQkJPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9Ii9wbHVzL2Jvb2tmZWVkYmFja19qcy5waHA/YWlkPTEiPjwvc2NyaXB0Pg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50IC0tPg0KCQkJCQk8L2RkPg0KCQkJCQk8L2RsPg0KCQkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQkJPGR0Pg0KCQkJCQkJCTxzdHJvbmc+t6Kx7cbAwts8L3N0cm9uZz4NCgkJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MSI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCgkJCQkJICA8L2R0Pg0KCQkJCQkJPGRkPg0KCQkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudF9wb3N0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwIiBtZXRob2Q9InBvc3QiIG5hbWU9ImZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0ic2VuZCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29tdHlwZSIgdmFsdWU9ImNvbW1lbnRzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWlkIiB2YWx1ZT0iMSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaXNjb25maXJtIiB2YWx1ZT0ieWVzIiAvPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXRpdGxlIj4NCgkJCQkJCQkJCTxzbWFsbD7H69fUvvXX8crYu6XBqs34z+C52LXE1f6y37eoueajrNHPvfu3orK8yavH6aGisanBpqGit7S2r7XE0dTC26GjPC9zbWFsbD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC10aXRsZSAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1jb250ZW50Ij4NCgkJCQkJCQkJICA8dGV4dGFyZWEgY29scz0iNjAiIG5hbWU9Im1zZyIgcm93cz0iNSI+PC90ZXh0YXJlYT4NCgkJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRjbXAtc3RhbmQiPg0KCQkJCQkJCQkJPHN0cm9uZz7GwLzbOjwvc3Ryb25nPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIGNoZWNrZWQ9IjEiIHZhbHVlPSJmZWVkYmFjayIgaWQ9ImRjbXAtc3RhbmQtbmV1IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtbmV1Ij48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1uZXUuZ2lmIiAvPtbQwaI8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJnb29kIiBpZD0iZGNtcC1zdGFuZC1nb29kIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtZ29vZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtZ29vZC5naWYiIC8+usPGwDwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9ImJhZCIgaWQ9ImRjbXAtc3RhbmQtYmFkIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtYmFkIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1iYWQuZ2lmIiAvPrLuxsA8L2xhYmVsPjwvc3Bhbj4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1zdGFuZCAtLT48IS0tIC9kY21wLWNvbnRlbnQgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtbW9vZCI+DQoJCQkJCQkJCQk8c3Ryb25nPrHtx+k6PC9zdHJvbmc+DQoJCQkJCQkJCQk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc2JyBjaGVja2VkPSIxIiAvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC02LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNCcvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC00LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0zLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC01LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMicvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0yLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0xLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC03LmdpZiIgLz48L2xpPg0KCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1tb29kIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXBvc3QiPjwhLS3OtLXHwr0tLT4NCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdXNlcmluZm8iIGlkPSJfYWpheF9mZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJ0enWpMLrOjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd2YWxpZGF0ZScgc2l6ZT0nNCcgY2xhc3M9J2lwdC10eHQnIC8+PGltZyBzcmM9Ii9pbmNsdWRlL3ZkaW1nY2sucGhwIiBpZD0idmFsaWRhdGVpbWciIHN0eWxlPSJjdXJzb3I6cG9pbnRlciIgb25jbGljaz0idGhpcy5zcmM9dGhpcy5zcmMrJz8nIiB0aXRsZT0iteO7987SuPy7u828xqwiIGFsdD0iteO7987SuPy7u828xqwiIC8+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3R1c2VyIiBpZD0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+xOTD+z8gPC9sYWJlbD4NCgkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgCQkJCQkJCQ0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1zdWJtaXQiPg0KCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBvbkNsaWNrPSdjaGVja1N1Ym1pdCgpJz63orHtxsDC2zwvYnV0dG9uPg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Zvcm0+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnRfcG9zdCAtLT4NCgkJCQkJPC9kZD4NCgkJCQk8L2RsPg0KCQk8L2Rpdj48IS0tIGNvbW1lbnQgLS0+CSAgICAgIA0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPCEtLdbQvOS94cr4LS0+DQogICAgPGRpdiBjbGFzcz0iYm9va19mb290ZXIiPg0KICAgIAlQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVkZWNtcy5jb20vIj5EZWRlQ21zIFY1N19HQks8L2E+ICZjb3B5OyAyMDA0LTIwMTEgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVzZGV2LmNuLyI+RGVzRGV2IEluYy48L2E+PGJyIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgIDwvZGl2Pg0KDQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+scbJz8G6yb0gLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgtPK3qMrHt/HI9sj2tam3qMj2tam3osj2tdi3vbCiy7m3osn6tPO3+bCiy7m3trXCyPggIj4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib3h5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0nL2luY2x1ZGUvZGVkZWFqYXgyLmpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL3N0YXJzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL2pxdWVyeS5ib3h5LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IA0KCSAgJCgiLmJveHkiKS5ib3h5KCk7DQogIH0pDQpmdW5jdGlvbiBTaG93U3RhckluZm8oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfc3RhcmluZm8nKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MSZhamF4dHlwZT1pbmZvIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBTaG93cmF0aW5nKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3JhdGluZycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD0xIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2xvZ2luc3RhLnBocCIpOw0KICBteWFqYXggPSBudWxsOw0KfQ0KZnVuY3Rpb24gY2hlY2tTdWJtaXQoKXsNCglpZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPScnKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsNCgllbHNlIGFsZXJ0KCLGwMLbxNrI3bK7xNzOqr/Vo6EiKTsNCn0NCmZ1bmN0aW9uIHBvc3RCYWRHb29kKGZ0eXBlLGZpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrZmlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdiYWRnb29kaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCXZhciBzYXZlaWRzID0gc2F2ZWlkLnNwbGl0KCcsJyk7DQoJCXZhciBoYXNpZCA9IGZhbHNlOw0KCQlzYXZlaWQgPSAnJzsNCgkJaiA9IDE7DQoJCWZvcihpPXNhdmVpZHMubGVuZ3RoLTE7aT49MDtpLS0pDQoJCXsNCgkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCQllbHNlIHsNCgkJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCQkJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJCQlqKys7DQoJCQkJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkJCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJCX0NCgkJfQ0KCQlpZihoYXNpZCkgeyBhbGVydCgnxPq41bLF0tGx7b72uf3By+C4o6EnKTsgcmV0dXJuIGZhbHNlO30NCgkJZWxzZSBzYXZlaWQgKz0gJywnK2ZpZDsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLGZpZCwxKTsNCgl9DQoJbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQoJbXlhamF4LlNlbmRHZXQyKCIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0iK2ZpZCsiJmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2xvZ2luLnBocCI+tcfCvDwvYT48L3NwYW4+ILvyIDxzcGFuPjxhIGhyZWY9Ii9tZW1iZXIvaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Jy9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+yP25+tHd0uU8L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0yIj667MKlw848L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgIAkJCTxsaT48YSBocmVmPScvbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoJPCEtLc23sr+94cr4LS0+DQogICAgPCEtLdbQvOS/qsq8LS0+DQogICAgPGRpdiBpZD0ibWFpbiI+DQogICAJICA8ZGl2IGlkPSJib29rX21haW4iPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19pbmRleCI+tbHHsM671sOjujxhIGhyZWY9Ii9ib29rIj7W99KzPC9hPiA+IDxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPiA+ILHGyc/Busm9DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfbGVmdCI+PCEtLdfzsd+/qsq8LS0+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+sb7UwsjIw8XNvMrpDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+zca89s28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2PjwhLS3X87HfveHK+C0tPg0KDQogICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfcmlnaHQiPjwhLS3T0rHfv6rKvC0tPg0KICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbmV3cyI+PCEtLdDCyunJz7zcLS0+DQogICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c190aXRsZSB0aXRsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+zsTVwtDFz6KjujwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9mb3JtMSI+DQogICAgICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2ltZzEiPjxpbWcgc3JjPSIvaW1hZ2VzL2RlZmF1bHRwaWMuZ2lmIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjE2MCIgYWx0PSKxxsnPwbrJvSIvPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV90ZXh0MiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbW1lbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+scbJz8G6yb0gPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGgyPtf31d+jumFkbWluPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgPGgyPuSvwMDBv6O6PHNjcmlwdCBzcmM9Ii9ib29rL2NvdW50Ym9vay5waHA/dmlldz15ZXMmYWlkPTEiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij48L3NjcmlwdD48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsDg0M2jujxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7BrNTYzeqzyaO6wazU2NbQLi4uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsnPvNzKsbzko7oyMDExLTAyLTE3PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxhIGhyZWY9Ii9wbHVzL3N0b3cucGhwP2FpZD0xJnR5cGU9Ym9vayZ0aXRsZT2xxsnPwbrJvSIgdGFyZ2V0PSJfYmxhbmsiPsrVstg8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJydGV4dCI+xsC829Xisb7K6aO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0Ij4NCiAgICAgICAgICAgICAgCQkJCQkgICA8ZGl2IGlkPSJfcmF0aW5nIiBzdHlsZT0icGFkZGluZy10b3A6IDJweDsiPjwvZGl2Pg0KCQkJIAkJCQkJICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93cmF0aW5nKCk7PC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iX3N0YXJpbmZvIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd1N0YXJJbmZvKCk7PC9zY3JpcHQ+IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz7X7tDC1cK92qO6PC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfdGl0bGUiPs28yum96cnco7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zZ2FyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+DQoJtPK3qMrHt/HI9sj2tam3qMj2tam3osj2tdi3vbCiy7m3osn6tPO3+bCiy7m3trXCyPg8L3A+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX2xpc3R0YWJsZSI+1cK92sHQse2jug0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIDwhLS0gY29tbWVudC0tPg0KCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0OyAiPgkNCgkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQk8ZHQ+DQoJCQkJCQk8c3Ryb25nPtfu0MLGwMLbPC9zdHJvbmc+DQoJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MSI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgIDwvZHQ+DQoJCQkJCTxkZD4NCgkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudCI+DQoJCQkJCQk8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0iL3BsdXMvYm9va2ZlZWRiYWNrX2pzLnBocD9haWQ9MSI+PC9zY3JpcHQ+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnQgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJCTwvZGw+DQoJCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCQk8ZHQ+DQoJCQkJCQkJPHN0cm9uZz63orHtxsDC2zwvc3Ryb25nPg0KCQkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0xIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KCQkJCQkgIDwvZHQ+DQoJCQkJCQk8ZGQ+DQoJCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50X3Bvc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHAiIG1ldGhvZD0icG9zdCIgbmFtZT0iZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJzZW5kIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb210eXBlIiB2YWx1ZT0iY29tbWVudHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhaWQiIHZhbHVlPSIxIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpc2NvbmZpcm0iIHZhbHVlPSJ5ZXMiIC8+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdGl0bGUiPg0KCQkJCQkJCQkJPHNtYWxsPsfr19S+9dfxyti7pcGqzfjP4LnYtcTV/rLft6i55qOs0c+9+7eisrzJq8fpoaKxqcGmoaK3tLavtcTR1MLboaM8L3NtYWxsPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXRpdGxlIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLWNvbnRlbnQiPg0KCQkJCQkJCQkgIDx0ZXh0YXJlYSBjb2xzPSI2MCIgbmFtZT0ibXNnIiByb3dzPSI1Ij48L3RleHRhcmVhPg0KCQkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGNtcC1zdGFuZCI+DQoJCQkJCQkJCQk8c3Ryb25nPsbAvNs6PC9zdHJvbmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgY2hlY2tlZD0iMSIgdmFsdWU9ImZlZWRiYWNrIiBpZD0iZGNtcC1zdGFuZC1uZXUiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1uZXUiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LW5ldS5naWYiIC8+1tDBojwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9Imdvb2QiIGlkPSJkY21wLXN0YW5kLWdvb2QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1nb29kIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1nb29kLmdpZiIgLz66w8bAPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iYmFkIiBpZD0iZGNtcC1zdGFuZC1iYWQiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1iYWQiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWJhZC5naWYiIC8+su7GwDwvbGFiZWw+PC9zcGFuPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXN0YW5kIC0tPjwhLS0gL2RjbXAtY29udGVudCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1tb29kIj4NCgkJCQkJCQkJCTxzdHJvbmc+se3H6To8L3N0cm9uZz4NCgkJCQkJCQkJCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzYnIGNoZWNrZWQ9IjEiIC8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTYuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc0Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTQuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSczJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTMuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc1Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTUuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScyJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTIuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScxJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTEuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc3Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTcuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLW1vb2QgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtcG9zdCI+PCEtLc60tcfCvS0tPg0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC11c2VyaW5mbyIgaWQ9Il9hamF4X2ZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJCQnR6dakwus6PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3ZhbGlkYXRlJyBzaXplPSc0JyBjbGFzcz0naXB0LXR4dCcgLz48aW1nIHNyYz0iL2luY2x1ZGUvdmRpbWdjay5waHAiIGlkPSJ2YWxpZGF0ZWltZyIgc3R5bGU9ImN1cnNvcjpwb2ludGVyIiBvbmNsaWNrPSJ0aGlzLnNyYz10aGlzLnNyYysnPyciIHRpdGxlPSK147v3ztK4/Lu7zbzGrCIgYWx0PSK147v3ztK4/Lu7zbzGrCIgLz4NCiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdHVzZXIiIGlkPSJkY21wLXN1Ym1pdC1ndWVzdCIgLz48bGFiZWwgZm9yPSJkY21wLXN1Ym1pdC1ndWVzdCIgLz7E5MP7PyA8L2xhYmVsPg0KCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAJCQkJCQkJDQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXN1Ym1pdCI+DQoJCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uQ2xpY2s9J2NoZWNrU3VibWl0KCknPreise3GwMLbPC9idXR0b24+DQoJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZm9ybT4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudF9wb3N0IC0tPg0KCQkJCQk8L2RkPg0KCQkJCTwvZGw+DQoJCTwvZGl2PjwhLS0gY29tbWVudCAtLT4JICAgICAgDQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8IS0t1tC85L3hyvgtLT4NCiAgICA8ZGl2IGNsYXNzPSJib29rX2Zvb3RlciI+DQogICAgCVBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5kZWRlY21zLmNvbS8iPkRlZGVDbXMgVjU3X0dCSzwvYT4gJmNvcHk7IDIwMDQtMjAxMSAgPGEgaHJlZj0iaHR0cDovL3d3dy5kZXNkZXYuY24vIj5EZXNEZXYgSW5jLjwvYT48YnIgLz4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgPC9kaXY+DQoNCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+scbJz8G6yc8gLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgtPPPw7eoyPa1qbeiyfq087eoyPa1qbeiyfq087f5yPa12Le9ICI+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm94eS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyBzcmM9Jy9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvai5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9zdGFycy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qcXVlcnkuYm94eS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyANCgkgICQoIi5ib3h5IikuYm94eSgpOw0KICB9KQ0KZnVuY3Rpb24gU2hvd1N0YXJJbmZvKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3N0YXJpbmZvJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPTQmYWpheHR5cGU9aW5mbyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gU2hvd3JhdGluZygpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19yYXRpbmcnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9NCIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gQ2hlY2tMb2dpbigpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2tfd2VsY29tZScpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCIiLCIiLCIiKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9sb2dpbnN0YS5waHAiKTsNCiAgbXlhamF4ID0gbnVsbDsNCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCl7DQoJaWYoZG9jdW1lbnQuZmVlZGJhY2subXNnLnZhbHVlIT0nJykgZG9jdW1lbnQuZmVlZGJhY2suc3VibWl0KCk7DQoJZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7DQp9DQpmdW5jdGlvbiBwb3N0QmFkR29vZChmdHlwZSxmaWQpDQp7DQoJdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZ0eXBlK2ZpZCk7DQoJdmFyIHNhdmVpZCA9IEdldENvb2tpZSgnYmFkZ29vZGlkJyk7DQoJaWYoc2F2ZWlkICE9IG51bGwpDQoJew0KCQl2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQl2YXIgaGFzaWQgPSBmYWxzZTsNCgkJc2F2ZWlkID0gJyc7DQoJCWogPSAxOw0KCQlmb3IoaT1zYXZlaWRzLmxlbmd0aC0xO2k+PTA7aS0tKQ0KCQl7DQoJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgaGFzaWQpIGNvbnRpbnVlOw0KCQkJZWxzZSB7DQoJCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmICFoYXNpZCkgaGFzaWQgPSB0cnVlOw0KCQkJCXNhdmVpZCArPSAoc2F2ZWlkPT0nJyA/IHNhdmVpZHNbaV0gOiAnLCcrc2F2ZWlkc1tpXSk7DQoJCQkJaisrOw0KCQkJCWlmKGo9PTEwICYmIGhhc2lkKSBicmVhazsNCgkJCQlpZihqPT05ICYmICFoYXNpZCkgYnJlYWs7DQoJCQl9DQoJCX0NCgkJaWYoaGFzaWQpIHsgYWxlcnQoJ8T6uNWyxdLRse2+9rn9wcvguKOhJyk7IHJldHVybiBmYWxzZTt9DQoJCWVsc2Ugc2F2ZWlkICs9ICcsJytmaWQ7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxzYXZlaWQsMSk7DQoJfQ0KCWVsc2UNCgl7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxmaWQsMSk7DQoJfQ0KCW15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KCW15YWpheC5TZW5kR2V0MigiL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9IitmaWQrIiZhY3Rpb249IitmdHlwZSsiJmZpZD0iK2ZpZCk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPGxpbmsgaHJlZj0iLi4vLi4vaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0iL21lbWJlci9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT48L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX3RvcGltZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGJnIj4NCiAgICAgICAgCQk8ZGl2IGlkPSJib29rX2xvZ28iPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfYmFubmVyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgIAk8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va19tZW51YmciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19tZW51Ij4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2dvIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPScvYm9vayc+1vfSszwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPrrswqXDzjwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPsj9ufrR3dLlPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAJCQk8bGk+PGEgaHJlZj0nL21lbWJlcic+u+HUsdbQ0MQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KCTwhLS3Nt7K/veHK+C0tPg0KICAgIDwhLS3W0Lzkv6rKvC0tPg0KICAgIDxkaXYgaWQ9Im1haW4iPg0KICAgCSAgPGRpdiBpZD0iYm9va19tYWluIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfaW5kZXgiPrWxx7DOu9bDo7o8YSBocmVmPSIvYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD00Ij7I/bn60d3S5TwvYT4gPiCxxsnPwbrJzw0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJib29rX2xlZnQiPjwhLS3X87Hfv6rKvC0tPg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPrG+1MLIyMPFzbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPs3GvPbNvMrpDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+19y147v3xcXQ0A0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KCQkgIAkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj48IS0t1/Ox373hyvgtLT4NCg0KICAgICAgICAgIAk8ZGl2IGlkPSJib29rX3JpZ2h0Ij48IS0t09Kx37+qyrwtLT4NCiAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX25ld3MiPjwhLS3Qwsrpyc+83C0tPg0KICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3NfdGl0bGUgdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPs7E1cLQxc+io7o8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfZm9ybTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9pbWcxIj48aW1nIHNyYz0iL2ltYWdlcy9kZWZhdWx0cGljLmdpZiIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxNjAiIGFsdD0iscbJz8G6yc8iLz48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfdGV4dDIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21tZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPrHGyc/BusnPIDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCTxoMj7X99Xfo7phZG1pbjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgIDxoMj7kr8DAwb+jujxzY3JpcHQgc3JjPSIvYm9vay9jb3VudGJvb2sucGhwP3ZpZXc9eWVzJmFpZD00IiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7A4NDNo7o8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD00Ij7I/bn60d3S5TwvYT48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wazU2M3qs8mjusGs1NjW0C4uLjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7Jz7zcyrG85KO6MjAxMS0wMi0xNzwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YSBocmVmPSIvcGx1cy9zdG93LnBocD9haWQ9NCZ0eXBlPWJvb2smdGl0bGU9scbJz8G6yc8iIHRhcmdldD0iX2JsYW5rIj7K1bLYPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icnRleHQiPsbAvNvV4rG+yumjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdCI+DQogICAgICAgICAgICAgIAkJCQkJICAgPGRpdiBpZD0iX3JhdGluZyIgc3R5bGU9InBhZGRpbmctdG9wOiAycHg7Ij48L2Rpdj4NCgkJCSAJCQkJCSAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd3JhdGluZygpOzwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Il9zdGFyaW5mbyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dTdGFySW5mbygpOzwvc2NyaXB0PiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+1+7QwtXCvdqjujwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RpdGxlIj7NvMrpvenJ3KO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2dhcmVhIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPg0KCbTzz8O3qMj2tam3osn6tPO3qMj2tam3osn6tPO3+cj2tdi3vTwvcD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfbGlzdHRhYmxlIj7Vwr3awdCx7aO6DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgPCEtLSBjb21tZW50LS0+DQoJCQk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7ICI+CQ0KCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCTxkdD4NCgkJCQkJCTxzdHJvbmc+1+7QwsbAwts8L3N0cm9uZz4NCgkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD00Ij6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgPC9kdD4NCgkJCQkJPGRkPg0KCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50Ij4NCgkJCQkJCTxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSIvcGx1cy9ib29rZmVlZGJhY2tfanMucGhwP2FpZD00Ij48L3NjcmlwdD4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudCAtLT4NCgkJCQkJPC9kZD4NCgkJCQkJPC9kbD4NCgkJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJCTxkdD4NCgkJCQkJCQk8c3Ryb25nPreise3GwMLbPC9zdHJvbmc+DQoJCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTQiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQoJCQkJCSAgPC9kdD4NCgkJCQkJCTxkZD4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnRfcG9zdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocCIgbWV0aG9kPSJwb3N0IiBuYW1lPSJmZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InNlbmQiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbXR5cGUiIHZhbHVlPSJjb21tZW50cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFpZCIgdmFsdWU9IjQiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC10aXRsZSI+DQoJCQkJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtY29udGVudCI+DQoJCQkJCQkJCSAgPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiPjwvdGV4dGFyZWE+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iZ29vZCIgaWQ9ImRjbXAtc3RhbmQtZ29vZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWdvb2QiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWdvb2QuZ2lmIiAvPrrDxsA8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJiYWQiIGlkPSJkY21wLXN0YW5kLWJhZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWJhZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtYmFkLmdpZiIgLz6y7sbAPC9sYWJlbD48L3NwYW4+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtc3RhbmQgLS0+PCEtLSAvZGNtcC1jb250ZW50IC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLW1vb2QiPg0KCQkJCQkJCQkJPHN0cm9uZz6x7cfpOjwvc3Ryb25nPg0KCQkJCQkJCQkJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzcnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNy5naWYiIC8+PC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtbW9vZCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1wb3N0Ij48IS0tzrS1x8K9LS0+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXVzZXJpbmZvIiBpZD0iX2FqYXhfZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJCdHp1qTC6zo8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndmFsaWRhdGUnIHNpemU9JzQnIGNsYXNzPSdpcHQtdHh0JyAvPjxpbWcgc3JjPSIvaW5jbHVkZS92ZGltZ2NrLnBocCIgaWQ9InZhbGlkYXRlaW1nIiBzdHlsZT0iY3Vyc29yOnBvaW50ZXIiIG9uY2xpY2s9InRoaXMuc3JjPXRoaXMuc3JjKyc/JyIgdGl0bGU9IrXju/fO0rj8u7vNvMasIiBhbHQ9IrXju/fO0rj8u7vNvMasIiAvPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90dXNlciIgaWQ9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPsTkw/s/IDwvbGFiZWw+DQoJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgIAkJCQkJCQkNCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtc3VibWl0Ij4NCgkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0nY2hlY2tTdWJtaXQoKSc+t6Kx7cbAwts8L2J1dHRvbj4NCgkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9mb3JtPg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50X3Bvc3QgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJPC9kbD4NCgkJPC9kaXY+PCEtLSBjb21tZW50IC0tPgkgICAgICANCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwhLS3W0LzkveHK+C0tPg0KICAgIDxkaXYgY2xhc3M9ImJvb2tfZm9vdGVyIj4NCiAgICAJUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyBWNTdfR0JLPC9hPiAmY29weTsgMjAwNC0yMDExICA8YSBocmVmPSJodHRwOi8vd3d3LmRlc2Rldi5jbi8iPkRlc0RldiBJbmMuPC9hPjxiciAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+REFGU0ZBU0QgLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgRkFTREZTQURGICI+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm94eS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyBzcmM9Jy9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvai5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9zdGFycy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qcXVlcnkuYm94eS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyANCgkgICQoIi5ib3h5IikuYm94eSgpOw0KICB9KQ0KZnVuY3Rpb24gU2hvd1N0YXJJbmZvKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3N0YXJpbmZvJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPTMmYWpheHR5cGU9aW5mbyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gU2hvd3JhdGluZygpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19yYXRpbmcnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gQ2hlY2tMb2dpbigpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2tfd2VsY29tZScpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCIiLCIiLCIiKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9sb2dpbnN0YS5waHAiKTsNCiAgbXlhamF4ID0gbnVsbDsNCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCl7DQoJaWYoZG9jdW1lbnQuZmVlZGJhY2subXNnLnZhbHVlIT0nJykgZG9jdW1lbnQuZmVlZGJhY2suc3VibWl0KCk7DQoJZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7DQp9DQpmdW5jdGlvbiBwb3N0QmFkR29vZChmdHlwZSxmaWQpDQp7DQoJdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZ0eXBlK2ZpZCk7DQoJdmFyIHNhdmVpZCA9IEdldENvb2tpZSgnYmFkZ29vZGlkJyk7DQoJaWYoc2F2ZWlkICE9IG51bGwpDQoJew0KCQl2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQl2YXIgaGFzaWQgPSBmYWxzZTsNCgkJc2F2ZWlkID0gJyc7DQoJCWogPSAxOw0KCQlmb3IoaT1zYXZlaWRzLmxlbmd0aC0xO2k+PTA7aS0tKQ0KCQl7DQoJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgaGFzaWQpIGNvbnRpbnVlOw0KCQkJZWxzZSB7DQoJCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmICFoYXNpZCkgaGFzaWQgPSB0cnVlOw0KCQkJCXNhdmVpZCArPSAoc2F2ZWlkPT0nJyA/IHNhdmVpZHNbaV0gOiAnLCcrc2F2ZWlkc1tpXSk7DQoJCQkJaisrOw0KCQkJCWlmKGo9PTEwICYmIGhhc2lkKSBicmVhazsNCgkJCQlpZihqPT05ICYmICFoYXNpZCkgYnJlYWs7DQoJCQl9DQoJCX0NCgkJaWYoaGFzaWQpIHsgYWxlcnQoJ8T6uNWyxdLRse2+9rn9wcvguKOhJyk7IHJldHVybiBmYWxzZTt9DQoJCWVsc2Ugc2F2ZWlkICs9ICcsJytmaWQ7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxzYXZlaWQsMSk7DQoJfQ0KCWVsc2UNCgl7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxmaWQsMSk7DQoJfQ0KCW15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KCW15YWpheC5TZW5kR2V0MigiL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9IitmaWQrIiZhY3Rpb249IitmdHlwZSsiJmZpZD0iK2ZpZCk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPGxpbmsgaHJlZj0iLi4vLi4vaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0iL21lbWJlci9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT48L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX3RvcGltZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGJnIj4NCiAgICAgICAgCQk8ZGl2IGlkPSJib29rX2xvZ28iPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfYmFubmVyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgIAk8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va19tZW51YmciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19tZW51Ij4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2dvIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPScvYm9vayc+1vfSszwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPrrswqXDzjwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPsj9ufrR3dLlPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAJCQk8bGk+PGEgaHJlZj0nL21lbWJlcic+u+HUsdbQ0MQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KCTwhLS3Nt7K/veHK+C0tPg0KICAgIDwhLS3W0Lzkv6rKvC0tPg0KICAgIDxkaXYgaWQ9Im1haW4iPg0KICAgCSAgPGRpdiBpZD0iYm9va19tYWluIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfaW5kZXgiPrWxx7DOu9bDo7o8YSBocmVmPSIvYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0zIj667MKlw848L2E+ID4gREFGU0ZBU0QNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va19sZWZ0Ij48IS0t1/Ox37+qyrwtLT4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj6xvtTCyMjDxc28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCgkJCQkJCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9ob25nbG91bWVuZ2RpeWl6aGFuZ2ppZS0xLmh0bWwnPrrswqXDzrXa0rvVwr3aPC9hPjwvbGk+DQoJCQkJCQkJDQoJCQkJCQkJPGxpPjxhIGhyZWY9Jy9ib29rLzEvaG9uZ2xvdW1lbmdkaWVyemhhbmctMi5odG1sJz667MKlw8612rb+1cI8L2E+PC9saT4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7Nxrz2zbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPtfcteO798XF0NANCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCgkJICAJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAJCTxsaT48YSBocmVmPScvYm9vay8xL2hvbmdsb3VtZW5nZGl5aXpoYW5namllLTEuaHRtbCc+uuzCpcPOtdrSu9XCvdo8L2E+PC9saT4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9ob25nbG91bWVuZ2RpZXJ6aGFuZy0yLmh0bWwnPrrswqXDzrXatv7VwjwvYT48L2xpPg0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7OxNXC0MXPoqO6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2Zvcm0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nMSI+PGltZyBzcmM9Ii9pbWFnZXMvZGVmYXVsdHBpYy5naWYiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTYwIiBhbHQ9IkRBRlNGQVNEIi8+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5EQUZTRkFTRCA8L2gxPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAk8aDI+1/fV36O6YWRtaW48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICA8aDI+5K/AwMG/o7o8c2NyaXB0IHNyYz0iL2Jvb2svY291bnRib29rLnBocD92aWV3PXllcyZhaWQ9MyIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPjwvc2NyaXB0PjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wODQzaO6PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MyI+uuzCpcPOPC9hPjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7BrNTYzeqzyaO6wazU2NbQLi4uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsnPvNzKsbzko7oyMDExLTAyLTE2PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxhIGhyZWY9Ii9wbHVzL3N0b3cucGhwP2FpZD0zJnR5cGU9Ym9vayZ0aXRsZT1EQUZTRkFTRCIgdGFyZ2V0PSJfYmxhbmsiPsrVstg8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJydGV4dCI+xsC829Xisb7K6aO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0Ij4NCiAgICAgICAgICAgICAgCQkJCQkgICA8ZGl2IGlkPSJfcmF0aW5nIiBzdHlsZT0icGFkZGluZy10b3A6IDJweDsiPjwvZGl2Pg0KCQkJIAkJCQkJICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93cmF0aW5nKCk7PC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iX3N0YXJpbmZvIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd1N0YXJJbmZvKCk7PC9zY3JpcHQ+IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz7X7tDC1cK92qO6PC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfdGl0bGUiPs28yum96cnco7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zZ2FyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+DQoJRkFTREZTQURGPC9wPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV9saXN0dGFibGUiPtXCvdrB0LHto7oNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICA8IS0tIGNvbW1lbnQtLT4NCgkJCTxkaXYgc3R5bGU9InRleHQtYWxpZ246bGVmdDsgIj4JDQoJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJPGR0Pg0KCQkJCQkJPHN0cm9uZz7X7tDCxsDC2zwvc3Ryb25nPg0KCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTMiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICA8L2R0Pg0KCQkJCQk8ZGQ+DQoJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnQiPg0KCQkJCQkJPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9Ii9wbHVzL2Jvb2tmZWVkYmFja19qcy5waHA/YWlkPTMiPjwvc2NyaXB0Pg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50IC0tPg0KCQkJCQk8L2RkPg0KCQkJCQk8L2RsPg0KCQkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQkJPGR0Pg0KCQkJCQkJCTxzdHJvbmc+t6Kx7cbAwts8L3N0cm9uZz4NCgkJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MyI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCgkJCQkJICA8L2R0Pg0KCQkJCQkJPGRkPg0KCQkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudF9wb3N0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwIiBtZXRob2Q9InBvc3QiIG5hbWU9ImZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0ic2VuZCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29tdHlwZSIgdmFsdWU9ImNvbW1lbnRzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWlkIiB2YWx1ZT0iMyIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaXNjb25maXJtIiB2YWx1ZT0ieWVzIiAvPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXRpdGxlIj4NCgkJCQkJCQkJCTxzbWFsbD7H69fUvvXX8crYu6XBqs34z+C52LXE1f6y37eoueajrNHPvfu3orK8yavH6aGisanBpqGit7S2r7XE0dTC26GjPC9zbWFsbD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC10aXRsZSAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1jb250ZW50Ij4NCgkJCQkJCQkJICA8dGV4dGFyZWEgY29scz0iNjAiIG5hbWU9Im1zZyIgcm93cz0iNSI+PC90ZXh0YXJlYT4NCgkJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRjbXAtc3RhbmQiPg0KCQkJCQkJCQkJPHN0cm9uZz7GwLzbOjwvc3Ryb25nPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIGNoZWNrZWQ9IjEiIHZhbHVlPSJmZWVkYmFjayIgaWQ9ImRjbXAtc3RhbmQtbmV1IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtbmV1Ij48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1uZXUuZ2lmIiAvPtbQwaI8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJnb29kIiBpZD0iZGNtcC1zdGFuZC1nb29kIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtZ29vZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtZ29vZC5naWYiIC8+usPGwDwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9ImJhZCIgaWQ9ImRjbXAtc3RhbmQtYmFkIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtYmFkIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1iYWQuZ2lmIiAvPrLuxsA8L2xhYmVsPjwvc3Bhbj4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1zdGFuZCAtLT48IS0tIC9kY21wLWNvbnRlbnQgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtbW9vZCI+DQoJCQkJCQkJCQk8c3Ryb25nPrHtx+k6PC9zdHJvbmc+DQoJCQkJCQkJCQk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc2JyBjaGVja2VkPSIxIiAvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC02LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNCcvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC00LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0zLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC01LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMicvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0yLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0xLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC03LmdpZiIgLz48L2xpPg0KCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1tb29kIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXBvc3QiPjwhLS3OtLXHwr0tLT4NCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdXNlcmluZm8iIGlkPSJfYWpheF9mZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJ0enWpMLrOjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd2YWxpZGF0ZScgc2l6ZT0nNCcgY2xhc3M9J2lwdC10eHQnIC8+PGltZyBzcmM9Ii9pbmNsdWRlL3ZkaW1nY2sucGhwIiBpZD0idmFsaWRhdGVpbWciIHN0eWxlPSJjdXJzb3I6cG9pbnRlciIgb25jbGljaz0idGhpcy5zcmM9dGhpcy5zcmMrJz8nIiB0aXRsZT0iteO7987SuPy7u828xqwiIGFsdD0iteO7987SuPy7u828xqwiIC8+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3R1c2VyIiBpZD0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+xOTD+z8gPC9sYWJlbD4NCgkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgCQkJCQkJCQ0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1zdWJtaXQiPg0KCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBvbkNsaWNrPSdjaGVja1N1Ym1pdCgpJz63orHtxsDC2zwvYnV0dG9uPg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Zvcm0+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnRfcG9zdCAtLT4NCgkJCQkJPC9kZD4NCgkJCQk8L2RsPg0KCQk8L2Rpdj48IS0tIGNvbW1lbnQgLS0+CSAgICAgIA0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPCEtLdbQvOS94cr4LS0+DQogICAgPGRpdiBjbGFzcz0iYm9va19mb290ZXIiPg0KICAgIAlQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVkZWNtcy5jb20vIj5EZWRlQ21zIFY1N19HQks8L2E+ICZjb3B5OyAyMDA0LTIwMTEgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVzZGV2LmNuLyI+RGVzRGV2IEluYy48L2E+PGJyIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgIDwvZGl2Pg0KDQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+ZGFzZnNhZCAtIM7StcTN+NW+PC90aXRsZT4NCjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSIiPg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiBmc2FkZmFkc2Zhc2RmYXNkICI+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm94eS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyBzcmM9Jy9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvai5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9zdGFycy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qcXVlcnkuYm94eS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyANCgkgICQoIi5ib3h5IikuYm94eSgpOw0KICB9KQ0KZnVuY3Rpb24gU2hvd1N0YXJJbmZvKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3N0YXJpbmZvJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPTImYWpheHR5cGU9aW5mbyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gU2hvd3JhdGluZygpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19yYXRpbmcnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MiIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gQ2hlY2tMb2dpbigpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2tfd2VsY29tZScpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCIiLCIiLCIiKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9sb2dpbnN0YS5waHAiKTsNCiAgbXlhamF4ID0gbnVsbDsNCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCl7DQoJaWYoZG9jdW1lbnQuZmVlZGJhY2subXNnLnZhbHVlIT0nJykgZG9jdW1lbnQuZmVlZGJhY2suc3VibWl0KCk7DQoJZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7DQp9DQpmdW5jdGlvbiBwb3N0QmFkR29vZChmdHlwZSxmaWQpDQp7DQoJdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZ0eXBlK2ZpZCk7DQoJdmFyIHNhdmVpZCA9IEdldENvb2tpZSgnYmFkZ29vZGlkJyk7DQoJaWYoc2F2ZWlkICE9IG51bGwpDQoJew0KCQl2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQl2YXIgaGFzaWQgPSBmYWxzZTsNCgkJc2F2ZWlkID0gJyc7DQoJCWogPSAxOw0KCQlmb3IoaT1zYXZlaWRzLmxlbmd0aC0xO2k+PTA7aS0tKQ0KCQl7DQoJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgaGFzaWQpIGNvbnRpbnVlOw0KCQkJZWxzZSB7DQoJCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmICFoYXNpZCkgaGFzaWQgPSB0cnVlOw0KCQkJCXNhdmVpZCArPSAoc2F2ZWlkPT0nJyA/IHNhdmVpZHNbaV0gOiAnLCcrc2F2ZWlkc1tpXSk7DQoJCQkJaisrOw0KCQkJCWlmKGo9PTEwICYmIGhhc2lkKSBicmVhazsNCgkJCQlpZihqPT05ICYmICFoYXNpZCkgYnJlYWs7DQoJCQl9DQoJCX0NCgkJaWYoaGFzaWQpIHsgYWxlcnQoJ8T6uNWyxdLRse2+9rn9wcvguKOhJyk7IHJldHVybiBmYWxzZTt9DQoJCWVsc2Ugc2F2ZWlkICs9ICcsJytmaWQ7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxzYXZlaWQsMSk7DQoJfQ0KCWVsc2UNCgl7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxmaWQsMSk7DQoJfQ0KCW15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KCW15YWpheC5TZW5kR2V0MigiL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9IitmaWQrIiZhY3Rpb249IitmdHlwZSsiJmZpZD0iK2ZpZCk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPGxpbmsgaHJlZj0iLi4vLi4vaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0iL21lbWJlci9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT48L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX3RvcGltZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGJnIj4NCiAgICAgICAgCQk8ZGl2IGlkPSJib29rX2xvZ28iPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfYmFubmVyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgIAk8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va19tZW51YmciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19tZW51Ij4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2dvIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPScvYm9vayc+1vfSszwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MiI+uuzCpcPOPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAJCQk8bGk+PGEgaHJlZj0nL21lbWJlcic+u+HUsdbQ0MQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KCTwhLS3Nt7K/veHK+C0tPg0KICAgIDwhLS3W0Lzkv6rKvC0tPg0KICAgIDxkaXYgaWQ9Im1haW4iPg0KICAgCSAgPGRpdiBpZD0iYm9va19tYWluIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfaW5kZXgiPrWxx7DOu9bDo7o8YSBocmVmPSIvYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0yIj7I/bn60d3S5TwvYT4gPiBkYXNmc2FkDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfbGVmdCI+PCEtLdfzsd+/qsq8LS0+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+sb7UwsjIw8XNvMrpDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAJDQoJCQkJCQkJPGxpPjxhIGhyZWY9Jy9ib29rLzEvYmlzaGFuZ2xpYW5nc2hhbi0xLmh0bWwnPrHGyc/Busm9PC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+zca89s28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9iaXNoYW5nbGlhbmdzaGFuLTEuaHRtbCc+scbJz8G6yb08L2E+PC9saT4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2PjwhLS3X87HfveHK+C0tPg0KDQogICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfcmlnaHQiPjwhLS3T0rHfv6rKvC0tPg0KICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbmV3cyI+PCEtLdDCyunJz7zcLS0+DQogICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c190aXRsZSB0aXRsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+zsTVwtDFz6KjujwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9mb3JtMSI+DQogICAgICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2ltZzEiPjxpbWcgc3JjPSIvaW1hZ2VzL2RlZmF1bHRwaWMuZ2lmIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjE2MCIgYWx0PSJkYXNmc2FkIi8+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5kYXNmc2FkIDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCTxoMj7X99Xfo7phZG1pbjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgIDxoMj7kr8DAwb+jujxzY3JpcHQgc3JjPSIvYm9vay9jb3VudGJvb2sucGhwP3ZpZXc9eWVzJmFpZD0yIiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7A4NDNo7o8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0yIj7I/bn60d3S5TwvYT48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wazU2M3qs8mjusGs1NjW0C4uLjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7Jz7zcyrG85KO6MjAxMS0wMi0xNzwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YSBocmVmPSIvcGx1cy9zdG93LnBocD9haWQ9MiZ0eXBlPWJvb2smdGl0bGU9ZGFzZnNhZCIgdGFyZ2V0PSJfYmxhbmsiPsrVstg8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJydGV4dCI+xsC829Xisb7K6aO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0Ij4NCiAgICAgICAgICAgICAgCQkJCQkgICA8ZGl2IGlkPSJfcmF0aW5nIiBzdHlsZT0icGFkZGluZy10b3A6IDJweDsiPjwvZGl2Pg0KCQkJIAkJCQkJICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93cmF0aW5nKCk7PC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iX3N0YXJpbmZvIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd1N0YXJJbmZvKCk7PC9zY3JpcHQ+IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz7X7tDC1cK92qO6PC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfdGl0bGUiPs28yum96cnco7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zZ2FyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+DQoJZnNhZGZhZHNmYXNkZmFzZDwvcD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfbGlzdHRhYmxlIj7Vwr3awdCx7aO6DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgPCEtLSBjb21tZW50LS0+DQoJCQk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7ICI+CQ0KCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCTxkdD4NCgkJCQkJCTxzdHJvbmc+1+7QwsbAwts8L3N0cm9uZz4NCgkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0yIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgPC9kdD4NCgkJCQkJPGRkPg0KCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50Ij4NCgkJCQkJCTxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSIvcGx1cy9ib29rZmVlZGJhY2tfanMucGhwP2FpZD0yIj48L3NjcmlwdD4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudCAtLT4NCgkJCQkJPC9kZD4NCgkJCQkJPC9kbD4NCgkJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJCTxkdD4NCgkJCQkJCQk8c3Ryb25nPreise3GwMLbPC9zdHJvbmc+DQoJCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTIiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQoJCQkJCSAgPC9kdD4NCgkJCQkJCTxkZD4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnRfcG9zdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocCIgbWV0aG9kPSJwb3N0IiBuYW1lPSJmZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InNlbmQiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbXR5cGUiIHZhbHVlPSJjb21tZW50cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFpZCIgdmFsdWU9IjIiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC10aXRsZSI+DQoJCQkJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtY29udGVudCI+DQoJCQkJCQkJCSAgPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiPjwvdGV4dGFyZWE+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iZ29vZCIgaWQ9ImRjbXAtc3RhbmQtZ29vZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWdvb2QiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWdvb2QuZ2lmIiAvPrrDxsA8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJiYWQiIGlkPSJkY21wLXN0YW5kLWJhZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWJhZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtYmFkLmdpZiIgLz6y7sbAPC9sYWJlbD48L3NwYW4+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtc3RhbmQgLS0+PCEtLSAvZGNtcC1jb250ZW50IC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLW1vb2QiPg0KCQkJCQkJCQkJPHN0cm9uZz6x7cfpOjwvc3Ryb25nPg0KCQkJCQkJCQkJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzcnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNy5naWYiIC8+PC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtbW9vZCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1wb3N0Ij48IS0tzrS1x8K9LS0+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXVzZXJpbmZvIiBpZD0iX2FqYXhfZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJCdHp1qTC6zo8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndmFsaWRhdGUnIHNpemU9JzQnIGNsYXNzPSdpcHQtdHh0JyAvPjxpbWcgc3JjPSIvaW5jbHVkZS92ZGltZ2NrLnBocCIgaWQ9InZhbGlkYXRlaW1nIiBzdHlsZT0iY3Vyc29yOnBvaW50ZXIiIG9uY2xpY2s9InRoaXMuc3JjPXRoaXMuc3JjKyc/JyIgdGl0bGU9IrXju/fO0rj8u7vNvMasIiBhbHQ9IrXju/fO0rj8u7vNvMasIiAvPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90dXNlciIgaWQ9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPsTkw/s/IDwvbGFiZWw+DQoJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgIAkJCQkJCQkNCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtc3VibWl0Ij4NCgkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0nY2hlY2tTdWJtaXQoKSc+t6Kx7cbAwts8L2J1dHRvbj4NCgkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9mb3JtPg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50X3Bvc3QgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJPC9kbD4NCgkJPC9kaXY+PCEtLSBjb21tZW50IC0tPgkgICAgICANCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwhLS3W0LzkveHK+C0tPg0KICAgIDxkaXYgY2xhc3M9ImJvb2tfZm9vdGVyIj4NCiAgICAJUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyBWNTdfR0JLPC9hPiAmY29weTsgMjAwNC0yMDExICA8YSBocmVmPSJodHRwOi8vd3d3LmRlc2Rldi5jbi8iPkRlc0RldiBJbmMuPC9hPjxiciAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+ZGFzZnNkYWZzZGEgLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgZmFzZGZzZGFmc2FkICI+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm94eS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyBzcmM9Jy9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvai5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9zdGFycy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qcXVlcnkuYm94eS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyANCgkgICQoIi5ib3h5IikuYm94eSgpOw0KICB9KQ0KZnVuY3Rpb24gU2hvd1N0YXJJbmZvKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3N0YXJpbmZvJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPTMmYWpheHR5cGU9aW5mbyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gU2hvd3JhdGluZygpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19yYXRpbmcnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gQ2hlY2tMb2dpbigpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2tfd2VsY29tZScpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCIiLCIiLCIiKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9sb2dpbnN0YS5waHAiKTsNCiAgbXlhamF4ID0gbnVsbDsNCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCl7DQoJaWYoZG9jdW1lbnQuZmVlZGJhY2subXNnLnZhbHVlIT0nJykgZG9jdW1lbnQuZmVlZGJhY2suc3VibWl0KCk7DQoJZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7DQp9DQpmdW5jdGlvbiBwb3N0QmFkR29vZChmdHlwZSxmaWQpDQp7DQoJdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZ0eXBlK2ZpZCk7DQoJdmFyIHNhdmVpZCA9IEdldENvb2tpZSgnYmFkZ29vZGlkJyk7DQoJaWYoc2F2ZWlkICE9IG51bGwpDQoJew0KCQl2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQl2YXIgaGFzaWQgPSBmYWxzZTsNCgkJc2F2ZWlkID0gJyc7DQoJCWogPSAxOw0KCQlmb3IoaT1zYXZlaWRzLmxlbmd0aC0xO2k+PTA7aS0tKQ0KCQl7DQoJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgaGFzaWQpIGNvbnRpbnVlOw0KCQkJZWxzZSB7DQoJCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmICFoYXNpZCkgaGFzaWQgPSB0cnVlOw0KCQkJCXNhdmVpZCArPSAoc2F2ZWlkPT0nJyA/IHNhdmVpZHNbaV0gOiAnLCcrc2F2ZWlkc1tpXSk7DQoJCQkJaisrOw0KCQkJCWlmKGo9PTEwICYmIGhhc2lkKSBicmVhazsNCgkJCQlpZihqPT05ICYmICFoYXNpZCkgYnJlYWs7DQoJCQl9DQoJCX0NCgkJaWYoaGFzaWQpIHsgYWxlcnQoJ8T6uNWyxdLRse2+9rn9wcvguKOhJyk7IHJldHVybiBmYWxzZTt9DQoJCWVsc2Ugc2F2ZWlkICs9ICcsJytmaWQ7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxzYXZlaWQsMSk7DQoJfQ0KCWVsc2UNCgl7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxmaWQsMSk7DQoJfQ0KCW15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KCW15YWpheC5TZW5kR2V0MigiL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9IitmaWQrIiZhY3Rpb249IitmdHlwZSsiJmZpZD0iK2ZpZCk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPGxpbmsgaHJlZj0iLi4vLi4vaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0iL21lbWJlci9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT48L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX3RvcGltZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGJnIj4NCiAgICAgICAgCQk8ZGl2IGlkPSJib29rX2xvZ28iPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfYmFubmVyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgIAk8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va19tZW51YmciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19tZW51Ij4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2dvIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPScvYm9vayc+1vfSszwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MiI+uuzCpcPOPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAJCQk8bGk+PGEgaHJlZj0nL21lbWJlcic+u+HUsdbQ0MQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KCTwhLS3Nt7K/veHK+C0tPg0KICAgIDwhLS3W0Lzkv6rKvC0tPg0KICAgIDxkaXYgaWQ9Im1haW4iPg0KICAgCSAgPGRpdiBpZD0iYm9va19tYWluIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfaW5kZXgiPrWxx7DOu9bDo7o8YSBocmVmPSIvYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0zIj7I/bn60d3S5TwvYT4gPiBkYXNmc2RhZnNkYQ0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJib29rX2xlZnQiPjwhLS3X87Hfv6rKvC0tPg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPrG+1MLIyMPFzbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KCQkJCQkJCTxsaT48YSBocmVmPScvYm9vay8xL2Jpc2hhbmdsaWFuZ3NoYW4tMS5odG1sJz6xxsnPwbrJvTwvYT48L2xpPg0KCQkJCQkJCQ0KCQkJCQkJCTxsaT48YSBocmVmPScvYm9vay8xL2Rhc2ZzYWQtMi5odG1sJz5kYXNmc2FkPC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+zca89s28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9iaXNoYW5nbGlhbmdzaGFuLTEuaHRtbCc+scbJz8G6yb08L2E+PC9saT4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9kYXNmc2FkLTIuaHRtbCc+ZGFzZnNhZDwvYT48L2xpPg0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7OxNXC0MXPoqO6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2Zvcm0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nMSI+PGltZyBzcmM9Ii9pbWFnZXMvZGVmYXVsdHBpYy5naWYiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTYwIiBhbHQ9ImRhc2ZzZGFmc2RhIi8+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5kYXNmc2RhZnNkYSA8L2gxPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAk8aDI+1/fV36O6YWRtaW48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICA8aDI+5K/AwMG/o7o8c2NyaXB0IHNyYz0iL2Jvb2svY291bnRib29rLnBocD92aWV3PXllcyZhaWQ9MyIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPjwvc2NyaXB0PjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wODQzaO6PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MyI+yP25+tHd0uU8L2E+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsGs1NjN6rPJo7rBrNTY1tAuLi48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+yc+83MqxvOSjujIwMTEtMDItMTc8L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGEgaHJlZj0iL3BsdXMvc3Rvdy5waHA/YWlkPTMmdHlwZT1ib29rJnRpdGxlPWRhc2ZzZGFmc2RhIiB0YXJnZXQ9Il9ibGFuayI+ytWy2DwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJ0ZXh0Ij7GwLzb1eKxvsrpo7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQiPg0KICAgICAgICAgICAgICAJCQkJCSAgIDxkaXYgaWQ9Il9yYXRpbmciIHN0eWxlPSJwYWRkaW5nLXRvcDogMnB4OyI+PC9kaXY+DQoJCQkgCQkJCQkgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dyYXRpbmcoKTs8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJfc3RhcmluZm8iPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93U3RhckluZm8oKTs8L3NjcmlwdD4gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPtfu0MLVwr3ao7o8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV90aXRsZSI+zbzK6b3pydyjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNnYXJlYSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD4NCglmYXNkZnNkYWZzYWQ8L3A+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX2xpc3R0YWJsZSI+1cK92sHQse2jug0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIDwhLS0gY29tbWVudC0tPg0KCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0OyAiPgkNCgkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQk8ZHQ+DQoJCQkJCQk8c3Ryb25nPtfu0MLGwMLbPC9zdHJvbmc+DQoJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MyI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgIDwvZHQ+DQoJCQkJCTxkZD4NCgkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudCI+DQoJCQkJCQk8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0iL3BsdXMvYm9va2ZlZWRiYWNrX2pzLnBocD9haWQ9MyI+PC9zY3JpcHQ+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnQgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJCTwvZGw+DQoJCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCQk8ZHQ+DQoJCQkJCQkJPHN0cm9uZz63orHtxsDC2zwvc3Ryb25nPg0KCQkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0zIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KCQkJCQkgIDwvZHQ+DQoJCQkJCQk8ZGQ+DQoJCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50X3Bvc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHAiIG1ldGhvZD0icG9zdCIgbmFtZT0iZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJzZW5kIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb210eXBlIiB2YWx1ZT0iY29tbWVudHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhaWQiIHZhbHVlPSIzIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpc2NvbmZpcm0iIHZhbHVlPSJ5ZXMiIC8+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdGl0bGUiPg0KCQkJCQkJCQkJPHNtYWxsPsfr19S+9dfxyti7pcGqzfjP4LnYtcTV/rLft6i55qOs0c+9+7eisrzJq8fpoaKxqcGmoaK3tLavtcTR1MLboaM8L3NtYWxsPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXRpdGxlIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLWNvbnRlbnQiPg0KCQkJCQkJCQkgIDx0ZXh0YXJlYSBjb2xzPSI2MCIgbmFtZT0ibXNnIiByb3dzPSI1Ij48L3RleHRhcmVhPg0KCQkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGNtcC1zdGFuZCI+DQoJCQkJCQkJCQk8c3Ryb25nPsbAvNs6PC9zdHJvbmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgY2hlY2tlZD0iMSIgdmFsdWU9ImZlZWRiYWNrIiBpZD0iZGNtcC1zdGFuZC1uZXUiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1uZXUiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LW5ldS5naWYiIC8+1tDBojwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9Imdvb2QiIGlkPSJkY21wLXN0YW5kLWdvb2QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1nb29kIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1nb29kLmdpZiIgLz66w8bAPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iYmFkIiBpZD0iZGNtcC1zdGFuZC1iYWQiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1iYWQiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWJhZC5naWYiIC8+su7GwDwvbGFiZWw+PC9zcGFuPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXN0YW5kIC0tPjwhLS0gL2RjbXAtY29udGVudCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1tb29kIj4NCgkJCQkJCQkJCTxzdHJvbmc+se3H6To8L3N0cm9uZz4NCgkJCQkJCQkJCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzYnIGNoZWNrZWQ9IjEiIC8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTYuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc0Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTQuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSczJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTMuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc1Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTUuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScyJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTIuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScxJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTEuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc3Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTcuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLW1vb2QgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtcG9zdCI+PCEtLc60tcfCvS0tPg0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC11c2VyaW5mbyIgaWQ9Il9hamF4X2ZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJCQnR6dakwus6PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3ZhbGlkYXRlJyBzaXplPSc0JyBjbGFzcz0naXB0LXR4dCcgLz48aW1nIHNyYz0iL2luY2x1ZGUvdmRpbWdjay5waHAiIGlkPSJ2YWxpZGF0ZWltZyIgc3R5bGU9ImN1cnNvcjpwb2ludGVyIiBvbmNsaWNrPSJ0aGlzLnNyYz10aGlzLnNyYysnPyciIHRpdGxlPSK147v3ztK4/Lu7zbzGrCIgYWx0PSK147v3ztK4/Lu7zbzGrCIgLz4NCiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdHVzZXIiIGlkPSJkY21wLXN1Ym1pdC1ndWVzdCIgLz48bGFiZWwgZm9yPSJkY21wLXN1Ym1pdC1ndWVzdCIgLz7E5MP7PyA8L2xhYmVsPg0KCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAJCQkJCQkJDQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXN1Ym1pdCI+DQoJCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uQ2xpY2s9J2NoZWNrU3VibWl0KCknPreise3GwMLbPC9idXR0b24+DQoJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZm9ybT4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudF9wb3N0IC0tPg0KCQkJCQk8L2RkPg0KCQkJCTwvZGw+DQoJCTwvZGl2PjwhLS0gY29tbWVudCAtLT4JICAgICAgDQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8IS0t1tC85L3hyvgtLT4NCiAgICA8ZGl2IGNsYXNzPSJib29rX2Zvb3RlciI+DQogICAgCVBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5kZWRlY21zLmNvbS8iPkRlZGVDbXMgVjU3X0dCSzwvYT4gJmNvcHk7IDIwMDQtMjAxMSAgPGEgaHJlZj0iaHR0cDovL3d3dy5kZXNkZXYuY24vIj5EZXNEZXYgSW5jLjwvYT48YnIgLz4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgPC9kaXY+DQoNCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+tPPPw7nJt91nYXO3osj2tdi3vbeiyPa12Le9yr+087fyt6jI9rWpt6jI9rWpIC0gztK1xM341b48L3RpdGxlPg0KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iILeiyPa12Le9y8S088j2tdi3vbCiy7m22beiyfq087eiyfq088j2yPa12Le9t6jI9rWpt6jI9rWpICI+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm94eS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyBzcmM9Jy9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvai5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9zdGFycy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qcXVlcnkuYm94eS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyANCgkgICQoIi5ib3h5IikuYm94eSgpOw0KICB9KQ0KZnVuY3Rpb24gU2hvd1N0YXJJbmZvKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3N0YXJpbmZvJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPTImYWpheHR5cGU9aW5mbyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gU2hvd3JhdGluZygpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19yYXRpbmcnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MiIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gQ2hlY2tMb2dpbigpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2tfd2VsY29tZScpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCIiLCIiLCIiKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9sb2dpbnN0YS5waHAiKTsNCiAgbXlhamF4ID0gbnVsbDsNCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCl7DQoJaWYoZG9jdW1lbnQuZmVlZGJhY2subXNnLnZhbHVlIT0nJykgZG9jdW1lbnQuZmVlZGJhY2suc3VibWl0KCk7DQoJZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7DQp9DQpmdW5jdGlvbiBwb3N0QmFkR29vZChmdHlwZSxmaWQpDQp7DQoJdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZ0eXBlK2ZpZCk7DQoJdmFyIHNhdmVpZCA9IEdldENvb2tpZSgnYmFkZ29vZGlkJyk7DQoJaWYoc2F2ZWlkICE9IG51bGwpDQoJew0KCQl2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQl2YXIgaGFzaWQgPSBmYWxzZTsNCgkJc2F2ZWlkID0gJyc7DQoJCWogPSAxOw0KCQlmb3IoaT1zYXZlaWRzLmxlbmd0aC0xO2k+PTA7aS0tKQ0KCQl7DQoJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgaGFzaWQpIGNvbnRpbnVlOw0KCQkJZWxzZSB7DQoJCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmICFoYXNpZCkgaGFzaWQgPSB0cnVlOw0KCQkJCXNhdmVpZCArPSAoc2F2ZWlkPT0nJyA/IHNhdmVpZHNbaV0gOiAnLCcrc2F2ZWlkc1tpXSk7DQoJCQkJaisrOw0KCQkJCWlmKGo9PTEwICYmIGhhc2lkKSBicmVhazsNCgkJCQlpZihqPT05ICYmICFoYXNpZCkgYnJlYWs7DQoJCQl9DQoJCX0NCgkJaWYoaGFzaWQpIHsgYWxlcnQoJ8T6uNWyxdLRse2+9rn9wcvguKOhJyk7IHJldHVybiBmYWxzZTt9DQoJCWVsc2Ugc2F2ZWlkICs9ICcsJytmaWQ7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxzYXZlaWQsMSk7DQoJfQ0KCWVsc2UNCgl7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxmaWQsMSk7DQoJfQ0KCW15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KCW15YWpheC5TZW5kR2V0MigiL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9IitmaWQrIiZhY3Rpb249IitmdHlwZSsiJmZpZD0iK2ZpZCk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPGxpbmsgaHJlZj0iLi4vLi4vaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0iL21lbWJlci9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT48L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX3RvcGltZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGJnIj4NCiAgICAgICAgCQk8ZGl2IGlkPSJib29rX2xvZ28iPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfYmFubmVyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgIAk8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va19tZW51YmciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19tZW51Ij4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2dvIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPScvYm9vayc+1vfSszwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAJCQk8bGk+PGEgaHJlZj0nL21lbWJlcic+u+HUsdbQ0MQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KCTwhLS3Nt7K/veHK+C0tPg0KICAgIDwhLS3W0Lzkv6rKvC0tPg0KICAgIDxkaXYgaWQ9Im1haW4iPg0KICAgCSAgPGRpdiBpZD0iYm9va19tYWluIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfaW5kZXgiPrWxx7DOu9bDo7o8YSBocmVmPSIvYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0yIj7I/bn60d3S5TwvYT4gPiC088/Ducm33Wdhc7eiyPa12Le9t6LI9rXYt73Kv7Tzt/K3qMj2tam3qMj2takNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va19sZWZ0Ij48IS0t1/Ox37+qyrwtLT4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj6xvtTCyMjDxc28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCgkJCQkJCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9hZHNmYWFzaWR1bmZhc2hvdWZlaWFzaWR1bi0xLmh0bWwnPmFkc7eisKLLubbZt6LK27fJsKLLubbZPC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+zca89s28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9hZHNmYWFzaWR1bmZhc2hvdWZlaWFzaWR1bi0xLmh0bWwnPmFkc7eisKLLubbZt6LK27fJsKLLubbZPC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj48IS0t1/Ox373hyvgtLT4NCg0KICAgICAgICAgIAk8ZGl2IGlkPSJib29rX3JpZ2h0Ij48IS0t09Kx37+qyrwtLT4NCiAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX25ld3MiPjwhLS3Qwsrpyc+83C0tPg0KICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3NfdGl0bGUgdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPs7E1cLQxc+io7o8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfZm9ybTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9pbWcxIj48aW1nIHNyYz0iL2ltYWdlcy9kZWZhdWx0cGljLmdpZiIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxNjAiIGFsdD0itPPPw7nJt91nYXO3osj2tdi3vbeiyPa12Le9yr+087fyt6jI9rWpt6jI9rWpIi8+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT6088/Ducm33Wdhc7eiyPa12Le9t6LI9rXYt73Kv7Tzt/K3qMj2tam3qMj2takgPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGgyPtf31d+jumFkbWluPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgPGgyPuSvwMDBv6O6PHNjcmlwdCBzcmM9Ii9ib29rL2NvdW50Ym9vay5waHA/dmlldz15ZXMmYWlkPTIiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij48L3NjcmlwdD48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsDg0M2jujxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPsj9ufrR3dLlPC9hPjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7BrNTYzeqzyaO6wazU2NbQLi4uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsnPvNzKsbzko7oyMDExLTAyLTE4PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxhIGhyZWY9Ii9wbHVzL3N0b3cucGhwP2FpZD0yJnR5cGU9Ym9vayZ0aXRsZT2088/Ducm33Wdhc7eiyPa12Le9t6LI9rXYt73Kv7Tzt/K3qMj2tam3qMj2takiIHRhcmdldD0iX2JsYW5rIj7K1bLYPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icnRleHQiPsbAvNvV4rG+yumjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdCI+DQogICAgICAgICAgICAgIAkJCQkJICAgPGRpdiBpZD0iX3JhdGluZyIgc3R5bGU9InBhZGRpbmctdG9wOiAycHg7Ij48L2Rpdj4NCgkJCSAJCQkJCSAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd3JhdGluZygpOzwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Il9zdGFyaW5mbyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dTdGFySW5mbygpOzwvc2NyaXB0PiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+1+7QwtXCvdqjujxhIGhyZWY9Jy9ib29rL3N0b3J5LnBocD9pZD0yJz627s3iyMi088m1uc+45svfttS3vTwvYT48L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV90aXRsZSI+zbzK6b3pydyjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNnYXJlYSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD4NCgm3osj2tdi3vcvEtPPI9rXYt72wosu5ttm3osn6tPO3osn6tPPI9sj2tdi3vbeoyPa1qbeoyPa1qTwvcD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfbGlzdHRhYmxlIj7Vwr3awdCx7aO6DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV90ZXh0dGFibGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RleHR0aXRsZSI+tdox1cIgxKzIz9XCvdoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX2xpc3R0ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGwgaWQ9ImNoYXB0ZXJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+PGEgaHJlZj0iL2Jvb2svc3RvcnkucGhwP2lkPTEiPrXaMb3aILbuzeLIyLTzybW5z7jmy9+21Le9PC9hPjwvZGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICA8IS0tIGNvbW1lbnQtLT4NCgkJCTxkaXYgc3R5bGU9InRleHQtYWxpZ246bGVmdDsgIj4JDQoJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJPGR0Pg0KCQkJCQkJPHN0cm9uZz7X7tDCxsDC2zwvc3Ryb25nPg0KCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTIiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICA8L2R0Pg0KCQkJCQk8ZGQ+DQoJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnQiPg0KCQkJCQkJPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9Ii9wbHVzL2Jvb2tmZWVkYmFja19qcy5waHA/YWlkPTIiPjwvc2NyaXB0Pg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50IC0tPg0KCQkJCQk8L2RkPg0KCQkJCQk8L2RsPg0KCQkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQkJPGR0Pg0KCQkJCQkJCTxzdHJvbmc+t6Kx7cbAwts8L3N0cm9uZz4NCgkJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MiI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCgkJCQkJICA8L2R0Pg0KCQkJCQkJPGRkPg0KCQkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudF9wb3N0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwIiBtZXRob2Q9InBvc3QiIG5hbWU9ImZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0ic2VuZCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29tdHlwZSIgdmFsdWU9ImNvbW1lbnRzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWlkIiB2YWx1ZT0iMiIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaXNjb25maXJtIiB2YWx1ZT0ieWVzIiAvPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXRpdGxlIj4NCgkJCQkJCQkJCTxzbWFsbD7H69fUvvXX8crYu6XBqs34z+C52LXE1f6y37eoueajrNHPvfu3orK8yavH6aGisanBpqGit7S2r7XE0dTC26GjPC9zbWFsbD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC10aXRsZSAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1jb250ZW50Ij4NCgkJCQkJCQkJICA8dGV4dGFyZWEgY29scz0iNjAiIG5hbWU9Im1zZyIgcm93cz0iNSI+PC90ZXh0YXJlYT4NCgkJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRjbXAtc3RhbmQiPg0KCQkJCQkJCQkJPHN0cm9uZz7GwLzbOjwvc3Ryb25nPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIGNoZWNrZWQ9IjEiIHZhbHVlPSJmZWVkYmFjayIgaWQ9ImRjbXAtc3RhbmQtbmV1IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtbmV1Ij48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1uZXUuZ2lmIiAvPtbQwaI8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJnb29kIiBpZD0iZGNtcC1zdGFuZC1nb29kIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtZ29vZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtZ29vZC5naWYiIC8+usPGwDwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9ImJhZCIgaWQ9ImRjbXAtc3RhbmQtYmFkIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtYmFkIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1iYWQuZ2lmIiAvPrLuxsA8L2xhYmVsPjwvc3Bhbj4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1zdGFuZCAtLT48IS0tIC9kY21wLWNvbnRlbnQgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtbW9vZCI+DQoJCQkJCQkJCQk8c3Ryb25nPrHtx+k6PC9zdHJvbmc+DQoJCQkJCQkJCQk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc2JyBjaGVja2VkPSIxIiAvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC02LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNCcvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC00LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0zLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC01LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMicvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0yLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0xLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC03LmdpZiIgLz48L2xpPg0KCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1tb29kIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXBvc3QiPjwhLS3OtLXHwr0tLT4NCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdXNlcmluZm8iIGlkPSJfYWpheF9mZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJ0enWpMLrOjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd2YWxpZGF0ZScgc2l6ZT0nNCcgY2xhc3M9J2lwdC10eHQnIC8+PGltZyBzcmM9Ii9pbmNsdWRlL3ZkaW1nY2sucGhwIiBpZD0idmFsaWRhdGVpbWciIHN0eWxlPSJjdXJzb3I6cG9pbnRlciIgb25jbGljaz0idGhpcy5zcmM9dGhpcy5zcmMrJz8nIiB0aXRsZT0iteO7987SuPy7u828xqwiIGFsdD0iteO7987SuPy7u828xqwiIC8+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3R1c2VyIiBpZD0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+xOTD+z8gPC9sYWJlbD4NCgkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgCQkJCQkJCQ0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1zdWJtaXQiPg0KCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBvbkNsaWNrPSdjaGVja1N1Ym1pdCgpJz63orHtxsDC2zwvYnV0dG9uPg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Zvcm0+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnRfcG9zdCAtLT4NCgkJCQkJPC9kZD4NCgkJCQk8L2RsPg0KCQk8L2Rpdj48IS0tIGNvbW1lbnQgLS0+CSAgICAgIA0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPCEtLdbQvOS94cr4LS0+DQogICAgPGRpdiBjbGFzcz0iYm9va19mb290ZXIiPg0KICAgIAlQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVkZWNtcy5jb20vIj5EZWRlQ21zIFY1N19HQks8L2E+ICZjb3B5OyAyMDA0LTIwMTEgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVzZGV2LmNuLyI+RGVzRGV2IEluYy48L2E+PGJyIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgIDwvZGl2Pg0KDQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+ZGZhc2Zkc2FmcyAtIM7StcTN+NW+PC90aXRsZT4NCjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSIiPg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9ImFzZGZkc2FmZGFzc2FkIj4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib3h5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0nL2luY2x1ZGUvZGVkZWFqYXgyLmpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL3N0YXJzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL2pxdWVyeS5ib3h5LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IA0KCSAgJCgiLmJveHkiKS5ib3h5KCk7DQogIH0pDQpmdW5jdGlvbiBTaG93U3RhckluZm8oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfc3RhcmluZm8nKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MSZhamF4dHlwZT1pbmZvIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBTaG93cmF0aW5nKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3JhdGluZycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD0xIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2xvZ2luc3RhLnBocCIpOw0KICBteWFqYXggPSBudWxsOw0KfQ0KZnVuY3Rpb24gY2hlY2tTdWJtaXQoKXsNCglpZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPScnKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsNCgllbHNlIGFsZXJ0KCLGwMLbxNrI3bK7xNzOqr/Vo6EiKTsNCn0NCmZ1bmN0aW9uIHBvc3RCYWRHb29kKGZ0eXBlLGZpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrZmlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdiYWRnb29kaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCXZhciBzYXZlaWRzID0gc2F2ZWlkLnNwbGl0KCcsJyk7DQoJCXZhciBoYXNpZCA9IGZhbHNlOw0KCQlzYXZlaWQgPSAnJzsNCgkJaiA9IDE7DQoJCWZvcihpPXNhdmVpZHMubGVuZ3RoLTE7aT49MDtpLS0pDQoJCXsNCgkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCQllbHNlIHsNCgkJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCQkJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJCQlqKys7DQoJCQkJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkJCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJCX0NCgkJfQ0KCQlpZihoYXNpZCkgeyBhbGVydCgnxPq41bLF0tGx7b72uf3By+C4o6EnKTsgcmV0dXJuIGZhbHNlO30NCgkJZWxzZSBzYXZlaWQgKz0gJywnK2ZpZDsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLGZpZCwxKTsNCgl9DQoJbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQoJbXlhamF4LlNlbmRHZXQyKCIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0iK2ZpZCsiJmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2xvZ2luLnBocCI+tcfCvDwvYT48L3NwYW4+ILvyIDxzcGFuPjxhIGhyZWY9Ii9tZW1iZXIvaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Jy9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+yP25+tHd0uU8L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgIAkJCTxsaT48YSBocmVmPScvbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoJPCEtLc23sr+94cr4LS0+DQogICAgPCEtLdbQvOS/qsq8LS0+DQogICAgPGRpdiBpZD0ibWFpbiI+DQogICAJICA8ZGl2IGlkPSJib29rX21haW4iPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19pbmRleCI+tbHHsM671sOjujxhIGhyZWY9Ii9ib29rIj7W99KzPC9hPiA+IDxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPiA+IGRmYXNmZHNhZnMNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va19sZWZ0Ij48IS0t1/Ox37+qyrwtLT4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj6xvtTCyMjDxc28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7Nxrz2zbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPtfcteO798XF0NANCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCgkJICAJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7OxNXC0MXPoqO6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2Zvcm0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nMSI+PGltZyBzcmM9Ii9pbWFnZXMvZGVmYXVsdHBpYy5naWYiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTYwIiBhbHQ9ImRmYXNmZHNhZnMiLz48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfdGV4dDIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21tZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPmRmYXNmZHNhZnMgPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGgyPtf31d+jumFkbWluPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgPGgyPuSvwMDBv6O6PHNjcmlwdCBzcmM9Ii9ib29rL2NvdW50Ym9vay5waHA/dmlldz15ZXMmYWlkPTEiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij48L3NjcmlwdD48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsDg0M2jujxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7BrNTYzeqzyaO6wazU2NbQLi4uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsnPvNzKsbzko7oyMDExLTAyLTE4PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxhIGhyZWY9Ii9wbHVzL3N0b3cucGhwP2FpZD0xJnR5cGU9Ym9vayZ0aXRsZT1kZmFzZmRzYWZzIiB0YXJnZXQ9Il9ibGFuayI+ytWy2DwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJ0ZXh0Ij7GwLzb1eKxvsrpo7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQiPg0KICAgICAgICAgICAgICAJCQkJCSAgIDxkaXYgaWQ9Il9yYXRpbmciIHN0eWxlPSJwYWRkaW5nLXRvcDogMnB4OyI+PC9kaXY+DQoJCQkgCQkJCQkgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dyYXRpbmcoKTs8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJfc3RhcmluZm8iPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93U3RhckluZm8oKTs8L3NjcmlwdD4gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPtfu0MLVwr3ao7o8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV90aXRsZSI+zbzK6b3pydyjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNnYXJlYSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD4NCglmYXNkZnNhZGRmc2FzZGZhc2RmYXNkZmFzZGZhc2RhZjwvcD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfbGlzdHRhYmxlIj7Vwr3awdCx7aO6DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgPCEtLSBjb21tZW50LS0+DQoJCQk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7ICI+CQ0KCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCTxkdD4NCgkJCQkJCTxzdHJvbmc+1+7QwsbAwts8L3N0cm9uZz4NCgkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0xIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgPC9kdD4NCgkJCQkJPGRkPg0KCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50Ij4NCgkJCQkJCTxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSIvcGx1cy9ib29rZmVlZGJhY2tfanMucGhwP2FpZD0xIj48L3NjcmlwdD4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudCAtLT4NCgkJCQkJPC9kZD4NCgkJCQkJPC9kbD4NCgkJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJCTxkdD4NCgkJCQkJCQk8c3Ryb25nPreise3GwMLbPC9zdHJvbmc+DQoJCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTEiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQoJCQkJCSAgPC9kdD4NCgkJCQkJCTxkZD4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnRfcG9zdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocCIgbWV0aG9kPSJwb3N0IiBuYW1lPSJmZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InNlbmQiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbXR5cGUiIHZhbHVlPSJjb21tZW50cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFpZCIgdmFsdWU9IjEiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC10aXRsZSI+DQoJCQkJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtY29udGVudCI+DQoJCQkJCQkJCSAgPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiPjwvdGV4dGFyZWE+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iZ29vZCIgaWQ9ImRjbXAtc3RhbmQtZ29vZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWdvb2QiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWdvb2QuZ2lmIiAvPrrDxsA8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJiYWQiIGlkPSJkY21wLXN0YW5kLWJhZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWJhZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtYmFkLmdpZiIgLz6y7sbAPC9sYWJlbD48L3NwYW4+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtc3RhbmQgLS0+PCEtLSAvZGNtcC1jb250ZW50IC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLW1vb2QiPg0KCQkJCQkJCQkJPHN0cm9uZz6x7cfpOjwvc3Ryb25nPg0KCQkJCQkJCQkJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzcnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNy5naWYiIC8+PC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtbW9vZCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1wb3N0Ij48IS0tzrS1x8K9LS0+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXVzZXJpbmZvIiBpZD0iX2FqYXhfZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJCdHp1qTC6zo8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndmFsaWRhdGUnIHNpemU9JzQnIGNsYXNzPSdpcHQtdHh0JyAvPjxpbWcgc3JjPSIvaW5jbHVkZS92ZGltZ2NrLnBocCIgaWQ9InZhbGlkYXRlaW1nIiBzdHlsZT0iY3Vyc29yOnBvaW50ZXIiIG9uY2xpY2s9InRoaXMuc3JjPXRoaXMuc3JjKyc/JyIgdGl0bGU9IrXju/fO0rj8u7vNvMasIiBhbHQ9IrXju/fO0rj8u7vNvMasIiAvPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90dXNlciIgaWQ9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPsTkw/s/IDwvbGFiZWw+DQoJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgIAkJCQkJCQkNCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtc3VibWl0Ij4NCgkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0nY2hlY2tTdWJtaXQoKSc+t6Kx7cbAwts8L2J1dHRvbj4NCgkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9mb3JtPg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50X3Bvc3QgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJPC9kbD4NCgkJPC9kaXY+PCEtLSBjb21tZW50IC0tPgkgICAgICANCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwhLS3W0LzkveHK+C0tPg0KICAgIDxkaXYgY2xhc3M9ImJvb2tfZm9vdGVyIj4NCiAgICAJUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyBWNTdfR0JLPC9hPiAmY29weTsgMjAwNC0yMDExICA8YSBocmVmPSJodHRwOi8vd3d3LmRlc2Rldi5jbi8iPkRlc0RldiBJbmMuPC9hPjxiciAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+ZmFzZGZhc2QgLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgZmFzZGZhc2QgIj4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib3h5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0nL2luY2x1ZGUvZGVkZWFqYXgyLmpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL3N0YXJzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL2pxdWVyeS5ib3h5LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IA0KCSAgJCgiLmJveHkiKS5ib3h5KCk7DQogIH0pDQpmdW5jdGlvbiBTaG93U3RhckluZm8oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfc3RhcmluZm8nKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MSZhamF4dHlwZT1pbmZvIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBTaG93cmF0aW5nKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3JhdGluZycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD0xIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2xvZ2luc3RhLnBocCIpOw0KICBteWFqYXggPSBudWxsOw0KfQ0KZnVuY3Rpb24gY2hlY2tTdWJtaXQoKXsNCglpZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPScnKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsNCgllbHNlIGFsZXJ0KCLGwMLbxNrI3bK7xNzOqr/Vo6EiKTsNCn0NCmZ1bmN0aW9uIHBvc3RCYWRHb29kKGZ0eXBlLGZpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrZmlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdiYWRnb29kaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCXZhciBzYXZlaWRzID0gc2F2ZWlkLnNwbGl0KCcsJyk7DQoJCXZhciBoYXNpZCA9IGZhbHNlOw0KCQlzYXZlaWQgPSAnJzsNCgkJaiA9IDE7DQoJCWZvcihpPXNhdmVpZHMubGVuZ3RoLTE7aT49MDtpLS0pDQoJCXsNCgkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCQllbHNlIHsNCgkJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCQkJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJCQlqKys7DQoJCQkJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkJCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJCX0NCgkJfQ0KCQlpZihoYXNpZCkgeyBhbGVydCgnxPq41bLF0tGx7b72uf3By+C4o6EnKTsgcmV0dXJuIGZhbHNlO30NCgkJZWxzZSBzYXZlaWQgKz0gJywnK2ZpZDsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLGZpZCwxKTsNCgl9DQoJbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQoJbXlhamF4LlNlbmRHZXQyKCIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0iK2ZpZCsiJmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2xvZ2luLnBocCI+tcfCvDwvYT48L3NwYW4+ILvyIDxzcGFuPjxhIGhyZWY9Ii9tZW1iZXIvaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Jy9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+uuzCpcPOPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAJCQk8bGk+PGEgaHJlZj0nL21lbWJlcic+u+HUsdbQ0MQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KCTwhLS3Nt7K/veHK+C0tPg0KICAgIDwhLS3W0Lzkv6rKvC0tPg0KICAgIDxkaXYgaWQ9Im1haW4iPg0KICAgCSAgPGRpdiBpZD0iYm9va19tYWluIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfaW5kZXgiPrWxx7DOu9bDo7o8YSBocmVmPSIvYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0xIj667MKlw848L2E+ID4gZmFzZGZhc2QNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va19sZWZ0Ij48IS0t1/Ox37+qyrwtLT4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj6xvtTCyMjDxc28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7Nxrz2zbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPtfcteO798XF0NANCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCgkJICAJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7OxNXC0MXPoqO6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2Zvcm0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nMSI+PGltZyBzcmM9Ii9pbWFnZXMvZGVmYXVsdHBpYy5naWYiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTYwIiBhbHQ9ImZhc2RmYXNkIi8+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5mYXNkZmFzZCA8L2gxPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAk8aDI+1/fV36O6YWRtaW48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICA8aDI+5K/AwMG/o7o8c2NyaXB0IHNyYz0iL2Jvb2svY291bnRib29rLnBocD92aWV3PXllcyZhaWQ9MSIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPjwvc2NyaXB0PjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wODQzaO6PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+uuzCpcPOPC9hPjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7BrNTYzeqzyaO6wazU2NbQLi4uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsnPvNzKsbzko7oyMDExLTAyLTE3PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxhIGhyZWY9Ii9wbHVzL3N0b3cucGhwP2FpZD0xJnR5cGU9Ym9vayZ0aXRsZT1mYXNkZmFzZCIgdGFyZ2V0PSJfYmxhbmsiPsrVstg8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJydGV4dCI+xsC829Xisb7K6aO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0Ij4NCiAgICAgICAgICAgICAgCQkJCQkgICA8ZGl2IGlkPSJfcmF0aW5nIiBzdHlsZT0icGFkZGluZy10b3A6IDJweDsiPjwvZGl2Pg0KCQkJIAkJCQkJICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93cmF0aW5nKCk7PC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iX3N0YXJpbmZvIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd1N0YXJJbmZvKCk7PC9zY3JpcHQ+IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz7X7tDC1cK92qO6PC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfdGl0bGUiPs28yum96cnco7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zZ2FyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+DQoJZmFzZGZhc2Q8L3A+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX2xpc3R0YWJsZSI+1cK92sHQse2jug0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIDwhLS0gY29tbWVudC0tPg0KCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0OyAiPgkNCgkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQk8ZHQ+DQoJCQkJCQk8c3Ryb25nPtfu0MLGwMLbPC9zdHJvbmc+DQoJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MSI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgIDwvZHQ+DQoJCQkJCTxkZD4NCgkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudCI+DQoJCQkJCQk8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0iL3BsdXMvYm9va2ZlZWRiYWNrX2pzLnBocD9haWQ9MSI+PC9zY3JpcHQ+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnQgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJCTwvZGw+DQoJCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCQk8ZHQ+DQoJCQkJCQkJPHN0cm9uZz63orHtxsDC2zwvc3Ryb25nPg0KCQkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0xIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KCQkJCQkgIDwvZHQ+DQoJCQkJCQk8ZGQ+DQoJCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50X3Bvc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHAiIG1ldGhvZD0icG9zdCIgbmFtZT0iZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJzZW5kIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb210eXBlIiB2YWx1ZT0iY29tbWVudHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhaWQiIHZhbHVlPSIxIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpc2NvbmZpcm0iIHZhbHVlPSJ5ZXMiIC8+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdGl0bGUiPg0KCQkJCQkJCQkJPHNtYWxsPsfr19S+9dfxyti7pcGqzfjP4LnYtcTV/rLft6i55qOs0c+9+7eisrzJq8fpoaKxqcGmoaK3tLavtcTR1MLboaM8L3NtYWxsPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXRpdGxlIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLWNvbnRlbnQiPg0KCQkJCQkJCQkgIDx0ZXh0YXJlYSBjb2xzPSI2MCIgbmFtZT0ibXNnIiByb3dzPSI1Ij48L3RleHRhcmVhPg0KCQkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGNtcC1zdGFuZCI+DQoJCQkJCQkJCQk8c3Ryb25nPsbAvNs6PC9zdHJvbmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgY2hlY2tlZD0iMSIgdmFsdWU9ImZlZWRiYWNrIiBpZD0iZGNtcC1zdGFuZC1uZXUiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1uZXUiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LW5ldS5naWYiIC8+1tDBojwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9Imdvb2QiIGlkPSJkY21wLXN0YW5kLWdvb2QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1nb29kIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1nb29kLmdpZiIgLz66w8bAPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iYmFkIiBpZD0iZGNtcC1zdGFuZC1iYWQiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1iYWQiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWJhZC5naWYiIC8+su7GwDwvbGFiZWw+PC9zcGFuPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXN0YW5kIC0tPjwhLS0gL2RjbXAtY29udGVudCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1tb29kIj4NCgkJCQkJCQkJCTxzdHJvbmc+se3H6To8L3N0cm9uZz4NCgkJCQkJCQkJCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzYnIGNoZWNrZWQ9IjEiIC8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTYuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc0Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTQuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSczJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTMuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc1Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTUuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScyJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTIuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScxJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTEuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc3Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTcuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLW1vb2QgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtcG9zdCI+PCEtLc60tcfCvS0tPg0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC11c2VyaW5mbyIgaWQ9Il9hamF4X2ZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJCQnR6dakwus6PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3ZhbGlkYXRlJyBzaXplPSc0JyBjbGFzcz0naXB0LXR4dCcgLz48aW1nIHNyYz0iL2luY2x1ZGUvdmRpbWdjay5waHAiIGlkPSJ2YWxpZGF0ZWltZyIgc3R5bGU9ImN1cnNvcjpwb2ludGVyIiBvbmNsaWNrPSJ0aGlzLnNyYz10aGlzLnNyYysnPyciIHRpdGxlPSK147v3ztK4/Lu7zbzGrCIgYWx0PSK147v3ztK4/Lu7zbzGrCIgLz4NCiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdHVzZXIiIGlkPSJkY21wLXN1Ym1pdC1ndWVzdCIgLz48bGFiZWwgZm9yPSJkY21wLXN1Ym1pdC1ndWVzdCIgLz7E5MP7PyA8L2xhYmVsPg0KCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAJCQkJCQkJDQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXN1Ym1pdCI+DQoJCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uQ2xpY2s9J2NoZWNrU3VibWl0KCknPreise3GwMLbPC9idXR0b24+DQoJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZm9ybT4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudF9wb3N0IC0tPg0KCQkJCQk8L2RkPg0KCQkJCTwvZGw+DQoJCTwvZGl2PjwhLS0gY29tbWVudCAtLT4JICAgICAgDQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8IS0t1tC85L3hyvgtLT4NCiAgICA8ZGl2IGNsYXNzPSJib29rX2Zvb3RlciI+DQogICAgCVBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5kZWRlY21zLmNvbS8iPkRlZGVDbXMgVjU3X0dCSzwvYT4gJmNvcHk7IDIwMDQtMjAxMSAgPGEgaHJlZj0iaHR0cDovL3d3dy5kZXNkZXYuY24vIj5EZXNEZXYgSW5jLjwvYT48YnIgLz4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgPC9kaXY+DQoNCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+ZmFzZGZkc2EgLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgZmFzZGZhc2RmYXNkZmFzZCAiPg0KPGxpbmsgaHJlZj0iL2Jvb2svaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPGxpbmsgaHJlZj0iL2Jvb2svaW1hZ2VzL2JveHkuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgc3JjPScvaW5jbHVkZS9kZWRlYWpheDIuanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL2ouanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvc3RhcnMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvanF1ZXJ5LmJveHkuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0Jz4NCiAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsgDQoJICAkKCIuYm94eSIpLmJveHkoKTsNCiAgfSkNCmZ1bmN0aW9uIFNob3dTdGFySW5mbygpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19zdGFyaW5mbycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD0yJmFqYXh0eXBlPWluZm8iKTsNCiAgRGVkZVhIVFRQID0gbnVsbDsNCn0NCmZ1bmN0aW9uIFNob3dyYXRpbmcoKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfcmF0aW5nJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPTIiKTsNCiAgRGVkZVhIVFRQID0gbnVsbDsNCn0NCmZ1bmN0aW9uIENoZWNrTG9naW4oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib29rX3dlbGNvbWUnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwiIiwiIiwiIik7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svbG9naW5zdGEucGhwIik7DQogIG15YWpheCA9IG51bGw7DQp9DQpmdW5jdGlvbiBjaGVja1N1Ym1pdCgpew0KCWlmKGRvY3VtZW50LmZlZWRiYWNrLm1zZy52YWx1ZSE9JycpIGRvY3VtZW50LmZlZWRiYWNrLnN1Ym1pdCgpOw0KCWVsc2UgYWxlcnQoIsbAwtvE2sjdsrvE3M6qv9WjoSIpOw0KfQ0KZnVuY3Rpb24gcG9zdEJhZEdvb2QoZnR5cGUsZmlkKQ0Kew0KCXZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmdHlwZStmaWQpOw0KCXZhciBzYXZlaWQgPSBHZXRDb29raWUoJ2JhZGdvb2RpZCcpOw0KCWlmKHNhdmVpZCAhPSBudWxsKQ0KCXsNCgkJdmFyIHNhdmVpZHMgPSBzYXZlaWQuc3BsaXQoJywnKTsNCgkJdmFyIGhhc2lkID0gZmFsc2U7DQoJCXNhdmVpZCA9ICcnOw0KCQlqID0gMTsNCgkJZm9yKGk9c2F2ZWlkcy5sZW5ndGgtMTtpPj0wO2ktLSkNCgkJew0KCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmIGhhc2lkKSBjb250aW51ZTsNCgkJCWVsc2Ugew0KCQkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiAhaGFzaWQpIGhhc2lkID0gdHJ1ZTsNCgkJCQlzYXZlaWQgKz0gKHNhdmVpZD09JycgPyBzYXZlaWRzW2ldIDogJywnK3NhdmVpZHNbaV0pOw0KCQkJCWorKzsNCgkJCQlpZihqPT0xMCAmJiBoYXNpZCkgYnJlYWs7DQoJCQkJaWYoaj09OSAmJiAhaGFzaWQpIGJyZWFrOw0KCQkJfQ0KCQl9DQoJCWlmKGhhc2lkKSB7IGFsZXJ0KCfE+rjVssXS0bHtvva5/cHL4LijoScpOyByZXR1cm4gZmFsc2U7fQ0KCQllbHNlIHNhdmVpZCArPSAnLCcrZmlkOw0KCQlTZXRDb29raWUoJ2JhZGdvb2RpZCcsc2F2ZWlkLDEpOw0KCX0NCgllbHNlDQoJew0KCQlTZXRDb29raWUoJ2JhZGdvb2RpZCcsZmlkLDEpOw0KCX0NCglteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCglteWFqYXguU2VuZEdldDIoIi9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPSIrZmlkKyImYWN0aW9uPSIrZnR5cGUrIiZmaWQ9IitmaWQpOw0KCURlZGVYSFRUUCA9IG51bGw7DQp9DQo8L3NjcmlwdD4NCjxsaW5rIGhyZWY9Ii4uLy4uL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjwvaGVhZD4NCjxib2R5IG9ubG9hZD0iQ2hlY2tMb2dpbigpIj4NCjxkaXYgaWQ9ImNvbnRhaW5lciI+DQoJPCEtLc23sr+/qsq8LS0+DQogICAgPGRpdiBpZD0iYm9va19oZWFkZXIiPg0KICAgIAk8ZGl2IGlkPSJib29rX3RvcCI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGxvZ28iPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJib29rX3dlbGNvbWUiPsT6usOjrMfrIDxzcGFuPjxhIGhyZWY9Ii9tZW1iZXIvbG9naW4ucGhwIj61x8K8PC9hPjwvc3Bhbj4gu/IgPHNwYW4+PGEgaHJlZj0iL21lbWJlci9pbmRleF9kby5waHA/Zm1kbz11c2VyJmRvcG9zdD1yZWduZXciPteisuE8L2E+PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va190b3BpbWciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3BiZyI+DQogICAgICAgIAkJPGRpdiBpZD0iYm9va19sb2dvIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2Jhbm5lciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAJPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfbWVudWJnIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfbWVudSI+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19nbyI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0nL2Jvb2snPtb30rM8L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0xIj667MKlw848L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgIAkJCTxsaT48YSBocmVmPScvbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoJPCEtLc23sr+94cr4LS0+DQogICAgPCEtLdbQvOS/qsq8LS0+DQogICAgPGRpdiBpZD0ibWFpbiI+DQogICAJICA8ZGl2IGlkPSJib29rX21haW4iPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19pbmRleCI+tbHHsM671sOjujxhIGhyZWY9Ii9ib29rIj7W99KzPC9hPiA+IDxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPrrswqXDzjwvYT4gPiBmYXNkZmRzYQ0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJib29rX2xlZnQiPjwhLS3X87Hfv6rKvC0tPg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPrG+1MLIyMPFzbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KCQkJCQkJCTxsaT48YSBocmVmPScvYm9vay8xL2Zhc2RmYXNkLTEuaHRtbCc+ZmFzZGZhc2Q8L2E+PC9saT4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7Nxrz2zbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPtfcteO798XF0NANCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCgkJICAJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAJCTxsaT48YSBocmVmPScvYm9vay8xL2Zhc2RmYXNkLTEuaHRtbCc+ZmFzZGZhc2Q8L2E+PC9saT4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2PjwhLS3X87HfveHK+C0tPg0KDQogICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfcmlnaHQiPjwhLS3T0rHfv6rKvC0tPg0KICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbmV3cyI+PCEtLdDCyunJz7zcLS0+DQogICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c190aXRsZSB0aXRsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+zsTVwtDFz6KjujwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9mb3JtMSI+DQogICAgICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2ltZzEiPjxpbWcgc3JjPSIvaW1hZ2VzL2RlZmF1bHRwaWMuZ2lmIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjE2MCIgYWx0PSJmYXNkZmRzYSIvPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV90ZXh0MiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbW1lbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+ZmFzZGZkc2EgPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGgyPtf31d+jumFkbWluPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgPGgyPuSvwMDBv6O6PHNjcmlwdCBzcmM9Ii9ib29rL2NvdW50Ym9vay5waHA/dmlldz15ZXMmYWlkPTIiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij48L3NjcmlwdD48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsDg0M2jujxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPrrswqXDzjwvYT48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wazU2M3qs8mjusGs1NjW0C4uLjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7Jz7zcyrG85KO6MjAxMS0wMi0xNzwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YSBocmVmPSIvcGx1cy9zdG93LnBocD9haWQ9MiZ0eXBlPWJvb2smdGl0bGU9ZmFzZGZkc2EiIHRhcmdldD0iX2JsYW5rIj7K1bLYPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icnRleHQiPsbAvNvV4rG+yumjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdCI+DQogICAgICAgICAgICAgIAkJCQkJICAgPGRpdiBpZD0iX3JhdGluZyIgc3R5bGU9InBhZGRpbmctdG9wOiAycHg7Ij48L2Rpdj4NCgkJCSAJCQkJCSAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd3JhdGluZygpOzwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Il9zdGFyaW5mbyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dTdGFySW5mbygpOzwvc2NyaXB0PiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+1+7QwtXCvdqjujwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RpdGxlIj7NvMrpvenJ3KO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2dhcmVhIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPg0KCWZhc2RmYXNkZmFzZGZhc2Q8L3A+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX2xpc3R0YWJsZSI+1cK92sHQse2jug0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIDwhLS0gY29tbWVudC0tPg0KCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0OyAiPgkNCgkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQk8ZHQ+DQoJCQkJCQk8c3Ryb25nPtfu0MLGwMLbPC9zdHJvbmc+DQoJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MiI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgIDwvZHQ+DQoJCQkJCTxkZD4NCgkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudCI+DQoJCQkJCQk8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0iL3BsdXMvYm9va2ZlZWRiYWNrX2pzLnBocD9haWQ9MiI+PC9zY3JpcHQ+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnQgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJCTwvZGw+DQoJCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCQk8ZHQ+DQoJCQkJCQkJPHN0cm9uZz63orHtxsDC2zwvc3Ryb25nPg0KCQkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0yIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KCQkJCQkgIDwvZHQ+DQoJCQkJCQk8ZGQ+DQoJCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50X3Bvc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHAiIG1ldGhvZD0icG9zdCIgbmFtZT0iZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJzZW5kIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb210eXBlIiB2YWx1ZT0iY29tbWVudHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhaWQiIHZhbHVlPSIyIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpc2NvbmZpcm0iIHZhbHVlPSJ5ZXMiIC8+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdGl0bGUiPg0KCQkJCQkJCQkJPHNtYWxsPsfr19S+9dfxyti7pcGqzfjP4LnYtcTV/rLft6i55qOs0c+9+7eisrzJq8fpoaKxqcGmoaK3tLavtcTR1MLboaM8L3NtYWxsPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXRpdGxlIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLWNvbnRlbnQiPg0KCQkJCQkJCQkgIDx0ZXh0YXJlYSBjb2xzPSI2MCIgbmFtZT0ibXNnIiByb3dzPSI1Ij48L3RleHRhcmVhPg0KCQkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGNtcC1zdGFuZCI+DQoJCQkJCQkJCQk8c3Ryb25nPsbAvNs6PC9zdHJvbmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgY2hlY2tlZD0iMSIgdmFsdWU9ImZlZWRiYWNrIiBpZD0iZGNtcC1zdGFuZC1uZXUiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1uZXUiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LW5ldS5naWYiIC8+1tDBojwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9Imdvb2QiIGlkPSJkY21wLXN0YW5kLWdvb2QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1nb29kIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1nb29kLmdpZiIgLz66w8bAPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iYmFkIiBpZD0iZGNtcC1zdGFuZC1iYWQiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1iYWQiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWJhZC5naWYiIC8+su7GwDwvbGFiZWw+PC9zcGFuPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXN0YW5kIC0tPjwhLS0gL2RjbXAtY29udGVudCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1tb29kIj4NCgkJCQkJCQkJCTxzdHJvbmc+se3H6To8L3N0cm9uZz4NCgkJCQkJCQkJCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzYnIGNoZWNrZWQ9IjEiIC8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTYuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc0Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTQuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSczJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTMuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc1Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTUuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScyJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTIuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScxJy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTEuZ2lmIiAvPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc3Jy8+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9tb29kL2ljby1tb29kLTcuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8L2Rpdj48IS0tIC9kY21wLW1vb2QgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtcG9zdCI+PCEtLc60tcfCvS0tPg0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC11c2VyaW5mbyIgaWQ9Il9hamF4X2ZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJCQnR6dakwus6PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3ZhbGlkYXRlJyBzaXplPSc0JyBjbGFzcz0naXB0LXR4dCcgLz48aW1nIHNyYz0iL2luY2x1ZGUvdmRpbWdjay5waHAiIGlkPSJ2YWxpZGF0ZWltZyIgc3R5bGU9ImN1cnNvcjpwb2ludGVyIiBvbmNsaWNrPSJ0aGlzLnNyYz10aGlzLnNyYysnPyciIHRpdGxlPSK147v3ztK4/Lu7zbzGrCIgYWx0PSK147v3ztK4/Lu7zbzGrCIgLz4NCiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5vdHVzZXIiIGlkPSJkY21wLXN1Ym1pdC1ndWVzdCIgLz48bGFiZWwgZm9yPSJkY21wLXN1Ym1pdC1ndWVzdCIgLz7E5MP7PyA8L2xhYmVsPg0KCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAJCQkJCQkJDQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXN1Ym1pdCI+DQoJCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uQ2xpY2s9J2NoZWNrU3VibWl0KCknPreise3GwMLbPC9idXR0b24+DQoJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZm9ybT4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudF9wb3N0IC0tPg0KCQkJCQk8L2RkPg0KCQkJCTwvZGw+DQoJCTwvZGl2PjwhLS0gY29tbWVudCAtLT4JICAgICAgDQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8IS0t1tC85L3hyvgtLT4NCiAgICA8ZGl2IGNsYXNzPSJib29rX2Zvb3RlciI+DQogICAgCVBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5kZWRlY21zLmNvbS8iPkRlZGVDbXMgVjU3X0dCSzwvYT4gJmNvcHk7IDIwMDQtMjAxMSAgPGEgaHJlZj0iaHR0cDovL3d3dy5kZXNkZXYuY24vIj5EZXNEZXYgSW5jLjwvYT48YnIgLz4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgPC9kaXY+DQoNCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+Zmdkc2dmZHNnc2RmIC0gztK1xM341b48L3RpdGxlPg0KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIGdkc2Zkc2RmZHNmZHNnZHNzZHNkc3NkZHNkZHMgIj4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib3h5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0nL2luY2x1ZGUvZGVkZWFqYXgyLmpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL3N0YXJzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL2pxdWVyeS5ib3h5LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IA0KCSAgJCgiLmJveHkiKS5ib3h5KCk7DQogIH0pDQpmdW5jdGlvbiBTaG93U3RhckluZm8oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfc3RhcmluZm8nKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MiZhamF4dHlwZT1pbmZvIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBTaG93cmF0aW5nKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3JhdGluZycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD0yIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2xvZ2luc3RhLnBocCIpOw0KICBteWFqYXggPSBudWxsOw0KfQ0KZnVuY3Rpb24gY2hlY2tTdWJtaXQoKXsNCglpZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPScnKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsNCgllbHNlIGFsZXJ0KCLGwMLbxNrI3bK7xNzOqr/Vo6EiKTsNCn0NCmZ1bmN0aW9uIHBvc3RCYWRHb29kKGZ0eXBlLGZpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrZmlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdiYWRnb29kaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCXZhciBzYXZlaWRzID0gc2F2ZWlkLnNwbGl0KCcsJyk7DQoJCXZhciBoYXNpZCA9IGZhbHNlOw0KCQlzYXZlaWQgPSAnJzsNCgkJaiA9IDE7DQoJCWZvcihpPXNhdmVpZHMubGVuZ3RoLTE7aT49MDtpLS0pDQoJCXsNCgkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCQllbHNlIHsNCgkJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCQkJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJCQlqKys7DQoJCQkJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkJCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJCX0NCgkJfQ0KCQlpZihoYXNpZCkgeyBhbGVydCgnxPq41bLF0tGx7b72uf3By+C4o6EnKTsgcmV0dXJuIGZhbHNlO30NCgkJZWxzZSBzYXZlaWQgKz0gJywnK2ZpZDsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLGZpZCwxKTsNCgl9DQoJbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQoJbXlhamF4LlNlbmRHZXQyKCIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0iK2ZpZCsiJmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2xvZ2luLnBocCI+tcfCvDwvYT48L3NwYW4+ILvyIDxzcGFuPjxhIGhyZWY9Ii9tZW1iZXIvaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Jy9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+yP25+tHd0uU8L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgIAkJCTxsaT48YSBocmVmPScvbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoJPCEtLc23sr+94cr4LS0+DQogICAgPCEtLdbQvOS/qsq8LS0+DQogICAgPGRpdiBpZD0ibWFpbiI+DQogICAJICA8ZGl2IGlkPSJib29rX21haW4iPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19pbmRleCI+tbHHsM671sOjujxhIGhyZWY9Ii9ib29rIj7W99KzPC9hPiA+IDxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPsj9ufrR3dLlPC9hPiA+IGZnZHNnZmRzZ3NkZg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJib29rX2xlZnQiPjwhLS3X87Hfv6rKvC0tPg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPrG+1MLIyMPFzbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KCQkJCQkJCTxsaT48YSBocmVmPScvYm9vay8xL2RmYXNmZHNhZnMtMS5odG1sJz5kZmFzZmRzYWZzPC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+zca89s28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9kZmFzZmRzYWZzLTEuaHRtbCc+ZGZhc2Zkc2FmczwvYT48L2xpPg0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7OxNXC0MXPoqO6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2Zvcm0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nMSI+PGltZyBzcmM9Ii9pbWFnZXMvZGVmYXVsdHBpYy5naWYiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTYwIiBhbHQ9ImZnZHNnZmRzZ3NkZiIvPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV90ZXh0MiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbW1lbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+Zmdkc2dmZHNnc2RmIDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCTxoMj7X99Xfo7phZG1pbjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgIDxoMj7kr8DAwb+jujxzY3JpcHQgc3JjPSIvYm9vay9jb3VudGJvb2sucGhwP3ZpZXc9eWVzJmFpZD0yIiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7A4NDNo7o8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0yIj7I/bn60d3S5TwvYT48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wazU2M3qs8mjusGs1NjW0C4uLjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7Jz7zcyrG85KO6MjAxMS0wMi0xODwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YSBocmVmPSIvcGx1cy9zdG93LnBocD9haWQ9MiZ0eXBlPWJvb2smdGl0bGU9Zmdkc2dmZHNnc2RmIiB0YXJnZXQ9Il9ibGFuayI+ytWy2DwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJ0ZXh0Ij7GwLzb1eKxvsrpo7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQiPg0KICAgICAgICAgICAgICAJCQkJCSAgIDxkaXYgaWQ9Il9yYXRpbmciIHN0eWxlPSJwYWRkaW5nLXRvcDogMnB4OyI+PC9kaXY+DQoJCQkgCQkJCQkgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dyYXRpbmcoKTs8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJfc3RhcmluZm8iPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93U3RhckluZm8oKTs8L3NjcmlwdD4gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPtfu0MLVwr3ao7o8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV90aXRsZSI+zbzK6b3pydyjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNnYXJlYSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD4NCglnZHNmZHNkZmRzZmRzZ2Rzc2RzZHNzZGRzZGRzPC9wPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV9saXN0dGFibGUiPtXCvdrB0LHto7oNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICA8IS0tIGNvbW1lbnQtLT4NCgkJCTxkaXYgc3R5bGU9InRleHQtYWxpZ246bGVmdDsgIj4JDQoJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJPGR0Pg0KCQkJCQkJPHN0cm9uZz7X7tDCxsDC2zwvc3Ryb25nPg0KCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTIiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICA8L2R0Pg0KCQkJCQk8ZGQ+DQoJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnQiPg0KCQkJCQkJPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9Ii9wbHVzL2Jvb2tmZWVkYmFja19qcy5waHA/YWlkPTIiPjwvc2NyaXB0Pg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50IC0tPg0KCQkJCQk8L2RkPg0KCQkJCQk8L2RsPg0KCQkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQkJPGR0Pg0KCQkJCQkJCTxzdHJvbmc+t6Kx7cbAwts8L3N0cm9uZz4NCgkJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MiI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCgkJCQkJICA8L2R0Pg0KCQkJCQkJPGRkPg0KCQkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudF9wb3N0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwIiBtZXRob2Q9InBvc3QiIG5hbWU9ImZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0ic2VuZCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29tdHlwZSIgdmFsdWU9ImNvbW1lbnRzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWlkIiB2YWx1ZT0iMiIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaXNjb25maXJtIiB2YWx1ZT0ieWVzIiAvPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXRpdGxlIj4NCgkJCQkJCQkJCTxzbWFsbD7H69fUvvXX8crYu6XBqs34z+C52LXE1f6y37eoueajrNHPvfu3orK8yavH6aGisanBpqGit7S2r7XE0dTC26GjPC9zbWFsbD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC10aXRsZSAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1jb250ZW50Ij4NCgkJCQkJCQkJICA8dGV4dGFyZWEgY29scz0iNjAiIG5hbWU9Im1zZyIgcm93cz0iNSI+PC90ZXh0YXJlYT4NCgkJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRjbXAtc3RhbmQiPg0KCQkJCQkJCQkJPHN0cm9uZz7GwLzbOjwvc3Ryb25nPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIGNoZWNrZWQ9IjEiIHZhbHVlPSJmZWVkYmFjayIgaWQ9ImRjbXAtc3RhbmQtbmV1IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtbmV1Ij48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1uZXUuZ2lmIiAvPtbQwaI8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJnb29kIiBpZD0iZGNtcC1zdGFuZC1nb29kIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtZ29vZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtZ29vZC5naWYiIC8+usPGwDwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9ImJhZCIgaWQ9ImRjbXAtc3RhbmQtYmFkIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtYmFkIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1iYWQuZ2lmIiAvPrLuxsA8L2xhYmVsPjwvc3Bhbj4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1zdGFuZCAtLT48IS0tIC9kY21wLWNvbnRlbnQgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtbW9vZCI+DQoJCQkJCQkJCQk8c3Ryb25nPrHtx+k6PC9zdHJvbmc+DQoJCQkJCQkJCQk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc2JyBjaGVja2VkPSIxIiAvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC02LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNCcvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC00LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0zLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC01LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMicvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0yLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0xLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC03LmdpZiIgLz48L2xpPg0KCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1tb29kIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXBvc3QiPjwhLS3OtLXHwr0tLT4NCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdXNlcmluZm8iIGlkPSJfYWpheF9mZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJ0enWpMLrOjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd2YWxpZGF0ZScgc2l6ZT0nNCcgY2xhc3M9J2lwdC10eHQnIC8+PGltZyBzcmM9Ii9pbmNsdWRlL3ZkaW1nY2sucGhwIiBpZD0idmFsaWRhdGVpbWciIHN0eWxlPSJjdXJzb3I6cG9pbnRlciIgb25jbGljaz0idGhpcy5zcmM9dGhpcy5zcmMrJz8nIiB0aXRsZT0iteO7987SuPy7u828xqwiIGFsdD0iteO7987SuPy7u828xqwiIC8+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3R1c2VyIiBpZD0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+xOTD+z8gPC9sYWJlbD4NCgkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgCQkJCQkJCQ0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1zdWJtaXQiPg0KCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBvbkNsaWNrPSdjaGVja1N1Ym1pdCgpJz63orHtxsDC2zwvYnV0dG9uPg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Zvcm0+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnRfcG9zdCAtLT4NCgkJCQkJPC9kZD4NCgkJCQk8L2RsPg0KCQk8L2Rpdj48IS0tIGNvbW1lbnQgLS0+CSAgICAgIA0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPCEtLdbQvOS94cr4LS0+DQogICAgPGRpdiBjbGFzcz0iYm9va19mb290ZXIiPg0KICAgIAlQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVkZWNtcy5jb20vIj5EZWRlQ21zIFY1N19HQks8L2E+ICZjb3B5OyAyMDA0LTIwMTEgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVzZGV2LmNuLyI+RGVzRGV2IEluYy48L2E+PGJyIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgIDwvZGl2Pg0KDQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+ZnNhZGZhc2QgLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgZnNhZGZhc2RmYXNkICI+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm94eS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyBzcmM9Jy9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvai5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9zdGFycy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qcXVlcnkuYm94eS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyANCgkgICQoIi5ib3h5IikuYm94eSgpOw0KICB9KQ0KZnVuY3Rpb24gU2hvd1N0YXJJbmZvKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3N0YXJpbmZvJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPTEmYWpheHR5cGU9aW5mbyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gU2hvd3JhdGluZygpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19yYXRpbmcnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MSIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gQ2hlY2tMb2dpbigpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2tfd2VsY29tZScpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCIiLCIiLCIiKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9sb2dpbnN0YS5waHAiKTsNCiAgbXlhamF4ID0gbnVsbDsNCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCl7DQoJaWYoZG9jdW1lbnQuZmVlZGJhY2subXNnLnZhbHVlIT0nJykgZG9jdW1lbnQuZmVlZGJhY2suc3VibWl0KCk7DQoJZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7DQp9DQpmdW5jdGlvbiBwb3N0QmFkR29vZChmdHlwZSxmaWQpDQp7DQoJdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZ0eXBlK2ZpZCk7DQoJdmFyIHNhdmVpZCA9IEdldENvb2tpZSgnYmFkZ29vZGlkJyk7DQoJaWYoc2F2ZWlkICE9IG51bGwpDQoJew0KCQl2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQl2YXIgaGFzaWQgPSBmYWxzZTsNCgkJc2F2ZWlkID0gJyc7DQoJCWogPSAxOw0KCQlmb3IoaT1zYXZlaWRzLmxlbmd0aC0xO2k+PTA7aS0tKQ0KCQl7DQoJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgaGFzaWQpIGNvbnRpbnVlOw0KCQkJZWxzZSB7DQoJCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmICFoYXNpZCkgaGFzaWQgPSB0cnVlOw0KCQkJCXNhdmVpZCArPSAoc2F2ZWlkPT0nJyA/IHNhdmVpZHNbaV0gOiAnLCcrc2F2ZWlkc1tpXSk7DQoJCQkJaisrOw0KCQkJCWlmKGo9PTEwICYmIGhhc2lkKSBicmVhazsNCgkJCQlpZihqPT05ICYmICFoYXNpZCkgYnJlYWs7DQoJCQl9DQoJCX0NCgkJaWYoaGFzaWQpIHsgYWxlcnQoJ8T6uNWyxdLRse2+9rn9wcvguKOhJyk7IHJldHVybiBmYWxzZTt9DQoJCWVsc2Ugc2F2ZWlkICs9ICcsJytmaWQ7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxzYXZlaWQsMSk7DQoJfQ0KCWVsc2UNCgl7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxmaWQsMSk7DQoJfQ0KCW15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KCW15YWpheC5TZW5kR2V0MigiL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9IitmaWQrIiZhY3Rpb249IitmdHlwZSsiJmZpZD0iK2ZpZCk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPGxpbmsgaHJlZj0iLi4vLi4vaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0iL21lbWJlci9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT48L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX3RvcGltZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGJnIj4NCiAgICAgICAgCQk8ZGl2IGlkPSJib29rX2xvZ28iPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfYmFubmVyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgIAk8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va19tZW51YmciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19tZW51Ij4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2dvIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPScvYm9vayc+1vfSszwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPsj9ufrR3dLlPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAJCQk8bGk+PGEgaHJlZj0nL21lbWJlcic+u+HUsdbQ0MQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KCTwhLS3Nt7K/veHK+C0tPg0KICAgIDwhLS3W0Lzkv6rKvC0tPg0KICAgIDxkaXYgaWQ9Im1haW4iPg0KICAgCSAgPGRpdiBpZD0iYm9va19tYWluIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfaW5kZXgiPrWxx7DOu9bDo7o8YSBocmVmPSIvYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0xIj7I/bn60d3S5TwvYT4gPiBmc2FkZmFzZA0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJib29rX2xlZnQiPjwhLS3X87Hfv6rKvC0tPg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPrG+1MLIyMPFzbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPs3GvPbNvMrpDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+19y147v3xcXQ0A0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KCQkgIAkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj48IS0t1/Ox373hyvgtLT4NCg0KICAgICAgICAgIAk8ZGl2IGlkPSJib29rX3JpZ2h0Ij48IS0t09Kx37+qyrwtLT4NCiAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX25ld3MiPjwhLS3Qwsrpyc+83C0tPg0KICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3NfdGl0bGUgdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPs7E1cLQxc+io7o8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfZm9ybTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9pbWcxIj48aW1nIHNyYz0iL2ltYWdlcy9kZWZhdWx0cGljLmdpZiIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxNjAiIGFsdD0iZnNhZGZhc2QiLz48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfdGV4dDIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21tZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPmZzYWRmYXNkIDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCTxoMj7X99Xfo7phZG1pbjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgIDxoMj7kr8DAwb+jujxzY3JpcHQgc3JjPSIvYm9vay9jb3VudGJvb2sucGhwP3ZpZXc9eWVzJmFpZD0xIiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7A4NDNo7o8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0xIj7I/bn60d3S5TwvYT48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wazU2M3qs8mjusGs1NjW0C4uLjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7Jz7zcyrG85KO6MjAxMS0wMi0yNDwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YSBocmVmPSIvcGx1cy9zdG93LnBocD9haWQ9MSZ0eXBlPWJvb2smdGl0bGU9ZnNhZGZhc2QiIHRhcmdldD0iX2JsYW5rIj7K1bLYPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icnRleHQiPsbAvNvV4rG+yumjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdCI+DQogICAgICAgICAgICAgIAkJCQkJICAgPGRpdiBpZD0iX3JhdGluZyIgc3R5bGU9InBhZGRpbmctdG9wOiAycHg7Ij48L2Rpdj4NCgkJCSAJCQkJCSAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd3JhdGluZygpOzwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Il9zdGFyaW5mbyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dTdGFySW5mbygpOzwvc2NyaXB0PiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+1+7QwtXCvdqjujwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RpdGxlIj7NvMrpvenJ3KO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2dhcmVhIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPg0KCWZzYWRmYXNkZmFzZDwvcD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfbGlzdHRhYmxlIj7Vwr3awdCx7aO6DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgPCEtLSBjb21tZW50LS0+DQoJCQk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7ICI+CQ0KCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCTxkdD4NCgkJCQkJCTxzdHJvbmc+1+7QwsbAwts8L3N0cm9uZz4NCgkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0xIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgPC9kdD4NCgkJCQkJPGRkPg0KCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50Ij4NCgkJCQkJCTxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSIvcGx1cy9ib29rZmVlZGJhY2tfanMucGhwP2FpZD0xIj48L3NjcmlwdD4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudCAtLT4NCgkJCQkJPC9kZD4NCgkJCQkJPC9kbD4NCgkJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJCTxkdD4NCgkJCQkJCQk8c3Ryb25nPreise3GwMLbPC9zdHJvbmc+DQoJCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTEiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQoJCQkJCSAgPC9kdD4NCgkJCQkJCTxkZD4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnRfcG9zdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocCIgbWV0aG9kPSJwb3N0IiBuYW1lPSJmZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InNlbmQiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbXR5cGUiIHZhbHVlPSJjb21tZW50cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFpZCIgdmFsdWU9IjEiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC10aXRsZSI+DQoJCQkJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtY29udGVudCI+DQoJCQkJCQkJCSAgPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiPjwvdGV4dGFyZWE+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iZ29vZCIgaWQ9ImRjbXAtc3RhbmQtZ29vZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWdvb2QiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWdvb2QuZ2lmIiAvPrrDxsA8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJiYWQiIGlkPSJkY21wLXN0YW5kLWJhZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWJhZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtYmFkLmdpZiIgLz6y7sbAPC9sYWJlbD48L3NwYW4+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtc3RhbmQgLS0+PCEtLSAvZGNtcC1jb250ZW50IC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLW1vb2QiPg0KCQkJCQkJCQkJPHN0cm9uZz6x7cfpOjwvc3Ryb25nPg0KCQkJCQkJCQkJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzcnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNy5naWYiIC8+PC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtbW9vZCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1wb3N0Ij48IS0tzrS1x8K9LS0+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXVzZXJpbmZvIiBpZD0iX2FqYXhfZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJCdHp1qTC6zo8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndmFsaWRhdGUnIHNpemU9JzQnIGNsYXNzPSdpcHQtdHh0JyAvPjxpbWcgc3JjPSIvaW5jbHVkZS92ZGltZ2NrLnBocCIgaWQ9InZhbGlkYXRlaW1nIiBzdHlsZT0iY3Vyc29yOnBvaW50ZXIiIG9uY2xpY2s9InRoaXMuc3JjPXRoaXMuc3JjKyc/JyIgdGl0bGU9IrXju/fO0rj8u7vNvMasIiBhbHQ9IrXju/fO0rj8u7vNvMasIiAvPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90dXNlciIgaWQ9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPsTkw/s/IDwvbGFiZWw+DQoJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgIAkJCQkJCQkNCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtc3VibWl0Ij4NCgkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0nY2hlY2tTdWJtaXQoKSc+t6Kx7cbAwts8L2J1dHRvbj4NCgkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9mb3JtPg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50X3Bvc3QgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJPC9kbD4NCgkJPC9kaXY+PCEtLSBjb21tZW50IC0tPgkgICAgICANCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwhLS3W0LzkveHK+C0tPg0KICAgIDxkaXYgY2xhc3M9ImJvb2tfZm9vdGVyIj4NCiAgICAJUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyBWNTdfR0JLPC9hPiAmY29weTsgMjAwNC0yMDExICA8YSBocmVmPSJodHRwOi8vd3d3LmRlc2Rldi5jbi8iPkRlc0RldiBJbmMuPC9hPjxiciAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+Z2hmZ2ZoZmRkIC0gztK1xM341b48L3RpdGxlPg0KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIGRzZmRmc2s7bGZkam1zbG1kc2ZtbmZkc2prZ25mIGJkZmprc2dqc2QsZ2Zub2l1c2RoZixoa2pnc2RmaGprc2ggIj4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib3h5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0nL2luY2x1ZGUvZGVkZWFqYXgyLmpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL3N0YXJzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL2pxdWVyeS5ib3h5LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IA0KCSAgJCgiLmJveHkiKS5ib3h5KCk7DQogIH0pDQpmdW5jdGlvbiBTaG93U3RhckluZm8oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfc3RhcmluZm8nKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MyZhamF4dHlwZT1pbmZvIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBTaG93cmF0aW5nKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3JhdGluZycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD0zIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2xvZ2luc3RhLnBocCIpOw0KICBteWFqYXggPSBudWxsOw0KfQ0KZnVuY3Rpb24gY2hlY2tTdWJtaXQoKXsNCglpZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPScnKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsNCgllbHNlIGFsZXJ0KCLGwMLbxNrI3bK7xNzOqr/Vo6EiKTsNCn0NCmZ1bmN0aW9uIHBvc3RCYWRHb29kKGZ0eXBlLGZpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrZmlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdiYWRnb29kaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCXZhciBzYXZlaWRzID0gc2F2ZWlkLnNwbGl0KCcsJyk7DQoJCXZhciBoYXNpZCA9IGZhbHNlOw0KCQlzYXZlaWQgPSAnJzsNCgkJaiA9IDE7DQoJCWZvcihpPXNhdmVpZHMubGVuZ3RoLTE7aT49MDtpLS0pDQoJCXsNCgkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCQllbHNlIHsNCgkJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCQkJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJCQlqKys7DQoJCQkJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkJCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJCX0NCgkJfQ0KCQlpZihoYXNpZCkgeyBhbGVydCgnxPq41bLF0tGx7b72uf3By+C4o6EnKTsgcmV0dXJuIGZhbHNlO30NCgkJZWxzZSBzYXZlaWQgKz0gJywnK2ZpZDsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLGZpZCwxKTsNCgl9DQoJbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQoJbXlhamF4LlNlbmRHZXQyKCIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0iK2ZpZCsiJmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2xvZ2luLnBocCI+tcfCvDwvYT48L3NwYW4+ILvyIDxzcGFuPjxhIGhyZWY9Ii9tZW1iZXIvaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Jy9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+yP25+tHd0uU8L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgIAkJCTxsaT48YSBocmVmPScvbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoJPCEtLc23sr+94cr4LS0+DQogICAgPCEtLdbQvOS/qsq8LS0+DQogICAgPGRpdiBpZD0ibWFpbiI+DQogICAJICA8ZGl2IGlkPSJib29rX21haW4iPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19pbmRleCI+tbHHsM671sOjujxhIGhyZWY9Ii9ib29rIj7W99KzPC9hPiA+IDxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTMiPsj9ufrR3dLlPC9hPiA+IGdoZmdmaGZkZA0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJib29rX2xlZnQiPjwhLS3X87Hfv6rKvC0tPg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPrG+1MLIyMPFzbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KCQkJCQkJCTxsaT48YSBocmVmPScvYm9vay8xL2RmYXNmZHNhZnMtMS5odG1sJz5kZmFzZmRzYWZzPC9hPjwvbGk+DQoJCQkJCQkJDQoJCQkJCQkJPGxpPjxhIGhyZWY9Jy9ib29rLzEvZmdkc2dmZHNnc2RmLTIuaHRtbCc+Zmdkc2dmZHNnc2RmPC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+zca89s28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9kZmFzZmRzYWZzLTEuaHRtbCc+ZGZhc2Zkc2FmczwvYT48L2xpPg0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAJCTxsaT48YSBocmVmPScvYm9vay8xL2ZnZHNnZmRzZ3NkZi0yLmh0bWwnPmZnZHNnZmRzZ3NkZjwvYT48L2xpPg0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7OxNXC0MXPoqO6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2Zvcm0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nMSI+PGltZyBzcmM9Ii9pbWFnZXMvZGVmYXVsdHBpYy5naWYiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTYwIiBhbHQ9ImdoZmdmaGZkZCIvPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV90ZXh0MiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbW1lbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+Z2hmZ2ZoZmRkIDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCTxoMj7X99Xfo7phZG1pbjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgIDxoMj7kr8DAwb+jujxzY3JpcHQgc3JjPSIvYm9vay9jb3VudGJvb2sucGhwP3ZpZXc9eWVzJmFpZD0zIiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7A4NDNo7o8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0zIj7I/bn60d3S5TwvYT48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wazU2M3qs8mjusGs1NjW0C4uLjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7Jz7zcyrG85KO6MjAxMS0wMi0xODwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YSBocmVmPSIvcGx1cy9zdG93LnBocD9haWQ9MyZ0eXBlPWJvb2smdGl0bGU9Z2hmZ2ZoZmRkIiB0YXJnZXQ9Il9ibGFuayI+ytWy2DwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJ0ZXh0Ij7GwLzb1eKxvsrpo7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQiPg0KICAgICAgICAgICAgICAJCQkJCSAgIDxkaXYgaWQ9Il9yYXRpbmciIHN0eWxlPSJwYWRkaW5nLXRvcDogMnB4OyI+PC9kaXY+DQoJCQkgCQkJCQkgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dyYXRpbmcoKTs8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJfc3RhcmluZm8iPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93U3RhckluZm8oKTs8L3NjcmlwdD4gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPtfu0MLVwr3ao7o8YSBocmVmPScvYm9vay9zdG9yeS5waHA/aWQ9Myc+SE1GRjwvYT48L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV90aXRsZSI+zbzK6b3pydyjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNnYXJlYSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD4NCglkc2ZkZnNrO2xmZGptc2xtZHNmbW5mZHNqa2duZiBiZGZqa3NnanNkLGdmbm9pdXNkaGYsaGtqZ3NkZmhqa3NoPC9wPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV9saXN0dGFibGUiPtXCvdrB0LHto7oNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RleHR0YWJsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfdGV4dHRpdGxlIj612jHVwiDErMjP1cK92g0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfbGlzdHRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkbCBpZD0iY2hhcHRlcmxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSIvYm9vay9zdG9yeS5waHA/aWQ9MSI+tdoxvdogRFNBRkRTPC9hPjwvZGQ+PGRkPjxhIGhyZWY9Ii9ib29rL3N0b3J5LnBocD9pZD0yIj612jK92iBGR0hCRDwvYT48L2RkPjxkZD48YSBocmVmPSIvYm9vay9zdG9yeS5waHA/aWQ9MyI+tdozvdogSE1GRjwvYT48L2RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgPCEtLSBjb21tZW50LS0+DQoJCQk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7ICI+CQ0KCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCTxkdD4NCgkJCQkJCTxzdHJvbmc+1+7QwsbAwts8L3N0cm9uZz4NCgkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0zIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgPC9kdD4NCgkJCQkJPGRkPg0KCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50Ij4NCgkJCQkJCTxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSIvcGx1cy9ib29rZmVlZGJhY2tfanMucGhwP2FpZD0zIj48L3NjcmlwdD4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudCAtLT4NCgkJCQkJPC9kZD4NCgkJCQkJPC9kbD4NCgkJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJCTxkdD4NCgkJCQkJCQk8c3Ryb25nPreise3GwMLbPC9zdHJvbmc+DQoJCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTMiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQoJCQkJCSAgPC9kdD4NCgkJCQkJCTxkZD4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnRfcG9zdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocCIgbWV0aG9kPSJwb3N0IiBuYW1lPSJmZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InNlbmQiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbXR5cGUiIHZhbHVlPSJjb21tZW50cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFpZCIgdmFsdWU9IjMiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC10aXRsZSI+DQoJCQkJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtY29udGVudCI+DQoJCQkJCQkJCSAgPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiPjwvdGV4dGFyZWE+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iZ29vZCIgaWQ9ImRjbXAtc3RhbmQtZ29vZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWdvb2QiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWdvb2QuZ2lmIiAvPrrDxsA8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJiYWQiIGlkPSJkY21wLXN0YW5kLWJhZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWJhZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtYmFkLmdpZiIgLz6y7sbAPC9sYWJlbD48L3NwYW4+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtc3RhbmQgLS0+PCEtLSAvZGNtcC1jb250ZW50IC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLW1vb2QiPg0KCQkJCQkJCQkJPHN0cm9uZz6x7cfpOjwvc3Ryb25nPg0KCQkJCQkJCQkJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzcnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNy5naWYiIC8+PC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtbW9vZCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1wb3N0Ij48IS0tzrS1x8K9LS0+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXVzZXJpbmZvIiBpZD0iX2FqYXhfZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJCdHp1qTC6zo8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndmFsaWRhdGUnIHNpemU9JzQnIGNsYXNzPSdpcHQtdHh0JyAvPjxpbWcgc3JjPSIvaW5jbHVkZS92ZGltZ2NrLnBocCIgaWQ9InZhbGlkYXRlaW1nIiBzdHlsZT0iY3Vyc29yOnBvaW50ZXIiIG9uY2xpY2s9InRoaXMuc3JjPXRoaXMuc3JjKyc/JyIgdGl0bGU9IrXju/fO0rj8u7vNvMasIiBhbHQ9IrXju/fO0rj8u7vNvMasIiAvPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90dXNlciIgaWQ9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPsTkw/s/IDwvbGFiZWw+DQoJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgIAkJCQkJCQkNCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtc3VibWl0Ij4NCgkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0nY2hlY2tTdWJtaXQoKSc+t6Kx7cbAwts8L2J1dHRvbj4NCgkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9mb3JtPg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50X3Bvc3QgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJPC9kbD4NCgkJPC9kaXY+PCEtLSBjb21tZW50IC0tPgkgICAgICANCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwhLS3W0LzkveHK+C0tPg0KICAgIDxkaXYgY2xhc3M9ImJvb2tfZm9vdGVyIj4NCiAgICAJUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyBWNTdfR0JLPC9hPiAmY29weTsgMjAwNC0yMDExICA8YSBocmVmPSJodHRwOi8vd3d3LmRlc2Rldi5jbi8iPkRlc0RldiBJbmMuPC9hPjxiciAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+uuzCpcPOtdq2/tXCIC0gztK1xM341b48L3RpdGxlPg0KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9ItKqtcQsyKu5+izLsNbGLNfbyvYs1rCzxizLsLeoLMuwytXV/rLfLLHqzOIszeK/ryI+DQo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIM/W1NrV/crHtPPRp7HP0rXJ+s3qs8mxz9K1yei8xqGi16vQtLHP0rXC287EtcTKsbryo6y087zSzfnN+dKqv+CwvtK7uPa24CDUwrLFxNzN6rPJ19S8urXEsc/StcLbzsSho8/W1Nq087zS1vfSqra8ysfTw01pY3Jvc29mdCBXb3JkwLSx4LytwtvOxCiyu8LbILj3zrvTw8TEuPaw5rG+o6y7+bG+uabE3La8ysfSu9bCtcSjrNLUz8K88rPGV29yZCmho8jnufuyu8Tcs+S31ldvcmS1xNK70Kkgx7+087mmxNyjrLTzvNLU2terIj4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9Ii9ib29rL2ltYWdlcy9ib3h5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0nL2luY2x1ZGUvZGVkZWFqYXgyLmpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL3N0YXJzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9ib29rL2pzL2pxdWVyeS5ib3h5LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IA0KCSAgJCgiLmJveHkiKS5ib3h5KCk7DQogIH0pDQpmdW5jdGlvbiBTaG93U3RhckluZm8oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfc3RhcmluZm8nKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MiZhamF4dHlwZT1pbmZvIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBTaG93cmF0aW5nKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3JhdGluZycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD0yIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2xvZ2luc3RhLnBocCIpOw0KICBteWFqYXggPSBudWxsOw0KfQ0KZnVuY3Rpb24gY2hlY2tTdWJtaXQoKXsNCglpZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPScnKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsNCgllbHNlIGFsZXJ0KCLGwMLbxNrI3bK7xNzOqr/Vo6EiKTsNCn0NCmZ1bmN0aW9uIHBvc3RCYWRHb29kKGZ0eXBlLGZpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrZmlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdiYWRnb29kaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCXZhciBzYXZlaWRzID0gc2F2ZWlkLnNwbGl0KCcsJyk7DQoJCXZhciBoYXNpZCA9IGZhbHNlOw0KCQlzYXZlaWQgPSAnJzsNCgkJaiA9IDE7DQoJCWZvcihpPXNhdmVpZHMubGVuZ3RoLTE7aT49MDtpLS0pDQoJCXsNCgkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCQllbHNlIHsNCgkJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCQkJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJCQlqKys7DQoJCQkJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkJCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJCX0NCgkJfQ0KCQlpZihoYXNpZCkgeyBhbGVydCgnxPq41bLF0tGx7b72uf3By+C4o6EnKTsgcmV0dXJuIGZhbHNlO30NCgkJZWxzZSBzYXZlaWQgKz0gJywnK2ZpZDsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLGZpZCwxKTsNCgl9DQoJbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQoJbXlhamF4LlNlbmRHZXQyKCIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0iK2ZpZCsiJmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2xvZ2luLnBocCI+tcfCvDwvYT48L3NwYW4+ILvyIDxzcGFuPjxhIGhyZWY9Ii9tZW1iZXIvaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Jy9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+uuzCpcPOPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MiI+yP25+tHd0uU8L2E+PC9saT4NCiAgICAgICAgCQkJDQogICAgICAgIAkJCTxsaT48YSBocmVmPScvbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoJPCEtLc23sr+94cr4LS0+DQogICAgPCEtLdbQvOS/qsq8LS0+DQogICAgPGRpdiBpZD0ibWFpbiI+DQogICAJICA8ZGl2IGlkPSJib29rX21haW4iPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19pbmRleCI+tbHHsM671sOjujxhIGhyZWY9Ii9ib29rIj7W99KzPC9hPiA+IDxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPrrswqXDzjwvYT4gPiC67MKlw8612rb+1cINCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va19sZWZ0Ij48IS0t1/Ox37+qyrwtLT4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj6xvtTCyMjDxc28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCgkJCQkJCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9ob25nbG91bWVuZ2RpeWl6aGFuZ2ppZS0xLmh0bWwnPrrswqXDzrXa0rvVwr3aPC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+zca89s28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9ob25nbG91bWVuZ2RpeWl6aGFuZ2ppZS0xLmh0bWwnPrrswqXDzrXa0rvVwr3aPC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj48IS0t1/Ox373hyvgtLT4NCg0KICAgICAgICAgIAk8ZGl2IGlkPSJib29rX3JpZ2h0Ij48IS0t09Kx37+qyrwtLT4NCiAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX25ld3MiPjwhLS3Qwsrpyc+83C0tPg0KICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3NfdGl0bGUgdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPs7E1cLQxc+io7o8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfZm9ybTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9pbWcxIj48aW1nIHNyYz0iL2ltYWdlcy9kZWZhdWx0cGljLmdpZiIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxNjAiIGFsdD0iuuzCpcPOtdq2/tXCIi8+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT667MKlw8612rb+1cIgPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGgyPtf31d+jumFkbWluPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgPGgyPuSvwMDBv6O6PHNjcmlwdCBzcmM9Ii9ib29rL2NvdW50Ym9vay5waHA/dmlldz15ZXMmYWlkPTIiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij48L3NjcmlwdD48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsDg0M2jujxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPrrswqXDzjwvYT48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wazU2M3qs8mjusGs1NjW0C4uLjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7Jz7zcyrG85KO6MjAxMS0wMi0xNjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YSBocmVmPSIvcGx1cy9zdG93LnBocD9haWQ9MiZ0eXBlPWJvb2smdGl0bGU9uuzCpcPOtdq2/tXCIiB0YXJnZXQ9Il9ibGFuayI+ytWy2DwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJ0ZXh0Ij7GwLzb1eKxvsrpo7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQiPg0KICAgICAgICAgICAgICAJCQkJCSAgIDxkaXYgaWQ9Il9yYXRpbmciIHN0eWxlPSJwYWRkaW5nLXRvcDogMnB4OyI+PC9kaXY+DQoJCQkgCQkJCQkgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dyYXRpbmcoKTs8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJfc3RhcmluZm8iPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93U3RhckluZm8oKTs8L3NjcmlwdD4gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPtfu0MLVwr3ao7o8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV90aXRsZSI+zbzK6b3pydyjujwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNnYXJlYSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD4NCgnP1tTa1f3Kx7Tz0aexz9K1yfrN6rPJsc/StcnovMahoter0LSxz9K1wtvOxLXEyrG68qOstPO80s35zfnSqr/gsL7Su7j2tuA8YnIgLz4NCgnUwrLFxNzN6rPJ19S8urXEsc/StcLbzsSho8/W1Nq087zS1vfSqra8ysfTw01pY3Jvc29mdCBXb3JkwLSx4LytwtvOxCiyu8LbPGJyIC8+DQoJuPfOu9PDxMS49rDmsb6jrLv5sb65psTctrzKx9K71sK1xKOs0tTPwrzys8ZXb3JkKaGjyOe5+7K7xNyz5LfWV29yZLXE0rvQqTxiciAvPg0KCce/tPO5psTco6y087zS1NrXq9C0us2x4Lytvc+zpMaqt/m1xL/GvLzC287EtcTKsbryo6y/ycTcvq2zo9Kqzqqyu7bPtdi19zxiciAvPg0KCdX7uPHKvbb4t7PE1aGj1NrV4sDvztKw0dfUvLrS1MewyrnTw1dvcmS1xL6t0em6zb3M0bXX3L3h0rvPwqOs0tTH88XX16nS/TxiciAvPg0KCdPxoaM8YnIgLz4NCgk8YnIgLz4NCgnSu8aqwtvOxNOmuMOw/MCowb249rLjtM61xLqs0uWjusTayN3T67Htz9ajrMTayN3Kx9a4zsTVwtf31d/Tw8C0se2079fUvLo8YnIgLz4NCgnLvM/rtcTOxNfWoaLNvMasoaKx7bjxoaK5q8q9vLDV+7j2zsTVwrXE1cK92rbOwuS94bm5tcijrLHtz9bU8srH1rjC287E0rM8YnIgLz4NCgnD5rTz0KGhorHfvuChorj31tbX1szloaLX1rrFtciho8/gzay1xMTayN2/ydLU09Cyu82stcSx7c/Wo6zA/cjn0rvGqs7E1cI8YnIgLz4NCgnU2rK7zay1xLP2sObJ57P2sOa74dPQsrvNrLXEse3P1qO7tviyu82stcTE2sjdv8nS1Mq508PP4M2stcSx7c/Wo6zA/cjn0rs8YnIgLz4NCgm49sbav6/Jz7eise21xMv509DOxNXCtcSx7c/WtrzKx8/gzay1xKGj1eLBvdXftcS52M+1srvR1NfUw/ehozxiciAvPg0KCTxiciAvPg0KCbHK1d/Iz86qo6zC287EJmxkcXVvO7Htz9YmcmRxdW87tcSx4Lyto6zKx9K7uPa3x7Ojt9HKsbfRwaa1xLmk1/eho8jnufvU2tC0wtvOxNaux7A8YnIgLz4NCgmjrNf2wcu497e9w+a1xNe8sbijrLKisLTV1dK7tqi1xLnmwsnAtLHg0LS6zcXFwdCjrLvhxvC1vcrCsOu5prG2tcTQp7n7o7s8YnIgLz4NCgm38dTyo6y74bj4xOO0+MC0zt7H7s7evqG1xM20v+Cho7HK1d+4+b7d19S8utC0y7bKv8LbzsS1xMzl0emjrM/yuPfOu8zhuak8YnIgLz4NCgnI58/CvajS6aOsuam087zSss6/vKGjPGJyIC8+DQoJPGJyIC8+DQoJMaGi08O6w9H5yr08YnIgLz4NCgk8YnIgLz4NCgmx4NC0wtvOxKOs0ru2qNKqyrnTw9H5yr2jrLP9wctXb3Jk1K3PyMv5zOG5qbXEserM4qGi1f3OxLXI0fnKvc3io6y7ub/JPGJyIC8+DQoJ0tTX1Lao0uXR+cq9oaMgyOe5+8Tjt6LP1tfUvLrKx9PD0aHW0M7E19bIu7rz08O48cq9wLjAtMnotqi48cq9tcSjrNK7tqjSqjxiciAvPg0KCdei0uKjrM/rz+vG5Mv7tdi3vcrHt/HQ6NKqz+DNrLXEuPHKvaOsyOe5+8rHtcS7sKOs1+66w77NtqjS5dK7uPbR+cq9oaO21DxiciAvPg0KCdPaz+DNrMXFsOax7c/WtcTE2sjd0ru2qNKqvOGz1sq508PNs9K7tcTR+cq9o6zV4tH51/bE3LTztPO89cnZuaTX98G/us2z9jxiciAvPg0KCbTtu/q74aGjyOe5+9KqttTFxbDmuPHKvaOozsS1tbHtz9ajqdf2tffV+6Os1rvQ6NK7tM7Q1NDeuMTP4LnY0fnKvby0v8mhozxiciAvPg0KCcq508PR+cq9tcTB7dK7uPa6w7Smyse/ydLU08kgV29yZCDX1Lavyfqzybj31tbEv8K8us3L99L9oaM8YnIgLz4NCgk8YnIgLz4NCgnSu7Djx+m/9s/Co6yyu8Lb16vQtNGnyvXC287Eu/LV39GnzrvC287Eo6zP4NOmtcTU09a+yee78tGnzrvK2tPou/q5uba8u+E8YnIgLz4NCgm4+b7dxuS+38zl0qrH86OsuPjC287E16vQtNXf0ru49sfls/61xLjxyr3SqsfzoaOxyMjno6zSqsfzy87M5aGi0KHLxKOs0NA8YnIgLz4NCgm85L7gMTew9bXItciho9Xi0fmjrMLbzsS1xNer0LTV377Nv8nS1NTa16vQtMLbzsTHsLbU0fnKvb340NDSu7esyei2qKOs1eI8YnIgLz4NCgnR+b7Nu+G63Le9seO1xLHg0LTC287EwcuhozxiciAvPg0KCTxiciAvPg0KCcjnscrV39PDTWljcm9zb2Z0IE9mZmljZSBXb3JkIDIwMDO9+NDQ0fnKvcnovMbI58/CzbyjujxiciAvPg0KCTxiciAvPg0KCTKhosq508O9u7Lm0v3Tw8no1sOx4LrFPGJyIC8+DQoJPGJyIC8+DQoJ0ru2qLK70qrX1Ly6x8Ox4LrFo6zNxrz2yrnTw727subS/dPDo6y38dTyyta2r8rkyOu1xLHgusW8q7/JxNy4+MTjzsTVwrXEPGJyIC8+DQoJ0N64xLT4wLTO3sfutcS687u8oaOx6szitcSx4LrFv8nS1M2ouf3J6NbDserM4tH5yr3AtMq1z9ajrLHtuPG6zc280M61xLHgPGJyIC8+DQoJusXNqLn9yejWw8zi16K1xLHgusXAtM3qs8mho9Ta0LQmbGRxdW87ss68+7XaeNXCoaLI5828eMv5yr4mcmRxdW87tcjX1tH5yrGjrLK70qrX1DxiciAvPg0KCby6x8Ox4LrFo6zTpsq508O9u7Lm0v3Tw6Gj1eLR+df20tS686OstbGy5cjru/LJvrP90MK1xMTayN3KsaOsy/nT0LXEseC6xTxiciAvPg0KCbrN0v3Tw7a8vavX1LavuPzQwqOszt7Q6MjLwabOrLukoaOyosfSv8nS1NfUtq/J+rPJzbyhorHtxL/CvKGjPGJyIC8+DQoJPGJyIC8+DQoJM6GittTG6zxiciAvPg0KCTxiciAvPg0KCdK7tqiyu9Kq08PK1ravx8O/1bjxwLS077W9ttTG67XExL+1xKGj1rvT0NOizsS1pbTKvOSyxbvh09C/1bjxo6zW0M7EzsQ8YnIgLz4NCgm1tcO709C/1bjxoaPL+dPQtcS21MbrtrzTprjDwPvTw7Hqs9+hotbGse3Ou6GittTG67e9yr26zbbOwuS1xMv1vfi1yMC0vfg8YnIgLz4NCgnQ0KGjyOe5+7eiz9bX1Ly6yta2r7Tywcu/1bjxo6zSu7ao0qq998n3o6zP68/ryse38b/J0tTNqLn9xuTL+7e9t6jAtLHcw+I8YnIgLz4NCgmho82swO2jrNK7tqiyu9Kqzai5/cfDu9iztcC0tffV+7bOwuS1xLzkvuChozxiciAvPg0KCTxiciAvPg0KCTShorvmzby8vMfJPGJyIC8+DQoJPGJyIC8+DQoJwtvOxNbQu+HTw7W9uty24M28se2jrLHK1d/Hv8HSvajS6cLbzsTXq9C01d+31sflwtvOxNbQtcTNvNDOus2x7bjxo6yx7TxiciAvPg0KCbjxv8nS1Mq508NXb3JkzOG5qbXEuaS+37340NCx4NC0o6y63LzytaWjrNXiwO++zbK71NnXuMr2wcuho7/yzby6zcH3s8zNvDxiciAvPg0KCbXEseC8raOsscrV38e/wdK9qNLpyrnTw09mZmljZSAyMDAz1tCw87aotcRNaWNyb3NvZnQgT2ZmaWNlIFZpc2lvIFByb2ZlczxiciAvPg0KCXNpb25hbCAyMDAzu62ho8jnufuyu8TcyMzK3FZpc2lvttTP87i01sa1vVdvcmS1xMvZtsijrLu5v8nS1MrUytRTbWFyZERyYTxiciAvPg0KCXejrLmmxNyyu7HIVmlzaW/I9aOsyrnTw7K7schWaXNpb8TRo6zL2bbIyLS/7LbgwcuhozxiciAvPg0KCTxiciAvPg0KCTWhorHgvK3K/dGnuavKvTxiciAvPg0KCTxiciAvPg0KCdTawtvOxNbQseC8rcr90ae5q8q9o6y49sjLvajS6cq508NNYXRoVHlwZTUuMKOsxuTKtVdvcmS8r7PJtcS5q8q9seC8rcb3PGJyIC8+DQoJvs3Kx8v8tcQzLjCw5qGjsLLXsE1hdGhUeXBluvOjrFdvcmS74dT2vNPSu7j2ssu1pc/uo6zG5LmmxNzSu8S/wcvIu6Gjzca89jxiciAvPg0KCcq508MgTWF0aFR5cGUgtcTX1LavseC6xbrN0v3Tw7mmxNyjrNXi0fnK18/I09DBvLrDtcS21Mbr0Ke5+6Osu7m/ydLU19S2rzxiciAvPg0KCbj80MKx4LrFoaNXb3JkINX9zsTW0LLlyOu5q8q9tcTSu7j2s6O8+87KzOLKx7DRyc/PwtDQvuC2vLPFtPPBy6Osutyyu8PAuds8YnIgLz4NCgmjrNXisr+31r/J0tTNqLn9ucy2qNDQvuDAtNDe1f2ho7WrysfSqszh0NHC287E16vQtNXfo6zI57n7xOO8xsvju/rJz7Cy17A8YnIgLz4NCgnBy01hdGhUeXBlNS4wuvOjrNer0LS5q8q9tcTL2bbIt8ezo7/so6zVvNPDydnBv7XEQ1BVoaO1q8rHo6y1scTj17yxuLTy06E8YnIgLz4NCgnC287EtcTKsbryo6zSqrzHtcPV0rj2sLTV1cHLTWF0aFR5cGU1LjC1xLzGy+O7+rTy06GjrLK7yLujrM7Sw8e1xLmryr2+zSZsZHF1bzs8YnIgLz4NCgmyu9Lttvi3ySZyZHF1bzvBy6GjPGJyIC8+DQoJPGJyIC8+DQoJNqGiss6/vM7Ez9e1xLHgvK26zbncwO08YnIgLz4NCgk8YnIgLz4NCgnI57n7xOPU2tC0wtvOxMqxssXP67W90qrV+8Dtss6/vM7Ez9ejrL7N0tG+rcyrs9nBy6OstavX3LHIwtvOxNC0tb2yzr+8PGJyIC8+DQoJzsTP18TH0rvSs8qxssXIpdX7wO3SqrrDoaPTprjD0fizyb+0zsTVwrXEzazKsb7N1fvA7bLOv7zOxM/XtcTPsLnfoaPK1rmkPGJyIC8+DQoJ1fvA7bLOv7zOxM/Xyse63M20v+C1xKOstvjH0rrcyN3S17P2tO2ho1dvcmTDu9PQzOG5qbncwO2yzr+8zsTP17XEuabE3KOsPGJyIC8+DQoJ08Oy5cjrzrLXorXEt723qNKyutyyu7XYtcChozxiciAvPg0KCTxiciAvPg0KCc7SvajS6cq508NSZWZlcmVuY2UgTWFuYWdlcqOsy/zT61dvcmS8r7PJtcO3x7OjusOjrMzhuam8tNC0vLTS/dPDo6hDaXQ8YnIgLz4NCgllIHdoaWxlIHlvdSB3cml0ZaOsvPKzxkN3eXejqbXEuabE3KGjxOPL+df2tcTWu8rHz/HM7rHtuPHSu9H5tdjK5Mjrz+C52NDFPGJyIC8+DQoJz6KjrMjnxqrD+6Gi1/fV36GixOq33bXI1NrOxNXC1tDQ6NKq0v3Tw87Ez9e1xLXEt72y5cjrseq8x6Osy/y74c6qxOPJ+rPJPGJyIC8+DQoJt8ezo8PAudu6zdeo0rW1xLLOv7zOxM/XwdCx7aOssqLH0rbUss6/vM7Ez9e1xNL908Ox4LrF0rLKx9fUtq/J+rPJus24/NDCPGJyIC8+DQoJtcSho9Xis/3By7/J0tSxo7PWuPHKvcnPtcTSu9bCoaK55re2o6y89cnZs/a07bv6u+HN4qOsuPy/ydLUsdzD4tX9zsTW0LbUPGJyIC8+DQoJss6/vM7Ez9e1xNL908O6zbLOv7zOxM/XwdCx7dauvOS1xLK7xqXF5KGjsqLH0rTTs6TUtsC0y7WjrLG+tM7K5MjrtcSyzr+8PGJyIC8+DQoJzsTP19DFz6K/ydLU1Nq98brz1ti4tMD708OjrLTTtvjSu8DN08DS3aGjPGJyIC8+DQoJPGJyIC8+DQoJN6GiyrnTw7fWvdq3+zxiciAvPg0KCTxiciAvPg0KCcjnufvPo8371NrSu8aqzsS1tcDvtcO1vbK7zay1xNKzw7yhotKzvcWhotKzwuu48cq9o6y/ydLUsuXI67fWvdq3+6OssqI8YnIgLz4NCgm4+MO/0ru92sno1sOyu82stcS48cq9oaM8YnIgLz4NCgk8YnIgLz4NCgnJz8r2xt+147a8yse52NPaxcWw5rXEvajS6aOsu7nKx9Kqx7+199K7semjrNf31d+52NDEtcTW2LXjysfOxNXCtcTE2sjdPGJyIC8+DQoJo6zOxNXCtcSx7c/Wvs29u7j4V29yZMiltKbA7aGjyOe5+8Tjt6LP1tfUvLrV/dTa1/bT687E1cLE2sjdzt652LXEt7HL9rXEPGJyIC8+DQoJxcWw5rmk1/ejrNK7tqjSqs2jz8LAtNGn0rvPwldvcmS1xLDv1vqjrNLyzqpXb3JkINTn0tHM4bmpwcvX47m7x7+087XEuabE3DxiciAvPg0KCaGjPGJyIC8+DQoJPGJyIC8+DQoJOKGiyrnTw9fTzsS1tTxiciAvPg0KCTxiciAvPg0KCdGnzrvC287E1sHJ2dKqvLjKrtKzo6zH0rD8wKi088G/tcTNvMasoaK5q8q9oaKx7bjxo6yxyL3PxdO086GjyOe5+8v509A8YnIgLz4NCgm1xMTayN22vLGjtObU2tK7uPbOxLz+wO+jrLTyv6qhorGjtOahornYsdW2vNDo0qq63LOktcTKsbzko6zH0rK7saPP1aGjPGJyIC8+DQoJPGJyIC8+DQoJvajS6cLbzsS1xMO/0rvVwrGjtOa1vdK7uPbX087EtbWjrLb41NrW97/YzsS1tdbQyejWw9H5yr2ho9Xi0fnDv7j2zsS8/jxiciAvPg0KCdChwcujrLHgvK3L2bbIv+yjrLb4x9K+zcvjzsS1tcvwu7WjrNKy1rvT0NK71cK1xMvwyqejrLK71sHT2sirvvy4ssPwoaO9qDxiciAvPg0KCdLpz8i9qNb3v9jOxLW1o6y009b3v9jOxLW11tC0tL2o19POxLW1o6y49sjLuNC+9bHIz8jQtNfTzsS1tdTZsuXI67W91ve/2DxiciAvPg0KCc7EtbXSqrrDoaM8YnIgLz4NCgk8YnIgLz4NCgk5oaK8sMqxsaO05qGituDX9rG4t908YnIgLz4NCgk8YnIgLz4NCgnJ6NbD19S2r7GjtOajrLu509DSu9PQv9W+zUN0cmwrU6GjPGJyIC8+DQoJPGJyIC8+DQoJsru1q1dvcmSyu7/Jv7+jrFdpbmRvd3PSsrK7v8m/v6Osw7/M7LXEuaTX97a80qrT0LG4t92yxbrDoaNXb3JkzOG5qcHLsOY8c3BhbiBzdHlsZT0iZGlzcGxheTogbm9uZSI+Jm5ic3A7PC9zcGFuPjwvcD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfbGlzdHRhYmxlIj7Vwr3awdCx7aO6DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgPCEtLSBjb21tZW50LS0+DQoJCQk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7ICI+CQ0KCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCTxkdD4NCgkJCQkJCTxzdHJvbmc+1+7QwsbAwts8L3N0cm9uZz4NCgkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwP2FpZD0yIj6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgPC9kdD4NCgkJCQkJPGRkPg0KCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50Ij4NCgkJCQkJCTxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSIvcGx1cy9ib29rZmVlZGJhY2tfanMucGhwP2FpZD0yIj48L3NjcmlwdD4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudCAtLT4NCgkJCQkJPC9kZD4NCgkJCQkJPC9kbD4NCgkJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJCTxkdD4NCgkJCQkJCQk8c3Ryb25nPreise3GwMLbPC9zdHJvbmc+DQoJCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTIiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQoJCQkJCSAgPC9kdD4NCgkJCQkJCTxkZD4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnRfcG9zdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocCIgbWV0aG9kPSJwb3N0IiBuYW1lPSJmZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InNlbmQiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbXR5cGUiIHZhbHVlPSJjb21tZW50cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFpZCIgdmFsdWU9IjIiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC10aXRsZSI+DQoJCQkJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtY29udGVudCI+DQoJCQkJCQkJCSAgPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiPjwvdGV4dGFyZWE+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iZ29vZCIgaWQ9ImRjbXAtc3RhbmQtZ29vZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWdvb2QiPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvY210LWdvb2QuZ2lmIiAvPrrDxsA8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJiYWQiIGlkPSJkY21wLXN0YW5kLWJhZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWJhZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtYmFkLmdpZiIgLz6y7sbAPC9sYWJlbD48L3NwYW4+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtc3RhbmQgLS0+PCEtLSAvZGNtcC1jb250ZW50IC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLW1vb2QiPg0KCQkJCQkJCQkJPHN0cm9uZz6x7cfpOjwvc3Ryb25nPg0KCQkJCQkJCQkJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtMS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzcnLz48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL21vb2QvaWNvLW1vb2QtNy5naWYiIC8+PC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtbW9vZCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1wb3N0Ij48IS0tzrS1x8K9LS0+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXVzZXJpbmZvIiBpZD0iX2FqYXhfZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJCdHp1qTC6zo8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndmFsaWRhdGUnIHNpemU9JzQnIGNsYXNzPSdpcHQtdHh0JyAvPjxpbWcgc3JjPSIvaW5jbHVkZS92ZGltZ2NrLnBocCIgaWQ9InZhbGlkYXRlaW1nIiBzdHlsZT0iY3Vyc29yOnBvaW50ZXIiIG9uY2xpY2s9InRoaXMuc3JjPXRoaXMuc3JjKyc/JyIgdGl0bGU9IrXju/fO0rj8u7vNvMasIiBhbHQ9IrXju/fO0rj8u7vNvMasIiAvPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90dXNlciIgaWQ9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPsTkw/s/IDwvbGFiZWw+DQoJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgIAkJCQkJCQkNCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtc3VibWl0Ij4NCgkJCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0nY2hlY2tTdWJtaXQoKSc+t6Kx7cbAwts8L2J1dHRvbj4NCgkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9mb3JtPg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50X3Bvc3QgLS0+DQoJCQkJCTwvZGQ+DQoJCQkJPC9kbD4NCgkJPC9kaXY+PCEtLSBjb21tZW50IC0tPgkgICAgICANCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwhLS3W0LzkveHK+C0tPg0KICAgIDxkaXYgY2xhc3M9ImJvb2tfZm9vdGVyIj4NCiAgICAJUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyBWNTdfR0JLPC9hPiAmY29weTsgMjAwNC0yMDExICA8YSBocmVmPSJodHRwOi8vd3d3LmRlc2Rldi5jbi8iPkRlc0RldiBJbmMuPC9hPjxiciAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+uuzCpcPOtdrSu9XCvdogLSDO0rXEzfjVvjwvdGl0bGU+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iIj4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIgwdb37NPxvfi81riuIMHW9+zT8b34vNa4riDB1vfs0/G9+LzWuK4gwdb37NPxvfi81riuIMHW9+zT8b34vNa4riDB1vfs0/G9+LzWuK4gwdb37NPxvfi81riuICI+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8bGluayBocmVmPSIvYm9vay9pbWFnZXMvYm94eS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyBzcmM9Jy9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iL2Jvb2svanMvai5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9zdGFycy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvYm9vay9qcy9qcXVlcnkuYm94eS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyANCgkgICQoIi5ib3h5IikuYm94eSgpOw0KICB9KQ0KZnVuY3Rpb24gU2hvd1N0YXJJbmZvKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3N0YXJpbmZvJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPTEmYWpheHR5cGU9aW5mbyIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gU2hvd3JhdGluZygpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19yYXRpbmcnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svYm9va3N0YXJzLnBocD9iaWQ9MSIpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gQ2hlY2tMb2dpbigpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2tfd2VsY29tZScpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCIiLCIiLCIiKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9sb2dpbnN0YS5waHAiKTsNCiAgbXlhamF4ID0gbnVsbDsNCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCl7DQoJaWYoZG9jdW1lbnQuZmVlZGJhY2subXNnLnZhbHVlIT0nJykgZG9jdW1lbnQuZmVlZGJhY2suc3VibWl0KCk7DQoJZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7DQp9DQpmdW5jdGlvbiBwb3N0QmFkR29vZChmdHlwZSxmaWQpDQp7DQoJdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZ0eXBlK2ZpZCk7DQoJdmFyIHNhdmVpZCA9IEdldENvb2tpZSgnYmFkZ29vZGlkJyk7DQoJaWYoc2F2ZWlkICE9IG51bGwpDQoJew0KCQl2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQl2YXIgaGFzaWQgPSBmYWxzZTsNCgkJc2F2ZWlkID0gJyc7DQoJCWogPSAxOw0KCQlmb3IoaT1zYXZlaWRzLmxlbmd0aC0xO2k+PTA7aS0tKQ0KCQl7DQoJCQlpZihzYXZlaWRzW2ldPT1maWQgJiYgaGFzaWQpIGNvbnRpbnVlOw0KCQkJZWxzZSB7DQoJCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmICFoYXNpZCkgaGFzaWQgPSB0cnVlOw0KCQkJCXNhdmVpZCArPSAoc2F2ZWlkPT0nJyA/IHNhdmVpZHNbaV0gOiAnLCcrc2F2ZWlkc1tpXSk7DQoJCQkJaisrOw0KCQkJCWlmKGo9PTEwICYmIGhhc2lkKSBicmVhazsNCgkJCQlpZihqPT05ICYmICFoYXNpZCkgYnJlYWs7DQoJCQl9DQoJCX0NCgkJaWYoaGFzaWQpIHsgYWxlcnQoJ8T6uNWyxdLRse2+9rn9wcvguKOhJyk7IHJldHVybiBmYWxzZTt9DQoJCWVsc2Ugc2F2ZWlkICs9ICcsJytmaWQ7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxzYXZlaWQsMSk7DQoJfQ0KCWVsc2UNCgl7DQoJCVNldENvb2tpZSgnYmFkZ29vZGlkJyxmaWQsMSk7DQoJfQ0KCW15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KCW15YWpheC5TZW5kR2V0MigiL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9IitmaWQrIiZhY3Rpb249IitmdHlwZSsiJmZpZD0iK2ZpZCk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPGxpbmsgaHJlZj0iLi4vLi4vaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0iL21lbWJlci9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSIvbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT48L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX3RvcGltZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGJnIj4NCiAgICAgICAgCQk8ZGl2IGlkPSJib29rX2xvZ28iPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfYmFubmVyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgIAk8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va19tZW51YmciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va19tZW51Ij4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2dvIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPScvYm9vayc+1vfSszwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTEiPrrswqXDzjwvYT48L2xpPg0KICAgICAgICAJCQkNCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9ib29rL2xpc3QucGhwP2lkPTIiPsj9ufrR3dLlPC9hPjwvbGk+DQogICAgICAgIAkJCQ0KICAgICAgICAJCQk8bGk+PGEgaHJlZj0nL21lbWJlcic+u+HUsdbQ0MQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KCTwhLS3Nt7K/veHK+C0tPg0KICAgIDwhLS3W0Lzkv6rKvC0tPg0KICAgIDxkaXYgaWQ9Im1haW4iPg0KICAgCSAgPGRpdiBpZD0iYm9va19tYWluIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfaW5kZXgiPrWxx7DOu9bDo7o8YSBocmVmPSIvYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD0xIj667MKlw848L2E+ID4guuzCpcPOtdrSu9XCvdoNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va19sZWZ0Ij48IS0t1/Ox37+qyrwtLT4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj6xvtTCyMjDxc28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkNCgkJCQkJCQk8bGk+PGEgaHJlZj0nL2Jvb2svMS9ob25nbG91bWVuZ2RpZXJ6aGFuZy0yLmh0bWwnPrrswqXDzrXatv7VwjwvYT48L2xpPg0KCQkJCQkJCQ0KCQkJCQkJCTxsaT48YSBocmVmPScvYm9vay8xL0RBRlNGQVNELTMuaHRtbCc+REFGU0ZBU0Q8L2E+PC9saT4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7Nxrz2zbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPtfcteO798XF0NANCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCgkJICAJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAJCTxsaT48YSBocmVmPScvYm9vay8xL2hvbmdsb3VtZW5nZGllcnpoYW5nLTIuaHRtbCc+uuzCpcPOtdq2/tXCPC9hPjwvbGk+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgIAkJPGxpPjxhIGhyZWY9Jy9ib29rLzEvREFGU0ZBU0QtMy5odG1sJz5EQUZTRkFTRDwvYT48L2xpPg0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7OxNXC0MXPoqO6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2Zvcm0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nMSI+PGltZyBzcmM9Ii9pbWFnZXMvZGVmYXVsdHBpYy5naWYiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTYwIiBhbHQ9IrrswqXDzrXa0rvVwr3aIi8+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT667MKlw8612tK71cK92iA8L2gxPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAk8aDI+1/fV36O6YWRtaW48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICA8aDI+5K/AwMG/o7o8c2NyaXB0IHNyYz0iL2Jvb2svY291bnRib29rLnBocD92aWV3PXllcyZhaWQ9MSIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPjwvc2NyaXB0PjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+wODQzaO6PGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9MSI+uuzCpcPOPC9hPjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7BrNTYzeqzyaO6wazU2NbQLi4uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsnPvNzKsbzko7oyMDExLTAyLTE2PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxhIGhyZWY9Ii9wbHVzL3N0b3cucGhwP2FpZD0xJnR5cGU9Ym9vayZ0aXRsZT267MKlw8612tK71cK92iIgdGFyZ2V0PSJfYmxhbmsiPsrVstg8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJydGV4dCI+xsC829Xisb7K6aO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0Ij4NCiAgICAgICAgICAgICAgCQkJCQkgICA8ZGl2IGlkPSJfcmF0aW5nIiBzdHlsZT0icGFkZGluZy10b3A6IDJweDsiPjwvZGl2Pg0KCQkJIAkJCQkJICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93cmF0aW5nKCk7PC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iX3N0YXJpbmZvIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+U2hvd1N0YXJJbmZvKCk7PC9zY3JpcHQ+IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz7X7tDC1cK92qO6PGEgaHJlZj0nL2Jvb2svc3RvcnkucGhwP2lkPTEnPs73087B9NS6PC9hPjwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RpdGxlIj7NvMrpvenJ3KO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2dhcmVhIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPg0KCcHW9+zT8b34vNa4rjwvcD4NCjxwPg0KCcHW9+zT8b34vNa4rjwvcD4NCjxwPg0KCcHW9+zT8b34vNa4rjwvcD4NCjxwPg0KCcHW9+zT8b34vNa4rjwvcD4NCjxwPg0KCcHW9+zT8b34vNa4rjwvcD4NCjxwPg0KCcHW9+zT8b34vNa4rjwvcD4NCjxwPg0KCcHW9+zT8b34vNa4rjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBub25lIj4mbmJzcDs8L3NwYW4+PC9wPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV9saXN0dGFibGUiPtXCvdrB0LHto7oNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RleHR0YWJsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfdGV4dHRpdGxlIj612jHVwiDErMjP1cK92g0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2FydGljbGVfbGlzdHRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkbCBpZD0iY2hhcHRlcmxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSIvYm9vay9zdG9yeS5waHA/aWQ9MSI+tdoxvdogtdrSu73aPC9hPjwvZGQ+PGRkPjxhIGhyZWY9Ii9ib29rL3N0b3J5LnBocD9pZD0yIj612jK92iC12rb+vdo8L2E+PC9kZD48ZGQ+PGEgaHJlZj0iL2Jvb2svc3RvcnkucGhwP2lkPTMiPrXaM73aIM73087B9NS6PC9hPjwvZGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICA8IS0tIGNvbW1lbnQtLT4NCgkJCTxkaXYgc3R5bGU9InRleHQtYWxpZ246bGVmdDsgIj4JDQoJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJPGR0Pg0KCQkJCQkJPHN0cm9uZz7X7tDCxsDC2zwvc3Ryb25nPg0KCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9Ii9wbHVzL2Jvb2tmZWVkYmFjay5waHA/YWlkPTEiPrLpv7TL+dPQxsDC2zwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICA8L2R0Pg0KCQkJCQk8ZGQ+DQoJCQkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnQiPg0KCQkJCQkJPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9Ii9wbHVzL2Jvb2tmZWVkYmFja19qcy5waHA/YWlkPTEiPjwvc2NyaXB0Pg0KCQkJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50IC0tPg0KCQkJCQk8L2RkPg0KCQkJCQk8L2RsPg0KCQkJCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJCQkJPGR0Pg0KCQkJCQkJCTxzdHJvbmc+t6Kx7cbAwts8L3N0cm9uZz4NCgkJCQkJCQk8c3BhbiBjbGFzcz0ibW9yZSI+PGEgaHJlZj0iL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9haWQ9MSI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCgkJCQkJICA8L2R0Pg0KCQkJCQkJPGRkPg0KCQkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudF9wb3N0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIvcGx1cy9ib29rZmVlZGJhY2sucGhwIiBtZXRob2Q9InBvc3QiIG5hbWU9ImZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0ic2VuZCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29tdHlwZSIgdmFsdWU9ImNvbW1lbnRzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWlkIiB2YWx1ZT0iMSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaXNjb25maXJtIiB2YWx1ZT0ieWVzIiAvPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXRpdGxlIj4NCgkJCQkJCQkJCTxzbWFsbD7H69fUvvXX8crYu6XBqs34z+C52LXE1f6y37eoueajrNHPvfu3orK8yavH6aGisanBpqGit7S2r7XE0dTC26GjPC9zbWFsbD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC10aXRsZSAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1jb250ZW50Ij4NCgkJCQkJCQkJICA8dGV4dGFyZWEgY29scz0iNjAiIG5hbWU9Im1zZyIgcm93cz0iNSI+PC90ZXh0YXJlYT4NCgkJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRjbXAtc3RhbmQiPg0KCQkJCQkJCQkJPHN0cm9uZz7GwLzbOjwvc3Ryb25nPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIGNoZWNrZWQ9IjEiIHZhbHVlPSJmZWVkYmFjayIgaWQ9ImRjbXAtc3RhbmQtbmV1IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtbmV1Ij48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1uZXUuZ2lmIiAvPtbQwaI8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJnb29kIiBpZD0iZGNtcC1zdGFuZC1nb29kIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtZ29vZCI+PGltZyBzcmM9Ii90ZW1wbGV0cy9kZWZhdWx0L2ltYWdlcy9jbXQtZ29vZC5naWYiIC8+usPGwDwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9ImJhZCIgaWQ9ImRjbXAtc3RhbmQtYmFkIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtYmFkIj48aW1nIHNyYz0iL3RlbXBsZXRzL2RlZmF1bHQvaW1hZ2VzL2NtdC1iYWQuZ2lmIiAvPrLuxsA8L2xhYmVsPjwvc3Bhbj4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1zdGFuZCAtLT48IS0tIC9kY21wLWNvbnRlbnQgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtbW9vZCI+DQoJCQkJCQkJCQk8c3Ryb25nPrHtx+k6PC9zdHJvbmc+DQoJCQkJCQkJCQk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc2JyBjaGVja2VkPSIxIiAvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC02LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNCcvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC00LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0zLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC01LmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMicvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0yLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nMScvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC0xLmdpZiIgLz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNycvPjxpbWcgc3JjPSIvdGVtcGxldHMvZGVmYXVsdC9pbWFnZXMvbW9vZC9pY28tbW9vZC03LmdpZiIgLz48L2xpPg0KCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1tb29kIC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXBvc3QiPjwhLS3OtLXHwr0tLT4NCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdXNlcmluZm8iIGlkPSJfYWpheF9mZWVkYmFjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJ0enWpMLrOjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd2YWxpZGF0ZScgc2l6ZT0nNCcgY2xhc3M9J2lwdC10eHQnIC8+PGltZyBzcmM9Ii9pbmNsdWRlL3ZkaW1nY2sucGhwIiBpZD0idmFsaWRhdGVpbWciIHN0eWxlPSJjdXJzb3I6cG9pbnRlciIgb25jbGljaz0idGhpcy5zcmM9dGhpcy5zcmMrJz8nIiB0aXRsZT0iteO7987SuPy7u828xqwiIGFsdD0iteO7987SuPy7u828xqwiIC8+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJub3R1c2VyIiBpZD0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdWJtaXQtZ3Vlc3QiIC8+xOTD+z8gPC9sYWJlbD4NCgkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgCQkJCQkJCQ0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1zdWJtaXQiPg0KCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBvbkNsaWNrPSdjaGVja1N1Ym1pdCgpJz63orHtxsDC2zwvYnV0dG9uPg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Zvcm0+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnRfcG9zdCAtLT4NCgkJCQkJPC9kZD4NCgkJCQk8L2RsPg0KCQk8L2Rpdj48IS0tIGNvbW1lbnQgLS0+CSAgICAgIA0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPCEtLdbQvOS94cr4LS0+DQogICAgPGRpdiBjbGFzcz0iYm9va19mb290ZXIiPg0KICAgIAlQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVkZWNtcy5jb20vIj5EZWRlQ21zIFY1N19HQks8L2E+ICZjb3B5OyAyMDA0LTIwMTEgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVzZGV2LmNuLyI+RGVzRGV2IEluYy48L2E+PGJyIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgIDwvZGl2Pg0KDQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogYm9vay5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCiANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi8uLi9pbmNsdWRlL2NvbW1vbi5pbmMucGhwIik7DQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICcvaW5jbHVkZS9zdG9yeS52aWV3LmNsYXNzLnBocCcpOw0KJGJpZCA9IChlbXB0eSgkYmlkKSA/IDAgOiBpbnR2YWwoJGJpZCkpOw0KaWYoJGJpZD09MCkNCnsNCiAgICBQYXJhbUVycm9yKCk7DQp9DQokYnYgPSBuZXcgQm9va1ZpZXcoJGJpZCwgJ2Jvb2snKTsNCiRpc2NoZWNrID0gJGJ2LT5GaWVsZHNbJ2lzY2hlY2snXTsNCmlmKCRpc2NoZWNrID09IDApDQp7DQogICAgcmVxdWlyZV9vbmNlKERFREVJTkMuICIvLi4vaW5jbHVkZS9tZW1iZXJsb2dpbi5jbGFzcy5waHAiKTsNCiAgICAkbWwgPSBuZXcgTWVtYmVyTG9naW4oKTsNCiAgICBpZigkYnYtPkZpZWxkc1snbWlkJ10gIT0gJG1sLT5NX0lEKQ0KICAgIHsNCiAgICAgICAgc2hvd21zZygnzbzK6c60vq3J87rLJywgJGNmZ19tYWluc2l0ZS4kY2ZnX2Ntc3BhdGguJy9ib29rJyk7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQp9DQokYnYtPkRpc3BsYXkoKTsNCiRidi0+Q2xvc2UoKTsNCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogYm9va3N0YXJzLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KIA0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vaW5jbHVkZS9jb21tb24uaW5jLnBocCIpOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvLi4vaW5jbHVkZS9tZW1iZXJsb2dpbi5jbGFzcy5waHAnKTsNCkFqYXhIZWFkKCk7DQokYWpheHR5cGUgPSBpc3NldCgkYWpheHR5cGUpICYmIGluX2FycmF5KCRhamF4dHlwZSxhcnJheSgnaW5mbycsICdzaW5nbGUnKSkgPyAkYWpheHR5cGUgOiAnc2luZ2xlJzsNCiRiaWQgPSAoaXNzZXQoJGJpZCkgJiYgaXNfbnVtZXJpYygkYmlkKSkgPyAkYmlkIDogMDsNCmlmKCRiaWQ9PTApe2RpZSgiIFJlcXVlc3QgRXJyb3IhICIpO30NCg0KJGN1cmluZm8gPSBhcnJheSgpOw0KJHVzZXJuYW1lID0gIiI7DQokY2ZnX21sID0gbmV3IE1lbWJlckxvZ2luKCk7DQoNCiRzcWwgPSAiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfYm9va3N0YXJzIFdIRVJFIGJpZD0nJGJpZCcgIjsNCiRkc3FsLT5FeGVjdXRlKCdydCcsJHNxbCk7DQppZigkcm93ID0gJGRzcWwtPkdldFRvdGFsUm93KCdydCcpID09IDApew0KICAgICRkZWZhdWx0YXJyeSA9IHNlcmlhbGl6ZShhcnJheSgxPT4nMCcsMj0+JzAnLDM9PicwJyw0PT4nMCcsNT0+JzAnKSk7DQogICAgJHNxbCA9ICJJTlNFUlQgSU5UTyAjQF9fc3RvcnlfYm9va3N0YXJzIChgYmlkYCxgdG90YWx2b3Rlc2AsIGB0b3RhbHZhbHVlYCwgYHZvdGVpbmZvYCwgYHVzZWRpZHNgKSBWQUxVRVMgKCckYmlkJywgJzAnLCAnMCcsJyRkZWZhdWx0YXJyeScsICcnKSI7DQogICAgJHJlc3VsdCA9ICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRzcWwpOw0KfQ0KJG51bWJlcnMgPSAkZHNxbC0+R2V0QXJyYXkoJ3J0Jyk7DQppZiAoJG51bWJlcnNbJ3RvdGFsdm90ZXMnXSA8IDEpIHsNCiAgICAkY291bnQgPSAwOw0KfSBlbHNlIHsNCiAgICAkY291bnQgPSAkbnVtYmVyc1sndG90YWx2b3RlcyddOyANCn0NCiRjdXJyYXRpbmcgPSAkbnVtYmVyc1sndG90YWx2YWx1ZSddOyANCiRjdXJpbmZvID0gdW5zZXJpYWxpemUoJG51bWJlcnNbJ3ZvdGVpbmZvJ10pOw0KaWYoaXNfYXJyYXkoJGN1cmluZm8gKSkga3Jzb3J0KCRjdXJpbmZvKTsNCiRzcWwgPSAiU0VMRUNUIHVzZWRpZHMgRlJPTSAjQF9fc3RvcnlfYm9va3N0YXJzIFdIRVJFIHVzZWRpZHMgTElLRSAnJSIuJGNmZ19tbC0+TV9Vc2VyTmFtZS4iJScgQU5EIGJpZD0nIi4kYmlkLiInICI7DQokZHNxbC0+RXhlY3V0ZSgndnQnLCAkc3FsKTsNCiRteXZvdGVpbmZvID0gJGRzcWwtPkdldEFycmF5KCd2dCcpOw0KJHZvdGVkID0gJGRzcWwtPkdldFRvdGFsUm93KCd2dCcpOw0KDQoNCi8vtaW49tDH0Me148bAz9TKvsTayN3Qxc+iDQovL2Z1bmN0aW9uIHNpbmdsZSgpeyB9DQoNCmlmKCRhamF4dHlwZSA9PSAnc2luZ2xlJykNCnsNCiAgICBpZigkY2ZnX21sLT5NX0lEID4gMCkNCiAgICB7DQogICAgICAgICR1c2VybmFtZSA9ICRjZmdfbWwtPk1fVXNlck5hbWU7DQogICAgfWVsc2V7DQogICAgICAgIGVjaG8gIrXHwr2687LFv8nS1L340NDGwLzbISI7DQogICAgfQ0KICAgIGlmKCR2b3RlZCkNCiAgICB7DQogICAgICAgIC8vt6LP1tLRvq3GwLzbuf24w8rpDQogICAgICAgICRteXZvdGVpbmZvID0gIWVtcHR5KCRteXZvdGVpbmZvWyd1c2VkaWRzJ10pPyB1bnNlcmlhbGl6ZSgkbXl2b3RlaW5mb1sndXNlZGlkcyddKSA6IGFycmF5KCk7DQogICAgICAgICR1c2Vydm90ZSA9IGFycmF5KCk7DQogICAgICAgICRpbmZvc3RyID0gIiI7DQogICAgICAgIGZvcmVhY2ggKCRteXZvdGVpbmZvIGFzICRrZXkgPT4gJHZhbHVlKSB7DQogICAgICAgICAgJHVzZXJ2b3RlID0gZXhwbG9kZSgiXiIsICR2YWx1ZSk7DQogICAgICAgICAgaWYoJHVzZXJ2b3RlWzBdID09ICR1c2VybmFtZSkgJGluZm9zdHIgPSAnPHVsIGNsYXNzPSJyYXRpbmcgJy5zd2l0Y2hOdW0oJHVzZXJ2b3RlWzFdKS4nc3RhciI+IDwvdWw+IDxkaXYgY2xhc3M9InBqdGV4dCI+xPq1xMbAt9bOqjonLiR1c2Vydm90ZVsxXS4nt9YhPC9kaXY+JzsNCiAgICAgICAgfQ0KICAgICAgICBlY2hvICRpbmZvc3RyOw0KICAgICAgICANCiAgICB9ZWxzZXsNCiAgICAgICAgLy/Du9PQxsDC27n908O7p7/J0tTM4b27xsDC2w0KICAgICAgICAkaW5mb3N0ciA9ICc8dWwgY2xhc3M9InJhdGluZyAiPic7DQogICAgICAgIGZvciAoJGkgPSAxOyAkaSA8PTUgOyAkaSsrKSB7DQogICAgICAgICAgICAkaW5mb3N0ciAuPSAnICA8bGkgY2xhc3M9Iicuc3dpdGNoTnVtKCRpKS4nIj48YSBocmVmPSIvYm9vay9zdGFyZGIucGhwP2JpZD0nLiRiaWQuJyZzdGFyPScuJGkuJyIgdGl0bGU9IsbAt9ay2df3Jy4kaS4nt9YiIGNsYXNzPSJib3h5Ij4nLiRpLic8L2E+PC9saT4nOw0KICAgICAgICB9DQogICAgICAgIGVjaG8gJGluZm9zdHI7DQogICAgfQ0KICAgIA0KfQ0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLy/Tw9Paz9TKvrXjxsDQxc+itcRhamF4DQpmdW5jdGlvbiBpbmZvKCl7IH0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQplbHNlaWYoJGFqYXh0eXBlID09ICdpbmZvJykNCnsNCiAgICAvL9XiwO/Tw8C0tKbA7c/Uyr61xM22xrHQxc+iDQogICAgJGF2Z3N0YXIgPSBAbnVtYmVyX2Zvcm1hdCgkY3VycmF0aW5nLyRjb3VudCwxKTsvL7zGy+Oz9sa9vvm31jozLjINCiAgICAkcmFua251bSA9IGZsb29yKGNlaWwoJGF2Z3N0YXIpLzIpOw0KICAgICRpbmZvc3RyID0gJzxkaXYgY2xhc3M9ImJvb2tfYXZlcmFnZSI+JzsNCiAgICAkaW5mb3N0ciAuPSAnICA8dWwgY2xhc3M9ImF2ZXJhZ2Ugc3RhcicuJHJhbmtudW0uJyI+PC91bD4nOw0KICAgICRpbmZvc3RyIC49ICcgIDxzcGFuIGNsYXNzPSJmbCBtYXJrIj4nLiRhdmdzdGFyLie31jwvc3Bhbj4nOw0KICAgICRpbmZvc3RyIC49ICc8L2Rpdj4nOw0KICAgICRpbmZvc3RyIC49ICc8ZGl2IGNsYXNzPSJmciBldmEiPqOoJy4kY291bnQuJ8jLxsC826OpPC9kaXY+JzsNCiAgICAvL7WlzPXNtsaxtcTNs7zG0MXPog0KICAgICRpbmZvc3RyIC49ICc8ZGl2IGNsYXNzPSJib29rX2F2ZXJhZ2UiPjx1bCBjbGFzcz0ic21hbGxzdGFyIj4nOw0KICAgIGZvcmVhY2ggKCRjdXJpbmZvIGFzICRrZXkgPT4gJHZhbHVlKSB7DQogICAgICAkaW5mb3N0ciAuPSAnPGxpPjxzcGFuIGNsYXNzPSJtc3RhciBzJy4ka2V5LiciPjwvc3Bhbj48c3BhbiBjbGFzcz0icG93ZXIiIHN0eWxlPSJ3aWR0aDonLmZsb29yKEBudW1iZXJfZm9ybWF0KCgkdmFsdWUvJGNvdW50KSo1NSwxKSkuJ3B4OyI+PC9zcGFuPicuQG51bWJlcl9mb3JtYXQoKCR2YWx1ZS8kY291bnQpKjEwMCwxKS4nJTwvbGk+Jy4iXG5cciI7DQogICAgfQ0KICAgIGVjaG8gJGluZm9zdHI7DQp9DQoNCi8v16q7u7y4uPbS8s6qyv3X1s6q06LOxNfWt/sNCmZ1bmN0aW9uIHN3aXRjaE51bSgkbnVtPTUpDQp7DQogICAgJHNudW1hcnJheSA9IGFycmF5KDE9PidvbmUnLDI9Pid0d28nLDM9Pid0aHJlZScsND0+J2ZvdXInLDU9PidmaXZlJyk7DQogICAgcmV0dXJuIGVtcHR5KCRzbnVtYXJyYXlbJG51bV0pPyAnJyA6ICRzbnVtYXJyYXlbJG51bV07DQp9DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogY29udHJvbC5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLy4uL21lbWJlci9jb25maWcucGhwIik7DQpDaGVja1JhbmsoMCwwKTsNCmlmKCFpc3NldCgkYWN0aW9uKSkNCnsNCiAgICAkYWN0aW9uID0gJyc7DQp9DQovL7bByKHL+dPQwLjEvw0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2xhc3NuYW1lLHBpZCxyYW5rLGJvb2t0eXBlIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgT1JERVIgQlkgcmFuayBBU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokcmFua3MgPSBBcnJheSgpOw0KJGJ0eXBlcyA9IEFycmF5KCk7DQokc3R5cGVzID0gQXJyYXkoKTsNCiRib29rdHlwZXMgPSBBcnJheSgpOw0Kd2hpbGUoJHJvdyA9ICRkc3FsLT5HZXRBcnJheSgpKQ0Kew0KICAgIGlmKCRyb3dbJ3BpZCddPT0wKQ0KICAgIHsNCiAgICAgICAgJGJ0eXBlc1skcm93WydpZCddXSA9ICRyb3dbJ2NsYXNzbmFtZSddOw0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgICAkc3R5cGVzWyRyb3dbJ3BpZCddXVskcm93WydpZCddXSA9ICRyb3dbJ2NsYXNzbmFtZSddOw0KICAgIH0NCiAgICAkcmFua3NbJHJvd1snaWQnXV0gPSAkcm93WydyYW5rJ107DQogICAgaWYoJHJvd1snYm9va3R5cGUnXT09JzAnKQ0KICAgIHsNCiAgICAgICAgJGJvb2t0eXBlc1skcm93WydpZCddXSA9ICfQocu1JzsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJGJvb2t0eXBlc1skcm93WydpZCddXSA9ICfC/rutJzsNCiAgICB9DQp9DQokbGFzdGlkID0gJHJvd1snaWQnXTsNCiRtc2cgPSAnJzsNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi90ZW1wbGV0cy9ib29rL3N0b3J5X2FkZC5odG0iKTsNCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogY291bnRib29rLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQoNCiRfX09OTFlEQiA9IHRydWU7DQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvLi4vaW5jbHVkZS9jb21tb24uaW5jLnBocCIpOw0KJGlkID0gaW50dmFsKCRhaWQpOw0KJGlkID0gcHJlZ19yZXBsYWNlKCIjW14wLTldIyIsIiIsJGlkKTsNCiRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgI0BfX3N0b3J5X2Jvb2tzIFNFVCBjbGljaz1jbGljaysxIFdIRVJFIGJpZD0nJGlkJyIpOw0KaWYoIWVtcHR5KCR2aWV3KSkNCnsNCiAgICAkcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNsaWNrIEZST00gI0BfX3N0b3J5X2Jvb2tzICBXSEVSRSBiaWQ9JyRpZCciKTsNCiAgICBlY2hvICJkb2N1bWVudC53cml0ZSgnIi4kcm93WydjbGljayddLiInKTtcclxuIjsNCn0NCmV4aXQoKTsNCi8vyOe5+8/rz9TKvrXju/e0zsr9LMfr1Pa803ZpZXeyzsr9LLy0sNHPwsPmo8qj07X308O3xbW9zsS1tcSjsOXKyrWxzrvWww0KLyo8c2NyaXB0IHNyYz0ie2RlZGU6ZmllbGQgbmFtZT0ncGhwdXJsJy99L2NvdW50Ym9vay5waHA/dmlldz15ZXMmYWlkPXtkZWRlOmZpZWxkIG5hbWU9J2lkJy99IiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+PC9zY3Jp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Va+OUQXpVRlOT4pAJZCgbAICGDNxYAQolYkYioSZsiRCadUFeBegJaBlSIYXxT7ZacRkxIY0V5BYPHaVwIOLTfzUeUNFxoULDu6cKfEjl0UzDEIzGFTVBg8MK6K4cOCg1g5blJxwsehIgW3bF4Op6UDHAwhfXoLsEUPqFpYAJ3RRaMC8wYMQC1rNMTZpEYxVnk5JgUUMlaQABwoYlIrwYVMEFW4qINqSYhgtPhBAWahS6hAuKwFqHNjPn38cTSwIwgoEecgyARiE9PKIKEYYVBAmruARCwQWTIBMD2uQ0EYyAnxxRA4FhCiiiKEkMsUuhQTCxiVZLEGRAHoYIOOMNBqgwQxAEKFDJFCMQtGPQAbZRRhKkAEHMEEmGSQOKPDyixw3KCllQp204MMflaDxY0AAOw==
QGNoYXJzZXQgImdiMjMxMiI7DQovKiDQocu1xrW1wCAqLw0KDQovKiAtLSDIq77WtqjOuyAtLSovDQoqIHsgbWFyZ2luOjBweCBhdXRvOyBwYWRkaW5nOjBweDsgZm9udC1zaXplOjEycHg7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgbGlzdC1zdHlsZS10eXBlOm5vbmU7ICB9DQpodG1sLCBib2R5eyBtYXJnaW46YXV0bzsgcGFkZGluZzowcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmOyB0ZXh0LWFsaWduOmNlbnRlcjsgfQ0KI2NvbnRhaW5lcnsgbWFyZ2luOmF1dG87IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyB9DQouY2xlYXJ7IGNsZWFyOmJvdGg7IGZvbnQtc2l6ZTowcHg7IH0NCi50aXRsZXtmb250LXNpemU6MTRweDsgY29sb3I6IzQ0NDsgZm9udC13ZWlnaHQ6Ym9sZDt9DQppbWd7Ym9yZGVyOjBweDt9DQpheyBjb2xvcjojNjY2NjY2Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lO30NCmE6aG92ZXJ7IGNvbG9yOiNGRjY2MDA7fQ0KLmFsbHR4dHtoZWlnaHQ6IDE0cHg7fQ0KDQovKiDNt7K/tqjOuyAqLw0KI2Jvb2tfaGVhZGVye3dpZHRoOjEwMCU7IH0NCiNib29rX3RvcHtiYWNrZ3JvdW5kOnVybChib29rX3RvcC5naWYpIHJlcGVhdC14OyB3aWR0aDoxMDAlOyBoZWlnaHQ6MzJweDsgfQ0KI2Jvb2tfdG9wbG9nb3tiYWNrZ3JvdW5kOnVybChib29rX3RvcGxvZ28uZ2lmKSBuby1yZXBlYXQgMjBweCA2cHg7IHdpZHRoOjIwMHB4OyBoZWlnaHQ6MzJweDsgZmxvYXQ6bGVmdDt9DQojYm9va193ZWxjb21le2NvbG9yOiM4MjgyODI7IGhlaWdodDozMnB4OyBsaW5lLWhlaWdodDozMnB4OyBwYWRkaW5nLXJpZ2h0OjQwcHg7IHRleHQtYWxpZ246cmlnaHQ7IH0NCiNib29rX3dlbGNvbWUgc3BhbiBhe2NvbG9yOiNlZTAwMDA7fQ0KI2Jvb2tfd2VsY29tZSBzcGFuIGE6aG92ZXJ7Y29sb3I6IzAwMDt9DQojYm9va190b3BpbWd7d2lkdGg6MTAwJTt9DQojYm9va190b3BiZ3tiYWNrZ3JvdW5kOnVybChib29rX3RvcGJnLmdpZikgbm8tcmVwZWF0OyB3aWR0aDo4MjBweDsgaGVpZ2h0Ojk3cHg7fQ0KI2Jvb2tfbG9nb3tiYWNrZ3JvdW5kOnVybChib29rX2xvZ28uZ2lmKSBuby1yZXBlYXQ7IHdpZHRoOjE1NXB4OyBoZWlnaHQ6NTFweDsgZmxvYXQ6bGVmdDsgbWFyZ2luLXRvcDoyM3B4OyBtYXJnaW4tbGVmdDoxMHB4O30NCiNib29rX2Jhbm5lcntiYWNrZ3JvdW5kOnVybChib29rX2Jhbm5lci5naWYpIG5vLXJlcGVhdDsgd2lkdGg6NDY5cHg7IGhlaWdodDo3MnB4OyBmbG9hdDpsZWZ0OyBtYXJnaW46MTJweCAwIDAgMjBweDt9DQojYm9va19tZW51Ymd7YmFja2dyb3VuZDp1cmwoYm9va19tZW51YmcuZ2lmKSByZXBlYXQteDsgaGVpZ2h0OjMwcHg7IG1hcmdpbi1ib3R0b206MnB4OyB9IC8qILW8ur2xs76wICovDQojYm9va19tZW51e2hlaWdodDozMHB4OyBsaW5lLWhlaWdodDozMHB4OyBjb2xvcjojYzRjNGM0OyB3aWR0aDo4MjBweDsgfQ0KI2Jvb2tfbWVudSB1bCB7bGlzdC1zdHlsZTpub25lO30NCiNib29rX21lbnUgbGkge2hlaWdodDozMHB4OyBsaW5lLWhlaWdodDozMHB4OyBmbG9hdDpsZWZ0OyBmb250LXNpemU6MTNweDsgdGV4dC1hbGlnbjpjZW50ZXI7IHdpZHRoOjEwMHB4O30NCiNib29rX21lbnUgbGkgYXtjb2xvcjojYzRjNGM0OyB0ZXh0LWRlY29yYXRpb246bm9uZTsgZm9udC1zaXplOjEzcHg7fQ0KI2Jvb2tfbWVudSBsaSBhOmhvdmVye2JhY2tncm91bmQ6dXJsKGJvb2tfaG92ZXIuZ2lmKSBuby1yZXBlYXQgMCA0cHg7IHdpZHRoOjcwcHg7IGhlaWdodDozMHB4OyBmb250LXdlaWdodDpib2xkOyBjb2xvcjojZmZmOyBkaXNwbGF5OmJsb2NrOyAgfQ0KI2Jvb2tfZ297YmFja2dyb3VuZDp1cmwoYm9va19nby5naWYpIG5vLXJlcGVhdDsgd2lkdGg6MTZweDsgaGVpZ2h0OjE2cHg7IG1hcmdpbi10b3A6N3B4OyBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDoxMHB4OyB9IA0KI21haW57d2lkdGg6MTAwJTsgYmFja2dyb3VuZDp1cmwoYm9va19tYWluYmcuZ2lmKSByZXBlYXQteDsgfQ0KLyog1tC85LaozrsgKi8NCiNib29rX21haW57IHdpZHRoOjgyMHB4OyBoZWlnaHQ6MTAwJTt9DQojYm9va19pbmRleHtiYWNrZ3JvdW5kOnVybChnaWZfNTdfMDMwLmdpZikgbm8tcmVwZWF0IDEwcHggMThweDsgY29sb3I6Izk5OTsgdGV4dC1pbmRlbnQ6MzVweDsgd2lkdGg6ODAwcHg7IGZsb2F0OmxlZnQ7IHRleHQtYWxpZ246bGVmdDsgcGFkZGluZy10b3A6MjBweDsgbWFyZ2luLWJvdHRvbToxMHB4OyB9DQojYm9va19sZWZ0e3dpZHRoOjE5M3B4OyBtYXJnaW4tcmlnaHQ6MTBweDsgZmxvYXQ6bGVmdDt9DQouYm9va19sZWZ0X21haW57d2lkdGg6MTkxcHg7IGJvcmRlcjoxcHggc29saWQgIzYyNjI2MjsgcGFkZGluZy1ib3R0b206NXB4OyBtYXJnaW4tYm90dG9tOjhweDsgfQ0KLmJvb2tfbGVmdF9tYWluX3RleHR7Y29sb3I6IzVkNWQ1ZDsgdGV4dC1hbGlnbjpsZWZ0OyB0ZXh0LWluZGVudDoxMHB4OyBsaW5lLWhlaWdodDoyMHB4OyAgb3ZlcmZsb3c6aGlkZGVuOyB3aWR0aDoxODFweDsgbWFyZ2luLXRvcDo1cHg7IH0NCi5ib29rX2xlZnRfbWFpbl90ZXh0IGF7Y29sb3I6IzVkNWQ1ZDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7fQ0KLmJvb2tfbGVmdF9tYWluX3RleHQgYTpob3Zlcntjb2xvcjojZmY3MmFlO30NCi5ib29rX2xlZnRfdGl0bGV7YmFja2dyb3VuZDp1cmwoYm9va19sZWZ0dGl0bGUuZ2lmKSByZXBlYXQteDsgaGVpZ2h0OjI4cHg7IGxpbmUtaGVpZ2h0OjI4cHg7IGNvbG9yOiNmZmY7IGZvbnQtd2VpZ2h0OmJvbGQ7fQ0KDQojYm9va19yaWdodHt3aWR0aDo2MTdweDsgZmxvYXQ6bGVmdDt9DQojYm9va19zZWFyY2h7aGVpZ2h0OjM4cHg7IHdpZHRoOjYwNXB4OyBib3JkZXI6MXB4IHNvbGlkICNjYmNiY2I7IGNvbG9yOiM0NDQ7IGZvbnQtd2VpZ2h0OmJvbGQ7IHRleHQtYWxpZ246bGVmdDsgcGFkZGluZy1sZWZ0OjEwcHg7IGxpbmUtaGVpZ2h0OjM4cHg7ICB9DQouYm9va19sYWJlbHsgd2lkdGg6MjY5cHg7IGhlaWdodDoxOHB4OyBib3JkZXI6MXB4IHNvbGlkICNjZGNkY2Q7IGJhY2tncm91bmQtY29sb3I6I2VjZWNlYzsgbWFyZ2luLXRvcDo4cHg7IH0gIA0KLmJvb2tfYnV0dG9ueyBiYWNrZ3JvdW5kOnVybChidG4tYmcyLmdpZikgcmVwZWF0LXggMCAycHg7IHdpZHRoOjcwcHg7IGhlaWdodDoyNXB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgZm9udC1zaXplOjEycHg7IGNvbG9yOiM2NzY3Njc7IGxpbmUtaGVpZ2h0OjMwcHg7IGJvcmRlcjowO30NCi5ib29rX2J1dHRvbiBheyB0ZXh0LWRlY29yYXRpb246bm9uZTsgZm9udC1zaXplOjEycHg7IGNvbG9yOiM2NzY3Njc7fQ0KLmJvb2tfYnV0dG9uIGE6aG92ZXJ7Zm9udC1zaXplOjEycHg7IGNvbG9yOiNhYzAwMDA7fQ0KLmJvb2tfY2xhc3MgeyB3aWR0aDo2MTdweDsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW4tdG9wOjE1cHg7IH0NCi5ib29rX2NsYXNzX3RpdGxleyBiYWNrZ3JvdW5kOnVybChib29rX2NsYXNzLmdpZikgbm8tcmVwZWF0IDVweCAwOyBoZWlnaHQ6MjJweDsgbGluZS1oZWlnaHQ6MjJweDsgdGV4dC1pbmRlbnQ6MzVweDsgIH0NCi5ib29rX2NsYXNzX3RleHR7Ym9yZGVyOjFweCBkb3R0ZWQgI2E1YTVhNTsgd2lkdGg6NTk1cHg7IHBhZGRpbmc6MTBweDsgbWFyZ2luLXRvcDo1cHg7IG92ZXJmbG93OmhpZGRlbjt9DQouYm9va19jbGFzc19mb3Jte3dpZHRoOjU5NXB4OyBvdmVyZmxvdzpoaWRkZW59DQouYm9va19jbGFzc19mb3JtIGR0eyBiYWNrZ3JvdW5kOnVybChib29rX2NsYXNzdGl0bGUuZ2lmKSBuby1yZXBlYXQgMCA1cHg7IGhlaWdodDoyMHB4OyBsaW5lLWhlaWdodDoyMHB4OyB0ZXh0LWluZGVudDoyMHB4OyBmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDt9DQouYm9va19jbGFzc19mb3JtIGR0IGF7Y29sb3I6IzQ0NDsgZm9udC13ZWlnaHQ6Ym9sZDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7fQ0KLmJvb2tfY2xhc3NfZm9ybSBkdCBhOmhvdmVye2NvbG9yOiNmZjcyYWU7fQ0KLmJvb2tfY2xhc3NfZm9ybSBkZHsgd2lkdGg6ODBweDsgaGVpZ2h0OjIwcHg7IGxpbmUtaGVpZ2h0OjIwcHg7IGZsb2F0OmxlZnQ7IH0NCi5ib29rX2NsYXNzX2Zvcm0gZGQgYXtjb2xvcjojNDQ0OyB0ZXh0LWRlY29yYXRpb246bm9uZTt9DQouYm9va19jbGFzc19mb3JtIGRkIGE6aG92ZXJ7Y29sb3I6I2ZmNzJhZTt9DQoNCi5ib29rX25ld3N7d2lkdGg6NjE1cHg7IGJvcmRlcjoxcHggc29saWQgI2NhY2FjYTsgbWFyZ2luLWJvdHRvbToxMHB4OyBtYXJnaW4tdG9wOjEwcHg7fQ0KLmJvb2tfbmV3c190aXRsZXt3aWR0aDo2MTVweDsgYmFja2dyb3VuZC1jb2xvcjojZWZlZmVmOyBoZWlnaHQ6MzVweDsgdGV4dC1hbGlnbjpsZWZ0OyB9DQouYm9va19uZXdzX3RpdGxlIHVse2xpc3Qtc3R5bGU6bm9uZTt9DQouYm9va19uZXdzX3RpdGxlIGxpeyBiYWNrZ3JvdW5kOnVybChib29rX25ld3MuZ2lmKSBuby1yZXBlYXQgMTBweCA2cHg7IGhlaWdodDozNXB4OyBmb250LXNpemU6MTRweDsgY29sb3I6IzQ0NDsgZm9udC13ZWlnaHQ6Ym9sZDsgbGluZS1oZWlnaHQ6MzVweDsgdGV4dC1pbmRlbnQ6NDBweDsgfQ0KLmJvb2tfbmV3c19zdHlsZXt3aWR0aDo1ODRweDsgcGFkZGluZzoxNXB4IDE1cHggMHB4IDE2cHg7fQ0KLmJvb2tfbmV3c19zdHlsZV9mb3Jte3dpZHRoOjI5MnB4OyB0ZXh0LWFsaWduOmxlZnQ7IGZsb2F0OmxlZnQ7IG1hcmdpbi1ib3R0b206MjBweDsgfQ0KLmJvb2tfbmV3c19zdHlsZV9pbWd7d2lkdGg6ODBweDsgaGVpZ2h0OjEwMHB4OyBmbG9hdDpsZWZ0O30NCi5ib29rX25ld3Nfc3R5bGVfdGV4dHt3aWR0aDoyMDJweDsgZmxvYXQ6bGVmdDtwYWRkaW5nLWxlZnQ6MTBweDsgb3ZlcmZsb3c6aGlkZGVuO30NCi5ib29rX25ld3Nfc3R5bGVfdGV4dCBoMXtmb250LXNpemU6MTNweDsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6I2I3MDAwMDsgbGluZS1oZWlnaHQ6MjBweDt9DQouYm9va19uZXdzX3N0eWxlX3RleHQgaDEgYXtmb250LXNpemU6MTNweDsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6I2I3MDAwMDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGxpbmUtaGVpZ2h0OjIwcHg7fQ0KLmJvb2tfbmV3c19zdHlsZV90ZXh0IGgxIGE6aG92ZXJ7IGNvbG9yOiM0NDQ7fQ0KLmJvb2tfbmV3c19zdHlsZV90ZXh0IGgyIGF7Y29sb3I6IzQ0NDt0ZXh0LWRlY29yYXRpb246bm9uZTsgbGluZS1oZWlnaHQ6MjBweDt9DQouYm9va19uZXdzX3N0eWxlX3RleHQgaDN7Y29sb3I6IzQ0NDsgYm9yZGVyLXRvcDoxcHggZG90dGVkICNiZWJlYmU7IHBhZGRpbmctdG9wOjVweDt0ZXh0LWRlY29yYXRpb246bm9uZTsgbGluZS1oZWlnaHQ6MjBweDsgfQ0KLmJvb2tfbmV4dF90aXRsZXt3aWR0aDo2MTVweDsgYmFja2dyb3VuZC1jb2xvcjojZWZlZmVmOyBoZWlnaHQ6MzVweDsgdGV4dC1hbGlnbjpsZWZ0OyB9DQouYm9va19uZXh0X3RpdGxlIHVse2xpc3Qtc3R5bGU6bm9uZTt9DQouYm9va19uZXh0X3RpdGxlIGxpeyBiYWNrZ3JvdW5kOnVybChib29rX25leHQuZ2lmKSBuby1yZXBlYXQgMTBweCA2cHg7IGhlaWdodDozNXB4OyBmb250LXNpemU6MTRweDsgY29sb3I6IzQ0NDsgZm9udC13ZWlnaHQ6Ym9sZDsgbGluZS1oZWlnaHQ6MzVweDsgdGV4dC1pbmRlbnQ6NDBweDsgfQ0KLmJvb2tfbmV4dF9oZWFkZXJ7d2lkdGg6NjEzcHg7IGJvcmRlcjoxcHggc29saWQgI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjojZjhmOGY4OyBoZWlnaHQ6MjVweDsgY29sb3I6IzAwMDsgbGluZS1oZWlnaHQ6MjVweDsgdGV4dC1hbGlnbjpsZWZ0OyB0ZXh0LWluZGVudDoxMHB4O30NCi5ib29rX25leHRfaGVhZGVyIGRse3dpZHRoOjYxM3B4O30NCi5uYW1lX2Jvb2t7d2lkdGg6MjMzcHg7aGVpZ2h0OjI1cHg7ZmxvYXQ6bGVmdDt9DQoubmV3c19ib29re3dpZHRoOjI4NHB4O2hlaWdodDoyNXB4O2Zsb2F0OmxlZnQ7fQ0KLnRpbWVfYm9va3t3aWR0aDo5NnB4O2hlaWdodDoyNXB4O2Zsb2F0OmxlZnQ7fQ0KLmJvb2tfbmV4dF90ZXh0e3dpZHRoOjYxNXB4OyBoZWlnaHQ6MjVweDsgY29sb3I6IzAwMDsgbGluZS1oZWlnaHQ6MjVweDsgdGV4dC1hbGlnbjpsZWZ0OyB0ZXh0LWluZGVudDoxMHB4O30NCi5ib29rX2Zvb3RlcjJ7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2VjZWNlOyBib3JkZXItdG9wOjFweCBzb2xpZCAjY2VjZWNlOyBoZWlnaHQ6MzBweDsgbWFyZ2luLWJvdHRvbToyMHB4OyBtYXJnaW4tdG9wOjIwcHg7IGNvbG9yOiNhNWE1YTU7IGxpbmUtaGVpZ2h0OjMwcHg7IH0NCi5ib29rX2Zvb3RlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7IGJvcmRlcjoxcHggc29saWQgI2NlY2VjZTsgbGluZS1oZWlnaHQ6MjBweDsgbWFyZ2luOjIwcHggMHB4IDIwcHggMHB4OyBjb2xvcjojYTVhNWE1O30NCi8qt9bA4MHQse3SsyovDQouYm9va19jbGFzczF7IHdpZHRoOjYxN3B4OyB0ZXh0LWFsaWduOmxlZnQ7fQ0KLmJvb2tfbmV3c19zdHlsZV9mb3JtMXt3aWR0aDo1ODRweDsgdGV4dC1hbGlnbjpsZWZ0OyBmbG9hdDpsZWZ0OyBtYXJnaW4tYm90dG9tOjEwcHg7IH0NCi5ib29rX25ld3Nfc3R5bGVfdGV4dDF7d2lkdGg6NDk0cHg7IGZsb2F0OmxlZnQ7cGFkZGluZy1sZWZ0OjEwcHg7IG92ZXJmbG93OmhpZGRlbjt9DQouYm9va19uZXdzX3N0eWxlX3RleHQxIGgxe2ZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOiM0NDQ7fQ0KLmJvb2tfbmV3c19zdHlsZV90ZXh0MSBoMSBhe2ZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOiNiNzAwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGxpbmUtaGVpZ2h0OjIwcHg7fQ0KLmJvb2tfbmV3c19zdHlsZV90ZXh0MSBoMntjb2xvcjojNDQ0OyBtYXJnaW4tdG9wOjNweDsgbWFyZ2luLWJvdHRvbTozcHg7fQ0KLmJvb2tfbmV3c19zdHlsZV90ZXh0MSBoMiBheyBjb2xvcjojYjcwMDAwOyB9DQouYm9va19uZXdzX3N0eWxlX3RleHQxIGgze2NvbG9yOiM0NDQ7IGJvcmRlci10b3A6MXB4IGRvdHRlZCAjYmViZWJlOyBwYWRkaW5nLXRvcDo1cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGxpbmUtaGVpZ2h0OjIwcHg7IH0NCi5ib29rX2xpc3RwYWdleyBoZWlnaHQ6MzBweDsgYmFja2dyb3VuZC1jb2xvcjojZjFmMWYxOyBib3JkZXI6MXB4IHNvbGlkICNjYWNhY2E7IGxpbmUtaGVpZ2h0OjMwcHg7IGNvbG9yOiM0NDQ7IG1hcmdpbi10b3A6MTBweDsgfQ0KLmJvb2tfbGlzdHBhZ2UgYXtjb2xvcjojYjcwMDAwOyB0ZXh0LWRlY29yYXRpb246bm9uZTt9DQouYm9va19saXN0cGFnZSBhOmhvdmVye2NvbG9yOiNmZjcyYWU7fQ0KLyrOxNXCvPK96dKzKi8NCi5ib29rX25ld3Nfc3R5bGVfaW1nMXsNCgl3aWR0aDoxMjBweDsNCgloZWlnaHQ6MTYwcHg7DQoJYm9yZGVyOjFweCBkb3R0ZWQgIzhmOGY4ZjsNCglmbG9hdDpsZWZ0Ow0KCXBhZGRpbmc6M3B4Ow0KfQ0KLmJvb2tfbmV3c19zdHlsZV90ZXh0Mnt3aWR0aDo0MzJweDsgZmxvYXQ6bGVmdDtwYWRkaW5nLWxlZnQ6MTBweDsgb3ZlcmZsb3c6aGlkZGVuO30NCi5ib29rX25ld3Nfc3R5bGVfdGV4dDIgIGgxe2ZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOiM0NDQ7IGZvbnQtc2l6ZToxM3B4O21hcmdpbi1ib3R0b206M3B4O30NCi5ib29rX25ld3Nfc3R5bGVfdGV4dDIgIGgxIGF7Zm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6I2I3MDAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTsgbGluZS1oZWlnaHQ6MjBweDsgZm9udC1zaXplOjEzcHg7fQ0KLmJvb2tfbmV3c19zdHlsZV90ZXh0MiAuY29tbWVudHtmbG9hdDogbGVmdDsgd2lkdGg6IDI3MHB4O30NCi5ib29rX25ld3Nfc3R5bGVfdGV4dDIgLmNvbW1lbnQgaDJ7Y29sb3I6IzQ0NDsgbWFyZ2luLXRvcDo1cHg7IG1hcmdpbi1ib3R0b206NXB4OyB3aWR0aDoyNzBweDsgZmxvYXQ6bGVmdDsgb3ZlcmZsb3c6aGlkZGVuOyBoZWlnaHQ6MTZweDt9DQovKtDH0MfGwLfWKi8NCi5ydGV4dHtmbG9hdDpsZWZ0O2NvbG9yOiM2RDZENkQ7d2lkdGg6NzJweDtsaW5lLWhlaWdodDoyMnB4O30NCi5wanRleHR7ZmxvYXQ6bGVmdDtjb2xvcjpncmVlbjtsaW5lLWhlaWdodDoxOHB4O3BhZGRpbmctbGVmdDogNHB4O30NCi5yYXRpbmd7ZmxvYXQ6bGVmdDt3aWR0aDo3MHB4O2hlaWdodDoxNHB4O21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7Y2xlYXI6Ym90aDtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiB1cmwoc3RhcnMuZ2lmKSBuby1yZXBlYXQgMCAwO30NCi5ub3N0YXIge2JhY2tncm91bmQtcG9zaXRpb246MCAwO30NCi5vbmVzdGFyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE0cHg7fQ0KLnR3b3N0YXIge2JhY2tncm91bmQtcG9zaXRpb246MCAtMjhweDt9DQoudGhyZWVzdGFyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTQycHg7fQ0KLmZvdXJzdGFyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTU2cHg7fQ0KLmZpdmVzdGFyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTcwcHg7fQ0KdWwucmF0aW5nIGxpIHtjdXJzb3I6IHBvaW50ZXI7ZmxvYXQ6bGVmdDt0ZXh0LWluZGVudDotOTk5ZW07fQ0KdWwucmF0aW5nIGxpIGEge3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxNHB4O2hlaWdodDoxNHB4O3RleHQtZGVjb3JhdGlvbjpub25lO3otaW5kZXg6IDIwMDt9DQp1bC5yYXRpbmcgbGkub25lIGEge2xlZnQ6MH0NCnVsLnJhdGluZyBsaS50d28gYSB7bGVmdDoxNHB4O30NCnVsLnJhdGluZyBsaS50aHJlZSBhIHtsZWZ0OjI4cHg7fQ0KdWwucmF0aW5nIGxpLmZvdXIgYSB7bGVmdDo0MnB4O30NCnVsLnJhdGluZyBsaS5maXZlIGEge2xlZnQ6NTZweDt9DQp1bC5yYXRpbmcgbGkgYTpob3ZlciB7ei1pbmRleDoyO3dpZHRoOjcwcHg7aGVpZ2h0OjE0cHg7b3ZlcmZsb3c6aGlkZGVuO2xlZnQ6MDsJYmFja2dyb3VuZDogdXJsKHN0YXJzLmdpZikgbm8tcmVwZWF0IDAgMH0NCnVsLnJhdGluZyBsaS5vbmUgYTpob3ZlciB7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNHB4O30NCnVsLnJhdGluZyBsaS50d28gYTpob3ZlciB7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yOHB4O30NCnVsLnJhdGluZyBsaS50aHJlZSBhOmhvdmVyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTQycHg7fQ0KdWwucmF0aW5nIGxpLmZvdXIgYTpob3ZlciB7YmFja2dyb3VuZC1wb3NpdGlvbjowIC01NnB4O30NCnVsLnJhdGluZyBsaS5maXZlIGE6aG92ZXIge2JhY2tncm91bmQtcG9zaXRpb246MCAtNzBweDt9DQoubWFya3ttYXJnaW4tbGVmdDo1cHg7Y29sb3I6I0ZGODQwMDtmb250LXdlaWdodDpib2xkO30NCi5ib29rX25ld3Nfc3R5bGVfdGV4dDIgLnN0YXIge2NvbG9yOiM0NDQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGxpbmUtaGVpZ2h0OjIwcHg7IGZsb2F0OmxlZnQ7IHdpZHRoOjI3MHB4O30NCi5ib29rX25ld3Nfc3R5bGVfdGV4dDIgLnN0YXIgc3Bhbntjb2xvcjojNDQ0O2Zsb2F0OmxlZnQ7IG1hcmdpbi1yaWdodDoxMHB4O30NCi5ib29rX25ld3Nfc3R5bGVfdGV4dDIgLnN0YXIgc3BhbiBhe2NvbG9yOiNiNzAwMDA7fQ0KLmJvb2tfbmV3c19zdHlsZV90ZXh0MiBoM3tjb2xvcjojNDQ0OyBib3JkZXItdG9wOjFweCBkb3R0ZWQgI2JlYmViZTsgcGFkZGluZy10b3A6NXB4O3RleHQtZGVjb3JhdGlvbjpub25lOyBsaW5lLWhlaWdodDoyMHB4OyBmbG9hdDpsZWZ0OyB3aWR0aDo0MDBweDsgfQ0KLmJvb2tfYXJ0aWNsZV90aXRsZXsgYmFja2dyb3VuZC1jb2xvcjojZjFmMWYxOyBjb2xvcjojMDAwOyBoZWlnaHQ6MjVweDsgd2lkdGg6MTAwJTsgZmxvYXQ6bGVmdDsgbWFyZ2luOjVweCAwIDhweDsgbGluZS1oZWlnaHQ6MjVweDsgdGV4dC1hbGlnbjpsZWZ0OyB0ZXh0LWluZGVudDoxMHB4OyB9DQouYm9va19hcnRpY2xlX3RpdGxlX3RleHR7d2lkdGg6NTg0cHg7IGZsb2F0OmxlZnQ7IG1hcmdpbi1ib3R0b206MTBweDt9DQouYm9va19hcnRpY2xlX3RpdGxlX2xhYmVse3dpZHRoOjU2MnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7IGJvcmRlcjoxcHggc29saWQgI2RmZGZkZjsgb3ZlcmZsb3c6aGlkZGVuOyBwYWRkaW5nOjEwcHg7IGhlaWdodDoyMDBweDt9DQouYm9va19hcnRpY2xlX2xpc3R0YWJsZXt3aWR0aDo2MTVweDsgYm9yZGVyLXRvcDoxcHggZG90dGVkICNkZmRmZGY7IGhlaWdodDozMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7IGxpbmUtaGVpZ2h0OjMwcHg7IHRleHQtYWxpZ246bGVmdDsgdGV4dC1pbmRlbnQ6MTBweDt9DQouYm9va19hcnRpY2xlX3RleHR0YWJsZXt3aWR0aDo1ODRweDsgbWFyZ2luLXRvcDoxMHB4OyBtYXJnaW4tYm90dG9tOjIwcHg7fQ0KLmJvb2tfYXJ0aWNsZV90ZXh0dGl0bGV7d2lkdGg6NTg0cHg7IGhlaWdodDozMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjE7IGxpbmUtaGVpZ2h0OjMwcHg7IGNvbG9yOiM0NDQ7IGZvbnQtd2VpZ2h0OmJvbGQ7fQ0KLmJvb2tfYXJ0aWNsZV90ZXh0dGl0bGUgYXsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6IzQ0NDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7fQ0KLmJvb2tfYXJ0aWNsZV9saXN0dGV4dHt3aWR0aDo1NzRweDsgY29sb3I6IzQ0NDsgbGluZS1oZWlnaHQ6MjBweDsgdGV4dC1hbGlnbjpsZWZ0OyBwYWRkaW5nLWxlZnQ6MTBweDsgfQ0KI2NoYXB0ZXJsaXN0IGRkIHtmbG9hdDpsZWZ0O2hlaWdodDoyMHB4O21hcmdpbjowcHg7cGFkZGluZzo2cHggMHB4IDBweDt3aWR0aDoxODBweDsgb3ZlcmZsb3c6aGlkZGVuOyBtYXJnaW46MCA1cHg7fQ0KI2NoYXB0ZXJsaXN0IGRkIGF7IGNvbG9yOiM0NDQ7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9DQojY2hhcHRlcmxpc3QgZGQgYTpob3ZlcnsgY29sb3I6I2ZmNzJhZTsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH0NCi8qIMa9vvm31iAqLw0KLmV2YXt3aWR0aDoxNjBweDtmbG9hdDpyaWdodDtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzpoaWRkZW47Y29sb3I6IzJENzdCQjtwYWRkaW5nLXRvcDogNXB4O30NCi5ib29rX2F2ZXJhZ2V7d2lkdGg6MTYwcHg7ZmxvYXQ6cmlnaHQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiMyRDc3QkI7fQ0KLmF2ZXJhZ2V7ZmxvYXQ6bGVmdDt3aWR0aDo3MHB4O2hlaWdodDoxNHB4O21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7Y2xlYXI6Ym90aDtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiB1cmwoc3RhcnMuZ2lmKSBuby1yZXBlYXQgMCAwO30NCi5zdGFyMCB7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7fQ0KLnN0YXIxIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE0cHg7fQ0KLnN0YXIyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTI4cHg7fQ0KLnN0YXIzIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTQycHg7fQ0KLnN0YXI0IHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTU2cHg7fQ0KLnN0YXI1IHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTcwcHg7fQ0KdWwuYXZlcmFnZSBsaSB7Y3Vyc29yOiBwb2ludGVyO2Zsb2F0OmxlZnQ7dGV4dC1pbmRlbnQ6LTk5OWVtO30NCnVsLmF2ZXJhZ2UgbGkgYSB7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ei1pbmRleDogMjAwO30NCnVsLmF2ZXJhZ2UgbGkub25lIGEge2xlZnQ6MH0NCnVsLmF2ZXJhZ2UgbGkudHdvIGEge2xlZnQ6MTRweDt9DQp1bC5hdmVyYWdlIGxpLnRocmVlIGEge2xlZnQ6MjhweDt9DQp1bC5hdmVyYWdlIGxpLmZvdXIgYSB7bGVmdDo0MnB4O30NCnVsLmF2ZXJhZ2UgbGkuZml2ZSBhIHtsZWZ0OjU2cHg7fQ0KLyoqLw0KLnNtYWxsc3RhcntmbG9hdDpyaWdodDt3aWR0aDoxNjBweDtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47IH0NCi5zbWFsbHN0YXIgbGl7ZmxvYXQ6bGVmdDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiM0NjRBNEI7d2lkdGg6MTgwcHg7Zm9udC1zaXplOjExcHg7fQ0KLm1zdGFye2Zsb2F0OmxlZnQ7aGVpZ2h0OjEwcHg7d2lkdGg6NTBweDttYXJnaW4tdG9wOjRweDtwYWRkaW5nOjA7ZGlzcGxheTppbmxpbmU7YmFja2dyb3VuZDogdXJsKHNtYWxsX3N0YXIuZ2lmKSByZXBlYXQgc2Nyb2xsIDAgMDt9DQouczF7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7aGVpZ2h0OjEwcHg7fQ0KLnMye2JhY2tncm91bmQtcG9zaXRpb246MCAtMTBweDt9DQouczN7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yMHB4O30NCi5zNHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTMwcHg7fQ0KLnM1e2JhY2tncm91bmQtcG9zaXRpb246MCAtNDBweDt9DQoucG93ZXJ7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kOiNGNUNCQUQ7aGVpZ2h0OjEycHg7bWFyZ2luOjAgOHB4O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDo0cHg7fQ0KLyrOxNXCxNrI3dKzKi8NCiNib29rX21pZGRsZXt3aWR0aDo4MjBweDsgbWFyZ2luLXRvcDoyMHB4O30NCi5ib29rX21pZGRsZV9hcnRpY2xle3dpZHRoOjgxOHB4OyBib3JkZXI6MXB4IHNvbGlkICNjYWNhY2E7IG1hcmdpbi1ib3R0b206MTBweDt9DQouYm9va19taWRkbGVfdGl0bGV7YmFja2dyb3VuZDp1cmwoZ2lmXzU3XzAzMC5naWYpIG5vLXJlcGVhdCAxMHB4IDEwcHg7IGNvbG9yOiM5OTk7IHRleHQtaW5kZW50OjM1cHg7IHdpZHRoOjgxNnB4O2hlaWdodDozNXB4O2JhY2tncm91bmQtY29sb3I6I2VmZWZlZjsgYm9yZGVyOjFweCBzb2xpZCAjZmZmOyB0ZXh0LWFsaWduOmxlZnQ7IGxpbmUtaGVpZ2h0OjM3cHg7IH0NCi5ib29rX21pZGRsZV90aXRsZSBheyBjb2xvcjojOTk5OyB0ZXh0LWRlY29yYXRpb246bm9uZTsgfQ0KLmJvb2tfbWlkZGxlX3RpdGxlIGE6aG92ZXJ7IGNvbG9yOiNlZTAwMDA7fQ0KLmJvb2tfbWlkZGxlX3RleHR7IHdpZHRoOjc3NnB4OyBwYWRkaW5nOjIwcHg7IGJhY2tncm91bmQtY29sb3I6I2ZhZmFmYTsgfQ0KLmJvb2tfbWlkZGxlX3RleHQgZHR7IGNvbG9yOiM0NDQ7IGZvbnQtc2l6ZToxNHB4OyBmb250LXdlaWdodDpib2xkOyBwYWRkaW5nLWJvdHRvbTo1cHg7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNjYWNhY2E7fQ0KLmJvb2tfbWlkZGxlX3RleHQgZGR7IGNvbG9yOiM0NDQ7IGZvbnQtc2l6ZToxNHB4OyBsaW5lLWhlaWdodDoyNXB4OyBtYXJnaW4tdG9wOjEwcHg7IG1hcmdpbi1ib3R0b206MTBweDsgdGV4dC1hbGlnbjogbGVmdDt9DQouYm9va19taWRkbGVfdGV4dCBkZCBweyBmb250LXNpemU6MTRweH0NCi5ib29rX21pZGRsZV90ZXh0X25leHR7IHdpZHRoOjgxOHB4OyBib3JkZXI6MXB4IHNvbGlkICNjYWNhY2E7IG1hcmdpbi1ib3R0b206MTBweDsgaGVpZ2h0OjMwcHg7IGxpbmUtaGVpZ2h0OjMwcHg7IGNvbG9yOiM0NDQ7IGZvbnQtc2l6ZToxNHB4OyB9DQouYm9va19taWRkbGVfdGV4dF9uZXh0IGF7Y29sb3I6IzQ0NDsgZm9udC1zaXplOjE0cHg7IHRleHQtZGVjb3JhdGlvbjpub25lO30NCi5ib29rX21pZGRsZV90ZXh0X25leHQgYTpob3Zlcntjb2xvcjojZmY3MmFlO30NCi5tc2dhcmVhew0KCXdpZHRoOjU3MHB4Ow0KCWhlaWdodDozMDBweDsNCglvdmVyZmxvdy15OiBhdXRvOw0KCW92ZXJmbG93OiBhdXRvOw0KCXNjcm9sbGJhci1mYWNlLWNvbG9yOiAjZmZmZmZmOw0KCXNjcm9sbGJhci1oaWdobGlnaHQtY29sb3I6ICM5MTkxOTI7DQoJc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogIzkxOTE5MjsNCglzY3JvbGxiYXItM2RsaWdodC1jb2xvcjojZmZmZmZmOw0KCXNjcm9sbGJhci1hcnJvdy1jb2xvcjogIzkxOTE5MjsNCglzY3JvbGxiYXItdHJhY2stY29sb3I6ICNmZmZmZmY7DQoJc2Nyb2xsYmFyLWRhcmtzaGFkb3ctY29sb3I6ICNmZmZmZmY7DQoJZmxvYXQ6IGxlZnQ7DQoJdGV4dC1hbGlnbjogbGVmdDsNCglsaW5lLWhlaWdodDogMjBweDsNCglwYWRkaW5nLWxlZnQ6MTBweDsNCn0NCi8qxsDC2yovDQoudGJveHsvKiDX1MrK06a/7bbItcS/6SjNqNPDv+kpICovDQoJd2lkdGg6MTAwJTsNCglvdmVyZmxvdzpoaWRkZW47DQp9DQoudGJveCBkdHsNCgloZWlnaHQ6MjVweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNFRkVGRUY7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWNsZWFyOmJvdGg7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0NBQ0FDQTsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjQ0FDQUNBOw0KfQ0KLnRib3ggZHQgc3Ryb25new0KCWhlaWdodDoyNXB4Ow0KCWxpbmUtaGVpZ2h0OjI1cHg7DQoJcGFkZGluZy1sZWZ0OjEwcHg7DQoJcGFkZGluZy1yaWdodDo0cHg7DQoJZGlzcGxheTpibG9jazsNCglmbG9hdDpsZWZ0Ow0KCWNvbG9yOiMwMDAwMDA7DQoJYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL21ib3gtdGJnLnBuZykgbGVmdCB0b3Agbm8tcmVwZWF0Ow0KCWxldHRlci1zcGFjaW5nOjFweDsNCn0NCi50Ym94IGR0IHN0cm9uZyBhew0KCWNvbG9yOiMwMDAwMDA7DQp9DQoudGJveCBkdCBzdHJvbmcgYTpob3ZlcnsNCgljb2xvcjojNDQ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KLnRib3ggZHQgc3Bhbi5tb3Jlew0KCWZsb2F0OnJpZ2h0Ow0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWxpbmUtaGVpZ2h0OjI1cHg7DQoJcGFkZGluZy1yaWdodDo4cHg7DQoJY29sb3I6Izg1QTQ4NDsNCn0NCi50Ym94IGR0IHNwYW4ubW9yZSBhew0KCWNvbG9yOiMwMDAwMDA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoudGJveCBkdCBzcGFuLm1vcmUgYTpob3ZlcnsNCgljb2xvcjojMzMzOw0KfQ0KLnRib3ggZHQgc3Bhbi5sYWJlbHsNCgloZWlnaHQ6MjRweDsNCglmbG9hdDpyaWdodDsNCglvdmVyZmxvdzpoaWRkZW47DQoJcGFkZGluZy1yaWdodDoxcHg7DQoJcGFkZGluZy10b3A6MnB4Ow0KfQ0KLnRib3ggZHQgc3Bhbi5sYWJlbCBhew0KCWhlaWdodDoyNXB4Ow0KCWRpc3BsYXk6YmxvY2s7DQoJcGFkZGluZzowcHggN3B4IDBweCA4cHg7DQoJbGluZS1oZWlnaHQ6MjNweDsNCglmbG9hdDpsZWZ0Ow0KCWNvbG9yOiM2NjY7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWxldHRlci1zcGFjaW5nOjFweDsNCn0NCi50Ym94IGR0IHNwYW4ubGFiZWwgYTpob3ZlcnsNCgljb2xvcjojMzYwOw0KfQ0KLnRib3ggZHQgc3Bhbi5sYWJlbCBhLnRoaXNjbGFzc3sNCgliYWNrZ3JvdW5kOiNGRkY7DQoJY29sb3I6IzMzMzsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjRjFGN0VFOw0KfQ0KLnRib3ggZGR7DQoJcGFkZGluZzo0cHggNHB4IDBweDsNCglvdmVyZmxvdzpoaWRkZW47DQp9DQoNCi5kZWRlX2NvbW1lbnR7DQoJcGFkZGluZy1ib3R0b206NnB4Ow0KfQ0KLmRlZGVfY29tbWVudCAuZGVjbXQtYm94ew0KCXdpZHRoOjk4JTsNCglwYWRkaW5nOjZweCA1cHggOHB4Ow0KCW1hcmdpbjowcHggYXV0bzsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjQ0FDQUNBOw0KCW92ZXJmbG93OmhpZGRlbjsNCgljbGVhcjpib3RoOw0KfQ0KLmRlZGVfY29tbWVudCAuZGVjbXQtYm94IC5kZWNtdC10aXRsZXsNCglsaW5lLWhlaWdodDoxOXB4Ow0KCWNvbG9yOiM5OTk7DQoJZm9udC1mYW1pbHk6VGFob21hOw0KfQ0KLmRlZGVfY29tbWVudCAuZGVjbXQtYm94IC5kZWNtdC10aXRsZSBzcGFuew0KCW1hcmdpbi1yaWdodDoycHg7DQoJdmVydGljYWwtYWxpZ246bWlkZGxlOw0KfQ0KLmRlZGVfY29tbWVudCAuZGVjbXQtYm94IC5kZWNtdC10aXRsZSAubW9vZGljb3sNCgloZWlnaHQ6MThweDsNCgl3aWR0aDoxOHB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KfQ0KLmRlZGVfY29tbWVudCAuZGVjbXQtYm94IC5kZWNtdC10aXRsZSAudXNlcm5hbWV7DQoJY29sb3I6IzY2OTsNCn0NCi5kZWRlX2NvbW1lbnQgLmRlY210LWJveCAuZGVjbXQtdGl0bGUgLnVzZXJuYW1lIGF7DQoJY29sb3I6IzY2OTsNCn0NCi5kZWRlX2NvbW1lbnQgLmRlY210LWJveCAuZGVjbXQtdGl0bGUgLnVzZXJuYW1lIGE6aG92ZXJ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJY29sb3I6IzY5MDsNCn0NCi5kZWRlX2NvbW1lbnQgLmRlY210LWJveCAuZGVjbXQtdGl0bGUgLmlwew0KCWNvbG9yOiM2Njk7DQoJZm9udC1zaXplOjExcHg7DQp9DQouZGVkZV9jb21tZW50IC5kZWNtdC1ib3ggLmRlY210LXRpdGxlIC5kYXRlew0KCWNvbG9yOiM2NjY7DQoJZm9udC1zaXplOjExcHg7DQp9DQouZGVkZV9jb21tZW50IC5kZWNtdC1ib3ggLmRlY210LWFjdHsNCglmbG9hdDpyaWdodDsNCgltYXJnaW4tdG9wOi0xOHB4Ow0KCXBhZGRpbmctcmlnaHQ6MTBweDsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljbGVhcjpib3RoOw0KCWNvbG9yOiM5OTk7DQp9DQouZGVkZV9jb21tZW50IC5kZWNtdC1ib3ggLmRlY210LWFjdCBzcGFuew0KCW1hcmdpbi1yaWdodDo3cHg7DQp9DQouZGVkZV9jb21tZW50IC5kZWNtdC1ib3ggLmRlY210LWFjdCBzcGFuIGF7DQoJY29sb3I6Izg4ODsNCn0NCi5kZWRlX2NvbW1lbnQgLmRlY210LWJveCAuZGVjbXQtY29udGVudHsNCgljb2xvcjojNTU1Ow0KCWxpbmUtaGVpZ2h0OjIxcHg7DQoJY2xlYXI6Ym90aDsNCgl3aWR0aDo5OSU7DQoJbWFyZ2luOjJweCBhdXRvIDBweDsNCn0NCi5kZWRlX2NvbW1lbnQgLmRlY210LWJveCAuZGVjbXQtY29udGVudCBpbWd7DQoJdmVydGljYWwtYWxpZ246bWlkZGxlOw0KfQ0KLmRlZGVfY29tbWVudCAuZGVjbXQtYm94IC5kZWNtdC1ib3h7DQoJYmFja2dyb3VuZDojRkZFOw0KCWJvcmRlcjoxcHggc29saWQgI0NDQzsNCgltYXJnaW46NnB4IGF1dG87DQp9DQouZGVkZV9jb21tZW50IC5kZWNtdC1ib3ggLmRlY210LWJveCAuZGVjbXQtdGl0bGV7DQoJdGV4dC1pbmRlbnQ6NHB4Ow0KfQ0KLmRlZGVfY29tbWVudCAuZGVjbXQtYm94IC5kZWNtdC1ib3ggLmRlY210LWNvbnRlbnR7DQoJY29sb3I6IzY2NjsNCn0NCi5ub2NvbW1lbnR7DQoJcGFkZGluZzoxMHB4Ow0KCWNvbG9yOiM3Nzc7DQp9DQouZGVkZV9jb21tZW50X3Bvc3R7DQoJcGFkZGluZzo1cHg7DQp9DQouZGNtcC10aXRsZXsNCglsaW5lLWhlaWdodDoyNXB4Ow0KfQ0KLmRjbXAtdGl0bGUgc3Ryb25new0KCWNvbG9yOiM0NDQ7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KfQ0KLmRjbXAtdGl0bGUgc21hbGx7DQoJZm9udC1zaXplOjEycHg7DQoJY29sb3I6Izk5OTk5OTsNCn0NCi5kY21wLXN0YW5kew0KCWZsb2F0OnJpZ2h0Ow0KCWNvbG9yOiM5OTk7DQoJd2lkdGg6MTk1cHg7DQoJcGFkZGluZy10b3A6OHB4Ow0KfQ0KLmRjbXAtc3RhbmQgc3Ryb25new0KCWZvbnQtd2VpZ2h0Om5vcm1hbDsNCgljb2xvcjojNDQ0Ow0KCXBhZGRpbmctcmlnaHQ6IDE2MHB4Ow0KfQ0KLmRjbXAtc3RhbmQgcHsNCgloZWlnaHQ6MTBweDsNCn0NCi5kY21wLXN0YW5kIHNwYW57DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWNvbG9yOiM0NDQ7DQp9DQouZGNtcC1zdGFuZCBpbnB1dHsNCgltYXJnaW4tcmlnaHQ6MnB4Ow0KCWhlaWdodDo1cHg7DQp9DQouZGNtcC1zdGFuZCBpbWd7DQoJdmVydGljYWwtYWxpZ246bWlkZGxlOw0KCW1hcmdpbi1yaWdodDoycHg7DQp9DQouZGNtcC1jb250ZW50ew0KCXBhZGRpbmctdG9wOjhweDsNCglmbG9hdDpsZWZ0Ow0KCXdpZHRoOjM4MHB4Ow0KfQ0KDQouZGNtcC1jb250ZW50IHRleHRhcmVhew0KCXdpZHRoOjM4MHB4Ow0KCWhlaWdodDo5MHB4Ow0KCWZsb2F0OmxlZnQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLWNvbG9yOiNDQUNBQ0E7DQp9DQouZGNtcC1tb29kew0KCWhlaWdodDoyNXB4Ow0KCXdpZHRoOjgwJTsNCglvdmVyZmxvdzpoaWRkZW47DQoJY2xlYXI6Ym90aDsNCglwYWRkaW5nLXRvcDoxMnB4Ow0KCWZsb2F0OmxlZnQ7DQp9DQouZGNtcC1tb29kIHN0cm9uZ3sNCglmbG9hdDpsZWZ0Ow0KCWNvbG9yOiM0NDQ7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWxpbmUtaGVpZ2h0OjI1cHg7DQp9DQouZGNtcC1tb29kIHVsew0KCWZsb2F0OmxlZnQ7DQp9DQouZGNtcC1tb29kIHVsIGxpew0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLXJpZ2h0OjhweDsNCn0NCi5kY21wLW1vb2QgdWwgbGkgaW5wdXQsLmRjbXAtbW9vZCB1bCBsaSBpbWd7DQoJdmVydGljYWwtYWxpZ246bWlkZGxlOw0KCW1hcmdpbi1yaWdodDo0cHg7DQoJKm1hcmdpbi1yaWdodDowcHg7DQp9DQouZGNtcC1wb3N0ew0KCWhlaWdodDo2NXB4Ow0KCWNsZWFyOmJvdGg7DQoJY29sb3I6IzQ0NDsJDQp9DQouZGNtcC1wb3N0IC5kY21wLXVzZXJpbmZvew0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLXJpZ2h0OjZweDsNCglmbG9hdDpsZWZ0O2Jvb2tfYnV0dG9uDQoJd2lkdGg6MTAwJTsNCn0NCi5kY21wLXBvc3QgLmRjbXAtdXNlcmluZm8gaW5wdXR7DQoJaGVpZ2h0OjE4cHg7DQoJcGFkZGluZy1yaWdodDowcHg7DQoJYm9yZGVyLXdpZHRoOjFweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLWNvbG9yOiNDQUNBQ0E7DQp9DQouZGNtcC1wb3N0IC5kY21wLXVzZXJpbmZvIGlucHV0LC5kY21wLXBvc3QgLmRjbXAtdXNlcmluZm8gaW1new0KCXZlcnRpY2FsLWFsaWduOm1pZGRsZTsNCgltYXJnaW46NXB4Ow0KfQ0KLmRjbXAtcG9zdCAuZGNtcC1zdWJtaXR7DQoJZmxvYXQ6bGVmdDsNCgl3aWR0aDoxMDAlOw0KCXBhZGRpbmctdG9wOjZweDsNCn0NCi5kY21wLXBvc3QgLmRjbXAtc3VibWl0IGlucHV0LC5kY21wLXBvc3QgLmRjbXAtc3VibWl0IGJ1dHRvbnsNCgl2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7DQp9DQouZGNtcC1wb3N0IC5kY21wLXN1Ym1pdCBidXR0b257DQoJd2lkdGg6NzBweDsNCgloZWlnaHQ6MjNweDsNCglib3JkZXI6bm9uZTsNCgliYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvYnRuLWJnMi5naWYpIG5vLXJlcGVhdDsNCglsaW5lLWhlaWdodDoyNXB4Ow0KCWxldHRlci1zcGFjaW5nOjFweDsNCglvdmVyZmxvdzpoaWRkZW47DQoJY29sb3I6IzQ0NDsNCgljdXJzb3I6cG9pbnRlcjsNCgltYXJnaW4tbGVmdDo1cHg7DQouYm9va19uZXdzX3N0eWxlX3RleHQyIC5jb21tZW50IHsNCgl3aWR0aDogMTUwcHg7DQoJZmxvYXQ6IGxlZnQ7DQp9DQo=
R0lGODlhAQAgALMAAOTk5Ovr6+/v7/Hx8e7u7vLy8vb29vPz8/Dw8PT09Pj4+PX19ezs7O3t7ff39wAAACH5BAAAAAAALAAAAAABACAAAAQWUClHjVkrpXNKGQOCCATRnEy6AIESAQA7
R0lGODlhNANhAMQAAPDw8O/v7+7u7u3t7fLy8vHx8fPz8/z8/Pv7+/T09Pr6+v7+/vX19fj4+P39/ff39/n5+fb29v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAA0A2EAAAX/oCSOZCkuaKqubOq8cCzPdP0eeK7vB+L/wCBCQSwai8OjUiFs+o44RWNKfViv2Gtky+12GeCweEwmJxIMr3rNbkew7Kx8Tq/XuQ2IAhIpBP6AgYEChIWGh4SCioCGi4EAkJGRBZSVlASYmZgGnJ0GZ6ChoqOkVgUDqAOIq6wGDnBcdrKzcrFWbm5lYV+6YA1JEMHCw8RUxlPEycrLzMlEzXpHy0tG0M7UR05OPNw5Nt/gNS3j5Cbm5+gj5Osr4e7u3d3aTdj11PNBSjgIx7S4XL0C6gqV698/WGpoKVx4q8uDBs8Y+HH0h5XFRBQrHsooqaMlS5o0eepEqqRJUA9P/6G6eNGVFi8MY2Zx2NDgFoFgIuBk8ACYNQjHgv4cOvRZM2nT6hENZg8JPiDxuL2baoOd1QXpsmq9yo6qVxlReTwF0rSs06dLEOAAOsWfwZ1wRaVZk9Nmm5cJZeqtteZBtAYJKLK8mBFRxj8dJ32sFHLTyE8nI4t6aGDlYEQuH8TZK9OWZrtwd0bb8zOo0KWolZE+WoQ1tdRmx/4Iu+OrbQdc12ndfS43udtfaeuQ/cRsWdnYorSdZTM0TlJzeUW3m/cuZ86bH0IY8sCAosuEFxk+HCCx4sUFGj+WzB5UBMCqwBdy1cDNdYY0P791HvCZ0WammZbagMOsxkw1B74G2/9xxAnnDXBU+TYObxSSIGELEFLl4D7EGRcbWsn10IBb//AXkEle7FLQQdbd11lfWUA0RB+MyGfRd+MdZh4k6F0S0nrtsfdeBDYKQMAruLioEE3UmaiLUQYqE2CABFb5X1KtYanEgB/KtuEBGU51IQsVljlmO2HCsyFxSTQ1WlMgYqPWASPK0pyTZZwUnRgrUgeTkjEl9AYdeiAAgURFhqdRjhzt2GN6PwIZpJ4jylcAkkkCaqctoO10Ri89ETUllVVyaQ2CWqKKWpdjfZmmO2eqUGaFsbrwKjhfsmkWU6zS09Ram5aIpxmRpTFGGyr6mZ+mwXpmRx4+NEBAojcGoCj/RTsC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fOBIW+E1AEGgKjQgVl+TgGqDC3MUMFsqNZDwwgCV+hBgAFPNAA07AIiVAAg8cLqmBD9ooAELzDIbAAXGxvjDrGoQQK0PHSCQgzkRbJrSBBKmooEA+EkTYHvzpcL3wQQEOJAuiSsoU0N7/z2QQwg6OOcfTCuYQIOFuoqjQA4cFJzDAQQXvIMGA4iwQ8IFR1wwBQMsAPHBEJcAAAQIDCzxxwAoV645JfQQV0Y/wFCMAzxwpUsCKzTwXjEPBCAEAjGAoPPOO4vzwwAG5Myzzi2AUAkDQg+tcyhPrJC00iAJIQMsKFRtddUeOCDCjCHMIMQIJXTiCQqtkKABB1JKucMMDTjgwdVXexABC6NlYffdQxgVxxspkAABfhfkjcDghCdnwgoGrKC4AQak4EYDe8ORwlZ4V275EW15YMrlnHfueREkbPnAop+XbjreMpSQAA3cnI5EEAA7
R0lGODlhCgAKAKIHAJSUlHx8fLKysuzs7NnZ2YmJiWZmZv///yH5BAEAAAcALAAAAAAKAAoAAAMVaGohc3AtQKJUpd459hKeEoRkaSoJADs=
R0lGODlhCgAKAKIHAJSUlHx8fLKysuzs7NnZ2YmJiWZmZv///yH5BAEAAAcALAAAAAAKAAoAAAMWeDoS9kYRAOEhpcJB9RMe5IRkaZ5QAgA7
R0lGODlhCgAKAKIHAJSUlHx8fLKysuzs7NnZ2YmJiWZmZv///yH5BAEAAAcALAAAAAAKAAoAAAMUaLrc/jCyEAUE4xVyHODdEgjDYSYAOw==
R0lGODlhCgAKAKIHAJSUlHx8fLKysuzs7NnZ2YmJiWZmZv///yH5BAEAAAcALAAAAAAKAAoAAAMUaLrc/pCFKOIA8JDyjsaNdwzCtCQAOw==
LmJveHktd3JhcHBlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfQ0KLmJveHktd3JhcHBlci5maXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgfQ0KDQogIC8qIE1vZGFsICovDQogIA0KICAuYm94eS1tb2RhbC1ibGFja291dCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IGxlZnQ6IDA7IHRvcDogMDsgfQ0KICANCiAgLyogQm9yZGVyICovDQoNCiAgLmJveHktd3JhcHBlciB7IGVtcHR5LWNlbGxzOiBzaG93OyB9DQoJLmJveHktd3JhcHBlciAudG9wLWxlZnQsDQoJLmJveHktd3JhcHBlciAudG9wLXJpZ2h0LA0KCS5ib3h5LXdyYXBwZXIgLmJvdHRvbS1yaWdodCwNCgkuYm94eS13cmFwcGVyIC5ib3R0b20tbGVmdCB7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IHBhZGRpbmc6IDAgfQ0KCQ0KCS5ib3h5LXdyYXBwZXIgLnRvcC1sZWZ0IHsgYmFja2dyb3VuZDogdXJsKCdib3h5LW53LmdpZicpOyB9DQoJLmJveHktd3JhcHBlciAudG9wLXJpZ2h0IHsgYmFja2dyb3VuZDogdXJsKCdib3h5LW5lLmdpZicpOyB9DQoJLmJveHktd3JhcHBlciAuYm90dG9tLXJpZ2h0IHsgYmFja2dyb3VuZDogdXJsKCdib3h5LXNlLmdpZicpOyB9DQoJLmJveHktd3JhcHBlciAuYm90dG9tLWxlZnQgeyBiYWNrZ3JvdW5kOiB1cmwoJ2JveHktc3cuZ2lmJyk7IH0NCg0KCQ0KCS5ib3h5LXdyYXBwZXIgLnRvcCwNCgkuYm94eS13cmFwcGVyIC5ib3R0b20geyBoZWlnaHQ6IDEwcHg7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyBvcGFjaXR5OiAwLjY7IGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7IHBhZGRpbmc6IDAgfQ0KCQ0KCS5ib3h5LXdyYXBwZXIgLmxlZnQsDQoJLmJveHktd3JhcHBlciAucmlnaHQgeyB3aWR0aDogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IG9wYWNpdHk6IDAuNjsgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTYwKTsgcGFkZGluZzogMCB9DQoJDQoJLyogVGl0bGUgYmFyICovDQoJDQoJLmJveHktd3JhcHBlciAudGl0bGUtYmFyIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IHBhZGRpbmc6IDZweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9DQoJICAuYm94eS13cmFwcGVyIC50aXRsZS1iYXIuZHJhZ2dpbmcgeyBjdXJzb3I6IG1vdmU7IH0NCgkgICAgLmJveHktd3JhcHBlciAudGl0bGUtYmFyIGgyIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogd2hpdGU7IGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0NCgkgICAgLmJveHktd3JhcHBlciAudGl0bGUtYmFyIC5jbG9zZSB7IGNvbG9yOiB3aGl0ZTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDZweDsgcmlnaHQ6IDZweDsgZm9udC1zaXplOiA5MCU7IGxpbmUtaGVpZ2h0OiAxOyB9DQoJCQ0KCS8qIENvbnRlbnQgUmVnaW9uICovDQoJDQoJLmJveHktaW5uZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgcGFkZGluZzogMCB9DQoJLmJveHktY29udGVudCB7IHBhZGRpbmc6IDE1cHg7IH0NCgkNCgkvKiBRdWVzdGlvbiBCb3hlcyAqLw0KDQogICAgLmJveHktd3JhcHBlciAucXVlc3Rpb24geyB3aWR0aDogMzUwcHg7IG1pbi1oZWlnaHQ6IDgwcHg7IH0NCiAgICAuYm94eS13cmFwcGVyIC5hbnN3ZXJzIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH0NCg==
R0lGODlhRgAXAMQAAP///+7u7u3t7ezs7Orq6unp6ejo6Obm5uXl5eTk5OPj4+Hh4eDg4N/f397e3t3d3czMzJubm4qKioSEhHFxcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAABGABcAAAX9YCSOZGmeaKquokRFQCzPdG3feK4D0AQHwKBwSCwaj8hkDyZoOp/QqHRKrVqXgIF2y+16v+CweIwlmM/otHrNbrvf5bd8Tq9jC/i8fs/v+/+AgVgGhIWGh4iJiouMjVgHkJGSk5SVlpeYmVgInJ2en6ChoqOkpVgJqKmqq6ytrq+wsVgKtLW2t7i5uru8vbO9wMHCw1gLxsfIycrLzM3Oz1gM0tPU1dbX2Nna21gN3t/g4eLj5OXm51gO6uvs7e7v8PHy81gP9vf4+fr7/P3+//X+CRxIsGDAgggTIuwhAYLDhxAjSpxIsaLFiw4nUJjAsaPHjyBDihxJsmTHEAA7
R0lGODlhDQANAJEAAHtSAPXWnv/////vzCH5BAEHAAIALAAAAAANAA0AAAIolICJZhAxogTMwaFoe7Jri2Uf10XjJW7k8ASnmzFHq8kVbd9PnSd5AQA7
R0lGODlhDQANAJEAAHtTAPTVnf/////uyyH5BAEHAAIALAAAAAANAA0AAAIqlAV5axAP2HFQoheipDn5iQ0iplGi912ByJ7NM6Cp2brqiYJrrTWyYigAADs=
R0lGODlhDQANAJEAAHtTAP/uy+7IhP///yH5BAEHAAMALAAAAAANAA0AAAIrnA95axAOWIMvLorv21CHD1oJIAjjF5HCU5adupLgM60zetmzhei0NFIYCgA7
R0lGODlhEAAQANU/AP39/urFVPvnjdbGqv75iPfrqNq2R/zRGvHKJfTpuvz2xOLVuevJRsWcMvnoY//iSsy4l+rhyd2vE+Pc1PXpwt3RuuTLbN21OsusV+LTrtnLtOXdze3n3f//nv/RDv/cK//xaPz0rf3ibuHYxfrWKuG+V/Ht6f7ngP/1evPZe93FeOjGXevYmPzwvP/hPvfMMNCrN/Phod+2Ktq+eP/rXdm4VfHSauy8Fu7t6djAhf/vZu3fuePXwPfQKP/XIv///yH5BAEAAD8ALAAAAAAQABAAAAaFwJ9wSCwahbDI0ZhgYZZEQEB0AUCFm8tBojlCZoHAJeZBNAKrQG4YEIQUrZPnkVAITqVhRtajPTw+IB0oPQ07RBE5NwceLgQEDBgLRjgaNh+CDgYTRxUbDyQWCjoSPFZREykIMBADBS81JkUjGQwWFQAVAzEqA0UcFAmnPxwLAzxXycpCQQA7
R0lGODlhEAAPANU/ANFqerqOlNvCxfTy8urg4vDt7cmws9hzgKcaLP39/cwyUOSHl+zb3soZNNC+wfn5+apqb/Pm56wrOv3x8bNEU8mUmdWWnM1EVtaNlNumreYjSrU4SbMLIcurruSbpPz4+fj29pQzR/nw8p4HGfnz9PWrxLksT709W+Gip8Fdafrf4rqdocVYY/z7+9kiRdGttNY0Yew6Zffu8Onn5/FIc+zO0f+NsP+TtM2ss+DW2bp4guHJzN+9wvKwx////////yH5BAEAAD8ALAAAAAAQAA8AAAawwJ9QGJkYRaKhUvipqYwqRmIpZGBQlkrF4kExloTNAeJgMAyQFCUy9EkkrAVpCOpIINMBb1RZUQ5sQj4VIzI+ERgIAy0rGxc8QzIjAiAiFggPPz4GEg0eUyAcHSQkGRyBPzsmLgsfOxwODy0MDQAtQwQUGgcXCCI+PwkHDQsyQzknGg0BwEIgKS40Nz0lNjEKOh9LIAEhJjAwJiErmVQ+Mw4vOA4FzVQ/DwUEBAW3SkEAOw==
Ym9keSB7DQoJYmFja2dyb3VuZDogI2ZmZmZmZjsNCgltYXJnaW46IDA7IA0KCXBhZGRpbmc6IDA7DQoJdGV4dC1hbGlnbjogY2VudGVyOyANCgljb2xvcjogIzMzMzMzMzsNCglmb250OiAxM3B4IMvOzOUsQXJpYWwsc2Fucy1zZXJpZjsNCglsaW5lLWhlaWdodDogMTUwJTsNCglwYWRkaW5nLXRvcDo2cHg7DQp9DQoNCnVsLGRsLG9sLGZvcm0sZGl2IHsNCiAgbWFyZ2luOjBweDsgcGFkZGluZzowcHg7DQp9DQpsaSxkZCB7DQogIGxpc3Qtc3R5bGUtdHlwZTpub25lOyBtYXJnaW46MHB4OyBwYWRkaW5nOjBweDsgDQp9DQoNCmEgew0KICBjb2xvcjojMEQ1NzBEOyB0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCmE6aG92ZXIsIGE6YWN0aXZlew0KICBjb2xvcjojN0U5RjBGOw0KfQ0KDQphIGltZyB7IGJvcmRlci1zdHlsZTpub25lOyB9DQpoMSB7IGNvbG9yOiMxNzFCMTY7IGZvbnQtc2l6ZToxMzAlOyBmb250LXdlaWdodDpib2xkOyB9DQpoMiB7IGNvbG9yOiMxNzFCMTY7IGZvbnQtc2l6ZToxMTUlOyBmb250LXdlaWdodDpib2xkOyB9DQpoMyB7IGNvbG9yOiMxNzFCMTY7IGZvbnQtc2l6ZToxMDAlOyBmb250LXdlaWdodDpib2xkO30NCg0KdGQgew0KCXRleHQtYWxpZ246bGVmdDsNCglmb250OiAxM3B4IMvOzOUsQXJpYWwsc2Fucy1zZXJpZjsNCglsaW5lLWhlaWdodDoxNjAlOw0KfQ0KdGQuciB7DQoJdGV4dC1hbGlnbjpyaWdodDsNCglwYWRkaW5nLXJpZ2h0OjNweDsNCn0NCg0KdGQuYyB7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCnRkLmkgew0KCXBhZGRpbmctbGVmdDozcHg7DQp9DQoNCi8qINKq1tjTw7XEuPfW1sDgICovDQouZmxyIHsgDQoJZmxvYXQ6IHJpZ2h0Ow0KCW1hcmdpbi1sZWZ0OiA4cHg7DQp9DQouZmxsIHsgDQoJZmxvYXQ6IGxlZnQ7DQoJbWFyZ2luLXJpZ2h0OiA4cHg7DQp9DQoucmlnaHQgeyANCglmbG9hdDogcmlnaHQ7DQp9DQoubGVmdCB7IA0KCWZsb2F0OiBsZWZ0Ow0KfQ0KLmNsZWFyZmxvYXQgeyANCgljbGVhcjpib3RoOw0KICBoZWlnaHQ6MDsNCiAgZm9udC1zaXplOiAxcHg7DQogIGxpbmUtaGVpZ2h0OiAwcHg7DQp9DQoNCiNjb250YWluZXIgeyANCgl3aWR0aDogMTAwMHB4OyANCgliYWNrZ3JvdW5kOiAjRkZGRkZGOw0KCW1hcmdpbjogMCBhdXRvOyANCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KfSANCg0KI2hlYWRlciB7IA0KCWJhY2tncm91bmQ6ICNmZmY7IA0KCXBhZGRpbmc6IDBweDsgIA0KfQ0KDQouZGVidWd7DQoJY29sb3I6IzAwMDAwMDsNCglmb250LXNpemU6MTJweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCn0NCg0KI2hlYWRlciBoMSB7DQoJbWFyZ2luOiAwOyANCglwYWRkaW5nLXRvcDogMTBweDsgDQp9DQoNCi5ibnRuZXcgew0KCWJhY2tncm91bmQ6I0NGRUQ5MjsNCgljb2xvcjojMzU0OTBDOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJcGFkZGluZzoycHggMTJweCAycHggMTJweDsNCgl2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7DQp9DQo=
R0lGODlhEAAQAOZxAAAAAP///4N4qbGpy4F3p4+FtpWNtpSNt6KcyZWPuJeRuujn9MjI3uHh57u80qir0LO32NXX5bO52qKt2Zao5qmz2Ky12LO61dvg8LzH6L7H4dnf8Ke87brF35i5+Z6z3cLV+rXC3crZ9u3x+Z6+9rXL8dHf+dLd8dLd8NTd7uju+a/A3czZ7ubs9qLG/uDq+avN+9Xl+/T3+7LU/bXL5ubt9rTT97jX+cDY8sjd9dDi9vD2/ezy+brX9dzq+OPt9/n8//z9/rzO3vP5/vL4/fb8/vv+///sg/HnrP/pfv/rgf/rg/roiv/mdP/jdf/kevznjf/icv/idf/XZv/XZ//Yb//bcP/ac//bdfjWePz69P/SXv/UY+rSk//JU//KWP/MXf/Tb/7GUv7env7ltfbOhv3epf/qw/quPNu7kL22reDMuNKVZeJ3NLyBasmjoc69vQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAHEALAAAAAAQABAAAAeRgHGCg4SFhoRvboeEWFBIbG2LglVRSU1baJJXUktPXGFjaYebR09UYGdFa4ZWUkqmX2RAOypwhV1MTlNeZkFEPC8ohkJZYmVaQzUbJzoahTc0ag1GLQ8GEjkdhTYzLjEyGAcEFjghhSUwJCYjKQkCFT0rhhweIj8sCgUTHxeHFCA+MiAYwEBSHAgOIiwwyDBOIAA7
QGltcG9ydCB1cmwoZ2xvYmFsLmNzcyk7DQoNCi5ubWlucHV0IHsNCgl3aWR0aDoyMDBweDsNCn0NCg0KI21lbWJlcmhlYWQgew0KCXdpZHRoOjEwMCU7DQp9DQoNCiNtZW1iZXJoZWFkIGRpdiB7DQoJbGluZS1oZWlnaHQ6NDZweDsNCn0NCg0KI21lbWJlcmZvb3R7DQoJd2lkdGg6MTAwJTsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgltYXJnaW4tdG9wOjhweDsNCglwYWRkaW5nOjZweCAwcHggNnB4IDBweDsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjRTdGMEM4Ow0KCWJvcmRlci1ib3R0b206MnB4IHNvbGlkICNFREYzRDY7DQoJZm9udC1zaXplOjEycHg7DQoJbGluZS1oZWlnaHQ6MTUwJTsNCn0NCg0KI2VuZGxpbmUgew0KCWZvbnQtc2l6ZToxMnB4Ow0KCWNvbG9yOiM0MDQxMzQ7DQoJaGVpZ2h0OjIwcHg7DQoJYm9yZGVyLWJvdHRvbTo4cHggc29saWQgI0VERjNENjsNCgl0ZXh0LWFsaWduOnJpZ2h0Ow0KCXBhZGRpbmc6NXB4IDZweCAwcHggMHB4Ow0KfQ0KDQojbWVtYmVycXVpY2sgew0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjMycHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjRDFEREFBOw0KCW1hcmdpbjo2cHggMHB4IDhweCAwcHg7DQp9DQoNCiNtZW1iZXJxdWljayBkbHsNCgliYWNrZ3JvdW5kOnVybChuYXYyYmcuZ2lmKTsNCgloZWlnaHQ6MzBweDsNCgltYXJnaW46MXB4Ow0KCXBhZGRpbmctbGVmdDoxMHB4Ow0KfQ0KDQojbWVtYmVycXVpY2sgZGR7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglmb250LXdlaWdodDpib2xkOw0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLXJpZ2h0OjhweDsNCn0NCg0KI21lbWJlcnF1aWNrIHNwYW57DQoJcGFkZGluZzozcHg7DQp9DQoNCiNtZW1iZXJxdWljayBzcGFuLmhvbWV7DQoJcGFkZGluZy1sZWZ0OjE2cHg7DQoJYmFja2dyb3VuZDp1cmwoaG9tZS5naWYpIG5vLXJlcGVhdCAwcHggMXB4Ow0KfQ0KDQojbWVtYmVycXVpY2sgc3Bhbi5zZWFyY2h7DQoJcGFkZGluZy1sZWZ0OjE2cHg7DQoJYmFja2dyb3VuZDp1cmwoc2VhcmNoMS5naWYpIG5vLXJlcGVhdCAwcHggMnB4Ow0KfQ0KDQojbWVtYmVycXVpY2sgc3Bhbi5jYWljYWl7DQoJcGFkZGluZy1sZWZ0OjE2cHg7DQoJYmFja2dyb3VuZDp1cmwobWVtYmVyMi5naWYpIG5vLXJlcGVhdCAwcHggMXB4Ow0KfQ0KDQojbWVtYmVycXVpY2sgc3Bhbi5kaXJ7DQoJcGFkZGluZy1sZWZ0OjE2cHg7DQoJYmFja2dyb3VuZDp1cmwoZGlyLmdpZikgbm8tcmVwZWF0IDBweCAxcHg7DQp9DQoNCiNtZW1iZXJxdWljayBzcGFuLmV4aXR7DQoJcGFkZGluZy1sZWZ0OjE2cHg7DQoJYmFja2dyb3VuZDp1cmwoZXhpdC5naWYpIG5vLXJlcGVhdCAwcHggMXB4Ow0KfQ0KDQojbGVmdG1lbnUgew0KCXdpZHRoOjIxJTsNCglmbG9hdDpsZWZ0Ow0KfQ0KDQojcmlnaHRjdA0Kew0KCXdpZHRoOjc4JTsNCglmbG9hdDpyaWdodDsNCn0NCg0KI3JpZ2h0bWVudSB7DQoJd2lkdGg6MjElOw0KCWZsb2F0OnJpZ2h0Ow0KfQ0KDQojbGVmdGN0DQp7DQoJd2lkdGg6NzglOw0KCWZsb2F0OmxlZnQ7DQp9DQoNCiNsZWZ0bWVudWxpdCB7DQoJd2lkdGg6MTYlOw0KCWZsb2F0OmxlZnQ7DQp9DQoNCiNyaWdodGN0bGl0DQp7DQoJd2lkdGg6ODMlOw0KCWZsb2F0OnJpZ2h0Ow0KfQ0KDQoNCi50YWJsZWN0ew0KCXBhZGRpbmc6MXB4Ow0KfQ0KDQoubWFpbnRhYmxlIHsNCglib3JkZXI6MXB4IHNvbGlkICNEMUREQUE7DQoJd2lkdGg6MTAwJTsNCn0NCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K0tTPwsrH08NkbMSjxOLQ0MHQudjPtUNTU6Os08PT2szu0LTE2sjdtcSx7bWlDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQpkbC5tdCB7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0QxRERBQTsNCgliYWNrZ3JvdW5kOnVybCh0YmduZXcuZ2lmKTsNCgloZWlnaHQ6MjhweDsNCglmb250LXdlaWdodDpib2xkOw0KCXdpZHRoOjEwMCU7DQoJbGluZS1oZWlnaHQ6MjhweDsNCglmb250LXNpemU6MTNweDsNCgljb2xvcjojMEQ1NzBEOw0KfQ0KZGQubXQxIHsNCglmbG9hdDpsZWZ0Ow0KCXdpZHRoOjMwJTsNCglwYWRkaW5nLWxlZnQ6M3B4Ow0KfQ0KZGQubXQyIHsNCglmbG9hdDpyaWdodDsNCglwYWRkaW5nLXJpZ2h0OjZweDsNCn0NCg0KZGwudHIwIHsNCgl3aWR0aDoxMDAlOw0KCWJhY2tncm91bmQ6I2ZmZmZmZjsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmZmZmOw0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNEMUREQUE7DQp9DQoNCmRsLnRyMSB7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2ZmZmZmZjsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRDFEREFBOw0KCWhlaWdodDoyOHB4Ow0KCWxpbmUtaGVpZ2h0OjI4cHg7DQp9DQoNCmRsLnRyMiB7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kOiNGNUZCRTE7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2ZmZmZmZjsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRDFEREFBOw0KCWhlaWdodDoyOHB4Ow0KCWxpbmUtaGVpZ2h0OjI4cHg7DQp9DQoNCmRsLnRyNSB7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kOiAjRTFGM0EzOw0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNEMUREQUE7DQoJaGVpZ2h0OjI4cHg7DQoJbGluZS1oZWlnaHQ6MjhweDsNCn0NCmRsLnRyNSBkZHsNCglmb250LXdlaWdodDpib2xkOw0KfQ0KDQpkbC50cjMxIHsNCgl3aWR0aDoxMDAlOw0KCWJhY2tncm91bmQ6I2ZmZmZmZjsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmZmZmOw0KCWhlaWdodDozNXB4Ow0KCXBhZGRpbmctdG9wOjEycHg7DQp9DQoNCmRsLnRyMzIgew0KCXdpZHRoOjEwMCU7DQoJYmFja2dyb3VuZDojRjNGRkREOw0KCWJvcmRlci10b3A6MXB4IHNvbGlkICNmZmZmZmY7DQoJaGVpZ2h0OjM1cHg7DQoJcGFkZGluZy10b3A6MTJweDsNCn0NCg0KZGQudGRsIHsNCiAgY29sb3I6IzI2NDIxNTsNCiAgZmxvYXQ6bGVmdDsNCiAgd2lkdGg6MjAlOw0KICBwYWRkaW5nLWxlZnQ6M3B4Ow0KfQ0KDQpkZC50ZGwyIHsNCiAgZm9udC13ZWlnaHQ6Ym9sZDsNCiAgY29sb3I6IzY2NjY2NjsNCiAgZmxvYXQ6bGVmdDsNCiAgd2lkdGg6MzAlOw0KICBwYWRkaW5nLWxlZnQ6M3B4Ow0KfQ0KDQpkZC50ZHIgew0KICBmbG9hdDpsZWZ0Ow0KfQ0KDQpkZC50ZHIyIHsNCiAgZmxvYXQ6bGVmdDsNCiAgd2lkdGg6MjAlOw0KfQ0KDQpkZC50ZHIzIHsNCiAgZmxvYXQ6bGVmdDsNCiAgd2lkdGg6MTAlOw0KfQ0KDQpkZC50ZHI1IHsNCiAgZmxvYXQ6bGVmdDsNCiAgd2lkdGg6NzglOw0KfQ0KDQovKi0tLS0tLS0tLS0tLQ0KxuTL/GNzcw0KLS0tLS0tLS0tLS0tLSovDQouZW51bXNlbGVjdCB7DQoJd2lkdGg6OTBweDsNCn0NCg0KZGl2LnRyY2tib3gNCnsNCgl3aWR0aDoxNSU7DQoJZmxvYXQ6bGVmdDsNCn0NCg0KZGQudGl0bGUNCnsNCgljb2xvcjojNjY2NjY2Ow0KCXBhZGRpbmc6M3B4Ow0KCWZvbnQtc2l6ZToxM3B4Ow0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQoNCmRkLnRleHRpbmZvDQp7DQoJcGFkZGluZzozcHg7DQoJbGluZS1oZWlnaHQ6MTUwJTsNCglmb250LXNpemU6MTJweDsNCn0NCg0KLnVwYm94IHsNCgltYXJnaW46MHB4IDBweCA4cHggMHB4Ow0KCXdpZHRoOjEwMCU7DQp9DQoNCi5tcGFnZWJnIHsNCgliYWNrZ3JvdW5kOnVybCh5eWJnLmdpZikgI0VFRjdEMjsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglmb250LXdlaWdodDpib2xkOw0KCXBhZGRpbmc6M3B4Ow0KfQ0KDQoubXBhZ2VsaXN0Ymcgew0KCWJhY2tncm91bmQ6dXJsKHl5YmcuZ2lmKSAjRUVGN0QyOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXBhZGRpbmc6M3B4Ow0KfQ0KDQouZ2R0MiB7DQogIGJhY2tncm91bmQ6dXJsKHRiZy5naWYpIG5vLXJlcGVhdDsNCiAgcGFkZGluZy1sZWZ0OjIwcHg7DQogIGxpbmUtaGVpZ2h0OjI2cHg7DQogIGZvbnQtd2VpZ2h0OmJvbGQ7DQogIG1hcmdpbi1ib3R0b206M3B4Ow0KICB3aWR0aDo5OCU7DQp9DQoNCi51cGJveCBkdCB7DQoJYm9yZGVyOjFweCBzb2xpZCAjRDFEREFBOw0KCXBhZGRpbmc6NXB4IDBweCA1cHggNnB4Ow0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJYmFja2dyb3VuZDp1cmwoeXliZy5naWYpICNFRUY3RDI7DQp9DQoNCi51cGJveCBkZCB7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjRDFEREFBOw0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNEMUREQUE7DQoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNEMUREQUE7DQoJcGFkZGluZzo2cHg7DQp9DQoNCiN1c2Vyc3RhIHsNCgltYXJnaW46OHB4IDBweCA4cHggMHB4Ow0KCXBhZGRpbmc6M3B4IDBweCAzcHggMjBweDsNCgliYWNrZ3JvdW5kOnVybChtZW51bWVtYmVyLmdpZikgbm8tcmVwZWF0ICNGOEZDQzUgM3B4IDRweDsNCglmb250LXdlaWdodDpib2xkOw0KfQ0KDQpkbC5tZW51Ym94IHsNCglib3JkZXI6MXB4IHNvbGlkICNEMUREQUE7DQoJYmFja2dyb3VuZDp1cmwodGJnbmV3MjQuZ2lmKSByZXBlYXQteDsNCgl3aWR0aDoxMDAlOw0KCW1hcmdpbi1ib3R0b206OHB4Ow0KfQ0KDQpkbC5tZW51Ym94IGR0IHsNCglib3JkZXItbGVmdDoxcHggc29saWQgI2ZmZmZmZjsNCglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNmZmZmZmY7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2ZmZmZmZjsNCgloZWlnaHQ6MjZweDsNCglsaW5lLWhlaWdodDoyNnB4Ow0KCWZvbnQtc2l6ZToxM3B4Ow0KCXBhZGRpbmctbGVmdDozcHg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCn0NCg0KZGwubWVudWJveCBkdCBzcGFuDQp7DQoJYmFja2dyb3VuZDp1cmwoZGQuZ2lmKSBuby1yZXBlYXQgMHB4IDBweDsNCglwYWRkaW5nLWxlZnQ6MTZweDsNCn0NCg0KZGwubWVudWJveCBkZA0Kew0KCWJvcmRlci1sZWZ0OjFweCBzb2xpZCAjZmZmZmZmOw0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2ZmZmZmZjsNCglvdmVyZmxvdzphdXRvOw0KfQ0KZGwubWVudWJveCBwDQp7DQogIGxpbmUtaGVpZ2h0OjE4MCU7DQogIG1hcmdpbjowcHg7DQogIHBhZGRpbmc6OHB4IDBweCA2cHggNnB4Ow0KfQ0KZGwubWVudWJveCBkZC5wMg0Kew0KICBtYXJnaW46MHB4Ow0KICBwYWRkaW5nOjZweCAwcHggNnB4IDZweDsNCn0NCg0KLm1lbnVib3ggZGl2LmZkaXYNCnsNCgltYXJnaW46MHB4Ow0KCXBhZGRpbmc6MHB4Ow0KCWZsb2F0OmxlZnQ7DQoJcGFkZGluZzozcHggMHB4IDNweCAxOHB4Ow0KCWJhY2tncm91bmQ6dXJsKGZkaXIuZ2lmKSBuby1yZXBlYXQgMHB4IDJweDsNCn0NCg0KLm1lbnVib3ggZGl2LmZkaXZsaXQNCnsNCgltYXJnaW46MHB4Ow0KCXBhZGRpbmc6MHB4Ow0KCXBhZGRpbmc6M3B4IDBweCAzcHggMThweDsNCgliYWNrZ3JvdW5kOnVybChmZGlyLmdpZikgbm8tcmVwZWF0IDBweCAycHg7DQp9DQoNCi5tZW51Ym94IGRpdi5mZGl2Mw0Kew0KCW1hcmdpbjowcHg7DQoJcGFkZGluZzowcHg7DQoJZmxvYXQ6bGVmdDsNCglwYWRkaW5nOjNweCAwcHggM3B4IDE4cHg7DQoJYmFja2dyb3VuZDp1cmwocG1kaXIuZ2lmKSBuby1yZXBlYXQgMHB4IDJweDsNCn0NCg0KLm1lbnVib3ggZGl2LmZkaXY0DQp7DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nOjBweDsNCglmbG9hdDpsZWZ0Ow0KCXBhZGRpbmc6M3B4IDBweCAzcHggMThweDsNCgliYWNrZ3JvdW5kOnVybChmZGlybS5naWYpIG5vLXJlcGVhdCAwcHggMnB4Ow0KfQ0KDQoubWVudWJveCBkaXYuZmRpdjINCnsNCglmbG9hdDpsZWZ0Ow0KCXBhZGRpbmc6M3B4IDBweCAzcHggMThweDsNCgliYWNrZ3JvdW5kOnVybChkaXIyLmdpZikgbm8tcmVwZWF0IDBweCAycHg7DQp9DQoNCi5tZW51Ym94IGRpdi5zMQ0Kew0KCXdpZHRoOjQyJTsNCn0NCg0KLm1lbnVib3ggZGl2LmVkaXYNCnsNCglwYWRkaW5nOjNweCAwcHggM3B4IDIwcHg7DQoJYmFja2dyb3VuZDp1cmwoZGlyMi5naWYpIG5vLXJlcGVhdCAwcHggMnB4Ow0KfQ0KDQoubWVudWJveCBkaXYuYWRpdg0Kew0KCXBhZGRpbmc6M3B4IDBweCAzcHggMjBweDsNCgliYWNrZ3JvdW5kOnVybChkaXIzLmdpZikgbm8tcmVwZWF0IDBweCAycHg7DQp9DQoNCi5vcHRpb24yDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojREVFMUQ5Ow0KCWNvbG9yOiM4Qjk3Nzc7DQp9DQoNCnRoIHsNCiB0ZXh0LWFsaWduOmNlbnRlcjsNCiBmb250LXdlaWdodDpib2xkOw0KIGNvbG9yOiMyRjU5MUE7DQogZm9udC1zaXplOjEycHg7DQp9DQoNCi50Y2VudGVyIHsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCn0NCg0KLnRkbGluZSB7DQoJYm9yZGVyLWJvdHRvbToxcHggZGFzaGVkICM5OUM0NkE7DQp9DQoNCi53YWl0cGFnZSB7DQogIHRvcDowOw0KICBsZWZ0OjA7DQogIGZpbHRlcjpBbHBoYShvcGFjaXR5PTcwKTsNCiAgLW1vei1vcGFjaXR5OjAuNzsNCiAgcG9zaXRpb246YWJzb2x1dGU7DQogIHotaW5kZXg6MTAwMDA7DQogIGJhY2tncm91bmQ6dXJsKC4vbG9hZGluZzEuZ2lmKSAjYWJhYmFiIG5vLXJlcGVhdCBjZW50ZXIgMjAwcHg7DQogIHdpZHRoOjEwMCU7DQogIGhlaWdodDoyNTAwcHg7DQogIGRpc3BsYXk6bm9uZTsNCn0NCg0KLmRpdnByZSB7DQoJZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNpemluZ01ldGhvZD1zY2FsZSk7DQp9DQoNCi5zZWFyY2hpdGVtIHsNCiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0M3Q0Y2MzsNCiAgYmFja2dyb3VuZDojRkRGRUY1Ow0KICBwYWRkaW5nOjNweDsNCiAgbWFyZ2luLXRvcDo2cHg7DQogIGNsZWFyOmJvdGg7DQoJaGVpZ2h0OjYwcHgNCn0NCg0KLnNlYXJjaGl0ZW0gbGl7DQoJZmxvYXQ6bGVmdDsNCglwYWRkaW5nLXJpZ2h0OjZweDsNCn0NCg0KLnNlYXJjaGl0ZW0gbGkucGljew0KCXdpZHRoOjYwcHg7DQoJcGFkZGluZy1sZWZ0OjZweDsNCn0NCg0K
R0lGODlhQAEuANUAAAAAAP///wUMGRVXxDlzo02DkRXEJS/LNk/TSW3aXHWhbX7fZprld7nui4mxW87zl63NOs/oD+T4CPb9sebpCOjYCOnNCOzFDu23C+2tCO+oDPKSC/OCCPV0CvhXCEBAQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACAALAAAAABAAS4AAAb/wIBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYJuA4WGh4iJiUQGjY6PkJGRRReVlpeYmZlGEp2en6ChoYOkfoqnqIaMkqytjZSasbKVnKK2t52lunqpvYtDrsGTRLPFm0W4yaO7zHW+z4Uf0gHC1Y3SH0LG25XYQ8rgnd7N5ITQvt7W1ePc2+MB4eDv5fRopwQF+fr5BKjpkAgCChw4UBK7WRg2bNBg7B0uDBksULAgEde8ehjHKCIQ4VaBU/8eNZhAsqRJkg0MTgtQTIMHDxsaroQHKsNLCxw8RHyZQYIF/56gLmYc6kWRg04QkipFCnJapJEPFkidKnVkykgHLWHQwJXrhpccunbN5LDmzZw7dfoE+kko0bdZEOFjikhBJwUfEYV0BJWgQKsqs7G89PWl4cOIyc4MZdMDTp0/1Ubu2XYm3MtYEEHoFOFUx06J9jYaebL0VUhZKxVGzPqlYsE0PzV+nLbn5KCWMeuegshB0ryJCCgN7RQSgwbIkytHfiCwNsIvuxYOyzWnh9ffzDpGe/t2Zdi7w0ORu698+X56izs6QLV9++aoV2IqbMklTEv0MZWVfRYyUO+euCXegEhoFo4CxGUDUGkMToAAVvJBd10l9sWkmmv6LaYdbd2xFf9gbgSGaISB4CCYnoKPIEASA+5JxQBJD8Yn2HwYXlAhfjVasp8ns3H3n4figCjikAGcg456jajoYCMJIJdAkjBCOKOE0oHVlXXYCcFYf7WtpdZ3RIY5BIngJEhNilEasABJC0C5pIzP4dhaa1nGxiOXkXHQJZhihkmmMmYu+OaaE7RpgJIxPpLaBavNaVgHdW65nU4VHAZgkOD1GaIidknggJGi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BiNozgpqLJ0PdGfIKpSyC50whCZEoQhJ2LJ8onBmKdqZPHAYQ6QJrWc0BJpBCVpDGSI0h0FTGkKghsQgGpGIShxiRYuoUalxlGtga2Ioqggmt2HRbFY0KUnbprYsStGkXURTGM24RjQKQoxn9NtNaSo4nXoBpzX1aaDs6Lg+1nGPd6SjHr3AxzwKKqlG1SOmwOI50z3ykI3//JwiIYlIrV6VkY40JCMpiSpLYlKUmwRlJzX5yUuG0pOkPCtck4e8ZcXSlrOMnixhWUtX3pKWrfTCK3G5S0j8kpfgCyZixTdMYyazfcuEbDPb9VjHRrYR06xfNal5P812FrPX9OY2E6FNcSKitKI17SBQqx94UjCDEnTtOtFZsdeyU7bnfGdtZ3sgfrLMn/gc4T1LKFx9Ape4DFXoDR9a0OUSDaILZW5Do/vc5m4Ao1RbEnaNdNGNZlS73s3uET36XSq6NKUtRWlJ06vFK650iyo973rTOEab/pSnbNypGntaxv3m977+tW9T/UhUPBIYqUV1aoGV+tQEHzisiySdOVfFKmGrUrirFo4whgupYbeudZSczCSI1SritHq4xG2VK1tJqVe88jWwgwXsXu3aV8H+tcV+rV4gAAA7
QGNoYXJzZXQgImdiMjMxMiI7DQpAaW1wb3J0ICJ0YWJsZS5jc3MiOw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ==
QGNoYXJzZXQgImdiMjMxMiI7DQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tSlO/2NbGLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCnRyLmxpbmVjb2xvciB0ZHsvKrHtuPHE2sjdOsHQse06uPTQ0Lu7yasqLw0KCWJhY2tncm91bmQ6I0ZBRkFGQTsNCn0NCg0KdHIub25jb2xvciB0ZHsvKrHtuPHE2sjdOsHQse06yvOx6tD8zaMqLw0KCWJhY2tncm91bmQ6I0ZGRkZFQiB1cmwoaW1hZ2VzL3RyX29uX2JnLmpwZykgbGVmdCBib3R0b20gcmVwZWF0LXg7DQp9DQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLbHtuPEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLnVjdGFibGV7DQoJd2lkdGg6MTAwJTsNCgltYXJnaW46MHB4IGF1dG8gN3B4Ow0KCWZvbnQtc2l6ZToxMnB4Ow0KCW92ZXJmbG93OmhpZGRlbjsNCglib3JkZXI6MXB4IHNvbGlkICNFRUU7DQovKglib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ki8NCn0NCi51Y3RhYmxlIHRib2R5ICogYXsNCgljb2xvcjojMDA2NkNDOw0KfQ0KLnVjdGFibGUgKiBhOmhvdmVyew0KCWNvbG9yOiNGRjAwMDA7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsNCn0NCi8qse248bHqzOIqLw0KLnVjdGFibGUgY2FwdGlvbnsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJaGVpZ2h0OjI0cHg7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglmb250LXNpemU6MTRweDsNCgl0ZXh0LWluZGVudDo2cHg7DQoJY29sb3I6IzAwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQp9DQovKk9wZXJhIEhhY2sgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMHB4KXsudWN0YWJsZSBjYXB0aW9ue21pbi1oZWlnaHQ6MjVweDt9fSovDQoNCi8qse248c23Ki8NCi51Y3RhYmxlIHRoZWFkIHRyIHRkew0KCWhlaWdodDoyN3B4Ow0KCWxpbmUtaGVpZ2h0OjI3cHg7DQoJdGV4dC1pbmRlbnQ6MTJweDsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRTNFM0UzOw0KCWJhY2tncm91bmQ6dXJsKGltYWdlcy90YWJsZV90YmcuZ2lmKSAxcHggMXB4IHJlcGVhdC14Ow0KCWxldHRlci1zcGFjaW5nOjJweDsNCgljb2xvcjojOTk5Ow0KfQ0KDQoudWN0YWJsZSB0aGVhZCB0ciB0ZCBzdHJvbmd7Lyqx7bjxzbc6serM4iovDQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWZvbnQtc2l6ZToxMnB4Ow0KCWNvbG9yOiMzMzM7DQp9DQoudWN0YWJsZSB0aGVhZCB0ciB0ZCBzcGFuey8qse248c23Or3pydwqLw0KCWNvbG9yOiM5OTk7DQp9DQoudWN0YWJsZSB0aGVhZCB0ciB0ZCAgcHsvKrHtuPHNtzrBtL3Tx/jT8iovDQoJaGVpZ2h0OjIycHg7DQoJZGlzcGxheTppbmxpbmU7DQoJZmxvYXQ6cmlnaHQ7DQoJbWFyZ2luOi0yNHB4IDEwcHggMCAwOw0KCW92ZXJmbG93OmhpZGRlbjsNCglsaW5lLWhlaWdodDoyMXB4Ow0KfQ0KLnVjdGFibGUgdGhlYWQgdHIgdGQgIHAgKnsvKrHtuPHNtzrIq7K/z/LT0rihtq8qLw0KCWZsb2F0OnJpZ2h0Ow0KfQ0KLnVjdGFibGUgdGhlYWQgdHIgdGQgYS50aGxpbmt7Lyqx7bjxzbc6wbS909H5yr0qLw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7DQp9DQoudWN0YWJsZSB0aGVhZCB0ciB0ZCBhLnRobGluazpob3ZlcnsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnVjdGFibGUgdGhlYWQgdHIgdGh7Lyqx7bjxxNrI3Tq31sDgKi8NCgloZWlnaHQ6MjVweDsNCglmb250LXdlaWdodDpub3JtYWw7DQoJdGV4dC1pbmRlbnQ6MTBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJbGluZS1oZWlnaHQ6MTVweDsNCn0NCi8qse248cTayN0qLw0KLnVjdGFibGUgdGJvZHkgew0KCW92ZXJmbG93OmhpZGRlbjsNCgl0ZXh0LWFsaWduOmxlZnQ7DQp9DQoudWN0YWJsZSB0Ym9keSB0ciB0aHsvKrHtuPHE2sjdOrfWwOAqLw0KCWJhY2tncm91bmQ6I0ZGRTsNCglwYWRkaW5nLXRvcDozcHg7DQoJbGluZS1oZWlnaHQ6MTVweDsNCgl0ZXh0LWluZGVudDoxMHB4Ow0KCWxldHRlci1zcGFjaW5nOjFweDsNCglmb250LXdlaWdodDpub3JtYWw7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0RCREZFMTsNCglwYWRkaW5nLXRvcDo0cHg7DQoJcGFkZGluZy1ib3R0b206NHB4Ow0KfQ0KLnVjdGFibGUgdGJvZHkgdHIgdGggLnRvZ2dsZXsNCgl3aWR0aDoxNXB4Ow0KCWhlaWdodDoxM3B4Ow0KCWJvcmRlcjpub25lOw0KCWN1cnNvcjpwb2ludGVyOw0KCXZlcnRpY2FsLWFsaWduOm1pZGRsZTsNCn0NCg0KLnVjdGFibGUgdGJvZHkgdHIgdGggc21hbGx7DQoJZm9udC1zaXplOjEycHg7DQoJY29sb3I6Izk5OTsNCn0NCi51Y3RhYmxlIHRib2R5IHRyIHRkey8qse248cTayN06wdCx7SovDQoJcGFkZGluZzo4cHg7DQoJY29sb3I6IzMzMzsNCgl2ZXJ0aWNhbC1hbGlnbjp0b3A7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0YwRjBGMDsNCn0NCi51Y3RhYmxlIHRib2R5IHRyIHRkLnRkMXsNCglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNGN0Y3Rjc7DQoJYmFja2dyb3VuZDojRkNGQ0ZDOw0KCXRleHQtYWxpZ246cmlnaHQ7DQoJY29sb3I6IzY3NTsNCgl2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7DQp9DQoudWN0YWJsZSB0Ym9keSB0ciB0ZC50ZGJpZ3sNCglmb250LXNpemU6MTRweDsNCgl2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoudWN0YWJsZSB0Ym9keSB0ciB0ZCBwey8qse248cTayN06wdCx7Tq2zsLkKi8NCglsaW5lLWhlaWdodDoyMXB4Ow0KfQ0KLnVjdGFibGUgdGJvZHkgdHIgdGQgcCBzdHJvbmcgaW1ney8qse248cTayN06wdCx7Tqx6szizbyx6rS51rG+09bQttTG6yovDQoJdmVydGljYWwtYWxpZ246bWlkZGxlOw0KfQ0KLnVjdGFibGUgdGJvZHkgdHIgdGQgaW1neyAvKrHtuPHE2sjdOsHQse06s6O55s28xqy0udaxtqWyv7bUxusqLw0KCXZlcnRpY2FsLWFsaWduOnRvcDsNCgltYXJnaW46MHB4IDEwcHggNXB4IDBweDsNCg0KfQ0KLnVjdGFibGUgdGJvZHkgdHIgdGQgc21hbGx7IC8qse248cTayN06wdCx7TrXosrN0NTOxNfWKi8NCgljb2xvcjojODg4Ow0KCWZvbnQtc2l6ZToxMnB4Ow0KCW92ZXJmbG93OmhpZGRlbjsNCn0NCi51Y3RhYmxlIHRib2R5IHRyIHRkIGJpZ3sgLyqx7bjxxNrI3TrB0LHtOse/tffQ1M7E19YqLw0KCWZvbnQtc2l6ZToxNHB4Ow0KCW92ZXJmbG93OmhpZGRlbjsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQp9DQoNCi8qse248bXXKi8NCi51Y3RhYmxlIHRmb290ew0KCWJhY2tncm91bmQ6dXJsKGltYWdlcy90YWJsZV9mYmcuanBnKSBsZWZ0IGJvdHRvbSByZXBlYXQteDsNCn0NCi51Y3RhYmxlIHRmb290IHRyIHRkew0KCXBhZGRpbmc6MTBweDsNCglsaW5lLWhlaWdodDoyNXB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KfQ0KLnVjdGFibGUgdGZvb3QgKiBhew0KICAgIGNvbG9yOiM2NjY7DQp9DQoudWN0YWJsZSB0Zm9vdCB0ciB0ZCBwew0KCWxpbmUtaGVpZ2h0OjIxcHg7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KfQ0KDQovKsbky/sqLw0KLnRybGlzdCB0Ym9keSB0ciB0ZHsvKsHQse3A4NDNtcSx7bjxyrnQ0L7T1tC21MbrKi8NCgl2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7DQp9DQoNCi8qsLTFpSovDQppbnB1dC50aGJ1dHsNCgloZWlnaHQ6MjFweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCWxldHRlci1zcGFjaW5nOjJweDsNCgljb2xvcjojMDAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy9idXRpcHRfYmcuanBnKTsNCgliYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNGRkY7DQp9DQppbnB1dC5idXRzew0KCWhlaWdodDoyNXB4Ow0KCXBhZGRpbmctbGVmdDo2cHg7DQoJcGFkZGluZy1yaWdodDo2cHg7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglmb250LXdlaWdodDpib2xkOw0KCWxldHRlci1zcGFjaW5nOjFweDsNCgljb2xvcjojRkZGOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6dXJsKGltYWdlcy9idXRpcHRfYmcuanBnKTsNCgliYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDsNCn0NCmlucHV0LmQyew0KCWJvcmRlci1jb2xvcjojRkI1Ow0KCWJhY2tncm91bmQtcG9zaXRpb246MHB4IC0zMzJweDsNCn0NCmlucHV0LmQ0ew0KCWJvcmRlci1jb2xvcjojOUI2Ow0KCWJhY2tncm91bmQtcG9zaXRpb246MHB4IC0zOTJweDsNCn0NCmlucHV0LnMxMHsNCglib3JkZXItY29sb3I6IzA2MDsNCgliYWNrZ3JvdW5kLWNvbG9yOiM2OTM7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjowcHggLTI3MnB4Ow0KfQ0KDQoNCi8q0aHP7r+oKi8NCnVsLmxhYmVsew0KCWhlaWdodDoyNXB4Ow0KCWJhY2tncm91bmQ6I0VFRjVFMDsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjREREOw0KCXRleHQtaW5kZW50OjBweDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQp9DQp1bC5sYWJlbCBsaXsNCgloZWlnaHQ6MjVweDsNCglsaW5lLWhlaWdodDoyNXB4Ow0KICAgIGZsb2F0OmxlZnQ7DQoJZGlzcGxheTpibG9jazsNCgliYWNrZ3JvdW5kOiNGNEY5RUM7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjRDZENkQ2Ow0KfQ0KdWwubGFiZWwgbGkudGhpc3sNCgliYWNrZ3JvdW5kOiNGRkY7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglib3R0b206LTFweDsNCn0NCnVsLmxhYmVsIGxpLnRoaXMgYXsNCgljb2xvcjojRkY2NjAwOw0KfQ0KdWwubGFiZWwgbGkgYXsNCglmbG9hdDpsZWZ0Ow0KCXBhZGRpbmctbGVmdDoxNnB4Ow0KCXBhZGRpbmctcmlnaHQ6MTZweDsNCglkaXNwbGF5OmJsb2NrOw0KCWNvbG9yOiMzMzM7DQp9DQoNCi8qt9a47s/fKi8NCmhyew0KCWhlaWdodDoxcHg7DQoJbGluZS1oZWlnaHQ6MXB4Ow0KCW92ZXJmbG93OmhpZGRlbjsNCglib3JkZXItd2lkdGg6MXB4IDBweCAwcHggMHB4IDsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjRTZFNkU2Oy8qvObI3U9wZXJhKi8NCiB9DQpocjplbXB0eSB7Lyq85sjdRmlyZWZveCovDQoJbWFyZ2luOjhweCAwcHggN3B4IDBweCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowcHg7DQp9
R0lGODlhIAMgAMQAALnwa8z0ksDxesfziNH1ndb2qL3wcrbvZMTygdr3seT4xOD4vt74uJCsZGx9TqzQcPL84/X86eH5s/D82+j6x+X5vPj97+v70d74qdf3l9r4oPr99fz++v////7+/gAAACH5BAAAAAAALAAAAAAgAyAAAAX/YCaOZGmeqKmJa7a+7qvNdG3fuI3Ne69hvSBwSCwaj0AJRslcSp7QqHQqrTytEmtFy916v+Dwl1Ihm8tminrNbq8varj8Qq/b7/TJRT/p+/+AfhATgxCGh4iIERCLEY6PkJERFpOTFpeYmZqYGxadG6ChoqOkoBwbp6kcq6ytrq+wHB6rs7KzHre5tri8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPKB9bX2Nna1gAH3d/eAOLj5OXkBuLo6ADq7Abv8PHyBgLv9QL4+fr7+wj5/ggCChxIEMEAgwMSKlzIsOGAAA8hBphIsaJFiwQCZNyocSOBjyBDiixAgGQBkyVP/6pcyVJlggIvE8icSVMmgwQ3GejcqXOBz58LFPgUSlSB0aMK3MChMIcpHjt69kgNBKgQoURYDTWSxJXSpq+cPJUaKyoVqlhoW9Vau6yD27dw48qdS/cttbt48+rdy7evX74pAgse3KKwixgxcihejGPHj8dBfgCRjKRyZSVLMjOhwrlzls9aQGfZMrqLmDAKwJDZckYNGjew2SyV49TpUzx89lANNOgqoatZtQrfSpyrI6+WwCr/JJZsKbOoQqlKSz3WWlq6cNna9be79+/gw4sfT97XtvPnwak3x97cuvfs4r9zNy9ePXr0+OnfL8Bf//8FBYiQQwQ2JNFDEUV00f+CGk3EkUcQiiRhSR+ZZGFLGLYUE0w11ZQTTjztBNRPFQwVVFBIHaVUHLfdlttuf1gVXCLFGQeJV8qF5Ulzzj0XXXVpXZdLMnUVaWRd5SWp5JJMNknNYFBGWYJhMFSZGGNY1uDYlpAJ4aVlYBrRxBNOeGbmZ6KJRpppp7XpxWpvloHGa7HVSdscLd7xom66wdibIYIARyMjhD5SqI2VVJLjcjv2SNYp0UkH5KS0VCrLdtplOqSTnHbq6aegkpcNAAUcpdNLARiwjXrehNPeq/HJ54589dV6D3785QogPgAJSNBBBQbLkETEMmjsgw2C1NGEE6LkbIbQwiStTBx2iNP/tTnx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
R0lGODlhCgAdANU6AOv5zOP1tu35zeb3u+z3y+j3wef2wN/1qOv5xuH0r+r3x+D1puH0ruD1sOb3wOr3xeH2rur5yOX2tej2xuf2v+f5wer3yOv6yuD1qOz3z+z3yOP2teb1vev6x+v6zeP2sOj2wuH0suv5yuP1sOv2x9/1qd/0qOH2sN/0ruj2wO35yuD1r9/0p+f2vOD2pub3vez6zur5xeL1sOj3w+D1reD2p9HdquD1rOD1qeX2u////wAAAAAAAAAAAAAAAAAAACH5BAEAADoALAAAAAAKAB0AAAbGQJhQmIEVMx6PAHABCJ6Cy0UEoKoIAEIkotFyCQSNYmzpdEgWiyIWQ0wQsQkJgXg8Yvd4fsbvzwoVMykgBSAOBQ4pFQUUBo0OBhUUkC+VLzkclhwtLQMtOZ2hOTkDo6anpaejCzUurQssLK+tr7GtLAc1uSwmJrkHODglGBglwRg4N8nBycrNN8rQyjQ0N9TV1wwMENvcECgoCQkr5Cvj5g0hDesyITLvJzLxMiP0Hx8BGwH7ARIbEhJsCBxIUIfBgwgTJgwCADs=
R0lGODlhDwAeANUAAPP91/D8yvj+5u/8yPr+7/j95/f+4/X+3fD8yPj+6fb+4PX93e/8yvz+8vD9yvv+9ff95PD8xu/8xvH8zPr+7fX92vv+8Pn+6vz+9fP91Pb94PT92vH9zvH9z/P81Pj94/r+7PH8z/v+8/P90fz/9fv/8u/8x/H90fH9zPH8zfL91PX91/P80fn+7Pv/8/z/9Pv+8vf94fL80fn96fn96vL81O/9yPD9zPX92fb94/T+2vL9z/z+9O/9xvb94e78xSH5BAAAAAAALAAAAAAPAB4AAAbTQBLmRRLySC8MhvRQlkRPWKkBc0GhJZeFsO1augSuBUShtMogMqhFLl9ol9llfknQE/ZCQaAX+P97ejkQHx8Gh4eGigYxGgoaPhqNGpIKlgoHC5oHnAucnZobFTiiohWiOqYbKwCtriusrq0ZKh4ZGTUZHiq1tx4eLCcnIzIjIywyJyzBxiEcHdAc0iHUzx07EykTEyjc2zfaKNoB5AEMDg7k6OYMDAMDNggD8vAm8/M2ERISJib7/P9s9JDwo6DBgwgTKlzIsKHDhxAjSpxIsSLDIAA7
PD9waHANCg0KZnVuY3Rpb24gR2V0Q3RUcnVlTmFtZSgkY2lkKQ0Kew0KICAgIGdsb2JhbCAkY2ZnX2Ntc3BhdGgsJGNmZ19iYXNlZGlyOw0KICAgICRpcGF0aCA9ICRjZmdfY21zcGF0aC4iL2RhdGEvdGV4dGRhdGEiOw0KICAgICR0cGF0aCA9IGNlaWwoJGNpZC81MDAwKTsNCiAgICAkYm9va2ZpbGUxID0gJGNmZ19iYXNlZGlyLiIkaXBhdGgvJHRwYXRoL2JreyRjaWR9LnBocCI7DQogICAgJGJvb2tmaWxlMiA9ICRjZmdfYmFzZWRpci4iJGlwYXRoLyR0cGF0aC9ia3skY2lkfS5pbmMiOw0KICAgIGlmKGZpbGVfZXhpc3RzKCRib29rZmlsZTEpKSB7DQogICAgICAgIHJlbmFtZSgkYm9va2ZpbGUxLCAkYm9va2ZpbGUyKTsNCiAgICB9DQogICAgcmV0dXJuICRib29rZmlsZTI7DQp9DQoNCmZ1bmN0aW9uIEdldEJvb2tUZXh0KCRjaWQpDQp7DQogICAgZ2xvYmFsICRjZmdfY21zcGF0aCwkY2ZnX2Jhc2VkaXI7DQogICAgJGJvb2tmaWxlID0gR2V0Q3RUcnVlTmFtZSgkY2lkKTsNCiAgICBpZighZmlsZV9leGlzdHMoJGJvb2tmaWxlKSkNCiAgICB7DQogICAgICAgIHJldHVybiAnJzsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJGFsbGRhdGEgPSAnJzsNCiAgICAgICAgJGZwID0gZm9wZW4oJGJvb2tmaWxlLCdyJyk7DQogICAgICAgICRsaW5lID0gZmdldHMoJGZwLCAyNTYpOw0KICAgICAgICAkYWxsZGF0YSA9ICcnOw0KICAgICAgICB3aGlsZSghZmVvZigkZnApKSB7DQogICAgICAgICAgICAkYWxsZGF0YSAuPSBmcmVhZCgkZnAsMTAyNCk7DQogICAgICAgIH0NCiAgICAgICAgZmNsb3NlKCRmcCk7DQogICAgICAgIHJldHVybiB0cmltKHN1YnN0cigkYWxsZGF0YSwwLHN0cmxlbigkYWxsZGF0YSktMikpOw0KICAgIH0NCn0NCg0KZnVuY3Rpb24gV3JpdGVCb29rVGV4dCgkY2lkLCRib2R5KQ0Kew0KICAgICRib2R5ID0gc3RyaXBzbGFzaGVzKCRib2R5KTsNCiAgICBnbG9iYWwgJGNmZ19jbXNwYXRoLCRjZmdfYmFzZWRpcjsNCiAgICAkaXBhdGggPSAkY2ZnX2Ntc3BhdGguIi9kYXRhL3RleHRkYXRhIjsNCiAgICAkdHBhdGggPSBjZWlsKCRjaWQvNTAwMCk7DQogICAgaWYoIWlzX2RpcigkY2ZnX2Jhc2VkaXIuJGlwYXRoKSkgTWtkaXJBbGwoJGNmZ19iYXNlZGlyLiRpcGF0aCwkR0xPQkFMU1snY2ZnX2Rpcl9wdXJ2aWV3J10pOw0KICAgIGlmKCFpc19kaXIoJGNmZ19iYXNlZGlyLiRpcGF0aC4nLycuJHRwYXRoKSkgTWtkaXJBbGwoJGNmZ19iYXNlZGlyLiRpcGF0aC4nLycuJHRwYXRoLCRHTE9CQUxTWydjZmdfZGlyX3B1cnZpZXcnXSk7DQogICAgJGJvb2tmaWxlID0gJGNmZ19iYXNlZGlyLiRpcGF0aC4iL3skdHBhdGh9L2JreyRjaWR9LmluYyI7DQogICAgJGJvZHkgPSAiPCIuIj9waHAgZXJyb3JfcmVwb3J0aW5nKDApOyBleGl0KCk7XHJcbiIuJGJvZHkuIlxyXG4/Ii4iPiI7DQogICAgQCRmcCA9IGZvcGVuKCRib29rZmlsZSwndycpOw0KICAgIEBmbG9jaygkZnApOw0KICAgIEBmd3JpdGUoJGZwLCRib2R5KTsNCiAgICBAZmNsb3NlKCRmcCk7DQp9DQo=
PD9waHANCg0KcmVxdWlyZV9vbmNlKERFREVJTkMuIi9jaGFubmVsdW5pdC5mdW5jLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuIi9kZWRldGFnLmNsYXNzLnBocCIpOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvc3RvcnkuZnVuYy5waHAnKTsNCg0KJFB1YkZpZWxkc1sndGVtcGxldGRlZiddID0gIi90ZW1wbGV0cy9kZWZhdWx0IjsNCg0KQHNldF90aW1lX2xpbWl0KDApOw0KY2xhc3MgQm9va1ZpZXcNCnsNCgl2YXIgJGRzcWw7DQoJdmFyICRkdHA7DQoJdmFyICRJbml0VHlwZTsNCgl2YXIgJENhdGFsb2dJRDsNCgl2YXIgJEJvb2tJRDsNCgl2YXIgJENvbnRlbnRJRDsNCgl2YXIgJENoYXB0ZXJJRDsNCgl2YXIgJEJvb2tUeXBlOw0KCXZhciAkUGFnZU5vOw0KCXZhciAkVG90YWxQYWdlOw0KCXZhciAkVG90YWxSZXN1bHQ7DQoJdmFyICRQYWdlU2l6ZTsNCgl2YXIgJENhY2hlQXJyYXk7DQoJdmFyICRQcmVOZXh0Ow0KCXZhciAkS2V5czsNCg0KCS8vcGhwNbm51Oy6r8r9DQoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHJzaWQ9MCwkaW5pdHR5cGU9J2NhdGFsb2cnLCRrd3M9JycpDQoJew0KCQlnbG9iYWwgJFB1YkZpZWxkcywkZHNxbDsNCgkJJHRoaXMtPkNhY2hlQXJyYXkgPSBBcnJheSgpOw0KCQkkdGhpcy0+UHJlTmV4dCA9IEFycmF5KCk7DQoJCSR0aGlzLT5Jbml0VHlwZSA9ICRpbml0dHlwZTsNCgkJJHRoaXMtPkNhdGFsb2dJRCA9IDA7Ow0KCQkkdGhpcy0+Qm9va0lEID0gMDsNCgkJJHRoaXMtPkNvbnRlbnRJRCA9IDA7DQoJCSR0aGlzLT5DaGFwdGVySUQgPSAwOw0KCQkkdGhpcy0+VG90YWxSZXN1bHQgPSAtMTsNCgkJJHRoaXMtPkJvb2tUeXBlID0gJ3N0b3J5JzsNCgkJaWYoaXNfYXJyYXkoJGt3cykpDQoJCXsNCgkJCSR0aGlzLT5LZXlzID0gJGt3czsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSR0aGlzLT5LZXlzID0gQXJyYXkoKTsNCgkJfQ0KCQkkdGhpcy0+ZHNxbCA9ICRkc3FsOw0KCQkkdGhpcy0+ZHRwID0gbmV3IERlZGVUYWdQYXJzZSgpOw0KCQkkdGhpcy0+ZHRwLT5TZXROYW1lU3BhY2UoImRlZGUiLCJ7IiwifSIpOw0KCQkkdGhpcy0+RmllbGRzWydpZCddID0gJHJzaWQ7DQoJCSR0aGlzLT5GaWVsZHNbJ3Bvc2l0aW9uJ10gPSAnJzsNCgkJJHRoaXMtPkZpZWxkc1sndGl0bGUnXSA9ICcnOw0KDQoJCS8vyejWw9K70KnIq77Wss7K/bXE1rUNCgkJZm9yZWFjaCgkUHViRmllbGRzIGFzICRrPT4kdikNCgkJew0KCQkJJHRoaXMtPkZpZWxkc1ska10gPSAkdjsNCgkJfQ0KCQkkdGhpcy0+TWFrZUZpcnN0KCRpbml0dHlwZSwkcnNpZCk7DQoNCgkJLy/I57n7t9bA4NPQyc+8tsC4xL+jrLvxyKHG5NDFz6INCgkJJHRoaXMtPkZpZWxkc1sncGNsYXNzbmFtZSddID0gJyc7DQoJCWlmKCRpbml0dHlwZSE9J2luZGV4JyAmJiAkaW5pdHR5cGUhPSdzZWFyY2gnKQ0KCQl7DQoJCQlpZigkdGhpcy0+RmllbGRzWydwaWQnXT4wKQ0KCQkJew0KCQkJCSRyb3cgPSAkdGhpcy0+ZHNxbC0+R2V0T25lKCJTZWxlY3QgY2xhc3NuYW1lIEZyb20gI0BfX3N0b3J5X2NhdGFsb2cgd2hlcmUgaWQ9J3skdGhpcy0+RmllbGRzWydwaWQnXX0nICIpOw0KCQkJCSR0aGlzLT5GaWVsZHNbJ3BjbGFzc25hbWUnXSA9ICRyb3dbJ2NsYXNzbmFtZSddOw0KCQkJfQ0KCQkJJHRoaXMtPkZpZWxkc1snZnVsbHRpdGxlJ10gPSAkdGhpcy0+RmllbGRzWyd0aXRsZSddOw0KCQkJaWYoJHRoaXMtPkZpZWxkc1sncGNsYXNzbmFtZSddIT0nJykNCgkJCXsNCgkJCQkkdGhpcy0+RmllbGRzWydmdWxsdGl0bGUnXSA9ICR0aGlzLT5GaWVsZHNbJ2Z1bGx0aXRsZSddLiIgLSAiLiR0aGlzLT5GaWVsZHNbJ3BjbGFzc25hbWUnXTsNCgkJCX0NCgkJfQ0KCX0NCg0KCS8vcGhwNLm51Oy6r8r9DQoJZnVuY3Rpb24gQm9va1ZpZXcoJHJzaWQ9MCwkaW5pdHR5cGU9J2NhdGFsb2cnLCRrd3M9JycpDQoJew0KCQkkdGhpcy0+X19jb25zdHJ1Y3QoJHJzaWQsJGluaXR0eXBlKTsNCgl9DQoNCgkvL7j5vt2z9cq8u6+1xMDg0M278cihZmlsZWTWtaOssqLU2MjrxKOw5Q0KCWZ1bmN0aW9uIE1ha2VGaXJzdCgkaW5pdHR5cGUsJHJzaWQpDQoJew0KCQlnbG9iYWwgJFB1YkZpZWxkczsNCg0KCQkvL8HQse0NCgkJaWYoJGluaXR0eXBlPT0nY2F0YWxvZycpDQoJCXsNCgkJCSR0aGlzLT5DYXRhbG9nSUQgPSAkcnNpZDsNCgkJCSRyb3cgPSAkdGhpcy0+ZHNxbC0+R2V0T25lKCJTZWxlY3QgKiBGcm9tICNAX19zdG9yeV9jYXRhbG9nIHdoZXJlIGlkPSckcnNpZCciKTsNCgkJCWZvcmVhY2goJHJvdyBhcyAkaz0+JHYpDQoJCQl7DQoJCQkJaWYocHJlZ19tYXRjaCgnI1teMC05XSMnLCRrKSkNCgkJCQl7DQoJCQkJCSR0aGlzLT5GaWVsZHNbJGtdID0gJHY7DQoJCQkJfQ0KCQkJfQ0KCQkJdW5zZXQoJHJvdyk7DQoJCQkkdGhpcy0+ZHRwLT5Mb2FkVGVtcGxldChERURFUk9PVC4nL2Jvb2snLiRQdWJGaWVsZHNbJ3RlbXBsZXRkZWYnXS4nL2Jvb2tzX2xpc3QuaHRtJyk7DQoJCQkkdGhpcy0+RmllbGRzWyd0aXRsZSddID0gJHRoaXMtPkZpZWxkc1snY2xhc3NuYW1lJ107DQoJCQkkdGhpcy0+RmllbGRzWydjYXRpZCddID0gJHRoaXMtPkZpZWxkc1snaWQnXTsNCgkJCSR0aGlzLT5GaWVsZHNbJ2JjYXRpZCddID0gJHRoaXMtPkZpZWxkc1sncGlkJ107DQoJCQkkdGhpcy0+RmllbGRzWydwb3NpdGlvbiddID0gJHRoaXMtPkdldFBvc2l0aW9uKCR0aGlzLT5GaWVsZHNbJ2NhdGlkJ10sJHRoaXMtPkZpZWxkc1snYmNhdGlkJ10pOw0KCQl9DQoNCgkJLy/NvMrpDQoJCWVsc2UgaWYoJGluaXR0eXBlPT0nYm9vaycpDQoJCXsNCgkJCSR0aGlzLT5Cb29rSUQgPSAkcnNpZDsNCgkJCSRyb3cgPSAkdGhpcy0+ZHNxbC0+R2V0T25lKCJTZWxlY3QgYy5jbGFzc25hbWUsYy5waWQsYmsuKiBGcm9tICNAX19zdG9yeV9ib29rcyBiayBsZWZ0IGpvaW4gI0BfX3N0b3J5X2NhdGFsb2cgYyBvbiBjLmlkPWJrLmNhdGlkIHdoZXJlIGJrLmJpZD0nJHJzaWQnIik7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGs9PiR2KQ0KCQkJew0KCQkJCWlmKHByZWdfbWF0Y2goJyNbXjAtOV0jJywkaykpDQoJCQkJew0KCQkJCQkkdGhpcy0+RmllbGRzWyRrXSA9ICR2Ow0KCQkJCX0NCgkJCX0NCgkJCXVuc2V0KCRyb3cpOw0KCQkJJHRoaXMtPmR0cC0+TG9hZFRlbXBsZXQoREVERVJPT1QuJy9ib29rJy4kUHViRmllbGRzWyd0ZW1wbGV0ZGVmJ10uJy9ib29rc19ib29rLmh0bScpOw0KCQkJJHRoaXMtPkZpZWxkc1sndGl0bGUnXSA9ICR0aGlzLT5GaWVsZHNbJ2Jvb2tuYW1lJ107DQoJCQkkdGhpcy0+Q2F0YWxvZ0lEID0gJHRoaXMtPkZpZWxkc1snY2F0aWQnXTsNCgkJCWlmKCR0aGlzLT5GaWVsZHNbJ3N0YXR1cyddPT0xKQ0KCQkJew0KCQkJCSR0aGlzLT5GaWVsZHNbJ3N0YXR1cyddPSfS0c3qs8nBrNTYJzsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkdGhpcy0+RmllbGRzWydzdGF0dXMnXT0nwazU2NbQLi4uJzsNCgkJCX0NCgkJCSR0aGlzLT5GaWVsZHNbJ3Bvc2l0aW9uJ10gPSAkdGhpcy0+R2V0UG9zaXRpb24oJHRoaXMtPkZpZWxkc1snY2F0aWQnXSwkdGhpcy0+RmllbGRzWydiY2F0aWQnXSk7DQoJCX0NCg0KCQkvL8TayN0NCgkJZWxzZSBpZigkaW5pdHR5cGU9PSdjb250ZW50JykNCgkJew0KCQkJJHRoaXMtPkNvbnRlbnRJRCA9ICRyc2lkOw0KCQkJJG5xdWVyeSA9ICJTZWxlY3QgYy5jbGFzc25hbWUsYy5waWQsY3QuKixjcC5jaGFwdGVybmFtZSxjcC5jaGFwbnVtDQogCQkJRnJvbSAjQF9fc3RvcnlfY29udGVudCBjdA0KIAkJCWxlZnQgam9pbiAjQF9fc3RvcnlfY2F0YWxvZyBjIG9uIGMuaWQ9Y3QuY2F0aWQNCiAJCQlsZWZ0IGpvaW4gI0BfX3N0b3J5X2NoYXB0ZXIgY3Agb24gY3AuaWQ9Y3QuY2hhcHRlcmlkDQogCQkJd2hlcmUgY3QuaWQ9JyRyc2lkJyAiOw0KCQkJJHJvdyA9ICR0aGlzLT5kc3FsLT5HZXRPbmUoJG5xdWVyeSxNWVNRTF9BU1NPQyk7DQoJCQlpZighaXNfYXJyYXkoJHJvdykpDQoJCQl7DQoJCQkJc2hvd21zZygnxNrI3bK7tObU2icsJ2phdmFzY3JpcHQ6OycpO2V4aXQoKTsNCgkJCX0NCgkJCSR0aGlzLT5DaGFwdGVySUQgPSAkcm93WydjaGFwdGVyaWQnXTsNCgkJCSR0aGlzLT5Cb29rSUQgPSAkcm93Wydib29raWQnXTsNCgkJCSR0aGlzLT5GaWVsZHNbJ2Jvb2t1cmwnXSA9IEdldEJvb2tVcmwoJHJvd1snYm9va2lkJ10sJHJvd1snYm9va25hbWUnXSk7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGs9PiR2KQ0KCQkJew0KCQkJCWlmKHByZWdfbWF0Y2goJyNbXjAtOV0jJywkaykpDQoJCQkJew0KCQkJCQkkdGhpcy0+RmllbGRzWyRrXSA9ICR2Ow0KCQkJCX0NCgkJCX0NCgkJCXVuc2V0KCRyb3cpOw0KCQkJaWYoJHRoaXMtPkZpZWxkc1snYm9va3R5cGUnXT09MSkNCgkJCXsNCgkJCQkkdGhpcy0+ZHRwLT5Mb2FkVGVtcGxldChERURFUk9PVC4nL2Jvb2snLiRQdWJGaWVsZHNbJ3RlbXBsZXRkZWYnXS4nL2Jvb2tzX3Bob3RvLmh0bScpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSR0aGlzLT5kdHAtPkxvYWRUZW1wbGV0KERFREVST09ULicvYm9vaycuJFB1YkZpZWxkc1sndGVtcGxldGRlZiddLicvYm9va3Nfc3RvcnkuaHRtJyk7DQoJCQl9DQoJCQkkdGhpcy0+RmllbGRzWydwb3NpdGlvbiddID0gJHRoaXMtPkdldFBvc2l0aW9uKCR0aGlzLT5GaWVsZHNbJ2NhdGlkJ10sJHRoaXMtPkZpZWxkc1snYmNhdGlkJ10pOw0KCQkJJHJvdyA9ICR0aGlzLT5kc3FsLT5HZXRPbmUoIlNlbGVjdCBmcmVlbnVtIEZyb20gI0BfX3N0b3J5X2Jvb2tzIHdoZXJlIGJpZD0neyR0aGlzLT5GaWVsZHNbJ2Jvb2tpZCddfScgIik7DQoJCQkkdGhpcy0+RmllbGRzWydmcmVlbnVtJ10gPSAkcm93WydmcmVlbnVtJ107DQoJCQkkcm93ID0gJHRoaXMtPmRzcWwtPkdldE9uZSgiU2VsZWN0IGFyY3JhbmsgRnJvbSAjQF9fc3RvcnlfYm9va3Mgd2hlcmUgYmlkPSd7JHRoaXMtPkZpZWxkc1snYm9va2lkJ119JyAiKTsNCgkJCSR0aGlzLT5GaWVsZHNbJ2FyY3JhbmsnXSA9ICRyb3dbJ2FyY3JhbmsnXTsNCgkJCSR0aGlzLT5GaWVsZHNbJ2JvZHknXSA9IEdldEJvb2tUZXh0KCR0aGlzLT5GaWVsZHNbJ2lkJ10pOw0KCQkJJHRoaXMtPkZpZWxkc1snYm9va2lkJ10gPSAkdGhpcy0+Qm9va0lEOw0KCQl9DQoNCgkJLy+34sPmDQoJCWVsc2UgaWYoJGluaXR0eXBlPT0naW5kZXgnKQ0KCQl7DQoJCQkkdGhpcy0+ZHRwLT5Mb2FkVGVtcGxldChERURFUk9PVC4nL2Jvb2snLiRQdWJGaWVsZHNbJ3RlbXBsZXRkZWYnXS4nL2Jvb2tzX2luZGV4Lmh0bScpOw0KCQl9DQoNCgkJLy/L0cv3vefD5g0KCQllbHNlIGlmKCRpbml0dHlwZT09J3NlYXJjaCcpDQoJCXsNCgkJCWlmKGVtcHR5KCR0aGlzLT5LZXlzWydpZCddKSkNCgkJCXsNCgkJCQkkdGhpcy0+S2V5c1snaWQnXSA9ICcnOw0KCQkJfQ0KCQkJaWYoJHRoaXMtPktleXNbJ2lkJ10+MCkNCgkJCXsNCgkJCQkkdGhpcy0+Q2F0YWxvZ0lEID0gJHRoaXMtPktleXNbJ2lkJ107DQoJCQl9DQoJCQkkdGhpcy0+ZHRwLT5Mb2FkVGVtcGxldChERURFUk9PVC4nL2Jvb2snLiRQdWJGaWVsZHNbJ3RlbXBsZXRkZWYnXS4nL2Jvb2tzX3NlYXJjaC5odG0nKTsNCgkJfQ0KCX0NCg0KCS8vveLO9rnMtqjEo7Dlseq8xw0KCWZ1bmN0aW9uIFBhcnNlVGVtcGxldHNGaXJzdCgpDQoJew0KCQlpZiggIWlzX2FycmF5KCR0aGlzLT5kdHAtPkNUYWdzKSApDQoJCXsNCgkJCXJldHVybiAwOw0KCQl9DQoJCWZvcmVhY2goJHRoaXMtPmR0cC0+Q1RhZ3MgYXMgJHRhZ2lkPT4kY3RhZykNCgkJew0KCQkJJHRhZ25hbWUgPSAkY3RhZy0+R2V0VGFnTmFtZSgpOw0KDQoJCQkvL9fWts4NCgkJCWlmKCR0YWduYW1lPT0nZmllbGQnKQ0KCQkJew0KCQkJCWlmKGlzc2V0KCR0aGlzLT5GaWVsZHNbJGN0YWctPkdldEF0dCgnbmFtZScpXSkpDQoJCQkJew0KCQkJCQkkdGhpcy0+ZHRwLT5Bc3NpZ24oJHRhZ2lkLCR0aGlzLT5GaWVsZHNbJGN0YWctPkdldEF0dCgnbmFtZScpXSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCSR0aGlzLT5kdHAtPkFzc2lnbigkdGFnaWQsIiIpOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy/Vwr3a0MXPog0KCQkJZWxzZSBpZigkdGFnbmFtZT09J2NoYXB0ZXInKQ0KCQkJew0KCQkJCSR0aGlzLT5kdHAtPkFzc2lnbigkdGFnaWQsICR0aGlzLT5HZXRDaGFwdGVyTGlzdCgkdGhpcy0+Qm9va0lELCAkY3RhZy0+R2V0SW5uZXJUZXh0KCkpICk7IA0KCQkJfQ0KDQoJCQkvL8C4xL/Qxc+iDQoJCQllbHNlIGlmKCR0YWduYW1lPT0nY2F0YWxvZycpDQoJCQl7DQoJCQkJJHBpZCA9IDA7DQoJCQkJaWYoJGN0YWctPkdldEF0dCgndHlwZScpPT0nc29uJykNCgkJCQl7DQoJCQkJCSRwaWQgPSAkdGhpcy0+RmllbGRzWydjYXRpZCddOw0KCQkJCX0NCgkJCQkkY3VycmVudHN0eWxlID0gJGN0YWctPkdldEF0dCgnY3VycmVudHN0eWxlJyk7DQoJCQkJJHRoaXMtPmR0cC0+QXNzaWduKCR0YWdpZCwgJHRoaXMtPkdldENhdGFsb2dMaXN0KCRwaWQsJGN0YWctPkdldElubmVyVGV4dCgpLCRjdXJyZW50c3R5bGUpKTsvL9T2vNO78cihtbHHsNH5yr0NCgkJCX0NCg0KCQkJLy+1scewzbzK6bXE1+7QwtXCvdoNCgkJCWVsc2UgaWYoJHRhZ25hbWU9PSduZXdjb250ZW50JykNCgkJCXsNCgkJCQlpZigkY3RhZy0+R2V0QXR0KCdib29raWQnKT09JycpDQoJCQkJew0KCQkJCQkkYmlkID0gJHRoaXMtPkJvb2tJRDsNCgkJCQl9DQoJCQkJaWYoZW1wdHkoJGJpZCkpDQoJCQkJew0KCQkJCQkkdGhpcy0+ZHRwLT5Bc3NpZ24oJHRhZ2lkLCcnKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJHRoaXMtPmR0cC0+QXNzaWduKCR0YWdpZCwgJHRoaXMtPkdldE5ld0NvbnRlbnRMaW5rKCRiaWQsJGN0YWctPkdldElubmVyVGV4dCgpKSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvL9a4tqi8x8K8tcTNvMrpDQoJCQllbHNlIGlmKCR0YWduYW1lPT0nYm9va2xpc3QnKQ0KCQkJew0KCQkJCWlmKCRjdGFnLT5HZXRBdHQoJ2NhdGlkJykhPScnKQ0KCQkJCXsNCgkJCQkJJGNhdGlkID0gJGN0YWctPkdldEF0dCgnY2F0aWQnKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJGNhdGlkID0gJHRoaXMtPkNhdGFsb2dJRDsNCgkJCQl9DQoJCQkJJHRoaXMtPmR0cC0+QXNzaWduKCR0YWdpZCwNCgkJCQkkdGhpcy0+R2V0Qm9va0xpc3QoDQoJCQkJJGN0YWctPkdldEF0dCgncm93JyksDQoJCQkJJGN0YWctPkdldEF0dCgnYm9va3R5cGUnKSwNCgkJCQkkY3RhZy0+R2V0QXR0KCd0aXRsZWxlbicpLA0KCQkJCSRjdGFnLT5HZXRBdHQoJ29yZGVyYnknKSwNCgkJCQkkY2F0aWQsJHRoaXMtPkJvb2tJRCwNCgkJCQkkY3RhZy0+R2V0QXR0KCdhdXRob3InKSwwLA0KCQkJCSRjdGFnLT5HZXRJbm5lclRleHQoKSwwLA0KCQkJCSRjdGFnLT5HZXRBdHQoJ2ltZ3dpZHRoJyksDQoJCQkJJGN0YWctPkdldEF0dCgnaW1naGVpZ2h0JykNCgkJCQkpDQoJCQkJKTsNCgkJCX0NCg0KCQkJLy/WuLaovMfCvLXE1cK92g0KCQkJZWxzZSBpZigkdGFnbmFtZT09J2NvbnRlbnRsaXN0JykNCgkJCXsNCgkJCQkkdGhpcy0+ZHRwLT5Bc3NpZ24oJHRhZ2lkLA0KCQkJCSR0aGlzLT5HZXRCb29rTGlzdCgNCgkJCQkkY3RhZy0+R2V0QXR0KCdyb3cnKSwNCgkJCQkkY3RhZy0+R2V0QXR0KCdib29rdHlwZScpLA0KCQkJCSRjdGFnLT5HZXRBdHQoJ3RpdGxlbGVuJyksDQoJCQkJJ2xhc3Rwb3N0JywkY3RhZy0+R2V0QXR0KCdjYXRpZCcpLDAsDQoJCQkJJycsMSwkY3RhZy0+R2V0SW5uZXJUZXh0KCkNCgkJCQkpDQoJCQkJKTsNCgkJCX0NCg0KCQkJZWxzZSBpZigkdGFnbmFtZT09J3ByZW5leHQnKQ0KCQkJew0KCQkJCSR0aGlzLT5kdHAtPkFzc2lnbigkdGFnaWQsICR0aGlzLT5HZXRQcmVOZXh0KCRjdGFnLT5HZXRBdHQoJ2dldCcpKSk7DQoJCQl9DQoJCX0vL0VuZCBGb3JlYWNoDQoNCgl9DQoNCg0KCS8vveLO9ravzKyx6sepDQoJLy+8tMrH1ri6zdKzwuvP4LnYtcSx6rzHDQoJZnVuY3Rpb24gUGFyc2VEbUZpZWxkcygkbXR5cGUsJHBhZ2VubykNCgl7DQoJCWlmKGVtcHR5KCRwYWdlbm8pKQ0KCQl7DQoJCQkkdGhpcy0+UGFnZU5vID0gMTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSR0aGlzLT5QYWdlTm89JHBhZ2VubzsNCgkJfQ0KCQkkY3RhZyA9ICR0aGlzLT5kdHAtPkdldFRhZygnbGlzdCcpOw0KDQoJCS8vz8i0psDtIGxpc3Qgseq8x6Os0vLOqtXiuPax6rzHsPy6rM2zvMbQxc+iDQoJCSR0aGlzLT5kdHAtPkFzc2lnbk5hbWUoJ2xpc3QnLA0KCQkkdGhpcy0+R2V0Qm9va0xpc3QoDQoJCTAsDQoJCSRjdGFnLT5HZXRBdHQoJ2Jvb2t0eXBlJyksDQoJCSRjdGFnLT5HZXRBdHQoJ3RpdGxlbGVuJyksDQoJCSRjdGFnLT5HZXRBdHQoJ29yZGVyYnknKSwNCgkJJHRoaXMtPkNhdGFsb2dJRCwwLCcnLC0xLA0KCQkkY3RhZy0+R2V0SW5uZXJUZXh0KCksDQoJCSRjdGFnLT5HZXRBdHQoJ3BhZ2VzaXplJyksDQoJCSRjdGFnLT5HZXRBdHQoJ2ltZ3dpZHRoJyksDQoJCSRjdGFnLT5HZXRBdHQoJ2ltZ2hlaWdodCcpDQoJCSkNCgkJKTsNCg0KCQkvL8bky/y2r8ysseq8xw0KCQlmb3JlYWNoKCR0aGlzLT5kdHAtPkNUYWdzIGFzICR0YWdpZD0+JGN0YWcpDQoJCXsNCgkJCSR0YWduYW1lID0gJGN0YWctPkdldFRhZ05hbWUoKTsNCgkJCWlmKCR0YWduYW1lPT0ncGFnZWxpc3QnKQ0KCQkJew0KCQkJCWlmKCRtdHlwZT09J2RtJykNCgkJCQl7DQoJCQkJCSR0aGlzLT5kdHAtPkFzc2lnbigkdGFnaWQsJHRoaXMtPkdldFBhZ2VMaXN0RE0oJGN0YWctPkdldEF0dCgnbGlzdHNpemUnKSwkY3RhZy0+R2V0QXR0KCdsaXN0aXRlbScpKSApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCg0KCS8vyfqzyUhUTUyjqL32zbzK6aOsxNrI3dKz0vLOqr+8wse1vcrVt9HNvMrpzsrM4qOssrvJ+rPJSFRNTKOpDQoJLy8kaXNjbG9zZSDKx8rHt/G52LHVyv2+3b/io6wNCgkvL9PJ09pteXNxbMO/UEhQvfizzNa70Oi52LHV0ru0zm15c3Fsway906Os0vK0y9TaxfrBv7j80MJIVE1MtcTKsbrytMvRoc/u06a4w9PDIGZhbHNlDQoJZnVuY3Rpb24gTWFrZUh0bWwoJGlzY2xvc2U9dHJ1ZSkNCgl7DQoJCWdsb2JhbCAkY2ZnX2Jhc2VkaXI7DQoJCSRib29rZGlyID0gR2V0Qm9va1VybCgkdGhpcy0+RmllbGRzWydiaWQnXSwkdGhpcy0+RmllbGRzWydib29rbmFtZSddLDEpOw0KCQkkYm9va3VybCA9IEdldEJvb2tVcmwoJHRoaXMtPkZpZWxkc1snYmlkJ10sJHRoaXMtPkZpZWxkc1snYm9va25hbWUnXSk7DQoJCWlmKCFpc19kaXIoJGNmZ19iYXNlZGlyLiRib29rZGlyKSkNCgkJew0KCQkJQ3JlYXRlRGlyKCRib29rZGlyKTsNCgkJfQ0KCQkkdGhpcy0+UGFyc2VUZW1wbGV0c0ZpcnN0KCk7DQoJCSRmcCA9IGZvcGVuKCRjZmdfYmFzZWRpci4kYm9va3VybCwndycpOw0KCQlmd3JpdGUoJGZwLCR0aGlzLT5kdHAtPkdldFJlc3VsdCgpKTsNCgkJZmNsb3NlKCRmcCk7DQoJCWlmKCRpc2Nsb3NlKQ0KCQl7DQoJCQkkdGhpcy0+Q2xvc2UoKTsNCgkJfQ0KCQkvL2lmKCRkaXNwbGF5c3VjYykgZWNobyAiPGEgaHJlZj0neyRib29rdXJsfScgdGFyZ2V0PSdfYmxhbmsnPrS0vai78rj80MIneyR0aGlzLT5GaWVsZHNbJ2Jvb2tuYW1lJ119J7XESFRNTLPJuaajoTwvYT48YnIgLz5cclxuIjsNCgkJcmV0dXJuICRib29rdXJsOw0KCX0NCg0KDQoJLy/P1Mq+xNrI3Q0KCWZ1bmN0aW9uIERpc3BsYXkoKQ0KCXsNCgkJZ2xvYmFsICRQYWdlTm87DQoJCSR0aGlzLT5QYXJzZVRlbXBsZXRzRmlyc3QoKTsNCgkJaWYoJHRoaXMtPkluaXRUeXBlPT0nY2F0YWxvZycgfHwgJHRoaXMtPkluaXRUeXBlPT0nc2VhcmNoJykNCgkJew0KCQkJJHRoaXMtPlBhcnNlRG1GaWVsZHMoJ2RtJywkUGFnZU5vKTsNCgkJfQ0KCQkkdGhpcy0+ZHRwLT5EaXNwbGF5KCk7DQoJCSR0aGlzLT5DbG9zZSgpOw0KCX0NCg0KDQoJLy+78bXD1ri2qMz1vP61xM28yunB0LHtDQoJZnVuY3Rpb24gR2V0Qm9va0xpc3QoJG51bT0xMiwkYm9va3R5cGU9Jy0xJywkdGl0bGVsZW49MjQsJG9yZGVyYnk9J2xhc3Rwb3N0JywkY2F0aWQ9MCwkYm9va2lkPTAsJGF1dGhvcj0nJywkZ2V0Y29udGVudD0wLCRpbm5lcnRleHQ9JycsJHBhZ2VzaXplPTAsJGltZ3dpZHRoPTkwLCRpbWdoZWlnaHQ9MTEwKQ0KCXsNCgkJZ2xvYmFsICRjZmdfY21zcGF0aDsNCgkJaWYoZW1wdHkoJG51bSkpDQoJCXsNCgkJCSRudW0gPSAxMjsNCgkJfQ0KCQlpZigkYm9va3R5cGU9PScnKQ0KCQl7DQoJCQkkYm9va3R5cGUgPSAtMTsNCgkJfQ0KCQlpZihlbXB0eSgkdGl0bGVsZW4pKQ0KCQl7DQoJCQkkdGl0bGVsZW4gPSAyNDsNCgkJfQ0KCQlpZihlbXB0eSgkb3JkZXJieSkpDQoJCXsNCgkJCSRvcmRlcmJ5ID0gJ2xhc3Rwb3N0JzsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRvcmRlcmJ5ID0gcHJlZ19yZXBsYWNlKCcjW15hLXpdI2knLCAnJywgJG9yZGVyYnkpOw0KCQl9DQoJCWlmKGVtcHR5KCRib29raWQpKQ0KCQl7DQoJCQkkYm9va2lkID0gMDsNCgkJfQ0KCQkkYWRkcXVlcnkgPSAnJzsNCgkJaWYoZW1wdHkoJGlubmVydGV4dCkpDQoJCXsNCgkJCS8vxtXNqM28yunB0LHtDQoJCQlpZigkZ2V0Y29udGVudD09MCkNCgkJCXsNCgkJCQkkaW5uZXJ0ZXh0ID0gR2V0U3lzVGVtcGxldHMoJ2Jvb2tfYm9va2xpc3QuaHRtJyk7DQoJCQl9DQoJCQkvL7fW0rPNvMrpwdCx7Q0KCQkJZWxzZSBpZigkZ2V0Y29udGVudD09LTEpDQoJCQl7DQoJCQkJJGlubmVydGV4dCA9IEdldFN5c1RlbXBsZXRzKCdib29rX2Jvb2tsaXN0X20uaHRtJyk7DQoJCQl9DQoJCQkvL9fu0MLVwr3awdCx7Q0KCQkJZWxzZQ0KCQkJew0KCQkJCSRpbm5lcnRleHQgPSBHZXRTeXNUZW1wbGV0cygnYm9va19jb250ZW50bGlzdC5odG0nKTsNCgkJCX0NCgkJfQ0KCQlpZigkYm9va3R5cGUhPS0xKQ0KCQl7DQoJCQkkYWRkcXVlcnkgLj0gIiBBbmQgYi5ib29rdHlwZT0neyRib29rdHlwZX0nICI7DQoJCX0NCgkJaWYoJGJvb2tpZD4wKQ0KCQl7DQoJCQkkYWRkcXVlcnkgLj0gIiBBbmQgYi5iaWQ8Pid7JGJvb2tpZH0nICI7DQoJCX0NCgkJaWYoJG9yZGVyYnk9PSdjb21tZW5kJykNCgkJew0KCQkJJGFkZHF1ZXJ5IC49ICIgQW5kIGIuaXNjb21tZW5kPTEgIjsNCgkJCSRvcmRlcmJ5ID0gJ2xhc3Rwb3N0JzsNCgkJfQ0KCQlpZigkY2F0aWQ+MCkNCgkJew0KCQkJJGFkZHF1ZXJ5IC49ICIgQW5kIChiLmNhdGlkPSckY2F0aWQnIE9yIGIuYmNhdGlkPSckY2F0aWQnKSAiOw0KCQl9DQoNCgkJLy+31tKzoaLL0cv3wdCx7dGhz+4NCgkJaWYoJGdldGNvbnRlbnQ9PS0xKQ0KCQl7DQoJCQlpZihlbXB0eSgkcGFnZXNpemUpKQ0KCQkJew0KCQkJCSR0aGlzLT5QYWdlU2l6ZSA9IDIwOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSR0aGlzLT5QYWdlU2l6ZSA9ICRwYWdlc2l6ZTsNCgkJCX0NCgkJCSRsaW1pdG51bSA9ICgkdGhpcy0+UGFnZVNpemUgKiAoJHRoaXMtPlBhZ2VOby0xKSkuJywnLiR0aGlzLT5QYWdlU2l6ZTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRsaW1pdG51bSA9ICRudW07DQoJCX0NCgkJaWYoIWVtcHR5KCR0aGlzLT5LZXlzWydhdXRob3InXSkpDQoJCXsNCgkJCSRhdXRob3IgPSAkdGhpcy0+S2V5c1snYXV0aG9yJ107DQoJCX0NCgkJaWYoIWVtcHR5KCRhdXRob3IpKQ0KCQl7DQoJCQkkYWRkcXVlcnkgLj0gIiBBbmQgYi5hdXRob3IgbGlrZSAnJGF1dGhvcicgIjsNCgkJfQ0KDQoJCS8vudi8/NfWzPW8/g0KCQlpZighZW1wdHkoJHRoaXMtPktleXNbJ2tleXdvcmQnXSkpDQoJCXsNCgkJCSRrZXl3b3JkcyA9IGV4cGxvZGUoJyAnLCR0aGlzLT5LZXlzWydrZXl3b3JkJ10pOw0KCQkJJGtleXdvcmRzID0gYXJyYXlfdW5pcXVlKCRrZXl3b3Jkcyk7DQoJCQlpZihjb3VudCgka2V5d29yZHMpPjApDQoJCQl7DQoJCQkJJGFkZHF1ZXJ5IC49ICIgQW5kICgiOw0KCQkJfQ0KCQkJZm9yZWFjaCgka2V5d29yZHMgYXMgJHYpDQoJCQl7DQoJCQkJJGFkZHF1ZXJ5IC49ICIgQ09OQ0FUKGIuYXV0aG9yLGIuYm9va25hbWUsYi5rZXl3b3JkcykgbGlrZSAnJSR2JScgT1IiOw0KCQkJfQ0KCQkJJGFkZHF1ZXJ5ID0gcHJlZ19yZXBsYWNlKCIgI09SJCMiLCIiLCRhZGRxdWVyeSk7DQoJCQkkYWRkcXVlcnkgLj0gIikiOw0KCQl9DQoJCSRjbGlzdCA9ICcnOw0KCQkkcXVlcnkgPSAiU2VsZWN0IFNRTF9DQUxDX0ZPVU5EX1JPV1MgYi5iaWQsYi5jYXRpZCxiLmlzY2hlY2ssYi5ib29rdHlwZSxiLmlzY29tbWVuZCxiLmNsaWNrLGIuYm9va25hbWUsYi5sYXN0cG9zdCwNCiAJCWIuYXV0aG9yLGIubWlkLGIubGl0cGljLGIucHViZGF0ZSxiLndlZWtjYyxiLm1vbnRoY2MsYi5kZXNjcmlwdGlvbixjLmNsYXNzbmFtZSxjLmNsYXNzbmFtZSBhcyB0eXBlbmFtZSxjLmJvb2t0eXBlIGFzIGNhdGFsb2d0eXBlDQogCQlGcm9tICNAX19zdG9yeV9ib29rcyBiIGxlZnQgam9pbiAjQF9fc3RvcnlfY2F0YWxvZyBjIG9uIGMuaWQ9Yi5jYXRpZA0KIAkJd2hlcmUgYi5pc2NoZWNrPjAgJGFkZHF1ZXJ5IG9yZGVyIGJ5IGIueyRvcmRlcmJ5fSBkZXNjIGxpbWl0ICRsaW1pdG51bSI7DQoJCSR0aGlzLT5kc3FsLT5TZXRRdWVyeSgkcXVlcnkpOw0KCQkkdGhpcy0+ZHNxbC0+RXhlY3V0ZSgpOw0KDQoJCS8vzbO8xrzHwrzK/Q0KCQlpZigkdGhpcy0+VG90YWxSZXN1bHQ9PS0xICYmICRnZXRjb250ZW50PT0tMSkNCgkJew0KCQkJJHJvdyA9ICR0aGlzLT5kc3FsLT5HZXRPbmUoIlNFTEVDVCBGT1VORF9ST1dTKCkgYXMgZGQgIik7DQoJCQkkdGhpcy0+VG90YWxSZXN1bHQgPSAkcm93WydkZCddOw0KCQkJJHRoaXMtPlRvdGFsUGFnZSA9IGNlaWwoJHRoaXMtPlRvdGFsUmVzdWx0LyR0aGlzLT5QYWdlU2l6ZSk7DQoJCX0NCgkJJG5kdHAgPSBuZXcgRGVkZVRhZ1BhcnNlKCk7DQoJCSRuZHRwLT5TZXROYW1lU3BhY2UoImZpZWxkIiwiWyIsIl0iKTsNCgkJJEdMT0JBTFNbJ2F1dG9pbmRleCddID0gMDsNCgkJd2hpbGUoJHJvdyA9ICR0aGlzLT5kc3FsLT5HZXRBcnJheSgpKQ0KCQl7DQoJCQkkR0xPQkFMU1snYXV0b2luZGV4J10rKzsNCgkJCSRyb3dbJ2Jvb2tuYW1lJ109Y25fc3Vic3RyKCRyb3dbJ2Jvb2tuYW1lJ10sJHRpdGxlbGVuKTsNCgkJCSRyb3dbJ3RpdGxlJ10gPSAkcm93Wydib29rbmFtZSddOw0KCQkJJG5kdHAtPkxvYWRTdHJpbmcoJGlubmVydGV4dCk7DQoNCgkJCS8vu/G1w828yunX7tDCtcTSu7j2uPzQwtXCvdoNCgkJCSRyb3dbJ2NvbnRlbnR0aXRsZSddID0gJyc7DQoJCQkkcm93Wydjb250ZW50aWQnXSA9ICcnOw0KCQkJaWYoJGdldGNvbnRlbnQ9PTEpDQoJCQl7DQoJCQkJJG5yb3cgPSAkdGhpcy0+R2V0TmV3Q29udGVudCgkcm93WydiaWQnXSk7DQoJCQkJJHJvd1snY29udGVudHRpdGxlJ10gPWVtcHR5KCRucm93Wyd0aXRsZSddKT8gItTdzt4iIDogJG5yb3dbJ3RpdGxlJ107DQoJCQkgICRyb3dbJ2NvbnRlbnRpZCddID0gZW1wdHkoJG5yb3dbJ2lkJ10pPyAiIiA6JG5yb3dbJ2lkJ107DQoJCQkJLy9lY2hvICJ7JHJvd1snY29udGVudHRpdGxlJ119IDAgeyRyb3dbJ2NvbnRlbnRpZCddfSI7DQoJCQl9DQoJCQlpZigkcm93Wydib29rdHlwZSddPT0xKQ0KCQkJew0KCQkJCSRyb3dbJ2NvbnRlbnR1cmwnXSA9ICRjZmdfY21zcGF0aC4nL2Jvb2svc2hvdy1waG90by5waHA/aWQ9Jy4kcm93Wydjb250ZW50aWQnXTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkcm93Wydjb250ZW50dXJsJ10gPSAkY2ZnX2Ntc3BhdGguJy9ib29rL3N0b3J5LnBocD9pZD0nLiRyb3dbJ2NvbnRlbnRpZCddOw0KCQkJfQ0KDQoJCQkvL7avzKzN+Na3DQoJCQkkcm93WydkbWJvb2t1cmwnXSA9ICRjZmdfY21zcGF0aC4nL2Jvb2svYm9vay5waHA/YmlkPScuJHJvd1snYmlkJ107DQoNCgkJCS8vvrLMrM341rcNCgkJCSRyb3dbJ2Jvb2t1cmwnXSA9ICRyb3dbJ3VybCddID0gR2V0Qm9va1VybCgkcm93WydiaWQnXSwkcm93Wydib29rbmFtZSddKTsNCgkJCSRyb3dbJ2NhdGFsb2d1cmwnXSA9ICRjZmdfY21zcGF0aC4nL2Jvb2svbGlzdC5waHA/aWQ9Jy4kcm93WydjYXRpZCddOw0KCQkJJHJvd1snY2F0YWxvZ2xpbmsnXSA9ICI8YSBocmVmPSd7JHJvd1snY2F0YWxvZ3VybCddfSc+eyRyb3dbJ2NsYXNzbmFtZSddfTwvYT4iOw0KCQkJJHJvd1snYm9va2xpbmsnXSA9ICI8YSBocmVmPSd7JHJvd1snYm9va3VybCddfSc+eyRyb3dbJ2Jvb2tuYW1lJ119PC9hPiI7DQoJCQkkcm93Wydjb250ZW50bGluayddID0gIjxhIGhyZWY9J3skcm93Wydjb250ZW50dXJsJ119Jz57JHJvd1snY29udGVudHRpdGxlJ119PC9hPiI7DQoJCQlpZigkcm93WydsaXRwaWMnXSE9IiIpew0KCQkJJHJvd1snaW1nbGluayddID0gIjxhIGhyZWY9J3skcm93Wydib29rdXJsJ119Jz48aW1nIHNyYz0neyRyb3dbJ2xpdHBpYyddfScgd2lkdGg9JyRpbWd3aWR0aCcgaGVpZ2h0PSckaW1naGVpZ2h0JyBib3JkZXI9JzAnIC8+PC9hPiI7DQoJCQl9ZWxzZXsNCgkJCSRyb3dbJ2ltZ2xpbmsnXSA9ICI8YSBocmVmPSd7JHJvd1snYm9va3VybCddfSc+PGltZyBzcmM9Jy9pbWFnZXMvYm9vay9ib29rX2ltZy5qcGcnIHdpZHRoPSckaW1nd2lkdGgnIGhlaWdodD0nJGltZ2hlaWdodCcgYm9yZGVyPScwJyAvPjwvYT4iOwkNCgkJCX0NCgkJCWlmKCRyb3dbJ2lzY2hlY2snXT09MikNCgkJCXsNCgkJCQkkcm93Wydpc2NoZWNrJ109J9LRzeqzycGs1NgnOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRyb3dbJ2lzY2hlY2snXT0nwazU2NbQLi4uJzsNCgkJCX0NCgkJCWlmKCRyb3dbJ2Jvb2t0eXBlJ109PTApDQoJCQl7DQoJCQkJJHJvd1snYm9va3R5cGVuYW1lJ109J9Chy7UnOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRyb3dbJ2Jvb2t0eXBlbmFtZSddPSfC/rutJzsNCgkJCX0NCgkJCWlmKGlzX2FycmF5KCRuZHRwLT5DVGFncykpDQoJCQl7DQoJCQkJZm9yZWFjaCgkbmR0cC0+Q1RhZ3MgYXMgJHRhZ2lkPT4kY3RhZykNCgkJCQl7DQoJCQkJCSR0YWduYW1lID0gJGN0YWctPkdldFRhZ05hbWUoKTsNCgkJCQkJaWYoaXNzZXQoJHJvd1skdGFnbmFtZV0pKQ0KCQkJCQl7DQoJCQkJCQkkbmR0cC0+QXNzaWduKCR0YWdpZCwkcm93WyR0YWduYW1lXSk7DQoJCQkJCX0NCgkJCQkJZWxzZQ0KCQkJCQl7DQoJCQkJCQkkbmR0cC0+QXNzaWduKCR0YWdpZCwnJyk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQkkY2xpc3QgLj0gJG5kdHAtPkdldFJlc3VsdCgpOw0KCQl9DQoJCXJldHVybiAkY2xpc3Q7DQoJfQ0KDQoJLy+78bXD1ri2qMz1vP61xMTayN0NCglmdW5jdGlvbiBHZXROZXdDb250ZW50KCRiaWQpDQoJew0KCQkkcm93ID0gJHRoaXMtPmRzcWwtPkdldE9uZSgiU2VsZWN0IGlkLHRpdGxlLGNoYXB0ZXJpZCBGcm9tICNAX19zdG9yeV9jb250ZW50IHdoZXJlIGJvb2tpZD0nJGJpZCcgb3JkZXIgYnkgaWQgZGVzYyAiKTsNCgkJcmV0dXJuICRyb3c7DQoJfQ0KDQoJLy+78bXD1ri2qMz1vP61xMTayN0NCglmdW5jdGlvbiBHZXROZXdDb250ZW50TGluaygkYmlkLCRpbm5lcnRleHQ9JycpDQoJew0KCQlnbG9iYWwgJGNmZ19jbXNwYXRoOw0KCQkkcnN0ciA9ICcnOw0KCQkkcm93ID0gJHRoaXMtPkdldE5ld0NvbnRlbnQoJGJpZCk7DQoJCWlmKCFpc19hcnJheSgkcm93KSkNCgkJew0KCQkJcmV0dXJuICcnOw0KCQl9DQoJCWlmKGVtcHR5KCRpbm5lcnRleHQpKQ0KCQl7DQoJCQkkaW5uZXJ0ZXh0ID0gIjxhIGhyZWY9J1tmaWVsZDp1cmwvXSc+W2ZpZWxkOnRpdGxlL108L2E+IjsNCgkJfQ0KCQlpZigkdGhpcy0+RmllbGRzWydib29rdHlwZSddPT0xKQ0KCQl7DQoJCQkkYnVybCA9ICRjZmdfY21zcGF0aC4nL2Jvb2svc2hvdy1waG90by5waHA/aWQ9Jy4kYmlkOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJGJ1cmwgPSAkY2ZnX2Ntc3BhdGguJy9ib29rL3N0b3J5LnBocD9pZD0nLiRiaWQ7DQoJCX0NCgkJJHJzdHIgPSBwcmVnX3JlcGxhY2UoIi9cW2ZpZWxkOnVybChbXHNdezAsfSlcL1xdL2lzVSIsJGJ1cmwsJGlubmVydGV4dCk7DQoNCgkJLy8kcnN0ciA9IHByZWdfcmVwbGFjZSgiL1xbZmllbGQ6Y2goW1xzXXswLH0pXC9cXS9pc1UiLCRyb3dbJ2NoYXB0ZXJpZCddLCRyc3RyKTsNCgkJJHJzdHIgPSBwcmVnX3JlcGxhY2UoIi9cW2ZpZWxkOnRpdGxlKFtcc117MCx9KVwvXF0vaXNVIiwkcm93Wyd0aXRsZSddLCRyc3RyKTsNCgkJcmV0dXJuICRyc3RyOw0KCX0NCg0KDQoJLy+78bXD1cK92sHQse0NCglmdW5jdGlvbiBHZXRDaGFwdGVyTGlzdCgkYm9va2lkLCRpbm5lcnRleHQpDQoJew0KCQlnbG9iYWwgJGNmZ19jbXNwYXRoOw0KCQkkY2xpc3QgPSAnJzsNCgkJJHRoaXMtPmRzcWwtPlNldFF1ZXJ5KCJTZWxlY3QgaWQsY2hhcHRlcm5hbWUsY2hhcG51bSBGcm9tICNAX19zdG9yeV9jaGFwdGVyIHdoZXJlIGJvb2tpZD0neyRib29raWR9JyBvcmRlciBieSBjaGFwbnVtIGFzYyAiKTsNCgkJJHRoaXMtPmRzcWwtPkV4ZWN1dGUoKTsNCgkJJG5kdHAgPSBuZXcgRGVkZVRhZ1BhcnNlKCk7DQoJCSRuZHRwLT5TZXROYW1lU3BhY2UoImluIiwieyIsIn0iKTsNCgkJJGNoID0gMDsNCgkJd2hpbGUoJHJvdyA9ICR0aGlzLT5kc3FsLT5HZXRBcnJheSgpKQ0KCQl7DQoJCQkkY2grKzsNCgkJCSRuZHRwLT5Mb2FkU3RyaW5nKCRpbm5lcnRleHQpOw0KCQkJaWYoaXNfYXJyYXkoJG5kdHAtPkNUYWdzKSkNCgkJCXsNCgkJCQlmb3JlYWNoKCRuZHRwLT5DVGFncyBhcyAkdGFnaWQ9PiRjdGFnKQ0KCQkJCXsNCgkJCQkJJHRhZ25hbWUgPSAkY3RhZy0+R2V0VGFnTmFtZSgpOw0KDQoJCQkJCS8vZmllbGTA4NDNDQoJCQkJCWlmKCR0YWduYW1lPT0nZmllbGQnKQ0KCQkJCQl7DQoJCQkJCQlpZihpc3NldCgkcm93WyRjdGFnLT5HZXRBdHQoJ25hbWUnKV0pKQ0KCQkJCQkJew0KCQkJCQkJCSRuZHRwLT5Bc3NpZ24oJHRhZ2lkLCRyb3dbJGN0YWctPkdldEF0dCgnbmFtZScpXSk7DQoJCQkJCQl9DQoJCQkJCQllbHNlDQoJCQkJCQl7DQoJCQkJCQkJJG5kdHAtPkFzc2lnbigkdGFnaWQsJycpOw0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJLy/E2sjdwdCx7Q0KCQkJCQllbHNlIGlmKCR0YWduYW1lPT0nY29udGVudCcpDQoJCQkJCXsNCgkJCQkJCSR0aGlzLT5kc3FsLT5TZXRRdWVyeSgiU2VsZWN0IGlkLHRpdGxlLHNvcnRpZCBGcm9tICNAX19zdG9yeV9jb250ZW50IHdoZXJlIGNoYXB0ZXJpZD0neyRyb3dbJ2lkJ119JyBvcmRlciBieSBzb3J0aWQgYXNjIik7DQoJCQkJCQkkdGhpcy0+ZHNxbC0+RXhlY3V0ZSgnY2gnKTsNCgkJCQkJCSRjdCA9IDA7DQoJCQkJCQkkbmxpc3QgPSAnJzsNCgkJCQkJCXdoaWxlKCRyb3djaCA9ICR0aGlzLT5kc3FsLT5HZXRBcnJheSgnY2gnKSkNCgkJCQkJCXsNCgkJCQkJCQkkY3QrKzsNCgkJCQkJCQlpZigkdGhpcy0+RmllbGRzWydib29rdHlwZSddPT0xKQ0KCQkJCQkJCXsNCgkJCQkJCQkJJHJvd2NoWyd1cmwnXSA9ICRjZmdfY21zcGF0aC4nL2Jvb2svc2hvdy1waG90by5waHA/aWQ9Jy4kcm93Y2hbJ2lkJ107DQoJCQkJCQkJCS8vJHJvd2NoWyd0aXRsZSddID0gIiI7DQoJCQkJCQkJfQ0KCQkJCQkJCWVsc2UNCgkJCQkJCQl7DQoJCQkJCQkJCSRyb3djaFsndXJsJ10gPSAkY2ZnX2Ntc3BhdGguJy9ib29rL3N0b3J5LnBocD9pZD0nLiRyb3djaFsnaWQnXTsNCgkJCQkJCQl9DQoJCQkJCQkJJHJidGV4dCA9IHByZWdfcmVwbGFjZSgiL1xbZmllbGQ6dXJsKFtcc117MCx9KVwvXF0vaXNVIiwkcm93Y2hbJ3VybCddLCRjdGFnLT5HZXRJbm5lclRleHQoKSk7DQoJCQkJCQkJJHJidGV4dCA9IHByZWdfcmVwbGFjZSgiL1xbZmllbGQ6Y2goW1xzXXswLH0pXC9cXS9pc1UiLCRyb3djaFsnc29ydGlkJ10sJHJidGV4dCk7DQoJCQkJCQkJJHJidGV4dCA9IHByZWdfcmVwbGFjZSgiL1xbZmllbGQ6dGl0bGUoW1xzXXswLH0pXC9cXS9pc1UiLCRyb3djaFsndGl0bGUnXSwkcmJ0ZXh0KTsNCgkJCQkJCQkkbmxpc3QgLj0gJHJidGV4dDsNCgkJCQkJCX0NCgkJCQkJCSRuZHRwLT5Bc3NpZ24oJHRhZ2lkLCRubGlzdCk7DQoJCQkJCX0NCgkJCQl9Ly9FbmQgZm9yZWFjaA0KDQoJCQkJJGNsaXN0IC49ICRuZHRwLT5HZXRSZXN1bHQoKTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJGNsaXN0Ow0KCX0NCg0KDQoJLy+78bXDwLjEv8HQse0NCglmdW5jdGlvbiBHZXRDYXRhbG9nTGlzdCgkcGlkLCRpbm5lcnRleHQsJGN1cnJlbnRzdHlsZT0nJykNCgl7DQoJCWdsb2JhbCAkY2ZnX2Ntc3BhdGg7DQoJCSRjbGlzdCA9ICcnOw0KCQkkdGhpcy0+ZHNxbC0+U2V0UXVlcnkoIlNlbGVjdCBpZCxwaWQsY2xhc3NuYW1lIEZyb20gI0BfX3N0b3J5X2NhdGFsb2cgd2hlcmUgcGlkPSd7JHBpZH0nIG9yZGVyIGJ5IHJhbmsgYXNjICIpOw0KCQkkdGhpcy0+ZHNxbC0+RXhlY3V0ZSgpOw0KCQkkbmR0cCA9IG5ldyBEZWRlVGFnUGFyc2UoKTsNCgkJJG5kdHAtPlNldE5hbWVTcGFjZSgiaW4iLCJ7IiwifSIpOw0KCQkkY2ggPSAwOw0KCQlpZih0cmltKCRpbm5lcnRleHQpPT0iIikNCgkJew0KCQkJaWYoJHBpZD09MCkNCgkJCXsNCgkJCQkkaW5uZXJ0ZXh0ID0gR2V0U3lzVGVtcGxldHMoJ2Jvb2tfY2F0YWxvZy5odG0nKTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkaW5uZXJ0ZXh0ID0gR2V0U3lzVGVtcGxldHMoJ2Jvb2tfY2F0YWxvZ19zb24uaHRtJyk7DQoJCQl9DQoJCX0NCgkJd2hpbGUoJHJvdyA9ICR0aGlzLT5kc3FsLT5HZXRBcnJheSgpKQ0KCQl7DQoJCQkkY2grKzsNCgkJCSRuZHRwLT5Mb2FkU3RyaW5nKCRpbm5lcnRleHQpOw0KCQkJJHJvd1sndXJsJ10gPSAkY2ZnX2Ntc3BhdGguJy9ib29rL2xpc3QucGhwP2lkPScuJHJvd1snaWQnXTsNCg0KCQkvL8jnufvOqrWxx7DAuMS/0fnKvQ0KCQlpZigkcm93WydpZCddID09ICR0aGlzLT5GaWVsZHNbJ2lkJ10gJiYgJGN1cnJlbnRzdHlsZSE9JycpDQoJCXsNCgkJCSRsaW5rT2tzdHIgPSAkY3VycmVudHN0eWxlOw0KCQkJJGxpbmtPa3N0ciA9IHN0cl9yZXBsYWNlKCJ+dXJsfiIsJHJvd1sndXJsJ10sJGxpbmtPa3N0cik7DQoJCQkkbGlua09rc3RyID0gc3RyX3JlcGxhY2UoIn5jbGFzc25hbWV+Iiwkcm93WydjbGFzc25hbWUnXSwkbGlua09rc3RyKTsNCgkJCSRjbGlzdCAuPSAkbGlua09rc3RyOw0KCQl9ZWxzZXsNCgkJCWlmKGlzX2FycmF5KCRuZHRwLT5DVGFncykpDQoJCQl7DQoJCQkJZm9yZWFjaCgkbmR0cC0+Q1RhZ3MgYXMgJHRhZ2lkPT4kY3RhZykNCgkJCQl7DQoJCQkJCSR0YWduYW1lID0gJGN0YWctPkdldFRhZ05hbWUoKTsNCg0KCQkJCQkvL2ZpZWxkwODQzQ0KCQkJCQlpZigkdGFnbmFtZT09J2ZpZWxkJykNCgkJCQkJew0KCQkJCQkJaWYoaXNzZXQoJHJvd1skY3RhZy0+R2V0QXR0KCduYW1lJyldKSkNCgkJCQkJCXsNCgkJCQkJCQkkbmR0cC0+QXNzaWduKCR0YWdpZCwkcm93WyRjdGFnLT5HZXRBdHQoJ25hbWUnKV0pOw0KCQkJCQkJfQ0KCQkJCQkJZWxzZQ0KCQkJCQkJew0KCQkJCQkJCSRuZHRwLT5Bc3NpZ24oJHRhZ2lkLCcnKTsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJCS8vxNrI3cHQse0NCgkJCQkJZWxzZSBpZigkdGFnbmFtZT09J3Nvbmxpc3QnKQ0KCQkJCQl7DQoJCQkJCQkkdGhpcy0+ZHNxbC0+U2V0UXVlcnkoIlNlbGVjdCBpZCxwaWQsY2xhc3NuYW1lIEZyb20gI0BfX3N0b3J5X2NhdGFsb2cgd2hlcmUgcGlkPSd7JHJvd1snaWQnXX0nIG9yZGVyIGJ5IHJhbmsgYXNjIik7DQoJCQkJCQkkdGhpcy0+ZHNxbC0+RXhlY3V0ZSgnY2gnKTsNCgkJCQkJCSRjdCA9IDA7DQoJCQkJCQkkbmxpc3QgPSAnJzsNCgkJCQkJCXdoaWxlKCRyb3djaCA9ICR0aGlzLT5kc3FsLT5HZXRBcnJheSgnY2gnKSkNCgkJCQkJCXsNCgkJCQkJCQkkY3QrKzsNCgkJCQkJCQkkcm93Y2hbJ3VybCddID0gJGNmZ19jbXNwYXRoLicvYm9vay9saXN0LnBocD9pZD0nLiRyb3djaFsnaWQnXTsNCgkJCQkJCQkkcmJ0ZXh0ID0gcHJlZ19yZXBsYWNlKCIvXFtmaWVsZDp1cmwoW1xzXXswLH0pXC9cXS9pc1UiLCRyb3djaFsndXJsJ10sJGN0YWctPkdldElubmVyVGV4dCgpKTsNCgkJCQkJCQkkcmJ0ZXh0ID0gcHJlZ19yZXBsYWNlKCIvXFtmaWVsZDppZChbXHNdezAsfSlcL1xdL2lzVSIsJHJvd2NoWydpZCddLCRyYnRleHQpOw0KCQkJCQkJCSRyYnRleHQgPSBwcmVnX3JlcGxhY2UoIi9cW2ZpZWxkOmNsYXNzbmFtZShbXHNdezAsfSlcL1xdL2lzVSIsJHJvd2NoWydjbGFzc25hbWUnXSwkcmJ0ZXh0KTsNCgkJCQkJCQkkbmxpc3QgLj0gJHJidGV4dDsNCgkJCQkJCX0NCgkJCQkJCSRuZHRwLT5Bc3NpZ24oJHRhZ2lkLCRubGlzdCk7DQoJCQkJCX0NCgkJCQl9Ly9FbmQgZm9yZWFjaA0KCQkJCSRjbGlzdCAuPSAkbmR0cC0+R2V0UmVzdWx0KCk7DQoJCQl9DQoJCQl9Ly9FbmQgZWxzZQ0KCQl9DQoJCXJldHVybiAkY2xpc3Q7DQoJfQ0KDQoNCgkvL7vxyKHAuMS/tby6vQ0KCWZ1bmN0aW9uIEdldFBvc2l0aW9uKCRjYXRpZCwkYmNhdGlkKQ0KCXsNCgkJZ2xvYmFsICRjZmdfY21zcGF0aCwkY2ZnX2xpc3Rfc3ltYm9sOw0KCQkkb2tsaW5rID0gJyc7DQoJCSR0aGlzLT5kc3FsLT5TZXRRdWVyeSgiU2VsZWN0IGlkLGNsYXNzbmFtZSBGcm9tICNAX19zdG9yeV9jYXRhbG9nIHdoZXJlIGlkPSckY2F0aWQnIE9yIGlkPSckYmNhdGlkJyBvcmRlciBieSBwaWQgYXNjICIpOw0KCQkkdGhpcy0+ZHNxbC0+RXhlY3V0ZSgpOw0KCQkkcm93ID0gJHRoaXMtPmRzcWwtPkdldEFycmF5KCk7DQoJCWlmKGlzX2FycmF5KCRyb3cpKQ0KCQl7DQoJCQkkb2tsaW5rICA9ICI8YSBocmVmPSd7JGNmZ19jbXNwYXRofS9ib29rL2xpc3QucGhwP2lkPXskcm93WydpZCddfSc+eyRyb3dbJ2NsYXNzbmFtZSddfTwvYT4iOw0KCQl9DQoJCSRyb3cgPSAkdGhpcy0+ZHNxbC0+R2V0QXJyYXkoKTsNCgkJaWYoaXNfYXJyYXkoJHJvdykpDQoJCXsNCgkJCSRva2xpbmsgIC49ICIgIi50cmltKCRjZmdfbGlzdF9zeW1ib2wpLiIgeyRyb3dbJ2NsYXNzbmFtZSddfSI7DQoJCX0NCgkJcmV0dXJuICRva2xpbms7DQoJfQ0KDQoJLy+52LHVz+C52NfK1LQNCglmdW5jdGlvbiBDbG9zZSgpDQoJew0KCQlAJHRoaXMtPmRzcWwtPkNsb3NlKCk7DQoJCXVuc2V0KCR0aGlzLT5kdHApOw0KCX0NCg0KCS8vu/HIocnP0rvSs8GsvdMNCglmdW5jdGlvbiBHZXRQcmVOZXh0KCRndHlwZSkNCgl7DQoJCWlmKGNvdW50KCR0aGlzLT5QcmVOZXh0KT09MCkNCgkJew0KCQkJJGNoYXBudW0gPSAkdGhpcy0+RmllbGRzWydjaGFwbnVtJ107DQoJCQkvL7vxtcPJz9K7zPW8x8K8DQoJCQkkcm93ID0gJHRoaXMtPmRzcWwtPkdldE9uZSgiU2VsZWN0IGlkLHRpdGxlLHNvcnRpZCBGcm9tICNAX19zdG9yeV9jb250ZW50IHdoZXJlIGJvb2tpZD17JHRoaXMtPkZpZWxkc1snYm9va2lkJ119IEFuZCBjaGFwdGVyaWQ9eyR0aGlzLT5GaWVsZHNbJ2NoYXB0ZXJpZCddfSBBbmQgc29ydGlkPHskdGhpcy0+RmllbGRzWydzb3J0aWQnXX0gb3JkZXIgYnkgc29ydGlkIGRlc2MgIik7DQoJCQlpZighaXNfYXJyYXkoJHJvdykpDQoJCQl7DQoJCQkJJHJvdyA9ICR0aGlzLT5kc3FsLT5HZXRPbmUoIlNlbGVjdCBpZCBGcm9tICNAX19zdG9yeV9jaGFwdGVyIHdoZXJlIGJvb2tpZD17JHRoaXMtPkZpZWxkc1snYm9va2lkJ119IEFuZCBjaGFwbnVtPCRjaGFwbnVtIG9yZGVyIGJ5IGNoYXBudW0gZGVzYyAiKTsNCgkJCQlpZihpc19hcnJheSgkcm93KSkNCgkJCQl7DQoJCQkJCSRyb3cgPSAkdGhpcy0+ZHNxbC0+R2V0T25lKCJTZWxlY3QgaWQsdGl0bGUsc29ydGlkIEZyb20gI0BfX3N0b3J5X2NvbnRlbnQgd2hlcmUgYm9va2lkPXskdGhpcy0+RmllbGRzWydib29raWQnXX0gQW5kIGNoYXB0ZXJpZD0neyRyb3dbJ2lkJ119JyBvcmRlciBieSBzb3J0aWQgZGVzYyAiKTsNCgkJCQl9DQoJCQl9DQoJCQlpZighaXNfYXJyYXkoJHJvdykpDQoJCQl7DQoJCQkJJHRoaXMtPlByZU5leHRbJ3ByZSddWydpZCddPTA7DQoJCQkJJHRoaXMtPlByZU5leHRbJ3ByZSddWydsaW5rJ109ImphdmFzY3JpcHQ6YWxlcnQoJ7jVv6rKvMW2Jyk7IjsNCgkJCQkkdGhpcy0+UHJlTmV4dFsncHJlJ11bJ3RpdGxlJ109J9Xiyse12tK70rMnOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSR0aGlzLT5QcmVOZXh0WydwcmUnXVsnaWQnXT0kcm93WydpZCddOw0KCQkJCSR0aGlzLT5QcmVOZXh0WydwcmUnXVsndGl0bGUnXT0kcm93Wyd0aXRsZSddOw0KCQkJCWlmKCR0aGlzLT5GaWVsZHNbJ2Jvb2t0eXBlJ109PTEpDQoJCQkJew0KCQkJCQkkdGhpcy0+UHJlTmV4dFsncHJlJ11bJ2xpbmsnXT0ic2hvdy1waG90by5waHA/aWQ9Ii4kcm93WydpZCddOw0KCQkJCQkkdGhpcy0+UHJlTmV4dFsncHJlJ11bJ3RpdGxlJ10gPSAiyc/Su9KzIjsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJHRoaXMtPlByZU5leHRbJ3ByZSddWydsaW5rJ109InN0b3J5LnBocD9pZD0iLiRyb3dbJ2lkJ107DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvL7vxtcPPwtK7zPW8x8K8DQoJCQkkcm93ID0gJHRoaXMtPmRzcWwtPkdldE9uZSgiU2VsZWN0IGlkLHRpdGxlLHNvcnRpZCBGcm9tICNAX19zdG9yeV9jb250ZW50IHdoZXJlIGJvb2tpZD17JHRoaXMtPkZpZWxkc1snYm9va2lkJ119IEFuZCBjaGFwdGVyaWQ9eyR0aGlzLT5GaWVsZHNbJ2NoYXB0ZXJpZCddfSBBbmQgc29ydGlkPnskdGhpcy0+RmllbGRzWydzb3J0aWQnXX0gb3JkZXIgYnkgc29ydGlkIGFzYyAiKTsNCgkJCWlmKCFpc19hcnJheSgkcm93KSkNCgkJCXsNCgkJCQkkcm93ID0gJHRoaXMtPmRzcWwtPkdldE9uZSgiU2VsZWN0IGlkIEZyb20gI0BfX3N0b3J5X2NoYXB0ZXIgd2hlcmUgYm9va2lkPXskdGhpcy0+RmllbGRzWydib29raWQnXX0gQW5kIGNoYXBudW0+JGNoYXBudW0gb3JkZXIgYnkgY2hhcG51bSBhc2MgIik7DQoJCQkJaWYoaXNfYXJyYXkoJHJvdykpDQoJCQkJew0KCQkJCQkkcm93ID0gJHRoaXMtPmRzcWwtPkdldE9uZSgiU2VsZWN0IGlkLHRpdGxlLHNvcnRpZCBGcm9tICNAX19zdG9yeV9jb250ZW50IHdoZXJlIGJvb2tpZD17JHRoaXMtPkZpZWxkc1snYm9va2lkJ119IEFuZCBjaGFwdGVyaWQ9eyRyb3dbJ2lkJ119IG9yZGVyIGJ5IHNvcnRpZCAgYXNjICIpOw0KCQkJCX0NCgkJCX0NCgkJCWlmKCFpc19hcnJheSgkcm93KSkNCgkJCXsNCgkJCQkkdGhpcy0+UHJlTmV4dFsnbmV4dCddWydpZCddPTA7DQoJCQkJJHRoaXMtPlByZU5leHRbJ25leHQnXVsnbGluayddPSJqYXZhc2NyaXB0OmFsZXJ0KCfDu9PQwcvFticpOyI7DQoJCQkJJHRoaXMtPlByZU5leHRbJ25leHQnXVsndGl0bGUnXT0n1eLKx9fuuvPSu9KzJzsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkdGhpcy0+UHJlTmV4dFsnbmV4dCddWydpZCddPSRyb3dbJ2lkJ107DQoJCQkJJHRoaXMtPlByZU5leHRbJ25leHQnXVsndGl0bGUnXT0kcm93Wyd0aXRsZSddOw0KCQkJCWlmKCR0aGlzLT5GaWVsZHNbJ2Jvb2t0eXBlJ109PTEpDQoJCQkJew0KCQkJCQkkdGhpcy0+UHJlTmV4dFsnbmV4dCddWydsaW5rJ109InNob3ctcGhvdG8ucGhwP2lkPSIuJHJvd1snaWQnXTsNCgkJCQkJJHRoaXMtPlByZU5leHRbJ25leHQnXVsndGl0bGUnXSA9ICLPwtK70rMiOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkkdGhpcy0+UHJlTmV4dFsnbmV4dCddWydsaW5rJ109InN0b3J5LnBocD9pZD0iLiRyb3dbJ2lkJ107DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCWlmKCRndHlwZT09J3ByZWxpbmsnKQ0KCQl7DQoJCQlyZXR1cm4gIjxhIGhyZWY9J3skdGhpcy0+UHJlTmV4dFsncHJlJ11bJ2xpbmsnXX0nPiR0aGlzLT5QcmVOZXh0WydwcmUnXVsndGl0bGUnXTwvYT4iOw0KCQl9DQoJCWVsc2UgaWYoJGd0eXBlPT0nbmV4dGxpbmsnKQ0KCQl7DQoJCQlyZXR1cm4gIjxhIGhyZWY9J3skdGhpcy0+UHJlTmV4dFsnbmV4dCddWydsaW5rJ119Jz4kdGhpcy0+UHJlTmV4dFsnbmV4dCddWyd0aXRsZSddPC9hPiI7DQoJCX0NCgkJZWxzZSBpZigkZ3R5cGU9PSdwcmV1cmwnKQ0KCQl7DQoJCQlyZXR1cm4gJHRoaXMtPlByZU5leHRbJ3ByZSddWydsaW5rJ107DQoJCX0NCgkJZWxzZSBpZigkZ3R5cGU9PSduZXh0dXJsJykNCgkJew0KCQkJcmV0dXJuICR0aGlzLT5QcmVOZXh0WyduZXh0J11bJ2xpbmsnXTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCXJldHVybiAiIjsNCgkJfQ0KCX0NCg0KDQoJLy+78cihtq/MrLXEt9bSs8HQse0NCglmdW5jdGlvbiBHZXRQYWdlTGlzdERNKCRsaXN0X2xlbiwkbGlzdGl0ZW09ImluZGV4LGVuZCxwcmUsbmV4dCxwYWdlbm8iKQ0KCXsNCgkJJHByZXBhZ2U9IiI7DQoJCSRuZXh0cGFnZT0iIjsNCgkJJHByZXBhZ2VudW0gPSAkdGhpcy0+UGFnZU5vLTE7DQoJCSRuZXh0cGFnZW51bSA9ICR0aGlzLT5QYWdlTm8rMTsNCgkJaWYoJGxpc3RfbGVuPT0iInx8cHJlZ19tYXRjaCgiI1teMC05XSMiLCRsaXN0X2xlbikpDQoJCXsNCgkJCSRsaXN0X2xlbj0zOw0KCQl9DQoJCSR0b3RhbHBhZ2UgPSBjZWlsKCR0aGlzLT5Ub3RhbFJlc3VsdC8kdGhpcy0+UGFnZVNpemUpOw0KDQoJCS8v0rPD5tCh09q78rXI09rSuw0KCQlpZigkdG90YWxwYWdlPD0xICYmICR0aGlzLT5Ub3RhbFJlc3VsdD4wKQ0KCQl7DQoJCQlyZXR1cm4gIrmyMdKzLyIuJHRoaXMtPlRvdGFsUmVzdWx0LiLM9bzHwrwiOw0KCQl9DQoJCWlmKCR0aGlzLT5Ub3RhbFJlc3VsdCA9PSAwKQ0KCQl7DQoJCQlyZXR1cm4gIrmyMNKzLyIuJHRoaXMtPlRvdGFsUmVzdWx0LiLM9bzHwrwiOw0KCQl9DQoJCSRtYWluaW5mbyA9ICI8ZGQ+PHNwYW4+ubJ7JHRvdGFscGFnZX3Ssy8iLiR0aGlzLT5Ub3RhbFJlc3VsdC4izPW8x8K8PC9zcGFuPjwvZGQ+IjsNCgkJJHB1cmwgPSAkdGhpcy0+R2V0Q3VyVXJsKCk7DQoJCSRnZXR1cmwgPSAiaWQ9Ii4kdGhpcy0+Q2F0YWxvZ0lELiIma2V5d29yZD0iLiR0aGlzLT5LZXlzWydrZXl3b3JkJ10uIiZhdXRob3I9Ii4kdGhpcy0+S2V5c1snYXV0aG9yJ10uIiYiOw0KCQkkaGlkZW5mb3JtID0gIjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2lkJyB2YWx1ZT0nIi4kdGhpcy0+Q2F0YWxvZ0lELiInPlxyXG4iOw0KCQkkaGlkZW5mb3JtIC49ICI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdrZXl3b3JkJyB2YWx1ZT0nIi4kdGhpcy0+S2V5c1sna2V5d29yZCddLiInPlxyXG4iOw0KCQkkaGlkZW5mb3JtIC49ICI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhdXRob3InIHZhbHVlPSciLiR0aGlzLT5LZXlzWydhdXRob3InXS4iJz5cclxuIjsNCgkJJHB1cmwgLj0gIj8iLiRnZXR1cmw7DQoNCgkJLy+78bXDyc/Su9Kzus3PwtK70rO1xMG0vdMNCgkJaWYoJHRoaXMtPlBhZ2VObyAhPSAxKQ0KCQl7DQoJCQkkcHJlcGFnZS49IjxkZD48YSBocmVmPSciLiRwdXJsLiJQYWdlTm89JHByZXBhZ2VudW0nPsnP0rvSszwvYT48L2RkPlxyXG4iOw0KCQkJJGluZGV4cGFnZT0iPGRkPjxhIGhyZWY9JyIuJHB1cmwuIlBhZ2VObz0xJz7K19KzPC9hPjwvZGQ+XHJcbiI7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkaW5kZXhwYWdlPSIiOw0KCQl9DQoJCWlmKCR0aGlzLT5QYWdlTm8hPSR0b3RhbHBhZ2UgJiYgJHRvdGFscGFnZT4xKQ0KCQl7DQoJCQkkbmV4dHBhZ2UuPSI8ZGQ+PGEgaHJlZj0nIi4kcHVybC4iUGFnZU5vPSRuZXh0cGFnZW51bSc+z8LSu9KzPC9hPjwvZGQ+XHJcbiI7DQoJCQkkZW5kcGFnZT0iPGRkPjxhIGhyZWY9JyIuJHB1cmwuIlBhZ2VObz0kdG90YWxwYWdlJz7EqdKzPC9hPjwvZGQ+XHJcbiI7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkZW5kcGFnZT0iIjsNCgkJfQ0KDQoJCS8vu/G1w8r919bBtL3TDQoJCSRsaXN0ZGQ9IiI7DQoJCSR0b3RhbF9saXN0ID0gJGxpc3RfbGVuICogMiArIDE7DQoJCWlmKCR0aGlzLT5QYWdlTm8gPj0gJHRvdGFsX2xpc3QpDQoJCXsNCgkJCSRqID0gJHRoaXMtPlBhZ2VOby0kbGlzdF9sZW47DQoJCQkkdG90YWxfbGlzdCA9ICR0aGlzLT5QYWdlTm8rJGxpc3RfbGVuOw0KCQkJaWYoJHRvdGFsX2xpc3Q+JHRvdGFscGFnZSkNCgkJCXsNCgkJCQkkdG90YWxfbGlzdD0kdG90YWxwYWdlOw0KCQkJfQ0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJGo9MTsNCgkJCWlmKCR0b3RhbF9saXN0PiR0b3RhbHBhZ2UpDQoJCQl7DQoJCQkJJHRvdGFsX2xpc3Q9JHRvdGFscGFnZTsNCgkJCX0NCgkJfQ0KCQlmb3IoJGo7JGo8PSR0b3RhbF9saXN0OyRqKyspDQoJCXsNCgkJCWlmKCRqPT0kdGhpcy0+UGFnZU5vKQ0KCQkJew0KCQkJCSRsaXN0ZGQuPSAiPGRkPjxzcGFuPiRqPC9zcGFuPjwvZGQ+XHJcbiI7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJJGxpc3RkZC49IjxkZD48YSBocmVmPSciLiRwdXJsLiJQYWdlTm89JGonPlsiLiRqLiJdPC9hPjwvZGQ+XHJcbiI7DQoJCQl9DQoJCX0NCgkJJHBsaXN0ID0gIjxmb3JtIG5hbWU9J3BhZ2VsaXN0JyBhY3Rpb249JyIuJHRoaXMtPkdldEN1clVybCgpLiInPiRoaWRlbmZvcm0iOw0KCQkkcGxpc3QgLj0gICI8ZGwgaWQ9J2RlZGVQYWdlTGlzdCc+XHJcbiI7DQoJCSRwbGlzdCAuPSAkbWFpbmluZm8uJGluZGV4cGFnZS4kcHJlcGFnZS4kbGlzdGRkLiRuZXh0cGFnZS4kZW5kcGFnZTsNCgkJaWYoJHRvdGFscGFnZT4kdG90YWxfbGlzdCkNCgkJew0KCQkJJHBsaXN0Lj0iPGRkPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdQYWdlTm8nIHN0eWxlPSd3aWR0aDozMHB4O2hlaWdodDoxOHB4JyB2YWx1ZT0nIi4kdGhpcy0+UGFnZU5vLiInPjwvZGQ+XHJcbiI7DQoJCQkkcGxpc3QuPSI8ZGQ+PGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0ncGxpc3RnbycgdmFsdWU9J0dPJyBzdHlsZT0nd2lkdGg6MjRweDtoZWlnaHQ6MThweDtmb250LXNpemU6OXB0Jz48L2RkPlxyXG4iOw0KCQl9DQoJCSRwbGlzdCAuPSAiPC9kbD5cclxuPC9mb3JtPlxyXG4iOw0KCQlyZXR1cm4gJHBsaXN0Ow0KCX0NCg0KCS8vu/G1w7Wxx7C1xNKzw+bOxLz+tcR1cmwNCglmdW5jdGlvbiBHZXRDdXJVcmwoKQ0KCXsNCgkJaWYoIWVtcHR5KCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSkNCgkJew0KCQkJJG5vd3VybCA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOw0KCQkJJG5vd3VybHMgPSBleHBsb2RlKCI/Iiwkbm93dXJsKTsNCgkJCSRub3d1cmwgPSAkbm93dXJsc1swXTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRub3d1cmwgPSAkX1NFUlZFUlsiUEhQX1NFTEYiXTsNCgkJfQ0KCQlyZXR1cm4gJG5vd3VybDsNCgl9DQp9Ly9FbmQgQ2xhc3MNCg0KPz4=
PD9waHANCg0KLyoqDQogKiBFbnRlciBkZXNjcmlwdGlvbiBoZXJlLi4uDQogKg0KICogQGF1dGhvciBBZG1pbmlzdHJhdG9yDQogKiBAcGFja2FnZSBkZWZhdWx0UGFja2FnZQ0KICogQHJjc2ZpbGUgCSRSQ1NmaWxlOiBpbmRleC5waHAsdiAkDQogKiBAcmV2aXNpb24gCSRSZXZpc2lvbjogMS4xICQNCiAqIEBkYXRlIAkkRGF0ZTogMjAwOC8xMi8xMSAwMjowOTo0MCAkDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vaW5jbHVkZS9jb21tb24uaW5jLnBocCIpOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvaW5jbHVkZS9zdG9yeS52aWV3LmNsYXNzLnBocCcpOw0KJGJ2ID0gbmV3IEJvb2tWaWV3KDAsJ2luZGV4Jyk7DQokYnYtPkRpc3BsYXkoKTsNCiRidi0+Q2xvc2UoKTsNCj8+
LyoNCiAqIGpRdWVyeSAxLjIuNiAtIE5ldyBXYXZlIEphdmFzY3JpcHQNCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMDggSm9obiBSZXNpZyAoanF1ZXJ5LmNvbSkNCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCAoTUlULUxJQ0VOU0UudHh0KQ0KICogYW5kIEdQTCAoR1BMLUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4NCiAqDQogKiAkRGF0ZTogMjAwOC8xMi8xMSAwMjoxMDo0OCAkDQogKiAkUmV2OiA1Njg1ICQNCiAqLw0KZXZhbChmdW5jdGlvbihwLGEsYyxrLGUscil7ZT1mdW5jdGlvbihjKXtyZXR1cm4oYzxhPycnOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9tQ2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgvXi8sU3RyaW5nKSl7d2hpbGUoYy0tKXJbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5jdGlvbihlKXtyZXR1cm4gcltlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MX07d2hpbGUoYy0tKWlmKGtbY10pcD1wLnJlcGxhY2UobmV3IFJlZ0V4cCgnXFxiJytlKGMpKydcXGInLCdnJyksa1tjXSk7cmV0dXJuIHB9KCcoSCgpe0ogdz0xYi40TSwzbSQ9MWIuJDtKIEQ9MWIuNE09MWIuJD1IKGEsYil7SSAyQiBELjE3LjVqKGEsYil9O0ogdT0vXltePF0qKDwoLnxcXHMpKz4pW14+XSokfF4jKFxcdyspJC8sNjI9L14uW146I1xcW1xcLl0qJC8sMTI7RC4xNz1ELjQ0PXs1ajpIKGQsYil7ZD1kfHxTO0coZC4xNil7N1swXT1kOzcuSz0xO0kgN31HKDFqIGQ9PSIyMyIpe0ogYz11LjJEKGQpO0coYyYmKGNbMV18fCFiKSl7RyhjWzFdKWQ9RC40aChbY1sxXV0sYik7TntKIGE9Uy42MShjWzNdKTtHKGEpe0coYS4ydiE9Y1szXSlJIEQoKS4ycShkKTtJIEQoYSl9ZD1bXX19TiBJIEQoYikuMnEoZCl9TiBHKEQuMUQoZCkpSSBEKFMpW0QuMTcuMjc/IjI3IjoiNDMiXShkKTtJIDcuNlkoRC4yZChkKSl9LDV3OiIxLjIuNiIsOEc6SCgpe0kgNy5LfSxLOjAsM3A6SChhKXtJIGE9PTEyP0QuMmQoNyk6N1thXX0sMkk6SChiKXtKIGE9RChiKTthLjVuPTc7SSBhfSw2WTpIKGEpezcuSz0wOzJwLjQ0LjFwLjF3KDcsYSk7SSA3fSxQOkgoYSxiKXtJIEQuUCg3LGEsYil9LDVpOkgoYil7SiBhPS0xO0kgRC4yTChiJiZiLjV3P2JbMF06Yiw3KX0sMUs6SChjLGEsYil7SiBkPWM7RyhjLjFxPT01NilHKGE9PT0xMilJIDdbMF0mJkRbYnx8IjFLIl0oN1swXSxjKTtOe2Q9e307ZFtjXT1hfUkgNy5QKEgoaSl7UihjIDFuIGQpRC4xSyhiPzcuVjo3LGMsRC4xaSg3LGRbY10sYixpLGMpKX0pfSwxZzpIKGIsYSl7RygoYj09XCcyaFwnfHxiPT1cJzFaXCcpJiYzZChhKTwwKWE9MTI7SSA3LjFLKGIsYSwiMmEiKX0sMXI6SChiKXtHKDFqIGIhPSI0OSImJmIhPVUpSSA3LjRFKCkuM3YoKDdbMF0mJjdbMF0uMnp8fFMpLjVGKGIpKTtKIGE9IiI7RC5QKGJ8fDcsSCgpe0QuUCg3LjN0LEgoKXtHKDcuMTYhPTgpYSs9Ny4xNiE9MT83Ljc2OkQuMTcuMXIoWzddKX0pfSk7SSBhfSw1ejpIKGIpe0coN1swXSlEKGIsN1swXS4yeikuNXkoKS4zOSg3WzBdKS4ybChIKCl7SiBhPTc7MUIoYS4xeClhPWEuMXg7SSBhfSkuM3YoNyk7SSA3fSw4WTpIKGEpe0kgNy5QKEgoKXtEKDcpLjZRKCkuNXooYSl9KX0sOFI6SChhKXtJIDcuUChIKCl7RCg3KS41eihhKX0pfSwzdjpIKCl7SSA3LjNXKDE5LE0sUSxIKGEpe0coNy4xNj09MSk3LjNVKGEpfSl9LDZGOkgoKXtJIDcuM1coMTksTSxNLEgoYSl7Ryg3LjE2PT0xKTcuMzkoYSw3LjF4KX0pfSw2RTpIKCl7SSA3LjNXKDE5LFEsUSxIKGEpezcuMWQuMzkoYSw3KX0pfSw1cTpIKCl7SSA3LjNXKDE5LFEsTSxIKGEpezcuMWQuMzkoYSw3LjJIKX0pfSwzbDpIKCl7SSA3LjVufHxEKFtdKX0sMnE6SChiKXtKIGM9RC4ybCg3LEgoYSl7SSBELjJxKGIsYSl9KTtJIDcuMkkoL1teKz5dIFteKz5dLy4xMShiKXx8Yi4xaCgiLi4iKT4tMT9ELjRyKGMpOmMpfSw1eTpIKGUpe0ogZj03LjJsKEgoKXtHKEQuMTQuMWYmJiFELjRuKDcpKXtKIGE9Ny42byhNKSw1aD1TLjNoKCIxdiIpOzVoLjNVKGEpO0kgRC40aChbNWguNEhdKVswXX1OIEkgNy42byhNKX0pO0ogZD1mLjJxKCIqIikuNWMoKS5QKEgoKXtHKDdbRV0hPTEyKTdbRV09VX0pO0coZT09PU0pNy4ycSgiKiIpLjVjKCkuUChIKGkpe0coNy4xNj09MylJO0ogYz1ELkwoNywiM3ciKTtSKEogYSAxbiBjKVIoSiBiIDFuIGNbYV0pRC5XLjFlKGRbaV0sYSxjW2FdW2JdLGNbYV1bYl0uTCl9KTtJIGZ9LDFFOkgoYil7SSA3LjJJKEQuMUQoYikmJkQuM0MoNyxIKGEsaSl7SSBiLjFrKGEsaSl9KXx8RC4zZyhiLDcpKX0sNFk6SChiKXtHKGIuMXE9PTU2KUcoNjIuMTEoYikpSSA3LjJJKEQuM2coYiw3LE0pKTtOIGI9RC4zZyhiLDcpO0ogYT1iLksmJmJbYi5LLTFdIT09MTImJiFiLjE2O0kgNy4xRShIKCl7SSBhP0QuMkwoNyxiKTwwOjchPWJ9KX0sMWU6SChhKXtJIDcuMkkoRC40cihELjJSKDcuM3AoKSwxaiBhPT1cJzIzXCc/RChhKTpELjJkKGEpKSkpfSwzRjpIKGEpe0khIWEmJkQuM2coYSw3KS5LPjB9LDdUOkgoYSl7SSA3LjNGKCIuIithKX0sNmU6SChiKXtHKGI9PTEyKXtHKDcuSyl7SiBjPTdbMF07RyhELlkoYywiMkEiKSl7SiBlPWMuNjQsNjM9W10sMTU9Yy4xNSwyVj1jLk89PSIyQS0yViI7RyhlPDApSSBVO1IoSiBpPTJWP2U6MCwyZj0yVj9lKzE6MTUuSztpPDJmO2krKyl7SiBkPTE1W2ldO0coZC4yVyl7Yj1ELjE0LjFmJiYhZC5hdC4yeC5hbj9kLjFyOmQuMng7RygyVilJIGI7NjMuMXAoYil9fUkgNjN9TiBJKDdbMF0uMnh8fCIiKS4xbygvXFxyL2csIiIpfUkgMTJ9RyhiLjFxPT00TCliKz1cJ1wnO0kgNy5QKEgoKXtHKDcuMTYhPTEpSTtHKGIuMXE9PTJwJiYvNU98NUwvLjExKDcuTykpNy40Sj0oRC4yTCg3LjJ4LGIpPj0wfHxELjJMKDcuMzQsYik+PTApO04gRyhELlkoNywiMkEiKSl7SiBhPUQuMmQoYik7RCgiOVIiLDcpLlAoSCgpezcuMlc9KEQuMkwoNy4yeCxhKT49MHx8RC4yTCg3LjFyLGEpPj0wKX0pO0coIWEuSyk3LjY0PS0xfU4gNy4yeD1ifSl9LDJLOkgoYSl7SSBhPT0xMj8oN1swXT83WzBdLjRIOlUpOjcuNEUoKS4zdihhKX0sN2I6SChhKXtJIDcuNXEoYSkuMjEoKX0sNzk6SChpKXtJIDcuM3MoaSxpKzEpfSwzczpIKCl7SSA3LjJJKDJwLjQ0LjNzLjF3KDcsMTkpKX0sMmw6SChiKXtJIDcuMkkoRC4ybCg3LEgoYSxpKXtJIGIuMWsoYSxpLGEpfSkpfSw1YzpIKCl7SSA3LjFlKDcuNW4pfSxMOkgoZCxiKXtKIGE9ZC4xUigiLiIpO2FbMV09YVsxXT8iLiIrYVsxXToiIjtHKGI9PT0xMil7SiBjPTcuNUMoIjl6IithWzFdKyIhIixbYVswXV0pO0coYz09PTEyJiY3LkspYz1ELkwoN1swXSxkKTtJIGM9PT0xMiYmYVsxXT83LkwoYVswXSk6Y31OIEkgNy4xUCgiOXUiK2FbMV0rIiEiLFthWzBdLGJdKS5QKEgoKXtELkwoNyxkLGIpfSl9LDNiOkgoYSl7SSA3LlAoSCgpe0QuM2IoNyxhKX0pfSwzVzpIKGcsZixoLGQpe0ogZT03Lks+MSwzeDtJIDcuUChIKCl7RyghM3gpezN4PUQuNGgoZyw3LjJ6KTtHKGgpM3guOW8oKX1KIGI9NztHKGYmJkQuWSg3LCIxVCIpJiZELlkoM3hbMF0sIjRGIikpYj03LjNIKCIyMiIpWzBdfHw3LjNVKDcuMnouM2goIjIyIikpO0ogYz1EKFtdKTtELlAoM3gsSCgpe0ogYT1lP0QoNykuNXkoTSlbMF06NztHKEQuWShhLCIxbSIpKWM9Yy4xZShhKTtOe0coYS4xNj09MSljPWMuMWUoRCgiMW0iLGEpLjIxKCkpO2QuMWsoYixhKX19KTtjLlAoNlQpfSl9fTtELjE3LjVqLjQ0PUQuMTc7SCA2VChpLGEpe0coYS40ZClELjNZKHsxYTphLjRkLDMxOlEsMU86IjFtIn0pO04gRC41dShhLjFyfHxhLjZPfHxhLjRIfHwiIik7RyhhLjFkKWEuMWQuMzcoYSl9SCAxeigpe0krMkIgOEp9RC4xbD1ELjE3LjFsPUgoKXtKIGI9MTlbMF18fHt9LGk9MSxLPTE5LkssNHg9USwxNTtHKGIuMXE9PThJKXs0eD1iO2I9MTlbMV18fHt9O2k9Mn1HKDFqIGIhPSI0OSImJjFqIGIhPSJIIiliPXt9O0coSz09aSl7Yj03Oy0taX1SKDtpPEs7aSsrKUcoKDE1PTE5W2ldKSE9VSlSKEogYyAxbiAxNSl7SiBhPWJbY10sMnc9MTVbY107RyhiPT09MncpNk07Ryg0eCYmMncmJjFqIDJ3PT0iNDkiJiYhMncuMTYpYltjXT1ELjFsKDR4LGF8fCgydy5LIT1VP1tdOnt9KSwydyk7TiBHKDJ3IT09MTIpYltjXT0yd31JIGJ9O0ogRT0iNE0iKzF6KCksNks9MCw1cj17fSw2Rz0vei0/NWl8OEItPzhBfDF5fDZCfDh2LT8xWi9pLDNQPVMuM1B8fHt9O0QuMWwoezh1OkgoYSl7MWIuJD0zbSQ7RyhhKTFiLjRNPXc7SSBEfSwxRDpIKGEpe0khIWEmJjFqIGEhPSIyMyImJiFhLlkmJmEuMXEhPTJwJiYvXltcXHNbXT9ILy4xMShhKyIiKX0sNG46SChhKXtJIGEuMUMmJiFhLjFjfHxhLjJqJiZhLjJ6JiYhYS4yei4xY30sNXU6SChhKXthPUQuM2soYSk7RyhhKXtKIGI9Uy4zSCgiNnciKVswXXx8Uy4xQywxbT1TLjNoKCIxbSIpOzFtLk89IjFyLzR0IjtHKEQuMTQuMWYpMW0uMXI9YTtOIDFtLjNVKFMuNUYoYSkpO2IuMzkoMW0sYi4xeCk7Yi4zNygxbSl9fSxZOkgoYixhKXtJIGIuWSYmYi5ZLjJyKCk9PWEuMnIoKX0sMVk6e30sTDpIKGMsZCxiKXtjPWM9PTFiPzVyOmM7SiBhPWNbRV07RyghYSlhPWNbRV09Kys2SztHKGQmJiFELjFZW2FdKUQuMVlbYV09e307RyhiIT09MTIpRC4xWVthXVtkXT1iO0kgZD9ELjFZW2FdW2RdOmF9LDNiOkgoYyxiKXtjPWM9PTFiPzVyOmM7SiBhPWNbRV07RyhiKXtHKEQuMVlbYV0pezJVIEQuMVlbYV1bYl07Yj0iIjtSKGIgMW4gRC4xWVthXSkxWDtHKCFiKUQuM2IoYyl9fU57MVV7MlUgY1tFXX0xVihlKXtHKGMuNWwpYy41bChFKX0yVSBELjFZW2FdfX0sUDpIKGQsYSxjKXtKIGUsaT0wLEs9ZC5LO0coYyl7RyhLPT0xMil7UihlIDFuIGQpRyhhLjF3KGRbZV0sYyk9PT1RKTFYfU4gUig7aTxLOylHKGEuMXcoZFtpKytdLGMpPT09USkxWH1Oe0coSz09MTIpe1IoZSAxbiBkKUcoYS4xayhkW2VdLGUsZFtlXSk9PT1RKTFYfU4gUihKIGI9ZFswXTtpPEsmJmEuMWsoYixpLGIpIT09UTtiPWRbKytpXSl7fX1JIGR9LDFpOkgoYixhLGMsaSxkKXtHKEQuMUQoYSkpYT1hLjFrKGIsaSk7SSBhJiZhLjFxPT00TCYmYz09IjJhIiYmITZHLjExKGQpP2ErIjJYIjphfSwxRjp7MWU6SChjLGIpe0QuUCgoYnx8IiIpLjFSKC9cXHMrLyksSChpLGEpe0coYy4xNj09MSYmIUQuMUYuM1QoYy4xRixhKSljLjFGKz0oYy4xRj8iICI6IiIpK2F9KX0sMjE6SChjLGIpe0coYy4xNj09MSljLjFGPWIhPTEyP0QuM0MoYy4xRi4xUigvXFxzKy8pLEgoYSl7SSFELjFGLjNUKGIsYSl9KS42cygiICIpOiIifSwzVDpIKGIsYSl7SSBELjJMKGEsKGIuMUZ8fGIpLjZyKCkuMVIoL1xccysvKSk+LTF9fSw2cTpIKGIsYyxhKXtKIGU9e307UihKIGQgMW4gYyl7ZVtkXT1iLlZbZF07Yi5WW2RdPWNbZF19YS4xayhiKTtSKEogZCAxbiBjKWIuVltkXT1lW2RdfSwxZzpIKGQsZSxjKXtHKGU9PSIyaCJ8fGU9PSIxWiIpe0ogYiwzWD17MzA6IjV4Iiw1ZzoiMUciLDE4OiIzSSJ9LDM1PWU9PSIyaCI/WyI1ZSIsIjZrIl06WyI1RyIsIjZpIl07SCA1Yigpe2I9ZT09IjJoIj9kLjhmOmQuOGM7SiBhPTAsMkM9MDtELlAoMzUsSCgpe2ErPTNkKEQuMmEoZCwiNTciKzcsTSkpfHwwOzJDKz0zZChELjJhKGQsIjJDIis3KyI0YiIsTSkpfHwwfSk7Yi09MjkuODMoYSsyQyl9RyhEKGQpLjNGKCI6NGoiKSk1YigpO04gRC42cShkLDNYLDViKTtJIDI5LjJmKDAsYil9SSBELjJhKGQsZSxjKX0sMmE6SChmLGwsayl7SiBlLFY9Zi5WO0ggM0UoYil7RyghRC4xNC4yaylJIFE7SiBhPTNQLjU0KGIsVSk7SSFhfHxhLjUyKCIzRSIpPT0iIn1HKGw9PSIxeSImJkQuMTQuMWYpe2U9RC4xSyhWLCIxeSIpO0kgZT09IiI/IjEiOmV9RyhELjE0LjJHJiZsPT0iMTgiKXtKIGQ9Vi41MDtWLjUwPSIwIDdZIDdXIjtWLjUwPWR9RyhsLjFJKC80aS9pKSlsPXk7RyghayYmViYmVltsXSllPVZbbF07TiBHKDNQLjU0KXtHKGwuMUkoLzRpL2kpKWw9IjRpIjtsPWwuMW8oLyhbQS1aXSkvZywiLSQxIikuM3koKTtKIGM9M1AuNTQoZixVKTtHKGMmJiEzRShmKSllPWMuNTIobCk7TntKIGc9W10sMkU9W10sYT1mLGk9MDtSKDthJiYzRShhKTthPWEuMWQpMkUuNmgoYSk7Uig7aTwyRS5LO2krKylHKDNFKDJFW2ldKSl7Z1tpXT0yRVtpXS5WLjE4OzJFW2ldLlYuMTg9IjNJIn1lPWw9PSIxOCImJmdbMkUuSy0xXSE9VT8iMkYiOihjJiZjLjUyKGwpKXx8IiI7UihpPTA7aTxnLks7aSsrKUcoZ1tpXSE9VSkyRVtpXS5WLjE4PWdbaV19RyhsPT0iMXkiJiZlPT0iIillPSIxIn1OIEcoZi40Zyl7SiBoPWwuMW8oL1xcLShcXHcpL2csSChhLGIpe0kgYi4ycigpfSk7ZT1mLjRnW2xdfHxmLjRnW2hdO0coIS9eXFxkKygyWCk/JC9pLjExKGUpJiYvXlxcZC8uMTEoZSkpe0ogaj1WLjFBLDY2PWYuNjUuMUE7Zi42NS4xQT1mLjRnLjFBO1YuMUE9ZXx8MDtlPVYuYU0rIjJYIjtWLjFBPWo7Zi42NS4xQT02Nn19SSBlfSw0aDpIKGwsaCl7SiBrPVtdO2g9aHx8UztHKDFqIGguM2g9PVwnMTJcJyloPWguMnp8fGhbMF0mJmhbMF0uMnp8fFM7RC5QKGwsSChpLGQpe0coIWQpSTtHKGQuMXE9PTRMKWQrPVwnXCc7RygxaiBkPT0iMjMiKXtkPWQuMW8oLyg8KFxcdyspW14+XSo/KVxcLz4vZyxIKGIsYSxjKXtJIGMuMUkoL14oYUt8NGZ8N0V8YUd8NFR8N0F8YUJ8M258YXp8YXl8YXYpJC9pKT9iOmErIj48LyIrYysiPiJ9KTtKIGY9RC4zayhkKS4zeSgpLDF2PWguM2goIjF2Iik7SiBlPSFmLjFoKCI8YXUiKSYmWzEsIjwyQSA3dz1cJzd3XCc+IiwiPC8yQT4iXXx8IWYuMWgoIjxhciIpJiZbMSwiPDd2PiIsIjwvN3Y+Il18fGYuMUkoL148KGFxfDIyfGFtfGFrfGFpKS8pJiZbMSwiPDFUPiIsIjwvMVQ+Il18fCFmLjFoKCI8NEYiKSYmWzIsIjwxVD48MjI+IiwiPC8yMj48LzFUPiJdfHwoIWYuMWgoIjxhZiIpfHwhZi4xaCgiPGFkIikpJiZbMywiPDFUPjwyMj48NEY+IiwiPC80Rj48LzIyPjwvMVQ+Il18fCFmLjFoKCI8N0UiKSYmWzIsIjwxVD48MjI+PC8yMj48N3E+IiwiPC83cT48LzFUPiJdfHxELjE0LjFmJiZbMSwiMXY8MXY+IiwiPC8xdj4iXXx8WzAsIiIsIiJdOzF2LjRIPWVbMV0rZCtlWzJdOzFCKGVbMF0tLSkxdj0xdi41VDtHKEQuMTQuMWYpe0ogZz0hZi4xaCgiPDFUIikmJmYuMWgoIjwyMiIpPDA/MXYuMXgmJjF2LjF4LjN0OmVbMV09PSI8MVQ+IiYmZi4xaCgiPDIyIik8MD8xdi4zdDpbXTtSKEogaj1nLkstMTtqPj0wOy0tailHKEQuWShnW2pdLCIyMiIpJiYhZ1tqXS4zdC5LKWdbal0uMWQuMzcoZ1tqXSk7RygvXlxccy8uMTEoZCkpMXYuMzkoaC41RihkLjFJKC9eXFxzKi8pWzBdKSwxdi4xeCl9ZD1ELjJkKDF2LjN0KX1HKGQuSz09PTAmJighRC5ZKGQsIjNWIikmJiFELlkoZCwiMkEiKSkpSTtHKGRbMF09PTEyfHxELlkoZCwiM1YiKXx8ZC4xNSlrLjFwKGQpO04gaz1ELjJSKGssZCl9KTtJIGt9LDFLOkgoZCxmLGMpe0coIWR8fGQuMTY9PTN8fGQuMTY9PTgpSSAxMjtKIGU9IUQuNG4oZCksNDA9YyE9PTEyLDFmPUQuMTQuMWY7Zj1lJiZELjNYW2ZdfHxmO0coZC4yail7SiBnPS81UXw0ZHxWLy4xMShmKTtHKGY9PSIyVyImJkQuMTQuMmspZC4xZC42NDtHKGYgMW4gZCYmZSYmIWcpe0coNDApe0coZj09Ik8iJiZELlkoZCwiNFQiKSYmZC4xZCk3cCJPIGEzIGExXCd0IDlWIDlVIjtkW2ZdPWN9RyhELlkoZCwiM1YiKSYmZC43aShmKSlJIGQuN2koZikuNzY7SSBkW2ZdfUcoMWYmJmUmJmY9PSJWIilJIEQuMUsoZC5WLCI5VCIsYyk7Ryg0MClkLjlRKGYsIiIrYyk7SiBoPTFmJiZlJiZnP2QuNEcoZiwyKTpkLjRHKGYpO0kgaD09PVU/MTI6aH1HKDFmJiZmPT0iMXkiKXtHKDQwKXtkLjZCPTE7ZC4xRT0oZC4xRXx8IiIpLjFvKC83ZlxcKFteKV0qXFwpLywiIikrKDNyKGMpK1wnXCc9PSI5TCI/IiI6IjdmKDF5PSIrYyo3YSsiKSIpfUkgZC4xRSYmZC4xRS4xaCgiMXk9Iik+PTA/KDNkKGQuMUUuMUkoLzF5PShbXildKikvKVsxXSkvN2EpK1wnXCc6IiJ9Zj1mLjFvKC8tKFthLXpdKS85SCxIKGEsYil7SSBiLjJyKCl9KTtHKDQwKWRbZl09YztJIGRbZl19LDNrOkgoYSl7SShhfHwiIikuMW8oL15cXHMrfFxccyskL2csIiIpfSwyZDpIKGIpe0ogYT1bXTtHKGIhPVUpe0ogaT1iLks7RyhpPT1VfHxiLjFSfHxiLjRJfHxiLjFrKWFbMF09YjtOIDFCKGkpYVstLWldPWJbaV19SSBhfSwyTDpIKGIsYSl7UihKIGk9MCxLPWEuSztpPEs7aSsrKUcoYVtpXT09PWIpSSBpO0ktMX0sMlI6SChhLGIpe0ogaT0wLFQsMlM9YS5LO0coRC4xNC4xZil7MUIoVD1iW2krK10pRyhULjE2IT04KWFbMlMrK109VH1OIDFCKFQ9YltpKytdKWFbMlMrK109VDtJIGF9LDRyOkgoYSl7SiBjPVtdLDJvPXt9OzFVe1IoSiBpPTAsSz1hLks7aTxLO2krKyl7SiBiPUQuTChhW2ldKTtHKCEyb1tiXSl7Mm9bYl09TTtjLjFwKGFbaV0pfX19MVYoZSl7Yz1hfUkgY30sM0M6SChjLGEsZCl7SiBiPVtdO1IoSiBpPTAsSz1jLks7aTxLO2krKylHKCFkIT0hYShjW2ldLGkpKWIuMXAoY1tpXSk7SSBifSwybDpIKGQsYSl7SiBjPVtdO1IoSiBpPTAsSz1kLks7aTxLO2krKyl7SiBiPWEoZFtpXSxpKTtHKGIhPVUpY1tjLktdPWJ9SSBjLjdkLjF3KFtdLGMpfX0pO0ogdj05Qi45QS4zeSgpO0QuMTQ9ezVCOih2LjFJKC8uKyg/Ojl5fDl4fDl3fDl2KVtcXC86IF0oW1xcZC5dKykvKXx8W10pWzFdLDJrOi83NS8uMTEodiksMkc6LzJHLy4xMSh2KSwxZjovMWYvLjExKHYpJiYhLzJHLy4xMSh2KSw0MjovNDIvLjExKHYpJiYhLyg5c3w3NSkvLjExKHYpfTtKIHk9RC4xNC4xZj8iN28iOiI3MiI7RC4xbCh7NzE6IUQuMTQuMWZ8fFMuNzA9PSI2WiIsM1g6eyJSIjoiOW4iLCI5ayI6IjFGIiwiNGkiOnksNzI6eSw3bzp5LDloOiI5ZiIsOWU6IjlkIiw5YjoiOTkifX0pO0QuUCh7Nlc6SChhKXtJIGEuMWR9LDk3OkgoYSl7SSBELjRTKGEsIjFkIil9LDk1OkgoYSl7SSBELjNhKGEsMiwiMkgiKX0sOTE6SChhKXtJIEQuM2EoYSwyLCI0bCIpfSw4WjpIKGEpe0kgRC40UyhhLCIySCIpfSw4WDpIKGEpe0kgRC40UyhhLCI0bCIpfSw4VzpIKGEpe0kgRC41dihhLjFkLjF4LGEpfSw4VjpIKGEpe0kgRC41dihhLjF4KX0sNlE6SChhKXtJIEQuWShhLCI4VSIpP2EuOFR8fGEuOFMuUzpELjJkKGEuM3QpfX0sSChjLGQpe0QuMTdbY109SChiKXtKIGE9RC4ybCg3LGQpO0coYiYmMWogYj09IjIzIilhPUQuM2coYixhKTtJIDcuMkkoRC40cihhKSl9fSk7RC5QKHs2UDoiM3YiLDhROiI2RiIsMzk6IjZFIiw4UDoiNXEiLDhPOiI3YiJ9LEgoYyxiKXtELjE3W2NdPUgoKXtKIGE9MTk7SSA3LlAoSCgpe1IoSiBpPTAsSz1hLks7aTxLO2krKylEKGFbaV0pW2JdKDcpfSl9fSk7RC5QKHs4TjpIKGEpe0QuMUsoNyxhLCIiKTtHKDcuMTY9PTEpNy41bChhKX0sOE06SChhKXtELjFGLjFlKDcsYSl9LDhMOkgoYSl7RC4xRi4yMSg3LGEpfSw4SzpIKGEpe0QuMUZbRC4xRi4zVCg3LGEpPyIyMSI6IjFlIl0oNyxhKX0sMjE6SChhKXtHKCFhfHxELjFFKGEsWzddKS5yLkspe0QoIioiLDcpLjFlKDcpLlAoSCgpe0QuVy4yMSg3KTtELjNiKDcpfSk7Ryg3LjFkKTcuMWQuMzcoNyl9fSw0RTpIKCl7RCgiPioiLDcpLjIxKCk7MUIoNy4xeCk3LjM3KDcuMXgpfX0sSChhLGIpe0QuMTdbYV09SCgpe0kgNy5QKGIsMTkpfX0pO0QuUChbIjZOIiwiNGIiXSxIKGksYyl7SiBiPWMuM3koKTtELjE3W2JdPUgoYSl7SSA3WzBdPT0xYj9ELjE0LjJHJiZTLjFjWyI1dCIrY118fEQuMTQuMmsmJjFiWyI1cyIrY118fFMuNzA9PSI2WiImJlMuMUNbIjV0IitjXXx8Uy4xY1siNXQiK2NdOjdbMF09PVM/MjkuMmYoMjkuMmYoUy4xY1siNHkiK2NdLFMuMUNbIjR5IitjXSksMjkuMmYoUy4xY1siMmkiK2NdLFMuMUNbIjJpIitjXSkpOmE9PTEyPyg3Lks/RC4xZyg3WzBdLGIpOlUpOjcuMWcoYixhLjFxPT01Nj9hOmErIjJYIil9fSk7SCAyNShhLGIpe0kgYVswXSYmM3IoRC4yYShhWzBdLGIsTSksMTApfHwwfUogQz1ELjE0LjJrJiYzcihELjE0LjVCKTw4SD8iKD86W1xcXFx3KjNtLV18XFxcXFxcXFwuKSI6Iig/OltcXFxcd1xcOEYtXFw4RSozbS1dfFxcXFxcXFxcLikiLDZMPTJCIDR2KCJePlxcXFxzKigiK0MrIispIiksNko9MkIgNHYoIl4oIitDKyIrKSgjKSgiK0MrIispIiksNkk9MkIgNHYoIl4oWyMuXT8pKCIrQysiKikiKTtELjFsKHs2SDp7IiI6SChhLGksbSl7SSBtWzJdPT0iKiJ8fEQuWShhLG1bMl0pfSwiIyI6SChhLGksbSl7SSBhLjRHKCIydiIpPT1tWzJdfSwiOiI6ezhEOkgoYSxpLG0pe0kgaTxtWzNdLTB9LDhDOkgoYSxpLG0pe0kgaT5tWzNdLTB9LDNhOkgoYSxpLG0pe0kgbVszXS0wPT1pfSw3OTpIKGEsaSxtKXtJIG1bM10tMD09aX0sM286SChhLGkpe0kgaT09MH0sM1M6SChhLGksbSxyKXtJIGk9PXIuSy0xfSw2RDpIKGEsaSl7SSBpJTI9PTB9LDZDOkgoYSxpKXtJIGklMn0sIjNvLTR1IjpIKGEpe0kgYS4xZC4zSCgiKiIpWzBdPT1hfSwiM1MtNHUiOkgoYSl7SSBELjNhKGEuMWQuNVQsMSwiNGwiKT09YX0sIjh6LTR1IjpIKGEpe0khRC4zYShhLjFkLjVULDIsIjRsIil9LDZXOkgoYSl7SSBhLjF4fSw0RTpIKGEpe0khYS4xeH0sOHk6SChhLGksbSl7SShhLjZPfHxhLjh4fHxEKGEpLjFyKCl8fCIiKS4xaChtWzNdKT49MH0sNGo6SChhKXtJIjFHIiE9YS5PJiZELjFnKGEsIjE4IikhPSIyRiImJkQuMWcoYSwiNWciKSE9IjFHIn0sMUc6SChhKXtJIjFHIj09YS5PfHxELjFnKGEsIjE4Iik9PSIyRiJ8fEQuMWcoYSwiNWciKT09IjFHIn0sOHc6SChhKXtJIWEuM1J9LDNSOkgoYSl7SSBhLjNSfSw0SjpIKGEpe0kgYS40Sn0sMlc6SChhKXtJIGEuMld8fEQuMUsoYSwiMlciKX0sMXI6SChhKXtJIjFyIj09YS5PfSw1TzpIKGEpe0kiNU8iPT1hLk99LDVMOkgoYSl7SSI1TCI9PWEuT30sNXA6SChhKXtJIjVwIj09YS5PfSwzUTpIKGEpe0kiM1EiPT1hLk99LDVvOkgoYSl7SSI1byI9PWEuT30sNkE6SChhKXtJIjZBIj09YS5PfSw2ejpIKGEpe0kiNnoiPT1hLk99LDJzOkgoYSl7SSIycyI9PWEuT3x8RC5ZKGEsIjJzIil9LDRUOkgoYSl7SS80VHwyQXw2eXwycy9pLjExKGEuWSl9LDNUOkgoYSxpLG0pe0kgRC4ycShtWzNdLGEpLkt9LDh0OkgoYSl7SS9oXFxkL2kuMTEoYS5ZKX0sOHM6SChhKXtJIEQuM0MoRC4zTyxIKGIpe0kgYT09Yi5UfSkuS319fSw2eDpbL14oXFxbKSAqQD8oW1xcdy1dKykgKihbISokXn49XSopICooXCc/Ij8pKC4qPylcXDQgKlxcXS8sL14oOikoW1xcdy1dKylcXCgiP1wnPyguKj8oXFwoLio/XFwpKT9bXihdKj8pIj9cJz9cXCkvLDJCIDR2KCJeKFs6LiNdKikoIitDKyIrKSIpXSwzZzpIKGEsYyxiKXtKIGQsMXQ9W107MUIoYSYmYSE9ZCl7ZD1hO0ogZj1ELjFFKGEsYyxiKTthPWYudC4xbygvXlxccyosXFxzKi8sIiIpOzF0PWI/Yz1mLnI6RC4yUigxdCxmLnIpfUkgMXR9LDJxOkgodCxvKXtHKDFqIHQhPSIyMyIpSVt0XTtHKG8mJm8uMTYhPTEmJm8uMTYhPTkpSVtdO289b3x8UztKIGQ9W29dLDJvPVtdLDNTLFk7MUIodCYmM1MhPXQpe0ogcj1bXTszUz10O3Q9RC4zayh0KTtKIGw9USwzaj02TCxtPTNqLjJEKHQpO0cobSl7WT1tWzFdLjJyKCk7UihKIGk9MDtkW2ldO2krKylSKEogYz1kW2ldLjF4O2M7Yz1jLjJIKUcoYy4xNj09MSYmKFk9PSIqInx8Yy5ZLjJyKCk9PVkpKXIuMXAoYyk7ZD1yO3Q9dC4xbygzaiwiIik7Ryh0LjFoKCIgIik9PTApNk07bD1NfU57M2o9L14oWz4rfl0pXFxzKihcXHcqKS9pO0coKG09M2ouMkQodCkpIT1VKXtyPVtdO0ogaz17fTtZPW1bMl0uMnIoKTttPW1bMV07UihKIGo9MCwzaT1kLks7ajwzaTtqKyspe0ogbj1tPT0ifiJ8fG09PSIrIj9kW2pdLjJIOmRbal0uMXg7Uig7bjtuPW4uMkgpRyhuLjE2PT0xKXtKIGc9RC5MKG4pO0cobT09In4iJiZrW2ddKTFYO0coIVl8fG4uWS4ycigpPT1ZKXtHKG09PSJ+IilrW2ddPU07ci4xcChuKX1HKG09PSIrIikxWH19ZD1yO3Q9RC4zayh0LjFvKDNqLCIiKSk7bD1NfX1HKHQmJiFsKXtHKCF0LjFoKCIsIikpe0cobz09ZFswXSlkLjRzKCk7Mm89RC4yUigybyxkKTtyPWQ9W29dO3Q9IiAiK3QuNnYoMSx0LkspfU57SiBoPTZKO0ogbT1oLjJEKHQpO0cobSl7bT1bMCxtWzJdLG1bM10sbVsxXV19TntoPTZJO209aC4yRCh0KX1tWzJdPW1bMl0uMW8oL1xcXFwvZywiIik7SiBmPWRbZC5LLTFdO0cobVsxXT09IiMiJiZmJiZmLjYxJiYhRC40bihmKSl7SiBwPWYuNjEobVsyXSk7RygoRC4xNC4xZnx8RC4xNC4yRykmJnAmJjFqIHAuMnY9PSIyMyImJnAuMnYhPW1bMl0pcD1EKFwnW0Aydj0iXCcrbVsyXStcJyJdXCcsZilbMF07ZD1yPXAmJighbVszXXx8RC5ZKHAsbVszXSkpP1twXTpbXX1Oe1IoSiBpPTA7ZFtpXTtpKyspe0ogYT1tWzFdPT0iIyImJm1bM10/bVszXTptWzFdIT0iInx8bVswXT09IiI/IioiOm1bMl07RyhhPT0iKiImJmRbaV0uWS4zeSgpPT0iNDkiKWE9IjNuIjtyPUQuMlIocixkW2ldLjNIKGEpKX1HKG1bMV09PSIuIilyPUQuNW0ocixtWzJdKTtHKG1bMV09PSIjIil7SiBlPVtdO1IoSiBpPTA7cltpXTtpKyspRyhyW2ldLjRHKCIydiIpPT1tWzJdKXtlPVtyW2ldXTsxWH1yPWV9ZD1yfXQ9dC4xbyhoLCIiKX19Ryh0KXtKIGI9RC4xRSh0LHIpO2Q9cj1iLnI7dD1ELjNrKGIudCl9fUcodClkPVtdO0coZCYmbz09ZFswXSlkLjRzKCk7Mm89RC4yUigybyxkKTtJIDJvfSw1bTpIKHIsbSxhKXttPSIgIittKyIgIjtKIGM9W107UihKIGk9MDtyW2ldO2krKyl7SiBiPSgiICIrcltpXS4xRisiICIpLjFoKG0pPj0wO0coIWEmJmJ8fGEmJiFiKWMuMXAocltpXSl9SSBjfSwxRTpIKHQscixoKXtKIGQ7MUIodCYmdCE9ZCl7ZD10O0ogcD1ELjZ4LG07UihKIGk9MDtwW2ldO2krKyl7bT1wW2ldLjJEKHQpO0cobSl7dD10LjhyKG1bMF0uSyk7bVsyXT1tWzJdLjFvKC9cXFxcL2csIiIpOzFYfX1HKCFtKTFYO0cobVsxXT09IjoiJiZtWzJdPT0iNFkiKXI9NjIuMTEobVszXSk/RC4xRShtWzNdLHIsTSkucjpEKHIpLjRZKG1bM10pO04gRyhtWzFdPT0iLiIpcj1ELjVtKHIsbVsyXSxoKTtOIEcobVsxXT09IlsiKXtKIGc9W10sTz1tWzNdO1IoSiBpPTAsM2k9ci5LO2k8M2k7aSsrKXtKIGE9cltpXSx6PWFbRC4zWFttWzJdXXx8bVsyXV07Ryh6PT1VfHwvNVF8NGR8MlcvLjExKG1bMl0pKXo9RC4xSyhhLG1bMl0pfHxcJ1wnO0coKE89PSIiJiYhIXp8fE89PSI9IiYmej09bVs1XXx8Tz09IiE9IiYmeiE9bVs1XXx8Tz09Il49IiYmeiYmIXouMWgobVs1XSl8fE89PSIkPSImJnouNnYoei5LLW1bNV0uSyk9PW1bNV18fChPPT0iKj0ifHxPPT0ifj0iKSYmei4xaChtWzVdKT49MCleaClnLjFwKGEpfXI9Z31OIEcobVsxXT09IjoiJiZtWzJdPT0iM2EtNHUiKXtKIGU9e30sZz1bXSwxMT0vKC0/KShcXGQqKW4oKD86XFwrfC0pP1xcZCopLy4yRChtWzNdPT0iNkQiJiYiMm4ifHxtWzNdPT0iNkMiJiYiMm4rMSJ8fCEvXFxELy4xMShtWzNdKSYmIjhxKyIrbVszXXx8bVszXSksM289KDExWzFdKygxMVsyXXx8MSkpLTAsZD0xMVszXS0wO1IoSiBpPTAsM2k9ci5LO2k8M2k7aSsrKXtKIGo9cltpXSwxZD1qLjFkLDJ2PUQuTCgxZCk7RyghZVsydl0pe0ogYz0xO1IoSiBuPTFkLjF4O247bj1uLjJIKUcobi4xNj09MSluLjRxPWMrKztlWzJ2XT1NfUogYj1RO0coM289PTApe0coai40cT09ZCliPU19TiBHKChqLjRxLWQpJTNvPT0wJiYoai40cS1kKS8zbz49MCliPU07RyhiXmgpZy4xcChqKX1yPWd9TntKIGY9RC42SFttWzFdXTtHKDFqIGY9PSI0OSIpZj1mW21bMl1dO0coMWogZj09IjIzIilmPTZ1KCJRfHxIKGEsaSl7SSAiK2YrIjt9Iik7cj1ELjNDKHIsSChhLGkpe0kgZihhLGksbSxyKX0saCl9fUl7cjpyLHQ6dH19LDRTOkgoYixjKXtKIGE9W10sMXQ9YltjXTsxQigxdCYmMXQhPVMpe0coMXQuMTY9PTEpYS4xcCgxdCk7MXQ9MXRbY119SSBhfSwzYTpIKGEsZSxjLGIpe2U9ZXx8MTtKIGQ9MDtSKDthO2E9YVtjXSlHKGEuMTY9PTEmJisrZD09ZSkxWDtJIGF9LDV2OkgobixhKXtKIHI9W107Uig7bjtuPW4uMkgpe0cobi4xNj09MSYmbiE9YSlyLjFwKG4pfUkgcn19KTtELlc9ezFlOkgoZixpLGcsZSl7RyhmLjE2PT0zfHxmLjE2PT04KUk7RyhELjE0LjFmJiZmLjRJKWY9MWI7RyghZy4yNClnLjI0PTcuMjQrKztHKGUhPTEyKXtKIGg9ZztnPTcuM00oaCxIKCl7SSBoLjF3KDcsMTkpfSk7Zy5MPWV9SiBqPUQuTChmLCIzdyIpfHxELkwoZiwiM3ciLHt9KSwxSD1ELkwoZiwiMUgiKXx8RC5MKGYsIjFIIixIKCl7RygxaiBEIT0iMTIiJiYhRC5XLjVrKUkgRC5XLjFILjF3KDE5LjNMLlQsMTkpfSk7MUguVD1mO0QuUChpLjFSKC9cXHMrLyksSChjLGIpe0ogYT1iLjFSKCIuIik7Yj1hWzBdO2cuTz1hWzFdO0ogZD1qW2JdO0coIWQpe2Q9altiXT17fTtHKCFELlcuMnRbYl18fEQuVy4ydFtiXS40cC4xayhmKT09PVEpe0coZi4zSylmLjNLKGIsMUgsUSk7TiBHKGYuNnQpZi42dCgiNG8iK2IsMUgpfX1kW2cuMjRdPWc7RC5XLjI2W2JdPU19KTtmPVV9LDI0OjEsMjY6e30sMjE6SChlLGgsZil7RyhlLjE2PT0zfHxlLjE2PT04KUk7SiBpPUQuTChlLCIzdyIpLDFMLDVpO0coaSl7RyhoPT0xMnx8KDFqIGg9PSIyMyImJmguOHAoMCk9PSIuIikpUihKIGcgMW4gaSk3LjIxKGUsZysoaHx8IiIpKTtOe0coaC5PKXtmPWguMnk7aD1oLk99RC5QKGguMVIoL1xccysvKSxIKGIsYSl7SiBjPWEuMVIoIi4iKTthPWNbMF07RyhpW2FdKXtHKGYpMlUgaVthXVtmLjI0XTtOIFIoZiAxbiBpW2FdKUcoIWNbMV18fGlbYV1bZl0uTz09Y1sxXSkyVSBpW2FdW2ZdO1IoMUwgMW4gaVthXSkxWDtHKCExTCl7RyghRC5XLjJ0W2FdfHxELlcuMnRbYV0uNEEuMWsoZSk9PT1RKXtHKGUuNnApZS42cChhLEQuTChlLCIxSCIpLFEpO04gRyhlLjZuKWUuNm4oIjRvIithLEQuTChlLCIxSCIpKX0xTD1VOzJVIGlbYV19fX0pfVIoMUwgMW4gaSkxWDtHKCExTCl7SiBkPUQuTChlLCIxSCIpO0coZClkLlQ9VTtELjNiKGUsIjN3Iik7RC4zYihlLCIxSCIpfX19LDFQOkgoaCxjLGYsZyxpKXtjPUQuMmQoYyk7RyhoLjFoKCIhIik+PTApe2g9aC4zcygwLC0xKTtKIGE9TX1HKCFmKXtHKDcuMjZbaF0pRCgiKiIpLjFlKFsxYixTXSkuMVAoaCxjKX1Oe0coZi4xNj09M3x8Zi4xNj09OClJIDEyO0ogYiwxTCwxNz1ELjFEKGZbaF18fFUpLFc9IWNbMF18fCFjWzBdLjMyO0coVyl7Yy42aCh7TzpoLDJKOmYsMzI6SCgpe30sM0o6SCgpe30sNEM6MXooKX0pO2NbMF1bRV09TX1jWzBdLk89aDtHKGEpY1swXS42bT1NO0ogZD1ELkwoZiwiMUgiKTtHKGQpYj1kLjF3KGYsYyk7RygoITE3fHwoRC5ZKGYsXCdhXCcpJiZoPT0iNFYiKSkmJmZbIjRvIitoXSYmZlsiNG8iK2hdLjF3KGYsYyk9PT1RKWI9UTtHKFcpYy40cygpO0coaSYmRC4xRChpKSl7MUw9aS4xdyhmLGI9PVU/YzpjLjdkKGIpKTtHKDFMIT09MTIpYj0xTH1HKDE3JiZnIT09USYmYiE9PVEmJiEoRC5ZKGYsXCdhXCcpJiZoPT0iNFYiKSl7Ny41az1NOzFVe2ZbaF0oKX0xVihlKXt9fTcuNWs9UX1JIGJ9LDFIOkgoYil7SiBhLDFMLDM4LDVmLDRtO2I9MTlbMF09RC5XLjZsKGJ8fDFiLlcpOzM4PWIuTy4xUigiLiIpO2IuTz0zOFswXTszOD0zOFsxXTs1Zj0hMzgmJiFiLjZtOzRtPShELkwoNywiM3ciKXx8e30pW2IuT107UihKIGogMW4gNG0pe0ogYz00bVtqXTtHKDVmfHxjLk89PTM4KXtiLjJ5PWM7Yi5MPWMuTDsxTD1jLjF3KDcsMTkpO0coYSE9PVEpYT0xTDtHKDFMPT09USl7Yi4zMigpO2IuM0ooKX19fUkgYX0sNmw6SChiKXtHKGJbRV09PU0pSSBiO0ogZD1iO2I9ezhvOmR9O0ogYz0iOG4gOG0gOGwgOGsgMnMgOGogNDcgNWQgNmogNUUgOGkgTCA4aCA4ZyA0SyAyeSA1YSA1OSA4ZSA4YiA1OCA2ZiA4YSA4OCA0ayA4NyA4NiA4NCA2ZCAySiA0QyA2YyBPIDgyIDgxIDM1Ii4xUigiICIpO1IoSiBpPWMuSztpO2ktLSliW2NbaV1dPWRbY1tpXV07YltFXT1NO2IuMzI9SCgpe0coZC4zMilkLjMyKCk7ZC44MD1RfTtiLjNKPUgoKXtHKGQuM0opZC4zSigpO2QuN1o9TX07Yi40Qz1iLjRDfHwxeigpO0coIWIuMkopYi4ySj1iLjZkfHxTO0coYi4ySi4xNj09MyliLjJKPWIuMkouMWQ7RyghYi40ayYmYi40SyliLjRrPWIuNEs9PWIuMko/Yi42YzpiLjRLO0coYi41OD09VSYmYi41ZCE9VSl7SiBhPVMuMUMsMWM9Uy4xYztiLjU4PWIuNWQrKGEmJmEuMmV8fDFjJiYxYy4yZXx8MCktKGEuNmJ8fDApO2IuNmY9Yi42aisoYSYmYS4yY3x8MWMmJjFjLjJjfHwwKS0oYS42YXx8MCl9RyghYi4zNSYmKChiLjQ3fHxiLjQ3PT09MCk/Yi40NzpiLjVhKSliLjM1PWIuNDd8fGIuNWE7RyghYi41OSYmYi41RSliLjU5PWIuNUU7RyghYi4zNSYmYi4ycyliLjM1PShiLjJzJjE/MTooYi4ycyYyPzM6KGIuMnMmND8yOjApKSk7SSBifSwzTTpIKGEsYil7Yi4yND1hLjI0PWEuMjR8fGIuMjR8fDcuMjQrKztJIGJ9LDJ0OnsyNzp7NHA6SCgpezU1KCk7SX0sNEE6SCgpe0l9fSwzRDp7NHA6SCgpe0coRC4xNC4xZilJIFE7RCg3KS4yTygiNTMiLEQuVy4ydC4zRC4yeSk7SSBNfSw0QTpIKCl7RyhELjE0LjFmKUkgUTtEKDcpLjRlKCI1MyIsRC5XLjJ0LjNELjJ5KTtJIE19LDJ5OkgoYSl7RyhGKGEsNykpSSBNO2EuTz0iM0QiO0kgRC5XLjFILjF3KDcsMTkpfX0sM046ezRwOkgoKXtHKEQuMTQuMWYpSSBRO0QoNykuMk8oIjUxIixELlcuMnQuM04uMnkpO0kgTX0sNEE6SCgpe0coRC4xNC4xZilJIFE7RCg3KS40ZSgiNTEiLEQuVy4ydC4zTi4yeSk7SSBNfSwyeTpIKGEpe0coRihhLDcpKUkgTTthLk89IjNOIjtJIEQuVy4xSC4xdyg3LDE5KX19fX07RC4xNy4xbCh7Mk86SChjLGEsYil7SSBjPT0iNFgiPzcuMlYoYyxhLGIpOjcuUChIKCl7RC5XLjFlKDcsYyxifHxhLGImJmEpfSl9LDJWOkgoZCxiLGMpe0ogZT1ELlcuM00oY3x8YixIKGEpe0QoNykuNGUoYSxlKTtJKGN8fGIpLjF3KDcsMTkpfSk7SSA3LlAoSCgpe0QuVy4xZSg3LGQsZSxjJiZiKX0pfSw0ZTpIKGEsYil7SSA3LlAoSCgpe0QuVy4yMSg3LGEsYil9KX0sMVA6SChjLGEsYil7SSA3LlAoSCgpe0QuVy4xUChjLGEsNyxNLGIpfSl9LDVDOkgoYyxhLGIpe0kgN1swXSYmRC5XLjFQKGMsYSw3WzBdLFEsYil9LDJtOkgoYil7SiBjPTE5LGk9MTsxQihpPGMuSylELlcuM00oYixjW2krK10pO0kgNy40VihELlcuM00oYixIKGEpezcuNFo9KDcuNFp8fDApJWk7YS4zMigpO0kgY1s3LjRaKytdLjF3KDcsMTkpfHxRfSkpfSw3WDpIKGEsYil7SSA3LjJPKFwnM0RcJyxhKS4yTyhcJzNOXCcsYil9LDI3OkgoYSl7NTUoKTtHKEQuMlEpYS4xayhTLEQpO04gRC4zQS4xcChIKCl7SSBhLjFrKDcsRCl9KTtJIDd9fSk7RC4xbCh7MlE6USwzQTpbXSwyNzpIKCl7RyghRC4yUSl7RC4yUT1NO0coRC4zQSl7RC5QKEQuM0EsSCgpezcuMWsoUyl9KTtELjNBPVV9RChTKS41QygiMjciKX19fSk7SiB4PVE7SCA1NSgpe0coeClJO3g9TTtHKFMuM0smJiFELjE0LjJHKVMuM0soIjY5IixELjI3LFEpO0coRC4xNC4xZiYmMWI9PTFTKShIKCl7RyhELjJRKUk7MVV7Uy4xQy43VigiMUEiKX0xVigzZSl7M0IoMTkuM0wsMCk7SX1ELjI3KCl9KSgpO0coRC4xNC4yRylTLjNLKCI2OSIsSCgpe0coRC4yUSlJO1IoSiBpPTA7aTxTLjRXLks7aSsrKUcoUy40V1tpXS4zUil7M0IoMTkuM0wsMCk7SX1ELjI3KCl9LFEpO0coRC4xNC4yayl7SiBhOyhIKCl7RyhELjJRKUk7RyhTLjNmIT0iNjgiJiZTLjNmIT0iMUoiKXszQigxOS4zTCwwKTtJfUcoYT09PTEyKWE9RCgiViwgN0FbN1U9N1NdIikuSztHKFMuNFcuSyE9YSl7M0IoMTkuM0wsMCk7SX1ELjI3KCl9KSgpfUQuVy4xZSgxYiwiNDMiLEQuMjcpfUQuUCgoIjdSLDdRLDQzLDg1LDR5LDRYLDRWLDdQLCIrIjdPLDdOLDg5LDUzLDUxLDdNLDJBLCIrIjVvLDdMLDdLLDhkLDNlIikuMVIoIiwiKSxIKGksYil7RC4xN1tiXT1IKGEpe0kgYT83LjJPKGIsYSk6Ny4xUChiKX19KTtKIEY9SChhLGMpe0ogYj1hLjRrOzFCKGImJmIhPWMpMVV7Yj1iLjFkfTFWKDNlKXtiPWN9SSBiPT1jfTtEKDFiKS4yTygiNFgiLEgoKXtEKCIqIikuMWUoUykuNGUoKX0pO0QuMTcuMWwoezY3OkQuMTcuNDMsNDM6SChnLGQsYyl7RygxaiBnIT1cJzIzXCcpSSA3LjY3KGcpO0ogZT1nLjFoKCIgIik7RyhlPj0wKXtKIGk9Zy4zcyhlLGcuSyk7Zz1nLjNzKDAsZSl9Yz1jfHxIKCl7fTtKIGY9IjJQIjtHKGQpRyhELjFEKGQpKXtjPWQ7ZD1VfU57ZD1ELjNuKGQpO2Y9IjZnIn1KIGg9NztELjNZKHsxYTpnLE86ZiwxTzoiMksiLEw6ZCwxSjpIKGEsYil7RyhiPT0iMVcifHxiPT0iN0oiKWguMksoaT9EKCI8MXYvPiIpLjN2KGEuNFUuMW8oLzwxbSgufFxccykqP1xcLzFtPi9nLCIiKSkuMnEoaSk6YS40VSk7aC5QKGMsW2EuNFUsYixhXSl9fSk7SSA3fSxhTDpIKCl7SSBELjNuKDcuN0koKSl9LDdJOkgoKXtJIDcuMmwoSCgpe0kgRC5ZKDcsIjNWIik/RC4yZCg3LmFIKTo3fSkuMUUoSCgpe0kgNy4zNCYmITcuM1ImJig3LjRKfHwvMkF8NnkvaS4xMSg3LlkpfHwvMXJ8MUd8M1EvaS4xMSg3Lk8pKX0pLjJsKEgoaSxjKXtKIGI9RCg3KS42ZSgpO0kgYj09VT9VOmIuMXE9PTJwP0QuMmwoYixIKGEsaSl7SXszNDpjLjM0LDJ4OmF9fSk6ezM0OmMuMzQsMng6Yn19KS4zcCgpfX0pO0QuUCgiN0gsN0csN0YsN0QsN0MsN0IiLjFSKCIsIiksSChpLG8pe0QuMTdbb109SChmKXtJIDcuMk8obyxmKX19KTtKIEI9MXooKTtELjFsKHszcDpIKGQsYixhLGMpe0coRC4xRChiKSl7YT1iO2I9VX1JIEQuM1koe086IjJQIiwxYTpkLEw6YiwxVzphLDFPOmN9KX0sYUU6SChiLGEpe0kgRC4zcChiLFUsYSwiMW0iKX0sYUQ6SChjLGIsYSl7SSBELjNwKGMsYixhLCIzeiIpfSxhQzpIKGQsYixhLGMpe0coRC4xRChiKSl7YT1iO2I9e319SSBELjNZKHtPOiI2ZyIsMWE6ZCxMOmIsMVc6YSwxTzpjfSl9LGFBOkgoYSl7RC4xbChELjYwLGEpfSw2MDp7MWE6NVouNVEsMjY6TSxPOiIyUCIsMlQ6MCw3ejoiNFIveC1heC0zVi1hdyIsN3g6TSwzMTpNLEw6VSw1WTpVLDNROlUsNFE6ezJOOiI0Ui8yTiwgMXIvMk4iLDJLOiIxci8ySyIsMW06IjFyLzR0LCA0Ui80dCIsM3o6IjRSLzN6LCAxci80dCIsMXI6IjFyL2FzIiw0dzoiKi8qIn19LDR6Ont9LDNZOkgocyl7cz1ELjFsKE0scyxELjFsKE0se30sRC42MCxzKSk7SiBnLDJaPS89XFw/KCZ8JCkvZywxdSxMLE89cy5PLjJyKCk7RyhzLkwmJnMuN3gmJjFqIHMuTCE9IjIzIilzLkw9RC4zbihzLkwpO0cocy4xTz09IjRQIil7RyhPPT0iMlAiKXtHKCFzLjFhLjFJKDJaKSlzLjFhKz0ocy4xYS4xSSgvXFw/Lyk/IiYiOiI/IikrKHMuNFB8fCI3dSIpKyI9PyJ9TiBHKCFzLkx8fCFzLkwuMUkoMlopKXMuTD0ocy5MP3MuTCsiJiI6IiIpKyhzLjRQfHwiN3UiKSsiPT8iO3MuMU89IjN6In1HKHMuMU89PSIzeiImJihzLkwmJnMuTC4xSSgyWil8fHMuMWEuMUkoMlopKSl7Zz0iNFAiK0IrKztHKHMuTClzLkw9KHMuTCsiIikuMW8oMlosIj0iK2crIiQxIik7cy4xYT1zLjFhLjFvKDJaLCI9IitnKyIkMSIpO3MuMU89IjFtIjsxYltnXT1IKGEpe0w9YTsxVygpOzFKKCk7MWJbZ109MTI7MVV7MlUgMWJbZ119MVYoZSl7fUcoaSlpLjM3KGgpfX1HKHMuMU89PSIxbSImJnMuMVk9PVUpcy4xWT1RO0cocy4xWT09PVEmJk89PSIyUCIpe0ogaj0xeigpO0ogaz1zLjFhLjFvKC8oXFw/fCYpM209Lio/KCZ8JCkvLCIkYXA9IitqKyIkMiIpO3MuMWE9aysoKGs9PXMuMWEpPyhzLjFhLjFJKC9cXD8vKT8iJiI6Ij8iKSsiM209IitqOiIiKX1HKHMuTCYmTz09IjJQIil7cy4xYSs9KHMuMWEuMUkoL1xcPy8pPyImIjoiPyIpK3MuTDtzLkw9VX1HKHMuMjYmJiFELjRPKyspRC5XLjFQKCI3SCIpO0ogbj0vXig/Olxcdys6KT9cXC9cXC8oW15cXC8/I10rKS87RyhzLjFPPT0iMW0iJiZPPT0iMlAiJiZuLjExKHMuMWEpJiZuLjJEKHMuMWEpWzFdIT01Wi5hbCl7SiBpPVMuM0goIjZ3IilbMF07SiBoPVMuM2goIjFtIik7aC40ZD1zLjFhO0cocy43dCloLmFqPXMuN3Q7RyghZyl7SiBsPVE7aC5haD1oLmFnPUgoKXtHKCFsJiYoITcuM2Z8fDcuM2Y9PSI2OCJ8fDcuM2Y9PSIxSiIpKXtsPU07MVcoKTsxSigpO2kuMzcoaCl9fX1pLjNVKGgpO0kgMTJ9SiBtPVE7SiBjPTFiLjdzPzJCIDdzKCJhZS5hYyIpOjJCIDdyKCk7RyhzLjVZKWMuNlIoTyxzLjFhLHMuMzEscy41WSxzLjNRKTtOIGMuNlIoTyxzLjFhLHMuMzEpOzFVe0cocy5MKWMuNEIoImFiLWFhIixzLjd6KTtHKHMuNVMpYy40QigiYTktNVItYTgiLEQuNHpbcy4xYV18fCJhNywgYTYgYTUgYTQgNU46NU46NU4gYTIiKTtjLjRCKCJYLTlaLTlZIiwiN3IiKTtjLjRCKCI5VyIscy4xTyYmcy40UVtzLjFPXT9zLjRRW3MuMU9dKyIsICovKiI6cy40US40dyl9MVYoZSl7fUcocy43bSYmcy43bShjLHMpPT09USl7cy4yNiYmRC40Ty0tO2MuN2woKTtJIFF9RyhzLjI2KUQuVy4xUCgiN0IiLFtjLHNdKTtKIGQ9SChhKXtHKCFtJiZjJiYoYy4zZj09NHx8YT09IjJUIikpe209TTtHKGYpezdrKGYpO2Y9VX0xdT1hPT0iMlQiJiYiMlQifHwhRC43aihjKSYmIjNlInx8cy41UyYmRC43aChjLHMuMWEpJiYiN0oifHwiMVciO0coMXU9PSIxVyIpezFVe0w9RC42WChjLHMuMU8scy45Uyl9MVYoZSl7MXU9IjVKIn19RygxdT09IjFXIil7SiBiOzFVe2I9Yy41SSgiN2ctNVIiKX0xVihlKXt9RyhzLjVTJiZiKUQuNHpbcy4xYV09YjtHKCFnKTFXKCl9TiBELjVIKHMsYywxdSk7MUooKTtHKHMuMzEpYz1VfX07RyhzLjMxKXtKIGY9NEkoZCwxMyk7RyhzLjJUPjApM0IoSCgpe0coYyl7Yy43bCgpO0coIW0pZCgiMlQiKX19LHMuMlQpfTFVe2MuOVAocy5MKX0xVihlKXtELjVIKHMsYyxVLGUpfUcoIXMuMzEpZCgpO0ggMVcoKXtHKHMuMVcpcy4xVyhMLDF1KTtHKHMuMjYpRC5XLjFQKCI3QyIsW2Msc10pfUggMUooKXtHKHMuMUopcy4xSihjLDF1KTtHKHMuMjYpRC5XLjFQKCI3RiIsW2Msc10pO0cocy4yNiYmIS0tRC40TylELlcuMVAoIjdHIil9SSBjfSw1SDpIKHMsYSxiLGUpe0cocy4zZSlzLjNlKGEsYixlKTtHKHMuMjYpRC5XLjFQKCI3RCIsW2EscyxlXSl9LDRPOjAsN2o6SChhKXsxVXtJIWEuMXUmJjVaLjlPPT0iNXA6Inx8KGEuMXU+PTdlJiZhLjF1PDlOKXx8YS4xdT09N2N8fGEuMXU9PTlLfHxELjE0LjJrJiZhLjF1PT0xMn0xVihlKXt9SSBRfSw3aDpIKGEsYyl7MVV7SiBiPWEuNUkoIjdnLTVSIik7SSBhLjF1PT03Y3x8Yj09RC40eltjXXx8RC4xNC4yayYmYS4xdT09MTJ9MVYoZSl7fUkgUX0sNlg6SChhLGMsYil7SiBkPWEuNUkoIjlKLU8iKSwyTj1jPT0iMk4ifHwhYyYmZCYmZC4xaCgiMk4iKT49MCxMPTJOP2EuOUk6YS40VTtHKDJOJiZMLjFDLjJqPT0iNUoiKTdwIjVKIjtHKGIpTD1iKEwsYyk7RyhjPT0iMW0iKUQuNXUoTCk7RyhjPT0iM3oiKUw9NnUoIigiK0wrIikiKTtJIEx9LDNuOkgoYSl7SiBzPVtdO0coYS4xcT09MnB8fGEuNXcpRC5QKGEsSCgpe3MuMXAoM3UoNy4zNCkrIj0iKzN1KDcuMngpKX0pO04gUihKIGogMW4gYSlHKGFbal0mJmFbal0uMXE9PTJwKUQuUChhW2pdLEgoKXtzLjFwKDN1KGopKyI9IiszdSg3KSl9KTtOIHMuMXAoM3UoaikrIj0iKzN1KEQuMUQoYVtqXSk/YVtqXSgpOmFbal0pKTtJIHMuNnMoIiYiKS4xbygvJTIwL2csIisiKX19KTtELjE3LjFsKHsxTjpIKGMsYil7SSBjPzcuMmcoezFaOiIxTiIsMmg6IjFOIiwxeToiMU4ifSxjLGIpOjcuMUUoIjoxRyIpLlAoSCgpezcuVi4xOD03LjVEfHwiIjtHKEQuMWcoNywiMTgiKT09IjJGIil7SiBhPUQoIjwiKzcuMmorIiAvPiIpLjZQKCIxYyIpOzcuVi4xOD1hLjFnKCIxOCIpO0coNy5WLjE4PT0iMkYiKTcuVi4xOD0iM0kiO2EuMjEoKX19KS4zbCgpfSwxTTpIKGIsYSl7SSBiPzcuMmcoezFaOiIxTSIsMmg6IjFNIiwxeToiMU0ifSxiLGEpOjcuMUUoIjo0aiIpLlAoSCgpezcuNUQ9Ny41RHx8RC4xZyg3LCIxOCIpOzcuVi4xOD0iMkYifSkuM2woKX0sNzg6RC4xNy4ybSwybTpIKGEsYil7SSBELjFEKGEpJiZELjFEKGIpPzcuNzguMXcoNywxOSk6YT83LjJnKHsxWjoiMm0iLDJoOiIybSIsMXk6IjJtIn0sYSxiKTo3LlAoSCgpe0QoNylbRCg3KS4zRigiOjFHIik/IjFOIjoiMU0iXSgpfSl9LDlHOkgoYixhKXtJIDcuMmcoezFaOiIxTiJ9LGIsYSl9LDlGOkgoYixhKXtJIDcuMmcoezFaOiIxTSJ9LGIsYSl9LDlFOkgoYixhKXtJIDcuMmcoezFaOiIybSJ9LGIsYSl9LDlEOkgoYixhKXtJIDcuMmcoezF5OiIxTiJ9LGIsYSl9LDlNOkgoYixhKXtJIDcuMmcoezF5OiIxTSJ9LGIsYSl9LDlDOkgoYyxhLGIpe0kgNy4yZyh7MXk6YX0sYyxiKX0sMmc6SChrLGosaSxnKXtKIGg9RC43NyhqLGksZyk7SSA3W2guMzY9PT1RPyJQIjoiMzYiXShIKCl7Ryg3LjE2IT0xKUkgUTtKIGY9RC4xbCh7fSxoKSxwLDFHPUQoNykuM0YoIjoxRyIpLDQ2PTc7UihwIDFuIGspe0coa1twXT09IjFNIiYmMUd8fGtbcF09PSIxTiImJiExRylJIGYuMUouMWsoNyk7RyhwPT0iMVoifHxwPT0iMmgiKXtmLjE4PUQuMWcoNywiMTgiKTtmLjMzPTcuVi4zM319RyhmLjMzIT1VKTcuVi4zMz0iMUciO2YuNDU9RC4xbCh7fSxrKTtELlAoayxIKGMsYSl7SiBlPTJCIEQuMjgoNDYsZixjKTtHKC8ybXwxTnwxTS8uMTEoYSkpZVthPT0iMm0iPzFHPyIxTiI6IjFNIjphXShrKTtOe0ogYj1hLjZyKCkuMUkoL14oWystXT0pPyhbXFxkKy0uXSspKC4qKSQvKSwyYj1lLjF0KE0pfHwwO0coYil7SiBkPTNkKGJbMl0pLDJNPWJbM118fCIyWCI7RygyTSE9IjJYIil7NDYuVltjXT0oZHx8MSkrMk07MmI9KChkfHwxKS9lLjF0KE0pKSoyYjs0Ni5WW2NdPTJiKzJNfUcoYlsxXSlkPSgoYlsxXT09Ii09Ij8tMToxKSpkKSsyYjtlLjNHKDJiLGQsMk0pfU4gZS4zRygyYixhLCIiKX19KTtJIE19KX0sMzY6SChhLGIpe0coRC4xRChhKXx8KGEmJmEuMXE9PTJwKSl7Yj1hO2E9IjI4In1HKCFhfHwoMWogYT09IjIzIiYmIWIpKUkgQSg3WzBdLGEpO0kgNy5QKEgoKXtHKGIuMXE9PTJwKUEoNyxhLGIpO057QSg3LGEpLjFwKGIpO0coQSg3LGEpLks9PTEpYi4xayg3KX19KX0sOVg6SChiLGMpe0ogYT1ELjNPO0coYik3LjM2KFtdKTs3LlAoSCgpe1IoSiBpPWEuSy0xO2k+PTA7aS0tKUcoYVtpXS5UPT03KXtHKGMpYVtpXShNKTthLjduKGksMSl9fSk7RyghYyk3LjVBKCk7SSA3fX0pO0ogQT1IKGIsYyxhKXtHKGIpe2M9Y3x8IjI4IjtKIHE9RC5MKGIsYysiMzYiKTtHKCFxfHxhKXE9RC5MKGIsYysiMzYiLEQuMmQoYSkpfUkgcX07RC4xNy41QT1IKGEpe2E9YXx8IjI4IjtJIDcuUChIKCl7SiBxPUEoNyxhKTtxLjRzKCk7RyhxLkspcVswXS4xayg3KX0pfTtELjFsKHs3NzpIKGIsYSxjKXtKIGQ9YiYmYi4xcT09YTA/Yjp7MUo6Y3x8IWMmJmF8fEQuMUQoYikmJmIsMnU6Yiw0MTpjJiZhfHxhJiZhLjFxIT05dCYmYX07ZC4ydT0oZC4ydSYmZC4ydS4xcT09NEw/ZC4ydTpELjI4LjVLW2QuMnVdKXx8RC4yOC41Sy43NDtkLjVNPWQuMUo7ZC4xSj1IKCl7RyhkLjM2IT09USlEKDcpLjVBKCk7RyhELjFEKGQuNU0pKWQuNU0uMWsoNyl9O0kgZH0sNDE6ezczOkgocCxuLGIsYSl7SSBiK2EqcH0sNVA6SChwLG4sYixhKXtJKCgtMjkuOXIocCoyOS45cSkvMikrMC41KSphK2J9fSwzTzpbXSw0ODpVLDI4OkgoYixjLGEpezcuMTU9Yzs3LlQ9Yjs3LjFpPWE7RyghYy4zWiljLjNaPXt9fX0pO0QuMjguNDQ9ezREOkgoKXtHKDcuMTUuMlkpNy4xNS4yWS4xayg3LlQsNy4xeiw3KTsoRC4yOC4yWVs3LjFpXXx8RC4yOC4yWS40dykoNyk7Ryg3LjFpPT0iMVoifHw3LjFpPT0iMmgiKTcuVC5WLjE4PSIzSSJ9LDF0OkgoYSl7Ryg3LlRbNy4xaV0hPVUmJjcuVC5WWzcuMWldPT1VKUkgNy5UWzcuMWldO0ogcj0zZChELjFnKDcuVCw3LjFpLGEpKTtJIHImJnI+LTlwP3I6M2QoRC4yYSg3LlQsNy4xaSkpfHwwfSwzRzpIKGMsYixkKXs3LjVWPTF6KCk7Ny4yYj1jOzcuM2w9Yjs3LjJNPWR8fDcuMk18fCIyWCI7Ny4xej03LjJiOzcuMlM9Ny40Tj0wOzcuNEQoKTtKIGU9NztIIHQoYSl7SSBlLjJZKGEpfXQuVD03LlQ7RC4zTy4xcCh0KTtHKEQuNDg9PVUpe0QuNDg9NEkoSCgpe0ogYT1ELjNPO1IoSiBpPTA7aTxhLks7aSsrKUcoIWFbaV0oKSlhLjduKGktLSwxKTtHKCFhLkspezdrKEQuNDgpO0QuNDg9VX19LDEzKX19LDFOOkgoKXs3LjE1LjNaWzcuMWldPUQuMUsoNy5ULlYsNy4xaSk7Ny4xNS4xTj1NOzcuM0coMCw3LjF0KCkpO0coNy4xaT09IjJoInx8Ny4xaT09IjFaIik3LlQuVls3LjFpXT0iOW0iO0QoNy5UKS4xTigpfSwxTTpIKCl7Ny4xNS4zWls3LjFpXT1ELjFLKDcuVC5WLDcuMWkpOzcuMTUuMU09TTs3LjNHKDcuMXQoKSwwKX0sMlk6SChhKXtKIHQ9MXooKTtHKGF8fHQ+Ny4xNS4ydSs3LjVWKXs3LjF6PTcuM2w7Ny4yUz03LjROPTE7Ny40RCgpOzcuMTUuNDVbNy4xaV09TTtKIGI9TTtSKEogaSAxbiA3LjE1LjQ1KUcoNy4xNS40NVtpXSE9PU0pYj1RO0coYil7Ryg3LjE1LjE4IT1VKXs3LlQuVi4zMz03LjE1LjMzOzcuVC5WLjE4PTcuMTUuMTg7RyhELjFnKDcuVCwiMTgiKT09IjJGIik3LlQuVi4xOD0iM0kifUcoNy4xNS4xTSk3LlQuVi4xOD0iMkYiO0coNy4xNS4xTXx8Ny4xNS4xTilSKEogcCAxbiA3LjE1LjQ1KUQuMUsoNy5ULlYscCw3LjE1LjNaW3BdKX1HKGIpNy4xNS4xSi4xayg3LlQpO0kgUX1Oe0ogbj10LTcuNVY7Ny40Tj1uLzcuMTUuMnU7Ny4yUz1ELjQxWzcuMTUuNDF8fChELjQxLjVQPyI1UCI6IjczIildKDcuNE4sbiwwLDEsNy4xNS4ydSk7Ny4xej03LjJiKygoNy4zbC03LjJiKSo3LjJTKTs3LjREKCl9SSBNfX07RC4xbChELjI4LHs1Szp7OWw6OWosOWk6N2UsNzQ6OWd9LDJZOnsyZTpIKGEpe2EuVC4yZT1hLjF6fSwyYzpIKGEpe2EuVC4yYz1hLjF6fSwxeTpIKGEpe0QuMUsoYS5ULlYsIjF5IixhLjF6KX0sNHc6SChhKXthLlQuVlthLjFpXT1hLjF6K2EuMk19fX0pO0QuMTcuMmk9SCgpe0ogYj0wLDFTPTAsVD03WzBdLDNxO0coVClhbyhELjE0KXtKIGQ9VC4xZCw0YT1ULDFzPVQuMXMsMVE9VC4yeiw1VT0yayYmM3IoNUIpPDljJiYhLzlhL2kuMTEodiksMWc9RC4yYSwzYz0xZyhULCIzMCIpPT0iM2MiO0coVC43eSl7SiBjPVQuN3koKTsxZShjLjFBKzI5LjJmKDFRLjFDLjJlLDFRLjFjLjJlKSxjLjFTKzI5LjJmKDFRLjFDLjJjLDFRLjFjLjJjKSk7MWUoLTFRLjFDLjZiLC0xUS4xQy42YSl9TnsxZShULjVYLFQuNVcpOzFCKDFzKXsxZSgxcy41WCwxcy41Vyk7Ryg0MiYmIS9edCg5OHxkfGgpJC9pLjExKDFzLjJqKXx8MmsmJiE1VSkyQygxcyk7RyghM2MmJjFnKDFzLCIzMCIpPT0iM2MiKTNjPU07NGE9L14xYyQvaS4xMSgxcy4yaik/NGE6MXM7MXM9MXMuMXN9MUIoZCYmZC4yaiYmIS9eMWN8MkskL2kuMTEoZC4yaikpe0coIS9eOTZ8MVQuKiQvaS4xMSgxZyhkLCIxOCIpKSkxZSgtZC4yZSwtZC4yYyk7Ryg0MiYmMWcoZCwiMzMiKSE9IjRqIikyQyhkKTtkPWQuMWR9RygoNVUmJigzY3x8MWcoNGEsIjMwIik9PSI1eCIpKXx8KDQyJiYxZyg0YSwiMzAiKSE9IjV4IikpMWUoLTFRLjFjLjVYLC0xUS4xYy41Vyk7RygzYykxZSgyOS4yZigxUS4xQy4yZSwxUS4xYy4yZSksMjkuMmYoMVEuMUMuMmMsMVEuMWMuMmMpKX0zcT17MVM6MVMsMUE6Yn19SCAyQyhhKXsxZShELjJhKGEsIjZWIixNKSxELjJhKGEsIjZVIixNKSl9SCAxZShsLHQpe2IrPTNyKGwsMTApfHwwOzFTKz0zcih0LDEwKXx8MH1JIDNxfTtELjE3LjFsKHszMDpIKCl7SiBhPTAsMVM9MCwzcTtHKDdbMF0pe0ogYj03LjFzKCksMmk9Ny4yaSgpLDRjPS9eMWN8MkskL2kuMTEoYlswXS4yaik/ezFTOjAsMUE6MH06Yi4yaSgpOzJpLjFTLT0yNSg3LFwnOTRcJyk7MmkuMUEtPTI1KDcsXCdhRlwnKTs0Yy4xUys9MjUoYixcJzZVXCcpOzRjLjFBKz0yNShiLFwnNlZcJyk7M3E9ezFTOjJpLjFTLTRjLjFTLDFBOjJpLjFBLTRjLjFBfX1JIDNxfSwxczpIKCl7SiBhPTdbMF0uMXM7MUIoYSYmKCEvXjFjfDJLJC9pLjExKGEuMmopJiZELjFnKGEsXCczMFwnKT09XCc5M1wnKSlhPWEuMXM7SSBEKGEpfX0pO0QuUChbXCc1ZVwnLFwnNUdcJ10sSChpLGIpe0ogYz1cJzR5XCcrYjtELjE3W2NdPUgoYSl7RyghN1swXSlJO0kgYSE9MTI/Ny5QKEgoKXs3PT0xYnx8Nz09Uz8xYi45MighaT9hOkQoMWIpLjJlKCksaT9hOkQoMWIpLjJjKCkpOjdbY109YX0pOjdbMF09PTFifHw3WzBdPT1TPzQ2W2k/XCdhSVwnOlwnYUpcJ118fEQuNzEmJlMuMUNbY118fFMuMWNbY106N1swXVtjXX19KTtELlAoWyI2TiIsIjRiIl0sSChpLGIpe0ogYz1pPyI1ZSI6IjVHIiw0Zj1pPyI2ayI6IjZpIjtELjE3WyI1cyIrYl09SCgpe0kgN1tiLjN5KCldKCkrMjUoNywiNTciK2MpKzI1KDcsIjU3Iis0Zil9O0QuMTdbIjkwIitiXT1IKGEpe0kgN1siNXMiK2JdKCkrMjUoNywiMkMiK2MrIjRiIikrMjUoNywiMkMiKzRmKyI0YiIpKyhhPzI1KDcsIjZTIitjKSsyNSg3LCI2UyIrNGYpOjApfX0pfSkoKTsnLDYyLDY2OSwnfHx8fHx8fHRoaXN8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fGlmfGZ1bmN0aW9ufHJldHVybnx2YXJ8bGVuZ3RofGRhdGF8dHJ1ZXxlbHNlfHR5cGV8ZWFjaHxmYWxzZXxmb3J8ZG9jdW1lbnR8ZWxlbXxudWxsfHN0eWxlfGV2ZW50fHxub2RlTmFtZXx8fHRlc3R8dW5kZWZpbmVkfHxicm93c2VyfG9wdGlvbnN8bm9kZVR5cGV8Zm58ZGlzcGxheXxhcmd1bWVudHN8dXJsfHdpbmRvd3xib2R5fHBhcmVudE5vZGV8YWRkfG1zaWV8Y3NzfGluZGV4T2Z8cHJvcHx0eXBlb2Z8Y2FsbHxleHRlbmR8c2NyaXB0fGlufHJlcGxhY2V8cHVzaHxjb25zdHJ1Y3Rvcnx0ZXh0fG9mZnNldFBhcmVudHxjdXJ8c3RhdHVzfGRpdnxhcHBseXxmaXJzdENoaWxkfG9wYWNpdHl8bm93fGxlZnR8d2hpbGV8ZG9jdW1lbnRFbGVtZW50fGlzRnVuY3Rpb258ZmlsdGVyfGNsYXNzTmFtZXxoaWRkZW58aGFuZGxlfG1hdGNofGNvbXBsZXRlfGF0dHJ8cmV0fGhpZGV8c2hvd3xkYXRhVHlwZXx0cmlnZ2VyfGRvY3xzcGxpdHx0b3B8dGFibGV8dHJ5fGNhdGNofHN1Y2Nlc3N8YnJlYWt8Y2FjaGV8aGVpZ2h0fHxyZW1vdmV8dGJvZHl8c3RyaW5nfGd1aWR8bnVtfGdsb2JhbHxyZWFkeXxmeHxNYXRofGN1ckNTU3xzdGFydHxzY3JvbGxUb3B8bWFrZUFycmF5fHNjcm9sbExlZnR8bWF4fGFuaW1hdGV8d2lkdGh8b2Zmc2V0fHRhZ05hbWV8c2FmYXJpfG1hcHx0b2dnbGV8fGRvbmV8QXJyYXl8ZmluZHx0b1VwcGVyQ2FzZXxidXR0b258c3BlY2lhbHxkdXJhdGlvbnxpZHxjb3B5fHZhbHVlfGhhbmRsZXJ8b3duZXJEb2N1bWVudHxzZWxlY3R8bmV3fGJvcmRlcnxleGVjfHN0YWNrfG5vbmV8b3BlcmF8bmV4dFNpYmxpbmd8cHVzaFN0YWNrfHRhcmdldHxodG1sfGluQXJyYXl8dW5pdHx4bWx8YmluZHxHRVR8aXNSZWFkeXxtZXJnZXxwb3N8dGltZW91dHxkZWxldGV8b25lfHNlbGVjdGVkfHB4fHN0ZXB8anNyZXxwb3NpdGlvbnxhc3luY3xwcmV2ZW50RGVmYXVsdHxvdmVyZmxvd3xuYW1lfHdoaWNofHF1ZXVlfHJlbW92ZUNoaWxkfG5hbWVzcGFjZXxpbnNlcnRCZWZvcmV8bnRofHJlbW92ZURhdGF8Zml4ZWR8cGFyc2VGbG9hdHxlcnJvcnxyZWFkeVN0YXRlfG11bHRpRmlsdGVyfGNyZWF0ZUVsZW1lbnR8cmx8cmV8dHJpbXxlbmR8X3xwYXJhbXxmaXJzdHxnZXR8cmVzdWx0c3xwYXJzZUludHxzbGljZXxjaGlsZE5vZGVzfGVuY29kZVVSSUNvbXBvbmVudHxhcHBlbmR8ZXZlbnRzfGVsZW1zfHRvTG93ZXJDYXNlfGpzb258cmVhZHlMaXN0fHNldFRpbWVvdXR8Z3JlcHxtb3VzZWVudGVyfGNvbG9yfGlzfGN1c3RvbXxnZXRFbGVtZW50c0J5VGFnTmFtZXxibG9ja3xzdG9wUHJvcGFnYXRpb258YWRkRXZlbnRMaXN0ZW5lcnxjYWxsZWV8cHJveHl8bW91c2VsZWF2ZXx0aW1lcnN8ZGVmYXVsdFZpZXd8cGFzc3dvcmR8ZGlzYWJsZWR8bGFzdHxoYXN8YXBwZW5kQ2hpbGR8Zm9ybXxkb21NYW5pcHxwcm9wc3xhamF4fG9yaWd8c2V0fGVhc2luZ3xtb3ppbGxhfGxvYWR8cHJvdG90eXBlfGN1ckFuaW18c2VsZnxjaGFyQ29kZXx0aW1lcklkfG9iamVjdHxvZmZzZXRDaGlsZHxXaWR0aHxwYXJlbnRPZmZzZXR8c3JjfHVuYmluZHxicnxjdXJyZW50U3R5bGV8Y2xlYW58ZmxvYXR8dmlzaWJsZXxyZWxhdGVkVGFyZ2V0fHByZXZpb3VzU2libGluZ3xoYW5kbGVyc3xpc1hNTERvY3xvbnxzZXR1cHxub2RlSW5kZXh8dW5pcXVlfHNoaWZ0fGphdmFzY3JpcHR8Y2hpbGR8UmVnRXhwfF9kZWZhdWx0fGRlZXB8c2Nyb2xsfGxhc3RNb2RpZmllZHx0ZWFyZG93bnxzZXRSZXF1ZXN0SGVhZGVyfHRpbWVTdGFtcHx1cGRhdGV8ZW1wdHl8dHJ8Z2V0QXR0cmlidXRlfGlubmVySFRNTHxzZXRJbnRlcnZhbHxjaGVja2VkfGZyb21FbGVtZW50fE51bWJlcnxqUXVlcnl8c3RhdGV8YWN0aXZlfGpzb25wfGFjY2VwdHN8YXBwbGljYXRpb258ZGlyfGlucHV0fHJlc3BvbnNlVGV4dHxjbGlja3xzdHlsZVNoZWV0c3x1bmxvYWR8bm90fGxhc3RUb2dnbGV8b3V0bGluZXxtb3VzZW91dHxnZXRQcm9wZXJ0eVZhbHVlfG1vdXNlb3ZlcnxnZXRDb21wdXRlZFN0eWxlfGJpbmRSZWFkeXxTdHJpbmd8cGFkZGluZ3xwYWdlWHxtZXRhS2V5fGtleUNvZGV8Z2V0V0h8YW5kU2VsZnxjbGllbnRYfExlZnR8YWxsfHZpc2liaWxpdHl8Y29udGFpbmVyfGluZGV4fGluaXR8dHJpZ2dlcmVkfHJlbW92ZUF0dHJpYnV0ZXxjbGFzc0ZpbHRlcnxwcmV2T2JqZWN0fHN1Ym1pdHxmaWxlfGFmdGVyfHdpbmRvd0RhdGF8aW5uZXJ8Y2xpZW50fGdsb2JhbEV2YWx8c2libGluZ3xqcXVlcnl8YWJzb2x1dGV8Y2xvbmV8d3JhcEFsbHxkZXF1ZXVlfHZlcnNpb258dHJpZ2dlckhhbmRsZXJ8b2xkYmxvY2t8Y3RybEtleXxjcmVhdGVUZXh0Tm9kZXxUb3B8aGFuZGxlRXJyb3J8Z2V0UmVzcG9uc2VIZWFkZXJ8cGFyc2VyZXJyb3J8c3BlZWRzfGNoZWNrYm94fG9sZHwwMHxyYWRpb3xzd2luZ3xocmVmfE1vZGlmaWVkfGlmTW9kaWZpZWR8bGFzdENoaWxkfHNhZmFyaTJ8c3RhcnRUaW1lfG9mZnNldFRvcHxvZmZzZXRMZWZ0fHVzZXJuYW1lfGxvY2F0aW9ufGFqYXhTZXR0aW5nc3xnZXRFbGVtZW50QnlJZHxpc1NpbXBsZXx2YWx1ZXN8c2VsZWN0ZWRJbmRleHxydW50aW1lU3R5bGV8cnNMZWZ0fF9sb2FkfGxvYWRlZHxET01Db250ZW50TG9hZGVkfGNsaWVudFRvcHxjbGllbnRMZWZ0fHRvRWxlbWVudHxzcmNFbGVtZW50fHZhbHxwYWdlWXxQT1NUfHVuc2hpZnR8Qm90dG9tfGNsaWVudFl8UmlnaHR8Zml4fGV4Y2x1c2l2ZXxkZXRhY2hFdmVudHxjbG9uZU5vZGV8cmVtb3ZlRXZlbnRMaXN0ZW5lcnxzd2FwfHRvU3RyaW5nfGpvaW58YXR0YWNoRXZlbnR8ZXZhbHxzdWJzdHJ8aGVhZHxwYXJzZXx0ZXh0YXJlYXxyZXNldHxpbWFnZXx6b29tfG9kZHxldmVufGJlZm9yZXxwcmVwZW5kfGV4Y2x1ZGV8ZXhwcnxxdWlja0NsYXNzfHF1aWNrSUR8dXVpZHxxdWlja0NoaWxkfGNvbnRpbnVlfEhlaWdodHx0ZXh0Q29udGVudHxhcHBlbmRUb3xjb250ZW50c3xvcGVufG1hcmdpbnxldmFsU2NyaXB0fGJvcmRlclRvcFdpZHRofGJvcmRlckxlZnRXaWR0aHxwYXJlbnR8aHR0cERhdGF8c2V0QXJyYXl8Q1NTMUNvbXBhdHxjb21wYXRNb2RlfGJveE1vZGVsfGNzc0Zsb2F0fGxpbmVhcnxkZWZ8d2Via2l0fG5vZGVWYWx1ZXxzcGVlZHxfdG9nZ2xlfGVxfDEwMHxyZXBsYWNlV2l0aHwzMDR8Y29uY2F0fDIwMHxhbHBoYXxMYXN0fGh0dHBOb3RNb2RpZmllZHxnZXRBdHRyaWJ1dGVOb2RlfGh0dHBTdWNjZXNzfGNsZWFySW50ZXJ2YWx8YWJvcnR8YmVmb3JlU2VuZHxzcGxpY2V8c3R5bGVGbG9hdHx0aHJvd3xjb2xncm91cHxYTUxIdHRwUmVxdWVzdHxBY3RpdmVYT2JqZWN0fHNjcmlwdENoYXJzZXR8Y2FsbGJhY2t8ZmllbGRzZXR8bXVsdGlwbGV8cHJvY2Vzc0RhdGF8Z2V0Qm91bmRpbmdDbGllbnRSZWN0fGNvbnRlbnRUeXBlfGxpbmt8YWpheFNlbmR8YWpheFN1Y2Nlc3N8YWpheEVycm9yfGNvbHxhamF4Q29tcGxldGV8YWpheFN0b3B8YWpheFN0YXJ0fHNlcmlhbGl6ZUFycmF5fG5vdG1vZGlmaWVkfGtleXByZXNzfGtleWRvd258Y2hhbmdlfG1vdXNldXB8bW91c2Vkb3dufGRibGNsaWNrfGZvY3VzfGJsdXJ8c3R5bGVzaGVldHxoYXNDbGFzc3xyZWx8ZG9TY3JvbGx8YmxhY2t8aG92ZXJ8c29saWR8Y2FuY2VsQnViYmxlfHJldHVyblZhbHVlfHdoZWVsRGVsdGF8dmlld3xyb3VuZHxzaGlmdEtleXxyZXNpemV8c2NyZWVuWXxzY3JlZW5YfHJlbGF0ZWROb2RlfG1vdXNlbW92ZXxwcmV2VmFsdWV8b3JpZ2luYWxUYXJnZXR8b2Zmc2V0SGVpZ2h0fGtleXVwfG5ld1ZhbHVlfG9mZnNldFdpZHRofGV2ZW50UGhhc2V8ZGV0YWlsfGN1cnJlbnRUYXJnZXR8Y2FuY2VsYWJsZXxidWJibGVzfGF0dHJOYW1lfGF0dHJDaGFuZ2V8YWx0S2V5fG9yaWdpbmFsRXZlbnR8Y2hhckF0fDBufHN1YnN0cmluZ3xhbmltYXRlZHxoZWFkZXJ8bm9Db25mbGljdHxsaW5lfGVuYWJsZWR8aW5uZXJUZXh0fGNvbnRhaW5zfG9ubHl8d2VpZ2h0fGZvbnR8Z3R8bHR8dUZGRkZ8dTAxMjh8c2l6ZXw0MTd8Qm9vbGVhbnxEYXRlfHRvZ2dsZUNsYXNzfHJlbW92ZUNsYXNzfGFkZENsYXNzfHJlbW92ZUF0dHJ8cmVwbGFjZUFsbHxpbnNlcnRBZnRlcnxwcmVwZW5kVG98d3JhcHxjb250ZW50V2luZG93fGNvbnRlbnREb2N1bWVudHxpZnJhbWV8Y2hpbGRyZW58c2libGluZ3N8cHJldkFsbHx3cmFwSW5uZXJ8bmV4dEFsbHxvdXRlcnxwcmV2fHNjcm9sbFRvfHN0YXRpY3xtYXJnaW5Ub3B8bmV4dHxpbmxpbmV8cGFyZW50c3xhYmxlfGNlbGxTcGFjaW5nfGFkb2JlYWlyfGNlbGxzcGFjaW5nfDUyMnxtYXhMZW5ndGh8bWF4bGVuZ3RofHJlYWRPbmx5fDQwMHxyZWFkb25seXxmYXN0fDYwMHxjbGFzc3xzbG93fDFweHxodG1sRm9yfHJldmVyc2V8MTAwMDB8UEl8Y29zfGNvbXBhdGlibGV8RnVuY3Rpb258c2V0RGF0YXxpZXxyYXxpdHxydnxnZXREYXRhfHVzZXJBZ2VudHxuYXZpZ2F0b3J8ZmFkZVRvfGZhZGVJbnxzbGlkZVRvZ2dsZXxzbGlkZVVwfHNsaWRlRG93bnxpZ3xyZXNwb25zZVhNTHxjb250ZW50fDEyMjN8TmFOfGZhZGVPdXR8MzAwfHByb3RvY29sfHNlbmR8c2V0QXR0cmlidXRlfG9wdGlvbnxkYXRhRmlsdGVyfGNzc1RleHR8Y2hhbmdlZHxiZXxBY2NlcHR8c3RvcHxXaXRofFJlcXVlc3RlZHxPYmplY3R8Y2FufEdNVHxwcm9wZXJ0eXwxOTcwfEphbnwwMXxUaHV8U2luY2V8SWZ8VHlwZXxDb250ZW50fFhNTEhUVFB8dGh8TWljcm9zb2Z0fHRkfG9ucmVhZHlzdGF0ZWNoYW5nZXxvbmxvYWR8Y2FwfGNoYXJzZXR8Y29sZ3xob3N0fHRmb290fHNwZWNpZmllZHx3aXRofDFffHRoZWFkfGxlZ3xwbGFpbnxhdHRyaWJ1dGVzfG9wdHxlbWJlZHx1cmxlbmNvZGVkfHd3d3xhcmVhfGhyfGFqYXhTZXR1cHxtZXRhfHBvc3R8Z2V0SlNPTnxnZXRTY3JpcHR8bWFyZ2luTGVmdHxpbWd8ZWxlbWVudHN8cGFnZVlPZmZzZXR8cGFnZVhPZmZzZXR8YWJicnxzZXJpYWxpemV8cGl4ZWxMZWZ0Jy5zcGxpdCgnfCcpLDAse30pKQ==
LyoqDQogKiBCb3h5IDAuMS40IC0gRmFjZWJvb2stc3R5bGUgZGlhbG9nLCB3aXRoIGZyaWxscw0KICoNCiAqIChjKSAyMDA4IEphc29uIEZyYW1lDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKExJQ0VOU0UpDQogKi8NCiANCi8qDQogKiBqUXVlcnkgcGx1Z2luDQogKg0KICogT3B0aW9uczoNCiAqICAgbWVzc2FnZTogY29uZmlybWF0aW9uIG1lc3NhZ2UgZm9yIGZvcm0gc3VibWl0IGhvb2sgKGRlZmF1bHQ6ICJQbGVhc2UgY29uZmlybToiKQ0KICogDQogKiBBbnkgb3RoZXIgb3B0aW9ucyAtIGUuZy4gJ2Nsb25lJyAtIHdpbGwgYmUgcGFzc2VkIG9udG8gdGhlIGJveHkgY29uc3RydWN0b3IgKG9yDQogKiBCb3h5LmxvYWQgZm9yIEFKQVggb3BlcmF0aW9ucykNCiAqLw0KalF1ZXJ5LmZuLmJveHkgPSBmdW5jdGlvbihvcHRpb25zKSB7DQogICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsgICAgICANCiAgICAgICAgdmFyIG5vZGUgPSB0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIHNlbGYgPSB0aGlzOw0KICAgICAgICBpZiAobm9kZSA9PSAnYScpIHsNCiAgICAgICAgICAgIGpRdWVyeSh0aGlzKS5jbGljayhmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgYWN0aXZlID0gQm94eS5saW5rZWRUbyh0aGlzKSwNCiAgICAgICAgICAgICAgICAgICAgaHJlZiA9IHRoaXMuZ2V0QXR0cmlidXRlKCdocmVmJyksDQogICAgICAgICAgICAgICAgICAgIGxvY2FsT3B0aW9ucyA9IGpRdWVyeS5leHRlbmQoe2FjdHVhdG9yOiB0aGlzLCB0aXRsZTogdGhpcy50aXRsZX0sIG9wdGlvbnMpOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlKSB7DQogICAgICAgICAgICAgICAgICAgIGFjdGl2ZS5zaG93KCk7DQogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChocmVmLmluZGV4T2YoJyMnKSA+PSAwKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjb250ZW50ID0galF1ZXJ5KGhyZWYuc3Vic3RyKGhyZWYuaW5kZXhPZignIycpKSksDQogICAgICAgICAgICAgICAgICAgICAgICBuZXdDb250ZW50ID0gY29udGVudC5jbG9uZSh0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgY29udGVudC5yZW1vdmUoKTsNCiAgICAgICAgICAgICAgICAgICAgbG9jYWxPcHRpb25zLnVubG9hZE9uSGlkZSA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICBuZXcgQm94eShuZXdDb250ZW50LCBsb2NhbE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7IC8vIGZhbGwgYmFjayB0byBBSkFYOyBjb3VsZCBkbyB3aXRoIGEgc2FtZS1vcmlnaW4gY2hlY2sNCiAgICAgICAgICAgICAgICAgICAgaWYgKCFsb2NhbE9wdGlvbnMuY2FjaGUpIGxvY2FsT3B0aW9ucy51bmxvYWRPbkhpZGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICBCb3h5LmxvYWQodGhpcy5ocmVmLCBsb2NhbE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBlbHNlIGlmIChub2RlID09ICdmb3JtJykgew0KICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLmJpbmQoJ3N1Ym1pdC5ib3h5JywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgQm94eS5jb25maXJtKG9wdGlvbnMubWVzc2FnZSB8fCAnx+vIt8jPOicsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBqUXVlcnkoc2VsZikudW5iaW5kKCdzdWJtaXQuYm94eScpLnN1Ym1pdCgpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfSk7DQp9Ow0KDQovLw0KLy8gQm94eSBDbGFzcw0KDQpmdW5jdGlvbiBCb3h5KGVsZW1lbnQsIG9wdGlvbnMpIHsNCiAgICANCiAgICB0aGlzLmJveHkgPSBqUXVlcnkoQm94eS5XUkFQUEVSKTsNCiAgICBqUXVlcnkuZGF0YSh0aGlzLmJveHlbMF0sICdib3h5JywgdGhpcyk7DQogICAgDQogICAgdGhpcy52aXNpYmxlID0gZmFsc2U7DQogICAgdGhpcy5vcHRpb25zID0galF1ZXJ5LmV4dGVuZCh7fSwgQm94eS5ERUZBVUxUUywgb3B0aW9ucyB8fCB7fSk7DQogICAgDQogICAgaWYgKHRoaXMub3B0aW9ucy5tb2RhbCkgew0KICAgICAgICB0aGlzLm9wdGlvbnMgPSBqUXVlcnkuZXh0ZW5kKHRoaXMub3B0aW9ucywge2NlbnRlcjogdHJ1ZSwgZHJhZ2dhYmxlOiBmYWxzZX0pOw0KICAgIH0NCiAgICANCiAgICAvLyBvcHRpb25zLmFjdHVhdG9yID09IERPTSBlbGVtZW50IHRoYXQgb3BlbmVkIHRoaXMgYm94eQ0KICAgIC8vIGFzc29jaWF0aW9uIHdpbGwgYmUgYXV0b21hdGljYWxseSBkZWxldGVkIHdoZW4gdGhpcyBib3h5IGlzIHJlbW92ZSgpZA0KICAgIGlmICh0aGlzLm9wdGlvbnMuYWN0dWF0b3IpIHsNCiAgICAgICAgalF1ZXJ5LmRhdGEodGhpcy5vcHRpb25zLmFjdHVhdG9yLCAnYWN0aXZlLmJveHknLCB0aGlzKTsNCiAgICB9DQogICAgDQogICAgdGhpcy5zZXRDb250ZW50KGVsZW1lbnQgfHwgIjxkaXY+PC9kaXY+Iik7DQogICAgdGhpcy5fc2V0dXBUaXRsZUJhcigpOw0KICAgIA0KICAgIHRoaXMuYm94eS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpOw0KICAgIHRoaXMudG9Ub3AoKTsNCg0KICAgIGlmICh0aGlzLm9wdGlvbnMuZml4ZWQpIHsNCiAgICAgICAgaWYgKGpRdWVyeS5icm93c2VyLm1zaWUgJiYgalF1ZXJ5LmJyb3dzZXIudmVyc2lvbiA8IDcpIHsNCiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5maXhlZCA9IGZhbHNlOyAvLyBJRTYgZG9lc24ndCBzdXBwb3J0IGZpeGVkIHBvc2l0aW9uaW5nDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICB0aGlzLmJveHkuYWRkQ2xhc3MoJ2ZpeGVkJyk7DQogICAgICAgIH0NCiAgICB9DQogICAgDQogICAgaWYgKHRoaXMub3B0aW9ucy5jZW50ZXIgJiYgQm94eS5fdSh0aGlzLm9wdGlvbnMueCwgdGhpcy5vcHRpb25zLnkpKSB7DQogICAgICAgIHRoaXMuY2VudGVyKCk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy5tb3ZlVG8oDQogICAgICAgICAgICBCb3h5Ll91KHRoaXMub3B0aW9ucy54KSA/IHRoaXMub3B0aW9ucy54IDogQm94eS5ERUZBVUxUX1gsDQogICAgICAgICAgICBCb3h5Ll91KHRoaXMub3B0aW9ucy55KSA/IHRoaXMub3B0aW9ucy55IDogQm94eS5ERUZBVUxUX1kNCiAgICAgICAgKTsNCiAgICB9DQogICAgDQogICAgaWYgKHRoaXMub3B0aW9ucy5zaG93KSB0aGlzLnNob3coKTsNCg0KfTsNCg0KQm94eS5FRiA9IGZ1bmN0aW9uKCkge307DQoNCmpRdWVyeS5leHRlbmQoQm94eSwgew0KICAgIA0KICAgIFdSQVBQRVI6ICAgICI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNlbGxwYWRkaW5nPScwJyBib3JkZXI9JzAnIGNsYXNzPSdib3h5LXdyYXBwZXInPiIgKw0KICAgICAgICAgICAgICAgICI8dHI+PHRkIGNsYXNzPSd0b3AtbGVmdCc+PC90ZD48dGQgY2xhc3M9J3RvcCc+PC90ZD48dGQgY2xhc3M9J3RvcC1yaWdodCc+PC90ZD48L3RyPiIgKw0KICAgICAgICAgICAgICAgICI8dHI+PHRkIGNsYXNzPSdsZWZ0Jz48L3RkPjx0ZCBjbGFzcz0nYm94eS1pbm5lcic+PC90ZD48dGQgY2xhc3M9J3JpZ2h0Jz48L3RkPjwvdHI+IiArDQogICAgICAgICAgICAgICAgIjx0cj48dGQgY2xhc3M9J2JvdHRvbS1sZWZ0Jz48L3RkPjx0ZCBjbGFzcz0nYm90dG9tJz48L3RkPjx0ZCBjbGFzcz0nYm90dG9tLXJpZ2h0Jz48L3RkPjwvdHI+IiArDQogICAgICAgICAgICAgICAgIjwvdGFibGU+IiwNCiAgICANCiAgICBERUZBVUxUUzogew0KICAgICAgICB0aXRsZTogICAgICAgICAgICAgICAgICBudWxsLCAgICAgICAgICAgLy8gdGl0bGViYXIgdGV4dC4gdGl0bGViYXIgd2lsbCBub3QgYmUgdmlzaWJsZSBpZiBub3Qgc2V0Lg0KICAgICAgICBjbG9zZWFibGU6ICAgICAgICAgICAgICB0cnVlLCAgICAgICAgICAgLy8gZGlzcGxheSBjbG9zZSBsaW5rIGluIHRpdGxlYmFyPw0KICAgICAgICBkcmFnZ2FibGU6ICAgICAgICAgICAgICB0cnVlLCAgICAgICAgICAgLy8gY2FuIHRoaXMgZGlhbG9nIGJlIGRyYWdnZWQ/DQogICAgICAgIGNsb25lOiAgICAgICAgICAgICAgICAgIGZhbHNlLCAgICAgICAgICAvLyBjbG9uZSBjb250ZW50IHByaW9yIHRvIGluc2VydGlvbiBpbnRvIGRpYWxvZz8NCiAgICAgICAgYWN0dWF0b3I6ICAgICAgICAgICAgICAgbnVsbCwgICAgICAgICAgIC8vIGVsZW1lbnQgd2hpY2ggb3BlbmVkIHRoaXMgZGlhbG9nDQogICAgICAgIGNlbnRlcjogICAgICAgICAgICAgICAgIHRydWUsICAgICAgICAgICAvLyBjZW50ZXIgZGlhbG9nIGluIHZpZXdwb3J0Pw0KICAgICAgICBzaG93OiAgICAgICAgICAgICAgICAgICB0cnVlLCAgICAgICAgICAgLy8gc2hvdyBkaWFsb2cgaW1tZWRpYXRlbHk/DQogICAgICAgIG1vZGFsOiAgICAgICAgICAgICAgICAgIGZhbHNlLCAgICAgICAgICAvLyBtYWtlIGRpYWxvZyBtb2RhbD8NCiAgICAgICAgZml4ZWQ6ICAgICAgICAgICAgICAgICAgdHJ1ZSwgICAgICAgICAgIC8vIHVzZSBmaXhlZCBwb3NpdGlvbmluZywgaWYgc3VwcG9ydGVkPyBhYnNvbHV0ZSBwb3NpdGlvbmluZyB1c2VkIG90aGVyd2lzZQ0KICAgICAgICBjbG9zZVRleHQ6ICAgICAgICAgICAgICAnW7nYsdVdJywgICAgICAvLyB0ZXh0IHRvIHVzZSBmb3IgZGVmYXVsdCBjbG9zZSBsaW5rDQogICAgICAgIHVubG9hZE9uSGlkZTogICAgICAgICAgIGZhbHNlLCAgICAgICAgICAvLyBzaG91bGQgdGhpcyBkaWFsb2cgYmUgcmVtb3ZlZCBmcm9tIHRoZSBET00gYWZ0ZXIgYmVpbmcgaGlkZGVuPw0KICAgICAgICBjbGlja1RvRnJvbnQ6ICAgICAgICAgICBmYWxzZSwgICAgICAgICAgLy8gYnJpbmcgZGlhbG9nIHRvIGZvcmVncm91bmQgb24gYW55IGNsaWNrIChub3QganVzdCB0aXRsZWJhcik/DQogICAgICAgIGJlaGF2aW91cnM6ICAgICAgICAgICAgIEJveHkuRUYsICAgICAgICAvLyBmdW5jdGlvbiB1c2VkIHRvIGFwcGx5IGJlaGF2aW91cnMgdG8gYWxsIGNvbnRlbnQgZW1iZWRkZWQgaW4gZGlhbG9nLg0KICAgICAgICBhZnRlckRyb3A6ICAgICAgICAgICAgICBCb3h5LkVGLCAgICAgICAgLy8gY2FsbGJhY2sgZmlyZWQgYWZ0ZXIgZGlhbG9nIGlzIGRyb3BwZWQuIGV4ZWN1dGVzIGluIGNvbnRleHQgb2YgQm94eSBpbnN0YW5jZS4NCiAgICAgICAgYWZ0ZXJTaG93OiAgICAgICAgICAgICAgQm94eS5FRiwgICAgICAgIC8vIGNhbGxiYWNrIGZpcmVkIGFmdGVyIGRpYWxvZyBiZWNvbWVzIHZpc2libGUuIGV4ZWN1dGVzIGluIGNvbnRleHQgb2YgQm94eSBpbnN0YW5jZS4NCiAgICAgICAgYWZ0ZXJIaWRlOiAgICAgICAgICAgICAgQm94eS5FRiwgICAgICAgIC8vIGNhbGxiYWNrIGZpcmVkIGFmdGVyIGRpYWxvZyBpcyBoaWRkZW4uIGV4ZWN1dGVkIGluIGNvbnRleHQgb2YgQm94eSBpbnN0YW5jZS4NCiAgICAgICAgYmVmb3JlVW5sb2FkOiAgICAgICAgICAgQm94eS5FRiAgICAgICAgIC8vIGNhbGxiYWNrIGZpcmVkIGFmdGVyIGRpYWxvZyBpcyB1bmxvYWRlZC4gZXhlY3V0ZWQgaW4gY29udGV4dCBvZiBCb3h5IGluc3RhbmNlLg0KICAgIH0sDQogICAgDQogICAgREVGQVVMVF9YOiAgICAgICAgICA1MCwNCiAgICBERUZBVUxUX1k6ICAgICAgICAgIDUwLA0KICAgIHpJbmRleDogICAgICAgICAgICAgMTMzNywNCiAgICBkcmFnQ29uZmlndXJlZDogICAgIGZhbHNlLCAvLyBvbmx5IHNldCB1cCBvbmUgZHJhZyBoYW5kbGVyIGZvciBhbGwgYm94eXMNCiAgICByZXNpemVDb25maWd1cmVkOiAgIGZhbHNlLA0KICAgIGRyYWdnaW5nOiAgICAgICAgICAgbnVsbCwNCiAgICANCiAgICAvLyBsb2FkIGEgVVJMIGFuZCBkaXNwbGF5IGluIGJveHkNCiAgICAvLyB1cmwgLSB1cmwgdG8gbG9hZA0KICAgIC8vIG9wdGlvbnMga2V5cyAoYW55IG5vdCBsaXN0ZWQgYmVsb3cgYXJlIHBhc3NlZCB0byBib3h5IGNvbnN0cnVjdG9yKQ0KICAgIC8vICAgdHlwZTogSFRUUCBtZXRob2QsIGRlZmF1bHQ6IEdFVA0KICAgIC8vICAgY2FjaGU6IGNhY2hlIHJldHJpZXZlZCBjb250ZW50PyBkZWZhdWx0OiBmYWxzZQ0KICAgIC8vICAgZmlsdGVyOiBqUXVlcnkgc2VsZWN0b3IgdXNlZCB0byBmaWx0ZXIgcmVtb3RlIGNvbnRlbnQNCiAgICBsb2FkOiBmdW5jdGlvbih1cmwsIG9wdGlvbnMpIHsNCiAgICAgICAgDQogICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9Ow0KICAgICAgICANCiAgICAgICAgdmFyIGFqYXggPSB7DQogICAgICAgICAgICB1cmw6IHVybCwgdHlwZTogJ0dFVCcsIGRhdGFUeXBlOiAnaHRtbCcsIGNhY2hlOiBmYWxzZSwgc3VjY2VzczogZnVuY3Rpb24oaHRtbCkgew0KICAgICAgICAgICAgICAgIGh0bWwgPSBqUXVlcnkoaHRtbCk7DQogICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZmlsdGVyKSBodG1sID0galF1ZXJ5KG9wdGlvbnMuZmlsdGVyLCBodG1sKTsNCiAgICAgICAgICAgICAgICBuZXcgQm94eShodG1sLCBvcHRpb25zKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgDQogICAgICAgIGpRdWVyeS5lYWNoKFsndHlwZScsICdjYWNoZSddLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGlmICh0aGlzIGluIG9wdGlvbnMpIHsNCiAgICAgICAgICAgICAgICBhamF4W3RoaXNdID0gb3B0aW9uc1t0aGlzXTsNCiAgICAgICAgICAgICAgICBkZWxldGUgb3B0aW9uc1t0aGlzXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBqUXVlcnkuYWpheChhamF4KTsNCiAgICAgICAgDQogICAgfSwNCiAgICANCiAgICAvLyBhbGxvd3MgeW91IHRvIGdldCBhIGhhbmRsZSB0byB0aGUgY29udGFpbmluZyBib3h5IGluc3RhbmNlIG9mIGFueSBlbGVtZW50DQogICAgLy8gZS5nLiA8YSBocmVmPScjJyBvbmNsaWNrPSdhbGVydChCb3h5LmdldCh0aGlzKSk7Jz5pbnNwZWN0ITwvYT4uDQogICAgLy8gdGhpcyByZXR1cm5zIHRoZSBhY3R1YWwgaW5zdGFuY2Ugb2YgdGhlIGJveHkgJ2NsYXNzJywgbm90IGp1c3QgYSBET00gZWxlbWVudC4NCiAgICAvLyBCb3h5LmdldCh0aGlzKS5oaWRlKCkgd291bGQgYmUgdmFsaWQsIGZvciBpbnN0YW5jZS4NCiAgICBnZXQ6IGZ1bmN0aW9uKGVsZSkgew0KICAgICAgICB2YXIgcCA9IGpRdWVyeShlbGUpLnBhcmVudHMoJy5ib3h5LXdyYXBwZXInKTsNCiAgICAgICAgcmV0dXJuIHAubGVuZ3RoID8galF1ZXJ5LmRhdGEocFswXSwgJ2JveHknKSA6IG51bGw7DQogICAgfSwNCiAgICANCiAgICAvLyByZXR1cm5zIHRoZSBib3h5IGluc3RhbmNlIHdoaWNoIGhhcyBiZWVuIGxpbmtlZCB0byBhIGdpdmVuIGVsZW1lbnQgdmlhIHRoZQ0KICAgIC8vICdhY3R1YXRvcicgY29uc3RydWN0b3Igb3B0aW9uLg0KICAgIGxpbmtlZFRvOiBmdW5jdGlvbihlbGUpIHsNCiAgICAgICAgcmV0dXJuIGpRdWVyeS5kYXRhKGVsZSwgJ2FjdGl2ZS5ib3h5Jyk7DQogICAgfSwNCiAgICANCiAgICAvLyBkaXNwbGF5cyBhbiBhbGVydCBib3ggd2l0aCBhIGdpdmVuIG1lc3NhZ2UsIGNhbGxpbmcgb3B0aW9uYWwgY2FsbGJhY2sNCiAgICAvLyBhZnRlciBkaXNtaXNzYWwuDQogICAgYWxlcnQ6IGZ1bmN0aW9uKG1lc3NhZ2UsIGNhbGxiYWNrLCBvcHRpb25zKSB7DQogICAgICAgIHJldHVybiBCb3h5LmFzayhtZXNzYWdlLCBbJ09LJ10sIGNhbGxiYWNrLCBvcHRpb25zKTsNCiAgICB9LA0KICAgIA0KICAgIC8vIGRpc3BsYXlzIGFuIGFsZXJ0IGJveCB3aXRoIGEgZ2l2ZW4gbWVzc2FnZSwgY2FsbGluZyBhZnRlciBjYWxsYmFjayBpZmYNCiAgICAvLyB1c2VyIHNlbGVjdHMgT0suDQogICAgY29uZmlybTogZnVuY3Rpb24obWVzc2FnZSwgYWZ0ZXIsIG9wdGlvbnMpIHsNCiAgICAgICAgcmV0dXJuIEJveHkuYXNrKG1lc3NhZ2UsIFsnT0snLCAnQ2FuY2VsJ10sIGZ1bmN0aW9uKHJlc3BvbnNlKSB7DQogICAgICAgICAgICBpZiAocmVzcG9uc2UgPT0gJ09LJykgYWZ0ZXIoKTsNCiAgICAgICAgfSwgb3B0aW9ucyk7DQogICAgfSwNCiAgICANCiAgICAvLyBhc2tzIGEgcXVlc3Rpb24gd2l0aCBtdWx0aXBsZSByZXNwb25zZXMgcHJlc2VudGVkIGFzIGJ1dHRvbnMNCiAgICAvLyBzZWxlY3RlZCBpdGVtIGlzIHJldHVybmVkIHRvIGEgY2FsbGJhY2sgbWV0aG9kLg0KICAgIC8vIGFuc3dlcnMgbWF5IGJlIGVpdGhlciBhbiBhcnJheSBvciBhIGhhc2guIGlmIGl0J3MgYW4gYXJyYXksIHRoZQ0KICAgIC8vIHRoZSBjYWxsYmFjayB3aWxsIHJlY2VpdmVkIHRoZSBzZWxlY3RlZCB2YWx1ZS4gaWYgaXQncyBhIGhhc2gsDQogICAgLy8geW91J2xsIGdldCB0aGUgY29ycmVzcG9uZGluZyBrZXkuDQogICAgYXNrOiBmdW5jdGlvbihxdWVzdGlvbiwgYW5zd2VycywgY2FsbGJhY2ssIG9wdGlvbnMpIHsNCiAgICAgICAgDQogICAgICAgIG9wdGlvbnMgPSBqUXVlcnkuZXh0ZW5kKHttb2RhbDogdHJ1ZSwgY2xvc2VhYmxlOiBmYWxzZX0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgfHwge30sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93OiB0cnVlLCB1bmxvYWRPbkhpZGU6IHRydWV9KTsNCiAgICAgICAgDQogICAgICAgIHZhciBib2R5ID0galF1ZXJ5KCc8ZGl2PjwvZGl2PicpLmFwcGVuZChqUXVlcnkoJzxkaXYgY2xhc3M9InF1ZXN0aW9uIj48L2Rpdj4nKS5odG1sKHF1ZXN0aW9uKSk7DQogICAgICAgIA0KICAgICAgICAvLyBpY2sNCiAgICAgICAgdmFyIG1hcCA9IHt9LCBhbnN3ZXJTdHJpbmdzID0gW107DQogICAgICAgIGlmIChhbnN3ZXJzIGluc3RhbmNlb2YgQXJyYXkpIHsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5zd2Vycy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICAgIG1hcFthbnN3ZXJzW2ldXSA9IGFuc3dlcnNbaV07DQogICAgICAgICAgICAgICAgYW5zd2VyU3RyaW5ncy5wdXNoKGFuc3dlcnNbaV0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZm9yICh2YXIgayBpbiBhbnN3ZXJzKSB7DQogICAgICAgICAgICAgICAgbWFwW2Fuc3dlcnNba11dID0gazsNCiAgICAgICAgICAgICAgICBhbnN3ZXJTdHJpbmdzLnB1c2goYW5zd2Vyc1trXSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBidXR0b25zID0galF1ZXJ5KCc8Zm9ybSBjbGFzcz0iYW5zd2VycyI+PC9mb3JtPicpOw0KICAgICAgICBidXR0b25zLmh0bWwoalF1ZXJ5Lm1hcChhbnN3ZXJTdHJpbmdzLCBmdW5jdGlvbih2KSB7DQogICAgICAgICAgICByZXR1cm4gIjxpbnB1dCB0eXBlPSdidXR0b24nIHZhbHVlPSciICsgdiArICInIC8+IjsNCiAgICAgICAgfSkuam9pbignICcpKTsNCiAgICAgICAgDQogICAgICAgIGpRdWVyeSgnaW5wdXRbdHlwZT1idXR0b25dJywgYnV0dG9ucykuY2xpY2soZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgY2xpY2tlZCA9IHRoaXM7DQogICAgICAgICAgICBCb3h5LmdldCh0aGlzKS5oaWRlKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGlmIChjYWxsYmFjaykgY2FsbGJhY2sobWFwW2NsaWNrZWQudmFsdWVdKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIGJvZHkuYXBwZW5kKGJ1dHRvbnMpOw0KICAgICAgICANCiAgICAgICAgbmV3IEJveHkoYm9keSwgb3B0aW9ucyk7DQogICAgICAgIA0KICAgIH0sDQogICAgDQogICAgLy8gcmV0dXJucyB0cnVlIGlmIGEgbW9kYWwgYm94eSBpcyB2aXNpYmxlLCBmYWxzZSBvdGhlcndpc2UNCiAgICBpc01vZGFsVmlzaWJsZTogZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiBqUXVlcnkoJy5ib3h5LW1vZGFsLWJsYWNrb3V0JykubGVuZ3RoID4gMDsNCiAgICB9LA0KICAgIA0KICAgIF91OiBmdW5jdGlvbigpIHsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspDQogICAgICAgICAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1tpXSAhPSAndW5kZWZpbmVkJykgcmV0dXJuIGZhbHNlOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9LA0KICAgIA0KICAgIF9oYW5kbGVSZXNpemU6IGZ1bmN0aW9uKGV2dCkgew0KICAgICAgICB2YXIgZCA9IGpRdWVyeShkb2N1bWVudCk7DQogICAgICAgIGpRdWVyeSgnLmJveHktbW9kYWwtYmxhY2tvdXQnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpLmNzcyh7DQogICAgICAgICAgICB3aWR0aDogZC53aWR0aCgpLCBoZWlnaHQ6IGQuaGVpZ2h0KCkNCiAgICAgICAgfSkuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7DQogICAgfSwNCiAgICANCiAgICBfaGFuZGxlRHJhZzogZnVuY3Rpb24oZXZ0KSB7DQogICAgICAgIHZhciBkOw0KICAgICAgICBpZiAoZCA9IEJveHkuZHJhZ2dpbmcpIHsNCiAgICAgICAgICAgIGRbMF0uYm94eS5jc3Moe2xlZnQ6IGV2dC5wYWdlWCAtIGRbMV0sIHRvcDogZXZ0LnBhZ2VZIC0gZFsyXX0pOw0KICAgICAgICB9DQogICAgfSwNCiAgICANCiAgICBfbmV4dFo6IGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4gQm94eS56SW5kZXgrKzsNCiAgICB9LA0KICAgIA0KICAgIF92aWV3cG9ydDogZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBkID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCBiID0gZG9jdW1lbnQuYm9keSwgdyA9IHdpbmRvdzsNCiAgICAgICAgcmV0dXJuIGpRdWVyeS5leHRlbmQoDQogICAgICAgICAgICBqUXVlcnkuYnJvd3Nlci5tc2llID8NCiAgICAgICAgICAgICAgICB7IGxlZnQ6IGIuc2Nyb2xsTGVmdCB8fCBkLnNjcm9sbExlZnQsIHRvcDogYi5zY3JvbGxUb3AgfHwgZC5zY3JvbGxUb3AgfSA6DQogICAgICAgICAgICAgICAgeyBsZWZ0OiB3LnBhZ2VYT2Zmc2V0LCB0b3A6IHcucGFnZVlPZmZzZXQgfSwNCiAgICAgICAgICAgICFCb3h5Ll91KHcuaW5uZXJXaWR0aCkgPw0KICAgICAgICAgICAgICAgIHsgd2lkdGg6IHcuaW5uZXJXaWR0aCwgaGVpZ2h0OiB3LmlubmVySGVpZ2h0IH0gOg0KICAgICAgICAgICAgICAgICghQm94eS5fdShkKSAmJiAhQm94eS5fdShkLmNsaWVudFdpZHRoKSAmJiBkLmNsaWVudFdpZHRoICE9IDAgPw0KICAgICAgICAgICAgICAgICAgICB7IHdpZHRoOiBkLmNsaWVudFdpZHRoLCBoZWlnaHQ6IGQuY2xpZW50SGVpZ2h0IH0gOg0KICAgICAgICAgICAgICAgICAgICB7IHdpZHRoOiBiLmNsaWVudFdpZHRoLCBoZWlnaHQ6IGIuY2xpZW50SGVpZ2h0IH0pICk7DQogICAgfQ0KDQp9KTsNCg0KQm94eS5wcm90b3R5cGUgPSB7DQogICAgDQogICAgLy8gUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGlzIGJveHkgaW5zdGFuY2Ugd2l0aG91dCBkaXNwbGF5aW5nIGl0Lg0KICAgIC8vIERvIG5vdCB1c2UgdGhpcyBtZXRob2QgaWYgYm94eSBpcyBhbHJlYWR5IHZpc2libGUsIHVzZSBnZXRTaXplKCkgaW5zdGVhZC4NCiAgICBlc3RpbWF0ZVNpemU6IGZ1bmN0aW9uKCkgew0KICAgICAgICB0aGlzLmJveHkuY3NzKHt2aXNpYmlsaXR5OiAnaGlkZGVuJywgZGlzcGxheTogJ2Jsb2NrJ30pOw0KICAgICAgICB2YXIgZGltcyA9IHRoaXMuZ2V0U2l6ZSgpOw0KICAgICAgICB0aGlzLmJveHkuY3NzKCdkaXNwbGF5JywgJ25vbmUnKS5jc3MoJ3Zpc2liaWxpdHknLCAndmlzaWJsZScpOw0KICAgICAgICByZXR1cm4gZGltczsNCiAgICB9LA0KICAgICAgICAgICAgICAgIA0KICAgIC8vIFJldHVybnMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIGVudGlyZSBib3h5IGRpYWxvZyBhcyBbd2lkdGgsaGVpZ2h0XQ0KICAgIGdldFNpemU6IGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4gW3RoaXMuYm94eS53aWR0aCgpLCB0aGlzLmJveHkuaGVpZ2h0KCldOw0KICAgIH0sDQogICAgDQogICAgLy8gUmV0dXJucyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgY29udGVudCByZWdpb24gYXMgW3dpZHRoLGhlaWdodF0NCiAgICBnZXRDb250ZW50U2l6ZTogZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBjID0gdGhpcy5nZXRDb250ZW50KCk7DQogICAgICAgIHJldHVybiBbYy53aWR0aCgpLCBjLmhlaWdodCgpXTsNCiAgICB9LA0KICAgIA0KICAgIC8vIFJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoaXMgZGlhbG9nIGFzIFt4LHldDQogICAgZ2V0UG9zaXRpb246IGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgYiA9IHRoaXMuYm94eVswXTsNCiAgICAgICAgcmV0dXJuIFtiLm9mZnNldExlZnQsIGIub2Zmc2V0VG9wXTsNCiAgICB9LA0KICAgIA0KICAgIC8vIFJldHVybnMgdGhlIGNlbnRlciBwb2ludCBvZiB0aGlzIGRpYWxvZyBhcyBbeCx5XQ0KICAgIGdldENlbnRlcjogZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBwID0gdGhpcy5nZXRQb3NpdGlvbigpOw0KICAgICAgICB2YXIgcyA9IHRoaXMuZ2V0U2l6ZSgpOw0KICAgICAgICByZXR1cm4gW01hdGguZmxvb3IocFswXSArIHNbMF0gLyAyKSwgTWF0aC5mbG9vcihwWzFdICsgc1sxXSAvIDIpXTsNCiAgICB9LA0KICAgICAgICAgICAgICAgIA0KICAgIC8vIFJldHVybnMgYSBqUXVlcnkgb2JqZWN0IHdyYXBwaW5nIHRoZSBpbm5lciBib3h5IHJlZ2lvbi4NCiAgICAvLyBOb3QgbXVjaCByZWFzb24gdG8gdXNlIHRoaXMsIHlvdSdyZSBwcm9iYWJseSBtb3JlIGludGVyZXN0ZWQgaW4gZ2V0Q29udGVudCgpDQogICAgZ2V0SW5uZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4galF1ZXJ5KCcuYm94eS1pbm5lcicsIHRoaXMuYm94eSk7DQogICAgfSwNCiAgICANCiAgICAvLyBSZXR1cm5zIGEgalF1ZXJ5IG9iamVjdCB3cmFwcGluZyB0aGUgYm94eSBjb250ZW50IHJlZ2lvbi4NCiAgICAvLyBUaGlzIGlzIHRoZSB1c2VyLWVkaXRhYmxlIGNvbnRlbnQgYXJlYSAoaS5lLiBleGNsdWRlcyB0aXRsZWJhcikNCiAgICBnZXRDb250ZW50OiBmdW5jdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIGpRdWVyeSgnLmJveHktY29udGVudCcsIHRoaXMuYm94eSk7DQogICAgfSwNCiAgICANCiAgICAvLyBSZXBsYWNlIGRpYWxvZyBjb250ZW50DQogICAgc2V0Q29udGVudDogZnVuY3Rpb24obmV3Q29udGVudCkgew0KICAgICAgICBuZXdDb250ZW50ID0galF1ZXJ5KG5ld0NvbnRlbnQpLmNzcyh7ZGlzcGxheTogJ2Jsb2NrJ30pLmFkZENsYXNzKCdib3h5LWNvbnRlbnQnKTsNCiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5jbG9uZSkgbmV3Q29udGVudCA9IG5ld0NvbnRlbnQuY2xvbmUodHJ1ZSk7DQogICAgICAgIHRoaXMuZ2V0Q29udGVudCgpLnJlbW92ZSgpOw0KICAgICAgICB0aGlzLmdldElubmVyKCkuYXBwZW5kKG5ld0NvbnRlbnQpOw0KICAgICAgICB0aGlzLl9zZXR1cERlZmF1bHRCZWhhdmlvdXJzKG5ld0NvbnRlbnQpOw0KICAgICAgICB0aGlzLm9wdGlvbnMuYmVoYXZpb3Vycy5jYWxsKHRoaXMsIG5ld0NvbnRlbnQpOw0KICAgICAgICByZXR1cm4gdGhpczsNCiAgICB9LA0KICAgIA0KICAgIC8vIE1vdmUgdGhpcyBkaWFsb2cgdG8gc29tZSBwb3NpdGlvbiwgZnVubmlseSBlbm91Z2gNCiAgICBtb3ZlVG86IGZ1bmN0aW9uKHgsIHkpIHsNCiAgICAgICAgdGhpcy5tb3ZlVG9YKHgpLm1vdmVUb1koeSk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0sDQogICAgDQogICAgLy8gTW92ZSB0aGlzIGRpYWxvZyAoeC1jb29yZCBvbmx5KQ0KICAgIG1vdmVUb1g6IGZ1bmN0aW9uKHgpIHsNCiAgICAgICAgaWYgKHR5cGVvZiB4ID09ICdudW1iZXInKSB0aGlzLmJveHkuY3NzKHtsZWZ0OiB4fSk7DQogICAgICAgIGVsc2UgdGhpcy5jZW50ZXJYKCk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0sDQogICAgDQogICAgLy8gTW92ZSB0aGlzIGRpYWxvZyAoeS1jb29yZCBvbmx5KQ0KICAgIG1vdmVUb1k6IGZ1bmN0aW9uKHkpIHsNCiAgICAgICAgaWYgKHR5cGVvZiB5ID09ICdudW1iZXInKSB0aGlzLmJveHkuY3NzKHt0b3A6IHl9KTsNCiAgICAgICAgZWxzZSB0aGlzLmNlbnRlclkoKTsNCiAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgfSwNCiAgICANCiAgICAvLyBNb3ZlIHRoaXMgZGlhbG9nIHNvIHRoYXQgaXQgaXMgY2VudGVyZWQgYXQgKHgseSkNCiAgICBjZW50ZXJBdDogZnVuY3Rpb24oeCwgeSkgew0KICAgICAgICB2YXIgcyA9IHRoaXNbdGhpcy52aXNpYmxlID8gJ2dldFNpemUnIDogJ2VzdGltYXRlU2l6ZSddKCk7DQogICAgICAgIGlmICh0eXBlb2YgeCA9PSAnbnVtYmVyJykgdGhpcy5tb3ZlVG9YKHggLSBzWzBdIC8gMik7DQogICAgICAgIGlmICh0eXBlb2YgeSA9PSAnbnVtYmVyJykgdGhpcy5tb3ZlVG9ZKHkgLSBzWzFdIC8gMik7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0sDQogICAgDQogICAgY2VudGVyQXRYOiBmdW5jdGlvbih4KSB7DQogICAgICAgIHJldHVybiB0aGlzLmNlbnRlckF0KHgsIG51bGwpOw0KICAgIH0sDQogICAgDQogICAgY2VudGVyQXRZOiBmdW5jdGlvbih5KSB7DQogICAgICAgIHJldHVybiB0aGlzLmNlbnRlckF0KG51bGwsIHkpOw0KICAgIH0sDQogICAgDQogICAgLy8gQ2VudGVyIHRoaXMgZGlhbG9nIGluIHRoZSB2aWV3cG9ydA0KICAgIC8vIGF4aXMgaXMgb3B0aW9uYWwsIGNhbiBiZSAneCcsICd5Jy4NCiAgICBjZW50ZXI6IGZ1bmN0aW9uKGF4aXMpIHsNCiAgICAgICAgdmFyIHYgPSBCb3h5Ll92aWV3cG9ydCgpOw0KICAgICAgICB2YXIgbyA9IHRoaXMub3B0aW9ucy5maXhlZCA/IFswLCAwXSA6IFt2LmxlZnQsIHYudG9wXTsNCiAgICAgICAgaWYgKCFheGlzIHx8IGF4aXMgPT0gJ3gnKSB0aGlzLmNlbnRlckF0KG9bMF0gKyB2LndpZHRoIC8gMiwgbnVsbCk7DQogICAgICAgIGlmICghYXhpcyB8fCBheGlzID09ICd5JykgdGhpcy5jZW50ZXJBdChudWxsLCBvWzFdICsgdi5oZWlnaHQgLyAyKTsNCiAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgfSwNCiAgICANCiAgICAvLyBDZW50ZXIgdGhpcyBkaWFsb2cgaW4gdGhlIHZpZXdwb3J0ICh4LWNvb3JkIG9ubHkpDQogICAgY2VudGVyWDogZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiB0aGlzLmNlbnRlcigneCcpOw0KICAgIH0sDQogICAgDQogICAgLy8gQ2VudGVyIHRoaXMgZGlhbG9nIGluIHRoZSB2aWV3cG9ydCAoeS1jb29yZCBvbmx5KQ0KICAgIGNlbnRlclk6IGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4gdGhpcy5jZW50ZXIoJ3knKTsNCiAgICB9LA0KICAgIA0KICAgIC8vIFJlc2l6ZSB0aGUgY29udGVudCByZWdpb24gdG8gYSBzcGVjaWZpYyBzaXplDQogICAgcmVzaXplOiBmdW5jdGlvbih3aWR0aCwgaGVpZ2h0LCBhZnRlcikgew0KICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkgcmV0dXJuOw0KICAgICAgICB2YXIgYm91bmRzID0gdGhpcy5fZ2V0Qm91bmRzRm9yUmVzaXplKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICB0aGlzLmJveHkuY3NzKHtsZWZ0OiBib3VuZHNbMF0sIHRvcDogYm91bmRzWzFdfSk7DQogICAgICAgIHRoaXMuZ2V0Q29udGVudCgpLmNzcyh7d2lkdGg6IGJvdW5kc1syXSwgaGVpZ2h0OiBib3VuZHNbM119KTsNCiAgICAgICAgaWYgKGFmdGVyKSBhZnRlcih0aGlzKTsNCiAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgfSwNCiAgICANCiAgICAvLyBUd2VlbiB0aGUgY29udGVudCByZWdpb24gdG8gYSBzcGVjaWZpYyBzaXplDQogICAgdHdlZW46IGZ1bmN0aW9uKHdpZHRoLCBoZWlnaHQsIGFmdGVyKSB7DQogICAgICAgIGlmICghdGhpcy52aXNpYmxlKSByZXR1cm47DQogICAgICAgIHZhciBib3VuZHMgPSB0aGlzLl9nZXRCb3VuZHNGb3JSZXNpemUod2lkdGgsIGhlaWdodCk7DQogICAgICAgIHZhciBzZWxmID0gdGhpczsNCiAgICAgICAgdGhpcy5ib3h5LnN0b3AoKS5hbmltYXRlKHtsZWZ0OiBib3VuZHNbMF0sIHRvcDogYm91bmRzWzFdfSk7DQogICAgICAgIHRoaXMuZ2V0Q29udGVudCgpLnN0b3AoKS5hbmltYXRlKHt3aWR0aDogYm91bmRzWzJdLCBoZWlnaHQ6IGJvdW5kc1szXX0sIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKGFmdGVyKSBhZnRlcihzZWxmKTsNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0sDQogICAgDQogICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMgZGlhbG9nIGlzIHZpc2libGUsIGZhbHNlIG90aGVyd2lzZQ0KICAgIGlzVmlzaWJsZTogZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiB0aGlzLnZpc2libGU7ICAgIA0KICAgIH0sDQogICAgDQogICAgLy8gTWFrZSB0aGlzIGJveHkgaW5zdGFuY2UgdmlzaWJsZQ0KICAgIHNob3c6IGZ1bmN0aW9uKCkgew0KICAgICAgICBpZiAodGhpcy52aXNpYmxlKSByZXR1cm47DQogICAgICAgIGlmICh0aGlzLm9wdGlvbnMubW9kYWwpIHsNCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsNCiAgICAgICAgICAgIGlmICghQm94eS5yZXNpemVDb25maWd1cmVkKSB7DQogICAgICAgICAgICAgICAgQm94eS5yZXNpemVDb25maWd1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICBqUXVlcnkod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKSB7IEJveHkuX2hhbmRsZVJlc2l6ZSgpOyB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRoaXMubW9kYWxCbGFja291dCA9IGpRdWVyeSgnPGRpdiBjbGFzcz0iYm94eS1tb2RhbC1ibGFja291dCI+PC9kaXY+JykNCiAgICAgICAgICAgICAgICAuY3NzKHt6SW5kZXg6IEJveHkuX25leHRaKCksDQogICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43LA0KICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBqUXVlcnkoZG9jdW1lbnQpLndpZHRoKCksDQogICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBqUXVlcnkoZG9jdW1lbnQpLmhlaWdodCgpfSkNCiAgICAgICAgICAgICAgICAuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSk7DQogICAgICAgICAgICB0aGlzLnRvVG9wKCk7DQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmNsb3NlYWJsZSkgew0KICAgICAgICAgICAgICAgIGpRdWVyeShkb2N1bWVudC5ib2R5KS5iaW5kKCdrZXlwcmVzcy5ib3h5JywgZnVuY3Rpb24oZXZ0KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBldnQud2hpY2ggfHwgZXZ0LmtleUNvZGU7DQogICAgICAgICAgICAgICAgICAgIGlmIChrZXkgPT0gMjcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaGlkZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGRvY3VtZW50LmJvZHkpLnVuYmluZCgna2V5cHJlc3MuYm94eScpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdGhpcy5ib3h5LnN0b3AoKS5jc3Moe29wYWNpdHk6IDF9KS5zaG93KCk7DQogICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7DQogICAgICAgIHRoaXMuX2ZpcmUoJ2FmdGVyU2hvdycpOw0KICAgICAgICByZXR1cm4gdGhpczsNCiAgICB9LA0KICAgIA0KICAgIC8vIEhpZGUgdGhpcyBib3h5IGluc3RhbmNlDQogICAgaGlkZTogZnVuY3Rpb24oYWZ0ZXIpIHsNCiAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpIHJldHVybjsNCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOw0KICAgICAgICBpZiAodGhpcy5vcHRpb25zLm1vZGFsKSB7DQogICAgICAgICAgICBqUXVlcnkoZG9jdW1lbnQuYm9keSkudW5iaW5kKCdrZXlwcmVzcy5ib3h5Jyk7DQogICAgICAgICAgICB0aGlzLm1vZGFsQmxhY2tvdXQuYW5pbWF0ZSh7b3BhY2l0eTogMH0sIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGpRdWVyeSh0aGlzKS5yZW1vdmUoKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgICAgIHRoaXMuYm94eS5zdG9wKCkuYW5pbWF0ZSh7b3BhY2l0eTogMH0sIDMwMCwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBzZWxmLmJveHkuY3NzKHtkaXNwbGF5OiAnbm9uZSd9KTsNCiAgICAgICAgICAgIHNlbGYudmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgc2VsZi5fZmlyZSgnYWZ0ZXJIaWRlJyk7DQogICAgICAgICAgICBpZiAoYWZ0ZXIpIGFmdGVyKHNlbGYpOw0KICAgICAgICAgICAgaWYgKHNlbGYub3B0aW9ucy51bmxvYWRPbkhpZGUpIHNlbGYudW5sb2FkKCk7DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gdGhpczsNCiAgICB9LA0KICAgIA0KICAgIHRvZ2dsZTogZnVuY3Rpb24oKSB7DQogICAgICAgIHRoaXNbdGhpcy52aXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnXSgpOw0KICAgICAgICByZXR1cm4gdGhpczsNCiAgICB9LA0KICAgIA0KICAgIGhpZGVBbmRVbmxvYWQ6IGZ1bmN0aW9uKGFmdGVyKSB7DQogICAgICAgIHRoaXMub3B0aW9ucy51bmxvYWRPbkhpZGUgPSB0cnVlOw0KICAgICAgICB0aGlzLmhpZGUoYWZ0ZXIpOw0KICAgICAgICByZXR1cm4gdGhpczsNCiAgICB9LA0KICAgIA0KICAgIHVubG9hZDogZnVuY3Rpb24oKSB7DQogICAgICAgIHRoaXMuX2ZpcmUoJ2JlZm9yZVVubG9hZCcpOw0KICAgICAgICB0aGlzLmJveHkucmVtb3ZlKCk7DQogICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYWN0dWF0b3IpIHsNCiAgICAgICAgICAgIGpRdWVyeS5kYXRhKHRoaXMub3B0aW9ucy5hY3R1YXRvciwgJ2FjdGl2ZS5ib3h5JywgZmFsc2UpOw0KICAgICAgICB9DQogICAgfSwNCiAgICANCiAgICAvLyBNb3ZlIHRoaXMgZGlhbG9nIGJveCBhYm92ZSBhbGwgb3RoZXIgYm94eSBpbnN0YW5jZXMNCiAgICB0b1RvcDogZnVuY3Rpb24oKSB7DQogICAgICAgIHRoaXMuYm94eS5jc3Moe3pJbmRleDogQm94eS5fbmV4dFooKX0pOw0KICAgICAgICByZXR1cm4gdGhpczsNCiAgICB9LA0KICAgIA0KICAgIC8vIFJldHVybnMgdGhlIHRpdGxlIG9mIHRoaXMgZGlhbG9nDQogICAgZ2V0VGl0bGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4galF1ZXJ5KCc+IC50aXRsZS1iYXIgaDInLCB0aGlzLmdldElubmVyKCkpLmh0bWwoKTsNCiAgICB9LA0KICAgIA0KICAgIC8vIFNldHMgdGhlIHRpdGxlIG9mIHRoaXMgZGlhbG9nDQogICAgc2V0VGl0bGU6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgalF1ZXJ5KCc+IC50aXRsZS1iYXIgaDInLCB0aGlzLmdldElubmVyKCkpLmh0bWwodCk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0sDQogICAgDQogICAgLy8NCiAgICAvLyBEb24ndCB0b3VjaCB0aGVzZSBwcml2YXRlcw0KICAgIA0KICAgIF9nZXRCb3VuZHNGb3JSZXNpemU6IGZ1bmN0aW9uKHdpZHRoLCBoZWlnaHQpIHsNCiAgICAgICAgdmFyIGNzaXplID0gdGhpcy5nZXRDb250ZW50U2l6ZSgpOw0KICAgICAgICB2YXIgZGVsdGEgPSBbd2lkdGggLSBjc2l6ZVswXSwgaGVpZ2h0IC0gY3NpemVbMV1dOw0KICAgICAgICB2YXIgcCA9IHRoaXMuZ2V0UG9zaXRpb24oKTsNCiAgICAgICAgcmV0dXJuIFtNYXRoLm1heChwWzBdIC0gZGVsdGFbMF0gLyAyLCAwKSwNCiAgICAgICAgICAgICAgICBNYXRoLm1heChwWzFdIC0gZGVsdGFbMV0gLyAyLCAwKSwgd2lkdGgsIGhlaWdodF07DQogICAgfSwNCiAgICANCiAgICBfc2V0dXBUaXRsZUJhcjogZnVuY3Rpb24oKSB7DQogICAgICAgIGlmICh0aGlzLm9wdGlvbnMudGl0bGUpIHsNCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsNCiAgICAgICAgICAgIHZhciB0YiA9IGpRdWVyeSgiPGRpdiBjbGFzcz0ndGl0bGUtYmFyJz48L2Rpdj4iKS5odG1sKCI8aDI+IiArIHRoaXMub3B0aW9ucy50aXRsZSArICI8L2gyPiIpOw0KICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5jbG9zZWFibGUpIHsNCiAgICAgICAgICAgICAgICB0Yi5hcHBlbmQoalF1ZXJ5KCI8YSBocmVmPScjJyBjbGFzcz0nY2xvc2UnPjwvYT4iKS5odG1sKHRoaXMub3B0aW9ucy5jbG9zZVRleHQpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlKSB7DQogICAgICAgICAgICAgICAgdGJbMF0ub25zZWxlY3RzdGFydCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0NCiAgICAgICAgICAgICAgICB0YlswXS51bnNlbGVjdGFibGUgPSAnb24nOw0KICAgICAgICAgICAgICAgIHRiWzBdLnN0eWxlLk1velVzZXJTZWxlY3QgPSAnbm9uZSc7DQogICAgICAgICAgICAgICAgaWYgKCFCb3h5LmRyYWdDb25maWd1cmVkKSB7DQogICAgICAgICAgICAgICAgICAgIGpRdWVyeShkb2N1bWVudCkubW91c2Vtb3ZlKEJveHkuX2hhbmRsZURyYWcpOw0KICAgICAgICAgICAgICAgICAgICBCb3h5LmRyYWdDb25maWd1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdGIubW91c2Vkb3duKGZ1bmN0aW9uKGV2dCkgew0KICAgICAgICAgICAgICAgICAgICBzZWxmLnRvVG9wKCk7DQogICAgICAgICAgICAgICAgICAgIEJveHkuZHJhZ2dpbmcgPSBbc2VsZiwgZXZ0LnBhZ2VYIC0gc2VsZi5ib3h5WzBdLm9mZnNldExlZnQsIGV2dC5wYWdlWSAtIHNlbGYuYm94eVswXS5vZmZzZXRUb3BdOw0KICAgICAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykuYWRkQ2xhc3MoJ2RyYWdnaW5nJyk7DQogICAgICAgICAgICAgICAgfSkubW91c2V1cChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLnJlbW92ZUNsYXNzKCdkcmFnZ2luZycpOw0KICAgICAgICAgICAgICAgICAgICBCb3h5LmRyYWdnaW5nID0gbnVsbDsNCiAgICAgICAgICAgICAgICAgICAgc2VsZi5fZmlyZSgnYWZ0ZXJEcm9wJyk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0aGlzLmdldElubmVyKCkucHJlcGVuZCh0Yik7DQogICAgICAgICAgICB0aGlzLl9zZXR1cERlZmF1bHRCZWhhdmlvdXJzKHRiKTsNCiAgICAgICAgfQ0KICAgIH0sDQogICAgDQogICAgX3NldHVwRGVmYXVsdEJlaGF2aW91cnM6IGZ1bmN0aW9uKHJvb3QpIHsNCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOw0KICAgICAgICBpZiAodGhpcy5vcHRpb25zLmNsaWNrVG9Gcm9udCkgew0KICAgICAgICAgICAgcm9vdC5jbGljayhmdW5jdGlvbigpIHsgc2VsZi50b1RvcCgpOyB9KTsNCiAgICAgICAgfQ0KICAgICAgICBqUXVlcnkoJy5jbG9zZScsIHJvb3QpLmNsaWNrKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgc2VsZi5oaWRlKCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0pLm1vdXNlZG93bihmdW5jdGlvbihldnQpIHsgZXZ0LnN0b3BQcm9wYWdhdGlvbigpOyB9KTsNCiAgICB9LA0KICAgIA0KICAgIF9maXJlOiBmdW5jdGlvbihldmVudCkgew0KICAgICAgICB0aGlzLm9wdGlvbnNbZXZlbnRdLmNhbGwodGhpcyk7DQogICAgfQ0KICAgIA0KfTsNCg==
PCEtLQ0KDQpmdW5jdGlvbiAkTmF2KCl7DQoJaWYod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSIpPj0xKSByZXR1cm4gJ0lFJzsNCiAgZWxzZSBpZih3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGaXJlZm94Iik+PTEpIHJldHVybiAnRkYnOw0KICBlbHNlIHJldHVybiAiT1QiOw0KfQ0KDQpmdW5jdGlvbiAkT2JqKG9iam5hbWUpew0KCXJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvYmpuYW1lKTsNCn0NCg0KZnVuY3Rpb24gU2hvd0NvbG9yKCl7DQogICBpZihkb2N1bWVudC5hbGwpew0KICAgICB2YXIgcG9zTGVmdCA9IHdpbmRvdy5ldmVudC5jbGllbnRZLTEwMDsNCiAgICAgdmFyIHBvc1RvcCA9IHdpbmRvdy5ldmVudC5jbGllbnRYLTQwMDsNCiAgIH0NCiAgIGVsc2V7DQogICAgIHZhciBwb3NMZWZ0ID0gMTAwOw0KICAgICB2YXIgcG9zVG9wID0gMTAwOw0KICAgfQ0KCXZhciBmY29sb3I9c2hvd01vZGFsRGlhbG9nKCJpbWcvY29sb3IuaHRtP29rIixmYWxzZSwiZGlhbG9nV2lkdGg6MTA2cHg7ZGlhbG9nSGVpZ2h0OjExMHB4O3N0YXR1czowO2RpYWxvZ1RvcDoiK3Bvc1RvcCsiO2RpYWxvZ0xlZnQ6Iitwb3NMZWZ0KTsNCglpZihmY29sb3IhPW51bGwgJiYgZmNvbG9yIT0idW5kZWZpbmVkIikgZG9jdW1lbnQuZm9ybTEuY29sb3IudmFsdWUgPSBmY29sb3I7DQp9DQoNCmZ1bmN0aW9uIFNob3dIaWRlKG9iam5hbWUpew0KICAgIHZhciBvYmogPSAkT2JqKG9iam5hbWUpOw0KICAgIGlmKG9iai5zdHlsZS5kaXNwbGF5ID09ICJibG9jayIgfHwgb2JqLnN0eWxlLmRpc3BsYXkgPT0gIiIpeyAgb2JqLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7IH0NCiAgICBlbHNleyAgb2JqLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOyB9DQp9DQoNCmZ1bmN0aW9uIFNob3dPYmoob2JqbmFtZSl7DQogICB2YXIgb2JqID0gJE9iaihvYmpuYW1lKTsNCiAgIG9iai5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCn0NCg0KZnVuY3Rpb24gSGlkZU9iaihvYmpuYW1lKXsNCiAgIHZhciBvYmogPSAkT2JqKG9iam5hbWUpOw0KICAgb2JqLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQp9DQoNCmZ1bmN0aW9uIFNob3dJdGVtMSgpew0KICBTaG93T2JqKCdoZWFkMScpOyBTaG93T2JqKCduZWVkc2V0Jyk7IEhpZGVPYmooJ2hlYWQyJyk7IEhpZGVPYmooJ2Fkc2V0Jyk7DQp9DQoNCmZ1bmN0aW9uIFNob3dJdGVtMigpew0KICBTaG93T2JqKCdoZWFkMicpOyBTaG93T2JqKCdhZHNldCcpOyBIaWRlT2JqKCdoZWFkMScpOyBIaWRlT2JqKCduZWVkc2V0Jyk7DQp9DQoNCmZ1bmN0aW9uIFNlZVBpYyhpbWcsZil7DQogICBpZiAoIGYudmFsdWUgIT0gIiIgKSB7IGltZy5zcmMgPSBmLnZhbHVlOyB9DQp9DQoNCmZ1bmN0aW9uIFNlZVBpY05ldyhpbWdkaWQsZikgew0KCSAgaWYoZi52YWx1ZT09JycpIHJldHVybiA7DQoJCXZhciBuZXdQcmV2aWV3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW1nZGlkKTsNCgkJbmV3UHJldmlldy5maWx0ZXJzLml0ZW0oJ0RYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXInKS5zcmMgPSBmLnZhbHVlOw0KCQluZXdQcmV2aWV3LnN0eWxlLndpZHRoID0gJzE1MHB4JzsNCgkJbmV3UHJldmlldy5zdHlsZS5oZWlnaHQgPSAnMTAwcHgnOw0KfQ0KDQpmdW5jdGlvbiBTZWxlY3RGbGFzaCgpew0KICAgaWYoZG9jdW1lbnQuYWxsKXsNCiAgICAgdmFyIHBvc0xlZnQgPSB3aW5kb3cuZXZlbnQuY2xpZW50WS0xMDA7DQogICAgIHZhciBwb3NUb3AgPSB3aW5kb3cuZXZlbnQuY2xpZW50WC00MDA7DQogICB9DQogICBlbHNlew0KICAgICB2YXIgcG9zTGVmdCA9IDEwMDsNCiAgICAgdmFyIHBvc1RvcCA9IDEwMDsNCiAgIH0NCiAgIHdpbmRvdy5vcGVuKCJ1cGxvYWRzX3NlbGVjdC5waHA/bWVkaWF0eXBlPTImZj1mb3JtMS5mbGFzaHVybCIsICJwb3BVcEZsYXNoV2luIiwgInNjcm9sbGJhcnM9eWVzLHJlc2l6YWJsZT15ZXMsc3RhdGViYXI9bm8sd2lkdGg9NTAwLGhlaWdodD0zNTAsbGVmdD0iK3Bvc0xlZnQrIiwgdG9wPSIrcG9zVG9wKTsNCn0NCg0KZnVuY3Rpb24gU2VsZWN0TWVkaWEoZm5hbWUpew0KICAgaWYoZG9jdW1lbnQuYWxsKXsNCiAgICAgdmFyIHBvc0xlZnQgPSB3aW5kb3cuZXZlbnQuY2xpZW50WS0xMDA7DQogICAgIHZhciBwb3NUb3AgPSB3aW5kb3cuZXZlbnQuY2xpZW50WC00MDA7DQogICB9DQogICBlbHNlew0KICAgICB2YXIgcG9zTGVmdCA9IDEwMDsNCiAgICAgdmFyIHBvc1RvcCA9IDEwMDsNCiAgIH0NCiAgIHdpbmRvdy5vcGVuKCJ1cGxvYWRzX3NlbGVjdC5waHA/bWVkaWF0eXBlPTMmZj0iK2ZuYW1lLCAicG9wVXBGbGFzaFdpbiIsICJzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9eWVzLHN0YXRlYmFyPW5vLHdpZHRoPTUwMCxoZWlnaHQ9MzUwLGxlZnQ9Iitwb3NMZWZ0KyIsIHRvcD0iK3Bvc1RvcCk7DQp9DQoNCmZ1bmN0aW9uIFNlbGVjdFNvZnQoZm5hbWUpew0KICAgaWYoZG9jdW1lbnQuYWxsKXsNCiAgICAgdmFyIHBvc0xlZnQgPSB3aW5kb3cuZXZlbnQuY2xpZW50WS0xMDA7DQogICAgIHZhciBwb3NUb3AgPSB3aW5kb3cuZXZlbnQuY2xpZW50WC00MDA7DQogICB9DQogICBlbHNlew0KICAgICB2YXIgcG9zTGVmdCA9IDEwMDsNCiAgICAgdmFyIHBvc1RvcCA9IDEwMDsNCiAgIH0NCiAgIHdpbmRvdy5vcGVuKCJ1cGxvYWRzX3NlbGVjdC5waHA/bWVkaWF0eXBlPTQmZj0iK2ZuYW1lLCAicG9wVXBJbWFnZXNXaW4iLCAic2Nyb2xsYmFycz15ZXMscmVzaXphYmxlPXllcyxzdGF0ZWJhcj1ubyx3aWR0aD02MDAsaGVpZ2h0PTQwMCxsZWZ0PSIrcG9zTGVmdCsiLCB0b3A9Iitwb3NUb3ApOw0KfQ0KDQpmdW5jdGlvbiBTZWxlY3RJbWFnZShmbmFtZSxzdHlwZSl7DQogICBpZihkb2N1bWVudC5hbGwpew0KICAgICB2YXIgcG9zTGVmdCA9IHdpbmRvdy5ldmVudC5jbGllbnRZLTEwMDsNCiAgICAgdmFyIHBvc1RvcCA9IHdpbmRvdy5ldmVudC5jbGllbnRYLTQwMDsNCiAgIH0NCiAgIGVsc2V7DQogICAgIHZhciBwb3NMZWZ0ID0gMTAwOw0KICAgICB2YXIgcG9zVG9wID0gMTAwOw0KICAgfQ0KICAgaWYoIWZuYW1lKSBmbmFtZSA9ICdmb3JtMS5waWNuYW1lJzsNCiAgIGlmKCFzdHlwZSkgc3R5cGUgPSAnJzsNCiAgIHdpbmRvdy5vcGVuKCJ1cGxvYWRzX3NlbGVjdC5waHA/bWVkaWF0eXBlPTEmZj0iK2ZuYW1lKyImaW1nc3RpY2s9IitzdHlwZSwgInBvcFVwSW1hZ2VzV2luIiwgInNjcm9sbGJhcnM9eWVzLHJlc2l6YWJsZT15ZXMsc3RhdGViYXI9bm8sd2lkdGg9NjAwLGhlaWdodD00MDAsbGVmdD0iK3Bvc0xlZnQrIiwgdG9wPSIrcG9zVG9wKTsNCn0NCg0KZnVuY3Rpb24gU2VsZWN0SW1hZ2VOKGZuYW1lLHN0eXBlLHZuYW1lKXsNCiAgIGlmKGRvY3VtZW50LmFsbCl7DQogICAgIHZhciBwb3NMZWZ0ID0gd2luZG93LmV2ZW50LmNsaWVudFktMTAwOw0KICAgICB2YXIgcG9zVG9wID0gd2luZG93LmV2ZW50LmNsaWVudFgtNDAwOw0KICAgfQ0KICAgZWxzZXsNCiAgICAgdmFyIHBvc0xlZnQgPSAxMDA7DQogICAgIHZhciBwb3NUb3AgPSAxMDA7DQogICB9DQogICBpZighZm5hbWUpIGZuYW1lID0gJ2Zvcm0xLnBpY25hbWUnOw0KICAgaWYoIXN0eXBlKSBzdHlwZSA9ICcnOw0KICAgd2luZG93Lm9wZW4oInVwbG9hZHNfc2VsZWN0LnBocD9tZWRpYXR5cGU9MSZmPSIrZm5hbWUrIiZpbWdzdGljaz0iK3N0eXBlKyImdj0iK3ZuYW1lLCAicG9wVXBJbWFnZXNXaW4iLCAic2Nyb2xsYmFycz15ZXMscmVzaXphYmxlPXllcyxzdGF0ZWJhcj1ubyx3aWR0aD02MDAsaGVpZ2h0PTQwMCxsZWZ0PSIrcG9zTGVmdCsiLCB0b3A9Iitwb3NUb3ApOw0KfQ0KDQpmdW5jdGlvbiBTZWxlY3RLZXl3b3JkcyhmKXsNCiAgIGlmKGRvY3VtZW50LmFsbCl7DQogICAgIHZhciBwb3NMZWZ0ID0gd2luZG93LmV2ZW50LmNsaWVudFktMTAwOw0KICAgICB2YXIgcG9zVG9wID0gd2luZG93LmV2ZW50LmNsaWVudFgtNDAwOw0KICAgfQ0KICAgZWxzZXsNCiAgICAgdmFyIHBvc0xlZnQgPSAxMDA7DQogICAgIHZhciBwb3NUb3AgPSAxMDA7DQogICB9DQogIHdpbmRvdy5vcGVuKCJhcnRpY2xlX2tleXdvcmRzX3NlbGVjdC5waHA/Zj0iK2YsICJwb3BVcGt3V2luIiwgInNjcm9sbGJhcnM9eWVzLHJlc2l6YWJsZT15ZXMsc3RhdGViYXI9bm8sd2lkdGg9NjAwLGhlaWdodD00NTAsbGVmdD0iK3Bvc0xlZnQrIiwgdG9wPSIrcG9zVG9wKTsNCn0NCg0KZnVuY3Rpb24gSW5pdFBhZ2UoKXsNCiAgIHZhciBzZWxzb3VyY2UgPSAkT2JqKCdzZWxzb3VyY2UnKTsNCiAgIHZhciBzZWx3cml0ZXIgPSAkT2JqKCdzZWx3cml0ZXInKTsNCiAgIGlmKHNlbHNvdXJjZSl7IHNlbHNvdXJjZS5vbm1vdXNlZG93bj1mdW5jdGlvbihlKXsgU2VsZWN0U291cmNlKGUpOyB9IH0NCiAgIGlmKHNlbHdyaXRlcil7IHNlbHdyaXRlci5vbm1vdXNlZG93bj1mdW5jdGlvbihlKXsgU2VsZWN0V3JpdGVyKGUpOyB9IH0NCn0NCg0KZnVuY3Rpb24gT3Blbk15V2luKHN1cmwpew0KICAgd2luZG93Lm9wZW4oc3VybCwgInBvcFVwTXlXaW4iLCAic2Nyb2xsYmFycz15ZXMscmVzaXphYmxlPXllcyxzdGF0ZWJhcj1ubyx3aWR0aD01MDAsaGVpZ2h0PTM1MCxsZWZ0PTIwMCwgdG9wPTEwMCIpOw0KfQ0KDQpmdW5jdGlvbiBQdXRTb3VyY2Uoc3RyKXsNCgl2YXIgb3NvdXJjZSA9ICRPYmooJ3NvdXJjZScpOw0KCWlmKG9zb3VyY2UpIG9zb3VyY2UudmFsdWUgPSBzdHI7DQp9DQoNCmZ1bmN0aW9uIFB1dFdyaXRlcihzdHIpew0KCXZhciBvd3JpdGVyID0gJE9iaignd3JpdGVyJyk7DQoJaWYob3dyaXRlcikgb3dyaXRlci52YWx1ZSA9IHN0cjsNCn0NCg0KZnVuY3Rpb24gU2VsZWN0U291cmNlKGUpew0KCUxvYWROZXdEaXYoZSwnYXJ0aWNsZV9zZWxlY3Rfc3cucGhwP3Q9c291cmNlJms9OCcsJ19teXNvdXJjZScpOw0KfQ0KDQpmdW5jdGlvbiBTZWxlY3RXcml0ZXIoZSl7DQoJTG9hZE5ld0RpdihlLCdhcnRpY2xlX3NlbGVjdF9zdy5waHA/dD13cml0ZXImaz04JywnX215d3JpdGVyJyk7DQp9DQoNCmZ1bmN0aW9uIExvYWROZXdEaXYoZSxzdXJsLG9uYW1lKXsNCglpZigkTmF2KCk9PSdJRScpeyB2YXIgcG9zTGVmdCA9IHdpbmRvdy5ldmVudC5jbGllbnRYLTIwOyB2YXIgcG9zVG9wID0gd2luZG93LmV2ZW50LmNsaWVudFktMjA7IH0NCiAgZWxzZXsgdmFyIHBvc0xlZnQgPSBlLnBhZ2VYLTIwOyB2YXIgcG9zVG9wID0gZS5wYWdlWS0yMDsgfQ0KICB2YXIgbmV3b2JqID0gJE9iaihvbmFtZSk7DQogIGlmKCFuZXdvYmopew0KICAJbmV3b2JqID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElWIik7DQogICAgbmV3b2JqLmlkID0gb25hbWU7DQogICAgbmV3b2JqLnN0eWxlLnBvc2l0aW9uPSdhYnNvbHV0ZSc7DQogICAgbmV3b2JqLmNsYXNzTmFtZSA9ICJkbGciOw0KICAgIG5ld29iai5zdHlsZS50b3AgPSBwb3NUb3A7DQogICAgbmV3b2JqLnN0eWxlLmxlZnQgPSBwb3NMZWZ0Ow0KICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3b2JqKTsNCiAgfQ0KICBlbHNlew0KICAJbmV3b2JqLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KICB9DQogIGlmKG5ld29iai5pbm5lckhUTUwubGVuZ3RoPDEwKXsNCiAgICAgdmFyIG15YWpheCA9IG5ldyBEZWRlQWpheChuZXdvYmopOyBteWFqYXguU2VuZEdldChzdXJsKTsNCiAgfQ0KfQ0KDQpmdW5jdGlvbiBTaG93VXJsVHIoKXsNCgl2YXIganVtcFRlc3QgPSAkT2JqKCdpc2p1bXAnKTsNCgl2YXIganRyID0gJE9iaigncmVkaXJlY3R1cmx0cicpOw0KCWlmKGp1bXBUZXN0LmNoZWNrZWQpIGp0ci5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCgllbHNlIGp0ci5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KfQ0KDQpmdW5jdGlvbiBTaG93VXJsVHJFZGl0KCl7DQoJU2hvd1VybFRyKCk7DQoJdmFyIGp1bXBUZXN0ID0gJE9iaignaXNqdW1wJyk7DQoJdmFyIHJ1cmwgPSAkT2JqKCdyZWRpcmVjdHVybCcpOw0KCWlmKCFqdW1wVGVzdC5jaGVja2VkKSBydXJsLnZhbHVlPSIiOw0KfQ0KDQpmdW5jdGlvbiBDa1JlbW90ZShja25hbWUsZm5hbWUpew0KCXZhciBja0JveCA9ICRPYmooY2tuYW1lKTsNCgl2YXIgZmlsZUJveCA9ICRPYmooZm5hbWUpOw0KCWlmKGNrQm94LmNoZWNrZWQpew0KCQlmaWxlQm94LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogIH1lbHNlew0KCQlmaWxlQm94LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KCX0NCn0NCg0KLS0+
77u/Lyror4TliIbmlYjmnpwqLw0KJChmdW5jdGlvbigpew0KCXZhciBzZXR0aW5ncyA9IHsNCgkJYWZ0ZXJfY2xpY2s6ICAkKCJ1bC5yYXRpbmcgbGkgYSIpLmNsaWNrKGZ1bmN0aW9uKCkgeyQodGhpcykuZW5hYmxlZD0gZmFsc2U7fSkNCgl9OyANCgkNCgkvL+mAmui/h+S/ruaUueagt+W8j+adpeaYvuekuuS4jeWQjOeahOaYn+e6pw0KICAgICQoInVsLnJhdGluZyBsaSBhIikuY2xpY2soZnVuY3Rpb24oKXsNCgkgICAgIHZhciB0aXRsZSA9ICQodGhpcykuYXR0cigidGl0bGUiKTsNCgkgICAgIC8vYWxlcnQoIuaCqOe7meatpOS5pueahOivhOWIhuaYr++8miIrdGl0bGUpOw0KCQkgdmFyIGNsID0gJCh0aGlzKS5wYXJlbnQoKS5hdHRyKCJjbGFzcyIpOw0KCQkgJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1vdmVDbGFzcygpLmFkZENsYXNzKCJyYXRpbmcgIitjbCsic3RhciIpOw0KCQkgJCh0aGlzKS5ibHVyKCk7Ly/ljrvmjonotoXpk77mjqXnmoTomZrnur/moYYNCgkJIGlmICghc2V0dGluZ3MuZW5hYmxlZCkgewkvLyDoi6XmmK/kuI3og73mm7TmlLnvvIzliJnpmpDol48NCgkJCSQoIi5yYXRpbmcgPiBsaSBhIikuaGlkZSgpOw0KCQl9DQoJCSByZXR1cm4gZmFsc2U7DQoJfSkNCgkNCgkvLyDlpITnkIblm57osIPkuovku7YNCglpZiAodHlwZW9mIHNldHRpbmdzLmFmdGVyX2NsaWNrID09ICdmdW5jdGlvbicpIHsNCgkgc2V0dGluZ3MuYWZ0ZXJfY2xpY2soZGF0YSk7DQoJfQ0KfSk=
PCEtLQ0KDQpmdW5jdGlvbiBTaG93QWRkQ2F0YWxvZygpew0KCSRPYmooJ2FkZENhdGFsb2cnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7DQp9DQoNCmZ1bmN0aW9uIENsb3NlQWRkQ2F0YWxvZygpew0KCSRPYmooJ2FkZENhdGFsb2cnKS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCn0NCg0KZnVuY3Rpb24gQ2xvc2VFZGl0Q2F0YWxvZygpew0KCSRPYmooJ2VkaXRDYXRhbG9nJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7DQp9DQoNCmZ1bmN0aW9uIERlbENhdGFsb2coY2lkKXsNCglpZih3aW5kb3cuY29uZmlybSgixOPIt8q10qrJvrP91eK49rfWwODDtKO/IikpDQoJew0KCQlsb2NhdGlvbi5ocmVmPSdzdG9yeV9jYXRhbG9nLnBocD9jYXRpZD0nK2NpZCsnJmFjdGlvbj1kZWwnOw0KCX0NCn0NCg0KZnVuY3Rpb24gRGVsU3RvcnkoYmlkKXsNCglpZih3aW5kb3cuY29uZmlybSgixOPIt8q10qrJvrP91eKxvs28yunDtKO/Iikpew0KCQlsb2NhdGlvbi5ocmVmPSdzdG9yeV9kby5waHA/YmlkPScrYmlkKycmYWN0aW9uPWRlbGJvb2snOw0KCX0NCn0NCg0KZnVuY3Rpb24gRGVsU3RvcnlDb250ZW50KGNpZCl7DQoJaWYod2luZG93LmNvbmZpcm0oIsm+s/3E2sjduvPVwr3atcTG5Mv8xNrI3cXFwdDQ8rrFsru74beiyfqx5Luvo6xcclxu1eK/ycTctbzWwrncwO277MLSo6zE48i3yrXSqsm+s/3V4saqxNrI3cO0o78iKSl7DQoJCWxvY2F0aW9uLmhyZWY9J3N0b3J5X2RvLnBocD9jaWQ9JytjaWQrJyZhY3Rpb249ZGVsY29udGVudCc7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBDbG9zZUxheWVyKGxheWVyaWQpew0KCSRPYmoobGF5ZXJpZCkuc3R5bGUuZGlzcGxheT0nbm9uZSc7DQp9DQoNCi8v1KTAwMTayN0NCmZ1bmN0aW9uIFByZVZpZXdDdChjaWQsYm9va3R5cGUpew0KCWlmKGJvb2t0eXBlPT0wKXsNCgkJd2luZG93Lm9wZW4oIi4uL2Jvb2svc3RvcnkucGhwP2lkPSIrY2lkKTsNCgl9ZWxzZXsNCgkJd2luZG93Lm9wZW4oIi4uL2Jvb2svc2hvdy1waG90by5waHA/aWQ9IitjaWQpOw0KCX0NCn0NCg0KLy+x4LytwLjEvw0KZnVuY3Rpb24gRWRpdENhdGFsb2coY2lkKXsNCgkkT2JqKCdlZGl0Q2F0YWxvZycpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsNCgl2YXIgbXlhamF4ID0gbmV3IERlZGVBamF4KCRPYmooJ2VkaXRDYXRhbG9nQm9keScpLGZhbHNlLHRydWUsIiIsIiIsIsfrydS68qOs1f3U2tTYyOsuLi4iKTsNCglteWFqYXguU2VuZEdldDIoJ3N0b3J5X2NhdGFsb2cucGhwP2NhdGlkPScrY2lkKycmYWN0aW9uPWVkaXRsb2FkJyk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCg0KLy+x4Lyt1cK92g0KZnVuY3Rpb24gRWRpdENoYXB0ZXIoY2lkKXsNCgkkT2JqKCdlZGl0Y2hhcHRlcicpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsNCgl2YXIgY2hhcHRlcmlkID0gY2lkOw0KCXZhciBjaGFwdGVybmFtZSA9ICRPYmooJ2NoYXB0ZXJuYW1lXycrY2lkKS52YWx1ZTsNCgl2YXIgY2hhcG51bSA9ICRPYmooJ2NoYXBudW1fJytjaWQpLnZhbHVlOw0KCXZhciBteWFqYXggPSBuZXcgRGVkZUFqYXgoJE9iaignZWRpdGNoYXB0ZXInKSxmYWxzZSx0cnVlLCIiLCIiLCLH68nUuvKjrNX91Nq0psDtLi4uIik7DQoNCgkvL3V0ZjgNCglteWFqYXguQWRkS2V5VXRmOCgnY2lkJyxjaWQpOw0KCW15YWpheC5BZGRLZXlVdGY4KCdjaGFwdGVybmFtZScsY2hhcHRlcm5hbWUpOw0KCW15YWpheC5BZGRLZXlVdGY4KCdjaGFwbnVtJyxjaGFwbnVtKTsNCglteWFqYXguQWRkS2V5VXRmOCgnYWN0aW9uJywnZWRpdENoYXB0ZXInKTsNCglteWFqYXguU2VuZFBvc3QyKCdzdG9yeV9kby5waHAnKTsNCg0KCS8qDQoJLy9nYmsNCglteWFqYXguU2VuZEdldDIoJ3N0b3J5X2RvLnBocD9jaWQ9JytjaWQrJyZjaGFwdGVybmFtZT0nK2NoYXB0ZXJuYW1lKycmY2hhcG51bT0nK2NoYXBudW0rJyZhY3Rpb249ZWRpdENoYXB0ZXInKTsNCgkqLw0KDQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCg0KLy/NvMrp1cK92qOst7TP8tGh1PENCmZ1bmN0aW9uIFJlU2VsQ2hhcHRlcigpew0KCXZhciBlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnaWRzW10nKTsNCglmb3IodmFyIGk9MDtpPGVtcy5sZW5ndGg7aSsrKXsNCgkJaWYoIWVtc1tpXS5jaGVja2VkKSBlbXNbaV0uY2hlY2tlZCA9IHRydWU7DQoJCWVsc2UgZW1zW2ldLmNoZWNrZWQgPSBmYWxzZTsNCgl9DQp9DQoNCi8vyb6z/dX71cK92s28yunE2sjdDQovKmZ1bmN0aW9uIERlbFN0b3J5Q2hhcHRlcihjaWQpew0KCWlmKHdpbmRvdy5jb25maXJtKCLJvrP91cK92rvhyb6z/dXCvdrPwrXEy/nT0MTayN2jrMTjyLfKtdKqyb6z/cO0o78iKSl7DQoJCWxvY2F0aW9uLmhyZWY9J3N0b3J5X2RvLnBocD9jaWQ9JytjaWQrJyZhY3Rpb249ZGVsQ2hhcHRlcic7DQoJfQ0KfQ0KKi8NCi8v1Pa80828yum1xLzssukNCmZ1bmN0aW9uIGNoZWNrU3VibWl0QWRkKCkNCnsNCiAgaWYoZG9jdW1lbnQuZm9ybTEuY2F0aWQudmFsdWU9PTApew0KCSAgIGFsZXJ0KCLH69Gh1PHBrNTYxNrI3bXEwLjEv6OhIik7DQoJICAgZG9jdW1lbnQuZm9ybTEuYm9va25hbWUuZm9jdXMoKTsNCgkgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgaWYoZG9jdW1lbnQuZm9ybTEuYm9va25hbWUudmFsdWU9PSIiKXsNCgkgICBhbGVydCgiwazU2M28yunD+7PGsrvE3M6qv9WjoSIpOw0KCSAgIGRvY3VtZW50LmZvcm0xLmJvb2tuYW1lLmZvY3VzKCk7DQoJICAgcmV0dXJuIGZhbHNlOw0KICB9DQp9DQoNCi8v1Pa809Chy7XE2sjdtcS87LLpDQpmdW5jdGlvbiBjaGVja1N1Ym1pdEFkZEN0KCkNCnsNCglpZihkb2N1bWVudC5mb3JtMS50aXRsZS52YWx1ZT09MCl7DQoJICAgYWxlcnQoIs7E1cKx6szisrvE3M6qv9WjoSIpOw0KCSAgIGRvY3VtZW50LmZvcm0xLnRpdGxlLmZvY3VzKCk7DQoJICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGlmKGRvY3VtZW50LmZvcm0xLmNoYXB0ZXJpZC5zZWxlY3RlZEluZGV4PT0tMSAmJiBkb2N1bWVudC5mb3JtMS5jaGFwdGVybmV3LnZhbHVlPT0nJyl7DQoJICAgYWxlcnQoIs7E1cLL+cr01cK92rrN0MLVwr3aw/uzxrK7xNzNrMqxzqq/1aOhIik7DQoJICAgcmV0dXJuIGZhbHNlOw0KICB9DQp9DQoNCi8v1Pa808L+u63E2sjdtcS87LLpDQpmdW5jdGlvbiBjaGVja1N1Ym1pdEFkZFBob3RvKCkNCnsNCiAgaWYoZG9jdW1lbnQuZm9ybTEuY2hhcHRlcmlkLnNlbGVjdGVkSW5kZXg9PS0xICYmIGRvY3VtZW50LmZvcm0xLmNoYXB0ZXJuZXcudmFsdWU9PScnKXsNCgkgICBhbGVydCgizsTVwsv5yvTVwr3aus3QwtXCvdrD+7PGsrvE3M2syrHOqr/Vo6EiKTsNCgkgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgZG9jdW1lbnQuZm9ybTEucGhvdG9udW0udmFsdWUgPSBlbmROdW07DQp9DQoNCi8vz9TKvtGh1PG/8tPr0MLU9tXCvdrRoc/uDQpmdW5jdGlvbiBTaG93SGlkZVNlbENoYXB0ZXIoc2VsZmllbGQsbmV3ZmllbGQpDQp7DQoJaWYoZG9jdW1lbnQuZm9ybTEuYWRkY2hhcHRlci5jaGVja2VkKXsNCgkJJE9iaihzZWxmaWVsZCkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCgkJJE9iaihuZXdmaWVsZCkuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7DQoJfWVsc2V7DQoJCSRPYmooc2VsZmllbGQpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KCQkkT2JqKG5ld2ZpZWxkKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KCX0NCn0NCg0KLS0+
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogbGlzdC5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vaW5jbHVkZS9jb21tb24uaW5jLnBocCIpOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicuL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAnKTsNCiRpZCA9IGludHZhbCgkaWQpOw0KaWYoZW1wdHkoJGlkKSkNCnsNCiAgICBQYXJhbUVycm9yKCk7DQp9DQokYnYgPSBuZXcgQm9va1ZpZXcoJGlkLCAnY2F0YWxvZycpOw0KJGJ2LT5EaXNwbGF5KCk7DQokYnYtPkNsb3NlKCk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogbG9naW5zdGEucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCmhlYWRlcigiUHJhZ21hOm5vLWNhY2hlXHJcbiIpOw0KaGVhZGVyKCJDYWNoZS1Db250cm9sOm5vLWNhY2hlXHJcbiIpOw0KaGVhZGVyKCJFeHBpcmVzOjBcclxuIik7DQpoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiIpOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLy4uL2luY2x1ZGUvY29tbW9uLmluYy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiAiL21lbWJlcmxvZ2luLmNsYXNzLnBocCIpOw0KJGNmZ19tbCA9IG5ldyBNZW1iZXJMb2dpbigpOw0KaWYoZW1wdHkoJGNmZ19tbC0+TV9JRCkpDQp7DQogICAgZWNobyAixPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0nJGNmZ19tZW1iZXJ1cmwvbG9naW4ucGhwP2dvdXJsPSRjZmdfY21zdXJsL2Jvb2snPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSd7JGNmZ19tZW1iZXJ1cmx9L2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyc+16Ky4TwvYT5cclxuIjsNCiAgICBleGl0KCk7DQp9DQo/Pg0KxOO6w6O6PGZvbnQgY29sb3I9JyMyRDc4RUEnPiA8P3BocCBlY2hvICRjZmdfbWwtPk1fVXNlck5hbWU7ID8+IDwvZm9udD6jrLu20621x8K8DQo8YSBocmVmPSI8P3BocCBlY2hvICRjZmdfbWVtYmVydXJsOyA/Pi9teXN0b3cucGhwIj7O0rXEytWy2DwvYT4gfA0KPGEgaHJlZj0iPD9waHAgZWNobyAkY2ZnX21lbWJlcnVybDsgPz4vaW5kZXgucGhwIj6/2NbGw+aw5TwvYT4gfA0KPGEgaHJlZj0iPD9waHAgZWNobyAkY2ZnX21lbWJlcnVybDsgPz4vaW5kZXhfZG8ucGhwP2ZtZG89bG9naW4mZG9wb3N0PWV4aXQiPs3Ls/bPtc2zPC9hPg==
PD9waHANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi8uLi9tZW1iZXIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuICIvZGF0YWxpc3RjcC5jbGFzcy5waHAiKTsNCnNldGNvb2tpZSgiRU5WX0dPQkFDS19VUkwiLCAkZGVkZU5vd3VybCwgdGltZSgpKzM2MDAsIi8iKTsNCkNoZWNrUmFuaygwLCAwKTsNCiRtZW51dHlwZSA9ICdteWRlZGUnOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCmlmKCFpc3NldCgkY2F0aWQpKSAkY2F0aWQgPSAwOw0KDQppZighaXNzZXQoJGtleXdvcmQpKSAka2V5d29yZCA9ICIiOw0KDQppZighaXNzZXQoJG9yZGVyYnkpKSAkb3JkZXJieSA9IDA7DQoNCmlmKCFpc3NldCgkY2lkKSkgJGNpZCA9IDA7DQoNCg0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgYXNjIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQp3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQp7DQogICAgaWYoJHJvd1sncGlkJ109PTApDQogICAgew0KICAgICAgICAkYnR5cGVzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRzdHlwZXNbJHJvd1sncGlkJ11dWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgICRyYW5rc1skcm93WydpZCddXSA9ICRyb3dbJ3JhbmsnXTsNCn0NCiRhZGRxdWVyeSA9ICIiOw0KJG9yZGVyYnkgPSAiIG9yZGVyIGJ5IGIuYmlkIGRlc2MgIjsNCmlmKCRjYXRpZCE9MCkNCnsNCiAgICAkYWRkcXVlcnkgLj0gIiBBbmQgKGIuYmNhdGlkPSckY2F0aWQnIE9yIGIuY2F0aWQ9JyRjYXRpZCcpICI7DQp9DQppZigka2V5d29yZCE9IiIpDQp7DQogICAgJGFkZHF1ZXJ5IC49ICIgQW5kIChiLmJvb2tuYW1lIGxpa2UgJyUka2V5d29yZCUnIE9yIGIuYXV0aG9yIGxpa2UgJyUka2V5d29yZCUnKSAiOw0KfQ0KJHF1ZXJ5ID0gIg0KICAgU0VMRUNUIGIuYmlkLGIuY2F0aWQsYi5ib29rbmFtZSxiLmJvb2t0eXBlLGIubGl0cGljLGIucG9zdG51bSxiLnNlbmRkYXRlLGIuaXNjaGVjaywgYy5pZCBBUyBjaWQsYy5jbGFzc25hbWUgRlJPTSAjQF9fc3RvcnlfYm9va3MgYg0KICAgTEVGVCBKT0lOICNAX19zdG9yeV9jYXRhbG9nIGMgb24gYy5pZCA9IGIuY2F0aWQgV0hFUkUgbWlkPXskY2ZnX21sLT5NX0lEfSBBTkQgYi5iaWQ+MCAkYWRkcXVlcnkgJG9yZGVyYnkNCiI7DQokZGxpc3QgPSBuZXcgRGF0YUxpc3RDUCgpOw0KJGRsaXN0LT5wYWdlU2l6ZSA9IDIwOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImtleXdvcmQiLCAka2V5d29yZCk7DQokZGxpc3QtPlNldFBhcmFtZXRlcigiY2F0aWQiLCAkY2lkKTsNCiRkbGlzdC0+U2V0UGFyYW1ldGVyKCJvcmRlcmJ5IiwgJG9yZGVyYnkpOw0KJGRsaXN0LT5TZXRUZW1wbGF0ZShkaXJuYW1lKF9fRklMRV9fKS4gIi90ZW1wbGV0cy9ib29rL3N0b3J5X2Jvb2tzLmh0bSIpOw0KJGRsaXN0LT5TZXRTb3VyY2UoJHF1ZXJ5KTsNCiRkbGlzdC0+RGlzcGxheSgpOw0KJGRsaXN0LT5DbG9zZSgpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc2VhcmNoLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvLi4vaW5jbHVkZS9jb21tb24uaW5jLnBocCIpOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAnL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAnKTsNCiRrd3MgPSBBcnJheSgpOw0KaWYoIWVtcHR5KCRpZCkpICRrd3NbJ2lkJ10gPSBpbnR2YWwoJGlkKTsNCg0KaWYoIWVtcHR5KCRrZXl3b3JkKSkgJGt3c1sna2V5d29yZCddID0gaHRtbDJ0ZXh0KCRrZXl3b3JkKTsNCg0KaWYoIWVtcHR5KCRhdXRob3IpKSAka3dzWydhdXRob3InXSA9IGh0bWwydGV4dCgkYXV0aG9yKTsNCg0KaWYoY291bnQoJGt3cyk9PTApIFBhcmFtRXJyb3IoKTsNCg0KJGJ2ID0gbmV3IEJvb2tWaWV3KDAsICdzZWFyY2gnLCAka3dzKTsNCiRidi0+RGlzcGxheSgpOw0KJGJ2LT5DbG9zZSgpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc2hvdy1waG90by5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLy4uL2luY2x1ZGUvY29tbW9uLmluYy5waHAiKTsNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gJy4vaW5jbHVkZS9zdG9yeS52aWV3LmNsYXNzLnBocCcpOw0KJGlkID0gaW50dmFsKCRpZCk7DQppZihlbXB0eSgkaWQpKSBQYXJhbUVycm9yKCk7DQoNCiRidiA9IG5ldyBCb29rVmlldygkaWQsJ2NvbnRlbnQnKTsNCg0KLy+87LLiyse38crVt9HNvMrpDQokZnJlZW51bSA9ICRidi0+RmllbGRzWydmcmVlbnVtJ107DQppZigkZnJlZW51bSA+IC0xKQ0Kew0KICAgIHJlcXVpcmVfb25jZShERURFSU5DLiAiL21lbWJlcmxvZ2luLmNsYXNzLnBocCIpOw0KICAgICRtbCA9IG5ldyBNZW1iZXJMb2dpbigpOw0KICAgIGlmKCRtbC0+TV9NYlR5cGUgPCAkY2ZnX2Jvb2tfZnJlZXJhbmspDQogICAgew0KICAgICAgICAkcm93ID0gJGJ2LT5kc3FsLT5HZXRPbmUoIlNFTEVDVCBjaGFwbnVtIEZST00gI0BfX3N0b3J5X2NoYXB0ZXIgV0hFUkUgaWQ9J3skYnYtPkZpZWxkc1snY2hhcHRlcmlkJ119JyAiKTsNCiAgICAgICAgJGNoYXBudW0gPSAkcm93WydjaGFwbnVtJ107DQogICAgICAgICRtZW1iZXJfZXJyID0gJyc7DQoNCiAgICAgICAgLy/It7aotbHHsMTayN3K9NPaytW30dXCvdoNCiAgICAgICAgaWYoJGNoYXBudW0gPiAkZnJlZW51bSkNCiAgICAgICAgew0KICAgICAgICAgICAgaWYoIGVtcHR5KCRtbC0+TV9JRCkgKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRtZW1iZXJfZXJyID0gIk5vTG9naW4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRyb3cgPSAkYnYtPmRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfdmlwaGlzdG9yeSBXSEVSRSBtaWQ9J3skbWwtPk1fSUR9JyAiKTsNCiAgICAgICAgICAgICAgICBpZighaXNfYXJyYXkoJHJvdykgJiYgJG1sLT5NX01vbmV5IDwgJGNmZ19ib29rX21vbmV5KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJG1lbWJlcl9lcnIgPSAiTm9Fbm91Z2hNb25leSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvL8ioz9607c7zDQogICAgICAgICAgICBpZigkbWVtYmVyX2VyciE9JycpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJHJvdyA9ICRidi0+ZHNxbC0+R2V0T25lKCJTRUxFQ1QgbWVtYmVybmFtZSBGUk9NICNAX19hcmNyYW5rIFdIRVJFIHJhbmsgPSAnJGNmZ19ib29rX2ZyZWVyYW5rJyAiKTsNCiAgICAgICAgICAgICAgICBpZighaXNfYXJyYXkoJHJvdykpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkbWVtYmVybmFtZSA9ICcnOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkbWVtYmVybmFtZSA9ICRyb3dbJ21lbWJlcm5hbWUnXTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmVxdWlyZV9vbmNlKCRjZmdfYmFzZWRpci4kY2ZnX3RlbXBsZXRzX2Rpci4nLycuJGNmZ19kZl9zdHlsZS4nL2Jvb2tfbWVtYmVyX2Vyci5odG0nKTsNCiAgICAgICAgICAgICAgICAkYnYtPkNsb3NlKCk7DQogICAgICAgICAgICAgICAgZXhpdCgpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvL7/bteMNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkcnMgPSAkYnYtPmRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIklOU0VSVCBJTlRPICNAX19zdG9yeV92aXBoaXN0b3J5KGNpZCx1aWQpIFZhbHVlcygneyRpZH0nLCd7JG1sLT5NX0lEfScpICIpOw0KICAgICAgICAgICAgICAgIGlmKCRycykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRidi0+ZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFICNAX19tZW1iZXIgU0VUIG1vbmV5PW1vbmV5LXskY2ZnX2Jvb2tfbW9uZXl9IFdIRVJFIGlkPSd7JG1sLT5NX0lEfScgIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KJGJ2LT5EaXNwbGF5KCk7DQokYnYtPkNsb3NlKCk7DQo=
PD9waHANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi8uLi9pbmNsdWRlL2NvbW1vbi5pbmMucGhwIik7DQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICcvLi4vaW5jbHVkZS9tZW1iZXJsb2dpbi5jbGFzcy5waHAnKTsNCiRiaWQgPSAoaXNzZXQoJGJpZCkgJiYgaXNfbnVtZXJpYygkYmlkKSkgPyAkYmlkIDogMDsNCiRzdGFyID0gKGlzc2V0KCRzdGFyKSAmJiBpc19udW1lcmljKCRzdGFyKSkgPyAkc3RhciA6IDA7DQppZigkYmlkID09IDAgfHwgIWluX2FycmF5KCRzdGFyLGFycmF5KCcxJywgJzInLCAnMycsICc0JywgJzUnKSkgKSBleGl0KCJFcnJvcjpXcm9uZyBiaWQgb3Igc3RhcnMscGxlYXNlIGNoZWNrIGl0ISIpOw0KJGNmZ19tbCA9IG5ldyBNZW1iZXJMb2dpbigpOw0KJG15aXAgPSBHZXRJUCgpOw0KaWYoISRjZmdfbWwtPklzTG9naW4oKSkNCnsNCiAgICAvL8jnufvTw7unw7vT0LXHwrwNCiAgICBlY2hvICLTw7unw7vT0LXHwrwhIjsNCn0NCiR1c2VybmFtZSA9ICRjZmdfbWwtPk1fVXNlck5hbWU7DQokc3FsID0gIlNFTEVDVCB0b3RhbHZvdGVzLCB0b3RhbHZhbHVlLCB2b3RlaW5mbywgdXNlZGlkcyBGUk9NICNAX19zdG9yeV9ib29rc3RhcnMgV0hFUkUgYmlkPSckYmlkJyAiOw0KJGRzcWwtPkV4ZWN1dGUoJ3FyJywkc3FsKTsNCiRudW1iZXJzID0gJGRzcWwtPkdldEFycmF5KCdxcicpOw0KJGNoZWNraWQgPSB1bnNlcmlhbGl6ZSgkbnVtYmVyc1sndXNlZGlkcyddKTsNCiRjb3VudCA9ICRudW1iZXJzWyd0b3RhbHZvdGVzJ107IA0KJGN1cnJhdGluZyA9ICRudW1iZXJzWyd0b3RhbHZhbHVlJ107IA0KJHN1bSA9ICRzdGFyKjIrJGN1cnJhdGluZzsNCigkc3VtPT0wID8gJGFkZGVkPTAgOiAkYWRkZWQ9JGNvdW50KzEpOw0KJGlkX251bSA9ICR1c2VybmFtZS4nXicuJHN0YXI7DQooKGlzX2FycmF5KCRjaGVja2lkKSkgPyBhcnJheV9wdXNoKCRjaGVja2lkLCRpZF9udW0pIDogJGNoZWNraWQ9YXJyYXkoJGlkX251bSkpOw0KJGluc2VydGlkPXNlcmlhbGl6ZSgkY2hlY2tpZCk7DQovL7SmwO3Tw7unzbbGsbXE0MXPog0KJGNoZWNraW5mbyA9IHVuc2VyaWFsaXplKCRudW1iZXJzWyd2b3RlaW5mbyddKTsNCmZvcmVhY2ggKCRjaGVja2luZm8gYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgaWYoJGtleSA9PSAkc3RhcikgJGNoZWNraW5mb1ska2V5XT0gJHZhbHVlICsgMTsNCn0NCiRhZGRpbmZvID0gc2VyaWFsaXplKCRjaGVja2luZm8pOw0KDQokc3FsID0gIlNFTEVDVCB1c2VkaWRzIEZST00gI0BfX3N0b3J5X2Jvb2tzdGFycyBXSEVSRSB1c2VkaWRzIExJS0UgJyUiLiRjZmdfbWwtPk1fVXNlck5hbWUuIiUnIEFORCBiaWQ9JyIuJGJpZC4iJyAiOw0KJGRzcWwtPkV4ZWN1dGUoJ3Z0Jywkc3FsKTsNCiR2b3RlZCA9ICRkc3FsLT5HZXRUb3RhbFJvdygndnQnKTsNCmlmKCEkdm90ZWQpDQp7DQogICAgaWYgKCRzdGFyID49IDEgJiYgJHN0YXIgPD0gNSkgeyANCiAgICAgICAgJHVwZGF0ZSA9ICJVUERBVEUgI0BfX3N0b3J5X2Jvb2tzdGFycyBTRVQgdG90YWx2b3Rlcz0nIi4kYWRkZWQuIicsIHRvdGFsdmFsdWU9JyIuJHN1bS4iJywgdm90ZWluZm89JyIuJGFkZGluZm8uIicsIHVzZWRpZHM9JyIuJGluc2VydGlkLiInIFdIRVJFIGJpZD0nJGJpZCciOw0KICAgICAgICAkcmVzdWx0ID0gJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJHVwZGF0ZSk7ICAgIA0KICAgIH0gDQp9DQplY2hvICI8ZGl2IHN0eWxlPSd3aWR0aDoxMjBweCc+s8m5psbAt9YhPC9kaXY+IjsNCg0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnkucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi8uLi9pbmNsdWRlL2NvbW1vbi5pbmMucGhwIik7DQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICcuL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAnKTsNCiRpZCA9IGludHZhbCgkaWQpOw0KaWYoZW1wdHkoJGlkKSkgUGFyYW1FcnJvcigpOw0KDQokYnYgPSBuZXcgQm9va1ZpZXcoJGlkLCAnY29udGVudCcpOw0KDQovL7zssuLKx7fxytW30c28yukNCiRhcmNyYW5rID0gJGJ2LT5GaWVsZHNbJ2FyY3JhbmsnXTsNCiRmcmVlbnVtID0gJGJ2LT5GaWVsZHNbJ2ZyZWVudW0nXTsNCmlmKCRmcmVlbnVtID4gLTEpDQp7DQogICAgcmVxdWlyZV9vbmNlKERFREVJTkMuICIvbWVtYmVybG9naW4uY2xhc3MucGhwIik7DQogICAgJG1sID0gbmV3IE1lbWJlckxvZ2luKCk7DQogICAgaWYoJG1sLT5NX1JhbmsgPCAkYXJjcmFuaykNCiAgICB7DQogICAgICAgICRyb3cgPSAkYnYtPmRzcWwtPkdldE9uZSgiU0VMRUNUIGNoYXBudW0gRlJPTSAjQF9fc3RvcnlfY2hhcHRlciBXSEVSRSBpZD0neyRidi0+RmllbGRzWydjaGFwdGVyaWQnXX0nICIpOw0KICAgICAgICAkY2hhcG51bSA9ICRyb3dbJ2NoYXBudW0nXTsNCiAgICAgICAgJG1lbWJlcl9lcnIgPSAnJzsNCg0KICAgICAgICAvL8i3tqi1scewxNrI3cr009rK1bfR1cK92g0KICAgICAgICBpZigkY2hhcG51bSA+ICRmcmVlbnVtKQ0KICAgICAgICB7DQogICAgICAgICAgICBpZihlbXB0eSgkbWwtPk1fSUQpKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRtZW1iZXJfZXJyID0gIk5vTG9naW4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRyb3cgPSAkYnYtPmRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfdmlwaGlzdG9yeSBXSEVSRSBtaWQ9J3skbWwtPk1fSUR9JyAiKTsNCiAgICAgICAgICAgICAgICBpZighaXNfYXJyYXkoJHJvdykgJiYgJG1sLT5NX01vbmV5IDwgJGNmZ19ib29rX21vbmV5KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJG1lbWJlcl9lcnIgPSAiTm9Fbm91Z2hNb25leSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy/IqM/etO3O8w0KICAgICAgICAgICAgaWYoJG1lbWJlcl9lcnIhPScnKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRyb3cgPSAkYnYtPmRzcWwtPkdldE9uZSgiU0VMRUNUIG1lbWJlcm5hbWUgRlJPTSAjQF9fYXJjcmFuayBXSEVSRSByYW5rID0gJyRhcmNyYW5rJyAiKTsNCiAgICAgICAgICAgICAgICBpZighaXNfYXJyYXkoJHJvdykpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkbWVtYmVybmFtZSA9ICcnOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkbWVtYmVybmFtZSA9ICRyb3dbJ21lbWJlcm5hbWUnXTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmVxdWlyZV9vbmNlKERFREVST09ULiAnL2Jvb2svdGVtcGxldHMvJy4kY2ZnX2RmX3N0eWxlLicvYm9va19tZW1iZXJfZXJyLmh0bScpOw0KICAgICAgICAgICAgICAgICRidi0+Q2xvc2UoKTsNCiAgICAgICAgICAgICAgICBleGl0KCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vv9u14w0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRyb3cgPSAkYnYtPmRzcWwtPkdldE9uZSgiU0VMRUNUIG1pZCBGUk9NICNAX19zdG9yeV92aXBoaXN0b3J5IFdIRVJFIGNpZCA9ICckaWQnICIpOw0KICAgICAgICAgICAgICAgIGlmKCRyb3dbJ21pZCddIT0kbWwtPk1fSUQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkcnMgPSAkYnYtPmRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIklOU0VSVCBJTlRPICNAX19zdG9yeV92aXBoaXN0b3J5KGNpZCxtaWQpIFZBTFVFUygneyRpZH0nLCd7JG1sLT5NX0lEfScpICIpOw0KICAgICAgICAgICAgICAgICAgICBpZigkcnMpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRidi0+ZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFICNAX19tZW1iZXIgU0VUIG1vbmV5PW1vbmV5LXskY2ZnX2Jvb2tfbW9uZXl9IFdIRVJFIG1pZD0neyRtbC0+TV9JRH0nICIpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KJGJ2LT5EaXNwbGF5KCk7DQokYnYtPkNsb3NlKCk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvLi4vbWVtYmVyL2NvbmZpZy5waHAiKTsNCkNoZWNrUmFuaygwLCAwKTsNCiRtZW51dHlwZSA9ICdteWRlZGUnOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCg0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayxib29rdHlwZSBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgQVNDIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQokYm9va3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICBpZigkcm93WydwaWQnXT09MCkNCiAgICB7DQogICAgICAgICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHN0eXBlc1skcm93WydwaWQnXV1bJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KICAgIGlmKCRyb3dbJ2Jvb2t0eXBlJ109PScwJykNCiAgICB7DQogICAgICAgICRib29rdHlwZXNbJHJvd1snaWQnXV0gPSAn0KHLtSc7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRib29rdHlwZXNbJHJvd1snaWQnXV0gPSAnwv67rSc7DQogICAgfQ0KfQ0KJGxhc3RpZCA9ICRyb3dbJ2lkJ107DQokbXNnID0gJyc7DQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvdGVtcGxldHMvYm9vay9zdG9yeV9hZGQuaHRtIik7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX2FjdGlvbi5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLy4uL21lbWJlci9jb25maWcucGhwIik7DQpDaGVja1JhbmsoMCwwKTsNCmluY2x1ZGVfb25jZShERURFSU5DLiAiL2ltYWdlLmZ1bmMucGhwIik7DQppbmNsdWRlX29uY2UoREVERUlOQy4gIi9veHdpbmRvdy5jbGFzcy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFTUVNQkVSLiAiL2luYy9pbmNfYXJjaGl2ZXNfZnVuY3Rpb25zLnBocCIpOw0KaWYoIWlzc2V0KCRpc2NvbW1lbmQpKSAkaXNjb21tZW5kID0gMDsNCg0KaWYoJGNhdGlkPT0wKQ0Kew0KICAgIFNob3dNc2coIsfr1ri2qM28yunL+cr0wLjEv6OhIiwgIi0xIik7DQogICAgZXhpdCgpOw0KfQ0KDQovL7vxtcO4uMC4xL8NCiRucm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfY2F0YWxvZyBXSEVSRSBpZD0nJGNhdGlkJyAiKTsNCiRiY2F0aWQgPSAkbnJvd1sncGlkJ107DQokYm9va3R5cGUgPSAkbnJvd1snYm9va3R5cGUnXTsNCiRwdWJkYXRlID0gR2V0TWtUaW1lKCRwdWJkYXRlKTsNCiRib29rbmFtZSA9IGFkZHNsYXNoZXMoY25fc3Vic3RyKHN0cmlwc2xhc2hlcygkYm9va25hbWUpLDUwKSk7DQppZigka2V5d29yZHMhPSIiKQ0Kew0KICAgICRrZXl3b3JkcyA9IHRyaW0oYWRkc2xhc2hlcyhjbl9zdWJzdHIoc3RyaXBzbGFzaGVzKCRrZXl3b3JkcyksNjApKSk7DQp9DQoNCi8vtKbA7cnPtKu1xMv1wtTNvA0KJGxpdHBpYyA9IE1lbWJlclVwbG9hZHMoJ2xpdHBpYycsJGxpdHBpYywkY2ZnX21sLT5NX0lELCdpbWFnZScsJycsJGNmZ19kZGltZ193aWR0aCwkY2ZnX2RkaW1nX2hlaWdodCxmYWxzZSk7DQokdXNlcmlwID0gZ2V0aXAoKTsNCg0KLy/X1Lav1arSqg0KaWYoJGRlc2NyaXB0aW9uPT0iIiAmJiAkY2ZnX2F1b3RfZGVzY3JpcHRpb24+MCkNCnsNCiAgICAkZGVzY3JpcHRpb24gPSBzdHJpcHNsYXNoZXMoY25fc3Vic3RyKGh0bWwydGV4dCgkYm9keSksJGNmZ19hdW90X2Rlc2NyaXB0aW9uKSk7DQogICAgJGRlc2NyaXB0aW9uID0gYWRkc2xhc2hlcygkZGVzY3JpcHRpb24pOw0KfQ0KaWYoJGNmZ19ib29rX2lmY2hlY2sgPT0gJ1knKQ0Kew0KICAgICRpc2NoZWNrID0gMDsNCn0NCmVsc2UNCnsNCiAgICAkaXNjaGVjayA9IDE7DQp9DQokdGltID0gdGltZSgpOw0KJGluUXVlcnkgPSAiDQpJTlNFUlQgSU5UTyBgI0BfX3N0b3J5X2Jvb2tzYChgY2F0aWRgLGBiY2F0aWRgLGBpc2NoZWNrYCxgYm9va3R5cGVgLGBjbGlja2AsYGJvb2tuYW1lYCwNCmBhdXRob3JgLGBtaWRgLGBsaXRwaWNgLGBwdWJkYXRlYCxgc3RhdHVzYCwNCmBsYXN0cG9zdGAsYHBvc3RudW1gLGBsYXN0ZmVlZGJhY2tgLGBmZWVkYmFja251bWAsYHdlZWtjY2AsYG1vbnRoY2NgLGB3ZWVrdXBgLGBtb250aHVwYCwNCmBkZXNjcmlwdGlvbmAsYGJvZHlgLGBrZXl3b3Jkc2AsYHVzZXJpcGAsYHNlbmRkYXRlYCApDQpWQUxVRVMgKCckY2F0aWQnLCckYmNhdGlkJywnJGlzY2hlY2snLCckYm9va3R5cGUnLCAnMCcsICckYm9va25hbWUnLA0KICckYXV0aG9yJywgJ3skY2ZnX21sLT5NX0lEfScsICckbGl0cGljJywgJyRwdWJkYXRlJywgJzAnLA0KICcwJywgJzAnLCAnMCcsICcwJywgJzAnLCAnMCcsICcwJywgJzAnLA0KICAnJGRlc2NyaXB0aW9uJyAsICckYm9keScgLCAnJGtleXdvcmRzJywgJyR1c2VyaXAnLCckdGltJyk7DQoiOw0KaWYoISRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRpblF1ZXJ5KSkNCnsNCiAgICAkZ2VyciA9ICRkc3FsLT5HZXRFcnJvcigpOw0KICAgICRkc3FsLT5DbG9zZSgpOw0KICAgIFNob3dNc2coIrDRyv2+3bGjtOa1vcr9vt2/4sqxs/a07aOsx+u87LLpo6EiLiRnZXJyLiI8aHI+Ii4kaW5RdWVyeSwiamF2YXNjcmlwdDo7Iik7DQogICAgZXhpdCgpOw0KfQ0KJGFyY0lEID0gJGRzcWwtPkdldExhc3RJRCgpOw0KDQovL8n6s8lIVE1MDQppZigkY2ZnX2Jvb2tfaWZjaGVjayA9PSAnTicpDQp7DQogICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAnLi9pbmNsdWRlL3N0b3J5LnZpZXcuY2xhc3MucGhwJyk7DQogICAgJGJ2ID0gbmV3IEJvb2tWaWV3KCRhcmNJRCwgJ2Jvb2snKTsNCiAgICAkYXJ0VXJsID0gJGJ2LT5NYWtlSHRtbCgpOw0KICAgICRidi0+Q2xvc2UoKTsNCn0NCmVsc2UNCnsNCiAgICAkYXJ0VXJsID0gIi4uL2Jvb2svYm9vay5waHA/aWQ9JGFyY0lEIjsNCn0NCg0KLy+3tbvYs8m5ptDFz6INCiRtc2cgPSAiDQqhoaGhx+vRodTxxOO1xLrz0Piy2df3o7oNCjxhIGhyZWY9J3N0b3J5X2FkZC5waHA/Y2F0aWQ9JGNhdGlkJz48dT68zND4t6KyvM28yuk8L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSckYXJ0VXJsJyB0YXJnZXQ9J19ibGFuayc+PHU+sum/tM28yuk8L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSdzdG9yeV9hZGRfY29udGVudC5waHA/Ym9va2lkPXskYXJjSUR9Jz48dT7U9rzTzbzK6cTayN08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSdteWJvb2tzLnBocCc+PHU+udzA7c28yuk8L3U+PC9hPg0KIjsNCiR3aW50aXRsZSA9ICKzybmmt6KyvM28yumjoSI7DQokd2Vjb21lX2luZm8gPSAiwazU2LncwO06OreisrzNvMrpIjsNCiR3aW4gPSBuZXcgT3hXaW5kb3coKTsNCiR3aW4tPkFkZFRpdGxlKCKzybmmt6KyvNK7sb7NvMrpo7oiKTsNCiR3aW4tPkFkZE1zZ0l0ZW0oJG1zZyk7DQokd2luZm9ybSA9ICR3aW4tPkdldFdpbmRvdygiaGFuZCIsIiZuYnNwOyIsZmFsc2UpOw0KJHdpbi0+RGlzcGxheSgpOw0KPz4=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX2NvbnRlbnQucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi8uLi9tZW1iZXIvY29uZmlnLnBocCIpOw0KQ2hlY2tSYW5rKDAsMCk7DQokbWVudXR5cGUgPSAnbXlkZWRlJzsNCmlmKCFpc3NldCgkYWN0aW9uKSkNCnsNCiAgICAkYWN0aW9uID0gJyc7DQp9DQppZihlbXB0eSgkYm9va2lkKSkNCnsNCiAgICBTaG93TXNnKCKyzsr9tO3O86OhIiwiLTEiKTsNCiAgICBleGl0KCk7DQp9DQokYm9va2luZm9zID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNhdGlkLGJjYXRpZCxib29rbmFtZSxib29rdHlwZSBGUk9NICNAX19zdG9yeV9ib29rcyBXSEVSRSBiaWQ9JyRib29raWQnIEFORCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KaWYoIWlzX2FycmF5KCRib29raW5mb3MpKQ0Kew0KICAgIFNob3dNc2coIrLOyv207c7zo6EiLCItMSIpOw0KICAgIGV4aXQoKTsNCn0NCmlmKCRib29raW5mb3NbJ2Jvb2t0eXBlJ109PTEpDQp7DQogICAgaGVhZGVyKCJsb2NhdGlvbjpzdG9yeV9hZGRfcGhvdG8ucGhwP2Jvb2tpZD17JGJvb2tpZH0iKTsNCiAgICBleGl0KCk7DQp9DQoNCi8vtsHIocv509DAuMS/DQokZHNxbC0+U2V0UXVlcnkoIlNFTEVDVCBpZCxjbGFzc25hbWUscGlkLHJhbmsgRlJPTSAjQF9fc3RvcnlfY2F0YWxvZyBPUkRFUiBCWSByYW5rIGFzYyIpOw0KJGRzcWwtPkV4ZWN1dGUoKTsNCiRyYW5rcyA9IEFycmF5KCk7DQokYnR5cGVzID0gQXJyYXkoKTsNCiRzdHlwZXMgPSBBcnJheSgpOw0Kd2hpbGUoJHJvdyA9ICRkc3FsLT5HZXRBcnJheSgpKQ0Kew0KICAgIGlmKCRyb3dbJ3BpZCddPT0wKQ0KICAgIHsNCiAgICAgICAgJGJ0eXBlc1skcm93WydpZCddXSA9ICRyb3dbJ2NsYXNzbmFtZSddOw0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgICAkc3R5cGVzWyRyb3dbJ3BpZCddXVskcm93WydpZCddXSA9ICRyb3dbJ2NsYXNzbmFtZSddOw0KICAgIH0NCiAgICAkcmFua3NbJHJvd1snaWQnXV0gPSAkcm93WydyYW5rJ107DQp9DQokbGFzdGlkID0gJHJvd1snaWQnXTsNCiRtc2cgPSAnJzsNCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNoYXBudW0sY2hhcHRlcm5hbWUgRlJPTSAjQF9fc3RvcnlfY2hhcHRlciBXSEVSRSBib29raWQ9JyRib29raWQnIEFORCBtaWQ9JyRjZmdfbWwtPk1fSUQnIE9SREVSIEJZIGNoYXBudW0gREVTQyIpOw0KJGRzcWwtPkV4ZWN1dGUoKTsNCiRjaGFwdGVycyA9IEFycmF5KCk7DQokY2hhcG51bXMgPSBBcnJheSgpOw0Kd2hpbGUoJHJvdyA9ICRkc3FsLT5HZXRBcnJheSgpKQ0Kew0KICAgICRjaGFwdGVyc1skcm93WydpZCddXSA9ICRyb3dbJ2NoYXB0ZXJuYW1lJ107DQogICAgJGNoYXBudW1zWyRyb3dbJ2lkJ11dID0gJHJvd1snY2hhcG51bSddOw0KfQ0KJGNhdGlkID0gJGJvb2tpbmZvc1snY2F0aWQnXTsNCiRiY2F0aWQgPSAkYm9va2luZm9zWydiY2F0aWQnXTsNCiRib29rbmFtZSA9ICRib29raW5mb3NbJ2Jvb2tuYW1lJ107DQokYm9va3R5cGUgPSAkYm9va2luZm9zWydib29rdHlwZSddOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiL3RlbXBsZXRzL2Jvb2svc3RvcnlfYWRkX2NvbnRlbnQuaHRtIik7DQo/Pg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX2NvbnRlbnRfYWN0aW9uLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvLi4vbWVtYmVyL2NvbmZpZy5waHAiKTsNCkNoZWNrUmFuaygwLCAwKTsNCmluY2x1ZGVfb25jZShERURFSU5DLiAiL294d2luZG93LmNsYXNzLnBocCIpOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLi9pbmNsdWRlL3N0b3J5LmZ1bmMucGhwIik7DQoNCmlmKCBlbXB0eSgkY2hhcHRlcmlkKQ0KfHwgKCFlbXB0eSgkYWRkY2hhcHRlcikgJiYgIWVtcHR5KCRjaGFwdGVybmV3KSkgKQ0Kew0KICAgIGlmKGVtcHR5KCRjaGFwdGVybmV3KSkNCiAgICB7DQogICAgICAgIFNob3dNc2coItPJ09rE47eisry1xMTayN3Du9Gh1PHVwr3ao6zPtc2zvty++LeisryjoSIsICItMSIpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KICAgICRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGJvb2tpZD0nJGJvb2tpZCcgQU5EIG1pZD0nJGNmZ19tbC0+TV9JRCcgT1JERVIgQlkgY2hhcG51bSBERVNDIik7DQogICAgaWYoaXNfYXJyYXkoJHJvdykpDQogICAgew0KICAgICAgICAkbmNoYXBudW0gPSAkcm93WydjaGFwbnVtJ10rMTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJG5jaGFwbnVtID0gMTsNCiAgICB9DQogICAgJHF1ZXJ5ID0gIklOU0VSVCBJTlRPIGAjQF9fc3RvcnlfY2hhcHRlcmAoYGJvb2tpZGAsYGNhdGlkYCxgY2hhcG51bWAsYG1pZGAsYGNoYXB0ZXJuYW1lYCxgYm9va25hbWVgKQ0KICAgICAgICAgICAgVkFMVUVTICgnJGJvb2tpZCcsICckY2F0aWQnLCAnJG5jaGFwbnVtJywgJyRjZmdfbWwtPk1fSUQnLCAnJGNoYXB0ZXJuZXcnLCckYm9va25hbWUnKTsiOw0KICAgICRycyA9ICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgaWYoJHJzKQ0KICAgIHsNCiAgICAgICAgJGNoYXB0ZXJpZCA9ICRkc3FsLT5HZXRMYXN0SUQoKTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygi1Pa809XCvdrKp7Dco6zH67zssunUrdLyo6EiLCAiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCn0NCg0KLy+78bXDuLjAuMS/DQokbnJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgV0hFUkUgaWQ9JyRjYXRpZCcgIik7DQokYmNhdGlkID0gJG5yb3dbJ3BpZCddOw0KJGJvb2t0eXBlID0gJG5yb3dbJ2Jvb2t0eXBlJ107DQppZihlbXB0eSgkYmNhdGlkKSkNCnsNCiAgICAkYmNhdGlkID0gMDsNCn0NCmlmKGVtcHR5KCRib29rdHlwZSkpDQp7DQogICAgJGJvb2t0eXBlID0gMDsNCn0NCiRhZGR0aW1lID0gdGltZSgpOw0KDQovL7G+1cLX7rrz0ru49tChy7W1xMXFwdDLs7TO0PINCiRscm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIHNvcnRpZCBGUk9NICNAX19zdG9yeV9jb250ZW50IFdIRVJFIGJvb2tpZD0nJGJvb2tpZCcgQU5EIGNoYXB0ZXJpZD0nJGNoYXB0ZXJpZCcgQU5EIG1pZD0nJGNmZ19tbC0+TV9JRCcgT1JERVIgQlkgc29ydGlkIERFU0MiKTsNCmlmKGVtcHR5KCRscm93KSkNCnsNCiAgICAkc29ydGlkID0gMTsNCn0NCmVsc2UNCnsNCiAgICAkc29ydGlkID0gJGxyb3dbJ3NvcnRpZCddKzE7DQp9DQokaW5RdWVyeSA9ICINCklOU0VSVCBJTlRPIGAjQF9fc3RvcnlfY29udGVudGAoYHRpdGxlYCxgYm9va25hbWVgLGBjaGFwdGVyaWRgLGBjYXRpZGAsYGJjYXRpZGAsYGJvb2tpZGAsYGJvb2t0eXBlYCxgc29ydGlkYCwNCmBtaWRgLGBiaWdwaWNgLGBib2R5YCxgYWRkdGltZWApDQpWQUxVRVMgKCckdGl0bGUnLCckYm9va25hbWUnLCAnJGNoYXB0ZXJpZCcsICckY2F0aWQnLCckYmNhdGlkJywgJyRib29raWQnLCckYm9va3R5cGUnLCckc29ydGlkJywgJyRjZmdfbWwtPk1fSUQnLCAnJyAsICcnLCAnJGFkZHRpbWUnKTsiOw0KaWYoISRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRpblF1ZXJ5KSkNCnsNCiAgICBTaG93TXNnKCKw0cr9vt2xo7Tmtb3K/b7dv+LKsbP2tO2jrMfrvOyy6aOhIi4kZHNxbC0+R2V0RXJyb3IoKS4kaW5RdWVyeSwiLTEiKTsNCiAgICBleGl0KCk7DQp9DQokYXJjSUQgPSAkZHNxbC0+R2V0TGFzdElEKCk7DQpXcml0ZUJvb2tUZXh0KCRhcmNJRCxhZGRzbGFzaGVzKCRib2R5KSk7DQoNCi8vuPzQws28yum1xMTayN3K/Q0KJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBjb3VudChpZCkgQVMgZGQgRnJvbSAjQF9fc3RvcnlfY29udGVudCAgV0hFUkUgYm9va2lkID0gJyRib29raWQnIEFORCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIlVQREFURSAjQF9fc3RvcnlfYm9va3MgU0VUIHBvc3RudW09J3skcm93WydkZCddfScsbGFzdHBvc3Q9JyRhZGR0aW1lJyBXSEVSRSBiaWQ9JyRib29raWQnIEFORCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KDQovL7j80MLVwr3atcTE2sjdyv0NCiRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY291bnQoaWQpIEFTIGRkIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgIFdIRVJFIGJvb2tpZCA9ICckYm9va2lkJyBBTkQgY2hhcHRlcmlkPSckY2hhcHRlcmlkJyBBTkQgbWlkPSckY2ZnX21sLT5NX0lEJyAiKTsNCiRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgI0BfX3N0b3J5X2NoYXB0ZXIgU0VUIHBvc3RudW09J3skcm93WydkZCddfScgV0hFUkUgaWQ9JyRjaGFwdGVyaWQnIEFORCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KDQovL8n6s8lIVE1MDQovLyRhcnRVcmwgPSBNYWtlQXJ0KCRhcmNJRCx0cnVlKTsNCmlmKCFpc3NldCgkYXJ0VXJsKSB8fCAkYXJ0VXJsPT0iIikgJGFydFVybCA9ICRjZmdfY21zcGF0aC4gIi9ib29rL3N0b3J5LnBocD9pZD0kYXJjSUQiOw0KDQoNCi8vt7W72LPJuabQxc+iDQokbXNnID0gIg0KoaGhocfr0aHU8cTjtcS689D4stnX96O6DQo8YSBocmVmPSdzdG9yeV9hZGRfY29udGVudC5waHA/Ym9va2lkPXskYm9va2lkfSc+PHU+vMzQ+Leisrw8L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSckYXJ0VXJsJyB0YXJnZXQ9J19ibGFuayc+PHU+1KTAwMTayN08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPScuLi9ib29rL2Jvb2sucGhwP2lkPSRib29raWQnIHRhcmdldD0nX2JsYW5rJz48dT7UpMDAzbzK6TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J3N0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPXskYm9va2lkfSc+PHU+udzA7cv509DE2sjdPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nbXlib29rcy5waHAnPjx1PrncwO3L+dPQzbzK6TwvdT48L2E+DQoiOw0KJHdpbnRpdGxlID0gIrPJuaa3orK8zsTVwqOhIjsNCiR3ZWNvbWVfaW5mbyA9ICLBrNTYudzA7To6t6KyvM7E1cIiOw0KJHdpbiA9IG5ldyBPeFdpbmRvdygpOw0KJHdpbi0+QWRkVGl0bGUoIrPJuaa3orK8zsTVwqO6Iik7DQokd2luLT5BZGRNc2dJdGVtKCRtc2cpOw0KJHdpbmZvcm0gPSAkd2luLT5HZXRXaW5kb3coImhhbmQiLCImbmJzcDsiLCBmYWxzZSk7DQokd2luLT5EaXNwbGF5KCk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX3Bob3RvLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvLi4vbWVtYmVyL2NvbmZpZy5waHAiKTsNCkNoZWNrUmFuaygwLCAwKTsNCiRtZW51dHlwZSA9ICdteWRlZGUnOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCmlmKGVtcHR5KCRib29raWQpKQ0Kew0KICAgIFNob3dNc2coIrLOyv207c7zo6EiLCAiLTEiKTsNCiAgICBleGl0KCk7DQp9DQokYm9va2luZm9zID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNhdGlkLGJjYXRpZCxib29rbmFtZSxib29rdHlwZSBGUk9NICNAX19zdG9yeV9ib29rcyBXSEVSRSBiaWQ9JyRib29raWQnICIpOw0KaWYoJGJvb2tpbmZvc1snYm9va3R5cGUnXT09MCkNCnsNCiAgICBoZWFkZXIoImxvY2F0aW9uOnN0b3J5X2FkZF9jb250ZW50LnBocD9ib29raWQ9eyRib29raWR9Iik7DQogICAgZXhpdCgpOw0KfQ0KDQovL7bByKHL+dPQwLjEvw0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2xhc3NuYW1lLHBpZCxyYW5rIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgT1JERVIgQlkgcmFuayBBU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokcmFua3MgPSBBcnJheSgpOw0KJGJ0eXBlcyA9IEFycmF5KCk7DQokc3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICBpZigkcm93WydwaWQnXT09MCkNCiAgICB7DQogICAgICAgICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHN0eXBlc1skcm93WydwaWQnXV1bJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KfQ0KJGxhc3RpZCA9ICRyb3dbJ2lkJ107DQokbXNnID0gJyc7DQokZHNxbC0+U2V0UXVlcnkoIlNFTEVDVCBpZCxjaGFwbnVtLGNoYXB0ZXJuYW1lIEZST00gI0BfX3N0b3J5X2NoYXB0ZXIgV0hFUkUgYm9va2lkPSckYm9va2lkJyBPUkRFUiBCWSBjaGFwbnVtIERFU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokY2hhcHRlcnMgPSBBcnJheSgpOw0KJGNoYXBudW1zID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICAkY2hhcHRlcnNbJHJvd1snaWQnXV0gPSAkcm93WydjaGFwdGVybmFtZSddOw0KICAgICRjaGFwbnVtc1skcm93WydpZCddXSA9ICRyb3dbJ2NoYXBudW0nXTsNCn0NCiRjYXRpZCA9ICRib29raW5mb3NbJ2NhdGlkJ107DQokYmNhdGlkID0gJGJvb2tpbmZvc1snYmNhdGlkJ107DQokYm9va25hbWUgPSAkYm9va2luZm9zWydib29rbmFtZSddOw0KJGJvb2t0eXBlID0gJGJvb2tpbmZvc1snYm9va3R5cGUnXTsNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi90ZW1wbGV0cy9ib29rL3N0b3J5X2FkZF9waG90by5odG0iKTsNCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX3Bob3RvX2FjdGlvbi5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLy4uL21lbWJlci9jb25maWcucGhwIik7DQpDaGVja1JhbmsoMCwgMCk7DQpyZXF1aXJlX29uY2UgIi4vaW5jbHVkZS9zdG9yeS5mdW5jLnBocCI7DQpyZXF1aXJlX29uY2UoREVERUlOQy4gIi9veHdpbmRvdy5jbGFzcy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFTUVNQkVSLiAiL2luYy9pbmNfYXJjaGl2ZXNfZnVuY3Rpb25zLnBocCIpOw0KaWYoIGVtcHR5KCRjaGFwdGVyaWQpDQp8fCAoIWVtcHR5KCRhZGRjaGFwdGVyKSAmJiAhZW1wdHkoJGNoYXB0ZXJuZXcpKSApDQp7DQogICAgaWYoZW1wdHkoJGNoYXB0ZXJuZXcpKQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygi08nT2sTjt6KyvLXExNrI3cO70aHU8dXCvdqjrM+1zbO+3L74t6KyvKOhIiwiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCiAgICAkcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfY2hhcHRlciBXSEVSRSBib29raWQ9JyRib29raWQnIE9SREVSIEJZIGNoYXBudW0gREVTQyIpOw0KICAgIGlmKGlzX2FycmF5KCRyb3cpKQ0KICAgIHsNCiAgICAgICAgJG5jaGFwbnVtID0gJHJvd1snY2hhcG51bSddKzE7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRuY2hhcG51bSA9IDE7DQogICAgfQ0KICAgICRxdWVyeSA9ICJJTlNFUlQgSU5UTyBgI0BfX3N0b3J5X2NoYXB0ZXJgKGBib29raWRgLGBjYXRpZGAsYGNoYXBudW1gLGBtaWRgLGBjaGFwdGVybmFtZWAsYGJvb2tuYW1lYCkNCiAgICAgICAgICAgIFZBTFVFUyAoJyRib29raWQnLCAnJGNhdGlkJywgJyRuY2hhcG51bScsICckY2ZnX21sLT5NX0lEJywgJyRjaGFwdGVybmV3JywnJGJvb2tuYW1lJyk7IjsNCiAgICAkcnMgPSAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkcXVlcnkpOw0KICAgIGlmKCRycykNCiAgICB7DQogICAgICAgICRjaGFwdGVyaWQgPSAkZHNxbC0+R2V0TGFzdElEKCk7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIFNob3dNc2coItT2vNPVwr3ayqew3KOsx+u87LLp1K3S8qOhIiwgIi0xIik7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQp9DQoNCi8vu/G1w7i4wLjEvw0KJG5yb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jYXRhbG9nIFdIRVJFIGlkPSckY2F0aWQnICIpOw0KJGJjYXRpZCA9ICRucm93WydwaWQnXTsNCiRib29rdHlwZSA9ICRucm93Wydib29rdHlwZSddOw0KJGFkZHRpbWUgPSB0aW1lKCk7DQoNCi8vsb7VwtfuuvPSu7j2wv67rbXExcXB0MuztM7Q8g0KJGxyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1Qgc29ydGlkIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgV0hFUkUgYm9va2lkPSckYm9va2lkJyBBTkQgY2hhcHRlcmlkPSckY2hhcHRlcmlkJyBPUkRFUiBCWSBzb3J0aWQgREVTQyIpOw0KaWYoZW1wdHkoJGxyb3cpKQ0Kew0KICAgICRzb3J0aWQgPSAxOw0KfQ0KZWxzZQ0Kew0KICAgICRzb3J0aWQgPSAkbHJvd1snc29ydGlkJ10rMTsNCn0NCg0KLy+0psDtyc+0q7XEzbzGrA0KaWYoIWlzc2V0KCRpc3JlbW90ZSkpDQp7DQogICAgJGlzcmVtb3RlID0gMDsNCn0NCg0KLy8kYmlncGljID0gVXBsb2FkT25lSW1hZ2UoJ2JpZ3BpYycsJGJpZ3BpY25hbWUsJGRkaXNyZW1vdGUpOw0KJHBvc3RudW0gPSAwOw0KZm9yKCRpPTE7JGk8PSRwaG90b251bTskaSsrKQ0Kew0KICAgICRiaWdwaWMgPSBVcGxvYWRPbmVJbWFnZSgnaW1nZmlsZScuJGksJHsnaW1ndXJsJy4kaX0sJGlzcmVtb3RlKTsNCiAgICBpZigkYmlncGljIT0nJykNCiAgICB7DQogICAgICAgICR0aXRsZW4gPSAkeyd0aXRsZScuJGl9Ow0KICAgICAgICBpZihlbXB0eSgkdGl0bGVuKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRpdGxlbiA9ICR7J3RpdGxlJ307DQogICAgICAgIH0NCiAgICAgICAgJGluUXVlcnkgPSAiDQogICAgICAgSU5TRVJUIElOVE8gYCNAX19zdG9yeV9jb250ZW50YChgdGl0bGVgLGBib29rbmFtZWAsYGNoYXB0ZXJpZGAsYGNhdGlkYCxgYmNhdGlkYCxgYm9va3R5cGVgLGBib29raWRgLGBzb3J0aWRgLA0KICAgICAgYG1pZGAsYGJpZ3BpY2AsYGJvZHlgLGBhZGR0aW1lYCkNCiAgICAgVkFMVUVTICgnJHRpdGxlbicsJyRib29rbmFtZScsICckY2hhcHRlcmlkJywgJyRjYXRpZCcsJyRiY2F0aWQnLCckYm9va3R5cGUnLCAnJGJvb2tpZCcsJyRzb3J0aWQnLCAnJGNmZ19tbC0+TV9JRCcsICckYmlncGljJyAsICcnLCAnJGFkZHRpbWUnKTsiOw0KICAgICAgICAkcnMgPSAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkaW5RdWVyeSk7DQoNCiAgICAgICAgLy9pZighJHJzKSBlY2hvICRpblF1ZXJ5LiI8aHI+XHJcbiI7DQogICAgICAgIGlmKCRycykNCiAgICAgICAgew0KICAgICAgICAgICAgJHNvcnRpZCsrOw0KICAgICAgICAgICAgJHBvc3RudW0rKzsNCiAgICAgICAgfQ0KICAgIH0NCn0NCiRhcmNJRCA9ICRkc3FsLT5HZXRMYXN0SUQoKTsNCg0KLy+4/NDCzbzK6bXExNrI3cr9DQokcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNvdW50KGlkKSBhcyBkZCBGUk9NICNAX19zdG9yeV9jb250ZW50ICBXSEVSRSBib29raWQgPSAnJGJvb2tpZCcgIik7DQokZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFICNAX19zdG9yeV9ib29rcyBTRVQgcG9zdG51bT0neyRyb3dbJ2RkJ119JyxsYXN0cG9zdD0nIi50aW1lKCkuIicgV0hFUkUgYmlkPSckYm9va2lkJyAiKTsNCg0KLy+4/NDC1cK92rXExNrI3cr9DQokcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNvdW50KGlkKSBBUyBkZCBGUk9NICNAX19zdG9yeV9jb250ZW50ICBXSEVSRSBib29raWQgPSAnJGJvb2tpZCcgQU5EIGNoYXB0ZXJpZD0nJGNoYXB0ZXJpZCcgIik7DQokZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFICNAX19zdG9yeV9jaGFwdGVyIFNFVCBwb3N0bnVtPSd7JHJvd1snZGQnXX0nIFdIRVJFIGlkPSckY2hhcHRlcmlkJyAiKTsNCmlmKGVtcHR5KCRhcmNJRCkpDQp7DQogICAgU2hvd01zZygiw7uzybmmsaO05sjOus7NvMaso6y/ycTcysfPtc2z09DOyszio6EiLCItMSIpOw0KICAgIGV4aXQoKTsNCn0NCg0KLy/J+rPJSFRNTA0KLy8kYXJ0VXJsID0gTWFrZUFydCgkYXJjSUQsdHJ1ZSk7DQppZihlbXB0eSgkYXJ0Y29udGVudFVybCkpDQp7DQogICAgJGFydGNvbnRlbnRVcmw9IiI7DQp9DQppZigkYXJ0Y29udGVudFVybD09IiIpDQp7DQogICAgJGFydGNvbnRlbnRVcmwgPSAkY2ZnX21haW5zaXRlLiRjZmdfY21zcGF0aC4iL2Jvb2svc2hvdy1waG90by5waHA/aWQ9JGFyY0lEJmJvb2tpZD0kYm9va2lkJmNoYXB0ZXJpZD0kY2hhcHRlcmlkIjsNCn0NCnJlcXVpcmVfb25jZShERURFUk9PVC4gJy9ib29rL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAnKTsNCiRidiA9IG5ldyBCb29rVmlldygkYm9va2lkLCAnYm9vaycpOw0KJGFydFVybCA9ICRidi0+TWFrZUh0bWwoKTsNCiRidi0+Q2xvc2UoKTsNCg0KLy+3tbvYs8m5ptDFz6INCiRtc2cgPSAiDQqhoaGhx+vRodTxxOO1xLrz0Piy2df3o7oNCjxhIGhyZWY9J3N0b3J5X2FkZF9waG90by5waHA/Ym9va2lkPXskYm9va2lkfSc+PHU+vMzQ+Leisrw8L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSckYXJ0VXJsJyB0YXJnZXQ9J19ibGFuayc+PHU+1KTAwML+u608L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSckYXJ0Y29udGVudFVybCcgdGFyZ2V0PSdfYmxhbmsnPjx1PtSkwMDE2sjdPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nc3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9eyRib29raWR9Jz48dT6xvsrpy/nT0MTayN08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSdteWJvb2tzLnBocCc+PHU+udzA7cv509DNvMrpPC91PjwvYT4NCiI7DQokd2ludGl0bGUgPSAis8m5preisrzNvMaso6EiOw0KJHdlY29tZV9pbmZvID0gIsGs1Ni53MDtOjq3orK8zbzGrCI7DQokd2luID0gbmV3IE94V2luZG93KCk7DQokd2luLT5BZGRUaXRsZSgis8m5preisrzNvMaso7oiKTsNCiR3aW4tPkFkZE1zZ0l0ZW0oJG1zZyk7DQokd2luZm9ybSA9ICR3aW4tPkdldFdpbmRvdygiaGFuZCIsIiZuYnNwOyIsZmFsc2UpOw0KJHdpbi0+RGlzcGxheSgpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYm9va3MucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi8uLi9tZW1iZXIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuICIvZGF0YWxpc3RjcC5jbGFzcy5waHAiKTsNCnNldGNvb2tpZSgiRU5WX0dPQkFDS19VUkwiLCAkZGVkZU5vd3VybCwgdGltZSgpKzM2MDAsIi8iKTsNCkNoZWNrUmFuaygwLCAwKTsNCiRtZW51dHlwZSA9ICdteWRlZGUnOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCmlmKCFpc3NldCgkY2F0aWQpKSAkY2F0aWQgPSAwOw0KDQppZighaXNzZXQoJGtleXdvcmQpKSAka2V5d29yZCA9ICIiOw0KDQppZighaXNzZXQoJG9yZGVyYnkpKSAkb3JkZXJieSA9IDA7DQoNCmlmKCFpc3NldCgkY2lkKSkgJGNpZCA9IDA7DQoNCg0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgYXNjIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQp3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQp7DQogICAgaWYoJHJvd1sncGlkJ109PTApDQogICAgew0KICAgICAgICAkYnR5cGVzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRzdHlwZXNbJHJvd1sncGlkJ11dWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgICRyYW5rc1skcm93WydpZCddXSA9ICRyb3dbJ3JhbmsnXTsNCn0NCiRhZGRxdWVyeSA9ICIiOw0KJG9yZGVyYnkgPSAiIE9SREVSIEJZIGIuYmlkIERFU0MgIjsNCmlmKCRjYXRpZCE9MCkgJGFkZHF1ZXJ5IC49ICIgQW5kIChiLmJjYXRpZD0nJGNhdGlkJyBPciBiLmNhdGlkPSckY2F0aWQnKSAiOw0KDQppZigka2V5d29yZCE9IiIpICRhZGRxdWVyeSAuPSAiIEFuZCAoYi5ib29rbmFtZSBMSUtFICclJGtleXdvcmQlJyBPUiBiLmF1dGhvciBMSUtFICclJGtleXdvcmQlJykgIjsNCg0KJHF1ZXJ5ID0gIg0KICAgU0VMRUNUIGIuaWQsYi5jYXRpZCxiLmJvb2tuYW1lLGIuYm9va3R5cGUsYi5saXRwaWMsYi5wb3N0bnVtLGIuc2VuZGRhdGUsYi5pc2NoZWNrLCBjLmlkIEFTIGNpZCxjLmNsYXNzbmFtZSBGUk9NICNAX19zdG9yeV9ib29rcyBiDQogICBMRUZUIEpPSU4gI0BfX3N0b3J5X2NhdGFsb2cgYyBPTiBjLmlkID0gYi5jYXRpZCBXSEVSRSBtaWQ9eyRjZmdfbWwtPk1fSUR9IEFORCBiLmJpZD4wICRhZGRxdWVyeSAkb3JkZXJieQ0KIjsNCiRkbGlzdCA9IG5ldyBEYXRhTGlzdENQKCk7DQokZGxpc3QtPnBhZ2VTaXplID0gMjA7DQokZGxpc3QtPlNldFBhcmFtZXRlcigia2V5d29yZCIsJGtleXdvcmQpOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImNhdGlkIiwkY2lkKTsNCiRkbGlzdC0+U2V0UGFyYW1ldGVyKCJvcmRlcmJ5Iiwkb3JkZXJieSk7DQokZGxpc3QtPlNldFRlbXBsYXRlKGRpcm5hbWUoX19GSUxFX18pLiAiL3RlbXBsZXRzL2Jvb2svc3RvcnlfYm9va3MuaHRtIik7DQokZGxpc3QtPlNldFNvdXJjZSgkcXVlcnkpOw0KJGRsaXN0LT5EaXNwbGF5KCk7DQokZGxpc3QtPkNsb3NlKCk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfY29udGVudF9lZGl0LnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvLi4vbWVtYmVyL2NvbmZpZy5waHAiKTsNCnJlcXVpcmVfb25jZSAiLi9pbmNsdWRlL3N0b3J5LmZ1bmMucGhwIjsNCkNoZWNrUmFuaygwLDApOw0KJG1lbnV0eXBlID0gJ215ZGVkZSc7DQppZighaXNzZXQoJGFjdGlvbikpDQp7DQogICAgJGFjdGlvbiA9ICcnOw0KfQ0KaWYoZW1wdHkoJGNpZCkpDQp7DQogICAgU2hvd01zZygiss7K/bTtzvOjoSIsICItMSIpOw0KICAgIGV4aXQoKTsNCn0NCg0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgYXNjIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQp3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQp7DQogICAgaWYoJHJvd1sncGlkJ109PTApDQogICAgew0KICAgICAgICAkYnR5cGVzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRzdHlwZXNbJHJvd1sncGlkJ11dWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgICRyYW5rc1skcm93WydpZCddXSA9ICRyb3dbJ3JhbmsnXTsNCn0NCiRsYXN0aWQgPSAkcm93WydpZCddOw0KJGNvbnRlbnRzID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfY29udGVudCBXSEVSRSBpZD0nJGNpZCcgQU5EIG1pZD0nJGNmZ19tbC0+TV9JRCcgIik7DQokYm9va2luZm9zID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNhdGlkLGJjYXRpZCxib29rbmFtZSxib29rdHlwZSBGUk9NICNAX19zdG9yeV9ib29rcyBXSEVSRSBiaWQ9J3skY29udGVudHNbJ2Jvb2tpZCddfScgQU5EIG1pZD0nJGNmZ19tbC0+TV9JRCcgIik7DQppZighaXNfYXJyYXkoJGJvb2tpbmZvcykpDQp7DQogICAgU2hvd01zZygiss7K/bTtzvOjoSIsIi0xIik7DQogICAgZXhpdCgpOw0KfQ0KJGNhdGlkID0gJGJvb2tpbmZvc1snY2F0aWQnXTsNCiRiY2F0aWQgPSAkYm9va2luZm9zWydiY2F0aWQnXTsNCiRib29rbmFtZSA9ICRib29raW5mb3NbJ2Jvb2tuYW1lJ107DQokYm9va3R5cGUgPSAkYm9va2luZm9zWydib29rdHlwZSddOw0KJGJvb2tpZCA9ICRjb250ZW50c1snYm9va2lkJ107DQokZHNxbC0+U2V0UXVlcnkoIlNFTEVDVCBpZCxjaGFwbnVtLGNoYXB0ZXJuYW1lIEZST00gI0BfX3N0b3J5X2NoYXB0ZXIgV0hFUkUgYm9va2lkPSd7JGNvbnRlbnRzWydib29raWQnXX0nIEFORCBtaWQ9JyRjZmdfbWwtPk1fSUQnIE9SREVSIEJZIGNoYXBudW0gZGVzYyIpOw0KJGRzcWwtPkV4ZWN1dGUoKTsNCiRjaGFwdGVycyA9IEFycmF5KCk7DQokY2hhcG51bXMgPSBBcnJheSgpOw0Kd2hpbGUoJHJvdyA9ICRkc3FsLT5HZXRBcnJheSgpKQ0Kew0KICAgICRjaGFwdGVyc1skcm93WydpZCddXSA9ICRyb3dbJ2NoYXB0ZXJuYW1lJ107DQogICAgJGNoYXBudW1zWyRyb3dbJ2lkJ11dID0gJHJvd1snY2hhcG51bSddOw0KfQ0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiL3RlbXBsZXRzL2Jvb2svc3RvcnlfY29udGVudF9lZGl0Lmh0bSIpOw0K
PD9waHANCg0KLyoqDQogKiBFbnRlciBkZXNjcmlwdGlvbiBoZXJlLi4uDQogKg0KICogQGF1dGhvciBBZG1pbmlzdHJhdG9yDQogKiBAcGFja2FnZSBkZWZhdWx0UGFja2FnZQ0KICogQHJjc2ZpbGUgCSRSQ1NmaWxlOiBzdG9yeV9kby5waHAsdiAkDQogKiBAcmV2aXNpb24gCSRSZXZpc2lvbjogMS4xICQNCiAqIEBkYXRlIAkkRGF0ZTogMjAwOC8xMi8xMSAwMjowOTo0MSAkDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vbWVtYmVyL2NvbmZpZy5waHAiKTsNCkNoZWNrUmFuaygwLDApOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuJy9veHdpbmRvdy5jbGFzcy5waHAnKTsNCmlmKGVtcHR5KCRhY3Rpb24pKQ0Kew0KCVNob3dNc2coIsTjw7vWuLaoyM66zrLOyv2joSIsIi0xIik7DQoJZXhpdCgpOw0KfQ0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBEZWxCb29rKCkNCsm+s/3V+7G+zbzK6Q0KLS0tLS0tLS0tLS0tLS0tLS0tLSovDQppZigkYWN0aW9uPT0nZGVsYm9vaycpDQp7DQoJJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNlbGVjdCBib29rdHlwZSBGcm9tICNAX19zdG9yeV9ib29rcyB3aGVyZSBiaWQ9JyRiaWQnIGFuZCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KCWlmKGlzX2FycmF5KCRyb3cpKQ0KCXsNCgkJJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRlbGV0ZSBGcm9tICNAX19zdG9yeV9ib29rcyB3aGVyZSBiaWQ9JyRiaWQnIGFuZCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KCQkkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiRGVsZXRlIEZyb20gI0BfX3N0b3J5X2NoYXB0ZXIgIHdoZXJlIGJvb2tpZD0nJGJpZCcgYW5kIG1pZD0nJGNmZ19tbC0+TV9JRCcgIik7DQoJCSRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJEZWxldGUgRnJvbSAjQF9fc3RvcnlfY29udGVudCB3aGVyZSBib29raWQ9JyRiaWQnIGFuZCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KCQlpZihlbXB0eSgkRU5WX0dPQkFDS19VUkwpKQ0KCQl7DQoJCQkkRU5WX0dPQkFDS19VUkwgPSAnbXlib29rcy5waHAnOw0KCQl9DQoJCVNob3dNc2coIrPJuabJvrP90ruxvs28yumjoSIsJEVOVl9HT0JBQ0tfVVJMKTsNCgkJZXhpdCgpOw0KCX0NCgllbHNlDQoJew0KCQlTaG93TXNnKCK21LK7xvCjrMTjw7vT0Mioz96joSIsIi0xIik7DQoJCWV4aXQoKTsNCgl9DQp9DQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmZ1bmN0aW9uIERlbFN0b3J5Q29udGVudCgpDQrJvrP9zbzK6cTayN0NCi0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KZWxzZSBpZigkYWN0aW9uPT0nZGVsY29udGVudCcpDQp7DQoJJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNlbGVjdCBiaWdwaWMsY2hhcHRlcmlkLGJvb2tpZCBGcm9tICNAX19zdG9yeV9jb250ZW50IHdoZXJlIGlkPSckY2lkJyBhbmQgbWlkPSckY2ZnX21sLT5NX0lEJyAiKTsNCglpZighaXNfYXJyYXkoJHJvdykpDQoJew0KCQlTaG93TXNnKCK21LK7xvCjrMTjw7vT0Mioz96joSIsIi0xIik7DQoJCWV4aXQoKTsNCgl9DQoJJGNoYXB0ZXJpZCA9ICRyb3dbJ2NoYXB0ZXJpZCddOw0KCSRib29raWQgPSAkcm93Wydib29raWQnXTsNCgkkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiIERlbGV0ZSBGcm9tICNAX19zdG9yeV9jb250ZW50IHdoZXJlIGlkPSckY2lkJyBhbmQgbWlkPSckY2ZnX21sLT5NX0lEJyAiKTsNCg0KCS8vuPzQws28yum8x8K8DQoJJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNlbGVjdCBjb3VudChpZCkgYXMgZGQgRnJvbSAjQF9fc3RvcnlfY29udGVudCB3aGVyZSBib29raWQ9JyRib29raWQnIGFuZCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KCSRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVcGRhdGUgI0BfX3N0b3J5X2Jvb2tzIHNldCBwb3N0bnVtPSd7JHJvd1snZGQnXX0nIHdoZXJlIGJpZD0nJGJvb2tpZCcgYW5kIG1pZD0nJGNmZ19tbC0+TV9JRCcgIik7DQoNCgkvL7j80MLVwr3avMfCvA0KCSRyb3cgPSAkZHNxbC0+R2V0T25lKCJTZWxlY3QgY291bnQoaWQpIGFzIGRkIEZyb20gI0BfX3N0b3J5X2NvbnRlbnQgd2hlcmUgY2hhcHRlcmlkPSckY2hhcHRlcmlkJyBhbmQgbWlkPSckY2ZnX21sLT5NX0lEJyAiKTsNCgkkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVXBkYXRlICNAX19zdG9yeV9jaGFwdGVyIHNldCBwb3N0bnVtPSd7JHJvd1snZGQnXX0nIHdoZXJlIGlkPSckY2hhcHRlcmlkJyBhbmQgbWlkPSckY2ZnX21sLT5NX0lEJyAiKTsNCglTaG93TXNnKCKzybmmyb6z/da4tqjE2sjdo6EiLCRFTlZfR09CQUNLX1VSTCk7DQoJZXhpdCgpOw0KfQ0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBFZGl0Q2hhcHRlcigpDQqxo7Tm1cK92tDFz6INCi0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KZWxzZSBpZigkYWN0aW9uPT0nZWRpdENoYXB0ZXInKQ0Kew0KCSRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVcGRhdGUgI0BfX3N0b3J5X2NoYXB0ZXIgc2V0IGNoYXB0ZXJuYW1lPSckY2hhcHRlcm5hbWUnLGNoYXBudW09JyRjaGFwbnVtJyB3aGVyZSBpZD0nJGNpZCcgYW5kIG1pZD0nJGNmZ19tbC0+TV9JRCcgIik7DQoJQWpheEhlYWQoKTsNCgllY2hvICI8Zm9udCBjb2xvcj0ncmVkJz6zybmmuPzQwtXCvdqjunskY2hhcHRlcm5hbWV9IKOhIFs8YSBocmVmPVwiamF2YXNjcmlwdDpDbG9zZUxheWVyKCdlZGl0Y2hhcHRlcicpXCI+udix1czhyr48L2E+XTwvZm9udD4gPGJyIC8+PGJyIC8+IMzhyr6jutDeuMTVwr3aw/uzxrvy1cK92tDyusXWsb3T1NrX87Hf0N64xKOsyLu687Xju/fT0rHftcQgW7j80MJdILvhsaO05qGjICI7DQoJZXhpdCgpOw0KfQ0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBEZWxDaGFwdGVyKCkNCsm+s/3Vwr3a0MXPog0KLS0tLS0tLS0tLS0tLS0tLS0tLSovDQplbHNlIGlmKCRhY3Rpb249PSdkZWxDaGFwdGVyJykNCnsNCgkkcm93ID0gJGRzcWwtPkdldE9uZSgiU2VsZWN0IGMuYm9va2lkLGIuYm9va3R5cGUgRnJvbSAjQF9fc3RvcnlfY2hhcHRlciBjIGxlZnQgam9pbiAgI0BfX3N0b3J5X2Jvb2tzIGIgb24gYi5iaWQ9Yy5ib29raWQgd2hlcmUgYy5pZD0nJGNpZCcgYW5kIGMubWlkPSckY2ZnX21sLT5NX0lEJyAiKTsNCglpZighaXNfYXJyYXkoJHJvdykpDQoJew0KCQlTaG93TXNnKCK21LK7xvCjrMTjw7vT0Mioz96joSIsIi0xIik7DQoJCWV4aXQoKTsNCgl9DQoJJGJvb2tpZCA9ICRyb3dbJ2Jvb2tpZCddOw0KCSRib29rdHlwZSA9ICRyb3dbJ2Jvb2t0eXBlJ107DQoJJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRlbGV0ZSBGcm9tICNAX19zdG9yeV9jaGFwdGVyIHdoZXJlIGlkPSckY2lkJyBhbmQgbWlkPSckY2ZnX21sLT5NX0lEJyAiKTsNCgkkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiRGVsZXRlIEZyb20gI0BfX3N0b3J5X2NvbnRlbnQgd2hlcmUgY2hhcHRlcmlkPSckY2lkJyBhbmQgbWlkPSckY2ZnX21sLT5NX0lEJyAiKTsNCg0KCS8vuPzQws28yum8x8K8DQoJJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNlbGVjdCBjb3VudChpZCkgYXMgZGQgRnJvbSAjQF9fc3RvcnlfY29udGVudCB3aGVyZSBib29raWQ9JyRib29raWQnIGFuZCBtaWQ9JyRjZmdfbWwtPk1fSUQnICIpOw0KCSRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVcGRhdGUgI0BfX3N0b3J5X2Jvb2tzIHNldCBwb3N0bnVtPSd7JHJvd1snZGQnXX0nIHdoZXJlIGJpZD0nJGJvb2tpZCcgYW5kIG1pZD0nJGNmZ19tbC0+TV9JRCcgIik7DQoJU2hvd01zZygis8m5psm+s/3WuLao1cK92qOhIiwkRU5WX0dPQkFDS19VUkwpOw0KCWV4aXQoKTsNCn0NCg0KLyotLS0tLS0tLS0tLS0tLS0NCmZ1bmN0aW9uIEVkaXRDaGFwdGVyQWxsKCkNCsX6wb/Q3rjE1cK92g0KLS0tLS0tLS0tLS0tLS0tLS0tLSovDQplbHNlIGlmKCRhY3Rpb249PSd1cENoYXB0ZXJTb3J0JykNCnsNCglpZihpc3NldCgkaWRzKSAmJiBpc19hcnJheSgkaWRzKSkNCgl7DQoJCWZvcmVhY2goJGlkcyBhcyAkY2lkKQ0KCQl7DQoJCQkkY2hhcHRlcm5hbWUgPSAkeydjaGFwdGVybmFtZV8nLiRjaWR9Ow0KCQkJJGNoYXBudW09ICR7J2NoYXBudW1fJy4kY2lkfTsNCgkJCSRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVcGRhdGUgI0BfX3N0b3J5X2NoYXB0ZXIgc2V0IGNoYXB0ZXJuYW1lPSckY2hhcHRlcm5hbWUnLGNoYXBudW09JyRjaGFwbnVtJyB3aGVyZSBpZD0nJGNpZCcgYW5kIG1pZD0nJGNmZ19tbC0+TV9JRCcgIik7DQoJCX0NCgl9DQoJU2hvd01zZygis8m5prj80MLWuLao1cK92tDFz6KjoSIsJEVOVl9HT0JBQ0tfVVJMKTsNCglleGl0KCk7DQp9DQoNCi8qLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBFZGl0Q2hhcHRlckFsbCgpDQrF+sG/0N64xNXCvdoNCi0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KZWxzZSBpZigkYWN0aW9uID09ICJkZWxzdG9yeWNoYXB0ZXIiKQ0Kew0KCWlmKGlzc2V0KCRpZHMpICYmIGlzX2FycmF5KCRpZHMpKSBmb3JlYWNoKCRpZHMgYXMgJGNpZCkNCgl7DQoJCSRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJEZWxldGUgRnJvbSAjQF9fc3RvcnlfY2hhcHRlciB3aGVyZSBpZD0nJGNpZCcgYW5kIG1pZD0nJGNmZ19tbC0+TV9JRCcgIik7DQoJfQ0KCVNob3dNc2coIsm+s/2zybmmo6EiLCRFTlZfR09CQUNLX1VSTCk7DQoJZXhpdCgpOw0KfQ0KPz4=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfZWRpdC5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLy4uL21lbWJlci9jb25maWcucGhwIik7DQpDaGVja1JhbmsoMCwgMCk7DQokbWVudXR5cGUgPSAnbXlkZWRlJzsNCmlmKCFpc3NldCgkYWN0aW9uKSkNCnsNCiAgICAkYWN0aW9uID0gJyc7DQp9DQppZihlbXB0eSgkZG9wb3N0KSkNCnsNCiAgICAvL7bByKHL+dPQwLjEvw0KICAgICRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgYXNjIik7DQogICAgJGRzcWwtPkV4ZWN1dGUoKTsNCiAgICAkcmFua3MgPSBBcnJheSgpOw0KICAgICRidHlwZXMgPSBBcnJheSgpOw0KICAgICRzdHlwZXMgPSBBcnJheSgpOw0KICAgIHdoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCiAgICB7DQogICAgICAgIGlmKCRyb3dbJ3BpZCddPT0wKQ0KICAgICAgICB7DQogICAgICAgICAgICAkYnR5cGVzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICAkc3R5cGVzWyRyb3dbJ3BpZCddXVskcm93WydpZCddXSA9ICRyb3dbJ2NsYXNzbmFtZSddOw0KICAgICAgICB9DQogICAgICAgICRyYW5rc1skcm93WydpZCddXSA9ICRyb3dbJ3JhbmsnXTsNCiAgICB9DQogICAgJGxhc3RpZCA9ICRyb3dbJ2lkJ107DQogICAgJG1zZyA9ICcnOw0KICAgICRib29rcyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2Jvb2tzIFdIRVJFIGJpZD0nJGJvb2tpZCcgQU5EIG1pZD17JGNmZ19tbC0+TV9JRH0gIik7DQogICAgaWYoIWlzX2FycmF5KCRib29rcykpDQogICAgew0KICAgICAgICBTaG93TXNnKCfNvMrpSUS07c7zo6zH67e1u9gnLCctMScpOw0KICAgICAgICBleGl0Ow0KICAgIH0NCiAgICBpZigkY2ZnX2Jvb2tfaWZjaGVjayA9PSAnWScgJiYgJGJvb2tzWydpc2NoZWNrJ10gPT0gMSkNCiAgICB7DQogICAgICAgIFNob3dNc2coJ7371rnQ3rjEo6zH67e1u9gnLCctMScpOw0KICAgICAgICBleGl0Ow0KICAgIH0NCiAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuIi90ZW1wbGV0cy9ib29rL3N0b3J5X2VkaXQuaHRtIik7DQp9DQplbHNlaWYoJGRvcG9zdCA9PSAnZWRpdCcpDQp7DQogICAgcmVxdWlyZV9vbmNlKERFREVJTkMuICcvaW1hZ2UuZnVuYy5waHAnKTsNCiAgICByZXF1aXJlX29uY2UoREVERUlOQy4gJy9veHdpbmRvdy5jbGFzcy5waHAnKTsNCiAgICByZXF1aXJlX29uY2UoREVERU1FTUJFUi4gIi9pbmMvaW5jX2FyY2hpdmVzX2Z1bmN0aW9ucy5waHAiKTsNCiAgICBpZigkY2F0aWQ9PTApDQogICAgew0KICAgICAgICBTaG93TXNnKCLH69a4tqjNvMrpy/nK9MC4xL+joSIsIi0xIik7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQogICAgDQogICAgLy+78bXDuLjAuMS/DQogICAgJG5yb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jYXRhbG9nIFdIRVJFIGlkPSckY2F0aWQnICIpOw0KICAgICRiY2F0aWQgPSAkbnJvd1sncGlkJ107DQogICAgJGJvb2t0eXBlID0gJG5yb3dbJ2Jvb2t0eXBlJ107DQogICAgJHB1YmRhdGUgPSBHZXRNa1RpbWUoJHB1YmRhdGUpOw0KICAgICRib29rbmFtZSA9IGFkZHNsYXNoZXMoY25fc3Vic3RyKHN0cmlwc2xhc2hlcygkYm9va25hbWUpLCA1MCkpOw0KICAgIGlmKCRrZXl3b3JkcyE9IiIpDQogICAgew0KICAgICAgICAka2V5d29yZHMgPSB0cmltKGFkZHNsYXNoZXMoY25fc3Vic3RyKHN0cmlwc2xhc2hlcygka2V5d29yZHMpLCA2MCkpKTsNCiAgICB9DQoNCiAgICAvL7SmwO3Jz7SrtcTL9cLUzbwNCiAgICBpZighZW1wdHkoJGxpdHBpYykpDQogICAgew0KICAgICAgICAkbGl0cGljID0gTWVtYmVyVXBsb2FkcygnbGl0cGljJywkbGl0cGljLCRjZmdfbWwtPk1fSUQsJ2ltYWdlJywnJywkY2ZnX2RkaW1nX3dpZHRoLCRjZmdfZGRpbWdfaGVpZ2h0LGZhbHNlKTsNCiAgICAgICAgJGxpdHBpYyA9ICIgbGl0cGljPSckbGl0cGljJywgIjsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJGxpdHBpYyA9ICIiOw0KICAgIH0NCiAgICAkdXNlcmlwID0gZ2V0aXAoKTsNCg0KICAgIC8v19S2r9Wq0qoNCiAgICBpZigkZGVzY3JpcHRpb249PSIiICYmICRjZmdfYXVvdF9kZXNjcmlwdGlvbj4wKQ0KICAgIHsNCiAgICAgICAgJGRlc2NyaXB0aW9uID0gc3RyaXBzbGFzaGVzKGNuX3N1YnN0cihodG1sMnRleHQoJGJvZHkpLCAkY2ZnX2F1b3RfZGVzY3JpcHRpb24pKTsNCiAgICAgICAgJGRlc2NyaXB0aW9uID0gYWRkc2xhc2hlcygkZGVzY3JpcHRpb24pOw0KICAgIH0NCiAgICAkc3RhdHVzID0gJHN0YXR1cyA9PSAxID8gMSA6IDA7DQogICAgJHVwUXVlcnkgPSAiDQpVcGRhdGUgYCNAX19zdG9yeV9ib29rc2ANCnNldCBjYXRpZD0nJGNhdGlkJywNCmJjYXRpZD0nJGJjYXRpZCcsDQpib29rbmFtZT0nJGJvb2tuYW1lJywNCmF1dGhvcj0nJGF1dGhvcicsDQokbGl0cGljDQpwdWJkYXRlPSckcHViZGF0ZScsDQpsYXN0cG9zdD0nJHB1YmRhdGUnLA0KZGVzY3JpcHRpb249JyRkZXNjcmlwdGlvbicsDQpzdGF0dXMgPSAnJHN0YXR1cycsDQpib2R5PSckYm9keScsDQprZXl3b3Jkcz0nJGtleXdvcmRzJw0Kd2hlcmUgYmlkPSckYm9va2lkJyBhbmQgbWlkPSd7JGNmZ19tbC0+TV9JRH0nDQoiOw0KICAgIGlmKCEkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkdXBRdWVyeSkpDQogICAgew0KICAgICAgICBTaG93TXNnKCK4/NDCyv2+3b/iyrGz9rTto6zH67zssumjoSIuJGRzcWwtPkdldEVycm9yKCksIi0xIik7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQoNCiAgICAvL8n6s8lIVE1MDQogICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAnL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAnKTsNCiAgICAkYnYgPSBuZXcgQm9va1ZpZXcoJGJvb2tpZCwgJ2Jvb2snKTsNCiAgICAkYXJ0VXJsID0gJGJ2LT5NYWtlSHRtbCgpOw0KICAgICRidi0+Q2xvc2UoKTsNCg0KICAgIC8vt7W72LPJuabQxc+iDQogICAgJG1zZyA9ICINCqGhoaHH69Gh1PHE47XEuvPQ+LLZ1/ejug0KPGEgaHJlZj0nc3RvcnlfZWRpdC5waHA/Ym9va2lkPXskYm9va2lkfSc+PHU+vMzQ+NDeuMQ8L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSdzdG9yeV9hZGQucGhwP2NhdGlkPXskY2F0aWR9Jz48dT63orK80MLNvMrpPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nJGFydFVybCcgdGFyZ2V0PSdfYmxhbmsnPjx1PtSkwMDNvMrpPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nc3RvcnlfYWRkX2NvbnRlbnQucGhwP2Jvb2tpZD17JGJvb2tpZH0nPjx1PtT2vNPNvMrpxNrI3TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J215Ym9va3MucGhwJz48dT653MDtzbzK6TwvdT48L2E+DQoiOw0KICAgICR3aW50aXRsZSA9ICKzybmm0N64xM28yumjoSI7DQogICAgJHdlY29tZV9pbmZvID0gIsGs1Ni53MDtOjrQ3rjEzbzK6SI7DQogICAgJHdpbiA9IG5ldyBPeFdpbmRvdygpOw0KICAgICR3aW4tPkFkZFRpdGxlKCKzybmm0N64xNK7sb7NvMrpo7oiKTsNCiAgICAkd2luLT5BZGRNc2dJdGVtKCRtc2cpOw0KICAgICR3aW5mb3JtID0gJHdpbi0+R2V0V2luZG93KCJoYW5kIiwgIiZuYnNwOyIsIGZhbHNlKTsNCiAgICAkd2luLT5EaXNwbGF5KCk7DQp9DQo/Pg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfZWRpdF9jb250ZW50X2FjdGlvbi5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLy4uL21lbWJlci9jb25maWcucGhwIik7DQpDaGVja1JhbmsoMCwwKTsNCmluY2x1ZGVfb25jZShERURFSU5DLiAiL294d2luZG93LmNsYXNzLnBocCIpOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiLi9pbmNsdWRlL3N0b3J5LmZ1bmMucGhwIik7DQppZiggZW1wdHkoJGNoYXB0ZXJpZCkNCnx8ICghZW1wdHkoJGFkZGNoYXB0ZXIpICYmICFlbXB0eSgkY2hhcHRlcm5ldykpICkNCnsNCiAgICBpZihlbXB0eSgkY2hhcHRlcm5ldykpDQogICAgew0KICAgICAgICBTaG93TXNnKCLTydPaxOO3orK8tcTE2sjdw7vRodTx1cK92qOsz7XNs77cvvi3orK8o6EiLCItMSIpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KICAgICRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGJvb2tpZD0nJGJvb2tpZCcgQU5EIG1pZD0nJGNmZ19tbC0+TV9JRCcgT1JERVIgQlkgY2hhcG51bSBERVNDIik7DQogICAgaWYoaXNfYXJyYXkoJHJvdykpDQogICAgew0KICAgICAgICAkbmNoYXBudW0gPSAkcm93WydjaGFwbnVtJ10rMTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJG5jaGFwbnVtID0gMTsNCiAgICB9DQogICAgJHF1ZXJ5ID0gIklOU0VSVCBJTlRPIGAjQF9fc3RvcnlfY2hhcHRlcmAoYGJvb2tpZGAsYGNhdGlkYCxgY2hhcG51bWAsYG1pZGAsYGNoYXB0ZXJuYW1lYCxgYm9va25hbWVgKQ0KICAgICAgICAgICAgVkFMVUVTICgnJGJvb2tpZCcsICckY2F0aWQnLCAnJG5jaGFwbnVtJywgJyRjZmdfbWwtPk1fSUQnLCAnJGNoYXB0ZXJuZXcnLCckYm9va25hbWUnKTsiOw0KICAgICRycyA9ICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgaWYoJHJzKQ0KICAgIHsNCiAgICAgICAgJGNoYXB0ZXJpZCA9ICRkc3FsLT5HZXRMYXN0SUQoKTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygi1Pa809XCvdrKp7Dco6zH67zssunUrdLyo6EiLCItMSIpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KfQ0KDQovL7vxtcO4uMC4xL8NCiRucm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfY2F0YWxvZyBXSEVSRSBpZD0nJGNhdGlkJyAiKTsNCiRiY2F0aWQgPSAkbnJvd1sncGlkJ107DQokYm9va3R5cGUgPSAkbnJvd1snYm9va3R5cGUnXTsNCmlmKGVtcHR5KCRiY2F0aWQpKQ0Kew0KICAgICRiY2F0aWQgPSAwOw0KfQ0KaWYoZW1wdHkoJGJvb2t0eXBlKSkNCnsNCiAgICAkYm9va3R5cGUgPSAwOw0KfQ0KJGFkZHRpbWUgPSB0aW1lKCk7DQokaW5RdWVyeSA9ICINCiAgIFVQREFURSBgI0BfX3N0b3J5X2NvbnRlbnRgIFNFVCBgdGl0bGVgPSckdGl0bGUnLGBib29rbmFtZWA9JyRib29rbmFtZScsDQogICBgY2hhcHRlcmlkYD0nJGNoYXB0ZXJpZCcsYHNvcnRpZGA9JyRzb3J0aWQnLGBib2R5YD0nJw0KICBXSEVSRSBpZD0nJGNpZCcgQU5EIG1pZCA9ICd7JGNmZ19tbC0+TV9JRH0nDQoiOw0KaWYoISRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRpblF1ZXJ5KSkNCnsNCiAgICBTaG93TXNnKCK4/NDCyv2+3cqxs/a07aOsx+u87LLpo6EiLnN0cl9yZXBvbGFjZSgiJyIsImAiLCRkc3FsLT5HZXRFcnJvcigpLiRpblF1ZXJ5KSwiLTEiKTsNCiAgICBleGl0KCk7DQp9DQpXcml0ZUJvb2tUZXh0KCRjaWQsIGFkZHNsYXNoZXMoJGJvZHkpKTsNCg0KLy/J+rPJSFRNTA0KLy8kYXJ0VXJsID0gTWFrZUFydCgkYXJjSUQsdHJ1ZSk7DQovL2lmKCRhcnRVcmw9PSIiKSAkYXJ0VXJsID0gJGNmZ19ib29rX3VybC4iL3N0b3J5LnBocD9pZD17JGNpZH0iOw0KaWYoIWlzc2V0KCRhcnRVcmwpIHx8ICRhcnRVcmw9PSIiKQ0Kew0KICAgICRhcnRVcmwgPSAkY2ZnX2Ntc3BhdGguICIvYm9vay9zdG9yeS5waHA/aWQ9eyRjaWR9IjsNCn0NCg0KLy+3tbvYs8m5ptDFz6INCiRtc2cgPSAiDQqhoaGhx+vRodTxxOO1xLrz0Piy2df3o7oNCjxhIGhyZWY9J3N0b3J5X2NvbnRlbnRfZWRpdC5waHA/Y2lkPXskY2lkfSc+PHU+vMzQ+LHgvK08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSckYXJ0VXJsJyB0YXJnZXQ9J19ibGFuayc+PHU+1KTAwMTayN08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPScuLi9ib29rL2Jvb2sucGhwP2lkPSRib29raWQnIHRhcmdldD0nX2JsYW5rJz48dT7UpMDAzbzK6TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J3N0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPXskYm9va2lkfSc+PHU+sb7K6cv509DE2sjdPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nbXlib29rcy5waHAnPjx1PrncwO3L+dPQzbzK6TwvdT48L2E+DQoiOw0KJHdpbnRpdGxlID0gIrPJuabQ3rjEzsTVwqOhIjsNCiR3ZWNvbWVfaW5mbyA9ICLBrNTYudzA7To6t6KyvM7E1cIiOw0KJHdpbiA9IG5ldyBPeFdpbmRvdygpOw0KJHdpbi0+QWRkVGl0bGUoIrPJuabQ3rjEzsTVwqO6Iik7DQokd2luLT5BZGRNc2dJdGVtKCRtc2cpOw0KJHdpbmZvcm0gPSAkd2luLT5HZXRXaW5kb3coImhhbmQiLCAiJm5ic3A7IiwgZmFsc2UpOw0KJHdpbi0+RGlzcGxheSgpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfZWRpdF9waG90b19hY3Rpb24ucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi8uLi9tZW1iZXIvY29uZmlnLnBocCIpO0NoZWNrUmFuaygwLDApOw0KaW5jbHVkZV9vbmNlKERFREVJTkMuICIvaW1hZ2UuZnVuYy5waHAiKTsNCmluY2x1ZGVfb25jZShERURFSU5DLiAiL294d2luZG93LmNsYXNzLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVNRU1CRVIuICIvaW5jL2luY19hcmNoaXZlc19mdW5jdGlvbnMucGhwIik7DQppZiggZW1wdHkoJGNoYXB0ZXJpZCkNCnx8ICghZW1wdHkoJGFkZGNoYXB0ZXIpICYmICFlbXB0eSgkY2hhcHRlcm5ldykpICkNCnsNCiAgICBpZihlbXB0eSgkY2hhcHRlcm5ldykpDQogICAgew0KICAgICAgICBTaG93TXNnKCLTydPaxOO3orK8tcTE2sjdw7vRodTx1cK92qOsz7XNs77cvvi3orK8o6EiLCItMSIpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KICAgICRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGJvb2tpZD0nJGJvb2tpZCcgT1JERVIgQlkgY2hhcG51bSBkZXNjIik7DQogICAgaWYoaXNfYXJyYXkoJHJvdykpDQogICAgew0KICAgICAgICAkbmNoYXBudW0gPSAkcm93WydjaGFwbnVtJ10rMTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJG5jaGFwbnVtID0gMTsNCiAgICB9DQogICAgJHF1ZXJ5ID0gIklOU0VSVCBJTlRPIGAjQF9fc3RvcnlfY2hhcHRlcmAoYGJvb2tpZGAsYGNhdGlkYCxgY2hhcG51bWAsYG1pZGAsYGNoYXB0ZXJuYW1lYCxgYm9va25hbWVgKQ0KICAgICAgICAgICAgVkFMVUVTICgnJGJvb2tpZCcsICckY2F0aWQnLCAnJG5jaGFwbnVtJywgJyRjZmdfbWwtPk1fSUQnLCAnJGNoYXB0ZXJuZXcnLCckYm9va25hbWUnKTsiOw0KICAgICRycyA9ICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgaWYoJHJzKQ0KICAgIHsNCiAgICAgICAgJGNoYXB0ZXJpZCA9ICRkc3FsLT5HZXRMYXN0SUQoKTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygi1Pa809XCvdrKp7Dco6zH67zssunUrdLyo6EiLCItMSIpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KfQ0KDQovL7vxtcO4uMC4xL8NCiRucm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfY2F0YWxvZyBXSEVSRSBpZD0nJGNhdGlkJyAiKTsNCiRiY2F0aWQgPSAkbnJvd1sncGlkJ107DQokYm9va3R5cGUgPSAkbnJvd1snYm9va3R5cGUnXTsNCmlmKGVtcHR5KCRiY2F0aWQpKSAkYmNhdGlkID0gMDsNCg0KaWYoZW1wdHkoJGJvb2t0eXBlKSkgJGJvb2t0eXBlID0gMDsNCg0KJGFkZHRpbWUgPSB0aW1lKCk7DQoNCi8vtKbA7cnPtKu1xMv1wtTNvA0KaWYoIWlzc2V0KCRpc3JlbW90ZSkpICRpc3JlbW90ZSA9IDA7DQoNCiRiaWdwaWMgPSBVcGxvYWRPbmVJbWFnZSgnaW1nZmlsZScsJGltZ3VybCwkaXNyZW1vdGUpOw0KJGluUXVlcnkgPSAiDQogICBVUERBVEUgYCNAX19zdG9yeV9jb250ZW50YCBTRVQgYHRpdGxlYD0nJHRpdGxlJyxgYm9va25hbWVgPSckYm9va25hbWUnLA0KICAgYGNoYXB0ZXJpZGA9JyRjaGFwdGVyaWQnLGBzb3J0aWRgPSckc29ydGlkJyxgYmlncGljYD0nJGJpZ3BpYycNCiAgV0hFUkUgaWQ9JyRjaWQnDQoiOw0KaWYoISRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRpblF1ZXJ5KSkNCnsNCiAgICBTaG93TXNnKCKw0cr9vt2xo7Tmtb3K/b7dv+LKsbP2tO2jrMfrvOyy6aOhIi5zdHJfcmVwb2xhY2UoIiciLCJgIiwkZHNxbC0+R2V0RXJyb3IoKS4kaW5RdWVyeSksIi0xIik7DQogICAgJGRzcWwtPkNsb3NlKCk7DQogICAgZXhpdCgpOw0KfQ0KJGFyY0lEID0gJGNpZDsNCg0KLy/J+rPJSFRNTA0KLy8kYXJ0VXJsID0gTWFrZUFydCgkYXJjSUQsdHJ1ZSk7DQppZihlbXB0eSgkYXJ0Y29udGVudFVybCkpDQp7DQogICAgJGFydGNvbnRlbnRVcmw9IiI7DQp9DQppZigkYXJ0Y29udGVudFVybD09IiIpDQp7DQogICAgJGFydGNvbnRlbnRVcmwgPSAkY2ZnX21haW5zaXRlLiRjZmdfY21zcGF0aC4iL2Jvb2svc2hvdy1waG90by5waHA/aWQ9JGFyY0lEJmJvb2tpZD0kYm9va2lkJmNoYXB0ZXJpZD0kY2hhcHRlcmlkIjsNCn0NCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gJy4vaW5jbHVkZS9zdG9yeS52aWV3LmNsYXNzLnBocCcpOw0KJGJ2ID0gbmV3IEJvb2tWaWV3KCRib29raWQsICdib29rJyk7DQokYXJ0VXJsID0gJGJ2LT5NYWtlSHRtbCgpOw0KJGJ2LT5DbG9zZSgpOw0KDQovL7e1u9izybmm0MXPog0KJG1zZyA9ICINCqGhoaHH69Gh1PHE47XEuvPQ+LLZ1/ejug0KPGEgaHJlZj0nc3RvcnlfcGhvdG9fZWRpdC5waHA/Yz17JGNpZH0nPjx1PrzM0PjQ3rjEPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nJGFydFVybCcgdGFyZ2V0PSdfYmxhbmsnPjx1PtSkwMDC/rutPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nJGFydGNvbnRlbnRVcmwnIHRhcmdldD0nX2JsYW5rJz48dT7UpMDAxNrI3TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J3N0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPXskYm9va2lkfSc+PHU+udzA7cv509DE2sjdPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nbXlib29rcy5waHAnPjx1PrncwO3L+dPQzbzK6TwvdT48L2E+DQoiOw0KJHdpbnRpdGxlID0gIrPJuabQ3rjExNrI3aOhIjsNCiR3ZWNvbWVfaW5mbyA9ICLBrNTYudzA7To60N64xML+u63E2sjdIjsNCiR3aW4gPSBuZXcgT3hXaW5kb3coKTsNCiR3aW4tPkFkZFRpdGxlKCKzybmmt6KyvML+u62juiIpOw0KJHdpbi0+QWRkTXNnSXRlbSgkbXNnKTsNCiR3aW5mb3JtID0gJHdpbi0+R2V0V2luZG93KCJoYW5kIiwiJm5ic3A7IixmYWxzZSk7DQokd2luLT5EaXNwbGF5KCk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfbGlzdF9jaGFwdGVyLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvLi4vbWVtYmVyL2NvbmZpZy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiAiL2RhdGFsaXN0Y3AuY2xhc3MucGhwIik7DQpzZXRjb29raWUoIkVOVl9HT0JBQ0tfVVJMIiwgJGRlZGVOb3d1cmwsIHRpbWUoKSszNjAwLCIvIik7DQpDaGVja1JhbmsoMCwwKTsNCmlmKCFpc3NldCgkYWN0aW9uKSkgJGFjdGlvbiA9ICcnOw0KDQppZighaXNzZXQoJGtleXdvcmQpKSAka2V5d29yZCA9ICIiOw0KDQppZighaXNzZXQoJGJpZCkpICRiaWQgPSAwOw0KDQppZighZW1wdHkoJGJvb2tpZCkpICRiaWQgPSAkYm9va2lkOw0KDQokYWRkcXVlcnkgPSAiIG1pZD0nJGNmZ19tbC0+TV9JRCcgQU5EIGlkPjAgIjsNCiRvcmRlcmJ5ID0gIiBPUkRFUiBCWSBpZCBkZXNjICI7DQppZigka2V5d29yZCE9IiIpICRhZGRxdWVyeSAuPSAiIEFuZCAoYm9va25hbWUgTElLRSAnJSRrZXl3b3JkJScgT3IgY2hhcHRlcm5hbWUgTElLRSAnJSRrZXl3b3JkJScpICI7DQoNCmlmKCRiaWQhPTApICRhZGRxdWVyeSAuPSAiIEFuZCBib29raWQ9JyRiaWQnICI7DQoNCmlmKGVtcHR5KCRib29rbmFtZSkpICRib29rbmFtZSA9ICcnOw0KDQppZihlbXB0eSgkYm9va3R5cGUpKSAkYm9va3R5cGUgPSAnMCc7DQoNCiRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgYm9va25hbWUsYm9va3R5cGUgRlJPTSAjQF9fc3RvcnlfYm9va3MgV0hFUkUgYmlkID0gJyRib29raWQnIik7DQppZihpc19hcnJheSgkcm93KSkNCnsNCiRib29rbmFtZSA9ICRyb3dbJ2Jvb2tuYW1lJ107DQokYm9va3R5cGUgPSAkcm93Wydib29rdHlwZSddOw0KfQ0KJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NoYXB0ZXIgV0hFUkUgJGFkZHF1ZXJ5ICRvcmRlcmJ5IjsNCg0KJGRsaXN0ID0gbmV3IERhdGFMaXN0Q1AoKTsNCiRkbGlzdC0+cGFnZVNpemUgPSAyMDsNCiRkbGlzdC0+U2V0UGFyYW1ldGVyKCJrZXl3b3JkIiwgJGtleXdvcmQpOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImJpZCIsICRiaWQpOw0KJGRsaXN0LT5TZXRUZW1wbGF0ZShkaXJuYW1lKF9fRklMRV9fKS4gIi90ZW1wbGV0cy9ib29rL3N0b3J5X2xpc3RfY2hhcHRlci5odG0iKTsNCiRkbGlzdC0+U2V0U291cmNlKCRxdWVyeSk7DQokZGxpc3QtPkRpc3BsYXkoKTsNCiRkbGlzdC0+Q2xvc2UoKTsNCj8+
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfbGlzdF9jb250ZW50LnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvLi4vbWVtYmVyL2NvbmZpZy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiAiL2RhdGFsaXN0Y3AuY2xhc3MucGhwIik7DQpzZXRjb29raWUoIkVOVl9HT0JBQ0tfVVJMIiwgJGRlZGVOb3d1cmwsIHRpbWUoKSszNjAwLCIvIik7DQpDaGVja1JhbmsoMCwgMCk7DQokbWVudXR5cGUgPSAnbXlkZWRlJzsNCmlmKCFpc3NldCgkYWN0aW9uKSkgJGFjdGlvbiA9ICcnOw0KDQppZighaXNzZXQoJGJvb2t0eXBlKSkgJGJvb2t0eXBlID0gJy0xJzsNCg0KaWYoIWlzc2V0KCRrZXl3b3JkKSkgJGtleXdvcmQgPSAiIjsNCg0KaWYoIWlzc2V0KCRvcmRlcmJ5KSkgJG9yZGVyYnkgPSAwOw0KDQppZighaXNzZXQoJGJvb2tpZCkpICRib29raWQgPSAwOw0KDQoNCmlmKCFpc3NldCgkY2hhcGlkKSkgJGNoYXBpZCA9IDA7DQoNCiRhZGRxdWVyeSA9ICIiOw0KJG9yZGVyYnkgPSAiIG9yZGVyIGJ5IGN0LmlkIGRlc2MgIjsNCmlmKCRib29rdHlwZSE9Jy0xJykgJGFkZHF1ZXJ5IC49ICIgQW5kIGN0LmJvb2t0eXBlPSckYm9va3R5cGUnICI7DQoNCmlmKCRrZXl3b3JkIT0iIikgJGFkZHF1ZXJ5IC49ICIgQW5kIChjdC5ib29rbmFtZSBsaWtlICclJGtleXdvcmQlJyBPciBjdC50aXRsZSBsaWtlICclJGtleXdvcmQlJykgIjsNCg0KaWYoJGJvb2tpZCE9MCkgJGFkZHF1ZXJ5IC49ICIgQW5kIGN0LmJvb2tpZD0nJGJvb2tpZCcgIjsNCg0KaWYoJGNoYXBpZCE9MCkgJGFkZHF1ZXJ5IC49ICIgQW5kIGN0LmNoYXB0ZXJpZD0nJGNoYXBpZCcgIjsNCg0KaWYoZW1wdHkoJGJvb2tuYW1lKSkgJGJvb2tuYW1lID0gJyc7DQoNCmlmKGVtcHR5KCRib29rdHlwZSkpICRib29rdHlwZSA9ICcwJzsNCg0KJHF1ZXJ5ID0gIg0KICAgU0VMRUNUIGN0LmlkLGN0LnRpdGxlLGN0LmJvb2tpZCxjdC5jaGFwdGVyaWQsY3Quc29ydGlkLGN0LmJvb2tuYW1lLGN0LmFkZHRpbWUsY3QuYm9va3R5cGUsYy5jaGFwdGVybmFtZSxjLmNoYXBudW0gRlJPTSAjQF9fc3RvcnlfY29udGVudCAgY3QNCiAgIExFRlQgSk9JTiAjQF9fc3RvcnlfY2hhcHRlciBjIE9OIGMuaWQgPSBjdC5jaGFwdGVyaWQgV0hFUkUgYy5taWQ9JGNmZ19tbC0+TV9JRCBBTkQgY3QuaWQ+MCAkYWRkcXVlcnkgJG9yZGVyYnkNCiI7DQokcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGJvb2tuYW1lLGJvb2t0eXBlIEZST00gICNAX19zdG9yeV9ib29rcyBXSEVSRSBiaWQgPSAnJGJvb2tpZCciKTsNCmlmKGlzX2FycmF5KCRyb3cpKXsNCiRib29rbmFtZSA9ICRyb3dbJ2Jvb2tuYW1lJ107DQokYm9va3R5cGUgPSAkcm93Wydib29rdHlwZSddOw0KfQ0KLy9lY2hvICRxdWVyeTsNCiRkbGlzdCA9IG5ldyBEYXRhTGlzdENQKCk7DQokZGxpc3QtPnBhZ2VTaXplID0gMjA7DQokZGxpc3QtPlNldFBhcmFtZXRlcigia2V5d29yZCIsICRrZXl3b3JkKTsNCiRkbGlzdC0+U2V0UGFyYW1ldGVyKCJib29rdHlwZSIsICRib29rdHlwZSk7DQokZGxpc3QtPlNldFBhcmFtZXRlcigiYm9va2l0IiwgJGJvb2tpZCk7DQokZGxpc3QtPlNldFBhcmFtZXRlcigiY2hhcGlkIiwgJGNoYXBpZCk7DQokZGxpc3QtPlNldFRlbXBsYXRlKGRpcm5hbWUoX19GSUxFX18pLiAiL3RlbXBsZXRzL2Jvb2svc3RvcnlfbGlzdF9jb250ZW50Lmh0bSIpOw0KJGRsaXN0LT5TZXRTb3VyY2UoJHF1ZXJ5KTsNCiRkbGlzdC0+RGlzcGxheSgpOw0KJGRsaXN0LT5DbG9zZSgpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfcGhvdG9fZWRpdC5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCiANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iLy4uL21lbWJlci9jb25maWcucGhwIik7DQpDaGVja1JhbmsoMCwgMCk7DQokbWVudXR5cGUgPSAnbXlkZWRlJzsNCmlmKCFpc3NldCgkYWN0aW9uKSkNCnsNCiAgICAkYWN0aW9uID0gJyc7DQp9DQppZihlbXB0eSgkY2lkKSkNCnsNCiAgICBTaG93TXNnKCKyzsr9tO3O86OhIiwgIi0xIik7DQogICAgZXhpdCgpOw0KfQ0KDQovL7bByKHL+dPQwLjEvw0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2xhc3NuYW1lLHBpZCxyYW5rIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgT1JERVIgQlkgcmFuayBhc2MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokcmFua3MgPSBBcnJheSgpOw0KJGJ0eXBlcyA9IEFycmF5KCk7DQokc3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICBpZigkcm93WydwaWQnXT09MCkNCiAgICB7DQogICAgICAgICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHN0eXBlc1skcm93WydwaWQnXV1bJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KfQ0KJGxhc3RpZCA9ICRyb3dbJ2lkJ107DQokY29udGVudHMgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jb250ZW50IFdIRVJFIGlkPSckY2lkJyAiKTsNCiRib29raW5mb3MgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY2F0aWQsYmNhdGlkLGJvb2tuYW1lLGJvb2t0eXBlIEZST00gI0BfX3N0b3J5X2Jvb2tzIFdIRVJFIGJpZD0neyRjb250ZW50c1snYm9va2lkJ119JyAiKTsNCmlmKCFpc19hcnJheSgkYm9va2luZm9zKSkNCnsNCiAgICBTaG93TXNnKCfNvMrpSUS07c7zo6zH67e1u9gnLCctMScpOw0KICAgIGV4aXQ7DQp9DQokY2F0aWQgPSAkYm9va2luZm9zWydjYXRpZCddOw0KJGJjYXRpZCA9ICRib29raW5mb3NbJ2JjYXRpZCddOw0KJGJvb2tuYW1lID0gJGJvb2tpbmZvc1snYm9va25hbWUnXTsNCiRib29rdHlwZSA9ICRib29raW5mb3NbJ2Jvb2t0eXBlJ107DQokYm9va2lkID0gJGNvbnRlbnRzWydib29raWQnXTsNCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNoYXBudW0sY2hhcHRlcm5hbWUgRlJPTSAjQF9fc3RvcnlfY2hhcHRlciBXSEVSRSBib29raWQ9J3skY29udGVudHNbJ2Jvb2tpZCddfScgT1JERVIgQlkgY2hhcG51bSBERVNDIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJGNoYXB0ZXJzID0gQXJyYXkoKTsNCiRjaGFwbnVtcyA9IEFycmF5KCk7DQp3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpew0KICAgICRjaGFwdGVyc1skcm93WydpZCddXSA9ICRyb3dbJ2NoYXB0ZXJuYW1lJ107DQogICAgJGNoYXBudW1zWyRyb3dbJ2lkJ11dID0gJHJvd1snY2hhcG51bSddOw0KfQ0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvdGVtcGxldHMvYm9vay9zdG9yeV9waG90b19lZGl0Lmh0bSIpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3Rvcnlfc3Rvdy5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vbWVtYmVyL2NvbmZpZy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvZGF0YWxpc3RjcC5jbGFzcy5waHAiKTsNCnNldGNvb2tpZSgiRU5WX0dPQkFDS19VUkwiLCRkZWRlTm93dXJsLHRpbWUoKSszNjAwLCIvIik7DQpDaGVja1JhbmsoMCwwKTsNCiRtZW51dHlwZSA9ICdteWRlZGUnOw0KaWYoIWlzc2V0KCRhY3Rpb24pKQ0Kew0KICAgICRhY3Rpb24gPSAnJzsNCn0NCmlmKCFpc3NldCgkY2F0aWQpKQ0Kew0KICAgICRjYXRpZCA9IDA7DQp9DQppZighaXNzZXQoJGtleXdvcmQpKQ0Kew0KICAgICRrZXl3b3JkID0gIiI7DQp9DQppZighaXNzZXQoJG9yZGVyYnkpKQ0Kew0KICAgICRvcmRlcmJ5ID0gMDsNCn0NCmlmKCFpc3NldCgkY2lkKSkNCnsNCiAgICAkY2lkID0gMDsNCn0NCg0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgYXNjIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQp3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQp7DQogICAgaWYoJHJvd1sncGlkJ109PTApDQogICAgew0KICAgICAgICAkYnR5cGVzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRzdHlwZXNbJHJvd1sncGlkJ11dWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgICRyYW5rc1skcm93WydpZCddXSA9ICRyb3dbJ3JhbmsnXTsNCn0NCiRhZGRxdWVyeSA9ICIiOw0KJG9yZGVyYnkgPSAiIE9SREVSIEJZIGIuYmlkIGRlc2MgIjsNCmlmKCRjYXRpZCE9MCkNCnsNCiAgICAkYWRkcXVlcnkgLj0gIiBBbmQgKGIuYmNhdGlkPSckY2F0aWQnIE9SIGIuY2F0aWQ9JyRjYXRpZCcpICI7DQp9DQppZigka2V5d29yZCE9IiIpDQp7DQogICAgJGFkZHF1ZXJ5IC49ICIgQW5kIChiLmJvb2tuYW1lIExJS0UgJyUka2V5d29yZCUnIE9SIGIuYXV0aG9yIExJS0UgJyUka2V5d29yZCUnKSAiOw0KfQ0KJHF1ZXJ5ID0gIg0KICAgU0VMRUNUIGIuYmlkLGIuY2F0aWQsYi5ib29rbmFtZSxiLmJvb2t0eXBlLGIubGl0cGljLGIucG9zdG51bSxiLnNlbmRkYXRlLGIuaXNjaGVjaywgYy5pZCBBUyBjaWQsYy5jbGFzc25hbWUgRlJPTSAjQF9fc3RvcnlfYm9va3MgYg0KICAgTEVGVCBKT0lOICNAX19zdG9yeV9jYXRhbG9nIGMgT04gYy5pZCA9IGIuY2F0aWQgV0hFUkUgbWlkPXskY2ZnX21sLT5NX0lEfSBBTkQgYi5iaWQ+MCAkYWRkcXVlcnkgJG9yZGVyYnkNCiI7DQokZGxpc3QgPSBuZXcgRGF0YUxpc3RDUCgpOw0KJGRsaXN0LT5wYWdlU2l6ZSA9IDIwOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImtleXdvcmQiLCRrZXl3b3JkKTsNCiRkbGlzdC0+U2V0UGFyYW1ldGVyKCJjYXRpZCIsJGNpZCk7DQokZGxpc3QtPlNldFBhcmFtZXRlcigib3JkZXJieSIsJG9yZGVyYnkpOw0KJGRsaXN0LT5TZXRUZW1wbGF0ZShkaXJuYW1lKF9fRklMRV9fKS4iL3RlbXBsZXRzL2Jvb2svc3Rvcnlfc3Rvdy5odG0iKTsNCiRkbGlzdC0+U2V0U291cmNlKCRxdWVyeSk7DQokZGxpc3QtPkRpc3BsYXkoKTsNCiRkbGlzdC0+Q2xvc2UoKTsNCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+0MLU9srpxL88L3RpdGxlPg0KPGxpbmsgaHJlZj0iLi4vbWVtYmVyL3RlbXBsZXRzL3N0eWxlL2Jhc2UuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2ltYWdlcy9qcy9qLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9tZW1iZXIvdGVtcGxldHMvanMvdGFibGVfZnVuY3Rpb24uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBpZD0ibWFpbiI+DQogIDw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi4vdGVtcGxldHMvaGVhZC5odG0iKTsgPz4NCiAgPGRpdiBpZD0iY29udGVudCIgY2xhc3M9Inc5NjAgY2xlYXJmaXgiPg0KICAgIDw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi90ZW1wbGV0cy9tZW51LnBocCIpOyA/Pg0KICAgIDxkaXYgaWQ9Im1jcG1haW4iPg0KICAgICAgPGRpdiBpZD0iYXBwVGFiIj4NCiAgICAgICAgPHVsPg0KICAgICAgICAgIDxsaSBjbGFzcz0idGhpc1RhYiI+PGEgaHJlZj0ibXlib29rcy5waHAiPjxzcGFuPsGs1NjK6cS/PC9zcGFuPjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBocmVmPSJzdG9yeV9saXN0X2NvbnRlbnQucGhwIj48c3Bhbj7BrNTYxNrI3Twvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBpZD0ibWFpbkNwIj4NCiAgICAgIDxoMyBjbGFzcz0ibWVUaXRsZSI+PHN0cm9uZz4mbmJzcDvQwtT2yunEvzwvc3Ryb25nPjwvaDM+ICANCiAgICAgICAgPGZvcm0gY2xhc3M9Im1MMTAgbVIxMCBtVEIxMCIgbmFtZT0iZm9ybTEiIGFjdGlvbj0ic3RvcnlfYWRkX2FjdGlvbi5waHAiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0icG9zdCIgb25zdWJtaXQ9InJldHVybiBjaGVja1N1Ym1pdEFkZCgpOyI+DQogICAgICAgICAgPHRhYmxlIGNlbGxzcGFjaW5nPSIxIiBjbGFzcz0ic3VibWl0Ij4NCiAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjE1JSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+waXK9MC4xL+jujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjxzZWxlY3QgbmFtZT0iY2F0aWQiIGlkPSJjYXRpZCI+DQogICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9JzAnPsfr0aHU8cC4xL88L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgPD9waHANCgkJCQkJCQkJCWlmKCFpc3NldCgkY2F0aWQpKSAkY2F0aWQgPSAwOw0KCQkJCQkJCQkJZm9yZWFjaCgkYnR5cGVzIGFzICRrPT4kdil7DQoJCQkJCQkJCQkJaWYoJGNhdGlkIT0kaykgZWNobyAiPG9wdGlvbiB2YWx1ZT0nJGsnPlt7JGJvb2t0eXBlc1ska119XSR2PC9vcHRpb24+XHJcbiI7DQoJCQkJCQkJCQkJZWxzZSBlY2hvICI8b3B0aW9uIHZhbHVlPSckaycgc2VsZWN0ZWQ+W3skYm9va3R5cGVzWyRrXX1dJHY8L29wdGlvbj5cclxuIjsNCgkJCQkJCQkJCQlmb3JlYWNoKCRzdHlwZXNbJGtdIGFzICRraz0+JHZ2KXsNCgkJCQkJCQkJCQkJaWYoJGNhdGlkIT0ka2spICBlY2hvICI8b3B0aW9uIHZhbHVlPScka2snPiAtLVt7JGJvb2t0eXBlc1ska119XSR2djwvb3B0aW9uPlxyXG4iOw0KCQkJCQkJCQkJCQllbHNlIGVjaG8gIjxvcHRpb24gdmFsdWU9JyRraycgc2VsZWN0ZWQ+IC0tW3skYm9va3R5cGVzWyRrXX1dJHZ2PC9vcHRpb24+XHJcbiI7DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJfQ0KCQkJCQkJCQk/Pg0KICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+PC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj7K6cP7o7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0iYm9va25hbWUiIHR5cGU9InRleHQiIGNsYXNzPSJ0ZXh0IiBpZD0iYm9va25hbWUiIHNpemU9IjQ1IiAvPjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+1/fV36O6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9ImF1dGhvciIgdHlwZT0idGV4dCIgY2xhc3M9InRleHQiIGlkPSJhdXRob3IiIHZhbHVlPSI8P3BocCBlY2hvICRjZmdfbWwtPk1fVXNlck5hbWU/PiIgc2l6ZT0iOCIgLz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPsnPvNzKsbzko7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0icHViZGF0ZSIgdHlwZT0idGV4dCIgY2xhc3M9InRleHQiIGlkPSJwdWJkYXRlIiB2YWx1ZT0iPD9waHAgZWNobyBHZXREYXRlVGltZU1rKHRpbWUoKSk7ID8+IiBzaXplPSIyMiIgLz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPrnYvPzX1qO6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9ImtleXdvcmRzIiB0eXBlPSJ0ZXh0IiBjbGFzcz0idGV4dCIgaWQ9ImtleXdvcmRzIiBzaXplPSI1MCIgLz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPrfiw+bNvMaso7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0ibGl0cGljIiB0eXBlPSJmaWxlIiBpZD0ibGl0cGljIiBzaXplPSIzNSIgb25jaGFuZ2U9IlNlZVBpYygkT2JqKCdwaWN2aWV3JyksJE9iaignbGl0cGljJykpOyIgLz4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvcHZpZXcuZ2lmIiBhbHQ9Irfiw+YiIG5hbWU9InBpY3ZpZXciIHdpZHRoPSIxMjAiIGhlaWdodD0iOTYiIGhzcGFjZT0iOCIgdnNwYWNlPSI4IiBpZD0icGljdmlldyIgLz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPtWq0qqjujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjx0ZXh0YXJlYSBzdHlsZT0id2lkdGg6ODAlIiBuYW1lPSJkZXNjcmlwdGlvbiIgY29scz0iMzUiIHJvd3M9IjQiIGlkPSJkZXNjcmlwdGlvbiI+PC90ZXh0YXJlYT48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPsTayN2jujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjw/cGhwIEdldEVkaXRvcigiYm9keSIsIiIsMzAwLCJNZW1iZXJMaXQiKTs/PjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgPHRmb290Pg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGhlaWdodD0iNDUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwOzwvdGQ+DQogICAgICAgICAgICAgICAgPHRkIGhlaWdodD0iNDUiPjxidXR0b24gY2xhc3M9ImJ1dHRvbjIiIHR5cGU9InN1Ym1pdCI+zOG9uzwvYnV0dG9uPjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3Rmb290Pg0KICAgICAgICAgIDwvdGFibGU+DQogICAgICAgIDwvZm9ybT4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDwhLS3W97LZ1/fH+NPyIC0tPg0KICAgICAgPC9kaXY+DQogPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCjw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi90ZW1wbGV0cy9mb290Lmh0bSIpOyA/Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQoNCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+0MLU9sGs1NjE2sjdPC90aXRsZT4NCjxsaW5rIGhyZWY9Ii4uL21lbWJlci90ZW1wbGV0cy9zdHlsZS9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9pbWFnZXMvanMvai5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vbWVtYmVyL3RlbXBsZXRzL2pzL3RhYmxlX2Z1bmN0aW9uLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9tYWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9zdG9yeS5qcyI+PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keT4NCjxkaXYgaWQ9Im1haW4iPg0KICA8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4uL3RlbXBsZXRzL2hlYWQuaHRtIik7ID8+DQogIDxkaXYgaWQ9ImNvbnRlbnQiIGNsYXNzPSJ3OTYwIGNsZWFyZml4Ij4NCiAgICA8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4vdGVtcGxldHMvbWVudS5waHAiKTsgPz4NCiAgICA8ZGl2IGlkPSJtY3BtYWluIj4NCiAgICAgIDxkaXYgaWQ9ImFwcFRhYiI+DQogICAgICAgIDx1bD4NCiAgICAgICAgICA8bGkgY2xhc3M9InRoaXNUYWIiPjxhIGhyZWY9Im15Ym9va3MucGhwIj48c3Bhbj7BrNTYyunEvzwvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgICA8bGk+PGEgaHJlZj0ic3RvcnlfbGlzdF9jb250ZW50LnBocCI+PHNwYW4+wazU2MTayN08L3NwYW4+PC9hPjwvbGk+DQogICAgICAgIDwvdWw+DQogICAgICA8L2Rpdj4NCiAgICAgIDx1bCBjbGFzcz0idGFiU3ViIj4NCiAgICAgICAgPGxpIDw/cGhwIGVjaG8gKCRhcmNyYW5rPT0nJyk/ICJjbGFzcz0ndGhpc1RhYiciIDogIiI7Pz4+PGEgaHJlZj0ic3RvcnlfYWRkX2NvbnRlbnQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Ij48c3Bhbj7QwtT2wazU2Dwvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPGxpIDw/cGhwIGVjaG8gKCRhcmNyYW5rPT0nMScpPyAiY2xhc3M9J3RoaXNUYWInIiA6ICIiOz8+PjxhIGhyZWY9InN0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4iPjxzcGFuPsGs1NjE2sjdPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICA8bGkgPD9waHAgZWNobyAoJGFyY3Jhbms9PSctMScpPyAiY2xhc3M9J3RoaXNUYWInIiA6ICIiOz8+PjxhIGhyZWY9InN0b3J5X2xpc3RfY2hhcHRlci5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4iPjxzcGFuPsrpxL/Vwr3aPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICA8bGkgPD9waHAgZWNobyAoJGFyY3Jhbms9PSctMicpPyAiY2xhc3M9J3RoaXNUYWInIiA6ICIiOz8+PjxhIGhyZWY9InN0b3J5X2VkaXQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Ij48c3Bhbj7K6cS/18rBzzwvc3Bhbj48L2E+PC9saT4NCiAgICAgIDwvdWw+DQogICAgICA8ZGl2IGlkPSJtYWluQ3AiPg0KICAgICAgPGgzIGNsYXNzPSJtZVRpdGxlIj48c3Ryb25nPiZuYnNwO9DC1PbBrNTYPC9zdHJvbmc+PC9oMz4gIA0KICAgICAgICA8Zm9ybSBjbGFzcz0ibUwxMCBtUjEwIG1UQjEwIiBhY3Rpb249InN0b3J5X2FkZF9jb250ZW50X2FjdGlvbi5waHAiIG1ldGhvZD0icG9zdCIgb25zdWJtaXQ9InJldHVybiBjaGVja1N1Ym1pdEFkZEN0KCk7Ij4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJib29raWQiIHZhbHVlPSI8P3BocCBlY2hvICRib29raWQ7ID8+IiAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNhdGlkIiB2YWx1ZT0iPD9waHAgZWNobyAkY2F0aWQ7ID8+IiAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImJvb2tuYW1lIiB2YWx1ZT0iPD9waHAgZWNobyBzdHJfcmVwbGFjZSgiJyIsImAiLCRib29rbmFtZSk7ID8+IiAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImJvb2t0eXBlIiB2YWx1ZT0iPD9waHAgZWNobyAkYm9va3R5cGU7ID8+IiAvPg0KICAgICAgICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMSIgY2xhc3M9InN1Ym1pdCIgd2lkdGg9IjEwMCUiPg0KICAgICAgICAgICAgPHRib2R5Pg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIxNSUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPsGlyvTBrNTYo7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICRib29rbmFtZTsgPz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPtChvdqx6szio7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0idGl0bGUiIHR5cGU9InRleHQiIGNsYXNzPSJ0ZXh0IiBpZD0idGl0bGUiIHZhbHVlPSIiIHNpemU9IjQ1IiAvPjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+waXK9NXCvdqjujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjw/cGhwIA0KCQkJCQkJCQlpZihjb3VudCgkY2hhcHRlcnMpPjApew0KCQkJCQkJCT8+DQogICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9ImNoYXB0ZXJpZCIgc2l6ZT0iNSIgaWQ9ImNoYXB0ZXJpZCI+DQogICAgICAgICAgICAgICAgICAgIDw/cGhwDQoJCQkJCQkJCSRvayA9IGZhbHNlOw0KCQkJCQkJCQlmb3JlYWNoKCRjaGFwdGVycyBhcyAkaz0+JHYpew0KCQkJCQkJCQkJaWYoISRvayl7ICRvaz10cnVlOyBlY2hvICIgICAgPG9wdGlvbiB2YWx1ZT0nJGsnIHNlbGVjdGVkPrXaeyRjaGFwbnVtc1ska1191cIgJHY8L29wdGlvbj5cclxuIjsgfQ0KCQkJCQkJCQkJZWxzZSBlY2hvICIgICAgPG9wdGlvbiB2YWx1ZT0nJGsnPrXaeyRjaGFwbnVtc1ska1191cIgJHY8L29wdGlvbj5cclxuIjsNCgkJCQkJCQkJfQ0KCQkJCQkJCQk/Pg0KICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgICA8aHIgLz4NCiAgICAgICAgICAgICAgICAgIDw/cGhwDQoJCQkJCQkJCX0NCgkJCQkJCQkNCgkJCQkJCQk/Pg0KICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImFkZGNoYXB0ZXIiIHR5cGU9ImNoZWNrYm94IiBpZD0iYWRkY2hhcHRlciIgdmFsdWU9IjEiIDw/cGhwIGVjaG8oY291bnQoJGNoYXB0ZXJzKT4wID8gIiIgOiAiIGNoZWNrZWQiKTsgPz4gLz4NCiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9ImFkZGNoYXB0ZXIiPsztvNPQwtXCvdo6PC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJjaGFwdGVybmV3IiBjbGFzcz0idGV4dCIgdHlwZT0idGV4dCIgaWQ9ImNoYXB0ZXJuZXciIHNpemU9IjMwIiB2YWx1ZT0ixKzIz9XCvdoiIHN0eWxlPSJ3aWR0aDoxMzVweDsiIC8+DQogICAgICAgICAgICAgICAgICDI9M7ev8nRodXCvdq78tLR09DVwr3aveHK+KOsx+vM7tC00MLVwr3aw/uzxqOszt7Q6LzTobC12ljVwqGx1eLR+bXE19bR+SA8L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPtXCvdrE2sjdo7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48P3BocCBHZXRFZGl0b3IoImJvZHkiLCIiLDMwMCwiTWVtYmVyTGl0Iik7Pz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgIDx0Zm9vdD4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjQ1IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDs8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjQ1Ij48YnV0dG9uIGNsYXNzPSJidXR0b24yIiB0eXBlPSJzdWJtaXQiPszhvbs8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbjIgbUwxMCIgdHlwZT0icmVzZXQiIG9uY2xpY2s9ImxvY2F0aW9uLnJlbG9hZCgpOyI+1tjWwzwvYnV0dG9uPjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3Rmb290Pg0KICAgICAgICAgIDwvdGFibGU+DQogICAgICAgIDwvZm9ybT4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDwhLS3W97LZ1/fH+NPyIC0tPg0KICAgICAgPC9kaXY+DQogPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCjw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi90ZW1wbGV0cy9mb290Lmh0bSIpOyA/Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRlbnQ9J3RleHQvaHRtbDsgY2hhcnNldD1nYjIzMTInPg0KPHRpdGxlPtDC1PbBrNTYxNrI3TwvdGl0bGU+DQo8bGluayBocmVmPSIuLi9tZW1iZXIvdGVtcGxldHMvc3R5bGUvYmFzZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vaW1hZ2VzL2pzL2ouanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL21lbWJlci90ZW1wbGV0cy9qcy90YWJsZV9mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vaW5jbHVkZS9kZWRlYWpheDIuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InN0b3J5LmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KZnVuY3Rpb24gQ2hlY2tTZWxUYWJsZShubnVtKXsNCgl2YXIgY2JveCA9ICRPYmooJ2lzb2tjaGVjaycrbm51bSk7DQoJdmFyIHNlbHRiID0gJE9iaignc2VsdGInK25udW0pOw0KCWlmKGNib3guY2hlY2tlZCkgc2VsdGIuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCgllbHNlIHNlbHRiLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KfQ0KDQp2YXIgc3RhcnROdW0gPSAxOw0KZnVuY3Rpb24gTWFrZVVwbG9hZChtbnVtKQ0Kew0KICAgdmFyIGVuZE51bSA9IDA7DQogICB2YXIgdXBmaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGxvYWRmaWVsZCIpOw0KICAgdmFyIHBudW1PYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGljbnVtIik7DQogICB2YXIgZmh0bWwgPSAiIjsNCiANCiAgIGlmKG1udW09PTApIGVuZE51bSA9IHN0YXJ0TnVtICsgTnVtYmVyKHBudW1PYmoudmFsdWUpOw0KICAgZWxzZSBlbmROdW0gPSBtbnVtOw0KICAgaWYoZW5kTnVtPjEyMCkgZW5kTnVtID0gMTIwOw0KICAgDQogICBmb3Ioc3RhcnROdW07c3RhcnROdW0gPCBlbmROdW07c3RhcnROdW0rKyl7DQoJICAgZmh0bWwgPSAiIjsNCgkgICBmaHRtbCArPSAiPHRhYmxlIHdpZHRoPSc5MCUnPjx0cj48dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdpc29rY2hlY2siK3N0YXJ0TnVtKyInIGlkPSdpc29rY2hlY2siK3N0YXJ0TnVtKyInIHZhbHVlPScxJyBjbGFzcz0nbVQxMCcgb25DbGljaz0nQ2hlY2tTZWxUYWJsZSgiK3N0YXJ0TnVtKyIpJz7P1Mq+L9L+stjNvMasWyIrc3RhcnROdW0rIl21xNGhv/I8L3RkPjwvdHI+PC90YWJsZT4iOw0KCSAgIGZodG1sICs9ICI8dGFibGUgd2lkdGg9XCI5MCVcIiBib3JkZXI9XCIwXCIgaWQ9XCJzZWx0YiIrc3RhcnROdW0rIlwiIGNlbGxwYWRkaW5nPVwiMVwiIGNlbGxzcGFjaW5nPVwiMVwiIGJnY29sb3I9XCIjRThGNUQ2XCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOjZweDttYXJnaW4tbGVmdDoxMHB4XCI+PHRvYmR5PiI7DQoJICAgZmh0bWwgKz0gIjx0ciBiZ2NvbG9yPVwiI0Y0RjlERFwiPlxyXG4iOw0KCSAgIGZodG1sICs9ICI8dGQgaGVpZ2h0PVwiMjVcIiBjb2xzcGFuPVwiMlwiPqGhPHN0cm9uZz7NvMasIitzdGFydE51bSsio7o8L3N0cm9uZz48L3RkPiI7DQoJICAgZmh0bWwgKz0gIjwvdHI+IjsNCgkgICBmaHRtbCArPSAiPHRyIGJnY29sb3I9XCIjRkZGRkZGXCI+ICI7DQoJICAgZmh0bWwgKz0gIjx0ZCB3aWR0aD1cIjcwJVwiIGhlaWdodD1cIjI1XCI+IKGhsb612MnPtKujuiAiOw0KCSAgIGZodG1sICs9ICI8aW5wdXQgdHlwZT1cImZpbGVcIiBuYW1lPSdpbWdmaWxlIitzdGFydE51bSsiJyBzdHlsZT1cIndpZHRoOjMzMHB4XCIgIG9uQ2hhbmdlPVwiU2VlUGljKGRvY3VtZW50LnBpY3ZpZXciK3N0YXJ0TnVtKyIsZG9jdW1lbnQuZm9ybTEuaW1nZmlsZSIrc3RhcnROdW0rIik7XCI+PC90ZD4iOw0KCSAgIGZodG1sICs9ICI8dGQgcm93c3Bhbj1cIjNcIiBhbGlnbj1cImNlbnRlclwiPjxpbWcgc3JjPVwiaW1hZ2VzL3B2aWV3LmdpZlwiIHdpZHRoPVwiMTUwXCIgaWQ9XCJwaWN2aWV3IitzdGFydE51bSsiXCIgbmFtZT1cInBpY3ZpZXciK3N0YXJ0TnVtKyJcIj48L3RkPiI7DQoJICAgZmh0bWwgKz0gIjwvdHI+IjsNCgkgICBmaHRtbCArPSAiPHRyIGJnY29sb3I9XCIjRkZGRkZGXCI+ICI7DQoJICAgZmh0bWwgKz0gIjx0ZCBoZWlnaHQ9XCIyNVwiPiChoda4tqjN+Na3o7ogIjsNCgkgICBmaHRtbCArPSAiPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT0naW1ndXJsIitzdGFydE51bSsiJyBzdHlsZT1cIndpZHRoOjI2MHB4XCI+ICI7DQoJICAgZmh0bWwgKz0gIjxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgbmFtZT0nc2VscGljIitzdGFydE51bSsiJyB2YWx1ZT1cItGhyKFcIiBzdHlsZT1cIndpZHRoOjY1cHhcIiBvbkNsaWNrPVwiU2VsZWN0SW1hZ2VOKCdmb3JtMS5pbWd1cmwiK3N0YXJ0TnVtKyInLCdiaWcnLCdwaWN2aWV3IitzdGFydE51bSsiJylcIj4iOw0KCSAgIGZodG1sICs9ICI8L3RkPjwvdHI+IjsNCgkgICBmaHRtbCArPSAiPHRyIGJnY29sb3I9XCIjRkZGRkZGXCI+ICI7DQoJICAgZmh0bWwgKz0gIjx0ZCBoZWlnaHQ9XCIyNVwiPqGhwv67rbHqzOKjuiAiOw0KCSAgIGZodG1sICs9ICI8aW5wdXQgY2xhc3M9J3RleHQnIHR5cGU9J3RleHQnIG5hbWU9J3RpdGxlIitzdGFydE51bSsiJyBzdHlsZT1cIndpZHRoOjI1M3B4XCIvPiA8L3RkPiI7DQoJICAgZmh0bWwgKz0gIjwvdHI+PC90b2JkeT48L3RhYmxlPlxyXG4iOw0KCSAgIHVwZmllbGQuaW5uZXJIVE1MICs9IGZodG1sOw0KICB9DQp9DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBpZD0ibWFpbiI+DQogIDw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi4vdGVtcGxldHMvaGVhZC5odG0iKTsgPz4NCiAgPGRpdiBpZD0iY29udGVudCIgY2xhc3M9Inc5NjAgY2xlYXJmaXgiPg0KICAgIDw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi90ZW1wbGV0cy9tZW51LnBocCIpOyA/Pg0KICAgIDxkaXYgaWQ9Im1jcG1haW4iPg0KICAgICAgPGRpdiBpZD0iYXBwVGFiIj4NCiAgICAgICAgPHVsPg0KICAgICAgICAgIDxsaSBjbGFzcz0idGhpc1RhYiI+PGEgaHJlZj0ibXlib29rcy5waHAiPjxzcGFuPsGs1NjK6cS/PC9zcGFuPjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBocmVmPSJzdG9yeV9saXN0X2NvbnRlbnQucGhwIj48c3Bhbj7BrNTYxNrI3Twvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPHVsIGNsYXNzPSJ0YWJTdWIiPg0KICAgICAgICA8bGkgPD9waHAgZWNobyAoJGFyY3Jhbms9PScnKT8gImNsYXNzPSd0aGlzVGFiJyIgOiAiIjs/Pj48YSBocmVmPSJzdG9yeV9hZGRfY29udGVudC5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4iPjxzcGFuPtDC1PbBrNTYPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICA8bGkgPD9waHAgZWNobyAoJGFyY3Jhbms9PScxJyk/ICJjbGFzcz0ndGhpc1RhYiciIDogIiI7Pz4+PGEgaHJlZj0ic3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9PD9waHAgZWNobyAkYm9va2lkOyA/PiI+PHNwYW4+wazU2MTayN08L3NwYW4+PC9hPjwvbGk+DQogICAgICAgIDxsaSA8P3BocCBlY2hvICgkYXJjcmFuaz09Jy0xJyk/ICJjbGFzcz0ndGhpc1RhYiciIDogIiI7Pz4+PGEgaHJlZj0ic3RvcnlfbGlzdF9jaGFwdGVyLnBocD9ib29raWQ9PD9waHAgZWNobyAkYm9va2lkOyA/PiI+PHNwYW4+yunEv9XCvdo8L3NwYW4+PC9hPjwvbGk+DQogICAgICAgIDxsaSA8P3BocCBlY2hvICgkYXJjcmFuaz09Jy0yJyk/ICJjbGFzcz0ndGhpc1RhYiciIDogIiI7Pz4+PGEgaHJlZj0ic3RvcnlfZWRpdC5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4iPjxzcGFuPsrpxL/XysHPPC9zcGFuPjwvYT48L2xpPg0KICAgICAgPC91bD4NCiAgICAgIDxkaXYgaWQ9Im1haW5DcCI+DQogICAgICA8aDMgY2xhc3M9Im1lVGl0bGUiPjxzdHJvbmc+Jm5ic3A70MLU9srpxL88L3N0cm9uZz48L2gzPiAgICAgICAgDQogICAgICAgIDxmb3JtIGNsYXNzPSJtTDEwIG1SMTAgbVRCMTAiIGFjdGlvbj0nc3RvcnlfYWRkX3Bob3RvX2FjdGlvbi5waHAnIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0ncG9zdCcgb25zdWJtaXQ9InJldHVybiBjaGVja1N1Ym1pdEFkZFBob3RvKCk7Ij4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29raWQnIHZhbHVlPSc8P3BocCBlY2hvICRib29raWQ7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NhdGlkJyB2YWx1ZT0nPD9waHAgZWNobyAkY2F0aWQ7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2tuYW1lJyB2YWx1ZT0nPD9waHAgZWNobyBzdHJfcmVwbGFjZSgiJyIsImAiLCRib29rbmFtZSk7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2t0eXBlJyB2YWx1ZT0nPD9waHAgZWNobyAkYm9va3R5cGU7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3Bob3RvbnVtJyB2YWx1ZT0nNScgLz4NCiAgICAgICAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjEiIGNsYXNzPSJzdWJtaXQiIHdpZHRoPSIxMDAlIj4NCiAgICAgICAgICAgIDx0aGVhZD4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0aCBjb2xzcGFuPSIyIiA+PHN0cm9uZz7QwtT2wazU2Dwvc3Ryb25nPjwvdGg+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3RoZWFkPg0KICAgICAgICAgICAgPHRib2R5Pg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPsGlyvTNvMrpw/uzxqO6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PD9waHAgZWNobyAkYm9va25hbWU7ID8+PC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iMTUlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj7ErMjPserM4qO6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9InRpdGxlIiB0eXBlPSJ0ZXh0IiBjbGFzcz0idGV4dCIgaWQ9InRpdGxlIiBzaXplPSIzNSIgLz4NCiAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiDBpcr01cK92qO6IDwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjxzcGFuIGlkPSdzZWxjaGFwJyBzdHlsZT0iPD9waHAgZWNobyhjb3VudCgkY2hhcHRlcnMpPjAgPyAiZGlzcGxheTpibG9jayIgOiAiZGlzcGxheTpub25lIik7ID8+Ij4NCiAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0iY2hhcHRlcmlkIiBzaXplPSI1IiBpZD0iY2hhcHRlcmlkIiBzdHlsZT0id2lkdGg6MjUwcHgiPg0KICAgICAgICAgICAgICAgICAgICA8P3BocA0KICAgIAkkb2sgPSBmYWxzZTsNCiAgICAJZm9yZWFjaCgkY2hhcHRlcnMgYXMgJGs9PiR2KXsNCiAgICAJCWlmKCEkb2speyAkb2s9dHJ1ZTsgZWNobyAiICAgIDxvcHRpb24gdmFsdWU9JyRrJyBzZWxlY3RlZD612nskY2hhcG51bXNbJGtdfdXCICR2PC9vcHRpb24+XHJcbiI7IH0NCiAgICAJCWVsc2UgZWNobyAiICAgIDxvcHRpb24gdmFsdWU9JyRrJz612nskY2hhcG51bXNbJGtdfdXCICR2PC9vcHRpb24+XHJcbiI7DQogICAgCX0NCiAgICAJPz4NCiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0Pg0KICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgPHA+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJhZGRjaGFwdGVyIiB0eXBlPSJjaGVja2JveCIgb25jbGljaz0iU2hvd0hpZGVTZWxDaGFwdGVyKCdzZWxjaGFwJywnbmV3Y2hhcCcpIiBpZD0iYWRkY2hhcHRlciIgdmFsdWU9IjEiDQoJICA8P3BocCBlY2hvKGNvdW50KCRjaGFwdGVycyk+MCA/ICIiIDogIiBjaGVja2VkIik7ID8+IC8+DQogICAgICAgICAgICAgICAgICAgIMztvNPQwtXCvdo8L3A+DQogICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmV3Y2hhcCIgc3R5bGU9Ijw/cGhwIGVjaG8oY291bnQoJGNoYXB0ZXJzKT4wID8gImRpc3BsYXk6bm9uZSIgOiAiZGlzcGxheTpibG9jayIpOyA/PiI+INDC1cK92sP7s8ajug0KICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImNoYXB0ZXJuZXciIHR5cGU9InRleHQiIGNsYXNzPSJ0ZXh0IiBpZD0iY2hhcHRlcm5ldyIgdmFsdWU9IsSsyM/Vwr3aIiBzaXplPSIzMCIgLz4NCiAgICAgICAgICAgICAgICAgICjI57n7w7vT0L/J0aHVwr3au/LS0dPQ1cK92tLRvq294cr4o6zH68zu0LTQwtXCvdrD+7PGo6zD+7PGyc+yu9DovNOhsLXaWNXCobHV4tH5tcTX1tH5KTwvc3Bhbj48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPs28xqzK/cG/o7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0icGljbnVtIiB0eXBlPSJ0ZXh0IiBjbGFzcz0idGV4dCIgaWQ9InBpY251bSIgdmFsdWU9IjEwIiBzaXplPSI4IiAvPg0KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnV0dG9uR2FyeTIiIG5hbWU9J2tra3VwJyB0eXBlPSdidXR0b24nIGlkPSdra2t1cDInb25jbGljaz0iTWFrZVVwbG9hZCgwKTsiPtT2vNM8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICjX7rTzNjC3+aOsyta5pNa4tqi1xM28xqzBtL3T1MrQ7czu0LTUtrPMzfjWtyk8L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPtS2s8zNvMaso7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0iaXNyZW1vdGUiIHR5cGU9ImNoZWNrYm94IiBpZD0iaXNyZW1vdGUiICB2YWx1ZT0iMSIgLz4NCiAgICAgICAgICAgICAgICAgIM/C1Ni1vbG+tdg8L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICAgIDxociBjbGFzcz0ibVQxMCIgLz4NCiAgICAgICAgICA8c3BhbiBpZD0idXBsb2FkZmllbGQiPjwvc3Bhbj4NCiAgICAgICAgICA8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij4NCgkgICAgIE1ha2VVcGxvYWQoNik7DQoJPC9zY3JpcHQ+DQogICAgICAgICAgPGhyIC8+DQogICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6MTUlIiBjbGFzcz0ibVRCMTAiPg0KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnV0dG9uMiIgdHlwZT0ic3VibWl0Ij7M4b27PC9idXR0b24+DQogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24yIG1MMTAiIHR5cGU9InJlc2V0IiBvbmNsaWNrPSJsb2NhdGlvbi5yZWxvYWQoKTsiPtbY1sM8L2J1dHRvbj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9mb3JtPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPCEtLdb3stnX98f40/IgLS0+DQogICAgICA8L2Rpdj4NCiA8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KPD9waHAgaW5jbHVkZShERURFTUVNQkVSLiIuL3RlbXBsZXRzL2Zvb3QuaHRtIik7ID8+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg0KDQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+ztK1xNChy7XK6cS/wdCx7TwvdGl0bGU+DQo8bGluayBocmVmPSIuLi9tZW1iZXIvdGVtcGxldHMvc3R5bGUvYmFzZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vaW1hZ2VzL2pzL2ouanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL21lbWJlci90ZW1wbGV0cy9qcy90YWJsZV9mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvbWFpbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvc3RvcnkuanMiPjwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHk+DQo8ZGl2IGlkPSJtYWluIj4NCiAgPD9waHAgaW5jbHVkZShERURFTUVNQkVSLiIuLi90ZW1wbGV0cy9oZWFkLmh0bSIpOyA/Pg0KICA8ZGl2IGlkPSJjb250ZW50IiBjbGFzcz0idzk2MCBjbGVhcmZpeCI+DQogICAgPD9waHAgaW5jbHVkZShERURFTUVNQkVSLiIuL3RlbXBsZXRzL21lbnUucGhwIik7ID8+DQogICAgPGRpdiBpZD0ibWNwbWFpbiI+DQogICAgICA8ZGl2IGlkPSJhcHBUYWIiPg0KICAgICAgICA8dWw+DQogICAgICAgICAgPGxpIGNsYXNzPSJ0aGlzVGFiIj48YSBocmVmPSJteWJvb2tzLnBocCI+PHNwYW4+0KHLtcrpxL88L3NwYW4+PC9hPjwvbGk+DQogICAgICAgICAgPGxpPjxhIGhyZWY9InN0b3J5X2xpc3RfY29udGVudC5waHAiPjxzcGFuPtChy7XE2sjdPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBocmVmPSJzdG9yeV9zdG93LnBocCI+PHNwYW4+ztK1xMrVsti80Dwvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBpZD0ibWFpbkNwIj4NCiAgICAgICAgPGZvcm0gbmFtZT0iZm9ybTIiIGNsYXNzPSJtTDEwIG1SMTAgbVRCMTAiPg0KICAgICAgICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMSIgY2xhc3M9Imxpc3QiIHdpZHRoPSIxMDAlIj4NCiAgICAgICAgICAgIDx0aGVhZD4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0aCA+0KHLtcP7s8Y8L3RoPg0KICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAlIj7Bpcr0wLjEvyA8L3RoPg0KICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAlIj60tL2oyrG85CA8L3RoPg0KICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAlIj653MDtPC90aD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIDwvdGhlYWQ+DQogICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICANCiAgICAgICAgICAgIHtkZWRlOmRhdGFsaXN0fQ0KICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0naWRzW10nIHZhbHVlPSc8P3BocCAgZWNobyAkcm93WydiaWQnXTsgID8+JyAvPg0KICAgICAgICAgICAgICAgIDw/cGhwDQoJCQkJCQllY2hvICI8YSBocmVmPScuLi9ib29rL2Jvb2sucGhwP2JpZD17JGZpZWxkc1snaWQnXX0nIHRhcmdldD0nX2JsYW5rJz4iLiRmaWVsZHNbJ2Jvb2tuYW1lJ10uIjwvYT4iOw0KCQkJCQkJaWYoJGZpZWxkc1snYm9va3R5cGUnXSE9MSkgZWNobyAiICjQocu1xNrI3Tp7JGZpZWxkc1sncG9zdG51bSddfSkiOw0KCQkJCQkJZWxzZSBlY2hvICIgKML+u63E2sjdOnskZmllbGRzWydwb3N0bnVtJ119KSI7DQoJCQkJPz48L3RkPg0KICAgICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyAkZmllbGRzWydjbGFzc25hbWUnXTsgPz48L3RkPg0KICAgICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyBHZXREYXRlTWsoJGZpZWxkc1snc2VuZGRhdGUnXSk7ID8+PC90ZD4NCiAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjw/cGhwICBpZigkZmllbGRzWydib29rdHlwZSddIT0xKXsgPz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdzdG9yeV9hZGRfY29udGVudC5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGZpZWxkc1snaWQnXTsgPz4nPsztvNM8L2E+IHwNCiAgICAgICAgICAgICAgICA8P3BocCB9ZWxzZXsgPz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdzdG9yeV9hZGRfcGhvdG8ucGhwP2Jvb2tpZD08P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107ID8+Jz7M7bzTPC9hPiB8DQogICAgICAgICAgICAgICAgPD9waHAgfSA/Pg0KICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRjZmdfYm9va19pZmNoZWNrICE9ICfKxycgfHwgJGZpZWxkc1snaXNjaGVjayddID09MCApeyA/Pg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9InN0b3J5X2VkaXQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107Pz4iPtDeuMQ8L2E+IHwNCiAgICAgICAgICAgICAgICA8P3BocCB9ID8+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0nc3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9PD9waHAgZWNobyAkZmllbGRzWydpZCddOyA/Pic+xNrI3TwvYT4gfCA8YSBocmVmPSdzdG9yeV9saXN0X2NoYXB0ZXIucGhwP2Jvb2tpZD08P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107ID8+Jz7Vwr3aPC9hPiB8IDxhIGhyZWY9J2phdmFzY3JpcHQ6RGVsU3RvcnkoPD9waHAgZWNobyAkZmllbGRzWydpZCddOyA/PiknPsm+s/08L2E+PC90ZD4NCiAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICB7L2RlZGU6ZGF0YWxpc3R9DQogICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8dGZvb3Q+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iNiI+PGRpdiBjbGFzcz0icGFnZXMgbVRCMTAgZlJpZ2h0Ij57ZGVkZTpwYWdlbGlzdCBsaXN0c2l6ZT01L308L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Zm9vdD4NCiAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8IS0t1vey2df3x/jT8iAtLT4NCiAgICAgIDwvZGl2Pg0KIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4vdGVtcGxldHMvZm9vdC5odG0iKTsgPz4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+0N64xMGs1NjE2sjdPC90aXRsZT4NCjxsaW5rIGhyZWY9Ii4uL21lbWJlci90ZW1wbGV0cy9zdHlsZS9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9tYWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9zdG9yeS5qcyI+PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keT4NCjxkaXYgaWQ9Im1haW4iPg0KICA8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4uL3RlbXBsZXRzL2hlYWQuaHRtIik7ID8+DQogIDxkaXYgaWQ9ImNvbnRlbnQiIGNsYXNzPSJ3OTYwIGNsZWFyZml4Ij4NCiAgICA8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4vdGVtcGxldHMvbWVudS5waHAiKTsgPz4NCiAgICA8ZGl2IGlkPSJtY3BtYWluIj4NCiAgICAgIDxkaXYgaWQ9ImFwcFRhYiI+DQogICAgICAgIDx1bD4NCiAgICAgICAgICA8bGkgY2xhc3M9InRoaXNUYWIiPjxhIGhyZWY9Im15Ym9va3MucGhwIj48c3Bhbj7BrNTYyunEvzwvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgICA8bGk+PGEgaHJlZj0ic3RvcnlfbGlzdF9jb250ZW50LnBocCI+PHNwYW4+wazU2MTayN08L3NwYW4+PC9hPjwvbGk+DQogICAgICAgIDwvdWw+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgaWQ9Im1haW5DcCI+DQogICAgICA8aDMgY2xhc3M9Im1lVGl0bGUiPjxzdHJvbmc+Jm5ic3A70N64xMGs1Ng8L3N0cm9uZz48L2gzPiAgDQogICAgICAgIDxmb3JtIGNsYXNzPSJtTDEwIG1SMTAgbVRCMTAiIGFjdGlvbj0nc3RvcnlfZWRpdF9jb250ZW50X2FjdGlvbi5waHAnIG1ldGhvZD0ncG9zdCc+DQogICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nY2lkJyB2YWx1ZT0nPD9waHAgZWNobyAkY2lkOyA/PicgLz4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29raWQnIHZhbHVlPSc8P3BocCBlY2hvICRib29raWQ7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NhdGlkJyB2YWx1ZT0nPD9waHAgZWNobyAkY2F0aWQ7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2tuYW1lJyB2YWx1ZT0nPD9waHAgZWNobyBzdHJfcmVwbGFjZSgiJyIsImAiLCRib29rbmFtZSk7ID8+JyAvPg0KICAgICAgICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMSIgY2xhc3M9InN1Ym1pdCIgd2lkdGg9IjEwMCUiPg0KICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjE1JSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+waXK9MGs1NijujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjw/cGhwIGVjaG8gJGJvb2tuYW1lOyA/PjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+0KG92rHqzOKjujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBuYW1lPSJ0aXRsZSIgdHlwZT0idGV4dCIgY2xhc3M9InRleHQiIGlkPSJ0aXRsZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJGNvbnRlbnRzWyd0aXRsZSddOz8+IiBzaXplPSI0NSIgLz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPsGlyvTVwr3ao7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48c2VsZWN0IG5hbWU9ImNoYXB0ZXJpZCIgc2l6ZT0iNSIgaWQ9ImNoYXB0ZXJpZCI+DQogICAgICAgICAgICAgICAgICAgIDw/cGhwDQoJCQkJCQkJCWZvcmVhY2goJGNoYXB0ZXJzIGFzICRrPT4kdil7DQoJCQkJCQkJCWlmKCRrPT0kY29udGVudHNbJ2NoYXB0ZXJpZCddKXsgZWNobyAiPG9wdGlvbiB2YWx1ZT0nJGsnIHNlbGVjdGVkPrXaeyRjaGFwbnVtc1ska1191cIgJHY8L29wdGlvbj5cclxuIjsgfQ0KCQkJCQkJCQllbHNlIGVjaG8gIjxvcHRpb24gdmFsdWU9JyRrJz612nskY2hhcG51bXNbJGtdfdXCICR2PC9vcHRpb24+XHJcbiI7DQoJCQkJCQkJCX0NCgkJCQkJCQkJPz4NCiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0Pg0KICAgICAgICAgICAgICAgICAgPGhyIC8+DQogICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYWRkY2hhcHRlciIgdHlwZT0iY2hlY2tib3giIGlkPSJhZGRjaGFwdGVyIiB2YWx1ZT0iMSIgPD9waHAgZWNobyhjb3VudCgkY2hhcHRlcnMpPjAgPyAiIiA6ICIgY2hlY2tlZCIpOyA/PiAvPg0KICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iYWRkY2hhcHRlciI+zO2809DC1cK92jo8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImNoYXB0ZXJuZXciIHR5cGU9InRleHQiIGNsYXNzPSJ0ZXh0IiBpZD0iY2hhcHRlcm5ldyIgdmFsdWU9IsSsyM/Vwr3aIiBzaXplPSIzMCIgLz4NCiAgICAgICAgICAgICAgICAgIDxiciAvPg0KICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+1NrVwr3a1tC1xMuz0PKjujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBuYW1lPSJzb3J0aWQiIHR5cGU9InRleHQiIGNsYXNzPSJ0ZXh0IiBpZD0ic29ydGlkIiB2YWx1ZT0iPD9waHAgZWNobyAkY29udGVudHNbJ3NvcnRpZCddOz8+IiBzaXplPSI1IiAvPjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+1cK92sTayN2jujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjw/cGhwIEdldEVkaXRvcigiYm9keSIsR2V0Qm9va1RleHQoJGNvbnRlbnRzWydpZCddKSwzMDAsIk1lbWJlckxpdCIpOyA/PjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgPHRmb290Pg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGhlaWdodD0iNDUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwOzwvdGQ+DQogICAgICAgICAgICAgICAgPHRkIGhlaWdodD0iNDUiPjxidXR0b24gY2xhc3M9ImJ1dHRvbjIiIHR5cGU9InN1Ym1pdCI+zOG9uzwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnV0dG9uMiBtTDEwIiB0eXBlPSJyZXNldCIgb25jbGljaz0ibG9jYXRpb24ucmVsb2FkKCk7Ij7W2NbDPC9idXR0b24+PC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIDwvdGZvb3Q+DQogICAgICAgICAgPC90YWJsZT4NCiAgICAgICAgPC9mb3JtPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPCEtLdb3stnX98f40/IgLS0+DQogICAgICA8L2Rpdj4NCiA8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KPD9waHAgaW5jbHVkZShERURFTUVNQkVSLiIuL3RlbXBsZXRzL2Zvb3QuaHRtIik7ID8+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+0N64xNChy7U8L3RpdGxlPg0KPGxpbmsgaHJlZj0iLi4vbWVtYmVyL3RlbXBsZXRzL3N0eWxlL2Jhc2UuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2ltYWdlcy9qcy9qLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9tZW1iZXIvdGVtcGxldHMvanMvdGFibGVfZnVuY3Rpb24uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBpZD0ibWFpbiI+DQogIDw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi4vdGVtcGxldHMvaGVhZC5odG0iKTsgPz4NCiAgPGRpdiBpZD0iY29udGVudCIgY2xhc3M9Inc5NjAgY2xlYXJmaXgiPg0KICAgIDw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi90ZW1wbGV0cy9tZW51LnBocCIpOyA/Pg0KICAgIDxkaXYgaWQ9Im1jcG1haW4iPg0KICAgICAgPGRpdiBpZD0iYXBwVGFiIj4NCiAgICAgICAgPHVsPg0KICAgICAgICAgIDxsaSBjbGFzcz0idGhpc1RhYiI+PGEgaHJlZj0ibXlib29rcy5waHAiPjxzcGFuPtChy7XK6cS/PC9zcGFuPjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBocmVmPSJzdG9yeV9saXN0X2NvbnRlbnQucGhwIj48c3Bhbj7Qocu1xNrI3Twvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPHVsIGNsYXNzPSJ0YWJTdWIiPg0KICAgICAgICA8bGkgPD9waHAgZWNobyAoJGFyY3Jhbms9PScnKT8gImNsYXNzPSd0aGlzVGFiJyIgOiAiIjs/Pj48P3BocCBpZigkYm9va3NbJ2Jvb2t0eXBlJ10gPT0gJzEnKXs/Pg0KICAgICAgICAgICAgICA8YSBocmVmPSdzdG9yeV9hZGRfcGhvdG8ucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29rc1snaWQnXTs/Pic+PHNwYW4+0MLU9sL+u63E2sjdPC9zcGFuPjwvYT4NCiAgICAgICAgICAgICAgPD9waHAgfWVsc2V7Pz4NCiAgICAgICAgICAgICAgPGEgaHJlZj0nc3RvcnlfYWRkX2NvbnRlbnQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29rc1snaWQnXTs/Pic+PHNwYW4+0MLU9tChy7XE2sjdPC9zcGFuPjwvYT4NCiAgICAgICAgICAgICAgPD9waHAgfT8+PC9saT4NCiAgICAgICAgPGxpIDw/cGhwIGVjaG8gKCRhcmNyYW5rPT0nMScpPyAiY2xhc3M9J3RoaXNUYWInIiA6ICIiOz8+PjxhIGhyZWY9InN0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4iPjxzcGFuPtChy7XE2sjdPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICA8bGkgPD9waHAgZWNobyAoJGFyY3Jhbms9PSctMScpPyAiY2xhc3M9J3RoaXNUYWInIiA6ICIiOz8+PjxhIGhyZWY9InN0b3J5X2xpc3RfY2hhcHRlci5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4iPjxzcGFuPsrpxL/Vwr3aPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICA8bGkgPD9waHAgZWNobyAoJGFyY3Jhbms9PSctMicpPyAiY2xhc3M9J3RoaXNUYWInIiA6ICIiOz8+PjxhIGhyZWY9InN0b3J5X2VkaXQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Ij48c3Bhbj7K6cS/18rBzzwvc3Bhbj48L2E+PC9saT4NCiAgICAgIDwvdWw+DQogICAgICA8ZGl2IGlkPSJtYWluQ3AiPg0KICAgICAgPGgzIGNsYXNzPSJtZVRpdGxlIj48c3Ryb25nPiZuYnNwO9DeuMTK6cS/18rBzzwvc3Ryb25nPjwvaDM+ICANCiAgICAgICAgPGZvcm0gY2xhc3M9Im1MMTAgbVIxMCBtVEIxMCIgbmFtZT0iZm9ybTEiIGFjdGlvbj0ic3RvcnlfZWRpdC5waHAiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0icG9zdCIgb25zdWJtaXQ9InJldHVybiBjaGVja1N1Ym1pdEFkZCgpOyI+DQogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRvcG9zdCIgdmFsdWU9ImVkaXQiIC8+DQogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImJvb2tpZCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGJvb2tpZDsgPz4iIC8+DQogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGVCYXIgYmdHcmFzcyBsaW5lQiBtQjEwIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZSaWdodCB0aXRTZWNvbmRhcnkgd2hpdGUiIHN0eWxlPSJtYXJnaW4tdG9wOjVweDsiPiA8ZW0gY2xhc3M9Im1SMTAiPg0KICAgICAgICAgICAgICA8P3BocCBpZigkYm9va3NbJ2Jvb2t0eXBlJ10gPT0gJzEnKXs/Pg0KICAgICAgICAgICAgICA8YSBocmVmPSdzdG9yeV9hZGRfcGhvdG8ucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29rc1snaWQnXTs/Pic+0MLU9sL+u63E2sjdPC9hPg0KICAgICAgICAgICAgICA8P3BocCB9ZWxzZXs/Pg0KICAgICAgICAgICAgICA8YSBocmVmPSdzdG9yeV9hZGRfY29udGVudC5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tzWydpZCddOz8+Jz7QwtT20KHLtcTayN08L2E+DQogICAgICAgICAgICAgIDw/cGhwIH0/Pg0KICAgICAgICAgICAgICANCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjEiIGNsYXNzPSJzdWJtaXQiIHdpZHRoPSIxMDAlIj4NCiAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iMTUlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj7Bpcr0wLjEv6O6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PHNlbGVjdCBuYW1lPSJjYXRpZCIgaWQ9ImNhdGlkIj4NCiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0nMCc+x+vRodTxwLjEvzwvb3B0aW9uPg0KICAgICAgICAgICAgICAgICAgICA8P3BocA0KCQkJCQkJCQkJZm9yZWFjaCgkYnR5cGVzIGFzICRrPT4kdil7DQoJCQkJCQkJCQkJaWYoJGJvb2tzWydjYXRpZCddPT0kaykgZWNobyAiPG9wdGlvbiB2YWx1ZT0nJGsnIHNlbGVjdGVkPiR2PC9vcHRpb24+XHJcbiI7DQoJCQkJCQkJCQkJZWxzZSBlY2hvICI8b3B0aW9uIHZhbHVlPSckayc+JHY8L29wdGlvbj5cclxuIjsNCgkJCQkJCQkJCQlmb3JlYWNoKCRzdHlwZXNbJGtdIGFzICRraz0+JHZ2KXsNCgkJCQkJCQkJCQkJaWYoJGJvb2tzWydjYXRpZCddPT0ka2spICBlY2hvICI8b3B0aW9uIHZhbHVlPScka2snIHNlbGVjdGVkPiAtLSR2djwvb3B0aW9uPlxyXG4iOw0KCQkJCQkJCQkJCQllbHNlICBlY2hvICI8b3B0aW9uIHZhbHVlPScka2snPiAtLSR2djwvb3B0aW9uPlxyXG4iOw0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCX0NCgkJCQkJCQkJPz4NCiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+serM4qO6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9ImJvb2tuYW1lIiB0eXBlPSJ0ZXh0IiBjbGFzcz0idGV4dCIgaWQ9ImJvb2tuYW1lIiB2YWx1ZT0iPD9waHAgZWNobyAkYm9va3NbJ2Jvb2tuYW1lJ107Pz4iIHNpemU9IjQ1IiAvPjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+zbzK6de0zKyjujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic3RhdHVzIiB2YWx1ZT0iMCIgPD9waHAgaWYoJGJvb2tzWydzdGF0dXMnXT09MCkgZWNobyAnIGNoZWNrZWQnOyAgPz4gLz4NCiAgICAgICAgICAgICAgICAgIMGs1NjW0A0KICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJzdGF0dXMiIHZhbHVlPSIxIiA8P3BocCBpZigkYm9va3NbJ3N0YXR1cyddPT0xKSBlY2hvICcgY2hlY2tlZCc7ICA/PiAvPg0KICAgICAgICAgICAgICAgICAg0tHN6rPJwazU2CA8L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPtf31d+jujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBuYW1lPSJhdXRob3IiIHR5cGU9InRleHQiIGNsYXNzPSJ0ZXh0IiBpZD0iYXV0aG9yIiAgdmFsdWU9Ijw/cGhwIGVjaG8gJGJvb2tzWydhdXRob3InXTs/PiIgc2l6ZT0iOCIgLz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPsnPvNzKsbzko7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0icHViZGF0ZSIgdHlwZT0idGV4dCIgY2xhc3M9InRleHQiIGlkPSJwdWJkYXRlIiB2YWx1ZT0iPD9waHAgZWNobyBHZXREYXRlVGltZU1rKCRib29rc1sncHViZGF0ZSddKTs/PiIgc2l6ZT0iMjIiIC8+PC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj634sPmzbzGrKO6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9ImxpdHBpYyIgdHlwZT0iZmlsZSIgaWQ9ImxpdHBpYyIgb25jaGFuZ2U9IlNlZVBpYygkT2JqKCdwaWN2aWV3JyksJE9iaignbGl0cGljJykpOyIgc2l6ZT0iMzUiIC8+DQogICAgICAgICAgICAgICAgICCxvrXY1rG908nPtKvH67Xju/ehsOSvwMChsbC0xaUNCiAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJsaXRwaWNuYW1lIiB0eXBlPSJoaWRkZW4iIGlkPSJsaXRwaWNuYW1lIiB2YWx1ZT0iPD9waHAgZWNobyAkYm9va3NbJ2xpdHBpYyddOyA/PiIgLz4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSI8P3BocCBpZigkYm9va3NbJ2xpdHBpYyddPT0nJykgZWNobyAnaW1hZ2VzL3B2aWV3LmdpZic7IGVsc2UgZWNobyAkYm9va3NbJ2xpdHBpYyddOyA/PiIgYWx0PSK34sPmIiBuYW1lPSJwaWN2aWV3IiB3aWR0aD0iMTIwIiBoZWlnaHQ9Ijk2IiBpZD0icGljdmlldyIgLz4gPC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj652Lz819ajujwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBuYW1lPSJrZXl3b3JkcyIgdHlwZT0idGV4dCIgY2xhc3M9InRleHQiIGlkPSJrZXl3b3JkcyIgdmFsdWU9Ijw/cGhwIGVjaG8gJGJvb2tzWydrZXl3b3JkcyddOyA/PiIgc2l6ZT0iNTAiIC8+PC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj7VqtKqo7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48dGV4dGFyZWEgc3R5bGU9IndpZHRoOjgwJSIgbmFtZT0iZGVzY3JpcHRpb24iIGNvbHM9IjM1IiByb3dzPSI0IiBpZD0iZGVzY3JpcHRpb24iPjw/cGhwIGVjaG8gJGJvb2tzWydkZXNjcmlwdGlvbiddOyA/PjwvdGV4dGFyZWE+PC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj7E2sjdo7o8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48P3BocCBHZXRFZGl0b3IoImJvZHkiLCRib29rc1snYm9keSddLDMwMCwiTWVtYmVyTGl0Iik7Pz48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgIDx0Zm9vdD4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjQ1IiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDs8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjQ1Ij48YnV0dG9uIGNsYXNzPSJidXR0b24yIiB0eXBlPSJzdWJtaXQiPszhvbs8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbjIgbUwxMCIgdHlwZT0icmVzZXQiIG9uY2xpY2s9ImxvY2F0aW9uLnJlbG9hZCgpOyI+1tjWwzwvYnV0dG9uPjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3Rmb290Pg0KICAgICAgICAgIDwvdGFibGU+DQogICAgICAgIDwvZm9ybT4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDwhLS3W97LZ1/fH+NPyIC0tPg0KICAgICAgPC9kaXY+DQogPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCjw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi90ZW1wbGV0cy9mb290Lmh0bSIpOyA/Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+0KHLtdXCvdq53MDtPC90aXRsZT4NCjxsaW5rIGhyZWY9Ii4uL21lbWJlci90ZW1wbGV0cy9zdHlsZS9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9pbWFnZXMvanMvai5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vbWVtYmVyL3RlbXBsZXRzL2pzL3RhYmxlX2Z1bmN0aW9uLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9tYWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9zdG9yeS5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KPCEtLQ0KCSQoZnVuY3Rpb24oKXsNCgkJJCgiI3NlbGVjdGFsbCIpLmNsaWNrKGZ1bmN0aW9uKCl7DQoJCQkkKHRoaXMpLmF0dHIoImNoZWNrZWQiKSA/ICQoImlucHV0W25hbWU9J2lkc1tdJ10iKS5hdHRyKCJjaGVja2VkIiwiY2hlY2tlZCIpIDogICQoImlucHV0W25hbWU9J2lkc1tdJ10iKS5hdHRyKCJjaGVja2VkIiwiIik7DQoJCX0pOw0KCX0pOw0KCWZ1bmN0aW9uIERlbFN0b3J5Q2hhcHRlcigpew0KCQlpZih3aW5kb3cuY29uZmlybSgiyb6z/dXCvdq74cm+s/3Vwr3az8K1xMv509DE2sjdo6zE48i3yrXSqsm+s/3DtKO/Iikpew0KCQkJJCgiaW5wdXRbbmFtZT0nYWN0aW9uJ10iKS5hdHRyKCJ2YWx1ZSIsImRlbHN0b3J5Y2hhcHRlciIpOw0KCQkJJCgiZm9ybVtuYW1lPSdmb3JtMiddIikuc3VibWl0KCk7DQoJCX0NCgl9DQotLT4NCjwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHk+DQo8ZGl2IGlkPSJtYWluIj4NCiAgPD9waHAgaW5jbHVkZShERURFTUVNQkVSLiIuLi90ZW1wbGV0cy9oZWFkLmh0bSIpOyA/Pg0KICA8ZGl2IGlkPSJjb250ZW50IiBjbGFzcz0idzk2MCBjbGVhcmZpeCI+DQogICAgPD9waHAgaW5jbHVkZShERURFTUVNQkVSLiIuL3RlbXBsZXRzL21lbnUucGhwIik7ID8+DQogICAgPGRpdiBpZD0ibWNwbWFpbiI+DQogICAgICA8ZGl2IGlkPSJhcHBUYWIiPg0KICAgICAgICA8dWw+DQogICAgICAgICAgPGxpIGNsYXNzPSJ0aGlzVGFiIj48YSBocmVmPSJteWJvb2tzLnBocCI+PHNwYW4+wazU2MrpxL88L3NwYW4+PC9hPjwvbGk+DQogICAgICAgICAgPGxpPjxhIGhyZWY9InN0b3J5X2xpc3RfY29udGVudC5waHAiPjxzcGFuPsGs1NjE2sjdPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICA8L3VsPg0KICAgICAgPC9kaXY+DQogICAgICA8dWwgY2xhc3M9InRhYlN1YiI+DQogICAgICAgIDxsaSA8P3BocCBlY2hvICgkYXJjcmFuaz09JycpPyAiY2xhc3M9J3RoaXNUYWInIiA6ICIiOz8+Pjw/cGhwIGlmKCRib29rdHlwZSA9PSAnMScpez8+DQogICAgICAgICAgICAgIDxhIGhyZWY9J3N0b3J5X2FkZF9waG90by5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4nPjxzcGFuPtDC1PbBrNTYPC9zcGFuPjwvYT4NCiAgICAgICAgICAgICAgPD9waHAgfWVsc2V7Pz4NCiAgICAgICAgICAgICAgPGEgaHJlZj0nc3RvcnlfYWRkX2NvbnRlbnQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Jz48c3Bhbj7QwtT2wazU2Dwvc3Bhbj48L2E+DQogICAgICAgICAgICAgIDw/cGhwIH0/PjwvbGk+DQogICAgICAgIDxsaSA8P3BocCBlY2hvICgkYXJjcmFuaz09JzEnKT8gImNsYXNzPSd0aGlzVGFiJyIgOiAiIjs/Pj48YSBocmVmPSJzdG9yeV9saXN0X2NvbnRlbnQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Ij48c3Bhbj7Qocu1xNrI3Twvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPGxpIDw/cGhwIGVjaG8gKCRhcmNyYW5rPT0nLTEnKT8gImNsYXNzPSd0aGlzVGFiJyIgOiAiIjs/Pj48YSBocmVmPSJzdG9yeV9saXN0X2NoYXB0ZXIucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Ij48c3Bhbj7K6cS/1cK92jwvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPGxpIDw/cGhwIGVjaG8gKCRhcmNyYW5rPT0nLTInKT8gImNsYXNzPSd0aGlzVGFiJyIgOiAiIjs/Pj48YSBocmVmPSJzdG9yeV9lZGl0LnBocD9ib29raWQ9PD9waHAgZWNobyAkYm9va2lkOyA/PiI+PHNwYW4+yunEv9fKwc88L3NwYW4+PC9hPjwvbGk+DQogICAgICA8L3VsPg0KICAgICAgPGRpdiBpZD0ibWFpbkNwIj4NCiAgICAgIDxoMyBjbGFzcz0ibWVUaXRsZSI+PHN0cm9uZz4mbmJzcDvK6cS/1cK92jwvc3Ryb25nPjwvaDM+ICANCiAgICAgICAgPGZvcm0gY2xhc3M9Im1MMTAgbVIxMCBtVEIxMCIgbmFtZT0iZm9ybTIiIGFjdGlvbj0ic3RvcnlfZG8ucGhwIiBtZXRob2Q9InBvc3QiPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InVwQ2hhcHRlclNvcnQiIC8+DQogICAgICAgICAgPHRhYmxlIGNlbGxzcGFjaW5nPSIxIiBjbGFzcz0ibGlzdCIgd2lkdGg9IjEwMCUiPg0KICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRoIHdpZHRoPSIxJSIgPjxpbnB1dCBuYW1lPSJjaGVja2VkQ2xpY2siIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iIiBpZD0iY2hlY2tlZENsaWNrIj48L3RoPg0KICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTUlIj7Bpcr0zbzK6TwvdGg+DQogICAgICAgICAgICAgICAgPHRoID7Vwr3aw/uzxiA8L3RoPg0KICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAlIj7E2sjdPC90aD4NCiAgICAgICAgICAgICAgICA8dGggd2lkdGg9IjUlIj7Vwr3a0PK6xSA8L3RoPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAge2RlZGU6ZGF0YWxpc3R9DQogICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Imlkc1tdIiBpZD0iaWRzPD9waHAgIGVjaG8gJGZpZWxkc1snaWQnXTsgID8+IiB2YWx1ZT0iPD9waHAgIGVjaG8gJGZpZWxkc1snaWQnXTs/PiIgLz48L3RkPg0KICAgICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyAiPGEgaHJlZj0nc3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9eyRmaWVsZHNbJ2Jvb2tpZCddfSc+Ii4kZmllbGRzWydib29rbmFtZSddLiI8L2E+IjsgPz48L3RkPg0KICAgICAgICAgICAgICA8dGQ+PGlucHV0IGNsYXNzPSJ0ZXh0IiB0eXBlPSJ0ZXh0IiBuYW1lPSJjaGFwdGVybmFtZV88P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107ID8+IiB2YWx1ZT0iPD9waHAgZWNobyAkZmllbGRzWydjaGFwdGVybmFtZSddOyA/PiIgc2l6ZT0iMjUiIC8+DQogICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSdzdG9yeV9saXN0X2NvbnRlbnQucGhwP2NoYXBpZD08P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107ID8+JmJvb2tpZD08P3BocCBlY2hvICRmaWVsZHNbJ2Jvb2tpZCddOyA/Pic+5K/AwDwvYT4gKDw/cGhwIGVjaG8gJGZpZWxkc1sncG9zdG51bSddOz8+KTwvdGQ+DQogICAgICAgICAgICAgIDx0ZD48aW5wdXQgY2xhc3M9InRleHQiIHN0eWxlPSJ3aWR0aDozMHB4IiB0eXBlPSJ0ZXh0IiBuYW1lPSJjaGFwbnVtXzw/cGhwIGVjaG8gJGZpZWxkc1snaWQnXTs/PiIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpZWxkc1snY2hhcG51bSddOyA/PiIgc2l6ZT0iMyIgLz48L3RkPg0KICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIHsvZGVkZTpkYXRhbGlzdH0NCiAgICAgICAgICAgIDwvdGJvZHk+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDx0Zm9vdD4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI2Ij48ZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmTGVmdCBtVEIxMCI+DQogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnV0dG9uNSIgdHlwZT0ic3VibWl0Ij7F+sG/seC8rTwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbjIgbUwxMCIgdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSJEZWxTdG9yeUNoYXB0ZXIoKSI+yb6z/TwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZXMgbVRCMTAgZlJpZ2h0Ij57ZGVkZTpwYWdlbGlzdCBsaXN0c2l6ZT01L308L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPiA8L2Rpdj48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Zm9vdD4NCiAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8IS0t1vey2df3x/jT8iAtLT4NCiAgICAgIDwvZGl2Pg0KIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4vdGVtcGxldHMvZm9vdC5odG0iKTsgPz4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0KDQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+0KHLtcTayN3B0LHtPC90aXRsZT4NCjxsaW5rIGhyZWY9Ii4uL21lbWJlci90ZW1wbGV0cy9zdHlsZS9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9pbWFnZXMvanMvai5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vbWVtYmVyL3RlbXBsZXRzL2pzL3RhYmxlX2Z1bmN0aW9uLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9tYWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9zdG9yeS5qcyI+PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keT4NCjxkaXYgaWQ9Im1haW4iPg0KICA8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4uL3RlbXBsZXRzL2hlYWQuaHRtIik7ID8+DQogIDxkaXYgaWQ9ImNvbnRlbnQiIGNsYXNzPSJ3OTYwIGNsZWFyZml4Ij4NCiAgICA8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4vdGVtcGxldHMvbWVudS5waHAiKTsgPz4NCiAgICA8ZGl2IGlkPSJtY3BtYWluIj4NCiAgICAgIDxkaXYgaWQ9ImFwcFRhYiI+DQogICAgICAgIDx1bD4NCiAgICAgICAgICA8bGk+PGEgaHJlZj0ibXlib29rcy5waHAiPjxzcGFuPtChy7XK6cS/PC9zcGFuPjwvYT48L2xpPg0KICAgICAgICAgIDxsaSBjbGFzcz0idGhpc1RhYiI+PGEgaHJlZj0ic3RvcnlfbGlzdF9jb250ZW50LnBocCI+PHNwYW4+0KHLtcTayN08L3NwYW4+PC9hPjwvbGk+DQogICAgICAgICAgPGxpPjxhIGhyZWY9InN0b3J5X3N0b3cucGhwIj48c3Bhbj7O0rXEytWy2LzQPC9zcGFuPjwvYT48L2xpPg0KICAgICAgICA8L3VsPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGlkPSJtYWluQ3AiPg0KICAgICAgICA8Zm9ybSBuYW1lPSJmb3JtMiIgY2xhc3M9Im1MMTAgbVIxMCBtVEIxMCI+DQogICAgICAgICAgPD9waHAgaWYoaXNzZXQoJGJvb2tpZCkmJiRib29raWQgIT0gJzAnKXs/Pg0KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlQmFyIGJnR3Jhc3MgbGluZUIgbUIxMCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmTGVmdCI+PHN0cm9uZz7BrNTYxNrI3Twvc3Ryb25nPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZlJpZ2h0IHRpdFNlY29uZGFyeSB3aGl0ZSIgc3R5bGU9Im1hcmdpbi10b3A6NXB4OyI+IDxlbSBjbGFzcz0ibVIxMCI+DQogICAgICAgICAgICAgIDw/cGhwIGlmKCRib29rdHlwZSA9PSAnMScpez8+DQogICAgICAgICAgICAgIDxhIGhyZWY9J3N0b3J5X2FkZF9waG90by5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4nPtDC1PbC/rutxNrI3TwvYT4NCiAgICAgICAgICAgICAgPD9waHAgfWVsc2V7Pz4NCiAgICAgICAgICAgICAgPGEgaHJlZj0nc3RvcnlfYWRkX2NvbnRlbnQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Jz7QwtT20KHLtcTayN08L2E+DQogICAgICAgICAgICAgIDw/cGhwIH0/Pg0KICAgICAgICAgICAgICA8L2VtPiA8ZW0gY2xhc3M9Im1SMTAiPiA8YSBocmVmPSJzdG9yeV9saXN0X2NvbnRlbnQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Ij7Qocu1xNrI3TwvYT4gPC9lbT4gPGVtIGNsYXNzPSJtUjEwIj4gPGEgaHJlZj0ic3RvcnlfbGlzdF9jaGFwdGVyLnBocD9ib29raWQ9PD9waHAgZWNobyAkYm9va2lkOyA/PiI+yunEv9XCvdo8L2E+IDwvZW0+IDxlbSBjbGFzcz0ibVIxMCI+IDxhIGhyZWY9InN0b3J5X2VkaXQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRib29raWQ7ID8+Ij7Qocu1yunEvzwvYT4gPC9lbT48L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8P3BocCB9Pz4NCiAgICAgICAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjEiIGNsYXNzPSJsaXN0IiB3aWR0aD0iMTAwJSI+DQogICAgICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGggPrHqzOI8L3RoPg0KICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAlIj7Vwr3aIDwvdGg+DQogICAgICAgICAgICAgICAgPHRoIHdpZHRoPSIxMCUiPsGlyvTK6cS/IDwvdGg+DQogICAgICAgICAgICAgICAgPHRoIHdpZHRoPSIxMCUiPsztvNPKsbzkIDwvdGg+DQogICAgICAgICAgICAgICAgPHRoIHdpZHRoPSIxMCUiPrncwO08L3RoPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAge2RlZGU6ZGF0YWxpc3R9DQogICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdpZHNbXScgdmFsdWU9Jzw/cGhwICBlY2hvICRmaWVsZHNbJ2lkJ107ICA/PicgLz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdqYXZhc2NyaXB0OlByZVZpZXdDdCg8P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107ID8+LDw/cGhwIGVjaG8gJGZpZWxkc1snYm9va3R5cGUnXTsgPz4pOyc+PD9waHAgZWNobyAkZmllbGRzWyd0aXRsZSddOyA/PjwvYT48L3RkPg0KICAgICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyAiPGEgaHJlZj0nc3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9eyRmaWVsZHNbJ2Jvb2tpZCddfSZjaGFwaWQ9eyRmaWVsZHNbJ2NoYXB0ZXJpZCddfSc+Ii4kZmllbGRzWydjaGFwdGVybmFtZSddLiI8L2E+IDxzbWFsbD4oeyRmaWVsZHNbJ3NvcnRpZCddfSk8L3NtYWxsPiI7ID8+PC90ZD4NCiAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjw/cGhwIGVjaG8gIjxhIGhyZWY9J3N0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPXskZmllbGRzWydib29raWQnXX0nPiIuJGZpZWxkc1snYm9va25hbWUnXS4iPC9hPiI7ID8+PC90ZD4NCiAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjw/cGhwIGVjaG8gR2V0RGF0ZU1rKCRmaWVsZHNbJ2FkZHRpbWUnXSk7ID8+PC90ZD4NCiAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjw/cGhwDQoJCQkJCQkJCWlmKCRmaWVsZHNbJ2Jvb2t0eXBlJ109PTEpICRlZGl0ZmlsZSA9ICdzdG9yeV9waG90b19lZGl0LnBocD9jaWQ9JzsNCgkJCQkJCQkJZWxzZSAkZWRpdGZpbGUgPSAnc3RvcnlfY29udGVudF9lZGl0LnBocD9jaWQ9JzsNCgkJCQkJCQk/Pg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Jzw/cGhwIGVjaG8gJGVkaXRmaWxlLiRmaWVsZHNbJ2lkJ107ID8+Jz7Q3rjEPC9hPiAmbmJzcDsgPGEgaHJlZj0namF2YXNjcmlwdDpEZWxTdG9yeUNvbnRlbnQoPD9waHAgZWNobyAkZmllbGRzWydpZCddOyA/PiknPsm+s/08L2E+PC90ZD4NCiAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICB7L2RlZGU6ZGF0YWxpc3R9DQogICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8dGZvb3Q+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iNiI+PGRpdiBjbGFzcz0icGFnZXMgbVRCMTAgZlJpZ2h0Ij57ZGVkZTpwYWdlbGlzdCBsaXN0c2l6ZT01L308L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Zm9vdD4NCiAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8IS0t1vey2df3x/jT8iAtLT4NCiAgICAgIDwvZGl2Pg0KIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4vdGVtcGxldHMvZm9vdC5odG0iKTsgPz4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRlbnQ9J3RleHQvaHRtbDsgY2hhcnNldD1nYjIzMTInPg0KPHRpdGxlPtDeuMTQocu1xNrI3TwvdGl0bGU+DQo8bGluayBocmVmPSIuLi9tZW1iZXIvdGVtcGxldHMvc3R5bGUvYmFzZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vaW1hZ2VzL2pzL2ouanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL21lbWJlci90ZW1wbGV0cy9qcy90YWJsZV9mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vaW5jbHVkZS9kZWRlYWpheDIuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBpZD0ibWFpbiI+DQogIDw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi4vdGVtcGxldHMvaGVhZC5odG0iKTsgPz4NCiAgPGRpdiBpZD0iY29udGVudCIgY2xhc3M9Inc5NjAgY2xlYXJmaXgiPg0KICAgIDw/cGhwIGluY2x1ZGUoREVERU1FTUJFUi4iLi90ZW1wbGV0cy9tZW51LnBocCIpOyA/Pg0KICAgIDxkaXYgaWQ9Im1jcG1haW4iPg0KICAgICAgPGRpdiBpZD0iYXBwVGFiIj4NCiAgICAgICAgPHVsPg0KICAgICAgICAgIDxsaSBjbGFzcz0idGhpc1RhYiI+PGEgaHJlZj0ibXlib29rcy5waHAiPjxzcGFuPtChy7XK6cS/PC9zcGFuPjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBocmVmPSJzdG9yeV9saXN0X2NvbnRlbnQucGhwIj48c3Bhbj7Qocu1xNrI3Twvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBpZD0ibWFpbkNwIj4NCiAgICAgICA8Zm9ybSBjbGFzcz0ibUwxMCBtUjEwIG1UQjEwIiBuYW1lPSdmb3JtMScgYWN0aW9uPSdzdG9yeV9lZGl0X3Bob3RvX2FjdGlvbi5waHAnIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0ncG9zdCc+DQogICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nY2lkJyB2YWx1ZT0nPD9waHAgZWNobyAkY2lkOyA/PicgLz4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29raWQnIHZhbHVlPSc8P3BocCBlY2hvICRib29raWQ7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NhdGlkJyB2YWx1ZT0nPD9waHAgZWNobyAkY2F0aWQ7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2tuYW1lJyB2YWx1ZT0nPD9waHAgZWNobyBzdHJfcmVwbGFjZSgiJyIsImAiLCRib29rbmFtZSk7ID8+JyAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2t0eXBlJyB2YWx1ZT0nPD9waHAgZWNobyAkYm9va3R5cGU7ID8+JyAvPg0KICAgICAgICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMSIgY2xhc3M9InN1Ym1pdCIgd2lkdGg9IjEwMCUiPg0KICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRoIGNvbHNwYW49IjIiID48c3Ryb25nPtDeuMTQocu1xNrI3Twvc3Ryb25nPjwvdGg+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3RoZWFkPg0KICAgICAgICAgICAgPHRib2R5Pg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPsGlyvTQocu1w/uzxqO6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PD9waHAgZWNobyAkYm9va25hbWU7ID8+PC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iMTUlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj7ErMjPserM4qO6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9InRpdGxlIiB0eXBlPSJ0ZXh0IiBjbGFzcz0idGV4dCIgaWQ9InRpdGxlIiB2YWx1ZT0iPD9waHAgZWNobyAkY29udGVudHNbJ3RpdGxlJ107ICA/PiIgc2l6ZT0iMzUiIC8+DQogICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj7U2tXCvdrW0LXEy7PQ8qO6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9InNvcnRpZCIgdHlwZT0idGV4dCIgY2xhc3M9InRleHQiIGlkPSJzb3J0aWQiIHZhbHVlPSI8P3BocCBlY2hvICRjb250ZW50c1snc29ydGlkJ107ICA/PiIgc2l6ZT0iNSIgLz4NCiAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiDBpcr01cK92qO6IDwvdGQ+DQogICAgICAgICAgICAgICAgPHRkPjxzZWxlY3QgbmFtZT0iY2hhcHRlcmlkIiBzaXplPSI1IiBpZD0iY2hhcHRlcmlkIiBzdHlsZT0id2lkdGg6MjUwcHgiPg0KICAgICAgICAgICAgICAgICAgICA8P3BocA0KICAgIAlmb3JlYWNoKCRjaGFwdGVycyBhcyAkaz0+JHYpew0KICAgIAkJaWYoJGs9PSRjb250ZW50c1snY2hhcHRlcmlkJ10peyBlY2hvICIgICAgPG9wdGlvbiB2YWx1ZT0nJGsnIHNlbGVjdGVkPrXaeyRjaGFwbnVtc1ska1191cIgJHY8L29wdGlvbj5cclxuIjsgfQ0KICAgIAkJZWxzZSBlY2hvICIgICAgPG9wdGlvbiB2YWx1ZT0nJGsnPrXaeyRjaGFwbnVtc1ska1191cIgJHY8L29wdGlvbj5cclxuIjsNCiAgICAJfQ0KICAgIAk/Pg0KICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYWRkY2hhcHRlciIgdHlwZT0iY2hlY2tib3giIG9uY2xpY2s9IlNob3dIaWRlU2VsQ2hhcHRlcignc2VsY2hhcCcsJ25ld2NoYXAnKSIgaWQ9ImFkZGNoYXB0ZXIiIHZhbHVlPSIxIiAvPg0KICAgICAgICAgICAgICAgICAgzO2809DC1cK92jwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgIDwvdGFibGU+DQogICAgICAgICAgPHRhYmxlIGNlbGxzcGFjaW5nPSIxIiBjbGFzcz0ic3VibWl0IG1UMTAiPg0KICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRoIGNvbHNwYW49IjMiID48c3Ryb25nPs28xqw8L3N0cm9uZz48L3RoPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0ibWlkZGxlIj6xvrXYyc+0q6O6PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9J2ltZ2ZpbGUnIHN0eWxlPSJ3aWR0aDozMzBweCIgb25jaGFuZ2U9IlNlZVBpYyhkb2N1bWVudC5waWN2aWV3LGRvY3VtZW50LmZvcm0xLmltZ2ZpbGUpOyIgLz48L3RkPg0KICAgICAgICAgICAgICAgIDx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249Im1pZGRsZSI+PHNwYW4gc3R5bGU9InBhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweCI+PGltZyBzcmM9Ijw/cGhwIGlmKCRjb250ZW50c1snYmlncGljJ109PScnKSBlY2hvICdpbWFnZXMvcHZpZXcuZ2lmJzsgZWxzZSBlY2hvICRjb250ZW50c1snYmlncGljJ107ID8+IiBhbHQ9IiIgbmFtZT0icGljdmlldyIgd2lkdGg9IjE1MCIgaHNwYWNlPSIxMCIgdnNwYWNlPSIxMCIgaWQ9InBpY3ZpZXciIC8+PC9zcGFuPjwvdGQ+DQogICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjE1JSIgYWxpZ249InJpZ2h0IiB2YWxpZ249Im1pZGRsZSI+1ri2qM341rejuiA8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0naW1ndXJsJyB0eXBlPSJ0ZXh0IiBjbGFzcz0idGV4dCIgc3R5bGU9IndpZHRoOjI2MHB4IiB2YWx1ZT0iPD9waHAgZWNobyAkY29udGVudHNbJ2JpZ3BpYyddOyA/PiIgLz4NCiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbkdhcnkyIiBvbmNsaWNrPSJTZWxlY3RJbWFnZU4oJ2Zvcm0xLmltZ3VybCcsJ2JpZycsJ3BpY3ZpZXcnKSIgdHlwZT0iYnV0dG9uIj7RocihPC9idXR0b24+PC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIDwvdGJvZHk+DQogICAgICAgICAgPC90YWJsZT4NCiAgICAgICAgICA8aHIgLz4NCiAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDoxNSUiIGNsYXNzPSJtVEIxMCI+DQogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24yIiB0eXBlPSJzdWJtaXQiPszhvbs8L2J1dHRvbj4NCiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbjIgbUwxMCIgdHlwZT0icmVzZXQiIG9uY2xpY2s9ImxvY2F0aW9uLnJlbG9hZCgpOyI+1tjWwzwvYnV0dG9uPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8IS0t1vey2df3x/jT8iAtLT4NCiAgICAgIDwvZGl2Pg0KIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4vdGVtcGxldHMvZm9vdC5odG0iKTsgPz4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+ztK1xNChy7XK6cS/wdCx7TwvdGl0bGU+DQo8bGluayBocmVmPSIuLi9tZW1iZXIvdGVtcGxldHMvc3R5bGUvYmFzZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vaW1hZ2VzL2pzL2ouanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL21lbWJlci90ZW1wbGV0cy9qcy90YWJsZV9mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvbWFpbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvc3RvcnkuanMiPjwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHk+DQo8ZGl2IGlkPSJtYWluIj4NCiAgPD9waHAgaW5jbHVkZShERURFTUVNQkVSLiIuLi90ZW1wbGV0cy9oZWFkLmh0bSIpOyA/Pg0KICA8ZGl2IGlkPSJjb250ZW50IiBjbGFzcz0idzk2MCBjbGVhcmZpeCI+DQogICAgPD9waHAgaW5jbHVkZShERURFTUVNQkVSLiIuL3RlbXBsZXRzL21lbnUucGhwIik7ID8+DQogICAgPGRpdiBpZD0ibWNwbWFpbiI+DQogICAgICA8ZGl2IGlkPSJhcHBUYWIiPg0KICAgICAgICA8dWw+DQogICAgICAgICAgPGxpPjxhIGhyZWY9Im15Ym9va3MucGhwIj48c3Bhbj7Qocu1yunEvzwvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgICA8bGk+PGEgaHJlZj0ic3RvcnlfbGlzdF9jb250ZW50LnBocCI+PHNwYW4+0KHLtcTayN08L3NwYW4+PC9hPjwvbGk+DQogICAgICAgICAgPGxpIGNsYXNzPSJ0aGlzVGFiIj48YSBocmVmPSJzdG9yeV9zdG93LnBocCI+PHNwYW4+ztK1xMrVsti80Dwvc3Bhbj48L2E+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBpZD0ibWFpbkNwIj4NCiAgICAgICA8Zm9ybSBuYW1lPSJmb3JtMiIgY2xhc3M9Im1MMTAgbVIxMCBtVEIxMCI+DQogICAgICAgICAgPHRhYmxlIGNlbGxzcGFjaW5nPSIxIiBjbGFzcz0ibGlzdCIgd2lkdGg9IjEwMCUiPg0KICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRoID7Qocu1w/uzxjwvdGg+DQogICAgICAgICAgICAgICAgPHRoIHdpZHRoPSIxMCUiPsGlyvTAuMS/IDwvdGg+DQogICAgICAgICAgICAgICAgPHRoIHdpZHRoPSIxMCUiPrS0vajKsbzkIDwvdGg+DQogICAgICAgICAgICAgICAgPHRoIHdpZHRoPSIxMCUiPrncwO08L3RoPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAge2RlZGU6ZGF0YWxpc3R9DQogICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdpZHNbXScgdmFsdWU9Jzw/cGhwICBlY2hvICRyb3dbJ2lkJ107ICA/PicgLz4NCiAgICAgICAgICAgICAgICA8P3BocA0KCQkJCQkJZWNobyAiPGEgaHJlZj0nLi4vYm9vay9ib29rLnBocD9pZD17JGZpZWxkc1snaWQnXX0nIHRhcmdldD0nX2JsYW5rJz4iLiRmaWVsZHNbJ2Jvb2tuYW1lJ10uIjwvYT4iOw0KCQkJCQkJaWYoJGZpZWxkc1snYm9va3R5cGUnXSE9MSkgZWNobyAiICjQocu1xNrI3Tp7JGZpZWxkc1sncG9zdG51bSddfSkiOw0KCQkJCQkJZWxzZSBlY2hvICIgKML+u63E2sjdOnskZmllbGRzWydwb3N0bnVtJ119KSI7DQoJCQkJPz48L3RkPg0KICAgICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyAkZmllbGRzWydjbGFzc25hbWUnXTsgPz48L3RkPg0KICAgICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyBHZXREYXRlTWsoJGZpZWxkc1snc2VuZGRhdGUnXSk7ID8+PC90ZD4NCiAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjw/cGhwICBpZigkZmllbGRzWydib29rdHlwZSddIT0xKXsgPz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdzdG9yeV9hZGRfY29udGVudC5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGZpZWxkc1snaWQnXTsgPz4nPsztvNM8L2E+IHwNCiAgICAgICAgICAgICAgICA8P3BocCB9ZWxzZXsgPz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdzdG9yeV9hZGRfcGhvdG8ucGhwP2Jvb2tpZD08P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107ID8+Jz7M7bzTPC9hPiB8DQogICAgICAgICAgICAgICAgPD9waHAgfSA/Pg0KICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRjZmdfYm9va19pZmNoZWNrICE9ICfKxycgfHwgJGZpZWxkc1snaXNjaGVjayddID09MCApeyA/Pg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9InN0b3J5X2VkaXQucGhwP2Jvb2tpZD08P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107Pz4iPtDeuMQ8L2E+IHwNCiAgICAgICAgICAgICAgICA8P3BocCB9ID8+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0nc3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9PD9waHAgZWNobyAkZmllbGRzWydpZCddOyA/Pic+xNrI3TwvYT4gfCA8YSBocmVmPSdzdG9yeV9saXN0X2NoYXB0ZXIucGhwP2Jvb2tpZD08P3BocCBlY2hvICRmaWVsZHNbJ2lkJ107ID8+Jz7Vwr3aPC9hPiB8IDxhIGhyZWY9J2phdmFzY3JpcHQ6RGVsU3RvcnkoPD9waHAgZWNobyAkZmllbGRzWydpZCddOyA/PiknPsm+s/08L2E+PC90ZD4NCiAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICB7L2RlZGU6ZGF0YWxpc3R9DQogICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8dGZvb3Q+DQogICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iNiI+PGRpdiBjbGFzcz0icGFnZXMgbVRCMTAgZlJpZ2h0Ij57ZGVkZTpwYWdlbGlzdCBsaXN0c2l6ZT01L308L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj48L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Zm9vdD4NCiAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8IS0t1vey2df3x/jT8iAtLT4NCiAgICAgIDwvZGl2Pg0KIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8P3BocCBpbmNsdWRlKERFREVNRU1CRVIuIi4vdGVtcGxldHMvZm9vdC5odG0iKTsgPz4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+e2RlZGU6ZmllbGQgbmFtZT0ndGl0bGUnL30gLSB7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX3dlYm5hbWUnL308L3RpdGxlPg0KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IntkZWRlOmZpZWxkIG5hbWU9J2tleXdvcmRzJy99Ij4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJ7ZGVkZTpmaWVsZCBuYW1lPSdkZXNjcmlwdGlvbicvfSI+DQo8bGluayBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0iY2ZnX2Ntc3VybCIvfS9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIGhyZWY9IntkZWRlOmdsb2JhbCBuYW1lPSJjZmdfY21zdXJsIi99L2Jvb2svaW1hZ2VzL2JveHkuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgc3JjPSd7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3VybCcvfS9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0ie2RlZGU6Z2xvYmFsIG5hbWU9ImNmZ19jbXN1cmwiL30vYm9vay9qcy9qLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9IntkZWRlOmdsb2JhbCBuYW1lPSJjZmdfY21zdXJsIi99L2Jvb2svanMvc3RhcnMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0ie2RlZGU6Z2xvYmFsIG5hbWU9ImNmZ19jbXN1cmwiL30vYm9vay9qcy9qcXVlcnkuYm94eS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyANCgkgICQoIi5ib3h5IikuYm94eSgpOw0KICB9KQ0KZnVuY3Rpb24gU2hvd1N0YXJJbmZvKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3N0YXJpbmZvJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoIi9ib29rL2Jvb2tzdGFycy5waHA/YmlkPXtkZWRlOmZpZWxkIG5hbWU9J2JpZCcvfSZhamF4dHlwZT1pbmZvIik7DQogIERlZGVYSFRUUCA9IG51bGw7DQp9DQpmdW5jdGlvbiBTaG93cmF0aW5nKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX3JhdGluZycpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCiAgbXlhamF4LlNlbmRHZXQyKCIvYm9vay9ib29rc3RhcnMucGhwP2JpZD17ZGVkZTpmaWVsZCBuYW1lPSdiaWQnL30iKTsNCiAgRGVkZVhIVFRQID0gbnVsbDsNCn0NCmZ1bmN0aW9uIENoZWNrTG9naW4oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib29rX3dlbGNvbWUnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwiIiwiIiwiIik7DQogIG15YWpheC5TZW5kR2V0MigiL2Jvb2svbG9naW5zdGEucGhwIik7DQogIG15YWpheCA9IG51bGw7DQp9DQpmdW5jdGlvbiBjaGVja1N1Ym1pdCgpew0KCWlmKGRvY3VtZW50LmZlZWRiYWNrLm1zZy52YWx1ZSE9JycpIGRvY3VtZW50LmZlZWRiYWNrLnN1Ym1pdCgpOw0KCWVsc2UgYWxlcnQoIsbAwtvE2sjdsrvE3M6qv9WjoSIpOw0KfQ0KZnVuY3Rpb24gcG9zdEJhZEdvb2QoZnR5cGUsZmlkKQ0Kew0KCXZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmdHlwZStmaWQpOw0KCXZhciBzYXZlaWQgPSBHZXRDb29raWUoJ2JhZGdvb2RpZCcpOw0KCWlmKHNhdmVpZCAhPSBudWxsKQ0KCXsNCgkJdmFyIHNhdmVpZHMgPSBzYXZlaWQuc3BsaXQoJywnKTsNCgkJdmFyIGhhc2lkID0gZmFsc2U7DQoJCXNhdmVpZCA9ICcnOw0KCQlqID0gMTsNCgkJZm9yKGk9c2F2ZWlkcy5sZW5ndGgtMTtpPj0wO2ktLSkNCgkJew0KCQkJaWYoc2F2ZWlkc1tpXT09ZmlkICYmIGhhc2lkKSBjb250aW51ZTsNCgkJCWVsc2Ugew0KCQkJCWlmKHNhdmVpZHNbaV09PWZpZCAmJiAhaGFzaWQpIGhhc2lkID0gdHJ1ZTsNCgkJCQlzYXZlaWQgKz0gKHNhdmVpZD09JycgPyBzYXZlaWRzW2ldIDogJywnK3NhdmVpZHNbaV0pOw0KCQkJCWorKzsNCgkJCQlpZihqPT0xMCAmJiBoYXNpZCkgYnJlYWs7DQoJCQkJaWYoaj09OSAmJiAhaGFzaWQpIGJyZWFrOw0KCQkJfQ0KCQl9DQoJCWlmKGhhc2lkKSB7IGFsZXJ0KCfE+rjVssXS0bHtvva5/cHL4LijoScpOyByZXR1cm4gZmFsc2U7fQ0KCQllbHNlIHNhdmVpZCArPSAnLCcrZmlkOw0KCQlTZXRDb29raWUoJ2JhZGdvb2RpZCcsc2F2ZWlkLDEpOw0KCX0NCgllbHNlDQoJew0KCQlTZXRDb29raWUoJ2JhZGdvb2RpZCcsZmlkLDEpOw0KCX0NCglteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCcnLCcnLCcnKTsNCglteWFqYXguU2VuZEdldDIoIntkZWRlOmZpZWxkIG5hbWU9J3BocHVybCcvfS9ib29rZmVlZGJhY2sucGhwP2FpZD0iK2ZpZCsiJmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX21lbWJlcnVybCcvfS9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX21lbWJlcnVybCcvfS9pbmRleF9kby5waHA/Zm1kbz11c2VyJmRvcG9zdD1yZWduZXciPteisuE8L2E+PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va190b3BpbWciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3BiZyI+DQogICAgICAgIAkJPGRpdiBpZD0iYm9va19sb2dvIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2Jhbm5lciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAJPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfbWVudWJnIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfbWVudSI+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19nbyI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0ne2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXNwYXRoJy99L2Jvb2snPtb30rM8L2E+PC9saT4NCiAgICAgICAgCQkJe2RlZGU6Y2F0YWxvZ30NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IntpbjpmaWVsZCBuYW1lPSd1cmwnfXsvaW46ZmllbGR9Ij57aW46ZmllbGQgbmFtZT0nY2xhc3NuYW1lJ317L2luOmZpZWxkfTwvYT48L2xpPg0KICAgICAgICAJCQl7L2RlZGU6Y2F0YWxvZ30NCiAgICAgICAgCQkJPGxpPjxhIGhyZWY9J3tkZWRlOmdsb2JhbCBuYW1lPSdjZmdfY21zcGF0aCcvfS9tZW1iZXInPrvh1LHW0NDEPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCgk8IS0tzbeyv73hyvgtLT4NCiAgICA8IS0t1tC85L+qyrwtLT4NCiAgICA8ZGl2IGlkPSJtYWluIj4NCiAgIAkgIDxkaXYgaWQ9ImJvb2tfbWFpbiI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX2luZGV4Ij61scewzrvWw6O6PGEgaHJlZj0ie2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXNwYXRoJy99L2Jvb2siPtb30rM8L2E+ID4gPGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9e2RlZGU6ZmllbGQgbmFtZT0naWQnL30iPntkZWRlOmZpZWxkIG5hbWU9J2NsYXNzbmFtZScvfTwvYT4gPiB7ZGVkZTpmaWVsZCBuYW1lPSdib29rbmFtZScvfQ0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJib29rX2xlZnQiPjwhLS3X87Hfv6rKvC0tPg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPrG+1MLIyMPFzbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCXtkZWRlOmJvb2tsaXN0IHJvdz0nOCcgdGl0bGVsZW49JzI0JyBvcmRlcmJ5PSd3ZWVrY2MnfQ0KCQkJCQkJCTxsaT48YSBocmVmPSdbZmllbGQ6Ym9va3VybCAvXSc+W2ZpZWxkOmJvb2tuYW1lIC9dPC9hPjwvbGk+DQoJCQkJCQkJey9kZWRlOmJvb2tsaXN0fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPs3GvPbNvMrpDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAJe2RlZGU6Ym9va2xpc3Qgcm93PSc4JyB0aXRsZWxlbj0nMjQnIG9yZGVyYnk9J2NvbW1lbmQnfQ0KCQkJCQkJCTxsaT48YSBocmVmPSdbZmllbGQ6Ym9va3VybCAvXSc+W2ZpZWxkOmJvb2tuYW1lIC9dPC9hPjwvbGk+DQoJCQkJCQkJey9kZWRlOmJvb2tsaXN0fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPtfcteO798XF0NANCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCgkJICAJCQkJCXtkZWRlOmJvb2tsaXN0IHJvdz0nOCcgdGl0bGVsZW49JzI0JyBvcmRlcmJ5PSdjbGljayd9DQogICAgICAgICAgICAgICAgICAgICAgIAkJPGxpPjxhIGhyZWY9J1tmaWVsZDpib29rdXJsIC9dJz5bZmllbGQ6Ym9va25hbWUgL108L2E+PC9saT4NCgkJCQkJCQl7L2RlZGU6Ym9va2xpc3R9DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj48IS0t1/Ox373hyvgtLT4NCg0KICAgICAgICAgIAk8ZGl2IGlkPSJib29rX3JpZ2h0Ij48IS0t09Kx37+qyrwtLT4NCiAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX25ld3MiPjwhLS3Qwsrpyc+83C0tPg0KICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3NfdGl0bGUgdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPs7E1cLQxc+io7o8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfZm9ybTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9pbWcxIj48aW1nIHNyYz0ie2RlZGU6ZmllbGQgbmFtZT0nbGl0cGljJyBydW5waHA9J3llcyd9QG1lID0gKEBtZSA9PScnKT8gIi9pbWFnZXMvZGVmYXVsdHBpYy5naWYiIDogQG1lO3svZGVkZTpmaWVsZH0iIHdpZHRoPSIxMjAiIGhlaWdodD0iMTYwIiBhbHQ9IntkZWRlOmZpZWxkIG5hbWU9J3RpdGxlJyAvfSIvPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV90ZXh0MiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbW1lbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+e2RlZGU6ZmllbGQgbmFtZT0nYm9va25hbWUnL30gPC9oMT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGgyPtf31d+juntkZWRlOmZpZWxkIG5hbWU9J2F1dGhvcicvfTwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgIDxoMj7kr8DAwb+jujxzY3JpcHQgc3JjPSJ7ZGVkZTpnbG9iYWwgbmFtZT0iY2ZnX2Ntc3VybCIvfS9ib29rL2NvdW50Ym9vay5waHA/dmlldz15ZXMmYWlkPXtkZWRlOmZpZWxkIG5hbWU9J2lkJy99IiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7A4NDNo7o8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD17ZGVkZTpmaWVsZCBuYW1lPSdpZCcvfSI+e2RlZGU6ZmllbGQgbmFtZT0nY2xhc3NuYW1lJy99PC9hPjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7BrNTYzeqzyaO6e2RlZGU6ZmllbGQgbmFtZT0nc3RhdHVzJy99PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPsnPvNzKsbzko7p7ZGVkZTpmaWVsZCBuYW1lPSdwdWJkYXRlJyBmdW5jdGlvbj0nR2V0RGF0ZU1rKEBtZSknL308L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGEgaHJlZj0ie2RlZGU6ZmllbGQgbmFtZT0ncGhwdXJsJy99L3N0b3cucGhwP2FpZD17ZGVkZTpmaWVsZCBuYW1lPWlkL30mdHlwZT1ib29rJnRpdGxlPXtkZWRlOmZpZWxkIG5hbWU9J2Jvb2tuYW1lJy99IiB0YXJnZXQ9Il9ibGFuayI+ytWy2DwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJ0ZXh0Ij7GwLzb1eKxvsrpo7o8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQiPg0KICAgICAgICAgICAgICAJCQkJCSAgIDxkaXYgaWQ9Il9yYXRpbmciIHN0eWxlPSJwYWRkaW5nLXRvcDogMnB4OyI+PC9kaXY+DQoJCQkgCQkJCQkgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPlNob3dyYXRpbmcoKTs8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJfc3RhcmluZm8iPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5TaG93U3RhckluZm8oKTs8L3NjcmlwdD4gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPtfu0MLVwr3ao7p7ZGVkZTpuZXdjb250ZW50IHJvdz0nMScvfTwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RpdGxlIj7NvMrpvenJ3KO6PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2dhcmVhIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIHtkZWRlOmZpZWxkIG5hbWU9J2JvZHknL30NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX2xpc3R0YWJsZSI+1cK92sHQse2jug0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICB7ZGVkZTpjaGFwdGVyfQ0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV90ZXh0dGFibGUiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19hcnRpY2xlX3RleHR0aXRsZSI+tdp7aW46ZmllbGQgbmFtZT0nY2hhcG51bSd9ey9pbjpmaWVsZH3VwiB7aW46ZmllbGQgbmFtZT0nY2hhcHRlcm5hbWUnfXsvaW46ZmllbGR9DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfYXJ0aWNsZV9saXN0dGV4dCI+DQogICAgICAgICAgICAgICAgICAgICAgICAJPGRsIGlkPSJjaGFwdGVybGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAge2luOmNvbnRlbnR9PGRkPjxhIGhyZWY9IltmaWVsZDp1cmwvXSI+tdpbZmllbGQ6Y2gvXb3aIFtmaWVsZDp0aXRsZS9dPC9hPjwvZGQ+ey9pbjpjb250ZW50fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIHsvZGVkZTpjaGFwdGVyfQ0KICAgICAgICAgICAgICAgICAgPCEtLSBjb21tZW50LS0+DQoJCQk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7ICI+CQ0KCQkJCTxkbCBjbGFzcz0idGJveCI+DQoJCQkJCTxkdD4NCgkJCQkJCTxzdHJvbmc+1+7QwsbAwts8L3N0cm9uZz4NCgkJCQkJCTxzcGFuIGNsYXNzPSJtb3JlIj48YSBocmVmPSJ7ZGVkZTpmaWVsZCBuYW1lPSdwaHB1cmwnL30vYm9va2ZlZWRiYWNrLnBocD9haWQ9e2RlZGU6ZmllbGQuaWQvfSI+sum/tMv509DGwMLbPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgIDwvZHQ+DQoJCQkJCTxkZD4NCgkJCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudCI+DQoJCQkJCQk8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0ie2RlZGU6ZmllbGQgbmFtZT0ncGhwdXJsJy99L2Jvb2tmZWVkYmFja19qcy5waHA/YWlkPXtkZWRlOmZpZWxkIG5hbWU9J2lkJy99Ij48L3NjcmlwdD4NCgkJCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudCAtLT4NCgkJCQkJPC9kZD4NCgkJCQkJPC9kbD4NCgkJCQkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCQkJCTxkdD4NCgkJCQkJCQk8c3Ryb25nPreise3GwMLbPC9zdHJvbmc+DQoJCQkJCQkJPHNwYW4gY2xhc3M9Im1vcmUiPjxhIGhyZWY9IntkZWRlOmZpZWxkIG5hbWU9J3BocHVybCcvfS9ib29rZmVlZGJhY2sucGhwP2FpZD17ZGVkZTpmaWVsZC5pZC99Ij6y6b+0y/nT0MbAwts8L2E+PC9zcGFuPg0KCQkJCQkgIDwvZHQ+DQoJCQkJCQk8ZGQ+DQoJCQkJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50X3Bvc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249IntkZWRlOmZpZWxkIG5hbWU9J3BocHVybCcvfS9ib29rZmVlZGJhY2sucGhwIiBtZXRob2Q9InBvc3QiIG5hbWU9ImZlZWRiYWNrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0ic2VuZCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29tdHlwZSIgdmFsdWU9ImNvbW1lbnRzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWlkIiB2YWx1ZT0ie2RlZGU6ZmllbGQgbmFtZT0naWQnL30iIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC10aXRsZSI+DQoJCQkJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtY29udGVudCI+DQoJCQkJCQkJCSAgPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiPjwvdGV4dGFyZWE+DQoJCQkJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiB2YWx1ZT0iZ29vZCIgaWQ9ImRjbXAtc3RhbmQtZ29vZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWdvb2QiPjxpbWcgc3JjPSJ7ZGVkZTpnbG9iYWwuY2ZnX3RlbXBsZXRzX3NraW4vfS9pbWFnZXMvY210LWdvb2QuZ2lmIiAvPrrDxsA8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJiYWQiIGlkPSJkY21wLXN0YW5kLWJhZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWJhZCI+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9jbXQtYmFkLmdpZiIgLz6y7sbAPC9sYWJlbD48L3NwYW4+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtc3RhbmQgLS0+PCEtLSAvZGNtcC1jb250ZW50IC0tPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLW1vb2QiPg0KCQkJCQkJCQkJPHN0cm9uZz6x7cfpOjwvc3Ryb25nPg0KCQkJCQkJCQkJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtMS5naWYiIC8+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzcnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNy5naWYiIC8+PC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtbW9vZCAtLT4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1wb3N0Ij48IS0tzrS1x8K9LS0+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXVzZXJpbmZvIiBpZD0iX2FqYXhfZmVlZGJhY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtkZWRlOnBocH0NCgkJCQkJCQkJCQkJaWYoJGNmZ19tYl9vcGVuPT0nWScpIHsNCgkJCQkJCQkJCQkJZWNobyAn08O7p8P7OjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VybmFtZSIgc2l6ZT0iMTYiIGNsYXNzPSJpcHQtdHh0IiAvPic7DQoJCQkJCQkJCQkJCWVjaG8gJ8Pcwus6PGlucHV0IG5hbWU9InB3ZCIgdHlwZT0icGFzc3dvcmQiIHNpemU9IjE2IiBjbGFzcz0iaXB0LXR4dCIgLz4nOw0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCQkJey9kZWRlOnBocH0NCgkJCQkJCQkJCQnR6dakwus6PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3ZhbGlkYXRlJyBzaXplPSc0JyBjbGFzcz0naXB0LXR4dCcgLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ19jbXN1cmwgL30vaW5jbHVkZS92ZGltZ2NrLnBocCIgaWQ9InZhbGlkYXRlaW1nIiBzdHlsZT0iY3Vyc29yOnBvaW50ZXIiIG9uY2xpY2s9InRoaXMuc3JjPXRoaXMuc3JjKyc/JyIgdGl0bGU9IrXju/fO0rj8u7vNvMasIiBhbHQ9IrXju/fO0rj8u7vNvMasIiAvPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibm90dXNlciIgaWQ9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPjxsYWJlbCBmb3I9ImRjbXAtc3VibWl0LWd1ZXN0IiAvPsTkw/s/IDwvbGFiZWw+DQoJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgIAkJCQkJCQl7ZGVkZTpwaHB9DQoJCQkJCQkJCQkJCWlmKCRjZmdfbWJfb3Blbj09J1knKSB7DQogICAgICAgICAgICAgIAkJCQkJCQkJZWNobyAnPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5DaGVja0xvZ2luKCk7PC9zY3JpcHQ+JzsNCiAgICAgICAgICAgICAgCQkJCQkJCX0NCgkJCQkJCQkJCQl7L2RlZGU6cGhwfQ0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC1zdWJtaXQiPg0KCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBvbkNsaWNrPSdjaGVja1N1Ym1pdCgpJz63orHtxsDC2zwvYnV0dG9uPg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Zvcm0+DQoJCQkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnRfcG9zdCAtLT4NCgkJCQkJPC9kZD4NCgkJCQk8L2RsPg0KCQk8L2Rpdj48IS0tIGNvbW1lbnQgLS0+CSAgICAgIA0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPCEtLdbQvOS94cr4LS0+DQogICAgPGRpdiBjbGFzcz0iYm9va19mb290ZXIiPg0KICAgIAlQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVkZWNtcy5jb20vIj5EZWRlQ21zIHtkZWRlOmdsb2JhbCBuYW1lPSdjZmdfdmVyc2lvbicvfTwvYT4gJmNvcHk7IDIwMDQtMjAxMSAgPGEgaHJlZj0iaHR0cDovL3d3dy5kZXNkZXYuY24vIj5EZXNEZXYgSW5jLjwvYT48YnIgLz4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgPC9kaXY+DQoNCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+IM28yunBrNTYxrW1wCAtIHtkZWRlOmdsb2JhbCBuYW1lPSdjZmdfd2VibmFtZScvfTwvdGl0bGU+DQo8bGluayBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0iY2ZnX2Ntc3VybCIvfS9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSIiPg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiI+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0JyBzcmM9J3tkZWRlOmdsb2JhbCBuYW1lPSdjZmdfY21zdXJsJy99L2luY2x1ZGUvZGVkZWFqYXgyLmpzJz48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KZnVuY3Rpb24gQ2hlY2tMb2dpbigpew0KICB2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2tfd2VsY29tZScpOw0KICBteWFqYXggPSBuZXcgRGVkZUFqYXgodGFnZXRfb2JqLGZhbHNlLGZhbHNlLCIiLCIiLCIiKTsNCiAgbXlhamF4LlNlbmRHZXQyKCJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3VybCcvfS9ib29rL2xvZ2luc3RhLnBocCIpOw0KICBteWFqYXggPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSIuLi8uLi9pbWFnZXMvYm9va19zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX21lbWJlcnVybCcvfS9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX21lbWJlcnVybCcvfS9pbmRleF9kby5waHA/Zm1kbz11c2VyJmRvcG9zdD1yZWduZXciPteisuE8L2E+PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va190b3BpbWciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3BiZyI+DQogICAgICAgIAkJPGRpdiBpZD0iYm9va19sb2dvIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2Jhbm5lciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAJPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfbWVudWJnIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfbWVudSI+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19nbyI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0ne2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXN1cmwnL30nPtb30rM8L2E+PC9saT4NCiAgICAgICAgCQkJe2RlZGU6Y2F0YWxvZ30NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IntpbjpmaWVsZCBuYW1lPSd1cmwnfXsvaW46ZmllbGR9Ij57aW46ZmllbGQgbmFtZT0nY2xhc3NuYW1lJ317L2luOmZpZWxkfTwvYT48L2xpPg0KICAgICAgICAJCQl7L2RlZGU6Y2F0YWxvZ30NCiAgICAgICAgCQkJPGxpPjxhIGhyZWY9J3tkZWRlOmdsb2JhbCBuYW1lPSdjZmdfbWVtYmVydXJsJy99Jz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCgk8IS0tzbeyv73hyvgtLT4NCiAgICA8IS0t1tC85L+qyrwtLT4NCiAgICA8ZGl2IGlkPSJtYWluIj4NCiAgIAkgIDxkaXYgaWQ9ImJvb2tfbWFpbiI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX2luZGV4Ij4NCiAgICAgICAgICAgILWxx7DOu9bDo7o8YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3BhdGgnL30vYm9vayI+1vfSszwvYT4gPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgPGRpdiBpZD0iYm9va19sZWZ0Ij48IS0t1/Ox37+qyrwtLT4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj6xvtTCyMjDxc28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAl7ZGVkZTpib29rbGlzdCByb3c9JzgnIHRpdGxlbGVuPScyNCcgb3JkZXJieT0nd2Vla2NjJ30NCgkJCQkJCQk8bGk+PGEgaHJlZj0nW2ZpZWxkOmJvb2t1cmwgL10nPltmaWVsZDpib29rbmFtZSAvXTwvYT48L2xpPg0KCQkJCQkJCXsvZGVkZTpib29rbGlzdH0NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7Nxrz2zbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCXtkZWRlOmJvb2tsaXN0IHJvdz0nOCcgdGl0bGVsZW49JzI0JyBvcmRlcmJ5PSdjb21tZW5kJ30NCgkJCQkJCQk8bGk+PGEgaHJlZj0nW2ZpZWxkOmJvb2t1cmwgL10nPltmaWVsZDpib29rbmFtZSAvXTwvYT48L2xpPg0KCQkJCQkJCXsvZGVkZTpib29rbGlzdH0NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQl7ZGVkZTpib29rbGlzdCByb3c9JzgnIHRpdGxlbGVuPScyNCcgb3JkZXJieT0nY2xpY2snfQ0KICAgICAgICAgICAgICAgICAgICAgICAJCTxsaT48YSBocmVmPSdbZmllbGQ6Ym9va3VybCAvXSc+W2ZpZWxkOmJvb2tuYW1lIC9dPC9hPjwvbGk+DQoJCQkJCQkJey9kZWRlOmJvb2tsaXN0fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgICA8Zm9ybSBhY3Rpb249J3NlYXJjaC5waHAnIG5hbWU9J2Jvb2tzZWFyY2gnPg0KICAgICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfc2VhcmNoIj48IS0ty9HL97/yLS0+DQogICAgICAgICAgICAgICAgCcvRy/fNvMrpo7oNCiAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJrZXl3b3JkIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iYm9va19sYWJlbCIgLz4NCiAgICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9ImlkIiBuYW1lPSJpZCI+DQogICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAiIHNlbGVjdGVkPi3H69Gh1PG31sDgLTwvb3B0aW9uPg0KCQkJICAJCXtkZWRlOmNhdGFsb2d9DQogICAgICAgICAgICAgICAgICAJPG9wdGlvbiB2YWx1ZT0ie2luOmZpZWxkIG5hbWU9J2lkJ317L2luOmZpZWxkfSAiPntpbjpmaWVsZCBuYW1lPSdjbGFzc25hbWUnfXsvaW46ZmllbGR9IDwvb3B0aW9uPg0KICAgICAgICAgICAgICAJCXtpbjpzb25saXN0fQ0KICAgICAgICAgICAgICAgICAgCTxvcHRpb24gdmFsdWU9IltmaWVsZDppZC9dIj4gLS1bZmllbGQ6Y2xhc3NuYW1lL108L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgIAl7L2luOnNvbmxpc3R9DQogICAgICAgICAgICAgIAkJey9kZWRlOmNhdGFsb2d9DQogICAgICAgICAgICAgICAgCTwvc2VsZWN0Pg0KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTdWJtaXQyIiB2YWx1ZT0iy9HL9yIgY2xhc3M9ImJvb2tfYnV0dG9uIiAvPg0KICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgPC9mb3JtPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfY2xhc3MiPjwhLS3NvMrpt9bA4C0tPg0KDQogICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfY2xhc3NfdGl0bGUgdGl0bGUiPs28yum31sDgo7oNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfY2xhc3NfdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAl7ZGVkZTpjYXRhbG9nfQ0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19jbGFzc19mb3JtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PjxhIGhyZWY9IntpbjpmaWVsZCBuYW1lPSd1cmwnfXsvaW46ZmllbGR9Ij57aW46ZmllbGQgbmFtZT0nY2xhc3NuYW1lJ317L2luOmZpZWxkfaO6PC9hPjwvZHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAge2luOnNvbmxpc3R9PGRkPiA8YSBocmVmPSdbZmllbGQ6dXJsL10nPltmaWVsZDpjbGFzc25hbWUvXTwvYT48L2RkPnsvaW46c29ubGlzdH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgey9kZWRlOmNhdGFsb2d9DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3MiPjwhLS3Qwsrpyc+83C0tPg0KICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3NfdGl0bGUgdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPtDCyunJz7zco7o8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZSI+DQogICAgICAgICAgICAgICAgICAgIAl7ZGVkZTpib29rbGlzdCByb3c9JzQnIHRpdGxlbGVuPScyNCcgb3JkZXJieT0nYmlkJ30NCjxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9mb3JtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nIj48YSBocmVmPSJbZmllbGQ6Ym9va3VybC9dIj5bZmllbGQ6bGl0cGljIHJ1bnBocD0neWVzJ11AbWUgPSAoKEBtZT09IiIpID8gIjxpbWcgc3JjPScvaW1hZ2VzL2RlZmF1bHRwaWMuZ2lmJyB3aWR0aD0nODAnIGhlaWdodD0nMTAwJy8+IiA6ICI8aW1nIHNyYz0nQG1lJyB3aWR0aD0nODAnIGhlaWdodD0nMTAwJz4iKTsgWy9maWVsZDpsaXRwaWNdPC9hPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfdGV4dCI+PGgxPjxhIGhyZWY9J1tmaWVsZDpib29rdXJsL10nPltmaWVsZDp0aXRsZS9dPC9hPjwvaDE+PGgyPtf31d+jujxhIGhyZWY9J3NlYXJjaC5waHA/YXV0aG9yPVtmaWVsZDphdXRob3IvXSc+W2ZpZWxkOmF1dGhvci9dPC9hPjwvaDI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPltmaWVsZDpkZXNjcmlwdGlvbiBmdW5jdGlvbj0iY25fc3Vic3RyKEBtZSw2MCkiL12hrTwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIHsvZGVkZTpib29rbGlzdH0NCjxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV3cyI+PCEtLdfuvfy4/NDCLS0+DQogICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV4dF90aXRsZSI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+1+69/Lj80MKjujwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXh0X2hlYWRlciI+DQogICAgICAgICAgICAgICAgICAgCSAgPGRsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJuYW1lX2Jvb2siPs28yunD+7PGPC9kZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ibmV3c19ib29rIj7X7tDC1cK92jwvZGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9InRpbWVfYm9vayI+uPzQwsqxvOQ8L2RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAJe2RlZGU6Y29udGVudGxpc3Qgcm93PScyMCd9DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbmV4dF90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTxkbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ibmFtZV9ib29rIj5bW2ZpZWxkOmNhdGFsb2dsaW5rL11dIFtmaWVsZDpib29rbGluay9dPC9kZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ibmV3c19ib29rIj5bZmllbGQ6Y29udGVudGxpbmsvXTwvZGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9InRpbWVfYm9vayI+W2ZpZWxkOmxhc3Rwb3N0IGZ1bmN0aW9uPSJHZXREYXRlTWsoQG1lKSIvXTwvZGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2RsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICB7L2RlZGU6Y29udGVudGxpc3R9DQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8IS0t1tC85L3hyvgtLT4NCiAgICA8ZGl2IGNsYXNzPSJib29rX2Zvb3RlciI+DQogICAgICAgIFBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5kZWRlY21zLmNvbS8iPkRlZGVDbXMge2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ192ZXJzaW9uJy99PC9hPiAmY29weTsgMjAwNC0yMDExICA8YSBocmVmPSJodHRwOi8vd3d3LmRlc2Rldi5jbi8iPkRlc0RldiBJbmMuPC9hPjxiciAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+e2RlZGU6ZmllbGQgbmFtZT0ndGl0bGUnL30gLSB7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX3dlYm5hbWUnL308L3RpdGxlPg0KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IntkZWRlOmZpZWxkIG5hbWU9J2tleXdvcmRzJy99Ij4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJ7ZGVkZTpmaWVsZCBuYW1lPSdkZXNjcmlwdGlvbicvfSI+DQo8bGluayBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0iY2ZnX2Ntc3VybCIvfS9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0ne2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXN1cmwnL30vaW5jbHVkZS9kZWRlYWpheDIuanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOyAgbXlhamF4LlNlbmRHZXQyKCJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3VybCcvfS9ib29rL2xvZ2luc3RhLnBocCIpOw0KbXlhamF4ID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0ie2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19tZW1iZXJ1cmwnL30vbG9naW4ucGhwIj61x8K8PC9hPjwvc3Bhbj4gu/IgPHNwYW4+PGEgaHJlZj0ie2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19tZW1iZXJ1cmwnL30vaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9J3tkZWRlOmdsb2JhbCBuYW1lPSdjZmdfY21zcGF0aCcvfS9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCXtkZWRlOmNhdGFsb2d9DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJ7aW46ZmllbGQgbmFtZT0ndXJsJ317L2luOmZpZWxkfSI+e2luOmZpZWxkIG5hbWU9J2NsYXNzbmFtZSd9ey9pbjpmaWVsZH08L2E+PC9saT4NCiAgICAgICAgCQkJey9kZWRlOmNhdGFsb2d9DQogICAgICAgIAkJCTxsaT48YSBocmVmPSd7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3BhdGgnL30vbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCgk8IS0tzbeyv73hyvgtLT4NCiAgICA8IS0t1tC85L+qyrwtLT4NCiAgICA8ZGl2IGlkPSJtYWluIj4NCiAgIAkgIDxkaXYgaWQ9ImJvb2tfbWFpbiI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX2luZGV4Ij61scewzrvWw6O6PGEgaHJlZj0ie2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXNwYXRoJy99L2Jvb2siPtb30rM8L2E+ID4gPGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9e2RlZGU6ZmllbGQgbmFtZT0naWQnL30iPntkZWRlOmZpZWxkIG5hbWU9J2NsYXNzbmFtZScvfTwvYT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va19sZWZ0Ij48IS0t1/Ox37+qyrwtLT4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj6xvtTCyMjDxc28yukNCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbl90ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIAl7ZGVkZTpib29rbGlzdCByb3c9JzgnIHRpdGxlbGVuPScyNCcgb3JkZXJieT0nd2Vla2NjJ30NCgkJCQkJCQk8bGk+PGEgaHJlZj0nW2ZpZWxkOmJvb2t1cmwgL10nPltmaWVsZDpib29rbmFtZSAvXTwvYT48L2xpPg0KCQkJCQkJCXsvZGVkZTpib29rbGlzdH0NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7Nxrz2zbzK6Q0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgCXtkZWRlOmJvb2tsaXN0IHJvdz0nOCcgdGl0bGVsZW49JzI0JyBvcmRlcmJ5PSdjb21tZW5kJ30NCgkJCQkJCQk8bGk+PGEgaHJlZj0nW2ZpZWxkOmJvb2t1cmwgL10nPltmaWVsZDpib29rbmFtZSAvXTwvYT48L2xpPg0KCQkJCQkJCXsvZGVkZTpib29rbGlzdH0NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQl7ZGVkZTpib29rbGlzdCByb3c9JzgnIHRpdGxlbGVuPScyNCcgb3JkZXJieT0nY2xpY2snfQ0KICAgICAgICAgICAgICAgICAgICAgICAJCTxsaT48YSBocmVmPSdbZmllbGQ6Ym9va3VybCAvXSc+W2ZpZWxkOmJvb2tuYW1lIC9dPC9hPjwvbGk+DQoJCQkJCQkJey9kZWRlOmJvb2tsaXN0fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+PCEtLdfzsd+94cr4LS0+DQoNCiAgICAgICAgICAJPGRpdiBpZD0iYm9va19yaWdodCI+PCEtLdPSsd+/qsq8LS0+DQogICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19jbGFzczEiPjwhLS3NvMrpt9bA4C0tPg0KICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX2NsYXNzX3RpdGxlIHRpdGxlIj7Pwry2t9bA4KO6DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2NsYXNzX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19jbGFzc19mb3JtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PntkZWRlOmZpZWxkIG5hbWU9J3RpdGxlJy99PC9kdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGVkZTpjYXRhbG9nIHR5cGU9J3Nvbid9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkPjxhIGhyZWY9IntpbjpmaWVsZCBuYW1lPSd1cmwnfXsvaW46ZmllbGR9Ij57aW46ZmllbGQgbmFtZT0nY2xhc3NuYW1lJ317L2luOmZpZWxkfTwvYT48L2RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvZGVkZTpjYXRhbG9nfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT57ZGVkZTpmaWVsZCBuYW1lPSd0aXRsZScvfaO6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICB7ZGVkZTpsaXN0IGltZ3dpZHRoPSc4MCcgaW1naGVpZ2h0PScxMDAnIHBhZ2VzaXplPSc1JyBvcmRlcmJ5PSdiaWQnfQ0KPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX2Zvcm0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfaW1nIj48YSBocmVmPSJbZmllbGQ6Ym9va3VybC9dIj5bZmllbGQ6bGl0cGljIHJ1bnBocD0neWVzJ11AbWUgPSAoZW1wdHkoQG1lWydsaXRwaWMnXSkgPyAiPGltZyBzcmM9Jy9pbWFnZXMvZGVmYXVsdHBpYy5naWYnIHdpZHRoPSc4MCcgaGVpZ2h0PScxMDAnIC8+IiA6ICI8aW1nIHNyYz0nQG1lJyB3aWR0aD0nODAnIGhlaWdodD0nMTAwJyAvPiIpOyBbL2ZpZWxkOmxpdHBpY108L2E+PC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQxIj4NCiAgICAgICAgICAgICAgIAk8aDE+W1tmaWVsZDpjYXRhbG9nbGluay9dXSA8YSBocmVmPSJbZmllbGQ6Ym9va3VybC9dIj5bZmllbGQ6Ym9va25hbWUvXTwvYT4gPC9oMT48aDI+1/fV36O6W2ZpZWxkOmF1dGhvci9dICAgIKG+yse38c3qs8nBrNTYo7pbZmllbGQ6aXNjaGVjay9dob88L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAk8aDM+W2ZpZWxkOmRlc2NyaXB0aW9uIHJ1bnBocD0neWVzJ10gaWYoc3RybGVuKEBtZSk+PTI0MCkgQG1lID0gc3Vic3RyKEBtZSwwLDI0MCkuIi4uLiI7Wy9maWVsZDpkZXNjcmlwdGlvbl08L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICB7L2RlZGU6bGlzdH0NCjxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX2xpc3RwYWdlIj57ZGVkZTpwYWdlbGlzdCBzaXplPSc1Jy99PC9kaXY+DQoNCg0KDQogICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwhLS3W0LzkveHK+C0tPg0KICAgIDxkaXYgY2xhc3M9ImJvb2tfZm9vdGVyIj4NCiAgICAgICAgUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyB7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX3ZlcnNpb24nL308L2E+ICZjb3B5OyAyMDA0LTIwMTEgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVzZGV2LmNuLyI+RGVzRGV2IEluYy48L2E+PGJyIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgIDwvZGl2Pg0KDQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0ie2RlZGU6ZmllbGQgbmFtZT0na2V5d29yZHMnL30iPg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IntkZWRlOmZpZWxkIG5hbWU9J2Rlc2NyaXB0aW9uJy99Ij4NCjx0aXRsZT57ZGVkZTpmaWVsZCBuYW1lPSd0aXRsZScvfSAtIHtkZWRlOmZpZWxkIG5hbWU9J2Jvb2tuYW1lJy99IHwge2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ193ZWJuYW1lJy99PC90aXRsZT4NCjxsaW5rIGhyZWY9IntkZWRlOmdsb2JhbCBuYW1lPSJjZmdfY21zdXJsIi99L2Jvb2svaW1hZ2VzL2Jvb2tfc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCcgc3JjPSd7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3VybCcvfS9pbmNsdWRlL2RlZGVhamF4Mi5qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0Jz4NCmZ1bmN0aW9uIENoZWNrTG9naW4oKXsNCiAgdmFyIHRhZ2V0X29iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib29rX3dlbGNvbWUnKTsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwiIiwiIiwiIik7ICBteWFqYXguU2VuZEdldDIoIntkZWRlOmdsb2JhbCBuYW1lPSJjZmdfY21zdXJsIi99L2Jvb2svbG9naW5zdGEucGhwIik7DQpteWFqYXggPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9IkNoZWNrTG9naW4oKSI+DQo8ZGl2IGlkPSJjb250YWluZXIiPg0KCTwhLS3Nt7K/v6rKvC0tPg0KICAgIDxkaXYgaWQ9ImJvb2tfaGVhZGVyIj4NCiAgICAJPGRpdiBpZD0iYm9va190b3AiPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3Bsb2dvIj4NCiAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBpZD0iYm9va193ZWxjb21lIj7E+rrDo6zH6yA8c3Bhbj48YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX21lbWJlcnVybCcvfS9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX21lbWJlcnVybCcvfS9pbmRleF9kby5waHA/Zm1kbz11c2VyJmRvcG9zdD1yZWduZXciPteisuE8L2E+PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va190b3BpbWciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3BiZyI+DQogICAgICAgIAkJPGRpdiBpZD0iYm9va19sb2dvIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2Jhbm5lciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAJPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfbWVudWJnIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfbWVudSI+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19nbyI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0ne2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXNwYXRoJy99L2Jvb2snPtb30rM8L2E+PC9saT4NCiAgICAgICAgCQkJe2RlZGU6Y2F0YWxvZ30NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IntpbjpmaWVsZCBuYW1lPSd1cmwnfXsvaW46ZmllbGR9Ij57aW46ZmllbGQgbmFtZT0nY2xhc3NuYW1lJ317L2luOmZpZWxkfTwvYT48L2xpPg0KICAgICAgICAJCQl7L2RlZGU6Y2F0YWxvZ30NCiAgICAgICAgCQkJPGxpPjxhIGhyZWY9J3tkZWRlOmdsb2JhbCBuYW1lPSdjZmdfY21zcGF0aCcvfS9tZW1iZXInPrvh1LHW0NDEPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCgk8IS0tzbeyv73hyvgtLT4NCiAgICA8IS0t1tC85L+qyrwtLT4NCiAgICA8ZGl2IGlkPSJtYWluIj4NCiAgICAJPGRpdiBpZD0iYm9va19taWRkbGUiPg0KICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbWlkZGxlX2FydGljbGUiPg0KICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19taWRkbGVfdGl0bGUiPmEgaHJlZj0iIj61scewzrvWw6O6PGEgaHJlZj0ie2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXNwYXRoJy99L2Jvb2siPtb30rM8L2E+ID4gPGEgaHJlZj0iL2Jvb2svbGlzdC5waHA/aWQ9e2RlZGU6ZmllbGQgbmFtZT0naWQnL30iPntkZWRlOmZpZWxkIG5hbWU9J2NsYXNzbmFtZScvfTwvYT4gPg0KICAgICAgICA8YSBocmVmPSd7ZGVkZTpmaWVsZCBuYW1lPSdib29rdXJsJy99Jz57ZGVkZTpmaWVsZCBuYW1lPSdib29rbmFtZScvfTwvYT4gPg0KICAgICAgICC12iB7ZGVkZTpmaWVsZCBuYW1lPSdjaGFwbnVtJy99INXCIHtkZWRlOmZpZWxkIG5hbWU9J2NoYXB0ZXJuYW1lJy99DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX21pZGRsZV90ZXh0Ij4NCiAgICAgICAgICAgICAgICAJPGRsPg0KICAgICAgICAgICAgICAgICAgICA8ZHQ+tdp7ZGVkZTpmaWVsZCBuYW1lPSdzb3J0aWQnIC99vdoge2RlZGU6ZmllbGQgbmFtZT0ndGl0bGUnL308L2R0Pg0KICAgICAgICAgICAgICAgICAgICA8ZGQ+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJ7ZGVkZTpwcmVuZXh0IGdldD0nbmV4dHVybCcvfSI+DQogICAgICAgICAgICAgICAgICAgICAgPGltZyBuYW1lPSJiaWdwaWMiIGlkPSJiaWdwaWMiIHNyYz0ie2RlZGU6ZmllbGQgbmFtZT0nYmlncGljJy99IiBhbHQ9IntkZWRlOmZpZWxkIG5hbWU9J3RpdGxlJy99IiBib3JkZXI9IjAiIC8+PC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KCXZhciBteWltZyA9IG5ldyBJbWFnZSgpOw0KCW15aW1nLnNyYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiaWdwaWMiKS5zcmM7DQoJaWYobXlpbWcud2lkdGggPiBzY3JlZW4ud2lkdGgpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiaWdwaWMiKS53aWR0aCA9IHNjcmVlbi53aWR0aCAqIDAuOTY7DQoJICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2RkPg0KICAgICAgICAgICAgICAgICAgPC9kbD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX21pZGRsZV90ZXh0X25leHQiPjxhIGhyZWY9IntkZWRlOnByZW5leHQgZ2V0PSdwcmV1cmwnL30iPsnP0rvGqjwvYT4gICAgPGEgaHJlZj0iYm9vay5waHA/aWQ9e2RlZGU6ZmllbGQgbmFtZT0nYm9va2lkJy99Ij672MS/wrw8L2E+ICAgIDxhIGhyZWY9IntkZWRlOnByZW5leHQgZ2V0PSduZXh0dXJsJy99Ij7PwtK7xqo8L2E+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQo8IS0t1tC85L3hyvgtLT4NCiAgICA8ZGl2IGNsYXNzPSJib29rX2Zvb3RlciI+DQogICAgICAgIFBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5kZWRlY21zLmNvbS8iPkRlZGVDbXMge2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ192ZXJzaW9uJy99PC9hPiAmY29weTsgMjAwNC0yMDExICA8YSBocmVmPSJodHRwOi8vd3d3LmRlc2Rldi5jbi8iPkRlc0RldiBJbmMuPC9hPjxiciAvPiAgICANCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgPC9kaXY+DQoNCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+e2RlZGU6ZmllbGQgbmFtZT0ndGl0bGUnL30gLSB7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX3dlYm5hbWUnL308L3RpdGxlPg0KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IntkZWRlOmZpZWxkIG5hbWU9J2tleXdvcmRzJy99Ij4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJ7ZGVkZTpmaWVsZCBuYW1lPSdkZXNjcmlwdGlvbicvfSI+DQo8bGluayBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0iY2ZnX2Ntc3VybCIvfS9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0ne2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXN1cmwnL30vaW5jbHVkZS9kZWRlYWpheDIuanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOw0KICBteWFqYXguU2VuZEdldDIoIntkZWRlOmdsb2JhbCBuYW1lPSJjZmdfY21zdXJsIi99L2Jvb2svbG9naW5zdGEucGhwIik7DQogIG15YWpheCA9IG51bGw7DQp9DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5IG9ubG9hZD0iQ2hlY2tMb2dpbigpIj4NCjxkaXYgaWQ9ImNvbnRhaW5lciI+DQoJPCEtLc23sr+/qsq8LS0+DQogICAgPGRpdiBpZD0iYm9va19oZWFkZXIiPg0KICAgIAk8ZGl2IGlkPSJib29rX3RvcCI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX3RvcGxvZ28iPg0KICAgICAgICAgICAgPC9kaXY+DQoJCQk8ZGl2IGlkPSJib29rX3dlbGNvbWUiPsT6usOjrMfrIDxzcGFuPjxhIGhyZWY9IntkZWRlOmdsb2JhbCBuYW1lPSdjZmdfbWVtYmVydXJsJy99L21lbWJlci9sb2dpbi5waHAiPrXHwrw8L2E+PC9zcGFuPiC78iA8c3Bhbj48YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX21lbWJlcnVybCcvfS9pbmRleF9kby5waHA/Zm1kbz11c2VyJmRvcG9zdD1yZWduZXciPteisuE8L2E+PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iYm9va190b3BpbWciPg0KICAgICAgICAJPGRpdiBpZD0iYm9va190b3BiZyI+DQogICAgICAgIAkJPGRpdiBpZD0iYm9va19sb2dvIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgICAgIAk8ZGl2IGlkPSJib29rX2Jhbm5lciI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAJPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfbWVudWJnIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfbWVudSI+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19nbyI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0ne2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXNwYXRoJy99L2Jvb2snPtb30rM8L2E+PC9saT4NCiAgICAgICAgCQkJe2RlZGU6Y2F0YWxvZ30NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IntpbjpmaWVsZCBuYW1lPSd1cmwnfXsvaW46ZmllbGR9Ij57aW46ZmllbGQgbmFtZT0nY2xhc3NuYW1lJ317L2luOmZpZWxkfTwvYT48L2xpPg0KICAgICAgICAJCQl7L2RlZGU6Y2F0YWxvZ30NCiAgICAgICAJCQkgIDxsaT48YSBocmVmPSd7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3BhdGgnL30vbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCgk8IS0tzbeyv73hyvgtLT4NCiAgICA8IS0t1tC85L+qyrwtLT4NCiAgICA8ZGl2IGlkPSJtYWluIj4NCiAgIAkgIDxkaXYgaWQ9ImJvb2tfbWFpbiI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX2luZGV4Ij61scewzrvWw6O6PGEgaHJlZj0ie2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXNwYXRoJy99L2Jvb2siPtb30rM8L2E+ID4gIMvRy/c8L2Rpdj4NCjxkaXYgaWQ9ImJvb2tfbGVmdCI+PCEtLdfzsd+/qsq8LS0+DQogICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF9tYWluIj4NCiAgICAgICAgICAgICAgIAkgIDxkaXYgY2xhc3M9ImJvb2tfbGVmdF90aXRsZSI+sb7UwsjIw8XNvMrpDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAJe2RlZGU6Ym9va2xpc3Qgcm93PSc4JyB0aXRsZWxlbj0nMjQnIG9yZGVyYnk9J3dlZWtjYyd9DQoJCQkJCQkJPGxpPjxhIGhyZWY9J1tmaWVsZDpib29rdXJsIC9dJz5bZmllbGQ6Ym9va25hbWUgL108L2E+PC9saT4NCgkJCQkJCQl7L2RlZGU6Ym9va2xpc3R9DQogICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfbWFpbiI+DQogICAgICAgICAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX2xlZnRfdGl0bGUiPs3GvPbNvMrpDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAJe2RlZGU6Ym9va2xpc3Qgcm93PSc4JyB0aXRsZWxlbj0nMjQnIG9yZGVyYnk9J2NvbW1lbmQnfQ0KCQkJCQkJCTxsaT48YSBocmVmPSdbZmllbGQ6Ym9va3VybCAvXSc+W2ZpZWxkOmJvb2tuYW1lIC9dPC9hPjwvbGk+DQoJCQkJCQkJey9kZWRlOmJvb2tsaXN0fQ0KICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW4iPg0KICAgICAgICAgICAgICAgCSAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X3RpdGxlIj7X3LXju/fFxdDQDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19sZWZ0X21haW5fdGV4dCI+DQogICAgICAgICAgICAgICAgICAgIAk8dWw+DQoJCSAgCQkJCQl7ZGVkZTpib29rbGlzdCByb3c9JzgnIHRpdGxlbGVuPScyNCcgb3JkZXJieT0nY2xpY2snfQ0KICAgICAgICAgICAgICAgICAgICAgICAJCTxsaT48YSBocmVmPSdbZmllbGQ6Ym9va3VybCAvXSc+W2ZpZWxkOmJvb2tuYW1lIC9dPC9hPjwvbGk+DQoJCQkJCQkJey9kZWRlOmJvb2tsaXN0fQ0KICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2PjwhLS3X87HfveHK+C0tPg0KDQogICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfcmlnaHQiPjwhLS3T0rHfv6rKvC0tPg0KICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSdzZWFyY2gucGhwJyBuYW1lPSdib29rc2VhcmNoJz4NCiAgIAkJICA8ZGl2IGlkPSJib29rX3NlYXJjaCI+PCEtLcvRy/e/8i0tPg0KICAgICAgICAgICAgICAgIAnL0cv3zbzK6aO6DQogICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0ia2V5d29yZCIgdHlwZT0idGV4dCIgY2xhc3M9ImJvb2tfbGFiZWwiIC8+DQogICAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJpZCIgbmFtZT0iaWQiPg0KICAgIDxvcHRpb24gdmFsdWU9IjAiIHNlbGVjdGVkPi3H69Gh1PG31sDgLTwvb3B0aW9uPg0KCQkJICAJCXtkZWRlOmNhdGFsb2d9DQogICAgICAgICAgICAgICAgICAJPG9wdGlvbiB2YWx1ZT0ie2luOmZpZWxkIG5hbWU9J2lkJ317L2luOmZpZWxkfSAiPntpbjpmaWVsZCBuYW1lPSdjbGFzc25hbWUnfXsvaW46ZmllbGR9IDwvb3B0aW9uPg0KICAgICAgICAgICAgICAJCXtpbjpzb25saXN0fQ0KICAgICAgICAgICAgICAgICAgCTxvcHRpb24gdmFsdWU9IltmaWVsZDppZC9dIj4gLS1bZmllbGQ6Y2xhc3NuYW1lL108L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgIAl7L2luOnNvbmxpc3R9DQogICAgICAgICAgICAgIAkJey9kZWRlOmNhdGFsb2d9DQogICAgICAgICAgICAgICAgCTwvc2VsZWN0Pg0KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTdWJtaXQyIiB2YWx1ZT0iy9HL9yIgY2xhc3M9ImJvb2tfYnV0dG9uIiAvPg0KICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgPC9mb3JtPg0KDQogICAgICAgICAgPGRpdiBjbGFzcz0iYm9va19uZXdzIj48IS0t0MLK6cnPvNwtLT4NCiAgICAgICAgICAgICAgICAJPGRpdiBjbGFzcz0iYm9va19uZXdzX3RpdGxlIHRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgCTx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7L0cv3veG5+6O6PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGUiPg0KICAgICAgICAgICAgICAgICAgICB7ZGVkZTpsaXN0IGltZ3dpZHRoPSc4MCcgaW1naGVpZ2h0PScxMDAnIHBhZ2VzaXplPScxMCd9DQo8ZGl2IGNsYXNzPSJib29rX25ld3Nfc3R5bGVfZm9ybTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbmV3c19zdHlsZV9pbWciPiAgPGEgaHJlZj0iW2ZpZWxkOmJvb2t1cmwvXSI+W2ZpZWxkOmxpdHBpYyBydW5waHA9J3llcyddQG1lID0gKGVtcHR5KEBtZVsnbGl0cGljJ10pID8gIjxpbWcgc3JjPScvaW1hZ2VzL2RlZmF1bHRwaWMuZ2lmJyB3aWR0aD0nODAnIGhlaWdodD0nMTAwJyAvPiIgOiAiPGltZyBzcmM9J0BtZScgd2lkdGg9JzgwJyBoZWlnaHQ9JzEwMCcgLz4iKTsgWy9maWVsZDpsaXRwaWNdPC9hPjwvZGl2Pg0KPGRpdiBjbGFzcz0iYm9va19uZXdzX3N0eWxlX3RleHQxIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGgxPltbZmllbGQ6Y2F0YWxvZ2xpbmsvXV0gPGEgaHJlZj0nW2ZpZWxkOmJvb2t1cmwvXSc+W2ZpZWxkOmJvb2tuYW1lL108L2E+IDwvaDE+PGgyPtf31d+jultmaWVsZDphdXRob3IvXSAgICChvsrHt/HN6rPJwazU2KO6W2ZpZWxkOmlzY2hlY2svXaG/PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGgzPltmaWVsZDpkZXNjcmlwdGlvbi9doa08L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIHsvZGVkZTpsaXN0fQ0KPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbGlzdHBhZ2UiPntkZWRlOnBhZ2VsaXN0IHNpemU9JzUnL30NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwhLS3W0LzkveHK+C0tPg0KICAgIDxkaXYgY2xhc3M9ImJvb2tfZm9vdGVyIj4NCiAgICAgICAgUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyB7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX3ZlcnNpb24nL308L2E+ICZjb3B5OyAyMDA0LTIwMTEgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVzZGV2LmNuLyI+RGVzRGV2IEluYy48L2E+PGJyIC8+DQogICAgPC9kaXY+DQogIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+e2RlZGU6ZmllbGQgbmFtZT0ndGl0bGUnL30gLSB7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX3dlYm5hbWUnL308L3RpdGxlPg0KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IntkZWRlOmZpZWxkIG5hbWU9J2tleXdvcmRzJy99Ij4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJ7ZGVkZTpmaWVsZCBuYW1lPSdkZXNjcmlwdGlvbicvfSI+DQo8bGluayBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0iY2ZnX2Ntc3VybCIvfS9ib29rL2ltYWdlcy9ib29rX3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnIHNyYz0ne2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19jbXN1cmwnL30vaW5jbHVkZS9kZWRlYWpheDIuanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+DQpmdW5jdGlvbiBDaGVja0xvZ2luKCl7DQogIHZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9va193ZWxjb21lJyk7DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsIiIsIiIsIiIpOyAgbXlhamF4LlNlbmRHZXQyKCJ7ZGVkZTpnbG9iYWwgbmFtZT0iY2ZnX2Ntc3VybCIvfS9ib29rL2xvZ2luc3RhLnBocCIpOw0KbXlhamF4ID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJDaGVja0xvZ2luKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCgk8IS0tzbeyv7+qyrwtLT4NCiAgICA8ZGl2IGlkPSJib29rX2hlYWRlciI+DQogICAgCTxkaXYgaWQ9ImJvb2tfdG9wIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wbG9nbyI+DQogICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXYgaWQ9ImJvb2tfd2VsY29tZSI+xPq6w6Osx+sgPHNwYW4+PGEgaHJlZj0ie2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19tZW1iZXJ1cmwnL30vbG9naW4ucGhwIj61x8K8PC9hPjwvc3Bhbj4gu/IgPHNwYW4+PGEgaHJlZj0ie2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19tZW1iZXJ1cmwnL30vaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3Ij7XorLhPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImJvb2tfdG9waW1nIj4NCiAgICAgICAgCTxkaXYgaWQ9ImJvb2tfdG9wYmciPg0KICAgICAgICAJCTxkaXYgaWQ9ImJvb2tfbG9nbyI+DQogICAgICAgICAgICAJPC9kaXY+DQogICAgICAgICAgICAJPGRpdiBpZD0iYm9va19iYW5uZXIiPg0KICAgICAgICAgICAgCTwvZGl2Pg0KICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIAk8L2Rpdj4NCiAgICAgICAgCTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJib29rX21lbnViZyI+DQogICAgICAgIAk8ZGl2IGlkPSJib29rX21lbnUiPg0KICAgICAgICAgICAgCTxkaXYgaWQ9ImJvb2tfZ28iPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9J3tkZWRlOmdsb2JhbCBuYW1lPSdjZmdfY21zcGF0aCcvfS9ib29rJz7W99KzPC9hPjwvbGk+DQogICAgICAgIAkJCXtkZWRlOmNhdGFsb2d9DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJ7aW46ZmllbGQgbmFtZT0ndXJsJ317L2luOmZpZWxkfSI+e2luOmZpZWxkIG5hbWU9J2NsYXNzbmFtZSd9ey9pbjpmaWVsZH08L2E+PC9saT4NCiAgICAgICAgCQkJey9kZWRlOmNhdGFsb2d9DQogICAgICAgIAkJCTxsaT48YSBocmVmPSd7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3BhdGgnL30vbWVtYmVyJz674dSx1tDQxDwvYT48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoJPCEtLc23sr+94cr4LS0+DQogICAgPCEtLdbQvOS/qsq8LS0+DQogICAgPGRpdiBpZD0ibWFpbiI+DQogICAgCTxkaXYgaWQ9ImJvb2tfbWlkZGxlIj4NCiAgICAgICAJICA8ZGl2IGNsYXNzPSJib29rX21pZGRsZV9hcnRpY2xlIj4NCiAgICAgICAgICAgCTxkaXYgY2xhc3M9ImJvb2tfbWlkZGxlX3RpdGxlIj48YSBocmVmPSIiPrWxx7DOu9bDo7o8YSBocmVmPSJ7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX2Ntc3BhdGgnL30vYm9vayI+1vfSszwvYT4gPiA8YSBocmVmPSIvYm9vay9saXN0LnBocD9pZD17ZGVkZTpmaWVsZCBuYW1lPSdpZCcvfSI+e2RlZGU6ZmllbGQgbmFtZT0nY2xhc3NuYW1lJy99PC9hPiA+DQogICAgICAgIDxhIGhyZWY9J3tkZWRlOmZpZWxkIG5hbWU9J2Jvb2t1cmwnL30nPntkZWRlOmZpZWxkIG5hbWU9J2Jvb2tuYW1lJy99PC9hPiA+DQogICAgICAgILXaIHtkZWRlOmZpZWxkIG5hbWU9J2NoYXBudW0nL30g1cIge2RlZGU6ZmllbGQgbmFtZT0nY2hhcHRlcm5hbWUnL30NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvb2tfbWlkZGxlX3RleHQiPg0KICAgICAgICAgICAgICAgIAk8ZGw+DQogICAgICAgICAgICAgICAgICAgIDxkdD612ntkZWRlOmZpZWxkIG5hbWU9J3NvcnRpZCcgL3292iB7ZGVkZTpmaWVsZCBuYW1lPSd0aXRsZScvfTwvZHQ+DQogICAgICAgICAgICAgICAgICAgIDxkZD4NCiAgICAgICAgICAgICAgICAgICAge2RlZGU6ZmllbGQgbmFtZT0nYm9keScvfQ0KICAgICAgICAgICAgICAgICAgICA8L2RkPg0KICAgICAgICAgICAgICAgICAgPC9kbD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib29rX21pZGRsZV90ZXh0X25leHQiPjxhIGhyZWY9IntkZWRlOnByZW5leHQgZ2V0PSdwcmV1cmwnL30iPsnP0rvGqjwvYT4gICAgPGEgaHJlZj0iYm9vay5waHA/YmlkPXtkZWRlOmZpZWxkIG5hbWU9J2Jvb2tpZCcvfSI+u9jEv8K8PC9hPiAgICA8YSBocmVmPSJ7ZGVkZTpwcmVuZXh0IGdldD0nbmV4dHVybCcvfSI+z8LSu8aqPC9hPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KPCEtLdbQvOS94cr4LS0+DQogICAgPGRpdiBjbGFzcz0iYm9va19mb290ZXIiPg0KICAgICAgICAgICAgUG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmRlZGVjbXMuY29tLyI+RGVkZUNtcyB7ZGVkZTpnbG9iYWwgbmFtZT0nY2ZnX3ZlcnNpb24nL308L2E+ICZjb3B5OyAyMDA0LTIwMTEgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZGVzZGV2LmNuLyI+RGVzRGV2IEluYy48L2E+PGJyIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgIDwvZGl2Pg0KDQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiIC8+DQo8dGl0bGU+VklQu+HUsczhyr4tIHBvd2VyZWQgYnkgZGVkZWNtczwvdGl0bGU+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KPCEtLQ0KYm9keXsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjRjBGQ0Q2OyBmb250LXNpemU6MTJweDsNCn0NCnRkIHsNCglmb250LXNpemU6MTJweDsNCn0NCi5TVFlMRTEge2NvbG9yOiAjRkYwMDAwfQ0KLS0+DQo8L3N0eWxlPjwvaGVhZD4NCg0KPGJvZHk+DQo8dGFibGUgd2lkdGg9IjYwJSIgYm9yZGVyPSIwIiBhbGlnbj0iY2VudGVyIiBjZWxscGFkZGluZz0iNiIgY2VsbHNwYWNpbmc9IjEiIGJnY29sb3I9IiM5QkI2N0UiPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMjUiIGJnY29sb3I9IiNFOEY4Q0YiPjxzdHJvbmc+yum/4szhyr6jujxzcGFuIGNsYXNzPSJTVFlMRTEiPrWxv7S1vbTLzOHKvrHtyr7E49X91Nrkr8DAVklQ1cK92qOsv8nE3MTjw7vT0Mioz96hozwvc3Bhbj48L3N0cm9uZz48L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMTUwIiB2YWxpZ249InRvcCIgYmdjb2xvcj0iI0Y4RkJFNiI+DQoJPD9waHANCglpZigkbWVtYmVyX2Vycj09J05vTG9naW4nKXsNCgk/Pg0KCTx0YWJsZSB3aWR0aD0iOTYlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYWxpZ249ImNlbnRlciI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZCBoZWlnaHQ9IjQ1Ij621LK7xvCjrMTjydDOtLXHwryjrMfrz8i1x8K8o7o8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMzYiPg0KCQk8Zm9ybSBuYW1lPSdmb3JtMScgbWV0aG9kPSdQT1NUJyBhY3Rpb249Jy4uL21lbWJlci9pbmRleF9kby5waHAnIHN0eWxlPSdwYWRkaW5nOjBweDttYXJnaW46MHB4Oyc+DQogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZtZG8iIHZhbHVlPSJsb2dpbiI+DQogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRvcG9zdCIgdmFsdWU9ImxvZ2luIj4NCiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ291cmwiIHZhbHVlPSI8P3BocCAgZWNobyBHZXRDdXJVcmwoKTsgID8+Ij4NCgkJPHRhYmxlIHdpZHRoPSI5NiUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4NCiAgICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGQgaGVpZ2h0PSIyNiI+DQrTw7unw/ujujxpbnB1dCBuYW1lPSJ1c2VyaWQiIHR5cGU9InRleHQiIGNsYXNzPSJsb2dpbl9sYWJlbCIgc2l6ZT0iMTYiIC8+DQq1x8K8w9zC66O6PGlucHV0IG5hbWU9InB3ZCIgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJsb2dpbl9sYWJlbCIgc2l6ZT0iMTYiIC8+DQrR6dakwuujujxpbnB1dCBuYW1lPSJ2ZGNvZGUiIHR5cGU9InRleHQiIGNsYXNzPSJsb2dpbl9sYWJlbDEiIHNpemU9IjE2IiAvPg0KPGltZyBzcmM9Ii4uL2luY2x1ZGUvdmRpbWdjay5waHAiIC8+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTdWJtaXQyIiB2YWx1ZT0itcfCvCIgY2xhc3M9ImxvZ2luX2J1dHRvbjAxIiAvPg0KPGEgaHJlZj0iLi4vbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4dDCu+HUsTwvYT4NCiAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgPC90cj4NCiAgICAgICAgPC90YWJsZT4NCgkJPC9mb3JtPg0KCTwvdGQ+DQogICAgICA8L3RyPg0KICAgIDwvdGFibGU+DQoJPD9waHANCgl9DQoJaWYoJG1lbWJlcl9lcnI9PSdOb0Vub3VnaE1vbmV5JykNCgl7DQoJCWlmKCRtZW1iZXJuYW1lIT0nJykgJG1lbWJlcm5hbWUgPSAnIDxmb250IGNvbG9yPXJlZD4nLiRtZW1iZXJuYW1lLic8L2ZvbnQ+ILvyJzsNCgk/Pg0KPHRhYmxlIHdpZHRoPSI5NiUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBhbGlnbj0iY2VudGVyIj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iNDUiPrbUsrvG8KOs1MS2wbG+yunQ6NKqPD9waHAgZWNobyAkbWVtYmVybmFtZTsgPz67qLfRIDxmb250IGNvbG9yPSIjQ0MwMDAwIj48P3BocCBlY2hvICRjZmdfYm9va19tb25leTsgPz48L2ZvbnQ+IL3wsdKjrMTjxL/HsLXEvfCx0rK7ubujujwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgaGVpZ2h0PSIzNiI+PGEgaHJlZj0iLi4vbWVtYmVyL2J1eS5waHAiPqHzofS5usLyvfCx0rvyyf28trvh1LHH67TT1eLA7734yOsmZ3Q7Jmd0OzwvYT48L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMjUiPiZuYnNwOzwvdGQ+DQogICAgICA8L3RyPg0KPC90YWJsZT4NCgk8P3BocA0KCX0NCgk/Pg0KICAgPC90ZD4NCiAgPC90cj4NCjwvdGFibGU+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvY29uZmlnLnBocCIpOw0KQ2hlY2tQdXJ2aWV3KCdzdG9yeV9DYXRhbG9nJyk7DQppZighaXNzZXQoJGFjdGlvbikpICRhY3Rpb24gPSAnJzsNCg0KJGtleXdvcmRzID0gJHdyaXRlciA9ICcnOw0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayxib29rdHlwZSBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgQVNDIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQokYm9va3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICBpZigkcm93WydwaWQnXT09MCkNCiAgICB7DQogICAgICAgICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHN0eXBlc1skcm93WydwaWQnXV1bJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KICAgIGlmKCRyb3dbJ2Jvb2t0eXBlJ109PScwJykNCiAgICB7DQogICAgICAgICRib29rdHlwZXNbJHJvd1snaWQnXV0gPSAn0KHLtSc7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRib29rdHlwZXNbJHJvd1snaWQnXV0gPSAnwv67rSc7DQogICAgfQ0KfQ0KJGxhc3RpZCA9ICRyb3dbJ2lkJ107DQokbXNnID0gJyc7DQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvdGVtcGxldHMvc3RvcnlfYWRkLmh0bSIpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX2FjdGlvbi5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvY29uZmlnLnBocCIpOw0KQ2hlY2tQdXJ2aWV3KCdzdG9yeV9OZXcnKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiAiL2ltYWdlLmZ1bmMucGhwIik7DQpyZXF1aXJlX29uY2UoREVERUlOQy4gIi9veHdpbmRvdy5jbGFzcy5waHAiKTsNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi9pbmMvaW5jX2FyY2hpdmVzX2Z1bmN0aW9ucy5waHAiKTsNCmlmKCFpc3NldCgkaXNjb21tZW5kKSkNCnsNCiAgICAkaXNjb21tZW5kID0gMDsNCn0NCmlmKCRjYXRpZD09MCkNCnsNCiAgICBTaG93TXNnKCLH69a4tqjNvMrpy/nK9MC4xL+joSIsICItMSIpOw0KICAgIGV4aXQoKTsNCn0NCg0KLy+78bXDuLjAuMS/DQokbnJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgV0hFUkUgaWQ9JyRjYXRpZCcgIik7DQokYmNhdGlkID0gJG5yb3dbJ3BpZCddOw0KJGJvb2t0eXBlID0gJG5yb3dbJ2Jvb2t0eXBlJ107DQokcHViZGF0ZSA9IEdldE1rVGltZSgkcHViZGF0ZSk7DQokYm9va25hbWUgPSBjbl9zdWJzdHIoJGJvb2tuYW1lLDUwKTsNCmlmKCRrZXl3b3JkcyE9IiIpICRrZXl3b3JkcyA9IHRyaW0oY25fc3Vic3RyKCRrZXl3b3Jkcyw2MCkpOw0KDQppZihlbXB0eSgkYXV0aG9yKSkkYXV0aG9yPSRjdXNlckxvZ2luLT5nZXRVc2VyTmFtZSgpOw0KDQovL7SmwO3Jz7SrtcTL9cLUzbwNCmlmKCRsaXRwaWMgIT0gIiIpew0KICAgICRsaXRwaWMgPSBHZXREREltYWdlKCdsaXRwaWMnLCRsaXRwaWNuYW1lLDApOw0KfQ0KJGFkbWluSUQgPSAkY3VzZXJMb2dpbi0+Z2V0VXNlcklEKCk7DQoNCi8v19S2r9Wq0qoNCmlmKCRkZXNjcmlwdGlvbj09IiIgJiYgJGNmZ19hdW90X2Rlc2NyaXB0aW9uPjApDQp7DQogICAgJGRlc2NyaXB0aW9uID0gc3RyaXBzbGFzaGVzKGNuX3N1YnN0cihodG1sMnRleHQoJGJvZHkpLCRjZmdfYXVvdF9kZXNjcmlwdGlvbikpOw0KICAgICRkZXNjcmlwdGlvbiA9IGFkZHNsYXNoZXMoJGRlc2NyaXB0aW9uKTsNCn0NCg0KJGluUXVlcnkgPSAiDQpJTlNFUlQgSU5UTyBgI0BfX3N0b3J5X2Jvb2tzYChgY2F0aWRgLGBiY2F0aWRgLGBib29rdHlwZWAsYGlzY29tbWVuZGAsYGNsaWNrYCxgZnJlZW51bWAsYGJvb2tuYW1lYCxgYXV0aG9yYCxgbWlkYCxgbGl0cGljYCxgcHViZGF0ZWAsYGxhc3Rwb3N0YCxgcG9zdG51bWAsYGxhc3RmZWVkYmFja2AsYGZlZWRiYWNrbnVtYCxgd2Vla2NjYCxgbW9udGhjY2AsYHdlZWt1cGAsYG1vbnRodXBgLGBkZXNjcmlwdGlvbmAsYGJvZHlgLGBrZXl3b3Jkc2AsYHVzZXJpcGAsYHNlbmRkYXRlYCAsYGFyY3JhbmtgLGBnb29kcG9zdGAsYGJhZHBvc3RgLGBub3Rwb3N0YCkgVkFMVUVTICgnJGNhdGlkJywnJGJjYXRpZCcsJyRib29rdHlwZScsICckaXNjb21tZW5kJywgJyRjbGljaycsICckZnJlZW51bScsICckYm9va25hbWUnLCAnJGF1dGhvcicsICcwJywgJyRsaXRwaWMnLCAnJHB1YmRhdGUnLCAnJHB1YmRhdGUnLCAnMCcsICcwJywgJzAnLCAnMCcsICcwJywgJzAnLCAnMCcsICckZGVzY3JpcHRpb24nICwgJyRib2R5JyAsICcka2V5d29yZHMnLCAnJywnIi50aW1lKCkuIicsJyRhcmNyYW5rJywnMCcsJzAnLCcwJykiOw0KaWYoISRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRpblF1ZXJ5KSkNCnsNCiAgICBTaG93TXNnKCKw0cr9vt2xo7Tmtb3K/b7dv+LKsbP2tO2jrMfrvOyy6aOhIiwiLTEiKTsNCiAgICBleGl0KCk7DQp9DQokYXJjSUQgPSAkZHNxbC0+R2V0TGFzdElEKCk7DQoNCi8vyfqzyUhUTUwNCnJlcXVpcmVfb25jZShERURFUk9PVC4gJy9ib29rL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAnKTsNCiRidiA9IG5ldyBCb29rVmlldygkYXJjSUQsICdib29rJyk7DQokYXJ0VXJsID0gJGJ2LT5NYWtlSHRtbCgpOw0KJGJ2LT5DbG9zZSgpOw0KDQovL7e1u9izybmm0MXPog0KJG1zZyA9ICINCqGhoaHH69Gh1PHE47XEuvPQ+LLZ1/ejug0KPGEgaHJlZj0nLi9zdG9yeV9hZGQucGhwP2NhdGlkPSRjYXRpZCc+PHU+vMzQ+LeisrzNvMrpPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nJGFydFVybCcgdGFyZ2V0PSdfYmxhbmsnPjx1PrLpv7TNvMrpPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nLi9zdG9yeV9hZGRfY29udGVudC5waHA/Ym9va2lkPXskYXJjSUR9Jz48dT7U9rzTzbzK6cTayN08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPScuL3N0b3J5X2Jvb2tzLnBocCc+PHU+udzA7c28yuk8L3U+PC9hPg0KIjsNCiR3aW50aXRsZSA9ICKzybmmt6KyvM28yumjoSI7DQokd2Vjb21lX2luZm8gPSAiwazU2LncwO06OreisrzNvMrpIjsNCiR3aW4gPSBuZXcgT3hXaW5kb3coKTsNCiR3aW4tPkFkZFRpdGxlKCKzybmmt6KyvNK7sb7NvMrpo7oiKTsNCiR3aW4tPkFkZE1zZ0l0ZW0oJG1zZyk7DQokd2luZm9ybSA9ICR3aW4tPkdldFdpbmRvdygiaGFuZCIsICAiJm5ic3A7IiwgZmFsc2UpOw0KJHdpbi0+RGlzcGxheSgpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX2NvbnRlbnQucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi9jb25maWcucGhwIik7DQpDaGVja1B1cnZpZXcoJ3N0b3J5X05ldycpOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCmlmKGVtcHR5KCRib29raWQpKQ0Kew0KICAgIFNob3dNc2coIrLOyv207c7zo6EiLCItMSIpOw0KICAgIGV4aXQoKTsNCn0NCiRib29raW5mb3MgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY2F0aWQsYmNhdGlkLGJvb2tuYW1lLGJvb2t0eXBlIEZST00gI0BfX3N0b3J5X2Jvb2tzIFdIRVJFIGJpZD0nJGJvb2tpZCcgIik7DQppZihlbXB0eSgkYm9va2luZm9zWydib29rdHlwZSddKSkgJGJvb2tpbmZvc1snYm9va3R5cGUnXSA9ICcnOw0KDQppZigkYm9va2luZm9zWydib29rdHlwZSddPT0xKQ0Kew0KICAgIGhlYWRlcigibG9jYXRpb246c3RvcnlfYWRkX3Bob3RvLnBocD9ib29raWQ9eyRib29raWR9Iik7DQogICAgZXhpdCgpOw0KfQ0KDQovL7bByKHL+dPQwLjEvw0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2xhc3NuYW1lLHBpZCxyYW5rIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgT1JERVIgQlkgcmFuayBBU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokcmFua3MgPSBBcnJheSgpOw0KJGJ0eXBlcyA9IEFycmF5KCk7DQokc3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICBpZigkcm93WydwaWQnXT09MCkNCiAgICB7DQogICAgICAgICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHN0eXBlc1skcm93WydwaWQnXV1bJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KfQ0KJGxhc3RpZCA9ICRyb3dbJ2lkJ107DQokbXNnID0gJyc7DQokZHNxbC0+U2V0UXVlcnkoIlNFTEVDVCBpZCxjaGFwbnVtLGNoYXB0ZXJuYW1lIEZST00gI0BfX3N0b3J5X2NoYXB0ZXIgV0hFUkUgYm9va2lkPSckYm9va2lkJyBPUkRFUiBCWSBjaGFwbnVtIERFU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokY2hhcHRlcnMgPSBBcnJheSgpOw0KJGNoYXBudW1zID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICAkY2hhcHRlcnNbJHJvd1snaWQnXV0gPSAkcm93WydjaGFwdGVybmFtZSddOw0KICAgICRjaGFwbnVtc1skcm93WydpZCddXSA9ICRyb3dbJ2NoYXBudW0nXTsNCn0NCiRjYXRpZCA9ICRib29raW5mb3NbJ2NhdGlkJ107DQokYmNhdGlkID0gJGJvb2tpbmZvc1snYmNhdGlkJ107DQokYm9va25hbWUgPSAkYm9va2luZm9zWydib29rbmFtZSddOw0KJGJvb2t0eXBlID0gJGJvb2tpbmZvc1snYm9va3R5cGUnXTsNCnJlcXVpcmVfb25jZShERURFQURNSU4uICcvdGVtcGxldHMvc3RvcnlfYWRkX2NvbnRlbnQuaHRtJyk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX3Bob3RvLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvY29uZmlnLnBocCIpOw0KQ2hlY2tQdXJ2aWV3KCdzdG9yeV9OZXcnKTsNCmlmKCFpc3NldCgkYWN0aW9uKSkgJGFjdGlvbiA9ICcnOw0KDQppZihlbXB0eSgkYm9va2lkKSkNCnsNCiAgICBTaG93TXNnKCKyzsr9tO3O86OhIiwiLTEiKTsNCiAgICBleGl0KCk7DQp9DQokYm9va2luZm9zID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNhdGlkLGJjYXRpZCxib29rbmFtZSxib29rdHlwZSBGUk9NICNAX19zdG9yeV9ib29rcyBXSEVSRSBiaWQ9JyRib29raWQnICIpOw0KaWYoJGJvb2tpbmZvc1snYm9va3R5cGUnXT09MCkNCnsNCiAgICBoZWFkZXIoImxvY2F0aW9uOnN0b3J5X2FkZF9jb250ZW50LnBocD9ib29raWQ9eyRib29raWR9Iik7DQogICAgZXhpdCgpOw0KfQ0KDQovL7bByKHL+dPQwLjEvw0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2xhc3NuYW1lLHBpZCxyYW5rIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgT1JERVIgQlkgcmFuayBBU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokcmFua3MgPSBBcnJheSgpOw0KJGJ0eXBlcyA9IEFycmF5KCk7DQokc3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICBpZigkcm93WydwaWQnXT09MCkNCiAgICB7DQogICAgICAgICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHN0eXBlc1skcm93WydwaWQnXV1bJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KfQ0KJGxhc3RpZCA9ICRyb3dbJ2lkJ107DQokbXNnID0gJyc7DQokZHNxbC0+U2V0UXVlcnkoIlNFTEVDVCBpZCxjaGFwbnVtLGNoYXB0ZXJuYW1lIEZST00gI0BfX3N0b3J5X2NoYXB0ZXIgV0hFUkUgYm9va2lkPSckYm9va2lkJyBPUkRFUiBCWSBjaGFwbnVtIERFU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokY2hhcHRlcnMgPSBBcnJheSgpOw0KJGNoYXBudW1zID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICAkY2hhcHRlcnNbJHJvd1snaWQnXV0gPSAkcm93WydjaGFwdGVybmFtZSddOw0KICAgICRjaGFwbnVtc1skcm93WydpZCddXSA9ICRyb3dbJ2NoYXBudW0nXTsNCn0NCiRjYXRpZCA9ICRib29raW5mb3NbJ2NhdGlkJ107DQokYmNhdGlkID0gJGJvb2tpbmZvc1snYmNhdGlkJ107DQokYm9va25hbWUgPSAkYm9va2luZm9zWydib29rbmFtZSddOw0KJGJvb2t0eXBlID0gJGJvb2tpbmZvc1snYm9va3R5cGUnXTsNCnJlcXVpcmVfb25jZSBEZWRlSW5jbHVkZSgnL3RlbXBsZXRzL3N0b3J5X2FkZF9waG90by5odG0nKTsNCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX3Bob3RvX2FjdGlvbi5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiL2NvbmZpZy5waHAiKTsNCkNoZWNrUHVydmlldygnc3RvcnlfTmV3Jyk7DQpyZXF1aXJlX29uY2UoREVERUlOQy4gIi9pbWFnZS5mdW5jLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuICIvb3h3aW5kb3cuY2xhc3MucGhwIik7DQpyZXF1aXJlX29uY2UoREVERUFETUlOLiAnL2luYy9pbmNfYXJjaGl2ZXNfZnVuY3Rpb25zLnBocCcpOw0KaWYoIGVtcHR5KCRjaGFwdGVyaWQpDQp8fCAoIWVtcHR5KCRhZGRjaGFwdGVyKSAmJiAhZW1wdHkoJGNoYXB0ZXJuZXcpKSApDQp7DQogICAgaWYoZW1wdHkoJGNoYXB0ZXJuZXcpKQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygi08nT2sTjt6KyvLXExNrI3cO70aHU8dXCvdqjrM+1zbO+3L74t6KyvKOhIiwiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCg0KICAgICRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGJvb2tpZD0nJGJvb2tpZCcgT1JERVIgQlkgY2hhcG51bSBERVNDIik7DQogICAgaWYoaXNfYXJyYXkoJHJvdykpDQogICAgew0KICAgICAgICAkbmNoYXBudW0gPSAkcm93WydjaGFwbnVtJ10rMTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJG5jaGFwbnVtID0gMTsNCiAgICB9DQogICAgJHF1ZXJ5ID0gIklOU0VSVCBJTlRPIGAjQF9fc3RvcnlfY2hhcHRlcmAoYGJvb2tpZGAsYGNhdGlkYCxgY2hhcG51bWAsYG1pZGAsYGNoYXB0ZXJuYW1lYCxgYm9va25hbWVgKQ0KICAgICAgICAgICAgVkFMVUVTICgnJGJvb2tpZCcsICckY2F0aWQnLCAnJG5jaGFwbnVtJywgJzAnLCAnJGNoYXB0ZXJuZXcnLCckYm9va25hbWUnKTsiOw0KICAgICRycyA9ICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgaWYoJHJzKQ0KICAgIHsNCiAgICAgICAgJGNoYXB0ZXJpZCA9ICRkc3FsLT5HZXRMYXN0SUQoKTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygi1Pa809XCvdrKp7Dco6zH67zssunUrdLyo6EiLCAiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCn0NCg0KLy+78bXDuLjAuMS/DQokbnJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgV0hFUkUgaWQ9JyRjYXRpZCcgIik7DQokYmNhdGlkID0gJG5yb3dbJ3BpZCddOw0KJGJvb2t0eXBlID0gJG5yb3dbJ2Jvb2t0eXBlJ107DQokYWRkdGltZSA9IHRpbWUoKTsNCg0KLy+xvtXC1+6689K7uPbC/ruttcTFxcHQy7O0ztDyDQokbHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBzb3J0aWQgRlJPTSAjQF9fc3RvcnlfY29udGVudCBXSEVSRSBib29raWQ9JyRib29raWQnIEFORCBjaGFwdGVyaWQ9JyRjaGFwdGVyaWQnIE9SREVSIEJZIHNvcnRpZCBERVNDIik7DQppZihlbXB0eSgkbHJvdykpDQp7DQogICAgJHNvcnRpZCA9IDE7DQp9DQplbHNlDQp7DQogICAgJHNvcnRpZCA9ICRscm93Wydzb3J0aWQnXSsxOw0KfQ0KDQovL7SmwO3Jz7SrtcTNvMasDQppZighaXNzZXQoJGlzcmVtb3RlKSkNCnsNCiAgICAkaXNyZW1vdGUgPSAwOw0KfQ0KLy8kYmlncGljID0gVXBsb2FkT25lSW1hZ2UoJ2JpZ3BpYycsJGJpZ3BpY25hbWUsJGRkaXNyZW1vdGUpOw0KDQokYWRtaW5JRCA9ICRjdXNlckxvZ2luLT5nZXRVc2VySUQoKTsNCiRwb3N0bnVtID0gMDsNCmZvcigkaT0xOyRpPD0kcGhvdG9udW07JGkrKykNCnsNCiAgICAkYmlncGljID0gVXBsb2FkT25lSW1hZ2UoJ2ltZ2ZpbGUnLiRpLCR7J2ltZ3VybCcuJGl9LCRpc3JlbW90ZSk7DQogICAgaWYoJGJpZ3BpYyE9JycpDQogICAgew0KICAgICAgICAkdGl0bGVuID0gJHsndGl0bGUnLiRpfTsNCiAgICAgICAgaWYoZW1wdHkoJHRpdGxlbikpDQogICAgICAgIHsNCiAgICAgICAgICAgICR0aXRsZW4gPSAkeyd0aXRsZSd9Ow0KICAgICAgICB9DQogICAgICAgICRpblF1ZXJ5ID0gIg0KICAgICAgIElOU0VSVCBJTlRPIGAjQF9fc3RvcnlfY29udGVudGAoYHRpdGxlYCxgYm9va25hbWVgLGBjaGFwdGVyaWRgLGBjYXRpZGAsYGJjYXRpZGAsYGJvb2t0eXBlYCxgYm9va2lkYCxgc29ydGlkYCwNCiAgICAgIGBtaWRgLGBiaWdwaWNgLGBib2R5YCxgYWRkdGltZWApDQogICAgIFZBTFVFUyAoJyR0aXRsZW4nLCckYm9va25hbWUnLCAnJGNoYXB0ZXJpZCcsICckY2F0aWQnLCckYmNhdGlkJywnJGJvb2t0eXBlJywgJyRib29raWQnLCckc29ydGlkJywgJzAnLCAnJGJpZ3BpYycgLCAnJywgJyRhZGR0aW1lJyk7IjsNCiAgICAgICAgJHJzID0gJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJGluUXVlcnkpOw0KICAgICAgICAvL2lmKCEkcnMpIGVjaG8gJGluUXVlcnkuIjxocj5cclxuIjsNCiAgICAgICAgaWYoJHJzKQ0KICAgICAgICB7DQogICAgICAgICAgICAkc29ydGlkKys7DQogICAgICAgICAgICAkcG9zdG51bSsrOw0KICAgICAgICB9DQogICAgfQ0KfQ0KJGFyY0lEID0gJGRzcWwtPkdldExhc3RJRCgpOw0KDQovL7j80MLNvMrptcTE2sjdyv0NCiRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY291bnQoaWQpIEFTIGRkIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgIFdIRVJFIGJvb2tpZCA9ICckYm9va2lkJyAiKTsNCiRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgI0BfX3N0b3J5X2Jvb2tzIFNFVCBwb3N0bnVtPSd7JHJvd1snZGQnXX0nLGxhc3Rwb3N0PSciLnRpbWUoKS4iJyBXSEVSRSBiaWQ9JyRib29raWQnICIpOw0KDQovL7j80MLVwr3atcTE2sjdyv0NCiRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY291bnQoaWQpIEFTIGRkIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgIFdIRVJFIGJvb2tpZCA9ICckYm9va2lkJyBBTkQgY2hhcHRlcmlkPSckY2hhcHRlcmlkJyAiKTsNCiRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgI0BfX3N0b3J5X2NoYXB0ZXIgU0VUIHBvc3RudW09J3skcm93WydkZCddfScgV0hFUkUgaWQ9JyRjaGFwdGVyaWQnICIpOw0KaWYoZW1wdHkoJGFyY0lEKSkNCnsNCiAgICBTaG93TXNnKCLDu7PJuaaxo7TmyM66zs28xqyjrL/JxNzKx8+1zbPT0M7KzOKjoSIsIi0xIik7DQogICAgZXhpdCgpOw0KfQ0KDQovL8n6s8lIVE1MDQovLyRhcnRVcmwgPSBNYWtlQXJ0KCRhcmNJRCx0cnVlKTsNCmlmKGVtcHR5KCRhcnRjb250ZW50VXJsKSkgJGFydGNvbnRlbnRVcmw9IiI7DQoNCmlmKCRhcnRjb250ZW50VXJsPT0iIikgJGFydGNvbnRlbnRVcmwgPSAkY2ZnX21haW5zaXRlLiRjZmdfY21zcGF0aC4iL2Jvb2svc2hvdy1waG90by5waHA/aWQ9JGFyY0lEJmJvb2tpZD0kYm9va2lkJmNoYXB0ZXJpZD0kY2hhcHRlcmlkIjsNCg0KcmVxdWlyZV9vbmNlKERFREVST09ULiAnL2Jvb2svaW5jbHVkZS9zdG9yeS52aWV3LmNsYXNzLnBocCcpOw0KJGJ2ID0gbmV3IEJvb2tWaWV3KCRib29raWQsICdib29rJyk7DQokYXJ0VXJsID0gJGJ2LT5NYWtlSHRtbCgpOw0KJGJ2LT5DbG9zZSgpOw0KDQovL7e1u9izybmm0MXPog0KJG1zZyA9ICINCqGhoaHH69Gh1PHE47XEuvPQ+LLZ1/ejug0KPGEgaHJlZj0nc3RvcnlfYWRkX3Bob3RvLnBocD9ib29raWQ9eyRib29raWR9Jz48dT68zND4t6KyvDwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9JyRhcnRVcmwnIHRhcmdldD0nX2JsYW5rJz48dT7UpMDAwv67rTwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9JyRhcnRjb250ZW50VXJsJyB0YXJnZXQ9J19ibGFuayc+PHU+1KTAwMTayN08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSdzdG9yeV9saXN0X2NvbnRlbnQucGhwP2Jvb2tpZD17JGJvb2tpZH0nPjx1PrG+yunL+dPQxNrI3TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J3N0b3J5X2Jvb2tzLnBocCc+PHU+udzA7cv509DNvMrpPC91PjwvYT4NCiI7DQokd2ludGl0bGUgPSAis8m5preisrzNvMaso6EiOw0KJHdlY29tZV9pbmZvID0gIsGs1Ni53MDtOjq3orK8zbzGrCI7DQokd2luID0gbmV3IE94V2luZG93KCk7DQokd2luLT5BZGRUaXRsZSgis8m5preisrzNvMaso7oiKTsNCiR3aW4tPkFkZE1zZ0l0ZW0oJG1zZyk7DQokd2luZm9ybSA9ICR3aW4tPkdldFdpbmRvdygiaGFuZCIsICImbmJzcDsiLCBmYWxzZSk7DQokd2luLT5EaXNwbGF5KCk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYWRkX2NvbnRlbnRfYWN0aW9uLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuICIvb3h3aW5kb3cuY2xhc3MucGhwIik7DQpyZXF1aXJlX29uY2UoREVERVJPT1QuICcvYm9vay9pbmNsdWRlL3N0b3J5LmZ1bmMucGhwJyk7DQppZiggZW1wdHkoJGNoYXB0ZXJpZCkNCnx8ICghZW1wdHkoJGFkZGNoYXB0ZXIpICYmICFlbXB0eSgkY2hhcHRlcm5ldykpICkNCnsNCiAgICBpZihlbXB0eSgkY2hhcHRlcm5ldykpDQogICAgew0KICAgICAgICBTaG93TXNnKCLTydPaxOO3orK8tcTE2sjdw7vRodTx1cK92qOsz7XNs77cvvi3orK8o6EiLCAiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCiAgICAkcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfY2hhcHRlciBXSEVSRSBib29raWQ9JyRib29raWQnIE9SREVSIEJZIGNoYXBudW0gZGVzYyIpOw0KICAgIGlmKGlzX2FycmF5KCRyb3cpKQ0KICAgIHsNCiAgICAgICAgJG5jaGFwbnVtID0gJHJvd1snY2hhcG51bSddKzE7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRuY2hhcG51bSA9IDE7DQogICAgfQ0KICAgICRxdWVyeSA9ICJJTlNFUlQgSU5UTyBgI0BfX3N0b3J5X2NoYXB0ZXJgKGBib29raWRgLGBjYXRpZGAsYGNoYXBudW1gLGBtaWRgLGBjaGFwdGVybmFtZWAsYGJvb2tuYW1lYCkNCiAgICAgICAgICAgIFZBTFVFUyAoJyRib29raWQnLCAnJGNhdGlkJywgJyRuY2hhcG51bScsICcwJywgJyRjaGFwdGVybmV3JywnJGJvb2tuYW1lJyk7IjsNCiAgICAkcnMgPSAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkcXVlcnkpOw0KICAgIGlmKCRycykNCiAgICB7DQogICAgICAgICRjaGFwdGVyaWQgPSAkZHNxbC0+R2V0TGFzdElEKCk7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIFNob3dNc2coItT2vNPVwr3ayqew3KOsx+u87LLp1K3S8qOhIiwiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCn0NCg0KLy+78bXDuLjAuMS/DQokbnJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgV0hFUkUgaWQ9JyRjYXRpZCcgIik7DQokYmNhdGlkID0gJG5yb3dbJ3BpZCddOw0KJGJvb2t0eXBlID0gJG5yb3dbJ2Jvb2t0eXBlJ107DQppZihlbXB0eSgkYmNhdGlkKSkNCnsNCiAgICAkYmNhdGlkID0gMDsNCn0NCmlmKGVtcHR5KCRib29rdHlwZSkpDQp7DQogICAgJGJvb2t0eXBlID0gMDsNCn0NCiRhZGR0aW1lID0gdGltZSgpOw0KDQovL7SmwO3Jz7SrtcTL9cLUzbwNCi8vJGxpdHBpYyA9IEdldERESW1hZ2UoJ2xpdHBpYycsJGxpdHBpY25hbWUsMCk7DQokYWRtaW5JRCA9ICRjdXNlckxvZ2luLT5nZXRVc2VySUQoKTsNCg0KLy+xvtXC1+6689K7uPbQocu1tcTFxcHQy7O0ztDyDQokbHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBzb3J0aWQgRnJvbSAjQF9fc3RvcnlfY29udGVudCBXSEVSRSBib29raWQ9JyRib29raWQnIEFORCBjaGFwdGVyaWQ9JyRjaGFwdGVyaWQnIE9SREVSIEJZIHNvcnRpZCBERVNDIik7DQppZihlbXB0eSgkbHJvdykpDQp7DQogICAgJHNvcnRpZCA9IDE7DQp9DQplbHNlDQp7DQogICAgJHNvcnRpZCA9ICRscm93Wydzb3J0aWQnXSsxOw0KfQ0KJGluUXVlcnkgPSAiDQpJTlNFUlQgSU5UTyBgI0BfX3N0b3J5X2NvbnRlbnRgKGB0aXRsZWAsYGJvb2tuYW1lYCxgY2hhcHRlcmlkYCxgY2F0aWRgLGBiY2F0aWRgLGBib29raWRgLGBib29rdHlwZWAsYHNvcnRpZGAsDQpgbWlkYCxgYmlncGljYCxgYm9keWAsYGFkZHRpbWVgKQ0KVkFMVUVTICgnJHRpdGxlJywnJGJvb2tuYW1lJywgJyRjaGFwdGVyaWQnLCAnJGNhdGlkJywnJGJjYXRpZCcsICckYm9va2lkJywnJGJvb2t0eXBlJywnJHNvcnRpZCcsICcwJywgJycgLCAnJywgJyRhZGR0aW1lJyk7IjsNCmlmKCEkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkaW5RdWVyeSkpDQp7DQogICAgU2hvd01zZygisNHK/b7dsaO05rW9yv2+3b/iyrGz9rTto6zH67zssumjoSIuJGRzcWwtPkdldEVycm9yKCkuJGluUXVlcnksIi0xIik7DQogICAgJGRzcWwtPkNsb3NlKCk7DQogICAgZXhpdCgpOw0KfQ0KJGFyY0lEID0gJGRzcWwtPkdldExhc3RJRCgpOw0KV3JpdGVCb29rVGV4dCgkYXJjSUQsJGJvZHkpOw0KDQovL7j80MLNvMrptcTE2sjdyv0NCiRyb3cgPSAkZHNxbC0+R2V0T25lKCJTZWxlY3QgY291bnQoaWQpIEFTIGRkIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgIFdIRVJFIGJvb2tpZCA9ICckYm9va2lkJyAiKTsNCiRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgI0BfX3N0b3J5X2Jvb2tzIFNFVCBwb3N0bnVtPSd7JHJvd1snZGQnXX0nLGxhc3Rwb3N0PSciLnRpbWUoKS4iJyBXSEVSRSBiaWQ9JyRib29raWQnICIpOw0KDQovL7j80MLVwr3atcTE2sjdyv0NCiRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY291bnQoaWQpIEFTIGRkIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgIFdIRVJFIGJvb2tpZCA9ICckYm9va2lkJyBBTkQgY2hhcHRlcmlkPSckY2hhcHRlcmlkJyAiKTsNCiRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgI0BfX3N0b3J5X2NoYXB0ZXIgU0VUIHBvc3RudW09J3skcm93WydkZCddfScgV0hFUkUgaWQ9JyRjaGFwdGVyaWQnICIpOw0KDQovL8n6s8lIVE1MDQovLyRhcnRVcmwgPSBNYWtlQXJ0KCRhcmNJRCx0cnVlKTsNCmlmKGVtcHR5KCRhcnRjb250ZW50VXJsKSkgJGFydGNvbnRlbnRVcmwgPSAnJzsNCg0KaWYoJGFydGNvbnRlbnRVcmw9PSIiKSAkYXJ0Y29udGVudFVybCA9ICRjZmdfY21zcGF0aC4iL2Jvb2svc3RvcnkucGhwP2lkPSRhcmNJRCI7DQoNCnJlcXVpcmVfb25jZShERURFUk9PVC4nL2Jvb2svaW5jbHVkZS9zdG9yeS52aWV3LmNsYXNzLnBocCcpOw0KJGJ2ID0gbmV3IEJvb2tWaWV3KCRib29raWQsICdib29rJyk7DQokYXJ0VXJsID0gJGJ2LT5NYWtlSHRtbCgpOw0KJGJ2LT5DbG9zZSgpOw0KDQovL7e1u9izybmm0MXPog0KJG1zZyA9ICINCqGhoaHH69Gh1PHE47XEuvPQ+LLZ1/ejug0KPGEgaHJlZj0nc3RvcnlfYWRkX2NvbnRlbnQucGhwP2Jvb2tpZD17JGJvb2tpZH0nPjx1PrzM0Pi3orK8PC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nJGFydFVybCcgdGFyZ2V0PSdfYmxhbmsnPjx1PtSkwMDQocu1PC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nJGFydGNvbnRlbnRVcmwnIHRhcmdldD0nX2JsYW5rJz48dT7UpMDAxNrI3TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J3N0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPXskYm9va2lkfSc+PHU+udzA7cv509DE2sjdPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nc3RvcnlfYm9va3MucGhwJz48dT653MDty/nT0M28yuk8L3U+PC9hPg0KIjsNCiR3aW50aXRsZSA9ICKzybmmt6KyvM7E1cKjoSI7DQokd2Vjb21lX2luZm8gPSAiwazU2LncwO06OreisrzOxNXCIjsNCiR3aW4gPSBuZXcgT3hXaW5kb3coKTsNCiR3aW4tPkFkZFRpdGxlKCKzybmmt6KyvM7E1cKjuiIpOw0KJHdpbi0+QWRkTXNnSXRlbSgkbXNnKTsNCiR3aW5mb3JtID0gJHdpbi0+R2V0V2luZG93KCJoYW5kIiwiJm5ic3A7IixmYWxzZSk7DQokd2luLT5EaXNwbGF5KCk7DQovL0NsZWFyQWxsTGluaygpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfYm9va3MucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQogDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlIERFREVJTkMuICcvZGF0YWxpc3RjcC5jbGFzcy5waHAnOw0Kc2V0Y29va2llKCJFTlZfR09CQUNLX1VSTCIsICRkZWRlTm93dXJsLCB0aW1lKCkrMzYwMCwiLyIpOw0KQ2hlY2tQdXJ2aWV3KCdzdG9yeV9saXN0Jyk7DQppZighaXNzZXQoJGFjdGlvbikpICRhY3Rpb24gPSAnJzsNCg0KaWYoIWlzc2V0KCRjYXRpZCkpICRjYXRpZCA9IDA7DQoNCmlmKCFpc3NldCgka2V5d29yZCkpICRrZXl3b3JkID0gIiI7DQoNCmlmKCFpc3NldCgkb3JkZXJieSkpICRvcmRlcmJ5ID0gMDsNCg0KaWYoIWlzc2V0KCRpc2NoZWNrKSkgJGlzY2hlY2sgPSAwOw0KDQppZighaXNzZXQoJGNpZCkpICRjaWQgPSAwOw0KDQppZigkYWN0aW9uID09ICdjaGVja2VkJykNCnsNCiAgICAkaWQgPSBpbnR2YWwoJGlkKTsNCiAgICAkcXVlcnk9IlVQREFURSAjQF9fc3RvcnlfYm9va3MgU0VUIGlzY2hlY2s9MSBXSEVSRSBiaWQ9JyRpZCciOw0KICAgIGlmKCRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSkpDQogICAgew0KICAgICAgICBzaG93bXNnKCfJ87rLs8m5picsJ3N0b3J5X2Jvb2tzLnBocCcpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIHNob3dtc2coJ8nzusvKp7DcJywnc3RvcnlfYm9va3MucGhwJyk7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQp9DQoNCi8vtsHIocv509DAuMS/wdCx7Q0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2xhc3NuYW1lLHBpZCxyYW5rIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgT1JERVIgQlkgcmFuayBBU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokcmFua3MgPSBBcnJheSgpOw0KJGJ0eXBlcyA9IEFycmF5KCk7DQokc3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICBpZigkcm93WydwaWQnXT09MCkNCiAgICB7DQogICAgICAgICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHN0eXBlc1skcm93WydwaWQnXV1bJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KfQ0KJGFkZHF1ZXJ5ID0gIiI7DQppZigkaXNjaGVjayA9PSAxKQ0Kew0KICAgICRhZGRxdWVyeSAuPSAiIGFuZCBpc2NoZWNrPTAgIjsNCn0NCiRvcmRlcmJ5ID0gIiBPUkRFUiBCWSBiLmJpZCBERVNDICI7DQppZigkY2F0aWQhPTApDQp7DQogICAgJGFkZHF1ZXJ5IC49ICIgQW5kIChiLmJjYXRpZD0nJGNhdGlkJyBPUiBiLmNhdGlkPSckY2F0aWQnKSAiOw0KfQ0KaWYoJGtleXdvcmQhPSIiKQ0Kew0KICAgICRhZGRxdWVyeSAuPSAiIEFuZCAoYi5ib29rbmFtZSBMSUtFICclJGtleXdvcmQlJyBPUiBiLmF1dGhvciBMSUtFICclJGtleXdvcmQlJykgIjsNCn0NCiRxdWVyeSA9ICINCiAgIFNFTEVDVCBiLmJpZCxiLmNhdGlkLGIuYm9va25hbWUsYi5ib29rdHlwZSxiLmxpdHBpYyxiLmlzY2hlY2ssYi5wb3N0bnVtLGIuc2VuZGRhdGUsYy5pZCBBUyBjaWQsYy5jbGFzc25hbWUgRlJPTSAjQF9fc3RvcnlfYm9va3MgYg0KICAgTEVGVCBKT0lOICNAX19zdG9yeV9jYXRhbG9nIGMgT04gYy5pZCA9IGIuY2F0aWQgV0hFUkUgYi5iaWQ+MCAkYWRkcXVlcnkgJG9yZGVyYnkNCiI7DQokZGxpc3QgPSBuZXcgRGF0YUxpc3RDUCgpOw0KJGRsaXN0LT5wYWdlU2l6ZSA9IDIwOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImtleXdvcmQiLCAka2V5d29yZCk7DQokZGxpc3QtPlNldFBhcmFtZXRlcigiY2F0aWQiLCAkY2lkKTsNCiRkbGlzdC0+U2V0UGFyYW1ldGVyKCJvcmRlcmJ5IiwgJG9yZGVyYnkpOw0KJGRsaXN0LT5TZXRUZW1wbGF0ZShERURFQURNSU4uICcvdGVtcGxldHMvc3RvcnlfYm9va3MuaHRtJyk7DQokZGxpc3QtPlNldFNvdXJjZSgkcXVlcnkpOw0KJGRsaXN0LT5EaXNwbGF5KCk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfY2F0YWxvZy5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiL2NvbmZpZy5waHAiKTsNCkNoZWNrUHVydmlldygnc3RvcnlfQ2F0YWxvZycpOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCmlmKCFpc3NldCgkc3R5cGVzKSkgJHN0eXBlcyA9ICcnOw0KDQoNCi8vzbO8xs28yunK/cG/DQpmdW5jdGlvbiBUakJvb2tOdW0oJGNpZCwmJGRzcWwpDQp7DQogICAgJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBjb3VudChiaWQpIEFTIGRkIEZST00gI0BfX3N0b3J5X2Jvb2tzIFdIRVJFIGNhdGlkPSckY2lkJyBPUiBiY2F0aWQ9JyRjaWQnICIpOw0KICAgIHJldHVybiAkcm93WydkZCddOw0KfQ0KDQovL9T2vNPAuMS/DQovKg0KZnVuY3Rpb24gU2F2ZU5ldygpOw0KKi8NCmlmKCRhY3Rpb249PSdhZGQnKQ0Kew0KICAgICRpblF1ZXJ5ID0gIklOU0VSVCBJTlRPICNAX19zdG9yeV9jYXRhbG9nKGNsYXNzbmFtZSxwaWQscmFuayxsaXN0cnVsZSx2aWV3cnVsZSxib29rdHlwZSxrZXl3b3JkcyxkZXNjcmlwdGlvbikNCiAgICBWQUxVRVMoJyRjbGFzc25hbWUnLCckcGlkJywnJHJhbmsnLCcnLCcnLCckYm9va3R5cGUnLCcka2V5d29yZHMnLCckZGVzY3JpcHRpb24nKSI7DQogICAgJHJzID0gJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJGluUXVlcnkpOw0KICAgIGlmKCRycykNCiAgICB7DQogICAgICAgICRtc2cgPSAis8m5ptT2vNPSu7j2wLjEv6O6eyRjbGFzc25hbWV9IKOhIjsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJG1zZyA9ICLU9rzTwLjEv8qxyqew3KO6eyRjbGFzc25hbWV9IKOhIjsNCiAgICB9DQp9DQoNCi8vsaO05tDeuMQNCi8qDQpmdW5jdGlvbiBTYXZlRWRpdCgpOw0KKi8NCmVsc2UgaWYoJGFjdGlvbj09J2VkaXRzYXZlJykNCnsNCiAgICAkaW5RdWVyeSA9ICJVUERBVEUgI0BfX3N0b3J5X2NhdGFsb2cgU0VUDQogICAgICAgICAgICAgY2xhc3NuYW1lPSckY2xhc3NuYW1lJyxwaWQ9JyRwaWQnLHJhbms9JyRyYW5rJyxib29rdHlwZT0nJGJvb2t0eXBlJywNCiAgICAgICAgICAgICBrZXl3b3Jkcz0nJGtleXdvcmRzJyxkZXNjcmlwdGlvbj0nJGRlc2NyaXB0aW9uJw0KICAgICAgICAgIFdIRVJFIGlkPSckY2F0aWQnICI7DQogICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJGluUXVlcnkpOw0KICAgICRtc2cgPSAis8m5ptDeuMTAuMS/o7p7JGNhdGlkfSA9IHskY2xhc3NuYW1lfSCjoSI7DQogICAgaWYoaXNzZXQoJHJhbmtzWyRjYXRpZF0pKQ0KICAgIHsNCiAgICAgICAgJHJhbmtzWyRjYXRpZF0gPSAkcmFuazsNCiAgICB9DQogICAgaWYoaXNzZXQoJGJ0eXBlc1skY2F0aWRdKSkNCiAgICB7DQogICAgICAgICRidHlwZXNbJGNhdGlkXSA9ICRjbGFzc25hbWU7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIGlmKGlzX2FycmF5KCRzdHlwZXMpKQ0KICAgICAgICB7DQogICAgICAgICAgICBmb3JlYWNoKCRzdHlwZXMgYXMgJGtrPT4kdnYpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgaWYoaXNzZXQoJHZ2WyRjYXRpZF0pKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJHN0eXBlc1ska2tdWyRjYXRpZF0gPSAkY2xhc3NuYW1lOw0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQp9DQoNCi8vyb6z/cC4xL8NCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBEZWxDYXRhbG9nKCkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCmVsc2UgaWYoJGFjdGlvbj09J2RlbCcpDQp7DQogICAgJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQgRlJPTSAjQF9fc3RvcnlfY2F0YWxvZyBXSEVSRSBwaWQ9J3skY2F0aWR9JyAiKTsNCiAgICAkZHNxbC0+RXhlY3V0ZSgpOw0KICAgICRpZHMgPSAkY2F0aWQ7DQogICAgd2hpbGUoJHJvdyA9ICRkc3FsLT5HZXRBcnJheSgpKQ0KICAgIHsNCiAgICAgICAgJGlkcyAuPSAnLCcuJHJvd1snaWQnXTsNCiAgICB9DQogICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NICNAX19zdG9yeV9ib29rcyBXSEVSRSBjYXRpZCBpbiAoJGlkcykgIik7DQogICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGNhdGlkIGluICgkaWRzKSAiKTsNCiAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgV0hFUkUgY2F0aWQgaW4gKCRpZHMpICIpOw0KICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJERUxFVEUgRlJPTSAjQF9fc3RvcnlfY2F0YWxvZyBXSEVSRSBpZCBpbiAoJGlkcykgIik7DQogICAgJG1zZyA9ICLJvrP9wLjEv6O6eyRjYXRpZH0go6FPSyI7DQp9DQoNCi8vuPzQwsXF0PINCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBVcFJhbmtzKCk7DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQplbHNlIGlmKCRhY3Rpb249PSd1cHJhbmsnKQ0Kew0KICAgIGZvcmVhY2goJF9QT1NUIGFzICRyaz0+JHJ2KQ0KICAgIHsNCiAgICAgICAgaWYoZXJlZygncmFuaycsJHJrKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJGNhdGlkID0gc3RyX3JlcGxhY2UoJ3JhbmtfJywnJywkcmspOw0KICAgICAgICAgICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIlVQREFURSAjQF9fc3RvcnlfY2F0YWxvZyBTRVQgcmFuaz0neyRydn0nIFdIRVJFIGlkPSckY2F0aWQnICIpOw0KICAgICAgICAgICAgJHJhbmtzWyRjYXRpZF0gPSAkcnY7DQogICAgICAgIH0NCiAgICB9DQogICAgU2hvd01zZygis8m5prj80MLFxdDyo6EiLCJzdG9yeV9jYXRhbG9nLnBocCIpOw0KICAgIGV4aXQoKTsNCn0NCg0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgQVNDIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQp3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQp7DQogICAgaWYoJHJvd1sncGlkJ109PTApDQogICAgew0KICAgICAgICAkYnR5cGVzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRzdHlwZXNbJHJvd1sncGlkJ11dWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgICRyYW5rc1skcm93WydpZCddXSA9ICRyb3dbJ3JhbmsnXTsNCn0NCiRsYXN0aWQgPSAkcm93WydpZCddOw0KJG1zZyA9ICcnOw0KDQovL9TYyOvAuMS/o6jTw9Pa0N64xKOsQWpheMSjyr3U2Mjro6kNCi8qDQpmdW5jdGlvbiBMb2FkRWRpdCgpOw0KKi8NCmlmKCRhY3Rpb249PSdlZGl0bG9hZCcpDQp7DQogICAgJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgV0hFUkUgaWQ9JyRjYXRpZCciKTsNCiAgICBBamF4SGVhZCgpOw0KPz4NCjxmb3JtIG5hbWU9J2VkaXRmb3JtJyBhY3Rpb249J3N0b3J5X2NhdGFsb2cucGhwJyBtZXRob2Q9J2dldCc+DQo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhY3Rpb24nIHZhbHVlPSdlZGl0c2F2ZScgLz4NCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NhdGlkJyB2YWx1ZT0nPD9waHAgZWNobyAkY2F0aWQ7ID8+JyAvPg0KPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQogICA8dHI+DQogICAgIDx0ZCB3aWR0aD0iOTAiIGhlaWdodD0iMjgiPsC4xL/D+7PGo7o8L3RkPg0KICAgICA8dGQgd2lkdGg9IjEwMSI+PGlucHV0IG5hbWU9ImNsYXNzbmFtZSIgdHlwZT0idGV4dCIgaWQ9ImNsYXNzbmFtZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJHJvd1snY2xhc3NuYW1lJ107ID8+IiAvPjwvdGQ+DQogICAgIDx0ZCB3aWR0aD0iMjAiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPjxhIGhyZWY9ImphdmFzY3JpcHQ6Q2xvc2VFZGl0Q2F0YWxvZygpIj48aW1nIHNyYz0iaW1hZ2VzL2Nsb3NlLmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiBib3JkZXI9IjAiIC8+PC9hPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgICA8dGQgaGVpZ2h0PSIyOCI+waXK9MC4xL+jujwvdGQ+DQogICAgIDx0ZCBjb2xzcGFuPSIyIj4NCiAgICAgPHNlbGVjdCBuYW1lPSJwaWQiIGlkPSJwaWQiPg0KICAgICAgIDxvcHRpb24gdmFsdWU9IjAiPralvLbAuMS/PC9vcHRpb24+DQogICAgICAgPD9waHANCiAgICAgICBmb3JlYWNoKCRidHlwZXMgYXMgJGs9PiR2KQ0KICAgICAgIHsNCiAgICAgICAgICAgaWYoJHJvd1sncGlkJ109PSRrKQ0KICAgICAgICAgICB7DQogICAgICAgICAgICAgICBlY2hvICI8b3B0aW9uIHZhbHVlPSckaycgc2VsZWN0ZWQ+eyR2fTwvb3B0aW9uPlxyXG4iOw0KICAgICAgICAgICB9DQogICAgICAgICAgIGVsc2VpZigkdiAhPSAkcm93WydjbGFzc25hbWUnXSkNCiAgICAgICAgICAgew0KICAgICAgICAgICAgICAgZWNobyAiPG9wdGlvbiB2YWx1ZT0nJGsnPnskdn08L29wdGlvbj5cclxuIjsNCiAgICAgICAgICAgfQ0KICAgICAgIH0NCiAgICAgICA/Pg0KICAgICA8L3NlbGVjdD4NCiAgICAgPC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgIDx0ZCBoZWlnaHQ9IjI4Ij7FxdDyvLax8KO6PC90ZD4NCiAgICAgPHRkIGNvbHNwYW49IjIiPjxpbnB1dCBuYW1lPSJyYW5rIiB0eXBlPSJ0ZXh0IiBpZD0icmFuayIgc2l6ZT0iNSIgdmFsdWU9Ijw/cGhwIGVjaG8gJHJvd1sncmFuayddOyA/PiIgLz4NCiAgICAgICCjqMr91rXQob+/x7CjqTwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgICA8dGQgaGVpZ2h0PSIyOCI+wazU2MDg0M2jujwvdGQ+DQogICAgIDx0ZCBjb2xzcGFuPSIyIj4NCiAgICAgICAgIDxpbnB1dCBuYW1lPSJib29rdHlwZSIgdHlwZT0icmFkaW8iICB2YWx1ZT0iMCI8P3BocCBpZigkcm93Wydib29rdHlwZSddPT0wKSBlY2hvICIgY2hlY2tlZD0nY2hlY2tlZCciOz8+IC8+DQogICAgICAg0KHLtQ0KICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJib29rdHlwZSIgdmFsdWU9IjEiIDw/cGhwIGlmKCRyb3dbJ2Jvb2t0eXBlJ109PTEpIGVjaG8gIiBjaGVja2VkPSdjaGVja2VkJyI7Pz4gLz4NCiAgICAgwv67rQ0KICAgICA8L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICAgPHRkIGhlaWdodD0iMjgiPrnYvPzX1qO6PC90ZD4NCiAgICAgPHRkIGNvbHNwYW49IjIiPjxpbnB1dCBuYW1lPSJrZXl3b3JkcyIgdHlwZT0idGV4dCIgaWQ9ImtleXdvcmRzIiB2YWx1ZT0iPD9waHAgZWNobyAkcm93WydrZXl3b3JkcyddOyA/PiIgLz48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICAgPHRkPtWqoaHSqqO6PC90ZD4NCiAgICAgPHRkIGNvbHNwYW49IjIiPg0KICAgICAgICAgPHRleHRhcmVhIG5hbWU9ImRlc2NyaXB0aW9uIiBpZD0iZGVzY3JpcHRpb24iIHN0eWxlPSJ3aWR0aDoxODBweDtoZWlnaHQ6NDVweCI+PD9waHAgZWNobyAkcm93WydkZXNjcmlwdGlvbiddOyA/PjwvdGV4dGFyZWE+DQogICAgIDwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgICA8dGQgaGVpZ2h0PSI0MyI+Jm5ic3A7PC90ZD4NCiAgICAgPHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IrGjtOa4/LjEIiBzdHlsZT0id2lkdGg6ODBweCIvPjwvdGQ+DQogICA8L3RyPg0KPC90YWJsZT4NCjwvZm9ybT4NCjw/cGhwDQpleGl0KCk7DQp9DQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvdGVtcGxldHMvc3RvcnlfY2F0YWxvZy5odG0iKTsNCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfZG8ucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi9jb25maWcucGhwIik7DQpDaGVja1B1cnZpZXcoJ3N0b3J5X0RlbCcpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuICIvb3h3aW5kb3cuY2xhc3MucGhwIik7DQppZihlbXB0eSgkYWN0aW9uKSkNCnsNCiAgICBTaG93TXNnKCLE48O71ri2qMjOus6yzsr9o6EiLCItMSIpOw0KICAgIGV4aXQoKTsNCn0NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KZnVuY3Rpb24gRGVsQm9vaygpDQrJvrP91fuxvs28yukNCi0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KaWYoJGFjdGlvbj09J2RlbGJvb2snKQ0Kew0KICAgICRiaWRzID0gZXhwbG9kZSgnLCcsICRiaWQpOw0KICAgIGZvcmVhY2goJGJpZHMgYXMgJGkgPT4gJGJpZCkNCiAgICB7DQogICAgICAgIGlmKGludHZhbCgkYmlkKTw9MCkNCiAgICAgICAgew0KICAgICAgICAgICAgY29udGludWU7DQogICAgICAgIH0NCiAgICAgICAgJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBib29rdHlwZSBGUk9NICNAX19zdG9yeV9ib29rcyBXSEVSRSBiaWQ9JyRiaWQnICIpOw0KICAgICAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gI0BfX3N0b3J5X2Jvb2tzIFdIRVJFIGJpZD0nJGJpZCcgIik7DQogICAgICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJERUxFVEUgRlJPTSAjQF9fc3RvcnlfY2hhcHRlciAgV0hFUkUgYm9va2lkPSckYmlkJyAiKTsNCg0KICAgICAgICAvL8m+s/3NvMasDQogICAgICAgIGlmKGVtcHR5KCRyb3dbJ2Jvb2t0eXBlJ10pKQ0KICAgICAgICB7DQogICAgICAgICAgICAkcm93Wydib29rdHlwZSddID0gJyc7DQogICAgICAgIH0NCiAgICAgICAgaWYoJHJvd1snYm9va3R5cGUnXT09MSkNCiAgICAgICAgew0KICAgICAgICAgICAgJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgYmlncGljIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgV0hFUkUgYm9va2lkPSckYmlkJyAiKTsNCiAgICAgICAgICAgICRkc3FsLT5FeGVjdXRlKCk7DQogICAgICAgICAgICB3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJGJpZ3BpYyA9ICRyb3dbJ2JpZ3BpYyddOw0KICAgICAgICAgICAgICAgIGlmKCAkYmlncGljIT0iIiAmJiAhZXJlZ2koJ15odHRwOi8vJywkYmlncGljKSApDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBAdW5saW5rKCRjZmdfYmFzZWRpci4kYmlncGljKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NICNAX19zdG9yeV9jb250ZW50IFdIRVJFIGJvb2tpZD0nJGJpZCcgIik7DQogICAgfQ0KICAgICRpID0gJGkrMTsNCiAgICBpZihlbXB0eSgkRU5WX0dPQkFDS19VUkwpKQ0KICAgIHsNCiAgICAgICAgJEVOVl9HT0JBQ0tfVVJMID0gJ3N0b3J5X2Jvb2tzLnBocCc7DQogICAgfQ0KICAgIFNob3dNc2coIrPJuabJvrP9IHskaX0gsb7NvMrpo6EiLCRFTlZfR09CQUNLX1VSTCk7DQogICAgZXhpdCgpOw0KfQ0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBEZWxTdG9yeUNvbnRlbnQoKQ0Kyb6z/c28yunE2sjdDQotLS0tLS0tLS0tLS0tLS0tLS0tKi8NCmVsc2UgaWYoJGFjdGlvbj09J2RlbGNvbnRlbnQnKQ0Kew0KDQogICAgJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBiaWdwaWMsY2hhcHRlcmlkLGJvb2tpZCBGUk9NICNAX19zdG9yeV9jb250ZW50IFdIRVJFIGlkPSckY2lkJyAiKTsNCiAgICAkY2hhcHRlcmlkID0gJHJvd1snY2hhcHRlcmlkJ107DQogICAgJGJvb2tpZCA9ICRyb3dbJ2Jvb2tpZCddOw0KDQogICAgLy/I57n7zbzGrLK7zqq/1aOsz8jJvrP9zbzGrA0KICAgIGlmKCAkcm93WydiaWdwaWMnXSE9IiIgJiYgIWVyZWdpKCdeaHR0cDovLycsJHJvd1snYmlncGljJ10pICkNCiAgICB7DQogICAgICAgIEB1bmxpbmsoJGNmZ19iYXNlZGlyLiRyb3dbJ2JpZ3BpYyddKTsNCiAgICB9DQogICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIiBERUxFVEUgRlJPTSAjQF9fc3RvcnlfY29udGVudCBXSEVSRSBpZD0nJGNpZCcgIik7DQoNCiAgICAvL7j80MLNvMrpvMfCvA0KICAgICRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY291bnQoaWQpIEFTIGRkIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgV0hFUkUgYm9va2lkPSckYm9va2lkJyAiKTsNCiAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVXBkYXRlICNAX19zdG9yeV9ib29rcyBTRVQgcG9zdG51bT0neyRyb3dbJ2RkJ119JyBXSEVSRSBiaWQ9JyRib29raWQnICIpOw0KDQogICAgLy+4/NDC1cK92rzHwrwNCiAgICAkcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNvdW50KGlkKSBBUyBkZCBGUk9NICNAX19zdG9yeV9jb250ZW50IFdIRVJFIGNoYXB0ZXJpZD0nJGNoYXB0ZXJpZCcgIik7DQogICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIlVwZGF0ZSAjQF9fc3RvcnlfY2hhcHRlciBTRVQgcG9zdG51bT0neyRyb3dbJ2RkJ119JyBXSEVSRSBpZD0nJGNoYXB0ZXJpZCcgIik7DQogICAgU2hvd01zZygis8m5psm+s/3WuLaoxNrI3aOhIiwkRU5WX0dPQkFDS19VUkwpOw0KICAgIGV4aXQoKTsNCn0NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KZnVuY3Rpb24gRWRpdENoYXB0ZXIoKQ0KsaO05tXCvdrQxc+iDQotLS0tLS0tLS0tLS0tLS0tLS0tKi8NCmVsc2UgaWYoJGFjdGlvbj09J2VkaXRDaGFwdGVyJykNCnsNCg0KICAgIHJlcXVpcmVfb25jZShERURFSU5DLiIvY2hhclNFVC5mdW5jLnBocCIpOw0KICAgIC8vJGNoYXB0ZXJuYW1lID0gZ2IydXRmOCgkY2hhcHRlcm5hbWUpOw0KICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVcGRhdGUgI0BfX3N0b3J5X2NoYXB0ZXIgU0VUIGNoYXB0ZXJuYW1lPSckY2hhcHRlcm5hbWUnLGNoYXBudW09JyRjaGFwbnVtJyBXSEVSRSBpZD0nJGNpZCcgIik7DQogICAgQWpheEhlYWQoKTsNCiAgICBlY2hvICI8Zm9udCBjb2xvcj0ncmVkJz6zybmmuPzQwtXCvdqjunskY2hhcHRlcm5hbWV9IKOhIFs8YSBocmVmPVwiamF2YXNjcmlwdDpDbG9zZUxheWVyKCdlZGl0Y2hhcHRlcicpXCI+udix1czhyr48L2E+XTwvZm9udD4gPGJyIC8+PGJyIC8+IMzhyr6jutDeuMTVwr3aw/uzxrvy1cK92tDyusXWsb3T1NrX87Hf0N64xKOsyLu687Xju/fT0rHftcQgW7j80MJdILvhsaO05qGjICI7DQogICAgZXhpdCgpOw0KfQ0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBEZWxDaGFwdGVyKCkNCsm+s/3Vwr3a0MXPog0KLS0tLS0tLS0tLS0tLS0tLS0tLSovDQplbHNlIGlmKCRhY3Rpb249PSdkZWxDaGFwdGVyJykNCnsNCiAgICAkcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGMuYm9va2lkLGIuYm9va3R5cGUgRlJPTSAjQF9fc3RvcnlfY2hhcHRlciBjIExFRlQgSk9JTiAgI0BfX3N0b3J5X2Jvb2tzIGIgT04gYi5iaWQ9Yy5ib29raWQgV0hFUkUgYy5pZD0nJGNpZCcgIik7DQogICAgJGJvb2tpZCA9ICRyb3dbJ2Jvb2tpZCddOw0KICAgICRib29rdHlwZSA9ICRyb3dbJ2Jvb2t0eXBlJ107DQogICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGlkPSckY2lkJyAiKTsNCg0KICAgIC8vyb6z/c28xqwNCiAgICBpZigkYm9va3R5cGU9PTEpDQogICAgew0KICAgICAgICAkZHNxbC0+U2V0UXVlcnkoIlNFTEVDVCBiaWdwaWMgRlJPTSAjQF9fc3RvcnlfY29udGVudCBXSEVSRSBib29raWQ9JyRib29raWQnICIpOw0KICAgICAgICAkZHNxbC0+RXhlY3V0ZSgpOw0KICAgICAgICB3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQogICAgICAgIHsNCiAgICAgICAgICAgICRiaWdwaWMgPSAkcm93WydiaWdwaWMnXTsNCiAgICAgICAgICAgIGlmKCAkYmlncGljIT0iIiAmJiAhZXJlZ2koJ15odHRwOi8vJywkYmlncGljKSApDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgQHVubGluaygkY2ZnX2Jhc2VkaXIuJGJpZ3BpYyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NICNAX19zdG9yeV9jb250ZW50IFdIRVJFIGNoYXB0ZXJpZD0nJGNpZCcgIik7DQoNCiAgICAvL7j80MLNvMrpvMfCvA0KICAgICRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY291bnQoaWQpIEFTIGRkIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgV0hFUkUgYm9va2lkPSckYm9va2lkJyAiKTsNCiAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFICNAX19zdG9yeV9ib29rcyBTRVQgcG9zdG51bT0neyRyb3dbJ2RkJ119JyBXSEVSRSBiaWQ9JyRib29raWQnICIpOw0KICAgIFNob3dNc2coIrPJuabJvrP91ri2qNXCvdqjoSIsJEVOVl9HT0JBQ0tfVVJMKTsNCiAgICBleGl0KCk7DQp9DQoNCi8qLS0tLS0tLS0tLS0tLS0tDQpmdW5jdGlvbiBFZGl0Q2hhcHRlckFsbCgpDQrF+sG/0N64xNXCvdoNCi0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KZWxzZSBpZigkYWN0aW9uPT0ndXBDaGFwdGVyU29ydCcpDQp7DQogICAgaWYoaXNTRVQoJGlkcykgJiYgaXNfYXJyYXkoJGlkcykpDQogICAgew0KICAgICAgICBmb3JlYWNoKCRpZHMgYXMgJGNpZCkNCiAgICAgICAgew0KICAgICAgICAgICAgJGNoYXB0ZXJuYW1lID0gJHsnY2hhcHRlcm5hbWVfJy4kY2lkfTsNCiAgICAgICAgICAgICRjaGFwbnVtPSAkeydjaGFwbnVtXycuJGNpZH07DQogICAgICAgICAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFICNAX19zdG9yeV9jaGFwdGVyIFNFVCBjaGFwdGVybmFtZT0nJGNoYXB0ZXJuYW1lJyxjaGFwbnVtPSckY2hhcG51bScgV0hFUkUgaWQ9JyRjaWQnICIpOw0KICAgICAgICB9DQogICAgfQ0KICAgIFNob3dNc2coIrPJuaa4/NDC1ri2qNXCvdrQxc+io6EiLCAkRU5WX0dPQkFDS19VUkwpOw0KICAgIGV4aXQoKTsNCn0NCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfZWRpdC5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiL2NvbmZpZy5waHAiKTsNCkNoZWNrUHVydmlldygnc3RvcnlfRWRpdCcpOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCg0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlkLGNsYXNzbmFtZSxwaWQscmFuayBGUk9NICNAX19zdG9yeV9jYXRhbG9nIE9SREVSIEJZIHJhbmsgQVNDIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQp3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQp7DQogICAgaWYoJHJvd1sncGlkJ109PTApDQogICAgew0KICAgICAgICAkYnR5cGVzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRzdHlwZXNbJHJvd1sncGlkJ11dWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgfQ0KICAgICRyYW5rc1skcm93WydpZCddXSA9ICRyb3dbJ3JhbmsnXTsNCn0NCiRsYXN0aWQgPSAkcm93WydpZCddOw0KJG1zZyA9ICcnOw0KJGJvb2tzID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIFMuKixBLm1lbWJlcm5hbWUgRlJPTSAjQF9fYXJjcmFuayBBUyBBIExFRlQgSk9JTiAjQF9fc3RvcnlfYm9va3MgQVMgUyBPTiBBLnJhbms9Uy5hcmNyYW5rIFdIRVJFIFMuYmlkPSckYm9va2lkJyAiKTsNCnJlcXVpcmVfb25jZShERURFQURNSU4uICcvdGVtcGxldHMvc3RvcnlfZWRpdC5odG0nKTsNCj8+
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfZWRpdF9hY3Rpb24ucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi9jb25maWcucGhwIik7DQpDaGVja1B1cnZpZXcoJ3N0b3J5X05ldycpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuICIvaW1hZ2UuZnVuYy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiAiL294d2luZG93LmNsYXNzLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVBRE1JTi4gIi9pbmMvaW5jX2FyY2hpdmVzX2Z1bmN0aW9ucy5waHAiKTsNCmlmKCFpc3NldCgkaXNjb21tZW5kKSkgJGlzY29tbWVuZCA9IDA7DQoNCmlmKCRjYXRpZD09MCkNCnsNCiAgICBTaG93TXNnKCLH69a4tqjNvMrpy/nK9MC4xL+joSIsIi0xIik7DQogICAgZXhpdCgpOw0KfQ0KDQovL7vxtcO4uMC4xL8NCiRucm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fc3RvcnlfY2F0YWxvZyBXSEVSRSBpZD0nJGNhdGlkJyAiKTsNCiRiY2F0aWQgPSAkbnJvd1sncGlkJ107DQokYm9va3R5cGUgPSAkbnJvd1snYm9va3R5cGUnXTsNCiRwdWJkYXRlID0gR2V0TWtUaW1lKCRwdWJkYXRlKTsNCiRsYXN0cG9zdD10aW1lKCk7DQokYm9va25hbWUgPSBjbl9zdWJzdHIoJGJvb2tuYW1lLDUwKTsNCmlmKCRrZXl3b3JkcyE9IiIpICRrZXl3b3JkcyA9IHRyaW0oY25fc3Vic3RyKCRrZXl3b3JkcywgNjApKTsNCg0KDQovL7SmwO3Jz7SrtcTL9cLUzbwNCmlmKCRsaXRwaWMgIT0iIikgJGxpdHBpYyA9IEdldERESW1hZ2UoJ2xpdHBpYycsICRsaXRwaWMsIDApOw0KDQppZigkbGl0cGljbmFtZSAhPSIiICYmICRsaXRwaWMgPT0gIiIpICRsaXRwaWMgPSBHZXREREltYWdlKCdsaXRwaWMnLCAkbGl0cGljbmFtZSwgMCk7DQoNCiRhZG1pbklEID0gJGN1c2VyTG9naW4tPmdldFVzZXJJRCgpOw0KDQovL9fUtq/VqtKqDQppZigkZGVzY3JpcHRpb249PSIiICYmICRjZmdfYXVvdF9kZXNjcmlwdGlvbj4wKQ0Kew0KICAgICRkZXNjcmlwdGlvbiA9IHN0cmlwc2xhc2hlcyhjbl9zdWJzdHIoaHRtbDJ0ZXh0KCRib2R5KSwgJGNmZ19hdW90X2Rlc2NyaXB0aW9uKSk7DQogICAgJGRlc2NyaXB0aW9uID0gYWRkc2xhc2hlcygkZGVzY3JpcHRpb24pOw0KfQ0KJHVwUXVlcnkgPSAiDQpVcGRhdGUgYCNAX19zdG9yeV9ib29rc2ANCnNldCBjYXRpZD0nJGNhdGlkJywNCmJjYXRpZD0nJGJjYXRpZCcsDQppc2NvbW1lbmQ9JyRpc2NvbW1lbmQnLA0KY2xpY2s9JyRjbGljaycsDQpmcmVlbnVtPSckZnJlZW51bScsDQphcmNyYW5rPSckYXJjcmFuaycsDQpib29rbmFtZT0nJGJvb2tuYW1lJywNCmF1dGhvcj0nJGF1dGhvcicsDQpsaXRwaWM9JyRsaXRwaWMnLA0KcHViZGF0ZT0nJHB1YmRhdGUnLA0KbGFzdHBvc3Q9JyRsYXN0cG9zdCcsDQpkZXNjcmlwdGlvbj0nJGRlc2NyaXB0aW9uJywNCmJvZHk9JyRib2R5JywNCmtleXdvcmRzPScka2V5d29yZHMnLA0Kc3RhdHVzPSckc3RhdHVzJywNCmlzY2hlY2s9JyRpc2NoZWNrJw0Kd2hlcmUgYmlkPSckYm9va2lkJyAiOw0KDQppZighJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJHVwUXVlcnkpKQ0Kew0KICAgIFNob3dNc2coIrj80MLK/b7dv+LKsbP2tO2jrMfrvOyy6aOhIi4kZHNxbC0+R2V0RXJyb3IoKSwiLTEiKTsNCiAgICAkZHNxbC0+Q2xvc2UoKTsNCiAgICBleGl0KCk7DQp9DQoNCi8vyfqzyUhUTUwNCnJlcXVpcmVfb25jZShERURFUk9PVC4gJy9ib29rL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAnKTsNCiRidiA9IG5ldyBCb29rVmlldygkYm9va2lkLCAnYm9vaycpOw0KJGFydFVybCA9ICRidi0+TWFrZUh0bWwoKTsNCiRidi0+Q2xvc2UoKTsNCg0KLy+3tbvYs8m5ptDFz6INCiRtc2cgPSAiDQqhoaGhx+vRodTxxOO1xLrz0Piy2df3o7oNCjxhIGhyZWY9J3N0b3J5X2VkaXQucGhwP2Jvb2tpZD17JGJvb2tpZH0nPjx1PrzM0PjQ3rjEPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nc3RvcnlfYWRkLnBocD9jYXRpZD17JGNhdGlkfSc+PHU+t6KyvNDCzbzK6TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9JyRhcnRVcmwnIHRhcmdldD0nX2JsYW5rJz48dT7UpMDAzbzK6TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J3N0b3J5X2FkZF9jb250ZW50LnBocD9ib29raWQ9eyRib29raWR9Jz48dT7U9rzTzbzK6cTayN08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSdzdG9yeV9ib29rcy5waHAnPjx1PrncwO3NvMrpPC91PjwvYT4NCiI7DQokd2ludGl0bGUgPSAis8m5ptDeuMTNvMrpo6EiOw0KJHdlY29tZV9pbmZvID0gIsGs1Ni53MDtOjrQ3rjEzbzK6SI7DQokd2luID0gbmV3IE94V2luZG93KCk7DQokd2luLT5BZGRUaXRsZSgis8m5ptDeuMTSu7G+zbzK6aO6Iik7DQokd2luLT5BZGRNc2dJdGVtKCRtc2cpOw0KJHdpbmZvcm0gPSAkd2luLT5HZXRXaW5kb3coImhhbmQiLCAiJm5ic3A7IiwgZmFsc2UpOw0KJHdpbi0+RGlzcGxheSgpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfbGlzdF9jaGFwdGVyLnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlIERFREVJTkMuICcvZGF0YWxpc3RjcC5jbGFzcy5waHAnOw0Kc2V0Y29va2llKCJFTlZfR09CQUNLX1VSTCIsICRkZWRlTm93dXJsLCB0aW1lKCkrMzYwMCwiLyIpOw0KQ2hlY2tQdXJ2aWV3KCdzdG9yeV9ib29rcycpOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCmlmKCFpc3NldCgka2V5d29yZCkpICRrZXl3b3JkID0gIiI7DQoNCmlmKCFpc3NldCgkYmlkKSkgJGJpZCA9IDA7DQoNCmlmKCFlbXB0eSgkYm9va2lkKSkgJGJpZCA9ICRib29raWQ7DQoNCg0KJGFkZHF1ZXJ5ID0gIiBpZD4wICI7DQokb3JkZXJieSA9ICIgT1JERVIgQlkgaWQgREVTQyAiOw0KaWYoJGtleXdvcmQhPSIiKSAkYWRkcXVlcnkgLj0gIiBBbmQgKGJvb2tuYW1lIExJS0UgJyUka2V5d29yZCUnIE9SIGNoYXB0ZXJuYW1lIExJS0UgJyUka2V5d29yZCUnKSAiOw0KDQppZigkYmlkIT0wKSAkYWRkcXVlcnkgLj0gIiBBbmQgYm9va2lkPSckYmlkJyAiOw0KDQoNCiRxdWVyeSA9ICINCiAgIFNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NoYXB0ZXIgV0hFUkUgJGFkZHF1ZXJ5ICRvcmRlcmJ5DQoiOw0KJGRsaXN0ID0gbmV3IERhdGFMaXN0Q1AoKTsNCiRkbGlzdC0+cGFnZVNpemUgPSAyMDsNCiRkbGlzdC0+U2V0UGFyYW1ldGVyKCJrZXl3b3JkIiwgJGtleXdvcmQpOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImJpZCIsICRiaWQpOw0KJGRsaXN0LT5TZXRUZW1wbGF0ZShERURFQURNSU4uICcvdGVtcGxldHMvc3RvcnlfbGlzdF9jaGFwdGVyLmh0bScpOw0KJGRsaXN0LT5TZXRTb3VyY2UoJHF1ZXJ5KTsNCiRkbGlzdC0+RGlzcGxheSgpOw0K
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfbGlzdF9jb250ZW50LnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlIERFREVJTkMuICcvZGF0YWxpc3RjcC5jbGFzcy5waHAnOw0Kc2V0Y29va2llKCJFTlZfR09CQUNLX1VSTCIsICRkZWRlTm93dXJsLCB0aW1lKCkrMzYwMCwiLyIpOw0KQ2hlY2tQdXJ2aWV3KCdzdG9yeV9ib29rcycpOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCmlmKCFpc3NldCgkYm9va3R5cGUpKSAkYm9va3R5cGUgPSAnLTEnOw0KDQppZighaXNzZXQoJGtleXdvcmQpKSAka2V5d29yZCA9ICIiOw0KDQppZighaXNzZXQoJG9yZGVyYnkpKSAkb3JkZXJieSA9IDA7DQoNCmlmKCFpc3NldCgkYm9va2lkKSkgJGJvb2tpZCA9IDA7DQoNCmlmKCFpc3NldCgkY2hhcGlkKSkgJGNoYXBpZCA9IDA7DQoNCiRhZGRxdWVyeSA9ICIiOw0KJG9yZGVyYnkgPSAiIE9SREVSIEJZIGN0LmlkIERFU0MgIjsNCmlmKCRib29rdHlwZSE9Jy0xJykgJGFkZHF1ZXJ5IC49ICIgQW5kIGN0LmJvb2t0eXBlPSckYm9va3R5cGUnICI7DQoNCmlmKCRrZXl3b3JkIT0iIikgJGFkZHF1ZXJ5IC49ICIgQW5kIChjdC5ib29rbmFtZSBsaWtlICclJGtleXdvcmQlJyBPciBjdC50aXRsZSBsaWtlICclJGtleXdvcmQlJykgIjsNCg0KaWYoJGJvb2tpZCE9MCkgJGFkZHF1ZXJ5IC49ICIgQW5kIGN0LmJvb2tpZD0nJGJvb2tpZCcgIjsNCg0KaWYoJGNoYXBpZCE9MCkgJGFkZHF1ZXJ5IC49ICIgQW5kIGN0LmNoYXB0ZXJpZD0nJGNoYXBpZCcgIjsNCg0KJHF1ZXJ5ID0gIg0KICAgU0VMRUNUIGN0LmlkLGN0LnRpdGxlLGN0LmJvb2tpZCxjdC5jaGFwdGVyaWQsY3Quc29ydGlkLGN0LmJvb2tuYW1lLGN0LmFkZHRpbWUsY3QuYm9va3R5cGUsYy5jaGFwdGVybmFtZSxjLmNoYXBudW0gRlJPTSAjQF9fc3RvcnlfY29udGVudCAgY3QNCiAgIExFRlQgSk9JTiAjQF9fc3RvcnlfY2hhcHRlciBjIE9OIGMuaWQgPSBjdC5jaGFwdGVyaWQgV0hFUkUgY3QuaWQ+MCAkYWRkcXVlcnkgJG9yZGVyYnkNCiI7DQokZGxpc3QgPSBuZXcgRGF0YUxpc3RDUCgpOw0KJGRsaXN0LT5wYWdlU2l6ZSA9IDIwOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImtleXdvcmQiLCAka2V5d29yZCk7DQokZGxpc3QtPlNldFBhcmFtZXRlcigiYm9va3R5cGUiLCAkYm9va3R5cGUpOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImJvb2tpdCIsICRib29raWQpOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoImNoYXBpZCIsICRjaGFwaWQpOw0KJGRsaXN0LT5TZXRUZW1wbGF0ZShERURFQURNSU4uICcvdGVtcGxldHMvc3RvcnlfbGlzdF9jb250ZW50Lmh0bScpOw0KJGRsaXN0LT5TZXRTb3VyY2UoJHF1ZXJ5KTsNCiRkbGlzdC0+RGlzcGxheSgpOw0KLy9DbGVhckFsbExpbmsoKTsNCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfcGhvdG9fZWRpdC5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiL2NvbmZpZy5waHAiKTsNCkNoZWNrUHVydmlldygnc3RvcnlfRWRpdCcpOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQppZihlbXB0eSgkY2lkKSkNCnsNCiAgICBTaG93TXNnKCKyzsr9tO3O86OhIiwgIi0xIik7DQogICAgZXhpdCgpOw0KfQ0KDQovL7bByKHL+dPQwLjEvw0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2xhc3NuYW1lLHBpZCxyYW5rIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgT1JERVIgQlkgcmFuayBBU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokcmFua3MgPSBBcnJheSgpOw0KJGJ0eXBlcyA9IEFycmF5KCk7DQokc3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICBpZigkcm93WydwaWQnXT09MCkNCiAgICB7DQogICAgICAgICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHN0eXBlc1skcm93WydwaWQnXV1bJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCiAgICB9DQogICAgJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KfQ0KJGxhc3RpZCA9ICRyb3dbJ2lkJ107DQokY29udGVudHMgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jb250ZW50IFdIRVJFIGlkPSckY2lkJyAiKTsNCiRib29raW5mb3MgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgY2F0aWQsYmNhdGlkLGJvb2tuYW1lLGJvb2t0eXBlIEZST00gI0BfX3N0b3J5X2Jvb2tzIFdIRVJFIGJpZD0neyRjb250ZW50c1snYm9va2lkJ119JyAiKTsNCiRjYXRpZCA9ICRib29raW5mb3NbJ2NhdGlkJ107DQokYmNhdGlkID0gJGJvb2tpbmZvc1snYmNhdGlkJ107DQokYm9va25hbWUgPSAkYm9va2luZm9zWydib29rbmFtZSddOw0KJGJvb2t0eXBlID0gJGJvb2tpbmZvc1snYm9va3R5cGUnXTsNCiRib29raWQgPSAkY29udGVudHNbJ2Jvb2tpZCddOw0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2hhcG51bSxjaGFwdGVybmFtZSBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGJvb2tpZD0neyRjb250ZW50c1snYm9va2lkJ119JyBvcmRlciBieSBjaGFwbnVtIERFU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokY2hhcHRlcnMgPSBBcnJheSgpOw0KJGNoYXBudW1zID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSkNCnsNCiAgICAkY2hhcHRlcnNbJHJvd1snaWQnXV0gPSAkcm93WydjaGFwdGVybmFtZSddOw0KICAgICRjaGFwbnVtc1skcm93WydpZCddXSA9ICRyb3dbJ2NoYXBudW0nXTsNCn0NCnJlcXVpcmVfb25jZSBEZWRlSW5jbHVkZSgnL3RlbXBsZXRzL3N0b3J5X3Bob3RvX2VkaXQuaHRtJyk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfY29udGVudF9lZGl0LnBocCAxIDk6MDIgMjAxMMTqOdTCMjXI1VogwLbJq8vmz+sgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuTW9kdWxlLkJvb2sNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KDQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuICIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVST09ULiAiL2Jvb2svaW5jbHVkZS9zdG9yeS5mdW5jLnBocCIpOw0KQ2hlY2tQdXJ2aWV3KCdzdG9yeV9FZGl0Jyk7DQppZighaXNzZXQoJGFjdGlvbikpICRhY3Rpb24gPSAnJzsNCg0KaWYoZW1wdHkoJGNpZCkpDQp7DQogICAgU2hvd01zZygiss7K/bTtzvOjoSIsICItMSIpOw0KICAgIGV4aXQoKTsNCn0NCg0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU2VsZWN0IGlkLGNsYXNzbmFtZSxwaWQscmFuayBGcm9tICNAX19zdG9yeV9jYXRhbG9nIG9yZGVyIGJ5IHJhbmsgYXNjIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQp3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpew0KICAgIGlmKCRyb3dbJ3BpZCddPT0wKSAkYnR5cGVzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQogICAgZWxzZSAkc3R5cGVzWyRyb3dbJ3BpZCddXVskcm93WydpZCddXSA9ICRyb3dbJ2NsYXNzbmFtZSddOw0KICAgICRyYW5rc1skcm93WydpZCddXSA9ICRyb3dbJ3JhbmsnXTsNCn0NCiRsYXN0aWQgPSAkcm93WydpZCddOw0KDQoNCiRjb250ZW50cyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NvbnRlbnQgV0hFUkUgaWQ9JyRjaWQnICIpOw0KDQokYm9va2luZm9zID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGNhdGlkLGJjYXRpZCxib29rbmFtZSxib29rdHlwZSBGUk9NICNAX19zdG9yeV9ib29rcyBXSEVSRSBiaWQ9J3skY29udGVudHNbJ2Jvb2tpZCddfScgIik7DQokY2F0aWQgPSAkYm9va2luZm9zWydjYXRpZCddOw0KJGJjYXRpZCA9ICRib29raW5mb3NbJ2JjYXRpZCddOw0KJGJvb2tuYW1lID0gJGJvb2tpbmZvc1snYm9va25hbWUnXTsNCiRib29rdHlwZSA9ICRib29raW5mb3NbJ2Jvb2t0eXBlJ107DQokYm9va2lkID0gJGNvbnRlbnRzWydib29raWQnXTsNCg0KJGRzcWwtPlNldFF1ZXJ5KCJTRUxFQ1QgaWQsY2hhcG51bSxjaGFwdGVybmFtZSBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGJvb2tpZD0neyRjb250ZW50c1snYm9va2lkJ119JyBPUkRFUiBCWSBjaGFwbnVtIERFU0MiKTsNCiRkc3FsLT5FeGVjdXRlKCk7DQokY2hhcHRlcnMgPSBBcnJheSgpOw0KJGNoYXBudW1zID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSl7DQogICAgJGNoYXB0ZXJzWyRyb3dbJ2lkJ11dID0gJHJvd1snY2hhcHRlcm5hbWUnXTsNCiAgICAkY2hhcG51bXNbJHJvd1snaWQnXV0gPSAkcm93WydjaGFwbnVtJ107DQp9DQoNCnJlcXVpcmVfb25jZSBEZWRlSW5jbHVkZSgnL3RlbXBsZXRzL3N0b3J5X2NvbnRlbnRfZWRpdC5odG0nKTsNCg0KLy9DbGVhckFsbExpbmsoKTsNCg==
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfZWRpdF9jb250ZW50X2FjdGlvbi5waHAgMSA5OjAyIDIwMTDE6jnUwjI1yNVaIMC2yavL5s/rICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLk1vZHVsZS5Cb29rDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiAiL2NvbmZpZy5waHAiKTsNCkNoZWNrUHVydmlldygnc3RvcnlfRWRpdCcpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuICIvb3h3aW5kb3cuY2xhc3MucGhwIik7DQpyZXF1aXJlX29uY2UoREVERVJPT1QuICIvYm9vay9pbmNsdWRlL3N0b3J5LmZ1bmMucGhwIik7DQoNCmlmKCBlbXB0eSgkY2hhcHRlcmlkKQ0KfHwgKCFlbXB0eSgkYWRkY2hhcHRlcikgJiYgIWVtcHR5KCRjaGFwdGVybmV3KSkgKQ0Kew0KICAgIGlmKGVtcHR5KCRjaGFwdGVybmV3KSkNCiAgICB7DQogICAgICAgICBTaG93TXNnKCLTydPaxOO3orK8tcTE2sjdw7vRodTx1cK92qOsz7XNs77cvvi3orK8o6EiLCAiLTEiKTsNCiAgICAgICAgIGV4aXQoKTsNCiAgICB9DQogICAgJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZyb20gI0BfX3N0b3J5X2NoYXB0ZXIgV0hFUkUgYm9va2lkPSckYm9va2lkJyBPUkRFUiBCWSBjaGFwbnVtIERFU0MiKTsNCiAgICBpZihpc19hcnJheSgkcm93KSkgJG5jaGFwbnVtID0gJHJvd1snY2hhcG51bSddKzE7DQogICAgZWxzZSAkbmNoYXBudW0gPSAxOw0KICAgICRxdWVyeSA9ICJJTlNFUlQgSU5UTyBgI0BfX3N0b3J5X2NoYXB0ZXJgKGBib29raWRgLGBjYXRpZGAsYGNoYXBudW1gLGBtaWRgLGBjaGFwdGVybmFtZWAsYGJvb2tuYW1lYCkNCiAgICAgICAgICAgIFZBTFVFUyAoJyRib29raWQnLCAnJGNhdGlkJywgJyRuY2hhcG51bScsICcwJywgJyRjaGFwdGVybmV3JywnJGJvb2tuYW1lJyk7IjsNCiAgICAkcnMgPSAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkcXVlcnkpOw0KICAgIGlmKCRycyl7DQogICAgICAgICRjaGFwdGVyaWQgPSAkZHNxbC0+R2V0TGFzdElEKCk7DQogICAgfQ0KICAgIGVsc2UNCiAgew0KICAgICAgU2hvd01zZygi1Pa809XCvdrKp7Dco6zH67zssunUrdLyo6EiLCAiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICB9DQp9DQoNCi8vu/G1w7i4wLjEvw0KJG5yb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jYXRhbG9nIFdIRVJFIGlkPSckY2F0aWQnICIpOw0KJGJjYXRpZCA9ICRucm93WydwaWQnXTsNCiRib29rdHlwZSA9ICRucm93Wydib29rdHlwZSddOw0KDQppZihlbXB0eSgkYmNhdGlkKSkgJGJjYXRpZCA9IDA7DQppZihlbXB0eSgkYm9va3R5cGUpKSAkYm9va3R5cGUgPSAwOw0KDQoNCiRhZGR0aW1lID0gdGltZSgpOw0KDQokaW5RdWVyeSA9ICINCiAgIFVQREFURSBgI0BfX3N0b3J5X2NvbnRlbnRgIFNFVCBgdGl0bGVgPSckdGl0bGUnLGBib29rbmFtZWA9JyRib29rbmFtZScsDQogICBgY2hhcHRlcmlkYD0nJGNoYXB0ZXJpZCcsYHNvcnRpZGA9JyRzb3J0aWQnLGBib2R5YD0nJw0KICBXSEVSRSBpZD0nJGNpZCcNCiI7DQoNCmlmKCEkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkaW5RdWVyeSkpew0KICAgIFNob3dNc2coIrj80MLK/b7dyrGz9rTto6zH67zssumjoSIuc3RyX3JlcG9sYWNlKCInIiwiYCIsJGRzcWwtPkdldEVycm9yKCkuJGluUXVlcnkpLCItMSIpOw0KICAgICRkc3FsLT5DbG9zZSgpOw0KICAgIGV4aXQoKTsNCn0NCg0KV3JpdGVCb29rVGV4dCgkY2lkLCRib2R5KTsNCmlmKGVtcHR5KCRhcnRjb250ZW50VXJsKSkkYXJ0Y29udGVudFVybD0iIjsNCmlmKCRhcnRjb250ZW50VXJsPT0iIikgJGFydGNvbnRlbnRVcmwgPSAkY2ZnX21haW5zaXRlLiRjZmdfY21zcGF0aC4iL2Jvb2svc3RvcnkucGhwP2lkPXskY2lkfSI7DQoNCnJlcXVpcmVfb25jZShERURFUk9PVC4gIi9ib29rL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAiKTsNCiRidiA9IG5ldyBCb29rVmlldygkYm9va2lkLCdib29rJyk7DQokYXJ0VXJsID0gJGJ2LT5NYWtlSHRtbCgpOw0KJGJ2LT5DbG9zZSgpOw0KDQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLy+3tbvYs8m5ptDFz6INCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJG1zZyA9ICINCqGhoaHH69Gh1PHE47XEuvPQ+LLZ1/ejug0KPGEgaHJlZj0nc3RvcnlfY29udGVudF9lZGl0LnBocD9jaWQ9eyRjaWR9Jz48dT68zND4seC8rTwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9JyRhcnRVcmwnIHRhcmdldD0nX2JsYW5rJz48dT7UpMDA0KHLtTwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9JyRhcnRjb250ZW50VXJsJyB0YXJnZXQ9J19ibGFuayc+PHU+1KTAwMTayN08L3U+PC9hPg0KJm5ic3A7Jm5ic3A7DQo8YSBocmVmPSdzdG9yeV9saXN0X2NvbnRlbnQucGhwP2Jvb2tpZD17JGJvb2tpZH0nPjx1PrG+yunL+dPQxNrI3TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J3N0b3J5X2Jvb2tzLnBocCc+PHU+udzA7cv509DNvMrpPC91PjwvYT4NCiI7DQoNCiR3aW50aXRsZSA9ICKzybmm0N64xM7E1cKjoSI7DQokd2Vjb21lX2luZm8gPSAiwazU2LncwO06OreisrzOxNXCIjsNCiR3aW4gPSBuZXcgT3hXaW5kb3coKTsNCiR3aW4tPkFkZFRpdGxlKCKzybmm0N64xM7E1cKjuiIpOw0KJHdpbi0+QWRkTXNnSXRlbSgkbXNnKTsNCiR3aW5mb3JtID0gJHdpbi0+R2V0V2luZG93KCJoYW5kIiwgIiZuYnNwOyIsIGZhbHNlKTsNCiR3aW4tPkRpc3BsYXkoKTsNCi8vQ2xlYXJBbGxMaW5rKCk7DQo=
PD9waHANCi8qKg0KICogQHZlcnNpb24gICAgICAgICRJZDogc3RvcnlfZWRpdF9waG90b19hY3Rpb24ucGhwIDEgOTowMiAyMDEwxOo51MIyNcjVWiDAtsmry+bP6yAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5Nb2R1bGUuQm9vaw0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQoNCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi9jb25maWcucGhwIik7DQpDaGVja1B1cnZpZXcoJ3N0b3J5X0VkaXQnKTsNCmluY2x1ZGVfb25jZShERURFSU5DLiAiL2ltYWdlLmZ1bmMucGhwIik7DQppbmNsdWRlX29uY2UoREVERUlOQy4gIi9veHdpbmRvdy5jbGFzcy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFQURNSU4uICIvaW5jL2luY19hcmNoaXZlc19mdW5jdGlvbnMucGhwIik7DQoNCmlmKCBlbXB0eSgkY2hhcHRlcmlkKQ0KfHwgKCFlbXB0eSgkYWRkY2hhcHRlcikgJiYgIWVtcHR5KCRjaGFwdGVybmV3KSkgKQ0Kew0KICAgIGlmKGVtcHR5KCRjaGFwdGVybmV3KSkNCiAgICB7DQogICAgICAgICBTaG93TXNnKCLTydPaxOO3orK8tcTE2sjdw7vRodTx1cK92qOsz7XNs77cvvi3orK8o6EiLCAiLTEiKTsNCiAgICAgICAgIGV4aXQoKTsNCiAgICB9DQogICAgJGRzcWwgPSBuZXcgRGVkZVNxbCgpOw0KICAgICRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgKiBGUk9NICNAX19zdG9yeV9jaGFwdGVyIFdIRVJFIGJvb2tpZD0nJGJvb2tpZCcgT1JERVIgQlkgY2hhcG51bSBERVNDIik7DQogICAgaWYoaXNfYXJyYXkoJHJvdykpICRuY2hhcG51bSA9ICRyb3dbJ2NoYXBudW0nXSsxOw0KICAgIGVsc2UgJG5jaGFwbnVtID0gMTsNCiAgICAkcXVlcnkgPSAiSU5TRVJUIElOVE8gYCNAX19zdG9yeV9jaGFwdGVyYChgYm9va2lkYCxgY2F0aWRgLGBjaGFwbnVtYCxgbWlkYCxgY2hhcHRlcm5hbWVgLGBib29rbmFtZWApDQogICAgICAgICAgICBWQUxVRVMgKCckYm9va2lkJywgJyRjYXRpZCcsICckbmNoYXBudW0nLCAnMCcsICckY2hhcHRlcm5ldycsJyRib29rbmFtZScpOyI7DQogICAgJHJzID0gJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJHF1ZXJ5KTsNCiAgICBpZigkcnMpew0KICAgICAgICAkY2hhcHRlcmlkID0gJGRzcWwtPkdldExhc3RJRCgpOw0KICAgIH0NCiAgICBlbHNlDQogIHsNCiAgICAgIFNob3dNc2coItT2vNPVwr3ayqew3KOsx+u87LLp1K3S8qOhIiwiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICB9DQp9ZWxzZQ0Kew0KICAgICRkc3FsID0gbmV3IERlZGVTcWwoKTsNCn0NCg0KLy+78bXDuLjAuMS/DQokbnJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3N0b3J5X2NhdGFsb2cgV0hFUkUgaWQ9JyRjYXRpZCcgIik7DQokYmNhdGlkID0gJG5yb3dbJ3BpZCddOw0KJGJvb2t0eXBlID0gJG5yb3dbJ2Jvb2t0eXBlJ107DQoNCmlmKGVtcHR5KCRiY2F0aWQpKSAkYmNhdGlkID0gMDsNCmlmKGVtcHR5KCRib29rdHlwZSkpICRib29rdHlwZSA9IDA7DQoNCg0KJGFkZHRpbWUgPSB0aW1lKCk7DQoNCi8vtKbA7cnPtKu1xMv1wtTNvA0KaWYoIWlzc2V0KCRpc3JlbW90ZSkpICRpc3JlbW90ZSA9IDA7DQokYmlncGljID0gVXBsb2FkT25lSW1hZ2UoJ2ltZ2ZpbGUnLCRpbWd1cmwsJGlzcmVtb3RlKTsNCg0KJGFkbWluSUQgPSAkY3VzZXJMb2dpbi0+Z2V0VXNlcklEKCk7DQoNCg0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQokaW5RdWVyeSA9ICINCiAgIFVQREFURSBgI0BfX3N0b3J5X2NvbnRlbnRgIFNFVCBgdGl0bGVgPSckdGl0bGUnLGBib29rbmFtZWA9JyRib29rbmFtZScsDQogICBgY2hhcHRlcmlkYD0nJGNoYXB0ZXJpZCcsYHNvcnRpZGA9JyRzb3J0aWQnLGBiaWdwaWNgPSckYmlncGljJw0KICBXSEVSRSBpZD0nJGNpZCcNCiI7DQoNCmlmKCEkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkaW5RdWVyeSkpew0KICAgIFNob3dNc2coIrDRyv2+3bGjtOa1vcr9vt2/4sqxs/a07aOsx+u87LLpo6EiLnN0cl9yZXBvbGFjZSgiJyIsImAiLCAkZHNxbC0+R2V0RXJyb3IoKS4kaW5RdWVyeSksICItMSIpOw0KICAgICRkc3FsLT5DbG9zZSgpOw0KICAgIGV4aXQoKTsNCn0NCg0KJGFyY0lEID0gJGNpZDsNCg0KLy/J+rPJSFRNTA0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLy8kYXJ0VXJsID0gTWFrZUFydCgkYXJjSUQsdHJ1ZSk7DQppZihlbXB0eSgkYXJ0Y29udGVudFVybCkpJGFydGNvbnRlbnRVcmw9IiI7DQppZigkYXJ0Y29udGVudFVybD09IiIpICRhcnRjb250ZW50VXJsID0gJGNmZ19tYWluc2l0ZS4kY2ZnX2Ntc3BhdGguIi9ib29rL3Nob3ctcGhvdG8ucGhwP2lkPSRhcmNJRCZib29raWQ9JGJvb2tpZCZjaGFwdGVyaWQ9JGNoYXB0ZXJpZCI7DQoNCnJlcXVpcmVfb25jZShERURFUk9PVC4gJy9ib29rL2luY2x1ZGUvc3Rvcnkudmlldy5jbGFzcy5waHAnKTsNCiRidiA9IG5ldyBCb29rVmlldygkYm9va2lkLCAnYm9vaycpOw0KJGFydFVybCA9ICRidi0+TWFrZUh0bWwoKTsNCiRidi0+Q2xvc2UoKTsNCg0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi8vt7W72LPJuabQxc+iDQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiRtc2cgPSAiDQqhoaGhx+vRodTxxOO1xLrz0Piy2df3o7oNCjxhIGhyZWY9J3N0b3J5X3Bob3RvX2VkaXQucGhwP2NpZD17JGNpZH0nPjx1PrzM0PjQ3rjEPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nJGFydFVybCcgdGFyZ2V0PSdfYmxhbmsnPjx1PtSkwMDC/rutPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nJGFydGNvbnRlbnRVcmwnIHRhcmdldD0nX2JsYW5rJz48dT7UpMDAxNrI3TwvdT48L2E+DQombmJzcDsmbmJzcDsNCjxhIGhyZWY9J3N0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPXskYm9va2lkfSc+PHU+udzA7cv509DE2sjdPC91PjwvYT4NCiZuYnNwOyZuYnNwOw0KPGEgaHJlZj0nc3RvcnlfYm9va3MucGhwJz48dT653MDty/nT0M28yuk8L3U+PC9hPg0KIjsNCg0KJHdpbnRpdGxlID0gIrPJuabQ3rjExNrI3aOhIjsNCiR3ZWNvbWVfaW5mbyA9ICLBrNTYudzA7To60N64xML+u63E2sjdIjsNCiR3aW4gPSBuZXcgT3hXaW5kb3coKTsNCiR3aW4tPkFkZFRpdGxlKCKzybmmt6KyvML+u62juiIpOw0KJHdpbi0+QWRkTXNnSXRlbSgkbXNnKTsNCiR3aW5mb3JtID0gJHdpbi0+R2V0V2luZG93KCJoYW5kIiwgIiZuYnNwOyIsIGZhbHNlKTsNCiR3aW4tPkRpc3BsYXkoKTsNCi8vQ2xlYXJBbGxMaW5rKCk7DQo=
PD9waHANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi9jb25maWcucGhwIik7DQpDaGVja1B1cnZpZXcoJ3N5c19GZWVkYmFjaycpOw0KJGlkID0gaXNzZXQoJGlkKSAmJiBpc19udW1lcmljKCRpZCkgPyAkaWQgOiAwOw0KJEVOVl9HT0JBQ0tfVVJMID0gZW1wdHkoJF9DT09LSUVbJ0VOVl9HT0JBQ0tfVVJMJ10pPyAic3RvcnlfZmVlZGJhY2tfbWFpbi5waHAiIDogJF9DT09LSUVbJ0VOVl9HT0JBQ0tfVVJMJ107DQppZihlbXB0eSgkZG9wb3N0KSkNCnsNCiAgICAkZG9wb3N0ID0gIiI7DQp9DQppZigkZG9wb3N0PT0nZWRpdCcpDQp7DQogICAgJG1zZyA9IGNuX3N1YnN0clIoJG1zZywyNTAwKTsNCiAgICAkYWRtaW5tc2cgPSB0cmltKCRhZG1pbm1zZyk7DQogICAgaWYoJGFkbWlubXNnIT0iIikNCiAgICB7DQogICAgICAgICRhZG1pbm1zZyA9IGNuX3N1YnN0clIoJGFkbWlubXNnLDE1MDApOw0KICAgICAgICAkYWRtaW5tc2cgPSBzdHJfcmVwbGFjZSgiPCIsIiZsdDsiLCRhZG1pbm1zZyk7DQogICAgICAgICRhZG1pbm1zZyA9IHN0cl9yZXBsYWNlKCI+IiwiJmd0OyIsJGFkbWlubXNnKTsNCiAgICAgICAgJGFkbWlubXNnID0gc3RyX3JlcGxhY2UoIiAgIiwiJm5ic3A7Jm5ic3A7IiwkYWRtaW5tc2cpOw0KICAgICAgICAkYWRtaW5tc2cgPSBzdHJfcmVwbGFjZSgiXHJcbiIsIjxici8+XG4iLCRhZG1pbm1zZyk7DQogICAgICAgICRtc2cgPSAkbXNnLiI8YnIvPlxuIi4iPGZvbnQgY29sb3I9cmVkPrncwO3UsbvYuLSjuiAkYWRtaW5tc2c8L2ZvbnQ+XG4iOw0KICAgIH0NCiAgICAkcXVlcnkgPSAiVVBEQVRFIGAjQF9fYm9va2ZlZWRiYWNrYCBTRVQgdXNlcm5hbWU9JyR1c2VybmFtZScsbXNnPSckbXNnJyxpc2NoZWNrPTEgV0hFUkUgaWQ9JGlkIjsNCiAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkcXVlcnkpOw0KICAgIFNob3dNc2coIrPJuaa72Li00rvU8sH00dSjoSIsJEVOVl9HT0JBQ0tfVVJMKTsNCiAgICBleGl0KCk7DQp9DQokcXVlcnkgPSAiU0VMRUNUICogRlJPTSBgI0BfX2Jvb2tmZWVkYmFja2AgV0hFUkUgaWQ9JGlkIjsNCiRyb3cgPSAkZHNxbC0+R2V0T25lKCRxdWVyeSk7DQppbmNsdWRlIERlZGVJbmNsdWRlKCd0ZW1wbGV0cy9zdG9yeV9mZWVkYmFja19lZGl0Lmh0bScpOw0K
PD9waHANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4gIi9jb25maWcucGhwIik7DQoNCi8vyKjP3rzssukNCkNoZWNrUHVydmlldygnc3lzX0ZlZWRiYWNrJyk7DQpyZXF1aXJlX29uY2UoREVERUlOQy4gIi9kYXRhbGlzdGNwLmNsYXNzLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuICIvdHlwZWxpbmsuY2xhc3MucGhwIik7DQpzZXRjb29raWUoIkVOVl9HT0JBQ0tfVVJMIiwgJGRlZGVOb3d1cmwsIHRpbWUoKSszNjAwLCIvIik7DQoNCmZ1bmN0aW9uIElzQ2hlY2soJHN0KXsgcmV0dXJuICRzdD09MT8gIlvS0cnzustdIiA6ICI8Zm9udCBjb2xvcj0ncmVkJz5bzrTJ87rLXTwvZm9udD4iO30NCg0KDQppZighZW1wdHkoJGpvYikpDQp7DQogICAgJGlkcyA9IHByZWdfcmVwbGFjZSgiI1teMC05LF0jIiwgJycsICRmaWQpOw0KICAgIGlmKGVtcHR5KCRpZHMpKQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygixOPDu9Gh1tDIzrrO0aHP7qOhIiwgJF9DT09LSUVbJ0VOVl9HT0JBQ0tfVVJMJ10sIDAsIDUwMCk7DQogICAgICAgIGV4aXQ7DQogICAgfQ0KfQ0KZWxzZQ0Kew0KICAgICRqb2IgPSAnJzsNCn0NCg0KLy/JvrP9xsDC2w0KaWYoICRqb2IgPT0gJ2RlbCcgKQ0Kew0KICAgICAgICAkcXVlcnkgPSAiREVMRVRFIEZyb20gYCNAX19ib29rZmVlZGJhY2tgIFdIRVJFIGlkIGluKCRpZHMpICI7DQogICAgICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgICAgIFNob3dNc2coIrPJuabJvrP91ri2qLXExsDC2yEiLCRfQ09PS0lFWydFTlZfR09CQUNLX1VSTCddLDAsNTAwKTsNCiAgICAgICAgZXhpdCgpOw0KfQ0KLy/JvrP9z+DNrElQtcTL+dPQxsDC2w0KZWxzZSBpZiggJGpvYiA9PSAnZGVsYWxsJyApDQp7DQogICAgICAgICRkc3FsLT5TZXRRdWVyeSgiU0VMRUNUIGlwIEZST00gYCNAX19ib29rZmVlZGJhY2tgIFdIRVJFIGlkIGluICgkaWRzKSAiKTsNCiAgICAgICAgJGRzcWwtPkV4ZWN1dGUoKTsNCiAgICAgICAgJGlwcyA9ICcnOw0KICAgICAgICB3aGlsZSgkcm93ID0gJGRzcWwtPkdldEFycmF5KCkpDQogICAgICAgIHsNCiAgICAgICAgICAgICRpcHMgLj0gKCRpcHM9PScnID8gIiBpcCA9ICd7JHJvd1snaXAnXX0nICIgOiAiIE9SIGlwID0gJ3skcm93WydpcCddfScgIik7DQogICAgICAgIH0NCiAgICAgICAgaWYoJGlwcyE9JycpDQogICAgICAgIHsNCiAgICAgICAgICAgICRxdWVyeSA9ICJERUxFVEUgRlJPTSBgI0BfX2Jvb2tmZWVkYmFja2AgV0hFUkUgJGlwcyAiOw0KICAgICAgICAgICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJHF1ZXJ5KTsNCiAgICAgICAgfQ0KICAgICAgICBTaG93TXNnKCKzybmmyb6z/da4tqjP4M2sSVC1xMv509DGwMLbISIsICRfQ09PS0lFWydFTlZfR09CQUNLX1VSTCddLCAwLCA1MDApOw0KICAgICAgICBleGl0KCk7DQp9DQovL8nzusvGwMLbDQplbHNlIGlmKCRqb2I9PSdjaGVjaycpDQp7DQogICAgICAgICRxdWVyeSA9ICJVUERBVEUgYCNAX19ib29rZmVlZGJhY2tgIFNFVCBpc2NoZWNrPTEgV0hFUkUgaWQgaW4oJGlkcykgIjsNCiAgICAgICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJHF1ZXJ5KTsNCiAgICAgICAgU2hvd01zZygis8m5psnzusvWuLaoxsDC2yEiLCAkX0NPT0tJRVsnRU5WX0dPQkFDS19VUkwnXSwgMCwgNTAwKTsNCiAgICAgICAgZXhpdCgpOw0KfQ0KLy/kr8DAxsDC2w0KZWxzZQ0Kew0KICAgICRiZ2NvbG9yID0gJyc7DQogICAgJHR5cGVpZCA9IGlzc2V0KCR0eXBlaWQpICYmIGlzX251bWVyaWMoJHR5cGVpZCkgPyAkdHlwZWlkIDogMDsNCiAgICAkYWlkID0gaXNzZXQoJGFpZCkgJiYgaXNfbnVtZXJpYygkYWlkKSA/ICRhaWQgOiAwOw0KICAgICRrZXl3b3JkID0gIWlzc2V0KCRrZXl3b3JkKSA/ICcnIDogJGtleXdvcmQ7DQogICAgJGlwID0gIWlzc2V0KCRpcCkgPyAnJyA6ICRpcDsNCiAgICANCiAgICAkdGwgPSBuZXcgVHlwZUxpbmsoJHR5cGVpZCk7DQogICAgJG9wZW5hcnJheSA9ICR0bC0+R2V0T3B0aW9uQXJyYXkoJHR5cGVpZCwkYWRtaW5fY2F0YWxvZ3MsMCk7DQogICAgDQogICAgJGFkZHNxbCA9ICgkdHlwZWlkICE9IDAgID8gIiBBbmQgdHlwZWlkIGluICgiLkdldFNvbklkcygkdHlwZWlkKS4iKSIgOiAnJyk7DQogICAgJGFkZHNxbCAuPSAoJGFpZCAhPSAwICA/ICIgQW5kIGFpZD0kYWlkICIgOiAnJyk7DQogICAgJGFkZHNxbCAuPSAoJGlwICE9ICcnICA/ICIgQW5kIGlwIGxpa2UgJyRpcCcgIiA6ICcnKTsNCiAgICAkcXVlcnlzdHJpbmcgPSAiU0VMRUNUICogRlJPTSBgI0BfX2Jvb2tmZWVkYmFja2AgV0hFUkUgbXNnIGxpa2UgJyUka2V5d29yZCUnICRhZGRzcWwgT1JERVIgQlkgZHRpbWUgREVTQyI7DQogICAgDQogICAgJGRsaXN0ID0gbmV3IERhdGFMaXN0Q1AoKTsNCiAgICAkZGxpc3QtPnBhZ2VTaXplID0gMTU7DQogICAgJGRsaXN0LT5TZXRQYXJhbWV0ZXIoJ2FpZCcsICRhaWQpOw0KICAgICRkbGlzdC0+U2V0UGFyYW1ldGVyKCdpcCcsICRpcCk7DQogICAgJGRsaXN0LT5TZXRQYXJhbWV0ZXIoJ3R5cGVpZCcsICR0eXBlaWQpOw0KICAgICRkbGlzdC0+U2V0UGFyYW1ldGVyKCdrZXl3b3JkJywgJGtleXdvcmQpOw0KICAgICRkbGlzdC0+U2V0VGVtcGxhdGUoREVERUFETUlOLiAnL3RlbXBsZXRzL3N0b3J5X2ZlZWRiYWNrX21haW4uaHRtJyk7DQogICAgJGRsaXN0LT5TZXRTb3VyY2UoJHF1ZXJ5c3RyaW5nKTsNCiAgICAkZGxpc3QtPkRpc3BsYXkoKTsNCn0NCg==
PD9waHANCg0KLyoqDQogKiBFbnRlciBkZXNjcmlwdGlvbiBoZXJlLi4uDQogKg0KICogQGF1dGhvciBBZG1pbmlzdHJhdG9yDQogKiBAcGFja2FnZSBkZWZhdWx0UGFja2FnZQ0KICogQHJjc2ZpbGUgCSRSQ1NmaWxlOiBtYWtlaHRtbF9zdG9yeS5waHAsdiAkDQogKiBAcmV2aXNpb24gCSRSZXZpc2lvbjogMS4xICQNCiAqIEBkYXRlIAkkRGF0ZTogMjAwOC8xMi8xMSAwMjowOTo1NSAkDQogKi8NCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVST09ULicvYm9vay9pbmNsdWRlL3N0b3J5LnZpZXcuY2xhc3MucGhwJyk7DQpDaGVja1B1cnZpZXcoJ3N5c19NYWtlSHRtbCcpOw0KaWYoIWlzc2V0KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQppZihlbXB0eSgkc3RhcnRpZCkpICRzdGFydGlkID0gMDsNCg0KLy+4/NDCSFRNTLLZ1/cNCmlmKCRhY3Rpb249PSdtYWtlJykNCnsNCglpZihlbXB0eSgkc3RhcnQpKSAkc3RhcnQgPSAwOw0KCSRhZGRxdWVyeSA9ICIgYmlkPj0nJHN0YXJ0aWQnICI7DQoJaWYoIWVtcHR5KCRlbmRpZCkgJiYgJGVuZGlkPiRzdGFydGlkICkgJGFkZHF1ZXJ5IC49ICIgQW5kIGJpZDw9JyRlbmRpZCcgIjsNCglpZighZW1wdHkoJGNhdGlkKSkgJGFkZHF1ZXJ5IC49ICIgQW5kIChjYXRpZD0nJGNhdGlkJyBPciBiY2F0aWQ9JyRjYXRpZCcpICI7DQoJaWYoZW1wdHkoJG1ha2VudW0pKSAkbWFrZW51bSA9IDUwOw0KCSRkc3FsLT5TZXRRdWVyeSgiU2VsZWN0IFNRTF9DQUxDX0ZPVU5EX1JPV1MgYmlkIEZyb20gI0BfX3N0b3J5X2Jvb2tzIHdoZXJlICRhZGRxdWVyeSBsaW1pdCAkc3RhcnQsJG1ha2VudW0gIik7DQoJJGRzcWwtPkV4ZWN1dGUoKTsNCgkkbiA9IDA7DQoJJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBGT1VORF9ST1dTKCkgYXMgZGQgIik7DQoJJGxpbWl0cm93ID0gJHJvd1snZGQnXTsNCgl3aGlsZSgkcm93ID0gJGRzcWwtPkdldE9iamVjdCgpKXsNCgkJJHN0YXJ0Kys7DQoJCSRidiA9IG5ldyBCb29rVmlldygkcm93LT5iaWQsJ2Jvb2snKTsNCgkJJGFydFVybCA9ICRidi0+TWFrZUh0bWwoZmFsc2UpOw0KCQkvL2VjaG8gIrj80MI6IDxhIGhyZWY9JyRhcnRVcmwnIHRhcmdldD0nX2JsYW5rJz57JGJ2LT5GaWVsZHNbJ2Jvb2tuYW1lJ119PC9hPiBPS6OhPGJyIC8+XHJcbiI7DQoJCS8vZWNobyAkcm93LT5iaWQuIiAtICI7DQoJfQ0KCWlmKCRzdGFydD49JGxpbWl0cm93KXsNCgkJU2hvd01zZygizeqzycv509BIVE1MtcS4/NDCo6EiLCJqYXZhc2NyaXB0OjsiKTsNCgl9DQoJZWxzZXsNCgkJJGhhc01ha2UgPSAkbGltaXRyb3cgLSAkc3RhcnQ7DQoJCWlmKCRsaW1pdHJvdz4wKSAkcHJvcG9ydGlvbiA9IDEwMCAtIGNlaWwoKCRoYXNNYWtlIC8gJGxpbWl0cm93KSAqIDEwMCk7DQoJCVNob3dNc2coItLRuPzQwtbBo7p7JHByb3BvcnRpb259JSC8zND4uPzQwsbky/zE2sjdLi4uIiwibWFrZWh0bWxfc3RvcnkucGhwP3N0YXJ0PXskc3RhcnR9JmFjdGlvbj1tYWtlJnN0YXJ0aWQ9eyRzdGFydGlkfSZlbmRpZD17JGVuZGlkfSZjYXRpZD17JGNhdGlkfSZtYWtlbnVtPXskbWFrZW51bX0iKTsNCgl9DQoJZXhpdCgpOw0KfQ0KLy+2wcihy/nT0MC4xL8NCiRkc3FsLT5TZXRRdWVyeSgiU2VsZWN0IGlkLGNsYXNzbmFtZSxwaWQscmFuayxib29rdHlwZSBGcm9tICNAX19zdG9yeV9jYXRhbG9nIG9yZGVyIGJ5IHJhbmsgYXNjIik7DQokZHNxbC0+RXhlY3V0ZSgpOw0KJHJhbmtzID0gQXJyYXkoKTsNCiRidHlwZXMgPSBBcnJheSgpOw0KJHN0eXBlcyA9IEFycmF5KCk7DQokYm9va3R5cGVzID0gQXJyYXkoKTsNCndoaWxlKCRyb3cgPSAkZHNxbC0+R2V0QXJyYXkoKSl7DQoJaWYoJHJvd1sncGlkJ109PTApICRidHlwZXNbJHJvd1snaWQnXV0gPSAkcm93WydjbGFzc25hbWUnXTsNCgllbHNlICRzdHlwZXNbJHJvd1sncGlkJ11dWyRyb3dbJ2lkJ11dID0gJHJvd1snY2xhc3NuYW1lJ107DQoJJHJhbmtzWyRyb3dbJ2lkJ11dID0gJHJvd1sncmFuayddOw0KCWlmKCRyb3dbJ2Jvb2t0eXBlJ109PScwJykgJGJvb2t0eXBlc1skcm93WydpZCddXSA9ICfQocu1JzsNCgllbHNlICRib29rdHlwZXNbJHJvd1snaWQnXV0gPSAnwv67rSc7DQp9DQokbGFzdGlkID0gJHJvd1snaWQnXTsNCg0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvdGVtcGxldHMvbWFrZWh0bWxfc3RvcnkuaHRtIik7DQoNCj8+
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+0MLU9sGs1NjNvMrpPC90aXRsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoyOw0KCWJhY2tncm91bmQtY29sb3I6ICNGMkZEREI7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBjbGFzcz0idGJ0aXRsZSIgc3R5bGU9IgliYWNrZ3JvdW5kOiNDRkNGQ0Y7Ij4NCgkJPHRyPg0KCQkJCTx0ZCBiZ2NvbG9yPSIjRURGOUQ1IiBiYWNrZ3JvdW5kPSJpbWFnZXMvdGJnLmdpZiIgY2xhc3M9InRidGl0bGV0eHQiPiANCgkJCQk8dGFibGUgd2lkdGg9Jzk2JScgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPg0KICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQgd2lkdGg9JzMwJScgY2xhc3M9InRidGl0bGV0eHQiPjxzdHJvbmc+0MLU9s28yuk8L3N0cm9uZz48L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQgYWxpZ249J3JpZ2h0Jz4NCgkJCQkJWzxhIGhyZWY9InN0b3J5X2Jvb2tzLnBocCI+PHU+zbzK6cHQse08L3U+PC9hPl0NCgkJCQkJJm5ic3A7DQoJCQkJCVs8YSBocmVmPSJzdG9yeV9jYXRhbG9nLnBocCI+PHU+wLjEv7ncwO08L3U+PC9hPl0NCgkJCQkJPC90ZD4NCiAgICAgICAgICAgPC90cj4NCiAgICAgICAgIDwvdGFibGU+DQogICAgICAgPC90ZD4NCiAgPC90cj4NCjwvdGFibGU+DQo8Zm9ybSBuYW1lPSdmb3JtMScgYWN0aW9uPSdzdG9yeV9hZGRfYWN0aW9uLnBocCcgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSdwb3N0JyBvblN1Ym1pdD0icmV0dXJuIGNoZWNrU3VibWl0QWRkKCk7Ij4JCQkNCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgc3R5bGU9IiBib3JkZXI6MXB4IHNvbGlkICNDRkNGQ0Y7bGluZS1oZWlnaHQ6MzFweDttYXJnaW46YXV0bztib3JkZXItdG9wOm5vbmU7Ij4NCgkJPHRyPg0KCQkgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZDojZmZmZmZmO3BhZGRpbmc6N3B4IDZweCA2cHggMTBweDsiID4NCgkJICA8Zm9udCBjb2xvcj0ncmVkJz48P3BocCBlY2hvICRtc2c7ID8+PC9mb250Pg0KCQkgIDwvdGQ+DQogIDwvdHI+DQo8dHI+DQo8dGQgaGVpZ2h0PSIxMTYiIGJnY29sb3I9IiNGRkZGRkYiIHN0eWxlPSJwYWRkaW5nOjdweCA2cHggNnB4IDEwcHg7IiA+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICA8dHI+DQogICAgPHRkIHdpZHRoPSIxMDAiIGNsYXNzPSJibGluZSIgc3R5bGU9IndpZHRoOjEwMHB4Ij7NvMrpwaXK9MC4xL+jujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+DQogICAgPHNlbGVjdCBuYW1lPSJjYXRpZCIgaWQ9ImNhdGlkIiBzdHlsZT0id2lkdGg6MjAwcHgiPg0KICAgIDxvcHRpb24gdmFsdWU9JzAnPsfr0aHU8cC4xL88L29wdGlvbj4NCiAgICA8P3BocA0KICAgIGlmKCFpc3NldCgkY2F0aWQpKSAkY2F0aWQgPSAwOw0KICAgIGZvcmVhY2goJGJ0eXBlcyBhcyAkaz0+JHYpew0KICAgIAlpZigkY2F0aWQhPSRrKSBlY2hvICI8b3B0aW9uIHZhbHVlPSckayc+W3skYm9va3R5cGVzWyRrXX1dJHY8L29wdGlvbj5cclxuIjsNCiAgICAJZWxzZSBlY2hvICI8b3B0aW9uIHZhbHVlPSckaycgc2VsZWN0ZWQ+W3skYm9va3R5cGVzWyRrXX1dJHY8L29wdGlvbj5cclxuIjsNCiAgICAJZm9yZWFjaCgkc3R5cGVzWyRrXSBhcyAka2s9PiR2dil7DQogICAgCQlpZigkY2F0aWQhPSRraykgIGVjaG8gIjxvcHRpb24gdmFsdWU9JyRrayc+IC0tW3skYm9va3R5cGVzWyRrXX1dJHZ2PC9vcHRpb24+XHJcbiI7DQogICAgCQllbHNlIGVjaG8gIjxvcHRpb24gdmFsdWU9JyRraycgc2VsZWN0ZWQ+IC0tW3skYm9va3R5cGVzWyRrXX1dJHZ2PC9vcHRpb24+XHJcbiI7DQogICAgCX0NCiAgICB9DQogICAgPz4NCiAgICA8L3NlbGVjdD4gICAgPC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjbGFzcz0iYmxpbmUiPs28yunD+7PGo7o8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiPjxpbnB1dCBuYW1lPSJib29rbmFtZSIgdHlwZT0idGV4dCIgaWQ9ImJvb2tuYW1lIiBzaXplPSIzNSIgY2xhc3M9J2FsbHR4dCcgLz4NCiAgICAgIKGhDQogICAgICA8aW5wdXQgbmFtZT0iaXNjb21tZW5kIiB0eXBlPSJjaGVja2JveCIgaWQ9ImlzY29tbWVuZCIgdmFsdWU9IjEiIGNsYXNzPSducCcgLz4NCiAgICAgIM3GvPY8L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMzIiIGNsYXNzPSJibGluZSI+w+K30dXCvdrK/aO6PC90ZD4NCiAgICA8dGQgY2xhc3M9ImJsaW5lIj4NCiAgICAJPGlucHV0IG5hbWU9ImZyZWVudW0iIHR5cGU9InRleHQiIGlkPSJmcmVlbnVtIiBzaXplPSI1IiB2YWx1ZT0iPD9waHAgZWNobyAkY2ZnX2Jvb2tfZnJlZW51bTsgPz4iIGNsYXNzPSdhbGx0eHQnIC8+DQogICAgICAoLTEgse3Kvsirsr/D4rfRo6wwILHtyr7Iq7K/ytW30SkgDQogICAgPC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBzdHlsZT0id2lkdGg6MTAwcHgiIGNsYXNzPSJibGluZSI+w+K30dTEtsHL+dPQPGJyLz7E2sjdu+HUsby2sfCjujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+DQogICAgPHNlbGVjdCBuYW1lPSJhcmNyYW5rIiBpZD0iYXJjcmFuayIgc3R5bGU9IndpZHRoOjE1MHB4Ij4NCiAgICAgIDw/cGhwDQogICAgCSR1cmFuayA9ICRjdXNlckxvZ2luLT5nZXRVc2VyUmFuaygpOw0KICAgIAkkZHNxbC0+U2V0UXVlcnkoIlNlbGVjdCAqIGZyb20gYCNAX19hcmNyYW5rYCB3aGVyZSBhZG1pbnJhbms8PSckdXJhbmsnIik7DQogICAgCSRkc3FsLT5FeGVjdXRlKCk7DQogICAgCXdoaWxlKCRyb3cgPSAkZHNxbC0+R2V0T2JqZWN0KCkpDQogICAgCXsNCiAgICAgIAkJZWNobyAiPG9wdGlvbiB2YWx1ZT0nIi4kcm93LT5yYW5rLiInPiIuJHJvdy0+bWVtYmVybmFtZS4iPC9vcHRpb24+XHJcbiI7DQogICAgCX0NCiAgICAgID8+DQogICAgPC9zZWxlY3Q+DQogICAgPC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjExNCIgY2xhc3M9ImJsaW5lIj7NvMrpt+LD5s28xqyjujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZCB3aWR0aD0iNzUlIiBoZWlnaHQ9IjgxIj48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIxIj4NCiAgICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGQgaGVpZ2h0PSIzMCI+ILG+tdjWsb3Tyc+0q8frteO796Gw5K/AwKGxsLTFpQ0KICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0ibGl0cGljIiB0eXBlPSJmaWxlIiBpZD0ibGl0cGljIiBzdHlsZT0id2lkdGg6MjAwcHgiIG9uY2hhbmdlPSJTZWVQaWMoJE9iaigncGljdmlldycpLCRPYmooJ2xpdHBpYycpKTsiIC8+PC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjMwIj48aW5wdXQgbmFtZT0ibGl0cGljbmFtZSIgdHlwZT0idGV4dCIgaWQ9ImxpdHBpY25hbWUiIHN0eWxlPSJ3aWR0aDoyNTBweCIgY2xhc3M9J2FsbHR4dCcgLz4NCiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImJ1dHRvbiIgbmFtZT0iU3VibWl0MjIiIHZhbHVlPSLU2s341b7E2tGh1PEiIHN0eWxlPSJ3aWR0aDoxMjBweCIgY2xhc3M9J25wIGNvb2xiZycgb25jbGljaz0iU2VsZWN0SW1hZ2UoJ2Zvcm0xLmxpdHBpY25hbWUnLCdzbWFsbCcpOyIgLz48L3RkPg0KICAgICAgICAgIDwvdHI+DQogICAgICAgIDwvdGFibGU+PC90ZD4NCiAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjxpbWcgc3JjPSJpbWFnZXMvcHZpZXcuZ2lmIiB3aWR0aD0iMTUwIiBpZD0icGljdmlldyIgbmFtZT0icGljdmlldyIgLz48L3RkPg0KICAgICAgPC90cj4NCiAgICA8L3RhYmxlPjwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIzMiIgY2xhc3M9ImJsaW5lIj6z9cq8u6/K/b7do7o8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiPjx0YWJsZSB3aWR0aD0iODUlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD7X99Xfo7oNCiAgICAgICAgICA8aW5wdXQgbmFtZT0iYXV0aG9yIiB0eXBlPSJ0ZXh0IiBpZD0iYXV0aG9yIiBzdHlsZT0id2lkdGg6MTIwcHgiIGNsYXNzPSdhbGx0eHQnIHZhbHVlPSI8P3BocCBlY2hvICR3cml0ZXI7ID8+Ii8+DQogICAgICAgICAgPGlucHV0IG5hbWU9InNlbHdyaXRlciIgdHlwZT0iYnV0dG9uIiBpZD0ic2Vsd3JpdGVyIiB2YWx1ZT0i0aHU8SIvPjwvdGQ+DQogICAgICAgIDx0ZD7Jz7zcyrG85KO6DQogICAgICAgICAgPGlucHV0IG5hbWU9InB1YmRhdGUiIHR5cGU9InRleHQiIGlkPSJwdWJkYXRlIiB2YWx1ZT0iPD9waHAgZWNobyBHZXREYXRlVGltZU1rKHRpbWUoKSk7ID8+IiBjbGFzcz0nYWxsdHh0Jy8+PC90ZD4NCiAgICAgICAgPHRkPrXju/fBv6O6DQogICAgICAgICAgPGlucHV0IG5hbWU9ImNsaWNrIiB0eXBlPSJ0ZXh0IiBpZD0iY2xpY2siIHNpemU9IjUiIHZhbHVlPSIwIiBjbGFzcz0nYWxsdHh0JyAvPjwvdGQ+DQogICAgICA8L3RyPg0KICAgIDwvdGFibGU+PC90ZD4NCiAgICA8L3RyPg0KICA8dHIgaGVpZ2h0PSIzMiI+DQogICAgPHRkIGNsYXNzPSJibGluZSI+udi8/NfWo7o8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiPjxpbnB1dCBuYW1lPSJrZXl3b3JkcyIgdHlwZT0idGV4dCIgaWQ9ImtleXdvcmRzIiB2YWx1ZT0iPD9waHAgZWNobyAka2V5d29yZHM7ID8+IiBzaXplPSI0MCIgLz4gyta2r8zu0LTTwyIsIrfWv6oNCiAgICAgIDxpbnB1dCB0eXBlPSJidXR0b24iIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IuSvwMAuLi4iIHN0eWxlPSJ3aWR0aDo1NjtoZWlnaHQ6MjAiIG9uQ2xpY2s9IlNlbGVjdEtleXdvcmRzKCdmb3JtMS5rZXl3b3JkcycpOyIgLz48L3RkPg0KICAgIDwvdHI+DQogIDx0ciBoZWlnaHQ9IjgwIj4NCiAgICA8dGQgY2xhc3M9ImJsaW5lIj7VqqGh0qqjujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+PHRleHRhcmVhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb2xzPSI4MCIgcm93cz0iMyIgaWQ9ImRlc2NyaXB0aW9uIj48L3RleHRhcmVhPjwvdGQ+DQogICAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjbGFzcz0iYmxpbmUiPr7fzOW96cnco7o8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiPiZuYnNwOzwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSI4MiIgY29sc3Bhbj0iMiI+DQogIDw/cGhwIA0KCUdldEVkaXRvcigiYm9keSIsIiIsMzAwKTsNCgk/Pg0KCSAgPC90ZD4NCiAgICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iNzAiPiZuYnNwOzwvdGQ+DQogICAgPHRkPg0KICAgIAk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTdWJtaXQiIHZhbHVlPSKxoyC05iIgY2xhc3M9J25wIGNvb2xiZycgLz6hoaGhDQogICAgICA8aW5wdXQgdHlwZT0icmVzZXQiIG5hbWU9IlN1Ym1pdDIiIHZhbHVlPSLW2CDWwyIgY2xhc3M9J25wIGNvb2xiZycgLz4NCiAgICA8L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjwvZm9ybT4NCjwvZGl2Pg0KPHNjcmlwdCBsYW5ndWFnZT0namF2YXNjcmlwdCc+SW5pdFBhZ2UoKTs8L3NjcmlwdD4NCjwvYm9keT4NCjwvaHRtbD4=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+0MLU9sGs1NjE2sjdPC90aXRsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoyOw0KCWJhY2tncm91bmQtY29sb3I6ICNGMkZEREI7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQoNCjwvaGVhZD4NCjxib2R5IGJhY2tncm91bmQ9J2ltYWdlcy9hbGxiZy5naWYnIGxlZnRtYXJnaW49JzgnIHRvcG1hcmdpbj0nOCc+DQo8ZGl2IGNsYXNzPSJib2R5dGl0bGUiPg0KCTxkaXYgY2xhc3M9ImJvZHl0aXRsZWxlZnQiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImJvZHl0aXRsZXR4dCI+0KHLtbncwO08L2Rpdj4NCjwvZGl2Pg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBjbGFzcz0idGJ0aXRsZSIgc3R5bGU9ImJhY2tncm91bmQ6I0NGQ0ZDRjsiPg0KCTx0cj4NCgk8dGQgYmdjb2xvcj0iI0VERjlENSIgY2xhc3M9InRidGl0bGV0eHQiPiANCgkgIDx0YWJsZSB3aWR0aD0nOTYlJyBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPScwJyBjZWxsc3BhY2luZz0nMCc+DQogICAgIDx0cj4NCiAgICAgPHRkIHdpZHRoPSczMCUnIGNsYXNzPSJ0YnRpdGxldHh0Ij48c3Ryb25nPsTayN0o0KHLtcDgKSZndDsmZ3Q71Pa809XCvdrE2sjdPC9zdHJvbmc+PC90ZD4NCiAgICAgPHRkIGFsaWduPSdyaWdodCc+DQoJCQlbPGEgaHJlZj0ic3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9PD9waHAgZWNobyAkYm9va2lkOyA/PiI+PHU+sb7NvMrpxNrI3cHQse08L3U+PC9hPl0NCgkJCSZuYnNwOwkNCgkJCVs8YSBocmVmPSJzdG9yeV9ib29rcy5waHAiPjx1Psv509DNvMrpPC91PjwvYT5dDQoJCQk8L3RkPg0KICAgICA8L3RyPg0KICAgIDwvdGFibGU+DQogIDwvdGQ+DQogPC90cj4NCjwvdGFibGU+DQo8Zm9ybSBuYW1lPSdmb3JtMScgYWN0aW9uPSdzdG9yeV9hZGRfY29udGVudF9hY3Rpb24ucGhwJyBtZXRob2Q9J3Bvc3QnIG9uU3VibWl0PSJyZXR1cm4gY2hlY2tTdWJtaXRBZGRDdCgpOyI+CQkNCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2tpZCcgdmFsdWU9Jzw/cGhwIGVjaG8gJGJvb2tpZDsgPz4nIC8+CQ0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nY2F0aWQnIHZhbHVlPSc8P3BocCBlY2hvICRjYXRpZDsgPz4nIC8+DQo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29rbmFtZScgdmFsdWU9Jzw/cGhwIGVjaG8gc3RyX3JlcGxhY2UoIiciLCJgIiwkYm9va25hbWUpOyA/PicgLz4NCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2t0eXBlJyB2YWx1ZT0nPD9waHAgZWNobyAkYm9va3R5cGU7ID8+JyAvPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iIGJvcmRlcjoxcHggc29saWQgI0NGQ0ZDRjtsaW5lLWhlaWdodDozMXB4O21hcmdpbjphdXRvOyI+DQoJCTx0cj4NCgkJICA8dGQgc3R5bGU9ImJhY2tncm91bmQ6I0Y5RkZFNjtwYWRkaW5nOjdweCA2cHggNnB4IDEwcHg7IiA+DQoJCSAgPGZvbnQgY29sb3I9J3JlZCc+PD9waHAgZWNobyAkbXNnOyA/PjwvZm9udD4NCgkJICA8L3RkPg0KICA8L3RyPg0KPHRyPg0KPHRkIGhlaWdodD0iMTE2IiBiZ2NvbG9yPSIjRkZGRkZGIiBzdHlsZT0icGFkZGluZzowcHggNnB4IDZweCAxMHB4OyI+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMzIiIGNsYXNzPSJibGluZSI+0KG92rHqzOKjujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+PGlucHV0IG5hbWU9InRpdGxlIiB0eXBlPSJ0ZXh0IiBpZD0idGl0bGUiIHNpemU9IjM1IiBjbGFzcz0nYWxsdHh0JyAvPjwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgc3R5bGU9IndpZHRoOjEyMHB4IiBjbGFzcz0iYmxpbmUiPsGlyvTNvMrpw/uzxqO6PC90ZD4NCiAgICA8dGQgY2xhc3M9ImJsaW5lIj4NCiAgICAJPD9waHAgZWNobyAkYm9va25hbWU7ID8+DQogICAgPC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjbGFzcz0iYmxpbmUiPg0KICAgIMGlyvTVwr3ao7o8YnIgLz4NCgkgIDxpbnB1dCBuYW1lPSJhZGRjaGFwdGVyIiB0eXBlPSJjaGVja2JveCIgb25DbGljaz0iU2hvd0hpZGVTZWxDaGFwdGVyKCdzZWxjaGFwJywnbmV3Y2hhcCcpIiBpZD0iYWRkY2hhcHRlciIgdmFsdWU9IjEiDQoJICA8P3BocCBlY2hvKGNvdW50KCRjaGFwdGVycyk+MCA/ICIiIDogIiBjaGVja2VkPScxJyIpOyA/PiBjbGFzcz0nbnAnIC8+DQogICAgzO2809DC1cK92g0KICAgIDwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSIgc3R5bGU9InBhZGRpbmctdG9wOjVweDtwYWRkaW5nLWJvdHRvbTo1cHgiPg0KICAgIDxzcGFuIGlkPSdzZWxjaGFwJyBzdHlsZT0iPD9waHAgZWNobyhjb3VudCgkY2hhcHRlcnMpPjAgPyAiZGlzcGxheTpibG9jayIgOiAiZGlzcGxheTpub25lIik7ID8+Ij4NCiAgICA8c2VsZWN0IG5hbWU9ImNoYXB0ZXJpZCIgc2l6ZT0iNSIgaWQ9ImNoYXB0ZXJpZCIgc3R5bGU9IndpZHRoOjI1MHB4Ij4NCiAgICAJPD9waHANCiAgICAJJG9rID0gZmFsc2U7DQogICAgCWZvcmVhY2goJGNoYXB0ZXJzIGFzICRrPT4kdil7DQogICAgCQlpZighJG9rKXsgJG9rPXRydWU7IGVjaG8gIiAgICA8b3B0aW9uIHZhbHVlPSckaycgc2VsZWN0ZWQ+tdp7JGNoYXBudW1zWyRrXX3VwiAkdjwvb3B0aW9uPlxyXG4iOyB9DQogICAgCQllbHNlIGVjaG8gIiAgICA8b3B0aW9uIHZhbHVlPSckayc+tdp7JGNoYXBudW1zWyRrXX3VwiAkdjwvb3B0aW9uPlxyXG4iOw0KICAgIAl9DQogICAgCT8+DQogICAgPC9zZWxlY3Q+DQoJPC9zcGFuPg0KICAgIDxzcGFuIGlkPSJuZXdjaGFwIiBzdHlsZT0iPD9waHAgZWNobyhjb3VudCgkY2hhcHRlcnMpPjAgPyAiZGlzcGxheTpub25lIiA6ICJkaXNwbGF5OmJsb2NrIik7ID8+Ij4NCgnQwtXCvdrD+7PGo7oNCiAgICAgICAgICA8aW5wdXQgbmFtZT0iY2hhcHRlcm5ldyIgdHlwZT0idGV4dCIgaWQ9ImNoYXB0ZXJuZXciIHNpemU9IjMwIiB2YWx1ZT0ixKzIz9XCvdoiIGNsYXNzPSdhbGx0eHQnIC8+DQogICAgICAgICAgPGJyIC8+DQqjqMjnufvDu9PQv8nRodXCvdq78tLR09DVwr3a0tG+rb3hyvijrMfrzO7QtNDC1cK92sP7s8ajrMP7s8bJz7K70Oi806GwtdpY1cKhsdXi0fm1xNfW0fmjqQ0KCTwvc3Bhbj4NCgk8L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMzIiIGNsYXNzPSJibGluZSI+1cK92sTayN2jujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+Jm5ic3A7PC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjgyIiBjb2xzcGFuPSIyIj4NCiAgPD9waHAgDQoJR2V0RWRpdG9yKCJib2R5IiwiIiwzMDAsIkRpeSIpOw0KCT8+DQoJPC90ZD4NCiAgICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iNzAiPiZuYnNwOzwvdGQ+DQogICAgPHRkPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IrGjILTmIiBjbGFzcz0nbnAgY29vbGJnJyAvPqGhoaENCiAgICAgIDxpbnB1dCB0eXBlPSJyZXNldCIgbmFtZT0iU3VibWl0MiIgdmFsdWU9ItbYINbDIiBjbGFzcz0nbnAgY29vbGJnJyAvPjwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjwvZm9ybT4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+0MLU9sGs1NjE2sjdPC90aXRsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoyOw0KCWJhY2tncm91bmQtY29sb3I6ICNGMkZEREI7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQoNCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KZnVuY3Rpb24gQ2hlY2tTZWxUYWJsZShubnVtKXsNCgl2YXIgY2JveCA9ICRPYmooJ2lzb2tjaGVjaycrbm51bSk7DQoJdmFyIHNlbHRiID0gJE9iaignc2VsdGInK25udW0pOw0KCWlmKGNib3guY2hlY2tlZCkgc2VsdGIuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCgllbHNlIHNlbHRiLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KfQ0KDQp2YXIgc3RhcnROdW0gPSAxOw0KZnVuY3Rpb24gTWFrZVVwbG9hZChtbnVtKQ0Kew0KICAgdmFyIGVuZE51bSA9IDA7DQogICB2YXIgdXBmaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGxvYWRmaWVsZCIpOw0KICAgdmFyIHBudW1PYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGljbnVtIik7DQogICB2YXIgZmh0bWwgPSAiIjsNCiANCiAgIGlmKG1udW09PTApIGVuZE51bSA9IHN0YXJ0TnVtICsgTnVtYmVyKHBudW1PYmoudmFsdWUpOw0KICAgZWxzZSBlbmROdW0gPSBtbnVtOw0KICAgaWYoZW5kTnVtPjEyMCkgZW5kTnVtID0gMTIwOw0KICAgDQogICBmb3Ioc3RhcnROdW07c3RhcnROdW0gPCBlbmROdW07c3RhcnROdW0rKyl7DQoJICAgZmh0bWwgPSAiIjsNCgkgICBmaHRtbCArPSAiPHRhYmxlIHdpZHRoPSc5MCUnPjx0cj48dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdpc29rY2hlY2siK3N0YXJ0TnVtKyInIGlkPSdpc29rY2hlY2siK3N0YXJ0TnVtKyInIHZhbHVlPScxJyBjbGFzcz0nbnAnIG9uQ2xpY2s9J0NoZWNrU2VsVGFibGUoIitzdGFydE51bSsiKSc+z9TKvi/S/rLYzbzGrFsiK3N0YXJ0TnVtKyJdtcTRob/yPC90ZD48L3RyPjwvdGFibGU+IjsNCgkgICBmaHRtbCArPSAiPHRhYmxlIHdpZHRoPVwiOTAlXCIgYm9yZGVyPVwiMFwiIGlkPVwic2VsdGIiK3N0YXJ0TnVtKyJcIiBjZWxscGFkZGluZz1cIjFcIiBjZWxsc3BhY2luZz1cIjFcIiBiZ2NvbG9yPVwiI0U4RjVENlwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTo2cHg7bWFyZ2luLWxlZnQ6MTBweFwiPjx0b2JkeT4iOw0KCSAgIGZodG1sICs9ICI8dHIgYmdjb2xvcj1cIiNGNEY5RERcIj5cclxuIjsNCgkgICBmaHRtbCArPSAiPHRkIGhlaWdodD1cIjI1XCIgY29sc3Bhbj1cIjJcIj6hoTxzdHJvbmc+zbzGrCIrc3RhcnROdW0rIqO6PC9zdHJvbmc+PC90ZD4iOw0KCSAgIGZodG1sICs9ICI8L3RyPiI7DQoJICAgZmh0bWwgKz0gIjx0ciBiZ2NvbG9yPVwiI0ZGRkZGRlwiPiAiOw0KCSAgIGZodG1sICs9ICI8dGQgd2lkdGg9XCI3MCVcIiBoZWlnaHQ9XCIyNVwiPiChobG+tdjJz7Sro7ogIjsNCgkgICBmaHRtbCArPSAiPGlucHV0IHR5cGU9XCJmaWxlXCIgbmFtZT0naW1nZmlsZSIrc3RhcnROdW0rIicgc3R5bGU9XCJ3aWR0aDozMzBweFwiICBvbkNoYW5nZT1cIlNlZVBpYyhkb2N1bWVudC5waWN2aWV3IitzdGFydE51bSsiLGRvY3VtZW50LmZvcm0xLmltZ2ZpbGUiK3N0YXJ0TnVtKyIpO1wiPjwvdGQ+IjsNCgkgICBmaHRtbCArPSAiPHRkIHJvd3NwYW49XCIzXCIgYWxpZ249XCJjZW50ZXJcIj48aW1nIHNyYz1cImltYWdlcy9wdmlldy5naWZcIiB3aWR0aD1cIjE1MFwiIGlkPVwicGljdmlldyIrc3RhcnROdW0rIlwiIG5hbWU9XCJwaWN2aWV3IitzdGFydE51bSsiXCI+PC90ZD4iOw0KCSAgIGZodG1sICs9ICI8L3RyPiI7DQoJICAgZmh0bWwgKz0gIjx0ciBiZ2NvbG9yPVwiI0ZGRkZGRlwiPiAiOw0KCSAgIGZodG1sICs9ICI8dGQgaGVpZ2h0PVwiMjVcIj4goaHWuLaozfjWt6O6ICI7DQoJICAgZmh0bWwgKz0gIjxpbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9J2ltZ3VybCIrc3RhcnROdW0rIicgc3R5bGU9XCJ3aWR0aDoyNjBweFwiPiAiOw0KCSAgIGZodG1sICs9ICI8aW5wdXQgdHlwZT1cImJ1dHRvblwiIG5hbWU9J3NlbHBpYyIrc3RhcnROdW0rIicgdmFsdWU9XCLRocihXCIgc3R5bGU9XCJ3aWR0aDo2NXB4XCIgb25DbGljaz1cIlNlbGVjdEltYWdlTignZm9ybTEuaW1ndXJsIitzdGFydE51bSsiJywnYmlnJywncGljdmlldyIrc3RhcnROdW0rIicpXCI+IjsNCgkgICBmaHRtbCArPSAiPC90ZD48L3RyPiI7DQoJICAgZmh0bWwgKz0gIjx0ciBiZ2NvbG9yPVwiI0ZGRkZGRlwiPiAiOw0KCSAgIGZodG1sICs9ICI8dGQgaGVpZ2h0PVwiMjVcIj6hocL+u62x6szio7ogIjsNCgkgICBmaHRtbCArPSAiPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3RpdGxlIitzdGFydE51bSsiJyBzdHlsZT1cIndpZHRoOjMwMHB4XCIvPiA8L3RkPiI7DQoJICAgZmh0bWwgKz0gIjwvdHI+PC90b2JkeT48L3RhYmxlPlxyXG4iOw0KCSAgIHVwZmllbGQuaW5uZXJIVE1MICs9IGZodG1sOw0KICB9DQp9DQo8L3NjcmlwdD4NCg0KPC9oZWFkPg0KPGJvZHkgYmFja2dyb3VuZD0naW1hZ2VzL2FsbGJnLmdpZicgbGVmdG1hcmdpbj0nOCcgdG9wbWFyZ2luPSc4Jz4NCjxkaXYgY2xhc3M9ImJvZHl0aXRsZSI+DQoJPGRpdiBjbGFzcz0iYm9keXRpdGxlbGVmdCI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iYm9keXRpdGxldHh0Ij7BrNTYudzA7TwvZGl2Pg0KPC9kaXY+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJ0YnRpdGxlIiBzdHlsZT0iCWJhY2tncm91bmQ6I0NGQ0ZDRjsiPg0KCTx0cj4NCgk8dGQgYmdjb2xvcj0iI0VERjlENSIgY2xhc3M9InRidGl0bGV0eHQiIGJhY2tncm91bmQ9J2ltYWdlcy90YmcuZ2lmJz4gDQoJICA8dGFibGUgd2lkdGg9Jzk2JScgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPg0KICAgICA8dHI+DQogICAgIDx0ZCB3aWR0aD0nMzAlJyBjbGFzcz0idGJ0aXRsZXR4dCI+PHN0cm9uZz7BrNTYxNrI3SjC/rutwOApJmd0OyZndDvU9rzTxNrI3Twvc3Ryb25nPjwvdGQ+DQogICAgIDx0ZCBhbGlnbj0ncmlnaHQnPg0KCQkJWzxhIGhyZWY9InN0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGJvb2tpZDsgPz4iPjx1PrG+zbzK6cTayN3B0LHtPC91PjwvYT5dDQoJCQkmbmJzcDsJDQoJCQlbPGEgaHJlZj0ic3RvcnlfYm9va3MucGhwIj48dT7L+dPQwazU2M28yuk8L3U+PC9hPl0NCgkJCTwvdGQ+DQogICAgIDwvdHI+DQogICAgPC90YWJsZT4NCiAgPC90ZD4NCiA8L3RyPg0KPC90YWJsZT4NCjxmb3JtIG5hbWU9J2Zvcm0xJyBhY3Rpb249J3N0b3J5X2FkZF9waG90b19hY3Rpb24ucGhwJyBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9J3Bvc3QnIG9uU3VibWl0PSJyZXR1cm4gY2hlY2tTdWJtaXRBZGRQaG90bygpOyI+CQkNCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2tpZCcgdmFsdWU9Jzw/cGhwIGVjaG8gJGJvb2tpZDsgPz4nIC8+CQ0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nY2F0aWQnIHZhbHVlPSc8P3BocCBlY2hvICRjYXRpZDsgPz4nIC8+DQo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29rbmFtZScgdmFsdWU9Jzw/cGhwIGVjaG8gc3RyX3JlcGxhY2UoIiciLCJgIiwkYm9va25hbWUpOyA/PicgLz4NCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2t0eXBlJyB2YWx1ZT0nPD9waHAgZWNobyAkYm9va3R5cGU7ID8+JyAvPg0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ncGhvdG9udW0nIHZhbHVlPSc1JyAvPg0KCQ0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iIGJvcmRlcjoxcHggc29saWQgI0NGQ0ZDRjtsaW5lLWhlaWdodDozMXB4O21hcmdpbjphdXRvOyI+DQoJCTx0cj4NCgkJICA8dGQgc3R5bGU9ImJhY2tncm91bmQ6I0Y5RkZFNjtwYWRkaW5nOjdweCA2cHggNnB4IDEwcHg7IiA+DQoJCSAgPGZvbnQgY29sb3I9J3JlZCc+PD9waHAgZWNobyAkbXNnOyA/PjwvZm9udD4NCgkJICA8L3RkPg0KICA8L3RyPg0KPHRyPg0KPHRkIGhlaWdodD0iMTE2IiBiZ2NvbG9yPSIjRkZGRkZGIiBzdHlsZT0icGFkZGluZzowcHggNnB4IDZweCAxMHB4OyI+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjbGFzcz0iYmxpbmUiPsSsyM+x6szio7o8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiPjxpbnB1dCBuYW1lPSJ0aXRsZSIgdHlwZT0idGV4dCIgaWQ9InRpdGxlIiBzaXplPSIzNSIgLz48L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIHN0eWxlPSJ3aWR0aDoxMjBweCIgY2xhc3M9ImJsaW5lIj7Bpcr0zbzK6cP7s8ajujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+DQogICAgCTw/cGhwIGVjaG8gJGJvb2tuYW1lOyA/PiAgICA8L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMzIiIGNsYXNzPSJibGluZSI+DQogICAgwaXK9NXCvdqjujxiciAvPg0KCSAgPGlucHV0IG5hbWU9ImFkZGNoYXB0ZXIiIHR5cGU9ImNoZWNrYm94IiBvbkNsaWNrPSJTaG93SGlkZVNlbENoYXB0ZXIoJ3NlbGNoYXAnLCduZXdjaGFwJykiIGlkPSJhZGRjaGFwdGVyIiB2YWx1ZT0iMSINCgkgIDw/cGhwIGVjaG8oY291bnQoJGNoYXB0ZXJzKT4wID8gIiIgOiAiIGNoZWNrZWQiKTsgPz4gLz4NCiAgICDM7bzT0MLVwr3aICAgIDwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSIgc3R5bGU9InBhZGRpbmctdG9wOjVweDtwYWRkaW5nLWJvdHRvbTo1cHgiPg0KICAgIDxzcGFuIGlkPSdzZWxjaGFwJyBzdHlsZT0iPD9waHAgZWNobyhjb3VudCgkY2hhcHRlcnMpPjAgPyAiZGlzcGxheTpibG9jayIgOiAiZGlzcGxheTpub25lIik7ID8+Ij4NCiAgICA8c2VsZWN0IG5hbWU9ImNoYXB0ZXJpZCIgc2l6ZT0iNSIgaWQ9ImNoYXB0ZXJpZCIgc3R5bGU9IndpZHRoOjI1MHB4Ij4NCiAgICAJPD9waHANCiAgICAJJG9rID0gZmFsc2U7DQogICAgCWZvcmVhY2goJGNoYXB0ZXJzIGFzICRrPT4kdil7DQogICAgCQlpZighJG9rKXsgJG9rPXRydWU7IGVjaG8gIiAgICA8b3B0aW9uIHZhbHVlPSckaycgc2VsZWN0ZWQ+tdp7JGNoYXBudW1zWyRrXX3VwiAkdjwvb3B0aW9uPlxyXG4iOyB9DQogICAgCQllbHNlIGVjaG8gIiAgICA8b3B0aW9uIHZhbHVlPSckayc+tdp7JGNoYXBudW1zWyRrXX3VwiAkdjwvb3B0aW9uPlxyXG4iOw0KICAgIAl9DQogICAgCT8+DQogICAgPC9zZWxlY3Q+DQoJPC9zcGFuPg0KICAgIDxzcGFuIGlkPSJuZXdjaGFwIiBzdHlsZT0iPD9waHAgZWNobyhjb3VudCgkY2hhcHRlcnMpPjAgPyAiZGlzcGxheTpub25lIiA6ICJkaXNwbGF5OmJsb2NrIik7ID8+Ij4NCgnQwtXCvdrD+7PGo7oNCiAgICAgICAgICA8aW5wdXQgbmFtZT0iY2hhcHRlcm5ldyIgdHlwZT0idGV4dCIgaWQ9ImNoYXB0ZXJuZXciIHNpemU9IjMwIiB2YWx1ZT0ixKzIz9XCvdoiIC8+DQogICAgICAgICAgPGJyIC8+DQqjqMjnufvDu9PQv8nRodXCvdq78tLR09DVwr3a0tG+rb3hyvijrMfrzO7QtNDC1cK92sP7s8ajrMP7s8bJz7K70Oi806GwtdpY1cKhsdXi0fm1xNfW0fmjqQk8L3NwYW4+CTwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIzMiIgY29sc3Bhbj0iMiIgY2xhc3M9ImJsaW5lIj6hoaGhzqrBy7e9sePE+rXEtuDGqsL+u6278sbky/zBrNTYzbzGrLeisryjrMT6v8nS1NTatMvNrMqxyc+0q7bguPbNvMaso6zPtc2zu+HX1LavvavG5LfWuO6zybbgxqrOxLW1o6zI57n7xPq1xMTayN3W98ziyseyu9Do0qq1pbbAyei2qLXEo6y/ybK71ri2qMO/uPbNvMastcSx6szio6zPtc2zvavX1LavssnTw8SsyM+x6szivNPK/dfWvfjQ0LHqyrahozwvdGQ+DQogICAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPSIyIj48dGFibGUgd2lkdGg9IjgwMCIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+Jm5ic3A71LazzM28xqyjujwvdGQ+DQogICAgICAgIDx0ZCBjb2xzcGFuPSIzIj48aW5wdXQgbmFtZT0iaXNyZW1vdGUiIHR5cGU9ImNoZWNrYm94IiBpZD0iaXNyZW1vdGUiICB2YWx1ZT0iMSIgLz4NCs/C1Ni1vbG+tdggPC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIHdpZHRoPSI4MCI+Jm5ic3A7zbzGrKO6PC90ZD4NCiAgICAgICAgPHRkIHdpZHRoPSI3NCI+PGlucHV0IG5hbWU9InBpY251bSIgdHlwZT0idGV4dCIgaWQ9InBpY251bSIgc2l6ZT0iOCIgdmFsdWU9IjEwIiAvPjwvdGQ+DQogICAgICAgIDx0ZCB3aWR0aD0iMTE3Ij48aW5wdXQgbmFtZT0na2trdXAnIHR5cGU9J2J1dHRvbicgaWQ9J2tra3VwMicgdmFsdWU9J9T2vNOx7bWlJyBvbmNsaWNrPSJNYWtlVXBsb2FkKDApOyIgY2xhc3M9ImlucHV0YnV0IiAvPjwvdGQ+DQogICAgICAgIDx0ZCB3aWR0aD0iNTI5Ij4go6gg16KjutfutPM2MLf5o6zK1rmk1ri2qLXEzbzGrMG0vdPUytDtzO7QtNS2s8zN+Na3o6kgPC90ZD4NCiAgICAgIDwvdHI+DQogICAgPC90YWJsZT48L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iODIiIGNvbHNwYW49IjIiPg0KCTxzcGFuIGlkPSJ1cGxvYWRmaWVsZCI+PC9zcGFuPg0KCTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiPg0KCSAgICAgTWFrZVVwbG9hZCg2KTsNCgk8L3NjcmlwdD4NCgk8L3RkPg0KICAgIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSI3MCI+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0IiB2YWx1ZT0isaMgtOYiIGNsYXNzPSducCBjb29sYmcnIC8+oaGhoQ0KICAgICAgPGlucHV0IHR5cGU9InJlc2V0IiBuYW1lPSJTdWJtaXQyIiB2YWx1ZT0i1tgg1sMiIGNsYXNzPSducCBjb29sYmcnIC8+PC90ZD4NCiAgPC90cj4NCjwvdGFibGU+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPC9mb3JtPg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+wazU2M28yunB0LHtPC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoyOw0KCWJhY2tncm91bmQtY29sb3I6ICNGMkZEREI7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPGRpdiBjbGFzcz0iYm9keXRpdGxlIj4NCgk8ZGl2IGNsYXNzPSJib2R5dGl0bGVsZWZ0Ij48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJib2R5dGl0bGV0eHQiPtChy7XK6cS/udzA7SA8YSBocmVmPSIuLi9ib29rIiB0YXJnZXQ9Il9ibGFuayI+W7Lpv7TK19KzXTwvYT48L2Rpdj4NCjwvZGl2Pg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBjbGFzcz0idGJ0aXRsZSIgc3R5bGU9IgliYWNrZ3JvdW5kOiNDRkNGQ0Y7Ij4NCgk8dHI+DQoJCTx0ZCBiZ2NvbG9yPSIjRURGOUQ1IiBiYWNrZ3JvdW5kPSdpbWFnZXMvdGJnLmdpZic+DQoJCSAgPHRhYmxlIHdpZHRoPSc5NiUnIGNlbGxwYWRkaW5nPScwJyBjZWxsc3BhY2luZz0nMCc+DQogICAgICAgIDx0cj4NCiAgICAgICAgICA8dGQgd2lkdGg9JzMwJScgaGVpZ2h0PSIxMyI+PHN0cm9uZz7NvMrpwdCx7Twvc3Ryb25nPjwvdGQ+DQogICAgICAgICAgPHRkIGFsaWduPSdyaWdodCc+DQogICAgICAgICAgCVs8YSBocmVmPSJzdG9yeV9ib29rcy5waHA/aXNjaGVjaz0xIj48dT7OtMnzusu1xM28yuk8L3U+PC9hPl0NCiAgICAgICAgICAJJm5ic3A7DQoJCQlbPGEgaHJlZj0ic3RvcnlfYWRkLnBocCI+PHU+0MLU9s28yuk8L3U+PC9hPl0NCgkJCSZuYnNwOw0KCQkJWzxhIGhyZWY9InN0b3J5X2NhdGFsb2cucGhwIj48dT7AuMS/udzA7TwvdT48L2E+XQ0KCQkJCQk8L3RkPg0KICAgICAgIDwvdHI+DQogICAgIDwvdGFibGU+DQogICA8L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgc3R5bGU9IiBib3JkZXI6MXB4IHNvbGlkICNDRkNGQ0Y7Ym9yZGVyLXRvcDpub25lO2xpbmUtaGVpZ2h0OjMxcHg7bWFyZ2luOmF1dG87Ij4NCiAgPHRyPg0KICAgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZDojZmZmZmZmO3BhZGRpbmc6MnB4IDJweCAycHggMnB4OyIgPg0KICAgIDxmb3JtIG5hbWU9J2Zvcm0xJyBhY3Rpb249J3N0b3J5X2Jvb2tzLnBocCcgbWV0aG9kPSdnZXQnPg0KICAgIDx0YWJsZSB3aWR0aD0iOTYlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQogICAgICAgPHRyPg0KICAgICAgICAgPHRkIHdpZHRoPSIxMyUiIGFsaWduPSJjZW50ZXIiPrnYvPzX1jo8L3RkPg0KICAgICAgICAgPHRkIHdpZHRoPSIyNyUiPjxpbnB1dCBuYW1lPSJrZXl3b3JkIiB0eXBlPSJ0ZXh0IiBpZD0ia2V5d29yZCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGtleXdvcmQ7ID8+IiBzaXplPSIzMCIgY2xhc3M9J2FsbHR4dCcgLz48L3RkPg0KICAgICAgICAgPHRkIHdpZHRoPSIxOCUiPg0KICAgICAgICAgPHNlbGVjdCBuYW1lPSJjYXRpZCIgaWQ9ImNhdGlkIj4NCiAgIDxvcHRpb24gdmFsdWU9JzAnPsfr0aHU8cC4xL88L29wdGlvbj4NCiAgIDw/cGhwDQogICAgZm9yZWFjaCgkYnR5cGVzIGFzICRrPT4kdil7DQogICAgCWVjaG8gIjxvcHRpb24gdmFsdWU9JyRrJz4kdjwvb3B0aW9uPlxyXG4iOw0KICAgIAlpZihpc3NldCgkc3R5cGVzWyRrXSkpDQogICAgCXsNCiAgICAJCWZvcmVhY2goJHN0eXBlc1ska10gYXMgJGtrPT4kdnYpDQogICAgCQl7DQogICAgCQkJZWNobyAiPG9wdGlvbiB2YWx1ZT0nJGtrJz4gLS0kdnY8L29wdGlvbj5cclxuIjsNCiAgICAJCX0NCiAgICAJfQ0KICAgIH0NCiAgICA/Pg0KICAgICAgICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgPHRkIHdpZHRoPSI0MiUiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IsvRIMv3IiBjbGFzcz0nbnAgY29vbGJnJy8+PC90ZD4NCiAgICAgICAgICAgIDwvdHI+DQogICAgICA8L3RhYmxlPg0KICAgIDwvZm9ybT4NCiAgIDwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KPGZvcm0gbmFtZT0nZm9ybTInPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iIG1hcmdpbi10b3A6M3B4OyBtYXJnaW4tYm90dG9tOjNweDsgbGluZS1oZWlnaHQ6MzFweDtiYWNrZ3JvdW5kOiNjZmNmY2Y7Ij4NCiAgPHRyIGFsaWduPSJjZW50ZXIiIGhlaWdodD0iMjgiIGJnY29sb3I9IiNGQkZDRTIiPg0KICAgIDx0ZD7RodTxPC90ZD4NCiAgICA8dGQ+zbzK6bfiw+Y8L3RkPg0KICAgIDx0ZD7NvMrpw/uzxjwvdGQ+DQogICAgPHRkPsGlyvTAuMS/PC90ZD4NCiAgICA8dGQ+tLS9qMqxvOQ8L3RkPg0KICAgIDx0ZD7J87rLPC90ZD4NCiAgICA8dGQ+udzA7c/uxL88L3RkPg0KICA8L3RyPg0Ke2RlZGU6ZGF0YWxpc3R9DQo8P3BocA0KCWlmKCRmaWVsZHNbJ2lzY2hlY2snXSA9PSAxKXsNCgkJJGZpZWxkc1snaXNjaGVjayddPSfS0cnzussnOw0KCX1lbHNlew0KICAgIAkkZmllbGRzWydpc2NoZWNrJ109Jzxmb250IGNvbG9yPSJyZWQiPs60yfO6yzwvZm9udD4gPGEgaHJlZj0ic3RvcnlfYm9va3MucGhwP2FjdGlvbj1jaGVja2VkJmlkPScuJGZpZWxkc1snYmlkJ10uJyI+yfO6yzwvYT4nOw0KCX0NCgk/PiAgICANCiAgPHRyIGJnY29sb3I9IiNGRkZGRkYiIGhlaWdodD0iMjYiIGFsaWduPSJjZW50ZXIiIG9uTW91c2VNb3ZlPSJqYXZhc2NyaXB0OnRoaXMuYmdDb2xvcj0nI0ZDRkRFRSc7IiBvbk1vdXNlT3V0PSJqYXZhc2NyaXB0OnRoaXMuYmdDb2xvcj0nI0ZGRkZGRic7ImFsaWduPSJjZW50ZXIiPg0KICAgICAgPHRkIHdpZHRoPSI4JSI+IDxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0naWRzJyB2YWx1ZT0ne2RlZGU6ZmllbGQuYmlkL30nIGNsYXNzPSducCcgLz4gPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iOCUiPiANCiAgICAgIDw/cGhwDQogICAgCWlmKCRmaWVsZHNbJ2xpdHBpYyddIT0nJyl7DQogICAgCQllY2hvICI8aW1nIHNyYz0neyRmaWVsZHNbJ2xpdHBpYyddfScgIHN0eWxlPSdwYWRkaW5nOjJweCcgaGVpZ2h0PSc1MCc+IjsNCiAgICAJfWVsc2V7DQogICAgCQllY2hvICI8aW1nIHNyYz0naW1hZ2VzL2Jvb2tub3BpYy5naWYnICBzdHlsZT0ncGFkZGluZzoycHgnIGhlaWdodD0nNTAnPiI7DQogICAgCX0NCiAgICAgICAgPz4NCiAgICAgIDwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjI4JSI+DQogICAgCTw/cGhwDQogICAgCWVjaG8gIjxhIGhyZWY9Jy4uL2Jvb2svYm9vay5waHA/YmlkPXskZmllbGRzWydiaWQnXX0nIHRhcmdldD0nX2JsYW5rJz4iLiRmaWVsZHNbJ2Jvb2tuYW1lJ10uIjwvYT4iOw0KICAgIAlpZigkZmllbGRzWydib29rdHlwZSddIT0xKSBlY2hvICIoPGZvbnQgY29sb3I9JyM1NThBMjAnPtChy7U8L2ZvbnQ+xNrI3aO6eyRmaWVsZHNbJ3Bvc3RudW0nXX0pIjsNCiAgICAJZWxzZSBlY2hvICIoPGZvbnQgY29sb3I9JyNBQjgxMTAnPsL+u608L2ZvbnQ+xNrI3aO6eyRmaWVsZHNbJ3Bvc3RudW0nXX0pIjsNCiAgICAJPz4NCiAgICA8L3RkPg0KICAgIDx0ZCB3aWR0aD0iMTIlIj4ge2RlZGU6ZmllbGQuY2xhc3NuYW1lL308L3RkPg0KICAgIDx0ZCB3aWR0aD0iMTIlIj57ZGVkZTpmaWVsZC5zZW5kZGF0ZSBmdW5jdGlvbj1HZXREYXRlTUsoQG1lKS99PC90ZD4NCiAgICAgPHRkIHdpZHRoPSIxMiUiPiA8P3BocCBlY2hvICRmaWVsZHNbJ2lzY2hlY2snXTsgPz4gPC90ZD4NCiAgICA8dGQgYWxpZ249ImxlZnQiPg0KICAgIDw/cGhwICBpZigkZmllbGRzWydib29rdHlwZSddIT0xKXsgPz4NCiAgICAgIDxhIGhyZWY9J3N0b3J5X2FkZF9jb250ZW50LnBocD9ib29raWQ9PD9waHAgZWNobyAkZmllbGRzWydiaWQnXTsgPz4nPsztvNM8L2E+IHwNCiAgICA8P3BocCB9ZWxzZXsgPz4NCiAgICAJPGEgaHJlZj0nc3RvcnlfYWRkX3Bob3RvLnBocD9ib29raWQ9PD9waHAgZWNobyAkZmllbGRzWydiaWQnXTsgPz4nPsztvNM8L2E+IHwNCiAgICA8P3BocCB9ID8+DQogICAgICA8YSBocmVmPSdzdG9yeV9lZGl0LnBocD9ib29raWQ9PD9waHAgZWNobyAkZmllbGRzWydiaWQnXTsgPz4nPtDeuMQ8L2E+IHwNCiAgICAJPGEgaHJlZj0nc3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9PD9waHAgZWNobyAkZmllbGRzWydiaWQnXTsgPz4nPsTayN08L2E+IDxiciAvPg0KDQogICAgCTxhIGhyZWY9J3N0b3J5X2xpc3RfY2hhcHRlci5waHA/Ym9va2lkPTw/cGhwIGVjaG8gJGZpZWxkc1snYmlkJ107ID8+Jz7Vwr3aPC9hPiB8DQogICAgICA8YSBocmVmPSdqYXZhc2NyaXB0OkRlbFN0b3J5KDw/cGhwIGVjaG8gJGZpZWxkc1snYmlkJ107ID8+KSc+yb6z/TwvYT4NCiAgICA8L3RkPg0KICA8L3RyPg0KICB7L2RlZGU6ZGF0YWxpc3R9DQo8dHI+DQogICAgPHRkIGNvbHNwYW49JzcnIGJnY29sb3I9IiNmZmZmZmYiIGhlaWdodD0nMzAnPg0KCSZuYnNwOw0KCTxhIGhyZWY9ImphdmFzY3JpcHQ6c2VsQWxsKCkiIGNsYXNzPSJjb29sYmciPsir0aE8L2E+DQoJPGEgaHJlZj0iamF2YXNjcmlwdDpub1NlbEFsbCgpIiBjbGFzcz0iY29vbGJnIj7Ioc/7PC9hPg0KCTxhIGhyZWY9ImphdmFzY3JpcHQ6RGVsQWxsQm9va3MoKSIgY2xhc3M9ImNvb2xiZyI+yb6z/TwvYT4NCiAgICA8L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjwvZm9ybT4NCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgc3R5bGU9IiBib3JkZXI6MXB4IHNvbGlkICNDRkNGQ0Y7bGluZS1oZWlnaHQ6MzFweDttYXJnaW46YXV0bzsiPg0KCQk8dHI+DQoJCSAgPHRkIGJnY29sb3I9IiNGOUZDRUYiIGFsaWduPSJjZW50ZXIiPntkZWRlOnBhZ2VsaXN0IGxpc3RzaXplPTUgL308L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+wazU2MC4xL+53MDtPC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoxOw0KCWJhY2tncm91bmQtY29sb3I6ICNGOUZDRUY7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0Y5RkNFRjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIxIiBiZ2NvbG9yPSIjRDZENkQ2Ij4NCgk8dHI+DQoJCQk8dGQgYmdjb2xvcj0iI0VERjlENSIgaGVpZ2h0PSIyOCIgYmFja2dyb3VuZD0naW1hZ2VzL3RiZy5naWYnPg0KCQkJCQk8dGFibGUgd2lkdGg9Jzk2JScgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPg0KCQkJCQkJPHRyIGJhY2tncm91bmQ9J2ltYWdlcy90YmcuZ2lmJz4NCgkJCQkJCTx0ZCB3aWR0aD0nMzAlJyBjbGFzcz0idGJ0aXRsZXR4dCIgc3R5bGU9InBhZGRpbmctbGVmdDoxMHB4OyI+PHN0cm9uZz7Qocu1wLjEv7ncwO08L3N0cm9uZz4gPGEgaHJlZj0iLi4vYm9vayIgdGFyZ2V0PSJfYmxhbmsiPluy6b+0ytfSs108L2E+PC90ZD4NCgkJCQkJCTx0ZCBhbGlnbj0ncmlnaHQnPg0KCQkJCQlbPGEgaHJlZj0iamF2YXNjcmlwdDpTaG93QWRkQ2F0YWxvZygpOyI+PHU+1Pa809DCwLjEvzwvdT48L2E+XQ0KCQkJCQkmbmJzcDsNCgkJCQkJWzxhIGhyZWY9InN0b3J5X2FkZC5waHAiPjx1PtT2vNPQws28yuk8L3U+PC9hPl0NCgkJCQkJPC90ZD4NCgkJCQk8L3RyPg0KCQkJPC90YWJsZT4NCgkJPC90ZD4NCiAgPC90cj4NCgk8dHI+DQoJCSAgPHRkIHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmZmZmY7cGFkZGluZzo3cHggNnB4IDZweCAxMHB4OyIgPg0KCQkgIDxmb250IGNvbG9yPSdyZWQnPjw/cGhwIGVjaG8gJG1zZzsgPz48L2ZvbnQ+DQoJCSAgPC90ZD4NCiAgPC90cj4NCjx0cj4NCjx0ZCBoZWlnaHQ9IjExNiIgYmdjb2xvcj0iI0ZGRkZGRiIgc3R5bGU9InBhZGRpbmc6N3B4IDZweCA2cHggMTBweDsiID4NCjw/cGhwDQovL8C4xL+13bnpwdCx7Q0KZWNobyAiPGZvcm0gbmFtZT0nZnJhbmsnIGFjdGlvbj0nc3RvcnlfY2F0YWxvZy5waHAnIG1ldGhvZD0ncG9zdCc+XHJcbiI7DQplY2hvICI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhY3Rpb24nIHZhbHVlPSd1cHJhbmsnIC8+IjsNCmVjaG8gIjx0YWJsZSB3aWR0aD0nOTglJyBib3JkZXI9JzAnIGNlbGxwYWRkaW5nPScwJyBjZWxsc3BhY2luZz0nMyc+XHJcbiI7DQplY2hvICI8dHI+XHJcbjx0ZCB3aWR0aD0nMSUnIGhlaWdodD0nMSc+PC90ZD48dGQgd2lkdGg9JzYwJSc+PC90ZD48dGQ+PC90ZD48L3RyPlxyXG4iOw0KJG9wdGlvbnMgPSAiIjsNCmZvcmVhY2goJGJ0eXBlcyBhcyAkaz0+JHYpDQp7DQoJICBlY2hvICI8dHIgaGVpZ2h0PScyNCcgYmdjb2xvcj0nI0ZERkVGMSc+XHJcbiI7DQoJICBlY2hvICI8dGQ+PGlucHV0IHR5cGU9J3RleHQnIHNpemU9JzInIG5hbWU9J3JhbmtfeyRrfScgdmFsdWU9J3skcmFua3NbJGtdfSc+PC90ZD5cclxuIjsNCgkgIGVjaG8gIjx0ZCBzdHlsZT0ncGFkZGluZy1sZWZ0OjNweCc+oaR7JHZ9IChJRKO6eyRrfSCjrM28yumjuiIuVGpCb29rTnVtKCRrLCRkc3FsKS4iKTwvdGQ+XHJcbiI7DQoJICBlY2hvICI8dGQgYWxpZ249J3JpZ2h0JyBzdHlsZT0ncGFkZGluZy1yaWdodDo4cHg7Jz5cclxuIjsNCgkgIGVjaG8gIjxhIGhyZWY9J2phdmFzY3JpcHQ6RWRpdENhdGFsb2coeyRrfSk7Jz7Q3rjEPC9hPiB8ICI7DQoJICBlY2hvICI8YSBocmVmPSdqYXZhc2NyaXB0OkRlbENhdGFsb2coeyRrfSk7Jz7JvrP9PC9hPiB8ICI7DQoJICBlY2hvICI8YSBocmVmPSdzdG9yeV9hZGQucGhwP2NhdGlkPXska30nPsztvNPNvMrpPC9hPiB8ICI7DQoJICBlY2hvICI8YSBocmVmPSdzdG9yeV9ib29rcy5waHA/Y2F0aWQ9eyRrfSc+zbzK6cHQse08L2E+ICI7DQoJICBlY2hvICI8L3RkPlxyXG48L3RyPlxyXG4iOw0KCSAgJG9wdGlvbnMgLj0gIjxvcHRpb24gdmFsdWU9J3ska30nPnskdn08L29wdGlvbj5cclxuIjsNCiAgICAvL7vxyKHPwry2wLjEvw0KDQogICAgaWYoIWVtcHR5KCRzdHlwZXNbJGtdKSAmJiBpc19hcnJheSgkc3R5cGVzWyRrXSkpew0KCSAgICBmb3JlYWNoKCRzdHlwZXNbJGtdIGFzICRraz0+JHZ2KQ0KCSAgICB7DQoJICAgIAkgZWNobyAiPHRyIGhlaWdodD0nMjQnPlxyXG4iOw0KCQkgICAgIGVjaG8gIjx0ZD48aW5wdXQgdHlwZT0ndGV4dCcgc2l6ZT0nMicgbmFtZT0ncmFua197JGtrfScgdmFsdWU9J3skcmFua3NbJGtrXX0nPjwvdGQ+XHJcbiI7DQoJCSAgICAgZWNobyAiPHRkIHN0eWxlPSdwYWRkaW5nLWxlZnQ6MThweCc+oaR7JHZ2fSAoSUSjunska2t9o6zNvMrpo7oiLlRqQm9va051bSgka2ssJGRzcWwpLiIpPC90ZD5cclxuIjsNCgkJICAgICBlY2hvICI8dGQgYWxpZ249J3JpZ2h0JyBzdHlsZT0ncGFkZGluZy1yaWdodDo4cHg7Jz5cclxuIjsNCgkJICAgICBlY2hvICI8YSBocmVmPSdqYXZhc2NyaXB0OkVkaXRDYXRhbG9nKHska2t9KTsnPtDeuMQ8L2E+IHwgIjsNCgkJICAgICBlY2hvICI8YSBocmVmPSdqYXZhc2NyaXB0OkRlbENhdGFsb2coeyRra30pOyc+yb6z/TwvYT4gfCAiOw0KCQkgICAgIGVjaG8gIjxhIGhyZWY9J3N0b3J5X2FkZC5waHA/Y2F0aWQ9eyRra30nPsztvNPNvMrpPC9hPiB8ICI7DQoJCSAgICAgZWNobyAiPGEgaHJlZj0nc3RvcnlfYm9va3MucGhwP2NhdGlkPXska2t9Jz7NvMrpwdCx7TwvYT4iOw0KCQkgICAgIGVjaG8gIjwvdGQ+XHJcbjwvdHI+XHJcbiI7Ow0KCSAgICB9DQoJfQ0KfQ0KZWNobyAiPC90YWJsZT5cclxuIjsNCmVjaG8gIjxkaXYgc3R5bGU9J3BhZGRpbmctdG9wOjEwcHg7bWFyZ2luLXRvcDoxMHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNjY2NjY2MnPjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J1N1Ym1pdCcgdmFsdWU9J7j80MLFxdDyJyBzdHlsZT0nd2lkdGg6ODBweCcgY2xhc3M9J25wIGNvb2xiZycvPjwvZGl2PiI7DQplY2hvICI8L2Zvcm0+XHJcbiI7DQo/Pg0KPC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPCEtLSAgz8LD5srH0v6y2LXEwLjEv9T2vNOjr9DeuMSx7bWlICAtLT4NCjxkaXYgaWQ9ImVkaXRDYXRhbG9nIj4NCjxzcGFuIGlkPSdlZGl0Q2F0YWxvZ0JvZHknPsfrydS68qOs1f3U2tTYyOsuLi48L3NwYW4+DQo8L2Rpdj4NCjxkaXYgaWQ9ImFkZENhdGFsb2ciPg0KPGZvcm0gbmFtZT0nYWRkZm9ybScgYWN0aW9uPSdzdG9yeV9jYXRhbG9nLnBocCcgbWV0aG9kPSdnZXQnPg0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYWN0aW9uJyB2YWx1ZT0nYWRkJyAvPg0KPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQogICA8dHI+DQogICAgIDx0ZCB3aWR0aD0iOTAiIGhlaWdodD0iMjgiPsC4xL/D+7PGo7o8L3RkPg0KICAgICA8dGQgd2lkdGg9IjEwMSI+PGlucHV0IG5hbWU9ImNsYXNzbmFtZSIgdHlwZT0idGV4dCIgaWQ9ImNsYXNzbmFtZSIgLz48L3RkPg0KICAgICA8dGQgd2lkdGg9IjIwIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj48YSBocmVmPSJqYXZhc2NyaXB0OkNsb3NlQWRkQ2F0YWxvZygpIj48aW1nIHNyYz0iaW1hZ2VzL2Nsb3NlLmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiBib3JkZXI9IjAiIC8+PC9hPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgICA8dGQgaGVpZ2h0PSIyOCI+waXK9MC4xL+jujwvdGQ+DQogICAgIDx0ZCBjb2xzcGFuPSIyIj4NCiAgICAgPHNlbGVjdCBuYW1lPSJwaWQiIGlkPSJwaWQiPg0KICAgICAgIDxvcHRpb24gdmFsdWU9IjAiPtDCvai2pby2wLjEvzwvb3B0aW9uPg0KICAgICAgIDw/cGhwIGVjaG8gJG9wdGlvbnM7ID8+DQogICAgIDwvc2VsZWN0Pg0KICAgICA8L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICAgPHRkIGhlaWdodD0iMjgiPsXF0PK8trHwo7o8L3RkPg0KICAgICA8dGQgY29sc3Bhbj0iMiI+PGlucHV0IG5hbWU9InJhbmsiIHR5cGU9InRleHQiIGlkPSJyYW5rIiBzaXplPSI1IiB2YWx1ZT0iMCIgLz4NCiAgICAgICCjqMr91rXQob+/x7CjqTwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgICA8dGQgaGVpZ2h0PSIyOCI+wazU2MDg0M2jujwvdGQ+DQogICAgIDx0ZCBjb2xzcGFuPSIyIj48aW5wdXQgbmFtZT0iYm9va3R5cGUiIHR5cGU9InJhZGlvIiAgdmFsdWU9IjAiIGNoZWNrZWQ9ImNoZWNrZWQiIC8+DQogICAgICAg0KHLtQ0KICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJib29rdHlwZSIgdmFsdWU9IjEiICAvPg0KICAgICDC/rutPC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgIDx0ZCBoZWlnaHQ9IjI4Ij652Lz819ajujwvdGQ+DQogICAgIDx0ZCBjb2xzcGFuPSIyIj48aW5wdXQgbmFtZT0ia2V5d29yZHMiIHR5cGU9InRleHQiIGlkPSJrZXl3b3JkcyIgLz48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICAgPHRkPtWqoaHSqqO6PC90ZD4NCiAgICAgPHRkIGNvbHNwYW49IjIiPjx0ZXh0YXJlYSBuYW1lPSJkZXNjcmlwdGlvbiIgaWQ9ImRlc2NyaXB0aW9uIiBzdHlsZT0id2lkdGg6MTgwcHg7aGVpZ2h0OjQ1cHgiPjwvdGV4dGFyZWE+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgIDx0ZCBoZWlnaHQ9IjQzIj4mbmJzcDs8L3RkPg0KICAgICA8dGQgY29sc3Bhbj0iMiI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0IiB2YWx1ZT0i1Pa808C4xL8iIHN0eWxlPSJ3aWR0aDo4MHB4Ii8+PC90ZD4NCiAgIDwvdHI+DQogIDwvdGFibGU+DQo8L2Zvcm0+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+0N64xMGs1NjNvMrpPC90aXRsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoyOw0KCWJhY2tncm91bmQtY29sb3I6ICNGMkZEREI7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPGRpdiBjbGFzcz0iYm9keXRpdGxlIj4NCgk8ZGl2IGNsYXNzPSJib2R5dGl0bGVsZWZ0Ij48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJib2R5dGl0bGV0eHQiPsGs1Ni53MDtPC9kaXY+DQo8L2Rpdj4NCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIxIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgY2xhc3M9InRidGl0bGUiIHN0eWxlPSJiYWNrZ3JvdW5kOiNDRkNGQ0Y7Ij4NCgk8dHI+DQoJCTx0ZCBiZ2NvbG9yPSIjRURGOUQ1IiBiYWNrZ3JvdW5kPSdpbWFnZXMvdGJnLmdpZic+DQoJCSAgPHRhYmxlIHdpZHRoPSc5NiUnIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9JzAnIGNlbGxzcGFjaW5nPScwJz4NCiAgICAgICAgPHRyPg0KICAgICAgICAgIDx0ZCB3aWR0aD0nMzAlJyBjbGFzcz0idGJ0aXRsZXR4dCI+PHN0cm9uZz7Q3rjEwazU2M28yuk8L3N0cm9uZz48L3RkPg0KICAgICAgICAgIDx0ZCBhbGlnbj0ncmlnaHQnPg0KCQkJCQlbPGEgaHJlZj0ic3RvcnlfYm9va3MucGhwIj48dT7BrNTYxNrI3cHQse08L3U+PC9hPl0NCgkJCQkJJm5ic3A7DQoJCQkJCVs8YSBocmVmPSJzdG9yeV9jYXRhbG9nLnBocCI+PHU+wazU2MC4xL+53MDtPC91PjwvYT5dDQoJCQkJCTwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgIDwvdGFibGU+DQogICA8L3RkPg0KIDwvdHI+DQo8L3RhYmxlPg0KPGZvcm0gbmFtZT0nZm9ybTEnIGFjdGlvbj0nc3RvcnlfZWRpdF9hY3Rpb24ucGhwJyBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9J3Bvc3QnIG9uU3VibWl0PSJyZXR1cm4gY2hlY2tTdWJtaXRFZGl0KCk7Ij4NCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2Jvb2tpZCcgdmFsdWU9Jzw/cGhwIGVjaG8gJGJvb2tpZDsgPz4nIC8+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSIgYm9yZGVyOjFweCBzb2xpZCAjQ0ZDRkNGO2xpbmUtaGVpZ2h0OjMxcHg7bWFyZ2luOmF1dG87Ij4NCjx0cj4NCjx0ZCBoZWlnaHQ9IjExNiIgYmdjb2xvcj0iI0ZGRkZGRiIgc3R5bGU9InBhZGRpbmc6N3B4IDZweCA2cHggMTBweDsiID4NCgk8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICA8dHI+DQogICAgPHRkIHdpZHRoPSIxMjAiIGNsYXNzPSJibGluZSIgc3R5bGU9IndpZHRoOjEyMHB4Ij7NvMrpwaXK9MC4xL+jujwvdGQ+DQogICAgPHRkIGNvbHNwYW49IjMiIGNsYXNzPSJibGluZSI+DQogICAgPHNlbGVjdCBuYW1lPSJjYXRpZCIgaWQ9ImNhdGlkIj4NCiAgICA8b3B0aW9uIHZhbHVlPScwJz7H69Gh1PHAuMS/PC9vcHRpb24+DQogICAgPD9waHANCiAgICBmb3JlYWNoKCRidHlwZXMgYXMgJGs9PiR2KXsNCiAgICAJaWYoJGJvb2tzWydjYXRpZCddPT0kaykgZWNobyAiPG9wdGlvbiB2YWx1ZT0nJGsnIHNlbGVjdGVkPiR2PC9vcHRpb24+XHJcbiI7DQogICAgCWVsc2UgZWNobyAiPG9wdGlvbiB2YWx1ZT0nJGsnPiR2PC9vcHRpb24+XHJcbiI7DQogICAgCWZvcmVhY2goJHN0eXBlc1ska10gYXMgJGtrPT4kdnYpew0KICAgIAkJaWYoJGJvb2tzWydjYXRpZCddPT0ka2spICBlY2hvICI8b3B0aW9uIHZhbHVlPScka2snIHNlbGVjdGVkPiAtLSR2djwvb3B0aW9uPlxyXG4iOw0KICAgIAkJZWxzZSAgZWNobyAiPG9wdGlvbiB2YWx1ZT0nJGtrJz4gLS0kdnY8L29wdGlvbj5cclxuIjsNCiAgICAJfQ0KICAgIH0NCiAgICA/Pg0KICAgIDwvc2VsZWN0PiAgICA8L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMzIiIGNsYXNzPSJibGluZSI+wazU2M28yunD+7PGo7o8L3RkPg0KICAgIDx0ZCBjb2xzcGFuPSIzIiBjbGFzcz0iYmxpbmUiPg0KICAgIAk8aW5wdXQgbmFtZT0iYm9va25hbWUiIHR5cGU9InRleHQiIGlkPSJib29rbmFtZSIgc2l6ZT0iMzUiIHZhbHVlPSI8P3BocCBlY2hvICRib29rc1snYm9va25hbWUnXTsgID8+IiBjbGFzcz0nYWxsdHh0JyAvPg0KICAgICAgPGlucHV0IG5hbWU9ImlzY29tbWVuZCIgdHlwZT0iY2hlY2tib3giIGlkPSJpc2NvbW1lbmQiIHZhbHVlPSIxIjw/cGhwIGlmKCRib29rc1snaXNjb21tZW5kJ109PTEpIGVjaG8gJyBjaGVja2VkJzsgID8+IGNsYXNzPSducCcgLz4NCiAgICAgIM3GvPYNCiAgICAgIDwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIzMiIgY2xhc3M9ImJsaW5lIj7D4rfR1cK92sr9o7o8L3RkPg0KICAgIDx0ZCBjb2xzcGFuPSIzIiBjbGFzcz0iYmxpbmUiPg0KICAgIAk8aW5wdXQgbmFtZT0iZnJlZW51bSIgdHlwZT0idGV4dCIgaWQ9ImZyZWVudW0iIHNpemU9IjUiIHZhbHVlPSI8P3BocCBlY2hvICRib29rc1snZnJlZW51bSddOyA/PiIgY2xhc3M9J2FsbHR4dCcgLz4NCiAgICAgICgtMSCx7cq+yKuyv8Pit9GjrDAgse3Kvsirsr/K1bfRKQ0KICAgIDwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgc3R5bGU9IndpZHRoOjEyMHB4IiBjbGFzcz0iYmxpbmUiPsPit9HUxLbBy/nT0DxiciAvPsTayN274dSxvLax8KO6PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0iMyIgY2xhc3M9ImJsaW5lIj4NCiAgICAgIDxzZWxlY3QgbmFtZT0iYXJjcmFuayIgaWQ9ImFyY3JhbmsiIHN0eWxlPSJ3aWR0aDoxNTAiPg0KICAgICAgCTxvcHRpb24gdmFsdWU9Jzw/cGhwIGVjaG8gJGJvb2tzWyJhcmNyYW5rIl0/Pic+PD9waHAgZWNobyAkYm9va3NbIm1lbWJlcm5hbWUiXT8+PC9vcHRpb24+DQogICAgICAJPD9waHANCiAgICAgIAkJJHVyYW5rID0gJGN1c2VyTG9naW4tPmdldFVzZXJSYW5rKCk7DQogCSAJCSRkc3FsLT5TZXRRdWVyeSgiU2VsZWN0ICogZnJvbSAjQF9fYXJjcmFuayB3aGVyZSBhZG1pbnJhbms8PSckdXJhbmsnIik7DQogICAgICAJCSRkc3FsLT5FeGVjdXRlKCk7DQogICAgICAJCXdoaWxlKCRyb3cgPSAkZHNxbC0+R2V0T2JqZWN0KCkpew0KICAgICAgCQkJZWNobyAiPG9wdGlvbiB2YWx1ZT0nIi4kcm93LT5yYW5rLiInPiIuJHJvdy0+bWVtYmVybmFtZS4iPC9vcHRpb24+XHJcbiI7DQogICAgICAJCX0NCiAgICAgIAk/Pg0KICAgICAgPC9zZWxlY3Q+DQogICAgPC90ZD4NCiAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIzMiIgY2xhc3M9ImJsaW5lIj7NvMrp17TMrKO6PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0iMyIgY2xhc3M9ImJsaW5lIj4NCiAgICAJPGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSdzdGF0dXMnIHZhbHVlPScwJzw/cGhwIGlmKCRib29rc1snc3RhdHVzJ109PTApIGVjaG8gJyBjaGVja2VkJzsgID8+IGNsYXNzPSducCcgLz7BrNTY1tANCiAgICAJPGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSdzdGF0dXMnIHZhbHVlPScxJzw/cGhwIGlmKCRib29rc1snc3RhdHVzJ109PTEpIGVjaG8gJyBjaGVja2VkJzsgID8+IGNsYXNzPSducCcgLz7S0c3qs8nBrNTYDQogICAgCTxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0naXNjaGVjaycgdmFsdWU9JzAnPD9waHAgaWYoJGJvb2tzWydpc2NoZWNrJ109PTApIGVjaG8gJyBjaGVja2VkJzsgID8+IGNsYXNzPSducCcgLz7OtMnzussNCiAgICAJPGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSdpc2NoZWNrJyB2YWx1ZT0nMSc8P3BocCBpZigkYm9va3NbJ2lzY2hlY2snXT09MSkgZWNobyAnIGNoZWNrZWQnOyAgPz4gY2xhc3M9J25wJyAvPtLRyfO6yw0KICAgIDwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIxMTQiIGNsYXNzPSJibGluZSI+zbzK6bfiw+bNvMaso7o8L3RkPg0KICAgIDx0ZCBjb2xzcGFuPSIzIiBjbGFzcz0iYmxpbmUiPg0KICAgIAk8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIHdpZHRoPSI3NSUiIGhlaWdodD0iODEiPg0KICAgICAgICAJPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMSI+DQogICAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRkIGhlaWdodD0iMzAiPiCxvrXY1rG908nPtKvH67Xju/ehsOSvwMChsbC0xaUNCiAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImxpdHBpYyIgdHlwZT0iZmlsZSIgaWQ9ImxpdHBpYyIgIHN0eWxlPSJ3aWR0aDoyMDBweCIgb25jaGFuZ2U9IlNlZVBpYygkT2JqKCdwaWN2aWV3JyksJE9iaignbGl0cGljJykpOyIgLz4gICAgICAgICAgICA8L3RkPg0KICAgICAgICAgIDwvdHI+DQogICAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRkIGhlaWdodD0iMzAiPg0KICAgICAgICAgICAgCTxpbnB1dCBuYW1lPSJsaXRwaWNuYW1lIiB0eXBlPSJ0ZXh0IiBpZD0ibGl0cGljbmFtZSIgc3R5bGU9IndpZHRoOjI1MHB4IiB2YWx1ZT0iPD9waHAgZWNobyAkYm9va3NbJ2xpdHBpYyddOyA/PiIgY2xhc3M9J2FsbHR4dCcgLz4NCiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImJ1dHRvbiIgbmFtZT0iU3VibWl0MjIiIHZhbHVlPSLU2s341b7E2tGh1PEiIHN0eWxlPSJ3aWR0aDoxMjAiIG9uY2xpY2s9IlNlbGVjdEltYWdlKCdmb3JtMS5saXRwaWNuYW1lJywnc21hbGwnKTsiIGNsYXNzPSducCBjb29sYmcnIC8+IA0KICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICA8L3RhYmxlPjwvdGQ+DQogICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj4NCiAgICAgICAgCTxpbWcgc3JjPSI8P3BocCBpZigkYm9va3NbJ2xpdHBpYyddPT0nJykgZWNobyAnaW1hZ2VzL3B2aWV3LmdpZic7IGVsc2UgZWNobyAkYm9va3NbJ2xpdHBpYyddOyA/PiIgd2lkdGg9IjE1MCIgaWQ9InBpY3ZpZXciIG5hbWU9InBpY3ZpZXciIC8+DQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgIDwvdGFibGU+PC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjbGFzcz0iYmxpbmUiPrP1yry7r8r9vt2jujwvdGQ+DQogICAgPHRkIHdpZHRoPSIyMzgiIGNsYXNzPSJibGluZSI+1/fV36O6ICAgICAgDQogICAgICA8aW5wdXQgbmFtZT0iYXV0aG9yIiB0eXBlPSJ0ZXh0IiBpZD0iYXV0aG9yIiBzdHlsZT0id2lkdGg6MTIwcHgiIGNsYXNzPSdhbGx0eHQnIHZhbHVlPSI8P3BocCBlY2hvICRib29rc1snYXV0aG9yJ107ID8+Ii8+DQogICAgICA8aW5wdXQgbmFtZT0ic2Vsd3JpdGVyIiB0eXBlPSJidXR0b24iIGlkPSJzZWx3cml0ZXIiIHZhbHVlPSLRodTxIi8+DQogICAgPC90ZD4NCiAgICA8dGQgd2lkdGg9IjIyNCIgY2xhc3M9ImJsaW5lIj7Jz7zcyrG85KO6DQogICAgICA8aW5wdXQgbmFtZT0icHViZGF0ZSIgdHlwZT0idGV4dCIgaWQ9InB1YmRhdGUiIHZhbHVlPSI8P3BocCBlY2hvIEdldERhdGVNaygkYm9va3NbJ3B1YmRhdGUnXSk7ID8+IiBjbGFzcz0nYWxsdHh0JyAvPjwvdGQ+DQogICAgPHRkIHdpZHRoPSI1MTAiIGNsYXNzPSJibGluZSI+teO798G/o7oNCiAgICAgIDxpbnB1dCBuYW1lPSJjbGljayIgdHlwZT0idGV4dCIgaWQ9ImNsaWNrIiBzaXplPSI1IiB2YWx1ZT0iPD9waHAgZWNobyAkYm9va3NbJ2NsaWNrJ107ID8+IiBjbGFzcz0nYWxsdHh0JyAvPjwvdGQ+DQogIDwvdHI+DQogIDx0ciBoZWlnaHQ9IjMyIj4NCiAgICA8dGQgY2xhc3M9ImJsaW5lIj652Lz819ajujwvdGQ+DQogICAgPHRkIGNvbHNwYW49IjUiIGNsYXNzPSJibGluZSI+PGlucHV0IG5hbWU9ImtleXdvcmRzIiB0eXBlPSJ0ZXh0IiBpZD0ia2V5d29yZHMiIHZhbHVlPSI8P3BocCBlY2hvICRib29rc1sna2V5d29yZHMnXTsgPz4iIHNpemU9IjQwIiAvPiAgICAgIA0KICAgICAgyta2r8zu0LTTwyIsIrfWv6oNCiAgICAgIDxpbnB1dCB0eXBlPSJidXR0b24iIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IuSvwMAuLi4iIHN0eWxlPSJ3aWR0aDo1NjtoZWlnaHQ6MjAiIG9uQ2xpY2s9IlNlbGVjdEtleXdvcmRzKCdmb3JtMS5rZXl3b3JkcycpOyIgLz48L3RkPg0KICA8L3RyPg0KICA8dGQgY2xhc3M9ImJsaW5lIj7VqqGh0qqjujwvdGQ+DQogICAgPHRkIGNvbHNwYW49IjUiIGNsYXNzPSJibGluZSI+PHRleHRhcmVhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb2xzPSI4MCIgcm93cz0iMyIgaWQ9ImRlc2NyaXB0aW9uIj48P3BocCBlY2hvICRib29rc1snZGVzY3JpcHRpb24nXTsgPz48L3RleHRhcmVhPjwvdGQ+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIzMiIgY2xhc3M9ImJsaW5lIj6+38zlvenJ3KO6PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0iMyIgY2xhc3M9ImJsaW5lIj4mbmJzcDs8L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iODIiIGNvbHNwYW49IjQiPg0KICAgPD9waHANCglHZXRFZGl0b3IoImJvZHkiLCRib29rc1snYm9keSddLDMwMCk7DQoJPz4NCgkgIDwvdGQ+DQogICAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjcwIj4mbmJzcDs8L3RkPg0KICAgIDx0ZCBjb2xzcGFuPSIzIj4NCiAgICAJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0IiB2YWx1ZT0isaMgtOYiICBjbGFzcz0nbnAgY29vbGJnJy8+oaGhoQ0KICAgICAgPGlucHV0IHR5cGU9InJlc2V0IiBuYW1lPSJTdWJtaXQyIiB2YWx1ZT0i1tgg1sMiIGNsYXNzPSducCBjb29sYmcnIC8+DQogICAgPC90ZD4NCiAgPC90cj4NCjwvdGFibGU+DQo8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+wazU2NXCvdrB0LHtPC90aXRsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KZnVuY3Rpb24gRWRpdENoYXB0ZXIoY2lkKXsNCgkkT2JqKCdlZGl0Y2hhcHRlcicpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsNCgl2YXIgY2hhcHRlcmlkID0gY2lkOw0KCXZhciBjaGFwdGVybmFtZSA9ICRPYmooJ2NoYXB0ZXJuYW1lXycrY2lkKS52YWx1ZTsNCgl2YXIgY2hhcG51bSA9ICRPYmooJ2NoYXBudW1fJytjaWQpLnZhbHVlOw0KCXZhciBteWFqYXggPSBuZXcgRGVkZUFqYXgoJE9iaignZWRpdGNoYXB0ZXInKSxmYWxzZSx0cnVlLCIiLCIiLCLH68nUuvKjrNX91Nq0psDtLi4uIik7DQoJPD9waHAJaWYoc3RydG9sb3dlcihzdWJzdHIoJGNmZ19zb2Z0X2xhbmcsIDAsIDMpKSA9PSAndXRmJykgewk/Pg0KCQkvL3V0ZjgNCgkJbXlhamF4LkFkZEtleVV0ZjgoJ2NpZCcsY2lkKTsNCgkJbXlhamF4LkFkZEtleVV0ZjgoJ2NoYXB0ZXJuYW1lJyxjaGFwdGVybmFtZSk7DQoJCW15YWpheC5BZGRLZXlVdGY4KCdjaGFwbnVtJyxjaGFwbnVtKTsNCgkJbXlhamF4LkFkZEtleVV0ZjgoJ2FjdGlvbicsJ2VkaXRDaGFwdGVyJyk7DQoJCW15YWpheC5TZW5kUG9zdDIoJ3N0b3J5X2RvLnBocCcpOw0KCQk8P3BocCB9CWVsc2VpZiAoc3RydG9sb3dlcihzdWJzdHIoJGNmZ19zb2Z0X2xhbmcsIDAsIDIpKSA9PSAnZ2InKSB7CT8+DQoJCS8vZ2JrDQoJbXlhamF4LlNlbmRHZXQyKCJzdG9yeV9kby5waHA/Y2lkPSIrY2lkKyImY2hhcHRlcm5hbWU9IitjaGFwdGVybmFtZSsiJmNoYXBudW09IitjaGFwbnVtKyImYWN0aW9uPWVkaXRDaGFwdGVyIik7DQoJCTw/cGhwIH0/PgkNCglEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KPCEtLQ0KI2VkaXRjaGFwdGVyIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjI1MHB4Ow0KCWhlaWdodDoxNTBweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo4cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPGRpdiBjbGFzcz0iYm9keXRpdGxlIj4NCgk8ZGl2IGNsYXNzPSJib2R5dGl0bGVsZWZ0Ij48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJib2R5dGl0bGV0eHQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MTBweDsiPtChy7W53MDtIDxhIGhyZWY9Ii4uL2Jvb2siIHRhcmdldD0iX2JsYW5rIj5bsum/tMrX0rNdPC9hPjwvZGl2Pg0KPC9kaXY+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJ0YnRpdGxlIiBzdHlsZT0iCWJhY2tncm91bmQ6I0NGQ0ZDRjsiPg0KCTx0cj4NCgkJPHRkIGJnY29sb3I9IiNFREY5RDUiIGJhY2tncm91bmQ9ImltYWdlcy90YmcuZ2lmIiBjbGFzcz0idGJ0aXRsZXR4dCI+DQoJCSAgPHRhYmxlIHdpZHRoPSc5NiUnIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9JzAnIGNlbGxzcGFjaW5nPScwJz4NCiAgICAgICAgPHRyPg0KICAgICAgICAgIDx0ZCB3aWR0aD0nMzAlJyBjbGFzcz0idGJ0aXRsZXR4dCIgc3R5bGU9InBhZGRpbmctbGVmdDoxMHB4OyI+PHN0cm9uZz7BrNTY1cK92sHQse08L3N0cm9uZz48L3RkPg0KICAgICAgICAgIDx0ZCBhbGlnbj0ncmlnaHQnPg0KCQkJWzxhIGhyZWY9InN0b3J5X2Jvb2tzLnBocCI+PHU+zbzK6bncwO08L3U+PC9hPl0NCgkJCSZuYnNwOw0KCQkJWzxhIGhyZWY9InN0b3J5X2xpc3RfY29udGVudC5waHAiPjx1PsGs1NjE2sjdudzA7TwvdT48L2E+XQ0KCQkJCQk8L3RkPg0KICAgICAgIDwvdHI+DQogICAgIDwvdGFibGU+DQogICA8L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgc3R5bGU9IiBib3JkZXI6MXB4IHNvbGlkICNDRkNGQ0Y7bGluZS1oZWlnaHQ6MzFweDttYXJnaW46YXV0bztib3JkZXItdG9wOm5vbmU7Ij4NCiAgPHRyPg0KICAgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZDojZmZmZmZmO3BhZGRpbmc6M3B4OyIgPg0KICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iOTglIj4NCiAgICAgICA8dHI+DQogICAgICAgICA8dGQgd2lkdGg9JzUwJSc+DQogICAgPGZvcm0gbmFtZT0nZm9ybTEnIGFjdGlvbj0nc3RvcnlfbGlzdF9jaGFwdGVyLnBocCcgbWV0aG9kPSdnZXQnPg0KICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQogICAgICAgPHRyPg0KICAgICAgICAgPHRkIHN0eWxlPSdwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7Jz652Lz819Y6PC90ZD4NCiAgICAgICAgIDx0ZCBzdHlsZT0ncGFkZGluZy1yaWdodDoxMHB4Oyc+DQogICAgICAgICAJPGlucHV0IG5hbWU9ImtleXdvcmQiIHR5cGU9InRleHQiIGlkPSJrZXl3b3JkIiB2YWx1ZT0iPD9waHAgZWNobyAka2V5d29yZDsgPz4iIHNpemU9IjMwIiBjbGFzcz0nYWxsdHh0JyAvPg0KICAgICAgICAgPC90ZD4NCiAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTdWJtaXQiIHZhbHVlPSLL0SDL9yIgY2xhc3M9J25wIGNvb2xiZycgLz48L3RkPg0KICAgICAgICA8L3RyPg0KICAgICAgPC90YWJsZT4NCiAgICA8L2Zvcm0+IA0KICAgICA8L3RkPg0KICAgIDx0ZCBhbGlnbj0ncmlnaHQnPg0KICAgIAk8P3BocA0KICAgIAlpZighZW1wdHkoJGJvb2tpZCkpew0KICAgIAkJZWNobyAiPGEgaHJlZj0nc3RvcnlfYWRkX2NvbnRlbnQucGhwP2Jvb2tpZD17JGJvb2tpZH0nPsztvNPE2sjdPC9hPiB8ICI7DQogICAgCQllY2hvICI8YSBocmVmPSdzdG9yeV9saXN0X2NvbnRlbnQucGhwP2Jvb2tpZD17JGJvb2tpZH0nPrG+yunE2sjdPC9hPiB8ICI7DQogICAgCQllY2hvICI8YSBocmVmPSdzdG9yeV9saXN0X2NoYXB0ZXIucGhwJz7L+dPQ1cK92jwvYT4iOw0KICAgIAl9DQogICAgCT8+DQogICAgPC90ZD4NCiAgICA8L3RyPg0KICAgPC90YWJsZT4NCiAgIDwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KPGZvcm0gbmFtZT0nZm9ybTInIGFjdGlvbj0nc3RvcnlfZG8ucGhwJyBtZXRob2Q9J3Bvc3QnPg0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYWN0aW9uJyB2YWx1ZT0ndXBDaGFwdGVyU29ydCcgLz4NCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIxIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgc3R5bGU9IiBtYXJnaW4tdG9wOjNweDsgbWFyZ2luLWJvdHRvbTozcHg7IGJvcmRlcjoxcHggc29saWQgI0NGQ0ZDRjtsaW5lLWhlaWdodDozMXB4O2JhY2tncm91bmQ6I0Y5RkZFNjsiPg0KICA8dHIgYWxpZ249ImNlbnRlciIgc3R5bGU9ImJhY2tncm91bmQ6I0ZCRkNFMjtoZWlnaHQ6MjZweCI+DQogICAgPHRkIHdpZHRoPSIxMCUiPtGh1PE8L3RkPg0KICAgIDx0ZCB3aWR0aD0iMTAlIj7Vwr3a0PK6xTwvdGQ+DQogICAgPHRkIHdpZHRoPSIyOCUiPtXCvdrD+7PGPC90ZD4NCiAgICA8dGQgd2lkdGg9IjI4JSI+waXK9M28yuk8L3RkPg0KICAgIDx0ZD653MDtz+7EvzwvdGQ+DQogIDwvdHI+DQogIHtkZWRlOmRhdGFsaXN0fQ0KICA8dHIgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZmZmZjsiIGFsaWduPSJjZW50ZXIiIGhlaWdodD0iMjQiPg0KICAgIDx0ZD4NCiAgICAJPGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdpZHNbXScgaWQ9J2lkc3tkZWRlOmZpZWxkLmlkL30nIHZhbHVlPSd7ZGVkZTpmaWVsZC5pZC99JyBjbGFzcz0nbnAnLz4NCiAgICA8L3RkPg0KICAgIDx0ZCBzdHlsZT0icGFkZGluZzo1cHggMDsiPg0KICAgIAm12jxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0iY2hhcG51bV97ZGVkZTpmaWVsZC5pZC99IiBuYW1lPSdjaGFwbnVtX3tkZWRlOmZpZWxkLmlkL30nIHZhbHVlPSd7ZGVkZTpmaWVsZC5jaGFwbnVtL30nIHNpemU9JzMnIGNsYXNzPSdhbGx0eHQnIC8+1cINCiAgICA8L3RkPg0KICAgIDx0ZD48aW5wdXQgdHlwZT0ndGV4dCcgaWQ9ImNoYXB0ZXJuYW1lX3tkZWRlOmZpZWxkLmlkL30iIG5hbWU9J2NoYXB0ZXJuYW1lX3tkZWRlOmZpZWxkLmlkL30nIHZhbHVlPSd7ZGVkZTpmaWVsZC5jaGFwdGVybmFtZS99JyBzdHlsZT0nd2lkdGg6OTYlJyBjbGFzcz0nYWxsdHh0JyAvPjwvdGQ+DQogICAgPHRkPg0KICAgIAk8YSBocmVmPSdzdG9yeV9saXN0X2NvbnRlbnQucGhwP2Jvb2tpZD17ZGVkZTpmaWVsZC5pZC99Jz57ZGVkZTpmaWVsZC5ib29rbmFtZS99PC9hPg0KICAgPC90ZD4NCiAgICA8dGQ+IA0KICAgIAk8YSBocmVmPSdzdG9yeV9saXN0X2NvbnRlbnQucGhwP2NoYXBpZD17ZGVkZTpmaWVsZC5pZC99JmJvb2tpZD17ZGVkZTpmaWVsZC5ib29raWQvfSc+xNrI3Sh7ZGVkZTpmaWVsZC5wb3N0bnVtL30pPC9hPiB8IA0KICAgIAk8YSBocmVmPSJqYXZhc2NyaXB0OkVkaXRDaGFwdGVyKCd7ZGVkZTpmaWVsZC5pZC99Jyk7Ij64/NDCPC9hPiB8DQogICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OkRlbFN0b3J5Q2hhcHRlcigne2RlZGU6ZmllbGQuaWQvfScpIj7JvrP9PC9hPg0KICAgIDwvdGQ+DQogIDwvdHI+DQp7L2RlZGU6ZGF0YWxpc3R9DQo8L3RhYmxlPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCAjQ0ZDRkNGO2xpbmUtaGVpZ2h0OjM1cHg7aGVpZ2h0OjM1cHg7bWFyZ2luLWJvdHRvbTozcHg7Ij4NCgk8dHI+DQoJCSA8dGQgYmdjb2xvcj0iI2ZmZmZmZiIgc3R5bGU9InBhZGRpbmctbGVmdDoxMHB4OyIgPg0KCQkgCTxpbnB1dCB0eXBlPSdidXR0b24nIG5hbWU9J3NidDEwMicgdmFsdWU9J7e00aEnIG9uQ2xpY2s9J1JlU2VsQ2hhcHRlcigpJyBjbGFzcz0nbnAgY29vbGJnJyAvPg0KCQkgCSZuYnNwOw0KCQkgCTxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3NidDEnIHZhbHVlPSfF+sG/0N64xCcgY2xhc3M9J25wIGNvb2xiZycgLz4NCgkJIAkoxfrBv9DeuMTRodbQz+4pDQoJCSA8L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjwvZm9ybT4NCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgc3R5bGU9IiBib3JkZXI6MXB4IHNvbGlkICNDRkNGQ0Y7bGluZS1oZWlnaHQ6MzBweDttYXJnaW46YXV0bzsiPg0KCQk8dHI+DQoJCSAgPHRkIHN0eWxlPSJiYWNrZ3JvdW5kOiNGOUZDRUY7IiA+DQoJCQkge2RlZGU6cGFnZWxpc3QgbGlzdHNpemU9NSAvfQ0KCQkgIDwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KPC9kaXY+DQo8ZGl2IGlkPSdlZGl0Y2hhcHRlcic+PC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+wazU2MTayN3B0LHtPC90aXRsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoyOw0KCWJhY2tncm91bmQtY29sb3I6ICNGMkZEREI7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPGRpdiBjbGFzcz0iYm9keXRpdGxlIj4NCgk8ZGl2IGNsYXNzPSJib2R5dGl0bGVsZWZ0Ij48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJib2R5dGl0bGV0eHQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MTBweDsiPtChy7W53MDtIDxhIGhyZWY9Ii4uL2Jvb2siIHRhcmdldD0iX2JsYW5rIj5bsum/tMrX0rNdPC9hPjwvZGl2Pg0KPC9kaXY+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJ0YnRpdGxlIiBzdHlsZT0iYmFja2dyb3VuZDojQ0ZDRkNGOyI+DQoJPHRyPg0KCQk8dGQgYmdjb2xvcj0iI0VERjlENSIgYmFja2dyb3VuZD0naW1hZ2VzL3RiZy5naWYnPg0KCQkgIDx0YWJsZSB3aWR0aD0nOTYlJyBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPScwJyBjZWxsc3BhY2luZz0nMCc+DQogICAgICAgIDx0cj4NCiAgICAgICAgICA8dGQgd2lkdGg9JzMwJScgY2xhc3M9InRidGl0bGV0eHQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MTBweDsiPjxzdHJvbmc+wazU2MTayN3B0LHtPC9zdHJvbmc+PC90ZD4NCiAgICAgICAgICA8dGQgYWxpZ249J3JpZ2h0Jz4NCgkJCVs8YSBocmVmPSJzdG9yeV9ib29rcy5waHAiPjx1Ps28yum53MDtPC91PjwvYT5dDQoJCQkmbmJzcDsNCgkJCVs8YSBocmVmPSJzdG9yeV9hZGQucGhwIj48dT7QwtT2zbzK6TwvdT48L2E+XQ0KCQkJJm5ic3A7DQoJCQlbPGEgaHJlZj0ic3RvcnlfY2F0YWxvZy5waHAiPjx1PsC4xL+53MDtPC91PjwvYT5dDQoJCQkJCTwvdGQ+DQogICAgICAgPC90cj4NCiAgICAgPC90YWJsZT4NCiAgIDwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iIGJvcmRlcjoxcHggc29saWQgI0NGQ0ZDRjtsaW5lLWhlaWdodDozMXB4O21hcmdpbjphdXRvO2JvcmRlci10b3A6bm9uZTsiPg0KICA8dHI+DQogICAgPHRkIHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmZmZmY7cGFkZGluZzozcHg7IiA+DQogICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iOTglIj4NCiAgICAgICA8dHI+DQogICAgICAgICA8dGQgd2lkdGg9JzUwJSc+DQogICAgPGZvcm0gbmFtZT0nZm9ybTEnIGFjdGlvbj0nc3RvcnlfbGlzdF9jb250ZW50LnBocCcgbWV0aG9kPSdnZXQnPg0KICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQogICAgICAgPHRyPg0KICAgICAgICAgPHRkIHN0eWxlPSdwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7Jz652Lz819Y6PC90ZD4NCiAgICAgICAgIDx0ZCBzdHlsZT0ncGFkZGluZy1yaWdodDoxMHB4Oyc+DQogICAgICAgICAJPGlucHV0IG5hbWU9ImtleXdvcmQiIHR5cGU9InRleHQiIGlkPSJrZXl3b3JkIiB2YWx1ZT0iPD9waHAgZWNobyAka2V5d29yZDsgPz4iIHNpemU9IjMwIiBjbGFzcz0nYWxsdHh0JyAvPg0KICAgICAgICAgPC90ZD4NCiAgICAgICAgIDx0ZCBzdHlsZT0ncGFkZGluZy1yaWdodDoxMHB4Oyc+DQogICAgICAgICA8c2VsZWN0IG5hbWU9J2Jvb2t0eXBlJz4NCiAgICAgICAgIDxvcHRpb24gdmFsdWU9Jy0xJz7A4NDNPC9vcHRpb24+DQogICAgICAgICA8b3B0aW9uIHZhbHVlPScwJz7Qocu1PC9vcHRpb24+DQogICAgICAgICA8b3B0aW9uIHZhbHVlPScxJz7C/rutPC9vcHRpb24+DQogICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgIDwvdGQ+DQogICAgICAgICA8dGQ+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0IiB2YWx1ZT0iy9Egy/ciICBjbGFzcz0nbnAgY29vbGJnJyAvPjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICA8L3RhYmxlPg0KICAgIDwvZm9ybT4gIA0KICAgICA8L3RkPg0KICAgIDx0ZCBhbGlnbj0ncmlnaHQnPg0KICAgIAk8P3BocA0KICAgIAlpZighZW1wdHkoJGJvb2tpZCkpew0KICAgIAkJZWNobyAiPGEgaHJlZj0nc3RvcnlfYWRkX2NvbnRlbnQucGhwP2Jvb2tpZD17JGJvb2tpZH0nPsztvNPE2sjdPC9hPiB8ICI7DQogICAgCQllY2hvICI8YSBocmVmPSdzdG9yeV9saXN0X2NoYXB0ZXIucGhwP2Jvb2tpZD17JGJvb2tpZH0nPrG+yunVwr3aPC9hPiB8ICI7DQogICAgCQllY2hvICI8YSBocmVmPSdzdG9yeV9saXN0X2NvbnRlbnQucGhwJz7L+dPQxNrI3TwvYT4iOw0KICAgIAl9DQogICAgCT8+DQogICAgPC90ZD4NCiAgICA8L3RyPg0KICAgPC90YWJsZT4NCiAgIDwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iIG1hcmdpbi10b3A6M3B4OyBtYXJnaW4tYm90dG9tOjNweDsgbGluZS1oZWlnaHQ6MzFweDtiYWNrZ3JvdW5kOiNDRkNGQ0Y7Ij4NCiAgPHRyIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGQkZDRTI7aGVpZ2h0OjI2cHgiPg0KICAgIDx0ZCB3aWR0aD0iMjQlIj7OxNXCserM4jwvdGQ+DQogICAgPHRkIHdpZHRoPSIzMiUiIGFsaWduPSdsZWZ0JyBzdHlsZT0icGFkZGluZy1sZWZ0OjhweDsiPs28yunD+7PGL9XCvdrD+7PGL9XCvdrE2tDyusU8L3RkPg0KICAgIDx0ZCB3aWR0aD0iMTIlIj7M7bzTyrG85DwvdGQ+DQogICAgPHRkPrncwO3P7sS/PC90ZD4NCiAgPC90cj4NCntkZWRlOmRhdGFsaXN0fQ0KICA8dHIgYWxpZ249ImNlbnRlciIgaGVpZ2h0PScyNicgYmdjb2xvcj0iI0ZGRkZGRiIgaGVpZ2h0PSIyNiIgYWxpZ249ImNlbnRlciIgb25Nb3VzZU1vdmU9ImphdmFzY3JpcHQ6dGhpcy5iZ0NvbG9yPScjRkNGREVFJzsiIG9uTW91c2VPdXQ9ImphdmFzY3JpcHQ6dGhpcy5iZ0NvbG9yPScjRkZGRkZGJzsiPg0KICAgIDx0ZCBhbGlnbj0iY2VudGVyIj57ZGVkZTpmaWVsZC50aXRsZS99PC90ZD4NCiAgICA8dGQgYWxpZ249J2xlZnQnICBzdHlsZT0icGFkZGluZy1sZWZ0OjhweDsiPg0KCTxhIGhyZWY9J3N0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPXtkZWRlOmZpZWxkLmJvb2tpZC99Jz57ZGVkZTpmaWVsZC5ib29rbmFtZS99PC9hPg0KCTxhIGhyZWY9J3N0b3J5X2xpc3RfY29udGVudC5waHA/Ym9va2lkPXtkZWRlOmZpZWxkLmJvb2tpZC99JmNoYXBpZD17ZGVkZTpmaWVsZC5jaGFwdGVyaWQvfSc+e2RlZGU6ZmllbGQuY2hhcHRlcm5hbWUvfTwvYT57ZGVkZTpmaWVsZC5zb3J0aWQvfSAgICA8L3RkPg0KICAgIDx0ZD4ge2RlZGU6ZmllbGQuYWRkdGltZSBmdW5jdGlvbj1HZXREYXRlTUsoQG1lKS99PC90ZD4NCiAgICA8dGQ+IA0KICAgIAk8YSBocmVmPSdqYXZhc2NyaXB0OlByZVZpZXdDdCh7ZGVkZTpmaWVsZC5pZC99LHtkZWRlOmZpZWxkLmJvb2t0eXBlL30pOyc+1KTAwDwvYT4gfA0KICAgIAk8P3BocA0KICAgIAlpZigkZmllbGRzWydib29rdHlwZSddPT0xKSAkZWRpdGZpbGUgPSAnc3RvcnlfcGhvdG9fZWRpdC5waHA/Y2lkPSc7DQogICAgCWVsc2UgJGVkaXRmaWxlID0gJ3N0b3J5X2NvbnRlbnRfZWRpdC5waHA/Y2lkPSc7DQogICAgCT8+DQogICAgCTxhIGhyZWY9Jzw/cGhwIGVjaG8gJGVkaXRmaWxlLiRmaWVsZHNbJ2lkJ107ID8+Jz7Q3rjEPC9hPiB8DQogICAgICA8YSBocmVmPSdqYXZhc2NyaXB0OkRlbFN0b3J5Q29udGVudCh7ZGVkZTpmaWVsZC5pZC99KSc+yb6z/TwvYT4gICAgPC90ZD4NCiAgPC90cj4NCnsvZGVkZTpkYXRhbGlzdH0NCjwvdGFibGU+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSIgYm9yZGVyOjFweCBzb2xpZCAjQ0ZDRkNGO2xpbmUtaGVpZ2h0OjMxcHg7bWFyZ2luOmF1dG87Ij4NCgkJPHRyPg0KCQkgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZDojRjlGQ0VGOyIgPg0KCQkgIHtkZWRlOnBhZ2VsaXN0IGxpc3RzaXplPTUgL30NCgkJICA8L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+0N64xMGs1NjE2sjdPC90aXRsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoyOw0KCWJhY2tncm91bmQtY29sb3I6ICNGMkZEREI7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQoNCjwvaGVhZD4NCjxib2R5IGJhY2tncm91bmQ9J2ltYWdlcy9hbGxiZy5naWYnIGxlZnRtYXJnaW49JzgnIHRvcG1hcmdpbj0nOCc+DQo8ZGl2IGNsYXNzPSJib2R5dGl0bGUiPg0KCTxkaXYgY2xhc3M9ImJvZHl0aXRsZWxlZnQiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImJvZHl0aXRsZXR4dCI+0KHLtbncwO08L2Rpdj4NCjwvZGl2Pg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIiBjbGFzcz0idGJ0aXRsZSIgc3R5bGU9IgliYWNrZ3JvdW5kOiNDRkNGQ0Y7Ij4NCgk8dHI+DQoJPHRkIGJnY29sb3I9IiNFREY5RDUiIGNsYXNzPSJ0YnRpdGxldHh0Ij4gDQoJICA8dGFibGUgd2lkdGg9Jzk2JScgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPg0KICAgICA8dHI+DQogICAgIDx0ZCB3aWR0aD0nMzAlJyBjbGFzcz0idGJ0aXRsZXR4dCI+PHN0cm9uZz7E2sjdKML+u63A4CkmZ3Q7Jmd0O9DeuMTE2sjdPC9zdHJvbmc+PC90ZD4NCiAgICAgPHRkIGFsaWduPSdyaWdodCc+DQoJCQlbPGEgaHJlZj0ic3RvcnlfbGlzdF9jb250ZW50LnBocD9ib29raWQ9PD9waHAgZWNobyAkYm9va2lkOyA/PiI+PHU+sb7NvMrpxNrI3cHQse08L3U+PC9hPl0NCgkJCSZuYnNwOwkNCgkJCVs8YSBocmVmPSJzdG9yeV9ib29rcy5waHAiPjx1Psv509DNvMrpPC91PjwvYT5dDQoJCQk8L3RkPg0KICAgICA8L3RyPg0KICAgIDwvdGFibGU+DQogIDwvdGQ+DQogPC90cj4NCjwvdGFibGU+DQo8Zm9ybSBuYW1lPSdmb3JtMScgYWN0aW9uPSdzdG9yeV9lZGl0X3Bob3RvX2FjdGlvbi5waHAnIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0ncG9zdCc+CQkNCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NpZCcgdmFsdWU9Jzw/cGhwIGVjaG8gJGNpZDsgPz4nIC8+DQo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29raWQnIHZhbHVlPSc8P3BocCBlY2hvICRib29raWQ7ID8+JyAvPgkNCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NhdGlkJyB2YWx1ZT0nPD9waHAgZWNobyAkY2F0aWQ7ID8+JyAvPg0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYm9va25hbWUnIHZhbHVlPSc8P3BocCBlY2hvIHN0cl9yZXBsYWNlKCInIiwiYCIsJGJvb2tuYW1lKTsgPz4nIC8+DQo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29rdHlwZScgdmFsdWU9Jzw/cGhwIGVjaG8gJGJvb2t0eXBlOyA/PicgLz4NCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgc3R5bGU9IiBib3JkZXI6MXB4IHNvbGlkICNDRkNGQ0Y7bGluZS1oZWlnaHQ6MzFweDttYXJnaW46YXV0bzsiPg0KCQk8dHI+DQoJCSAgPHRkIHN0eWxlPSJiYWNrZ3JvdW5kOiNGOUZGRTY7cGFkZGluZzo3cHggNnB4IDZweCAxMHB4OyIgPg0KCQkgIDxmb250IGNvbG9yPSdyZWQnPjw/cGhwIGlmKGlzc2V0KCRtc2cpKWVjaG8gJG1zZzsgPz48L2ZvbnQ+DQoJCSAgPC90ZD4NCiAgPC90cj4NCjx0cj4NCjx0ZCBoZWlnaHQ9IjExNiIgYmdjb2xvcj0iI0ZGRkZGRiIgc3R5bGU9InBhZGRpbmc6MHB4IDZweCA2cHggMTBweDsiPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4NCiAgIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIzMiIgY2xhc3M9ImJsaW5lIj7ErMjPserM4qO6PC90ZD4NCiAgICA8dGQgY2xhc3M9ImJsaW5lIj48aW5wdXQgbmFtZT0idGl0bGUiIHR5cGU9InRleHQiIGlkPSJ0aXRsZSIgc2l6ZT0iMzUiIHZhbHVlPSI8P3BocCBlY2hvICRjb250ZW50c1sndGl0bGUnXTsgID8+IiAvPjwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgc3R5bGU9IndpZHRoOjEyMHB4IiBjbGFzcz0iYmxpbmUiPsGlyvTNvMrpw/uzxqO6PC90ZD4NCiAgICA8dGQgY2xhc3M9ImJsaW5lIj4NCiAgICAJPD9waHAgZWNobyAkYm9va25hbWU7ID8+ICAgIDwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgc3R5bGU9IndpZHRoOjEyMHB4IiBjbGFzcz0iYmxpbmUiPtTa1cK92tbQtcTLs9Dyo7o8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiPg0KICAgIAk8aW5wdXQgbmFtZT0ic29ydGlkIiB0eXBlPSJ0ZXh0IiBpZD0ic29ydGlkIiBzaXplPSI1IiB2YWx1ZT0iPD9waHAgZWNobyAkY29udGVudHNbJ3NvcnRpZCddOyAgPz4iIC8+DQogICAgPC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjbGFzcz0iYmxpbmUiPg0KICAgIMGlyvTVwr3ao7o8YnIgLz4NCgkgIDxpbnB1dCBuYW1lPSJhZGRjaGFwdGVyIiB0eXBlPSJjaGVja2JveCIgb25DbGljaz0iU2hvd0hpZGVTZWxDaGFwdGVyKCdzZWxjaGFwJywnbmV3Y2hhcCcpIiBpZD0iYWRkY2hhcHRlciIgdmFsdWU9IjEiIC8+DQogICAgzO2809DC1cK92iAgICA8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiIHN0eWxlPSJwYWRkaW5nLXRvcDo1cHg7cGFkZGluZy1ib3R0b206NXB4Ij4NCiAgICA8c3BhbiBpZD0nc2VsY2hhcCcgc3R5bGU9ImRpc3BsYXk6YmxvY2siPg0KICAgIDxzZWxlY3QgbmFtZT0iY2hhcHRlcmlkIiBzaXplPSI1IiBpZD0iY2hhcHRlcmlkIiBzdHlsZT0id2lkdGg6MjUwcHgiPg0KICAgIAk8P3BocA0KICAgIAlmb3JlYWNoKCRjaGFwdGVycyBhcyAkaz0+JHYpew0KICAgIAkJaWYoJGs9PSRjb250ZW50c1snY2hhcHRlcmlkJ10peyBlY2hvICIgICAgPG9wdGlvbiB2YWx1ZT0nJGsnIHNlbGVjdGVkPrXaeyRjaGFwbnVtc1ska1191cIgJHY8L29wdGlvbj5cclxuIjsgfQ0KICAgIAkJZWxzZSBlY2hvICIgICAgPG9wdGlvbiB2YWx1ZT0nJGsnPrXaeyRjaGFwbnVtc1ska1191cIgJHY8L29wdGlvbj5cclxuIjsNCiAgICAJfQ0KICAgIAk/Pg0KICAgIDwvc2VsZWN0Pg0KCTwvc3Bhbj4NCiAgICA8c3BhbiBpZD0ibmV3Y2hhcCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+DQoJ0MLVwr3aw/uzxqO6DQogICAgICAgICAgPGlucHV0IG5hbWU9ImNoYXB0ZXJuZXciIHR5cGU9InRleHQiIGlkPSJjaGFwdGVybmV3IiBzaXplPSIzMCIgLz4NCiAgICAgICAgICA8YnIgLz4NCqOoyOe5+8O709C/ydGh1cK92rvy0tHT0NXCvdrS0b6tveHK+KOsx+vM7tC00MLVwr3aw/uzxqOsw/uzxsnPsrvQ6LzTobC12ljVwqGx1eLR+bXE19bR+aOpDQoJPC9zcGFuPg0KPC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjb2xzcGFuPSIyIiBjbGFzcz0iYmxpbmUiPqGhoaHOqsHLt72x48T6tcS24Maqwv67rbvyxuTL/MGs1NjNvMast6KyvKOsxPq/ydLU1Nq0y82syrHJz7SrtuC49s28xqyjrM+1zbO74dfUtq+9q8bkt9a47rPJtuDGqs7EtbWjrMjnufvE+rXExNrI3db3zOLKx7K70OjSqrWltsDJ6LaotcSjrL/JsrvWuLaow7+49s28xqy1xLHqzOKjrM+1zbO9q9fUtq+yydPDxKzIz7HqzOK808r919a9+NDQserKtqGjPC90ZD4NCiAgICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGNvbHNwYW49IjIiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZCB3aWR0aD0iODAiPiZuYnNwO9S2s8zNvMaso7o8L3RkPg0KICAgICAgICA8dGQgY29sc3Bhbj0iMyI+PGlucHV0IG5hbWU9ImlzcmVtb3RlIiB0eXBlPSJjaGVja2JveCIgaWQ9ImlzcmVtb3RlIiAgdmFsdWU9IjEiIC8+DQrPwtTYtb2xvrXYIDwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICANCiAgICA8L3RhYmxlPjwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSI4MiIgY29sc3Bhbj0iMiIgc3R5bGU9InBhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweCI+DQoJPHRhYmxlIHdpZHRoPSI5MCUiIGJvcmRlcj0iMCIgaWQ9InNlbHRiIiBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjEiIGJnY29sb3I9IiNFOEY1RDYiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjZweDttYXJnaW4tbGVmdDoxMHB4Ij4NCjx0b2JkeT4NCjx0ciBiZ2NvbG9yPSIjRjRGOUREIj4NCjx0ZCBoZWlnaHQ9IjI1IiBjb2xzcGFuPSIyIj4NCiAmbmJzcDs8c3Ryb25nPs28xqyjujwvc3Ryb25nPjwvdGQ+DQo8L3RyPg0KPHRyIGJnY29sb3I9IiNGRkZGRkYiPiANCjx0ZCB3aWR0aD0iNzAlIiBoZWlnaHQ9IjI1Ij4NCqGhsb612MnPtKujuiANCjxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSdpbWdmaWxlJyBzdHlsZT0id2lkdGg6MzMwcHgiIG9uQ2hhbmdlPSJTZWVQaWMoZG9jdW1lbnQucGljdmlldyxkb2N1bWVudC5mb3JtMS5pbWdmaWxlKTsiIC8+PC90ZD4NCjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0icGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4Ij4NCjxpbWcgc3JjPSI8P3BocCBpZigkY29udGVudHNbJ2JpZ3BpYyddPT0nJykgZWNobyAnaW1hZ2VzL3B2aWV3LmdpZic7IGVsc2UgZWNobyAkY29udGVudHNbJ2JpZ3BpYyddOyA/PiIgd2lkdGg9IjE1MCIgaWQ9InBpY3ZpZXciIG5hbWU9InBpY3ZpZXciIC8+PC90ZD4NCjwvdHI+DQo8dHIgYmdjb2xvcj0iI0ZGRkZGRiI+IA0KPHRkIGhlaWdodD0iMjUiPiChoda4tqjN+Na3o7ogDQo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0naW1ndXJsJyBzdHlsZT0id2lkdGg6MjYwcHgiIHZhbHVlPSI8P3BocCBlY2hvICRjb250ZW50c1snYmlncGljJ107ID8+IiAvPiANCjxpbnB1dCB0eXBlPSJidXR0b24iIG5hbWU9J3NlbHBpYycgdmFsdWU9ItGhyKEiIHN0eWxlPSJ3aWR0aDo2NXB4IiBvbkNsaWNrPSJTZWxlY3RJbWFnZU4oJ2Zvcm0xLmltZ3VybCcsJ2JpZycsJ3BpY3ZpZXcnKSIgLz48L3RkPg0KPC90cj4NCjwvdG9iZHk+DQo8L3RhYmxlPg0KCTwvdGQ+DQogICAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjcwIj4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTdWJtaXQiIHZhbHVlPSKxoyC05iIgY2xhc3M9J25wIGNvb2xiZycgLz6hoaGhDQogICAgICA8aW5wdXQgdHlwZT0icmVzZXQiIG5hbWU9IlN1Ym1pdDIiIHZhbHVlPSLW2CDWwyIgY2xhc3M9J25wIGNvb2xiZycgLz48L3RkPg0KICA8L3RyPg0KPC90YWJsZT48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+yfqzyUhUTUw8L3RpdGxlPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSJqcy9tYWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0iLi4vaW5jbHVkZS9qcy9kZWRlYWpheDIuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSJqcy9zdG9yeS5qcyI+PC9zY3JpcHQ+DQo8bGluayBocmVmPSdjc3MvYmFzZS5jc3MnIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnPg0KPC9oZWFkPg0KPGJvZHkgYmFja2dyb3VuZD0naW1hZ2VzL2FsbGJnLmdpZicgbGVmdG1hcmdpbj0nOCcgdG9wbWFyZ2luPSc4Jz4NCjxkaXYgY2xhc3M9ImJvZHl0aXRsZSI+DQoJPGRpdiBjbGFzcz0iYm9keXRpdGxlbGVmdCI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iYm9keXRpdGxldHh0IiBzdHlsZT0icGFkZGluZy1sZWZ0OjEwcHg7Ij7BrNTYudzA7TwvZGl2Pg0KPC9kaXY+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJiYWNrZ3JvdW5kOiNDRkNGQ0Y7Ij4NCgkJPHRyPg0KCQk8dGQgaGVpZ2h0PSIyNSIgYmdjb2xvcj0iI0VERjlENSIgYmFja2dyb3VuZD0iaW1hZ2VzL3RiZy5naWYiIGNsYXNzPSJ0YnRpdGxldHh0Ij4gDQoJCSA8dGFibGUgd2lkdGg9Jzk2JScgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MTBweDsiPg0KICAgICAgICA8dHI+DQogICAgICAgICAgPHRkIHdpZHRoPSczMCUnIGNsYXNzPSJ0YnRpdGxldHh0Ij48c3Ryb25nPrj80MLBrNTYzbzK6UhUTUw8L3N0cm9uZz48L3RkPg0KICAgICAgICAgIDx0ZCBhbGlnbj0ncmlnaHQnPls8YSBocmVmPSJzdG9yeV9ib29rcy5waHAiPjx1PsGs1NjE2sjdwdCx7TwvdT48L2E+XTwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICA8L3RhYmxlPg0KCQk8L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjxmb3JtIG5hbWU9ImZvcm0xIiBhY3Rpb249Im1ha2VodG1sX3N0b3J5LnBocCIgbWV0aG9kPSJnZXQiIHRhcmdldD0nc3RhZnJtJz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9Im1ha2UiPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgYWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBzdHlsZT0iIGJvcmRlcjoxcHggc29saWQgI0NGQ0ZDRjtsaW5lLWhlaWdodDozMXB4O21hcmdpbjphdXRvO2JvcmRlci10b3A6bm9uZTsiPg0KICAgPHRyPiANCiAgICAgIDx0ZCBoZWlnaHQ9IjIwIiB2YWxpZ249InRvcCIgYmdjb2xvcj0iI0ZGRkZGRiI+oaHLtcP3o7rErMjPtcTH6b/2z8KjrLG+s8zQ8ta7uPzQws28yunE2sjdt+LD5rXESFRNTKGjPC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCBoZWlnaHQ9IjQyIiBiZ2NvbG9yPSIjRkZGRkZGIj6hoc28yum/qsq8SUSjug0KICAgICAgICA8aW5wdXQgbmFtZT0ic3RhcnRpZCIgdHlwZT0idGV4dCIgaWQ9InN0YXJ0aWQiIHZhbHVlPSIxIiBzaXplPSI1IiBjbGFzcz0nYWxsdHh0JyAvPiANCiAgICAgIL3hyvhJRKO6DQogICAgICA8aW5wdXQgbmFtZT0iZW5kaWQiIHR5cGU9InRleHQiIGlkPSJlbmRpZCIgdmFsdWU9IjAiIHNpemU9IjUiIGNsYXNzPSdhbGx0eHQnIC8+DQogICAgICCjqDCx7cq+tNO/qsq8tb3Iq7K/o6kgDQogICAgICDDv8X6yv3Bv6O6DQogICAgICA8aW5wdXQgbmFtZT0ibWFrZW51bSIgdHlwZT0idGV4dCIgaWQ9Im1ha2VudW0iIHZhbHVlPSI1MCIgc2l6ZT0iNSIgY2xhc3M9J2FsbHR4dCcgLz4NCiAgICAgIMC4xL+juiANCiAgICAgIDxzZWxlY3QgbmFtZT0iY2F0aWQiIGlkPSJjYXRpZCIgc3R5bGU9IndpZHRoOjE1MHB4Ij4NCiAgICAgICAgPG9wdGlvbiB2YWx1ZT0nMCc+x+vRodTxwLjEvzwvb3B0aW9uPg0KICAgICAgICA8P3BocA0KICAgIGlmKCFpc3NldCgkY2F0aWQpKSAkY2F0aWQgPSAwOw0KICAgIGZvcmVhY2goJGJ0eXBlcyBhcyAkaz0+JHYpDQogICAgew0KICAgIAlpZigkY2F0aWQhPSRrKSBlY2hvICI8b3B0aW9uIHZhbHVlPSckayc+W3skYm9va3R5cGVzWyRrXX1dJHY8L29wdGlvbj5cclxuIjsNCiAgICAJZWxzZSBlY2hvICI8b3B0aW9uIHZhbHVlPSckaycgc2VsZWN0ZWQ+W3skYm9va3R5cGVzWyRrXX1dJHY8L29wdGlvbj5cclxuIjsNCiAgICAJZm9yZWFjaCgkc3R5cGVzWyRrXSBhcyAka2s9PiR2dikNCiAgICAJew0KICAgIAkJaWYoJGNhdGlkIT0ka2spICBlY2hvICI8b3B0aW9uIHZhbHVlPScka2snPiAtLVt7JGJvb2t0eXBlc1ska119XSR2djwvb3B0aW9uPlxyXG4iOw0KICAgIAkJZWxzZSBlY2hvICI8b3B0aW9uIHZhbHVlPScka2snIHNlbGVjdGVkPiAtLVt7JGJvb2t0eXBlc1ska119XSR2djwvb3B0aW9uPlxyXG4iOw0KICAgIAl9DQogICAgfQ0KICAgID8+DQogICAgICA8L3NlbGVjdD4NCiAgICAgPC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4gDQogICAgICA8dGQgaGVpZ2h0PSI0MiIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0ZGRkZGRiI+DQogICAgICAJPGlucHV0IG5hbWU9ImIxMTIiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9Ir+qyrzJ+rPJSFRNTCIgb25DbGljaz0iZG9jdW1lbnQuZm9ybTEuc3VibWl0KCk7IiBjbGFzcz0nbnAgY29vbGJnJyAvPg0KICAgICAgPC90ZD4NCiAgICA8L3RyPg0KICA8dHIgYmdjb2xvcj0iI0Y5RkNFRiI+IA0KICAgIDx0ZCBoZWlnaHQ9IjIwIiBiZ2NvbG9yPSIjRjlGQ0VGIj4NCiAgICA8dGFibGUgd2lkdGg9IjEwMCUiPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgd2lkdGg9Ijc0JSI+vfjQ0Ne0zKyjuiA8L3RkPg0KICAgICAgICA8dGQgd2lkdGg9IjI2JSIgYWxpZ249InJpZ2h0Ij4NCiAgICAgICAgCTxzY3JpcHQgbGFuZ3VhZ2U9J0phdmFTY3JpcHQnIHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgICAgICAgICAJZnVuY3Rpb24gUmVzaXplRGl2KG9iaix0eSkNCiAgICAgICAgICAgIAl7DQogICAgICAgICAgICAJCWlmKHR5PT0iKyIpIGRvY3VtZW50LmFsbFtvYmpdLnN0eWxlLnBpeGVsSGVpZ2h0ICs9IDUwOw0KICAgICAgICAgICAgCQllbHNlIGlmKGRvY3VtZW50LmFsbFtvYmpdLnN0eWxlLnBpeGVsSGVpZ2h0PjgwKSBkb2N1bWVudC5hbGxbb2JqXS5zdHlsZS5waXhlbEhlaWdodCA9IGRvY3VtZW50LmFsbFtvYmpdLnN0eWxlLnBpeGVsSGVpZ2h0IC0gNTA7DQogICAgICAgICAgICAJfQ0KICAgICAgICAgICAgCTwvc2NyaXB0Pg0KICAgICAgICAgIFs8YSBocmVmPScjJyBvbmNsaWNrPSJSZXNpemVEaXYoJ21kdicsJysnKTsiPtT2tPM8L2E+XSBbPGEgaHJlZj0nIycgb25jbGljaz0iUmVzaXplRGl2KCdtZHYnLCctJyk7Ij7L9dChPC9hPl0gPC90ZD4NCiAgICAgIDwvdHI+DQogICAgPC90YWJsZT4NCiAgICA8L3RkPg0KICA8L3RyPg0KICA8dHIgYmdjb2xvcj0iI0ZGRkZGRiI+IA0KICAgIDx0ZCBpZD0ibXRkIj4NCiAgICAJPGRpdiBpZD0nbWR2JyBzdHlsZT0nd2lkdGg6MTAwJTtoZWlnaHQ6MTAwOyc+IA0KICAgICAgICA8aWZyYW1lIG5hbWU9InN0YWZybSIgZnJhbWVib3JkZXI9IjAiIGlkPSJzdGFmcm0iIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjI1MCI+PC9pZnJhbWU+DQogICAgICA8L2Rpdj4NCgkgPC90ZD4NCiAgPC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+0N64xMGs1NjE2sjdPC90aXRsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL21haW4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9ImpzL3N0b3J5LmpzIj48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tDQojYWRkQ2F0YWxvZyB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo0NTVweDsNCgl0b3A6NjRweDsNCgl3aWR0aDozMjVweDsNCgloZWlnaHQ6MjM4cHg7DQoJei1pbmRleDoyOw0KCWJhY2tncm91bmQtY29sb3I6ICNGMkZEREI7DQoJYm9yZGVyOjFweCBzb2xpZCAjODg5RDhGOw0KCXBhZGRpbmc6NnB4Ow0KCWRpc3BsYXk6bm9uZQ0KfQ0KI2VkaXRDYXRhbG9nIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjQ1NXB4Ow0KCXRvcDo2NHB4Ow0KCXdpZHRoOjMyNXB4Ow0KCWhlaWdodDoyMzhweDsNCgl6LWluZGV4OjE7DQoJYmFja2dyb3VuZC1jb2xvcjogI0YyRkREQjsNCglib3JkZXI6MXB4IHNvbGlkICM4ODlEOEY7DQoJcGFkZGluZzo2cHg7DQoJZGlzcGxheTpub25lDQp9DQotLT4NCjwvc3R5bGU+DQoNCjwvaGVhZD4NCjxib2R5IGxlZnRtYXJnaW49JzgnIHRvcG1hcmdpbj0nOCc+DQoNCjxkaXYgY2xhc3M9ImJvZHl0aXRsZSI+DQoJPGRpdiBjbGFzcz0iYm9keXRpdGxlbGVmdCI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iYm9keXRpdGxldHh0Ij7Qocu1udzA7TwvZGl2Pg0KPC9kaXY+DQoNCjx0YWJsZSB3aWR0aD0iOTYlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIxIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgY2xhc3M9InRidGl0bGUiIHN0eWxlPSIJYmFja2dyb3VuZDojQ0ZDRkNGOyI+DQoJPHRyPg0KCTx0ZCBiZ2NvbG9yPSIjRURGOUQ1IiBjbGFzcz0idGJ0aXRsZXR4dCI+IA0KCSAgPHRhYmxlIHdpZHRoPSc5NiUnIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9JzAnIGNlbGxzcGFjaW5nPScwJz4NCiAgICAgPHRyPg0KICAgICA8dGQgd2lkdGg9JzMwJScgY2xhc3M9InRidGl0bGV0eHQiPjxzdHJvbmc+xNrI3SjQocu1wOApJmd0OyZndDvQ3rjExNrI3Twvc3Ryb25nPjwvdGQ+DQogICAgIDx0ZCBhbGlnbj0ncmlnaHQnPg0KCQkJWzxhIGhyZWY9InN0b3J5X2xpc3RfY29udGVudC5waHAiPjx1PrG+zbzK6cTayN3B0LHtPC91PjwvYT5dDQoJCQkmbmJzcDsJDQoJCQlbPGEgaHJlZj0ic3RvcnlfYm9va3MucGhwIj48dT7L+dPQzbzK6TwvdT48L2E+XQ0KCQkJPC90ZD4NCiAgICAgPC90cj4NCiAgICA8L3RhYmxlPg0KICA8L3RkPg0KIDwvdHI+DQo8L3RhYmxlPg0KPGZvcm0gbmFtZT0nZm9ybTEnIGFjdGlvbj0nc3RvcnlfZWRpdF9jb250ZW50X2FjdGlvbi5waHAnIG1ldGhvZD0ncG9zdCc+CQkNCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NpZCcgdmFsdWU9Jzw/cGhwIGVjaG8gJGNpZDsgPz4nIC8+DQo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29raWQnIHZhbHVlPSc8P3BocCBlY2hvICRib29raWQ7ID8+JyAvPgkNCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NhdGlkJyB2YWx1ZT0nPD9waHAgZWNobyAkY2F0aWQ7ID8+JyAvPg0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYm9va25hbWUnIHZhbHVlPSc8P3BocCBlY2hvIHN0cl9yZXBsYWNlKCInIiwiYCIsJGJvb2tuYW1lKTsgPz4nIC8+DQo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdib29rdHlwZScgdmFsdWU9Jzw/cGhwIGVjaG8gJGJvb2t0eXBlOyA/PicgLz4NCgkNCjx0YWJsZSB3aWR0aD0iOTYlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciIgc3R5bGU9IiBib3JkZXI6MXB4IHNvbGlkICNDRkNGQ0Y7bGluZS1oZWlnaHQ6MzFweDttYXJnaW46YXV0bzsiPg0KPHRyPg0KPHRkIGhlaWdodD0iMTE2IiBiZ2NvbG9yPSIjRkZGRkZGIiBzdHlsZT0icGFkZGluZzowcHggNnB4IDZweCAxMHB4OyI+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMzIiIGNsYXNzPSJibGluZSI+1cK92rHqzOKjujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+PGlucHV0IG5hbWU9InRpdGxlIiB0eXBlPSJ0ZXh0IiBpZD0idGl0bGUiIHNpemU9IjM1IiB2YWx1ZT0iPD9waHAgZWNobyAkY29udGVudHNbJ3RpdGxlJ107ICA/PiIgLz48L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIHN0eWxlPSJ3aWR0aDoxMjBweCIgY2xhc3M9ImJsaW5lIj7Bpcr0zbzK6cP7s8ajujwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSI+DQogICAgCTw/cGhwIGVjaG8gJGJvb2tuYW1lOyA/Pg0KICAgIDwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgc3R5bGU9IndpZHRoOjEyMHB4IiBjbGFzcz0iYmxpbmUiPtTa1cK92tbQtcTLs9Dyo7o8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiPg0KICAgIAk8aW5wdXQgbmFtZT0ic29ydGlkIiB0eXBlPSJ0ZXh0IiBpZD0ic29ydGlkIiBzaXplPSI1IiB2YWx1ZT0iPD9waHAgZWNobyAkY29udGVudHNbJ3NvcnRpZCddOyAgPz4iIC8+DQogICAgPC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjbGFzcz0iYmxpbmUiPg0KICAgIMGlyvTVwr3ao7o8YnIgLz4NCgkgIDxpbnB1dCBuYW1lPSJhZGRjaGFwdGVyIiB0eXBlPSJjaGVja2JveCIgb25DbGljaz0iU2hvd0hpZGVTZWxDaGFwdGVyKCdzZWxjaGFwJywnbmV3Y2hhcCcpIiBpZD0iYWRkY2hhcHRlciIgdmFsdWU9IjEiIC8+DQogICAgzO2809DC1cK92g0KICAgIDwvdGQ+DQogICAgPHRkIGNsYXNzPSJibGluZSIgc3R5bGU9InBhZGRpbmctdG9wOjVweDtwYWRkaW5nLWJvdHRvbTo1cHgiPg0KICAgIDxzcGFuIGlkPSdzZWxjaGFwJyBzdHlsZT0iZGlzcGxheTpibG9jayI+DQogICAgPHNlbGVjdCBuYW1lPSJjaGFwdGVyaWQiIHNpemU9IjUiIGlkPSJjaGFwdGVyaWQiIHN0eWxlPSJ3aWR0aDoyNTBweCI+DQogICAgCTw/cGhwDQogICAgCWZvcmVhY2goJGNoYXB0ZXJzIGFzICRrPT4kdil7DQogICAgCQlpZigkaz09JGNvbnRlbnRzWydjaGFwdGVyaWQnXSl7IGVjaG8gIiAgICA8b3B0aW9uIHZhbHVlPSckaycgc2VsZWN0ZWQ+tdp7JGNoYXBudW1zWyRrXX3VwiAkdjwvb3B0aW9uPlxyXG4iOyB9DQogICAgCQllbHNlIGVjaG8gIiAgICA8b3B0aW9uIHZhbHVlPSckayc+tdp7JGNoYXBudW1zWyRrXX3VwiAkdjwvb3B0aW9uPlxyXG4iOw0KICAgIAl9DQogICAgCT8+DQogICAgPC9zZWxlY3Q+DQoJPC9zcGFuPg0KICAgIDxzcGFuIGlkPSJuZXdjaGFwIiBzdHlsZT0iZGlzcGxheTpub25lIj4NCgnQwtXCvdrD+7PGo7oNCiAgICAgICAgICA8aW5wdXQgbmFtZT0iY2hhcHRlcm5ldyIgdHlwZT0idGV4dCIgaWQ9ImNoYXB0ZXJuZXciIHNpemU9IjMwIiAvPg0KICAgICAgICAgIDxiciAvPg0Ko6jI57n7w7vT0L/J0aHVwr3au/LS0dPQ1cK92tLRvq294cr4o6zH68zu0LTQwtXCvdrD+7PGo6zD+7PGyc+yu9DovNOhsLXaWNXCobHV4tH5tcTX1tH5o6kNCgk8L3NwYW4+DQoJPC90ZD4NCiAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjMyIiBjbGFzcz0iYmxpbmUiPtXCvdrE2sjdo7o8L3RkPg0KICAgIDx0ZCBjbGFzcz0iYmxpbmUiPiZuYnNwOzwvdGQ+DQogIDwvdHI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSI4MiIgY29sc3Bhbj0iMiI+PD9waHAgDQoJR2V0RWRpdG9yKCJib2R5IixHZXRCb29rVGV4dCgkY29udGVudHNbJ2lkJ10pLDMwMCwiU21hbGwiKTsNCgk/PjwvdGQ+DQogICAgPC90cj4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjcwIj4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTdWJtaXQiIHZhbHVlPSKxoyC05iIgLz6hoaGhDQogICAgICA8aW5wdXQgdHlwZT0icmVzZXQiIG5hbWU9IlN1Ym1pdDIiIHZhbHVlPSLW2CDWwyIgLz48L3RkPg0KICA8L3RyPg0KPC90YWJsZT48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+seC8rcbAwts8L3RpdGxlPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCmJvZHkgew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvYWxsYmcuZ2lmKTsNCn0NCi0tPg0KPC9zdHlsZT4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8L2hlYWQ+DQo8Ym9keT4NCjx0YWJsZSB3aWR0aD0iOTglIiAgYm9yZGVyPSIwIiBhbGlnbj0iY2VudGVyIiBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjEiIGJnY29sb3I9IiNENkQ2RDYiPg0KICA8dHI+DQogICAgPHRkIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjI0IiBjb2xzcGFuPSIyIiBiYWNrZ3JvdW5kPSJpbWFnZXMvdGJnLmdpZiI+DQogICAgCSZuYnNwOzxzdHJvbmc+PGEgaHJlZj0iPD9waHAgZWNobyAkRU5WX0dPQkFDS19VUkw7ID8+Ij48dT7GwMLbudzA7TwvdT48L2E+ICZndDsmZ3Q7ILHgvK3GwMLbo7o8L3N0cm9uZz4NCiAgICA8L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMTg3IiBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjRkZGRkZGIj4NCgk8Zm9ybSBuYW1lPSJmb3JtMSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249InN0b3J5X2ZlZWRiYWNrX2VkaXQucGhwIj4NCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkb3Bvc3QiIHZhbHVlPSJlZGl0IiAvPg0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlkIiB2YWx1ZT0iPD9waHAgZWNobyAkcm93WydpZCddOyA/PiIgLz4NCiAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSI+DQogICAgICAgICAgPHRyIGJnY29sb3I9IiNGRkZGRkYiPiANCiAgICAgICAgICAgIDx0ZCB3aWR0aD0iMTglIiBoZWlnaHQ9IjI0Ij7GwMLby/nK9M7E1cKjujwvdGQ+DQogICAgICAgICAgICA8dGQgd2lkdGg9IjgyJSI+IA0KICAgICAgICAgICAgICA8P3BocCBlY2hvICRyb3dbJ2FyY3RpdGxlJ107ID8+DQogICAgICAgICAgICA8L3RkPg0KICAgICAgICAgIDwvdHI+DQogICAgICAgICAgPHRyIGJnY29sb3I9IiNGRkZGRkYiPiANCiAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjI0Ij7GwMLbyMujujwvdGQ+DQogICAgICAgICAgICA8dGQ+IA0KICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0idXNlcm5hbWUiIHR5cGU9InRleHQiIGlkPSJ1c2VybmFtZSIgc2l6ZT0iMjAiIHZhbHVlPSI8P3BocCBlY2hvICRyb3dbJ3VzZXJuYW1lJ107ID8+IiAvPiANCiAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgPC90cj4NCiAgICAgICAgICA8dHIgYmdjb2xvcj0iI0ZGRkZGRiI+IA0KICAgICAgICAgICAgPHRkIGhlaWdodD0iMjQiPsbAwtu3orK8yrG85KO6PC90ZD4NCiAgICAgICAgICAgIDx0ZD4gDQogICAgICAgICAgICAgIDw/cGhwIGVjaG8gR2V0RGF0ZVRpbWVNSygkcm93WydkdGltZSddKTsgPz4NCiAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgPC90cj4NCiAgICAgICAgICA8dHIgYmdjb2xvcj0iI0ZGRkZGRiI+IA0KICAgICAgICAgICAgPHRkIGhlaWdodD0iMjQiPklQtdjWt6O6PC90ZD4NCiAgICAgICAgICAgIDx0ZD4gDQogICAgICAgICAgICAgIDw/cGhwIGVjaG8gJHJvd1snaXAnXTsgPz4NCiAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgPC90cj4NCiAgICAgICAgICA8dHIgYmdjb2xvcj0iI0ZGRkZGRiI+IA0KICAgICAgICAgICAgPHRkIGhlaWdodD0iMjQiPsbAwtvE2sjdo7o8L3RkPg0KICAgICAgICAgICAgPHRkPrj8uMS1xMbAwtvE2sjdSFRNTLT6wuuyu7vhsbvGwbHOo6y/ydPDSFRNTNPvt6ix4LytoaM8L3RkPg0KICAgICAgICAgIDwvdHI+DQogICAgICAgICAgPHRyIGJnY29sb3I9IiNGRkZGRkYiPiANCiAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjYyIiBhbGlnbj0iY2VudGVyIj4mbmJzcDsgPC90ZD4NCiAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjYyIj4gDQogICAgICAgICAgICAgIDx0ZXh0YXJlYSBuYW1lPSJtc2ciIGNvbHM9IjYwIiByb3dzPSI1IiBpZD0ibXNnIj48P3BocCBlY2hvIGNuX3N1YnN0cihUZXh0Mkh0bWwoJHJvd1snbXNnJ10pLCA1MDApOyA/PjwvdGV4dGFyZWE+PC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICAgIDx0ciBiZ2NvbG9yPSIjRkZGRkZGIj4gDQogICAgICAgICAgICA8dGQgaGVpZ2h0PSIyNCI+udzA7dSxu9i4tKO6PC90ZD4NCiAgICAgICAgICAgIDx0ZD672Li0xNrI3bXESFRNTLT6wuu74bG7xsGxzqGjPC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICAgIDx0ciBiZ2NvbG9yPSIjRkZGRkZGIj4gDQogICAgICAgICAgICA8dGQgaGVpZ2h0PSIyNCIgYWxpZ249ImNlbnRlciI+Jm5ic3A7IDwvdGQ+DQogICAgICAgICAgICA8dGQgaGVpZ2h0PSIyNCI+IA0KICAgICAgICAgICAgICA8dGV4dGFyZWEgbmFtZT0iYWRtaW5tc2ciIGNvbHM9IjYwIiByb3dzPSI1IiBpZD0iYWRtaW5tc2ciPjwvdGV4dGFyZWE+PC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICAgIDx0ciBiZ2NvbG9yPSIjRkZGRkZGIj4gDQogICAgICAgICAgICA8dGQgaGVpZ2h0PSI0MCIgd2lkdGg9JzYwMCcgY29sc3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+IA0KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTdWJtaXQxIiBjbGFzcz0nY29vbGJnIG5wJyB2YWx1ZT0isaO05rj8uMQiICAvPg0KICAgICAgICAgICAgICAmbmJzcDsgDQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJidXR0b24iIG5hbWU9IlN1Ym1pdDIiIGNsYXNzPSdjb29sYmcgbnAnIHZhbHVlPSKyu8Dtt7W72CIgb25DbGljaz0ibG9jYXRpb249Jzw/cGhwIGVjaG8gJEVOVl9HT0JBQ0tfVVJMOyA/Pic7IiAvPg0KICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICA8L3RhYmxlPg0KCSAgPC9mb3JtPg0KCSAgPC90ZD4NCiAgPC90cj4NCjwvdGFibGU+DQo8L2JvZHk+DQo8L2h0bWw+
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+0KHLtcbAwtu53MDtPC90aXRsZT4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KLy+78bXD0aHW0M7EvP61xM7EvP7D+w0KZnVuY3Rpb24gZ2V0Q2hlY2tib3hJdGVtKCkNCnsNCgl2YXIgYWxsU2VsPSIiOw0KCWlmKGRvY3VtZW50LmZlZWRiYWNrLmZpZC52YWx1ZSkgcmV0dXJuIGRvY3VtZW50LmZlZWRiYWNrLmZpZC52YWx1ZTsNCglmb3IoaT0wO2k8ZG9jdW1lbnQuZmVlZGJhY2suZmlkLmxlbmd0aDtpKyspDQoJew0KCQlpZihkb2N1bWVudC5mZWVkYmFjay5maWRbaV0uY2hlY2tlZCkNCgkJew0KCQkJaWYoYWxsU2VsPT0iIikNCgkJCQlhbGxTZWw9ZG9jdW1lbnQuZmVlZGJhY2suZmlkW2ldLnZhbHVlOw0KCQkJZWxzZQ0KCQkJCWFsbFNlbD1hbGxTZWwrIiwiK2RvY3VtZW50LmZlZWRiYWNrLmZpZFtpXS52YWx1ZTsNCgkJfQ0KCX0NCglyZXR1cm4gYWxsU2VsOwkNCn0NCmZ1bmN0aW9uIHNlbEFsbCgpDQp7DQoJZm9yKGk9MDtpPGRvY3VtZW50LmZlZWRiYWNrLmZpZC5sZW5ndGg7aSsrKQ0KCXsNCgkJZG9jdW1lbnQuZmVlZGJhY2suZmlkW2ldLmNoZWNrZWQ9dHJ1ZTsNCgl9DQp9DQpmdW5jdGlvbiBzZWxOb25lKCkNCnsNCglmb3IoaT0wO2k8ZG9jdW1lbnQuZmVlZGJhY2suZmlkLmxlbmd0aDtpKyspDQoJew0KCQlkb2N1bWVudC5mZWVkYmFjay5maWRbaV0uY2hlY2tlZD1mYWxzZTsNCgl9DQp9DQpmdW5jdGlvbiBzZWxOb3IoKQ0Kew0KCWZvcihpPTA7aTxkb2N1bWVudC5mZWVkYmFjay5maWQubGVuZ3RoO2krKykNCgl7DQoJCWlmKGRvY3VtZW50LmZlZWRiYWNrLmZpZFtpXS5jaGVja2VkPT1mYWxzZSkNCgkJCWRvY3VtZW50LmZlZWRiYWNrLmZpZFtpXS5jaGVja2VkPXRydWU7DQoJCWVsc2UNCgkJCWRvY3VtZW50LmZlZWRiYWNrLmZpZFtpXS5jaGVja2VkPWZhbHNlOw0KCQkNCgl9DQp9DQpmdW5jdGlvbiBkZWxGZWVkYmFjaygpDQp7DQoJdmFyIHFzdHI9Z2V0Q2hlY2tib3hJdGVtKCk7DQoJaWYocXN0cj09IiIpIGFsZXJ0KCLE48O70aHW0MjOus7E2sjdo6EiKTsNCgllbHNlIGlmKHdpbmRvdy5jb25maXJtKCfE48i3tqjSqsm+s/3V4tCpxsDC28LwPycpKSBsb2NhdGlvbi5ocmVmPSJzdG9yeV9mZWVkYmFja19tYWluLnBocD9qb2I9ZGVsJmZpZD0iK3FzdHI7DQp9DQpmdW5jdGlvbiBkZWxGZWVkYmFja0lQKCkNCnsNCgl2YXIgcXN0cj1nZXRDaGVja2JveEl0ZW0oKTsNCglpZihxc3RyPT0iIikgYWxlcnQoIsTjw7vRodbQyM66zsTayN2joSIpOw0KCWVsc2UgaWYod2luZG93LmNvbmZpcm0oJ8TjyLe2qNKqyb6z/dXi0KnGwMLbwvA/JykpIGxvY2F0aW9uLmhyZWY9InN0b3J5X2ZlZWRiYWNrX21haW4ucGhwP2pvYj1kZWxhbGwmZmlkPSIrcXN0cjsNCn0NCmZ1bmN0aW9uIGNoZWNrRmVlZGJhY2soKQ0Kew0KCXZhciBxc3RyPWdldENoZWNrYm94SXRlbSgpOw0KCWlmKHFzdHI9PSIiKSBhbGVydCgixOPDu9Gh1tDIzrrOxNrI3aOhIik7DQoJZWxzZSBsb2NhdGlvbi5ocmVmPSJzdG9yeV9mZWVkYmFja19tYWluLnBocD9qb2I9Y2hlY2smZmlkPSIrcXN0cjsNCn0NCmZ1bmN0aW9uIGVkaXRGZWVkYmFjaygpDQp7DQoJdmFyIHFzdHI9Z2V0Q2hlY2tib3hJdGVtKCk7DQoJaWYocXN0cj09IiIpIGFsZXJ0KCLE48O70aHW0MjOus7E2sjdo6EiKTsNCgllbHNlIGxvY2F0aW9uLmhyZWY9InN0b3J5X2ZlZWRiYWNrX2VkaXQucGhwP2pvYj1lZGl0JmZpZD0iK3FzdHI7DQp9DQo8L3NjcmlwdD4NCjxsaW5rIGhyZWY9J2Nzcy9iYXNlLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGFsaWduPSJjZW50ZXIiIGNlbGxzcGFjaW5nPSIxIiBiZ2NvbG9yPSIjRDZENkQ2Ij4NCjx0cj4NCjx0ZCBoZWlnaHQ9IjI4IiBiYWNrZ3JvdW5kPSdpbWFnZXMvdGJnLmdpZic+DQo8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyI+DQoJPGEgaHJlZj0nc3RvcnlfZmVlZGJhY2tfbWFpbi5waHAnIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MTBweDsiPjx1PjxiPsbAwtu53MDtPC9iPjwvdT48L2E+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZsb2F0OnJpZ2h0O3BhZGRpbmctcmlnaHQ6MTBweCI+DQo8Zm9ybSBuYW1lPSdmb3JtMSc+DQoJudi8/NfWo7oNCgk8aW5wdXQgdHlwZT0ndGV4dCcgc2l6ZT0nMTUnIG5hbWU9J2tleXdvcmQnIHN0eWxlPSd3aWR0aDoxNTAnPiANCiAJPHNlbGVjdCBuYW1lPSJ0eXBlaWQiIHN0eWxlPSJ3aWR0aDoxODAiPg0KIAkJPG9wdGlvbiB2YWx1ZT0iMCI+LS3H69Gh1PEtLTwvb3B0aW9uPg0KIAkJe2RlZGU6Z2xvYmFsLm9wZW5hcnJheSAvfQ0KCTwvc2VsZWN0Pg0KCTxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3NiJyB2YWx1ZT0nIMvRy/cgJyBjbGFzcz0nY29vbGJ0JyAvPg0KPC9mb3JtPg0KPC9kaXY+DQogPC90ZD4NCjwvdHI+DQo8Zm9ybSBuYW1lPSdmZWVkYmFjayc+DQo8dHI+DQo8dGQgaGVpZ2h0PSIyMTUiIGJnY29sb3I9IiNGRkZGRkYiIHZhbGlnbj0idG9wIj4NCjx0YWJsZSB3aWR0aD0nMTAwJScgYm9yZGVyPScwJyBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPg0Ke2RlZGU6ZGF0YWxpc3R9DQo8dHIgaGVpZ2h0PScyNSc+IA0KPHRkPg0KPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMSIgYmdjb2xvcj0iI2NmY2ZjZiI+DQo8dHIgaGVpZ2h0PSIyNSIgYmdjb2xvcj0iI0ZCRkNFMiI+IA0KPHRkIHdpZHRoPSI5JSI+DQoJJm5ic3A70aHU8SA8aW5wdXQgbmFtZT0iZmlkIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9Im5wIiBpZD0iZmlkIiB2YWx1ZT0ie2RlZGU6ZmllbGQuaWQvfSI+IA0KPC90ZD4NCjx0ZCB3aWR0aD0iMTIlIiBzdHlsZT0icGFkZGluZy1sZWZ0OjhweDsiPg0KCdPDu6ejuntkZWRlOmZpZWxkLnVzZXJuYW1lL30NCjwvdGQ+DQo8dGQgd2lkdGg9IjMwJSIgc3R5bGU9InBhZGRpbmctbGVmdDo4cHg7Ij4NCgnOxLW1o7o8YSBocmVmPSdzdG9yeV9mZWVkYmFja19tYWluLnBocD9haWQ9e2RlZGU6ZmllbGQuYWlkL30nPjx1PntkZWRlOmZpZWxkLmFyY3RpdGxlL308L3U+PC9hPiAoPGEgaHJlZj0iL2Jvb2svYm9vay5waHA/YmlkPXtkZWRlOmZpZWxkLmFpZC99IiB0YXJnZXQ9Il9ibGFuayI+PHU+5K/AwDwvdT48L2E+KQ0KPC90ZD4NCjx0ZCB3aWR0aD0iMTglIiBhbGlnbj0iY2VudGVyIj4NCglJULXY1rejujxhIGhyZWY9J2ZlZWRiYWNrX21haW4ucGhwP2lwPXtkZWRlOmZpZWxkLmlwL30nPjx1PntkZWRlOmZpZWxkLmlwL308L3U+PC9hPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMjElIHN0eWxlPSJwYWRkaW5nLWxlZnQ6OHB4OyIiPg0KCcqxvOSjuntkZWRlOmZpZWxkLmR0aW1lIGZ1bmN0aW9uPSJHZXREYXRlVGltZU1LKEBtZSkiIC99DQo8L3RkPg0KPHRkIHdpZHRoPSIxMCUiIGFsaWduPSJjZW50ZXIiPg0KCTxhIGhyZWY9J3N0b3J5X2ZlZWRiYWNrX2VkaXQucGhwP2lkPXtkZWRlOmZpZWxkLmlkL30nPjxpbWcgc3JjPSJpbWFnZXMvZmVlZGJhY2stZWRpdC5naWYiIGJvcmRlcj0iMCIgd2lkdGg9IjQ1IiBoZWlnaHQ9IjE4Ij48L2E+DQo8L3RkPg0KPC90cj4NCjx0ciBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjRkZGRkZGIj4gDQo8dGQgaGVpZ2h0PSIyOCIgY29sc3Bhbj0iNiI+DQoJPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4NCjx0cj4gDQo8dGQ+DQp7ZGVkZTpmaWVsZC5pc2NoZWNrIGZ1bmN0aW9uPSJJc0NoZWNrKEBtZSkiIC99DQp7ZGVkZTpmaWVsZC5tc2cgZnVuY3Rpb249J2NuX3N1YnN0cihUZXh0Mkh0bWwoQG1lKSwgNTApJy99DQo8L3RkPg0KPC90cj4NCjwvdGFibGU+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4NCjx0cj4gDQo8dGQgaGVpZ2h0PSIzIj48L3RkPg0KPC90cj4NCjwvdGFibGU+PC90ZD4NCjwvdHI+DQp7L2RlZGU6ZGF0YWxpc3R9DQo8dHI+DQo8dGQgaGVpZ2h0PScyMCcgYWxpZ249J2NlbnRlcicgYmdjb2xvcj0iI0Y5RkNFRiI+DQogIHtkZWRlOnBhZ2VsaXN0IGxpc3RzaXplPSc1JyAvfQ0KPC90ZD4NCjwvdHI+DQo8dHI+IA0KPHRkIGhlaWdodD0nMzAnPg0KPHRhYmxlIHdpZHRoPSI5OCUiPg0KPHRyPg0KPHRkIHdpZHRoPSIzMCUiPg0KPGlucHV0IHR5cGU9J2J1dHRvbicgbmFtZT0na2sxJyB2YWx1ZT0nyKvRoScgb25DbGljaz0ic2VsQWxsKCkiIGNsYXNzPSJjb29sYmcgbnAiIC8+IA0KPGlucHV0IHR5cGU9J2J1dHRvbicgbmFtZT0na2syJyB2YWx1ZT0nyKHP+ycgb25DbGljaz0ic2VsTm9uZSgpIiBjbGFzcz0iY29vbGJnIG5wIiAvPg0KPGlucHV0IHR5cGU9J2J1dHRvbicgbmFtZT0na2szJyB2YWx1ZT0nt7TRoScgb25DbGljaz0ic2VsTm9yKCkiIGNsYXNzPSJjb29sYmcgbnAiIC8+DQo8L3RkPg0KPHRkIGFsaWduPSJyaWdodCI+DQo8aW5wdXQgdHlwZT0nYnV0dG9uJyBuYW1lPSdkYicgdmFsdWU9JyDJvrP9z+DNrElQtcTL+dPQxsDC2yAnIG9uQ2xpY2s9ImRlbEZlZWRiYWNrSVAoKSIgY2xhc3M9ImNvb2xiZyBucCIgLz4NCjxpbnB1dCB0eXBlPSdidXR0b24nIG5hbWU9J2RiJyB2YWx1ZT0nIMm+s/3GwMLbICcgb25DbGljaz0iZGVsRmVlZGJhY2soKSIgY2xhc3M9ImNvb2xiZyBucCIgLz4NCjxpbnB1dCB0eXBlPSdidXR0b24nIG5hbWU9J2RiMicgdmFsdWU9JyDJ87rLxsDC2yAnIG9uQ2xpY2s9ImNoZWNrRmVlZGJhY2soKSIgY2xhc3M9ImNvb2xiZyBucCIgLz4NCjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCiA8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L3RkPg0KPC90cj4NCjwvZm9ybT4NCjwvdGFibGU+DQo8L2JvZHk+DQo8L2h0bWw+
PD9waHANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iLy4uL2luY2x1ZGUvY29tbW9uLmluYy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvZmlsdGVyLmluYy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvY2hhbm5lbHVuaXQuZnVuYy5waHAiKTsNCmlmKCFpc3NldCgkYWN0aW9uKSkNCnsNCgkkYWN0aW9uID0gJyc7DQp9DQovL7zmyN2+ybXESlO0+sLrDQppZigkYWN0aW9uID09ICdnb29kJyB8fCAkYWN0aW9uID09ICdiYWQnKQ0Kew0KCWlmKCFlbXB0eSgkYWlkKSkgJGlkID0gJGFpZDsNCglyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9kaWdnX2FqYXgucGhwJyk7DQoJZXhpdCgpOw0KfQ0KDQoNCmZ1bmN0aW9uIEdldE9uZWJvb2soJGFpZCkNCnsNCglnbG9iYWwgJGRzcWwsJHRpdGxlOw0KCSRhaWQgPSB0cmltKHByZWdfcmVwbGFjZSgnI1teMC05XSNpJywnJywkYWlkKSk7DQoJJHJlQXJyID0gYXJyYXkoKTsNCg0KCSRucXVlcnkgPSAiU2VsZWN0ICogRnJvbSBgI0BfX3N0b3J5X2Jvb2tzYCB3aGVyZSBiaWQ9JyRhaWQnICI7DQoJDQoJJGFyY1JvdyA9ICRkc3FsLT5HZXRPbmUoJG5xdWVyeSk7DQoJaWYoIWlzX2FycmF5KCRhcmNSb3cpKSB7DQoJCXJldHVybiAkcmVBcnI7DQoJfQ0KCSRyZUFyciA9ICRhcmNSb3c7DQoJJHJlQXJyWydiaWQnXSAgICA9ICRhaWQ7DQoJJHJlQXJyWydhcmN0aXRsZSddID0gJGFyY1Jvd1snYm9va25hbWUnXTsNCgkkdGl0bGUgPSAkYXJjUm93Wydib29rbmFtZSddOw0KCS8vJHJlQXJyWydhcmN1cmwnXSA9IEdldEZpbGVVcmwoJGFpZCwkYXJjUm93Wyd0eXBlaWQnXSwkYXJjUm93WydzZW5kZGF0ZSddLCRyZUFyclsnYm9va25hbWUgJ10sJGFyY1Jvd1snaXNtYWtlJ10sJGFyY1Jvd1snYXJjcmFuayddLCRhcmNSb3dbJ25hbWVydWxlJ10sDQoJLy8kYXJjUm93Wyd0eXBlZGlyJ10sJGFyY1Jvd1snbW9uZXknXSwkYXJjUm93WydmaWxlbmFtZSddLCRhcmNSb3dbJ21vcmVzaXRlJ10sJGFyY1Jvd1snc2l0ZXVybCddLCRhcmNSb3dbJ3NpdGVwYXRoJ10pOw0KCXJldHVybiAkcmVBcnI7DQoNCn0NCg0KDQokY2ZnX2Zvcm1tZW1iZXIgPSBpc3NldCgkY2ZnX2Zvcm1tZW1iZXIpID8gdHJ1ZSA6IGZhbHNlOw0KJGlzY2hlY2sgPSAkY2ZnX2ZlZWRiYWNrY2hlY2s9PSdZJyA/IDAgOiAxOw0KJGFpZCA9IChpc3NldCgkYWlkKSAmJiBpc19udW1lcmljKCRhaWQpKSA/ICRhaWQgOiAwOw0KJGZpZCA9IChpc3NldCgkZmlkKSAmJiBpc19udW1lcmljKCRmaWQpKSA/ICRmaWQgOiAwOw0KaWYoZW1wdHkoJGFpZCkgJiYgZW1wdHkoJGZpZCkpDQp7DQoJU2hvd01zZygnzsS1tWlksrvE3M6qv9UhJywnLTEnKTsNCglleGl0KCk7DQp9DQoNCmluY2x1ZGVfb25jZShERURFSU5DLiIvbWVtYmVybG9naW4uY2xhc3MucGhwIik7DQokY2ZnX21sID0gbmV3IE1lbWJlckxvZ2luKCk7DQoNCmlmKCRhY3Rpb249PSdnb29kZmInKQ0Kew0KCUFqYXhIZWFkKCk7DQoJJGZpZCA9IGludHZhbCgkZmlkKTsNCgkkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVXBkYXRlIGAjQF9fYm9va2ZlZWRiYWNrYCBzZXQgZ29vZCA9IGdvb2QrMSB3aGVyZSBpZD0nJGZpZCcgIik7DQoJJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNlbGVjdCBnb29kIEZyb20gYCNAX19ib29rZmVlZGJhY2tgIHdoZXJlIGlkPSckZmlkJyAiKTsNCgllY2hvICI8YSBvbmNsaWNrPVwicG9zdEJhZEdvb2QoJ2dvb2RmYicseyRhaWR9KVwiPtans9Y8L2E+W3skcm93Wydnb29kJ119XSI7DQoJZXhpdCgpOw0KfQ0KZWxzZSBpZigkYWN0aW9uPT0nYmFkZmInKQ0Kew0KCUFqYXhIZWFkKCk7DQoJJGZpZCA9IGludHZhbCgkZmlkKTsNCgkkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVXBkYXRlIGAjQF9fYm9va2ZlZWRiYWNrYCBzZXQgYmFkID0gYmFkKzEgd2hlcmUgaWQ9JyRmaWQnICIpOw0KCSRyb3cgPSAkZHNxbC0+R2V0T25lKCJTZWxlY3QgYmFkIEZyb20gYCNAX19ib29rZmVlZGJhY2tgIHdoZXJlIGlkPSckZmlkJyAiKTsNCgllY2hvICI8YSBvbmNsaWNrPVwicG9zdEJhZEdvb2QoJ2JhZGZiJyx7JGFpZH0pXCI+t7S21DwvYT5beyRyb3dbJ2JhZCddfV0iOw0KCWV4aXQoKTsNCn0NCi8vsum/tMbAwtsNCi8qDQpmdW5jdGlvbiBfX1ZpZXdGZWVkYmFjaygpeyB9DQoqLw0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KZWxzZSBpZigkYWN0aW9uPT0nJyB8fCAkYWN0aW9uPT0nc2hvdycpDQp7DQoJLy+2wcihzsS1tdDFz6INCgkkYXJjUm93ID0gR2V0T25lYm9vaygkYWlkKTsNCglpZihlbXB0eSgkYXJjUm93WydiaWQnXSkpDQoJew0KCQlTaG93TXNnKCfO3reosum/tM601qrOxLW1tcTGwMLbIScsJy0xJyk7DQoJCWV4aXQoKTsNCgl9DQoJZXh0cmFjdCgkYXJjUm93LCBFWFRSX1NLSVApOwkNCglpbmNsdWRlX29uY2UoREVERUlOQy4nL2RhdGFsaXN0Y3AuY2xhc3MucGhwJyk7DQoJJGRsaXN0ID0gbmV3IERhdGFMaXN0Q1AoKTsNCgkkZGxpc3QtPnBhZ2VTaXplID0gMjA7DQoNCglpZihlbXB0eSgkZnR5cGUpIHx8ICgkZnR5cGUhPSdnb29kJyAmJiAkZnR5cGUhPSdiYWQnICYmICRmdHlwZSE9J2ZlZWRiYWNrJykpDQoJew0KCQkkZnR5cGUgPSAnJzsNCgl9DQoJJHdxdWVyeSA9ICRmdHlwZSE9JycgPyAiIEFuZCBmdHlwZSBsaWtlICckZnR5cGUnICIgOiAnJzsNCg0KCS8vxsDC28TayN3B0LHtDQoJJHF1ZXJ5c3RyaW5nID0gInNlbGVjdCBmYi4qLG1iLnVzZXJpZCxtYi5mYWNlIGFzIG1mYWNlLG1iLnNwYWNlc3RhLG1iLnNjb3JlcyBmcm9tIGAjQF9fYm9va2ZlZWRiYWNrYCBmYg0KICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gYCNAX19tZW1iZXJgIG1iIG9uIG1iLm1pZCA9IGZiLm1pZA0KICAgICAgICAgICAgICAgICB3aGVyZSBmYi5haWQ9JyRhaWQnIGFuZCBmYi5pc2NoZWNrPScxJyAkd3F1ZXJ5IG9yZGVyIGJ5IGZiLmlkIGRlc2MiOw0KCSRkbGlzdC0+U2V0UGFyYW1ldGVyKCdhaWQnLCRhaWQpOw0KCSRkbGlzdC0+U2V0UGFyYW1ldGVyKCdhY3Rpb24nLCdzaG93Jyk7DQoJJGRsaXN0LT5TZXRUZW1wbGF0ZSgkY2ZnX2Jhc2VkaXIuJGNmZ190ZW1wbGV0c19kaXIuJy9wbHVzL2Jvb2tmZWVkYmFja190ZW1wbGV0Lmh0bScpOw0KCSRkbGlzdC0+U2V0U291cmNlKCRxdWVyeXN0cmluZyk7DQoJJGRsaXN0LT5EaXNwbGF5KCk7DQoJZXhpdCgpOw0KfQ0KDQovL9L908PGwMLbDQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoNCmZ1bmN0aW9uIF9fUXVvdGUoKXsgfQ0KKi8NCmVsc2UgaWYoJGFjdGlvbj09J3F1b3RlJykNCnsNCgkkcm93ID0gJGRzcWwtPkdldE9uZSgiU2VsZWN0ICogZnJvbSBgI0BfX2Jvb2tmZWVkYmFja2Agd2hlcmUgaWQgPSckZmlkJyIpOw0KCXJlcXVpcmVfb25jZShERURFSU5DLicvZGVkZXRlbXBsYXRlLmNsYXNzLnBocCcpOw0KCSRkdHAgPSBuZXcgRGVkZVRlbXBsYXRlKCk7DQoJJGR0cC0+TG9hZFRlbXBsYXRlKCRjZmdfYmFzZWRpci4kY2ZnX3RlbXBsZXRzX2Rpci4nL3BsdXMvYm9va2ZlZWRiYWNrX3F1b3RlLmh0bScpOw0KCSRkdHAtPkRpc3BsYXkoKTsNCglleGl0KCk7DQp9DQovL7eise3GwMLbDQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoNCmZ1bmN0aW9uIF9fU2VuZEZlZWRiYWNrKCl7IH0NCiovDQplbHNlIGlmKCRhY3Rpb249PSdzZW5kJykNCnsNCgkvL7bByKHOxLW10MXPog0KCSRhcmNSb3cgPSBHZXRPbmVib29rKCRhaWQpOw0KCWlmKChlbXB0eSgkYXJjUm93WydiaWQnXSkgfHwgJGFyY1Jvd1snbm90cG9zdCddPT0nMScpJiZlbXB0eSgkZmlkKSkNCgl7DQoJCVNob3dNc2coJ87et6i21LjDzsS1tbeise3GwMLbIScsJy0xJyk7DQoJCWV4aXQoKTsNCgl9DQoNCgkvL8rHt/G809Hp1qTC69bYyLfIzw0KCWlmKGVtcHR5KCRpc2NvbmZpcm0pKQ0KCXsNCgkJJGlzY29uZmlybSA9ICcnOw0KCX0NCglpZigkaXNjb25maXJtIT0neWVzJyAmJiAkY2ZnX2ZlZWRiYWNrX2NrPT0nWScpDQoJew0KCQlleHRyYWN0KCRhcmNSb3csIEVYVFJfU0tJUCk7DQoJCXJlcXVpcmVfb25jZShERURFSU5DLicvZGVkZXRlbXBsYXRlLmNsYXNzLnBocCcpOw0KCQkkZHRwID0gbmV3IERlZGVUZW1wbGF0ZSgpOw0KCQkkZHRwLT5Mb2FkVGVtcGxhdGUoJGNmZ19iYXNlZGlyLiRjZmdfdGVtcGxldHNfZGlyLicvcGx1cy9ib29rZmVlZGJhY2tfY29uZmlybS5odG0nKTsNCgkJJGR0cC0+RGlzcGxheSgpOw0KCQlleGl0KCk7DQoJfQ0KCS8vvOyy6dHp1qTC6w0KCWlmKCRjZmdfZmVlZGJhY2tfY2s9PSdZJykNCgl7DQoJCSR2YWxpZGF0ZSA9IGlzc2V0KCR2YWxpZGF0ZSkgPyBzdHJ0b2xvd2VyKHRyaW0oJHZhbGlkYXRlKSkgOiAnJzsNCgkJJHN2YWxpID0gc3RydG9sb3dlcih0cmltKEdldENrVmRWYWx1ZSgpKSk7DQoJCWlmKCR2YWxpZGF0ZSAhPSAkc3ZhbGkgfHwgJHN2YWxpPT0nJykNCgkJew0KCQkJUmVzZXRWZFZhbHVlKCk7DQoJCQlTaG93TXNnKCfR6dakwuu07c7zo6EnLCctMScpOw0KCQkJZXhpdCgpOw0KCQl9DQoJfQ0KDQoJLy+87LLp08O7p7XHwrwNCglpZihlbXB0eSgkbm90dXNlcikpDQoJew0KCQkkbm90dXNlcj0wOw0KCX0NCg0KCS8vxOTD+7eise3GwMLbDQoJaWYoJG5vdHVzZXI9PTEpDQoJew0KCQkkdXNlcm5hbWUgPSAkY2ZnX21sLT5NX0lEID4gMCA/ICfE5MP7JyA6ICfTzr/NJzsNCgl9DQoNCgkvL9LRtcfCvLXE08O7pw0KCWVsc2UgaWYoJGNmZ19tbC0+TV9JRCA+IDApDQoJew0KCQkkdXNlcm5hbWUgPSAkY2ZnX21sLT5NX1VzZXJOYW1lOw0KCX0NCg0KCS8v08O7p8ntt93R6dakDQoJZWxzZQ0KCXsNCgkJaWYoJHVzZXJuYW1lIT0nJyAmJiAkcHdkIT0nJykNCgkJew0KCQkJJHJzID0gJGNmZ19tbC0+Q2hlY2tVc2VyKCR1c2VybmFtZSwkcHdkKTsNCgkJCWlmKCRycz09MSkNCgkJCXsNCgkJCQkkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVXBkYXRlIGAjQF9fbWVtYmVyYCBzZXQgbG9naW50aW1lPSciLnRpbWUoKS4iJyxsb2dpbmlwPSciLkdldElQKCkuIicgd2hlcmUgbWlkPSd7JGNmZ19tbC0+TV9JRH0nOyAiKTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkdXNlcm5hbWUgPSAn086/zSc7DQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkdXNlcm5hbWUgPSAn086/zSc7DQoJCX0NCgl9DQoJJGlwID0gR2V0SVAoKTsNCgkkZHRpbWUgPSB0aW1lKCk7DQoJDQoJLy+87LLpxsDC27zkuPTKsbzko7sNCglpZighZW1wdHkoJGNmZ19mZWVkYmFja190aW1lKSkNCgl7DQoJCS8vvOyy6dfuuvO3orHtxsDC28qxvOSjrMjnufvOtLXHwr3F0LbPtbHHsElQ1+6688bAwtvKsbzkDQoJCWlmKCRjZmdfbWwtPk1fSUQgPiAwKQ0KCQl7DQoJCQkkd2hlcmUgPSAiV0hFUkUgYG1pZGAgPSAnJGNmZ19tbC0+TV9JRCciOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHdoZXJlID0gIldIRVJFIGBpcGAgPSAnJGlwJyI7DQoJCX0NCgkJJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBkdGltZSBGUk9NIGAjQF9fYm9va2ZlZWRiYWNrYCAkd2hlcmUgT1JERVIgQlkgYGlkYCBERVNDICIpOw0KCQlpZigkZHRpbWUgLSAkcm93WydkdGltZSddIDwgJGNmZ19mZWVkYmFja190aW1lKQ0KCQl7DQoJCQlSZXNldFZkVmFsdWUoKTsNCgkJCVNob3dNc2coJ7ncwO3Uscno1sPBy8bAwtu85Lj0yrG85KOsx+vJ1LXI0N3PotK7z8KjoScsJy0xJyk7DQoJCQlleGl0KCk7DQoJCX0NCgl9DQoNCglpZihlbXB0eSgkZmFjZSkpDQoJew0KCQkkZmFjZSA9IDA7DQoJfQ0KCSRmYWNlID0gaW50dmFsKCRmYWNlKTsNCglleHRyYWN0KCRhcmNSb3csIEVYVFJfU0tJUCk7DQoJJG1zZyA9IGNuX3N1YnN0clIoVHJpbU1zZygkbXNnKSwxMDAwKTsNCgkkdXNlcm5hbWUgPSBjbl9zdWJzdHJSKEh0bWxSZXBsYWNlKCR1c2VybmFtZSwyKSwyMCk7DQoJaWYoJGZlZWRiYWNrdHlwZSE9J2dvb2QnICYmICRmZWVkYmFja3R5cGUhPSdiYWQnKQ0KCXsNCgkJJGZlZWRiYWNrdHlwZSA9ICdmZWVkYmFjayc7DQoJfQ0KCS8vsaO05sbAwtvE2sjdDQoJaWYoJGNvbXR5cGUgPT0gJ2NvbW1lbnRzJykNCgl7DQoJCSRhcmN0aXRsZSA9IGFkZHNsYXNoZXMoJGFyY1Jvd1snYXJjdGl0bGUnXSk7DQoJCSRhcmN0aXRsZSA9ICRhcmNSb3dbJ2FyY3RpdGxlJ107DQoJCWlmKCRtc2chPScnKQ0KCQl7DQoJCQkkaW5xdWVyeSA9ICJJTlNFUlQgSU5UTyBgI0BfX2Jvb2tmZWVkYmFja2AoYGFpZGAsYGNhdGlkYCxgdXNlcm5hbWVgLGBhcmN0aXRsZWAsYGlwYCxgaXNjaGVja2AsYGR0aW1lYCwgYG1pZGAsYGJhZGAsYGdvb2RgLGBmdHlwZWAsYGZhY2VgLGBtc2dgKQ0KCSAgICAgICAgICAgICAgIFZBTFVFUyAoJyRhaWQnLCckY2F0aWQnLCckdXNlcm5hbWUnLCckYm9va25hbWUnLCckaXAnLCckaXNjaGVjaycsJyRkdGltZScsICd7JGNmZ19tbC0+TV9JRH0nLCcwJywnMCcsJyRmZWVkYmFja3R5cGUnLCckZmFjZScsJyRtc2cnKTsgIjsNCgkJCSRycyA9ICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRpbnF1ZXJ5KTsNCgkJCWlmKCEkcnMpDQoJCQl7DQoJCQkJZWNobyAkZHNxbC0+R2V0RXJyb3IoKTsNCgkJCQlleGl0KCk7DQoJCQl9DQoJCX0NCgl9DQoJLy/S/dPDu9i4tA0KCWVsc2VpZiAoJGNvbXR5cGUgPT0gJ3JlcGx5JykNCgl7DQoJCSRyb3cgPSAkZHNxbC0+R2V0T25lKCJTZWxlY3QgKiBmcm9tIGAjQF9fYm9va2ZlZWRiYWNrYCB3aGVyZSBpZCA9JyRmaWQnIik7DQoJCSRhcmN0aXRsZSA9ICRyb3dbJ2FyY3RpdGxlJ107DQoJCSRhaWQgPSRyb3dbJ2FpZCddOw0KCQkkbXNnID0gJHF1b3RlbXNnLiRtc2c7DQoJCSRtc2cgPSBIdG1sUmVwbGFjZSgkbXNnLDIpOw0KCQkkaW5xdWVyeSA9ICJJTlNFUlQgSU5UTyBgI0BfX2Jvb2tmZWVkYmFja2AoYGFpZGAsYHR5cGVpZGAsYHVzZXJuYW1lYCxgYXJjdGl0bGVgLGBpcGAsYGlzY2hlY2tgLGBkdGltZWAsYG1pZGAsYGJhZGAsYGdvb2RgLGBmdHlwZWAsYGZhY2VgLGBtc2dgKQ0KCQkJCVZBTFVFUyAoJyRhaWQnLCckdHlwZWlkJywnJHVzZXJuYW1lJywnJGFyY3RpdGxlJywnJGlwJywnJGlzY2hlY2snLCckZHRpbWUnLCd7JGNmZ19tbC0+TV9JRH0nLCcwJywnMCcsJyRmZWVkYmFja3R5cGUnLCckZmFjZScsJyRtc2cnKSI7DQoJCSRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRpbnF1ZXJ5KTsNCgl9DQoNCg0KCWlmKCRjZmdfbWwtPk1fSUQgPiAwKQ0KCXsNCgkJI2FwaXt7DQoJCWlmKGRlZmluZWQoJ1VDX0FQUElEJykpDQoJCXsNCgkJCWluY2x1ZGVfb25jZSBERURFUk9PVC4nL2FwaS91Yy5mdW5jLnBocCc7DQoJCQkkcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUIGBzY29yZXNgLGB1c2VyaWRgIEZST00gYCNAX19tZW1iZXJgIFdIRVJFIGBtaWRgPSciLiRjZmdfbWwtPk1fSUQuIiciKTsNCgkJCXVjX2NyZWRpdF9ub3RlKCRyb3dbJ3VzZXJpZCddLCRjZmdfc2VuZGZiX3Njb3Jlcyk7DQoJCX0NCgkJIy9haXB9fQ0KCQkkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiVXBkYXRlIGAjQF9fbWVtYmVyYCBzZXQgc2NvcmVzPXNjb3Jlcyt7JGNmZ19zZW5kZmJfc2NvcmVzfSB3aGVyZSBtaWQ9J3skY2ZnX21sLT5NX0lEfScgIik7DQoJfQ0KCS8vzbO8xtPDu6e3orP2tcTGwMLbDQoJaWYoJGNmZ19tbC0+TV9JRCA+IDApDQoJew0KCQkjYXBpe3sNCgkJaWYoZGVmaW5lZCgnVUNfQVBQSUQnKSkNCgkJew0KCQkJaW5jbHVkZV9vbmNlIERFREVST09ULicvYXBpL3VjLmZ1bmMucGhwJzsNCgkJCS8vzcbLzcrCvP4NCgkJCSRhcmNSb3cgPSBHZXRPbmVib29rKCRhaWQpOw0KCQkJJGZlZWRbJ2ljb24nXSA9ICd0aHJlYWQnOw0KCQkJJGZlZWRbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnPGI+e3VzZXJuYW1lfSDU2s341b63orHtwcvGwMLbPC9iPic7DQoJCQkkZmVlZFsndGl0bGVfZGF0YSddID0gYXJyYXkoJ3VzZXJuYW1lJyA9PiAkY2ZnX21sLT5NX1VzZXJOYW1lKTsNCgkJCSRmZWVkWydib2R5X3RlbXBsYXRlJ10gPSAnPGI+e3N1YmplY3R9PC9iPjxicj57bWVzc2FnZX0nOw0KCQkJJHVybCA9ICFzdHJzdHIoJGFyY1Jvd1snYXJjdXJsJ10sJ2h0dHA6Ly8nKSA/ICgkY2ZnX2Jhc2Vob3N0LiRhcmNSb3dbJ2FyY3VybCddKSA6ICRhcmNSb3dbJ2FyY3VybCddOwkJDQoJCQkkZmVlZFsnYm9keV9kYXRhJ10gPSBhcnJheSgnc3ViamVjdCcgPT4gIjxhIGhyZWY9XCIiLiR1cmwuIlwiPiRhcmNSb3dbYXJjdGl0bGVdPC9hPiIsICdtZXNzYWdlJyA9PiBjbl9zdWJzdHIoc3RyaXBfdGFncyhwcmVnX3JlcGxhY2UoIi9cWy4rP1xdL2lzIiwgJycsICRtc2cpKSwgMTUwKSk7DQoJCQkkZmVlZFsnaW1hZ2VzJ11bXSA9IGFycmF5KCd1cmwnID0+ICRjZmdfYmFzZWhvc3QuJy9pbWFnZXMvc2NvcmVzLmdpZicsICdsaW5rJz0+ICRjZmdfYmFzZWhvc3QpOw0KCQkJdWNfZmVlZF9ub3RlKCRjZmdfbWwtPk1fTG9naW5JRCwkZmVlZCk7IHVuc2V0KCRhcmNSb3cpOw0KCQl9DQoJCSMvYWlwfX0JDQoJCSRyb3cgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgQ09VTlQoKikgQVMgbnVtcyBGUk9NIGAjQF9fYm9va2ZlZWRiYWNrYCBXSEVSRSBgbWlkYD0nIi4kY2ZnX21sLT5NX0lELiInIik7DQoJCSRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgYCNAX19tZW1iZXJfdGpgIFNFVCBgZmVlZGJhY2tgPSckcm93W251bXNdJyBXSEVSRSBgbWlkYD0nIi4kY2ZnX21sLT5NX0lELiInIik7DQoJfQ0KCSRfU0VTU0lPTlsnc2VkdGltZSddID0gdGltZSgpOw0KCWlmKGVtcHR5KCR1aWQpICYmIGlzc2V0KCRjbXR1c2VyKSkgJHVpZCA9ICRjbXR1c2VyOw0KCSRiYWNrdXJsID0gJGNmZ19mb3JtbWVtYmVyID8gImluZGV4LnBocD91aWQ9eyR1aWR9JmFjdGlvbj12aWV3YXJjaGl2ZXMmYWlkPXskYWlkfSIgOiAiYm9va2ZlZWRiYWNrLnBocD9haWQ9JGFpZCI7DQoJaWYoJGlzY2hlY2s9PTApDQoJew0KCQlTaG93TXNnKCKzybmmt6Kx7cbAwtujrLWr0OjJ87rLuvOyxbvhz9TKvsTjtcTGwMLbISIsJGJhY2t1cmwpOw0KCX1lbHNlaWYoJGlzY2hlY2s9PTEpDQoJew0KCQlTaG93TXNnKCKzybmmt6Kx7cbAwtujrM/W1NrXqrW9xsDC29Kzw+YhIiwkYmFja3VybCk7DQoJfQ0KCWV4aXQoKTsNCn0NCj8+
PD9waHANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iLy4uL2luY2x1ZGUvY29tbW9uLmluYy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvZGF0YWxpc3RjcC5jbGFzcy5waHAiKTsNCmlmKGlzc2V0KCRhcmNJRCkpDQp7DQoJJGFpZCA9ICRhcmNJRDsNCn0NCiRhcmNJRCA9ICRhaWQgPSAoaXNzZXQoJGFpZCkgJiYgaXNfbnVtZXJpYygkYWlkKSkgPyAkYWlkIDogMDsNCmlmKCRhaWQ9PTApDQp7DQoJZXhpdCgiIFJlcXVlc3QgRXJyb3IhICIpOw0KfQ0KDQokcXVlcnlzdHJpbmcgPSAic2VsZWN0IGZiLiosbWIudXNlcmlkLG1iLmZhY2UgYXMgbWZhY2UsbWIuc3BhY2VzdGEsbWIuc2NvcmVzIGZyb20gYCNAX19ib29rZmVlZGJhY2tgIGZiDQogICAgICAgICAgICAgICAgIGxlZnQgam9pbiBgI0BfX21lbWJlcmAgbWIgb24gbWIubWlkID0gZmIubWlkDQogICAgICAgICAgICAgICAgIHdoZXJlIGZiLmFpZD0nJGFpZCcgYW5kIGZiLmlzY2hlY2s9JzEnIG9yZGVyIGJ5IGZiLmlkIGRlc2MiOw0KJGRsaXN0ID0gbmV3IERhdGFMaXN0Q1AoKTsNCiRkbGlzdC0+cGFnZVNpemUgPSA2Ow0KJGRsaXN0LT5TZXRUZW1wbGV0KERFREVURU1QTEFURS4nL3BsdXMvYm9va2ZlZWRiYWNrX3RlbXBsZXRfanMuaHRtJyk7DQokZGxpc3QtPlNldFNvdXJjZSgkcXVlcnlzdHJpbmcpOw0KJGRsaXN0LT5kaXNwbGF5KCk7DQoNCj8+
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD17ZGVkZTpnbG9iYWwuY2ZnX3NvZnRfbGFuZy99IiAvPg0KPHRpdGxlPtPDu6fGwMLbo7p7ZGVkZTpnbG9iYWwudGl0bGUvfTwvdGl0bGU+DQo8bGluayBocmVmPSJ7ZGVkZTpnbG9iYWwuY2ZnX3RlbXBsZXRzX3NraW4vfS9zdHlsZS9kZWRlY21zLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0ic2NyZWVuIiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4NCmZ1bmN0aW9uIHBvc3REaWdnKGZ0eXBlLGFpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrYWlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdkaWdnaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCSB2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQkgdmFyIGhhc2lkID0gZmFsc2U7DQoJCSBzYXZlaWQgPSAnJzsNCgkJIGogPSAxOw0KCQkgZm9yKGk9c2F2ZWlkcy5sZW5ndGgtMTtpPj0wO2ktLSkNCgkJIHsNCgkJIAkgIGlmKHNhdmVpZHNbaV09PWFpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCSAJICBlbHNlIHsNCgkJIAkgIAlpZihzYXZlaWRzW2ldPT1haWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCSAJICAJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJIAkgIAlqKys7DQoJCSAJICAJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkgCSAgCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJIAkgIH0NCgkJIH0NCiAgICAgaWYoaGFzaWQpIHsgYWxlcnQoIrK70qrW2Li0tqXM+aOhIik7IHJldHVybiBmYWxzZTsgfQ0KICAgICBlbHNlIHNhdmVpZCArPSAnLCcrYWlkOw0KCQkgU2V0Q29va2llKCdkaWdnaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdkaWdnaWQnLGFpZCwxKTsNCgl9DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoImJvb2tmZWVkYmFjay5waHA/YWN0aW9uPSIrZnR5cGUrIiZhaWQ9IithaWQpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KZnVuY3Rpb24gcG9zdEJhZEdvb2QoZnR5cGUsZmlkKQ0Kew0KCXZhciB0YWdldF9vYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmdHlwZStmaWQpOw0KCS8vZG9jdW1lbnQud3JpdGUoImZlZWRiYWNrLnBocD9hY3Rpb249IitmdHlwZSsiJmZpZD0iK2ZpZCk7DQoJLy9yZXR1cm47DQogIG15YWpheCA9IG5ldyBEZWRlQWpheCh0YWdldF9vYmosZmFsc2UsZmFsc2UsJycsJycsJycpOw0KICBteWFqYXguU2VuZEdldDIoImJvb2tmZWVkYmFjay5waHA/YWlkPTEmYWN0aW9uPSIrZnR5cGUrIiZmaWQ9IitmaWQpOw0KICBEZWRlWEhUVFAgPSBudWxsOw0KfQ0KPC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iY29tbWVudHBhZ2UiPg0KPGRpdiBjbGFzcz0iaGVhZGVyIj4NCiAgICA8ZGl2IGNsYXNzPSJ0b3Agdzk2MCBjZW50ZXIiPg0KDQogICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+DQogICAgICAgIDxoMT4gPGEgaHJlZj0ie2RlZGU6Z2xvYmFsLmNmZ19iYXNlaG9zdC99Ij57ZGVkZTpnbG9iYWwuY2ZnX3dlYm5hbWUvfTwvYT4gPC9oMT4NCiAgICAgIDwvZGl2Pg0KICAgICAgPCEtLSAvdGl0bGUgLS0+DQoJCTxkaXYgY2xhc3M9IndlbGNvbWUiPg0KICAgICAgICA8P3BocCBpZigkY2ZnX21sLT5NX0lEIDw9IDApIHsgPz4NCiAgICAgICAgICAgIMT6usMsu7bTrcC0tb2xvs341b4sxPq7ucO709C1x8K9LMfrz8g8YSBocmVmPSI8P3BocCBlY2hvICRjZmdfbWVtYmVydXJsOyA/Pi9pbmRleC5waHAiPrXHwr08L2E+u/LV3zxhIGhyZWY9Ijw/cGhwIGVjaG8gJGNmZ19tZW1iZXJ1cmw7ID8+L2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT4uDQogICAgICAgIDw/cGhwIH1lbHNleyA/Pg0KDQogICAgICAgIDw/cGhwIGVjaG8gJGNmZ19tbC0+TV9Mb2dpbklEOyA/Piy7ttOtxPq1xLXHwr2how0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ijw/cGhwIGVjaG8gJGNmZ19tZW1iZXJ1cmw7ID8+L2luZGV4LnBocCI+u+HUsdbQ0MQ8L2E+IHwNCiAgICAgICAgICAgICAgICA8YSBocmVmPSI8P3BocCBlY2hvICRjZmdfbWVtYmVydXJsOyA/Pi9lZGl0X2Z1bGxpbmZvLnBocCI+ztK1xNfKwc88L2E+IHwNCiAgICAgICAgICAgICAgICA8YSBocmVmPSI8P3BocCBlY2hvICRteXVybDs/PiI+ztK1xL/VvOQ8L2E+IHwNCiAgICAgICAgICAgICAgICA8YSBocmVmPSI8P3BocCBlY2hvICRjZmdfbWVtYmVydXJsOyA/Pi9pbmRleF9kby5waHA/Zm1kbz1sb2dpbiZkb3Bvc3Q9ZXhpdCI+zcuz9rXHwrw8L2E+DQogICAgICAgIDw/cGhwDQogICAgICAgIH0NCiAgICAgICAgPz4NCgkJPC9kaXY+DQoNCiAgICA8L2Rpdj4NCiAgICA8IS0tIC90b3AgLS0+DQoNCgk8L2Rpdj48IS0tIC9uYXYgLS0+DQo8L2Rpdj48IS0tIC9oZWFkZXIgLS0+DQoNCjxkaXYgY2xhc3M9Inc5NjAgY2xlYXIgY2VudGVyIG10MSBjbXQtYm94Ij4NCgk8ZGl2IGNsYXNzPSJzcC10aXRsZSI+DQoJCTxoMj7GwMLbOjxhIGhyZWY9J3tkZWRlOmdsb2JhbC5hcmN1cmwvfScgPntkZWRlOmdsb2JhbC50aXRsZS99PC9hPjwvaDI+DQoNCgk8L2Rpdj4NCgk8ZGl2Pg0KCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJPGR0Pg0KCQkJCTxzdHJvbmc+1arSqqO6PC9zdHJvbmc+DQoJCQk8L2R0Pg0KCQkJPGRkPg0KCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudCI+DQoNCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVjbXQtYm94Ij4NCgkJCQk8c3BhbiBjbGFzcz0iZGF0ZSI+t6KyvMqxvOSjuntkZWRlOmdsb2JhbC5wdWJkYXRlIGZ1bmN0aW9uPSJNeURhdGUoJ1ktbS1kIEg6aScsQG1lKSIgL308L3NwYW4+DQogICAgICAgICAgICAgIDwvZGl2PjwhLS0gL2RlY210LXRpdGxlIC0tPg0KCQkJPGRpdiBjbGFzcz0iZGVjbXQtYWN0Ij4NCiAgICAgCQkJPHNwYW4+19y7/bfWW3tkZWRlOmdsb2JhbC5zY29yZXMvfV08L3NwYW4+DQoJCQkJPHNwYW4gaWQ9J2dvb2R7ZGVkZTpnbG9iYWwuaWQvfSc+PGEgaHJlZj0iIyIgb25jbGljaz0icG9zdERpZ2coJ2dvb2QnLHtkZWRlOmdsb2JhbC5pZC99KSI+usPGwDwvYT5be2RlZGU6ZmllbGQuZ29vZHBvc3QvfV08L3NwYW4+DQoJCQkJPHNwYW4gaWQ9J2JhZHtkZWRlOmdsb2JhbC5pZC99Jz48YSBocmVmPSIjIiBvbmNsaWNrPSJwb3N0RGlnZygnYmFkJyx7ZGVkZTpnbG9iYWwuaWQvfSkiPrLuxsA8L2E+W3tkZWRlOmZpZWxkLmJhZHBvc3QvfV08L3NwYW4+DQoNCgkJCQk8c3Bhbj48YSBocmVmPSJzdG93LnBocD9haWQ9e2RlZGU6Z2xvYmFsLmlkL30iPsrVstg8L2E+PC9zcGFuPg0KCQkJPC9kaXY+PCEtLSAvZGVjbXQtYWN0IC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVjbXQtY29udGVudCI+DQoJCQkge2RlZGU6Z2xvYmFsLmRlc2NyaXB0aW9uL30uLi4NCgkJCTwvZGl2Pg0KCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudCAtLT4NCgkJCTwvZGQ+DQoJCTwvZGw+DQoJPC9kaXY+DQoNCgk8ZGl2IGNsYXNzPSJtdDEiPg0KCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJPGR0PjxzdHJvbmc+t6Kx7cbAwts8L3N0cm9uZz48L2R0Pg0KCQkJPGRkPg0KCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudF9wb3N0Ij4NCiAgICAgICAgICA8Zm9ybSBhY3Rpb249ImJvb2tmZWVkYmFjay5waHAiIG1ldGhvZD0icG9zdCIgbmFtZT0iZmVlZGJhY2siPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InNlbmQiIC8+DQogICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWlkIiB2YWx1ZT0iPD9waHAgZWNobyAkYWlkOyA/PiIgLz4NCg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCgkJCQkJPGRpdiBjbGFzcz0iZGNtcC1tb29kIj4NCgkJCQkJCTxzdHJvbmc+se3H6To8L3N0cm9uZz4NCgkJCQkJCTx1bD4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzYnIGNoZWNrZWQ9IjEiIC8+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9tb29kL2ljby1tb29kLTYuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc0Jy8+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9tb29kL2ljby1tb29kLTQuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSczJy8+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9tb29kL2ljby1tb29kLTMuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc1Jy8+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9tb29kL2ljby1tb29kLTUuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScyJy8+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9tb29kL2ljby1tb29kLTIuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPScxJy8+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9tb29kL2ljby1tb29kLTEuZ2lmIiAvPjwvbGk+DQoJCQkJCQkJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9J2ZhY2UnIHZhbHVlPSc3Jy8+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9tb29kL2ljby1tb29kLTcuZ2lmIiAvPjwvbGk+DQoJCQkJCQk8L3VsPg0KCQkJCQk8L2Rpdj48IS0tIC9kY21wLW1vb2QgLS0+DQoJCQkJCTxkaXYgY2xhc3M9ImRjbXAtc3RhbmQiPg0KCQkJCQkJPHN0cm9uZz7GwLzbOjwvc3Ryb25nPg0KCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCgkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9Imdvb2QiIGlkPSJkY21wLXN0YW5kLWdvb2QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1nb29kIj48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL2NtdC1nb29kLmdpZiIgLz66w8bAPC9sYWJlbD4NCgkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9ImJhZCIgaWQ9ImRjbXAtc3RhbmQtYmFkIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtYmFkIj48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL2NtdC1iYWQuZ2lmIiAvPrLuxsA8L2xhYmVsPg0KCQkJCQk8L2Rpdj48IS0tIC9kY21wLXN0YW5kIC0tPg0KCQkJCQk8ZGl2IGNsYXNzPSJkY21wLWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAJPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiIGNsYXNzPSJpcHQtdHh0Ij48L3RleHRhcmVhPg0KCQkJCQk8L2Rpdj48IS0tIC9kY21wLWNvbnRlbnQgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRjbXAtdGl0bGUiPg0KDQoJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCTxkaXYgY2xhc3M9ImRjbXAtcG9zdCI+PCEtLc60tcfCvS0tPg0KCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC11c2VyaW5mbyI+DQrTw7unw/ujug0KICAgICAgICAgICAgICAgICAgICA8P3BocCBpZigkY2ZnX21sLT5NX0lEIDw9IDApIHsgPz4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InVzZXJuYW1lIiB0eXBlPSJ0ZXh0IiBpZD0idXNlcm5hbWUiIHNpemU9IjEwIiBjbGFzcz0ibmIiIC8+DQogICAgICAgICAgICAgICAgICAgIKOoPGEgaHJlZj0iLi4vbWVtYmVyL2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyIgdGFyZ2V0PSJfYmxhbmsiPjx1PteisuHQwtPDu6c8L3U+PC9hPqOpDQogICAgICAgICAgICAgICAgICAgIMPcwuujug0KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHdkIiB0eXBlPSJwYXNzd29yZCIgaWQ9InB3ZCIgc2l6ZT0iMTAiY2xhc3M9Im5iIiAvPg0KDQogICAgICAgICAgICAgICAgICAgPD9waHANCiAgICAgICAgICAgICAgICAgICAgfWVsc2V7ICBlY2hvICRjZmdfbWwtPk1fTG9naW5JRC4iJm5ic3A7IjsgfQ0KICAgICAgICAgICAgICAgICAgID8+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJub3R1c2VyIiB0eXBlPSJjaGVja2JveCIgaWQ9Im5vdHVzZXIiIHZhbHVlPSIxIiAvPg0KICAgICAgICAgICAgICAgICAgICDE5MP7xsDC2w0KICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRjZmdfZmVlZGJhY2tfY2s9PSdZJykgeyA/Pg0KICAgICAgICAgICAgICAgINHp1qTC66O6PGlucHV0IG5hbWU9InZhbGlkYXRlIiB0eXBlPSJ0ZXh0IiBpZD0idmFsaWRhdGUiIHNpemU9IjEwIiBzdHlsZT0iaGVpZ2h0OjE4cHg7d2lkdGg6NjBweDttYXJnaW4tcmlnaHQ6NnB4O3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IiBjbGFzcz0ibmIiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPScuLi9pbmNsdWRlL3ZkaW1nY2sucGhwJyAvPg0KDQoJCQkJPD9waHAgfSA/Pg0KICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0namF2YXNjcmlwdDppZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPSIiKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsgZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7JyBjbGFzcz0iYnRuLTIiPreise3GwMLbPC9idXR0b24+DQoNCgkJCQkJCTwvZGl2PjwhLS0gL2RjbXAtc3VibWl0IC0tPg0KCQkJCQk8L2Rpdj48IS0tIC9kY21wLXBvc3QgLS0+DQogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4NCgkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnRfcG9zdCAtLT4NCg0KCQkJPC9kZD4NCgkJPC9kbD4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQp7ZGVkZTppbmNsdWRlIGZpbGVuYW1lPSIuLi9kZWZhdWx0L2Zvb3Rlci5odG0iL30NCjwhLS0gL2Zvb3RlciAtLT4NCg0KDQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD17ZGVkZTpnbG9iYWwuY2ZnX3NvZnRfbGFuZy99IiAvPg0KPHRpdGxlPtPDu6fGwMLbo7o8P3BocCBlY2hvICRyb3dbJ2FyY3RpdGxlJ107Pz48L3RpdGxlPg0KPGxpbmsgaHJlZj0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vc3R5bGUvZGVkZWNtcy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9InNjcmVlbiIgdHlwZT0idGV4dC9jc3MiIC8+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iY29tbWVudHBhZ2UiPg0KPGRpdiBjbGFzcz0iaGVhZGVyIj4NCiAgICA8ZGl2IGNsYXNzPSJ0b3Agdzk2MCBjZW50ZXIiPg0KICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPg0KICAgICAgICA8aDE+IDxhIGhyZWY9IntkZWRlOmdsb2JhbC5jZmdfYmFzZWhvc3QvfSI+e2RlZGU6Z2xvYmFsLmNmZ193ZWJuYW1lL308L2E+IDwvaDE+DQoNCiAgICAgIDwvZGl2Pg0KICAgICAgPCEtLSAvdGl0bGUgLS0+DQoJCTxkaXYgY2xhc3M9IndlbGNvbWUiPg0KICAgICAgICA8P3BocCBpZigkY2ZnX21sLT5NX0lEIDw9IDApIHsgPz4NCiAgICAgICAgICAgIMT6usMsu7bTrcC0tb2xvs341b4sxPq7ucO709C1x8K9LMfrz8g8YSBocmVmPSI8P3BocCBlY2hvICRjZmdfbWVtYmVydXJsOyA/Pi9pbmRleC5waHAiPrXHwr08L2E+u/LV3zxhIGhyZWY9Ijw/cGhwIGVjaG8gJGNmZ19tZW1iZXJ1cmw7ID8+L2luZGV4X2RvLnBocD9mbWRvPXVzZXImZG9wb3N0PXJlZ25ldyI+16Ky4TwvYT4uDQogICAgICAgIDw/cGhwIH1lbHNleyA/Pg0KICAgICAgICA8P3BocCBlY2hvICRjZmdfbWwtPk1fTG9naW5JRDsgPz4su7bTrcT6tcS1x8K9oaMNCiAgICAgICAgICAgICAgICA8YSBocmVmPSI8P3BocCBlY2hvICRjZmdfbWVtYmVydXJsOyA/Pi9pbmRleC5waHAiPrvh1LHW0NDEPC9hPiB8DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iPD9waHAgZWNobyAkY2ZnX21lbWJlcnVybDsgPz4vZWRpdF9mdWxsaW5mby5waHAiPs7StcTXysHPPC9hPiB8DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iPD9waHAgZWNobyAkbXl1cmw7Pz4iPs7StcS/1bzkPC9hPiB8DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iPD9waHAgZWNobyAkY2ZnX21lbWJlcnVybDsgPz4vaW5kZXhfZG8ucGhwP2ZtZG89bG9naW4mZG9wb3N0PWV4aXQiPs3Ls/a1x8K8PC9hPg0KDQogICAgICAgIDw/cGhwDQogICAgICAgIH0NCiAgICAgICAgPz4NCgkJPC9kaXY+DQogICAgICA8IS0tIC9iYW5uZXIgLS0+DQogICAgPC9kaXY+DQogICAgPCEtLSAvdG9wIC0tPg0KDQoJPC9kaXY+PCEtLSAvbmF2IC0tPg0KPC9kaXY+PCEtLSAvaGVhZGVyIC0tPg0KDQo8ZGl2IGNsYXNzPSJ3OTYwIGNsZWFyIGNlbnRlciBtdDEgY210LWJveCI+DQoJPGRpdiBjbGFzcz0ic3AtdGl0bGUiPg0KDQoJCTxoMj7GwMLbOjw/cGhwIGVjaG8gJHJvd1snYXJjdGl0bGUnXTs/PjwvaDI+DQoJPC9kaXY+DQoJPGRpdj4NCgkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCTxkdD4NCgkJCQk8c3Ryb25nPsbAwtvLtcP3o7o8L3N0cm9uZz4NCgkJCTwvZHQ+DQoJCQk8ZGQ+DQoNCgkJCQk8ZGl2IGNsYXNzPSJkZWRlX2NvbW1lbnQiPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWNtdC1ib3giPg0KICAgICAgICAgICAgICDRodTxsrvNrLXExsC828Dg0M274dOwz+zOxNXCtcS7/bfWo6zQxMfpsrvTsM/su/231qOsyOe5+8TjsrvP67Okxqq088Lbo6zWu9DoteO796GwusPGwC+y7sbAobHNvLHqo6zNrNH5v8nS1M6qzsTVwtT2vNO78rz1ydm7/bfWoaM8YnIgLz4NCiAgICAgICAgICAgCQnRodTxobDE5MP7xsDC26GxuvOjrLK7udzKx7fxtcfCvba8srvP1Mq+xOO1xL/VvOTBtL3To6zH69fUvvXX8crYu6XBqs34z+C52LXE1f6y37eoueajrNHPvfu3orK8yavH6aGisanBpqGit7S2r7XE0dTC26GjPC9kaXY+DQoJCQkJPC9kaXY+PCEtLSAvZGVkZV9jb21tZW50IC0tPg0KCQkJPC9kZD4NCgkJPC9kbD4NCgk8L2Rpdj4NCg0KCTxkaXYgY2xhc3M9Im10MSI+DQoJCTxkbCBjbGFzcz0idGJveCI+DQoJCQk8ZHQ+PHN0cm9uZz63orHtxsDC2zwvc3Ryb25nPjwvZHQ+DQoJCQk8ZGQ+DQoJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50X3Bvc3QiPg0KICAgICAgICAgIDxmb3JtIGFjdGlvbj0iYm9va2ZlZWRiYWNrLnBocCIgbWV0aG9kPSJwb3N0IiBuYW1lPSJmZWVkYmFjayI+DQogICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0ic2VuZCIgLz4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb210eXBlIiB2YWx1ZT0icmVwbHkiIC8+DQoNCiAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWQiIHZhbHVlPSI8P3BocCBlY2hvICRyb3dbJ2lkJ107ID8+IiAvPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzY29uZmlybSIgdmFsdWU9InllcyIgLz4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0eXBlaWQiIHZhbHVlPSI8P3BocCBlY2hvICRyb3dbJ3R5cGVpZCddOz8+IiAvPg0KCQkJCQk8ZGl2IGNsYXNzPSJkY21wLW1vb2QiPg0KCQkJCQkJPHN0cm9uZz6x7cfpOjwvc3Ryb25nPg0KCQkJCQkJPHVsPg0KCQkJCQkJCQk8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vbWFnZXMvbW9vZC9pY28tbW9vZC0xLmdpZiIgLz48L2xpPg0KCQkJCQkJCQk8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNycvPjxpbWcgc3JjPSJ7ZGVkZTpnbG9iYWwuY2ZnX3RlbXBsZXRzX3NraW4vfS9pbWFnZXMvbW9vZC9pY28tbW9vZC03LmdpZiIgLz48L2xpPg0KCQkJCQkJPC91bD4NCgkJCQkJPC9kaXY+PCEtLSAvZGNtcC1tb29kIC0tPg0KCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCg0KCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZmVlZGJhY2t0eXBlIiBjaGVja2VkPSIxIiB2YWx1ZT0iZmVlZGJhY2siIGlkPSJkY21wLXN0YW5kLW5ldSIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLW5ldSI+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9jbXQtbmV1LmdpZiIgLz7W0MGiPC9sYWJlbD4NCgkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9Imdvb2QiIGlkPSJkY21wLXN0YW5kLWdvb2QiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1nb29kIj48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL2NtdC1nb29kLmdpZiIgLz66w8bAPC9sYWJlbD4NCgkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgdmFsdWU9ImJhZCIgaWQ9ImRjbXAtc3RhbmQtYmFkIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtYmFkIj48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL2NtdC1iYWQuZ2lmIiAvPrLuxsA8L2xhYmVsPg0KCQkJCQk8L2Rpdj48IS0tIC9kY21wLXN0YW5kIC0tPg0KCQkJCQk8ZGl2IGNsYXNzPSJkY21wLWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icXVvdGVtc2ciIHZhbHVlPSJ7cXVvdGV9PD9waHAgZWNobyAne3RpdGxlfScuJHJvd1sndXNlcm5hbWUnXS4nILXE1K3M+6O6ey90aXRsZX17Y29udGVudH0nLiRyb3dbJ21zZyddLid7L2NvbnRlbnR9Jzs/PnsvcXVvdGV9IiAvPg0KCQkJCQkJPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiIGNsYXNzPSJpcHQtdHh0Ij48L3RleHRhcmVhPg0KDQoJCQkJCTwvZGl2PjwhLS0gL2RjbXAtY29udGVudCAtLT4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGNtcC10aXRsZSI+DQoJCQkJCQk8c21hbGw+x+vX1L711/HK2LulwarN+M/gudi1xNX+st+3qLnmo6zRz737t6KyvMmrx+mhorGpwaahore0tq+1xNHUwtuhozwvc21hbGw+DQoJCQkJCTwvZGl2PjwhLS0gL2RjbXAtdGl0bGUgLS0+DQoJCQkJCTxkaXYgY2xhc3M9ImRjbXAtcG9zdCI+PCEtLc60tcfCvS0tPg0KCQkJCQkJPGRpdiBjbGFzcz0iZGNtcC11c2VyaW5mbyI+DQrTw7unw/ujug0KICAgICAgICAgICAgICAgICAgICA8P3BocCBpZigkY2ZnX21sLT5NX0lEIDw9IDApIHsgPz4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InVzZXJuYW1lIiB0eXBlPSJ0ZXh0IiBpZD0idXNlcm5hbWUiIHNpemU9IjEwIiBjbGFzcz0ibmIiIC8+DQoNCiAgICAgICAgICAgICAgICAgICAgo6g8YSBocmVmPSIuLi9tZW1iZXIvaW5kZXhfZG8ucGhwP2ZtZG89dXNlciZkb3Bvc3Q9cmVnbmV3IiB0YXJnZXQ9Il9ibGFuayI+PHU+16Ky4dDC08O7pzwvdT48L2E+o6kNCiAgICAgICAgICAgICAgICAgICAgw9zC66O6DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJwd2QiIHR5cGU9InBhc3N3b3JkIiBpZD0icHdkIiBzaXplPSIxMCJjbGFzcz0ibmIiIC8+DQogICAgICAgICAgICAgICAgICAgPD9waHANCiAgICAgICAgICAgICAgICAgICAgfWVsc2V7ICBlY2hvICRjZmdfbWwtPk1fTG9naW5JRC4iJm5ic3A7IjsgfQ0KICAgICAgICAgICAgICAgICAgID8+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJub3R1c2VyIiB0eXBlPSJjaGVja2JveCIgaWQ9Im5vdHVzZXIiIHZhbHVlPSIxIiAvPg0KICAgICAgICAgICAgICAgICAgICDE5MP7xsDC2w0KICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRjZmdfZmVlZGJhY2tfY2s9PSdZJykgeyA/Pg0KICAgICAgICAgICAgICAgINHp1qTC66O6PGlucHV0IG5hbWU9InZhbGlkYXRlIiB0eXBlPSJ0ZXh0IiBpZD0idmFsaWRhdGUiIHNpemU9IjEwIiBzdHlsZT0iaGVpZ2h0OjE4cHg7d2lkdGg6NjBweDttYXJnaW4tcmlnaHQ6NnB4O3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IiBjbGFzcz0ibmIiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPScuLi9pbmNsdWRlL3ZkaW1nY2sucGhwJyAvPg0KDQoJCQkJPD9waHAgfSA/Pg0KICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0namF2YXNjcmlwdDppZihkb2N1bWVudC5mZWVkYmFjay5tc2cudmFsdWUhPSIiKSBkb2N1bWVudC5mZWVkYmFjay5zdWJtaXQoKTsgZWxzZSBhbGVydCgixsDC28TayN2yu8Tczqq/1aOhIik7Jz63orHtxsDC2zwvYnV0dG9uPg0KCQkJCQkJPC9kaXY+PCEtLSAvZGNtcC1zdWJtaXQgLS0+DQoJCQkJCTwvZGl2PjwhLS0gL2RjbXAtcG9zdCAtLT4NCiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPg0KCQkJCTwvZGl2PjwhLS0gL2RlZGVfY29tbWVudF9wb3N0IC0tPg0KDQoJCQk8L2RkPg0KDQoJCTwvZGw+DQoJPC9kaXY+DQo8L2Rpdj4NCg0KDQp7ZGVkZTppbmNsdWRlIGZpbGVuYW1lPSIuLi9kZWZhdWx0L2Zvb3Rlci5odG0iL30NCjwhLS0gL2Zvb3RlciAtLT4NCg0KDQo8L2JvZHk+DQo8L2h0bWw+DQo=
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD17ZGVkZTpnbG9iYWwuY2ZnX3NvZnRfbGFuZy99IiAvPg0KPHRpdGxlPtPDu6fGwMLbo7p7ZGVkZTpnbG9iYWwudGl0bGUvfTwvdGl0bGU+DQo8bGluayBocmVmPSJ7ZGVkZTpnbG9iYWwuY2ZnX3RlbXBsZXRzX3NraW4vfS9zdHlsZS9kZWRlY21zLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0ic2NyZWVuIiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9pbmNsdWRlL2pzL2RlZGVhamF4Mi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4NCmZ1bmN0aW9uIHBvc3RCYWRHb29kKGZ0eXBlLGZpZCkNCnsNCgl2YXIgdGFnZXRfb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZnR5cGUrZmlkKTsNCgl2YXIgc2F2ZWlkID0gR2V0Q29va2llKCdiYWRnb29kaWQnKTsNCglpZihzYXZlaWQgIT0gbnVsbCkNCgl7DQoJCSB2YXIgc2F2ZWlkcyA9IHNhdmVpZC5zcGxpdCgnLCcpOw0KCQkgdmFyIGhhc2lkID0gZmFsc2U7DQoJCSBzYXZlaWQgPSAnJzsNCgkJIGogPSAxOw0KCQkgZm9yKGk9c2F2ZWlkcy5sZW5ndGgtMTtpPj0wO2ktLSkNCgkJIHsNCgkJIAkgIGlmKHNhdmVpZHNbaV09PWZpZCAmJiBoYXNpZCkgY29udGludWU7DQoJCSAJICBlbHNlIHsNCgkJIAkgIAlpZihzYXZlaWRzW2ldPT1maWQgJiYgIWhhc2lkKSBoYXNpZCA9IHRydWU7DQoJCSAJICAJc2F2ZWlkICs9IChzYXZlaWQ9PScnID8gc2F2ZWlkc1tpXSA6ICcsJytzYXZlaWRzW2ldKTsNCgkJIAkgIAlqKys7DQoJCSAJICAJaWYoaj09MTAgJiYgaGFzaWQpIGJyZWFrOw0KCQkgCSAgCWlmKGo9PTkgJiYgIWhhc2lkKSBicmVhazsNCgkJIAkgIH0NCgkJIH0NCiAgICAgaWYoaGFzaWQpIHsgYWxlcnQoJ8T6uNWyxdLRse2+9rn9wcvguKOhJyk7IHJldHVybiBmYWxzZTsgfQ0KICAgICBlbHNlIHNhdmVpZCArPSAnLCcrZmlkOw0KCQkgU2V0Q29va2llKCdiYWRnb29kaWQnLHNhdmVpZCwxKTsNCgl9DQoJZWxzZQ0KCXsNCgkJU2V0Q29va2llKCdiYWRnb29kaWQnLGZpZCwxKTsNCgl9DQoJLy9kb2N1bWVudC53cml0ZSgiZmVlZGJhY2sucGhwP2FjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCgkvL3JldHVybjsNCiAgbXlhamF4ID0gbmV3IERlZGVBamF4KHRhZ2V0X29iaixmYWxzZSxmYWxzZSwnJywnJywnJyk7DQogIG15YWpheC5TZW5kR2V0MigiYm9va2ZlZWRiYWNrLnBocD9haWQ9e2RlZGU6Z2xvYmFsLmFpZC99JmFjdGlvbj0iK2Z0eXBlKyImZmlkPSIrZmlkKTsNCiAgRGVkZVhIVFRQID0gbnVsbDsNCn0NCjwvc2NyaXB0Pg0KPGJvZHkgY2xhc3M9ImNvbW1lbnRwYWdlIj4NCg0KPGRpdiBjbGFzcz0iaGVhZGVyIj4NCiAgICA8ZGl2IGNsYXNzPSJ0b3Agdzk2MCBjZW50ZXIiPg0KDQogICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+DQogICAgICAgIDxoMT4gPGEgaHJlZj0ie2RlZGU6Z2xvYmFsLmNmZ19iYXNlaG9zdC99LyI+e2RlZGU6Z2xvYmFsLmNmZ193ZWJuYW1lL308L2E+IDwvaDE+DQogICAgICA8L2Rpdj4NCiAgICAgIDwhLS0gL3RpdGxlIC0tPg0KCQk8ZGl2IGNsYXNzPSJ3ZWxjb21lIj4NCiAgICAgICAgPD9waHAgaWYoJGNmZ19tbC0+TV9JRCA8PSAwKSB7ID8+DQogICAgICAgICAgICDE+rrDLLu2063AtLW9sb7N+NW+LMT6u7nDu9PQtcfCvSzH68/IPGEgaHJlZj0iPD9waHAgZWNobyAkY2ZnX21lbWJlcnVybDsgPz4vaW5kZXgucGhwIj61x8K9PC9hPrvy1d88YSBocmVmPSI8P3BocCBlY2hvICRjZmdfbWVtYmVydXJsOyA/Pi9pbmRleF9kby5waHA/Zm1kbz11c2VyJmRvcG9zdD1yZWduZXciPteisuE8L2E+Lg0KICAgICAgICA8P3BocCB9ZWxzZXsgPz4NCg0KICAgICAgICA8P3BocCBlY2hvICRjZmdfbWwtPk1fTG9naW5JRDsgPz4su7bTrcT6tcS1x8K9oaMNCiAgICAgICAgICAgICAgICA8YSBocmVmPSI8P3BocCBlY2hvICRjZmdfbWVtYmVydXJsOyA/Pi9pbmRleC5waHAiPrvh1LHW0NDEPC9hPiB8DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iPD9waHAgZWNobyAkY2ZnX21lbWJlcnVybDsgPz4vZWRpdF9mdWxsaW5mby5waHAiPs7StcTXysHPPC9hPiB8DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iPD9waHAgZWNobyAkY2ZnX21lbWJlcnVybDsgPz4vaW5kZXgucGhwP3VpZD08P3BocCBlY2hvIHVybGVuY29kZSgkY2ZnX21sLT5NX0xvZ2luSUQpOz8+Ij7O0rXEv9W85DwvYT4gfA0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ijw/cGhwIGVjaG8gJGNmZ19tZW1iZXJ1cmw7ID8+L2luZGV4X2RvLnBocD9mbWRvPWxvZ2luJmRvcG9zdD1leGl0Ij7Ny7P2tcfCvDwvYT4NCiAgICAgICAgPD9waHANCiAgICAgICAgfQ0KICAgICAgICA/Pg0KCQk8L2Rpdj4NCg0KICAgICAgPCEtLSAvYmFubmVyIC0tPg0KICAgIDwvZGl2Pg0KICAgIDwhLS0gL3RvcCAtLT4NCg0KCTwvZGl2PjwhLS0gL25hdiAtLT4NCjwvZGl2PjwhLS0gL2hlYWRlciAtLT4NCjxkaXYgY2xhc3M9Inc5NjAgY2xlYXIgY2VudGVyIG10MSBjbXQtYm94Ij4NCgk8ZGl2IGNsYXNzPSJzcC10aXRsZSI+DQoJCTxoMj7GwMLbOjxhIGhyZWY9Jy9ib29rL2Jvb2sucGhwP2JpZD17ZGVkZTpnbG9iYWwuYmlkL30nPntkZWRlOmdsb2JhbC50aXRsZS99PC9hPjwvaDI+DQoNCgk8L2Rpdj4NCgk8ZGl2Pg0KCQk8ZGwgY2xhc3M9InRib3giPg0KCQkJPGR0Pg0KCQkJCTxzdHJvbmc+xsDC28HQse2jqM3409HGwMLbvfa5qc3409Gx7bTvuPbIy7+0t6ijrLKisrux7cP3sb7Vvs2s0uLG5LnbteO78takyrXG5MPoyvajqTwvc3Ryb25nPg0KCQkJCTxzcGFuIGNsYXNzPSJsYWJlbCI+DQo8YSBocmVmPSdib29rZmVlZGJhY2sucGhwP2FpZD17ZGVkZTpnbG9iYWwuYWlkL30mZnR5cGU9Z29vZCcgPD9waHAgaWYoJGZ0eXBlPT0nZ29vZCcpIGVjaG8gImNsYXNzPSd0aGlzY2xhc3MnIjsgPz4+1ru/tLrDxsA8L2E+DQo8YSBocmVmPSdib29rZmVlZGJhY2sucGhwP2FpZD17ZGVkZTpnbG9iYWwuYWlkL30mZnR5cGU9YmFkJyA8P3BocCBpZigkZnR5cGU9PSdiYWQnKSBlY2hvICJjbGFzcz0ndGhpc2NsYXNzJyI7ID8+Pta7v7Sy7sbAPC9hPg0KDQo8YSBocmVmPSdib29rZmVlZGJhY2sucGhwP2FpZD17ZGVkZTpnbG9iYWwuYWlkL30mZnR5cGU9ZmVlZGJhY2snIDw/cGhwIGlmKCRmdHlwZT09J2ZlZWRiYWNrJykgZWNobyAiY2xhc3M9J3RoaXNjbGFzcyciOyA/Pj7Wu7+01tDBojwvYT4NCjxhIGhyZWY9J2Jvb2tmZWVkYmFjay5waHA/YWlkPXtkZWRlOmdsb2JhbC5haWQvfScgPD9waHAgaWYoJGZ0eXBlPT0nJykgZWNobyAiY2xhc3M9J3RoaXNjbGFzcyciOyA/Pj7Iq7K/xsDC2zwvYT4NCgkJCQk8L3NwYW4+DQoJCQk8L2R0Pg0KCQkJPGRkPg0KCQkJCTxkaXYgY2xhc3M9ImRlZGVfY29tbWVudCI+DQp7ZGVkZTpkYXRhbGlzdH0NCjw/cGhwDQogIGlmKCRmaWVsZHNbJ3VzZXJpZCddIT0nJykgJHNwYWNldXJsID0gJGNmZ19iYXNlaG9zdC4nL21lbWJlci9pbmRleC5waHA/dWlkPScuJGZpZWxkc1sndXNlcmlkJ107DQogIGVsc2UgJHNwYWNldXJsID0gIiMiOw0KICBpZigkZmllbGRzWyd1c2VybmFtZSddPT0nxOTD+ycpICRzcGFjZXVybCA9ICIjIjsNCiAgJGZpZWxkc1snYmdpbWcnXSA9ICdjbXQtbmV1LmdpZic7DQogICRmaWVsZHNbJ2Z0eXBldGl0bGUnXSA9ICe4w9PDu6ex7cq+1tDBoic7DQogIGlmKCRmaWVsZHNbJ2Z0eXBlJ109PSdiYWQnKSB7DQogIAkkZmllbGRzWydiZ2ltZyddID0gJ2NtdC1iYWQuZ2lmJzsNCiAgCSRmaWVsZHNbJ2Z0eXBldGl0bGUnXSA9ICe4w9PDu6ex7cq+su7GwCc7DQogIH0NCiAgZWxzZSBpZigkZmllbGRzWydmdHlwZSddPT0nZ29vZCcpIHsNCiAgCSRmaWVsZHNbJ2JnaW1nJ10gPSAnY210LWdvb2QuZ2lmJzsNCiAgCSRmaWVsZHNbJ2Z0eXBldGl0bGUnXSA9ICe4w9PDu6ex7cq+usPGwCc7DQogIH0NCj8+DQoJICA8ZGl2IGNsYXNzPSJkZWNtdC1ib3giPg0KCQkJPGRpdiBjbGFzcz0iZGVjbXQtdGl0bGUiPg0KDQoJCQkJPHNwYW4gY2xhc3M9Im1vb2RpY28iPjxpbWcgc3JjPSJ7ZGVkZTpnbG9iYWwuY2ZnX3RlbXBsZXRzX3NraW4vfS9pbWFnZXMvbW9vZC88P3BocCBpZigkZmllbGRzWydmYWNlJ10+MCkgZWNobyAiaWNvLW1vb2QteyRmaWVsZHNbJ2ZhY2UnXX0uZ2lmIjsgPz4iIC8+ICAgICAgICAgICAgICAgIDwvc3Bhbj4NCgkJCQk8c3BhbiBjbGFzcz0idXNlcm5hbWUiPiB7ZGVkZTpmaWVsZC51c2VybmFtZS99PC9zcGFuPg0KCQkJCTxzcGFuIGNsYXNzPSJkYXRlIj4g09oge2RlZGU6ZmllbGQuZHRpbWUgZnVuY3Rpb249Ik15RGF0ZSgnbS1kIEg6aScsQG1lKSIgL308L3NwYW4+y7W1vTwvZGl2PjwhLS0gL2RlY210LXRpdGxlIC0tPg0KCQkJPGRpdiBjbGFzcz0iZGVjbXQtYWN0Ij4NCgkJCQk8c3BhbiBpZD0nZ29vZGZie2RlZGU6ZmllbGQuaWQvfSc+PGEgaHJlZj0iIyIgb25jbGljaz0icG9zdEJhZEdvb2QoJ2dvb2RmYicse2RlZGU6ZmllbGQuaWQvfSkiPtans9Y8L2E+W3tkZWRlOmZpZWxkLmdvb2QvfV08L3NwYW4+DQoJCQkJPHNwYW4gaWQ9J2JhZGZie2RlZGU6ZmllbGQuaWQvfSc+PGEgaHJlZj0iIyIgb25jbGljaz0icG9zdEJhZEdvb2QoJ2JhZGZiJyx7ZGVkZTpmaWVsZC5pZC99KSI+t7S21DwvYT5be2RlZGU6ZmllbGQuYmFkL31dPC9zcGFuPg0KCQkJCTxzcGFuPjxhIGhyZWY9ImJvb2tmZWVkYmFjay5waHA/ZmlkPXtkZWRlOmZpZWxkLmlkL30mYWN0aW9uPXF1b3RlIj7S/dPDPC9hPjwvc3Bhbj4NCgkJCTwvZGl2PjwhLS0gL2RlY210LWFjdCAtLT4NCgkJCTxkaXYgY2xhc3M9ImRlY210LWNvbnRlbnQiPg0KCQkJCXtkZWRlOmZpZWxkLm1zZyBmdW5jdGlvbj0iUXVvdGVfcmVwbGFjZShAbWUpIi99DQoJCQk8aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL3tkZWRlOmZpZWxkLmJnaW1nL30iIC8+DQoJCQk8L2Rpdj48IS0tIC9kZWNtdC1jb250ZW50IC0tPg0KCQk8L2Rpdj48IS0tIC9kZWNtdC1ib3ggLS0+DQoNCnsvZGVkZTpkYXRhbGlzdH0JCXtkZWRlOnBhZ2VsaXN0IGxpc3RpdGVtPSJpbmZvLGluZGV4LGVuZCxwcmUsbmV4dCxwYWdlbm8iIGxpc3RzaXplPSI1Ii99CQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnQgLS0+DQoJCQk8L2RkPg0KCQk8L2RsPg0KCTwvZGl2Pg0KDQoJPGRpdiBjbGFzcz0ibXQxIj4NCgkJPGRsIGNsYXNzPSJ0Ym94Ij4NCgkJCTxkdD4NCgkJCQk8c3Ryb25nPreise3GwMLbPC9zdHJvbmc+DQoNCgkJCTwvZHQ+DQoJCQk8ZGQ+DQoJCQkJPGRpdiBjbGFzcz0iZGVkZV9jb21tZW50X3Bvc3QiPg0KICAgICAgICAgIDxmb3JtIGFjdGlvbj0iYm9va2ZlZWRiYWNrLnBocCIgbWV0aG9kPSJwb3N0IiBuYW1lPSJmZWVkYmFjayI+DQogICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0ic2VuZCIgLz4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb210eXBlIiB2YWx1ZT0iY29tbWVudHMiPg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFpZCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFpZDsgPz4iIC8+DQogICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaXNjb25maXJtIiB2YWx1ZT0ieWVzIiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkY21wLXRpdGxlIj4NCg0KCQkJCQkJPHNtYWxsPsfr19S+9dfxyti7pcGqzfjP4LnYtcTV/rLft6i55qOs0c+9+7eisrzJq8fpoaKxqcGmoaK3tLavtcTR1MLboaM8L3NtYWxsPg0KCQkJCQk8L2Rpdj48IS0tIC9kY21wLXRpdGxlIC0tPg0KCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXN0YW5kIj4NCgkJCQkJCTxzdHJvbmc+xsC82zo8L3N0cm9uZz4NCgkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZlZWRiYWNrdHlwZSIgY2hlY2tlZD0iMSIgdmFsdWU9ImZlZWRiYWNrIiBpZD0iZGNtcC1zdGFuZC1uZXUiIC8+PGxhYmVsIGZvcj0iZGNtcC1zdGFuZC1uZXUiPjxpbWcgc3JjPSJ7ZGVkZTpnbG9iYWwuY2ZnX3RlbXBsZXRzX3NraW4vfS9pbWFnZXMvY210LW5ldS5naWYiIC8+1tDBojwvbGFiZWw+DQoJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJnb29kIiBpZD0iZGNtcC1zdGFuZC1nb29kIiAvPjxsYWJlbCBmb3I9ImRjbXAtc3RhbmQtZ29vZCI+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9jbXQtZ29vZC5naWYiIC8+usPGwDwvbGFiZWw+DQoJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJmZWVkYmFja3R5cGUiIHZhbHVlPSJiYWQiIGlkPSJkY21wLXN0YW5kLWJhZCIgLz48bGFiZWwgZm9yPSJkY21wLXN0YW5kLWJhZCI+PGltZyBzcmM9IntkZWRlOmdsb2JhbC5jZmdfdGVtcGxldHNfc2tpbi99L2ltYWdlcy9jbXQtYmFkLmdpZiIgLz6y7sbAPC9sYWJlbD4NCg0KCQkJCQk8L2Rpdj48IS0tIC9kY21wLXN0YW5kIC0tPg0KCQkJCQk8ZGl2IGNsYXNzPSJkY21wLWNvbnRlbnQiPg0KCQkJCQkJPHRleHRhcmVhIGNvbHM9IjYwIiBuYW1lPSJtc2ciIHJvd3M9IjUiIGNsYXNzPSJpcHQtdHh0Ij48L3RleHRhcmVhPg0KCQkJCQk8L2Rpdj48IS0tIC9kY21wLWNvbnRlbnQgLS0+DQoNCgkJCQkJPGRpdiBjbGFzcz0iZGNtcC1tb29kIj4NCgkJCQkJCTxzdHJvbmc+se3H6To8L3N0cm9uZz4NCgkJCQkJCTx1bD4NCg0KCQkJCQkJCQk8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSdmYWNlJyB2YWx1ZT0nNicgY2hlY2tlZD0iMSIgLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNi5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzQnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNC5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzMnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtMy5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzUnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNS5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzInLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtMi5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzEnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtMS5naWYiIC8+PC9saT4NCgkJCQkJCQkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0nZmFjZScgdmFsdWU9JzcnLz48aW1nIHNyYz0ie2RlZGU6Z2xvYmFsLmNmZ190ZW1wbGV0c19za2luL30vaW1hZ2VzL21vb2QvaWNvLW1vb2QtNy5naWYiIC8+PC9saT4NCgkJCQkJCTwvdWw+DQoJCQkJCTwvZGl2PjwhLS0gL2RjbXAtbW9vZCAtLT4NCg0KCQkJCQk8ZGl2IGNsYXNzPSJkY21wLXBvc3QiPjwhLS3OtLXHwr0tLT4NCgkJCQkJCTxkaXYgY2xhc3M9ImRjbXAtdXNlcmluZm8iPg0K08O7p8P7o7oNCiAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoJGNmZ19tbC0+TV9JRCA8PSAwKSB7ID8+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJ1c2VybmFtZSIgdHlwZT0idGV4dCIgaWQ9InVzZXJuYW1lIiBzaXplPSIxMCIgY2xhc3M9Im5iIiAvPg0KICAgICAgICAgICAgICAgICAgICCjqDxhIGhyZWY9Ii4uL21lbWJlci9pbmRleF9kby5waHA/Zm1kbz11c2VyJmRvcG9zdD1yZWduZXciIHRhcmdldD0iX2JsYW5rIj48dT7XorLh0MLTw7unPC91PjwvYT6jqQ0KICAgICAgICAgICAgICAgICAgICDD3MLro7oNCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InB3ZCIgdHlwZT0icGFzc3dvcmQiIGlkPSJwd2QiIHNpemU9IjEwImNsYXNzPSJuYiIgLz4NCiAgICAgICAgICAgICAgICAgICA8P3BocA0KICAgICAgICAgICAgICAgICAgICB9ZWxzZXsgIGVjaG8gJGNmZ19tbC0+TV9Mb2dpbklELiImbmJzcDsiOyB9DQogICAgICAgICAgICAgICAgICAgPz4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9Im5vdHVzZXIiIHR5cGU9ImNoZWNrYm94IiBpZD0ibm90dXNlciIgdmFsdWU9IjEiIC8+DQoNCiAgICAgICAgICAgICAgICAgICAgxOTD+8bAwtsNCiAgICAgICAgICAgICAgICA8P3BocCBpZigkY2ZnX2ZlZWRiYWNrX2NrPT0nWScpIHsgPz4NCiAgICAgICAgICAgICAgICDR6dakwuujujxpbnB1dCBuYW1lPSJ2YWxpZGF0ZSIgdHlwZT0idGV4dCIgaWQ9InZhbGlkYXRlIiBzaXplPSIxMCIgc3R5bGU9ImhlaWdodDoxOHB4O3dpZHRoOjYwcHg7bWFyZ2luLXJpZ2h0OjZweDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyIgY2xhc3M9Im5iIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nLi4vaW5jbHVkZS92ZGltZ2NrLnBocCcvPg0KDQoJCQkJPD9waHAgfSA/Pg0KICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iYnRuLTIiPreise3GwMLbPC9idXR0b24+DQoJCQkJCQk8L2Rpdj48IS0tIC9kY21wLXN1Ym1pdCAtLT4NCgkJCQkJPC9kaXY+PCEtLSAvZGNtcC1wb3N0IC0tPg0KDQogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4NCgkJCQk8L2Rpdj48IS0tIC9kZWRlX2NvbW1lbnRfcG9zdCAtLT4NCg0KCQkJPC9kZD4NCgkJPC9kbD4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQoNCntkZWRlOmluY2x1ZGUgZmlsZW5hbWU9Ii4uL2RlZmF1bHQvZm9vdGVyLmh0bSIvfQ0KPCEtLSAvZm9vdGVyIC0tPg0KPC9ib2R5Pg0KDQo8L2h0bWw+DQo=
PD9waHANCnJlcXVpcmVfb25jZShERURFSU5DLiIvY29tbW9uLmZ1bmMucGhwIik7DQo/Pg0Ke2RlZGU6Y29uZmlnIHBhZ2VzaXplPSc1Jy99DQp7ZGVkZTpkYXRhbGlzdH0NCjw/cGhwDQogIGlmKCRmaWVsZHNbJ3VzZXJpZCddIT0nJykgJHNwYWNldXJsID0gJGNmZ19iYXNlaG9zdC4nL21lbWJlci9pbmRleC5waHA/dWlkPScuJGZpZWxkc1sndXNlcmlkJ107DQogIGVsc2UgJHNwYWNldXJsID0gIiMiOw0KICBpZigkZmllbGRzWyd1c2VybmFtZSddPT0nxOTD+ycpICRzcGFjZXVybCA9ICIjIjsNCiAgJGZpZWxkc1snYmdpbWcnXSA9ICdjbXQtbmV1LmdpZic7DQogICRmaWVsZHNbJ2Z0eXBldGl0bGUnXSA9ICe4w9PDu6ex7cq+1tDBoic7DQogIGlmKCRmaWVsZHNbJ2Z0eXBlJ109PSdiYWQnKSB7DQogIAkkZmllbGRzWydiZ2ltZyddID0gJ2NtdC1iYWQuZ2lmJzsNCiAgCSRmaWVsZHNbJ2Z0eXBldGl0bGUnXSA9ICe4w9PDu6ex7cq+su7GwCc7DQogIH0NCiAgZWxzZSBpZigkZmllbGRzWydmdHlwZSddPT0nZ29vZCcpIHsNCiAgCSRmaWVsZHNbJ2JnaW1nJ10gPSAnY210LWdvb2QuZ2lmJzsNCiAgCSRmaWVsZHNbJ2Z0eXBldGl0bGUnXSA9ICe4w9PDu6ex7cq+usPGwCc7DQogIH0NCj8+DQpkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0nZGVjbXQtYm94Jz4iKTsNCmRvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSdkZWNtdC10aXRsZSc+Iik7DQpkb2N1bWVudC53cml0ZSgiPHNwYW4gY2xhc3M9J21vb2RpY28nPjxpbWcgc3JjPSd7ZGVkZTpnbG9iYWwuY2ZnX3RlbXBsZXR1cmwvfS9pbWFnZXMvbW9vZC9pY28tbW9vZC08P3BocCBpZigkZmllbGRzWydmYWNlJ10+MCkgZWNobyAkZmllbGRzWydmYWNlJ107Pz4uZ2lmJy8+PC9zcGFuPiIpOw0KZG9jdW1lbnQud3JpdGUoIjxzcGFuIGNsYXNzPSd1c2VybmFtZSc+PGEgaHJlZj0nPD9waHAgZWNobyAkc3BhY2V1cmw7Pz4nPntkZWRlOmZpZWxkLnVzZXJuYW1lL308L2E+PC9zcGFuPiIpOw0KZG9jdW1lbnQud3JpdGUoIjxzcGFuIGNsYXNzPSdkYXRlJz57ZGVkZTpmaWVsZC5kdGltZSBmdW5jdGlvbj1HZXREYXRlTWsoQG1lKS99PC9zcGFuPiIpOw0KZG9jdW1lbnQud3JpdGUoIjxzcGFuPreise08L3NwYW4+Iik7DQpkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7DQpkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0nZGVjbXQtYWN0Jz4iKTsNCmRvY3VtZW50LndyaXRlKCI8c3BhbiBpZD0nZ29vZGZie2RlZGU6ZmllbGQuaWQvfSc+PGEgaHJlZj0jZ29vZGZie2RlZGU6ZmllbGQuaWQvfSBvbmNsaWNrPXBvc3RCYWRHb29kKCdnb29kZmInLHtkZWRlOmZpZWxkLmlkL30pPtans9Y8L2E+W3tkZWRlOmZpZWxkLmdvb2QvfV08L3NwYW4+Iik7DQpkb2N1bWVudC53cml0ZSgiPHNwYW4gaWQ9J2JhZGZie2RlZGU6ZmllbGQuaWQvfSc+PGEgaHJlZj0jYmFkZmJ7ZGVkZTpmaWVsZC5pZC99IG9uY2xpY2s9cG9zdEJhZEdvb2QoJ2JhZGZiJyx7ZGVkZTpmaWVsZC5pZC99KT63tLbUPC9hPlt7ZGVkZTpmaWVsZC5iYWQvfV08L3NwYW4+Iik7DQpkb2N1bWVudC53cml0ZSgiPHNwYW4+PGEgaHJlZj0nL3BsdXMvYm9va2ZlZWRiYWNrLnBocD9maWQ9e2RlZGU6ZmllbGQuaWQvfSZhY3Rpb249cXVvdGUnPtL908M8L2E+PC9zcGFuPiIpOw0KZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpOw0KZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9J2RlY210LWNvbnRlbnQnPntkZWRlOmZpZWxkLm1zZyBmdW5jdGlvbj1qc3RyaW0oQG1lLDEwMCkvfTxpbWcgc3JjPSd7ZGVkZTpnbG9iYWwuY2ZnX3RlbXBsZXR1cmwvfS9pbWFnZXMve2RlZGU6ZmllbGQuYmdpbWcvfScgYWx0PSd7ZGVkZTpmaWVsZC5mdHlwZXRpdGxlL30nIC8+Iik7DQpkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7DQpkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7DQp7L2RlZGU6ZGF0YWxpc3R9DQoNCg0KDQo=
PCEtLQ0KDQpmdW5jdGlvbiBTaG93QWRkQ2F0YWxvZygpew0KCSRPYmooJ2FkZENhdGFsb2cnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7DQp9DQoNCmZ1bmN0aW9uIENsb3NlQWRkQ2F0YWxvZygpew0KCSRPYmooJ2FkZENhdGFsb2cnKS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCn0NCg0KZnVuY3Rpb24gQ2xvc2VFZGl0Q2F0YWxvZygpew0KCSRPYmooJ2VkaXRDYXRhbG9nJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7DQp9DQoNCmZ1bmN0aW9uIERlbENhdGFsb2coY2lkKXsNCglpZih3aW5kb3cuY29uZmlybSgixOPIt8q10qrJvrP91eK49rfWwODDtKO/IikpDQoJew0KCQlsb2NhdGlvbi5ocmVmPSdzdG9yeV9jYXRhbG9nLnBocD9jYXRpZD0nK2NpZCsnJmFjdGlvbj1kZWwnOw0KCX0NCn0NCg0KZnVuY3Rpb24gRGVsU3RvcnkoYmlkKXsNCglpZih3aW5kb3cuY29uZmlybSgixOPIt8q10qrJvrP91eKxvs28yunDtKO/Iikpew0KCQlsb2NhdGlvbi5ocmVmPSdzdG9yeV9kby5waHA/YmlkPScrYmlkKycmYWN0aW9uPWRlbGJvb2snOw0KCX0NCn0NCg0KZnVuY3Rpb24gRGVsU3RvcnlDb250ZW50KGNpZCl7DQoJaWYod2luZG93LmNvbmZpcm0oIsm+s/3E2sjduvPVwr3atcTG5Mv8xNrI3cXFwdDQ8rrFsru74beiyfqx5Luvo6xcclxu1eK/ycTctbzWwrncwO277MLSo6zE48i3yrXSqsm+s/3V4saqxNrI3cO0o78iKSl7DQoJCWxvY2F0aW9uLmhyZWY9J3N0b3J5X2RvLnBocD9jaWQ9JytjaWQrJyZhY3Rpb249ZGVsY29udGVudCc7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBDbG9zZUxheWVyKGxheWVyaWQpew0KCSRPYmoobGF5ZXJpZCkuc3R5bGUuZGlzcGxheT0nbm9uZSc7DQp9DQoNCi8v1KTAwMTayN0NCmZ1bmN0aW9uIFByZVZpZXdDdChjaWQsYm9va3R5cGUpew0KCWlmKGJvb2t0eXBlPT0wKXsNCgkJd2luZG93Lm9wZW4oIi4uL2Jvb2svc3RvcnkucGhwP2lkPSIrY2lkKTsNCgl9ZWxzZXsNCgkJd2luZG93Lm9wZW4oIi4uL2Jvb2svc2hvdy1waG90by5waHA/aWQ9IitjaWQpOw0KCX0NCn0NCg0KLy+x4LytwLjEvw0KZnVuY3Rpb24gRWRpdENhdGFsb2coY2lkKXsNCgkkT2JqKCdlZGl0Q2F0YWxvZycpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsNCgl2YXIgbXlhamF4ID0gbmV3IERlZGVBamF4KCRPYmooJ2VkaXRDYXRhbG9nQm9keScpLGZhbHNlLHRydWUsIiIsIiIsIsfrydS68qOs1f3U2tTYyOsuLi4iKTsNCglteWFqYXguU2VuZEdldDIoJ3N0b3J5X2NhdGFsb2cucGhwP2NhdGlkPScrY2lkKycmYWN0aW9uPWVkaXRsb2FkJyk7DQoJRGVkZVhIVFRQID0gbnVsbDsNCn0NCg0KLy/NvMrp1cK92qOst7TP8tGh1PENCmZ1bmN0aW9uIFJlU2VsQ2hhcHRlcigpew0KCXZhciBlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnaWRzW10nKTsNCglmb3IodmFyIGk9MDtpPGVtcy5sZW5ndGg7aSsrKXsNCgkJaWYoIWVtc1tpXS5jaGVja2VkKSBlbXNbaV0uY2hlY2tlZCA9IHRydWU7DQoJCWVsc2UgZW1zW2ldLmNoZWNrZWQgPSBmYWxzZTsNCgl9DQp9DQoNCi8vyb6z/dX71cK92s28yunE2sjdDQpmdW5jdGlvbiBEZWxTdG9yeUNoYXB0ZXIoY2lkKXsNCglpZih3aW5kb3cuY29uZmlybSgiyb6z/dXCvdq74cm+s/3Vwr3az8K1xMv509DE2sjdo6zE48i3yrXSqsm+s/3DtKO/Iikpew0KCQlsb2NhdGlvbi5ocmVmPSdzdG9yeV9kby5waHA/Y2lkPScrY2lkKycmYWN0aW9uPWRlbENoYXB0ZXInOw0KCX0NCn0NCg0KLy/U9rzTzbzK6bXEvOyy6Q0KZnVuY3Rpb24gY2hlY2tTdWJtaXRBZGQoKQ0Kew0KCWlmKGRvY3VtZW50LmZvcm0xLmNhdGlkLnZhbHVlPT0wKXsNCgkJYWxlcnQoIsfr0aHU8cGs1NjE2sjdtcTAuMS/o6EiKTsNCgkJZG9jdW1lbnQuZm9ybTEuYm9va25hbWUuZm9jdXMoKTsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCglpZihkb2N1bWVudC5mb3JtMS5ib29rbmFtZS52YWx1ZT09IiIpew0KCQlhbGVydCgiwazU2M28yunD+7PGsrvE3M6qv9WjoSIpOw0KCQlkb2N1bWVudC5mb3JtMS5ib29rbmFtZS5mb2N1cygpOw0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KfQ0KDQovL9T2vNPQocu1xNrI3bXEvOyy6Q0KZnVuY3Rpb24gY2hlY2tTdWJtaXRBZGRDdCgpDQp7DQoJaWYoZG9jdW1lbnQuZm9ybTEudGl0bGUudmFsdWU9PTApew0KCQlhbGVydCgizsTVwrHqzOKyu8Tczqq/1aOhIik7DQoJCWRvY3VtZW50LmZvcm0xLnRpdGxlLmZvY3VzKCk7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoJaWYoZG9jdW1lbnQuZm9ybTEuY2hhcHRlcmlkLnNlbGVjdGVkSW5kZXg9PS0xICYmIGRvY3VtZW50LmZvcm0xLmNoYXB0ZXJuZXcudmFsdWU9PScnKXsNCgkJYWxlcnQoIs7E1cLL+cr01cK92rrN0MLVwr3aw/uzxrK7xNzNrMqxzqq/1aOhIik7DQoJCXJldHVybiBmYWxzZTsNCgl9DQp9DQoNCi8v1Pa808L+u63E2sjdtcS87LLpDQpmdW5jdGlvbiBjaGVja1N1Ym1pdEFkZFBob3RvKCkNCnsNCglpZihkb2N1bWVudC5mb3JtMS5jaGFwdGVyaWQuc2VsZWN0ZWRJbmRleD09LTEgJiYgZG9jdW1lbnQuZm9ybTEuY2hhcHRlcm5ldy52YWx1ZT09Jycpew0KCQlhbGVydCgizsTVwsv5yvTVwr3aus3QwtXCvdrD+7PGsrvE3M2syrHOqr/Vo6EiKTsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCglkb2N1bWVudC5mb3JtMS5waG90b251bS52YWx1ZSA9IGVuZE51bTsNCn0NCg0KLy/P1Mq+0aHU8b/y0+vQwtT21cK92tGhz+4NCmZ1bmN0aW9uIFNob3dIaWRlU2VsQ2hhcHRlcihzZWxmaWVsZCxuZXdmaWVsZCkNCnsNCglpZihkb2N1bWVudC5mb3JtMS5hZGRjaGFwdGVyLmNoZWNrZWQpew0KCQkkT2JqKHNlbGZpZWxkKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KCQkkT2JqKG5ld2ZpZWxkKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCgl9ZWxzZXsNCgkJJE9iaihzZWxmaWVsZCkuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7DQoJCSRPYmoobmV3ZmllbGQpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBzZWxBbGwoKQ0Kew0KCWZvcihpPTA7aTxkb2N1bWVudC5mb3JtMi5pZHMubGVuZ3RoO2krKykNCgl7DQoJCWlmKCFkb2N1bWVudC5mb3JtMi5pZHNbaV0uY2hlY2tlZCl7DQoJCQlkb2N1bWVudC5mb3JtMi5pZHNbaV0uY2hlY2tlZD10cnVlOw0KCQl9DQoJfQ0KfQ0KZnVuY3Rpb24gbm9TZWxBbGwoKQ0Kew0KCWZvcihpPTA7aTxkb2N1bWVudC5mb3JtMi5pZHMubGVuZ3RoO2krKykNCgl7DQoJCWlmKGRvY3VtZW50LmZvcm0yLmlkc1tpXS5jaGVja2VkKXsNCgkJCWRvY3VtZW50LmZvcm0yLmlkc1tpXS5jaGVja2VkPWZhbHNlOw0KCQl9DQoJfQ0KfQ0KLy+78bXD0aHW0M7EvP61xM7EvP7D+w0KZnVuY3Rpb24gZ2V0Q2hlY2tib3hJdGVtKCkNCnsNCgl2YXIgYWxsU2VsPSIiOw0KDQoJaWYoZG9jdW1lbnQuZm9ybTIuaWRzLnZhbHVlKSByZXR1cm4gZG9jdW1lbnQuZm9ybTIuaWRzLnZhbHVlOw0KCWZvcihpPTA7aTxkb2N1bWVudC5mb3JtMi5pZHMubGVuZ3RoO2krKykNCgl7DQoJCWlmKGRvY3VtZW50LmZvcm0yLmlkc1tpXS5jaGVja2VkKXsNCgkJCWFsbFNlbCArPSAoYWxsU2VsPT0nJyA/IGRvY3VtZW50LmZvcm0yLmlkc1tpXS52YWx1ZSA6ICIsIitkb2N1bWVudC5mb3JtMi5pZHNbaV0udmFsdWUpOw0KCQl9DQoJfQ0KCXJldHVybiBhbGxTZWw7DQp9DQovL8m+s/224NGhDQpmdW5jdGlvbiBEZWxBbGxCb29rcygpDQp7DQoJaWYod2luZG93LmNvbmZpcm0oIsTjyLfKtdKqyb6z/dXi0KnNvMrpw7SjvyIpKXsNCgkJdmFyIHNlbGJvb2sgPSBnZXRDaGVja2JveEl0ZW0oKTsNCgkJbG9jYXRpb24uaHJlZj0nc3RvcnlfZG8ucGhwP2JpZD0nK3NlbGJvb2srJyZhY3Rpb249ZGVsYm9vayc7DQoJfQ0KfQ0KDQotLT4=
R0lGODlhKAAyAPcAAAAAAP////v8+/r7+vX29dLZ0OHo3+Dn3rvMtcPSvsfVwtrj1/P28vL18fH08K69qMDQur7OuLrKtLXEr9/n3Orv6Ojt5t3i24mofIemeoyqf5u1kL3Ntqe1ocfVwcnXw46rgKC4lKW5m6zAoqy7pbnIssHQusPSvM/bydzk2N/l3Nbc0+Tq4e3x6+vv6eru6Obq5Pj69/f59vX39JGsg6i8naq+n67BpLfIrrbHrdbf0dni1JayhoScdnyTb6CxlrPFqLvLsrLAqsfUv8XSvdvi19DVzcrPx+Xq4uTp4ePo4LDCpKS1mbTGqJ2rlLzLsrXDrOTq4NLV0O7x7O3w67bHqpSiisTRu8zZw83Ryufr5Jqoj7rKrau2otLby8jNxOfs45mmjqGulrrCs5GpepOlgcPRtcrVv77DucbKwtXY0uns5uLk4Pr7+am1m7i8s9re1ezw58XOuLDAmPHz7rK6pMTHv7zJo9HZwpqnf6y5kbvDqvf49crSuMDFtJ6pgaaxiMTLso+ca5Ogbpijdl5vJWl5M4OQWIyYZZulerG5lrvDn8HIq8PFvElaBmNyK2Z1MGh2MW58OnF+PniFSJehcpWfcaKrf6uyktDVvc7Rw1ZlGKOqhcjNs9PVx////t3d3P7+/vz8/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAKMALAAAAAAoADIAAAj/AAMIHJiiRg0qCA0eTGgQIRWFDg3aGDCwosUNGDYMxKhRYAgQITZmFNnRYsUZBxCMQHDARcobHAxQUWKiiQklMyPAbJly5YEWokwGWODTpUqWLgzUPMFiCoshXE7gNHCUp0oFoSwyGIFhhIsALriOeAG2ChkuMzvxGNRkSgAqN7p+DdvVgcWeSHtKuADjwpJNglRUkoQokp6mSjgUxXuAgcAdG/JWfXFhgogJK9QcknMIkZZEjLBwMWHA6GKVFAIQkQtW7Fc2THowQaRJzZ5HiuJcSgSIRxMqrVnTHcGHSGSrPtesICGGRKJNdQZRwqMkEyFET06UZmwaQRK33FPW/xByJEuaOnn8/DEkKZIhQyqcRji9WIfb4XNHZGCiBlSWH4IAogYievQxRyR0BDDFEsK5BpYX4FVl2gRGqPFFHZDkoUkgj+ARyRwvyEdfXjoYJ1lRcAjxwwNjbPLFHnsgAlgcopHWHXIIKLGaV8HxeMEPsk2SyBduCPIIJYUAoscGv/WYX1damIjjAVoU0EEYHSDiByabFMIJHF4gUsgSNoZ3lBIRnlbDA2l88UUXYohRhx1plFAFEVpQYQAHN5xI4n0OhrWfGmxI4UQPTmQBihFu0AAEcHA1KByEAZg5AmYXFCDEZStcsEIJZE6lmJ88lXjcjS+ooJIERcBwABFcXP9xwAtKnABEBNtJiJeOkvLowhI0VOEWHWbUYEaCU3DBw6NO9hjlqYy9cAAHQBAhRyCMzKHHHIx0ku1ouY6IZqW6qlQCHBfAEUkh7EkiyXuPSEIHCyb0OaVL9jUrqAj9qfFIIplgAgkjimg7iYJAgOBroJSaKQIJaNjRyCOXdOJIJYM4ssgck8xrwhKk4ivljWwcIcYWXUCiiCSHUHIIIHEwYogZQ7BAhaU57vikV3RIYUUPYkSiSCaAFLIJIFoEYsgcXADa67OklnxyypwYgsghl1TyCCYz13xzuSuNayYTJIxhBxr/dtLJIi9nwjEdWnwc8gH54tcaoo2Y94gge3D/sskkgNyhx8FTNKHwznM1XK4IXYyRRhqPHPKHInUIUgkgg8hLL8j30j0yY2x84QSWkLh8yOmICHKIIdkpcWN3vC4sFwE++xBGHW66UQYmWawBwxPLAmf3cFBPqUQWYljxQxpH2AFnF19coIKtuL6+a5qSjZeFGllsCoUUcBgxwQgRiDpiqU7LXgMbBChRAwg3wEAADMAuIXygDGOPnAQqSBsBEExxChGqQJqvnU9k0CrXDXClgz0MgQNnkIRTTAAEDnTuTDpr1gu4coMX9EESgZiDGRyhIGXdAHHO+pyEVGCZCVxgD5IYQh+84Ag6rGEIVYjABcOmP9NIoAAWKsEf/wBjiUo4AhGIwMQU9nRAuqXvSTWAAyjSUCTAYOxqh1DEW+IiO18pjj4lMEIa3tAFQkDCE3AoAh7MgIU1LHFUnTNVyC7wgDA4AQ2YcAQkHhEJwmjhDDncIQKQsINefQUGP/CBFRohCETsQRHY6piyloBCuuRAAAH4wBxJYEc0TIITUKiDHPYwiac0QYfWQ0AQYjCQBoBtAuZBgxgcUYcjGGEFgICE16gyIgtkpSJR0MDCMiACI0jhC5QwRBe2B4c8FKJp+uKKBz4hlApAADlsYl4JajCBL9gSCoAwAQtSiQKhDKQNCUiOlbbwgCIo5wFOEEIRcrKT7tjFnAORAQ6eMBqrFP0AChdwQRFUBNAlPqEG/LzZE2wABqEEBAA7