ok now it works i swear

ok now it works i swear

--- RelhaxModpack/RelhaxModpack/Windows/ModpackToolbox.xaml.cs
+++ RelhaxModpack/RelhaxModpack/Windows/ModpackToolbox.xaml.cs
@@ -2449,12 +2449,14 @@
                             zipIsNowEmpty = zip.Entries.Count == 0;
                             if (zipfileModified && !zipWasActuallyModified)
                                 throw new BadMemeException("Zip had instructions extracted but they wern't removed from the zip file. Hmmmmmmmmmm");
+                            if (!zipIsNowEmpty)
+                                zip.Save();
                         }
                     }
+                    string zipToDelete = packageToConvert.ZipFile;

                     if (zipfileModified)
                     {
-                        string zipToDelete = packageToConvert.ZipFile;
                         if (!zipIsNowEmpty)
                         {
                             ReportProgress("Zip file was modified, upload new one");
@@ -2462,23 +2464,24 @@
                             packageToConvert.UpdateZipfile(newZipfileName);

                             string uploadUrlString = string.Format("{0}{1}/{2}", PrivateStuff.BigmodsFTPRootWoT, databaseManagerDuplicateCheck.WoTOnlineFolderVersion, packageToConvert.ZipFile);
-                            JobProgressBar.Maximum = FileUtils.GetFilesize(packageToConvert.ZipFile);
+                            JobProgressBar.Maximum = FileUtils.GetFilesize(zipToDelete);
                             client.UploadProgressChanged += (__sender, args) =>
                             {
                                 JobProgressBar.Value = args.BytesSent;
                             };
-                            await client.UploadFileTaskAsync(uploadUrlString, packageToConvert.ZipFile);
+                            await client.UploadFileTaskAsync(uploadUrlString, zipToDelete);
                         }
                         else
                         {
                             ReportProgress("Zip is now empty");
                             packageToConvert.UpdateZipfile(string.Empty);
                         }
-                        File.Delete(zipToDelete);
                         databaseManagerDuplicateCheck.SaveDatabase(SelectModInfo.FileName, DatabaseManager.DocumentVersion1V2, XmlDatabaseComponent.SchemaV1Dot0);
                     }
                     else
                         ReportProgress("Zip file was not modified");
+
+                    File.Delete(zipToDelete);
                 }

                 File.Delete(LastInstructionConvertedPackageTxt);


Attempting to tune performance on hybrid.

--- SIMDPrototyping/Constraints/HybridPenetrationConstraint.cs
+++ SIMDPrototyping/Constraints/HybridPenetrationConstraint.cs
@@ -138,13 +138,61 @@
             b.AngularVelocity -= velocityChangeB;
         }

+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        void ApplyImpulse(ref Vector4 lambda)
+        {
+                var linearA = lambda * InverseMassA;
+                a0.LinearVelocity -= lambda.X * linearA0;
+                a1.LinearVelocity -= lambda.Y * linearA1;
+                a2.LinearVelocity -= lambda.Z * linearA2;
+                a3.LinearVelocity -= lambda.W * linearA3;
+
+                var linearB = lambda * InverseMassB;
+                b0.LinearVelocity -= lambda.X * linearB0;
+                b1.LinearVelocity -= lambda.Y * linearB1;
+                b2.LinearVelocity -= lambda.Z * linearB2;
+                b3.LinearVelocity -= lambda.W * linearB3;
+
+            var angularImpulseA0 = lambda.X * angularA0;
+            var angularImpulseA1 = lambda.Y * angularA1;
+            var angularImpulseA2 = lambda.Z * angularA2;
+            var angularImpulseA3 = lambda.W * angularA3;
+
+            Vector3 velocityChangeA0, velocityChangeA1, velocityChangeA2, velocityChangeA3;
+            Matrix3x3.Transform(ref angularImpulseA0, ref a0.InertiaTensorInverse, out velocityChangeA0);
+            Matrix3x3.Transform(ref angularImpulseA1, ref a1.InertiaTensorInverse, out velocityChangeA1);
+            Matrix3x3.Transform(ref angularImpulseA2, ref a2.InertiaTensorInverse, out velocityChangeA2);
+            Matrix3x3.Transform(ref angularImpulseA3, ref a3.InertiaTensorInverse, out velocityChangeA3);
+
+            a0.AngularVelocity -= lambda.X * angularA0;
+            a1.AngularVelocity -= lambda.Y * angularA1;
+            a2.AngularVelocity -= lambda.Z * angularA2;
+            a3.AngularVelocity -= lambda.W * angularA3;
+
+            var angularImpulseB0 = lambda.X * angularB0;
+            var angularImpulseB1 = lambda.Y * angularB1;
+            var angularImpulseB2 = lambda.Z * angularB2;
+            var angularImpulseB3 = lambda.W * angularB3;
+
+            Vector3 velocityChangeB0, velocityChangeB1, velocityChangeB2, velocityChangeB3;
+            Matrix3x3.Transform(ref angularImpulseB0, ref b0.InertiaTensorInverse, out velocityChangeB0);
+            Matrix3x3.Transform(ref angularImpulseB1, ref b1.InertiaTensorInverse, out velocityChangeB1);
+            Matrix3x3.Transform(ref angularImpulseB2, ref b2.InertiaTensorInverse, out velocityChangeB2);
+            Matrix3x3.Transform(ref angularImpulseB3, ref b3.InertiaTensorInverse, out velocityChangeB3);
+
+            b0.AngularVelocity -= lambda.X * angularB0;
+            b1.AngularVelocity -= lambda.Y * angularB1;
+            b2.AngularVelocity -= lambda.Z * angularB2;
+            b3.AngularVelocity -= lambda.W * angularB3;
+        }

         public void WarmStart()
         {
-            ApplyImpulse(ref a0, ref b0, ref linearA0, ref angularA0, ref linearB0, ref angularB0, AccumulatedImpulse.X);
-            ApplyImpulse(ref a1, ref b1, ref linearA1, ref angularA1, ref linearB1, ref angularB1, AccumulatedImpulse.Y);
-            ApplyImpulse(ref a2, ref b2, ref linearA2, ref angularA2, ref linearB2, ref angularB2, AccumulatedImpulse.Z);
-            ApplyImpulse(ref a3, ref b3, ref linearA3, ref angularA3, ref linearB3, ref angularB3, AccumulatedImpulse.W);
+            ApplyImpulse(ref AccumulatedImpulse);
+            //ApplyImpulse(ref a0, ref b0, ref linearA0, ref angularA0, ref linearB0, ref angularB0, AccumulatedImpulse.X);
+            //ApplyImpulse(ref a1, ref b1, ref linearA1, ref angularA1, ref linearB1, ref angularB1, AccumulatedImpulse.Y);
+            //ApplyImpulse(ref a2, ref b2, ref linearA2, ref angularA2, ref linearB2, ref angularB2, AccumulatedImpulse.Z);
+            //ApplyImpulse(ref a3, ref b3, ref linearA3, ref angularA3, ref linearB3, ref angularB3, AccumulatedImpulse.W);
         }


null fix

null fix

--- Shellscape.Common/UI/Preferences/PreferencesButtonGroup.cs
+++ Shellscape.Common/UI/Preferences/PreferencesButtonGroup.cs
@@ -42,8 +42,12 @@
 		protected override void OnSizeChanged(EventArgs e) {
 			base.OnSizeChanged(e);

-			if (!Visible || this.FindForm().WindowState == FormWindowState.Minimized) {
-				return;
+			Form form = this.FindForm();
+
+			if (form != null) {
+				if (!Visible || form.WindowState == FormWindowState.Minimized) {
+					return;
+				}
 			}

 			if (_background != null) {
@@ -55,7 +59,9 @@
 		}

 		protected override void OnPaint(PaintEventArgs e) {
-			e.Graphics.DrawImage(_background, 0, 0, _background.Width, _background.Height);
+			if (_background != null) {
+				e.Graphics.DrawImage(_background, 0, 0, _background.Width, _background.Height);
+			}

 			base.OnPaint(e);
 		}


RegisterUserTypeCondition UserChartPartDN

--- Signum.Engine.Extensions/ControlPanel/ControlPanelLogic.cs
+++ Signum.Engine.Extensions/ControlPanel/ControlPanelLogic.cs
@@ -37,7 +37,7 @@
                     {"UserQueryPart", typeof(UserQueryPartDN)},
                     {"LinkListPart", typeof(LinkListPartDN)},
                     {"CountSearchControlPart", typeof(CountSearchControlPartDN)},
-                });
+                });

                 sb.Include<ControlPanelDN>();

@@ -180,6 +180,9 @@

             TypeConditionLogic.Register<LinkListPartDN>(newEntityGroupKey,
                  llp => Database.Query<ControlPanelDN>().WhereCondition(newEntityGroupKey).Any(cp => cp.ContainsContent(llp)));
+
+            TypeConditionLogic.Register<UserChartPartDN>(newEntityGroupKey,
+                 llp => Database.Query<ControlPanelDN>().WhereCondition(newEntityGroupKey).Any(cp => cp.ContainsContent(llp)));
         }

         public static void RegisterRoleTypeCondition(SchemaBuilder sb, Enum newEntityGroupKey)
@@ -193,6 +196,9 @@
                  uq => Database.Query<ControlPanelDN>().WhereCondition(newEntityGroupKey).Any(cp => cp.ContainsContent(uq)));

             TypeConditionLogic.Register<LinkListPartDN>(newEntityGroupKey,
+                 uq => Database.Query<ControlPanelDN>().WhereCondition(newEntityGroupKey).Any(cp => cp.ContainsContent(uq)));
+
+            TypeConditionLogic.Register<UserChartPartDN>(newEntityGroupKey,
                  uq => Database.Query<ControlPanelDN>().WhereCondition(newEntityGroupKey).Any(cp => cp.ContainsContent(uq)));
         }


EntityOmniboxProvider fix

EntityOmniboxProvider fix

--- Signum.Windows.Extensions/Omnibox/EntityOmniboxProvider.cs
+++ Signum.Windows.Extensions/Omnibox/EntityOmniboxProvider.cs
@@ -39,7 +39,9 @@
                     }
                     else
                     {
-                        lines.Add(result.Lite.TryToString());
+                        string str = result.Lite.TryToString();
+                        if (str.HasText())
+                            lines.Add(str);
                     }
                 }
                 else


deneme

deneme

git-svn-id: 064f83f0501dee9700d744813c77fe6a23d30fa6@81 51353bd8-8dbf-4efe-9e6d-88ec6fb4063a

