Decompiled source of Mirage v1.12.2
BepInEx/plugins/Mirage.Core.dll
Decompiled a day 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+d4268f339b456174c9355e162d86752ac7d7774b")] [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 a day 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.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.Bootstrap; 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 LethalSettings.UI; using LethalSettings.UI.Components; using LobbyCompatibility.Enums; using LobbyCompatibility.Features; 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("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+d4268f339b456174c9355e162d86752ac7d7774b")] [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.*/)] [CompilationMapping(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public void Awake() { //IL_00dd: Unknown result type (might be due to invalid IL or missing references) string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); bool flag = LameDLL.LoadNativeDLL(new string[1] { directoryName }); string directoryName2 = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); string text = Path.Join((ReadOnlySpan<char>)directoryName2, (ReadOnlySpan<char>)"Mirage"); string recordingDirectory = Path.Join((ReadOnlySpan<char>)text, (ReadOnlySpan<char>)"Recording"); DirectoryInfo directoryInfo = Directory.CreateDirectory(text); 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.initLobbyCompatibility(); Mirage.Domain.Audio.Recording.initRecordingManager(recordingDirectory); Mirage.Domain.Setting.initSettings(Path.Join((ReadOnlySpan<char>)text, (ReadOnlySpan<char>)"settings.json")); Mirage.Domain.Netcode.initNetcodePatcher(); FSharpAsync.StartImmediate(Mirage.Domain.Audio.Recording.deleteRecordings, (FSharpOption<CancellationToken>)null); Application.quitting += $Plugin.Awake@51.Invoke; Mirage.Hook.Dissonance.cacheDissonance(); Mirage.Hook.AudioSpatializer.disableAudioSpatializer(); Mirage.Hook.Prefab.registerPrefab(); Mirage.Hook.Config.syncConfig(); Mirage.Hook.Microphone.readMicrophone(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@51 { internal static void Invoke() { FSharpAsync.StartImmediate(Mirage.Domain.Audio.Recording.deleteRecordings, (FSharpOption<CancellationToken>)null); } } } } namespace Mirage { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class Compatibility { [Serializable] internal sealed class initLobbyCompatibility@14 : FSharpFunc<Unit, FSharpAsync<Unit>> { internal static readonly initLobbyCompatibility@14 @_instance = new initLobbyCompatibility@14(); [CompilerGenerated] [DebuggerNonUserCode] internal initLobbyCompatibility@14() { } public override FSharpAsync<Unit> Invoke(Unit unitVar) { PluginHelper.RegisterPlugin("Mirage", Version.Parse("1.12.2"), (CompatibilityLevel)2, (VersionStrictness)2); return ExtraTopLevelOperators.DefaultAsyncBuilder.Zero(); } } public static void initLobbyCompatibility() { if (Chainloader.PluginInfos.ContainsKey("BMX.LobbyCompatibility")) { FSharpAsync<Unit> val = ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<Unit>((FSharpFunc<Unit, FSharpAsync<Unit>>)initLobbyCompatibility@14.@_instance); FSharpAsync.RunSynchronously<Unit>(val, (FSharpOption<int>)null, (FSharpOption<CancellationToken>)null); } } } } namespace <StartupCode$Mirage>.$Mirage { internal static class Compatibility { } } [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@; [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@; } } [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) { samples@ = samples; format@ = format; isReady@ = isReady; isPlayerDead@ = isPlayerDead; pushToTalkEnabled@ = pushToTalkEnabled; isMuted@ = isMuted; } [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 + ((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@) { return isMuted@ == recordState.isMuted@; } 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@) { return isMuted@ == obj.isMuted@; } 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] [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_0052: 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); FSharpAsync<Unit> val = channel.AsyncAdd(recordState, (FSharpOption<int>)null); FSharpAsync.StartImmediate(val, (FSharpOption<CancellationToken>)null); } } virtual void IMicrophoneSubscriber.Reset() { } } [Serializable] internal sealed class recorder@51 : FSharpFunc<FSharpFunc<RecordAction, FSharpAsync<Unit>>, Recorder> { public string recordingDirectory; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public int minAudioDurationMs; [CompilerGenerated] [DebuggerNonUserCode] internal recorder@51(string recordingDirectory, int minAudioDurationMs) { this.recordingDirectory = recordingDirectory; this.minAudioDurationMs = minAudioDurationMs; } public override Recorder Invoke(FSharpFunc<RecordAction, FSharpAsync<Unit>> onRecording) { return Recorder.Recorder(minAudioDurationMs, recordingDirectory, onRecording); } } [Serializable] internal sealed class recorder@51-1 : FSharpFunc<RecordAction, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> k; [CompilerGenerated] [DebuggerNonUserCode] internal recorder@51-1(FSharpAsync<Unit> k) { this.k = k; } public override FSharpAsync<Unit> Invoke(RecordAction _arg1) { return k; } } [Serializable] internal sealed class recorder@51-2 : FSharpFunc<Tuple<Return, FSharpAsync<Unit>>, FSharpFunc<Unit, FSharpAsync<Unit>>> { internal static readonly recorder@51-2 @_instance = new recorder@51-2(); [CompilerGenerated] [DebuggerNonUserCode] internal recorder@51-2() { } 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@52 : FSharpFunc<FSharpOption<float>, FSharpOption<float>> { internal static readonly voiceDetector@52 @_instance = new voiceDetector@52(); [CompilerGenerated] [DebuggerNonUserCode] internal voiceDetector@52() { } public override FSharpOption<float> Invoke(FSharpOption<float> x) { return x; } } [Serializable] internal sealed class voiceDetector@52-1 : FSharpFunc<Tuple<Return, FSharpAsync<float>>, FSharpFunc<float, FSharpAsync<float>>> { internal static readonly voiceDetector@52-1 @_instance = new voiceDetector@52-1(); [CompilerGenerated] [DebuggerNonUserCode] internal voiceDetector@52-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@52-2 : FSharpFunc<float[], FSharpAsync<float>> { public SileroVAD silero; [CompilerGenerated] [DebuggerNonUserCode] internal voiceDetector@52-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 readMicrophone@67-5 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { internal static readonly readMicrophone@67-5 @_instance = new readMicrophone@67-5(); [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@67-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@67-4 : FSharpFunc<Unit, FSharpAsync<Unit>> { internal static readonly readMicrophone@67-4 @_instance = new readMicrophone@67-4(); [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@67-4() { } public override FSharpAsync<Unit> Invoke(Unit _arg2) { return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)readMicrophone@67-5.@_instance); } } [Serializable] internal sealed class readMicrophone@67-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@67-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@67-3 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> consumer; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@67-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@67-4.@_instance; return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new readMicrophone@67-6(value, @_instance)); } } [Serializable] internal sealed class readMicrophone@57-7 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<Unit> computation2; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@57-7(FSharpAsync<Unit> computation2) { this.computation2 = computation2; } public override FSharpAsync<Unit> Invoke(Unit unitVar0) { return computation2; } } [Serializable] internal sealed class readMicrophone@57-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@57-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@57-2 : FSharpFunc<RecordState, FSharpAsync<Unit>> { public Resampler<FSharpOption<float>> resampler; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> consumer; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@57-2(Resampler<FSharpOption<float>> 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_007f: 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@); FSharpOption<float> item2 = (state.isMuted@ ? FSharpOption<float>.Some(0f) : ((!state.pushToTalkEnabled@) ? null : FSharpOption<float>.Some(1f))); val = Resampler.writeResampler<FSharpOption<float>>(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@67-3(consumer)); FSharpFunc<Unit, FSharpAsync<Unit>> part = new readMicrophone@57-7(val); return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new readMicrophone@57-8(computation, part)); } } [Serializable] internal sealed class readMicrophone@56-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@56-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@56-1 : FSharpFunc<Unit, FSharpAsync<Unit>> { public Resampler<FSharpOption<float>> resampler; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> consumer; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@56-1(Resampler<FSharpOption<float>> 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@57-2(resampler, consumer); return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new readMicrophone@56-9(computation, binder)); } } [Serializable] internal sealed class readMicrophone@54 : FSharpFunc<Unit, FSharpAsync<Unit>> { public Resampler<FSharpOption<float>> resampler; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> consumer; [CompilerGenerated] [DebuggerNonUserCode] internal readMicrophone@54(Resampler<FSharpOption<float>> 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@56-1(resampler, consumer)); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class readMicrophone@71-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@78-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@84-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@88-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@30-1; [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static bool isReady { get { return <StartupCode$Mirage>.$Mirage.Hook.Microphone.isReady@31; } set { <StartupCode$Mirage>.$Mirage.Hook.Microphone.isReady@31 = value; } } [CompilerGenerated] internal static FSharpFunc<RecordAction, FSharpAsync<Unit>> func1@1(FSharpAsync<Unit> k) { return new recorder@51-1(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@52-1.@_instance, new Tuple<Return, FSharpAsync<float>>(null, null), x); } public static void readMicrophone(string recordingDirectory) { //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Expected O, but got Unknown //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Expected O, but got Unknown //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Expected O, but got Unknown //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Expected O, but got Unknown Mirage.Domain.Config.SyncedConfig config = Mirage.Domain.Config.getConfig(); SileroVAD silero = API.SileroVAD(1024); int minAudioDurationMs@ = config.minAudioDurationMs@; FSharpFunc<FSharpFunc<RecordAction, FSharpAsync<Unit>>, Recorder> val = new recorder@51(recordingDirectory, minAudioDurationMs@); FSharpAsync<Unit> k = FSharpFunc<Tuple<Return, FSharpAsync<Unit>>, Unit>.InvokeFast<FSharpAsync<Unit>>((FSharpFunc<Tuple<Return, FSharpAsync<Unit>>, FSharpFunc<Unit, FSharpAsync<Unit>>>)recorder@51-2.@_instance, new Tuple<Return, FSharpAsync<Unit>>(null, null), (Unit)null); Recorder val2 = val.Invoke(func1@1(k)); VoiceDetector<FSharpOption<float>> val3 = Detection.VoiceDetector<FSharpOption<float>>(config.minSilenceDurationMs@, (FSharpFunc<FSharpOption<float>, FSharpOption<float>>)voiceDetector@52.@_instance, (FSharpFunc<float[], FSharpAsync<float>>)new voiceDetector@52-2(silero), Recorder.writeRecorder(val2)); Resampler<FSharpOption<float>> resampler = Resampler.Resampler<FSharpOption<float>>(Detection.writeDetector<FSharpOption<float>>(val3)); Lazy<FSharpAsync<Unit>> consumer = default(Lazy<FSharpAsync<Unit>>); FSharpFunc<Unit, FSharpAsync<Unit>> val4 = new readMicrophone@54(resampler, consumer); consumer = LazyExtensions.Create<FSharpAsync<Unit>>(val4); ((readMicrophone@54)val4).consumer = consumer; k = consumer.Value; FSharpAsync.Start(k, (FSharpOption<CancellationToken>)null); DissonanceComms.Start += new hook_Start(readMicrophone@71-10.Invoke); StartOfRound.StartTrackingAllPlayerVoices += new hook_StartTrackingAllPlayerVoices(readMicrophone@78-11.Invoke); StartOfRound.OnDestroy += new hook_OnDestroy(readMicrophone@84-12.Invoke); StartOfRound.ReviveDeadPlayers += new hook_ReviveDeadPlayers(readMicrophone@88-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@30-1; [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal static bool isReady@31; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal static int init@; static Microphone() { channel@30-1 = new BlockingQueueAgent<Mirage.Hook.Microphone.RecordState>(int.MaxValue); isReady@31 = 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_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Expected O, but got Unknown //IL_0225: Unknown result type (might be due to invalid IL or missing references) //IL_022c: 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 value = Mirage.Domain.Config.localConfig.MaskedSpawnChance@.Value; SelectableLevel[] levels = StartOfRound.Instance.levels; foreach (SelectableLevel val3 in levels) { int num2 = 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 num3 = 0; Default1 val7 = (Default1)(object)val6; int num4 = 0; Fold val8 = null; num2 = SeqModule.Fold<int, int>(@_instance3, num4, enumerable); if (num2 > 0) { double a = (double)num2 * value / (100.0 - value); num4 = (int)Math.Ceiling(a); num2 += num4; a = (double)num4 / (double)num2 * 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, num4, a }, (Type[])null))); SpawnableEnemyWithRarity val9 = new SpawnableEnemyWithRarity(); val9.rarity = num4; 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 GameObject voicePlayback; internal AudioStream.AudioStream audioStream; internal MimicPlayer.MimicPlayer mimicPlayer; internal EnemyAI enemyAI; internal bool IsMimickingVoice@; internal int init@21; public bool IsMimickingVoice { [CompilerGenerated] [DebuggerNonUserCode] get { if (init@21 < 1) { IntrinsicFunctions.FailInit(); } return IsMimickingVoice@; } [CompilerGenerated] [DebuggerNonUserCode] set { if (init@21 < 1) { IntrinsicFunctions.FailInit(); } IsMimickingVoice@ = value; } } public MimicVoice() { self.contents = this; voicePlayback = null; audioStream = null; mimicPlayer = null; enemyAI = null; IsMimickingVoice@ = false; init@21 = 1; } public void Awake() { if (init@21 < 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@62(objectArg); FSharpFunc<Type, Unit> val = new removeComponent@62-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@21 < 1) { IntrinsicFunctions.FailInit(); } startVoiceMimic(); } public void LateUpdate() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) if (init@21 < 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@21 < 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@97(this, null)) || isMimicLocalPlayerMuted@85(this, localPlayerController, null) || isNotHauntedOrDisappearedDressGirl@91(this, null) || val.isInsideFactory == enemyAI.isOutside; } [CompilerGenerated] internal void startVoiceMimic() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) FSharpFunc<FSharpOption<Unit>, Unit> @_instance; @_instance = mimicVoice@31.@_instance; FSharpFunc<FSharpAsync<FSharpOption<Unit>>, FSharpAsync<Unit>> val = new mimicVoice@31-1(@_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@31-21(this); Delay val6 = null; Delay val7 = null; FSharpAsync<Unit> mimicVoice = val.Invoke(OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<FSharpOption<Unit>>(val5)).Item); Lazy<FSharpAsync<Unit>> runMimicLoop = default(Lazy<FSharpAsync<Unit>>); FSharpFunc<Unit, FSharpAsync<Unit>> val8 = new clo@41-22(this, mimicVoice, runMimicLoop); runMimicLoop = LazyExtensions.Create<FSharpAsync<Unit>>(val8); ((clo@41-22)val8).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@62 : FSharpFunc<Type, Component> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public GameObject objectArg; [CompilerGenerated] [DebuggerNonUserCode] internal removeComponent@62(GameObject objectArg) { this.objectArg = objectArg; } public override Component Invoke(Type type) { return objectArg.GetComponent(type); } } [Serializable] internal sealed class removeComponent@62-1 : FSharpFunc<Type, Unit> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Type, Component> func1; [CompilerGenerated] [DebuggerNonUserCode] internal removeComponent@62-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@31 : FSharpFunc<FSharpOption<Unit>, Unit> { internal static readonly mimicVoice@31 @_instance = new mimicVoice@31(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@31() { } public override Unit Invoke(FSharpOption<Unit> _arg1) { return null; } } [Serializable] internal sealed class mimicVoice@31-1 : FSharpFunc<FSharpAsync<FSharpOption<Unit>>, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<FSharpOption<Unit>, Unit> f; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@31-1(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@38-2 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@38-2 @_instance = new mimicVoice@38-2(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@38-2() { } 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@38-3 : FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> { internal static readonly mimicVoice@38-3 @_instance = new mimicVoice@38-3(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@38-3() { } public override FSharpAsync<FSharpOption<Unit>> Invoke(Unit x) { return func2@1(FSharpOption<Unit>.Some(x)); } } [Serializable] internal sealed class mimicVoice@38-4 : FSharpFunc<Unit, FSharpOption<Unit>> { internal static readonly mimicVoice@38-4 @_instance = new mimicVoice@38-4(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@38-4() { } public override FSharpOption<Unit> Invoke(Unit arg0) { return FSharpOption<Unit>.Some(arg0); } } [Serializable] internal sealed class mimicVoice@38-7 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@38-7 @_instance = new mimicVoice@38-7(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@38-7() { } 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@38-6 : FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@38-6 @_instance = new mimicVoice@38-6(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@38-6() { } 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@38-7.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val)); } } [Serializable] internal sealed class mimicVoice@38-5 : FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>> { internal static readonly mimicVoice@38-5 @_instance = new mimicVoice@38-5(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@38-5() { } public override FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> Invoke(Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>> tupledArg) { Default1 item = (Default1)(object)tupledArg.Item1; return mimicVoice@38-6.@_instance; } } [Serializable] internal sealed class mimicVoice@38-9 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@38-9 @_instance = new mimicVoice@38-9(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@38-9() { } 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@38-8 : FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>> { internal static readonly mimicVoice@38-8 @_instance = new mimicVoice@38-8(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@38-8() { } 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@38-9.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val); } } [Serializable] internal sealed class mimicVoice@37-11 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@37-11 @_instance = new mimicVoice@37-11(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@37-11() { } 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@37-10 : FSharpFunc<FSharpOption<string>, FSharpAsync<FSharpOption<Unit>>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@37-10(MimicVoice @this) { this.@this = @this; } public override FSharpAsync<FSharpOption<Unit>> Invoke(FSharpOption<string> maybe_value) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: 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, 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@37-11.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val); } } [Serializable] internal sealed class mimicVoice@33-14 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@33-14 @_instance = new mimicVoice@33-14(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@33-14() { } 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@33-13 : FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@33-13 @_instance = new mimicVoice@33-13(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@33-13() { } 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@33-14.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val)); } } [Serializable] internal sealed class mimicVoice@33-12 : FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>> { internal static readonly mimicVoice@33-12 @_instance = new mimicVoice@33-12(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@33-12() { } public override FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> Invoke(Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>> tupledArg) { Default1 item = (Default1)(object)tupledArg.Item1; return mimicVoice@33-13.@_instance; } } [Serializable] internal sealed class mimicVoice@32-15 : FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@32-15(MimicVoice @this) { this.@this = @this; } public override FSharpAsync<FSharpOption<Unit>> Invoke(Unit _arg1) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) return x@1-1(this.@this, null).Item; } } [Serializable] internal sealed class mimicVoice@39-18 : FSharpFunc<Tuple<Return, FSharpAsync<FSharpOption<Unit>>>, FSharpFunc<FSharpOption<Unit>, FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@39-18 @_instance = new mimicVoice@39-18(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@39-18() { } 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@39-17 : FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> { internal static readonly mimicVoice@39-17 @_instance = new mimicVoice@39-17(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@39-17() { } 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@39-18.@_instance, new Tuple<Return, FSharpAsync<FSharpOption<Unit>>>(null, null), val)); } } [Serializable] internal sealed class mimicVoice@39-16 : FSharpFunc<Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>>, FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>>> { internal static readonly mimicVoice@39-16 @_instance = new mimicVoice@39-16(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@39-16() { } public override FSharpFunc<Unit, OptionT<FSharpAsync<FSharpOption<Unit>>>> Invoke(Tuple<Return, OptionT<FSharpAsync<FSharpOption<Unit>>>> tupledArg) { Default1 item = (Default1)(object)tupledArg.Item1; return mimicVoice@39-17.@_instance; } } [Serializable] internal sealed class mimicVoice@32-19 : FSharpFunc<Exception, FSharpAsync<FSharpOption<Unit>>> { internal static readonly mimicVoice@32-19 @_instance = new mimicVoice@32-19(); [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@32-19() { } 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-2(x).Item; } } [Serializable] internal sealed class mimicVoice@32-20 : FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpAsync<FSharpOption<Unit>> arg00; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@32-20(FSharpAsync<FSharpOption<Unit>> arg00) { this.arg00 = arg00; } public override FSharpAsync<FSharpOption<Unit>> Invoke(Unit unitVar0) { return arg00; } } [Serializable] internal sealed class mimicVoice@31-21 : FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; [CompilerGenerated] [DebuggerNonUserCode] internal mimicVoice@31-21(MimicVoice @this) { this.@this = @this; } public override FSharpAsync<FSharpOption<Unit>> Invoke(Unit _arg1) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) return x@1(this.@this, null).Item; } } [Serializable] internal sealed class clo@50-27 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { internal static readonly clo@50-27 @_instance = new clo@50-27(); [CompilerGenerated] [DebuggerNonUserCode] internal clo@50-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@50-26 : FSharpFunc<Unit, FSharpAsync<Unit>> { internal static readonly clo@50-26 @_instance = new clo@50-26(); [CompilerGenerated] [DebuggerNonUserCode] internal clo@50-26() { } public override FSharpAsync<Unit> Invoke(Unit _arg6) { return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)clo@50-27.@_instance); } } [Serializable] internal sealed class clo@50-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@50-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@50-25 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> runMimicLoop; [CompilerGenerated] [DebuggerNonUserCode] internal clo@50-25(Lazy<FSharpAsync<Unit>> runMimicLoop) { this.runMimicLoop = runMimicLoop; } public override FSharpAsync<Unit> Invoke(Unit _arg5) { FSharpAsync<Unit> value = runMimicLoop.Value; FSharpFunc<Unit, FSharpAsync<Unit>> @_instance; @_instance = clo@50-26.@_instance; return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new clo@50-28(value, @_instance)); } } [Serializable] internal sealed class clo@49-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@49-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@49-24 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> runMimicLoop; public int delay; [CompilerGenerated] [DebuggerNonUserCode] internal clo@49-24(Lazy<FSharpAsync<Unit>> runMimicLoop, int delay) { this.runMimicLoop = runMimicLoop; this.delay = delay; } public override FSharpAsync<Unit> Invoke(Unit _arg4) { FSharpAsync<Unit> computation = FSharpAsync.Sleep(delay); FSharpFunc<Unit, FSharpAsync<Unit>> binder = new clo@50-25(runMimicLoop); return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new clo@49-29(computation, binder)); } } [Serializable] internal sealed class clo@48-30 : FSharpFunc<AsyncActivation<Unit>, AsyncReturn> { public FSharpAsync<Unit> mimicVoice; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public FSharpFunc<Unit, FSharpAsync<Unit>> binder; [CompilerGenerated] [DebuggerNonUserCode] internal clo@48-30(FSharpAsync<Unit> mimicVoice, FSharpFunc<Unit, FSharpAsync<Unit>> binder) { this.mimicVoice = mimicVoice; 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, mimicVoice, binder); } } [Serializable] internal sealed class clo@43-23 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; public FSharpAsync<Unit> mimicVoice; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> runMimicLoop; [CompilerGenerated] [DebuggerNonUserCode] internal clo@43-23(MimicVoice @this, FSharpAsync<Unit> mimicVoice, Lazy<FSharpAsync<Unit>> runMimicLoop) { this.@this = @this; this.mimicVoice = mimicVoice; this.runMimicLoop = runMimicLoop; } public override FSharpAsync<Unit> Invoke(Unit unitVar) { 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)); FSharpFunc<Unit, FSharpAsync<Unit>> binder = new clo@49-24(runMimicLoop, delay); return AsyncPrimitives.MakeAsync<Unit>((FSharpFunc<AsyncActivation<Unit>, AsyncReturn>)new clo@48-30(mimicVoice, binder)); } } [Serializable] internal sealed class clo@41-22 : FSharpFunc<Unit, FSharpAsync<Unit>> { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public MimicVoice @this; public FSharpAsync<Unit> mimicVoice; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] public Lazy<FSharpAsync<Unit>> runMimicLoop; [CompilerGenerated] [DebuggerNonUserCode] internal clo@41-22(MimicVoice @this, FSharpAsync<Unit> mimicVoice, Lazy<FSharpAsync<Unit>> runMimicLoop) { this.@this = @this; this.mimicVoice = mimicVoice; this.runMimicLoop = runMimicLoop; } public override FSharpAsync<Unit> Invoke(Unit unitVar) { return ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<Unit>((FSharpFunc<Unit, FSharpAsync<Unit>>)new clo@43-23(this.@this, mimicVoice, runMimicLoop)); } } [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static Random random => <StartupCode$Mirage>.$Mirage.Unity.MirageVoice.random@19; internal static bool isMimicLocalPlayerMuted@85(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@91(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@97(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@38-2.@_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@38-5.@_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, string recording) { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_005f: 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) FSharpAsync<Unit> val = @this.audioStream.StreamAudioFromFile(recording); _ = null; OptionT<FSharpAsync<FSharpOption<Unit>>> val4; Bind val2; FSharpAsync<FSharpOption<Unit>> val3; if (false) { FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> @_instance; @_instance = mimicVoice@38-3.@_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@38-4.@_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@38-8.@_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, Unit unitVar) { //IL_0084: 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_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: 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_0076: 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)) { OptionT<FSharpAsync<FSharpOption<string>>> val = OptionT<FSharpAsync<FSharpOption<string>>>.NewOptionT(Mirage.Domain.Audio.Recording.getRecording); 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@37-10(@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@33-12.@_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-2(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@39-16.@_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, Unit unitVar) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0033: 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) Default1 val = null; Delay val2 = null; FSharpFunc<Unit, FSharpAsync<FSharpOption<Unit>>> val3 = new mimicVoice@32-15(@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@32-19.@_instance; TryWith val9 = null; val3 = new mimicVoice@32-20(item); FSharpAsync<FSharpOption<Unit>> val10 = null; return OptionT<FSharpAsync<FSharpOption<Unit>>>.NewOptionT(TryWith.TryWith<FSharpOption<Unit>, False>(val3, @_instance, val9, False.False)); } } } namespace <StartupCode$Mirage>.$Mirage.Unity { internal static class MirageVoice { [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal static readonly Random random@19; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal static int init@; static MirageVoice() { random@19 = 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, ulong>("Mimicking player #%P()", new object[1] { val.playerClientId }, (Type[])null))); mimickingPlayer = val; MaskedPlayerEnemy component = ((Component)this).GetComponent<MaskedPlayerEnemy>(); if (component != null) { component.mimickingPlayer = val; component.SetSuit(val.currentSuitID); ((EnemyAI)component).SetEnemyOutside(((Component)val).transform.position.y < -80f); component.SetVisibilityOfMaskedEnemy(); } ((Component)this).GetComponent<AudioStream.AudioStream>().AllowedSenderId = FSharpOption<ulong>.Some(val.actualClientId); if (((NetworkBehaviour)this).IsHost) { MimicPlayerClientRpc(playerId, mimicId.ToString()); } onSetMimicId.Trigger(mimicId); } [ClientRpc] public void MimicPlayerClientRpc(int playerId, string mimicId') { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Invalid comparison between Unknown and I4 //IL_005f: 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_006d: 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) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1323253619u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); bool flag = mimicId' != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(mimicId', false); } ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1323253619u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && !((NetworkBehaviour)this).IsHost) { mimicId = new Guid(mimicId'); MimicPlayer(playerId); } } public void ResetMimicPlayer() { logMimic("No longer mimicking a player."); mimickingPlayer = null; if (((NetworkBehaviour)this).IsHost) { ResetMimicPlayerClientRpc(); } } [ClientRpc] public void ResetMimicPlayerClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_006d: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3099822593u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3099822593u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && !((NetworkBehaviour)this).IsHost) { ResetMimicPlayer(); } } } public void Update() { //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Expected O, but got Unknown if (!((NetworkBehaviour)this).IsHost) { return; } object obj = enemyAI; if (!(obj is DressGirlAI) || !SetModule.Contains<string>(enemyAI.enemyType.enemyName, Mirage.Domain.Config.getConfig().enemies@)) { return; } DressGirlAI val = (DressGirlAI)(object)enemyAI; StartOfRound instance = StartOfRound.Instance; DressGirlAI val2 = val; PlayerControllerB hauntingPlayer = val.hauntingPlayer; FSharpOption<PlayerControllerB> val3 = ((hauntingPlayer != null) ? FSharpOption<PlayerControllerB>.Some(hauntingPlayer) : null); hauntingPlayer = mimickingPlayer; FSharpOption<PlayerControllerB> val4 = ((hauntingPlayer != null) ? FSharpOption<PlayerControllerB>.Some(hauntingPlayer) : null); if (val3 == null) { if (val4 != null) { ResetMimicPlayer(); } return; } FSharpOption<PlayerControllerB> val5 = val3; if (val4 != null) { FSharpOption<PlayerControllerB> val6 = val4; hauntingPlayer = val6.Value; PlayerControllerB value = val5.Value; if (HashCompare.GenericEqualityIntrinsic<PlayerControllerB>(value, hauntingPlayer) && instance.connectedPlayersAmount > 0) { hauntingPlayer = val6.Value; value = val5.Value; MimicPlayer(randomPlayerNotHaunted@116(this, val, null)); } } else { hauntingPlayer = val5.Value; if (instance.connectedPlayersAmount == 0) { MimicPlayer((int)hauntingPlayer.playerClientId); } else { MimicPlayer(randomPlayerNotHaunted@116(this, val, null)); } } } [CompilerGenerated] internal void logMimic<a>(a message) { Mirage.Domain.Logger.logInfo.Invoke(PrintfModule.PrintFormatToStringThen<string>((PrintfFormat<string, Unit, string, string>)(object)new PrintfFormat<string, Unit, string, string, Tuple<string, Guid, a>>("%P()(%P()) - %P()", new object[3] { ((object)enemyAI).GetType().Name, mimicId, message }, (Type[])null))); } [CompilerGenerated] internal PlayerControllerB randomPlayer() { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Expected O, but got Unknown //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Expected O, but got Unknown StartOfRound instance; int num; while (true) { instance = StartOfRound.Instance; if (playerPool.Count == 0) { playerPool.AddRange((IEnumerable<int>)SeqModule.ToList<int>(Operators.CreateSequence<int>(OperatorIntrinsics.RangeInt32(0, 1, instance.connectedPlayersAmount)))); } int index = random.Next(playerPool.Count); num = playerPool[index]; PlayerControllerB val = StartOfRound.Instance.allPlayerScripts[num]; playerPool.RemoveAt(index); if (num <= instance.connectedPlayersAmount && !val.disconnectedMidGame) { break; } this = this; } return instance.allPlayerScripts[num]; } protected override void __initializeVariables() { ((NetworkBehaviour)this).__initializeVariables(); } [RuntimeInitializeOnLoadMethod] internal static void InitializeRPCS_MimicPlayer() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown NetworkManager.__rpc_func_table.Add(1323253619u, new RpcReceiveHandler(__rpc_handler_1323253619)); NetworkManager.__rpc_func_table.Add(3099822593u, new RpcReceiveHandler(__rpc_handler_3099822593)); } private static void __rpc_handler_1323253619(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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) //IL_0042: 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_008c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)