Year 2024, Quest 2

This commit is contained in:
Anupam Jain 2024-11-28 17:40:24 +05:30
parent 27efb0ff93
commit cf1dd7c28e
5 changed files with 709 additions and 16 deletions

3
quests/year2024/quest2-1 Normal file
View file

@ -0,0 +1,3 @@
WORDS:LOR,LL,SI,OR,EC,RU,IS
LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT, SED DO EIUSMOD TEMPOR INCIDIDUNT UT LABORE ET DOLORE MAGNA ALIQUA. UT ENIM AD MINIM VENIAM, QUIS NOSTRUD EXERCITATION ULLAMCO LABORIS NISI UT ALIQUIP EX EA COMMODO CONSEQUAT. DUIS AUTE IRURE DOLOR IN REPREHENDERIT IN VOLUPTATE VELIT ESSE CILLUM DOLORE EU FUGIAT NULLA PARIATUR. EXCEPTEUR SINT OCCAECAT CUPIDATAT NON PROIDENT, SUNT IN CULPA QUI OFFICIA DESERUNT MOLLIT ANIM ID EST LABORUM.

605
quests/year2024/quest2-2 Normal file
View file

@ -0,0 +1,605 @@
WORDS:EI,G,J,YEN,NVRKNILMYZ,KCV,HV,YARV,IVSXJQUVQI,HZKPLCGZNE,CJAC,CWOBIGSRBE,YOOI,IQCKAXPNPW,OJWJFZGWJZ,AKML,XDFO,AB,VX,ZKTQ,OW,DL,HNJ,YGIZXOZREH,YZTR,PJ,FXMNMLKLFF,QCX,CGB,LM,UOH,GAKK,KP,AZ,QOBRSGPMKT,XKOQ,ZJO,SZH,X,PAC,L,WOW,ZK,OO,F,PNB,XZOFVKXRYK,MSYH
QKWYJJWYMONBDVPXAZEVCNTFYTJMOKVUNFBXUIUP
PZJAYDKCHI
JAWFZDOEBIZYARGQKHZZALVVFLFYCUBOLJZTZHLVMAAPSVTAEFDQNTVASDLA
THWZZEGZBB
QHGSWCYQYDNTGVAORQYD
EYGBPORRGGBJVTVEXMBSNLYBIMXNYIXPYQBRUWLSVFZRXMSRPBDTJLHBBTWK
RINDTCXOMPIIOWCLIQPF
ZPGCJWLCUSKUUKZTZXTRVHVAEWHGYOTBFRNSXFPY
MKZAXGNUTAYTZRCORWTELONITHJQIPJQDSKNFMWFXVFOZGCAEI
CJHVCFOZGYGEPTYXTGXLVSXRCHKVREAEFZCFHCWSKDOFHKXBBOIIDAROEHLR
VZQIYWCUEQ
TXHAAZWWHHTJPRAHNXPHBTZJGRPDGKEDPFQKDKCXLZWEFOOGZV
HBUTVGXURZEHOOOTMFIVCGCUIWUCIIHOCEXITWCW
YSDXMSOYDDVSAGROGXUVZJXQACAKMUAJMTUGLRZK
CJDCKIPXOWFZDMENBHVB
HBAOPREGAEOYRSCDRVCETCUSPVVAHVAMGBJFFVYM
RKOQKPCMLTVCASYIUUELFGAMVJBVOKNMQGKFTDTGPDYPDFXMHDHSWSGTZRVQ
DUAHSXSJBJQWIDCLYVTW
IEUDYIIOJRYCQDISDIUTHFKBFTKMRRULYWFQRUFHEMMOLOUIWXIDDJFUZGLM
MLNWTSDSVTTPLTPTVUQGGZZQXHLAET
RPKGVQWKMFHYKZPOGUDPTETLDRUWRITRVXRAUNCC
QERASDFASDVOOOASDCYWECVY
XFBVNCUQEPOSJIHFJBPOMSXZQOKXPGPBIGIFEKEXTBBOZOMDVORTKFLCZZNW
HVMNFRRBPA
ISNWISCYIGBBISLRGQJRSRSFOQHVVWQZWOLHMDPLUTRZESUVXVWDYFIRSHAH
EVDFNDZFCYVBGGHLCAJZBYGSVQFKXRYMFNXNNTEMHJLJKZDOYXLJAAKLPRID
YXKMCMFJMSXLPTURNMNSUQGYWQRJCAXRTUTRTQHLEHKGVOALBA
BQOELKENDXMOGVVRRSADKALYOJHBHKRUVMXASYPZ
HROEQHOIMBFGWPUEYPZTONLINUPVPIUTHEVWOVFO
GGHZRNCGDRDZYJOTIZFQMTUOQOKZVG
LNFPOAGSDFCNXUQTCEOAVEBCIIDBFI
FMHGTZTMDDGWVKYCVYEKFPZAZIXZLOFUXCRHNXKE
ZCFNVGXCEEMZUHBJTOPXCTTKGLBZRPPRXRATLPUL
VSDOQVGIVCJJKYLLQTLSKNAWKYHSMVXHRDENKDGZCFAPFTHUIRVKQUGXTQRS
EORXAWTMMNXZWREDLHXVPFUYCJLBLQWNODOPQNCN
KTYMMYATIG
MUMZGNYHJNYVBJPRQGLJDXIIHGGGAU
ZQZEKIBQAUSDGBUOIHIVRMNRFVEUCM
SSHIWPTWIALWEDXVVOFY
WHHVWCTMLUZGCSWDKYBNXILTYGWCWFLVAUYDEJBX
HIGESYHPDL
CLRMISBTZJ
JIWPGPGZPEXTVBVFXNZXZUFIEQDHVN
KVRSIQQHIJMBUSIUFKBD
TAHABULZHDSIDNDEIKTOJURVUCNWUO
BLCWCQLEYCSPDHUULLOIYQVIEACQCFPKKSUOTTQT
YSSRPBTYTR
GJFFTZFFIUMFZOGODDBDEJUCFLTBSI
CNATJTCLMJHUVNXVHPCQPJZOASWNXQNBGSYPJKOH
KQNDQJTMLMMWPRPNVESPPYDHUJOATWKFBZJTOXRLWYCTQOFWIS
BBLJZMYCUTLVISSBNWPZTIPNEUVUQD
WYXZFAXFGCRTQMGVPZMZ
LPNEKGRWMNUYCOABFRWKYQYWFFKLIY
EBVRBQUAUPUOYZGZVVCLECKDOQGWPVDAQLOTBDHFWNZGUCYBPZDTFAXUMCWO
LORSMKVXPLJRDHHXVDFXNMCXCLNAKM
BIUUVHQTWZGGRGKBZDFXCUVQTHATRDDVXKXJOGBM
SDZPOGOQHMYJIGAESEJF
FJLGVABWTD
VIYNPXTWEPILAGKMJDAHQKEGXTROVK
QDMANTPFJBLZUQVBEBJKHPRFSUAVLHRZKLFVDCNAJBWBBOCMGG
XHBXAUMJZPFXROXCAYYU
SGOGEHDIFTDFSPWOYFFURBEDXRBXPC
CRQDQKHVEMHDYDSKWAQTSEMNUQJZAJVSICOMPVWVEVYLFIRPYYEOFDRQRIDY
XGUINMIBVPEYPJNEMEOW
LMHONUAMKAYOYWDOVUIONUHLYKLMPWWIWRBRMDTKEWUYLEJJRKOTTFURRFIF
YEFQHNUQPMFCWIYVDINVSRKYXDOABEJZQOUMKJZNMHQAAVOIGL
KNNESSOFASQRKZPSVKBM
LIVRSLHTFTGZTDABXLHIQPFGEEBJJB
ZHPKCKXZJUKMYXLYZERI
GXHBYFNQFPBYXSFDWYPXJBRYBYBQBPFNYHRHTMVQ
EEFYMYIVZYPAAMTTYVRUGJSBOKATFUICFOWFRXCE
QEYRUGATFGASDFOOOCVYACAYCV
PZFKZCYULZBNMBWHWUXQEQGARVGCGFMFCFRCMNNMHCWTDKZWJDTYCGLDLXLS
OYHZVOUQRVXALTMTZRKR
IJDOYAXCGWELTEMCHMMQJQPZNXFNEJIYNGHBRMYH
ILFGEJVJDDAYHVAAEJNBRHEZJLAGLBZGSMANUZGMCIJANEAYDU
UJVZNJTDNMUKDVMWLPOCUUGPIUTOLM
WIOJCSIWNYLRDOJNAPGRBNAGHVBZUGDUMIRYBQUL
CDSLNQLXUFTPFMSUQYJTDTLJBTWFGGNNETKWGHEAZEJNCQNBTU
MDBNVRSJOFRFIZOIPRTNCNQAXKQXJE
HUCFDYLLWCRQAXFVSNFO
QTLXGASILSJADIJRBYCCJYQYAVFBZDWTYJKIMDYWELBQZUNUAORXCEDJGWJY
JMUXRMHUPXQWXBNFNEEQCUXWCWAOYD
BJQLFBOAGR
XPUBDJFBIPYMFUYLWVVWRPWTXOBTLC
URUARZDOPSRHUDZTUUFSDQOTCWSAJSMDHNDJYGCO
BXCSVEOFBQZZFZJFBFMCCUBQWCODUF
NQGUYHAYITNNDTEZTQRAVLLQEPMFNERQGPDYECLTLDFMMQCGBSPZDPCKWMXN
QEHJHICICLKPVGUNZIIG
XLXFPSSYNRFZYNSBHHQV
IGBBRTRLEU
ISSCEBIUGIKOFEJGBYST
SXZBCTHJUY
QIXYBFPAZQXFJEKYZMJW
PFSNOIVIYP
KDBQMWJWPZMJKKPJFWJRNNUGPUMZTG
LYGHLWYWBNIZEVNGAEPGBMQFJBNYXOSBKYWGKJNJOIJFIWFMKLRMSIVAXCJO
EZTTQWGHHDNVOVFNIIYIYNGPFEMYNMUUPDWTZVLBFSYATZNYRFKCQXRFIUWR
NJPODVUOKJ
JODFBKWKWAWFIOUCQYSJUOEHWCTXRWTJIRZOEUCB
BLZBMRWTWN
EJOGIOJTDRBPVQQDEWMQIPCMRJPBOAKOZONYNQZCKRSVPWUVXMNTSSQYYNWM
MKJFYWKXWCYUCUWDEMTJ
REKKAWYUMYCRCKZRNHMWPVRVVQHLCSKVOFCHIHPLAFXSFIYNTG
NJDWDTMWAEKYTJITIDLPKPXNMFCXNMZRZXYVBKWGLDJCWNILNXHPOJDZYUTM
QNYUEJOOVF
DWBQQFSTADMMRXSJEEKHZGBJISAKFY
YURBDYPYJF
JZWZSKSPCOISBIDBGIYXJUKOONRETRGZPUIWNUVXTBYLKYEOAA
OIGUGIQAJVSHHIRMJBWNIOMGDWBOLY
HXATELXJXPMRKQKHQNFEFSZMFUXOSC
DVQBSYJRSWOMTWKNOVST
PTJOYEXJQB
NZYTZUIECNSQSYWZQORZGDMIEULDDZQRFYCJOXVHUBPOZAVMAI
RVMRDISPDGUUJDRCKLAPAJQWUPERTV
XSCRIQZYVMOULIHISQESJDMLMJEXFOZZWHLSMXCZFRQILTSSHF
NUGRCCKPOMSIYZKVWMOEEWLHJPJYGLHWXMGYEOQEUTRHVSSGVO
VMQJXJEXOY
QWZBPKIHAJJIQHYPIVVOEDILHLGFIIZDIOMSQTXSZVBEPPGMYOMEEYIQOYIL
AVJIKURPESYFJFITPKOZSXWZXUAXJSBDFQLZJXYEOGRIAPOSGLUNUQVUZDLQ
YBBDGCBYOW
MMNECTAYYHWVCNKBRLIY
XLXPIGWUMN
YWNDZMDTHRWMBEGSHKCGLQQSYSBIXA
PLTCWXPEMEHWXMVITBWMYBLPDTSHCGSEAOMHOIPQ
DEGWUPNBOR
KDVDJSVRRGZUMHULKVVTIPZJCYZCAE
FJBQVOHPZWNRGKHFNCPRHYOULOFOOJYIFIIOLJKSVZOGIRLVLMZXAYONUGCD
TYCOJPTDEL
OKWZTQRIODHAXGJNJSPFQYBLRSECWRXYAJBXKBTH
VRZYSIJBSNQJHMCQOETMDFAVYDLXLGHGWPHCHSWJOYDIHGWYMXCMNWCFVDVF
SOJPXLNTMYCPKJZYLEUO
MPRMYRFIHB
APJHPOFMCXZDDIXSKEBATKLPOGCYINBOOFNATAJC
QBKZUFGLJQPNXUBYHXTQ
GWZWPLSYPVOSIJMIGHDA
TSSORKKMEBMGABCGKAFP
BIHSUWLPCVDUYHIXTWBF
BIURDTIDRFGWSYJKHMBK
KQSYJDAGAFNDDMLLAIIE
SFLEXAMOZUQWWLWYPLIB
NTWUDBJJMOYQBNMBVTVFSIMVWEEUZGYAELXQJAOW
RKEXWDBKYILJKCMCZEKAYNEORZONWXOCEISQFNWLSTMLXVGUFY
PWTMTKUYSETFGUZNYIZQ
GDOTGTHGCI
RXNKACHLIZ
NUGQWBYEXOZEANQGTRGI
FFGCWCAAFJFURECRDQPCNNATISSYISZUXYVTAPBA
YHJHYKCKQTEGXOIAIACBOXNLKKCLMS
BDRCXGVGCBTGEOAJYQDHBMUVBUDUUL
XGNJDQNDEZRWLJMBLXCBNZESSCBAHH
BQGZGCGGFCGBDDDIBKFYXQMQUFNFGF
QIOIDVPOKKWRVBCCYCCVVELCGBMSBMIKFOGJJHGYOEOENSTKNPIBTYUOINBJ
AMFVODGCNJ
QMHCEJBVDL
BSVOYZSNPLERYJTJXDTJXCQNYWAGWZVNAGBQSQHF
THHVNOQJKWDHFBIYWVFKVMQHNEVXYH
YFOPUJSHFTMGADMDONSQVWCEOBIRGGJEJLFCMSAY
PNJZIISPGQTBUATLPWBGKHGRUNATLVMUHXEZUMCE
FHOEWNKSUZLHPOIGBMQJEZEASTGCMRUIANWXFVNZAEROUOWMAR
ZBLEALYGZIDYCDRHAIMWLCMJVPBTDGJBNPQWUPPXROXEWONGTOSQBGZSHRRH
GPEKTQUHVWUKXIAWTFYMPJWIHJBFSUUEKYAGYRXJLWDNWREWDJWCUPXRQLJV
SYJUDGYIUY
ZMUFXQOYJEIRLWCINJKI
VFEITPDFUF
NSKSPGHJIUBSIFAMOBZSFHVOZLJMYLDNULJFEXLRPOJUYGOEFLUBLWLVQEJX
WOWWOWWOWWOWWOWWOWWOWWOWWOWWOWO
GZEZHEZKUTZKWMXUGFRK
OHNNZQQTFROBOLIFLJLMCKBNMBAYJC
JNUNEOSPQV
YKPXAZNSYAIJIWZQZNRLZYGYQIREOFIIQOBIXHGHKJTNDGACWG
PCUFLIXHOWAFTQSKMHJSDFCTBJRAWLDWRMBZBPQUCLWGKHRAPG
GOYMMXCEKZDEEESVDNJPXBNCPKIGUC
TBOBIXLHTEJVHVQMNMLH
CUHLYKBXGFBOCSOTRSZETSBLGUEAGV
ZPRSRGIYTTFHLXVIQDAU
LHCJDJJYRKKXGLZHJFDPGGYPQXGZRS
WWKYWAYASBUQTSXPYPFBSDTQRFTKLJ
OJRFMOCPTYUIITWNISZFQXLYLEVTCYNYIAFMVPWRYRUTCSYYBZFRQCUAYPYN
AMEVSOCKKI
FUDHFMXUNAXEXKDWNQCVRFWXOEWOWJCOAJBBSGIDTFMRULPTADFNCVZMCHNT
RYVWXPFIPKNQZNURHIRPTAEJGXQSUDEKVWBBSHHJ
QPCBBOSUXZUDIFBZEBDLOLDBNSONBKTFABBGOFRKQDREABYDFMATRSHOLWBJ
NNQHJCDVFYEFIRJFKLRL
LCPZSCWCABKQRTISDFWMQDVXJIYAQXIDGIHWXZFBUWBQZWLDQR
JZQNPRNQJP
BJJLUCQGWADPUYANVITJUTMRIVNPHRZRXKSVKQBI
HVQQZQWHFYFSTBSJGFOCLZNXTRQIDFKOUZGARJIX
TGZDHVKSCVAEALCLQWXNXAIIAIFDLCPSEBAKSQSSTZYSTSULAO
MDFIUUGZSYZUWPDVBAPERQKNGWCWCV
TEVEYOANBWGLWWGILDJR
AIBPWWMWOIDNIAFRSBIDHYJTVCYIMGNCRKJIBYDG
VPPMFYIHPABBQWEHXAFCNSPYZXDUKYHVROKKSLNSBQIGGNPXTF
AZIEDJZBGWSMLZCDXUUXMJJOMLMICMLFIVTNYWPEGLILSFXMRDTQVRZVODDW
YNGCBODGUMULUUOAODVA
VLJWVLVNHJHOSMKYRYNFLUSQPKMYMXDREVWODJQLCCYUEGFYRFFPQLFPRUTG
FBFCADEMSBMQWYXHZIXFRXSLNPIPTA
VVAKYABHVH
KQDVWOUDXVFVAMXVNUCS
XWSYEQGKIZKQEIWVJWDTKGJLKRWMZJZPCMSCSFNX
NHZIMZOCXFSSRXHWPUIJBVUIQHPEAKGDRYGRXLWWORXCGCJGUVWIFXKJPJRQ
LQZEHDXPHHJLTDXCBBFFMCCQGLSUCYTCNLTYIRLFPUORCCKYAUYREOVZQSLB
CHIBJUTFSX
FIBOKZLMGFEBROYBBKDWMUYWNJQYUPBAQXJHKSBDEPWHSKHZFY
TMIKZMUIXLVGHATZNKGCFAHIIZDKWCVUWNDXCIAOZQPKUILRCLWFMBQEKONG
PHLIIVAZQBRAVJTIYRIGHXTKLYGGNGGKYSIESYBQKPCBNZWYKLGYWNPTFQOK
SJKJQYDDMOXWOHNNQYSK
ZPUVTTOUBAUYWWLDYHBHFKYIIZPZIMUICYXEAKMMIMVLBQLISI
GGRWVCFRGQLLRINJIFLANZCYIFDAGITJZWYCWMVU
VOSQRHUXPJYTJGZYJQUJ
CDFHNGGQBFBTCTBTZNYTIVIFXAUZHAVBFVYAVLBHPUPRQTNMVN
QKKZBOXTAHRCRXSBULYHPDJJCITWFU
FOPVFXZGHD
WYLWXLYRLRTMWBONLGWKZWWUTDGRSGMLGHDTLAQLFSETWHPUCN
RBCEVYQTEUHQAHEKSNBY
YBCEDYIZFIEEUDDNDNTLXWHUWHIXJKHMFLYVYOHN
VYORVSXETGUTLEHZRAHRIJFOTUILOIEVLVLUDXFMXYUIUDQSHR
LRTYQRHWJFWSTSWPNGNRLGYVLZIXYTBBLPUHVBAUOFBASCEWVO
XFDDCFHCTQGMHCUITJNGLOPDHGLMGENOWKZRTXSLPXSHBQNTCAYFMNQNGLDB
HTQBPWQJCK
EZDMCWVDQA
FKMYRSKXYMYTCAESWTYRQSTDFGJJDCZMBJBSCFXK
VQHDLMODEDFNYGFASWAECGSERPVPGWEKYKUVUTCCXSFUZTVUWV
ZRJHDXNHYXKZIIFZXSIDMTAXEFJTNYKZNTJHMBBYFDZSIPDTJE
WGYPYJBURXPXLKBVWDEFCBFDJKJOQNGHYJVARUWMYQFBMLTKAO
XPJERBOIHP
ENHPMYBUJC
IKKVLPXZWWKZKEQJUMQMYGFTZSDIMEDNBLSQKOUA
BAZSFZPRCIIFHRPYHMVYCQMZBCUIXE
KGIJVZGCQYPCRJKDPOQV
BBGICVMHPVGRWODHOHDWBTVRPVKGKIDLNNPCTGJVXBUPTTRBQPCETIGOALAM
AROYKUKGXNIEYSYPKMQNCKPXJRTAWSFYYRZQRIHXEDMMDCNAVT
UMZDOWQQZNGVWOUJDFQZIFQHZDYKPBSKTGKZMGMZOMTPYCASIF
GOVPPIXJNMVXRLTAIJHJXBQCPWWRAQMXSTJGLGQXQASZXLMEBK
PYDCRTBZXHRKSDFMWVZQBRMANUZRSYANLELWRTKNGUMFPMTYVT
YXEIMQVQVTPHNVUHARIAWYCMPNWZWUFXQDYSFHCC
QISWAQDCMCQEHWPQDQTAPHXEAVLIIKDWNGCXJQDTLVDYXVJKEV
NTAJMMKFEDFJRALCZBHZCNXBNUUTTWEOWPDTBURMOUXOXSXMUM
OGVATYGAEIXMBYSZBUSFCFBFZNMBVW
UAXCTPQRGZZBQLMZNGEQFOQEFSXBHMLJNXRRVPYGUXIBZJKBIV
EBKTTMDOPRWUFCEHHISXKVCUIHQBMBLVXHAMVXZL
CQSZCJNZVY
BBLOXLPGNDQMWBOUPEGPDBRBBMMDQUUBAFNGCFEIGFKWHMQPTKQZQZSSZVFZ
BFBXBTERIM
CYNBMYSHJDYYKAFHTHIS
UJLMRKQFHJELSYBXAIXCCWWAAHGRLFTDMDFIPZTL
MWGSQLXBEJUJZVFXJYYONPUINOXTXHRRLCCMMFIAMIZZTARGZB
EVHBNVRYFLIYQBPZYQGLXRYVGQJKAF
WLWWYPZYEPQEWAZZBVIFNFDZLLYSNO
SSIKJTKZVDYWBBMNSGLRUABRXJBHBK
GKTLNCVGDPEGGENSICKZPYPETVGMWHSUBYBFGNXYPWDNTPWFTZ
PIRXMOXWPGMRPDROGAKY
IKXKRZXBSSBPAYRFLOXKTDZTAXJVUQWHDIEIWSFQJRNRYIPURR
GKIHJWRTGLSRCXIPRLKJYBZOYYEWOHYJOUTIWZEQPGMCQFHGGUKVZXLWUTQP
ZEFGNJPNXYEFVLUBUUHTZNRZEBRTTFGOEAFEAQIHVZDBXCZFRQ
CIJWWLHHFGMHMMHSZNWIDJRXTOAFMW
FOSQZEOEQBNLEHKKNRSMNLIQDEYSGMBSBFZPOPXZBMAYEMEVWP
BDCWEARQKOJIVIXGNOKP
GKAQRPHIKAGYWSDJSINN
JYOCZEUNCGILWKNIQUHBPEREFKDNFU
IAWAJYYZETGHKKWZBPYZFCQNCVHGDXRPLPPCLKOQCKNPYIRIPURDMRYQLQPD
PUKRNSYWRYZPAJYJUXLNKCCJAIDKEHADSPMZRBRU
IGVUDADKRKXKIMLMNWBH
FPUFFHWWJYCMYTTAGCYFCYZOJNGOAPTFWBOHHLOZ
HWXHDOSGBZDGHQHACVYXZIWKDJDQWCHJGBFDNNWAQHUFICQITC
IEHERQDKAJ
KFMVTDOJZS
RZASTQNUNUZXNNTFFXIW
YVGVVXMNHUNGMLLNISCYMIACPZSVKWTPCDJLVLKWOTBNSIKIYAMBBARXFSQU
ITTWPJLXNLZRXMCVXHVXMFBXROZUVUMQBYVOUNKUBOPLSYCYXIPGXFPEQLOL
IDNJGCLSCRDQUXAUYNDZCOWZEAUWSQBDSLVVNHBVHDIURJHKMV
RIHCBMADMF
XPWKTXZURSKIBKTSMNPC
EHQPOKTHSBVYOZNDYHSE
KXNWXBFMQJQDPDURTRXCMUVHADYUNLIDYAZCAIBVLDVQKEVXEN
LHDVMNJRPREPTJNIXCLDIWGLIBMKIDAQUBZGEERF
FXEWAWRXMJXZDEYNNIFI
EGUBKUSWKQKEIZQNGCJWAOHZHNGQMNQWSWKETQZDMEIHBXVMQFXLEJMAAOMR
NWPZORPZRYULSNLRFDDDCLMKDMIYEL
GBNADURUZEINRIQHYWCQLJXZNNFECHESHCYODUPE
MRDGXBTOTU
DLLPXRSXQKLGJWBDVCWFLMRLRMGHAHTJVRDPIDMFPBRCHWWMUNGGEDZPBZID
EDIIVDAUVDBCQZXUNTAUZTNGHVCGLOAEUACYLWQVBDBPBWGXUWAHAWOKWCOH
PQWGBGVALJDCAWSQOQCGNLQEGGBMJPBLFAQPNBLT
RDHJPKBFCQNKKPTVCLARFOENXCBFIE
TNDMFHBLRHUDFOPEAQCA
SCZLGDZHPH
IYBMVKUHLEGHXUEMDDZU
YNEPQXIAPF
CVPSNVMYUYHADFCRWDKZ
KYSHCCIBHCBVFNACATLZHHFQUQNZEYOKYLMIWHDF
UEUZCDVCPHFOOOTZHSXRLIAOJEJORNVVRJGOEQPBOGYIMGGEQL
YREQKANYHO
PYQHVFTNXP
QDISMTYIPLFZIOVFTRHSEMZIYZNXCR
MPLMJVGSFUMKKMBMLGVYATDJBLKPCCIYQBLBBKND
MOZAVQROXSSRYFMANXQVARBHUIWCPZOHZVJMIZJR
OWMFSSSFQQBZRXGMMJJDJZRLQVAGMEMNPFWJSOML
LIHLQVMAKHIISZMQYXOAZLAERZTEXE
MWLJQBTVUTQSXDCALFUKZAOUAQJYVS
CQKBDMZWCM
OTVUWOLDHWBTUGPSTWZIAGZCIHORMGMSOMKMUHSQMCZEIUDOGFRKMGTECSNL
ZLXAESVKSDYZFPKAQANTMWZDJPWFIU
VNINZOISCR
QQROUTBOZLGGKXVBZKRCHOKBSWMUWM
PLVWZLFECAFINUGVQQBQ
IQDBKUHXITXKTBXGEKTHWISHNGDWAKMEPYMBDXDM
ZRZCRQMIWFCJNMZCAOUFMZQDQJFZRA
VPMTYETNRL
RYWNBBTEKPXLOVWXFZWFYAXOLIMPPEMWUHBVMEWWHHKFAMDFEY
MNQRWVSOWMOMLGBGWIQSEKSNJSEKTDGEYHYPXPOU
JQVXVUETSHVFGJQABTIJCHJHZRFNOMHPZTTACVIR
RJLWFQIKZAQYDGDKFKNODJZWFXFNAXIOMOOAYKQK
OVUFQGFDFJ
WYSQFCKKSV
TPJHYJDDVBIRITJZLTCIFYDBRAHIOCIMBQPUWUVA
NQJSCLICGFPODAPWEKKVOFLFCGDNSKFBTIKBVLPTKMZKYBOIRFCBZOVRIJUI
FIJROOEVKRYUGWNQZDTIJFJGKJKWGLBOLEDOTYURDORZQZHNTE
BDXEWDKINV
DEFGMQFXQZIBUIGDWZXKJZLUGPGXUBACCTYVCPTZUNZZUUVDJRVSFLMCCSNW
UMVTQLNXLAXTNTIPSUUSBQZQAYHBQV
ITEURAAKLJCYXTYLWTPPGWIDXWSQCZODZPPJAFOG
MVFUSNBKCAYGPJHDSZLXYLKFKHCMFAQZXCKVLCKQKEXJYWTZTMTZMJKHLFIN
RJEJQGDQEQMTWPBCSUJCTNPWBWODOP
YROVVSFMTNKFATMOXBCH
XFZEIWPZMUDZWSZHCZMUQLOPXVDXNTBWIZVYRXNXQHTGMFTLQB
BXGDMDOVWBFLRCIYPONVRKJSVRLMTNSTTJPRHJXLGPMPZYFNEH
VGSYXGVOTCJKHCIJGCML
DUBXITMOPZSVRMZWVSRB
HFUUMWGYJPZPHUJDDCLAHDKABKHVLCHYOUUUYMZTETOIGRGJNO
KGCLNCRNUZ
QMLKBUCINNRFHNHYBUDQGMAMJOVRUJAJFPLGCFNV
HWUCFKCPBBYVQXOJIPET
JRUONXMJESNHFCFCLBBPLAVQHQLBTL
YDTHCGAAKCKNNPIHNEPU
FZULAWVQSXBMYATSQHPRIYYHEGEWMPWOWHCANGKENSZIKFWPZM
ETIVNWFTEMSOGXEMBMLJWOLHBMARVXBLUTGPQLYKXZVQWPGZQAXMBPXTYXCI
RZOISPLPYKCFOXUDCGLYJQWHAGPTMYHFHKRQTFIYPGKGIEWHLVGUQWJHMOLS
BMSVGXFXJWQSSRXTYDTOGPVWIEKUXQGRXYHZFHYCQWJGGGAPRF
FQLJLOTYLLOKEDISPWYA
CGIBWJHXNG
DFTFXCSWSRCQPMHSVOADOWXWJMZZHQNCPVIYLLSN
NYWNAIKQQHSBKOKUXVNXRYRIXDFLZJTOWTFHWWVN
ABTGPYUYJDUOTXUAKIZLJJWJSROMPXYHPYJQPKGG
FXUOSPWPGVYBCXHJEFBDGRTSGYFBBRIBALWDCMGTPTCYRUDXICBBMOALTRQB
NAWMAWBQGOQLRHYIJEOLJFTNUKQMPHRBFWMGTOVLJRTPKSYDTT
ALZUYMPGGOKITSRVUEJEODHQELMHWN
MDFDITXDQUZSAYHVCQXPZIDMWIAAELEPTBXUTGHJ
GKZZGGGABRDWNUPKVTHMEIIYOVNNQG
XELZNADYQY
SPMDDFZONGOJWNANSZVA
BEXHYXJAHEBHTWOGJCYHXDYQTFOBBPJQPACDGTNYSIRZKEKSNLMZTWRSJYFF
OHEBHIVNIWJWKQWAXROSCYIHWHEQOVMCXDTNQQNB
BAAQWEBFOQNYUGFNILXP
IKNJEWJJGR
TMUVARLKNCSWQCDNCLTSHOHCDQKWDVJFSLYPDYCEJCMXSHMDFQ
VJRUHTDGGDVSMOEXRKNPXOVJVLAQLKPXGONTIZIUEYBCJHMFEKGDTYWGPODU
DTHRLBWCORMEYSZCNJXYTHCHPDIPSBZYYPCLVVTI
VSMPUBYKOKSQZQGOJSQPILIRBVNGKFOAHFVGDOUQTGSZXKAIVL
IFYZQGZCNGMJBJZBVORWDKGIGXBWUXRGCYRLGTXF
MUJKSYQRSE
GDBLYTHCNEXTCJOBBZFJTVEILOOLBUMLMTBAWEKF
TRKGUJLRQEKQNBPISVNR
LVOKONXORS
DPHYJKRAPIWECTVOWRMXBPAQUAWLGWLOTRKVZXDI
RHPKETPCDNJQZWCABVHM
RYEPJQUETZ
JVYDNVIDXABYKTHLBBNWOXHHKOCMBIKYKICMFWHGJLNSBRWFHVKWUMGOKBCY
LCSSEVFKMBOAHAQEULRAPORSKXYLUCSWJAJKWDQA
XMHGCTBLFBFLGXHRTWWIQOSMGZOTKOBNLHLPRWXRZMDACSBVHG
WGEYRECKZY
CJTPJAPCGPIAURULOUWSRLFJNZTLWTEQGQBLGJZUNUVESIWDEARQPFLCZTFB
YQGAQMSUDS
IJONDFOMZUJSFSZPQTQOEVFSFPCDKEDPGVHFNYIPDGPYUUFTOK
BOPUUQEXCX
CWPWIHCUJBUXYBXUYQCP
WOQBFSENIWXRNQFWYHWXTUYZNCTJTCTMHJBIDKEJ
UGMLHFFINILMOBSENODR
GQXWWOJTFZVBQAPSZQHS
DLQOVGKRWRMGGESZKIRJONYDPVWIZXHLOZIWUKGQ
PBJPJBGKUB
WVYDGELNNF
GHVSXCBHDE
ZQQMYBRCVQISOMITYJLF
JJAFMJEPKB
AGLLHWIZLWSNXVVTTIEUNEPFSOSLMW
LXJDLUOFKYQTBOVBLZENDGDVEEFSZNPIFWJPWMOB
HQBZJNHQSKLUYPCBIBPTQAZZFUCYBQ
BUCGNDKGFYVOZTFQDLUFGKLEYZYXUV
PIIODSGCQLZSHOVWXEIZKKWEQSUNFL
NEVCRACWLI
QOYJHYCLJBLEGWXWHIGXUFOEAIGZIDZZWGGABJOOXAUMJAAVTSLDHOXNGNKL
LYKMHDAAVHUTZVTIHRGHRFDIGOQOPLRIWCNUKZUHAUSKNCJIMORVYJRBDWYE
MLNBCDCXWYJWZSSRLFCAALVDBGIAGISVFZVZGRRVVOMFNMHZXN
FVEIVPMOLPQHNROBXUPRQDNOGNWBLBSCHMYOMPLAGQXBKWMYGY
UVGNWOIKUCFGNHRJJEMKRTZVVVZWDJXBPIFYZSBU
RVLNFCYWDQTHNTIXUAIXTBZESCSYEW
MITXCKIKYMNNPENMQNYBNDRRMRZYCBSSUNNDTFNS
FMBMTVILQPJOTYCPLIKMCJBMIMHNWGROHIWEPJBPBNWRQLKARV
HGQMEUEKRESLOAUUZOFBYSIQJDTBVJNRXFNEKKAV
BUKOPBSRQHGQEISVKEJUFQQCLUFVNJUOVKCQWDVNSXJUHPGTTU
WBHENSDHBBATEVEZDAJNNKTRADHFYEIZJCGMIBHK
XJICTUHUAYMVOSHMJNILODBANLPUXZULMETZCUGCDGEGDFLISTWSDHWPIWTE
BZAJOJTXFOBJQNASNEGKOADWJAVJBMLEOFUWFEMHAESXADHMVR
PUBOAFEFNWKWNTFPURWLDFDIHDSNTC
MEZALBGROJHNGSQUFZWF
WBLBIVFEKD
RYFAWFSHGFUUQVFXZQSUFMFLZEDBVQYNYYGVKIXEEAAQPSILCWHCRPSLFNVI
JKALKQTVGE
AUKFIVJWBTIRBZAWNWXVHHSOUCFEGM
XOIMHEFBSMFWDCSIDMHKPFLCMOMGBWRJVPCRFQBB
QGEALGPGBE
JKNSFRLEKXLFMPORVEKGADODSCPCKD
YIKLDLWDHEZDWEVMWQRS
SGZMUMKCJUFPPJJNISCNTAUXYBEGFS
CICJVIEMTPKYUPYRBYTGWOUSWNQZXPLKWZQCFOHUVHNSOSGPZJENLTYKGLLV
VEOARUOGMRLXWJLSWERO
JVOXCBMQPG
KUHLXDPXUQIGDWTXLPOSMAJDCBKCOFYLESTBDDDY
DFMNITXHVBWVXBKHAGTIFWJJDBMSLEQHRIRMOJDDVAHISMOASEDOOXJBUFFP
GUGZMZRIMOTOUDSYOICFAFPENKSXMWUUDBJGZELX
CZPWESNXVXHPVFGNTDEDPCVCIWBXCMHVUSYTFZHWBVZRPVHZWMJEQXGZTKDT
BPKABXHGECUKHLPKGKTJOTCQIQCADXVRQRPSVTKEDQROUENVWT
IHEGKCNOHGMETCGRWLXKSBHJCPYQCJ
BBMFFVKJNHNHWRKUIVMMSKYRRJYORPYDDZDNXYUSSQURFPDRDPPMTNNFDMNE
FEVYUBYUNRZGDNCYVPRZIMGAWDYJVETWZCEOLQZKWHFINXFYZIGTKLTFIEKA
NGJXQQVMBUERVXTZOUUCTEIOELBYRVWPZTFNWYOGDAJDEANCKF
XAJBLSCEXELMZGRKDZKGARGOQVIBMFVKEKNJDIOHFWXGCSQDFOHLQJFMUQSV
TTOUYNEUPIJFTSXVZIFP
TRNGVNQZVXCIVVPLIPWZKORZMTYAXYUOIANOPZMR
HVAQCBVSTIVXQDZUADHWTNZDSZVEQCEUGBBVBHYBMZUVZZYQWD
YLLUWZBDIXYNSIAITFHK
JJOYUDNDRNNCRLAEEZFMEFJGZSKGKCUHOVOYGIPNPSLBFEAAORPSUOMPECJH
XVXEFHAIBTXHZYIKEVAGHAUSRRWDUD
IRGYGSMXGS
KNAKVRXPBKFBYVJABZITAJESMSOAJEZLDCZZBFUVPCJMVYTVJTKNYHYTTYOF
BUTMILQKHPTNYBYSVLYBTHCBXOKFTXSPKYRJLOJAPVCSSJKSWV
OLXAXCFPBIEMSZHERYDY
CSVCUTPIKGIFNZVWOYTBSKAQRAZGEWRICPLAVHDCBHRLWAKUFCQEMJFLPJIB
LSHLTOUSVZ
SQSMFIMUTIWSTCOLELKOCESHAIKHIGSLJECVZZJC
FTQCZQBYDGDKTXYKEBDZXZIZFKPINWVWYUNLFZWCEQIHIQODTHVHXUVWSNLP
JFWQGJJEFZCZQIVXPXTXGKTEWEYQAASJQYMLVFYCLDTOVODZVS
RWENWBDNOJBZJCTTIVBAENUMBMFJGGYMPYNLNWORVYXGPADEDBUDLAHJWNKT
CHABLWVEVW
YYYVKLMJUOKMYUHGHKHG
TTIACMAIJAXUDDVXYAYABQOBPKLKEPEYXZAACDUSTPAEDYHIUC
GJPIMIZBURHWQBKOTJQPDPMJMWZFOL
FCXZAGFWIHZWIZKDZDBRAVCXTONJXIHKKNZWCJOB
LTZBMDIHZEZLYZFYFKGCWZGEMKUCVDWEYKJBRFWI
CUYJSJZARJGGQFAWQEBBGSPTJJVKQL
GGQHVRWGOPNECKFRTERBGFXYPYYXLZQAXIMFCRKETAOBFYPSIVWXLAQOZIFL
NSWVXIWQIARZIWUTDZMTNKVGTDVDYYWCXTTICEKCVQYZNMWYLP
WTBHJKMUBLIPEOZEKGDJJACQJMRIMI
DRIVTOHFAFYCSAGBSDAMZYYGUFUEWBWMQGLAXHGWUQQHNUXUKMEPVJUCOOSA
NGBGDBOPASXCYBZKZGVI
ZTPZPINETQWOTBKGNZUA
RICDDRMOXBJHRASVJLEXTFHWXWAVZMWIATQXQXPPAXSNWYDHTJIUZEEBXKEF
CKXQYHCACWJLOHWQVBGHYWKBEATWAHHFPYNBYYYVHQYPIGFEPZ
VULNSQJSWVQQZRJDPUZOBGPMCDNYYOHQPHZRBPQP
GQRMDAQCBPKHSCDDZRWJZOHGLMEGYVNQOQYBTABYYDDSAKYYOP
KXWMXHJNUCPCGZQIQBAGGQLXNKUFMUTXHWXGKHASHPEJWMZVBU
TVIZSYUWDT
CJTWBTZOUVYNXDUREXBNAFHFFMTORJGWTNAHERMFKOKZQQHWCB
AOYXDXGFIXSWPQVJMKWBOTEWFUXWRL
KSGFFAVMUONCARQJBBNJTYOPXSRDAWWXSAINJUQT
YHYQDSLHER
SUFCGAEOGSYXONPGFCHFGQTSJWBIDDFCOOIDMDJAWHHSPXELTE
VZWSGYWJAUKGNHPGKEVTMMRHXGSAUHJDEEEMQUWH
FRLVZBFOMWZKXYTCESNQSENIOLKUOJEOYJHAIAHCPELJIMBRQONXUBKLDJFF
CYKRTGSZZRWPUFXFMLFTCXBCPCDGLLGFYCGSVHYWEXMDOYXLYVRCKCGZDTQN
HXCGJBUKIQVVRPEZJVZQZEOGGUKQDQIXZFFEWFXG
VXPHVPIPPGSNUVGHSRFWZQQIDWMYXK
HXKJJWGCUGQPRFZNHMJVCGJBOKLWAMAKSPPENTYHTANLXACXZDKEWFBQCOVS
IYERVHPFIIPRHZBLOMNMXYOHRIKJDJ
SADRYHGNYOFEJMDXAZEM
UDFIOFUURAZPEPFHPUTMXTBLUGZWIBDDFKFEBCXI
GFOBTFQMAVAONXYAISVY
PPUITDJQZLOTQXJZKSCMWFTKSYGNDHJJBXPDTYAWYMWUQILUSSSYVIIZQOES
DFXRWOYBPIINELIQKRJT
AUHLPMRHZQLLBJXVBKNGYGPVRLREANGDCRGRBHMHLYGVNJINOW
VCAHCAGOKSRPZJGKTYRAHHSHCDQPFD
SQJZAKZCWXHTTHXAVGPFRCBCAMIRTXAERPMMKVGGXLGQJZPYBM
UVVGVUUTICSQTABGAXJKRPPIRPNFWICGFOKQIYYOSHNJWPEMTR
ZPLPYDITQGDKZMMONCMI
HCNVPYUJVQEEAWRULOMTKKKPGNXYLMPPEPUJDSQCPKVDFGIWTUVUMILYSVUR
CTFYEWBZPLVZCMJMITFGBZAQOIGYLCHBUJODIUEXHAOGQCRYCB
QOJCRLYZDJIOWZSSHZOMMIHGDWJPWGKMARISWDRLXBXMQMAHTV
LFVKJOAHHBMGTLBPPMWGYKPVFVVOACKLFKWGYGLGWGOKJYKXNJEXVEDVMZWT
DMIXCJYTYUJTSBWFKZLAWKPHURQVOYDWETNBVLJP
FOBECDMQUOZXAKOVURYSWQALSYQAODWYODRTRTRLMXGPCIGDZJCNVHMDFQVP
KKMKWBZMXE
ERFHTAWFYLEMXTOLACJEAVROLPBFUX
DCCRBIXMTBGWGDDZFCVXHYBEVBYNKO
RDHWEPSVEJGFKOLVBTHZKXPZGKQYZRKSNZVEBEAM
CHAPYNTKFGTYPMFRIEPO
YDLWYENWVBWSDNIKZODIKQQCXTOCSOVWFQBBQNSFFYAKRYHVJAOKNTMKLIQP
DQKMWSPFOLHDUJLXBHMCAJYTXCTXQL
GSAZVMSNXJNTJMZOZEMZBJCKSXBZMWHZMJGDMTHF
VNUDTISUTEBRVRMTVVYC
KWUNMCBOUB
GQYIQAUPUWHHRKRREXOPBDEEKKBDSAGNSYJUOSVHLWLVBVXJAZFOSJTUHJHL
HRVVHUYOHKPCAGSFSPFN
EYGXWXWNTQ
BCNAYQBQNJDYOGOPJCDMIJWIFKIKXLZCKVLRFYULAYEMKCZTKJZBCJCZOWID
TVHTXQTVIISFWZFOQFBV
TASOEUUUZR
AFHFQINSACHERZDGGJGDXPADUNSHIZATVXTZPGTOZNZAOAUWCK
INLZDSQKAN
VSBIFUFDNHODSOVQXUZHBHNOMVNIQRMDNBCPVMRPUVKNVVNOZV
VASAFULTOTGYSDXFXSTEJJWUCWKJWE
SSAOSOOEDD
PELGCIFVIB
MRIWCFWENRTMPNHJOBUJ
EGTCRRNWTEPIJNOHQDFPIYCAVLJJGG
AVVREYHHQVZHSFZNXSTMQNLUYJVFATOJJDYJACSHYJEDOURHQIXDBCDEBHDO
OKRRWKDUOPNKVDJSXFDG
JXDDQTIFVIPPRGNVLNCOJRIDHRTJTWXPYIOKCLGLYUFLBYDYZMKJDLVQLZMM
XQJPWQQIGEURRVTVQXJGHRPRFYNGHYSXCNKNPHXDLOAKFSAPTG
YXZQTNMOXBUVLOLEDPYQQFYKPUTKPK
TBLRONSOAVLCFUYKILYHRBUDNZCVDC
QGVRBJCZTBWUCUCRIMSR
LWQJURTJXZYVBXNIUPLTFFOYXTZCYBWTDOWPMYNXPYAVLNNSJDJGKGBDXKJE
MVHDCFRFMIGUITXJPSXIEBHSXKERBE
VBRPNJDGNJCWTUSYTNTAYHWNKPLEPDPEABIKGLBZCRTWIYOQHL
RWFZCGFDGUVYIQYRHBOO
QCIKVVEMVE
YTIOKRIXGSRWLSZTJTBPLZUZWJBNHP
SAKPATNVKNFSSVZIFWIZLSLYODDDWS
LYFVAJJFVKQUFGAGRZDNNMUYWHXBDCPEBZJTVAORKBVQXFOMJC
QCJJVEYDTMJOPIRXNHUGNPJNIHIDJO
FJIQHYMXPDZFPNGCGOXFXJKIGLQHZKUOJVJKRURE
DRUBNPGLFZMDUHUWGWLEVGPKKTOTUH
KULQUFZJKDVYWDIFJUWPHGTQWTYGSDOSRONJFWPFPWWWLLBLKVKWMLXBSWDN
DTSUNDHSLBWJZGMJUDZSFMFNYWAQRKVVAUHCOPXYYPUADPYRGBWDMDNLZNSO
YDKHSQBHBWDPYRWSOYCWDGGPYJKWHYGJFMVXVWPSCWQPJNUDLSPREAESFBGS
VKABDCCHYAVQWWZRDGQKVBXZWVYLQD
UYYJODHBOCDNPNAAJMOYLYKHSKLXSO
AMGWATERJEGHLEWQCWJPZRUZGPQINZNMPMUXMANQPZVRLAGGCX
HSPAEPXZHSEIJAJBZOJCVYUBPZLYZNNSEISMYKMFQNFATDMOTY
GFPFZYFPZNJQULTWDYETAOBPEACHWBXIGRAKEZTCCCCQFDIHOIEWGHCVPZZU
NYGTNLTYNQ
HMMULRSOAIZCVBLBJOYSRZIVLPYKPN
MIGRUCBFSTSBUMPRXTQIQKYDYVUTPDRVOKNSHRCOPQYJTHBPCOULJLRYCJJY
IVQBYVXTRKBNUDYXNVWBJPNPXTZFTBAPWGWIBODDQFZDDZPEUKPJVUPDTOSN
RFHDAAZZATIPGQNUDNMFOTLBGTBOUDXHPPESBUVZHTKONUGQMZ
ZNVSXZZMUHOEKSWXUEICIVWHQFIPCV
KACDZXHYTDKOMZHVMYWM
JNMQLWPTSY
TKHHTWOFUTUBYZJXRODFTMZTVJTDCCKRGHCRLYACAHPUMFOGRA
IXULTLRRICUKELYDDZEQWUSJCCPDHNTUQVVZJJDM
FOIBGJNUGUVKRCACFJASPGZLRZNRAZ
GSXIGMWXCMZIKZSKOVLUVXUNYVPCQW
UCWKRQTBFDTESOFGOUBP
CBWMLCCLUFWJDFDRUOVF
JRWPYONENEQECZSRDAXC
PSOJBUVKCWQQWRUTZOXCPIJWCFDWWAKQBQWXLUFPMOQKUTZNGPJYXGIJNAYC
TLVAMVMBGPFLSLWNGIDIBSDUEPDSDBUWSWJRNMZR
OZLTJCPSPIMLHLTYHVXYJONZCCXPBACTFFTDUCQXRQTQPMQRDF
EBSKWSLAPZZMCNFNZNQKOFPCQPNKQN
OJPWICAOMCIFRESJUPRG
JTXQMFXCZLRILJVFOOCCCHOSCCJMLSEMIRZICOXJUKSWJSBOFB
KBIHIAAQAAEQMCPPCYQL
DGXUOLCJBJQEXYACTPALLEAVFCGHRLWLDLWWOUIN
YQNQAXUJAM
JZGDEBMQRJWAPUDAEZTWUZKVBMBLRNIVZJJTUYFHFHDTRIFPDQ
GGDNESDCUWLFWDIGXGTCOSRLKPUDSFZYMVQOBJDJSJMYCQXZFT
WERTYOOOOOCBZXCJHDKGVCYUIQWTC
FFFRZIRWIUFEHCOROCFFGOLBLWQLMTNSVXQFMPWY
IFDWBCGRNJUVHMJUACMKQZLYQWTWXQEIBGQDLFKR
PAICNUGXYJ
XHMTAJUAGWMMLSVKWKHVPTMGMXVIXIYCAJDNWOBEAURBJHVGJBYSESUDVKQG
BQCHZYPZQI
CHUIJEKCOWYTPADODHLTPKNPQJKSZKOCHOTWFZEKMKRYKYRXPQ
LJMPBISUNH
BKELESCVQP
ROCFWIHTLDTYTWJADTFDYGKNGVCSOYYCYHHBKNMWBFMHPZGBNFBNAWXTKARE
IXIXCULNPUCHTWFVVXZOGYGXUYFGKL
PXIMCNDJYFRZYEOGJHWFFLOXCTMWZOWXGKLXUFZVFUXVRAZHFIMAIOEIOASD
FYBAYAOJQYUNPFSTDPUCPYGSROSCEWFDIQQMCPVWTNIWGQZQPT
BJEAQMKAISDCPZQVNDCE
OHTRQLNDTNMTHXTOYSKU
GFKATFGXZVMZPKPKOLOEVIXCAWGPZTDZDPJVKHWPAGIRYRDKDUWVASWURBPD
GORIKHJAFGUKZTSPNILFAKZAJSFQHCLQPBZKDLRAOEDRGQRMLD
UWPKKIPJCV
WTHMCCWARHMTYNGLZBRZKCXOPPLAXGYGEJABINDL
YQYYESJZSNONDMSFSZXKEPGNFHKUNKWKQDHPPRPHUSYPHLLZVU
YKWAEBPHLQTKFLXPWNGQYVGBYHOQNSYDHFPZXBNM
ICEOVAMJEXSLALJLDIPPDBJVEOCROU
MFYWYHRMBRTNUOFYWRUMSBTTOPQTAGSMZRCKSYEX
SUJBNUCZILUYGQDOEQNURFSTGHBUTDDNDGKVCHPS
CEIMWPMFQWLBJNBITLBOMSZITCMEJD
PYIDCINRBU
QQURHBVCXEVOTBNZYAZD
YUOBOLOEJXKBLLHVHUHJMZERNYXSQKCZCLVGADJOBYNBWSNLBN
INOMDOCYEEOWFHQJUSJORUAVXAWMNGKZPQBAOKJSVHLOYPFODZ
GJMWTRTQYTVLHTVDMYUFRHHWYHGBCNOIMHRTVDKKRZRBQYIBTX
UACGZGJMDK
AHAUZTPTJC
YYJNSAGJERPZWGEQOKSBFVIJHQXGVVYHZDCMDEXLUUVBZPKBXP
RUPYJQVKJUONIQVNULNUSUTUCEZGTOBLHFNUIIRDDLWNESLWZAJAPUGWPMAE
FYPCGYVWWALFIVWMDEPFLEBGKRYLKGNQZGKGNLJQ
YBYLTDPRDKZSUBMUFUOSGZMIWTGSKK