--- dotnet/hazelcast-net/proto/proto/ProtoSerializer.cs
+++ dotnet/hazelcast-net/proto/proto/ProtoSerializer.cs
@@ -6,6 +6,7 @@
 {
 	public class ProtoSerializer: ITypeSerializer
 	{
+		//comment
 		private StringSerializer stringSerializer = new StringSerializer();
 		public ProtoSerializer ()
 		{


wip tree

wip tree

--- Unity/ludum-dare-32-PixelStuff/Assets/Scripts/Tree/tree.cs
+++ Unity/ludum-dare-32-PixelStuff/Assets/Scripts/Tree/tree.cs
@@ -48,6 +48,10 @@
 			remaningSeconde -= Time.deltaTime;
 			fall ();
 		}
+
+		if (remaningSeconde < 0) {
+			state = TreeState.FALLEN;
+		}
 	}

 	void updatePosition(){
@@ -80,4 +84,8 @@
 		//trunk.transform.position = new Vector3 (trunk.transform.position.x + PositionXIteration * Time.deltaTime, trunk.transform.position.y + PositionYIteration * Time.deltaTime, 0);
 		trunk.transform.RotateAround (stump.transform.position, new Vector3 (0, 0, 1), RotationZIteration * Time.deltaTime);
 	}
+
+	public bool isFallen(){
+		return state == TreeState.FALLEN;
+	}
 }


Fixed javascript errors.

Fixed javascript errors.

--- Source/Applications/openXDA/openXDA/wwwroot/OpenSEE.cshtml
+++ Source/Applications/openXDA/openXDA/wwwroot/OpenSEE.cshtml
@@ -298,12 +298,12 @@
     <script type="text/javascript" src="./Scripts/jquery.blockUI.js"></script>
     <script type="text/javascript" src="./Scripts/jquery.multiselect.js"></script>
     <script type="text/javascript" src="./Scripts/jquery.multiselect.filter.js"></script>
-    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.js")"></script>
-    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.crosshair.js")"></script>
-    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.navigate.js")"></script>
-    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.resize.js")"></script>
-    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.selection.js")"></script>
-    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.time.js")"></script>
+    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.min.js")"></script>
+    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.crosshair.min.js")"></script>
+    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.navigate.min.js")"></script>
+    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.resize.min.js")"></script>
+    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.selection.min.js")"></script>
+    <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/flot/jquery.flot.time.min.js")"></script>
     <script type="text/javascript" src="@("@GSF/Web/Shared/Scripts/jquery.signalR.js")"></script>
     <script type="text/javascript" src="/signalr/hubs"></script>
     <script type="text/javascript" src="./Scripts/Site.js"></script>


Adding role "User" when new user register at the site

--- Source/Web/SportsBook.Web/Controllers/AccountController.cs
+++ Source/Web/SportsBook.Web/Controllers/AccountController.cs
@@ -193,8 +193,10 @@
                 }

                 var result = await this.UserManager.CreateAsync(user, model.Password);
+
                 if (result.Succeeded)
                 {
+                    this.UserManager.AddToRole(user.Id, "User");
                     await this.SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);

                     // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771


[Gtk] Fix text cell not being editable

[Gtk] Fix text cell not being editable

Setting CellRendererText.Editable to true would change the Mode
to Editable. However the code was then changing the Mode to
Activatable so the text cell could not be edited.

--- Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRendererText.cs
+++ Xwt.Gtk/Xwt.GtkBackend.CellViews/CustomCellRendererText.cs
@@ -58,7 +58,8 @@
 					cellRenderer.Attributes = new Pango.AttrList ();
 			}
 			cellRenderer.Editable = view.Editable;
-			cellRenderer.Mode = CellRendererMode.Activatable;
+			if (!cellRenderer.Editable)
+				cellRenderer.Mode = CellRendererMode.Activatable;
 			cellRenderer.Ellipsize = view.Ellipsize.ToGtkValue ();
 		}


Updated Namespy and Levelspy addresses.

Updated Namespy and Levelspy addresses.

--- tibiaapi/Addresses/Map.cs
+++ tibiaapi/Addresses/Map.cs
@@ -87,11 +87,12 @@
         /// <summary>
         /// NameSpy address 1.
         /// </summary>
-        public static uint NameSpy1 = 0x4DF469; // 8.1
+        public static uint NameSpy1 = 0x4E7A09; // 8.2
+
         /// <summary>
         /// NameSpy address 2.
         /// </summary>
-        public static uint NameSpy2 = 0x004DF473; // 8.1
+        public static uint NameSpy2 = 0x004E7A13; // 8.2

         /// <summary>
         /// Default value for Namespy1.
@@ -105,19 +106,22 @@
         /// <summary>
         /// Level spy address 1.
         /// </summary>
-        public static uint LevelSpy1 = 0x4E115A; // 8.1
+        public static uint LevelSpy1 = 0x4E974A; //8.2
+
         /// <summary>
         /// Level spy address 2.
         /// </summary>
-        public static uint LevelSpy2 = 0x4E125F; // 8.1
+        public static uint LevelSpy2 = 0x4E984F; //8.2
+
         /// <summary>
         /// Level spy address 3.
         /// </summary>
-        public static uint LevelSpy3 = 0x4E12E0; // 8.1
+        public static uint LevelSpy3 = 0x4E98D0; //8.2
+
         /// <summary>
         /// Level spy pointer.
         /// </summary>
-        public static uint LevelSpyPtr = 0x61B608; // 8.1
+        public static uint LevelSpyPtr = 0x629754; //8.2

         /// <summary>
         /// Defaults for level spy.


cleaning up server.cs - removing cruft from previous IronJS conversions

--- IronJS/server.cs
+++ IronJS/server.cs
@@ -45,7 +45,6 @@

 	private static List<string> requireStack = new List<string>();

-	// TODO: finish porting things like require()
 	// implements require() for importing js files/namespaces
 	public static IronJS.CommonObject Require( string file ) {

@@ -86,7 +85,6 @@
 		string code = new StreamReader( fs ).ReadToEnd();
 		// extra semicolon provided after file contents.. just in case
 		code = "var exports = {}; " + code + "; exports;";
-		// print( "evaluating require: " + code );
 		return ctx.Execute<IronJS.CommonObject>( code );
 	}

@@ -170,15 +168,12 @@
 		path = Directory.GetCurrentDirectory() + pathpart;
 		Console.WriteLine( "path of js file: " + path );

-		// set up 'puts' function
-        // Action<object> emit = ( obj ) => { Console.WriteLine( JsTypeConverter.ToString( obj ) ); };
 		var emit =
 		Utils.createHostFunction<Action<IronJS.BoxedValue>>(
 			ctx.Environment, ( obj ) => {
 				Console.WriteLine(IronJS.TypeConverter.ToString(obj) );
 			}
 		);
-		// ctx.PutGlobal("puts", emit );
 		ctx.SetGlobal<IronJS.FunctionObject>( "puts", emit );

 		var require =
@@ -204,14 +199,9 @@
 class net : IronJS.CommonObject
 {
 	public net( IronJS.Environment env ) : base( env, env.Maps.Base, env.Prototypes.Object ) {
-		// have to set context to satisfy IronJS Obj
-		// Env = env;
-		// Methods = Env.Methods.Object;
-
-		// SetOwnProperty( "createServer", new Fn_CreateServer( context ) );
+
 		var objMethod = Utils.createHostFunction<Func<IronJS.FunctionObject, IronJS.CommonObject>>(Env, CreateServer);
 		Console.WriteLine( objMethod );
-        // this.Methods.PutRefProperty(this, "createServer", objMethod, IronJS.TypeTags.Function);
 		this.Put( "createServer", objMethod );
 	}


Switching to a new API to detect platform.

--- src/dotnet/commands/dotnet-msbuild/MSBuildForwardingApp.cs
+++ src/dotnet/commands/dotnet-msbuild/MSBuildForwardingApp.cs
@@ -4,8 +4,8 @@
 using System;
 using System.Collections.Generic;
 using System.IO;
+using System.Runtime.InteropServices;
 using Microsoft.DotNet.Cli;
-using Microsoft.DotNet.Cli.Utils;

 namespace Microsoft.DotNet.Tools.MSBuild
 {
@@ -45,7 +45,7 @@

         private static string GetRunCscPath()
         {
-            var scriptExtension = RuntimeEnvironment.OperatingSystemPlatform == Platform.Windows ? ".cmd" : ".sh";
+            var scriptExtension = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".cmd" : ".sh";
             return Path.Combine(AppContext.BaseDirectory, $"RunCsc{scriptExtension}");
         }
     }


selection bug

selection bug

--- Assets/Urn.cs
+++ Assets/Urn.cs
@@ -35,6 +35,12 @@

     public void EnterGhostmode()
     {
+        if(_heldObject != null)
+        {
+            _heldObject.SetColor(Color.white);
+            _heldObject = null;
+        }
+
         _spriteRenderer.sprite = _ghostSprite;
         _dialog = _ghostDialogList[Random.Range(0, _ghostDialogList.Count)];
     }


Improved Diagnostic Reporting

Improved Diagnostic Reporting

--- Easy.Common/ApplicationHelper.cs
+++ Easy.Common/ApplicationHelper.cs
@@ -5,6 +5,7 @@
     using System.Diagnostics;
     using System.IO;
     using System.Linq;
+    using System.Runtime.InteropServices;
     using System.Text;
     using Easy.Common.Extensions;
     using Microsoft.Win32;
@@ -31,13 +32,31 @@
             DateTime.Now.Subtract(Process.GetCurrentProcess().StartTime);

         /// <summary>
-        /// Returns the system details on which the application executes.
+        /// Returns the details related to <c>System</c>, <c>Process</c>, <c>Assemblies</c>
+        /// and <c>Environment</c> on which the application executes.
         /// </summary>
-        /// <returns>The system details</returns>
-        public static string GetSystemDetails()
+        public static string GetDiagnosticReport()
         {
-            var details = new StringBuilder("Process, Assemblies, Environment & System Details:");
+            var details = new StringBuilder("Diagnostic Report:");
             details.AppendLine();
+
+            details.AppendLine(@"/------------------------------System-----------------------------\");
+            new[]
+                {
+                    $"OS Version: {Environment.OSVersion}",
+                    $"64Bit OS: {Environment.Is64BitOperatingSystem}",
+                    $"Runtime: {Environment.Version}",
+                    $"FQDN: {NetworkHelper.GetFQDN()}",
+                    $"Machine Name: {Environment.MachineName}",
+                    $"Installed RAM: {GetInstalledMemoryInMegaBytes():N0} MB",
+                    $"Processor: {GetProcessorName()}",
+                    $"Processor Count: {Environment.ProcessorCount}",
+                    $"Running as: {Environment.UserDomainName}\\{Environment.UserName}",
+                    $"Current Directory: {Environment.CurrentDirectory}"
+                }
+                .ForEach(x => details.AppendFormat("\t{0}{1}", x, Environment.NewLine));
+            details.AppendLine(@"\------------------------------System-----------------------------/");
+
             details.AppendLine(@"/-----------------------------Process-----------------------------\");
             using (var p = Process.GetCurrentProcess())
             {
@@ -81,23 +100,7 @@
                          counter++;
                      });
             details.AppendLine(@"\---------------------------Assemblies----------------------------/");
-
-            details.AppendLine(@"/---------------------------Environment---------------------------\");
-            new[]
-            {
-                $"OS Version: {Environment.OSVersion}",
-                $"64Bit OS: {Environment.Is64BitOperatingSystem}",
-                $"Runtime: {Environment.Version}",
-                $"FQDN: {NetworkHelper.GetFQDN()}",
-                $"Machine Name: {Environment.MachineName}",
-                $"Processor: {GetProcessorName()}",
-                $"Processor Count: {Environment.ProcessorCount}",
-                $"Running as: {Environment.UserDomainName}\\{Environment.UserName}",
-                $"Current Directory: {Environment.CurrentDirectory}"
-            }
-            .ForEach(x => details.AppendFormat("\t{0}{1}", x, Environment.NewLine));
-            details.AppendLine(@"\---------------------------Environment---------------------------/");
-
+
             details.AppendLine(@"/----------------------Environment Variables----------------------\");
             Environment.GetEnvironmentVariables()
                        .Cast<DictionaryEntry>()
@@ -164,5 +167,18 @@
             if (key == null) { return "Not Found"; }
             return key.GetValue("ProcessorNameString").ToString();
         }
+
+        private static long GetInstalledMemoryInMegaBytes()
+        {
+            GetPhysicallyInstalledSystemMemory(out var installedMemoryKb);
+            return installedMemoryKb / 1024;
+        }
+
+        /// <summary>
+        /// <see href="https://msdn.microsoft.com/en-us/library/windows/desktop/cc300158(v=vs.85).aspx"/>
+        /// </summary>
+        [DllImport("kernel32.dll")]
+        [return: MarshalAs(UnmanagedType.Bool)]
+        private static extern bool GetPhysicallyInstalledSystemMemory(out long totalMemoryInKilobytes);
     }
 }


Unit tests for suppressed and allowed hierarchy are finished.

--- ExpressWalker.Test/StressTest.cs
+++ ExpressWalker.Test/StressTest.cs
@@ -54,7 +54,6 @@
             //Arrange

             var visitor = TypeWalker<AllowedHierarchy>.Create().ForProperty<DateTime>((x, m) => DateTime.Now.AddYears(10)).Build(10, new PropertyGuard());
-
             var hierarchy = Builder<AllowedHierarchy>.CreateListOfSize(10).BuildHierarchy(new HierarchySpec<AllowedHierarchy>
             {
                 Depth = 5,
@@ -63,10 +62,15 @@
                 NumberOfRoots = 1,
                 AddMethod = (x1, x2) => x1.Child = x2
             }).First();
+            var values = new HashSet<PropertyValue>();

             //Act

+            visitor.Visit(hierarchy, depth: 10, guard: new InstanceGuard(), values: values);
+
             //Assert
+
+            Assert.AreEqual(6, values.Count);
         }

         [TestMethod]
@@ -75,7 +79,6 @@
             //Arrange

             var visitor = TypeWalker<SuppressedHierarchy>.Create().ForProperty<DateTime>((x, m) => DateTime.Now.AddYears(10)).Build(10, new PropertyGuard());
-
             var hierarchy = Builder<SuppressedHierarchy>.CreateListOfSize(10).BuildHierarchy(new HierarchySpec<SuppressedHierarchy>
             {
                 Depth = 5,
@@ -84,11 +87,15 @@
                 NumberOfRoots = 1,
                 AddMethod = (x1, x2) => x1.Child = x2
             }).First();
-
+            var values = new HashSet<PropertyValue>();

             //Act

+            visitor.Visit(hierarchy, depth: 10, guard: new InstanceGuard(), values: values);
+
             //Assert
+
+            Assert.AreEqual(3, values.Count);
         }

         private Document GetComplexSample()


