From cc1e5f7f9ae335c40e1e23f493d0cb88bde552ed Mon Sep 17 00:00:00 2001
From: Crementif <milanhekje@gmail.com>
Date: Thu, 1 Nov 2018 20:39:18 +0100
Subject: [PATCH] Fix capitalization, paths and add pro+

---
 Enhancements/!TokyoMirage_AARemoval/rules.txt |    6 +-
 .../!TropicalFreeze_AARemoval/rules.txt       |    4 +-
 Enhancements/!XenobladeX_AARemoval/rules.txt  |    6 +-
 .../93bde02ae446a30f_000000000000001c_ps.txt  |    0
 .../e39a2a718bc419fe_0000000000001e49_ps.txt  |    0
 .../rules.txt                                 |   10 +-
 Enhancements/Bayonetta_Contrasty/rules.txt    |    8 +-
 .../HyruleWarriors_Contrasty/rules.txt        |    6 +-
 Enhancements/MarioKart8_Contrasty/rules.txt   |    8 +-
 Enhancements/NinjaGaiden3_Contrasty/rules.txt |    8 +-
 .../be99d80628d31127_00000000000003c9_ps.txt  |    0
 .../rules.txt                                 |    8 +-
 .../9f6adb9a651f84b9_0000000000000079_ps.txt  |    0
 .../rules.txt                                 |    8 +-
 .../04d0827b9471eb22_0000000000000000_vs.txt  |   77 -
 Enhancements/TokyoMirage_0AAremoval/rules.txt |    6 -
 Enhancements/TokyoMirage_Contrasty/rules.txt  |    8 +-
 Enhancements/TokyoMirage_NegLod/rules.txt     |    2 +-
 .../49865bd2e62efda1_0000000000000079_ps.txt  |    0
 .../5f422bf63e25be7f_0000000000000079_ps.txt  |    0
 .../95a5a89d62998e0d_0000000000000079_ps.txt  |    0
 .../c14019840473ff86_00000000000003c9_ps.txt  |    0
 .../e334517825fdd599_0000000000000079_ps.txt  |    0
 .../rules.txt                                 |    6 +-
 Enhancements/WindWakerHD_Contrasty/rules.txt  |    8 +-
 Enhancements/XenobladeX_Contrasty/rules.txt   |    8 +-
 .../37b9100c1310d3bb_0000000000000000_vs.txt  | 1005 ++++++++++++
 .../4d58e6f0906ff5cf_0000000000000000_vs.txt  |  927 +++++++++++
 .../75faf095372864b1_0000000000000000_vs.txt  | 1430 +++++++++++++++++
 .../b88c6020a8b17332_0000000000000000_vs.txt  |  480 ++++++
 .../f56fcbd319ceba00_0000000000000000_vs.txt  |  715 +++++++++
 .../f7ba548c1fefe24a_0000000000000000_vs.txt  | 1222 ++++++++++++++
 Modifications/BreathOfTheWild_Pro+/rules.txt  |   27 +
 .../patches.txt                               |    0
 .../rules.txt                                 |   17 +-
 Source/BreathOfTheWild/rules.txt              |   58 +-
 .../BreathOfTheWild_NVIDIASmoke/rules.txt     |    2 +-
 Workarounds/WindWakerHD_IntelFixes/rules.txt  |    6 +-
 .../Wonderful101_ShadowRemoval/rules.txt      |    2 +-
 .../rules.txt                                 |    4 +-
 .../rules.txt                                 |    4 +-
 41 files changed, 5931 insertions(+), 155 deletions(-)
 rename Enhancements/{Bayonetta2 _contrasty => Bayonetta2_Contrasty}/93bde02ae446a30f_000000000000001c_ps.txt (100%)
 rename Enhancements/{Bayonetta2 _contrasty => Bayonetta2_Contrasty}/e39a2a718bc419fe_0000000000001e49_ps.txt (100%)
 rename Enhancements/{Bayonetta2 _contrasty => Bayonetta2_Contrasty}/rules.txt (81%)
 rename Enhancements/{SuperMario3dWorld_Contrasty => SuperMario3DWorld_Contrasty}/be99d80628d31127_00000000000003c9_ps.txt (100%)
 rename Enhancements/{SuperMario3dWorld_Contrasty => SuperMario3DWorld_Contrasty}/rules.txt (82%)
 rename Enhancements/{SuperSmashBros_contrasty => SuperSmashBros_Contrasty}/9f6adb9a651f84b9_0000000000000079_ps.txt (100%)
 rename Enhancements/{SuperSmashBros_contrasty => SuperSmashBros_Contrasty}/rules.txt (84%)
 delete mode 100644 Enhancements/TokyoMirage_0AAremoval/04d0827b9471eb22_0000000000000000_vs.txt
 delete mode 100644 Enhancements/TokyoMirage_0AAremoval/rules.txt
 rename Enhancements/{TwilightPrincessHD_contrasty => TwilightPrincessHD_Contrasty}/49865bd2e62efda1_0000000000000079_ps.txt (100%)
 rename Enhancements/{TwilightPrincessHD_contrasty => TwilightPrincessHD_Contrasty}/5f422bf63e25be7f_0000000000000079_ps.txt (100%)
 rename Enhancements/{TwilightPrincessHD_contrasty => TwilightPrincessHD_Contrasty}/95a5a89d62998e0d_0000000000000079_ps.txt (100%)
 rename Enhancements/{TwilightPrincessHD_contrasty => TwilightPrincessHD_Contrasty}/c14019840473ff86_00000000000003c9_ps.txt (100%)
 rename Enhancements/{TwilightPrincessHD_contrasty => TwilightPrincessHD_Contrasty}/e334517825fdd599_0000000000000079_ps.txt (100%)
 rename Enhancements/{TwilightPrincessHD_contrasty => TwilightPrincessHD_Contrasty}/rules.txt (88%)
 create mode 100644 Modifications/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt
 create mode 100644 Modifications/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt
 create mode 100644 Modifications/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt
 create mode 100644 Modifications/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt
 create mode 100644 Modifications/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt
 create mode 100644 Modifications/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt
 create mode 100644 Modifications/BreathOfTheWild_Pro+/rules.txt
 rename Modifications/{TwilightPrincessHD_removeHaze => TwilightPrincessHD_RemoveHaze}/patches.txt (100%)
 rename Modifications/{TwilightPrincessHD_removeHaze => TwilightPrincessHD_RemoveHaze}/rules.txt (63%)

diff --git a/Enhancements/!TokyoMirage_AARemoval/rules.txt b/Enhancements/!TokyoMirage_AARemoval/rules.txt
index 15414831..86d6b4bd 100644
--- a/Enhancements/!TokyoMirage_AARemoval/rules.txt
+++ b/Enhancements/!TokyoMirage_AARemoval/rules.txt
@@ -1,6 +1,6 @@
 [Definition]
 titleIds = 00050000101ED700,00050000101ED800,0005000010131D00
-name = AA removal TMS
-path = "Tokyo Mirage Sessions FE/Graphics/AA removal" 
-description = Removes AA, no performance gain. Used for clean look or injecting external AA
+name = AA Removal
+path = "Tokyo Mirage Sessions FE/Enhancements/AA Removal" 
+description = Removes AA, no performance gain. Used for clean look or injecting external AA.
 version = 3
diff --git a/Enhancements/!TropicalFreeze_AARemoval/rules.txt b/Enhancements/!TropicalFreeze_AARemoval/rules.txt
index 3e052ee5..e41e45d6 100644
--- a/Enhancements/!TropicalFreeze_AARemoval/rules.txt
+++ b/Enhancements/!TropicalFreeze_AARemoval/rules.txt
@@ -1,6 +1,6 @@
 [Definition]
 titleIds = 0005000010137F00,0005000010138300,0005000010144800
-name = Resolution
-path = "Donkey Kong Country: Tropical Freeze/Graphics/AA Removal" 
+name = AA Removal
+path = "Donkey Kong Country: Tropical Freeze/Enhancements/AA Removal" 
 description = Removes AA, no performance gain. Used for clean look or injecting external AA.
 version = 3
diff --git a/Enhancements/!XenobladeX_AARemoval/rules.txt b/Enhancements/!XenobladeX_AARemoval/rules.txt
index 256ed959..2575ac64 100644
--- a/Enhancements/!XenobladeX_AARemoval/rules.txt
+++ b/Enhancements/!XenobladeX_AARemoval/rules.txt
@@ -1,6 +1,6 @@
 [Definition]
 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
-name = AA removal
-path = "Xenoblade Chronicles X/Graphics/AA removal"
-description = Removes AA, no performance gain. Used for clean look or injecting external AA
+name = AA Removal
+path = "Xenoblade Chronicles X/Enhancements/AA Removal"
+description = Removes AA, no performance gain. Used for clean look or injecting external AA.
 version = 3
\ No newline at end of file
diff --git a/Enhancements/Bayonetta2 _contrasty/93bde02ae446a30f_000000000000001c_ps.txt b/Enhancements/Bayonetta2_Contrasty/93bde02ae446a30f_000000000000001c_ps.txt
similarity index 100%
rename from Enhancements/Bayonetta2 _contrasty/93bde02ae446a30f_000000000000001c_ps.txt
rename to Enhancements/Bayonetta2_Contrasty/93bde02ae446a30f_000000000000001c_ps.txt
diff --git a/Enhancements/Bayonetta2 _contrasty/e39a2a718bc419fe_0000000000001e49_ps.txt b/Enhancements/Bayonetta2_Contrasty/e39a2a718bc419fe_0000000000001e49_ps.txt
similarity index 100%
rename from Enhancements/Bayonetta2 _contrasty/e39a2a718bc419fe_0000000000001e49_ps.txt
rename to Enhancements/Bayonetta2_Contrasty/e39a2a718bc419fe_0000000000001e49_ps.txt
diff --git a/Enhancements/Bayonetta2 _contrasty/rules.txt b/Enhancements/Bayonetta2_Contrasty/rules.txt
similarity index 81%
rename from Enhancements/Bayonetta2 _contrasty/rules.txt
rename to Enhancements/Bayonetta2_Contrasty/rules.txt
index e8bc51d3..17f563c8 100644
--- a/Enhancements/Bayonetta2 _contrasty/rules.txt	
+++ b/Enhancements/Bayonetta2_Contrasty/rules.txt
@@ -1,12 +1,12 @@
 [Definition]
 titleIds = 0005000010172600,0005000010172700,000500001011B900
-name = Resolution
-path = "Bayonetta 2/Graphics/Contrasty"
-description = Colours and contrast
+name = Contrasty
+path = "Bayonetta 2/Enhancements/Contrasty"
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -50,7 +50,7 @@ $bleach = 0.85
 $sharp_mix = 0.25
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 0.999
 $greenShadows = 0.98
 $blueSadows = 0.98
diff --git a/Enhancements/Bayonetta_Contrasty/rules.txt b/Enhancements/Bayonetta_Contrasty/rules.txt
index 7c4b527b..a47369f0 100644
--- a/Enhancements/Bayonetta_Contrasty/rules.txt
+++ b/Enhancements/Bayonetta_Contrasty/rules.txt
@@ -1,12 +1,12 @@
 [Definition]
 titleIds = 000500001014DB00,0005000010157E00,0005000010157F00
 name = Contrasty
-path = "Bayonetta/Graphics/Contrasty "
-description = Colour and contrast
+path = "Bayonetta/Enhancements/Contrasty"
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -72,7 +72,7 @@ $bleach = 0.85
 $sharp_mix = 0.45
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 0.999
 $greenShadows = 0.98
 $blueSadows = 0.98
diff --git a/Enhancements/HyruleWarriors_Contrasty/rules.txt b/Enhancements/HyruleWarriors_Contrasty/rules.txt
index 5ffa4e66..96960b53 100644
--- a/Enhancements/HyruleWarriors_Contrasty/rules.txt
+++ b/Enhancements/HyruleWarriors_Contrasty/rules.txt
@@ -2,11 +2,11 @@
 titleIds = 000500001017D800,000500001017D900,000500001017CD00
 name = Contrasty
 path = "Hyrule Warriors/Enhancements/Contrasty"
-description = Colour and contrast.
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -50,7 +50,7 @@ $bleach = 0.85
 $sharp_mix = 0.35
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 0.999
 $greenShadows = 0.99
 $blueSadows = 0.99
diff --git a/Enhancements/MarioKart8_Contrasty/rules.txt b/Enhancements/MarioKart8_Contrasty/rules.txt
index 49c32612..8c8bed74 100644
--- a/Enhancements/MarioKart8_Contrasty/rules.txt
+++ b/Enhancements/MarioKart8_Contrasty/rules.txt
@@ -1,12 +1,12 @@
 [Definition]
 titleIds = 000500001010ec00,000500001010ed00,000500001010eb00
 name = Contrasty
-path = "Mario Kart 8/Contrasty" 
-description = Colour and contrast
+path = "Mario Kart 8/Enhancements/Contrasty" 
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -51,7 +51,7 @@ $bleach = 0.85
 $sharp_mix = 0.25
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 1.01
 $greenShadows = 1.0
 $blueSadows = 1.01
diff --git a/Enhancements/NinjaGaiden3_Contrasty/rules.txt b/Enhancements/NinjaGaiden3_Contrasty/rules.txt
index 94f09240..23ab30de 100644
--- a/Enhancements/NinjaGaiden3_Contrasty/rules.txt
+++ b/Enhancements/NinjaGaiden3_Contrasty/rules.txt
@@ -1,12 +1,12 @@
 [Definition]
 titleIds = 0005000010110900,0005000010110A00,0005000010110B00
 name = Contrasty
-path = "Ninja Gaiden 3: Razors Edge/Graphics/Contrasty" 
-description = Colour and contrast
+path = "Ninja Gaiden 3: Razors Edge/Enhancements/Contrasty" 
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -50,7 +50,7 @@ $bleach = 0.85
 $sharp_mix = 0.25
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 0.999
 $greenShadows = 0.98
 $blueSadows = 0.98
diff --git a/Enhancements/SuperMario3dWorld_Contrasty/be99d80628d31127_00000000000003c9_ps.txt b/Enhancements/SuperMario3DWorld_Contrasty/be99d80628d31127_00000000000003c9_ps.txt
similarity index 100%
rename from Enhancements/SuperMario3dWorld_Contrasty/be99d80628d31127_00000000000003c9_ps.txt
rename to Enhancements/SuperMario3DWorld_Contrasty/be99d80628d31127_00000000000003c9_ps.txt
diff --git a/Enhancements/SuperMario3dWorld_Contrasty/rules.txt b/Enhancements/SuperMario3DWorld_Contrasty/rules.txt
similarity index 82%
rename from Enhancements/SuperMario3dWorld_Contrasty/rules.txt
rename to Enhancements/SuperMario3DWorld_Contrasty/rules.txt
index 986c2b46..621d8e2e 100644
--- a/Enhancements/SuperMario3dWorld_Contrasty/rules.txt
+++ b/Enhancements/SuperMario3DWorld_Contrasty/rules.txt
@@ -1,12 +1,12 @@
 [Definition]
 titleIds = 0005000010145D00,0005000010145C00,0005000010106100
 name = Contrasty
-path = "Super Mario 3D World/Graphics/Contrasty" 
-description = Colour and contrast - Note doesn't work with resolution in 1.4
+path = "Super Mario 3D World/Enhancements/Contrasty" 
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. Doesn't work if you also upscale or downscale the resolution.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -72,7 +72,7 @@ $bleach = 0.85
 $sharp_mix = 0.45
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 0.999
 $greenShadows = 0.98
 $blueSadows = 0.98
diff --git a/Enhancements/SuperSmashBros_contrasty/9f6adb9a651f84b9_0000000000000079_ps.txt b/Enhancements/SuperSmashBros_Contrasty/9f6adb9a651f84b9_0000000000000079_ps.txt
similarity index 100%
rename from Enhancements/SuperSmashBros_contrasty/9f6adb9a651f84b9_0000000000000079_ps.txt
rename to Enhancements/SuperSmashBros_Contrasty/9f6adb9a651f84b9_0000000000000079_ps.txt
diff --git a/Enhancements/SuperSmashBros_contrasty/rules.txt b/Enhancements/SuperSmashBros_Contrasty/rules.txt
similarity index 84%
rename from Enhancements/SuperSmashBros_contrasty/rules.txt
rename to Enhancements/SuperSmashBros_Contrasty/rules.txt
index d59a3b06..96513ba4 100644
--- a/Enhancements/SuperSmashBros_contrasty/rules.txt
+++ b/Enhancements/SuperSmashBros_Contrasty/rules.txt
@@ -1,12 +1,12 @@
 [Definition]
 titleIds = 0005000010110E00,0005000010145000,0005000010144F00
 name = Contrasty
-path = "Super Smash Bros. for Wii U/Graphics/Contrasty"
-description = Colours and contrast
+path = "Super Smash Bros. for Wii U/Enhancements/Contrasty"
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -72,7 +72,7 @@ $bleach = 0.85
 $sharp_mix = 0.35
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 0.999
 $greenShadows = 0.98
 $blueSadows = 0.98
diff --git a/Enhancements/TokyoMirage_0AAremoval/04d0827b9471eb22_0000000000000000_vs.txt b/Enhancements/TokyoMirage_0AAremoval/04d0827b9471eb22_0000000000000000_vs.txt
deleted file mode 100644
index 9dc0ea58..00000000
--- a/Enhancements/TokyoMirage_0AAremoval/04d0827b9471eb22_0000000000000000_vs.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-#version 420
-#extension GL_ARB_texture_gather : enable
-#extension GL_ARB_separate_shader_objects : enable
-#extension GL_ARB_shading_language_packing : enable
-// shader 04d0827b9471eb22
-
-uniform ivec4 uf_remappedVS[1];
-uniform vec2 uf_windowSpaceToClipSpaceTransform;
-layout(location = 0) in uvec4 attrDataSem0;
-layout(location = 1) in uvec4 attrDataSem8;
-out gl_PerVertex
-{
-	vec4 gl_Position;
-	float gl_PointSize;
-};
-layout(location = 1) out vec4 passParameterSem137;
-layout(location = 0) out vec4 passParameterSem136;
-int clampFI32(int v)
-{
-if( v == 0x7FFFFFFF )
-	return floatBitsToInt(1.0);
-else if( v == 0xFFFFFFFF )
-	return floatBitsToInt(0.0);
-return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
-}
-float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));}
-void main()
-{
-vec4 R0f = vec4(0.0);
-vec4 R1f = vec4(0.0);
-vec4 R2f = vec4(0.0);
-vec4 R3f = vec4(0.0);
-vec4 R127f = vec4(0.0);
-uvec4 attrDecoder;
-float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
-vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
-float PS0f = 0.0, PS1f = 0.0;
-vec4 tempf = vec4(0.0);
-float tempResultf;
-int tempResulti;
-ivec4 ARi = ivec4(0);
-bool predResult = true;
-vec3 cubeMapSTM;
-int cubeMapFaceId;
-R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
-attrDecoder = attrDataSem0;
-attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24));
-R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w)));
-attrDecoder.xy = attrDataSem8.xy;
-attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
-attrDecoder.z = 0;
-attrDecoder.w = 0;
-R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0)));
-// 0
-R3f.x = R2f.x;
-R3f.y = R2f.y;
-PV0f.z = intBitsToFloat(uf_remappedVS[0].z) + 0.0;
-// 1
-R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), PV0f.z);
-PV1f.z = R127f.z;
-PV1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), PV0f.z);
-// 2
-PV0f.x = R2f.y + PV1f.z;
-PV0f.y = R2f.x + PV1f.w;
-R0f.x = R2f.x + -(PV1f.w);
-PS0f = R0f.x;
-// 3
-R0f.y = R2f.y + -(R127f.z);
-R0f.z = PV0f.y;
-R0f.w = PV0f.x;
-// export
-gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
-// export
-passParameterSem137 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
-// export
-passParameterSem136 = vec4(R3f.x, R3f.y, R3f.z, R3f.z);
-}
diff --git a/Enhancements/TokyoMirage_0AAremoval/rules.txt b/Enhancements/TokyoMirage_0AAremoval/rules.txt
deleted file mode 100644
index 17764918..00000000
--- a/Enhancements/TokyoMirage_0AAremoval/rules.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-[Definition]
-titleIds = 00050000101ED700,00050000101ED800,0005000010131D00
-name = AA removal TMS
-path = "Tokyo Mirage Sessions FE/AA removal" 
-description = Removes AA, no performance gain. Used for clean look or injecting external AA
-version = 3
diff --git a/Enhancements/TokyoMirage_Contrasty/rules.txt b/Enhancements/TokyoMirage_Contrasty/rules.txt
index ad0e107d..165e19e6 100644
--- a/Enhancements/TokyoMirage_Contrasty/rules.txt
+++ b/Enhancements/TokyoMirage_Contrasty/rules.txt
@@ -1,12 +1,12 @@
 [Definition]
 titleIds = 00050000101ED700,00050000101ED800,0005000010131D00
 name = Contrasty
-path = "Tokyo Mirage Sessions FE/Contrasty" 
-description = Colour and Contrasty
+path = "Tokyo Mirage Sessions FE/Enhancements/Contrasty" 
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -50,7 +50,7 @@ $bleach = 0.85
 $sharp_mix = 0.4
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 0.999
 $greenShadows = 0.98
 $blueSadows = 0.98
diff --git a/Enhancements/TokyoMirage_NegLod/rules.txt b/Enhancements/TokyoMirage_NegLod/rules.txt
index bd171d98..8872d931 100644
--- a/Enhancements/TokyoMirage_NegLod/rules.txt
+++ b/Enhancements/TokyoMirage_NegLod/rules.txt
@@ -1,7 +1,7 @@
 [Definition]
 titleIds = 00050000101ED700,00050000101ED800,0005000010131D00
 name = Negative texture LOD bias
