• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 02:22
CEST 08:22
KST 15:22
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Maestros of the Game: Week 1/Play-in Preview9[ASL20] Ro24 Preview Pt2: Take-Off7[ASL20] Ro24 Preview Pt1: Runway132v2 & SC: Evo Complete: Weekend Double Feature4Team Liquid Map Contest #21 - Presented by Monster Energy9
Community News
Weekly Cups (August 25-31): Clem's Last Straw?8Weekly Cups (Aug 18-24): herO dethrones MaxPax6Maestros of The Game—$20k event w/ live finals in Paris45Weekly Cups (Aug 11-17): MaxPax triples again!15Weekly Cups (Aug 4-10): MaxPax wins a triple6
StarCraft 2
General
Weekly Cups (August 25-31): Clem's Last Straw? #1: Maru - Greatest Players of All Time Maestros of the Game: Week 1/Play-in Preview Weekly Cups (Aug 11-17): MaxPax triples again! 2024/25 Off-Season Roster Moves
Tourneys
Maestros of The Game—$20k event w/ live finals in Paris Monday Nights Weeklies LiuLi Cup - September 2025 Tournaments 🏆 GTL Season 2 – StarCraft II Team League $5,100+ SEL Season 2 Championship (SC: Evo)
Strategy
Custom Maps
External Content
Mutation # 489 Bannable Offense Mutation # 488 What Goes Around Mutation # 487 Think Fast Mutation # 486 Watch the Skies
Brood War
General
ASL20 General Discussion No Rain in ASL20? Victoria gamers Starcraft at lower levels TvP BGH Auto Balance -> http://bghmmr.eu/
Tourneys
Is there English video for group selection for ASL [ASL20] Ro24 Group F [IPSL] CSLAN Review and CSLPRO Reimagined! Small VOD Thread 2.0
Strategy
Simple Questions, Simple Answers Muta micro map competition Fighting Spirit mining rates [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread General RTS Discussion Thread Nintendo Switch Thread Path of Exile Warcraft III: The Frozen Throne
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread Russo-Ukrainian War Thread YouTube Thread
Fan Clubs
The Happy Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread High temperatures on bridge(s) Gtx660 graphics card replacement
TL Community
The Automated Ban List TeamLiquid Team Shirt On Sale
Blogs
hello world
radishsoup
Lemme tell you a thing o…
JoinTheRain
How Culture and Conflict Imp…
TrAiDoS
RTS Design in Hypercoven
a11
Evil Gacha Games and the…
ffswowsucks
INDEPENDIENTE LA CTM
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 742 users

[G] Critical Upgrade Analysis - Page 2

Forum Index > StarCraft 2 Strategy
Post a Reply
Prev 1 2 3 4 5 6 7 8 Next All
Champ24
Profile Joined August 2010
177 Posts
January 25 2011 19:18 GMT
#21
Wow, I didn't know +1 armor pvt made that big of a difference.

Thanks for doing this.
kazansky
Profile Blog Joined February 2010
Germany931 Posts
January 25 2011 19:19 GMT
#22
On January 26 2011 03:44 Sv1 wrote:
Two things: I see that you mentioned shield/stimmed marines vs non stimmed/shielded marines, but I'm not finding any comparison of the two, you could almost assume that those numbers might be able to be a thread of their own.

Not to turn this into a debate about sentries but I think garudian shield needs a deeper look, I know you mention it but are you accounting for it at all or counting it as a factor in only certain matchups?


Feel free to open one on various marine battles :-)
I tried to boil it down to rather realistic scenarios, but if I would cover every possible engagement, I can start writing a book rather than an essay.

Same goes for sentries, I didnt count them at all, as critical upgrades mechanic mostly applies on very strict compositions and very early game stages. If you can provide me with additional information, I will certainly add it.
"Mathematicians don't understand mathematics, they get used to it." - Prof. Kredler || "That was more one-sided that a mobius strip." - Tasteless
kazansky
Profile Blog Joined February 2010
Germany931 Posts
Last Edited: 2011-01-25 19:37:01
January 25 2011 19:28 GMT
#23
On January 26 2011 03:53 statikg wrote:
I feel like for a post on critical upgrades, you have missed alot of key facts differentiating what makes upgrades so critical. That said, I appreciate that you have done a ton of excellent work but I think there is still plenty to add. For example you don't really differentiate between +1atk and def in TvZ but +1atk is much more important then +1def. As well in TvT you didn't mention that +1 air weapons makes 1 less hit for vikings to kill vikings which is hugeee. Also for tanks vs zerg, you HAVE to get +1 atk because otherwise once lings get +1armor (which I imagine most zergs get quickly) then tanks stop 1shotting them.


