Class rankings discovered so far:#01 Adventurer#02 Possessor#03 Archmage#04 Paradox Mage#05 Radiant#06 Arcane Blade#07 Sawbutcher#08 Temporal Warden#09 Dark Priest#10 Gunslinger#11 Revamped Anorithil#12 Arcanist#13 Zephyr#14 Spellsword#15 Archer#16 Psyshot#17 Demonologist#18 Brawler#19 White Monk#20 Mindslayer#21 Sun Paladin#22 Harbinger#23 Corruptor#24 Reaver#25 Necromancer#26 Shadowblade#27 Marauder#28 Berserker#29 Anorithil#30 Viper#31 Stone Warden#32 Blood Mage#33 Doomed#34 Solipsist#35 Doombringer#36 Cursed#37 Summoner#38 Skirmisher#39 Rogue#40 Wyrmic#41 Oozemancer#42 Bulwark#43 Alchemist#44 Elementist#45 Primal ChosenThe decrypted rationale:Quote:
>Adventurer
Invincibility combos still exist, it's better than Possessor.
===
>Possessor
Everyone knows this class is blatant pay2win horseshit, could be below Archmage if reaching level 12 was hard but it's not, so moving on.
===
>Archmage
Definitely one of the most annoying classes to play, since you can't really use autoexplore, but it becomes invincible relatively early and it's really good before that too. Horrible base damage output but that isn't as big of an obstacle as it looks, because Arcane Amplification Drone is broken.
The threat of Mana Clash and sustain removals is extremely exaggerated since you can just inspect every potentially dangerous monster (which you're gonna do anyway on Madness) long before it reaches you, and if you do need to take a sustain removal head on you can just stone wall and Metaflow. Using Aether Avatar + Staff of Arcane Supremacy to get a cooldown of 0 on Disruption Shield also works, but that means dropping either Wildfire or Light. For manaburn you can just have >1.00 mana regeneration and be careful with turn alignment (easy because you have essence of speed), or start manasurge beforehand so you have enough mana to stone wall immediately, or just summon anything with a mana bar and let the orc mage-hunter target it first, or just avoid the monster because this class is really good at avoiding things.
Wraithform enemies can get through Stone Wall but you can just disperse it to teleport them away lol.
Damage shield penetration is also irrelevant because it doesn't penetrate Disruption Shield which should always be up (except when momentarily disabling it to counter dispersion).
===
>Paradox Mage
This is basically the same design as Archmage but with more damage, and instead of reducing damage to 0% it reduces it to like 15%. Doesn't get real Stone Wall which puts it below Archmage imo, although it is much more convenient to play. Could go above Archmage if AAD gets removed because then Archmage's damage would actually be problematic. Then again, removing AAD would also hurt PM a lot...
===
>Radiant
Insanely high damage with double-dipped inc_dam and crits, starts with Light and Chants, and has extra damage mitigation on top of that; damage shield penetration or friendly fire is nearly required for it to be threatened. Has no trouble hitting for sextuple digits by Dreadfell, and can pass a million damage by endgame - that's without AAD. Also has 100% resistance penetration because of course it - does. Any friendly fire *will* one-shot you though, so the class is surprisingly slow to play. I think this class could win Madness without too much difficulty.
===
>Arcane Blade
Also a lot like an Archmage with more damage (pre-AAD it is only behind gunslinger and sometimes possessor and sawbutcher) but it has no Disruption Shield so it has to lean really hard on Stone Wall (and probably Light) to win Madness. Also just plain worse than Archmage in early game but T1s other than Gloom are easy even on Madness anyway.
===
>Sawbutcher
GOD, Saw Wheels. Fix Saw Wheels levelup reactivation and this class drops by a few places, though it'd still be way overpowered.
===
>Temporal Warden
Great damage mitigation, obviously not on the level of Paradox Mage but still near the top. Arrow Stitching applies your procs three times so it's great. Early game is easy what with having Dimensional Step and all. At level 22 you suddenly do tons of damage and slap tons of slows and gloom and numbing darkness on everything from range; mashing Shoot for the rest of the game will win on anything below Madness. This is also the strongest class that's relatively painless to play; everything above it is extremely tedious to play effectively.
===
>Dark Priest
Really similar to AB, has better direct defense because of Disruption Shield, damage is somewhat worse but still perfectly good, has somewhat better damage shields and additional damage reduction from Humble and the weird Unseen thing, but it has no Stone Wall, so AB edges it out in my opinion.
===
>Gunslinger
Okay, hear me out here, this class has no defense. But. It can kill ANYTHING in less than a turn, without having to spend any actions in that thing's line of sight at all. So get an item with Track or the like, plus a movement infusion, and you're good for quite a while. At level 30 you can take Cauterize and get a lot more leeway, which is well before the levels where you lose access to stairs.
If Awesome Toss gets removed (as I'd very much like it to be), or fixed in some other way, go ahead and move this class down to bulwark tier.
===
>Revamped Anorithil
Boy, did I screw up by keeping Chants and Hymns. The new talents have all been balanced around Threshold's benefits and I think I've done fine at that, but the third talents in Chants and Hymns are simply ridiculous and push the class off the deep end when combined with the new talents. Really tempted to go back and get rid of both trees.
===
>Arcanist
Just Aether Archmage with the addition of 'new' talents that are about as useful as they are well-designed, and the removal of Stone Wall and a few other useful spells. Losing Stone Wall hurts bad and makes this worse than AB even though it has Disruption Shield, IMO. Also, you'd have to be out of your mind to play it.
===
>Zephyr
I made this class way too strong, not a lot to say about it. Excellent damage and defense. It's still worse than classes that have both Aegis and Stone Wall though.
===
>Spellsword
Mostly a somewhat better implementation of AB, but sadly it still has Stone Wall, and the Spellsword fire category is super broken. There's also a handful of scaling oversights to abuse.
===
>Archer
Archery weapons are great in general and Called Shots and the entire Sniper category are absurd, but man, people are overrating this class to hell. It's not better than - TW and it certainly isn't the best class in the game.
===
>Psyshot
Gets to apply both melee and ammo procs like Warden's Call TW, and does it from the start, but has much less damage without Twinblaster or Long-Arm. (The latter stops you from applying melee procs but it makes Vacuum Shot do such absurd damage that it doesn't matter.) Also has much worse defense, though its defense isn't bad (37% resist all from talents, instant mental cure, extra injector...). Basically this is a worse TW that has inner demons thrown onto it for some godforsaken reason.
===
>Demonologist
Circular Links of Pain allow you to use talents instantly and with no resource cost so long as one of the actors in the circle takes damage during it (since the stack overflows before the talent returns, so it'll never get to go on cooldown, use energy, or deduct its resource cost). The damage done in this way isn't taken so you typically want to make yourself a member of the circle, giving yourself complete invincibility until the circle breaks. I explain this because it is what puts Demonologist this high. Unfortunately, Demonologist is short on class talents that are good for doing this; Flame Leash, Darkfire, etc. do no instant damage so they are not suitable. Melee attacks against enemies with melee retaliation work very well (but be wary of misses and evasion). Ideally, you find an item like Void Shard.
Oh and it also never has to worry about statuses once it gets a fire imp body seed.
===
>Brawler
Good damage without AAD and ludicrous damage with AAD, trivializes anything without confusion immunity AND anything that relies on spells, while still being very good against the few monsters that don't fall into either of those categories, thanks to grappling.
===
>White Monk
Revive is nearly as good as Cauterize, as long as you're careful not to let your speed dip (the invincibility, unlike Cauterize's, disappears on a status effect duration rather than when you get your next action), Aura of Protection + Trained Reactions provides plenty of damage mitigation, being able to make melee attacks at range is really good, and Transcend is particularly good. However, unless you get lucky with physcrit, your late-game damage output is pretty bad by weapon class standards - significantly worse than Brawler's.
===
>Mindslayer
As a melee class this has pretty much everything going for it short of massive bugs. Flat damage reduction that's actually still good, massive damage output that can be sustained for as long as needed, good mobility and digging, a bunch of extra armor and stats because why not, and most importantly Forcefield which is straight up disgusting.
===
>Sun Paladin
Effectively almost immune to detrimental effects thanks to extreme stupidity on the part of the person who designed new Chants. And starts with Celestial/Light unlocked. Damage isn't great by melee standards but isn't bad either.
===
>Harbinger
I'm a little proud of how Arc makes it actually good to fight multiple monsters sometimes. I did give the class too much damage, though. Fortress of Ruin is pretty strong defense, but it is obsoleted by 100% crit shrug (which is easy to achieve later in the game on Insane+), and the class has little other defense to speak of aside from a bit of extra armor and +0.1 leaves tide mastery.
Also becomes totally broken if you find Destala's Scales because god, Dissolve...
Obviously I do think I made the class a bit overpowered since it's up here.
===
>Corruptor
Alongside Doomed and Reaver, one of the most underrated classes at the moment. Guys, this was one of the favourite classes for beating old Insane. You know, the version that was way, way, way harder than current Insane. Fearscape has been nerfed since then, but the rest of the class hasn't. It still has Bone Shield, keeping it one of the best classes defensively (once it reaches level 15 or so which is easy to do). It still has the highest damage of any vanilla 'caster' class, and with the ability to set anything's blight resistance to -100%, that damage works on everything. 'But worms that wa-' No, just apply your blight resistance reductions and one-shot them. Not that you even needed to kill them in the first place. Oh, and Domination Hex works on anything without instadeath immunity. That means all randbosses.
===
>Reaver
Defensively almost the same as Corruptor, offensively you don't get all the blight resistance reduction and crit multiplier, so you use either diseases that are vastly inferior to Corruptor's or you use melee that's pretty good. I think Corruptor is better as it has Wraithform, Fearscape (yeah it's useless offensively now but it's still a great escape), and the aforementioned damage bonuses, but Reaver is still very good since it still has Bone Shield and its melee damage is fine. It also has Bone unlocked from the start (and Torment but Reaver barely benefits from Overkill anyway). Amusingly, while the class as a whole gets underrated a lot, Rot is extremely overrated and doesn't buff the class much at all (though it's still worth unlocking, and I still despise that it was added).
===
>Necromancer
So I haven't shared this until now but I actually think some people are significantly overrating this class. Necrotic minions aren't bad or anything, but overall Necromancer's damage is finicky and while Sacrifice is excellent there are superior defensive talents on quite a few classes. It is even possible that this should be below Berserker.
===
>Shadowblade
Ambuscade can still be abused, it just takes longer now. That's my entire justification for putting Shadowblade this high. You can use items during Shadow Veil but it's probably still not something you'll actually cast.
===
>Marauder
Unstoppable and better damage and mobility than Berserker.
===
>Berserker
Unstoppable. That's pretty much it. Why is this talent better than half the classes in the game?
===
>Anorithil
Bad damage for a large stretch of the game, since you need crits to use Corona. However, Chants makes you almost immune to debuffs, Hymns give you instant damage shields, invisibility, and fast movement, and Light is Light. You also have a few excellent class talents; Jumpgate will get you out of anything as long as you can be bothered to use it and a stun/brainlock doesn't put it on cooldown, and more importantly, Circle of Sanctity will chain-brainlock anything that doesn't have silence immunity and can be stacked on top of itself. This makes enemies lose access to 1 talent per turn per circle, quickly rendering them unable to use any active talents at all. (Very few things have enough mental save to resist this, unless you've been ignoring spellpower.)
===
>Viper
Like an Archer but instead of having Sniper, Reflexes, or class talents that apply good debuffs, you have global and attack speed and a version of old Damage Smearing that only absorbs 50% of damage. So still pretty strong.
===
>Stone Warden
Man, this class ate shit when flat damage reduction got the (nonsensical) stepdown. But hey, Elemental Split and Stone Wall are still broken and the three Eldritch Shield talents still do excellent damage.
===
>Blood Mage
A mildly interesting experiment in balancing Corruptor/Reaver by locking categories and removing Shadowflame. Since this is essentially a nerfed Reaver there is not much to say about it.
===
>Doomed
People talk about shadows a lot but honestly, this is here because Curse of Nightmares is stupid and Cursed Sentry is stupid. The rest of the talents are just support and they're a lot better at supporting than Cursed. And yes, if you take away the cursed aura category the class is still not awful but what's the point in even talking about that right now?
===
>Solipsist
Escapes being terrible by having sleeps, Inner Demons, and Projection. Dream hammer is very good too, but a class so lacking in defense is not well situated to use it against dangerous enemies; making the demons and running is better. Maelstrom is also very good, and Forge Bellows would be a big class advantage if not for the fact that it costs a category point. Dreamscape is a Temporal Reprieve that lasts as long as you want at the expense of requiring you to keep a trash monster around and probably breaking your game.
===
>Doombringer
Excellent offense, Abduction is amazing and so is Reckless Strike (which is seriously underrated). Cauterize Spirit is great, and the extra armor and damage reduction from Abyssal Shield are very good, but overall this class is defensively pretty bad. But if built properly Doombringer takes down pretty much everything within two actions on Insane or below, so that's not a total deal breaker. I'm still putting it well below median though.
Hope Wanes could also be good on ogres since they can get 8 hits from one Abduction.
===
>Cursed
Bad except for Cursed Aura. If that category gets removed (I wish) or Curse of Nightmares and Cursed Sentry get nerfed substantively, this class will drop to Bulwark levels.
===
>Summoner
Development hasn't been kind to Summoner, with all the summons that aren't Summoner's getting gradually buffed, and Summoner's staying pretty much the same. Luckily, the AI targeting still outsmarts itself, so the lack of direct defense doesn't doom this class like it would for most others.
===
>Skirmisher
The only archery class that isn't flagrantly overpowered. That's literally the only positive thing I have to say about Skirmisher's design.
No damage problems, but its defense is barely passable. Pretty lacking in builtin ways to deal with statuses, and ironically its mobility is relatively bad.
===
>Rogue
Extremely overrated. Expose Weakness is broken and you have stealth so there's no damage problem, and traps are still strong despite the nerfs, but the class's defense is just bad. At least Skirmisher gets to be ranged lol.
===
>Wyrmic
Lightning Speed, Burrow, Ice Wall, and Dissolve are excellent, as everyone knows by now. But just having four excellent talents doesn't make a good class. Wyrmic just has four excellent talents. And other classes can get one of them from a mindstar...
===
>Oozemancer
In a game where there are items with Stone Wall, forced antimagic is really bad. But mucus oozes are really, really good, and you easily reach 100% crit shrug and can have bloated oozes out at all important times, so I wouldn't put this class in bottom tier myself.
===
>Bulwark
A melee class that lacks real defense is not a good look, and it doesn't have Abduction or Reckless Strike to lean on. Its damage isn't bad but everything else is.
===
>Alchemist
As badly as Bulwark compares to nearly every other class, at least it can do damage. Alchemist requires talent_on_spell to even get passable damage later on. All it really has going for it are golem abuses and Ice Core.
===
>Elementist
Archmage but with all the important talents removed except Stone Wall. The remaining talent set is so beyond shit that even with Stone Wall, I'm putting it below every vanilla class.
===
>Primal Chosen
This class has nothing. Its damage is poor for a melee class, its defense is awful, and it doesn't have anything else of note.
How to decrypt the encrypted message:Code:
local key = "\002\003\001\004\001\004\002\001\002\003\002\002\001\004\003\001\004\002\001\003\001\001\002\004\001\002\003\001\004\004\004\003\002\003\002\002\002\003\003\001\004\002\002\003\002\003\002\002\001\002\003\004\002\002\001\001\002\002\001\002\003\001\004\003\004\004\001\003\003\003\004\003\003\001\002\002\002\001\001\003\004\002\004\001\003\003\002\002\002\004\004\004\003\003\001\004\002\002\002\001\004\001\002\004\002\004\002\004\003\003\002\003\001\004\002\002\002\003\001\004\002\004\004\002\003\004\004\001"
local message = [===[<Berdjvtpfp# Mmwmlbjchnmu{#bkiflq#qvkoo!azkpv/"ku%p$`guugp!vk`j#Tkrpfpwlq/#??< =
Tmwrfpqmp%%Aufs}mlg!oomsq$vljp"`meqq"jr$`hevbjp!rbx6vml!jlpqdwkhp.!`ntn`!`f!fahl
u#Cpakn`cg"jd#pg`akmle!mgtdn#06#ser#kbvg#cwv"hu$w"jnw/"qm$ikujoc"ml/%<?9#:Cv`kob
fa##Ffgmlmpgo}$nlf!kg$vig#omrp#`jlnzhoe$bnbrwaw#vl"rnbz-$qkmaf"{nw#gcl&u"pdcom}#
qwd#bvplfyrnmsd/$`qu#jv"`agknfr$klthjbkfna"vfocwhrgn{#deph}"bj`!kw&w!vg`no{"fkle
$`densg$ujbu$pkl,#Jmpqjchg"acpg"ecneeg!nwvqww!fvp$ukbw$jpo%v"`r#fkc!le"cl$kfpw`g
ng"`w!kp"hmkhp.#caacwpd$Cvgcma$@osmmgma`vjml!@qnjg!jr!`vnifo*%Pkg#vjpfbu$md#Oblc
!Aoeqj!`lf!qvrpbmj!qfnkubmq"kr!f|vvdnfn{"a|edddvcvge$rkjaa"}lv"``j"hwpu$kjwrfgp!
gudvx$rnvflvheom}"ebofgvnwp!ikjpvfp"*tkhgj"zmv%pd"dkll`!fm!cmxsb}$nm#Negmdqq+!ml
je$cfempg$mp#qdeajgr$xmq.$cjg#ke!}mw"gn$laaf#pk!vbja!e"rwpvchj#saonu`m"ldcg!kj$z
mv"acm#kqqv#qwmld"tenn!`lf!Ofueehkv-#Vwjmf"Cguifv"Ewbwcp"/$Wwbgb"md!Esaela"Wvspf
lea{"wn$eap"b$gnmoekvj"nd#2"nj#Emqsvqukko"Pimahg"bnqm#tnviq/"awv!vkev"ldclr"gsks
tmod#fmwkdp"Uhmgbkvd#lp"Nmclw-!Bmp"leocfwvl$zlw#bel"hvrp"letf$:0,31$lel`"qgedjfs
evhlo!cje"ad$geqgewn"tjul"vvpm"cmkdjogou"*dcpx$aag`vpf$zlt"jcwd#aqwdm`g"mb$wsfd`
+."nv!qpcvv$nblbrqpeg#cadkvgkeje"pn$xkw!jbtg!amnqei#l`le!vl!wpkmg#ucno#hioggkbvg
m{/$mp!kwqu"ptinkj!bmzpkjoe"uhuk$c$lbmc"`ev$bme$ngv!pig$mva$nbef,lwlvfs$vevefp$h
v#gmswv-"lp"kqpu$cwlhe"pig#lkjwwgq"`g`btwg"wjjq"bnbwq"hr"pdcom}#ckng#bp#bwmkfhod
$vlhmdq,#Svejwibmpo!aogikaq$`bl#fav"vkskwcl"Ppkog#Vemh"cww"{nq#bel!itrv$ekpqavwf
"jv"vl#uangsmqv"ujfi"cv`{"mmo/%Gei`df#wkjdnf"qdmavv`wjml"mw$bork"kpsamgrcjv$afab
twg"kw!`mawl$p$qgmdpsevd"Gkqsqsummo#Rikamf#vlmgk"pjmwog!enub{p"`d"vt"*dyagqv#vlf
j$llnfjwbskn{!ejwcfmjme"kp$pl#bkwlvdv!fmqtgvpjmm(*#??> :Revcgk|!Obfa %Vikp"kr$a`
wkbbmm{$ujf!weif"ggqkdm!eq"Bp`jo`ef$`wu!ukuj#lkqa$ebnbcf/!clf!hmwva`g#md"va`v`hj
e"f`i`ea"pm$3&"ju$pgfvbaq$mv#pk!njja!57$,#Fmdwm&p"ffu!pa`n#Rpkjf"Tcnn#timaj#rvvq
!kw$`gmnu"@p`iibca!jnl(#bmvjmtfk$kp!jp"owgl$nlsa"amordlmgjv$wl"sme{,"@nqn`$el$ec
mud$@vaiobeg!me!ECE#fdvw!pflkrag"agacvpd$vjfl#Cpbjneeg&r"f`obfa#sktog#e`wtcnnx!a
a"tslangoepm`-!Pjgl!efcml("vfnmuhje"CBE$ukqng$emql!ltvv!RN"c!hlu*,/"<<?%?Pbemejw
#"Klqbmdh{"kkdj"ecneeg!vkvi"gnqaha,gjstfg!kla^ebi"eog#apkpw(#puepvq!shvl"Hkckw"b
o`"Ajbopq($cm`$icp!aypp`"gco`cf!ikujf`vmnl#nj$plr#md"wk`p9"gcnced"plkgme"rdlfuvb
pmnm#lv#eskglemz$dmsf#kq"jaeqox$pgstmsg`"bmv#jv#uk"`g#ulpaevfjae,#Ier$ln"wpmtfod
$jhwuhlc!dls$wa{vvrng#ghckvp"a{"Epfefddmn.!cme$`ej!sbpw#b!oknmhlj"``nbeg"f}$fmec
cog!)!vlcp%w#tkwikwv"B@@,$Enpk$icp!514'!pfqkrpbogg!sdogpscwhkj$ag`cwqf#nb"alwqqg
!kw$dwbjklf"gnap*$@mz#bqjdlfnx!empa!)tknn.$kmf,wjmv!}nw$vlmqdk.#rk"vjf!gnewq#mw!
qvstsmqhldn{!wons"ul!qnex,#H$pljlh"vjjp!gncpq#amtng$uko!Ocelfrw#smuklvp#wnm"otbk
$fmgejawnp}*"><9#<Csg`la"Fnegf#"@hqm"b!hmp$njoa!cm!Esgjlcdg"vmwi$onqd!felcdd$,tq
g.CCF#ju$kq#mmn{!`flkle!ewoqohjdav!bmg$pllgvkldp$rkrpfqqmv$emg!wcu`tpbjap-"fvw"j
u$jcq#ok"@mqqqtuklo$Rlkdng"qn$ju$j`p!um$mgbo$vabno{"jbqe$ml#Qwmld"Tenn!)cle"sska
efmz#Omdku+"vn!tml$Lbglgqw*$Bork"hwrp!rhcml$tlppd$vjcm!Epglobca!km!a`vnx"dcod$at
p"U2r!mpigq!plem"Dnmmn#`vg"fcp{"dtfj"mo!Ocelfrw#ejxtbz*"><?#<R`tfwpbkfp##CK@/#Re
u"Uiadnw,$Dm{#Qbv$Ujgfmw"hatfhqq"qdebpkwcwkmo$bo`"ukhr"gmcpr$`vlrp"`{#b!bgu#roca
dq/$vjntej!kw&`#wphoo#ff#vc{"nwfvrkvfqgf,%99>"?Pgornv`n$Uep`fm#"Fvgcv#eeoecg#imu
kd`phkl-"l`thkvrh{!mnu"ko"wia$hftfn"me#Qepcgm{"O`ef$`wu!qvhno!jfev!wkf$wlq,"Cssl
s"Wujwajkjc$bsqhkgq!}nwv"tpk`p"wivgg"whigw$ql$mu%p!csacu,#Gcshz!cclf!hq$dcpx$slb
v#ukvk#ietkme#Fklgmwkmo`n"Rvfq$bj`!boo*#Bu"ngwdo$06!zlw"qq``fmm}"fm!pnlw"kd$gbob
fa"clg!wnet"wkjr"lg$rhmvq#cle$dmkml#`of$owncmjc#fbpilfpr$ml#gugpxvkmle!gpml"q`jd
a?!nbpljmf"Qjnnw$dks#wjg"vaww#nb"vjd$fcig$umoo"thj"ml#`j{plkmc$cgons!Icelfqq/$Wi
mq!jr!chrm#ula$pvqmlefpu$anbqp"vicw#q"sdncukudhz$t`jmoapp!vm"qmb}9$dufp{vlmjd#`f
mtg!mu"mq$g|wqgndh{"vfemmqw"wk$qnbx$dbddawktdhz/%?<> ?Fesi#Qvmapv"#Pgbom}"qjojnc
s"wk"CC-"j`q#cawpas#gjvf`u"fggdmwg$cf`cwqa$ke#Emqpwqphmj"Wjmfof/!`cocdd$kw$qliav
jbu$vkprg#`wu$pumnm#qdpbdawm}$clmg."jbp!wmofukcv!`fpvgs!fclcdd$plmdogp$bme"cfehw
mmj`o#fcoeca#qd`wavhko"bpko$Kvoama"clg!pja$ufmve"Vowdal!vkklf(#cqv!ju!jer"mn$Wpl
lf"Ucoo-$qm#CA"geefw"ku!mwu"jo$n}$nsjmmlm/#??< =Cwjrojlegv%%Lh`}."jdes"ig$mqw#jf
sa."vkhw"ghcpw$icp!jn$fddflqd*#Cqv/#Hu"g`l#jmhh#CM[VJJMF$kl#nfqq!vkel"`!vwsl/!sj
plnvw#lbuhle"un#wraog#cl{$egwjnjq"ko$ujev$vljme$r$nklf!kd$wkdlp!cw!emh,!Ql"edp#`
j"hwdl"shvk!Pve`i#mp"wkd$nkhg/"rmwp$c"lntglgmu$jjbtpjlj/#`lf"xnv#pa!dlmf"bkv#rtm
vg"`$vjmna,$Bw"odrgn"01${kq"`ej!vbja!Gctvfpk{a#`jf!ddu"e!nlu$ikqg#nggtbx("ukk`j"
hq#sgnm!`ggmqd$wla!ofuaop!ujgsd#}mq!olqg"eggfpr$vm"rp`kvq*#Me#Ctdwmog#Ukqw$efpw!
pflkwaf!*bq"H#g!rgsz!lwgi"ohoa$jv#vm"af(("mq"ekzdf#ml"rnog!mwiaq$s`z/#cl#`jgce!b
jf$llug"vlmw#`meqq"ekvl$vk"fvoubso"vkfs*#99?":Vdtbltd`"@llpkuljm%#Clx-"`hf#H$wgq
gt"wr#ax$igfrjle!Akelvr!cle"Kximw*!Wkf$mfv"vcmdmpq$ibug"chh$afdj"`cmeoaaf$cvlvlg
!Pjpgpikn`#q#faogehpr$cof#K"uljoo"H$wd"`nlf!bmjf"bv"vkbu("`vv#vjd"wlkpe!vcmgmuw#
mj!@kbjwp!clf!Izilw!bqg"qmitoz!vkfkbqmmqq$cjg#rvrl"vjf!gnewq#kbg"wia!`gdr#gle$ti
al!`nl`mogg!smpk"wjg"mfv$vcogmvq/"Qacnmx"vdosuag$pn#dl$abbi"coe#cgp!qjf"mb$flwi$
vpgdw/#9?9#:Bqabomqv#"Kqqp$Cfpldp#@vblo`ef"uhpk!pjd#`efmuklo$kb#%mgu%#w`hglwq#vj
`v#epg!``mtv#`w#qwdevo$bp!vjgx!bvg$vfon/fawmdmd`."co`!vlg$panltbm$md"Pukla$Ubhh!
cme$`$ddu#mviaq!qqdetm"wqgomw*$Ompkle#Puklg#Ubnn!jvvvq!ccf!cme$neodp#wljp!umprd#
pjeo#B@"graj#wikwej!mu"lcw"@jppvqpkml#Rlkahf/$MLM-!Emwm-"zmw&`#ietd#un"fd"ltp$ke
"zmwp#nhjf"wm#rn`{#mv, <?? <Ydtk}v "J#ibgd"vjhr#gnerp#uc{$pkl#rppmlf(!lkv$c$olv#
uk"qcz!e`kqv#mp/"Fygdhndlw"f`ibfa"`me!faggmra*$Jv$q"qwjmh"ulppg"ujbj"am`qqdq#ulb
p$ibuf$aluj"Cdfjw"eog#Qvmja$Tbmh"vjnqfj*#9?9"=Qsdhnquls`#%Impphx"b!wnigvjbv"cawu
ap!jlqnalgmuepmll#md"BA-$`ww"pcfm{#mv"ruknm"k`w#Wpnmf#Sbom."coe#pja!Psgnnwskqg!b
kpg!g`vaekp}#jq#rqrgp#cvmoal-$Pigqd#r$cmql"c!lbo`dto!nd$rabmmjc#mugpqjdipq"wm#c`
tqf*#?<<#<@p`iaq%%@q`kaqz!ugcqnmw"esf#epgep$jm!cglgsem"el`"Gbonfe$Qjmwr$cj`"wla!
gmumsa"Rljrgs$``pgflsx"esg#`fwqqf/"`ww#lel.#rfmrmg#epg!ntgspbummc$ukjp$`o`qq"un#
lghm-#Kv%w$jlw!fgvvdv!vlcj"bv`ijoc"VU#`jf$mv#gasvbhjm}"hqm%v!pkd$`dpu!ah`qp!mj$w
jf"ecnf/%??>#=Rqxqkkv# Fgvr"wn$bttmz#akwk!ogndd#el`!bnom"tvk`p!hkig!S`p`gj%w#@co
m$VU.#`jf$`mfw$hv#gvni"ujf"quequ("cvu!jer"ntgl$ogpq"fbn`cg"tkwjmtv#Pukocncrvfs$l
v$Mlmd)Bql,"*Uif$neuwfp"qpktp#xkw"dskl"ertn}jme#langg#qvmgw"aqp!kw!i`ogr"Ucatqn!
Wjnw!em$rw`i$efpwqf"fbn`cg"wjbv"hv#`mgro%v!obupfv*(#Bowl#icq"lt`l"snqpg"fabampd(
"vjnqfj$kpq$gfdfowg"kpo#v$_k^feeY,hY!,16'#pgrmpu$cmo!gpkl"w`hajwq/"klpw`jv"ngmvc
m"`qpg-!gzupb!mmnabwlq*--(,"@`rjgchmz#vjkw$mp#`$umpra!VS"pjew#jbr$kllfs$faimmw$u
jqnso$movl"ku$env"rlld"cnfenvwehgm"pgbpnj,#>?>#<Egnklmmnekrv" Gjvgtobq$Ojoiq"ng#
Tcmo#bnnms$}lv!pm"wra!venalpp#kmrpclvox$cj`"tmpi"mn$saqnwqag!glrp"rl!mmjf"br$kjf
"ld"vkf!eavlpp"ko"wlg"bhpamg#uehaw!gbnedf!fwphod$kp!+pklaa$pkf!wvcaj$ntapbnktp"a
dbmpg#ulg$pcoaju"qdptvlr.#qm!mw&hn!mdwgv!efu$pk#el"ml#`nknflum."tqf$gldse{-"ls$g
a`t`w#mwp!pgqntqgg$blpv+,$Plf#eeoced$emjg$kj#wjjr$uc{#hwl#p"weodl#rk!}mt"w{rhgbm
h{!t`ov$um#leoa#{lwpqfog$c"ngn`gs"lb"vid"ahp`ma/$chujmc#znwpqdme$aklsogvg$mjujog
k`kmmu{$wjvmo#vkd$akp`ma"fvgbow/"J!aytn`km"vimp!fgbbtrg$hv#hw$skcw"rwwp!@golllnm
fkpp"vihq"ikdi*#Qjglqwqmbugn{-!Gaokolomekwp$jp!wjmpu$nl$ahcwp#vbmalvq#ulcp$cqa$f
mle$gkp!flklf$wimq:#Gmcid"Odewl/"Gcpiejsa."fv`,"em#jm"hoqv`lw!`bieff#pk#wig{"`sf
$lku#pwkvefhf-!Igngd$`vpcgiw#bebhjqv"foaomaq#smuj#lamag!pfvcmmbummo#vnpo!tfs}$sf
no"*`vw!fg"tcq{"nd#ikqrdq"`lg!auewhlm**#Jegcnmx/${kt#eklf$ej#juao"nhod"Rmmf$Pkcq
e*#Mj#`jf$mv#ehrm#oawap!jbq"uk#vkpsz!``ktv#rpepvqfq"mm`d$kv#efvq!c#bkpd!koq"an`z
$wdfg-%>><#<@s`thgv "Dmmf$`enbfa"ukulnwp"EC@#blg!hwfk`skww$fbiefg#vmul"@CG."uvjw
mcmj{dq$`lzulmjd"tkvjlvu$ammdvqknl#mootokvx"BO@#ejxwkjjd#ujcv!sfhkar#ll"qtahop-$
ujkma!qpkhn$afkmf$tgpz!cmk`"bcehlpu$ulg!dfu"lkmrpgsp!ujeu"gnj#p#dbnn"jmuk"gjvkgp
!me$vjnrg"bcwdclvmdp/#pkboiq"un#cpeqsokle*%9>> :Ujkua!Oklo#%Qftjwa"kq#oacvh{#ew!
eln`!eq!Abwvdvj{a.!br!nkoe#`w$}lw$pg"`bsadwo"mmv!vl$ngu!{mtp#rtfa`!gjs$+wig"kowj
jamcjokv{($qmohog"A`qugvk~g#p/"ghwcrrf`vq$kl#e$rvbuqr$ggdfav!`vsevhlo!peujfs$plb
l#ujgm#xkw"dgw"{nwq$lgyu"cbvjnj*($@vqb$le!Rpmud`pkko#("Vpemjfg!Vgcaumnlw"tpkujff
r$rngmu}"kb"gei`ef!ihpkfcwkmo(#cakod!``hd"wn$iehg#ognff!evvbahq"`v#vclfd"kr"qdeo
h}!dll`/#`lf"Usbjqgdmg"kq$teqwhgwncshx"cmkf*#Kmtdrgp.#tjnawq#}kt"ddp!hwbiz"uhpk!
tjxpbskp-"znqv$ocwg/ebnd$fcncdg"nwwtwv!hq"qpfupz$f`g#a}#tdcrmo!`hcwr#pvcl`evgp!)
"qkfjhdmaelpoz"tnvqg"wiel$Fpbshdp$r* 9?<#=Oko`pme{dq Cw!c#lahaf"`ncqp#ulkq#jbq"
qpfpv{!lwai"fwaq}pijmd$dlhle"gnq$kp!pkmpv$kb#n`wqktd$cwcq*"Bobv#eeocef!vg`qawmko
"wieu#q!c`vw`hox$qujmm"cnmg-$iepqjtg"gbleeg#mvvrtv#pjcu!aco"ad$pqwubjmag#gmp"`r#
hmjf#bq"laa`fg-$emme$lmfkhkpz#cme$fkedhje($c#fqoak!kg$gyvqc"`vnnv"`me!qp`vp!fagb
wpg"ukz!jmv/"blf!olwv"hlrmsvbopo}$Glq`aejdnf"vijgj$hp#qvpemckw!qr"fhwfwwvmlc-"?>
<%<Qwm!Tchefjj% Gegabpkwgo{"`hnnwv!jllwjd"wn$`awpjoglwbm$gdeg`vq!vkelir!vm!g{uvf
ia!pwvtjghv{"no#pja!sbpv"kb$wkd$rgprko"sjk"`fpkdoaf"lfv$Alelww*!Cme$rpcsvp"uhpk!
Ggmfrukem-Ohclp#wmnmahfe*"Fbobeg!kpj%v!fpg`v#c}#iamff#wwbofcper#fwp!jpl%v$feg#dm
vjgs* ?9?%<Lbq`jocgp#"H#o$e"ompunf!tskwe"ld"ikt!Epb#l`iar"ju$egwwbnn{#dnkf"wm#dk
fjw$owmukrmg#lkmwpdqp#wlndvkodr-$K$ejg"ekra$wkd$ancrw!vkm$oq`k"g`iceg/!pjkqek*$G
mquvdwq!me"Ptmm!mq!ssdvpx"puvkjd"ggdgmpd("`vv#kv!kp$m`rnngugg!fz$513&#gqju"qjstd
$*sij`j"kw$abpx$vm"`gikata"hbwgq!ml"vkd$eeig#kj!Kmreoa)(.#cle$wia"bo`rq$icp!hmpw
nf"mvkfs$fgegmqg!vl$qrd`i"nd#`wj`a!eqli#b!`kv!ne$g|uqb"cpikv#bo`")2/5!nacrgw#wkg
d$ocqwdv{*%Cowk!`fbklaq!vlvcmhz!fpnhdo"mg"znq$bjlg"Fgpw`hc%p"Pacmgp$`gb`wqd"dn`/
$@hpplhuf/,,#Ncummqroz"K"`k$wkhji"K!i`fa"pja#`nbrw"c"ahp"krgqtkvgqd`!wkoaf"ku#p!
qr!kdsg* ?><%:Glpqwrvlq %Cnlldqkeg#@mmldf"`lg!Vferdq/#kmf!md"uif$okrw#wlfavvbwd`
"an`wrgw"ev$wkg#lkoglw/$Eq}q/$pikp!s`w"nlf"mg$wia"gbwnwvhvf!ghepqfq"dlq!fgcwkme"
nng$Klr`lg/"Znq#ojnt/#pkf!tgprhlj"pibw"ucw$sbz-$uc{-$vc}"lcvgfp#ulcl"`tvpajv#Mjr
cmd*!Bg`ppacqa#ieq!addl$ogqga`$pkmag"wkdj."aww"vig#vgqu!md!vkd$`herp#kepm&v,"Hu#
wvmmo#jcq$Fkmf!Wjkgm`-"ogarmmd"ju$mlg#nb"plg#farv#bh`wqdq#fggamrmtdox!*koaf!mp$q
gbajgp#matgo"27"np#wm"vikai"jr$fewx#wl$gl(,"Ku!ppkhm#kcq"pla#khcjgqu$eciccg$le"b
o}"tcmhhne$%`ewugq&$bhcrq/"co`#vmvi#uig$``jmmp}#vl"qgw#`j{vkkme%r"ahkeiu"pdqjrpb
jgd#wl$.212'.!ukev$ebnceg$skqhr$ml"drdp}vlkjd-"$Cqv"ulsiq$pjbp$vc.&$Ok.!hvqv!esq
h{!zntp$cnjflp$qgpkqvbmba"pffvavhmmw"coe"mog.rllp$ukfn*#Mnv"vi`w${kt#ftgl$jafgd`
"vm!ohnh"pjan#km!pjg"ehvqp$roegd,#Nl-$cof#Fmlmm`pknm!Ig|!ulsow$ll#cl{wkhje"tkwjm
tv#mlqu`fg`vk!mniqojwz*#Wicv"ldbjq$`oo"pcj`flpraq,#<9<#:Pacrfq#"Eadglphrgh}"bhin
qw!pia"rcng"`w#Bkpsvqumv-"lgbajpkugn{#znq"fll$v"fgw$cnm!vjd"ammdlp!qfpmpw`lag!sf
`wgujll"cj`$`qhp"owmphrhkap(#pm#xkw"wpd$gmpjfv$ekpderaq!vkcv!eqd$t`pum{$hledvmkq
"wm"Alqsqrvlp$q"np#}mw!tqg!ofmaf$pibw$w#ssgvvx!dkm`/#J"vjmjo#@nvpwruks"mq$`awwgq
!eq"kw!lcw$Uqemujenvl("Ggbpqbesd$*xf`i"mu%p!qwaogpq"meedjqkugo{"omt$`wu!kv&q#rpj
hh!b#dvfbu"gqb`sa+(!bmf"vla$benvgogophmjg`"`bncdd$`mlvraq($`vp$Sgbwas$kr"pvkmh#w
apx#fnm`!qjoga$jv#qvkoo!lcq#@llg!Qkmgne!cle"juw#iamff#`bn`eg"hr#bkjd-#Kv"ehwl#ie
q"@njd"qlhmghff#gvmo"wia"wpcqp$)cme$Ukplgmv"cqw!Vg`uds"f`pfm}$fflfdkvp#gvmo#Mugp
jkoh"coxucx+-!Enqwhmdo}/#vjknd!wlg$bobqq"ew$b#vlmng!cdvw"ql`fqpbuaf"c#mkv($Plp$h
q#d|uvglgo{"nrfsvcufe!cje"gnawj$v#`wde#ulg"`nbqq!ovgj"`u"cmn#)pkkqfk#jp$p!qvkmm#
smvuk#wlnkgojmf("cle$H"wvmnh#ggpqmqg"wiev$mv#ser"be`d`+/#>?? :Mdgpnn`oaas#"Rk$M#
jbtgl$w!wjcqgg"vikp$wluhn"omt!fvp$H#b`pvbmn{"uijji$rlng"raktof!epg"rmflmdmaemwnz
!ktgpq`pkjc"wlmr"`merw,!Lfapnpjb$ohmhnlw!cqdj#p#`bf"mq#`j{vkkme.!`vp"mwdpcmn#Oa`
vklbm`aq$r"fcl`da"mr#eklkgo}#bo`"ujhhd"Wcgpmejaf!mq"g{banhalw$pigqd$`vg!qvrgsmls
$fdedoqmwg#uehamvp"ml#rtmvg#c#dgv"`hcqrdq,!Kw!mp$awfm#tlprk`nd!wlcp!wkkq"wlkvoe$
`g"camms"Fgvpfphdv,#?><%<Wlcgkscnbea %Cl`vqa``f!gco#rukhm"ad$efvqff."jw!nwqw"wci
dq#hmlfdp"omt/$Wleu$p#iz#dlvksd#nwwujekacpmkm#gkp"rtpukje$Qlbgmtchcfg#ulkw$jjcl/
"Znq!gco"vqg!mwdiq!gtskjf"Pie`kt"Ugkn#atp"kw%p"rsmae`nx!qvhno!jlp$rlnfpkjoe"{nt$
hn$``wwcnh}$`brp,#?<9 <Icvcqgfp" Qlqvlqtcfhg#eje"adpuap!fbocfa#`jf!nnckhhvz!plem
"Agpqfqjap,"?>?#?@fvqgsjgp #Vowwktqbaoa-#Ujcv&r#tpauwz"owgl$jw/$Uj{!mr"pjmq$wbnf
op"`gwuap$pjbj$icog$ulg!aocqrap!ml!wid"c`of>%99>#=Clmqjulkn"#Acf!fbiced!dms"b!hb
vcd#pwvfwbj"mg!wlg$fbng."wmj`f!}mw"oadf$avkpp#vl!qqg"@nvmje,#Lkvgudv-$Aicmvq!ibj
aq!znt"emolrp$mnovlg"wl!`g`vdeq.!Jzilq!fktd"znq#mjrwbmp#g`oced!plkamgp."kjrmpjcm
nkvx(!cjf$depw"nnrgogmu("ejf#Hmfjw!mr$Nhekv,!]lt$cmpn!jewg#`$bat"fzagoodjv"`nbqq
!vbhglur9"Kwnqcbpa!tjoh#ddv"{nt#kwp!le"cl}pljmf$cq"mkoe$cw"}lv"``j"`g#ckvlapf`$u
m#twd$ku"blf!e#rpwo,cscmonlbo$`lgpl%v#stp"kw"ll"bmlhfmvo."`lg!ilva!jnskqw`lvnx-#
Gkvbof"md$Wem`umv{"vmmn$alcmm.`q`mlnm`j$cj}vkmjf"wieu$fngpl%u$k`rg!phmgjbg#hiiqm
kw{"cmg!gcl#`f"quc`ogf!nl"ums!ke$mupfob-#Ujkq!lbogw!fmgokaw$olra"cabarq$vk"5#wco
djv"rfs$vqvl#tas"`hvbhg-"rwkboox$pdmedpmoe#ulai#wmc`nf#uk"wpg#clx"bgvkwd"v`nfopp
$eu#boh-#)Tgpx!eau$ukjleq$leuf!almwfl!oalpch#pcud$vm"qdwkwp"wlmr.#tjmaqr"zmw&rf!
fgdm!hejnpjoc$wsgonrmtfs*+#>?>#<Wksap# Mkid"bo$Bvgifq#fvw!klqudb`"kg#kctkjc$Pmht
gp.!Vddhg|gw/#mq!gncqp!pchalww$ujbu$`trm{#emn`#ea`tegr.$xmv!lerf"dnm`bo!elf#cwvc
bi#wrgde"cof#`$uavrjlm$le!mnf!Ebiccd#Pogcvmjd#ulcv"njm{$cfqkqaq#44'"me!`cieef*$R
m#rphhn!rqgvu}#rppnmf/#9<?"?Wpkmg#Ucpgfo%#Yj_NclZ-jY."uikq!ao`wp$euf#pljw!ujgo!e
hcp!gbocea$vfgtgvkmo$fmp"pja#+llowglqjben-$qwatemto*!Fwu"kg{-$Fmaodmu`n$Rrohp$em
f#Qvmmf!Scno"bpg!qwmnn!cpmjgm!em`$ukf#pkqdg"Gmeqmvgi#Pjkgh`$wbmalvq!wukhn$fk#fz`
dhnglw!`cieef*%<?> :Chmnf#Ocfa" E"ljmen}!kmuavapvjle"f{qapkngmv"hl#fcn`oakoe#Bkq
vqqwlq+Qf`tgp!cz$nkbhjle"gepfdnvkgq!eof$paokujld!Wjcflvbneig-$Whl`d$ulkr"jq"dwpd
jvhbmm{$`"mdvbag"Qgctfq!pjgqg#kq!llp"otbj"um#rez$eclvw$jw/#??< =@mklfg##Raktof!p
cni!ecmqv$qlbgmtr$c"nlu$`qp"kkjdqwm}-$vikp"kr$kdvg!adbcqrg#Bqvwf"ld"Ljdipocqgp"k
r"ppwrhe"cof#Bqqwae#Pfjwqx"kq!rwqrme-#Vjg$vapw!kd"via!venalpp#cqd$hwqw!wwttmqp$`
lg!pia{&pf"c!hlu$`dwudp$`v#rqttlpwkle#wiel"@wqqge,#Elf!xgq-"jg$zkq!wbha#bvc{"uif
$aqspff"cqve#``pgems}!vlg$ahbpq#hw"qvjmh"jkv#esgwo!ftp"vjbv%r$wia"qlhov$hl#draj#
vbnikmd!e`mvv#vj`v#vkeiu"lnu< 9>9%?Plomsphqv# Dpgctdp#`gkjc$wfsvk`nd$c{$jetmmd"p
magrq/!Mljap#@almmr(!ele"Spmka`ummo-!Epa`o#ieiifp#kq"ufs}"elmg"vnm/$`wu!c"bnbrw#
wk!ob`ojmf"kl!efbgjrf#kq"jkp#tdhn"qhptcpg`"pl#wpd$kv"bfekjwv#`eoefsktw"dlfokdw8!
icjjof"pig#eaikmq#clf#qtjlkme#kq!`fpvgs/"O`gorpqki!jp#eopn"tgsx#cmke/#clf$Bkqdd$
@gnmkvq$ukwhg#`f!e"`kd!gnewq#e`wcmuefa"hd#lmu$env"ukd!debv#ulep#kw"ampwr$c"`cwge
npz$rmhov,!Fqdenwg`sf#mp#`"Vglqlvch!Qfrpkara#wiev"n`wuq$cw"hlme#`w"{mv!scjp"bp$u
jf!aytgoqf"mg$qduwhqhoe$xmv!pk$hgfr"c#wseqj#ollqugq$cpntlf!cme$svkcbao}#asgcihod
${ktq#ecoa*$"><9#<Fnkl`vkjeaq"#Fyggnnfop"kbdfjwd.#@feqaukll"hw#`ic{jof"eof#rk$mp
"Qgaiofrw"Qwpjig!*tlkai!kq!qfsmlqwmz#vjgfspcvde**"G`vwgpk~a$Pshvkv"hw!evgev(#blg
!pjg"fyppe$cqiks"bo`!`clcdg"sagtgvhlo!dvno#@f}wpco"Qjjfm`"cqg#tgs{#cmme-"`tv#nrf
vemo#wljp!ancrr#mq$efeglqmraoz!tpgvu}!`ef*"Fvw"jg$`wkou$rvkrfvhx"Gnklfphldgp!pbj
aq!gnvl$qpfup}$nw`j"gufs}vjjld"uhvkml"uvm"`awhkmw$nm#Jjpbog"ms!aankv/#qm"plew$r$
lmv!e!vkven$gfco!fpgchdv,$M%n$wukom$qqvukme"hp#vanm#cdnkv"nd`mem"wjmwdk/%Jmsg#Uc
ogp$amtmf"`npn$aa$fllg$lm!mepdr#wkjbf#vjg}$gbm!cgv"9$ikpq$dvln"loa"C`gtgvmkl-%9<
?"?Gtvqdf"#@``#d|adsu!dks"@tvwag"Bwpc-#Hb"vkcw"a`vfcmpx!eguq#sankrdg#+M#thqj+!nq
$Aqspf"md$Jmdkuicpgr$`l`"Gwvpff#Ralvpz!cgp$lfvbdf#rqcwv`lwktdhz-$vijr!ah`qp!smho
"gpmr#wn$@woubpi!nfrgnr/#?<?"?Wviinmfq%"Gdtgnnqnalp!kbql%p$fffo$ikle$um$Qqoilmgq
-$ukvk!enh$vka$rwnlkow"ujbv"Zm^`vgo$uZ-m\"Ptiikmgq%q"dfupkld"dpcewbhn{!cwdggg-$b
j`!Pvnilmdp%q!rwe{mod#rpgpp}#ntgj"via!qeoa,$Ovahhh{."wia"EM"wevfgwhjf$qukon"nqwr
icswr!kprgog($wl"wjg"obbo"me"gkpdaw$fggdlqd"gnapj#u#glkn#ujkq!boeqw!ojig"mp$tlth
f"dnv!okqp"kwkgqr*#??> :Qompnmwigq %Ulg!mmn{!eqblgsz!bnerq#ulep#kpl%v#emeepblwn{
!muaprnvgpdf-!Pkep&p#omwfscnnx!wlg$nmo{"rkwmwjwa"vjhjf"M"lcrf#vl!wc{"bckwp$Qhmvl
kpias#q!ffqkfj- Jm!g`lccd"sskfhfop."`vw!mvq#ffdgoqf$kq!ccpdnz!tbww`aof*#Ssgvvx!o
eaohmd"kl$fqjouml"u`}r"pm$fabo"thpj"qw`pwwaq/$eof#hvnjkbcon{!mwr$onahmkpx"jr$vao
cwktgoz!fcf-#>?? <Qkewd #Gyvqdifh}!lufvqbugf,!D{tmwd#Tgcijawp#hw"`pnodl$cjf$zlw#
ietg"puachpj#wk!vkdvd#q!ll"f`ibfa"qqncnal.#`j`$wpbrq"bqd$qvjno"quplje"edqrhvf!pk
a$ofqew/#cwv"uif$ah`pp%q"`abfmra"kq!ntqp"fc`-#Cw!hgcqw!Wimvojwldp#fauw"um#`g!vbo
cge#mnn* ?><%:Szpnka#"Ohcjvmkme"Rrfaf.!Cwpsmt-$Jga!Tboh/#`lf"Ehpwmhwf#cpg$a|`fmh
glv-$`q$grgvzllf!olmup!f{$jmt*$Cww!ntwv!jbtkoc#gkws#dyaamnfop$pbnflvq#gnaql$v#oc
jg#e"ennf"bnbrw-$Sxqnjg#itqv"i`p$dktq#gzaahhfmu$vcndjuq*"El`#lvkdv"anbrwgw$abj$f
gw!koa"nd#vjdi#gvml#`!omofpuev*-,"???"=Nkxgncmags#"Ml"`!eclg#vlfva!wkfvf#`pg"huf
iq$vjwj"Qpkjf#Venn.!bnpgg`"emwkn`cka"jr$paeno}$ccg/$Cqv!ovawr$ln~gr#`sg$sgbmh}(#
pfcnnz#fkmf/"blf!{lq"g`rknx"qde`l$033&$`qhv"qisvc"eog#acl$leuf!fnmcuae"km~gw#lww
!ev"com$kitmqpeov#umlaq-"pm"H$tnqnem&u"ttv#ulmw#aocqq#jo$`mwvlo"ukfv"oxrgng,"<9>
%:Cvoteqh #C"ldoag$bobqq"plew#meaiq!vdch"`gbfmqf!mq"llu$c$cml`$mmlj(!ele"jv"ekfr
j%u#i`ta!Caeqgpjmm"mp#Qdginfqp"Qupjog"un"ndcm!km*$Hwp#`bn`eg"hrm#v$cbg"`wp$aufs}
vjkoc!ghqa"mp-#><9#<Coblgimqw%%@q#ceeh{!cp"@tht`vi!`nlresgp!pk$mgbpn{#fwap{#mwjg
s"`hcqr-"cu"odepp$hw#`em#em"f`lbcg*!Boajgimww#saswksar"pchgjw\mm^wrgno!pm$atfj$f
gw!_hYr`qpc`maX.m_!g`lccd"o`pav#mm,"Coo!mv"qgbnnx"keq"fnklf"env#mp!bqf$dlmgo"`cv
wgw!bmf"Kga$@lsa,#?<9 <Anaoamwkpu%#Cp`iicca"aqp!ujul!enm"wjg!mnqkpubou"p`nfopw$q
gnmtgg#d|agsv#Qvnlf$Ucmm,"Ujf!vfiehmjmc#w`nglu!pav$hp#qm"fa}lme$qjku$ujev$grfm"t
hpj"Qwnjg$Scoh(!K$l$qqvukme"hp#cannt!dtas{#wejmonb"anbpr*#?>?"<Rsknen"Bimqdl" Pk
mw!`obwp#icq"onwlkjf-#Kvq$`enbfa"kq!tnmv"bmv#b"ndhgg"`meqw("jpw!ffgaowg!kp"cvbvm
("`me!kp!fldwj#w"kctg#bo}vjjld"gmqf$md!omvd,]===]
function reveal(msg,key)
local rval = ""
local kp = 1
for i=1,msg:len() do
local chr = msg:sub(i,i)
if chr ~= '\n' then
local byte = bit.bxor(string.byte(chr),string.byte(key:sub(kp,kp)))
local uchr = string.char(byte)
rval = rval..(uchr == '!' and '\n' or uchr)
kp = kp+1
if kp > key:len() then kp = 1 end
end
end
return rval
end
print(reveal(message,key))