-path = "Tokyo Mirage Sessions FE/Graphics/Negative Texture LOD" 
+path = "Tokyo Mirage Sessions FE/Enhancements/Negative Texture LOD" 
 description = Texture LOD override, possible shimmer but sharper textures
 version = 3
 
diff --git a/Enhancements/TwilightPrincessHD_contrasty/49865bd2e62efda1_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/49865bd2e62efda1_0000000000000079_ps.txt
similarity index 100%
rename from Enhancements/TwilightPrincessHD_contrasty/49865bd2e62efda1_0000000000000079_ps.txt
rename to Enhancements/TwilightPrincessHD_Contrasty/49865bd2e62efda1_0000000000000079_ps.txt
diff --git a/Enhancements/TwilightPrincessHD_contrasty/5f422bf63e25be7f_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/5f422bf63e25be7f_0000000000000079_ps.txt
similarity index 100%
rename from Enhancements/TwilightPrincessHD_contrasty/5f422bf63e25be7f_0000000000000079_ps.txt
rename to Enhancements/TwilightPrincessHD_Contrasty/5f422bf63e25be7f_0000000000000079_ps.txt
diff --git a/Enhancements/TwilightPrincessHD_contrasty/95a5a89d62998e0d_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/95a5a89d62998e0d_0000000000000079_ps.txt
similarity index 100%
rename from Enhancements/TwilightPrincessHD_contrasty/95a5a89d62998e0d_0000000000000079_ps.txt
rename to Enhancements/TwilightPrincessHD_Contrasty/95a5a89d62998e0d_0000000000000079_ps.txt
diff --git a/Enhancements/TwilightPrincessHD_contrasty/c14019840473ff86_00000000000003c9_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt
similarity index 100%
rename from Enhancements/TwilightPrincessHD_contrasty/c14019840473ff86_00000000000003c9_ps.txt
rename to Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt
diff --git a/Enhancements/TwilightPrincessHD_contrasty/e334517825fdd599_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/e334517825fdd599_0000000000000079_ps.txt
similarity index 100%
rename from Enhancements/TwilightPrincessHD_contrasty/e334517825fdd599_0000000000000079_ps.txt
rename to Enhancements/TwilightPrincessHD_Contrasty/e334517825fdd599_0000000000000079_ps.txt
diff --git a/Enhancements/TwilightPrincessHD_contrasty/rules.txt b/Enhancements/TwilightPrincessHD_Contrasty/rules.txt
similarity index 88%
rename from Enhancements/TwilightPrincessHD_contrasty/rules.txt
rename to Enhancements/TwilightPrincessHD_Contrasty/rules.txt
index cccc7f99..f2476464 100644
--- a/Enhancements/TwilightPrincessHD_contrasty/rules.txt
+++ b/Enhancements/TwilightPrincessHD_Contrasty/rules.txt
@@ -1,8 +1,8 @@
 [Definition]
 titleIds = 000500001019C800,000500001019E600,000500001019E500
-name = Resolution
-path = "The Legend of Zelda: Twilight Princess HD/Graphics/Contrasty"
-description = Changes the colour and contrast.
+name = Contrasty
+path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Contrasty"
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.
 version = 3
 
 [Preset]
diff --git a/Enhancements/WindWakerHD_Contrasty/rules.txt b/Enhancements/WindWakerHD_Contrasty/rules.txt
index 520188b8..4a4bd575 100644
--- a/Enhancements/WindWakerHD_Contrasty/rules.txt
+++ b/Enhancements/WindWakerHD_Contrasty/rules.txt
@@ -1,12 +1,12 @@
 [Definition]
 titleIds = 0005000010143400,0005000010143600,0005000010143500
 name = Contrasty
-path = "The Legend of Zelda: The Wind Waker HD/Contrasty" 
-description = Colour and contrast - Replaces AA fix
+path = "The Legend of Zelda: The Wind Waker HD/Enhancements/Contrasty" 
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. Enabling will ignore your other AA settings.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -72,7 +72,7 @@ $bleach = 0.85
 $sharp_mix = 0.1
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
diff --git a/Enhancements/XenobladeX_Contrasty/rules.txt b/Enhancements/XenobladeX_Contrasty/rules.txt
index d875a32d..689946f5 100644
--- a/Enhancements/XenobladeX_Contrasty/rules.txt
+++ b/Enhancements/XenobladeX_Contrasty/rules.txt
@@ -1,13 +1,13 @@
 [Definition]
 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
 name = Contrasty
-path = "Xenoblade Chronicles X/Contrasty" 
-description = Colour and contrast - Replaces AA removal
+path = "Xenoblade Chronicles X/Enhancements/Contrasty" 
+description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. Enabling will ignore your other AA settings.
 version = 3
 
 
 [Preset]
-name = default
+name = Default
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
@@ -51,7 +51,7 @@ $bleach = 0.85
 $sharp_mix = 0.1
 
 [Preset]
-name = Colourfull
+name = Colourful
 $redShadows = 1.0
 $greenShadows = 1.0
 $blueSadows = 1.0