Fix recurrent target removal confirmation

--- FigLeaf.Core/DirPairProcessor.cs
+++ FigLeaf.Core/DirPairProcessor.cs
@@ -74,7 +74,7 @@
 				_createdDirCount++;
 			}

-			ProcessDir(sourceDir, targetDir, cleanTargetConfirm, PackFile, cancellationToken);
+			ProcessDir(sourceDir, targetDir, cleanTargetConfirm, null, PackFile, cancellationToken);
 			LogSummary(true);
 		}

@@ -93,7 +93,7 @@
 			else if (targetDir.GetFiles().Length > 0 || targetDir.GetDirectories().Length > 0)
 				throw new ApplicationException(Properties.Resources.Core_FileProcessor_NonEmptyTargetDirError);

-			ProcessDir(sourceDir, targetDir, null, UnpackFile, cancellationToken);
+			ProcessDir(sourceDir, targetDir, null, null, UnpackFile, cancellationToken);
 			LogSummary(false);
 		}

@@ -121,6 +121,7 @@
 			DirectoryInfo sourceDir,
 			DirectoryInfo targetDir,
 			Func<string, bool> cleanTargetConfirm,
+			bool? cleanTargetConfirmResult,
 			Action<FileInfo, DirectoryInfo, ConcurrentBag<string>, CancellationToken> processFile,
 			CancellationToken cancellationToken)
 		{
@@ -145,7 +146,10 @@
 				{
 					if (!targetValidFileNames.Contains(targetFile.Name))
 					{
-						if (!cleanTargetConfirm(targetFile.FullName))
+						if (!cleanTargetConfirmResult.HasValue)
+							cleanTargetConfirmResult = cleanTargetConfirm(targetFile.FullName);
+
+						if (!cleanTargetConfirmResult.Value)
 							throw new ApplicationException(Properties.Resources.Core_FileProcessor_Cancel);

 						_logger.Log(true, string.Format(Properties.Resources.Core_FileProcessor_DeletingTargetFileWoSourceFormat, targetFile.Name));
@@ -173,7 +177,7 @@
 					_createdDirCount++;
 				}

-				ProcessDir(sourceSubDir, targetSubDir, cleanTargetConfirm, processFile, cancellationToken);
+				ProcessDir(sourceSubDir, targetSubDir, cleanTargetConfirm, cleanTargetConfirmResult, processFile, cancellationToken);
 			}

 			if (cancellationToken.IsCancellationRequested)
@@ -186,7 +190,10 @@
 				{
 					if (subDirs.All(d => d.Name != targetSubDir.Name))
 					{
-						if (!cleanTargetConfirm(targetSubDir.FullName))
+						if (!cleanTargetConfirmResult.HasValue)
+							cleanTargetConfirmResult = cleanTargetConfirm(targetSubDir.FullName);
+
+						if (!cleanTargetConfirmResult.Value)
 							throw new ApplicationException(Properties.Resources.Core_FileProcessor_Cancel);

 						int filesToRemove = targetSubDir.GetFiles(".", SearchOption.AllDirectories).Length;


redundant field

redundant field

--- FodyIsolated/AssemblyResolver.cs
+++ FodyIsolated/AssemblyResolver.cs
@@ -1,23 +1,20 @@
 using System;
 using System.Collections.Generic;
 using System.IO;
-using System.Linq;
 using Mono.Cecil;

 public class AssemblyResolver : IAssemblyResolver
 {
     Dictionary<string, string> referenceDictionary;
     ILogger logger;
-    List<string> splitReferences;
     Dictionary<string, AssemblyDefinition> assemblyDefinitionCache = new Dictionary<string, AssemblyDefinition>(StringComparer.InvariantCultureIgnoreCase);

     public AssemblyResolver(ILogger logger, IEnumerable<string> splitReferences)
     {
         referenceDictionary = new Dictionary<string, string>();
         this.logger = logger;
-        this.splitReferences = splitReferences.ToList();

-        foreach (var filePath in this.splitReferences)
+        foreach (var filePath in splitReferences)
         {
             referenceDictionary[GetAssemblyName(filePath)] = filePath;
         }


R# warning

R# warning

--- GPSLogger.Integration/Helpers.cs
+++ GPSLogger.Integration/Helpers.cs
@@ -17,7 +17,7 @@
             var baseDirectory = Path.Combine(startingLocation.Parent.Parent.Parent.Parent.FullName, typeof(Startup).Namespace);

             // Create a temp directory for this server to run from
-            var temp = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + " - " + Guid.NewGuid().ToString();
+            var temp = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + " - " + Guid.NewGuid();
             var contentRoot = Path.Combine(baseDirectory, "tests", temp);
             var contentRootDirectory = Directory.CreateDirectory(contentRoot);

@@ -33,10 +33,10 @@
                 {
                     "appsettings.json"
                 })
-                File.Copy(Path.Combine(baseDirectory, file), Path.Combine(contentRoot, file));
-
-                    // Spin up the server
-                    return new TestServer(
+                    File.Copy(Path.Combine(baseDirectory, file), Path.Combine(contentRoot, file));
+
+                // Spin up the server
+                return new TestServer(
                     new WebHostBuilder()
                     .UseContentRoot(contentRoot)
                     .UseStartup<Startup>()


fixes

fixes

--- Guerilla/Reflection/ClassInfo.cs
+++ Guerilla/Reflection/ClassInfo.cs
@@ -271,25 +271,25 @@
             {
                 if (item.IsArray)
                 {
-                    // variable byte array (data)
-                    if (Type.GetType(item.FieldTypeName) == typeof (byte) && item.ArraySize <= 0)
-                    {
-                        body.AppendFormatLine(
-                            "{0} = ReadDataByteArray(binaryReader, blamPointers.Dequeue());", item.Value.Name);
-                    }
-                    // variable short array (data)
-                    else if (Type.GetType(item.FieldTypeName) == typeof (short))
-                    {
-                        body.AppendFormatLine(
-                            "{0} = ReadDataShortArray(binaryReader, blamPointers.Dequeue());", item.Value.Name);
-                    }
                     // inline array
-                    else if (item.ArraySize > 0)
+                    if (item.ArraySize > 0 && Type.GetType(item.FieldTypeName) == typeof (byte))
                     {
                         for (var i = 0; i < item.ArraySize; i++)
                         {
                             body.AppendFormatLine("{0}[{1}].ReadPointers(binaryReader, blamPointers);", item.Value.Name, i);
                         }
+                    }
+                    // variable byte array (data)
+                    else if (Type.GetType(item.FieldTypeName) == typeof (byte) && item.ArraySize <= 0)
+                    {
+                        body.AppendFormatLine(
+                            "{0} = ReadDataByteArray(binaryReader, blamPointers.Dequeue());", item.Value.Name);
+                    }
+                    // variable short array (data)
+                    else if (Type.GetType(item.FieldTypeName) == typeof (short))
+                    {
+                        body.AppendFormatLine(
+                            "{0} = ReadDataShortArray(binaryReader, blamPointers.Dequeue());", item.Value.Name);
                     }
                     // assume a TagBlock
                     else


Made width values protected for Circle setter in FRB.

--- GumRuntime/GraphicalUiElement.cs
+++ GumRuntime/GraphicalUiElement.cs
@@ -64,8 +64,8 @@

         float mX;
         float mY;
-        float mWidth;
-        float mHeight;
+        protected float mWidth;
+        protected float mHeight;
         float mRotation;

         static float mCanvasWidth = 800;


not lenght by offset was incorrect for 290 voltagetable

--- HawaiBiosEdit/MainWindow.xaml.cs
+++ HawaiBiosEdit/MainWindow.xaml.cs
@@ -22,7 +22,7 @@
         Byte[] buffer; // whole rom
         Byte[] PowerTablepattern = new byte[] { 0x03, 0xe8, 0x03, 0x58 }; // pattern to search for in buffer
         int powerTablePosition; // start position of powertable in rom
-        short voltagetablesize = 24; // 290 have different voltagetablesize than 390X (or its maybe moved by 6 bits this needs test)
+        short voltagetableoffset = 319; // 290 have different voltagetable offset than 390

         public MainWindow()
@@ -75,11 +75,11 @@
                         {
                             case 660:
                                 powerTablesize.Text = powerTablesize.Text + " - R9 390/390X";
-                                voltagetablesize = 24;
+                                voltagetableoffset = 319;
                                 break;
                             case 648:
                                 powerTablesize.Text = powerTablesize.Text + " - R9 290/290X";
-                                voltagetablesize = 18;
+                                voltagetableoffset = 307;
                                 break;
                             case 642:
                                 powerTablesize.Text = powerTablesize.Text + " - PT1/PT3 bios";
@@ -104,9 +104,9 @@

                         // read voltage table
                         voltagetable.Text = "";
-                        for (int i = 0; i < voltagetablesize; i++)
+                        for (int i = 0; i < 24; i++)
                         {
-                            voltagetable.Text = voltagetable.Text + get16BitValueFromPosition(powerTablePosition + 319 + (i * 2), buffer, false) + " mV" + System.Environment.NewLine;
+                            voltagetable.Text = voltagetable.Text + get16BitValueFromPosition(powerTablePosition + voltagetableoffset + (i * 2), buffer, false) + " mV" + System.Environment.NewLine;
                         }
                         // memory frequency table?
                         frequencytable.Text = "";


v4.2.4.1 (corrected SafelyGetModPlayer(...))

--- Helpers/TmlHelpers/TmlHelpers.cs
+++ Helpers/TmlHelpers/TmlHelpers.cs
@@ -3,6 +3,7 @@
 using HamstarHelpers.Helpers.DotNetHelpers;
 using System;
 using System.Collections.Generic;
+using System.Reflection;
 using System.Threading;
 using Terraria;
 using Terraria.Graphics.Capture;
@@ -131,10 +132,12 @@
 		public static ModPlayer SafelyGetModPlayer( Player player, Mod mod, string modPlayerName ) {	// Solely for Main.LocalPlayer?
 			ModPlayer[] modPlayers;
 			if( ReflectionHelpers.Get(player, "modPlayers", out modPlayers) || modPlayers.Length == 0 ) {
-				object _;
-				if( !ReflectionHelpers.RunMethod( player, "SetupPlayer", new object[] { player }, out _ ) ) {
-					throw new HamstarException( "Could not run SetupPlayer for "+(player?.name??"null player") );
+				MethodInfo setupPlayerMethod = typeof( PlayerHooks ).GetMethod( "SetupPlayer", ReflectionHelpers.MostAccess );
+				if( setupPlayerMethod == null ) {
+					throw new HamstarException( "Could not run SetupPlayer for " + ( player?.name ?? "null player" ) );
 				}
+
+				setupPlayerMethod.Invoke( null, new object[] { player } );
 			}

 			return player.GetModPlayer( mod, modPlayerName );


Minor fixes

Minor fixes

--- Hermod/HTTP/Server/HTTPServer.cs
+++ Hermod/HTTP/Server/HTTPServer.cs
@@ -1481,7 +1481,7 @@

                                     #endregion

-                                    #region Call AccessLog delegate
+                                    #region Call ResponseLog delegate

                                     if ( HttpRequest  != null &&
                                         _HTTPResponse != null)
@@ -2202,10 +2202,10 @@
         /// Return the best matching method handler for the given parameters.
         /// </summary>
         internal Handlers GetHandlers(HTTPHostname                              Host,
-                                          HTTPURI                                   URI,
-                                          HTTPMethod?                               Method                       = null,
-                                          Func<HTTPContentType[], HTTPContentType>  HTTPContentTypeSelector      = null,
-                                          Action<IEnumerable<String>>               ParsedURIParametersDelegate  = null)
+                                      HTTPURI                                   URI,
+                                      HTTPMethod?                               Method                       = null,
+                                      Func<HTTPContentType[], HTTPContentType>  HTTPContentTypeSelector      = null,
+                                      Action<IEnumerable<String>>               ParsedURIParametersDelegate  = null)
         {

             URI                      = URI.IsNullOrEmpty()      ? HTTPURI.Parse("/") : URI;


Bug fixed: コレクションにnullが含まれる場合にエラーが発生する問題を解消。

--- Implem.DefinitionAccessor/Def.cs
+++ Implem.DefinitionAccessor/Def.cs
@@ -208,14 +208,9 @@
         private static List<SqlStatement> SqlStatementCollection(
             params SqlStatement[] statements)
         {
-            if (statements == null)
-            {
-                return new List<SqlStatement>();
-            }
-            else
-            {
-                return statements.ToList();
-            }
+            return statements == null
+                ? new List<SqlStatement>()
+                : statements.Where(o => o != null).ToList();
         }

         public static Func<ColumnDefinition, bool> IsNullCaseToTrue(
@@ -310,6 +305,7 @@
                     case "Model_InsertIdentitySet": Code.Model_InsertIdentitySet = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_InsertIdentitySet, definitionRow, CodeXls); break;
                     case "Model_Update": Code.Model_Update = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_Update, definitionRow, CodeXls); break;
                     case "Model_UpdateParams": Code.Model_UpdateParams = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_UpdateParams, definitionRow, CodeXls); break;
+                    case "Model_Update_Sites": Code.Model_Update_Sites = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_Update_Sites, definitionRow, CodeXls); break;
                     case "Model_UpdateRelatedRecords": Code.Model_UpdateRelatedRecords = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_UpdateRelatedRecords, definitionRow, CodeXls); break;
                     case "Model_OnUpdatedNotice": Code.Model_OnUpdatedNotice = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_OnUpdatedNotice, definitionRow, CodeXls); break;
                     case "Model_OnUpdated_Depts": Code.Model_OnUpdated_Depts = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_OnUpdated_Depts, definitionRow, CodeXls); break;
@@ -625,6 +621,8 @@
                     case "SiteSettings_GetModels_Items": Code.SiteSettings_GetModels_Items = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_GetModels_Items, definitionRow, CodeXls); break;
                     case "SiteSettings_GetModels_Items_Choices": Code.SiteSettings_GetModels_Items_Choices = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_GetModels_Items_Choices, definitionRow, CodeXls); break;
                     case "SiteSettings_GetModels_Includes": Code.SiteSettings_GetModels_Includes = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_GetModels_Includes, definitionRow, CodeXls); break;
+                    case "SiteSettings_UpdateTitles": Code.SiteSettings_UpdateTitles = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_UpdateTitles, definitionRow, CodeXls); break;
+                    case "SiteSettings_UpdateTitles_TableCases": Code.SiteSettings_UpdateTitles_TableCases = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_UpdateTitles_TableCases, definitionRow, CodeXls); break;
                     case "View": Code.View = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.View, definitionRow, CodeXls); break;
                     case "View_Search_TableCases": Code.View_Search_TableCases = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.View_Search_TableCases, definitionRow, CodeXls); break;
                     case "View_Sorter_TableCases": Code.View_Sorter_TableCases = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.View_Sorter_TableCases, definitionRow, CodeXls); break;