It's your decision whether you value attack or defense more, for most people it might be attack, but I don't want to coach people what they should research but provide information on what upgrades do.

As I wrote in TvT analysis, Viking hits dont change on upgrades. Unless I did some math wrong there, i'll review into that.
Update: Nope, double checked, +2 would change though. I will look up Unit Data again, maybe a typo.


In TvZ I've added +1 attack, but for a different reason. If you recall definition of critical upgrade correctly, it doesnt change amount of hits. That getting +1 attack leads to a correlated Nash equilibria in this case is something completely different.
"Mathematicians don't understand mathematics, they get used to it." - Prof. Kredler || "That was more one-sided that a mobius strip." - Tasteless
kazansky
Profile Blog Joined February 2010
Germany931 Posts
Last Edited: 2011-01-25 19:55:39
January 25 2011 19:32 GMT
#24
On January 26 2011 04:03 Jermstuddog wrote:
+2 weapons makes colossi 1-shot lings until they have +3 carapace.

+1 melee is always critical for ling use as surface area is limited. +x melee upgrades can never be made up with more lings, unlike ranged attack ups being replaced with just more of said ranged unit.

for ZvZ, lings need 7 less hits, not 8. The roach will instantly regen 1 HP after the first hit, this affects the +1 lings, but not the 0 lings and guarantees it will be in that 7 hit threshold.

+2 and +3 ranged are also highly useful in ZvZ, every upgrade always reduces hits by 1. I believe +2 carapace doesn't do anything for the most part though, so the best bang for your buck is something like +3/+1 when talking roach vs roach.



a) is already mentioned

b) does overextend the purpose of the thread

c) I must admit, I need to investigate that
Investigated: the regeneration on Zerglings comes very late, seems like a locked 2 second duration.
Try it out on 1 Zergling vs 1 Zerglings, the Zerglings regenerates once he is on 5 HP.
Roaches due to their massive Hitpoints and Armor do very well benefit from the later regeneration, I will recompute that matchup and update it regarding Roaches. Thanks for the hint.

d) I intentionally let down higher upgrades unless they have huge impact, it aswell overextend the intention, upgrades are never bad obviously
"Mathematicians don't understand mathematics, they get used to it." - Prof. Kredler || "That was more one-sided that a mobius strip." - Tasteless
lurked
Profile Blog Joined March 2010
Canada918 Posts
January 25 2011 19:43 GMT
#25
Really interesting post!

I was looking for an up-to-date thread about that, just last week. It should be really useful for me at least.

Thanks a lot for your work in this one!
Magic is "just" magic until I get my hands on the source code.
Chaosvuistje
Profile Joined April 2010
Netherlands2581 Posts
January 25 2011 19:48 GMT
#26
Might want to add that +2 melee makes banelings onehit probes regardless of armour upgrades. They also 1 hit drones. Very handy for mineral line bombs :D .
SpaceYeti
Profile Joined June 2010
United States723 Posts
January 25 2011 20:04 GMT
#27
This is one of the most valuable posts I have seen on these forums. Great work!
Behavior is a function of its consequences.
philippo
Profile Joined March 2010
Sweden97 Posts
January 25 2011 20:24 GMT
#28
Really nice post kaz! Very useful, thanks a bunch!
http://sv.justin.tv/sc2philippo
CooDu
Profile Blog Joined September 2010
Australia899 Posts
January 25 2011 20:53 GMT
#29
Looks really good, thanks for this. I guess most of it goes without saying and experience, but good resource for newer players nonetheless.
Just a simple guy, going wherever this journey takes me.
Retgery
Profile Joined August 2010
Canada1229 Posts
January 25 2011 21:03 GMT
#30
Why don't Stalkers bonus damage, get a benefit from upgrades?

Nice job, I learned a few things today
Fall down 7 times, stand up 8.
kazansky
Profile Blog Joined February 2010
Germany931 Posts
January 25 2011 21:05 GMT
#31
On January 26 2011 05:53 CooDu wrote:
Looks really good, thanks for this. I guess most of it goes without saying and experience, but good resource for newer players nonetheless.