diff --git a/Modifications/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt b/Modifications/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt
new file mode 100644
index 00000000..0542386a
--- /dev/null
+++ b/Modifications/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt
@@ -0,0 +1,1005 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader 37b9100c1310d3bb
+// PRO+ hud v2
+uniform ivec4 uf_uniformRegisterVS[256];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+out gl_PerVertex
+{
+	vec4 gl_Position;
+	float gl_PointSize;
+};
+layout(location = 0) out vec4 passParameterSem0;
+layout(location = 1) out vec4 passParameterSem1;
+int clampFI32(int v)
+{
+if( v == 0x7FFFFFFF )
+	return floatBitsToInt(1.0);
+else if( v == 0xFFFFFFFF )
+	return floatBitsToInt(0.0);
+return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
+}
+float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
+bool isCurrentSizeEqualTo(vec2 param) {
+	float result = distance(param, intBitsToFloat(uf_uniformRegisterVS[15]).xy);
+	return (result <= 0.01);
+}
+void main()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R3i = ivec4(0);
+ivec4 R4i = ivec4(0);
+ivec4 R5i = ivec4(0);
+ivec4 R6i = ivec4(0);
+ivec4 R7i = ivec4(0);
+ivec4 R122i = ivec4(0);
+ivec4 R123i = ivec4(0);
+ivec4 R124i = ivec4(0);
+ivec4 R125i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+bool activeMaskStack[14];
+bool activeMaskStackC[15];
+activeMaskStack[0] = false;
+activeMaskStack[1] = false;
+activeMaskStack[2] = false;
+activeMaskStack[3] = false;
+activeMaskStack[4] = false;
+activeMaskStack[5] = false;
+activeMaskStack[6] = false;
+activeMaskStack[7] = false;
+activeMaskStack[8] = false;
+activeMaskStack[9] = false;
+activeMaskStack[10] = false;
+activeMaskStack[11] = false;
+activeMaskStack[12] = false;
+activeMaskStackC[0] = false;
+activeMaskStackC[1] = false;
+activeMaskStackC[2] = false;
+activeMaskStackC[3] = false;
+activeMaskStackC[4] = false;
+activeMaskStackC[5] = false;
+activeMaskStackC[6] = false;
+activeMaskStackC[7] = false;
+activeMaskStackC[8] = false;
+activeMaskStackC[9] = false;
+activeMaskStackC[10] = false;
+activeMaskStackC[11] = false;
+activeMaskStackC[12] = false;
+activeMaskStackC[13] = false;
+activeMaskStack[0] = true;
+activeMaskStackC[0] = true;
+activeMaskStackC[1] = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xy = attrDataSem0.xy;
+attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
+attrDecoder.z = 0;
+attrDecoder.w = 0;
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[15].x)));
+R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)));
+PV0i.y = R0i.y;
+R4i.z = 0;
+R0i.w = 0x3f800000;
+R127i.w = floatBitsToInt(1.0);
+PS0i = R127i.w;
+// 1
+R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[15].z));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[15].y)));
+// 2
+R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[15].w));
+PV0i.y = R0i.y;
+R1i.w = uf_uniformRegisterVS[2].x & 0x40000000;
+// 3
+backupReg0i = R0i.w;
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_uniformRegisterVS[4].x),intBitsToFloat(uf_uniformRegisterVS[4].y),intBitsToFloat(uf_uniformRegisterVS[4].z),intBitsToFloat(uf_uniformRegisterVS[4].w))));
+PV1i.x = R127i.x;
+PV1i.y = R127i.x;
+PV1i.z = R127i.x;
+PV1i.w = R127i.x;
+// 4
+backupReg0i = R0i.x;
+backupReg1i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[5].x),intBitsToFloat(uf_uniformRegisterVS[5].y),intBitsToFloat(uf_uniformRegisterVS[5].z),intBitsToFloat(uf_uniformRegisterVS[5].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R127i.y = tempi.x;
+// 5
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[6].x),intBitsToFloat(uf_uniformRegisterVS[6].y),intBitsToFloat(uf_uniformRegisterVS[6].z),intBitsToFloat(uf_uniformRegisterVS[6].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R127i.z = tempi.x;
+// 6
+R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w))));
+PV0i.x = R6i.x;
+PV0i.y = R6i.x;
+PV0i.z = R6i.x;
+PV0i.w = R6i.x;
+// 7
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R6i.y = tempi.x;
+// 8
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R6i.z = tempi.x;
+// 9
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R6i.w = tempi.x;
+// 10
+predResult = (0 != R1i.w);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.z = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.y = backupReg0i;
+PV0i.y = R1i.y;
+R0i.z = 0;
+PV0i.z = R0i.z;
+R1i.w = 0x3f800000;
+PV0i.w = R1i.w;
+// 1
+R2i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
+R2i.w = PV0i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.x = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R126i.z = PV1i.x + PS1i;
+PV0i.z = R126i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R127i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].y):(uf_uniformRegisterVS[22].y));
+R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].x):(uf_uniformRegisterVS[22].x));
+// 5
+R123i.x = ((R127i.x == 0)?(uf_uniformRegisterVS[23].w):(uf_uniformRegisterVS[22].w));
+PV1i.x = R123i.x;
+R123i.y = ((R127i.x == 0)?(uf_uniformRegisterVS[23].z):(uf_uniformRegisterVS[22].z));
+PV1i.y = R123i.y;
+// 6
+R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_uniformRegisterVS[21].w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_uniformRegisterVS[21].z));
+PV0i.y = R123i.y;
+R123i.z = ((R127i.y == 0)?(R127i.z):(uf_uniformRegisterVS[21].y));
+PV0i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R127i.w):(uf_uniformRegisterVS[21].x));
+PV0i.w = R123i.w;
+// 7
+R2i.x = ((R126i.z == 0)?(uf_uniformRegisterVS[20].x):(PV0i.w));
+R2i.y = ((R126i.z == 0)?(uf_uniformRegisterVS[20].y):(PV0i.z));
+R2i.z = ((R126i.z == 0)?(uf_uniformRegisterVS[20].z):(PV0i.y));
+R2i.w = ((R126i.z == 0)?(uf_uniformRegisterVS[20].w):(PV0i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+// 0
+R3i.xyz = ivec3(0x437f0000,0x437f0000,0x437f0000);
+R3i.w = 0x437f0000;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+PV0i.x = uf_uniformRegisterVS[2].x >> 0x00000008;
+R2i.y = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+R1i.z = PV0i.x & 0x0000000f;
+// 2
+predResult = (0 != R2i.y);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R4i.y = R1i.y;
+R2i.z = 0;
+R1i.w = 0x3f800000;
+PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
+// 1
+R2i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
+PV1i.x = R2i.x;
+R2i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
+PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
+// 2
+R3i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i));
+PV0i.x = R3i.x;
+R3i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i));
+R4i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R4i.x;
+// 3
+R5i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(PS0i));
+R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
+PV1i.z = R0i.z;
+R7i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0);
+PS1i = R7i.x;
+// 4
+R3i.z = floatBitsToInt(-(intBitsToFloat(R3i.y)) + 1.0);
+R2i.w = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.z));
+// 5
+predResult = (R1i.z == 0);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)));
+R2i.y = R3i.x;
+PV0i.y = R2i.y;
+// 1
+R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[3] = activeMaskStack[3] == false;
+activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
+if( activeMaskStackC[4] == true ) {
+activeMaskStack[4] = activeMaskStack[3];
+activeMaskStackC[5] = activeMaskStackC[4];
+// 0
+predResult = (R1i.z == int(1));
+activeMaskStack[4] = predResult;
+activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true;
+}
+else {
+activeMaskStack[4] = false;
+activeMaskStackC[5] = false;
+}
+if( activeMaskStackC[5] == true ) {
+// 0
+backupReg0i = R2i.y;
+R2i.y = 0;
+PV0i.y = R2i.y;
+PV0i.z = R3i.x;
+PV0i.w = backupReg0i;
+// 1
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[4] = activeMaskStack[4] == false;
+activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
+if( activeMaskStackC[5] == true ) {
+activeMaskStack[5] = activeMaskStack[4];
+activeMaskStackC[6] = activeMaskStackC[5];
+// 0
+predResult = (R1i.z == 0x00000002);
+activeMaskStack[5] = predResult;
+activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true;
+}
+else {
+activeMaskStack[5] = false;
+activeMaskStackC[6] = false;
+}
+if( activeMaskStackC[6] == true ) {
+// 0
+backupReg0i = R3i.y;
+R3i.y = backupReg0i;
+PV0i.y = R3i.y;
+PV0i.z = R3i.z;
+PV0i.w = 0;
+// 1
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[5] = activeMaskStack[5] == false;
+activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true;
+if( activeMaskStackC[6] == true ) {
+activeMaskStack[6] = activeMaskStack[5];
+activeMaskStackC[7] = activeMaskStackC[6];
+// 0
+predResult = (R1i.z == 0x00000003);
+activeMaskStack[6] = predResult;
+activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true;
+}
+else {
+activeMaskStack[6] = false;
+activeMaskStackC[7] = false;
+}
+if( activeMaskStackC[7] == true ) {
+// 0
+backupReg0i = R2i.y;
+R2i.y = R3i.z;
+PV0i.y = R2i.y;
+PV0i.z = R3i.y;
+PV0i.w = backupReg0i;
+// 1
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[6] = activeMaskStack[6] == false;
+activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
+if( activeMaskStackC[7] == true ) {
+activeMaskStack[7] = activeMaskStack[6];
+activeMaskStackC[8] = activeMaskStackC[7];
+// 0
+predResult = (R1i.z == 0x00000004);
+activeMaskStack[7] = predResult;
+activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true;
+}
+else {
+activeMaskStack[7] = false;
+activeMaskStackC[8] = false;
+}
+if( activeMaskStackC[8] == true ) {
+// 0
+R2i.y = R2i.w;
+PV0i.y = R2i.y;
+PV0i.z = R3i.x;
+PV0i.w = 0;
+// 1
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[7] = activeMaskStack[7] == false;
+activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true;
+if( activeMaskStackC[8] == true ) {
+activeMaskStack[8] = activeMaskStack[7];
+activeMaskStackC[9] = activeMaskStackC[8];
+// 0
+predResult = (R1i.z == 0x00000005);
+activeMaskStack[8] = predResult;
+activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true;
+}
+else {
+activeMaskStack[8] = false;
+activeMaskStackC[9] = false;
+}
+if( activeMaskStackC[9] == true ) {
+// 0
+backupReg0i = R2i.y;
+R2i.y = R3i.x;
+PV0i.y = R2i.y;
+PV0i.z = R2i.w;
+PV0i.w = backupReg0i;
+// 1
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[8] = activeMaskStack[8] == false;
+activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
+if( activeMaskStackC[9] == true ) {
+activeMaskStack[9] = activeMaskStack[8];
+activeMaskStackC[10] = activeMaskStackC[9];
+// 0
+predResult = (R1i.z == 0x00000006);
+activeMaskStack[9] = predResult;
+activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true;
+}
+else {
+activeMaskStack[9] = false;
+activeMaskStackC[10] = false;
+}
+if( activeMaskStackC[10] == true ) {
+// 0
+R2i.y = R3i.x;
+PV0i.y = R2i.y;
+R3i.y = 0;
+PS0i = R3i.y;
+// 1
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
+}
+activeMaskStack[9] = activeMaskStack[9] == false;
+activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true;
+if( activeMaskStackC[10] == true ) {
+activeMaskStack[10] = activeMaskStack[9];
+activeMaskStackC[11] = activeMaskStackC[10];
+// 0
+predResult = (R1i.z == 0x00000007);
+activeMaskStack[10] = predResult;
+activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true;
+}
+else {
+activeMaskStack[10] = false;
+activeMaskStackC[11] = false;
+}
+if( activeMaskStackC[11] == true ) {
+// 0
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)));
+R2i.y = R3i.y;
+PV0i.y = R2i.y;
+R3i.y = R3i.z;
+PS0i = R3i.y;
+// 1
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
+}
+activeMaskStack[10] = activeMaskStack[10] == false;
+activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
+if( activeMaskStackC[11] == true ) {
+activeMaskStack[11] = activeMaskStack[10];
+activeMaskStackC[12] = activeMaskStackC[11];
+// 0
+predResult = (R1i.z == 0x00000008);
+activeMaskStack[11] = predResult;
+activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true;
+}
+else {
+activeMaskStack[11] = false;
+activeMaskStackC[12] = false;
+}
+if( activeMaskStackC[12] == true ) {
+// 0
+R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x)));
+R2i.y = R3i.x;
+PV0i.y = R2i.y;
+// 1
+R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[11] = activeMaskStack[11] == false;
+activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true;
+if( activeMaskStackC[12] == true ) {
+activeMaskStack[12] = activeMaskStack[11];
+activeMaskStackC[13] = activeMaskStackC[12];
+// 0
+predResult = (R1i.z == 0x00000009);
+activeMaskStack[12] = predResult;
+activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true;
+}
+else {
+activeMaskStack[12] = false;
+activeMaskStackC[13] = false;
+}
+if( activeMaskStackC[13] == true ) {
+// 0
+backupReg0i = R2i.y;
+R2i.y = 0;
+PV0i.y = R2i.y;
+PV0i.z = R3i.z;
+PV0i.w = backupReg0i;
+// 1
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[12] = activeMaskStack[12] == false;
+activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
+if( activeMaskStackC[13] == true ) {
+activeMaskStack[13] = activeMaskStack[12];
+activeMaskStackC[14] = activeMaskStackC[13];
+// 0
+predResult = (R1i.z == 0x0000000a);
+activeMaskStack[13] = predResult;
+activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true;
+}
+else {
+activeMaskStack[13] = false;
+activeMaskStackC[14] = false;
+}
+if( activeMaskStackC[14] == true ) {
+// 0
+R2i.y = R0i.z;
+PV0i.y = R2i.y;
+PV0i.z = R3i.x;
+PV0i.w = 0;
+// 1
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[13] = activeMaskStack[13] == false;
+activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true;
+if( activeMaskStackC[14] == true ) {
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x)));
+R2i.y = R2i.w;
+PV0i.y = R2i.y;
+R127i.z = (R1i.z == 0x0000000c)?int(0xFFFFFFFF):int(0x0);
+PV0i.z = R127i.z;
+R127i.w = (R1i.z == 0x0000000b)?int(0xFFFFFFFF):int(0x0);
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+R2i.y = R3i.z;
+PV1i.y = R2i.y;
+R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R2i.x)));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.z == 0)?(0):(PV0i.x));
+PV1i.w = R123i.w;
+// 2
+R2i.x = ((R127i.w == 0)?(PV1i.w):(PV1i.z));
+R123i.z = ((R127i.z == 0)?(0):(PV1i.x));
+PV0i.z = R123i.z;
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.y)));
+PV0i.w = R123i.w;
+// 3
+R2i.y = ((R127i.w == 0)?(PV0i.z):(PV0i.w));
+}
+activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
+activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
+activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
+activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
+activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0);
+PV0i.x = R127i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0);
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x)));
+// 2
+R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x)));
+R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+// 3
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x)));
+R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
+PS1i = R127i.w;
+// 4
+backupReg0i = R127i.z;
+R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x)));
+R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i)));
+PS0i = R126i.z;
+// 5
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
+R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
+PS1i = R3i.x;
+// 6
+R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
+R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
+R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
+// 7
+backupReg0i = R2i.z;
+R2i.xyz = ivec3(R1i.x,R4i.y,backupReg0i);
+R2i.w = R1i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.z = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R0i.z = PV1i.z + PS1i;
+PV0i.z = R0i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R127i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].y):(uf_uniformRegisterVS[22].y));
+R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].x):(uf_uniformRegisterVS[22].x));
+// 5
+R123i.x = ((R127i.x == 0)?(uf_uniformRegisterVS[23].w):(uf_uniformRegisterVS[22].w));
+PV1i.x = R123i.x;
+R123i.y = ((R127i.x == 0)?(uf_uniformRegisterVS[23].z):(uf_uniformRegisterVS[22].z));
+PV1i.y = R123i.y;
+// 6
+R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_uniformRegisterVS[21].w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_uniformRegisterVS[21].z));
+PV0i.y = R123i.y;
+R123i.z = ((R127i.y == 0)?(R127i.z):(uf_uniformRegisterVS[21].y));
+PV0i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R127i.w):(uf_uniformRegisterVS[21].x));
+PV0i.w = R123i.w;
+// 7
+R2i.x = ((R0i.z == 0)?(uf_uniformRegisterVS[20].x):(PV0i.w));
+R2i.y = ((R0i.z == 0)?(uf_uniformRegisterVS[20].y):(PV0i.z));
+R2i.z = ((R0i.z == 0)?(uf_uniformRegisterVS[20].z):(PV0i.y));
+R2i.w = ((R0i.z == 0)?(uf_uniformRegisterVS[20].w):(PV0i.x));
+// 8
+predResult = (R1i.z == 0x0000000d);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
+// 1
+PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i));
+PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i));
+PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
+// 2
+R127i.x = PV1i.z;
+R127i.y = PV1i.w;
+PV0i.y = R127i.y;
+R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
+PV0i.z = R127i.z;
+R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
+// 3
+PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
+PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
+// 4
+PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w));
+// 5
+backupReg0i = R127i.z;
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y)));
+PV1i.z = R127i.z;
+R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i)));
+PV1i.w = R126i.w;
+// 6
+R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+PV0i.x = R127i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 7
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x)));
+// 8
+R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x)));
+R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y)));
+R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+// 9
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x)));
+R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
+PS1i = R127i.w;
+// 10
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+backupReg1i = R126i.z;
+R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x)));
+R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i)));
+PS0i = R126i.z;
+// 11
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
+R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
+PS1i = R3i.x;
+// 12
+R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
+R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
+R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
+}
+activeMaskStack[3] = activeMaskStack[3] == false;
+activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = floatBitsToInt(float(R0i.z));
+PS0i = R127i.x;
+// 1
+tempResultf = intBitsToFloat(PS0i);
+tempResultf = floor(tempResultf);
+tempResultf = clamp(tempResultf, -256.0, 255.0);
+ARi.x = int(tempResultf);
+PV1i.x = floatBitsToInt(tempResultf);
+// 2
+R3i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+16].x,uf_uniformRegisterVS[ARi.x+16].y,uf_uniformRegisterVS[ARi.x+16].z);
+R3i.w = uf_uniformRegisterVS[ARi.x+16].w;
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+predResult = (0 != uf_uniformRegisterVS[3].x);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.w;
+R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[20].x),intBitsToFloat(uf_uniformRegisterVS[20].y),intBitsToFloat(uf_uniformRegisterVS[20].z),intBitsToFloat(uf_uniformRegisterVS[20].w))));
+PV0i.x = R2i.x;
+PV0i.y = R2i.x;
+PV0i.z = R2i.x;
+PV0i.w = R2i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[21].x),intBitsToFloat(uf_uniformRegisterVS[21].y),intBitsToFloat(uf_uniformRegisterVS[21].z),intBitsToFloat(uf_uniformRegisterVS[21].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R2i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[22].x),intBitsToFloat(uf_uniformRegisterVS[22].y),intBitsToFloat(uf_uniformRegisterVS[22].z),intBitsToFloat(uf_uniformRegisterVS[22].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R2i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[23].x),intBitsToFloat(uf_uniformRegisterVS[23].y),intBitsToFloat(uf_uniformRegisterVS[23].z),intBitsToFloat(uf_uniformRegisterVS[23].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R2i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.z = uf_uniformRegisterVS[2].x & int(1);
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.y = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R0i.y);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_uniformRegisterVS[2].x & 0x00010000;
+R127i.y = uf_uniformRegisterVS[2].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_uniformRegisterVS[2].x & 0x00000004;
+R127i.w = uf_uniformRegisterVS[2].x & 0x00000020;
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].y)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].x)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].x)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].y)));
+R127i.z = ((PV0i.y == 0)?(R2i.y):(R2i.y));
+PS1i = R127i.z;
+// 2
+R123i.x = ((R127i.y == 0)?(R2i.w):(R2i.w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(R2i.z):(R2i.z));
+PV0i.y = R123i.y;
+R126i.z = ((R127i.x == 0)?(PV1i.x):(PV1i.z));
+PV0i.z = R126i.z;
+R123i.w = ((R127i.x == 0)?(PV1i.y):(PV1i.w));
+PV0i.w = R123i.w;
+R124i.y = uf_uniformRegisterVS[2].x & 0x00000008;
+PS0i = R124i.y;
+// 3
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.w)));
+PV1i.x = R0i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0);
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z)));
+R123i.w = ((R127i.w == 0)?(PV0i.y):(PV0i.y));
+PV1i.w = R123i.w;
+R122i.x = ((R127i.w == 0)?(PV0i.x):(PV0i.x));
+PS1i = R122i.x;
+// 4
+backupReg0i = R127i.y;
+R123i.x = ((R127i.w == 0)?(R127i.z):(PV1i.z));
+PV0i.x = R123i.x;
+R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
+R127i.z = ((R125i.z == 0)?(PV1i.w):(PV1i.w));
+R123i.w = ((backupReg0i == 0)?(R2i.x):(PV1i.x));
+PV0i.w = R123i.w;
+R126i.z = ((R125i.z == 0)?(PS1i):(PS1i));
+PS0i = R126i.z;
+// 5
+R127i.x = ((R125i.z == 0)?(PV0i.x):(PV0i.x));
+PV1i.x = R127i.x;
+R125i.y = ((R127i.w == 0)?(PV0i.w):(PV0i.w));
+PV1i.y = R125i.y;
+// 6
+R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y));
+PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.y));
+// 7
+R123i.y = ((R125i.z == 0)?(R125i.y):(PV0i.z));
+PV1i.y = R123i.y;
+// 8
+R2i.x = ((R124i.y == 0)?(PV1i.y):(PV1i.y));
+R2i.y = ((R124i.y == 0)?(R127i.x):(R126i.x));
+R2i.z = ((R124i.y == 0)?(R127i.z):(R127i.z));
+R2i.w = ((R124i.y == 0)?(R126i.z):(R126i.z));
+PS0i = R2i.w;
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R0i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0);
+PV0i.x = R0i.x;
+R126i.y = uf_uniformRegisterVS[2].x & 0x00010000;
+R127i.z = uf_uniformRegisterVS[2].x & 0x00040000;
+PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R2i.z):(R2i.z));
+PV1i.x = R123i.x;
+R127i.y = ((PV0i.w == 0)?(R2i.y):(R2i.y));
+PV1i.y = R127i.y;
+R123i.z = ((PV0i.w == 0)?(R2i.x):(PV0i.x));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.w == 0)?(R2i.w):(R2i.w));
+PV1i.w = R123i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
+R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R2i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
+R2i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
+R2i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
+R2i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+// 0
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[14].x),intBitsToFloat(uf_uniformRegisterVS[14].y),intBitsToFloat(uf_uniformRegisterVS[14].z),intBitsToFloat(uf_uniformRegisterVS[14].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+// 1
+PV1i.x = PV0i.x;
+R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(uf_uniformRegisterVS[0].y)));
+R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(uf_uniformRegisterVS[0].z)));
+R1i.w = PV0i.x;
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_uniformRegisterVS[0].x)));
+PS1i = R0i.x;
+// 2
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[13].x),intBitsToFloat(uf_uniformRegisterVS[13].y),intBitsToFloat(uf_uniformRegisterVS[13].z),intBitsToFloat(uf_uniformRegisterVS[13].w))));
+PV0i.x = R1i.x;
+PV0i.y = R1i.x;
+PV0i.z = R1i.x;
+PV0i.w = R1i.x;
+R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R1i.y;
+// 3
+R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(uf_uniformRegisterVS[0].w)));
+}
+// export
+gl_Position = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w));
+if (isCurrentSizeEqualTo(vec2(84, 84)) ||
+	isCurrentSizeEqualTo(vec2(36, 40)) || //master mode logo shadow
+	isCurrentSizeEqualTo(vec2(90, 90)) ||
+	isCurrentSizeEqualTo(vec2(110, 110)) ||
+	isCurrentSizeEqualTo(vec2(109, 109))
+	) {
+	gl_Position.y -= 9000.0;
+}
+if ((uf_uniformRegisterVS[5].w == 1134559232 || 
+	uf_uniformRegisterVS[5].w == 1133903872) && 
+	(isCurrentSizeEqualTo(vec2(64, 64)) || //empty heart shadows, but also glowing orbs in inventory
+	isCurrentSizeEqualTo(vec2(32, 32))) // empty hearts, hearts in inventory transition, but also inventory icons
+	) {
+	gl_Position.y -= 9000.0;
+}
+if (isCurrentSizeEqualTo(vec2(80, 80)) &&
+	(uf_uniformRegisterVS[4].x == 1060320051 ||
+	 uf_uniformRegisterVS[4].x == 1060320050)) {
+	//some hearts, stamina fade, but also glowing powers in inventory
+	gl_Position.y -= 9000.0;
+}
+if (isCurrentSizeEqualTo(vec2(96, 96)) &&
+	(uf_uniformRegisterVS[7].x == 1069928833)) {
+	// stamina 3-full blur; also, all inventory items
+	gl_Position.y -= 9000.0;
+}
+
+
+// export
+passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
+// export
+passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
+}
diff --git a/Modifications/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt b/Modifications/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt
new file mode 100644
index 00000000..c0b78389
--- /dev/null
+++ b/Modifications/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt
@@ -0,0 +1,927 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader 4d58e6f0906ff5cf
+// PRO+ hud v2
+uniform ivec4 uf_remappedVS[29];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+out gl_PerVertex
+{
+	vec4 gl_Position;
+	float gl_PointSize;
+};
+layout(location = 0) out vec4 passParameterSem0;
+layout(location = 1) out vec4 passParameterSem1;
+layout(location = 2) out vec4 passParameterSem2;
+int clampFI32(int v)
+{
+if( v == 0x7FFFFFFF )
+	return floatBitsToInt(1.0);
+else if( v == 0xFFFFFFFF )
+	return floatBitsToInt(0.0);
+return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
+}
+float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
+bool isCurrentSizeEqualTo(vec2 param) {
+	float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy);
+	return (result <= 0.001);
+}
+void main()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R3i = ivec4(0);
+ivec4 R4i = ivec4(0);
+ivec4 R5i = ivec4(0);
+ivec4 R6i = ivec4(0);
+ivec4 R7i = ivec4(0);
+ivec4 R122i = ivec4(0);
+ivec4 R123i = ivec4(0);
+ivec4 R124i = ivec4(0);
+ivec4 R125i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+bool activeMaskStack[4];
+bool activeMaskStackC[5];
+activeMaskStack[0] = false;
+activeMaskStack[1] = false;
+activeMaskStack[2] = false;
+activeMaskStackC[0] = false;
+activeMaskStackC[1] = false;
+activeMaskStackC[2] = false;
+activeMaskStackC[3] = false;
+activeMaskStack[0] = true;
+activeMaskStackC[0] = true;
+activeMaskStackC[1] = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xy = attrDataSem0.xy;
+attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
+attrDecoder.z = 0;
+attrDecoder.w = 0;
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x)));
+R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)));
+PV0i.y = R0i.y;
+R0i.z = 0;
+R2i.w = 0x3f800000;
+R127i.w = floatBitsToInt(1.0);
+PS0i = R127i.w;
+// 1
+R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y)));
+// 2
+R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w));
+PV0i.y = R0i.y;
+R0i.w = uf_remappedVS[1].x & 0x40000000;
+// 3
+backupReg0i = R0i.z;
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
+PV1i.x = R127i.x;
+PV1i.y = R127i.x;
+PV1i.z = R127i.x;
+PV1i.w = R127i.x;
+// 4
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R127i.y = tempi.x;
+// 5
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R127i.z = tempi.x;
+// 6
+R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))));
+PV0i.x = R5i.x;
+PV0i.y = R5i.x;
+PV0i.z = R5i.x;
+PV0i.w = R5i.x;
+// 7
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R5i.y = tempi.x;
+// 8
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R5i.z = tempi.x;
+// 9
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R5i.w = tempi.x;
+// 10
+R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].x)));
+R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].y)));
+R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].y)));
+PS0i = R6i.x;
+// 11
+R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].x)));
+// 12
+predResult = (0 != R0i.w);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R1i.z = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R1i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
+PV0i.y = R1i.y;
+PV0i.z = R1i.z;
+PV0i.w = R1i.w;
+// 1
+R3i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
+PV1i.x = R3i.x;
+PV1i.y = R3i.y;
+PV1i.z = R3i.z;
+R3i.w = PV0i.w;
+PV1i.w = R3i.w;
+// 2
+R4i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z);
+R4i.w = PV1i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.x = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R124i.z = PV1i.x + PS1i;
+PV0i.z = R124i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+PS1i = R124i.w;
+// 4
+R124i.y = (R124i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+R126i.z = ((PV1i.x == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y));
+R127i.w = ((PV1i.x == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x));
+// 5
+backupReg0i = R127i.x;
+backupReg0i = R127i.x;
+R127i.x = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w));
+R126i.y = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z));
+// 6
+R126i.x = ((R127i.z == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y));
+R125i.y = ((R127i.z == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x));
+// 7
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+R127i.z = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w));
+R125i.w = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z));
+// 8
+R125i.z = ((R127i.y == 0)?(uf_remappedVS[14].y):(uf_remappedVS[15].y));
+R0i.w = ((R127i.y == 0)?(uf_remappedVS[14].x):(uf_remappedVS[15].x));
+// 9
+backupReg0i = R127i.y;
+R125i.x = ((R127i.y == 0)?(uf_remappedVS[14].w):(uf_remappedVS[15].w));
+R127i.y = ((backupReg0i == 0)?(uf_remappedVS[14].z):(uf_remappedVS[15].z));
+// 10
+backupReg0i = R127i.x;
+backupReg1i = R126i.y;
+backupReg2i = R126i.z;
+backupReg3i = R127i.w;
+R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[16].w));
+R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[16].z));
+R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[16].y));
+R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[16].x));
+// 11
+backupReg0i = R126i.x;
+backupReg1i = R125i.y;
+backupReg2i = R127i.z;
+backupReg3i = R125i.w;
+R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_remappedVS[17].y));
+R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_remappedVS[17].x));
+R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_remappedVS[17].w));
+R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_remappedVS[17].z));
+// 12
+backupReg0i = R125i.x;
+backupReg1i = R127i.y;
+backupReg2i = R125i.z;
+R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_remappedVS[18].w));
+R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_remappedVS[18].z));
+R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_remappedVS[18].y));
+R124i.w = ((R124i.y == 0)?(R0i.w):(uf_remappedVS[18].x));
+// 13
+R1i.x = ((R124i.z == 0)?(uf_remappedVS[19].x):(R127i.w));
+R1i.y = ((R124i.z == 0)?(uf_remappedVS[19].y):(R126i.z));
+R1i.z = ((R124i.z == 0)?(uf_remappedVS[19].z):(R126i.y));
+R1i.w = ((R124i.z == 0)?(uf_remappedVS[19].w):(R127i.x));
+// 14
+R3i.x = ((R124i.z == 0)?(uf_remappedVS[20].x):(R125i.y));
+R3i.y = ((R124i.z == 0)?(uf_remappedVS[20].y):(R126i.x));
+R3i.z = ((R124i.z == 0)?(uf_remappedVS[20].z):(R125i.w));
+R3i.w = ((R124i.z == 0)?(uf_remappedVS[20].w):(R127i.z));
+// 15
+R4i.x = ((R124i.z == 0)?(uf_remappedVS[21].x):(R124i.w));
+R4i.y = ((R124i.z == 0)?(uf_remappedVS[21].y):(R125i.z));
+R4i.z = ((R124i.z == 0)?(uf_remappedVS[21].z):(R127i.y));
+R4i.w = ((R124i.z == 0)?(uf_remappedVS[21].w):(R125i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.w = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R0i.w);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
+PV0i.y = R1i.y;
+PV0i.z = R1i.z;
+PV0i.w = R1i.w;
+// 1
+R3i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
+PV1i.x = R3i.x;
+PV1i.y = R3i.y;
+PV1i.z = R3i.z;
+R3i.w = PV0i.w;
+PV1i.w = R3i.w;
+// 2
+R4i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z);
+R4i.w = PV1i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.x = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R124i.z = PV1i.x + PS1i;
+PV0i.z = R124i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+PS1i = R124i.w;
+// 4
+R124i.y = (R124i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+R126i.z = ((PV1i.x == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y));
+R127i.w = ((PV1i.x == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x));
+// 5
+backupReg0i = R127i.x;
+backupReg0i = R127i.x;
+R127i.x = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w));
+R126i.y = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z));
+// 6
+R126i.x = ((R127i.z == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y));
+R125i.y = ((R127i.z == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x));
+// 7
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+R127i.z = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w));
+R125i.w = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z));
+// 8
+R125i.z = ((R127i.y == 0)?(uf_remappedVS[14].y):(uf_remappedVS[15].y));
+R0i.w = ((R127i.y == 0)?(uf_remappedVS[14].x):(uf_remappedVS[15].x));
+// 9
+backupReg0i = R127i.y;
+R125i.x = ((R127i.y == 0)?(uf_remappedVS[14].w):(uf_remappedVS[15].w));
+R127i.y = ((backupReg0i == 0)?(uf_remappedVS[14].z):(uf_remappedVS[15].z));
+// 10
+backupReg0i = R127i.x;
+backupReg1i = R126i.y;
+backupReg2i = R126i.z;
+backupReg3i = R127i.w;
+R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[16].w));
+R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[16].z));
+R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[16].y));
+R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[16].x));
+// 11
+backupReg0i = R126i.x;
+backupReg1i = R125i.y;
+backupReg2i = R127i.z;
+backupReg3i = R125i.w;
+R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_remappedVS[17].y));
+R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_remappedVS[17].x));
+R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_remappedVS[17].w));
+R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_remappedVS[17].z));
+// 12
+backupReg0i = R125i.x;
+backupReg1i = R127i.y;
+backupReg2i = R125i.z;
+R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_remappedVS[18].w));
+R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_remappedVS[18].z));
+R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_remappedVS[18].y));
+R124i.w = ((R124i.y == 0)?(R0i.w):(uf_remappedVS[18].x));
+// 13
+R1i.x = ((R124i.z == 0)?(uf_remappedVS[19].x):(R127i.w));
+R1i.y = ((R124i.z == 0)?(uf_remappedVS[19].y):(R126i.z));
+R1i.z = ((R124i.z == 0)?(uf_remappedVS[19].z):(R126i.y));
+R1i.w = ((R124i.z == 0)?(uf_remappedVS[19].w):(R127i.x));
+// 14
+R3i.x = ((R124i.z == 0)?(uf_remappedVS[20].x):(R125i.y));
+R3i.y = ((R124i.z == 0)?(uf_remappedVS[20].y):(R126i.x));
+R3i.z = ((R124i.z == 0)?(uf_remappedVS[20].z):(R125i.w));
+R3i.w = ((R124i.z == 0)?(uf_remappedVS[20].w):(R127i.z));
+// 15
+R4i.x = ((R124i.z == 0)?(uf_remappedVS[21].x):(R124i.w));
+R4i.y = ((R124i.z == 0)?(uf_remappedVS[21].y):(R125i.z));
+R4i.z = ((R124i.z == 0)?(uf_remappedVS[21].z):(R127i.y));
+R4i.w = ((R124i.z == 0)?(uf_remappedVS[21].w):(R125i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+predResult = (0 != uf_remappedVS[22].x);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.z;
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))));
+PV0i.x = R1i.x;
+PV0i.y = R1i.x;
+PV0i.z = R1i.x;
+PV0i.w = R1i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R1i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R1i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R1i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R7i.x = uf_remappedVS[1].x & int(1);
+// 1
+predResult = (0 != R7i.x);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.w = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R0i.w);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+PV0i.x = uf_remappedVS[1].x & 0x00010000;
+R127i.y = uf_remappedVS[1].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_remappedVS[1].x & 0x00000004;
+R127i.w = uf_remappedVS[1].x & 0x00000020;
+// 1
+R123i.x = ((PV0i.y == 0)?(R1i.w):(R1i.w));
+PV1i.x = R123i.x;
+R123i.y = ((PV0i.y == 0)?(R1i.z):(R1i.z));
+PV1i.y = R123i.y;
+R126i.z = ((PV0i.x == 0)?(R2i.y):(R6i.y));
+PV1i.z = R126i.z;
+R123i.w = ((PV0i.x == 0)?(R2i.x):(R6i.x));
+PV1i.w = R123i.w;
+R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y));
+PS1i = R127i.z;
+// 2
+R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w)));
+PV0i.x = R7i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z)));
+R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y));
+PV0i.w = R123i.w;
+R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x));
+PS0i = R122i.x;
+// 3
+backupReg0i = R127i.y;
+R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z));
+PV1i.x = R123i.x;
+R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
+R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w));
+R123i.w = ((backupReg0i == 0)?(R1i.x):(PV0i.x));
+PV1i.w = R123i.w;
+R124i.z = ((R125i.z == 0)?(PS0i):(PS0i));
+PS1i = R124i.z;
+// 4
+R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.x = R127i.x;
+R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w));
+PV0i.y = R125i.y;
+R126i.z = uf_remappedVS[1].x & 0x00000008;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y));
+// 6
+R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R1i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y));
+R1i.y = ((R126i.z == 0)?(R127i.x):(R126i.x));
+R1i.z = ((R126i.z == 0)?(R127i.z):(R127i.z));
+// 8
+R1i.w = ((R126i.z == 0)?(R124i.z):(R124i.z));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R7i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0);
+PV0i.x = R7i.x;
+R126i.y = uf_remappedVS[1].x & 0x00010000;
+R127i.z = uf_remappedVS[1].x & 0x00040000;
+PV0i.w = uf_remappedVS[1].x & 0x00020000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z));
+PV1i.x = R123i.x;
+R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y));
+PV1i.y = R127i.y;
+R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w));
+PV1i.w = R123i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
+R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
+R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
+R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
+R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(uf_remappedVS[23].z),intBitsToFloat(uf_remappedVS[23].w))));
+PV0i.x = R127i.x;
+PV0i.y = R127i.x;
+PV0i.z = R127i.x;
+PV0i.w = R127i.x;
+// 1
+backupReg0i = R1i.x;
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[24].x),intBitsToFloat(uf_remappedVS[24].y),intBitsToFloat(uf_remappedVS[24].z),intBitsToFloat(uf_remappedVS[24].w))));
+PV1i.x = R1i.x;
+PV1i.y = R1i.x;
+PV1i.z = R1i.x;
+PV1i.w = R1i.x;
+R1i.y = PV0i.x;
+PS1i = R1i.y;
+// 2
+R1i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
+R1i.w = R127i.x;
+// 3
+predResult = (0 != uf_remappedVS[22].y);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.z;
+R3i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))));
+PV0i.x = R3i.x;
+PV0i.y = R3i.x;
+PV0i.z = R3i.x;
+PV0i.w = R3i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R3i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R3i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R3i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R7i.y = uf_remappedVS[1].x & int(1);
+// 1
+predResult = (0 != R7i.y);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R7i.x = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R7i.x);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_remappedVS[1].x & 0x00000020;
+R127i.y = uf_remappedVS[1].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_remappedVS[1].x & 0x00000004;
+PV0i.w = uf_remappedVS[1].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R2i.y):(R6i.y));
+PV1i.x = R123i.x;
+R123i.z = ((PV0i.w == 0)?(R2i.x):(R6i.x));
+PV1i.z = R123i.z;
+R125i.w = uf_remappedVS[1].x & 0x00000008;
+R127i.z = ((PV0i.y == 0)?(R3i.y):(R3i.y));
+PS1i = R127i.z;
+// 2
+R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.z)));
+PV0i.x = R7i.x;
+PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
+R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+// 3
+R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
+PV1i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R3i.x):(PV0i.x));
+PV1i.w = R123i.w;
+// 4
+backupReg0i = R127i.x;
+R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.x = R127i.x;
+R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
+PV0i.w = R126i.w;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
+// 6
+R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R3i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
+R3i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R7i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + 1.0);
+PV0i.x = R7i.x;
+PV0i.y = uf_remappedVS[1].x & 0x00020000;
+R127i.z = uf_remappedVS[1].x & 0x00040000;
+R126i.w = uf_remappedVS[1].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.y == 0)?(R3i.x):(PV0i.x));
+PV1i.x = R123i.x;
+R127i.w = ((PV0i.y == 0)?(R3i.y):(R3i.y));
+PV1i.w = R127i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R3i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
+R3i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedVS[25].x),intBitsToFloat(uf_remappedVS[25].y),intBitsToFloat(uf_remappedVS[25].z),intBitsToFloat(uf_remappedVS[25].w))));
+PV0i.x = R127i.x;
+PV0i.y = R127i.x;
+PV0i.z = R127i.x;
+PV0i.w = R127i.x;
+// 1
+backupReg0i = R3i.x;
+R3i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedVS[26].x),intBitsToFloat(uf_remappedVS[26].y),intBitsToFloat(uf_remappedVS[26].z),intBitsToFloat(uf_remappedVS[26].w))));
+PV1i.x = R3i.x;
+PV1i.y = R3i.x;
+PV1i.z = R3i.x;
+PV1i.w = R3i.x;
+R3i.y = PV0i.x;
+PS1i = R3i.y;
+// 2
+R3i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
+R3i.w = R127i.x;
+// 3
+predResult = (0 != uf_remappedVS[22].z);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.z;
+R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))));
+PV0i.x = R4i.x;
+PV0i.y = R4i.x;
+PV0i.z = R4i.x;
+PV0i.w = R4i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R4i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R4i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R4i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.z = uf_remappedVS[1].x & int(1);
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.y = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R0i.y);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_remappedVS[1].x & 0x00000020;
+R127i.y = uf_remappedVS[1].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_remappedVS[1].x & 0x00000004;
+PV0i.w = uf_remappedVS[1].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R2i.y):(R6i.y));
+PV1i.x = R123i.x;
+R123i.z = ((PV0i.w == 0)?(R2i.x):(R6i.x));
+PV1i.z = R123i.z;
+R125i.w = uf_remappedVS[1].x & 0x00000008;
+R127i.z = ((PV0i.y == 0)?(R4i.y):(R4i.y));
+PS1i = R127i.z;
+// 2
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z)));
+PV0i.x = R0i.x;
+PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
+R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+// 3
+R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
+PV1i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R4i.x):(PV0i.x));
+PV1i.w = R123i.w;
+// 4
+backupReg0i = R127i.x;
+R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.x = R127i.x;
+R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
+PV0i.w = R126i.w;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
+// 6
+R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R4i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
+R4i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R0i.x = floatBitsToInt(-(intBitsToFloat(R4i.x)) + 1.0);
+PV0i.x = R0i.x;
+PV0i.y = uf_remappedVS[1].x & 0x00020000;
+R127i.z = uf_remappedVS[1].x & 0x00040000;
+R126i.w = uf_remappedVS[1].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.y == 0)?(R4i.x):(PV0i.x));
+PV1i.x = R123i.x;
+R127i.w = ((PV0i.y == 0)?(R4i.y):(R4i.y));
+PV1i.w = R127i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R4i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
+R4i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+// 0
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[27].x),intBitsToFloat(uf_remappedVS[27].y),intBitsToFloat(uf_remappedVS[27].z),intBitsToFloat(uf_remappedVS[27].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+// 1
+PV1i.x = PV0i.x;
+R0i.w = PV0i.x;
+PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedVS[28].w)));
+// 2
+R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[28].x),intBitsToFloat(uf_remappedVS[28].y),intBitsToFloat(uf_remappedVS[28].z),1.0)));
+PV0i.x = R0i.x;
+PV0i.y = R0i.x;
+PV0i.z = R0i.x;
+PV0i.w = R0i.x;
+R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R0i.y;
+}
+// export
+gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
+if (isCurrentSizeEqualTo(vec2(32, 32))) {
+	gl_Position.y -= 9000.0;
+}
+// export
+passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
+// export
+passParameterSem1 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.x), intBitsToFloat(R3i.w));
+// export
+passParameterSem2 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w));
+}
diff --git a/Modifications/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt b/Modifications/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt
new file mode 100644
index 00000000..2c22e89e
--- /dev/null
+++ b/Modifications/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt
@@ -0,0 +1,1430 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader 75faf095372864b1
+// PRO+ hud v2
+uniform ivec4 uf_uniformRegisterVS[256];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+out gl_PerVertex
+{
+	vec4 gl_Position;
+	float gl_PointSize;
+};
+layout(location = 0) out vec4 passParameterSem0;
+layout(location = 1) out vec4 passParameterSem1;
+layout(location = 2) out vec4 passParameterSem2;
+layout(location = 3) out vec4 passParameterSem3;
+int clampFI32(int v)
+{
+if( v == 0x7FFFFFFF )
+	return floatBitsToInt(1.0);
+else if( v == 0xFFFFFFFF )
+	return floatBitsToInt(0.0);
+return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
+}
+float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
+bool isCurrentSizeEqualTo(vec2 param) {
+	float result = distance(param, intBitsToFloat(uf_uniformRegisterVS[19]).xy);
+	return (result <= 0.001);
+}
+void main()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R3i = ivec4(0);
+ivec4 R4i = ivec4(0);
+ivec4 R5i = ivec4(0);
+ivec4 R6i = ivec4(0);
+ivec4 R7i = ivec4(0);
+ivec4 R8i = ivec4(0);
+ivec4 R9i = ivec4(0);
+ivec4 R122i = ivec4(0);
+ivec4 R123i = ivec4(0);
+ivec4 R124i = ivec4(0);
+ivec4 R125i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+bool activeMaskStack[14];
+bool activeMaskStackC[15];
+activeMaskStack[0] = false;
+activeMaskStack[1] = false;
+activeMaskStack[2] = false;
+activeMaskStack[3] = false;
+activeMaskStack[4] = false;
+activeMaskStack[5] = false;
+activeMaskStack[6] = false;
+activeMaskStack[7] = false;
+activeMaskStack[8] = false;
+activeMaskStack[9] = false;
+activeMaskStack[10] = false;
+activeMaskStack[11] = false;
+activeMaskStack[12] = false;
+activeMaskStackC[0] = false;
+activeMaskStackC[1] = false;
+activeMaskStackC[2] = false;
+activeMaskStackC[3] = false;
+activeMaskStackC[4] = false;
+activeMaskStackC[5] = false;
+activeMaskStackC[6] = false;
+activeMaskStackC[7] = false;
+activeMaskStackC[8] = false;
+activeMaskStackC[9] = false;
+activeMaskStackC[10] = false;
+activeMaskStackC[11] = false;
+activeMaskStackC[12] = false;
+activeMaskStackC[13] = false;
+activeMaskStack[0] = true;
+activeMaskStackC[0] = true;
+activeMaskStackC[1] = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xy = attrDataSem0.xy;
+attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
+attrDecoder.z = 0;
+attrDecoder.w = 0;
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[19].x)));
+R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)));
+PV0i.y = R0i.y;
+R1i.z = 0;
+R1i.w = 0x3f800000;
+R127i.w = floatBitsToInt(1.0);
+PS0i = R127i.w;
+// 1
+R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[19].z));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[19].y)));
+// 2
+R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[19].w));
+PV0i.y = R0i.y;
+R0i.w = uf_uniformRegisterVS[2].x & 0x40000000;
+// 3
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[4].x),intBitsToFloat(uf_uniformRegisterVS[4].y),intBitsToFloat(uf_uniformRegisterVS[4].z),intBitsToFloat(uf_uniformRegisterVS[4].w))));
+PV1i.x = R127i.x;
+PV1i.y = R127i.x;
+PV1i.z = R127i.x;
+PV1i.w = R127i.x;
+// 4
+backupReg0i = R0i.x;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[5].x),intBitsToFloat(uf_uniformRegisterVS[5].y),intBitsToFloat(uf_uniformRegisterVS[5].z),intBitsToFloat(uf_uniformRegisterVS[5].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R127i.y = tempi.x;
+// 5
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[6].x),intBitsToFloat(uf_uniformRegisterVS[6].y),intBitsToFloat(uf_uniformRegisterVS[6].z),intBitsToFloat(uf_uniformRegisterVS[6].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R127i.z = tempi.x;
+// 6
+R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w))));
+PV0i.x = R4i.x;
+PV0i.y = R4i.x;
+PV0i.z = R4i.x;
+PV0i.w = R4i.x;
+// 7
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R4i.y = tempi.x;
+// 8
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R4i.z = tempi.x;
+// 9
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R4i.w = tempi.x;
+// 10
+R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[19].x), intBitsToFloat(uf_uniformRegisterVS[12].x)));
+R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[19].y), intBitsToFloat(uf_uniformRegisterVS[12].y)));
+R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[19].x), intBitsToFloat(uf_uniformRegisterVS[12].y)));
+PS0i = R3i.x;
+// 11
+R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[19].y), intBitsToFloat(uf_uniformRegisterVS[12].x)));
+// 12
+predResult = (0 != R0i.w);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.z = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.y = backupReg0i;
+PV0i.y = R1i.y;
+R0i.z = 0;
+PV0i.z = R0i.z;
+R0i.w = 0x3f800000;
+PV0i.w = R0i.w;
+// 1
+R6i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
+PV1i.x = R6i.x;
+PV1i.y = R6i.y;
+PV1i.z = R6i.z;
+R6i.w = PV0i.w;
+PV1i.w = R6i.w;
+// 2
+R7i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z);
+PV0i.x = R7i.x;
+PV0i.y = R7i.y;
+PV0i.z = R7i.z;
+R7i.w = PV1i.w;
+PV0i.w = R7i.w;
+// 3
+R5i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z);
+R5i.w = PV0i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.x = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R124i.z = PV1i.x + PS1i;
+PV0i.z = R124i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+PS1i = R124i.w;
+// 4
+R124i.y = (R124i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+R126i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[27].y):(uf_uniformRegisterVS[26].y));
+R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[27].x):(uf_uniformRegisterVS[26].x));
+// 5
+backupReg0i = R127i.x;
+backupReg0i = R127i.x;
+R127i.x = ((backupReg0i == 0)?(uf_uniformRegisterVS[27].w):(uf_uniformRegisterVS[26].w));
+R126i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[27].z):(uf_uniformRegisterVS[26].z));
+// 6
+R126i.x = ((R127i.z == 0)?(uf_uniformRegisterVS[31].y):(uf_uniformRegisterVS[30].y));
+R125i.y = ((R127i.z == 0)?(uf_uniformRegisterVS[31].x):(uf_uniformRegisterVS[30].x));
+// 7
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+R127i.z = ((backupReg0i == 0)?(uf_uniformRegisterVS[31].w):(uf_uniformRegisterVS[30].w));
+R125i.w = ((backupReg0i == 0)?(uf_uniformRegisterVS[31].z):(uf_uniformRegisterVS[30].z));
+// 8
+R125i.z = ((R127i.y == 0)?(uf_uniformRegisterVS[35].y):(uf_uniformRegisterVS[34].y));
+R0i.w = ((R127i.y == 0)?(uf_uniformRegisterVS[35].x):(uf_uniformRegisterVS[34].x));
+// 9
+backupReg0i = R127i.y;
+R125i.x = ((R127i.y == 0)?(uf_uniformRegisterVS[35].w):(uf_uniformRegisterVS[34].w));
+R127i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[35].z):(uf_uniformRegisterVS[34].z));
+// 10
+backupReg0i = R127i.x;
+backupReg1i = R126i.y;
+backupReg2i = R126i.z;
+backupReg3i = R127i.w;
+R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[25].w));
+R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[25].z));
+R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[25].y));
+R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[25].x));
+// 11
+backupReg0i = R126i.x;
+backupReg1i = R125i.y;
+backupReg2i = R127i.z;
+backupReg3i = R125i.w;
+R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[29].y));
+R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[29].x));
+R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[29].w));
+R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[29].z));
+// 12
+backupReg0i = R125i.x;
+backupReg1i = R127i.y;
+backupReg2i = R125i.z;
+R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_uniformRegisterVS[33].w));
+R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_uniformRegisterVS[33].z));
+R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_uniformRegisterVS[33].y));
+R124i.w = ((R124i.y == 0)?(R0i.w):(uf_uniformRegisterVS[33].x));
+// 13
+R6i.x = ((R124i.z == 0)?(uf_uniformRegisterVS[24].x):(R127i.w));
+R6i.y = ((R124i.z == 0)?(uf_uniformRegisterVS[24].y):(R126i.z));
+R6i.z = ((R124i.z == 0)?(uf_uniformRegisterVS[24].z):(R126i.y));
+R6i.w = ((R124i.z == 0)?(uf_uniformRegisterVS[24].w):(R127i.x));
+// 14
+R7i.x = ((R124i.z == 0)?(uf_uniformRegisterVS[28].x):(R125i.y));
+R7i.y = ((R124i.z == 0)?(uf_uniformRegisterVS[28].y):(R126i.x));
+R7i.z = ((R124i.z == 0)?(uf_uniformRegisterVS[28].z):(R125i.w));
+R7i.w = ((R124i.z == 0)?(uf_uniformRegisterVS[28].w):(R127i.z));
+// 15
+R5i.x = ((R124i.z == 0)?(uf_uniformRegisterVS[32].x):(R124i.w));
+R5i.y = ((R124i.z == 0)?(uf_uniformRegisterVS[32].y):(R125i.z));
+R5i.z = ((R124i.z == 0)?(uf_uniformRegisterVS[32].z):(R127i.y));
+R5i.w = ((R124i.z == 0)?(uf_uniformRegisterVS[32].w):(R125i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+// 0
+R8i.xyz = ivec3(0x437f0000,0x437f0000,0x437f0000);
+R8i.w = 0x437f0000;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+PV0i.x = uf_uniformRegisterVS[2].x >> 0x00000008;
+R5i.y = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+R0i.z = PV0i.x & 0x0000000f;
+// 2
+predResult = (0 != R5i.y);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R6i.y = R1i.y;
+R3i.z = 0;
+R0i.w = 0x3f800000;
+PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
+// 1
+R5i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
+PV1i.x = R5i.x;
+R5i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
+PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
+// 2
+R6i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i));
+PV0i.x = R6i.x;
+R7i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i));
+R7i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R7i.x;
+// 3
+R8i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PS0i));
+R2i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
+PV1i.z = R2i.z;
+R9i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0);
+PS1i = R9i.x;
+// 4
+R5i.z = floatBitsToInt(-(intBitsToFloat(R7i.y)) + 1.0);
+R2i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PV1i.z));
+// 5
+predResult = (R0i.z == 0);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)));
+R5i.y = R6i.x;
+PV0i.y = R5i.y;
+// 1
+R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[3] = activeMaskStack[3] == false;
+activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
+if( activeMaskStackC[4] == true ) {
+activeMaskStack[4] = activeMaskStack[3];
+activeMaskStackC[5] = activeMaskStackC[4];
+// 0
+predResult = (R0i.z == int(1));
+activeMaskStack[4] = predResult;
+activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true;
+}
+else {
+activeMaskStack[4] = false;
+activeMaskStackC[5] = false;
+}
+if( activeMaskStackC[5] == true ) {
+// 0
+backupReg0i = R5i.y;
+R5i.y = 0;
+PV0i.y = R5i.y;
+PV0i.z = R6i.x;
+PV0i.w = backupReg0i;
+// 1
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.x)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[4] = activeMaskStack[4] == false;
+activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
+if( activeMaskStackC[5] == true ) {
+activeMaskStack[5] = activeMaskStack[4];
+activeMaskStackC[6] = activeMaskStackC[5];
+// 0
+predResult = (R0i.z == 0x00000002);
+activeMaskStack[5] = predResult;
+activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true;
+}
+else {
+activeMaskStack[5] = false;
+activeMaskStackC[6] = false;
+}
+if( activeMaskStackC[6] == true ) {
+// 0
+backupReg0i = R7i.y;
+R7i.y = backupReg0i;
+PV0i.y = R7i.y;
+PV0i.z = R5i.z;
+PV0i.w = 0;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[5] = activeMaskStack[5] == false;
+activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true;
+if( activeMaskStackC[6] == true ) {
+activeMaskStack[6] = activeMaskStack[5];
+activeMaskStackC[7] = activeMaskStackC[6];
+// 0
+predResult = (R0i.z == 0x00000003);
+activeMaskStack[6] = predResult;
+activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true;
+}
+else {
+activeMaskStack[6] = false;
+activeMaskStackC[7] = false;
+}
+if( activeMaskStackC[7] == true ) {
+// 0
+backupReg0i = R5i.y;
+R5i.y = R5i.z;
+PV0i.y = R5i.y;
+PV0i.z = R7i.y;
+PV0i.w = backupReg0i;
+// 1
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.x)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[6] = activeMaskStack[6] == false;
+activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
+if( activeMaskStackC[7] == true ) {
+activeMaskStack[7] = activeMaskStack[6];
+activeMaskStackC[8] = activeMaskStackC[7];
+// 0
+predResult = (R0i.z == 0x00000004);
+activeMaskStack[7] = predResult;
+activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true;
+}
+else {
+activeMaskStack[7] = false;
+activeMaskStackC[8] = false;
+}
+if( activeMaskStackC[8] == true ) {
+// 0
+R5i.y = R2i.w;
+PV0i.y = R5i.y;
+PV0i.z = R6i.x;
+PV0i.w = 0;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[7] = activeMaskStack[7] == false;
+activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true;
+if( activeMaskStackC[8] == true ) {
+activeMaskStack[8] = activeMaskStack[7];
+activeMaskStackC[9] = activeMaskStackC[8];
+// 0
+predResult = (R0i.z == 0x00000005);
+activeMaskStack[8] = predResult;
+activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true;
+}
+else {
+activeMaskStack[8] = false;
+activeMaskStackC[9] = false;
+}
+if( activeMaskStackC[9] == true ) {
+// 0
+backupReg0i = R5i.y;
+R5i.y = R6i.x;
+PV0i.y = R5i.y;
+PV0i.z = R2i.w;
+PV0i.w = backupReg0i;
+// 1
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.x)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[8] = activeMaskStack[8] == false;
+activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
+if( activeMaskStackC[9] == true ) {
+activeMaskStack[9] = activeMaskStack[8];
+activeMaskStackC[10] = activeMaskStackC[9];
+// 0
+predResult = (R0i.z == 0x00000006);
+activeMaskStack[9] = predResult;
+activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true;
+}
+else {
+activeMaskStack[9] = false;
+activeMaskStackC[10] = false;
+}
+if( activeMaskStackC[10] == true ) {
+// 0
+R5i.y = R6i.x;
+PV0i.y = R5i.y;
+R7i.y = 0;
+PS0i = R7i.y;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
+}
+activeMaskStack[9] = activeMaskStack[9] == false;
+activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true;
+if( activeMaskStackC[10] == true ) {
+activeMaskStack[10] = activeMaskStack[9];
+activeMaskStackC[11] = activeMaskStackC[10];
+// 0
+predResult = (R0i.z == 0x00000007);
+activeMaskStack[10] = predResult;
+activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true;
+}
+else {
+activeMaskStack[10] = false;
+activeMaskStackC[11] = false;
+}
+if( activeMaskStackC[11] == true ) {
+// 0
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i)));
+R5i.y = R7i.y;
+PV0i.y = R5i.y;
+R7i.y = R5i.z;
+PS0i = R7i.y;
+// 1
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
+}
+activeMaskStack[10] = activeMaskStack[10] == false;
+activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
+if( activeMaskStackC[11] == true ) {
+activeMaskStack[11] = activeMaskStack[10];
+activeMaskStackC[12] = activeMaskStackC[11];
+// 0
+predResult = (R0i.z == 0x00000008);
+activeMaskStack[11] = predResult;
+activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true;
+}
+else {
+activeMaskStack[11] = false;
+activeMaskStackC[12] = false;
+}
+if( activeMaskStackC[12] == true ) {
+// 0
+R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R9i.x)));
+R5i.y = R6i.x;
+PV0i.y = R5i.y;
+// 1
+R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[11] = activeMaskStack[11] == false;
+activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true;
+if( activeMaskStackC[12] == true ) {
+activeMaskStack[12] = activeMaskStack[11];
+activeMaskStackC[13] = activeMaskStackC[12];
+// 0
+predResult = (R0i.z == 0x00000009);
+activeMaskStack[12] = predResult;
+activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true;
+}
+else {
+activeMaskStack[12] = false;
+activeMaskStackC[13] = false;
+}
+if( activeMaskStackC[13] == true ) {
+// 0
+backupReg0i = R5i.y;
+R5i.y = 0;
+PV0i.y = R5i.y;
+PV0i.z = R5i.z;
+PV0i.w = backupReg0i;
+// 1
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.x)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[12] = activeMaskStack[12] == false;
+activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
+if( activeMaskStackC[13] == true ) {
+activeMaskStack[13] = activeMaskStack[12];
+activeMaskStackC[14] = activeMaskStackC[13];
+// 0
+predResult = (R0i.z == 0x0000000a);
+activeMaskStack[13] = predResult;
+activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true;
+}
+else {
+activeMaskStack[13] = false;
+activeMaskStackC[14] = false;
+}
+if( activeMaskStackC[14] == true ) {
+// 0
+R5i.y = R2i.z;
+PV0i.y = R5i.y;
+PV0i.z = R6i.x;
+PV0i.w = 0;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[13] = activeMaskStack[13] == false;
+activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true;
+if( activeMaskStackC[14] == true ) {
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R9i.x)));
+R5i.y = R2i.w;
+PV0i.y = R5i.y;
+R127i.z = (R0i.z == 0x0000000c)?int(0xFFFFFFFF):int(0x0);
+PV0i.z = R127i.z;
+R127i.w = (R0i.z == 0x0000000b)?int(0xFFFFFFFF):int(0x0);
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+R5i.y = R5i.z;
+PV1i.y = R5i.y;
+R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(R5i.x)));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.z == 0)?(0):(PV0i.x));
+PV1i.w = R123i.w;
+// 2
+R5i.x = ((R127i.w == 0)?(PV1i.w):(PV1i.z));
+R123i.z = ((R127i.z == 0)?(0):(PV1i.x));
+PV0i.z = R123i.z;
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV1i.y)));
+PV0i.w = R123i.w;
+// 3
+R5i.y = ((R127i.w == 0)?(PV0i.z):(PV0i.w));
+}
+activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
+activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
+activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
+activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
+activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0);
+PV0i.x = R127i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0);
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].x)));
+// 2
+R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[22].w)) + intBitsToFloat(PV1i.x)));
+R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[22].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[22].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[22].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+// 3
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].x)));
+R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
+PS1i = R127i.w;
+// 4
+backupReg0i = R127i.z;
+R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[23].w)) + intBitsToFloat(PV1i.x)));
+R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[23].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[23].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[23].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i)));
+PS0i = R126i.z;
+// 5
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
+R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
+PS1i = R8i.x;
+// 6
+R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
+R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
+R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
+// 7
+backupReg0i = R6i.y;
+R6i.xyz = ivec3(R1i.x,backupReg0i,R3i.z);
+PV1i.x = R6i.x;
+PV1i.y = R6i.y;
+PV1i.z = R6i.z;
+R6i.w = R0i.w;
+PV1i.w = R6i.w;
+// 8
+R7i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z);
+PV0i.x = R7i.x;
+PV0i.y = R7i.y;
+PV0i.z = R7i.z;
+R7i.w = PV1i.w;
+PV0i.w = R7i.w;
+// 9
+R5i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z);
+R5i.w = PV0i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.z = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R2i.z = PV1i.z + PS1i;
+PV0i.z = R2i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+PS1i = R124i.w;
+// 4
+R124i.y = (R2i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+R126i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[27].y):(uf_uniformRegisterVS[26].y));
+R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[27].x):(uf_uniformRegisterVS[26].x));
+// 5
+backupReg0i = R127i.x;
+backupReg0i = R127i.x;
+R127i.x = ((backupReg0i == 0)?(uf_uniformRegisterVS[27].w):(uf_uniformRegisterVS[26].w));
+R126i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[27].z):(uf_uniformRegisterVS[26].z));
+// 6
+R126i.x = ((R127i.z == 0)?(uf_uniformRegisterVS[31].y):(uf_uniformRegisterVS[30].y));
+R125i.y = ((R127i.z == 0)?(uf_uniformRegisterVS[31].x):(uf_uniformRegisterVS[30].x));
+// 7
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+R127i.z = ((backupReg0i == 0)?(uf_uniformRegisterVS[31].w):(uf_uniformRegisterVS[30].w));
+R125i.w = ((backupReg0i == 0)?(uf_uniformRegisterVS[31].z):(uf_uniformRegisterVS[30].z));
+// 8
+R125i.z = ((R127i.y == 0)?(uf_uniformRegisterVS[35].y):(uf_uniformRegisterVS[34].y));
+R0i.w = ((R127i.y == 0)?(uf_uniformRegisterVS[35].x):(uf_uniformRegisterVS[34].x));
+// 9
+backupReg0i = R127i.y;
+R125i.x = ((R127i.y == 0)?(uf_uniformRegisterVS[35].w):(uf_uniformRegisterVS[34].w));
+R127i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[35].z):(uf_uniformRegisterVS[34].z));
+// 10
+backupReg0i = R127i.x;
+backupReg1i = R126i.y;
+backupReg2i = R126i.z;
+backupReg3i = R127i.w;
+R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[25].w));
+R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[25].z));
+R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[25].y));
+R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[25].x));
+// 11
+backupReg0i = R126i.x;
+backupReg1i = R125i.y;
+backupReg2i = R127i.z;
+backupReg3i = R125i.w;
+R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[29].y));
+R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[29].x));
+R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[29].w));
+R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[29].z));
+// 12
+backupReg0i = R125i.x;
+backupReg1i = R127i.y;
+backupReg2i = R125i.z;
+R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_uniformRegisterVS[33].w));
+R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_uniformRegisterVS[33].z));
+R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_uniformRegisterVS[33].y));
+R124i.w = ((R124i.y == 0)?(R0i.w):(uf_uniformRegisterVS[33].x));
+// 13
+R6i.x = ((R2i.z == 0)?(uf_uniformRegisterVS[24].x):(R127i.w));
+R6i.y = ((R2i.z == 0)?(uf_uniformRegisterVS[24].y):(R126i.z));
+R6i.z = ((R2i.z == 0)?(uf_uniformRegisterVS[24].z):(R126i.y));
+R6i.w = ((R2i.z == 0)?(uf_uniformRegisterVS[24].w):(R127i.x));
+// 14
+R7i.x = ((R2i.z == 0)?(uf_uniformRegisterVS[28].x):(R125i.y));
+R7i.y = ((R2i.z == 0)?(uf_uniformRegisterVS[28].y):(R126i.x));
+R7i.z = ((R2i.z == 0)?(uf_uniformRegisterVS[28].z):(R125i.w));
+R7i.w = ((R2i.z == 0)?(uf_uniformRegisterVS[28].w):(R127i.z));
+// 15
+R5i.x = ((R2i.z == 0)?(uf_uniformRegisterVS[32].x):(R124i.w));
+R5i.y = ((R2i.z == 0)?(uf_uniformRegisterVS[32].y):(R125i.z));
+R5i.z = ((R2i.z == 0)?(uf_uniformRegisterVS[32].z):(R127i.y));
+R5i.w = ((R2i.z == 0)?(uf_uniformRegisterVS[32].w):(R125i.x));
+// 16
+predResult = (R0i.z == 0x0000000d);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
+// 1
+PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i));
+PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i));
+PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
+// 2
+R127i.x = PV1i.z;
+R127i.y = PV1i.w;
+PV0i.y = R127i.y;
+R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
+PV0i.z = R127i.z;
+R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
+// 3
+PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
+PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
+// 4
+PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w));
+// 5
+backupReg0i = R127i.z;
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y)));
+PV1i.z = R127i.z;
+R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i)));
+PV1i.w = R126i.w;
+// 6
+R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+PV0i.x = R127i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 7
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].x)));
+// 8
+R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[22].w)) + intBitsToFloat(PV1i.x)));
+R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[22].z)) + intBitsToFloat(PV1i.y)));
+R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[22].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[22].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+// 9
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].x)));
+R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
+PS1i = R127i.w;
+// 10
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+backupReg1i = R126i.z;
+R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[23].w)) + intBitsToFloat(PV1i.x)));
+R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[23].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[23].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[23].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i)));
+PS0i = R126i.z;
+// 11
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
+R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
+PS1i = R8i.x;
+// 12
+R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
+R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
+R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
+}
+activeMaskStack[3] = activeMaskStack[3] == false;
+activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = floatBitsToInt(float(R2i.z));
+PS0i = R127i.x;
+// 1
+tempResultf = intBitsToFloat(PS0i);
+tempResultf = floor(tempResultf);
+tempResultf = clamp(tempResultf, -256.0, 255.0);
+ARi.x = int(tempResultf);
+PV1i.x = floatBitsToInt(tempResultf);
+// 2
+R8i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+20].x,uf_uniformRegisterVS[ARi.x+20].y,uf_uniformRegisterVS[ARi.x+20].z);
+R8i.w = uf_uniformRegisterVS[ARi.x+20].w;
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+predResult = (0 != uf_uniformRegisterVS[3].x);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[24].x),intBitsToFloat(uf_uniformRegisterVS[24].y),intBitsToFloat(uf_uniformRegisterVS[24].z),intBitsToFloat(uf_uniformRegisterVS[24].w))));
+PV0i.x = R6i.x;
+PV0i.y = R6i.x;
+PV0i.z = R6i.x;
+PV0i.w = R6i.x;
+// 1
+backupReg0i = R0i.x;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[25].x),intBitsToFloat(uf_uniformRegisterVS[25].y),intBitsToFloat(uf_uniformRegisterVS[25].z),intBitsToFloat(uf_uniformRegisterVS[25].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R6i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[26].x),intBitsToFloat(uf_uniformRegisterVS[26].y),intBitsToFloat(uf_uniformRegisterVS[26].z),intBitsToFloat(uf_uniformRegisterVS[26].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R6i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[27].x),intBitsToFloat(uf_uniformRegisterVS[27].y),intBitsToFloat(uf_uniformRegisterVS[27].z),intBitsToFloat(uf_uniformRegisterVS[27].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R6i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.z = uf_uniformRegisterVS[2].x & int(1);
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R1i.y = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R1i.y);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+PV0i.x = uf_uniformRegisterVS[2].x & 0x00010000;
+R127i.y = uf_uniformRegisterVS[2].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_uniformRegisterVS[2].x & 0x00000004;
+R127i.w = uf_uniformRegisterVS[2].x & 0x00000020;
+// 1
+R123i.x = ((PV0i.y == 0)?(R6i.w):(R6i.w));
+PV1i.x = R123i.x;
+R123i.y = ((PV0i.y == 0)?(R6i.z):(R6i.z));
+PV1i.y = R123i.y;
+R126i.z = ((PV0i.x == 0)?(R2i.y):(R3i.y));
+PV1i.z = R126i.z;
+R123i.w = ((PV0i.x == 0)?(R2i.x):(R3i.x));
+PV1i.w = R123i.w;
+R127i.z = ((PV0i.y == 0)?(R6i.y):(R6i.y));
+PS1i = R127i.z;
+// 2
+R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.w)));
+PV0i.x = R1i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z)));
+R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y));
+PV0i.w = R123i.w;
+R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x));
+PS0i = R122i.x;
+// 3
+backupReg0i = R127i.y;
+R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z));
+PV1i.x = R123i.x;
+R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
+R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w));
+R123i.w = ((backupReg0i == 0)?(R6i.x):(PV0i.x));
+PV1i.w = R123i.w;
+R124i.z = ((R125i.z == 0)?(PS0i):(PS0i));
+PS1i = R124i.z;
+// 4
+R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.x = R127i.x;
+R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w));
+PV0i.y = R125i.y;
+R126i.z = uf_uniformRegisterVS[2].x & 0x00000008;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y));
+// 6
+R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R6i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y));
+R6i.y = ((R126i.z == 0)?(R127i.x):(R126i.x));
+R6i.z = ((R126i.z == 0)?(R127i.z):(R127i.z));
+// 8
+R6i.w = ((R126i.z == 0)?(R124i.z):(R124i.z));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R1i.x = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0);
+PV0i.x = R1i.x;
+R126i.y = uf_uniformRegisterVS[2].x & 0x00010000;
+R127i.z = uf_uniformRegisterVS[2].x & 0x00040000;
+PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R6i.z):(R6i.z));
+PV1i.x = R123i.x;
+R127i.y = ((PV0i.w == 0)?(R6i.y):(R6i.y));
+PV1i.y = R127i.y;
+R123i.z = ((PV0i.w == 0)?(R6i.x):(PV0i.x));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.w == 0)?(R6i.w):(R6i.w));
+PV1i.w = R123i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
+R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R6i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
+R6i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
+R6i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
+R6i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[14].x),intBitsToFloat(uf_uniformRegisterVS[14].y),intBitsToFloat(uf_uniformRegisterVS[14].z),intBitsToFloat(uf_uniformRegisterVS[14].w))));
+PV0i.x = R127i.x;
+PV0i.y = R127i.x;
+PV0i.z = R127i.x;
+PV0i.w = R127i.x;
+// 1
+backupReg0i = R6i.x;
+R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[13].x),intBitsToFloat(uf_uniformRegisterVS[13].y),intBitsToFloat(uf_uniformRegisterVS[13].z),intBitsToFloat(uf_uniformRegisterVS[13].w))));
+PV1i.x = R6i.x;
+PV1i.y = R6i.x;
+PV1i.z = R6i.x;
+PV1i.w = R6i.x;
+R1i.y = PV0i.x;
+PS1i = R1i.y;
+// 2
+R6i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
+R6i.w = R127i.x;
+// 3
+predResult = (0 != uf_uniformRegisterVS[3].y);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[28].x),intBitsToFloat(uf_uniformRegisterVS[28].y),intBitsToFloat(uf_uniformRegisterVS[28].z),intBitsToFloat(uf_uniformRegisterVS[28].w))));
+PV0i.x = R7i.x;
+PV0i.y = R7i.x;
+PV0i.z = R7i.x;
+PV0i.w = R7i.x;
+// 1
+backupReg0i = R0i.x;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[29].x),intBitsToFloat(uf_uniformRegisterVS[29].y),intBitsToFloat(uf_uniformRegisterVS[29].z),intBitsToFloat(uf_uniformRegisterVS[29].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R7i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[30].x),intBitsToFloat(uf_uniformRegisterVS[30].y),intBitsToFloat(uf_uniformRegisterVS[30].z),intBitsToFloat(uf_uniformRegisterVS[30].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R7i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[31].x),intBitsToFloat(uf_uniformRegisterVS[31].y),intBitsToFloat(uf_uniformRegisterVS[31].z),intBitsToFloat(uf_uniformRegisterVS[31].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R7i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.w = uf_uniformRegisterVS[2].x & int(1);
+// 1
+predResult = (0 != R0i.w);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.z = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_uniformRegisterVS[2].x & 0x00000020;
+R127i.y = uf_uniformRegisterVS[2].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_uniformRegisterVS[2].x & 0x00000004;
+PV0i.w = uf_uniformRegisterVS[2].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y));
+PV1i.x = R123i.x;
+R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x));
+PV1i.z = R123i.z;
+R125i.w = uf_uniformRegisterVS[2].x & 0x00000008;
+R127i.z = ((PV0i.y == 0)?(R7i.y):(R7i.y));
+PS1i = R127i.z;
+// 2
+R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV1i.z)));
+PV0i.x = R1i.x;
+PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
+R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+// 3
+R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
+PV1i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R7i.x):(PV0i.x));
+PV1i.w = R123i.w;
+// 4
+backupReg0i = R127i.x;
+R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.x = R127i.x;
+R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
+PV0i.w = R126i.w;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
+// 6
+R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R7i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
+R7i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R1i.x = floatBitsToInt(-(intBitsToFloat(R7i.x)) + 1.0);
+PV0i.x = R1i.x;
+PV0i.y = uf_uniformRegisterVS[2].x & 0x00020000;
+R127i.z = uf_uniformRegisterVS[2].x & 0x00040000;
+R126i.w = uf_uniformRegisterVS[2].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.y == 0)?(R7i.x):(PV0i.x));
+PV1i.x = R123i.x;
+R127i.w = ((PV0i.y == 0)?(R7i.y):(R7i.y));
+PV1i.w = R127i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R7i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
+R7i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[16].x),intBitsToFloat(uf_uniformRegisterVS[16].y),intBitsToFloat(uf_uniformRegisterVS[16].z),intBitsToFloat(uf_uniformRegisterVS[16].w))));
+PV0i.x = R127i.x;
+PV0i.y = R127i.x;
+PV0i.z = R127i.x;
+PV0i.w = R127i.x;
+// 1
+backupReg0i = R7i.x;
+R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[15].x),intBitsToFloat(uf_uniformRegisterVS[15].y),intBitsToFloat(uf_uniformRegisterVS[15].z),intBitsToFloat(uf_uniformRegisterVS[15].w))));
+PV1i.x = R7i.x;
+PV1i.y = R7i.x;
+PV1i.z = R7i.x;
+PV1i.w = R7i.x;
+R1i.y = PV0i.x;
+PS1i = R1i.y;
+// 2
+R7i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
+R7i.w = R127i.x;
+// 3
+predResult = (0 != uf_uniformRegisterVS[3].z);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[32].x),intBitsToFloat(uf_uniformRegisterVS[32].y),intBitsToFloat(uf_uniformRegisterVS[32].z),intBitsToFloat(uf_uniformRegisterVS[32].w))));
+PV0i.x = R5i.x;
+PV0i.y = R5i.x;
+PV0i.z = R5i.x;
+PV0i.w = R5i.x;
+// 1
+backupReg0i = R0i.x;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[33].x),intBitsToFloat(uf_uniformRegisterVS[33].y),intBitsToFloat(uf_uniformRegisterVS[33].z),intBitsToFloat(uf_uniformRegisterVS[33].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R5i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[34].x),intBitsToFloat(uf_uniformRegisterVS[34].y),intBitsToFloat(uf_uniformRegisterVS[34].z),intBitsToFloat(uf_uniformRegisterVS[34].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R5i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[35].x),intBitsToFloat(uf_uniformRegisterVS[35].y),intBitsToFloat(uf_uniformRegisterVS[35].z),intBitsToFloat(uf_uniformRegisterVS[35].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R5i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.x = uf_uniformRegisterVS[2].x & int(1);
+// 1
+backupReg0i = R0i.x;
+predResult = (0 != backupReg0i);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.w = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R0i.w);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_uniformRegisterVS[2].x & 0x00000020;
+R127i.y = uf_uniformRegisterVS[2].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_uniformRegisterVS[2].x & 0x00000004;
+PV0i.w = uf_uniformRegisterVS[2].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y));
+PV1i.x = R123i.x;
+R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x));
+PV1i.z = R123i.z;
+R125i.w = uf_uniformRegisterVS[2].x & 0x00000008;
+R127i.z = ((PV0i.y == 0)?(R5i.y):(R5i.y));
+PS1i = R127i.z;
+// 2
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z)));
+PV0i.x = R0i.x;
+PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
+R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+// 3
+R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
+PV1i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R5i.x):(PV0i.x));
+PV1i.w = R123i.w;
+// 4
+backupReg0i = R127i.x;
+R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.x = R127i.x;
+R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
+PV0i.w = R126i.w;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
+// 6
+R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R5i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
+R5i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R0i.x = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0);
+PV0i.x = R0i.x;
+PV0i.y = uf_uniformRegisterVS[2].x & 0x00020000;
+R127i.z = uf_uniformRegisterVS[2].x & 0x00040000;
+R126i.w = uf_uniformRegisterVS[2].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.y == 0)?(R5i.x):(PV0i.x));
+PV1i.x = R123i.x;
+R127i.w = ((PV0i.y == 0)?(R5i.y):(R5i.y));
+PV1i.w = R127i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R5i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
+R5i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+// 0
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[18].x),intBitsToFloat(uf_uniformRegisterVS[18].y),intBitsToFloat(uf_uniformRegisterVS[18].z),intBitsToFloat(uf_uniformRegisterVS[18].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+// 1
+PV1i.x = PV0i.x;
+R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(uf_uniformRegisterVS[0].y)));
+R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(uf_uniformRegisterVS[0].z)));
+R1i.w = PV0i.x;
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(uf_uniformRegisterVS[0].x)));
+PS1i = R0i.x;
+// 2
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[17].x),intBitsToFloat(uf_uniformRegisterVS[17].y),intBitsToFloat(uf_uniformRegisterVS[17].z),intBitsToFloat(uf_uniformRegisterVS[17].w))));
+PV0i.x = R1i.x;
+PV0i.y = R1i.x;
+PV0i.z = R1i.x;
+PV0i.w = R1i.x;
+R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R1i.y;
+// 3
+R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(uf_uniformRegisterVS[0].w)));
+}
+// export
+gl_Position = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w));
+if (isCurrentSizeEqualTo(vec2(32, 32)) ||
+	isCurrentSizeEqualTo(vec2(64, 64)) // hearts while taking damage
+	) {
+	gl_Position.y -= 9000.0;
+}
+// export
+passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
+// export
+passParameterSem1 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.x), intBitsToFloat(R6i.w));
+// export
+passParameterSem2 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.x), intBitsToFloat(R7i.w));
+// export
+passParameterSem3 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
+}
diff --git a/Modifications/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt b/Modifications/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt
new file mode 100644
index 00000000..96c328ff
--- /dev/null
+++ b/Modifications/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt
@@ -0,0 +1,480 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader b88c6020a8b17332
+// PRO+ hud v2
+uniform ivec4 uf_remappedVS[17];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+out gl_PerVertex
+{
+	vec4 gl_Position;
+	float gl_PointSize;
+};
+layout(location = 0) out vec4 passParameterSem0;
+int clampFI32(int v)
+{
+if( v == 0x7FFFFFFF )
+	return floatBitsToInt(1.0);
+else if( v == 0xFFFFFFFF )
+	return floatBitsToInt(0.0);
+return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
+}
+float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
+bool isCurrentSizeEqualTo(vec2 param) {
+	float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy);
+	return (result <= 0.001);
+}
+void main()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R122i = ivec4(0);
+ivec4 R123i = ivec4(0);
+ivec4 R124i = ivec4(0);
+ivec4 R125i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+bool activeMaskStack[4];
+bool activeMaskStackC[5];
+activeMaskStack[0] = false;
+activeMaskStack[1] = false;
+activeMaskStack[2] = false;
+activeMaskStackC[0] = false;
+activeMaskStackC[1] = false;
+activeMaskStackC[2] = false;
+activeMaskStackC[3] = false;
+activeMaskStack[0] = true;
+activeMaskStackC[0] = true;
+activeMaskStackC[1] = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xy = attrDataSem0.xy;
+attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
+attrDecoder.z = 0;
+attrDecoder.w = 0;
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x)));
+R0i.yzw = ivec3(floatBitsToInt(-(intBitsToFloat(R1i.y))),0,0x3f800000);
+PV0i.y = R0i.y;
+R127i.w = floatBitsToInt(1.0);
+PS0i = R127i.w;
+// 1
+R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y)));
+// 2
+R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w));
+PV0i.y = R0i.y;
+R1i.w = uf_remappedVS[1].x & 0x40000000;
+// 3
+backupReg0i = R0i.z;
+backupReg1i = R0i.w;
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
+PV1i.x = R127i.x;
+PV1i.y = R127i.x;
+PV1i.z = R127i.x;
+PV1i.w = R127i.x;
+// 4
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R127i.y = tempi.x;
+// 5
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R127i.z = tempi.x;
+// 6
+R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))));
+PV0i.x = R2i.x;
+PV0i.y = R2i.x;
+PV0i.z = R2i.x;
+PV0i.w = R2i.x;
+// 7
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R2i.y = tempi.x;
+// 8
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R2i.z = tempi.x;
+// 9
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R2i.w = tempi.x;
+// 10
+predResult = (0 != R1i.w);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R1i.z = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R1i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.x = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R126i.z = PV1i.x + PS1i;
+PV0i.z = R126i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R127i.z = ((PV1i.x == 0)?(uf_remappedVS[9].y):(uf_remappedVS[10].y));
+R127i.w = ((PV1i.x == 0)?(uf_remappedVS[9].x):(uf_remappedVS[10].x));
+// 5
+R123i.x = ((R127i.x == 0)?(uf_remappedVS[9].w):(uf_remappedVS[10].w));
+PV1i.x = R123i.x;
+R123i.y = ((R127i.x == 0)?(uf_remappedVS[9].z):(uf_remappedVS[10].z));
+PV1i.y = R123i.y;
+// 6
+R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_remappedVS[11].w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_remappedVS[11].z));
+PV0i.y = R123i.y;
+R123i.z = ((R127i.y == 0)?(R127i.z):(uf_remappedVS[11].y));
+PV0i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R127i.w):(uf_remappedVS[11].x));
+PV0i.w = R123i.w;
+// 7
+R1i.x = ((R126i.z == 0)?(uf_remappedVS[12].x):(PV0i.w));
+R1i.y = ((R126i.z == 0)?(uf_remappedVS[12].y):(PV0i.z));
+R1i.z = ((R126i.z == 0)?(uf_remappedVS[12].z):(PV0i.y));
+R1i.w = ((R126i.z == 0)?(uf_remappedVS[12].w):(PV0i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R1i.w = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R1i.w);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.x = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R126i.z = PV1i.x + PS1i;
+PV0i.z = R126i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R127i.z = ((PV1i.x == 0)?(uf_remappedVS[9].y):(uf_remappedVS[10].y));
+R127i.w = ((PV1i.x == 0)?(uf_remappedVS[9].x):(uf_remappedVS[10].x));
+// 5
+R123i.x = ((R127i.x == 0)?(uf_remappedVS[9].w):(uf_remappedVS[10].w));
+PV1i.x = R123i.x;
+R123i.y = ((R127i.x == 0)?(uf_remappedVS[9].z):(uf_remappedVS[10].z));
+PV1i.y = R123i.y;
+// 6
+R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_remappedVS[11].w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_remappedVS[11].z));
+PV0i.y = R123i.y;
+R123i.z = ((R127i.y == 0)?(R127i.z):(uf_remappedVS[11].y));
+PV0i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R127i.w):(uf_remappedVS[11].x));
+PV0i.w = R123i.w;
+// 7
+R1i.x = ((R126i.z == 0)?(uf_remappedVS[12].x):(PV0i.w));
+R1i.y = ((R126i.z == 0)?(uf_remappedVS[12].y):(PV0i.z));
+R1i.z = ((R126i.z == 0)?(uf_remappedVS[12].z):(PV0i.y));
+R1i.w = ((R126i.z == 0)?(uf_remappedVS[12].w):(PV0i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+predResult = (0 != uf_remappedVS[13].x);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))));
+PV0i.x = R1i.x;
+PV0i.y = R1i.x;
+PV0i.z = R1i.x;
+PV0i.w = R1i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R1i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R1i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R1i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.x = uf_remappedVS[1].x & int(1);
+// 1
+backupReg0i = R0i.x;
+predResult = (0 != backupReg0i);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.w = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R0i.w);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_remappedVS[1].x & 0x00010000;
+R127i.y = uf_remappedVS[1].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_remappedVS[1].x & 0x00000004;
+R127i.w = uf_remappedVS[1].x & 0x00000020;
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[14].y)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[14].x)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[14].x)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[14].y)));
+R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y));
+PS1i = R127i.z;
+// 2
+R123i.x = ((R127i.y == 0)?(R1i.w):(R1i.w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(R1i.z):(R1i.z));
+PV0i.y = R123i.y;
+R126i.z = ((R127i.x == 0)?(PV1i.x):(PV1i.z));
+PV0i.z = R126i.z;
+R123i.w = ((R127i.x == 0)?(PV1i.y):(PV1i.w));
+PV0i.w = R123i.w;
+R124i.y = uf_remappedVS[1].x & 0x00000008;
+PS0i = R124i.y;
+// 3
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)));
+PV1i.x = R0i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0);
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z)));
+R123i.w = ((R127i.w == 0)?(PV0i.y):(PV0i.y));
+PV1i.w = R123i.w;
+R122i.x = ((R127i.w == 0)?(PV0i.x):(PV0i.x));
+PS1i = R122i.x;
+// 4
+backupReg0i = R127i.y;
+R123i.x = ((R127i.w == 0)?(R127i.z):(PV1i.z));
+PV0i.x = R123i.x;
+R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
+R127i.z = ((R125i.z == 0)?(PV1i.w):(PV1i.w));
+R123i.w = ((backupReg0i == 0)?(R1i.x):(PV1i.x));
+PV0i.w = R123i.w;
+R126i.z = ((R125i.z == 0)?(PS1i):(PS1i));
+PS0i = R126i.z;
+// 5
+R127i.x = ((R125i.z == 0)?(PV0i.x):(PV0i.x));
+PV1i.x = R127i.x;
+R125i.y = ((R127i.w == 0)?(PV0i.w):(PV0i.w));
+PV1i.y = R125i.y;
+// 6
+R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y));
+PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.y));
+// 7
+R123i.y = ((R125i.z == 0)?(R125i.y):(PV0i.z));
+PV1i.y = R123i.y;
+// 8
+R1i.x = ((R124i.y == 0)?(PV1i.y):(PV1i.y));
+R1i.y = ((R124i.y == 0)?(R127i.x):(R126i.x));
+R1i.z = ((R124i.y == 0)?(R127i.z):(R127i.z));
+R1i.w = ((R124i.y == 0)?(R126i.z):(R126i.z));
+PS0i = R1i.w;
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R0i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0);
+PV0i.x = R0i.x;
+R126i.y = uf_remappedVS[1].x & 0x00010000;
+R127i.z = uf_remappedVS[1].x & 0x00040000;
+PV0i.w = uf_remappedVS[1].x & 0x00020000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z));
+PV1i.x = R123i.x;
+R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y));
+PV1i.y = R127i.y;
+R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w));
+PV1i.w = R123i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
+R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
+R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
+R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
+R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+// 0
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+// 1
+PV1i.x = PV0i.x;
+R0i.w = PV0i.x;
+PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedVS[16].w)));
+// 2
+R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),1.0)));
+PV0i.x = R0i.x;
+PV0i.y = R0i.x;
+PV0i.z = R0i.x;
+PV0i.w = R0i.x;
+R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R0i.y;
+}
+// export
+gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w));
+if (//isCurrentSizeEqualTo(vec2(36, 36)) || //master mode logo
+	isCurrentSizeEqualTo(vec2(80, 80)) ||
+	isCurrentSizeEqualTo(vec2(84, 84)) ||
+	isCurrentSizeEqualTo(vec2(90, 90)) //stamina red with weapon
+	) {
+	gl_Position.y -= 9000.0;
+}
+if (isCurrentSizeEqualTo(vec2(32, 32)) && // hearts but also inventory icons
+	(uf_remappedVS[3].w == 1133903872 || uf_remappedVS[3].w == 1134559232)) {
+	gl_Position.y -= 9000.0;
+}
+// export
+passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w));
+}
diff --git a/Modifications/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt b/Modifications/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt
new file mode 100644
index 00000000..4ac461dc
--- /dev/null
+++ b/Modifications/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt
@@ -0,0 +1,715 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader f56fcbd319ceba00
+// PRO+ hud v2
+uniform ivec4 uf_remappedVS[23];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+out gl_PerVertex
+{
+	vec4 gl_Position;
+	float gl_PointSize;
+};
+layout(location = 0) out vec4 passParameterSem0;
+layout(location = 1) out vec4 passParameterSem1;
+int clampFI32(int v)
+{
+if( v == 0x7FFFFFFF )
+	return floatBitsToInt(1.0);
+else if( v == 0xFFFFFFFF )
+	return floatBitsToInt(0.0);
+return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
+}
+float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
+bool isCurrentSizeEqualTo(vec2 param) {
+	float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy);
+	return (result <= 0.001);
+}
+void main()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R3i = ivec4(0);
+ivec4 R4i = ivec4(0);
+ivec4 R5i = ivec4(0);
+ivec4 R6i = ivec4(0);
+ivec4 R122i = ivec4(0);
+ivec4 R123i = ivec4(0);
+ivec4 R124i = ivec4(0);
+ivec4 R125i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+bool activeMaskStack[4];
+bool activeMaskStackC[5];
+activeMaskStack[0] = false;
+activeMaskStack[1] = false;
+activeMaskStack[2] = false;
+activeMaskStackC[0] = false;
+activeMaskStackC[1] = false;
+activeMaskStackC[2] = false;
+activeMaskStackC[3] = false;
+activeMaskStack[0] = true;
+activeMaskStackC[0] = true;
+activeMaskStackC[1] = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xy = attrDataSem0.xy;
+attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
+attrDecoder.z = 0;
+attrDecoder.w = 0;
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x)));
+R0i.yzw = ivec3(floatBitsToInt(-(intBitsToFloat(R1i.y))),0,0x3f800000);
+PV0i.y = R0i.y;
+R127i.w = floatBitsToInt(1.0);
+PS0i = R127i.w;
+// 1
+R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y)));
+// 2
+R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w));
+PV0i.y = R0i.y;
+R1i.w = uf_remappedVS[1].x & 0x40000000;
+// 3
+backupReg0i = R0i.z;
+backupReg1i = R0i.w;
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
+PV1i.x = R127i.x;
+PV1i.y = R127i.x;
+PV1i.z = R127i.x;
+PV1i.w = R127i.x;
+// 4
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R127i.y = tempi.x;
+// 5
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R127i.z = tempi.x;
+// 6
+R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))));
+PV0i.x = R5i.x;
+PV0i.y = R5i.x;
+PV0i.z = R5i.x;
+PV0i.w = R5i.x;
+// 7
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R5i.y = tempi.x;
+// 8
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R5i.z = tempi.x;
+// 9
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R5i.w = tempi.x;
+// 10
+R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].x)));
+R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].y)));
+R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].y)));
+PS0i = R3i.x;
+// 11
+R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].x)));
+// 12
+predResult = (0 != R1i.w);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R1i.z = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R1i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
+PV0i.y = R1i.y;
+PV0i.z = R1i.z;
+PV0i.w = R1i.w;
+// 1
+R4i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
+R4i.w = PV0i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.z = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R125i.x = PV1i.z + PS1i;
+PV0i.x = R125i.x;
+// 3
+R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
+R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.z = R127i.z;
+R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R126i.x = ((PV1i.z == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y));
+R127i.y = ((PV1i.z == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x));
+// 5
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+R127i.z = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w));
+R127i.w = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z));
+// 6
+R126i.z = ((R127i.x == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y));
+R125i.w = ((R127i.x == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x));
+// 7
+backupReg0i = R127i.x;
+backupReg0i = R127i.x;
+R127i.x = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w));
+R126i.y = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z));
+// 8
+backupReg0i = R126i.x;
+backupReg1i = R127i.y;
+backupReg2i = R127i.z;
+backupReg3i = R127i.w;
+R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[14].y));
+R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[14].x));
+R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[14].w));
+R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[14].z));
+// 9
+backupReg0i = R127i.x;
+backupReg1i = R126i.y;
+backupReg2i = R126i.z;
+backupReg3i = R125i.w;
+R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_remappedVS[15].w));
+R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_remappedVS[15].z));
+R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_remappedVS[15].y));
+R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_remappedVS[15].x));
+// 10
+R1i.x = ((R125i.x == 0)?(uf_remappedVS[16].x):(R127i.y));
+R1i.y = ((R125i.x == 0)?(uf_remappedVS[16].y):(R126i.x));
+R1i.z = ((R125i.x == 0)?(uf_remappedVS[16].z):(R127i.w));
+R1i.w = ((R125i.x == 0)?(uf_remappedVS[16].w):(R127i.z));
+// 11
+R4i.x = ((R125i.x == 0)?(uf_remappedVS[17].x):(R125i.w));
+R4i.y = ((R125i.x == 0)?(uf_remappedVS[17].y):(R126i.z));
+R4i.z = ((R125i.x == 0)?(uf_remappedVS[17].z):(R126i.y));
+R4i.w = ((R125i.x == 0)?(uf_remappedVS[17].w):(R127i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R4i.y = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R4i.y);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
+PV0i.y = R1i.y;
+PV0i.z = R1i.z;
+PV0i.w = R1i.w;
+// 1
+R4i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
+R4i.w = PV0i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.z = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R125i.x = PV1i.z + PS1i;
+PV0i.x = R125i.x;
+// 3
+R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
+R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.z = R127i.z;
+R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R126i.x = ((PV1i.z == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y));
+R127i.y = ((PV1i.z == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x));
+// 5
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+R127i.z = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w));
+R127i.w = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z));
+// 6
+R126i.z = ((R127i.x == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y));
+R125i.w = ((R127i.x == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x));
+// 7
+backupReg0i = R127i.x;
+backupReg0i = R127i.x;
+R127i.x = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w));
+R126i.y = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z));
+// 8
+backupReg0i = R126i.x;
+backupReg1i = R127i.y;
+backupReg2i = R127i.z;
+backupReg3i = R127i.w;
+R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[14].y));
+R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[14].x));
+R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[14].w));
+R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[14].z));
+// 9
+backupReg0i = R127i.x;
+backupReg1i = R126i.y;
+backupReg2i = R126i.z;
+backupReg3i = R125i.w;
+R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_remappedVS[15].w));
+R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_remappedVS[15].z));
+R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_remappedVS[15].y));
+R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_remappedVS[15].x));
+// 10
+R1i.x = ((R125i.x == 0)?(uf_remappedVS[16].x):(R127i.y));
+R1i.y = ((R125i.x == 0)?(uf_remappedVS[16].y):(R126i.x));
+R1i.z = ((R125i.x == 0)?(uf_remappedVS[16].z):(R127i.w));
+R1i.w = ((R125i.x == 0)?(uf_remappedVS[16].w):(R127i.z));
+// 11
+R4i.x = ((R125i.x == 0)?(uf_remappedVS[17].x):(R125i.w));
+R4i.y = ((R125i.x == 0)?(uf_remappedVS[17].y):(R126i.z));
+R4i.z = ((R125i.x == 0)?(uf_remappedVS[17].z):(R126i.y));
+R4i.w = ((R125i.x == 0)?(uf_remappedVS[17].w):(R127i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+predResult = (0 != uf_remappedVS[18].x);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w))));
+PV0i.x = R1i.x;
+PV0i.y = R1i.x;
+PV0i.z = R1i.x;
+PV0i.w = R1i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R1i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R1i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R1i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R6i.x = uf_remappedVS[1].x & int(1);
+// 1
+predResult = (0 != R6i.x);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R2i.w = uf_remappedVS[1].x & 0x00000002;
+// 1
+predResult = (0 != R2i.w);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+PV0i.x = uf_remappedVS[1].x & 0x00010000;
+R127i.y = uf_remappedVS[1].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_remappedVS[1].x & 0x00000004;
+R127i.w = uf_remappedVS[1].x & 0x00000020;
+// 1
+R123i.x = ((PV0i.y == 0)?(R1i.w):(R1i.w));
+PV1i.x = R123i.x;
+R123i.y = ((PV0i.y == 0)?(R1i.z):(R1i.z));
+PV1i.y = R123i.y;
+R126i.z = ((PV0i.x == 0)?(R2i.y):(R3i.y));
+PV1i.z = R126i.z;
+R123i.w = ((PV0i.x == 0)?(R2i.x):(R3i.x));
+PV1i.w = R123i.w;
+R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y));
+PS1i = R127i.z;
+// 2
+R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w)));
+PV0i.x = R6i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z)));
+R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y));
+PV0i.w = R123i.w;
+R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x));
+PS0i = R122i.x;
+// 3
+backupReg0i = R127i.y;
+R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z));
+PV1i.x = R123i.x;
+R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
+R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w));
+R123i.w = ((backupReg0i == 0)?(R1i.x):(PV0i.x));
+PV1i.w = R123i.w;
+R124i.z = ((R125i.z == 0)?(PS0i):(PS0i));
+PS1i = R124i.z;
+// 4
+R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.x = R127i.x;
+R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w));
+PV0i.y = R125i.y;
+R126i.z = uf_remappedVS[1].x & 0x00000008;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y));
+// 6
+R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R1i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y));
+R1i.y = ((R126i.z == 0)?(R127i.x):(R126i.x));
+R1i.z = ((R126i.z == 0)?(R127i.z):(R127i.z));
+// 8
+R1i.w = ((R126i.z == 0)?(R124i.z):(R124i.z));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R6i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0);
+PV0i.x = R6i.x;
+R126i.y = uf_remappedVS[1].x & 0x00010000;
+R127i.z = uf_remappedVS[1].x & 0x00040000;
+PV0i.w = uf_remappedVS[1].x & 0x00020000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z));
+PV1i.x = R123i.x;
+R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y));
+PV1i.y = R127i.y;
+R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w));
+PV1i.w = R123i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
+R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
+R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
+R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
+R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))));
+PV0i.x = R127i.x;
+PV0i.y = R127i.x;
+PV0i.z = R127i.x;
+PV0i.w = R127i.x;
+// 1
+backupReg0i = R1i.x;
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))));
+PV1i.x = R1i.x;
+PV1i.y = R1i.x;
+PV1i.z = R1i.x;
+PV1i.w = R1i.x;
+R1i.y = PV0i.x;
+PS1i = R1i.y;
+// 2
+R1i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
+R1i.w = R127i.x;
+// 3
+predResult = (0 != uf_remappedVS[18].y);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))));
+PV0i.x = R4i.x;
+PV0i.y = R4i.x;
+PV0i.z = R4i.x;
+PV0i.w = R4i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R4i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R4i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R4i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.y = uf_remappedVS[1].x & int(1);
+// 1
+predResult = (0 != R0i.y);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.x = uf_remappedVS[1].x & 0x00000002;
+// 1
+backupReg0i = R0i.x;
+predResult = (0 != backupReg0i);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_remappedVS[1].x & 0x00000020;
+R127i.y = uf_remappedVS[1].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_remappedVS[1].x & 0x00000004;
+PV0i.w = uf_remappedVS[1].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y));
+PV1i.x = R123i.x;
+R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x));
+PV1i.z = R123i.z;
+R125i.w = uf_remappedVS[1].x & 0x00000008;
+R127i.z = ((PV0i.y == 0)?(R4i.y):(R4i.y));
+PS1i = R127i.z;
+// 2
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z)));
+PV0i.x = R0i.x;
+PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
+R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+// 3
+R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
+PV1i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R4i.x):(PV0i.x));
+PV1i.w = R123i.w;
+// 4
+backupReg0i = R127i.x;
+R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.x = R127i.x;
+R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
+PV0i.w = R126i.w;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
+// 6
+R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R4i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
+R4i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R0i.x = floatBitsToInt(-(intBitsToFloat(R4i.x)) + 1.0);
+PV0i.x = R0i.x;
+PV0i.y = uf_remappedVS[1].x & 0x00020000;
+R127i.z = uf_remappedVS[1].x & 0x00040000;
+R126i.w = uf_remappedVS[1].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.y == 0)?(R4i.x):(PV0i.x));
+PV1i.x = R123i.x;
+R127i.w = ((PV0i.y == 0)?(R4i.y):(R4i.y));
+PV1i.w = R127i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R4i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
+R4i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+// 0
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+// 1
+PV1i.x = PV0i.x;
+R0i.w = PV0i.x;
+PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedVS[22].w)));
+// 2
+R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),1.0)));
+PV0i.x = R0i.x;
+PV0i.y = R0i.x;
+PV0i.z = R0i.x;
+PV0i.w = R0i.x;
+R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R0i.y;
+}
+// export
+gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
+if (isCurrentSizeEqualTo(vec2(70, 70)) ||
+	isCurrentSizeEqualTo(vec2(80, 80)) //stamina 3rd red flash
+	) {
+	gl_Position.y -= 9000.0;
+}
+
+if (isCurrentSizeEqualTo(vec2(56, 56)) &&
+	uf_remappedVS[9].x == 1016219941) {
+	// stamina 1st red flash but also shrine map marker glow
+	gl_Position.y -= 9000.0;
+}
+// export
+passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
+// export
+passParameterSem1 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w));
+}
diff --git a/Modifications/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt b/Modifications/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt
new file mode 100644
index 00000000..2589f629
--- /dev/null
+++ b/Modifications/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt
@@ -0,0 +1,1222 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader f7ba548c1fefe24a
+// PRO+ hud v2
+uniform ivec4 uf_uniformRegisterVS[256];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+out gl_PerVertex
+{
+	vec4 gl_Position;
+	float gl_PointSize;
+};
+layout(location = 0) out vec4 passParameterSem0;
+layout(location = 1) out vec4 passParameterSem1;
+layout(location = 2) out vec4 passParameterSem2;
+int clampFI32(int v)
+{
+if( v == 0x7FFFFFFF )
+	return floatBitsToInt(1.0);
+else if( v == 0xFFFFFFFF )
+	return floatBitsToInt(0.0);
+return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
+}
+float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
+bool isCurrentSizeEqualTo(vec2 param) {
+	float result = distance(param, intBitsToFloat(uf_uniformRegisterVS[17]).xy);
+	return (result <= 0.001);
+}
+void main()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R3i = ivec4(0);
+ivec4 R4i = ivec4(0);
+ivec4 R5i = ivec4(0);
+ivec4 R6i = ivec4(0);
+ivec4 R7i = ivec4(0);
+ivec4 R8i = ivec4(0);
+ivec4 R9i = ivec4(0);
+ivec4 R10i = ivec4(0);
+ivec4 R122i = ivec4(0);
+ivec4 R123i = ivec4(0);
+ivec4 R124i = ivec4(0);
+ivec4 R125i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+bool activeMaskStack[14];
+bool activeMaskStackC[15];
+activeMaskStack[0] = false;
+activeMaskStack[1] = false;
+activeMaskStack[2] = false;
+activeMaskStack[3] = false;
+activeMaskStack[4] = false;
+activeMaskStack[5] = false;
+activeMaskStack[6] = false;
+activeMaskStack[7] = false;
+activeMaskStack[8] = false;
+activeMaskStack[9] = false;
+activeMaskStack[10] = false;
+activeMaskStack[11] = false;
+activeMaskStack[12] = false;
+activeMaskStackC[0] = false;
+activeMaskStackC[1] = false;
+activeMaskStackC[2] = false;
+activeMaskStackC[3] = false;
+activeMaskStackC[4] = false;
+activeMaskStackC[5] = false;
+activeMaskStackC[6] = false;
+activeMaskStackC[7] = false;
+activeMaskStackC[8] = false;
+activeMaskStackC[9] = false;
+activeMaskStackC[10] = false;
+activeMaskStackC[11] = false;
+activeMaskStackC[12] = false;
+activeMaskStackC[13] = false;
+activeMaskStack[0] = true;
+activeMaskStackC[0] = true;
+activeMaskStackC[1] = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xy = attrDataSem0.xy;
+attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
+attrDecoder.z = 0;
+attrDecoder.w = 0;
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[17].x)));
+R0i.yzw = ivec3(floatBitsToInt(-(intBitsToFloat(R1i.y))),0,0x3f800000);
+PV0i.y = R0i.y;
+R127i.w = floatBitsToInt(1.0);
+PS0i = R127i.w;
+// 1
+R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[17].z));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[17].y)));
+// 2
+R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[17].w));
+PV0i.y = R0i.y;
+R1i.w = uf_uniformRegisterVS[2].x & 0x40000000;
+// 3
+backupReg0i = R0i.z;
+backupReg1i = R0i.w;
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[4].x),intBitsToFloat(uf_uniformRegisterVS[4].y),intBitsToFloat(uf_uniformRegisterVS[4].z),intBitsToFloat(uf_uniformRegisterVS[4].w))));
+PV1i.x = R127i.x;
+PV1i.y = R127i.x;
+PV1i.z = R127i.x;
+PV1i.w = R127i.x;
+// 4
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[5].x),intBitsToFloat(uf_uniformRegisterVS[5].y),intBitsToFloat(uf_uniformRegisterVS[5].z),intBitsToFloat(uf_uniformRegisterVS[5].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R127i.y = tempi.x;
+// 5
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[6].x),intBitsToFloat(uf_uniformRegisterVS[6].y),intBitsToFloat(uf_uniformRegisterVS[6].z),intBitsToFloat(uf_uniformRegisterVS[6].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R127i.z = tempi.x;
+// 6
+R9i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w))));
+PV0i.x = R9i.x;
+PV0i.y = R9i.x;
+PV0i.z = R9i.x;
+PV0i.w = R9i.x;
+// 7
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R9i.y = tempi.x;
+// 8
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R9i.z = tempi.x;
+// 9
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R9i.w = tempi.x;
+// 10
+R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[17].x), intBitsToFloat(uf_uniformRegisterVS[12].x)));
+R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[17].y), intBitsToFloat(uf_uniformRegisterVS[12].y)));
+R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[17].x), intBitsToFloat(uf_uniformRegisterVS[12].y)));
+PS0i = R3i.x;
+// 11
+R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[17].y), intBitsToFloat(uf_uniformRegisterVS[12].x)));
+// 12
+predResult = (0 != R1i.w);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R1i.z = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R1i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
+PV0i.y = R1i.y;
+PV0i.z = R1i.z;
+PV0i.w = R1i.w;
+// 1
+R5i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
+PV1i.x = R5i.x;
+PV1i.y = R5i.y;
+PV1i.z = R5i.z;
+R5i.w = PV0i.w;
+PV1i.w = R5i.w;
+// 2
+R6i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z);
+R6i.w = PV1i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.z = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R125i.x = PV1i.z + PS1i;
+PV0i.x = R125i.x;
+// 3
+R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
+R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.z = R127i.z;
+R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R126i.x = ((PV1i.z == 0)?(uf_uniformRegisterVS[25].y):(uf_uniformRegisterVS[24].y));
+R127i.y = ((PV1i.z == 0)?(uf_uniformRegisterVS[25].x):(uf_uniformRegisterVS[24].x));
+// 5
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+R127i.z = ((backupReg0i == 0)?(uf_uniformRegisterVS[25].w):(uf_uniformRegisterVS[24].w));
+R127i.w = ((backupReg0i == 0)?(uf_uniformRegisterVS[25].z):(uf_uniformRegisterVS[24].z));
+// 6
+R126i.z = ((R127i.x == 0)?(uf_uniformRegisterVS[29].y):(uf_uniformRegisterVS[28].y));
+R125i.w = ((R127i.x == 0)?(uf_uniformRegisterVS[29].x):(uf_uniformRegisterVS[28].x));
+// 7
+backupReg0i = R127i.x;
+backupReg0i = R127i.x;
+R127i.x = ((backupReg0i == 0)?(uf_uniformRegisterVS[29].w):(uf_uniformRegisterVS[28].w));
+R126i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[29].z):(uf_uniformRegisterVS[28].z));
+// 8
+backupReg0i = R126i.x;
+backupReg1i = R127i.y;
+backupReg2i = R127i.z;
+backupReg3i = R127i.w;
+R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[23].y));
+R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[23].x));
+R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[23].w));
+R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[23].z));
+// 9
+backupReg0i = R127i.x;
+backupReg1i = R126i.y;
+backupReg2i = R126i.z;
+backupReg3i = R125i.w;
+R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_uniformRegisterVS[27].w));
+R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_uniformRegisterVS[27].z));
+R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_uniformRegisterVS[27].y));
+R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_uniformRegisterVS[27].x));
+// 10
+R5i.x = ((R125i.x == 0)?(uf_uniformRegisterVS[22].x):(R127i.y));
+R5i.y = ((R125i.x == 0)?(uf_uniformRegisterVS[22].y):(R126i.x));
+R5i.z = ((R125i.x == 0)?(uf_uniformRegisterVS[22].z):(R127i.w));
+R5i.w = ((R125i.x == 0)?(uf_uniformRegisterVS[22].w):(R127i.z));
+// 11
+R6i.x = ((R125i.x == 0)?(uf_uniformRegisterVS[26].x):(R125i.w));
+R6i.y = ((R125i.x == 0)?(uf_uniformRegisterVS[26].y):(R126i.z));
+R6i.z = ((R125i.x == 0)?(uf_uniformRegisterVS[26].z):(R126i.y));
+R6i.w = ((R125i.x == 0)?(uf_uniformRegisterVS[26].w):(R127i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+// 0
+R4i.xyz = ivec3(0x437f0000,0x437f0000,0x437f0000);
+R4i.w = 0x437f0000;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+PV0i.y = uf_uniformRegisterVS[2].x >> 0x00000008;
+R1i.w = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+R4i.x = PV0i.y & 0x0000000f;
+// 2
+predResult = (0 != R1i.w);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R6i.y = R1i.y;
+R2i.z = 0;
+R1i.w = 0x3f800000;
+PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
+// 1
+R5i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
+PV1i.x = R5i.x;
+R4i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
+PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
+// 2
+R6i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i));
+PV0i.x = R6i.x;
+R5i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i));
+R7i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R7i.x;
+// 3
+R8i.x = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(PS0i));
+R1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
+PV1i.z = R1i.z;
+R10i.x = floatBitsToInt(-(intBitsToFloat(R4i.y)) + 1.0);
+PS1i = R10i.x;
+// 4
+R3i.z = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0);
+R2i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.z));
+// 5
+predResult = (R4i.x == 0);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)));
+R4i.y = R6i.x;
+PV0i.y = R4i.y;
+// 1
+R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[3] = activeMaskStack[3] == false;
+activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
+if( activeMaskStackC[4] == true ) {
+activeMaskStack[4] = activeMaskStack[3];
+activeMaskStackC[5] = activeMaskStackC[4];
+// 0
+predResult = (R4i.x == int(1));
+activeMaskStack[4] = predResult;
+activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true;
+}
+else {
+activeMaskStack[4] = false;
+activeMaskStackC[5] = false;
+}
+if( activeMaskStackC[5] == true ) {
+// 0
+backupReg0i = R4i.y;
+R4i.y = 0;
+PV0i.y = R4i.y;
+PV0i.z = R6i.x;
+PV0i.w = backupReg0i;
+// 1
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[4] = activeMaskStack[4] == false;
+activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
+if( activeMaskStackC[5] == true ) {
+activeMaskStack[5] = activeMaskStack[4];
+activeMaskStackC[6] = activeMaskStackC[5];
+// 0
+predResult = (R4i.x == 0x00000002);
+activeMaskStack[5] = predResult;
+activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true;
+}
+else {
+activeMaskStack[5] = false;
+activeMaskStackC[6] = false;
+}
+if( activeMaskStackC[6] == true ) {
+// 0
+backupReg0i = R5i.y;
+R5i.y = backupReg0i;
+PV0i.y = R5i.y;
+PV0i.z = R3i.z;
+PV0i.w = 0;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[5] = activeMaskStack[5] == false;
+activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true;
+if( activeMaskStackC[6] == true ) {
+activeMaskStack[6] = activeMaskStack[5];
+activeMaskStackC[7] = activeMaskStackC[6];
+// 0
+predResult = (R4i.x == 0x00000003);
+activeMaskStack[6] = predResult;
+activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true;
+}
+else {
+activeMaskStack[6] = false;
+activeMaskStackC[7] = false;
+}
+if( activeMaskStackC[7] == true ) {
+// 0
+backupReg0i = R4i.y;
+R4i.y = R3i.z;
+PV0i.y = R4i.y;
+PV0i.z = R5i.y;
+PV0i.w = backupReg0i;
+// 1
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[6] = activeMaskStack[6] == false;
+activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
+if( activeMaskStackC[7] == true ) {
+activeMaskStack[7] = activeMaskStack[6];
+activeMaskStackC[8] = activeMaskStackC[7];
+// 0
+predResult = (R4i.x == 0x00000004);
+activeMaskStack[7] = predResult;
+activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true;
+}
+else {
+activeMaskStack[7] = false;
+activeMaskStackC[8] = false;
+}
+if( activeMaskStackC[8] == true ) {
+// 0
+R4i.y = R2i.w;
+PV0i.y = R4i.y;
+PV0i.z = R6i.x;
+PV0i.w = 0;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[7] = activeMaskStack[7] == false;
+activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true;
+if( activeMaskStackC[8] == true ) {
+activeMaskStack[8] = activeMaskStack[7];
+activeMaskStackC[9] = activeMaskStackC[8];
+// 0
+predResult = (R4i.x == 0x00000005);
+activeMaskStack[8] = predResult;
+activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true;
+}
+else {
+activeMaskStack[8] = false;
+activeMaskStackC[9] = false;
+}
+if( activeMaskStackC[9] == true ) {
+// 0
+backupReg0i = R4i.y;
+R4i.y = R6i.x;
+PV0i.y = R4i.y;
+PV0i.z = R2i.w;
+PV0i.w = backupReg0i;
+// 1
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[8] = activeMaskStack[8] == false;
+activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
+if( activeMaskStackC[9] == true ) {
+activeMaskStack[9] = activeMaskStack[8];
+activeMaskStackC[10] = activeMaskStackC[9];
+// 0
+predResult = (R4i.x == 0x00000006);
+activeMaskStack[9] = predResult;
+activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true;
+}
+else {
+activeMaskStack[9] = false;
+activeMaskStackC[10] = false;
+}
+if( activeMaskStackC[10] == true ) {
+// 0
+R4i.y = R6i.x;
+PV0i.y = R4i.y;
+R5i.y = 0;
+PS0i = R5i.y;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
+}
+activeMaskStack[9] = activeMaskStack[9] == false;
+activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true;
+if( activeMaskStackC[10] == true ) {
+activeMaskStack[10] = activeMaskStack[9];
+activeMaskStackC[11] = activeMaskStackC[10];
+// 0
+predResult = (R4i.x == 0x00000007);
+activeMaskStack[10] = predResult;
+activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true;
+}
+else {
+activeMaskStack[10] = false;
+activeMaskStackC[11] = false;
+}
+if( activeMaskStackC[11] == true ) {
+// 0
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i)));
+R4i.y = R5i.y;
+PV0i.y = R4i.y;
+R5i.y = R3i.z;
+PS0i = R5i.y;
+// 1
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
+}
+activeMaskStack[10] = activeMaskStack[10] == false;
+activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
+if( activeMaskStackC[11] == true ) {
+activeMaskStack[11] = activeMaskStack[10];
+activeMaskStackC[12] = activeMaskStackC[11];
+// 0
+predResult = (R4i.x == 0x00000008);
+activeMaskStack[11] = predResult;
+activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true;
+}
+else {
+activeMaskStack[11] = false;
+activeMaskStackC[12] = false;
+}
+if( activeMaskStackC[12] == true ) {
+// 0
+R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R10i.x)));
+R4i.y = R6i.x;
+PV0i.y = R4i.y;
+// 1
+R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[11] = activeMaskStack[11] == false;
+activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true;
+if( activeMaskStackC[12] == true ) {
+activeMaskStack[12] = activeMaskStack[11];
+activeMaskStackC[13] = activeMaskStackC[12];
+// 0
+predResult = (R4i.x == 0x00000009);
+activeMaskStack[12] = predResult;
+activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true;
+}
+else {
+activeMaskStack[12] = false;
+activeMaskStackC[13] = false;
+}
+if( activeMaskStackC[13] == true ) {
+// 0
+backupReg0i = R4i.y;
+R4i.y = 0;
+PV0i.y = R4i.y;
+PV0i.z = R3i.z;
+PV0i.w = backupReg0i;
+// 1
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[12] = activeMaskStack[12] == false;
+activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
+if( activeMaskStackC[13] == true ) {
+activeMaskStack[13] = activeMaskStack[12];
+activeMaskStackC[14] = activeMaskStackC[13];
+// 0
+predResult = (R4i.x == 0x0000000a);
+activeMaskStack[13] = predResult;
+activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true;
+}
+else {
+activeMaskStack[13] = false;
+activeMaskStackC[14] = false;
+}
+if( activeMaskStackC[14] == true ) {
+// 0
+R4i.y = R1i.z;
+PV0i.y = R4i.y;
+PV0i.z = R6i.x;
+PV0i.w = 0;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[13] = activeMaskStack[13] == false;
+activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true;
+if( activeMaskStackC[14] == true ) {
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R10i.x)));
+R4i.y = R2i.w;
+PV0i.y = R4i.y;
+R127i.z = (R4i.x == 0x0000000c)?int(0xFFFFFFFF):int(0x0);
+PV0i.z = R127i.z;
+R127i.w = (R4i.x == 0x0000000b)?int(0xFFFFFFFF):int(0x0);
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+R4i.y = R3i.z;
+PV1i.y = R4i.y;
+R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(R5i.x)));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.z == 0)?(0):(PV0i.x));
+PV1i.w = R123i.w;
+// 2
+R5i.x = ((R127i.w == 0)?(PV1i.w):(PV1i.z));
+R123i.z = ((R127i.z == 0)?(0):(PV1i.x));
+PV0i.z = R123i.z;
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.y)));
+PV0i.w = R123i.w;
+// 3
+R5i.y = ((R127i.w == 0)?(PV0i.z):(PV0i.w));
+}
+activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
+activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
+activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
+activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
+activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0);
+PV0i.x = R127i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0);
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].x)));
+// 2
+R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[20].w)) + intBitsToFloat(PV1i.x)));
+R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[20].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[20].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[20].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+// 3
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].x)));
+R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
+PS1i = R127i.w;
+// 4
+backupReg0i = R127i.z;
+R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[21].w)) + intBitsToFloat(PV1i.x)));
+R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[21].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[21].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[21].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i)));
+PS0i = R126i.z;
+// 5
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
+R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
+PS1i = R4i.x;
+// 6
+R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
+R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
+R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
+// 7
+R5i.xyz = ivec3(R1i.x,R6i.y,R2i.z);
+PV1i.x = R5i.x;
+PV1i.y = R5i.y;
+PV1i.z = R5i.z;
+R5i.w = R1i.w;
+PV1i.w = R5i.w;
+// 8
+R6i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z);
+R6i.w = PV1i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.z = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R7i.x = PV1i.z + PS1i;
+PV0i.x = R7i.x;
+// 3
+R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
+R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.z = R127i.z;
+R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R126i.x = ((PV1i.z == 0)?(uf_uniformRegisterVS[25].y):(uf_uniformRegisterVS[24].y));
+R127i.y = ((PV1i.z == 0)?(uf_uniformRegisterVS[25].x):(uf_uniformRegisterVS[24].x));
+// 5
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+R127i.z = ((backupReg0i == 0)?(uf_uniformRegisterVS[25].w):(uf_uniformRegisterVS[24].w));
+R127i.w = ((backupReg0i == 0)?(uf_uniformRegisterVS[25].z):(uf_uniformRegisterVS[24].z));
+// 6
+R126i.z = ((R127i.x == 0)?(uf_uniformRegisterVS[29].y):(uf_uniformRegisterVS[28].y));
+R125i.w = ((R127i.x == 0)?(uf_uniformRegisterVS[29].x):(uf_uniformRegisterVS[28].x));
+// 7
+backupReg0i = R127i.x;
+backupReg0i = R127i.x;
+R127i.x = ((backupReg0i == 0)?(uf_uniformRegisterVS[29].w):(uf_uniformRegisterVS[28].w));
+R126i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[29].z):(uf_uniformRegisterVS[28].z));
+// 8
+backupReg0i = R126i.x;
+backupReg1i = R127i.y;
+backupReg2i = R127i.z;
+backupReg3i = R127i.w;
+R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[23].y));
+R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[23].x));
+R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[23].w));
+R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[23].z));
+// 9
+backupReg0i = R127i.x;
+backupReg1i = R126i.y;
+backupReg2i = R126i.z;
+backupReg3i = R125i.w;
+R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_uniformRegisterVS[27].w));
+R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_uniformRegisterVS[27].z));
+R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_uniformRegisterVS[27].y));
+R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_uniformRegisterVS[27].x));
+// 10
+R5i.x = ((R7i.x == 0)?(uf_uniformRegisterVS[22].x):(R127i.y));
+R5i.y = ((R7i.x == 0)?(uf_uniformRegisterVS[22].y):(R126i.x));
+R5i.z = ((R7i.x == 0)?(uf_uniformRegisterVS[22].z):(R127i.w));
+R5i.w = ((R7i.x == 0)?(uf_uniformRegisterVS[22].w):(R127i.z));
+// 11
+R6i.x = ((R7i.x == 0)?(uf_uniformRegisterVS[26].x):(R125i.w));
+R6i.y = ((R7i.x == 0)?(uf_uniformRegisterVS[26].y):(R126i.z));
+R6i.z = ((R7i.x == 0)?(uf_uniformRegisterVS[26].z):(R126i.y));
+R6i.w = ((R7i.x == 0)?(uf_uniformRegisterVS[26].w):(R127i.x));
+// 12
+predResult = (R4i.x == 0x0000000d);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
+// 1
+PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i));
+PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i));
+PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
+// 2
+R127i.x = PV1i.z;
+R127i.y = PV1i.w;
+PV0i.y = R127i.y;
+R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
+PV0i.z = R127i.z;
+R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
+// 3
+PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
+PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
+// 4
+PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w));
+// 5
+backupReg0i = R127i.z;
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y)));
+PV1i.z = R127i.z;
+R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i)));
+PV1i.w = R126i.w;
+// 6
+R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+PV0i.x = R127i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 7
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].x)));
+// 8
+R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[20].w)) + intBitsToFloat(PV1i.x)));
+R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[20].z)) + intBitsToFloat(PV1i.y)));
+R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[20].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[20].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+// 9
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].x)));
+R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
+PS1i = R127i.w;
+// 10
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+backupReg1i = R126i.z;
+R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[21].w)) + intBitsToFloat(PV1i.x)));
+R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[21].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[21].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[21].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i)));
+PS0i = R126i.z;
+// 11
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
+R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
+PS1i = R4i.x;
+// 12
+R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
+R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
+R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
+}
+activeMaskStack[3] = activeMaskStack[3] == false;
+activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = floatBitsToInt(float(R7i.x));
+PS0i = R127i.x;
+// 1
+tempResultf = intBitsToFloat(PS0i);
+tempResultf = floor(tempResultf);
+tempResultf = clamp(tempResultf, -256.0, 255.0);
+ARi.x = int(tempResultf);
+PV1i.x = floatBitsToInt(tempResultf);
+// 2
+R4i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+18].x,uf_uniformRegisterVS[ARi.x+18].y,uf_uniformRegisterVS[ARi.x+18].z);
+R4i.w = uf_uniformRegisterVS[ARi.x+18].w;
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+predResult = (0 != uf_uniformRegisterVS[3].x);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[22].x),intBitsToFloat(uf_uniformRegisterVS[22].y),intBitsToFloat(uf_uniformRegisterVS[22].z),intBitsToFloat(uf_uniformRegisterVS[22].w))));
+PV0i.x = R5i.x;
+PV0i.y = R5i.x;
+PV0i.z = R5i.x;
+PV0i.w = R5i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[23].x),intBitsToFloat(uf_uniformRegisterVS[23].y),intBitsToFloat(uf_uniformRegisterVS[23].z),intBitsToFloat(uf_uniformRegisterVS[23].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R5i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[24].x),intBitsToFloat(uf_uniformRegisterVS[24].y),intBitsToFloat(uf_uniformRegisterVS[24].z),intBitsToFloat(uf_uniformRegisterVS[24].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R5i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[25].x),intBitsToFloat(uf_uniformRegisterVS[25].y),intBitsToFloat(uf_uniformRegisterVS[25].z),intBitsToFloat(uf_uniformRegisterVS[25].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R5i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R1i.z = uf_uniformRegisterVS[2].x & int(1);
+// 1
+predResult = (0 != R1i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R1i.y = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R1i.y);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+PV0i.x = uf_uniformRegisterVS[2].x & 0x00010000;
+R127i.y = uf_uniformRegisterVS[2].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_uniformRegisterVS[2].x & 0x00000004;
+R127i.w = uf_uniformRegisterVS[2].x & 0x00000020;
+// 1
+R123i.x = ((PV0i.y == 0)?(R5i.w):(R5i.w));
+PV1i.x = R123i.x;
+R123i.y = ((PV0i.y == 0)?(R5i.z):(R5i.z));
+PV1i.y = R123i.y;
+R126i.z = ((PV0i.x == 0)?(R2i.y):(R3i.y));
+PV1i.z = R126i.z;
+R123i.w = ((PV0i.x == 0)?(R2i.x):(R3i.x));
+PV1i.w = R123i.w;
+R127i.z = ((PV0i.y == 0)?(R5i.y):(R5i.y));
+PS1i = R127i.z;
+// 2
+R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w)));
+PV0i.x = R1i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z)));
+R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y));
+PV0i.w = R123i.w;
+R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x));
+PS0i = R122i.x;
+// 3
+backupReg0i = R127i.y;
+R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z));
+PV1i.x = R123i.x;
+R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
+R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w));
+R123i.w = ((backupReg0i == 0)?(R5i.x):(PV0i.x));
+PV1i.w = R123i.w;
+R124i.z = ((R125i.z == 0)?(PS0i):(PS0i));
+PS1i = R124i.z;
+// 4
+R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.x = R127i.x;
+R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w));
+PV0i.y = R125i.y;
+R126i.z = uf_uniformRegisterVS[2].x & 0x00000008;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y));
+// 6
+R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R5i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y));
+R5i.y = ((R126i.z == 0)?(R127i.x):(R126i.x));
+R5i.z = ((R126i.z == 0)?(R127i.z):(R127i.z));
+// 8
+R5i.w = ((R126i.z == 0)?(R124i.z):(R124i.z));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R1i.x = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0);
+PV0i.x = R1i.x;
+R126i.y = uf_uniformRegisterVS[2].x & 0x00010000;
+R127i.z = uf_uniformRegisterVS[2].x & 0x00040000;
+PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R5i.z):(R5i.z));
+PV1i.x = R123i.x;
+R127i.y = ((PV0i.w == 0)?(R5i.y):(R5i.y));
+PV1i.y = R127i.y;
+R123i.z = ((PV0i.w == 0)?(R5i.x):(PV0i.x));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.w == 0)?(R5i.w):(R5i.w));
+PV1i.w = R123i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
+R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R5i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
+R5i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
+R5i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
+R5i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[14].x),intBitsToFloat(uf_uniformRegisterVS[14].y),intBitsToFloat(uf_uniformRegisterVS[14].z),intBitsToFloat(uf_uniformRegisterVS[14].w))));
+PV0i.x = R127i.x;
+PV0i.y = R127i.x;
+PV0i.z = R127i.x;
+PV0i.w = R127i.x;
+// 1
+backupReg0i = R5i.x;
+R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[13].x),intBitsToFloat(uf_uniformRegisterVS[13].y),intBitsToFloat(uf_uniformRegisterVS[13].z),intBitsToFloat(uf_uniformRegisterVS[13].w))));
+PV1i.x = R5i.x;
+PV1i.y = R5i.x;
+PV1i.z = R5i.x;
+PV1i.w = R5i.x;
+R1i.y = PV0i.x;
+PS1i = R1i.y;
+// 2
+R5i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
+R5i.w = R127i.x;
+// 3
+predResult = (0 != uf_uniformRegisterVS[3].y);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[26].x),intBitsToFloat(uf_uniformRegisterVS[26].y),intBitsToFloat(uf_uniformRegisterVS[26].z),intBitsToFloat(uf_uniformRegisterVS[26].w))));
+PV0i.x = R6i.x;
+PV0i.y = R6i.x;
+PV0i.z = R6i.x;
+PV0i.w = R6i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.z;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[27].x),intBitsToFloat(uf_uniformRegisterVS[27].y),intBitsToFloat(uf_uniformRegisterVS[27].z),intBitsToFloat(uf_uniformRegisterVS[27].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R6i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[28].x),intBitsToFloat(uf_uniformRegisterVS[28].y),intBitsToFloat(uf_uniformRegisterVS[28].z),intBitsToFloat(uf_uniformRegisterVS[28].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R6i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.z;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[29].x),intBitsToFloat(uf_uniformRegisterVS[29].y),intBitsToFloat(uf_uniformRegisterVS[29].z),intBitsToFloat(uf_uniformRegisterVS[29].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R6i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.w = uf_uniformRegisterVS[2].x & int(1);
+// 1
+predResult = (0 != R0i.w);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.z = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_uniformRegisterVS[2].x & 0x00000020;
+R127i.y = uf_uniformRegisterVS[2].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_uniformRegisterVS[2].x & 0x00000004;
+PV0i.w = uf_uniformRegisterVS[2].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y));
+PV1i.x = R123i.x;
+R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x));
+PV1i.z = R123i.z;
+R125i.w = uf_uniformRegisterVS[2].x & 0x00000008;
+R127i.z = ((PV0i.y == 0)?(R6i.y):(R6i.y));
+PS1i = R127i.z;
+// 2
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.z)));
+PV0i.x = R0i.x;
+PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
+R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+// 3
+R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
+PV1i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R6i.x):(PV0i.x));
+PV1i.w = R123i.w;
+// 4
+backupReg0i = R127i.x;
+R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.x = R127i.x;
+R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
+PV0i.w = R126i.w;
+// 5
+R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
+PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
+// 6
+R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
+PV0i.y = R123i.y;
+// 7
+R6i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
+R6i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R0i.x = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0);
+PV0i.x = R0i.x;
+PV0i.y = uf_uniformRegisterVS[2].x & 0x00020000;
+R127i.z = uf_uniformRegisterVS[2].x & 0x00040000;
+R126i.w = uf_uniformRegisterVS[2].x & 0x00010000;
+// 1
+R123i.x = ((PV0i.y == 0)?(R6i.x):(PV0i.x));
+PV1i.x = R123i.x;
+R127i.w = ((PV0i.y == 0)?(R6i.y):(R6i.y));
+PV1i.w = R127i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R6i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
+R6i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+// 0
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[16].x),intBitsToFloat(uf_uniformRegisterVS[16].y),intBitsToFloat(uf_uniformRegisterVS[16].z),intBitsToFloat(uf_uniformRegisterVS[16].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+// 1
+PV1i.x = PV0i.x;
+R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_uniformRegisterVS[0].y)));
+R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(uf_uniformRegisterVS[0].z)));
+R1i.w = PV0i.x;
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(uf_uniformRegisterVS[0].x)));
+PS1i = R0i.x;
+// 2
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[15].x),intBitsToFloat(uf_uniformRegisterVS[15].y),intBitsToFloat(uf_uniformRegisterVS[15].z),intBitsToFloat(uf_uniformRegisterVS[15].w))));
+PV0i.x = R1i.x;
+PV0i.y = R1i.x;
+PV0i.z = R1i.x;
+PV0i.w = R1i.x;
+R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R1i.y;
+// 3
+R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_uniformRegisterVS[0].w)));
+}
+// export
+gl_Position = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w));
+if (isCurrentSizeEqualTo(vec2(56, 56))
+	|| isCurrentSizeEqualTo(vec2(70, 70))) {
+	gl_Position.y -= 9000.0;
+}
+if (isCurrentSizeEqualTo(vec2(80, 80)) &&
+	(uf_uniformRegisterVS[7].x == 1069928833)) {
+	//stamina 3rd circle, but also inventory orb glow
+	gl_Position.y -= 9000.0;
+}
+// export
+passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
+// export
+passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.x), intBitsToFloat(R5i.w));
+// export
+passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
+}
diff --git a/Modifications/BreathOfTheWild_Pro+/rules.txt b/Modifications/BreathOfTheWild_Pro+/rules.txt
new file mode 100644
index 00000000..b25eb44c
--- /dev/null
+++ b/Modifications/BreathOfTheWild_Pro+/rules.txt
@@ -0,0 +1,27 @@
+[Definition]
+titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
+name = "Pro+ HUD"
+path = "The Legend of Zelda: Breath of the Wild/Modifications/Pro+ HUD"
+description = ""
+version = 3
+
+[TextureRedefine] # Disable Hearts
+width = 48
+height = 48
+formats = 0x007
+tilemodes = 4
+overwriteFormat = 0x005
+
+[TextureRedefine] # Disable text from subtitles, currupts some text.
+width = 1024
+height = 1024
+formats = 0x034
+# Remove the hash sign ('#') from the line below to enable.
+#overwriteFormat = 0x235
+
+[TextureRedefine] # Disable text from subtitles, currupts some text.
+width = 512
+height = 1024
+formats = 0x034
+# Remove the hash sign ('#') from the line below to enable.
+#overwriteFormat = 0x235
diff --git a/Modifications/TwilightPrincessHD_removeHaze/patches.txt b/Modifications/TwilightPrincessHD_RemoveHaze/patches.txt
similarity index 100%
rename from Modifications/TwilightPrincessHD_removeHaze/patches.txt
rename to Modifications/TwilightPrincessHD_RemoveHaze/patches.txt
diff --git a/Modifications/TwilightPrincessHD_removeHaze/rules.txt b/Modifications/TwilightPrincessHD_RemoveHaze/rules.txt
similarity index 63%
rename from Modifications/TwilightPrincessHD_removeHaze/rules.txt
rename to Modifications/TwilightPrincessHD_RemoveHaze/rules.txt
index 1c6482bf..afbb6728 100644
--- a/Modifications/TwilightPrincessHD_removeHaze/rules.txt
+++ b/Modifications/TwilightPrincessHD_RemoveHaze/rules.txt
@@ -1,26 +1,26 @@
 [Definition]
 titleIds = 000500001019C800,000500001019E600,000500001019E500