@@ -3213,6 +3211,7 @@
         public string Model_InsertIdentitySet;
         public string Model_Update;
         public string Model_UpdateParams;
+        public string Model_Update_Sites;
         public string Model_UpdateRelatedRecords;
         public string Model_OnUpdatedNotice;
         public string Model_OnUpdated_Depts;
@@ -3528,6 +3527,8 @@
         public string SiteSettings_GetModels_Items;
         public string SiteSettings_GetModels_Items_Choices;
         public string SiteSettings_GetModels_Includes;
+        public string SiteSettings_UpdateTitles;
+        public string SiteSettings_UpdateTitles_TableCases;
         public string View;
         public string View_Search_TableCases;
         public string View_Sorter_TableCases;
@@ -3649,6 +3650,7 @@
         public CodeDefinition Model_InsertIdentitySet = new CodeDefinition();
         public CodeDefinition Model_Update = new CodeDefinition();
         public CodeDefinition Model_UpdateParams = new CodeDefinition();
+        public CodeDefinition Model_Update_Sites = new CodeDefinition();
         public CodeDefinition Model_UpdateRelatedRecords = new CodeDefinition();
         public CodeDefinition Model_OnUpdatedNotice = new CodeDefinition();
         public CodeDefinition Model_OnUpdated_Depts = new CodeDefinition();
@@ -3964,6 +3966,8 @@
         public CodeDefinition SiteSettings_GetModels_Items = new CodeDefinition();
         public CodeDefinition SiteSettings_GetModels_Items_Choices = new CodeDefinition();
         public CodeDefinition SiteSettings_GetModels_Includes = new CodeDefinition();
+        public CodeDefinition SiteSettings_UpdateTitles = new CodeDefinition();
+        public CodeDefinition SiteSettings_UpdateTitles_TableCases = new CodeDefinition();
         public CodeDefinition View = new CodeDefinition();
         public CodeDefinition View_Search_TableCases = new CodeDefinition();
         public CodeDefinition View_Sorter_TableCases = new CodeDefinition();


git-svn-id: https://jumony.svn.codeplex.com/svn/trunk@69248 2327b42d-5241-43d6-9e2a-de5ac946f064

--- Ivony.Html.Parser/DomProvider.cs
+++ Ivony.Html.Parser/DomProvider.cs
@@ -18,7 +18,7 @@
     }

-    private static IDomContainer EnsureDomContainer( IHtmlContainer container )
+    internal static IDomContainer EnsureDomContainer( IHtmlContainer container )
     {
       var domContainer = container as IDomContainer;

@@ -62,5 +62,19 @@
     }

+
+    #region IHtmlDomProvider 成员
+
+
+    public IHtmlDocument CompleteDocument( IHtmlDocument document )
+    {
+      var domDocument = document as DomDocument;
+      if ( domDocument == null )
+        throw new InvalidOperationException();
+
+      return domDocument;
+    }
+
+    #endregion
   }
 }


Output when an assembly is delay-signed or test-signed.

--- ListBinaryInfo/ListBinaryInfo.cs
+++ ListBinaryInfo/ListBinaryInfo.cs
@@ -253,8 +253,7 @@
             return;
         }