5
quests/year2024/quest2-3 Normal file
View file

@ -0,0 +1,5 @@
WORDS:THE,OWE,MES,ROD,RODEO
HELWORLT
ENIGWDXL
TRODEOAL

View file

@ -6,7 +6,7 @@ import Control.Category (identity)
import Control.Monad.ST as ST
import Control.Monad.ST.Ref as STRef
import Data.Array ((!!))
import Data.Array as A
import Data.Array as Array
import Data.Array.NonEmpty (NonEmptyArray)
import Data.Array.ST as STA
import Data.Array.ST.Iterator as STAI
@ -28,8 +28,9 @@ import Data.Ord ((<=), (>))
import Data.Semigroup ((<>))
import Data.Show (show)
import Data.String as S
import Data.String as String
import Data.String.CodeUnits (fromCharArray, toCharArray)
import Data.String.Pattern (Pattern)
import Data.String.Pattern (Pattern(..))
import Data.Unit (Unit)
import Effect (Effect)
import Node.Encoding (Encoding(..))
@ -86,9 +87,9 @@ intToBigNumber x = case parseBigNumber (show x) of
-- | Split an array into subarrays of equal length
chunksOf :: forall a. Int -> Array a -> Array (Array a)
chunksOf n l = case A.uncons l of
chunksOf n l = case Array.uncons l of
Nothing -> []
Just _ -> A.cons (A.take n l) (chunksOf n (A.drop n l))
Just _ -> Array.cons (Array.take n l) (chunksOf n (Array.drop n l))
-- | Make an array with the specified start point,
-- | specified offset between elements, and the specified number of elements
@ -97,19 +98,19 @@ mkArr start offset items = go start items []
where
go curr i arr
| i <= 0 = arr
| otherwise = go (curr+offset) (items-1) (A.cons curr arr)
| otherwise = go (curr+offset) (items-1) (Array.cons curr arr)
-- | Returns all final segments of the argument, longest first
tails :: forall a. Array a -> Array (Array a)
tails arr = case A.uncons arr of
Nothing -> A.singleton arr
Just x -> A.cons arr (tails x.tail)
tails arr = case Array.uncons arr of
Nothing -> Array.singleton arr
Just x -> Array.cons arr (tails x.tail)
-- | Count the number of elements in an array that match a predicate
countMatching :: forall a. (a -> Boolean) -> Array a -> Int
countMatching p = go 0
where
go n arr = case A.uncons arr of
go n arr = case Array.uncons arr of
Nothing -> n
Just x -> if p x.head then go (n+1) x.tail else go n x.tail
@ -121,7 +122,7 @@ countMatching p = go 0
spanMap :: forall a b. (a -> Maybe b) -> Array a -> {init :: Array b, rest :: Array a}
spanMap p arr = go 0 []
where
go i prev = case A.index arr i of
go i prev = case Array.index arr i of
Nothing -> {init: prev, rest: []}
Just x -> case p x of
Nothing ->
@ -129,15 +130,15 @@ spanMap p arr = go 0 []
, rest:
if i == 0
then arr
else A.slice i (A.length arr) arr
else Array.slice i (Array.length arr) arr
}
Just b -> go (i + 1) (A.snoc prev b)
Just b -> go (i + 1) (Array.snoc prev b)
-- | Delete all the given indices from the array
-- | Skips over any invalid indices
deleteAll :: forall a. Array Int -> Array a -> Array a
deleteAll indices arr =
foldl (\arr' x -> fromMaybe arr (A.deleteAt x arr')) arr indices
foldl (\arr' x -> fromMaybe arr (Array.deleteAt x arr')) arr indices
-- | Like Array.groupBy, except it only even compares consecutive elements
-- | As an example where Array.groupBy would not work - this groupBY can be used to group together runs of consecutive numbers
@ -191,13 +192,18 @@ chars = toCharArray
fromChars :: Array Char -> String
fromChars = fromCharArray
-- | Reverse a string
-- | Why is this not in Data.String?
reverseString :: String -> String
reverseString str = fromChars $ Array.reverse $ chars str
-- | Split by a pattern once and return left and right params
-- | To make multiple splits, use `Data.String.split`
splitFirst :: Pattern -> String -> Maybe {left::String, right::String}
splitFirst p s = do
let arr = S.split p s
x <- A.uncons arr
y <- A.uncons x.tail
x <- Array.uncons arr
y <- Array.uncons x.tail
pure {left:x.head, right: y.head}
-- | Split a string into chunks of fixed length
@ -206,7 +212,18 @@ chunk len contents
| S.length contents <= 0 = []
| otherwise =
let res = S.splitAt len contents
in A.cons res.before (chunk len res.after)
in Array.cons res.before (chunk len res.after)
--------------------------------------------------------------------------------
-- Text Searching
-- | Find the indices of all matches of a substring
findAllIndices :: Pattern -> String -> Array Int
findAllIndices p s = go 0
where
go i = case String.indexOf' p i s of
Nothing -> []
Just index -> Array.cons index $ go (index + 1)
--------------------------------------------------------------------------------
-- Getting the input