Well, some are quite subtle or contradictory to what it might feel, and without lack of ressource its hard to keep all up in mind.
"Mathematicians don't understand mathematics, they get used to it." - Prof. Kredler || "That was more one-sided that a mobius strip." - Tasteless
TheHumanSensation
Profile Joined September 2010
Canada1210 Posts
January 25 2011 21:14 GMT
#32
On January 26 2011 04:16 kazansky wrote:
Show nested quote +
On January 26 2011 03:44 Shikyo wrote:
Even though you explain it, you still should take into account the fact that Zerg units heal 1 hp immediately after taking damage, without delay, and that regen will always make a difference in all cases except a group of marines(or something else without a projectile) firing simultaneously.

That being said, I'm pretty sure I've seen a chart or something similiar a while ago, but I'm sure this is useful for the people who haven't.


I was torn long about it but decided not to. Zerg units dont heal instantly, for example, banelings oneshot zerglings with damage 35 to 35 sharp. And i did some testing with hitting zerglings with zerglings, it takes a delay of a few seconds (unless i was drunk that day).

Additionally, I used the search function repeatidly to look out for such information and couldnt find it, so I might have missed it.


Zerg regen is 1hp/3seconds, but the first HP is frontloaded. As long as the unit is at full HP and isn't getting one-shotted, it will recover one HP instantly.

This becomes important for these calculations based on a golden rule of upgrades I use. All units have a total HP value that is divisible by 5, and most have an HP value that is divisible by 10. Following this, any upgrades that either increase your damage to a factor of 5 or 10, or increase it to above a factor of 5 or 10, will reduce the number of hits it takes to kill something.

Example, going from 8 to 9 attack will rarely be useful (unless it's say, lings vs thors). Going from 9 to 10 will be extremely useful, as will be going from 10 to 11.

Armour doesn't really throw this off, because it's easy enough to keep track of your relative attack. Protoss having unequal armour/shield can make this hard, but zerg regen (despite being very important) is pretty easy to keep track of.

Much in the same way that going from 10 to 11 attack is a big deal, going from 80hp to 81hp is also a big deal (hydras, for example) and will result in surviving one additional hit. For this reason, I think you should treat all zerg units as having 1 more hp than they actually have, as long as they aren't getting one-shotted.
Jayrod
Profile Joined August 2010
1820 Posts
January 25 2011 21:27 GMT
#33
On January 26 2011 04:10 kazansky wrote:
Show nested quote +
On January 26 2011 03:34 Synystyr wrote:
This is amazing. Thank you for putting all this time into such a great data table! Very, very useful information here. It'll definitely help strengthen builds based around fast upgrades and upgraded timing pushes. Awesome!

On a personal note, an analysis I would love to see is the Banshee vs Stalker matchup and what critcal upgrade points are important there. Thanks!



Banshee versus Stalker analysis

for Terran: +1 on Banshee makes Stalker killed in 7 instead of 8 shots, Armor on banshee lets it take 2 more shots
for Protoss: on +1 Damage Stalker lets the stalker kill the Banshee in 13 instead of 14 shots, Armor on Stalker doesnt change the amount of hits though.


Well since banshees shoot 2 shots per volley they wouldnt kill stalkers any faster with 7 attacks than they would with 8, so its wise to get +1 armor first if you are using a banshee-based army against a protoss trying to defend with stalkers.
Jermstuddog
Profile Blog Joined June 2010
United States2231 Posts
Last Edited: 2011-01-25 21:30:01
January 25 2011 21:29 GMT
#34
On January 26 2011 04:32 kazansky wrote:
d) I intentionally let down higher upgrades unless they have huge impact, it aswell overextend the intention, upgrades are never bad obviously


+2 armor is actually a big waste of money in ZvZ though, that's what I was pointing out.

3/1 Roaches will be 1 hit up on 2/2 roaches and will have actually spent 25/25 less on those upgrades!

But this is splitting hairs and getting into a MU specific situation. I would say it's something more for people to look into themselves later on when they're at the point in their game where things like this matter.

Your post is concise and well written, I wouldn't want to muck it up with details.
As it turns out, marines don't actually cost any money -Jinro
FunkyLich
Profile Blog Joined August 2010
United States107 Posts
January 25 2011 21:30 GMT
#35
On January 26 2011 03:44 Shikyo wrote:
Even though you explain it, you still should take into account the fact that Zerg units heal 1 hp immediately after taking damage, without delay, and that regen will always make a difference in all cases except a group of marines(or something else without a projectile) firing simultaneously.

That being said, I'm pretty sure I've seen a chart or something similiar a while ago, but I'm sure this is useful for the people who haven't.


Please add in that +1 attack for P makes Immortals always 3-shot Roaches

Show nested quote +
On January 26 2011 03:43 debasers wrote:
How come you mark +1 armor in PvT as blue?