-name = Resolution
-path = "The Legend of Zelda: Twilight Princess HD/Graphics/Less distance fog"
-description = Set distance fog and exposure  
+name = Distant Fog
+path = "The Legend of Zelda: Twilight Princess HD/Modifications/Distant Fog"
+description = Sets the depth and exposure of distant fog.
 version = 3
 
 [Preset]
-name = default
+name = Default
 $distanceFog = 21.0
 $nearExp = 0.004
 $bloomExp = 0.004
 $distExp = 0.004
 
 [Preset]
-name = half distance fog
+name = Half-distant fog
 $distanceFog = 22.0
 $nearExp = 0.004
 $bloomExp = 0.004
 $distExp = 0.004
 
 [Preset]
-name = no distance fog
+name = No distant fog
 $distanceFog = 60.0
 $nearExp = 0.004
 $bloomExp = 0.004
@@ -28,15 +28,14 @@ $distExp = 0.004
 
 
 [Preset]
-name = less over exposure
+name = Low exposure
 $distanceFog = 21.0
 $nearExp = 0.00375
 $bloomExp = 0.00375
 $distExp = 0.00375
 
-
 [Preset]
-name = even less exposure 
+name = Lowest exposure
 $distanceFog = 22.0
 $nearExp = 0.003
 $bloomExp = 0.00325
