From 69ae1ed949ab17fa4e692ed3b29a905c86189779 Mon Sep 17 00:00:00 2001
From: "ALIENJACK\\alien" <wangshijie>
Date: Wed, 4 Dec 2024 15:08:35 +0800
Subject: [PATCH 1/9] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=BA=9F=E7=89=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Assets/Plugins/MyNes.Standard2.dll        | Bin 321024 -> 0 bytes
 .../Assets/Plugins/MyNes.Standard2.dll.meta   |  86 ------------------
 .../Assets/Script/Manager/AppEmu.cs           |   4 +-
 3 files changed, 1 insertion(+), 89 deletions(-)
 delete mode 100644 AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll
 delete mode 100644 AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll.meta

diff --git a/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll b/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll
deleted file mode 100644
index 1d06e30b6f852f666e6ab5b8fed4a499a3387b44..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 321024
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
I|7$DoH+{0OFaQ7m

diff --git a/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll.meta b/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll.meta
deleted file mode 100644
index 0753ee5c..00000000
--- a/AxibugEmuOnline.Client/Assets/Plugins/MyNes.Standard2.dll.meta
+++ /dev/null
@@ -1,86 +0,0 @@
-fileFormatVersion: 2
-guid: 1818bd4d6ed568f4f98c1750b011c967
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      : Any
-    second:
-      enabled: 0
-      settings:
-        Exclude Android: 0
-        Exclude Editor: 0
-        Exclude Linux64: 0
-        Exclude OSXUniversal: 0
-        Exclude Win: 0
-        Exclude Win64: 0
-        Exclude iOS: 0
-  - first:
-      Android: Android
-    second:
-      enabled: 1
-      settings:
-        CPU: ARMv7
-  - first:
-      Any: 
-    second:
-      enabled: 1
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-        DefaultValueInitialized: true
-        OS: AnyOS
-  - first:
-      Standalone: Linux64
-    second:
-      enabled: 1
-      settings:
-        CPU: None
-  - first:
-      Standalone: OSXUniversal
-    second:
-      enabled: 1
-      settings:
-        CPU: None
-  - first:
-      Standalone: Win
-    second:
-      enabled: 1
-      settings:
-        CPU: x86
-  - first:
-      Standalone: Win64
-    second:
-      enabled: 1
-      settings:
-        CPU: x86_64
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  - first:
-      iPhone: iOS
-    second:
-      enabled: 1
-      settings:
-        AddToEmbeddedBinaries: false
-        CPU: AnyCPU
-        CompileFlags: 
-        FrameworkDependencies: 
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs
index 2c080548..5eca81cf 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs
@@ -1,7 +1,5 @@
 using AxibugEmuOnline.Client.ClientCore;
 using AxibugEmuOnline.Client.Event;
-using MyNes.Core;
-using System;
 using UnityEngine;
 
 namespace AxibugEmuOnline.Client.Manager
@@ -74,7 +72,7 @@ namespace AxibugEmuOnline.Client.Manager
 
         public void ResetGame()
         {
-            if(m_emuCore.IsNull()) return;
+            if (m_emuCore.IsNull()) return;
 
             m_emuCore.DoReset();
         }

From b5950fca9c1df516710734ca2e992ff49b7a9bea Mon Sep 17 00:00:00 2001
From: "ALIENJACK\\alien" <wangshijie>
Date: Wed, 4 Dec 2024 15:13:20 +0800
Subject: [PATCH 2/9] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=89=93=E5=8C=85?=
 =?UTF-8?q?=E5=9C=BA=E6=99=AF=E4=B8=AD=E7=9A=84=E7=BC=BA=E5=A4=B1=E9=A1=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ProjectSettings/EditorBuildSettings.asset                  | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/AxibugEmuOnline.Client/ProjectSettings/EditorBuildSettings.asset b/AxibugEmuOnline.Client/ProjectSettings/EditorBuildSettings.asset
index 4da0947b..650f2575 100644
--- a/AxibugEmuOnline.Client/ProjectSettings/EditorBuildSettings.asset
+++ b/AxibugEmuOnline.Client/ProjectSettings/EditorBuildSettings.asset
@@ -8,7 +8,4 @@ EditorBuildSettings:
   - enabled: 1
     path: Assets/Scene/AxibugEmuOnline.Client.unity
     guid: eb0c18a619175384d95147898a43054b
-  - enabled: 0
-    path: Assets/Scene/Emu_NES.unity
-    guid: 3dba71db67877594a9b5b77059205ec8
   m_configObjects: {}

From 14f56218278a8f9ce26804fbef85732eb5b60483 Mon Sep 17 00:00:00 2001
From: "ALIENJACK\\alien" <wangshijie>
Date: Wed, 4 Dec 2024 16:05:21 +0800
Subject: [PATCH 3/9] =?UTF-8?q?=E5=BD=93=E6=B8=B8=E6=88=8F=E6=9A=82?=
 =?UTF-8?q?=E5=81=9C=E6=97=B6,=E4=B8=AD=E6=96=AD=E9=9F=B3=E9=A2=91?=
 =?UTF-8?q?=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Assets/Script/NesEmulator/AudioProvider.cs                | 1 +
 .../Assets/Script/NesEmulator/NesEmulator.cs                  | 4 +++-
 .../Assets/VirtualNes.Core/VirtualNes.Core.asmdef             | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/AudioProvider.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/AudioProvider.cs
index 614eb64b..2acfc0ec 100644
--- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/AudioProvider.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/AudioProvider.cs
@@ -27,6 +27,7 @@ namespace AxibugEmuOnline.Client
             int step = channels;
 
             if (NesEmu == null || NesEmu.NesCore == null) return;
+            if (NesEmu.IsPause) return;
 
             ProcessSound(NesEmu.NesCore, (uint)(data.Length / channels));
 
diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs
index dae70639..f32f151d 100644
--- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs
@@ -21,7 +21,9 @@ namespace AxibugEmuOnline.Client
         //��Ƶ������������Unity����ģ������Ƶ���ݵIJ����ų�����ʵ�֣�
         public AudioProvider AudioProvider;
         //�Ƿ���ͣ
-        public bool m_bPause;
+        private bool m_bPause;
+        /// <summary> �Ƿ���ͣ </summary>
+        public bool IsPause => m_bPause;
 
         private void Start()
         {
diff --git a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/VirtualNes.Core.asmdef b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/VirtualNes.Core.asmdef
index b4819ec6..99b3952f 100644
--- a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/VirtualNes.Core.asmdef
+++ b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/VirtualNes.Core.asmdef
@@ -10,5 +10,5 @@
     "autoReferenced": false,
     "defineConstraints": [],
     "versionDefines": [],
-    "noEngineReferences": false
+    "noEngineReferences": true
 }
\ No newline at end of file

From 47224738967c408feeecf0dcc8086ede52c72837 Mon Sep 17 00:00:00 2001
From: ALIENJACK <alienjack@foxmail.com>
Date: Wed, 4 Dec 2024 21:27:21 +0800
Subject: [PATCH 4/9] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=81=97=E6=BC=8F?=
 =?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../UI/InGameUI/InGameUI_FilterSetting.cs     | 63 +++++++++++++++++++
 .../InGameUI/InGameUI_FilterSetting.cs.meta   |  2 +
 2 files changed, 65 insertions(+)
 create mode 100644 AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs
 create mode 100644 AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta

diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs
new file mode 100644
index 00000000..4197be4e
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs
@@ -0,0 +1,63 @@
+using AxibugEmuOnline.Client.ClientCore;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using static AxibugEmuOnline.Client.FilterManager;
+
+namespace AxibugEmuOnline.Client
+{
+    public class InGameUI_FilterSetting : ExpandMenu
+    {
+        private InGameUI m_gameUI;
+
+        public InGameUI_FilterSetting(InGameUI gameUI) : base("�˾�", null)
+        {
+            m_gameUI = gameUI;
+        }
+
+        protected override List<OptionMenu> GetOptionMenus()
+        {
+            return App.filter.Filters.Select(f => new FilterMenu(m_gameUI.RomFile, f) as OptionMenu).ToList();
+        }
+
+        public class FilterMenu : ExpandMenu
+        {
+            private Filter m_filter;
+            private List<OptionMenu> m_presetsMenuItems;
+
+            public FilterMenu(RomFile rom, Filter filter) : base(filter.Name, null)
+            {
+                m_filter = filter;
+                m_presetsMenuItems = new List<OptionMenu> { new FilterPresetMenu(rom, m_filter, m_filter.DefaultPreset) };
+                m_presetsMenuItems.AddRange(m_filter.Presets.Select(preset => new FilterPresetMenu(rom, m_filter, preset)));
+            }
+
+            protected override List<OptionMenu> GetOptionMenus()
+            {
+                return m_presetsMenuItems;
+            }
+        }
+
+        public class FilterPresetMenu : ExecuteMenu
+        {
+            private FilterPreset m_preset;
+            private RomFile m_rom;
+            private Filter m_filter;
+
+            public FilterPresetMenu(RomFile rom, Filter filter, FilterPreset preset) : base(preset.Name, null)
+            {
+                m_preset = preset;
+                m_rom = rom;
+                m_filter = filter;
+            }
+
+            public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
+            {
+                m_filter.ApplyPreset(m_preset);
+                App.filter.EnableFilter(m_filter);
+
+                App.filter.SetupFilter(m_rom, m_filter, m_preset);
+            }
+        }
+    }
+}
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta
new file mode 100644
index 00000000..3b91ead9
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: b6c80949e93f37f42a1af843fa9d77fa
\ No newline at end of file

From c421466b84b768f77b58ee4d61d16499b890c185 Mon Sep 17 00:00:00 2001
From: ALIENJACK <alienjack@foxmail.com>
Date: Wed, 4 Dec 2024 23:15:05 +0800
Subject: [PATCH 5/9] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BE=A7=E8=BE=B9?=
 =?UTF-8?q?=E6=A0=8F=E8=8F=9C=E5=8D=95=20UI=E7=BB=86=E8=8A=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Assets/Editors/CommandDispatcherEditor.cs |    1 -
 .../Assets/Plugins/AxiReplay/NetReplay.cs     |    4 +-
 .../Assets/Plugins/AxiReplay/ReplayData.cs    |    4 +-
 .../Assets/Plugins/AxiReplay/ReplayReader.cs  |    6 +-
 .../Assets/Plugins/AxiReplay/ReplayWriter.cs  |    6 +-
 .../UIEffect/Materials/UI-Effect.mat          | 1403 +++++++++++++----
 .../UIEffect/Scripts/Common/BaseMeshEffect.cs |  364 ++---
 .../UIEffect/Scripts/Common/BlurMode.cs       |   20 +-
 .../UIEffect/Scripts/Common/ColorMode.cs      |   20 +-
 .../UIEffect/Scripts/Common/EffectArea.cs     |  200 +--
 .../UIEffect/Scripts/Common/EffectPlayer.cs   |  270 ++--
 .../UIEffect/Scripts/Common/MaterialCache.cs  |  154 +-
 .../Scripts/Common/MaterialResolver.cs        |  186 +--
 .../UIEffect/Scripts/Common/Matrix2x3.cs      |   52 +-
 .../UIEffect/Scripts/Common/Packer.cs         |  104 +-
 .../Scripts/Common/ParameterTexture.cs        |  324 ++--
 .../UIEffect/Scripts/Common/ShadowStyle.cs    |   22 +-
 .../UIEffect/Scripts/Common/ToneMode.cs       |   22 +-
 .../UIEffect/Scripts/Common/UIEffectBase.cs   |  264 ++--
 .../Scripts/Editor/BaseMeshEffectEditor.cs    |  135 +-
 .../Scripts/Editor/DeprecatedRemover.cs       |   74 +-
 .../Scripts/Editor/UIDissolveEditor.cs        |  306 ++--
 .../Editor/UIEffectCapturedImageEditor.cs     |  314 ++--
 .../UIEffect/Scripts/Editor/UIEffectEditor.cs |  413 ++---
 .../Scripts/Editor/UIGradientEditor.cs        |  165 +-
 .../Scripts/Editor/UIHsvModifierEditor.cs     |  132 +-
 .../UIEffect/Scripts/Editor/UIShadowEditor.cs |   80 +-
 .../UIEffect/Scripts/Editor/UIShinyEditor.cs  |  222 ++-
 .../Editor/UITransitionEffectEditor.cs        |  323 ++--
 .../UIEffect/Scripts/UIDissolve.cs            |  748 ++++-----
 .../UIExtensions/UIEffect/Scripts/UIEffect.cs |  832 +++++-----
 .../UIEffect/Scripts/UIEffectCapturedImage.cs |  890 +++++------
 .../UIExtensions/UIEffect/Scripts/UIFlip.cs   |   98 +-
 .../UIEffect/Scripts/UIGradient.cs            |  676 ++++----
 .../UIEffect/Scripts/UIHsvModifier.cs         |  321 ++--
 .../UIExtensions/UIEffect/Scripts/UIShadow.cs |  705 +++++----
 .../UIExtensions/UIEffect/Scripts/UIShiny.cs  |  694 ++++----
 .../UIEffect/Scripts/UITransitionEffect.cs    |  611 ++++---
 .../DOTween/Modules/DOTweenModuleAudio.cs     |   14 +-
 .../Modules/DOTweenModuleEPOOutline.cs        |    4 +-
 .../DOTween/Modules/DOTweenModulePhysics.cs   |   11 +-
 .../DOTween/Modules/DOTweenModulePhysics2D.cs |   11 +-
 .../DOTween/Modules/DOTweenModuleSprite.cs    |   24 +-
 .../DOTween/Modules/DOTweenModuleUI.cs        |   61 +-
 .../Modules/DOTweenModuleUnityVersion.cs      |  117 +-
 .../DOTween/Modules/DOTweenModuleUtils.cs     |   26 +-
 .../Assets/Resources/UIPrefabs/Disable.anim   |  104 ++
 .../Resources/UIPrefabs/Disable.anim.meta     |    8 +
 .../Resources/UIPrefabs/OptionUI.prefab       |    3 +-
 .../UIPrefabs/SelectBorder.controller         |  127 +-
 AxibugEmuOnline.Client/Assets/Script/App.cs   |  184 +--
 .../Assets/Script/Event/EventInvoker.cs       |    4 -
 .../FixingPixelArtGrille.cs                   |    2 -
 .../Script/Filter/MattiasCRT/MattiasCRT.cs    |    2 +-
 .../IkeyMapperChanger/CommandChanger.cs       |    5 +-
 .../Assets/Script/Manager/AppChat.cs          |    1 -
 .../Assets/Script/Manager/AppEmu.cs           |   20 +-
 .../Assets/Script/Manager/AppLogin.cs         |    2 +-
 .../Assets/Script/Manager/FilterManager.cs    |    3 +-
 .../Assets/Script/Manager/UserDataManager.cs  |    2 -
 .../Script/NesEmulator/NesControllerMapper.cs |    4 +-
 .../Script/NesEmulator/VideoProvider.cs       |    3 -
 .../Assets/Script/Network/NetworkHelper.cs    |    1 -
 .../Assets/Script/UI/AlphaWraper.cs           |    2 -
 .../BgSettingsUI/GlobalFilterListMenuItem.cs  |    2 +-
 .../UI/CommandDispatcher/CommandDispatcher.cs |    4 -
 .../UI/CommandDispatcher/CommandExcuter.cs    |    2 -
 .../Assets/Script/UI/InGameUI/InGameUI.cs     |    2 +-
 .../UI/InGameUI/InGameUI_FilterSetting.cs     |    1 -
 .../Script/UI/InGameUI/InGameUI_Reset.cs      |    4 -
 .../Script/UI/InGameUI/InGameUI_SaveState.cs  |    3 -
 .../Script/UI/ItemPresent/GameObjectPool.cs   |    1 -
 .../ItemPresentEditor/ItemPresentEditor.cs    |    4 +-
 .../Assets/Script/UI/ItemPresent/ItemProxy.cs |    1 -
 .../Assets/Script/UI/OptionUI/OptionUI.cs     |    3 +-
 .../Assets/Script/UI/OverlayUI/OverlayUI.cs   |    2 -
 .../Assets/Script/UI/RoomUI/RoomItem.cs       |    1 -
 .../Assets/Script/UI/Selector.cs              |   37 +-
 .../Assets/Script/UI/UITool.cs                |    1 -
 .../Assets/Script/UI/VirtualSubMenuItem.cs    |    4 +-
 .../Assets/Script/Utility.cs                  |    7 +-
 81 files changed, 6544 insertions(+), 5445 deletions(-)
 create mode 100644 AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim
 create mode 100644 AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim.meta

diff --git a/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs b/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs
index 037b0216..87843fbe 100644
--- a/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs
@@ -1,5 +1,4 @@
 using AxibugEmuOnline.Client;
-using System;
 using UnityEditor;
 using UnityEngine;
 namespace AxibugEmuOnline.Editors
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/NetReplay.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/NetReplay.cs
index dbf5a0f4..d9f28f7c 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/NetReplay.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/NetReplay.cs
@@ -1,6 +1,4 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
+using System.Collections.Generic;
 
 namespace AxiReplay
 {
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayData.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayData.cs
index ab3dd58f..c958f2db 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayData.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayData.cs
@@ -4,7 +4,7 @@ using System.Text;
 
 namespace AxiReplay
 {
-    [StructLayout(LayoutKind.Explicit,Size = 44)]
+    [StructLayout(LayoutKind.Explicit, Size = 44)]
     public struct ReplayHandler
     {
         [FieldOffset(0)]
@@ -51,7 +51,7 @@ namespace AxiReplay
             FM32IP32,
             FM32IP64,
         }
-        public static void GetStringByteData(string str,out byte[] data,out int lenghtWithEnd,Encoding encoding)
+        public static void GetStringByteData(string str, out byte[] data, out int lenghtWithEnd, Encoding encoding)
         {
             data = encoding.GetBytes(str);
             lenghtWithEnd = data.Length + 1;
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayReader.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayReader.cs
index 28677e49..679d0b4c 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayReader.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayReader.cs
@@ -79,7 +79,7 @@ namespace AxiReplay
             }
         }
 
-        
+
         void UpdateNextFrame(int targetFrame)
         {
             //如果已经超过
@@ -128,14 +128,14 @@ namespace AxiReplay
         /// </summary>
         public bool NextFrame(out ReplayStep data)
         {
-            return TakeFrame(1,out data);
+            return TakeFrame(1, out data);
         }
 
         /// <summary>
         /// 往前推进指定帧数量的Input (返回是否变化)
         /// </summary>
         /// <param name="addFrame"></param>
-        public bool TakeFrame(int addFrame,out ReplayStep data)
+        public bool TakeFrame(int addFrame, out ReplayStep data)
         {
             bool Changed = false;
             mCurrFrame += addFrame;
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayWriter.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayWriter.cs
index a4a0f9ea..a65f40db 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayWriter.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiReplay/ReplayWriter.cs
@@ -57,7 +57,7 @@ namespace AxiReplay
         /// 往前推进帧的,指定帧下标
         /// </summary>
         /// <param name="frameInput"></param>
-        public void NextFramebyFrameIdx(int FrameID,UInt64 frameInput)
+        public void NextFramebyFrameIdx(int FrameID, UInt64 frameInput)
         {
             TakeFrame(FrameID - byFrameIdx, frameInput);
             byFrameIdx = FrameID;
@@ -80,7 +80,7 @@ namespace AxiReplay
         {
             if (addFrame < 0)
             {
-                
+
             }
             mCurrFrame += addFrame;
             if (mCurrInput == frameInput)
@@ -140,7 +140,7 @@ namespace AxiReplay
                 temp.Add($"CreateTime => {handler.CreateTime}");
                 temp.Add($"AllFrame => {handler.AllFrame}");
                 temp.Add($"SingleLenght => {handler.SingleLenght}");
-                dbgList.InsertRange(0,temp);
+                dbgList.InsertRange(0, temp);
                 File.WriteAllLines(dumppath, dbgList);
             }
         }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
index f6fe4b84..3c3817eb 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
@@ -2,20 +2,24 @@
 %TAG !u! tag:unity3d.com,2011:
 --- !u!21 &-7922399114787830828
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-MediumBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -27,6 +31,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -38,22 +43,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &-2858933974303803426
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-FastBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -65,6 +75,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -76,22 +87,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &2100000
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 8
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -103,6 +119,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -114,22 +131,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21011258686512032
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -141,6 +163,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -152,22 +175,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21026428964303540
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -179,6 +207,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -190,22 +219,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21027069994720160
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -217,6 +251,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -228,22 +263,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21039963853110620
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -255,6 +295,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -266,22 +307,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21051553669005610
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -293,6 +339,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -304,22 +351,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21052465468044756
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -331,6 +383,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -342,22 +395,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21066333305903936
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -369,6 +427,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -380,22 +439,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21075981732791042
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -407,6 +471,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -418,22 +483,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21088090490190524
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -441,6 +511,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -452,22 +523,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21101263305935548
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -475,6 +551,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -486,22 +563,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21104109730402914
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -509,6 +591,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -520,22 +603,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21105261449943414
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -543,6 +631,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -554,22 +643,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21109508837310648
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -577,6 +671,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -588,22 +683,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21111652731778514
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -611,6 +711,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -622,22 +723,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21116803245207008
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -645,6 +751,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -656,22 +763,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21122981926976530
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -683,6 +795,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -694,22 +807,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21123846122543778
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -717,6 +835,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -728,22 +847,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21131018956888464
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -755,6 +879,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -766,22 +891,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21137937571243814
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -789,6 +919,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -800,22 +931,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21145977231806290
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -823,6 +959,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -834,22 +971,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21149323267498812
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -857,6 +999,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -868,22 +1011,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21166942708938158
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -891,6 +1039,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -902,22 +1051,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21175420890653266
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -925,6 +1079,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -936,22 +1091,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21185002339311568
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -963,6 +1123,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -974,22 +1135,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21186453925202086
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -997,6 +1163,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1008,22 +1175,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21192233312017768
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1035,6 +1207,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1046,22 +1219,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21197897579119900
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1069,6 +1247,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1080,22 +1259,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21199877168527062
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1103,6 +1287,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1114,22 +1299,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21212477583257292
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1137,6 +1327,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1148,22 +1339,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21232036731743694
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1171,6 +1367,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1182,22 +1379,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21240296032697190
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1205,6 +1407,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1216,22 +1419,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21255923207793296
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1239,6 +1447,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1250,22 +1459,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21258387908413332
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1273,6 +1487,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1284,22 +1499,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21271924954905420
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1311,6 +1531,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1322,22 +1543,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21293088704516238
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1345,6 +1571,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1356,22 +1583,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21302104002556128
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1379,6 +1611,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1390,22 +1623,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21303963782861626
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1413,6 +1651,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1424,22 +1663,30 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21305736874167728
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: DETAILBLUR EX FILL
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords:
+  - DETAILBLUR
+  - EX
+  - FILL
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1451,6 +1698,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1462,22 +1710,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21306681885004364
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1485,6 +1738,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1496,22 +1750,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21320668284859588
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1519,6 +1778,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1530,22 +1790,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21330216548013380
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1553,6 +1818,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1564,22 +1830,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21336195750137204
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1591,6 +1862,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1602,22 +1874,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21348001306660082
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1625,6 +1902,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1636,22 +1914,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21348190401746968
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1659,6 +1942,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1670,22 +1954,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21359290647485348
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1693,6 +1982,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1704,22 +1994,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21361395707633912
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1727,6 +2022,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1738,22 +2034,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21364950658099354
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1761,6 +2062,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1772,22 +2074,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21378012982496048
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1795,6 +2102,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1806,22 +2114,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21378149258337820
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1829,6 +2142,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1840,22 +2154,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21380371216467826
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1863,6 +2182,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1874,22 +2194,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21380512493198096
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1897,6 +2222,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1908,22 +2234,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21405390060167114
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1935,6 +2266,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1946,22 +2278,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21409008212681998
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1969,6 +2306,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1980,22 +2318,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21415477525834930
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2003,6 +2346,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2014,22 +2358,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21430195719184000
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2037,6 +2386,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2048,22 +2398,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21437925998559310
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2071,6 +2426,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2082,22 +2438,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21440092419426906
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2105,6 +2466,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2116,22 +2478,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21444967751105098
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2139,6 +2506,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2150,22 +2518,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21448049851552048
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-MediumBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2177,6 +2550,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2188,22 +2562,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21450770079124654
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2215,6 +2594,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2226,22 +2606,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21453664544427490
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2249,6 +2634,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2260,22 +2646,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21467518254157304
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2287,6 +2678,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2298,22 +2690,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21471923136759810
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2321,6 +2718,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2332,22 +2730,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21481346700311234
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2359,6 +2762,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2370,22 +2774,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21510007115466990
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2397,6 +2806,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2408,22 +2818,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21512057394810148
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2435,6 +2850,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2446,22 +2862,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21512499159998750
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2469,6 +2890,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2480,22 +2902,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21532343593189452
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2503,6 +2930,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2514,22 +2942,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21533667629458412
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2541,6 +2974,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2552,22 +2986,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21541535114347366
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2579,6 +3018,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2590,22 +3030,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21542047413524304
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2613,6 +3058,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2624,22 +3070,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21544716102375364
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2647,6 +3098,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2658,22 +3110,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21545629178218474
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2681,6 +3138,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2692,22 +3150,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21560746059913494
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2715,6 +3178,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2726,22 +3190,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21563344409783084
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2753,6 +3222,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2764,22 +3234,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21569565423378676
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2787,6 +3262,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2798,22 +3274,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21576230583202306
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2821,6 +3302,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2832,22 +3314,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21579131057152204
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2855,6 +3342,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2866,22 +3354,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21588405465634874
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2889,6 +3382,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2900,22 +3394,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21597123945508062
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2923,6 +3422,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2934,22 +3434,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21600722614953990
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2957,6 +3462,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2968,22 +3474,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21605587663562914
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2991,6 +3502,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3002,22 +3514,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21610745492908456
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3025,6 +3542,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3036,22 +3554,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21613427633448394
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3059,6 +3582,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3070,22 +3594,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21626828109100462
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3093,6 +3622,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3104,22 +3634,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21635119553697766
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-FastBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3131,6 +3666,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3142,22 +3678,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21639588145429544
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3165,6 +3706,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3176,22 +3718,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21653387824655390
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3203,6 +3750,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3214,22 +3762,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21661642508956528
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3237,6 +3790,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3248,22 +3802,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21661871162831128
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3271,6 +3830,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3282,22 +3842,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21663013170243334
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3305,6 +3870,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3316,22 +3882,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21666358306453470
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3339,6 +3910,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3350,22 +3922,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21668316807213568
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3373,6 +3950,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3384,22 +3962,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21672675497823216
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3407,6 +3990,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3418,22 +4002,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21695855126676214
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3441,6 +4030,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3452,22 +4042,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21696752101198370
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3475,6 +4070,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3486,22 +4082,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21701854708980174
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3509,6 +4110,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3520,22 +4122,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21705644928765800
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3543,6 +4150,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3554,22 +4162,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21706452675254552
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3581,6 +4194,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3592,22 +4206,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21709795224992298
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3619,6 +4238,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3630,22 +4250,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21724091816847400
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3653,6 +4278,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3664,22 +4290,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21732181610132420
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3691,6 +4322,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3702,22 +4334,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21737775158534176
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3725,6 +4362,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3736,22 +4374,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21738761090841570
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3759,6 +4402,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3770,22 +4414,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21745487242921564
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3793,6 +4442,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3804,22 +4454,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21758506112687914
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3831,6 +4486,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3842,22 +4498,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21770831153649604
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3865,6 +4526,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3876,22 +4538,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21774372728878936
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3899,6 +4566,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3910,22 +4578,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21778934727406118
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3937,6 +4610,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3948,22 +4622,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21783431032102164
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3971,6 +4650,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3982,22 +4662,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21786341683153736
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4009,6 +4694,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4020,22 +4706,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21788043290438114
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4043,6 +4734,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4054,22 +4746,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21793963511044070
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4081,6 +4778,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4092,22 +4790,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21795397433206836
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4115,6 +4818,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4126,22 +4830,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21800671795679014
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4149,6 +4858,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4160,22 +4870,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21806928481719972
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4183,6 +4898,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4194,22 +4910,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21812566947609066
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4221,6 +4942,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4232,22 +4954,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21846284721920408
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4255,6 +4982,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4266,22 +4994,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21849905517297320
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4289,6 +5022,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4300,22 +5034,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21856943469927286
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4323,6 +5062,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4334,22 +5074,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21857184430936670
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4361,6 +5106,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4372,22 +5118,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21866767477205256
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4395,6 +5146,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4406,22 +5158,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21875683972062094
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4429,6 +5186,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4440,22 +5198,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21876982461912130
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4463,6 +5226,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4474,22 +5238,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21901242579300618
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4497,6 +5266,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4508,22 +5278,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21905403339881664
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4535,6 +5310,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4546,22 +5322,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21913035326537372
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4569,6 +5350,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4580,22 +5362,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21919113364331978
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4603,6 +5390,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4614,22 +5402,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21930548911372394
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4637,6 +5430,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4648,22 +5442,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21932619879041906
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4671,6 +5470,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4682,22 +5482,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21936983168141514
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4705,6 +5510,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4716,22 +5522,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21960190213409036
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4739,6 +5550,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4750,22 +5562,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &21970657036975932
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4777,6 +5594,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4788,22 +5606,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &3053942024298246613
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4815,6 +5638,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4826,22 +5650,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &6699891064212050928
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4853,6 +5682,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4864,22 +5694,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &8212491840734312675
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4891,6 +5726,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4902,22 +5738,27 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
 --- !u!21 &8343957003602954640
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_ShaderKeywords: 
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
+  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4929,6 +5770,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4940,3 +5782,4 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
+  m_AllowLocking: 1
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs
index 79b1658c..cdb7086b 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs
@@ -14,23 +14,23 @@ using System.Linq;
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Base class for effects that modify the generated Mesh.
-	/// It works well not only for standard Graphic components (Image, RawImage, Text, etc.) but also for TextMeshPro and TextMeshProUGUI.
-	/// </summary>
-	[ExecuteInEditMode]
-	public abstract class BaseMeshEffect : UIBehaviour, IMeshModifier
-	{
-		//################################
-		// Constant or Static Members.
-		//################################
+    /// <summary>
+    /// Base class for effects that modify the generated Mesh.
+    /// It works well not only for standard Graphic components (Image, RawImage, Text, etc.) but also for TextMeshPro and TextMeshProUGUI.
+    /// </summary>
+    [ExecuteInEditMode]
+    public abstract class BaseMeshEffect : UIBehaviour, IMeshModifier
+    {
+        //################################
+        // Constant or Static Members.
+        //################################
 #if TMP_PRESENT
 		static readonly List<Vector2> s_Uv0 = new List<Vector2> (4096);
 		static readonly List<Vector2> s_Uv1 = new List<Vector2> (4096);
-		#if UNITY_2017_1_OR_NEWER
+#if UNITY_2017_1_OR_NEWER
 		static readonly List<Vector2> s_Uv2 = new List<Vector2> (4096);
 		static readonly List<Vector2> s_Uv3 = new List<Vector2> (4096);
-		#endif
+#endif
 		static readonly List<Vector3> s_Vertices = new List<Vector3> (4096);
 		static readonly List<int> s_Indices = new List<int> (4096);
 		static readonly List<Vector3> s_Normals = new List<Vector3> (4096);
@@ -42,21 +42,21 @@ namespace Coffee.UIExtensions
 		static readonly List<UIVertex> s_UIVertices = new List<UIVertex> (4096);
 		static readonly List<BaseMeshEffect> s_TmpEffects = new List<BaseMeshEffect>(4);
 #endif
-		static readonly Material [] s_EmptyMaterials = new Material [0];
+        static readonly Material[] s_EmptyMaterials = new Material[0];
 
 
-		//################################
-		// Public Members.
-		//################################
-		/// <summary>
-		/// The Graphic attached to this GameObject.
-		/// </summary>
-		public Graphic graphic { get { Initialize (); return _graphic; } }
+        //################################
+        // Public Members.
+        //################################
+        /// <summary>
+        /// The Graphic attached to this GameObject.
+        /// </summary>
+        public Graphic graphic { get { Initialize(); return _graphic; } }
 
-		/// <summary>
-		/// The CanvasRenderer attached to this GameObject.
-		/// </summary>
-		public CanvasRenderer canvasRenderer { get { Initialize (); return _canvasRenderer; } }
+        /// <summary>
+        /// The CanvasRenderer attached to this GameObject.
+        /// </summary>
+        public CanvasRenderer canvasRenderer { get { Initialize(); return _canvasRenderer; } }
 
 #if TMP_PRESENT
 		/// <summary>
@@ -65,40 +65,40 @@ namespace Coffee.UIExtensions
 		public TMP_Text textMeshPro { get { Initialize (); return _textMeshPro; } }
 #endif
 
-		/// <summary>
-		/// The RectTransform attached to this GameObject.
-		/// </summary>
-		public RectTransform rectTransform { get { Initialize (); return _rectTransform; } }
+        /// <summary>
+        /// The RectTransform attached to this GameObject.
+        /// </summary>
+        public RectTransform rectTransform { get { Initialize(); return _rectTransform; } }
 
 #if UNITY_5_6_OR_NEWER
-		/// <summary>
-		/// Additional canvas shader channels to use this component.
-		/// </summary>
-		public virtual AdditionalCanvasShaderChannels requiredChannels { get { return AdditionalCanvasShaderChannels.None; } }
+        /// <summary>
+        /// Additional canvas shader channels to use this component.
+        /// </summary>
+        public virtual AdditionalCanvasShaderChannels requiredChannels { get { return AdditionalCanvasShaderChannels.None; } }
 #endif
 
-		/// <summary>
-		/// Is TextMeshPro or TextMeshProUGUI attached to this GameObject?
-		/// </summary>
-		public bool isTMPro
-		{
-			get
-			{
+        /// <summary>
+        /// Is TextMeshPro or TextMeshProUGUI attached to this GameObject?
+        /// </summary>
+        public bool isTMPro
+        {
+            get
+            {
 #if TMP_PRESENT
 				return textMeshPro != null;
 #else
-				return false;
+                return false;
 #endif
-			}
-		}
+            }
+        }
 
-		/// <summary>
-		/// The material for rendering.
-		/// </summary>
-		public virtual Material material
-		{
-			get
-			{
+        /// <summary>
+        /// The material for rendering.
+        /// </summary>
+        public virtual Material material
+        {
+            get
+            {
 
 #if TMP_PRESENT
 				if (textMeshPro)
@@ -107,17 +107,17 @@ namespace Coffee.UIExtensions
 				}
 				else
 #endif
-				if (graphic)
-				{
-					return graphic.material;
-				}
-				else
-				{
-					return null;
-				}
-			}
-			set
-			{
+                if (graphic)
+                {
+                    return graphic.material;
+                }
+                else
+                {
+                    return null;
+                }
+            }
+            set
+            {
 #if TMP_PRESENT
 				if (textMeshPro)
 				{
@@ -125,17 +125,17 @@ namespace Coffee.UIExtensions
 				}
 				else
 #endif
-				if (graphic)
-				{
-					graphic.material = value;
-				}
-			}
-		}
+                if (graphic)
+                {
+                    graphic.material = value;
+                }
+            }
+        }
 
-		public virtual Material[] materials
-		{
-			get
-			{
+        public virtual Material[] materials
+        {
+            get
+            {
 
 #if TMP_PRESENT
 				if (textMeshPro)
@@ -144,39 +144,39 @@ namespace Coffee.UIExtensions
 				}
 				else
 #endif
-				if (graphic)
-				{
-					_materials [0] = graphic.material;
-					return _materials;
-				}
-				else
-				{
-					return s_EmptyMaterials;
-				}
-			}
-		}
+                if (graphic)
+                {
+                    _materials[0] = graphic.material;
+                    return _materials;
+                }
+                else
+                {
+                    return s_EmptyMaterials;
+                }
+            }
+        }
 
-		/// <summary>
-		/// Call used to modify mesh. (legacy)
-		/// </summary>
-		/// <param name="mesh">Mesh.</param>
-		public virtual void ModifyMesh (Mesh mesh)
-		{
-		}
+        /// <summary>
+        /// Call used to modify mesh. (legacy)
+        /// </summary>
+        /// <param name="mesh">Mesh.</param>
+        public virtual void ModifyMesh(Mesh mesh)
+        {
+        }
 
-		/// <summary>
-		/// Call used to modify mesh.
-		/// </summary>
-		/// <param name="vh">VertexHelper.</param>
-		public virtual void ModifyMesh (VertexHelper vh)
-		{
-		}
+        /// <summary>
+        /// Call used to modify mesh.
+        /// </summary>
+        /// <param name="vh">VertexHelper.</param>
+        public virtual void ModifyMesh(VertexHelper vh)
+        {
+        }
 
-		/// <summary>
-		/// Mark the vertices as dirty.
-		/// </summary>
-		public virtual void SetVerticesDirty ()
-		{
+        /// <summary>
+        /// Mark the vertices as dirty.
+        /// </summary>
+        public virtual void SetVerticesDirty()
+        {
 #if TMP_PRESENT
 			if (textMeshPro)
 			{
@@ -211,14 +211,14 @@ namespace Coffee.UIExtensions
 			}
 			else
 #endif
-			if (graphic)
-			{
-				graphic.SetVerticesDirty ();
-			}
-		}
+            if (graphic)
+            {
+                graphic.SetVerticesDirty();
+            }
+        }
 
-		public void ShowTMProWarning (Shader shader, Shader mobileShader, Shader spriteShader, System.Action<Material> onCreatedMaterial)
-		{
+        public void ShowTMProWarning(Shader shader, Shader mobileShader, Shader spriteShader, System.Action<Material> onCreatedMaterial)
+        {
 #if UNITY_EDITOR && TMP_PRESENT
 			if(!textMeshPro || !textMeshPro.fontSharedMaterial)
 			{
@@ -312,39 +312,39 @@ namespace Coffee.UIExtensions
 			EditorUtility.SetDirty (spriteAsset);
 			return spriteAsset;
 #endif
-		}
+        }
 
 
-		//################################
-		// Protected Members.
-		//################################
-		/// <summary>
-		/// Should the effect modify the mesh directly for TMPro?
-		/// </summary>
-		protected virtual bool isLegacyMeshModifier { get { return false; } }
+        //################################
+        // Protected Members.
+        //################################
+        /// <summary>
+        /// Should the effect modify the mesh directly for TMPro?
+        /// </summary>
+        protected virtual bool isLegacyMeshModifier { get { return false; } }
 
 
-		protected virtual void Initialize ()
-		{
-			if (!_initialized)
-			{
-				_initialized = true;
-				_graphic = _graphic ?? GetComponent<Graphic> ();
-				_canvasRenderer = _canvasRenderer ?? GetComponent<CanvasRenderer> ();
-				_rectTransform = _rectTransform ?? GetComponent<RectTransform> ();
+        protected virtual void Initialize()
+        {
+            if (!_initialized)
+            {
+                _initialized = true;
+                _graphic = _graphic ?? GetComponent<Graphic>();
+                _canvasRenderer = _canvasRenderer ?? GetComponent<CanvasRenderer>();
+                _rectTransform = _rectTransform ?? GetComponent<RectTransform>();
 #if TMP_PRESENT
 				_textMeshPro = _textMeshPro ?? GetComponent<TMP_Text> ();
 #endif
-			}
-		}
+            }
+        }
 
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable ()
-		{
-			_initialized = false;
-			SetVerticesDirty ();
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            _initialized = false;
+            SetVerticesDirty();
 #if TMP_PRESENT
 			if (textMeshPro)
 			{
@@ -360,27 +360,27 @@ namespace Coffee.UIExtensions
 #endif
 
 #if UNITY_5_6_OR_NEWER
-			if (graphic)
-			{
-				AdditionalCanvasShaderChannels channels = requiredChannels;
-				var canvas = graphic.canvas;
-				if (canvas && (canvas.additionalShaderChannels & channels) != channels)
-				{
-					Debug.LogWarningFormat (this, "Enable {1} of Canvas.additionalShaderChannels to use {0}.", GetType ().Name, channels);
-				}
-			}
+            if (graphic)
+            {
+                AdditionalCanvasShaderChannels channels = requiredChannels;
+                var canvas = graphic.canvas;
+                if (canvas && (canvas.additionalShaderChannels & channels) != channels)
+                {
+                    Debug.LogWarningFormat(this, "Enable {1} of Canvas.additionalShaderChannels to use {0}.", GetType().Name, channels);
+                }
+            }
 #endif
-		}
+        }
 
-		/// <summary>
-		/// This function is called when the behaviour becomes disabled () or inactive.
-		/// </summary>
-		protected override void OnDisable ()
-		{
+        /// <summary>
+        /// This function is called when the behaviour becomes disabled () or inactive.
+        /// </summary>
+        protected override void OnDisable()
+        {
 #if TMP_PRESENT
 			TMPro_EventManager.TEXT_CHANGED_EVENT.Remove (OnTextChanged);
 #endif
-			SetVerticesDirty ();
+            SetVerticesDirty();
 
 #if UNITY_EDITOR && TMP_PRESENT
 			if (graphic && textMeshPro)
@@ -388,14 +388,14 @@ namespace Coffee.UIExtensions
 				GraphicRebuildTracker.UnTrackGraphic (graphic);
 			}
 #endif
-		}
+        }
 
 
-		/// <summary>
-		/// LateUpdate is called every frame, if the Behaviour is enabled.
-		/// </summary>
-		protected virtual void LateUpdate ()
-		{
+        /// <summary>
+        /// LateUpdate is called every frame, if the Behaviour is enabled.
+        /// </summary>
+        protected virtual void LateUpdate()
+        {
 #if TMP_PRESENT
 			if (textMeshPro)
 			{
@@ -406,35 +406,35 @@ namespace Coffee.UIExtensions
 				_isTextMeshProActive = textMeshPro.isActiveAndEnabled;
 			}
 #endif
-		}
+        }
 
-		/// <summary>
-		/// Callback for when properties have been changed by animation.
-		/// </summary>
-		protected override void OnDidApplyAnimationProperties ()
-		{
-			SetVerticesDirty ();
-		}
+        /// <summary>
+        /// Callback for when properties have been changed by animation.
+        /// </summary>
+        protected override void OnDidApplyAnimationProperties()
+        {
+            SetVerticesDirty();
+        }
 
 #if UNITY_EDITOR
-		/// <summary>
-		/// This function is called when the script is loaded or a value is changed in the inspector (Called in the editor only).
-		/// </summary>
-		protected override void OnValidate ()
-		{
-			SetVerticesDirty ();
-		}
+        /// <summary>
+        /// This function is called when the script is loaded or a value is changed in the inspector (Called in the editor only).
+        /// </summary>
+        protected override void OnValidate()
+        {
+            SetVerticesDirty();
+        }
 #endif
 
 
-		//################################
-		// Private Members.
-		//################################
-		bool _initialized;
-		CanvasRenderer _canvasRenderer;
-		RectTransform _rectTransform;
-		Graphic _graphic;
-		Material [] _materials = new Material [1];
+        //################################
+        // Private Members.
+        //################################
+        bool _initialized;
+        CanvasRenderer _canvasRenderer;
+        RectTransform _rectTransform;
+        Graphic _graphic;
+        Material[] _materials = new Material[1];
 
 #if TMP_PRESENT
 		bool _isTextMeshProActive;
@@ -532,12 +532,12 @@ namespace Coffee.UIExtensions
 			mesh.GetTangents (s_Tangents);
 			mesh.GetIndices (s_Indices, 0);
 
-		#if UNITY_2017_1_OR_NEWER
+#if UNITY_2017_1_OR_NEWER
 			mesh.GetUVs (2, s_Uv2);
 			mesh.GetUVs (3, s_Uv3);
 			bool useUv2 = 0 < s_Uv2.Count;
 			bool useUv3 = 0 < s_Uv3.Count;
-		#endif
+#endif
 			
 			s_UIVertices.Clear();
 			UIVertex v = default(UIVertex);
@@ -547,12 +547,12 @@ namespace Coffee.UIExtensions
 				v.color = s_Colors[i];
 				v.uv0 = s_Uv0[i];
 				v.uv1 = s_Uv1[i];
-		#if UNITY_2017_1_OR_NEWER
+#if UNITY_2017_1_OR_NEWER
 				if (useUv2 && i < s_Uv2.Count)
 					v.uv2 = s_Uv2[i];
 				if (useUv3 && i < s_Uv3.Count)
 					v.uv3 = s_Uv3[i];
-		#endif
+#endif
 				v.normal = s_Normals[i];
 				v.tangent = s_Tangents[i];
 
@@ -561,5 +561,5 @@ namespace Coffee.UIExtensions
 			s_VertexHelper.AddUIVertexStream(s_UIVertices, s_Indices);
 		}
 #endif
-	}
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs
index fcc3cab6..f2904583 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs
@@ -1,13 +1,13 @@
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Blur effect mode.
-	/// </summary>
-	public enum BlurMode
-	{
-		None = 0,
-		FastBlur = 1,
-		MediumBlur = 2,
-		DetailBlur = 3,
-	}
+    /// <summary>
+    /// Blur effect mode.
+    /// </summary>
+    public enum BlurMode
+    {
+        None = 0,
+        FastBlur = 1,
+        MediumBlur = 2,
+        DetailBlur = 3,
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs
index 8a7aae4c..5506aa8b 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs
@@ -1,13 +1,13 @@
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Color effect mode.
-	/// </summary>
-	public enum ColorMode
-	{
-		Multiply = 0,
-		Fill = 1,
-		Add = 2,
-		Subtract = 3,
-	}
+    /// <summary>
+    /// Color effect mode.
+    /// </summary>
+    public enum ColorMode
+    {
+        Multiply = 0,
+        Fill = 1,
+        Add = 2,
+        Subtract = 3,
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs
index d59c9deb..bdae921c 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs
@@ -3,110 +3,110 @@ using UnityEngine.UI;
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Area for effect.
-	/// </summary>
-	public enum EffectArea
-	{
-		RectTransform,
-		Fit,
-		Character,
-	}
+    /// <summary>
+    /// Area for effect.
+    /// </summary>
+    public enum EffectArea
+    {
+        RectTransform,
+        Fit,
+        Character,
+    }
 
-	public static class EffectAreaExtensions
-	{
-		static readonly Rect rectForCharacter = new Rect(0, 0, 1, 1);
-		static readonly Vector2 [] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero };
+    public static class EffectAreaExtensions
+    {
+        static readonly Rect rectForCharacter = new Rect(0, 0, 1, 1);
+        static readonly Vector2[] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero };
 
-		/// <summary>
-		/// Gets effect for area.
-		/// </summary>
-		public static Rect GetEffectArea (this EffectArea area, VertexHelper vh, Rect rectangle, float aspectRatio = -1)
-		{
-			Rect rect = default(Rect);
-			switch (area)
-			{
-				case EffectArea.RectTransform:
-					rect = rectangle;
-					break;
-				case EffectArea.Character:
-					rect = rectForCharacter;
-					break;
-				case EffectArea.Fit:
-					// Fit to contents.
-					UIVertex vertex = default (UIVertex);
-					float xMin = float.MaxValue;
-					float yMin = float.MaxValue;
-					float xMax = float.MinValue;
-					float yMax = float.MinValue;
-					for (int i = 0; i < vh.currentVertCount; i++)
-					{
-						vh.PopulateUIVertex(ref vertex, i);
-						float x = vertex.position.x;
-						float y = vertex.position.y;
-						xMin = Mathf.Min(xMin, x);
-						yMin = Mathf.Min(yMin, y);
-						xMax = Mathf.Max(xMax, x);
-						yMax = Mathf.Max(yMax, y);
-					}
-					rect.Set (xMin, yMin, xMax - xMin, yMax - yMin);
-					break;
-				default:
-					rect = rectangle;
-					break;
-			}
+        /// <summary>
+        /// Gets effect for area.
+        /// </summary>
+        public static Rect GetEffectArea(this EffectArea area, VertexHelper vh, Rect rectangle, float aspectRatio = -1)
+        {
+            Rect rect = default(Rect);
+            switch (area)
+            {
+                case EffectArea.RectTransform:
+                    rect = rectangle;
+                    break;
+                case EffectArea.Character:
+                    rect = rectForCharacter;
+                    break;
+                case EffectArea.Fit:
+                    // Fit to contents.
+                    UIVertex vertex = default(UIVertex);
+                    float xMin = float.MaxValue;
+                    float yMin = float.MaxValue;
+                    float xMax = float.MinValue;
+                    float yMax = float.MinValue;
+                    for (int i = 0; i < vh.currentVertCount; i++)
+                    {
+                        vh.PopulateUIVertex(ref vertex, i);
+                        float x = vertex.position.x;
+                        float y = vertex.position.y;
+                        xMin = Mathf.Min(xMin, x);
+                        yMin = Mathf.Min(yMin, y);
+                        xMax = Mathf.Max(xMax, x);
+                        yMax = Mathf.Max(yMax, y);
+                    }
+                    rect.Set(xMin, yMin, xMax - xMin, yMax - yMin);
+                    break;
+                default:
+                    rect = rectangle;
+                    break;
+            }
 
 
-			if(0 < aspectRatio)
-			{
-				if (rect.width < rect.height)
-				{
-					rect.width =  rect.height * aspectRatio;
-				}
-				else
-				{
-					rect.height = rect.width / aspectRatio;
-				}
-			}
-			return rect;
-		}
+            if (0 < aspectRatio)
+            {
+                if (rect.width < rect.height)
+                {
+                    rect.width = rect.height * aspectRatio;
+                }
+                else
+                {
+                    rect.height = rect.width / aspectRatio;
+                }
+            }
+            return rect;
+        }
 
-		/// <summary>
-		/// Gets position factor for area.
-		/// </summary>
-		public static void GetPositionFactor (this EffectArea area, int index, Rect rect, Vector2 position, bool isText, bool isTMPro, out float x, out float y)
-		{
-			if (isText && area == EffectArea.Character)
-			{
-				index = isTMPro ? (index + 3) % 4 : index % 4;
-				x = splitedCharacterPosition [index].x;
-				y = splitedCharacterPosition [index].y;
-			}
-			else if (area == EffectArea.Fit)
-			{
-				x = Mathf.Clamp01 ((position.x - rect.xMin) / rect.width);
-				y = Mathf.Clamp01 ((position.y - rect.yMin) / rect.height);
-			}
-			else
-			{
-				x = Mathf.Clamp01 (position.x / rect.width + 0.5f);
-				y = Mathf.Clamp01 (position.y / rect.height + 0.5f);
-			}
-		}
+        /// <summary>
+        /// Gets position factor for area.
+        /// </summary>
+        public static void GetPositionFactor(this EffectArea area, int index, Rect rect, Vector2 position, bool isText, bool isTMPro, out float x, out float y)
+        {
+            if (isText && area == EffectArea.Character)
+            {
+                index = isTMPro ? (index + 3) % 4 : index % 4;
+                x = splitedCharacterPosition[index].x;
+                y = splitedCharacterPosition[index].y;
+            }
+            else if (area == EffectArea.Fit)
+            {
+                x = Mathf.Clamp01((position.x - rect.xMin) / rect.width);
+                y = Mathf.Clamp01((position.y - rect.yMin) / rect.height);
+            }
+            else
+            {
+                x = Mathf.Clamp01(position.x / rect.width + 0.5f);
+                y = Mathf.Clamp01(position.y / rect.height + 0.5f);
+            }
+        }
 
-		/// <summary>
-		/// Normalize vertex position by local matrix.
-		/// </summary>
-		public static void GetNormalizedFactor (this EffectArea area, int index, Matrix2x3 matrix, Vector2 position, bool isText, out Vector2 nomalizedPos)
-		{
-			if (isText && area == EffectArea.Character)
-			{
-				nomalizedPos = matrix * splitedCharacterPosition [(index + 3) % 4];
-			}
-			else
-			{
-				nomalizedPos = matrix * position;
-			}
-		}
-	}
+        /// <summary>
+        /// Normalize vertex position by local matrix.
+        /// </summary>
+        public static void GetNormalizedFactor(this EffectArea area, int index, Matrix2x3 matrix, Vector2 position, bool isText, out Vector2 nomalizedPos)
+        {
+            if (isText && area == EffectArea.Character)
+            {
+                nomalizedPos = matrix * splitedCharacterPosition[(index + 3) % 4];
+            }
+            else
+            {
+                nomalizedPos = matrix * position;
+            }
+        }
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs
index f2b11de4..36a029a8 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs
@@ -1,156 +1,156 @@
-using UnityEngine;
-using System;
+using System;
 using System.Collections.Generic;
+using UnityEngine;
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Effect player.
-	/// </summary>
-	[Serializable]
-	public class EffectPlayer
-	{
-		//################################
-		// Public Members.
-		//################################
-		/// <summary>
-		/// Gets or sets a value indicating whether is playing.
-		/// </summary>
-		[Header("Effect Player")]
-		[Tooltip("Playing.")]
-		public bool play = false;
+    /// <summary>
+    /// Effect player.
+    /// </summary>
+    [Serializable]
+    public class EffectPlayer
+    {
+        //################################
+        // Public Members.
+        //################################
+        /// <summary>
+        /// Gets or sets a value indicating whether is playing.
+        /// </summary>
+        [Header("Effect Player")]
+        [Tooltip("Playing.")]
+        public bool play = false;
 
-		/// <summary>
-		/// Gets or sets the delay before looping.
-		/// </summary>
-		[Tooltip("Initial play delay.")]
-		[Range(0f, 10f)]
-		public float initialPlayDelay = 0;
+        /// <summary>
+        /// Gets or sets the delay before looping.
+        /// </summary>
+        [Tooltip("Initial play delay.")]
+        [Range(0f, 10f)]
+        public float initialPlayDelay = 0;
 
-		/// <summary>
-		/// Gets or sets the duration.
-		/// </summary>
-		[Tooltip("Duration.")]
-		[Range(0.01f,10f)]
-		public float duration = 1;
+        /// <summary>
+        /// Gets or sets the duration.
+        /// </summary>
+        [Tooltip("Duration.")]
+        [Range(0.01f, 10f)]
+        public float duration = 1;
 
-		/// <summary>
-		/// Gets or sets a value indicating whether can loop.
-		/// </summary>
-		[Tooltip("Loop.")]
-		public bool loop = false;
+        /// <summary>
+        /// Gets or sets a value indicating whether can loop.
+        /// </summary>
+        [Tooltip("Loop.")]
+        public bool loop = false;
 
-		/// <summary>
-		/// Gets or sets the delay before looping.
-		/// </summary>
-		[Tooltip("Delay before looping.")]
-		[Range(0f,10f)]
-		public float loopDelay = 0;
+        /// <summary>
+        /// Gets or sets the delay before looping.
+        /// </summary>
+        [Tooltip("Delay before looping.")]
+        [Range(0f, 10f)]
+        public float loopDelay = 0;
 
-		/// <summary>
-		/// Gets or sets the update mode.
-		/// </summary>
-		[Tooltip("Update mode")]
-		public AnimatorUpdateMode updateMode = AnimatorUpdateMode.Normal;
+        /// <summary>
+        /// Gets or sets the update mode.
+        /// </summary>
+        [Tooltip("Update mode")]
+        public AnimatorUpdateMode updateMode = AnimatorUpdateMode.Normal;
 
-		static List<Action> s_UpdateActions;
+        static List<Action> s_UpdateActions;
 
-		/// <summary>
-		/// Register player.
-		/// </summary>
-		public void OnEnable(Action<float> callback = null)
-		{
+        /// <summary>
+        /// Register player.
+        /// </summary>
+        public void OnEnable(Action<float> callback = null)
+        {
 
-			if (s_UpdateActions == null)
-			{
-				s_UpdateActions = new List<Action>();
-				Canvas.willRenderCanvases += () =>
-				{
-					var count = s_UpdateActions.Count;
-					for (int i = 0; i < count; i++)
-					{
-						s_UpdateActions[i].Invoke();
-					}
-				};
-			}
-			s_UpdateActions.Add(OnWillRenderCanvases);
+            if (s_UpdateActions == null)
+            {
+                s_UpdateActions = new List<Action>();
+                Canvas.willRenderCanvases += () =>
+                {
+                    var count = s_UpdateActions.Count;
+                    for (int i = 0; i < count; i++)
+                    {
+                        s_UpdateActions[i].Invoke();
+                    }
+                };
+            }
+            s_UpdateActions.Add(OnWillRenderCanvases);
 
-			if (play)
-			{
-				_time = -initialPlayDelay;
-			}
-			else
-			{
-				_time = 0;
-			}
-			_callback = callback;
-		}
+            if (play)
+            {
+                _time = -initialPlayDelay;
+            }
+            else
+            {
+                _time = 0;
+            }
+            _callback = callback;
+        }
 
-		/// <summary>
-		/// Unregister player.
-		/// </summary>
-		public void OnDisable()
-		{
-			_callback = null;
-			s_UpdateActions.Remove(OnWillRenderCanvases);
-		}
+        /// <summary>
+        /// Unregister player.
+        /// </summary>
+        public void OnDisable()
+        {
+            _callback = null;
+            s_UpdateActions.Remove(OnWillRenderCanvases);
+        }
 
-		/// <summary>
-		/// Start playing.
-		/// </summary>
-		public void Play(bool reset, Action<float> callback = null)
-		{
-			if (reset)
-			{
-				_time = 0;
-			}
-			play = true;
-			if (callback != null)
-			{
-				_callback = callback;
-			}
-		}
+        /// <summary>
+        /// Start playing.
+        /// </summary>
+        public void Play(bool reset, Action<float> callback = null)
+        {
+            if (reset)
+            {
+                _time = 0;
+            }
+            play = true;
+            if (callback != null)
+            {
+                _callback = callback;
+            }
+        }
 
-		/// <summary>
-		/// Stop playing.
-		/// </summary>
-		public void Stop(bool reset)
-		{
-			if (reset)
-			{
-				_time = 0;
-				if (_callback != null)
-				{
-					_callback(_time);
-				}
-			}
-			play = false;
-		}
+        /// <summary>
+        /// Stop playing.
+        /// </summary>
+        public void Stop(bool reset)
+        {
+            if (reset)
+            {
+                _time = 0;
+                if (_callback != null)
+                {
+                    _callback(_time);
+                }
+            }
+            play = false;
+        }
 
-		//################################
-		// Private Members.
-		//################################
-		float _time = 0;
-		Action<float> _callback;
+        //################################
+        // Private Members.
+        //################################
+        float _time = 0;
+        Action<float> _callback;
 
-		void OnWillRenderCanvases()
-		{
-			if (!play || !Application.isPlaying || _callback == null)
-			{
-				return;
-			}
+        void OnWillRenderCanvases()
+        {
+            if (!play || !Application.isPlaying || _callback == null)
+            {
+                return;
+            }
 
-			_time += updateMode == AnimatorUpdateMode.UnscaledTime
-				? Time.unscaledDeltaTime
-				: Time.deltaTime;
-			var current = _time / duration;
+            _time += updateMode == AnimatorUpdateMode.UnscaledTime
+                ? Time.unscaledDeltaTime
+                : Time.deltaTime;
+            var current = _time / duration;
 
-			if (duration <= _time)
-			{
-				play = loop;
-				_time = loop ? -loopDelay : 0;
-			}
-			_callback(current);
-		}
-	}
+            if (duration <= _time)
+            {
+                play = loop;
+                _time = loop ? -loopDelay : 0;
+            }
+            _callback(current);
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs
index a130be10..ce86b1cc 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs
@@ -4,92 +4,92 @@ using UnityEngine;
 
 namespace Coffee.UIExtensions
 {
-	public class MaterialCache
-	{
-		public ulong hash { get; private set; }
+    public class MaterialCache
+    {
+        public ulong hash { get; private set; }
 
-		public int referenceCount { get; private set; }
+        public int referenceCount { get; private set; }
 
-		public Texture texture { get; private set; }
+        public Texture texture { get; private set; }
 
-		public Material material { get; private set; }
+        public Material material { get; private set; }
 
 #if UNITY_EDITOR
-		[UnityEditor.InitializeOnLoadMethod]
-		static void ClearCache()
-		{
-			foreach (var cache in materialCaches)
-			{
-				cache.material = null;
-			}
-			materialCaches.Clear();
-		}
+        [UnityEditor.InitializeOnLoadMethod]
+        static void ClearCache()
+        {
+            foreach (var cache in materialCaches)
+            {
+                cache.material = null;
+            }
+            materialCaches.Clear();
+        }
 #endif
 
-		public static List<MaterialCache> materialCaches = new List<MaterialCache>();
+        public static List<MaterialCache> materialCaches = new List<MaterialCache>();
 
-		public static MaterialCache Register(ulong hash, Texture texture, System.Func<Material> onCreateMaterial)
-		{
-			var cache = materialCaches.FirstOrDefault(x => x.hash == hash);
-			if (cache != null && cache.material)
-			{
-				if (cache.material)
-				{
-					cache.referenceCount++;
-				}
-				else
-				{
-					
-					materialCaches.Remove(cache);
-					cache = null;
-				}
-			}
-			if (cache == null)
-			{
-				cache = new MaterialCache()
-				{
-					hash = hash,
-					material = onCreateMaterial(),
-					referenceCount = 1,
-				};
-				materialCaches.Add(cache);
-			}
-			return cache;
-		}
+        public static MaterialCache Register(ulong hash, Texture texture, System.Func<Material> onCreateMaterial)
+        {
+            var cache = materialCaches.FirstOrDefault(x => x.hash == hash);
+            if (cache != null && cache.material)
+            {
+                if (cache.material)
+                {
+                    cache.referenceCount++;
+                }
+                else
+                {
 
-		public static MaterialCache Register(ulong hash, System.Func<Material> onCreateMaterial)
-		{
-			var cache = materialCaches.FirstOrDefault(x => x.hash == hash);
-			if (cache != null)
-			{
-				cache.referenceCount++;
-			}
-			if (cache == null)
-			{
-				cache = new MaterialCache()
-				{
-					hash = hash,
-					material = onCreateMaterial(),
-					referenceCount = 1,
-				};
-				materialCaches.Add(cache);
-			}
-			return cache;
-		}
+                    materialCaches.Remove(cache);
+                    cache = null;
+                }
+            }
+            if (cache == null)
+            {
+                cache = new MaterialCache()
+                {
+                    hash = hash,
+                    material = onCreateMaterial(),
+                    referenceCount = 1,
+                };
+                materialCaches.Add(cache);
+            }
+            return cache;
+        }
 
-		public static void Unregister(MaterialCache cache)
-		{
-			if (cache == null)
-			{
-				return;
-			}
+        public static MaterialCache Register(ulong hash, System.Func<Material> onCreateMaterial)
+        {
+            var cache = materialCaches.FirstOrDefault(x => x.hash == hash);
+            if (cache != null)
+            {
+                cache.referenceCount++;
+            }
+            if (cache == null)
+            {
+                cache = new MaterialCache()
+                {
+                    hash = hash,
+                    material = onCreateMaterial(),
+                    referenceCount = 1,
+                };
+                materialCaches.Add(cache);
+            }
+            return cache;
+        }
 
-			cache.referenceCount--;
-			if (cache.referenceCount <= 0)
-			{
-				MaterialCache.materialCaches.Remove(cache);
-				cache.material = null;
-			}
-		}
-	}
+        public static void Unregister(MaterialCache cache)
+        {
+            if (cache == null)
+            {
+                return;
+            }
+
+            cache.referenceCount--;
+            if (cache.referenceCount <= 0)
+            {
+                MaterialCache.materialCaches.Remove(cache);
+                cache.material = null;
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs
index 8f6cadb8..821b8a80 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs
@@ -1,6 +1,6 @@
 #if UNITY_EDITOR
-using System.IO;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
 using System.Text;
 using UnityEditor;
@@ -8,119 +8,119 @@ using UnityEngine;
 
 namespace Coffee.UIExtensions
 {
-	public class MaterialResolver
-	{
-		static readonly StringBuilder s_StringBuilder = new StringBuilder();
+    public class MaterialResolver
+    {
+        static readonly StringBuilder s_StringBuilder = new StringBuilder();
 
-		static readonly Dictionary<string, Material> s_MaterialMap = new Dictionary<string, Material>();
+        static readonly Dictionary<string, Material> s_MaterialMap = new Dictionary<string, Material>();
 
-		public static Material GetOrGenerateMaterialVariant(Shader shader, params object[] append)
-		{
-			if (!shader)
-			{
-				return null;
-			}
+        public static Material GetOrGenerateMaterialVariant(Shader shader, params object[] append)
+        {
+            if (!shader)
+            {
+                return null;
+            }
 
-			Material mat = null;
-			string variantName = GetVariantName(shader, append);
-			if (s_MaterialMap.TryGetValue(variantName, out mat) && mat)
-			{
-				return mat;
-			}
+            Material mat = null;
+            string variantName = GetVariantName(shader, append);
+            if (s_MaterialMap.TryGetValue(variantName, out mat) && mat)
+            {
+                return mat;
+            }
 
-			string[] keywords = append.Where(x => 0 < (int)x)
-				.Select(x => x.ToString().ToUpper())
-				.ToArray();
-			mat = GetMaterial(shader, append);
-			if (mat)
-			{
-				if (!mat.shaderKeywords.OrderBy(x => x).SequenceEqual(keywords.OrderBy(x => x)))
-				{
-					mat.shaderKeywords = keywords;
-					EditorUtility.SetDirty(mat);
-					if (!Application.isPlaying)
-					{
-						EditorApplication.delayCall += AssetDatabase.SaveAssets;
-					}
-				}
-				return mat;
-			}
+            string[] keywords = append.Where(x => 0 < (int)x)
+                .Select(x => x.ToString().ToUpper())
+                .ToArray();
+            mat = GetMaterial(shader, append);
+            if (mat)
+            {
+                if (!mat.shaderKeywords.OrderBy(x => x).SequenceEqual(keywords.OrderBy(x => x)))
+                {
+                    mat.shaderKeywords = keywords;
+                    EditorUtility.SetDirty(mat);
+                    if (!Application.isPlaying)
+                    {
+                        EditorApplication.delayCall += AssetDatabase.SaveAssets;
+                    }
+                }
+                return mat;
+            }
 
-			if (s_MaterialMap.TryGetValue(variantName, out mat) && mat)
-			{
-				return mat;
-			}
+            if (s_MaterialMap.TryGetValue(variantName, out mat) && mat)
+            {
+                return mat;
+            }
 
-			Debug.Log("Generate material : " + variantName);
-			mat = new Material(shader);
-			mat.shaderKeywords = keywords;
+            Debug.Log("Generate material : " + variantName);
+            mat = new Material(shader);
+            mat.shaderKeywords = keywords;
 
-			mat.name = variantName;
-			mat.hideFlags |= HideFlags.NotEditable;
-			s_MaterialMap[variantName] = mat;
+            mat.name = variantName;
+            mat.hideFlags |= HideFlags.NotEditable;
+            s_MaterialMap[variantName] = mat;
 
-			bool isMainAsset = append.Cast<int>().All(x => x == 0);
-			EditorApplication.delayCall += () => SaveMaterial(mat, shader, isMainAsset);
-			return mat;
-		}
+            bool isMainAsset = append.Cast<int>().All(x => x == 0);
+            EditorApplication.delayCall += () => SaveMaterial(mat, shader, isMainAsset);
+            return mat;
+        }
 
-		static void SaveMaterial(Material mat, Shader shader, bool isMainAsset)
-		{
-			string materialPath = GetDefaultMaterialPath(shader);
+        static void SaveMaterial(Material mat, Shader shader, bool isMainAsset)
+        {
+            string materialPath = GetDefaultMaterialPath(shader);
 
 #if UIEFFECT_SEPARATE
 			string dir = Path.GetDirectoryName(materialPath);
 			materialPath = Path.Combine(Path.Combine(dir, "Separated"), mat.name + ".mat");
 			isMainAsset = true;
 #endif
-			if (isMainAsset)
-			{
-				Directory.CreateDirectory(Path.GetDirectoryName(materialPath));
-				AssetDatabase.CreateAsset(mat, materialPath);
-			}
-			else
-			{
-				GetOrGenerateMaterialVariant(shader);
-				mat.hideFlags |= HideFlags.HideInHierarchy;
-				AssetDatabase.AddObjectToAsset(mat, materialPath);
-			}
-			AssetDatabase.SaveAssets();
-		}
+            if (isMainAsset)
+            {
+                Directory.CreateDirectory(Path.GetDirectoryName(materialPath));
+                AssetDatabase.CreateAsset(mat, materialPath);
+            }
+            else
+            {
+                GetOrGenerateMaterialVariant(shader);
+                mat.hideFlags |= HideFlags.HideInHierarchy;
+                AssetDatabase.AddObjectToAsset(mat, materialPath);
+            }
+            AssetDatabase.SaveAssets();
+        }
 
-		public static Material GetMaterial(Shader shader, params object[] append)
-		{
-			string variantName = GetVariantName(shader, append);
-			return AssetDatabase.FindAssets("t:Material " + Path.GetFileName(shader.name))
-			.Select(x => AssetDatabase.GUIDToAssetPath(x))
-			.SelectMany(x => AssetDatabase.LoadAllAssetsAtPath(x))
-			.OfType<Material>()
-			.FirstOrDefault(x => x.name == variantName);
-		}
+        public static Material GetMaterial(Shader shader, params object[] append)
+        {
+            string variantName = GetVariantName(shader, append);
+            return AssetDatabase.FindAssets("t:Material " + Path.GetFileName(shader.name))
+            .Select(x => AssetDatabase.GUIDToAssetPath(x))
+            .SelectMany(x => AssetDatabase.LoadAllAssetsAtPath(x))
+            .OfType<Material>()
+            .FirstOrDefault(x => x.name == variantName);
+        }
 
-		public static string GetDefaultMaterialPath(Shader shader)
-		{
-			var name = Path.GetFileName(shader.name);
-			return AssetDatabase.FindAssets("t:Material " + name)
-			.Select(x => AssetDatabase.GUIDToAssetPath(x))
-			.FirstOrDefault(x => Path.GetFileNameWithoutExtension(x) == name)
-			?? ("Assets/" + name + ".mat");
-		}
+        public static string GetDefaultMaterialPath(Shader shader)
+        {
+            var name = Path.GetFileName(shader.name);
+            return AssetDatabase.FindAssets("t:Material " + name)
+            .Select(x => AssetDatabase.GUIDToAssetPath(x))
+            .FirstOrDefault(x => Path.GetFileNameWithoutExtension(x) == name)
+            ?? ("Assets/" + name + ".mat");
+        }
 
-		public static string GetVariantName(Shader shader, params object[] append)
-		{
-			s_StringBuilder.Length = 0;
+        public static string GetVariantName(Shader shader, params object[] append)
+        {
+            s_StringBuilder.Length = 0;
 
 #if UIEFFECT_SEPARATE
 			s_StringBuilder.Append("[Separated] ");
 #endif
-			s_StringBuilder.Append(Path.GetFileName(shader.name));
-			foreach (object mode in append.Where(x=>0<(int)x))
-			{
-				s_StringBuilder.Append("-");
-				s_StringBuilder.Append(mode.ToString());
-			}
-			return s_StringBuilder.ToString();
-		}
-	}
+            s_StringBuilder.Append(Path.GetFileName(shader.name));
+            foreach (object mode in append.Where(x => 0 < (int)x))
+            {
+                s_StringBuilder.Append("-");
+                s_StringBuilder.Append(mode.ToString());
+            }
+            return s_StringBuilder.ToString();
+        }
+    }
 }
 #endif
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs
index a7121cf5..2f621860 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs
@@ -2,32 +2,32 @@
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Matrix2x3.
-	/// </summary>
-	public struct Matrix2x3
-	{
-		public float m00, m01, m02, m10, m11, m12;
+    /// <summary>
+    /// Matrix2x3.
+    /// </summary>
+    public struct Matrix2x3
+    {
+        public float m00, m01, m02, m10, m11, m12;
 
-		public Matrix2x3(Rect rect, float cos, float sin)
-		{
-			const float center = 0.5f;
-			float dx = -rect.xMin / rect.width - center;
-			float dy = -rect.yMin / rect.height - center;
-			m00 = cos / rect.width;
-			m01 = -sin / rect.height;
-			m02 = dx * cos - dy * sin + center;
-			m10 = sin / rect.width;
-			m11 = cos / rect.height;		
-			m12 = dx * sin + dy * cos + center;
-		}
+        public Matrix2x3(Rect rect, float cos, float sin)
+        {
+            const float center = 0.5f;
+            float dx = -rect.xMin / rect.width - center;
+            float dy = -rect.yMin / rect.height - center;
+            m00 = cos / rect.width;
+            m01 = -sin / rect.height;
+            m02 = dx * cos - dy * sin + center;
+            m10 = sin / rect.width;
+            m11 = cos / rect.height;
+            m12 = dx * sin + dy * cos + center;
+        }
 
-		public static Vector2 operator*(Matrix2x3 m, Vector2 v)
-		{
-			return new Vector2(
-				(m.m00 * v.x) + (m.m01 * v.y) + m.m02,
-				(m.m10 * v.x) + (m.m11 * v.y) + m.m12
-			);
-		}
-	}
+        public static Vector2 operator *(Matrix2x3 m, Vector2 v)
+        {
+            return new Vector2(
+                (m.m00 * v.x) + (m.m01 * v.y) + m.m02,
+                (m.m10 * v.x) + (m.m11 * v.y) + m.m12
+            );
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs
index e39f0a0c..10563d8a 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs
@@ -1,60 +1,58 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
+using UnityEngine;
 
 public static class Packer
 {
-	/// <summary>
-	/// Pack 4 low-precision [0-1] floats values to a float.
-	/// Each value [0-1] has 64 steps(6 bits).
-	/// </summary>
-	public static float ToFloat(float x, float y, float z, float w)
-	{
-		x = x < 0 ? 0 : 1 < x ? 1 : x;
-		y = y < 0 ? 0 : 1 < y ? 1 : y;
-		z = z < 0 ? 0 : 1 < z ? 1 : z;
-		w = w < 0 ? 0 : 1 < w ? 1 : w;
-		const int PRECISION = (1 << 6) - 1;
-		return (Mathf.FloorToInt(w * PRECISION) << 18)
-		+ (Mathf.FloorToInt(z * PRECISION) << 12)
-		+ (Mathf.FloorToInt(y * PRECISION) << 6)
-		+ Mathf.FloorToInt(x * PRECISION);
-	}
+    /// <summary>
+    /// Pack 4 low-precision [0-1] floats values to a float.
+    /// Each value [0-1] has 64 steps(6 bits).
+    /// </summary>
+    public static float ToFloat(float x, float y, float z, float w)
+    {
+        x = x < 0 ? 0 : 1 < x ? 1 : x;
+        y = y < 0 ? 0 : 1 < y ? 1 : y;
+        z = z < 0 ? 0 : 1 < z ? 1 : z;
+        w = w < 0 ? 0 : 1 < w ? 1 : w;
+        const int PRECISION = (1 << 6) - 1;
+        return (Mathf.FloorToInt(w * PRECISION) << 18)
+        + (Mathf.FloorToInt(z * PRECISION) << 12)
+        + (Mathf.FloorToInt(y * PRECISION) << 6)
+        + Mathf.FloorToInt(x * PRECISION);
+    }
 
-	/// <summary>
-	/// Pack 4 low-precision [0-1] floats values to a float.
-	/// Each value [0-1] has 64 steps(6 bits).
-	/// </summary>
-	public static float ToFloat(Vector4 factor)
-	{
-		return ToFloat(Mathf.Clamp01(factor.x), Mathf.Clamp01(factor.y), Mathf.Clamp01(factor.z), Mathf.Clamp01(factor.w));
-	}
+    /// <summary>
+    /// Pack 4 low-precision [0-1] floats values to a float.
+    /// Each value [0-1] has 64 steps(6 bits).
+    /// </summary>
+    public static float ToFloat(Vector4 factor)
+    {
+        return ToFloat(Mathf.Clamp01(factor.x), Mathf.Clamp01(factor.y), Mathf.Clamp01(factor.z), Mathf.Clamp01(factor.w));
+    }
 
-	/// <summary>
-	/// Pack 1 middle-precision & 2 low-precision [0-1] floats values to a float.
-	/// z value [0-1] has 4096 steps(12 bits) and xy value [0-1] has 64 steps(6 bits).
-	/// </summary>
-	public static float ToFloat(float x, float y, float z)
-	{
-		x = x < 0 ? 0 : 1 < x ? 1 : x;
-		y = y < 0 ? 0 : 1 < y ? 1 : y;
-		z = z < 0 ? 0 : 1 < z ? 1 : z;
-		const int PRECISION = (1 << 8) - 1;
-		return (Mathf.FloorToInt(z * PRECISION) << 16)
-		+ (Mathf.FloorToInt(y * PRECISION) << 8)
-		+ Mathf.FloorToInt(x * PRECISION);
-	}
+    /// <summary>
+    /// Pack 1 middle-precision & 2 low-precision [0-1] floats values to a float.
+    /// z value [0-1] has 4096 steps(12 bits) and xy value [0-1] has 64 steps(6 bits).
+    /// </summary>
+    public static float ToFloat(float x, float y, float z)
+    {
+        x = x < 0 ? 0 : 1 < x ? 1 : x;
+        y = y < 0 ? 0 : 1 < y ? 1 : y;
+        z = z < 0 ? 0 : 1 < z ? 1 : z;
+        const int PRECISION = (1 << 8) - 1;
+        return (Mathf.FloorToInt(z * PRECISION) << 16)
+        + (Mathf.FloorToInt(y * PRECISION) << 8)
+        + Mathf.FloorToInt(x * PRECISION);
+    }
 
-	/// <summary>
-	/// Pack 2 low-precision [0-1] floats values to a float.
-	/// Each value [0-1] has 4096 steps(12 bits).
-	/// </summary>
-	public static float ToFloat(float x, float y)
-	{
-		x = x < 0 ? 0 : 1 < x ? 1 : x;
-		y = y < 0 ? 0 : 1 < y ? 1 : y;
-		const int PRECISION = (1 << 12) - 1;
-		return (Mathf.FloorToInt(y * PRECISION) << 12)
-		+ Mathf.FloorToInt(x * PRECISION);
-	}
+    /// <summary>
+    /// Pack 2 low-precision [0-1] floats values to a float.
+    /// Each value [0-1] has 4096 steps(12 bits).
+    /// </summary>
+    public static float ToFloat(float x, float y)
+    {
+        x = x < 0 ? 0 : 1 < x ? 1 : x;
+        y = y < 0 ? 0 : 1 < y ? 1 : y;
+        const int PRECISION = (1 << 12) - 1;
+        return (Mathf.FloorToInt(y * PRECISION) << 12)
+        + Mathf.FloorToInt(x * PRECISION);
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs
index 9b221006..52af303a 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs
@@ -1,190 +1,188 @@
-using System.Collections;
+using System;
 using System.Collections.Generic;
 using UnityEngine;
-using UnityEngine.Rendering;
-using System;
 
 namespace Coffee.UIExtensions
 {
-	public interface IParameterTexture
-	{
-		int parameterIndex { get; set; }
+    public interface IParameterTexture
+    {
+        int parameterIndex { get; set; }
 
-		ParameterTexture ptex { get; }
-	}
+        ParameterTexture ptex { get; }
+    }
 
-	/// <summary>
-	/// Parameter texture.
-	/// </summary>
-	[System.Serializable]
-	public class ParameterTexture
-	{
+    /// <summary>
+    /// Parameter texture.
+    /// </summary>
+    [System.Serializable]
+    public class ParameterTexture
+    {
 
-		//################################
-		// Public Members.
-		//################################
+        //################################
+        // Public Members.
+        //################################
 
-		/// <summary>
-		/// Initializes a new instance of the <see cref="Coffee.UIExtensions.ParameterTexture"/> class.
-		/// </summary>
-		/// <param name="channels">Channels.</param>
-		/// <param name="instanceLimit">Instance limit.</param>
-		/// <param name="propertyName">Property name.</param>
-		public ParameterTexture(int channels, int instanceLimit, string propertyName)
-		{
-			_propertyName = propertyName;
-			_channels = ((channels - 1) / 4 + 1) * 4;
-			_instanceLimit = ((instanceLimit - 1) / 2 + 1) * 2;
-			_data = new byte[_channels * _instanceLimit];
+        /// <summary>
+        /// Initializes a new instance of the <see cref="Coffee.UIExtensions.ParameterTexture"/> class.
+        /// </summary>
+        /// <param name="channels">Channels.</param>
+        /// <param name="instanceLimit">Instance limit.</param>
+        /// <param name="propertyName">Property name.</param>
+        public ParameterTexture(int channels, int instanceLimit, string propertyName)
+        {
+            _propertyName = propertyName;
+            _channels = ((channels - 1) / 4 + 1) * 4;
+            _instanceLimit = ((instanceLimit - 1) / 2 + 1) * 2;
+            _data = new byte[_channels * _instanceLimit];
 
-			_stack = new Stack<int>(_instanceLimit);
-			for (int i = 1; i < _instanceLimit + 1; i++)
-			{
-				_stack.Push(i);
-			}
-		}
+            _stack = new Stack<int>(_instanceLimit);
+            for (int i = 1; i < _instanceLimit + 1; i++)
+            {
+                _stack.Push(i);
+            }
+        }
 
 
-		/// <summary>
-		/// Register the specified target.
-		/// </summary>
-		/// <param name="target">Target.</param>
-		public void Register(IParameterTexture target)
-		{
-			Initialize();
-			if (target.parameterIndex <= 0 && 0 < _stack.Count)
-			{
-				target.parameterIndex = _stack.Pop();
-//				Debug.LogFormat("<color=green>@@@ Register {0} : {1}</color>", target, target.parameterIndex);
-			}
-		}
+        /// <summary>
+        /// Register the specified target.
+        /// </summary>
+        /// <param name="target">Target.</param>
+        public void Register(IParameterTexture target)
+        {
+            Initialize();
+            if (target.parameterIndex <= 0 && 0 < _stack.Count)
+            {
+                target.parameterIndex = _stack.Pop();
+                //				Debug.LogFormat("<color=green>@@@ Register {0} : {1}</color>", target, target.parameterIndex);
+            }
+        }
 
-		/// <summary>
-		/// Unregister the specified target.
-		/// </summary>
-		/// <param name="target">Target.</param>
-		public void Unregister(IParameterTexture target)
-		{
-			if (0 < target.parameterIndex)
-			{
-//				Debug.LogFormat("<color=red>@@@ Unregister {0} : {1}</color>", target, target.parameterIndex);
-				_stack.Push(target.parameterIndex);
-				target.parameterIndex = 0;
-			}
-		}
+        /// <summary>
+        /// Unregister the specified target.
+        /// </summary>
+        /// <param name="target">Target.</param>
+        public void Unregister(IParameterTexture target)
+        {
+            if (0 < target.parameterIndex)
+            {
+                //				Debug.LogFormat("<color=red>@@@ Unregister {0} : {1}</color>", target, target.parameterIndex);
+                _stack.Push(target.parameterIndex);
+                target.parameterIndex = 0;
+            }
+        }
 
-		/// <summary>
-		/// Sets the data.
-		/// </summary>
-		/// <param name="target">Target.</param>
-		/// <param name="channelId">Channel identifier.</param>
-		/// <param name="value">Value.</param>
-		public void SetData(IParameterTexture target, int channelId, byte value)
-		{
-			int index = (target.parameterIndex - 1) * _channels + channelId;
-			if (0 < target.parameterIndex && _data[index] != value)
-			{
-				_data[index] = value;
-				_needUpload = true;
-			}
-		}
+        /// <summary>
+        /// Sets the data.
+        /// </summary>
+        /// <param name="target">Target.</param>
+        /// <param name="channelId">Channel identifier.</param>
+        /// <param name="value">Value.</param>
+        public void SetData(IParameterTexture target, int channelId, byte value)
+        {
+            int index = (target.parameterIndex - 1) * _channels + channelId;
+            if (0 < target.parameterIndex && _data[index] != value)
+            {
+                _data[index] = value;
+                _needUpload = true;
+            }
+        }
 
-		/// <summary>
-		/// Sets the data.
-		/// </summary>
-		/// <param name="target">Target.</param>
-		/// <param name="channelId">Channel identifier.</param>
-		/// <param name="value">Value.</param>
-		public void SetData(IParameterTexture target, int channelId, float value)
-		{
-			SetData(target, channelId, (byte)(Mathf.Clamp01(value) * 255));
-		}
+        /// <summary>
+        /// Sets the data.
+        /// </summary>
+        /// <param name="target">Target.</param>
+        /// <param name="channelId">Channel identifier.</param>
+        /// <param name="value">Value.</param>
+        public void SetData(IParameterTexture target, int channelId, float value)
+        {
+            SetData(target, channelId, (byte)(Mathf.Clamp01(value) * 255));
+        }
 
-		/// <summary>
-		/// Registers the material.
-		/// </summary>
-		/// <param name="mat">Mat.</param>
-		public void RegisterMaterial(Material mat)
-		{
-			if (_propertyId == 0)
-			{
-				_propertyId = Shader.PropertyToID(_propertyName);
-			}
-			if (mat)
-			{
-				mat.SetTexture(_propertyId, _texture);
-			}
-		}
+        /// <summary>
+        /// Registers the material.
+        /// </summary>
+        /// <param name="mat">Mat.</param>
+        public void RegisterMaterial(Material mat)
+        {
+            if (_propertyId == 0)
+            {
+                _propertyId = Shader.PropertyToID(_propertyName);
+            }
+            if (mat)
+            {
+                mat.SetTexture(_propertyId, _texture);
+            }
+        }
 
-		/// <summary>
-		/// Gets the index of the normalized.
-		/// </summary>
-		/// <returns>The normalized index.</returns>
-		/// <param name="target">Target.</param>
-		public float GetNormalizedIndex(IParameterTexture target)
-		{
-			return ((float)target.parameterIndex - 0.5f) / _instanceLimit;
-		}
+        /// <summary>
+        /// Gets the index of the normalized.
+        /// </summary>
+        /// <returns>The normalized index.</returns>
+        /// <param name="target">Target.</param>
+        public float GetNormalizedIndex(IParameterTexture target)
+        {
+            return ((float)target.parameterIndex - 0.5f) / _instanceLimit;
+        }
 
 
-		//################################
-		// Private Members.
-		//################################
+        //################################
+        // Private Members.
+        //################################
 
-		Texture2D _texture;
-		bool _needUpload;
-		int _propertyId;
-		readonly string _propertyName;
-		readonly int _channels;
-		readonly int _instanceLimit;
-		readonly byte[] _data;
-		readonly Stack<int> _stack;
-		static List<Action> updates;
+        Texture2D _texture;
+        bool _needUpload;
+        int _propertyId;
+        readonly string _propertyName;
+        readonly int _channels;
+        readonly int _instanceLimit;
+        readonly byte[] _data;
+        readonly Stack<int> _stack;
+        static List<Action> updates;
 
-		/// <summary>
-		/// Initialize this instance.
-		/// </summary>
-		void Initialize()
-		{
+        /// <summary>
+        /// Initialize this instance.
+        /// </summary>
+        void Initialize()
+        {
 #if UNITY_EDITOR
-			if (!UnityEditor.EditorApplication.isPlaying && UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode)
-			{
-				return;
-			}
+            if (!UnityEditor.EditorApplication.isPlaying && UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode)
+            {
+                return;
+            }
 #endif
-			if (updates == null)
-			{
-				updates = new List<Action>();
-				Canvas.willRenderCanvases += () =>
-				{
-					var count = updates.Count;
-					for (int i = 0; i < count; i++)
-					{
-						updates[i].Invoke();
-					}
-				};
-			}
+            if (updates == null)
+            {
+                updates = new List<Action>();
+                Canvas.willRenderCanvases += () =>
+                {
+                    var count = updates.Count;
+                    for (int i = 0; i < count; i++)
+                    {
+                        updates[i].Invoke();
+                    }
+                };
+            }
 
-			if (!_texture)
-			{
-				bool isLinear = QualitySettings.activeColorSpace == ColorSpace.Linear;
-				_texture = new Texture2D(_channels / 4, _instanceLimit, TextureFormat.RGBA32, false, isLinear);
-				_texture.filterMode = FilterMode.Point;
-				_texture.wrapMode = TextureWrapMode.Clamp;
+            if (!_texture)
+            {
+                bool isLinear = QualitySettings.activeColorSpace == ColorSpace.Linear;
+                _texture = new Texture2D(_channels / 4, _instanceLimit, TextureFormat.RGBA32, false, isLinear);
+                _texture.filterMode = FilterMode.Point;
+                _texture.wrapMode = TextureWrapMode.Clamp;
 
-				updates.Add(UpdateParameterTexture);
-				_needUpload = true;
-			}
-		}
+                updates.Add(UpdateParameterTexture);
+                _needUpload = true;
+            }
+        }
 
-		void UpdateParameterTexture()
-		{
-			if (_needUpload && _texture)
-			{
-				_needUpload = false;
-				_texture.LoadRawTextureData(_data);
-				_texture.Apply(false, false);
-			}
-		}
-	}
+        void UpdateParameterTexture()
+        {
+            if (_needUpload && _texture)
+            {
+                _needUpload = false;
+                _texture.LoadRawTextureData(_data);
+                _texture.Apply(false, false);
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs
index 4544ced4..084460bf 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs
@@ -1,14 +1,14 @@
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Shadow effect style.
-	/// </summary>
-	public enum ShadowStyle
-	{
-		None = 0,
-		Shadow,
-		Outline,
-		Outline8,
-		Shadow3,
-	}
+    /// <summary>
+    /// Shadow effect style.
+    /// </summary>
+    public enum ShadowStyle
+    {
+        None = 0,
+        Shadow,
+        Outline,
+        Outline8,
+        Shadow3,
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs
index ea04f2eb..824b2710 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs
@@ -1,14 +1,14 @@
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Effect mode.
-	/// </summary>
-	public enum EffectMode
-	{
-		None = 0,
-		Grayscale = 1,
-		Sepia = 2,
-		Nega = 3,
-		Pixel = 4,
-	}
+    /// <summary>
+    /// Effect mode.
+    /// </summary>
+    public enum EffectMode
+    {
+        None = 0,
+        Grayscale = 1,
+        Sepia = 2,
+        Nega = 3,
+        Pixel = 4,
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs
index 1046d5e9..9a03d32c 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs
@@ -4,162 +4,162 @@ using UnityEngine.UI;
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Abstract effect base for UI.
-	/// </summary>
-	[DisallowMultipleComponent]
-	public abstract class UIEffectBase : BaseMeshEffect, IParameterTexture
+    /// <summary>
+    /// Abstract effect base for UI.
+    /// </summary>
+    [DisallowMultipleComponent]
+    public abstract class UIEffectBase : BaseMeshEffect, IParameterTexture
 #if UNITY_EDITOR
-	, ISerializationCallbackReceiver
+    , ISerializationCallbackReceiver
 #endif
-	{
-		protected static readonly Vector2[] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero };
-		protected static readonly List<UIVertex> tempVerts = new List<UIVertex>();
+    {
+        protected static readonly Vector2[] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero };
+        protected static readonly List<UIVertex> tempVerts = new List<UIVertex>();
 
-		[HideInInspector]
-		[SerializeField] int m_Version;
-		[SerializeField] protected Material m_EffectMaterial;
+        [HideInInspector]
+        [SerializeField] int m_Version;
+        [SerializeField] protected Material m_EffectMaterial;
 
-		/// <summary>
-		/// Gets or sets the parameter index.
-		/// </summary>
-		public int parameterIndex { get; set; }
+        /// <summary>
+        /// Gets or sets the parameter index.
+        /// </summary>
+        public int parameterIndex { get; set; }
 
-		/// <summary>
-		/// Gets the parameter texture.
-		/// </summary>
-		public virtual ParameterTexture ptex { get { return null; } }
+        /// <summary>
+        /// Gets the parameter texture.
+        /// </summary>
+        public virtual ParameterTexture ptex { get { return null; } }
 
-		/// <summary>
-		/// Gets target graphic for effect.
-		/// </summary>
-		public Graphic targetGraphic { get { return graphic; } }
+        /// <summary>
+        /// Gets target graphic for effect.
+        /// </summary>
+        public Graphic targetGraphic { get { return graphic; } }
 
-		/// <summary>
-		/// Gets material for effect.
-		/// </summary>
-		public Material effectMaterial { get { return m_EffectMaterial; } }
+        /// <summary>
+        /// Gets material for effect.
+        /// </summary>
+        public Material effectMaterial { get { return m_EffectMaterial; } }
 
 #if UNITY_EDITOR
-		protected override void Reset()
-		{
-			m_Version = 300;
-			OnValidate();
-		}
+        protected override void Reset()
+        {
+            m_Version = 300;
+            OnValidate();
+        }
 
-		/// <summary>
-		/// Raises the validate event.
-		/// </summary>
-		protected override void OnValidate()
-		{
-			base.OnValidate ();
+        /// <summary>
+        /// Raises the validate event.
+        /// </summary>
+        protected override void OnValidate()
+        {
+            base.OnValidate();
 
-			var mat = GetMaterial();
-			if (m_EffectMaterial != mat)
-			{
-				m_EffectMaterial = mat;
-				UnityEditor.EditorUtility.SetDirty(this);
-			}
+            var mat = GetMaterial();
+            if (m_EffectMaterial != mat)
+            {
+                m_EffectMaterial = mat;
+                UnityEditor.EditorUtility.SetDirty(this);
+            }
 
-			ModifyMaterial();
-			SetVerticesDirty ();
-			SetDirty ();
-		}
+            ModifyMaterial();
+            SetVerticesDirty();
+            SetDirty();
+        }
 
-		public void OnBeforeSerialize()
-		{
-		}
+        public void OnBeforeSerialize()
+        {
+        }
 
-		public void OnAfterDeserialize()
-		{
-			UnityEditor.EditorApplication.delayCall += UpgradeIfNeeded;
-		}
+        public void OnAfterDeserialize()
+        {
+            UnityEditor.EditorApplication.delayCall += UpgradeIfNeeded;
+        }
 
-		protected bool IsShouldUpgrade(int expectedVersion)
-		{
-			if (m_Version < expectedVersion)
-			{
-				Debug.LogFormat(gameObject, "<b>{0}({1})</b> has been upgraded: <i>version {2} -> {3}</i>", name, GetType().Name, m_Version, expectedVersion);
-				m_Version = expectedVersion;
+        protected bool IsShouldUpgrade(int expectedVersion)
+        {
+            if (m_Version < expectedVersion)
+            {
+                Debug.LogFormat(gameObject, "<b>{0}({1})</b> has been upgraded: <i>version {2} -> {3}</i>", name, GetType().Name, m_Version, expectedVersion);
+                m_Version = expectedVersion;
 
-				//UnityEditor.EditorApplication.delayCall += () =>
-				{
-					UnityEditor.EditorUtility.SetDirty(this);
-					if (!Application.isPlaying && gameObject && gameObject.scene.IsValid())
-					{
-						UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(gameObject.scene);
-					}
-				}
-				;
-				return true;
-			}
-			return false;
-		}
+                //UnityEditor.EditorApplication.delayCall += () =>
+                {
+                    UnityEditor.EditorUtility.SetDirty(this);
+                    if (!Application.isPlaying && gameObject && gameObject.scene.IsValid())
+                    {
+                        UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(gameObject.scene);
+                    }
+                }
+                ;
+                return true;
+            }
+            return false;
+        }
 
-		protected virtual void UpgradeIfNeeded()
-		{
-		}
+        protected virtual void UpgradeIfNeeded()
+        {
+        }
 
-		/// <summary>
-		/// Gets the material.
-		/// </summary>
-		/// <returns>The material.</returns>
-		protected virtual Material GetMaterial()
-		{
-			return null;
-		}
+        /// <summary>
+        /// Gets the material.
+        /// </summary>
+        /// <returns>The material.</returns>
+        protected virtual Material GetMaterial()
+        {
+            return null;
+        }
 #endif
 
-		/// <summary>
-		/// Modifies the material.
-		/// </summary>
-		public virtual void ModifyMaterial()
-		{
-			targetGraphic.material = isActiveAndEnabled ? m_EffectMaterial : null;
-		}
+        /// <summary>
+        /// Modifies the material.
+        /// </summary>
+        public virtual void ModifyMaterial()
+        {
+            targetGraphic.material = isActiveAndEnabled ? m_EffectMaterial : null;
+        }
 
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable ();
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-			if (ptex != null)
-			{
-				ptex.Register(this);
-			}
-			ModifyMaterial();
-			SetVerticesDirty();
-			SetDirty();
-		}
+            if (ptex != null)
+            {
+                ptex.Register(this);
+            }
+            ModifyMaterial();
+            SetVerticesDirty();
+            SetDirty();
+        }
 
-		/// <summary>
-		/// This function is called when the behaviour becomes disabled () or inactive.
-		/// </summary>
-		protected override void OnDisable()
-		{
-			base.OnDisable ();
+        /// <summary>
+        /// This function is called when the behaviour becomes disabled () or inactive.
+        /// </summary>
+        protected override void OnDisable()
+        {
+            base.OnDisable();
 
-			ModifyMaterial ();
-			SetVerticesDirty();
-			if (ptex != null)
-			{
-				ptex.Unregister(this);
-			}
-		}
+            ModifyMaterial();
+            SetVerticesDirty();
+            if (ptex != null)
+            {
+                ptex.Unregister(this);
+            }
+        }
 
-		/// <summary>
-		/// Mark the UIEffect as dirty.
-		/// </summary>
-		protected virtual void SetDirty()
-		{
-			SetVerticesDirty();
-		}
+        /// <summary>
+        /// Mark the UIEffect as dirty.
+        /// </summary>
+        protected virtual void SetDirty()
+        {
+            SetVerticesDirty();
+        }
 
-		protected override void OnDidApplyAnimationProperties()
-		{
-			SetDirty();
-		}
-	}
+        protected override void OnDidApplyAnimationProperties()
+        {
+            SetDirty();
+        }
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs
index 274003c1..5180ca39 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs
@@ -1,86 +1,85 @@
-using System.Collections;
-using System.Collections.Generic;
+using System.Collections.Generic;
 using UnityEditor;
 using UnityEngine;
 
 namespace Coffee.UIExtensions.Editors
 {
-	public class BaseMeshEffectEditor : Editor
-	{
-		List<MaterialEditor> _materialEditors = new List<MaterialEditor> ();
+    public class BaseMeshEffectEditor : Editor
+    {
+        List<MaterialEditor> _materialEditors = new List<MaterialEditor>();
 
-		protected virtual void OnEnable ()
-		{
-			ClearMaterialEditors ();
-		}
+        protected virtual void OnEnable()
+        {
+            ClearMaterialEditors();
+        }
 
-		protected virtual void OnDisable ()
-		{
-			ClearMaterialEditors ();
-		}
+        protected virtual void OnDisable()
+        {
+            ClearMaterialEditors();
+        }
 
-		void ClearMaterialEditors ()
-		{
-			foreach (var e in _materialEditors)
-			{
-				if (e)
-				{
-					DestroyImmediate (e);
-				}
-			}
-			_materialEditors.Clear ();
-		}
+        void ClearMaterialEditors()
+        {
+            foreach (var e in _materialEditors)
+            {
+                if (e)
+                {
+                    DestroyImmediate(e);
+                }
+            }
+            _materialEditors.Clear();
+        }
 
-		protected void ShowMaterialEditors (Material [] materials, int startIndex, int count)
-		{
-			for (int i = 0; i < count; i++)
-			{
-				if (_materialEditors.Count == i)
-				{
-					_materialEditors.Add (null);
-				}
+        protected void ShowMaterialEditors(Material[] materials, int startIndex, int count)
+        {
+            for (int i = 0; i < count; i++)
+            {
+                if (_materialEditors.Count == i)
+                {
+                    _materialEditors.Add(null);
+                }
 
-				var mat = materials [startIndex + i];
-				var editor = _materialEditors [i];
-				if (editor && editor.target != mat)
-				{
-					DestroyImmediate (editor);
-					editor = null;
-				}
+                var mat = materials[startIndex + i];
+                var editor = _materialEditors[i];
+                if (editor && editor.target != mat)
+                {
+                    DestroyImmediate(editor);
+                    editor = null;
+                }
 
-				if (!editor)
-				{
-					editor = _materialEditors [i] = Editor.CreateEditor (mat) as MaterialEditor;
-				}
+                if (!editor)
+                {
+                    editor = _materialEditors[i] = Editor.CreateEditor(mat) as MaterialEditor;
+                }
 
-				editor.DrawHeader ();
-				editor.OnInspectorGUI ();
-			}
-		}
+                editor.DrawHeader();
+                editor.OnInspectorGUI();
+            }
+        }
 
 
-		protected void ShowCanvasChannelsWarning ()
-		{
-			BaseMeshEffect effect = target as BaseMeshEffect;
-			if (!effect || !effect.graphic)
-			{
-				return;
-			}
+        protected void ShowCanvasChannelsWarning()
+        {
+            BaseMeshEffect effect = target as BaseMeshEffect;
+            if (!effect || !effect.graphic)
+            {
+                return;
+            }
 
 #if UNITY_5_6_OR_NEWER
-			AdditionalCanvasShaderChannels channels = effect.requiredChannels;
-			var canvas = effect.graphic.canvas;
-			if (canvas && (canvas.additionalShaderChannels & channels) != channels)
-			{
-				EditorGUILayout.BeginHorizontal ();
-				EditorGUILayout.HelpBox (string.Format ("Enable {1} of Canvas.additionalShaderChannels to use {0}.", effect.GetType ().Name, channels), MessageType.Warning);
-				if (GUILayout.Button ("Fix"))
-				{
-					canvas.additionalShaderChannels |= channels;
-				}
-				EditorGUILayout.EndHorizontal ();
-			}
+            AdditionalCanvasShaderChannels channels = effect.requiredChannels;
+            var canvas = effect.graphic.canvas;
+            if (canvas && (canvas.additionalShaderChannels & channels) != channels)
+            {
+                EditorGUILayout.BeginHorizontal();
+                EditorGUILayout.HelpBox(string.Format("Enable {1} of Canvas.additionalShaderChannels to use {0}.", effect.GetType().Name, channels), MessageType.Warning);
+                if (GUILayout.Button("Fix"))
+                {
+                    canvas.additionalShaderChannels |= channels;
+                }
+                EditorGUILayout.EndHorizontal();
+            }
 #endif
-		}
-	}
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs
index d64e2d89..5f425996 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs
@@ -1,53 +1,51 @@
-using System.Collections;
+using System.Collections.Generic;
 using System.IO;
-using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using UnityEditor;
-using UnityEngine;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// Remove deprecated files in old .unitypackage, after compiling.
-	/// </summary>
-	public class DeprecatedRemover
-	{
-		/// <summary>
-		/// GUIDs of deprecated files.
-		/// </summary>
-		static readonly List<string> DeprecatedFiles = new List<string>()
-		{
-			"156b57fee6ef941958e66a129ce387e2",	// UICustomEffect.cs
+    /// <summary>
+    /// Remove deprecated files in old .unitypackage, after compiling.
+    /// </summary>
+    public class DeprecatedRemover
+    {
+        /// <summary>
+        /// GUIDs of deprecated files.
+        /// </summary>
+        static readonly List<string> DeprecatedFiles = new List<string>()
+        {
+            "156b57fee6ef941958e66a129ce387e2",	// UICustomEffect.cs
 			"a4961e148a8cd4fe0b84dddc2741894a",	// UICustomEffectEditor.cs
 			"7b1ed09bdf5e54042b5cd1fbe69361bf",	// MaterialBundle.cs
 		};
 
 
-		#if UNITY_EDITOR
-		[UnityEditor.InitializeOnLoadMethod]
-		static void RemoveFiles()
-		{
-			// The deprecated file path that exists.
-			var files = DeprecatedFiles.Select(x => AssetDatabase.GUIDToAssetPath(x))
-				.Where(x => File.Exists(x))
-				.ToArray();
-			
-			if (files.Any())
-			{
-				StringBuilder sb = new StringBuilder();
-				sb.AppendFormat("<b><color=orange>[{0}]</color></b> {1} files have been removed.\n", typeof(DeprecatedRemover).Name, files.Length);
+#if UNITY_EDITOR
+        [UnityEditor.InitializeOnLoadMethod]
+        static void RemoveFiles()
+        {
+            // The deprecated file path that exists.
+            var files = DeprecatedFiles.Select(x => AssetDatabase.GUIDToAssetPath(x))
+                .Where(x => File.Exists(x))
+                .ToArray();
 
-				foreach (var path in files)
-				{
-					AssetDatabase.DeleteAsset(path);
-					sb.AppendFormat("  - {0}\n", path);
-				}
+            if (files.Any())
+            {
+                StringBuilder sb = new StringBuilder();
+                sb.AppendFormat("<b><color=orange>[{0}]</color></b> {1} files have been removed.\n", typeof(DeprecatedRemover).Name, files.Length);
 
-				AssetDatabase.Refresh();
-				UnityEngine.Debug.Log(sb);
-			}
-		}
-		#endif
-	}
+                foreach (var path in files)
+                {
+                    AssetDatabase.DeleteAsset(path);
+                    sb.AppendFormat("  - {0}\n", path);
+                }
+
+                AssetDatabase.Refresh();
+                UnityEngine.Debug.Log(sb);
+            }
+        }
+#endif
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs
index 2883ff79..57eea622 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs
@@ -1,181 +1,179 @@
-using UnityEditor;
-using UnityEditorInternal;
+using System.Linq;
+using UnityEditor;
 using UnityEngine;
-using System.Linq;
-using System.Collections.Generic;
-using UnityEngine.UI;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// UIEffect editor.
-	/// </summary>
-	[CustomEditor(typeof(UIDissolve))]
-	[CanEditMultipleObjects]
-	public class UIDissolveEditor : BaseMeshEffectEditor
-	{
-		static int s_NoiseTexId;
+    /// <summary>
+    /// UIEffect editor.
+    /// </summary>
+    [CustomEditor(typeof(UIDissolve))]
+    [CanEditMultipleObjects]
+    public class UIDissolveEditor : BaseMeshEffectEditor
+    {
+        static int s_NoiseTexId;
 
-		//################################
-		// Public/Protected Members.
-		//################################
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable ();
+        //################################
+        // Public/Protected Members.
+        //################################
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-			_spMaterial = serializedObject.FindProperty("m_EffectMaterial");
-			_spEffectFactor = serializedObject.FindProperty("m_EffectFactor");
-			_spEffectArea = serializedObject.FindProperty("m_EffectArea");
-			_spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio");
-			_spWidth = serializedObject.FindProperty("m_Width");
-			_spColor = serializedObject.FindProperty("m_Color");
-			_spSoftness = serializedObject.FindProperty("m_Softness");
-			_spColorMode = serializedObject.FindProperty("m_ColorMode");
-			_spNoiseTexture = serializedObject.FindProperty("m_NoiseTexture");
-			_spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio");
-			_spReverse = serializedObject.FindProperty("m_Reverse");
-			var player = serializedObject.FindProperty("m_Player");
-			_spPlay = player.FindPropertyRelative("play");
-			_spDuration = player.FindPropertyRelative("duration");
-			_spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay");
-			_spLoop = player.FindPropertyRelative("loop");
-			_spLoopDelay = player.FindPropertyRelative("loopDelay");
-			_spUpdateMode = player.FindPropertyRelative("updateMode");
+            _spMaterial = serializedObject.FindProperty("m_EffectMaterial");
+            _spEffectFactor = serializedObject.FindProperty("m_EffectFactor");
+            _spEffectArea = serializedObject.FindProperty("m_EffectArea");
+            _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio");
+            _spWidth = serializedObject.FindProperty("m_Width");
+            _spColor = serializedObject.FindProperty("m_Color");
+            _spSoftness = serializedObject.FindProperty("m_Softness");
+            _spColorMode = serializedObject.FindProperty("m_ColorMode");
+            _spNoiseTexture = serializedObject.FindProperty("m_NoiseTexture");
+            _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio");
+            _spReverse = serializedObject.FindProperty("m_Reverse");
+            var player = serializedObject.FindProperty("m_Player");
+            _spPlay = player.FindPropertyRelative("play");
+            _spDuration = player.FindPropertyRelative("duration");
+            _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay");
+            _spLoop = player.FindPropertyRelative("loop");
+            _spLoopDelay = player.FindPropertyRelative("loopDelay");
+            _spUpdateMode = player.FindPropertyRelative("updateMode");
 
-			s_NoiseTexId = Shader.PropertyToID ("_NoiseTex");
+            s_NoiseTexId = Shader.PropertyToID("_NoiseTex");
 
-			_shader = Shader.Find ("TextMeshPro/Distance Field (UIDissolve)");
-			_mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIDissolve)");
-			_spriteShader = Shader.Find ("TextMeshPro/Sprite (UIDissolve)");
-		}
+            _shader = Shader.Find("TextMeshPro/Distance Field (UIDissolve)");
+            _mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UIDissolve)");
+            _spriteShader = Shader.Find("TextMeshPro/Sprite (UIDissolve)");
+        }
 
-		/// <summary>
-		/// Implement this function to make a custom inspector.
-		/// </summary>
-		public override void OnInspectorGUI()
-		{
-			foreach (var d in targets.Cast<UIDissolve> ())
-			{
-				var mat = d.material;
-				if (d.isTMPro && mat && mat.HasProperty(s_NoiseTexId))
-				{
-					ColorMode colorMode =
-								mat.IsKeywordEnabled ("ADD") ? ColorMode.Add
-										: mat.IsKeywordEnabled ("SUBTRACT") ? ColorMode.Subtract
-										: mat.IsKeywordEnabled ("FILL") ? ColorMode.Fill
-										: ColorMode.Multiply;
+        /// <summary>
+        /// Implement this function to make a custom inspector.
+        /// </summary>
+        public override void OnInspectorGUI()
+        {
+            foreach (var d in targets.Cast<UIDissolve>())
+            {
+                var mat = d.material;
+                if (d.isTMPro && mat && mat.HasProperty(s_NoiseTexId))
+                {
+                    ColorMode colorMode =
+                                mat.IsKeywordEnabled("ADD") ? ColorMode.Add
+                                        : mat.IsKeywordEnabled("SUBTRACT") ? ColorMode.Subtract
+                                        : mat.IsKeywordEnabled("FILL") ? ColorMode.Fill
+                                        : ColorMode.Multiply;
 
-					Texture noiseTexture = mat.GetTexture(s_NoiseTexId);
+                    Texture noiseTexture = mat.GetTexture(s_NoiseTexId);
 
-					if (d.colorMode != colorMode || d.noiseTexture != noiseTexture)
-					{
-						var so = new SerializedObject (d);
-						so.FindProperty ("m_ColorMode").intValue = (int)colorMode;
-						so.FindProperty ("m_NoiseTexture").objectReferenceValue = noiseTexture;
-						so.ApplyModifiedProperties ();
-					}
-				}
-			}
+                    if (d.colorMode != colorMode || d.noiseTexture != noiseTexture)
+                    {
+                        var so = new SerializedObject(d);
+                        so.FindProperty("m_ColorMode").intValue = (int)colorMode;
+                        so.FindProperty("m_NoiseTexture").objectReferenceValue = noiseTexture;
+                        so.ApplyModifiedProperties();
+                    }
+                }
+            }
 
-			serializedObject.Update();
+            serializedObject.Update();
 
-			//================
-			// Effect material.
-			//================
-			EditorGUI.BeginDisabledGroup(true);
-			EditorGUILayout.PropertyField(_spMaterial);
-			EditorGUI.EndDisabledGroup();
+            //================
+            // Effect material.
+            //================
+            EditorGUI.BeginDisabledGroup(true);
+            EditorGUILayout.PropertyField(_spMaterial);
+            EditorGUI.EndDisabledGroup();
 
-			//================
-			// Effect setting.
-			//================
-			EditorGUILayout.PropertyField(_spEffectFactor);
-			EditorGUILayout.PropertyField(_spWidth);
-			EditorGUILayout.PropertyField(_spSoftness);
-			EditorGUILayout.PropertyField(_spColor);
+            //================
+            // Effect setting.
+            //================
+            EditorGUILayout.PropertyField(_spEffectFactor);
+            EditorGUILayout.PropertyField(_spWidth);
+            EditorGUILayout.PropertyField(_spSoftness);
+            EditorGUILayout.PropertyField(_spColor);
 
-			bool isAnyTMPro = targets.Cast<UIDissolve>().Any(x => x.isTMPro);
-			using (new EditorGUI.DisabledGroupScope (isAnyTMPro))
-			{
-				EditorGUILayout.PropertyField (_spColorMode);
-				EditorGUILayout.PropertyField (_spNoiseTexture);
-			}
+            bool isAnyTMPro = targets.Cast<UIDissolve>().Any(x => x.isTMPro);
+            using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
+            {
+                EditorGUILayout.PropertyField(_spColorMode);
+                EditorGUILayout.PropertyField(_spNoiseTexture);
+            }
 
-			//================
-			// Advanced option.
-			//================
-			EditorGUILayout.PropertyField(_spEffectArea);
-			EditorGUILayout.PropertyField(_spKeepAspectRatio);
+            //================
+            // Advanced option.
+            //================
+            EditorGUILayout.PropertyField(_spEffectArea);
+            EditorGUILayout.PropertyField(_spKeepAspectRatio);
 
-			//================
-			// Effect player.
-			//================
-			EditorGUILayout.PropertyField(_spPlay);
-			EditorGUILayout.PropertyField(_spDuration);
-			EditorGUILayout.PropertyField(_spInitialPlayDelay);
-			EditorGUILayout.PropertyField(_spLoop);
-			EditorGUILayout.PropertyField(_spLoopDelay);
-			EditorGUILayout.PropertyField(_spUpdateMode);
-			EditorGUILayout.PropertyField(_spReverse);
+            //================
+            // Effect player.
+            //================
+            EditorGUILayout.PropertyField(_spPlay);
+            EditorGUILayout.PropertyField(_spDuration);
+            EditorGUILayout.PropertyField(_spInitialPlayDelay);
+            EditorGUILayout.PropertyField(_spLoop);
+            EditorGUILayout.PropertyField(_spLoopDelay);
+            EditorGUILayout.PropertyField(_spUpdateMode);
+            EditorGUILayout.PropertyField(_spReverse);
 
-			// Debug.
-			using (new EditorGUI.DisabledGroupScope(!Application.isPlaying))
-			using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox))
-			{
-				GUILayout.Label("Debug");
+            // Debug.
+            using (new EditorGUI.DisabledGroupScope(!Application.isPlaying))
+            using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox))
+            {
+                GUILayout.Label("Debug");
 
-				if (GUILayout.Button("Play", "ButtonLeft"))
-				{
-					(target as UIDissolve).Play();
-				}
+                if (GUILayout.Button("Play", "ButtonLeft"))
+                {
+                    (target as UIDissolve).Play();
+                }
 
-				if (GUILayout.Button("Stop", "ButtonRight"))
-				{
-					(target as UIDissolve).Stop();
-				}
-			}
+                if (GUILayout.Button("Stop", "ButtonRight"))
+                {
+                    (target as UIDissolve).Stop();
+                }
+            }
 
-			var c = target as UIDissolve;
-			c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {
-				if(mat.shader == _spriteShader)
-				{
-					mat.shaderKeywords = c.material.shaderKeywords;
-					mat.SetTexture ("_NoiseTex", c.material.GetTexture ("_NoiseTex"));
-				}
-			});
-			ShowCanvasChannelsWarning ();
+            var c = target as UIDissolve;
+            c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat =>
+            {
+                if (mat.shader == _spriteShader)
+                {
+                    mat.shaderKeywords = c.material.shaderKeywords;
+                    mat.SetTexture("_NoiseTex", c.material.GetTexture("_NoiseTex"));
+                }
+            });
+            ShowCanvasChannelsWarning();
 
-			ShowMaterialEditors (c.materials, 1, c.materials.Length - 1);
+            ShowMaterialEditors(c.materials, 1, c.materials.Length - 1);
 
-			serializedObject.ApplyModifiedProperties();
+            serializedObject.ApplyModifiedProperties();
 
-		}
+        }
 
-		//################################
-		// Private Members.
-		//################################
-		SerializedProperty _spMaterial;
-		SerializedProperty _spEffectFactor;
-		SerializedProperty _spWidth;
-		SerializedProperty _spColor;
-		SerializedProperty _spSoftness;
-		SerializedProperty _spColorMode;
-		SerializedProperty _spNoiseTexture;
-		SerializedProperty _spEffectArea;
-		SerializedProperty _spKeepAspectRatio;
-		SerializedProperty _spReverse;
-		SerializedProperty _spPlay;
-		SerializedProperty _spLoop;
-		SerializedProperty _spLoopDelay;
-		SerializedProperty _spDuration;
-		SerializedProperty _spInitialPlayDelay;
-		SerializedProperty _spUpdateMode;
+        //################################
+        // Private Members.
+        //################################
+        SerializedProperty _spMaterial;
+        SerializedProperty _spEffectFactor;
+        SerializedProperty _spWidth;
+        SerializedProperty _spColor;
+        SerializedProperty _spSoftness;
+        SerializedProperty _spColorMode;
+        SerializedProperty _spNoiseTexture;
+        SerializedProperty _spEffectArea;
+        SerializedProperty _spKeepAspectRatio;
+        SerializedProperty _spReverse;
+        SerializedProperty _spPlay;
+        SerializedProperty _spLoop;
+        SerializedProperty _spLoopDelay;
+        SerializedProperty _spDuration;
+        SerializedProperty _spInitialPlayDelay;
+        SerializedProperty _spUpdateMode;
 
-		Shader _shader;
-		Shader _mobileShader;
-		Shader _spriteShader;
-	}
+        Shader _shader;
+        Shader _mobileShader;
+        Shader _spriteShader;
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs
index ef12c019..e277a46b 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs
@@ -5,184 +5,184 @@ using DesamplingRate = Coffee.UIExtensions.UIEffectCapturedImage.DesamplingRate;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// UIEffectCapturedImage editor.
-	/// </summary>
-	[CustomEditor(typeof(UIEffectCapturedImage))]
-	[CanEditMultipleObjects]
-	public class UIEffectCapturedImageEditor : RawImageEditor
-	{
-		//################################
-		// Constant or Static Members.
-		//################################
+    /// <summary>
+    /// UIEffectCapturedImage editor.
+    /// </summary>
+    [CustomEditor(typeof(UIEffectCapturedImage))]
+    [CanEditMultipleObjects]
+    public class UIEffectCapturedImageEditor : RawImageEditor
+    {
+        //################################
+        // Constant or Static Members.
+        //################################
 
-		public enum QualityMode : int
-		{
-			Fast = (DesamplingRate.x2 << 0) + (DesamplingRate.x2 << 4) + (FilterMode.Bilinear << 8) + (2 << 10),
-			Medium = (DesamplingRate.x1 << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (3 << 10),
-			Detail = (DesamplingRate.None << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (5 << 10),
-			Custom = -1,
-		}
+        public enum QualityMode : int
+        {
+            Fast = (DesamplingRate.x2 << 0) + (DesamplingRate.x2 << 4) + (FilterMode.Bilinear << 8) + (2 << 10),
+            Medium = (DesamplingRate.x1 << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (3 << 10),
+            Detail = (DesamplingRate.None << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (5 << 10),
+            Custom = -1,
+        }
 
 
-		//################################
-		// Public/Protected Members.
-		//################################
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable();
-			_spTexture = serializedObject.FindProperty("m_Texture");
-			_spColor = serializedObject.FindProperty("m_Color");
-			_spRaycastTarget = serializedObject.FindProperty("m_RaycastTarget");
-			_spDesamplingRate = serializedObject.FindProperty("m_DesamplingRate");
-			_spReductionRate = serializedObject.FindProperty("m_ReductionRate");
-			_spFilterMode = serializedObject.FindProperty("m_FilterMode");
-			_spIterations = serializedObject.FindProperty("m_BlurIterations");
-			_spKeepSizeToRootCanvas = serializedObject.FindProperty("m_FitToScreen");
-			_spBlurMode = serializedObject.FindProperty("m_BlurMode");
-			_spCaptureOnEnable = serializedObject.FindProperty("m_CaptureOnEnable");
+        //################################
+        // Public/Protected Members.
+        //################################
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
+            _spTexture = serializedObject.FindProperty("m_Texture");
+            _spColor = serializedObject.FindProperty("m_Color");
+            _spRaycastTarget = serializedObject.FindProperty("m_RaycastTarget");
+            _spDesamplingRate = serializedObject.FindProperty("m_DesamplingRate");
+            _spReductionRate = serializedObject.FindProperty("m_ReductionRate");
+            _spFilterMode = serializedObject.FindProperty("m_FilterMode");
+            _spIterations = serializedObject.FindProperty("m_BlurIterations");
+            _spKeepSizeToRootCanvas = serializedObject.FindProperty("m_FitToScreen");
+            _spBlurMode = serializedObject.FindProperty("m_BlurMode");
+            _spCaptureOnEnable = serializedObject.FindProperty("m_CaptureOnEnable");
 
 
-			_customAdvancedOption = (qualityMode == QualityMode.Custom);
-		}
+            _customAdvancedOption = (qualityMode == QualityMode.Custom);
+        }
 
-		/// <summary>
-		/// Implement this function to make a custom inspector.
-		/// </summary>
-		public override void OnInspectorGUI()
-		{
-			var graphic = (target as UIEffectCapturedImage);
-			serializedObject.Update();
+        /// <summary>
+        /// Implement this function to make a custom inspector.
+        /// </summary>
+        public override void OnInspectorGUI()
+        {
+            var graphic = (target as UIEffectCapturedImage);
+            serializedObject.Update();
 
-			//================
-			// Basic properties.
-			//================
-			EditorGUILayout.PropertyField(_spTexture);
-			EditorGUILayout.PropertyField(_spColor);
-			EditorGUILayout.PropertyField(_spRaycastTarget);
+            //================
+            // Basic properties.
+            //================
+            EditorGUILayout.PropertyField(_spTexture);
+            EditorGUILayout.PropertyField(_spColor);
+            EditorGUILayout.PropertyField(_spRaycastTarget);
 
-			//================
-			// Capture effect.
-			//================
-			GUILayout.Space(10);
-			EditorGUILayout.LabelField("Capture Effect", EditorStyles.boldLabel);
-			UIEffectEditor.DrawEffectProperties(serializedObject, "m_EffectColor");
+            //================
+            // Capture effect.
+            //================
+            GUILayout.Space(10);
+            EditorGUILayout.LabelField("Capture Effect", EditorStyles.boldLabel);
+            UIEffectEditor.DrawEffectProperties(serializedObject, "m_EffectColor");
 
-			//================
-			// Advanced option.
-			//================
-			GUILayout.Space(10);
-			EditorGUILayout.LabelField("Advanced Option", EditorStyles.boldLabel);
+            //================
+            // Advanced option.
+            //================
+            GUILayout.Space(10);
+            EditorGUILayout.LabelField("Advanced Option", EditorStyles.boldLabel);
 
-			EditorGUILayout.PropertyField(_spCaptureOnEnable);// CaptureOnEnable.
-			EditorGUILayout.PropertyField(_spKeepSizeToRootCanvas);// Keep Graphic Size To RootCanvas.
+            EditorGUILayout.PropertyField(_spCaptureOnEnable);// CaptureOnEnable.
+            EditorGUILayout.PropertyField(_spKeepSizeToRootCanvas);// Keep Graphic Size To RootCanvas.
 
-			EditorGUI.BeginChangeCheck();
-			QualityMode quality = qualityMode;
-			quality = (QualityMode)EditorGUILayout.EnumPopup("Quality Mode", quality);
-			if (EditorGUI.EndChangeCheck())
-			{
-				_customAdvancedOption = (quality == QualityMode.Custom);
-				qualityMode = quality;
-			}
+            EditorGUI.BeginChangeCheck();
+            QualityMode quality = qualityMode;
+            quality = (QualityMode)EditorGUILayout.EnumPopup("Quality Mode", quality);
+            if (EditorGUI.EndChangeCheck())
+            {
+                _customAdvancedOption = (quality == QualityMode.Custom);
+                qualityMode = quality;
+            }
 
-			// When qualityMode is `Custom`, show advanced option.
-			if (_customAdvancedOption)
-			{
-				if (_spBlurMode.intValue != 0)
-				{
-					EditorGUILayout.PropertyField(_spIterations);// Iterations.
-				}
-				DrawDesamplingRate(_spReductionRate);// Reduction rate.
+            // When qualityMode is `Custom`, show advanced option.
+            if (_customAdvancedOption)
+            {
+                if (_spBlurMode.intValue != 0)
+                {
+                    EditorGUILayout.PropertyField(_spIterations);// Iterations.
+                }
+                DrawDesamplingRate(_spReductionRate);// Reduction rate.
 
-				EditorGUILayout.Space();
-				EditorGUILayout.LabelField("Result Texture Setting", EditorStyles.boldLabel);
+                EditorGUILayout.Space();
+                EditorGUILayout.LabelField("Result Texture Setting", EditorStyles.boldLabel);
 
-				EditorGUILayout.PropertyField(_spFilterMode);// Filter Mode.
-				DrawDesamplingRate(_spDesamplingRate);// Desampling rate.
-			}
+                EditorGUILayout.PropertyField(_spFilterMode);// Filter Mode.
+                DrawDesamplingRate(_spDesamplingRate);// Desampling rate.
+            }
 
-			serializedObject.ApplyModifiedProperties();
+            serializedObject.ApplyModifiedProperties();
 
-			// Debug.
-			using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox))
-			{
-				GUILayout.Label("Debug");
+            // Debug.
+            using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox))
+            {
+                GUILayout.Label("Debug");
 
-				if (GUILayout.Button("Capture", "ButtonLeft"))
-				{
-					graphic.Release();
-					EditorApplication.delayCall += graphic.Capture;
-				}
+                if (GUILayout.Button("Capture", "ButtonLeft"))
+                {
+                    graphic.Release();
+                    EditorApplication.delayCall += graphic.Capture;
+                }
 
-				EditorGUI.BeginDisabledGroup(!(target as UIEffectCapturedImage).capturedTexture);
-				if (GUILayout.Button("Release", "ButtonRight"))
-				{
-					graphic.Release();
-				}
-				EditorGUI.EndDisabledGroup();
-			}
-		}
+                EditorGUI.BeginDisabledGroup(!(target as UIEffectCapturedImage).capturedTexture);
+                if (GUILayout.Button("Release", "ButtonRight"))
+                {
+                    graphic.Release();
+                }
+                EditorGUI.EndDisabledGroup();
+            }
+        }
 
-		//################################
-		// Private Members.
-		//################################
-		const int Bits4 = (1 << 4) - 1;
-		const int Bits2 = (1 << 2) - 1;
-		bool _customAdvancedOption = false;
-		SerializedProperty _spTexture;
-		SerializedProperty _spColor;
-		SerializedProperty _spRaycastTarget;
-		SerializedProperty _spDesamplingRate;
-		SerializedProperty _spReductionRate;
-		SerializedProperty _spFilterMode;
-		SerializedProperty _spBlurMode;
-		SerializedProperty _spIterations;
-		SerializedProperty _spKeepSizeToRootCanvas;
-		SerializedProperty _spCaptureOnEnable;
+        //################################
+        // Private Members.
+        //################################
+        const int Bits4 = (1 << 4) - 1;
+        const int Bits2 = (1 << 2) - 1;
+        bool _customAdvancedOption = false;
+        SerializedProperty _spTexture;
+        SerializedProperty _spColor;
+        SerializedProperty _spRaycastTarget;
+        SerializedProperty _spDesamplingRate;
+        SerializedProperty _spReductionRate;
+        SerializedProperty _spFilterMode;
+        SerializedProperty _spBlurMode;
+        SerializedProperty _spIterations;
+        SerializedProperty _spKeepSizeToRootCanvas;
+        SerializedProperty _spCaptureOnEnable;
 
-		QualityMode qualityMode
-		{
-			get
-			{
-				if (_customAdvancedOption)
-					return QualityMode.Custom;
+        QualityMode qualityMode
+        {
+            get
+            {
+                if (_customAdvancedOption)
+                    return QualityMode.Custom;
 
-				int qualityValue = (_spDesamplingRate.intValue << 0)
-				                   + (_spReductionRate.intValue << 4)
-				                   + (_spFilterMode.intValue << 8)
-				                   + (_spIterations.intValue << 10);
+                int qualityValue = (_spDesamplingRate.intValue << 0)
+                                   + (_spReductionRate.intValue << 4)
+                                   + (_spFilterMode.intValue << 8)
+                                   + (_spIterations.intValue << 10);
 
-				return System.Enum.IsDefined(typeof(QualityMode), qualityValue) ? (QualityMode)qualityValue : QualityMode.Custom;
-			}
-			set
-			{
-				if (value != QualityMode.Custom)
-				{
-					int qualityValue = (int)value;
-					_spDesamplingRate.intValue = (qualityValue >> 0) & Bits4;
-					_spReductionRate.intValue = (qualityValue >> 4) & Bits4;
-					_spFilterMode.intValue = (qualityValue >> 8) & Bits2;
-					_spIterations.intValue = (qualityValue >> 10) & Bits4;
-				}
-			}
-		}
+                return System.Enum.IsDefined(typeof(QualityMode), qualityValue) ? (QualityMode)qualityValue : QualityMode.Custom;
+            }
+            set
+            {
+                if (value != QualityMode.Custom)
+                {
+                    int qualityValue = (int)value;
+                    _spDesamplingRate.intValue = (qualityValue >> 0) & Bits4;
+                    _spReductionRate.intValue = (qualityValue >> 4) & Bits4;
+                    _spFilterMode.intValue = (qualityValue >> 8) & Bits2;
+                    _spIterations.intValue = (qualityValue >> 10) & Bits4;
+                }
+            }
+        }
 
-		/// <summary>
-		/// Draws the desampling rate.
-		/// </summary>
-		void DrawDesamplingRate(SerializedProperty sp)
-		{
-			using (new EditorGUILayout.HorizontalScope())
-			{
-				EditorGUILayout.PropertyField(sp);
-				int w, h;
-				(target as UIEffectCapturedImage).GetDesamplingSize((UIEffectCapturedImage.DesamplingRate)sp.intValue, out w, out h);
-				GUILayout.Label(string.Format("{0}x{1}", w, h), EditorStyles.miniLabel);
-			}
-		}
-	}
+        /// <summary>
+        /// Draws the desampling rate.
+        /// </summary>
+        void DrawDesamplingRate(SerializedProperty sp)
+        {
+            using (new EditorGUILayout.HorizontalScope())
+            {
+                EditorGUILayout.PropertyField(sp);
+                int w, h;
+                (target as UIEffectCapturedImage).GetDesamplingSize((UIEffectCapturedImage.DesamplingRate)sp.intValue, out w, out h);
+                GUILayout.Label(string.Format("{0}x{1}", w, h), EditorStyles.miniLabel);
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs
index cfb3be0a..c5ac8955 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs
@@ -1,253 +1,256 @@
-using UnityEditor;
-using UnityEditorInternal;
-using UnityEngine;
+using System;
 using System.Linq;
-using System;
+using UnityEditor;
+using UnityEngine;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// UIEffect editor.
-	/// </summary>
-	[CustomEditor(typeof(UIEffect))]
-	[CanEditMultipleObjects]
-	public class UIEffectEditor : BaseMeshEffectEditor
-	{
-		static readonly GUIContent contentEffectColor = new GUIContent ("Effect Color");
+    /// <summary>
+    /// UIEffect editor.
+    /// </summary>
+    [CustomEditor(typeof(UIEffect))]
+    [CanEditMultipleObjects]
+    public class UIEffectEditor : BaseMeshEffectEditor
+    {
+        static readonly GUIContent contentEffectColor = new GUIContent("Effect Color");
 
 
-		//################################
-		// Public/Protected Members.
-		//################################
+        //################################
+        // Public/Protected Members.
+        //################################
 
-		/// <summary>
-		/// Draw effect properties.
-		/// </summary>
-		public static void DrawEffectProperties(SerializedObject serializedObject, string colorProperty = "m_Color")
-		{
-			//================
-			// Effect material.
-			//================
-			var spMaterial = serializedObject.FindProperty("m_EffectMaterial");
-			EditorGUI.BeginDisabledGroup(true);
-			EditorGUILayout.PropertyField(spMaterial);
-			EditorGUI.EndDisabledGroup();
+        /// <summary>
+        /// Draw effect properties.
+        /// </summary>
+        public static void DrawEffectProperties(SerializedObject serializedObject, string colorProperty = "m_Color")
+        {
+            //================
+            // Effect material.
+            //================
+            var spMaterial = serializedObject.FindProperty("m_EffectMaterial");
+            EditorGUI.BeginDisabledGroup(true);
+            EditorGUILayout.PropertyField(spMaterial);
+            EditorGUI.EndDisabledGroup();
 
-			//================
-			// Effect setting.
-			//================
-			var spToneMode = serializedObject.FindProperty("m_EffectMode");
-			EditorGUILayout.PropertyField(spToneMode);
+            //================
+            // Effect setting.
+            //================
+            var spToneMode = serializedObject.FindProperty("m_EffectMode");
+            EditorGUILayout.PropertyField(spToneMode);
 
-			// When tone is enable, show parameters.
-			if (spToneMode.intValue != (int)EffectMode.None)
-			{
-				EditorGUI.indentLevel++;
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor"));
-				EditorGUI.indentLevel--;
-			}
+            // When tone is enable, show parameters.
+            if (spToneMode.intValue != (int)EffectMode.None)
+            {
+                EditorGUI.indentLevel++;
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor"));
+                EditorGUI.indentLevel--;
+            }
 
-			//================
-			// Color setting.
-			//================
-			var spColorMode = serializedObject.FindProperty("m_ColorMode");
-			EditorGUILayout.PropertyField(spColorMode);
+            //================
+            // Color setting.
+            //================
+            var spColorMode = serializedObject.FindProperty("m_ColorMode");
+            EditorGUILayout.PropertyField(spColorMode);
 
-			// When color is enable, show parameters.
-			//if (spColorMode.intValue != (int)ColorMode.Multiply)
-			{
-				EditorGUI.indentLevel++;
+            // When color is enable, show parameters.
+            //if (spColorMode.intValue != (int)ColorMode.Multiply)
+            {
+                EditorGUI.indentLevel++;
 
-				SerializedProperty spColor = serializedObject.FindProperty(colorProperty);
-				if (spColor == null && serializedObject.targetObject is UIEffect) {
-					spColor = new SerializedObject (serializedObject.targetObjects.Select(x=>(x as UIEffect).targetGraphic).ToArray()).FindProperty(colorProperty);
-				}
+                SerializedProperty spColor = serializedObject.FindProperty(colorProperty);
+                if (spColor == null && serializedObject.targetObject is UIEffect)
+                {
+                    spColor = new SerializedObject(serializedObject.targetObjects.Select(x => (x as UIEffect).targetGraphic).ToArray()).FindProperty(colorProperty);
+                }
 
-				EditorGUI.BeginChangeCheck ();
-				EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues;
+                EditorGUI.BeginChangeCheck();
+                EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues;
 #if UNITY_2018_1_OR_NEWER
-				spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false);
+                spColor.colorValue = EditorGUILayout.ColorField(contentEffectColor, spColor.colorValue, true, false, false);
 #else
 				spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false, null);
 #endif
-				if (EditorGUI.EndChangeCheck ()) {
-					spColor.serializedObject.ApplyModifiedProperties ();
-				}
+                if (EditorGUI.EndChangeCheck())
+                {
+                    spColor.serializedObject.ApplyModifiedProperties();
+                }
 
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor"));
-				EditorGUI.indentLevel--;
-			}
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor"));
+                EditorGUI.indentLevel--;
+            }
 
-			//================
-			// Blur setting.
-			//================
-			var spBlurMode = serializedObject.FindProperty("m_BlurMode");
-			EditorGUILayout.PropertyField(spBlurMode);
+            //================
+            // Blur setting.
+            //================
+            var spBlurMode = serializedObject.FindProperty("m_BlurMode");
+            EditorGUILayout.PropertyField(spBlurMode);
 
-			// When blur is enable, show parameters.
-			if (spBlurMode.intValue != (int)BlurMode.None)
-			{
-				EditorGUI.indentLevel++;
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor"));
+            // When blur is enable, show parameters.
+            if (spBlurMode.intValue != (int)BlurMode.None)
+            {
+                EditorGUI.indentLevel++;
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor"));
 
-				var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur");
-				if (spAdvancedBlur != null)
-				{
-					EditorGUILayout.PropertyField(spAdvancedBlur);
-				}
-				EditorGUI.indentLevel--;
-			}
-		}
+                var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur");
+                if (spAdvancedBlur != null)
+                {
+                    EditorGUILayout.PropertyField(spAdvancedBlur);
+                }
+                EditorGUI.indentLevel--;
+            }
+        }
 
-		int GetEnum<T>(Material mat)
-		{
-			Type type = typeof(T);
-			string[] names = System.Enum.GetNames (type);
-			int[] values = System.Enum.GetValues (type) as int[];
+        int GetEnum<T>(Material mat)
+        {
+            Type type = typeof(T);
+            string[] names = System.Enum.GetNames(type);
+            int[] values = System.Enum.GetValues(type) as int[];
 
-			int mode = 0;
-			for(int i=0;i<names.Length;i++)
-			{
-				if (mat.IsKeywordEnabled (names [i].ToUpper()))
-					mode = values [i];
-			}
-			return mode;
-		}
+            int mode = 0;
+            for (int i = 0; i < names.Length; i++)
+            {
+                if (mat.IsKeywordEnabled(names[i].ToUpper()))
+                    mode = values[i];
+            }
+            return mode;
+        }
 
 
-		/// <summary>
-		/// Implement this function to make a custom inspector.
-		/// </summary>
-		public override void OnInspectorGUI()
-		{
-			foreach (var d in targets.Cast<UIEffect> ())
-			{
-				var mat = d.material;
-				if (d.isTMPro && mat)
-				{
-					var so = new SerializedObject (d);
-					EffectMode eMode = (EffectMode)GetEnum<EffectMode> (mat);
-					ColorMode cMode = (ColorMode)GetEnum<ColorMode> (mat);
-					BlurMode bMode = (BlurMode)GetEnum<BlurMode> (mat);
-					bool aBlur = mat.IsKeywordEnabled("EX");
-					if (d.effectMode != eMode || d.colorMode != cMode || d.blurMode != bMode || so.FindProperty ("m_AdvancedBlur").boolValue != aBlur)
-					{
-						so.FindProperty ("m_EffectMode").intValue = (int)eMode;
-						so.FindProperty ("m_ColorMode").intValue = (int)cMode;
-						so.FindProperty ("m_BlurMode").intValue = (int)bMode;
-						so.FindProperty ("m_AdvancedBlur").boolValue = aBlur;
-						so.ApplyModifiedProperties ();
-					}
-				}
-			}
+        /// <summary>
+        /// Implement this function to make a custom inspector.
+        /// </summary>
+        public override void OnInspectorGUI()
+        {
+            foreach (var d in targets.Cast<UIEffect>())
+            {
+                var mat = d.material;
+                if (d.isTMPro && mat)
+                {
+                    var so = new SerializedObject(d);
+                    EffectMode eMode = (EffectMode)GetEnum<EffectMode>(mat);
+                    ColorMode cMode = (ColorMode)GetEnum<ColorMode>(mat);
+                    BlurMode bMode = (BlurMode)GetEnum<BlurMode>(mat);
+                    bool aBlur = mat.IsKeywordEnabled("EX");
+                    if (d.effectMode != eMode || d.colorMode != cMode || d.blurMode != bMode || so.FindProperty("m_AdvancedBlur").boolValue != aBlur)
+                    {
+                        so.FindProperty("m_EffectMode").intValue = (int)eMode;
+                        so.FindProperty("m_ColorMode").intValue = (int)cMode;
+                        so.FindProperty("m_BlurMode").intValue = (int)bMode;
+                        so.FindProperty("m_AdvancedBlur").boolValue = aBlur;
+                        so.ApplyModifiedProperties();
+                    }
+                }
+            }
 
 
-			serializedObject.Update();
-			bool isAnyTMPro = targets.Cast<UIEffect>().Any(x => x.isTMPro);
-			var c = target as UIEffect;
+            serializedObject.Update();
+            bool isAnyTMPro = targets.Cast<UIEffect>().Any(x => x.isTMPro);
+            var c = target as UIEffect;
 
-			//================
-			// Effect material.
-			//================
-			var spMaterial = serializedObject.FindProperty("m_EffectMaterial");
-			EditorGUI.BeginDisabledGroup(true);
-			EditorGUILayout.PropertyField(spMaterial);
-			EditorGUI.EndDisabledGroup();
+            //================
+            // Effect material.
+            //================
+            var spMaterial = serializedObject.FindProperty("m_EffectMaterial");
+            EditorGUI.BeginDisabledGroup(true);
+            EditorGUILayout.PropertyField(spMaterial);
+            EditorGUI.EndDisabledGroup();
 
-			//================
-			// Effect setting.
-			//================
-			var spToneMode = serializedObject.FindProperty("m_EffectMode");
-			using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
-				EditorGUILayout.PropertyField(spToneMode);
+            //================
+            // Effect setting.
+            //================
+            var spToneMode = serializedObject.FindProperty("m_EffectMode");
+            using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
+                EditorGUILayout.PropertyField(spToneMode);
 
-			// When tone is enable, show parameters.
-			if (spToneMode.intValue != (int)EffectMode.None)
-			{
-				EditorGUI.indentLevel++;
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor"));
-				EditorGUI.indentLevel--;
-			}
+            // When tone is enable, show parameters.
+            if (spToneMode.intValue != (int)EffectMode.None)
+            {
+                EditorGUI.indentLevel++;
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor"));
+                EditorGUI.indentLevel--;
+            }
 
-			//================
-			// Color setting.
-			//================
-			var spColorMode = serializedObject.FindProperty("m_ColorMode");
-			using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
-				EditorGUILayout.PropertyField(spColorMode);
+            //================
+            // Color setting.
+            //================
+            var spColorMode = serializedObject.FindProperty("m_ColorMode");
+            using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
+                EditorGUILayout.PropertyField(spColorMode);
 
-			// When color is enable, show parameters.
-			//if (spColorMode.intValue != (int)ColorMode.Multiply)
-			{
-				EditorGUI.indentLevel++;
+            // When color is enable, show parameters.
+            //if (spColorMode.intValue != (int)ColorMode.Multiply)
+            {
+                EditorGUI.indentLevel++;
 
-				SerializedProperty spColor = serializedObject.FindProperty("m_Color");
-				if (spColor == null && serializedObject.targetObject is UIEffect) {
-					spColor = new SerializedObject (serializedObject.targetObjects.Select(x=>(x as UIEffect).targetGraphic).ToArray()).FindProperty(!isAnyTMPro ? "m_Color" : "m_fontColor");
-				}
+                SerializedProperty spColor = serializedObject.FindProperty("m_Color");
+                if (spColor == null && serializedObject.targetObject is UIEffect)
+                {
+                    spColor = new SerializedObject(serializedObject.targetObjects.Select(x => (x as UIEffect).targetGraphic).ToArray()).FindProperty(!isAnyTMPro ? "m_Color" : "m_fontColor");
+                }
 
-				EditorGUI.BeginChangeCheck ();
-				EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues;
-				#if UNITY_2018_1_OR_NEWER
-				spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false);
-				#else
+                EditorGUI.BeginChangeCheck();
+                EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues;
+#if UNITY_2018_1_OR_NEWER
+                spColor.colorValue = EditorGUILayout.ColorField(contentEffectColor, spColor.colorValue, true, false, false);
+#else
 				spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false, null);
-				#endif
-				if (EditorGUI.EndChangeCheck ()) {
-					spColor.serializedObject.ApplyModifiedProperties ();
-				}
+#endif
+                if (EditorGUI.EndChangeCheck())
+                {
+                    spColor.serializedObject.ApplyModifiedProperties();
+                }
 
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor"));
-				EditorGUI.indentLevel--;
-			}
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor"));
+                EditorGUI.indentLevel--;
+            }
 
-			//================
-			// Blur setting.
-			//================
-			var spBlurMode = serializedObject.FindProperty("m_BlurMode");
-			using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
-				EditorGUILayout.PropertyField(spBlurMode);
+            //================
+            // Blur setting.
+            //================
+            var spBlurMode = serializedObject.FindProperty("m_BlurMode");
+            using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
+                EditorGUILayout.PropertyField(spBlurMode);
 
-			// When blur is enable, show parameters.
-			if (spBlurMode.intValue != (int)BlurMode.None)
-			{
-				EditorGUI.indentLevel++;
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor"));
+            // When blur is enable, show parameters.
+            if (spBlurMode.intValue != (int)BlurMode.None)
+            {
+                EditorGUI.indentLevel++;
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor"));
 
-				var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur");
-				using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
-					EditorGUILayout.PropertyField(spAdvancedBlur);
-				EditorGUI.indentLevel--;
-			}
+                var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur");
+                using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
+                    EditorGUILayout.PropertyField(spAdvancedBlur);
+                EditorGUI.indentLevel--;
+            }
 
-			serializedObject.ApplyModifiedProperties();
+            serializedObject.ApplyModifiedProperties();
 
-			c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {});
-			ShowCanvasChannelsWarning ();
+            c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => { });
+            ShowCanvasChannelsWarning();
 
-			ShowMaterialEditors (c.materials, 1, c.materials.Length - 1);
+            ShowMaterialEditors(c.materials, 1, c.materials.Length - 1);
 
-			serializedObject.ApplyModifiedProperties();
-		}
+            serializedObject.ApplyModifiedProperties();
+        }
 
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable ();
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-			_shader = Shader.Find ("TextMeshPro/Distance Field (UIEffect)");
-			_mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIEffect)");
-			_spriteShader = Shader.Find ("TextMeshPro/Sprite (UIEffect)");
-		}
+            _shader = Shader.Find("TextMeshPro/Distance Field (UIEffect)");
+            _mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UIEffect)");
+            _spriteShader = Shader.Find("TextMeshPro/Sprite (UIEffect)");
+        }
 
-		//################################
-		// Private Members.
-		//################################
-		Shader _shader;
-		Shader _mobileShader;
-		Shader _spriteShader;
+        //################################
+        // Private Members.
+        //################################
+        Shader _shader;
+        Shader _mobileShader;
+        Shader _spriteShader;
 
-	}
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs
index e03ca117..47b30350 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs
@@ -1,102 +1,101 @@
 using UnityEditor;
 using UnityEngine;
-using UnityEngine.UI;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// UIEffect editor.
-	/// </summary>
-	[CustomEditor(typeof(UIGradient))]
-	[CanEditMultipleObjects]
-	public class UIGradientEditor : Editor
-	{
-		public override void OnInspectorGUI()
-		{
-			serializedObject.Update();
+    /// <summary>
+    /// UIEffect editor.
+    /// </summary>
+    [CustomEditor(typeof(UIGradient))]
+    [CanEditMultipleObjects]
+    public class UIGradientEditor : Editor
+    {
+        public override void OnInspectorGUI()
+        {
+            serializedObject.Update();
 
-			//================
-			// Direction.
-			//================
-			var spDirection = serializedObject.FindProperty("m_Direction");
-			EditorGUILayout.PropertyField(spDirection);
+            //================
+            // Direction.
+            //================
+            var spDirection = serializedObject.FindProperty("m_Direction");
+            EditorGUILayout.PropertyField(spDirection);
 
 
-			//================
-			// Color.
-			//================
-			var spColor1 = serializedObject.FindProperty("m_Color1");
-			var spColor2 = serializedObject.FindProperty("m_Color2");
-			var spColor3 = serializedObject.FindProperty("m_Color3");
-			var spColor4 = serializedObject.FindProperty("m_Color4");
-			switch ((UIGradient.Direction)spDirection.intValue)
-			{
-				case UIGradient.Direction.Horizontal:
-					EditorGUILayout.PropertyField(spColor1, new GUIContent("Left"));
-					EditorGUILayout.PropertyField(spColor2, new GUIContent("Right"));
-					break;
-				case UIGradient.Direction.Vertical:
-					EditorGUILayout.PropertyField(spColor1, new GUIContent("Top"));
-					EditorGUILayout.PropertyField(spColor2, new GUIContent("Bottom"));
-					break;
-				case UIGradient.Direction.Angle:
-					EditorGUILayout.PropertyField(spColor1, new GUIContent("Color 1"));
-					EditorGUILayout.PropertyField(spColor2, new GUIContent("Color 2"));
-					break;
-				case UIGradient.Direction.Diagonal:
-					Rect r = EditorGUILayout.GetControlRect(false, 34);
+            //================
+            // Color.
+            //================
+            var spColor1 = serializedObject.FindProperty("m_Color1");
+            var spColor2 = serializedObject.FindProperty("m_Color2");
+            var spColor3 = serializedObject.FindProperty("m_Color3");
+            var spColor4 = serializedObject.FindProperty("m_Color4");
+            switch ((UIGradient.Direction)spDirection.intValue)
+            {
+                case UIGradient.Direction.Horizontal:
+                    EditorGUILayout.PropertyField(spColor1, new GUIContent("Left"));
+                    EditorGUILayout.PropertyField(spColor2, new GUIContent("Right"));
+                    break;
+                case UIGradient.Direction.Vertical:
+                    EditorGUILayout.PropertyField(spColor1, new GUIContent("Top"));
+                    EditorGUILayout.PropertyField(spColor2, new GUIContent("Bottom"));
+                    break;
+                case UIGradient.Direction.Angle:
+                    EditorGUILayout.PropertyField(spColor1, new GUIContent("Color 1"));
+                    EditorGUILayout.PropertyField(spColor2, new GUIContent("Color 2"));
+                    break;
+                case UIGradient.Direction.Diagonal:
+                    Rect r = EditorGUILayout.GetControlRect(false, 34);
 
-					r = EditorGUI.PrefixLabel(r, new GUIContent("Diagonal Color"));
-					float w = r.width / 2;
+                    r = EditorGUI.PrefixLabel(r, new GUIContent("Diagonal Color"));
+                    float w = r.width / 2;
 
-					EditorGUI.PropertyField(new Rect(r.x, r.y, w, 16), spColor3, GUIContent.none);
-					EditorGUI.PropertyField(new Rect(r.x + w, r.y, w, 16), spColor4, GUIContent.none);
-					EditorGUI.PropertyField(new Rect(r.x, r.y + 18, w, 16), spColor1, GUIContent.none);
-					EditorGUI.PropertyField(new Rect(r.x + w, r.y + 18, w, 16), spColor2, GUIContent.none);
-					break;
-			}
+                    EditorGUI.PropertyField(new Rect(r.x, r.y, w, 16), spColor3, GUIContent.none);
+                    EditorGUI.PropertyField(new Rect(r.x + w, r.y, w, 16), spColor4, GUIContent.none);
+                    EditorGUI.PropertyField(new Rect(r.x, r.y + 18, w, 16), spColor1, GUIContent.none);
+                    EditorGUI.PropertyField(new Rect(r.x + w, r.y + 18, w, 16), spColor2, GUIContent.none);
+                    break;
+            }
 
 
-			//================
-			// Angle.
-			//================
-			if ((int)UIGradient.Direction.Angle <= spDirection.intValue)
-			{
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Rotation"));
-			}
+            //================
+            // Angle.
+            //================
+            if ((int)UIGradient.Direction.Angle <= spDirection.intValue)
+            {
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Rotation"));
+            }
 
 
-			//================
-			// Offset.
-			//================
-			if ((int)UIGradient.Direction.Diagonal == spDirection.intValue)
-			{
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Vertical Offset"));
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset2"), new GUIContent("Horizontal Offset"));
-			}
-			else
-			{
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Offset"));
-			}
+            //================
+            // Offset.
+            //================
+            if ((int)UIGradient.Direction.Diagonal == spDirection.intValue)
+            {
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Vertical Offset"));
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset2"), new GUIContent("Horizontal Offset"));
+            }
+            else
+            {
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Offset"));
+            }
 
 
-			//================
-			// Advanced options.
-			//================
-			EditorGUILayout.Space();
-			EditorGUILayout.LabelField("Advanced Options", EditorStyles.boldLabel);
-			EditorGUI.indentLevel++;
-			{
-				//if ((target as UIGradient).targetGraphic is Text)
-					EditorGUILayout.PropertyField(serializedObject.FindProperty("m_GradientStyle"));
-				
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorSpace"));
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_IgnoreAspectRatio"));
-			}
-			EditorGUI.indentLevel--;
+            //================
+            // Advanced options.
+            //================
+            EditorGUILayout.Space();
+            EditorGUILayout.LabelField("Advanced Options", EditorStyles.boldLabel);
+            EditorGUI.indentLevel++;
+            {
+                //if ((target as UIGradient).targetGraphic is Text)
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_GradientStyle"));
 
-			serializedObject.ApplyModifiedProperties();
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorSpace"));
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_IgnoreAspectRatio"));
+            }
+            EditorGUI.indentLevel--;
 
-		}
-	}
+            serializedObject.ApplyModifiedProperties();
+
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs
index 928c036d..e7cb0a9c 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs
@@ -1,84 +1,82 @@
 using UnityEditor;
-using UnityEditorInternal;
 using UnityEngine;
-using System.Linq;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// UIEffect editor.
-	/// </summary>
-	[CustomEditor(typeof(UIHsvModifier))]
-	[CanEditMultipleObjects]
-	public class UIHsvModifierEditor : BaseMeshEffectEditor
-	{
-		//################################
-		// Public/Protected Members.
-		//################################
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable ();
+    /// <summary>
+    /// UIEffect editor.
+    /// </summary>
+    [CustomEditor(typeof(UIHsvModifier))]
+    [CanEditMultipleObjects]
+    public class UIHsvModifierEditor : BaseMeshEffectEditor
+    {
+        //################################
+        // Public/Protected Members.
+        //################################
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-			_spMaterial = serializedObject.FindProperty("m_EffectMaterial");
-			_spTargetColor = serializedObject.FindProperty("m_TargetColor");
-			_spRange = serializedObject.FindProperty("m_Range");
-			_spHue = serializedObject.FindProperty("m_Hue");
-			_spSaturation = serializedObject.FindProperty("m_Saturation");
-			_spValue = serializedObject.FindProperty("m_Value");
+            _spMaterial = serializedObject.FindProperty("m_EffectMaterial");
+            _spTargetColor = serializedObject.FindProperty("m_TargetColor");
+            _spRange = serializedObject.FindProperty("m_Range");
+            _spHue = serializedObject.FindProperty("m_Hue");
+            _spSaturation = serializedObject.FindProperty("m_Saturation");
+            _spValue = serializedObject.FindProperty("m_Value");
 
-			_shader = Shader.Find ("TextMeshPro/Distance Field (UIHsvModifier)");
-			_mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIHsvModifier)");
-			_spriteShader = Shader.Find ("TextMeshPro/Sprite (UIHsvModifier)");
-		}
+            _shader = Shader.Find("TextMeshPro/Distance Field (UIHsvModifier)");
+            _mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UIHsvModifier)");
+            _spriteShader = Shader.Find("TextMeshPro/Sprite (UIHsvModifier)");
+        }
 
 
-		/// <summary>
-		/// Implement this function to make a custom inspector.
-		/// </summary>
-		public override void OnInspectorGUI()
-		{
-			serializedObject.Update();
+        /// <summary>
+        /// Implement this function to make a custom inspector.
+        /// </summary>
+        public override void OnInspectorGUI()
+        {
+            serializedObject.Update();
 
-			//================
-			// Effect material.
-			//================
-			EditorGUI.BeginDisabledGroup(true);
-			EditorGUILayout.PropertyField(_spMaterial);
-			EditorGUI.EndDisabledGroup();
+            //================
+            // Effect material.
+            //================
+            EditorGUI.BeginDisabledGroup(true);
+            EditorGUILayout.PropertyField(_spMaterial);
+            EditorGUI.EndDisabledGroup();
 
-			//================
-			// Effect setting.
-			//================
-			EditorGUILayout.PropertyField(_spTargetColor);
-			EditorGUILayout.PropertyField(_spRange);
-			EditorGUILayout.PropertyField(_spHue);
-			EditorGUILayout.PropertyField(_spSaturation);
-			EditorGUILayout.PropertyField(_spValue);
+            //================
+            // Effect setting.
+            //================
+            EditorGUILayout.PropertyField(_spTargetColor);
+            EditorGUILayout.PropertyField(_spRange);
+            EditorGUILayout.PropertyField(_spHue);
+            EditorGUILayout.PropertyField(_spSaturation);
+            EditorGUILayout.PropertyField(_spValue);
 
-			var c = target as UIHsvModifier;
-			c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {});
-			ShowCanvasChannelsWarning ();
+            var c = target as UIHsvModifier;
+            c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => { });
+            ShowCanvasChannelsWarning();
 
-			ShowMaterialEditors (c.materials, 1, c.materials.Length - 1);
+            ShowMaterialEditors(c.materials, 1, c.materials.Length - 1);
 
-			serializedObject.ApplyModifiedProperties();
-		}
+            serializedObject.ApplyModifiedProperties();
+        }
 
-		//################################
-		// Private Members.
-		//################################
-		SerializedProperty _spMaterial;
-		SerializedProperty _spTargetColor;
-		SerializedProperty _spRange;
-		SerializedProperty _spHue;
-		SerializedProperty _spSaturation;
-		SerializedProperty _spValue;
+        //################################
+        // Private Members.
+        //################################
+        SerializedProperty _spMaterial;
+        SerializedProperty _spTargetColor;
+        SerializedProperty _spRange;
+        SerializedProperty _spHue;
+        SerializedProperty _spSaturation;
+        SerializedProperty _spValue;
 
-		Shader _shader;
-		Shader _mobileShader;
-		Shader _spriteShader;
-	}
+        Shader _shader;
+        Shader _mobileShader;
+        Shader _spriteShader;
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs
index 1e9e729d..7f8a6136 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs
@@ -1,54 +1,52 @@
 using UnityEditor;
-using UnityEditorInternal;
-using UnityEngine;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// UIShadow editor.
-	/// </summary>
-	[CustomEditor(typeof(UIShadow))]
-	[CanEditMultipleObjects]
-	public class UIShadowEditor : Editor
-	{
-		UIEffect uiEffect;
+    /// <summary>
+    /// UIShadow editor.
+    /// </summary>
+    [CustomEditor(typeof(UIShadow))]
+    [CanEditMultipleObjects]
+    public class UIShadowEditor : Editor
+    {
+        UIEffect uiEffect;
 
-		void OnEnable()
-		{
-			uiEffect = (target as UIShadow).GetComponent<UIEffect>();
+        void OnEnable()
+        {
+            uiEffect = (target as UIShadow).GetComponent<UIEffect>();
 
-		}
+        }
 
 
-		/// <summary>
-		/// Implement this function to make a custom inspector.
-		/// </summary>
-		public override void OnInspectorGUI()
-		{
-			serializedObject.Update();
+        /// <summary>
+        /// Implement this function to make a custom inspector.
+        /// </summary>
+        public override void OnInspectorGUI()
+        {
+            serializedObject.Update();
 
-			//================
-			// Shadow setting.
-			//================
-			var spShadowMode = serializedObject.FindProperty("m_Style");
-			EditorGUILayout.PropertyField(spShadowMode);
+            //================
+            // Shadow setting.
+            //================
+            var spShadowMode = serializedObject.FindProperty("m_Style");
+            EditorGUILayout.PropertyField(spShadowMode);
 
-			// When shadow is enable, show parameters.
-			if (spShadowMode.intValue != (int)ShadowStyle.None)
-			{
-				EditorGUI.indentLevel++;
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectDistance"));
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectColor"));
-				EditorGUILayout.PropertyField(serializedObject.FindProperty("m_UseGraphicAlpha"));
+            // When shadow is enable, show parameters.
+            if (spShadowMode.intValue != (int)ShadowStyle.None)
+            {
+                EditorGUI.indentLevel++;
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectDistance"));
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectColor"));
+                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_UseGraphicAlpha"));
 
-				if (uiEffect && uiEffect.blurMode != BlurMode.None)
-				{
-					EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor"));
-				}
-				EditorGUI.indentLevel--;
-			}
+                if (uiEffect && uiEffect.blurMode != BlurMode.None)
+                {
+                    EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor"));
+                }
+                EditorGUI.indentLevel--;
+            }
 
-			serializedObject.ApplyModifiedProperties();
-		}
-	}
+            serializedObject.ApplyModifiedProperties();
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs
index 5d9cfe04..98923856 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs
@@ -1,135 +1,133 @@
 using UnityEditor;
-using UnityEditorInternal;
 using UnityEngine;
-using System.Linq;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// UIEffect editor.
-	/// </summary>
-	[CustomEditor(typeof(UIShiny))]
-	[CanEditMultipleObjects]
-	public class UIShinyEditor : BaseMeshEffectEditor
-	{
-		//################################
-		// Public/Protected Members.
-		//################################
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable ();
+    /// <summary>
+    /// UIEffect editor.
+    /// </summary>
+    [CustomEditor(typeof(UIShiny))]
+    [CanEditMultipleObjects]
+    public class UIShinyEditor : BaseMeshEffectEditor
+    {
+        //################################
+        // Public/Protected Members.
+        //################################
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-			_spMaterial = serializedObject.FindProperty("m_EffectMaterial");
-			_spEffectFactor = serializedObject.FindProperty("m_EffectFactor");
-			_spEffectArea = serializedObject.FindProperty("m_EffectArea");
-			_spWidth = serializedObject.FindProperty("m_Width");
-			_spRotation = serializedObject.FindProperty("m_Rotation");
-			_spSoftness = serializedObject.FindProperty("m_Softness");
-			_spBrightness = serializedObject.FindProperty("m_Brightness");
-			_spGloss = serializedObject.FindProperty("m_Gloss");
-			var player = serializedObject.FindProperty("m_Player");
-			_spPlay = player.FindPropertyRelative("play");
-			_spDuration = player.FindPropertyRelative("duration");
-			_spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay");
-			_spLoop = player.FindPropertyRelative("loop");
-			_spLoopDelay = player.FindPropertyRelative("loopDelay");
-			_spUpdateMode = player.FindPropertyRelative("updateMode");
+            _spMaterial = serializedObject.FindProperty("m_EffectMaterial");
+            _spEffectFactor = serializedObject.FindProperty("m_EffectFactor");
+            _spEffectArea = serializedObject.FindProperty("m_EffectArea");
+            _spWidth = serializedObject.FindProperty("m_Width");
+            _spRotation = serializedObject.FindProperty("m_Rotation");
+            _spSoftness = serializedObject.FindProperty("m_Softness");
+            _spBrightness = serializedObject.FindProperty("m_Brightness");
+            _spGloss = serializedObject.FindProperty("m_Gloss");
+            var player = serializedObject.FindProperty("m_Player");
+            _spPlay = player.FindPropertyRelative("play");
+            _spDuration = player.FindPropertyRelative("duration");
+            _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay");
+            _spLoop = player.FindPropertyRelative("loop");
+            _spLoopDelay = player.FindPropertyRelative("loopDelay");
+            _spUpdateMode = player.FindPropertyRelative("updateMode");
 
 
-			_shader = Shader.Find ("TextMeshPro/Distance Field (UIShiny)");
-			_mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIShiny)");
-			_spriteShader = Shader.Find ("TextMeshPro/Sprite (UIShiny)");
-		}
+            _shader = Shader.Find("TextMeshPro/Distance Field (UIShiny)");
+            _mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UIShiny)");
+            _spriteShader = Shader.Find("TextMeshPro/Sprite (UIShiny)");
+        }
 
 
-		/// <summary>
-		/// Implement this function to make a custom inspector.
-		/// </summary>
-		public override void OnInspectorGUI()
-		{
-			serializedObject.Update();
+        /// <summary>
+        /// Implement this function to make a custom inspector.
+        /// </summary>
+        public override void OnInspectorGUI()
+        {
+            serializedObject.Update();
 
-			//================
-			// Effect material.
-			//================
-			EditorGUI.BeginDisabledGroup(true);
-			EditorGUILayout.PropertyField(_spMaterial);
-			EditorGUI.EndDisabledGroup();
+            //================
+            // Effect material.
+            //================
+            EditorGUI.BeginDisabledGroup(true);
+            EditorGUILayout.PropertyField(_spMaterial);
+            EditorGUI.EndDisabledGroup();
 
-			//================
-			// Effect setting.
-			//================
-			EditorGUILayout.PropertyField(_spEffectFactor);
-			EditorGUILayout.PropertyField(_spWidth);
-			EditorGUILayout.PropertyField(_spRotation);
-			EditorGUILayout.PropertyField(_spSoftness);
-			EditorGUILayout.PropertyField(_spBrightness);
-			EditorGUILayout.PropertyField(_spGloss);
+            //================
+            // Effect setting.
+            //================
+            EditorGUILayout.PropertyField(_spEffectFactor);
+            EditorGUILayout.PropertyField(_spWidth);
+            EditorGUILayout.PropertyField(_spRotation);
+            EditorGUILayout.PropertyField(_spSoftness);
+            EditorGUILayout.PropertyField(_spBrightness);
+            EditorGUILayout.PropertyField(_spGloss);
 
-			//================
-			// Advanced option.
-			//================
-			EditorGUILayout.PropertyField(_spEffectArea);
+            //================
+            // Advanced option.
+            //================
+            EditorGUILayout.PropertyField(_spEffectArea);
 
-			//================
-			// Effect player.
-			//================
-			EditorGUILayout.PropertyField(_spPlay);
-			EditorGUILayout.PropertyField(_spDuration);
-			EditorGUILayout.PropertyField(_spInitialPlayDelay);
-			EditorGUILayout.PropertyField(_spLoop);
-			EditorGUILayout.PropertyField(_spLoopDelay);
-			EditorGUILayout.PropertyField(_spUpdateMode);
+            //================
+            // Effect player.
+            //================
+            EditorGUILayout.PropertyField(_spPlay);
+            EditorGUILayout.PropertyField(_spDuration);
+            EditorGUILayout.PropertyField(_spInitialPlayDelay);
+            EditorGUILayout.PropertyField(_spLoop);
+            EditorGUILayout.PropertyField(_spLoopDelay);
+            EditorGUILayout.PropertyField(_spUpdateMode);
 
-			// Debug.
-			using (new EditorGUI.DisabledGroupScope(!Application.isPlaying))
-			using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox))
-			{
-				GUILayout.Label("Debug");
+            // Debug.
+            using (new EditorGUI.DisabledGroupScope(!Application.isPlaying))
+            using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox))
+            {
+                GUILayout.Label("Debug");
 
-				if (GUILayout.Button("Play", "ButtonLeft"))
-				{
-					(target as UIShiny).Play();
-				}
+                if (GUILayout.Button("Play", "ButtonLeft"))
+                {
+                    (target as UIShiny).Play();
+                }
 
-				if (GUILayout.Button("Stop", "ButtonRight"))
-				{
-					(target as UIShiny).Stop();
-				}
-			}
+                if (GUILayout.Button("Stop", "ButtonRight"))
+                {
+                    (target as UIShiny).Stop();
+                }
+            }
 
-			var c = target as UIShiny;
-			c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {});
-			ShowCanvasChannelsWarning ();
+            var c = target as UIShiny;
+            c.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => { });
+            ShowCanvasChannelsWarning();
 
-			ShowMaterialEditors (c.materials, 1, c.materials.Length - 1);
+            ShowMaterialEditors(c.materials, 1, c.materials.Length - 1);
 
-			serializedObject.ApplyModifiedProperties();
-		}
+            serializedObject.ApplyModifiedProperties();
+        }
 
-		//################################
-		// Private Members.
-		//################################
-		SerializedProperty _spMaterial;
-		SerializedProperty _spEffectFactor;
-		SerializedProperty _spWidth;
-		SerializedProperty _spRotation;
-		SerializedProperty _spSoftness;
-		SerializedProperty _spBrightness;
-		SerializedProperty _spGloss;
-		SerializedProperty _spEffectArea;
-		SerializedProperty _spPlay;
-		SerializedProperty _spLoop;
-		SerializedProperty _spLoopDelay;
-		SerializedProperty _spDuration;
-		SerializedProperty _spInitialPlayDelay;
-		SerializedProperty _spUpdateMode;
+        //################################
+        // Private Members.
+        //################################
+        SerializedProperty _spMaterial;
+        SerializedProperty _spEffectFactor;
+        SerializedProperty _spWidth;
+        SerializedProperty _spRotation;
+        SerializedProperty _spSoftness;
+        SerializedProperty _spBrightness;
+        SerializedProperty _spGloss;
+        SerializedProperty _spEffectArea;
+        SerializedProperty _spPlay;
+        SerializedProperty _spLoop;
+        SerializedProperty _spLoopDelay;
+        SerializedProperty _spDuration;
+        SerializedProperty _spInitialPlayDelay;
+        SerializedProperty _spUpdateMode;
 
-		Shader _shader;
-		Shader _mobileShader;
-		Shader _spriteShader;
-	}
+        Shader _shader;
+        Shader _mobileShader;
+        Shader _spriteShader;
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs
index f511126f..fad4a6e1 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs
@@ -1,190 +1,189 @@
-using UnityEditor;
-using UnityEditorInternal;
+using System.Linq;
+using UnityEditor;
 using UnityEngine;
-using System.Linq;
 
 namespace Coffee.UIExtensions.Editors
 {
-	/// <summary>
-	/// UIEffect editor.
-	/// </summary>
-	[CustomEditor(typeof(UITransitionEffect))]
-	[CanEditMultipleObjects]
-	public class UITransitionEffectEditor : BaseMeshEffectEditor
-	{
-		static int s_NoiseTexId;
+    /// <summary>
+    /// UIEffect editor.
+    /// </summary>
+    [CustomEditor(typeof(UITransitionEffect))]
+    [CanEditMultipleObjects]
+    public class UITransitionEffectEditor : BaseMeshEffectEditor
+    {
+        static int s_NoiseTexId;
 
-		//################################
-		// Public/Protected Members.
-		//################################
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable();
+        //################################
+        // Public/Protected Members.
+        //################################
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-			_spMaterial = serializedObject.FindProperty("m_EffectMaterial");
-			_spEffectMode = serializedObject.FindProperty("m_EffectMode");
-			_spEffectFactor = serializedObject.FindProperty("m_EffectFactor");
-			_spEffectArea = serializedObject.FindProperty("m_EffectArea");
-			_spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio");
-			_spDissolveWidth = serializedObject.FindProperty("m_DissolveWidth");
-			_spDissolveSoftness = serializedObject.FindProperty("m_DissolveSoftness");
-			_spDissolveColor = serializedObject.FindProperty("m_DissolveColor");
-			_spTransitionTexture = serializedObject.FindProperty("m_TransitionTexture");
-			var player = serializedObject.FindProperty("m_Player");
-			_spPlay = player.FindPropertyRelative("play");
-			_spDuration = player.FindPropertyRelative("duration");
-			_spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay");
-			_spLoop = player.FindPropertyRelative("loop");
-			_spLoopDelay = player.FindPropertyRelative("loopDelay");
-			_spUpdateMode = player.FindPropertyRelative("updateMode");
-			_spPassRayOnHidden = serializedObject.FindProperty("m_PassRayOnHidden");
+            _spMaterial = serializedObject.FindProperty("m_EffectMaterial");
+            _spEffectMode = serializedObject.FindProperty("m_EffectMode");
+            _spEffectFactor = serializedObject.FindProperty("m_EffectFactor");
+            _spEffectArea = serializedObject.FindProperty("m_EffectArea");
+            _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio");
+            _spDissolveWidth = serializedObject.FindProperty("m_DissolveWidth");
+            _spDissolveSoftness = serializedObject.FindProperty("m_DissolveSoftness");
+            _spDissolveColor = serializedObject.FindProperty("m_DissolveColor");
+            _spTransitionTexture = serializedObject.FindProperty("m_TransitionTexture");
+            var player = serializedObject.FindProperty("m_Player");
+            _spPlay = player.FindPropertyRelative("play");
+            _spDuration = player.FindPropertyRelative("duration");
+            _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay");
+            _spLoop = player.FindPropertyRelative("loop");
+            _spLoopDelay = player.FindPropertyRelative("loopDelay");
+            _spUpdateMode = player.FindPropertyRelative("updateMode");
+            _spPassRayOnHidden = serializedObject.FindProperty("m_PassRayOnHidden");
 
-			s_NoiseTexId = Shader.PropertyToID("_NoiseTex");
+            s_NoiseTexId = Shader.PropertyToID("_NoiseTex");
 
-			_shader = Shader.Find("TextMeshPro/Distance Field (UITransition)");
-			_mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UITransition)");
-			_spriteShader = Shader.Find("TextMeshPro/Sprite (UITransition)");
-		}
+            _shader = Shader.Find("TextMeshPro/Distance Field (UITransition)");
+            _mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UITransition)");
+            _spriteShader = Shader.Find("TextMeshPro/Sprite (UITransition)");
+        }
 
 
-		/// <summary>
-		/// Implement this function to make a custom inspector.
-		/// </summary>
-		public override void OnInspectorGUI()
-		{
-			foreach (var d in targets.Cast<UITransitionEffect> ())
-			{
-				var mat = d.material;
-				if (d.isTMPro && mat && mat.HasProperty (s_NoiseTexId))
-				{
-					Texture noiseTexture = mat.GetTexture (s_NoiseTexId);
-					UITransitionEffect.EffectMode mode =
-						mat.IsKeywordEnabled ("CUTOFF") ? UITransitionEffect.EffectMode.Cutoff
-						: mat.IsKeywordEnabled ("FADE") ? UITransitionEffect.EffectMode.Fade
-						: mat.IsKeywordEnabled ("DISSOLVE") ? UITransitionEffect.EffectMode.Dissolve
-						: (UITransitionEffect.EffectMode)0;
+        /// <summary>
+        /// Implement this function to make a custom inspector.
+        /// </summary>
+        public override void OnInspectorGUI()
+        {
+            foreach (var d in targets.Cast<UITransitionEffect>())
+            {
+                var mat = d.material;
+                if (d.isTMPro && mat && mat.HasProperty(s_NoiseTexId))
+                {
+                    Texture noiseTexture = mat.GetTexture(s_NoiseTexId);
+                    UITransitionEffect.EffectMode mode =
+                        mat.IsKeywordEnabled("CUTOFF") ? UITransitionEffect.EffectMode.Cutoff
+                        : mat.IsKeywordEnabled("FADE") ? UITransitionEffect.EffectMode.Fade
+                        : mat.IsKeywordEnabled("DISSOLVE") ? UITransitionEffect.EffectMode.Dissolve
+                        : (UITransitionEffect.EffectMode)0;
 
-					if (mode == (UITransitionEffect.EffectMode)0)
-					{
-						mode = UITransitionEffect.EffectMode.Cutoff;
-						mat.EnableKeyword ("CUTOFF");
-					}
+                    if (mode == (UITransitionEffect.EffectMode)0)
+                    {
+                        mode = UITransitionEffect.EffectMode.Cutoff;
+                        mat.EnableKeyword("CUTOFF");
+                    }
 
-					bool hasChanged = d.transitionTexture != noiseTexture || d.effectMode != mode;
+                    bool hasChanged = d.transitionTexture != noiseTexture || d.effectMode != mode;
 
-					if (hasChanged)
-					{
-						var so = new SerializedObject (d);
-						so.FindProperty ("m_TransitionTexture").objectReferenceValue = noiseTexture;
-						so.FindProperty ("m_EffectMode").intValue = (int)mode;
-						so.ApplyModifiedProperties ();
-					}
-				}
-			}
+                    if (hasChanged)
+                    {
+                        var so = new SerializedObject(d);
+                        so.FindProperty("m_TransitionTexture").objectReferenceValue = noiseTexture;
+                        so.FindProperty("m_EffectMode").intValue = (int)mode;
+                        so.ApplyModifiedProperties();
+                    }
+                }
+            }
 
-			serializedObject.Update();
+            serializedObject.Update();
 
-			//================
-			// Effect material.
-			//================
-			EditorGUI.BeginDisabledGroup(true);
-			EditorGUILayout.PropertyField(_spMaterial);
-			EditorGUI.EndDisabledGroup();
+            //================
+            // Effect material.
+            //================
+            EditorGUI.BeginDisabledGroup(true);
+            EditorGUILayout.PropertyField(_spMaterial);
+            EditorGUI.EndDisabledGroup();
 
-			//================
-			// Effect setting.
-			//================
-			bool isAnyTMPro = targets.Cast<UITransitionEffect>().Any(x => x.isTMPro);
-			using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
-				EditorGUILayout.PropertyField(_spEffectMode);
+            //================
+            // Effect setting.
+            //================
+            bool isAnyTMPro = targets.Cast<UITransitionEffect>().Any(x => x.isTMPro);
+            using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
+                EditorGUILayout.PropertyField(_spEffectMode);
 
-			EditorGUI.indentLevel++;
-			EditorGUILayout.PropertyField(_spEffectFactor);
-			if (_spEffectMode.intValue == (int)UITransitionEffect.EffectMode.Dissolve)
-			{
-				EditorGUILayout.PropertyField(_spDissolveWidth);
-				EditorGUILayout.PropertyField(_spDissolveSoftness);
-				EditorGUILayout.PropertyField(_spDissolveColor);
-			}
-			EditorGUI.indentLevel--;
+            EditorGUI.indentLevel++;
+            EditorGUILayout.PropertyField(_spEffectFactor);
+            if (_spEffectMode.intValue == (int)UITransitionEffect.EffectMode.Dissolve)
+            {
+                EditorGUILayout.PropertyField(_spDissolveWidth);
+                EditorGUILayout.PropertyField(_spDissolveSoftness);
+                EditorGUILayout.PropertyField(_spDissolveColor);
+            }
+            EditorGUI.indentLevel--;
 
-			//================
-			// Advanced option.
-			//================
-			EditorGUILayout.PropertyField(_spEffectArea);
-			using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
-				EditorGUILayout.PropertyField(_spTransitionTexture);
-			EditorGUILayout.PropertyField(_spKeepAspectRatio);
-			EditorGUILayout.PropertyField(_spPassRayOnHidden);
+            //================
+            // Advanced option.
+            //================
+            EditorGUILayout.PropertyField(_spEffectArea);
+            using (new EditorGUI.DisabledGroupScope(isAnyTMPro))
+                EditorGUILayout.PropertyField(_spTransitionTexture);
+            EditorGUILayout.PropertyField(_spKeepAspectRatio);
+            EditorGUILayout.PropertyField(_spPassRayOnHidden);
 
-			//================
-			// Effect player.
-			//================
-			EditorGUILayout.PropertyField(_spPlay);
-			EditorGUILayout.PropertyField(_spDuration);
-			EditorGUILayout.PropertyField(_spInitialPlayDelay);
-			EditorGUILayout.PropertyField(_spLoop);
-			EditorGUILayout.PropertyField(_spLoopDelay);
-			EditorGUILayout.PropertyField(_spUpdateMode);
+            //================
+            // Effect player.
+            //================
+            EditorGUILayout.PropertyField(_spPlay);
+            EditorGUILayout.PropertyField(_spDuration);
+            EditorGUILayout.PropertyField(_spInitialPlayDelay);
+            EditorGUILayout.PropertyField(_spLoop);
+            EditorGUILayout.PropertyField(_spLoopDelay);
+            EditorGUILayout.PropertyField(_spUpdateMode);
 
-			// Debug.
-			using (new EditorGUI.DisabledGroupScope(!Application.isPlaying))
-			using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox))
-			{
-				GUILayout.Label("Debug");
+            // Debug.
+            using (new EditorGUI.DisabledGroupScope(!Application.isPlaying))
+            using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox))
+            {
+                GUILayout.Label("Debug");
 
-				if (GUILayout.Button("Show", "ButtonLeft"))
-				{
-					(target as UITransitionEffect).Show();
-				}
+                if (GUILayout.Button("Show", "ButtonLeft"))
+                {
+                    (target as UITransitionEffect).Show();
+                }
 
-				if (GUILayout.Button("Hide", "ButtonRight"))
-				{
-					(target as UITransitionEffect).Hide();
-				}
-			}
+                if (GUILayout.Button("Hide", "ButtonRight"))
+                {
+                    (target as UITransitionEffect).Hide();
+                }
+            }
 
-			var current = target as UITransitionEffect;
-			current.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat =>
-				{
-					if (mat.shader == _spriteShader)
-					{
-						mat.shaderKeywords = current.material.shaderKeywords;
-						mat.SetTexture(s_NoiseTexId, current.material.GetTexture(s_NoiseTexId));
-					}
-				});
-			ShowCanvasChannelsWarning();
+            var current = target as UITransitionEffect;
+            current.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat =>
+                {
+                    if (mat.shader == _spriteShader)
+                    {
+                        mat.shaderKeywords = current.material.shaderKeywords;
+                        mat.SetTexture(s_NoiseTexId, current.material.GetTexture(s_NoiseTexId));
+                    }
+                });
+            ShowCanvasChannelsWarning();
 
-			ShowMaterialEditors(current.materials, 1, current.materials.Length - 1);
+            ShowMaterialEditors(current.materials, 1, current.materials.Length - 1);
 
-			serializedObject.ApplyModifiedProperties();
-		}
+            serializedObject.ApplyModifiedProperties();
+        }
 
-		//################################
-		// Private Members.
-		//################################
-		SerializedProperty _spMaterial;
-		SerializedProperty _spEffectMode;
-		SerializedProperty _spEffectFactor;
-		SerializedProperty _spEffectArea;
-		SerializedProperty _spKeepAspectRatio;
-		SerializedProperty _spDissolveWidth;
-		SerializedProperty _spDissolveSoftness;
-		SerializedProperty _spDissolveColor;
-		SerializedProperty _spTransitionTexture;
-		SerializedProperty _spPlay;
-		SerializedProperty _spLoop;
-		SerializedProperty _spLoopDelay;
-		SerializedProperty _spDuration;
-		SerializedProperty _spInitialPlayDelay;
-		SerializedProperty _spUpdateMode;
-		SerializedProperty _spPassRayOnHidden;
+        //################################
+        // Private Members.
+        //################################
+        SerializedProperty _spMaterial;
+        SerializedProperty _spEffectMode;
+        SerializedProperty _spEffectFactor;
+        SerializedProperty _spEffectArea;
+        SerializedProperty _spKeepAspectRatio;
+        SerializedProperty _spDissolveWidth;
+        SerializedProperty _spDissolveSoftness;
+        SerializedProperty _spDissolveColor;
+        SerializedProperty _spTransitionTexture;
+        SerializedProperty _spPlay;
+        SerializedProperty _spLoop;
+        SerializedProperty _spLoopDelay;
+        SerializedProperty _spDuration;
+        SerializedProperty _spInitialPlayDelay;
+        SerializedProperty _spUpdateMode;
+        SerializedProperty _spPassRayOnHidden;
 
-		Shader _shader;
-		Shader _mobileShader;
-		Shader _spriteShader;
-	}
+        Shader _shader;
+        Shader _mobileShader;
+        Shader _spriteShader;
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs
index 983f40ea..0b395417 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs
@@ -1,432 +1,434 @@
 using System;
 using UnityEngine;
-using UnityEngine.UI;
 using UnityEngine.Serialization;
+using UnityEngine.UI;
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Dissolve effect for uGUI.
-	/// </summary>
-	[AddComponentMenu("UI/UIEffect/UIDissolve", 3)]
-	public class UIDissolve : UIEffectBase
-	{
-		//################################
-		// Constant or Static Members.
-		//################################
-		public const string shaderName = "UI/Hidden/UI-Effect-Dissolve";
-		static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex");
+    /// <summary>
+    /// Dissolve effect for uGUI.
+    /// </summary>
+    [AddComponentMenu("UI/UIEffect/UIDissolve", 3)]
+    public class UIDissolve : UIEffectBase
+    {
+        //################################
+        // Constant or Static Members.
+        //################################
+        public const string shaderName = "UI/Hidden/UI-Effect-Dissolve";
+        static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex");
 
 
-		//################################
-		// Serialize Members.
-		//################################
-		[Tooltip("Current location[0-1] for dissolve effect. 0 is not dissolved, 1 is completely dissolved.")]
-		[FormerlySerializedAs("m_Location")]
-		[SerializeField] [Range(0, 1)] float m_EffectFactor = 0.5f;
+        //################################
+        // Serialize Members.
+        //################################
+        [Tooltip("Current location[0-1] for dissolve effect. 0 is not dissolved, 1 is completely dissolved.")]
+        [FormerlySerializedAs("m_Location")]
+        [SerializeField][Range(0, 1)] float m_EffectFactor = 0.5f;
 
-		[Tooltip("Edge width.")]
-		[SerializeField] [Range(0, 1)] float m_Width = 0.5f;
+        [Tooltip("Edge width.")]
+        [SerializeField][Range(0, 1)] float m_Width = 0.5f;
 
-		[Tooltip("Edge softness.")]
-		[SerializeField] [Range(0, 1)] float m_Softness = 0.5f;
+        [Tooltip("Edge softness.")]
+        [SerializeField][Range(0, 1)] float m_Softness = 0.5f;
 
-		[Tooltip("Edge color.")]
-		[SerializeField] [ColorUsage(false)] Color m_Color = new Color(0.0f, 0.25f, 1.0f);
+        [Tooltip("Edge color.")]
+        [SerializeField][ColorUsage(false)] Color m_Color = new Color(0.0f, 0.25f, 1.0f);
 
-		[Tooltip("Edge color effect mode.")]
-		[SerializeField] ColorMode m_ColorMode = ColorMode.Add;
+        [Tooltip("Edge color effect mode.")]
+        [SerializeField] ColorMode m_ColorMode = ColorMode.Add;
 
-		[Tooltip("Noise texture for dissolving (single channel texture).")]
-		[SerializeField] Texture m_NoiseTexture;
+        [Tooltip("Noise texture for dissolving (single channel texture).")]
+        [SerializeField] Texture m_NoiseTexture;
 
-		[Header("Advanced Option")]
-		[Tooltip("The area for effect.")]
-		[SerializeField] protected EffectArea m_EffectArea;
+        [Header("Advanced Option")]
+        [Tooltip("The area for effect.")]
+        [SerializeField] protected EffectArea m_EffectArea;
 
-		[Tooltip("Keep effect aspect ratio.")]
-		[SerializeField] bool m_KeepAspectRatio;
+        [Tooltip("Keep effect aspect ratio.")]
+        [SerializeField] bool m_KeepAspectRatio;
 
-		[Header("Effect Player")]
-		[SerializeField] EffectPlayer m_Player;
+        [Header("Effect Player")]
+        [SerializeField] EffectPlayer m_Player;
 
-		[Tooltip("Reverse the dissolve effect.")]
-		[FormerlySerializedAs("m_ReverseAnimation")]
-		[SerializeField] bool m_Reverse = false;
+        [Tooltip("Reverse the dissolve effect.")]
+        [FormerlySerializedAs("m_ReverseAnimation")]
+        [SerializeField] bool m_Reverse = false;
 
-		#pragma warning disable 0414
-		[Obsolete][HideInInspector]
-		[SerializeField][Range(0.1f, 10)] float m_Duration = 1;
-		[Obsolete][HideInInspector]
-		[SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal;
-		#pragma warning restore 0414
+#pragma warning disable 0414
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField][Range(0.1f, 10)] float m_Duration = 1;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal;
+#pragma warning restore 0414
 
 
-		//################################
-		// Public Members.
-		//################################
+        //################################
+        // Public Members.
+        //################################
 
-		/// <summary>
-		/// Effect factor between 0(start) and 1(end).
-		/// </summary>
-		[System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
-		public float location
-		{
-			get { return m_EffectFactor; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_EffectFactor, value))
-				{
-					m_EffectFactor = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Effect factor between 0(start) and 1(end).
+        /// </summary>
+        [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
+        public float location
+        {
+            get { return m_EffectFactor; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_EffectFactor, value))
+                {
+                    m_EffectFactor = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Effect factor between 0(start) and 1(end).
-		/// </summary>
-		public float effectFactor
-		{
-			get { return m_EffectFactor; }
-			set
-			{ 
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_EffectFactor, value))
-				{
-					m_EffectFactor = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Effect factor between 0(start) and 1(end).
+        /// </summary>
+        public float effectFactor
+        {
+            get { return m_EffectFactor; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_EffectFactor, value))
+                {
+                    m_EffectFactor = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Edge width.
-		/// </summary>
-		public float width
-		{
-			get { return m_Width; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_Width, value))
-				{
-					m_Width = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Edge width.
+        /// </summary>
+        public float width
+        {
+            get { return m_Width; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_Width, value))
+                {
+                    m_Width = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Edge softness.
-		/// </summary>
-		public float softness
-		{
-			get { return m_Softness; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_Softness, value))
-				{
-					m_Softness = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Edge softness.
+        /// </summary>
+        public float softness
+        {
+            get { return m_Softness; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_Softness, value))
+                {
+                    m_Softness = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Edge color.
-		/// </summary>
-		public Color color
-		{
-			get { return m_Color; }
-			set
-			{
-				if (m_Color != value)
-				{
-					m_Color = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Edge color.
+        /// </summary>
+        public Color color
+        {
+            get { return m_Color; }
+            set
+            {
+                if (m_Color != value)
+                {
+                    m_Color = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Noise texture.
-		/// </summary>
-		public Texture noiseTexture
-		{
-			get { return m_NoiseTexture ?? material.GetTexture("_NoiseTex"); }
-			set
-			{
-				if (m_NoiseTexture != value)
-				{
-					m_NoiseTexture = value;
-					if (graphic)
-					{
-						ModifyMaterial();
-					}
-				}
-			}
-		}
+        /// <summary>
+        /// Noise texture.
+        /// </summary>
+        public Texture noiseTexture
+        {
+            get { return m_NoiseTexture ?? material.GetTexture("_NoiseTex"); }
+            set
+            {
+                if (m_NoiseTexture != value)
+                {
+                    m_NoiseTexture = value;
+                    if (graphic)
+                    {
+                        ModifyMaterial();
+                    }
+                }
+            }
+        }
 
-		/// <summary>
-		/// The area for effect.
-		/// </summary>
-		public EffectArea effectArea
-		{
-			get { return m_EffectArea; }
-			set
-			{
-				if (m_EffectArea != value)
-				{
-					m_EffectArea = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// The area for effect.
+        /// </summary>
+        public EffectArea effectArea
+        {
+            get { return m_EffectArea; }
+            set
+            {
+                if (m_EffectArea != value)
+                {
+                    m_EffectArea = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Keep aspect ratio.
-		/// </summary>
-		public bool keepAspectRatio
-		{
-			get { return m_KeepAspectRatio; }
-			set
-			{
-				if (m_KeepAspectRatio != value)
-				{
-					m_KeepAspectRatio = value;
-					SetVerticesDirty ();
-				}
-			}
-		}
+        /// <summary>
+        /// Keep aspect ratio.
+        /// </summary>
+        public bool keepAspectRatio
+        {
+            get { return m_KeepAspectRatio; }
+            set
+            {
+                if (m_KeepAspectRatio != value)
+                {
+                    m_KeepAspectRatio = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Color effect mode.
-		/// </summary>
-		public ColorMode colorMode { get { return m_ColorMode; } }
+        /// <summary>
+        /// Color effect mode.
+        /// </summary>
+        public ColorMode colorMode { get { return m_ColorMode; } }
 
-		/// <summary>
-		/// Play effect on enable.
-		/// </summary>
-		[System.Obsolete("Use Play/Stop method instead")]
-		public bool play { get { return _player.play; } set { _player.play = value; } }
+        /// <summary>
+        /// Play effect on enable.
+        /// </summary>
+        [System.Obsolete("Use Play/Stop method instead")]
+        public bool play { get { return _player.play; } set { _player.play = value; } }
 
-		/// <summary>
-		/// Play effect loop.
-		/// </summary>
-		[System.Obsolete]
-		public bool loop { get { return _player.loop; } set { _player.loop = value; } }
+        /// <summary>
+        /// Play effect loop.
+        /// </summary>
+        [System.Obsolete]
+        public bool loop { get { return _player.loop; } set { _player.loop = value; } }
 
-		/// <summary>
-		/// The duration for playing effect.
-		/// </summary>
-		public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } }
+        /// <summary>
+        /// The duration for playing effect.
+        /// </summary>
+        public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } }
 
-		/// <summary>
-		/// Delay on loop effect.
-		/// </summary>
-		[System.Obsolete]
-		public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } }
+        /// <summary>
+        /// Delay on loop effect.
+        /// </summary>
+        [System.Obsolete]
+        public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } }
 
-		/// <summary>
-		/// Update mode for playing effect.
-		/// </summary>
-		public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } }
+        /// <summary>
+        /// Update mode for playing effect.
+        /// </summary>
+        public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } }
 
-		/// <summary>
-		/// Reverse the dissolve effect.
-		/// </summary>
-		public bool reverse { get { return m_Reverse; } set { m_Reverse = value; } }
+        /// <summary>
+        /// Reverse the dissolve effect.
+        /// </summary>
+        public bool reverse { get { return m_Reverse; } set { m_Reverse = value; } }
 
-		/// <summary>
-		/// Gets the parameter texture.
-		/// </summary>
-		public override ParameterTexture ptex { get { return _ptex; } }
+        /// <summary>
+        /// Gets the parameter texture.
+        /// </summary>
+        public override ParameterTexture ptex { get { return _ptex; } }
 
-		/// <summary>
-		/// Modifies the material.
-		/// </summary>
-		public override void ModifyMaterial()
-		{
-			if (isTMPro)
-			{
-				return;
-			}
+        /// <summary>
+        /// Modifies the material.
+        /// </summary>
+        public override void ModifyMaterial()
+        {
+            if (isTMPro)
+            {
+                return;
+            }
 
-			ulong hash = (m_NoiseTexture ? (uint)m_NoiseTexture.GetInstanceID() : 0) + ((ulong)1 << 32) + ((ulong)m_ColorMode << 36);
-			if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial))
-			{
-				MaterialCache.Unregister(_materialCache);
-				_materialCache = null;
-			}
+            ulong hash = (m_NoiseTexture ? (uint)m_NoiseTexture.GetInstanceID() : 0) + ((ulong)1 << 32) + ((ulong)m_ColorMode << 36);
+            if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial))
+            {
+                MaterialCache.Unregister(_materialCache);
+                _materialCache = null;
+            }
 
-			if (!isActiveAndEnabled || !m_EffectMaterial)
-			{
-				material = null;
-			}
-			else if (!m_NoiseTexture)
-			{
-				material = m_EffectMaterial;
-			}
-			else if (_materialCache != null && _materialCache.hash == hash)
-			{
-				material = _materialCache.material;
-			}
-			else
-			{
-				_materialCache = MaterialCache.Register(hash, m_NoiseTexture, () =>
-					{
-						var mat = new Material(m_EffectMaterial);
-						mat.name += "_" + m_NoiseTexture.name;
-						mat.SetTexture("_NoiseTex", m_NoiseTexture);
-						return mat;
-					});
-				material = _materialCache.material;
-			}
-		}
+            if (!isActiveAndEnabled || !m_EffectMaterial)
+            {
+                material = null;
+            }
+            else if (!m_NoiseTexture)
+            {
+                material = m_EffectMaterial;
+            }
+            else if (_materialCache != null && _materialCache.hash == hash)
+            {
+                material = _materialCache.material;
+            }
+            else
+            {
+                _materialCache = MaterialCache.Register(hash, m_NoiseTexture, () =>
+                    {
+                        var mat = new Material(m_EffectMaterial);
+                        mat.name += "_" + m_NoiseTexture.name;
+                        mat.SetTexture("_NoiseTex", m_NoiseTexture);
+                        return mat;
+                    });
+                material = _materialCache.material;
+            }
+        }
 
-		/// <summary>
-		/// Modifies the mesh.
-		/// </summary>
-		public override void ModifyMesh(VertexHelper vh)
-		{
-			if (!isActiveAndEnabled)
-				return;
+        /// <summary>
+        /// Modifies the mesh.
+        /// </summary>
+        public override void ModifyMesh(VertexHelper vh)
+        {
+            if (!isActiveAndEnabled)
+                return;
 
-			bool isText = isTMPro || graphic is Text;
-			float normalizedIndex = ptex.GetNormalizedIndex(this);
+            bool isText = isTMPro || graphic is Text;
+            float normalizedIndex = ptex.GetNormalizedIndex(this);
 
-			// rect.
-			var tex = noiseTexture;
-			var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1;
-			Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio);
+            // rect.
+            var tex = noiseTexture;
+            var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1;
+            Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio);
 
-			// Calculate vertex position.
-			UIVertex vertex = default(UIVertex);
-			float x, y;
-			int count = vh.currentVertCount;
-			for (int i = 0; i < count; i++)
-			{
-				vh.PopulateUIVertex(ref vertex, i);
-				m_EffectArea.GetPositionFactor (i, rect, vertex.position, isText, isTMPro, out x, out y);
+            // Calculate vertex position.
+            UIVertex vertex = default(UIVertex);
+            float x, y;
+            int count = vh.currentVertCount;
+            for (int i = 0; i < count; i++)
+            {
+                vh.PopulateUIVertex(ref vertex, i);
+                m_EffectArea.GetPositionFactor(i, rect, vertex.position, isText, isTMPro, out x, out y);
 
-				vertex.uv0 = new Vector2(
-					Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
-					Packer.ToFloat(x, y, normalizedIndex)
-				);
-//				if(!isTMPro)
-//				{
-//					vertex.uv0 = new Vector2(
-//						Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
-//						Packer.ToFloat(x, y, normalizedIndex)
-//					);
-//				}
-//				#if UNITY_5_6_OR_NEWER
-//				else
-//				{
-//					vertex.uv2 = new Vector2 (
-//						Packer.ToFloat (x, y, normalizedIndex),
-//						0
-//					);
-//				}
-//				#endif
+                vertex.uv0 = new Vector2(
+                    Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
+                    Packer.ToFloat(x, y, normalizedIndex)
+                );
+                //				if(!isTMPro)
+                //				{
+                //					vertex.uv0 = new Vector2(
+                //						Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
+                //						Packer.ToFloat(x, y, normalizedIndex)
+                //					);
+                //				}
+                //				#if UNITY_5_6_OR_NEWER
+                //				else
+                //				{
+                //					vertex.uv2 = new Vector2 (
+                //						Packer.ToFloat (x, y, normalizedIndex),
+                //						0
+                //					);
+                //				}
+                //				#endif
 
-				vh.SetUIVertex(vertex, i);
-			}
-		}
+                vh.SetUIVertex(vertex, i);
+            }
+        }
 
-		protected override void SetDirty()
-		{
-			foreach(var m in materials)
-			{
-				ptex.RegisterMaterial (m);
-			}
-			ptex.SetData(this, 0, m_EffectFactor);	// param1.x : location
-			ptex.SetData(this, 1, m_Width);		// param1.y : width
-			ptex.SetData(this, 2, m_Softness);	// param1.z : softness
-			ptex.SetData(this, 4, m_Color.r);	// param2.x : red
-			ptex.SetData(this, 5, m_Color.g);	// param2.y : green
-			ptex.SetData(this, 6, m_Color.b);	// param2.z : blue
-		}
+        protected override void SetDirty()
+        {
+            foreach (var m in materials)
+            {
+                ptex.RegisterMaterial(m);
+            }
+            ptex.SetData(this, 0, m_EffectFactor);  // param1.x : location
+            ptex.SetData(this, 1, m_Width);     // param1.y : width
+            ptex.SetData(this, 2, m_Softness);  // param1.z : softness
+            ptex.SetData(this, 4, m_Color.r);   // param2.x : red
+            ptex.SetData(this, 5, m_Color.g);   // param2.y : green
+            ptex.SetData(this, 6, m_Color.b);   // param2.z : blue
+        }
 
-		/// <summary>
-		/// Play effect.
-		/// </summary>
-		public void Play(bool reset = true)
-		{
-			_player.Play(reset);
-		}
+        /// <summary>
+        /// Play effect.
+        /// </summary>
+        public void Play(bool reset = true)
+        {
+            _player.Play(reset);
+        }
 
-		/// <summary>
-		/// Stop effect.
-		/// </summary>
-		public void Stop(bool reset = true)
-		{
-			_player.Stop(reset);
-		}
+        /// <summary>
+        /// Stop effect.
+        /// </summary>
+        public void Stop(bool reset = true)
+        {
+            _player.Stop(reset);
+        }
 
-		//################################
-		// Protected Members.
-		//################################
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable();
+        //################################
+        // Protected Members.
+        //################################
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-			_player.OnEnable((f) =>
-			{
-				effectFactor = m_Reverse ? 1f - f : f;
-			});
-		}
+            _player.OnEnable((f) =>
+            {
+                effectFactor = m_Reverse ? 1f - f : f;
+            });
+        }
 
-		protected override void OnDisable()
-		{
-			base.OnDisable ();
-			MaterialCache.Unregister(_materialCache);
-			_materialCache = null;
-			_player.OnDisable();
-		}
+        protected override void OnDisable()
+        {
+            base.OnDisable();
+            MaterialCache.Unregister(_materialCache);
+            _materialCache = null;
+            _player.OnDisable();
+        }
 
 #if UNITY_EDITOR
-		/// <summary>
-		/// Gets the material.
-		/// </summary>
-		/// <returns>The material.</returns>
-		protected override Material GetMaterial()
-		{
-			if (isTMPro)
-			{
-				return null;
-			}
+        /// <summary>
+        /// Gets the material.
+        /// </summary>
+        /// <returns>The material.</returns>
+        protected override Material GetMaterial()
+        {
+            if (isTMPro)
+            {
+                return null;
+            }
 
-			return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_ColorMode);
-		}
+            return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_ColorMode);
+        }
 
-		#pragma warning disable 0612
-		protected override void UpgradeIfNeeded()
-		{
-			// Upgrade for v3.0.0
-			if (IsShouldUpgrade(300))
-			{
-				_player.play = false;
-				_player.duration = m_Duration;
-				_player.loop = false;
-				_player.loopDelay = 1;
-				_player.updateMode = m_UpdateMode;
-			}
-		}
-		#pragma warning restore 0612
+#pragma warning disable 0612
+        protected override void UpgradeIfNeeded()
+        {
+            // Upgrade for v3.0.0
+            if (IsShouldUpgrade(300))
+            {
+                _player.play = false;
+                _player.duration = m_Duration;
+                _player.loop = false;
+                _player.loopDelay = 1;
+                _player.updateMode = m_UpdateMode;
+            }
+        }
+#pragma warning restore 0612
 #endif
 
-		//################################
-		// Private Members.
-		//################################
-		MaterialCache _materialCache = null;
+        //################################
+        // Private Members.
+        //################################
+        MaterialCache _materialCache = null;
 
-		EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } }
-	}
+        EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } }
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs
index 69ff52dd..badda376 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs
@@ -5,484 +5,490 @@ using UnityEngine.UI;
 using UnityEngine.Serialization;
 
 #if UNITY_EDITOR
-using System.IO;
 using System.Linq;
 using UnityEditor;
 #endif
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// UIEffect.
-	/// </summary>
-	[ExecuteInEditMode]
-	[RequireComponent(typeof(Graphic))]
-	[DisallowMultipleComponent]
-	[AddComponentMenu("UI/UIEffect/UIEffect", 1)]
-	public class UIEffect : UIEffectBase
-	{
-		//################################
-		// Constant or Static Members.
-		//################################
-		public const string shaderName = "UI/Hidden/UI-Effect";
-		static readonly ParameterTexture _ptex = new ParameterTexture(4, 1024, "_ParamTex");
+    /// <summary>
+    /// UIEffect.
+    /// </summary>
+    [ExecuteInEditMode]
+    [RequireComponent(typeof(Graphic))]
+    [DisallowMultipleComponent]
+    [AddComponentMenu("UI/UIEffect/UIEffect", 1)]
+    public class UIEffect : UIEffectBase
+    {
+        //################################
+        // Constant or Static Members.
+        //################################
+        public const string shaderName = "UI/Hidden/UI-Effect";
+        static readonly ParameterTexture _ptex = new ParameterTexture(4, 1024, "_ParamTex");
 
 
-		//################################
-		// Serialize Members.
-		//################################
-		[FormerlySerializedAs("m_ToneLevel")]
-		[Tooltip("Effect factor between 0(no effect) and 1(complete effect).")]
-		[SerializeField][Range(0, 1)] float m_EffectFactor = 1;
+        //################################
+        // Serialize Members.
+        //################################
+        [FormerlySerializedAs("m_ToneLevel")]
+        [Tooltip("Effect factor between 0(no effect) and 1(complete effect).")]
+        [SerializeField][Range(0, 1)] float m_EffectFactor = 1;
 
-		[Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")]
-		[SerializeField][Range(0, 1)] float m_ColorFactor = 1;
+        [Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")]
+        [SerializeField][Range(0, 1)] float m_ColorFactor = 1;
 
-		[FormerlySerializedAs("m_Blur")]
-		[Tooltip("How far is the blurring from the graphic.")]
-		[SerializeField][Range(0, 1)] float m_BlurFactor = 1;
+        [FormerlySerializedAs("m_Blur")]
+        [Tooltip("How far is the blurring from the graphic.")]
+        [SerializeField][Range(0, 1)] float m_BlurFactor = 1;
 
-		[FormerlySerializedAs("m_ToneMode")]
-		[Tooltip("Effect mode")]
-		[SerializeField] EffectMode m_EffectMode = EffectMode.None;
+        [FormerlySerializedAs("m_ToneMode")]
+        [Tooltip("Effect mode")]
+        [SerializeField] EffectMode m_EffectMode = EffectMode.None;
 
-		[Tooltip("Color effect mode")]
-		[SerializeField] ColorMode m_ColorMode = ColorMode.Multiply;
+        [Tooltip("Color effect mode")]
+        [SerializeField] ColorMode m_ColorMode = ColorMode.Multiply;
 
-		[Tooltip("Blur effect mode")]
-		[SerializeField] BlurMode m_BlurMode = BlurMode.None;
+        [Tooltip("Blur effect mode")]
+        [SerializeField] BlurMode m_BlurMode = BlurMode.None;
 
-		[Tooltip("Advanced blurring remove common artifacts in the blur effect for uGUI.")]
-		[SerializeField] bool m_AdvancedBlur = false;
+        [Tooltip("Advanced blurring remove common artifacts in the blur effect for uGUI.")]
+        [SerializeField] bool m_AdvancedBlur = false;
 
-		#pragma warning disable 0414
-		[Obsolete][HideInInspector]
-		[SerializeField][Range(0, 1)] float m_ShadowBlur = 1;
-		[Obsolete][HideInInspector]
-		[SerializeField] ShadowStyle m_ShadowStyle;
-		[Obsolete][HideInInspector]
-		[SerializeField] Color m_ShadowColor = Color.black;
-		[Obsolete][HideInInspector]
-		[SerializeField] Vector2 m_EffectDistance = new Vector2(1f, -1f);
-		[Obsolete][HideInInspector]
-		[SerializeField] bool m_UseGraphicAlpha = true;
-		[Obsolete][HideInInspector]
-		[SerializeField] Color m_EffectColor = Color.white;
-		[Obsolete][HideInInspector]
-		[SerializeField] List<UIShadow.AdditionalShadow> m_AdditionalShadows = new List<UIShadow.AdditionalShadow>();
-		#pragma warning restore 0414
+#pragma warning disable 0414
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField][Range(0, 1)] float m_ShadowBlur = 1;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] ShadowStyle m_ShadowStyle;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] Color m_ShadowColor = Color.black;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] Vector2 m_EffectDistance = new Vector2(1f, -1f);
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] bool m_UseGraphicAlpha = true;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] Color m_EffectColor = Color.white;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] List<UIShadow.AdditionalShadow> m_AdditionalShadows = new List<UIShadow.AdditionalShadow>();
+#pragma warning restore 0414
 
-		public enum BlurEx
-		{
-			None = 0,
-			Ex = 1,
-		}
+        public enum BlurEx
+        {
+            None = 0,
+            Ex = 1,
+        }
 
-		//################################
-		// Public Members.
-		//################################
+        //################################
+        // Public Members.
+        //################################
 #if UNITY_2017_1_OR_NEWER
-		public override AdditionalCanvasShaderChannels requiredChannels
-		{
-			get
-			{
-				if (advancedBlur)
-				{
-					return isTMPro
-						? AdditionalCanvasShaderChannels.TexCoord1 | AdditionalCanvasShaderChannels.TexCoord2
-						: AdditionalCanvasShaderChannels.TexCoord1;
-				}
-				return AdditionalCanvasShaderChannels.None;
-			}
-		}
+        public override AdditionalCanvasShaderChannels requiredChannels
+        {
+            get
+            {
+                if (advancedBlur)
+                {
+                    return isTMPro
+                        ? AdditionalCanvasShaderChannels.TexCoord1 | AdditionalCanvasShaderChannels.TexCoord2
+                        : AdditionalCanvasShaderChannels.TexCoord1;
+                }
+                return AdditionalCanvasShaderChannels.None;
+            }
+        }
 #endif
 
-		/// <summary>
-		/// Effect factor between 0(no effect) and 1(complete effect).
-		/// </summary>
-		[System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
-		public float toneLevel
-		{
-			get { return m_EffectFactor; }
-			set
-			{
-				m_EffectFactor = Mathf.Clamp(value, 0, 1);
-				SetDirty();
-			}
-		}
+        /// <summary>
+        /// Effect factor between 0(no effect) and 1(complete effect).
+        /// </summary>
+        [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
+        public float toneLevel
+        {
+            get { return m_EffectFactor; }
+            set
+            {
+                m_EffectFactor = Mathf.Clamp(value, 0, 1);
+                SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// Effect factor between 0(no effect) and 1(complete effect).
-		/// </summary>
-		public float effectFactor
-		{
-			get { return m_EffectFactor; }
-			set
-			{
-				m_EffectFactor = Mathf.Clamp(value, 0, 1);
-				SetDirty();
-			}
-		}
+        /// <summary>
+        /// Effect factor between 0(no effect) and 1(complete effect).
+        /// </summary>
+        public float effectFactor
+        {
+            get { return m_EffectFactor; }
+            set
+            {
+                m_EffectFactor = Mathf.Clamp(value, 0, 1);
+                SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// Color effect factor between 0(no effect) and 1(complete effect).
-		/// </summary>
-		public float colorFactor
-		{
-			get { return m_ColorFactor; }
-			set
-			{
-				m_ColorFactor = Mathf.Clamp(value, 0, 1);
-				SetDirty();
-			}
-		}
+        /// <summary>
+        /// Color effect factor between 0(no effect) and 1(complete effect).
+        /// </summary>
+        public float colorFactor
+        {
+            get { return m_ColorFactor; }
+            set
+            {
+                m_ColorFactor = Mathf.Clamp(value, 0, 1);
+                SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// How far is the blurring from the graphic.
-		/// </summary>
-		[System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")]
-		public float blur
-		{
-			get { return m_BlurFactor; }
-			set
-			{
-				m_BlurFactor = Mathf.Clamp(value, 0, 1);
-				SetDirty();
-			}
-		}
+        /// <summary>
+        /// How far is the blurring from the graphic.
+        /// </summary>
+        [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")]
+        public float blur
+        {
+            get { return m_BlurFactor; }
+            set
+            {
+                m_BlurFactor = Mathf.Clamp(value, 0, 1);
+                SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// How far is the blurring from the graphic.
-		/// </summary>
-		[System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
-		public float blurFactor
-		{
-			get { return m_BlurFactor; }
-			set
-			{
-				m_BlurFactor = Mathf.Clamp(value, 0, 1);
-				SetDirty();
-			}
-		}
+        /// <summary>
+        /// How far is the blurring from the graphic.
+        /// </summary>
+        [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
+        public float blurFactor
+        {
+            get { return m_BlurFactor; }
+            set
+            {
+                m_BlurFactor = Mathf.Clamp(value, 0, 1);
+                SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// Effect mode(readonly).
-		/// </summary>
-		[System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")]
-		public EffectMode toneMode { get { return m_EffectMode; } }
+        /// <summary>
+        /// Effect mode(readonly).
+        /// </summary>
+        [System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")]
+        public EffectMode toneMode { get { return m_EffectMode; } }
 
-		/// <summary>
-		/// Effect mode(readonly).
-		/// </summary>
-		public EffectMode effectMode { get { return m_EffectMode; } }
+        /// <summary>
+        /// Effect mode(readonly).
+        /// </summary>
+        public EffectMode effectMode { get { return m_EffectMode; } }
 
-		/// <summary>
-		/// Color effect mode(readonly).
-		/// </summary>
-		public ColorMode colorMode { get { return m_ColorMode; } }
+        /// <summary>
+        /// Color effect mode(readonly).
+        /// </summary>
+        public ColorMode colorMode { get { return m_ColorMode; } }
 
-		/// <summary>
-		/// Blur effect mode(readonly).
-		/// </summary>
-		public BlurMode blurMode { get { return m_BlurMode; } }
+        /// <summary>
+        /// Blur effect mode(readonly).
+        /// </summary>
+        public BlurMode blurMode { get { return m_BlurMode; } }
 
-		/// <summary>
-		/// Color for the color effect.
-		/// </summary>
-		public Color effectColor
-		{
-			get { return graphic.color; }
-			set
-			{
-				graphic.color = value;
-				SetDirty();
-			}
-		}
+        /// <summary>
+        /// Color for the color effect.
+        /// </summary>
+        public Color effectColor
+        {
+            get { return graphic.color; }
+            set
+            {
+                graphic.color = value;
+                SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// Gets the parameter texture.
-		/// </summary>
-		public override ParameterTexture ptex { get { return _ptex; } }
+        /// <summary>
+        /// Gets the parameter texture.
+        /// </summary>
+        public override ParameterTexture ptex { get { return _ptex; } }
 
-		/// <summary>
-		/// Advanced blurring remove common artifacts in the blur effect for uGUI.
-		/// </summary>
-		public bool advancedBlur { get { return isTMPro ? (material && material.IsKeywordEnabled("EX")) : m_AdvancedBlur; } }
+        /// <summary>
+        /// Advanced blurring remove common artifacts in the blur effect for uGUI.
+        /// </summary>
+        public bool advancedBlur { get { return isTMPro ? (material && material.IsKeywordEnabled("EX")) : m_AdvancedBlur; } }
 
-		/// <summary>
-		/// Modifies the mesh.
-		/// </summary>
-		public override void ModifyMesh(VertexHelper vh)
-		{
-			if (!isActiveAndEnabled)
-			{
-				return;
-			}
+        /// <summary>
+        /// Modifies the mesh.
+        /// </summary>
+        public override void ModifyMesh(VertexHelper vh)
+        {
+            if (!isActiveAndEnabled)
+            {
+                return;
+            }
 
-			float normalizedIndex = ptex.GetNormalizedIndex(this);
+            float normalizedIndex = ptex.GetNormalizedIndex(this);
 
-			if (m_BlurMode != BlurMode.None && advancedBlur)
-			{
-				vh.GetUIVertexStream(tempVerts);
-				vh.Clear();
-				var count = tempVerts.Count;
+            if (m_BlurMode != BlurMode.None && advancedBlur)
+            {
+                vh.GetUIVertexStream(tempVerts);
+                vh.Clear();
+                var count = tempVerts.Count;
 
-				// Bundle
-				int bundleSize = (targetGraphic is Text || isTMPro) ? 6 : count;
-				Rect posBounds = default(Rect);
-				Rect uvBounds = default(Rect);
-				Vector3 size = default(Vector3);
-				Vector3 tPos = default(Vector3);
-				Vector3 tUV = default(Vector3);
-				float expand = (float)blurMode * 6 * 2;
+                // Bundle
+                int bundleSize = (targetGraphic is Text || isTMPro) ? 6 : count;
+                Rect posBounds = default(Rect);
+                Rect uvBounds = default(Rect);
+                Vector3 size = default(Vector3);
+                Vector3 tPos = default(Vector3);
+                Vector3 tUV = default(Vector3);
+                float expand = (float)blurMode * 6 * 2;
 
-				for (int i = 0; i < count; i += bundleSize)
-				{
-					// min/max for bundled-quad
-					GetBounds(tempVerts, i, bundleSize, ref posBounds, ref uvBounds, true);
+                for (int i = 0; i < count; i += bundleSize)
+                {
+                    // min/max for bundled-quad
+                    GetBounds(tempVerts, i, bundleSize, ref posBounds, ref uvBounds, true);
 
-					// Pack uv mask.
-					Vector2 uvMask = new Vector2(Packer.ToFloat(uvBounds.xMin, uvBounds.yMin), Packer.ToFloat(uvBounds.xMax, uvBounds.yMax));
+                    // Pack uv mask.
+                    Vector2 uvMask = new Vector2(Packer.ToFloat(uvBounds.xMin, uvBounds.yMin), Packer.ToFloat(uvBounds.xMax, uvBounds.yMax));
 
-					// Quad
-					for (int j = 0; j < bundleSize; j += 6)
-					{
-						Vector3 cornerPos1 = tempVerts[i + j + 1].position;
-						Vector3 cornerPos2 = tempVerts[i + j + 4].position;
+                    // Quad
+                    for (int j = 0; j < bundleSize; j += 6)
+                    {
+                        Vector3 cornerPos1 = tempVerts[i + j + 1].position;
+                        Vector3 cornerPos2 = tempVerts[i + j + 4].position;
 
-						// Is outer quad?
-						bool hasOuterEdge = (bundleSize == 6)
-						                    || !posBounds.Contains(cornerPos1)
-						                    || !posBounds.Contains(cornerPos2);
-						if (hasOuterEdge)
-						{
-							Vector3 cornerUv1 = tempVerts[i + j + 1].uv0;
-							Vector3 cornerUv2 = tempVerts[i + j + 4].uv0;
+                        // Is outer quad?
+                        bool hasOuterEdge = (bundleSize == 6)
+                                            || !posBounds.Contains(cornerPos1)
+                                            || !posBounds.Contains(cornerPos2);
+                        if (hasOuterEdge)
+                        {
+                            Vector3 cornerUv1 = tempVerts[i + j + 1].uv0;
+                            Vector3 cornerUv2 = tempVerts[i + j + 4].uv0;
 
-							Vector3 centerPos = (cornerPos1 + cornerPos2) / 2;
-							Vector3 centerUV = (cornerUv1 + cornerUv2) / 2;
-							size = (cornerPos1 - cornerPos2);
+                            Vector3 centerPos = (cornerPos1 + cornerPos2) / 2;
+                            Vector3 centerUV = (cornerUv1 + cornerUv2) / 2;
+                            size = (cornerPos1 - cornerPos2);
 
-							size.x = 1 + expand / Mathf.Abs(size.x);
-							size.y = 1 + expand / Mathf.Abs(size.y);
-							size.z = 1 + expand / Mathf.Abs(size.z);
+                            size.x = 1 + expand / Mathf.Abs(size.x);
+                            size.y = 1 + expand / Mathf.Abs(size.y);
+                            size.z = 1 + expand / Mathf.Abs(size.z);
 
-							tPos = centerPos - Vector3.Scale(size, centerPos);
-							tUV = centerUV - Vector3.Scale(size, centerUV);
-						}
+                            tPos = centerPos - Vector3.Scale(size, centerPos);
+                            tUV = centerUV - Vector3.Scale(size, centerUV);
+                        }
 
-						// Vertex
-						for (int k = 0; k < 6; k++)
-						{
-							UIVertex vt = tempVerts[i + j + k];
+                        // Vertex
+                        for (int k = 0; k < 6; k++)
+                        {
+                            UIVertex vt = tempVerts[i + j + k];
 
-							Vector3 pos = vt.position;
-							Vector2 uv0 = vt.uv0;
+                            Vector3 pos = vt.position;
+                            Vector2 uv0 = vt.uv0;
 
-							if (hasOuterEdge && (pos.x < posBounds.xMin || posBounds.xMax < pos.x))
-							{
-								pos.x = pos.x * size.x + tPos.x;
-								uv0.x = uv0.x * size.x + tUV.x;
-							}
-							if (hasOuterEdge && (pos.y < posBounds.yMin || posBounds.yMax < pos.y))
-							{
-								pos.y = pos.y * size.y + tPos.y;
-								uv0.y = uv0.y * size.y + tUV.y;
-							}
+                            if (hasOuterEdge && (pos.x < posBounds.xMin || posBounds.xMax < pos.x))
+                            {
+                                pos.x = pos.x * size.x + tPos.x;
+                                uv0.x = uv0.x * size.x + tUV.x;
+                            }
+                            if (hasOuterEdge && (pos.y < posBounds.yMin || posBounds.yMax < pos.y))
+                            {
+                                pos.y = pos.y * size.y + tPos.y;
+                                uv0.y = uv0.y * size.y + tUV.y;
+                            }
 
-							vt.uv0 = new Vector2(Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f), normalizedIndex);
-							vt.position = pos;
+                            vt.uv0 = new Vector2(Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f), normalizedIndex);
+                            vt.position = pos;
 
-							if (isTMPro)
-							{
-								#if UNITY_2017_1_OR_NEWER
-								vt.uv2 = uvMask;
-								#endif
-							}
-							else
-							{
-								vt.uv1 = uvMask;
-							}
+                            if (isTMPro)
+                            {
+#if UNITY_2017_1_OR_NEWER
+                                vt.uv2 = uvMask;
+#endif
+                            }
+                            else
+                            {
+                                vt.uv1 = uvMask;
+                            }
 
-							tempVerts[i + j + k] = vt;
-						}
-					}
-				}
+                            tempVerts[i + j + k] = vt;
+                        }
+                    }
+                }
 
-				vh.AddUIVertexTriangleStream(tempVerts);
-				tempVerts.Clear();
-			}
-			else
-			{
-				int count = vh.currentVertCount;
-				UIVertex vt = default(UIVertex);
-				for (int i = 0; i < count; i++)
-				{
-					vh.PopulateUIVertex(ref vt, i);
-					Vector2 uv0 = vt.uv0;
-					vt.uv0 = new Vector2(
-						Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f),
-						normalizedIndex
-					);
-					vh.SetUIVertex(vt, i);
-				}
-			}
-		}
+                vh.AddUIVertexTriangleStream(tempVerts);
+                tempVerts.Clear();
+            }
+            else
+            {
+                int count = vh.currentVertCount;
+                UIVertex vt = default(UIVertex);
+                for (int i = 0; i < count; i++)
+                {
+                    vh.PopulateUIVertex(ref vt, i);
+                    Vector2 uv0 = vt.uv0;
+                    vt.uv0 = new Vector2(
+                        Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f),
+                        normalizedIndex
+                    );
+                    vh.SetUIVertex(vt, i);
+                }
+            }
+        }
 
-		protected override void SetDirty()
-		{
-			foreach (var m in materials)
-			{
-				ptex.RegisterMaterial (m);
-			}
-			ptex.SetData(this, 0, m_EffectFactor);	// param.x : effect factor
-			ptex.SetData(this, 1, m_ColorFactor);	// param.y : color factor
-			ptex.SetData(this, 2, m_BlurFactor);	// param.z : blur factor
-		}
+        protected override void SetDirty()
+        {
+            foreach (var m in materials)
+            {
+                ptex.RegisterMaterial(m);
+            }
+            ptex.SetData(this, 0, m_EffectFactor);  // param.x : effect factor
+            ptex.SetData(this, 1, m_ColorFactor);   // param.y : color factor
+            ptex.SetData(this, 2, m_BlurFactor);    // param.z : blur factor
+        }
 
 #if UNITY_EDITOR
-		/// <summary>
-		/// Gets the material.
-		/// </summary>
-		/// <returns>The material.</returns>
-		protected override Material GetMaterial()
-		{
-			if (isTMPro)
-			{
-				return null;
-			}
-			return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode, m_AdvancedBlur ? BlurEx.Ex : BlurEx.None);
-		}
+        /// <summary>
+        /// Gets the material.
+        /// </summary>
+        /// <returns>The material.</returns>
+        protected override Material GetMaterial()
+        {
+            if (isTMPro)
+            {
+                return null;
+            }
+            return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode, m_AdvancedBlur ? BlurEx.Ex : BlurEx.None);
+        }
 
-		#pragma warning disable 0612
-		protected override void UpgradeIfNeeded()
-		{
-			// Upgrade for v3.0.0
-			if (IsShouldUpgrade(300))
-			{
-				if (m_ColorMode != ColorMode.Multiply)
-				{
-					Color col = targetGraphic.color;
-					col.r = m_EffectColor.r;
-					col.g = m_EffectColor.g;
-					col.b = m_EffectColor.b;
-					targetGraphic.color = col;
-					m_ColorFactor = m_EffectColor.a;
-				}
+#pragma warning disable 0612
+        protected override void UpgradeIfNeeded()
+        {
+            // Upgrade for v3.0.0
+            if (IsShouldUpgrade(300))
+            {
+                if (m_ColorMode != ColorMode.Multiply)
+                {
+                    Color col = targetGraphic.color;
+                    col.r = m_EffectColor.r;
+                    col.g = m_EffectColor.g;
+                    col.b = m_EffectColor.b;
+                    targetGraphic.color = col;
+                    m_ColorFactor = m_EffectColor.a;
+                }
 
-				if (m_ShadowStyle != ShadowStyle.None || m_AdditionalShadows.Any(x => x.style != ShadowStyle.None))
-				{
-					if (m_ShadowStyle != ShadowStyle.None)
-					{
-						var shadow = gameObject.GetComponent<UIShadow>() ?? gameObject.AddComponent<UIShadow>();
-						shadow.style = m_ShadowStyle;
-						shadow.effectDistance = m_EffectDistance;
-						shadow.effectColor = m_ShadowColor;
-						shadow.useGraphicAlpha = m_UseGraphicAlpha;
-						shadow.blurFactor = m_ShadowBlur;
-					}
+                if (m_ShadowStyle != ShadowStyle.None || m_AdditionalShadows.Any(x => x.style != ShadowStyle.None))
+                {
+                    if (m_ShadowStyle != ShadowStyle.None)
+                    {
+                        var shadow = gameObject.GetComponent<UIShadow>() ?? gameObject.AddComponent<UIShadow>();
+                        shadow.style = m_ShadowStyle;
+                        shadow.effectDistance = m_EffectDistance;
+                        shadow.effectColor = m_ShadowColor;
+                        shadow.useGraphicAlpha = m_UseGraphicAlpha;
+                        shadow.blurFactor = m_ShadowBlur;
+                    }
 
-					foreach (var s in m_AdditionalShadows)
-					{
-						if (s.style == ShadowStyle.None)
-						{
-							continue;
-						}
+                    foreach (var s in m_AdditionalShadows)
+                    {
+                        if (s.style == ShadowStyle.None)
+                        {
+                            continue;
+                        }
 
-						var shadow = gameObject.AddComponent<UIShadow>();
-						shadow.style = s.style;
-						shadow.effectDistance = s.effectDistance;
-						shadow.effectColor = s.effectColor;
-						shadow.useGraphicAlpha = s.useGraphicAlpha;
-						shadow.blurFactor = s.blur;
-					}
+                        var shadow = gameObject.AddComponent<UIShadow>();
+                        shadow.style = s.style;
+                        shadow.effectDistance = s.effectDistance;
+                        shadow.effectColor = s.effectColor;
+                        shadow.useGraphicAlpha = s.useGraphicAlpha;
+                        shadow.blurFactor = s.blur;
+                    }
 
-					m_ShadowStyle = ShadowStyle.None;
-					m_AdditionalShadows = null;
+                    m_ShadowStyle = ShadowStyle.None;
+                    m_AdditionalShadows = null;
 
-					if (m_EffectMode == EffectMode.None && m_ColorMode == ColorMode.Multiply && m_BlurMode == BlurMode.None)
-					{
-						DestroyImmediate(this, true);
-					}
-				}
+                    if (m_EffectMode == EffectMode.None && m_ColorMode == ColorMode.Multiply && m_BlurMode == BlurMode.None)
+                    {
+                        DestroyImmediate(this, true);
+                    }
+                }
 
-				int tone = (int)m_EffectMode;
-				const int Mono = 5;
-				const int Cutoff = 6;
-				const int Hue = 7;
-				if (tone == Hue)
-				{
-					var go = gameObject;
-					var hue = m_EffectFactor;
-					DestroyImmediate(this, true);
-					var hsv = go.GetComponent<UIHsvModifier>() ?? go.AddComponent<UIHsvModifier>();
-					hsv.hue = hue;
-					hsv.range = 1;
-				}
+                int tone = (int)m_EffectMode;
+                const int Mono = 5;
+                const int Cutoff = 6;
+                const int Hue = 7;
+                if (tone == Hue)
+                {
+                    var go = gameObject;
+                    var hue = m_EffectFactor;
+                    DestroyImmediate(this, true);
+                    var hsv = go.GetComponent<UIHsvModifier>() ?? go.AddComponent<UIHsvModifier>();
+                    hsv.hue = hue;
+                    hsv.range = 1;
+                }
 
-				// Cutoff/Mono
-				if (tone == Cutoff || tone == Mono)
-				{
-					var go = gameObject;
-					var factor = m_EffectFactor;
-					var transitionMode = tone == Cutoff
-						? UITransitionEffect.EffectMode.Cutoff
-						: UITransitionEffect.EffectMode.Fade;
-					DestroyImmediate(this, true);
-					var trans = go.GetComponent<UITransitionEffect>() ?? go.AddComponent<UITransitionEffect>();
-					trans.effectFactor = factor;
+                // Cutoff/Mono
+                if (tone == Cutoff || tone == Mono)
+                {
+                    var go = gameObject;
+                    var factor = m_EffectFactor;
+                    var transitionMode = tone == Cutoff
+                        ? UITransitionEffect.EffectMode.Cutoff
+                        : UITransitionEffect.EffectMode.Fade;
+                    DestroyImmediate(this, true);
+                    var trans = go.GetComponent<UITransitionEffect>() ?? go.AddComponent<UITransitionEffect>();
+                    trans.effectFactor = factor;
 
-					var sp = new SerializedObject(trans).FindProperty("m_EffectMode");
-					sp.intValue = (int)transitionMode;
-					sp.serializedObject.ApplyModifiedProperties();
-				}
-			}
-		}
-		#pragma warning restore 0612
+                    var sp = new SerializedObject(trans).FindProperty("m_EffectMode");
+                    sp.intValue = (int)transitionMode;
+                    sp.serializedObject.ApplyModifiedProperties();
+                }
+            }
+        }
+#pragma warning restore 0612
 #endif
 
-		//################################
-		// Private Members.
-		//################################
-		static void GetBounds(List<UIVertex> verts, int start, int count, ref Rect posBounds, ref Rect uvBounds, bool global)
-		{
-			Vector2 minPos = new Vector2(float.MaxValue, float.MaxValue);
-			Vector2 maxPos = new Vector2(float.MinValue, float.MinValue);
-			Vector2 minUV = new Vector2(float.MaxValue, float.MaxValue);
-			Vector2 maxUV = new Vector2(float.MinValue, float.MinValue);
-			for (int i = start; i < start + count; i++)
-			{
-				UIVertex vt = verts[i];
+        //################################
+        // Private Members.
+        //################################
+        static void GetBounds(List<UIVertex> verts, int start, int count, ref Rect posBounds, ref Rect uvBounds, bool global)
+        {
+            Vector2 minPos = new Vector2(float.MaxValue, float.MaxValue);
+            Vector2 maxPos = new Vector2(float.MinValue, float.MinValue);
+            Vector2 minUV = new Vector2(float.MaxValue, float.MaxValue);
+            Vector2 maxUV = new Vector2(float.MinValue, float.MinValue);
+            for (int i = start; i < start + count; i++)
+            {
+                UIVertex vt = verts[i];
 
-				Vector2 uv = vt.uv0;
-				Vector3 pos = vt.position;
+                Vector2 uv = vt.uv0;
+                Vector3 pos = vt.position;
 
-				// Left-Bottom
-				if (minPos.x >= pos.x && minPos.y >= pos.y)
-				{
-					minPos = pos;
-				}
-				// Right-Top
-				else if (maxPos.x <= pos.x && maxPos.y <= pos.y)
-				{
-					maxPos = pos;
-				}
+                // Left-Bottom
+                if (minPos.x >= pos.x && minPos.y >= pos.y)
+                {
+                    minPos = pos;
+                }
+                // Right-Top
+                else if (maxPos.x <= pos.x && maxPos.y <= pos.y)
+                {
+                    maxPos = pos;
+                }
 
-				// Left-Bottom
-				if (minUV.x >= uv.x && minUV.y >= uv.y)
-				{
-					minUV = uv;
-				}
-				// Right-Top
-				else if (maxUV.x <= uv.x && maxUV.y <= uv.y)
-				{
-					maxUV = uv;
-				}
-			}
+                // Left-Bottom
+                if (minUV.x >= uv.x && minUV.y >= uv.y)
+                {
+                    minUV = uv;
+                }
+                // Right-Top
+                else if (maxUV.x <= uv.x && maxUV.y <= uv.y)
+                {
+                    maxUV = uv;
+                }
+            }
 
-			// Shrink coordinate for detect edge
-			posBounds.Set(minPos.x + 0.001f, minPos.y + 0.001f, maxPos.x - minPos.x - 0.002f, maxPos.y - minPos.y - 0.002f);
-			uvBounds.Set(minUV.x, minUV.y, maxUV.x - minUV.x, maxUV.y - minUV.y);
-		}
-	}
+            // Shrink coordinate for detect edge
+            posBounds.Set(minPos.x + 0.001f, minPos.y + 0.001f, maxPos.x - minPos.x - 0.002f, maxPos.y - minPos.y - 0.002f);
+            uvBounds.Set(minUV.x, minUV.y, maxUV.x - minUV.x, maxUV.y - minUV.y);
+        }
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs
index bbaac106..aa204f27 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs
@@ -1,552 +1,552 @@
 using System.Collections;
 using System.Linq;
 using UnityEngine;
-using UnityEngine.Serialization;
 using UnityEngine.Rendering;
+using UnityEngine.Serialization;
 using UnityEngine.UI;
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// UIEffectCapturedImage
-	/// </summary>
-	[AddComponentMenu("UI/UIEffect/UIEffectCapturedImage", 200)]
-	public class UIEffectCapturedImage : RawImage
+    /// <summary>
+    /// UIEffectCapturedImage
+    /// </summary>
+    [AddComponentMenu("UI/UIEffect/UIEffectCapturedImage", 200)]
+    public class UIEffectCapturedImage : RawImage
 #if UNITY_EDITOR
-		, ISerializationCallbackReceiver
+        , ISerializationCallbackReceiver
 #endif
-	{
+    {
 
-		//################################
-		// Constant or Static Members.
-		//################################
-		public const string shaderName = "UI/Hidden/UI-EffectCapture";
+        //################################
+        // Constant or Static Members.
+        //################################
+        public const string shaderName = "UI/Hidden/UI-EffectCapture";
 
-		/// <summary>
-		/// Desampling rate.
-		/// </summary>
-		public enum DesamplingRate
-		{
-			None = 0,
-			x1 = 1,
-			x2 = 2,
-			x4 = 4,
-			x8 = 8,
-		}
+        /// <summary>
+        /// Desampling rate.
+        /// </summary>
+        public enum DesamplingRate
+        {
+            None = 0,
+            x1 = 1,
+            x2 = 2,
+            x4 = 4,
+            x8 = 8,
+        }
 
 
-		//################################
-		// Serialize Members.
-		//################################
-		[Tooltip("Effect factor between 0(no effect) and 1(complete effect).")]
-		[FormerlySerializedAs("m_ToneLevel")]
-		[SerializeField][Range(0, 1)] float m_EffectFactor = 1;
+        //################################
+        // Serialize Members.
+        //################################
+        [Tooltip("Effect factor between 0(no effect) and 1(complete effect).")]
+        [FormerlySerializedAs("m_ToneLevel")]
+        [SerializeField][Range(0, 1)] float m_EffectFactor = 1;
 
-		[Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")]
-		[SerializeField][Range(0, 1)] float m_ColorFactor = 1;
+        [Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")]
+        [SerializeField][Range(0, 1)] float m_ColorFactor = 1;
 
-		[Tooltip("How far is the blurring from the graphic.")]
-		[FormerlySerializedAs("m_Blur")]
-		[SerializeField][Range(0, 1)] float m_BlurFactor = 1;
+        [Tooltip("How far is the blurring from the graphic.")]
+        [FormerlySerializedAs("m_Blur")]
+        [SerializeField][Range(0, 1)] float m_BlurFactor = 1;
 
-		[Tooltip("Effect mode.")]
-		[FormerlySerializedAs("m_ToneMode")]
-		[SerializeField] EffectMode m_EffectMode = EffectMode.None;
+        [Tooltip("Effect mode.")]
+        [FormerlySerializedAs("m_ToneMode")]
+        [SerializeField] EffectMode m_EffectMode = EffectMode.None;
 
-		[Tooltip("Color effect mode.")]
-		[SerializeField] ColorMode m_ColorMode = ColorMode.Multiply;
+        [Tooltip("Color effect mode.")]
+        [SerializeField] ColorMode m_ColorMode = ColorMode.Multiply;
 
-		[Tooltip("Blur effect mode.")]
-		[SerializeField] BlurMode m_BlurMode = BlurMode.DetailBlur;
+        [Tooltip("Blur effect mode.")]
+        [SerializeField] BlurMode m_BlurMode = BlurMode.DetailBlur;
 
-		[Tooltip("Color for the color effect.")]
-		[SerializeField] Color m_EffectColor = Color.white;
+        [Tooltip("Color for the color effect.")]
+        [SerializeField] Color m_EffectColor = Color.white;
 
-		[Tooltip("Desampling rate of the generated RenderTexture.")]
-		[SerializeField] DesamplingRate m_DesamplingRate = DesamplingRate.x1;
+        [Tooltip("Desampling rate of the generated RenderTexture.")]
+        [SerializeField] DesamplingRate m_DesamplingRate = DesamplingRate.x1;
 
-		[Tooltip("Desampling rate of reduction buffer to apply effect.")]
-		[SerializeField] DesamplingRate m_ReductionRate = DesamplingRate.x1;
+        [Tooltip("Desampling rate of reduction buffer to apply effect.")]
+        [SerializeField] DesamplingRate m_ReductionRate = DesamplingRate.x1;
 
-		[Tooltip("FilterMode for capturing.")]
-		[SerializeField] FilterMode m_FilterMode = FilterMode.Bilinear;
+        [Tooltip("FilterMode for capturing.")]
+        [SerializeField] FilterMode m_FilterMode = FilterMode.Bilinear;
 
-		[Tooltip("Effect material.")]
-		[SerializeField] Material m_EffectMaterial = null;
+        [Tooltip("Effect material.")]
+        [SerializeField] Material m_EffectMaterial = null;
 
-		[Tooltip("Blur iterations.")]
-		[FormerlySerializedAs("m_Iterations")]
-		[SerializeField][Range(1, 8)] int m_BlurIterations = 3;
+        [Tooltip("Blur iterations.")]
+        [FormerlySerializedAs("m_Iterations")]
+        [SerializeField][Range(1, 8)] int m_BlurIterations = 3;
 
-		[Tooltip("Fits graphic size to screen on captured.")]
-		[FormerlySerializedAs("m_KeepCanvasSize")]
-		[SerializeField] bool m_FitToScreen = true;
+        [Tooltip("Fits graphic size to screen on captured.")]
+        [FormerlySerializedAs("m_KeepCanvasSize")]
+        [SerializeField] bool m_FitToScreen = true;
 
-		[Tooltip("Capture automatically on enable.")]
-		[SerializeField] bool m_CaptureOnEnable = false;
+        [Tooltip("Capture automatically on enable.")]
+        [SerializeField] bool m_CaptureOnEnable = false;
 
 
-		//################################
-		// Public Members.
-		//################################
-		/// <summary>
-		/// Effect factor between 0(no effect) and 1(complete effect).
-		/// </summary>
-		[System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
-		public float toneLevel { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } }
+        //################################
+        // Public Members.
+        //################################
+        /// <summary>
+        /// Effect factor between 0(no effect) and 1(complete effect).
+        /// </summary>
+        [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
+        public float toneLevel { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } }
 
-		/// <summary>
-		/// Effect factor between 0(no effect) and 1(complete effect).
-		/// </summary>
-		public float effectFactor { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } }
+        /// <summary>
+        /// Effect factor between 0(no effect) and 1(complete effect).
+        /// </summary>
+        public float effectFactor { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } }
 
-		/// <summary>
-		/// Color effect factor between 0(no effect) and 1(complete effect).
-		/// </summary>
-		public float colorFactor { get { return m_ColorFactor; } set { m_ColorFactor = Mathf.Clamp(value, 0, 1); } }
+        /// <summary>
+        /// Color effect factor between 0(no effect) and 1(complete effect).
+        /// </summary>
+        public float colorFactor { get { return m_ColorFactor; } set { m_ColorFactor = Mathf.Clamp(value, 0, 1); } }
 
-		/// <summary>
-		/// How far is the blurring from the graphic.
-		/// </summary>
-		[System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")]
-		public float blur { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } }
+        /// <summary>
+        /// How far is the blurring from the graphic.
+        /// </summary>
+        [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")]
+        public float blur { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } }
 
-		/// <summary>
-		/// How far is the blurring from the graphic.
-		/// </summary>
-		public float blurFactor { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } }
+        /// <summary>
+        /// How far is the blurring from the graphic.
+        /// </summary>
+        public float blurFactor { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } }
 
-		/// <summary>
-		/// Tone effect mode.
-		/// </summary>
-		[System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")]
-		public EffectMode toneMode { get { return m_EffectMode; } }
+        /// <summary>
+        /// Tone effect mode.
+        /// </summary>
+        [System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")]
+        public EffectMode toneMode { get { return m_EffectMode; } }
 
-		/// <summary>
-		/// Effect mode.
-		/// </summary>
-		public EffectMode effectMode { get { return m_EffectMode; } }
+        /// <summary>
+        /// Effect mode.
+        /// </summary>
+        public EffectMode effectMode { get { return m_EffectMode; } }
 
-		/// <summary>
-		/// Color effect mode.
-		/// </summary>
-		public ColorMode colorMode { get { return m_ColorMode; } }
+        /// <summary>
+        /// Color effect mode.
+        /// </summary>
+        public ColorMode colorMode { get { return m_ColorMode; } }
 
-		/// <summary>
-		/// Blur effect mode.
-		/// </summary>
-		public BlurMode blurMode { get { return m_BlurMode; } }
+        /// <summary>
+        /// Blur effect mode.
+        /// </summary>
+        public BlurMode blurMode { get { return m_BlurMode; } }
 
-		/// <summary>
-		/// Color for the color effect.
-		/// </summary>
-		public Color effectColor { get { return m_EffectColor; } set { m_EffectColor = value; } }
+        /// <summary>
+        /// Color for the color effect.
+        /// </summary>
+        public Color effectColor { get { return m_EffectColor; } set { m_EffectColor = value; } }
 
-		/// <summary>
-		/// Effect material.
-		/// </summary>
-		public virtual Material effectMaterial { get { return m_EffectMaterial; } }
+        /// <summary>
+        /// Effect material.
+        /// </summary>
+        public virtual Material effectMaterial { get { return m_EffectMaterial; } }
 
-		/// <summary>
-		/// Desampling rate of the generated RenderTexture.
-		/// </summary>
-		public DesamplingRate desamplingRate { get { return m_DesamplingRate; } set { m_DesamplingRate = value; } }
+        /// <summary>
+        /// Desampling rate of the generated RenderTexture.
+        /// </summary>
+        public DesamplingRate desamplingRate { get { return m_DesamplingRate; } set { m_DesamplingRate = value; } }
 
-		/// <summary>
-		/// Desampling rate of reduction buffer to apply effect.
-		/// </summary>
-		public DesamplingRate reductionRate { get { return m_ReductionRate; } set { m_ReductionRate = value; } }
+        /// <summary>
+        /// Desampling rate of reduction buffer to apply effect.
+        /// </summary>
+        public DesamplingRate reductionRate { get { return m_ReductionRate; } set { m_ReductionRate = value; } }
 
-		/// <summary>
-		/// FilterMode for capturing.
-		/// </summary>
-		public FilterMode filterMode { get { return m_FilterMode; } set { m_FilterMode = value; } }
+        /// <summary>
+        /// FilterMode for capturing.
+        /// </summary>
+        public FilterMode filterMode { get { return m_FilterMode; } set { m_FilterMode = value; } }
 
-		/// <summary>
-		/// Captured texture.
-		/// </summary>
-		public RenderTexture capturedTexture { get { return _rt; } }
+        /// <summary>
+        /// Captured texture.
+        /// </summary>
+        public RenderTexture capturedTexture { get { return _rt; } }
 
-		/// <summary>
-		/// Blur iterations.
-		/// </summary>
-		[System.Obsolete("Use blurIterations instead (UnityUpgradable) -> blurIterations")]
-		public int iterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } }
+        /// <summary>
+        /// Blur iterations.
+        /// </summary>
+        [System.Obsolete("Use blurIterations instead (UnityUpgradable) -> blurIterations")]
+        public int iterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } }
 
-		/// <summary>
-		/// Blur iterations.
-		/// </summary>
-		public int blurIterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } }
+        /// <summary>
+        /// Blur iterations.
+        /// </summary>
+        public int blurIterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } }
 
-		/// <summary>
-		/// Fits graphic size to screen.
-		/// </summary>
-		[System.Obsolete("Use fitToScreen instead (UnityUpgradable) -> fitToScreen")]
-		public bool keepCanvasSize { get { return m_FitToScreen; } set { m_FitToScreen = value; } }
+        /// <summary>
+        /// Fits graphic size to screen.
+        /// </summary>
+        [System.Obsolete("Use fitToScreen instead (UnityUpgradable) -> fitToScreen")]
+        public bool keepCanvasSize { get { return m_FitToScreen; } set { m_FitToScreen = value; } }
 
-		/// <summary>
-		/// Fits graphic size to screen on captured.
-		/// </summary>
-		public bool fitToScreen { get { return m_FitToScreen; } set { m_FitToScreen = value; } }
+        /// <summary>
+        /// Fits graphic size to screen on captured.
+        /// </summary>
+        public bool fitToScreen { get { return m_FitToScreen; } set { m_FitToScreen = value; } }
 
-		/// <summary>
-		/// Target RenderTexture to capture.
-		/// </summary>
-		[System.Obsolete]
-		public RenderTexture targetTexture { get { return null; } set { } }
+        /// <summary>
+        /// Target RenderTexture to capture.
+        /// </summary>
+        [System.Obsolete]
+        public RenderTexture targetTexture { get { return null; } set { } }
 
-		/// <summary>
-		/// Capture automatically on enable.
-		/// </summary>
-		public bool captureOnEnable { get { return m_CaptureOnEnable; } set { m_CaptureOnEnable = value; } }
+        /// <summary>
+        /// Capture automatically on enable.
+        /// </summary>
+        public bool captureOnEnable { get { return m_CaptureOnEnable; } set { m_CaptureOnEnable = value; } }
 
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable();
-			if (m_CaptureOnEnable && Application.isPlaying)
-			{
-				Capture();
-			}
-		}
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
+            if (m_CaptureOnEnable && Application.isPlaying)
+            {
+                Capture();
+            }
+        }
 
-		protected override void OnDisable()
-		{
-			base.OnDisable();
-			if (m_CaptureOnEnable && Application.isPlaying)
-			{
-				_Release(false);
-				texture = null;
-			}
-		}
+        protected override void OnDisable()
+        {
+            base.OnDisable();
+            if (m_CaptureOnEnable && Application.isPlaying)
+            {
+                _Release(false);
+                texture = null;
+            }
+        }
 
-		/// <summary>
-		/// This function is called when the MonoBehaviour will be destroyed.
-		/// </summary>
-		protected override void OnDestroy()
-		{
-			Release();
-			base.OnDestroy();
-		}
+        /// <summary>
+        /// This function is called when the MonoBehaviour will be destroyed.
+        /// </summary>
+        protected override void OnDestroy()
+        {
+            Release();
+            base.OnDestroy();
+        }
 
-		/// <summary>
-		/// Callback function when a UI element needs to generate vertices.
-		/// </summary>
-		protected override void OnPopulateMesh(VertexHelper vh)
-		{
-			// When not displaying, clear vertex.
-			if (texture == null || color.a < 1 / 255f || canvasRenderer.GetAlpha() < 1 / 255f)
-			{
-				vh.Clear();
-			}
-			else
-			{
-				base.OnPopulateMesh(vh);
-				int count = vh.currentVertCount;
-				UIVertex vt = default(UIVertex);
-				Color c = color;
-				for (int i = 0; i < count; i++)
-				{
-					vh.PopulateUIVertex(ref vt, i);
-					vt.color = c;
-					vh.SetUIVertex(vt, i);
-				}
-			}
-		}
+        /// <summary>
+        /// Callback function when a UI element needs to generate vertices.
+        /// </summary>
+        protected override void OnPopulateMesh(VertexHelper vh)
+        {
+            // When not displaying, clear vertex.
+            if (texture == null || color.a < 1 / 255f || canvasRenderer.GetAlpha() < 1 / 255f)
+            {
+                vh.Clear();
+            }
+            else
+            {
+                base.OnPopulateMesh(vh);
+                int count = vh.currentVertCount;
+                UIVertex vt = default(UIVertex);
+                Color c = color;
+                for (int i = 0; i < count; i++)
+                {
+                    vh.PopulateUIVertex(ref vt, i);
+                    vt.color = c;
+                    vh.SetUIVertex(vt, i);
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gets the size of the desampling.
-		/// </summary>
-		public void GetDesamplingSize(DesamplingRate rate, out int w, out int h)
-		{
+        /// <summary>
+        /// Gets the size of the desampling.
+        /// </summary>
+        public void GetDesamplingSize(DesamplingRate rate, out int w, out int h)
+        {
 #if UNITY_EDITOR
-			if (!Application.isPlaying)
-			{
-				var res = UnityEditor.UnityStats.screenRes.Split('x');
-				w = int.Parse(res[0]);
-				h = int.Parse(res[1]);
-			}
-			else
+            if (!Application.isPlaying)
+            {
+                var res = UnityEditor.UnityStats.screenRes.Split('x');
+                w = int.Parse(res[0]);
+                h = int.Parse(res[1]);
+            }
+            else
 #endif
-			{
-				w = Screen.width;
-				h = Screen.height;
-			}
+            {
+                w = Screen.width;
+                h = Screen.height;
+            }
 
-			if (rate == DesamplingRate.None)
-				return;
+            if (rate == DesamplingRate.None)
+                return;
 
-			float aspect = (float)w / h;
-			if (w < h)
-			{
-				h = Mathf.ClosestPowerOfTwo(h / (int)rate);
-				w = Mathf.CeilToInt(h * aspect);
-			}
-			else
-			{
-				w = Mathf.ClosestPowerOfTwo(w / (int)rate);
-				h = Mathf.CeilToInt(w / aspect);
-			}
-		}
+            float aspect = (float)w / h;
+            if (w < h)
+            {
+                h = Mathf.ClosestPowerOfTwo(h / (int)rate);
+                w = Mathf.CeilToInt(h * aspect);
+            }
+            else
+            {
+                w = Mathf.ClosestPowerOfTwo(w / (int)rate);
+                h = Mathf.CeilToInt(w / aspect);
+            }
+        }
 
-		/// <summary>
-		/// Capture rendering result.
-		/// </summary>
-		public void Capture()
-		{
-			// Fit to screen.
-			var rootCanvas = canvas.rootCanvas;
-			if (m_FitToScreen)
-			{
-				var rootTransform = rootCanvas.transform as RectTransform;
-				var size = rootTransform.rect.size;
-				rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, size.x);
-				rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, size.y);
-				rectTransform.position = rootTransform.position;
-			}
+        /// <summary>
+        /// Capture rendering result.
+        /// </summary>
+        public void Capture()
+        {
+            // Fit to screen.
+            var rootCanvas = canvas.rootCanvas;
+            if (m_FitToScreen)
+            {
+                var rootTransform = rootCanvas.transform as RectTransform;
+                var size = rootTransform.rect.size;
+                rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, size.x);
+                rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, size.y);
+                rectTransform.position = rootTransform.position;
+            }
 
-			// Cache some ids.
-			if (s_CopyId == 0)
-			{
-				s_CopyId = Shader.PropertyToID("_UIEffectCapturedImage_ScreenCopyId");
-				s_EffectId1 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId1");
-				s_EffectId2 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId2");
+            // Cache some ids.
+            if (s_CopyId == 0)
+            {
+                s_CopyId = Shader.PropertyToID("_UIEffectCapturedImage_ScreenCopyId");
+                s_EffectId1 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId1");
+                s_EffectId2 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId2");
 
-				s_EffectFactorId = Shader.PropertyToID("_EffectFactor");
-				s_ColorFactorId = Shader.PropertyToID("_ColorFactor");
-				s_CommandBuffer = new CommandBuffer();
-			}
+                s_EffectFactorId = Shader.PropertyToID("_EffectFactor");
+                s_ColorFactorId = Shader.PropertyToID("_ColorFactor");
+                s_CommandBuffer = new CommandBuffer();
+            }
 
 
-			// If size of result RT has changed, release it.
-			int w, h;
-			GetDesamplingSize(m_DesamplingRate, out w, out h);
-			if (_rt && (_rt.width != w || _rt.height != h))
-			{
-				_Release(ref _rt);
-			}
+            // If size of result RT has changed, release it.
+            int w, h;
+            GetDesamplingSize(m_DesamplingRate, out w, out h);
+            if (_rt && (_rt.width != w || _rt.height != h))
+            {
+                _Release(ref _rt);
+            }
 
-			// Generate RT for result.
-			if (_rt == null)
-			{
-				_rt = RenderTexture.GetTemporary(w, h, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default);
-				_rt.filterMode = m_FilterMode;
-				_rt.useMipMap = false;
-				_rt.wrapMode = TextureWrapMode.Clamp;
-				_rtId = new RenderTargetIdentifier(_rt);
-			}
-			SetupCommandBuffer();
-		}
+            // Generate RT for result.
+            if (_rt == null)
+            {
+                _rt = RenderTexture.GetTemporary(w, h, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default);
+                _rt.filterMode = m_FilterMode;
+                _rt.useMipMap = false;
+                _rt.wrapMode = TextureWrapMode.Clamp;
+                _rtId = new RenderTargetIdentifier(_rt);
+            }
+            SetupCommandBuffer();
+        }
 
-		void SetupCommandBuffer()
-		{
-			// Material for effect.
-			Material mat = m_EffectMaterial;
+        void SetupCommandBuffer()
+        {
+            // Material for effect.
+            Material mat = m_EffectMaterial;
 
-			if (s_CommandBuffer == null)
-			{
-				s_CommandBuffer = new CommandBuffer();
-			}
+            if (s_CommandBuffer == null)
+            {
+                s_CommandBuffer = new CommandBuffer();
+            }
 
-			// [1] Capture from back buffer (back buffer -> copied screen).
-			int w, h;
-			GetDesamplingSize(DesamplingRate.None, out w, out h);
-			s_CommandBuffer.GetTemporaryRT(s_CopyId, w, h, 0, m_FilterMode);
+            // [1] Capture from back buffer (back buffer -> copied screen).
+            int w, h;
+            GetDesamplingSize(DesamplingRate.None, out w, out h);
+            s_CommandBuffer.GetTemporaryRT(s_CopyId, w, h, 0, m_FilterMode);
 #if UNITY_EDITOR
-			s_CommandBuffer.Blit(Resources.FindObjectsOfTypeAll<RenderTexture>().FirstOrDefault(x => x.name == "GameView RT"), s_CopyId);
+            s_CommandBuffer.Blit(Resources.FindObjectsOfTypeAll<RenderTexture>().FirstOrDefault(x => x.name == "GameView RT"), s_CopyId);
 #else
 			s_CommandBuffer.Blit(BuiltinRenderTextureType.BindableTexture, s_CopyId);
 #endif
 
-			// Set properties for effect.
-			s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_EffectFactor, 0));
-			s_CommandBuffer.SetGlobalVector(s_ColorFactorId, new Vector4(m_EffectColor.r, m_EffectColor.g, m_EffectColor.b, m_EffectColor.a));
+            // Set properties for effect.
+            s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_EffectFactor, 0));
+            s_CommandBuffer.SetGlobalVector(s_ColorFactorId, new Vector4(m_EffectColor.r, m_EffectColor.g, m_EffectColor.b, m_EffectColor.a));
 
-			// [2] Apply base effect with reduction buffer (copied screen -> effect1).
-			GetDesamplingSize(m_ReductionRate, out w, out h);
-			s_CommandBuffer.GetTemporaryRT(s_EffectId1, w, h, 0, m_FilterMode);
-			s_CommandBuffer.Blit(s_CopyId, s_EffectId1, mat, 0);
-			s_CommandBuffer.ReleaseTemporaryRT(s_CopyId);
+            // [2] Apply base effect with reduction buffer (copied screen -> effect1).
+            GetDesamplingSize(m_ReductionRate, out w, out h);
+            s_CommandBuffer.GetTemporaryRT(s_EffectId1, w, h, 0, m_FilterMode);
+            s_CommandBuffer.Blit(s_CopyId, s_EffectId1, mat, 0);
+            s_CommandBuffer.ReleaseTemporaryRT(s_CopyId);
 
-			// Iterate blurring operation.
-			if (m_BlurMode != BlurMode.None)
-			{
-				s_CommandBuffer.GetTemporaryRT(s_EffectId2, w, h, 0, m_FilterMode);
-				for (int i = 0; i < m_BlurIterations; i++)
-				{
-					// [3] Apply blurring with reduction buffer (effect1 -> effect2, or effect2 -> effect1).
-					s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_BlurFactor, 0));
-					s_CommandBuffer.Blit(s_EffectId1, s_EffectId2, mat, 1);
-					s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(0, m_BlurFactor));
-					s_CommandBuffer.Blit(s_EffectId2, s_EffectId1, mat, 1);
-				}
-				s_CommandBuffer.ReleaseTemporaryRT(s_EffectId2);
-			}
+            // Iterate blurring operation.
+            if (m_BlurMode != BlurMode.None)
+            {
+                s_CommandBuffer.GetTemporaryRT(s_EffectId2, w, h, 0, m_FilterMode);
+                for (int i = 0; i < m_BlurIterations; i++)
+                {
+                    // [3] Apply blurring with reduction buffer (effect1 -> effect2, or effect2 -> effect1).
+                    s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_BlurFactor, 0));
+                    s_CommandBuffer.Blit(s_EffectId1, s_EffectId2, mat, 1);
+                    s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(0, m_BlurFactor));
+                    s_CommandBuffer.Blit(s_EffectId2, s_EffectId1, mat, 1);
+                }
+                s_CommandBuffer.ReleaseTemporaryRT(s_EffectId2);
+            }
 
-			// [4] Copy to result RT.
-			s_CommandBuffer.Blit(s_EffectId1, _rtId);
-			s_CommandBuffer.ReleaseTemporaryRT(s_EffectId1);
+            // [4] Copy to result RT.
+            s_CommandBuffer.Blit(s_EffectId1, _rtId);
+            s_CommandBuffer.ReleaseTemporaryRT(s_EffectId1);
 
 #if UNITY_EDITOR
-			if (!Application.isPlaying)
-			{
-				Graphics.ExecuteCommandBuffer(s_CommandBuffer);
+            if (!Application.isPlaying)
+            {
+                Graphics.ExecuteCommandBuffer(s_CommandBuffer);
 
-				UpdateTexture();
-				return;
-			}
+                UpdateTexture();
+                return;
+            }
 #endif
-			// Execute command buffer.
-			canvas.rootCanvas.GetComponent<CanvasScaler> ().StartCoroutine (_CoUpdateTextureOnNextFrame ());
-		}
+            // Execute command buffer.
+            canvas.rootCanvas.GetComponent<CanvasScaler>().StartCoroutine(_CoUpdateTextureOnNextFrame());
+        }
 
-		/// <summary>
-		/// Release captured image.
-		/// </summary>
-		public void Release()
-		{
-			_Release(true);
-			texture = null;
-			_SetDirty();
-		}
+        /// <summary>
+        /// Release captured image.
+        /// </summary>
+        public void Release()
+        {
+            _Release(true);
+            texture = null;
+            _SetDirty();
+        }
 
 #if UNITY_EDITOR
-		protected override void Reset()
-		{
-			// Set parameters as 'Medium'.
-			m_BlurIterations = 3;
-			m_FilterMode = FilterMode.Bilinear;
-			m_DesamplingRate = DesamplingRate.x1;
-			m_ReductionRate = DesamplingRate.x1;
-			base.Reset();
-		}
+        protected override void Reset()
+        {
+            // Set parameters as 'Medium'.
+            m_BlurIterations = 3;
+            m_FilterMode = FilterMode.Bilinear;
+            m_DesamplingRate = DesamplingRate.x1;
+            m_ReductionRate = DesamplingRate.x1;
+            base.Reset();
+        }
 
-		/// <summary>
-		/// Raises the before serialize event.
-		/// </summary>
-		public void OnBeforeSerialize()
-		{
-		}
+        /// <summary>
+        /// Raises the before serialize event.
+        /// </summary>
+        public void OnBeforeSerialize()
+        {
+        }
 
-		/// <summary>
-		/// Raises the after deserialize event.
-		/// </summary>
-		public void OnAfterDeserialize()
-		{
-			UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(true);
-		}
+        /// <summary>
+        /// Raises the after deserialize event.
+        /// </summary>
+        public void OnAfterDeserialize()
+        {
+            UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(true);
+        }
 
-		/// <summary>
-		/// Raises the validate event.
-		/// </summary>
-		protected override void OnValidate()
-		{
-			base.OnValidate();
-			UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(false);
-		}
+        /// <summary>
+        /// Raises the validate event.
+        /// </summary>
+        protected override void OnValidate()
+        {
+            base.OnValidate();
+            UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(false);
+        }
 
-		/// <summary>
-		/// Updates the material.
-		/// </summary>
-		/// <param name="ignoreInPlayMode">If set to <c>true</c> ignore in play mode.</param>
-		protected void UpdateMaterial(bool ignoreInPlayMode)
-		{
-			if (!this || ignoreInPlayMode && Application.isPlaying)
-			{
-				return;
-			}
+        /// <summary>
+        /// Updates the material.
+        /// </summary>
+        /// <param name="ignoreInPlayMode">If set to <c>true</c> ignore in play mode.</param>
+        protected void UpdateMaterial(bool ignoreInPlayMode)
+        {
+            if (!this || ignoreInPlayMode && Application.isPlaying)
+            {
+                return;
+            }
 
-			var mat = MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode);
-			if (m_EffectMaterial != mat)
-			{
-				material = null;
-				m_EffectMaterial = mat;
-				_SetDirty();
-			}
-		}
+            var mat = MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode);
+            if (m_EffectMaterial != mat)
+            {
+                material = null;
+                m_EffectMaterial = mat;
+                _SetDirty();
+            }
+        }
 #endif
 
 
 
-		//################################
-		// Private Members.
-		//################################
-		RenderTexture _rt;
-		RenderTargetIdentifier _rtId;
+        //################################
+        // Private Members.
+        //################################
+        RenderTexture _rt;
+        RenderTargetIdentifier _rtId;
 
-		static int s_CopyId;
-		static int s_EffectId1;
-		static int s_EffectId2;
-		static int s_EffectFactorId;
-		static int s_ColorFactorId;
-		static CommandBuffer s_CommandBuffer;
+        static int s_CopyId;
+        static int s_EffectId1;
+        static int s_EffectId2;
+        static int s_EffectFactorId;
+        static int s_ColorFactorId;
+        static CommandBuffer s_CommandBuffer;
 
-		/// <summary>
-		/// Release genarated objects.
-		/// </summary>
-		/// <param name="releaseRT">If set to <c>true</c> release cached RenderTexture.</param>
-		void _Release(bool releaseRT)
-		{
-			if (releaseRT)
-			{
-				texture = null;
-				_Release(ref _rt);
-			}
+        /// <summary>
+        /// Release genarated objects.
+        /// </summary>
+        /// <param name="releaseRT">If set to <c>true</c> release cached RenderTexture.</param>
+        void _Release(bool releaseRT)
+        {
+            if (releaseRT)
+            {
+                texture = null;
+                _Release(ref _rt);
+            }
 
-			if (s_CommandBuffer != null)
-			{
-				s_CommandBuffer.Clear();
+            if (s_CommandBuffer != null)
+            {
+                s_CommandBuffer.Clear();
 
-				if (releaseRT)
-				{
-					s_CommandBuffer.Release();
-					s_CommandBuffer = null;
-				}
-			}
-		}
+                if (releaseRT)
+                {
+                    s_CommandBuffer.Release();
+                    s_CommandBuffer = null;
+                }
+            }
+        }
 
-		[System.Diagnostics.Conditional("UNITY_EDITOR")]
-		void _SetDirty()
-		{
+        [System.Diagnostics.Conditional("UNITY_EDITOR")]
+        void _SetDirty()
+        {
 #if UNITY_EDITOR
-			if (!Application.isPlaying)
-			{
-				UnityEditor.EditorUtility.SetDirty(this);
-			}
+            if (!Application.isPlaying)
+            {
+                UnityEditor.EditorUtility.SetDirty(this);
+            }
 #endif
-		}
+        }
 
-		void _Release(ref RenderTexture obj)
-		{
-			if (obj)
-			{
-				obj.Release();
-				RenderTexture.ReleaseTemporary (obj);
-				obj = null;
-			}
-		}
+        void _Release(ref RenderTexture obj)
+        {
+            if (obj)
+            {
+                obj.Release();
+                RenderTexture.ReleaseTemporary(obj);
+                obj = null;
+            }
+        }
 
-		/// <summary>
-		/// Set texture on next frame.
-		/// </summary>
-		IEnumerator _CoUpdateTextureOnNextFrame()
-		{
-			yield return new WaitForEndOfFrame();
-			UpdateTexture();
-		}
+        /// <summary>
+        /// Set texture on next frame.
+        /// </summary>
+        IEnumerator _CoUpdateTextureOnNextFrame()
+        {
+            yield return new WaitForEndOfFrame();
+            UpdateTexture();
+        }
 
-		void UpdateTexture()
-		{
+        void UpdateTexture()
+        {
 #if !UNITY_EDITOR
 			// Execute command buffer.
 			Graphics.ExecuteCommandBuffer (s_CommandBuffer);
 #endif
-			_Release(false);
-			texture = capturedTexture;
-			_SetDirty();
-		}
+            _Release(false);
+            texture = capturedTexture;
+            _SetDirty();
+        }
 
-	}
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs
index c97c0789..ca5643f8 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs
@@ -1,61 +1,59 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
+using UnityEngine;
 using UnityEngine.UI;
 
 namespace Coffee.UIExtensions
 {
 
-	//[RequireComponent(typeof(Graphic))]
-	[DisallowMultipleComponent]
-	[AddComponentMenu("UI/MeshEffectForTextMeshPro/UIFlip", 102)]
-	public class UIFlip : BaseMeshEffect
-	{
-		//################################
-		// Serialize Members.
-		//################################
+    //[RequireComponent(typeof(Graphic))]
+    [DisallowMultipleComponent]
+    [AddComponentMenu("UI/MeshEffectForTextMeshPro/UIFlip", 102)]
+    public class UIFlip : BaseMeshEffect
+    {
+        //################################
+        // Serialize Members.
+        //################################
 
-		[Tooltip("Flip horizontally.")]
-		[SerializeField] private bool m_Horizontal = false;
+        [Tooltip("Flip horizontally.")]
+        [SerializeField] private bool m_Horizontal = false;
 
-		[Tooltip("Flip vertically.")]
-		[SerializeField] private bool m_Veritical = false;
+        [Tooltip("Flip vertically.")]
+        [SerializeField] private bool m_Veritical = false;
 
-		//################################
-		// Public Members.
-		//################################
-		/// <summary>
-		/// Gets or sets a value indicating whether this <see cref="Coffee.UIExtensions.UIFlip"/> should be flipped horizontally.
-		/// </summary>
-		/// <value><c>true</c> if be flipped horizontally; otherwise, <c>false</c>.</value>
-		public bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; SetVerticesDirty (); } }
+        //################################
+        // Public Members.
+        //################################
+        /// <summary>
+        /// Gets or sets a value indicating whether this <see cref="Coffee.UIExtensions.UIFlip"/> should be flipped horizontally.
+        /// </summary>
+        /// <value><c>true</c> if be flipped horizontally; otherwise, <c>false</c>.</value>
+        public bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; SetVerticesDirty(); } }
 
-		/// <summary>
-		/// Gets or sets a value indicating whether this <see cref="Coffee.UIExtensions.UIFlip"/> should be flipped vertically.
-		/// </summary>
-		/// <value><c>true</c> if be flipped horizontally; otherwise, <c>false</c>.</value>
-		public bool vertical { get { return this.m_Veritical; } set { this.m_Veritical = value; SetVerticesDirty (); } }
+        /// <summary>
+        /// Gets or sets a value indicating whether this <see cref="Coffee.UIExtensions.UIFlip"/> should be flipped vertically.
+        /// </summary>
+        /// <value><c>true</c> if be flipped horizontally; otherwise, <c>false</c>.</value>
+        public bool vertical { get { return this.m_Veritical; } set { this.m_Veritical = value; SetVerticesDirty(); } }
 
-		/// <summary>
-		/// Call used to modify mesh.
-		/// </summary>
-		/// <param name="vh">VertexHelper.</param>
-		public override void ModifyMesh(VertexHelper vh)
-		{
-			RectTransform rt = graphic.rectTransform;
-			UIVertex vt = default(UIVertex);
-			Vector3 pos;
-			Vector2 center = rt.rect.center;
-			for (int i = 0; i < vh.currentVertCount; i++)
-			{
-				vh.PopulateUIVertex(ref vt, i);
-				pos = vt.position;
-				vt.position = new Vector3(
-					m_Horizontal ? -pos.x : pos.x,
-					m_Veritical ? -pos.y : pos.y
-				);
-				vh.SetUIVertex(vt, i);
-			}
-		}
-	}
+        /// <summary>
+        /// Call used to modify mesh.
+        /// </summary>
+        /// <param name="vh">VertexHelper.</param>
+        public override void ModifyMesh(VertexHelper vh)
+        {
+            RectTransform rt = graphic.rectTransform;
+            UIVertex vt = default(UIVertex);
+            Vector3 pos;
+            Vector2 center = rt.rect.center;
+            for (int i = 0; i < vh.currentVertCount; i++)
+            {
+                vh.PopulateUIVertex(ref vt, i);
+                pos = vt.position;
+                vt.position = new Vector3(
+                    m_Horizontal ? -pos.x : pos.x,
+                    m_Veritical ? -pos.y : pos.y
+                );
+                vh.SetUIVertex(vt, i);
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs
index 23f820eb..ff9409a2 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs
@@ -3,384 +3,384 @@ using UnityEngine.UI;
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// UIGradient.
-	/// </summary>
-	[DisallowMultipleComponent]
-	[AddComponentMenu("UI/MeshEffectForTextMeshPro/UIGradient", 101)]
-	public class UIGradient : BaseMeshEffect
-	{
-		//################################
-		// Constant or Static Members.
-		//################################
+    /// <summary>
+    /// UIGradient.
+    /// </summary>
+    [DisallowMultipleComponent]
+    [AddComponentMenu("UI/MeshEffectForTextMeshPro/UIGradient", 101)]
+    public class UIGradient : BaseMeshEffect
+    {
+        //################################
+        // Constant or Static Members.
+        //################################
 
-		/// <summary>
-		/// Gradient direction.
-		/// </summary>
-		public enum Direction
-		{
-			Horizontal,
-			Vertical,
-			Angle,
-			Diagonal,
-		}
+        /// <summary>
+        /// Gradient direction.
+        /// </summary>
+        public enum Direction
+        {
+            Horizontal,
+            Vertical,
+            Angle,
+            Diagonal,
+        }
 
-		/// <summary>
-		/// Gradient space for Text.
-		/// </summary>
-		public enum GradientStyle
-		{
-			Rect,
-			Fit,
-			Split,
-		}
+        /// <summary>
+        /// Gradient space for Text.
+        /// </summary>
+        public enum GradientStyle
+        {
+            Rect,
+            Fit,
+            Split,
+        }
 
 
-		//################################
-		// Serialize Members.
-		//################################
+        //################################
+        // Serialize Members.
+        //################################
 
-		[Tooltip("Gradient Direction.")]
-		[SerializeField] Direction m_Direction;
+        [Tooltip("Gradient Direction.")]
+        [SerializeField] Direction m_Direction;
 
-		[Tooltip("Color1: Top or Left.")]
-		[SerializeField] Color m_Color1 = Color.white;
+        [Tooltip("Color1: Top or Left.")]
+        [SerializeField] Color m_Color1 = Color.white;
 
-		[Tooltip("Color2: Bottom or Right.")]
-		[SerializeField] Color m_Color2 = Color.white;
+        [Tooltip("Color2: Bottom or Right.")]
+        [SerializeField] Color m_Color2 = Color.white;
 
-		[Tooltip("Color3: For diagonal.")]
-		[SerializeField] Color m_Color3 = Color.white;
+        [Tooltip("Color3: For diagonal.")]
+        [SerializeField] Color m_Color3 = Color.white;
 
-		[Tooltip("Color4: For diagonal.")]
-		[SerializeField] Color m_Color4 = Color.white;
+        [Tooltip("Color4: For diagonal.")]
+        [SerializeField] Color m_Color4 = Color.white;
 
-		[Tooltip("Gradient rotation.")]
-		[SerializeField][Range(-180, 180)] float m_Rotation;
+        [Tooltip("Gradient rotation.")]
+        [SerializeField][Range(-180, 180)] float m_Rotation;
 
-		[Tooltip("Gradient offset for Horizontal, Vertical or Angle.")]
-		[SerializeField][Range(-1, 1)] float m_Offset1;
+        [Tooltip("Gradient offset for Horizontal, Vertical or Angle.")]
+        [SerializeField][Range(-1, 1)] float m_Offset1;
 
-		[Tooltip("Gradient offset for Diagonal.")]
-		[SerializeField][Range(-1, 1)] float m_Offset2;
+        [Tooltip("Gradient offset for Diagonal.")]
+        [SerializeField][Range(-1, 1)] float m_Offset2;
 
-		[Tooltip("Gradient style for Text.")]
-		[SerializeField] GradientStyle m_GradientStyle;
+        [Tooltip("Gradient style for Text.")]
+        [SerializeField] GradientStyle m_GradientStyle;
 
-		[Tooltip("Color space to correct color.")]
-		[SerializeField] ColorSpace m_ColorSpace = ColorSpace.Uninitialized;
+        [Tooltip("Color space to correct color.")]
+        [SerializeField] ColorSpace m_ColorSpace = ColorSpace.Uninitialized;
 
-		[Tooltip("Ignore aspect ratio.")]
-		[SerializeField] bool m_IgnoreAspectRatio = true;
+        [Tooltip("Ignore aspect ratio.")]
+        [SerializeField] bool m_IgnoreAspectRatio = true;
 
 
-		//################################
-		// Public Members.
-		//################################
-		public Graphic targetGraphic { get { return base.graphic; } }
+        //################################
+        // Public Members.
+        //################################
+        public Graphic targetGraphic { get { return base.graphic; } }
 
-		/// <summary>
-		/// Gradient Direction.
-		/// </summary>
-		public Direction direction
-		{
-			get { return m_Direction; }
-			set
-			{
-				if (m_Direction != value)
-				{
-					m_Direction = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Gradient Direction.
+        /// </summary>
+        public Direction direction
+        {
+            get { return m_Direction; }
+            set
+            {
+                if (m_Direction != value)
+                {
+                    m_Direction = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Color1: Top or Left.
-		/// </summary>
-		public Color color1
-		{
-			get { return m_Color1; }
-			set
-			{
-				if (m_Color1 != value)
-				{
-					m_Color1 = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Color1: Top or Left.
+        /// </summary>
+        public Color color1
+        {
+            get { return m_Color1; }
+            set
+            {
+                if (m_Color1 != value)
+                {
+                    m_Color1 = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Color2: Bottom or Right.
-		/// </summary>
-		public Color color2
-		{
-			get { return m_Color2; }
-			set
-			{
-				if (m_Color2 != value)
-				{
-					m_Color2 = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Color2: Bottom or Right.
+        /// </summary>
+        public Color color2
+        {
+            get { return m_Color2; }
+            set
+            {
+                if (m_Color2 != value)
+                {
+                    m_Color2 = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Color3: For diagonal.
-		/// </summary>
-		public Color color3
-		{
-			get { return m_Color3; }
-			set
-			{
-				if (m_Color3 != value)
-				{
-					m_Color3 = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Color3: For diagonal.
+        /// </summary>
+        public Color color3
+        {
+            get { return m_Color3; }
+            set
+            {
+                if (m_Color3 != value)
+                {
+                    m_Color3 = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Color4: For diagonal.
-		/// </summary>
-		public Color color4
-		{
-			get { return m_Color4; }
-			set
-			{
-				if (m_Color4 != value)
-				{
-					m_Color4 = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Color4: For diagonal.
+        /// </summary>
+        public Color color4
+        {
+            get { return m_Color4; }
+            set
+            {
+                if (m_Color4 != value)
+                {
+                    m_Color4 = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gradient rotation.
-		/// </summary>
-		public float rotation
-		{
-			get
-			{
-				return m_Direction == Direction.Horizontal ? -90
-						: m_Direction == Direction.Vertical ? 0
-						: m_Rotation;
-			}
-			set
-			{
-				if (!Mathf.Approximately(m_Rotation, value))
-				{
-					m_Rotation = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Gradient rotation.
+        /// </summary>
+        public float rotation
+        {
+            get
+            {
+                return m_Direction == Direction.Horizontal ? -90
+                        : m_Direction == Direction.Vertical ? 0
+                        : m_Rotation;
+            }
+            set
+            {
+                if (!Mathf.Approximately(m_Rotation, value))
+                {
+                    m_Rotation = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gradient offset for Horizontal, Vertical or Angle.
-		/// </summary>
-		public float offset
-		{
-			get { return m_Offset1; }
-			set
-			{
-				if (m_Offset1 != value)
-				{
-					m_Offset1 = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Gradient offset for Horizontal, Vertical or Angle.
+        /// </summary>
+        public float offset
+        {
+            get { return m_Offset1; }
+            set
+            {
+                if (m_Offset1 != value)
+                {
+                    m_Offset1 = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gradient offset for Diagonal.
-		/// </summary>
-		public Vector2 offset2
-		{
-			get { return new Vector2(m_Offset2, m_Offset1); }
-			set
-			{
-				if (m_Offset1 != value.y || m_Offset2 != value.x)
-				{
-					m_Offset1 = value.y;
-					m_Offset2 = value.x;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Gradient offset for Diagonal.
+        /// </summary>
+        public Vector2 offset2
+        {
+            get { return new Vector2(m_Offset2, m_Offset1); }
+            set
+            {
+                if (m_Offset1 != value.y || m_Offset2 != value.x)
+                {
+                    m_Offset1 = value.y;
+                    m_Offset2 = value.x;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gradient style for Text.
-		/// </summary>
-		public GradientStyle gradientStyle
-		{
-			get { return m_GradientStyle; }
-			set
-			{
-				if (m_GradientStyle != value)
-				{
-					m_GradientStyle = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Gradient style for Text.
+        /// </summary>
+        public GradientStyle gradientStyle
+        {
+            get { return m_GradientStyle; }
+            set
+            {
+                if (m_GradientStyle != value)
+                {
+                    m_GradientStyle = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Color space to correct color.
-		/// </summary>
-		public ColorSpace colorSpace
-		{
-			get { return m_ColorSpace; }
-			set
-			{
-				if (m_ColorSpace != value)
-				{
-					m_ColorSpace = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Color space to correct color.
+        /// </summary>
+        public ColorSpace colorSpace
+        {
+            get { return m_ColorSpace; }
+            set
+            {
+                if (m_ColorSpace != value)
+                {
+                    m_ColorSpace = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Ignore aspect ratio.
-		/// </summary>
-		public bool ignoreAspectRatio
-		{
-			get { return m_IgnoreAspectRatio; }
-			set
-			{
-				if (m_IgnoreAspectRatio != value)
-				{
-					m_IgnoreAspectRatio = value;
-					SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Ignore aspect ratio.
+        /// </summary>
+        public bool ignoreAspectRatio
+        {
+            get { return m_IgnoreAspectRatio; }
+            set
+            {
+                if (m_IgnoreAspectRatio != value)
+                {
+                    m_IgnoreAspectRatio = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
 
-		/// <summary>
-		/// Call used to modify mesh.
-		/// </summary>
-		public override void ModifyMesh(VertexHelper vh)
-		{
-			if (!IsActive())
-				return;
+        /// <summary>
+        /// Call used to modify mesh.
+        /// </summary>
+        public override void ModifyMesh(VertexHelper vh)
+        {
+            if (!IsActive())
+                return;
 
-			// Gradient space.
-			Rect rect = default(Rect);
-			UIVertex vertex = default(UIVertex);
-			if (m_GradientStyle == GradientStyle.Rect)
-			{
-				// RectTransform.
-				rect = graphic.rectTransform.rect;
-			}
-			else if (m_GradientStyle == GradientStyle.Split)
-			{
-				// Each characters.
-				rect.Set(0, 0, 1, 1);
-			}
-			else if (m_GradientStyle == GradientStyle.Fit)
-			{
-				// Fit to contents.
-				rect.xMin = rect.yMin = float.MaxValue;
-				rect.xMax = rect.yMax = float.MinValue;
-				for (int i = 0; i < vh.currentVertCount; i++)
-				{
-					vh.PopulateUIVertex(ref vertex, i);
-					rect.xMin = Mathf.Min(rect.xMin, vertex.position.x);
-					rect.yMin = Mathf.Min(rect.yMin, vertex.position.y);
-					rect.xMax = Mathf.Max(rect.xMax, vertex.position.x);
-					rect.yMax = Mathf.Max(rect.yMax, vertex.position.y);
-				}
-			}
+            // Gradient space.
+            Rect rect = default(Rect);
+            UIVertex vertex = default(UIVertex);
+            if (m_GradientStyle == GradientStyle.Rect)
+            {
+                // RectTransform.
+                rect = graphic.rectTransform.rect;
+            }
+            else if (m_GradientStyle == GradientStyle.Split)
+            {
+                // Each characters.
+                rect.Set(0, 0, 1, 1);
+            }
+            else if (m_GradientStyle == GradientStyle.Fit)
+            {
+                // Fit to contents.
+                rect.xMin = rect.yMin = float.MaxValue;
+                rect.xMax = rect.yMax = float.MinValue;
+                for (int i = 0; i < vh.currentVertCount; i++)
+                {
+                    vh.PopulateUIVertex(ref vertex, i);
+                    rect.xMin = Mathf.Min(rect.xMin, vertex.position.x);
+                    rect.yMin = Mathf.Min(rect.yMin, vertex.position.y);
+                    rect.xMax = Mathf.Max(rect.xMax, vertex.position.x);
+                    rect.yMax = Mathf.Max(rect.yMax, vertex.position.y);
+                }
+            }
 
-			// Gradient rotation.
-			float rad = rotation * Mathf.Deg2Rad;
-			Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad));
-			if (!m_IgnoreAspectRatio && Direction.Angle <= m_Direction)
-			{
-				dir.x *= rect.height / rect.width;
-				dir = dir.normalized;
-			}
+            // Gradient rotation.
+            float rad = rotation * Mathf.Deg2Rad;
+            Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad));
+            if (!m_IgnoreAspectRatio && Direction.Angle <= m_Direction)
+            {
+                dir.x *= rect.height / rect.width;
+                dir = dir.normalized;
+            }
 
-			// Calculate vertex color.
-			Color color;
-			Vector2 nomalizedPos;
-			Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y);	// Get local matrix.
-			for (int i = 0; i < vh.currentVertCount; i++)
-			{
-				vh.PopulateUIVertex(ref vertex, i);
+            // Calculate vertex color.
+            Color color;
+            Vector2 nomalizedPos;
+            Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y);  // Get local matrix.
+            for (int i = 0; i < vh.currentVertCount; i++)
+            {
+                vh.PopulateUIVertex(ref vertex, i);
 
-				// Normalize vertex position by local matrix.
-				if (m_GradientStyle == GradientStyle.Split)
-				{
-					// Each characters.
-					nomalizedPos = localMatrix * s_SplitedCharacterPosition[i % 4] + offset2;
-				}
-				else
-				{
-					nomalizedPos = localMatrix * vertex.position + offset2;
-				}
+                // Normalize vertex position by local matrix.
+                if (m_GradientStyle == GradientStyle.Split)
+                {
+                    // Each characters.
+                    nomalizedPos = localMatrix * s_SplitedCharacterPosition[i % 4] + offset2;
+                }
+                else
+                {
+                    nomalizedPos = localMatrix * vertex.position + offset2;
+                }
 
-				// Interpolate vertex color.
-				if (direction == Direction.Diagonal)
-				{
-					color = Color.LerpUnclamped(
-						Color.LerpUnclamped(m_Color1, m_Color2, nomalizedPos.x),
-						Color.LerpUnclamped(m_Color3, m_Color4, nomalizedPos.x),
-						nomalizedPos.y);
-				}
-				else
-				{
-					color = Color.LerpUnclamped(m_Color2, m_Color1, nomalizedPos.y);
-				}
+                // Interpolate vertex color.
+                if (direction == Direction.Diagonal)
+                {
+                    color = Color.LerpUnclamped(
+                        Color.LerpUnclamped(m_Color1, m_Color2, nomalizedPos.x),
+                        Color.LerpUnclamped(m_Color3, m_Color4, nomalizedPos.x),
+                        nomalizedPos.y);
+                }
+                else
+                {
+                    color = Color.LerpUnclamped(m_Color2, m_Color1, nomalizedPos.y);
+                }
 
-				// Correct color.
-				vertex.color *= (m_ColorSpace == ColorSpace.Gamma) ? color.gamma
-					: (m_ColorSpace == ColorSpace.Linear) ? color.linear
-					: color;
+                // Correct color.
+                vertex.color *= (m_ColorSpace == ColorSpace.Gamma) ? color.gamma
+                    : (m_ColorSpace == ColorSpace.Linear) ? color.linear
+                    : color;
 
-				vh.SetUIVertex(vertex, i);
-			}
-		}
+                vh.SetUIVertex(vertex, i);
+            }
+        }
 
 
-		//################################
-		// Private Members.
-		//################################
-		static readonly Vector2[] s_SplitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero };
+        //################################
+        // Private Members.
+        //################################
+        static readonly Vector2[] s_SplitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero };
 
-		/// <summary>
-		/// Matrix2x3.
-		/// </summary>
-		struct Matrix2x3
-		{
-			public float m00, m01, m02, m10, m11, m12;
+        /// <summary>
+        /// Matrix2x3.
+        /// </summary>
+        struct Matrix2x3
+        {
+            public float m00, m01, m02, m10, m11, m12;
 
-			public Matrix2x3(Rect rect, float cos, float sin)
-			{
-				const float center = 0.5f;
-				float dx = -rect.xMin / rect.width - center;
-				float dy = -rect.yMin / rect.height - center;
-				m00 = cos / rect.width;
-				m01 = -sin / rect.height;
-				m02 = dx * cos - dy * sin + center;
-				m10 = sin / rect.width;
-				m11 = cos / rect.height;		
-				m12 = dx * sin + dy * cos + center;
-			}
+            public Matrix2x3(Rect rect, float cos, float sin)
+            {
+                const float center = 0.5f;
+                float dx = -rect.xMin / rect.width - center;
+                float dy = -rect.yMin / rect.height - center;
+                m00 = cos / rect.width;
+                m01 = -sin / rect.height;
+                m02 = dx * cos - dy * sin + center;
+                m10 = sin / rect.width;
+                m11 = cos / rect.height;
+                m12 = dx * sin + dy * cos + center;
+            }
 
-			public static Vector2 operator*(Matrix2x3 m, Vector2 v)
-			{
-				return new Vector2(
-					(m.m00 * v.x) + (m.m01 * v.y) + m.m02,
-					(m.m10 * v.x) + (m.m11 * v.y) + m.m12
-				);
-			}
-		}
-	}
+            public static Vector2 operator *(Matrix2x3 m, Vector2 v)
+            {
+                return new Vector2(
+                    (m.m00 * v.x) + (m.m01 * v.y) + m.m02,
+                    (m.m10 * v.x) + (m.m11 * v.y) + m.m12
+                );
+            }
+        }
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs
index 52138f20..707a30c1 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs
@@ -1,194 +1,193 @@
 using UnityEngine;
-using UnityEngine.Serialization;
 using UnityEngine.UI;
 
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// HSV Modifier.
-	/// </summary>
-	[AddComponentMenu("UI/UIEffect/UIHsvModifier", 4)]
-	public class UIHsvModifier : UIEffectBase
-	{
-		//################################
-		// Constant or Static Members.
-		//################################
-		public const string shaderName = "UI/Hidden/UI-Effect-HSV";
-		static readonly ParameterTexture _ptex = new ParameterTexture(7, 128, "_ParamTex");
+    /// <summary>
+    /// HSV Modifier.
+    /// </summary>
+    [AddComponentMenu("UI/UIEffect/UIHsvModifier", 4)]
+    public class UIHsvModifier : UIEffectBase
+    {
+        //################################
+        // Constant or Static Members.
+        //################################
+        public const string shaderName = "UI/Hidden/UI-Effect-HSV";
+        static readonly ParameterTexture _ptex = new ParameterTexture(7, 128, "_ParamTex");
 
 
-		//################################
-		// Serialize Members.
-		//################################
-		[Header("Target")]
+        //################################
+        // Serialize Members.
+        //################################
+        [Header("Target")]
 
-		[Tooltip("Target color to affect hsv shift.")]
-		[SerializeField] [ColorUsage(false)] Color m_TargetColor = Color.red;
+        [Tooltip("Target color to affect hsv shift.")]
+        [SerializeField][ColorUsage(false)] Color m_TargetColor = Color.red;
 
-		[Tooltip("Color range to affect hsv shift [0 ~ 1].")]
-		[SerializeField] [Range(0, 1)] float m_Range = 0.1f;
+        [Tooltip("Color range to affect hsv shift [0 ~ 1].")]
+        [SerializeField][Range(0, 1)] float m_Range = 0.1f;
 
-		[Header("Adjustment")]
+        [Header("Adjustment")]
 
-		[Tooltip("Hue shift [-0.5 ~ 0.5].")]
-		[SerializeField] [Range(-0.5f, 0.5f)] float m_Hue;
+        [Tooltip("Hue shift [-0.5 ~ 0.5].")]
+        [SerializeField][Range(-0.5f, 0.5f)] float m_Hue;
 
-		[Tooltip("Saturation shift [-0.5 ~ 0.5].")]
-		[SerializeField] [Range(-0.5f, 0.5f)] float m_Saturation;
+        [Tooltip("Saturation shift [-0.5 ~ 0.5].")]
+        [SerializeField][Range(-0.5f, 0.5f)] float m_Saturation;
 
-		[Tooltip("Value shift [-0.5 ~ 0.5].")]
-		[SerializeField] [Range(-0.5f, 0.5f)] float m_Value;
+        [Tooltip("Value shift [-0.5 ~ 0.5].")]
+        [SerializeField][Range(-0.5f, 0.5f)] float m_Value;
 
 
-		//################################
-		// Public Members.
-		//################################
+        //################################
+        // Public Members.
+        //################################
 
-		/// <summary>
-		/// Target color to affect hsv shift.
-		/// </summary>
-		public Color targetColor
-		{
-			get { return m_TargetColor; }
-			set
-			{ 
-				if (m_TargetColor != value)
-				{
-					m_TargetColor = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Target color to affect hsv shift.
+        /// </summary>
+        public Color targetColor
+        {
+            get { return m_TargetColor; }
+            set
+            {
+                if (m_TargetColor != value)
+                {
+                    m_TargetColor = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Color range to affect hsv shift [0 ~ 1].
-		/// </summary>
-		public float range
-		{
-			get { return m_Range; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_Range, value))
-				{
-					m_Range = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Color range to affect hsv shift [0 ~ 1].
+        /// </summary>
+        public float range
+        {
+            get { return m_Range; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_Range, value))
+                {
+                    m_Range = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Saturation shift [-0.5 ~ 0.5].
-		/// </summary>
-		public float saturation
-		{
-			get { return m_Saturation; }
-			set
-			{
-				value = Mathf.Clamp(value, -0.5f, 0.5f);
-				if (!Mathf.Approximately(m_Saturation, value))
-				{
-					m_Saturation = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Saturation shift [-0.5 ~ 0.5].
+        /// </summary>
+        public float saturation
+        {
+            get { return m_Saturation; }
+            set
+            {
+                value = Mathf.Clamp(value, -0.5f, 0.5f);
+                if (!Mathf.Approximately(m_Saturation, value))
+                {
+                    m_Saturation = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Value shift [-0.5 ~ 0.5].
-		/// </summary>
-		public float value
-		{
-			get { return m_Value; }
-			set
-			{
-				value = Mathf.Clamp(value, -0.5f, 0.5f);
-				if (!Mathf.Approximately(m_Value, value))
-				{
-					m_Value = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Value shift [-0.5 ~ 0.5].
+        /// </summary>
+        public float value
+        {
+            get { return m_Value; }
+            set
+            {
+                value = Mathf.Clamp(value, -0.5f, 0.5f);
+                if (!Mathf.Approximately(m_Value, value))
+                {
+                    m_Value = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Hue shift [-0.5 ~ 0.5].
-		/// </summary>
-		public float hue
-		{
-			get { return m_Hue; }
-			set
-			{
-				value = Mathf.Clamp(value, -0.5f, 0.5f);
-				if (!Mathf.Approximately(m_Hue, value))
-				{
-					m_Hue = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Hue shift [-0.5 ~ 0.5].
+        /// </summary>
+        public float hue
+        {
+            get { return m_Hue; }
+            set
+            {
+                value = Mathf.Clamp(value, -0.5f, 0.5f);
+                if (!Mathf.Approximately(m_Hue, value))
+                {
+                    m_Hue = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gets the parameter texture.
-		/// </summary>
-		public override ParameterTexture ptex { get { return _ptex; } }
+        /// <summary>
+        /// Gets the parameter texture.
+        /// </summary>
+        public override ParameterTexture ptex { get { return _ptex; } }
 
 #if UNITY_EDITOR
-		protected override Material GetMaterial()
-		{
-			if (isTMPro)
-			{
-				return null;
-			}
-			return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName));
-		}
+        protected override Material GetMaterial()
+        {
+            if (isTMPro)
+            {
+                return null;
+            }
+            return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName));
+        }
 #endif
 
-		/// <summary>
-		/// Modifies the mesh.
-		/// </summary>
-		public override void ModifyMesh(VertexHelper vh)
-		{
-			if (!isActiveAndEnabled)
-				return;
+        /// <summary>
+        /// Modifies the mesh.
+        /// </summary>
+        public override void ModifyMesh(VertexHelper vh)
+        {
+            if (!isActiveAndEnabled)
+                return;
 
-			float normalizedIndex = ptex.GetNormalizedIndex(this);
-			UIVertex vertex = default(UIVertex);
-			int count = vh.currentVertCount;
-			for (int i = 0; i < count; i++)
-			{
-				vh.PopulateUIVertex(ref vertex, i);
+            float normalizedIndex = ptex.GetNormalizedIndex(this);
+            UIVertex vertex = default(UIVertex);
+            int count = vh.currentVertCount;
+            for (int i = 0; i < count; i++)
+            {
+                vh.PopulateUIVertex(ref vertex, i);
 
-				vertex.uv0 = new Vector2(
-					Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
-					normalizedIndex
-				);
-				vh.SetUIVertex(vertex, i);
-			}
-		}
+                vertex.uv0 = new Vector2(
+                    Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
+                    normalizedIndex
+                );
+                vh.SetUIVertex(vertex, i);
+            }
+        }
 
-		protected override void SetDirty()
-		{
-			float h, s, v;
-			Color.RGBToHSV(m_TargetColor, out h, out s, out v);
+        protected override void SetDirty()
+        {
+            float h, s, v;
+            Color.RGBToHSV(m_TargetColor, out h, out s, out v);
 
-			foreach (var m in materials)
-			{
-				ptex.RegisterMaterial (m);
-			}
+            foreach (var m in materials)
+            {
+                ptex.RegisterMaterial(m);
+            }
 
-			ptex.SetData(this, 0, h);	// param1.x : target hue
-			ptex.SetData(this, 1, s);	// param1.y : target saturation
-			ptex.SetData(this, 2, v);	// param1.z : target value
-			ptex.SetData(this, 3, m_Range);		// param1.w : target range
-			ptex.SetData(this, 4, m_Hue + 0.5f);		// param2.x : hue shift
-			ptex.SetData(this, 5, m_Saturation + 0.5f);	// param2.y : saturation shift
-			ptex.SetData(this, 6, m_Value + 0.5f);		// param2.z : value shift
-		}
+            ptex.SetData(this, 0, h);   // param1.x : target hue
+            ptex.SetData(this, 1, s);   // param1.y : target saturation
+            ptex.SetData(this, 2, v);   // param1.z : target value
+            ptex.SetData(this, 3, m_Range);     // param1.w : target range
+            ptex.SetData(this, 4, m_Hue + 0.5f);        // param2.x : hue shift
+            ptex.SetData(this, 5, m_Saturation + 0.5f); // param2.y : saturation shift
+            ptex.SetData(this, 6, m_Value + 0.5f);      // param2.z : value shift
+        }
 
-		//################################
-		// Private Members.
-		//################################
-	}
+        //################################
+        // Private Members.
+        //################################
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs
index 32b0f212..f9819c7d 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs
@@ -5,230 +5,229 @@ using UnityEngine.Serialization;
 using UnityEngine.UI;
 
 #if UNITY_EDITOR
-using System.IO;
-using System.Linq;
 using UnityEditor;
 #endif
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// UIEffect.
-	/// </summary>
-	[RequireComponent(typeof(Graphic))]
-	[AddComponentMenu("UI/UIEffect/UIShadow", 100)]
-	public class UIShadow : BaseMeshEffect, IParameterTexture
+    /// <summary>
+    /// UIEffect.
+    /// </summary>
+    [RequireComponent(typeof(Graphic))]
+    [AddComponentMenu("UI/UIEffect/UIShadow", 100)]
+    public class UIShadow : BaseMeshEffect, IParameterTexture
 #if UNITY_EDITOR
-	, ISerializationCallbackReceiver
+    , ISerializationCallbackReceiver
 #endif
-	{
+    {
 
-		/// <summary>
-		/// Additional shadow.
-		/// </summary>
-		[System.Obsolete]
-		[System.Serializable]
-		public class AdditionalShadow
-		{
-			/// <summary>
-			/// How far is the blurring shadow from the graphic.
-			/// </summary>
-			[FormerlySerializedAs("shadowBlur")]
-			[Range(0, 1)] public float blur = 0.25f;
+        /// <summary>
+        /// Additional shadow.
+        /// </summary>
+        [System.Obsolete]
+        [System.Serializable]
+        public class AdditionalShadow
+        {
+            /// <summary>
+            /// How far is the blurring shadow from the graphic.
+            /// </summary>
+            [FormerlySerializedAs("shadowBlur")]
+            [Range(0, 1)] public float blur = 0.25f;
 
-			/// <summary>
-			/// Shadow effect mode.
-			/// </summary>
-			[FormerlySerializedAs("shadowMode")]
-			public ShadowStyle style = ShadowStyle.Shadow;
+            /// <summary>
+            /// Shadow effect mode.
+            /// </summary>
+            [FormerlySerializedAs("shadowMode")]
+            public ShadowStyle style = ShadowStyle.Shadow;
 
-			/// <summary>
-			/// Color for the shadow effect.
-			/// </summary>
-			[FormerlySerializedAs("shadowColor")]
-			public Color effectColor = Color.black;
+            /// <summary>
+            /// Color for the shadow effect.
+            /// </summary>
+            [FormerlySerializedAs("shadowColor")]
+            public Color effectColor = Color.black;
 
-			/// <summary>
-			/// How far is the shadow from the graphic.
-			/// </summary>
-			public Vector2 effectDistance = new Vector2(1f, -1f);
+            /// <summary>
+            /// How far is the shadow from the graphic.
+            /// </summary>
+            public Vector2 effectDistance = new Vector2(1f, -1f);
 
-			/// <summary>
-			/// Should the shadow inherit the alpha from the graphic?
-			/// </summary>
-			public bool useGraphicAlpha = true;
-		}
+            /// <summary>
+            /// Should the shadow inherit the alpha from the graphic?
+            /// </summary>
+            public bool useGraphicAlpha = true;
+        }
 
-		//################################
-		// Serialize Members.
-		//################################
-		[Tooltip("How far is the blurring shadow from the graphic.")]
-		[FormerlySerializedAs("m_Blur")]
-		[SerializeField][Range(0, 1)] float m_BlurFactor = 1;
+        //################################
+        // Serialize Members.
+        //################################
+        [Tooltip("How far is the blurring shadow from the graphic.")]
+        [FormerlySerializedAs("m_Blur")]
+        [SerializeField][Range(0, 1)] float m_BlurFactor = 1;
 
-		[Tooltip("Shadow effect style.")]
-		[SerializeField] ShadowStyle m_Style = ShadowStyle.Shadow;
+        [Tooltip("Shadow effect style.")]
+        [SerializeField] ShadowStyle m_Style = ShadowStyle.Shadow;
 
-		#pragma warning disable 0414
-		[HideInInspector][System.Obsolete]
-		[SerializeField] List<AdditionalShadow> m_AdditionalShadows = new List<AdditionalShadow>();
-		#pragma warning restore 0414
+#pragma warning disable 0414
+        [HideInInspector]
+        [System.Obsolete]
+        [SerializeField] List<AdditionalShadow> m_AdditionalShadows = new List<AdditionalShadow>();
+#pragma warning restore 0414
 
 
-		[SerializeField]
-		private Color m_EffectColor = new Color (0f, 0f, 0f, 0.5f);
+        [SerializeField]
+        private Color m_EffectColor = new Color(0f, 0f, 0f, 0.5f);
 
-		[SerializeField]
-		private Vector2 m_EffectDistance = new Vector2 (1f, -1f);
+        [SerializeField]
+        private Vector2 m_EffectDistance = new Vector2(1f, -1f);
 
-		[SerializeField]
-		private bool m_UseGraphicAlpha = true;
+        [SerializeField]
+        private bool m_UseGraphicAlpha = true;
 
-		private const float kMaxEffectDistance = 600f;
+        private const float kMaxEffectDistance = 600f;
 
-		public Color effectColor
-		{
-			get { return m_EffectColor; }
-			set
-			{
-				m_EffectColor = value;
-				if (graphic != null)
-					graphic.SetVerticesDirty ();
-			}
-		}
+        public Color effectColor
+        {
+            get { return m_EffectColor; }
+            set
+            {
+                m_EffectColor = value;
+                if (graphic != null)
+                    graphic.SetVerticesDirty();
+            }
+        }
 
-		public Vector2 effectDistance
-		{
-			get { return m_EffectDistance; }
-			set
-			{
-				if (value.x > kMaxEffectDistance)
-					value.x = kMaxEffectDistance;
-				if (value.x < -kMaxEffectDistance)
-					value.x = -kMaxEffectDistance;
+        public Vector2 effectDistance
+        {
+            get { return m_EffectDistance; }
+            set
+            {
+                if (value.x > kMaxEffectDistance)
+                    value.x = kMaxEffectDistance;
+                if (value.x < -kMaxEffectDistance)
+                    value.x = -kMaxEffectDistance;
 
-				if (value.y > kMaxEffectDistance)
-					value.y = kMaxEffectDistance;
-				if (value.y < -kMaxEffectDistance)
-					value.y = -kMaxEffectDistance;
+                if (value.y > kMaxEffectDistance)
+                    value.y = kMaxEffectDistance;
+                if (value.y < -kMaxEffectDistance)
+                    value.y = -kMaxEffectDistance;
 
-				if (m_EffectDistance == value)
-					return;
+                if (m_EffectDistance == value)
+                    return;
 
-				m_EffectDistance = value;
+                m_EffectDistance = value;
 
-				if (graphic != null)
-					graphic.SetVerticesDirty ();
-			}
-		}
+                if (graphic != null)
+                    graphic.SetVerticesDirty();
+            }
+        }
 
-		public bool useGraphicAlpha
-		{
-			get { return m_UseGraphicAlpha; }
-			set
-			{
-				m_UseGraphicAlpha = value;
-				if (graphic != null)
-					graphic.SetVerticesDirty ();
-			}
-		}
+        public bool useGraphicAlpha
+        {
+            get { return m_UseGraphicAlpha; }
+            set
+            {
+                m_UseGraphicAlpha = value;
+                if (graphic != null)
+                    graphic.SetVerticesDirty();
+            }
+        }
 
-		//################################
-		// Public Members.
-		//################################
-		/// <summary>
-		/// How far is the blurring shadow from the graphic.
-		/// </summary>
-		[System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")]
-		public float blur
-		{
-			get { return m_BlurFactor; }
-			set
-			{
-				m_BlurFactor = Mathf.Clamp(value, 0, 2);
-				_SetDirty();
-			}
-		}
+        //################################
+        // Public Members.
+        //################################
+        /// <summary>
+        /// How far is the blurring shadow from the graphic.
+        /// </summary>
+        [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")]
+        public float blur
+        {
+            get { return m_BlurFactor; }
+            set
+            {
+                m_BlurFactor = Mathf.Clamp(value, 0, 2);
+                _SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// How far is the blurring shadow from the graphic.
-		/// </summary>
-		public float blurFactor
-		{
-			get { return m_BlurFactor; }
-			set
-			{
-				m_BlurFactor = Mathf.Clamp(value, 0, 2);
-				_SetDirty();
-			}
-		}
+        /// <summary>
+        /// How far is the blurring shadow from the graphic.
+        /// </summary>
+        public float blurFactor
+        {
+            get { return m_BlurFactor; }
+            set
+            {
+                m_BlurFactor = Mathf.Clamp(value, 0, 2);
+                _SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// Shadow effect style.
-		/// </summary>
-		public ShadowStyle style
-		{
-			get { return m_Style; }
-			set
-			{
-				m_Style = value;
-				_SetDirty();
-			}
-		}
+        /// <summary>
+        /// Shadow effect style.
+        /// </summary>
+        public ShadowStyle style
+        {
+            get { return m_Style; }
+            set
+            {
+                m_Style = value;
+                _SetDirty();
+            }
+        }
 
-		/// <summary>
-		/// Gets or sets the parameter index.
-		/// </summary>
-		public int parameterIndex { get; set; }
+        /// <summary>
+        /// Gets or sets the parameter index.
+        /// </summary>
+        public int parameterIndex { get; set; }
 
-		/// <summary>
-		/// Gets the parameter texture.
-		/// </summary>
-		public ParameterTexture ptex{ get; private set; }
+        /// <summary>
+        /// Gets the parameter texture.
+        /// </summary>
+        public ParameterTexture ptex { get; private set; }
 
-		int _graphicVertexCount;
-		static readonly List<UIShadow> tmpShadows = new List<UIShadow>();
+        int _graphicVertexCount;
+        static readonly List<UIShadow> tmpShadows = new List<UIShadow>();
 
-		protected override void OnEnable()
-		{
-			base.OnEnable();
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-			_uiEffect = GetComponent<UIEffect>();
-			if (_uiEffect)
-			{
-				ptex = _uiEffect.ptex;
-				ptex.Register(this);
-			}
+            _uiEffect = GetComponent<UIEffect>();
+            if (_uiEffect)
+            {
+                ptex = _uiEffect.ptex;
+                ptex.Register(this);
+            }
 
-			#if TMP_PRESENT
+#if TMP_PRESENT
 			if (isTMPro)
 			{
 				textMeshPro.onCullStateChanged.AddListener (OnCullStateChanged);
 			}
-			#endif
-		}
+#endif
+        }
 
-		protected override void OnDisable()
-		{
-			base.OnDisable();
-			_uiEffect = null;
-			if (ptex != null)
-			{
-				ptex.Unregister(this);
-				ptex = null;
-			}
-		}
+        protected override void OnDisable()
+        {
+            base.OnDisable();
+            _uiEffect = null;
+            if (ptex != null)
+            {
+                ptex.Unregister(this);
+                ptex = null;
+            }
+        }
 
 
-		#if UNITY_EDITOR
-		protected override void OnValidate ()
-		{
-			effectDistance = m_EffectDistance;
-			base.OnValidate ();
-		}
-		#endif
+#if UNITY_EDITOR
+        protected override void OnValidate()
+        {
+            effectDistance = m_EffectDistance;
+            base.OnValidate();
+        }
+#endif
 
-		#if TMP_PRESENT
+#if TMP_PRESENT
 		protected void OnCullStateChanged (bool state)
 		{
 			SetVerticesDirty ();
@@ -249,213 +248,213 @@ namespace Coffee.UIExtensions
 			}
 			base.LateUpdate ();
 		}
-		#endif
+#endif
 
-		/// <summary>
-		/// Modifies the mesh.
-		/// </summary>
-		public override void ModifyMesh(VertexHelper vh)
-		{
-			if (!isActiveAndEnabled || vh.currentVertCount <= 0 || m_Style == ShadowStyle.None)
-			{
-				return;
-			}
+        /// <summary>
+        /// Modifies the mesh.
+        /// </summary>
+        public override void ModifyMesh(VertexHelper vh)
+        {
+            if (!isActiveAndEnabled || vh.currentVertCount <= 0 || m_Style == ShadowStyle.None)
+            {
+                return;
+            }
 
-			vh.GetUIVertexStream(s_Verts);
+            vh.GetUIVertexStream(s_Verts);
 
-			GetComponents<UIShadow>(tmpShadows);
+            GetComponents<UIShadow>(tmpShadows);
 
-			foreach (var s in tmpShadows)
-			{
-				if (s.isActiveAndEnabled)
-				{
-					if (s == this)
-					{
-						foreach (var s2 in tmpShadows)
-						{
-							s2._graphicVertexCount = s_Verts.Count;
-						}
-					}
-					break;
-				}
-			}
+            foreach (var s in tmpShadows)
+            {
+                if (s.isActiveAndEnabled)
+                {
+                    if (s == this)
+                    {
+                        foreach (var s2 in tmpShadows)
+                        {
+                            s2._graphicVertexCount = s_Verts.Count;
+                        }
+                    }
+                    break;
+                }
+            }
 
-			tmpShadows.Clear();
+            tmpShadows.Clear();
 
-			//================================
-			// Append shadow vertices.
-			//================================
-			{
-				_uiEffect = _uiEffect ?? GetComponent<UIEffect>();
-				var start = s_Verts.Count - _graphicVertexCount;
-				var end = s_Verts.Count;
+            //================================
+            // Append shadow vertices.
+            //================================
+            {
+                _uiEffect = _uiEffect ?? GetComponent<UIEffect>();
+                var start = s_Verts.Count - _graphicVertexCount;
+                var end = s_Verts.Count;
 
-				if (ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled)
-				{
-					ptex.SetData(this, 0, _uiEffect.effectFactor);	// param.x : effect factor
-					ptex.SetData(this, 1, 255);	// param.y : color factor
-					ptex.SetData(this, 2, m_BlurFactor);	// param.z : blur factor
-				}
+                if (ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled)
+                {
+                    ptex.SetData(this, 0, _uiEffect.effectFactor);  // param.x : effect factor
+                    ptex.SetData(this, 1, 255); // param.y : color factor
+                    ptex.SetData(this, 2, m_BlurFactor);    // param.z : blur factor
+                }
 
-				_ApplyShadow(s_Verts, effectColor, ref start, ref end, effectDistance, style, useGraphicAlpha);
-			}
+                _ApplyShadow(s_Verts, effectColor, ref start, ref end, effectDistance, style, useGraphicAlpha);
+            }
 
-			vh.Clear();
-			vh.AddUIVertexTriangleStream(s_Verts);
+            vh.Clear();
+            vh.AddUIVertexTriangleStream(s_Verts);
 
-			s_Verts.Clear();
-		}
+            s_Verts.Clear();
+        }
 
-		UIEffect _uiEffect;
+        UIEffect _uiEffect;
 
-		//################################
-		// Private Members.
-		//################################
-		static readonly List<UIVertex> s_Verts = new List<UIVertex>(4096);
+        //################################
+        // Private Members.
+        //################################
+        static readonly List<UIVertex> s_Verts = new List<UIVertex>(4096);
 
-		/// <summary>
-		/// Append shadow vertices.
-		/// * It is similar to Shadow component implementation.
-		/// </summary>
-		void _ApplyShadow(List<UIVertex> verts, Color color, ref int start, ref int end, Vector2 effectDistance, ShadowStyle style, bool useGraphicAlpha)
-		{
-			if (style == ShadowStyle.None || color.a <= 0)
-				return;
+        /// <summary>
+        /// Append shadow vertices.
+        /// * It is similar to Shadow component implementation.
+        /// </summary>
+        void _ApplyShadow(List<UIVertex> verts, Color color, ref int start, ref int end, Vector2 effectDistance, ShadowStyle style, bool useGraphicAlpha)
+        {
+            if (style == ShadowStyle.None || color.a <= 0)
+                return;
 
-			// Append Shadow.
-			_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, effectDistance.y, useGraphicAlpha);
+            // Append Shadow.
+            _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, effectDistance.y, useGraphicAlpha);
 
-			// Append Shadow3.
-			if (ShadowStyle.Shadow3 == style)
-			{
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha);
-			}
+            // Append Shadow3.
+            if (ShadowStyle.Shadow3 == style)
+            {
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha);
+            }
 
-			// Append Outline.
-			else if (ShadowStyle.Outline == style)
-			{
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha);
-			}
+            // Append Outline.
+            else if (ShadowStyle.Outline == style)
+            {
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha);
+            }
 
-			// Append Outline8.
-			else if (ShadowStyle.Outline8 == style)
-			{
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, 0, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, -effectDistance.y, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha);
-				_ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha);
-			}
-		}
+            // Append Outline8.
+            else if (ShadowStyle.Outline8 == style)
+            {
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, 0, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, -effectDistance.y, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha);
+                _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha);
+            }
+        }
 
-		/// <summary>
-		/// Append shadow vertices.
-		/// * It is similar to Shadow component implementation.
-		/// </summary>
-		void _ApplyShadowZeroAlloc(List<UIVertex> verts, Color color, ref int start, ref int end, float x, float y, bool useGraphicAlpha)
-		{
-			// Check list capacity.
-			int count = end - start;
-			var neededCapacity = verts.Count + count;
-			if (verts.Capacity < neededCapacity)
-				verts.Capacity *= 2;
+        /// <summary>
+        /// Append shadow vertices.
+        /// * It is similar to Shadow component implementation.
+        /// </summary>
+        void _ApplyShadowZeroAlloc(List<UIVertex> verts, Color color, ref int start, ref int end, float x, float y, bool useGraphicAlpha)
+        {
+            // Check list capacity.
+            int count = end - start;
+            var neededCapacity = verts.Count + count;
+            if (verts.Capacity < neededCapacity)
+                verts.Capacity *= 2;
 
-			float normalizedIndex = ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled
-				? ptex.GetNormalizedIndex(this)
-				: -1;
+            float normalizedIndex = ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled
+                ? ptex.GetNormalizedIndex(this)
+                : -1;
 
-			// Add 
-			UIVertex vt = default(UIVertex);
-			for (int i = 0; i < count; i++)
-			{
-				verts.Add(vt);
-			}
+            // Add 
+            UIVertex vt = default(UIVertex);
+            for (int i = 0; i < count; i++)
+            {
+                verts.Add(vt);
+            }
 
-			// Move
-			for (int i = verts.Count - 1; count <= i; i--)
-			{
-				verts[i] = verts[i - count];
-			}
+            // Move
+            for (int i = verts.Count - 1; count <= i; i--)
+            {
+                verts[i] = verts[i - count];
+            }
 
-			// Append shadow vertices to the front of list.
-			// * The original vertex is pushed backward.
-			for (int i = 0; i < count; ++i)
-			{
-				vt = verts[i + start + count];
+            // Append shadow vertices to the front of list.
+            // * The original vertex is pushed backward.
+            for (int i = 0; i < count; ++i)
+            {
+                vt = verts[i + start + count];
 
-				Vector3 v = vt.position;
-				vt.position.Set(v.x + x, v.y + y, v.z);
+                Vector3 v = vt.position;
+                vt.position.Set(v.x + x, v.y + y, v.z);
 
-				Color vertColor = effectColor;
-				vertColor.a = useGraphicAlpha ? color.a * vt.color.a / 255 : color.a;
-				vt.color = vertColor;
+                Color vertColor = effectColor;
+                vertColor.a = useGraphicAlpha ? color.a * vt.color.a / 255 : color.a;
+                vt.color = vertColor;
 
 
-				// Set UIEffect prameters
-				if (0 <= normalizedIndex)
-				{
-					vt.uv0 = new Vector2(
-						vt.uv0.x,
-						normalizedIndex
-					);
-				}
+                // Set UIEffect prameters
+                if (0 <= normalizedIndex)
+                {
+                    vt.uv0 = new Vector2(
+                        vt.uv0.x,
+                        normalizedIndex
+                    );
+                }
 
-				verts[i] = vt;
-			}
+                verts[i] = vt;
+            }
 
-			// Update next shadow offset.
-			start = end;
-			end = verts.Count;
-		}
+            // Update next shadow offset.
+            start = end;
+            end = verts.Count;
+        }
 
-		/// <summary>
-		/// Mark the UIEffect as dirty.
-		/// </summary>
-		void _SetDirty()
-		{
-			if (graphic)
-				graphic.SetVerticesDirty();
-		}
+        /// <summary>
+        /// Mark the UIEffect as dirty.
+        /// </summary>
+        void _SetDirty()
+        {
+            if (graphic)
+                graphic.SetVerticesDirty();
+        }
 
 #if UNITY_EDITOR
-		public void OnBeforeSerialize()
-		{
-		}
+        public void OnBeforeSerialize()
+        {
+        }
 
-		public void OnAfterDeserialize()
-		{
-			EditorApplication.delayCall += UpgradeIfNeeded;
-		}
+        public void OnAfterDeserialize()
+        {
+            EditorApplication.delayCall += UpgradeIfNeeded;
+        }
 
 
-		#pragma warning disable 0612
-		void UpgradeIfNeeded()
-		{
-			if (0 < m_AdditionalShadows.Count)
-			{
-				foreach (var s in m_AdditionalShadows)
-				{
-					if (s.style == ShadowStyle.None)
-					{
-						continue;
-					}
+#pragma warning disable 0612
+        void UpgradeIfNeeded()
+        {
+            if (0 < m_AdditionalShadows.Count)
+            {
+                foreach (var s in m_AdditionalShadows)
+                {
+                    if (s.style == ShadowStyle.None)
+                    {
+                        continue;
+                    }
 
-					var shadow = gameObject.AddComponent<UIShadow>();
-					shadow.style = s.style;
-					shadow.effectDistance = s.effectDistance;
-					shadow.effectColor = s.effectColor;
-					shadow.useGraphicAlpha = s.useGraphicAlpha;
-					shadow.blurFactor = s.blur;
-				}
-				m_AdditionalShadows = null;
-			}
-		}
-		#pragma warning restore 0612
+                    var shadow = gameObject.AddComponent<UIShadow>();
+                    shadow.style = s.style;
+                    shadow.effectDistance = s.effectDistance;
+                    shadow.effectColor = s.effectColor;
+                    shadow.useGraphicAlpha = s.useGraphicAlpha;
+                    shadow.blurFactor = s.blur;
+                }
+                m_AdditionalShadows = null;
+            }
+        }
+#pragma warning restore 0612
 #endif
-	}
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs
index 2d9037f4..5980da43 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs
@@ -1,408 +1,408 @@
 using System;
-using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.Serialization;
 using UnityEngine.UI;
-using System.Collections;
 
 #if UNITY_EDITOR
-using System.IO;
-using System.Linq;
-using UnityEditor;
 #endif
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// UIEffect.
-	/// </summary>
-	[AddComponentMenu("UI/UIEffect/UIShiny", 2)]
-	public class UIShiny : UIEffectBase
-	{
-		//################################
-		// Constant or Static Members.
-		//################################
-		public const string shaderName = "UI/Hidden/UI-Effect-Shiny";
-		static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex");
+    /// <summary>
+    /// UIEffect.
+    /// </summary>
+    [AddComponentMenu("UI/UIEffect/UIShiny", 2)]
+    public class UIShiny : UIEffectBase
+    {
+        //################################
+        // Constant or Static Members.
+        //################################
+        public const string shaderName = "UI/Hidden/UI-Effect-Shiny";
+        static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex");
 
 
-		//################################
-		// Serialize Members.
-		//################################
-		[Tooltip("Location for shiny effect.")]
-		[FormerlySerializedAs("m_Location")]
-		[SerializeField] [Range(0, 1)] float m_EffectFactor = 0;
+        //################################
+        // Serialize Members.
+        //################################
+        [Tooltip("Location for shiny effect.")]
+        [FormerlySerializedAs("m_Location")]
+        [SerializeField][Range(0, 1)] float m_EffectFactor = 0;
 
-		[Tooltip("Width for shiny effect.")]
-		[SerializeField] [Range(0, 1)] float m_Width = 0.25f;
+        [Tooltip("Width for shiny effect.")]
+        [SerializeField][Range(0, 1)] float m_Width = 0.25f;
 
-		[Tooltip("Rotation for shiny effect.")]
-		[SerializeField] [Range(-180, 180)] float m_Rotation;
+        [Tooltip("Rotation for shiny effect.")]
+        [SerializeField][Range(-180, 180)] float m_Rotation;
 
-		[Tooltip("Softness for shiny effect.")]
-		[SerializeField][Range(0.01f, 1)] float m_Softness = 1f;
+        [Tooltip("Softness for shiny effect.")]
+        [SerializeField][Range(0.01f, 1)] float m_Softness = 1f;
 
-		[Tooltip("Brightness for shiny effect.")]
-		[FormerlySerializedAs("m_Alpha")]
-		[SerializeField][Range(0, 1)] float m_Brightness = 1f;
+        [Tooltip("Brightness for shiny effect.")]
+        [FormerlySerializedAs("m_Alpha")]
+        [SerializeField][Range(0, 1)] float m_Brightness = 1f;
 
-		[Tooltip("Gloss factor for shiny effect.")]
-		[FormerlySerializedAs("m_Highlight")]
-		[SerializeField][Range(0, 1)] float m_Gloss = 1;
+        [Tooltip("Gloss factor for shiny effect.")]
+        [FormerlySerializedAs("m_Highlight")]
+        [SerializeField][Range(0, 1)] float m_Gloss = 1;
 
-		[Header("Advanced Option")]
-		[Tooltip("The area for effect.")]
-		[SerializeField] protected EffectArea m_EffectArea;
+        [Header("Advanced Option")]
+        [Tooltip("The area for effect.")]
+        [SerializeField] protected EffectArea m_EffectArea;
 
-		[SerializeField] EffectPlayer m_Player;
+        [SerializeField] EffectPlayer m_Player;
 
-		#pragma warning disable 0414
-		[Obsolete][HideInInspector]
-		[SerializeField] bool m_Play = false;
-		[Obsolete][HideInInspector]
-		[SerializeField] bool m_Loop = false;
-		[Obsolete][HideInInspector]
-		[SerializeField][Range(0.1f, 10)] float m_Duration = 1;
-		[Obsolete][HideInInspector]
-		[SerializeField][Range(0, 10)] float m_LoopDelay = 1;
-		[Obsolete][HideInInspector]
-		[SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal;
-		#pragma warning restore 0414
+#pragma warning disable 0414
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] bool m_Play = false;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] bool m_Loop = false;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField][Range(0.1f, 10)] float m_Duration = 1;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField][Range(0, 10)] float m_LoopDelay = 1;
+        [Obsolete]
+        [HideInInspector]
+        [SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal;
+#pragma warning restore 0414
 
 
-		//################################
-		// Public Members.
-		//################################
+        //################################
+        // Public Members.
+        //################################
 
-		/// <summary>
-		/// Effect factor between 0(start) and 1(end).
-		/// </summary>
-		[System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
-		public float location
-		{
-			get { return m_EffectFactor; }
-			set
-			{ 
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_EffectFactor, value))
-				{
-					m_EffectFactor = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Effect factor between 0(start) and 1(end).
+        /// </summary>
+        [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")]
+        public float location
+        {
+            get { return m_EffectFactor; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_EffectFactor, value))
+                {
+                    m_EffectFactor = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Effect factor between 0(start) and 1(end).
-		/// </summary>
-		public float effectFactor
-		{
-			get { return m_EffectFactor; }
-			set
-			{ 
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_EffectFactor, value))
-				{
-					m_EffectFactor = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Effect factor between 0(start) and 1(end).
+        /// </summary>
+        public float effectFactor
+        {
+            get { return m_EffectFactor; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_EffectFactor, value))
+                {
+                    m_EffectFactor = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Width for shiny effect.
-		/// </summary>
-		public float width
-		{
-			get { return m_Width; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_Width, value))
-				{
-					m_Width = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Width for shiny effect.
+        /// </summary>
+        public float width
+        {
+            get { return m_Width; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_Width, value))
+                {
+                    m_Width = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Softness for shiny effect.
-		/// </summary>
-		public float softness
-		{
-			get { return m_Softness; }
-			set
-			{
-				value = Mathf.Clamp(value, 0.01f, 1);
-				if (!Mathf.Approximately(m_Softness, value))
-				{
-					m_Softness = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Softness for shiny effect.
+        /// </summary>
+        public float softness
+        {
+            get { return m_Softness; }
+            set
+            {
+                value = Mathf.Clamp(value, 0.01f, 1);
+                if (!Mathf.Approximately(m_Softness, value))
+                {
+                    m_Softness = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Brightness for shiny effect.
-		/// </summary>
-		[System.Obsolete("Use brightness instead (UnityUpgradable) -> brightness")]
-		public float alpha
-		{
-			get { return m_Brightness; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_Brightness, value))
-				{
-					m_Brightness = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Brightness for shiny effect.
+        /// </summary>
+        [System.Obsolete("Use brightness instead (UnityUpgradable) -> brightness")]
+        public float alpha
+        {
+            get { return m_Brightness; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_Brightness, value))
+                {
+                    m_Brightness = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Brightness for shiny effect.
-		/// </summary>
-		public float brightness
-		{
-			get { return m_Brightness; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_Brightness, value))
-				{
-					m_Brightness = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Brightness for shiny effect.
+        /// </summary>
+        public float brightness
+        {
+            get { return m_Brightness; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_Brightness, value))
+                {
+                    m_Brightness = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gloss factor for shiny effect.
-		/// </summary>
-		[System.Obsolete("Use gloss instead (UnityUpgradable) -> gloss")]
-		public float highlight
-		{
-			get { return m_Gloss; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_Gloss, value))
-				{
-					m_Gloss = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Gloss factor for shiny effect.
+        /// </summary>
+        [System.Obsolete("Use gloss instead (UnityUpgradable) -> gloss")]
+        public float highlight
+        {
+            get { return m_Gloss; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_Gloss, value))
+                {
+                    m_Gloss = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gloss factor for shiny effect.
-		/// </summary>
-		public float gloss
-		{
-			get { return m_Gloss; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_Gloss, value))
-				{
-					m_Gloss = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Gloss factor for shiny effect.
+        /// </summary>
+        public float gloss
+        {
+            get { return m_Gloss; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_Gloss, value))
+                {
+                    m_Gloss = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Rotation for shiny effect.
-		/// </summary>
-		public float rotation
-		{
-			get { return m_Rotation; }
-			set
-			{
-				if (!Mathf.Approximately(m_Rotation, value))
-				{
-					m_Rotation = _lastRotation = value;
-					SetVerticesDirty ();
-				}
-			}
-		}
+        /// <summary>
+        /// Rotation for shiny effect.
+        /// </summary>
+        public float rotation
+        {
+            get { return m_Rotation; }
+            set
+            {
+                if (!Mathf.Approximately(m_Rotation, value))
+                {
+                    m_Rotation = _lastRotation = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// The area for effect.
-		/// </summary>
-		public EffectArea effectArea
-		{
-			get { return m_EffectArea; }
-			set
-			{
-				if (m_EffectArea != value)
-				{
-					m_EffectArea = value;
-					SetVerticesDirty ();
-				}
-			}
-		}
+        /// <summary>
+        /// The area for effect.
+        /// </summary>
+        public EffectArea effectArea
+        {
+            get { return m_EffectArea; }
+            set
+            {
+                if (m_EffectArea != value)
+                {
+                    m_EffectArea = value;
+                    SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Play shinning on enable.
-		/// </summary>
-		[System.Obsolete ("Use Play/Stop method instead")]
-		public bool play { get { return _player.play; } set { _player.play = value; } }
+        /// <summary>
+        /// Play shinning on enable.
+        /// </summary>
+        [System.Obsolete("Use Play/Stop method instead")]
+        public bool play { get { return _player.play; } set { _player.play = value; } }
 
-		/// <summary>
-		/// Play shinning loop.
-		/// </summary>
-		[System.Obsolete]
-		public bool loop { get { return _player.loop; } set { _player.loop = value; } }
+        /// <summary>
+        /// Play shinning loop.
+        /// </summary>
+        [System.Obsolete]
+        public bool loop { get { return _player.loop; } set { _player.loop = value; } }
 
-		/// <summary>
-		/// Shinning duration.
-		/// </summary>
-		public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } }
+        /// <summary>
+        /// Shinning duration.
+        /// </summary>
+        public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } }
 
-		/// <summary>
-		/// Delay on loop.
-		/// </summary>
-		[System.Obsolete]
-		public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } }
+        /// <summary>
+        /// Delay on loop.
+        /// </summary>
+        [System.Obsolete]
+        public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } }
 
-		/// <summary>
-		/// Shinning update mode.
-		/// </summary>
-		public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } }
+        /// <summary>
+        /// Shinning update mode.
+        /// </summary>
+        public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } }
 
-		/// <summary>
-		/// Gets the parameter texture.
-		/// </summary>
-		public override ParameterTexture ptex { get { return _ptex; } }
+        /// <summary>
+        /// Gets the parameter texture.
+        /// </summary>
+        public override ParameterTexture ptex { get { return _ptex; } }
 
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable();
-			_player.OnEnable(f => effectFactor = f);
-		}
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
+            _player.OnEnable(f => effectFactor = f);
+        }
 
-		/// <summary>
-		/// This function is called when the behaviour becomes disabled () or inactive.
-		/// </summary>
-		protected override void OnDisable()
-		{
-			base.OnDisable();
-			_player.OnDisable();
-		}
+        /// <summary>
+        /// This function is called when the behaviour becomes disabled () or inactive.
+        /// </summary>
+        protected override void OnDisable()
+        {
+            base.OnDisable();
+            _player.OnDisable();
+        }
 
 
 #if UNITY_EDITOR
-		protected override Material GetMaterial()
-		{
-			if (isTMPro)
-			{
-				return null;
-			}
+        protected override Material GetMaterial()
+        {
+            if (isTMPro)
+            {
+                return null;
+            }
 
-			return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName));
-		}
+            return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName));
+        }
 
-		#pragma warning disable 0612
-		protected override void UpgradeIfNeeded()
-		{
-			// Upgrade for v3.0.0
-			if (IsShouldUpgrade(300))
-			{
-				_player.play = m_Play;
-				_player.duration = m_Duration;
-				_player.loop = m_Loop;
-				_player.loopDelay = m_LoopDelay;
-				_player.updateMode = m_UpdateMode;
-			}
-		}
-		#pragma warning restore 0612
+#pragma warning disable 0612
+        protected override void UpgradeIfNeeded()
+        {
+            // Upgrade for v3.0.0
+            if (IsShouldUpgrade(300))
+            {
+                _player.play = m_Play;
+                _player.duration = m_Duration;
+                _player.loop = m_Loop;
+                _player.loopDelay = m_LoopDelay;
+                _player.updateMode = m_UpdateMode;
+            }
+        }
+#pragma warning restore 0612
 
 #endif
 
-		/// <summary>
-		/// Modifies the mesh.
-		/// </summary>
-		public override void ModifyMesh(VertexHelper vh)
-		{
-			if (!isActiveAndEnabled)
-				return;
+        /// <summary>
+        /// Modifies the mesh.
+        /// </summary>
+        public override void ModifyMesh(VertexHelper vh)
+        {
+            if (!isActiveAndEnabled)
+                return;
 
-			bool isText = isTMPro || graphic is Text;
-			float normalizedIndex = ptex.GetNormalizedIndex(this);
+            bool isText = isTMPro || graphic is Text;
+            float normalizedIndex = ptex.GetNormalizedIndex(this);
 
-			// rect.
-			Rect rect = m_EffectArea.GetEffectArea (vh, rectTransform.rect);
+            // rect.
+            Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect);
 
-			// rotation.
-			float rad = m_Rotation * Mathf.Deg2Rad;
-			Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad));
-			dir.x *= rect.height / rect.width;
-			dir = dir.normalized;
+            // rotation.
+            float rad = m_Rotation * Mathf.Deg2Rad;
+            Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad));
+            dir.x *= rect.height / rect.width;
+            dir = dir.normalized;
 
-			// Calculate vertex position.
-			UIVertex vertex = default(UIVertex);
-			Vector2 nomalizedPos;
-			Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y);	// Get local matrix.
-			for (int i = 0; i < vh.currentVertCount; i++)
-			{
-				vh.PopulateUIVertex(ref vertex, i);
-				m_EffectArea.GetNormalizedFactor (i, localMatrix, vertex.position, isText, out nomalizedPos);
+            // Calculate vertex position.
+            UIVertex vertex = default(UIVertex);
+            Vector2 nomalizedPos;
+            Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y);  // Get local matrix.
+            for (int i = 0; i < vh.currentVertCount; i++)
+            {
+                vh.PopulateUIVertex(ref vertex, i);
+                m_EffectArea.GetNormalizedFactor(i, localMatrix, vertex.position, isText, out nomalizedPos);
 
-				vertex.uv0 = new Vector2 (
-					Packer.ToFloat (vertex.uv0.x, vertex.uv0.y),
-					Packer.ToFloat (nomalizedPos.y, normalizedIndex)
-				);
+                vertex.uv0 = new Vector2(
+                    Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
+                    Packer.ToFloat(nomalizedPos.y, normalizedIndex)
+                );
 
-				vh.SetUIVertex(vertex, i);
-			}
-		}
+                vh.SetUIVertex(vertex, i);
+            }
+        }
 
-		/// <summary>
-		/// Play effect.
-		/// </summary>
-		public void Play(bool reset = true)
-		{
-			_player.Play(reset);
-		}
+        /// <summary>
+        /// Play effect.
+        /// </summary>
+        public void Play(bool reset = true)
+        {
+            _player.Play(reset);
+        }
 
-		/// <summary>
-		/// Stop effect.
-		/// </summary>
-		public void Stop(bool reset = true)
-		{
-			_player.Stop(reset);
-		}
+        /// <summary>
+        /// Stop effect.
+        /// </summary>
+        public void Stop(bool reset = true)
+        {
+            _player.Stop(reset);
+        }
 
-		protected override void SetDirty()
-		{
-			foreach (var m in materials)
-			{
-				ptex.RegisterMaterial (m);
-			}
-			ptex.SetData(this, 0, m_EffectFactor);	// param1.x : location
-			ptex.SetData(this, 1, m_Width);		// param1.y : width
-			ptex.SetData(this, 2, m_Softness);	// param1.z : softness
-			ptex.SetData(this, 3, m_Brightness);// param1.w : blightness
-			ptex.SetData(this, 4, m_Gloss);		// param2.x : gloss
+        protected override void SetDirty()
+        {
+            foreach (var m in materials)
+            {
+                ptex.RegisterMaterial(m);
+            }
+            ptex.SetData(this, 0, m_EffectFactor);  // param1.x : location
+            ptex.SetData(this, 1, m_Width);     // param1.y : width
+            ptex.SetData(this, 2, m_Softness);  // param1.z : softness
+            ptex.SetData(this, 3, m_Brightness);// param1.w : blightness
+            ptex.SetData(this, 4, m_Gloss);     // param2.x : gloss
 
-			if (!Mathf.Approximately(_lastRotation, m_Rotation) && targetGraphic)
-			{
-				_lastRotation = m_Rotation;
-				SetVerticesDirty();
-			}
-		}
+            if (!Mathf.Approximately(_lastRotation, m_Rotation) && targetGraphic)
+            {
+                _lastRotation = m_Rotation;
+                SetVerticesDirty();
+            }
+        }
 
-		//################################
-		// Private Members.
-		//################################
-		float _lastRotation;
+        //################################
+        // Private Members.
+        //################################
+        float _lastRotation;
 
-		EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } }
-	}
+        EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } }
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs
index e2f6bbe9..fdf033ff 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs
@@ -1,356 +1,355 @@
 using UnityEngine;
 using UnityEngine.UI;
-using UnityEngine.Serialization;
 
 namespace Coffee.UIExtensions
 {
-	/// <summary>
-	/// Transition effect.
-	/// </summary>
-	[AddComponentMenu("UI/UIEffect/UITransitionEffect", 5)]
-	public class UITransitionEffect : UIEffectBase
-	{
-		//################################
-		// Constant or Static Members.
-		//################################
-		public const string shaderName = "UI/Hidden/UI-Effect-Transition";
-		static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex");
+    /// <summary>
+    /// Transition effect.
+    /// </summary>
+    [AddComponentMenu("UI/UIEffect/UITransitionEffect", 5)]
+    public class UITransitionEffect : UIEffectBase
+    {
+        //################################
+        // Constant or Static Members.
+        //################################
+        public const string shaderName = "UI/Hidden/UI-Effect-Transition";
+        static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex");
 
-		/// <summary>
-		/// Effect mode.
-		/// </summary>
-		public enum EffectMode
-		{
-			Fade = 1,
-			Cutoff = 2,
-			Dissolve = 3,
-		}
+        /// <summary>
+        /// Effect mode.
+        /// </summary>
+        public enum EffectMode
+        {
+            Fade = 1,
+            Cutoff = 2,
+            Dissolve = 3,
+        }
 
 
-		//################################
-		// Serialize Members.
-		//################################
-		[Tooltip("Effect mode.")]
-		[SerializeField] EffectMode m_EffectMode = EffectMode.Cutoff;
+        //################################
+        // Serialize Members.
+        //################################
+        [Tooltip("Effect mode.")]
+        [SerializeField] EffectMode m_EffectMode = EffectMode.Cutoff;
 
-		[Tooltip("Effect factor between 0(hidden) and 1(shown).")]
-		[SerializeField][Range(0, 1)] float m_EffectFactor = 1;
+        [Tooltip("Effect factor between 0(hidden) and 1(shown).")]
+        [SerializeField][Range(0, 1)] float m_EffectFactor = 1;
 
-		[Tooltip("Transition texture (single channel texture).")]
-		[SerializeField] Texture m_TransitionTexture;
+        [Tooltip("Transition texture (single channel texture).")]
+        [SerializeField] Texture m_TransitionTexture;
 
-		[Header("Advanced Option")]
-		[Tooltip("The area for effect.")]
-		[SerializeField] EffectArea m_EffectArea = EffectArea.RectTransform;
+        [Header("Advanced Option")]
+        [Tooltip("The area for effect.")]
+        [SerializeField] EffectArea m_EffectArea = EffectArea.RectTransform;
 
-		[Tooltip("Keep effect aspect ratio.")]
-		[SerializeField] bool m_KeepAspectRatio;
+        [Tooltip("Keep effect aspect ratio.")]
+        [SerializeField] bool m_KeepAspectRatio;
 
-		[Tooltip("Dissolve edge width.")]
-		[SerializeField] [Range(0, 1)] float m_DissolveWidth = 0.5f;
+        [Tooltip("Dissolve edge width.")]
+        [SerializeField][Range(0, 1)] float m_DissolveWidth = 0.5f;
 
-		[Tooltip("Dissolve edge softness.")]
-		[SerializeField] [Range(0, 1)] float m_DissolveSoftness = 0.5f;
+        [Tooltip("Dissolve edge softness.")]
+        [SerializeField][Range(0, 1)] float m_DissolveSoftness = 0.5f;
 
-		[Tooltip("Dissolve edge color.")]
-		[SerializeField] [ColorUsage(false)] Color m_DissolveColor = new Color(0.0f, 0.25f, 1.0f);
+        [Tooltip("Dissolve edge color.")]
+        [SerializeField][ColorUsage(false)] Color m_DissolveColor = new Color(0.0f, 0.25f, 1.0f);
 
-		[Tooltip("Disable graphic's raycast target on hidden.")]
-		[SerializeField] bool m_PassRayOnHidden;
+        [Tooltip("Disable graphic's raycast target on hidden.")]
+        [SerializeField] bool m_PassRayOnHidden;
 
-		[Header("Effect Player")]
-		[SerializeField] EffectPlayer m_Player;
+        [Header("Effect Player")]
+        [SerializeField] EffectPlayer m_Player;
 
-		//################################
-		// Public Members.
-		//################################
+        //################################
+        // Public Members.
+        //################################
 
-		/// <summary>
-		/// Effect factor between 0(no effect) and 1(complete effect).
-		/// </summary>
-		public float effectFactor
-		{
-			get { return m_EffectFactor; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_EffectFactor, value))
-				{
-					m_EffectFactor = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Effect factor between 0(no effect) and 1(complete effect).
+        /// </summary>
+        public float effectFactor
+        {
+            get { return m_EffectFactor; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_EffectFactor, value))
+                {
+                    m_EffectFactor = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Transition texture.
-		/// </summary>
-		public Texture transitionTexture
-		{
-			get { return m_TransitionTexture; }
-			set
-			{
-				if (m_TransitionTexture != value)
-				{
-					m_TransitionTexture = value;
-					if (graphic)
-					{
-						ModifyMaterial();
-					}
-				}
-			}
-		}
+        /// <summary>
+        /// Transition texture.
+        /// </summary>
+        public Texture transitionTexture
+        {
+            get { return m_TransitionTexture; }
+            set
+            {
+                if (m_TransitionTexture != value)
+                {
+                    m_TransitionTexture = value;
+                    if (graphic)
+                    {
+                        ModifyMaterial();
+                    }
+                }
+            }
+        }
 
-		/// <summary>
-		/// Effect mode.
-		/// </summary>
-		public EffectMode effectMode { get { return m_EffectMode; } }
+        /// <summary>
+        /// Effect mode.
+        /// </summary>
+        public EffectMode effectMode { get { return m_EffectMode; } }
 
-		/// <summary>
-		/// Keep aspect ratio.
-		/// </summary>
-		public bool keepAspectRatio
-		{
-			get { return m_KeepAspectRatio; }
-			set
-			{
-				if (m_KeepAspectRatio != value)
-				{
-					m_KeepAspectRatio = value;
-					targetGraphic.SetVerticesDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Keep aspect ratio.
+        /// </summary>
+        public bool keepAspectRatio
+        {
+            get { return m_KeepAspectRatio; }
+            set
+            {
+                if (m_KeepAspectRatio != value)
+                {
+                    m_KeepAspectRatio = value;
+                    targetGraphic.SetVerticesDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Gets the parameter texture.
-		/// </summary>
-		public override ParameterTexture ptex { get { return _ptex; } }
+        /// <summary>
+        /// Gets the parameter texture.
+        /// </summary>
+        public override ParameterTexture ptex { get { return _ptex; } }
 
-		/// <summary>
-		/// Dissolve edge width.
-		/// </summary>
-		public float dissolveWidth
-		{
-			get { return m_DissolveWidth; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_DissolveWidth, value))
-				{
-					m_DissolveWidth = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Dissolve edge width.
+        /// </summary>
+        public float dissolveWidth
+        {
+            get { return m_DissolveWidth; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_DissolveWidth, value))
+                {
+                    m_DissolveWidth = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Dissolve edge softness.
-		/// </summary>
-		public float dissolveSoftness
-		{
-			get { return m_DissolveSoftness; }
-			set
-			{
-				value = Mathf.Clamp(value, 0, 1);
-				if (!Mathf.Approximately(m_DissolveSoftness, value))
-				{
-					m_DissolveSoftness = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Dissolve edge softness.
+        /// </summary>
+        public float dissolveSoftness
+        {
+            get { return m_DissolveSoftness; }
+            set
+            {
+                value = Mathf.Clamp(value, 0, 1);
+                if (!Mathf.Approximately(m_DissolveSoftness, value))
+                {
+                    m_DissolveSoftness = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Dissolve edge color.
-		/// </summary>
-		public Color dissolveColor
-		{
-			get { return m_DissolveColor; }
-			set
-			{
-				if (m_DissolveColor != value)
-				{
-					m_DissolveColor = value;
-					SetDirty();
-				}
-			}
-		}
+        /// <summary>
+        /// Dissolve edge color.
+        /// </summary>
+        public Color dissolveColor
+        {
+            get { return m_DissolveColor; }
+            set
+            {
+                if (m_DissolveColor != value)
+                {
+                    m_DissolveColor = value;
+                    SetDirty();
+                }
+            }
+        }
 
-		/// <summary>
-		/// Duration for showing/hiding.
-		/// </summary>
-		public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } }
+        /// <summary>
+        /// Duration for showing/hiding.
+        /// </summary>
+        public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } }
 
-		/// <summary>
-		/// Disable graphic's raycast target on hidden.
-		/// </summary>
-		public bool passRayOnHidden { get { return m_PassRayOnHidden; } set { m_PassRayOnHidden = value; } }
+        /// <summary>
+        /// Disable graphic's raycast target on hidden.
+        /// </summary>
+        public bool passRayOnHidden { get { return m_PassRayOnHidden; } set { m_PassRayOnHidden = value; } }
 
-		/// <summary>
-		/// Update mode for showing/hiding.
-		/// </summary>
-		public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } }
+        /// <summary>
+        /// Update mode for showing/hiding.
+        /// </summary>
+        public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } }
 
-		/// <summary>
-		/// Show transition.
-		/// </summary>
-		public void Show(bool reset = true)
-		{
-			_player.loop = false;
-			_player.Play(reset, f => effectFactor = f);
-		}
+        /// <summary>
+        /// Show transition.
+        /// </summary>
+        public void Show(bool reset = true)
+        {
+            _player.loop = false;
+            _player.Play(reset, f => effectFactor = f);
+        }
 
-		/// <summary>
-		/// Hide transition.
-		/// </summary>
-		public void Hide(bool reset = true)
-		{
-			_player.loop = false;
-			_player.Play(reset, f => effectFactor = 1 - f);
-		}
+        /// <summary>
+        /// Hide transition.
+        /// </summary>
+        public void Hide(bool reset = true)
+        {
+            _player.loop = false;
+            _player.Play(reset, f => effectFactor = 1 - f);
+        }
 
-		/// <summary>
-		/// Modifies the material.
-		/// </summary>
-		public override void ModifyMaterial()
-		{
-			if (isTMPro)
-			{
-				return;
-			}
+        /// <summary>
+        /// Modifies the material.
+        /// </summary>
+        public override void ModifyMaterial()
+        {
+            if (isTMPro)
+            {
+                return;
+            }
 
-			ulong hash = (m_TransitionTexture ? (uint)m_TransitionTexture.GetInstanceID() : 0) + ((ulong)2 << 32) + ((ulong)m_EffectMode << 36);
-			if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial))
-			{
-				MaterialCache.Unregister(_materialCache);
-				_materialCache = null;
-			}
+            ulong hash = (m_TransitionTexture ? (uint)m_TransitionTexture.GetInstanceID() : 0) + ((ulong)2 << 32) + ((ulong)m_EffectMode << 36);
+            if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial))
+            {
+                MaterialCache.Unregister(_materialCache);
+                _materialCache = null;
+            }
 
-			if (!isActiveAndEnabled || !m_EffectMaterial)
-			{
-				material = null;
-			}
-			else if (!m_TransitionTexture)
-			{
-				material = m_EffectMaterial;
-			}
-			else if (_materialCache != null && _materialCache.hash == hash)
-			{
-				material = _materialCache.material;
-			}
-			else
-			{
-				_materialCache = MaterialCache.Register(hash, m_TransitionTexture, () =>
-					{
-						var mat = new Material(m_EffectMaterial);
-						mat.name += "_" + m_TransitionTexture.name;
-						mat.SetTexture("_NoiseTex", m_TransitionTexture);
-						return mat;
-					});
-				material = _materialCache.material;
-			}
-		}
+            if (!isActiveAndEnabled || !m_EffectMaterial)
+            {
+                material = null;
+            }
+            else if (!m_TransitionTexture)
+            {
+                material = m_EffectMaterial;
+            }
+            else if (_materialCache != null && _materialCache.hash == hash)
+            {
+                material = _materialCache.material;
+            }
+            else
+            {
+                _materialCache = MaterialCache.Register(hash, m_TransitionTexture, () =>
+                    {
+                        var mat = new Material(m_EffectMaterial);
+                        mat.name += "_" + m_TransitionTexture.name;
+                        mat.SetTexture("_NoiseTex", m_TransitionTexture);
+                        return mat;
+                    });
+                material = _materialCache.material;
+            }
+        }
 
-		/// <summary>
-		/// Modifies the mesh.
-		/// </summary>
-		public override void ModifyMesh(VertexHelper vh)
-		{
-			if (!isActiveAndEnabled)
-			{
-				return;
-			}
+        /// <summary>
+        /// Modifies the mesh.
+        /// </summary>
+        public override void ModifyMesh(VertexHelper vh)
+        {
+            if (!isActiveAndEnabled)
+            {
+                return;
+            }
 
-			bool isText = isTMPro || graphic is Text;
-			float normalizedIndex = ptex.GetNormalizedIndex (this);
+            bool isText = isTMPro || graphic is Text;
+            float normalizedIndex = ptex.GetNormalizedIndex(this);
 
-			// rect.
-			var tex = transitionTexture;
-			var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1;
-			Rect rect = m_EffectArea.GetEffectArea (vh, rectTransform.rect, aspectRatio);
+            // rect.
+            var tex = transitionTexture;
+            var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1;
+            Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio);
 
-			// Set prameters to vertex.
-			UIVertex vertex = default(UIVertex);
-			float x, y;
-			int count = vh.currentVertCount;
-			for (int i = 0; i < count; i++)
-			{
-				vh.PopulateUIVertex(ref vertex, i);
-				m_EffectArea.GetPositionFactor (i, rect, vertex.position, isText, isTMPro, out x, out y);
+            // Set prameters to vertex.
+            UIVertex vertex = default(UIVertex);
+            float x, y;
+            int count = vh.currentVertCount;
+            for (int i = 0; i < count; i++)
+            {
+                vh.PopulateUIVertex(ref vertex, i);
+                m_EffectArea.GetPositionFactor(i, rect, vertex.position, isText, isTMPro, out x, out y);
 
-				vertex.uv0 = new Vector2 (
-					Packer.ToFloat (vertex.uv0.x, vertex.uv0.y),
-					Packer.ToFloat (x, y, normalizedIndex)
-				);
-				vh.SetUIVertex(vertex, i);
-			}
-		}
+                vertex.uv0 = new Vector2(
+                    Packer.ToFloat(vertex.uv0.x, vertex.uv0.y),
+                    Packer.ToFloat(x, y, normalizedIndex)
+                );
+                vh.SetUIVertex(vertex, i);
+            }
+        }
 
-		//################################
-		// Protected Members.
-		//################################
+        //################################
+        // Protected Members.
+        //################################
 
-		/// <summary>
-		/// This function is called when the object becomes enabled and active.
-		/// </summary>
-		protected override void OnEnable()
-		{
-			base.OnEnable();
-			_player.OnEnable(null);
-			_player.loop = false;
-		}
+        /// <summary>
+        /// This function is called when the object becomes enabled and active.
+        /// </summary>
+        protected override void OnEnable()
+        {
+            base.OnEnable();
+            _player.OnEnable(null);
+            _player.loop = false;
+        }
 
-		/// <summary>
-		/// This function is called when the behaviour becomes disabled () or inactive.
-		/// </summary>
-		protected override void OnDisable()
-		{
-			base.OnDisable ();
-			MaterialCache.Unregister(_materialCache);
-			_materialCache = null;
-			_player.OnDisable();
-		}
+        /// <summary>
+        /// This function is called when the behaviour becomes disabled () or inactive.
+        /// </summary>
+        protected override void OnDisable()
+        {
+            base.OnDisable();
+            MaterialCache.Unregister(_materialCache);
+            _materialCache = null;
+            _player.OnDisable();
+        }
 
-		protected override void SetDirty()
-		{
-			foreach (var m in materials)
-			{
-				ptex.RegisterMaterial (m);
-			}
-			ptex.SetData(this, 0, m_EffectFactor);	// param1.x : effect factor
-			if (m_EffectMode == EffectMode.Dissolve)
-			{
-				ptex.SetData(this, 1, m_DissolveWidth);		// param1.y : width
-				ptex.SetData(this, 2, m_DissolveSoftness);	// param1.z : softness
-				ptex.SetData(this, 4, m_DissolveColor.r);	// param2.x : red
-				ptex.SetData(this, 5, m_DissolveColor.g);	// param2.y : green
-				ptex.SetData(this, 6, m_DissolveColor.b);	// param2.z : blue
-			}
+        protected override void SetDirty()
+        {
+            foreach (var m in materials)
+            {
+                ptex.RegisterMaterial(m);
+            }
+            ptex.SetData(this, 0, m_EffectFactor);  // param1.x : effect factor
+            if (m_EffectMode == EffectMode.Dissolve)
+            {
+                ptex.SetData(this, 1, m_DissolveWidth);     // param1.y : width
+                ptex.SetData(this, 2, m_DissolveSoftness);  // param1.z : softness
+                ptex.SetData(this, 4, m_DissolveColor.r);   // param2.x : red
+                ptex.SetData(this, 5, m_DissolveColor.g);   // param2.y : green
+                ptex.SetData(this, 6, m_DissolveColor.b);   // param2.z : blue
+            }
 
-			// Disable graphic's raycastTarget on hidden.
-			if (m_PassRayOnHidden)
-			{
-				targetGraphic.raycastTarget = 0 < m_EffectFactor;
-			}
-		}
+            // Disable graphic's raycastTarget on hidden.
+            if (m_PassRayOnHidden)
+            {
+                targetGraphic.raycastTarget = 0 < m_EffectFactor;
+            }
+        }
 
 #if UNITY_EDITOR
-		/// <summary>
-		/// Gets the material.
-		/// </summary>
-		/// <returns>The material.</returns>
-		protected override Material GetMaterial()
-		{
-			return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode);
-		}
+        /// <summary>
+        /// Gets the material.
+        /// </summary>
+        /// <returns>The material.</returns>
+        protected override Material GetMaterial()
+        {
+            return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode);
+        }
 #endif
 
-		//################################
-		// Private Members.
-		//################################
-		MaterialCache _materialCache = null;
+        //################################
+        // Private Members.
+        //################################
+        MaterialCache _materialCache = null;
 
-		EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } }
-	}
+        EffectPlayer _player { get { return m_Player ?? (m_Player = new EffectPlayer()); } }
+    }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs
index b5afb244..adb6735b 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs
@@ -2,7 +2,6 @@
 // Created: 2018/07/13
 
 #if true // MODULE_MARKER
-using System;
 using DG.Tweening.Core;
 using DG.Tweening.Plugins.Options;
 using UnityEngine;
@@ -11,7 +10,7 @@ using UnityEngine.Audio; // Required for AudioMixer
 #pragma warning disable 1591
 namespace DG.Tweening
 {
-	public static class DOTweenModuleAudio
+    public static class DOTweenModuleAudio
     {
         #region Shortcuts
 
@@ -50,11 +49,12 @@ namespace DG.Tweening
         /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
         public static TweenerCore<float, float, FloatOptions> DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration)
         {
-            TweenerCore<float, float, FloatOptions> t = DOTween.To(()=> {
-                    float currVal;
-                    target.GetFloat(floatName, out currVal);
-                    return currVal;
-                }, x=> target.SetFloat(floatName, x), endValue, duration);
+            TweenerCore<float, float, FloatOptions> t = DOTween.To(() =>
+            {
+                float currVal;
+                target.GetFloat(floatName, out currVal);
+                return currVal;
+            }, x => target.SetFloat(floatName, x), endValue, duration);
             t.SetTarget(target);
             return t;
         }
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs
index 743ef0ab..62fa4d2f 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs
@@ -1,6 +1,4 @@
-using UnityEngine;
-
-#if false || EPO_DOTWEEN // MODULE_MARKER
+#if false || EPO_DOTWEEN // MODULE_MARKER
 
 using EPOOutline;
 using DG.Tweening.Plugins.Options;
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs
index 6e1469eb..cd4cc981 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs
@@ -2,7 +2,6 @@
 // Created: 2018/07/13
 
 #if true // MODULE_MARKER
-using System;
 using DG.Tweening.Core;
 using DG.Tweening.Core.Enums;
 using DG.Tweening.Plugins;
@@ -13,7 +12,7 @@ using UnityEngine;
 #pragma warning disable 1591
 namespace DG.Tweening
 {
-	public static class DOTweenModulePhysics
+    public static class DOTweenModulePhysics
     {
         #region Shortcuts
 
@@ -116,8 +115,10 @@ namespace DG.Tweening
                     .SetOptions(AxisConstraint.Z, snapping).SetEase(Ease.Linear)
                 ).Join(yTween)
                 .SetTarget(target).SetEase(DOTween.defaultEaseType);
-            yTween.OnUpdate(() => {
-                if (!offsetYSet) {
+            yTween.OnUpdate(() =>
+            {
+                if (!offsetYSet)
+                {
                     offsetYSet = true;
                     offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
                 }
@@ -211,6 +212,6 @@ namespace DG.Tweening
         #endregion
 
         #endregion
-	}
+    }
 }
 #endif
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs
index d6680037..b2d0204f 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs
@@ -2,7 +2,6 @@
 // Created: 2018/07/13
 
 #if true // MODULE_MARKER
-using System;
 using DG.Tweening.Core;
 using DG.Tweening.Plugins;
 using DG.Tweening.Plugins.Core.PathCore;
@@ -12,7 +11,7 @@ using UnityEngine;
 #pragma warning disable 1591
 namespace DG.Tweening
 {
-	public static class DOTweenModulePhysics2D
+    public static class DOTweenModulePhysics2D
     {
         #region Shortcuts
 
@@ -87,8 +86,10 @@ namespace DG.Tweening
                     .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
                 ).Join(yTween)
                 .SetTarget(target).SetEase(DOTween.defaultEaseType);
-            yTween.OnUpdate(() => {
-                if (!offsetYSet) {
+            yTween.OnUpdate(() =>
+            {
+                if (!offsetYSet)
+                {
                     offsetYSet = true;
                     offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
                 }
@@ -188,6 +189,6 @@ namespace DG.Tweening
         #endregion
 
         #endregion
-	}
+    }
 }
 #endif
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs
index 0efebb31..ebca5a30 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs
@@ -2,15 +2,14 @@
 // Created: 2018/07/13
 
 #if true // MODULE_MARKER
-using System;
-using UnityEngine;
 using DG.Tweening.Core;
 using DG.Tweening.Plugins.Options;
+using UnityEngine;
 
 #pragma warning disable 1591
 namespace DG.Tweening
 {
-	public static class DOTweenModuleSprite
+    public static class DOTweenModuleSprite
     {
         #region Shortcuts
 
@@ -45,9 +44,11 @@ namespace DG.Tweening
             Sequence s = DOTween.Sequence();
             GradientColorKey[] colors = gradient.colorKeys;
             int len = colors.Length;
-            for (int i = 0; i < len; ++i) {
+            for (int i = 0; i < len; ++i)
+            {
                 GradientColorKey c = colors[i];
-                if (i == 0 && c.time <= 0) {
+                if (i == 0 && c.time <= 0)
+                {
                     target.color = c.color;
                     continue;
                 }
@@ -75,11 +76,12 @@ namespace DG.Tweening
         {
             endValue = endValue - target.color;
             Color to = new Color(0, 0, 0, 0);
-            return DOTween.To(() => to, x => {
-                    Color diff = x - to;
-                    to = x;
-                    target.color += diff;
-                }, endValue, duration)
+            return DOTween.To(() => to, x =>
+            {
+                Color diff = x - to;
+                to = x;
+                target.color += diff;
+            }, endValue, duration)
                 .Blendable().SetTarget(target);
         }
 
@@ -88,6 +90,6 @@ namespace DG.Tweening
         #endregion
 
         #endregion
-	}
+    }
 }
 #endif
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs
index 6322b3af..276bf269 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs
@@ -3,21 +3,20 @@
 
 #if true // MODULE_MARKER
 
-using System;
-using System.Globalization;
-using UnityEngine;
-using UnityEngine.UI;
 using DG.Tweening.Core;
 using DG.Tweening.Core.Enums;
 using DG.Tweening.Plugins;
 using DG.Tweening.Plugins.Options;
+using System.Globalization;
+using UnityEngine;
+using UnityEngine.UI;
 using Outline = UnityEngine.UI.Outline;
 using Text = UnityEngine.UI.Text;
 
 #pragma warning disable 1591
 namespace DG.Tweening
 {
-	public static class DOTweenModuleUI
+    public static class DOTweenModuleUI
     {
         #region Shortcuts
 
@@ -102,9 +101,11 @@ namespace DG.Tweening
             Sequence s = DOTween.Sequence();
             GradientColorKey[] colors = gradient.colorKeys;
             int len = colors.Length;
-            for (int i = 0; i < len; ++i) {
+            for (int i = 0; i < len; ++i)
+            {
                 GradientColorKey c = colors[i];
-                if (i == 0 && c.time <= 0) {
+                if (i == 0 && c.time <= 0)
+                {
                     target.color = c.color;
                     continue;
                 }
@@ -127,10 +128,11 @@ namespace DG.Tweening
         /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
         public static TweenerCore<Vector2, Vector2, VectorOptions> DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
         {
-            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => {
-                    target.flexibleWidth = x.x;
-                    target.flexibleHeight = x.y;
-                }, endValue, duration);
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x =>
+            {
+                target.flexibleWidth = x.x;
+                target.flexibleHeight = x.y;
+            }, endValue, duration);
             t.SetOptions(snapping).SetTarget(target);
             return t;
         }
@@ -141,7 +143,8 @@ namespace DG.Tweening
         /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
         public static TweenerCore<Vector2, Vector2, VectorOptions> DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
         {
-            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x =>
+            {
                 target.minWidth = x.x;
                 target.minHeight = x.y;
             }, endValue, duration);
@@ -155,7 +158,8 @@ namespace DG.Tweening
         /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
         public static TweenerCore<Vector2, Vector2, VectorOptions> DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
         {
-            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x =>
+            {
                 target.preferredWidth = x.x;
                 target.preferredHeight = x.y;
             }, endValue, duration);
@@ -404,13 +408,15 @@ namespace DG.Tweening
             Tween yTween = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
                 .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
                 .SetLoops(numJumps * 2, LoopType.Yoyo)
-                .OnStart(()=> startPosY = target.anchoredPosition.y);
+                .OnStart(() => startPosY = target.anchoredPosition.y);
             s.Append(DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue.x, 0), duration)
                     .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
                 ).Join(yTween)
                 .SetTarget(target).SetEase(DOTween.defaultEaseType);
-            s.OnUpdate(() => {
-                if (!offsetYSet) {
+            s.OnUpdate(() =>
+            {
+                if (!offsetYSet)
+                {
                     offsetYSet = true;
                     offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
                 }
@@ -434,7 +440,8 @@ namespace DG.Tweening
         public static Tweener DONormalizedPos(this ScrollRect target, Vector2 endValue, float duration, bool snapping = false)
         {
             return DOTween.To(() => new Vector2(target.horizontalNormalizedPosition, target.verticalNormalizedPosition),
-                x => {
+                x =>
+                {
                     target.horizontalNormalizedPosition = x.x;
                     target.verticalNormalizedPosition = x.y;
                 }, endValue, duration)
@@ -498,10 +505,12 @@ namespace DG.Tweening
         /// <param name="culture">The <see cref="CultureInfo"/> to use (InvariantCulture if NULL)</param>
         public static TweenerCore<int, int, NoOptions> DOCounter(
             this Text target, int fromValue, int endValue, float duration, bool addThousandsSeparator = true, CultureInfo culture = null
-        ){
+        )
+        {
             int v = fromValue;
             CultureInfo cInfo = !addThousandsSeparator ? null : culture ?? CultureInfo.InvariantCulture;
-            TweenerCore<int, int, NoOptions> t = DOTween.To(() => v, x => {
+            TweenerCore<int, int, NoOptions> t = DOTween.To(() => v, x =>
+            {
                 v = x;
                 target.text = addThousandsSeparator
                     ? v.ToString("N0", cInfo)
@@ -532,7 +541,8 @@ namespace DG.Tweening
         /// Leave it to NULL (default) to use default ones</param>
         public static TweenerCore<string, string, StringOptions> DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
         {
-            if (endValue == null) {
+            if (endValue == null)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogWarning("You can't pass a NULL string to DOText: an empty string will be used instead to avoid errors");
                 endValue = "";
             }
@@ -557,7 +567,8 @@ namespace DG.Tweening
         {
             endValue = endValue - target.color;
             Color to = new Color(0, 0, 0, 0);
-            return DOTween.To(() => to, x => {
+            return DOTween.To(() => to, x =>
+            {
                 Color diff = x - to;
                 to = x;
                 target.color += diff;
@@ -578,7 +589,8 @@ namespace DG.Tweening
         {
             endValue = endValue - target.color;
             Color to = new Color(0, 0, 0, 0);
-            return DOTween.To(() => to, x => {
+            return DOTween.To(() => to, x =>
+            {
                 Color diff = x - to;
                 to = x;
                 target.color += diff;
@@ -599,7 +611,8 @@ namespace DG.Tweening
         {
             endValue = endValue - target.color;
             Color to = new Color(0, 0, 0, 0);
-            return DOTween.To(() => to, x => {
+            return DOTween.To(() => to, x =>
+            {
                 Color diff = x - to;
                 to = x;
                 target.color += diff;
@@ -657,6 +670,6 @@ namespace DG.Tweening
                 return to.anchoredPosition + localPoint - pivotDerivedOffset;
             }
         }
-	}
+    }
 }
 #endif
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs
index 90498ed3..14d6b32f 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs
@@ -1,10 +1,9 @@
 // Author: Daniele Giardini - http://www.demigiant.com
 // Created: 2018/07/13
 
-using System;
-using UnityEngine;
 using DG.Tweening.Core;
 using DG.Tweening.Plugins.Options;
+using UnityEngine;
 //#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0)
 //using Task = System.Threading.Tasks.Task;
 //#endif
@@ -29,9 +28,11 @@ namespace DG.Tweening
             Sequence s = DOTween.Sequence();
             GradientColorKey[] colors = gradient.colorKeys;
             int len = colors.Length;
-            for (int i = 0; i < len; ++i) {
+            for (int i = 0; i < len; ++i)
+            {
                 GradientColorKey c = colors[i];
-                if (i == 0 && c.time <= 0) {
+                if (i == 0 && c.time <= 0)
+                {
                     target.color = c.color;
                     continue;
                 }
@@ -54,9 +55,11 @@ namespace DG.Tweening
             Sequence s = DOTween.Sequence();
             GradientColorKey[] colors = gradient.colorKeys;
             int len = colors.Length;
-            for (int i = 0; i < len; ++i) {
+            for (int i = 0; i < len; ++i)
+            {
                 GradientColorKey c = colors[i];
-                if (i == 0 && c.time <= 0) {
+                if (i == 0 && c.time <= 0)
+                {
                     target.SetColor(property, c.color);
                     continue;
                 }
@@ -80,7 +83,8 @@ namespace DG.Tweening
         /// </summary>
         public static CustomYieldInstruction WaitForCompletion(this Tween t, bool returnCustomYieldInstruction)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return null;
             }
@@ -94,7 +98,8 @@ namespace DG.Tweening
         /// </summary>
         public static CustomYieldInstruction WaitForRewind(this Tween t, bool returnCustomYieldInstruction)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return null;
             }
@@ -108,7 +113,8 @@ namespace DG.Tweening
         /// </summary>
         public static CustomYieldInstruction WaitForKill(this Tween t, bool returnCustomYieldInstruction)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return null;
             }
@@ -123,7 +129,8 @@ namespace DG.Tweening
         /// <param name="elapsedLoops">Elapsed loops to wait for</param>
         public static CustomYieldInstruction WaitForElapsedLoops(this Tween t, int elapsedLoops, bool returnCustomYieldInstruction)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return null;
             }
@@ -139,7 +146,8 @@ namespace DG.Tweening
         /// <param name="position">Position (loops included, delays excluded) to wait for</param>
         public static CustomYieldInstruction WaitForPosition(this Tween t, float position, bool returnCustomYieldInstruction)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return null;
             }
@@ -154,7 +162,8 @@ namespace DG.Tweening
         /// </summary>
         public static CustomYieldInstruction WaitForStart(this Tween t, bool returnCustomYieldInstruction)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return null;
             }
@@ -175,7 +184,8 @@ namespace DG.Tweening
         /// <param name="duration">The duration of the tween</param>
         public static TweenerCore<Vector2, Vector2, VectorOptions> DOOffset(this Material target, Vector2 endValue, int propertyID, float duration)
         {
-            if (!target.HasProperty(propertyID)) {
+            if (!target.HasProperty(propertyID))
+            {
                 if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
                 return null;
             }
@@ -191,7 +201,8 @@ namespace DG.Tweening
         /// <param name="duration">The duration of the tween</param>
         public static TweenerCore<Vector2, Vector2, VectorOptions> DOTiling(this Material target, Vector2 endValue, int propertyID, float duration)
         {
-            if (!target.HasProperty(propertyID)) {
+            if (!target.HasProperty(propertyID))
+            {
                 if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
                 return null;
             }
@@ -215,7 +226,8 @@ namespace DG.Tweening
         /// </summary>
         public static async System.Threading.Tasks.Task AsyncWaitForCompletion(this Tween t)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return;
             }
@@ -229,7 +241,8 @@ namespace DG.Tweening
         /// </summary>
         public static async System.Threading.Tasks.Task AsyncWaitForRewind(this Tween t)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return;
             }
@@ -243,7 +256,8 @@ namespace DG.Tweening
         /// </summary>
         public static async System.Threading.Tasks.Task AsyncWaitForKill(this Tween t)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return;
             }
@@ -258,7 +272,8 @@ namespace DG.Tweening
         /// <param name="elapsedLoops">Elapsed loops to wait for</param>
         public static async System.Threading.Tasks.Task AsyncWaitForElapsedLoops(this Tween t, int elapsedLoops)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return;
             }
@@ -274,7 +289,8 @@ namespace DG.Tweening
         /// <param name="position">Position (loops included, delays excluded) to wait for</param>
         public static async System.Threading.Tasks.Task AsyncWaitForPosition(this Tween t, float position)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return;
             }
@@ -288,7 +304,8 @@ namespace DG.Tweening
         /// </summary>
         public static async System.Threading.Tasks.Task AsyncWaitForStart(this Tween t)
         {
-            if (!t.active) {
+            if (!t.active)
+            {
                 if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
                 return;
             }
@@ -312,9 +329,13 @@ namespace DG.Tweening
     {
         public class WaitForCompletion : CustomYieldInstruction
         {
-            public override bool keepWaiting { get {
-                return t.active && !t.IsComplete();
-            }}
+            public override bool keepWaiting
+            {
+                get
+                {
+                    return t.active && !t.IsComplete();
+                }
+            }
             readonly Tween t;
             public WaitForCompletion(Tween tween)
             {
@@ -324,9 +345,13 @@ namespace DG.Tweening
 
         public class WaitForRewind : CustomYieldInstruction
         {
-            public override bool keepWaiting { get {
-                return t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0);
-            }}
+            public override bool keepWaiting
+            {
+                get
+                {
+                    return t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0);
+                }
+            }
             readonly Tween t;
             public WaitForRewind(Tween tween)
             {
@@ -336,9 +361,13 @@ namespace DG.Tweening
 
         public class WaitForKill : CustomYieldInstruction
         {
-            public override bool keepWaiting { get {
-                return t.active;
-            }}
+            public override bool keepWaiting
+            {
+                get
+                {
+                    return t.active;
+                }
+            }
             readonly Tween t;
             public WaitForKill(Tween tween)
             {
@@ -348,9 +377,13 @@ namespace DG.Tweening
 
         public class WaitForElapsedLoops : CustomYieldInstruction
         {
-            public override bool keepWaiting { get {
-                return t.active && t.CompletedLoops() < elapsedLoops;
-            }}
+            public override bool keepWaiting
+            {
+                get
+                {
+                    return t.active && t.CompletedLoops() < elapsedLoops;
+                }
+            }
             readonly Tween t;
             readonly int elapsedLoops;
             public WaitForElapsedLoops(Tween tween, int elapsedLoops)
@@ -362,9 +395,13 @@ namespace DG.Tweening
 
         public class WaitForPosition : CustomYieldInstruction
         {
-            public override bool keepWaiting { get {
-                return t.active && t.position * (t.CompletedLoops() + 1) < position;
-            }}
+            public override bool keepWaiting
+            {
+                get
+                {
+                    return t.active && t.position * (t.CompletedLoops() + 1) < position;
+                }
+            }
             readonly Tween t;
             readonly float position;
             public WaitForPosition(Tween tween, float position)
@@ -376,9 +413,13 @@ namespace DG.Tweening
 
         public class WaitForStart : CustomYieldInstruction
         {
-            public override bool keepWaiting { get {
-                return t.active && !t.playedOnce;
-            }}
+            public override bool keepWaiting
+            {
+                get
+                {
+                    return t.active && !t.playedOnce;
+                }
+            }
             readonly Tween t;
             public WaitForStart(Tween tween)
             {
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs
index 3d4c786b..d667425a 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs
@@ -1,12 +1,12 @@
 // Author: Daniele Giardini - http://www.demigiant.com
 // Created: 2018/07/13
 
-using System;
-using System.Reflection;
-using UnityEngine;
 using DG.Tweening.Core;
 using DG.Tweening.Plugins.Core.PathCore;
 using DG.Tweening.Plugins.Options;
+using System;
+using System.Reflection;
+using UnityEngine;
 
 #pragma warning disable 1591
 namespace DG.Tweening
@@ -69,7 +69,7 @@ namespace DG.Tweening
         // Fires OnApplicationPause in DOTweenComponent even when Editor is paused (otherwise it's only fired at runtime)
 #if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1
         static void PlaymodeStateChanged()
-        #else
+#else
         static void PlaymodeStateChanged(UnityEditor.PlayModeStateChange state)
 #endif
         {
@@ -128,13 +128,16 @@ namespace DG.Tweening
 #endif
             public static TweenerCore<Vector3, Path, PathOptions> CreateDOTweenPathTween(
                 MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode
-            ){
+            )
+            {
                 TweenerCore<Vector3, Path, PathOptions> t = null;
                 bool rBodyFoundAndTweened = false;
 #if true // PHYSICS_MARKER
-                if (tweenRigidbody) {
+                if (tweenRigidbody)
+                {
                     Rigidbody rBody = target.GetComponent<Rigidbody>();
-                    if (rBody != null) {
+                    if (rBody != null)
+                    {
                         rBodyFoundAndTweened = true;
                         t = isLocal
                             ? rBody.DOLocalPath(path, duration, pathMode)
@@ -143,9 +146,11 @@ namespace DG.Tweening
                 }
 #endif
 #if true // PHYSICS2D_MARKER
-                if (!rBodyFoundAndTweened && tweenRigidbody) {
+                if (!rBodyFoundAndTweened && tweenRigidbody)
+                {
                     Rigidbody2D rBody2D = target.GetComponent<Rigidbody2D>();
-                    if (rBody2D != null) {
+                    if (rBody2D != null)
+                    {
                         rBodyFoundAndTweened = true;
                         t = isLocal
                             ? rBody2D.DOLocalPath(path, duration, pathMode)
@@ -153,7 +158,8 @@ namespace DG.Tweening
                     }
                 }
 #endif
-                if (!rBodyFoundAndTweened) {
+                if (!rBodyFoundAndTweened)
+                {
                     t = isLocal
                         ? target.transform.DOLocalPath(path, duration, pathMode)
                         : target.transform.DOPath(path, duration, pathMode);
diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim
new file mode 100644
index 00000000..4a7cadf1
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim
@@ -0,0 +1,104 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Disable
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves:
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Alpha
+    path: 
+    classID: 225
+    script: {fileID: 0}
+    flags: 0
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 1574349066
+      script: {fileID: 0}
+      typeID: 225
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 0
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Alpha
+    path: 
+    classID: 225
+    script: {fileID: 0}
+    flags: 0
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim.meta b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim.meta
new file mode 100644
index 00000000..3cc47eb3
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/Disable.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 25f1c28c99920124189b7173731c38b5
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 7400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab
index f0028f33..4e3cbc67 100644
--- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab
+++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab
@@ -528,6 +528,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5f9054446a969bf4eaf7998f3ba23334, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  animator: {fileID: 8744505332349586225}
 --- !u!1 &2500436782395572584
 GameObject:
   m_ObjectHideFlags: 0
@@ -649,7 +650,7 @@ RectTransform:
   m_AnchorMin: {x: 1, y: 0}
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 300, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0.5}
 --- !u!114 &4478785627166277611
 MonoBehaviour:
diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SelectBorder.controller b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SelectBorder.controller
index 2bb69b9c..c014038d 100644
--- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SelectBorder.controller
+++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SelectBorder.controller
@@ -1,5 +1,57 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!1101 &-6499513247890378152
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 2
+    m_ConditionEvent: active
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: -2169522966389634846}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.1
+  m_TransitionOffset: 0
+  m_ExitTime: 0.875
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1102 &-2169522966389634846
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Disable
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions:
+  - {fileID: 8949275168816232509}
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: 25f1c28c99920124189b7173731c38b5, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
 --- !u!91 &9100000
 AnimatorController:
   m_ObjectHideFlags: 0
@@ -8,7 +60,19 @@ AnimatorController:
   m_PrefabAsset: {fileID: 0}
   m_Name: SelectBorder
   serializedVersion: 5
-  m_AnimatorParameters: []
+  m_AnimatorParameters:
+  - m_Name: active
+    m_Type: 4
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  - m_Name: reactive
+    m_Type: 9
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
   m_AnimatorLayers:
   - serializedVersion: 5
     m_Name: Base Layer
@@ -33,7 +97,10 @@ AnimatorStateMachine:
   m_ChildStates:
   - serializedVersion: 1
     m_State: {fileID: 5956899137579874003}
-    m_Position: {x: 340, y: 100, z: 0}
+    m_Position: {x: 380, y: 70, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: -2169522966389634846}
+    m_Position: {x: 350, y: 200, z: 0}
   m_ChildStateMachines: []
   m_AnyStateTransitions: []
   m_EntryTransitions: []
@@ -44,6 +111,31 @@ AnimatorStateMachine:
   m_ExitPosition: {x: 800, y: 120, z: 0}
   m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
   m_DefaultState: {fileID: 5956899137579874003}
+--- !u!1101 &1182501105974621518
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 1
+    m_ConditionEvent: reactive
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 5956899137579874003}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0
+  m_TransitionOffset: 0
+  m_ExitTime: 0.875
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!1102 &5956899137579874003
 AnimatorState:
   serializedVersion: 6
@@ -51,10 +143,12 @@ AnimatorState:
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_Name: DEFAULT
+  m_Name: Enable
   m_Speed: 1.6
   m_CycleOffset: 0
-  m_Transitions: []
+  m_Transitions:
+  - {fileID: -6499513247890378152}
+  - {fileID: 1182501105974621518}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0
@@ -70,3 +164,28 @@ AnimatorState:
   m_MirrorParameter: 
   m_CycleOffsetParameter: 
   m_TimeParameter: 
+--- !u!1101 &8949275168816232509
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 1
+    m_ConditionEvent: active
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 5956899137579874003}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.1
+  m_TransitionOffset: 0
+  m_ExitTime: 0.75
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
diff --git a/AxibugEmuOnline.Client/Assets/Script/App.cs b/AxibugEmuOnline.Client/Assets/Script/App.cs
index d320b32b..efb607a5 100644
--- a/AxibugEmuOnline.Client/Assets/Script/App.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/App.cs
@@ -1,27 +1,27 @@
-using AxibugEmuOnline.Client.Manager;
-using AxibugEmuOnline.Client.Network;
-using System.Collections;
-using System.IO;
-using System.Threading.Tasks;
-using UnityEngine;
-using UnityEngine.Networking;
-using static AxibugEmuOnline.Client.HttpAPI;
-using static AxibugEmuOnline.Client.Manager.LogManager;
-
-namespace AxibugEmuOnline.Client.ClientCore
-{
-    public static class App
-    {
-        public static string TokenStr;
-        public static string IP;
-        public static int Port;
-        public static LogManager log;
-        public static NetworkHelper network;
-        public static AppLogin login;
-        public static AppChat chat;
-        public static UserDataManager user;
-        //public static AppNetGame netgame;
-        public static AppEmu emu;
+using AxibugEmuOnline.Client.Manager;
+using AxibugEmuOnline.Client.Network;
+using System.Collections;
+using System.IO;
+using System.Threading.Tasks;
+using UnityEngine;
+using UnityEngine.Networking;
+using static AxibugEmuOnline.Client.HttpAPI;
+using static AxibugEmuOnline.Client.Manager.LogManager;
+
+namespace AxibugEmuOnline.Client.ClientCore
+{
+    public static class App
+    {
+        public static string TokenStr;
+        public static string IP;
+        public static int Port;
+        public static LogManager log;
+        public static NetworkHelper network;
+        public static AppLogin login;
+        public static AppChat chat;
+        public static UserDataManager user;
+        //public static AppNetGame netgame;
+        public static AppEmu emu;
         public static RomLib nesRomLib;
         public static HttpAPI httpAPI;
         public static CacheManager CacheMgr;
@@ -39,50 +39,50 @@ namespace AxibugEmuOnline.Client.ClientCore
 #else
         public static string PersistentDataPath => Application.persistentDataPath;
 #endif
-        public static void Init(Initer initer)
-        {
-            settings = new AppSettings();
-
-            log = new LogManager();
-            LogManager.OnLog += OnNoSugarNetLog;
-            network = new NetworkHelper();
-            login = new AppLogin();
-            chat = new AppChat();
-            user = new UserDataManager();
-            emu = new AppEmu();
-            //netgame = new AppNetGame();
-            httpAPI = new HttpAPI();
-            nesRomLib = new RomLib(EnumPlatform.NES);
-            CacheMgr = new CacheManager();
+        public static void Init(Initer initer)
+        {
+            settings = new AppSettings();
+
+            log = new LogManager();
+            LogManager.OnLog += OnNoSugarNetLog;
+            network = new NetworkHelper();
+            login = new AppLogin();
+            chat = new AppChat();
+            user = new UserDataManager();
+            emu = new AppEmu();
+            //netgame = new AppNetGame();
+            httpAPI = new HttpAPI();
+            nesRomLib = new RomLib(EnumPlatform.NES);
+            CacheMgr = new CacheManager();
             roomMgr = new AppRoom();
             share = new AppShare();
             filter = new FilterManager(initer.m_filterVolume, initer.m_filterPreview, initer.m_xmbBg);
-            var go = new GameObject("[AppAxibugEmuOnline]");
-            GameObject.DontDestroyOnLoad(go);
-            tickLoop = go.AddComponent<TickLoop>();
-            coRunner = go.AddComponent<CoroutineRunner>();
-
+            var go = new GameObject("[AppAxibugEmuOnline]");
+            GameObject.DontDestroyOnLoad(go);
+            tickLoop = go.AddComponent<TickLoop>();
+            coRunner = go.AddComponent<CoroutineRunner>();
+
             if (UnityEngine.Application.platform == RuntimePlatform.PSP2)
-            {
-                //PSV 等平台需要手动创建目录
-                PersistentDataPathDir();
+            {
+                //PSV 等平台需要手动创建目录
+                PersistentDataPathDir();
             }
 
-            var importNode = GameObject.Find("IMPORTENT");
-            if (importNode != null) GameObject.DontDestroyOnLoad(importNode);
-
-            StartCoroutine(AppTickFlow());
-            RePullNetInfo();
-        }
-
+            var importNode = GameObject.Find("IMPORTENT");
+            if (importNode != null) GameObject.DontDestroyOnLoad(importNode);
+
+            StartCoroutine(AppTickFlow());
+            RePullNetInfo();
+        }
+
         private static void PersistentDataPathDir()
-        {
+        {
             if (!Directory.Exists(PersistentDataPath))
-            {
-                Directory.CreateDirectory(PersistentDataPath);
-            }
-        }
-
+            {
+                Directory.CreateDirectory(PersistentDataPath);
+            }
+        }
+
         private static IEnumerator AppTickFlow()
         {
             while (true)
@@ -93,7 +93,7 @@ namespace AxibugEmuOnline.Client.ClientCore
         }
 
         public static void RePullNetInfo()
-        {
+        {
             StartCoroutine(StartNetInit());
         }
 
@@ -103,12 +103,12 @@ namespace AxibugEmuOnline.Client.ClientCore
                 yield break;
 
             int platform = 0;
-            bool bTest = false;
-            if (bTest)
-            {
-                yield return null;
-                Connect("192.168.0.47", 10492);
-                yield break;
+            bool bTest = false;
+            if (bTest)
+            {
+                yield return null;
+                Connect("192.168.0.47", 10492);
+                yield break;
             }
 
             UnityWebRequest request = UnityWebRequest.Get($"{App.httpAPI.WebSiteApi}/CheckStandInfo?platform={platform}&version={Application.version}");
@@ -138,43 +138,43 @@ namespace AxibugEmuOnline.Client.ClientCore
         public static Coroutine StartCoroutine(IEnumerator itor)
         {
             return coRunner.StartCoroutine(itor);
-        }
-
+        }
+
         public static void StopCoroutine(Coroutine cor)
         {
             coRunner.StopCoroutine(cor);
-        }
-
-        public static void Connect(string IP, int port)
-        {
+        }
+
+        public static void Connect(string IP, int port)
+        {
             Task task = new Task(() =>
             {
                 network.Init(IP, port);
-            });
-            task.Start();
-        }
-
-        public static void Close()
-        {
-            App.log.Info("停止");
-        }
-        static void OnNoSugarNetLog(int LogLevel, string msg)
+            });
+            task.Start();
+        }
+
+        public static void Close()
         {
-            E_LogType logType = (E_LogType)LogLevel;
+            App.log.Info("停止");
+        }
+        static void OnNoSugarNetLog(int LogLevel, string msg)
+        {
+            E_LogType logType = (E_LogType)LogLevel;
             switch (logType)
-            {
+            {
                 case E_LogType.Debug:
                 case E_LogType.Info:
-                    Debug.Log("[AxiEmu]:" + msg);
+                    Debug.Log("[AxiEmu]:" + msg);
                     break;
                 case E_LogType.Warning:
-                    Debug.LogWarning("[AxiEmu]:" + msg);
+                    Debug.LogWarning("[AxiEmu]:" + msg);
                     break;
                 case E_LogType.Error:
-                    Debug.LogError("[AxiEmu]:" + msg);
-                    break;
-            }
-        }
-
-    }
+                    Debug.LogError("[AxiEmu]:" + msg);
+                    break;
+            }
+        }
+
+    }
 }
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs b/AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs
index af3d35c4..0aa01946 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Event/EventInvoker.cs
@@ -1,7 +1,3 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
 namespace AxibugEmuOnline.Client
 {
     public static class EventInvoker
diff --git a/AxibugEmuOnline.Client/Assets/Script/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs b/AxibugEmuOnline.Client/Assets/Script/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs
index 10416ae6..70bc32a1 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs
@@ -1,6 +1,4 @@
 using AxibugEmuOnline.Client;
-using AxibugEmuOnline.Client.ClientCore;
-using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.Rendering.PostProcessing;
 
diff --git a/AxibugEmuOnline.Client/Assets/Script/Filter/MattiasCRT/MattiasCRT.cs b/AxibugEmuOnline.Client/Assets/Script/Filter/MattiasCRT/MattiasCRT.cs
index 27b16686..52becd6c 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Filter/MattiasCRT/MattiasCRT.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Filter/MattiasCRT/MattiasCRT.cs
@@ -6,7 +6,7 @@ using UnityEngine.Rendering.PostProcessing;
 [PostProcess(typeof(MattiasCRTRenderer), PostProcessEvent.BeforeStack, "Filter/MattiasCRT")]
 public sealed class MattiasCRT : FilterEffect
 {
-    public override string Name => nameof(MattiasCRT); 
+    public override string Name => nameof(MattiasCRT);
 }
 
 public sealed class MattiasCRTRenderer : PostProcessEffectRenderer<MattiasCRT>
diff --git a/AxibugEmuOnline.Client/Assets/Script/IkeyMapperChanger/CommandChanger.cs b/AxibugEmuOnline.Client/Assets/Script/IkeyMapperChanger/CommandChanger.cs
index a004f713..dbc6a273 100644
--- a/AxibugEmuOnline.Client/Assets/Script/IkeyMapperChanger/CommandChanger.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/IkeyMapperChanger/CommandChanger.cs
@@ -1,7 +1,4 @@
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace AxibugEmuOnline.Client
+namespace AxibugEmuOnline.Client
 {
     public abstract class CommandChanger : IKeyMapperChanger
     {
diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppChat.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppChat.cs
index c3b26344..029d76f7 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppChat.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppChat.cs
@@ -3,7 +3,6 @@ using AxibugEmuOnline.Client.Common;
 using AxibugEmuOnline.Client.Event;
 using AxibugEmuOnline.Client.Network;
 using AxibugProtobuf;
-using System;
 
 namespace AxibugEmuOnline.Client.Manager
 {
diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs
index 5eca81cf..1b01f526 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppEmu.cs
@@ -1,9 +1,9 @@
-using AxibugEmuOnline.Client.ClientCore;
-using AxibugEmuOnline.Client.Event;
-using UnityEngine;
-
-namespace AxibugEmuOnline.Client.Manager
-{
+using AxibugEmuOnline.Client.ClientCore;
+using AxibugEmuOnline.Client.Event;
+using UnityEngine;
+
+namespace AxibugEmuOnline.Client.Manager
+{
     public class AppEmu
     {
         /// <summary>
@@ -58,8 +58,8 @@ namespace AxibugEmuOnline.Client.Manager
             InGameUI.Instance.Show(romFile, m_emuCore);
 
             m_emuCore.SetupScheme();
-        }
-
+        }
+
         public void StopGame()
         {
             if (m_emuCore.IsNull()) return;
@@ -76,5 +76,5 @@ namespace AxibugEmuOnline.Client.Manager
 
             m_emuCore.DoReset();
         }
-    }
-}
+    }
+}
diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs
index 099c2b81..1286aaaa 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs
@@ -74,7 +74,7 @@ namespace AxibugEmuOnline.Client.Manager
         long TestFrameID = 0;
         void TestEmuUpdate()
         {
-            
+
         }
         #endregion
 
diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
index abfbfb4b..1f61f48c 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
@@ -1,5 +1,4 @@
-using DG.Tweening;
-using System;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using UnityEngine;
diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/UserDataManager.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/UserDataManager.cs
index e7a33990..b308e367 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/UserDataManager.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/UserDataManager.cs
@@ -5,8 +5,6 @@ using AxibugEmuOnline.Client.Network;
 using AxibugProtobuf;
 using System.Collections.Generic;
 using System.Linq;
-using UnityEngine.EventSystems;
-using static AxibugEmuOnline.Client.ClientCore.RomDB;
 
 namespace AxibugEmuOnline.Client.Manager
 {
diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesControllerMapper.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesControllerMapper.cs
index a7a5c164..9e231f1a 100644
--- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesControllerMapper.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesControllerMapper.cs
@@ -1,6 +1,4 @@
-using System;
-using System.Text;
-using UnityEngine;
+using UnityEngine;
 using VirtualNes.Core;
 
 namespace AxibugEmuOnline.Client
diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs
index 495cf092..4399de22 100644
--- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs
@@ -1,11 +1,8 @@
-using AxibugEmuOnline.Client.Common;
 using System;
 using System.Runtime.InteropServices;
-using System.Text;
 using UnityEngine;
 using UnityEngine.UI;
 using VirtualNes.Core;
-using static UnityEngine.UI.CanvasScaler;
 
 namespace AxibugEmuOnline.Client
 {
diff --git a/AxibugEmuOnline.Client/Assets/Script/Network/NetworkHelper.cs b/AxibugEmuOnline.Client/Assets/Script/Network/NetworkHelper.cs
index 0d2e358a..901e6982 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Network/NetworkHelper.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Network/NetworkHelper.cs
@@ -4,7 +4,6 @@ using HaoYueNet.ClientNetworkNet.Standard2;
 using System;
 using System.Net.Sockets;
 using System.Threading;
-using System.Threading.Tasks;
 
 namespace AxibugEmuOnline.Client.Network
 {
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/AlphaWraper.cs b/AxibugEmuOnline.Client/Assets/Script/UI/AlphaWraper.cs
index 8a1d98ba..ddb40b7b 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/AlphaWraper.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/AlphaWraper.cs
@@ -1,8 +1,6 @@
 using DG.Tweening;
 using DG.Tweening.Core;
 using DG.Tweening.Plugins.Options;
-using System.Collections;
-using System.Collections.Generic;
 using UnityEngine;
 
 namespace AxibugEmuOnline.Client
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/GlobalFilterListMenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/GlobalFilterListMenuItem.cs
index 5768a158..2f0a050e 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/GlobalFilterListMenuItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/GlobalFilterListMenuItem.cs
@@ -18,7 +18,7 @@ namespace AxibugEmuOnline.Client
         {
             App.filter.ShutDownFilterPreview();
             App.filter.ShutDownFilter();
-            
+
             return base.OnExitItem();
         }
 
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandDispatcher.cs b/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandDispatcher.cs
index 858bac47..43a8a8b6 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandDispatcher.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandDispatcher.cs
@@ -1,9 +1,5 @@
-using AxibugEmuOnline.Client.ClientCore;
-using System;
 using System.Collections.Generic;
 using UnityEngine;
-using UnityEngine.EventSystems;
-using UnityEngine.UI;
 
 namespace AxibugEmuOnline.Client
 {
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandExcuter.cs b/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandExcuter.cs
index f52b45c3..0da7fd4e 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandExcuter.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/CommandDispatcher/CommandExcuter.cs
@@ -1,6 +1,4 @@
 using AxibugEmuOnline.Client.UI;
-using System.Collections;
-using System.Collections.Generic;
 using UnityEngine;
 
 namespace AxibugEmuOnline.Client
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI.cs
index d74f62dc..77eedfcc 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI.cs
@@ -38,7 +38,7 @@ namespace AxibugEmuOnline.Client
 
             m_stepPerformer = new StepPerformer(this);
 
-            //menus.Add(new InGameUI_FilterSetting(this));
+            menus.Add(new InGameUI_FilterSetting(this));
             menus.Add(new InGameUI_Reset(this));
             menus.Add(new InGameUI_SaveState(this));
             menus.Add(new InGameUI_LoadState(this));
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs
index 4197be4e..563c4716 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs
@@ -1,7 +1,6 @@
 using AxibugEmuOnline.Client.ClientCore;
 using System.Collections.Generic;
 using System.Linq;
-using UnityEngine;
 using static AxibugEmuOnline.Client.FilterManager;
 
 namespace AxibugEmuOnline.Client
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_Reset.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_Reset.cs
index 872c793a..8424dec8 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_Reset.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_Reset.cs
@@ -1,8 +1,4 @@
 using AxibugEmuOnline.Client.ClientCore;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-using System.Security.Cryptography;
-using System.Text;
 
 namespace AxibugEmuOnline.Client
 {
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_SaveState.cs b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_SaveState.cs
index f20c4970..d435ca32 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_SaveState.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_SaveState.cs
@@ -1,8 +1,5 @@
 using AxibugEmuOnline.Client.ClientCore;
 using System.Diagnostics;
-using System.Runtime.InteropServices;
-using System.Security.Cryptography;
-using System.Text;
 
 namespace AxibugEmuOnline.Client
 {
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/GameObjectPool.cs b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/GameObjectPool.cs
index 1cf4dc44..fd44a4fd 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/GameObjectPool.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/GameObjectPool.cs
@@ -1,4 +1,3 @@
-using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemPresentEditor/ItemPresentEditor.cs b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemPresentEditor/ItemPresentEditor.cs
index 1652b81e..2d4e2897 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemPresentEditor/ItemPresentEditor.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemPresentEditor/ItemPresentEditor.cs
@@ -1,6 +1,4 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEditor;
+using UnityEditor;
 using UnityEditor.UI;
 using UnityEngine;
 
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemProxy.cs b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemProxy.cs
index 6f602186..58f857e3 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemProxy.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/ItemPresent/ItemProxy.cs
@@ -1,4 +1,3 @@
-using System;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs
index 74d6094c..620d8a90 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs
@@ -1,7 +1,6 @@
 using DG.Tweening;
 using System;
 using System.Collections.Generic;
-using System.Linq;
 using UnityEngine;
 
 namespace AxibugEmuOnline.Client
@@ -71,6 +70,7 @@ namespace AxibugEmuOnline.Client
 
         protected override void Update()
         {
+            SelectBorder.Active = Enable;
             UpdateMenuState();
 
             base.Update();
@@ -177,6 +177,7 @@ namespace AxibugEmuOnline.Client
 
             var itemUIRect = optionUI_MenuItem.transform as RectTransform;
             SelectBorder.Target = itemUIRect;
+            SelectBorder.RefreshPosition();
 
             if (!m_bPoped)
             {
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OverlayUI/OverlayUI.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OverlayUI/OverlayUI.cs
index 083ead25..957f0d12 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/OverlayUI/OverlayUI.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OverlayUI/OverlayUI.cs
@@ -1,6 +1,4 @@
 using DG.Tweening;
-using System.Collections;
-using System.Collections.Generic;
 using UnityEngine;
 
 namespace AxibugEmuOnline.Client
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/RoomUI/RoomItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/RoomUI/RoomItem.cs
index 9cd7a5c9..274b544c 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/RoomUI/RoomItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/RoomUI/RoomItem.cs
@@ -2,7 +2,6 @@ using AxibugEmuOnline.Client.ClientCore;
 using AxibugEmuOnline.Client.Event;
 using AxibugEmuOnline.Client.UI;
 using AxibugProtobuf;
-using System;
 using UnityEngine;
 using UnityEngine.UI;
 
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs b/AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs
index 2fa6b6db..a982a089 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/Selector.cs
@@ -1,4 +1,4 @@
-using DG.Tweening;
+using DG.Tweening;
 using DG.Tweening.Core;
 using DG.Tweening.Plugins.Options;
 using UnityEngine;
@@ -7,6 +7,8 @@ namespace AxibugEmuOnline.Client
 {
     public class Selector : MonoBehaviour
     {
+        [SerializeField]
+        private Animator animator;
         private RectTransform m_rect => transform as RectTransform;
 
         private RectTransform m_target;
@@ -21,15 +23,13 @@ namespace AxibugEmuOnline.Client
 
                 m_target = value;
 
-                //����ѡ���α�Ķ���
-                gameObject.SetActive(false);
-                gameObject.SetActive(true);
-
                 var itemUIRect = m_target.transform as RectTransform;
                 m_rect.pivot = itemUIRect.pivot;
                 m_rect.sizeDelta = itemUIRect.rect.size;
                 m_rect.SetAsLastSibling();
 
+                animator.SetTrigger("reactive");
+
                 if (m_trackTween != null)
                 {
                     m_trackTween.Kill();
@@ -40,15 +40,34 @@ namespace AxibugEmuOnline.Client
             }
         }
 
+        private bool m_active;
+        public bool Active
+        {
+            get => m_active;
+            set
+            {
+                if (m_active == value) return;
+                m_active = value;
+
+                animator.SetBool("active", value);
+            }
+        }
+
+        public void RefreshPosition()
+        {
+            if (Target != null)
+            {
+                m_rect.position = Target.position;
+            }
+        }
+
         private void LateUpdate()
         {
-            if (m_trackTween != null)
+            if (m_trackTween != null && m_trackTween.endValue != Target.position)
             {
-                m_trackTween.endValue = Target.position;
+                m_trackTween.ChangeEndValue(Target.position, true);
             }
             if (Target == null) return;
-
-            m_rect.position = Target.position;
         }
     }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/UITool.cs b/AxibugEmuOnline.Client/Assets/Script/UI/UITool.cs
index 9ea68bf2..fbeae120 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/UITool.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/UITool.cs
@@ -1,4 +1,3 @@
-using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/VirtualSubMenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/VirtualSubMenuItem.cs
index 859d9dec..9721a825 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/VirtualSubMenuItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/VirtualSubMenuItem.cs
@@ -20,7 +20,7 @@ namespace AxibugEmuOnline.Client
             base.Awake();
 
             RomGroupRoot.gameObject.SetActive(false);
-            RomGroupRoot.alpha = 0;           
+            RomGroupRoot.alpha = 0;
         }
 
         public override void SetSelectState(bool selected)
@@ -58,7 +58,7 @@ namespace AxibugEmuOnline.Client
             thirdMenuGroup.itemGroup.Clear();
 
             RefreshUI();
-            
+
             if (SubMenuItemGroup != null) SubMenuItemGroup.SetSelect(true);
 
             return true;
diff --git a/AxibugEmuOnline.Client/Assets/Script/Utility.cs b/AxibugEmuOnline.Client/Assets/Script/Utility.cs
index 212a7164..86d005eb 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Utility.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Utility.cs
@@ -1,7 +1,6 @@
 using AxibugEmuOnline.Client.ClientCore;
 using AxibugProtobuf;
 using System;
-using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
@@ -42,7 +41,7 @@ namespace AxibugEmuOnline.Client
         {
             if (s_RomFileCahcesInRoomInfo.TryGetValue(roomInfo.GameRomID, out RomFile romFile))
             {
-                callback.Invoke(roomInfo,romFile);
+                callback.Invoke(roomInfo, romFile);
                 return;
             }
             switch (platform)
@@ -53,8 +52,8 @@ namespace AxibugEmuOnline.Client
                         RomFile romFile = new RomFile(EnumPlatform.NES, 0, 0);
                         romFile.SetWebData(romWebData);
                         s_RomFileCahcesInRoomInfo[roomInfo.GameRomID] = romFile;
-                        
-                        callback.Invoke(roomInfo,romFile);
+
+                        callback.Invoke(roomInfo, romFile);
                     }));
                     break;
             }

From d6fa9772b9a62b28ba77121e12a2d1822f9814f9 Mon Sep 17 00:00:00 2001
From: ALIENJACK <alienjack@foxmail.com>
Date: Thu, 5 Dec 2024 01:31:28 +0800
Subject: [PATCH 6/9] =?UTF-8?q?=E4=BE=A7=E8=BE=B9=E6=A0=8FUI=E5=A2=9E?=
 =?UTF-8?q?=E5=8A=A0=E5=8F=AF=E7=BC=96=E8=BE=91=E5=80=BC=E7=9A=84=E9=80=89?=
 =?UTF-8?q?=E9=A1=B9=E7=B1=BB=E5=9E=8B=EF=BC=8C=E6=BB=A4=E9=95=9C=E9=A2=84?=
 =?UTF-8?q?=E8=AE=BE=E7=8E=B0=E5=9C=A8=E5=B7=B2=E6=94=AF=E6=8C=81=E5=8F=82?=
 =?UTF-8?q?=E6=95=B0=E7=9A=84=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Resources/UIPrefabs/OptionUI.prefab       | 1241 +++++++++++++++++
 .../Assets/Script/Filter/FilterEffect.cs      |   33 +-
 .../Assets/Script/Manager/FilterManager.cs    |   63 +-
 .../Script/UI/BgSettingsUI/UI_FilterItem.cs   |   39 +-
 .../Assets/Script/UI/OptionUI/OptionUI.cs     |   55 +-
 .../Script/UI/OptionUI/OptionUI_MenuItem.cs   |    2 +
 .../UI/OptionUI/OptionUI_ValueEditItem.cs     |   69 +
 .../OptionUI/OptionUI_ValueEditItem.cs.meta   |   11 +
 .../OptionUI_ValueEditItem_EnumEdit.cs        |   56 +
 .../OptionUI_ValueEditItem_EnumEdit.cs.meta   |    2 +
 .../OptionUI_ValueEditItem_FloatEdit.cs       |   53 +
 .../OptionUI_ValueEditItem_FloatEdit.cs.meta  |    2 +
 12 files changed, 1582 insertions(+), 44 deletions(-)
 create mode 100644 AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs
 create mode 100644 AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs.meta
 create mode 100644 AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs
 create mode 100644 AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs.meta
 create mode 100644 AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs
 create mode 100644 AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta

diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab
index 4e3cbc67..712e88c1 100644
--- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab
+++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab
@@ -1,5 +1,103 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!1 &197910204715683756
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3877041774025625573}
+  - component: {fileID: 4761092020446986678}
+  - component: {fileID: 6349204039935213934}
+  - component: {fileID: 1930203863893015022}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3877041774025625573
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 197910204715683756}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2450201408575734812}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4761092020446986678
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 197910204715683756}
+  m_CullTransparentMesh: 1
+--- !u!114 &6349204039935213934
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 197910204715683756}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
+    m_FontSize: 26
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 185
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: '[ValueMenu]'
+--- !u!114 &1930203863893015022
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 197910204715683756}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0848bff101191904ead4bb831f7084db, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_BlurFactor: 1
+  m_Style: 1
+  m_AdditionalShadows: []
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
+  m_EffectDistance: {x: 1.5, y: -1.5}
+  m_UseGraphicAlpha: 1
 --- !u!1 &641655917557919365
 GameObject:
   m_ObjectHideFlags: 0
@@ -96,6 +194,102 @@ MonoBehaviour:
   m_FlexibleWidth: 1
   m_FlexibleHeight: -1
   m_LayoutPriority: 1
+--- !u!1 &663717611383481067
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1609320592060400513}
+  - component: {fileID: 7860273967724122996}
+  - component: {fileID: 1062489471918314902}
+  - component: {fileID: 6374434662818679556}
+  m_Layer: 5
+  m_Name: Icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1609320592060400513
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 663717611383481067}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2450201408575734812}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7860273967724122996
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 663717611383481067}
+  m_CullTransparentMesh: 1
+--- !u!114 &1062489471918314902
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 663717611383481067}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &6374434662818679556
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 663717611383481067}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: 40
+  m_PreferredHeight: 40
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &782102846085628909
 GameObject:
   m_ObjectHideFlags: 0
@@ -529,6 +723,77 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   animator: {fileID: 8744505332349586225}
+--- !u!1 &2471254561136382013
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 816049057894123782}
+  - component: {fileID: 1792874459052106251}
+  - component: {fileID: 3614321873420207159}
+  m_Layer: 5
+  m_Name: EnumEdit
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &816049057894123782
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2471254561136382013}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 3923554087608668260}
+  m_Father: {fileID: 278706555072840209}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1792874459052106251
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2471254561136382013}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: 50
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
+--- !u!114 &3614321873420207159
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2471254561136382013}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef1018f09e7c5b049b75128ee308d372, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  txt_value: {fileID: 882902782535747463}
 --- !u!1 &2500436782395572584
 GameObject:
   m_ObjectHideFlags: 0
@@ -610,6 +875,105 @@ MonoBehaviour:
   m_MenuNameTxt: {fileID: 1824253632728291860}
   m_Icon: {fileID: 394891843266770919}
   ExpandFlag: {fileID: 1501213187178026014}
+--- !u!1 &4124172888520656882
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3923554087608668260}
+  - component: {fileID: 8726940611779585913}
+  m_Layer: 5
+  m_Name: content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3923554087608668260
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4124172888520656882}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 6100013163502236362}
+  m_Father: {fileID: 816049057894123782}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8726940611779585913
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4124172888520656882}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 5
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &4418047983921236589
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 839073477422163140}
+  m_Layer: 5
+  m_Name: Handle Slide Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &839073477422163140
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4418047983921236589}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 368344292915322445}
+  m_Father: {fileID: 7336691093202081882}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &4478785627166277609
 GameObject:
   m_ObjectHideFlags: 0
@@ -644,6 +1008,7 @@ RectTransform:
   m_Children:
   - {fileID: 8581099496228509946}
   - {fileID: 2780569438310375802}
+  - {fileID: 278706555072840209}
   - {fileID: 2404013603202822047}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -667,6 +1032,7 @@ MonoBehaviour:
   MenuRoot: {fileID: 4478785627166277610}
   SelectBorder: {fileID: 7857863493876124730}
   TEMPLATE_EXECUTEITEM: {fileID: 3721725547312714320}
+  TEMPLATE_VALUEEDITITEM: {fileID: 2621485483361375335}
 --- !u!114 &7033441668005100640
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -727,6 +1093,392 @@ MonoBehaviour:
   m_FlexibleWidth: -1
   m_FlexibleHeight: -1
   m_LayoutPriority: 1
+--- !u!1 &4565892069299376824
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 758531668636581813}
+  m_Layer: 5
+  m_Name: Fill Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &758531668636581813
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4565892069299376824}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 8431569032797679710}
+  m_Father: {fileID: 7336691093202081882}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: -5.0000153, y: 0}
+  m_SizeDelta: {x: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &5174902406667317058
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 278706555072840209}
+  - component: {fileID: 2621485483361375335}
+  - component: {fileID: 4314371315188452187}
+  - component: {fileID: 3305626545226455955}
+  m_Layer: 5
+  m_Name: ValueEditItem_Template
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &278706555072840209
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5174902406667317058}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 2450201408575734812}
+  - {fileID: 7216060871118576844}
+  - {fileID: 816049057894123782}
+  m_Father: {fileID: 4478785627166277610}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2621485483361375335
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5174902406667317058}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: deae682aaf23cab458cba1b12cd3a1f7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MenuNameTxt: {fileID: 6349204039935213934}
+  m_Icon: {fileID: 1062489471918314902}
+  com_floatEdit: {fileID: 3979886008433050043}
+  com_enumEdit: {fileID: 3614321873420207159}
+--- !u!114 &4314371315188452187
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5174902406667317058}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 20
+    m_Right: 10
+    m_Top: 10
+    m_Bottom: 10
+  m_ChildAlignment: 0
+  m_Spacing: 5
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &3305626545226455955
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5174902406667317058}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
+--- !u!1 &5894141955990945432
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2450201408575734812}
+  - component: {fileID: 6023196883469018230}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2450201408575734812
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5894141955990945432}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1609320592060400513}
+  - {fileID: 3877041774025625573}
+  m_Father: {fileID: 278706555072840209}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &6023196883469018230
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5894141955990945432}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 3
+  m_Spacing: 12
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &6312116949113707702
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7216060871118576844}
+  - component: {fileID: 2814991476448031351}
+  - component: {fileID: 3979886008433050043}
+  m_Layer: 5
+  m_Name: FloatEdit
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7216060871118576844
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6312116949113707702}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 3411987631237892165}
+  m_Father: {fileID: 278706555072840209}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2814991476448031351
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6312116949113707702}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: 50
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
+--- !u!114 &3979886008433050043
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6312116949113707702}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8c9e9868e38e8ea44a0dad03b987cd73, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  slider: {fileID: 6489571631904078165}
+  txt_value: {fileID: 6176548475786947694}
+--- !u!1 &6669948312920191200
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7336691093202081882}
+  - component: {fileID: 6489571631904078165}
+  - component: {fileID: 3374260299666839081}
+  m_Layer: 5
+  m_Name: Slider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7336691093202081882
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6669948312920191200}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 9188465998620569872}
+  - {fileID: 758531668636581813}
+  - {fileID: 839073477422163140}
+  m_Father: {fileID: 3411987631237892165}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &6489571631904078165
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6669948312920191200}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 5663436025380392551}
+  m_FillRect: {fileID: 8431569032797679710}
+  m_HandleRect: {fileID: 368344292915322445}
+  m_Direction: 0
+  m_MinValue: 0
+  m_MaxValue: 1
+  m_WholeNumbers: 0
+  m_Value: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &3374260299666839081
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6669948312920191200}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 20
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &6998597834321643812
 GameObject:
   m_ObjectHideFlags: 0
@@ -825,3 +1577,492 @@ MonoBehaviour:
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
   m_EffectDistance: {x: 1.5, y: -1.5}
   m_UseGraphicAlpha: 1
+--- !u!1 &8045610840842517781
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 368344292915322445}
+  - component: {fileID: 2285457357903007277}
+  - component: {fileID: 5663436025380392551}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &368344292915322445
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8045610840842517781}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 839073477422163140}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2285457357903007277
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8045610840842517781}
+  m_CullTransparentMesh: 1
+--- !u!114 &5663436025380392551
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8045610840842517781}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8171039204203639432
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3411987631237892165}
+  - component: {fileID: 8534996973105061084}
+  m_Layer: 5
+  m_Name: content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3411987631237892165
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8171039204203639432}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7336691093202081882}
+  - {fileID: 1486903153852188972}
+  m_Father: {fileID: 7216060871118576844}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8534996973105061084
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8171039204203639432}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 5
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &8424237890540861109
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 9188465998620569872}
+  - component: {fileID: 1544250115504974858}
+  - component: {fileID: 4255075450120709843}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &9188465998620569872
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8424237890540861109}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7336691093202081882}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1544250115504974858
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8424237890540861109}
+  m_CullTransparentMesh: 1
+--- !u!114 &4255075450120709843
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8424237890540861109}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8505862672145461347
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8431569032797679710}
+  - component: {fileID: 5338290108124800152}
+  - component: {fileID: 51848086538987462}
+  m_Layer: 5
+  m_Name: Fill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8431569032797679710
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8505862672145461347}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 758531668636581813}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 10, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5338290108124800152
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8505862672145461347}
+  m_CullTransparentMesh: 1
+--- !u!114 &51848086538987462
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8505862672145461347}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8608736886725017457
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1486903153852188972}
+  - component: {fileID: 7497419100168238325}
+  - component: {fileID: 6176548475786947694}
+  - component: {fileID: 5172613673109503612}
+  m_Layer: 5
+  m_Name: value
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1486903153852188972
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8608736886725017457}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3411987631237892165}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7497419100168238325
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8608736886725017457}
+  m_CullTransparentMesh: 1
+--- !u!114 &6176548475786947694
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8608736886725017457}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 99
+--- !u!114 &5172613673109503612
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8608736886725017457}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
+--- !u!1 &8884391103430529053
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6100013163502236362}
+  - component: {fileID: 88244861463061753}
+  - component: {fileID: 882902782535747463}
+  - component: {fileID: 7627463212103394575}
+  m_Layer: 5
+  m_Name: value
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6100013163502236362
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8884391103430529053}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3923554087608668260}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &88244861463061753
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8884391103430529053}
+  m_CullTransparentMesh: 1
+--- !u!114 &882902782535747463
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8884391103430529053}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 33a3bdf8f6bd1ec4eba7c4bc58183212, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: ENUMNAME
+--- !u!114 &7627463212103394575
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8884391103430529053}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
diff --git a/AxibugEmuOnline.Client/Assets/Script/Filter/FilterEffect.cs b/AxibugEmuOnline.Client/Assets/Script/Filter/FilterEffect.cs
index 2a728b1a..95d9adde 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Filter/FilterEffect.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Filter/FilterEffect.cs
@@ -26,7 +26,22 @@ namespace AxibugEmuOnline.Client
                               where t.DeclaringType.IsSubclassOf(typeof(FilterEffect))
                               orderby t.MetadataToken
                               select t);
-            m_editableParamList = parameters.Select(p => new EditableParamerter(p.Name, (ParameterOverride)p.GetValue(this))).ToList();
+
+            m_editableParamList = new List<EditableParamerter>();
+            foreach (var param in parameters)
+            {
+                var paramObj = (ParameterOverride)param.GetValue(this);
+                var rangeAtt = param.GetCustomAttribute<RangeAttribute>();
+                float min = 0;
+                float max = 10;
+                if (rangeAtt != null)
+                {
+                    min = rangeAtt.min; max = rangeAtt.max;
+                }
+
+                var editableParam = new EditableParamerter(param.Name, paramObj, min, max);
+                m_editableParamList.Add(editableParam);
+            }
         }
 
         public class EditableParamerter
@@ -42,9 +57,13 @@ namespace AxibugEmuOnline.Client
                 set
                 {
                     valueFieldInfo.SetValue(m_paramObject, value);
+                    m_paramObject.overrideState = true;
                 }
             }
-            public EditableParamerter(string name, ParameterOverride paramObject)
+            public object MinValue { get; private set; }
+            public object MaxValue { get; private set; }
+
+            public EditableParamerter(string name, ParameterOverride paramObject, object minValue, object maxValue)
             {
                 m_paramObject = paramObject;
                 Name = name;
@@ -60,18 +79,16 @@ namespace AxibugEmuOnline.Client
                 {
                     ValueType = typeof(object);
                 }
+
+                MinValue = minValue;
+                MaxValue = maxValue;
             }
 
             public void ResetToDefault() => m_paramObject.overrideState = false;
 
-            public string Serilized()
-            {
-                return JsonUtility.ToJson(Value);
-            }
 
-            public void Apply(string json)
+            public void Apply(object overrideValue)
             {
-                var overrideValue = JsonUtility.FromJson(json, ValueType);
                 Value = overrideValue;
             }
         }
diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
index 1f61f48c..72d7720c 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
@@ -1,4 +1,5 @@
-using System;
+using AxibugEmuOnline.Client.ClientCore;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using UnityEngine;
@@ -94,7 +95,8 @@ namespace AxibugEmuOnline.Client
             filter = Filters.FirstOrDefault(f => f.Name == value.filterName);
             if (filter != null)
             {
-                preset = filter.Presets.FirstOrDefault(p => p.Name == value.filterName);
+                string presetName = value.presetName;
+                preset = filter.Presets.FirstOrDefault(p => p.Name == presetName);
             }
 
             return (filter, preset);
@@ -126,9 +128,9 @@ namespace AxibugEmuOnline.Client
                 else Presets = loadedPresets.presets;
             }
 
-            private void savePresets()
+            public void SavePresets()
             {
-                var json = JsonUtility.ToJson(new FilterPresetList { presets = Presets });
+                var json = JsonUtility.ToJson(new FilterPresetList(Presets));
                 PlayerPrefs.SetString($"Filter_{Name}_PresetList", json);
             }
 
@@ -141,7 +143,7 @@ namespace AxibugEmuOnline.Client
                 newPreset = new FilterPreset(presetName);
                 Presets.Add(newPreset);
 
-                savePresets();
+                SavePresets();
 
                 return true;
             }
@@ -149,7 +151,7 @@ namespace AxibugEmuOnline.Client
             public void RemovePreset(FilterPreset preset)
             {
                 if (!Presets.Remove(preset)) return;
-                savePresets();
+                SavePresets();
 
                 EventInvoker.RaiseFilterPresetRemoved(this, preset);
             }
@@ -166,11 +168,11 @@ namespace AxibugEmuOnline.Client
             {
                 foreach (var param in Paramerters)
                 {
-                    var json = preset.GetParamValueJson(param.Name);
-                    if (string.IsNullOrEmpty(json))
+                    var value = preset.GetParamValue(param.Name, param.ValueType);
+                    if (value == null)
                         param.ResetToDefault();
                     else
-                        param.Apply(json);
+                        param.Apply(value);
                 }
 
             }
@@ -182,6 +184,15 @@ namespace AxibugEmuOnline.Client
         private class FilterPresetList
         {
             public List<FilterPreset> presets;
+
+            public FilterPresetList(List<FilterPreset> presets)
+            {
+                this.presets = presets;
+                foreach (var preset in presets)
+                {
+                    preset.ReadyForJson();
+                }
+            }
         }
 
         [Serializable]
@@ -201,6 +212,12 @@ namespace AxibugEmuOnline.Client
                 Name = presetName;
             }
 
+            public void ReadyForJson()
+            {
+                m_paramName = m_paramName2ValueJson.Keys.ToList();
+                m_valueJson = m_paramName2ValueJson.Values.ToList();
+            }
+
             public string GetParamValueJson(string paramName)
             {
                 prepareCache();
@@ -209,6 +226,34 @@ namespace AxibugEmuOnline.Client
                 return value;
             }
 
+            public object GetParamValue(string paramName, Type valueType)
+            {
+                var rawStr = GetParamValueJson(paramName);
+                if (rawStr == null) return null;
+
+                if (valueType == typeof(float))
+                {
+                    float.TryParse(rawStr, out var floatVal);
+                    return floatVal;
+                }
+                else if (valueType.IsEnum)
+                {
+                    Enum.TryParse(valueType, rawStr,out var enumValue);
+                    return enumValue;
+                }
+                else
+                {
+                    App.log.Error($"尚未支持的滤镜参数类型{valueType}");
+                    return null;
+                }
+            }
+
+            public void SetParamValue(string paramName, Type valueType, object value)
+            {
+                prepareCache();
+                m_paramName2ValueJson[paramName] = value.ToString();
+            }
+
             private void prepareCache()
             {
                 if (m_cacheReady) return;
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/UI_FilterItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/UI_FilterItem.cs
index eb7952eb..562f0673 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/UI_FilterItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/BgSettingsUI/UI_FilterItem.cs
@@ -1,5 +1,6 @@
 using AxibugEmuOnline.Client.ClientCore;
 using AxibugEmuOnline.Client.UI;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using UnityEngine;
@@ -88,12 +89,16 @@ namespace AxibugEmuOnline.Client
             private Filter m_filter;
             private FilterPreset m_preset;
             private OptionUI_MenuItem m_ui;
+            private List<OptionMenu> m_menu;
 
             public Opt_Presets(Filter filter, FilterPreset preset) : base(preset.Name, null)
             {
                 m_filter = filter;
                 m_preset = preset;
 
+                m_menu = new List<OptionMenu>();
+                m_menu.Add(new Opt_Delete(m_filter, m_preset));
+                foreach (var p in m_filter.Paramerters) m_menu.Add(new Opt_ParamEditor(m_filter, p, m_preset));
             }
 
             public override void OnShow(OptionUI_MenuItem ui)
@@ -122,7 +127,37 @@ namespace AxibugEmuOnline.Client
 
             protected override List<OptionMenu> GetOptionMenus()
             {
-                return new List<OptionMenu> { new Opt_Delete(m_filter, m_preset) };
+                return m_menu;
+            }
+
+            public class Opt_ParamEditor : ValueSetMenu
+            {
+                private Filter m_filter;
+                private FilterEffect.EditableParamerter m_param;
+                private FilterPreset m_preset;
+
+                public Opt_ParamEditor(Filter filter, FilterEffect.EditableParamerter editParam, FilterPreset preset)
+                    : base(editParam.Name)
+                {
+                    m_filter = filter;
+                    m_param = editParam;
+                    m_preset = preset;
+                }
+
+                public override Type ValueType => m_param.ValueType;
+
+                public override object ValueRaw => m_preset.GetParamValue(m_param.Name, ValueType) ?? m_param.Value;
+
+                public override void OnValueChanged(object newValue)
+                {
+                    m_preset.SetParamValue(m_param.Name, ValueType, newValue);
+                    m_filter.SavePresets();
+                    m_param.Apply(newValue);
+                }
+
+                public override object Min => m_param.MinValue;
+
+                public override object Max => m_param.MaxValue;
             }
 
             public class Opt_Delete : ExecuteMenu
@@ -141,6 +176,8 @@ namespace AxibugEmuOnline.Client
                     m_filter.RemovePreset(m_preset);
                 }
             }
+
+
         }
     }
 }
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs
index 620d8a90..1fcdf229 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI.cs
@@ -15,6 +15,7 @@ namespace AxibugEmuOnline.Client
         [Space]
         [Header("�")]
         [SerializeField] OptionUI_ExecuteItem TEMPLATE_EXECUTEITEM;
+        [SerializeField] OptionUI_ValueEditItem TEMPLATE_VALUEEDITITEM;
 
         private OptionUI m_child;
         private OptionUI m_parent;
@@ -64,6 +65,8 @@ namespace AxibugEmuOnline.Client
         protected override void Awake()
         {
             TEMPLATE_EXECUTEITEM.gameObject.SetActiveEx(false);
+            TEMPLATE_VALUEEDITITEM.gameObject.SetActiveEx(false);
+
             SelectBorder.gameObject.SetActiveEx(false);
             base.Awake();
         }
@@ -269,15 +272,19 @@ namespace AxibugEmuOnline.Client
         {
             if (menuData is ExecuteMenu executeMenu)
             {
-                var menuUI = GameObject.Instantiate(TEMPLATE_EXECUTEITEM.gameObject, TEMPLATE_EXECUTEITEM.transform.parent).GetComponent<OptionUI_ExecuteItem>();
+                var menuUI = Instantiate(TEMPLATE_EXECUTEITEM.gameObject, TEMPLATE_EXECUTEITEM.transform.parent).GetComponent<OptionUI_ExecuteItem>();
                 menuUI.gameObject.SetActive(true);
                 menuUI.SetData(this, executeMenu);
                 m_runtimeMenuItems.Add(menuUI);
             }
-            else
+            else if (menuData is ValueSetMenu valueSetMenu)
             {
-                throw new NotImplementedException($"�ݲ�֧�ֵIJ˵�����{menuData.GetType().Name}");
+                var menuUI = Instantiate(TEMPLATE_VALUEEDITITEM.gameObject, TEMPLATE_VALUEEDITITEM.transform.parent).GetComponent<OptionUI_ValueEditItem>();
+                menuUI.gameObject.SetActive(true);
+                menuUI.SetData(this, valueSetMenu);
+                m_runtimeMenuItems.Add(menuUI);
             }
+            else throw new NotImplementedException($"�ݲ�֧�ֵIJ˵�����{menuData.GetType().Name}");
         }
 
         private void ReleaseRuntimeMenus()
@@ -305,10 +312,23 @@ namespace AxibugEmuOnline.Client
             Hide();
         }
 
+        protected override void OnCmdSelectItemLeft()
+        {
+            var executer = m_runtimeMenuItems[SelectIndex];
+            if (executer != null)
+            {
+                executer.OnLeft();
+            }
+        }
+
         protected override void OnCmdSelectItemRight()
         {
             var executer = m_runtimeMenuItems[SelectIndex];
-            if (!executer.IsExpandMenu) return;
+            if (!executer.IsExpandMenu)
+            {
+                executer.OnRight();
+                return;
+            }
 
             OnCmdEnter();
         }
@@ -384,25 +404,6 @@ namespace AxibugEmuOnline.Client
         protected abstract List<OptionMenu> GetOptionMenus();
     }
 
-    /// <summary>
-    /// ����ֵ������ʾ�ͱ༭�IJ˵�
-    /// </summary>
-    /// <typeparam name="T"></typeparam>
-    public class ValueSetMenu<T> : ValueSetMenu
-    {
-        public sealed override Type ValueType => typeof(T);
-
-        public T Value { get; private set; }
-
-        public sealed override object ValueRaw => Value;
-
-        public sealed override void OnValueChanged(object newValue)
-        {
-            Value = (T)newValue;
-        }
-        protected ValueSetMenu(string name) : base(name) { }
-    }
-
     /// <summary> ��Ҫֱ�Ӽ̳������ </summary>
     public abstract class OptionMenu
     {
@@ -421,7 +422,9 @@ namespace AxibugEmuOnline.Client
         public virtual void OnShow(OptionUI_MenuItem ui) { }
         public virtual void OnHide() { }
     }
-    /// <summary> ��Ҫֱ�Ӽ̳������ </summary>
+    /// <summary>
+    /// ����ֵ������ʾ�ͱ༭�IJ˵�
+    /// </summary>
     public abstract class ValueSetMenu : OptionMenu
     {
         public ValueSetMenu(string name) : base(name) { }
@@ -429,7 +432,7 @@ namespace AxibugEmuOnline.Client
         public abstract Type ValueType { get; }
         public abstract object ValueRaw { get; }
         public abstract void OnValueChanged(object newValue);
+        public abstract object Min { get; }
+        public abstract object Max { get; }
     }
-
-
 }
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_MenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_MenuItem.cs
index 5b3203f1..f3ae05b9 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_MenuItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_MenuItem.cs
@@ -35,6 +35,8 @@ namespace AxibugEmuOnline.Client
         protected abstract void OnSetData(OptionMenu menuData);
 
         public abstract void OnExecute(OptionUI optionUI, ref bool cancelHide);
+        public virtual void OnLeft() { }
+        public virtual void OnRight() { }
         public abstract void OnFocus();
         public virtual void OnHide() { }
     }
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs
new file mode 100644
index 00000000..9c88a3f2
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs
@@ -0,0 +1,69 @@
+using AxibugEmuOnline.Client.ClientCore;
+using UnityEngine;
+
+namespace AxibugEmuOnline.Client
+{
+    public class OptionUI_ValueEditItem : OptionUI_MenuItem<ValueSetMenu>
+    {
+        [SerializeField]
+        OptionUI_ValueEditItem_FloatEdit com_floatEdit;
+        [SerializeField]
+        OptionUI_ValueEditItem_EnumEdit com_enumEdit;
+
+        IValueEditControl m_currentCom;
+
+        protected override void OnSetData(OptionMenu menuData)
+        {
+            com_floatEdit.gameObject.SetActive(false);
+            com_enumEdit.gameObject.SetActive(false);
+
+            if (menuData is ValueSetMenu valueMenu)
+            {
+                if (valueMenu.ValueType == typeof(float))
+                {
+                    m_currentCom = com_floatEdit;
+                }
+                else if (valueMenu.ValueType.IsEnum)
+                {
+                    m_currentCom = com_enumEdit;
+                }
+                else
+                {
+                    App.log.Error($"��δ֧�ֵ���������:{valueMenu.ValueType}");
+                    return;
+                }
+
+
+                m_currentCom.gameObject.SetActiveEx(true);
+                m_currentCom.SetData(valueMenu);
+            }
+
+            base.OnSetData(menuData);
+        }
+
+        public override void OnExecute(OptionUI optionUI, ref bool cancelHide)
+        {
+            cancelHide = true;
+            m_currentCom?.OnExecute();
+        }
+
+        public override void OnLeft()
+        {
+            m_currentCom?.OnLeft();
+        }
+
+        public override void OnRight()
+        {
+            m_currentCom?.OnRight();
+        }
+    }
+
+    public interface IValueEditControl
+    {
+        void SetData(ValueSetMenu valueMenu);
+        GameObject gameObject { get; }
+        void OnLeft();
+        void OnRight();
+        void OnExecute();
+    }
+}
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs.meta
new file mode 100644
index 00000000..4b7744c2
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: deae682aaf23cab458cba1b12cd3a1f7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs
new file mode 100644
index 00000000..6b5f6fe7
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace AxibugEmuOnline.Client
+{
+    public class OptionUI_ValueEditItem_EnumEdit : MonoBehaviour, IValueEditControl
+    {
+        [SerializeField]
+        Text txt_value;
+
+        private ValueSetMenu m_valueMenu;
+        private List<Enum> m_enumValues = new List<Enum>();
+        private int m_valueIndex;
+
+        public void SetData(ValueSetMenu valueMenu)
+        {
+            m_valueMenu = valueMenu;
+            txt_value.text = valueMenu.ValueRaw.ToString();
+
+            foreach (Enum enumValue in Enum.GetValues(valueMenu.ValueType))
+            {
+                m_enumValues.Add(enumValue);
+            }
+            m_valueIndex = m_enumValues.IndexOf((Enum)valueMenu.ValueRaw);
+        }
+
+        public void OnLeft()
+        {
+            m_valueIndex--;
+
+            if (m_valueIndex < 0) m_valueIndex = m_enumValues.Count - 1;
+
+            var value = m_enumValues[m_valueIndex];
+            txt_value.text = value.ToString();
+            m_valueMenu.OnValueChanged(value);
+        }
+
+        public void OnRight()
+        {
+            m_valueIndex++;
+
+            if (m_valueIndex >= m_enumValues.Count) m_valueIndex = 0;
+
+            var value = m_enumValues[m_valueIndex];
+            txt_value.text = value.ToString();
+            m_valueMenu.OnValueChanged(value);
+        }
+
+        public void OnExecute()
+        {
+            OnRight();
+        }
+    }
+}
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs.meta
new file mode 100644
index 00000000..78cb595d
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_EnumEdit.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: ef1018f09e7c5b049b75128ee308d372
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs
new file mode 100644
index 00000000..bd1a3ab3
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs
@@ -0,0 +1,53 @@
+using System;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace AxibugEmuOnline.Client
+{
+    public class OptionUI_ValueEditItem_FloatEdit : MonoBehaviour, IValueEditControl
+    {
+        [SerializeField]
+        Slider slider;
+        [SerializeField]
+        Text txt_value;
+
+        float m_step;
+        private ValueSetMenu m_valueMenu;
+
+        private void Awake()
+        {
+            slider.onValueChanged.AddListener(OnSliderValueChanged);
+        }
+
+        private void OnSliderValueChanged(float value)
+        {
+            txt_value.text = $"{value:.00}";
+            m_valueMenu.OnValueChanged(value);
+        }
+
+        public void SetData(ValueSetMenu valueMenu)
+        {
+            m_valueMenu = valueMenu;
+            slider.minValue = (float)valueMenu.Min;
+            slider.maxValue = (float)valueMenu.Max;
+            slider.value = (float)valueMenu.ValueRaw;
+            m_step = (slider.maxValue - slider.minValue) * 0.05f;
+        }
+
+        public void OnLeft()
+        {
+            var newValue = Mathf.Clamp(slider.value - m_step, slider.minValue, slider.maxValue);
+            slider.value = newValue;
+        }
+
+        public void OnRight()
+        {
+            var newValue = Mathf.Clamp(slider.value + m_step, slider.minValue, slider.maxValue);
+            slider.value = newValue;
+        }
+
+        public void OnExecute()
+        {
+        }
+    }
+}
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta
new file mode 100644
index 00000000..44c37b3d
--- /dev/null
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 8c9e9868e38e8ea44a0dad03b987cd73
\ No newline at end of file

From 9049d905c877e5e62514a69dd9208c8da7a3abe6 Mon Sep 17 00:00:00 2001
From: "ALIENJACK\\alien" <wangshijie>
Date: Fri, 6 Dec 2024 17:17:57 +0800
Subject: [PATCH 7/9] =?UTF-8?q?unity=20=E6=9D=90=E8=B4=A8=E7=90=83?=
 =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=9D=90=E8=B4=A8=E7=90=83=E5=BA=8F?=
 =?UTF-8?q?=E5=88=97=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Assets/Script/NesEmulator/NesEmulator_Screen.mat   | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator_Screen.mat b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator_Screen.mat
index d581fae5..eed7c2bf 100644
--- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator_Screen.mat
+++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator_Screen.mat
@@ -2,24 +2,20 @@
 %TAG !u! tag:unity3d.com,2011:
 --- !u!21 &2100000
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: NesEmulator_Screen
   m_Shader: {fileID: 4800000, guid: b351396ff606116478d7f4412abe4e2e, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -63,7 +59,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _BumpScale: 1
     - _ColorMask: 15
@@ -92,4 +87,3 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1

From 5ecdf999d3b9720a5ba34e8c7d0fc1db054f1264 Mon Sep 17 00:00:00 2001
From: "ALIENJACK\\alien" <wangshijie>
Date: Fri, 6 Dec 2024 17:45:05 +0800
Subject: [PATCH 8/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dmeta=E7=89=88=E6=9C=AC?=
 =?UTF-8?q?=E8=A2=ABunity6=E4=BF=AE=E6=94=B9=E7=9A=84=E9=97=AE=E9=A2=98,?=
 =?UTF-8?q?=E6=BB=A4=E9=95=9C=E4=BB=A3=E7=A0=81=E6=94=B9=E4=B8=BAunity2020?=
 =?UTF-8?q?=E5=8F=AF=E7=94=A8=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../UIEffect/Materials/UI-Effect.mat          | 1403 ++++-------------
 .../Assets/Script/Manager/FilterManager.cs    |   15 +-
 .../InGameUI/InGameUI_FilterSetting.cs.meta   |   11 +-
 .../OptionUI_ValueEditItem_FloatEdit.cs.meta  |   11 +-
 4 files changed, 313 insertions(+), 1127 deletions(-)

diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
index 3c3817eb..f6fe4b84 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
@@ -2,24 +2,20 @@
 %TAG !u! tag:unity3d.com,2011:
 --- !u!21 &-7922399114787830828
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-MediumBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -31,7 +27,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -43,27 +38,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &-2858933974303803426
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-FastBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -75,7 +65,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -87,27 +76,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &2100000
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 8
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -119,7 +103,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -131,27 +114,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21011258686512032
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -163,7 +141,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -175,27 +152,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21026428964303540
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -207,7 +179,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -219,27 +190,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21027069994720160
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -251,7 +217,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -263,27 +228,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21039963853110620
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -295,7 +255,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -307,27 +266,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21051553669005610
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -339,7 +293,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -351,27 +304,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21052465468044756
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -383,7 +331,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -395,27 +342,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21066333305903936
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -427,7 +369,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -439,27 +380,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21075981732791042
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -471,7 +407,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -483,27 +418,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21088090490190524
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -511,7 +441,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -523,27 +452,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21101263305935548
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -551,7 +475,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -563,27 +486,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21104109730402914
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -591,7 +509,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -603,27 +520,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21105261449943414
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -631,7 +543,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -643,27 +554,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21109508837310648
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -671,7 +577,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -683,27 +588,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21111652731778514
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -711,7 +611,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -723,27 +622,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21116803245207008
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -751,7 +645,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -763,27 +656,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21122981926976530
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -795,7 +683,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -807,27 +694,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21123846122543778
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -835,7 +717,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -847,27 +728,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21131018956888464
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -879,7 +755,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -891,27 +766,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21137937571243814
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -919,7 +789,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -931,27 +800,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21145977231806290
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -959,7 +823,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -971,27 +834,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21149323267498812
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -999,7 +857,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1011,27 +868,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21166942708938158
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1039,7 +891,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1051,27 +902,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21175420890653266
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1079,7 +925,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1091,27 +936,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21185002339311568
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1123,7 +963,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1135,27 +974,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21186453925202086
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1163,7 +997,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1175,27 +1008,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21192233312017768
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1207,7 +1035,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1219,27 +1046,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21197897579119900
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1247,7 +1069,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1259,27 +1080,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21199877168527062
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1287,7 +1103,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1299,27 +1114,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21212477583257292
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1327,7 +1137,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1339,27 +1148,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21232036731743694
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1367,7 +1171,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1379,27 +1182,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21240296032697190
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1407,7 +1205,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1419,27 +1216,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21255923207793296
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1447,7 +1239,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1459,27 +1250,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21258387908413332
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1487,7 +1273,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1499,27 +1284,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21271924954905420
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1531,7 +1311,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1543,27 +1322,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21293088704516238
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1571,7 +1345,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1583,27 +1356,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21302104002556128
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1611,7 +1379,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1623,27 +1390,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21303963782861626
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1651,7 +1413,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1663,30 +1424,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21305736874167728
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords:
-  - DETAILBLUR
-  - EX
-  - FILL
-  m_InvalidKeywords: []
+  m_ShaderKeywords: DETAILBLUR EX FILL
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1698,7 +1451,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1710,27 +1462,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21306681885004364
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1738,7 +1485,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1750,27 +1496,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21320668284859588
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1778,7 +1519,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1790,27 +1530,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21330216548013380
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1818,7 +1553,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1830,27 +1564,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21336195750137204
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1862,7 +1591,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1874,27 +1602,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21348001306660082
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1902,7 +1625,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1914,27 +1636,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21348190401746968
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1942,7 +1659,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1954,27 +1670,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21359290647485348
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -1982,7 +1693,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -1994,27 +1704,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21361395707633912
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2022,7 +1727,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2034,27 +1738,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21364950658099354
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2062,7 +1761,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2074,27 +1772,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21378012982496048
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2102,7 +1795,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2114,27 +1806,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21378149258337820
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2142,7 +1829,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2154,27 +1840,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21380371216467826
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2182,7 +1863,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2194,27 +1874,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21380512493198096
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2222,7 +1897,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2234,27 +1908,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21405390060167114
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2266,7 +1935,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2278,27 +1946,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21409008212681998
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2306,7 +1969,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2318,27 +1980,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21415477525834930
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2346,7 +2003,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2358,27 +2014,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21430195719184000
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2386,7 +2037,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2398,27 +2048,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21437925998559310
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2426,7 +2071,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2438,27 +2082,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21440092419426906
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2466,7 +2105,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2478,27 +2116,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21444967751105098
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2506,7 +2139,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2518,27 +2150,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21448049851552048
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-MediumBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2550,7 +2177,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2562,27 +2188,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21450770079124654
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2594,7 +2215,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2606,27 +2226,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21453664544427490
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2634,7 +2249,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2646,27 +2260,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21467518254157304
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2678,7 +2287,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2690,27 +2298,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21471923136759810
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2718,7 +2321,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2730,27 +2332,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21481346700311234
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2762,7 +2359,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2774,27 +2370,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21510007115466990
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2806,7 +2397,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2818,27 +2408,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21512057394810148
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2850,7 +2435,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2862,27 +2446,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21512499159998750
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2890,7 +2469,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2902,27 +2480,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21532343593189452
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2930,7 +2503,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2942,27 +2514,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21533667629458412
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -2974,7 +2541,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -2986,27 +2552,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21541535114347366
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3018,7 +2579,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3030,27 +2590,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21542047413524304
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3058,7 +2613,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3070,27 +2624,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21544716102375364
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3098,7 +2647,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3110,27 +2658,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21545629178218474
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3138,7 +2681,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3150,27 +2692,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21560746059913494
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3178,7 +2715,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3190,27 +2726,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21563344409783084
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3222,7 +2753,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3234,27 +2764,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21569565423378676
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3262,7 +2787,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3274,27 +2798,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21576230583202306
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3302,7 +2821,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3314,27 +2832,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21579131057152204
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3342,7 +2855,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3354,27 +2866,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21588405465634874
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3382,7 +2889,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3394,27 +2900,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21597123945508062
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3422,7 +2923,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3434,27 +2934,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21600722614953990
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3462,7 +2957,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3474,27 +2968,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21605587663562914
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3502,7 +2991,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3514,27 +3002,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21610745492908456
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Add-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3542,7 +3025,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3554,27 +3036,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21613427633448394
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3582,7 +3059,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3594,27 +3070,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21626828109100462
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3622,7 +3093,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3634,27 +3104,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21635119553697766
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-FastBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3666,7 +3131,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3678,27 +3142,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21639588145429544
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3706,7 +3165,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3718,27 +3176,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21653387824655390
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3750,7 +3203,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3762,27 +3214,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21661642508956528
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3790,7 +3237,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3802,27 +3248,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21661871162831128
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3830,7 +3271,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3842,27 +3282,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21663013170243334
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3870,7 +3305,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3882,27 +3316,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21666358306453470
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3910,7 +3339,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3922,27 +3350,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21668316807213568
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3950,7 +3373,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -3962,27 +3384,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21672675497823216
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -3990,7 +3407,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4002,27 +3418,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21695855126676214
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4030,7 +3441,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4042,27 +3452,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21696752101198370
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4070,7 +3475,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4082,27 +3486,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21701854708980174
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4110,7 +3509,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4122,27 +3520,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21705644928765800
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4150,7 +3543,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4162,27 +3554,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21706452675254552
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4194,7 +3581,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4206,27 +3592,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21709795224992298
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4238,7 +3619,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4250,27 +3630,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21724091816847400
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4278,7 +3653,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4290,27 +3664,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21732181610132420
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4322,7 +3691,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4334,27 +3702,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21737775158534176
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4362,7 +3725,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4374,27 +3736,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21738761090841570
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4402,7 +3759,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4414,27 +3770,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21745487242921564
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4442,7 +3793,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4454,27 +3804,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21758506112687914
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4486,7 +3831,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4498,27 +3842,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21770831153649604
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4526,7 +3865,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4538,27 +3876,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21774372728878936
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4566,7 +3899,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4578,27 +3910,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21778934727406118
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4610,7 +3937,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4622,27 +3948,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21783431032102164
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4650,7 +3971,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4662,27 +3982,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21786341683153736
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4694,7 +4009,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4706,27 +4020,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21788043290438114
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Add-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4734,7 +4043,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4746,27 +4054,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21793963511044070
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4778,7 +4081,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4790,27 +4092,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21795397433206836
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4818,7 +4115,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4830,27 +4126,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21800671795679014
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4858,7 +4149,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4870,27 +4160,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21806928481719972
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Subtract-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4898,7 +4183,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4910,27 +4194,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21812566947609066
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4942,7 +4221,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4954,27 +4232,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21846284721920408
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -4982,7 +4255,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -4994,27 +4266,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21849905517297320
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5022,7 +4289,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5034,27 +4300,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21856943469927286
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5062,7 +4323,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5074,27 +4334,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21857184430936670
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5106,7 +4361,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5118,27 +4372,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21866767477205256
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Subtract-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5146,7 +4395,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5158,27 +4406,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21875683972062094
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Subtract
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5186,7 +4429,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5198,27 +4440,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21876982461912130
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill-FastBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5226,7 +4463,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5238,27 +4474,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21901242579300618
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Mono-Add
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5266,7 +4497,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5278,27 +4508,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21905403339881664
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5310,7 +4535,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5322,27 +4546,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21913035326537372
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5350,7 +4569,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5362,27 +4580,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21919113364331978
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Subtract-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5390,7 +4603,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5402,27 +4614,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21930548911372394
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Pixel-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5430,7 +4637,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5442,27 +4648,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21932619879041906
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Fill
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5470,7 +4671,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5482,27 +4682,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21936983168141514
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Cutoff-Add-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5510,7 +4705,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5522,27 +4716,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21960190213409036
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Hue-Fill-DetailBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5550,7 +4739,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5562,27 +4750,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &21970657036975932
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-MediumBlur
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 5
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5594,7 +4777,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5606,27 +4788,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &3053942024298246613
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Nega-Fill-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5638,7 +4815,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5650,27 +4826,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &6699891064212050928
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Grayscale-Fill-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5682,7 +4853,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5694,27 +4864,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &8212491840734312675
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Sepia-Fill-DetailBlur-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5726,7 +4891,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5738,27 +4902,22 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
 --- !u!21 &8343957003602954640
 Material:
-  serializedVersion: 8
+  serializedVersion: 6
   m_ObjectHideFlags: 9
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: UI-Effect-Fill-Ex
   m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
-  m_Parent: {fileID: 0}
-  m_ModifiedSerializedProperties: 0
-  m_ValidKeywords: []
-  m_InvalidKeywords: []
+  m_ShaderKeywords: 
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
   stringTagMap: {}
   disabledShaderPasses: []
-  m_LockedProperties: 
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
@@ -5770,7 +4929,6 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
-    m_Ints: []
     m_Floats:
     - _ColorMask: 15
     - _Stencil: 0
@@ -5782,4 +4940,3 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
   m_BuildTextureStacks: []
-  m_AllowLocking: 1
diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
index 72d7720c..94784696 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/FilterManager.cs
@@ -214,6 +214,8 @@ namespace AxibugEmuOnline.Client
 
             public void ReadyForJson()
             {
+                prepareCache();
+
                 m_paramName = m_paramName2ValueJson.Keys.ToList();
                 m_valueJson = m_paramName2ValueJson.Values.ToList();
             }
@@ -238,8 +240,17 @@ namespace AxibugEmuOnline.Client
                 }
                 else if (valueType.IsEnum)
                 {
-                    Enum.TryParse(valueType, rawStr,out var enumValue);
-                    return enumValue;
+                    var names = Enum.GetNames(valueType);
+                    var values = Enum.GetValues(valueType);
+
+                    for (int i = 0; i < names.Length; i++)
+                    {
+                        if (names[i].Equals(rawStr))
+                        {
+                            return values.GetValue(i);
+                        }
+                    }
+                    return null;
                 }
                 else
                 {
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta
index 3b91ead9..622411e7 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/InGameUI/InGameUI_FilterSetting.cs.meta
@@ -1,2 +1,11 @@
 fileFormatVersion: 2
-guid: b6c80949e93f37f42a1af843fa9d77fa
\ No newline at end of file
+guid: b6c80949e93f37f42a1af843fa9d77fa
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta
index 44c37b3d..551e6ed2 100644
--- a/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta
+++ b/AxibugEmuOnline.Client/Assets/Script/UI/OptionUI/OptionUI_ValueEditItem_FloatEdit.cs.meta
@@ -1,2 +1,11 @@
 fileFormatVersion: 2
-guid: 8c9e9868e38e8ea44a0dad03b987cd73
\ No newline at end of file
+guid: 8c9e9868e38e8ea44a0dad03b987cd73
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

From ee65797a6aa4ae9d02286be381711d6ffbc01669 Mon Sep 17 00:00:00 2001
From: "ALIENJACK\\alien" <wangshijie>
Date: Fri, 6 Dec 2024 18:09:29 +0800
Subject: [PATCH 9/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=9B=E5=85=A5?=
 =?UTF-8?q?=E6=88=BF=E9=97=B4=E6=97=B6,netreply=E4=B8=AD=E7=9A=84=E5=B8=A7?=
 =?UTF-8?q?=E6=95=B0=E6=9C=AA=E9=87=8D=E7=BD=AE=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs
index 40709268..5674f360 100644
--- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs
@@ -316,7 +316,7 @@ namespace AxibugEmuOnline.Client.Manager
         /// <param name="reqData"></param>
         void RecvLeavnRoom(byte[] reqData)
         {
-            App.log.Debug("加入房间成功");
+            App.log.Debug("离开房间成功");
             Protobuf_Room_Leave_RESP msg = ProtoBufHelper.DeSerizlize<Protobuf_Room_Leave_RESP>(reqData);
             ReleaseRePlay();
             mineRoomMiniInfo = null;
@@ -374,6 +374,7 @@ namespace AxibugEmuOnline.Client.Manager
                     byte[] decompressRawData = Helper.DecompressByteArray(msg.LoadStateRaw.ToByteArray());
                     App.log.Info($"收到即时存档数据 解压后;{decompressRawData.Length}");
                     RawData = decompressRawData;
+                    ReleaseRePlay();
                 }
                 Eventer.Instance.PostEvent(EEvent.OnRoomWaitStepChange, WaitStep);
             }