-        if (text.Contains("delay") ||
-            text.Contains("Copyright") ||
+        if (text.Contains("Copyright") ||
             text.Contains("(R)") ||
             text.Contains("Version ") ||
             text.Contains("CLR Header") ||
@@ -279,6 +278,12 @@
             return;
         }

+        if (text.Contains("is a delay-signed or test-signed"))
+        {
+            current.FullSigned = "Delay-signed or test-signed";
+            return;
+        }
+
         if (text.Contains("32BITREQ  : 1"))
         {
             current.Architecture = "x86";


the official zip specification says paths in ZIP files should be slashes, not backslashes. Some operating systems <cough>OSX</cough> don't like backslashes in ZIP files

--- src/nbuildkit/tasks/nBuildKit.MsBuild.Tasks/Package/Zip.cs
+++ src/nbuildkit/tasks/nBuildKit.MsBuild.Tasks/Package/Zip.cs
@@ -43,8 +43,18 @@
                     {
                         foreach (var relativePath in list)
                         {
-                            Log.LogMessage(MessageImportance.Low, string.Format(CultureInfo.InvariantCulture, "Adding: {0}. Storing as: {1}", filePath, relativePath));
-                            var archiveEntry = archive.CreateEntry(relativePath);
+                            // According to the ZIP specification 'directories' in ZIP files should be
+                            // separated by forward slashes (/), not backslashes (\). On a Windows OS
+                            // it doesn't matter but on a Unix OS it does.
+                            var path = relativePath.Replace("\\", "/");
+                            Log.LogMessage(
+                                MessageImportance.Low,
+                                string.Format(
+                                    CultureInfo.InvariantCulture,
+                                    "Adding: {0}. Storing as: {1}",
+                                    filePath,
+                                    path));
+                            var archiveEntry = archive.CreateEntry(path);

                             using (var zipStream = archiveEntry.Open())
                             {


[Android] Internal keyboard hide/show should handle null views (#418)

* Check for null input view before trying to hide keyboard

* Adding null check to ShowKeyboard

* change to throw an exception

--- Xamarin.Forms.Platform.Android/KeyboardManager.cs
+++ Xamarin.Forms.Platform.Android/KeyboardManager.cs
@@ -14,14 +14,15 @@
 			if (Forms.Context == null)
 				throw new InvalidOperationException("Call Forms.Init() before HideKeyboard");

+			if (inputView == null)
+				throw new ArgumentNullException(nameof(inputView) + " must be set before the keyboard can be hidden.");
+
 			using (var inputMethodManager = (InputMethodManager)Forms.Context.GetSystemService(Context.InputMethodService))
 			{
-				IBinder windowToken = null;
-
 				if (!overrideValidation && !(inputView is EditText || inputView is TextView || inputView is SearchView))
 					throw new ArgumentException("inputView should be of type EditText, SearchView, or TextView");

-				windowToken = inputView.WindowToken;
+				IBinder windowToken = inputView.WindowToken;
 				if (windowToken != null)
 					inputMethodManager.HideSoftInputFromWindow(windowToken, HideSoftInputFlags.None);
 			}
@@ -31,6 +32,9 @@
 		{
 			if (Forms.Context == null)
 				throw new InvalidOperationException("Call Forms.Init() before ShowKeyboard");
+
+			if (inputView == null)
+				throw new ArgumentNullException(nameof(inputView) + " must be set before the keyboard can be shown.");

 			using (var inputMethodManager = (InputMethodManager)Forms.Context.GetSystemService(Context.InputMethodService))
 			{


Newly generated file

Newly generated file

--- src/FruitToLime/schema0.cs
+++ src/FruitToLime/schema0.cs
@@ -9,429 +9,411 @@
 //------------------------------------------------------------------------------

 //
-// This source code was auto-generated by xsd, Version=4.0.30319.1.
+// This source code was auto-generated by xsd, Version=4.0.30319.33440.
 //
-namespace FruitToLime
-{
+namespace FruitToLime {
     using System.Xml.Serialization;
-
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = true)]
-    public partial class GoImport
-    {
-
+
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
+    public partial class GoImport {
+
         /// <remarks/>
         public Organization[] Organizations;
-
+
         /// <remarks/>
         public Coworker[] Coworkers;
-
+
         /// <remarks/>
         public Deal[] Deals;
-
+
         /// <remarks/>
         public Note[] Notes;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class Organization
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
-        /// <remarks/>
-        public string ExternalLink;
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class Organization {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
         /// <remarks/>
         public ReferenceToSource Source;
-
+
         /// <remarks/>
         public string Name;
-
+
         /// <remarks/>
         public string OrganizationNumber;
-
+
         /// <remarks/>
         public Address PostalAddress;
-
+
         /// <remarks/>
         public Address VisitAddress;
-
+
         /// <remarks/>
         public string CentralPhoneNumber;
-
+
         /// <remarks/>
         public string FaxPhoneNumber;
-
+
         /// <remarks/>
         public string MobilePhoneNumber;
-
+
         /// <remarks/>
         public string Email;
-
+
         /// <remarks/>
         public string WebSite;
-
+
         /// <remarks/>
         public Person[] Employees;
-
+
         /// <remarks/>
         public CustomField[] CustomFields;
-
+
         /// <remarks/>
         [System.Xml.Serialization.XmlArrayItemAttribute("Tag")]
         public string[] Tags;
-
+
         /// <remarks/>
         public CoworkerReference ResponsibleCoworker;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class ReferenceToSource
-    {
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class ReferenceToSource {
+
         /// <remarks/>
         public string Name;
-
+
         /// <remarks/>
         public ReferenceFormat Format;
-
-        /// <remarks/>
-        public string Id;
-    }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    public enum ReferenceFormat
-    {
-
+
+        /// <remarks/>
+        public string Id;
+    }
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    public enum ReferenceFormat {
+
         /// <remarks/>
         Internal,
-
+
         /// <remarks/>
         External,
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class DealReference
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class DealReference {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
         /// <remarks/>
         public string Heading;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class Note
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class Note {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
         /// <remarks/>
         public System.DateTime Date;
-
+
         /// <remarks/>
         public string Text;
-
+
         /// <remarks/>
         public string Classification;
-
+
         /// <remarks/>
         public System.DateTime DateCreated;
-
+
         /// <remarks/>
         public CoworkerReference CreatedBy;
-
+
         /// <remarks/>
         public OrganizationReference Organization;
-
+
         /// <remarks/>
         public DealReference Deal;
-
+
         /// <remarks/>
         public PersonReference Person;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class CoworkerReference
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class CoworkerReference {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
         /// <remarks/>
         public string Heading;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class OrganizationReference
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class OrganizationReference {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
         /// <remarks/>
         public string Heading;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class PersonReference
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class PersonReference {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
         /// <remarks/>
         public string Heading;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class Status
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public int Assessment;
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class Status {
+
+        /// <remarks/>
+        public string Id;
+
         /// <remarks/>
         public string Label;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class Deal
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class Deal {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
         /// <remarks/>
         public string Name;
-
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)]
+
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
         public System.Nullable<System.DateTime> OfferDate;
-
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)]
+
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
         public System.Nullable<System.DateTime> OrderDate;
-
+
         /// <remarks/>
         public OrganizationReference Customer;
-
+
         /// <remarks/>
         public Status Status;
-
+
         /// <remarks/>
         public string Description;
-
+
         /// <remarks/>
         public int Probability;
-
+
         /// <remarks/>
         public long Value;
-
+
         /// <remarks/>
         public PersonReference CustomerContact;
-
+
         /// <remarks/>
         public CoworkerReference ResponsibleCoworker;
-
-        /// <remarks/>
-        public CustomField[] CustomFields;
-    }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class CustomField
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
-        /// <remarks/>
-        public string Title;
-
-        /// <remarks/>
-        public string Value;
-    }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class Coworker
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
-        /// <remarks/>
-        public string Email;
-
-        /// <remarks/>
-        public string FirstName;
-
-        /// <remarks/>
-        public string LastName;
-    }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class Person
-    {
-
-        /// <remarks/>
-        public string Id;
-
-        /// <remarks/>
-        public string IntegrationId;
-
-        /// <remarks/>
-        public ReferenceToSource Source;
-
-        /// <remarks/>
-        public string FirstName;
-
-        /// <remarks/>
-        public string LastName;
-
-        /// <remarks/>
-        public string DirectPhoneNumber;
-
-        /// <remarks/>
-        public string FaxPhoneNumber;
-
-        /// <remarks/>
-        public string MobilePhoneNumber;
-
-        /// <remarks/>
-        public string HomePhoneNumber;
-
-        /// <remarks/>
-        public string Position;
-
+
         /// <remarks/>
         [System.Xml.Serialization.XmlArrayItemAttribute("Tag")]
         public string[] Tags;
-
+
+        /// <remarks/>
+        public CustomField[] CustomFields;
+    }
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class CustomField {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
+        /// <remarks/>
+        public string Title;
+
+        /// <remarks/>
+        public string Value;
+    }
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class Coworker {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
         /// <remarks/>
         public string Email;
-
+
+        /// <remarks/>
+        public string FirstName;
+
+        /// <remarks/>
+        public string LastName;
+    }
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class Person {
+
+        /// <remarks/>
+        public string Id;
+
+        /// <remarks/>
+        public string IntegrationId;
+
+        /// <remarks/>
+        public ReferenceToSource Source;
+
+        /// <remarks/>
+        public string FirstName;
+
+        /// <remarks/>
+        public string LastName;
+
+        /// <remarks/>
+        public string DirectPhoneNumber;
+
+        /// <remarks/>
+        public string FaxPhoneNumber;
+
+        /// <remarks/>
+        public string MobilePhoneNumber;
+
+        /// <remarks/>
+        public string HomePhoneNumber;
+
+        /// <remarks/>
+        public string Position;
+
+        /// <remarks/>
+        [System.Xml.Serialization.XmlArrayItemAttribute("Tag")]
+        public string[] Tags;
+
+        /// <remarks/>
+        public string Email;
+
         /// <remarks/>
         public string AlternativeEmail;
-
+
         /// <remarks/>
         public Address PostalAddress;
-
+
         /// <remarks/>
         public bool CurrentlyEmployed;
-
+
         /// <remarks/>
         public CustomField[] CustomFields;
     }
-
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    public partial class Address
-    {
-
+
+    /// <remarks/>
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
+    [System.SerializableAttribute()]
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.ComponentModel.DesignerCategoryAttribute("code")]
+    public partial class Address {
+
         /// <remarks/>
         public string Street;
-
+
         /// <remarks/>
         public string ZipCode;
-
+
         /// <remarks/>
         public string City;
-
+
         /// <remarks/>
         public string CountryCode;
-
+
         /// <remarks/>
         public string Location;
     }


AggregateCount BUG

AggregateCount BUG

--- Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/SqlFunc.cs
+++ Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/SqlFunc.cs
@@ -100,7 +100,7 @@
         public static TResult AggregateAvg<TResult>(TResult thisValue) { throw new NotSupportedException("Can only be used in expressions"); }
         public static TResult AggregateMin<TResult>(TResult thisValue) { throw new NotSupportedException("Can only be used in expressions"); }
         public static TResult AggregateMax<TResult>(TResult thisValue) { throw new NotSupportedException("Can only be used in expressions"); }
-        public static TResult AggregateCount<TResult>(TResult thisValue) { throw new NotSupportedException("Can only be used in expressions"); }
+        public static int AggregateCount(int thisValue) { throw new NotSupportedException("Can only be used in expressions"); }
         public static TResult MappingColumn<TResult>(TResult oldColumnName,string newColumnName) { throw new NotSupportedException("Can only be used in expressions"); }
         /// <summary>
         ///Example: new NewT(){name=SqlFunc.GetSelfAndAutoFill(it)}  Generated SQL   it.*


Fix after rebase

Fix after rebase

--- Src/VisualAssertions/Screenshots/VisualAssertionsConfig.cs
+++ Src/VisualAssertions/Screenshots/VisualAssertionsConfig.cs
@@ -1,5 +1,6 @@
 using System;
 using Tellurium.VisualAssertions.Screenshots.Service;
+using Tellurium.VisualAssertions.Screenshots.Service.ComparisonStrategies;

 namespace Tellurium.VisualAssertions.Screenshots
 {


Viewer: Added 'x' to show covered tiles HUD text

--- Mzinga.Viewer/MainWindow.xaml.cs
+++ Mzinga.Viewer/MainWindow.xaml.cs
@@ -352,7 +352,7 @@
                     }
                 }

-                // Translate everything on the board
+                // Translate all game elements on the board
                 double boardWidth = Math.Abs(maxPoint.X - minPoint.X);
                 double boardHeight = Math.Abs(maxPoint.Y - minPoint.Y);

@@ -384,6 +384,23 @@
                 CanvasOffsetY = offsetY;

                 VM.CanvasHexRadius = size;
+
+                // Add HUD elements
+
+                // Add lift text
+                if (maxStack > 0)
+                {
+                    Border liftBorder = new Border() { Width = BoardCanvas.ActualWidth, Height = BoardCanvas.ActualHeight };
+
+                    TextBlock liftText = new TextBlock();
+                    liftText.HorizontalAlignment = HorizontalAlignment.Center;
+                    liftText.VerticalAlignment = VerticalAlignment.Bottom;
+                    liftText.Text = "Press 'x' to show covered tiles.";
+
+                    liftBorder.Child = liftText;
+
+                    BoardCanvas.Children.Add(liftBorder);
+                }
             }

             LastBoard = board;


Add missing DLLs in release packages exporter

--- UnityProject/Assets/Scripts/Editor/ExportReleasePackage.cs
+++ UnityProject/Assets/Scripts/Editor/ExportReleasePackage.cs
@@ -17,13 +17,19 @@
 				"Assets/Plugins/Editor/CotcSdk-Editor.dll",
 				"Assets/Plugins/Editor/CotcSdk-Editor.xml",
 				"Assets/Plugins/WSA/CotcSdk-UW.dll",
-				"Assets/Plugins/WSA/CotcSdk-UW.xml",
+				"Assets/Plugins/WSA/CotcSdk-UW.xml"
 			}
 		},
 		{
 			"CotcSdk.FacebookIntegration.unitypackage",
 			new string[] {
-				"Assets/Cotc.FacebookIntegration"
+				"Assets/Cotc.FacebookIntegration",
+				"Assets/Plugins/CotcSdk.dll",
+				"Assets/Plugins/CotcSdk.xml",
+				"Assets/Plugins/Editor/CotcSdk-Editor.dll",
+				"Assets/Plugins/Editor/CotcSdk-Editor.xml",
+				"Assets/Plugins/WSA/CotcSdk-UW.dll",
+				"Assets/Plugins/WSA/CotcSdk-UW.xml"
 			}
 		},
 		{
@@ -37,6 +43,12 @@
                 "Assets/Plugins/Android/com.android.support.support-v4-26.1.0.aar",
                 "Assets/Plugins/Android/Cotc.InAppPurchase.aar",
 				"Assets/Plugins/iOS/libCotcInappPurchase.a",
+				"Assets/Plugins/CotcSdk.dll",
+				"Assets/Plugins/CotcSdk.xml",
+				"Assets/Plugins/Editor/CotcSdk-Editor.dll",
+				"Assets/Plugins/Editor/CotcSdk-Editor.xml",
+				"Assets/Plugins/WSA/CotcSdk-UW.dll",
+				"Assets/Plugins/WSA/CotcSdk-UW.xml"
 			}
 		},
 		{
@@ -63,7 +75,13 @@
 				"Assets/Plugins/Android/res/drawable-xhdpi/ic_stat_ic_notification.png",
 				"Assets/Plugins/Android/res/drawable-xhdpi-v11/ic_stat_ic_notification.png",
 				"Assets/Plugins/Android/res/drawable-xxhdpi/ic_stat_ic_notification.png",
-				"Assets/Plugins/Android/res/drawable-xxhdpi-v11/ic_stat_ic_notification.png"
+				"Assets/Plugins/Android/res/drawable-xxhdpi-v11/ic_stat_ic_notification.png",
+				"Assets/Plugins/CotcSdk.dll",
+				"Assets/Plugins/CotcSdk.xml",
+				"Assets/Plugins/Editor/CotcSdk-Editor.dll",
+				"Assets/Plugins/Editor/CotcSdk-Editor.xml",
+				"Assets/Plugins/WSA/CotcSdk-UW.dll",
+				"Assets/Plugins/WSA/CotcSdk-UW.xml"
 			}
 		}
 	};


When Gibbing it forces the player into a ghost, checks if the player is alive in a clone body

--- UnityProject/Assets/Scripts/Player/PlayerNetworkActions.cs
+++ UnityProject/Assets/Scripts/Player/PlayerNetworkActions.cs
@@ -415,7 +415,7 @@
 	[Server]
 	public void ServerSpawnPlayerGhost()
 	{
-		if (GetComponent<LivingHealthBehaviour>().IsDead && !playerScript.IsGhost)
+		if (GetComponent<LivingHealthBehaviour>().IsDead && !playerScript.IsDeadOrGhost)
 		{
 			PlayerSpawn.ServerSpawnGhost(playerScript.mind);
 		}


stash1

--- src/modeler/AutoRest.Swagger.Tests/SwaggerModelerValidationTests.cs
+++ src/modeler/AutoRest.Swagger.Tests/SwaggerModelerValidationTests.cs
@@ -250,4 +250,4 @@
     }

     #endregion
-}
+}


Created a method to create instances of the ISetStateCommand on the IStateRepository class.

--- src/base/common/data/repositories/IStateRepository.cs
+++ src/base/common/data/repositories/IStateRepository.cs
@@ -19,5 +19,17 @@
     /// The newly create <see cref="IStateByNameQuery"/> query.
     /// </returns>
     IStateByNameQuery Query(out IStateByNameQuery query);
+
+    /// <summary>
+    /// Creates a query that associates a string representing a state with a
+    /// given name.
+    /// </summary>
+    /// <param name="query">
+    /// The newly create <see cref="ISetStateCommand"/> query.
+    /// </param>
+    /// <returns>
+    /// The newly create <see cref="ISetStateCommand"/> query.
+    /// </returns>
+    ISetStateCommand Query(out ISetStateCommand query);
   }
 }


Add some checking around android forms touch focus

--- ZXing.Net.Mobile.Forms/ZXingScannerViewRenderer.android.cs
+++ ZXing.Net.Mobile.Forms/ZXingScannerViewRenderer.android.cs
@@ -112,17 +112,32 @@
 					break;
 			}
 		}