diff --git a/Source/BreathOfTheWild/rules.txt b/Source/BreathOfTheWild/rules.txt
index 2291e779..6fffcea1 100644
--- a/Source/BreathOfTheWild/rules.txt
+++ b/Source/BreathOfTheWild/rules.txt
@@ -12,7 +12,7 @@ $height = 720
 $gameWidth = 1280
 $gameHeight = 720
 
-// For [4:3] resolutions that are multiples of 320x180
+// For [16:9], choose resolutions that are multiples of 320x180
 // Performance
 
 [Preset]
@@ -90,7 +90,7 @@ $gameWidth = 1280
 $gameHeight = 720
 
 
-// For [21:9] resolutions that are multiples of 420x180
+// For [21:9], choose resolutions that are multiples of 420x180
 // Performance
 
 [Preset]
@@ -144,7 +144,7 @@ $height = 2880
 $gameWidth = 1280
 $gameHeight = 720
 
-// Enthusiats
+// Enthusiast
 
 [Preset]
 name = (21:9) 10080x4320
@@ -161,6 +161,58 @@ $gameWidth = 1280
 $gameHeight = 720
 
 
+// For [48:9], choose resolutions that are multiples of 960x180
+
+[Preset]
+name = (48:9) 1920x360
+$width = 1920
+$height = 360
+$gameWidth = 1280
+$gameHeight = 720
+
+[Preset]
+name = (48:9) 3840x720
+$width = 3840
+$height = 720
+$gameWidth = 1280
+$gameHeight = 720
+
+[Preset]
+name = (48:9) 4800x900
+$width = 4800
+$height = 900
+$gameWidth = 1280
+$gameHeight = 720
+
+[Preset]
+name = (48:9) 11520x2160
+$width = 11520
+$height = 2160
+$gameWidth = 1280
+$gameHeight = 720
+
+[Preset]
+name = (48:9) 15360x2880
+$width = 15360
+$height = 2880
+$gameWidth = 1280
+$gameHeight = 720
+
+[Preset]
+name = (48:9) 23040x4320
+$width = 23040
+$height = 4320
+$gameWidth = 1280
+$gameHeight = 720
+
+[Preset]
+name = (48:9) 30720x5760
+$width = 30720
+$height = 5760
+$gameWidth = 1280
+$gameHeight = 720
+
+
 # All 720p textures:
 # - 0x001=World Lighting Red8
 # - 0x005=Link and Objects Depth
diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt
index 46a62fec..c8725b00 100644
--- a/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt
+++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt
@@ -1,7 +1,7 @@
 [Definition]
 titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
 name = "NVIDIA Explosion Smoke Workaround"
-path = "The Legend of Zelda: Breath of the Wild/Workaround/NVIDIA Explosion Smoke"
+path = "The Legend of Zelda: Breath of the Wild/Workarounds/NVIDIA Explosion Smoke"
 description = "Partially fixes thin paper look explosion smoke on NVIDIA when using accurateShaderMul = true."
 version = 3
 
diff --git a/Workarounds/WindWakerHD_IntelFixes/rules.txt b/Workarounds/WindWakerHD_IntelFixes/rules.txt
index 70236494..f6898905 100644
--- a/Workarounds/WindWakerHD_IntelFixes/rules.txt
+++ b/Workarounds/WindWakerHD_IntelFixes/rules.txt
@@ -1,4 +1,6 @@
 [Definition]
 titleIds = 0005000010143500,0005000010143600
-name = "The Legend of Zelda: The Wind Waker HD - Intel Fixes" #thanks BenjaminLSR!
-version = 2
+name= Intel Fixes
+path = "The Legend of Zelda: The Wind Waker HD/Workarounds/Intel Fixes"
+description = "Fixes graphical bugs while using an Intel iGPU."
+version = 3
\ No newline at end of file
diff --git a/Workarounds/Wonderful101_ShadowRemoval/rules.txt b/Workarounds/Wonderful101_ShadowRemoval/rules.txt
index 663e0527..4c1460ab 100644
--- a/Workarounds/Wonderful101_ShadowRemoval/rules.txt
+++ b/Workarounds/Wonderful101_ShadowRemoval/rules.txt
@@ -1,6 +1,6 @@
 [Definition]
 titleIds = 0005000010116300,000500001012DC00,0005000010135300
 name = Shadow Removal
