Browse Source

refactor ground model building for different ground model types

Kolja Strohm 1 year ago
parent
commit
b5ec0599b2

+ 22 - 14
FactoryCraft/Block.cpp

@@ -17,7 +17,8 @@ Block::Block(const BlockType* zType,
       zType(zType),
       location(pos),
       maxHP((float)maxHP),
-      needRequestModelInfo(needRequestModelInfo)
+      needRequestModelInfo(needRequestModelInfo),
+      partOfModel(0)
 {
     hp = (float)maxHP;
     memset(sideVisible, 0, 6);
@@ -42,6 +43,10 @@ void Block::beforeRender(
     FactoryCraftModel::beforeRender(api, zVertexShader, zPixelShader);
 }
 
+void Block::setFill(short fill) {
+    this->fill = fill;
+}
+
 void Block::api(char* message)
 {
     switch (message[0])
@@ -72,24 +77,22 @@ void Block::api(char* message)
                 World::INSTANCE->getChunkCenter(location.x, location.y));
             if (zChunk)
             {
-                zChunk->setModelChanged(this);
+                zChunk->setModelChanged(partOfModel);
             }
             break;
         }
     case 2: // update fluid fill state
         {
-            short fluidAmount = *(short*)(message + 1);
-            if (this->skelett)
+            short tmp = *(short*)(message + 1);
+            if (tmp != fill)
             {
-                float z = (float)fluidAmount / 1000.f;
-                Bone* b = this->skelett->zRootBone()->zFirstChild();
-                b->setPosition(Vec3<float>(0.f, 0.f, z - 1));
-                b = b->zFirstSibling();
-                b->setPosition(Vec3<float>(0.f, 0.f, z - 1));
-                b = b->zFirstSibling();
-                b->setPosition(Vec3<float>(0.f, 0.f, z - 1));
-                b = b->zFirstSibling();
-                b->setPosition(Vec3<float>(0.f, 0.f, z - 1));
+                fill = tmp;
+                Chunk* zChunk = World::INSTANCE->zChunk(
+                    World::INSTANCE->getChunkCenter(location.x, location.y));
+                if (zChunk)
+                {
+                    zChunk->setModelChanged(partOfModel);
+                }
             }
         }
     }
@@ -251,4 +254,9 @@ Text Block::printLightInfo()
 int Block::getPartOfModels() const
 {
     return partOfModel;
-}
+}
+
+short Block::getFill() const
+{
+    return fill;
+}

+ 5 - 1
FactoryCraft/Block.h

@@ -23,6 +23,7 @@ protected:
     unsigned char lightData[6 * 6];
     char needRequestModelInfo;
     int partOfModel;
+    short fill;
 
     void beforeRender(
         GraphicsApi* api, Shader* zVertexShader, Shader* zPixelShader) override;
@@ -37,6 +38,7 @@ public:
         bool needRequestModelInfo);
     virtual ~Block();
 
+    void setFill(short fill);
     void api(char* message);
     void copyLightTo(Block* zB);
     void setLightData(Direction dir, unsigned char* data);
@@ -48,7 +50,9 @@ public:
     Vec3<int> getLocation() const;
     const BlockType* zBlockType() const;
     Skeleton* zSkeleton() const;
-    friend Chunk;
     Text printLightInfo();
     int getPartOfModels() const;
+    short getFill() const;
+    
+    friend Chunk;
 };

+ 7 - 2
FactoryCraft/BlockType.cpp

@@ -9,13 +9,14 @@ BlockType::BlockType(int id,
     bool needsInstance,
     ModelInfo model,
     int initialMaxHP,
-    bool needModelSubscription)
+    bool needModelSubscription, bool fluid)
     : ReferenceCounter(),
       id(id),
       needsInstance(needsInstance),
       model(model),
       initialMaxHP(initialMaxHP),
-      needModelSubscription(needModelSubscription)
+      needModelSubscription(needModelSubscription),
+      fluid(fluid)
 {}
 
 BlockType::~BlockType() {}
@@ -46,6 +47,10 @@ bool BlockType::doesNeedModelSubscription() const
     return needModelSubscription;
 }
 
+bool BlockType::isFluid() const
+{
+	return fluid;
+}
 
 const ModelInfo& BlockType::getModelInfo() const
 {

+ 5 - 2
FactoryCraft/BlockType.h

@@ -16,6 +16,7 @@ private:
     bool needsInstance;
     int initialMaxHP;
     bool needModelSubscription;
+    bool fluid;
     ModelInfo model;
 
 public:
@@ -23,13 +24,15 @@ public:
         bool needsInstance,
         ModelInfo model,
         int initialMaxHP,
-        bool needModelSubscription);
+        bool needModelSubscription,
+        bool fluid);
     ~BlockType();
     Block* createBlock(Framework::Vec3<int> position);
     bool doesNeedInstance() const;
     bool doesNeedModelSubscription() const;
+    bool isFluid() const;
 
-    const ModelInfo &getModelInfo() const;
+    const ModelInfo& getModelInfo() const;
 
     int getId() const;
 };

+ 23 - 1
FactoryCraft/Chunk.cpp

@@ -82,6 +82,7 @@ Chunk::~Chunk()
     }
     delete[] blocks;
     groundModel->release();
+    fluidModel->release();
 }
 
 void Chunk::appendAnimation(
@@ -127,6 +128,11 @@ void Chunk::load(Framework::StreamReader* zReader)
     {
         int index;
         zReader->lese((char*)&index, 4);
+        short fill = 0;
+        if (blockTypes[id]->isFluid())
+        {
+            zReader->lese((char*)&fill, 2);
+        }
         pos = Vec3<int>((index / WORLD_HEIGHT) / CHUNK_SIZE,
             (index / WORLD_HEIGHT) % CHUNK_SIZE,
             index % WORLD_HEIGHT);
@@ -137,6 +143,7 @@ void Chunk::load(Framework::StreamReader* zReader)
                 {pos.x + location.x - CHUNK_SIZE / 2,
                     pos.y + location.y - CHUNK_SIZE / 2,
                     pos.z});
+            b->setFill(fill);
             blocks[index] = b;
             cs.unlock();
             vcs.lock();
@@ -314,7 +321,14 @@ void Chunk::renderSolid(std::function<void(Model3D*)> f)
     vcs.unlock();
 }
 
-void Chunk::renderTransparent(std::function<void(Model3D*)> f) {}
+void Chunk::renderTransparent(std::function<void(Model3D*)> f)
+{
+    CustomDX11API* api
+        = (CustomDX11API*)uiFactory.initParam.bildschirm->zGraphicsApi();
+    api->setCullBack(false);
+    f(fluidModel->zModel());
+    api->setCullBack(true);
+}
 
 bool Chunk::tick(std::function<void(Model3D*)> f, double time)
 {
@@ -329,6 +343,7 @@ bool Chunk::tick(std::function<void(Model3D*)> f, double time)
     if ((lightChanged | CombinedModels::FLUID) == lightChanged)
         updateLight(fluidModel);
     bool res = groundModel->zModel()->tick(time);
+    res |= fluidModel->zModel()->tick(time);
     auto iterator = animations.begin();
     while (iterator)
     {
@@ -362,6 +377,13 @@ void Chunk::destroy()
         chunkModel->removePolygon(0);
     }
     chunkModel->setVertecies(0, 0);
+    chunkModel = fluidModel->zModel()->zModelData();
+    // remove old model
+    while (chunkModel->getPolygonAnzahl() > 0)
+    {
+        chunkModel->removePolygon(0);
+    }
+    chunkModel->setVertecies(0, 0);
 }
 
 void Chunk::api(char* message)

+ 1 - 1
FactoryCraft/Chunk.h