+
+        volatile bool isHandlingTouch = false;

 		public override bool OnTouchEvent(MotionEvent e)
 		{
-			var x = e.GetX();
-			var y = e.GetY();
+			if (!isHandlingTouch)
+			{
+				isHandlingTouch = true;

-			if (zxingSurface != null)
-			{
-				zxingSurface.AutoFocus((int)x, (int)y);
-				System.Diagnostics.Debug.WriteLine("Touch: x={0}, y={1}", x, y);
+				try
+				{
+					var x = e.GetX();
+					var y = e.GetY();
+
+					if (Control != null)
+					{
+						Control.AutoFocusAsync((int)x, (int)y);
+						Logger.Info($"Touch: x={x}, y={y}");
+					}
+				}
+				finally
+				{
+					isHandlingTouch = false;
+				}
 			}
+
 			return base.OnTouchEvent(e);
 		}
 	}


Adjust now incorrect tests

Adjust now incorrect tests

--- osu.Framework.Tests/Layout/TestSceneContainerLayout.cs
+++ osu.Framework.Tests/Layout/TestSceneContainerLayout.cs
@@ -340,10 +340,10 @@
         }

         /// <summary>
-        /// Tests that non-alive children always receive non-layout invalidations (Parent & DrawNode).
-        /// </summary>
-        [Test]
-        public void TestNonAliveChildReceivesParentAndDrawNodeInvalidations()
+        /// Tests that non-alive children always receive Parent invalidations.
+        /// </summary>
+        [Test]
+        public void TestNonAliveChildReceivesParentInvalidations()
         {
             Container parent = null;
             bool invalidated = false;
@@ -372,14 +372,37 @@
             });

             AddAssert("child invalidated", () => invalidated);
-
-            AddStep("invalidate drawnode", () =>
+        }
+
+        /// <summary>
+        /// Tests that DrawNode invalidations never propagate.
+        /// </summary>
+        [Test]
+        public void TestDrawNodeInvalidationsNeverPropagate()
+        {
+            Container parent = null;
+            bool invalidated = false;
+
+            AddStep("create test", () =>
+            {
+                Drawable child;
+
+                Child = parent = new Container
+                {
+                    Size = new Vector2(200),
+                    Child = child = new Box { RelativeSizeAxes = Axes.Both }
+                };
+
+                child.Invalidated += _ => invalidated = true;
+            });
+
+            AddStep("invalidate parent", () =>
             {
                 invalidated = false;
                 parent.Invalidate(Invalidation.DrawNode);
             });

-            AddAssert("child invalidated", () => invalidated);
+            AddAssert("child not invalidated", () => !invalidated);
         }

         private class TestBox1 : Box


Move child life checking to LoadAsyncComplete

This changes two things:
1) We generally derive CompositeDrawable and add hierarchies in load(), this will cause those children to now potentially turn alive if they need to be. Previously only children added during non-bdl-load would turn alive during bdl-load.
2) Similar to (1), drawables added during derived bdl-loads that should be alive will now get loaded.

--- osu.Framework/Graphics/Containers/CompositeDrawable.cs
+++ osu.Framework/Graphics/Containers/CompositeDrawable.cs
@@ -76,10 +76,15 @@
             // regardless of their alive state. this also gives children a clock so they can be checked
             // for their correct alive state in the case LifetimeStart is set to a definite value.
             internalChildren.ForEach(loadChild);
+        }
+
+        protected override void LoadAsyncComplete()
+        {
+            base.LoadAsyncComplete();

             // At this point we can assume that we are loaded although we're not in the "ready" state, because we'll be given
             // a "ready" state soon after this method terminates. Therefore we can perform an early check to add any alive children
-            // while we're still in an asynchronous context and avoid putting pressure on the main thread during UpdateSubTree
+            // while we're still in an asynchronous context and avoid putting pressure on the main thread during UpdateSubTree.
             checkChildrenLife();
         }


Fix div by zero

Fix div by zero