Ever tried to kill Zealot/Sentry type of composition with 0-0 marines and marauders when they have +1 armor?


I can confirm this is correct. It's an important mechanic in the muta v thor upgrade war. When thors are at +2 attack, and mutas are at +1 armor, the mutalisk reduces 1 damage for each missile. There are 4 missiles, so a total of 4 is subtracted from each volley. At +2 attack thors do 16 damage per missile, making 64 damage per volley. With -4 on each volley, one does 60 damage and two volleys do exactly 120 damage. On paper that should be enough to kill it (mutas have 120 hp). But in reality, the muta always survives with 1 hp due to instant regen.

Try it. +1 armor muta vs +2 attack thor. You can even have the thors attack at the same time, the hit point appears after the first missile hits.
sleepingdog
Profile Joined August 2008
Austria6145 Posts
January 25 2011 21:34 GMT
#36
On January 26 2011 04:18 Champ24 wrote:
Wow, I didn't know +1 armor pvt made that big of a difference.

Thanks for doing this.


I figured this out after watching a game from hongun where he went for double forge fast upgrade style...it's insane how great armor-upgrades vs marines are. Now add guardian shield and marines literally do next to no damage.
"You see....YOU SEE..." © 2010 Sen
kazansky
Profile Blog Joined February 2010
Germany931 Posts
Last Edited: 2011-01-25 21:57:45
January 25 2011 21:46 GMT
#37
On January 26 2011 06:14 TheHumanSensation wrote:
Show nested quote +
On January 26 2011 04:16 kazansky wrote:
On January 26 2011 03:44 Shikyo wrote:
Even though you explain it, you still should take into account the fact that Zerg units heal 1 hp immediately after taking damage, without delay, and that regen will always make a difference in all cases except a group of marines(or something else without a projectile) firing simultaneously.

That being said, I'm pretty sure I've seen a chart or something similiar a while ago, but I'm sure this is useful for the people who haven't.


I was torn long about it but decided not to. Zerg units dont heal instantly, for example, banelings oneshot zerglings with damage 35 to 35 sharp. And i did some testing with hitting zerglings with zerglings, it takes a delay of a few seconds (unless i was drunk that day).

Additionally, I used the search function repeatidly to look out for such information and couldnt find it, so I might have missed it.


Zerg regen is 1hp/3seconds, but the first HP is frontloaded. As long as the unit is at full HP and isn't getting one-shotted, it will recover one HP instantly.

This becomes important for these calculations based on a golden rule of upgrades I use. All units have a total HP value that is divisible by 5, and most have an HP value that is divisible by 10. Following this, any upgrades that either increase your damage to a factor of 5 or 10, or increase it to above a factor of 5 or 10, will reduce the number of hits it takes to kill something.

