Decompiled source of MirageExperimental v0.0.60
BepInEx/plugins/Mirage.Compatibility.dll
Decompiled 7 hours agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using BepInEx.Bootstrap; using BepInEx.Configuration; using LethalConfig; using LethalConfig.AutoConfig; using LethalSettings.UI; using LethalSettings.UI.Components; using LobbyCompatibility.Enums; using LobbyCompatibility.Features; using Microsoft.FSharp.Core; [assembly: FSharpInterfaceDataVersion(2, 0, 0)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("AmazingAssets.TerrainToMesh")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("ClientNetworkTransform")] [assembly: IgnoresAccessChecksTo("DissonanceVoip")] [assembly: IgnoresAccessChecksTo("Facepunch Transport for Netcode for GameObjects")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("LethalConfig")] [assembly: IgnoresAccessChecksTo("LethalSettings")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging.DocCodeExamples")] [assembly: IgnoresAccessChecksTo("Unity.Burst")] [assembly: IgnoresAccessChecksTo("Unity.Burst.Unsafe")] [assembly: IgnoresAccessChecksTo("Unity.Collections")] [assembly: IgnoresAccessChecksTo("Unity.Collections.LowLevel.ILSupport")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.Jobs")] [assembly: IgnoresAccessChecksTo("Unity.Mathematics")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.Common")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.MetricTypes")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStats")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Component")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Implementation")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsReporting")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkProfiler.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkSolutionInterface")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Components")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Networking.Transport")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Csg")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.KdTree")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Poly2Tri")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Stl")] [assembly: IgnoresAccessChecksTo("Unity.Profiling.Core")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Config.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.Services.Authentication")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Analytics")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Device")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Networking")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Registration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Scheduler")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Telemetry")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Threading")] [assembly: IgnoresAccessChecksTo("Unity.Services.QoS")] [assembly: IgnoresAccessChecksTo("Unity.Services.Relay")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualEffectGraph.Runtime")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: AssemblyCompany("Mirage.Compatibility")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+97f34ecc8986c8c0a85155e2bf49f25f63e6afe6")] [assembly: AssemblyProduct("Mirage.Compatibility")] [assembly: AssemblyTitle("Mirage.Compatibility")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class AssemblyInfo { } namespace <StartupCode$Mirage-Compatibility> { internal static class $AssemblyInfo { } } namespace Mirage { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class Compatibility { [Serializable] internal sealed class run@22 : FSharpFunc<Unit, Unit> { public Assembly assembly; public ConfigFile configFile; [CompilerGenerated] [DebuggerNonUserCode] internal run@22(Assembly assembly, ConfigFile configFile) { this.assembly = assembly; this.configFile = configFile; } public override Unit Invoke(Unit unitVar0) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) List<ConfigFileAssemblyPair> lateConfigFiles = LethalConfigManager.LateConfigFiles; ConfigFileAssemblyPair val = default(ConfigFileAssemblyPair); ((ConfigFileAssemblyPair)(ref val)).ConfigFile = configFile; ((ConfigFileAssemblyPair)(ref val)).Assembly = assembly; ConfigFileAssemblyPair item = val; lateConfigFiles.Add(item); return null; } } [Serializable] internal sealed class run@32-1 : FSharpFunc<Unit, Unit> { public string pluginName; public string pluginVersion; [CompilerGenerated] [DebuggerNonUserCode] internal run@32-1(string pluginName, string pluginVersion) { this.pluginName = pluginName; this.pluginVersion = pluginVersion; } public override Unit Invoke(Unit unitVar0) { PluginHelper.RegisterPlugin(pluginName, Version.Parse(pluginVersion), (CompatibilityLevel)2, (VersionStrictness)2); return null; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class LethalSettingsArgs { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal string pluginName@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal string pluginId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal string pluginVersion@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc<Unit, float> getLocalPlayerVolume@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc<float, Unit> setLocalPlayerVolume@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc<Unit, bool> getNeverDeleteRecordings@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc<bool, Unit> setNeverDeleteRecordings@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc<Unit, bool> getAllowRecordVoice@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc<bool, Unit> setAllowRecordVoice@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public string pluginName { [CompilerGenerated] [DebuggerNonUserCode] get { return pluginName@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public string pluginId { [CompilerGenerated] [DebuggerNonUserCode] get { return pluginId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public string pluginVersion { [CompilerGenerated] [DebuggerNonUserCode] get { return pluginVersion@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc<Unit, float> getLocalPlayerVolume { [CompilerGenerated] [DebuggerNonUserCode] get { return getLocalPlayerVolume@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc<float, Unit> setLocalPlayerVolume { [CompilerGenerated] [DebuggerNonUserCode] get { return setLocalPlayerVolume@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc<Unit, bool> getNeverDeleteRecordings { [CompilerGenerated] [DebuggerNonUserCode] get { return getNeverDeleteRecordings@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc<bool, Unit> setNeverDeleteRecordings { [CompilerGenerated] [DebuggerNonUserCode] get { return setNeverDeleteRecordings@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc<Unit, bool> getAllowRecordVoice { [CompilerGenerated] [DebuggerNonUserCode] get { return getAllowRecordVoice@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc<bool, Unit> setAllowRecordVoice { [CompilerGenerated] [DebuggerNonUserCode] get { return setAllowRecordVoice@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(LethalSettingsArgs))] public LethalSettingsArgs(string pluginName, string pluginId, string pluginVersion, FSharpFunc<Unit, float> getLocalPlayerVolume, FSharpFunc<float, Unit> setLocalPlayerVolume, FSharpFunc<Unit, bool> getNeverDeleteRecordings, FSharpFunc<bool, Unit> setNeverDeleteRecordings, FSharpFunc<Unit, bool> getAllowRecordVoice, FSharpFunc<bool, Unit> setAllowRecordVoice) { pluginName@ = pluginName; pluginId@ = pluginId; pluginVersion@ = pluginVersion; getLocalPlayerVolume@ = getLocalPlayerVolume; setLocalPlayerVolume@ = setLocalPlayerVolume; getNeverDeleteRecordings@ = getNeverDeleteRecordings; setNeverDeleteRecordings@ = setNeverDeleteRecordings; getAllowRecordVoice@ = getAllowRecordVoice; setAllowRecordVoice@ = setAllowRecordVoice; } [CompilerGenerated] public override string ToString() { return ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<LethalSettingsArgs, string>>((PrintfFormat<FSharpFunc<LethalSettingsArgs, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<LethalSettingsArgs, string>, Unit, string, string, LethalSettingsArgs>("%+A")).Invoke(this); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal sealed class run@66-3 { public LethalSettingsArgs settings; public run@66-3(LethalSettingsArgs settings) { this.settings = settings; base..ctor(); } internal void Invoke(SliderComponent _arg1, float value) { settings.setLocalPlayerVolume@.Invoke(value); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal sealed class run@71-4 { public LethalSettingsArgs settings; public run@71-4(LethalSettingsArgs settings) { this.settings = settings; base..ctor(); } internal void Invoke(ToggleComponent _arg2, bool value) { settings.setNeverDeleteRecordings@.Invoke(value); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal sealed class run@76-5 { public LethalSettingsArgs settings; public run@76-5(LethalSettingsArgs settings) { this.settings = settings; base..ctor(); } internal void Invoke(ToggleComponent _arg3, bool value) { settings.setAllowRecordVoice@.Invoke(value); } } [Serializable] internal sealed class run@55-2 : FSharpFunc<Unit, Unit> { public LethalSettingsArgs settings; [CompilerGenerated] [DebuggerNonUserCode] internal run@55-2(LethalSettingsArgs settings) { this.settings = settings; } public override Unit Invoke(Unit unitVar0) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Expected O, but got Unknown //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Expected O, but got Unknown //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Expected O, but got Unknown //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Expected O, but got Unknown //IL_0140: Unknown result type (might be due to invalid IL or missing references) ModSettingsConfig val = new ModSettingsConfig(); val.Name = settings.pluginName@; val.Id = settings.pluginId@; val.Version = settings.pluginVersion@; val.Description = "The preferences below only affect yourself. These values are not synced from the host."; MenuComponent[] array = new MenuComponent[3]; SliderComponent val2 = new SliderComponent(); val2.Value = settings.getLocalPlayerVolume@.Invoke((Unit)null); val2.MinValue = 0f; val2.MaxValue = 100f; val2.Text = "Volume when a monster is mimicking your own voice:"; val2.OnValueChanged = new run@66-3(settings).Invoke; array[0] = (MenuComponent)val2; ToggleComponent val3 = new ToggleComponent(); val3.Text = "Never delete recordings"; val3.Value = settings.getNeverDeleteRecordings@.Invoke((Unit)null); val3.OnValueChanged = new run@71-4(settings).Invoke; array[1] = (MenuComponent)val3; ToggleComponent val4 = new ToggleComponent(); val4.Text = "Allow record voice"; val4.Value = settings.getAllowRecordVoice@.Invoke((Unit)null); val4.OnValueChanged = new run@76-5(settings).Invoke; array[2] = (MenuComponent)val4; val.MenuComponents = (MenuComponent[])(object)array; ModMenu.RegisterMod(val, true, true); return null; } } [CompilationArgumentCounts(new int[] { 1, 1 })] public static void initLethalConfig(Assembly assembly, ConfigFile configFile) { if (Chainloader.PluginInfos.ContainsKey("ainavt.lc.lethalconfig")) { FSharpFunc<Unit, Unit> val = new run@22(assembly, configFile); val.Invoke((Unit)null); } } [CompilationArgumentCounts(new int[] { 1, 1 })] public static void initLobbyCompatibility(string pluginName, string pluginVersion) { if (Chainloader.PluginInfos.ContainsKey("BMX.LobbyCompatibility")) { FSharpFunc<Unit, Unit> val = new run@32-1(pluginName, pluginVersion); val.Invoke((Unit)null); } } public static void initLethalSettings(LethalSettingsArgs settings) { if (Chainloader.PluginInfos.ContainsKey("com.willis.lc.lethalsettings")) { FSharpFunc<Unit, Unit> val = new run@55-2(settings); val.Invoke((Unit)null); } } } } namespace <StartupCode$Mirage-Compatibility>.$Mirage { internal static class Compatibility { } } namespace <StartupCode$Mirage-Compatibility>.$Compatibility { internal static class AssemblyInfo { } } namespace <StartupCode$Mirage-Compatibility>.$.NETStandard,Version=v2.1 { internal static class AssemblyAttributes { } } namespace System.Diagnostics.CodeAnalysis { [Serializable] [Flags] [CompilerGenerated] [DebuggerNonUserCode] internal enum DynamicallyAccessedMemberTypes { All = -1, None = 0, PublicParameterlessConstructor = 1, PublicConstructors = 3, NonPublicConstructors = 4, PublicMethods = 8, NonPublicMethods = 0x10, PublicFields = 0x20, NonPublicFields = 0x40, PublicNestedTypes = 0x80, NonPublicNestedTypes = 0x100, PublicProperties = 0x200, NonPublicProperties = 0x400, PublicEvents = 0x800, NonPublicEvents = 0x1000, Interfaces = 0x2000 } [CompilerGenerated] internal class DynamicDependencyAttribute : Attribute { [CompilerGenerated] [DebuggerNonUserCode] private DynamicallyAccessedMemberTypes MemberType@; [CompilerGenerated] [DebuggerNonUserCode] private Type Type@; [CompilerGenerated] [DebuggerNonUserCode] public DynamicallyAccessedMemberTypes MemberType { [CompilerGenerated] [DebuggerNonUserCode] get { return MemberType@; } } [CompilerGenerated] [DebuggerNonUserCode] public Type Type { [CompilerGenerated] [DebuggerNonUserCode] get { return Type@; } } [CompilerGenerated] [DebuggerNonUserCode] public DynamicDependencyAttribute(DynamicallyAccessedMemberTypes MemberType, Type Type) { MemberType@ = MemberType; Type@ = Type; } } }
BepInEx/plugins/Mirage.Core.dll
Decompiled 7 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using System.Threading; using System.Threading.Tasks; using <StartupCode$Mirage-Core>.$Mirage.Core.Async; using <StartupCode$Mirage-Core>.$Mirage.Core.Audio.Microphone; using FSharpPlus; using FSharpPlus.Control; using FSharpPlus.Internals; using FSharpx.Control; using Microsoft.FSharp.Collections; using Microsoft.FSharp.Control; using Microsoft.FSharp.Core; using Mirage.Core.Async; using Mirage.Core.Audio.File; using NAudio.Dsp; using NAudio.Lame; using NAudio.Wave; [assembly: FSharpInterfaceDataVersion(2, 0, 0)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("NAudio.Core")] [assembly: IgnoresAccessChecksTo("NAudio")] [assembly: IgnoresAccessChecksTo("NAudio.Lame")] [assembly: AssemblyCompany("Mirage.Core")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+97f34ecc8986c8c0a85155e2bf49f25f63e6afe6")] [assembly: AssemblyProduct("Mirage.Core")] [assembly: AssemblyTitle("Mirage.Core")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class AssemblyInfo { } namespace <StartupCode$Mirage-Core> { internal static class $AssemblyInfo { } } namespace Mirage.Core.Audio.Microphone { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class Recognition { [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal sealed class BatchedState<PlayerId> : IEquatable<BatchedState<PlayerId>>, IStructuralEquatable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid fileId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal PlayerId playerId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal List<float> samples@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Detection.VADFrame vadFrame@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpList<Detection.VADFrame> vadTimings@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal bool finished@; [CompilationMapping(/*Could not decode attribute arguments.*/)] internal Guid fileId { [CompilerGenerated] [DebuggerNonUserCode] get { return fileId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] internal PlayerId playerId { [CompilerGenerated] [DebuggerNonUserCode] get { return playerId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] internal List<float> samples { [CompilerGenerated] [DebuggerNonUserCode] get { return samples@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] internal Detection.VADFrame vadFrame { [CompilerGenerated] [DebuggerNonUserCode] get { return vadFrame@; } [CompilerGenerated] [DebuggerNonUserCode] set { vadFrame@ = value; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] internal FSharpList<Detection.VADFrame> vadTimings { [CompilerGenerated] [DebuggerNonUserCode] get { return vadTimings@; } [CompilerGenerated] [DebuggerNonUserCode] set { vadTimings@ = value; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] internal bool finished { [CompilerGenerated] [DebuggerNonUserCode] get { return finished@; } [CompilerGenerated] [DebuggerNonUserCode] set { finished@ = value; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(BatchedState<>))] internal BatchedState(Guid fileId, PlayerId playerId, List<float> samples, Detection.VADFrame vadFrame, FSharpList<Detection.VADFrame> vadTimings, bool finished) { fileId@ = fileId; playerId@ = playerId; samples@ = samples; vadFrame@ = vadFrame; vadTimings@ = vadTimings; finished@ = finished; } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<BatchedState<BatchedState<PlayerId>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<BatchedState<PlayerId>, string>>((PrintfFormat<FSharpFunc<BatchedState<PlayerId>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<BatchedState<FSharpFunc<BatchedState<PlayerId>, string>>, string>, Unit, string, string, BatchedState<FSharpFunc<BatchedState<PlayerId>, string>>>("%+A"))).Invoke((BatchedState<BatchedState<PlayerId>>)(object)this); } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; num = -1640531527 + ((finished@ ? 1 : 0) + ((num << 6) + (num >> 2))); num = -1640531527 + (vadTimings@.GetHashCode(comp) + ((num << 6) + (num >> 2))); Detection.VADFrame vADFrame = vadFrame@; num = -1640531527 + (vADFrame.GetHashCode(comp) + ((num << 6) + (num >> 2))); num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<List<float>>(comp, samples@) + ((num << 6) + (num >> 2))); PlayerId val = playerId@; num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<PlayerId>(comp, val) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, fileId@) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is BatchedState<PlayerId> batchedState) { if (HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, fileId@, batchedState.fileId@)) { PlayerId val = playerId@; PlayerId val2 = batchedState.playerId@; if (HashCompare.GenericEqualityWithComparerIntrinsic<PlayerId>(comp, val, val2)) { if (HashCompare.GenericEqualityWithComparerIntrinsic<List<float>>(comp, samples@, batchedState.samples@)) { Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = batchedState.vadFrame@; if (vADFrame.Equals(vADFrame2, comp)) { FSharpList<Detection.VADFrame> val3 = vadTimings@; FSharpList<Detection.VADFrame> val4 = batchedState.vadTimings@; if (val3.Equals((object)val4, comp)) { return finished@ == batchedState.finished@; } return false; } return false; } return false; } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed bool Equals(BatchedState<PlayerId> obj) { if (this != null) { if (obj != null) { if (HashCompare.GenericEqualityERIntrinsic<Guid>(fileId@, obj.fileId@)) { PlayerId val = playerId@; PlayerId val2 = obj.playerId@; if (HashCompare.GenericEqualityERIntrinsic<PlayerId>(val, val2)) { if (HashCompare.GenericEqualityERIntrinsic<List<float>>(samples@, obj.samples@)) { Detection.VADFrame vADFrame = vadFrame@; if (vADFrame.Equals(obj.vadFrame@)) { if (HashCompare.GenericEqualityERIntrinsic<FSharpList<Detection.VADFrame>>(vadTimings@, obj.vadTimings@)) { return finished@ == obj.finished@; } return false; } return false; } return false; } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is BatchedState<PlayerId> obj2) { return Equals(obj2); } return false; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class BatchedStart<PlayerId> : IEquatable<BatchedStart<PlayerId>>, IStructuralEquatable, IComparable<BatchedStart<PlayerId>>, IComparable, IStructuralComparable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid fileId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal PlayerId playerId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid sentenceId@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public Guid fileId { [CompilerGenerated] [DebuggerNonUserCode] get { return fileId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public PlayerId playerId { [CompilerGenerated] [DebuggerNonUserCode] get { return playerId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Guid sentenceId { [CompilerGenerated] [DebuggerNonUserCode] get { return sentenceId@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(BatchedStart<>))] public BatchedStart(Guid fileId, PlayerId playerId, Guid sentenceId) { fileId@ = fileId; playerId@ = playerId; sentenceId@ = sentenceId; } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<BatchedStart<BatchedStart<PlayerId>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<BatchedStart<PlayerId>, string>>((PrintfFormat<FSharpFunc<BatchedStart<PlayerId>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<BatchedStart<FSharpFunc<BatchedStart<PlayerId>, string>>, string>, Unit, string, string, BatchedStart<FSharpFunc<BatchedStart<PlayerId>, string>>>("%+A"))).Invoke((BatchedStart<BatchedStart<PlayerId>>)(object)this); } [CompilerGenerated] public sealed int CompareTo(BatchedStart<PlayerId> obj) { if (this != null) { if (obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(LanguagePrimitives.GenericComparer, fileId@, obj.fileId@); if (num < 0) { return num; } if (num > 0) { return num; } IComparer genericComparer = LanguagePrimitives.GenericComparer; PlayerId val = playerId@; PlayerId val2 = obj.playerId@; int num2 = HashCompare.GenericComparisonWithComparerIntrinsic<PlayerId>(genericComparer, val, val2); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } return HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(LanguagePrimitives.GenericComparer, sentenceId@, obj.sentenceId@); } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int CompareTo(object obj) { return CompareTo((BatchedStart<PlayerId>)obj); } [CompilerGenerated] public sealed int CompareTo(object obj, IComparer comp) { BatchedStart<PlayerId> batchedStart = (BatchedStart<PlayerId>)obj; if (this != null) { if ((BatchedStart<PlayerId>)obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(comp, fileId@, batchedStart.fileId@); if (num < 0) { return num; } if (num > 0) { return num; } PlayerId val = playerId@; PlayerId val2 = batchedStart.playerId@; int num2 = HashCompare.GenericComparisonWithComparerIntrinsic<PlayerId>(comp, val, val2); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } return HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(comp, sentenceId@, batchedStart.sentenceId@); } return 1; } if ((BatchedStart<PlayerId>)obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, sentenceId@) + ((num << 6) + (num >> 2))); PlayerId val = playerId@; num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<PlayerId>(comp, val) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, fileId@) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is BatchedStart<PlayerId> batchedStart) { if (HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, fileId@, batchedStart.fileId@)) { PlayerId val = playerId@; PlayerId val2 = batchedStart.playerId@; if (HashCompare.GenericEqualityWithComparerIntrinsic<PlayerId>(comp, val, val2)) { return HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, sentenceId@, batchedStart.sentenceId@); } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed bool Equals(BatchedStart<PlayerId> obj) { if (this != null) { if (obj != null) { if (HashCompare.GenericEqualityERIntrinsic<Guid>(fileId@, obj.fileId@)) { PlayerId val = playerId@; PlayerId val2 = obj.playerId@; if (HashCompare.GenericEqualityERIntrinsic<PlayerId>(val, val2)) { return HashCompare.GenericEqualityERIntrinsic<Guid>(sentenceId@, obj.sentenceId@); } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is BatchedStart<PlayerId> obj2) { return Equals(obj2); } return false; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class BatchedFound<PlayerId> : IEquatable<BatchedFound<PlayerId>>, IStructuralEquatable, IComparable<BatchedFound<PlayerId>>, IComparable, IStructuralComparable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal PlayerId playerId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid sentenceId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal float[] samples@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Detection.VADFrame vadFrame@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public PlayerId playerId { [CompilerGenerated] [DebuggerNonUserCode] get { return playerId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Guid sentenceId { [CompilerGenerated] [DebuggerNonUserCode] get { return sentenceId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public float[] samples { [CompilerGenerated] [DebuggerNonUserCode] get { return samples@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Detection.VADFrame vadFrame { [CompilerGenerated] [DebuggerNonUserCode] get { return vadFrame@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(BatchedFound<>))] public BatchedFound(PlayerId playerId, Guid sentenceId, float[] samples, Detection.VADFrame vadFrame) { playerId@ = playerId; sentenceId@ = sentenceId; samples@ = samples; vadFrame@ = vadFrame; } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<BatchedFound<BatchedFound<PlayerId>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<BatchedFound<PlayerId>, string>>((PrintfFormat<FSharpFunc<BatchedFound<PlayerId>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<BatchedFound<FSharpFunc<BatchedFound<PlayerId>, string>>, string>, Unit, string, string, BatchedFound<FSharpFunc<BatchedFound<PlayerId>, string>>>("%+A"))).Invoke((BatchedFound<BatchedFound<PlayerId>>)(object)this); } [CompilerGenerated] public sealed int CompareTo(BatchedFound<PlayerId> obj) { if (this != null) { if (obj != null) { IComparer genericComparer = LanguagePrimitives.GenericComparer; PlayerId val = playerId@; PlayerId val2 = obj.playerId@; int num = HashCompare.GenericComparisonWithComparerIntrinsic<PlayerId>(genericComparer, val, val2); if (num < 0) { return num; } if (num > 0) { return num; } int num2 = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(LanguagePrimitives.GenericComparer, sentenceId@, obj.sentenceId@); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } int num3 = HashCompare.GenericComparisonWithComparerIntrinsic<float[]>(LanguagePrimitives.GenericComparer, samples@, obj.samples@); if (num3 < 0) { return num3; } if (num3 > 0) { return num3; } genericComparer = LanguagePrimitives.GenericComparer; Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = obj.vadFrame@; return vADFrame.CompareTo(vADFrame2, genericComparer); } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int CompareTo(object obj) { return CompareTo((BatchedFound<PlayerId>)obj); } [CompilerGenerated] public sealed int CompareTo(object obj, IComparer comp) { BatchedFound<PlayerId> batchedFound = (BatchedFound<PlayerId>)obj; if (this != null) { if ((BatchedFound<PlayerId>)obj != null) { PlayerId val = playerId@; PlayerId val2 = batchedFound.playerId@; int num = HashCompare.GenericComparisonWithComparerIntrinsic<PlayerId>(comp, val, val2); if (num < 0) { return num; } if (num > 0) { return num; } int num2 = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(comp, sentenceId@, batchedFound.sentenceId@); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } int num3 = HashCompare.GenericComparisonWithComparerIntrinsic<float[]>(comp, samples@, batchedFound.samples@); if (num3 < 0) { return num3; } if (num3 > 0) { return num3; } Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = batchedFound.vadFrame@; return vADFrame.CompareTo(vADFrame2, comp); } return 1; } if ((BatchedFound<PlayerId>)obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; Detection.VADFrame vADFrame = vadFrame@; num = -1640531527 + (vADFrame.GetHashCode(comp) + ((num << 6) + (num >> 2))); num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<float[]>(comp, samples@) + ((num << 6) + (num >> 2))); num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, sentenceId@) + ((num << 6) + (num >> 2))); PlayerId val = playerId@; return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<PlayerId>(comp, val) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is BatchedFound<PlayerId> batchedFound) { PlayerId val = playerId@; PlayerId val2 = batchedFound.playerId@; if (HashCompare.GenericEqualityWithComparerIntrinsic<PlayerId>(comp, val, val2)) { if (HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, sentenceId@, batchedFound.sentenceId@)) { if (HashCompare.GenericEqualityWithComparerIntrinsic<float[]>(comp, samples@, batchedFound.samples@)) { Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = batchedFound.vadFrame@; return vADFrame.Equals(vADFrame2, comp); } return false; } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed bool Equals(BatchedFound<PlayerId> obj) { if (this != null) { if (obj != null) { PlayerId val = playerId@; PlayerId val2 = obj.playerId@; if (HashCompare.GenericEqualityERIntrinsic<PlayerId>(val, val2)) { if (HashCompare.GenericEqualityERIntrinsic<Guid>(sentenceId@, obj.sentenceId@)) { if (HashCompare.GenericEqualityERIntrinsic<float[]>(samples@, obj.samples@)) { Detection.VADFrame vADFrame = vadFrame@; return vADFrame.Equals(obj.vadFrame@); } return false; } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is BatchedFound<PlayerId> obj2) { return Equals(obj2); } return false; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class BatchedEnd : IEquatable<BatchedEnd>, IStructuralEquatable, IComparable<BatchedEnd>, IComparable, IStructuralComparable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid sentenceId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpList<Detection.VADFrame> vadTimings@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public Guid sentenceId { [CompilerGenerated] [DebuggerNonUserCode] get { return sentenceId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpList<Detection.VADFrame> vadTimings { [CompilerGenerated] [DebuggerNonUserCode] get { return vadTimings@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(BatchedEnd))] public BatchedEnd(Guid sentenceId, FSharpList<Detection.VADFrame> vadTimings) { sentenceId@ = sentenceId; vadTimings@ = vadTimings; } [CompilerGenerated] public override string ToString() { return ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<BatchedEnd, string>>((PrintfFormat<FSharpFunc<BatchedEnd, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<BatchedEnd, string>, Unit, string, string, BatchedEnd>("%+A")).Invoke(this); } [CompilerGenerated] public sealed int CompareTo(BatchedEnd obj) { if (this != null) { if (obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(LanguagePrimitives.GenericComparer, sentenceId@, obj.sentenceId@); if (num < 0) { return num; } if (num > 0) { return num; } IComparer genericComparer = LanguagePrimitives.GenericComparer; FSharpList<Detection.VADFrame> val = vadTimings@; FSharpList<Detection.VADFrame> val2 = obj.vadTimings@; return val.CompareTo((object)val2, genericComparer); } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int CompareTo(object obj) { return CompareTo((BatchedEnd)obj); } [CompilerGenerated] public sealed int CompareTo(object obj, IComparer comp) { BatchedEnd batchedEnd = (BatchedEnd)obj; if (this != null) { if ((BatchedEnd)obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(comp, sentenceId@, batchedEnd.sentenceId@); if (num < 0) { return num; } if (num > 0) { return num; } FSharpList<Detection.VADFrame> val = vadTimings@; FSharpList<Detection.VADFrame> val2 = batchedEnd.vadTimings@; return val.CompareTo((object)val2, comp); } return 1; } if ((BatchedEnd)obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; num = -1640531527 + (vadTimings@.GetHashCode(comp) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, sentenceId@) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is BatchedEnd batchedEnd) { if (HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, sentenceId@, batchedEnd.sentenceId@)) { FSharpList<Detection.VADFrame> val = vadTimings@; FSharpList<Detection.VADFrame> val2 = batchedEnd.vadTimings@; return val.Equals((object)val2, comp); } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed bool Equals(BatchedEnd obj) { if (this != null) { if (obj != null) { if (HashCompare.GenericEqualityERIntrinsic<Guid>(sentenceId@, obj.sentenceId@)) { return HashCompare.GenericEqualityERIntrinsic<FSharpList<Detection.VADFrame>>(vadTimings@, obj.vadTimings@); } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is BatchedEnd obj2) { return Equals(obj2); } return false; } } [Serializable] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [DebuggerDisplay("{__DebugDisplay(),nq}")] [CompilationMapping(/*Could not decode attribute arguments.*/)] public abstract class TranscribeBatched<PlayerId> : IEquatable<TranscribeBatched<PlayerId>>, IStructuralEquatable, IComparable<TranscribeBatched<PlayerId>>, IComparable, IStructuralComparable { public static class Tags { public const int BatchedStart = 0; public const int BatchedFound = 1; public const int BatchedEnd = 2; } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscribeBatched<>.BatchedStart@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] public class BatchedStart : TranscribeBatched<PlayerId> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal readonly BatchedStart<PlayerId> item; [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public BatchedStart<PlayerId> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeBatched<>))] [CompilerGenerated] [DebuggerNonUserCode] internal BatchedStart(BatchedStart<PlayerId> item) { this.item = item; } } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscribeBatched<>.BatchedFound@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] public class BatchedFound : TranscribeBatched<PlayerId> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal readonly BatchedFound<PlayerId> item; [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public BatchedFound<PlayerId> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeBatched<>))] [CompilerGenerated] [DebuggerNonUserCode] internal BatchedFound(BatchedFound<PlayerId> item) { this.item = item; } } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscribeBatched<>.BatchedEnd@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] public class BatchedEnd : TranscribeBatched<PlayerId> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal readonly Recognition.BatchedEnd item; [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public Recognition.BatchedEnd Item { [CompilerGenerated] [DebuggerNonUserCode] get { return item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeBatched<>))] [CompilerGenerated] [DebuggerNonUserCode] internal BatchedEnd(Recognition.BatchedEnd item) { this.item = item; } } [SpecialName] internal class BatchedStart@DebugTypeProxy { [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public BatchedStart<PlayerId> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return _obj.item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeBatched<>))] [CompilerGenerated] [DebuggerNonUserCode] public BatchedStart@DebugTypeProxy(BatchedStart obj) { _obj = obj; } } [SpecialName] internal class BatchedFound@DebugTypeProxy { [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public BatchedFound<PlayerId> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return _obj.item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeBatched<>))] [CompilerGenerated] [DebuggerNonUserCode] public BatchedFound@DebugTypeProxy(BatchedFound obj) { _obj = obj; } } [SpecialName] internal class BatchedEnd@DebugTypeProxy { [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public Recognition.BatchedEnd Item { [CompilerGenerated] [DebuggerNonUserCode] get { return _obj.item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeBatched<>))] [CompilerGenerated] [DebuggerNonUserCode] public BatchedEnd@DebugTypeProxy(BatchedEnd obj) { _obj = obj; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public int Tag { [CompilerGenerated] [DebuggerNonUserCode] get { return (this is BatchedEnd) ? 2 : ((this is BatchedFound) ? 1 : 0); } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsBatchedStart { [CompilerGenerated] [DebuggerNonUserCode] get { return this is BatchedStart; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsBatchedFound { [CompilerGenerated] [DebuggerNonUserCode] get { return this is BatchedFound; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsBatchedEnd { [CompilerGenerated] [DebuggerNonUserCode] get { return this is BatchedEnd; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeBatched<>))] [CompilerGenerated] [DebuggerNonUserCode] internal TranscribeBatched() { } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static TranscribeBatched<PlayerId> NewBatchedStart(BatchedStart<PlayerId> item) { return new BatchedStart(item); } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static TranscribeBatched<PlayerId> NewBatchedFound(BatchedFound<PlayerId> item) { return new BatchedFound(item); } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static TranscribeBatched<PlayerId> NewBatchedEnd(Recognition.BatchedEnd item) { return new BatchedEnd(item); } [SpecialName] [CompilerGenerated] [DebuggerNonUserCode] internal object __DebugDisplay() { return ((FSharpFunc<TranscribeBatched<TranscribeBatched<PlayerId>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscribeBatched<PlayerId>, string>>((PrintfFormat<FSharpFunc<TranscribeBatched<PlayerId>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscribeBatched<FSharpFunc<TranscribeBatched<PlayerId>, string>>, string>, Unit, string, string, string>("%+0.8A"))).Invoke((TranscribeBatched<TranscribeBatched<PlayerId>>)(object)this); } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<TranscribeBatched<TranscribeBatched<PlayerId>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscribeBatched<PlayerId>, string>>((PrintfFormat<FSharpFunc<TranscribeBatched<PlayerId>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscribeBatched<FSharpFunc<TranscribeBatched<PlayerId>, string>>, string>, Unit, string, string, TranscribeBatched<FSharpFunc<TranscribeBatched<PlayerId>, string>>>("%+A"))).Invoke((TranscribeBatched<TranscribeBatched<PlayerId>>)(object)this); } [CompilerGenerated] public virtual sealed int CompareTo(TranscribeBatched<PlayerId> obj) { if (this != null) { if (obj != null) { int num = ((this is BatchedEnd) ? 2 : ((this is BatchedFound) ? 1 : 0)); int num2 = ((obj is BatchedEnd) ? 2 : ((obj is BatchedFound) ? 1 : 0)); if (num == num2) { IComparer genericComparer; if (!(this is BatchedStart)) { if (this is BatchedFound) { BatchedFound batchedFound = (BatchedFound)this; BatchedFound batchedFound2 = (BatchedFound)obj; genericComparer = LanguagePrimitives.GenericComparer; BatchedFound<PlayerId> item = batchedFound.item; BatchedFound<PlayerId> item2 = batchedFound2.item; return item.CompareTo(item2, genericComparer); } if (this is BatchedEnd) { BatchedEnd batchedEnd = (BatchedEnd)this; BatchedEnd batchedEnd2 = (BatchedEnd)obj; genericComparer = LanguagePrimitives.GenericComparer; Recognition.BatchedEnd item3 = batchedEnd.item; Recognition.BatchedEnd item4 = batchedEnd2.item; return item3.CompareTo(item4, genericComparer); } } BatchedStart batchedStart = (BatchedStart)this; BatchedStart batchedStart2 = (BatchedStart)obj; genericComparer = LanguagePrimitives.GenericComparer; BatchedStart<PlayerId> item5 = batchedStart.item; BatchedStart<PlayerId> item6 = batchedStart2.item; return item5.CompareTo(item6, genericComparer); } return num - num2; } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public virtual sealed int CompareTo(object obj) { return CompareTo((TranscribeBatched<PlayerId>)obj); } [CompilerGenerated] public virtual sealed int CompareTo(object obj, IComparer comp) { TranscribeBatched<PlayerId> transcribeBatched = (TranscribeBatched<PlayerId>)obj; if (this != null) { if ((TranscribeBatched<PlayerId>)obj != null) { int num = ((this is BatchedEnd) ? 2 : ((this is BatchedFound) ? 1 : 0)); TranscribeBatched<PlayerId> transcribeBatched2 = transcribeBatched; int num2 = ((transcribeBatched2 is BatchedEnd) ? 2 : ((transcribeBatched2 is BatchedFound) ? 1 : 0)); if (num == num2) { if (!(this is BatchedStart)) { if (this is BatchedFound) { BatchedFound batchedFound = (BatchedFound)this; BatchedFound batchedFound2 = (BatchedFound)transcribeBatched; BatchedFound<PlayerId> item = batchedFound.item; BatchedFound<PlayerId> item2 = batchedFound2.item; return item.CompareTo(item2, comp); } if (this is BatchedEnd) { BatchedEnd batchedEnd = (BatchedEnd)this; BatchedEnd batchedEnd2 = (BatchedEnd)transcribeBatched; Recognition.BatchedEnd item3 = batchedEnd.item; Recognition.BatchedEnd item4 = batchedEnd2.item; return item3.CompareTo(item4, comp); } } BatchedStart batchedStart = (BatchedStart)this; BatchedStart batchedStart2 = (BatchedStart)transcribeBatched; BatchedStart<PlayerId> item5 = batchedStart.item; BatchedStart<PlayerId> item6 = batchedStart2.item; return item5.CompareTo(item6, comp); } return num - num2; } return 1; } if ((TranscribeBatched<PlayerId>)obj != null) { return -1; } return 0; } [CompilerGenerated] public virtual sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; if (!(this is BatchedStart)) { if (this is BatchedFound) { BatchedFound batchedFound = (BatchedFound)this; num = 1; return -1640531527 + (batchedFound.item.GetHashCode(comp) + ((num << 6) + (num >> 2))); } if (this is BatchedEnd) { BatchedEnd batchedEnd = (BatchedEnd)this; num = 2; return -1640531527 + (batchedEnd.item.GetHashCode(comp) + ((num << 6) + (num >> 2))); } } BatchedStart batchedStart = (BatchedStart)this; num = 0; return -1640531527 + (batchedStart.item.GetHashCode(comp) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public virtual sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is TranscribeBatched<PlayerId> transcribeBatched) { int num = ((this is BatchedEnd) ? 2 : ((this is BatchedFound) ? 1 : 0)); TranscribeBatched<PlayerId> transcribeBatched2 = transcribeBatched; int num2 = ((transcribeBatched2 is BatchedEnd) ? 2 : ((transcribeBatched2 is BatchedFound) ? 1 : 0)); if (num == num2) { if (!(this is BatchedStart)) { if (this is BatchedFound) { BatchedFound batchedFound = (BatchedFound)this; BatchedFound batchedFound2 = (BatchedFound)transcribeBatched; BatchedFound<PlayerId> item = batchedFound.item; BatchedFound<PlayerId> item2 = batchedFound2.item; return item.Equals(item2, comp); } if (this is BatchedEnd) { BatchedEnd batchedEnd = (BatchedEnd)this; BatchedEnd batchedEnd2 = (BatchedEnd)transcribeBatched; Recognition.BatchedEnd item3 = batchedEnd.item; Recognition.BatchedEnd item4 = batchedEnd2.item; return item3.Equals(item4, comp); } } BatchedStart batchedStart = (BatchedStart)this; BatchedStart batchedStart2 = (BatchedStart)transcribeBatched; BatchedStart<PlayerId> item5 = batchedStart.item; BatchedStart<PlayerId> item6 = batchedStart2.item; return item5.Equals(item6, comp); } return false; } return false; } return obj == null; } [CompilerGenerated] public virtual sealed bool Equals(TranscribeBatched<PlayerId> obj) { if (this != null) { if (obj != null) { int num = ((this is BatchedEnd) ? 2 : ((this is BatchedFound) ? 1 : 0)); int num2 = ((obj is BatchedEnd) ? 2 : ((obj is BatchedFound) ? 1 : 0)); if (num == num2) { if (!(this is BatchedStart)) { if (this is BatchedFound) { BatchedFound batchedFound = (BatchedFound)this; BatchedFound batchedFound2 = (BatchedFound)obj; return batchedFound.item.Equals(batchedFound2.item); } if (this is BatchedEnd) { BatchedEnd batchedEnd = (BatchedEnd)this; BatchedEnd batchedEnd2 = (BatchedEnd)obj; return batchedEnd.item.Equals(batchedEnd2.item); } } BatchedStart batchedStart = (BatchedStart)this; BatchedStart batchedStart2 = (BatchedStart)obj; return batchedStart.item.Equals(batchedStart2.item); } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is TranscribeBatched<PlayerId> obj2) { return Equals(obj2); } return false; } } [Serializable] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [DebuggerDisplay("{__DebugDisplay(),nq}")] [CompilationMapping(/*Could not decode attribute arguments.*/)] public class TranscriberInput<PlayerId> : IEquatable<TranscriberInput<PlayerId>>, IStructuralEquatable { public static class Tags { public const int TranscribeLocal = 0; public const int TranscribeBatched = 1; public const int TryTranscribeAudio = 2; public const int SetLanguage = 3; } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscriberInput<>.TranscribeLocal@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] public class TranscribeLocal : TranscriberInput<PlayerId> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal readonly Recorder.RecordAction item; [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public Recorder.RecordAction Item { [CompilerGenerated] [DebuggerNonUserCode] get { return item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscriberInput<>))] [CompilerGenerated] [DebuggerNonUserCode] internal TranscribeLocal(Recorder.RecordAction item) : base(0) { this.item = item; } } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscriberInput<>.TranscribeBatched@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] public class TranscribeBatched : TranscriberInput<PlayerId> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal readonly TranscribeBatched<PlayerId> item; [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeBatched<PlayerId> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscriberInput<>))] [CompilerGenerated] [DebuggerNonUserCode] internal TranscribeBatched(TranscribeBatched<PlayerId> item) : base(1) { this.item = item; } } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscriberInput<>.SetLanguage@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] public class SetLanguage : TranscriberInput<PlayerId> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal readonly string item; [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public string Item { [CompilerGenerated] [DebuggerNonUserCode] get { return item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscriberInput<>))] [CompilerGenerated] [DebuggerNonUserCode] internal SetLanguage(string item) : base(3) { this.item = item; } } [SpecialName] internal class TranscribeLocal@DebugTypeProxy { [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public Recorder.RecordAction Item { [CompilerGenerated] [DebuggerNonUserCode] get { return _obj.item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscriberInput<>))] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeLocal@DebugTypeProxy(TranscribeLocal obj) { _obj = obj; } } [SpecialName] internal class TranscribeBatched@DebugTypeProxy { [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeBatched<PlayerId> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return _obj.item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscriberInput<>))] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeBatched@DebugTypeProxy(TranscribeBatched obj) { _obj = obj; } } [SpecialName] internal class SetLanguage@DebugTypeProxy { [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public string Item { [CompilerGenerated] [DebuggerNonUserCode] get { return _obj.item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscriberInput<>))] [CompilerGenerated] [DebuggerNonUserCode] public SetLanguage@DebugTypeProxy(SetLanguage obj) { _obj = obj; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public int Tag { [DebuggerNonUserCode] get; } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsTranscribeLocal { [CompilerGenerated] [DebuggerNonUserCode] get { return Tag == 0; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsTranscribeBatched { [CompilerGenerated] [DebuggerNonUserCode] get { return Tag == 1; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public static TranscriberInput<PlayerId> TryTranscribeAudio { [CompilationMapping(/*Could not decode attribute arguments.*/)] get { return _unique_TryTranscribeAudio; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsTryTranscribeAudio { [CompilerGenerated] [DebuggerNonUserCode] get { return Tag == 2; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsSetLanguage { [CompilerGenerated] [DebuggerNonUserCode] get { return Tag == 3; } } static TranscriberInput() { _unique_TryTranscribeAudio = new TranscriberInput<PlayerId>(2); } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscriberInput<>))] [CompilerGenerated] [DebuggerNonUserCode] internal TranscriberInput(int _tag) { this._tag = _tag; } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static TranscriberInput<PlayerId> NewTranscribeLocal(Recorder.RecordAction item) { return new TranscribeLocal(item); } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static TranscriberInput<PlayerId> NewTranscribeBatched(TranscribeBatched<PlayerId> item) { return new TranscribeBatched(item); } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static TranscriberInput<PlayerId> NewSetLanguage(string item) { return new SetLanguage(item); } [SpecialName] [CompilerGenerated] [DebuggerNonUserCode] internal object __DebugDisplay() { return ((FSharpFunc<TranscriberInput<TranscriberInput<PlayerId>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscriberInput<PlayerId>, string>>((PrintfFormat<FSharpFunc<TranscriberInput<PlayerId>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscriberInput<FSharpFunc<TranscriberInput<PlayerId>, string>>, string>, Unit, string, string, string>("%+0.8A"))).Invoke((TranscriberInput<TranscriberInput<PlayerId>>)(object)this); } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<TranscriberInput<TranscriberInput<PlayerId>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscriberInput<PlayerId>, string>>((PrintfFormat<FSharpFunc<TranscriberInput<PlayerId>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscriberInput<FSharpFunc<TranscriberInput<PlayerId>, string>>, string>, Unit, string, string, TranscriberInput<FSharpFunc<TranscriberInput<PlayerId>, string>>>("%+A"))).Invoke((TranscriberInput<TranscriberInput<PlayerId>>)(object)this); } [CompilerGenerated] public virtual sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; switch (Tag) { case 0: { TranscribeLocal transcribeLocal = (TranscribeLocal)this; num = 0; return -1640531527 + (transcribeLocal.item.GetHashCode(comp) + ((num << 6) + (num >> 2))); } case 1: { TranscribeBatched transcribeBatched = (TranscribeBatched)this; num = 1; return -1640531527 + (transcribeBatched.item.GetHashCode(comp) + ((num << 6) + (num >> 2))); } case 3: { SetLanguage setLanguage = (SetLanguage)this; num = 3; return -1640531527 + ((setLanguage.item?.GetHashCode() ?? 0) + ((num << 6) + (num >> 2))); } default: return _tag; } } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public virtual sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is TranscriberInput<PlayerId> transcriberInput) { int tag = _tag; int tag2 = transcriberInput._tag; if (tag == tag2) { switch (Tag) { case 0: { TranscribeLocal transcribeLocal = (TranscribeLocal)this; TranscribeLocal transcribeLocal2 = (TranscribeLocal)transcriberInput; Recorder.RecordAction item3 = transcribeLocal.item; Recorder.RecordAction item4 = transcribeLocal2.item; return item3.Equals(item4, comp); } case 1: { TranscribeBatched transcribeBatched = (TranscribeBatched)this; TranscribeBatched transcribeBatched2 = (TranscribeBatched)transcriberInput; TranscribeBatched<PlayerId> item = transcribeBatched.item; TranscribeBatched<PlayerId> item2 = transcribeBatched2.item; return item.Equals(item2, comp); } case 3: { SetLanguage setLanguage = (SetLanguage)this; SetLanguage setLanguage2 = (SetLanguage)transcriberInput; return string.Equals(setLanguage.item, setLanguage2.item); } default: return true; } } return false; } return false; } return obj == null; } [CompilerGenerated] public virtual sealed bool Equals(TranscriberInput<PlayerId> obj) { if (this != null) { if (obj != null) { int tag = _tag; int tag2 = obj._tag; if (tag == tag2) { switch (Tag) { case 0: { TranscribeLocal transcribeLocal = (TranscribeLocal)this; TranscribeLocal transcribeLocal2 = (TranscribeLocal)obj; return transcribeLocal.item.Equals(transcribeLocal2.item); } case 1: { TranscribeBatched transcribeBatched = (TranscribeBatched)this; TranscribeBatched transcribeBatched2 = (TranscribeBatched)obj; return transcribeBatched.item.Equals(transcribeBatched2.item); } case 3: { SetLanguage setLanguage = (SetLanguage)this; SetLanguage setLanguage2 = (SetLanguage)obj; return string.Equals(setLanguage.item, setLanguage2.item); } default: return true; } } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is TranscriberInput<PlayerId> obj2) { return Equals(obj2); } return false; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class TranscribeRequest : IEquatable<TranscribeRequest>, IStructuralEquatable, IComparable<TranscribeRequest>, IComparable, IStructuralComparable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal float[][] samplesBatch@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal string language@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public float[][] samplesBatch { [CompilerGenerated] [DebuggerNonUserCode] get { return samplesBatch@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public string language { [CompilerGenerated] [DebuggerNonUserCode] get { return language@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeRequest))] public TranscribeRequest(float[][] samplesBatch, string language) { samplesBatch@ = samplesBatch; language@ = language; } [CompilerGenerated] public override string ToString() { return ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscribeRequest, string>>((PrintfFormat<FSharpFunc<TranscribeRequest, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscribeRequest, string>, Unit, string, string, TranscribeRequest>("%+A")).Invoke(this); } [CompilerGenerated] public sealed int CompareTo(TranscribeRequest obj) { if (this != null) { if (obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<float[][]>(LanguagePrimitives.GenericComparer, samplesBatch@, obj.samplesBatch@); if (num < 0) { return num; } if (num > 0) { return num; } IComparer genericComparer = LanguagePrimitives.GenericComparer; return string.CompareOrdinal(language@, obj.language@); } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int CompareTo(object obj) { return CompareTo((TranscribeRequest)obj); } [CompilerGenerated] public sealed int CompareTo(object obj, IComparer comp) { TranscribeRequest transcribeRequest = (TranscribeRequest)obj; if (this != null) { if ((TranscribeRequest)obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<float[][]>(comp, samplesBatch@, transcribeRequest.samplesBatch@); if (num < 0) { return num; } if (num > 0) { return num; } return string.CompareOrdinal(language@, transcribeRequest.language@); } return 1; } if ((TranscribeRequest)obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; num = -1640531527 + ((language@?.GetHashCode() ?? 0) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<float[][]>(comp, samplesBatch@) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is TranscribeRequest transcribeRequest) { if (HashCompare.GenericEqualityWithComparerIntrinsic<float[][]>(comp, samplesBatch@, transcribeRequest.samplesBatch@)) { return string.Equals(language@, transcribeRequest.language@); } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed bool Equals(TranscribeRequest obj) { if (this != null) { if (obj != null) { if (HashCompare.GenericEqualityERIntrinsic<float[][]>(samplesBatch@, obj.samplesBatch@)) { return string.Equals(language@, obj.language@); } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is TranscribeRequest obj2) { return Equals(obj2); } return false; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class TranscribeFound<Transcription> : IEquatable<TranscribeFound<Transcription>>, IStructuralEquatable, IComparable<TranscribeFound<Transcription>>, IComparable, IStructuralComparable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid fileId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Detection.VADFrame vadFrame@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Transcription transcription@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public Guid fileId { [CompilerGenerated] [DebuggerNonUserCode] get { return fileId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Detection.VADFrame vadFrame { [CompilerGenerated] [DebuggerNonUserCode] get { return vadFrame@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Transcription transcription { [CompilerGenerated] [DebuggerNonUserCode] get { return transcription@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeFound<>))] public TranscribeFound(Guid fileId, Detection.VADFrame vadFrame, Transcription transcription) { fileId@ = fileId; vadFrame@ = vadFrame; transcription@ = transcription; } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<TranscribeFound<TranscribeFound<Transcription>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscribeFound<Transcription>, string>>((PrintfFormat<FSharpFunc<TranscribeFound<Transcription>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscribeFound<FSharpFunc<TranscribeFound<Transcription>, string>>, string>, Unit, string, string, TranscribeFound<FSharpFunc<TranscribeFound<Transcription>, string>>>("%+A"))).Invoke((TranscribeFound<TranscribeFound<Transcription>>)(object)this); } [CompilerGenerated] public sealed int CompareTo(TranscribeFound<Transcription> obj) { if (this != null) { if (obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(LanguagePrimitives.GenericComparer, fileId@, obj.fileId@); if (num < 0) { return num; } if (num > 0) { return num; } IComparer genericComparer = LanguagePrimitives.GenericComparer; Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = obj.vadFrame@; int num2 = vADFrame.CompareTo(vADFrame2, genericComparer); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } genericComparer = LanguagePrimitives.GenericComparer; Transcription val = transcription@; Transcription val2 = obj.transcription@; return HashCompare.GenericComparisonWithComparerIntrinsic<Transcription>(genericComparer, val, val2); } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int CompareTo(object obj) { return CompareTo((TranscribeFound<Transcription>)obj); } [CompilerGenerated] public sealed int CompareTo(object obj, IComparer comp) { TranscribeFound<Transcription> transcribeFound = (TranscribeFound<Transcription>)obj; if (this != null) { if ((TranscribeFound<Transcription>)obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(comp, fileId@, transcribeFound.fileId@); if (num < 0) { return num; } if (num > 0) { return num; } Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = transcribeFound.vadFrame@; int num2 = vADFrame.CompareTo(vADFrame2, comp); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } Transcription val = transcription@; Transcription val2 = transcribeFound.transcription@; return HashCompare.GenericComparisonWithComparerIntrinsic<Transcription>(comp, val, val2); } return 1; } if ((TranscribeFound<Transcription>)obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; Transcription val = transcription@; num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Transcription>(comp, val) + ((num << 6) + (num >> 2))); Detection.VADFrame vADFrame = vadFrame@; num = -1640531527 + (vADFrame.GetHashCode(comp) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, fileId@) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is TranscribeFound<Transcription> transcribeFound) { if (HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, fileId@, transcribeFound.fileId@)) { Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = transcribeFound.vadFrame@; if (vADFrame.Equals(vADFrame2, comp)) { Transcription val = transcription@; Transcription val2 = transcribeFound.transcription@; return HashCompare.GenericEqualityWithComparerIntrinsic<Transcription>(comp, val, val2); } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed bool Equals(TranscribeFound<Transcription> obj) { if (this != null) { if (obj != null) { if (HashCompare.GenericEqualityERIntrinsic<Guid>(fileId@, obj.fileId@)) { Detection.VADFrame vADFrame = vadFrame@; if (vADFrame.Equals(obj.vadFrame@)) { Transcription val = transcription@; Transcription val2 = obj.transcription@; return HashCompare.GenericEqualityERIntrinsic<Transcription>(val, val2); } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is TranscribeFound<Transcription> obj2) { return Equals(obj2); } return false; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class TranscribeEnd<Transcription> : IEquatable<TranscribeEnd<Transcription>>, IStructuralEquatable, IComparable<TranscribeEnd<Transcription>>, IComparable, IStructuralComparable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid fileId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Detection.VADFrame vadFrame@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpList<Detection.VADFrame> vadTimings@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Transcription transcription@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public Guid fileId { [CompilerGenerated] [DebuggerNonUserCode] get { return fileId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Detection.VADFrame vadFrame { [CompilerGenerated] [DebuggerNonUserCode] get { return vadFrame@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpList<Detection.VADFrame> vadTimings { [CompilerGenerated] [DebuggerNonUserCode] get { return vadTimings@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Transcription transcription { [CompilerGenerated] [DebuggerNonUserCode] get { return transcription@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeEnd<>))] public TranscribeEnd(Guid fileId, Detection.VADFrame vadFrame, FSharpList<Detection.VADFrame> vadTimings, Transcription transcription) { fileId@ = fileId; vadFrame@ = vadFrame; vadTimings@ = vadTimings; transcription@ = transcription; } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<TranscribeEnd<TranscribeEnd<Transcription>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscribeEnd<Transcription>, string>>((PrintfFormat<FSharpFunc<TranscribeEnd<Transcription>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscribeEnd<FSharpFunc<TranscribeEnd<Transcription>, string>>, string>, Unit, string, string, TranscribeEnd<FSharpFunc<TranscribeEnd<Transcription>, string>>>("%+A"))).Invoke((TranscribeEnd<TranscribeEnd<Transcription>>)(object)this); } [CompilerGenerated] public sealed int CompareTo(TranscribeEnd<Transcription> obj) { if (this != null) { if (obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(LanguagePrimitives.GenericComparer, fileId@, obj.fileId@); if (num < 0) { return num; } if (num > 0) { return num; } IComparer genericComparer = LanguagePrimitives.GenericComparer; Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = obj.vadFrame@; int num2 = vADFrame.CompareTo(vADFrame2, genericComparer); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } genericComparer = LanguagePrimitives.GenericComparer; FSharpList<Detection.VADFrame> val = vadTimings@; FSharpList<Detection.VADFrame> val2 = obj.vadTimings@; int num3 = val.CompareTo((object)val2, genericComparer); if (num3 < 0) { return num3; } if (num3 > 0) { return num3; } genericComparer = LanguagePrimitives.GenericComparer; Transcription val3 = transcription@; Transcription val4 = obj.transcription@; return HashCompare.GenericComparisonWithComparerIntrinsic<Transcription>(genericComparer, val3, val4); } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int CompareTo(object obj) { return CompareTo((TranscribeEnd<Transcription>)obj); } [CompilerGenerated] public sealed int CompareTo(object obj, IComparer comp) { TranscribeEnd<Transcription> transcribeEnd = (TranscribeEnd<Transcription>)obj; if (this != null) { if ((TranscribeEnd<Transcription>)obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(comp, fileId@, transcribeEnd.fileId@); if (num < 0) { return num; } if (num > 0) { return num; } Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = transcribeEnd.vadFrame@; int num2 = vADFrame.CompareTo(vADFrame2, comp); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } FSharpList<Detection.VADFrame> val = vadTimings@; FSharpList<Detection.VADFrame> val2 = transcribeEnd.vadTimings@; int num3 = val.CompareTo((object)val2, comp); if (num3 < 0) { return num3; } if (num3 > 0) { return num3; } Transcription val3 = transcription@; Transcription val4 = transcribeEnd.transcription@; return HashCompare.GenericComparisonWithComparerIntrinsic<Transcription>(comp, val3, val4); } return 1; } if ((TranscribeEnd<Transcription>)obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; Transcription val = transcription@; num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Transcription>(comp, val) + ((num << 6) + (num >> 2))); num = -1640531527 + (vadTimings@.GetHashCode(comp) + ((num << 6) + (num >> 2))); Detection.VADFrame vADFrame = vadFrame@; num = -1640531527 + (vADFrame.GetHashCode(comp) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, fileId@) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is TranscribeEnd<Transcription> transcribeEnd) { if (HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, fileId@, transcribeEnd.fileId@)) { Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = transcribeEnd.vadFrame@; if (vADFrame.Equals(vADFrame2, comp)) { FSharpList<Detection.VADFrame> val = vadTimings@; FSharpList<Detection.VADFrame> val2 = transcribeEnd.vadTimings@; if (val.Equals((object)val2, comp)) { Transcription val3 = transcription@; Transcription val4 = transcribeEnd.transcription@; return HashCompare.GenericEqualityWithComparerIntrinsic<Transcription>(comp, val3, val4); } return false; } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed bool Equals(TranscribeEnd<Transcription> obj) { if (this != null) { if (obj != null) { if (HashCompare.GenericEqualityERIntrinsic<Guid>(fileId@, obj.fileId@)) { Detection.VADFrame vADFrame = vadFrame@; if (vADFrame.Equals(obj.vadFrame@)) { if (HashCompare.GenericEqualityERIntrinsic<FSharpList<Detection.VADFrame>>(vadTimings@, obj.vadTimings@)) { Transcription val = transcription@; Transcription val2 = obj.transcription@; return HashCompare.GenericEqualityERIntrinsic<Transcription>(val, val2); } return false; } return false; } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is TranscribeEnd<Transcription> obj2) { return Equals(obj2); } return false; } } [Serializable] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [DebuggerDisplay("{__DebugDisplay(),nq}")] [CompilationMapping(/*Could not decode attribute arguments.*/)] public abstract class TranscribeLocalAction<Transcription> : IEquatable<TranscribeLocalAction<Transcription>>, IStructuralEquatable, IComparable<TranscribeLocalAction<Transcription>>, IComparable, IStructuralComparable { public static class Tags { public const int TranscribeStart = 0; public const int TranscribeFound = 1; public const int TranscribeEnd = 2; } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscribeLocalAction<>._TranscribeStart@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] internal class _TranscribeStart : TranscribeLocalAction<Transcription> { [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeLocalAction<>))] [CompilerGenerated] [DebuggerNonUserCode] internal _TranscribeStart() { } } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscribeLocalAction<>.TranscribeFound@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] public class TranscribeFound : TranscribeLocalAction<Transcription> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal readonly TranscribeFound<Transcription> item; [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeFound<Transcription> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeLocalAction<>))] [CompilerGenerated] [DebuggerNonUserCode] internal TranscribeFound(TranscribeFound<Transcription> item) { this.item = item; } } [Serializable] [SpecialName] [DebuggerTypeProxy(typeof(TranscribeLocalAction<>.TranscribeEnd@DebugTypeProxy))] [DebuggerDisplay("{__DebugDisplay(),nq}")] public class TranscribeEnd : TranscribeLocalAction<Transcription> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal readonly TranscribeEnd<Transcription> item; [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeEnd<Transcription> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeLocalAction<>))] [CompilerGenerated] [DebuggerNonUserCode] internal TranscribeEnd(TranscribeEnd<Transcription> item) { this.item = item; } } [SpecialName] internal class _TranscribeStart@DebugTypeProxy { [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeLocalAction<>))] [CompilerGenerated] [DebuggerNonUserCode] public _TranscribeStart@DebugTypeProxy(_TranscribeStart obj) { _obj = obj; } } [SpecialName] internal class TranscribeFound@DebugTypeProxy { [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeFound<Transcription> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return _obj.item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeLocalAction<>))] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeFound@DebugTypeProxy(TranscribeFound obj) { _obj = obj; } } [SpecialName] internal class TranscribeEnd@DebugTypeProxy { [CompilationMapping(/*Could not decode attribute arguments.*/)] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeEnd<Transcription> Item { [CompilerGenerated] [DebuggerNonUserCode] get { return _obj.item; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeLocalAction<>))] [CompilerGenerated] [DebuggerNonUserCode] public TranscribeEnd@DebugTypeProxy(TranscribeEnd obj) { _obj = obj; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public int Tag { [CompilerGenerated] [DebuggerNonUserCode] get { return (this is TranscribeEnd) ? 2 : ((this is TranscribeFound) ? 1 : 0); } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public static TranscribeLocalAction<Transcription> TranscribeStart { [CompilationMapping(/*Could not decode attribute arguments.*/)] get { return _unique_TranscribeStart; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsTranscribeStart { [CompilerGenerated] [DebuggerNonUserCode] get { return this is _TranscribeStart; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsTranscribeFound { [CompilerGenerated] [DebuggerNonUserCode] get { return this is TranscribeFound; } } [CompilerGenerated] [DebuggerNonUserCode] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public bool IsTranscribeEnd { [CompilerGenerated] [DebuggerNonUserCode] get { return this is TranscribeEnd; } } static TranscribeLocalAction() { _unique_TranscribeStart = new _TranscribeStart(); } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeLocalAction<>))] [CompilerGenerated] [DebuggerNonUserCode] internal TranscribeLocalAction() { } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static TranscribeLocalAction<Transcription> NewTranscribeFound(TranscribeFound<Transcription> item) { return new TranscribeFound(item); } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static TranscribeLocalAction<Transcription> NewTranscribeEnd(TranscribeEnd<Transcription> item) { return new TranscribeEnd(item); } [SpecialName] [CompilerGenerated] [DebuggerNonUserCode] internal object __DebugDisplay() { return ((FSharpFunc<TranscribeLocalAction<TranscribeLocalAction<Transcription>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscribeLocalAction<Transcription>, string>>((PrintfFormat<FSharpFunc<TranscribeLocalAction<Transcription>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscribeLocalAction<FSharpFunc<TranscribeLocalAction<Transcription>, string>>, string>, Unit, string, string, string>("%+0.8A"))).Invoke((TranscribeLocalAction<TranscribeLocalAction<Transcription>>)(object)this); } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<TranscribeLocalAction<TranscribeLocalAction<Transcription>>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscribeLocalAction<Transcription>, string>>((PrintfFormat<FSharpFunc<TranscribeLocalAction<Transcription>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscribeLocalAction<FSharpFunc<TranscribeLocalAction<Transcription>, string>>, string>, Unit, string, string, TranscribeLocalAction<FSharpFunc<TranscribeLocalAction<Transcription>, string>>>("%+A"))).Invoke((TranscribeLocalAction<TranscribeLocalAction<Transcription>>)(object)this); } [CompilerGenerated] public virtual sealed int CompareTo(TranscribeLocalAction<Transcription> obj) { if (this != null) { if (obj != null) { int num = ((this is TranscribeEnd) ? 2 : ((this is TranscribeFound) ? 1 : 0)); int num2 = ((obj is TranscribeEnd) ? 2 : ((obj is TranscribeFound) ? 1 : 0)); if (num == num2) { IComparer genericComparer; if (!(this is TranscribeFound)) { if (this is TranscribeEnd) { TranscribeEnd transcribeEnd = (TranscribeEnd)this; TranscribeEnd transcribeEnd2 = (TranscribeEnd)obj; genericComparer = LanguagePrimitives.GenericComparer; TranscribeEnd<Transcription> item = transcribeEnd.item; TranscribeEnd<Transcription> item2 = transcribeEnd2.item; return item.CompareTo(item2, genericComparer); } return 0; } TranscribeFound transcribeFound = (TranscribeFound)this; TranscribeFound transcribeFound2 = (TranscribeFound)obj; genericComparer = LanguagePrimitives.GenericComparer; TranscribeFound<Transcription> item3 = transcribeFound.item; TranscribeFound<Transcription> item4 = transcribeFound2.item; return item3.CompareTo(item4, genericComparer); } return num - num2; } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public virtual sealed int CompareTo(object obj) { return CompareTo((TranscribeLocalAction<Transcription>)obj); } [CompilerGenerated] public virtual sealed int CompareTo(object obj, IComparer comp) { TranscribeLocalAction<Transcription> transcribeLocalAction = (TranscribeLocalAction<Transcription>)obj; if (this != null) { if ((TranscribeLocalAction<Transcription>)obj != null) { int num = ((this is TranscribeEnd) ? 2 : ((this is TranscribeFound) ? 1 : 0)); TranscribeLocalAction<Transcription> transcribeLocalAction2 = transcribeLocalAction; int num2 = ((transcribeLocalAction2 is TranscribeEnd) ? 2 : ((transcribeLocalAction2 is TranscribeFound) ? 1 : 0)); if (num == num2) { if (!(this is TranscribeFound)) { if (this is TranscribeEnd) { TranscribeEnd transcribeEnd = (TranscribeEnd)this; TranscribeEnd transcribeEnd2 = (TranscribeEnd)transcribeLocalAction; TranscribeEnd<Transcription> item = transcribeEnd.item; TranscribeEnd<Transcription> item2 = transcribeEnd2.item; return item.CompareTo(item2, comp); } return 0; } TranscribeFound transcribeFound = (TranscribeFound)this; TranscribeFound transcribeFound2 = (TranscribeFound)transcribeLocalAction; TranscribeFound<Transcription> item3 = transcribeFound.item; TranscribeFound<Transcription> item4 = transcribeFound2.item; return item3.CompareTo(item4, comp); } return num - num2; } return 1; } if ((TranscribeLocalAction<Transcription>)obj != null) { return -1; } return 0; } [CompilerGenerated] public virtual sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; if (!(this is TranscribeFound)) { if (this is TranscribeEnd) { TranscribeEnd transcribeEnd = (TranscribeEnd)this; num = 2; return -1640531527 + (transcribeEnd.item.GetHashCode(comp) + ((num << 6) + (num >> 2))); } return (this is TranscribeEnd) ? 2 : ((this is TranscribeFound) ? 1 : 0); } TranscribeFound transcribeFound = (TranscribeFound)this; num = 1; return -1640531527 + (transcribeFound.item.GetHashCode(comp) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public virtual sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is TranscribeLocalAction<Transcription> transcribeLocalAction) { int num = ((this is TranscribeEnd) ? 2 : ((this is TranscribeFound) ? 1 : 0)); TranscribeLocalAction<Transcription> transcribeLocalAction2 = transcribeLocalAction; int num2 = ((transcribeLocalAction2 is TranscribeEnd) ? 2 : ((transcribeLocalAction2 is TranscribeFound) ? 1 : 0)); if (num == num2) { if (!(this is TranscribeFound)) { if (this is TranscribeEnd) { TranscribeEnd transcribeEnd = (TranscribeEnd)this; TranscribeEnd transcribeEnd2 = (TranscribeEnd)transcribeLocalAction; TranscribeEnd<Transcription> item = transcribeEnd.item; TranscribeEnd<Transcription> item2 = transcribeEnd2.item; return item.Equals(item2, comp); } return true; } TranscribeFound transcribeFound = (TranscribeFound)this; TranscribeFound transcribeFound2 = (TranscribeFound)transcribeLocalAction; TranscribeFound<Transcription> item3 = transcribeFound.item; TranscribeFound<Transcription> item4 = transcribeFound2.item; return item3.Equals(item4, comp); } return false; } return false; } return obj == null; } [CompilerGenerated] public virtual sealed bool Equals(TranscribeLocalAction<Transcription> obj) { if (this != null) { if (obj != null) { int num = ((this is TranscribeEnd) ? 2 : ((this is TranscribeFound) ? 1 : 0)); int num2 = ((obj is TranscribeEnd) ? 2 : ((obj is TranscribeFound) ? 1 : 0)); if (num == num2) { if (!(this is TranscribeFound)) { if (this is TranscribeEnd) { TranscribeEnd transcribeEnd = (TranscribeEnd)this; TranscribeEnd transcribeEnd2 = (TranscribeEnd)obj; return transcribeEnd.item.Equals(transcribeEnd2.item); } return true; } TranscribeFound transcribeFound = (TranscribeFound)this; TranscribeFound transcribeFound2 = (TranscribeFound)obj; return transcribeFound.item.Equals(transcribeFound2.item); } return false; } return false; } return obj == null; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is TranscribeLocalAction<Transcription> obj2) { return Equals(obj2); } return false; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class TranscribeBatchedFound<PlayerId, Transcription> : IEquatable<TranscribeBatchedFound<PlayerId, Transcription>>, IStructuralEquatable, IComparable<TranscribeBatchedFound<PlayerId, Transcription>>, IComparable, IStructuralComparable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid fileId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal PlayerId playerId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Guid sentenceId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Detection.VADFrame vadFrame@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal Transcription transcription@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public Guid fileId { [CompilerGenerated] [DebuggerNonUserCode] get { return fileId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public PlayerId playerId { [CompilerGenerated] [DebuggerNonUserCode] get { return playerId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Guid sentenceId { [CompilerGenerated] [DebuggerNonUserCode] get { return sentenceId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Detection.VADFrame vadFrame { [CompilerGenerated] [DebuggerNonUserCode] get { return vadFrame@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public Transcription transcription { [CompilerGenerated] [DebuggerNonUserCode] get { return transcription@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(TranscribeBatchedFound<, >))] public TranscribeBatchedFound(Guid fileId, PlayerId playerId, Guid sentenceId, Detection.VADFrame vadFrame, Transcription transcription) { fileId@ = fileId; playerId@ = playerId; sentenceId@ = sentenceId; vadFrame@ = vadFrame; transcription@ = transcription; } [CompilerGenerated] public override string ToString() { return ((FSharpFunc<TranscribeBatchedFound<TranscribeBatchedFound<PlayerId, Transcription>, string>, string>)(object)ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<TranscribeBatchedFound<PlayerId, Transcription>, string>>((PrintfFormat<FSharpFunc<TranscribeBatchedFound<PlayerId, Transcription>, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<TranscribeBatchedFound<FSharpFunc<TranscribeBatchedFound<PlayerId, Transcription>, string>, Unit>, string>, Unit, string, string, TranscribeBatchedFound<FSharpFunc<TranscribeBatchedFound<PlayerId, Transcription>, string>, Unit>>("%+A"))).Invoke((TranscribeBatchedFound<TranscribeBatchedFound<PlayerId, Transcription>, string>)(object)this); } [CompilerGenerated] public sealed int CompareTo(TranscribeBatchedFound<PlayerId, Transcription> obj) { if (this != null) { if (obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(LanguagePrimitives.GenericComparer, fileId@, obj.fileId@); if (num < 0) { return num; } if (num > 0) { return num; } IComparer genericComparer = LanguagePrimitives.GenericComparer; PlayerId val = playerId@; PlayerId val2 = obj.playerId@; int num2 = HashCompare.GenericComparisonWithComparerIntrinsic<PlayerId>(genericComparer, val, val2); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } int num3 = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(LanguagePrimitives.GenericComparer, sentenceId@, obj.sentenceId@); if (num3 < 0) { return num3; } if (num3 > 0) { return num3; } genericComparer = LanguagePrimitives.GenericComparer; Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = obj.vadFrame@; int num4 = vADFrame.CompareTo(vADFrame2, genericComparer); if (num4 < 0) { return num4; } if (num4 > 0) { return num4; } genericComparer = LanguagePrimitives.GenericComparer; Transcription val3 = transcription@; Transcription val4 = obj.transcription@; return HashCompare.GenericComparisonWithComparerIntrinsic<Transcription>(genericComparer, val3, val4); } return 1; } if (obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int CompareTo(object obj) { return CompareTo((TranscribeBatchedFound<PlayerId, Transcription>)obj); } [CompilerGenerated] public sealed int CompareTo(object obj, IComparer comp) { TranscribeBatchedFound<PlayerId, Transcription> transcribeBatchedFound = (TranscribeBatchedFound<PlayerId, Transcription>)obj; if (this != null) { if ((TranscribeBatchedFound<PlayerId, Transcription>)obj != null) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(comp, fileId@, transcribeBatchedFound.fileId@); if (num < 0) { return num; } if (num > 0) { return num; } PlayerId val = playerId@; PlayerId val2 = transcribeBatchedFound.playerId@; int num2 = HashCompare.GenericComparisonWithComparerIntrinsic<PlayerId>(comp, val, val2); if (num2 < 0) { return num2; } if (num2 > 0) { return num2; } int num3 = HashCompare.GenericComparisonWithComparerIntrinsic<Guid>(comp, sentenceId@, transcribeBatchedFound.sentenceId@); if (num3 < 0) { return num3; } if (num3 > 0) { return num3; } Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = transcribeBatchedFound.vadFrame@; int num4 = vADFrame.CompareTo(vADFrame2, comp); if (num4 < 0) { return num4; } if (num4 > 0) { return num4; } Transcription val3 = transcription@; Transcription val4 = transcribeBatchedFound.transcription@; return HashCompare.GenericComparisonWithComparerIntrinsic<Transcription>(comp, val3, val4); } return 1; } if ((TranscribeBatchedFound<PlayerId, Transcription>)obj != null) { return -1; } return 0; } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { if (this != null) { int num = 0; Transcription val = transcription@; num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Transcription>(comp, val) + ((num << 6) + (num >> 2))); Detection.VADFrame vADFrame = vadFrame@; num = -1640531527 + (vADFrame.GetHashCode(comp) + ((num << 6) + (num >> 2))); num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, sentenceId@) + ((num << 6) + (num >> 2))); PlayerId val2 = playerId@; num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<PlayerId>(comp, val2) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<Guid>(comp, fileId@) + ((num << 6) + (num >> 2))); } return 0; } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (this != null) { if (obj is TranscribeBatchedFound<PlayerId, Transcription> transcribeBatchedFound) { if (HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, fileId@, transcribeBatchedFound.fileId@)) { PlayerId val = playerId@; PlayerId val2 = transcribeBatchedFound.playerId@; if (HashCompare.GenericEqualityWithComparerIntrinsic<PlayerId>(comp, val, val2)) { if (HashCompare.GenericEqualityWithComparerIntrinsic<Guid>(comp, sentenceId@, transcribeBatchedFound.sentenceId@)) { Detection.VADFrame vADFrame = vadFrame@; Detection.VADFrame vADFrame2 = transcribeBatchedFound.vadFrame@; if (vADFrame.Equals(vADFrame2, comp)) { Transcription val3 = transcription@; Transcription val4 = transcribeBatchedFound.transcription@; return HashCompare.GenericEqualityWithComparerIntrinsic<Transcription>(comp, val3, val4); } return false; } return fals
BepInEx/plugins/Mirage.dll
Decompiled 7 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.ExceptionServices; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security.Permissions; using System.Threading; using System.Threading.Tasks; using <StartupCode$Mirage>; using <StartupCode$Mirage>.$Mirage.Domain; using <StartupCode$Mirage>.$Mirage.Domain.Audio; using <StartupCode$Mirage>.$Mirage.Hook; using <StartupCode$Mirage>.$Mirage.Unity; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using Dissonance; using Dissonance.Audio.Capture; using Dissonance.Audio.Playback; using FSharpPlus; using FSharpPlus.Control; using FSharpPlus.Data; using FSharpPlus.Internals; using FSharpx.Control; using GameNetcodeStuff; using Microsoft.FSharp.Collections; using Microsoft.FSharp.Control; using Microsoft.FSharp.Core; using Mirage.Core.Async; using Mirage.Core.Audio.File; using Mirage.Core.Audio.Microphone; using Mirage.Domain; using Mirage.Domain.Audio; using Mirage.Hook; using Mirage.NetcodePatcher; using Mirage.Unity; using NAudio.Lame; using NAudio.Wave; using Newtonsoft.Json; using On; using On.Dissonance; using On.GameNetcodeStuff; using On.Unity.Netcode; using Silero; using Unity.Collections; using Unity.Netcode; using UnityEngine; [assembly: FSharpInterfaceDataVersion(2, 0, 0)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("AmazingAssets.TerrainToMesh")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("ClientNetworkTransform")] [assembly: IgnoresAccessChecksTo("DissonanceVoip")] [assembly: IgnoresAccessChecksTo("Facepunch Transport for Netcode for GameObjects")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("LethalConfig")] [assembly: IgnoresAccessChecksTo("LethalSettings")] [assembly: IgnoresAccessChecksTo("NAudio.Core")] [assembly: IgnoresAccessChecksTo("NAudio")] [assembly: IgnoresAccessChecksTo("NAudio.Lame")] [assembly: IgnoresAccessChecksTo("NAudio.WinMM")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging.DocCodeExamples")] [assembly: IgnoresAccessChecksTo("Unity.Burst")] [assembly: IgnoresAccessChecksTo("Unity.Burst.Unsafe")] [assembly: IgnoresAccessChecksTo("Unity.Collections")] [assembly: IgnoresAccessChecksTo("Unity.Collections.LowLevel.ILSupport")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.Jobs")] [assembly: IgnoresAccessChecksTo("Unity.Mathematics")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.Common")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.MetricTypes")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStats")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Component")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Implementation")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsReporting")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkProfiler.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkSolutionInterface")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Components")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Networking.Transport")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Csg")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.KdTree")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Poly2Tri")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Stl")] [assembly: IgnoresAccessChecksTo("Unity.Profiling.Core")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Config.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.Services.Authentication")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Analytics")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Device")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Networking")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Registration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Scheduler")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Telemetry")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Threading")] [assembly: IgnoresAccessChecksTo("Unity.Services.QoS")] [assembly: IgnoresAccessChecksTo("Unity.Services.Relay")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualEffectGraph.Runtime")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: AssemblyCompany("Mirage")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+97f34ecc8986c8c0a85155e2bf49f25f63e6afe6")] [assembly: AssemblyProduct("Mirage")] [assembly: AssemblyTitle("Mirage")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: NetcodePatchedAssembly] internal class <Module> { static <Module>() { } } namespace Mirage { [Serializable] [BepInPlugin("qwbarch.Mirage", "Mirage", "1.12.2")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [CompilationMapping(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public void Awake() { //IL_00a4: Unknown result type (might be due to invalid IL or missing references) Assembly executingAssembly = Assembly.GetExecutingAssembly(); string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); bool flag = LameDLL.LoadNativeDLL(new string[1] { directoryName }); DirectoryInfo directoryInfo = System.IO.Directory.CreateDirectory(Mirage.Domain.Directory.mirageDirectory); if (!flag) { Mirage.Domain.Logger.logError.Invoke("Failed to load NAudio.Lame. This means no monsters will be able to play your voice.\n" + "Please report this to qwbarch at https://github.com/qwbarch/mirage/issues\n" + PrintfModule.PrintFormatToStringThen<string>((PrintfFormat<string, Unit, string, string>)(object)new PrintfFormat<string, Unit, string, string, string>("Path failed: %P()", new object[1] { directoryName }, (Type[])null))); } Array values = Enum.GetValues(typeof(LogCategory)); IEnumerable<LogCategory> enumerable = SeqModule.Cast<LogCategory>((IEnumerable)values); foreach (LogCategory item in enumerable) { Logs.SetLogLevel(item, (LogLevel)4); } Compatibility.initLethalConfig(executingAssembly, Mirage.Domain.Config.localConfig.General@); Compatibility.initLobbyCompatibility("Mirage", "1.12.2"); Mirage.Domain.Setting.initSettings(Path.Join((ReadOnlySpan<char>)Mirage.Domain.Directory.mirageDirectory, (ReadOnlySpan<char>)"settings.json")); Mirage.Domain.Netcode.initNetcodePatcher(); FSharpAsync.StartImmediate(Mirage.Domain.Audio.Recording.deleteRecordings, (FSharpOption<CancellationToken>)null); Application.quitting += $Plugin.Awake@53.Invoke; Mirage.Hook.Dissonance.cacheDissonance(); Mirage.Hook.AudioSpatializer.disableAudioSpatializer(); Mirage.Hook.Prefab.registerPrefab(); Mirage.Hook.Config.syncConfig(); Mirage.Hook.Microphone.readMicrophone(Mirage.Domain.Directory.recordingDirectory); Mirage.Hook.MaskedPlayerEnemy.hookMaskedEnemy(); } } } namespace <StartupCode$Mirage> { internal static class $Plugin { [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class Awake@53 { internal static void Invoke() { FSharpAsync.StartImmediate(Mirage.Domain.Audio.Recording.deleteRecordings, (FSharpOption<CancellationToken>)null); } } } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class AssemblyInfo { } namespace <StartupCode$Mirage> { internal static class $AssemblyInfo { } } namespace Mirage.Hook { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class Microphone { [Serializable] [Struct] [CompilationMapping(/*Could not decode attribute arguments.*/)] public struct RecordState : IEquatable<RecordState>, IStructuralEquatable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal float[] samples@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal WaveFormat format@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal bool isReady@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal bool isPlayerDead@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal bool pushToTalkEnabled@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal bool isMuted@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal bool allowRecordVoice@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly float[] samples { [CompilerGenerated] [DebuggerNonUserCode] get { return samples@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly WaveFormat format { [CompilerGenerated] [DebuggerNonUserCode] get { return format@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly bool isReady { [CompilerGenerated] [DebuggerNonUserCode] get { return isReady@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly bool isPlayerDead { [CompilerGenerated] [DebuggerNonUserCode] get { return isPlayerDead@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly bool pushToTalkEnabled { [CompilerGenerated] [DebuggerNonUserCode] get { return pushToTalkEnabled@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly bool isMuted { [CompilerGenerated] [DebuggerNonUserCode] get { return isMuted@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly bool allowRecordVoice { [CompilerGenerated] [DebuggerNonUserCode] get { return allowRecordVoice@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(RecordState))] public RecordState(float[] samples, WaveFormat format, bool isReady, bool isPlayerDead, bool pushToTalkEnabled, bool isMuted, bool allowRecordVoice) { samples@ = samples; format@ = format; isReady@ = isReady; isPlayerDead@ = isPlayerDead; pushToTalkEnabled@ = pushToTalkEnabled; isMuted@ = isMuted; allowRecordVoice@ = allowRecordVoice; } [CompilerGenerated] public override string ToString() { return ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<RecordState, string>>((PrintfFormat<FSharpFunc<RecordState, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<RecordState, string>, Unit, string, string, RecordState>("%+A")).Invoke(this); } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { int num = 0; num = -1640531527 + ((allowRecordVoice@ ? 1 : 0) + ((num << 6) + (num >> 2))); num = -1640531527 + ((isMuted@ ? 1 : 0) + ((num << 6) + (num >> 2))); num = -1640531527 + ((pushToTalkEnabled@ ? 1 : 0) + ((num << 6) + (num >> 2))); num = -1640531527 + ((isPlayerDead@ ? 1 : 0) + ((num << 6) + (num >> 2))); num = -1640531527 + ((isReady@ ? 1 : 0) + ((num << 6) + (num >> 2))); num = -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<WaveFormat>(comp, format@) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<float[]>(comp, samples@) + ((num << 6) + (num >> 2))); } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (obj is RecordState recordState) { if (HashCompare.GenericEqualityWithComparerIntrinsic<float[]>(comp, samples@, recordState.samples@)) { if (HashCompare.GenericEqualityWithComparerIntrinsic<WaveFormat>(comp, format@, recordState.format@)) { if (isReady@ == recordState.isReady@) { if (isPlayerDead@ == recordState.isPlayerDead@) { if (pushToTalkEnabled@ == recordState.pushToTalkEnabled@) { if (isMuted@ == recordState.isMuted@) { return allowRecordVoice@ == recordState.allowRecordVoice@; } return false; } return false; } return false; } return false; } return false; } return false; } return false; } [CompilerGenerated] public sealed bool Equals(RecordState obj) { if (HashCompare.GenericEqualityERIntrinsic<float[]>(samples@, obj.samples@)) { if (HashCompare.GenericEqualityERIntrinsic<WaveFormat>(format@, obj.format@)) { if (isReady@ == obj.isReady@) { if (isPlayerDead@ == obj.isPlayerDead@) { if (pushToTalkEnabled@ == obj.pushToTalkEnabled@) { if (isMuted@ == obj.isMuted@) { return allowRecordVoice@ == obj.allowRecordVoice@; } return false; } return false; } return false; } return false; } return false; } return false; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is RecordState) { return Equals((RecordState)obj); } return false; } } [Serializable] [Struct] [CompilationMapping(/*Could not decode attribute arguments.*/)] public struct ProcessingState : IEquatable<ProcessingState>, IStructuralEquatable, IComparable<ProcessingState>, IComparable, IStructuralComparable { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpOption<float> forcedProbability@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal bool allowRecordVoice@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly FSharpOption<float> forcedProbability { [CompilerGenerated] [DebuggerNonUserCode] get { return forcedProbability@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public readonly bool allowRecordVoice { [CompilerGenerated] [DebuggerNonUserCode] get { return allowRecordVoice@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(ProcessingState))] public ProcessingState(FSharpOption<float> forcedProbability, bool allowRecordVoice) { forcedProbability@ = forcedProbability; allowRecordVoice@ = allowRecordVoice; } [CompilerGenerated] public override string ToString() { return ExtraTopLevelOperators.PrintFormatToString<FSharpFunc<ProcessingState, string>>((PrintfFormat<FSharpFunc<ProcessingState, string>, Unit, string, string>)(object)new PrintfFormat<FSharpFunc<ProcessingState, string>, Unit, string, string, ProcessingState>("%+A")).Invoke(this); } [CompilerGenerated] public sealed int CompareTo(ProcessingState obj) { int num = HashCompare.GenericComparisonWithComparerIntrinsic<FSharpOption<float>>(LanguagePrimitives.GenericComparer, forcedProbability@, obj.forcedProbability@); if (num < 0) { return num; } if (num > 0) { return num; } IComparer genericComparer = LanguagePrimitives.GenericComparer; bool flag = allowRecordVoice@; bool flag2 = obj.allowRecordVoice@; return (flag ? 1 : 0) - (flag2 ? 1 : 0); } [CompilerGenerated] public sealed int CompareTo(object obj) { return CompareTo((ProcessingState)obj); } [CompilerGenerated] public sealed int CompareTo(object obj, IComparer comp) { ProcessingState processingState = (ProcessingState)obj; int num = HashCompare.GenericComparisonWithComparerIntrinsic<FSharpOption<float>>(comp, forcedProbability@, processingState.forcedProbability@); if (num < 0) { return num; } if (num > 0) { return num; } bool flag = allowRecordVoice@; bool flag2 = processingState.allowRecordVoice@; return (flag ? 1 : 0) - (flag2 ? 1 : 0); } [CompilerGenerated] public sealed int GetHashCode(IEqualityComparer comp) { int num = 0; num = -1640531527 + ((allowRecordVoice@ ? 1 : 0) + ((num << 6) + (num >> 2))); return -1640531527 + (HashCompare.GenericHashWithComparerIntrinsic<FSharpOption<float>>(comp, forcedProbability@) + ((num << 6) + (num >> 2))); } [CompilerGenerated] public sealed override int GetHashCode() { return GetHashCode(LanguagePrimitives.GenericEqualityComparer); } [CompilerGenerated] public sealed bool Equals(object obj, IEqualityComparer comp) { if (obj is ProcessingState processingState) { if (HashCompare.GenericEqualityWithComparerIntrinsic<FSharpOption<float>>(comp, forcedProbability@, processingState.forcedProbability@)) { return allowRecordVoice@ == processingState.allowRecordVoice@; } return false; } return false; } [CompilerGenerated] public sealed bool Equals(ProcessingState obj) { if (HashCompare.GenericEqualityERIntrinsic<FSharpOption<float>>(forcedProbability@, obj.forcedProbability@)) { return allowRecordVoice@ == obj.allowRecordVoice@; } return false; } [CompilerGenerated] public sealed override bool Equals(object obj) { if (obj is ProcessingState) { return Equals((ProcessingState)obj); } return false; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public class MicrophoneSubscriber : IMicrophoneSubscriber { virtual void IMicrophoneSubscriber.ReceiveMicrophoneData(ArraySegment<float> buffer, WaveFormat format) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Expected O, but got Unknown if (StartOfRound.Instance != null) { RecordState recordState = new RecordState(buffer.ToArray(), new WaveFormat(format.SampleRate, format.Channels), isReady, StartOfRound.Instance.localPlayerController.isPlayerDead, IngamePlayerSettings.Instance.settings.pushToTalk, Dissonance.dissonance.IsMuted, Mirage.Domain.Setting.settings.allowRecordVoice@); FSharpAsync<Unit> val = channel.AsyncAdd(recordState, (FSharpOption<int>)null); FSharpAsync.StartImmediate(val, (FSharpOption<CancellationToken>)null); } } virtual void IMicrophoneSubscriber.Reset() { } } [Serializable] internal sealed class recorder@59 : FSharpFunc<ProcessingState, bool> { internal static readonly recorder@59 @_instance = new recorder@59(); [CompilerGenerated] [DebuggerNonUserCode] internal recorder@59() { } public override bool Invoke(ProcessingState _arg1) { return _arg1.allowRecordVoice@; } } [Serializable] internal sealed class recorder@59-1 : FSharpFunc<FSharpFunc<ProcessingState, FSharpFunc<RecordAction, FSharpAsync<Unit>>>, Recorder<ProcessingState>> { public string recordingDirectory; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public int minAudioDurationMs; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<ProcessingState, bool> allowRecordVoice; [CompilerGenerated] [DebuggerNonUserCode] internal recorder@59-1(string recordingDirectory, int minAudioDurationMs, FSharpFunc<ProcessingState, bool> allowRecordVoice) { this.recordingDirectory = recordingDirectory; this.minAudioDurationMs = minAudioDurationMs; this.allowRecordVoice = allowRecordVoice; } public override Recorder<ProcessingState> Invoke(FSharpFunc<ProcessingState, FSharpFunc<RecordAction, FSharpAsync<Unit>>> onRecordingWithState) { return Recorder.Recorder<ProcessingState>(minAudioDurationMs, recordingDirectory, allowRecordVoice, onRecordingWithState); } } [Serializable] internal sealed class recorder@59-2 : FSharpFunc<ProcessingState, FSharpFunc<RecordAction, FSharpAsync<Unit>>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<RecordAction, FSharpAsync<Unit>> k; [CompilerGenerated] [DebuggerNonUserCode] internal recorder@59-2(FSharpFunc<RecordAction, FSharpAsync<Unit>> k) { this.k = k; } public override FSharpFunc<RecordAction, FSharpAsync<Unit>> Invoke(ProcessingState _arg1) { return k; } } [Serializable] internal sealed class recorder@59-3 : FSharpFunc<FSharpFunc<RecordAction, FSharpAsync<Unit>>, Recorder<ProcessingState>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<FSharpFunc<ProcessingState, FSharpFunc<RecordAction, FSharpAsync<Unit>>>, Recorder<ProcessingState>> func2; [CompilerGenerated] [DebuggerNonUserCode] internal recorder@59-3(FSharpFunc<FSharpFunc<ProcessingState, FSharpFunc<RecordAction, FSharpAsync<Unit>>>, Recorder<ProcessingState>> func2) { this.func2 = func2; } public override Recorder<ProcessingState> Invoke(FSharpFunc<RecordAction, FSharpAsync<Unit>> x) { return func2.Invoke(func1@1(x)); } } [Serializable] internal sealed class recorder@59-4 : FSharpFunc<RecordAction, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> k; [CompilerGenerated] [DebuggerNonUserCode] internal recorder@59-4(FSharpAsync<Unit> k) { this.k = k; } public override FSharpAsync<Unit> Invoke(RecordAction _arg1) { return k; } } [Serializable] internal sealed class recorder@59-5 : FSharpFunc<Tuple<Return, FSharpAsync<Unit>>, FSharpFunc<Unit, FSharpAsync<Unit>>> { internal static readonly recorder@59-5 @_instance = new recorder@59-5(); [CompilerGenerated] [DebuggerNonUserCode] internal recorder@59-5() { } public override FSharpFunc<Unit, FSharpAsync<Unit>> Invoke(Tuple<Return, FSharpAsync<Unit>> tupledArg) { return Return.Return<Unit>(tupledArg.Item2, tupledArg.Item1); } } [Serializable] internal sealed class voiceDetector@60 : FSharpFunc<ProcessingState, FSharpOption<float>> { internal static readonly voiceDetector@60 @_instance = new voiceDetector@60(); [CompilerGenerated] [DebuggerNonUserCode] internal voiceDetector@60() { } public override FSharpOption<float> Invoke(ProcessingState _arg2) { return _arg2.forcedProbability@; } } [Serializable] internal sealed class voiceDetector@60-1 : FSharpFunc<Tuple<Return, FSharpAsync<float>>, FSharpFunc<float, FSharpAsync<float>>> { internal static readonly voiceDetector@60-1 @_instance = new voiceDetector@60-1(); [CompilerGenerated] [DebuggerNonUserCode] internal voiceDetector@60-1() { } public override FSharpFunc<float, FSharpAsync<float>> Invoke(Tuple<Return, FSharpAsync<float>> tupledArg) { return Return.Return<float>(tupledArg.Item2, tupledArg.Item1); } } [Serializable] internal sealed class voiceDetector@60-2 : FSharpFunc<float[], FSharpAsync<float>> { public SileroVAD silero; [CompilerGenerated] [DebuggerNonUserCode] internal voiceDetector@60-2(SileroVAD silero) { this.silero = silero; } public override FSharpAsync<float> Invoke(float[] x) { return func2@1-1(API.detectSpeech(silero, x)); } } [Serializable] internal sealed class voiceDetector@60-3 : FSharpFunc<ProcessingState, DetectAction, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Tuple<ProcessingState, DetectAction>, FSharpAsync<Unit>> f; [CompilerGenerated] [DebuggerNonUserCode] internal voiceDetector@60-3(FSharpFunc<Tuple<ProcessingState, DetectAction>, FSharpAsync<Unit>> f) { this.f = f; } public override FSharpAsync<Unit> Invoke(ProcessingState x, DetectAction y) { return f.Invoke(new Tuple<ProcessingState, DetectAction>(x, y)); } } [Serializable] internal sealed class readMicrophone@78-5 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { internal static readonly readMicrophone@78-5 @_instance = new readMicrophone@78-5(); [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@78-5() { } public override AsyncReturn Invoke(AsyncActivation<Unit> ctxt) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return AsyncActivation<Unit>.Success(ctxt, (Unit)null); } } [Serializable] internal sealed class readMicrophone@78-4 : FSharpFunc<Unit, FSharpAsync<Unit>> { internal static readonly readMicrophone@78-4 @_instance = new readMicrophone@78-4(); [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@78-4() { } public override FSharpAsync<Unit> Invoke(Unit _arg4) { return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)readMicrophone@78-5.@_instance); } } [Serializable] internal sealed class readMicrophone@78-6 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> computation; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Unit, FSharpAsync<Unit>> binder; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@78-6(FSharpAsync<Unit> computation, FSharpFunc<Unit, FSharpAsync<Unit>> binder) { this.computation = computation; this.binder = binder; } public override AsyncReturn Invoke(AsyncActivation<Unit> ctxt) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return AsyncPrimitives.Bind<Unit, Unit>(ctxt, computation, binder); } } [Serializable] internal sealed class readMicrophone@78-3 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> consumer; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@78-3(Lazy<FSharpAsync<Unit>> consumer) { this.consumer = consumer; } public override FSharpAsync<Unit> Invoke(Unit unitVar) { FSharpAsync<Unit> value = consumer.Value; FSharpFunc<Unit, FSharpAsync<Unit>> @_instance; @_instance = readMicrophone@78-4.@_instance; return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new readMicrophone@78-6(value, @_instance)); } } [Serializable] internal sealed class readMicrophone@65-7 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> computation2; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@65-7(FSharpAsync<Unit> computation2) { this.computation2 = computation2; } public override FSharpAsync<Unit> Invoke(Unit unitVar0) { return computation2; } } [Serializable] internal sealed class readMicrophone@65-8 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> computation1; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Unit, FSharpAsync<Unit>> part2; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@65-8(FSharpAsync<Unit> computation1, FSharpFunc<Unit, FSharpAsync<Unit>> part2) { this.computation1 = computation1; this.part2 = part2; } public override AsyncReturn Invoke(AsyncActivation<Unit> ctxt) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return AsyncPrimitives.Bind<Unit, Unit>(ctxt, computation1, part2); } } [Serializable] internal sealed class readMicrophone@65-2 : FSharpFunc<RecordState, FSharpAsync<Unit>> { public Resampler<ProcessingState> resampler; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> consumer; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@65-2(Resampler<ProcessingState> resampler, Lazy<FSharpAsync<Unit>> consumer) { this.resampler = resampler; this.consumer = consumer; } public override FSharpAsync<Unit> Invoke(RecordState state) { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) FSharpAsync<Unit> obj; FSharpAsync<Unit> val; if (state.isReady@ && (Mirage.Domain.Config.getConfig().enableRecordVoiceWhileDead@ || !state.isPlayerDead@)) { AudioFrame item = new AudioFrame(state.samples@, state.format@); ProcessingState item2 = new ProcessingState(state.isMuted@ ? FSharpOption<float>.Some(0f) : ((!state.pushToTalkEnabled@) ? null : FSharpOption<float>.Some(1f)), Mirage.Domain.Setting.settings.allowRecordVoice@); val = Resampler.writeResampler<ProcessingState>(resampler).Invoke((item2, item)); FSharpAsync.StartImmediate(val, (FSharpOption<CancellationToken>)null); obj = ExtraTopLevelOperators.DefaultAsyncBuilder.Zero(); } else { obj = ExtraTopLevelOperators.DefaultAsyncBuilder.Zero(); } FSharpAsync<Unit> computation = obj; val = ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<Unit>((FSharpFunc<Unit, FSharpAsync<Unit>>)new readMicrophone@78-3(consumer)); FSharpFunc<Unit, FSharpAsync<Unit>> part = new readMicrophone@65-7(val); return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new readMicrophone@65-8(computation, part)); } } [Serializable] internal sealed class readMicrophone@64-9 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<RecordState> computation; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<RecordState, FSharpAsync<Unit>> binder; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@64-9(FSharpAsync<RecordState> computation, FSharpFunc<RecordState, FSharpAsync<Unit>> binder) { this.computation = computation; this.binder = binder; } public override AsyncReturn Invoke(AsyncActivation<Unit> ctxt) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return AsyncPrimitives.Bind<Unit, RecordState>(ctxt, computation, binder); } } [Serializable] internal sealed class readMicrophone@64-1 : FSharpFunc<Unit, FSharpAsync<Unit>> { public Resampler<ProcessingState> resampler; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> consumer; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@64-1(Resampler<ProcessingState> resampler, Lazy<FSharpAsync<Unit>> consumer) { this.resampler = resampler; this.consumer = consumer; } public override FSharpAsync<Unit> Invoke(Unit unitVar) { FSharpAsync<RecordState> computation = channel.AsyncGet((FSharpOption<int>)null); FSharpFunc<RecordState, FSharpAsync<Unit>> binder = new readMicrophone@65-2(resampler, consumer); return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new readMicrophone@64-9(computation, binder)); } } [Serializable] internal sealed class readMicrophone@62 : FSharpFunc<Unit, FSharpAsync<Unit>> { public Resampler<ProcessingState> resampler; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> consumer; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@62(Resampler<ProcessingState> resampler, Lazy<FSharpAsync<Unit>> consumer) { this.resampler = resampler; this.consumer = consumer; } public override FSharpAsync<Unit> Invoke(Unit unitVar) { return ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<Unit>((FSharpFunc<Unit, FSharpAsync<Unit>>)new readMicrophone@64-1(resampler, consumer)); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class readMicrophone@82-10 { internal static void Invoke(orig_Start orig, DissonanceComms self) { orig.Invoke(self); MicrophoneSubscriber microphoneSubscriber = new MicrophoneSubscriber(); self.SubscribeToRecordedAudio((IMicrophoneSubscriber)(object)microphoneSubscriber); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class readMicrophone@89-11 { internal static void Invoke(orig_StartTrackingAllPlayerVoices orig, StartOfRound self) { isReady = true; orig.Invoke(self); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class readMicrophone@95-12 { internal static void Invoke(orig_OnDestroy orig, StartOfRound self) { isReady = false; orig.Invoke(self); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class readMicrophone@99-13 { internal static void Invoke(orig_ReviveDeadPlayers orig, StartOfRound self) { isReady = false; orig.Invoke(self); } } [Literal] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public const int SamplesPerWindow = 1024; [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static BlockingQueueAgent<RecordState> channel => <StartupCode$Mirage>.$Mirage.Hook.Microphone.channel@38-1; [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static bool isReady { get { return <StartupCode$Mirage>.$Mirage.Hook.Microphone.isReady@39; } set { <StartupCode$Mirage>.$Mirage.Hook.Microphone.isReady@39 = value; } } [CompilerGenerated] internal static FSharpFunc<ProcessingState, FSharpFunc<RecordAction, FSharpAsync<Unit>>> func1@1(FSharpFunc<RecordAction, FSharpAsync<Unit>> k) { return new recorder@59-2(k); } [CompilerGenerated] internal static FSharpFunc<RecordAction, FSharpAsync<Unit>> func1@1-1(FSharpAsync<Unit> k) { return new recorder@59-4(k); } [CompilerGenerated] internal static FSharpAsync<float> func2@1-1(float x) { return FSharpFunc<Tuple<Return, FSharpAsync<float>>, float>.InvokeFast<FSharpAsync<float>>((FSharpFunc<Tuple<Return, FSharpAsync<float>>, FSharpFunc<float, FSharpAsync<float>>>)voiceDetector@60-1.@_instance, new Tuple<Return, FSharpAsync<float>>(null, null), x); } public static void readMicrophone(string recordingDirectory) { //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Expected O, but got Unknown //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Expected O, but got Unknown //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Expected O, but got Unknown //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Expected O, but got Unknown SileroVAD silero = API.SileroVAD(1024); int value = Mirage.Domain.Config.localConfig.MinAudioDurationMs@.Value; FSharpFunc<ProcessingState, bool> @_instance; @_instance = recorder@59.@_instance; FSharpFunc<FSharpFunc<ProcessingState, FSharpFunc<RecordAction, FSharpAsync<Unit>>>, Recorder<ProcessingState>> func = new recorder@59-1(recordingDirectory, value, @_instance); FSharpFunc<FSharpFunc<RecordAction, FSharpAsync<Unit>>, Recorder<ProcessingState>> val = new recorder@59-3(func); FSharpAsync<Unit> k = FSharpFunc<Tuple<Return, FSharpAsync<Unit>>, Unit>.InvokeFast<FSharpAsync<Unit>>((FSharpFunc<Tuple<Return, FSharpAsync<Unit>>, FSharpFunc<Unit, FSharpAsync<Unit>>>)recorder@59-5.@_instance, new Tuple<Return, FSharpAsync<Unit>>(null, null), (Unit)null); Recorder<ProcessingState> val2 = val.Invoke(func1@1-1(k)); int value2 = Mirage.Domain.Config.localConfig.MinSilenceDurationMs@.Value; voiceDetector@60 @_instance2; @_instance2 = voiceDetector@60.@_instance; voiceDetector@60-2 voiceDetector@60- = new voiceDetector@60-2(silero); FSharpFunc<Tuple<ProcessingState, DetectAction>, FSharpAsync<Unit>> f = Recorder.writeRecorder<ProcessingState>(val2); VoiceDetector<ProcessingState> val3 = Detection.VoiceDetector<ProcessingState>(value2, (FSharpFunc<ProcessingState, FSharpOption<float>>)@_instance2, (FSharpFunc<float[], FSharpAsync<float>>)voiceDetector@60-, (FSharpFunc<ProcessingState, FSharpFunc<DetectAction, FSharpAsync<Unit>>>)(object)new voiceDetector@60-3(f)); Resampler<ProcessingState> resampler = Resampler.Resampler<ProcessingState>(Detection.writeDetector<ProcessingState>(val3)); Lazy<FSharpAsync<Unit>> consumer = default(Lazy<FSharpAsync<Unit>>); FSharpFunc<Unit, FSharpAsync<Unit>> val4 = new readMicrophone@62(resampler, consumer); consumer = LazyExtensions.Create<FSharpAsync<Unit>>(val4); ((readMicrophone@62)val4).consumer = consumer; k = consumer.Value; FSharpAsync.Start(k, (FSharpOption<CancellationToken>)null); DissonanceComms.Start += new hook_Start(readMicrophone@82-10.Invoke); StartOfRound.StartTrackingAllPlayerVoices += new hook_StartTrackingAllPlayerVoices(readMicrophone@89-11.Invoke); StartOfRound.OnDestroy += new hook_OnDestroy(readMicrophone@95-12.Invoke); StartOfRound.ReviveDeadPlayers += new hook_ReviveDeadPlayers(readMicrophone@99-13.Invoke); } static Microphone() { <StartupCode$Mirage>.$Mirage.Hook.Microphone.init@ = 0; _ = <StartupCode$Mirage>.$Mirage.Hook.Microphone.init@; } } } namespace <StartupCode$Mirage>.$Mirage.Hook { internal static class Microphone { [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal static readonly BlockingQueueAgent<Mirage.Hook.Microphone.RecordState> channel@38-1; [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal static bool isReady@39; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal static int init@; static Microphone() { channel@38-1 = new BlockingQueueAgent<Mirage.Hook.Microphone.RecordState>(int.MaxValue); isReady@39 = false; } } } namespace Mirage.Hook { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class Prefab { [Serializable] internal sealed class registerPrefab@19-1 : FSharpFunc<Type, Component> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public GameObject objectArg; [CompilerGenerated] [DebuggerNonUserCode] internal registerPrefab@19-1(GameObject objectArg) { this.objectArg = objectArg; } public override Component Invoke(Type componentType) { return objectArg.AddComponent(componentType); } } [Serializable] internal sealed class registerPrefab@19-2 : FSharpFunc<Type, Unit> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Type, Component> func1; [CompilerGenerated] [DebuggerNonUserCode] internal registerPrefab@19-2(FSharpFunc<Type, Component> func1) { this.func1 = func1; } public override Unit Invoke(Type x) { Component val = func1.Invoke(x); return null; } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class registerPrefab@12 { internal static void Invoke(orig_Start orig, MenuManager self) { orig.Invoke(self); if (initialized) { return; } initialized = true; List<NetworkPrefab> prefabs = ((Component)GameNetworkManager.Instance).GetComponent<NetworkManager>().NetworkConfig.Prefabs.m_Prefabs; foreach (NetworkPrefab item in prefabs) { EnemyAI component = item.Prefab.GetComponent<EnemyAI>(); if (component != null) { GameObject gameObject = ((Component)component).gameObject; FSharpFunc<Type, Component> func = new registerPrefab@19-1(gameObject); FSharpFunc<Type, Unit> val = new registerPrefab@19-2(func); FSharpList<Type> val2 = FSharpList<Type>.Cons(typeof(Mirage.Unity.AudioStream.AudioStream), FSharpList<Type>.Cons(typeof(Mirage.Unity.MimicPlayer.MimicPlayer), FSharpList<Type>.Cons(typeof(Mirage.Unity.MirageVoice.MimicVoice), FSharpList<Type>.Empty))); Iterate val3 = null; Iterate.Iterate<Type>(val2, val); } } } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public static bool initialized { get { return <StartupCode$Mirage>.$Mirage.Hook.Prefab.initialized@9; } set { <StartupCode$Mirage>.$Mirage.Hook.Prefab.initialized@9 = value; } } public static void registerPrefab() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown MenuManager.Start += new hook_Start(registerPrefab@12.Invoke); } } } namespace <StartupCode$Mirage>.$Mirage.Hook { internal static class Prefab { [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal static bool initialized@9; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal static int init@; static Prefab() { initialized@9 = false; } } } namespace Mirage.Hook { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class MaskedPlayerEnemy { [Serializable] internal sealed class hookMaskedEnemy@20-1 : FSharpFunc<Transform, bool> { internal static readonly hookMaskedEnemy@20-1 @_instance = new hookMaskedEnemy@20-1(); [CompilerGenerated] [DebuggerNonUserCode] internal hookMaskedEnemy@20-1() { } public override bool Invoke(Transform _arg1) { return ((Object)_arg1).name.StartsWith("HeadMask"); } } [Serializable] internal sealed class hookMaskedEnemy@21-2 : FSharpFunc<Transform, Unit> { internal static readonly hookMaskedEnemy@21-2 @_instance = new hookMaskedEnemy@21-2(); [CompilerGenerated] [DebuggerNonUserCode] internal hookMaskedEnemy@21-2() { } public override Unit Invoke(Transform _arg2) { ((Component)_arg2).gameObject.SetActive(false); return null; } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class hookMaskedEnemy@15 { internal static void Invoke(orig_Start orig, MaskedPlayerEnemy self) { ((Component)self).GetComponent<Mirage.Unity.MimicPlayer.MimicPlayer>().StartMimicking(); orig.Invoke(self); if (!Mirage.Domain.Config.getConfig().enableMaskTexture@) { Transform[] componentsInChildren = ((Component)self).GetComponentsInChildren<Transform>(); FSharpFunc<Transform, bool> @_instance; @_instance = hookMaskedEnemy@20-1.@_instance; Filter val = null; Transform[] array = ArrayModule.Filter<Transform>(@_instance, componentsInChildren); FSharpFunc<Transform, Unit> @_instance2; @_instance2 = hookMaskedEnemy@21-2.@_instance; Iterate val2 = null; Iterate.Iterate<Transform>(array, @_instance2); } } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class hookMaskedEnemy@24-3 { internal static void Invoke(orig_SetHandsOutClientRpc orig, MaskedPlayerEnemy self, bool _arg1) { orig.Invoke(self, Mirage.Domain.Config.getConfig().enableArmsOut@); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class hookMaskedEnemy@28-4 { internal static void Invoke(orig_SetHandsOutServerRpc orig, MaskedPlayerEnemy self, bool _arg2) { orig.Invoke(self, Mirage.Domain.Config.getConfig().enableArmsOut@); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class hookMaskedEnemy@32-5 { internal static IEnumerator Invoke(orig_EndOfGame orig, StartOfRound self, int bodiesInsured, int connectedPlayersOnServer, int scrapCollected) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB[] allPlayerScripts = self.allPlayerScripts; for (int i = 0; i < allPlayerScripts.Length; i++) { allPlayerScripts[i].deadBody = null; } return orig.Invoke(self, bodiesInsured, connectedPlayersOnServer, scrapCollected); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class hookMaskedEnemy@40-6 { internal static void Invoke(orig_Start orig, GameNetworkManager self) { orig.Invoke(self); List<NetworkPrefab> prefabs = NetworkManager.Singleton.NetworkConfig.Prefabs.m_Prefabs; foreach (NetworkPrefab item in prefabs) { if (item.Prefab.GetComponent<MaskedPlayerEnemy>() != null && maskedPrefab == null) { maskedPrefab = item.Prefab.GetComponent<MaskedPlayerEnemy>(); } } } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class hookMaskedEnemy@71-8 { internal static bool Invoke(SpawnableEnemyWithRarity delegateArg0) { return isMaskedEnemy@62(delegateArg0); } } [Serializable] internal sealed class totalWeight@74 : FSharpFunc<SpawnableEnemyWithRarity, bool> { internal static readonly totalWeight@74 @_instance = new totalWeight@74(); [CompilerGenerated] [DebuggerNonUserCode] internal totalWeight@74() { } public override bool Invoke(SpawnableEnemyWithRarity x) { return !isMaskedEnemy@62(x); } } [Serializable] internal sealed class totalWeight@75-1 : FSharpFunc<SpawnableEnemyWithRarity, int> { internal static readonly totalWeight@75-1 @_instance = new totalWeight@75-1(); [CompilerGenerated] [DebuggerNonUserCode] internal totalWeight@75-1() { } public override int Invoke(SpawnableEnemyWithRarity _arg3) { return _arg3.rarity; } } [Serializable] internal sealed class totalWeight@76-2 : FSharpFunc<int, int, int> { internal static readonly totalWeight@76-2 @_instance = new totalWeight@76-2(); [CompilerGenerated] [DebuggerNonUserCode] internal totalWeight@76-2() { } public override int Invoke(int x, int y) { Default1 val = null; return x + y; } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class hookMaskedEnemy@47-7 { internal static void Invoke(orig_Start orig, TimeOfDay self) { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Expected O, but got Unknown //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Expected O, but got Unknown orig.Invoke(self); if (!((NetworkBehaviour)self).IsHost || !Mirage.Domain.Config.localConfig.EnableSpawnControl@.Value) { return; } EnemyType val = Object.Instantiate<EnemyType>(((EnemyAI)maskedPrefab).enemyType); AnimationCurve probabilityCurve = val.probabilityCurve; probabilityCurve.ClearKeys(); Keyframe val2 = new Keyframe(0f, 0f); int num = probabilityCurve.AddKey(val2); val2 = new Keyframe(0.19f, 0f); num = probabilityCurve.AddKey(val2); val2 = new Keyframe(0.2f, 0.5f); num = probabilityCurve.AddKey(val2); val2 = new Keyframe(0.5f, 10f); num = probabilityCurve.AddKey(val2); val2 = new Keyframe(0.9f, 15f); num = probabilityCurve.AddKey(val2); val2 = new Keyframe(1f, 1f); num = probabilityCurve.AddKey(val2); EnemyType enemyType = val; List<string> list = new List<string>(); double num2 = Mirage.Domain.Config.localConfig.MaskedSpawnChance@.Value; SelectableLevel[] levels = StartOfRound.Instance.levels; foreach (SelectableLevel val3 in levels) { int num3 = val3.Enemies.RemoveAll(hookMaskedEnemy@71-8.Invoke); List<SpawnableEnemyWithRarity> enemies = val3.Enemies; FSharpFunc<SpawnableEnemyWithRarity, bool> @_instance; @_instance = totalWeight@74.@_instance; Filter val4 = null; List<SpawnableEnemyWithRarity> item = new List<SpawnableEnemyWithRarity>(SeqModule.Filter<SpawnableEnemyWithRarity>(@_instance, (IEnumerable<SpawnableEnemyWithRarity>)enemies)); FSharpFunc<SpawnableEnemyWithRarity, int> @_instance2; @_instance2 = totalWeight@75-1.@_instance; Map val5 = null; List<int> list2 = null; List<int> list3 = Map.Map<SpawnableEnemyWithRarity, int>(new Tuple<List<SpawnableEnemyWithRarity>, FSharpFunc<SpawnableEnemyWithRarity, int>>(item, @_instance2), val5); IEnumerable<int> enumerable = list3; FSharpFunc<int, FSharpFunc<int, int>> @_instance3; @_instance3 = (FSharpFunc<int, FSharpFunc<int, int>>)(object)totalWeight@76-2.@_instance; Zero val6 = null; int num4 = 0; Default1 val7 = (Default1)(object)val6; int num5 = 0; Fold val8 = null; num3 = SeqModule.Fold<int, int>(@_instance3, num5, enumerable); if (num3 > 0) { double a = (double)num3 * num2 / (100.0 - num2); num5 = (int)Math.Ceiling(a); num3 += num5; a = (double)num5 / (double)num3 * 100.0; list.Add(PrintfModule.PrintFormatToStringThen<string>((PrintfFormat<string, Unit, string, string>)(object)new PrintfFormat<string, Unit, string, string, Tuple<string, int, double>>("Level: %P(). Weight: %P(). SpawnChance: %P(F2)%%", new object[3] { val3.PlanetName, num5, a }, (Type[])null))); SpawnableEnemyWithRarity val9 = new SpawnableEnemyWithRarity(); val9.rarity = num5; val9.enemyType = enemyType; val9.enemyType.MaxCount = Mirage.Domain.Config.localConfig.MaxMaskedSpawns@.Value; val3.Enemies.Add(val9); } } Mirage.Domain.Logger.logInfo.Invoke("Adjusting spawn weights for masked enemies:\n" + string.Join("\n", list)); } } [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static MaskedPlayerEnemy maskedPrefab { get { return <StartupCode$Mirage>.$Mirage.Hook.MaskedPlayerEnemy.maskedPrefab@12; } set { <StartupCode$Mirage>.$Mirage.Hook.MaskedPlayerEnemy.maskedPrefab@12 = value; } } internal static bool isMaskedEnemy@62(SpawnableEnemyWithRarity enemy) { if (enemy != null && enemy.enemyType != null && true && enemy.enemyType.enemyPrefab != null) { return string.Equals(enemy.enemyType.enemyName, ((EnemyAI)maskedPrefab).enemyType.enemyName); } return false; } public static void hookMaskedEnemy() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Expected O, but got Unknown //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Expected O, but got Unknown MaskedPlayerEnemy.Start += new hook_Start(hookMaskedEnemy@15.Invoke); MaskedPlayerEnemy.SetHandsOutClientRpc += new hook_SetHandsOutClientRpc(hookMaskedEnemy@24-3.Invoke); MaskedPlayerEnemy.SetHandsOutServerRpc += new hook_SetHandsOutServerRpc(hookMaskedEnemy@28-4.Invoke); StartOfRound.EndOfGame += new hook_EndOfGame(hookMaskedEnemy@32-5.Invoke); GameNetworkManager.Start += new hook_Start(hookMaskedEnemy@40-6.Invoke); TimeOfDay.Start += new hook_Start(hookMaskedEnemy@47-7.Invoke); } } } namespace <StartupCode$Mirage>.$Mirage.Hook { internal static class MaskedPlayerEnemy { [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal static MaskedPlayerEnemy maskedPrefab@12; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal static int init@; static MaskedPlayerEnemy() { maskedPrefab@12 = null; } } } namespace Mirage.Unity { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class MirageVoice { [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public class MimicVoice : NetworkBehaviour { internal FSharpRef<MimicVoice> self = new FSharpRef<MimicVoice>((MimicVoice)null); internal Mirage.Domain.Audio.Recording.RecordingManager recordingManager; internal GameObject voicePlayback; internal AudioStream.AudioStream audioStream; internal MimicPlayer.MimicPlayer mimicPlayer; internal EnemyAI enemyAI; internal int init@22; public MimicVoice() { self.contents = this; recordingManager = Mirage.Domain.Audio.Recording.RecordingManager(); voicePlayback = null; audioStream = null; mimicPlayer = null; enemyAI = null; init@22 = 1; } public void Awake() { if (init@22 < 1) { IntrinsicFunctions.FailInit(); } audioStream = ((Component)this).GetComponent<AudioStream.AudioStream>(); mimicPlayer = ((Component)this).GetComponent<MimicPlayer.MimicPlayer>(); enemyAI = ((Component)this).GetComponent<EnemyAI>(); voicePlayback = Object.Instantiate<GameObject>(Mirage.Hook.Dissonance.dissonance._playbackPrefab2); GameObject objectArg = voicePlayback; FSharpFunc<Type, Component> func = new removeComponent@76(objectArg); FSharpFunc<Type, Unit> val = new removeComponent@76-1(func); FSharpList<Type> val2 = FSharpList<Type>.Cons(typeof(VoicePlayback), FSharpList<Type>.Cons(typeof(SamplePlaybackComponent), FSharpList<Type>.Cons(typeof(PlayerVoiceIngameSettings), FSharpList<Type>.Empty))); Iterate val3 = null; Iterate.Iterate<Type>(val2, val); ((Behaviour)voicePlayback.GetComponent<AudioLowPassFilter>()).enabled = true; audioStream.AudioSource = voicePlayback.GetComponent<AudioSource>(); audioStream.AudioSource.loop = false; voicePlayback.transform.parent = ((Component)audioStream).transform; voicePlayback.SetActive(true); } public void Start() { if (init@22 < 1) { IntrinsicFunctions.FailInit(); } startVoiceMimic(); } public void LateUpdate() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) if (init@22 < 1) { IntrinsicFunctions.FailInit(); } voicePlayback.transform.position = ((Component)this).transform.position; } public void Update() { //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Expected O, but got Unknown if (init@22 < 1) { IntrinsicFunctions.FailInit(); } if (mimicPlayer.mimickingPlayer == null || enemyAI == null) { audioStream.AudioSource.mute = true; return; } PlayerControllerB localPlayerController = StartOfRound.Instance.localPlayerController; PlayerControllerB val = ((localPlayerController.spectatedPlayerScript != null) ? localPlayerController.spectatedPlayerScript : localPlayerController); audioStream.AudioSource.volume = (HashCompare.GenericEqualityIntrinsic<PlayerControllerB>(mimicPlayer.mimickingPlayer, localPlayerController) ? Mirage.Domain.Setting.settings.localPlayerVolume@ : ((mimicPlayer.mimickingPlayer != null && mimicPlayer.mimickingPlayer.currentVoiceChatAudioSource != null) ? mimicPlayer.mimickingPlayer.currentVoiceChatAudioSource.volume : 1f)); audioStream.AudioSource.outputAudioMixerGroup = SoundManager.Instance.playerVoiceMixers[(uint)mimicPlayer.mimickingPlayer.playerClientId]; audioStream.AudioSource.mute = enemyAI.isEnemyDead || (!Mirage.Domain.Config.getConfig().mimicVoiceWhileHiding@ && maskedEnemyIsHiding@111(this, null)) || isMimicLocalPlayerMuted@99(this, localPlayerController, null) || isNotHauntedOrDisappearedDressGirl@105(this, null) || val.isInsideFactory == enemyAI.isOutside; } [CompilerGenerated] internal void startVoiceMimic() { Lazy<FSharpAsync<Unit>> runMimicLoop = default(Lazy<FSharpAsync<Unit>>); FSharpFunc<Unit, FSharpAsync<Unit>> val = new clo@45-22(this, runMimicLoop); runMimicLoop = LazyExtensions.Create<FSharpAsync<Unit>>(val); ((clo@45-22)val).runMimicLoop = runMimicLoop; FSharpAsync<Unit> value = runMimicLoop.Value; FSharpAsync.StartImmediate(value, FSharpOption<CancellationToken>.Some(((MonoBehaviour)IntrinsicFunctions.CheckThis<MimicVoice>(self.contents)).destroyCancellationToken)); } protected override void __initializeVariables() { ((NetworkBehaviour)this).__initializeVariables(); } [MethodImpl(MethodImplOptions.NoInlining)] protected internal override string __getTypeName() { return "MimicVoice"; } } [Serializable] internal sealed class removeComponent@76 : FSharpFunc<Type, Component> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public GameObject objectArg; [CompilerGenerated] [DebuggerNonUserCode] internal removeComponent@76(GameObject objectArg) { this.objectArg = objectArg; } public override Component Invoke(Type type) { return objectArg.GetComponent(type); } } [Serializable] internal sealed class removeComponent@76-1 : FSharpFunc<Type, Unit> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Type, Component> func1; [CompilerGenerated] [DebuggerNonUserCode] internal removeComponent@76-1(FSharpFunc<Type, Component> func1) { this.func1 = func1; } public override Unit Invoke(Type x) { Component val = func1.Invoke(x); Object.Destroy((Object)(object)val); return null; } } [Serializable] internal sealed class mimicVoice@33-1 : FSharpFunc<FSharpOption<Unit>, Unit> { internal static readonly mimicVoice@33-1 @_instance = new mimicVoice@33-1(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@33-1() { } public override Unit Invoke(FSharpOption<Unit> _arg1) { return null; } } [Serializable] internal sealed class mimicVoice@33-2 : FSharpFunc<FSharpAsync<FSharpOption<Unit>>, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<FSharpOption<Unit>, Unit> f; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@33-2(FSharpFunc<FSharpOption<Unit>, Unit> f) { this.f = f; } public override FSharpAsync<Unit> Invoke(FSharpAsync<FSharpOption<Unit>> x) { Map val = null; FSharpAsync<Unit> val2 = null; return Map.Map<FSharpOption<Unit>, Unit>(new Tuple<FSharpAsync<FSharpOption<Unit>>, FSharpFunc<FSharpOption<Unit>, Unit>>(x, f), val); } } [Serializable] internal sealed class mimicVoice@42-3 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@42-3 @_instance = new mimicVoice@42-3(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@42-3() { } public override FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> Invoke(Tuple<Return, FSharpAsync<FSharpOption<Unit>>> tupledArg) { return Return.Return<FSharpOption<Unit>>(tupledArg.Item2, tupledArg.Item1); } } [Serializable] internal sealed class mimicVoice@42-4 : FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> { internal static readonly mimicVoice@42-4 @_instance = new mimicVoice@42-4(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@42-4() { } public override FSharpAsync<FSharpOption<Unit>> Invoke(Unit x) { return func2@1(FSharpOption<Unit>.Some(x)); } } [Serializable] internal sealed class mimicVoice@42-5 : FSharpFunc<Unit, FSharpOption<Unit>> { internal static readonly mimicVoice@42-5 @_instance = new mimicVoice@42-5(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@42-5() { } public override FSharpOption<Unit> Invoke(Unit arg0) { return FSharpOption<Unit>.Some(arg0); } } [Serializable] internal sealed class mimicVoice@42-8 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@42-8 @_instance = new mimicVoice@42-8(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@42-8() { } public override FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> Invoke(Tuple<Return, FSharpAsync<FSharpOption<Unit>>> tupledArg) { return Return.Return<FSharpOption<Unit>>(tupledArg.Item2, tupledArg.Item1); } } [Serializable] internal sealed class mimicVoice@42-7 : FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@42-7 @_instance = new mimicVoice@42-7(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@42-7() { } public override OptionT<FSharpAsync<FSharpOption<Unit>>> Invoke(Unit x) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) FSharpOption<Unit> val = FSharpOption<Unit>.Some(x); return OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpOption<Unit>>.InvokeFast<FSharpAsync<FSharpOption<Unit>>>((FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>>)mimicVoice@42-8.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val)); } } [Serializable] internal sealed class mimicVoice@42-6 : FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>> { internal static readonly mimicVoice@42-6 @_instance = new mimicVoice@42-6(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@42-6() { } public override FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> Invoke(Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>> tupledArg) { Default1 item = (Default1)(object)tupledArg.Item1; return mimicVoice@42-7.@_instance; } } [Serializable] internal sealed class mimicVoice@42-10 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@42-10 @_instance = new mimicVoice@42-10(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@42-10() { } public override FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> Invoke(Tuple<Return, FSharpAsync<FSharpOption<Unit>>> tupledArg) { return Return.Return<FSharpOption<Unit>>(tupledArg.Item2, tupledArg.Item1); } } [Serializable] internal sealed class mimicVoice@42-9 : FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> { internal static readonly mimicVoice@42-9 @_instance = new mimicVoice@42-9(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@42-9() { } public override FSharpAsync<FSharpOption<Unit>> Invoke(FSharpOption<Unit> maybe_value) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) FSharpOption<Unit> val; if (maybe_value != null) { val = maybe_value; _ = val.Value; return f@1-3(null).Item; } val = null; return FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpOption<Unit>>.InvokeFast<FSharpAsync<FSharpOption<Unit>>>((FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>>)mimicVoice@42-10.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val); } } [Serializable] internal sealed class mimicVoice@40-12 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@40-12 @_instance = new mimicVoice@40-12(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@40-12() { } public override FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> Invoke(Tuple<Return, FSharpAsync<FSharpOption<Unit>>> tupledArg) { return Return.Return<FSharpOption<Unit>>(tupledArg.Item2, tupledArg.Item1); } } [Serializable] internal sealed class mimicVoice@40-11 : FSharpFunc<FSharpOption<string>, FSharpAsync<FSharpOption<Unit>>> { public FSharpFunc<string, Unit> debug; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@40-11(FSharpFunc<string, Unit> debug, MimicVoice @this) { this.debug = debug; this.@this = @this; } public override FSharpAsync<FSharpOption<Unit>> Invoke(FSharpOption<string> maybe_value) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) if (maybe_value != null) { string value = maybe_value.Value; return f@1-2(this.@this, debug, value).Item; } FSharpOption<Unit> val = null; return FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpOption<Unit>>.InvokeFast<FSharpAsync<FSharpOption<Unit>>>((FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>>)mimicVoice@40-12.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val); } } [Serializable] internal sealed class mimicVoice@35-15 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@35-15 @_instance = new mimicVoice@35-15(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@35-15() { } public override FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> Invoke(Tuple<Return, FSharpAsync<FSharpOption<Unit>>> tupledArg) { return Return.Return<FSharpOption<Unit>>(tupledArg.Item2, tupledArg.Item1); } } [Serializable] internal sealed class mimicVoice@35-14 : FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@35-14 @_instance = new mimicVoice@35-14(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@35-14() { } public override OptionT<FSharpAsync<FSharpOption<Unit>>> Invoke(Unit x) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) FSharpOption<Unit> val = FSharpOption<Unit>.Some(x); return OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpOption<Unit>>.InvokeFast<FSharpAsync<FSharpOption<Unit>>>((FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>>)mimicVoice@35-15.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val)); } } [Serializable] internal sealed class mimicVoice@35-13 : FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>> { internal static readonly mimicVoice@35-13 @_instance = new mimicVoice@35-13(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@35-13() { } public override FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> Invoke(Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>> tupledArg) { Default1 item = (Default1)(object)tupledArg.Item1; return mimicVoice@35-14.@_instance; } } [Serializable] internal sealed class mimicVoice@34-16 : FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> { public FSharpFunc<string, Unit> debug; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@34-16(FSharpFunc<string, Unit> debug, MimicVoice @this) { this.debug = debug; this.@this = @this; } public override FSharpAsync<FSharpOption<Unit>> Invoke(Unit _arg1) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) return x@1-1(this.@this, debug, null).Item; } } [Serializable] internal sealed class mimicVoice@43-19 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@43-19 @_instance = new mimicVoice@43-19(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@43-19() { } public override FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> Invoke(Tuple<Return, FSharpAsync<FSharpOption<Unit>>> tupledArg) { return Return.Return<FSharpOption<Unit>>(tupledArg.Item2, tupledArg.Item1); } } [Serializable] internal sealed class mimicVoice@43-18 : FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@43-18 @_instance = new mimicVoice@43-18(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@43-18() { } public override OptionT<FSharpAsync<FSharpOption<Unit>>> Invoke(Unit x) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) FSharpOption<Unit> val = FSharpOption<Unit>.Some(x); return OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpOption<Unit>>.InvokeFast<FSharpAsync<FSharpOption<Unit>>>((FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>>)mimicVoice@43-19.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val)); } } [Serializable] internal sealed class mimicVoice@43-17 : FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>> { internal static readonly mimicVoice@43-17 @_instance = new mimicVoice@43-17(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@43-17() { } public override FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> Invoke(Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>> tupledArg) { Default1 item = (Default1)(object)tupledArg.Item1; return mimicVoice@43-18.@_instance; } } [Serializable] internal sealed class mimicVoice@34-20 : FSharpFunc<Exception, FSharpAsync<FSharpOption<Unit>>> { internal static readonly mimicVoice@34-20 @_instance = new mimicVoice@34-20(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@34-20() { } public override FSharpAsync<FSharpOption<Unit>> Invoke(Exception x) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) return catchHandler@1-3(x).Item; } } [Serializable] internal sealed class mimicVoice@34-21 : FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<FSharpOption<Unit>> arg00; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@34-21(FSharpAsync<FSharpOption<Unit>> arg00) { this.arg00 = arg00; } public override FSharpAsync<FSharpOption<Unit>> Invoke(Unit unitVar0) { return arg00; } } [Serializable] internal sealed class mimicVoice@33-22 : FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> { public FSharpFunc<string, Unit> debug; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@33-22(FSharpFunc<string, Unit> debug, MimicVoice @this) { this.debug = debug; this.@this = @this; } public override FSharpAsync<FSharpOption<Unit>> Invoke(Unit _arg1) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) return x@1(this.@this, debug, null).Item; } } [Serializable] internal sealed class debug@50-1<a> : FSharpFunc<a, Unit> { internal static readonly debug@50-1<a> @_instance = new debug@50-1<a>(); [CompilerGenerated] [DebuggerNonUserCode] internal debug@50-1() { } public override Unit Invoke(a message) { return null; } } [Serializable] internal sealed class clo@66-27 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { internal static readonly clo@66-27 @_instance = new clo@66-27(); [CompilerGenerated] [DebuggerNonUserCode] internal clo@66-27() { } public override AsyncReturn Invoke(AsyncActivation<Unit> ctxt) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return AsyncActivation<Unit>.Success(ctxt, (Unit)null); } } [Serializable] internal sealed class clo@66-26 : FSharpFunc<Unit, FSharpAsync<Unit>> { internal static readonly clo@66-26 @_instance = new clo@66-26(); [CompilerGenerated] [DebuggerNonUserCode] internal clo@66-26() { } public override FSharpAsync<Unit> Invoke(Unit _arg6) { return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)clo@66-27.@_instance); } } [Serializable] internal sealed class clo@66-28 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> computation; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Unit, FSharpAsync<Unit>> binder; [CompilerGenerated] [DebuggerNonUserCode] internal clo@66-28(FSharpAsync<Unit> computation, FSharpFunc<Unit, FSharpAsync<Unit>> binder) { this.computation = computation; this.binder = binder; } public override AsyncReturn Invoke(AsyncActivation<Unit> ctxt) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return AsyncPrimitives.Bind<Unit, Unit>(ctxt, computation, binder); } } [Serializable] internal sealed class clo@64-25 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> runMimicLoop; public Stopwatch sw2; [CompilerGenerated] [DebuggerNonUserCode] internal clo@64-25(Lazy<FSharpAsync<Unit>> runMimicLoop, Stopwatch sw2) { this.runMimicLoop = runMimicLoop; this.sw2 = sw2; } public override FSharpAsync<Unit> Invoke(Unit _arg5) { string text = sw2.Elapsed.TotalMilliseconds.ToString("F2"); string text2 = PrintfModule.PrintFormatToStringThen<string>((PrintfFormat<string, Unit, string, string>)(object)new PrintfFormat<string, Unit, string, string, string>("Finished sleeping. Waited for %P() seconds.", new object[1] { text }, (Type[])null)); FSharpAsync<Unit> value = runMimicLoop.Value; FSharpFunc<Unit, FSharpAsync<Unit>> @_instance; @_instance = clo@66-26.@_instance; return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new clo@66-28(value, @_instance)); } } [Serializable] internal sealed class clo@63-29 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> computation; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Unit, FSharpAsync<Unit>> binder; [CompilerGenerated] [DebuggerNonUserCode] internal clo@63-29(FSharpAsync<Unit> computation, FSharpFunc<Unit, FSharpAsync<Unit>> binder) { this.computation = computation; this.binder = binder; } public override AsyncReturn Invoke(AsyncActivation<Unit> ctxt) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return AsyncPrimitives.Bind<Unit, Unit>(ctxt, computation, binder); } } [Serializable] internal sealed class clo@61-24 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> runMimicLoop; public int delay; [CompilerGenerated] [DebuggerNonUserCode] internal clo@61-24(Lazy<FSharpAsync<Unit>> runMimicLoop, int delay) { this.runMimicLoop = runMimicLoop; this.delay = delay; } public override FSharpAsync<Unit> Invoke(Unit _arg4) { string text = PrintfModule.PrintFormatToStringThen<string>((PrintfFormat<string, Unit, string, string>)(object)new PrintfFormat<string, Unit, string, string, double>("After mimicVoice. Sleeping for %P() seconds.", new object[1] { (double)delay / 1000.0 }, (Type[])null)); Stopwatch sw = Stopwatch.StartNew(); FSharpAsync<Unit> computation = FSharpAsync.Sleep(delay); FSharpFunc<Unit, FSharpAsync<Unit>> binder = new clo@64-25(runMimicLoop, sw); return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new clo@63-29(computation, binder)); } } [Serializable] internal sealed class clo@60-30 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> computation; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Unit, FSharpAsync<Unit>> binder; [CompilerGenerated] [DebuggerNonUserCode] internal clo@60-30(FSharpAsync<Unit> computation, FSharpFunc<Unit, FSharpAsync<Unit>> binder) { this.computation = computation; this.binder = binder; } public override AsyncReturn Invoke(AsyncActivation<Unit> ctxt) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return AsyncPrimitives.Bind<Unit, Unit>(ctxt, computation, binder); } } [Serializable] internal sealed class clo@47-23 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> runMimicLoop; [CompilerGenerated] [DebuggerNonUserCode] internal clo@47-23(MimicVoice @this, Lazy<FSharpAsync<Unit>> runMimicLoop) { this.@this = @this; this.runMimicLoop = runMimicLoop; } public override FSharpAsync<Unit> Invoke(Unit unitVar) { Guid guid = Guid.NewGuid(); Stopwatch stopwatch = Stopwatch.StartNew(); object enemyAI = this.@this.enemyAI; int delay = ((!(enemyAI is MaskedPlayerEnemy)) ? random.Next(Mirage.Domain.Config.getConfig().minimumDelayNonMasked@, Mirage.Domain.Config.getConfig().maximumDelayNonMasked@ + 1) : random.Next(Mirage.Domain.Config.getConfig().minimumDelayMasked@, Mirage.Domain.Config.getConfig().maximumDelayMasked@ + 1)); FSharpAsync<Unit> computation = mimicVoice@32(this.@this, debug@49<string>()); FSharpFunc<Unit, FSharpAsync<Unit>> binder = new clo@61-24(runMimicLoop, delay); return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new clo@60-30(computation, binder)); } } [Serializable] internal sealed class clo@45-22 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> runMimicLoop; [CompilerGenerated] [DebuggerNonUserCode] internal clo@45-22(MimicVoice @this, Lazy<FSharpAsync<Unit>> runMimicLoop) { this.@this = @this; this.runMimicLoop = runMimicLoop; } public override FSharpAsync<Unit> Invoke(Unit unitVar) { return ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<Unit>((FSharpFunc<Unit, FSharpAsync<Unit>>)new clo@47-23(this.@this, runMimicLoop)); } } [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static Random random => <StartupCode$Mirage>.$Mirage.Unity.MirageVoice.random@20; internal static bool isMimicLocalPlayerMuted@99(MimicVoice _, PlayerControllerB localPlayer, Unit unitVar0) { bool result = Mirage.Domain.Setting.settings.localPlayerVolume@ == 0f; bool flag = !Mirage.Domain.Config.getConfig().enableMimicVoiceWhileAlive@ && !_.mimicPlayer.mimickingPlayer.isPlayerDead; if (HashCompare.GenericEqualityIntrinsic<PlayerControllerB>(_.mimicPlayer.mimickingPlayer, localPlayer)) { if (flag) { return true; } return result; } return false; } internal static bool isNotHauntedOrDisappearedDressGirl@105(MimicVoice _, Unit unitVar0) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown object enemyAI = _.enemyAI; if (enemyAI is DressGirlAI) { DressGirlAI val = (DressGirlAI)(object)_.enemyAI; bool flag = val.staringInHaunt || (((EnemyAI)val).moveTowardsDestination && ((EnemyAI)val).movingTowardsTargetPlayer); if (!val.hauntingLocalPlayer) { return true; } return !flag; } return false; } internal static bool maskedEnemyIsHiding@111(MimicVoice _, Unit unitVar0) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) object enemyAI = _.enemyAI; if (enemyAI is MaskedPlayerEnemy && Vector3.Distance(((Component)_.enemyAI).transform.position, ((MaskedPlayerEnemy)(object)_.enemyAI).shipHidingSpot) < 0.4f && _.enemyAI.agent.speed == 0f) { return ((MaskedPlayerEnemy)(object)_.enemyAI).crouching; } return false; } [CompilerGenerated] internal static FSharpAsync<FSharpOption<Unit>> func2@1(FSharpOption<Unit> x) { return FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpOption<Unit>>.InvokeFast<FSharpAsync<FSharpOption<Unit>>>((FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>>)mimicVoice@42-3.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), x); } [CompilerGenerated] internal static OptionT<FSharpAsync<FSharpOption<Unit>>> f@1-3(Unit _arg2) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) return FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, Unit>.InvokeFast<OptionT<FSharpAsync<FSharpOption<Unit>>>>((FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>>)mimicVoice@42-6.@_instance, new Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>(null, default(OptionT<FSharpAsync<FSharpOption<Unit>>>)), (Unit)null); } [CompilerGenerated] internal static OptionT<FSharpAsync<FSharpOption<Unit>>> f@1-2(MimicVoice @this, FSharpFunc<string, Unit> debug, string recording) { //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) debug.Invoke(PrintfModule.PrintFormatToStringThen<string>((PrintfFormat<string, Unit, string, string>)(object)new PrintfFormat<string, Unit, string, string, string>("Found recording: %P()", new object[1] { recording }, (Type[])null))); FSharpAsync<Unit> val = @this.audioStream.StreamAudioFromFile(recording, debug); _ = null; OptionT<FSharpAsync<FSharpOption<Unit>>> val4; Bind val2; FSharpAsync<FSharpOption<Unit>> val3; if (false) { FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> @_instance; @_instance = mimicVoice@42-4.@_instance; val2 = null; val3 = null; val4 = OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(Bind.op_GreaterGreaterEquals<Unit, FSharpOption<Unit>>(val, @_instance)); } else { FSharpFunc<Unit, FSharpOption<Unit>> @_instance2; @_instance2 = mimicVoice@42-5.@_instance; Map val5 = null; val3 = null; val4 = OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(Map.Map<Unit, FSharpOption<Unit>>(new Tuple<FSharpAsync<Unit>, FSharpFunc<Unit, FSharpOption<Unit>>>(val, @_instance2), val5)); } OptionT<FSharpAsync<FSharpOption<Unit>>> val6 = val4; val2 = null; OptionT<FSharpAsync<FSharpOption<Unit>>> val7 = default(OptionT<FSharpAsync<FSharpOption<Unit>>>); val3 = val6.Item; FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> @_instance3; @_instance3 = mimicVoice@42-9.@_instance; Bind val8 = null; FSharpAsync<FSharpOption<Unit>> val9 = null; return OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(Bind.op_GreaterGreaterEquals<FSharpOption<Unit>, FSharpOption<Unit>>(val3, @_instance3)); } [CompilerGenerated] internal static OptionT<FSharpAsync<FSharpOption<Unit>>> x@1-1(MimicVoice @this, FSharpFunc<string, Unit> debug, Unit unitVar) { //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) if (@this.enemyAI != null && @this.mimicPlayer.mimickingPlayer != null && true && HashCompare.GenericEqualityIntrinsic<PlayerControllerB>(@this.mimicPlayer.mimickingPlayer, StartOfRound.Instance.localPlayerController)) { debug.Invoke("Before getRecording."); OptionT<FSharpAsync<FSharpOption<string>>> val = OptionT<FSharpAsync<FSharpOption<string>>>.NewOptionT(Mirage.Domain.Audio.Recording.getRecording(@this.recordingManager)); Bind val2 = null; OptionT<FSharpAsync<FSharpOption<Unit>>> val3 = default(OptionT<FSharpAsync<FSharpOption<Unit>>>); FSharpAsync<FSharpOption<string>> item = val.Item; FSharpFunc<FSharpOption<string>, FSharpAsync<FSharpOption<Unit>>> val4 = new mimicVoice@40-11(debug, @this); Bind val5 = null; FSharpAsync<FSharpOption<Unit>> val6 = null; return OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(Bind.op_GreaterGreaterEquals<FSharpOption<string>, FSharpOption<Unit>>(item, val4)); } return FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, Unit>.InvokeFast<OptionT<FSharpAsync<FSharpOption<Unit>>>>((FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>>)mimicVoice@35-13.@_instance, new Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>(null, default(OptionT<FSharpAsync<FSharpOption<Unit>>>)), (Unit)null); } [CompilerGenerated] internal static OptionT<FSharpAsync<FSharpOption<Unit>>> catchHandler@1-3(Exception error) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) Mirage.Domain.Logger.logError.Invoke(PrintfModule.PrintFormatToStringThen<string>((PrintfFormat<string, Unit, string, string>)(object)new PrintfFormat<string, Unit, string, string, Exception>("Error occurred while mimicking voice: %P()", new object[1] { error }, (Type[])null))); return FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, Unit>.InvokeFast<OptionT<FSharpAsync<FSharpOption<Unit>>>>((FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>>)mimicVoice@43-17.@_instance, new Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>(null, default(OptionT<FSharpAsync<FSharpOption<Unit>>>)), (Unit)null); } [CompilerGenerated] internal static OptionT<FSharpAsync<FSharpOption<Unit>>> x@1(MimicVoice @this, FSharpFunc<string, Unit> debug, Unit unitVar) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) Default1 val = null; Delay val2 = null; FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> val3 = new mimicVoice@34-16(debug, @this); Delay val4 = null; Delay val5 = null; OptionT<FSharpAsync<FSharpOption<Unit>>> val6 = OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<FSharpOption<Unit>>(val3)); TryWith val7 = null; OptionT<FSharpAsync<FSharpOption<Unit>>> val8 = default(OptionT<FSharpAsync<FSharpOption<Unit>>>); val = (Default1)(object)val7; FSharpAsync<FSharpOption<Unit>> item = val6.Item; FSharpFunc<Exception, FSharpAsync<FSharpOption<Unit>>> @_instance; @_instance = mimicVoice@34-20.@_instance; TryWith val9 = null; val3 = new mimicVoice@34-21(item); FSharpAsync<FSharpOption<Unit>> val10 = null; return OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(TryWith.TryWith<FSharpOption<Unit>, False>(val3, @_instance, val9, False.False)); } internal static FSharpAsync<Unit> mimicVoice@32(MimicVoice @this, FSharpFunc<string, Unit> debug) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) FSharpFunc<FSharpOption<Unit>, Unit> @_instance; @_instance = mimicVoice@33-1.@_instance; FSharpFunc<FSharpAsync<FSharpOption<Unit>>, FSharpAsync<Unit>> val = new mimicVoice@33-2(@_instance); MonadFxBuilder<OptionT<FSharpAsync<FSharpOption<Unit>>>> val2 = new MonadFxBuilder<OptionT<FSharpAsync<FSharpOption<Unit>>>>(); Default1 val3 = null; Delay val4 = null; FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> val5 = new mimicVoice@33-22(debug, @this); Delay val6 = null; Delay val7 = null; return val.Invoke(OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<FSharpOption<Unit>>(val5)).Item); } internal static FSharpFunc<a, Unit> debug@49<a>() { return debug@50-1<a>.@_instance; } } } namespace <StartupCode$Mirage>.$Mirage.Unity { internal static class MirageVoice { [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal static readonly Random random@20; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal static int init@; static MirageVoice() { random@20 = new Random(); } } } namespace Mirage.Unity { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class MimicPlayer { [Serializable] [AllowNullLiteral] [CompilationMapping(/*Could not decode attribute arguments.*/)] public class MimicPlayer : NetworkBehaviour { internal FSharpEvent<Guid> onSetMimicId; internal Random random; internal EnemyAI enemyAI; internal Guid mimicId; internal PlayerControllerB mimickingPlayer; public PlayerControllerB MimickingPlayer => mimickingPlayer; public Guid MimicId => mimicId; [CLIEvent] public event FSharpHandler<Guid> OnSetMimicId { add { ((IDelegateEvent<FSharpHandler<Guid>>)(object)onSetMimicId.Publish).AddHandler(value); } remove { ((IDelegateEvent<FSharpHandler<Guid>>)(object)onSetMimicId.Publish).RemoveHandler(value); } } public MimicPlayer() { onSetMimicId = new FSharpEvent<Guid>(); random = new Random(); enemyAI = null; mimicId = Guid.Empty; mimickingPlayer = null; } public void Awake() { enemyAI = ((Component)this).GetComponent<EnemyAI>(); } public void Start() { object obj = enemyAI; if (!(obj is MaskedPlayerEnemy)) { StartMimicking(); } } public void StartMimicking() { if (((NetworkBehaviour)this).IsHost) { mimicId = Guid.NewGuid(); MaskedPlayerEnemy component = ((Component)this).GetComponent<MaskedPlayerEnemy>(); object obj = enemyAI; object obj2; if (obj is MaskedPlayerEnemy && SetModule.Contains<string>(((EnemyAI)component).enemyType.enemyName, Mirage.Domain.Config.getConfig().enemies@)) { obj2 = ((component.mimickingPlayer != null) ? FSharpOption<PlayerControllerB>.Some(component.mimickingPlayer) : FSharpOption<PlayerControllerB>.Some(randomPlayer())); } else { obj = enemyAI; obj2 = ((obj is DressGirlAI || !SetModule.Contains<string>(enemyAI.enemyType.enemyName, Mirage.Domain.Config.getConfig().enemies@)) ? null : FSharpOption<PlayerControllerB>.Some(randomPlayer())); } FSharpOption<PlayerControllerB> val = (FSharpOption<PlayerControllerB>)obj2; FSharpFunc<PlayerControllerB, Unit> val2 = new StartMimicking@71(this); Iterate val3 = null; Iterate.Iterate<PlayerControllerB>(val, val2); } } public void MimicPlayer(int playerId) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB val = StartOfRound.Instance.allPlayerScripts[playerId]; logMimic(PrintfModule.PrintFormatToStringThen<string>((PrintfFormat<string, Unit, string, string>)(object)new PrintfFormat<string, Unit, string, string,