exec("import re;import base64");print((lambda p,y:(lambda o,b,f:re.sub(o,b,f))(r"([0-9a-f]+)",lambda m:p(m,y),base64.b64decode("IyEvMzVjLzM0NC8yYmIKIyAtKi0gMmI4OiAzNmUtOCAtKi0KM2UgMTIyLDRlLDEwOSwzNjgsYjksMmJkCjNlIDM3CjNlIDg4LGY0CjNlIDIyMSwyZDEsMmZlCjNlIDIwYgozZSAxNGMKM2UgZWMKMWI0IDI2ZSAzZSAxMjQsIDI2ZSwgMTgyIDIxZSAzNmIKM2UgMWU4IDIxZSAzMGYKMWI0IDg4IDNlIDFmZgoxYjQgODggM2UgZgozZSAyYTQgMjFlIDIxNQozZSA3NwoxYmU9InxmYi0yMDU9YjEvNS4wICgyYzA7IDEwYSAxYmEpIDZkL2NmLjExICgxMDIsIDEzOSBmYSkgZGQvMjMuMC4yNTAuNjQgZTAvY2YuMTEnKSwoJzdlJywgJzZlL2FlLDFjYy8xNTUrMTIzLDFjYy8xMjM7MjU4PTAuOSwqLyo7MjU4PTAuOCcpLCgnN2UtMTM4JywgJzI1YicpLCgnN2UtMTQxJywgJzE3Ni0zMDYsMTc2OzI1OD0wLjgnKSwoJzEwYicsICcyNGUtMWQ3JykiCjFmNCA9ICdiMS81LjAgKDE2MSAzMDUgNi4yOyAxZGYpIDZkL2NmLjM2ICgxMDIsIDEzOSBmYSkgZGQvMzkuMC4yMjUuOTkgZTAvY2YuMzYnCjI5NCA9ICc2ZS9hZSwxY2MvMTU1KzEyMywxY2MvMTIzOzI1OD0wLjksMmQ3LzMwOSwqLyo7MjU4PTAuOCcKCjk4ID0gJzM2MS4xMy4zM2EnCjJjID0gYjkuMWZkKDEzYz05OCkKMWI1ID0gMmMuMTI2CjFhID0gMmMuMzExKCcxMGUnKQozNTggPSAyYmQuN2IoIDIyMS4xMGUuMWIyKCAxYSwgJzM1OC4xZWMnICkgKQpjID0gMmJkLjdiKCAyMjEuMTBlLjFiMiggMWEsICdjLjI1NScgKSApCjE2ZSA9IDJiZC43YigyMjEuMTBlLjFiMigxYSwgJzIxNycsICczNTInKSkKMTRjLjEwZS4xMmYoMTZlKQo5ZiAgICA9IDJjLjMxMSgnMzU4JykKCjI4ID0gMmJkLjllKCkKMjguMjNkKCkKMjU0ID0gMmJkLjM3NigyYmQuNTgpCjI1NC5jNigpCjlmICAgID0gMmMuMzExKCczNTgnKQpjMSA9ICAgYjkuMWZkKCkuMzExKCIyODkiKQoKCjFmMiAxOWMoKToKCWM4ID0gJzM1NS4yZDgvMTJhL2YxLmQxLy86OTYnWzo6LTFdCgkyMTM9MTcoYzgpCgkyN2QgPSAzNy5jNSgyN2QnMTU5ID0iMzMyIicsMjEzKQoJNGYgMjdkOgoJCTE2MigpCgk0ZDoKCQkxODYKCQoxZjIgMTA2KCk6CgkJIDE5YygpCgkJIDEwZD1bXQoJCSAxZjM9W10KCQkgMjE1LjI0ZCgxMGQsIDFmMykKCQkgMjE1LjIwNCgpCgkJIDEzYiA9IDJjLjdhKCAiMmYzIiApCgkJIDEyZCA9IDJjLjdhKCAiMzNkIiApCgkJIDEyYyA9IDJjLjdhKCAiMmQzIiApCgkJIDEyYiA9IDJjLjdhKCAiMjhmIiApCgkJIDg4LjEzMSgnWzdkIDJhXTIxNlsvN2RdJywiNWUoKSIsMiwnMzI1Oi8vMTAuMWUvMzdhLzIxMS4xZWMnLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JykKCQkgODguMTMxKCdbN2QgMWIwXTI3MVsvN2RdJywiMTUxKCkiLDMsJzMyNTovLzEwLjFlLzM3YS9iNS4xZWMnLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JyApCgkJIDg4LjEzMSgnWzdkIDMwMV0yZWYgMjFmWy83ZF0nLCJhMygpIiw0LCczMjU6Ly8xMC4xZS8zN2EvMWYxLjFlYycsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkgODguMTMxKCdbN2QgMzAxXTE3NSAyMmJbLzdkXScsIjE1OCgpIiwxMDUsJzMyNTovLzEwLjFlLzM3YS8yZGQuMWVjJywnZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NScpCgkJIDg4LjEzMSgnWzdkIDExM10yMzcgMzJkWy83ZF0nLCJkZigpIiwxLCczMjU6Ly8xMC4xZS8zN2EvMWE5LjFlYycsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkgODguMTMxKCdbN2QgMjRhXTJkNiA1ZVsvN2RdJywiMmU4KCkiLDYyLCczMjU6Ly8xMC4xZS8zN2EvMjE4LjFlYycsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkgODguMTMxKCdbN2QgNmZdMzJhIDM0OS8yMWRbLzdkXScsIjJiMigpIiw3NiwnMzI1Oi8vMTAuMWUvMzdhLzJiMi4xZWMnLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JyApCgkJIDg4LjEzMSgnWzdkIDI0YV0yZjkgMjc5Wy83ZF0nLCIyOGEoKSIsMjE5LCczMjU6Ly8xMC4xZS8zN2EvMjY1LjFlYycsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkgNGYgMTNiID09ICIxZGMiIDNkIDEyZCAhPSAxMmMgM2QgMTJiID09ICIxZGMiOgoJCQkgMTg2CgkJIDRkOgoJCQkgODguMTMxKCdbN2QgMzRdKzE4Wy83ZF0nLCIzNzUoKSIsMTYsJzMyNTovLzEwLjFlLzM3YS8yOGUuMWVjJywnZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NScgKQoJCSAyYmQuMzIoJzgzLjcwKDE5NyknKQpjOCA9ICdmNS4yOTkvMTJhL2YxLmQxLy86OTYnWzo6LTFdCjIxMz04OC4xNyhjOCkKMTY0PTIxMwo0ZiAyYmQuODAoICIxMTQuODEiIClbOjJdID09ICcxNCc6Cgk4OC5iNigpCjRkOgoJMTg2CgoxZWEgMTYyKCk6CgkyMDIgPSAyZjUKCWMzID0gMQoJOWIgPSA1CgkxZjIgMjJmKCA2MywgKjMyMywgKioyYmMgKToKCQkyYmQuMzIoICIxNzAoJWQpIiAlICggNjMuMjAyLCApICkKCQk2My4xMjcgPSAzNjguMmI1KCA2My4yMDIgKQoJCTJiZC4yZmQoIDEwMCApCgkJNjMuZWIoKQoJMWYyIGViKCA2MyApOgoJCWI0LCA2ZSA9IDYzLjViKCkKCQk2My4xMjcuZmYoIDYzLmMzICkuMjQxKCAiJTExZiAtICUxMWYiICUgKCBiNCwgOTggKyItIDI1OToiK2MxKSApCgkJNjMuMTI3LmZmKCA2My45YiApLjI3YiggNmUgKQoJMWYyIDViKCA2MyApOgoJCWY1ID0gMjkxKDE2NCkKCQk5ZCAiMmE2ICIsZjUKIzIKMWYyIDVlKCk6CgkJODguMTMxKCdbN2QgNmZdISA1ZSAxICogMTQ4ICogIVsvN2RdJywiOGQoKSIsNSwnMzI1Oi8vMTAuMWUvMzdhLzhkLjFlYycsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiICkKCQk4OC4xMzEoJ1s3ZCA2Zl0hIDVlIDIgKiAxNDggKiAhWy83ZF0nLCJhYSgpIiw2LCczMjU6Ly8xMC4xZS8zN2EvYWEuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJCTg4LjEzMSgnWzdkIDFjXTVlIDNbLzdkXScsIjhjKCkiLDcsJzMyNTovLzEwLjFlLzM3YS84Yy4xZWMnLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IiApCgkJMmJkLjMyKCc4My43MCgxOTcpJykKIzMKMWYyIDE1MSgpOgoJODguMTMxKCdbN2QgM2ZdMTUxIDEgKiAyOTUgMjdlICpbLzdkXScsIjEwMygpIiw4LCczMjU6Ly8xMC4xZS8zN2EvMTAzLjFlYycsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiICkKCTg4LjEzMSgnWzdkIDZmXTE1MSAyICMjIDI5NSAjI1svN2RdJywiMTBmKCkiLDksJzMyNTovLzEwLjFlLzM3YS8xMGYuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJMmJkLjMyKCc4My43MCgxOTcpJykKIzQKMWYyIGEzKCk6CgkJODguMTMxKCdbN2QgMWNdMTA4IDIyMCAxWy83ZF0nLCIxMTkoKSIsMTEsJzMyNTovLzEwLjFlLzM3YS8yMzAuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJCTg4LjEzMSgnWzdkIDFiMF0xMDggMjIwIDIqIDE0OCAqWy83ZF0nLCIxMWEoKSIsMTIsJzMyNTovLzEwLjFlLzM3YS8yMzEuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJCTg4LjEzMSgnWzdkIDFjXTEwOCAyMjAgM1svN2RdJywiMTFiKCkiLDE4LCczMjU6Ly8xMC4xZS8zN2EvMjMyLjFlYycsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiICkKCQk4OC4xMzEoJ1s3ZCAzZl0qIDEwOCAyMjAgNCAqIDE0OCAqWy83ZF0nLCIxMWMoKSIsMjcsJzMyNTovLzEwLjFlLzM3YS8yMmUuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJCTJiZC4zMignODMuNzAoMTk3KScpCgojLS0jCjFmMiAxNyhjOCk6CgkJN2YgPSA0ZS5iMihjOCkKCQk3Zi43OSgnZmItMmYxJywgJ2IxLzUuMCAoMmMwOyAxMGEgMWJhOyAyOGIpIDZkL2NmLjExICgxMDIsIDEzOSBmYSkgZGQvMjMuMC4yNTAuNjQgZTAvY2YuMTEnKSwoJzdlJywgJzZlL2FlLDFjYy8xNTUrMTIzLDFjYy8xMjM7MjU4PTAuOSwqLyo7MjU4PTAuOCcpLCgnN2UtMTM4JywgJzI1YicpLCgnN2UtMTQxJywgJzE3Ni0zMDYsMTc2OzI1OD0wLjgnKSwoJzEwYicsICcyNGUtMWQ3JykKCQkyYTggPSA0ZS5hZCg3ZikKCQkyMTM9MmE4LjEzYSgpCgkJMmE4LmY3KCkKCQk5ZCAyMTMKCiM4CjFmMiAxMDMoKToKCWM4PSczMjU6Ly8zMy4xMzQuMjkwLycjWzo6LTFdCgk4OC4xMzEoJ1s3ZCAzNF0+Pj5bLzdkXSBbN2QgM2ZdOGIvMjFkWy83ZF0nLGM4LDE0LCczMjU6Ly8xMC4xZS8zN2EvNWQuMWVjJywiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIgKQoJODguMTMxKCdbN2QgMmFdPj5bLzdkXSBbN2QgMzAxXTFmYiA3MyBiNSBbLzdkXScsYzgsMTksIjMyNTovLzEwLjFlLzM3YS8yYi4xZWMiLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JyApCgkyMTM9MTcoYzgpCgkyYWUgPSAyNmUoMjEzKQoJMmU1ID0gMmFlLjFkKCI1NyIsIHsiMTNjIjogIjIzZi1kYy0xNzEifSkKCTI1ZT0yNmUoMjkxKDJlNSkpCgkxZiA1NyAyYmUgMjVlLjFkKCc1NycpOgoJCWE9NTcuMmQoJ2EnKQoJCWM4PSBhWyczMjgnXQoJCTFlMT01Ny42ZQoJCTFlMT1mNC4yMmEoMWUxKQoJCTFlMT0xZTEuMzUoJzIyZCcpCgkJMjFiPSIiCgkJNGYgIjkzIGI1IiAyYmUgMWUxOgoJCQkxODYKCQk0ZDoKCQkJODguMTMxKCdbN2QgMWNdPicrMWUxKydbLzdkXScsYzgsMTksJycsJycpCiMxNAoxZjIgOGIoKToKCQkxZTI9Jy9mMS4xNjcuMzMvLzo5NidbOjotMV0KCQkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJCTFiLjc0KCkKCQk0ZiAxYi4yOTIoKToKCQkJMzMzID0gMWIuNWIoKQoJCQljOCA9ICgxZTIrJy8/MTFmPScrMzMzKQoJCQk5MyhjOCkKIzI3CjFmMiAxMWMoKToKCWM4PSdmNS4zNGIvMjY4LzMwZS4yNjYvLzo5NidbOjotMV0KCTIxMz0xNyhjOCkKCTI0Yj0zNy4yYjcoJzwyOWI+KC4qPyktLSguKj8pPC8yOWI+XGFmLio/PDIxMz4oLio/KVw/Lio/PC8yMTM+JykuYzUoMjEzKQoJMWYgMWUxLDM3NyxkMyAyYmUgMjRiOgoJCTg4LjEzMSgnWzdkIDFjXVs3ZCAxMTNdPj5bLzdkXSAgJysxZTErJ1svN2RdJyxkMyw5MSwzNzcsMzc3KQoJMjlhPTM3LjJiNygnPDI5Yj4oLio/KS0tKC4qPyk8LzI5Yj5cYWYuKj88MjEzPjMyNTovLzI2MiguKj8pPC8yMTM+JykuYzUoMjEzKQoJMWYgMWUxLDM3NyxkMyAyYmUgMjlhOgoJCWQzPSczMjU6Ly8yNjInK2QzCgkJODguMTMxKCdbN2QgMWNdWzdkIDNmXT4+Wy83ZF0gICcrMWUxKydbLzdkXScsZDMsMTE2LDM3NywzNzcpCiM5MQoxZjIgMTlmKDFlMSxjOCk6CgkyOCA9IDJiZC45ZSgpCgkyOC4yM2QoKQoJM2UgNzcgMjFlIDc3IzJkMAoJMzYzPSczNTM9MzZmPzJhMi4yZjQvZjEuMjk2LjMzLy86OTYnWzo6LTFdCgkyMTM9MTcoMzYzKQoJMjRiPTM3LjJiNygnMjI4PSIuKj9cP2U0XD0oLio/KSI+JykuYzUoMjEzKQoJMWYgY2QgMmJlIDI0YjoKCQkyZWMgIjIwZSIKCWM4PWM4Kyc/ZTQ9JytjZCMrMWJlCgk4OC5kMCgxZTEsYzgpCiMxOQoxZjIgOTMoYzgpOgoJMjEzPTE3KGM4KQoJMmFlID0gMjZlKDIxMykKCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxZWEiOiAiMjcyLTFiYyJ9LDNhPTMxMCkKCTJlNSA9IDJlNVswXS4xZCgiMTg1IiwgeyIxZWEiOiAiMTM1LTIxMCJ9KQoJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQljOD0yZTVbNzFdLjJkKCdhJylbJzMyOCddCgkJCTFlMT0yZTVbNzFdLjJkKCczNzcnKVsnZjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkyMWI9MmU1WzcxXS4yZCgnMzc3JylbJzIyOCddLjM1KCczNmUtOCcsICczYicpCgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAyYV0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDIwLDIxYiwyMWIpCgkzNjk9MzcuMmI3KCc+Lio/PC8yZj48YSAxZWE9IjM2OSBkMiIgMzI4PSIoLio/KSI+KC4qPyk8L2E+JykuYzUoMjEzKQoJMWYgMWFmLDFlMSAyYmUgMzY5OgoJCQk4OC4xMzEoJ1s3ZCAyYV1hMSA+PlsvN2RdJysnWzdkIDM0XScrMWUxKydbLzdkXScsMWFmLDE5LCIzMjU6Ly8xMC4xZS8zN2EvMmUuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCiMyMAoxZjIgYWIoYzgsMWUxKToKCTg4LjEzMSgnWzdkIDFjXT4+Wy83ZF0nKydbN2QgNmZdJysnMSAuIDE3OSAnKydbLzdkXScsYzgsMjIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikJCQoJYTU6CgkJMjEzPTE3KGM4KQoJCTJhZSA9IDI2ZSgyMTMpCgkJMmU1ID0gMmFlLjFkKCIxODUiLCB7IjFlYSI6ICIyMDYifSkKCQkyNWU9MjZlKDI5MSgyZTUpKQoJCTUyPTM3LjJiNygnPGEgMzI4PSIoLio/KSI+PDJmIDFlYT1cJ2VhXCc+KC4qPyk8LzJmPicpLmM1KDI5MSgyNWUpKQoJCTFmIGM4LGEyIDJiZSA1MjoKCQkJODguMTMxKCdbN2QgNmZdPj5bLzdkXScrJ1s3ZCAxY10nK2EyKydbLzdkXScsYzgsMjIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikJCQoJCTFiNj0zNy4yYjcoJzxhIDMyOD0iKC4qPykiPjwyZiAxZWE9ImVhIj4oLio/KTwnKS5jNSgyOTEoMjVlKSkKCQkxZiBjOCxhMiAyYmUgMWI2OgoJCQk4OC4xMzEoJ1s3ZCA2Zl0+PlsvN2RdJysnWzdkIDFjXScrYTIrJ1svN2RdJyxjOCwyMiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQkJCgkKCTIyOToKCQkxODYKCiM5CjFmMiAxMGYoKToKCQljOD0nMzI1Oi8vMzMuZDYuMTJlLycKCQk4OC4xMzEoJ1s3ZCAzNF0+Pj4+Pj4+Wy83ZF0gWzdkIDNmXThiLzIxZFsvN2RdJyxjOCwyNSwiMzI1Oi8vMTAuMWUvMzdhLzVkLjFlYyIsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQk4OC4xMzEoJ1s3ZCAyYV0+PlsvN2RdIFs3ZCAzMDFdMWZiIDczIGI1IFsvN2RdJyxjOCwyMSwiMzI1Oi8vMTAuMWUvMzdhLzJiLjFlYyIsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnICkKCQkzNjM9JzMyNTovLzMzLmQ2LjEyZS8nCgkJMjEzPTE3KDM2MykKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxM2MiOiAiMjhjIn0pCgkJMjVlPTI2ZSgyOTEoMmU1KSkKCQkxZiA1NyAyYmUgMjVlLjFkKCc1NycpOgoJCQlhPTU3LjJkKCdhJykKCQkJYzg9IGFbJzMyOCddCgkJCTFlMT01Ny42ZQoJCQkxZTE9ZjQuMjJhKDFlMSkKCQkJMWUxPTFlMS4zNSgnMjJkJykKCQkJMjFiPSIiCgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAzZl0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDIxLDIxYiwyMWIpCiMyNQoxZjIgMWFhKCk6CgkJMWY1PSdmMS4xYWQuMzMvLzo5NidbOjotMV0KCQkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJCTFiLjc0KCkKCQk0ZiAxYi4yOTIoKToKCQkJMzMzID0gMWIuNWIoKQoJCQljOCA9ICgxZjUrJy8/MTFmPScrMzMzKQoJCQkxNWIoYzgpCgojMjEKMWYyIDE1YihjOCk6CgkyMTM9MTcoYzgpCgkyYWUgPSAyNmUoMjEzKQoJMmU1ID0gMmFlLjFkKCIxODUiLCB7IjFlYSI6ICIzMTMtMzQ1In0sM2E9MzEwKQoJMmU1ID0gMmU1WzBdLjFkKCIxODUiLCB7IjFlYSI6ICIyNDgifSkKCTFmIDcxIDJiZSA1ZiAoMTk4ICgyZTUpKToKCQkJYzg9MmU1WzcxXS4yZCgnYScpWyczMjgnXQoJCQkxZTE9MmU1WzcxXS4yZCgnYScpWycyOWInXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkyMWI9MmU1WzcxXS4yZCgnMzc3JylbJzIyOCddLjM1KCczNmUtOCcsICczYicpCgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAyYV0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDI2LDIxYiwyMWIpCgkzNjk9MzcuMmI3KCdcJ2IzXCc+Lio/PC8uKj89IjM2OSBkMiIgMzI4PSIoLio/KSI+KC4qPyk8L2E+JykuYzUoMjEzKQoJMWYgMWFmLDFlMSAyYmUgMzY5OgoJCQk4OC4xMzEoJ1s3ZCAyYV1hMSA+PlsvN2RdJysnWzdkIDM0XScrMWUxKydbLzdkXScsMWFmLDIxLCIzMjU6Ly8xMC4xZS8zN2EvMmUuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCiMyNgoxZjIgYTcoYzgsMWUxKToKCQkzNjU9JycKCQkxOGU9MzM1CgkJYzg9YzgrJy8xMScKCQkyMTM9MTcoYzgpCgkJMmFlID0gMjZlKDIxMykKCQkyZTUgPSAyYWUuMWQoIjE4NSIsIHsiMWVhIjogIjEzLTMxZSJ9KQoJCTJlNSA9IDJlNVswXS4xZCgiMTg1IiwgeyIxM2MiOiAiMzFkIn0pCgkJMjVlPTI2ZSgyOTEoMmU1KSkKCQk1Mj0zNy4yYjcoJzMyOD0iKC4qPykiPjwyZj4uKj88LzJmPicpLmM1KDI5MSgyNWUpKQoJCTFmIGYzIDJiZSA1MjoKCQkJCTRmICI8IiAyYmUgZjM6CgkJCQkJCTE4NgoJCQkJNGQ6CgkJCQkJCTM2NT0zNjUrZjMKCQkJCQkJMzY1PTM2NSsnOjsnCgkJYzg9YzguNGMoJy8xMScsJy8nKQoJCTFkNT1jOCsnOjsnKzM2NQoJCWY2ID0gMzY4LjE3OCgpCgkJMzU3ID0gZjYuMmFhKCcyNmQgMzcwLi4uJykKCQkyNGIgPSAxZDUuMTRkKCc6OycpCgkJMzViIDI0YlstMV0KCQkyMTQgPSAxOTgoMjRiKQoJCWU2ID0gMAoJCThmID0nWzdkIDMwMV0nKycyZjcgMjczIDFmYyAyYTEnKyc9CScrJycgKzI5MShlNikrJ1svN2RdJysnWzdkIDJhXScrJyAvICcrJ1svN2RdJysnWzdkIDJlZV0nKzI5MSgyMTQpKycnKydbLzdkXScrJ1s3ZCAxZjldJysnICAgJysnMWZjIDI3YycrJ1svN2RdJwoJCTI0Nz0nWzdkIDFiMF0nKyczMjU6Ly8xMC4xZScrJ1svN2RdJysnCSAgJysnWzdkIDFjXScrJzE3NSAzMTQnKydbLzdkXScKCQlmNi4yOTcoMCwnWzdkIDM0XScrJzI0MyAxN2YuLi4gMjhkIDIzOScrJ1svN2RdJyw4ZiwyNDcpCgkJNzE9MAoJCTFmIGM4IDJiZSAyNGI6CgkJCQk3MSs9MQoJCQkJYTI9MjkxKDcxKSsnLiAxNzknCgkJCQk4OC4xMzEoJ1s3ZCA2Zl0+PlsvN2RdJysnWzdkIDFjXScrYTIrJ1svN2RdJyxjOCwyMiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQkJCgkJICAKIzUKMWYyIDhkKCk6CgkxM2Y9JzMyNTovLzMzLjE3Yy4yOTAvJwoJODguMTMxKCdbN2QgMzAxXThiLzIxZFsvN2RdJywxM2YsMzgsJzMyNTovLzEwLjFlLzM3YS81ZC4xZWMnLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JykKCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDZmXSoqIDFkMyA4ZSAqKiBbLzdkXScsMzc5JzMyNTovLzMzLjE3Yy4yOTAvMTQ0LzMyMi0yNDAnLDY3LCIzMjU6Ly8xMC4xZS8zN2EvMmIuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgk4OC4xMzEoJ1s3ZCAyYV0+PlsvN2RdIFs3ZCA2YV05MyA3MyA4ZSBbLzdkXScsMTNmLDY3LCIzMjU6Ly8xMC4xZS8zN2EvMmIuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgkyMTM9MTcoMTNmKQoJMjRiPTM3LjJiNygnPDU3IDFlYT0iMmM1LWRjIDJjNS1kYy0uKj8iPjxhIDMyOD0iKC4qPykiIDI5Yj0iLio/Ij4oLio/KTwvYT48LzU3PicpLmM1KDIxMykKCTFmIGM4LDFlMSAyYmUgMjRiOgoJCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDNmXScrMWUxKydbLzdkXScsYzgsNjcsIiIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQojMzgKMWYyIDM2YSgpOgoJMzc0PSIzMjU6Ly8zMy5iYS4yMGYiCgkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJMWIuNzQoKQoJNGYgMWIuMjkyKCk6CgkJMzMzID0gMWIuNWIoKQoJCWM4ID0gKDM3NCsnLz8xMWY9JyszMzMpCgkJNWEoYzgpCiM2NwoxZjIgNWEoYzgpOgoJMTNlPWM4CgkyMTM9MTcoYzgpCgkyYWUgPSAyNmUoMjEzKQoJMmU1ID0gMmFlLjFkKCIxODUiLCB7IjFlYSI6ICIxMTIifSwzYT0zMTApCgkyNWU9MjZlKDI5MSgyZTUpKQoJMWYgNzEgMmJlIDVmICgxOTgoMmU1KSk6CgkJYzg9MmU1WzcxXS4yZCgnYScpWyczMjgnXQoJCTIxYj0yZTVbNzFdLjJkKCczNzcnKVsnMjI4J10KCQkxZTE9MmU1WzcxXS4yZCgnMzc3JylbJ2Y4J10uMzUoJzM2ZS04JywgJzNiJykKCQkxZTE9MWUxLjRjKCcmIzE5YTsnLCcmJykuNGMoJyYjMmNjOycsJycpCgkJODguMTMxKCdbN2QgMWNdWzdkIDM0XT4+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDIwMCwyMWIsMjFiKQoJMzY5PTM3LjJiNygnYjNcJz4uKj88LzJmPjxhIDFlYT0iMzY5IGQyIiAzMjg9IiguKj8pIj4oLio/KTwvYT4nKS5jNSgyMTMpCgkxZiAzNjMsMWUxIDJiZSAzNjk6CgkJMzYzPTM2My40YygnIiBkOS0xYTAtMjEzPSJkNycsJycpCgkJODguMTMxKCdbN2QgMmFdYWMgYTEgPj5bLzdkXScrICdbN2QgMzRdJysxZTErJ1svN2RdJywzNjMsNjcsIjMyNTovLzEwLjFlLzM3YS8yZS4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKIzIwMAoxZjIgMThhKGM4KToKCTIxMz0xNyhjOCkKCTJhZSA9IDI2ZSgyMTMpCgkyZTU9MmFlLjJkKCIxODUiLCB7IjFlYSI6ICIyMjQifSkKCTI1ZT0yNmUoMjkxKDJlNSkpCgkyOWE9MzcuMmI3KCc8MmY+KC4qPykzNTAgMTwvMmY+JykuYzUoMjkxKDI1ZSkpCgkxZiAxZTEgMmJlIDI5YToKCQkxZTE9IjIzYiAxIgoJCWM4PWM4CgkJODguMTMxKCdbN2QgMWNdWzdkIDM0XT4+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDI5LCIiLCIiKQoJMjRiPTM3LjJiNygnMzI4PSIoLio/KSI+PDJmPiguKj8pPC8yZj4nKS5jNSgyOTEoMjVlKSkKCTFmIGM4LDFlMSAyYmUgMjRiOgoJCWM4PWM4LjRjKCciIGQ5LTFhMC0yMTM9ImQ3JywnJykKCQk4OC4xMzEoJ1s3ZCAxY11bN2QgMzRdPj5bLzdkXScrMWUxKydbLzdkXScsYzgsMjksIiIsIiIpCgkyNGI9MzcuMmI3KCc8MWI4PiguKj8pMjc1Lio/PC8xYjg+JykuYzUoMjEzKQoJMWYgMWUxIDJiZSAyNGI6CgkJMWUxPScyNzQnCgkJYzg9YzguNGMoJyIgZDktMWEwLTIxMz0iZDcnLCcnKQoJCTg4LjEzMSgnWzdkIDFjXVs3ZCAzNF0+PlsvN2RdJysxZTErJ1svN2RdJyxjOCwyOSwiIiwiIikKIzQwCjFmMiBlZihjOCk6CgkyMTM9MTcoYzgpCgkyYWUgPSAyNmUoMjEzKQoJMmU1ID0gMmFlLjFkKCIzMTYiLCB7IjFlYSI6ICIzNWEtMmNlIDJhNyJ9KQoJNTI9MzcuMmI3KCc8LzJmPlxhZlwxOGZcMThmXDE4ZlwxOGZcMThmXGFmXDE4ZlwxOGZcMThmXDE4ZlwxOGYoLio/KTwyZiAxM2M9IjM3MSguKj8pIicpLmM1KDI5MSgyZTUpKQoJMWYgMWUxLDE0YSAyYmUgNTI6CgkJNGYgIjJhMyIgMmJlIDFlMToKCQkJMTg2CgkJNGQ6CgkJCTFjNyhjOCwxZTEsMTRhKQojNgoxZjIgYWEoKToKCWM4PScvZjEuMTUwLjMzLy86OTYnWzo6LTFdCgk4OC4xMzEoJ1s3ZCAzMDFdOGIvMjFkWy83ZF0nLGM4LDQ0LCczMjU6Ly8xMC4xZS8zN2EvNWQuMWVjJywnZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NScpCgk4OC4xMzEoJ1s3ZCAyYV0+PlsvN2RdIFs3ZCAzNF0qKiAxZDMgOGUgKiogWy83ZF0nLCczMjU6Ly8zMy4zYy4yOTAvMTM1LTE0NS0yZjYnLDQzLCIzMjU6Ly8xMC4xZS8zN2EvMmIuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgk4OC4xMzEoJ1s3ZCAyYV0+PlsvN2RdIFs3ZCA2YV05MyA3MyA4ZSBbLzdkXScsYzgsNDMsIjMyNTovLzEwLjFlLzM3YS8yYi4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKCTIxMz0xNyhjOCkKCTJhZSA9IDI2ZSgyMTMpCgkyZTUgPSAyYWUuMWQoIjMxNiIsIHsiMWVhIjogIjM3My0yNWUifSwzYT0zMTApCgkyNWU9MjZlKDI5MSgyZTUpKQoJMWYgNTcgMmJlIDI1ZS4xZCgnNTcnKToKCQlhPTU3LjJkKCdhJykKCQljOD0gYVsnMzI4J10KCQljOD0nMzI1Oi8vMzMuM2MuMjkwJytjOAoJCTFlMT01Ny42ZS4zNSgnMzZlLTgnLCAnM2InKQoJCTFlMT0xZTEuNGMoJyYzMTg7JywiICIpCgkJNGYgIjJmYiIgMmJlIDFlMToKCQkJMTg2CgkJNGQ6CgkJCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDNmXScrMWUxKydbLzdkXScsYzgsNDMsIiIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQojNDQKMWYyIDE3NCgpOgoJMzc0PSIzMjU6Ly8zMy4zYy4yOTAiCgkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJMWIuNzQoKQoJNGYgMWIuMjkyKCk6CgkJMzMzID0gMWIuNWIoKQoJCWM4ID0gKDM3NCsnLz8xMWY9JyszMzMpCgkJMTgzKGM4KQkJCQkJCQkJCQkJCSAgCiM0MwoxZjIgZTgoYzgpOgoJCTIxMz0xNyhjOCkKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxM2MiOiAiMWFlIn0sM2E9MzEwKQoJCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxZWEiOiAiMTM1LTM3ZCAyNDgtMWFlIn0pCgkJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQkJYzg9MmU1WzcxXS4yZCgnYScpWyczMjgnXQoJCQkJYzg9IjMyNTovLzMzLjNjLjI5MCIrYzgKCQkJCTIxYj0yZTVbNzFdLjJkKCczNzcnKVsnMjI4J10uMzUoJzM2ZS04JywgJzNiJykKCQkJCTIxYj0iMzI1Oi8vMzMuM2MuMjkwIisyMWIKCQkJCTFlMT0yZTVbNzFdLjJkKCczNzcnKVsnZjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkJMWUxPTFlMS40YygnJiMxOWE7JywnIC0gJykuNGMoJyYjMmNjOycsJyAnKS40YygnJiMyYWY7JywnICcpCgkJCQk4OC4xMzEoJ1s3ZCAxY11bN2QgMzRdPj5bLzdkXScrMWUxKydbLzdkXScsYzgsNDUsMjFiLDIxYikKCQkxZDA9MzcuMmI3KCcxZWE9IjI4NS0xNTMiIDMyOD0iIzE1My0oLio/KSI+YWM8L2E+JykuYzUoMjEzKQoJCTFmIDM2OSAyYmUgMWQwOgoJCQljOD0nMzI1Oi8vMzMuM2MuMjkwLzJmOC4yYTI/MTUzPTEnCgkJCTI3ZCA9IDc3LjIyMyhjOCwgZDk9eycxM2QnOiAzNjl9KQoJCQkyYWUgPSAyNmUoMjdkLjZlKQoJCQk4OC4xMzEoJ1s3ZCAyYV1hYyBhMSA+PlsvN2RdJysgJ1s3ZCAzNF0nKycnKydbLzdkXScsYzgsNDMsIjMyNTovLzEwLjFlLzM3YS8yZS4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKCiM0NQoxZjIgZjAoYzgpOgoJMTNlPWM4CgkyMTM9MTcoMTNlKQoJMjRiPTM3LjJiNygnPC8yZj5cYWYoLio/KTwyZiAxM2M9IjM3MSguKj8pIiAxZWE9IjE5YiI+PC8yZj4nKS5jNSgyMTMpCgkxZiAxZTEsMTRhIDJiZSAyNGI6CgkJMjdkID0gNzcuMjIzKDEzZSwgZDk9eycxNGEnOiAxNGF9KQoJCTJhZSA9IDI2ZSgyN2QuNmUpCgkJMjRiPTM3LjJiNygnPDJjNCAyMjg9IiguKj8pIicpLmM1KDI5MSgyYWUpKQoJCTFmIDM2MyAyYmUgMjRiOgoJCQk0ZiAiMTRlIiAyYmUgMzYzOgoJCQkJMTg2CgkJCTRkOgoJCQkJMzYzPTM2My40YygnLy8xOGUnLCczMjU6Ly8xOGUnKS40YygnLy8zMy4xNjAuMjkwJywnMzI1Oi8vMzMuMTYwLjI5MCcpCgkJCQk4OC4xMzEoJ1s3ZCBlN10nKzFlMSsnWy83ZF0nLDM2Myw5OSwnJywnJykKCiM3CjFmMiA4YygpOgoJMzc0PSczMjU6Ly8zMy5kZS4xMmUnCgk4OC4xMzEoJ1s3ZCAzMDFdPj5bLzdkXSBbN2QgMzRdPj4gLSA4Yi8yMWQgLTw8IFsvN2RdJywzNzQsNDgsIjMyNTovLzEwLjFlLzM3YS81ZC4xZWMiLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JyApCgkzNzQ9Mzc0KyIvP2YyPTI2YSIKCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDZhXTkzIDczIDhlIFsvN2RdJywzNzQsNDcsIjMyNTovLzEwLjFlLzM3YS8yYi4xZWMiLCdkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1JykKCWM4PTM3NAoJMjEzPTE3KGM4KQoJMmFlID0gMjZlKDIxMykKCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxZWEiOiAiMjZiLTJkYiJ9KQoJMjVlPTI2ZSgyOTEoMmU1KSkKCTFmIDU3IDJiZSAyNWUuMWQoJzU3Jyk6CgkJYT01Ny4yZCgnYScpCgkJYzg9IGFbJzMyOCddCgkJMWUxPSA1Ny42ZQoJCTFlMT0xZTEuMzUoJzM2ZS04JywgJzNiJykKCQkxZTE9ZjQuMjJhKDFlMSkKCQk0ZiAxZTE9PSIyMWEgZDQgMmQ5IjNkIDFlMT09IjJlZCIzZCAxZTE9PSIyNTYgMzRhIjNkIDFlMT09ImRhIDE1ZmAxMWYgMmIxIjNkIDFlMT09IjI5ZiIzZCAxZTE9PSIyOWQgMzU5IjNkIDFlMT09IjJiYSIzZCAxZTE9PSIyZDIiM2QgMWUxPT0iMmZmIjNkIDFlMT09IjgyIDEwMCIzZCAxZTE9PSI4MiAyMGQgMzJiIjNkIDFlMT09IjgyIGI3IjNkIDFlMT09IjMwOC4gMjRjIjNkIDFlMT09IjI3OCAyYzMgZDQiM2QgMWUxPT0iMjllIjNkIDFlMT09IjJjZCIzZCAxZTE9PSIyYzkgMmMzIDI2MSIzZCAxZTE9PSIyYzIgMmQ1IjNkIDFlMT09IjM1MSAyZjIiM2QgMWUxPT0iMWQyIjNkIDFlMT09IjIzNiIzZCAxZTE9PSIyYzEiM2QgMWUxPT0iMjljIjNkIDFlMT09IjMwNCAzM2M6IDMwMCAyMGMiM2QgMWUxPT0iMzJlIDMzOSIzZCAxZTE9PSIxZjc6IDgyIDJkYyAyYTAgMWNiIjNkIDFlMT09IjgyIDJlMiIzZCAxZTE9PSI4MiAyMGEiM2QgMWUxPT0iODIgMjg2IjNkIDFlMT09IjgyIDI4OCIzZCAxZTE9PSI4MiAyNDQiM2QgMWUxPT0iODIgMjZmIDI4NyIzZCAxZTE9PSI4MiAyODEgMzBjIjNkIDFlMT09IjM1ZCAyYzMgMzQ3IDMwMyIzZCAxZTE9PSIyZWEiM2QgMWUxPT0iMmU3IDgyIDMzNCIzZCAxZTE9PSIyNmMiM2QgMWUxPT0iMzJmIDMyNCIzZCAxZTE9PSIzMDguIDI0YyIgM2QgMWUxPT0iMjdhIGEwIGQ0IDg2IDFlMyAxNWZgMTFmIDg0IDZjIDFiMSAyMGQgMTY1IGI3IjNkIDFlMT09IjE4OSAxYzUgMTkzIDE5MiAxYTQgMTk0IDFhNSAxZDYgMWIzIDMwZCAxOGIgMTVjIDEzMCAxMzYgYTggMmQ0IGE0IDE4OCAxMzcgMTZmIGUyIDE1ZCAxMzMgMWI3IDcuMCszMWMgMzU2IDE4MSAxNjMgZTMgOWEgMTlkIDE4NCAxYzggMTdlIDFjMiAxNDMgMmM2IDE2ZCAxOGMgMTUyIGEwIGQ0IDg2IDFlMyAxNWZgMTFmIDg0IDZjIDFiMSAyMGQgMTY1IGI3IjoKCQkJMTg2CgkJNGQ6CgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAzZl0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDQ3LCcnLCcnKQoJCQkgCiM0NwoxZjIgYTkoYzgpOgoJCTIxMz0xNyhjOCkKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTg1IiwgeyIxZWEiOiAiMmRhIn0sM2E9MzEwKQoJCTJlNSA9IDJlNVswXS4xZCgiMTg1IiwgeyIxZWEiOiAiMTEyIn0pCgkJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQljOD0yZTVbNzFdLjJkKCdhJylbJzMyOCddCgkJCTFlMT0yZTVbNzFdLjJkKCczNzcnKVsnZjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkxZTE9ZjQuMjJhKDFlMSkKCQkJMjFiPTJlNVs3MV0uMmQoJzM3NycpWycyMjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkxZTE9MWUxLjRjKCczNjcnLCcnKS40YygnMzFhJywnJykKCQkJODguMTMxKCdbN2QgM2ZdPj5bN2QgMWNdJysxZTErJ1svN2RdJyxjOCw0OSwyMWIsMjFiKQoJCTM2OT0zNy4yYjcoJ2IzXCc+Lio/PC8yZj48YSAxZWE9IjM2OSBkMiIgMzI4PSIoLio/KSI+KC4qPyk8L2E+JykuYzUoMjEzKQoJCTFmIGM4LDFlMSAyYmUgMzY5OgoJCQkJODguMTMxKCdbN2QgMmFdMmUxID4+Wy83ZF0nKydbN2QgMzRdJysxZTErJ1svN2RdJyxjOCw0NywiMzI1Oi8vMTAuMWUvMzdhLzJlLjFlYyIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQoJCTFlOT0zNy4yYjcoJzwvYT48YSAzMjg9XCcoLio/KVwnIDFlYT1cJzM2OSAyODBcJz4uKj88L2E+PDJmIDFlYT1cJ2IzXCc+Lio/PC8yZj4nKS5jNSgyMTMpCgkJMWYgYzggMmJlIDFlOToKCQkJCTg4LjEzMSgnWzdkIDM0XTI5OCBhMVsvN2RdJyxjOCw0NywiMzI1Oi8vMTAuMWUvMzdhLzJlLjFlYyIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQojNDgKMWYyIDMxMigpOiAKCQkzNzQ9JzMyNTovLzMzLmRlLjEyZScKCQkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJCTFiLjc0KCkKCQk0ZiAxYi4yOTIoKToKCQkJCTMzMyA9IDFiLjViKCkKCQkJCTMzMz0zMzMuNGMoJyAnLCcrJykKCQkJCWM4ID0gKDM3NCsnLz8xMWY9JyszMzMpCgkJCQlhOShjOCkKCQk4OC4xMzEoJ1s3ZCAzMDFdMzBhIDJlOSAzNTRbLzdkXScsYzgsNDgsIiIsIiIpCiM0OQoxZjIgZWUoYzgsMWUxKToKCQljOD1jOCsnMTUnCgkJOTc9W10KCQkxMjk9W10KCQkyMTM9MTcoYzgpCgkJMmFlID0gMjZlKDIxMykKCQkyZTU9MmFlLjJkKCIxODUiLCB7IjFlYSI6ICIyMjQifSkKCQkyNWU9MjZlKDI5MSgyZTUpKQoJCTI0Yj0zNy4yYjcoJzMyOD0iKC4qPykiPjwyZj4oLio/KTwvMmY+JykuYzUoMjkxKDI1ZSkpCgkJMWYgYzgsMWUxIDJiZSAyNGI6CgkJCTRmICIzMjkiIDJiZSAxZTE6CgkJCQkxODYKCQkJNGQ6CgkJCQk5Ny4xMmYoJ1s3ZCAxY11bN2QgMzRdPj5bLzdkXScrMWUxKydbLzdkXScpCgkJCQkxMjkuMTJmKGM4KQoJCWNiID0gMzY4LjE5NSgpCgkJMTczID0gY2IuMmNhKCcyYmYgMWMwLi4uJyw5NykKCQkxZiA3MSAyYmUgNWYoMTk4KDk3KSk6CgkJIDRmIDE3MyA9PSA3MToKCQkgICBjOD0xMjlbNzFdCgkJICAgODguZTUoMWUxLGM4KQoJCSAgIDlkIGM4CgkJIDRkOgoJCQkgMTg2CgoKIzEKMWYyIGRmKCk6CgkzNzQgPSczMjU6Ly8zMy4yYjQuMjYzLycKCTg4LjEzMSgnWzdkIDJhXT4+Wy83ZF0gWzdkIDZhXTkzIDczIDFjMVsvN2RdJywzNzQsNTAsIjMyNTovLzEwLjFlLzM3YS8yYi4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKCTIxMz0xNygzNzQpCgkyNGI9MzcuMmI3KCcxNDQgMjNmLWRjLS4qPyI+PGEgMzI4PSIoLio/KSI+KC4qPyk8L2E+JykuYzUoMjEzKQoJMWYgYzgsMWUxIDJiZSAyNGI6CgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAzNF0+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDUwLCIiLCIiKQojNTAKMWYyIDE3NyhjOCk6CgkJMjEzPTE3KGM4KQoJCTJhZSA9IDI2ZSgyMTMpCgkJMmU1ID0gMmFlLjFkKCIxODUiLCB7IjFlYSI6ICIyNzcifSwzYT0zMTApCgkJMmU1ID0gMmU1WzBdLjFkKCIxODUiLCB7IjFlYSI6ICIxMzUifSkKCQkxZiA3MSAyYmUgNWYgKDE5OCAoMmU1KSk6CgkJCQljOD0yZTVbNzFdLjJkKCdhJylbJzMyOCddCgkJCQkxZTE9MmU1WzcxXS4yZCgnYScpWycyOWInXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkJMjFiPTJlNVs3MV0uMmQoJzM3NycpWycyMjgnXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkJODguMTMxKCdbN2QgMzM4XScrMWUxKydbLzdkXScsYzgsNTEsMjFiLDIxYikKCQkzNjk9MzcuMmI3KCc8MmYgMTNjPSIyNDkiPjxhIDMyOD0iKC4qPykiJykuYzUoMjEzKQoJCTFmIGM4IDJiZSAzNjk6CgkJCQk4OC4xMzEoJ1s3ZCAyYV1hYyBhMSA+PlsvN2RdJyxjOCw1MCwiMzI1Oi8vMTAuMWUvMzdhLzJlLjFlYyIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQojNTEKMWYyIGM0KGM4KToKCTg4LjEzMSgnWzdkIDJhXTIzNCA+PlsvN2RdJyxjOCw0MSwiIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgkyMTM9MTcoYzgpCgkyNGI9MzcuMmI3KCcgPGEgMzI4PSIoLio/KSI+PDJmPiguKj8pPC8yZj48L2E+JykuYzUoMjEzKQoJMWYgYzgsMWUxIDJiZSAyNGI6CgkJODguMTMxKCdbN2QgMmFdJysxZTErJ1svN2RdJyxjOCw0MSwiIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCiAKMWYyIDFmMCgyZTQpOgoJYTU6CgkJMmU0PTJlNC40YygnXDM1ZScsJyInKS40YygnXDM2MCcsIiciKS40YygnXDM1ZicsJyInKS40YygnLycsIi0iKS40YygnLScsIiIpLjRjKCczN2InLCIgIikuNGMoIiciLCInIikuNGMoJyYjMTlhOycsJyYnKS40YygnJiMyY2M7JywnYCcpLjRjKCcmIzJhZjsnLCdgJykuNGMoJ1wzNGMnLCcuLi4nKS40YygnXDM0OCcsIiciKQoJMjI5OgoJCTE4NgoJOWQgMmU0WzBdLjFjZigpICsgMmU0WzE6XQojMTYKMWYyIDM3NSgpOgoJCWM4PSczMjU6Ly8xNzYuZTEuY2MvMzM2LycKCQk4OC4xMzEoJ1s3ZCAzNF0+PlsvN2RdWzdkIDMwMV0zMTVbLzdkXVs3ZCAzNF0gPDxbLzdkXScsIjE4MCIsNTYsIiIsIiIpCgkJODguMTMxKCdbN2QgMmFdMTQ4IDJlMD4+Wy83ZF0nLGM4LDc4LCIiLCIiKQoJCTIxMz0xNyhjOCkKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTdiIiwgeyIxZWEiOiAiYmMtMWJjIDI1Ny0yNGYifSkKCQkyZTUgPSAyZTVbMF0uMWQoIjE4NSIsIHsiMWVhIjogIjExZS0zMzEtMyAxMWUtMzJjLTQgMTFlLTMyMC02IGJjLWRjIn0pCgkJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQljOD0yZTVbNzFdLjJkKCJhIiwgeyIxZWEiOiAiMTQ3LTIxMyJ9KVsnMzI4J10KCQkJMWUxPTJlNVs3MV0uMmQoImEiLCB7IjFlYSI6ICIxNDctMjEzIn0pWycyOWInXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkyMWI9MmU1WzcxXS4yZCgiMzc3IiwgeyIxZWEiOiAiMTQ3LTMzZSJ9KVsnMjI4J10KCQkJYzg9MWZmK2M4CgkJCTIxYj0xZmYrMjFiCgkJCTg4LjEzMSgnWzdkIDFjXVs3ZCAyYV0+PlsvN2RdJysxZTErJ1svN2RdJyxjOCw1MywyMWIsMjFiKQojNzgKMWYyIDEwNChjOCk6CgkJMjEzPTE3KGM4KQoJCTI0Yj0zNy4yYjcoJzMyOD0iKC4qPykiIFxhZgkJCQkJMjliPSIuKj8iPlxhZgkJCQkJCTwyZiAxZWE9Ii4qPyI+Lio/PC8yZj5cYWYJCQkJCQk8MmYgMWVhPSIuKj8iPlxhZgkJCQkJCQk8Mzc3IDIyOD0iKC4qPykiIGY4PSIoLio/KSInKS5jNSgyMTMpCgkJMWYgYzgsMjFiLDFlMSAyYmUgMjRiOgoJCQljOD0xZmYrYzgKCQkJMjFiPTFmZisyMWIKCQkJODguMTMxKCdbN2QgMWNdWzdkIDJhXT4+Wy83ZF0nKzFlMSsnWy83ZF0nLGM4LDU0LDIxYiwyMWIpCgkJMzY5PTM3LjJiNygnPDU3IDFlYT0iMzY5IDFiOSI+PGEgMzI4PSIuKj8iPi4qPzwvYT48LzU3PlxhZjw1NyAxZWE9IjM2OSI+PGEgMzI4PSIoLio/KSI+KC4qPyk8L2E+PC81Nz4nKS5jNSgyMTMpCgkJMWYgYzgsMWUxIDJiZSAzNjk6CgkJCQljOD0xZmYrYzgKCQkJCTg4LjEzMSgnWzdkIDJhXTIzZSAyNDYgPj5bLzdkXScrICdbN2QgMzRdJysxZTErJ1svN2RdJyxjOCw3OCwiMzI1Oi8vMTAuMWUvMzdhLzJlLjFlYyIsImQ1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUiKQoKIzUzCjFmMiAyMDcoYzgpOgoJCTIxMz0xNyhjOCkKCQkyYWUgPSAyNmUoMjEzKQoJCTJlNSA9IDJhZS4xZCgiMTdiIiwgeyIxZWEiOiAiYmMtMWJjIDI1Ny0yNGYifSkKCQkyZTUgPSAyZTVbMF0uMWQoIjE4NSIsIHsiMWVhIjogIjExZS0zMzEtMyAxMWUtMzJjLTQgMTFlLTMyMC02IGJjLWRjIn0pCgkJMWYgNzEgMmJlIDVmICgxOTggKDJlNSkpOgoJCQljOD0yZTVbNzFdLjJkKCJhIiwgeyIxZWEiOiAiMTQ3LTIxMyJ9KVsnMzI4J10KCQkJMWUxPTJlNVs3MV0uMmQoImEiLCB7IjFlYSI6ICIxNDctMjEzIn0pWycyOWInXS4zNSgnMzZlLTgnLCAnM2InKQoJCQkxZTE9MWUxLjRjKCIxNWUgMmZjIDJiMyIsIiIpCgkJCTIxYj0yZTVbNzFdLjJkKCIzNzciLCB7IjFlYSI6ICIyNTIifSlbJzIyOCddCgkJCTIxYj0xZmYrMjFiCgkJCWM4PTFmZitjOAoJCQk4OC4xMzEoJ1s3ZCAxY11bN2QgMmFdPj5bLzdkXScrMWUxKydbLzdkXScsYzgsNTQsMjFiLDIxYikKCQkzNjk9MzcuMmI3KCc8NTcgMWVhPSIzNjkgMWI5Ij48YSAzMjg9Ii4qPyI+Lio/PC9hPjwvNTc+XGFmPDU3IDFlYT0iMzY5Ij48YSAzMjg9IiguKj8pIj4oLio/KTwvYT48LzU3PicpLmM1KDIxMykKCQkxZiBjOCwxZTEgMmJlIDM2OToKCQkJCWM4PTFmZitjOAoJCQkJODguMTMxKCdbN2QgMmFdMjNlIDI0NiA+PlsvN2RdJysgJ1s3ZCAzNF0nKzFlMSsnWy83ZF0nLGM4LDUzLCIzMjU6Ly8xMC4xZS8zN2EvMmUuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCiM1NAoxZjIgYmIoYzgpOgoJCTIxMz0xNyhjOCkJIAoJCTI0Yj0zNy4yYjcoJzM0MCAyZjBcPSAiMzI1OlwvXC8oLio/KS4yYzgiJykuYzUoMjEzKQoJCTFmIGM4IDJiZSAyNGI6CgkJCQljOD0nMzI1Oi8vJytjOCsnLjJjOCcKCQkJCTFlMT0nIDJjZicKCQkJCTg4LjEzMSgnWzdkIDM0XTE1ZSAnKzFlMSsnWy83ZF0nLGM4LDQ0LDE4ZiwxOGYpCgkJMjEzPTE3KGM4KQoJCTI5YT0zNy4yYjcoIjMyNTpcL1wvKC4qPykxZWYoLio/KS4xYmIiKS5jNSgyMTMpCgkJMWYgYzgsMWUxIDJiZSAyOWE6CgkJCQljOD0nMzI1Oi8vJytjOCsnMWVmJysxZTErJy4xYmInCgkJCQk4OC4xMzEoJ1s3ZCAzNF0yM2IgJysxZTErJ1svN2RdJyxjOCw1NSwiIiwiIikKCQkyMTM9MTcoYzgpCgkJNTI9MzcuMmI3KCIzMjU6XC9cLyguKj8pLjFiYiIpLmM1KDIxMykKCQkxZiBjOCAyYmUgNTI6CgkJCQljOD0nMzI1Oi8vJytjOCsnLjFiYicKCQkJCTFlMT0nIDJjZicKCQkJCTg4LjEzMSgnWzdkIDM0XTE1ZScrMWUxKydbLzdkXScsYzgsNTUsIiIsIiIpCQkJICAgCiM1NQoxZjIgYzAoMWUxLGM4KToKCQljOD1jOCsifDI3MD0zMjU6Ly8zMy5lMS4yNjMvMjkzL2ZlL2ZlLjI4Mi0zLjIuOS4zNGQiICAKCQkyOCA9IDJiZC45ZSgpCgkJMjU0ID0gMmJkLjM3NigyYmQuNTgpCgkJMjU0LmM2KCkKCQk4OC43MignODcgZGIgPDwgJywnJywnJykKCQk2MSA9IDM2OC5jZSgxZTEpCgkJMjU0LjIwMyhjOCwgNjEpCgkJMjguYjAoMjU0KQoJCTJhYiA9IDFkMSgyOTEoMmJkLjgwKCIxMTQuODEiKSlbMDo0XSkKCQk0ZiAyYWIgPCAxNC4wOgoJCQkJODguMzcwKCkKCQk0ZDoKCQkJCTg4LmI2KCkKIzU2CjFmMiAxNmMoYzgpOgogIGE1OgoJCTM3NSgpCgkJY2IgPSAzNjguMTk1KCkKCQk3MSA9IGNiLjE4ZShjOCwgIls3ZCAxY10yYWQgMjY3Wy83ZF0sWzdkIDMwMV0xZWQgMTQ5Wy83ZF0gIiwiWzdkIDMwMV0zM2YgMWM2IDFjM1svN2RdIikKICAyMjk6CgkJMTg2CiM2MgoxZjIgMTg3KCk6CgkzNzQ9JzMyNTovLzM3Mi4xMWQvJwoJODguMTMxKCdbN2QgMmFdPj5bLzdkXSBbN2QgNmZdICEgMzMwIDJmYSAhWy83ZF0nLDM3NCw2NSwiMzI1Oi8vMTAuMWUvMzdhLzJiLjFlYyIsJ2Q1Oi8vMWEvMzdjLzM2MS4xMy4zM2EvYy4yNTUnKQoJMjEzPTE3KDM3NCkKCTI0Yj0zNy4yYjcoJzw1Nz48YSAzMjg9Ii8xOWIoLio/KSI+KC4qPyk8L2E+PC81Nz4nKS5jNSgyMTMpCgkxZiBjOCwxZTEgMmJlIDI0YjoKCQljOD0nMzI1Oi8vMzcyLjExZC8xOWInK2M4CgkJODguMTMxKCdbN2QgMmFdPj5bLzdkXSBbN2QgNmFdJysxZTErJ1svN2RdJyxjOCw2NSwiIiwnZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NScpCQkJCSAgIAojNjUKMWYyIGVkKGM4KToKCTIxMz0xNyhjOCkKCTI0Yj0zNy4yYjcoJzwxODUgMWVhPSIyMjYiPlxhZiA8YSAzMjg9Ii4qPyI+PDM3NyAyMjg9IiguKj8pIiBmOD0iIj48L2E+XGFmIDwvMTg1PlxhZiA8MTg1IDFlYT0iMmFjIj5cYWYgPDM2ND48YSAzMjg9IiguKj8pIj4oLio/KTwvYT4nKS5jNSgyMTMpCgkxZiAyMWIsYzgsMWUxIDJiZSAyNGI6CgkJMjFiPSczMjU6Ly8zNzIuMTFkJysyMWIKCQljOD0nMzI1Oi8vMzcyLjExZCcrYzgKCQk4OC4xMzEoJ1s3ZCAzZl0+Pls3ZCAxY10nKzFlMSsnWy83ZF0nLGM4LDIwMSwyMWIsMjFiKQoJMzY5PTM3LjJiNygnPGIgMWVhPSIxZTYiPjwyZj4uKj88LzJmPjwvYj4gPGEgMWVhPSIyMDkiIDMyOD0iKC4qPykiIDE2OScpLmM1KDIxMykKCTFmIDM2MyAyYmUgMzY5OgoJCWM4PSczMjU6Ly8zNzIuMTFkLycrMzYzCgkJODguMTMxKCdbN2QgMTEzXT4+JysnMzFmIDMwYiAtPiBbLzdkXScsYzgsNjUsIjMyNTovLzEwLjFlLzM3YS8yZS4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKIzIwMQoxZjIgMWRiKGM4KToKCTIxMz0xNyhjOCkKCTI0Yj0zNy4yYjcoJzIyOD0iMzI1Oi8vMzcyLjExZC8xZWIvKC4qPykuMWVjIiA4YT0iLio/IiA5Yz0iLio/Ij48LzMxOT48L2I+PC8yY2I+PDM2Nj48MTg1IDFlYT0iLio/Ij5cYWYgPDJkZiAxNjk9Ii4qPyIgMmRlPSIuKj8iIDMyMT0iYi4qPyI+XGFmIDwxODUgMWVhPSIuKj8iIDFkZT0iLio/Ij5cYWZcYWY8YSAxYTE9Ii4qPyIgMzI4PSJcYWZcYWYoLio/KVxhZlxhZiI+JykuYzUoMjEzKQoJMWYgMWUxLGM4IDJiZSAyNGI6CgkJODguMTMxKCdbN2QgZTddJysxZTErJ1svN2RdJyxjOCw5OSwnJywnJykKCiM2NgoxZjIgYzIoYzgpOgoJCTIxMz0xNyhjOCkKCQkxYTI9MzcuMmI3KCc8Mzc3IDFkZT0iMmE1OjA7MjdmOjA7MWFiOjA7IiAyMjg9IiguKj8pIicpLmM1KDIxMykKCQkxZiAyMWIgMmJlIDFhMjoKCQkJODguMTMxKCIzMTcgLSAyODMiLGM4LDk5LCczMjU6Ly8zMy4xZTQtMTY4LjI5MCcrMjFiLCczMjU6Ly8zMy4xZTQtMTY4LjI5MCcrMjFiKSAgIAoJCTI5YT0zNy4yYjcoJzMyNVw6XC9cLyguKj8pLjMyNlwvKC4qPykuYWUnKS5jNSgyMTMpCgkJMWYgMWUxLGM4IDJiZSAyOWE6CgkJCWM4PSczMjU6Ly8xYzkuMzI2LycrYzgrJy5hZScKCQkJODguMTMxKCcyMzQgLSA+ICcrMWUxLGM4LDk5LCIiLCIiKQoKIzc2CjFmMiAyYjIoKToKCQkxYiA9IDJiZC42OCgiIiwgJzIxZCcsIGE2KQoJCTFiLjc0KCkKCQk0ZiAxYi4yOTIoKToKCQkJMzMzID0gMWIuNWIoKQoJCQkzMzM9MzMzLjRjKCcgJywnKycpCgkJCTMzMz04OC4yNTEoMzMzKQoJCWE1OgoJCQkzNzQ9JzMyNTovLzMzLmJhLjIwZicKCQkJODguMTMxKCdbN2QgMWNdMzZkWzdkIDM0XTE5NiAxWzdkIDFjXTM2ZFsvN2RdJywzNzQsJycsIjMyNTovLzEwLjFlLzM3YS84ZC4xZWMiLCJkNTovLzFhLzM3Yy8zNjEuMTMuMzNhL2MuMjU1IikKCQkJMzc0PSczMjU6Ly8zMy5iYS4yMGYnCgkJCWM4ID0gKDM3NCsnLz8xMWY9JyszMzMpCgkJCTVhKGM4KQoJCTIyOToKCQkJMmJkLjMyKCc4NSgiWzdkIDE1NF0xNGJbN2QgMTU0XTIxY1svN2RdIiwiWzdkIDMwMV01ZSAxIDE0ZlsvN2RdIiknKSAKCQlhNToKCQkJMzc0PSczMjU6Ly8zMy5kZS4xMmUnCgkJCTg4LjEzMSgnWzdkIDFjXTM2ZFs3ZCAzNF0xOTYgM1s3ZCAxY10zNmRbLzdkXScsMzc0LDQ4LCIzMjU6Ly8xMC4xZS8zN2EvOGMuMWVjIiwiZDU6Ly8xYS8zN2MvMzYxLjEzLjMzYS9jLjI1NSIpCgkJCTM3ND0nMzI1Oi8vMzMuZGUuMTJlJwoJCQljOCA9ICgzNzQrJy8/MTFmPScrMzMzKQoJCQlhOShjOCkKCQkyMjk6CgkJCTJiZC4zMignODUoIls3ZCAxNTRdMTRiWzdkIDM0XTIxY1svN2RdIiwiWzdkIDMwMV01ZSAzIDE0ZlsvN2RdIiknKQoKCgojMTEKMWYyIDExOSgpOgoJMjI3PSczMjU6Ly9mYy03MS4xZTUuMjkwL2ZjLzE5ZS8yNDUuMTQ2JwoJODguNzIoJ1s3ZCAxY10gPj4gMzRlIDIxY1svN2RdJywyMjcsJycpCgkyM2E9JzMyNTovLzMzLjRhLjI5MC8nCgkyMTM9MTcoMjNhKQoJMjRiPTM3LjJiNygnPGEgMzI4PSIoLio/KSI+PDM3NyAxMTc9IjE5MToxNTYiIDIyOD0iKC4qPykiIDljPSIxOTAiIDhhPSIxMjAiJykuYzUoMjEzKQoJMWYgYzgsMjFiIDJiZSAyNGI6CgkJMWUxPWM4LjRjKCcyMTInLCcnKS40YygnLScsJyAnKS40YygnLycsJycpLjRjKCcxMTAnLCcnKS40YygnMTQ1JywnJykuNGMoJzE1NycsJycpCgkJYzg9JzMyNTovLzMzLjRhLjI5MCcrYzgKCQk4OC4xMzEoJ1s3ZCAzZl0+IC0gJysxZTErJ1svN2RdJyxjOCwxMDcsMjFiLCcnKQoJMWRhPSczMjU6Ly8zMy40YS4yOTAvPzM2OT0xJwoJMjEzPTE3KDFkYSkKCTI0Yj0zNy4yYjcoJzxhIDMyOD0iKC4qPykiPjwzNzcgMTE3PSIxOTE6MTU2IiAyMjg9IiguKj8pIiA5Yz0iMTkwIiA4YT0iMTIwIicpLmM1KDIxMykKCTFmIGM4LDIxYiAyYmUgMjRiOgoJCTFlMT1jOC40YygnMjEyJywnJykuNGMoJy0nLCcgJykuNGMoJy8nLCcnKS40YygnMTEwJywnJykuNGMoJzE0NScsJycpLjRjKCcxNTcnLCcnKQoJCWM4PSczMjU6Ly8zMy40YS4yOTAnK2M4CgkJODguMTMxKCdbN2QgM2ZdPiAtICcrMWUxKydbLzdkXScsYzgsMTA3LDIxYiwnJykKCTFkND0nMzI1Oi8vMzMuNGEuMjkwLz8zNjk9MicKCTIxMz0xNygxZDQpCgkyNGI9MzcuMmI3KCc8YSAzMjg9IiguKj8pIj48Mzc3IDExNz0iMTkxOjE1NiIgMjI4PSIoLio/KSIgOWM9IjE5MCIgOGE9IjEyMCInKS5jNSgyMTMpCgkxZiBjOCwyMWIgMmJlIDI0YjoKCQkxZTE9YzguNGMoJzIxMicsJycpLjRjKCctJywnICcpLjRjKCcvJywnJykuNGMoJzExMCcsJycpLjRjKCcxNDUnLCcnKS40YygnMTU3JywnJykKCQljOD0nMzI1Oi8vMzMuNGEuMjkwJytjOAoJCTg4LjEzMSgnWzdkIDNmXT4gLSAnKzFlMSsnWy83ZF0nLGM4LDEwNywyMWIsJycpIAojMTAwCjFmMiAyMzgoMWUxLGM4KToKCWE1OgoJCTdmID0gNGUuYjIoYzgpCgkJN2YuNzkoImZiLTIwNSIsIjFiZC8xLjYuMCAoMTBhOyAzNjI7IDE2YSA0LjIuMjsgMjNjIDFjZS8xZTApIGJlLzI1YS0xLjE7IDFmNiAyMmMvMmI5LzQuMi4iKQoJCTJhOCA9IDRlLmFkKDdmKQoJCTIxMz0yYTguMTNhKCkKCQkyYTguZjcoKQoJCTI0YiA9IDM3LjJiNygnMjMzOiIoLio/KSInKS5jNSgyMTMpCgkJMWYgYzggMmJlIDI0YjoKCQkJNGYgYzg6CgkJCQljOD1jOCsxYmUKCQkJCTI4LmIwKGM4KQoJCQk4OC4xMzEoJ1s3ZCAzNF04NyBkYiA8PCBbLzdkXScsJycsMTEsJzMyNTovLzFlYy00LjZiLjI5MC9jNy9jOS9mOS8xZDkvMTI4LzY5LjFlYycpCgkJMjlhPSAzNy4yYjcoIjIzMzogXCczMjUoLio/KTE0NlwuJyIpLmM1KDIxMykKCQkxZiBjOCAyYmUgMjlhOgoJCQk0ZiBjODoKCQkJCWM4PSczMjUnK2M4KycxNDYnKzFiZQoJCQkJMjguYjAoYzgpCgkJCTg4LjEzMSgnWzdkIDM0XTg3IGRiIDw8IFsvN2RdJywnJywxMSwnMzI1Oi8vMWVjLTQuNmIuMjkwL2M3L2M5L2Y5LzFkOS8xMjgvNjkuMWVjJykKCQk1Mj0gMzcuMmI3KCcyNjQ9ICIoLio/KSInKS5jNSgyMTMpCgkJMWYgYzggMmJlIDUyOgoJCQk0ZiBjODoKCQkJCWM4PWM4KzFiZQoJCQkJMjguYjAoYzgpCgkJCTg4LjEzMSgnWzdkIDM0XTg3IGRiIDw8IFsvN2RdJywnJywxMSwnMzI1Oi8vMWVjLTQuNmIuMjkwL2M3L2M5L2Y5LzFkOS8xMjgvNjkuMWVjJykKCTIyOToKCQkyYzcoJ1s3ZCAxY10xNGJbLzdkXVs3ZCAzNF0yMWNbLzdkXScsJ1s3ZCAzNF0zNDMgMjYwIDJlNiEhIVsvN2RdJykKCQk4OC4xMzEoJ1s3ZCAzNF04NyBkYiA8PCBbLzdkXScsJycsMTEsJzMyNTovLzFlYy00LjZiLjI5MC9jNy9jOS9mOS8xZDkvMTI4LzY5LjFlYycpIAojMTIKMWYyIDExYSgpOgojIwkxZmE9JzMyNTovLzEwLjFlLzE3YS8yLjIuZjUnCiMjCTIxMz0xNygxZmEpCiMjCTI0Yj0zNy4yYjcoJ2NhOi8vMWFjLjMwMi8xNzYvMTQyLyguKj8pXGFmJykuYzUoMjEzKQojIwkxZiAxZTEgMmJlIDI0YjoKIyMJCWM4PSdjYTovLzFhYy4zMDIvMTc2LzE0Mi8nKzFlMQojIwkJMWUxPTFlMS40YygnJTIwJywnICAnKQojIwkJODguMTMxKCdbN2QgMWNdPiAtICcrMWUxKydbLzdkXScsYzgsMTAxLCcnLCcnKQoJMzYzPSczMjU6Ly8zMy45Mi4xMWQvMTQ1LzMzYi0yNjMuYWUnCgk3ZiA9IDRlLmIyKDM2MykKCTdmLjc5KCJmYi0yMDUiLCIxYmQvMS42LjAgKDEwYTsgMzYyOyAxNmEgNC4yLjI7IDIzYyAxY2UvMWUwKSBiZS8yNWEtMS4xOyAxZjYgMjJjLzJiOS80LjIuIikKCTJhOCA9IDRlLmFkKDdmKQoJMjEzPTJhOC4xM2EoKQoJMmE4LmY3KCkKCTI0Yj0zNy4yYjcoJzxhIDMyOD0iMzI1Oi8vMWE3LjkyLjExZC8xNDUvKC4qPykiIDI5Yj0iLio/Ij48Mzc3IDFlYT0iLio/IiBkOS0yMjg9IiguKj8pIiA5Yz0iMTAwIiA4YT0iNzUiJykuYzUoMjEzKQoJMWYgYzgsMjFiIDJiZSAyNGI6CgkJMWUxPWM4CgkJMWUxPTFlMS40YygnLmFlJywnJykuNGMoJy0nLCcgJykuNGMoJzExMCcsJycpLjRjKCcxNDUnLCcnKQoJCTFlMT1mNC4yMmEoMWUxKQoJCWM4PSczMjU6Ly8xYTcuOTIuMTFkLzE0NS8nK2M4CgkJODguMTMxKCdbN2QgNmZdPiAtICcrMWUxKydbLzdkXScsYzgsMTAwLDIxYiwnJykKCQkKIzEwMQoxZjIgMjM1KGM4KToKCWM4PWM4LjRjKCdjYScsJzMyNScpCgk3ZiA9IDRlLmIyKGM4KQoJN2YuNzkoImZiLTIwNSIsImIxLzUuMCAoMTYxIDMwNSA2LjI7IDFkZikgNmQvY2YuMzYgKDEwMiwgMTM5IGZhKSBkZC8zOS4wLjIyNS45OSBlMC9jZi4zNiIpCgkyYTggPSA0ZS5hZCg3ZikKCTIxMz0yYTguMTNhKCkKCTJhOC5mNygpCgkyNGI9MzcuMmI3KCcyMjg9Y2E6Ly8xMjEoLio/KVxhZicpLmM1KDIxMykKCTFmIGM4IDJiZSAyNGI6CgkJNGYgYzg6CgkJCWM4PSdjYTovLzEyMScrYzgrMWJlCgkJCTg4LmQwKDFlMSxjOCkKCiMxOAoxZjIgMTFiKCk6CgljOD0nZjUuMzI3L2IvZjEuZDEvLzo5NidbOjotMV0KCTIxMz0xNyhjOCkKCTI0Yj0zNy4yYjcoJzwxZTE+KC4qPylcYWY8MjFiPiguKj8pXGFmPDIxMz4oLio/KVxhZicpLmM1KDIxMykJICAgCgkxZiAxZTEsYjgsYzggMmJlIDI0YjoKCQkxZTE9ZjQuMjJhKDFlMSkKCQk0ZiAiMzRmLTI2MyIgMmJlIDFlMToKCQkJYzg9JzMyNTovL2ZjLTcxLjFlNS4yOTAvZmMvMTllLzI0NS4xNDYnCgkJCTg4LjcyKCdbN2QgMmFdID4+Wy83ZF0nKyAnWzdkIDFjXScrMWUxKydbLzdkXScsYzgsJycpCgkJNGQ6CgkJCTg4LjEzMSgnWzdkIDJhXSA+PlsvN2RdJysgJ1s3ZCAxY10nKzFlMSsnWy83ZF0nLGM4LDEwMCxiOCxiOCkKCQkJICAgCgojMTk5CjFmMiAxMjUoMWUxLGM4KToKCQk0ZiAiMjUzLiIgMmJlIGM4OgoJCQk4OC5iZihjOCkKCQkxYTYgIjM2Yy4iMmJlIGM4OgoJCQkxZGQoMWUxLGM4KQoJCTFhNiAiMThlLiIgMmJlIGM4OgoJCQk4OC4xZDgoYzgpCgkJMWE2ICIzNDYuIjJiZSAgYzg6CgkJCTFkZCgxZTEsYzgpCgkJNGQ6CgkJCTI4ID0gMmJkLjllKCkgCgkJCTI1NCA9IDJiZC4zNzYoMmJkLjU4KSAKCQkJMjU0LmM2KCkgCgkJCTg4LjcyKDFlMSxjOCwnJykKCQkJNjEgPSAzNjguY2UoMWUxKSAKCQkJMjU0LjIwMyhjOCwgNjEpIAoJCQkyOC5iMCgyNTQpCiAKICAKCiMxMDUKMWYyIDE1OCgpOgoJYzg9IjMyNTovLzEwLjFlLzE3YS8zNDIuZjUiCgkyMTM9MTcoYzgpCgkyNGI9MzcuMmI3KCc8YSAzMjg9IiguKj8pIiAxYTE9Ii4qPyI+PDM3NyBmOD0iKC4qPykiIDFhYj0iLio/IiA5Yz0iLio/IiA4YT0iLio/IiAyMjg9IiguKj8pIiAyOWI9Ii4qPyInKS5jNSgyMTMpCgkxZiBjOCwxZTEsMjFiIDJiZSAyNGI6CgkJODguMTMxKCdbN2QgMWNdPj4nKzFlMSsnWy83ZF0nLGM4LDEwNywyMWIsMjFiKQoKCgkJCjFmMiAyYzcoYjQ9JzMwNycsIDE3MiA9ICcnLCAxZjggPSAyNWYsIDI1ZCA9IDlmKToKCQlhNTogMmJkLjMyKCczMzcuODUoIiUxMWYiLCAiJTExZiIsICUxMWYsICIlMTFmIiknICUgKGI0LCAxNzIsIDFmOCwgMjVkKSkKCQkyMjkgMWZlLCBlOgoJCQkyYmQuMzQxKCAnWyUxMWZdOiAyYzc6IDMxYiAyYjAgWyUxMWZdJyAlICg5OCwgZSksIDIgKQoKIzExNgoxZjIgMTE1KDFlMSxjOCk6CgkyOCA9IDJiZC45ZSgpCgkyNTQgPSAyYmQuMzc2KDJiZC41OCkKCTI1NC5jNigpCgk4OC43MignWzdkIDJhXScrJzg3IGRiIDw8JysnIFsvN2RdJywnJywnMzI1Oi8vMWVjLTQuNmIuMjkwL2M3L2M5L2Y5LzFkOS8xMjgvNjkuMWVjJykKCTYxID0gMzY4LmNlKDFlMSkKCTI1NC4yMDMoYzgsIDYxKQoJMjguYjAoMjU0KQoJMmFiID0gMWQxKDI5MSgyYmQuODAoIjExNC44MSIpKVswOjRdKQoJNGYgMmFiIDwgMTQuMDoKCQkJODguMzcwKCkKCTRkOgoJCQk4OC5iNigpCiM5OQoxZjIgMWRkKDFlMSxjOCk6Cgk0ZiAiMzMuMWNhLjI5MCIgMmJlIGM4OgoJCTg4LjIwOCgxZTEsYzgpCgkxYTYgIjI1My4iIDJiZSBjODoKCQk4OC5iZihjOCkKCTFhNiAiMThlLiIgMmJlIGM4OgoJCTg4LjFkOChjOCkKCTRkOgoJCTM3OCA9IGM4CgkJMjU0LmM2KCkKCQkxNGUgPSBlYy4xNWEoMzc4KQoJCTExOCA9IDE0ZQoJCTRmIDExODoKCQkJCWM4ID0gMTE4LjI3NigpCgkJCQk4OC43MigxZTEsYzgsJycpCgkJCQk4OC4xOGQoMjU0LDFlMSxjOCkKCQkJCTI4LmIwKDI1NCkKCjFmMiAxMGMoKToKCQlmZD1bXQoJCWU5PTE0Yy4xYThbMl0KCQk0ZiAxOTgoZTkpPj0yOgoJCQkJNGI9MTRjLjFhOFsyXQoJCQkJYmQ9NGIuNGMoJz8nLCcnKQoJCQkJNGYgKDRiWzE5OCg0YiktMV09PScvJyk6CgkJCQkJCTRiPTRiWzA6MTk4KDRiKS0yXQoJCQkJN2M9YmQuMTRkKCcmJykKCQkJCWZkPXt9CgkJCQkxZiA3MSAyYmUgNWYoMTk4KDdjKSk6CgkJCQkJCTVjPXt9CgkJCQkJCTVjPTdjWzcxXS4xNGQoJz0nKQoJCQkJCQk0ZiAoMTk4KDVjKSk9PTI6CgkJCQkJCQkJZmRbNWNbMF1dPTVjWzFdCgkJOWQgZmQKNGI9MTBjKCkKYzg9MzEwCjFlMT0zMTAKMmI2PTMxMAphNToKCQljOD0xMjIuZDgoNGJbImM4Il0pCjIyOToKCQkxODYKYTU6CgkJMWUxPTEyMi5kOCg0YlsiMWUxIl0pCjIyOToKCQkxODYKYTU6CgkJMmI2PTJhOSg0YlsiMmI2Il0pCjIyOToKCQkxODYKCjRmIDJiNj09MzEwIDNkIGM4PT0zMTAgM2QgMTk4KGM4KTwxOgoKCTEwNigpCjFhNiAyYjY9PTE6IGRmKCkJCQoxYTYgMmI2PT0yOiA1ZSgpCjFhNiAyYjY9PTM6IDE1MSgpCjFhNiAyYjY9PTQ6IGEzKCkKMWE2IDJiNj09NTogOGQoKQoxYTYgMmI2PT02OiBhYSgpCjFhNiAyYjY9PTc6IDhjKCkKMWE2IDJiNj09ODogMTAzKCkKMWE2IDJiNj09OTogMTBmKCkKMWE2IDJiNj09MTE6IDExOSgpCjFhNiAyYjY9PTEyOiAxMWEoKQoxYTYgMmI2PT0xNDogOGIoKQoxYTYgMmI2PT0xNTogMWM0KCkKMWE2IDJiNj09MTY6IDM3NSgpCjFhNiAyYjY9PTE4OiAxMWIoKQoxYTYgMmI2PT0xOTogOTMoYzgpCjFhNiAyYjY9PTIwOiBhYihjOCwxZTEpCjFhNiAyYjY9PTIxOiAxNWIoYzgpCjFhNiAyYjY9PTIyOiA4OC4yZTMoYzgpCjFhNiAyYjY9PTI0OiA4OC4xZWUoYzgpCjFhNiAyYjY9PTI1OiAxYWEoKQoxYTYgMmI2PT0yNjogYTcoYzgsMWUxKQoxYTYgMmI2PT0yNzogMTFjKCkKMWE2IDJiNj09Mjk6IDg4LjFjZChjOCkKMWE2IDJiNj09MzA6IDFlNygpCjFhNiAyYjY9PTMxOiAyZWIoYzgpCjFhNiAyYjY9PTM4OiAzNmEoKQoxYTYgMmI2PT00MDogZWYoYzgpCjFhNiAyYjY9PTQxOiA4OC5lNSgxZTEsYzgpCjFhNiAyYjY9PTQyOiA4OC5kMCgxZTEsYzgpCjFhNiAyYjY9PTQzOiBlOChjOCkKMWE2IDJiNj09NDQ6IDE3NCgpCjFhNiAyYjY9PTQ1OiBmMChjOCkKMWE2IDJiNj09NDY6IDFiZigpCjFhNiAyYjY9PTQ3OiBhOShjOCkKMWE2IDJiNj09NDg6IDMxMigpCjFhNiAyYjY9PTQ5OiBlZShjOCwxZTEpCjFhNiAyYjY9PTUwOiAxNzcoYzgpCjFhNiAyYjY9PTUxOiBjNChjOCkKMWE2IDJiNj09NTM6IDIwNyhjOCkKMWE2IDJiNj09NTQ6IGJiKGM4KQoxYTYgMmI2PT01NTogYzAoMWUxLGM4KQoxYTYgMmI2PT01NjogMTZjKGM4KQoxYTYgMmI2PT01OTogMTY2KDFlMSxjOCkKMWE2IDJiNj09NjA6IDI0MihjOCkKMWE2IDJiNj09NjI6IDE4NygpCjFhNiAyYjY9PTY1OiBlZChjOCkKMWE2IDJiNj09NjY6IGMyKGM4KQoxYTYgMmI2PT02NzogNWEoYzgpCjFhNiAyYjY9PTc2OiAyYjIoKQoxYTYgMmI2PT03ODogMTA0KGM4KQoxYTYgMmI2PT04OTogMjVjKGM4KQoxYTYgMmI2PT05MDogMTExKGM4KQoxYTYgMmI2PT05MTogMTlmKDFlMSxjOCkKMWE2IDJiNj09OTQ6IDE3ZChjOCkKMWE2IDJiNj09OTU6IDEzMigxZTEsYzgpCjFhNiAyYjY9PTk5OiAxZGQoMWUxLGM4KQoxYTYgMmI2PT0xMDA6IDIzOCgxZTEsYzgpCjFhNiAyYjY9PTEwMTogMjM1KGM4KQoxYTYgMmI2PT0xMDU6IDE1OCgpCjFhNiAyYjY9PTEwNzogODguMjIyKGM4KQoxYTYgMmI2PT0yNWY6IDI2OShjOCkKMWE2IDJiNj09MTE2OiAxMTUoMWUxLGM4KQoxYTYgMmI2PT0xNDA6IDI4NCgpCjFhNiAyYjY9PTE5OTogMTI1KDFlMSxjOCkKMWE2IDJiNj09MjAwOiAxOGEoYzgpCjFhNiAyYjY9PTIwMTogMWRiKGM4KQoxYTYgMmI2PT0yMTk6IDJjLjFhMygpCgoxMDkuMTZiKDJhOSgxNGMuMWE4WzFdKSk=")))(lambda a,b:b[int("0x"+a.group(1),16)],"0|1|2|3|4|5|6|7|8|9|a|b|fanart|d|e|f|dreamtr|11|12|video|14|15|16|get_url|18|19|home|keyboard|beige|findAll|club|for|20|21|22|23|24|25|26|27|xbmcPlayer|29|blue|yenieklenenler|__settings__|find|sonrakisayfa|span|30|31|executebuiltin|www|red|encode|36|re|38|39|smartQuotesTo|ignore|baglanfilmiizle|or|import|orange|40|41|42|43|44|45|46|47|48|49|onlinetvler|params|replace|else|urllib2|if|50|51|match2|53|54|55|56|li|PLAYLIST_VIDEO|59|sinemaRecent12|getText|splitparams|aramasearch|Sinema|range|60|listitem|62|self|64|65|66|67|Keyboard|edit_undo|lightblue|findicons|WhoFringeGothamLostThe|AppleWebKit|text|gold|SetViewMode|i|addLink|Eklenen|doModal|75|76|requests|78|add_header|getSetting|translatePath|pairsofparams|COLOR|Accept|req|getInfoLabel|BuildVersion|The|Container|DemonsDexterDoctor|Notification|StoryArrowBreaking|RETURN|xbmctools|89|height|Arama|Sinema3|Sinema1|Filmler|remaining_display|90|91|canlitvlive|Yeni|94|95|ptth|listeler|addon_id|99|FilmlerPolitikPsikolojikRomantik|CONTROL_TEXTBOX|width|return|Player|addon_icon|DizilerAmerican|Sayfa|name2|canliyayin|FilmleriBiyografiCasuslukCizgi|try|False|dizivideolinks2|FilmleriAnimeBelgesellerBilim|Recent3|Sinema2|dizivideolinks|Sonraki|urlopen|html|n|play|Mozilla|Request|current|heading|Diziler|playlist2|Originals|Thumbnail|xbmcaddon|filmiizle|ayrisdirmayet|bc|cleanedparams|Configuration|MailRu_Player|VideoLinksyet|adonversiyonu|Linkleralman1|CONTROL_LABEL|BELayrisdirma|findall|clear|files|url|icons|https|dialog|cc|cd|ListItem|537|yenical4|enisened|larger|url2|Horror|special|canlidizihd5|internal|unquote_plus|data|Da|List|item|Chrome|bicaps|Belgesel|Safari|paradisehill|OnerisiFantastikGenclik|FilmleriMuzikalPolisiye|wmsAuthSign|VIDEOLINKS1|loadedLinks|lightyellow|Yenisinema2|paramstring|safirButton|setControls|urlresolver|Yeni2alman1|videolinks3|ayrisdirma1|ayrisdirma2|moc|am_force_theme_layout|partUrl|fix|txt|pDialog|close|alt|1714|Gecko|User|foxtv|param|flowplayer|getControl|100|101|KHTML|Dizi1|RecentyetA|105|CATEGORIES|107|Canli|xbmcplugin|Linux|Connection|get_params|threadName|path|Dizi2|canli|ulkeleregoresinema5|moviefilm|purple|System|Calcanli6|116|typeof|source|Canli1|Canli2|Canli3|Canli4|co|col|s|120|streaming|urllib|xml|BeautifulStoneSoup|yenical44|getLocalizedString|window|128|urller|golegnahc|gizlilik4|gizlilik3|gizlilik2|net|append|FilmleriAltyazili|addDir|ayrisdirmasinema5|FilmleriGizemHint|hdsonbolumizleyin|film|FilmlerAnimasyon|FilmleriDansDram|Encoding|like|read|gizlilik|id|anasayfa_sayfano|urla|urlY|140|Language|channels|250WesternTurkce|category|izle|m3u8|bci|New|Izlenemeyebilir|pid|Dream|sys|split|media|Acilamadi|elziimlifnalgab|Dizi|FilmleriYabanci|sayfa|white|xhtml|Image|yayin|radyo|DUYURUPENCERESI|HostedMediaFile|Yeni2|FilmleriAksiyon|FilmleriGerilim|Watch|Vinci|youtube|Windows|windows|FilmleriMacera|konumuz|ShipThe|VideoLinksyet2|elzimulobnosdh|streams|onclick|Android|endOfDirectory|INFOyet|FilmlerYabanci|folders|FilmleriEditor|ActivateWindow|171|message|secenek|Search2|DreamTR|en|BRecent|DialogProgress|Secenek|aZambak|section|dijifem|Recentsinema5|FilmleriTarih|Olusturuluyor|BILGILENDIRME|FilmleriKorku|BeautifulSOAP|sinemaRecent1|FilmleriSpor|div|pass|AlmanS|FilmlerCocuk|Filmler1080p|ayyris|FilmleriAile|FilmlerZombi|playlist_yap|ok|t|190|foaf|Filmleri2012|Filmleri2011|Filmleri2014|Dialog|SINEMA|500|len|199|8211|load|acilis|FilmlerSavas|foxtv3|de_get|wpel|target|match0|openSettings|Filmleri2013|Filmleri2015|elif|mobile|argv|belgeselizle|Arama2|border|livetv|2dhizidilnac|icerik|Url|pink|100The|join|FilmlerAamir|from|__language__|match3|FilmleriIMDB|strong|active|x86_64|mp4|list|Dalvik|tk|Kategoriler2|Secenekleri|Belgeseller|FilmleriTop|girilebilir|Kategoriler|Filmler2010|Ayarlariyla|Baglanvideo|FilmleriSuc|streamcloud|dailymotion|Chronicles|application|ayrisdirm1|Build|capitalize|pages|float|Revolution|Yerli|urlO3|total|Filmleri3D|alive|ok_ru|dropline_neu|urlO2|a6666|false|magix_player|style|WOW64|JDQ39|name|dizi1|BadDa|szene|mncdn|swchItemA1|yerlidizi3|simplejson|page2|class|anbieter01|png|Turkiyeden|dizividcal|part_|sembol_fix|CanliTVler|def|delay|USER_AGENT|dizi2|Opera|Terminator|times|lightgreen|urlaz|Enson|Video|Addon|Exception|z|200|201|WINDOW|add|playlist3|Agent|pagelinks|Recentyet|daily_sec|swchItem1|Following|mechanize|Savaslari|Last|hosgeldin|org|container|Sinemalar|tag|link|totalLinks|mem|SiNEMALAR|resources|almanlar|2000|American|thumbnail|TR|Search|as|YAYINLAR|Tv|os|radyocal|post|keremiya_part|2171|s_poster|urlF|src|except|decode_fix|Radyolar|Mini|utf8|Canlitv4|__init__|Canlitv1|Canlitv2|Canlitv3|file|Play|ctv2|Sherlock|BELGESEL|ctv1|Bekleyin|urlO|Part|A850|stop|NEXT|menu|filmleri|setLabel|INFOyet2|Videolar|Sopranos|chunklist_w757713564|Page|note|kutu|pagSonra|grey|match|Omer|baslamak|keep|catg|1271|name_fix|item_img|mail|playList|jpg|Breaking|sect|q|Versiyon|CLDC|none|yeniler3|pics|liste|5000|Seyirler|Interest|roku|tv|filexxx|ayarlar|rtmaerd|icindir|kabmaZa|calinma|desktop|sidebar|Vikings|Loading|BeautifulSoup|Vampire|referer|DiZiLER|article|Yapilan|Fragman|YAKINDA|resolve|solBlok|Masters|AYARLAR|Yabanci|setText|Bulundu|r|Edition|padding|smaller|Walking|content|Picture|Diziara|sonraki|Killing|Diaries|Pacific|version|Ayarlar|SmartTV|diziler|Lutfen|adult1|adult2|com|str|isConfirmed|static|ACCEPT|NEW|okinig|update|Onceki|2maerd|match1|title|Slider|Doctor|Mayday|Dexter|Connor|Sayisi|php|ragman|member|margin|DUYURU|dropit|response|int|create|exec_version|s_info|Uyeler|soup|038|failed|Demons|genelarama|online|belgun|Window|mode|compile|coding|att|Fringe|python|kwargs|xbmc|in|Izleme|X11|Sinbad|Prison|of|iframe|cat|Dublaj|showMessage|flv|Person|select|legend|8217|Merlin|baslik|Now|halktv|base64|Gotham|code2|Kurgu|Break|ALMAN|image|maerd|Story|leftC|right|Sarah|Radyo|value|input|Movie|SAYFA|Bible|frame|x|panel|Diler|Under|Alman|ARAMA|Touch|Yeni3|print|Arrow|green|CANLI|films|agent|Widow|adult|hctaw|10147|yerli|Islem|index|DREAM|Filme|rotik|porno|sleep|time|Lost|Klon|yellow|az|Lake|Star|NT|US|IPTV|Hz|webp|YENI|PaGe|Dead|Khan|bulc|json|None|getAddonInfo|Aramasinema3|orta|Team|Info|ul|INFO|nbsp|font|Izle|exec|Kisa|part|alan|NeXt|xs|type|turk|args|Hour|http|eu|3vtc|href|netu|Film|Ship|sm|iZLE|Teen|Zero|Neue|md|ACIK|query|Dome|True|porn|XBMC|cyan|Wolf|dreAM|star|Wars|code|pic|DNS|var|log|Rdy|Iyi|bin|ici|vid|the|xb4|ARA|Bad|nig|x85|swf|FOX|Fox|art|Red|lib|882|YAP|lmx|FilmKomediKore|ret|icon|Who|tab|del|usr|Top|x93|x94|x92|plugin|U|url1|h2|urlList|br|HD|xbmcgui|page|Aramasinema1|BS|vk|vvvvvvvvvvvvvvvvvvvvvvvvvvvv|utf|di|playlist|g|view4u|ek|sinema|yetiskin|PlayList|img|UrlResolverPlayer|u|resimler|_|addons|k".split("|")))
Standard input is empty
#!/usr/bin/python # -*- coding: utf-8 -*- import urllib,urllib2,xbmcplugin,xbmcgui,xbmcaddon,xbmc import re import xbmctools,fix import os,base64,time import mechanize import sys import urlresolver from BeautifulSoup import BeautifulStoneSoup, BeautifulSoup, BeautifulSOAP as BS import simplejson as json from xbmctools import z from xbmctools import f import member as mem import requests tk="|User-Agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'),('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),('Accept-Encoding', 'none'),('Accept-Language', 'en-US,en;q=0.8'),('Connection', 'keep-alive')" USER_AGENT = 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36' ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' addon_id = 'plugin.video.dreAM' __settings__ = xbmcaddon.Addon(id=addon_id) __language__ = __settings__.getLocalizedString home = __settings__.getAddonInfo('path') icon = xbmc.translatePath( os.path.join( home, 'icon.png' ) ) fanart = xbmc.translatePath( os.path.join( home, 'fanart.jpg' ) ) folders = xbmc.translatePath(os.path.join(home, 'resources', 'lib')) sys.path.append(folders) addon_icon = __settings__.getAddonInfo('icon') xbmcPlayer = xbmc.Player() xbmcPlayer.stop() playList = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) playList.clear() addon_icon = __settings__.getAddonInfo('icon') adonversiyonu = xbmcaddon.Addon().getAddonInfo("version") def acilis(): url = 'lmx.maerd/golegnahc/moc.enisened//:ptth'[::-1] link=get_url(url) r = re.findall(r'DUYURUPENCERESI ="ACIK"',link) if r: windows() else: pass def CATEGORIES(): acilis() threadName=[] delay=[] mem.baslamak(threadName, delay) mem.playlist3() gizlilik = __settings__.getSetting( "adult" ) gizlilik2 = __settings__.getSetting( "code" ) gizlilik3 = __settings__.getSetting( "code2" ) gizlilik4 = __settings__.getSetting( "adult2" ) xbmctools.addDir('[COLOR blue]SiNEMALAR[/COLOR]',"Sinema()",2,'http://d...content-available-to-author-only...r.club/resimler/Sinemalar.png','special://home/addons/plugin.video.dreAM/fanart.jpg') xbmctools.addDir('[COLOR pink]DiZiLER[/COLOR]',"Dizi()",3,'http://d...content-available-to-author-only...r.club/resimler/Diziler.png','special://home/addons/plugin.video.dreAM/fanart.jpg' ) xbmctools.addDir('[COLOR yellow]CANLI YAYINLAR[/COLOR]',"canliyayin()",4,'http://d...content-available-to-author-only...r.club/resimler/CanliTVler.png','special://home/addons/plugin.video.dreAM/fanart.jpg' ) xbmctools.addDir('[COLOR yellow]DreamTR Radyolar[/COLOR]',"radyo()",105,'http://d...content-available-to-author-only...r.club/resimler/Radyo.png','special://home/addons/plugin.video.dreAM/fanart.jpg') xbmctools.addDir('[COLOR purple]BELGESEL iZLE[/COLOR]',"Belgesel()",1,'http://d...content-available-to-author-only...r.club/resimler/belgeselizle.png','special://home/addons/plugin.video.dreAM/fanart.jpg' ) xbmctools.addDir('[COLOR grey]ALMAN Sinema[/COLOR]',"Alman()",62,'http://d...content-available-to-author-only...r.club/resimler/almanlar.png','special://home/addons/plugin.video.dreAM/fanart.jpg' ) xbmctools.addDir('[COLOR gold]Film ARA/Search[/COLOR]',"genelarama()",76,'http://d...content-available-to-author-only...r.club/resimler/genelarama.png','special://home/addons/plugin.video.dreAM/fanart.jpg' ) xbmctools.addDir('[COLOR grey]DREAM AYARLAR[/COLOR]',"Ayarlar()",2000,'http://d...content-available-to-author-only...r.club/resimler/ayarlar.png','special://home/addons/plugin.video.dreAM/fanart.jpg' ) if gizlilik == "false" or gizlilik2 != gizlilik3 or gizlilik4 == "false": pass else: xbmctools.addDir('[COLOR red]+18[/COLOR]',"yetiskin()",16,'http://d...content-available-to-author-only...r.club/resimler/adult1.png','special://home/addons/plugin.video.dreAM/fanart.jpg' ) xbmc.executebuiltin('Container.SetViewMode(500)') url = 'txt.2maerd/golegnahc/moc.enisened//:ptth'[::-1] link=xbmctools.get_url(url) konumuz=link if xbmc.getInfoLabel( "System.BuildVersion" )[:2] == '14': xbmctools.playlist2() else: pass class windows(): WINDOW = 10147 CONTROL_LABEL = 1 CONTROL_TEXTBOX = 5 def __init__( self, *args, **kwargs ): xbmc.executebuiltin( "ActivateWindow(%d)" % ( self.WINDOW, ) ) self.window = xbmcgui.Window( self.WINDOW ) xbmc.sleep( 100 ) self.setControls() def setControls( self ): heading, text = self.getText() self.window.getControl( self.CONTROL_LABEL ).setLabel( "%s - %s" % ( heading, addon_id +"- Versiyon:"+adonversiyonu) ) self.window.getControl( self.CONTROL_TEXTBOX ).setText( text ) def getText( self ): txt = str(konumuz) return "DUYURU ",txt #2 def Sinema(): xbmctools.addDir('[COLOR gold]! Sinema 1 * New * ![/COLOR]',"Sinema1()",5,'http://d...content-available-to-author-only...r.club/resimler/Sinema1.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmctools.addDir('[COLOR gold]! Sinema 2 * New * ![/COLOR]',"Sinema2()",6,'http://d...content-available-to-author-only...r.club/resimler/Sinema2.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmctools.addDir('[COLOR beige]Sinema 3[/COLOR]',"Sinema3()",7,'http://d...content-available-to-author-only...r.club/resimler/Sinema3.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmc.executebuiltin('Container.SetViewMode(500)') #3 def Dizi(): xbmctools.addDir('[COLOR orange]Dizi 1 * NEW Edition *[/COLOR]',"Dizi1()",8,'http://d...content-available-to-author-only...r.club/resimler/Dizi1.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmctools.addDir('[COLOR gold]Dizi 2 ## NEW ##[/COLOR]',"Dizi2()",9,'http://d...content-available-to-author-only...r.club/resimler/Dizi2.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmc.executebuiltin('Container.SetViewMode(500)') #4 def canliyayin(): xbmctools.addDir('[COLOR beige]Canli Tv 1[/COLOR]',"Canli1()",11,'http://d...content-available-to-author-only...r.club/resimler/Canlitv1.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmctools.addDir('[COLOR pink]Canli Tv 2* New *[/COLOR]',"Canli2()",12,'http://d...content-available-to-author-only...r.club/resimler/Canlitv2.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmctools.addDir('[COLOR beige]Canli Tv 3[/COLOR]',"Canli3()",18,'http://d...content-available-to-author-only...r.club/resimler/Canlitv3.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmctools.addDir('[COLOR orange]* Canli Tv 4 * New *[/COLOR]',"Canli4()",27,'http://d...content-available-to-author-only...r.club/resimler/Canlitv4.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmc.executebuiltin('Container.SetViewMode(500)') #--# def get_url(url): req = urllib2.Request(url) req.add_header('User-agent', 'Mozilla/5.0 (X11; Linux x86_64; SmartTV) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'),('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),('Accept-Encoding', 'none'),('Accept-Language', 'en-US,en;q=0.8'),('Connection', 'keep-alive') response = urllib2.urlopen(req) link=response.read() response.close() return link #8 def Dizi1(): url='http://w...content-available-to-author-only...n.com/'#[::-1] xbmctools.addDir('[COLOR red]>>>[/COLOR] [COLOR orange]Arama/Search[/COLOR]',url,14,'http://d...content-available-to-author-only...r.club/resimler/aramasearch.png',"special://home/addons/plugin.video.dreAM/fanart.jpg" ) xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR yellow]Enson Eklenen Diziler [/COLOR]',url,19,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png",'special://home/addons/plugin.video.dreAM/fanart.jpg' ) link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("li", {"id": "menu-item-171"}) liste=BeautifulSoup(str(panel)) for li in liste.findAll('li'): a=li.find('a') url= a['href'] name=li.text name=fix.decode_fix(name) name=name.encode('utf8') thumbnail="" if "Yeni Diziler" in name: pass else: xbmctools.addDir('[COLOR beige]>'+name+'[/COLOR]',url,19,'','') #14 def Arama(): dizi1='/moc.elzimulobnosdh.www//:ptth'[::-1] keyboard = xbmc.Keyboard("", 'Search', False) keyboard.doModal() if keyboard.isConfirmed(): query = keyboard.getText() url = (dizi1+'/?s='+query) Yeni(url) #27 def Canli4(): url='txt.nig/kabmaZa/bulc.rtmaerd//:ptth'[::-1] link=get_url(url) match=re.compile('<title>(.*?)--(.*?)</title>\n.*?<link>(.*?)\?.*?</link>').findall(link) for name,img,url2 in match: xbmctools.addDir('[COLOR beige][COLOR purple]>>[/COLOR] '+name+'[/COLOR]',url2,91,img,img) match1=re.compile('<title>(.*?)--(.*?)</title>\n.*?<link>http://roku(.*?)</link>').findall(link) for name,img,url2 in match1: url2='http://roku'+url2 xbmctools.addDir('[COLOR beige][COLOR orange]>>[/COLOR] '+name+'[/COLOR]',url2,116,img,img) #91 def de_get(name,url): xbmcPlayer = xbmc.Player() xbmcPlayer.stop() import requests as requests#halktv url1='882=di?php.hctaw/moc.okinig.www//:ptth'[::-1] link=get_url(url1) match=re.compile('src=".*?\?wmsAuthSign\=(.*?)">').findall(link) for cd in match: print "hosgeldin" url=url+'?wmsAuthSign='+cd#+tk xbmctools.yenical4(name,url) #19 def Yeni(url): link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"class": "article-list"},smartQuotesTo=None) panel = panel[0].findAll("div", {"class": "film-container"}) for i in range (len (panel)): url=panel[i].find('a')['href'] name=panel[i].find('img')['alt'].encode('utf-8', 'ignore') thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore') xbmctools.addDir('[COLOR beige][COLOR blue]>[/COLOR]'+name+'[/COLOR]',url,20,thumbnail,thumbnail) page=re.compile('>.*?</span><a class="page larger" href="(.*?)">(.*?)</a>').findall(link) for Url,name in page: xbmctools.addDir('[COLOR blue]Sayfa >>[/COLOR]'+'[COLOR red]'+name+'[/COLOR]',Url,19,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #20 def dizivideolinks(url,name): xbmctools.addDir('[COLOR beige]>>[/COLOR]'+'[COLOR gold]'+'1 . Secenek '+'[/COLOR]',url,22,"special://home/addons/plugin.video.dreAM/fanart.jpg","special://home/addons/plugin.video.dreAM/fanart.jpg") try: link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"class": "pagelinks"}) liste=BeautifulSoup(str(panel)) match2=re.compile('<a href="(.*?)"><span class=\'safirButton\'>(.*?)</span>').findall(str(liste)) for url,name2 in match2: xbmctools.addDir('[COLOR gold]>>[/COLOR]'+'[COLOR beige]'+name2+'[/COLOR]',url,22,"special://home/addons/plugin.video.dreAM/fanart.jpg","special://home/addons/plugin.video.dreAM/fanart.jpg") match3=re.compile('<a href="(.*?)"><span class="safirButton">(.*?)<').findall(str(liste)) for url,name2 in match3: xbmctools.addDir('[COLOR gold]>>[/COLOR]'+'[COLOR beige]'+name2+'[/COLOR]',url,22,"special://home/addons/plugin.video.dreAM/fanart.jpg","special://home/addons/plugin.video.dreAM/fanart.jpg") except: pass #9 def Dizi2(): url='http://w...content-available-to-author-only...5.net/' xbmctools.addDir('[COLOR red]>>>>>>>[/COLOR] [COLOR orange]Arama/Search[/COLOR]',url,25,"http://d...content-available-to-author-only...r.club/resimler/aramasearch.png",'special://home/addons/plugin.video.dreAM/fanart.jpg' ) xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR yellow]Enson Eklenen Diziler [/COLOR]',url,21,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png",'special://home/addons/plugin.video.dreAM/fanart.jpg' ) url1='http://w...content-available-to-author-only...5.net/' link=get_url(url1) soup = BeautifulSoup(link) panel = soup.findAll("div", {"id": "diziler"}) liste=BeautifulSoup(str(panel)) for li in liste.findAll('li'): a=li.find('a') url= a['href'] name=li.text name=fix.decode_fix(name) name=name.encode('utf8') thumbnail="" xbmctools.addDir('[COLOR beige][COLOR orange]>[/COLOR]'+name+'[/COLOR]',url,21,thumbnail,thumbnail) #25 def Arama2(): dizi2='moc.2dhizidilnac.www//:ptth'[::-1] keyboard = xbmc.Keyboard("", 'Search', False) keyboard.doModal() if keyboard.isConfirmed(): query = keyboard.getText() url = (dizi2+'/?s='+query) Yeni2(url) #21 def Yeni2(url): link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"class": "orta-ici"},smartQuotesTo=None) panel = panel[0].findAll("div", {"class": "kutu"}) for i in range (len (panel)): url=panel[i].find('a')['href'] name=panel[i].find('a')['title'].encode('utf-8', 'ignore') thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore') xbmctools.addDir('[COLOR beige][COLOR blue]>[/COLOR]'+name+'[/COLOR]',url,26,thumbnail,thumbnail) page=re.compile('\'current\'>.*?</.*?="page larger" href="(.*?)">(.*?)</a>').findall(link) for Url,name in page: xbmctools.addDir('[COLOR blue]Sayfa >>[/COLOR]'+'[COLOR red]'+name+'[/COLOR]',Url,21,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #26 def dizivideolinks2(url,name): urlList='' ok=True url=url+'/11' link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"class": "video-alan"}) panel = panel[0].findAll("div", {"id": "part"}) liste=BeautifulSoup(str(panel)) match2=re.compile('href="(.*?)"><span>.*?</span>').findall(str(liste)) for partUrl in match2: if "<" in partUrl: pass else: urlList=urlList+partUrl urlList=urlList+':;' url=url.replace('/11','/') total=url+':;'+urlList pDialog = xbmcgui.DialogProgress() ret = pDialog.create('Loading playlist...') match = total.split(':;') del match[-1] totalLinks = len(match) loadedLinks = 0 remaining_display ='[COLOR yellow]'+'Islem Yapilan Video Sayisi'+'= '+'' +str(loadedLinks)+'[/COLOR]'+'[COLOR blue]'+' / '+'[/COLOR]'+'[COLOR green]'+str(totalLinks)+''+'[/COLOR]'+'[COLOR lightgreen]'+' '+'Video Bulundu'+'[/COLOR]' note='[COLOR pink]'+'http://d...content-available-to-author-only...r.club'+'[/COLOR]'+' '+'[COLOR beige]'+'DreamTR Team'+'[/COLOR]' pDialog.update(0,'[COLOR red]'+'Videolar Olusturuluyor... Lutfen Bekleyin'+'[/COLOR]',remaining_display,note) i=0 for url in match: i+=1 name2=str(i)+'. Secenek' xbmctools.addDir('[COLOR gold]>>[/COLOR]'+'[COLOR beige]'+name2+'[/COLOR]',url,22,"special://home/addons/plugin.video.dreAM/fanart.jpg","special://home/addons/plugin.video.dreAM/fanart.jpg") #5 def Sinema1(): urlY='http://w...content-available-to-author-only...m.com/' xbmctools.addDir('[COLOR yellow]Arama/Search[/COLOR]',urlY,38,'http://d...content-available-to-author-only...r.club/resimler/aramasearch.png','special://home/addons/plugin.video.dreAM/fanart.jpg') xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR gold]** Yerli Filmler ** [/COLOR]',u'http://w...content-available-to-author-only...m.com/category/turk-filmleri',67,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg") xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]Yeni Eklenen Filmler [/COLOR]',urlY,67,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg") link=get_url(urlY) match=re.compile('<li class="cat-item cat-item-.*?"><a href="(.*?)" title=".*?">(.*?)</a></li>').findall(link) for url,name in match: xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR orange]'+name+'[/COLOR]',url,67,"","special://home/addons/plugin.video.dreAM/fanart.jpg") #38 def Aramasinema1(): sinema="http://w...content-available-to-author-only...e.org" keyboard = xbmc.Keyboard("", 'Search', False) keyboard.doModal() if keyboard.isConfirmed(): query = keyboard.getText() url = (sinema+'/?s='+query) sinemaRecent12(url) #67 def sinemaRecent12(url): urla=url link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"class": "moviefilm"},smartQuotesTo=None) liste=BeautifulSoup(str(panel)) for i in range (len(panel)): url=panel[i].find('a')['href'] thumbnail=panel[i].find('img')['src'] name=panel[i].find('img')['alt'].encode('utf-8', 'ignore') name=name.replace('–','&').replace('’','') xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,200,thumbnail,thumbnail) page=re.compile('current\'>.*?</span><a class="page larger" href="(.*?)">(.*?)</a>').findall(link) for url1,name in page: url1=url1.replace('" data-wpel-link="internal','') xbmctools.addDir('[COLOR blue]Sonraki Sayfa >>[/COLOR]'+ '[COLOR red]'+name+'[/COLOR]',url1,67,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #200 def ayyris(url): link=get_url(url) soup = BeautifulSoup(link) panel=soup.find("div", {"class": "keremiya_part"}) liste=BeautifulSoup(str(panel)) match1=re.compile('<span>(.*?)art 1</span>').findall(str(liste)) for name in match1: name="Part 1" url=url xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,29,"","") match=re.compile('href="(.*?)"><span>(.*?)</span>').findall(str(liste)) for url,name in match: url=url.replace('" data-wpel-link="internal','') xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,29,"","") match=re.compile('<strong>(.*?)YAKINDA.*?</strong>').findall(link) for name in match: name='Fragman' url=url.replace('" data-wpel-link="internal','') xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,29,"","") #40 def ayrisdirma1(url): link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("ul", {"class": "tab-baslik dropit"}) match2=re.compile('</span>\n\t\t\t\t\t\n\t\t\t\t\t(.*?)<span id="g(.*?)"').findall(str(panel)) for name,pid in match2: if "ragman" in name: pass else: Baglanvideo(url,name,pid) #6 def Sinema2(): url='/moc.elziimlifnalgab.www//:ptth'[::-1] xbmctools.addDir('[COLOR yellow]Arama/Search[/COLOR]',url,44,'http://d...content-available-to-author-only...r.club/resimler/aramasearch.png','special://home/addons/plugin.video.dreAM/fanart.jpg') xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR red]** Yerli Filmler ** [/COLOR]','http://w...content-available-to-author-only...e.com/film-izle-yerli',43,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg") xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]Yeni Eklenen Filmler [/COLOR]',url,43,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg") link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("ul", {"class": "ek-liste"},smartQuotesTo=None) liste=BeautifulSoup(str(panel)) for li in liste.findAll('li'): a=li.find('a') url= a['href'] url='http://w...content-available-to-author-only...e.com'+url name=li.text.encode('utf-8', 'ignore') name=name.replace(' '," ") if "rotik" in name: pass else: xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR orange]'+name+'[/COLOR]',url,43,"","special://home/addons/plugin.video.dreAM/fanart.jpg") #44 def Search2(): sinema="http://w...content-available-to-author-only...e.com" keyboard = xbmc.Keyboard("", 'Search', False) keyboard.doModal() if keyboard.isConfirmed(): query = keyboard.getText() url = (sinema+'/?s='+query) sinemaRecent1(url) #43 def Yenisinema2(url): link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"id": "icerik"},smartQuotesTo=None) panel = soup.findAll("div", {"class": "film-k kutu-icerik"}) for i in range (len (panel)): url=panel[i].find('a')['href'] url="http://w...content-available-to-author-only...e.com"+url thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore') thumbnail="http://w...content-available-to-author-only...e.com"+thumbnail name=panel[i].find('img')['alt'].encode('utf-8', 'ignore') name=name.replace('–',' - ').replace('’',' ').replace('&',' ') xbmctools.addDir('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]',url,45,thumbnail,thumbnail) pages=re.compile('class="sonraki-sayfa" href="#sayfa-(.*?)">Sonraki</a>').findall(link) for page in pages: url='http://w...content-available-to-author-only...e.com/index.php?sayfa=1' r = requests.post(url, data={'anasayfa_sayfano': page}) soup = BeautifulSoup(r.text) xbmctools.addDir('[COLOR blue]Sonraki Sayfa >>[/COLOR]'+ '[COLOR red]'+''+'[/COLOR]',url,43,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #45 def ayrisdirma2(url): urla=url link=get_url(urla) match=re.compile('</span>\n(.*?)<span id="g(.*?)" class="load"></span>').findall(link) for name,pid in match: r = requests.post(urla, data={'pid': pid}) soup = BeautifulSoup(r.text) match=re.compile('<iframe src="(.*?)"').findall(str(soup)) for url1 in match: if "media" in url1: pass else: url1=url1.replace('//ok','http://ok').replace('//www.youtube.com','http://w...content-available-to-author-only...e.com') xbmctools.addDir('[COLOR lightyellow]'+name+'[/COLOR]',url1,99,'','') #7 def Sinema3(): sinema='http://w...content-available-to-author-only...s.net' xbmctools.addDir('[COLOR yellow]>>[/COLOR] [COLOR red]>> - Arama/Search -<< [/COLOR]',sinema,48,"http://d...content-available-to-author-only...r.club/resimler/aramasearch.png",'special://home/addons/plugin.video.dreAM/fanart.jpg' ) sinema=sinema+"/?am_force_theme_layout=desktop" xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]Yeni Eklenen Filmler [/COLOR]',sinema,47,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png",'special://home/addons/plugin.video.dreAM/fanart.jpg') url=sinema link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"class": "sidebar-right"}) liste=BeautifulSoup(str(panel)) for li in liste.findAll('li'): a=li.find('a') url= a['href'] name= li.text name=name.encode('utf-8', 'ignore') name=fix.decode_fix(name) if name=="American Horror Story"or name=="Arrow"or name=="Breaking Bad"or name=="Da Vinci`s Demons"or name=="Dexter"or name=="Doctor Who"or name=="Fringe"or name=="Gotham"or name=="Lost"or name=="The 100"or name=="The Last Ship"or name=="The Originals"or name=="Hz. Omer"or name=="Masters of Horror"or name=="Mayday"or name=="Merlin"or name=="Person of Interest"or name=="Prison Break"or name=="Red Widow"or name=="Revolution"or name=="Sherlock"or name=="Sinbad"or name=="Slider"or name=="Star Wars: Klon Savaslari"or name=="Teen Wolf"or name=="Terminator: The Sarah Connor Chronicles"or name=="The Bible"or name=="The Following"or name=="The Killing"or name=="The Pacific"or name=="The Sopranos"or name=="The Vampire Diaries"or name=="The Walking Dead"or name=="Top of the Lake"or name=="Touch"or name=="Under The Dome"or name=="Vikings"or name=="Zero Hour"or name=="Hz. Omer" or name=="Yabanci DizilerAmerican Horror StoryArrowBreaking BadDa Vinci`s DemonsDexterDoctor WhoFringeGothamLostThe 100The Last ShipThe Originals"or name=="Filmler1080p Filmler2010 Filmleri2011 Filmleri2012 Filmleri2013 Filmleri2014 Filmleri2015 Filmleri3D FilmlerAamir Khan FilmleriAile FilmleriAksiyon FilmleriAltyazili FilmlerAnimasyon FilmleriAnimeBelgesellerBilim Kurgu FilmleriBiyografiCasuslukCizgi FilmlerCocuk FilmleriDansDram FilmleriEditor OnerisiFantastikGenclik FilmleriGerilim FilmleriGizemHint FilmleriIMDB 7.0+Kisa FilmKomediKore FilmleriKorku FilmleriMacera FilmleriMuzikalPolisiye FilmlerPolitikPsikolojikRomantik FilmlerSavas FilmleriSpor FilmleriSuc FilmleriTarih FilmleriTop 250WesternTurkce Dublaj FilmlerYabanci FilmlerZombi FilmleriYabanci DizilerAmerican Horror StoryArrowBreaking BadDa Vinci`s DemonsDexterDoctor WhoFringeGothamLostThe 100The Last ShipThe Originals": pass else: xbmctools.addDir('[COLOR beige][COLOR orange]>[/COLOR]'+name+'[/COLOR]',url,47,'','') #47 def Recent3(url): link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"class": "leftC"},smartQuotesTo=None) panel = panel[0].findAll("div", {"class": "moviefilm"}) for i in range (len (panel)): url=panel[i].find('a')['href'] name=panel[i].find('img')['alt'].encode('utf-8', 'ignore') name=fix.decode_fix(name) thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore') name=name.replace('HD','').replace('Izle','') xbmctools.addDir('[COLOR orange]>>[COLOR beige]'+name+'[/COLOR]',url,49,thumbnail,thumbnail) page=re.compile('current\'>.*?</span><a class="page larger" href="(.*?)">(.*?)</a>').findall(link) for url,name in page: xbmctools.addDir('[COLOR blue]SAYFA >>[/COLOR]'+'[COLOR red]'+name+'[/COLOR]',url,47,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") page2=re.compile('</a><a href=\'(.*?)\' class=\'page smaller\'>.*?</a><span class=\'current\'>.*?</span>').findall(link) for url in page2: xbmctools.addDir('[COLOR red]Onceki Sayfa[/COLOR]',url,47,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #48 def Aramasinema3(): sinema='http://w...content-available-to-author-only...s.net' keyboard = xbmc.Keyboard("", 'Search', False) keyboard.doModal() if keyboard.isConfirmed(): query = keyboard.getText() query=query.replace(' ','+') url = (sinema+'/?s='+query) Recent3(url) xbmctools.addDir('[COLOR yellow]YENI ARAMA YAP[/COLOR]',url,48,"","") #49 def videolinks3(url,name): url=url+'15' listeler=[] urller=[] link=get_url(url) soup = BeautifulSoup(link) panel=soup.find("div", {"class": "keremiya_part"}) liste=BeautifulSoup(str(panel)) match=re.compile('href="(.*?)"><span>(.*?)</span>').findall(str(liste)) for url,name in match: if "netu" in name: pass else: listeler.append('[COLOR beige][COLOR red]>>[/COLOR]'+name+'[/COLOR]') urller.append(url) dialog = xbmcgui.Dialog() secenek = dialog.select('Izleme Secenekleri...',listeler) for i in range(len(listeler)): if secenek == i: url=urller[i] xbmctools.VIDEOLINKS1(name,url) return url else: pass #1 def Belgesel(): sinema ='http://w...content-available-to-author-only...n.tv/' xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]Yeni Eklenen Belgeseller[/COLOR]',sinema,50,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png","special://home/addons/plugin.video.dreAM/fanart.jpg") link=get_url(sinema) match=re.compile('category menu-item-.*?"><a href="(.*?)">(.*?)</a>').findall(link) for url,name in match: xbmctools.addDir('[COLOR beige][COLOR red]>[/COLOR]'+name+'[/COLOR]',url,50,"","") #50 def BRecent(url): link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("div", {"class": "solBlok"},smartQuotesTo=None) panel = panel[0].findAll("div", {"class": "film"}) for i in range (len (panel)): url=panel[i].find('a')['href'] name=panel[i].find('a')['title'].encode('utf-8', 'ignore') thumbnail=panel[i].find('img')['src'].encode('utf-8', 'ignore') xbmctools.addDir('[COLOR cyan]'+name+'[/COLOR]',url,51,thumbnail,thumbnail) page=re.compile('<span id="pagSonra"><a href="(.*?)"').findall(link) for url in page: xbmctools.addDir('[COLOR blue]Sonraki Sayfa >>[/COLOR]',url,50,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #51 def BELayrisdirma(url): xbmctools.addDir('[COLOR blue]Play >>[/COLOR]',url,41,"","special://home/addons/plugin.video.dreAM/fanart.jpg") link=get_url(url) match=re.compile(' <a href="(.*?)"><span>(.*?)</span></a>').findall(link) for url,name in match: xbmctools.addDir('[COLOR blue]'+name+'[/COLOR]',url,41,"","special://home/addons/plugin.video.dreAM/fanart.jpg") def sembol_fix(x): try: x=x.replace('\x93','"').replace('\x92',"'").replace('\x94','"').replace('/',"-").replace('-',"").replace('_'," ").replace("'","'").replace('–','&').replace('’','`').replace('&','`').replace('\x85','...').replace('\xb4',"'") except: pass return x[0].capitalize() + x[1:] #16 def yetiskin(): url='http://e...content-available-to-author-only...l.cc/porn/' xbmctools.addDir('[COLOR red]>>[/COLOR][COLOR yellow]Info[/COLOR][COLOR red] <<[/COLOR]',"BILGILENDIRME",56,"","") xbmctools.addDir('[COLOR blue]New Movie>>[/COLOR]',url,78,"","") link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("section", {"class": "bc-list sect-catg"}) panel = panel[0].findAll("div", {"class": "col-md-3 col-sm-4 col-xs-6 bc-item"}) for i in range (len (panel)): url=panel[i].find("a", {"class": "bci-link"})['href'] name=panel[i].find("a", {"class": "bci-link"})['title'].encode('utf-8', 'ignore') thumbnail=panel[i].find("img", {"class": "bci-pic"})['src'] url=z+url thumbnail=z+thumbnail xbmctools.addDir('[COLOR beige][COLOR blue]>>[/COLOR]'+name+'[/COLOR]',url,53,thumbnail,thumbnail) #78 def RecentyetA(url): link=get_url(url) match=re.compile('href="(.*?)" \n title=".*?">\n <span class=".*?">.*?</span>\n <span class=".*?">\n <img src="(.*?)" alt="(.*?)"').findall(link) for url,thumbnail,name in match: url=z+url thumbnail=z+thumbnail xbmctools.addDir('[COLOR beige][COLOR blue]>>[/COLOR]'+name+'[/COLOR]',url,54,thumbnail,thumbnail) page=re.compile('<li class="page active"><a href=".*?">.*?</a></li>\n<li class="page"><a href="(.*?)">(.*?)</a></li>').findall(link) for url,name in page: url=z+url xbmctools.addDir('[COLOR blue]NEXT Page >>[/COLOR]'+ '[COLOR red]'+name+'[/COLOR]',url,78,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #53 def Recentyet(url): link=get_url(url) soup = BeautifulSoup(link) panel = soup.findAll("section", {"class": "bc-list sect-catg"}) panel = panel[0].findAll("div", {"class": "col-md-3 col-sm-4 col-xs-6 bc-item"}) for i in range (len (panel)): url=panel[i].find("a", {"class": "bci-link"})['href'] name=panel[i].find("a", {"class": "bci-link"})['title'].encode('utf-8', 'ignore') name=name.replace("Watch porno online","") thumbnail=panel[i].find("img", {"class": "item_img"})['src'] thumbnail=z+thumbnail url=z+url xbmctools.addDir('[COLOR beige][COLOR blue]>>[/COLOR]'+name+'[/COLOR]',url,54,thumbnail,thumbnail) page=re.compile('<li class="page active"><a href=".*?">.*?</a></li>\n<li class="page"><a href="(.*?)">(.*?)</a></li>').findall(link) for url,name in page: url=z+url xbmctools.addDir('[COLOR blue]NEXT Page >>[/COLOR]'+ '[COLOR red]'+name+'[/COLOR]',url,53,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #54 def ayrisdirmayet(url): link=get_url(url) match=re.compile('var films\= "http:\/\/(.*?).flv"').findall(link) for url in match: url='http://'+url+'.flv' name=' Now' xbmctools.addDir('[COLOR red]Watch '+name+'[/COLOR]',url,44,t,t) link=get_url(url) match1=re.compile("http:\/\/(.*?)part_(.*?).mp4").findall(link) for url,name in match1: url='http://'+url+'part_'+name+'.mp4' xbmctools.addDir('[COLOR red]Part '+name+'[/COLOR]',url,55,"","") link=get_url(url) match2=re.compile("http:\/\/(.*?).mp4").findall(link) for url in match2: url='http://'+url+'.mp4' name=' Now' xbmctools.addDir('[COLOR red]Watch'+name+'[/COLOR]',url,55,"","") #55 def VideoLinksyet(name,url): url=url+"|referer=http://w...content-available-to-author-only...l.tv/static/flowplayer/flowplayer.content-3.2.9.swf" xbmcPlayer = xbmc.Player() playList = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) playList.clear() xbmctools.addLink('RETURN List << ','','') listitem = xbmcgui.ListItem(name) playList.add(url, listitem) xbmcPlayer.play(playList) exec_version = float(str(xbmc.getInfoLabel("System.BuildVersion"))[0:4]) if exec_version < 14.0: xbmctools.playlist() else: xbmctools.playlist2() #56 def INFOyet(url): try: yetiskin() dialog = xbmcgui.Dialog() i = dialog.ok(url, "[COLOR beige]Uyeler icindir[/COLOR],[COLOR yellow]Turkiyeden Izlenemeyebilir[/COLOR] ","[COLOR yellow]DNS Ayarlariyla girilebilir[/COLOR]") except: pass #62 def AlmanS(): sinema='http://v...content-available-to-author-only...u.co/' xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR gold] ! Neue Filme ![/COLOR]',sinema,65,"http://d...content-available-to-author-only...r.club/resimler/yenieklenenler.png",'special://home/addons/plugin.video.dreAM/fanart.jpg') link=get_url(sinema) match=re.compile('<li><a href="/load(.*?)">(.*?)</a></li>').findall(link) for url,name in match: url='http://v...content-available-to-author-only...u.co/load'+url xbmctools.addDir('[COLOR blue]>>[/COLOR] [COLOR lightblue]'+name+'[/COLOR]',url,65,"",'special://home/addons/plugin.video.dreAM/fanart.jpg') #65 def Yeni2alman1(url): link=get_url(url) match=re.compile('<div class="s_poster">\n <a href=".*?"><img src="(.*?)" alt=""></a>\n </div>\n <div class="s_info">\n <h2><a href="(.*?)">(.*?)</a>').findall(link) for thumbnail,url,name in match: thumbnail='http://v...content-available-to-author-only...u.co'+thumbnail url='http://v...content-available-to-author-only...u.co'+url xbmctools.addDir('[COLOR orange]>>[COLOR beige]'+name+'[/COLOR]',url,201,thumbnail,thumbnail) page=re.compile('<b class="swchItemA1"><span>.*?</span></b> <a class="swchItem1" href="(.*?)" onclick').findall(link) for url1 in page: url='http://v...content-available-to-author-only...u.co/'+url1 xbmctools.addDir('[COLOR purple]>>'+'NeXt PaGe -> [/COLOR]',url,65,"http://d...content-available-to-author-only...r.club/resimler/sonrakisayfa.png","special://home/addons/plugin.video.dreAM/fanart.jpg") #201 def a6666(url): link=get_url(url) match=re.compile('src="http://v...content-available-to-author-only...u.co/anbieter01/(.*?).png" height=".*?" width=".*?"></font></b></legend><br><div class=".*?">\n <input onclick=".*?" value=".*?" type="b.*?">\n <div class=".*?" style=".*?">\n\n<a target=".*?" href="\n\n(.*?)\n\n">').findall(link) for name,url in match: xbmctools.addDir('[COLOR lightyellow]'+name+'[/COLOR]',url,99,'','') #66 def Linkleralman1(url): link=get_url(url) match0=re.compile('<img style="margin:0;padding:0;border:0;" src="(.*?)"').findall(link) for thumbnail in match0: xbmctools.addDir("INFO - Picture",url,99,'http://w...content-available-to-author-only...s.com'+thumbnail,'http://w...content-available-to-author-only...s.com'+thumbnail) match1=re.compile('http\:\/\/(.*?).eu\/(.*?).html').findall(link) for name,url in match1: url='http://s...content-available-to-author-only...d.eu/'+url+'.html' xbmctools.addDir('Play - > '+name,url,99,"","") #76 def genelarama(): keyboard = xbmc.Keyboard("", 'Search', False) keyboard.doModal() if keyboard.isConfirmed(): query = keyboard.getText() query=query.replace(' ','+') query=xbmctools.name_fix(query) try: sinema='http://w...content-available-to-author-only...e.org' xbmctools.addDir('[COLOR beige]vvvvvvvvvvvvvvvvvvvvvvvvvvvv[COLOR red]SINEMA 1[COLOR beige]vvvvvvvvvvvvvvvvvvvvvvvvvvvv[/COLOR]',sinema,'',"http://d...content-available-to-author-only...r.club/resimler/Sinema1.png","special://home/addons/plugin.video.dreAM/fanart.jpg") sinema='http://w...content-available-to-author-only...e.org' url = (sinema+'/?s='+query) sinemaRecent12(url) except: xbmc.executebuiltin('Notification("[COLOR white]Dream[COLOR white]TR[/COLOR]","[COLOR yellow]Sinema 1 Acilamadi[/COLOR]")') try: sinema='http://w...content-available-to-author-only...s.net' xbmctools.addDir('[COLOR beige]vvvvvvvvvvvvvvvvvvvvvvvvvvvv[COLOR red]SINEMA 3[COLOR beige]vvvvvvvvvvvvvvvvvvvvvvvvvvvv[/COLOR]',sinema,48,"http://d...content-available-to-author-only...r.club/resimler/Sinema3.png","special://home/addons/plugin.video.dreAM/fanart.jpg") sinema='http://w...content-available-to-author-only...s.net' url = (sinema+'/?s='+query) Recent3(url) except: xbmc.executebuiltin('Notification("[COLOR white]Dream[COLOR red]TR[/COLOR]","[COLOR yellow]Sinema 3 Acilamadi[/COLOR]")') #11 def Canli1(): urlF='http://f...content-available-to-author-only...n.com/foxtv/foxtv3/chunklist_w757713564.m3u8' xbmctools.addLink('[COLOR beige] >> FOX TR[/COLOR]',urlF,'') urlO='http://w...content-available-to-author-only...r.com/' link=get_url(urlO) match=re.compile('<a href="(.*?)"><img typeof="foaf:Image" src="(.*?)" width="190" height="120"').findall(link) for url,thumbnail in match: name=url.replace('tag','').replace('-',' ').replace('/','').replace('canli','').replace('izle','').replace('yayin','') url='http://w...content-available-to-author-only...r.com'+url xbmctools.addDir('[COLOR orange]> - '+name+'[/COLOR]',url,107,thumbnail,'') urlO2='http://w...content-available-to-author-only...r.com/?page=1' link=get_url(urlO2) match=re.compile('<a href="(.*?)"><img typeof="foaf:Image" src="(.*?)" width="190" height="120"').findall(link) for url,thumbnail in match: name=url.replace('tag','').replace('-',' ').replace('/','').replace('canli','').replace('izle','').replace('yayin','') url='http://w...content-available-to-author-only...r.com'+url xbmctools.addDir('[COLOR orange]> - '+name+'[/COLOR]',url,107,thumbnail,'') urlO3='http://w...content-available-to-author-only...r.com/?page=2' link=get_url(urlO3) match=re.compile('<a href="(.*?)"><img typeof="foaf:Image" src="(.*?)" width="190" height="120"').findall(link) for url,thumbnail in match: name=url.replace('tag','').replace('-',' ').replace('/','').replace('canli','').replace('izle','').replace('yayin','') url='http://w...content-available-to-author-only...r.com'+url xbmctools.addDir('[COLOR orange]> - '+name+'[/COLOR]',url,107,thumbnail,'') #100 def ctv1(name,url): try: req = urllib2.Request(url) req.add_header("User-Agent","Dalvik/1.6.0 (Linux; U; Android 4.2.2; A850 Build/JDQ39) Configuration/CLDC-1.1; Opera Mini/att/4.2.") response = urllib2.urlopen(req) link=response.read() response.close() match = re.compile('file:"(.*?)"').findall(link) for url in match: if url: url=url+tk xbmcPlayer.play(url) xbmctools.addDir('[COLOR red]RETURN List << [/COLOR]','',11,'http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png') match1= re.compile("file: \'http(.*?)m3u8\.'").findall(link) for url in match1: if url: url='http'+url+'m3u8'+tk xbmcPlayer.play(url) xbmctools.addDir('[COLOR red]RETURN List << [/COLOR]','',11,'http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png') match2= re.compile('filexxx= "(.*?)"').findall(link) for url in match2: if url: url=url+tk xbmcPlayer.play(url) xbmctools.addDir('[COLOR red]RETURN List << [/COLOR]','',11,'http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png') except: showMessage('[COLOR beige]Dream[/COLOR][COLOR red]TR[/COLOR]','[COLOR red]Iyi Seyirler Diler!!![/COLOR]') xbmctools.addDir('[COLOR red]RETURN List << [/COLOR]','',11,'http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png') #12 def Canli2(): ## urlaz='http://d...content-available-to-author-only...r.club/aZambak/2.2.txt' ## link=get_url(urlaz) ## match=re.compile('https://l...content-available-to-author-only...v.az/en/channels/(.*?)\n').findall(link) ## for name in match: ## url='https://l...content-available-to-author-only...v.az/en/channels/'+name ## name=name.replace('%20',' ') ## xbmctools.addDir('[COLOR beige]> - '+name+'[/COLOR]',url,101,'','') url1='http://w...content-available-to-author-only...e.co/izle/star-tv.html' req = urllib2.Request(url1) req.add_header("User-Agent","Dalvik/1.6.0 (Linux; U; Android 4.2.2; A850 Build/JDQ39) Configuration/CLDC-1.1; Opera Mini/att/4.2.") response = urllib2.urlopen(req) link=response.read() response.close() match=re.compile('<a href="http://m...content-available-to-author-only...e.co/izle/(.*?)" title=".*?"><img class=".*?" data-src="(.*?)" width="100" height="75"').findall(link) for url,thumbnail in match: name=url name=name.replace('.html','').replace('-',' ').replace('canli','').replace('izle','') name=fix.decode_fix(name) url='http://m...content-available-to-author-only...e.co/izle/'+url xbmctools.addDir('[COLOR gold]> - '+name+'[/COLOR]',url,100,thumbnail,'') #101 def ctv2(url): url=url.replace('https','http') req = urllib2.Request(url) req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36") response = urllib2.urlopen(req) link=response.read() response.close() match=re.compile('src=https://streaming(.*?)\n').findall(link) for url in match: if url: url='https://streaming'+url+tk xbmctools.yenical4(name,url) #18 def Canli3(): url='txt.3vtc/b/moc.enisened//:ptth'[::-1] link=get_url(url) match=re.compile('<name>(.*?)\n<thumbnail>(.*?)\n<link>(.*?)\n').findall(link) for name,Thumbnail,url in match: name=fix.decode_fix(name) if "Fox-tv" in name: url='http://f...content-available-to-author-only...n.com/foxtv/foxtv3/chunklist_w757713564.m3u8' xbmctools.addLink('[COLOR blue] >>[/COLOR]'+ '[COLOR beige]'+name+'[/COLOR]',url,'') else: xbmctools.addDir('[COLOR blue] >>[/COLOR]'+ '[COLOR beige]'+name+'[/COLOR]',url,100,Thumbnail,Thumbnail) #199 def yenical44(name,url): if "mail." in url: xbmctools.MailRu_Player(url) elif "vk."in url: magix_player(name,url) elif "ok." in url: xbmctools.ok_ru(url) elif "vid."in url: magix_player(name,url) else: xbmcPlayer = xbmc.Player() playList = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) playList.clear() xbmctools.addLink(name,url,'') listitem = xbmcgui.ListItem(name) playList.add(url, listitem) xbmcPlayer.play(playList) #105 def radyo(): url="http://d...content-available-to-author-only...r.club/aZambak/Rdy.txt" link=get_url(url) match=re.compile('<a href="(.*?)" target=".*?"><img alt="(.*?)" border=".*?" width=".*?" height=".*?" src="(.*?)" title=".*?"').findall(link) for url,name,thumbnail in match: xbmctools.addDir('[COLOR beige]>>'+name+'[/COLOR]',url,107,thumbnail,thumbnail) def showMessage(heading='IPTV', message = '', times = 5000, pics = addon_icon): try: xbmc.executebuiltin('XBMC.Notification("%s", "%s", %s, "%s")' % (heading, message, times, pics)) except Exception, e: xbmc.log( '[%s]: showMessage: exec failed [%s]' % (addon_id, e), 2 ) #116 def Calcanli6(name,url): xbmcPlayer = xbmc.Player() playList = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) playList.clear() xbmctools.addLink('[COLOR blue]'+'RETURN List <<'+' [/COLOR]','','http://p...content-available-to-author-only...s.com/files/icons/1714/dropline_neu/128/edit_undo.png') listitem = xbmcgui.ListItem(name) playList.add(url, listitem) xbmcPlayer.play(playList) exec_version = float(str(xbmc.getInfoLabel("System.BuildVersion"))[0:4]) if exec_version < 14.0: xbmctools.playlist() else: xbmctools.playlist2() #99 def magix_player(name,url): if "www.dailymotion.com" in url: xbmctools.daily_sec(name,url) elif "mail." in url: xbmctools.MailRu_Player(url) elif "ok." in url: xbmctools.ok_ru(url) else: UrlResolverPlayer = url playList.clear() media = urlresolver.HostedMediaFile(UrlResolverPlayer) source = media if source: url = source.resolve() xbmctools.addLink(name,url,'') xbmctools.playlist_yap(playList,name,url) xbmcPlayer.play(playList) def get_params(): param=[] paramstring=sys.argv[2] if len(paramstring)>=2: params=sys.argv[2] cleanedparams=params.replace('?','') if (params[len(params)-1]=='/'): params=params[0:len(params)-2] pairsofparams=cleanedparams.split('&') param={} for i in range(len(pairsofparams)): splitparams={} splitparams=pairsofparams[i].split('=') if (len(splitparams))==2: param[splitparams[0]]=splitparams[1] return param params=get_params() url=None name=None mode=None try: url=urllib.unquote_plus(params["url"]) except: pass try: name=urllib.unquote_plus(params["name"]) except: pass try: mode=int(params["mode"]) except: pass if mode==None or url==None or len(url)<1: CATEGORIES() elif mode==1: Belgesel() elif mode==2: Sinema() elif mode==3: Dizi() elif mode==4: canliyayin() elif mode==5: Sinema1() elif mode==6: Sinema2() elif mode==7: Sinema3() elif mode==8: Dizi1() elif mode==9: Dizi2() elif mode==11: Canli1() elif mode==12: Canli2() elif mode==14: Arama() elif mode==15: Kategoriler() elif mode==16: yetiskin() elif mode==18: Canli3() elif mode==19: Yeni(url) elif mode==20: dizivideolinks(url,name) elif mode==21: Yeni2(url) elif mode==22: xbmctools.frame(url) elif mode==24: xbmctools.dizividcal(url) elif mode==25: Arama2() elif mode==26: dizivideolinks2(url,name) elif mode==27: Canli4() elif mode==29: xbmctools.ayrisdirm1(url) elif mode==30: yerlidizi3() elif mode==31: Yeni3(url) elif mode==38: Aramasinema1() elif mode==40: ayrisdirma1(url) elif mode==41: xbmctools.VIDEOLINKS1(name,url) elif mode==42: xbmctools.yenical4(name,url) elif mode==43: Yenisinema2(url) elif mode==44: Search2() elif mode==45: ayrisdirma2(url) elif mode==46: Kategoriler2() elif mode==47: Recent3(url) elif mode==48: Aramasinema3() elif mode==49: videolinks3(url,name) elif mode==50: BRecent(url) elif mode==51: BELayrisdirma(url) elif mode==53: Recentyet(url) elif mode==54: ayrisdirmayet(url) elif mode==55: VideoLinksyet(name,url) elif mode==56: INFOyet(url) elif mode==59: VideoLinksyet2(name,url) elif mode==60: INFOyet2(url) elif mode==62: AlmanS() elif mode==65: Yeni2alman1(url) elif mode==66: Linkleralman1(url) elif mode==67: sinemaRecent12(url) elif mode==76: genelarama() elif mode==78: RecentyetA(url) elif mode==89: yeniler3(url) elif mode==90: ulkeleregoresinema5(url) elif mode==91: de_get(name,url) elif mode==94: Recentsinema5(url) elif mode==95: ayrisdirmasinema5(name,url) elif mode==99: magix_player(name,url) elif mode==100: ctv1(name,url) elif mode==101: ctv2(url) elif mode==105: radyo() elif mode==107: xbmctools.radyocal(url) elif mode==5000: calinma(url) elif mode==116: Calcanli6(name,url) elif mode==140: Diziara() elif mode==199: yenical44(name,url) elif mode==200: ayyris(url) elif mode==201: a6666(url) elif mode==2000: __settings__.openSettings() xbmcplugin.endOfDirectory(int(sys.argv[1]))