Example, going from 8 to 9 attack will rarely be useful (unless it's say, lings vs thors). Going from 9 to 10 will be extremely useful, as will be going from 10 to 11.

Armour doesn't really throw this off, because it's easy enough to keep track of your relative attack. Protoss having unequal armour/shield can make this hard, but zerg regen (despite being very important) is pretty easy to keep track of.

Much in the same way that going from 10 to 11 attack is a big deal, going from 80hp to 81hp is also a big deal (hydras, for example) and will result in surviving one additional hit. For this reason, I think you should treat all zerg units as having 1 more hp than they actually have, as long as they aren't getting one-shotted.


The instant regeneration is simply not true as far as my tests went, I double checked it and still are not convinced of this, but i will look into further. As far as i figured, their is no frontload regeneration. The Hitpoint regenerates exactly after the mentioned 3 seconds delay.
If one uses additional Hitpoint on Units or not, depends on the unit hitting and the amount of hits. I may review some of those statements though. I guess i will apply the additional Hitpoint on all units but Zerglings and Banelings as they endure those 3 seconds to gain the hitpoint.

But your "relative attack math" may be a nice rule of thumb but thats it, because of wide range of armor distribution. Aswell as 2xX attacks suffer more from armor and you cannot count them individually, plus, once Protoss is involved, the whole math gets screwed because of different Armor on Shields and Hitpoints. You dont get certain and reliable data by it.
Feel free to rewrite the whole chapter and post it in here, i will check and update it if given.
But let me say you, it isn't that easy as you put it.
"Mathematicians don't understand mathematics, they get used to it." - Prof. Kredler || "That was more one-sided that a mobius strip." - Tasteless
kazansky
Profile Blog Joined February 2010
Germany931 Posts
January 25 2011 21:47 GMT
#38
On January 26 2011 06:27 Jayrod wrote:
Show nested quote +
On January 26 2011 04:10 kazansky wrote:
On January 26 2011 03:34 Synystyr wrote:
This is amazing. Thank you for putting all this time into such a great data table! Very, very useful information here. It'll definitely help strengthen builds based around fast upgrades and upgraded timing pushes. Awesome!

On a personal note, an analysis I would love to see is the Banshee vs Stalker matchup and what critcal upgrade points are important there. Thanks!



Banshee versus Stalker analysis

for Terran: +1 on Banshee makes Stalker killed in 7 instead of 8 shots, Armor on banshee lets it take 2 more shots
for Protoss: on +1 Damage Stalker lets the stalker kill the Banshee in 13 instead of 14 shots, Armor on Stalker doesnt change the amount of hits though.


Well since banshees shoot 2 shots per volley they wouldnt kill stalkers any faster with 7 attacks than they would with 8, so its wise to get +1 armor first if you are using a banshee-based army against a protoss trying to defend with stalkers.


I am aware of that, I counted double shots as one shot. It actually applies this way.
"Mathematicians don't understand mathematics, they get used to it." - Prof. Kredler || "That was more one-sided that a mobius strip." - Tasteless
kazansky
Profile Blog Joined February 2010
Germany931 Posts
Last Edited: 2011-01-25 23:43:20
January 25 2011 23:40 GMT
#39
Due to public request, I reviewed the Zerg Math with 1 additional hitpoint regenerated for units other than Zerglings and Banelings.
Made Protoss Damage Upgrade even more viable in PvZ, but apart from some hit numbers changed, no big effects as the differences remained. (thankfully, that would made hell of a work worthless )
Unless I missed something.
Thanks for pointing it out.
"Mathematicians don't understand mathematics, they get used to it." - Prof. Kredler || "That was more one-sided that a mobius strip." - Tasteless
eth3n
Profile Joined August 2010
718 Posts
January 26 2011 02:48 GMT
#40
After that post last night someone should definitely add ZvP regarding zerg air armor versus P air
Idra Potter: I don't use avada kedavra because i have self-respect.
Prev 1 2 3 4 5 6 7 8 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 3h 38m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
WinterStarcraft538
NeuroSwarm 82
ProTech57
StarCraft: Brood War
Shuttle 822
Zeus 231
Hyuk 223
sSak 157
ajuk12(nOOB) 34
Noble 34
ToSsGirL 19
JulyZerg 17
Shine 11
NaDa 11
[ Show more ]
Icarus 8
Hm[arnc] 8
Bale 6
ivOry 3
League of Legends
C9.Mang0364
Counter-Strike
Stewie2K910
Other Games
singsing599
JimRising 492
Mew2King133
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• practicex 28
• intothetv
• AfreecaTV YouTube
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1594
• Lourlo1028
• Stunt667
Other Games
• Scarra942
Upcoming Events
Sparkling Tuna Cup
3h 38m
PiGosaur Monday
17h 38m
LiuLi Cup
1d 4h
Replay Cast
1d 17h
The PondCast
2 days
RSL Revival
2 days
Maru vs SHIN
MaNa vs MaxPax
OSC
2 days
MaNa vs SHIN
SKillous vs ShoWTimE
Bunny vs TBD
Cham vs TBD
RSL Revival
3 days
Reynor vs Astrea
Classic vs sOs
BSL Team Wars
3 days
Team Bonyth vs Team Dewalt
CranKy Ducklings
4 days
[ Show More ]
RSL Revival
4 days
GuMiho vs Cham
ByuN vs TriGGeR
Cosmonarchy
4 days
TriGGeR vs YoungYakov
YoungYakov vs HonMonO
HonMonO vs TriGGeR
[BSL 2025] Weekly
4 days
RSL Revival
5 days
Cure vs Bunny
Creator vs Zoun
BSL Team Wars
5 days
Team Hawk vs Team Sziky
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

CSL Season 18: Qualifier 2
SEL Season 2 Championship
HCC Europe

Ongoing

Copa Latinoamericana 4
BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Qualifiers
ASL Season 20
CSL 2025 AUTUMN (S18)
Maestros of the Game
Sisters' Call Cup
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025

Upcoming

LASL Season 20
2025 Chongqing Offline CUP
BSL Season 21
BSL 21 Team A
Chzzk MurlocKing SC1 vs SC2 Cup #2
RSL Revival: Season 2
EC S1
BLAST Rivals Fall 2025
Skyesports Masters 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
MESA Nomadic Masters Fall
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.