Author: VietTrung
Xorathrust (345 solves)
Challenge
Read the script and solve the problem.
Demo Flag: KCTF{Fl4g_H3r3}
encrypt.py
python
def main():
flag_enc = ""
with open("flag.txt", "r") as infile:
flag = infile.read()
flag = list(flag)
for each in flag:
each = chr(ord(each) ^ 0x66)
flag_enc += each
with open("flag.enc.txt", "w") as outfile:
outfile.write(flag_enc)
if __name__ == "__main__":
main()
flag.enc.txt
-%2 S9R9RS9V
I see that they read every character and xor it with 0x66
It's very easy to decode by xor again with 0x66
with open("flag.enc.txt", "r") as infile:
flag = infile.read()
# flag = list(flag)
print(flag)
flag_enc = ""
for each in flag:
each = chr(ord(each) ^ 0x66)
flag_enc += each
print(flag_enc)
Flag: KCTF{ju5t_4_b45ic_x0r}
Factorie (505 solves)
Challenge
Have you ever heard of prime factors? The file challenge.txt contains a number that has two prime factors. Can you find them?
Demo Flag: KCTF{small-number_big-number}
You can using an online tool to solve this challenge like dcode.fr
p = 39434538531451803895327 x 55131777675015246472249
Flag: KCTF{39434538531451803895327_55131777675015246472249}
Vaulter (167 solves)
Challenge
A freshermen of XOR University of Science & Techonology has acquired keen interest in cryptography. To protect his files, he has created a script that encrypts the files. Are you capable enough to get the file(s)?
Demo Flag: KCTF{some_text_here}
vaulter-challenge.py
python
import sys
import random
def main():
byte_data = []
file_name = sys.argv[1]
num = random.randint(1, 1024)
with open(file_name, "rb") as f:
byte_data = f.read()
bdh = byte_data.hex()
out = []
for each in list(bdh):
out.append(ord(each) ^ num)
concat = "".join(chr(i) for i in out)
with open("output.enc", "w") as f:
f.write(concat)
if __name__ == "__main__":
main()
vaulter-output.enc.txt
ȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃɗɕɒȇɗȁȅɐȆɒȃȂȃȃȃȃȁȃȃȆȃȃȃȃȂȀȃȃȃȋȃȁȆɑȇȀȅɕȅɖȄȇȅȆȅɖȄȇȆɕȆȇȄȊȄȃȅȆȄȀȆɗȁɖȄȋȅɗȅɐȁȃɒȁȃȇȃȁȁȋɒȃȃȃȃȁȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɑȇȊȇɐɑȅɖɐȁȀȃȂȃȇȆɕȄȊȆɕɒȃɕȊȂɑȄȆȆȅȁɖȋɒȁɒɒȁɒȃȁȋɑȀɖȊȅȁɗȆȁɖȊȃȄȂȋȄɑȃȁȆȅɕɗȊȁɐȄɑɐɕɖɑɖȂȀȃȁȆȂȆȆȃȂȊȂȃɒȅɐȁȁȁȆȀȀɕȄɗɖȀȀȆȅɐȅȋȀɗȂɗɒȊɒȅɐȃȊȂȂɑȆȄȄȁȆɖɑȂȄȀɗȊȅȋȂȊȀȆɖȅȊȀȄȁɑɗȊɗȄɖȇȁɗȄɕȅȇȂȊȁȅɖȂȊȇȀȃɗɖȇȂɐȊȀȅȋȃȅɐȀȇɑɐɑɗȂȊȇɐȀȅȃȂȀȃȁȀɑȆɐȀȊȁɐɗȆȀȃɒȇɕȊɐɒȀȊɐȋȀȂȆȆȋɕȋȃȃȋɖȁɒȊȆȋɕȆȅȁȇȄɒȋɗȀȀȂɖȋȇɕɐȂȅȀȀɖȃɕȄɑɗɗɖȃȀȊȄɗɖȁȆȄȃȁȊȇɕɑȆȃȄȂɑȃɖȆɖɒȃȂȁȃɑȊȀɑȁɗȄȀȆȄɗȅɖȇȋȁȁȂȋȅȇɗȊȄȀɗȀȆȋȅȄȊȆȇɐȋȇȅȃɑȇȂȇȋȊɖɒȄɐɖȊɗȇȊɕȊȇȄɐȊȄȆȃȊȃȄȁɗɑȋȀȄȀȂɗɕȃȋɖȂɒȂȋȀɕȊȋȆȃȆȄȋɖȃȄɖɐȄȇȂɕȄȇȀȇȆȂȁɑɐȋɐȅȁȁɒȅȄȄȅȂɒȊȋɑɒɕȄɐȆȇȆɐȄȊɑȊɑȃɒȇȁɐȇɖɗɑȂɐɖȃɕȇȆȆɒȆȁȆɑȇɕɒɗɒȁɗȇȇȁɕȃȂȊȂɐɖɗɐȊɒɒȁɒɗȆȋɒȂɗɗȊɖɕɕȁȋȃȄɒȅȋɗȃȂɑɐȀɐȇȆɖȀɗɑȂɗȃɕȁȊȊȂɖȃȂɒȃȃȀɑɖȄȇɖȋȇȂȆȇɐȀɕɒɕȇȅɕȂɐɑɑɐȂȀɒȇɒȁɗɐȋȊȊȋȂɒɑȋȀɐȇȅȅɑɗɗȃȊȊȂȅȋȃȀɒȂȄȊɕȅɐɕɖȅɗȋɗɒȊɐȋɒɒȇɐɖȄȂɕȇȃȂȅȊɒȀɖȀȀɕɐȅɗɖɒɕȅɐɒɗɐɖȅȊɖȃȃȃȀȂɖȊɗȀȄɕȆɗȊɑȇȋɗȅȅȄɐɕȃȄɕȆȅɗɒȃȇȃȂɗɐȋɖȅɗɑɕɑȅɗɕȋȃȀȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȂɖȊȂȂɒɑȄɖɕȃȃȃȃȃȃȇɖȃȁȃȃȃȃȃɑȃȃȃȋȃȁȆɕȄȁȅȆȅɐȄȀȁɕȁɖȄȁȅȆȅɐȄȀȁȃɒȁȃȇȃȁȁȋɒȃȃȃȃȁȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɒɐȊȁɐȂȅɒɐȀȀȃȃɐȇȃɖɕȋȀɕɗȋȀɗȂɑɗȆȂɗɒɐȂȂȋɒȀȇɖȁɕȅȀɗȃɗɑȂȋɗȊȃȄȃȋȆɑȇȊȇɐȂȀɗɑɗȋȅɒɗȄɕɖɕɗȀɐɗȋɗȋȃȁȆɗɖȊȅȂȇȄɐɑɗȁɗȀȊȀɗȃȄɒȄȀȊɐȇȅȄȆɖȃȊȇȆɗɕȃȂɒȊȅȆȆȃɗȋɒɑɗȃȊɗȅɕȊȆɖɐȀȆɑɕɑɑɐȄȋȃȃȊȆȋȆɑɐɒȆȀȂȄȋɗȅȄȃɖȁȃɐȊɑɖȅɕȅȅȅɕɗɐɒȁȀȇȊȁȊɐɒȋȀȋɑȆȊȂȆȋɒɐɕȂɒȃȅȊȂɕȋȋȋȊȋɐɗɐȃȂȀɖȆȁɒȇȇɕȅɖȆɒȄȃɑȅȊȁȁȁȊɐɕɗȇȅȀȁȇɑȀɒȀȊɖȄȂȆȆɗȄɕȄȊȋȄɖȀȀɒȃȊȊȀȂɗȆɗȅȅɒȇȋȆɑȄɑȃȄɒɒȀɗȇȆɑɖȋȅȂɗɑɒɐɖȂȊȄɖȃɒȅȅȀɕɑȂȊȄȀȀȁɗȊȃȋɕɐȁɗɖɑȁȆɗɐȇȆȇɖɒȊȀɑȋȀȁȋɗȅɒȁȊɕȆȁɐȂɒȅɐȀȃȁɕȁȆȊɐȊȂȅȁɒɐȃɒȂɒɕȃɑɐɗȂɖɒȄɒɒȀɑɕɒȄɐȆȋȊȋȆȁɐȃȊɒȂȃȊȋȊȁɕɕɑȄɐȅȅȆɐȂȁȆɒɕɖɖȄȋɒɖȅȂȊȀɕȀȅɖɕȁȂȆȊɑȇȆɕɖȂȅɕȂɑȊɐȆɗȇȂɕȀȃȂȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃɗȅȅȇɑȀȆȂɕȇȃȃȃȃȃȃȀȂȃȀȃȃȃȃȂɐȃȃȃȋȃȂȄȄȅɕȄȁȅȇȁɕȆɕȄȁȅȆȅɐȄȀȁɕȅȇȅɕȅȀȄȆȅɗȅȆȅɖȄȇȁɖȄȋȅɗȅɐȁɖȄȁȅȆȅɐȄȀȁȃɒȁȃȇȃȂȁȋɒȃȃȃȃȂȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɒɐȊȁɐɑȅɒɐȀȀȃȂȃȇȆɕȄȋȆɕɖȋȀȊȋȄɗȁɗȀɑȄɗȆȃȇȁɖȇȅɐȇɒȁȂɗɑɗȅɕɗȃȃȇȆȂɖȀɕɒȋȁɐȃȊɐɗɕȇɖȂɑɕɒɕȇȋȇȊɖɑɗȃȅȃɑɒɕȃȄȁɒɖȊȋȄȀɐɕȋȃȀȅɗɑɐɕɐȂȋɒȄȄȋɐɗȇȄɑɒȄɒȃɐȋȄȁȂȃɖȋȋɐɒɕȄɑɗȄȁɒȄȋɒȊȂɖɒɕɖɖȇȂȂȃȅɑȆȄȅɑɖɑȂɗȁɒȂȋȊȂȅȃȆɑȆɖȆɖȅɐȊɖɗȃȅɒȇɖȇɑɗȇɕȆȋȂȇȇɒȁȀȋȆȁɗȃȀȂȋȄɑȆȊȇȅȇȀɒȂɐȀȇȅȆȀɖɒȃȇɑȁɕȋɗȋɕȋȀɖȅȀȇɐȅȆȅȃȅȅɗȆɖȄȆȋɑȄȁȊȆɖȄȄȄȀȁȇɖȂȊȆȃȊɖȀȃɐȆɒɖȆȅȂȃȄȄɕȆȀȆȋȋȅɒȃɐɕȋȂɕɑȅȅɕȊɒɗɖɖȃȋȀȀȄȅɕȃȀȀɒȀɖȆȀȁȂȀɕȄȃɕɕȋɐɐɐɖȊȀȋȇɒȆȋȂɗȆɑȅȇȃȆȊȀȀȃȇɑȇȇȊȃɖȄȇȆȆȅȇɑȋɒɗȃȂɕȋɑȅȀȀȁɒȄȆȃȁɐɒɒɐȃɒȀɐȆɒȊɐȃȅȂȊɖɒɑɑɕȆɗɑȁȊɖɗȀȁɖɕɖɑȅȂɕɐȅɖɕɑȃȊȋȄȀɑȋȆȊɗȁɒȂɕȂȋɖȁɑɑɗɑȄȂȀȋɕȊɕɖȋȁȋȁȂȇɕȀɖȄɒɕȊȃȆȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȀȊȆɑɑɒɑȄȆȊȃȀȃȃȃȃɑȄȁȁȃȃȃȃȂȂȃȃȃȃȃȃȄȄȅɕȄȁȅȇȁɕȅȇȅɕȅȀȄȆȅɗȅȆȅɖȄȇȁɖȄȋȅɗȅɐɖɐȆɒɗɗȇɖɗɑȀȃȂȋɑɗȊɕɑȇȄȄɕȃȄȁȀȊȃȊȊȁɗȁɒɖȋȆȋȋȂȅɑȂȂȅȂȋɗɒȁȅȆȆȋȀȆɗȁȀɗȄȄȂȂɒɒɕɕɖȊȀɖɗȀȇȄȇɗȀɒȇɑɗɐȅȆɖȅɕȇɕȀȁȀɑȀɕȅɗȃȂȃȊȃɒȅȋȋȀȅȊɑɖȇɒɕɐɗȊȀɖɗɕȀȊɖȄɑȀȆɗȁȊɖɖɕɖɐȂȁȆɒȀȅȃȋɖȊȆȁȅȋȁɕȄȋȀɗȅȄȅȂȇȃȃɐɐȊȂȇȋȃȋȊɕɕȅȋȀɐɕɖȄɐȄȆɑɑɑȃȂɗȃȃȅɕȁȃȇȆȁɐȂȄȂȀɕȆȋȅȃȂɗȂɐȃɐȆɖɑɖɗȋȁɕɖȁȇȇɒȃȊɐȅȂȅɖȋȃȋȆɖȃȀɒȁɖȁȇɖɒȃȄȊȊȀȂȀȁȃɖȇȀȋɗȀȁɐɐɒȃɗɖȅȅȃȇȁȊɒȂȇȆȅɒɑȅȊȂȅȃɒȂȇȋȆȀȋȁȄȃȆȋȃȋȊȆȋȇȀɑȆȂȁɑȁɒɗɕɒȇȂȁȃȋȅɑȅɗɕȀȃɗȁȂȊɕȇȀȂɗɗȇȄȃɖȋȄȁȀȀɑȇȇȇɐȂɐȁȇɖȄȅȋȃȊɗȂȃȅȆȆȃȂȊȄɐɗȊȅȃɑȃȊɑȋɐȋȇɐȇɗɐȄȅɒȅȇȁȀȂȅȋȅɐȆȀȇɗȇȀȃȅɗȆȁɐȊȄȆɑȂȅȆȀȇȁȇȀȁȅȋȇȂȁɑȀɑȃȄȃȆȂɑȄȋȂȂȂɕɗȁȃȆȄȀɐɒɖȁȂɑȅȊȅȀȇɗɐȊȇɑȋɒȁȆȂȀɕȊɒȂȊȅɒȊȀɑɐɗȆȊȇȆȂɖɗȅȁȊȊȀȂȆȇȊȋȆɒȃɖȋȁɖɑȋɐɐȋɒȆȂȆɖɐɒȂȅȋɑȅȀȀȅɑȇȃɖȅɑȄȋȊȊȋȀȀɗɒȋɐȁɑȅȇɒɑɕȀɑȋȀɒȋɖɒɒȋɒɒɐȃȃȀȄɒȂȆɕȊȄȊȂɗȂȋɒɕȊɖɗȋȋɒɗȅȋȋȀȋɒȀȋȋȋɖȆȋɐȇɗȁȋȆɐɐɗɗȊȀȃȅȂȊȃɕȃȆȆɖȁȃȄȆȊɑȀȅȅȅɖɖɑɐɗɕɗȃȃȄȅȅɖȃȃȄȇȀȆɑɖȂɕɐȇȊɑȂɒȁȁɗȇȃɑɑȅɗɒȂɒȋȆȊɐȀɖɒɖɐɒȁȄȇɒɖȇȄȁȋȆȇȅȂɖȋȄȄȅɐɒȅȄȇɑȁɐȄȄɐɐɗɐȃȀɒɑȆɖȁɗɖɑȁɑȆȋȀɕȋɖɐɐȆȊȃȅɒȆɗɗɐɒȃɐɐȆɒȄȆȀȁɖȂȇȊɐȆȃɐɑɐȋɗȅȂɖɗȋɕȁȋȂɑȁȃȁɐȃɖɗȊȁȅȃȅȃȃɕɐȂȋȊȇȋȂȅɖɖȁȊȇȂȂȂɗɑȇȀȀȇɕȊɗȇȃɕɒȁɒȋɗȄɖɖȂɗɕȄɕȅȋȁȁȅȀȇɐȁȁȊɐɐɒȊɑȊɗȊȀȀȄȅɒȂɒȀɒȋȀȄȅɐɖɕȊȆȅȃȄȁɒɐɗɐɖȀȃɑɑȁɕɗȄȀȇȋɕɑȃȂɑȁȆɑȂȊɒɑȁȃȄȇȆȂȆȆȄȆɒɒȅȀɐȂȋɗɑȅȃȀɒȃȇȅɐȇɑɒȀɖɑȇȋȄȋȆɒȃɖɖɗɐȁɐɖȁɖɐȊȃɖɑȅɑȁȂȅȇɑɗȀȋȆȇȃȇɗȁȃɒȇȇȄɕȅɗɒȃȄȄȄȅȆɗȁȇɒɐȄȂɐȀȅȆɕȁȋȊȂȃȀȀȄȄȁȁȊɖȂȊȄɑȊȇɗɒɐȂȁȇɑȂȁȇȂɗȂȁȋȄɐɐɗɒȄȃȄȂȁȁɗɖȇȁȀȇɒɑȁȊȀȆȃɒɐȄȅɒȇɗɗɐȂɕȁȄȆɑɐȇɖȆȅɕȇɖɒɐȁȆȇȇȊȅȊȁȆȇȆȋȅȀȀȆɐȄɐȂɖȃȂȇȅȋȋɐɐȂȇȁɖȇɐȃȋɗȀȆɗȆȋɐȊȁɐȄɗɕɖȃȀȇɐȋɖȃȂɐȃȀȊɗȁȀɑȄȋɐɗȁȊɐɗȁȃȆȇȋȀȃȆȁȃɑȅȊȄȃȃȁȂȋȄɖȄȆȋȆȊȀȀȀɕɐɒɖȄȆȄȀɐȆɗȆȄɕȄȁȀȂȀɗɑȄȃȆɕȁȃɖȁɑɕɐɖɑɐȄȇɕȃɗȇɐȋȅȇȂȇɒɖȂȀȇȄɖȊɒȊȆɕȁɕɒȄɒɗȅȅȄɖȅɗȀɒȂȄȊȂɒȆɕȆɐȆȊȁȅɐȁȂȋɐȂɒɖȀɒɕȇȀɕɖɐȂȅɒɕɗȂȅɑɕȇȂɒɑɗȇȅɒɕɗȂȅɑɕȇȂɒɑɗȇȅɒɕɗȂȅɑɕȇȂɒɑɗȇȅɒɕɗȂȅɑɕȇȂɒɑɗȇȅȆɕȀȁɒɕɗȂȅɑɕȇȂɒɑɗɐȅȅȄȄɗɕȂȀȃȄȋȀɕȀɐȀɕɕɖȆȅɑȇȁȊȋɒȆȋɕɑɒȁȂȄȆɗɑȇɑȊɑɑȃȀɖɒɑȆȁȁȄɖȆȂȇȇɖɒɐȀɖȋɑɑȂɑɑɗɕȅȅȆɑɗɑȊȄȃȀɑɖȁȃȊȅȋɒɖɗɑȁɒɐȋɑȁȇɖȂɒȁȀȀȀȆɖɐɒɑȊɒɑȆȋɒȆɕɕɗȀȀȀȇȄɒɕɖȋȃȄɒɗɗȅȊɖɕɑȂȄȋȀȆȆȅȇɗɕɑɑɑɑɖɗȊȁɒɑȂɑɕȃȂȂȀɒȇȇȁȀɒȇȋɗȄȄȀɒɖȆɕȆȊɖȁȁɗȀɐɐɒɐȊɒɗȆȆȄɕȋȆȆȊɑɖȁȄȇɒɗȀȄɐȀȀȃɐȂȀȅȅɕȅɕɒȄȅɐɒȅȇȁȊȋɑȆɖȅȀȇȀȄȅȆɑȀɗȇȅȂɑɗȂȀɗȇȂȊȆɗȆɕȀȁɑȋȀȂȅȆȀȋȂȂɖȋȇȇȂȂɒȄȊȊȂȁȋɖɐȄɐȇȁȃɐɑɑȁɗɗȅɗɐȇȆȄɑɒɐɑɗȄɖɒȋɖȀȆȆɐɕɗɖȀȅȇɕȃȂɑȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȃȄɑȄȇȃɒɒȁȇȃȅȃȃȃȃȋɕȂɒȃȃȃȃȂȆȃȃȃȃȃȃȄȄȅɕȄȁȅȇȁɕȄȇȅȋȅȆȅɗȅȆȁɕȄȇȅȋȅȆȅɗȅȆȀȂȁɖȄȋȅɗȅɐɖɐȆȊȇɗȋɑȂɑȀȄȂȋɑɖȂȄɕɒȂɕȋȅɑȊȀɑȂɖɗɑȀȀɕɖȆȋɖȁȃɗɖȀɑȂȊɗɑȇɗȊȇɗȇȁȄȅȊȀȊȁɒȀȀɐȁȀɐɕȁȋɗȅȋɐȋɐȁȇɖɕɒɖȃȊȋȂȊȁȊɐȄɒȁȊȂȇɗȁɗȁȇȀȃȀɑɗɕȆȆȃȇɒȃȀȃɗȀȇɕȇɗȁȂɕɑȀȊȃɗȃɒȅȀɕɒȁȊȁɐȅȅȀȋɕȅɐɑȊȇɑɑɒȃɖȋȇɗȁȀȆɒɐɕȆɕȂɑɐɒɕȂɖɑɗɒɕɕȇȇȋɖȀɑȊȄɒɖɗȁɐɐȆɗȅȃȊɒȇȃɐȊȂɒɐȅɑɗȄɒɖȀȋɑȅȃȆɑȀȊȃȇȇȁȋȋɑɑɑɕȅɑɗɖȀȅȂɒȆȅɗȆɑȋɐȋȀȁɐȃȁȊȋȅȇɑȃȅɑɐɕȁȂɑȀɒɕɖɗȄɕɕɐɗȂȆȆɑȃɐȄȂȀȊȋȇȁȇɑɗȋȅȄȅɐȃɕȄȇɖɗȋȇɕȀɖȊȆɖɑȆɐɒȇȁɗȂȃɐɗȋȂȆȀȁȋȆȊȊɖȋȂɑȂȀȊɒȃȁȁɖɒɒȀȇɒɖȇȅȂȇȊɐȃɒɑɕȁȊɒɖɗȅȂɗɒȄȆȊȇɗȃȂɐɒȅɐȁɑȃȀɒȊȄȃȄɑȄɑȀɐȇȅȁȂɑȇȋɖɒȆȇɑȄɑɑɕȄȃȀɖɐȃɖȁȆɕɐȅȊȊȅɐȃȋȀȂȀɗȊȁɒɖɒȂȅȅɒȂɑȃɗȂɒȇȁȅɑɕɗȋȊɐȃȆȊȋȆɒȁȄȃȃȄȄȅɗȀȂȇɖȇȇȇɖȋɕɖȂȂȊɑȄȁɗȃɐȂȋȂȄȂɗȆɗɗɑȆȂȄɕȄȅȄȆɕɕȅɒȄȆȅȊȋȇɕȊȂȅɗɑȊȁɗɗȆȃɕɗȁɗɖɐȂȅȃȅɗȂɒȇɒɖɖɐȅȋȀɐȆɒȂɒɑɒɒɖɖȄȀȅɕɗɒȆȄɕȃȆɐȃȄɐȂȀȀȄȅȋȃɗȊɒȋȀɖȅɗȁȊɕȃȁȋȃȀȃȂȇȀȀɐɗɑȊȊȇɑȂȆɖɒɕɗȀɖɑȄɑȃɑȅɐȃȊȊȇȂȄȃɗɑɖɕɑɒɗȄɖɒȀɒȅɖȂȇɑɕɖȂɑȂɑȄȋɗɕȊȀȂɕȃɗɒɕȇȃȄȊɗȂɗɗɐȃȃɕȋȄɐȂȁɒȋȅȁȆȆȃȆɖɕȇȃɐȀȂȅȊɗȆȃȀȆȄɐȀȁɑȆȃȆɖȅɐȅɖɖȃȆɑȋɖɗɕȄȄȆɑȂɒȆɖȋȂȂȁȋɐɑȁɐȊȃȅɗɒɕȂȊɒȋɗɒȃȊȋɖɗȂȁȀȁȁȅɕȋȋȅȂȂɗɖɕȂɗɐȅȂɒɑɑɖȋȃɒɕȆȃɗȆɗȁɖɒɐɒɖɗȀȀɑɖȅɗɒɗɒȆɖȃȁȂɒȂȇȀȃȂȆȃɐȊȃȆȂɐȅȆȂȅȊɕȇɕɖȂȂȋȋȇȃȁȂȄȃȃȋɐȇȅȂȇȆȊȃȄȁȋȇɖɐȇɐȁȊɑȋȁȋɐȀȃɗȂɖɐɗȇȊɗɒȂɗȀȂȃɕɕɖȆɐȄȆȆȁȆȂȆȂȂɑȃȃȄȇȂɐȊȀɒȅɕȃɒɗȊȇȅȊȀɖȇȅȀɑȂȊȃɒȁȁȊɖɕɗɒȊɕȃɒɒɕȄȅȃȊɕȁɕɒɗȆɒɑɕȀȁȄȁɕɐɕȊɕɕɐȄɒɕɖɕȇɖȊɕȊȊȀȊɕȂȄȅȀȅɕɗɒɗɗȃȃȆȊȆɐɑȅȄɑɕɑɐȀȆȄȄɕȀɗɕɕɗɐɕɒɕȀȊȄɖɕɗɕȀɖɕɑɗɒȋɐȅȄȅȆɕɐȊɑȊɕɑɖȄȋɕȀɗɑɖɕɕɕɖȇȊɖȅɑɑȇɑɖȄȊɕȂɖȅɖȆȋɑɗȄɗɕȄɖɕȊɐȄȋɕɐɕȃɐȄȃȊɕȋȁȆȂȂȊȄɖȋɐȆȁɐȋɒɐȆɑɕȃɗȇɑɒȇɑȆȁȀȂȇȂɐȀȃȃȄȃȇȇɗɕɐɗɖȁȀȋȃȂɒȋȅɐɖȂȅȄȀȂȃȀȂȊȊȃȀȅȃȅɕȇȋȃȁȄȂɒɕɒɗȅȂɐȅȃȅȃɐȃɕȆɒȃȂɖɐȄɕɑȆȇɐȋȋȆȃȊȄȋȄɗɕȅȆȃȁȀȄɐȊȇɗȃȂȊȇȄȃȅɖȃɐɗȁȇɗȆȋȃȋȄȋȇɖȃȂɖɒȂɐȅȀȊɗɗȊȇȅȀȊȆɒȀȀȃɐɑȅȁɕȀɖȃȄȇȆȅɐȅɗɗȃȆɖȃɐȇȀȇȄȅɑȃȊȅɖȆɐȂȅɐȁɒɗȅȀɗȀȁɑȊȃɐȂȁɒȋɗȂɑɐȋȀȇȆɐɒȇȂȃɐȀȀɐȋȁɗɗȊȇȄȁȅȂȃȂɒɐɐȂɖȁȃɒȇɐȆɕȆȂȃȋȆȊȇȀȃȀȁɖȅɗȅȃȀȅȇɕȆȃȃȀȁȋȅɖȇȂȋȋɗɑȇɗȆɑȇȀȁɑɒȋȂȆȁȊȂȊȄɑȊȋȊɒȃɐȋɑȄȂȅȊɑɐȀɕɑȆȅȋɕȅȃȊȀɕɑȀɖȀɐɗȂȊȂȅȁȅɕȃȃȅɐȄȁȃȊɑȂȂȅɐȅɖɑȅȃɐȅȇȂȅɒȅȇȃɐȆȁȆɐȇȅȂɖȃȃȊɖȊȋȇȋȂɖɐɗȅȊɒȋȃȆȊɐȄȂȊȂɖȊȂȋȅȁȅȁȃɗȁȁɐȋȊȋɐȊɖȅȀȅȊɗȅɑȄȇȅɕȃɒȊȊȀȂɒȄɕɗȂȃɐɕȆȀȂɗȇȊȀȊȊɒȊȋȊȃȃȄȋȃȊȃȀȁɑȁȇɕȁȅȇȂȃȁɗȁɒȊȊȂȀȀɐɒȊȁȀȁɕȅȂȀȀȅȂȂȇɑȂȇȆȋȄȄȃȋȀȄȊȁȁȃɕɒȃɖȊȂȄȆȊȂȃȄȊȃȅɗȇɗɕȄȄɗȃȇɑȆȄȇȆɕɑɐɑȄɖɕȃȊȂȊȀȁȁɕȂȃɗȊȀȀɒȀɒȅȁɗȃȂȋȊɑɖȂɕɖȄȄȋȃɐɒȃȄȁȆɖȆɗɗȀɕȆȂȇȅȆȂȄȋɒɕɐȊɒɑɐȄɑɖɕȇɕɗɖȋȆȋȋɑɖɕɖɖɖɑȊȆȊȄȀȄȄȁȃɖȊȅȅɖȃȅȆɐȇɗɐɒȄɐȋɑȋȊɑɗȅȁȆȄɐȂɑȅɖȆɗɑȋȃȀȇȁȁȀɕȇɖȂɖɑȄȅȂɕɐɐɑȁȀɑȆȃȅɐȂȆȃȀɕȇȄɕɗȊɕɖȆɕɑȅɕɕɕȀɑȁɑɗȅɗȀɕɖɕȆɖɒɐȆȄɕɒɒɐȁɖɕȁɐȆȄȆȆɗɑȊȇȊɑȄɗɖɗɗɐȄȃȋɖȀȁȀȀɖɐȄɕȃȋȃȁȊȅȆȅȄȅȁȄɒɗȂȆȃȀȇɒɒȋɒȀȁȆɒȀɖȁɒȇɐȂȀȆȂȆɐȃɐɒȄɖȂȅȁȃɒȆȇɗȊɒȁȋȇȄɕȋȅȄȋȄȁȊȇȋȃɒȊȂȋɒȅɒȅȇȅȋȋɗȊɐȁȄȆɐɐɒɐȁȊȅȂɖȁȅɐȆȃɐɗȇȅɗɕɑȁȃȀɐɕɗȁȇȀȂȁɖȆɒɗɑȆȆɒɕȂȄȇȁɒȃɐȃȃȆɕɑȆȋɑɑȀɒȆȅȋȂȄȁȄȂȂɐɕȆɑȊɑɒɗɗȆȅȀɗȋɗȁɑɗɒɒɐȆɖɒȄȂɑȊȁȃȁȃȅɗɗɕȋȆȇȇȅȊȀȃȊɗȇȇɐȀȇȃɒȁȆȆȀȇȆɖȇȃȇȁɐɗȅɐȁȄȁɐȀɒȃȅȂȅȅɗɖȊȄɖȁɑȃɑɕȆɑȆɐȋȋɒɗȋȄɕȂȅȊȃȀɕȅɐȄȋȅɖɐɖȇȋɒɐȀȄȋȃȅȂȁȇɕȀȊȇɗɑȂȄɗȊɗɗȄȊɒȅɑȄȃȆȆȀȊɕȄȅɗɗȀȃɑɗȋɖɖȇɑɒȊɑȇɐȅɑȁȇȇɒɐɑȇɗȁȄȆȂȆɒȋȅȃȊȋȋɖȃȄɒɕȀȋɖȄȀɗɗȆȊɒȆȆȇɒȀȁȄȇȀɑȂȇȊɒȀɗȆȄɖȂɕɑȊȊȅȁȁɑȁɒȅȃɗȀȋɗȀȅɑɗȅɒȊɗȋȄȀȃɗȇɕɑȋȃȊɐȂɑȇȅɑȋɕɐȆɒɗȆȃȂȇɗȀɒȊɕȃɐȄɒȇȅɖȃȁȂɐȅȄȆɗȀɑɖȇȋɑȇȃɕɕȂɑȅȆȊȊȆȁɐȅɕɑȋȃȁȆȀȊȇɐȄȆɖȆɕȀȇɕȂȂȋȄɗȇɐȁȁȋȂȆȅɑɑɗȊɐȃȅȊɐɒɗɑȋɗȆɖɒȁɗȀȊɐȄȃɕȊȇȆɐɐȄɕȊɕȃȁȁɒȄɑɖɐɒȇȊȋȅɖȀȀȂȃɐɕȊȊȅȊȅȆȆȆȆɕȇɖȆȇɖȋɐɑɗȊȄȃȇɐɑȃɒȊȊȃȊɗȁȇȄȇȊȄȇȅɒȋɗɕȃȋɐɗɖȃȆȁȁȆȃȆɖɒɑȁȅȃȀȂȋȁȂɐȅȊȄɗȂȋɐȂȃȁɗȁɗɖɖȆȆȂȇɗȄɖȇȅɒɑȂȂȆɑȆȆɕɐɗȆȅȆɑȂȇɖȃȅȊȃȁȂȅȁȄȇɒȆȊɐɐȄȀɑȋȁɒȁɕɖȊȊȇɖȅɒȂȊȋɒɖɐɕȇɒɒɕȁɕȁȅȀȀȋɒȅȆȊȁȁɖȄɗɖɒȆɖȅɐȁȇȀɑȇɒɒȁɑȊɖȆȃȃȊȂɒȄɒȅȆȊȀɕɗɖɗɕȁȂȆɕȅȁɑȆɗȁȄɗȋɗȆȆȁɖɗɗɖɑȆɒɗȄȁȊɑȇȅɖɗɑȁȊȄȂɕȊȃȀɒȂȇȇȅɗȀȆȊȋȇȅȇɗȀȁȀȅȆȃȆɑɑȆɖɒɗȇȄȅȄȋȁȂȁȋȃɗɑȄȆɐȊɒɗɑɐɖȋȋȆɗȊɕȃȅɖɑɒɑȆȅȂɖȂȃɐȆɑɗȆȁɗȆȀȅȆɖȇɕȊȃɗȂȇȀɑȂɕȁɕɑɖȁɑɒȀɒɐȀȊɐȁȊɒɒɕȃȇɐȀɐȁȀȃȇɐȆȃɕɐɑɑȊȂȁɒȋɗȅȇȁȆɗɐɖɑȋȀȆɒȀɒȋȅɑȀɕȄȁȀɐɗɕȃɗɖɒȆɖȆȃȄȂɗɒɗɖɒȃɖȁȀȅȆɐɒȄɗȁɕȅɕɐȇȅɐȆɕȄɑɐȇȅȅɗɖȃɗȆȊɐȄɖɒɕɕɖȆȋȃȇȋȆȁȄȅȊɐɗɐɑɐȄȂɖȋɒɖȄȂȊȀɐȆɕɑɐȄɗȆȂɖɗȂɑȅɕȅȃɗȁɖȁȊɒȄɗȁȆȁȇȅȊȊȆɒȋȄɑȄȃȆȆȂȊɒɑȀȄȀȃɑȆɕɒɕȅȀȄȀȃȂȅȂȁȊȂȄȊɗȇɒɐȃɕȀɑȋɗȇɖɒɕȆȊɖȊȀȇɕɐȅȂɐȆɖɗɕȄɗɒȊȆȇɖɗȃɖɐȆȆɕɒɐɗɒȃɗȆȂɕɕȅȃȀɒɕɗɗȂȊȀɖɑȅɒɗȂȀȃȆȄȅɕɗȇȅɖȃȀȅȃȄɖɗȇɒɑȀȂȅȃȇȂȆɑȄɖȊȇȋɕɒɖɗȇɖɒȆɖȆɗȅɖɑɑɖɗɑɕȁɗɑȃȀɗȄȄɕɑɐȋȋɑȆȊȋȄȊɕȂȆɗȋȇȆȄɕȂɗɒɕɕȂɑȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȁȂȊȄȁȆȋɒɗȅȃȀȃȃȃȃȇɖȃɒȃȃȃȃȂȂȃȃȃȃȃȃȄȄȅɕȄȁȅȇȁɕȄȀȅȆȄȇȄȇȅȊȅɖȅȄȄȀȁɖȄȋȅɗȅɐɑȇȆȅɗɑȅɖɗɑȀȋȂȃȄɗȆɕȅȃɕɕɐȂɗȃɕȀȀɒȊȅȅȇɐȊȇɒȋȇȀɒȇȆȅȁȇȄɗɑȂȇɕȂȄȅȆȂɑȊȂɕȇȃȇȊȊȇȇɗȋȇȀȄȊȃȊȇȂɗȄȄɑȂɕɕɑɖȇȀȇɒȋɐȊɗȁȅȁȋɗɐȁɗɕɒȅȇȅɒɐɖɐɐȊȊȁȂȄȊȅȅɖȋȄȄɖɕȊɕȂȋȂɗɖɗɑȃɗȁȇȇɕȃȄȊȂȃȆɗȋȇɐȂȃȋɕȀȆɒȀȇȋȇȅɕɖȅɐȂȊȄȄȆȀȂɑɖȃɐȇȅɗɒȁȃɗɖȁȃȁɒȀȋȊɖȃȄȃȄɒɐȋȀɕȄɗȄɑɕɕɕɕȅȅɖȊɕȅɑȅɐȃɐɑȋɖȊȂȂȆȃȄȃȊɗɑȀȄɒȂɖȅɐȋɗȊȂɕȊȅȇɒȁɖɑȁɗȅȅȇȋȆɕȃȋȋȊȀȊȋȃɒɗȆȃȃɐȂȊɕȋȆȇȊɑȃȊȇȀɖɒɑȂȊȀɖȀȆɒȀȃȋȊȃɐɒȊȃȋȁȆɖȅȀȃȋȊɐȀȄȃȂȅȃɐȀȇȅȁȂɖȄȇȋɒɖȄȃȀɐȆȊȋȊȂȆɒȃȊȁɗȆɒȅȀȇȀȄȁɗȂɑȅɒȇɐȅɐȀȋɕȋɕȆȃɖȄɖȇɖɗȇȀȊȅɒȁɖɖȂȋɖȅɐȅȅȆȊɐȁȋȇɐɒȂȃȅɐȂɕȆȊȅȇȋɖɗɗȊɗȋɕɕȅȆȃȀȄȃɖɑȇȊȄȅɗɕɗɑɐȇȋɖȆȂɖɕɑȄȋɕɐȁȀȀɑȅɑɑȂȄɒɒȄȊȋɖȀȋɒȄȀɐȂɑȁȃȊȆɒȋɑȂɗȅȄȃȇȂȋɐɕɒȃȁȃȊȀɕȁȅȇɖȆɖȂȂȀɗɖȄɑɖȋȃɗɐɐȀȂȅȂɗȂȆȋȇȇȄɒȂȆɑȊɗȆȅȊɖɕɖȂȋȇȂɕɐȋɒȅȃɒȅɕȂȋɕȆȂɒȇȃȀɐȆȇȇȂɕȂȋȄɖɕȁȇȇȊɒȊɖȄȀȁȇȀɗɕȇȇȃȁɒȋȆȆȇȁɕɑȋɖȂȀɐȆȋȊɗɗɕȅɕɑȋȆȃɒȋɒȁȆȃȃɖȊɐɐɑȃȋɑȅȀȅȄȁɗȆȃȆɗȄɒȃɕȁɒɕȇȁɑȃɗȂȀɖȊȄȆȋɗȆȄȃɗȆɕȀɖȃȁɒȃɐȁȅɗȅȃɖɖȄȁɑɗɒɗȁȁȃȋȀȃȂɗȆȂȁȆȀɖɒȆɒɒȅɒȅȂȋȃȂɖɑȀɖɗɕȁȋɐȇȇȃɖɐɗɖɖȁȅȁȂɒɗɐɒȁȋɖȊɒȀȆɒɒȇɒȁȀȁȇȀȋɖɗȂȃȂȇȊɕɐȆȃȀȅȆɑɗȇȆȃɒɗȆȃȅɒɑȆȁɒȁȂɒɗȋȂȅȋȁȂɑȁȆɒȋɕȄȅɑɐȇȆɕɐȁȁɐɒȃȄȂȂȇɗɐɖɑȂȃɖȂɗɒɖȋɑȋȁɒɕɑȊȅȋȇȃȋȋɖȂȋȅɐɖȄȇȆȊɑɒɗȇȇȋȀȅɗȅȆȊɗȁȁɖȄȊɕɑɑȃɗȄȃɗȊɒȀɕȇȀȇɖȆɑȄȋȊȃȇȋɐȂȃȇȆȂɒɑɐɑȅɐȄȆȋȊɒȃȀɐȆȃȆȂȇȆɕȊȁɒɕɕȋȋȅȀȄȂɕȀɑȅɗȃȋȀȃɑɒȅȅɕɑȋȊȃɒɑɖȆȄȃȃɖȅȀȅɕȀȁȄɑȋɕȋɕȆȇȂɖȁȃȁȁȀɗȀɐȂȀȂɕɗɒȁȅȇɖɖȁȅȃɒȇɒɖȇȋɒȁȋȁȆɗȇȀɗȅɕȇȃȂɒɑɕȁɐȂȊȅȊȆɑɒɐȁȃȃȂȃȂɒɗɒɗȇȃȀɖȇȇȋȊɑɗȀɑɖȄȃɕȂȋȀȆȀȃɑȊȄɕȀȁɖɕɖȇȆȇȇȅɕȃȃɖȀȇɗɒȁɕȀɖȃɑȅȂɑɐȅɑȂȋȅȅɗȀɒɐɐȋɒɖɕɒȇɒȁɗȄɒȂȅȄȁȊɑȇȅɗȂɕȇȁɗɖȇȁɖɐɐȂȅɗȀȀȄȅȀɖɖȋɒȅȊȀȂȇɑȋȅɐɒȋȅȄɒȆȋȅɖɒȄɖɑɗɕɐɒɒɕɒɐɑȋȇȅɒɐȋɕȆȋȁȃȆȅȁȊȋȁȇȅȁɑȀɑȄɕȁȄɗȅɒȀȆȁȋɕɑȄȋȇȄɑɑɐɐȁȀȃȃȄɕȃȁȊȆȁȄȅȊȆȃȄɐȄɖȀȂɖɗȃȃɐȆȂȆɒȇȃɕȄȄȊɐȃɑȆȁȇɐɑȂɑɒȁɖȆȂȁɑȄȅɖȇɗȆȄȇȋȅɗȋɖɑɐȋȀȋȄȄɒɗȀȃɒȊɗɕɖɕȂȊȊɐɑȃɖȃɖɒɐɕɖȆȇɒȁȊȀȀɗɑɒȆȄȇȋɕȅɒȁɕȂȁɖȆȂȊȁȃɐȊȂȋȇȊɑȃȄɐȁɑɐȆɗȄȄȆȆɖȊɒȀȀȋȇɐɒɖȂȀɒȋɖȀɐɗɒȄȊɗȄȁɖȄȄȇȀɐȊɖȄɗȅɖɖȃɕȁȆɗɕȀȀɗȁȃȁȄȁȁɖȄȋɑɕȊɕȋȇɑȀȊȋȋȋɐɒɒɗȁȃɒȃȇɒɕȊȃȊȇɑɗɐɖɒɒȇɗȀȇȃɕȁȋɗȊȅɐȇɗȅȇɒȆȅȂɖȃɒɑȋȂȅȄɗɒȄɗȆȇȊɑȄȋɐȃȅȁȋȄɐȆȀɗɖȅȀɖȆȃȅɗȄȄȃȅɗɖɐȀɖȁȅȋȋɑɑɗɖɗɐȇȅɕɖɒȅɗɗȀɒȀȁɗɕȂɑȅɖȇȅȋȇɑɑɗȁɗȀɗɗɒȅȅɗɖȀȅɑȀɑȅȁɗȄȇɑȋȋȁȄȂɕɑȃȋȊȁɕȄȇɑȅɑȅɕȃȆɒȆȅȁȋɕȊɑȃɕȇȄɕɐȊȆɒȊȀɕȃȇɑɗȇȆȂȁȁɕɕɑȅȊȃɐɕȁȂȁɑɗȅȂȂȋɐɕȄɒɑȇɐɑɕȂȂȀȋɐȄɒɗɐȂȃȃȀɕɕȄɖȁȇȅȊȂȋȄɒȋȁȀɑȃɒɖȀȊȊȃɗȂɕɑɐȁȊȀɒȋȋɐɖɑɐɕȃɑȆȊȋȄȆȊȅȁɕȂȊȂɒȅȇȊȃȅɕɑȅȂȄɐȂȇɖɖȁɗɕɗȇȅȁȆɕȋȊȊɒȋȃȂɐɐɑȃȀɒɑȋɖɐȀɕɕɒȁȁɕȊɐȂȁȃɗȃȀȇȁɐȁȀɑȅȂȋȇɕȁɗȋȂɕȃɖȋɑȊȁɑɐȂȂɕȆȀɗȄȇȂȁɒɐȄɒȆȂȁɗɒȀȊɑɒɐȆȋȅȇȀɗȊɐɑɒɕȄɐȆɒɐȇȂɖȇȋɕȄȃɖɕȊɕȄȂȄɑȋɑȀȇȅɖȃȅɐɐȋȄɒȅȄɗɖȋȀɕȄȂȂɒȁɕȋɑȀȃȇȊɐȄȀȄɑȄȇȊȀȁȇɖɗȁȆȊȀȅɑɖɐɒɑȁɐɑɕȂɖȁɒȅɑȋȋɐȂȅɗȊɕȁɖȅɒɖȋȋɕɖȂɗȊɒɗȇɕɕȂȂɑɐɕɖȃɕȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȃȆȂɕɐȀȀɖɕɐȃȂȃȃȃȃȇɗȃȄȃȃȃȃȂȁȃȃȃȃȃȃȄȄȅɕȄȁȅȇȁɕȅȅȅɕȅɖȄȇȆȇȅȂȅȁȅɐȅȆȁɖȄȋȅɗȅɐɗɐȊȇȆɗȅɑɗɑȀȃȂȇȋȅɖɕȃȄɕɑȃɕȇȁɕȄȋɗȅȆɖȄɒȀȇɗɒȋȆȀɗȅɒɐȋȂɐȂɗȋȇȆɖȊȄɖȋȃɒȁɐȋɑȂȊȋȀɖȋɐȋɖȂȁȀȄɕɕȄɖȇȄɑȁȊȀȃɖɗȁȅɐɐɗȅȃȂɑȁɐȃȂȅȀɑɕȇȄȄɒȁɐȀɗȊȅȄȇȄɑɕȄȅɐȀȇɗȊȇȊȃɕɐɒɗȊȊȁɖȅȃȀȇȅȋȊɑȇɐȁɒɗȊȆɗɗȊȇɕȇɖɑɗȀɕȁɖɒȋȅȂȁȃȋɗɐɒɖɑȊȄȅȆȅȊȅȄȇȁɕȋȂɗɖɐɗɗɕɑɕɑɑȅɗȅȄȊȆɑȀȃȂȃȋɕȅɑȄȀȃȀȀɒȁɒȇȄȆȃȋɐɗȁɐɐɑȇȃɗȇɗȁȄȃȂȋɑȋȇȅȆɒȁɐȆȅɐɖȂɑȂɖɕȃɗȂȅɕȀȁɐȀɕɗɑȄȅɗȄȀȁȆȊɐȅȊȄȋȆȃȁɑɒȆȆȆɗȋȅȄȃȆȅȀȂȀɗɒȅȀɕɐȆɑȁȋɒɖɒɒȊȇȊȃȂɕȊɗɗȋȂɒȅȊȇȀɖɒȊɕȄȊɒȊȊȂɖȋȁɐɗȇɒɒȋȂȃȀɒɗȄɗȃɑɒɗȄȆȄɖɗɗȄȋȁȄȁȇȃȃɐɖɗȊɖȋȋɖȅȄɑȋɑȁȇȄȇɐȀɖȀɒȃȂȂȊȁȆɑɐȃȀȆȄȋȆȃȂȇɖɒȅȂɕȆȂȇȁȅȂɕȄȊɐɒȆȀɑɒȀȆɕȃȃɖȀɐɑȃȃɐȆȃȊȅȃȃȁɕȁȀȁɐȇɑȋȇȄȅȇɑȃȀȄɕȁȊȊȂȁȁȀȅȅȊɕȀȅɗȅȄȊɑɖɗȁȇȋɐȁȁȊȂȂȂɐȂȆȇȊȅȃȀɒɖɕȀɕȁȅȅȊȅȄȊȅȂɑȁɐȁɕɑȋȆȅȁɑɒɕȆȁɒȂɖȂɗȅȋȂɐɐɑȂɑȅɖȀɑɒɒȇɒɐȅȃȇɑȀȅɐȅȅɑɕɐȋɕɗȋȀȃȆɖȅȊȂȅȂɑȋɒȊɒȄɑȊȃȂȂɗȁȀȆȅȇȆɗȆɐȄȂɒȀɕȇɕɖȊȃȇȁɒɑȃȃɑɒȇȁɒȀȋȁɒȋȃɕɕȊȋɖȄɑȂȆȋȄɗȅȊȆȇȃȅɗɑȃɑȃȋȆȂȆȁɑɖȊɐȀȋȋɑȂɖȁȅȂɑȊɒȇȆɗȊȁɖȀɖȋȂȋȁȅɒȀɖɑɕɑȀɖȁȊɖȁɑɑɗȁȅɕɗɒȁȄɐȀȅȀɐȁȅȁȁȁȂȁȁȄȀɗɖȅȂɗȇȄȁȇɐɖɑȂȃɗɑɖȀȀɖɑȃɐȊɐȊȋȄȋȆȁȇȅȃȁɕȊȁȁȆɑɕȁɖȋȃɐɑȄȅȄȋɐȂȇȅɐȋȁȁȅɐȅɖȋȁȀȊɒȂȊȆɖȅȇɐȇȁȄɖɖȇȆȇȅɖȁɕɐȇɕȋɐȆɐɗɕȋɐɕɕȋɒȊȂȃȆȅɖȀȁɒȄȀȊȊɐȆȂȄȂȋɕȁɒɒȅɑɕɑȊȀȋȋɐȆɑȇɑɕɕȊɒȋɑȇɒȀɗɐɑɕȆɖɑȁȁɗȋɖȇȇȄȂȂȀȂȆȋȁɖȋɖɐȊȋɑȋȋɕɐɗȄȁȁɒȅȂȄȋɒɕȋȋȃɗɕȇȄɕɕɐȇɐȁɒȋɗɕȁȇɐȊɐȆȊɕɗɗȁȁɖɐȊɕȁɖȋȋɖɖɑȃȁȃȊɕɗȆɒȅȃɖȅȄȋɕȋɐɑȋȂȅɕɖɗȀȁȀɒȀɑɕȋȂɕȊȄȄȃȃȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȊȀȄȅɗȅȇȊȂȋȃȂȃȃȃȃȇȃȃȁȃȃȃȃȂȇȃȃȃȃȃȃȄȄȅɕȄȁȅȇȁɕȄȄȅȆȅȁȆȀȅȆȄȇȄȇȅȊȅɖȅȄȄȀȁɖȄȋȅɗȅɐȊȇɗȂɐȂȇɒȃȀȀȂȂȃȃȅɖȃɑɑɖȃȀɑȋȇɗɐɗɑȅɐȋɑȁɗɑȁȄȇȆɑȂȃɒȊȄȋȂȂȇȂȄɗȋȃȀȇȊɗȅɗȋȀȊȊȇɐɐȋɒȇȅɖɖɑɗȀȀɑɒɖȆȆȂȂȁɕɖɗȁɗȊȀȅȇȀɖɖȅȅȄȅȅȋɑȀɗȃȅɕȆȃȅȊȊȀɗɐȆȇȅȋɕȋȅȊȆȆȅȂȃȂɗɒɗȄɗɗɐȀȇɕɒɖȆȄȊȀȊɑȋɗȅȋɒȋɑȋɗȅɑȂɑȁȋȇȁɒȀȃɕɐȃȄɒȀȂɑɕɑɐȊȋȄȆȄȆȃȄɒɑȁȄȁȋȇȆȄɖɑȁȂȁȁȆȄȁȋɗɒɖɗȂɗɑȆȁȆȁȅɗȃɐɑɑȁɗɒȃɖȆȁȂȁȆȋȋɕȁɗȋȆȁȇȅȆɑɒȇɐɐȂɑȋȀȀȅɑɕɖɖɗȁɐȃȂȂȁȅȆɑɕɐɐɒȃȄȆɕȃɖȅȅȆɐȆȆȆȀȄɗȅȇɕȁȁȊȃɒɑȆɒɗȄȄȄȃȇɑȅɖȋȄȂȃȇɑɗɕȅɕȀȁȃȇȂȂȁȊɕȁɗȅȁȄɕɖɗȅɑɒȆȀɑȇȋɖɕȁȀɒȅȆȄȁɐȃȁɐȄȊȀȃȄɐȄȊȅȋȄɗɕɐȅȂȇȅȆȄɕɕȁȃɕȇȁɖȂȀȆȀȆɑȋȅȂȁɖȅȀȋȆȂȇɕȇȊɕɑɒȋɖɒȇɕȂȋȄɖȋȂɐȊȄȊɐȃɕȋȂɕȀȃȅȆȀȋȋɕȊȋȂɐȃȊɐȀȃȄȋȇɑɗȆȅɖȋɖɒɕɑȇɗɒȇȅɐȆȄȇȂȁȇȋȊɒȇȅȇȁɒɗȆɐȀȄɒȁɖȁɑɒȆȆȇȀɐɕɒȄȄȆȋȆȁɑɖɐȊɗȇȀȂȅȇɕȀȄȊȅɗȇȀɒȃɖɖɕȂɖȂȇɖȃɒɕȀȅȄɖɕɕȀȃɕȃȃȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȊȁȄȇɑɑȆȀȄȄȃȂȃȃȃȃɐɕȃȁȃȃȃȃȂȃȃȃȃȋȃȂȅȇȅɕȅȀȆȃȄȁȅɕȄȃȄȀȁɕȅȂȄȃȄȃȁɖȄȋȅɗȅɐȁȃɒȁȃȇȃȂȁȋɒȃȃȃȃȂȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȊɐȆȁɐɑȇɖɐȀȀȃȂȃɑɐȁȀɕȂȃɕȆȂɖɖɗȇȇȊȇȂȂȆȆȇȆɑȆȄɒȋȃȋȄȂɖȃȁȆȀȆɒȆȅȄɖȀȅɐȂȁȃɑɐȄɑȅȅɐȋȀɐȋɗɕɑȀȅȊȅȋȃȋɖȁȇȅȇɖȀɑɑȀɗɖɕȂɖɐɐȇɑȃɕɖȅɐȄȆɕȁȋȂȀɖȁȋȅɑȆȅȅȊȀɖɐɑɗȁȃȇȋɗɑȇɒȆȀȁɕȆȁɒɗɗȂȆɑȄȅȄȊȄȅȊȂȁɒȁȀȃɒȆɗȃɗȅɖȃȁɒɖɗȀȃɒȇȅɑȄɖȄɒȃȁɐɕɗɖȀɒɕȇȆȂȅȂȇȋȇȋɐȁȋȇȆȆɗɒɐȇɖȋȊȅȋɐȃȆɗȊȅȃȁɑɐȁȋɐɗɒȋȅȀɒȊȆɕȆɒɗȋȋȃȇȄɗɐɗȅɐȆȆȁȊȋȊȀȄȆȅɑɖɑȄȅȋȁȁȊɑȅȄɗȊȋȁɖȂȅȄȇȇȆȀȅȁȄȊɖȅȇȅɐȂȄȇȆȃȆɐȄɖɐȇɕɕȋɒȊȅȆȅɕȅɕɖɐȁȇɑɗȂȀȊɗȁɖȀȆȃȅȃɖɑɑȇȋȋɐȋȂɕɕɑȇȊȃɗȅɐȁȇɒȃɑȃȆȂɖȋȇȁɑȆɐȋɖȄȇȇȋɕȃȃȊɖȇȆȋɗȋȂɖȄɐȃȋȅȃȁɕȅɗȅȊȄȋȇɒɕȋȃȃɗȂȆȅɐȂɒɖȂȋȆȋɐȊȇȂɗɐɕɕȀȃɑȅȃȂȀȃɐɗȄɐɖȅȊȁȆȇȆɒȇȆȇɕȊȋȀȊȁɗɖȃȅȆɑɐȆɖȇɖȊȅȃȀȆɖȊɖȄȋȂȇɗȋɕȃȃɗȊɗɕɒȁȄɐɕȄȁɒȄȅȀɐȃȀȀȅȋȆȄȃɒɕɐɐȅȃȅȇȁȋɐȋȊȋȂȄɑȆȂȄɒɖɕȊȄȅȀȄȁȁɗȋȇɒɒȂȄȂȇȀȋɑɕȀȇɒɖȋȋȃɐȃȄɖȃȋɗȋɗȋɗȅȃȊɗȀɕȂȇɗɕȄȋɒȄɖɖɑȋȇɒȇɕȅȊȂɖɑɒɕȄȋȃɑȀɑȆȄɗȋȊɑȀɖȊȁɖɕɖȂɗɕɖȇȅȇɗɗɑɗȋɒɐɗȇȂȋȂȃɐȊɐɐɕɒȄȋɑȇɕȀɒɑȃȁȆȂȅȇɑɗɒȅȇȀȇȀȀȂȁȄȃȇȄɑɕɐȆɖɑȆɖȊɕȅȅȇɗȋɗɖȆɕȂɐɐɗɕȇȅȂɕɖȆɐɑɕȃȀɖȄȊɑɖȊȋȅȆɕȇȂɗɑȁȀɑȄȁȊȇɐȃɕȋȄȃɕȋȂȄȃȃȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃɕȂȁȂȊɕȁɐȄȄȃȂȃȃȃȃɕɕȃȁȃȃȃȃȂȂȃȃȃȋȃȂȅȇȅɕȅȀȆȃȄȁȅɕȄȃȄȀȁɕȅȀȅɕȄȁȅȆȁɖȄȋȅɗȅɐȁȃɒȁȃȇȃȂȁȋɒȃȃȃȃȂȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȋɐȊȁȆȂȇɕɐȁȀȃȂȃɐȄɗɕȇɗɕɐȃɖȇɑɗɕȇȄȀȄȇȋȂȃȊȄȀȂȋȁȂɒȊɖȁȇȀȂȂȂɒȀɕȂɒɗɑȅȃȄȆȇɗȅɒɖȅȊȃɕȃȅȄɖȄɒɑɑȃɗȋȅȋɑȊȋɕȋȄȅɗȄɕɑɗɗɑɕɗȄɕɕȀȆȊɗɖɐȆȆȂɖɖɐɐȃȀɒȆȊɖȋȀȂȋȊȄɑȂȂȃȊȇȃɕȀȇȁȇȋɑɗȂɒȊȀȊȄɐȆȁɐȂɐȊȂɐȃȁȂɗȀȋȁɖȆȋȆȋȅȀȂȀȊȋȃȁȀȊȀɖɐɕɒȁɒɖȆȁȅɖȂȋȆȋȆȁȄȆɑȂȋɑȃȁȋɐȂȃȆȆɖȇȊɑɑȋȇȊɑȀȂȆȊȁȀȊɒȋȇȆȁɐȄɗȄɒȃȊȋɖɑȄȊȇȁɕɑɖȁɑȁɑȃȋɒɒȂȇɕɖɗȋɒȂɒɐȅȀȄȅɐȃȆɑȇȂɕȇȆȇȀɒɒȃȃȊȊȅȃɐȋȅȋȁȆȂȋȊɒȆȅȊȂȂɐȁȆȃȆȅɕȁȆɐɗɗȅɖȅɑȆȋȃɖȃȂȇȄȁȆȃɒȃɗȂɗȂɑȋȂȄɗȀȀȀȋɑȅȃȊȆɑɑɗȋȆȃȆȄȄɖȊȃȇɒɖȁɐȂɐȃȇȆɕȇȆȇȅɐɖȊɑɗȊȀȁɗȆȋȊȅȅȆɒɕȂɐɗȇɒȋȊɕȀɕɒȅȅɕɕȀɐȄɖȄɕɒɒȊɒȂɗȇȊȆȆȄȂɐȇȋȊȅȃɒȊɖɒȃɐȇȂɐɑȁȊȇȊɖȇȀȂɕɑȊɖɗɐȄȁȄȄȃȅɐȋɖɗɑɐȇɐȄɗɐȃȁɐȀɐȁȅȅȆȀȅȇɐɑȅȃɐȅɑɖȄȁɕȃȇɑȃȋɒȅȅɑɒȅȇȃɗȇɕȃȃȊɒȋɒɐɗɕɐȃɒȂȁɐɒɐȄȃȆɖɒȅȊȀȄȊȇɐȋȃɖȀȆȅȂɒɕȇȃɑȅɗȁɖɖȊȂɐȄȋȀɒȅȄȃɖɖȄȄɖɐȀȇɑȃȊɖȁɖɖɕȃɐȄȄɗɑɕɑȊɒɒɗȆɐȁȇɖȆȅȀɕȁȆȂɑɗȇȇȇȊɑɒȅȇȄɗɑȊɑȂȊȇȂȃȇɗɖɒɖɒȇȀȂɕȄȆȇȄȊȂɗɗɐȀɕȁɐȅȅȁȇɖɑȇȄɕɗȇȂȂȋɐȆȅȂȀɐȆɐɐȇɒȀȁȇɑɖȇȊɒȁɖȋɑɗȂɒɑȀɗȀȄɕȂȅȆȇɐȄȃȂɕɖɒɕȄȋɗɑȆȆȀɐȃȊȀȇȇɖȄȆɑɕȅɐɕȅȃɗȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȀȃȇȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȊɕɖȅȊȇȂȁȁɒȃɑȃȃȃȃȆȀȄȃȃȃȃȃȃɕȃȃȃȃȃȃȄȄȅɕȄȁȅȇȁɕȄȀȄȇȄȊȅɐȅȆȄȀȁɖȄȋȅɗȅɐɑɐȊɗȆɗȄȀɗɑɑɒȂȂȋȅɖɕȀɑɗȀɕɕɐȃɗȂȆȆȄɑȊȂɐȋɕȁȅȄɖȁȀȊɐɖȂȊɗɑȋȊȅɑȇɕɖȀȂɐȊɕɐȋȅȊɒɖȁȂȂȁɑȁȆȃȋȀȋȇɐɒȋɕɗȋɖɖɒɕȁɕȃȃȆȁȂȁɖȇȁȆȁȋȁɖɑȋɕȆȊȆȁɗȆȂɕɑȃȃɐȇȋɑȂȄɐȃȋȁɒȇɕȇɗɑɖɕɐɕɒȊȋɐȄɖɕȂɑɐȂȃȁɒȀɑȂɑȇɗɗɖɖɕȋɗȁȁȊɖɐȆȁɒȂȂɗȊɐȀɗȊɖȋɐȄɕɗɗȆɑɑȃɕɒȀɒȋȁȋȆȊȊȅȀȃɒȊȀȁȄɖȀȅȄɒɖȂɐȆɖȋɕȄȇɕȄɕɕɗɐɑȅɕȇɕɒȄȇȆɕȊȁȁȄȊȂȂȅȊȇȃȆȅȊɐɒȅɕȂɗȊȅȋȆȂȊȅɐɑɗȀɕȂɑȋȋȋȂȄȀɐȅȆɐȆȄɑɑȆɖȇȊȊȀɖȀȋȆȄȄȊɐɒȇɒɕɗȀȁȄɕȂȋɒȄȁɐȄɕɒɐȊȅɖɕȅȁȊȆȁɖȆȊȁȊȅȅȇȁȋɒɕȁȅȆɑɐɑɕɑȄȄȄȀɐȅɒȀȃȄȊȂɕȋɒȊɒɐɕȇȆɐɐȀɕɒɑɑȋȇɒȄȊȆȅɗɒɕȋȄȂɐɖɒȆȁȅɒɒɒɐȆȋȋȋȅȆɑȂɒȁȀɗɕȆɒȂȀɗɒȊȀɐȆȊɖȅȁɒɖȅȇȆɒȂȇɕȀɒȊȆȀȆȁɕȅȆȁȁȆɑȅȀȁȅȋȄȃȃȊȇȋɒȀȋȆȄȋȆȊɒȊȄɖɕɕȆɐȊȀȇȀȆɑȁȁȋȂɗȀɖɗȊɑȀɕɕɒȆȄȁȃȀȀȋɐȁȃȂɕȅȃȂɖȃɑȋɖȃȀȋɐȇȆȂȋȀȂȋȂȄȁɕȁȊȄɕȂɖȇȆȅȊȄɐȄɒɕȀȊȃɒȊȊɐɐɗɒȇȁȅɖȊȆȀȋɒȄȇɒɗȁȁȃɑȂɖȄɗɗȁȅɒȁȅȁɒɕɖɐɐɖȄɒɐȊȁȅȆȅȂȆɖɖȅȄȄȄȊɕȀɑȁȄȊȅȆɕɕȆɐɒȊɒɐȁɐɒȁɒȄȆȀȆȅɐȇȇȁɗɐɖɑȆɒȅȋȆȇȁɒȀȇɕȆɕɒȀɐȁɑɐȇȇȋȂɕɖȂɒɐȁȋɐɕȃɑɐȂȆɒȃɕȁɖɐɐȀɕɒɗȇȄɖȁɒȁȄȇɗɖɑɖȂȃȋȊȂȋȋɗȇɗȋȊɐȆȄɕɕȆɐȂȆɕȇɐȊɖȋɗɕȅɕȄȆȄɖɕȆɐȊɒȂɒȅɐɑɗȁȄȆȊɕȅɑȃȄɒȋɕȅȄɖɕȄɖȇɐɗɗȊɒȀȋȅɕɐɗȀȇɕȄȅɐɐȇɕȁȄȄɗȀȄȀȂȀȀȋȅɖȇɖɒɐɕɖɖɑȊɐɖɖɕȁɕȆȁɑȆɑɕȃȊȁɐȆɐȁȊȅɐȀɖȅȁȆɗȄȂɗȄȆȄȁɑɐȅȄɒȃȆȁȂȋȆɕɖɐȂɕȄɗȆɐɑɗɕȋȆɖȊȊȂȅȅȅȆȆɒȊȊɒȇȁȁɐɒȃɕɖɑɑɐȅȋɖȇȂȋɑɖɑɕɖɒɑȄɑɕȀɑȇȀȅȊȆȀɖɐɒɖȄȆɕȆȆɕɐɐȋȊȀȅȊɒȊȃɕȊɐȋɗȅɐȆȊɕɒɐɗȂɕȀȄȄȄɑȊȆȃɑȊȀȅɐɖɗȊɖȋɒȀȁɗȆȀɑɕȀȊɖȆɒȊɑȋȂȅȇȊɐȁȀȀɖȄȋȀɗȊȇȁȁȇɕɐɖȄȋȁȅȄȀɕȃɒȊɖȅɐɗɖɕɕɕȀɐɒȄȅɕɖɖȅȋɗȆȋȆȆȊȊɕɖɕɕɖȃȅȇȅȁȄɑȋȂȁɐȊȁȁɕɐɕȀȂȆɕȂɒȁɑɖȊɒȀȂȊȀȀȊɒȄɐȀȀȃȂɗȁȄɐɑɒȂȁȊɑɐȁȅɗɕȋȄɕȆȅɑȃȇȊɒȀȇȇȆɑɕɐȋȁȀȀȀȀȊɖȇȇȊȀɗȄȃȋȆɑȄɗȂȇȅȁɗɕȇȇȂȇɐɖɗȊɑȅȀȀɒɑȆȄɖȄȅɖȀɕȋȆȁɒɖȋɖȃɒɗȃɒȀɒȄɐɒɑȋȁȋɖɗɖɒɒɒȃɖȀɑȄȁɒɖȋɖȇɒɗȃɒɕɒɕȃȆȅȃȆȆȊɐɐɕɕɑȀȁȃȊȂȁȆɕɐɑȊȀȅȁȁȁɐȃȅȆȃȄȄȄȂȀɐȅɖȇȇȄȀȀɐȅȅȇȀȄȀȀɐȆɖȇȁȄȀȀɐȆȅȇȂȄȀȀɐȇɖȇȃȄȀȀɐȂɗȂɗɐɗɕȂɕȇȅȀȀȇɐȄɗȀȇɗȂȂȊɐȆȁɐȆɑɖȆɖɖȋȄȇɕȅȃȀȇɕȅɕɖɕɖȅɖɖȊɖȁȀɐȁɑȋɑɑɒȄȋȇȀȃɖɖɖɖȂȊȁȃȋɐɑɑȄɑɐȃȃɕɖȀɖɖȂɖɗɕɐȀɑȋɑɑȋȄɕȀȀȃɖɖɖɖɗȂȀɑȋɐɑɑȄɑɑȃɐȅȄȀɖɑɒȆȆȅȄȇɒȀȅɗȊȅȊȆȋȀȆɗȀȅȆȄɒɒɐɐȆȇɐȊɒȀȊȁȀɕȃɕɒȄɑȂȇɐɑȀȅɐȊȁȇȆɐȀȀȀȊȀȂɖɐɕȇȊȇɖȊȁȃȃȆȀȋɕȅɐɐɗȇȇȀɐȊȋȂȅȀȀɕɑȄɒȄȄȃɕɑȂȁȅȃɗȊɕɐɕȇɑȊȀɐɖȇȆȅɒȂɖɐɗɐȆȇȀȊȆɖɑɗɐȄɐȅȋɐȆȄȊɕȅȋɑȇɑȊɗȁȆȇȄȁɐȇȊȀȇȋɕȂȃȊȋɕȀɑȁɐɒȀɗȁɗȂȁɗȁɒȄȄȀȀɖɖȄȀȊɐɕȅȁȇɖɗȊɑȂɖȊɒȃȁȅȂȀȋɐɑȁȁɒȊɗȂȂɕȇɐɗȁȆȄɑȁȃȅȀɕȂȁɐȁȂȅɖɑɖȂȆȊȂȅȇȆȃȆȋȄȄȅȋȊɗȀɕȁɕȋɐȇȊȃȇȇȂɒȄȇɖȆȊȊɐɒɑɖȂȆȆȆȀȋɐȅɐȄɐɕȋȁɒȋɒɖȂȅɗȅȆȁȃɗȂȇȆȁȆȁȆȁȄȅȁȄɗɒȀɖȊȅȁȊȅȀȆȀɐȀȄɑȃȊȋɖȂɒȊȋȂɐȆȃɐɐɕȃɐȁɐȅȅȄȋȅȁɖȃȅȋȇȅɗȆȇȇȃɗȋɗɒȋɒȆȂɒȂɒȆȂȋȀȀȆȀȇɒȁȄȅɒɑɕɑȁȄȆȆɑɑȀȆȀȇɒȁȄȅȅɑȅȋȇȇɖɗɗȅɗȃȋȅɑȄɗɑɑɗȁȋɒȆȂɗɖȁɗɗȆȆɐȄɒȇɕɕɗɖɗɗɒȆȆȇȅȅȆɑȄɐȄȃȀɗɒȅɖȁȁȂȅȀȄɒȃȂȀȃȄɐɑɒȅȊɕȅȇɐɒȀȀɑȊȅɑȀȋȄȊɐȁɗȂȄȊȂɗȊȊȆȅɖɐȄɑɒɖȄȋɐȁɗɖȄȇȁȁȆȁɕɗȂȀɗɐȆȊɐɑȅȁȅȆȂɒɗɖɑȅɗȂȄɑȊɗȇȅȄȁɗɑȁȅɒȄȋȋȀȅɖɗȂɒȋɐɐɑȆɖȅȂȂɗȊȅɑɐɗȁȀȀȁɗȋȊɒȀȄɗɐȅȁɑȄȄɒȊȊȅɐȂȅȅȋɗȄȀȇɕȊɐɐɑȇȊɒȊȆɒɗɒȅɑȆɒȇȆɖɒȅȊɗȀȁȆȊɗȆȃɑɗɒɖȂȅɖȅȀɖȆɕȃȂɖɑȅȀȂɐȃȊȆɐȋȃɑȀȁȂɑɑȇȅȀȃȊȄɒɕȃȀȄɑȀȊɐȀȆȄȁȆȁȋɐȄɐȊɑȆɒȃɖɒɕɗȋȋȅȀȆɗɐȆȅɒɕȇȄȁȆɗȁɖɒȀȆȇȋȋȁȆɒȇɒȂȆȀɕɗȁȃɐɐȀɗȄȁɕȇɑȊɖɖɑɑȇɖɐȄȂȀȃɖȊȇɒȇȊɒȊȊɖȄȋȇȁȇȄȊɐȊȅɑȊɒɒɕɑȊɒȅɑɕȊȄɗȁɑȇȊȁɕɐɑȄɕȇȊȊȄȃɑȆȅȃȋȊɑȁɑȅɗȁȂɕɒȇɕɕȆɒɑȃɑɖɒɗȂȁɗȆɑȃɖȀɖɒȂȀɑɐȊȇȇȇȅɒȀɗɑȊȄȄȄȁȊȂȀȀȁɒȁȆɑȇȂȆɐɗɕɗɕȄɖȋɗɖɖɗȆɗȁɒȇȊȊɒȅȅȂȅȋȋȃȂȄɒɒȁɐȆȆȇɒɐȅȅɐȄȅȃȁɕɕɕȅȊȀɐɕɕɖȇɖȆȀɐȂȄȀȊɗȃȇȅȄȁɕȇȇȅȄȄɑȇɖɑȇȀɗȅȇȅȂȊȄȋȁȅȃȊȁɒȊȇȊȁɒȁȂȁȁɖȊȅȆɒȅɐȋȃȇɐȊȂɐȅɒȄȊɕɕɖȇȁɕȀȀɐȆɕȁȋȇȋȅȄȅȊȄɕȀɕɒȂɖȊȅȊȁȂȀȂȂɒȄȁɐȆɗɗȅȋɑȃɖȃȁȅɕɖȊȄȂɕȂȇȊȋɕȀɕȃȇɒɑȁȂɐɑɕɑȂȄɐɑȋȆɗȊȂȄɒȁȀȁɗȆȀɗȃȊɐɐɗȊȀȅȁɐɒɒɗȊɑɕȄȊȀɐȄɐɒȋɕɑɒȅȁȁȊȁȊɗɒȂȀɕɒɒɗȁɖɖȀɕɗɒɒȆɒɖȋɗɒȅɐȀȃɗȆɕȁȅȅɐɖȂȋȅȁɕȂȂɒɐȊɒȄɒȄɒȀȃɕɗȊȄɖȃȅȇɑȄȄȃɐȀȇɕȄȅȃɑȇȄȄȆɑȁȊȄȊȁȂȆȋȆɕȃȆɖȇȁȃɗɖȅȆȂȊɗɖɖȋɒȇȄȄɗɑɖɐȀȊȀɑɕȋȅɒȄɒȇɐɒɖȄȊȆɒȇȅɑɐȃȂȆȊȃɒɐȃȆȆȄȇȃɑȁȁȅȆȇɑȁȇɒɑȀȋȁɕȁȋɐȁɗȋɕɕȃȋȇȁɗȋɕɕɒȄɐȃȊɑɑȋɐɖȆȂȂȅɐɐȊȆȊɗɖȀɕȄȁȊȂȊȃȋȊȅȂȅȂȆȇȇɒȆȋȂȋȊȆȃɐȂȅȇȅɒȆȋȂȋȆȊȂȃɒȀȃɕɐȃɖȂɗȃȄȀȅɕɐȀȅȂɗȃȄȀȅɕɐȆɖȊɗȂɒȇȅɑȇȃȇȄȃȅȃȆȇɕɗȋɐȄȇɕɒȁȄɑɒɐɒɖȀɐȃɒȋɕɒȊȊȋȆȆȂɕȆȀȀȃɑɒȀɖɒȅȄȂȅȇȅɗȆɐɕȃɖȀɖȇȄȄɐȀɖɗȄȋɑȅȃɑɒȁȊɐȅȇȂȆȁɕȆȀȊȃȄȇȊȀȄɗȂȅȇȁȆȇɕȊȄȁɒȅȄɕȊȃɑȂȂɕȁȋɑɖȇȃɕȋɐȅȃȋȀɑȇɒȅɗɗɖȆȅɒȅɖȂɖȅɖȆȃȆȊȄɗȂȀȀȄȃȂɗȁɖɐȆȂȇɑɐȁɐȆȄȅȋɗɒȀȂȁɕȊȁȄȊɕȊȂȆȆɐɗɑȃȁȋɖɑȇȆɑȃȁȀɐɒɒȇȆȇȋɒȅȋȅɕȅɗȀȀɖȂɗȋɐȋɖɗȄɑɗȄȄȅȋȆɗȊȁȄȀȊȃȅȆȄɖȂȇɖɑȁȊȋȁɕȊȇȇɐȄȋɖɖȀȊȁȄȄɕɒɐɐɖȊȄɒȄɕȆȅȀȂȊɒɕɒɑȅɕɒɑɗȂȅɑɗɑɕȀɒɑȄȋȆȋȊȇɗȂȄȇɑȂɗɖɖɗȄȄȀȂɐȄȄɑȀɑȁȀȆȄȃȊɕɑȆȅɗȋɖɖȃȁɗɑɗɒɕɐȄȋɕȆȀɐȇɑȆɑɗȋȁɗȇɕȇȇȊȆɒɖȁɒȃɒȂɕɒȅȀȋȀɖɖȋȂɕȅɐȄɑɕȇȆȅɕȃɖȂɖɖɖȃɐɗȇɒȅȁȁɑɕȁɒȋȅȄȁȇȁɐɕȀȄȋȄȄɖȇȅȅȊȆɑɐȂȆȄȊɗȁȀȀȂȁȊȅɕȊɒȂȅȄɒȇɕȆɖȊȆȅȅȇȊȄȂɕȀɖɑȀɕɐɑȂɑȆȁȀȊɐȄȇɕȆȊɕȄȆȋɖɖȄɖȊȄɐȁȄȆɗɑɗȅȋȂɗɗɐȆɒȅɐȆȄȇȄȆɒȇȄɑȅȄȆɐȂȊȀɒɖȆɖɑȇȅȆȊȆɖȋȀɐȋɖɐɗɗȆȃȁɒȋȇɖȀɕɐɕɕȋɖȀɕɑȊȊɐȄȂɕȋɕȄȂȊȂȊɕȋȁɑȂȊȀȊɕɗȁɗɑȆȄȄɖȇȇȊȄɐȂɑɖɕȀȆɕɐȁɐɐɖɐȊȋȇȂɗȀȊȅɑȄɑɖȄɑȃȁȋɐɕɑȄȅȂȂɗɗȅɑɖȇɕɐɑȀȆȁɕȆɑɖɕɗɗȅȃȆɒȄɕɖȃɕȄȆɗɗɖȋȋȆȆȀȆȅɕȃɒȋȊȆȄȀɗȃɕɕɐȁɗȆɗȅȁȋɖȀȅɕɐȄɗɖɐȀȋɗȂɕɗȂȄɑɗɐɕȂȁȀȄɒȃɕȇȃȄɖȇȇɒɕȊȂɐȋȂɑȋɖȂɒȊȁɕɐȊȇɗɖȅȀȊȀȂɕɗȂȄɑȊȃɕȁȁȀɗȃɒȀȂȆȊɐȂȂȄȃɒȀȂȆȋɐɐȄȋɗȆȅȀȃȀɖȅȇɑȇȋȁȊȇȊȃɗȂȅɒɐȃȁɒɐȃȋɕɖȋɑɗȂɐɕȃȁȀɗȃȇȅȋȆȃȋɑȇȆȂȃȄɒɐȂȇɕɐȃȋȊȇȆȂȇȂȄȋȊȃȆȂȁȂȃȆȅɗȆȇȋȋȇȃȂɑȂȆȁȁɗȃȇȅȋȆȃɑȀȃȊɐȆȂȅȂȀɐɐɖɒȋȀȃȀɖɐȇɒȋȊȃȂȁȅȁȆȇȇȋȇȂȂɑȂȆȁȁɗȃȇȅȋȆȃȋɑȇȆȂȁȂȃȁȅɗȆȇȋȋȇȃȂɑȀȆȄȃȅɗɖɕȃɗȃɕȀȁȁɒɒȇɒȃȋɗȃɒȂȂȅȋɒȀȇȁȃȇɗɒɒȋȄȅɑɗȀȋɐȃɒȋȀȃȂɖȅȄȆȇȂȋȂɕȅȁȆȇȇȋȃȊȀȂȁɒɒȇɒȃȋɗȃɒȂȂȅȋɒȀȇȁȃȇɗɒɒȋȂȃȋȂȀȅȁɒȇȇɒȃȋɗȃɒȂȂȁȋɒȀȋȁɕȃȁȃɒȀȇȁȃɒɗɒɒȋȂȃȋȂȀȅȁɒȇȇɒȃȋɗȆɒȀɕȅɒȂȋȅɖȆȇȂȋȋɕȀȀȁɒȋɐȃɕȀȂȁɒɒȇȋȇȂȋȂȆȆȁɗȃȇȅȋȆȃȋɑȇȆȂȁȂȃȁȅɗȆȇȋȋȇȃȂɑȂȆȁȁɗȃȇȅȋȆȃȋȊȇȆȂȇȂȄȋȊȃȆȂȁȂȃȆȅɗȆȇȋȋȇȃȂɑȂȆȁȁɗȃȇȅɑȆȂȄȃɑȃȄȂȋȂȆɐȅɖȀȋɐȃɒɖȀȇȀȋɐȃɒȁȊȁȂȇȅȋȆȂȇɑȇȆȂȁȂȃȁȅɗȆȇȋȋȇȃȂɑȂȆȁȁɗȃȇȅȋȆȃȋɑȇȆȂȁȂȃȁȅȆȆȇȂȃȂɖȅȇȆȇȇȋȇȂȂɑȂȆȁȁɗȃȇȅȋȆȋȋɒɖɕɖɗȊȆɐɒȁɕȇɗɗȅȅȀɕɐȂɖɕȄɒȄɒɖɕɗȋɖɕȄɕɖȊɒɒɒȊɗȇȄȄɕȄȆȂȅɖȂȄȄȆɗȃȂɕɑȆɒɒȊȆȊɕɗȆɕɕȆȊȋȇȃɑɒȆȂɖɒȀɗȅȃȄȃɕȃɕȅɐɑɖɗȂȃɕȁȁȅȅȆȁȁȋɑɑȇȆɖɗɑȊɒɐɖɖȄȁɖɗȁɗȂȂɒȋȃɑȊɕȄɕȆɐȄȅȀɕɖȂɖȀɗȁȃȄȄɖɖȊȆȁɕȀȁɐȋȇɑɗȅȅȃɒɖȃȋȄȄɗȁȀɐȂȊɖɐɒȅȂȆȄȊȄȄȄȁȀȇȂȊȁȄȄɗȋɗȆɗȀɗɗȇȋɑȃɖɒȀɐɖɐȂɒȄɗɗɗȇȋȀȃȃɗȂɖȄȅȃɗɑɒɗȅȊȄɒɑȊɑȆȁɕȇȄȇȃȇȋȁɑɑȋȅȂȊȁȄȄȋɖȁȃȊɖɕȂɒɒɗȊɗȄȃɗȋɐȇȆɗȅȀɑȇȂȀȃȋȆɑɑȋȅɑȅȇȄȅȃȁȅȂȃȀȄȄȋɗɐȄȇɖɖȃȆȂȅȇȃȅɖȄɗȄɗȂȇȄȀɗɗɑɖȊȄȋȄɗȄɕȁȊȁȃȄȇȄȆȇȄȋȄȄȃɖȁȁȄȄȇȄȆȇɑɒȋɗȆȅɒȀȋȋȅɐȅɖȋȁɑȊɒȊɕɗȃȆȄȀɗȀɕɒȂɒɕȋɐȄɖȃȁȇɒȇɕȁɕȃȅȁɕɒɐȂɕȋȆȆȅɗȋȋɕȃɒȊȀȂɒɗɒȃɐȁɑȄȆɑȋȆȂɕɗȃȇɒɐɗȇȊȃȂȃȁȇȀȆɐȃȋȇȇɑȃɗȆȂɐȂȆȁȇȀȆȇȊȋɗȇȄȃȅȃɐȇȇɒȃɗȃȊȆȋɒȊɐȀȃȄȅȄȀɕȁȂȇȋȅɒȋȃȃȊȊȄȂɒɒȁȋȁɒȆȋȅɒȋȀȃɒȊɖȂȆȇȋȅȊȆȂɒȂȁɑȃȆȁȇȀȃȁȆȅɖɒȋȂȂȀɑȁȂȄȂȀȁɖȀȆȇȇȃȆȇɑȃɗȆȂȅȂȆȁɐȀɐȆȂɗȆȅȅɒȇȋɐȃȇɒȃɗȃȊȆȋɒȊȁȂȁȂȇȋȅɒȋȃȃȊȊȄȂɒɒȁȋȁɒȆȋȅɒȋȀȃɒȊȇȂȊȅȋɐȊȅȂɒȂȁɑȃȆȁȇȀȃȁȆȅȅɒȇȋȃȋȊȁȂɒȅȃɐȁɒȆȋȅɒȋȅȃɒȊȁȂɒɒȇɑȅɒɑɑȋɑɑȁȁȆȀȆȇɒȅȂȁȄȂɐɑȄȃȋȄȀȃȁȄȂȂȀɑȁȂȀȋȋȂɑȊɐȊɗɐȃȋȃȅɐɐȊȋȊȃɖɐɐȊȅȂɐȇȁȅȃɑȅȃȇɑȆȆɒȅȊȋɖɐɑȊȅȆɐɗȂɕɐȋȇɑɖɖɒɕȊȃȊȄɗȅȆɕȇȂȀȆȃȄɒȄɒȀȂȄȋȅȂɕɗȁȋɑȇɐȁȄɖȆȇȊȋɗȇɑȋȅɐɒȊȇɗɖɒȄȃɒȀɕɒȃȊȆȋɒȊȄȂɗȊȊȁȆȄȅɒȆɐɑȅɗȇȁȊȀȆȁɖȆɑɖɒȊȇȂɒȊȄȁɗɕȊɒȆɐȅȅȆȇɑȅɗȆȁɖȀɑȁɒȆȀȅɒȊɐȀȃȄȅȄȀɕȁȂȇȋȅɒȆɐɑȅɗȇȁȊȀȆȁɖȆɑɖɒȊȇȂɒȊȄȁɗɕȊɒȆɐȅȅȆȇɑȅɗȆȁɖȀɑȁɒȆȀȅɒȊȄȂɗȊȆȁȊɑɗȇȃȀȁȄȅȇȁɕȁȅȆɐȅɒȆɐɑȅɗȇȁȊȀȆȁɖȆɑɕȁȇɑȋɗɐɑȊȅɗɒɒȇɐȅȅȆȇɑȅɗȆȁɖȀɑȁɒȆȀȅɒȊȄȂɗȊȊȁȆȄȅɒȆɐɑȅɗȇȁȊȀȆȁɖȆɑɖɒȊȇȂɒȊȄȁɗɕȊɒȆɐȅȅȆȇɑȅɗȆȁɖȀɑȁɒȆȀȅɒȊȄȂɗȊȆȁȊɑɗȇɑȋȅɐɐȊȁɑȀȆȁɖȆɑɖɒȊȇȂɒȊȄȁɗȄȆȇɒɖɗɐȊȊȅɐȅȇɕȆɑȀɕɐȃȅȇɗȋɕȅɕȄɐɗɕȇȋȄɐɑȊȄȁȆȀȄɗɕɐȂɖɗȀɐȀȃȊȀɗȇɗɕȇȂɗɒȆɐȃȇɑȇȂɕɑɐȇȊɗȅȀɕȊȇȅȇȋȁȇɗȇɗɒȁɖȅȁȄɒȊȊɒɑȄȅɗȋȆȊɑȃɑȋȅȄȆȋȊȀȅȂȃȂȅȂȆȁɕȄȇȆȊȄȂɕȀɖɗȇȊȊɖɒȁȊɒȅɕȇȂȆɗȀɕɐȅȅȀɑɕȃȀɕȆȄȆɐȂȊɖɒɕȇɒɑȆȂȆɗȊȀȇɐȂɖɒɗȀȇɗȊȀȅɖȁɖȋȆɗȅȊɕɗɑɑɒɖɐɗȊȆȊɖɕɗȁȀȇȄȊȇȄȊɗɒɗȁȇȊɗȅɗȆȇɒɑɖȅɒɑɖȃɐȄɒȅȂɑɖɖɒɒɒȂɒɖɐɕȇɐɗȅȀɕɗɒɒȆɕɕɑȊɐȊȂȁȃɗȄȋȅɒȄɖɑȃɒɒɒɖȅȊɕȁɐɐȅɒȊȇȀɖȄɖɐȊɒȆɑɐȅȆɕȆɒȄɗȆɗȁɕɕȆȂɐȊɖȄȅȆȄɗȄȇɑȁȅȄȂɕȊɒȄɕȄȆȄɐȆȅȄɕɕɕȊɑȀȄȀɖɑȄȃȀȋȆȂȄȀȃɗɖɒɖȇɐɕɗɑȁɕȊɖȂȀȃȇɕȄɑɗȄɗɕȃȋɗɕȆɐɐȂɕȅȄȅȇȊɖȀȋȅȊȅɖȅɑȅɑȄȆȀȃɐȅɗɖȊȇɗɗɗȆȅɕɕȂȆȊɕɕɖȃȄȃȃȃȃɕɕɕɕȃȀȃȃȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃɗɕɒȇɗȁȅɐȆɒȃȂȃȃȃȃȁȃȃȆȃȃȃȃȂȀȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȆɑȇȀȅɕȅɖȄȇȅȆȅɖȄȇȆɕȆȇȄȊȄȃȅȆȄȀȆɗȁɖȄȋȅɗȅɐȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȂɖȊȂȂɒɑȄɖɕȃȃȃȃȃȃȇɖȃȁȃȃȃȃȃɑȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȊȀȃȀȃȃȃȃȆɕȄȁȅȆȅɐȄȀȁɕȁɖȄȁȅȆȅɐȄȀȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃɗȅȅȇɑȀȆȂɕȇȃȃȃȃȃȃȀȂȃȀȃȃȃȃȂɐȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɑȀȃȅȃȃȃȃȄȄȅɕȄȁȅȇȁɕȆɕȄȁȅȆȅɐȄȀȁɕȅȇȅɕȅȀȄȆȅɗȅȆȅɖȄȇȁɖȄȋȅɗȅɐȁɖȄȁȅȆȅɐȄȀȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȀȊȆɑɑɒɑȄȆȊȃȀȃȃȃȃɑȄȁȁȃȃȃȃȂȂȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɖȊȃȋȃȃȃȃȄȄȅɕȄȁȅȇȁɕȅȇȅɕȅȀȄȆȅɗȅȆȅɖȄȇȁɖȄȋȅɗȅɐȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȃȄɑȄȇȃɒɒȁȇȃȅȃȃȃȃȋɕȂɒȃȃȃȃȂȆȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȄȂȃɐȃȃȃȃȄȄȅɕȄȁȅȇȁɕȄȇȅȋȅȆȅɗȅȆȁɕȄȇȅȋȅȆȅɗȅȆȀȂȁɖȄȋȅɗȅɐȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȁȂȊȄȁȆȋɒɗȅȃȀȃȃȃȃȇɖȃɒȃȃȃȃȂȂȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɐȋȂȁȃȃȃȃȄȄȅɕȄȁȅȇȁɕȄȀȅȆȄȇȄȇȅȊȅɖȅȄȄȀȁɖȄȋȅɗȅɐȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȃȆȂɕɐȀȀɖɕɐȃȂȃȃȃȃȇɗȃȄȃȃȃȃȂȁȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɐɗȂȅȃȃȃȃȄȄȅɕȄȁȅȇȁɕȅȅȅɕȅɖȄȇȆȇȅȂȅȁȅɐȅȆȁɖȄȋȅɗȅɐȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȊȀȄȅɗȅȇȊȂȋȃȂȃȃȃȃȇȃȃȁȃȃȃȃȂȇȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɕȊȂȋȃȃȃȃȄȄȅɕȄȁȅȇȁɕȄȄȅȆȅȁȆȀȅȆȄȇȄȇȅȊȅɖȅȄȄȀȁɖȄȋȅɗȅɐȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȊȁȄȇɑɑȆȀȄȄȃȂȃȃȃȃɐɕȃȁȃȃȃȃȂȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȇȀȂɒȃȃȃȃȅȇȅɕȅȀȆȃȄȁȅɕȄȃȄȀȁɕȅȂȄȃȄȃȁɖȄȋȅɗȅɐȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃɕȂȁȂȊɕȁɐȄȄȃȂȃȃȃȃɕɕȃȁȃȃȃȃȂȂȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃɕȃȂɐȃȃȃȃȅȇȅɕȅȀȆȃȄȁȅɕȄȃȄȀȁɕȅȀȅɕȄȁȅȆȁɖȄȋȅɗȅɐȆȃȇɑȃȂȃȁȁɗȃȃȂȇȃȃȃȅȃȃȃȋȃȃȃȃȃȃȁȂȃȃȊɕɖȅȊȇȂȁȁɒȃɑȃȃȃȃȆȀȄȃȃȃȃȃȃɕȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȃȊɖȂɕȃȃȃȃȄȄȅɕȄȁȅȇȁɕȄȀȄȇȄȊȅɐȅȆȄȀȁɖȄȋȅɗȅɐȆȃȇɑȃȆȃȅȃȃȃȃȃȃȃȃȃɑȃȃȃɑȃȃɐȂȃȁȃȃȃȃɕȆȁɒȃȃȃȃȃȃȃȃ
You can see that they read content from flag file and convert it into hex. After that, it convert each character to the number representing the unicode code of a specified character :)))) and xor it with an random integer in range(0,1024)
Finally, they convert it back to character and create output.
To solve it, i use brute-force and find out the random number. It's 563
import codecs
filename = "vaulter-output.enc.txt"
byte_data = []
num = 563
print("Trying " + str(num) + ":\n")
decode = ""
f = open(filename, 'r')
res = []
while 1:
# read by character
char = f.read(1)
if not char:
break
res.append(chr(ord(char) ^ num))
hexstring = "".join(i for i in res)
#if decode.find("{") > 0:
print(hexstring)
f.close()
after got hexstring, i convert it to binary file and using file command to check it, and i found it is Microsoft Word 2007 file :)))
Yeh, using Microsoft Office to open it and see the flag
Flag: KCTF{w3lc0m3_70_3ncryp710n_w0rLD}
I Love Pi (221 solves)
Challenge
Isaac Newton left me this piece of code and a message. Can you help me decode this...
Demo Flag : KCTF{FL4G_H3R3}
i_love.py
python
import base64
lengths = [--REDACTED--]
flag = "KCTF{*******************************}"
# len(lengths) = 10
# len(flag) = 39
s = 0
encoded_flag = ""
for l in lengths:
seg = flag[s:s+l]
for _ in range(len(seg)):
seg = base64.b64encode(seg.encode('ascii')).decode('ascii')
s+=l
encoded_flag += seg
print(encoded_flag)
encoded_flag.txt
VXpCT1ZRPT0=Rg==V2xod1UxcHNWa0pRVkRBOQ==MQ==VmpCb2QxVXhjSE5UYTFaV1ZrUkJPUT09Vm0wd2QyVkhVWGhUV0doaFUwVndVRlp0TVZOV01XeFZVbTVrVlUxV2NIbFdNalZyVmpKS1NHVkliRmRpVkVaSVZtMTRTMk15VGtWUmJIQk9VakF4TkZkWGRHRmtNRFZ5VFZWV2FHVnFRVGs9U0RNPQ==Vm1wQ1UxRXlTbkpOVldSVFYwZFNjVlJVU1RSUFVUMDk=VjFSS2QxWXhjSEpPVldSYVpXcEJPUT09VGtac09RPT0=
It seem we have to guess the length of encoded string
I try to split it by "==" or "=" and decode it until it contain "==" or "=". If it contain "==" or "=" I split again and decode them ultil i cant decode all of them.
import base64
ct = "------cipher_text------"
# function: split if it contain "==" and "="
def splitct(ct):
result = []
ct = ct.split("==")
ct = [x.split("=") for x in ct]
ctt = []
for _ in ct:
for __ in _:
if __ == "":
_.remove(__)
ctt.append(_)
for _ in ctt:
for __ in _:
if __ != _[-1]:
__ += "="
else:
__ += "=="
result.append(__)
return result
# print(split(ct))
def decodec(ct):
if ct.find("=") > 0 and ct.find("=") < len(ct) - 2:
ct = splitct(ct)
for c in ct:
try:
c = base64.b64decode(c)
decodec(c.decode())
except:
print(c.decode(),end="")
else:
try:
ct = base64.b64decode(ct)
decodec(ct.decode())
except:
print(ct.decode(),end="")
decodec(ct)
Flag: KCTF{4_P1_4_D4Y_K33P5_7H3_H4CK3r5_4W4Y}
Jamal (142 solves)
Challenge
My friend Jamal has encrypted the flag and sent me the files. He now wants me to decrypt it and find out. Can you do it for me, please?
Demo Flag: KCTF{f4k3_fl4g}
jamal-encrypt.py
python
from random import randint, seed
def is_prime(n):
if n == 2 or n == 3:
return True
if n % 2 == 0 or n < 2:
return False
for i in range(3, int(n**0.5)+1, 2):
if n % i == 0:
return False
return True
def get_prime(n):
while True:
p = randint(2**(n-1), 2**n)
if is_prime(p):
return p
def encrypt(ch, g, p, y, k):
pt_int = int.from_bytes(ch.encode(), "big")
c1 = pow(g, k, p)
c2 = (pt_int * pow(y, k, p)) % p
return c1, c2
def main():
flag = open("flag.txt", "r").read().strip()
x = randint(2, 9999999)
p = get_prime(43)
g = get_prime(43)
while g == p:
g = get_prime(43)
if g > p:
g, p = p, g
y = pow(g, x, p)
with open("flag.enc", "w") as out:
for ch in list(flag):
# encrypt
k = randint(2, 9999)
c1, c2 = encrypt(ch, g, p, y, k)
out.write(f"{c1},{c2}\n")
with open("key.pub", "w") as out:
out.write(f"p: {p}\n")
if __name__ == "__main__":
seed(0)
main()
jamal-flag.enc.txt
2542674357061,3229421908786
1047095110514,2703124715302
2241080680361,339282920484
2877082899121,213437588357
2962454333590,1146622182354
8667422468,2914668005810
3283797690288,5668747940970
92336276716,2578935770315
280618016374,4820189175032
1209866491592,146344916624
2253881281576,2448560213475
1161992879414,1674301627359
4818900557459,4874289912091
1794902833332,3885572444087
3082175285512,235300300457
1157352410430,3391910550439
1975682514838,4412581570619
940190944451,4668208507929
4892987552563,3969703431560
861276404486,4681646838677
5308919438905,740205209430
4882067017820,5684832423565
832490479211,3882413987731
2768698738377,2559643212287
4799150729489,2715004149410
2400910224808,2411154824523
871309115691,312836731476
32734373338,5274112237786
2427518930772,3618374377486
3075900055786,2047586052701
5395051057487,427396164824
663270611761,2916443609523
jamal-key.pub
p: 5690411473163
The key of this challenge is seed() function. You can see some randint() function but it is not important. If you use seed(), every time you run this program, it alway return a same result. jamal-key.pub is a clue for you.
Ok, now i just have to brute-force 128 character until the result of c1,c2 is same as jamal-flag.enc.txt
from random import randint, seed
def is_prime(n):
if n == 2 or n == 3:
return True
if n % 2 == 0 or n < 2:
return False
for i in range(3, int(n**0.5)+1, 2):
if n % i == 0:
return False
return True
def get_prime(n):
while True:
p = randint(2**(n-1), 2**n)
if is_prime(p):
return p
def encrypt(ch, g, p, y, k):
pt_int = int.from_bytes(ch.encode(), "big")
c1 = pow(g, k, p)
c2 = (pt_int * pow(y, k, p)) % p
return c1, c2
def main():
x = randint(2, 9999999)
p = get_prime(43)
g = get_prime(43)
while g == p:
g = get_prime(43)
if g > p:
g, p = p, g
#g < p
y = pow(g, x, p)
with open("jamal-flag.enc.txt", "r") as out:
for _ in out.readlines():
k = randint(2, 9999)
for __ in range(128):
c1, c2 = encrypt(chr(__), g, p, y, k)
if c1 == int(_.split(",")[0]) and c2 == int(_.split(",")[1]):
print(chr(__), end="")
break
if __name__ == "__main__":
seed(0)
main()
Flag: KCTF{h4v3_y0u_h34rd_0f_3l64m4l?}
Encode Mania (186 solves)
Challenge
Encoding random stuffs is so cool! I just want to encode it over and over and over again ...
Demo Flag: KCTF{fl4g_h3r3}
encode_mania.py
python
import base64
from random import randint
flag = "kctf{************}"
def encrypt(s, option):
if option == 0:
ret = base64.b64encode(s)
elif option == 1:
ret = base64.b32encode(s)
elif option == 2:
ret = base64.b16encode(s)
else:
ret = base64.b85encode(s)
return ret
encrypted_flag = flag.encode('utf-8')
for _ in range(12):
option = randint(0, 3)
encrypted_flag = encrypt(encrypted_flag, option)
with open("encode_mania.txt", 'w') as f:
f.write(encrypted_flag.decode())
encode_mania.txt
GUZDGMRUIQ3TENJYGMYTOMBUHA2TSMZRGM4TGOBVIE2DKNRUGZATIQRXIEZTSNRRGUZDGMRUIU3DMNRWGQ3TKMRUHA2TSNZZG4ZTERRVHE3EENRUGZATKOBTGM3TQNRZGUZDGMRUIUZTMNCCGMYTMOBUHA2TSMZRGM4TGOBVIE2DKNRUGZATIQRTGEZTSNRRGUZDGMRUIU3DONCEGQ3DOMBUHA2TSNZZG42DMNRVG42TKNRUGZATIQRXIEZTSNSBGUZDGMRUIQ3TENJQGMYTOMBUHA2TSMZRGM4TGOBVHEZTANRUGZATMNJWHE3TINJZGUZDGMRUIU3DMNRWGQ3TKNRUHA2TSNZZG4ZTERRVIE2DKNRUGZATKOBTGM3TQNSCGUZDGMRUIUZTMNCCGMYTOMBUHA2TSMZRGM4TGOBVIE2DKNRUGZATIQRXIEZTSNJZGUZDGMRUIU3DMNRWGQ3TKMRUHA2TSMZRGM4TGOBVHE2TKNRUGZATIQRXIEZTSNRRGUZDGMRUIQ3TENJYGMYTMQZUHA2TSNZZG42DMNRVG42TKNRUGZATIQRTGEZTSNRZGUZDGMRUIQ3TENJQGMZDKNRUHA2TSMZRGM4TGOBVHEZTANRUGZATKOBTGM3TQNSBGUZDGMRUIU3DMNRWGQ3DOMBUHA2TSNZZG42DMNRVHE2TKNRUGZATIQRTGEZTSNRRGUZDGMRUIU3DMNRWGQ3TKMRUHA2TSNZZG4ZTERRVG43EENRUGZATKOBTGM3TQNSDGUZDGMRUIU3DMNRWGQ3DMQZUHA2TSMZRGM4TGOBVHE2TKNRUGZATKOBTGM3TQNRYGUZDGMRUIU3DMNRWGQ3TMNBUHA2TSNZZG42DMNRVHEZTANRUGZATIQRXIEZTSNSBGUZDGMRUIQ3TENJYGMZDIRJUHA2TSNZZG4ZTERRVHEZTANRUGZATIQRXIEZTSNRRGUZDGMRUIU3DMNRWGQ3TIRJUHA2TSMZTGZDDOMRVG42DKNRUGZATKOBTGM3TQNSDGUZDGMRUIQ3TENJQGMZDKMRUHA2TSMZRGM4TGOBVG43EENRUGZATKOBTGM3TQNSDGUZDGMRUIQ3TENJQGMZDIRJUHA2TSNZZG4ZTERRVG42DKNRUGZATMNJWHE3TINKBGUZDGMRUIQ3TENJQGMYTOMBUHA2TSNZZG4ZTERRVIE2DKNRUGZATIQRTGEZTSNSBGUZDGMRUIU3DMNRWGQ3TKMRUHA2TSNZZG42DMNRVHEZTANRUGZATIQRXIEZTSNSCGUZDGMRUIU3DMNRWGQ3TINRUHA2TSMZTGZDDOMRVG42DKNRUGZATIQRXIEZTSNRYGUZDGMRUIU3DMNRWGQ3DMOBUHA2TSNZZG42DMNRVG43EENRUGZATKOBTGM3TQNSCGUZDGMRUIQ3TENJQGMYTOMBUHA2TSMZRGM4TGOBVIE2DKNRUGZATIQRXIEZTSNRZGUZDGMRUIU3DMNRWGQ3DOMBUHA2TSMZRGM4TGOBVHE2TKNRUGZATKOBTGM3TQNRZGUZDGMRUIQ3TENJQGMZDKMRUHA2TSNZZG4ZTERRVHEZTANRUGZATIQRTGEZTSNKBGUZDGMRUIQ3TENJQGMZDIRJUHA2TSNZZG4ZTERRVG43EENRUGZATKOBTGM3TQNSBGUZDGMRUIU3DMNRWGQ3TINRUHA2TSMZRGM4TGOBVHEZTANRUGZATIQRXIEZTSNSCGUZDGMRUIQ3TENJQGMZDIRJUHA2TSNZZG42DMNRVHEZTANRUGZATIQRXIEZTSNRZGUZDGMRUIU3DMNRWGQ3TKNRUHA2TSMZRGM4TGOBVIE2DKNRUGZATKOBTGM3TQNRYGUZDGMRUIQ3TENJQGMYTOMBUHA2TSNZZG42DMNRVG42TKNRUGZATIQRXIEZTSNSBGUZDGMRUIQ3TENJYGMYTMQZUHA2TSMZRGM4TGOBVIE2DKNRUGZATKOBTGM3TQNKBGUZDGMRUIU3DMNRWGQ3TIQJUHA2TSMZRGM4TGOBVG43EENRUGZATKOBTGM3TQNSCGUZDGMRUIQ3TENJYGMYTOMBUHA2TSMZRGM4TGOBVIE2DKNRUGZATIQRXIEZTSNRYGUZDGMRUIU3DMNRWGQ3TKNRUHA2TSNZZG4ZTERRVIE3EENRUGZATKOBTGM3TQNRYGUZDGMRUIQ3TENJQGMYTOMBUHA2TSMZRGM4TGOBVHE3EENRUGZATIQRXIEZTSNSEGUZDGMRUIU3DONCEGQ3DOMBUHA2TSNZZG4ZTERRVHE2TKNRUGZATIQRXIEZTSNSBGUZDGMRUIQ3TENJQGMYTOMBUHA2TSMZRGM4TGOBVHEZTANRUGZATKOBTGM3TQNRYGUZDGMRUIU3DMNRWGQ3TIRJUHA2TSNZZG4ZTERRVIE2DKNRUGZATIQRXIEZTSNSBGUZDGMRUIQ3TENJYGMZDINRUHA2TSMZRGM4TGOBVIE2TKNRUGZATIQRXIEZTSNRRGUZDGMRUIQ3TENJYGMZDIQJUHA2TSNZZG42DMNRVG43EENRUGZATIQRXIEZTSNSCGUZDGMRUIQ3TENJQGMZDKQJUHA2TSMZTGZDDOMRVHE2TKNRUGZATIQRXIEZTSNSEGUZDGMRUIQ3TENJQGMZDIRJUHA2TSMZRGM4TGOBVG42TKNRUGZATIQRTGEZTSNSBGUZDGMRUIQ3TENJQGMYTMQZUHA2TSMZRGM4TGOBVHEZTANRUGZATIQRTGEZTSNRRGUZDGMRUIU3DMNRWGQ3TKMRUHA2TSNZZG4ZTERRVG43EENRUGZATKOBTGM3TQNSCGUZDGMRUIQ3TENJQGMZDIQJUHA2TSMZRGM4TGOBVG43EENRUGZATKOBTGM3TQNRYGUZDGMRUIU3DMNRWGQ3DMQZUHA2TSNZZG42DMNRVHEZTANRUGZATKOBTGM3TQNRRGUZDGMRUIU3DMNRWGQ3TKNRUHA2TSNZZG4ZTERRVHEZTANRUGZATIQRXIEZTSNRRGUZDGMRUIU3DMNRWGQ3TKNRUHA2TSMZRGM4TGOBVHE2TKNRUGZATKOBTGM3TQNSEGUZDGMRUIQ3TENJYGMZDINRUHA2TSNZZG42DMNRVG42TKNRUGZATIQRXIEZTSNRZGUZDGMRUIU3DMNRWGQ3TKMRUHA2TSNZZG42DMNRVG43EENRUGZATIQRTGEZTSNRZGUZDGMRUIQ3TENJYGMYTOMBUHA2TSNZZG4ZTERRVG43EENRUGZATIQRTGEZTSNKBGUZDGMRUIQ3TENJQGMZDIRJUHA2TSNZZG42DMNRVG43EENRUGZATKOBTGM3TQNSDGUZDGMRUIU3DMNRWGQ3TIRJUHA2TSMZTGZDDOMRVG43EENRUGZATMNJWHE3TINKBGUZDGMRUIQ3TENJYGMZDINRUHA2TSNZZG42DMNRVG43EENRUGZATKOBTGM3TQNSCGUZDGMRUIQ3TENJQGMZDINRUHA2TSMZRGM4TGOBVIE2DKNRUGZATIQRTGEZTSNRZGUZDGMRUIUZTMNCCGMYTMQZUHA2TSNZZG4ZTERRVG43EENRUGZATKOBTGM3TQNSFGUZDGMRUIQ3TENJYGMZDIRJUHA2TSNZZG42DMNRVHEZTANRUGZATKOBTGM3TQNSBGUZDGMRUIQ3TENJQGMZDIRJUHA2TSNZZG4ZTERRVG42DKNRUGZATKOBTGM3TQNSBGUZDGMRUIQ3TENJQGMYTMQZUHA2TSMZRGM4TGOBVHE3EENRUGZATIQRXIEZTSNSEGUZDGMRUIQ3TENJYGMYTMQZUHA2TSMZRGM4TGOBVHE3EENRUGZATKOBTGM3TQNSDGUZDGMRUIQ3TENJYGMYTOMBUHA2TSNZZG42DMNRVHE3EENRUGZATIQRTGEZTSNRRGUZDGMRUIQ3TENJQGMYTOMBUHA2TSNZZG42DMNRVG42TKNRUGZATIQRTGEZTSNKBGUZDGMRUIQ3TENJYGMZDIQJUHA2TSNZZG4ZTERRVIE2DKNRUGZATMNJWHE3TINJZGUZDGMRUIUZTMNCCGMYTMQZUHA2TSMZTGZDDOMRVG42TKNRUGZATMNJWHE3TINJZGUZDGMRUIQ3TENJYGMYTOMBUHA2TSMZRGM4TGOBVIE2DKNRUGZATIQRXIEZTSNRRGUZDGMRUIU3DMNRWGQ3TKMRUHA2TSNZZG4ZTERRVHE3EENRUGZATKOBTGM3TQNRRGUZDGMRUIU3DMNRWGQ3TINRUHA2TSMZRGM4TGOBVG42DKNRUGZATIQRXIEZTSNSEGUZDGMRUIU3DONCEGQ3DOMBUHA2TSNZZG4ZTERRVG42TKNRUGZATIQRXIEZTSNSBGUZDGMRUIQ3TENJQGMYTMOBUHA2TSMZRGM4TGOBVHEZTANRUGZATIQRXIEZTSNKBGUZDGMRUIU3DMNRWGQ3TIQJUHA2TSNZZG4ZTERRVIE3EENRUGZATIQRTGEZTSNKBGUZDGMRUIUZTMNCCGMYTMOBUHA2TSNZZG4ZTERRVHE3EENRUGZATMNJWHE3TINRRGUZDGMRUIU3DMNRWGQ3DMQZUHA2TSNZZG42DMNRVG42TKNRUGZATMNJWHE3TINRYGUZDGMRUIQ3TENJQGMZDKNRUHA2TSMZRGM4TGOBVHEZTANRUGZATMNJWIE3TQNRYGUZDGMRUIUZTMNJQGQ3TINRUHA2TSMZTGZDDGOBVHE2TKNRUGZATMNJWIE3TQNRYGUZDGMRUIUZTMNJQGQ3TINRUHA2TSMZTGZDDGOBVHE2TCM2EGNCA====
Here, we have 4 method of encode: base 16, base32, base64, base85. I know that: there are some character that can only be used in a special method.
import base64
enc = "------cipher_text------"
chars16 = "0123456789ABCDEF"
chars32 = "GHIJKLMNOPQRSTUVWXYZ"
chars64 = "abcdefghijklmnopqrstuvwxyz+/"
chars85 = "!#$%&()*-;<>?@^_`{|}~"
while enc[0:4] != "KCTF":
mode = -1
if mode == -1:
for c85 in chars85:
if c85 in enc:
mode = 85
if mode == -1:
for c64 in chars64:
if c64 in enc:
mode = 64
break
if mode == -1:
for c32 in chars32:
if c32 in enc:
mode = 32
break
if mode == -1:
for c16 in chars16:
if c16 in enc:
mode = 16
break
if mode == -1:
print("ERR")
print(enc)
exit(-1)
if mode == 16:
enc = base64.b16decode(enc)
if mode == 32:
enc = base64.b32decode(enc)
if mode == 64:
enc = base64.b64decode(enc)
if mode == 85:
enc = base64.b85decode(enc)
enc = enc.decode()
print(enc)
Flag: KCTF{dfs_0r_b4u7e_f04c3}

Nhận xét
Đăng nhận xét