@@ -17,7 +17,7 @@
 class Chunk : public Framework::ReferenceCounter
 {
 public:
-static class CombinedModels
+class CombinedModels
 {
 public:
     static const int GROUND = 1;

+ 282 - 0
FactoryCraft/ChunkFluidModel.cpp

@@ -0,0 +1,282 @@
+#include "ChunkFluidModel.h"
+
+#include <Trie.h>
+
+#include "Area.h"
+#include "Block.h"
+#include "Constants.h"
+#include "FactoryCraftModel.h"
+#include "Globals.h"
+
+ChunkFluidModel::ChunkFluidModel(FactoryCraftModel* target, Chunk* zChunk)
+    : ChunkModelBuilder(target, zChunk, Chunk::CombinedModels::FLUID)
+{}
+
+__int64 ChunkFluidModel::calculateLight(Framework::Vec3<float> vertexPos,
+    Framework::Vec3<int> blockPos,
+    Direction direction)
+{
+    __int64 result = 0;
+    int sumCount = 1;
+    short lightSum[6];
+    Block* current = blocks()[Chunk::index(blockPos)];
+    const unsigned char* light = current->getLightData(direction);
+    for (int i = 0; i < 6; i++)
+    {
+        lightSum[i] = (short)light[i];
+    }
+    Vec3<int> vertexDirs(vertexPos.x < 0 ? -1 : 1,
+        vertexPos.y < 0 ? -1 : 1,
+        vertexPos.z < 0 ? -1 : 1);
+    Directions dirs = getDirectionsFromVector(vertexDirs) & ~direction;
+    Vec3<int> neighborDirs[3];
+    int neighborIndex = 0;
+    for (int i = 0; i < 6; i++)
+    {
+        Direction dir = getDirectionFromIndex(i);
+        if ((dirs | dir) == dirs)
+        {
+            neighborDirs[neighborIndex++] = getDirection(dir);
+            if (neighborIndex == 2) break;
+        }
+    }
+    neighborDirs[2] = neighborDirs[0] + neighborDirs[1];
+    for (int i = 0; i < 3; i++)
+    {
+        neighborDirs[i] += blockPos;
+        if (neighborDirs[i].x >= 0 && neighborDirs[i].y >= 0
+            && neighborDirs[i].z >= 0 && neighborDirs[i].x < CHUNK_SIZE
+            && neighborDirs[i].y < CHUNK_SIZE
+            && neighborDirs[i].z < WORLD_HEIGHT)
+        {
+            int neighborIndex = Chunk::index(neighborDirs[i]);
+            Block* neighbor = blocks()[neighborIndex];
+            if (neighbor)
+            {
+                const unsigned char* neighborLight
+                    = neighbor->getLightData(direction);
+                if ((neighborLight[0] | neighborLight[1] | neighborLight[2]
+                        | neighborLight[3] | neighborLight[4]
+                        | neighborLight[5])
+                    != 0)
+                {
+                    sumCount++;
+                    for (int j = 0; j < 6; j++)
+                    {
+                        lightSum[j] += (short)neighborLight[j];
+                    }
+                }
+            }
+        }
+        else
+        { // TODO: get light from neighbor chunk
+        }
+    }
+    for (int i = 0; i < 6; i++)
+    {
+        lightSum[i] = (lightSum[i] / sumCount) & 0xFF;
+    }
+    result = ((__int64)lightSum[0] << 24) | ((__int64)lightSum[1] << 16)
+           | ((__int64)lightSum[2] << 8) | ((__int64)lightSum[3] << 56)
+           | ((__int64)lightSum[4] << 48) | ((__int64)lightSum[5] << 40);
+    return result;
+}
+
+bool ChunkFluidModel::isPartOfGroundModel(
+    Framework::Vec3<int> location, int directionIndex)
+{
+    Framework::Vec3<int> neighborLocation
+        = location + getDirection(getDirectionFromIndex(directionIndex));
+    bool needed = 0;
+    if (neighborLocation.x < 0 || neighborLocation.y < 0
+        || neighborLocation.z < 0 || neighborLocation.x >= CHUNK_SIZE
+        || neighborLocation.y >= CHUNK_SIZE
+        || neighborLocation.z >= WORLD_HEIGHT)
+    {
+        needed = 1;
+    }
+    else
+    {
+        int naighborIndex = Chunk::index(neighborLocation);
+        if (!blocks()[naighborIndex]
+            || !blocks()[naighborIndex]
+                    ->zBlockType()
+                    ->isFluid())
+        {
+            needed = 1;
+        }
+    }
+    return needed;
+}
+
+void ChunkFluidModel::buildModel()
+{
+    Model3DData* chunkModel = target->zModelData();
+    // remove old model
+    while (chunkModel->getPolygonAnzahl() > 0)
+    {
+        chunkModel->removePolygon(0);
+    }
+    // calculate verticies
+    Trie<GroundModelPart*> groundModelBuidler;
+    Array<GroundModelPart*> groundPartArray;
+    Vertex3D* groundVerticies = new Vertex3D[10000];
+    __int64* lightBuffer = new __int64[10000];
+    int groundVertexCount = 0;
+    int groundVertexArraySize = 10000;
+    for (int i = 0; i < CHUNK_SIZE * CHUNK_SIZE * WORLD_HEIGHT; i++)
+    {
+        if (blocks()[i])
+        {
+            if (blocks()[i]
+                    ->zBlockType()->isFluid())
+            {
+                setBlockPartOfModel(blocks()[i], 1);
+                int index = 0;
+                for (Text* textureName :
+                    *blocks()[i]->zBlockType()->getModelInfo().getTexturNames())
+                {
+                    Framework::Vec3<int> location(
+                        (i / WORLD_HEIGHT) / CHUNK_SIZE,
+                        (i / WORLD_HEIGHT) % CHUNK_SIZE,
+                        i % WORLD_HEIGHT);
+                    if (isPartOfGroundModel(location, index))
+                    {
+                        if (!groundModelBuidler.get(
+                                *textureName, textureName->getLength()))
+                        {
+                            GroundModelPart* part = new GroundModelPart();
+                            part->indexList = new int[10000];
+                            part->indexCount = 0;
+                            part->indexArraySize = 10000;
+                            part->name = *textureName;
+                            groundModelBuidler.set(
+                                *textureName, textureName->getLength(), part);
+                            groundPartArray.add(part);
+                        }
+                        GroundModelPart* part = groundModelBuidler.get(
+                            *textureName, textureName->getLength());
+                        const Vertex3D* vBuffer
+                            = blocks()[i]->zModelData()->zVertexBuffer();
+                        Polygon3D* polygon
+                            = blocks()[i]->zModelData()->getPolygon(index);
+                        if (part->indexCount + polygon->indexAnz
+                            > part->indexArraySize)
+                        {
+                            int* tmp = new int[part->indexArraySize + 10000];
+                            memcpy(tmp, part->indexList, part->indexCount * 4);
+                            delete[] part->indexList;
+                            part->indexList = tmp;
+                            part->indexArraySize += 10000;
+                        }
+                        if (groundVertexCount + polygon->indexAnz
+                            > groundVertexArraySize)
+                        {
+                            Vertex3D* tmp
+                                = new Vertex3D[groundVertexArraySize + 10000];
+                            memcpy(tmp,
+                                groundVerticies,
+                                groundVertexCount * sizeof(Vertex3D));
+                            delete[] groundVerticies;
+                            groundVerticies = tmp;
+                            groundVertexArraySize += 10000;
+                            __int64* lTmp = new __int64[groundVertexArraySize];
+                            memcpy(lTmp,
+                                lightBuffer,
+                                groundVertexCount * sizeof(__int64));
+                            delete[] lightBuffer;
+                            lightBuffer = lTmp;
+                        }
+                        for (int vi = 0; vi < polygon->indexAnz; vi++)
+                        {
+                            lightBuffer[groundVertexCount] = calculateLight(
+                                vBuffer[polygon->indexList[vi]].pos,
+                                location,
+                                getDirectionFromIndex(index));
+                            part->indexList[part->indexCount++]
+                                = groundVertexCount;
+                            groundVerticies[groundVertexCount++]
+                                = vBuffer[polygon->indexList[vi]];
+                            if (getDirectionFromIndex(index) == TOP)
+                            {
+                                groundVerticies[groundVertexCount - 1].pos.z
+                                    -= (1 - blocks()[i]->getFill() / 1000.f);
+                            }
+                            groundVerticies[groundVertexCount - 1].pos
+                                += blocks()[i]->getPos()
+                                    - Vec3<float>((float)chunkCenter().x,
+                                        (float)chunkCenter().y,
+                                        (float)WORLD_HEIGHT / 2.f);
+                            groundVerticies[groundVertexCount - 1].id
+                                = groundVertexCount - 1;
+                        }
+                    }
+                    index++;
+                }
+            }
+            else
+            {
+                setBlockPartOfModel(blocks()[i], 0);
+            }
+        }
+    }
+    Model3DTextur* textur = new Model3DTextur();
+    int pi = 0;
+    for (GroundModelPart* part : groundPartArray)
+    {
+        Polygon3D* polygon = new Polygon3D();
+        polygon->indexAnz = part->indexCount;
+        polygon->indexList = part->indexList;
+        target->zModelData()->addPolygon(polygon);
+        textur->setPolygonTextur(pi,
+            uiFactory.initParam.bildschirm->zGraphicsApi()->createOrGetTextur(
+                part->name));
+        pi++;
+        delete part;
+    }
+    target->zModelData()->setVertecies(groundVerticies, groundVertexCount);
+    target->setModelTextur(textur);
+    target->setVertexLightBuffer(lightBuffer, groundVertexCount);
+}
+
+bool ChunkFluidModel::updateLightning()
+{
+    __int64* lightBuffer = target->zLightBuffer();
+    int groundVertexCount = 0;
+    for (int i = 0; i < CHUNK_SIZE * CHUNK_SIZE * WORLD_HEIGHT; i++)
+    {
+        if (blocks()[i])
+        {
+            if (blocks()[i]
+                    ->zBlockType()->isFluid())
+            {
+                int index = 0;
+                for (Text* textureName :
+                    *blocks()[i]->zBlockType()->getModelInfo().getTexturNames())
+                {
+                    Framework::Vec3<int> location(
+                        (i / WORLD_HEIGHT) / CHUNK_SIZE,
+                        (i / WORLD_HEIGHT) % CHUNK_SIZE,
+                        i % WORLD_HEIGHT);
+                    if (isPartOfGroundModel(location, index))
+                    {
+                        const Vertex3D* vBuffer
+                            = blocks()[i]->zModelData()->zVertexBuffer();
+                        Polygon3D* polygon
+                            = blocks()[i]->zModelData()->getPolygon(index);
+                        for (int vi = 0; vi < polygon->indexAnz; vi++)
+                        {
+                            lightBuffer[groundVertexCount++] = calculateLight(
+                                vBuffer[polygon->indexList[vi]].pos,
+                                location,
+                                getDirectionFromIndex(index));
+                        }
+                    }
+                    index++;
+                }
+            }
+        }
+    }
+    target->copyLightToGPU();
+    return 1;
+}

+ 7 - 0
FactoryCraft/ChunkFluidModel.h

@@ -1,9 +1,16 @@
 #pragma once
 
+#include "Area.h"
 #include "ChunkModelBuilder.h"
 
 class ChunkFluidModel : public ChunkModelBuilder
 {
+private:
+    __int64 calculateLight(Framework::Vec3<float> vertexPos,
+        Framework::Vec3<int> blockPos,
+        Direction direction);
+    bool isPartOfGroundModel(Framework::Vec3<int> location, int directionIndex);
+
 public:
     ChunkFluidModel(FactoryCraftModel* target, Chunk* zChunk);
     void buildModel() override;

+ 2 - 0
FactoryCraft/ChunkGroundModel.cpp

@@ -14,6 +14,7 @@ ChunkGroundModel::ChunkGroundModel(FactoryCraftModel* target, Chunk* zChunk)
     : ChunkModelBuilder(target, zChunk, Chunk::CombinedModels::GROUND)
 {}
 
+
 __int64 ChunkGroundModel::calculateLight(Framework::Vec3<float> vertexPos,
     Framework::Vec3<int> blockPos,
     Direction direction)
@@ -377,4 +378,5 @@ bool ChunkGroundModel::updateLightning() {
         }
     }
     target->copyLightToGPU();
+    return 1;
 }

+ 1 - 0
FactoryCraft/ChunkGroundModel.h

@@ -1,5 +1,6 @@
 #pragma once
 #include "ChunkModelBuilder.h"
+#include "Area.h"
 
 class ChunkGroundModel : public ChunkModelBuilder
 {

+ 2353 - 2269
FactoryCraft/CustomUIDX11PixelShader.h

@@ -105,7 +105,7 @@ dcl_temps 6
 itof r0.xyz, l(0, 0, 0, 0)  // r0.x <- specularLight.x; r0.y <- specularLight.y; r0.z <- specularLight.z
 
 #line 71
-sample_indexable(texture2d)(float,float,float,float) r1.xyzw, v2.xyxx, t0.xyzw, s0  // r1.x <- materialColor.x; r1.y <- materialColor.y; r1.z <- materialColor.z; r1.w <- materialColor.w
+sample_indexable(texture2d)(float,float,float,float) r1.xyzw, v2.xyxx, t0.wxyz, s0  // r1.y <- materialColor.x; r1.z <- materialColor.y; r1.w <- materialColor.z; r1.x <- materialColor.w
 
 #line 72
 ine r0.w, l(0, 0, 0, 0), cb3[0].x
@@ -130,7 +130,7 @@ if_nz r0.w
   and r0.w, r0.w, r2.z
   if_nz r0.w
     mov r0.w, l(-0.250000)
-    add r0.w, r0.w, r1.w
+    add r0.w, r0.w, r1.x
     lt r0.w, r0.w, l(0.000000)
     and r0.w, r0.w, l(-1)
     discard_nz r0.w
@@ -182,19 +182,19 @@ if_nz r0.w
     mul r2.z, r0.w, r3.x
     mov r2.z, -r2.z
     add r2.y, r2.z, r2.y
-    mul r5.xyzw, r1.xyzw, r2.yyyy
-    add r1.xyzw, r4.xyzw, r5.xyzw
+    mul r5.xyzw, r1.yzwx, r2.yyyy
+    add r1.xyzw, r4.wxyz, r5.wxyz
 
 #line 87
     if_nz r2.x
 
 #line 89
-      mul r1.w, r0.w, r3.x
+      mul r1.x, r0.w, r3.x
 
 #line 90
-      lt r0.w, l(1.000000), r1.w
+      lt r0.w, l(1.000000), r1.x
       if_nz r0.w
-        mov r1.w, l(1.000000)
+        mov r1.x, l(1.000000)
       endif 
 
 #line 91
@@ -208,34 +208,37 @@ else
 
 #line 96
   mov r0.w, l(-0.250000)
-  add r0.w, r0.w, r1.w
+  add r0.w, r0.w, r1.x
   lt r0.w, r0.w, l(0.000000)
   and r0.w, r0.w, l(-1)
   discard_nz r0.w
 
 #line 97
-endif 
+  mov r1.x, l(1.000000)
 
 #line 98
+endif 
+
+#line 99
 itof r0.w, l(0)
 lt r0.w, r0.w, v4.w
 if_nz r0.w
 
-#line 100
-  mul r2.x, r1.x, v4.x  // r2.x <- diffuseLight.x
-  mul r2.y, r1.y, v4.y  // r2.y <- diffuseLight.y
-  mul r2.z, r1.z, v4.z  // r2.z <- diffuseLight.z
+#line 101
+  mul r2.x, r1.y, v4.x  // r2.x <- diffuseLight.x
+  mul r2.y, r1.z, v4.y  // r2.y <- diffuseLight.y
+  mul r2.z, r1.w, v4.z  // r2.z <- diffuseLight.z
 
-#line 103
-  mul r0.w, r1.x, v5.x  // r0.w <- diffuseLight2.x
-  mul r2.w, r1.y, v5.y  // r2.w <- diffuseLight2.y
-  mul r3.x, r1.z, v5.z  // r3.x <- diffuseLight2.z
+#line 104
+  mul r0.w, r1.y, v5.x  // r0.w <- diffuseLight2.x
+  mul r2.w, r1.z, v5.y  // r2.w <- diffuseLight2.y
+  mul r3.x, r1.w, v5.z  // r3.x <- diffuseLight2.z
 
-#line 106
+#line 107
   ilt r3.y, l(0), cb2[0].x
   if_nz r3.y
 
-#line 108
+#line 109
     mov r3.y, l(0)
     ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r4.x, r3.y, l(0), t1.xxxx
     ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r4.y, r3.y, l(4), t1.xxxx
@@ -243,109 +246,130 @@ if_nz r0.w
     mov r3.yzw, -r4.xxyz
     dp3 r3.y, v3.xyzx, r3.yzwy  // r3.y <- factor
 
-#line 109
+#line 110
     itof r3.z, l(0)
     lt r3.z, r3.y, r3.z
     if_nz r3.z
 
-#line 110
+#line 111
       itof r3.y, l(0)
     endif 
 
-#line 111
+#line 112
     mul r3.y, r3.y, l(0.500000)
     add r3.y, r3.y, l(0.500000)  // r3.y <- factor
 
-#line 112
+#line 113
     mul r3.yzw, r2.xxyz, r3.yyyy  // r3.y <- diffuseLight.x; r3.z <- diffuseLight.y; r3.w <- diffuseLight.z
 
-#line 113
+#line 114
   else   // Prior locations: r2.x <- diffuseLight.x; r2.y <- diffuseLight.y; r2.z <- diffuseLight.z
 
-#line 116
+#line 117
     mul r3.yzw, r2.xxyz, l(0.000000, 0.500000, 0.500000, 0.500000)  // r3.y <- diffuseLight.x; r3.z <- diffuseLight.y; r3.w <- diffuseLight.z
 
-#line 117
+#line 118
   endif 
 
-#line 119
+#line 120
   lt r2.x, r3.y, r0.w
   if_nz r2.x
 
-#line 121
+#line 122
     mov r3.y, r0.w
 
-#line 122
+#line 123
   endif 
 
-#line 123
+#line 124
   lt r0.w, r3.z, r2.w
   if_nz r0.w
 
-#line 125
+#line 126
     mov r3.z, r2.w
 
-#line 126
+#line 127
   endif 
 
-#line 127
+#line 128
   lt r0.w, r3.w, r3.x
   if_nz r0.w
 
-#line 129
+#line 130
     mov r3.w, r3.x
 
-#line 130
+#line 131
   endif 
 
-#line 131
+#line 132
 else 
 
-#line 140
+#line 141
   mov r3.yzw, l(0,1.000000,1.000000,1.000000)  // r3.y <- diffuseLight.x; r3.z <- diffuseLight.y; r3.w <- diffuseLight.z
 
-#line 158
+#line 159
 endif 
 
-#line 161
-mul r2.xyz, r1.xyzx, cb1[0].xxxx
-mul r3.xzw, r3.yyzw, cb1[0].yyyy
-add r2.xyz, r2.xyzx, r3.xzwx
+#line 162
+mul r1.yzw, r1.yyzw, cb1[0].xxxx
+mul r2.xyz, r3.yzwy, cb1[0].yyyy
+add r1.yzw, r1.yyzw, r2.xxyz
 mul r0.xyz, r0.xyzx, cb1[0].zzzz
-add r0.xyz, r0.xyzx, r2.xyzx
+add r0.xyz, r0.xyzx, r1.yzwy
 max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
 min r0.xyz, r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)  // r0.x <- textureColor.x; r0.y <- textureColor.y; r0.z <- textureColor.z
 
-#line 162
-mov r1.w, r1.w  // r1.w <- textureColor.w
-
 #line 163
+mov r1.x, r1.x  // r1.x <- textureColor.w
+
+#line 164
 mul r0.w, r3.y, cb1[0].y
 ne r0.w, r0.w, r0.w
 if_nz r0.w
+  itof r0.w, l(-1)
+  lt r0.w, r0.w, l(0.000000)
+  and r0.w, r0.w, l(-1)
+  discard_nz r0.w
+endif 
 
-#line 164
-  mov r0.xyz, r1.xyzx
+#line 166
+ine r0.w, l(0, 0, 0, 0), cb3[0].x
+itof r1.y, l(0)
+eq r1.y, r1.y, cb3[0].y
+and r0.w, r0.w, r1.y
+if_nz r0.w
+
+#line 168
+  mov r0.w, l(-0.500000)
+  add r0.w, r0.w, r1.x
+  lt r0.w, r0.w, l(0.000000)
+  and r0.w, r0.w, l(-1)
+  discard_nz r0.w
+
+#line 169
+  mov r1.x, l(1.000000)
+
+#line 170
 endif 
 
-#line 165
+#line 171
 mov o0.xyz, r0.xyzx
-mov o0.w, r1.w
+mov o0.w, r1.x
 ret 
-// Approximately 128 instruction slots used
+// Approximately 144 instruction slots used
 #endif
 
 const BYTE CustomUIDX11PixelShader[] =
 {
-     68,  88,  66,  67, 195, 170, 
-     10,  23, 153, 158,   9, 196, 
-     72, 249, 255,  73,   2,   1, 
-     91, 206,   1,   0,   0,   0, 
-    124, 136,   0,   0,   6,   0, 
+     68,  88,  66,  67,  24, 222, 
+     25, 232, 192,  82,  69, 215, 
+    235,  85, 245, 219,  72, 200, 
+    102, 189,   1,   0,   0,   0, 
+    232, 137,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
     252,   4,   0,   0, 188,   5, 
       0,   0, 240,   5,   0,   0, 
-    216,  17,   0,   0, 116,  18, 
+     68,  19,   0,   0, 224,  19, 
       0,   0,  82,  68,  69,  70, 
     188,   4,   0,   0,   4,   0, 
       0,   0, 120,   1,   0,   0, 
@@ -591,8 +615,8 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,  83,  86,  95,  84, 
      65,  82,  71,  69,  84,   0, 
     171, 171,  83,  72,  69,  88, 
-    224,  11,   0,   0,  80,   0, 
-      0,   0, 248,   2,   0,   0, 
+     76,  13,   0,   0,  80,   0, 
+      0,   0,  83,   3,   0,   0, 
     106, 136,   0,   1,  89,   0, 
       0,   4,  70, 142,  32,   0, 
       1,   0,   0,   0,   1,   0, 
@@ -633,7 +657,7 @@ const BYTE CustomUIDX11PixelShader[] =
      21,   0, 242,   0,  16,   0, 
       1,   0,   0,   0,  70,  16, 
      16,   0,   2,   0,   0,   0, 
-     70, 126,  16,   0,   0,   0, 
+     54, 121,  16,   0,   0,   0, 
       0,   0,   0,  96,  16,   0, 
       0,   0,   0,   0,  39,   0, 
       0,  11, 130,   0,  16,   0, 
@@ -692,7 +716,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   7, 130,   0, 
      16,   0,   0,   0,   0,   0, 
      58,   0,  16,   0,   0,   0, 
-      0,   0,  58,   0,  16,   0, 
+      0,   0,  10,   0,  16,   0, 
       1,   0,   0,   0,  49,   0, 
       0,   7, 130,   0,  16,   0, 
       0,   0,   0,   0,  58,   0, 
@@ -832,28 +856,28 @@ const BYTE CustomUIDX11PixelShader[] =
      26,   0,  16,   0,   2,   0, 
       0,   0,  56,   0,   0,   7, 
     242,   0,  16,   0,   5,   0, 
-      0,   0,  70,  14,  16,   0, 
+      0,   0, 150,   3,  16,   0, 
       1,   0,   0,   0,  86,   5, 
      16,   0,   2,   0,   0,   0, 
       0,   0,   0,   7, 242,   0, 
      16,   0,   1,   0,   0,   0, 
-     70,  14,  16,   0,   4,   0, 
-      0,   0,  70,  14,  16,   0, 
+     54,   9,  16,   0,   4,   0, 
+      0,   0,  54,   9,  16,   0, 
       5,   0,   0,   0,  31,   0, 
       4,   3,  10,   0,  16,   0, 
       2,   0,   0,   0,  56,   0, 
-      0,   7, 130,   0,  16,   0, 
+      0,   7,  18,   0,  16,   0, 
       1,   0,   0,   0,  58,   0, 
      16,   0,   0,   0,   0,   0, 
      10,   0,  16,   0,   3,   0, 
       0,   0,  49,   0,   0,   7, 
     130,   0,  16,   0,   0,   0, 
       0,   0,   1,  64,   0,   0, 
-      0,   0, 128,  63,  58,   0, 
+      0,   0, 128,  63,  10,   0, 
      16,   0,   1,   0,   0,   0, 
      31,   0,   4,   3,  58,   0, 
      16,   0,   0,   0,   0,   0, 
-     54,   0,   0,   5, 130,   0, 
+     54,   0,   0,   5,  18,   0, 
      16,   0,   1,   0,   0,   0, 
       1,  64,   0,   0,   0,   0, 
     128,  63,  21,   0,   0,   1, 
@@ -865,7 +889,7 @@ const BYTE CustomUIDX11PixelShader[] =
     128, 190,   0,   0,   0,   7, 
     130,   0,  16,   0,   0,   0, 
       0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,  58,   0, 
+      0,   0,   0,   0,  10,   0, 
      16,   0,   1,   0,   0,   0, 
      49,   0,   0,   7, 130,   0, 
      16,   0,   0,   0,   0,   0, 
@@ -878,242 +902,303 @@ const BYTE CustomUIDX11PixelShader[] =
       1,  64,   0,   0, 255, 255, 
     255, 255,  13,   0,   4,   3, 
      58,   0,  16,   0,   0,   0, 
-      0,   0,  21,   0,   0,   1, 
-     43,   0,   0,   5, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  49,   0,   0,   7, 
+      0,   0,  54,   0,   0,   5, 
+     18,   0,  16,   0,   1,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  21,   0, 
+      0,   1,  43,   0,   0,   5, 
     130,   0,  16,   0,   0,   0, 
-      0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,  58,  16, 
-     16,   0,   4,   0,   0,   0, 
-     31,   0,   4,   3,  58,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,  49,   0, 
+      0,   7, 130,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
      16,   0,   0,   0,   0,   0, 
-     56,   0,   0,   7,  18,   0, 
+     58,  16,  16,   0,   4,   0, 
+      0,   0,  31,   0,   4,   3, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   7, 
+     18,   0,  16,   0,   2,   0, 
+      0,   0,  26,   0,  16,   0, 
+      1,   0,   0,   0,  10,  16, 
+     16,   0,   4,   0,   0,   0, 
+     56,   0,   0,   7,  34,   0, 
      16,   0,   2,   0,   0,   0, 
-     10,   0,  16,   0,   1,   0, 
-      0,   0,  10,  16,  16,   0, 
+     42,   0,  16,   0,   1,   0, 
+      0,   0,  26,  16,  16,   0, 
       4,   0,   0,   0,  56,   0, 
-      0,   7,  34,   0,  16,   0, 
-      2,   0,   0,   0,  26,   0, 
+      0,   7,  66,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
      16,   0,   1,   0,   0,   0, 
-     26,  16,  16,   0,   4,   0, 
+     42,  16,  16,   0,   4,   0, 
       0,   0,  56,   0,   0,   7, 
-     66,   0,  16,   0,   2,   0, 
-      0,   0,  42,   0,  16,   0, 
-      1,   0,   0,   0,  42,  16, 
-     16,   0,   4,   0,   0,   0, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,  26,   0,  16,   0, 
+      1,   0,   0,   0,  10,  16, 
+     16,   0,   5,   0,   0,   0, 
      56,   0,   0,   7, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-     10,   0,  16,   0,   1,   0, 
-      0,   0,  10,  16,  16,   0, 
+     16,   0,   2,   0,   0,   0, 
+     42,   0,  16,   0,   1,   0, 
+      0,   0,  26,  16,  16,   0, 
       5,   0,   0,   0,  56,   0, 
-      0,   7, 130,   0,  16,   0, 
-      2,   0,   0,   0,  26,   0, 
+      0,   7,  18,   0,  16,   0, 
+      3,   0,   0,   0,  58,   0, 
      16,   0,   1,   0,   0,   0, 
-     26,  16,  16,   0,   5,   0, 
-      0,   0,  56,   0,   0,   7, 
-     18,   0,  16,   0,   3,   0, 
-      0,   0,  42,   0,  16,   0, 
-      1,   0,   0,   0,  42,  16, 
-     16,   0,   5,   0,   0,   0, 
-     34,   0,   0,   8,  34,   0, 
-     16,   0,   3,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  10, 128,  32,   0, 
-      2,   0,   0,   0,   0,   0, 
-      0,   0,  31,   0,   4,   3, 
-     26,   0,  16,   0,   3,   0, 
-      0,   0,  54,   0,   0,   5, 
+     42,  16,  16,   0,   5,   0, 
+      0,   0,  34,   0,   0,   8, 
      34,   0,  16,   0,   3,   0, 
       0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0, 167,   0, 
-      0, 139,   2, 195,   0, 128, 
-    131, 153,  25,   0,  18,   0, 
-     16,   0,   4,   0,   0,   0, 
-     26,   0,  16,   0,   3,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,   6, 112, 
-     16,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,  10, 128, 
+     32,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,  31,   0, 
+      4,   3,  26,   0,  16,   0, 
+      3,   0,   0,   0,  54,   0, 
+      0,   5,  34,   0,  16,   0, 
+      3,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
     167,   0,   0, 139,   2, 195, 
       0, 128, 131, 153,  25,   0, 
-     34,   0,  16,   0,   4,   0, 
+     18,   0,  16,   0,   4,   0, 
       0,   0,  26,   0,  16,   0, 
       3,   0,   0,   0,   1,  64, 
-      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       6, 112,  16,   0,   1,   0, 
       0,   0, 167,   0,   0, 139, 
       2, 195,   0, 128, 131, 153, 
-     25,   0,  66,   0,  16,   0, 
+     25,   0,  34,   0,  16,   0, 
       4,   0,   0,   0,  26,   0, 
      16,   0,   3,   0,   0,   0, 
-      1,  64,   0,   0,   8,   0, 
+      1,  64,   0,   0,   4,   0, 
       0,   0,   6, 112,  16,   0, 
-      1,   0,   0,   0,  54,   0, 
-      0,   6, 226,   0,  16,   0, 
-      3,   0,   0,   0,   6,   9, 
-     16, 128,  65,   0,   0,   0, 
-      4,   0,   0,   0,  16,   0, 
-      0,   7,  34,   0,  16,   0, 
-      3,   0,   0,   0,  70,  18, 
-     16,   0,   3,   0,   0,   0, 
-    150,   7,  16,   0,   3,   0, 
-      0,   0,  43,   0,   0,   5, 
-     66,   0,  16,   0,   3,   0, 
+      1,   0,   0,   0, 167,   0, 
+      0, 139,   2, 195,   0, 128, 
+    131, 153,  25,   0,  66,   0, 
+     16,   0,   4,   0,   0,   0, 
+     26,   0,  16,   0,   3,   0, 
       0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,  49,   0, 
-      0,   7,  66,   0,  16,   0, 
+      8,   0,   0,   0,   6, 112, 
+     16,   0,   1,   0,   0,   0, 
+     54,   0,   0,   6, 226,   0, 
+     16,   0,   3,   0,   0,   0, 
+      6,   9,  16, 128,  65,   0, 
+      0,   0,   4,   0,   0,   0, 
+     16,   0,   0,   7,  34,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,  18,  16,   0,   3,   0, 
+      0,   0, 150,   7,  16,   0, 
+      3,   0,   0,   0,  43,   0, 
+      0,   5,  66,   0,  16,   0, 
+      3,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
+     49,   0,   0,   7,  66,   0, 
+     16,   0,   3,   0,   0,   0, 
+     26,   0,  16,   0,   3,   0, 
+      0,   0,  42,   0,  16,   0, 
+      3,   0,   0,   0,  31,   0, 
+      4,   3,  42,   0,  16,   0, 
+      3,   0,   0,   0,  43,   0, 
+      0,   5,  34,   0,  16,   0, 
+      3,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
+     21,   0,   0,   1,  56,   0, 
+      0,   7,  34,   0,  16,   0, 
       3,   0,   0,   0,  26,   0, 
      16,   0,   3,   0,   0,   0, 
-     42,   0,  16,   0,   3,   0, 
-      0,   0,  31,   0,   4,   3, 
-     42,   0,  16,   0,   3,   0, 
-      0,   0,  43,   0,   0,   5, 
-     34,   0,  16,   0,   3,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,  21,   0, 
-      0,   1,  56,   0,   0,   7, 
+      1,  64,   0,   0,   0,   0, 
+      0,  63,   0,   0,   0,   7, 
      34,   0,  16,   0,   3,   0, 
       0,   0,  26,   0,  16,   0, 
       3,   0,   0,   0,   1,  64, 
       0,   0,   0,   0,   0,  63, 
-      0,   0,   0,   7,  34,   0, 
-     16,   0,   3,   0,   0,   0, 
-     26,   0,  16,   0,   3,   0, 
-      0,   0,   1,  64,   0,   0, 
-      0,   0,   0,  63,  56,   0, 
-      0,   7, 226,   0,  16,   0, 
-      3,   0,   0,   0,   6,   9, 
-     16,   0,   2,   0,   0,   0, 
-     86,   5,  16,   0,   3,   0, 
-      0,   0,  18,   0,   0,   1, 
-     56,   0,   0,  10, 226,   0, 
+     56,   0,   0,   7, 226,   0, 
      16,   0,   3,   0,   0,   0, 
       6,   9,  16,   0,   2,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+      0,   0,  86,   5,  16,   0, 
+      3,   0,   0,   0,  18,   0, 
+      0,   1,  56,   0,   0,  10, 
+    226,   0,  16,   0,   3,   0, 
+      0,   0,   6,   9,  16,   0, 
+      2,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,  63,   0,   0, 
       0,  63,   0,   0,   0,  63, 
-      0,   0,   0,  63,  21,   0, 
+     21,   0,   0,   1,  49,   0, 
+      0,   7,  18,   0,  16,   0, 
+      2,   0,   0,   0,  26,   0, 
+     16,   0,   3,   0,   0,   0, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,  31,   0,   4,   3, 
+     10,   0,  16,   0,   2,   0, 
+      0,   0,  54,   0,   0,   5, 
+     34,   0,  16,   0,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  21,   0, 
       0,   1,  49,   0,   0,   7, 
-     18,   0,  16,   0,   2,   0, 
-      0,   0,  26,   0,  16,   0, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,  42,   0,  16,   0, 
       3,   0,   0,   0,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-     31,   0,   4,   3,  10,   0, 
      16,   0,   2,   0,   0,   0, 
-     54,   0,   0,   5,  34,   0, 
+     31,   0,   4,   3,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5,  66,   0, 
      16,   0,   3,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
+     58,   0,  16,   0,   2,   0, 
       0,   0,  21,   0,   0,   1, 
      49,   0,   0,   7, 130,   0, 
      16,   0,   0,   0,   0,   0, 
-     42,   0,  16,   0,   3,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,  31,   0, 
+     58,   0,  16,   0,   3,   0, 
+      0,   0,  10,   0,  16,   0, 
+      3,   0,   0,   0,  31,   0, 
       4,   3,  58,   0,  16,   0, 
       0,   0,   0,   0,  54,   0, 
-      0,   5,  66,   0,  16,   0, 
-      3,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     21,   0,   0,   1,  49,   0, 
-      0,   7, 130,   0,  16,   0, 
-      0,   0,   0,   0,  58,   0, 
-     16,   0,   3,   0,   0,   0, 
-     10,   0,  16,   0,   3,   0, 
-      0,   0,  31,   0,   4,   3, 
-     58,   0,  16,   0,   0,   0, 
-      0,   0,  54,   0,   0,   5, 
-    130,   0,  16,   0,   3,   0, 
-      0,   0,  10,   0,  16,   0, 
-      3,   0,   0,   0,  21,   0, 
-      0,   1,  18,   0,   0,   1, 
-     54,   0,   0,   8, 226,   0, 
+      0,   5, 130,   0,  16,   0, 
+      3,   0,   0,   0,  10,   0, 
      16,   0,   3,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0, 128,  63, 
-      0,   0, 128,  63,   0,   0, 
-    128,  63,  21,   0,   0,   1, 
-     56,   0,   0,   8, 114,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   1,   0, 
-      0,   0,   6, 128,  32,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-    210,   0,  16,   0,   3,   0, 
+     21,   0,   0,   1,  18,   0, 
+      0,   1,  54,   0,   0,   8, 
+    226,   0,  16,   0,   3,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0, 128,  63,  21,   0, 
+      0,   1,  56,   0,   0,   8, 
+    226,   0,  16,   0,   1,   0, 
       0,   0,  86,  14,  16,   0, 
-      3,   0,   0,   0,  86, 133, 
+      1,   0,   0,   0,   6, 128, 
      32,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   8, 114,   0,  16,   0, 
+      2,   0,   0,   0, 150,   7, 
+     16,   0,   3,   0,   0,   0, 
+     86, 133,  32,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   7, 114,   0,  16,   0, 
-      2,   0,   0,   0,  70,   2, 
-     16,   0,   2,   0,   0,   0, 
-    134,   3,  16,   0,   3,   0, 
-      0,   0,  56,   0,   0,   8, 
-    114,   0,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0, 166, 138, 
-     32,   0,   1,   0,   0,   0, 
+      0,   0,   0,   7, 226,   0, 
+     16,   0,   1,   0,   0,   0, 
+     86,  14,  16,   0,   1,   0, 
+      0,   0,   6,   9,  16,   0, 
+      2,   0,   0,   0,  56,   0, 
+      0,   8, 114,   0,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+    166, 138,  32,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   7, 114,   0,  16,   0, 
+      0,   0,   0,   7, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0, 150,   7,  16,   0, 
+      1,   0,   0,   0,  52,   0, 
+      0,  10, 114,   0,  16,   0, 
       0,   0,   0,   0,  70,   2, 
      16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,   2,   0, 
-      0,   0,  52,   0,   0,  10, 
+      2,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  51,   0,   0,  10, 
     114,   0,  16,   0,   0,   0, 
       0,   0,  70,   2,  16,   0, 
       0,   0,   0,   0,   2,  64, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     51,   0,   0,  10, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,   0, 128,  63, 
       0,   0, 128,  63,   0,   0, 
-    128,  63,   0,   0, 128,  63, 
-      0,   0,   0,   0,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
-      1,   0,   0,   0,  58,   0, 
+    128,  63,   0,   0,   0,   0, 
+     54,   0,   0,   5,  18,   0, 
      16,   0,   1,   0,   0,   0, 
-     56,   0,   0,   8, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-     26,   0,  16,   0,   3,   0, 
-      0,   0,  26, 128,  32,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,  57,   0,   0,   7, 
+     10,   0,  16,   0,   1,   0, 
+      0,   0,  56,   0,   0,   8, 
     130,   0,  16,   0,   0,   0, 
-      0,   0,  58,   0,  16,   0, 
+      0,   0,  26,   0,  16,   0, 
+      3,   0,   0,   0,  26, 128, 
+     32,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,  57,   0, 
+      0,   7, 130,   0,  16,   0, 
       0,   0,   0,   0,  58,   0, 
      16,   0,   0,   0,   0,   0, 
-     31,   0,   4,   3,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-     54,   0,   0,   5, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,   1,   0, 
-      0,   0,  21,   0,   0,   1, 
-     54,   0,   0,   5, 114,  32, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,  31,   0,   4,   3, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,  43,   0,   0,   5, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+    255, 255, 255, 255,  49,   0, 
+      0,   7, 130,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
      16,   0,   0,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  54,   0,   0,   5, 
-    130,  32,  16,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   7, 
+    130,   0,  16,   0,   0,   0, 
       0,   0,  58,   0,  16,   0, 
-      1,   0,   0,   0,  62,   0, 
-      0,   1,  83,  84,  65,  84, 
-    148,   0,   0,   0, 128,   0, 
-      0,   0,   6,   0,   0,   0, 
-      0,   0,   0,   0,   5,   0, 
-      0,   0,  62,   0,   0,   0, 
-      1,   0,   0,   0,   4,   0, 
-      0,   0,   4,   0,   0,   0, 
-     14,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0, 255, 255, 255, 255, 
+     13,   0,   4,   3,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+     21,   0,   0,   1,  39,   0, 
+      0,  11, 130,   0,  16,   0, 
+      0,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     10, 128,  32,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     43,   0,   0,   5,  34,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  24,   0,   0,   8, 
+     34,   0,  16,   0,   1,   0, 
+      0,   0,  26,   0,  16,   0, 
+      1,   0,   0,   0,  26, 128, 
+     32,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   7, 130,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+     26,   0,  16,   0,   1,   0, 
+      0,   0,  31,   0,   4,   3, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0, 191,   0,   0, 
+      0,   7, 130,   0,  16,   0, 
+      0,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10,   0,  16,   0,   1,   0, 
+      0,   0,  49,   0,   0,   7, 
+    130,   0,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   7, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+    255, 255, 255, 255,  13,   0, 
+      4,   3,  58,   0,  16,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5,  18,   0,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0, 128,  63, 
+     21,   0,   0,   1,  54,   0, 
+      0,   5, 114,  32,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5, 130,  32, 
+     16,   0,   0,   0,   0,   0, 
+     10,   0,  16,   0,   1,   0, 
+      0,   0,  62,   0,   0,   1, 
+     83,  84,  65,  84, 148,   0, 
+      0,   0, 144,   0,   0,   0, 
+      6,   0,   0,   0,   0,   0, 
+      0,   0,   5,   0,   0,   0, 
+     67,   0,   0,   0,   1,   0, 
+      0,   0,   7,   0,   0,   0, 
+      4,   0,   0,   0,  15,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,   3,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  14,   0,   0,   0, 
-      0,   0,   0,   0,   8,   0, 
+     15,   0,   0,   0,   0,   0, 
+      0,   0,  11,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1124,18 +1209,17 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  83,  80,  68,  66, 
-      0, 118,   0,   0,  77, 105, 
-     99, 114, 111, 115, 111, 102, 
-    116,  32,  67,  47,  67,  43, 
-     43,  32,  77,  83,  70,  32, 
-     55,  46,  48,  48,  13,  10, 
-     26,  68,  83,   0,   0,   0, 
-      0,   2,   0,   0,   2,   0, 
-      0,   0,  59,   0,   0,   0, 
-      8,   1,   0,   0,   0,   0, 
-      0,   0,  55,   0,   0,   0, 
+     83,  80,  68,  66,   0, 118, 
+      0,   0,  77, 105,  99, 114, 
+    111, 115, 111, 102, 116,  32, 
+     67,  47,  67,  43,  43,  32, 
+     77,  83,  70,  32,  55,  46, 
+     48,  48,  13,  10,  26,  68, 
+     83,   0,   0,   0,   0,   2, 
+      0,   0,   2,   0,   0,   0, 
+     59,   0,   0,   0,  16,   1, 
       0,   0,   0,   0,   0,   0, 
+     57,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1211,7 +1295,8 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    192, 255, 255, 255, 255, 255, 
+      0,   0,   0,   0, 192, 255, 
+    255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
@@ -1296,8 +1381,8 @@ const BYTE CustomUIDX11PixelShader[] =
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
-    255, 255,  56,   0,   0,   0, 
-      0,   0,   0, 255, 255, 255, 
+     56,   0,   0,   0,   0,   0, 
+      0, 252, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
@@ -1381,13 +1466,12 @@ const BYTE CustomUIDX11PixelShader[] =
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
     255, 255, 255, 255, 255, 255, 
-    255, 255, 255, 255,   5,   0, 
-      0,   0,  32,   0,   0,   0, 
-     60,   0,   0,   0,   0,   0, 
-      0,   0, 255, 255, 255, 255, 
-      0,   0,   0,   0,   6,   0, 
-      0,   0,   5,   0,   0,   0, 
+    255, 255,   5,   0,   0,   0, 
+     32,   0,   0,   0,  60,   0, 
       0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,   6,   0,   0,   0, 
+      5,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1467,7 +1551,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1552,17 +1636,17 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0, 148,  46,  49,   1, 
-    110, 157, 255,  99,   1,   0, 
-      0,   0, 151,  22, 172, 172, 
-      4,  61,  85,  66, 157,  62, 
-      6, 153,  21, 118,  24, 211, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
+    148,  46,  49,   1,   0,  20, 
+     86, 100,   1,   0,   0,   0, 
+    233, 184,   4,  90,  84,  89, 
+     91,  68, 163, 222, 213, 242, 
+    194, 233, 155, 156,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 220,  81, 
-     51,   1,   0,   0,   0,   0, 
+      0,   0, 220,  81,  51,   1, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1637,7 +1721,8 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  32,  32, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -1650,96 +1735,96 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10,  84, 101, 
-    120, 116, 117, 114, 101,  50, 
-     68,  32, 115, 104,  97, 100, 
-    101, 114,  84, 101, 120, 116, 
-    117, 114, 101,  32,  58,  32, 
+     13,  10,  84, 101, 120, 116, 
+    117, 114, 101,  50,  68,  32, 
+    115, 104,  97, 100, 101, 114, 
+     84, 101, 120, 116, 117, 114, 
+    101,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40, 116,  48,  41,  59,  13, 
+     10,  83,  97, 109, 112, 108, 
+    101, 114,  83, 116,  97, 116, 
+    101,  32,  83,  97, 109, 112, 
+    108, 101,  84, 121, 112, 101, 
+     59,  13,  10,  13,  10,  47, 
+     47,  32,  84, 104, 101,  32, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32, 111, 102,  32, 
+    116, 104, 101,  32, 107,  97, 
+    109, 101, 114,  97,  13,  10, 
+     99,  98, 117, 102, 102, 101, 
+    114,  32,  75,  97, 109, 101, 
+    114,  97,  32,  58,  32, 114, 
+    101, 103, 105, 115, 116, 101, 
+    114,  40,  98,  48,  41,  13, 
+     10, 123,  13,  10,   9, 102, 
+    108, 111,  97, 116,  52,  32, 
+    107,  80, 111, 115, 105, 116, 
+    105, 111, 110,  59,  13,  10, 
+    125,  13,  10,  13,  10,  47, 
+     47,  32, 116, 104, 101, 115, 
+    101,  32, 118,  97, 108, 117, 
+    101, 115,  32, 115, 104, 111, 
+    117, 108, 100,  32, 115, 117, 
+    109,  32, 117, 112,  32, 116, 
+    111,  32,  49,  13,  10,  99, 
+     98, 117, 102, 102, 101, 114, 
+     32,  77,  97, 116, 101, 114, 
+    105,  97, 108,  32,  58,  32, 
     114, 101, 103, 105, 115, 116, 
-    101, 114,  40, 116,  48,  41, 
-     59,  13,  10,  83,  97, 109, 
-    112, 108, 101, 114,  83, 116, 
-     97, 116, 101,  32,  83,  97, 
-    109, 112, 108, 101,  84, 121, 
-    112, 101,  59,  13,  10,  13, 
-     10,  47,  47,  32,  84, 104, 
-    101,  32, 112, 111, 115, 105, 
-    116, 105, 111, 110,  32, 111, 
-    102,  32, 116, 104, 101,  32, 
-    107,  97, 109, 101, 114,  97, 
-     13,  10,  99,  98, 117, 102, 
-    102, 101, 114,  32,  75,  97, 
-    109, 101, 114,  97,  32,  58, 
-     32, 114, 101, 103, 105, 115, 
-    116, 101, 114,  40,  98,  48, 
-     41,  13,  10, 123,  13,  10, 
-      9, 102, 108, 111,  97, 116, 
-     52,  32, 107,  80, 111, 115, 
-    105, 116, 105, 111, 110,  59, 
-     13,  10, 125,  13,  10,  13, 
-     10,  47,  47,  32, 116, 104, 
-    101, 115, 101,  32, 118,  97, 
-    108, 117, 101, 115,  32, 115, 
-    104, 111, 117, 108, 100,  32, 
-    115, 117, 109,  32, 117, 112, 
-     32, 116, 111,  32,  49,  13, 
-     10,  99,  98, 117, 102, 102, 
-    101, 114,  32,  77,  97, 116, 
-    101, 114, 105,  97, 108,  32, 
-     58,  32, 114, 101, 103, 105, 
-    115, 116, 101, 114,  40,  98, 
-     49,  41,  13,  10, 123,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  32,  97, 109,  98, 105, 
-    101, 110, 116,  70,  97,  99, 
-    116, 111, 114,  59,  13,  10, 
-      9, 102, 108, 111,  97, 116, 
-     32, 100, 105, 102, 102, 117, 
-    115,  70,  97,  99, 116, 111, 
+    101, 114,  40,  98,  49,  41, 
+     13,  10, 123,  13,  10,   9, 
+    102, 108, 111,  97, 116,  32, 
+     97, 109,  98, 105, 101, 110, 
+    116,  70,  97,  99, 116, 111, 
     114,  59,  13,  10,   9, 102, 
-    108, 111,  97, 116,  32, 115, 
-    112, 101,  99, 117, 108,  97, 
-    114,  70,  97,  99, 116, 111, 
-    114,  59,  13,  10, 125,  59, 
-     13,  10,  13,  10,  99,  98, 
-    117, 102, 102, 101, 114,  32, 
-     76, 105, 103, 104, 116,  67, 
-    111, 117, 110, 116,  32,  58, 
-     32, 114, 101, 103, 105, 115, 
-    116, 101, 114,  40,  98,  50, 
-     41,  13,  10, 123,  13,  10, 
-      9, 105, 110, 116,  32, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  67, 
-    111, 117, 110, 116,  59,  13, 
-     10,   9, 105, 110, 116,  32, 
-    112, 111, 105, 110, 116,  76, 
-    105, 103, 104, 116,  67, 111, 
-    117, 110, 116,  59,  13,  10, 
-    125,  13,  10,  13,  10,  47, 
-     47,  32, 108, 105, 103, 104, 
-    116, 115,  13,  10, 115, 116, 
-    114, 117,  99, 116,  32,  68, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  13, 
-     10, 123,  13,  10,   9, 102, 
-    198,  90,   0,   0, 117, 131, 
-      1,   0,  76, 232,   3,   0, 
-    139,  69,   0,   0,  43, 236, 
-      3,   0,  28,  19,   2,   0, 
-     65,  36,   1,   0, 236, 179, 
-      1,   0, 125, 226,   0,   0, 
-     21, 230,   0,   0,  16, 107, 
-      2,   0,  73,  20,   1,   0, 
-    153, 189,   3,   0,  90, 199, 
-      3,   0, 209,  10,   2,   0, 
-     53, 174,   3,   0, 146, 230, 
-      3,   0,  98, 163,   2,   0, 
-    118,  19,   1,   0, 140, 144, 
-      3,   0, 201, 241,   2,   0, 
-     12, 238,   0,   0,  41,  96, 
-      0,   0,  50, 237,   0,   0, 
-    184, 172,   3,   0,   0,  16, 
+    108, 111,  97, 116,  32, 100, 
+    105, 102, 102, 117, 115,  70, 
+     97,  99, 116, 111, 114,  59, 
+     13,  10,   9, 102, 108, 111, 
+     97, 116,  32, 115, 112, 101, 
+     99, 117, 108,  97, 114,  70, 
+     97,  99, 116, 111, 114,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  99,  98, 117, 102, 
+    102, 101, 114,  32,  76, 105, 
+    103, 104, 116,  67, 111, 117, 
+    110, 116,  32,  58,  32, 114, 
+    101, 103, 105, 115, 116, 101, 
+    114,  40,  98,  50,  41,  13, 
+     10, 123,  13,  10,   9, 105, 
+    110, 116,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  67, 111, 117, 
+    110, 116,  59,  13,  10,   9, 
+    105, 110, 116,  32, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,  59,  13,  10, 125,  13, 
+     10,  13,  10,  47,  47,  32, 
+    108, 105, 103, 104, 116, 115, 
+     13,  10, 115, 116, 114, 117, 
+     99, 116,  32,  68, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  13,  10, 123, 
+     13,  10,   9, 102, 198,  90, 
+      0,   0, 117, 131,   1,   0, 
+     76, 232,   3,   0, 139,  69, 
+      0,   0,  43, 236,   3,   0, 
+     28,  19,   2,   0,  65,  36, 
+      1,   0, 236, 179,   1,   0, 
+    125, 226,   0,   0,  21, 230, 
+      0,   0, 253, 136,   0,   0, 
+     73,  20,   1,   0, 153, 189, 
+      3,   0, 123, 132,   1,   0, 
+    209,  10,   2,   0,  53, 174, 
+      3,   0, 146, 230,   3,   0, 
+     98, 163,   2,   0, 118,  19, 
+      1,   0, 140, 144,   3,   0, 
+    201, 241,   2,   0,  12, 238, 
+      0,   0,  41,  96,   0,   0, 
+     50, 237,   0,   0, 184, 172, 
+      3,   0,   0,  16,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1808,9 +1893,9 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  32,  32,  32, 
+     47,  47,  47,  47,  47,  47, 
+     47,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -1825,10 +1910,9 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-     47,  47,  32,  71,  76,  79, 
-     66,  65,  76,  83,  32,  47, 
-     47,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,  47,  47, 
+     32,  71,  76,  79,  66,  65, 
+     76,  83,  32,  47,  47,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -1843,10 +1927,10 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  47,  32, 
      32,  32,  32,  32,  32,  32, 
+     13,  10,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -1861,146 +1945,146 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     13,  10,  84, 101, 120, 116, 
-    117, 114, 101,  50,  68,  32, 
-    115, 104,  97, 100, 101, 114, 
+     32,  32,  32,  32,  13,  10, 
      84, 101, 120, 116, 117, 114, 
-    101,  32,  58,  32, 114, 101, 
+    101,  50,  68,  32, 115, 104, 
+     97, 100, 101, 114,  84, 101, 
+    120, 116, 117, 114, 101,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40, 116, 
+     48,  41,  59,  13,  10,  83, 
+     97, 109, 112, 108, 101, 114, 
+     83, 116,  97, 116, 101,  32, 
+     83,  97, 109, 112, 108, 101, 
+     84, 121, 112, 101,  59,  13, 
+     10,  13,  10,  47,  47,  32, 
+     84, 104, 101,  32, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+     32, 111, 102,  32, 116, 104, 
+    101,  32, 107,  97, 109, 101, 
+    114,  97,  13,  10,  99,  98, 
+    117, 102, 102, 101, 114,  32, 
+     75,  97, 109, 101, 114,  97, 
+     32,  58,  32, 114, 101, 103, 
+    105, 115, 116, 101, 114,  40, 
+     98,  48,  41,  13,  10, 123, 
+     13,  10,   9, 102, 108, 111, 
+     97, 116,  52,  32, 107,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,  59,  13,  10, 125,  13, 
+     10,  13,  10,  47,  47,  32, 
+    116, 104, 101, 115, 101,  32, 
+    118,  97, 108, 117, 101, 115, 
+     32, 115, 104, 111, 117, 108, 
+    100,  32, 115, 117, 109,  32, 
+    117, 112,  32, 116, 111,  32, 
+     49,  13,  10,  99,  98, 117, 
+    102, 102, 101, 114,  32,  77, 
+     97, 116, 101, 114, 105,  97, 
+    108,  32,  58,  32, 114, 101, 
     103, 105, 115, 116, 101, 114, 
-     40, 116,  48,  41,  59,  13, 
-     10,  83,  97, 109, 112, 108, 
-    101, 114,  83, 116,  97, 116, 
-    101,  32,  83,  97, 109, 112, 
-    108, 101,  84, 121, 112, 101, 
-     59,  13,  10,  13,  10,  47, 
-     47,  32,  84, 104, 101,  32, 
-    112, 111, 115, 105, 116, 105, 
-    111, 110,  32, 111, 102,  32, 
-    116, 104, 101,  32, 107,  97, 
-    109, 101, 114,  97,  13,  10, 
+     40,  98,  49,  41,  13,  10, 
+    123,  13,  10,   9, 102, 108, 
+    111,  97, 116,  32,  97, 109, 
+     98, 105, 101, 110, 116,  70, 
+     97,  99, 116, 111, 114,  59, 
+     13,  10,   9, 102, 108, 111, 
+     97, 116,  32, 100, 105, 102, 
+    102, 117, 115,  70,  97,  99, 
+    116, 111, 114,  59,  13,  10, 
+      9, 102, 108, 111,  97, 116, 
+     32, 115, 112, 101,  99, 117, 
+    108,  97, 114,  70,  97,  99, 
+    116, 111, 114,  59,  13,  10, 
+    125,  59,  13,  10,  13,  10, 
      99,  98, 117, 102, 102, 101, 
-    114,  32,  75,  97, 109, 101, 
-    114,  97,  32,  58,  32, 114, 
-    101, 103, 105, 115, 116, 101, 
-    114,  40,  98,  48,  41,  13, 
+    114,  32,  76, 105, 103, 104, 
+    116,  67, 111, 117, 110, 116, 
+     32,  58,  32, 114, 101, 103, 
+    105, 115, 116, 101, 114,  40, 
+     98,  50,  41,  13,  10, 123, 
+     13,  10,   9, 105, 110, 116, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  67, 111, 117, 110, 116, 
+     59,  13,  10,   9, 105, 110, 
+    116,  32, 112, 111, 105, 110, 
+    116,  76, 105, 103, 104, 116, 
+     67, 111, 117, 110, 116,  59, 
+     13,  10, 125,  13,  10,  13, 
+     10,  47,  47,  32, 108, 105, 
+    103, 104, 116, 115,  13,  10, 
+    115, 116, 114, 117,  99, 116, 
+     32,  68, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  13,  10, 123,  13,  10, 
+      9, 102, 108, 111,  97, 116, 
+     51,  32, 100, 105, 114, 101, 
+     99, 116, 105, 111, 110,  59, 
+     13,  10,   9, 102, 108, 111, 
+     97, 116,  51,  32,  99, 111, 
+    108, 111, 114,  59,  13,  10, 
+    125,  59,  13,  10,  13,  10, 
+    115, 116, 114, 117,  99, 116, 
+     32,  80, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116,  13, 
      10, 123,  13,  10,   9, 102, 
-    108, 111,  97, 116,  52,  32, 
-    107,  80, 111, 115, 105, 116, 
-    105, 111, 110,  59,  13,  10, 
-    125,  13,  10,  13,  10,  47, 
-     47,  32, 116, 104, 101, 115, 
-    101,  32, 118,  97, 108, 117, 
-    101, 115,  32, 115, 104, 111, 
-    117, 108, 100,  32, 115, 117, 
-    109,  32, 117, 112,  32, 116, 
-    111,  32,  49,  13,  10,  99, 
-     98, 117, 102, 102, 101, 114, 
-     32,  77,  97, 116, 101, 114, 
-    105,  97, 108,  32,  58,  32, 
+    108, 111,  97, 116,  51,  32, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  59,  13,  10,   9, 
+    102, 108, 111,  97, 116,  51, 
+     32,  99, 111, 108, 111, 114, 
+     59,  13,  10,   9, 102, 108, 
+    111,  97, 116,  32, 114,  97, 
+    100, 105, 117, 115,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  99,  98, 117, 102, 102, 
+    101, 114,  32,  84, 101, 120, 
+    116, 117, 114,  69, 102, 102, 
+    101,  99, 116,  32,  58,  32, 
     114, 101, 103, 105, 115, 116, 
-    101, 114,  40,  98,  49,  41, 
-     13,  10, 123,  13,  10,   9, 
-    102, 108, 111,  97, 116,  32, 
-     97, 109,  98, 105, 101, 110, 
-    116,  70,  97,  99, 116, 111, 
-    114,  59,  13,  10,   9, 102, 
-    108, 111,  97, 116,  32, 100, 
-    105, 102, 102, 117, 115,  70, 
-     97,  99, 116, 111, 114,  59, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  32, 115, 112, 101, 
-     99, 117, 108,  97, 114,  70, 
-     97,  99, 116, 111, 114,  59, 
-     13,  10, 125,  59,  13,  10, 
-     13,  10,  99,  98, 117, 102, 
-    102, 101, 114,  32,  76, 105, 
-    103, 104, 116,  67, 111, 117, 
-    110, 116,  32,  58,  32, 114, 
-    101, 103, 105, 115, 116, 101, 
-    114,  40,  98,  50,  41,  13, 
-     10, 123,  13,  10,   9, 105, 
-    110, 116,  32, 100, 105, 102, 
-    102, 117, 115, 101,  76, 105, 
-    103, 104, 116,  67, 111, 117, 
-    110, 116,  59,  13,  10,   9, 
-    105, 110, 116,  32, 112, 111, 
-    105, 110, 116,  76, 105, 103, 
-    104, 116,  67, 111, 117, 110, 
-    116,  59,  13,  10, 125,  13, 
-     10,  13,  10,  47,  47,  32, 
-    108, 105, 103, 104, 116, 115, 
-     13,  10, 115, 116, 114, 117, 
-     99, 116,  32,  68, 105, 102, 
-    102, 117, 115, 101,  76, 105, 
-    103, 104, 116,  13,  10, 123, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  51,  32, 100, 105, 
-    114, 101,  99, 116, 105, 111, 
-    110,  59,  13,  10,   9, 102, 
-    108, 111,  97, 116,  51,  32, 
-     99, 111, 108, 111, 114,  59, 
-     13,  10, 125,  59,  13,  10, 
-     13,  10, 115, 116, 114, 117, 
-     99, 116,  32,  80, 111, 105, 
-    110, 116,  76, 105, 103, 104, 
-    116,  13,  10, 123,  13,  10, 
+    101, 114,  40,  98,  51,  41, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32,  98, 111, 111, 
+    108,  32, 101, 102, 102, 101, 
+     99, 116,  69, 110,  97,  98, 
+    108, 101, 100,  59,  13,  10, 
       9, 102, 108, 111,  97, 116, 
-     51,  32, 112, 111, 115, 105, 
-    116, 105, 111, 110,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  51,  32,  99, 111, 108, 
-    111, 114,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  32, 
-    114,  97, 100, 105, 117, 115, 
-     59,  13,  10, 125,  59,  13, 
-     10,  13,  10,  99,  98, 117, 
-    102, 102, 101, 114,  32,  84, 
-    101, 120, 116, 117, 114,  69, 
-    102, 102, 101,  99, 116,  32, 
+     32, 101, 102, 102, 101,  99, 
+    116,  80, 101, 114,  99, 101, 
+    110, 116,  97, 103, 101,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  83, 116, 114, 117, 
+     99, 116, 117, 114, 101, 100, 
+     66, 117, 102, 102, 101, 114, 
+     60,  32,  68, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  32,  62,  32, 100, 
+    105, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116, 115,  32, 
      58,  32, 114, 101, 103, 105, 
-    115, 116, 101, 114,  40,  98, 
-     51,  41,  13,  10, 123,  13, 
-     10,  32,  32,  32,  32,  98, 
-    111, 111, 108,  32, 101, 102, 
-    102, 101,  99, 116,  69, 110, 
-     97,  98, 108, 101, 100,  59, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  32, 101, 102, 102, 
-    101,  99, 116,  80, 101, 114, 
-     99, 101, 110, 116,  97, 103, 
-    101,  59,  13,  10, 125,  59, 
-     13,  10,  13,  10,  83, 116, 
-    114, 117,  99, 116, 117, 114, 
-    101, 100,  66, 117, 102, 102, 
-    101, 114,  60,  32,  68, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,  32,  62, 
-     32, 100, 105, 102, 117, 115, 
-    101,  76, 105, 103, 104, 116, 
-    115,  32,  58,  32, 114, 101, 
-    103, 105, 115, 116, 101, 114, 
-     40, 116,  49,  41,  59,  13, 
-     10,  83, 116, 114, 117,  99, 
-    116, 117, 114, 101, 100,  66, 
-    117, 102, 102, 101, 114,  60, 
-     32,  80, 111, 105, 110, 116, 
-     76, 105, 103, 104, 116,  32, 
-     62,  32, 112, 111, 105, 110, 
-    116,  76, 105, 103, 104, 116, 
-    115,  32,  58,  32, 114, 101, 
-    103, 105, 115, 116, 101, 114, 
-     40, 116,  50,  41,  59,  13, 
-     10,  84, 101, 120, 116, 117, 
-    114, 101,  50,  68,  32,  97, 
-    100, 100, 105, 116, 105, 111, 
-    110,  97, 108,  84, 101, 120, 
-    116, 117, 114, 101,  32,  58, 
-     32, 114, 101, 103, 105, 115, 
-    116, 101, 114,  40, 116,  51, 
-     41,  59,  13,  10,  13,  10, 
+    115, 116, 101, 114,  40, 116, 
+     49,  41,  59,  13,  10,  83, 
+    116, 114, 117,  99, 116, 117, 
+    114, 101, 100,  66, 117, 102, 
+    102, 101, 114,  60,  32,  80, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116,  32,  62,  32, 
+    112, 111, 105, 110, 116,  76, 
+    105, 103, 104, 116, 115,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40, 116, 
+     50,  41,  59,  13,  10,  84, 
+    101, 120, 116, 117, 114, 101, 
+     50,  68,  32,  97, 100, 100, 
+    105, 116, 105, 111, 110,  97, 
+    108,  84, 101, 120, 116, 117, 
+    114, 101,  32,  58,  32, 114, 
+    101, 103, 105, 115, 116, 101, 
+    114,  40, 116,  51,  41,  59, 
+     13,  10,  13,  10,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -2015,10 +2099,10 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10,  47,  47, 
-     32,  84,  89,  80,  69,  68, 
-     69,  70,  83,  32,  47,  47, 
      32,  32,  32,  32,  32,  32, 
+     13,  10,  47,  47,  32,  84, 
+     89,  80,  69,  68,  69,  70, 
+     83,  32,  47,  47,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -2033,9 +2117,10 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     13,  10,  47,  47,  47,  47, 
+     32,  32,  32,  32,  13,  10, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  32,  32, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -2050,44 +2135,43 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-    115, 116, 114, 117,  99, 116, 
-     32,  80, 105, 120, 101, 108, 
-     73, 110, 112, 117, 116,  84, 
-    121, 112, 101,  13,  10, 123, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  52,  32, 119, 111, 
-    114, 108, 100,  80, 111, 115, 
-     32,  58,  32,  80,  79,  83, 
-     73,  84,  73,  79,  78,  59, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  52,  32, 112, 111, 
-    115, 105, 116, 105, 111, 110, 
-     32,  58,  32,  83,  86,  95, 
-     80,  79,  83,  73,  84,  73, 
-     79,  78,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  50, 
-     32, 116, 101, 120,  32,  58, 
-     32,  84,  69,  88,  67,  79, 
-     79,  82,  68,  48,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  51,  32, 110, 111, 114, 
-    109,  97, 108,  32,  58,  32, 
+     32,  32,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  80, 
+    105, 120, 101, 108,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  13,  10, 123,  13,  10, 
+      9, 102, 108, 111,  97, 116, 
+     52,  32, 119, 111, 114, 108, 
+    100,  80, 111, 115,  32,  58, 
+     32,  80,  79,  83,  73,  84, 
+     73,  79,  78,  59,  13,  10, 
+      9, 102, 108, 111,  97, 116, 
+     52,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32,  58, 
+     32,  83,  86,  95,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+     59,  13,  10,   9, 102, 108, 
+    111,  97, 116,  50,  32, 116, 
+    101, 120,  32,  58,  32,  84, 
+     69,  88,  67,  79,  79,  82, 
+     68,  48,  59,  13,  10,   9, 
+    102, 108, 111,  97, 116,  51, 
+     32, 110, 111, 114, 109,  97, 
+    108,  32,  58,  32,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+     49,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  52,  32, 108, 105, 103, 
+    104, 116,  49,  32,  58,  32, 
      84,  69,  88,  67,  79,  79, 
-     82,  68,  49,  59,  13,  10, 
+     82,  68,  50,  59,  13,  10, 
      32,  32,  32,  32, 102, 108, 
     111,  97, 116,  52,  32, 108, 
-    105, 103, 104, 116,  49,  32, 
+    105, 103, 104, 116,  50,  32, 
      58,  32,  84,  69,  88,  67, 
-     79,  79,  82,  68,  50,  59, 
-     13,  10,  32,  32,  32,  32, 
-    102, 108, 111,  97, 116,  52, 
-     32, 108, 105, 103, 104, 116, 
-     50,  32,  58,  32,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-     51,  59,  13,  10, 125,  59, 
-     13,  10,  13,  10,  47,  47, 
-     47,  47,  47,  47,  47,  47, 
+     79,  79,  82,  68,  51,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -2100,13 +2184,14 @@ const BYTE CustomUIDX11PixelShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     13,  10,  47,  47,  32,  80, 
-    105, 120, 101, 108,  32,  83, 
-    104,  97, 100, 101, 114,  32, 
+     32,  32,  32,  32,  13,  10, 
+     47,  47,  32,  80, 105, 120, 
+    101, 108,  32,  83, 104,  97, 
+    100, 101, 114,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -2121,7 +2206,7 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
+     32,  32,  13,  10,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -2135,214 +2220,219 @@ const BYTE CustomUIDX11PixelShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10, 102, 108, 
-    111,  97, 116,  52,  32,  84, 
-    101, 120, 116, 117, 114, 101, 
-     80, 105, 120, 101, 108,  83, 
-    104,  97, 100, 101, 114,  40, 
-     80, 105, 120, 101, 108,  73, 
-    110, 112, 117, 116,  84, 121, 
-    112, 101,  32, 105, 110, 112, 
-    117, 116,  41,  32,  58,  32, 
-     83,  86,  95,  84,  65,  82, 
-     71,  69,  84,  13,  10, 123, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  51,  32, 100, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,  32,  61, 
-     32, 102, 108, 111,  97, 116, 
-     51,  40,  48,  44,  32,  48, 
-     44,  32,  48,  41,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  51,  32, 115, 112, 101, 
-     99, 117, 108,  97, 114,  76, 
-    105, 103, 104, 116,  32,  61, 
-     32, 102, 108, 111,  97, 116, 
-     51,  40,  48,  44,  32,  48, 
-     44,  32,  48,  41,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  52,  32, 109,  97, 116, 
-    101, 114, 105,  97, 108,  67, 
-    111, 108, 111, 114,  32,  61, 
-     32, 115, 104,  97, 100, 101, 
-    114,  84, 101, 120, 116, 117, 
-    114, 101,  46,  83,  97, 109, 
-    112, 108, 101,  40,  83,  97, 
-    109, 112, 108, 101,  84, 121, 
-    112, 101,  44,  32, 105, 110, 
-    112, 117, 116,  46, 116, 101, 
-    120,  41,  59,  13,  10,   9, 
-    105, 102,  32,  40, 101, 102, 
-    102, 101,  99, 116,  69, 110, 
-     97,  98, 108, 101, 100,  41, 
-     13,  10,   9, 123,  13,  10, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  98, 111, 111, 108, 
-     32, 101, 102, 102, 101,  99, 
-    116,  65, 108, 112, 104,  97, 
-     32,  61,  32, 101, 102, 102, 
-    101,  99, 116,  80, 101, 114, 
-     99, 101, 110, 116,  97, 103, 
-    101,  32,  62,  32,  49,  46, 
-    102,  59,  13,  10,  32,  32, 
+     13,  10, 102, 108, 111,  97, 
+    116,  52,  32,  84, 101, 120, 
+    116, 117, 114, 101,  80, 105, 
+    120, 101, 108,  83, 104,  97, 
+    100, 101, 114,  40,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     32, 105, 110, 112, 117, 116, 
+     41,  32,  58,  32,  83,  86, 
+     95,  84,  65,  82,  71,  69, 
+     84,  13,  10, 123,  13,  10, 
+      9, 102, 108, 111,  97, 116, 
+     51,  32, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  32,  61,  32, 102, 
+    108, 111,  97, 116,  51,  40, 
+     48,  44,  32,  48,  44,  32, 
+     48,  41,  59,  13,  10,   9, 
+    102, 108, 111,  97, 116,  51, 
+     32, 115, 112, 101,  99, 117, 
+    108,  97, 114,  76, 105, 103, 
+    104, 116,  32,  61,  32, 102, 
+    108, 111,  97, 116,  51,  40, 
+     48,  44,  32,  48,  44,  32, 
+     48,  41,  59,  13,  10,   9, 
+    102, 108, 111,  97, 116,  52, 
+     32, 109,  97, 116, 101, 114, 
+    105,  97, 108,  67, 111, 108, 
+    111, 114,  32,  61,  32, 115, 
+    104,  97, 100, 101, 114,  84, 
+    101, 120, 116, 117, 114, 101, 
+     46,  83,  97, 109, 112, 108, 
+    101,  40,  83,  97, 109, 112, 
+    108, 101,  84, 121, 112, 101, 
+     44,  32, 105, 110, 112, 117, 
+    116,  46, 116, 101, 120,  41, 
+     59,  13,  10,   9, 105, 102, 
+     32,  40, 101, 102, 102, 101, 
+     99, 116,  69, 110,  97,  98, 
+    108, 101, 100,  41,  13,  10, 
+      9, 123,  13,  10,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-    102, 108, 111,  97, 116,  32, 
-    112, 101, 114,  99, 101, 110, 
-    116,  97, 103, 101,  32,  61, 
+     98, 111, 111, 108,  32, 101, 
+    102, 102, 101,  99, 116,  65, 
+    108, 112, 104,  97,  32,  61, 
      32, 101, 102, 102, 101,  99, 
     116,  80, 101, 114,  99, 101, 
-    110, 116,  97, 103, 101,  59, 
+    110, 116,  97, 103, 101,  32, 
+     62,  32,  49,  46, 102,  59, 
      13,  10,  32,  32,  32,  32, 
-     32,  32,  32,  32, 105, 102, 
-     32,  40, 101, 102, 102, 101, 
-     99, 116,  65, 108, 112, 104, 
-     97,  41,  32, 112, 101, 114, 
-     99, 101, 110, 116,  97, 103, 
-    101,  32,  45,  61,  32,  49, 
-     46, 102,  59,  13,  10,  32, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  32, 112, 101, 
+    114,  99, 101, 110, 116,  97, 
+    103, 101,  32,  61,  32, 101, 
+    102, 102, 101,  99, 116,  80, 
+    101, 114,  99, 101, 110, 116, 
+     97, 103, 101,  59,  13,  10, 
      32,  32,  32,  32,  32,  32, 
-     32, 105, 102,  32,  40, 101, 
-    102, 102, 101,  99, 116,  69, 
-    110,  97,  98, 108, 101, 100, 
-     32,  38,  38,  32,  33, 101, 
-    102, 102, 101,  99, 116,  65, 
-    108, 112, 104,  97,  41,  32, 
-     99, 108, 105, 112,  40, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     46,  97,  32,  45,  32,  48, 
-     46,  50,  53,  41,  59,  13, 
-     10,   9,   9, 102, 108, 111, 
-     97, 116,  32, 100, 105, 115, 
-    116,  32,  61,  32, 115, 113, 
-    114, 116,  40,  40, 105, 110, 
-    112, 117, 116,  46, 116, 101, 
-    120,  46, 120,  32,  45,  32, 
-     48,  46,  53, 102,  41,  32, 
-     42,  32,  40, 105, 110, 112, 
-    117, 116,  46, 116, 101, 120, 
-     46, 120,  32,  45,  32,  48, 
-     46,  53, 102,  41,  32,  43, 
-     32,  40, 105, 110, 112, 117, 
+     32,  32, 105, 102,  32,  40, 
+    101, 102, 102, 101,  99, 116, 
+     65, 108, 112, 104,  97,  41, 
+     32, 112, 101, 114,  99, 101, 
+    110, 116,  97, 103, 101,  32, 
+     45,  61,  32,  49,  46, 102, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 105, 
+    102,  32,  40, 101, 102, 102, 
+    101,  99, 116,  69, 110,  97, 
+     98, 108, 101, 100,  32,  38, 
+     38,  32,  33, 101, 102, 102, 
+    101,  99, 116,  65, 108, 112, 
+    104,  97,  41,  32,  99, 108, 
+    105, 112,  40, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  46,  97, 
+     32,  45,  32,  48,  46,  50, 
+     53,  41,  59,  13,  10,   9, 
+      9, 102, 108, 111,  97, 116, 
+     32, 100, 105, 115, 116,  32, 
+     61,  32, 115, 113, 114, 116, 
+     40,  40, 105, 110, 112, 117, 
     116,  46, 116, 101, 120,  46, 
-    121,  32,  45,  32,  48,  46, 
+    120,  32,  45,  32,  48,  46, 
      53, 102,  41,  32,  42,  32, 
      40, 105, 110, 112, 117, 116, 
-     46, 116, 101, 120,  46, 121, 
+     46, 116, 101, 120,  46, 120, 
      32,  45,  32,  48,  46,  53, 
-    102,  41,  41,  32,  47,  32, 
-    115, 113, 114, 116,  40,  48, 
-     46,  53, 102,  41,  59,  13, 
-     10,  32,  32,  32,  32,  32, 
-     32,  32,  32, 105, 102,  32, 
-     40, 100, 105, 115, 116,  32, 
-     60,  32, 112, 101, 114,  99, 
-    101, 110, 116,  97, 103, 101, 
-     41,  13,  10,   9,   9, 123, 
-     13,  10,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32, 102, 108, 111,  97, 
-    116,  32,  97, 108, 112, 104, 
-     97,  77, 117, 108, 116, 105, 
-    112, 108, 105, 101, 114,  32, 
-     61,  32,  40, 112, 101, 114, 
-     99, 101, 110, 116,  97, 103, 
-    101,  32,  45,  32, 100, 105, 
-    115, 116,  41,  32,  47,  32, 
-     48,  46,  50, 102,  59,  13, 
-     10,   9,   9,   9, 105, 102, 
-     32,  40,  97, 108, 112, 104, 
-     97,  77, 117, 108, 116, 105, 
-    112, 108, 105, 101, 114,  32, 
-     62,  32,  49,  41,  13,  10, 
-      9,   9,   9,   9,  97, 108, 
-    112, 104,  97,  77, 117, 108, 
-    116, 105, 112, 108, 105, 101, 
-    114,  32,  61,  32,  49,  46, 
-    102,  59,  13,  10,   9,   9, 
-      9, 102, 108, 111,  97, 116, 
-     52,  32, 101, 102, 102, 101, 
-     99, 116,  67, 111, 108, 111, 
-    114,  32,  61,  32,  97, 100, 
-    100, 105, 116, 105, 111, 110, 
-     97, 108,  84, 101, 120, 116, 
-    117, 114, 101,  46,  83,  97, 
-    109, 112, 108, 101,  40,  83, 
-     97, 109, 112, 108, 101,  84, 
-    121, 112, 101,  44,  32, 105, 
+    102,  41,  32,  43,  32,  40, 
+    105, 110, 112, 117, 116,  46, 
+    116, 101, 120,  46, 121,  32, 
+     45,  32,  48,  46,  53, 102, 
+     41,  32,  42,  32,  40, 105, 
     110, 112, 117, 116,  46, 116, 
-    101, 120,  41,  59,  13,  10, 
+    101, 120,  46, 121,  32,  45, 
+     32,  48,  46,  53, 102,  41, 
+     41,  32,  47,  32, 115, 113, 
+    114, 116,  40,  48,  46,  53, 
+    102,  41,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 105, 102,  32,  40, 100, 
+    105, 115, 116,  32,  60,  32, 
+    112, 101, 114,  99, 101, 110, 
+    116,  97, 103, 101,  41,  13, 
+     10,   9,   9, 123,  13,  10, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
     102, 108, 111,  97, 116,  32, 
+     97, 108, 112, 104,  97,  77, 
+    117, 108, 116, 105, 112, 108, 
+    105, 101, 114,  32,  61,  32, 
+     40, 112, 101, 114,  99, 101, 
+    110, 116,  97, 103, 101,  32, 
+     45,  32, 100, 105, 115, 116, 
+     41,  32,  47,  32,  48,  46, 
+     50, 102,  59,  13,  10,   9, 
+      9,   9, 105, 102,  32,  40, 
+     97, 108, 112, 104,  97,  77, 
+    117, 108, 116, 105, 112, 108, 
+    105, 101, 114,  32,  62,  32, 
+     49,  41,  13,  10,   9,   9, 
+      9,   9,  97, 108, 112, 104, 
+     97,  77, 117, 108, 116, 105, 
+    112, 108, 105, 101, 114,  32, 
+     61,  32,  49,  46, 102,  59, 
+     13,  10,   9,   9,   9, 102, 
+    108, 111,  97, 116,  52,  32, 
     101, 102, 102, 101,  99, 116, 
-     65,  32,  61,  32, 101, 102, 
+     67, 111, 108, 111, 114,  32, 
+     61,  32,  97, 100, 100, 105, 
+    116, 105, 111, 110,  97, 108, 
+     84, 101, 120, 116, 117, 114, 
+    101,  46,  83,  97, 109, 112, 
+    108, 101,  40,  83,  97, 109, 
+    112, 108, 101,  84, 121, 112, 
+    101,  44,  32, 105, 110, 112, 
+    117, 116,  46, 116, 101, 120, 
+     41,  59,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  32, 101, 102, 
+    102, 101,  99, 116,  65,  32, 
+     61,  32, 101, 102, 102, 101, 
+     99, 116,  67, 111, 108, 111, 
+    114,  46,  97,  59,  13,  10, 
+      9,   9,   9, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  32,  61, 
+     32, 101, 102, 102, 101,  99, 
+    116,  67, 111, 108, 111, 114, 
+     32,  42,  32,  40, 101, 102, 
     102, 101,  99, 116,  67, 111, 
-    108, 111, 114,  46,  97,  59, 
-     13,  10,   9,   9,   9, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     32,  61,  32, 101, 102, 102, 
-    101,  99, 116,  67, 111, 108, 
-    111, 114,  32,  42,  32,  40, 
+    108, 111, 114,  46,  97,  32, 
+     42,  32,  97, 108, 112, 104, 
+     97,  77, 117, 108, 116, 105, 
+    112, 108, 105, 101, 114,  41, 
+     32,  43,  32, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  32,  42, 
+     32,  40,  49,  32,  45,  32, 
     101, 102, 102, 101,  99, 116, 
      67, 111, 108, 111, 114,  46, 
      97,  32,  42,  32,  97, 108, 
     112, 104,  97,  77, 117, 108, 
     116, 105, 112, 108, 105, 101, 
-    114,  41,  32,  43,  32, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     32,  42,  32,  40,  49,  32, 
-     45,  32, 101, 102, 102, 101, 
-     99, 116,  67, 111, 108, 111, 
-    114,  46,  97,  32,  42,  32, 
-     97, 108, 112, 104,  97,  77, 
-    117, 108, 116, 105, 112, 108, 
-    105, 101, 114,  41,  59,  13, 
-     10,  32,  32,  32,  32,  32, 
+    114,  41,  59,  13,  10,  32, 
      32,  32,  32,  32,  32,  32, 
-     32, 105, 102,  32,  40, 101, 
-    102, 102, 101,  99, 116,  65, 
-    108, 112, 104,  97,  41,  13, 
-     10,   9,   9,   9, 123,  13, 
-     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32, 105, 
+    102,  32,  40, 101, 102, 102, 
+    101,  99, 116,  65, 108, 112, 
+    104,  97,  41,  13,  10,   9, 
+      9,   9, 123,  13,  10,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     46,  97,  32,  61,  32, 101, 
-    102, 102, 101,  99, 116,  65, 
-     32,  42,  32,  97, 108, 112, 
-    104,  97,  77, 117, 108, 116, 
-    105, 112, 108, 105, 101, 114, 
-     59,  13,  10,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
+     32,  32,  32, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  46,  97, 
+     32,  61,  32, 101, 102, 102, 
+    101,  99, 116,  65,  32,  42, 
+     32,  97, 108, 112, 104,  97, 
+     77, 117, 108, 116, 105, 112, 
+    108, 105, 101, 114,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32, 105, 102,  32,  40, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     46,  97,  32,  62,  32,  49, 
-     46,  48,  41,  32, 109,  97, 
-    116, 101, 114, 105,  97, 108, 
-     67, 111, 108, 111, 114,  46, 
-     97,  32,  61,  32,  49,  46, 
-     48,  59,  13,  10,   9,   9, 
-      9, 125,  13,  10,   9,   9, 
-    125,  13,  10,  32,  32,  32, 
-     32, 125,  13,  10,   9, 101, 
-    108, 115, 101,  13,  10,   9, 
-    123,  13,  10,  32,  32,  32, 
-     32,  32,  32,  32,  32,  99, 
-    108, 105, 112,  40, 109,  97, 
-    116, 101, 114, 105,  97, 108, 
-     67, 111, 108, 111, 114,  46, 
-     97,  32,  45,  32,  48,  46, 
-     50,  53,  41,  59,  13,  10, 
+     32,  32,  32,  32,  32, 105, 
+    102,  32,  40, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  46,  97, 
+     32,  62,  32,  49,  46,  48, 
+     41,  32, 109,  97, 116, 101, 
+    114, 105,  97, 108,  67, 111, 
+    108, 111, 114,  46,  97,  32, 
+     61,  32,  49,  46,  48,  59, 
+     13,  10,   9,   9,   9, 125, 
+     13,  10,   9,   9, 125,  13, 
+     10,  32,  32,  32,  32, 125, 
+     13,  10,   9, 101, 108, 115, 
+    101,  13,  10,   9, 123,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  99, 108, 105, 
+    112,  40, 109,  97, 116, 101, 
+    114, 105,  97, 108,  67, 111, 
+    108, 111, 114,  46,  97,  32, 
+     45,  32,  48,  46,  50,  53, 
+     41,  59,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    109,  97, 116, 101, 114, 105, 
+     97, 108,  67, 111, 108, 111, 
+    114,  46,  97,  32,  61,  32, 
+     49,  46,  48,  59,  13,  10, 
       9, 125,  13,  10,   9, 105, 
     102,  32,  40, 105, 110, 112, 
     117, 116,  46, 108, 105, 103, 
@@ -2719,104 +2809,184 @@ const BYTE CustomUIDX11PixelShader[] =
     109,  97, 116, 101, 114, 105, 
      97, 108,  67, 111, 108, 111, 
     114,  46,  97,  59,  13,  10, 
-      9, 105, 102,  32,  40, 105, 
-    115, 110,  97, 110,  40, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  46, 
-    120,  32,  42,  32, 100, 105, 
-    102, 102, 117, 115,  70,  97, 
-     99, 116, 111, 114,  41,  41, 
-     13,  10,   9,   9, 116, 101, 
-    120, 116, 117, 114, 101,  67, 
-    111, 108, 111, 114,  32,  61, 
-     32, 109,  97, 116, 101, 114, 
-    105,  97, 108,  67, 111, 108, 
-    111, 114,  59,  13,  10,   9, 
-    114, 101, 116, 117, 114, 110, 
-     32, 116, 101, 120, 116, 117, 
+     32,  32,  32,  32, 105, 102, 
+     32,  40, 105, 115, 110,  97, 
+    110,  40, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  46, 120,  32,  42, 
+     32, 100, 105, 102, 102, 117, 
+    115,  70,  97,  99, 116, 111, 
+    114,  41,  41,  32,  99, 108, 
+    105, 112,  40,  45,  49,  41, 
+     59,  13,  10,   9,  47,  47, 
+      9, 116, 101, 120, 116, 117, 
     114, 101,  67, 111, 108, 111, 
-    114,  59,  13,  10,   9,  47, 
-     47, 114, 101, 116, 117, 114, 
-    110,  32, 116, 101, 120, 116, 
+    114,  32,  61,  32, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,  59, 
+     13,  10,  32,  32,  32,  32, 
+    105, 102,  32,  40, 101, 102, 
+    102, 101,  99, 116,  69, 110, 
+     97,  98, 108, 101, 100,  32, 
+     38,  38,  32, 101, 102, 102, 
+    101,  99, 116,  80, 101, 114, 
+     99, 101, 110, 116,  97, 103, 
+    101,  32,  61,  61,  32,  48, 
+     41,  13,  10,   9, 123,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  99, 108, 105, 
+    112,  40, 116, 101, 120, 116, 
     117, 114, 101,  67, 111, 108, 
-    111, 114,  59,  13,  10,   9, 
-     47,  47, 105, 102,  32,  40, 
-    100, 105, 102, 102, 117, 115, 
-     70,  97,  99, 116, 111, 114, 
-     32,  61,  61,  32,  48,  41, 
-     13,  10,   9,  47,  47,   9, 
-    114, 101, 116, 117, 114, 110, 
-     32, 102, 108, 111,  97, 116, 
-     52,  40,  49,  44,  32,  49, 
-     44,  32,  48,  44,  32,  49, 
-     41,  59,  13,  10,   9,  47, 
-     42, 105, 102,  32,  40, 105, 
-    115, 110,  97, 110,  40, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  46, 
-    120,  41,  32, 124, 124,  32, 
-    105, 115, 110,  97, 110,  40, 
-    100, 105, 102, 102, 117, 115, 
-     70,  97,  99, 116, 111, 114, 
-     41,  32, 124, 124,  32, 105, 
-    115, 105, 110, 102,  40, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  46, 
-    120,  41,  32, 124, 124,  32, 
-    105, 115, 105, 110, 102,  40, 
-     45, 100, 105, 102, 102, 117, 
+    111, 114,  46,  97,  32,  45, 
+     32,  48,  46,  53,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 116, 101, 
+    120, 116, 117, 114, 101,  67, 
+    111, 108, 111, 114,  46,  97, 
+     32,  61,  32,  49,  46,  48, 
+     59,  13,  10,   9, 125,  13, 
+     10,   9, 114, 101, 116, 117, 
+    114, 110,  32, 116, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    108, 111, 114,  59,  13,  10, 
+      9,  47,  47, 114, 101, 116, 
+    117, 114, 110,  32, 116, 101, 
+    120, 116, 117, 114, 101,  67, 
+    111, 108, 111, 114,  59,  13, 
+     10,   9,  47,  47, 105, 102, 
+     32,  40, 100, 105, 102, 102, 
+    117, 115,  70,  97,  99, 116, 
+    111, 114,  32,  61,  61,  32, 
+     48,  41,  13,  10,   9,  47, 
+     47,   9, 114, 101, 116, 117, 
+    114, 110,  32, 102, 108, 111, 
+     97, 116,  52,  40,  49,  44, 
+     32,  49,  44,  32,  48,  44, 
+     32,  49,  41,  59,  13,  10, 
+      9,  47,  42, 105, 102,  32, 
+     40, 105, 115, 110,  97, 110, 
+     40, 100, 105, 102, 102, 117, 
     115, 101,  76, 105, 103, 104, 
-    116,  46, 120,  41,  41,  13, 
-     10,   9,   9, 114, 101, 116, 
-    117, 114, 110,  32, 102, 108, 
-    111,  97, 116,  52,  40,  48, 
-     44,  32,  49,  44,  32,  49, 
-     44,  32,  49,  41,  59,  13, 
-     10,   9, 105, 102,  32,  40, 
-    105, 115, 110,  97, 110,  40, 
-    100, 105, 102, 102, 117, 115, 
-    101,  76, 105, 103, 104, 116, 
-     46, 120,  32,  45,  32, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  46, 
-    120,  41,  32,  38,  38,  32, 
-    105, 115, 110,  97, 110,  40, 
+    116,  46, 120,  41,  32, 124, 
+    124,  32, 105, 115, 110,  97, 
+    110,  40, 100, 105, 102, 102, 
+    117, 115,  70,  97,  99, 116, 
+    111, 114,  41,  32, 124, 124, 
+     32, 105, 115, 105, 110, 102, 
+     40, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  46, 120,  41,  32, 124, 
+    124,  32, 105, 115, 105, 110, 
+    102,  40,  45, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  46, 120,  41, 
+     41,  13,  10,   9,   9, 114, 
+    101, 116, 117, 114, 110,  32, 
+    102, 108, 111,  97, 116,  52, 
+     40,  48,  44,  32,  49,  44, 
+     32,  49,  44,  32,  49,  41, 
+     59,  13,  10,   9, 105, 102, 
+     32,  40, 105, 115, 110,  97, 
+    110,  40, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  46, 120,  32,  45, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  46, 120,  41,  32,  38, 
+     38,  32, 105, 115, 110,  97, 
+    110,  40, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  46, 120,  32,  42, 
+     32, 100, 105, 102, 102, 117, 
+    115,  70,  97,  99, 116, 111, 
+    114,  41,  32,  41,  13,  10, 
+      9,   9, 114, 101, 116, 117, 
+    114, 110,  32, 102, 108, 111, 
+     97, 116,  52,  40,  49,  44, 
+     32,  49,  44,  32,  49,  44, 
+     32,  49,  41,  59,  13,  10, 
+      9, 105, 102,  32,  40,  40, 
     100, 105, 102, 102, 117, 115, 
     101,  76, 105, 103, 104, 116, 
      46, 120,  32,  42,  32, 100, 
     105, 102, 102, 117, 115,  70, 
      97,  99, 116, 111, 114,  41, 
-     32,  41,  13,  10,   9,   9, 
-    114, 101, 116, 117, 114, 110, 
-     32, 102, 108, 111,  97, 116, 
-     52,  40,  49,  44,  32,  49, 
-     44,  32,  49,  44,  32,  49, 
-     41,  59,  13,  10,   9, 105, 
-    102,  32,  40,  40, 100, 105, 
+     32,  33,  61,  32,  48,  32, 
+     38,  38,  32,  40, 100, 105, 
     102, 102, 117, 115, 101,  76, 
     105, 103, 104, 116,  46, 120, 
      32,  42,  32, 100, 105, 102, 
     102, 117, 115,  70,  97,  99, 
     116, 111, 114,  41,  32,  33, 
-     61,  32,  48,  32,  38,  38, 
-     32,  40, 100, 105, 102, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116,  46, 120,  32,  42, 
-     32, 100, 105, 102, 102, 117, 
-    115,  70,  97,  99, 116, 111, 
-    114,  41,  32,  33,  61,  32, 
-     45,  48,  41,  13,  10,   9, 
-      9, 114, 101, 116, 117, 114, 
-    110,  32, 102, 108, 111,  97, 
-    116,  52,  40,  48,  44,  32, 
-     48,  44,  32,  49,  44,  32, 
-     49,  41,  59,  13,  10,   9, 
-    114, 101, 116, 117, 114, 110, 
-     32, 102, 108, 111,  97, 116, 
-     52,  40,  48,  44,  32,  49, 
+     61,  32,  45,  48,  41,  13, 
+     10,   9,   9, 114, 101, 116, 
+    117, 114, 110,  32, 102, 108, 
+    111,  97, 116,  52,  40,  48, 
      44,  32,  48,  44,  32,  49, 
-     41,  59,  42,  47,  13,  10, 
-    125,   0,   0,   0,   0,   0, 
+     44,  32,  49,  41,  59,  13, 
+     10,   9, 114, 101, 116, 117, 
+    114, 110,  32, 102, 108, 111, 
+     97, 116,  52,  40,  48,  44, 
+     32,  49,  44,  32,  48,  44, 
+     32,  49,  41,  59,  42,  47, 
+     13,  10, 125,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2833,7 +3003,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 254, 239, 254, 239, 
-      1,   0,   0,   0, 164,  24, 
+      1,   0,   0,   0,  80,  25, 
       0,   0,   0,  67,  58,  92, 
      85, 115, 101, 114, 115,  92, 
     107, 111, 108, 106,  97,  92, 
@@ -2919,7 +3089,7 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  27, 226, 
      48,   1, 128,   0,   0,   0, 
-     14,  86, 193,  20, 110,  76, 
+    104,  70,  17,  80, 247, 127, 
     217,   1,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2933,8 +3103,8 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   2,   0,   0,   0, 
       0,   0,   0,   0, 131,   0, 
       0,   0,  40,   0,   0,   0, 
-     27, 226,  48,   1,  65,  32, 
-    190,  35, 159,  23,   0,   0, 
+     27, 226,  48,   1, 234, 226, 
+    252, 203,  75,  24,   0,   0, 
       1,   0,   0,   0, 130,   0, 
       0,   0, 131,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3029,8 +3199,8 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,  58,   0,  16,  17, 
       0,   0,   0,   0,  84,   9, 
       0,   0,   0,   0,   0,   0, 
-     36,  11,   0,   0,   0,   0, 
-      0,   0,  36,  11,   0,   0, 
+    144,  12,   0,   0,   0,   0, 
+      0,   0, 144,  12,   0,   0, 
       7,  16,   0,   0, 188,   0, 
       0,   0,   1,   0, 160,  84, 
     101, 120, 116, 117, 114, 101, 
@@ -3047,87 +3217,87 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,   0,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,   0,   0, 
+      1,   0, 144,  12,   0,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,   4,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,   4,   0, 
+      1,   0, 144,  12,   4,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,   8,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,   8,   0, 
+      1,   0, 144,  12,   8,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  12,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  12,   0, 
+      1,   0, 144,  12,  12,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  16,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  16,   0, 
+      1,   0, 144,  12,  16,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  20,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  20,   0, 
+      1,   0, 144,  12,  20,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  24,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  24,   0, 
+      1,   0, 144,  12,  24,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  28,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  28,   0, 
+      1,   0, 144,  12,  28,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  32,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  32,   0, 
+      1,   0, 144,  12,  32,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  36,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  36,   0, 
+      1,   0, 144,  12,  36,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  40,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  48,   0, 
+      1,   0, 144,  12,  48,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  44,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  52,   0, 
+      1,   0, 144,  12,  52,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  48,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  56,   0, 
+      1,   0, 144,  12,  56,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  52,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  64,   0, 
+      1,   0, 144,  12,  64,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  56,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  68,   0, 
+      1,   0, 144,  12,  68,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  60,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  72,   0, 
+      1,   0, 144,  12,  72,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  64,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  76,   0, 
+      1,   0, 144,  12,  76,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  68,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  80,   0, 
+      1,   0, 144,  12,  80,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  72,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  84,   0, 
+      1,   0, 144,  12,  84,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  76,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  88,   0, 
+      1,   0, 144,  12,  88,   0, 
       0,   0,  22,   0,  80,  17, 
       1,   0,   5,   0,  80,   0, 
       4,   0, 188,   0,   0,   0, 
-      1,   0,  36,  11,  92,   0, 
+      1,   0, 144,  12,  92,   0, 
       0,   0,  74,   0,  62,  17, 
       6,  16,   0,   0, 136,   0, 
      60,  84, 101, 120, 116, 117, 
@@ -3144,19 +3314,19 @@ const BYTE CustomUIDX11PixelShader[] =
      22,   0,  80,  17,   2,   0, 
       5,   0,   0,   0,   4,   0, 
     188,   0,   0,   0,   1,   0, 
-     36,  11,   0,   0,   0,   0, 
+    144,  12,   0,   0,   0,   0, 
      22,   0,  80,  17,   2,   0, 
       5,   0,   4,   0,   4,   0, 
     188,   0,   0,   0,   1,   0, 
-     36,  11,   4,   0,   0,   0, 
+    144,  12,   4,   0,   0,   0, 
      22,   0,  80,  17,   2,   0, 
       5,   0,   8,   0,   4,   0, 
     188,   0,   0,   0,   1,   0, 
-     36,  11,   8,   0,   0,   0, 
+    144,  12,   8,   0,   0,   0, 
      22,   0,  80,  17,   2,   0, 
       5,   0,  12,   0,   4,   0, 
     188,   0,   0,   0,   1,   0, 
-     36,  11,  12,   0,   0,   0, 
+    144,  12,  12,   0,   0,   0, 
      50,   0,  62,  17,   2,  16, 
       0,   0,   8,   0, 100, 105, 
     102, 102, 117, 115, 101,  76, 
@@ -3167,33 +3337,33 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,  26,   0, 
      80,  17,   0,   0,   5,   0, 
-      0,   0,   4,   0,  20,   7, 
+      0,   0,   4,   0,  40,   7, 
       0,   0,   1,   0,  88,   2, 
      44,   2,   4,   0,  32,   0, 
       0,   0,  26,   0,  80,  17, 
       0,   0,   5,   0,   4,   0, 
-      4,   0,  48,   7,   0,   0, 
+      4,   0,  68,   7,   0,   0, 
       1,   0,  60,   2,  16,   2, 
       4,   0,  36,   0,   0,   0, 
      26,   0,  80,  17,   0,   0, 
       5,   0,   8,   0,   4,   0, 
-     76,   7,   0,   0,   1,   0, 
+     96,   7,   0,   0,   1,   0, 
      32,   2, 244,   1,   4,   0, 
      40,   0,   0,   0,  30,   0, 
      80,  17,   0,   0,   5,   0, 
-      0,   0,   4,   0,  64,   9, 
-      0,   0,   1,   0, 160,   2, 
+      0,   0,   4,   0,  84,   9, 
+      0,   0,   1,   0, 248,   3, 
       4,   0,  40,   0, 244,   0, 
      32,   0,  52,   0,   0,   0, 
      30,   0,  80,  17,   0,   0, 
       5,   0,   4,   0,   4,   0, 
-     64,   9,   0,   0,   1,   0, 
-     88,   1,   4,   0,  40,   0, 
+     84,   9,   0,   0,   1,   0, 
+    248,   3,   4,   0,  40,   0, 
     244,   0,  32,   0,  56,   0, 
       0,   0,  30,   0,  80,  17, 
       0,   0,   5,   0,   8,   0, 
-      4,   0,  64,   9,   0,   0, 
-      1,   0,  88,   1,   4,   0, 
+      4,   0,  84,   9,   0,   0, 
+      1,   0, 248,   3,   4,   0, 
      40,   0, 244,   0,  32,   0, 
      60,   0,   0,   0,  54,   0, 
      62,  17,   2,  16,   0,   0, 
@@ -3208,15 +3378,15 @@ const BYTE CustomUIDX11PixelShader[] =
      22,   0,  80,  17,   0,   0, 
       5,   0,   0,   0,   4,   0, 
     220,   0,   0,   0,   1,   0, 
-    248,   9,   0,   0,   0,   0, 
+     12,  10,   0,   0,   0,   0, 
      22,   0,  80,  17,   0,   0, 
       5,   0,   4,   0,   4,   0, 
     220,   0,   0,   0,   1,   0, 
-    248,   9,   4,   0,   0,   0, 
+     12,  10,   4,   0,   0,   0, 
      22,   0,  80,  17,   0,   0, 
       5,   0,   8,   0,   4,   0, 
     220,   0,   0,   0,   1,   0, 
-    248,   9,   8,   0,   0,   0, 
+     12,  10,   8,   0,   0,   0, 
      54,   0,  62,  17,   0,  16, 
       0,   0,   8,   0, 109,  97, 
     116, 101, 114, 105,  97, 108, 
@@ -3229,19 +3399,19 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,  22,   0,  80,  17, 
       0,   0,   5,   0,   0,   0, 
       4,   0,   8,   1,   0,   0, 
-      1,   0, 216,  10,  16,   0, 
+      1,   0, 132,   9,  20,   0, 
       0,   0,  22,   0,  80,  17, 
       0,   0,   5,   0,   4,   0, 
       4,   0,   8,   1,   0,   0, 
-      1,   0, 216,  10,  20,   0, 
+      1,   0, 132,   9,  24,   0, 
       0,   0,  22,   0,  80,  17, 
       0,   0,   5,   0,   8,   0, 
       4,   0,   8,   1,   0,   0, 
-      1,   0, 216,  10,  24,   0, 
+      1,   0, 132,   9,  28,   0, 
       0,   0,  22,   0,  80,  17, 
       0,   0,   5,   0,  12,   0, 
       4,   0,   8,   1,   0,   0, 
-      1,   0, 216,  10,  28,   0, 
+      1,   0,  20,  12,  16,   0, 
       0,   0,  50,   0,  62,  17, 
      98,   0,   0,   0,   0,   0, 
     101, 102, 102, 101,  99, 116, 
@@ -3340,15 +3510,15 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,  22,   0,  80,  17, 
       0,   0,   5,   0,   0,   0, 
-      4,   0, 104,   7,   0,   0, 
+      4,   0, 124,   7,   0,   0, 
       1,   0, 100,   2,  12,   0, 
       0,   0,  22,   0,  80,  17, 
       0,   0,   5,   0,   4,   0, 
-      4,   0, 132,   7,   0,   0, 
+      4,   0, 152,   7,   0,   0, 
       1,   0, 176,   2,  44,   0, 
       0,   0,  22,   0,  80,  17, 
       0,   0,   5,   0,   8,   0, 
-      4,   0, 160,   7,   0,   0, 
+      4,   0, 180,   7,   0,   0, 
       1,   0, 148,   2,  48,   0, 
       0,   0,  46,   0,  62,  17, 
      64,   0,   0,   0,   0,   0, 
@@ -3360,7 +3530,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,  26,   0,  80,  17, 
       0,   0,   1,   0,   0,   0, 
-      4,   0, 152,   8,   0,   0, 
+      4,   0, 172,   8,   0,   0, 
       1,   0, 168,   0, 112,   0, 
      28,   0,  52,   0,   0,   0, 
      50,   0,  62,  17,   0,  16, 
@@ -3373,21 +3543,21 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,  22,   0, 
      80,  17,   0,   0,   5,   0, 
-      0,   0,   4,   0,  64,  11, 
-      0,   0,   1,   0, 160,   0, 
+      0,   0,   4,   0,  84,  11, 
+      0,   0,   1,   0, 248,   1, 
       0,   0,   0,   0,  22,   0, 
      80,  17,   0,   0,   5,   0, 
-      4,   0,   4,   0,  64,  11, 
-      0,   0,   1,   0, 160,   0, 
+      4,   0,   4,   0,  84,  11, 
+      0,   0,   1,   0, 248,   1, 
       4,   0,   0,   0,  22,   0, 
      80,  17,   0,   0,   5,   0, 
-      8,   0,   4,   0,  64,  11, 
-      0,   0,   1,   0, 160,   0, 
+      8,   0,   4,   0,  84,  11, 
+      0,   0,   1,   0, 248,   1, 
       8,   0,   0,   0,  22,   0, 
      80,  17,   0,   0,   5,   0, 
-     12,   0,   4,   0,  84,  11, 
-      0,   0,   1,   0, 140,   0, 
-     28,   0,   0,   0,  54,   0, 
+     12,   0,   4,   0, 104,  11, 
+      0,   0,   1,   0, 228,   1, 
+     16,   0,   0,   0,  54,   0, 
      62,  17,   9,  16,   0,   0, 
       0,   0, 101, 102, 102, 101, 
      99, 116,  69, 110,  97,  98, 
@@ -3404,14 +3574,14 @@ const BYTE CustomUIDX11PixelShader[] =
       2,   0,   6,   0, 244,   0, 
       0,   0,  24,   0,   0,   0, 
       1,   0,   0,   0,  16,   1, 
-    207, 123, 147, 128,   1,  59, 
-    149,   4, 106, 134,  99, 171, 
-    213,  34, 179, 164,   0,   0, 
-    242,   0,   0,   0,  24,  12, 
+    105, 116, 247,  78, 158,  99, 
+     75, 229, 218,  49, 100, 123, 
+    109, 173, 151, 157,   0,   0, 
+    242,   0,   0,   0, 152,  13, 
       0,   0,   0,   0,   0,   0, 
-      1,   0,   1,   0, 224,  11, 
+      1,   0,   1,   0,  76,  13, 
       0,   0,   0,   0,   0,   0, 
-      0,   1,   0,   0,  12,  12, 
+     32,   1,   0,   0, 140,  13, 
       0,   0, 188,   0,   0,   0, 
      70,   0,   0, 128, 188,   0, 
       0,   0,  70,   0,   0,   0, 
@@ -3596,255 +3766,299 @@ const BYTE CustomUIDX11PixelShader[] =
      96,   0,   0,   0, 184,   6, 
       0,   0,  97,   0,   0, 128, 
     184,   6,   0,   0,  97,   0, 
-      0,   0, 188,   6,   0,   0, 
-     98,   0,   0, 128, 188,   6, 
+      0,   0, 204,   6,   0,   0, 
+     98,   0,   0, 128, 204,   6, 
       0,   0,  98,   0,   0,   0, 
-    208,   6,   0,   0,  98,   0, 
+    208,   6,   0,   0,  99,   0, 
       0, 128, 208,   6,   0,   0, 
-     98,   0,   0,   0, 236,   6, 
-      0,   0,  98,   0,   0, 128, 
-    236,   6,   0,   0,  98,   0, 
-      0,   0, 248,   6,   0,   0, 
-    100,   0,   0, 130, 248,   6, 
-      0,   0, 100,   0,   0,   0, 
-     20,   7,   0,   0, 100,   0, 
-      0, 130,  20,   7,   0,   0, 
-    101,   0,   0,   0,  48,   7, 
-      0,   0, 100,   0,   0, 130, 
-     48,   7,   0,   0, 102,   0, 
-      0,   0,  76,   7,   0,   0, 
-    103,   0,   0, 130,  76,   7, 
+     99,   0,   0,   0, 228,   6, 
+      0,   0,  99,   0,   0, 128, 
+    228,   6,   0,   0,  99,   0, 
+      0,   0,   0,   7,   0,   0, 
+     99,   0,   0, 128,   0,   7, 
+      0,   0,  99,   0,   0,   0, 
+     12,   7,   0,   0, 101,   0, 
+      0, 130,  12,   7,   0,   0, 
+    101,   0,   0,   0,  40,   7, 
+      0,   0, 101,   0,   0, 130, 
+     40,   7,   0,   0, 102,   0, 
+      0,   0,  68,   7,   0,   0, 
+    101,   0,   0, 130,  68,   7, 
       0,   0, 103,   0,   0,   0, 
-    104,   7,   0,   0, 103,   0, 
-      0, 130, 104,   7,   0,   0, 
-    104,   0,   0,   0, 132,   7, 
-      0,   0, 103,   0,   0, 130, 
-    132,   7,   0,   0, 105,   0, 
-      0,   0, 160,   7,   0,   0, 
-    106,   0,   0, 128, 160,   7, 
+     96,   7,   0,   0, 104,   0, 
+      0, 130,  96,   7,   0,   0, 
+    104,   0,   0,   0, 124,   7, 
+      0,   0, 104,   0,   0, 130, 
+    124,   7,   0,   0, 105,   0, 
+      0,   0, 152,   7,   0,   0, 
+    104,   0,   0, 130, 152,   7, 
       0,   0, 106,   0,   0,   0, 
-    192,   7,   0,   0, 106,   0, 
-      0, 128, 192,   7,   0,   0, 
-    106,   0,   0,   0, 204,   7, 
-      0,   0, 108,   0,   0, 128, 
-    204,   7,   0,   0, 108,   0, 
+    180,   7,   0,   0, 107,   0, 
+      0, 128, 180,   7,   0,   0, 
+    107,   0,   0,   0, 212,   7, 
+      0,   0, 107,   0,   0, 128, 
+    212,   7,   0,   0, 107,   0, 
       0,   0, 224,   7,   0,   0, 
-    108,   0,   0, 128, 224,   7, 
-      0,   0, 108,   0,   0,   0, 
-     12,   8,   0,   0, 108,   0, 
-      0, 128,  12,   8,   0,   0, 
-    108,   0,   0,   0,  56,   8, 
-      0,   0, 108,   0,   0, 128, 
-     56,   8,   0,   0, 108,   0, 
-      0,   0, 100,   8,   0,   0, 
-    108,   0,   0, 128, 100,   8, 
-      0,   0, 108,   0,   0,   0, 
-    124,   8,   0,   0, 108,   0, 
-      0, 128, 124,   8,   0,   0, 
-    108,   0,   0,   0, 152,   8, 
+    109,   0,   0, 128, 224,   7, 
+      0,   0, 109,   0,   0,   0, 
+    244,   7,   0,   0, 109,   0, 
+      0, 128, 244,   7,   0,   0, 
+    109,   0,   0,   0,  32,   8, 
       0,   0, 109,   0,   0, 128, 
-    152,   8,   0,   0, 109,   0, 
-      0,   0, 172,   8,   0,   0, 
-    109,   0,   0, 128, 172,   8, 
+     32,   8,   0,   0, 109,   0, 
+      0,   0,  76,   8,   0,   0, 
+    109,   0,   0, 128,  76,   8, 
       0,   0, 109,   0,   0,   0, 
-    200,   8,   0,   0, 109,   0, 
-      0, 128, 200,   8,   0,   0, 
-    109,   0,   0,   0, 212,   8, 
+    120,   8,   0,   0, 109,   0, 
+      0, 128, 120,   8,   0,   0, 
+    109,   0,   0,   0, 144,   8, 
+      0,   0, 109,   0,   0, 128, 
+    144,   8,   0,   0, 109,   0, 
+      0,   0, 172,   8,   0,   0, 
+    110,   0,   0, 128, 172,   8, 
+      0,   0, 110,   0,   0,   0, 
+    192,   8,   0,   0, 110,   0, 
+      0, 128, 192,   8,   0,   0, 
+    110,   0,   0,   0, 220,   8, 
       0,   0, 110,   0,   0, 128, 
-    212,   8,   0,   0, 110,   0, 
+    220,   8,   0,   0, 110,   0, 
       0,   0, 232,   8,   0,   0, 
-    110,   0,   0, 128, 232,   8, 
-      0,   0, 110,   0,   0,   0, 
-    236,   8,   0,   0, 111,   0, 
-      0, 128, 236,   8,   0,   0, 
-    111,   0,   0,   0,   8,   9, 
-      0,   0, 111,   0,   0, 128, 
-      8,   9,   0,   0, 111,   0, 
-      0,   0,  36,   9,   0,   0, 
-    112,   0,   0, 128,  36,   9, 
+    111,   0,   0, 128, 232,   8, 
+      0,   0, 111,   0,   0,   0, 
+    252,   8,   0,   0, 111,   0, 
+      0, 128, 252,   8,   0,   0, 
+    111,   0,   0,   0,   0,   9, 
+      0,   0, 112,   0,   0, 128, 
+      0,   9,   0,   0, 112,   0, 
+      0,   0,  28,   9,   0,   0, 
+    112,   0,   0, 128,  28,   9, 
       0,   0, 112,   0,   0,   0, 
-     64,   9,   0,   0, 113,   0, 
-      0, 128,  64,   9,   0,   0, 
-    113,   0,   0,   0,  68,   9, 
-      0,   0, 116,   0,   0, 128, 
-     68,   9,   0,   0, 116,   0, 
-      0,   0, 108,   9,   0,   0, 
-    117,   0,   0, 128, 108,   9, 
+     56,   9,   0,   0, 113,   0, 
+      0, 128,  56,   9,   0,   0, 
+    113,   0,   0,   0,  84,   9, 
+      0,   0, 114,   0,   0, 128, 
+     84,   9,   0,   0, 114,   0, 
+      0,   0,  88,   9,   0,   0, 
+    117,   0,   0, 128,  88,   9, 
       0,   0, 117,   0,   0,   0, 
-    112,   9,   0,   0, 119,   0, 
-      0, 128, 112,   9,   0,   0, 
-    119,   0,   0,   0, 140,   9, 
-      0,   0, 119,   0,   0, 128, 
-    140,   9,   0,   0, 119,   0, 
-      0,   0, 152,   9,   0,   0, 
-    121,   0,   0, 128, 152,   9, 
-      0,   0, 121,   0,   0,   0, 
+    128,   9,   0,   0, 118,   0, 
+      0, 128, 128,   9,   0,   0, 
+    118,   0,   0,   0, 132,   9, 
+      0,   0, 120,   0,   0, 128, 
+    132,   9,   0,   0, 120,   0, 
+      0,   0, 160,   9,   0,   0, 
+    120,   0,   0, 128, 160,   9, 
+      0,   0, 120,   0,   0,   0, 
     172,   9,   0,   0, 122,   0, 
       0, 128, 172,   9,   0,   0, 
-    122,   0,   0,   0, 176,   9, 
+    122,   0,   0,   0, 192,   9, 
       0,   0, 123,   0,   0, 128, 
-    176,   9,   0,   0, 123,   0, 
-      0,   0, 204,   9,   0,   0, 
-    123,   0,   0, 128, 204,   9, 
-      0,   0, 123,   0,   0,   0, 
-    216,   9,   0,   0, 125,   0, 
-      0, 128, 216,   9,   0,   0, 
-    125,   0,   0,   0, 236,   9, 
+    192,   9,   0,   0, 123,   0, 
+      0,   0, 196,   9,   0,   0, 
+    124,   0,   0, 128, 196,   9, 
+      0,   0, 124,   0,   0,   0, 
+    224,   9,   0,   0, 124,   0, 
+      0, 128, 224,   9,   0,   0, 
+    124,   0,   0,   0, 236,   9, 
       0,   0, 126,   0,   0, 128, 
     236,   9,   0,   0, 126,   0, 
-      0,   0, 240,   9,   0,   0, 
-    127,   0,   0, 128, 240,   9, 
+      0,   0,   0,  10,   0,   0, 
+    127,   0,   0, 128,   0,  10, 
       0,   0, 127,   0,   0,   0, 
-     12,  10,   0,   0, 127,   0, 
-      0, 128,  12,  10,   0,   0, 
-    127,   0,   0,   0,  24,  10, 
-      0,   0, 129,   0,   0, 128, 
-     24,  10,   0,   0, 129,   0, 
+      4,  10,   0,   0, 128,   0, 
+      0, 128,   4,  10,   0,   0, 
+    128,   0,   0,   0,  32,  10, 
+      0,   0, 128,   0,   0, 128, 
+     32,  10,   0,   0, 128,   0, 
       0,   0,  44,  10,   0,   0, 
     130,   0,   0, 128,  44,  10, 
       0,   0, 130,   0,   0,   0, 
-     48,  10,   0,   0, 131,   0, 
-      0, 128,  48,  10,   0,   0, 
-    131,   0,   0,   0,  52,  10, 
-      0,   0, 140,   0,   0, 128, 
-     52,  10,   0,   0, 140,   0, 
-      0,   0,  84,  10,   0,   0, 
-    158,   0,   0, 128,  84,  10, 
-      0,   0, 158,   0,   0,   0, 
-     88,  10,   0,   0, 161,   0, 
-      0, 128,  88,  10,   0,   0, 
-    161,   0,   0,   0, 120,  10, 
-      0,   0, 161,   0,   0, 128, 
-    120,  10,   0,   0, 161,   0, 
-      0,   0, 152,  10,   0,   0, 
-    161,   0,   0, 128, 152,  10, 
-      0,   0, 161,   0,   0,   0, 
-    180,  10,   0,   0, 161,   0, 
-      0, 128, 180,  10,   0,   0, 
-    161,   0,   0,   0, 212,  10, 
-      0,   0, 161,   0,   0, 128, 
-    212,  10,   0,   0, 161,   0, 
-      0,   0, 240,  10,   0,   0, 
-    161,   0,   0, 128, 240,  10, 
-      0,   0, 161,   0,   0,   0, 
-     24,  11,   0,   0, 161,   0, 
-      0, 128,  24,  11,   0,   0, 
-    161,   0,   0,   0,  64,  11, 
+     64,  10,   0,   0, 131,   0, 
+      0, 128,  64,  10,   0,   0, 
+    131,   0,   0,   0,  68,  10, 
+      0,   0, 132,   0,   0, 128, 
+     68,  10,   0,   0, 132,   0, 
+      0,   0,  72,  10,   0,   0, 
+    141,   0,   0, 128,  72,  10, 
+      0,   0, 141,   0,   0,   0, 
+    104,  10,   0,   0, 159,   0, 
+      0, 128, 104,  10,   0,   0, 
+    159,   0,   0,   0, 108,  10, 
+      0,   0, 162,   0,   0, 128, 
+    108,  10,   0,   0, 162,   0, 
+      0,   0, 140,  10,   0,   0, 
+    162,   0,   0, 128, 140,  10, 
+      0,   0, 162,   0,   0,   0, 
+    172,  10,   0,   0, 162,   0, 
+      0, 128, 172,  10,   0,   0, 
+    162,   0,   0,   0, 200,  10, 
       0,   0, 162,   0,   0, 128, 
-     64,  11,   0,   0, 162,   0, 
+    200,  10,   0,   0, 162,   0, 
+      0,   0, 232,  10,   0,   0, 
+    162,   0,   0, 128, 232,  10, 
+      0,   0, 162,   0,   0,   0, 
+      4,  11,   0,   0, 162,   0, 
+      0, 128,   4,  11,   0,   0, 
+    162,   0,   0,   0,  44,  11, 
+      0,   0, 162,   0,   0, 128, 
+     44,  11,   0,   0, 162,   0, 
       0,   0,  84,  11,   0,   0, 
     163,   0,   0, 128,  84,  11, 
       0,   0, 163,   0,   0,   0, 
-    116,  11,   0,   0, 163,   0, 
-      0, 128, 116,  11,   0,   0, 
-    163,   0,   0,   0, 144,  11, 
-      0,   0, 163,   0,   0, 128, 
-    144,  11,   0,   0, 163,   0, 
-      0,   0, 156,  11,   0,   0, 
-    164,   0,   0, 128, 156,  11, 
+    104,  11,   0,   0, 164,   0, 
+      0, 128, 104,  11,   0,   0, 
+    164,   0,   0,   0, 136,  11, 
+      0,   0, 164,   0,   0, 128, 
+    136,  11,   0,   0, 164,   0, 
+      0,   0, 164,  11,   0,   0, 
+    164,   0,   0, 128, 164,  11, 
       0,   0, 164,   0,   0,   0, 
     176,  11,   0,   0, 164,   0, 
       0, 128, 176,  11,   0,   0, 
-    164,   0,   0,   0, 180,  11, 
-      0,   0, 165,   0,   0, 128, 
-    180,  11,   0,   0, 165,   0, 
-      0,   0, 200,  11,   0,   0, 
-    165,   0,   0, 128, 200,  11, 
-      0,   0, 165,   0,   0,   0, 
-    220,  11,   0,   0, 165,   0, 
-      0, 128, 220,  11,   0,   0, 
-    165,   0,   0,   0,   2,   0, 
-     40,   0,  25,   0,  39,   0, 
-      2,   0,  68,   0,  25,   0, 
-     67,   0,   2,   0,  19,   0, 
-      6,   0,  18,   0,   2,   0, 
-     19,   0,   2,   0,  19,   0, 
+    164,   0,   0,   0, 196,  11, 
+      0,   0, 164,   0,   0, 128, 
+    196,  11,   0,   0, 164,   0, 
+      0,   0, 224,  11,   0,   0, 
+    164,   0,   0, 128, 224,  11, 
+      0,   0, 164,   0,   0,   0, 
+    252,  11,   0,   0, 164,   0, 
+      0, 128, 252,  11,   0,   0, 
+    164,   0,   0,   0,   8,  12, 
+      0,   0, 164,   0,   0, 128, 
+      8,  12,   0,   0, 164,   0, 
+      0,   0,  12,  12,   0,   0, 
+    166,   0,   0, 128,  12,  12, 
+      0,   0, 166,   0,   0,   0, 
+     56,  12,   0,   0, 166,   0, 
+      0, 128,  56,  12,   0,   0, 
+    166,   0,   0,   0,  76,  12, 
+      0,   0, 166,   0,   0, 128, 
+     76,  12,   0,   0, 166,   0, 
+      0,   0, 108,  12,   0,   0, 
+    166,   0,   0, 128, 108,  12, 
+      0,   0, 166,   0,   0,   0, 
+    136,  12,   0,   0, 166,   0, 
+      0, 128, 136,  12,   0,   0, 
+    166,   0,   0,   0, 148,  12, 
+      0,   0, 168,   0,   0, 128, 
+    148,  12,   0,   0, 168,   0, 
+      0,   0, 168,  12,   0,   0, 
+    168,   0,   0, 128, 168,  12, 
+      0,   0, 168,   0,   0,   0, 
+    196,  12,   0,   0, 168,   0, 
+      0, 128, 196,  12,   0,   0, 
+    168,   0,   0,   0, 224,  12, 
+      0,   0, 168,   0,   0, 128, 
+    224,  12,   0,   0, 168,   0, 
+      0,   0, 252,  12,   0,   0, 
+    168,   0,   0, 128, 252,  12, 
+      0,   0, 168,   0,   0,   0, 
+      8,  13,   0,   0, 169,   0, 
+      0, 128,   8,  13,   0,   0, 
+    169,   0,   0,   0,  28,  13, 
+      0,   0, 170,   0,   0, 128, 
+     28,  13,   0,   0, 170,   0, 
+      0,   0,  32,  13,   0,   0, 
+    171,   0,   0, 128,  32,  13, 
+      0,   0, 171,   0,   0,   0, 
+     52,  13,   0,   0, 171,   0, 
+      0, 128,  52,  13,   0,   0, 
+    171,   0,   0,   0,  72,  13, 
+      0,   0, 171,   0,   0, 128, 
+     72,  13,   0,   0, 171,   0, 
+      0,   0,   2,   0,  40,   0, 
+     25,   0,  39,   0,   2,   0, 
+     68,   0,  25,   0,  67,   0, 
+      2,   0,  19,   0,   6,   0, 
+     18,   0,   2,   0,  19,   0, 
       2,   0,  19,   0,   2,   0, 
-     19,   0,   9,   0,  50,   0, 
-     28,   0,  49,   0,   9,   0, 
-     44,   0,  15,   0,  43,   0, 
-      9,   0,  24,   0,   9,   0, 
-     24,   0,  26,   0,  43,   0, 
-     26,   0,  42,   0,  26,   0, 
-     43,   0,  26,   0,  42,   0, 
+     19,   0,   2,   0,  19,   0, 
+      9,   0,  50,   0,  28,   0, 
+     49,   0,   9,   0,  44,   0, 
+     15,   0,  43,   0,   9,   0, 
+     24,   0,   9,   0,  24,   0, 
+     26,   0,  43,   0,  26,   0, 
+     42,   0,  26,   0,  43,   0, 
+     26,   0,  42,   0,  43,   0, 
      43,   0,  43,   0,  43,   0, 
-     43,   0,   9,   0,  42,   0, 
-     13,   0,  25,   0,   9,   0, 
-     42,   0,  30,   0,  41,   0, 
       9,   0,  42,   0,  13,   0, 
-     41,   0,   9,   0,  42,   0, 
-      9,   0,  42,   0,  44,   0, 
+     25,   0,   9,   0,  42,   0, 
+     30,   0,  41,   0,   9,   0, 
+     42,   0,  13,   0,  41,   0, 
+      9,   0,  42,   0,   9,   0, 
+     42,   0,  44,   0,  72,   0, 
+     49,   0,  70,   0,  44,   0, 
      72,   0,  49,   0,  70,   0, 
-     44,   0,  72,   0,  49,   0, 
-     70,   0,  44,   0,  72,   0, 
+     44,   0,  72,   0,  44,   0, 
+     71,   0,  44,   0,  72,   0, 
      44,   0,  71,   0,  44,   0, 
      72,   0,  44,   0,  71,   0, 
-     44,   0,  72,   0,  44,   0, 
-     71,   0,  72,   0,  72,   0, 
-     72,   0,  72,   0,   3,   0, 
+     72,   0,  72,   0,  72,   0, 
+     72,   0,   3,   0, 124,   0, 
+     22,   0,  39,   0,   3,   0, 
     124,   0,  22,   0,  39,   0, 
-      3,   0, 124,   0,  22,   0, 
-     39,   0,   3,   0, 124,   0, 
+      3,   0, 124,   0,  45,   0, 
+     62,   0,   3,   0, 124,   0, 
      45,   0,  62,   0,   3,   0, 
-    124,   0,  45,   0,  62,   0, 
-      3,   0, 124,   0,  21,   0, 
-     63,   0,   3,   0, 124,   0, 
+    124,   0,  21,   0,  63,   0, 
+      3,   0, 124,   0,  68,   0, 
+     85,   0,   3,   0, 124,   0, 
      68,   0,  85,   0,   3,   0, 
-    124,   0,  68,   0,  85,   0, 
+    124,   0,  91,   0, 108,   0, 
       3,   0, 124,   0,  91,   0, 
     108,   0,   3,   0, 124,   0, 
-     91,   0, 108,   0,   3,   0, 
-    124,   0,  67,   0, 109,   0, 
-      3,   0, 124,   0,  21,   0, 
-    109,   0,   3,   0, 124,   0, 
-     16,   0, 110,   0,   3,   0, 
-    124,   0,  16,   0, 123,   0, 
-      9,   0,  30,   0,  13,   0, 
-     29,   0,   9,   0,  30,   0, 
-      9,   0,  30,   0,  13,   0, 
+     67,   0, 109,   0,   3,   0, 
+    124,   0,  21,   0, 109,   0, 
+      3,   0, 124,   0,  16,   0, 
+    110,   0,   3,   0, 124,   0, 
+     16,   0, 123,   0,   9,   0, 
+     30,   0,  13,   0,  29,   0, 
+      9,   0,  30,   0,   9,   0, 
+     30,   0,  13,   0,  63,   0, 
+     38,   0,  54,   0,  13,   0, 
      63,   0,  38,   0,  54,   0, 
-     13,   0,  63,   0,  38,   0, 
-     54,   0,  13,   0,  63,   0, 
-     37,   0,  62,   0,   4,   0, 
+     13,   0,  63,   0,  37,   0, 
+     62,   0,   4,   0,  27,   0, 
+      8,   0,  26,   0,   4,   0, 
      27,   0,   8,   0,  26,   0, 
-      4,   0,  27,   0,   8,   0, 
-     26,   0,   4,   0,  27,   0, 
-      4,   0,  27,   0,   5,   0, 
-     26,   0,   5,   0,  25,   0, 
+      4,   0,  27,   0,   4,   0, 
+     27,   0,   5,   0,  26,   0, 
+      5,   0,  25,   0,  26,   0, 
      26,   0,  26,   0,  26,   0, 
-     26,   0,   4,   0,  72,   0, 
-     25,   0,  71,   0,  13,   0, 
-     42,   0,  19,   0,  41,   0, 
-      4,   0, 123,   0,  35,   0, 
-     65,   0,   4,   0, 123,   0, 
-     20,   0,  66,   0,   4,   0, 
-    123,   0,  87,   0, 121,   0, 
-      4,   0, 123,   0,  91,   0, 
+      4,   0,  72,   0,  25,   0, 
+     71,   0,  13,   0,  42,   0, 
+     19,   0,  41,   0,   4,   0, 
+    123,   0,  35,   0,  65,   0, 
+      4,   0, 123,   0,  20,   0, 
+     66,   0,   4,   0, 123,   0, 
+     87,   0, 121,   0,   4,   0, 
+    123,   0,  91,   0, 121,   0, 
+      4,   0, 123,   0,  87,   0, 
     121,   0,   4,   0, 123,   0, 
      87,   0, 121,   0,   4,   0, 
-    123,   0,  87,   0, 121,   0, 
-      4,   0, 123,   0,  70,   0, 
-    122,   0,   4,   0, 123,   0, 
-     20,   0, 122,   0,  13,   0, 
-     28,   0,  13,   0,  28,   0, 
-     17,   0,  60,   0,  35,   0, 
-     59,   0,  17,   0,  42,   0, 
-     21,   0,  41,   0,  17,   0, 
-     42,   0,  17,   0,  42,   0, 
-     44,   0,  65,   0,  44,   0, 
-     64,   0,  65,   0,  65,   0, 
-     65,   0,  65,   0,   4,   0, 
-      4,   0,   4,   0,   4,   0, 
+    123,   0,  70,   0, 122,   0, 
+      4,   0, 123,   0,  20,   0, 
+    122,   0,  13,   0,  28,   0, 
+     13,   0,  28,   0,  17,   0, 
+     60,   0,  35,   0,  59,   0, 
+     17,   0,  42,   0,  21,   0, 
+     41,   0,  17,   0,  42,   0, 
+     17,   0,  42,   0,  44,   0, 
+     65,   0,  44,   0,  64,   0, 
+     65,   0,  65,   0,  65,   0, 
+     65,   0,   4,   0,   4,   0, 
+      4,   0,   4,   0,   3,   0, 
       3,   0,   3,   0,   3,   0, 
-      3,   0,   5,   0,   5,   0, 
-      5,   0,   5,   0,   9,   0, 
+      5,   0,   5,   0,   5,   0, 
+      5,   0,   9,   0,  37,   0, 
+     14,   0,  35,   0,   9,   0, 
      37,   0,  14,   0,  35,   0, 
-      9,   0,  37,   0,  14,   0, 
-     35,   0,   9,   0,  37,   0, 
+      9,   0,  37,   0,   9,   0, 
+     36,   0,   9,   0,  37,   0, 
       9,   0,  36,   0,   9,   0, 
      37,   0,   9,   0,  36,   0, 
-      9,   0,  37,   0,   9,   0, 
-     36,   0,   2,   0,   2,   0, 
+      9,   0,  30,   0,   9,   0, 
+     29,   0,   2,   0,   2,   0, 
       2,   0,   2,   0,   2,   0, 
      24,   0,   6,   0,  23,   0, 
       2,   0,  24,   0,   6,   0, 
@@ -3913,14 +4127,34 @@ const BYTE CustomUIDX11PixelShader[] =
     224,   0,  24,   0, 223,   0, 
       2,   0, 224,   0,  24,   0, 
     223,   0,   2,   0,  34,   0, 
-      2,   0,  33,   0,   2,   0, 
-     42,   0,  12,   0,  40,   0, 
-      2,   0,  42,   0,   6,   0, 
-     41,   0,   2,   0,  42,   0, 
-      2,   0,  42,   0,   3,   0, 
-     31,   0,   3,   0,  30,   0, 
-     31,   0,  31,   0,  31,   0, 
-     31,   0,   2,   0,  21,   0, 
+      2,   0,  33,   0,   5,   0, 
+     45,   0,  15,   0,  43,   0, 
+      5,   0,  45,   0,   9,   0, 
+     44,   0,   5,   0,  45,   0, 
+      5,   0,  45,   0,  47,   0, 
+     55,   0,  47,   0,  54,   0, 
+     47,   0,  55,   0,  47,   0, 
+     54,   0,  47,   0,  55,   0, 
+     47,   0,  54,   0,  47,   0, 
+     55,   0,  47,   0,  54,   0, 
+     55,   0,  55,   0,  55,   0, 
+     55,   0,   5,   0,  47,   0, 
+      9,   0,  21,   0,   5,   0, 
+     47,   0,  26,   0,  46,   0, 
+      5,   0,  47,   0,  26,   0, 
+     46,   0,   5,   0,  47,   0, 
+      9,   0,  46,   0,   5,   0, 
+     47,   0,   5,   0,  47,   0, 
+      9,   0,  35,   0,  14,   0, 
+     33,   0,   9,   0,  35,   0, 
+     14,   0,  33,   0,   9,   0, 
+     35,   0,   9,   0,  34,   0, 
+      9,   0,  35,   0,   9,   0, 
+     34,   0,   9,   0,  35,   0, 
+      9,   0,  34,   0,   9,   0, 
+     29,   0,   9,   0,  28,   0, 
+      2,   0,   2,   0,   2,   0, 
+      2,   0,   2,   0,  21,   0, 
       2,   0,  21,   0,   2,   0, 
      21,   0,   2,   0,  21,   0, 
       2,   0,  21,   0,   2,   0, 
@@ -3941,21 +4175,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-     99, 111, 108, 111, 114,   0, 
-     34,   0,   5,  21,   2,   0, 
-      0,   0,  20,  16,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  28,   0,  68, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,   0, 241, 
-     14,   0,  23,  21,  21,  16, 
-      0,   0,  26,   2,   0,   0, 
-      0,   0, 242, 241,  10,   0, 
-     24,  21,  22,  16,   0,   0, 
-      1,   0,   1,   0,  10,   0, 
-     24,  21,  23,  16,   0,   0, 
-      1,   0,   0,   2,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3977,7 +4197,20 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     16,   0,  99, 111, 108, 111, 
+    114,   0,  34,   0,   5,  21, 
+      2,   0,   0,   0,  20,  16, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  28,   0, 
+     68, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+      0, 241,  14,   0,  23,  21, 
+     21,  16,   0,   0,  26,   2, 
+      0,   0,   0,   0, 242, 241, 
+     10,   0,  24,  21,  22,  16, 
+      0,   0,   1,   0,   1,   0, 
+     10,   0,  24,  21,  23,  16, 
+      0,   0,   1,   0,   0,   2, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -4027,97 +4260,120 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-     11, 202,  49,   1,  56,   0, 
-      0,   0,   0,  16,   0,   0, 
-     25,  16,   0,   0,  28,   2, 
-      0,   0,  10,   0, 255, 255, 
-      4,   0,   0,   0, 255, 255, 
-      3,   0,   0,   0,   0,   0, 
-    100,   0,   0,   0, 100,   0, 
-      0,   0,   8,   0,   0,   0, 
-    108,   0,   0,   0,   0,   0, 
-      0,   0,  22,   0,  27,  21, 
-     64,   0,   0,   0,   4,   0, 
-      0,   0,  16,   0, 102, 108, 
-    111,  97, 116,  52,   0, 243, 
-    242, 241,  22,   0,  27,  21, 
-     64,   0,   0,   0,   2,   0, 
-      0,   0,   8,   0, 102, 108, 
-    111,  97, 116,  50,   0, 243, 
-    242, 241,  22,   0,  27,  21, 
-     64,   0,   0,   0,   3,   0, 
-      0,   0,  12,   0, 102, 108, 
-    111,  97, 116,  51,   0, 243, 
-    242, 241, 118,   0,   3,  18, 
-     13,  21,   3,   0,   0,  16, 
-      0,   0,   0,   0, 119, 111, 
-    114, 108, 100,  80, 111, 115, 
-      0, 241,  13,  21,   3,   0, 
-      0,  16,   0,   0,  16,   0, 
-    112, 111, 115, 105, 116, 105, 
-    111, 110,   0, 241,  13,  21, 
-      3,   0,   1,  16,   0,   0, 
-     32,   0, 116, 101, 120,   0, 
-    242, 241,  13,  21,   3,   0, 
-      2,  16,   0,   0,  40,   0, 
-    110, 111, 114, 109,  97, 108, 
-      0, 243, 242, 241,  13,  21, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  11, 202,  49,   1, 
+     56,   0,   0,   0,   0,  16, 
+      0,   0,  25,  16,   0,   0, 
+     28,   2,   0,   0,  10,   0, 
+    255, 255,   4,   0,   0,   0, 
+    255, 255,   3,   0,   0,   0, 
+      0,   0, 100,   0,   0,   0, 
+    100,   0,   0,   0,   8,   0, 
+      0,   0, 108,   0,   0,   0, 
+      0,   0,   0,   0,  22,   0, 
+     27,  21,  64,   0,   0,   0, 
+      4,   0,   0,   0,  16,   0, 
+    102, 108, 111,  97, 116,  52, 
+      0, 243, 242, 241,  22,   0, 
+     27,  21,  64,   0,   0,   0, 
+      2,   0,   0,   0,   8,   0, 
+    102, 108, 111,  97, 116,  50, 
+      0, 243, 242, 241,  22,   0, 
+     27,  21,  64,   0,   0,   0, 
+      3,   0,   0,   0,  12,   0, 
+    102, 108, 111,  97, 116,  51, 
+      0, 243, 242, 241, 118,   0, 
+      3,  18,  13,  21,   3,   0, 
+      0,  16,   0,   0,   0,   0, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,   0, 241,  13,  21, 
       3,   0,   0,  16,   0,   0, 
-     52,   0, 108, 105, 103, 104, 
-    116,  49,   0, 243, 242, 241, 
+     16,   0, 112, 111, 115, 105, 
+    116, 105, 111, 110,   0, 241, 
+     13,  21,   3,   0,   1,  16, 
+      0,   0,  32,   0, 116, 101, 
+    120,   0, 242, 241,  13,  21, 
+      3,   0,   2,  16,   0,   0, 
+     40,   0, 110, 111, 114, 109, 
+     97, 108,   0, 243, 242, 241, 
      13,  21,   3,   0,   0,  16, 
-      0,   0,  68,   0, 108, 105, 
-    103, 104, 116,  50,   0, 243, 
-    242, 241,  38,   0,   5,  21, 
-      6,   0,   0,   0,   3,  16, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  84,   0, 
-     80, 105, 120, 101, 108,  73, 
-    110, 112, 117, 116,  84, 121, 
-    112, 101,   0, 243, 242, 241, 
-     10,   0,   1,  18,   1,   0, 
-      0,   0,   4,  16,   0,   0, 
-     10,   0,  24,  21,   0,  16, 
+      0,   0,  52,   0, 108, 105, 
+    103, 104, 116,  49,   0, 243, 
+    242, 241,  13,  21,   3,   0, 
+      0,  16,   0,   0,  68,   0, 
+    108, 105, 103, 104, 116,  50, 
+      0, 243, 242, 241,  38,   0, 
+      5,  21,   6,   0,   0,   0, 
+      3,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     84,   0,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,   0, 243, 
+    242, 241,  10,   0,   1,  18, 
+      1,   0,   0,   0,   4,  16, 
+      0,   0,  10,   0,  24,  21, 
+      0,  16,   0,   0,   1,   0, 
+      1,   0,  14,   0,   8,  16, 
+      6,  16,   0,   0,  23,   0, 
+      1,   0,   5,  16,   0,   0, 
+     10,   0,  24,  21,  98,   0, 
       0,   0,   1,   0,   1,   0, 
-     14,   0,   8,  16,   6,  16, 
-      0,   0,  23,   0,   1,   0, 
-      5,  16,   0,   0,  10,   0, 
-     24,  21,  98,   0,   0,   0, 
+     10,   0,  24,  21,   8,  16, 
+      0,   0,   1,   0,   0,   2, 
+     14,   0,  23,  21,   0,  16, 
+      0,   0,   3,   2,  16,  40, 
+      0,   0, 242, 241,  10,   0, 
+     24,  21,  10,  16,   0,   0, 
       1,   0,   1,   0,  10,   0, 
-     24,  21,   8,  16,   0,   0, 
+     24,  21,  11,  16,   0,   0, 
       1,   0,   0,   2,  14,   0, 
-     23,  21,   0,  16,   0,   0, 
-      3,   2,  64, 194,   0,   0, 
+     23,  21,   0,   0,   0,   0, 
+     10,   2,  16,  40,   0,   0, 
     242, 241,  10,   0,  24,  21, 
-     10,  16,   0,   0,   1,   0, 
+     13,  16,   0,   0,   1,   0, 
       1,   0,  10,   0,  24,  21, 
-     11,  16,   0,   0,   1,   0, 
-      0,   2,  14,   0,  23,  21, 
-      0,   0,   0,   0,  10,   2, 
-     64, 194,   0,   0, 242, 241, 
-     10,   0,  24,  21,  13,  16, 
-      0,   0,   1,   0,   1,   0, 
-     10,   0,  24,  21,  14,  16, 
-      0,   0,   1,   0,   0,   2, 
-     10,   0,  24,  21,  64,   0, 
-      0,   0,   1,   0,   1,   0, 
-     10,   0,  24,  21,  16,  16, 
-      0,   0,   1,   0,   0,   2, 
-     10,   0,  24,  21, 116,   0, 
-      0,   0,   1,   0,   1,   0, 
-     10,   0,  24,  21,  18,  16, 
-      0,   0,   1,   0,   0,   2, 
-     38,   0,   3,  18,  13,  21, 
-      3,   0,   2,  16,   0,   0, 
-      0,   0, 100, 105, 114, 101, 
-     99, 116, 105, 111, 110,   0, 
+     14,  16,   0,   0,   1,   0, 
+      0,   2,  10,   0,  24,  21, 
+     64,   0,   0,   0,   1,   0, 
+      1,   0,  10,   0,  24,  21, 
+     16,  16,   0,   0,   1,   0, 
+      0,   2,  10,   0,  24,  21, 
+    116,   0,   0,   0,   1,   0, 
+      1,   0,  10,   0,  24,  21, 
+     18,  16,   0,   0,   1,   0, 
+      0,   2,  38,   0,   3,  18, 
      13,  21,   3,   0,   2,  16, 
-      0,   0,  11, 202,  49,   1, 
-     56,   0,   0,   0,   0,  16, 
-      0,   0,   0,  16,   0,   0, 
-      0,   0,   0,   0,  11,   0, 
-    255, 255,   4,   0,   0,   0, 
-    255, 255,   3,   0,   0,   0, 
+      0,   0,   0,   0, 100, 105, 
+    114, 101,  99, 116, 105, 111, 
+    110,   0,  13,  21,   3,   0, 
+      2,  16,   0,   0,  11, 202, 
+     49,   1,  56,   0,   0,   0, 
+      0,  16,   0,   0,   0,  16, 
+      0,   0,   0,   0,   0,   0, 
+     11,   0, 255, 255,   4,   0, 
+      0,   0, 255, 255,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -4197,75 +4453,73 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 108, 111, 
-     97, 116,  51,  32, 100, 105, 
-    114, 101,  99, 116, 105, 111, 
-    110,  59,  13,  10,   9, 102, 
     108, 111,  97, 116,  51,  32, 
-     99, 111, 108, 111, 114,  59, 
-     13,  10, 125,  59,  13,  10, 
-     13,  10, 115, 116, 114, 117, 
-     99, 116,  32,  80, 111, 105, 
-    110, 116,  76, 105, 103, 104, 
-    116,  13,  10, 123,  13,  10, 
+    100, 105, 114, 101,  99, 116, 
+    105, 111, 110,  59,  13,  10, 
       9, 102, 108, 111,  97, 116, 
-     51,  32, 112, 111, 115, 105, 
-    116, 105, 111, 110,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  51,  32,  99, 111, 108, 
-    111, 114,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  32, 
-    114,  97, 100, 105, 117, 115, 
-     59,  13,  10, 125,  59,  13, 
-     10,  13,  10,  99,  98, 117, 
-    102, 102, 101, 114,  32,  84, 
-    101, 120, 116, 117, 114,  69, 
-    102, 102, 101,  99, 116,  32, 
-     58,  32, 114, 101, 103, 105, 
-    115, 116, 101, 114,  40,  98, 
-     51,  41,  13,  10, 123,  13, 
-     10,  32,  32,  32,  32,  98, 
-    111, 111, 108,  32, 101, 102, 
-    102, 101,  99, 116,  69, 110, 
-     97,  98, 108, 101, 100,  59, 
+     51,  32,  99, 111, 108, 111, 
+    114,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  80, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116,  13,  10, 123, 
      13,  10,   9, 102, 108, 111, 
-     97, 116,  32, 101, 102, 102, 
-    101,  99, 116,  80, 101, 114, 
-     99, 101, 110, 116,  97, 103, 
-    101,  59,  13,  10, 125,  59, 
-     13,  10,  13,  10,  83, 116, 
-    114, 117,  99, 116, 117, 114, 
-    101, 100,  66, 117, 102, 102, 
-    101, 114,  60,  32,  68, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,  32,  62, 
-     32, 100, 105, 102, 117, 115, 
-    101,  76, 105, 103, 104, 116, 
-    115,  32,  58,  32, 114, 101, 
-    103, 105, 115, 116, 101, 114, 
-     40, 116,  49,  41,  59,  13, 
-     10,  83, 116, 114, 117,  99, 
-    116, 117, 114, 101, 100,  66, 
-    117, 102, 102, 101, 114,  60, 
-     32,  80, 111, 105, 110, 116, 
-     76, 105, 103, 104, 116,  32, 
-     62,  32, 112, 111, 105, 110, 
-    116,  76, 105, 103, 104, 116, 
-    115,  32,  58,  32, 114, 101, 
+     97, 116,  51,  32, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+     59,  13,  10,   9, 102, 108, 
+    111,  97, 116,  51,  32,  99, 
+    111, 108, 111, 114,  59,  13, 
+     10,   9, 102, 108, 111,  97, 
+    116,  32, 114,  97, 100, 105, 
+    117, 115,  59,  13,  10, 125, 
+     59,  13,  10,  13,  10,  99, 
+     98, 117, 102, 102, 101, 114, 
+     32,  84, 101, 120, 116, 117, 
+    114,  69, 102, 102, 101,  99, 
+    116,  32,  58,  32, 114, 101, 
     103, 105, 115, 116, 101, 114, 
-     40, 116,  50,  41,  59,  13, 
-     10,  84, 101, 120, 116, 117, 
-    114, 101,  50,  68,  32,  97, 
-    100, 100, 105, 116, 105, 111, 
-    110,  97, 108,  84, 101, 120, 
-    116, 117, 114, 101,  32,  58, 
-     32, 114, 101, 103, 105, 115, 
-    116, 101, 114,  40, 116,  51, 
-     41,  59,  13,  10,  13,  10, 
-     47,  47,  47,  47,  47,  47, 
+     40,  98,  51,  41,  13,  10, 
+    123,  13,  10,  32,  32,  32, 
+     32,  98, 111, 111, 108,  32, 
+    101, 102, 102, 101,  99, 116, 
+     69, 110,  97,  98, 108, 101, 
+    100,  59,  13,  10,   9, 102, 
+    108, 111,  97, 116,  32, 101, 
+    102, 102, 101,  99, 116,  80, 
+    101, 114,  99, 101, 110, 116, 
+     97, 103, 101,  59,  13,  10, 
+    125,  59,  13,  10,  13,  10, 
+     83, 116, 114, 117,  99, 116, 
+    117, 114, 101, 100,  66, 117, 
+    102, 102, 101, 114,  60,  32, 
+     68, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     32,  62,  32, 100, 105, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116, 115,  32,  58,  32, 
+    114, 101, 103, 105, 115, 116, 
+    101, 114,  40, 116,  49,  41, 
+     59,  13,  10,  83, 116, 114, 
+    117,  99, 116, 117, 114, 101, 
+    100,  66, 117, 102, 102, 101, 
+    114,  60,  32,  80, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116,  32,  62,  32, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116, 115,  32,  58,  32, 
+    114, 101, 103, 105, 115, 116, 
+    101, 114,  40, 116,  50,  41, 
+     59,  13,  10,  84, 101, 120, 
+    116, 117, 114, 101,  50,  68, 
+     32,  97, 100, 100, 105, 116, 
+    105, 111, 110,  97, 108,  84, 
+    101, 120, 116, 117, 114, 101, 
+     32,  58,  32, 114, 101, 103, 
+    105, 115, 116, 101, 114,  40, 
+    116,  51,  41,  59,  13,  10, 
+     13,  10,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
+     47,  47,  47,  47,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -4279,10 +4533,11 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10,  47,  47, 
-     32,  84,  89,  80,  69,  68, 
-     69,  70,  83,  32,  47,  47, 
      32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  13,  10, 
+     47,  47,  32,  84,  89,  80, 
+     69,  68,  69,  70,  83,  32, 
+     47,  47,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -4297,9 +4552,9 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     13,  10,  47,  47,  47,  47, 
+     32,  32,  13,  10,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  47,  47,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -4314,43 +4569,43 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-    115, 116, 114, 117,  99, 116, 
-     32,  80, 105, 120, 101, 108, 
-     73, 110, 112, 117, 116,  84, 
-    121, 112, 101,  13,  10, 123, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  52,  32, 119, 111, 
-    114, 108, 100,  80, 111, 115, 
-     32,  58,  32,  80,  79,  83, 
-     73,  84,  73,  79,  78,  59, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  52,  32, 112, 111, 
-    115, 105, 116, 105, 111, 110, 
-     32,  58,  32,  83,  86,  95, 
-     80,  79,  83,  73,  84,  73, 
-     79,  78,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  50, 
-     32, 116, 101, 120,  32,  58, 
-     32,  84,  69,  88,  67,  79, 
-     79,  82,  68,  48,  59,  13, 
+     32,  32,  32,  32,  32,  32, 
+     13,  10, 115, 116, 114, 117, 
+     99, 116,  32,  80, 105, 120, 
+    101, 108,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,  13, 
+     10, 123,  13,  10,   9, 102, 
+    108, 111,  97, 116,  52,  32, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  32,  58,  32,  80, 
+     79,  83,  73,  84,  73,  79, 
+     78,  59,  13,  10,   9, 102, 
+    108, 111,  97, 116,  52,  32, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  58,  32,  83, 
+     86,  95,  80,  79,  83,  73, 
+     84,  73,  79,  78,  59,  13, 
      10,   9, 102, 108, 111,  97, 
-    116,  51,  32, 110, 111, 114, 
-    109,  97, 108,  32,  58,  32, 
-     84,  69,  88,  67,  79,  79, 
-     82,  68,  49,  59,  13,  10, 
-     32,  32,  32,  32, 102, 108, 
-    111,  97, 116,  52,  32, 108, 
-    105, 103, 104, 116,  49,  32, 
+    116,  50,  32, 116, 101, 120, 
+     32,  58,  32,  84,  69,  88, 
+     67,  79,  79,  82,  68,  48, 
+     59,  13,  10,   9, 102, 108, 
+    111,  97, 116,  51,  32, 110, 
+    111, 114, 109,  97, 108,  32, 
      58,  32,  84,  69,  88,  67, 
-     79,  79,  82,  68,  50,  59, 
+     79,  79,  82,  68,  49,  59, 
      13,  10,  32,  32,  32,  32, 
     102, 108, 111,  97, 116,  52, 
      32, 108, 105, 103, 104, 116, 
-     50,  32,  58,  32,  84,  69, 
+     49,  32,  58,  32,  84,  69, 
      88,  67,  79,  79,  82,  68, 
-     51,  59,  13,  10, 125,  59, 
-     13,  10,  13,  10,  47,  47, 
+     50,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  52,  32, 108, 105, 103, 
+    104, 116,  50,  32,  58,  32, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,  51,  59,  13,  10, 
+    125,  59,  13,  10,  13,  10, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -4364,13 +4619,14 @@ const BYTE CustomUIDX11PixelShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
+     47,  47,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     13,  10,  47,  47,  32,  80, 
-    105, 120, 101, 108,  32,  83, 
-    104,  97, 100, 101, 114,  32, 
+     32,  32,  13,  10,  47,  47, 
+     32,  80, 105, 120, 101, 108, 
+     32,  83, 104,  97, 100, 101, 
+    114,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -4385,8 +4641,7 @@ const BYTE CustomUIDX11PixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-     47,  47,  47,  47,  47,  47, 
+     13,  10,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -4399,400 +4654,424 @@ const BYTE CustomUIDX11PixelShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  32,  32,  32,  32, 
+     47,  47,  47,  47,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  13,  10, 102, 108, 
-    111,  97, 116,  52,  32,  84, 
-    101, 120, 116, 117, 114, 101, 
-     80, 105, 120, 101, 108,  83, 
-    104,  97, 100, 101, 114,  40, 
-     80, 105, 120, 101, 108,  73, 
-    110, 112, 117, 116,  84, 121, 
-    112, 101,  32, 105, 110, 112, 
-    117, 116,  41,  32,  58,  32, 
-     83,  86,  95,  84,  65,  82, 
-     71,  69,  84,  13,  10, 123, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  51,  32, 100, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,  32,  61, 
-     32, 102, 108, 111,  97, 116, 
-     51,  40,  48,  44,  32,  48, 
-     44,  32,  48,  41,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  51,  32, 115, 112, 101, 
-     99, 117, 108,  97, 114,  76, 
-    105, 103, 104, 116,  32,  61, 
-     32, 102, 108, 111,  97, 116, 
-     51,  40,  48,  44,  32,  48, 
-     44,  32,  48,  41,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  52,  32, 109,  97, 116, 
-    101, 114, 105,  97, 108,  67, 
-    111, 108, 111, 114,  32,  61, 
-     32, 115, 104,  97, 100, 101, 
-    114,  84, 101, 120, 116, 117, 
-    114, 101,  46,  83,  97, 109, 
-    112, 108, 101,  40,  83,  97, 
-    109, 112, 108, 101,  84, 121, 
-    112, 101,  44,  32, 105, 110, 
-    112, 117, 116,  46, 116, 101, 
-    120,  41,  59,  13,  10,   9, 
-    105, 102,  32,  40, 101, 102, 
-    102, 101,  99, 116,  69, 110, 
-     97,  98, 108, 101, 100,  41, 
-     13,  10,   9, 123,  13,  10, 
+     32,  32,  32,  32,  13,  10, 
+    102, 108, 111,  97, 116,  52, 
+     32,  84, 101, 120, 116, 117, 
+    114, 101,  80, 105, 120, 101, 
+    108,  83, 104,  97, 100, 101, 
+    114,  40,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32, 105, 
+    110, 112, 117, 116,  41,  32, 
+     58,  32,  83,  86,  95,  84, 
+     65,  82,  71,  69,  84,  13, 
+     10, 123,  13,  10,   9, 102, 
+    108, 111,  97, 116,  51,  32, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     32,  61,  32, 102, 108, 111, 
+     97, 116,  51,  40,  48,  44, 
+     32,  48,  44,  32,  48,  41, 
+     59,  13,  10,   9, 102, 108, 
+    111,  97, 116,  51,  32, 115, 
+    112, 101,  99, 117, 108,  97, 
+    114,  76, 105, 103, 104, 116, 
+     32,  61,  32, 102, 108, 111, 
+     97, 116,  51,  40,  48,  44, 
+     32,  48,  44,  32,  48,  41, 
+     59,  13,  10,   9, 102, 108, 
+    111,  97, 116,  52,  32, 109, 
+     97, 116, 101, 114, 105,  97, 
+    108,  67, 111, 108, 111, 114, 
+     32,  61,  32, 115, 104,  97, 
+    100, 101, 114,  84, 101, 120, 
+    116, 117, 114, 101,  46,  83, 
+     97, 109, 112, 108, 101,  40, 
+     83,  97, 109, 112, 108, 101, 
+     84, 121, 112, 101,  44,  32, 
+    105, 110, 112, 117, 116,  46, 
+    116, 101, 120,  41,  59,  13, 
+     10,   9, 105, 102,  32,  40, 
+    101, 102, 102, 101,  99, 116, 
+     69, 110,  97,  98, 108, 101, 
+    100,  41,  13,  10,   9, 123, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32,  98, 111, 
+    111, 108,  32, 101, 102, 102, 
+    101,  99, 116,  65, 108, 112, 
+    104,  97,  32,  61,  32, 101, 
+    102, 102, 101,  99, 116,  80, 
+    101, 114,  99, 101, 110, 116, 
+     97, 103, 101,  32,  62,  32, 
+     49,  46, 102,  59,  13,  10, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  98, 111, 111, 108, 
-     32, 101, 102, 102, 101,  99, 
-    116,  65, 108, 112, 104,  97, 
+     32,  32, 102, 108, 111,  97, 
+    116,  32, 112, 101, 114,  99, 
+    101, 110, 116,  97, 103, 101, 
      32,  61,  32, 101, 102, 102, 
     101,  99, 116,  80, 101, 114, 
      99, 101, 110, 116,  97, 103, 
-    101,  32,  62,  32,  49,  46, 
-    102,  59,  13,  10,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-    102, 108, 111,  97, 116,  32, 
-    112, 101, 114,  99, 101, 110, 
-    116,  97, 103, 101,  32,  61, 
-     32, 101, 102, 102, 101,  99, 
-    116,  80, 101, 114,  99, 101, 
-    110, 116,  97, 103, 101,  59, 
-     13,  10,  32,  32,  32,  32, 
-     32,  32,  32,  32, 105, 102, 
-     32,  40, 101, 102, 102, 101, 
-     99, 116,  65, 108, 112, 104, 
-     97,  41,  32, 112, 101, 114, 
-     99, 101, 110, 116,  97, 103, 
-    101,  32,  45,  61,  32,  49, 
-     46, 102,  59,  13,  10,  32, 
+    101,  59,  13,  10,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32, 105, 102,  32,  40, 101, 
-    102, 102, 101,  99, 116,  69, 
-    110,  97,  98, 108, 101, 100, 
-     32,  38,  38,  32,  33, 101, 
-    102, 102, 101,  99, 116,  65, 
-    108, 112, 104,  97,  41,  32, 
-     99, 108, 105, 112,  40, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     46,  97,  32,  45,  32,  48, 
-     46,  50,  53,  41,  59,  13, 
-     10,   9,   9, 102, 108, 111, 
-     97, 116,  32, 100, 105, 115, 
-    116,  32,  61,  32, 115, 113, 
-    114, 116,  40,  40, 105, 110, 
+    105, 102,  32,  40, 101, 102, 
+    102, 101,  99, 116,  65, 108, 
+    112, 104,  97,  41,  32, 112, 
+    101, 114,  99, 101, 110, 116, 
+     97, 103, 101,  32,  45,  61, 
+     32,  49,  46, 102,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 105, 102,  32, 
+     40, 101, 102, 102, 101,  99, 
+    116,  69, 110,  97,  98, 108, 
+    101, 100,  32,  38,  38,  32, 
+     33, 101, 102, 102, 101,  99, 
+    116,  65, 108, 112, 104,  97, 
+     41,  32,  99, 108, 105, 112, 
+     40, 109,  97, 116, 101, 114, 
+    105,  97, 108,  67, 111, 108, 
+    111, 114,  46,  97,  32,  45, 
+     32,  48,  46,  50,  53,  41, 
+     59,  13,  10,   9,   9, 102, 
+    108, 111,  97, 116,  32, 100, 
+    105, 115, 116,  32,  61,  32, 
+    115, 113, 114, 116,  40,  40, 
+    105, 110, 112, 117, 116,  46, 
+    116, 101, 120,  46, 120,  32, 
+     45,  32,  48,  46,  53, 102, 
+     41,  32,  42,  32,  40, 105, 
+    110, 112, 117, 116,  46, 116, 
+    101, 120,  46, 120,  32,  45, 
+     32,  48,  46,  53, 102,  41, 
+     32,  43,  32,  40, 105, 110, 
     112, 117, 116,  46, 116, 101, 
-    120,  46, 120,  32,  45,  32, 
+    120,  46, 121,  32,  45,  32, 
      48,  46,  53, 102,  41,  32, 
      42,  32,  40, 105, 110, 112, 
     117, 116,  46, 116, 101, 120, 
-     46, 120,  32,  45,  32,  48, 
-     46,  53, 102,  41,  32,  43, 
-     32,  40, 105, 110, 112, 117, 
-    116,  46, 116, 101, 120,  46, 
-    121,  32,  45,  32,  48,  46, 
-     53, 102,  41,  32,  42,  32, 
-     40, 105, 110, 112, 117, 116, 
-     46, 116, 101, 120,  46, 121, 
-     32,  45,  32,  48,  46,  53, 
-    102,  41,  41,  32,  47,  32, 
-    115, 113, 114, 116,  40,  48, 
-     46,  53, 102,  41,  59,  13, 
-     10,  32,  32,  32,  32,  32, 
-     32,  32,  32, 105, 102,  32, 
-     40, 100, 105, 115, 116,  32, 
-     60,  32, 112, 101, 114,  99, 
-    101, 110, 116,  97, 103, 101, 
-     41,  13,  10,   9,   9, 123, 
-     13,  10,  32,  32,  32,  32, 
+     46, 121,  32,  45,  32,  48, 
+     46,  53, 102,  41,  41,  32, 
+     47,  32, 115, 113, 114, 116, 
+     40,  48,  46,  53, 102,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 105, 
+    102,  32,  40, 100, 105, 115, 
+    116,  32,  60,  32, 112, 101, 
+    114,  99, 101, 110, 116,  97, 
+    103, 101,  41,  13,  10,   9, 
+      9, 123,  13,  10,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32, 102, 108, 111,  97, 
-    116,  32,  97, 108, 112, 104, 
-     97,  77, 117, 108, 116, 105, 
-    112, 108, 105, 101, 114,  32, 
-     61,  32,  40, 112, 101, 114, 
-     99, 101, 110, 116,  97, 103, 
-    101,  32,  45,  32, 100, 105, 
-    115, 116,  41,  32,  47,  32, 
-     48,  46,  50, 102,  59,  13, 
-     10,   9,   9,   9, 105, 102, 
-     32,  40,  97, 108, 112, 104, 
-     97,  77, 117, 108, 116, 105, 
-    112, 108, 105, 101, 114,  32, 
-     62,  32,  49,  41,  13,  10, 
-      9,   9,   9,   9,  97, 108, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  32,  97, 108, 
     112, 104,  97,  77, 117, 108, 
     116, 105, 112, 108, 105, 101, 
-    114,  32,  61,  32,  49,  46, 
-    102,  59,  13,  10,   9,   9, 
-      9, 102, 108, 111,  97, 116, 
-     52,  32, 101, 102, 102, 101, 
-     99, 116,  67, 111, 108, 111, 
-    114,  32,  61,  32,  97, 100, 
-    100, 105, 116, 105, 111, 110, 
-     97, 108,  84, 101, 120, 116, 
-    117, 114, 101,  46,  83,  97, 
-    109, 112, 108, 101,  40,  83, 
-     97, 109, 112, 108, 101,  84, 
-    121, 112, 101,  44,  32, 105, 
-    110, 112, 117, 116,  46, 116, 
-    101, 120,  41,  59,  13,  10, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-    102, 108, 111,  97, 116,  32, 
-    101, 102, 102, 101,  99, 116, 
-     65,  32,  61,  32, 101, 102, 
+    114,  32,  61,  32,  40, 112, 
+    101, 114,  99, 101, 110, 116, 
+     97, 103, 101,  32,  45,  32, 
+    100, 105, 115, 116,  41,  32, 
+     47,  32,  48,  46,  50, 102, 
+     59,  13,  10,   9,   9,   9, 
+    105, 102,  32,  40,  97, 108, 
+    112, 104,  97,  77, 117, 108, 
+    116, 105, 112, 108, 105, 101, 
+    114,  32,  62,  32,  49,  41, 
+     13,  10,   9,   9,   9,   9, 
+     97, 108, 112, 104,  97,  77, 
+    117, 108, 116, 105, 112, 108, 
+    105, 101, 114,  32,  61,  32, 
+     49,  46, 102,  59,  13,  10, 
+      9,   9,   9, 102, 108, 111, 
+     97, 116,  52,  32, 101, 102, 
     102, 101,  99, 116,  67, 111, 
-    108, 111, 114,  46,  97,  59, 
-     13,  10,   9,   9,   9, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     32,  61,  32, 101, 102, 102, 
-    101,  99, 116,  67, 111, 108, 
-    111, 114,  32,  42,  32,  40, 
+    108, 111, 114,  32,  61,  32, 
+     97, 100, 100, 105, 116, 105, 
+    111, 110,  97, 108,  84, 101, 
+    120, 116, 117, 114, 101,  46, 
+     83,  97, 109, 112, 108, 101, 
+     40,  83,  97, 109, 112, 108, 
+    101,  84, 121, 112, 101,  44, 
+     32, 105, 110, 112, 117, 116, 
+     46, 116, 101, 120,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  32, 101, 102, 102, 101, 
+     99, 116,  65,  32,  61,  32, 
     101, 102, 102, 101,  99, 116, 
      67, 111, 108, 111, 114,  46, 
-     97,  32,  42,  32,  97, 108, 
-    112, 104,  97,  77, 117, 108, 
-    116, 105, 112, 108, 105, 101, 
-    114,  41,  32,  43,  32, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     32,  42,  32,  40,  49,  32, 
-     45,  32, 101, 102, 102, 101, 
+     97,  59,  13,  10,   9,   9, 
+      9, 109,  97, 116, 101, 114, 
+    105,  97, 108,  67, 111, 108, 
+    111, 114,  32,  61,  32, 101, 
+    102, 102, 101,  99, 116,  67, 
+    111, 108, 111, 114,  32,  42, 
+     32,  40, 101, 102, 102, 101, 
      99, 116,  67, 111, 108, 111, 
     114,  46,  97,  32,  42,  32, 
      97, 108, 112, 104,  97,  77, 
     117, 108, 116, 105, 112, 108, 
-    105, 101, 114,  41,  59,  13, 
-     10,  32,  32,  32,  32,  32, 
+    105, 101, 114,  41,  32,  43, 
+     32, 109,  97, 116, 101, 114, 
+    105,  97, 108,  67, 111, 108, 
+    111, 114,  32,  42,  32,  40, 
+     49,  32,  45,  32, 101, 102, 
+    102, 101,  99, 116,  67, 111, 
+    108, 111, 114,  46,  97,  32, 
+     42,  32,  97, 108, 112, 104, 
+     97,  77, 117, 108, 116, 105, 
+    112, 108, 105, 101, 114,  41, 
+     59,  13,  10,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32, 105, 102,  32,  40, 101, 
-    102, 102, 101,  99, 116,  65, 
-    108, 112, 104,  97,  41,  13, 
-     10,   9,   9,   9, 123,  13, 
-     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 105, 102,  32, 
+     40, 101, 102, 102, 101,  99, 
+    116,  65, 108, 112, 104,  97, 
+     41,  13,  10,   9,   9,   9, 
+    123,  13,  10,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     46,  97,  32,  61,  32, 101, 
-    102, 102, 101,  99, 116,  65, 
-     32,  42,  32,  97, 108, 112, 
-    104,  97,  77, 117, 108, 116, 
-    105, 112, 108, 105, 101, 114, 
-     59,  13,  10,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
+     32, 109,  97, 116, 101, 114, 
+    105,  97, 108,  67, 111, 108, 
+    111, 114,  46,  97,  32,  61, 
+     32, 101, 102, 102, 101,  99, 
+    116,  65,  32,  42,  32,  97, 
+    108, 112, 104,  97,  77, 117, 
+    108, 116, 105, 112, 108, 105, 
+    101, 114,  59,  13,  10,  32, 
      32,  32,  32,  32,  32,  32, 
-     32, 105, 102,  32,  40, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     46,  97,  32,  62,  32,  49, 
-     46,  48,  41,  32, 109,  97, 
-    116, 101, 114, 105,  97, 108, 
-     67, 111, 108, 111, 114,  46, 
-     97,  32,  61,  32,  49,  46, 
-     48,  59,  13,  10,   9,   9, 
-      9, 125,  13,  10,   9,   9, 
-    125,  13,  10,  32,  32,  32, 
-     32, 125,  13,  10,   9, 101, 
-    108, 115, 101,  13,  10,   9, 
-    123,  13,  10,  32,  32,  32, 
-     32,  32,  32,  32,  32,  99, 
-    108, 105, 112,  40, 109,  97, 
-    116, 101, 114, 105,  97, 108, 
-     67, 111, 108, 111, 114,  46, 
-     97,  32,  45,  32,  48,  46, 
-     50,  53,  41,  59,  13,  10, 
-      9, 125,  13,  10,   9, 105, 
-    102,  32,  40, 105, 110, 112, 
-    117, 116,  46, 108, 105, 103, 
-    104, 116,  49,  46, 119,  32, 
-     62,  32,  48,  41,  13,  10, 
-     32,  32,  32,  32, 123,  13, 
-     10,  32,  32,  32,  32,  32, 
-     32,  32,  32, 100, 105, 102, 
-    102, 117, 115, 101,  76, 105, 
-    103, 104, 116,  32,  61,  32, 
-    102, 108, 111,  97, 116,  51, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32, 105, 102,  32, 
      40, 109,  97, 116, 101, 114, 
     105,  97, 108,  67, 111, 108, 
-    111, 114,  46, 120,  32,  42, 
-     32, 105, 110, 112, 117, 116, 
-     46, 108, 105, 103, 104, 116, 
-     49,  46, 120,  44,  13,  10, 
-     32,  32,  32,  32,  32,  32, 
+    111, 114,  46,  97,  32,  62, 
+     32,  49,  46,  48,  41,  32, 
+    109,  97, 116, 101, 114, 105, 
+     97, 108,  67, 111, 108, 111, 
+    114,  46,  97,  32,  61,  32, 
+     49,  46,  48,  59,  13,  10, 
+      9,   9,   9, 125,  13,  10, 
+      9,   9, 125,  13,  10,  32, 
+     32,  32,  32, 125,  13,  10, 
+      9, 101, 108, 115, 101,  13, 
+     10,   9, 123,  13,  10,  32, 
      32,  32,  32,  32,  32,  32, 
+     32,  99, 108, 105, 112,  40, 
     109,  97, 116, 101, 114, 105, 
      97, 108,  67, 111, 108, 111, 
-    114,  46, 121,  32,  42,  32, 
-    105, 110, 112, 117, 116,  46, 
-    108, 105, 103, 104, 116,  49, 
-     46, 121,  44,  13,  10,  32, 
+    114,  46,  97,  32,  45,  32, 
+     48,  46,  50,  53,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,  46, 
+     97,  32,  61,  32,  49,  46, 
+     48,  59,  13,  10,   9, 125, 
+     13,  10,   9, 105, 102,  32, 
+     40, 105, 110, 112, 117, 116, 
+     46, 108, 105, 103, 104, 116, 
+     49,  46, 119,  32,  62,  32, 
+     48,  41,  13,  10,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32, 109, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  32,  61,  32, 102, 108, 
+    111,  97, 116,  51,  40, 109, 
      97, 116, 101, 114, 105,  97, 
     108,  67, 111, 108, 111, 114, 
-     46, 122,  32,  42,  32, 105, 
+     46, 120,  32,  42,  32, 105, 
     110, 112, 117, 116,  46, 108, 
     105, 103, 104, 116,  49,  46, 
-    122,  41,  59,  13,  10,  32, 
+    120,  44,  13,  10,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32, 102, 108, 111,  97, 116, 
-     52,  32, 100, 105, 102, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116,  50,  32,  61,  32, 
-    102, 108, 111,  97, 116,  52, 
-     40, 109,  97, 116, 101, 114, 
-    105,  97, 108,  67, 111, 108, 
-    111, 114,  46, 120,  32,  42, 
-     32, 105, 110, 112, 117, 116, 
-     46, 108, 105, 103, 104, 116, 
-     50,  46, 120,  44,  13,  10, 
-      9,   9,   9,   9,   9,   9, 
-    109,  97, 116, 101, 114, 105, 
-     97, 108,  67, 111, 108, 111, 
-    114,  46, 121,  32,  42,  32, 
-    105, 110, 112, 117, 116,  46, 
-    108, 105, 103, 104, 116,  50, 
-     46, 121,  44,  13,  10,   9, 
-      9,   9,   9,   9,   9, 109, 
+     32,  32,  32,  32, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,  46, 
+    121,  32,  42,  32, 105, 110, 
+    112, 117, 116,  46, 108, 105, 
+    103, 104, 116,  49,  46, 121, 
+     44,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  46, 122, 
+     32,  42,  32, 105, 110, 112, 
+    117, 116,  46, 108, 105, 103, 
+    104, 116,  49,  46, 122,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  52,  32, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     50,  32,  61,  32, 102, 108, 
+    111,  97, 116,  52,  40, 109, 
      97, 116, 101, 114, 105,  97, 
     108,  67, 111, 108, 111, 114, 
-     46, 122,  32,  42,  32, 105, 
+     46, 120,  32,  42,  32, 105, 
     110, 112, 117, 116,  46, 108, 
     105, 103, 104, 116,  50,  46, 
-    122,  44,  32,  48,  41,  59, 
-     13,  10,  32,  32,  32,  32, 
-     32,  32,  32,  32, 105, 102, 
-     32,  40, 100, 105, 102, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116,  67, 111, 117, 110, 
-    116,  32,  62,  32,  48,  41, 
-     13,  10,  32,  32,  32,  32, 
-     32,  32,  32,  32, 123,  13, 
-     10,  32,  32,  32,  32,  32, 
+    120,  44,  13,  10,   9,   9, 
+      9,   9,   9,   9, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,  46, 
+    121,  32,  42,  32, 105, 110, 
+    112, 117, 116,  46, 108, 105, 
+    103, 104, 116,  50,  46, 121, 
+     44,  13,  10,   9,   9,   9, 
+      9,   9,   9, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  46, 122, 
+     32,  42,  32, 105, 110, 112, 
+    117, 116,  46, 108, 105, 103, 
+    104, 116,  50,  46, 122,  44, 
+     32,  48,  41,  59,  13,  10, 
      32,  32,  32,  32,  32,  32, 
-     32, 102, 108, 111,  97, 116, 
-     32, 102,  97,  99, 116, 111, 
-    114,  32,  61,  32, 100, 111, 
-    116,  40, 105, 110, 112, 117, 
-    116,  46, 110, 111, 114, 109, 
-     97, 108,  44,  32,  45, 100, 
-    105, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116, 115,  91, 
-     48,  93,  46, 100, 105, 114, 
-    101,  99, 116, 105, 111, 110, 
-     41,  59,  13,  10,   9,   9, 
-      9, 105, 102,  32,  40, 102, 
-     97,  99, 116, 111, 114,  32, 
-     60,  32,  48,  41,  13,  10, 
-      9,   9,   9,   9, 102,  97, 
-     99, 116, 111, 114,  32,  61, 
-     32,  48,  59,  13,  10,  32, 
+     32,  32, 105, 102,  32,  40, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     67, 111, 117, 110, 116,  32, 
+     62,  32,  48,  41,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  32, 102, 
      97,  99, 116, 111, 114,  32, 
-     61,  32, 102,  97,  99, 116, 
-    111, 114,  32,  42,  32,  48, 
-     46,  53,  32,  43,  32,  48, 
-     46,  53,  59,  13,  10,  32, 
+     61,  32, 100, 111, 116,  40, 
+    105, 110, 112, 117, 116,  46, 
+    110, 111, 114, 109,  97, 108, 
+     44,  32,  45, 100, 105, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116, 115,  91,  48,  93, 
+     46, 100, 105, 114, 101,  99, 
+    116, 105, 111, 110,  41,  59, 
+     13,  10,   9,   9,   9, 105, 
+    102,  32,  40, 102,  97,  99, 
+    116, 111, 114,  32,  60,  32, 
+     48,  41,  13,  10,   9,   9, 
+      9,   9, 102,  97,  99, 116, 
+    111, 114,  32,  61,  32,  48, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32, 102,  97,  99, 
+    116, 111, 114,  32,  61,  32, 
+    102,  97,  99, 116, 111, 114, 
+     32,  42,  32,  48,  46,  53, 
+     32,  43,  32,  48,  46,  53, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  32,  61,  32, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     32,  42,  32, 102,  97,  99, 
+    116, 111, 114,  59,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 125,  13,  10,   9, 
+      9, 101, 108, 115, 101,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 123,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     32,  61,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  32,  42,  32, 
+     48,  46,  53,  59,  13,  10, 
+      9,   9, 125,  13,  10,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 105, 102,  32, 
+     40, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  50,  46, 120,  32,  62, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  46, 120,  41,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32, 100, 
     105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  32, 
-     61,  32, 100, 105, 102, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116,  32,  42,  32, 102, 
-     97,  99, 116, 111, 114,  59, 
-     13,  10,  32,  32,  32,  32, 
-     32,  32,  32,  32, 125,  13, 
-     10,   9,   9, 101, 108, 115, 
-    101,  13,  10,  32,  32,  32, 
-     32,  32,  32,  32,  32, 123, 
-     13,  10,  32,  32,  32,  32, 
+     76, 105, 103, 104, 116,  46, 
+    120,  32,  61,  32, 100, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  50,  46, 
+    120,  59,  13,  10,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32, 100, 105, 102, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116,  32,  61,  32, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  32, 
-     42,  32,  48,  46,  53,  59, 
-     13,  10,   9,   9, 125,  13, 
-     10,  13,  10,  32,  32,  32, 
+    125,  13,  10,  32,  32,  32, 
      32,  32,  32,  32,  32, 105, 
     102,  32,  40, 100, 105, 102, 
     102, 117, 115, 101,  76, 105, 
-    103, 104, 116,  50,  46, 120, 
+    103, 104, 116,  50,  46, 121, 
      32,  62,  32, 100, 105, 102, 
     102, 117, 115, 101,  76, 105, 
-    103, 104, 116,  46, 120,  41, 
+    103, 104, 116,  46, 121,  41, 
      13,  10,  32,  32,  32,  32, 
      32,  32,  32,  32, 123,  13, 
      10,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32, 100, 105, 102, 102, 117, 
     115, 101,  76, 105, 103, 104, 
-    116,  46, 120,  32,  61,  32, 
+    116,  46, 121,  32,  61,  32, 
     100, 105, 102, 102, 117, 115, 
     101,  76, 105, 103, 104, 116, 
-     50,  46, 120,  59,  13,  10, 
+     50,  46, 121,  59,  13,  10, 
      32,  32,  32,  32,  32,  32, 
      32,  32, 125,  13,  10,  32, 
      32,  32,  32,  32,  32,  32, 
      32, 105, 102,  32,  40, 100, 
     105, 102, 102, 117, 115, 101, 
      76, 105, 103, 104, 116,  50, 
-     46, 121,  32,  62,  32, 100, 
+     46, 122,  32,  62,  32, 100, 
     105, 102, 102, 117, 115, 101, 
      76, 105, 103, 104, 116,  46, 
-    121,  41,  13,  10,  32,  32, 
+    122,  41,  13,  10,  32,  32, 
      32,  32,  32,  32,  32,  32, 
     123,  13,  10,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32, 100, 105, 102, 
     102, 117, 115, 101,  76, 105, 
-    103, 104, 116,  46, 121,  32, 
+    103, 104, 116,  46, 122,  32, 
      61,  32, 100, 105, 102, 102, 
     117, 115, 101,  76, 105, 103, 
-    104, 116,  50,  46, 121,  59, 
+    104, 116,  50,  46, 122,  59, 
      13,  10,  32,  32,  32,  32, 
      32,  32,  32,  32, 125,  13, 
-     10,  32,  32,  32,  32,  32, 
-     32,  32,  32, 105, 102,  32, 
-     40, 100, 105, 102, 102, 117, 
-    115, 101,  76, 105, 103, 104, 
-    116,  50,  46, 122,  32,  62, 
-     32, 100, 105, 102, 102, 117, 
-    115, 101,  76, 105, 103, 104, 
-    116,  46, 122,  41,  13,  10, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32, 123,  13,  10,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  46, 
-    122,  32,  61,  32, 100, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,  50,  46, 
-    122,  59,  13,  10,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-    125,  13,  10,   9, 125,  13, 
-     10,   9, 101, 108, 115, 101, 
-     13,  10,   9, 123,  13,  10, 
-      9,   9, 102, 111, 114,  32, 
-     40, 105, 110, 116,  32, 106, 
-     32,  61,  32,  48,  59,  32, 
-    106,  32,  60,  32, 100, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,  67, 111, 
-    117, 110, 116,  59,  32, 106, 
-     43,  43,  41,  13,  10,   9, 
+     10,   9, 125,  13,  10,   9, 
+    101, 108, 115, 101,  13,  10, 
       9, 123,  13,  10,   9,   9, 
-      9, 105, 102,  32,  40, 100, 
+    102, 111, 114,  32,  40, 105, 
+    110, 116,  32, 106,  32,  61, 
+     32,  48,  59,  32, 106,  32, 
+     60,  32, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,  59,  32, 106,  43,  43, 
+     41,  13,  10,   9,   9, 123, 
+     13,  10,   9,   9,   9, 105, 
+    102,  32,  40, 100, 111, 116, 
+     40, 105, 110, 112, 117, 116, 
+     46, 110, 111, 114, 109,  97, 
+    108,  44,  32,  45, 100, 105, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116, 115,  91, 106, 
+     93,  46, 100, 105, 114, 101, 
+     99, 116, 105, 111, 110,  41, 
+     32,  60,  32,  48,  41,  13, 
+     10,   9,   9,   9,   9,  99, 
+    111, 110, 116, 105, 110, 117, 
+    101,  59,  13,  10,   9,   9, 
+      9, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  32,  43,  61,  32, 100, 
+    105, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116, 115,  91, 
+    106,  93,  46,  99, 111, 108, 
+    111, 114,  32,  42,  32, 100, 
     111, 116,  40, 105, 110, 112, 
     117, 116,  46, 110, 111, 114, 
     109,  97, 108,  44,  32,  45, 
@@ -4800,202 +5079,207 @@ const BYTE CustomUIDX11PixelShader[] =
      76, 105, 103, 104, 116, 115, 
      91, 106,  93,  46, 100, 105, 
     114, 101,  99, 116, 105, 111, 
-    110,  41,  32,  60,  32,  48, 
-     41,  13,  10,   9,   9,   9, 
-      9,  99, 111, 110, 116, 105, 
-    110, 117, 101,  59,  13,  10, 
-      9,   9,   9, 100, 105, 102, 
-    102, 117, 115, 101,  76, 105, 
-    103, 104, 116,  32,  43,  61, 
-     32, 100, 105, 102, 117, 115, 
-    101,  76, 105, 103, 104, 116, 
-    115,  91, 106,  93,  46,  99, 
-    111, 108, 111, 114,  32,  42, 
-     32, 100, 111, 116,  40, 105, 
-    110, 112, 117, 116,  46, 110, 
-    111, 114, 109,  97, 108,  44, 
-     32,  45, 100, 105, 102, 117, 
-    115, 101,  76, 105, 103, 104, 
-    116, 115,  91, 106,  93,  46, 
-    100, 105, 114, 101,  99, 116, 
-    105, 111, 110,  41,  59,  13, 
-     10,   9,   9, 125,  13,  10, 
+    110,  41,  59,  13,  10,   9, 
+      9, 125,  13,  10,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32, 100, 105, 102, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116,  32,  61,  32, 102, 
-    108, 111,  97, 116,  51,  40, 
-     49,  46,  48,  44,  32,  49, 
-     46,  48,  44,  32,  49,  46, 
-     48,  41,  59,  13,  10,   9, 
-      9,  47,  42, 102, 111, 114, 
-     32,  40, 105, 110, 116,  32, 
-    105,  32,  61,  32,  48,  59, 
-     32, 105,  32,  60,  32, 112, 
-    111, 105, 110, 116,  76, 105, 
-    103, 104, 116,  67, 111, 117, 
-    110, 116,  59,  32, 105,  43, 
-     43,  41,  13,  10,   9,   9, 
-    123,  13,  10,   9,   9,   9, 
-    102, 108, 111,  97, 116,  51, 
-     32, 108, 105, 103, 104, 116, 
-     68, 105, 114,  32,  61,  32, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     32,  61,  32, 102, 108, 111, 
+     97, 116,  51,  40,  49,  46, 
+     48,  44,  32,  49,  46,  48, 
+     44,  32,  49,  46,  48,  41, 
+     59,  13,  10,   9,   9,  47, 
+     42, 102, 111, 114,  32,  40, 
+    105, 110, 116,  32, 105,  32, 
+     61,  32,  48,  59,  32, 105, 
+     32,  60,  32, 112, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116,  67, 111, 117, 110, 116, 
+     59,  32, 105,  43,  43,  41, 
+     13,  10,   9,   9, 123,  13, 
+     10,   9,   9,   9, 102, 108, 
+    111,  97, 116,  51,  32, 108, 
+    105, 103, 104, 116,  68, 105, 
+    114,  32,  61,  32, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116, 115,  91, 105,  93, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32,  45,  32, 
+    105, 110, 112, 117, 116,  46, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  46, 120, 121, 122, 
+     59,  13,  10,   9,   9,   9, 
+    102, 108, 111,  97, 116,  32, 
+    102,  97,  99, 116, 111, 114, 
+     59,  13,  10,   9,   9,   9, 
+    105, 102,  32,  40, 108, 101, 
+    110, 103, 116, 104,  40, 108, 
+    105, 103, 104, 116,  68, 105, 
+    114,  41,  32,  60,  32,  49, 
+     41,  13,  10,   9,   9,   9, 
+      9, 102,  97,  99, 116, 111, 
+    114,  32,  61,  32,  49,  59, 
+     13,  10,   9,   9,   9, 101, 
+    108, 115, 101,  13,  10,   9, 
+      9,   9,   9, 102,  97,  99, 
+    116, 111, 114,  32,  61,  32, 
     112, 111, 105, 110, 116,  76, 
     105, 103, 104, 116, 115,  91, 
-    105,  93,  46, 112, 111, 115, 
-    105, 116, 105, 111, 110,  32, 
-     45,  32, 105, 110, 112, 117, 
-    116,  46, 119, 111, 114, 108, 
-    100,  80, 111, 115,  46, 120, 
-    121, 122,  59,  13,  10,   9, 
-      9,   9, 102, 108, 111,  97, 
-    116,  32, 102,  97,  99, 116, 
-    111, 114,  59,  13,  10,   9, 
-      9,   9, 105, 102,  32,  40, 
+    105,  93,  46, 114,  97, 100, 
+    105, 117, 115,  32,  47,  32, 
     108, 101, 110, 103, 116, 104, 
      40, 108, 105, 103, 104, 116, 
-     68, 105, 114,  41,  32,  60, 
-     32,  49,  41,  13,  10,   9, 
-      9,   9,   9, 102,  97,  99, 
-    116, 111, 114,  32,  61,  32, 
-     49,  59,  13,  10,   9,   9, 
-      9, 101, 108, 115, 101,  13, 
-     10,   9,   9,   9,   9, 102, 
-     97,  99, 116, 111, 114,  32, 
-     61,  32, 112, 111, 105, 110, 
-    116,  76, 105, 103, 104, 116, 
-    115,  91, 105,  93,  46, 114, 
-     97, 100, 105, 117, 115,  32, 
-     47,  32, 108, 101, 110, 103, 
-    116, 104,  40, 108, 105, 103, 
-    104, 116,  68, 105, 114,  41, 
-     59,  13,  10,   9,   9,   9, 
-    102, 108, 111,  97, 116,  32, 
-    102,  32,  61,  32, 100, 111, 
-    116,  40, 105, 110, 112, 117, 
-    116,  46, 110, 111, 114, 109, 
-     97, 108,  44,  32, 110, 111, 
-    114, 109,  97, 108, 105, 122, 
-    101,  40, 108, 105, 103, 104, 
-    116,  68, 105, 114,  41,  41, 
-     59,  13,  10,   9,   9,   9, 
-    105, 102,  32,  40, 102,  32, 
-     62,  32,  48,  41,  13,  10, 
-      9,   9,   9, 123,  13,  10, 
-      9,   9,   9,   9, 100, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,  32,  43, 
-     61,  32, 112, 111, 105, 110, 
-    116,  76, 105, 103, 104, 116, 
-    115,  91, 105,  93,  46,  99, 
-    111, 108, 111, 114,  32,  42, 
-     32, 102,  32,  42,  32, 102, 
-     97,  99, 116, 111, 114,  59, 
-     13,  10,   9,   9,   9,   9, 
-    102,  32,  61,  32, 100, 111, 
-    116,  40, 110, 111, 114, 109, 
-     97, 108, 105, 122, 101,  40, 
-    114, 101, 102, 108, 101,  99, 
-    116,  40, 110, 111, 114, 109, 
-     97, 108, 105, 122, 101,  40, 
-     45, 108, 105, 103, 104, 116, 
-     68, 105, 114,  41,  44,  32, 
+     68, 105, 114,  41,  59,  13, 
+     10,   9,   9,   9, 102, 108, 
+    111,  97, 116,  32, 102,  32, 
+     61,  32, 100, 111, 116,  40, 
     105, 110, 112, 117, 116,  46, 
     110, 111, 114, 109,  97, 108, 
-     41,  41,  44,  32, 110, 111, 
-    114, 109,  97, 108, 105, 122, 
-    101,  40, 107,  80, 111, 115, 
-    105, 116, 105, 111, 110,  46, 
-    120, 121, 122,  32,  45,  32, 
-    105, 110, 112, 117, 116,  46, 
-    119, 111, 114, 108, 100,  80, 
-    111, 115,  46, 120, 121, 122, 
-     41,  41,  59,  13,  10,   9, 
-      9,   9,   9, 105, 102,  32, 
-     40, 102,  32,  62,  32,  48, 
-     41,  13,  10,   9,   9,   9, 
-      9,   9, 115, 112, 101,  99, 
-    117, 108,  97, 114,  76, 105, 
-    103, 104, 116,  32,  43,  61, 
-     32, 112, 111, 105, 110, 116, 
-     76, 105, 103, 104, 116, 115, 
-     91, 105,  93,  46,  99, 111, 
-    108, 111, 114,  32,  42,  32, 
-    102,  32,  42,  32, 102,  97, 
-     99, 116, 111, 114,  59,  13, 
-     10,   9,   9,   9, 125,  13, 
-     10,   9,   9, 125,  42,  47, 
-     13,  10,   9, 125,  13,  10, 
-      9,  47,  47, 105, 102,  32, 
-     40,  33,  40, 100, 105, 102, 
+     44,  32, 110, 111, 114, 109, 
+     97, 108, 105, 122, 101,  40, 
+    108, 105, 103, 104, 116,  68, 
+    105, 114,  41,  41,  59,  13, 
+     10,   9,   9,   9, 105, 102, 
+     32,  40, 102,  32,  62,  32, 
+     48,  41,  13,  10,   9,   9, 
+      9, 123,  13,  10,   9,   9, 
+      9,   9, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  32,  43,  61,  32, 
+    112, 111, 105, 110, 116,  76, 
+    105, 103, 104, 116, 115,  91, 
+    105,  93,  46,  99, 111, 108, 
+    111, 114,  32,  42,  32, 102, 
+     32,  42,  32, 102,  97,  99, 
+    116, 111, 114,  59,  13,  10, 
+      9,   9,   9,   9, 102,  32, 
+     61,  32, 100, 111, 116,  40, 
+    110, 111, 114, 109,  97, 108, 
+    105, 122, 101,  40, 114, 101, 
+    102, 108, 101,  99, 116,  40, 
+    110, 111, 114, 109,  97, 108, 
+    105, 122, 101,  40,  45, 108, 
+    105, 103, 104, 116,  68, 105, 
+    114,  41,  44,  32, 105, 110, 
+    112, 117, 116,  46, 110, 111, 
+    114, 109,  97, 108,  41,  41, 
+     44,  32, 110, 111, 114, 109, 
+     97, 108, 105, 122, 101,  40, 
+    107,  80, 111, 115, 105, 116, 
+    105, 111, 110,  46, 120, 121, 
+    122,  32,  45,  32, 105, 110, 
+    112, 117, 116,  46, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+     46, 120, 121, 122,  41,  41, 
+     59,  13,  10,   9,   9,   9, 
+      9, 105, 102,  32,  40, 102, 
+     32,  62,  32,  48,  41,  13, 
+     10,   9,   9,   9,   9,   9, 
+    115, 112, 101,  99, 117, 108, 
+     97, 114,  76, 105, 103, 104, 
+    116,  32,  43,  61,  32, 112, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116, 115,  91, 105, 
+     93,  46,  99, 111, 108, 111, 
+    114,  32,  42,  32, 102,  32, 
+     42,  32, 102,  97,  99, 116, 
+    111, 114,  59,  13,  10,   9, 
+      9,   9, 125,  13,  10,   9, 
+      9, 125,  42,  47,  13,  10, 
+      9, 125,  13,  10,   9,  47, 
+     47, 105, 102,  32,  40,  33, 
+     40, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  46, 120,  32,  62,  61, 
+     32,  48,  32,  38,  38,  32, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     46, 120,  32,  60,  61,  32, 
+     49,  41,  41,  13,  10,   9, 
+     47,  47,   9, 100, 105, 102, 
     102, 117, 115, 101,  76, 105, 
     103, 104, 116,  46, 120,  32, 
-     62,  61,  32,  48,  32,  38, 
-     38,  32, 100, 105, 102, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116,  46, 120,  32,  60, 
-     61,  32,  49,  41,  41,  13, 
-     10,   9,  47,  47,   9, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  46, 
-    120,  32,  61,  32,  48,  59, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  52,  32, 116, 101, 
-    120, 116, 117, 114, 101,  67, 
-    111, 108, 111, 114,  32,  61, 
-     32, 115,  97, 116, 117, 114, 
-     97, 116, 101,  40,  40, 109, 
-     97, 116, 101, 114, 105,  97, 
-    108,  67, 111, 108, 111, 114, 
-     32,  42,  32,  97, 109,  98, 
-    105, 101, 110, 116,  70,  97, 
-     99, 116, 111, 114,  41,  32, 
-     43,  32,  40, 102, 108, 111, 
-     97, 116,  52,  40, 100, 105, 
-    102, 102, 117, 115, 101,  76, 
-    105, 103, 104, 116,  46, 120, 
-     44,  32, 100, 105, 102, 102, 
+     61,  32,  48,  59,  13,  10, 
+      9, 102, 108, 111,  97, 116, 
+     52,  32, 116, 101, 120, 116, 
+    117, 114, 101,  67, 111, 108, 
+    111, 114,  32,  61,  32, 115, 
+     97, 116, 117, 114,  97, 116, 
+    101,  40,  40, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  32,  42, 
+     32,  97, 109,  98, 105, 101, 
+    110, 116,  70,  97,  99, 116, 
+    111, 114,  41,  32,  43,  32, 
+     40, 102, 108, 111,  97, 116, 
+     52,  40, 100, 105, 102, 102, 
     117, 115, 101,  76, 105, 103, 
-    104, 116,  46, 121,  44,  32, 
+    104, 116,  46, 120,  44,  32, 
     100, 105, 102, 102, 117, 115, 
     101,  76, 105, 103, 104, 116, 
-     46, 122,  44,  32,  48,  41, 
-     32,  42,  32, 100, 105, 102, 
-    102, 117, 115,  70,  97,  99, 
-    116, 111, 114,  41,  32,  43, 
-     32,  40, 102, 108, 111,  97, 
-    116,  52,  40, 115, 112, 101, 
-     99, 117, 108,  97, 114,  76, 
-    105, 103, 104, 116,  46, 120, 
-     44,  32, 115, 112, 101,  99, 
-    117, 108,  97, 114,  76, 105, 
-    103, 104, 116,  46, 121,  44, 
-     32, 115, 112, 101,  99, 117, 
+     46, 121,  44,  32, 100, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  46, 122, 
+     44,  32,  48,  41,  32,  42, 
+     32, 100, 105, 102, 102, 117, 
+    115,  70,  97,  99, 116, 111, 
+    114,  41,  32,  43,  32,  40, 
+    102, 108, 111,  97, 116,  52, 
+     40, 115, 112, 101,  99, 117, 
     108,  97, 114,  76, 105, 103, 
-    104, 116,  46, 122,  44,  32, 
-     48,  41,  32,  42,  32, 115, 
+    104, 116,  46, 120,  44,  32, 
+    115, 112, 101,  99, 117, 108, 
+     97, 114,  76, 105, 103, 104, 
+    116,  46, 121,  44,  32, 115, 
     112, 101,  99, 117, 108,  97, 
-    114,  70,  97,  99, 116, 111, 
-    114,  41,  41,  59,  13,  10, 
-      9, 116, 101, 120, 116, 117, 
-    114, 101,  67, 111, 108, 111, 
-    114,  46,  97,  32,  61,  32, 
-    109,  97, 116, 101, 114, 105, 
-     97, 108,  67, 111, 108, 111, 
-    114,  46,  97,  59,  13,  10, 
-      9, 105, 102,  32,  40, 105, 
-    115, 110,  97, 110,  40, 100, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,  46, 
-    120,  32,  42,  32, 100, 105, 
-    102, 102, 117, 115,  70,  97, 
-     99, 116, 111, 114,  41,  41, 
-     13,  10,   9,   9, 116, 101, 
-    120, 116, 117, 114, 101,  67, 
-    111, 108, 111, 114,  32,  61, 
-     32, 109,  97, 116, 101, 114, 
-    105,  97, 108,  67, 111, 108, 
-    111, 114,  59,  13,  10,   9, 
+    114,  76, 105, 103, 104, 116, 
+     46, 122,  44,  32,  48,  41, 
+     32,  42,  32, 115, 112, 101, 
+     99, 117, 108,  97, 114,  70, 
+     97,  99, 116, 111, 114,  41, 
+     41,  59,  13,  10,   9, 116, 
+    101, 120, 116, 117, 114, 101, 
+     67, 111, 108, 111, 114,  46, 
+     97,  32,  61,  32, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,  46, 
+     97,  59,  13,  10,  32,  32, 
+     32,  32, 105, 102,  32,  40, 
+    105, 115, 110,  97, 110,  40, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     46, 120,  32,  42,  32, 100, 
+    105, 102, 102, 117, 115,  70, 
+     97,  99, 116, 111, 114,  41, 
+     41,  32,  99, 108, 105, 112, 
+     40,  45,  49,  41,  59,  13, 
+     10,   9,  47,  47,   9, 116, 
+    101, 120, 116, 117, 114, 101, 
+     67, 111, 108, 111, 114,  32, 
+     61,  32, 109,  97, 116, 101, 
+    114, 105,  97, 108,  67, 111, 
+    108, 111, 114,  59,  13,  10, 
+     32,  32,  32,  32, 105, 102, 
+     32,  40, 101, 102, 102, 101, 
+     99, 116,  69, 110,  97,  98, 
+    108, 101, 100,  32,  38,  38, 
+     32, 101, 102, 102, 101,  99, 
+    116,  80, 101, 114,  99, 101, 
+    110, 116,  97, 103, 101,  32, 
+     61,  61,  32,  48,  41,  13, 
+     10,   9, 123,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  99, 108, 105, 112,  40, 
+    116, 101, 120, 116, 117, 114, 
+    101,  67, 111, 108, 111, 114, 
+     46,  97,  32,  45,  32,  48, 
+     46,  53,  41,  59,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 116, 101, 120, 116, 
+    117, 114, 101,  67, 111, 108, 
+    111, 114,  46,  97,  32,  61, 
+     32,  49,  46,  48,  59,  13, 
+     10,   9, 125,  13,  10,   9, 
     114, 101, 116, 117, 114, 110, 
      32, 116, 101, 120, 116, 117, 
     114, 101,  67, 111, 108, 111, 
@@ -5059,232 +5343,33 @@ const BYTE CustomUIDX11PixelShader[] =
     102,  32,  40,  40, 100, 105, 
     102, 102, 117, 115, 101,  76, 
     105, 103, 104, 116,  46, 120, 
-     32,  42,  32, 100, 105, 102, 
-    102, 117, 115,  70,  97,  99, 
-    116, 111, 114,  41,  32,  33, 
-     61,  32,  48,  32,  38,  38, 
-     32,  40, 100, 105, 102, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116,  46, 120,  32,  42, 
-     32, 100, 105, 102, 102, 117, 
-    115,  70,  97,  99, 116, 111, 
-    114,  41,  32,  33,  61,  32, 
-     45,  48,  41,  13,  10,   9, 
-      9, 114, 101, 116, 117, 114, 
-    110,  32, 102, 108, 111,  97, 
-    116,  52,  40,  48,  44,  32, 
-     48,  44,  32,  49,  44,  32, 
-     49,  41,  59,  13,  10,   9, 
-    114, 101, 116, 117, 114, 110, 
-     32, 102, 108, 111,  97, 116, 
-     52,  40,  48,  44,  32,  49, 
-     44,  32,  48,  44,  32,  49, 
-     41,  59,  42,  47,  13,  10, 
-    125,   0,   7,   0,   0,   0, 
-      0,   0,   0,   0, 130,   0, 
-      0,   0,   4,   1,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-    131,   0,   0,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  68,  51,  68,  83, 
-     72,  68,  82,   0, 224,  11, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  32,   0,   0,  96, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+     32,  42,  32, 100, 105, 102, 
+    102, 117, 115,  70,  97,  99, 
+    116, 111, 114,  41,  32,  33, 
+     61,  32,  48,  32,  38,  38, 
+     32,  40, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  46, 120,  32,  42, 
+     32, 100, 105, 102, 102, 117, 
+    115,  70,  97,  99, 116, 111, 
+    114,  41,  32,  33,  61,  32, 
+     45,  48,  41,  13,  10,   9, 
+      9, 114, 101, 116, 117, 114, 
+    110,  32, 102, 108, 111,  97, 
+    116,  52,  40,  48,  44,  32, 
+     48,  44,  32,  49,  44,  32, 
+     49,  41,  59,  13,  10,   9, 
+    114, 101, 116, 117, 114, 110, 
+     32, 102, 108, 111,  97, 116, 
+     52,  40,  48,  44,  32,  49, 
+     44,  32,  48,  44,  32,  49, 
+     41,  59,  42,  47,  13,  10, 
+    125,   0,   7,   0,   0,   0, 
+      4,   1,   0,   0, 130,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 255, 255, 
-    255, 255,  26,   9,  47, 241, 
-     88,   0,   0,   0,  48,   2, 
-      0,   0, 109,   1,   0,   0, 
-      1,   0,   0,   0,  37,   0, 
       0,   0,   1,   0,   0,   0, 
-    253,   0,   0,   0,   1,   0, 
-      0,   0,  73,   1,   0,   0, 
-      1,   0,   0,   0, 213,   0, 
-      0,   0,   1,   0,   0,   0, 
-    177,   0,   0,   0,   1,   0, 
-      0,   0, 141,   0,   0,   0, 
-      1,   0,   0,   0, 105,   0, 
-      0,   0,   1,   0,   0,   0, 
-     33,   1,   0,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,  73,   0, 
-      0,   0,   1,   0,   0,   0, 
-      8,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   1, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0, 128,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0, 128,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+    131,   0,   0,   0,   4,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5303,35 +5388,29 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  32,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  68,  51, 
+     68,  83,  72,  68,  82,   0, 
+     76,  13,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0, 128,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,  16, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0, 128,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  12,   0, 
-      0,   0,  24,   0,   0,   0, 
-     36,   0,   0,   0,  48,   0, 
-      0,   0,  60,   0,   0,   0, 
-     72,   0,   0,   0,  84,   0, 
-      0,   0,  96,   0,   0,   0, 
-    108,   0,   0,   0, 120,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5392,114 +5471,67 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,  34,   0,  37,  17, 
-      0,   0,   0,   0, 140,   0, 
-      0,   0,   1,   0,  84, 101, 
-    120, 116, 117, 114, 101,  80, 
-    105, 120, 101, 108,  83, 104, 
-     97, 100, 101, 114,   0,   0, 
-      0,   0,  34,   0,  81,  17, 
-     12,  16,   0,   0,   7,   0, 
-    255, 255, 255, 255,   0,   0, 
-    255, 255, 255, 255, 115, 104, 
-     97, 100, 101, 114,  84, 101, 
-    120, 116, 117, 114, 101,   0, 
-      0,   0,  30,   0,  81,  17, 
-     15,  16,   0,   0,   6,   0, 
-    255, 255, 255, 255, 255, 255, 
-      0,   0, 255, 255,  83,  97, 
-    109, 112, 108, 101,  84, 121, 
-    112, 101,   0,   0,  34,   0, 
-     81,  17,  17,  16,   0,   0, 
-      8,   0,   1,   0,   0,   0, 
-    255, 255, 255, 255, 255, 255, 
-     97, 109,  98, 105, 101, 110, 
-    116,  70,  97,  99, 116, 111, 
-    114,   0,   0,   0,  34,   0, 
-     81,  17,  17,  16,   0,   0, 
-      8,   0,   1,   0,   4,   0, 
-    255, 255, 255, 255, 255, 255, 
-    100, 105, 102, 102, 117, 115, 
-     70,  97,  99, 116, 111, 114, 
-      0,   0,   0,   0,  34,   0, 
-     81,  17,  17,  16,   0,   0, 
-      8,   0,   1,   0,   8,   0, 
-    255, 255, 255, 255, 255, 255, 
-    115, 112, 101,  99, 117, 108, 
-     97, 114,  70,  97,  99, 116, 
-    111, 114,   0,   0,  38,   0, 
-     81,  17,  19,  16,   0,   0, 
-      8,   0,   2,   0,   0,   0, 
-    255, 255, 255, 255, 255, 255, 
-    100, 105, 102, 102, 117, 115, 
-    101,  76, 105, 103, 104, 116, 
-     67, 111, 117, 110, 116,   0, 
-      0,   0,  34,   0,  81,  17, 
-      9,  16,   0,   0,   8,   0, 
-      3,   0,   0,   0, 255, 255, 
-    255, 255, 255, 255, 101, 102, 
-    102, 101,  99, 116,  69, 110, 
-     97,  98, 108, 101, 100,   0, 
-      0,   0,  38,   0,  81,  17, 
-     17,  16,   0,   0,   8,   0, 
-      3,   0,   4,   0, 255, 255, 
-    255, 255, 255, 255, 101, 102, 
-    102, 101,  99, 116,  80, 101, 
-    114,  99, 101, 110, 116,  97, 
-    103, 101,   0,   0,   0,   0, 
-     34,   0,  81,  17,  24,  16, 
-      0,   0,   7,   0, 255, 255, 
-    255, 255,   1,   0, 255, 255, 
-    255, 255, 100, 105, 102, 117, 
-    115, 101,  76, 105, 103, 104, 
-    116, 115,   0,   0,   0,   0, 
-     38,   0,  81,  17,  12,  16, 
-      0,   0,   7,   0, 255, 255, 
-    255, 255,   3,   0, 255, 255, 
-    255, 255,  97, 100, 100, 105, 
-    116, 105, 111, 110,  97, 108, 
-     84, 101, 120, 116, 117, 114, 
-    101,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,  26,   9, 
+     47, 241,  88,   0,   0,   0, 
+     48,   2,   0,   0, 109,   1, 
+      0,   0,   1,   0,   0,   0, 
+     37,   0,   0,   0,   1,   0, 
+      0,   0, 253,   0,   0,   0, 
+      1,   0,   0,   0,  73,   1, 
+      0,   0,   1,   0,   0,   0, 
+    213,   0,   0,   0,   1,   0, 
+      0,   0, 177,   0,   0,   0, 
+      1,   0,   0,   0, 141,   0, 
+      0,   0,   1,   0,   0,   0, 
+    105,   0,   0,   0,   1,   0, 
+      0,   0,  33,   1,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+     73,   0,   0,   0,   1,   0, 
+      0,   0,   8,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   1,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0, 255, 255, 255, 255, 
-     26,   9,  47, 241,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0, 128, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0, 128, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,  64,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5526,6 +5558,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5533,18 +5566,28 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 128,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,  16,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0, 128, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     12,   0,   0,   0,  24,   0, 
+      0,   0,  36,   0,   0,   0, 
+     48,   0,   0,   0,  60,   0, 
+      0,   0,  72,   0,   0,   0, 
+     84,   0,   0,   0,  96,   0, 
+      0,   0, 108,   0,   0,   0, 
+    120,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5563,51 +5606,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    148,  46,  49,   1, 110, 157, 
-    255,  99,   1,   0,   0,   0, 
-    151,  22, 172, 172,   4,  61, 
-     85,  66, 157,  62,   6, 153, 
-     21, 118,  24, 211, 174,   0, 
-      0,   0,  47,  76, 105, 110, 
-    107,  73, 110, 102, 111,   0, 
-     47, 110,  97, 109, 101, 115, 
-      0,  47, 115, 114,  99,  47, 
-    104, 101,  97, 100, 101, 114, 
-     98, 108, 111,  99, 107,   0, 
-     47, 115, 114,  99,  47, 102, 
-    105, 108, 101, 115,  47,  99, 
-     58,  92, 117, 115, 101, 114, 
-    115,  92, 107, 111, 108, 106, 
-     97,  92, 100, 101, 115, 107, 
-    116, 111, 112,  92, 107, 111, 
-    108, 106,  97,  45, 115, 116, 
-    114, 111, 104, 109,  45, 103, 
-     97, 109, 101, 115,  92, 115, 
-    112, 105, 101, 108, 101,  32, 
-    112, 108,  97, 116, 102, 111, 
-    114, 109,  92, 115, 116,  97, 
-    110, 100,  97, 108, 111, 119, 
-    110,  92, 107, 108, 105, 101, 
-    110, 116,  92, 102,  97,  99, 
-    116, 111, 114, 121,  99, 114, 
-     97, 102, 116,  92, 102,  97, 
-     99, 116, 111, 114, 121,  99, 
-    114,  97, 102, 116,  92, 100, 
-    120,  49,  49,  99, 117, 115, 
-    116, 111, 109, 112, 105, 120, 
-    101, 108, 115, 104,  97, 100, 
-    101, 114,  46, 104, 108, 115, 
-    108,   0,   4,   0,   0,   0, 
-      6,   0,   0,   0,   1,   0, 
-      0,   0,  58,   0,   0,   0, 
-      0,   0,   0,   0,  17,   0, 
-      0,   0,   7,   0,   0,   0, 
-     10,   0,   0,   0,   6,   0, 
       0,   0,   0,   0,   0,   0, 
-      5,   0,   0,   0,  34,   0, 
-      0,   0,   8,   0,   0,   0, 
-      0,   0,   0,   0, 220,  81, 
-     51,   1,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5648,142 +5647,74 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  34,   0, 
+     37,  17,   0,   0,   0,   0, 
+    140,   0,   0,   0,   1,   0, 
+     84, 101, 120, 116, 117, 114, 
+    101,  80, 105, 120, 101, 108, 
+     83, 104,  97, 100, 101, 114, 
+      0,   0,   0,   0,  34,   0, 
+     81,  17,  12,  16,   0,   0, 
+      7,   0, 255, 255, 255, 255, 
       0,   0, 255, 255, 255, 255, 
-    119,   9,  49,   1,   1,   0, 
-      0,   0,  13,   0,   0, 142, 
-     14,   0,  63,  92,  15,   0, 
-      0,   0,  88,   0,   0,   0, 
-     32,   0,   0,   0,  44,   0, 
-      0,   0, 144,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  22,   0,   0,   0, 
-     25,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    224,  11,   0,   0,  32,   0, 
-      0,  96,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   9,   0, 
-     88,   9,   0,   0,   0,   0, 
-      0,   0,  76,  12,   0,   0, 
-      1,   0,  55,  67,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  84, 101, 
-    120, 116, 117, 114, 101,  80, 
-    105, 120, 101, 108,  83, 104, 
-     97, 100, 101, 114,   0, 110, 
-    111, 110, 101,   0,  45, 186, 
-     46, 241,   1,   0,   0,   0, 
-      0,   0,   0,   0, 224,  11, 
-      0,   0,  32,   0,   0,  96, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      2,   0,   2,   0,   7,   0, 
-      0,   0,   0,   0,   1,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0, 224,  11,   0,   0, 
-      8,   2,   0,   0,   0,   0, 
+    115, 104,  97, 100, 101, 114, 
+     84, 101, 120, 116, 117, 114, 
+    101,   0,   0,   0,  30,   0, 
+     81,  17,  15,  16,   0,   0, 
+      6,   0, 255, 255, 255, 255, 
+    255, 255,   0,   0, 255, 255, 
+     83,  97, 109, 112, 108, 101, 
+     84, 121, 112, 101,   0,   0, 
+     34,   0,  81,  17,  17,  16, 
+      0,   0,   8,   0,   1,   0, 
       0,   0, 255, 255, 255, 255, 
-      0,   0,   0,   0, 255, 255, 
-    255, 255,   1,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,  67,  58,  92,  85, 
-    115, 101, 114, 115,  92, 107, 
-    111, 108, 106,  97,  92,  68, 
-    101, 115, 107, 116, 111, 112, 
-     92,  75, 111, 108, 106,  97, 
-     45,  83, 116, 114, 111, 104, 
-    109,  45,  71,  97, 109, 101, 
-    115,  92,  83, 112, 105, 101, 
-    108, 101,  32,  80, 108,  97, 
-    116, 102, 111, 114, 109,  92, 
-     83, 116,  97, 110, 100,  97, 
-    108, 111, 119, 110,  92,  75, 
-    108, 105, 101, 110, 116,  92, 
-     70,  97,  99, 116, 111, 114, 
-    121,  67, 114,  97, 102, 116, 
-     92,  70,  97,  99, 116, 111, 
-    114, 121,  67, 114,  97, 102, 
-    116,  92,  68,  88,  49,  49, 
-     67, 117, 115, 116, 111, 109, 
-     80, 105, 120, 101, 108,  83, 
-    104,  97, 100, 101, 114,  46, 
-    104, 108, 115, 108,   0,   0, 
-      0,   0, 254, 239, 254, 239, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0,   0,   1,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0, 255, 255, 255, 
+    255, 255,  97, 109,  98, 105, 
+    101, 110, 116,  70,  97,  99, 
+    116, 111, 114,   0,   0,   0, 
+     34,   0,  81,  17,  17,  16, 
+      0,   0,   8,   0,   1,   0, 
+      4,   0, 255, 255, 255, 255, 
+    255, 255, 100, 105, 102, 102, 
+    117, 115,  70,  97,  99, 116, 
+    111, 114,   0,   0,   0,   0, 
+     34,   0,  81,  17,  17,  16, 
+      0,   0,   8,   0,   1,   0, 
+      8,   0, 255, 255, 255, 255, 
+    255, 255, 115, 112, 101,  99, 
+    117, 108,  97, 114,  70,  97, 
+     99, 116, 111, 114,   0,   0, 
+     38,   0,  81,  17,  19,  16, 
+      0,   0,   8,   0,   2,   0, 
+      0,   0, 255, 255, 255, 255, 
+    255, 255, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,   0,   0,   0,  34,   0, 
+     81,  17,   9,  16,   0,   0, 
+      8,   0,   3,   0,   0,   0, 
     255, 255, 255, 255, 255, 255, 
-    255,  12,   0, 255, 255, 255, 
+    101, 102, 102, 101,  99, 116, 
+     69, 110,  97,  98, 108, 101, 
+    100,   0,   0,   0,  38,   0, 
+     81,  17,  17,  16,   0,   0, 
+      8,   0,   3,   0,   4,   0, 
     255, 255, 255, 255, 255, 255, 
-    255,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,  32,   0,   0,   0, 
-     10,   1,   0,   0,  84,   2, 
-      0,   0, 163,   1,   0,   0, 
-     56,   0,   0,   0,   0,   0, 
-      0,   0, 212,  24,   0,   0, 
-    128,   0,   0,   0, 159,  23, 
-      0,   0, 212,  21,   0,   0, 
-    108,   0,   0,   0,   0,   0, 
-      0,   0,  40,   0,   0,   0, 
-    152,   2,   0,   0,  44,   0, 
-      0,   0, 148,   1,   0,   0, 
-      3,   0,   0,   0,  52,   0, 
-      0,   0,  34,   0,   0,   0, 
-     33,   0,   0,   0,  53,   0, 
-      0,   0,  35,   0,   0,   0, 
-     20,   0,   0,   0,   6,   0, 
-      0,   0,  36,   0,   0,   0, 
-     37,   0,   0,   0,  38,   0, 
-      0,   0,  39,   0,   0,   0, 
-     40,   0,   0,   0,  41,   0, 
-      0,   0,  42,   0,   0,   0, 
-     43,   0,   0,   0,  44,   0, 
-      0,   0,  45,   0,   0,   0, 
-     46,   0,   0,   0,  21,   0, 
-      0,   0,   8,   0,   0,   0, 
-      9,   0,   0,   0,  10,   0, 
-      0,   0,  11,   0,   0,   0, 
-     12,   0,   0,   0,  13,   0, 
-      0,   0,  14,   0,   0,   0, 
-     15,   0,   0,   0,  16,   0, 
-      0,   0,  17,   0,   0,   0, 
-     18,   0,   0,   0,  19,   0, 
-      0,   0,  22,   0,   0,   0, 
-     23,   0,   0,   0,  24,   0, 
-      0,   0,  25,   0,   0,   0, 
-     26,   0,   0,   0,  27,   0, 
-      0,   0,  28,   0,   0,   0, 
-     29,   0,   0,   0,  30,   0, 
-      0,   0,  31,   0,   0,   0, 
-     32,   0,   0,   0,   7,   0, 
-      0,   0,  47,   0,   0,   0, 
-     48,   0,   0,   0,  49,   0, 
-      0,   0,  51,   0,   0,   0, 
-     50,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+    101, 102, 102, 101,  99, 116, 
+     80, 101, 114,  99, 101, 110, 
+    116,  97, 103, 101,   0,   0, 
+      0,   0,  34,   0,  81,  17, 
+     24,  16,   0,   0,   7,   0, 
+    255, 255, 255, 255,   1,   0, 
+    255, 255, 255, 255, 100, 105, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116, 115,   0,   0, 
+      0,   0,  38,   0,  81,  17, 
+     12,  16,   0,   0,   7,   0, 
+    255, 255, 255, 255,   3,   0, 
+    255, 255, 255, 255,  97, 100, 
+    100, 105, 116, 105, 111, 110, 
+     97, 108,  84, 101, 120, 116, 
+    117, 114, 101,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5802,9 +5733,12 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,  26,   9,  47, 241, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5819,7 +5753,6 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-     54,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5885,8 +5818,51 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0, 148,  46,  49,   1, 
+      0,  20,  86, 100,   1,   0, 
+      0,   0, 233, 184,   4,  90, 
+     84,  89,  91,  68, 163, 222, 
+    213, 242, 194, 233, 155, 156, 
+    174,   0,   0,   0,  47,  76, 
+    105, 110, 107,  73, 110, 102, 
+    111,   0,  47, 110,  97, 109, 
+    101, 115,   0,  47, 115, 114, 
+     99,  47, 104, 101,  97, 100, 
+    101, 114,  98, 108, 111,  99, 
+    107,   0,  47, 115, 114,  99, 
+     47, 102, 105, 108, 101, 115, 
+     47,  99,  58,  92, 117, 115, 
+    101, 114, 115,  92, 107, 111, 
+    108, 106,  97,  92, 100, 101, 
+    115, 107, 116, 111, 112,  92, 
+    107, 111, 108, 106,  97,  45, 
+    115, 116, 114, 111, 104, 109, 
+     45, 103,  97, 109, 101, 115, 
+     92, 115, 112, 105, 101, 108, 
+    101,  32, 112, 108,  97, 116, 
+    102, 111, 114, 109,  92, 115, 
+    116,  97, 110, 100,  97, 108, 
+    111, 119, 110,  92, 107, 108, 
+    105, 101, 110, 116,  92, 102, 
+     97,  99, 116, 111, 114, 121, 
+     99, 114,  97, 102, 116,  92, 
+    102,  97,  99, 116, 111, 114, 
+    121,  99, 114,  97, 102, 116, 
+     92, 100, 120,  49,  49,  99, 
+    117, 115, 116, 111, 109, 112, 
+    105, 120, 101, 108, 115, 104, 
+     97, 100, 101, 114,  46, 104, 
+    108, 115, 108,   0,   4,   0, 
+      0,   0,   6,   0,   0,   0, 
+      1,   0,   0,   0,  58,   0, 
       0,   0,   0,   0,   0,   0, 
+     17,   0,   0,   0,   7,   0, 
+      0,   0,  10,   0,   0,   0, 
+      6,   0,   0,   0,   0,   0, 
+      0,   0,   5,   0,   0,   0, 
+     34,   0,   0,   0,   8,   0, 
       0,   0,   0,   0,   0,   0, 
+    220,  81,  51,   1,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5927,15 +5903,77 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255, 119,   9,  49,   1, 
+      1,   0,   0,   0,  13,   0, 
+      0, 142,  14,   0,  63,  92, 
+     15,   0,   0,   0,  88,   0, 
+      0,   0,  32,   0,   0,   0, 
+     44,   0,   0,   0, 144,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  22,   0, 
+      0,   0,  25,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,  76,  13,   0,   0, 
+     32,   0,   0,  96,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      9,   0,  88,   9,   0,   0, 
+      0,   0,   0,   0, 204,  13, 
+      0,   0,   1,   0, 143, 139, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     84, 101, 120, 116, 117, 114, 
+    101,  80, 105, 120, 101, 108, 
+     83, 104,  97, 100, 101, 114, 
+      0, 110, 111, 110, 101,   0, 
+     45, 186,  46, 241,   1,   0, 
       0,   0,   0,   0,   0,   0, 
+     76,  13,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   2,   0, 
+      7,   0,   0,   0,   0,   0, 
+      1,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0,  76,  13, 
+      0,   0,   8,   2,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+    255, 255, 255, 255,   1,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,  67,  58, 
+     92,  85, 115, 101, 114, 115, 
+     92, 107, 111, 108, 106,  97, 
+     92,  68, 101, 115, 107, 116, 
+    111, 112,  92,  75, 111, 108, 
+    106,  97,  45,  83, 116, 114, 
+    111, 104, 109,  45,  71,  97, 
+    109, 101, 115,  92,  83, 112, 
+    105, 101, 108, 101,  32,  80, 
+    108,  97, 116, 102, 111, 114, 
+    109,  92,  83, 116,  97, 110, 
+    100,  97, 108, 111, 119, 110, 
+     92,  75, 108, 105, 101, 110, 
+    116,  92,  70,  97,  99, 116, 
+    111, 114, 121,  67, 114,  97, 
+    102, 116,  92,  70,  97,  99, 
+    116, 111, 114, 121,  67, 114, 
+     97, 102, 116,  92,  68,  88, 
+     49,  49,  67, 117, 115, 116, 
+    111, 109,  80, 105, 120, 101, 
+    108,  83, 104,  97, 100, 101, 
+    114,  46, 104, 108, 115, 108, 
+      0,   0,   0,   0, 254, 239, 
+    254, 239,   1,   0,   0,   0, 
+      1,   0,   0,   0,   0,   1, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255,  12,   0, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5951,6 +5989,51 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,  32,   0, 
+      0,   0,  10,   1,   0,   0, 
+     84,   2,   0,   0, 163,   1, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0, 128,  25, 
+      0,   0, 128,   0,   0,   0, 
+     75,  24,   0,   0,  84,  23, 
+      0,   0, 108,   0,   0,   0, 
+      0,   0,   0,   0,  40,   0, 
+      0,   0, 152,   2,   0,   0, 
+     44,   0,   0,   0, 148,   1, 
+      0,   0,   3,   0,   0,   0, 
+     54,   0,   0,   0,  36,   0, 
+      0,   0,  35,   0,   0,   0, 
+     55,   0,   0,   0,  37,   0, 
+      0,   0,  21,   0,   0,   0, 
+      6,   0,   0,   0,  38,   0, 
+      0,   0,  39,   0,   0,   0, 
+     40,   0,   0,   0,  41,   0, 
+      0,   0,  42,   0,   0,   0, 
+     43,   0,   0,   0,  44,   0, 
+      0,   0,  45,   0,   0,   0, 
+     46,   0,   0,   0,  47,   0, 
+      0,   0,  48,   0,   0,   0, 
+     22,   0,   0,   0,   8,   0, 
+      0,   0,   9,   0,   0,   0, 
+     10,   0,   0,   0,  11,   0, 
+      0,   0,  12,   0,   0,   0, 
+     13,   0,   0,   0,  14,   0, 
+      0,   0,  15,   0,   0,   0, 
+     16,   0,   0,   0,  17,   0, 
+      0,   0,  18,   0,   0,   0, 
+     19,   0,   0,   0,  20,   0, 
+      0,   0,  23,   0,   0,   0, 
+     24,   0,   0,   0,  25,   0, 
+      0,   0,  26,   0,   0,   0, 
+     27,   0,   0,   0,  28,   0, 
+      0,   0,  29,   0,   0,   0, 
+     30,   0,   0,   0,  31,   0, 
+      0,   0,  32,   0,   0,   0, 
+     33,   0,   0,   0,  34,   0, 
+      0,   0,   7,   0,   0,   0, 
+     49,   0,   0,   0,  50,   0, 
+      0,   0,  51,   0,   0,   0, 
+     53,   0,   0,   0,  52,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -5991,6 +6074,7 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,  56,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -6160,5 +6244,5 @@ const BYTE CustomUIDX11PixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0
+      0,   0,   0,   0,   0,   0
 };

+ 16 - 16
FactoryCraft/CustomUIDX11VertexShader.h

@@ -274,10 +274,10 @@ ret
 
 const BYTE CustomUIDX11VertexShader[] =
 {
-     68,  88,  66,  67,  83, 190, 
-    254, 242, 109,  83, 109, 144, 
-     82, 157,  31,  29, 164, 120, 
-     74, 218,   1,   0,   0,   0, 
+     68,  88,  66,  67,   6, 134, 
+    130, 116, 240,   8, 167, 175, 
+    194, 129, 242, 216,  85,  67, 
+    235,   1,   1,   0,   0,   0, 
      56, 103,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
      76,   4,   0,   0,   4,   5, 
@@ -1436,10 +1436,10 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 148,  46,  49,   1, 
-    110, 157, 255,  99,   1,   0, 
-      0,   0,  94, 177,  89, 240, 
-    227, 240, 177,  70, 163,  63, 
-     31,  81,  23, 207,  61, 181, 
+      6,  87,  78, 100,   1,   0, 
+      0,   0,   6,  88, 137, 248, 
+     21,  30, 228,  67, 147,  98, 
+     26,   5, 215, 145,  75, 103, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
       1,   0,   0,   0,   0,   0, 
@@ -2375,8 +2375,8 @@ const BYTE CustomUIDX11VertexShader[] =
      99, 116, 105, 111, 110,  59, 
      13,  10, 125,  13,  10,  13, 
      27, 226,  48,   1, 128,   0, 
-      0,   0, 203, 112, 220,  20, 
-    110,  76, 217,   1,   1,   0, 
+      0,   0, 244, 135, 250, 142, 
+     90, 123, 217,   1,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -4337,11 +4337,11 @@ const BYTE CustomUIDX11VertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0, 148,  46, 
-     49,   1, 110, 157, 255,  99, 
-      1,   0,   0,   0,  94, 177, 
-     89, 240, 227, 240, 177,  70, 
-    163,  63,  31,  81,  23, 207, 
-     61, 181, 175,   0,   0,   0, 
+     49,   1,   6,  87,  78, 100, 
+      1,   0,   0,   0,   6,  88, 
+    137, 248,  21,  30, 228,  67, 
+    147,  98,  26,   5, 215, 145, 
+     75, 103, 175,   0,   0,   0, 
      47,  76, 105, 110, 107,  73, 
     110, 102, 111,   0,  47, 110, 
      97, 109, 101, 115,   0,  47, 
@@ -4441,7 +4441,7 @@ const BYTE CustomUIDX11VertexShader[] =
       2,   0,   9,   0, 172,   7, 
       0,   0,   0,   0,   0,   0, 
     148,   9,   0,   0,   1,   0, 
-    115, 119,   0,   0,   0,   0, 
+     16,  48,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,  84, 101, 120, 116, 
     117, 114, 101,  86, 101, 114, 

+ 8 - 2
FactoryCraft/DX11CustomPixelShader.hlsl

@@ -94,6 +94,7 @@ float4 TexturePixelShader(PixelInputType input) : SV_TARGET
 	else
 	{
         clip(materialColor.a - 0.25);
+        materialColor.a = 1.0;
 	}
 	if (input.light1.w > 0)
     {
@@ -160,8 +161,13 @@ float4 TexturePixelShader(PixelInputType input) : SV_TARGET
 	//	diffuseLight.x = 0;
 	float4 textureColor = saturate((materialColor * ambientFactor) + (float4(diffuseLight.x, diffuseLight.y, diffuseLight.z, 0) * diffusFactor) + (float4(specularLight.x, specularLight.y, specularLight.z, 0) * specularFactor));
 	textureColor.a = materialColor.a;
-	if (isnan(diffuseLight.x * diffusFactor))
-		textureColor = materialColor;
+    if (isnan(diffuseLight.x * diffusFactor)) clip(-1);
+	//	textureColor = materialColor;
+    if (effectEnabled && effectPercentage == 0)
+	{
+        clip(textureColor.a - 0.5);
+        textureColor.a = 1.0;
+	}
 	return textureColor;
 	//return textureColor;
 	//if (diffusFactor == 0)

+ 4 - 1
FactoryCraft/FactoryClient.cpp

@@ -47,13 +47,16 @@ void FactoryClient::loadServerInfo()
         foregroundReader->lese((char*)&needsInstance, 1);
         bool needsSubscription;
         foregroundReader->lese((char*)&needsSubscription, 1);
+        bool fluid;
+        foregroundReader->lese((char*)&fluid, 1);
         int maxHp;
         foregroundReader->lese((char*)&maxHp, 4);
         blockTypes[i] = new BlockType(id,
             needsInstance,
             ModelInfo(foregroundReader),
             maxHp,
-            needsSubscription);
+            needsSubscription,
+            fluid);
     }
     foregroundReader->lese((char*)&itemTypeCount, 4);
     itemTypes = new ItemType*[itemTypeCount];

+ 1 - 0
FactoryCraft/FactoryCraft.vcxproj

@@ -181,6 +181,7 @@ copy "..\..\..\..\..\Allgemein\Network\x64\Release\Network.dll" "network.dll"</C
     <ClCompile Include="ChatMessage.cpp" />
     <ClCompile Include="ChatOptions.cpp" />
     <ClCompile Include="Chunk.cpp" />
+    <ClCompile Include="ChunkFluidModel.cpp" />
     <ClCompile Include="ChunkGroundModel.cpp" />
     <ClCompile Include="ChunkMap.cpp" />
     <ClCompile Include="ChunkModelBuilder.cpp" />

+ 3 - 0
FactoryCraft/FactoryCraft.vcxproj.filters

@@ -232,6 +232,9 @@
     <ClCompile Include="ChunkModelBuilder.cpp">
       <Filter>world\chunk</Filter>
     </ClCompile>
+    <ClCompile Include="ChunkFluidModel.cpp">
+      <Filter>world\chunk</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="Area.h">

+ 0 - 20
FactoryCraft/Load.cpp

@@ -611,10 +611,8 @@ void createFluidCube(Bildschirm* zScreen)
     // front side
     vertecies[0].pos = Vec3<float>(left, front, top);
     vertecies[0].tPos = Vec2<float>(0.f, 0.f);
-    vertecies[0].knochenId = 1;
     vertecies[1].pos = Vec3<float>(right, front, top);
     vertecies[1].tPos = Vec2<float>(1.f, 0.f);
-    vertecies[1].knochenId = 2;
     vertecies[2].pos = Vec3<float>(left, front, bottom);
     vertecies[2].tPos = Vec2<float>(0.f, 1.f);
     vertecies[3].pos = Vec3<float>(right, front, bottom);
@@ -622,10 +620,8 @@ void createFluidCube(Bildschirm* zScreen)
     // back side
     vertecies[4].pos = Vec3<float>(right, back, top);
     vertecies[4].tPos = Vec2<float>(0.0f, 0.0f);
-    vertecies[4].knochenId = 3;
     vertecies[5].pos = Vec3<float>(left, back, top);
     vertecies[5].tPos = Vec2<float>(1.0f, 0.0f);
-    vertecies[5].knochenId = 4;
     vertecies[6].pos = Vec3<float>(right, back, bottom);
     vertecies[6].tPos = Vec2<float>(0.0f, 1.0f);
     vertecies[7].pos = Vec3<float>(left, back, bottom);
@@ -633,10 +629,8 @@ void createFluidCube(Bildschirm* zScreen)
     // left side
     vertecies[8].pos = Vec3<float>(left, back, top);
     vertecies[8].tPos = Vec2<float>(0.f, 0.f);
-    vertecies[8].knochenId = 4;
     vertecies[9].pos = Vec3<float>(left, front, top);
     vertecies[9].tPos = Vec2<float>(1.f, 0.f);
-    vertecies[9].knochenId = 1;
     vertecies[10].pos = Vec3<float>(left, back, bottom);
     vertecies[10].tPos = Vec2<float>(0.f, 1.f);
     vertecies[11].pos = Vec3<float>(left, front, bottom);
@@ -644,10 +638,8 @@ void createFluidCube(Bildschirm* zScreen)
     // right side
     vertecies[12].pos = Vec3<float>(right, front, top);
     vertecies[12].tPos = Vec2<float>(0.0f, 0.0f);
-    vertecies[12].knochenId = 2;
     vertecies[13].pos = Vec3<float>(right, back, top);
     vertecies[13].tPos = Vec2<float>(1.0f, 0.0f);
-    vertecies[13].knochenId = 3;
     vertecies[14].pos = Vec3<float>(right, front, bottom);
     vertecies[14].tPos = Vec2<float>(0.0f, 1.0f);
     vertecies[15].pos = Vec3<float>(right, back, bottom);
@@ -655,16 +647,12 @@ void createFluidCube(Bildschirm* zScreen)
     // top side
     vertecies[16].pos = Vec3<float>(left, back, top);
     vertecies[16].tPos = Vec2<float>(0.f, 0.f);
-    vertecies[16].knochenId = 4;
     vertecies[17].pos = Vec3<float>(right, back, top);
-    vertecies[17].knochenId = 3;
     vertecies[17].tPos = Vec2<float>(1.f, 0.f);
     vertecies[18].pos = Vec3<float>(left, front, top);
     vertecies[18].tPos = Vec2<float>(0.f, 1.f);
-    vertecies[18].knochenId = 1;
     vertecies[19].pos = Vec3<float>(right, front, top);
     vertecies[19].tPos = Vec2<float>(1.f, 1.f);
-    vertecies[19].knochenId = 2;
     // botom side
     vertecies[20].pos = Vec3<float>(left, front, bottom);
     vertecies[20].tPos = Vec2<float>(0.0f, 0.0f);
@@ -746,14 +734,6 @@ void createFluidCube(Bildschirm* zScreen)
     p->indexList[5] = 2 + 20;
     data->addPolygon(p);
 
-    Skeleton* s = new Skeleton();
-    int rootId = s->addBone(Vec3<float>(0, 0, 0), Vec3<float>(0, 0, 0), -1);
-    s->addBone(Vec3<float>(0, 0, 0), Vec3<float>(0, 0, 0), rootId);
-    s->addBone(Vec3<float>(0, 0, 0), Vec3<float>(0, 0, 0), rootId);
-    s->addBone(Vec3<float>(0, 0, 0), Vec3<float>(0, 0, 0), rootId);
-    s->addBone(Vec3<float>(0, 0, 0), Vec3<float>(0, 0, 0), rootId);
-    data->setSkelettZ(s);
-
     data->calculateNormals();
     data->release();
 }

+ 1 - 1
FactoryCraft/World.cpp

@@ -446,7 +446,7 @@ void World::setTarget(Framework::Model3D* zTarget)
             selectionModel->setPosition(
                 zTarget->getPos().x, zTarget->getPos().y, zTarget->getPos().z);
             Block* b = dynamic_cast<Block*>(zTarget);
-            if (b && b->isPartOfGround())
+            if (b && b->getPartOfModels())
             {
                 selectionModel->setDestroyedState(b->getEffectPercentage());
             }