--- osu.Framework/Graphics/Performance/FrameTimeDisplay.cs
+++ osu.Framework/Graphics/Performance/FrameTimeDisplay.cs
@@ -93,7 +93,8 @@
                     double dampRate = Math.Max(Clock.CurrentTime - lastUpdate, 0) / 1000;

                     displayFps = Interpolation.Damp(displayFps, clockFps, 0.01, dampRate);
-                    rollingElapsed = Interpolation.Damp(rollingElapsed, elapsedSinceLastUpdate / framesSinceLastUpdate, 0.01, dampRate);
+                    if (framesSinceLastUpdate > 0)
+                        rollingElapsed = Interpolation.Damp(rollingElapsed, elapsedSinceLastUpdate / framesSinceLastUpdate, 0.01, dampRate);

                     lastUpdate = Clock.CurrentTime;


Never visualise game hosts

Never visualise game hosts

Game hosts don't behave very much like regular drawables.
Treating them as such (even in the visualiser) leads to problems
that do not have much merit to fix.

--- osu.Framework/Graphics/Visualisation/DrawVisualiser.cs
+++ osu.Framework/Graphics/Visualisation/DrawVisualiser.cs
@@ -9,6 +9,7 @@
 using osu.Framework.Input;
 using osu.Framework.Threading;
 using System.Collections.Generic;
+using osu.Framework.Platform;

 namespace osu.Framework.Graphics.Visualisation
 {
@@ -31,7 +32,12 @@
                 {
                     Depth = float.MinValue,
                     ChooseTarget = chooseTarget,
-                    GoUpOneParent = delegate { Target = Target?.Parent ?? Target; }
+                    GoUpOneParent = delegate
+                    {
+                        var parent = Target?.Parent;
+                        if (parent != null && !(parent is BasicGameHost))
+                            Target = Target?.Parent;
+                    }
                 },
                 new CursorContainer()
             };


Add testing support for hyperdash fruits

--- osu.Game.Rulesets.Catch.Tests/TestSceneFruitObjects.cs
+++ osu.Game.Rulesets.Catch.Tests/TestSceneFruitObjects.cs
@@ -42,6 +42,9 @@
             AddStep("show droplet", () => SetContents(createDrawableDroplet));

             AddStep("show tiny droplet", () => SetContents(createDrawableTinyDroplet));
+
+            foreach (FruitVisualRepresentation rep in Enum.GetValues(typeof(FruitVisualRepresentation)))
+                AddStep($"show hyperdash {rep}", () => SetContents(() => createDrawable(rep, true)));
         }

         private Drawable createDrawableTinyDroplet()
@@ -82,9 +85,13 @@
             };
         }

