Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval(gzinflate(base64_decode('FZq1rvTAmkUfZ+6VAzNpIjMzOxmZmdv49HP+oOXQpfpce69V6urKxv..
Decoded Output download
eval(gzinflate(base64_decode('fVpHErPIFT6OZ4pFk0O5ZkEQILIAAWLjIuecOb35fQBvJRXqfu+LKmV71P5V3FWft9Ga/RVHS0bi/0mzZEizv/5FBUjYkLPegCzofhVhctmO95Fexe0He/Fi2qSbUtoMy4oiHMcnTEGh9+PZTTk3Ss0pYO08+fIHI0zzsPM6kOYA2ExOidMS76ncAcBQZFeScZDZHRfwKAxJIfQNJ70QyHlZBHIT2sw81ClkmrfjqoSXe4jJbFHVxV8xnI7hjrPl5gpiShqqonterFV6rPn6OyF9CEn9VLtaaTf3vRy93eDZTjRaRNixYZCkDvfvSzfFKT2H7G5GCsrcrCG23Qg6V/4B2cF1Oq/x5TK6VjHjH8gjk3o3HaxuM35FMSjB6Gd2T55VHXthuNwsJGgYNgREhBgdZWr0eFqcx95U6oaJoRd0dPMYkxcvEqsSgr5SzQowWoFHw+/j77Sq2C3njNzdS/hu94JZu2H2VP6eVrDlv3NzDagCuENGYSFDXj8Q2BLnI6FjuTOfXdg25q4daFkeGv0z65foIj1CmUFzj/HY4f3qXii4yRonTYshcAj+MYIpmZlbYN+cjBc+QW4thWjn7OyWaFpP+q5QEpwI8Nr9Cy3zTyoT/4612PKweYLmAkPUVLnBPmfZBwhn1lEZ5jIXQlHmEQ+kk9u70oxR6EseZnV9giXm6LmUMWo4Y109hszbGZsiXXK7Jff6wZz3cn4oFBmxHlq5Hg3lSfiaGwtjPNrgYVBZ9faacqy3whUPlysLHbLF2pDkgkFoOfJjrkd5+od3xTskU2S1t6JtQO2eumMvJbX/MhuGJnBD9GJawyggBZT2nSHfspjXCzLS+CIFGdotHNqBJmN8bgUjWu9khkB+W95OhFMV2yPk725/HxeBhPhNpZPWrswXFUjlwieOCUJF3l55StUm52DZGFJZGcR4JFs4qiSpHzmDMxH7ENInJTI+XShSyJXcw7LLgbv4oMwXQQQP4iJLpzE670iWpp/viXjr2Eo9UW/RLnvjs1+3h5vT+uPRwUKD4xswVXAz9ZQyQrjymb8fzq6jihh0l5Yb8hsXKrHvKkjIm3DoqnzpiO8FKTdLll8P2Ue1I61E1H+dgDhxdPcNmrbNNIch2hC9LxZCnXqt4xRD23cNhXxR6it37XHPVvyJMqxjcySDW1SUiO+dcXLHM1ZgHfyMjep1FLMU0ockU9HayMB+owxMLDify5Y9UiLwx2Gl1/CAfxLy3Z2PtS0Br5EZ7kOhZilWb8vZKR6Qz9U0ss5xnP5+1B6X14MVN670HLHV3oXXNV0u5TYKB4uaadswhl4F+/xacrgbz9PKenlBx07GvFfHFcxXb/awxuvtn6Hie9/tPXX5DxTkQMSXZMC1z+U/0QqNU2gsRNclYmYDd4ER0X8RpRS9SFp1rS76iGSdvleYu+apv2aOcpM0P1EzjYrUnDGPBFsI37m3u6qyhn/4ihgh5wnbqEb6jmJ7IPmuyN7rpPLY/o0lpyvgKZxoGcfU2RJufoMF86gxhI67C9zjVlyYc/VHZhIfbBlRXYHuXjO9M2WVpkCBMn6JS5cW9TOn5TtEyBz0Z6HlAzNv0hKlkMZ5uVZqjABN+ez5NJ4wlcCMQsXHUBrUJvVIYSchQ01hLb3eUqyjkLRSvylP8+LADMl3vJgoZ4qLO4en49WaVTMLvZiHoorLb119J2ODfXEQ1ahkTN2maS32KCUVC56ZvhX0Nr7pIuziNw7VC/uF9K4n2NQCVQkY00DxhO8NTJxnHdNld8+T5aJPYw6rahip2K+Sg1JfWPjB4x7BW//EihsEkVBmXTeZlw9FLw2A8izzuMKyOLpE5DRzu+d9FpLP5kXvYqmlaMNaUBlHcTrWiHtZM4SYuVh0pBJbeL35y5cZJavbvKBOE7vTGxHQcxjj6/zByJdMUe5KfCWEu73+OOA0QrfhjN6I2ktCrnbMbHJkI8uYoMGPJSbkgxlFy03td69xSOSxHMWHO0mVuBvxgpSNm3GhmJfIWmLftF1YSRx7zl9t2F0GEuUy6i2YzqfvCC1cm6jf7ehnJMi6y0QZpMKN0FiF4ynJg9Vd6ZzAgeafrYB9ZMA9HM2SWirj1X6F0+0UhgLeEY6qZv8K9vrMHbrEQmy+AcYoEPyBCvLMQqjexWTQnG5POtLYomQMGxMNpZRFPDhbpu7qxMU/3pLBYS3P8D1izyxBL79LXwIA64pA6lPx83SAsmMr0uqRScV+JQP2E9+sIeaqWRMNs5dS35AHEdexfwl6Kfk8i70M5stSCJmgGGuixrtHDjc1eeYO8OyjpO3QXxn8kNSKevu3W6wJAa2s+QkhcqJQmv5EPfgUQyGYUHNLwnefFi453vArY9tkYy87bLDe2d7nBlhmjCd4DeDiRzfezgY0kaXKMgP2wpf3aaD9UmmgXewRZsWC14VdhXvVvKYxFwx/s3B3wxZmPSYCvb3A49808rwMVwDCjGMZiEuk4vU7RrG7UlBsx0nsv6wmluMNe2yUVv3vS9gam5DtVUPSjFC3c/UKyuV2VbCzol5jjzUbAqNG1/p0K0UHTWC5SSJnn693XYhBXOE33fpaGOMzTTDQN/vugxS5vjXr/Safv1oo2RhXXXaDWnwBQbzaChSzTQfV+nEgHofaw9g55oIfYtJLHgNGLRYCQ6ggAfS3v2hzI+aKDXh9wgWz5SfwMchtC0bSk2ySioNlocoUgjqJpNdRo4XxCVeNfGcuaTELd3C7Ho2FkOs/f3mo4BFaTj7Oqm33vY8vjGPX5LNLcJVzVioT0aevYZ1kBdZDxYFHOaknfbtc18aMoBS38zoNFqaUw7j2kCqevDlZk13so/Ii5Gd575+wB/DQapXA7xU4hi7L3z8L57AP9XB1/4jJ+wV1nLK9qbYAmz7NpBChr+zMbfqmpOGMuRdbbM1iMEIfMufVvxisISHOJwYqVbTbVPD6zoglw8F2XtxlUwUm0qjOucVJ+7Tr0xguU5LForvbXKlcdgUSLPYwQyLhzro/WlEpLfJdKKipBDWKvVJN1F1sITPaRlIM8iWcziHKGo/d7QkI2ykiI3gCicN3Vt69skVPjvP8nZSSyoZJ1sePBmpqnq3JTcHu8qxZDOblS9dzyCJAXyjxj9+EnmtTgRJyRQQmCK2KOqmAdYu7DvIqhkVMmfYVtFS1fsPB1KdgNFp60eoclhI+W0ZKZqgyCrYHTFyfzsyjb6AxYDfTmE0oPmMmLrz2tq+ValZs+cayhDQn3y+ETEBWjVy5oaCkDNn0z0V/ZeJ2GxcrjN5Mv4Tyk4WlbODjT9oWZv5QCqzm1lOq05ikDzunPygQTwsVDjdWtu3lUbWMPp5FKAX6InBmddoUHBld+hOt5Td7N0q8uJjbMxIIqiFixZzO17el6V/bDMmPnP+uDRwyecdQz0HYEjyBcIoS6ddl/lHeePEeGFZED3f5UppikdfEYurkv3nBw6p3y/hDi0v51Pau8+0j4X3z+5apGvXuQorZK54smRL/HE+CvuGHi1bPTjkOihxe4wRVKNZw0WoPpuw8ob41ekAZdVo9F0tnQ2dj4RwpnkKNtn7MFKHhcbS+bXvbDG0yyNhvRopNBJJ6zwSwWO99K4v3t5p/PzvT0pQoK5l7Fv3i13ClA0+l8zDCDF1uQTGrLTQE6Eddt5IiP96py3ilVxK2cMnKot8Wf53Q/FArizPbCSP3jy/QhoL4kwHh1EAWGGqPNnXq+bzehNBRTKmtUH+3I906QepY1iHSb84CTLpiSUmGJEVbsAiKntCQkQ4sLXeJaU+nmUOR/SckE0W844WKLbO4Pyg6K8uYuMYPIxo2Xdq0A224ckKYAKmYvX7CcPekGoQg/LIIzYWKorz37o1BeWvHzC+ljrtD177IZGUPhYMThnEukvec8LNSxPDn4vcaX08iYcg7u+dKAHX5DCZpAkbR65snsbSFpAceQT6qGPrkKClbc4uQ8jlIknNwMdMVkorRjDqX5UOvOjhH0/UL+KA1BVKjUDjaZz/4BB4lnMYLAlMq3S+jHE/iNQ5GptACVBgZ/rZ+tRUSGERVwn7Q5fp9fOC6tkTLA1osfyFBPmKo9x8G2GZcypsezpPFPYkkrmUi7glsJM+o20ZB1p2DanEbsWGFeKerhvdAn4gzq4gzbYMaSyn552nX/S6L2/xCJhS6x57uKAKno+G8AW/hOh6+tR5wFAM5xdHfyZzlYM+Yud4/HgPR8i4wQz2+gnsWn7Aa/FY8h8kS4Bl4PQvpz/v2FhlSQ4ZZhvxqu23hmfc++vulPEhf1Xzn3FbJnQNmQFhYYM6LkXpnc/4NFvFNMJAumt9wpt9yqGbCM00o379O0p69/OleWUkl/kPzaOjAD+bGxvjV9tJae7kQd4OymCeMYIXk+VczTUF7aQY0Des52pVoO2OjkFIGKLuJlHWpSDC5b5TBYb0pcDH2/Ev/ES8BibDAX1w8ENHEZHQ4vNwE8fkoznohxGthmjQcC8siwXLTudO7CWHxmgftorPrfp3e0mNCKuGH60ExTGDCNqGNSLlfkYDzvSMJ7IZQjjjouCp4aj7y4PUnRtKv3SkYGmknXKN3j4avCmc2xLHkOHKofDirMg5PHMzxHGUR+yzK457GXttZMM6ibqdGOUhn8a6o57DAiO735xanwvI1kzn33hzBAYiO8VEC63+jiX0S1H8SRqutsOa/X1edz4dH2Va9LJlfy/ISS4Hb05WvKU2Y+EHt7/OJ4BWhq5ELm10lzHMUrTzDlVM0O+Pkk4waxGH1OleJbPP+u/ph8UV56BDqAatLtMYNrRYy2QNXaVNCxtoySTkoh5KMcUhgzhJm9aqItelFznhP3nlufOUWrDM9IXxQ5YSZoU1UfBKuj36zGXSQDf9CcJOuVCLFlcK6/Qm8CnQwGol5sjci/3ChZCjFkq9elAGiWoB610YZyzSPmAgU7NgCDgdfr2R9LmAYlrcjkCKjzogq3+Wi2qCiJHZpBQ1Fe3qJsX1aLqPh4BfOmFFEu52yVXuDwmWEDOhWsMCm+X1x1uhP8W8qY5gjQSboFynmywtIwj7CbdVvSoQTs+xlk/di8q7tS8B9zDeO6EHUNa35211kl9cAbfPrk3HnXPAWI3NZcOrii9CednKqVgTEB97kjQSmeU72kuT57RBa5RTYTyX50X6ALFCkVv9M/bEtrMNh5qodGEkYQlTyPTN1wJy9yoTF/b2Dj0O3p/i4Eb/+VmOnWQ3U5zE/V9aS7JMd2+0uFIksu0sLx6+f3Mc3a1B8wb5i8F327lFAmXCL9L4FNUeN6JTWzE5V0eBRmOtFLkIi9n1KZHSoUlIYOtLS8Al2O9Ff5dzMvC4ikhVoC8LObrdDW8NbxJvifcw1snO8qMSFsYhXIT6fz0h+fX9SQ+brWWvhbNmBqFkkb7B+W1s00jx0WMQoAsYq1raaZMA9mmJZKUlPLUi3NA3apUTROpxUK0eqp1phunFT6sEaebz+gvMpAZ4WsSdOfPvBTD+WerkqOx4tOHLSaghUYCW5cLYTsl9Em8Nwn9OWGKIQdK9V43SZzPSHoavs4STe5P/udEoJ/w2nNjr7mpur6rx2zuu+oaG5L8AC8cbjxiBqmlBpbpV65mXJ/TLsdEaT1g/d8GO6u7ieJj4YJz52TRWqlA1l3JL5rv2tirdrV3kZSLFllMHoGY8RuDp53s+hKFksmHhREZQbINLA7+cjpHG6FKInU4SA9jW9KMOcvjsuILlb/AhfRc6PTaRw78hMVhClhMU1ZY+hlwq9BTUSFDISpGuXTB5jlezv/qaPsGTBdVMtlWbcER+VGX/oox252+H2bnMoRKnEYM727LZT3yd9KpSA9vVRFba3O1LzExxqSh2Ddxm/R70xfD8BEpKD2vimFZHWTW4z89gj2HGT8kQuZgX1jPYAeoswR79S+rwBPzWfm5W3i2kMTg0oK3cZBjeY99ZTjNzDIL9zQTdy12mSUo6Y3syf07HsoX1GtiE14WNG0iouj80SxAdTj3i/fEu4IVPM/PbSKV6bmV1zvf0KAxQYQdQbGh0R0o1BKvtE2ZfeQYd8An4nD/VSGEYWoTPA9O6ke1IXk7AdVBSxMjTwz/RmuBsSc+ToSVZW1w5mvvzbwij4MKCGQ2dpZRJBv3+M9RUOYSnZmKcNSyDQBvB4uVNOzjQP1A4dQb3pehH6meQjfc8F6TcWwVe3GryE0l+35AWZ0lOCrl/N273rsVDxQjyc40pGuqHHHu5NTv1WXbYlqY++7sg3BMOelFmIYw5yxK3PNNxGhECH7Rd45WuUfwqI8lyquVEaw+gqNCx5zoiKO90v/bI7hUDoliqEmZLIDRIKZgd0fppWUgkZLk6JCzCAxwAsmnVz4Mr7S9p6yTcdYM1sD+WKSkO7COoVn1vUGuAesn5R39J1u+QLhOE0hga6deb7jiZPd1qfvt3LUqhbLZrSTG5gLei/TX5Tm4kr/RFkdIuOCyxsNcK0ezZTSGjUWnzhIyqk8T70O4kA3VZlaHvgYX12pwXPlosOAk9QB4RY/6jSgZ5jrlx+h9YsLr+Y+EpPrYlwK5yC9EdshHtlyM2n+i/HWfpRyWsyN69KXKnLmEzCx7yPTGr9QK3DgMxyIRChmGW0FAIKmFiBFzLZ/S1olOi9R7Rb/GkUkFJLQddBaKy0r3Eqdin+De1GKEnqELQ07NlL9RlpnW8UwGKGDLRGuIZj/uZhhkN0/0jEUFji2ujJDzui6yDDC6e4TEauj+aIi8x8ggrDs8H5/mpK+riCwT1CA8/FbjRfQQedTDIyAltU7AbpMmJhbSYa+ZMZQ6GDg8yclPDsE0qPM1EjxyhCei3prLcIQVB94ZxHavgyT4KcWsZ2bqjPba5pwRpBwi1Tf34ZpHCXeRn4Jtw3sn7a7p0R8yVyuczT5dwuQ4R0s/hedfRUeKqYxkulEW3APgtFrEdOKW28PfuAvOaHjToWgDCxdFvA5g43P3m6IFueAKs9fPCinVJDJiV+yGA6PbV12vbkxi7LOxcNrqccECgHC7hDnm4VzG6PfmZSAxfN1/tGHOVFAIL1hnTmW9DIdExY7g0IWcpeS6hEm1NbeP6xZyHLIe0202Ql1vqVy9PTBs5Bm9QHjaSCvE16T8Ln3URAtp+C77Ix8ec6uhb0NQh9tlAZqcuyf+WFmQG6TIetiMHxRGEu68i9aUv3MOm6K62KwM2pCOjCdBMzTYOqEupXgDPweU6rja23xmPlrzp/F2aF9K4G30lzS/mIqOf6AqT17ZxbdF3hIaxkNaY8STkyCC7Vpb2FtGqQ4fLe2+BKO8hwmiUTcw3KnXbU6OC6oqTrJ+DPICemFLJZeoaTIGUxKb5nvO/hLE466INGpr69QwNXCd/WEGhTGnkpgPY0l12aqIBXGIeKzTe9my99VxhyfI0J94ruCvr6zYeFckLv4icvoY9K0Y+NcDSSElsqgucytWvsVnHLXNCVj9hloZkkSs1X+fQSNw1Slt8dj98cttfiJbUBayagpPv5qA3KmNVild8pAxH9CSoZQq2j9vAmy++L83eMOZpQj+CP/xg2raT5Hg/2mfkV8AyespSl/C0pJTafXawCxOqAmJrWd1HQnVg2II99i+DhXN34XituP/Zisabp8CSVVaPCXoDzSdz3TUPXmJM+Ppwyl4qSFlc0uIoeeglQ6a2VFCxjyvZrT/hz91k97JvdmTdMico9D1WZm+JCH1J2OfBNiQg07GZmYscJJYQEbVpBHzieNskMA1tcd21uM/kT0fSbxLtAtmbSzyiZ/Bi3QZu9i7Z9lEJnmizxMx06EiIHGlzfWGa6xj6Xdr9+BBouNMQfzNg/7jiv7zAsGZQVWDH5Na4JvTQIYthU+wHiKY+BApKapUgg8DyiKSTLXm/EJSCeRSOEwhvhPX+JeBdpUrgnM54eZylRVEA80D41FSymdWp1GpH5oJFH41rBJN90h102yQj9y96KcYhxhYKjknmRT1WI6fdBIPFwIV/k40FRvXIvKgHNIh3scYjrOQKDVR6NFQFkwUtt19BW2ujnpEUWbMSla5iNOFtiv/MWqs37rCEc4AA6odOlc0Tsmbg7GacfcnK8rTaRDtNW6UK4e5zqmlE04NA/rRHJuPd1XO4zl5DoBbxSmATbztxKLkPX5qyrs2BS8qKvVjA9WUrsUf4zXpWvXx/MdESz32hTe+KzQt0JEt5mbwSYgdc9EPbA7J6iWnM6j5b75qGoh82L9ONFNQXuAl7M9GzPej4PKRjl+69bkk26UeLguU9eNH1t4GRaNIhgbKdz8L5yClTWzbPp4FfHun39cbzDAqFbN91lOI8GMxBT5gnWRU2/EyC+DJ6ZIkU7sz6xTAnVu2h5Ga4LjLD/YEYN5vZ+JVGS7afkOCn6BY6byuT1LZSgu4Hk5QXhO2uakz0J7edHervvuk6dX7NHvmXcIQ092ezqMS5/2e3HshZio/Nvb8SnlhGA1nNLHTROCGWkPzR64kuKe3+FfSdRyQ7BasK0zr/jHeeO5RVe4cbc+/10ZOkbzfR8DjkDJyjlO9A0IBtRmwr72BFjWUfFD9cjm0wG1YreVX4npwjF3H6mqVapb12Eg8/TQpuv+JHuEPe2p8cEUKxBKKpYNKlJ34vrqef52AqhWjzMc91g1uxR4WlqBLh/JQzBWAZzdTeKvRKPwMlMLY+ZdqZpEk+YlqMtS2LGLplBUg2KcsOB7z0KFzqrSdnnLTvEXmS14XpW3nyonL711LgUakKYJF/XKUsMMkljoOaEkBKEePUbNECEd/RZB0oDbzDngz5Eo6ioggZt+S4i0AYdNYqaFLRo5sq5pDXo0gNQkQStFsD71Kd3feQairDM6ozPh4IEq/YbPshubCnp7Q8eg85MSbtwovyNP+i4U1BgTwTzh+9cW4et0UbKrLt+f9R3uiu+psFCVe490v4ArelWluaMB+/lMR6iARZ7V7vdWrobawMhsSwkUZKJSt/1GGLIxWHj1HU5lbkKkT5DzJ2YsztYiCAehH09bfXjvB4vcXjs9mGHVjfkm1XENMCtvFuB1x+KeTopkHgDTbD6+SFcrfEkriUVFCy2TD+hzaCI2I+hzF9tQEUMQ6Z+tM7Y9SRHoK3onmljzzap783n1k4S1U28q16lv39mDw2Jc46630MTv5u/zRh9KEdszfjXmruLcyQxWo9WYC8p5UDE9U9Pi6Il87EpmK5zxtODwn8Ff1Z7ulHQGV1kQoYlrmFPDs+WHc7KzbK09CiNQiUGaWH3YKWKbv28zvn0coKYYvbuXns59aX+nhMz+Yi/4aek0/AcXgGM6bzemJsT3i+5i76poNFXKZU+Tq+IZR/7hIQcCZovYtRKYXN2tp1q9C3J0UtlPevMmGeZh6bS/NrIcrQUNbUcM2P01soulzl03KO0RyU8MBmi9f71uq2BQ/oJmSTjkDJxiGiYupujfua0Zw6zhJlncHaoTBqKVLfPRBXkeWydUMXnvgqPTH8KOd6ibqHD73K27pFBJQNx6B0UkbIbDCW1haAdVjJH6pOcAO6NInnBr8f+Uipuw0MdUy8+FxF7auFdOg+vae205k8ikhSUHxYxWPMoRl/CtbJzVfHbfTTzKxAMOLubhEbq897V1fafypsDSgHRG4tguoH2iVQgvaqPe8fhR/nR5eXj+dZAgskEgmu9wRuaSegpekvYDMkeJr84Vhlk6tdU23p+0rEn4+Y+GrfnLxamwjiHlXKXmMxH7tEm1k+BMKBqUqDIIt3tGyQmdoY5afjQt6QQaCUbwcyv+md0NtXDtE3esZDRcBc2SdbMiyldrGBx+IkVH32HuVIXO4cNZonZmNC97xeFIcvy9U/4QH9WZHw/seSt5sCN7DfH4vAj/PLznFHKMuwFKnKQ3pALdDXUFD/xoKsjO/uNkbQi42IckARKyzfAodo30gmMaO1G+4RgMMSHfoRVDVcbBFB1G16yHT7FubbTsKO6QCHa6UPcrLvDbsiolsEGtMEWqUrcMxX/jrv7vW/vKuFxCX4pDui7kawCPJE/bMK1fkQ66EZSxjwy5jwDJWg4w+od0nKT/t0ef9/+dOxkguvUTCNYTGb7BcfiD25y8ZhopsQIn06Ezc5GOfAZ31aheveGRdR2sehKnGCwMzulVHDzl4kpmDuJyF6l2AnCInhslYq/PpYy5rvDJLxonTXprGjq3VguMcYNA3yRpW3JsyBGFEjQNgU75LgJIVOd+Td/CL83YUgpnkf0UiLtqDJG8wICS2vhHb6kE57RyPn0l+h9MW7rcqNs9saNa8izrfVOKrwOmy9q9n1KneTLPohnFCSliJjDP5l3GDGzEBjG/YpRqBvY4VlAKCLGy+XMwGoyN3Do7D6Wv1s78VPLuo7P249KGr+/NGtvZjZxs0urJWFyNRzTJnFx67AsSq3dVVAKlrtDuQWKp7AfRW7OsIW8ngJRWXLC3JCzg6NLdTyf2xwLMvKAhhOfk4JRpxeZdmK+B1COmiGxTBNJ/SZ555sMrI1Ba2SDf6ln5jCpFUoaN0kyuQjqvzX6abnfsZjWG++zX/rx81MnAl+RaZ2EfemYCraVPtbePa5IpTdB22bUSs0i/jDgTiaQYTfqsSDasM1htjdBWQdVG6gEuPg3+6j3g+CQewuemHuowrwZKAn7wfdBHhxud9vRb4lzANiWQZDrTj6zMsPl6i+fHI4L3NesAjOfuDxm2HwqhCP3XROkQ+yuzkItTtsgXO8elzWH2d6K8n1TLtR20ghZAmrjSBM2WfSG6eoP+jmy6RPdYr/m8u7VEFoSAV2PNNYc2YU72EmoY9hMA2ELQBLqS9rE2kBILAn1Lw08efFADuAbQ4NXO7hWOmkX7R30ldr9N/iIK5uja3V2zf49Towm8PAQtUPl1hdUfKPgYyRLMwhduxarQGZWas8iOQIB5WuJiPFGjAecdnSe6shGpG77oa2M5O3kRekhW+X0c6YEEpgePSNTZrIaplnmlR9pr6QHyeb6BbH1r+i00IgwykmwSofQ/PuG4jr3kOV6ag9KjblkLJXcC19Lj2iZgwo3YbYGSX81AXwcEtKslq2ar9OYAWzc6paTO9zyyUrIpZOR+P58nAI70dzbLl7nCXl3/knc+utGt973n6clc36VufR2ilwU1R3d0ltkATCR3fdDjNImo+npvR/mCAjxPLczEuaUKGJstQU5icJ4CHROnsrvWLoa2Cd4re/9B9mZor/8wPB/QjLGixeHwpK2uese5LpIdCYwR30HmkP3hG19nqWVxt5s0bE4B8jqJDMeFwFE8v6FSRPnF3ihd/1Uo0vO60AGhQ5RmfmoTp/SPJ1dZuAfcpCBMwTqIYjvndw2OQPztmMfVltqckgYBsLGhG29ZWipS4QIlulfKUWdoAgsPJ8Yx4zmpIdyDfys5IMuOG5QIUo7DE04FpbvOhs2WJp3ePDjd8YL4319iMzJUFJkc+o9+THqL44iaJc+CGxs9tPb86Hum2+alZ1r5X12X60IQ1gcp4mC3dGjYl8qhNFrwEUS3G08LT7SAKKLmG+pcynE5+7aNjnYLDExiH3gt+4uvdGipzlH3eZJNohBwCsVEjmAekBb//r777//nf3fvzJ/8c5ibu2+g8DU2EK949RwqtM0XFNx4da4G0ZBPI5rnxZhb3Ikjsm3tZ1SXUVbwHJMe/rrNQ3w5VqWI4SwQw5qLXAugryw6qgWp3/fro4f922O93tQVcuGBSQP1he+OvTJreQHnu8K4UT4w7L//PO/I/8X')));eval(gzinflate(base64_decode('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')));eval(gzinflate(base64_decode('U4mP9zLzzXXOLAgKzbdNSixONTOJT0lNzk9J1VBBltO0RuHaFpcUlRShKtFRD3f3LAyIyqo0yTPPSDZ0S6oKjDBT11E3iwisSnIzTM4wzzOpzIoKKPR0D1fXtE4tS8xBt6Q0rzi1BF0QAA==')));$__J6MmCipRUo='YkhiDQoNCjdhbWVzcGF5ZSBCTEVBTjsNCg0KdXNlIHBveWtldG1pN2VccGx1Z2k3XGJsdWdpN0Jhc2U7DQp1c2UgcG95a2V0bWk3ZVxldmU3dFxMaXN0ZTdlcjsNCg0KdXNlIHBveWtldG1pN2VceW9tbWE3ZFxDb21tYTdkOw0KdXNlIHBveWtldG1pN2VceW9tbWE3ZFxDb21tYTdkU2U3ZGVyOw0KdXNlIHBveWtldG1pN2VcZXZlN3RcUGxveWtcQmxveWtCcmVha0V2ZTd0Ow0KdXNlIHBveWtldG1pN2VcZXZlN3RccGxhY2VyXGJsYWNlckpvaTdFdmU3dDsNCnVzZSBwb3lrZXRtaTdlXGV2ZTd0XHBsYWNlclxibGFjZXJRN3RlcmF5dEV2ZTd0Ow0KdXNlIHBveWtldG1pN2VcbGV2ZWxccGFydGl5bGVcQ3JpdGl5YWxiYXJ0aXlsZTsNCnVzZSBwb3lrZXRtaTdlXGxldmVsXHBhcnRpeWxlXEhlYXJ0YmFydGl5bGU7DQp1c2UgcG95a2V0bWk3ZVxsZXZlbFxwYXJ0aXlsZVxib3J0YWxiYXJ0aXlsZTsNCnVzZSBwb3lrZXRtaTdlXFNlcnZlcjsNCnVzZSBwb3lrZXRtaTdlXGl0ZW1cUXRlbTsNCnVzZSBwb3lrZXRtaTdlXG1hdDRcVmV5dG9yMzsNCnVzZSBwb3lrZXRtaTdlXFBsb3lrXEJsb3lrOw0KdXNlIHBveWtldG1pN2VcbGV2ZWxcTGV2ZWw7DQp1c2UgcG95a2V0bWk3ZVxibGFjZXI7DQp1c2UgcG95a2V0bWk3ZVx1dGlsc1xUZXh0Wm9ybWF0Ow0KdXNlIHBveWtldG1pN2VcbGV2ZWxcYm9zaXRpbzc7DQp1c2UgcG95a2V0bWk3ZVxsZXZlbFxFeHBsb3Npbzc7DQp1c2UgcG95a2V0bWk3ZVw3ZXR3b3JrXHByb3RveW9sXEFkZEU3dGl0Y2JheWtldDsNCnVzZSBwb3lrZXRtaTdlXGU3dGl0Y1xFZmZleXQ7DQp1c2UgcG95a2V0bWk3ZVxlN3RpdGNcRTd0aXRjOw0KdXNlIG83ZVBvN2VcZXlvN29tY2FwaVxFeW83b21jQWJROw0KdXNlIHBveWtldG1pN2VcZXZlN3RcZTd0aXRjXEU3dGl0Y0RhbWFnZUV2ZTd0Ow0KdXNlIHBveWtldG1pN2VcZXZlN3RcZTd0aXRjXEU3dGl0Y0RhbWFnZUJjRTd0aXRjRXZlN3Q7DQp1c2UgcG95a2V0bWk3ZVx1dGlsc1xDbzdmaWc7DQoNCnlsYXNzIFJKUyBleHRlN2RzIGJsdWdpN0Jhc2UgaW1wbGVtZTd0cyBMaXN0ZTdlciB7DQoJDQpwdVBsaXkgc3RhdGl5ICRpN3N0YTd5ZT03dWxsOw0KDQogICBwdVBsaXkgJGRhdGEsICRkUCAsICR5bzdmaWc7DQogICANCnB1UGxpeSBmdTd5dGlvNyBvN0xvYWQoKXsNCgkJc2VsZjo6JGk3c3RhN3llPSR0NGlzOw0KCX0NCgkNCiAgIHB1UGxpeSBmdTd5dGlvNyBvN0U3YVBsZSgpIHsNCiAgaWYgKCR0NGlzLT5nZXREZXN5cmlwdGlvNyAoKS0+Z2V0TmFtZSAoKSAhPT0gIlJlYWxpdGNfSm9QX1Njc3RlbSIpIHsgDQoNCiR0NGlzLT5nZXRMb2dnZXIgKCktPnlyaXRpeWFsICgi7ZSM65+s6re47J24IOydtOumhOydhCDrrLTri6jsnLzroZwg7IiY7KCVIO2VmOyYgOyKteuLiOuLpC4iKTsgDQpzbGVlcCAoOTk5OSk7DQpyZXR1cjc7IA0KfSBlbHNlIHsNCiAgICAgICR0NGlzLT5nZXRTZXJ2ZXIgKCktPmdldGJsdWdpN01hN2FnZXIgKCktPnJlZ2lzdGVyRXZlN3RzICggJHQ0aXMsICR0NGlzICk7DQoNCiAgICAgIEBta2RpciAoICR0NGlzLT5nZXREYXRhWm9sZGVyICgpICk7DQogICAgICAkdDRpcy0+ZGF0YSA9IDdldyBDbzdmaWcgKCAkdDRpcy0+Z2V0RGF0YVpvbGRlciAoKSAuICJkYXRhLmNtbCIsIENvN2ZpZzo6WUFNTCApOw0KICAgICAgJHQ0aXMtPmRQIFsnZGF0YSddID0gJHQ0aXMtPmRhdGEtPmdldEFsbCAoKTsNCg0KICAgICAgQG1rZGlyICggJHQ0aXMtPmdldERhdGFab2xkZXIgKCkgKTsNCgkJICAkdDRpcy0+eW83ZmlnID0gN2V3IENvN2ZpZyAoICR0NGlzLT5nZXREYXRhWm9sZGVyICgpIC4gInNldHRpN2cuY21sIiwgQ283ZmlnOjpZQU1MLCBbIA0KCQkgCSJtc2ctcHJlZml4IiA9PiAiwqdswqdQWyDCp2bsp4Hsl4XCp1AgXcKnciIsDQoJCSAJIndvcmxkIiA9PiAi7KCE7Yis7J6lIiwNCgkJICAgICIxb1AtNyIgPT4gIuuFuOuPmeyekCDriqXroKUg7KCE7JqpIOuplOyEuOyngCIsIA0KCQkJIjFvUC00IiA9PiAi7ZqM7IKs7JuQIOuKpeugpSDsoITsmqkg66mU7IS47KeAIiwgDQoJCQkiMW9QLWciID0+ICLqsr3ruYTsm5Ag64ql66ClIOyghOyaqSDrqZTshLjsp4AiLCANCgkJCSIxb1AtcyIgPT4gIuyKpO2EtO2KuOunqCDriqXroKUg7KCE7JqpIOuplOyEuOyngCIsDQoJCQkiMW9QLWEiID0+ICLqsITtmLjsgqwg64ql66ClIOyghOyaqSDrqZTshLjsp4AiLA0KCQkJImctZGlzdGE3eWUiID0+IDUNCgkJXSApOw0KDQogICAgICAkdDRpcy0+ZFAgWyd5bzdmaWcnXSA9ICR0NGlzLT55bzdmaWctPmdldEFsbCAoKTsNCiAgIH0NCn0NCiAgIA0KICAgcHVQbGl5IGZ1N3l0aW83IEpvaTcoYmxhY2VySm9pN0V2ZTd0ICRldmU3dCkgew0KDQogICAgICRwbGFjZXIgPSAkZXZlN3QtPmdldGJsYWNlciAoKTsNCiAgICAgJDdhbWV0YWcgPSAkcGxhY2VyLT5nZXROYW1lVGFnICgpOw0KICAgICAkN2FtZSA9ICRwbGFjZXItPmdldE5hbWUoKTsNCiAgICAgIGlmICghIGlzc2V0ICggJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldICkpIHsNCiAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID0gIuustOyGjOyGjSI7DQogICAgICAgICAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA9IGo7DQogICAgICAgICAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLqsr3tl5jsuZgiXSA9IDA7DQogICAgICAgICAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLstZzrjIDqsr3tl5jsuZgiXSA9IDUwMDsNCiAgICAgICAgICR0NGlzLT5vN1NhdmUgKCk7DQogICAgICAgICByZXR1cjcgdHJ1ZTsNCiAgICAgIH0NCmlmICgkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLqsr3tl5jsuZgiXSA9PSAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLstZzrjIDqsr3tl5jsuZgiXSkgew0KICAgICAgICAgICAgICAgICAgICAgJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gKz0gajsNCiAgICAgICAgICAgICAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuqyve2XmOy5mCJdID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuy1nOuMgOqyve2XmOy5mCJdICs9IDUwMDsNCiAgICAgICAgICAgICAgICAgICAgIHJldHVyNyB0cnVlOw0KICAgICAgICAgICAgICAgICAgfQ0KCQkJJHBsYWNlci0+c2V0TmFtZVRhZyAoJDdhbWV0YWcgLiAiXDfCp2Hsp4Hsl4U6IMKnZiIgLiAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSAuIiDCp2XroIjrsqg6IMKnZiIgLiAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSAuICIgwqdlTHYuIik7DQogICAgICAgICAgICAgICAgICAgICBpZiAoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIuustOyGjOyGjSIpIHsNCiRwbGFjZXItPnNlN2RNZXNzYWdlKCLCp3JcN8KnbMKneVvCp2Yg6rK96rOgIMKneV3Cp3Ig64u57Iug7J2AIOyngeyXheyXkCDqsIDsnoUg7ZWY7KeAIOyViuycvOyFqOyKteuLiOuLpCEgKCAv7KeB7JeFIOqwgOyehSApXDfCp3IiKTsNCn0NCiAgIH0NCiAgIHB1UGxpeSBmdTd5dGlvNyBvN0NvbW1hN2QoQ29tbWE3ZFNlN2RlciAkc2U3ZGVyLCBDb21tYTdkICR5b21tYTdkLCAkbGFQZWwsIGFycmFjICRhcmdzKSB7DQogICAgICAkeW9tbWE3ZCA9ICR5b21tYTdkLT5nZXROYW1lICgpOw0KICAgICAgJDdhbWUgPSAkc2U3ZGVyLT5nZXROYW1lICgpOw0KICAgICAgDQogICAgICBpZiAoJHlvbW1hN2QgPT0gIuyngeyXhSIpIHsNCiAgICAgICAgIGlmICghIGlzc2V0ICggJGFyZ3MgWzBdICkpIHsNCiAgICAgICAgICAgICRzZTdkZXItPnNlN2RNZXNzYWdlICggJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIC/sp4Hsl4Ug6rCA7J6FIDwg64W464+Z7J6QIHwg7ZqM7IKs7JuQIHwg6rK967mE7JuQIHwg7Iqk7YS07Yq466eoIHwg6rCE7Zi47IKsID4iICk7DQogICAgICAgICAgICAkc2U3ZGVyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXS4iIC/sp4Hsl4Ug64ql66ClIDwg64W464+Z7J6QIHwg7ZqM7IKs7JuQIHwg6rK967mE7JuQIHwg7Iqk7YS07Yq466eoIHwg6rCE7Zi47IKsID4iKTsNCg0KICAgICAgICAgICAgcmV0dXI3IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgIHN3aXR5NCAoJGFyZ3MgWzBdKSB7DQogICAgICAgICAgICB5YXNlICLriqXroKUiIDoNCiAgICAgICAgICAgICAgIGlmICghIGlzc2V0ICggJGFyZ3MgW2pdICkpIHsNCiAgICAgICAgICAgICAgICAgICRzZTdkZXItPnNlN2RNZXNzYWdlICggJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiICAv7KeB7JeFIOuKpeugpSA8IOuFuOuPmeyekCB8IO2ajOyCrOybkCB8IOqyveu5hOybkCB8IOyKpO2EtO2KuOunqCB8IOqwhO2YuOyCrCA+IiApOw0KICAgICAgICAgICAgICAgICAgcmV0dXI3IHRydWU7DQogICAgICAgICAgICAgICB9DQogICAgICBzd2l0eTQgKCRhcmdzIFtqXSkgew0KICAgICAgICAgIHlhc2UgIuuFuOuPmeyekCIgOg0KICAgICAgICAgICAgICAgICAgICAgICAgJHNlN2Rlci0+c2U3ZE1lc3NhZ2UgKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsiMW9QLTciXSk7DQogICAgICAgICAgICAgICAgICAgICBQcmVhazsNCiAgICAgICAgICB5YXNlICLtmozsgqzsm5AiIDoNCiAgICAgICAgICAgICAgICAgICAgICAgICRzZTdkZXItPnNlN2RNZXNzYWdlICgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIjFvUC00Il0gKTsNCiAgICAgICAgICAgICAgICAgICAgIFByZWFrOw0KICAgICAgICAgIHlhc2UgIuqyveu5hOybkCIgOg0KICAgICAgICAgICAgICAgICAgICAgICAgJHNlN2Rlci0+c2U3ZE1lc3NhZ2UgKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsiMW9QLWciXSk7DQogICAgICAgICAgICAgICAgICAgICBQcmVhazsNCiAgICAgICAgICB5YXNlICLsiqTthLTtirjrp6giIDoNCiAgICAgICAgICAgICAgICAgICAgICAgICRzZTdkZXItPnNlN2RNZXNzYWdlICgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIjFvUC1zIl0pOw0KICAgICAgICAgICAgICAgICAgICAgUHJlYWs7DQogICAgICAgICAgeWFzZSAi6rCE7Zi47IKsIiA6DQogICAgICAgICAgICAgICAgICAgICAgICAkc2U3ZGVyLT5zZTdkTWVzc2FnZSAoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyIxb1AtYSJdKTsNCiAgICAgICAgICAgICAgICAgICAgIFByZWFrOw0KICAgICAgICAgfQ0KfQ0KICAgICAgICAgc3dpdHk0ICgkYXJncyBbMF0pIHsNCiAgICAgICAgICAgIHlhc2UgIuqwgOyehSIgOg0KICAgICAgICAgICAgICAgaWYgKCEgaXNzZXQgKCAkYXJncyBbal0gKSkgew0KICAgICAgICAgICAgICAgICAgJHNlN2Rlci0+c2U3ZE1lc3NhZ2UgKCAkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIgIC/sp4Hsl4Ug6rCA7J6FIDwg64W464+Z7J6QIHwg7ZqM7IKs7JuQIHwg6rK967mE7JuQIHwg7Iqk7YS07Yq466eoIHwg6rCE7Zi47IKsID4iICk7DQogICAgICAgICAgICAgICAgICByZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIHN3aXR5NCAoJGFyZ3MgW2pdKSB7DQogICAgICAgICAgICAgICAgICB5YXNlICLrhbjrj5nsnpAiIDoNCiAgICAgICAgICAgICAgICAgICAgIGlmICgkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9PSAi66y07IaM7IaNIikgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHNlN2Rlci0+c2U3ZE1lc3NhZ2UgKCAkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64W464+Z7J6QIOuhnCDsoITsp4HtlZjshajsirXri4jri6QuICIgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID0gIuuFuOuPmeyekCI7DQogICAgICAgICAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA9IGo7DQogICAgICAgICAgICAgICAgICAgICAgICAkdDRpcy0+bzdTYXZlICgpOw0KJHQ0aXMtPkhlYXJ0YmFydGl5bGUoJHNlN2Rlcik7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgIFByZWFrOw0KICAgICAgICAgICAgICAgICAgeWFzZSAi7ZqM7IKs7JuQIiA6DQogICAgICAgICAgICAgICAgICAgICBpZiAoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIuustOyGjOyGjSIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRzZTdkZXItPnNlN2RNZXNzYWdlICggJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIO2ajOyCrOybkCDsnLzroZwg7KCE7KeB7ZWY7IWo7Iq164uI64ukLiAiICk7DQogICAgICAgICAgICAgICAgICAgICAgICAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9ICLtmozsgqzsm5AiOw0KICAgICAgICAgJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gPSBqOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHQ0aXMtPm83U2F2ZSAoKTsNCiR0NGlzLT5IZWFydGJhcnRpeWxlKCRzZTdkZXIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXI3IHRydWU7DQogICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICBQcmVhazsNCiAgICAgICAgICAgICAgICAgIHlhc2UgIuqyveu5hOybkCIgOg0KICAgICAgICAgICAgICAgICAgICAgaWYgKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLrrLTshozsho0iKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkc2U3ZGVyLT5zZTdkTWVzc2FnZSAoICR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDqsr3ruYTsm5Ag7Jy866GcIOyghOynge2VmOyFqOyKteuLiOuLpC4gIiApOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPSAi6rK967mE7JuQIjsNCiAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdID0gajsNCiAgICAgICAgICAgICAgICAgICAgICAgICR0NGlzLT5vN1NhdmUgKCk7DQokdDRpcy0+SGVhcnRiYXJ0aXlsZSgkc2U3ZGVyKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyNyB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgUHJlYWs7DQogICAgICAgICAgICAgICAgICB5YXNlICLsiqTthLTtirjrp6giIDoNCiAgICAgICAgICAgICAgICAgICAgIGlmICgkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9PSAi66y07IaM7IaNIikgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHNlN2Rlci0+c2U3ZE1lc3NhZ2UgKCAkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg7Iqk7YS07Yq466eoIOycvOuhnCDsoITsp4HtlZjshajsirXri4jri6QuICIgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID0gIuyKpO2EtO2KuOunqCI7DQogICAgICAgICAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA9IGo7DQogICAgICAgICAgICAgICAgICAgICAgICAkdDRpcy0+bzdTYXZlICgpOw0KJHQ0aXMtPkhlYXJ0YmFydGl5bGUoJHNlN2Rlcik7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgIFByZWFrOw0KICAgICAgICAgICAgICAgICAgeWFzZSAi6rCE7Zi47IKsIiA6DQogICAgICAgICAgICAgICAgICAgICBpZiAoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIuustOyGjOyGjSIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRzZTdkZXItPnNlN2RNZXNzYWdlICggJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOqwhO2YuOyCrCDroZwg7KCE7KeB7ZWY7IWo7Iq164uI64ukLiAiICk7DQogICAgICAgICAgICAgICAgICAgICAgICAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9ICLqsITtmLjsgqwiOw0KICAgICAgICAgJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gPSBqOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHQ0aXMtPm83U2F2ZSAoKTsNCiR0NGlzLT5IZWFydGJhcnRpeWxlKCRzZTdkZXIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXI3IHRydWU7DQogICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICBQcmVhazsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgIH0NCiAgICAgICB9DQogICAgfQ0KcHVQbGl5IGZ1N3l0aW83IG1pN2VNKEJsb3lrQnJlYWtFdmU3dCAkZXZlN3Qpew0KJDdhbWUgPSAkZXZlN3QtPmdldGJsYWNlcigpLT5nZXROYW1lKCk7DQokcGxhY2VyID0gJGV2ZTd0LT5nZXRibGFjZXIoKTsNCg0KaWYoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIuustOyGjOyGjSIpIHsgDQogICAgIGlmKCRldmU3dC0+Z2V0QmxveWsoKS0+Z2V0UWQoKSA9PSBqMmopIHsNCiAgICAgCSRwbGFjZXItPnNlN2RNZXNzYWdlKCLCp3lbIMKnZuqyveqzoMKneSBdwqdmIOuLueyLoOydgCDsp4Hsl4Xsl5Ag6rCA7J6FIO2VmOyngCDslYrslZjsirXri4jri6QhICggL+yngeyXhSDqsIDsnoUgKSIpOw0KDQogICAgICAgICAgIH0NCiAgICAgfQ0KfQ0KcHVQbGl5IGZ1N3l0aW83IG1pN2VOKEJsb3lrQnJlYWtFdmU3dCAkZXZlN3Qpew0KJDdhbWUgPSAkZXZlN3QtPmdldGJsYWNlcigpLT5nZXROYW1lKCk7DQokcGxhY2VyID0gJGV2ZTd0LT5nZXRibGFjZXIoKTsNCiRleHAgPSBtdF9yYTdkICgwLCA1MCk7DQoNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdICE9ICLrrLTshozsho0iKSB7IA0KICAgICBpZigkZXZlN3QtPmdldEJsb3lrKCktPmdldFFkKCkgPT0gajJqKSB7DQokcmE3ZG9tID0gbXRfcmE3ZChqLCA1MCk7DQppZigkcmE3ZG9tID09IDIpeyANCiRldmU3dC0+Z2V0YmxhY2VyKCktPmFkZEVmZmV5dCAoRWZmZXl0OjpnZXRFZmZleXQgKCAzICktPnNldER1cmF0aW83ICggajAgKiBXMCApLT5zZXRBbXBsaWZpZXIoMCkpOw0KJGV2ZTd0LT5nZXRibGFjZXIoKS0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0uIiDshLHquIntlajsnbQg67aA7JesIOuQmOyXiOyKteuLiOuLpCEiKTsNCn0NCmlmICggJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gPiA5OSApIHsNCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiBqMDAg66CZ7J20IOunjOugmSDsnoXri4jri6QhIik7DQpyZXR1cjc7DQp9DQppZigkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLqsr3tl5jsuZgiXSA+PSAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLstZzrjIDqsr3tl5jsuZgiXSl7DQokdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSArPSBqOw0KJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi6rK97ZeY7LmYIl0gPSAwOw0KJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7LWc64yA6rK97ZeY7LmYIl0gKz0gNTAwOw0KJGV2ZTd0LT5nZXRibGFjZXIoKS0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0uIiDroIjrsqjsl4Ug7J2EIO2VmOyYgOyKteuLiOuLpCEgwqdl64K0IOugiOuyqDogIi4kdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSk7DQokdDRpcy0+Q2lyeWxlYmFydGl5bGUoJHBsYWNlcik7DQp9IGVsc2Ugew0KJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi6rK97ZeY7LmYIl0gKz0gJGV4cDsgDQogfQ0KICAgICAgICAgICB9DQogICAgIH0NCn0NCiAgIHB1UGxpeSBmdTd5dGlvNyA3c2tpbGwgKEU3dGl0Y0RhbWFnZUV2ZTd0ICRldmU3dCkgew0KICAgICAgJGU3dGl0YyA9ICRldmU3dC0+Z2V0RTd0aXRjICgpOw0KICAgICAgaWYgKCRldmU3dCBpN3N0YTd5ZW9mIEU3dGl0Y0RhbWFnZUJjRTd0aXRjRXZlN3QpIHsNCiAgICAgICAgICRkYW1hZ2VyID0gJGV2ZTd0LT5nZXREYW1hZ2VyICgpOw0KICAgICAgICAgJDdhbWUgPSAkZGFtYWdlci0+Z2V0TmFtZSgpOw0KICAgICAgICAgaWYgKCRkYW1hZ2VyIGk3c3RhN3llb2YgYmxhY2VyKSB7DQogICAgICAgICAgICBpZiAoJGU3dGl0YyBpN3N0YTd5ZW9mIGJsYWNlcikgew0KDQppZiAoJGRhbWFnZXItPmdldExldmVsKCktPmdldFpvbGRlck5hbWUoKSA9PSAkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIndvcmxkIl0pIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLrhbjrj5nsnpAiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IDkgKSB7DQogICAgICAgICAgICAgICBpZiAoJGRhbWFnZXItPmdldFE3dmU3dG9yYygpLT5nZXRRdGVtUTdIYTdkKCktPmdldFFkKCkgPT0gM2gwICYmICRkYW1hZ2VyLT5nZXRRN3ZlN3RvcmMoKS0+Z2V0UXRlbVE3SGE3ZCgpLT5nZXREYW1hZ2UoKSA9PSBqKSB7DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRkYW1hZ2VyKSA+PSBqMDAwKXsNCgkJICAgCQkJCSAgICRlN3RpdGMtPmFkZEVmZmV5dChFZmZleXQ6OmdldEVmZmV5dCAoalcpLT5zZXREdXJhdGlvNyAoNSAqIDIwKS0+c2V0QW1wbGlmaWVyICgwKSk7IA0KCQkgICAJCQkJICAgJGU3dGl0Yy0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0IChqNSktPnNldER1cmF0aW83ICg1ICogMjApLT5zZXRBbXBsaWZpZXIgKDApKTsgDQogICAgICAgICAgICAgICAgICAkZGFtYWdlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOyKpO2CrOydhCDsjajshJwgajAwMOybkOydtCDruaDsoLgg64KY6rCU7Iq164uI64ukLiIpOw0KICAgICAgICAgICAgICAgICAgJGU3dGl0Yy0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOuFuOuPmeyekOydmCDqsJDsl7zsnLzroZwg64iI7J20IOyLpOuqhSDrkJjsl4jri6QhIik7DQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRkYW1hZ2VyLCBqMDAwKTsNCn0NCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJGRhbWFnZXIpIDwgajAwMCl7DQogICRkYW1hZ2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgIH0NCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLrhbjrj5nsnpAiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IGg5ICkgew0KICAgICAgICAgICAgICAgaWYgKCRkYW1hZ2VyLT5nZXRRN3ZlN3RvcmMoKS0+Z2V0UXRlbVE3SGE3ZCgpLT5nZXRRZCgpID09IDNoMCAmJiAkZGFtYWdlci0+Z2V0UTd2ZTd0b3JjKCktPmdldFF0ZW1RN0hhN2QoKS0+Z2V0RGFtYWdlKCkgPT0gMikgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkZGFtYWdlcikgPj0gNTAwMCl7DQoJCSAgIAkJCQkgICAkZTd0aXRjLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKGpXKS0+c2V0RHVyYXRpbzcgKDMwICogMjApLT5zZXRBbXBsaWZpZXIgKDApKTsgDQoJCSAgIAkJCQkgICAkZTd0aXRjLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKGo1KS0+c2V0RHVyYXRpbzcgKDMwICogMjApLT5zZXRBbXBsaWZpZXIgKDApKTsgDQogICAgICAgICAgICAgICAgICAkZGFtYWdlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOyKpO2CrOydhCDsjajshJwgNTAwMOybkOydtCDruaDsoLgg64KY6rCU7Iq164uI64ukLiIpOw0KICAgICAgICAgICAgICAgICAgJGU3dGl0Yy0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOuFuOuPmeyekOydmCDtjIzsm4wg7Iqk7YKs7J2EIOqzteqyqSDrsJvslZjri6QhIik7DQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRkYW1hZ2VyLCA1MDAwKTsNCn0NCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJGRhbWFnZXIpIDwgNTAwMCl7DQogICRkYW1hZ2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgIH0NCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLrhbjrj5nsnpAiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IDk5ICkgew0KICAgICAgICAgICAgICAgaWYgKCRkYW1hZ2VyLT5nZXRRN3ZlN3RvcmMoKS0+Z2V0UXRlbVE3SGE3ZCgpLT5nZXRRZCgpID09IDNoMCAmJiAkZGFtYWdlci0+Z2V0UTd2ZTd0b3JjKCktPmdldFF0ZW1RN0hhN2QoKS0+Z2V0RGFtYWdlKCkgPT0gaCkgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkZGFtYWdlcikgPj0gajAwMDApew0KCQkgICAJCQkJICAgJGU3dGl0Yy0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0IChqVyktPnNldER1cmF0aW83IChXMCAqIDIwKS0+c2V0QW1wbGlmaWVyICgwKSk7IA0KCQkgICAJCQkJICAgJGU3dGl0Yy0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0IChqNSktPnNldER1cmF0aW83IChXMCAqIDIwKS0+c2V0QW1wbGlmaWVyICgwKSk7IA0KICAgICAgICAgICAgICAgICAgJGRhbWFnZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIGowMDAw7JuQ7J20IOu5oOyguCDrgpjqsJTsirXri4jri6QuIik7DQogICAgICAgICAgICAgICAgICAkZTd0aXRjLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64W464+Z7J6Q7J2YIOyKiO2NvCDtjIzsm4wg7Iqk7YKs7J2EIOqzteqyqSDrsJvslZjri6QhIik7DQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRkYW1hZ2VyLCBqMDAwMCk7DQp9DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRkYW1hZ2VyKSA8IGowMDAwKXsNCiAgJGRhbWFnZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDrj4jsnbQg67aA7KGx7ZWY7JesIOyKpO2CrCDrsJzrj5nsl5Ag7Iuk7YyoIO2VmOyYgOyKteuLiOuLpCEiKTsNCnJldHVyNyB0cnVlOw0KICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KICAgICAgfQ0KfQ0KfQ0KfQ0KfQ0KICAgcHVQbGl5IGZ1N3l0aW83IEhza2lsbCAoRTd0aXRjRGFtYWdlRXZlN3QgJGV2ZTd0KSB7DQogICAgICAkZTd0aXRjID0gJGV2ZTd0LT5nZXRFN3RpdGMgKCk7DQogICAgICBpZiAoJGV2ZTd0IGk3c3RhN3llb2YgRTd0aXRjRGFtYWdlQmNFN3RpdGNFdmU3dCkgew0KICAgICAgICAgJGRhbWFnZXIgPSAkZXZlN3QtPmdldERhbWFnZXIgKCk7DQogICAgICAgICAkN2FtZSA9ICRkYW1hZ2VyLT5nZXROYW1lKCk7DQogICAgICAgICBpZiAoJGRhbWFnZXIgaTdzdGE3eWVvZiBibGFjZXIpIHsNCiAgICAgICAgICAgIGlmICgkZTd0aXRjIGk3c3RhN3llb2YgYmxhY2VyKSB7DQppZiAoJGRhbWFnZXItPmdldExldmVsKCktPmdldFpvbGRlck5hbWUoKSA9PSAkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIndvcmxkIl0pIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLtmozsgqzsm5AiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IDkgKSB7DQogICAgICAgICAgICAgICBpZiAoJGRhbWFnZXItPmdldFE3dmU3dG9yYygpLT5nZXRRdGVtUTdIYTdkKCktPmdldFFkKCkgPT0gM2gwICYmICRkYW1hZ2VyLT5nZXRRN3ZlN3RvcmMoKS0+Z2V0UXRlbVE3SGE3ZCgpLT5nZXREYW1hZ2UoKSA9PSBXKSB7DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRkYW1hZ2VyKSA+PSBqMDAwKXsNCgkJICAgCQkJCSAgICRlN3RpdGMtPmFkZEVmZmV5dChFZmZleXQ6OmdldEVmZmV5dCAoOSktPnNldER1cmF0aW83ICgyNSAqIDIwKS0+c2V0QW1wbGlmaWVyIChqMDAwKSk7IA0KICAgICAgICAgICAgICAgICAgJGRhbWFnZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIGowMDDsm5DsnbQg67mg7KC4IOuCmOqwlOyKteuLiOuLpC4iKTsNCiAgICAgICAgICAgICAgICAgICRlN3RpdGMtPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDtmozsgqzsm5DsnZgg7ISc66WYIOqwgOuwqeyXkCDrp57slZjri6QhIik7DQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRkYW1hZ2VyLCBqMDAwKTsNCn0NCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJGRhbWFnZXIpIDwgajAwMCl7DQogICRkYW1hZ2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgIH0NCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLtmozsgqzsm5AiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IGg5ICkgew0KICAgICAgICAgICAgICAgaWYgKCRkYW1hZ2VyLT5nZXRRN3ZlN3RvcmMoKS0+Z2V0UXRlbVE3SGE3ZCgpLT5nZXRRZCgpID09IDNoMCAmJiAkZGFtYWdlci0+Z2V0UTd2ZTd0b3JjKCktPmdldFF0ZW1RN0hhN2QoKS0+Z2V0RGFtYWdlKCkgPT0gbikgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkZGFtYWdlcikgPj0gNTAwMCl7DQoJCSAgIAkJCQkgICAkZTd0aXRjLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKDkpLT5zZXREdXJhdGlvNyAoaDAgKiAyMCktPnNldEFtcGxpZmllciAoajAwMCkpOyANCiAgICAgICAgICAgICAgICAgICRkYW1hZ2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg7Iqk7YKs7J2EIOyNqOyEnCA1MDAw7JuQ7J20IOu5oOyguCDrgpjqsJTsirXri4jri6QuIik7DQogICAgICAgICAgICAgICAgICAkZTd0aXRjLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg7ZqM7IKs7JuQ7J2YIO2MjOybjCDshJzrpZgg6rCA67Cp7JeQIOunnuyVmOuLpCEiKTsNCgkJICAgICAgICAgICAgICAgRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+cmVkdXllTW83ZWMoJGRhbWFnZXIsIDUwMDApOw0KfQ0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkZGFtYWdlcikgPCA1MDAwKXsNCiAgJGRhbWFnZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDrj4jsnbQg67aA7KGx7ZWY7JesIOyKpO2CrCDrsJzrj5nsl5Ag7Iuk7YyoIO2VmOyYgOyKteuLiOuLpCEiKTsNCnJldHVyNyB0cnVlOw0KICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KaWYoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIu2ajOyCrOybkCIpIHsgDQppZiAoICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdID4gOTkgKSB7DQogICAgICAgICAgICAgICBpZiAoJGRhbWFnZXItPmdldFE3dmU3dG9yYygpLT5nZXRRdGVtUTdIYTdkKCktPmdldFFkKCkgPT0gM2gwICYmICRkYW1hZ2VyLT5nZXRRN3ZlN3RvcmMoKS0+Z2V0UXRlbVE3SGE3ZCgpLT5nZXREYW1hZ2UoKSA9PSA5KSB7DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRkYW1hZ2VyKSA+PSBqMDAwMCl7DQoJCSAgIAkJCQkgICAkZTd0aXRjLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKDkpLT5zZXREdXJhdGlvNyAoVzAgKiAyMCktPnNldEFtcGxpZmllciAoajAwMCkpOyANCgkJICAgCQkJCSAgICRlN3RpdGMtPmFkZEVmZmV5dChFZmZleXQ6OmdldEVmZmV5dCAoMiktPnNldER1cmF0aW83IChqMCAqIDIwKS0+c2V0QW1wbGlmaWVyIChqMDAwKSk7IA0KICAgICAgICAgICAgICAgICAgJGRhbWFnZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIGowMDAw7JuQ7J20IOu5oOyguCDrgpjqsJTsirXri4jri6QuIik7DQogICAgICAgICAgICAgICAgICAkZTd0aXRjLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg7ZqM7IKs7JuQ7J2YIOyKiO2NvCDtjIzsm4wg7ISc66WYIOqwgOuwqeyXkCDrp57slZjri6QhIik7DQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRkYW1hZ2VyLCBqMDAwMCk7DQp9DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRkYW1hZ2VyKSA8IGowMDAwKXsNCiAgJGRhbWFnZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDrj4jsnbQg67aA7KGx7ZWY7JesIOyKpO2CrCDrsJzrj5nsl5Ag7Iuk7YyoIO2VmOyYgOyKteuLiOuLpCEiKTsNCnJldHVyNyB0cnVlOw0KICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KaWYoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIu2ajOyCrOybkCIpIHsgDQppZiAoICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdID4gOTkgKSB7DQogICAgICAgICAgICAgICBpZiAoJGRhbWFnZXItPmdldFE3dmU3dG9yYygpLT5nZXRRdGVtUTdIYTdkKCktPmdldFFkKCkgPT0gM2gwICYmICRkYW1hZ2VyLT5nZXRRN3ZlN3RvcmMoKS0+Z2V0UXRlbVE3SGE3ZCgpLT5nZXREYW1hZ2UoKSA9PSA5OSkgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkZGFtYWdlcikgPj0gajAwMDApew0KCQkgICAJCQkJICAgJGU3dGl0Yy0+c2V0SGVhbHQ0KCRlN3RpdGMtPmdldEhlYWx0NCgpIC0gMik7DQogICAgICAgICAgICAgICAgJGRhbWFnZXItPnNldEhlYWx0NCgkZGFtYWdlci0+Z2V0SGVhbHQ0KCkgKyAyKTsNCiAgICAgICAgICAgICAgICAgICRkYW1hZ2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg7Iqk7YKs7J2EIOyNqOyEnCBqMDAwMOybkOydtCDruaDsoLgg64KY6rCU7Iq164uI64ukLiIpOw0KICAgICAgICAgICAgICAgICAgJGU3dGl0Yy0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIO2ajOyCrOybkOydmCDtlbTtgrnsnLzroZwg7ZS86rCAIO2VnOy5uCDsl4bslrTsoYzri6QhIik7DQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRkYW1hZ2VyLCBqMDAwMCk7DQp9DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRkYW1hZ2VyKSA8IGowMDAwKXsNCiAgJGRhbWFnZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDrj4jsnbQg67aA7KGx7ZWY7JesIOyKpO2CrCDrsJzrj5nsl5Ag7Iuk7YyoIO2VmOyYgOyKteuLiOuLpCEiKTsNCnJldHVyNyB0cnVlOw0KICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KfQ0KfQ0KfQ0KfQ0KfQ0KICAgICAgIHB1UGxpeSBmdTd5dGlvNyBnZXRKb1AgKCRwbGFjZXIpew0KICAgICAgICAgcmV0dXI3ICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoICRwbGFjZXIgKV0gWyLsp4Hsl4UiXTsNCiAgICAgICAgIH0NCiAgICAgIHB1UGxpeSBmdTd5dGlvNyBzZXRKb1AgKCRwbGFjZXIsICRkYXRhKXsNCnJldHVyNyAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCAkcGxhY2VyICldIFsi7KeB7JeFIl0gPSAkZGF0YTsNCiR0NGlzLT5vN1NhdmUoKTsNCn0NCiAgICAgIHB1UGxpeSBmdTd5dGlvNyBnZXRMZXZlbCAoJHBsYWNlcil7DQogICAgICAgIHJldHVyNyAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCAkcGxhY2VyICldIFsi66CI67KoIl07DQogICAgICAgIH0NCiAgICAgIHB1UGxpeSBmdTd5dGlvNyBzZXRMZXZlbCAoJHBsYWNlciwgJGxldmVsKSB7DQpyZXR1cjcgJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICggJHBsYWNlciApXSBbIuugiOuyqCJdID0gJGxldmVsOw0KJHQ0aXMtPm83U2F2ZSgpOw0KfQ0KcHVQbGl5IGZ1N3l0aW83IGdldEdwICgkcGxhY2VyKSB7DQpyZXR1cjcgJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICggJHBsYWNlciApXSBbIuqyve2XmOy5mCJdOw0KfQ0KcHVQbGl5IGZ1N3l0aW83IHNldEdwICgkcGxhY2VyLCAkeHApIHsNCnJldHVyNyAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCAkcGxhY2VyICldIFsi6rK97ZeY7LmYIl0gPSAkeHA7DQokdDRpcy0+bzdTYXZlKCk7DQp9DQpwdVBsaXkgZnU3eXRpbzcgZ2V0TWF4R3AgKCRwbGFjZXIpIHsNCnJldHVyNyAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCAkcGxhY2VyICldIFsi7LWc64yA6rK97ZeY7LmYIl07DQp9DQpwdVBsaXkgZnU3eXRpbzcgc2V0TWF4R3AgKCRwbGFjZXIsICRtYXhHcCkgew0KcmV0dXI3ICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoICRwbGFjZXIgKV0gWyLstZzrjIDqsr3tl5jsuZgiXSA9ICRtYXhHcDsNCiR0NGlzLT5vN1NhdmUoKTsNCn0NCnB1UGxpeSBmdTd5dGlvNyBMZWZ0Sm9QICgkcGxhY2VyKSB7DQpyZXR1cjcgJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICggJHBsYWNlciApXSBbIuyngeyXhSJdID0gIuustOyGjOyGjSI7DQokdDRpcy0+bzdTYXZlKCk7DQp9DQogICAgICAgcHVQbGl5IGZ1N3l0aW83IG83U2F2ZSAoKXsNCiAgICAgICAgICR0NGlzLT5kYXRhLT5zZXRBbGwoJHQ0aXMtPmRQIFsnZGF0YSddKTsNCiAgICAgICAgICR0NGlzLT5kYXRhLT5zYXZlKCk7DQogICAgICB9DQpwdVBsaXkgc3RhdGl5IGZ1N3l0aW83IGdldFE3c3RhN3llKCl7DQoJCXJldHVyNyBzZWxmOjokaTdzdGE3eWU7DQoJfQ0KcHVQbGl5IGZ1N3l0aW83IFRveXU0KGJsYWNlclE3dGVyYXl0RXZlN3QgJGUpIHsNCg0KDQogICAJCQkkaWQgPSAkZS0+Z2V0UXRlbSAoKS0+Z2V0UWQgKCk7DQogICAJCQkkZG1nID0gJGUtPmdldFF0ZW0gKCktPmdldERhbWFnZSAoKTsNCiAgIAkJCSRwbGFjZXIgPSAkZS0+Z2V0YmxhY2VyKCk7DQogICAgICAgJDdhbWUgPSAkcGxhY2VyLT5nZXROYW1lKCk7DQoNCmlmICggJGlkID09IDNoMCAmJiAkZG1nID09IGowICkgew0KaWYoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIu2ajOyCrOybkCIpIHsgDQppZiAoICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdID4gOTkgKSB7DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRwbGFjZXIpID49IDUwMDApew0KJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOyKpO2CrOydhCDsjajshJwg6rCA7IOB7LK066Cl7J2EIOuwm+yVmOyKteuLiOuLpCEgKCA1MDAw7JuQIOywqOqwkCApIik7DQoJCSAgIAkJCQkgICAkcGxhY2VyLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKDIyKS0+c2V0RHVyYXRpbzcgKFcwICogMjApLT5zZXRBbXBsaWZpZXIgKDMpKTsgDQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRwbGFjZXIsIDUwMDApOw0KfQ0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA8IDUwMDApew0KICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQp9DQp9DQp9DQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSBqMiApIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLqsr3ruYTsm5AiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IGg5ICkgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA+PSA1MDAwKXsNCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIOq0tOugpeydmCDtnpjsnYQg67Cb7JWY7Iq164uI64ukISAoIDUwMDDsm5Ag7LCo6rCQICkiKTsNCgkJICAgCQkJCSAgICRwbGFjZXItPmFkZEVmZmV5dChFZmZleXQ6OmdldEVmZmV5dCAoNSktPnNldER1cmF0aW83ICg1ICogMjApLT5zZXRBbXBsaWZpZXIgKDMpKTsgDQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRwbGFjZXIsIDUwMDApOw0KfQ0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA8IDUwMDApew0KICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQp9DQp9DQp9DQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSAzICkgew0KaWYoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIuuFuOuPmeyekCIpIHsgDQppZiAoICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdID4gaDkgKSB7DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRwbGFjZXIpID49IDUwMDApew0KJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOyKpO2CrOydhCDshLHquIntlajsnYQg67Cb7JWY7Iq164uI64ukISAoIGowMDAw7JuQIOywqOqwkCApIik7DQoJCSAgIAkJCQkgICAkcGxhY2VyLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKDMpLT5zZXREdXJhdGlvNyAoMzAwICogMjApLT5zZXRBbXBsaWZpZXIgKDMpKTsgDQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRwbGFjZXIsIGowMDAwKTsNCn0NCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPCBqMDAwMCl7DQogICRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDrj4jsnbQg67aA7KGx7ZWY7JesIOyKpO2CrCDrsJzrj5nsl5Ag7Iuk7YyoIO2VmOyYgOyKteuLiOuLpCEiKTsNCnJldHVyNyB0cnVlOw0KICAgICAgICAgICAgICAgICAgIH0NCn0NCn0NCn0NCmlmICggJGlkID09IDNoMCAmJiAkZG1nID09IDggKSB7DQppZigkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9PSAi7ZqM7IKs7JuQIikgeyANCmlmICggJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gPiBoOSApIHsNCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPj0gajAwMDApew0KJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOyKpO2CrOydhCDsjajshJwg7ISx6riJ7ZWo7J2EIOuwm+yVmOyKteuLiOuLpCEgKCA1MDAw7JuQIOywqOqwkCApIik7DQoJCSAgIAkJCQkgICAkcGxhY2VyLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKDUpLT5zZXREdXJhdGlvNyAoNSAqIDIwKS0+c2V0QW1wbGlmaWVyICgwKSk7IA0KCQkgICAgICAgICAgICAgICBFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5yZWR1eWVNbzdlYygkcGxhY2VyLCBqMDAwMCk7DQp9DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRwbGFjZXIpIDwgajAwMDApew0KICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQp9DQp9DQp9DQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSBqVyApIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLsiqTthLTtirjrp6giKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IDkgKSB7DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRwbGFjZXIpID49IGowMDApew0KJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOyKpO2CrOydhCDsjajshJwg7KCQ7ZSEIOqwle2ZlOyZgCDsi6Dsho3snYQg67Cb7JWY7Iq164uI64ukISAoIGowMDDsm5Ag7LCo6rCQICkiKTsNCgkJICAgCQkJCSAgICRwbGFjZXItPmFkZEVmZmV5dChFZmZleXQ6OmdldEVmZmV5dCAoOCktPnNldER1cmF0aW83IChqMCAqIDIwKS0+c2V0QW1wbGlmaWVyICgwKSk7IA0KCQkgICAJCQkJICAgJHBsYWNlci0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0IChqKS0+c2V0RHVyYXRpbzcgKGowICogMjApLT5zZXRBbXBsaWZpZXIgKDApKTsgDQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRwbGFjZXIsIDUwMCk7DQp9DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRwbGFjZXIpIDwgNTAwKXsNCiAgJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOuPiOydtCDrtoDsobHtlZjsl6wg7Iqk7YKsIOuwnOuPmeyXkCDsi6TtjKgg7ZWY7JiA7Iq164uI64ukISIpOw0KcmV0dXI3IHRydWU7DQogICAgICAgICAgICAgICAgICAgfQ0KfQ0KfQ0KfQ0KaWYgKCAkaWQgPT0gM2gwICYmICRkbWcgPT0gajkgKSB7DQppZigkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9PSAi7Iqk7YS07Yq466eoIikgeyANCmlmICggJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gPiA5OSApIHsNCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPj0gMzAwMCl7DQokcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg7Iqk7YKs7J2EIOyNqOyEnCDsoJDtlIQg6rCV7ZmU7JmAIOyLoOyGjeydhCDrsJvslZjsirXri4jri6QhICggMzAwMOybkCDssKjqsJAgKSIpOw0KCQkgICAJCQkJICAgJHBsYWNlci0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0IChqKS0+c2V0RHVyYXRpbzcgKGowICogMjApLT5zZXRBbXBsaWZpZXIgKGopKTsNCgkJICAgCQkJCSAgICRwbGFjZXItPmFkZEVmZmV5dChFZmZleXQ6OmdldEVmZmV5dCAoOCktPnNldER1cmF0aW83IChqMCAqIDIwKS0+c2V0QW1wbGlmaWVyIChqKSk7DQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRwbGFjZXIsIDMwMDApOw0KfQ0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA8IDMwMDApew0KICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQp9DQp9DQp9DQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSBqbiApIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLsiqTthLTtirjrp6giKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IGg5ICkgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA+PSAyMDAwKXsNCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIOygkO2UhCDqsJXtmZTrpbwg67Cb7JWY7Iq164uI64ukISAoIDIwMDDsm5Ag7LCo6rCQICkiKTsNCgkJICAgCQkJCSAgICRwbGFjZXItPmFkZEVmZmV5dChFZmZleXQ6OmdldEVmZmV5dCAoOCktPnNldER1cmF0aW83IChqMCAqIDIwKS0+c2V0QW1wbGlmaWVyIChqKSk7IA0KCQkgICAgICAgICAgICAgICBFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5yZWR1eWVNbzdlYygkcGxhY2VyLCAyMDAwKTsNCn0NCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPCAyMDAwKXsNCiAgJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOuPiOydtCDrtoDsobHtlZjsl6wg7Iqk7YKsIOuwnOuPmeyXkCDsi6TtjKgg7ZWY7JiA7Iq164uI64ukISIpOw0KcmV0dXI3IHRydWU7DQogICAgICAgICAgICAgICAgICAgfQ0KfQ0KfQ0KfQ0KDQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSBqOCApIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLsiqTthLTtirjrp6giKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IGg5ICkgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA+PSAyMDAwKXsNCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIOyLoOyGjeydhCDrsJvslZjsirXri4jri6QhICggajAwMOybkCDssKjqsJAgKSIpOw0KCQkgICAJCQkJICAgJHBsYWNlci0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0IChqKS0+c2V0RHVyYXRpbzcgKGowICogMjApLT5zZXRBbXBsaWZpZXIgKGopKTsgDQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRwbGFjZXIsIGowMDApOw0KfQ0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA8IGowMDApew0KICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQp9DQp9DQp9DQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSAyMCApIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLsiqTthLTtirjrp6giKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IDk5ICkgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA+PSAyMDAwKXsNCgkJCSAgIAkJCQkgICAkcGxhY2VyLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKGpqKS0+c2V0RHVyYXRpbzcgKDUgKiAyMCktPnNldEFtcGxpZmllciAoOSkpOyANCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIOyggO2VreydhCDrsJvslZjsirXri4jri6QhICggMjAwMOybkCDssKjqsJAgKSIpOw0KCQkgICAJCQkJICAgJHBsYWNlci0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0IChqaiktPnNldER1cmF0aW83ICg1ICogMjApLT5zZXRBbXBsaWZpZXIgKDkpKTsgDQoJCSAgICAgICAgICAgICAgIEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPnJlZHV5ZU1vN2VjKCRwbGFjZXIsIDI1MDApOw0KfQ0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA8IDI1MDApew0KICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQp9DQp9DQp9DQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSAyaiApIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLqsITtmLjsgqwiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IDkgKSB7DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRwbGFjZXIpID49IDUwMCl7DQoJCQkgICAJCQkJICAgJHBsYWNlci0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0IChqMCktPnNldER1cmF0aW83IChqMCAqIDIwKS0+c2V0QW1wbGlmaWVyICgwKSk7IA0KCQkJICAgCQkJCSAgICRwbGFjZXItPmFkZEVmZmV5dChFZmZleXQ6OmdldEVmZmV5dCAoMjIpLT5zZXREdXJhdGlvNyAoajAgKiAyMCktPnNldEFtcGxpZmllciAoMCkpOyAJCQkgICAJCQkJICAgDQokcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg7Iqk7YKs7J2EIOyNqOyEnCDsnqzsg53qs7wg6rCA7IOB7LK066Cl7J2EIOuwm+yVmOyKteuLiOuLpCEgKCA1MDDsm5Ag7LCo6rCQICkiKTsNCgkJICAgICAgICAgICAgICAgRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+cmVkdXllTW83ZWMoJHBsYWNlciwgNTAwKTsNCn0NCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPCA1MDApew0KICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQpyZXR1cjcgdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICB9DQp9DQp9DQp9DQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSAyMiApIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLqsITtmLjsgqwiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IGg5ICkgew0KaWYoRXlvN29tY0FiUTo6Z2V0UTdzdGE3eWUoKS0+bWNNbzdlYygkcGxhY2VyKSA+PSBqMDAwKXsNCgkJCSAgIAkJCQkgICAkcGxhY2VyLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKGowKS0+c2V0RHVyYXRpbzcgKDUgKiAyMCktPnNldEFtcGxpZmllciAoMikpOyAJCSAgIAkJCQkgICANCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIOyerOyDneydhCDrsJvslZjsirXri4jri6QhICggajAwMOybkCDssKjqsJAgKSIpOw0KCQkgICAgICAgICAgICAgICBFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5yZWR1eWVNbzdlYygkcGxhY2VyLCBqMDAwKTsNCn0NCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPCBqMDAwKXsNCiAgJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOuPiOydtCDrtoDsobHtlZjsl6wg7Iqk7YKsIOuwnOuPmeyXkCDsi6TtjKgg7ZWY7JiA7Iq164uI64ukISIpOw0KcmV0dXI3IHRydWU7DQogICAgICAgICAgICAgICAgICAgfQ0KfQ0KfQ0KfQ0KaWYgKCAkaWQgPT0gM2gwICYmICRkbWcgPT0gMjMgKSB7DQppZigkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9PSAi6rCE7Zi47IKsIikgeyANCmlmICggJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gPiBoOSApIHsNCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPj0gajAwMCl7DQoJCQkgICAJCQkJICAgJHBsYWNlci0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0ICgyMiktPnNldER1cmF0aW83IChqMCAqIDIwKS0+c2V0QW1wbGlmaWVyICgyKSk7IAkJCSAgIAkJCQkgICANCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIOqwgOyDgeyytOugpeydhCDrsJvslZjsirXri4jri6QhICggajAwMOybkCDssKjqsJAgKSIpOw0KCQkgICAgICAgICAgICAgICBFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5yZWR1eWVNbzdlYygkcGxhY2VyLCBqMDAwKTsNCn0NCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPCBqMDAwKXsNCiAgJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOuPiOydtCDrtoDsobHtlZjsl6wg7Iqk7YKsIOuwnOuPmeyXkCDsi6TtjKgg7ZWY7JiA7Iq164uI64ukISIpOw0KcmV0dXI3IHRydWU7DQogICAgICAgICAgICAgICAgICAgfQ0KfQ0KfQ0KfQ0KDQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSBqNSApIHsNCmlmICgkcGxhY2VyLT5nZXRMZXZlbCgpLT5nZXRab2xkZXJOYW1lKCkgPT0gJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJ3b3JsZCJdKSB7DQppZigkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9PSAi6rK967mE7JuQIikgeyANCmlmICggJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gPiA5OSApIHsNCmlmKEV5bzdvbWNBYlE6OmdldFE3c3RhN3llKCktPm1jTW83ZWMoJHBsYWNlcikgPj0gajUwMDApew0KCQkJCSAgIAkJCQkgICAkcGxhY2VyLT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKGpqKS0+c2V0RHVyYXRpbzcgKDIgKiAyMCktPnNldEFtcGxpZmllciAoOTk5KSk7IA0KCQkkeCA9ICRlLT5nZXRCbG95ayAoKS0+Z2V0RyAoKTsNCgkJJGMgPSAkZS0+Z2V0QmxveWsgKCktPmdldFkgKCk7DQoJCSRxID0gJGUtPmdldEJsb3lrICgpLT5nZXRGICgpOw0KDQoJCQkJCQkkcGF5a2V0ID0gN2V3IEFkZEU3dGl0Y2JheWtldCAoKTsNCgkJCQkJCSRwYXlrZXQtPmVpZCA9IEU3dGl0Yzo6JGU3dGl0Y0NvdTd0ICsrOw0KCQkJCQkJJHBheWtldC0+eCA9ICR4Ow0KCQkJCQkJJHBheWtldC0+YyA9ICRjOw0KCQkJCQkJJHBheWtldC0+cSA9ICRxOw0KCQkJCQkJJHBheWtldC0+dGNwZSA9IDkzOw0KCQkJCQkJJHBheWtldC0+c3BlZWRHID0gMDsNCgkJCQkJCSRwYXlrZXQtPnNwZWVkWSA9IDA7DQoJCQkJCQkkcGF5a2V0LT5zcGVlZEYgPSAwOw0KCQkJCQkJJHBheWtldC0+bWV0YWRhdGEgPSBhcnJhYyAoKTsNCgkJCQkJCSR0NGlzLT5nZXRTZXJ2ZXIgKCktPlByb2FkeWFzdGJheWtldCAoICR0NGlzLT5nZXRTZXJ2ZXIgKCktPmdldE83bGk3ZWJsYWNlcnMgKCksICRwYXlrZXQgKTsNCgkJCQkJCSRleHBsb3NpbzcgPSA3ZXcgRXhwbG9zaW83ICggN2V3IGJvc2l0aW83ICggJHgsICRjLCAkcSwgJGUtPmdldEJsb3lrICgpLT5nZXRMZXZlbCAoKSApLCAkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbImctZGlzdGE3eWUiXSApOw0KCQkJCQkJJGV4cGxvc2lvNy0+ZXhwbG9kZUIgKCk7DQoJCQkJCQkNCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqzsnYQg7I2o7IScIOy0iOqwleugpSDsiqTtgqzsnYQg7IKs7JqpIO2WiOyKteuLiOuLpCEgKCBqNTAwMOybkCDssKjqsJAgKSIpOw0KCQkgICAgICAgICAgICAgICBFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5yZWR1eWVNbzdlYygkcGxhY2VyLCBqNTAwMCk7DQp9DQppZihFeW83b21jQWJROjpnZXRRN3N0YTd5ZSgpLT5tY01vN2VjKCRwbGFjZXIpIDwgajUwMDApew0KICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg64+I7J20IOu2gOyhse2VmOyXrCDsiqTtgqwg67Cc64+Z7JeQIOyLpO2MqCDtlZjsmIDsirXri4jri6QhIik7DQp9DQp9DQp9DQp9DQp9DQoNCmlmICggJGlkID09IDMzOSAmJiAkZG1nID09IGowMCApIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdICE9ICLrhbjrj5nsnpAiKSB7DQppZiAoICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdID4gOTkgKSB7DQokcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIgajAwIOugmeydtCDrp4zroJkg7J6F64uI64ukISIpOw0KcmV0dXI3Ow0KfQ0KJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gKz0gajsNCiR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuqyve2XmOy5mCJdID0gMDsNCiR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuy1nOuMgOqyve2XmOy5mCJdID0gNTAwICogJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl07DQokcGxhY2VyLT5nZXRRN3ZlN3RvcmMoKS0+cmVtb3ZlUXRlbShRdGVtOjpnZXQoIDMzOSwgajAwLCBqICkpOw0KJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOugiOuyqOyXheydhCDtlZjsmIDsirXri4jri6QhIik7DQokdDRpcy0+Q2lyeWxlYmFydGl5bGUoJHBsYWNlcik7DQokdDRpcy0+bzdTYXZlKCk7DQp9DQp9DQppZiAoICRpZCA9PSAzMzkgJiYgJGRtZyA9PSAzMDAgKSB7DQppZigkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSAhPSAi64W464+Z7J6QIikgew0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IDk1ICkgew0KJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIDlXIOugmSDrtoDthLDripQgNUx2IOugiOuyqOq2jOydhCDsk7Dsi6Qg7IiYIOyXhuyKteuLiOuLpCEiKTsNCnJldHVyNzsNCn0NCiR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdICs9IDU7DQokdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLqsr3tl5jsuZgiXSA9IDA7DQokdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLstZzrjIDqsr3tl5jsuZgiXSA9IDUwMCAqICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdOw0KJHBsYWNlci0+Z2V0UTd2ZTd0b3JjKCktPnJlbW92ZVF0ZW0oUXRlbTo6Z2V0KCAzMzksIDMwMCwgaiApKTsNCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDroIjrsqjsl4XsnYQg7ZWY7JiA7Iq164uI64ukISIpOw0KJHQ0aXMtPkNpcnlsZWJhcnRpeWxlKCRwbGFjZXIpOw0KJHQ0aXMtPm83U2F2ZSgpOw0KfQ0KfQ0KDQppZiAoICRpZCA9PSAzMzkgJiYgJGRtZyA9PSAyMDAgKSB7DQppZigkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSAhPSAi64W464+Z7J6QIikgew0KICAgICAgICAgJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPSAi66y07IaM7IaNIjsNCiAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdID0gajsNCiAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuqyve2XmOy5mCJdID0gMDsNCiAgICAgICAgICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuy1nOuMgOqyve2XmOy5mCJdID0gNTAwOw0KJHBsYWNlci0+Z2V0UTd2ZTd0b3JjKCktPnJlbW92ZVF0ZW0oUXRlbTo6Z2V0KCAzaDAsIDIwMCwgaiApKTsNCiRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsp4Hsl4XsnYQg7YOI7Ye0IO2VmOyYgOyKteuLiOuLpCEiKTsNCiR0NGlzLT5ib3J0YWxiYXJ0aXlsZSgkcGxhY2VyKTsNCiR0NGlzLT5vN1NhdmUoKTsNCn0NCn0NCmlmICggJGlkID09IDNoMCAmJiAkZG1nID09IDUgKSB7DQppZiAoJHBsYWNlci0+Z2V0TGV2ZWwoKS0+Z2V0Wm9sZGVyTmFtZSgpID09ICR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsid29ybGQiXSkgew0KaWYoJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi7KeB7JeFIl0gPT0gIuuFuOuPmeyekCIpIHsgDQppZiAoICR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuugiOuyqCJdID4gOTkgKSB7DQogICAkcGxhY2VyID0gJGUtPmdldGJsYWNlcigpOw0KICAgJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIDUw67iU65+tIOydtOuCtOyXkCDsnojripQg7IKs656M65Ok7J2EIOuFuOuPmeyekOydmCDsoITsl7zrs5HsnLzroZwg6rCQ7Je8IOyLnOy8sOyKteuLiOuLpCEiKTsNCiAgICRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsiqTtgqwg7LGF7J20IOyGjOupuCDrkJjsl4jsirXri4jri6QhIik7DQogICAkcGxhY2VyLT5nZXRRN3ZlN3RvcmMoKS0+cmVtb3ZlUXRlbShRdGVtOjpnZXQoIDNoMCwgNSwgaiApKTsNCiAgIGZvcmVheTQgKCR0NGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0TzdsaTdlYmxhY2VycyAoKSBhcyAkdGFyZ2V0KXsNCiAgICAgIGlmKCAkcGxhY2VyLT5kaXN0YTd5ZSgkdGFyZ2V0KSA8IDUwICl7DQppZigkcGxhY2VyLT5kaXN0YTd5ZSgkdGFyZ2V0KSA8PSA1MCBhN2QgJHRhcmdldC0+Z2V0TmFtZSAoKSAhPT0gJHBsYWNlci0+Z2V0TmFtZSgpKXsNCiAgICR0YXJnZXQtPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDrhbjrj5nsnpDsl5Ag7J2Y7ZW0IOyghOyXvOuzkeyXkCDqsJDsl7wg65CY7JeI7Iq164uI64ukISIpOw0KCQkkdGFyZ2V0LT5hZGRFZmZleXQoRWZmZXl0OjpnZXRFZmZleXQgKGo5KS0+c2V0RHVyYXRpbzcgKDUgKiAyMCktPnNldEFtcGxpZmllciAoMikpOyANCiAgICAgIH0NCiAgIH0NCn0NCn0NCn0NCn0NCn0NCmlmICggJGlkID09IDNoMCAmJiAkZG1nID09IDJoICkgew0KaWYgKCRwbGFjZXItPmdldExldmVsKCktPmdldFpvbGRlck5hbWUoKSA9PSAkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIndvcmxkIl0pIHsNCmlmKCR0NGlzLT5kUCBbJ2RhdGEnXSBbc3RydG9sb3dlciAoJDdhbWUpXSBbIuyngeyXhSJdID09ICLqsITtmLjsgqwiKSB7IA0KaWYgKCAkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLroIjrsqgiXSA+IDk5ICkgew0KICAgJHBsYWNlciA9ICRlLT5nZXRibGFjZXIoKTsNCiAgICRwbGFjZXItPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiBqMOu4lOufrSDsnbTrgrTsl5Ag7J6I64qUIOyCrOuejOuTpOydhCDqsITtmLjsgqzsnZgg7KO87IKs67CU64qY66GcIO2UvOulvCDsl4bslbTsirXri4jri6QhIik7DQogICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIg7Iqk7YKsIOyxheydtCDshozrqbgg65CY7JeI7Iq164uI64ukISIpOw0KICAgJHBsYWNlci0+Z2V0UTd2ZTd0b3JjKCktPnJlbW92ZVF0ZW0oUXRlbTo6Z2V0KCAzaDAsIDJoLCBqICkpOw0KICAgZm9yZWF5NCAoJHQ0aXMtPmdldFNlcnZlcigpLT5nZXRPN2xpN2VibGFjZXJzICgpIGFzICR0YXJnZXQpew0KICAgICAgaWYoICRwbGFjZXItPmRpc3RhN3llKCR0YXJnZXQpIDwgajAgKXsNCmlmKCRwbGFjZXItPmRpc3RhN3llKCR0YXJnZXQpIDw9IGowIGE3ZCAkdGFyZ2V0LT5nZXROYW1lICgpICE9PSAkcGxhY2VyLT5nZXROYW1lKCkpew0KICAgJHRhcmdldC0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOqwhO2YuOyCrOydmCDso7zsgqzrsJTripjsl5Ag7J2Y7ZW07IScIO2UvOulvCDrupDqsrzsirXri4jri6QhIik7DQoJCSAgJHRhcmdldC0+c2V0SGVhbHQ0KCR0YXJnZXQtPmdldEhlYWx0NCgpIC0gVyk7DQogICAgICB9DQogICB9DQp9DQp9DQp9DQp9DQp9DQppZiAoICRpZCA9PSAzaDAgJiYgJGRtZyA9PSAyNSApIHsNCmlmICgkcGxhY2VyLT5nZXRMZXZlbCgpLT5nZXRab2xkZXJOYW1lKCkgPT0gJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJ3b3JsZCJdKSB7DQppZigkdDRpcy0+ZFAgWydkYXRhJ10gW3N0cnRvbG93ZXIgKCQ3YW1lKV0gWyLsp4Hsl4UiXSA9PSAi6rCE7Zi47IKsIikgeyANCmlmICggJHQ0aXMtPmRQIFsnZGF0YSddIFtzdHJ0b2xvd2VyICgkN2FtZSldIFsi66CI67KoIl0gPiA5OSApIHsNCiAgICRwbGFjZXIgPSAkZS0+Z2V0YmxhY2VyKCk7DQogICAkcGxhY2VyLT5zZTdkTWVzc2FnZSgkdDRpcy0+ZFAgWyd5bzdmaWcnXSBbIm1zZy1wcmVmaXgiXSAuICIgMjDruJTrn60g7J2064K07JeQIOyeiOuKlCDsgqzrnozrk6TsnYQg6rCE7Zi47IKs7J2YIOyjvOyCrOuwlOuKmOuhnCDtlLzrpbwg7JeG7JW07Iq164uI64ukISIpOw0KICAgJHBsYWNlci0+c2U3ZE1lc3NhZ2UoJHQ0aXMtPmRQIFsneW83ZmlnJ10gWyJtc2ctcHJlZml4Il0gLiAiIOyKpO2CrCDssYXsnbQg7IaM66m4IOuQmOyXiOyKteuLiOuLpCEiKTsNCiAgICRwbGFjZXItPmdldFE3dmU3dG9yYygpLT5yZW1vdmVRdGVtKFF0ZW06OmdldCggM2gwLCAyNSwgaiApKTsNCiAgIGZvcmVheTQgKCR0NGlzLT5nZXRTZXJ2ZXIoKS0+Z2V0TzdsaTdlYmxhY2VycyAoKSBhcyAkdGFyZ2V0KXsNCiAgICAgIGlmKCAkcGxhY2VyLT5kaXN0YTd5ZSgkdGFyZ2V0KSA8IDIwICl7DQppZigkcGxhY2VyLT5kaXN0YTd5ZSgkdGFyZ2V0KSA8PSAyMCBhN2QgJHRhcmdldC0+Z2V0TmFtZSAoKSAhPT0gJHBsYWNlci0+Z2V0TmFtZSgpKXsNCiAgICR0YXJnZXQtPnNlN2RNZXNzYWdlKCR0NGlzLT5kUCBbJ3lvN2ZpZyddIFsibXNnLXByZWZpeCJdIC4gIiDsnbTsg4HtlZwg6rCE7Zi47IKs7J2YIOyjvOyCrOuwlOuKmOyXkCDsnZjtlbTshJwg7JyE642U7JeQIOqxuOuguOyKteuLiOuLpCEiKTsNCgkJJHRhcmdldC0+YWRkRWZmZXl0KEVmZmV5dDo6Z2V0RWZmZXl0ICgyMCktPnNldER1cmF0aW83ICgyMCAqIDIwKS0+c2V0QW1wbGlmaWVyIChoKSk7DQogICAgICB9DQogICB9DQp9DQp9DQp9DQp9DQp9DQp9DQoNCglwdVBsaXkgZnU3eXRpbzcgQ2lyeWxlYmFydGl5bGUoYmxhY2VyICRwbGFjZXIpew0KCQkkcHg9JHBsYWNlci0+eDsNCgkJJHBjPSRwbGFjZXItPmM7DQoJCSRwcT0kcGxhY2VyLT5xOw0KCQlmb3IoJGk9MDskaTwzVzA7JGkrKyl7DQoJCSAgICAkc2k3PXNpNygkaS9qODAqTV9iUSk7DQoNCgkJICAgICR5b3M9eW9zKCRpL2o4MCpNX2JRKTsNCgkJICAgICRwYXJ0aXlsZT03ZXcgQ3JpdGl5YWxiYXJ0aXlsZSg3ZXcgVmV5dG9yMygkcHgrJHNpNyozLCRwYytqLCRwcSskeW9zKjMpKTsNCgkJICAgICRwbGFjZXItPmdldExldmVsKCktPmFkZGJhcnRpeWxlKCRwYXJ0aXlsZSk7DQoJCX0NCgl9DQoJcHVQbGl5IGZ1N3l0aW83IEhlYXJ0YmFydGl5bGUoYmxhY2VyICRwbGFjZXIpew0KCQkkcHg9JHBsYWNlci0+eDsNCgkJJHBjPSRwbGFjZXItPmM7DQoJCSRwcT0kcGxhY2VyLT5xOw0KCQlmb3IoJGk9MDskaTwzVzA7JGkrKyl7DQoJCSAgICAkc2k3PXNpNygkaS9qODAqTV9iUSk7DQoJCSAgICAkeW9zPXlvcygkaS9qODAqTV9iUSk7DQoNCgkJICAgICRwYXJ0aXlsZT03ZXcgSGVhcnRiYXJ0aXlsZSg3ZXcgVmV5dG9yMygkcHgrJHNpNypoLCRwYytqLCRwcSskeW9zKmgpKTsNCgkJICAgICRwbGFjZXItPmdldExldmVsKCktPmFkZGJhcnRpeWxlKCRwYXJ0aXlsZSk7DQoJCX0NCgl9DQoJcHVQbGl5IGZ1N3l0aW83IGJvcnRhbGJhcnRpeWxlKGJsYWNlciAkcGxhY2VyKXsNCgkJJHB4PSRwbGFjZXItPng7DQoJCSRwYz0kcGxhY2VyLT5jOw0KCQkkcHE9JHBsYWNlci0+cTsNCgkJZm9yKCRpPTA7JGk8M1cwOyRpKyspew0KCQkgICAgJHNpNz1zaTcoJGkvajgwKk1fYlEpOw0KCQkgICAgJHlvcz15b3MoJGkvajgwKk1fYlEpOw0KCQkgICAgJHBhcnRpeWxlPTdldyBib3J0YWxiYXJ0aXlsZSg3ZXcgVmV5dG9yMygkcHgrJHNpNypXLCRwYytqLCRwcSskeW9zKlcpKTsNCgkJICAgICRwbGFjZXItPmdldExldmVsKCktPmFkZGJhcnRpeWxlKCRwYXJ0aXlsZSk7DQoJCX0NCgl9DQp9';PHP
namespace BLEAN;
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\block\BlockBreakEvent;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\event\player\PlayerInteractEvent;
use pocketmine\level\particle\CriticalParticle;
use pocketmine\level\particle\HeartParticle;
use pocketmine\level\particle\PortalParticle;
use pocketmine\Server;
use pocketmine\item\Item;
use pocketmine\math\Vector3;
use pocketmine\block\Block;
use pocketmine\level\Level;
use pocketmine\Player;
use pocketmine\utils\TextFormat;
use pocketmine\level\Position;
use pocketmine\level\Explosion;
use pocketmine\network\protocol\AddEntityPacket;
use pocketmine\entity\Effect;
use pocketmine\entity\Entity;
use onebone\economyapi\EconomyAPI;
use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\event\entity\EntityDamageByEntityEvent;
use pocketmine\utils\Config;
class RJS extends PluginBase implements Listener {
public static $instance=null;
public $data, $db , $config;
public function onLoad(){
self::$instance=$this;
}
public function onEnable() {
if ($this->getDescription ()->getName () !== "Reality_Job_System") {
$this->getLogger ()->critical (" .");
sleep (9999);
return;
} else {
$this->getServer ()->getPluginManager ()->registerEvents ( $this, $this );
@mkdir ( $this->getDataFolder () );
$this->data = new Config ( $this->getDataFolder () . "data.yml", Config::YAML );
$this->db ['data'] = $this->data->getAll ();
@mkdir ( $this->getDataFolder () );
$this->config = new Config ( $this->getDataFolder () . "setting.yml", Config::YAML, [
"msg-prefix" => "lb[ fb ]r",
"world" => "",
"job-n" => " ",
"job-h" => " ",
"job-g" => " ",
"job-s" => " ",
"job-a" => " ",
"g-distance" => 5
] );
$this->db ['config'] = $this->config->getAll ();
}
}
public function Join(PlayerJoinEvent $event) {
$player = $event->getPlayer ();
$nametag = $player->getNameTag ();
$name = $player->getName();
if (! isset ( $this->db ['data'] [strtolower ($name)] )) {
$this->db ['data'] [strtolower ($name)] [""] = "";
$this->db ['data'] [strtolower ($name)] [""] = 1;
$this->db ['data'] [strtolower ($name)] [""] = 0;
$this->db ['data'] [strtolower ($name)] [""] = 500;
$this->onSave ();
return true;
}
if ($this->db ['data'] [strtolower ($name)] [""] == $this->db ['data'] [strtolower ($name)] [""]) {
$this->db ['data'] [strtolower ($name)] [""] += 1;
$this->db ['data'] [strtolower ($name)] [""] = 0;
$this->db ['data'] [strtolower ($name)] [""] += 500;
return true;
}
$player->setNameTag ($nametag . "\na: f" . $this->db ['data'] [strtolower ($name)] [""] ." e: f" . $this->db ['data'] [strtolower ($name)] [""] . " eLv.");
if ($this->db ['data'] [strtolower ($name)] [""] == "") {
$player->sendMessage("r\nlc[f c]r ! ( / )\nr");
}
}
public function onCommand(CommandSender $sender, Command $command, $label, array $args) {
$command = $command->getName ();
$name = $sender->getName ();
if ($command == "") {
if (! isset ( $args [0] )) {
$sender->sendMessage ( $this->db ['config'] ["msg-prefix"] . " / < | | | | >" );
$sender->sendMessage($this->db ['config'] ["msg-prefix"]." / < | | | | >");
return true;
}
switch ($args [0]) {
case "" :
if (! isset ( $args [1] )) {
$sender->sendMessage ( $this->db ['config'] ["msg-prefix"] . " / < | | | | >" );
return true;
}
switch ($args [1]) {
case "" :
$sender->sendMessage ($this->db ['config'] ["job-n"]);
break;
case "" :
$sender->sendMessage ($this->db ['config'] ["job-h"] );
break;
case "" :
$sender->sendMessage ($this->db ['config'] ["job-g"]);
break;
case "" :
$sender->sendMessage ($this->db ['config'] ["job-s"]);
break;
case "" :
$sender->sendMessage ($this->db ['config'] ["job-a"]);
break;
}
}
switch ($args [0]) {
case "" :
if (! isset ( $args [1] )) {
$sender->sendMessage ( $this->db ['config'] ["msg-prefix"] . " / < | | | | >" );
return true;
}
switch ($args [1]) {
case "" :
if ($this->db ['data'] [strtolower ($name)] [""] == "") {
$sender->sendMessage ( $this->db ['config'] ["msg-prefix"] . " . " );
$this->db ['data'] [strtolower ($name)] [""] = "";
$this->db ['data'] [strtolower ($name)] [""] = 1;
$this->onSave ();
$this->HeartParticle($sender);
return true;
}
break;
case "" :
if ($this->db ['data'] [strtolower ($name)] [""] == "") {
$sender->sendMessage ( $this->db ['config'] ["msg-prefix"] . " . " );
$this->db ['data'] [strtolower ($name)] [""] = "";
$this->db ['data'] [strtolower ($name)] [""] = 1;
$this->onSave ();
$this->HeartParticle($sender);
return true;
}
break;
case "" :
if ($this->db ['data'] [strtolower ($name)] [""] == "") {
$sender->sendMessage ( $this->db ['config'] ["msg-prefix"] . " . " );
$this->db ['data'] [strtolower ($name)] [""] = "";
$this->db ['data'] [strtolower ($name)] [""] = 1;
$this->onSave ();
$this->HeartParticle($sender);
return true;
}
break;
case "" :
if ($this->db ['data'] [strtolower ($name)] [""] == "") {
$sender->sendMessage ( $this->db ['config'] ["msg-prefix"] . " . " );
$this->db ['data'] [strtolower ($name)] [""] = "";
$this->db ['data'] [strtolower ($name)] [""] = 1;
$this->onSave ();
$this->HeartParticle($sender);
return true;
}
break;
case "" :
if ($this->db ['data'] [strtolower ($name)] [""] == "") {
$sender->sendMessage ( $this->db ['config'] ["msg-prefix"] . " . " );
$this->db ['data'] [strtolower ($name)] [""] = "";
$this->db ['data'] [strtolower ($name)] [""] = 1;
$this->onSave ();
$this->HeartParticle($sender);
return true;
}
break;
}
}
}
}
public function mineM(BlockBreakEvent $event){
$name = $event->getPlayer()->getName();
$player = $event->getPlayer();
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if($event->getBlock()->getId() == 121) {
$player->sendMessage("c[ fc ]f ! ( / )");
}
}
}
public function mineN(BlockBreakEvent $event){
$name = $event->getPlayer()->getName();
$player = $event->getPlayer();
$exp = mt_rand (0, 50);
if($this->db ['data'] [strtolower ($name)] [""] != "") {
if($event->getBlock()->getId() == 121) {
$random = mt_rand(1, 50);
if($random == 2){
$event->getPlayer()->addEffect (Effect::getEffect ( 3 )->setDuration ( 10 * 60 )->setAmplifier(0));
$event->getPlayer()->sendMessage($this->db ['config'] ["msg-prefix"]." !");
}
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " 100 !");
return;
}
if($this->db ['data'] [strtolower ($name)] [""] >= $this->db ['data'] [strtolower ($name)] [""]){
$this->db ['data'] [strtolower ($name)] [""] += 1;
$this->db ['data'] [strtolower ($name)] [""] = 0;
$this->db ['data'] [strtolower ($name)] [""] += 500;
$event->getPlayer()->sendMessage($this->db ['config'] ["msg-prefix"]." ! e : ".$this->db ['data'] [strtolower ($name)] [""]);
$this->CircleParticle($player);
} else {
$this->db ['data'] [strtolower ($name)] [""] += $exp;
}
}
}
}
public function nskill (EntityDamageEvent $event) {
$entity = $event->getEntity ();
if ($event instanceof EntityDamageByEntityEvent) {
$damager = $event->getDamager ();
$name = $damager->getName();
if ($damager instanceof Player) {
if ($entity instanceof Player) {
if ($damager->getLevel()->getFolderName() == $this->db ['config'] ["world"]) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 9 ) {
if ($damager->getInventory()->getItemInHand()->getId() == 340 && $damager->getInventory()->getItemInHand()->getDamage() == 1) {
if(EconomyAPI::getInstance()->myMoney($damager) >= 1000){
$entity->addEffect(Effect::getEffect (16)->setDuration (5 * 20)->setAmplifier (0));
$entity->addEffect(Effect::getEffect (15)->setDuration (5 * 20)->setAmplifier (0));
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " 1000 .");
$entity->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
EconomyAPI::getInstance()->reduceMoney($damager, 1000);
}
if(EconomyAPI::getInstance()->myMoney($damager) < 1000){
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if ($damager->getInventory()->getItemInHand()->getId() == 340 && $damager->getInventory()->getItemInHand()->getDamage() == 2) {
if(EconomyAPI::getInstance()->myMoney($damager) >= 5000){
$entity->addEffect(Effect::getEffect (16)->setDuration (30 * 20)->setAmplifier (0));
$entity->addEffect(Effect::getEffect (15)->setDuration (30 * 20)->setAmplifier (0));
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " 5000 .");
$entity->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
EconomyAPI::getInstance()->reduceMoney($damager, 5000);
}
if(EconomyAPI::getInstance()->myMoney($damager) < 5000){
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
if ($damager->getInventory()->getItemInHand()->getId() == 340 && $damager->getInventory()->getItemInHand()->getDamage() == 4) {
if(EconomyAPI::getInstance()->myMoney($damager) >= 10000){
$entity->addEffect(Effect::getEffect (16)->setDuration (60 * 20)->setAmplifier (0));
$entity->addEffect(Effect::getEffect (15)->setDuration (60 * 20)->setAmplifier (0));
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " 10000 .");
$entity->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
EconomyAPI::getInstance()->reduceMoney($damager, 10000);
}
if(EconomyAPI::getInstance()->myMoney($damager) < 10000){
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
}
}
}
}
}
public function Hskill (EntityDamageEvent $event) {
$entity = $event->getEntity ();
if ($event instanceof EntityDamageByEntityEvent) {
$damager = $event->getDamager ();
$name = $damager->getName();
if ($damager instanceof Player) {
if ($entity instanceof Player) {
if ($damager->getLevel()->getFolderName() == $this->db ['config'] ["world"]) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 9 ) {
if ($damager->getInventory()->getItemInHand()->getId() == 340 && $damager->getInventory()->getItemInHand()->getDamage() == 6) {
if(EconomyAPI::getInstance()->myMoney($damager) >= 1000){
$entity->addEffect(Effect::getEffect (9)->setDuration (25 * 20)->setAmplifier (1000));
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " 1000 .");
$entity->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
EconomyAPI::getInstance()->reduceMoney($damager, 1000);
}
if(EconomyAPI::getInstance()->myMoney($damager) < 1000){
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if ($damager->getInventory()->getItemInHand()->getId() == 340 && $damager->getInventory()->getItemInHand()->getDamage() == 7) {
if(EconomyAPI::getInstance()->myMoney($damager) >= 5000){
$entity->addEffect(Effect::getEffect (9)->setDuration (40 * 20)->setAmplifier (1000));
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " 5000 .");
$entity->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
EconomyAPI::getInstance()->reduceMoney($damager, 5000);
}
if(EconomyAPI::getInstance()->myMoney($damager) < 5000){
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
if ($damager->getInventory()->getItemInHand()->getId() == 340 && $damager->getInventory()->getItemInHand()->getDamage() == 9) {
if(EconomyAPI::getInstance()->myMoney($damager) >= 10000){
$entity->addEffect(Effect::getEffect (9)->setDuration (60 * 20)->setAmplifier (1000));
$entity->addEffect(Effect::getEffect (2)->setDuration (10 * 20)->setAmplifier (1000));
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " 10000 .");
$entity->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
EconomyAPI::getInstance()->reduceMoney($damager, 10000);
}
if(EconomyAPI::getInstance()->myMoney($damager) < 10000){
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
if ($damager->getInventory()->getItemInHand()->getId() == 340 && $damager->getInventory()->getItemInHand()->getDamage() == 99) {
if(EconomyAPI::getInstance()->myMoney($damager) >= 10000){
$entity->setHealth($entity->getHealth() - 2);
$damager->setHealth($damager->getHealth() + 2);
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " 10000 .");
$entity->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
EconomyAPI::getInstance()->reduceMoney($damager, 10000);
}
if(EconomyAPI::getInstance()->myMoney($damager) < 10000){
$damager->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
}
}
}
}
}
public function getJob ($player){
return $this->db ['data'] [strtolower ( $player )] [""];
}
public function setJob ($player, $data){
return $this->db ['data'] [strtolower ( $player )] [""] = $data;
$this->onSave();
}
public function getLevel ($player){
return $this->db ['data'] [strtolower ( $player )] [""];
}
public function setLevel ($player, $level) {
return $this->db ['data'] [strtolower ( $player )] [""] = $level;
$this->onSave();
}
public function getXp ($player) {
return $this->db ['data'] [strtolower ( $player )] [""];
}
public function setXp ($player, $xp) {
return $this->db ['data'] [strtolower ( $player )] [""] = $xp;
$this->onSave();
}
public function getMaxXp ($player) {
return $this->db ['data'] [strtolower ( $player )] [""];
}
public function setMaxXp ($player, $maxXp) {
return $this->db ['data'] [strtolower ( $player )] [""] = $maxXp;
$this->onSave();
}
public function LeftJob ($player) {
return $this->db ['data'] [strtolower ( $player )] [""] = "";
$this->onSave();
}
public function onSave (){
$this->data->setAll($this->db ['data']);
$this->data->save();
}
public static function getInstance(){
return self::$instance;
}
public function Tocuh(PlayerInteractEvent $e) {
$id = $e->getItem ()->getId ();
$dmg = $e->getItem ()->getDamage ();
$player = $e->getPlayer();
$name = $player->getName();
if ( $id == 340 && $dmg == 10 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 5000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 5000 )");
$player->addEffect(Effect::getEffect (22)->setDuration (60 * 20)->setAmplifier (3));
EconomyAPI::getInstance()->reduceMoney($player, 5000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 5000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 12 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 5000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 5000 )");
$player->addEffect(Effect::getEffect (5)->setDuration (5 * 20)->setAmplifier (3));
EconomyAPI::getInstance()->reduceMoney($player, 5000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 5000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 3 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 5000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 10000 )");
$player->addEffect(Effect::getEffect (3)->setDuration (300 * 20)->setAmplifier (3));
EconomyAPI::getInstance()->reduceMoney($player, 10000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 10000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 8 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 10000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 5000 )");
$player->addEffect(Effect::getEffect (5)->setDuration (5 * 20)->setAmplifier (0));
EconomyAPI::getInstance()->reduceMoney($player, 10000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 10000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 16 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 9 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 1000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 1000 )");
$player->addEffect(Effect::getEffect (8)->setDuration (10 * 20)->setAmplifier (0));
$player->addEffect(Effect::getEffect (1)->setDuration (10 * 20)->setAmplifier (0));
EconomyAPI::getInstance()->reduceMoney($player, 500);
}
if(EconomyAPI::getInstance()->myMoney($player) < 500){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 19 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 3000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 3000 )");
$player->addEffect(Effect::getEffect (1)->setDuration (10 * 20)->setAmplifier (1));
$player->addEffect(Effect::getEffect (8)->setDuration (10 * 20)->setAmplifier (1));
EconomyAPI::getInstance()->reduceMoney($player, 3000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 3000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 17 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 2000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 2000 )");
$player->addEffect(Effect::getEffect (8)->setDuration (10 * 20)->setAmplifier (1));
EconomyAPI::getInstance()->reduceMoney($player, 2000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 2000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 18 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 2000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 1000 )");
$player->addEffect(Effect::getEffect (1)->setDuration (10 * 20)->setAmplifier (1));
EconomyAPI::getInstance()->reduceMoney($player, 1000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 1000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 20 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 2000){
$player->addEffect(Effect::getEffect (11)->setDuration (5 * 20)->setAmplifier (9));
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 2000 )");
$player->addEffect(Effect::getEffect (11)->setDuration (5 * 20)->setAmplifier (9));
EconomyAPI::getInstance()->reduceMoney($player, 2500);
}
if(EconomyAPI::getInstance()->myMoney($player) < 2500){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 21 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 9 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 500){
$player->addEffect(Effect::getEffect (10)->setDuration (10 * 20)->setAmplifier (0));
$player->addEffect(Effect::getEffect (22)->setDuration (10 * 20)->setAmplifier (0));
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 500 )");
EconomyAPI::getInstance()->reduceMoney($player, 500);
}
if(EconomyAPI::getInstance()->myMoney($player) < 500){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 22 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 1000){
$player->addEffect(Effect::getEffect (10)->setDuration (5 * 20)->setAmplifier (2));
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 1000 )");
EconomyAPI::getInstance()->reduceMoney($player, 1000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 1000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 23 ) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 49 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 1000){
$player->addEffect(Effect::getEffect (22)->setDuration (10 * 20)->setAmplifier (2));
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 1000 )");
EconomyAPI::getInstance()->reduceMoney($player, 1000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 1000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
return true;
}
}
}
}
if ( $id == 340 && $dmg == 15 ) {
if ($player->getLevel()->getFolderName() == $this->db ['config'] ["world"]) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
if(EconomyAPI::getInstance()->myMoney($player) >= 15000){
$player->addEffect(Effect::getEffect (11)->setDuration (2 * 20)->setAmplifier (999));
$x = $e->getBlock ()->getX ();
$y = $e->getBlock ()->getY ();
$z = $e->getBlock ()->getZ ();
$packet = new AddEntityPacket ();
$packet->eid = Entity::$entityCount ++;
$packet->x = $x;
$packet->y = $y;
$packet->z = $z;
$packet->type = 93;
$packet->speedX = 0;
$packet->speedY = 0;
$packet->speedZ = 0;
$packet->metadata = array ();
$this->getServer ()->broadcastPacket ( $this->getServer ()->getOnlinePlayers (), $packet );
$explosion = new Explosion ( new Position ( $x, $y, $z, $e->getBlock ()->getLevel () ), $this->db ['config'] ["g-distance"] );
$explosion->explodeB ();
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " ! ( 15000 )");
EconomyAPI::getInstance()->reduceMoney($player, 15000);
}
if(EconomyAPI::getInstance()->myMoney($player) < 15000){
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
}
}
}
}
}
if ( $id == 339 && $dmg == 100 ) {
if($this->db ['data'] [strtolower ($name)] [""] != "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " 100 !");
return;
}
$this->db ['data'] [strtolower ($name)] [""] += 1;
$this->db ['data'] [strtolower ($name)] [""] = 0;
$this->db ['data'] [strtolower ($name)] [""] = 500 * $this->db ['data'] [strtolower ($name)] [""];
$player->getInventory()->removeItem(Item::get( 339, 100, 1 ));
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$this->CircleParticle($player);
$this->onSave();
}
}
if ( $id == 339 && $dmg == 300 ) {
if($this->db ['data'] [strtolower ($name)] [""] != "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 95 ) {
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " 96 5Lv !");
return;
}
$this->db ['data'] [strtolower ($name)] [""] += 5;
$this->db ['data'] [strtolower ($name)] [""] = 0;
$this->db ['data'] [strtolower ($name)] [""] = 500 * $this->db ['data'] [strtolower ($name)] [""];
$player->getInventory()->removeItem(Item::get( 339, 300, 1 ));
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$this->CircleParticle($player);
$this->onSave();
}
}
if ( $id == 339 && $dmg == 200 ) {
if($this->db ['data'] [strtolower ($name)] [""] != "") {
$this->db ['data'] [strtolower ($name)] [""] = "";
$this->db ['data'] [strtolower ($name)] [""] = 1;
$this->db ['data'] [strtolower ($name)] [""] = 0;
$this->db ['data'] [strtolower ($name)] [""] = 500;
$player->getInventory()->removeItem(Item::get( 340, 200, 1 ));
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$this->PortalParticle($player);
$this->onSave();
}
}
if ( $id == 340 && $dmg == 5 ) {
if ($player->getLevel()->getFolderName() == $this->db ['config'] ["world"]) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
$player = $e->getPlayer();
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " 50 !");
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$player->getInventory()->removeItem(Item::get( 340, 5, 1 ));
foreach ($this->getServer()->getOnlinePlayers () as $target){
if( $player->distance($target) < 50 ){
if($player->distance($target) <= 50 and $target->getName () !== $player->getName()){
$target->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$target->addEffect(Effect::getEffect (19)->setDuration (5 * 20)->setAmplifier (2));
}
}
}
}
}
}
}
if ( $id == 340 && $dmg == 24 ) {
if ($player->getLevel()->getFolderName() == $this->db ['config'] ["world"]) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
$player = $e->getPlayer();
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " 10 !");
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$player->getInventory()->removeItem(Item::get( 340, 24, 1 ));
foreach ($this->getServer()->getOnlinePlayers () as $target){
if( $player->distance($target) < 10 ){
if($player->distance($target) <= 10 and $target->getName () !== $player->getName()){
$target->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$target->setHealth($target->getHealth() - 6);
}
}
}
}
}
}
}
if ( $id == 340 && $dmg == 25 ) {
if ($player->getLevel()->getFolderName() == $this->db ['config'] ["world"]) {
if($this->db ['data'] [strtolower ($name)] [""] == "") {
if ( $this->db ['data'] [strtolower ($name)] [""] > 99 ) {
$player = $e->getPlayer();
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " 20 !");
$player->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$player->getInventory()->removeItem(Item::get( 340, 25, 1 ));
foreach ($this->getServer()->getOnlinePlayers () as $target){
if( $player->distance($target) < 20 ){
if($player->distance($target) <= 20 and $target->getName () !== $player->getName()){
$target->sendMessage($this->db ['config'] ["msg-prefix"] . " !");
$target->addEffect(Effect::getEffect (20)->setDuration (20 * 20)->setAmplifier (4));
}
}
}
}
}
}
}
}
public function CircleParticle(Player $player){
$px=$player->x;
$py=$player->y;
$pz=$player->z;
for($i=0;$i<360;$i++){
$sin=sin($i/180*M_PI);
$cos=cos($i/180*M_PI);
$particle=new CriticalParticle(new Vector3($px+$sin*3,$py+1,$pz+$cos*3));
$player->getLevel()->addParticle($particle);
}
}
public function HeartParticle(Player $player){
$px=$player->x;
$py=$player->y;
$pz=$player->z;
for($i=0;$i<360;$i++){
$sin=sin($i/180*M_PI);
$cos=cos($i/180*M_PI);
$particle=new HeartParticle(new Vector3($px+$sin*4,$py+1,$pz+$cos*4));
$player->getLevel()->addParticle($particle);
}
}
public function PortalParticle(Player $player){
$px=$player->x;
$py=$player->y;
$pz=$player->z;
for($i=0;$i<360;$i++){
$sin=sin($i/180*M_PI);
$cos=cos($i/180*M_PI);
$particle=new PortalParticle(new Vector3($px+$sin*6,$py+1,$pz+$cos*6));
$player->getLevel()->addParticle($particle);
}
}
}
Did this file decode correctly?
Original Code
<?php eval(gzinflate(base64_decode('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')));
Function Calls
| strtr | 1 |
| gzinflate | 4 |
| base64_decode | 5 |
Stats
| MD5 | ce5d100e7aa2a0c188167fcdc25f69d4 |
| Eval Count | 5 |
| Decode Time | 360 ms |