63
src/Year2024/Quest02.purs Normal file
View file

@ -0,0 +1,63 @@
module Year2024.Quest02 where
import PCC.Lib
import Control.Applicative (pure)
import Control.Bind (bind)
import Data.Array ((..))
import Data.Array as Array
import Data.BooleanAlgebra ((&&))
import Data.CommutativeRing ((+))
import Data.EuclideanRing ((-))
import Data.Foldable (fold, sum)
import Data.Function (identity, ($))
import Data.Functor (map)
import Data.Ord ((<), (>=))
import Data.Semigroup ((<>))
import Data.Show (show)
import Data.String (Pattern(..), split)
import Data.String as String
import Data.String.Utils (lines)
import Data.Tuple (Tuple(..))
import Data.Unit (Unit)
import Effect (Effect)
import Effect.Console (log)
--------------------------------------------------------------------------------
-- Write your solutions here
part1 :: String -> Effect Unit
part1 input = do
let
Tuple wordx sentence = case lines input of
[wordx, _, sentence,_] -> Tuple wordx sentence
_ -> Tuple "" ""
let wordlist = split (Pattern ",") $ String.drop 6 wordx
let result = sum $ map (\w -> Array.length $ findAllIndices (Pattern w) sentence) wordlist
log $ "Part 1 ==> " <> show result
part2 :: String -> Effect Unit
part2 input = fold do
{head, tail} <- Array.uncons (lines input)
let wordlist = split (Pattern ",") $ String.drop 6 head
pure $ log $ "Part 2 ==> " <> show (compute (wordlist <> map reverseString wordlist) tail)
where
compute :: Array String -> Array String -> Int
compute wordlist sentences = sum $ map (computeSentence wordlist) sentences
computeSentence :: Array String -> String -> Int
computeSentence wordlist sentence = do
let
indicesOf w = do
let l = String.length w
map (Tuple l) $ findAllIndices (Pattern w) sentence
allIndices = Array.concatMap indicesOf wordlist
overlaps i (Tuple l j) = i >= j && i < j + l
overlapsAll i = Array.any (overlaps i) allIndices
Array.length $ Array.filter identity $ map overlapsAll (0 .. (String.length sentence - 1))
part3 :: String -> Effect Unit
part3 input = part2 input
--------------------------------------------------------------------------------