-path = "The Wonderful 101/Workaround/Shadow Removal"
+path = "The Wonderful 101/Workarounds/Shadow Removal"
 description = This removes all broken shadows.
 version = 3
diff --git a/Workarounds/XenobladeX_AdjustableBrightnessAMD/rules.txt b/Workarounds/XenobladeX_AdjustableBrightnessAMD/rules.txt
index 02775c06..952aac8a 100644
--- a/Workarounds/XenobladeX_AdjustableBrightnessAMD/rules.txt
+++ b/Workarounds/XenobladeX_AdjustableBrightnessAMD/rules.txt
@@ -1,6 +1,6 @@
 [Definition]
 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
-name = Brightness workaround AMD
-path = "Xenoblade Chronicles X/Workaround/AMD Brightness Workaround"
+name = Brightness Workaround AMD
+path = "Xenoblade Chronicles X/Workarounds/AMD Brightness Workaround"
 description = Slightly less overbright/dark. Edit shader for preference.
 version = 3
\ No newline at end of file
diff --git a/Workarounds/XenobladeX_AdjustableBrightnessNvidia/rules.txt b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/rules.txt
index f81b9f7b..b2426dfb 100644
--- a/Workarounds/XenobladeX_AdjustableBrightnessNvidia/rules.txt
+++ b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/rules.txt
@@ -1,6 +1,6 @@
 [Definition]
 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
-name = Brightness workaround Nvida
-path = "Xenoblade Chronicles X/Workaround/NVIDIA Brightness Workaround"
+name = Brightness Workaround Nvidia
+path = "Xenoblade Chronicles X/Workarounds/NVIDIA Brightness Workaround"
 description = Slightly less overbright/dark. Edit shader for preference.
 version = 3
\ No newline at end of file