-        private Drawable createDrawable(FruitVisualRepresentation rep)
+        private Drawable createDrawable(FruitVisualRepresentation rep, bool hyperdash = false)
         {
-            Fruit fruit = new TestCatchFruit(rep) { Scale = 1.5f };
+            Fruit fruit = new TestCatchFruit(rep)
+            {
+                Scale = 1.5f,
+                HyperDashTarget = hyperdash ? new Banana() : null
+            };

             return new DrawableFruit(fruit)
             {


Remove unused using

Remove unused using

--- osu.Game/Overlays/Dashboard/CurrentlyPlayingDisplay.cs
+++ osu.Game/Overlays/Dashboard/CurrentlyPlayingDisplay.cs
@@ -14,7 +14,6 @@
 using osu.Game.Online.API;
 using osu.Game.Online.API.Requests.Responses;
 using osu.Game.Online.Spectator;
-using osu.Game.Resources.Localisation.Web;
 using osu.Game.Screens;
 using osu.Game.Screens.OnlinePlay.Match.Components;
 using osu.Game.Screens.Play;


Fixed a crash when closing UI without opening servers

--- OfflineServer/MainWindow.xaml.cs
+++ OfflineServer/MainWindow.xaml.cs
@@ -169,16 +169,16 @@
             Access.sHttp = new Servers.Http.HttpServer();
             Access.sXmpp = new Servers.Xmpp.BasicXmppServer();

-            // gonna keep this until I add nfs:w launching support
-            await this.ShowMessageAsync("Servers are up and running!", "Go ahead and launch NFS: World now.", MessageDialogStyle.Affirmative);
-
-            /*test
-            var mySettings = new MetroDialogSettings()
-            {
-                AffirmativeButtonText = "Yes, please.",
-                NegativeButtonText = "Go away!",
+            MetroDialogSettings messageBoxStyle = new MetroDialogSettings()
+            {
+                AffirmativeButtonText = "Right away!",
                 ColorScheme = MetroDialogOptions.ColorScheme
             };
+
+            // gonna keep this until I add nfs:w launching support
+            await this.ShowMessageAsync("Servers are up and running!", "Go ahead and launch NFS: World now.", MessageDialogStyle.Affirmative, messageBoxStyle);
+
+            /*test

             MessageDialogResult result = await this.ShowMessageAsync("Hello!", "It seems like this is your first time running this build of the Offline Server! Would you like some help?", MessageDialogStyle.AffirmativeAndNegative, mySettings);

@@ -285,12 +285,15 @@
         {
             log.Info("Shutting down offline server.");

-            // https://github.com/foxglovesec/Potato/blob/master/source/NHttp/NHttp/HttpServer.cs#L261
-            Access.sHttp.nServer.Stop();
-            Access.sHttp.nServer.Dispose();
-            log.Info("Shutdown completed.");
-
-            Access.sXmpp.shutdown();
+            if (Access.sHttp != null && Access.sXmpp != null)
+            {
+                // https://github.com/foxglovesec/Potato/blob/master/source/NHttp/NHttp/HttpServer.cs#L261
+                Access.sHttp.nServer.Stop();
+                Access.sHttp.nServer.Dispose();
+                log.Info("Shutdown of HttpServer has been completed.");
+
+                Access.sXmpp.shutdown();
+            }

             NfswSession.dbConnection.Close();
             NfswSession.dbConnection.Dispose();


fixes

fixes

--- yafsrc/ServiceStack/ServiceStack/Text/LicenseUtils.cs
+++ yafsrc/ServiceStack/ServiceStack/Text/LicenseUtils.cs
@@ -20,9 +20,24 @@
     using ServiceStack.Text;
     using ServiceStack.Text.Common;

+    /// <summary>
+    /// Class LicenseException.
+    /// Implements the <see cref="System.Exception" />
+    /// </summary>
+    /// <seealso cref="System.Exception" />
     public class LicenseException : Exception
     {
+        /// <summary>
+        /// Initializes a new instance of the <see cref="LicenseException"/> class.
+        /// </summary>
+        /// <param name="message">The message that describes the error.</param>
         public LicenseException(string message) : base(message) { }
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="LicenseException"/> class.
+        /// </summary>
+        /// <param name="message">The error message that explains the reason for the exception.</param>
+        /// <param name="innerException">The exception that is the cause of the current exception, or a null reference (<see langword="Nothing" /> in Visual Basic) if no inner exception is specified.</param>
         public LicenseException(string message, Exception innerException) : base(message, innerException) { }
     }

@@ -207,6 +222,9 @@
         }

         private static __ActivatedLicense __activatedLicense;
+
+        private static readonly object lockObj = new object();
+
         public static void RegisterLicense(string licenseKeyText)
         {
             JsConfig.InitStatics();
@@ -246,7 +264,7 @@
                 if (!string.IsNullOrEmpty(subId))
                     msg += $" The id for this license is '{subId}'";

-                lock (typeof(LicenseUtils))
+                lock (lockObj)
                 {
                     try
                     {
@@ -494,7 +512,7 @@
         {
             try
             {
-                var RSAalg = new System.Security.Cryptography.RSACryptoServiceProvider();
+                var RSAalg = new System.Security.Cryptography.RSACryptoServiceProvider(2048);
                 RSAalg.ImportParameters(Key);
                 return RSAalg.VerifySha1Data(DataToVerify, SignedData);

@@ -597,7 +615,7 @@

         public static bool VerifyLicenseKeyText(this string licenseKeyText, out LicenseKey key)
         {
-            var publicRsaProvider = new System.Security.Cryptography.RSACryptoServiceProvider();
+            var publicRsaProvider = new System.Security.Cryptography.RSACryptoServiceProvider(2048);
             publicRsaProvider.FromXml(LicenseUtils.LicensePublicKey);
             var publicKeyParams = publicRsaProvider.ExportParameters(false);

@@ -613,7 +631,7 @@
             System.Security.Cryptography.RSAParameters publicKeyParams;
             try
             {
-                var publicRsaProvider = new System.Security.Cryptography.RSACryptoServiceProvider();
+                var publicRsaProvider = new System.Security.Cryptography.RSACryptoServiceProvider(2048);
                 publicRsaProvider.FromXml(LicenseUtils.LicensePublicKey);
                 publicKeyParams = publicRsaProvider.ExportParameters(false);
             }


Update ItemPickupEvent.cs

Update ItemPickupEvent.cs

Removed extra usings and inherits countedinstance

--- Pluton/Events/ItemPickupEvent.cs
+++ Pluton/Events/ItemPickupEvent.cs
@@ -1,11 +1,8 @@
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;

 namespace Pluton.Events
 {
-    public class ItemPickupEvent
+    public class ItemPickupEvent : CountedInstance
     {
         private InvItem _item;
         private Player _player;


Main: fixes

Main: fixes

--- PokeBattle/PokeBattle/Program.cs
+++ PokeBattle/PokeBattle/Program.cs
@@ -19,11 +19,12 @@
             players[0].WritePokemon(players[1].PokeTeam[0]);
             //players[1].WritePokemon(players[0].PokeTeam[0]);
             Battle battle = new Battle(players[0].PokeTeam[0], players[1].PokeTeam[0]);
-            byte[][] m = new byte[2][2];
-            byte[] m0 = players[0].ReadMove();
-            byte[] m1 = players[1].ReadMove();
-            battle.ExecuteMoves(m0[0] == 0 ? (int?)m0[1] : null, m1[0] == 0 ? (int?)m1[1] : null);
-
+            byte[][] m = new byte[2][];
+            m[0] = players[0].ReadMove();
+            //m[1] = players[1].ReadMove();
+            m[1] = new byte[] { 0, 1 }; // tmp debug
+            battle.ExecuteMoves(m[0][0] == 0 ? (int?)m[0][1] : null, m[1][0] == 0 ? (int?)m[1][1] : null);
+
             Console.ReadKey();
         }
     }


A couple of small changes to make RealTimeDatabroker testable.

--- QDMSServer/RealTimeDataBroker.cs
+++ QDMSServer/RealTimeDataBroker.cs
@@ -86,7 +86,7 @@
         private readonly Dictionary<int, int> _continuousFuturesIDMap;

         private Thread _requestThread;
-        private ContinuousFuturesBroker _cfBroker;
+        private IContinuousFuturesBroker _cfBroker;
         private bool _runServer = true;
         private ZmqContext _context;
         private ZmqSocket _pubSocket;
@@ -190,10 +190,7 @@
             TryConnect();

             //start up the continuous futures broker
-            if (cfBroker == null)
-            {
-                _cfBroker = new ContinuousFuturesBroker(clientName: "RTDBCFClient");
-            }
+            _cfBroker = cfBroker ?? new ContinuousFuturesBroker(clientName: "RTDBCFClient");
             _cfBroker.FoundFrontContract += _cfBroker_FoundFrontContract;
         }


Rough in code for detecting id complete

Rough in code for detecting id complete

--- RedoxExtensions/Core/REEvents.cs
+++ RedoxExtensions/Core/REEvents.cs
@@ -652,6 +652,33 @@
             {
                 Debug.WriteLineToMain("[ServerDispatch] - Add Fellowhsip Member detected!!");
             }
+            else if (e.Message.Type == 0xF7B0) // Game Events
+            {
+                Debug.WriteLineToMain("[ServerDispatch] - Game Event detected!!");
+                //ObjectID - character - the object ID of the message recipient (should be you)
+                //DWORD - sequence - sequence number
+                //GameEvent - event - the (sequenced) message type
+                int characterId = Convert.ToInt32(e.Message["character"]);
+                short sequence = Convert.ToInt16(e.Message["sequence"]);
+                short gameEvent = Convert.ToInt16(e.Message["event"]);
+
+                Debug.WriteLineToMain("[ServerDispatch] - Game Event Code = {0:X4}", gameEvent);
+
+                switch (gameEvent)
+                {
+                    case 0x00C9: // Identify Object
+                        Debug.WriteLineToMain("[ServerDispatch] - Identify Object detected!!");
+
+                        //the object ID of the item or creature being assessed
+                        int objectId = Convert.ToInt32(e.Message["object"]);
+                        short flags = Convert.ToInt16(e.Message["flags"]);
+                        bool success = Convert.ToBoolean(e.Message["success"]);
+
+                        // TODO : Replace with event once working
+                        Debug.WriteLineToMain("[ServerDispatch] - Identify Object Data ObjectId = {0}, Flags = {1:X8}, Success = {2}", objectId, flags, success);
+                        break;
+                }
+            }
         }
     }
 }


Modified logging.manager such that you can now pass in a default parameter, debug. if debug is true, it only outputs (with new "DEBUG: " text) if program.version is Beta or Alpha

--- RelicModManager/Utils/Logging.cs
+++ RelicModManager/Utils/Logging.cs
@@ -24,10 +24,17 @@
         // - and write "fileheader"
         // - check once if the file exceeds a certain size
         // by default, write the given string to file
-        public static void Manager(string s)
-        {
-            try
-            {
+        public static void Manager(string s, bool debug=false)
+        {
+            try
+            {
+                if (debug)
+                {
+                    //if debug is true (message should not be output of stable releases) AND current release is stable, then don't put it out!
+                    if (Program.Version == Program.ProgramVersion.Stable)
+                        return;
+                    s = "DEBUG: " + s;
+                }
                 lock (_locker)              // avoid that 2 or more threads calling the Log function and writing lines in a mess
                 {
                     //the method should automaticly make the file if it's not there


Removing another one of the ConditionalWeakTables

--- RenderOpenGl/GLMeshWirePlugin.cs
+++ RenderOpenGl/GLMeshWirePlugin.cs
@@ -49,41 +49,36 @@
 	{
 		public delegate void DrawToGL(Mesh meshToRender);

-		private static ConditionalWeakTable<Mesh, GLMeshWirePlugin> meshesWithCacheData = new ConditionalWeakTable<Mesh, GLMeshWirePlugin>();
+		public static string GLMeshWirePluginName => nameof(GLMeshWirePluginName);

 		public VectorPOD<WireVertexData> edgeLinesData = new VectorPOD<WireVertexData>();

 		private int meshUpdateCount;
 		private double nonPlanarAngleRequired;

-		static public GLMeshWirePlugin Get(Mesh meshToGetDisplayListFor, double nonPlanarAngleRequired = 0)
+		static public GLMeshWirePlugin Get(Mesh mesh, double nonPlanarAngleRequired = 0)
 		{
-			GLMeshWirePlugin plugin;
-			meshesWithCacheData.TryGetValue(meshToGetDisplayListFor, out plugin);
+			object meshData;
+			mesh.PropertyBag.TryGetValue(GLMeshWirePluginName, out meshData);
+			if (meshData is GLMeshWirePlugin plugin)
+			{
+				if (mesh.ChangedCount == plugin.meshUpdateCount
+					&& nonPlanarAngleRequired == plugin.nonPlanarAngleRequired)
+				{
+					return plugin;
+				}

-			if (plugin != null
-				&& (meshToGetDisplayListFor.ChangedCount != plugin.meshUpdateCount
-				|| nonPlanarAngleRequired != plugin.nonPlanarAngleRequired))
-			{
-				plugin.meshUpdateCount = meshToGetDisplayListFor.ChangedCount;
-				plugin.AddRemoveData();
-				plugin.CreateRenderData(meshToGetDisplayListFor, nonPlanarAngleRequired);
-				plugin.meshUpdateCount = meshToGetDisplayListFor.ChangedCount;
-				plugin.nonPlanarAngleRequired = nonPlanarAngleRequired;
+				// else we need to rebulid the data
+				plugin.meshUpdateCount = mesh.ChangedCount;
+				mesh.PropertyBag.Remove(GLMeshWirePluginName);
 			}

-			if (plugin == null)
-			{
-				GLMeshWirePlugin newPlugin = new GLMeshWirePlugin();
-				meshesWithCacheData.Add(meshToGetDisplayListFor, newPlugin);
-				newPlugin.CreateRenderData(meshToGetDisplayListFor, nonPlanarAngleRequired);
-				newPlugin.meshUpdateCount = meshToGetDisplayListFor.ChangedCount;
-				newPlugin.nonPlanarAngleRequired = nonPlanarAngleRequired;
+			GLMeshWirePlugin newPlugin = new GLMeshWirePlugin();
+			newPlugin.CreateRenderData(mesh, nonPlanarAngleRequired);
+			newPlugin.meshUpdateCount = mesh.ChangedCount;
+			mesh.PropertyBag.Add(GLMeshWirePluginName, newPlugin);

-				return newPlugin;
-			}
-
-			return plugin;
+			return newPlugin;
 		}

 		private GLMeshWirePlugin()
@@ -91,17 +86,9 @@
 			// This is private as you can't build one of these. You have to call GetImageGLDisplayListPlugin.
 		}

-		private void AddRemoveData()
-		{
-		}
-
-		~GLMeshWirePlugin()
-		{
-			AddRemoveData();
-		}
-
 		private void CreateRenderData(Mesh meshToBuildListFor, double nonPlanarAngleRequired = 0)
 		{
+			this.nonPlanarAngleRequired = nonPlanarAngleRequired;
 			edgeLinesData = new VectorPOD<WireVertexData>();
 			// first make sure all the textures are created
 			foreach (MeshEdge meshEdge in meshToBuildListFor.MeshEdges)


RCNETSDK-38 Fixed Authorization Default header being combined with overriding Authorization header in iOS/Android on requests

--- RingCentral/platform/Platform.cs
+++ RingCentral/platform/Platform.cs
@@ -6,6 +6,7 @@
 using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 using RingCentral.SDK.Http;
+using System.Diagnostics;

 namespace RingCentral.SDK
 {
@@ -30,6 +31,7 @@
             Auth = new Auth();
             _client = new HttpClient {BaseAddress = new Uri(ApiEndpoint)};
             _client.DefaultRequestHeaders.Add("SDK-Agent", "Ring Central C Sharp SDK");
+
         }

         private string AppKey { get; set; }
@@ -62,6 +64,8 @@
             Auth.SetRemember(isRemember);
             Auth.SetData(result.GetJson());

+            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Auth.GetAccessToken());
+
             return result;
         }

@@ -86,6 +90,8 @@

             Auth.SetData(result.GetJson());

+            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Auth.GetAccessToken());
+
             return result;
         }

@@ -103,6 +109,8 @@
             Auth.Reset();

             var request = new Request(RevokeEndpoint, body);
+
+            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", GetApiKey());

             return AuthCall(request);
         }
@@ -119,7 +127,7 @@
         private Response AuthCall(Request request)
         {
             _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", GetApiKey());
-
+
             var result = _client.PostAsync(request.GetUrl(), request.GetHttpContent());

             return new Response(result);
@@ -159,8 +167,8 @@
             if (!IsAuthorized()) throw new Exception("Access has Expired");

             HttpRequestMessage requestMessage = new HttpRequestMessage();
-            requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Auth.GetAccessToken());
-
+            //requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Auth.GetAccessToken());
+            //Debug.WriteLine("Headers : " + requestMessage.Headers.Authorization.ToString());
             requestMessage.Content = request.GetHttpContent();
             requestMessage.Method = request.GetHttpMethod(method);
             requestMessage.RequestUri = request.GetUri();


Update editor formats again

Update editor formats again

--- RoslynColorizer/EditorFormats.cs
+++ RoslynColorizer/EditorFormats.cs
@@ -12,8 +12,7 @@
   internal sealed class RoslynParameterFormat : ClassificationFormatDefinition {
     public RoslynParameterFormat() {
       this.DisplayName = "Roslyn Parameter";
-      this.BackgroundColor = Colors.AliceBlue;
-      this.BackgroundOpacity = 0.7;
+      this.ForegroundColor = Colors.SlateGray;
     }
   }

@@ -25,8 +24,7 @@
   internal sealed class RoslynFieldFormat : ClassificationFormatDefinition {
     public RoslynFieldFormat() {
       this.DisplayName = "Roslyn Field";
-      this.BackgroundColor = Colors.LavenderBlush;
-      this.BackgroundOpacity = 0.7;
+      this.ForegroundColor = Colors.SaddleBrown;
     }
   }
 }


Propagate legacy input drum size to main piece

--- osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyInputDrum.cs
+++ osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyInputDrum.cs
@@ -26,7 +26,7 @@

         public LegacyInputDrum()
         {
-            RelativeSizeAxes = Axes.Both;
+            Size = new Vector2(180, 200);
         }

         [BackgroundDependencyLoader]
@@ -34,7 +34,7 @@
         {
             Child = content = new Container
             {
-                Size = new Vector2(180, 200),
+                RelativeSizeAxes = Axes.Both,
                 Children = new Drawable[]
                 {
                     new Sprite
@@ -67,7 +67,7 @@
             const float ratio = 1.6f;

             // because the right half is flipped, we need to position using width - position to get the true "topleft" origin position
-            float negativeScaleAdjust = content.Width / ratio;
+            float negativeScaleAdjust = Width / ratio;

             if (skin.GetConfig<SkinConfiguration.LegacySetting, decimal>(SkinConfiguration.LegacySetting.Version)?.Value >= 2.1m)
             {
@@ -91,7 +91,7 @@

             // Relying on RelativeSizeAxes.Both + FillMode.Fit doesn't work due to the precise pixel layout requirements.
             // This is a bit ugly but makes the non-legacy implementations a lot cleaner to implement.
-            content.Scale = new Vector2(DrawHeight / content.Size.Y);
+            Scale = new Vector2(Parent.DrawHeight / Size.Y);
         }

         /// <summary>