diff --git a/.editorconfig b/.editorconfig
index 0bbaa114..f0328fd7 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,21 +1,31 @@
-
-[*.proto]
-indent_style=tab
-indent_size=tab
-tab_width=4
-
-[*.{asax,ascx,aspx,axaml,cs,cshtml,css,htm,html,js,jsx,master,paml,razor,skin,ts,tsx,vb,xaml,xamlx,xoml}]
-indent_style=space
-indent_size=4
-tab_width=4
-
-[*.{appxmanifest,axml,build,config,csproj,dbml,discomap,dtd,json,jsproj,lsproj,njsproj,nuspec,proj,props,resjson,resw,resx,StyleCop,targets,tasks,vbproj,xml,xsd}]
-indent_style=space
-indent_size=2
-tab_width=2
+# Standard properties
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+csharp_indent_labels = one_less_than_current
+csharp_prefer_simple_using_statement = true:suggestion
+csharp_prefer_braces = true:silent
+csharp_style_prefer_method_group_conversion = true:silent
+csharp_style_expression_bodied_methods = false:silent
+csharp_style_expression_bodied_constructors = false:silent
+csharp_style_expression_bodied_operators = false:silent
+csharp_style_expression_bodied_properties = true:silent
+csharp_style_expression_bodied_indexers = true:silent
+csharp_style_expression_bodied_accessors = true:silent
+csharp_style_expression_bodied_lambdas = true:silent
+csharp_style_expression_bodied_local_functions = false:silent
+csharp_style_throw_expression = true:suggestion
+csharp_style_prefer_null_check_over_type_check = true:suggestion
+csharp_prefer_simple_default_expression = true:suggestion
+csharp_style_prefer_local_over_anonymous_function = true:suggestion
+csharp_style_prefer_index_operator = true:suggestion
+csharp_style_prefer_range_operator = true:suggestion
+csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
+csharp_style_prefer_tuple_swap = true:suggestion
+csharp_style_inlined_variable_declaration = true:suggestion
+csharp_style_prefer_top_level_statements = true:silent
[*]
-
# Microsoft .NET properties
csharp_indent_braces=false
csharp_indent_switch_labels=true
@@ -3566,30 +3576,18 @@ resharper_xaml_xaml_xamarin_forms_data_type_and_binding_context_type_mismatched_
resharper_xaml_x_key_attribute_disallowed_highlighting=error
resharper_xml_doc_comment_syntax_problem_highlighting=warning
resharper_xunit_xunit_test_with_console_output_highlighting=warning
-
-# Standard properties
-end_of_line= crlf
-csharp_indent_labels = one_less_than_current
-csharp_prefer_simple_using_statement = true:suggestion
-csharp_prefer_braces = true:silent
-csharp_style_prefer_method_group_conversion = true:silent
-csharp_style_expression_bodied_methods = false:silent
-csharp_style_expression_bodied_constructors = false:silent
-csharp_style_expression_bodied_operators = false:silent
-csharp_style_expression_bodied_properties = true:silent
-csharp_style_expression_bodied_indexers = true:silent
-csharp_style_expression_bodied_accessors = true:silent
-csharp_style_expression_bodied_lambdas = true:silent
-csharp_style_expression_bodied_local_functions = false:silent
-csharp_style_throw_expression = true:suggestion
-csharp_style_prefer_null_check_over_type_check = true:suggestion
-csharp_prefer_simple_default_expression = true:suggestion
-csharp_style_prefer_local_over_anonymous_function = true:suggestion
-csharp_style_prefer_index_operator = true:suggestion
-csharp_style_prefer_range_operator = true:suggestion
-csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
+csharp_style_prefer_implicitly_typed_lambda_expression = true:suggestion
+csharp_style_expression_bodied_methods = true:silent
csharp_style_prefer_tuple_swap = true:suggestion
+csharp_style_prefer_unbound_generic_type_in_nameof = true:suggestion
+csharp_style_prefer_utf8_string_literals = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
+csharp_style_expression_bodied_constructors = true:silent
+csharp_style_expression_bodied_operators = true:silent
+csharp_style_deconstructed_variable_declaration = true:suggestion
+csharp_style_unused_value_assignment_preference = discard_variable:suggestion
+csharp_style_unused_value_expression_statement_preference = discard_variable:silent
+csharp_style_expression_bodied_properties = true:silent
[*.{cshtml,htm,html,proto,razor}]
indent_style=tab
@@ -3601,6 +3599,21 @@ indent_style=space
indent_size=4
tab_width=4
+[ "*.proto" ]
+indent_style=tab
+indent_size=tab
+tab_width=4
+
+[*.{asax,ascx,aspx,axaml,cs,cshtml,css,htm,html,js,jsx,master,paml,razor,skin,ts,tsx,vb,xaml,xamlx,xoml}]
+indent_style=space
+indent_size=4
+tab_width=4
+
+[*.{appxmanifest,axml,build,config,csproj,dbml,discomap,dtd,json,jsproj,lsproj,njsproj,nuspec,proj,props,resjson,resw,resx,StyleCop,targets,tasks,vbproj,xml,xsd}]
+indent_style=space
+indent_size=2
+tab_width=2
+
[*.{appxmanifest,asax,ascx,aspx,axaml,axml,build,c,c++,cc,cginc,compute,config,cp,cpp,cs,cshtml,csproj,css,cu,cuh,cxx,dbml,discomap,dtd,h,hh,hlsl,hlsli,hlslinc,hpp,htm,html,hxx,inc,inl,ino,ipp,js,json,jsproj,jsx,lsproj,master,mpp,mq4,mq5,mqh,njsproj,nuspec,paml,proj,props,proto,razor,resjson,resw,resx,skin,StyleCop,targets,tasks,tpp,ts,tsx,usf,ush,vb,vbproj,xaml,xamlx,xml,xoml,xsd}]
indent_style=space
indent_size= 4
@@ -3621,3 +3634,4 @@ dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_compound_assignment = true:suggestion
dotnet_style_prefer_simplified_interpolation = true:suggestion
dotnet_style_namespace_match_folder = true:suggestion
+insert_final_newline = true
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a317f236..1a61439e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -10,13 +10,15 @@ jobs:
build:
runs-on: windows-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v5
with:
- submodules: true
+ submodules: recursive
- name: Setup .NET
- uses: actions/setup-dotnet@v1
+ uses: actions/setup-dotnet@v5
with:
- dotnet-version: '7.x.x'
+ dotnet-version: |
+ 10.x.x
+ 9.x.x
- name: Restore dependencies
run: dotnet restore
- name: Download Dalamud
@@ -29,7 +31,7 @@ jobs:
- name: Archive
run: Compress-Archive -Path Penumbra/bin/Release/* -DestinationPath Penumbra.zip
- name: Upload a Build Artifact
- uses: actions/upload-artifact@v2.2.1
+ uses: actions/upload-artifact@v4
with:
path: |
./Penumbra/bin/Release/*
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 44f9fd2f..c72b4800 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -9,13 +9,15 @@ jobs:
build:
runs-on: windows-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v5
with:
- submodules: true
+ submodules: recursive
- name: Setup .NET
- uses: actions/setup-dotnet@v1
+ uses: actions/setup-dotnet@v5
with:
- dotnet-version: '7.x.x'
+ dotnet-version: |
+ 10.x.x
+ 9.x.x
- name: Restore dependencies
run: dotnet restore
- name: Download Dalamud
@@ -37,7 +39,7 @@ jobs:
- name: Archive
run: Compress-Archive -Path Penumbra/bin/Release/* -DestinationPath Penumbra.zip
- name: Upload a Build Artifact
- uses: actions/upload-artifact@v2.2.1
+ uses: actions/upload-artifact@v4
with:
path: |
./Penumbra/bin/Release/*
diff --git a/.github/workflows/test_release.yml b/.github/workflows/test_release.yml
index 80c0ce8f..c6b4e459 100644
--- a/.github/workflows/test_release.yml
+++ b/.github/workflows/test_release.yml
@@ -9,13 +9,15 @@ jobs:
build:
runs-on: windows-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v5
with:
- submodules: true
+ submodules: recursive
- name: Setup .NET
- uses: actions/setup-dotnet@v1
+ uses: actions/setup-dotnet@v5
with:
- dotnet-version: '7.x.x'
+ dotnet-version: |
+ 10.x.x
+ 9.x.x
- name: Restore dependencies
run: dotnet restore
- name: Download Dalamud
@@ -37,7 +39,7 @@ jobs:
- name: Archive
run: Compress-Archive -Path Penumbra/bin/Debug/* -DestinationPath Penumbra.zip
- name: Upload a Build Artifact
- uses: actions/upload-artifact@v2.2.1
+ uses: actions/upload-artifact@v4
with:
path: |
./Penumbra/bin/Debug/*
diff --git a/.gitmodules b/.gitmodules
index 94049366..ea1199ad 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,12 +1,16 @@
[submodule "OtterGui"]
path = OtterGui
- url = git@github.com:Ottermandias/OtterGui.git
+ url = https://github.com/Ottermandias/OtterGui.git
branch = main
[submodule "Penumbra.Api"]
path = Penumbra.Api
- url = git@github.com:Ottermandias/Penumbra.Api.git
+ url = https://github.com/Ottermandias/Penumbra.Api.git
branch = main
[submodule "Penumbra.String"]
path = Penumbra.String
- url = git@github.com:Ottermandias/Penumbra.String.git
+ url = https://github.com/Ottermandias/Penumbra.String.git
+ branch = main
+[submodule "Penumbra.GameData"]
+ path = Penumbra.GameData
+ url = https://github.com/Ottermandias/Penumbra.GameData.git
branch = main
diff --git a/OtterGui b/OtterGui
index a79abe20..ff1e6543 160000
--- a/OtterGui
+++ b/OtterGui
@@ -1 +1 @@
-Subproject commit a79abe203da2673f71a4e31422c6058375fb8dec
+Subproject commit ff1e6543845e3b8c53a5f8b240bc38faffb1b3bf
diff --git a/Penumbra.Api b/Penumbra.Api
index 983c98f7..52a3216a 160000
--- a/Penumbra.Api
+++ b/Penumbra.Api
@@ -1 +1 @@
-Subproject commit 983c98f74e7cd052b21f6ca35ef0ceaa9b388964
+Subproject commit 52a3216a525592205198303df2844435e382cf87
diff --git a/Penumbra.CrashHandler/Buffers/AnimationInvocationBuffer.cs b/Penumbra.CrashHandler/Buffers/AnimationInvocationBuffer.cs
new file mode 100644
index 00000000..292be2ff
--- /dev/null
+++ b/Penumbra.CrashHandler/Buffers/AnimationInvocationBuffer.cs
@@ -0,0 +1,123 @@
+using System;
+using System.Collections.Generic;
+using System.Text.Json.Nodes;
+
+namespace Penumbra.CrashHandler.Buffers;
+
+/// The types of currently hooked and relevant animation loading functions.
+public enum AnimationInvocationType : int
+{
+ PapLoad,
+ ActionLoad,
+ ScheduleClipUpdate,
+ LoadTimelineResources,
+ LoadCharacterVfx,
+ LoadCharacterSound,
+ ApricotSoundPlay,
+ LoadAreaVfx,
+ CharacterBaseLoadAnimation,
+}
+
+/// The full crash entry for an invoked vfx function.
+public record struct VfxFuncInvokedEntry(
+ double Age,
+ DateTimeOffset Timestamp,
+ int ThreadId,
+ string InvocationType,
+ string CharacterName,
+ string CharacterAddress,
+ Guid CollectionId) : ICrashDataEntry;
+
+/// Only expose the write interface for the buffer.
+public interface IAnimationInvocationBufferWriter
+{
+ /// Write a line into the buffer with the given data.
+ /// The address of the related character, if known.
+ /// The name of the related character, anonymized or relying on index if unavailable, if known.
+ /// The GUID of the associated collection.
+ /// The type of VFX func called.
+ public void WriteLine(nint characterAddress, ReadOnlySpan characterName, Guid collectionId, AnimationInvocationType type);
+}
+
+internal sealed class AnimationInvocationBuffer : MemoryMappedBuffer, IAnimationInvocationBufferWriter, IBufferReader
+{
+ private const int _version = 1;
+ private const int _lineCount = 64;
+ private const int _lineCapacity = 128;
+ private const string _name = "Penumbra.AnimationInvocation";
+
+ public void WriteLine(nint characterAddress, ReadOnlySpan characterName, Guid collectionId, AnimationInvocationType type)
+ {
+ var accessor = GetCurrentLineLocking();
+ lock (accessor)
+ {
+ accessor.Write(0, DateTimeOffset.UtcNow.ToUnixTimeMilliseconds());
+ accessor.Write(8, Environment.CurrentManagedThreadId);
+ accessor.Write(12, (int)type);
+ accessor.Write(16, characterAddress);
+ var span = GetSpan(accessor, 24, 16);
+ collectionId.TryWriteBytes(span);
+ accessor.SafeMemoryMappedViewHandle.ReleasePointer();
+ span = GetSpan(accessor, 40);
+ WriteSpan(characterName, span);
+ accessor.SafeMemoryMappedViewHandle.ReleasePointer();
+ }
+ }
+
+ public uint TotalCount
+ => TotalWrittenLines;
+
+ public IEnumerable GetLines(DateTimeOffset crashTime)
+ {
+ var lineCount = (int)CurrentLineCount;
+ for (var i = lineCount - 1; i >= 0; --i)
+ {
+ var line = GetLine(i);
+ var timestamp = DateTimeOffset.FromUnixTimeMilliseconds(BitConverter.ToInt64(line));
+ var thread = BitConverter.ToInt32(line[8..]);
+ var type = (AnimationInvocationType)BitConverter.ToInt32(line[12..]);
+ var address = BitConverter.ToUInt64(line[16..]);
+ var collectionId = new Guid(line[24..40]);
+ var characterName = ReadString(line[40..]);
+ yield return new JsonObject()
+ {
+ [nameof(VfxFuncInvokedEntry.Age)] = (crashTime - timestamp).TotalSeconds,
+ [nameof(VfxFuncInvokedEntry.Timestamp)] = timestamp,
+ [nameof(VfxFuncInvokedEntry.ThreadId)] = thread,
+ [nameof(VfxFuncInvokedEntry.InvocationType)] = ToName(type),
+ [nameof(VfxFuncInvokedEntry.CharacterName)] = characterName,
+ [nameof(VfxFuncInvokedEntry.CharacterAddress)] = address.ToString("X"),
+ [nameof(VfxFuncInvokedEntry.CollectionId)] = collectionId,
+ };
+ }
+ }
+
+ public static IBufferReader CreateReader(int pid)
+ => new AnimationInvocationBuffer(false, pid);
+
+ public static IAnimationInvocationBufferWriter CreateWriter(int pid)
+ => new AnimationInvocationBuffer(pid);
+
+ private AnimationInvocationBuffer(bool writer, int pid)
+ : base($"{_name}_{pid}_{_version}", _version)
+ { }
+
+ private AnimationInvocationBuffer(int pid)
+ : base($"{_name}_{pid}_{_version}", _version, _lineCount, _lineCapacity)
+ { }
+
+ private static string ToName(AnimationInvocationType type)
+ => type switch
+ {
+ AnimationInvocationType.PapLoad => "PAP Load",
+ AnimationInvocationType.ActionLoad => "Action Load",
+ AnimationInvocationType.ScheduleClipUpdate => "Schedule Clip Update",
+ AnimationInvocationType.LoadTimelineResources => "Load Timeline Resources",
+ AnimationInvocationType.LoadCharacterVfx => "Load Character VFX",
+ AnimationInvocationType.LoadCharacterSound => "Load Character Sound",
+ AnimationInvocationType.ApricotSoundPlay => "Apricot Sound Play",
+ AnimationInvocationType.LoadAreaVfx => "Load Area VFX",
+ AnimationInvocationType.CharacterBaseLoadAnimation => "Load Animation (CharacterBase)",
+ _ => $"Unknown ({(int)type})",
+ };
+}
diff --git a/Penumbra.CrashHandler/Buffers/CharacterBaseBuffer.cs b/Penumbra.CrashHandler/Buffers/CharacterBaseBuffer.cs
new file mode 100644
index 00000000..89fea29d
--- /dev/null
+++ b/Penumbra.CrashHandler/Buffers/CharacterBaseBuffer.cs
@@ -0,0 +1,89 @@
+using System;
+using System.Collections.Generic;
+using System.Text.Json.Nodes;
+
+namespace Penumbra.CrashHandler.Buffers;
+
+/// Only expose the write interface for the buffer.
+public interface ICharacterBaseBufferWriter
+{
+ /// Write a line into the buffer with the given data.
+ /// The address of the related character, if known.
+ /// The name of the related character, anonymized or relying on index if unavailable, if known.
+ /// The GUID of the associated collection.
+ public void WriteLine(nint characterAddress, ReadOnlySpan characterName, Guid collectionId);
+}
+
+/// The full crash entry for a loaded character base.
+public record struct CharacterLoadedEntry(
+ double Age,
+ DateTimeOffset Timestamp,
+ int ThreadId,
+ string CharacterName,
+ string CharacterAddress,
+ Guid CollectionId) : ICrashDataEntry;
+
+internal sealed class CharacterBaseBuffer : MemoryMappedBuffer, ICharacterBaseBufferWriter, IBufferReader
+{
+ private const int _version = 1;
+ private const int _lineCount = 10;
+ private const int _lineCapacity = 128;
+ private const string _name = "Penumbra.CharacterBase";
+
+ public void WriteLine(nint characterAddress, ReadOnlySpan characterName, Guid collectionId)
+ {
+ var accessor = GetCurrentLineLocking();
+ lock (accessor)
+ {
+ accessor.Write(0, DateTimeOffset.UtcNow.ToUnixTimeMilliseconds());
+ accessor.Write(8, Environment.CurrentManagedThreadId);
+ accessor.Write(12, characterAddress);
+ var span = GetSpan(accessor, 20, 16);
+ collectionId.TryWriteBytes(span);
+ accessor.SafeMemoryMappedViewHandle.ReleasePointer();
+ span = GetSpan(accessor, 36);
+ WriteSpan(characterName, span);
+ accessor.SafeMemoryMappedViewHandle.ReleasePointer();
+ }
+ }
+
+ public IEnumerable GetLines(DateTimeOffset crashTime)
+ {
+ var lineCount = (int)CurrentLineCount;
+ for (var i = lineCount - 1; i >= 0; --i)
+ {
+ var line = GetLine(i);
+ var timestamp = DateTimeOffset.FromUnixTimeMilliseconds(BitConverter.ToInt64(line));
+ var thread = BitConverter.ToInt32(line[8..]);
+ var address = BitConverter.ToUInt64(line[12..]);
+ var collectionId = new Guid(line[20..36]);
+ var characterName = ReadString(line[36..]);
+ yield return new JsonObject
+ {
+ [nameof(CharacterLoadedEntry.Age)] = (crashTime - timestamp).TotalSeconds,
+ [nameof(CharacterLoadedEntry.Timestamp)] = timestamp,
+ [nameof(CharacterLoadedEntry.ThreadId)] = thread,
+ [nameof(CharacterLoadedEntry.CharacterName)] = characterName,
+ [nameof(CharacterLoadedEntry.CharacterAddress)] = address.ToString("X"),
+ [nameof(CharacterLoadedEntry.CollectionId)] = collectionId,
+ };
+ }
+ }
+
+ public uint TotalCount
+ => TotalWrittenLines;
+
+ public static IBufferReader CreateReader(int pid)
+ => new CharacterBaseBuffer(false, pid);
+
+ public static ICharacterBaseBufferWriter CreateWriter(int pid)
+ => new CharacterBaseBuffer(pid);
+
+ private CharacterBaseBuffer(bool writer, int pid)
+ : base($"{_name}_{pid}_{_version}", _version)
+ { }
+
+ private CharacterBaseBuffer(int pid)
+ : base($"{_name}_{pid}_{_version}", _version, _lineCount, _lineCapacity)
+ { }
+}
diff --git a/Penumbra.CrashHandler/Buffers/MemoryMappedBuffer.cs b/Penumbra.CrashHandler/Buffers/MemoryMappedBuffer.cs
new file mode 100644
index 00000000..e2ffcebe
--- /dev/null
+++ b/Penumbra.CrashHandler/Buffers/MemoryMappedBuffer.cs
@@ -0,0 +1,220 @@
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.IO;
+using System.IO.MemoryMappedFiles;
+using System.Linq;
+using System.Numerics;
+using System.Text;
+
+namespace Penumbra.CrashHandler.Buffers;
+
+public class MemoryMappedBuffer : IDisposable
+{
+ private const int MinHeaderLength = 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4;
+
+ private readonly MemoryMappedFile _file;
+ private readonly MemoryMappedViewAccessor _header;
+ private readonly MemoryMappedViewAccessor[] _lines = [];
+
+ public readonly int Version;
+ public readonly uint LineCount;
+ public readonly uint LineCapacity;
+ private readonly uint _lineMask;
+ private bool _disposed;
+
+ protected uint CurrentLineCount
+ {
+ get => _header.ReadUInt32(16);
+ set => _header.Write(16, value);
+ }
+
+ protected uint CurrentLinePosition
+ {
+ get => _header.ReadUInt32(20);
+ set => _header.Write(20, value);
+ }
+
+ public uint TotalWrittenLines
+ {
+ get => _header.ReadUInt32(24);
+ protected set => _header.Write(24, value);
+ }
+
+ public MemoryMappedBuffer(string mapName, int version, uint lineCount, uint lineCapacity)
+ {
+ Version = version;
+ LineCount = BitOperations.RoundUpToPowerOf2(Math.Clamp(lineCount, 2, int.MaxValue >> 3));
+ LineCapacity = BitOperations.RoundUpToPowerOf2(Math.Clamp(lineCapacity, 2, int.MaxValue >> 3));
+ _lineMask = LineCount - 1;
+ var fileName = Encoding.UTF8.GetBytes(mapName);
+ var headerLength = (uint)(4 + 4 + 4 + 4 + 4 + 4 + 4 + fileName.Length + 1);
+ headerLength = (headerLength & 0b111) > 0 ? (headerLength & ~0b111u) + 0b1000 : headerLength;
+ var capacity = LineCount * LineCapacity + headerLength;
+ _file = MemoryMappedFile.CreateNew(mapName, capacity, MemoryMappedFileAccess.ReadWrite, MemoryMappedFileOptions.None,
+ HandleInheritability.Inheritable);
+ _header = _file.CreateViewAccessor(0, headerLength);
+ _header.Write(0, headerLength);
+ _header.Write(4, Version);
+ _header.Write(8, LineCount);
+ _header.Write(12, LineCapacity);
+ _header.WriteArray(28, fileName, 0, fileName.Length);
+ _header.Write(fileName.Length + 28, (byte)0);
+ _lines = Enumerable.Range(0, (int)LineCount).Select(i
+ => _file.CreateViewAccessor(headerLength + i * LineCapacity, LineCapacity, MemoryMappedFileAccess.ReadWrite))
+ .ToArray();
+ }
+
+ public MemoryMappedBuffer(string mapName, int? expectedVersion = null, uint? expectedMinLineCount = null,
+ uint? expectedMinLineCapacity = null)
+ {
+ _lines = [];
+ _file = MemoryMappedFile.OpenExisting(mapName, MemoryMappedFileRights.ReadWrite, HandleInheritability.Inheritable);
+ using var headerLine = _file.CreateViewAccessor(0, 4, MemoryMappedFileAccess.Read);
+ var headerLength = headerLine.ReadUInt32(0);
+ if (headerLength < MinHeaderLength)
+ Throw($"Map {mapName} did not contain a valid header.");
+
+ _header = _file.CreateViewAccessor(0, headerLength, MemoryMappedFileAccess.ReadWrite);
+ Version = _header.ReadInt32(4);
+ LineCount = _header.ReadUInt32(8);
+ LineCapacity = _header.ReadUInt32(12);
+ _lineMask = LineCount - 1;
+ if (expectedVersion.HasValue && expectedVersion.Value != Version)
+ Throw($"Map {mapName} has version {Version} instead of {expectedVersion.Value}.");
+
+ if (LineCount < expectedMinLineCount)
+ Throw($"Map {mapName} has line count {LineCount} but line count >= {expectedMinLineCount.Value} is required.");
+
+ if (LineCapacity < expectedMinLineCapacity)
+ Throw($"Map {mapName} has line capacity {LineCapacity} but line capacity >= {expectedMinLineCapacity.Value} is required.");
+
+ var name = ReadString(GetSpan(_header, 28));
+ if (name != mapName)
+ Throw($"Map {mapName} does not contain its map name at the expected location.");
+
+ _lines = Enumerable.Range(0, (int)LineCount).Select(i
+ => _file.CreateViewAccessor(headerLength + i * LineCapacity, LineCapacity, MemoryMappedFileAccess.ReadWrite))
+ .ToArray();
+
+ [DoesNotReturn]
+ void Throw(string text)
+ {
+ _file.Dispose();
+ _header?.Dispose();
+ _disposed = true;
+ throw new Exception(text);
+ }
+ }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ _disposed = true;
+ }
+
+ protected static string ReadString(Span span)
+ {
+ if (span.IsEmpty)
+ throw new Exception("String from empty span requested.");
+
+ var termination = span.IndexOf((byte)0);
+ if (termination < 0)
+ throw new Exception("String in span is not terminated.");
+
+ return Encoding.UTF8.GetString(span[..termination]);
+ }
+
+ protected static int WriteString(string text, Span span)
+ {
+ var bytes = Encoding.UTF8.GetBytes(text);
+ var source = (Span)bytes;
+ var length = source.Length + 1;
+ if (length > span.Length)
+ source = source[..(span.Length - 1)];
+ source.CopyTo(span);
+ span[bytes.Length] = 0;
+ return source.Length + 1;
+ }
+
+ protected static int WriteSpan(ReadOnlySpan input, Span span)
+ {
+ var length = input.Length + 1;
+ if (length > span.Length)
+ input = input[..(span.Length - 1)];
+
+ input.CopyTo(span);
+ span[input.Length] = 0;
+ return input.Length + 1;
+ }
+
+ protected Span GetLine(int i)
+ {
+ if (i < 0 || i > LineCount)
+ return null;
+
+ lock (_header)
+ {
+ var lineIdx = (CurrentLinePosition + i) & _lineMask;
+ if (lineIdx > CurrentLineCount)
+ return null;
+
+ return GetSpan(_lines[lineIdx]);
+ }
+ }
+
+
+ protected MemoryMappedViewAccessor GetCurrentLineLocking()
+ {
+ MemoryMappedViewAccessor view;
+ lock (_header)
+ {
+ var currentLineCount = CurrentLineCount;
+ if (currentLineCount == LineCount)
+ {
+ var currentLinePos = CurrentLinePosition;
+ view = _lines[currentLinePos]!;
+ CurrentLinePosition = (currentLinePos + 1) & _lineMask;
+ }
+ else
+ {
+ view = _lines[currentLineCount];
+ ++CurrentLineCount;
+ }
+
+ ++TotalWrittenLines;
+ _header.Flush();
+ }
+
+ return view;
+ }
+
+ protected static Span GetSpan(MemoryMappedViewAccessor accessor, int offset = 0)
+ => GetSpan(accessor, offset, (int)accessor.Capacity - offset);
+
+ protected static unsafe Span GetSpan(MemoryMappedViewAccessor accessor, int offset, int size)
+ {
+ byte* ptr = null;
+ accessor.SafeMemoryMappedViewHandle.AcquirePointer(ref ptr);
+ size = Math.Min(size, (int)accessor.Capacity - offset);
+ if (size < 0)
+ return [];
+
+ var span = new Span(ptr + offset + accessor.PointerOffset, size);
+ return span;
+ }
+
+ protected void Dispose(bool disposing)
+ {
+ if (_disposed)
+ return;
+
+ _header?.Dispose();
+ foreach (var line in _lines)
+ line?.Dispose();
+ _file?.Dispose();
+ }
+
+ ~MemoryMappedBuffer()
+ => Dispose(false);
+}
diff --git a/Penumbra.CrashHandler/Buffers/ModdedFileBuffer.cs b/Penumbra.CrashHandler/Buffers/ModdedFileBuffer.cs
new file mode 100644
index 00000000..e4ee66d0
--- /dev/null
+++ b/Penumbra.CrashHandler/Buffers/ModdedFileBuffer.cs
@@ -0,0 +1,105 @@
+using System;
+using System.Collections.Generic;
+using System.Text.Json.Nodes;
+
+namespace Penumbra.CrashHandler.Buffers;
+
+/// Only expose the write interface for the buffer.
+public interface IModdedFileBufferWriter
+{
+ /// Write a line into the buffer with the given data.
+ /// The address of the related character, if known.
+ /// The name of the related character, anonymized or relying on index if unavailable, if known.
+ /// The GUID of the associated collection.
+ /// The file name as requested by the game.
+ /// The actual modded file name loaded.
+ public void WriteLine(nint characterAddress, ReadOnlySpan characterName, Guid collectionId, ReadOnlySpan requestedFileName,
+ ReadOnlySpan actualFileName);
+}
+
+/// The full crash entry for a loaded modded file.
+public record struct ModdedFileLoadedEntry(
+ double Age,
+ DateTimeOffset Timestamp,
+ int ThreadId,
+ string CharacterName,
+ string CharacterAddress,
+ Guid CollectionId,
+ string RequestedFileName,
+ string ActualFileName) : ICrashDataEntry;
+
+internal sealed class ModdedFileBuffer : MemoryMappedBuffer, IModdedFileBufferWriter, IBufferReader
+{
+ private const int _version = 1;
+ private const int _lineCount = 128;
+ private const int _lineCapacity = 1024;
+ private const string _name = "Penumbra.ModdedFile";
+
+ public void WriteLine(nint characterAddress, ReadOnlySpan characterName, Guid collectionId, ReadOnlySpan requestedFileName,
+ ReadOnlySpan actualFileName)
+ {
+ var accessor = GetCurrentLineLocking();
+ lock (accessor)
+ {
+ accessor.Write(0, DateTimeOffset.UtcNow.ToUnixTimeMilliseconds());
+ accessor.Write(8, Environment.CurrentManagedThreadId);
+ accessor.Write(12, characterAddress);
+ var span = GetSpan(accessor, 20, 16);
+ collectionId.TryWriteBytes(span);
+ accessor.SafeMemoryMappedViewHandle.ReleasePointer();
+ span = GetSpan(accessor, 36, 80);
+ WriteSpan(characterName, span);
+ accessor.SafeMemoryMappedViewHandle.ReleasePointer();
+ span = GetSpan(accessor, 116, 260);
+ WriteSpan(requestedFileName, span);
+ accessor.SafeMemoryMappedViewHandle.ReleasePointer();
+ span = GetSpan(accessor, 376);
+ WriteSpan(actualFileName, span);
+ accessor.SafeMemoryMappedViewHandle.ReleasePointer();
+ }
+ }
+
+ public uint TotalCount
+ => TotalWrittenLines;
+
+ public IEnumerable GetLines(DateTimeOffset crashTime)
+ {
+ var lineCount = (int)CurrentLineCount;
+ for (var i = lineCount - 1; i >= 0; --i)
+ {
+ var line = GetLine(i);
+ var timestamp = DateTimeOffset.FromUnixTimeMilliseconds(BitConverter.ToInt64(line));
+ var thread = BitConverter.ToInt32(line[8..]);
+ var address = BitConverter.ToUInt64(line[12..]);
+ var collectionId = new Guid(line[20..36]);
+ var characterName = ReadString(line[36..]);
+ var requestedFileName = ReadString(line[116..]);
+ var actualFileName = ReadString(line[376..]);
+ yield return new JsonObject()
+ {
+ [nameof(ModdedFileLoadedEntry.Age)] = (crashTime - timestamp).TotalSeconds,
+ [nameof(ModdedFileLoadedEntry.Timestamp)] = timestamp,
+ [nameof(ModdedFileLoadedEntry.ThreadId)] = thread,
+ [nameof(ModdedFileLoadedEntry.CharacterName)] = characterName,
+ [nameof(ModdedFileLoadedEntry.CharacterAddress)] = address.ToString("X"),
+ [nameof(ModdedFileLoadedEntry.CollectionId)] = collectionId,
+ [nameof(ModdedFileLoadedEntry.RequestedFileName)] = requestedFileName,
+ [nameof(ModdedFileLoadedEntry.ActualFileName)] = actualFileName,
+ };
+ }
+ }
+
+ public static IBufferReader CreateReader(int pid)
+ => new ModdedFileBuffer(false, pid);
+
+ public static IModdedFileBufferWriter CreateWriter(int pid)
+ => new ModdedFileBuffer(pid);
+
+ private ModdedFileBuffer(bool writer, int pid)
+ : base($"{_name}_{pid}_{_version}", _version)
+ { }
+
+ private ModdedFileBuffer(int pid)
+ : base($"{_name}_{pid}_{_version}", _version, _lineCount, _lineCapacity)
+ { }
+}
diff --git a/Penumbra.CrashHandler/CrashData.cs b/Penumbra.CrashHandler/CrashData.cs
new file mode 100644
index 00000000..55460548
--- /dev/null
+++ b/Penumbra.CrashHandler/CrashData.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections.Generic;
+using Penumbra.CrashHandler.Buffers;
+
+namespace Penumbra.CrashHandler;
+
+/// A base entry for crash data.
+public interface ICrashDataEntry
+{
+ /// The timestamp of the event.
+ DateTimeOffset Timestamp { get; }
+
+ /// The thread invoking the event.
+ int ThreadId { get; }
+
+ /// The age of the event compared to the crash. (Redundantly with the timestamp)
+ double Age { get; }
+}
+
+/// A full set of crash data.
+public class CrashData
+{
+ /// The mode this data was obtained - manually or from a crash.
+ public string Mode { get; set; } = "Unknown";
+
+ /// The time this crash data was generated.
+ public DateTimeOffset CrashTime { get; set; } = DateTimeOffset.UnixEpoch;
+
+ /// Penumbra's Version when this crash data was created.
+ public string Version { get; set; } = string.Empty;
+
+ /// The Game's Version when this crash data was created.
+ public string GameVersion { get; set; } = string.Empty;
+
+ /// The FFXIV process ID when this data was generated.
+ public int ProcessId { get; set; } = 0;
+
+ /// The FFXIV Exit Code (if any) when this data was generated.
+ public int ExitCode { get; set; } = 0;
+
+ /// The total amount of characters loaded during this session.
+ public int TotalCharactersLoaded { get; set; } = 0;
+
+ /// The total amount of modded files loaded during this session.
+ public int TotalModdedFilesLoaded { get; set; } = 0;
+
+ /// The total amount of vfx functions invoked during this session.
+ public int TotalVFXFuncsInvoked { get; set; } = 0;
+
+ /// The last character loaded before this crash data was generated.
+ public CharacterLoadedEntry? LastCharacterLoaded
+ => LastCharactersLoaded.Count == 0 ? default : LastCharactersLoaded[0];
+
+ /// The last modded file loaded before this crash data was generated.
+ public ModdedFileLoadedEntry? LastModdedFileLoaded
+ => LastModdedFilesLoaded.Count == 0 ? default : LastModdedFilesLoaded[0];
+
+ /// The last vfx function invoked before this crash data was generated.
+ public VfxFuncInvokedEntry? LastVfxFuncInvoked
+ => LastVFXFuncsInvoked.Count == 0 ? default : LastVFXFuncsInvoked[0];
+
+ /// A collection of the last few characters loaded before this crash data was generated.
+ public List LastCharactersLoaded { get; set; } = [];
+
+ /// A collection of the last few modded files loaded before this crash data was generated.
+ public List LastModdedFilesLoaded { get; set; } = [];
+
+ /// A collection of the last few vfx functions invoked before this crash data was generated.
+ public List LastVFXFuncsInvoked { get; set; } = [];
+}
diff --git a/Penumbra.CrashHandler/GameEventLogReader.cs b/Penumbra.CrashHandler/GameEventLogReader.cs
new file mode 100644
index 00000000..8a7f53f8
--- /dev/null
+++ b/Penumbra.CrashHandler/GameEventLogReader.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.Json.Nodes;
+using Penumbra.CrashHandler.Buffers;
+
+namespace Penumbra.CrashHandler;
+
+public interface IBufferReader
+{
+ public uint TotalCount { get; }
+ public IEnumerable GetLines(DateTimeOffset crashTime);
+}
+
+public sealed class GameEventLogReader(int pid) : IDisposable
+{
+ public readonly (IBufferReader Reader, string TypeSingular, string TypePlural)[] Readers =
+ [
+ (CharacterBaseBuffer.CreateReader(pid), "CharacterLoaded", "CharactersLoaded"),
+ (ModdedFileBuffer.CreateReader(pid), "ModdedFileLoaded", "ModdedFilesLoaded"),
+ (AnimationInvocationBuffer.CreateReader(pid), "VFXFuncInvoked", "VFXFuncsInvoked"),
+ ];
+
+ public void Dispose()
+ {
+ foreach (var (reader, _, _) in Readers)
+ (reader as IDisposable)?.Dispose();
+ }
+
+
+ public JsonObject Dump(string mode, int processId, int exitCode, string version, string gameVersion)
+ {
+ var crashTime = DateTimeOffset.UtcNow;
+ var obj = new JsonObject
+ {
+ [nameof(CrashData.Mode)] = mode,
+ [nameof(CrashData.CrashTime)] = DateTimeOffset.UtcNow,
+ [nameof(CrashData.ProcessId)] = processId,
+ [nameof(CrashData.ExitCode)] = exitCode,
+ [nameof(CrashData.Version)] = version,
+ [nameof(CrashData.GameVersion)] = gameVersion,
+ };
+
+ foreach (var (reader, singular, _) in Readers)
+ obj["Last" + singular] = reader.GetLines(crashTime).FirstOrDefault();
+
+ foreach (var (reader, _, plural) in Readers)
+ {
+ obj["Total" + plural] = reader.TotalCount;
+ var array = new JsonArray();
+ foreach (var file in reader.GetLines(crashTime))
+ array.Add(file);
+ obj["Last" + plural] = array;
+ }
+
+ return obj;
+ }
+}
diff --git a/Penumbra.CrashHandler/GameEventLogWriter.cs b/Penumbra.CrashHandler/GameEventLogWriter.cs
new file mode 100644
index 00000000..915c59a2
--- /dev/null
+++ b/Penumbra.CrashHandler/GameEventLogWriter.cs
@@ -0,0 +1,18 @@
+using System;
+using Penumbra.CrashHandler.Buffers;
+
+namespace Penumbra.CrashHandler;
+
+public sealed class GameEventLogWriter(int pid) : IDisposable
+{
+ public readonly ICharacterBaseBufferWriter CharacterBase = CharacterBaseBuffer.CreateWriter(pid);
+ public readonly IModdedFileBufferWriter FileLoaded = ModdedFileBuffer.CreateWriter(pid);
+ public readonly IAnimationInvocationBufferWriter AnimationFuncInvoked = AnimationInvocationBuffer.CreateWriter(pid);
+
+ public void Dispose()
+ {
+ (CharacterBase as IDisposable)?.Dispose();
+ (FileLoaded as IDisposable)?.Dispose();
+ (AnimationFuncInvoked as IDisposable)?.Dispose();
+ }
+}
diff --git a/Penumbra.CrashHandler/Penumbra.CrashHandler.csproj b/Penumbra.CrashHandler/Penumbra.CrashHandler.csproj
new file mode 100644
index 00000000..e07bb745
--- /dev/null
+++ b/Penumbra.CrashHandler/Penumbra.CrashHandler.csproj
@@ -0,0 +1,18 @@
+
+
+ Exe
+
+
+
+ embedded
+
+
+
+ embedded
+
+
+
+ false
+
+
+
diff --git a/Penumbra.CrashHandler/Program.cs b/Penumbra.CrashHandler/Program.cs
new file mode 100644
index 00000000..38c176a6
--- /dev/null
+++ b/Penumbra.CrashHandler/Program.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Diagnostics;
+using System.IO;
+using System.Text.Json;
+
+namespace Penumbra.CrashHandler;
+
+public class CrashHandler
+{
+ public static void Main(string[] args)
+ {
+ if (args.Length < 4 || !int.TryParse(args[1], out var pid))
+ return;
+
+ try
+ {
+ using var reader = new GameEventLogReader(pid);
+ var parent = Process.GetProcessById(pid);
+ using var handle = parent.SafeHandle;
+ parent.WaitForExit();
+ int exitCode;
+ try
+ {
+ exitCode = parent.ExitCode;
+ }
+ catch
+ {
+ exitCode = -1;
+ }
+
+ var obj = reader.Dump("Crash", pid, exitCode, args[2], args[3]);
+ using var fs = File.Open(args[0], FileMode.Create);
+ using var w = new Utf8JsonWriter(fs, new JsonWriterOptions { Indented = true });
+ obj.WriteTo(w, new JsonSerializerOptions() { WriteIndented = true });
+ }
+ catch (Exception ex)
+ {
+ File.WriteAllText(args[0], $"{DateTime.UtcNow} {pid} {ex}");
+ }
+ }
+}
diff --git a/Penumbra.CrashHandler/packages.lock.json b/Penumbra.CrashHandler/packages.lock.json
new file mode 100644
index 00000000..0a160ea5
--- /dev/null
+++ b/Penumbra.CrashHandler/packages.lock.json
@@ -0,0 +1,13 @@
+{
+ "version": 1,
+ "dependencies": {
+ "net10.0-windows7.0": {
+ "DotNet.ReproducibleBuilds": {
+ "type": "Direct",
+ "requested": "[1.2.39, )",
+ "resolved": "1.2.39",
+ "contentHash": "fcFN01tDTIQqDuTwr1jUQK/geofiwjG5DycJQOnC72i1SsLAk1ELe+apBOuZ11UMQG8YKFZG1FgvjZPbqHyatg=="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Penumbra.GameData b/Penumbra.GameData
new file mode 160000
index 00000000..0e973ed6
--- /dev/null
+++ b/Penumbra.GameData
@@ -0,0 +1 @@
+Subproject commit 0e973ed6eace6afd31cd298f8c58f76fa8d5ef60
diff --git a/Penumbra.GameData/.editorconfig b/Penumbra.GameData/.editorconfig
deleted file mode 100644
index 0bbaa114..00000000
--- a/Penumbra.GameData/.editorconfig
+++ /dev/null
@@ -1,3623 +0,0 @@
-
-[*.proto]
-indent_style=tab
-indent_size=tab
-tab_width=4
-
-[*.{asax,ascx,aspx,axaml,cs,cshtml,css,htm,html,js,jsx,master,paml,razor,skin,ts,tsx,vb,xaml,xamlx,xoml}]
-indent_style=space
-indent_size=4
-tab_width=4
-
-[*.{appxmanifest,axml,build,config,csproj,dbml,discomap,dtd,json,jsproj,lsproj,njsproj,nuspec,proj,props,resjson,resw,resx,StyleCop,targets,tasks,vbproj,xml,xsd}]
-indent_style=space
-indent_size=2
-tab_width=2
-
-[*]
-
-# Microsoft .NET properties
-csharp_indent_braces=false
-csharp_indent_switch_labels=true
-csharp_new_line_before_catch=true
-csharp_new_line_before_else=true
-csharp_new_line_before_finally=true
-csharp_new_line_before_members_in_object_initializers=true
-csharp_new_line_before_open_brace=all
-csharp_new_line_between_query_expression_clauses=true
-csharp_preferred_modifier_order=public, private, protected, internal, new, abstract, virtual, sealed, override, static, readonly, extern, unsafe, volatile, async:suggestion
-csharp_preserve_single_line_blocks=true
-csharp_space_after_cast=false
-csharp_space_after_colon_in_inheritance_clause=true
-csharp_space_after_comma=true
-csharp_space_after_dot=false
-csharp_space_after_keywords_in_control_flow_statements=true
-csharp_space_after_semicolon_in_for_statement=true
-csharp_space_around_binary_operators=before_and_after
-csharp_space_before_colon_in_inheritance_clause=true
-csharp_space_before_comma=false
-csharp_space_before_dot=false
-csharp_space_before_open_square_brackets=false
-csharp_space_before_semicolon_in_for_statement=false
-csharp_space_between_empty_square_brackets=false
-csharp_space_between_method_call_empty_parameter_list_parentheses=false
-csharp_space_between_method_call_name_and_opening_parenthesis=false
-csharp_space_between_method_call_parameter_list_parentheses=false
-csharp_space_between_method_declaration_empty_parameter_list_parentheses=false
-csharp_space_between_method_declaration_name_and_open_parenthesis=false
-csharp_space_between_method_declaration_parameter_list_parentheses=false
-csharp_space_between_parentheses=false
-csharp_space_between_square_brackets=false
-csharp_style_namespace_declarations= file_scoped:suggestion
-csharp_style_var_elsewhere=true:suggestion
-csharp_style_var_for_built_in_types=true:suggestion
-csharp_style_var_when_type_is_apparent=true:suggestion
-csharp_using_directive_placement= outside_namespace:silent
-dotnet_diagnostic.bc40000.severity=warning
-dotnet_diagnostic.bc400005.severity=warning
-dotnet_diagnostic.bc40008.severity=warning
-dotnet_diagnostic.bc40056.severity=warning
-dotnet_diagnostic.bc42016.severity=warning
-dotnet_diagnostic.bc42024.severity=warning
-dotnet_diagnostic.bc42025.severity=warning
-dotnet_diagnostic.bc42104.severity=warning
-dotnet_diagnostic.bc42105.severity=warning
-dotnet_diagnostic.bc42106.severity=warning
-dotnet_diagnostic.bc42107.severity=warning
-dotnet_diagnostic.bc42304.severity=warning
-dotnet_diagnostic.bc42309.severity=warning
-dotnet_diagnostic.bc42322.severity=warning
-dotnet_diagnostic.bc42349.severity=warning
-dotnet_diagnostic.bc42353.severity=warning
-dotnet_diagnostic.bc42354.severity=warning
-dotnet_diagnostic.bc42355.severity=warning
-dotnet_diagnostic.bc42356.severity=warning
-dotnet_diagnostic.bc42358.severity=warning
-dotnet_diagnostic.bc42504.severity=warning
-dotnet_diagnostic.bc42505.severity=warning
-dotnet_diagnostic.cs0067.severity=warning
-dotnet_diagnostic.cs0078.severity=warning
-dotnet_diagnostic.cs0108.severity=warning
-dotnet_diagnostic.cs0109.severity=warning
-dotnet_diagnostic.cs0114.severity=warning
-dotnet_diagnostic.cs0162.severity=warning
-dotnet_diagnostic.cs0164.severity=warning
-dotnet_diagnostic.cs0168.severity=warning
-dotnet_diagnostic.cs0169.severity=warning
-dotnet_diagnostic.cs0183.severity=warning
-dotnet_diagnostic.cs0184.severity=warning
-dotnet_diagnostic.cs0197.severity=warning
-dotnet_diagnostic.cs0219.severity=warning
-dotnet_diagnostic.cs0252.severity=warning
-dotnet_diagnostic.cs0253.severity=warning
-dotnet_diagnostic.cs0414.severity=warning
-dotnet_diagnostic.cs0420.severity=warning
-dotnet_diagnostic.cs0465.severity=warning
-dotnet_diagnostic.cs0469.severity=warning
-dotnet_diagnostic.cs0612.severity=warning
-dotnet_diagnostic.cs0618.severity=warning
-dotnet_diagnostic.cs0628.severity=warning
-dotnet_diagnostic.cs0642.severity=warning
-dotnet_diagnostic.cs0649.severity=warning
-dotnet_diagnostic.cs0652.severity=warning
-dotnet_diagnostic.cs0657.severity=warning
-dotnet_diagnostic.cs0658.severity=warning
-dotnet_diagnostic.cs0659.severity=warning
-dotnet_diagnostic.cs0660.severity=warning
-dotnet_diagnostic.cs0661.severity=warning
-dotnet_diagnostic.cs0665.severity=warning
-dotnet_diagnostic.cs0672.severity=warning
-dotnet_diagnostic.cs0675.severity=warning
-dotnet_diagnostic.cs0693.severity=warning
-dotnet_diagnostic.cs1030.severity=warning
-dotnet_diagnostic.cs1058.severity=warning
-dotnet_diagnostic.cs1066.severity=warning
-dotnet_diagnostic.cs1522.severity=warning
-dotnet_diagnostic.cs1570.severity=warning
-dotnet_diagnostic.cs1571.severity=warning
-dotnet_diagnostic.cs1572.severity=warning
-dotnet_diagnostic.cs1573.severity=warning
-dotnet_diagnostic.cs1574.severity=warning
-dotnet_diagnostic.cs1580.severity=warning
-dotnet_diagnostic.cs1581.severity=warning
-dotnet_diagnostic.cs1584.severity=warning
-dotnet_diagnostic.cs1587.severity=warning
-dotnet_diagnostic.cs1589.severity=warning
-dotnet_diagnostic.cs1590.severity=warning
-dotnet_diagnostic.cs1591.severity=warning
-dotnet_diagnostic.cs1592.severity=warning
-dotnet_diagnostic.cs1710.severity=warning
-dotnet_diagnostic.cs1711.severity=warning
-dotnet_diagnostic.cs1712.severity=warning
-dotnet_diagnostic.cs1717.severity=warning
-dotnet_diagnostic.cs1723.severity=warning
-dotnet_diagnostic.cs1911.severity=warning
-dotnet_diagnostic.cs1957.severity=warning
-dotnet_diagnostic.cs1981.severity=warning
-dotnet_diagnostic.cs1998.severity=warning
-dotnet_diagnostic.cs4014.severity=warning
-dotnet_diagnostic.cs7022.severity=warning
-dotnet_diagnostic.cs7023.severity=warning
-dotnet_diagnostic.cs7095.severity=warning
-dotnet_diagnostic.cs8094.severity=warning
-dotnet_diagnostic.cs8123.severity=warning
-dotnet_diagnostic.cs8321.severity=warning
-dotnet_diagnostic.cs8383.severity=warning
-dotnet_diagnostic.cs8416.severity=warning
-dotnet_diagnostic.cs8417.severity=warning
-dotnet_diagnostic.cs8424.severity=warning
-dotnet_diagnostic.cs8425.severity=warning
-dotnet_diagnostic.cs8509.severity=warning
-dotnet_diagnostic.cs8524.severity=warning
-dotnet_diagnostic.cs8597.severity=warning
-dotnet_diagnostic.cs8600.severity=warning
-dotnet_diagnostic.cs8601.severity=warning
-dotnet_diagnostic.cs8602.severity=warning
-dotnet_diagnostic.cs8603.severity=warning
-dotnet_diagnostic.cs8604.severity=warning
-dotnet_diagnostic.cs8605.severity=warning
-dotnet_diagnostic.cs8607.severity=warning
-dotnet_diagnostic.cs8608.severity=warning
-dotnet_diagnostic.cs8609.severity=warning
-dotnet_diagnostic.cs8610.severity=warning
-dotnet_diagnostic.cs8611.severity=warning
-dotnet_diagnostic.cs8612.severity=warning
-dotnet_diagnostic.cs8613.severity=warning
-dotnet_diagnostic.cs8614.severity=warning
-dotnet_diagnostic.cs8615.severity=warning
-dotnet_diagnostic.cs8616.severity=warning
-dotnet_diagnostic.cs8617.severity=warning
-dotnet_diagnostic.cs8618.severity=warning
-dotnet_diagnostic.cs8619.severity=warning
-dotnet_diagnostic.cs8620.severity=warning
-dotnet_diagnostic.cs8621.severity=warning
-dotnet_diagnostic.cs8622.severity=warning
-dotnet_diagnostic.cs8624.severity=warning
-dotnet_diagnostic.cs8625.severity=warning
-dotnet_diagnostic.cs8629.severity=warning
-dotnet_diagnostic.cs8631.severity=warning
-dotnet_diagnostic.cs8632.severity=none
-dotnet_diagnostic.cs8633.severity=warning
-dotnet_diagnostic.cs8634.severity=warning
-dotnet_diagnostic.cs8643.severity=warning
-dotnet_diagnostic.cs8644.severity=warning
-dotnet_diagnostic.cs8645.severity=warning
-dotnet_diagnostic.cs8655.severity=warning
-dotnet_diagnostic.cs8656.severity=warning
-dotnet_diagnostic.cs8667.severity=warning
-dotnet_diagnostic.cs8669.severity=none
-dotnet_diagnostic.cs8670.severity=warning
-dotnet_diagnostic.cs8714.severity=warning
-dotnet_diagnostic.cs8762.severity=warning
-dotnet_diagnostic.cs8763.severity=warning
-dotnet_diagnostic.cs8764.severity=warning
-dotnet_diagnostic.cs8765.severity=warning
-dotnet_diagnostic.cs8766.severity=warning
-dotnet_diagnostic.cs8767.severity=warning
-dotnet_diagnostic.cs8768.severity=warning
-dotnet_diagnostic.cs8769.severity=warning
-dotnet_diagnostic.cs8770.severity=warning
-dotnet_diagnostic.cs8774.severity=warning
-dotnet_diagnostic.cs8775.severity=warning
-dotnet_diagnostic.cs8776.severity=warning
-dotnet_diagnostic.cs8777.severity=warning
-dotnet_diagnostic.cs8794.severity=warning
-dotnet_diagnostic.cs8819.severity=warning
-dotnet_diagnostic.cs8824.severity=warning
-dotnet_diagnostic.cs8825.severity=warning
-dotnet_diagnostic.cs8846.severity=warning
-dotnet_diagnostic.cs8847.severity=warning
-dotnet_diagnostic.cs8851.severity=warning
-dotnet_diagnostic.cs8860.severity=warning
-dotnet_diagnostic.cs8892.severity=warning
-dotnet_diagnostic.cs8907.severity=warning
-dotnet_diagnostic.cs8947.severity=warning
-dotnet_diagnostic.cs8960.severity=warning
-dotnet_diagnostic.cs8961.severity=warning
-dotnet_diagnostic.cs8962.severity=warning
-dotnet_diagnostic.cs8963.severity=warning
-dotnet_diagnostic.cs8965.severity=warning
-dotnet_diagnostic.cs8966.severity=warning
-dotnet_diagnostic.cs8971.severity=warning
-dotnet_diagnostic.wme006.severity=warning
-dotnet_naming_rule.constants_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.constants_rule.severity = warning
-dotnet_naming_rule.constants_rule.style = upper_camel_case_style
-dotnet_naming_rule.constants_rule.symbols=constants_symbols
-dotnet_naming_rule.event_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.event_rule.severity = warning
-dotnet_naming_rule.event_rule.style = upper_camel_case_style
-dotnet_naming_rule.event_rule.symbols=event_symbols
-dotnet_naming_rule.interfaces_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.interfaces_rule.severity = warning
-dotnet_naming_rule.interfaces_rule.style = i_upper_camel_case_style
-dotnet_naming_rule.interfaces_rule.symbols=interfaces_symbols
-dotnet_naming_rule.locals_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.locals_rule.severity = warning
-dotnet_naming_rule.locals_rule.style = lower_camel_case_style_1
-dotnet_naming_rule.locals_rule.symbols=locals_symbols
-dotnet_naming_rule.local_constants_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.local_constants_rule.severity = warning
-dotnet_naming_rule.local_constants_rule.style = lower_camel_case_style_1
-dotnet_naming_rule.local_constants_rule.symbols=local_constants_symbols
-dotnet_naming_rule.local_functions_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.local_functions_rule.severity = warning
-dotnet_naming_rule.local_functions_rule.style = upper_camel_case_style
-dotnet_naming_rule.local_functions_rule.symbols=local_functions_symbols
-dotnet_naming_rule.method_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.method_rule.severity = warning
-dotnet_naming_rule.method_rule.style = upper_camel_case_style
-dotnet_naming_rule.method_rule.symbols=method_symbols
-dotnet_naming_rule.parameters_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.parameters_rule.severity = warning
-dotnet_naming_rule.parameters_rule.style = lower_camel_case_style_1
-dotnet_naming_rule.parameters_rule.symbols=parameters_symbols
-dotnet_naming_rule.private_constants_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.private_constants_rule.severity = warning
-dotnet_naming_rule.private_constants_rule.style = upper_camel_case_style
-dotnet_naming_rule.private_constants_rule.symbols=private_constants_symbols
-dotnet_naming_rule.private_instance_fields_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.private_instance_fields_rule.severity = warning
-dotnet_naming_rule.private_instance_fields_rule.style = lower_camel_case_style
-dotnet_naming_rule.private_instance_fields_rule.symbols=private_instance_fields_symbols
-dotnet_naming_rule.private_static_fields_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.private_static_fields_rule.severity = warning
-dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style
-dotnet_naming_rule.private_static_fields_rule.symbols=private_static_fields_symbols
-dotnet_naming_rule.private_static_readonly_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.private_static_readonly_rule.severity = warning
-dotnet_naming_rule.private_static_readonly_rule.style = upper_camel_case_style
-dotnet_naming_rule.private_static_readonly_rule.symbols=private_static_readonly_symbols
-dotnet_naming_rule.property_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.property_rule.severity = warning
-dotnet_naming_rule.property_rule.style = upper_camel_case_style
-dotnet_naming_rule.property_rule.symbols=property_symbols
-dotnet_naming_rule.public_fields_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.public_fields_rule.severity = warning
-dotnet_naming_rule.public_fields_rule.style = upper_camel_case_style
-dotnet_naming_rule.public_fields_rule.symbols=public_fields_symbols
-dotnet_naming_rule.static_readonly_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.static_readonly_rule.severity = warning
-dotnet_naming_rule.static_readonly_rule.style = upper_camel_case_style
-dotnet_naming_rule.static_readonly_rule.symbols=static_readonly_symbols
-dotnet_naming_rule.types_and_namespaces_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.types_and_namespaces_rule.severity = warning
-dotnet_naming_rule.types_and_namespaces_rule.style = upper_camel_case_style
-dotnet_naming_rule.types_and_namespaces_rule.symbols=types_and_namespaces_symbols
-dotnet_naming_rule.type_parameters_rule.import_to_resharper=as_predefined
-dotnet_naming_rule.type_parameters_rule.severity = warning
-dotnet_naming_rule.type_parameters_rule.style = t_upper_camel_case_style
-dotnet_naming_rule.type_parameters_rule.symbols=type_parameters_symbols
-dotnet_naming_style.i_upper_camel_case_style.capitalization=pascal_case
-dotnet_naming_style.i_upper_camel_case_style.required_prefix=I
-dotnet_naming_style.lower_camel_case_style.capitalization=camel_case
-dotnet_naming_style.lower_camel_case_style.required_prefix=_
-dotnet_naming_style.lower_camel_case_style_1.capitalization=camel_case
-dotnet_naming_style.t_upper_camel_case_style.capitalization=pascal_case
-dotnet_naming_style.t_upper_camel_case_style.required_prefix=T
-dotnet_naming_style.upper_camel_case_style.capitalization=pascal_case
-dotnet_naming_symbols.constants_symbols.applicable_accessibilities=public,internal,protected,protected_internal,private_protected
-dotnet_naming_symbols.constants_symbols.applicable_kinds=field
-dotnet_naming_symbols.constants_symbols.required_modifiers=const
-dotnet_naming_symbols.event_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.event_symbols.applicable_kinds=event
-dotnet_naming_symbols.interfaces_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.interfaces_symbols.applicable_kinds=interface
-dotnet_naming_symbols.locals_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.locals_symbols.applicable_kinds=local
-dotnet_naming_symbols.local_constants_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.local_constants_symbols.applicable_kinds=local
-dotnet_naming_symbols.local_constants_symbols.required_modifiers=const
-dotnet_naming_symbols.local_functions_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.local_functions_symbols.applicable_kinds=local_function
-dotnet_naming_symbols.method_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.method_symbols.applicable_kinds=method
-dotnet_naming_symbols.parameters_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.parameters_symbols.applicable_kinds=parameter
-dotnet_naming_symbols.private_constants_symbols.applicable_accessibilities=private
-dotnet_naming_symbols.private_constants_symbols.applicable_kinds=field
-dotnet_naming_symbols.private_constants_symbols.required_modifiers=const
-dotnet_naming_symbols.private_instance_fields_symbols.applicable_accessibilities=private
-dotnet_naming_symbols.private_instance_fields_symbols.applicable_kinds=field
-dotnet_naming_symbols.private_static_fields_symbols.applicable_accessibilities=private
-dotnet_naming_symbols.private_static_fields_symbols.applicable_kinds=field
-dotnet_naming_symbols.private_static_fields_symbols.required_modifiers=static
-dotnet_naming_symbols.private_static_readonly_symbols.applicable_accessibilities=private
-dotnet_naming_symbols.private_static_readonly_symbols.applicable_kinds=field
-dotnet_naming_symbols.private_static_readonly_symbols.required_modifiers=static,readonly
-dotnet_naming_symbols.property_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.property_symbols.applicable_kinds=property
-dotnet_naming_symbols.public_fields_symbols.applicable_accessibilities=public,internal,protected,protected_internal,private_protected
-dotnet_naming_symbols.public_fields_symbols.applicable_kinds=field
-dotnet_naming_symbols.static_readonly_symbols.applicable_accessibilities=public,internal,protected,protected_internal,private_protected
-dotnet_naming_symbols.static_readonly_symbols.applicable_kinds=field
-dotnet_naming_symbols.static_readonly_symbols.required_modifiers=static,readonly
-dotnet_naming_symbols.types_and_namespaces_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.types_and_namespaces_symbols.applicable_kinds=namespace,class,struct,enum,delegate
-dotnet_naming_symbols.type_parameters_symbols.applicable_accessibilities=*
-dotnet_naming_symbols.type_parameters_symbols.applicable_kinds=type_parameter
-dotnet_separate_import_directive_groups=false
-dotnet_sort_system_directives_first=true
-dotnet_style_parentheses_in_arithmetic_binary_operators=never_if_unnecessary:suggestion
-dotnet_style_parentheses_in_other_binary_operators=never_if_unnecessary:suggestion
-dotnet_style_parentheses_in_relational_binary_operators=never_if_unnecessary:suggestion
-dotnet_style_predefined_type_for_locals_parameters_members=true:suggestion
-dotnet_style_predefined_type_for_member_access=true:suggestion
-dotnet_style_qualification_for_event=false:suggestion
-dotnet_style_qualification_for_field=false:suggestion
-dotnet_style_qualification_for_method=false:suggestion
-dotnet_style_qualification_for_property=false:suggestion
-dotnet_style_require_accessibility_modifiers=for_non_interface_members:suggestion
-file_header_template=
-
-# ReSharper properties
-resharper_accessor_owner_body=expression_body
-resharper_alignment_tab_fill_style=use_spaces
-resharper_align_first_arg_by_paren=false
-resharper_align_linq_query=false
-resharper_align_multiline_argument=true
-resharper_align_multiline_array_and_object_initializer=false
-resharper_align_multiline_array_initializer=true
-resharper_align_multiline_binary_expressions_chain=false
-resharper_align_multiline_binary_patterns=false
-resharper_align_multiline_ctor_init=true
-resharper_align_multiline_expression_braces=false
-resharper_align_multiline_implements_list=true
-resharper_align_multiline_property_pattern=false
-resharper_align_multiline_statement_conditions=true
-resharper_align_multiline_switch_expression=false
-resharper_align_multiline_type_argument=true
-resharper_align_multiline_type_parameter=true
-resharper_align_multline_type_parameter_constrains=true
-resharper_align_multline_type_parameter_list=false
-resharper_align_tuple_components=false
-resharper_align_union_type_usage=true
-resharper_allow_alias=true
-resharper_allow_comment_after_lbrace=false
-resharper_allow_far_alignment=false
-resharper_always_use_end_of_line_brace_style=false
-resharper_apply_auto_detected_rules=false
-resharper_apply_on_completion=false
-resharper_arguments_anonymous_function=positional
-resharper_arguments_literal=positional
-resharper_arguments_named=positional
-resharper_arguments_other=positional
-resharper_arguments_skip_single=false
-resharper_arguments_string_literal=positional
-resharper_attribute_style=do_not_touch
-resharper_autodetect_indent_settings=false
-resharper_blank_lines_after_block_statements=1
-resharper_blank_lines_after_case=0
-resharper_blank_lines_after_control_transfer_statements=1
-resharper_blank_lines_after_file_scoped_namespace_directive=1
-resharper_blank_lines_after_imports=1
-resharper_blank_lines_after_multiline_statements=0
-resharper_blank_lines_after_options=1
-resharper_blank_lines_after_start_comment=1
-resharper_blank_lines_after_using_list=1
-resharper_blank_lines_around_accessor=0
-resharper_blank_lines_around_auto_property=1
-resharper_blank_lines_around_block_case_section=0
-resharper_blank_lines_around_class_definition=1
-resharper_blank_lines_around_field=1
-resharper_blank_lines_around_function_declaration=0
-resharper_blank_lines_around_function_definition=1
-resharper_blank_lines_around_global_attribute=0
-resharper_blank_lines_around_invocable=1
-resharper_blank_lines_around_local_method=1
-resharper_blank_lines_around_multiline_case_section=0
-resharper_blank_lines_around_namespace=1
-resharper_blank_lines_around_other_declaration=0
-resharper_blank_lines_around_property=1
-resharper_blank_lines_around_razor_functions=1
-resharper_blank_lines_around_razor_helpers=1
-resharper_blank_lines_around_razor_sections=1
-resharper_blank_lines_around_region=1
-resharper_blank_lines_around_single_line_accessor=0
-resharper_blank_lines_around_single_line_auto_property=0
-resharper_blank_lines_around_single_line_field=0
-resharper_blank_lines_around_single_line_function_definition=0
-resharper_blank_lines_around_single_line_invocable=0
-resharper_blank_lines_around_single_line_local_method=0
-resharper_blank_lines_around_single_line_property=0
-resharper_blank_lines_around_single_line_type=0
-resharper_blank_lines_around_type=1
-resharper_blank_lines_before_block_statements=0
-resharper_blank_lines_before_case=0
-resharper_blank_lines_before_control_transfer_statements=0
-resharper_blank_lines_before_multiline_statements=0
-resharper_blank_lines_before_single_line_comment=0
-resharper_blank_lines_inside_namespace=0
-resharper_blank_lines_inside_region=1
-resharper_blank_lines_inside_type=0
-resharper_blank_line_after_pi=true
-resharper_braces_for_dowhile=required
-resharper_braces_for_fixed=required
-resharper_braces_for_for=required_for_multiline
-resharper_braces_for_foreach=required_for_multiline
-resharper_braces_for_ifelse=not_required_for_both
-resharper_braces_for_lock=required
-resharper_braces_for_using=required
-resharper_braces_for_while=required_for_multiline
-resharper_braces_redundant=true
-resharper_break_template_declaration=line_break
-resharper_can_use_global_alias=true
-resharper_configure_await_analysis_mode=disabled
-resharper_constructor_or_destructor_body=expression_body
-resharper_continuous_indent_multiplier=1
-resharper_continuous_line_indent=single
-resharper_cpp_align_multiline_argument=true
-resharper_cpp_align_multiline_calls_chain=true
-resharper_cpp_align_multiline_extends_list=true
-resharper_cpp_align_multiline_for_stmt=true
-resharper_cpp_align_multiline_parameter=true
-resharper_cpp_align_multiple_declaration=true
-resharper_cpp_align_ternary=align_not_nested
-resharper_cpp_anonymous_method_declaration_braces=next_line
-resharper_cpp_case_block_braces=next_line_shifted_2
-resharper_cpp_empty_block_style=multiline
-resharper_cpp_indent_switch_labels=false
-resharper_cpp_insert_final_newline=false
-resharper_cpp_int_align_comments=false
-resharper_cpp_invocable_declaration_braces=next_line
-resharper_cpp_max_line_length=120
-resharper_cpp_new_line_before_catch=true
-resharper_cpp_new_line_before_else=true
-resharper_cpp_new_line_before_while=true
-resharper_cpp_other_braces=next_line
-resharper_cpp_space_around_binary_operator=true
-resharper_cpp_type_declaration_braces=next_line
-resharper_cpp_wrap_arguments_style=wrap_if_long
-resharper_cpp_wrap_lines=true
-resharper_cpp_wrap_parameters_style=wrap_if_long
-resharper_csharp_align_multiline_argument=false
-resharper_csharp_align_multiline_calls_chain=false
-resharper_csharp_align_multiline_expression=false
-resharper_csharp_align_multiline_extends_list=false
-resharper_csharp_align_multiline_for_stmt=false
-resharper_csharp_align_multiline_parameter=false
-resharper_csharp_align_multiple_declaration=true
-resharper_csharp_empty_block_style=together
-resharper_csharp_insert_final_newline=true
-resharper_csharp_int_align_comments=true
-resharper_csharp_max_line_length=144
-resharper_csharp_naming_rule.enum_member=AaBb
-resharper_csharp_naming_rule.method_property_event=AaBb
-resharper_csharp_naming_rule.other=AaBb
-resharper_csharp_new_line_before_while=false
-resharper_csharp_prefer_qualified_reference=false
-resharper_csharp_space_after_unary_operator=false
-resharper_csharp_wrap_arguments_style=wrap_if_long
-resharper_csharp_wrap_before_binary_opsign=true
-resharper_csharp_wrap_for_stmt_header_style=wrap_if_long
-resharper_csharp_wrap_lines=true
-resharper_csharp_wrap_parameters_style=wrap_if_long
-resharper_css_brace_style=end_of_line
-resharper_css_insert_final_newline=false
-resharper_css_keep_blank_lines_between_declarations=1
-resharper_css_max_line_length=120
-resharper_css_wrap_lines=true
-resharper_cxxcli_property_declaration_braces=next_line
-resharper_declarations_style=separate_lines
-resharper_default_exception_variable_name=e
-resharper_default_value_when_type_evident=default_literal
-resharper_default_value_when_type_not_evident=default_literal
-resharper_delete_quotes_from_solid_values=false
-resharper_disable_blank_line_changes=false
-resharper_disable_formatter=false
-resharper_disable_indenter=false
-resharper_disable_int_align=false
-resharper_disable_line_break_changes=false
-resharper_disable_line_break_removal=false
-resharper_disable_space_changes=false
-resharper_disable_space_changes_before_trailing_comment=false
-resharper_dont_remove_extra_blank_lines=false
-resharper_enable_wrapping=false
-resharper_enforce_line_ending_style=false
-resharper_event_handler_pattern_long=$object$On$event$
-resharper_event_handler_pattern_short=On$event$
-resharper_expression_braces=inside
-resharper_expression_pars=inside
-resharper_extra_spaces=remove_all
-resharper_force_attribute_style=separate
-resharper_force_chop_compound_do_expression=false
-resharper_force_chop_compound_if_expression=false
-resharper_force_chop_compound_while_expression=false
-resharper_force_control_statements_braces=do_not_change
-resharper_force_linebreaks_inside_complex_literals=true
-resharper_force_variable_declarations_on_new_line=false
-resharper_format_leading_spaces_decl=false
-resharper_free_block_braces=next_line
-resharper_function_declaration_return_type_style=do_not_change
-resharper_function_definition_return_type_style=do_not_change
-resharper_generator_mode=false
-resharper_html_attribute_indent=align_by_first_attribute
-resharper_html_insert_final_newline=false
-resharper_html_linebreak_before_elements=body,div,p,form,h1,h2,h3
-resharper_html_max_blank_lines_between_tags=2
-resharper_html_max_line_length=120
-resharper_html_pi_attribute_style=on_single_line
-resharper_html_space_before_self_closing=false
-resharper_html_wrap_lines=true
-resharper_ignore_space_preservation=false
-resharper_include_prefix_comment_in_indent=false
-resharper_indent_access_specifiers_from_class=false
-resharper_indent_aligned_ternary=true
-resharper_indent_anonymous_method_block=false
-resharper_indent_braces_inside_statement_conditions=true
-resharper_indent_case_from_select=true
-resharper_indent_child_elements=OneIndent
-resharper_indent_class_members_from_access_specifiers=false
-resharper_indent_comment=true
-resharper_indent_inside_namespace=true
-resharper_indent_invocation_pars=inside
-resharper_indent_left_par_inside_expression=false
-resharper_indent_method_decl_pars=inside
-resharper_indent_nested_fixed_stmt=false
-resharper_indent_nested_foreach_stmt=true
-resharper_indent_nested_for_stmt=true
-resharper_indent_nested_lock_stmt=false
-resharper_indent_nested_usings_stmt=false
-resharper_indent_nested_while_stmt=true
-resharper_indent_pars=inside
-resharper_indent_preprocessor_directives=none
-resharper_indent_preprocessor_if=no_indent
-resharper_indent_preprocessor_other=no_indent
-resharper_indent_preprocessor_region=usual_indent
-resharper_indent_statement_pars=inside
-resharper_indent_text=OneIndent
-resharper_indent_typearg_angles=inside
-resharper_indent_typeparam_angles=inside
-resharper_indent_type_constraints=true
-resharper_indent_wrapped_function_names=false
-resharper_instance_members_qualify_declared_in=this_class, base_class
-resharper_int_align=true
-resharper_int_align_assignments=true
-resharper_int_align_binary_expressions=false
-resharper_int_align_declaration_names=false
-resharper_int_align_eq=false
-resharper_int_align_fields=true
-resharper_int_align_fix_in_adjacent=true
-resharper_int_align_invocations=true
-resharper_int_align_methods=true
-resharper_int_align_nested_ternary=true
-resharper_int_align_parameters=false
-resharper_int_align_properties=true
-resharper_int_align_property_patterns=true
-resharper_int_align_switch_expressions=true
-resharper_int_align_switch_sections=true
-resharper_int_align_variables=true
-resharper_js_align_multiline_parameter=false
-resharper_js_align_multiple_declaration=false
-resharper_js_align_ternary=none
-resharper_js_brace_style=end_of_line
-resharper_js_empty_block_style=multiline
-resharper_js_indent_switch_labels=false
-resharper_js_insert_final_newline=false
-resharper_js_keep_blank_lines_between_declarations=2
-resharper_js_max_line_length=120
-resharper_js_new_line_before_catch=false
-resharper_js_new_line_before_else=false
-resharper_js_new_line_before_finally=false
-resharper_js_new_line_before_while=false
-resharper_js_space_around_binary_operator=true
-resharper_js_wrap_arguments_style=chop_if_long
-resharper_js_wrap_before_binary_opsign=false
-resharper_js_wrap_for_stmt_header_style=chop_if_long
-resharper_js_wrap_lines=true
-resharper_js_wrap_parameters_style=chop_if_long
-resharper_keep_blank_lines_in_code=2
-resharper_keep_blank_lines_in_declarations=2
-resharper_keep_existing_attribute_arrangement=false
-resharper_keep_existing_declaration_block_arrangement=false
-resharper_keep_existing_declaration_parens_arrangement=true
-resharper_keep_existing_embedded_arrangement=false
-resharper_keep_existing_embedded_block_arrangement=false
-resharper_keep_existing_enum_arrangement=false
-resharper_keep_existing_expr_member_arrangement=false
-resharper_keep_existing_initializer_arrangement=false
-resharper_keep_existing_invocation_parens_arrangement=true
-resharper_keep_existing_property_patterns_arrangement=true
-resharper_keep_existing_switch_expression_arrangement=false
-resharper_keep_nontrivial_alias=true
-resharper_keep_user_linebreaks=true
-resharper_keep_user_wrapping=true
-resharper_linebreaks_around_razor_statements=true
-resharper_linebreaks_inside_tags_for_elements_longer_than=2147483647
-resharper_linebreaks_inside_tags_for_elements_with_child_elements=true
-resharper_linebreaks_inside_tags_for_multiline_elements=true
-resharper_linebreak_before_all_elements=false
-resharper_linebreak_before_multiline_elements=true
-resharper_linebreak_before_singleline_elements=false
-resharper_line_break_after_colon_in_member_initializer_lists=do_not_change
-resharper_line_break_after_comma_in_member_initializer_lists=false
-resharper_line_break_before_comma_in_member_initializer_lists=false
-resharper_line_break_before_requires_clause=do_not_change
-resharper_linkage_specification_braces=end_of_line
-resharper_linkage_specification_indentation=none
-resharper_local_function_body=expression_body
-resharper_macro_block_begin=
-resharper_macro_block_end=
-resharper_max_array_initializer_elements_on_line=10000
-resharper_max_attribute_length_for_same_line=38
-resharper_max_enum_members_on_line=1
-resharper_max_formal_parameters_on_line=10000
-resharper_max_initializer_elements_on_line=1
-resharper_max_invocation_arguments_on_line=10000
-resharper_media_query_style=same_line
-resharper_member_initializer_list_style=do_not_change
-resharper_method_or_operator_body=expression_body
-resharper_min_blank_lines_after_imports=0
-resharper_min_blank_lines_around_fields=0
-resharper_min_blank_lines_around_functions=1
-resharper_min_blank_lines_around_types=1
-resharper_min_blank_lines_between_declarations=1
-resharper_namespace_declaration_braces=next_line
-resharper_namespace_indentation=all
-resharper_nested_ternary_style=autodetect
-resharper_new_line_before_enumerators=true
-resharper_normalize_tag_names=false
-resharper_no_indent_inside_elements=html,body,thead,tbody,tfoot
-resharper_no_indent_inside_if_element_longer_than=200
-resharper_object_creation_when_type_evident=target_typed
-resharper_object_creation_when_type_not_evident=explicitly_typed
-resharper_old_engine=false
-resharper_options_braces_pointy=false
-resharper_outdent_binary_ops=true
-resharper_outdent_binary_pattern_ops=false
-resharper_outdent_commas=false
-resharper_outdent_dots=false
-resharper_outdent_namespace_member=false
-resharper_outdent_statement_labels=false
-resharper_outdent_ternary_ops=false
-resharper_parentheses_non_obvious_operations=none, bitwise, bitwise_inclusive_or, bitwise_exclusive_or, shift, bitwise_and
-resharper_parentheses_redundancy_style=remove_if_not_clarifies_precedence
-resharper_parentheses_same_type_operations=false
-resharper_pi_attributes_indent=align_by_first_attribute
-resharper_place_attribute_on_same_line=false
-resharper_place_class_decorator_on_the_same_line=false
-resharper_place_comments_at_first_column=false
-resharper_place_constructor_initializer_on_same_line=false
-resharper_place_each_decorator_on_new_line=false
-resharper_place_event_attribute_on_same_line=false
-resharper_place_expr_accessor_on_single_line=true
-resharper_place_expr_method_on_single_line=false
-resharper_place_expr_property_on_single_line=false
-resharper_place_field_decorator_on_the_same_line=false
-resharper_place_linq_into_on_new_line=true
-resharper_place_method_decorator_on_the_same_line=false
-resharper_place_namespace_definitions_on_same_line=false
-resharper_place_property_attribute_on_same_line=false
-resharper_place_property_decorator_on_the_same_line=false
-resharper_place_simple_case_statement_on_same_line=if_owner_is_single_line
-resharper_place_simple_embedded_statement_on_same_line=false
-resharper_place_simple_enum_on_single_line=true
-resharper_place_simple_initializer_on_single_line=true
-resharper_place_simple_property_pattern_on_single_line=true
-resharper_place_simple_switch_expression_on_single_line=true
-resharper_place_template_args_on_new_line=false
-resharper_place_type_constraints_on_same_line=true
-resharper_prefer_explicit_discard_declaration=false
-resharper_prefer_separate_deconstructed_variables_declaration=false
-resharper_preserve_spaces_inside_tags=pre,textarea
-resharper_properties_style=separate_lines_for_nonsingle
-resharper_protobuf_brace_style=end_of_line
-resharper_protobuf_empty_block_style=together_same_line
-resharper_protobuf_insert_final_newline=false
-resharper_protobuf_max_line_length=120
-resharper_protobuf_wrap_lines=true
-resharper_qualified_using_at_nested_scope=false
-resharper_quote_style=doublequoted
-resharper_razor_prefer_qualified_reference=true
-resharper_remove_blank_lines_near_braces=false
-resharper_remove_blank_lines_near_braces_in_code=true
-resharper_remove_blank_lines_near_braces_in_declarations=true
-resharper_remove_this_qualifier=true
-resharper_requires_expression_braces=next_line
-resharper_resx_attribute_indent=single_indent
-resharper_resx_insert_final_newline=false
-resharper_resx_linebreak_before_elements=
-resharper_resx_max_blank_lines_between_tags=0
-resharper_resx_max_line_length=2147483647
-resharper_resx_pi_attribute_style=do_not_touch
-resharper_resx_space_before_self_closing=false
-resharper_resx_wrap_lines=false
-resharper_resx_wrap_tags_and_pi=false
-resharper_resx_wrap_text=false
-resharper_selector_style=same_line
-resharper_show_autodetect_configure_formatting_tip=true
-resharper_simple_blocks=do_not_change
-resharper_simple_block_style=do_not_change
-resharper_simple_case_statement_style=do_not_change
-resharper_simple_embedded_statement_style=do_not_change
-resharper_single_statement_function_style=do_not_change
-resharper_sort_attributes=false
-resharper_sort_class_selectors=false
-resharper_sort_usings=true
-resharper_sort_usings_lowercase_first=false
-resharper_spaces_around_eq_in_attribute=false
-resharper_spaces_around_eq_in_pi_attribute=false
-resharper_spaces_inside_tags=false
-resharper_space_after_arrow=true
-resharper_space_after_attributes=true
-resharper_space_after_attribute_target_colon=true
-resharper_space_after_cast=false
-resharper_space_after_colon=true
-resharper_space_after_colon_in_case=true
-resharper_space_after_colon_in_inheritance_clause=true
-resharper_space_after_colon_in_type_annotation=true
-resharper_space_after_comma=true
-resharper_space_after_for_colon=true
-resharper_space_after_function_comma=true
-resharper_space_after_keywords_in_control_flow_statements=true
-resharper_space_after_last_attribute=false
-resharper_space_after_last_pi_attribute=false
-resharper_space_after_media_colon=true
-resharper_space_after_media_comma=true
-resharper_space_after_operator_keyword=true
-resharper_space_after_property_colon=true
-resharper_space_after_property_semicolon=true
-resharper_space_after_ptr_in_data_member=true
-resharper_space_after_ptr_in_data_members=false
-resharper_space_after_ptr_in_method=true
-resharper_space_after_ref_in_data_member=true
-resharper_space_after_ref_in_data_members=false
-resharper_space_after_ref_in_method=true
-resharper_space_after_selector_comma=true
-resharper_space_after_semicolon_in_for_statement=true
-resharper_space_after_separator=false
-resharper_space_after_ternary_colon=true
-resharper_space_after_ternary_quest=true
-resharper_space_after_triple_slash=true
-resharper_space_after_type_parameter_constraint_colon=true
-resharper_space_around_additive_op=true
-resharper_space_around_alias_eq=true
-resharper_space_around_assignment_op=true
-resharper_space_around_assignment_operator=true
-resharper_space_around_attribute_match_operator=false
-resharper_space_around_deref_in_trailing_return_type=true
-resharper_space_around_lambda_arrow=true
-resharper_space_around_member_access_operator=false
-resharper_space_around_operator=true
-resharper_space_around_pipe_or_amper_in_type_usage=true
-resharper_space_around_relational_op=true
-resharper_space_around_selector_operator=true
-resharper_space_around_shift_op=true
-resharper_space_around_stmt_colon=true
-resharper_space_around_ternary_operator=true
-resharper_space_before_array_rank_parentheses=false
-resharper_space_before_arrow=true
-resharper_space_before_attribute_target_colon=false
-resharper_space_before_checked_parentheses=false
-resharper_space_before_colon=false
-resharper_space_before_colon_in_case=false
-resharper_space_before_colon_in_inheritance_clause=true
-resharper_space_before_colon_in_type_annotation=false
-resharper_space_before_comma=false
-resharper_space_before_default_parentheses=false
-resharper_space_before_empty_invocation_parentheses=false
-resharper_space_before_empty_method_parentheses=false
-resharper_space_before_for_colon=true
-resharper_space_before_function_comma=false
-resharper_space_before_initializer_braces=false
-resharper_space_before_invocation_parentheses=false
-resharper_space_before_label_colon=false
-resharper_space_before_lambda_parentheses=false
-resharper_space_before_media_colon=false
-resharper_space_before_media_comma=false
-resharper_space_before_method_parentheses=false
-resharper_space_before_nameof_parentheses=false
-resharper_space_before_new_parentheses=false
-resharper_space_before_nullable_mark=false
-resharper_space_before_open_square_brackets=false
-resharper_space_before_pointer_asterik_declaration=false
-resharper_space_before_property_colon=false
-resharper_space_before_property_semicolon=false
-resharper_space_before_ptr_in_abstract_decl=false
-resharper_space_before_ptr_in_data_member=false
-resharper_space_before_ptr_in_data_members=true
-resharper_space_before_ptr_in_method=false
-resharper_space_before_ref_in_abstract_decl=false
-resharper_space_before_ref_in_data_member=false
-resharper_space_before_ref_in_data_members=true
-resharper_space_before_ref_in_method=false
-resharper_space_before_selector_comma=false
-resharper_space_before_semicolon=false
-resharper_space_before_semicolon_in_for_statement=false
-resharper_space_before_separator=false
-resharper_space_before_singleline_accessorholder=true
-resharper_space_before_sizeof_parentheses=false
-resharper_space_before_template_args=false
-resharper_space_before_template_params=true
-resharper_space_before_ternary_colon=true
-resharper_space_before_ternary_quest=true
-resharper_space_before_trailing_comment=true
-resharper_space_before_typeof_parentheses=false
-resharper_space_before_type_argument_angle=false
-resharper_space_before_type_parameters_brackets=false
-resharper_space_before_type_parameter_angle=false
-resharper_space_before_type_parameter_constraint_colon=true
-resharper_space_before_type_parameter_parentheses=true
-resharper_space_between_accessors_in_singleline_property=true
-resharper_space_between_attribute_sections=true
-resharper_space_between_closing_angle_brackets_in_template_args=false
-resharper_space_between_empty_square_brackets=false
-resharper_space_between_keyword_and_expression=true
-resharper_space_between_keyword_and_type=true
-resharper_space_between_method_call_empty_parameter_list_parentheses=false
-resharper_space_between_method_call_name_and_opening_parenthesis=false
-resharper_space_between_method_call_parameter_list_parentheses=false
-resharper_space_between_method_declaration_empty_parameter_list_parentheses=false
-resharper_space_between_method_declaration_name_and_open_parenthesis=false
-resharper_space_between_method_declaration_parameter_list_parentheses=false
-resharper_space_between_parentheses_of_control_flow_statements=false
-resharper_space_between_square_brackets=false
-resharper_space_between_typecast_parentheses=false
-resharper_space_colon_after=true
-resharper_space_colon_before=false
-resharper_space_comma=true
-resharper_space_equals=true
-resharper_space_inside_braces=true
-resharper_space_in_singleline_accessorholder=true
-resharper_space_in_singleline_anonymous_method=true
-resharper_space_in_singleline_method=true
-resharper_space_near_postfix_and_prefix_op=false
-resharper_space_within_array_initialization_braces=false
-resharper_space_within_array_rank_empty_parentheses=false
-resharper_space_within_array_rank_parentheses=false
-resharper_space_within_attribute_angles=false
-resharper_space_within_attribute_match_brackets=false
-resharper_space_within_checked_parentheses=false
-resharper_space_within_default_parentheses=false
-resharper_space_within_empty_braces=true
-resharper_space_within_empty_initializer_braces=false
-resharper_space_within_empty_invocation_parentheses=false
-resharper_space_within_empty_method_parentheses=false
-resharper_space_within_empty_object_literal_braces=false
-resharper_space_within_empty_template_params=false
-resharper_space_within_expression_parentheses=false
-resharper_space_within_function_parentheses=false
-resharper_space_within_import_braces=true
-resharper_space_within_initializer_braces=false
-resharper_space_within_invocation_parentheses=false
-resharper_space_within_media_block=true
-resharper_space_within_media_parentheses=false
-resharper_space_within_method_parentheses=false
-resharper_space_within_nameof_parentheses=false
-resharper_space_within_new_parentheses=false
-resharper_space_within_object_literal_braces=true
-resharper_space_within_parentheses=false
-resharper_space_within_property_block=true
-resharper_space_within_single_line_array_initializer_braces=true
-resharper_space_within_sizeof_parentheses=false
-resharper_space_within_template_args=false
-resharper_space_within_template_argument=false
-resharper_space_within_template_params=false
-resharper_space_within_tuple_parentheses=false
-resharper_space_within_typeof_parentheses=false
-resharper_space_within_type_argument_angles=false
-resharper_space_within_type_parameters_brackets=false
-resharper_space_within_type_parameter_angles=false
-resharper_space_within_type_parameter_parentheses=false
-resharper_special_else_if_treatment=true
-resharper_static_members_qualify_members=none
-resharper_static_members_qualify_with=declared_type
-resharper_stick_comment=true
-resharper_support_vs_event_naming_pattern=true
-resharper_termination_style=ensure_semicolon
-resharper_toplevel_function_declaration_return_type_style=do_not_change
-resharper_toplevel_function_definition_return_type_style=do_not_change
-resharper_trailing_comma_in_multiline_lists=true
-resharper_trailing_comma_in_singleline_lists=false
-resharper_types_braces=end_of_line
-resharper_use_continuous_indent_inside_initializer_braces=true
-resharper_use_continuous_indent_inside_parens=true
-resharper_use_continuous_line_indent_in_expression_braces=false
-resharper_use_continuous_line_indent_in_method_pars=false
-resharper_use_heuristics_for_body_style=true
-resharper_use_indents_from_main_language_in_file=true
-resharper_use_indent_from_previous_element=true
-resharper_use_indent_from_vs=false
-resharper_use_roslyn_logic_for_evident_types=false
-resharper_vb_align_multiline_argument=true
-resharper_vb_align_multiline_expression=true
-resharper_vb_align_multiline_parameter=true
-resharper_vb_align_multiple_declaration=true
-resharper_vb_insert_final_newline=false
-resharper_vb_max_line_length=120
-resharper_vb_place_field_attribute_on_same_line=true
-resharper_vb_place_method_attribute_on_same_line=false
-resharper_vb_place_type_attribute_on_same_line=false
-resharper_vb_prefer_qualified_reference=false
-resharper_vb_space_after_unary_operator=true
-resharper_vb_space_around_multiplicative_op=false
-resharper_vb_wrap_arguments_style=wrap_if_long
-resharper_vb_wrap_before_binary_opsign=false
-resharper_vb_wrap_lines=true
-resharper_vb_wrap_parameters_style=wrap_if_long
-resharper_wrap_after_binary_opsign=true
-resharper_wrap_after_declaration_lpar=false
-resharper_wrap_after_dot=false
-resharper_wrap_after_dot_in_method_calls=false
-resharper_wrap_after_expression_lbrace=true
-resharper_wrap_after_invocation_lpar=false
-resharper_wrap_around_elements=true
-resharper_wrap_array_initializer_style=chop_always
-resharper_wrap_array_literals=chop_if_long
-resharper_wrap_base_clause_style=wrap_if_long
-resharper_wrap_before_arrow_with_expressions=true
-resharper_wrap_before_binary_pattern_op=true
-resharper_wrap_before_colon=false
-resharper_wrap_before_comma=false
-resharper_wrap_before_comma_in_base_clause=false
-resharper_wrap_before_declaration_lpar=false
-resharper_wrap_before_declaration_rpar=false
-resharper_wrap_before_dot=true
-resharper_wrap_before_eq=false
-resharper_wrap_before_expression_rbrace=true
-resharper_wrap_before_extends_colon=false
-resharper_wrap_before_first_type_parameter_constraint=false
-resharper_wrap_before_invocation_lpar=false
-resharper_wrap_before_invocation_rpar=false
-resharper_wrap_before_linq_expression=false
-resharper_wrap_before_ternary_opsigns=true
-resharper_wrap_before_type_parameter_langle=false
-resharper_wrap_braced_init_list_style=wrap_if_long
-resharper_wrap_chained_binary_expressions=chop_if_long
-resharper_wrap_chained_binary_patterns=wrap_if_long
-resharper_wrap_chained_method_calls=wrap_if_long
-resharper_wrap_ctor_initializer_style=wrap_if_long
-resharper_wrap_enumeration_style=chop_if_long
-resharper_wrap_enum_declaration=chop_always
-resharper_wrap_enum_style=do_not_change
-resharper_wrap_extends_list_style=wrap_if_long
-resharper_wrap_imports=chop_if_long
-resharper_wrap_multiple_declaration_style=chop_if_long
-resharper_wrap_multiple_type_parameter_constraints_style=chop_if_long
-resharper_wrap_object_literals=chop_if_long
-resharper_wrap_property_pattern=chop_if_long
-resharper_wrap_switch_expression=chop_always
-resharper_wrap_ternary_expr_style=chop_if_long
-resharper_wrap_union_type_usage=chop_if_long
-resharper_wrap_verbatim_interpolated_strings=no_wrap
-resharper_xmldoc_attribute_indent=single_indent
-resharper_xmldoc_insert_final_newline=false
-resharper_xmldoc_linebreak_before_elements=summary,remarks,example,returns,param,typeparam,value,para
-resharper_xmldoc_max_blank_lines_between_tags=0
-resharper_xmldoc_max_line_length=120
-resharper_xmldoc_pi_attribute_style=do_not_touch
-resharper_xmldoc_space_before_self_closing=true
-resharper_xmldoc_wrap_lines=true
-resharper_xmldoc_wrap_tags_and_pi=true
-resharper_xmldoc_wrap_text=true
-resharper_xml_attribute_indent=align_by_first_attribute
-resharper_xml_insert_final_newline=false
-resharper_xml_linebreak_before_elements=
-resharper_xml_max_blank_lines_between_tags=2
-resharper_xml_max_line_length=120
-resharper_xml_pi_attribute_style=do_not_touch
-resharper_xml_space_before_self_closing=true
-resharper_xml_wrap_lines=true
-resharper_xml_wrap_tags_and_pi=true
-resharper_xml_wrap_text=false
-
-# ReSharper inspection severities
-resharper_abstract_class_constructor_can_be_made_protected_highlighting=hint
-resharper_access_rights_in_text_highlighting=warning
-resharper_access_to_disposed_closure_highlighting=warning
-resharper_access_to_for_each_variable_in_closure_highlighting=warning
-resharper_access_to_modified_closure_highlighting=warning
-resharper_access_to_static_member_via_derived_type_highlighting=warning
-resharper_address_of_marshal_by_ref_object_highlighting=warning
-resharper_amd_dependency_path_problem_highlighting=none
-resharper_amd_external_module_highlighting=suggestion
-resharper_angular_html_banana_highlighting=warning
-resharper_annotate_can_be_null_parameter_highlighting=none
-resharper_annotate_can_be_null_type_member_highlighting=none
-resharper_annotate_not_null_parameter_highlighting=none
-resharper_annotate_not_null_type_member_highlighting=none
-resharper_annotation_conflict_in_hierarchy_highlighting=warning
-resharper_annotation_redundancy_at_value_type_highlighting=warning
-resharper_annotation_redundancy_in_hierarchy_highlighting=warning
-resharper_arguments_style_anonymous_function_highlighting=hint
-resharper_arguments_style_literal_highlighting=hint
-resharper_arguments_style_named_expression_highlighting=hint
-resharper_arguments_style_other_highlighting=hint
-resharper_arguments_style_string_literal_highlighting=hint
-resharper_arrange_accessor_owner_body_highlighting=suggestion
-resharper_arrange_attributes_highlighting=none
-resharper_arrange_constructor_or_destructor_body_highlighting=hint
-resharper_arrange_default_value_when_type_evident_highlighting=suggestion
-resharper_arrange_default_value_when_type_not_evident_highlighting=hint
-resharper_arrange_local_function_body_highlighting=hint
-resharper_arrange_method_or_operator_body_highlighting=hint
-resharper_arrange_missing_parentheses_highlighting=hint
-resharper_arrange_namespace_body_highlighting=hint
-resharper_arrange_object_creation_when_type_evident_highlighting=suggestion
-resharper_arrange_object_creation_when_type_not_evident_highlighting=hint
-resharper_arrange_redundant_parentheses_highlighting=hint
-resharper_arrange_static_member_qualifier_highlighting=hint
-resharper_arrange_this_qualifier_highlighting=hint
-resharper_arrange_trailing_comma_in_multiline_lists_highlighting=hint
-resharper_arrange_trailing_comma_in_singleline_lists_highlighting=hint
-resharper_arrange_type_member_modifiers_highlighting=hint
-resharper_arrange_type_modifiers_highlighting=hint
-resharper_arrange_var_keywords_in_deconstructing_declaration_highlighting=suggestion
-resharper_asp_content_placeholder_not_resolved_highlighting=error
-resharper_asp_custom_page_parser_filter_type_highlighting=warning
-resharper_asp_dead_code_highlighting=warning
-resharper_asp_entity_highlighting=warning
-resharper_asp_image_highlighting=warning
-resharper_asp_invalid_control_type_highlighting=error
-resharper_asp_not_resolved_highlighting=error
-resharper_asp_ods_method_reference_resolve_error_highlighting=error
-resharper_asp_resolve_warning_highlighting=warning
-resharper_asp_skin_not_resolved_highlighting=error
-resharper_asp_tag_attribute_with_optional_value_highlighting=warning
-resharper_asp_theme_not_resolved_highlighting=error
-resharper_asp_unused_register_directive_highlighting_highlighting=warning
-resharper_asp_warning_highlighting=warning
-resharper_assigned_value_is_never_used_highlighting=warning
-resharper_assigned_value_wont_be_assigned_to_corresponding_field_highlighting=warning
-resharper_assignment_in_conditional_expression_highlighting=warning
-resharper_assignment_in_condition_expression_highlighting=warning
-resharper_assignment_is_fully_discarded_highlighting=warning
-resharper_assign_null_to_not_null_attribute_highlighting=warning
-resharper_assign_to_constant_highlighting=error
-resharper_assign_to_implicit_global_in_function_scope_highlighting=warning
-resharper_asxx_path_error_highlighting=warning
-resharper_async_iterator_invocation_without_await_foreach_highlighting=warning
-resharper_async_void_lambda_highlighting=warning
-resharper_async_void_method_highlighting=none
-resharper_auto_property_can_be_made_get_only_global_highlighting=suggestion
-resharper_auto_property_can_be_made_get_only_local_highlighting=suggestion
-resharper_bad_attribute_brackets_spaces_highlighting=none
-resharper_bad_braces_spaces_highlighting=none
-resharper_bad_child_statement_indent_highlighting=warning
-resharper_bad_colon_spaces_highlighting=none
-resharper_bad_comma_spaces_highlighting=none
-resharper_bad_control_braces_indent_highlighting=suggestion
-resharper_bad_control_braces_line_breaks_highlighting=none
-resharper_bad_declaration_braces_indent_highlighting=none
-resharper_bad_declaration_braces_line_breaks_highlighting=none
-resharper_bad_empty_braces_line_breaks_highlighting=none
-resharper_bad_expression_braces_indent_highlighting=none
-resharper_bad_expression_braces_line_breaks_highlighting=none
-resharper_bad_generic_brackets_spaces_highlighting=none
-resharper_bad_indent_highlighting=none
-resharper_bad_linq_line_breaks_highlighting=none
-resharper_bad_list_line_breaks_highlighting=none
-resharper_bad_member_access_spaces_highlighting=none
-resharper_bad_namespace_braces_indent_highlighting=none
-resharper_bad_parens_line_breaks_highlighting=none
-resharper_bad_parens_spaces_highlighting=none
-resharper_bad_preprocessor_indent_highlighting=none
-resharper_bad_semicolon_spaces_highlighting=none
-resharper_bad_spaces_after_keyword_highlighting=none
-resharper_bad_square_brackets_spaces_highlighting=none
-resharper_bad_switch_braces_indent_highlighting=none
-resharper_bad_symbol_spaces_highlighting=none
-resharper_base_member_has_params_highlighting=warning
-resharper_base_method_call_with_default_parameter_highlighting=warning
-resharper_base_object_equals_is_object_equals_highlighting=warning
-resharper_base_object_get_hash_code_call_in_get_hash_code_highlighting=warning
-resharper_bitwise_operator_on_enum_without_flags_highlighting=warning
-resharper_block_scope_redeclaration_highlighting=error
-resharper_built_in_type_reference_style_for_member_access_highlighting=hint
-resharper_built_in_type_reference_style_highlighting=hint
-resharper_by_ref_argument_is_volatile_field_highlighting=warning
-resharper_caller_callee_using_error_highlighting=error
-resharper_caller_callee_using_highlighting=warning
-resharper_cannot_apply_equality_operator_to_type_highlighting=warning
-resharper_center_tag_is_obsolete_highlighting=warning
-resharper_check_for_reference_equality_instead_1_highlighting=suggestion
-resharper_check_for_reference_equality_instead_2_highlighting=suggestion
-resharper_check_for_reference_equality_instead_3_highlighting=suggestion
-resharper_check_for_reference_equality_instead_4_highlighting=suggestion
-resharper_check_namespace_highlighting=warning
-resharper_class_cannot_be_instantiated_highlighting=warning
-resharper_class_can_be_sealed_global_highlighting=none
-resharper_class_can_be_sealed_local_highlighting=none
-resharper_class_highlighting=suggestion
-resharper_class_never_instantiated_global_highlighting=suggestion
-resharper_class_never_instantiated_local_highlighting=suggestion
-resharper_class_with_virtual_members_never_inherited_global_highlighting=suggestion
-resharper_class_with_virtual_members_never_inherited_local_highlighting=suggestion
-resharper_clear_attribute_is_obsolete_all_highlighting=warning
-resharper_clear_attribute_is_obsolete_highlighting=warning
-resharper_closure_on_modified_variable_highlighting=warning
-resharper_coerced_equals_using_highlighting=warning
-resharper_coerced_equals_using_with_null_undefined_highlighting=none
-resharper_collection_never_queried_global_highlighting=warning
-resharper_collection_never_queried_local_highlighting=warning
-resharper_collection_never_updated_global_highlighting=warning
-resharper_collection_never_updated_local_highlighting=warning
-resharper_comma_not_valid_here_highlighting=error
-resharper_comment_typo_highlighting=suggestion
-resharper_common_js_external_module_highlighting=suggestion
-resharper_compare_non_constrained_generic_with_null_highlighting=none
-resharper_compare_of_floats_by_equality_operator_highlighting=none
-resharper_conditional_ternary_equal_branch_highlighting=warning
-resharper_condition_is_always_const_highlighting=warning
-resharper_condition_is_always_true_or_false_highlighting=warning
-resharper_confusing_char_as_integer_in_constructor_highlighting=warning
-resharper_constant_conditional_access_qualifier_highlighting=warning
-resharper_constant_null_coalescing_condition_highlighting=warning
-resharper_constructor_call_not_used_highlighting=warning
-resharper_constructor_initializer_loop_highlighting=warning
-resharper_container_annotation_redundancy_highlighting=warning
-resharper_context_value_is_provided_highlighting=none
-resharper_contract_annotation_not_parsed_highlighting=warning
-resharper_convert_closure_to_method_group_highlighting=suggestion
-resharper_convert_conditional_ternary_expression_to_switch_expression_highlighting=hint
-resharper_convert_if_do_to_while_highlighting=suggestion
-resharper_convert_if_statement_to_conditional_ternary_expression_highlighting=suggestion
-resharper_convert_if_statement_to_null_coalescing_assignment_highlighting=suggestion
-resharper_convert_if_statement_to_null_coalescing_expression_highlighting=suggestion
-resharper_convert_if_statement_to_return_statement_highlighting=hint
-resharper_convert_if_statement_to_switch_expression_highlighting=hint
-resharper_convert_if_statement_to_switch_statement_highlighting=hint
-resharper_convert_if_to_or_expression_highlighting=suggestion
-resharper_convert_nullable_to_short_form_highlighting=suggestion
-resharper_convert_switch_statement_to_switch_expression_highlighting=hint
-resharper_convert_to_auto_property_highlighting=suggestion
-resharper_convert_to_auto_property_when_possible_highlighting=hint
-resharper_convert_to_auto_property_with_private_setter_highlighting=hint
-resharper_convert_to_compound_assignment_highlighting=hint
-resharper_convert_to_constant_global_highlighting=hint
-resharper_convert_to_constant_local_highlighting=hint
-resharper_convert_to_lambda_expression_highlighting=suggestion
-resharper_convert_to_lambda_expression_when_possible_highlighting=none
-resharper_convert_to_local_function_highlighting=suggestion
-resharper_convert_to_null_coalescing_compound_assignment_highlighting=suggestion
-resharper_convert_to_primary_constructor_highlighting=suggestion
-resharper_convert_to_static_class_highlighting=suggestion
-resharper_convert_to_using_declaration_highlighting=suggestion
-resharper_convert_to_vb_auto_property_highlighting=suggestion
-resharper_convert_to_vb_auto_property_when_possible_highlighting=hint
-resharper_convert_to_vb_auto_property_with_private_setter_highlighting=hint
-resharper_convert_type_check_pattern_to_null_check_highlighting=warning
-resharper_convert_type_check_to_null_check_highlighting=warning
-resharper_co_variant_array_conversion_highlighting=warning
-resharper_cpp_abstract_class_without_specifier_highlighting=warning
-resharper_cpp_abstract_final_class_highlighting=warning
-resharper_cpp_abstract_virtual_function_call_in_ctor_highlighting=error
-resharper_cpp_access_specifier_with_no_declarations_highlighting=suggestion
-resharper_cpp_assigned_value_is_never_used_highlighting=warning
-resharper_cpp_awaiter_type_is_not_class_highlighting=warning
-resharper_cpp_bad_angle_brackets_spaces_highlighting=none
-resharper_cpp_bad_braces_spaces_highlighting=none
-resharper_cpp_bad_child_statement_indent_highlighting=none
-resharper_cpp_bad_colon_spaces_highlighting=none
-resharper_cpp_bad_comma_spaces_highlighting=none
-resharper_cpp_bad_control_braces_indent_highlighting=none
-resharper_cpp_bad_control_braces_line_breaks_highlighting=none
-resharper_cpp_bad_declaration_braces_indent_highlighting=none
-resharper_cpp_bad_declaration_braces_line_breaks_highlighting=none
-resharper_cpp_bad_empty_braces_line_breaks_highlighting=none
-resharper_cpp_bad_expression_braces_indent_highlighting=none
-resharper_cpp_bad_expression_braces_line_breaks_highlighting=none
-resharper_cpp_bad_indent_highlighting=none
-resharper_cpp_bad_list_line_breaks_highlighting=none
-resharper_cpp_bad_member_access_spaces_highlighting=none
-resharper_cpp_bad_namespace_braces_indent_highlighting=none
-resharper_cpp_bad_parens_line_breaks_highlighting=none
-resharper_cpp_bad_parens_spaces_highlighting=none
-resharper_cpp_bad_semicolon_spaces_highlighting=none
-resharper_cpp_bad_spaces_after_keyword_highlighting=none
-resharper_cpp_bad_square_brackets_spaces_highlighting=none
-resharper_cpp_bad_switch_braces_indent_highlighting=none
-resharper_cpp_bad_symbol_spaces_highlighting=none
-resharper_cpp_boolean_increment_expression_highlighting=warning
-resharper_cpp_boost_format_bad_code_highlighting=warning
-resharper_cpp_boost_format_legacy_code_highlighting=suggestion
-resharper_cpp_boost_format_mixed_args_highlighting=error
-resharper_cpp_boost_format_too_few_args_highlighting=error
-resharper_cpp_boost_format_too_many_args_highlighting=warning
-resharper_cpp_clang_tidy_abseil_duration_addition_highlighting=none
-resharper_cpp_clang_tidy_abseil_duration_comparison_highlighting=none
-resharper_cpp_clang_tidy_abseil_duration_conversion_cast_highlighting=none
-resharper_cpp_clang_tidy_abseil_duration_division_highlighting=none
-resharper_cpp_clang_tidy_abseil_duration_factory_float_highlighting=none
-resharper_cpp_clang_tidy_abseil_duration_factory_scale_highlighting=none
-resharper_cpp_clang_tidy_abseil_duration_subtraction_highlighting=none
-resharper_cpp_clang_tidy_abseil_duration_unnecessary_conversion_highlighting=none
-resharper_cpp_clang_tidy_abseil_faster_strsplit_delimiter_highlighting=none
-resharper_cpp_clang_tidy_abseil_no_internal_dependencies_highlighting=none
-resharper_cpp_clang_tidy_abseil_no_namespace_highlighting=none
-resharper_cpp_clang_tidy_abseil_redundant_strcat_calls_highlighting=none
-resharper_cpp_clang_tidy_abseil_string_find_startswith_highlighting=none
-resharper_cpp_clang_tidy_abseil_string_find_str_contains_highlighting=none
-resharper_cpp_clang_tidy_abseil_str_cat_append_highlighting=none
-resharper_cpp_clang_tidy_abseil_time_comparison_highlighting=none
-resharper_cpp_clang_tidy_abseil_time_subtraction_highlighting=none
-resharper_cpp_clang_tidy_abseil_upgrade_duration_conversions_highlighting=none
-resharper_cpp_clang_tidy_altera_id_dependent_backward_branch_highlighting=none
-resharper_cpp_clang_tidy_altera_kernel_name_restriction_highlighting=none
-resharper_cpp_clang_tidy_altera_single_work_item_barrier_highlighting=none
-resharper_cpp_clang_tidy_altera_struct_pack_align_highlighting=none
-resharper_cpp_clang_tidy_altera_unroll_loops_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_accept4_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_accept_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_creat_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_dup_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_epoll_create1_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_epoll_create_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_fopen_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_inotify_init1_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_inotify_init_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_memfd_create_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_open_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_pipe2_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_pipe_highlighting=none
-resharper_cpp_clang_tidy_android_cloexec_socket_highlighting=none
-resharper_cpp_clang_tidy_android_comparison_in_temp_failure_retry_highlighting=none
-resharper_cpp_clang_tidy_boost_use_to_string_highlighting=suggestion
-resharper_cpp_clang_tidy_bugprone_argument_comment_highlighting=suggestion
-resharper_cpp_clang_tidy_bugprone_assert_side_effect_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_bad_signal_to_kill_thread_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_bool_pointer_implicit_conversion_highlighting=none
-resharper_cpp_clang_tidy_bugprone_branch_clone_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_copy_constructor_init_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_dangling_handle_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_dynamic_static_initializers_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_easily_swappable_parameters_highlighting=none
-resharper_cpp_clang_tidy_bugprone_exception_escape_highlighting=none
-resharper_cpp_clang_tidy_bugprone_fold_init_type_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_forwarding_reference_overload_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_forward_declaration_namespace_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_implicit_widening_of_multiplication_result_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_inaccurate_erase_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_incorrect_roundings_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_infinite_loop_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_integer_division_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_lambda_function_name_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_macro_parentheses_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_macro_repeated_side_effects_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_misplaced_operator_in_strlen_in_alloc_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_misplaced_pointer_arithmetic_in_alloc_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_misplaced_widening_cast_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_move_forwarding_reference_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_multiple_statement_macro_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_narrowing_conversions_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_not_null_terminated_result_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_no_escape_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_parent_virtual_call_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_posix_return_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_redundant_branch_condition_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_reserved_identifier_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_signal_handler_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_signed_char_misuse_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_sizeof_container_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_sizeof_expression_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_spuriously_wake_up_functions_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_string_constructor_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_string_integer_assignment_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_string_literal_with_embedded_nul_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_suspicious_enum_usage_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_suspicious_include_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_suspicious_memset_usage_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_suspicious_missing_comma_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_suspicious_semicolon_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_suspicious_string_compare_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_swapped_arguments_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_terminating_continue_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_throw_keyword_missing_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_too_small_loop_variable_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_undefined_memory_manipulation_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_undelegated_constructor_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_unhandled_exception_at_new_highlighting=none
-resharper_cpp_clang_tidy_bugprone_unhandled_self_assignment_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_unused_raii_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_unused_return_value_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_use_after_move_highlighting=warning
-resharper_cpp_clang_tidy_bugprone_virtual_near_miss_highlighting=suggestion
-resharper_cpp_clang_tidy_cert_con36_c_highlighting=none
-resharper_cpp_clang_tidy_cert_con54_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_dcl03_c_highlighting=none
-resharper_cpp_clang_tidy_cert_dcl16_c_highlighting=none
-resharper_cpp_clang_tidy_cert_dcl21_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_dcl37_c_highlighting=none
-resharper_cpp_clang_tidy_cert_dcl50_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_dcl51_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_dcl54_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_dcl58_cpp_highlighting=warning
-resharper_cpp_clang_tidy_cert_dcl59_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_env33_c_highlighting=none
-resharper_cpp_clang_tidy_cert_err09_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_err34_c_highlighting=suggestion
-resharper_cpp_clang_tidy_cert_err52_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_err58_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_err60_cpp_highlighting=warning
-resharper_cpp_clang_tidy_cert_err61_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_fio38_c_highlighting=none
-resharper_cpp_clang_tidy_cert_flp30_c_highlighting=warning
-resharper_cpp_clang_tidy_cert_mem57_cpp_highlighting=warning
-resharper_cpp_clang_tidy_cert_msc30_c_highlighting=none
-resharper_cpp_clang_tidy_cert_msc32_c_highlighting=none
-resharper_cpp_clang_tidy_cert_msc50_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_msc51_cpp_highlighting=warning
-resharper_cpp_clang_tidy_cert_oop11_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_oop54_cpp_highlighting=none
-resharper_cpp_clang_tidy_cert_oop57_cpp_highlighting=warning
-resharper_cpp_clang_tidy_cert_oop58_cpp_highlighting=warning
-resharper_cpp_clang_tidy_cert_pos44_c_highlighting=none
-resharper_cpp_clang_tidy_cert_pos47_c_highlighting=none
-resharper_cpp_clang_tidy_cert_sig30_c_highlighting=none
-resharper_cpp_clang_tidy_cert_str34_c_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_api_modeling_google_g_test_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_api_modeling_llvm_cast_value_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_api_modeling_llvm_return_value_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_api_modeling_std_c_library_functions_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_api_modeling_trust_nonnull_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_builtin_builtin_functions_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_builtin_no_return_functions_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_call_and_message_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_call_and_message_modeling_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_divide_zero_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_dynamic_type_propagation_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_nonnil_string_constants_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_non_null_param_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_null_dereference_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_stack_address_escape_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_stack_addr_escape_base_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_undefined_binary_operator_result_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_uninitialized_array_subscript_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_uninitialized_assign_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_uninitialized_branch_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_uninitialized_captured_block_variable_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_uninitialized_undef_return_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_core_vla_size_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_inner_pointer_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_move_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_new_delete_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_new_delete_leaks_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_placement_new_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_pure_virtual_call_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_self_assignment_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_smart_ptr_modeling_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_cplusplus_virtual_call_modeling_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_deadcode_dead_stores_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_fuchsia_handle_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_nullability_nullability_base_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_nullability_nullable_dereferenced_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_nullability_nullable_passed_to_nonnull_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_nullability_nullable_returned_from_nonnull_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_nullability_null_passed_to_nonnull_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_nullability_null_returned_from_nonnull_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_cplusplus_uninitialized_object_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_cplusplus_virtual_call_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_mpi_mpi_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_osx_cocoa_localizability_empty_localization_context_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_osx_cocoa_localizability_non_localized_string_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_osx_os_object_c_style_cast_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_performance_gcd_antipattern_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_performance_padding_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_optin_portability_unix_api_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_api_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_at_sync_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_autorelease_write_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_class_release_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_dealloc_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_incompatible_method_types_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_loops_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_missing_super_call_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_nil_arg_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_non_nil_return_value_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_ns_autorelease_pool_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_ns_error_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_obj_c_generics_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_retain_count_base_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_retain_count_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_run_loop_autorelease_leak_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_self_init_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_super_dealloc_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_unused_ivars_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_cocoa_variadic_method_types_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_core_foundation_cf_error_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_core_foundation_cf_number_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_core_foundation_cf_retain_release_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_core_foundation_containers_out_of_bounds_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_core_foundation_containers_pointer_sized_values_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_mig_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_ns_or_cf_error_deref_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_number_object_conversion_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_obj_c_property_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_os_object_retain_count_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_osx_sec_keychain_api_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_float_loop_counter_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_bcmp_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_bcopy_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_bzero_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_decode_value_of_obj_c_type_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_deprecated_or_unsafe_buffer_handling_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_getpw_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_gets_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_mkstemp_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_mktemp_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_rand_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_security_syntax_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_strcpy_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_unchecked_return_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_security_insecure_api_vfork_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_api_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_cstring_bad_size_arg_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_cstring_c_string_modeling_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_cstring_null_arg_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_dynamic_memory_modeling_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_malloc_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_malloc_sizeof_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_mismatched_deallocator_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_unix_vfork_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_valist_copy_to_self_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_valist_uninitialized_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_valist_unterminated_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_valist_valist_base_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_webkit_no_uncounted_member_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_webkit_ref_cntbl_base_virtual_dtor_highlighting=none
-resharper_cpp_clang_tidy_clang_analyzer_webkit_uncounted_lambda_captures_checker_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_absolute_value_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_abstract_final_class_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_abstract_vbase_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_address_of_packed_member_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_address_of_temporary_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_aix_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_align_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_alloca_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_alloca_with_align_alignof_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ambiguous_delete_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ambiguous_ellipsis_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ambiguous_macro_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ambiguous_member_template_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ambiguous_reversed_operator_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_analyzer_incompatible_plugin_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_anonymous_pack_parens_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_anon_enum_enum_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_arc_bridge_casts_disallowed_in_nonarc_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_arc_maybe_repeated_use_of_weak_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_arc_non_pod_memaccess_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_arc_perform_selector_leaks_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_arc_repeated_use_of_weak_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_arc_retain_cycles_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_arc_unsafe_retained_assign_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_argument_outside_range_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_array_bounds_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_array_bounds_pointer_arithmetic_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_asm_operand_widths_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_assign_enum_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_assume_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_atimport_in_framework_header_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_atomic_alignment_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_atomic_implicit_seq_cst_highlighting=suggestion
-resharper_cpp_clang_tidy_clang_diagnostic_atomic_memory_ordering_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_atomic_property_with_user_defined_accessor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_attribute_packed_for_bitfield_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_at_protocol_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_auto_disable_vptr_sanitizer_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_auto_import_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_auto_storage_class_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_auto_var_id_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_availability_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_avr_rtlib_linking_quirks_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_backslash_newline_escape_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bad_function_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_binding_in_condition_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bind_to_temporary_copy_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bitfield_constant_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bitfield_enum_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bitfield_width_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bitwise_conditional_parentheses_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bitwise_op_parentheses_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_block_capture_autoreleasing_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bool_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bool_operation_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_braced_scalar_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_bridge_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_builtin_assume_aligned_alignment_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_builtin_macro_redefined_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_builtin_memcpy_chk_size_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_builtin_requires_header_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_c11_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_c2x_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_c99_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_c99_designator_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_c99_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_called_once_parameter_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_call_to_pure_virtual_from_ctor_dtor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cast_align_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cast_calling_convention_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cast_function_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cast_of_sel_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cast_qual_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cast_qual_unrelated_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cf_string_literal_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_char_subscripts_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_clang_cl_pch_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_class_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_class_varargs_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cmse_union_leak_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_comma_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_comment_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_compare_distinct_pointer_types_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_completion_handler_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_complex_component_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_compound_token_split_by_macro_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_compound_token_split_by_space_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_compound_token_split_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_concepts_ts_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_conditional_type_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_conditional_uninitialized_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_config_macros_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_constant_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_constant_evaluated_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_constant_logical_operand_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_constexpr_not_const_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_consumed_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_coroutine_missing_unhandled_exception_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_covered_switch_default_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_compat_deprecated_writable_strings_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_compat_reserved_user_defined_literal_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_extra_semi_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_inline_namespace_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_long_long_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp11_narrowing_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp14_binary_literal_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp14_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp14_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp14_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp17_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp17_compat_mangling_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp17_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp17_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp20_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp20_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp20_designator_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp20_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp2a_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp2a_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp2b_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_compat_bind_to_temporary_copy_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_compat_extra_semi_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_compat_local_type_template_args_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_compat_unnamed_type_template_args_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_cpp11_compat_binary_literal_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_cpp11_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_cpp11_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_cpp11_cpp14_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_cpp11_cpp14_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_cpp11_cpp14_cpp17_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp98_cpp11_cpp14_cpp17_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cpp_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cstring_format_directive_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ctad_maybe_unsupported_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_ctu_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_cuda_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_custom_atomic_properties_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_cxx_attribute_extension_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dangling_else_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dangling_field_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dangling_gsl_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dangling_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dangling_initializer_list_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_darwin_sdk_settings_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_date_time_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dealloc_in_category_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_debug_compression_unavailable_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_declaration_after_statement_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_defaulted_function_deleted_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_delegating_ctor_cycles_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_delete_abstract_non_virtual_dtor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_delete_incomplete_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_delete_non_abstract_non_virtual_dtor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_delete_non_virtual_dtor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_altivec_src_compat_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_anon_enum_enum_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_array_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_attributes_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_comma_subscript_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_copy_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_copy_with_dtor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_copy_with_user_provided_copy_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_copy_with_user_provided_dtor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_declarations_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_dynamic_exception_spec_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_enum_compare_conditional_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_enum_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_enum_enum_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_enum_float_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_implementations_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_increment_bool_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_objc_isa_usage_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_objc_pointer_introspection_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_objc_pointer_introspection_perform_selector_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_register_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_this_capture_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_deprecated_volatile_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_direct_ivar_access_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_disabled_macro_expansion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_distributed_object_modifiers_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_division_by_zero_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dllexport_explicit_instantiation_decl_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dllimport_static_field_def_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dll_attribute_on_redeclaration_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_documentation_deprecated_sync_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_documentation_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_documentation_html_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_documentation_pedantic_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_documentation_unknown_command_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_dollar_in_identifier_extension_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_double_promotion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dtor_name_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dtor_typedef_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_duplicate_decl_specifier_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_duplicate_enum_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_duplicate_method_arg_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_duplicate_method_match_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_duplicate_protocol_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dynamic_class_memaccess_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_dynamic_exception_spec_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_embedded_directive_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_empty_body_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_empty_decomposition_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_empty_init_stmt_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_empty_translation_unit_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_encode_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_enum_compare_conditional_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_enum_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_enum_compare_switch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_enum_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_enum_enum_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_enum_float_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_enum_too_large_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_error_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_exceptions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_excess_initializers_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_exit_time_destructors_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_expansion_to_defined_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_explicit_initialize_call_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_explicit_ownership_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_export_unnamed_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_export_using_directive_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_extern_c_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_extern_initializer_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_extra_qualification_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_extra_semi_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_extra_semi_stmt_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_extra_tokens_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_final_dtor_non_final_class_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_fixed_enum_extension_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_fixed_point_overflow_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_flag_enum_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_flexible_array_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_float_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_float_equal_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_float_overflow_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_float_zero_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_extra_args_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_insufficient_args_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_invalid_specifier_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_nonliteral_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_non_iso_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_pedantic_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_security_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_type_confusion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_format_zero_length_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_fortify_source_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_for_loop_analysis_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_four_char_constants_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_framework_include_private_from_public_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_frame_address_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_frame_larger_than_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_free_nonheap_object_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_function_def_in_objc_container_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_function_multiversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gcc_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_global_constructors_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_global_isel_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_alignof_expression_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_anonymous_struct_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_array_member_paren_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_auto_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_binary_literal_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_case_range_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_complex_integer_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_compound_literal_initializer_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_conditional_omitted_operand_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_designator_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_empty_initializer_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_empty_struct_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_flexible_array_initializer_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_flexible_array_union_member_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_folding_constant_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_imaginary_constant_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_include_next_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_inline_cpp_without_extern_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_label_as_value_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_redeclared_enum_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_statement_expression_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_static_float_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_string_literal_operator_template_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_union_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_variable_sized_type_not_at_end_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_gnu_zero_variadic_macro_arguments_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_header_guard_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_header_hygiene_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_hip_only_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_idiomatic_parentheses_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ignored_attributes_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_ignored_availability_without_sdk_settings_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_ignored_optimization_argument_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ignored_pragmas_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ignored_pragma_intrinsic_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ignored_pragma_optimize_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_ignored_qualifiers_highlighting=suggestion
-resharper_cpp_clang_tidy_clang_diagnostic_implicitly_unsigned_literal_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_atomic_properties_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_const_int_float_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_conversion_floating_point_to_bool_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_exception_spec_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_fallthrough_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_fallthrough_per_function_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_fixed_point_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_float_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_function_declaration_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_int_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_int_float_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_int_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_implicit_retain_self_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_import_preprocessor_directive_pedantic_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_inaccessible_base_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_include_next_absolute_path_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_include_next_outside_header_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incompatible_exception_spec_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incompatible_function_pointer_types_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incompatible_library_redeclaration_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incompatible_ms_struct_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incompatible_pointer_types_discards_qualifiers_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incompatible_pointer_types_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incompatible_property_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incompatible_sysroot_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incomplete_framework_module_declaration_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incomplete_implementation_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incomplete_module_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incomplete_setjmp_declaration_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_incomplete_umbrella_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_inconsistent_dllimport_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_inconsistent_missing_destructor_override_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_inconsistent_missing_override_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_increment_bool_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_independent_class_attribute_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_infinite_recursion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_initializer_overrides_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_injected_class_name_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_inline_asm_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_inline_namespace_reopened_noninline_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_inline_new_delete_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_instantiation_after_specialization_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_integer_overflow_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_interrupt_service_routine_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_int_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_int_in_bool_context_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_int_to_pointer_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_int_to_void_pointer_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_constexpr_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_iboutlet_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_initializer_from_system_header_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_ios_deployment_target_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_noreturn_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_no_builtin_names_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_offsetof_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_or_nonexistent_directory_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_partial_specialization_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_pp_token_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_source_encoding_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_invalid_token_paste_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_jump_seh_finally_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_keyword_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_keyword_macro_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_knr_promoted_parameter_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_language_extension_token_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_large_by_value_copy_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_literal_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_literal_range_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_local_type_template_args_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_logical_not_parentheses_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_logical_op_parentheses_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_long_long_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_macro_redefined_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_main_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_main_return_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_malformed_warning_check_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_many_braces_around_scalar_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_max_tokens_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_max_unsigned_zero_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_memset_transposed_args_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_memsize_comparison_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_method_signatures_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_abstract_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_anon_tag_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_charize_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_comment_paste_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_const_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_cpp_macro_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_default_arg_redefinition_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_drectve_section_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_end_of_file_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_enum_forward_reference_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_enum_value_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_exception_spec_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_exists_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_explicit_constructor_call_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_extra_qualification_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_fixed_enum_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_flexible_array_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_goto_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_inaccessible_base_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_include_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_mutable_reference_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_pure_definition_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_redeclare_static_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_sealed_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_static_assert_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_template_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_template_shadow_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_union_member_reference_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_unqualified_friend_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_using_decl_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_microsoft_void_pseudo_dtor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_misleading_indentation_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_mismatched_new_delete_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_mismatched_parameter_types_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_mismatched_return_types_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_mismatched_tags_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_braces_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_constinit_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_declarations_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_exception_spec_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_field_initializers_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_method_return_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_noescape_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_noreturn_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_prototypes_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_missing_prototype_for_cc_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_selector_name_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_sysroot_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_missing_variable_declarations_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_misspelled_assumption_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_modules_ambiguous_internal_linkage_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_modules_import_nested_redundant_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_module_conflict_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_module_file_config_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_module_file_extension_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_module_import_in_extern_c_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_msvc_not_found_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_multichar_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_multiple_move_vbase_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nested_anon_types_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_newline_eof_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_new_returns_null_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_noderef_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nonnull_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nonportable_include_path_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nonportable_system_include_path_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nonportable_vector_initialization_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nontrivial_memaccess_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_non_c_typedef_for_linkage_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_non_literal_null_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_non_modular_include_in_framework_module_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_non_modular_include_in_module_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_non_pod_varargs_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_non_power_of_two_alignment_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_non_virtual_dtor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nsconsumed_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nsreturns_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ns_object_attribute_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nullability_completeness_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nullability_completeness_on_arrays_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nullability_declspec_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nullability_extension_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nullability_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nullability_inferred_on_nested_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_nullable_to_nonnull_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_null_arithmetic_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_null_character_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_null_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_null_dereference_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_null_pointer_arithmetic_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_null_pointer_subtraction_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_odr_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_old_style_cast_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_opencl_unsupported_rgba_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_openmp51_extensions_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_openmp_clauses_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_openmp_loop_form_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_openmp_mapping_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_openmp_target_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_option_ignored_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_ordered_compare_function_pointers_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_out_of_line_declaration_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_out_of_scope_function_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_overlength_strings_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_overloaded_shift_op_parentheses_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_overloaded_virtual_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_override_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_override_module_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_overriding_method_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_overriding_t_option_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_over_aligned_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_packed_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_padded_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_parentheses_equality_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_parentheses_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pass_failed_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pch_date_time_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pedantic_core_features_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pedantic_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pessimizing_move_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pointer_arith_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pointer_bool_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pointer_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pointer_integer_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pointer_sign_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pointer_to_enum_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pointer_to_int_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pointer_type_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_poison_system_directories_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_potentially_evaluated_expression_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pragmas_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pragma_clang_attribute_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pragma_messages_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pragma_once_outside_header_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pragma_pack_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pragma_pack_suspicious_include_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pragma_system_header_outside_header_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_predefined_identifier_outside_function_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_pre_c2x_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_c2x_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_cpp14_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_cpp14_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_cpp17_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_cpp17_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_cpp20_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_cpp20_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_cpp2b_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_cpp2b_compat_pedantic_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_pre_openmp51_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_private_extern_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_private_header_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_private_module_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_profile_instr_missing_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_profile_instr_out_of_date_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_profile_instr_unprofiled_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_property_access_dot_syntax_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_property_attribute_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_protocol_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_protocol_property_synthesis_ambiguity_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_psabi_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_qualified_void_return_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_quoted_include_in_framework_header_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_range_loop_analysis_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_range_loop_bind_reference_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_range_loop_construct_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_readonly_iboutlet_property_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_receiver_expr_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_receiver_forward_class_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_redeclared_class_member_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_redundant_move_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_redundant_parens_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_register_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_reinterpret_base_class_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_reorder_ctor_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_reorder_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_reorder_init_list_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_requires_expression_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_requires_super_attribute_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_reserved_identifier_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_reserved_id_macro_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_reserved_macro_identifier_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_reserved_user_defined_literal_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_retained_language_linkage_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_return_stack_address_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_return_std_move_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_return_type_c_linkage_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_return_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_rewrite_not_bool_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_section_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_selector_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_selector_type_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_self_assign_field_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_self_assign_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_self_assign_overloaded_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_self_move_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_semicolon_before_method_body_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_sentinel_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_serialized_diagnostics_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shadow_field_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shadow_field_in_constructor_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_shadow_field_in_constructor_modified_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_shadow_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shadow_ivar_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shadow_uncaptured_local_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_shift_count_negative_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shift_count_overflow_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shift_negative_value_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shift_op_parentheses_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shift_overflow_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shift_sign_overflow_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_shorten64_to32_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_signed_enum_bitfield_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_signed_unsigned_wchar_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_sign_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_sign_conversion_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_sizeof_array_argument_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_sizeof_array_decay_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_sizeof_array_div_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_sizeof_pointer_div_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_sizeof_pointer_memaccess_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_slash_u_filename_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_slh_asm_goto_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_sometimes_uninitialized_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_source_uses_openmp_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_spir_compat_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_static_float_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_static_inline_explicit_instantiation_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_static_in_inline_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_static_local_in_inline_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_static_self_init_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_stdlibcxx_not_found_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_strict_prototypes_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_strict_selector_match_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_string_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_string_concatenation_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_string_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_string_plus_char_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_string_plus_int_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_strlcpy_strlcat_size_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_strncat_size_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_suggest_destructor_override_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_suggest_override_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_super_class_method_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_suspicious_bzero_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_switch_bool_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_switch_enum_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_switch_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_sync_fetch_and_nand_semantics_changed_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_bitwise_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_constant_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_constant_in_range_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_constant_out_of_range_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_objc_bool_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_overlap_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_pointer_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_type_limit_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_undefined_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_unsigned_char_zero_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_unsigned_enum_zero_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_unsigned_zero_compare_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_tautological_value_range_compare_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_tentative_definition_incomplete_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_thread_safety_analysis_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_thread_safety_attributes_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_thread_safety_beta_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_thread_safety_negative_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_thread_safety_precise_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_thread_safety_reference_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_thread_safety_verbose_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_trigraphs_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_typedef_redefinition_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_typename_missing_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_type_safety_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unable_to_open_stats_file_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unavailable_declarations_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undeclared_selector_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undefined_bool_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undefined_func_template_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undefined_inline_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undefined_internal_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undefined_internal_type_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undefined_reinterpret_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undefined_var_template_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undef_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_undef_prefix_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_underaligned_exception_object_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unevaluated_expression_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unguarded_availability_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unguarded_availability_new_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unicode_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unicode_homoglyph_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unicode_whitespace_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unicode_zero_width_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_uninitialized_const_reference_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_uninitialized_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unknown_argument_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unknown_attributes_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unknown_cuda_version_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unknown_escape_sequence_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unknown_pragmas_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unknown_sanitizers_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unknown_warning_option_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unnamed_type_template_args_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unneeded_internal_declaration_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unneeded_member_function_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unreachable_code_break_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unreachable_code_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unreachable_code_loop_increment_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unreachable_code_return_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsequenced_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_abs_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_availability_guard_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_cb_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_dll_base_class_template_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_friend_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_gpopt_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_nan_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_target_opt_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unsupported_visibility_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unusable_partial_specialization_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_but_set_parameter_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unused_but_set_variable_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unused_comparison_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_const_variable_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_exception_parameter_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_function_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_getter_return_value_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_label_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_lambda_capture_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unused_local_typedef_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_macros_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_member_function_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_parameter_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unused_private_field_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_property_ivar_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_result_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_template_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_value_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_unused_variable_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_unused_volatile_lvalue_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_used_but_marked_unused_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_user_defined_literals_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_user_defined_warnings_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_varargs_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_variadic_macros_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_vector_conversion_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_vec_elem_size_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_vexing_parse_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_visibility_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_vla_extension_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_vla_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_void_pointer_to_enum_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_void_pointer_to_int_cast_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_void_ptr_dereference_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_warnings_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_wasm_exception_spec_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_weak_template_vtables_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_weak_vtables_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_writable_strings_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_xor_used_as_pow_highlighting=warning
-resharper_cpp_clang_tidy_clang_diagnostic_zero_as_null_pointer_constant_highlighting=none
-resharper_cpp_clang_tidy_clang_diagnostic_zero_length_array_highlighting=warning
-resharper_cpp_clang_tidy_concurrency_mt_unsafe_highlighting=warning
-resharper_cpp_clang_tidy_concurrency_thread_canceltype_asynchronous_highlighting=warning
-resharper_cpp_clang_tidy_cppcoreguidelines_avoid_c_arrays_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_avoid_goto_highlighting=warning
-resharper_cpp_clang_tidy_cppcoreguidelines_avoid_magic_numbers_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_avoid_non_const_global_variables_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_c_copy_assignment_signature_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_explicit_virtual_functions_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_init_variables_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_interfaces_global_init_highlighting=warning
-resharper_cpp_clang_tidy_cppcoreguidelines_macro_usage_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_narrowing_conversions_highlighting=warning
-resharper_cpp_clang_tidy_cppcoreguidelines_non_private_member_variables_in_classes_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_no_malloc_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_owning_memory_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_prefer_member_initializer_highlighting=suggestion
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_bounds_array_to_pointer_decay_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_bounds_constant_array_index_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_bounds_pointer_arithmetic_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_type_const_cast_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_type_cstyle_cast_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_type_member_init_highlighting=warning
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_type_reinterpret_cast_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_type_static_cast_downcast_highlighting=suggestion
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_type_union_access_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_pro_type_vararg_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_slicing_highlighting=none
-resharper_cpp_clang_tidy_cppcoreguidelines_special_member_functions_highlighting=suggestion
-resharper_cpp_clang_tidy_darwin_avoid_spinlock_highlighting=none
-resharper_cpp_clang_tidy_darwin_dispatch_once_nonstatic_highlighting=none
-resharper_cpp_clang_tidy_fuchsia_default_arguments_calls_highlighting=none
-resharper_cpp_clang_tidy_fuchsia_default_arguments_declarations_highlighting=none
-resharper_cpp_clang_tidy_fuchsia_header_anon_namespaces_highlighting=none
-resharper_cpp_clang_tidy_fuchsia_multiple_inheritance_highlighting=none
-resharper_cpp_clang_tidy_fuchsia_overloaded_operator_highlighting=none
-resharper_cpp_clang_tidy_fuchsia_statically_constructed_objects_highlighting=none
-resharper_cpp_clang_tidy_fuchsia_trailing_return_highlighting=none
-resharper_cpp_clang_tidy_fuchsia_virtual_inheritance_highlighting=none
-resharper_cpp_clang_tidy_google_build_explicit_make_pair_highlighting=none
-resharper_cpp_clang_tidy_google_build_namespaces_highlighting=none
-resharper_cpp_clang_tidy_google_build_using_namespace_highlighting=none
-resharper_cpp_clang_tidy_google_default_arguments_highlighting=none
-resharper_cpp_clang_tidy_google_explicit_constructor_highlighting=none
-resharper_cpp_clang_tidy_google_global_names_in_headers_highlighting=none
-resharper_cpp_clang_tidy_google_objc_avoid_nsobject_new_highlighting=none
-resharper_cpp_clang_tidy_google_objc_avoid_throwing_exception_highlighting=none
-resharper_cpp_clang_tidy_google_objc_function_naming_highlighting=none
-resharper_cpp_clang_tidy_google_objc_global_variable_declaration_highlighting=none
-resharper_cpp_clang_tidy_google_readability_avoid_underscore_in_googletest_name_highlighting=none
-resharper_cpp_clang_tidy_google_readability_braces_around_statements_highlighting=none
-resharper_cpp_clang_tidy_google_readability_casting_highlighting=none
-resharper_cpp_clang_tidy_google_readability_function_size_highlighting=none
-resharper_cpp_clang_tidy_google_readability_namespace_comments_highlighting=none
-resharper_cpp_clang_tidy_google_readability_todo_highlighting=none
-resharper_cpp_clang_tidy_google_runtime_int_highlighting=none
-resharper_cpp_clang_tidy_google_runtime_operator_highlighting=warning
-resharper_cpp_clang_tidy_google_upgrade_googletest_case_highlighting=suggestion
-resharper_cpp_clang_tidy_hicpp_avoid_c_arrays_highlighting=none
-resharper_cpp_clang_tidy_hicpp_avoid_goto_highlighting=warning
-resharper_cpp_clang_tidy_hicpp_braces_around_statements_highlighting=none
-resharper_cpp_clang_tidy_hicpp_deprecated_headers_highlighting=none
-resharper_cpp_clang_tidy_hicpp_exception_baseclass_highlighting=suggestion
-resharper_cpp_clang_tidy_hicpp_explicit_conversions_highlighting=none
-resharper_cpp_clang_tidy_hicpp_function_size_highlighting=none
-resharper_cpp_clang_tidy_hicpp_invalid_access_moved_highlighting=none
-resharper_cpp_clang_tidy_hicpp_member_init_highlighting=none
-resharper_cpp_clang_tidy_hicpp_move_const_arg_highlighting=none
-resharper_cpp_clang_tidy_hicpp_multiway_paths_covered_highlighting=warning
-resharper_cpp_clang_tidy_hicpp_named_parameter_highlighting=none
-resharper_cpp_clang_tidy_hicpp_new_delete_operators_highlighting=none
-resharper_cpp_clang_tidy_hicpp_noexcept_move_highlighting=none
-resharper_cpp_clang_tidy_hicpp_no_array_decay_highlighting=none
-resharper_cpp_clang_tidy_hicpp_no_assembler_highlighting=none
-resharper_cpp_clang_tidy_hicpp_no_malloc_highlighting=none
-resharper_cpp_clang_tidy_hicpp_signed_bitwise_highlighting=none
-resharper_cpp_clang_tidy_hicpp_special_member_functions_highlighting=none
-resharper_cpp_clang_tidy_hicpp_static_assert_highlighting=none
-resharper_cpp_clang_tidy_hicpp_undelegated_constructor_highlighting=none
-resharper_cpp_clang_tidy_hicpp_uppercase_literal_suffix_highlighting=none
-resharper_cpp_clang_tidy_hicpp_use_auto_highlighting=none
-resharper_cpp_clang_tidy_hicpp_use_emplace_highlighting=none
-resharper_cpp_clang_tidy_hicpp_use_equals_default_highlighting=none
-resharper_cpp_clang_tidy_hicpp_use_equals_delete_highlighting=none
-resharper_cpp_clang_tidy_hicpp_use_noexcept_highlighting=none
-resharper_cpp_clang_tidy_hicpp_use_nullptr_highlighting=none
-resharper_cpp_clang_tidy_hicpp_use_override_highlighting=none
-resharper_cpp_clang_tidy_hicpp_vararg_highlighting=none
-resharper_cpp_clang_tidy_highlighting_highlighting=suggestion
-resharper_cpp_clang_tidy_linuxkernel_must_check_errs_highlighting=warning
-resharper_cpp_clang_tidy_llvmlibc_callee_namespace_highlighting=none
-resharper_cpp_clang_tidy_llvmlibc_implementation_in_namespace_highlighting=none
-resharper_cpp_clang_tidy_llvmlibc_restrict_system_libc_headers_highlighting=none
-resharper_cpp_clang_tidy_llvm_else_after_return_highlighting=none
-resharper_cpp_clang_tidy_llvm_header_guard_highlighting=none
-resharper_cpp_clang_tidy_llvm_include_order_highlighting=none
-resharper_cpp_clang_tidy_llvm_namespace_comment_highlighting=none
-resharper_cpp_clang_tidy_llvm_prefer_isa_or_dyn_cast_in_conditionals_highlighting=none
-resharper_cpp_clang_tidy_llvm_prefer_register_over_unsigned_highlighting=suggestion
-resharper_cpp_clang_tidy_llvm_qualified_auto_highlighting=none
-resharper_cpp_clang_tidy_llvm_twine_local_highlighting=none
-resharper_cpp_clang_tidy_misc_definitions_in_headers_highlighting=none
-resharper_cpp_clang_tidy_misc_misplaced_const_highlighting=warning
-resharper_cpp_clang_tidy_misc_new_delete_overloads_highlighting=warning
-resharper_cpp_clang_tidy_misc_non_copyable_objects_highlighting=warning
-resharper_cpp_clang_tidy_misc_non_private_member_variables_in_classes_highlighting=none
-resharper_cpp_clang_tidy_misc_no_recursion_highlighting=none
-resharper_cpp_clang_tidy_misc_redundant_expression_highlighting=warning
-resharper_cpp_clang_tidy_misc_static_assert_highlighting=suggestion
-resharper_cpp_clang_tidy_misc_throw_by_value_catch_by_reference_highlighting=warning
-resharper_cpp_clang_tidy_misc_unconventional_assign_operator_highlighting=warning
-resharper_cpp_clang_tidy_misc_uniqueptr_reset_release_highlighting=suggestion
-resharper_cpp_clang_tidy_misc_unused_alias_decls_highlighting=suggestion
-resharper_cpp_clang_tidy_misc_unused_parameters_highlighting=none
-resharper_cpp_clang_tidy_misc_unused_using_decls_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_avoid_bind_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_avoid_c_arrays_highlighting=none
-resharper_cpp_clang_tidy_modernize_concat_nested_namespaces_highlighting=none
-resharper_cpp_clang_tidy_modernize_deprecated_headers_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_deprecated_ios_base_aliases_highlighting=warning
-resharper_cpp_clang_tidy_modernize_loop_convert_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_make_shared_highlighting=none
-resharper_cpp_clang_tidy_modernize_make_unique_highlighting=none
-resharper_cpp_clang_tidy_modernize_pass_by_value_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_raw_string_literal_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_redundant_void_arg_highlighting=none
-resharper_cpp_clang_tidy_modernize_replace_auto_ptr_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_replace_disallow_copy_and_assign_macro_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_replace_random_shuffle_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_return_braced_init_list_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_shrink_to_fit_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_unary_static_assert_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_auto_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_bool_literals_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_default_member_init_highlighting=none
-resharper_cpp_clang_tidy_modernize_use_emplace_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_equals_default_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_equals_delete_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_nodiscard_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_noexcept_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_nullptr_highlighting=none
-resharper_cpp_clang_tidy_modernize_use_override_highlighting=none
-resharper_cpp_clang_tidy_modernize_use_trailing_return_type_highlighting=none
-resharper_cpp_clang_tidy_modernize_use_transparent_functors_highlighting=suggestion
-resharper_cpp_clang_tidy_modernize_use_uncaught_exceptions_highlighting=warning
-resharper_cpp_clang_tidy_modernize_use_using_highlighting=none
-resharper_cpp_clang_tidy_mpi_buffer_deref_highlighting=warning
-resharper_cpp_clang_tidy_mpi_type_mismatch_highlighting=warning
-resharper_cpp_clang_tidy_objc_avoid_nserror_init_highlighting=warning
-resharper_cpp_clang_tidy_objc_dealloc_in_category_highlighting=warning
-resharper_cpp_clang_tidy_objc_forbidden_subclassing_highlighting=warning
-resharper_cpp_clang_tidy_objc_missing_hash_highlighting=warning
-resharper_cpp_clang_tidy_objc_nsinvocation_argument_lifetime_highlighting=warning
-resharper_cpp_clang_tidy_objc_property_declaration_highlighting=warning
-resharper_cpp_clang_tidy_objc_super_self_highlighting=warning
-resharper_cpp_clang_tidy_openmp_exception_escape_highlighting=warning
-resharper_cpp_clang_tidy_openmp_use_default_none_highlighting=warning
-resharper_cpp_clang_tidy_performance_faster_string_find_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_for_range_copy_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_implicit_conversion_in_loop_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_inefficient_algorithm_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_inefficient_string_concatenation_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_inefficient_vector_operation_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_move_constructor_init_highlighting=warning
-resharper_cpp_clang_tidy_performance_move_const_arg_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_noexcept_move_constructor_highlighting=none
-resharper_cpp_clang_tidy_performance_no_automatic_move_highlighting=warning
-resharper_cpp_clang_tidy_performance_no_int_to_ptr_highlighting=warning
-resharper_cpp_clang_tidy_performance_trivially_destructible_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_type_promotion_in_math_fn_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_unnecessary_copy_initialization_highlighting=suggestion
-resharper_cpp_clang_tidy_performance_unnecessary_value_param_highlighting=suggestion
-resharper_cpp_clang_tidy_portability_restrict_system_includes_highlighting=none
-resharper_cpp_clang_tidy_portability_simd_intrinsics_highlighting=none
-resharper_cpp_clang_tidy_readability_avoid_const_params_in_decls_highlighting=none
-resharper_cpp_clang_tidy_readability_braces_around_statements_highlighting=none
-resharper_cpp_clang_tidy_readability_const_return_type_highlighting=none
-resharper_cpp_clang_tidy_readability_container_size_empty_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_convert_member_functions_to_static_highlighting=none
-resharper_cpp_clang_tidy_readability_delete_null_pointer_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_else_after_return_highlighting=none
-resharper_cpp_clang_tidy_readability_function_cognitive_complexity_highlighting=none
-resharper_cpp_clang_tidy_readability_function_size_highlighting=none
-resharper_cpp_clang_tidy_readability_identifier_naming_highlighting=none
-resharper_cpp_clang_tidy_readability_implicit_bool_conversion_highlighting=none
-resharper_cpp_clang_tidy_readability_inconsistent_declaration_parameter_name_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_isolate_declaration_highlighting=none
-resharper_cpp_clang_tidy_readability_magic_numbers_highlighting=none
-resharper_cpp_clang_tidy_readability_make_member_function_const_highlighting=none
-resharper_cpp_clang_tidy_readability_misleading_indentation_highlighting=none
-resharper_cpp_clang_tidy_readability_misplaced_array_index_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_named_parameter_highlighting=none
-resharper_cpp_clang_tidy_readability_non_const_parameter_highlighting=none
-resharper_cpp_clang_tidy_readability_qualified_auto_highlighting=none
-resharper_cpp_clang_tidy_readability_redundant_access_specifiers_highlighting=none
-resharper_cpp_clang_tidy_readability_redundant_control_flow_highlighting=none
-resharper_cpp_clang_tidy_readability_redundant_declaration_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_redundant_function_ptr_dereference_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_redundant_member_init_highlighting=none
-resharper_cpp_clang_tidy_readability_redundant_preprocessor_highlighting=warning
-resharper_cpp_clang_tidy_readability_redundant_smartptr_get_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_redundant_string_cstr_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_redundant_string_init_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_simplify_boolean_expr_highlighting=none
-resharper_cpp_clang_tidy_readability_simplify_subscript_expr_highlighting=warning
-resharper_cpp_clang_tidy_readability_static_accessed_through_instance_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_static_definition_in_anonymous_namespace_highlighting=none
-resharper_cpp_clang_tidy_readability_string_compare_highlighting=warning
-resharper_cpp_clang_tidy_readability_suspicious_call_argument_highlighting=warning
-resharper_cpp_clang_tidy_readability_uniqueptr_delete_release_highlighting=suggestion
-resharper_cpp_clang_tidy_readability_uppercase_literal_suffix_highlighting=none
-resharper_cpp_clang_tidy_readability_use_anyofallof_highlighting=suggestion
-resharper_cpp_clang_tidy_zircon_temporary_objects_highlighting=none
-resharper_cpp_class_can_be_final_highlighting=hint
-resharper_cpp_class_disallow_lazy_merging_highlighting=warning
-resharper_cpp_class_is_incomplete_highlighting=warning
-resharper_cpp_class_needs_constructor_because_of_uninitialized_member_highlighting=warning
-resharper_cpp_class_never_used_highlighting=warning
-resharper_cpp_compile_time_constant_can_be_replaced_with_boolean_constant_highlighting=suggestion
-resharper_cpp_const_parameter_in_declaration_highlighting=suggestion
-resharper_cpp_const_value_function_return_type_highlighting=suggestion
-resharper_cpp_coroutine_call_resolve_error_highlighting=warning
-resharper_cpp_cv_qualifier_can_not_be_applied_to_reference_highlighting=warning
-resharper_cpp_c_style_cast_highlighting=suggestion
-resharper_cpp_declaration_hides_local_highlighting=warning
-resharper_cpp_declaration_hides_uncaptured_local_highlighting=hint
-resharper_cpp_declaration_specifier_without_declarators_highlighting=warning
-resharper_cpp_declarator_disambiguated_as_function_highlighting=warning
-resharper_cpp_declarator_never_used_highlighting=warning
-resharper_cpp_declarator_used_before_initialization_highlighting=error
-resharper_cpp_defaulted_special_member_function_is_implicitly_deleted_highlighting=warning
-resharper_cpp_default_case_not_handled_in_switch_statement_highlighting=warning
-resharper_cpp_default_initialization_with_no_user_constructor_highlighting=warning
-resharper_cpp_default_is_used_as_identifier_highlighting=warning
-resharper_cpp_deleting_void_pointer_highlighting=warning
-resharper_cpp_dependent_template_without_template_keyword_highlighting=warning
-resharper_cpp_dependent_type_without_typename_keyword_highlighting=warning
-resharper_cpp_deprecated_entity_highlighting=warning
-resharper_cpp_deprecated_register_storage_class_specifier_highlighting=warning
-resharper_cpp_dereference_operator_limit_exceeded_highlighting=warning
-resharper_cpp_discarded_postfix_operator_result_highlighting=suggestion
-resharper_cpp_doxygen_syntax_error_highlighting=warning
-resharper_cpp_doxygen_undocumented_parameter_highlighting=suggestion
-resharper_cpp_doxygen_unresolved_reference_highlighting=warning
-resharper_cpp_empty_declaration_highlighting=warning
-resharper_cpp_enforce_cv_qualifiers_order_highlighting=none
-resharper_cpp_enforce_cv_qualifiers_placement_highlighting=none
-resharper_cpp_enforce_do_statement_braces_highlighting=none
-resharper_cpp_enforce_for_statement_braces_highlighting=none
-resharper_cpp_enforce_function_declaration_style_highlighting=none
-resharper_cpp_enforce_if_statement_braces_highlighting=none
-resharper_cpp_enforce_nested_namespaces_style_highlighting=hint
-resharper_cpp_enforce_overriding_destructor_style_highlighting=suggestion
-resharper_cpp_enforce_overriding_function_style_highlighting=suggestion
-resharper_cpp_enforce_type_alias_code_style_highlighting=none
-resharper_cpp_enforce_while_statement_braces_highlighting=none
-resharper_cpp_entity_assigned_but_no_read_highlighting=warning
-resharper_cpp_entity_used_only_in_unevaluated_context_highlighting=warning
-resharper_cpp_enumerator_never_used_highlighting=warning
-resharper_cpp_equal_operands_in_binary_expression_highlighting=warning
-resharper_cpp_explicit_specialization_in_non_namespace_scope_highlighting=warning
-resharper_cpp_expression_without_side_effects_highlighting=warning
-resharper_cpp_final_function_in_final_class_highlighting=suggestion
-resharper_cpp_final_non_overriding_virtual_function_highlighting=suggestion
-resharper_cpp_for_loop_can_be_replaced_with_while_highlighting=suggestion
-resharper_cpp_functional_style_cast_highlighting=suggestion
-resharper_cpp_function_doesnt_return_value_highlighting=warning
-resharper_cpp_function_is_not_implemented_highlighting=warning
-resharper_cpp_header_has_been_already_included_highlighting=hint
-resharper_cpp_hidden_function_highlighting=warning
-resharper_cpp_hiding_function_highlighting=warning
-resharper_cpp_identical_operands_in_binary_expression_highlighting=warning
-resharper_cpp_if_can_be_replaced_by_constexpr_if_highlighting=suggestion
-resharper_cpp_implicit_default_constructor_not_available_highlighting=warning
-resharper_cpp_incompatible_pointer_conversion_highlighting=warning
-resharper_cpp_incomplete_switch_statement_highlighting=warning
-resharper_cpp_inconsistent_naming_highlighting=hint
-resharper_cpp_incorrect_blank_lines_near_braces_highlighting=none
-resharper_cpp_initialized_value_is_always_rewritten_highlighting=warning
-resharper_cpp_integral_to_pointer_conversion_highlighting=warning
-resharper_cpp_invalid_line_continuation_highlighting=warning
-resharper_cpp_join_declaration_and_assignment_highlighting=suggestion
-resharper_cpp_lambda_capture_never_used_highlighting=warning
-resharper_cpp_local_variable_may_be_const_highlighting=suggestion
-resharper_cpp_local_variable_might_not_be_initialized_highlighting=warning
-resharper_cpp_local_variable_with_non_trivial_dtor_is_never_used_highlighting=none
-resharper_cpp_long_float_highlighting=warning
-resharper_cpp_member_function_may_be_const_highlighting=suggestion
-resharper_cpp_member_function_may_be_static_highlighting=suggestion
-resharper_cpp_member_initializers_order_highlighting=suggestion
-resharper_cpp_mismatched_class_tags_highlighting=warning
-resharper_cpp_missing_blank_lines_highlighting=none
-resharper_cpp_missing_include_guard_highlighting=warning
-resharper_cpp_missing_indent_highlighting=none
-resharper_cpp_missing_keyword_throw_highlighting=warning
-resharper_cpp_missing_linebreak_highlighting=none
-resharper_cpp_missing_space_highlighting=none
-resharper_cpp_ms_ext_address_of_class_r_value_highlighting=warning
-resharper_cpp_ms_ext_binding_r_value_to_lvalue_reference_highlighting=warning
-resharper_cpp_ms_ext_copy_elision_in_copy_init_declarator_highlighting=warning
-resharper_cpp_ms_ext_double_user_conversion_in_copy_init_highlighting=warning
-resharper_cpp_ms_ext_not_initialized_static_const_local_var_highlighting=warning
-resharper_cpp_ms_ext_reinterpret_cast_from_nullptr_highlighting=warning
-resharper_cpp_multiple_spaces_highlighting=none
-resharper_cpp_must_be_public_virtual_to_implement_interface_highlighting=warning
-resharper_cpp_mutable_specifier_on_reference_member_highlighting=warning
-resharper_cpp_nodiscard_function_without_return_value_highlighting=warning
-resharper_cpp_non_exception_safe_resource_acquisition_highlighting=hint
-resharper_cpp_non_explicit_conversion_operator_highlighting=hint
-resharper_cpp_non_explicit_converting_constructor_highlighting=hint
-resharper_cpp_non_inline_function_definition_in_header_file_highlighting=warning
-resharper_cpp_non_inline_variable_definition_in_header_file_highlighting=warning
-resharper_cpp_not_all_paths_return_value_highlighting=warning
-resharper_cpp_no_discard_expression_highlighting=warning
-resharper_cpp_object_member_might_not_be_initialized_highlighting=warning
-resharper_cpp_outdent_is_off_prev_level_highlighting=none
-resharper_cpp_out_parameter_must_be_written_highlighting=warning
-resharper_cpp_parameter_may_be_const_highlighting=hint
-resharper_cpp_parameter_may_be_const_ptr_or_ref_highlighting=suggestion
-resharper_cpp_parameter_names_mismatch_highlighting=hint
-resharper_cpp_parameter_never_used_highlighting=hint
-resharper_cpp_parameter_value_is_reassigned_highlighting=warning
-resharper_cpp_pointer_conversion_drops_qualifiers_highlighting=warning
-resharper_cpp_pointer_to_integral_conversion_highlighting=warning
-resharper_cpp_polymorphic_class_with_non_virtual_public_destructor_highlighting=warning
-resharper_cpp_possibly_erroneous_empty_statements_highlighting=warning
-resharper_cpp_possibly_uninitialized_member_highlighting=warning
-resharper_cpp_possibly_unintended_object_slicing_highlighting=warning
-resharper_cpp_precompiled_header_is_not_included_highlighting=error
-resharper_cpp_precompiled_header_not_found_highlighting=error
-resharper_cpp_printf_bad_format_highlighting=warning
-resharper_cpp_printf_extra_arg_highlighting=warning
-resharper_cpp_printf_missed_arg_highlighting=error
-resharper_cpp_printf_risky_format_highlighting=warning
-resharper_cpp_private_special_member_function_is_not_implemented_highlighting=warning
-resharper_cpp_range_based_for_incompatible_reference_highlighting=warning
-resharper_cpp_redefinition_of_default_argument_in_override_function_highlighting=warning
-resharper_cpp_redundant_access_specifier_highlighting=hint
-resharper_cpp_redundant_base_class_access_specifier_highlighting=hint
-resharper_cpp_redundant_blank_lines_highlighting=none
-resharper_cpp_redundant_boolean_expression_argument_highlighting=warning
-resharper_cpp_redundant_cast_expression_highlighting=hint
-resharper_cpp_redundant_const_specifier_highlighting=hint
-resharper_cpp_redundant_control_flow_jump_highlighting=hint
-resharper_cpp_redundant_elaborated_type_specifier_highlighting=hint
-resharper_cpp_redundant_else_keyword_highlighting=hint
-resharper_cpp_redundant_else_keyword_inside_compound_statement_highlighting=hint
-resharper_cpp_redundant_empty_declaration_highlighting=hint
-resharper_cpp_redundant_empty_statement_highlighting=hint
-resharper_cpp_redundant_explicit_template_arguments_highlighting=hint
-resharper_cpp_redundant_inline_specifier_highlighting=hint
-resharper_cpp_redundant_lambda_parameter_list_highlighting=hint
-resharper_cpp_redundant_linebreak_highlighting=none
-resharper_cpp_redundant_member_initializer_highlighting=suggestion
-resharper_cpp_redundant_namespace_definition_highlighting=suggestion
-resharper_cpp_redundant_parentheses_highlighting=hint
-resharper_cpp_redundant_qualifier_highlighting=hint
-resharper_cpp_redundant_space_highlighting=none
-resharper_cpp_redundant_static_specifier_on_member_allocation_function_highlighting=hint
-resharper_cpp_redundant_template_keyword_highlighting=warning
-resharper_cpp_redundant_typename_keyword_highlighting=warning
-resharper_cpp_redundant_void_argument_list_highlighting=suggestion
-resharper_cpp_reinterpret_cast_from_void_ptr_highlighting=suggestion
-resharper_cpp_remove_redundant_braces_highlighting=none
-resharper_cpp_replace_memset_with_zero_initialization_highlighting=suggestion
-resharper_cpp_replace_tie_with_structured_binding_highlighting=suggestion
-resharper_cpp_return_no_value_in_non_void_function_highlighting=warning
-resharper_cpp_smart_pointer_vs_make_function_highlighting=suggestion
-resharper_cpp_some_object_members_might_not_be_initialized_highlighting=warning
-resharper_cpp_special_function_without_noexcept_specification_highlighting=warning
-resharper_cpp_static_data_member_in_unnamed_struct_highlighting=warning
-resharper_cpp_static_specifier_on_anonymous_namespace_member_highlighting=suggestion
-resharper_cpp_string_literal_to_char_pointer_conversion_highlighting=warning
-resharper_cpp_syntax_warning_highlighting=warning
-resharper_cpp_tabs_and_spaces_mismatch_highlighting=none
-resharper_cpp_tabs_are_disallowed_highlighting=none
-resharper_cpp_tabs_outside_indent_highlighting=none
-resharper_cpp_template_parameter_shadowing_highlighting=warning
-resharper_cpp_this_arg_member_func_delegate_ctor_is_unsuported_by_dot_net_core_highlighting=none
-resharper_cpp_throw_expression_can_be_replaced_with_rethrow_highlighting=warning
-resharper_cpp_too_wide_scope_highlighting=suggestion
-resharper_cpp_too_wide_scope_init_statement_highlighting=hint
-resharper_cpp_type_alias_never_used_highlighting=warning
-resharper_cpp_ue4_blueprint_callable_function_may_be_const_highlighting=hint
-resharper_cpp_ue4_blueprint_callable_function_may_be_static_highlighting=hint
-resharper_cpp_ue4_coding_standard_naming_violation_warning_highlighting=hint
-resharper_cpp_ue4_coding_standard_u_class_naming_violation_error_highlighting=error
-resharper_cpp_ue4_probable_memory_issues_with_u_objects_in_container_highlighting=warning
-resharper_cpp_ue4_probable_memory_issues_with_u_object_highlighting=warning
-resharper_cpp_ue_blueprint_callable_function_unused_highlighting=warning
-resharper_cpp_ue_blueprint_implementable_event_not_implemented_highlighting=warning
-resharper_cpp_ue_incorrect_engine_directory_highlighting=error
-resharper_cpp_ue_non_existent_input_action_highlighting=warning
-resharper_cpp_ue_non_existent_input_axis_highlighting=warning
-resharper_cpp_ue_source_file_without_predefined_macros_highlighting=warning
-resharper_cpp_ue_source_file_without_standard_library_highlighting=error
-resharper_cpp_ue_version_file_doesnt_exist_highlighting=error
-resharper_cpp_uninitialized_dependent_base_class_highlighting=warning
-resharper_cpp_uninitialized_non_static_data_member_highlighting=warning
-resharper_cpp_union_member_of_reference_type_highlighting=warning
-resharper_cpp_unnamed_namespace_in_header_file_highlighting=warning
-resharper_cpp_unnecessary_whitespace_highlighting=none
-resharper_cpp_unreachable_code_highlighting=warning
-resharper_cpp_unsigned_zero_comparison_highlighting=warning
-resharper_cpp_unused_include_directive_highlighting=warning
-resharper_cpp_user_defined_literal_suffix_does_not_start_with_underscore_highlighting=warning
-resharper_cpp_use_algorithm_with_count_highlighting=suggestion
-resharper_cpp_use_associative_contains_highlighting=suggestion
-resharper_cpp_use_auto_for_numeric_highlighting=hint
-resharper_cpp_use_auto_highlighting=hint
-resharper_cpp_use_elements_view_highlighting=suggestion
-resharper_cpp_use_erase_algorithm_highlighting=suggestion
-resharper_cpp_use_familiar_template_syntax_for_generic_lambdas_highlighting=suggestion
-resharper_cpp_use_range_algorithm_highlighting=suggestion
-resharper_cpp_use_std_size_highlighting=suggestion
-resharper_cpp_use_structured_binding_highlighting=hint
-resharper_cpp_use_type_trait_alias_highlighting=suggestion
-resharper_cpp_using_result_of_assignment_as_condition_highlighting=warning
-resharper_cpp_u_function_macro_call_has_no_effect_highlighting=warning
-resharper_cpp_u_property_macro_call_has_no_effect_highlighting=warning
-resharper_cpp_variable_can_be_made_constexpr_highlighting=suggestion
-resharper_cpp_virtual_function_call_inside_ctor_highlighting=warning
-resharper_cpp_virtual_function_in_final_class_highlighting=warning
-resharper_cpp_volatile_parameter_in_declaration_highlighting=suggestion
-resharper_cpp_wrong_includes_order_highlighting=hint
-resharper_cpp_wrong_indent_size_highlighting=none
-resharper_cpp_wrong_slashes_in_include_directive_highlighting=hint
-resharper_cpp_zero_constant_can_be_replaced_with_nullptr_highlighting=suggestion
-resharper_cpp_zero_valued_expression_used_as_null_pointer_highlighting=warning
-resharper_create_specialized_overload_highlighting=hint
-resharper_css_browser_compatibility_highlighting=warning
-resharper_css_caniuse_feature_requires_prefix_highlighting=hint
-resharper_css_caniuse_unsupported_feature_highlighting=hint
-resharper_css_not_resolved_highlighting=error
-resharper_css_obsolete_highlighting=hint
-resharper_css_property_does_not_override_vendor_property_highlighting=warning
-resharper_cyclic_reference_comment_highlighting=none
-resharper_c_declaration_with_implicit_int_type_highlighting=warning
-resharper_c_sharp_build_cs_invalid_module_name_highlighting=warning
-resharper_c_sharp_missing_plugin_dependency_highlighting=warning
-resharper_declaration_hides_highlighting=hint
-resharper_declaration_is_empty_highlighting=warning
-resharper_declaration_visibility_error_highlighting=error
-resharper_default_value_attribute_for_optional_parameter_highlighting=warning
-resharper_deleting_non_qualified_reference_highlighting=error
-resharper_dl_tag_contains_non_dt_or_dd_elements_highlighting=hint
-resharper_double_colons_expected_highlighting=error
-resharper_double_colons_preferred_highlighting=suggestion
-resharper_double_negation_in_pattern_highlighting=suggestion
-resharper_double_negation_of_boolean_highlighting=warning
-resharper_double_negation_operator_highlighting=suggestion
-resharper_duplicate_identifier_error_highlighting=error
-resharper_duplicate_reference_comment_highlighting=warning
-resharper_duplicate_resource_highlighting=warning
-resharper_duplicating_local_declaration_highlighting=warning
-resharper_duplicating_parameter_declaration_error_highlighting=error
-resharper_duplicating_property_declaration_error_highlighting=error
-resharper_duplicating_property_declaration_highlighting=warning
-resharper_duplicating_switch_label_highlighting=warning
-resharper_dynamic_shift_right_op_is_not_int_highlighting=warning
-resharper_elided_trailing_element_highlighting=warning
-resharper_empty_constructor_highlighting=warning
-resharper_empty_destructor_highlighting=warning
-resharper_empty_embedded_statement_highlighting=warning
-resharper_empty_for_statement_highlighting=warning
-resharper_empty_general_catch_clause_highlighting=warning
-resharper_empty_namespace_highlighting=warning
-resharper_empty_object_property_declaration_highlighting=error
-resharper_empty_return_value_for_type_annotated_function_highlighting=warning
-resharper_empty_statement_highlighting=warning
-resharper_empty_title_tag_highlighting=hint
-resharper_enforce_do_while_statement_braces_highlighting=none
-resharper_enforce_fixed_statement_braces_highlighting=none
-resharper_enforce_foreach_statement_braces_highlighting=none
-resharper_enforce_for_statement_braces_highlighting=none
-resharper_enforce_if_statement_braces_highlighting=none
-resharper_enforce_lock_statement_braces_highlighting=none
-resharper_enforce_using_statement_braces_highlighting=none
-resharper_enforce_while_statement_braces_highlighting=none
-resharper_entity_name_captured_only_global_highlighting=warning
-resharper_entity_name_captured_only_local_highlighting=warning
-resharper_enumerable_sum_in_explicit_unchecked_context_highlighting=warning
-resharper_enum_underlying_type_is_int_highlighting=warning
-resharper_equal_expression_comparison_highlighting=warning
-resharper_error_in_xml_doc_reference_highlighting=error
-resharper_es6_feature_highlighting=error
-resharper_es7_feature_highlighting=error
-resharper_eval_arguments_name_error_highlighting=error
-resharper_event_never_invoked_global_highlighting=suggestion
-resharper_event_never_subscribed_to_global_highlighting=suggestion
-resharper_event_never_subscribed_to_local_highlighting=suggestion
-resharper_event_unsubscription_via_anonymous_delegate_highlighting=warning
-resharper_experimental_feature_highlighting=error
-resharper_explicit_caller_info_argument_highlighting=warning
-resharper_expression_is_always_const_highlighting=warning
-resharper_expression_is_always_null_highlighting=warning
-resharper_field_can_be_made_read_only_global_highlighting=suggestion
-resharper_field_can_be_made_read_only_local_highlighting=suggestion
-resharper_field_hides_interface_property_with_default_implementation_highlighting=warning
-resharper_foreach_can_be_converted_to_query_using_another_get_enumerator_highlighting=hint
-resharper_foreach_can_be_partly_converted_to_query_using_another_get_enumerator_highlighting=hint
-resharper_format_string_placeholders_mismatch_highlighting=warning
-resharper_format_string_problem_highlighting=warning
-resharper_for_can_be_converted_to_foreach_highlighting=suggestion
-resharper_for_statement_condition_is_true_highlighting=warning
-resharper_functions_used_before_declared_highlighting=none
-resharper_function_complexity_overflow_highlighting=none
-resharper_function_never_returns_highlighting=warning
-resharper_function_parameter_named_arguments_highlighting=warning
-resharper_function_recursive_on_all_paths_highlighting=warning
-resharper_function_used_out_of_scope_highlighting=warning
-resharper_gc_suppress_finalize_for_type_without_destructor_highlighting=warning
-resharper_generic_enumerator_not_disposed_highlighting=warning
-resharper_heuristically_unreachable_code_highlighting=warning
-resharper_heuristic_unreachable_code_highlighting=warning
-resharper_hex_color_value_with_alpha_highlighting=error
-resharper_html_attributes_quotes_highlighting=hint
-resharper_html_attribute_not_resolved_highlighting=warning
-resharper_html_attribute_value_not_resolved_highlighting=warning
-resharper_html_dead_code_highlighting=warning
-resharper_html_event_not_resolved_highlighting=warning
-resharper_html_id_duplication_highlighting=warning
-resharper_html_id_not_resolved_highlighting=warning
-resharper_html_obsolete_highlighting=warning
-resharper_html_path_error_highlighting=warning
-resharper_html_tag_not_closed_highlighting=error
-resharper_html_tag_not_resolved_highlighting=warning
-resharper_html_tag_should_be_self_closed_highlighting=warning
-resharper_html_tag_should_not_be_self_closed_highlighting=warning
-resharper_html_warning_highlighting=warning
-resharper_identifier_typo_highlighting=suggestion
-resharper_implicit_any_error_highlighting=error
-resharper_implicit_any_type_warning_highlighting=warning
-resharper_import_keyword_not_with_invocation_highlighting=error
-resharper_inactive_preprocessor_branch_highlighting=warning
-resharper_inconsistently_synchronized_field_highlighting=warning
-resharper_inconsistent_function_returns_highlighting=warning
-resharper_inconsistent_naming_highlighting=warning
-resharper_inconsistent_order_of_locks_highlighting=warning
-resharper_incorrect_blank_lines_near_braces_highlighting=none
-resharper_incorrect_operand_in_type_of_comparison_highlighting=warning
-resharper_incorrect_triple_slash_location_highlighting=warning
-resharper_indexing_by_invalid_range_highlighting=warning
-resharper_inheritdoc_consider_usage_highlighting=none
-resharper_inheritdoc_invalid_usage_highlighting=warning
-resharper_inline_out_variable_declaration_highlighting=suggestion
-resharper_inline_temporary_variable_highlighting=hint
-resharper_internal_module_highlighting=suggestion
-resharper_internal_or_private_member_not_documented_highlighting=none
-resharper_interpolated_string_expression_is_not_i_formattable_highlighting=warning
-resharper_introduce_optional_parameters_global_highlighting=suggestion
-resharper_introduce_optional_parameters_local_highlighting=suggestion
-resharper_introduce_variable_to_apply_guard_highlighting=hint
-resharper_int_division_by_zero_highlighting=warning
-resharper_int_variable_overflow_highlighting=warning
-resharper_int_variable_overflow_in_checked_context_highlighting=warning
-resharper_int_variable_overflow_in_unchecked_context_highlighting=warning
-resharper_invalid_attribute_value_highlighting=warning
-resharper_invalid_json_syntax_highlighting=error
-resharper_invalid_task_element_highlighting=none
-resharper_invalid_value_highlighting=error
-resharper_invalid_value_type_highlighting=warning
-resharper_invalid_xml_doc_comment_highlighting=warning
-resharper_invert_condition_1_highlighting=hint
-resharper_invert_if_highlighting=hint
-resharper_invocation_is_skipped_highlighting=hint
-resharper_invocation_of_non_function_highlighting=warning
-resharper_invoked_expression_maybe_non_function_highlighting=warning
-resharper_invoke_as_extension_method_highlighting=suggestion
-resharper_is_expression_always_false_highlighting=warning
-resharper_is_expression_always_true_highlighting=warning
-resharper_iterator_method_result_is_ignored_highlighting=warning
-resharper_iterator_never_returns_highlighting=warning
-resharper_join_declaration_and_initializer_highlighting=suggestion
-resharper_join_declaration_and_initializer_js_highlighting=suggestion
-resharper_join_null_check_with_usage_highlighting=suggestion
-resharper_join_null_check_with_usage_when_possible_highlighting=none
-resharper_json_validation_failed_highlighting=error
-resharper_js_path_not_found_highlighting=error
-resharper_js_unreachable_code_highlighting=warning
-resharper_jump_must_be_in_loop_highlighting=warning
-resharper_label_or_semicolon_expected_highlighting=error
-resharper_lambda_expression_can_be_made_static_highlighting=none
-resharper_lambda_expression_must_be_static_highlighting=suggestion
-resharper_lambda_highlighting=suggestion
-resharper_lambda_should_not_capture_context_highlighting=warning
-resharper_less_specific_overload_than_main_signature_highlighting=warning
-resharper_lexical_declaration_needs_block_highlighting=error
-resharper_localizable_element_highlighting=warning
-resharper_local_function_can_be_made_static_highlighting=none
-resharper_local_function_hides_method_highlighting=warning
-resharper_local_function_redefined_later_highlighting=warning
-resharper_local_variable_hides_member_highlighting=warning
-resharper_long_literal_ending_lower_l_highlighting=warning
-resharper_loop_can_be_converted_to_query_highlighting=hint
-resharper_loop_can_be_partly_converted_to_query_highlighting=none
-resharper_loop_variable_is_never_changed_inside_loop_highlighting=warning
-resharper_l_value_is_expected_highlighting=error
-resharper_markup_attribute_typo_highlighting=suggestion
-resharper_markup_text_typo_highlighting=suggestion
-resharper_math_abs_method_is_redundant_highlighting=warning
-resharper_math_clamp_min_greater_than_max_highlighting=warning
-resharper_meaningless_default_parameter_value_highlighting=warning
-resharper_member_can_be_internal_highlighting=none
-resharper_member_can_be_made_static_global_highlighting=hint
-resharper_member_can_be_made_static_local_highlighting=hint
-resharper_member_can_be_private_global_highlighting=suggestion
-resharper_member_can_be_private_local_highlighting=suggestion
-resharper_member_can_be_protected_global_highlighting=suggestion
-resharper_member_can_be_protected_local_highlighting=suggestion
-resharper_member_hides_interface_member_with_default_implementation_highlighting=warning
-resharper_member_hides_static_from_outer_class_highlighting=warning
-resharper_member_initializer_value_ignored_highlighting=warning
-resharper_merge_and_pattern_highlighting=suggestion
-resharper_merge_cast_with_type_check_highlighting=suggestion
-resharper_merge_conditional_expression_highlighting=suggestion
-resharper_merge_conditional_expression_when_possible_highlighting=none
-resharper_merge_into_logical_pattern_highlighting=hint
-resharper_merge_into_negated_pattern_highlighting=hint
-resharper_merge_into_pattern_highlighting=suggestion
-resharper_merge_nested_property_patterns_highlighting=suggestion
-resharper_merge_sequential_checks_highlighting=hint
-resharper_merge_sequential_checks_when_possible_highlighting=none
-resharper_method_has_async_overload_highlighting=suggestion
-resharper_method_has_async_overload_with_cancellation_highlighting=suggestion
-resharper_method_overload_with_optional_parameter_highlighting=warning
-resharper_method_safe_this_highlighting=suggestion
-resharper_method_supports_cancellation_highlighting=suggestion
-resharper_missing_alt_attribute_in_img_tag_highlighting=hint
-resharper_missing_attribute_highlighting=warning
-resharper_missing_blank_lines_highlighting=none
-resharper_missing_body_tag_highlighting=warning
-resharper_missing_has_own_property_in_foreach_highlighting=warning
-resharper_missing_head_and_body_tags_highlighting=warning
-resharper_missing_head_tag_highlighting=warning
-resharper_missing_indent_highlighting=none
-resharper_missing_linebreak_highlighting=none
-resharper_missing_space_highlighting=none
-resharper_missing_title_tag_highlighting=hint
-resharper_misuse_of_owner_function_this_highlighting=warning
-resharper_more_specific_foreach_variable_type_available_highlighting=suggestion
-resharper_more_specific_signature_after_less_specific_highlighting=warning
-resharper_move_to_existing_positional_deconstruction_pattern_highlighting=hint
-resharper_multiple_declarations_in_foreach_highlighting=error
-resharper_multiple_nullable_attributes_usage_highlighting=warning
-resharper_multiple_order_by_highlighting=warning
-resharper_multiple_output_tags_highlighting=warning
-resharper_multiple_resolve_candidates_in_text_highlighting=warning
-resharper_multiple_spaces_highlighting=none
-resharper_multiple_statements_on_one_line_highlighting=none
-resharper_multiple_type_members_on_one_line_highlighting=none
-resharper_must_use_return_value_highlighting=warning
-resharper_mvc_action_not_resolved_highlighting=error
-resharper_mvc_area_not_resolved_highlighting=error
-resharper_mvc_controller_not_resolved_highlighting=error
-resharper_mvc_invalid_model_type_highlighting=error
-resharper_mvc_masterpage_not_resolved_highlighting=error
-resharper_mvc_partial_view_not_resolved_highlighting=error
-resharper_mvc_template_not_resolved_highlighting=error
-resharper_mvc_view_component_not_resolved_highlighting=error
-resharper_mvc_view_component_view_not_resolved_highlighting=error
-resharper_mvc_view_not_resolved_highlighting=error
-resharper_native_type_prototype_extending_highlighting=warning
-resharper_native_type_prototype_overwriting_highlighting=warning
-resharper_negation_of_relational_pattern_highlighting=suggestion
-resharper_negative_equality_expression_highlighting=suggestion
-resharper_negative_index_highlighting=warning
-resharper_nested_string_interpolation_highlighting=suggestion
-resharper_non_assigned_constant_highlighting=error
-resharper_non_atomic_compound_operator_highlighting=warning
-resharper_non_constant_equality_expression_has_constant_result_highlighting=warning
-resharper_non_parsable_element_highlighting=warning
-resharper_non_readonly_member_in_get_hash_code_highlighting=warning
-resharper_non_volatile_field_in_double_check_locking_highlighting=warning
-resharper_not_accessed_field_global_highlighting=suggestion
-resharper_not_accessed_field_local_highlighting=warning
-resharper_not_accessed_positional_property_global_highlighting=warning
-resharper_not_accessed_positional_property_local_highlighting=warning
-resharper_not_accessed_variable_highlighting=warning
-resharper_not_all_paths_return_value_highlighting=warning
-resharper_not_assigned_out_parameter_highlighting=warning
-resharper_not_declared_in_parent_culture_highlighting=warning
-resharper_not_null_member_is_not_initialized_highlighting=warning
-resharper_not_observable_annotation_redundancy_highlighting=warning
-resharper_not_overridden_in_specific_culture_highlighting=warning
-resharper_not_resolved_highlighting=warning
-resharper_not_resolved_in_text_highlighting=warning
-resharper_nullable_warning_suppression_is_used_highlighting=none
-resharper_n_unit_async_method_must_be_task_highlighting=warning
-resharper_n_unit_attribute_produces_too_many_tests_highlighting=none
-resharper_n_unit_auto_fixture_incorrect_argument_type_highlighting=warning
-resharper_n_unit_auto_fixture_missed_test_attribute_highlighting=warning
-resharper_n_unit_auto_fixture_missed_test_or_test_fixture_attribute_highlighting=warning
-resharper_n_unit_auto_fixture_redundant_argument_in_inline_auto_data_attribute_highlighting=warning
-resharper_n_unit_duplicate_values_highlighting=warning
-resharper_n_unit_ignored_parameter_attribute_highlighting=warning
-resharper_n_unit_implicit_unspecified_null_values_highlighting=warning
-resharper_n_unit_incorrect_argument_type_highlighting=warning
-resharper_n_unit_incorrect_expected_result_type_highlighting=warning
-resharper_n_unit_incorrect_range_bounds_highlighting=warning
-resharper_n_unit_method_with_parameters_and_test_attribute_highlighting=warning
-resharper_n_unit_missing_arguments_in_test_case_attribute_highlighting=warning
-resharper_n_unit_non_public_method_with_test_attribute_highlighting=warning
-resharper_n_unit_no_values_provided_highlighting=warning
-resharper_n_unit_parameter_type_is_not_compatible_with_attribute_highlighting=warning
-resharper_n_unit_range_attribute_bounds_are_out_of_range_highlighting=warning
-resharper_n_unit_range_step_sign_mismatch_highlighting=warning
-resharper_n_unit_range_step_value_must_not_be_zero_highlighting=warning
-resharper_n_unit_range_to_value_is_not_reachable_highlighting=warning
-resharper_n_unit_redundant_argument_instead_of_expected_result_highlighting=warning
-resharper_n_unit_redundant_argument_in_test_case_attribute_highlighting=warning
-resharper_n_unit_redundant_expected_result_in_test_case_attribute_highlighting=warning
-resharper_n_unit_test_case_attribute_requires_expected_result_highlighting=warning
-resharper_n_unit_test_case_result_property_duplicates_expected_result_highlighting=warning
-resharper_n_unit_test_case_result_property_is_obsolete_highlighting=warning
-resharper_n_unit_test_case_source_cannot_be_resolved_highlighting=warning
-resharper_n_unit_test_case_source_must_be_field_property_method_highlighting=warning
-resharper_n_unit_test_case_source_must_be_static_highlighting=warning
-resharper_n_unit_test_case_source_should_implement_i_enumerable_highlighting=warning
-resharper_object_creation_as_statement_highlighting=warning
-resharper_object_destructuring_without_parentheses_highlighting=error
-resharper_object_literals_are_not_comma_free_highlighting=error
-resharper_obsolete_element_error_highlighting=error
-resharper_obsolete_element_highlighting=warning
-resharper_octal_literals_not_allowed_error_highlighting=error
-resharper_ol_tag_contains_non_li_elements_highlighting=hint
-resharper_one_way_operation_contract_with_return_type_highlighting=warning
-resharper_operation_contract_without_service_contract_highlighting=warning
-resharper_operator_is_can_be_used_highlighting=warning
-resharper_optional_parameter_hierarchy_mismatch_highlighting=warning
-resharper_optional_parameter_ref_out_highlighting=warning
-resharper_other_tags_inside_script1_highlighting=error
-resharper_other_tags_inside_script2_highlighting=error
-resharper_other_tags_inside_unclosed_script_highlighting=error
-resharper_outdent_is_off_prev_level_highlighting=none
-resharper_output_tag_required_highlighting=warning
-resharper_out_parameter_value_is_always_discarded_global_highlighting=suggestion
-resharper_out_parameter_value_is_always_discarded_local_highlighting=warning
-resharper_overload_signature_inferring_highlighting=hint
-resharper_overridden_with_empty_value_highlighting=warning
-resharper_overridden_with_same_value_highlighting=suggestion
-resharper_parameter_doesnt_make_any_sense_highlighting=warning
-resharper_parameter_hides_member_highlighting=warning
-resharper_parameter_only_used_for_precondition_check_global_highlighting=suggestion
-resharper_parameter_only_used_for_precondition_check_local_highlighting=warning
-resharper_parameter_type_can_be_enumerable_global_highlighting=hint
-resharper_parameter_type_can_be_enumerable_local_highlighting=hint
-resharper_parameter_value_is_not_used_highlighting=warning
-resharper_partial_method_parameter_name_mismatch_highlighting=warning
-resharper_partial_method_with_single_part_highlighting=warning
-resharper_partial_type_with_single_part_highlighting=warning
-resharper_pass_string_interpolation_highlighting=hint
-resharper_path_not_resolved_highlighting=error
-resharper_pattern_always_matches_highlighting=warning
-resharper_pattern_is_always_true_or_false_highlighting=warning
-resharper_pattern_never_matches_highlighting=warning
-resharper_polymorphic_field_like_event_invocation_highlighting=warning
-resharper_possible_infinite_inheritance_highlighting=warning
-resharper_possible_intended_rethrow_highlighting=warning
-resharper_possible_interface_member_ambiguity_highlighting=warning
-resharper_possible_invalid_cast_exception_highlighting=warning
-resharper_possible_invalid_cast_exception_in_foreach_loop_highlighting=warning
-resharper_possible_invalid_operation_exception_highlighting=warning
-resharper_possible_loss_of_fraction_highlighting=warning
-resharper_possible_mistaken_argument_highlighting=warning
-resharper_possible_mistaken_call_to_get_type_1_highlighting=warning
-resharper_possible_mistaken_call_to_get_type_2_highlighting=warning
-resharper_possible_multiple_enumeration_highlighting=warning
-resharper_possible_multiple_write_access_in_double_check_locking_highlighting=warning
-resharper_possible_null_reference_exception_highlighting=warning
-resharper_possible_struct_member_modification_of_non_variable_struct_highlighting=warning
-resharper_possible_unintended_linear_search_in_set_highlighting=warning
-resharper_possible_unintended_queryable_as_enumerable_highlighting=suggestion
-resharper_possible_unintended_reference_comparison_highlighting=warning
-resharper_possible_write_to_me_highlighting=warning
-resharper_possibly_impure_method_call_on_readonly_variable_highlighting=warning
-resharper_possibly_incorrectly_broken_statement_highlighting=warning
-resharper_possibly_missing_indexer_initializer_comma_highlighting=warning
-resharper_possibly_mistaken_use_of_interpolated_string_insert_highlighting=warning
-resharper_possibly_mistaken_use_of_params_method_highlighting=warning
-resharper_possibly_unassigned_property_highlighting=hint
-resharper_private_field_can_be_converted_to_local_variable_highlighting=warning
-resharper_private_variable_can_be_made_readonly_highlighting=hint
-resharper_property_can_be_made_init_only_global_highlighting=suggestion
-resharper_property_can_be_made_init_only_local_highlighting=suggestion
-resharper_property_getter_cannot_have_parameters_highlighting=error
-resharper_property_not_resolved_highlighting=error
-resharper_property_setter_must_have_single_parameter_highlighting=error
-resharper_public_constructor_in_abstract_class_highlighting=suggestion
-resharper_pure_attribute_on_void_method_highlighting=warning
-resharper_qualified_expression_is_null_highlighting=warning
-resharper_qualified_expression_maybe_null_highlighting=warning
-resharper_razor_layout_not_resolved_highlighting=error
-resharper_razor_section_not_resolved_highlighting=error
-resharper_read_access_in_double_check_locking_highlighting=warning
-resharper_redundant_abstract_modifier_highlighting=warning
-resharper_redundant_always_match_subpattern_highlighting=suggestion
-resharper_redundant_anonymous_type_property_name_highlighting=warning
-resharper_redundant_argument_default_value_highlighting=warning
-resharper_redundant_array_creation_expression_highlighting=hint
-resharper_redundant_array_lower_bound_specification_highlighting=warning
-resharper_redundant_assignment_highlighting=warning
-resharper_redundant_attribute_parentheses_highlighting=hint
-resharper_redundant_attribute_usage_property_highlighting=suggestion
-resharper_redundant_base_constructor_call_highlighting=warning
-resharper_redundant_base_qualifier_highlighting=warning
-resharper_redundant_blank_lines_highlighting=none
-resharper_redundant_block_highlighting=warning
-resharper_redundant_bool_compare_highlighting=warning
-resharper_redundant_case_label_highlighting=warning
-resharper_redundant_cast_highlighting=warning
-resharper_redundant_catch_clause_highlighting=warning
-resharper_redundant_check_before_assignment_highlighting=warning
-resharper_redundant_collection_initializer_element_braces_highlighting=hint
-resharper_redundant_comparison_with_boolean_highlighting=warning
-resharper_redundant_configure_await_highlighting=suggestion
-resharper_redundant_css_hack_highlighting=warning
-resharper_redundant_declaration_semicolon_highlighting=hint
-resharper_redundant_default_member_initializer_highlighting=warning
-resharper_redundant_delegate_creation_highlighting=warning
-resharper_redundant_disable_warning_comment_highlighting=warning
-resharper_redundant_discard_designation_highlighting=suggestion
-resharper_redundant_else_block_highlighting=warning
-resharper_redundant_empty_case_else_highlighting=warning
-resharper_redundant_empty_constructor_highlighting=warning
-resharper_redundant_empty_finally_block_highlighting=warning
-resharper_redundant_empty_object_creation_argument_list_highlighting=hint
-resharper_redundant_empty_object_or_collection_initializer_highlighting=warning
-resharper_redundant_empty_switch_section_highlighting=warning
-resharper_redundant_enumerable_cast_call_highlighting=warning
-resharper_redundant_enum_case_label_for_default_section_highlighting=none
-resharper_redundant_explicit_array_creation_highlighting=warning
-resharper_redundant_explicit_array_size_highlighting=warning
-resharper_redundant_explicit_nullable_creation_highlighting=warning
-resharper_redundant_explicit_params_array_creation_highlighting=suggestion
-resharper_redundant_explicit_positional_property_declaration_highlighting=warning
-resharper_redundant_explicit_tuple_component_name_highlighting=warning
-resharper_redundant_extends_list_entry_highlighting=warning
-resharper_redundant_fixed_pointer_declaration_highlighting=suggestion
-resharper_redundant_highlighting=warning
-resharper_redundant_if_else_block_highlighting=hint
-resharper_redundant_if_statement_then_keyword_highlighting=none
-resharper_redundant_immediate_delegate_invocation_highlighting=suggestion
-resharper_redundant_intermediate_variable_highlighting=hint
-resharper_redundant_is_before_relational_pattern_highlighting=suggestion
-resharper_redundant_iterator_keyword_highlighting=warning
-resharper_redundant_jump_statement_highlighting=warning
-resharper_redundant_lambda_parameter_type_highlighting=warning
-resharper_redundant_lambda_signature_parentheses_highlighting=hint
-resharper_redundant_linebreak_highlighting=none
-resharper_redundant_local_class_name_highlighting=hint
-resharper_redundant_local_function_name_highlighting=hint
-resharper_redundant_logical_conditional_expression_operand_highlighting=warning
-resharper_redundant_me_qualifier_highlighting=warning
-resharper_redundant_my_base_qualifier_highlighting=warning
-resharper_redundant_my_class_qualifier_highlighting=warning
-resharper_redundant_name_qualifier_highlighting=warning
-resharper_redundant_not_null_constraint_highlighting=warning
-resharper_redundant_nullable_annotation_on_reference_type_constraint_highlighting=warning
-resharper_redundant_nullable_annotation_on_type_constraint_has_non_nullable_base_type_highlighting=warning
-resharper_redundant_nullable_annotation_on_type_constraint_has_non_nullable_type_kind_highlighting=warning
-resharper_redundant_nullable_flow_attribute_highlighting=warning
-resharper_redundant_nullable_type_mark_highlighting=warning
-resharper_redundant_nullness_attribute_with_nullable_reference_types_highlighting=warning
-resharper_redundant_overflow_checking_context_highlighting=warning
-resharper_redundant_overload_global_highlighting=suggestion
-resharper_redundant_overload_local_highlighting=suggestion
-resharper_redundant_overridden_member_highlighting=warning
-resharper_redundant_params_highlighting=warning
-resharper_redundant_parentheses_highlighting=none
-resharper_redundant_parent_type_declaration_highlighting=warning
-resharper_redundant_pattern_parentheses_highlighting=hint
-resharper_redundant_property_parentheses_highlighting=hint
-resharper_redundant_property_pattern_clause_highlighting=suggestion
-resharper_redundant_qualifier_highlighting=warning
-resharper_redundant_query_order_by_ascending_keyword_highlighting=hint
-resharper_redundant_range_bound_highlighting=suggestion
-resharper_redundant_readonly_modifier_highlighting=suggestion
-resharper_redundant_record_body_highlighting=warning
-resharper_redundant_record_class_keyword_highlighting=warning
-resharper_redundant_setter_value_parameter_declaration_highlighting=hint
-resharper_redundant_space_highlighting=none
-resharper_redundant_string_format_call_highlighting=warning
-resharper_redundant_string_interpolation_highlighting=suggestion
-resharper_redundant_string_to_char_array_call_highlighting=warning
-resharper_redundant_string_type_highlighting=suggestion
-resharper_redundant_suppress_nullable_warning_expression_highlighting=warning
-resharper_redundant_ternary_expression_highlighting=warning
-resharper_redundant_to_string_call_for_value_type_highlighting=hint
-resharper_redundant_to_string_call_highlighting=warning
-resharper_redundant_type_arguments_of_method_highlighting=warning
-resharper_redundant_type_cast_highlighting=warning
-resharper_redundant_type_cast_structural_highlighting=warning
-resharper_redundant_type_check_in_pattern_highlighting=warning
-resharper_redundant_units_highlighting=warning
-resharper_redundant_unsafe_context_highlighting=warning
-resharper_redundant_using_directive_global_highlighting=warning
-resharper_redundant_using_directive_highlighting=warning
-resharper_redundant_variable_type_specification_highlighting=hint
-resharper_redundant_verbatim_prefix_highlighting=suggestion
-resharper_redundant_verbatim_string_prefix_highlighting=suggestion
-resharper_redundant_with_expression_highlighting=suggestion
-resharper_reference_equals_with_value_type_highlighting=warning
-resharper_reg_exp_inspections_highlighting=warning
-resharper_remove_constructor_invocation_highlighting=none
-resharper_remove_redundant_braces_highlighting=none
-resharper_remove_redundant_or_statement_false_highlighting=suggestion
-resharper_remove_redundant_or_statement_true_highlighting=suggestion
-resharper_remove_to_list_1_highlighting=suggestion
-resharper_remove_to_list_2_highlighting=suggestion
-resharper_replace_auto_property_with_computed_property_highlighting=hint
-resharper_replace_indicing_with_array_destructuring_highlighting=hint
-resharper_replace_indicing_with_short_hand_properties_after_destructuring_highlighting=hint
-resharper_replace_object_pattern_with_var_pattern_highlighting=suggestion
-resharper_replace_slice_with_range_indexer_highlighting=hint
-resharper_replace_substring_with_range_indexer_highlighting=hint
-resharper_replace_undefined_checking_series_with_object_destructuring_highlighting=hint
-resharper_replace_with_destructuring_swap_highlighting=hint
-resharper_replace_with_first_or_default_1_highlighting=suggestion
-resharper_replace_with_first_or_default_2_highlighting=suggestion
-resharper_replace_with_first_or_default_3_highlighting=suggestion
-resharper_replace_with_first_or_default_4_highlighting=suggestion
-resharper_replace_with_last_or_default_1_highlighting=suggestion
-resharper_replace_with_last_or_default_2_highlighting=suggestion
-resharper_replace_with_last_or_default_3_highlighting=suggestion
-resharper_replace_with_last_or_default_4_highlighting=suggestion
-resharper_replace_with_of_type_1_highlighting=suggestion
-resharper_replace_with_of_type_2_highlighting=suggestion
-resharper_replace_with_of_type_3_highlighting=suggestion
-resharper_replace_with_of_type_any_1_highlighting=suggestion
-resharper_replace_with_of_type_any_2_highlighting=suggestion
-resharper_replace_with_of_type_count_1_highlighting=suggestion
-resharper_replace_with_of_type_count_2_highlighting=suggestion
-resharper_replace_with_of_type_first_1_highlighting=suggestion
-resharper_replace_with_of_type_first_2_highlighting=suggestion
-resharper_replace_with_of_type_first_or_default_1_highlighting=suggestion
-resharper_replace_with_of_type_first_or_default_2_highlighting=suggestion
-resharper_replace_with_of_type_last_1_highlighting=suggestion
-resharper_replace_with_of_type_last_2_highlighting=suggestion
-resharper_replace_with_of_type_last_or_default_1_highlighting=suggestion
-resharper_replace_with_of_type_last_or_default_2_highlighting=suggestion
-resharper_replace_with_of_type_long_count_highlighting=suggestion
-resharper_replace_with_of_type_single_1_highlighting=suggestion
-resharper_replace_with_of_type_single_2_highlighting=suggestion
-resharper_replace_with_of_type_single_or_default_1_highlighting=suggestion
-resharper_replace_with_of_type_single_or_default_2_highlighting=suggestion
-resharper_replace_with_of_type_where_highlighting=suggestion
-resharper_replace_with_simple_assignment_false_highlighting=suggestion
-resharper_replace_with_simple_assignment_true_highlighting=suggestion
-resharper_replace_with_single_assignment_false_highlighting=suggestion
-resharper_replace_with_single_assignment_true_highlighting=suggestion
-resharper_replace_with_single_call_to_any_highlighting=suggestion
-resharper_replace_with_single_call_to_count_highlighting=suggestion
-resharper_replace_with_single_call_to_first_highlighting=suggestion
-resharper_replace_with_single_call_to_first_or_default_highlighting=suggestion
-resharper_replace_with_single_call_to_last_highlighting=suggestion
-resharper_replace_with_single_call_to_last_or_default_highlighting=suggestion
-resharper_replace_with_single_call_to_single_highlighting=suggestion
-resharper_replace_with_single_call_to_single_or_default_highlighting=suggestion
-resharper_replace_with_single_or_default_1_highlighting=suggestion
-resharper_replace_with_single_or_default_2_highlighting=suggestion
-resharper_replace_with_single_or_default_3_highlighting=suggestion
-resharper_replace_with_single_or_default_4_highlighting=suggestion
-resharper_replace_with_string_is_null_or_empty_highlighting=suggestion
-resharper_required_base_types_conflict_highlighting=warning
-resharper_required_base_types_direct_conflict_highlighting=warning
-resharper_required_base_types_is_not_inherited_highlighting=warning
-resharper_requires_fallback_color_highlighting=warning
-resharper_resource_item_not_resolved_highlighting=error
-resharper_resource_not_resolved_highlighting=error
-resharper_resx_not_resolved_highlighting=warning
-resharper_return_from_global_scopet_with_value_highlighting=warning
-resharper_return_type_can_be_enumerable_global_highlighting=hint
-resharper_return_type_can_be_enumerable_local_highlighting=hint
-resharper_return_type_can_be_not_nullable_highlighting=warning
-resharper_return_value_of_pure_method_is_not_used_highlighting=warning
-resharper_route_templates_action_route_prefix_can_be_extracted_to_controller_route_highlighting=hint
-resharper_route_templates_ambiguous_matching_constraint_constructor_highlighting=warning
-resharper_route_templates_ambiguous_route_match_highlighting=warning
-resharper_route_templates_constraint_argument_cannot_be_converted_highlighting=warning
-resharper_route_templates_controller_route_parameter_is_not_passed_to_methods_highlighting=hint
-resharper_route_templates_duplicated_parameter_highlighting=warning
-resharper_route_templates_matching_constraint_constructor_not_resolved_highlighting=warning
-resharper_route_templates_method_missing_route_parameters_highlighting=hint
-resharper_route_templates_optional_parameter_can_be_preceded_only_by_single_period_highlighting=warning
-resharper_route_templates_optional_parameter_must_be_at_the_end_of_segment_highlighting=warning
-resharper_route_templates_parameter_constraint_can_be_specified_highlighting=hint
-resharper_route_templates_parameter_type_and_constraints_mismatch_highlighting=warning
-resharper_route_templates_parameter_type_can_be_made_stricter_highlighting=suggestion
-resharper_route_templates_route_parameter_constraint_not_resolved_highlighting=warning
-resharper_route_templates_route_parameter_is_not_passed_to_method_highlighting=hint
-resharper_route_templates_route_token_not_resolved_highlighting=warning
-resharper_route_templates_symbol_not_resolved_highlighting=warning
-resharper_route_templates_syntax_error_highlighting=warning
-resharper_safe_cast_is_used_as_type_check_highlighting=suggestion
-resharper_same_imports_with_different_name_highlighting=warning
-resharper_same_variable_assignment_highlighting=warning
-resharper_script_tag_has_both_src_and_content_attributes_highlighting=error
-resharper_script_tag_with_content_before_includes_highlighting=hint
-resharper_sealed_member_in_sealed_class_highlighting=warning
-resharper_separate_control_transfer_statement_highlighting=none
-resharper_service_contract_without_operations_highlighting=warning
-resharper_shift_expression_real_shift_count_is_zero_highlighting=warning
-resharper_shift_expression_result_equals_zero_highlighting=warning
-resharper_shift_expression_right_operand_not_equal_real_count_highlighting=warning
-resharper_shift_expression_zero_left_operand_highlighting=warning
-resharper_similar_anonymous_type_nearby_highlighting=hint
-resharper_similar_expressions_comparison_highlighting=warning
-resharper_simplify_conditional_operator_highlighting=suggestion
-resharper_simplify_conditional_ternary_expression_highlighting=suggestion
-resharper_simplify_i_if_highlighting=suggestion
-resharper_simplify_linq_expression_use_all_highlighting=suggestion
-resharper_simplify_linq_expression_use_any_highlighting=suggestion
-resharper_simplify_string_interpolation_highlighting=suggestion
-resharper_specify_a_culture_in_string_conversion_explicitly_highlighting=warning
-resharper_specify_string_comparison_highlighting=hint
-resharper_specify_variable_type_explicitly_highlighting=hint
-resharper_spin_lock_in_readonly_field_highlighting=warning
-resharper_stack_alloc_inside_loop_highlighting=warning
-resharper_statement_termination_highlighting=warning
-resharper_static_member_initializer_referes_to_member_below_highlighting=warning
-resharper_static_member_in_generic_type_highlighting=none
-resharper_static_problem_in_text_highlighting=warning
-resharper_string_compare_is_culture_specific_1_highlighting=warning
-resharper_string_compare_is_culture_specific_2_highlighting=warning
-resharper_string_compare_is_culture_specific_3_highlighting=warning
-resharper_string_compare_is_culture_specific_4_highlighting=warning
-resharper_string_compare_is_culture_specific_5_highlighting=warning
-resharper_string_compare_is_culture_specific_6_highlighting=warning
-resharper_string_compare_to_is_culture_specific_highlighting=warning
-resharper_string_concatenation_to_template_string_highlighting=hint
-resharper_string_ends_with_is_culture_specific_highlighting=none
-resharper_string_index_of_is_culture_specific_1_highlighting=warning
-resharper_string_index_of_is_culture_specific_2_highlighting=warning
-resharper_string_index_of_is_culture_specific_3_highlighting=warning
-resharper_string_last_index_of_is_culture_specific_1_highlighting=warning
-resharper_string_last_index_of_is_culture_specific_2_highlighting=warning
-resharper_string_last_index_of_is_culture_specific_3_highlighting=warning
-resharper_string_literal_as_interpolation_argument_highlighting=suggestion
-resharper_string_literal_typo_highlighting=suggestion
-resharper_string_literal_wrong_quotes_highlighting=hint
-resharper_string_starts_with_is_culture_specific_highlighting=none
-resharper_structured_message_template_problem_highlighting=warning
-resharper_struct_can_be_made_read_only_highlighting=suggestion
-resharper_struct_member_can_be_made_read_only_highlighting=none
-resharper_suggest_base_type_for_parameter_highlighting=hint
-resharper_suggest_base_type_for_parameter_in_constructor_highlighting=hint
-resharper_suggest_discard_declaration_var_style_highlighting=hint
-resharper_suggest_var_or_type_built_in_types_highlighting=hint
-resharper_suggest_var_or_type_deconstruction_declarations_highlighting=hint
-resharper_suggest_var_or_type_elsewhere_highlighting=hint
-resharper_suggest_var_or_type_simple_types_highlighting=hint
-resharper_super_call_highlighting=suggestion
-resharper_super_call_prohibits_this_highlighting=error
-resharper_suppress_nullable_warning_expression_as_inverted_is_expression_highlighting=warning
-resharper_suspicious_instanceof_check_highlighting=warning
-resharper_suspicious_lambda_block_highlighting=warning
-resharper_suspicious_lock_over_synchronization_primitive_highlighting=warning
-resharper_suspicious_math_sign_method_highlighting=warning
-resharper_suspicious_parameter_name_in_argument_null_exception_highlighting=warning
-resharper_suspicious_this_usage_highlighting=warning
-resharper_suspicious_typeof_check_highlighting=warning
-resharper_suspicious_type_conversion_global_highlighting=warning
-resharper_swap_via_deconstruction_highlighting=suggestion
-resharper_switch_expression_handles_some_known_enum_values_with_exception_in_default_highlighting=hint
-resharper_switch_statement_for_enum_misses_default_section_highlighting=hint
-resharper_switch_statement_handles_some_known_enum_values_with_default_highlighting=hint
-resharper_switch_statement_missing_some_enum_cases_no_default_highlighting=none
-resharper_symbol_from_not_copied_locally_reference_used_warning_highlighting=warning
-resharper_syntax_is_not_allowed_highlighting=warning
-resharper_tabs_and_spaces_mismatch_highlighting=none
-resharper_tabs_are_disallowed_highlighting=none
-resharper_tabs_outside_indent_highlighting=none
-resharper_tail_recursive_call_highlighting=hint
-resharper_tasks_not_loaded_highlighting=warning
-resharper_ternary_can_be_replaced_by_its_condition_highlighting=warning
-resharper_this_in_global_context_highlighting=warning
-resharper_thread_static_at_instance_field_highlighting=warning
-resharper_thread_static_field_has_initializer_highlighting=warning
-resharper_throw_must_be_followed_by_expression_highlighting=error
-resharper_too_wide_local_variable_scope_highlighting=suggestion
-resharper_try_cast_always_succeeds_highlighting=suggestion
-resharper_try_statements_can_be_merged_highlighting=hint
-resharper_ts_not_resolved_highlighting=error
-resharper_ts_resolved_from_inaccessible_module_highlighting=error
-resharper_type_guard_doesnt_affect_anything_highlighting=warning
-resharper_type_guard_produces_never_type_highlighting=warning
-resharper_type_parameter_can_be_variant_highlighting=suggestion
-resharper_type_parameter_hides_type_param_from_outer_scope_highlighting=warning
-resharper_ul_tag_contains_non_li_elements_highlighting=hint
-resharper_unassigned_field_global_highlighting=suggestion
-resharper_unassigned_field_local_highlighting=warning
-resharper_unassigned_get_only_auto_property_highlighting=warning
-resharper_unassigned_readonly_field_highlighting=warning
-resharper_unclosed_script_highlighting=error
-resharper_undeclared_global_variable_using_highlighting=warning
-resharper_unexpected_value_highlighting=error
-resharper_unknown_css_class_highlighting=warning
-resharper_unknown_css_variable_highlighting=warning
-resharper_unknown_css_vendor_extension_highlighting=hint
-resharper_unknown_item_group_highlighting=warning
-resharper_unknown_metadata_highlighting=warning
-resharper_unknown_output_parameter_highlighting=warning
-resharper_unknown_property_highlighting=warning
-resharper_unknown_target_highlighting=warning
-resharper_unknown_task_attribute_highlighting=warning
-resharper_unknown_task_highlighting=warning
-resharper_unnecessary_whitespace_highlighting=none
-resharper_unreachable_switch_arm_due_to_integer_analysis_highlighting=warning
-resharper_unreachable_switch_case_due_to_integer_analysis_highlighting=warning
-resharper_unreal_header_tool_error_highlighting=error
-resharper_unreal_header_tool_parser_error_highlighting=error
-resharper_unreal_header_tool_warning_highlighting=warning
-resharper_unsafe_comma_in_object_properties_list_highlighting=warning
-resharper_unsupported_required_base_type_highlighting=warning
-resharper_unused_anonymous_method_signature_highlighting=warning
-resharper_unused_auto_property_accessor_global_highlighting=warning
-resharper_unused_auto_property_accessor_local_highlighting=warning
-resharper_unused_import_clause_highlighting=warning
-resharper_unused_inherited_parameter_highlighting=hint
-resharper_unused_locals_highlighting=warning
-resharper_unused_local_function_highlighting=warning
-resharper_unused_local_function_parameter_highlighting=warning
-resharper_unused_local_function_return_value_highlighting=warning
-resharper_unused_local_import_highlighting=warning
-resharper_unused_member_global_highlighting=suggestion
-resharper_unused_member_hierarchy_global_highlighting=suggestion
-resharper_unused_member_hierarchy_local_highlighting=warning
-resharper_unused_member_in_super_global_highlighting=suggestion
-resharper_unused_member_in_super_local_highlighting=warning
-resharper_unused_member_local_highlighting=warning
-resharper_unused_method_return_value_global_highlighting=suggestion
-resharper_unused_method_return_value_local_highlighting=warning
-resharper_unused_parameter_global_highlighting=suggestion
-resharper_unused_parameter_highlighting=warning
-resharper_unused_parameter_in_partial_method_highlighting=warning
-resharper_unused_parameter_local_highlighting=warning
-resharper_unused_property_highlighting=warning
-resharper_unused_tuple_component_in_return_value_highlighting=warning
-resharper_unused_type_global_highlighting=suggestion
-resharper_unused_type_local_highlighting=warning
-resharper_unused_type_parameter_highlighting=warning
-resharper_unused_variable_highlighting=warning
-resharper_usage_of_definitely_unassigned_value_highlighting=warning
-resharper_usage_of_possibly_unassigned_value_highlighting=warning
-resharper_useless_binary_operation_highlighting=warning
-resharper_useless_comparison_to_integral_constant_highlighting=warning
-resharper_use_array_creation_expression_1_highlighting=suggestion
-resharper_use_array_creation_expression_2_highlighting=suggestion
-resharper_use_array_empty_method_highlighting=suggestion
-resharper_use_as_instead_of_type_cast_highlighting=hint
-resharper_use_await_using_highlighting=suggestion
-resharper_use_cancellation_token_for_i_async_enumerable_highlighting=suggestion
-resharper_use_collection_count_property_highlighting=suggestion
-resharper_use_configure_await_false_for_async_disposable_highlighting=none
-resharper_use_configure_await_false_highlighting=suggestion
-resharper_use_deconstruction_highlighting=hint
-resharper_use_deconstruction_on_parameter_highlighting=hint
-resharper_use_empty_types_field_highlighting=suggestion
-resharper_use_event_args_empty_field_highlighting=suggestion
-resharper_use_format_specifier_in_format_string_highlighting=suggestion
-resharper_use_implicitly_typed_variable_evident_highlighting=hint
-resharper_use_implicitly_typed_variable_highlighting=none
-resharper_use_implicit_by_val_modifier_highlighting=hint
-resharper_use_indexed_property_highlighting=suggestion
-resharper_use_index_from_end_expression_highlighting=suggestion
-resharper_use_is_operator_1_highlighting=suggestion
-resharper_use_is_operator_2_highlighting=suggestion
-resharper_use_method_any_0_highlighting=suggestion
-resharper_use_method_any_1_highlighting=suggestion
-resharper_use_method_any_2_highlighting=suggestion
-resharper_use_method_any_3_highlighting=suggestion
-resharper_use_method_any_4_highlighting=suggestion
-resharper_use_method_is_instance_of_type_highlighting=suggestion
-resharper_use_nameof_expression_for_part_of_the_string_highlighting=none
-resharper_use_nameof_expression_highlighting=suggestion
-resharper_use_name_of_instead_of_type_of_highlighting=suggestion
-resharper_use_negated_pattern_in_is_expression_highlighting=hint
-resharper_use_negated_pattern_matching_highlighting=hint
-resharper_use_nullable_annotation_instead_of_attribute_highlighting=suggestion
-resharper_use_nullable_attributes_supported_by_compiler_highlighting=suggestion
-resharper_use_nullable_reference_types_annotation_syntax_highlighting=warning
-resharper_use_null_propagation_highlighting=hint
-resharper_use_null_propagation_when_possible_highlighting=none
-resharper_use_object_or_collection_initializer_highlighting=suggestion
-resharper_use_of_implicit_global_in_function_scope_highlighting=warning
-resharper_use_of_possibly_unassigned_property_highlighting=warning
-resharper_use_pattern_matching_highlighting=suggestion
-resharper_use_positional_deconstruction_pattern_highlighting=none
-resharper_use_string_interpolation_highlighting=suggestion
-resharper_use_switch_case_pattern_variable_highlighting=suggestion
-resharper_use_throw_if_null_method_highlighting=none
-resharper_use_verbatim_string_highlighting=hint
-resharper_using_of_reserved_word_error_highlighting=error
-resharper_using_of_reserved_word_highlighting=warning
-resharper_value_parameter_not_used_highlighting=warning
-resharper_value_range_attribute_violation_highlighting=warning
-resharper_value_should_have_units_highlighting=error
-resharper_variable_can_be_made_const_highlighting=hint
-resharper_variable_can_be_made_let_highlighting=hint
-resharper_variable_can_be_moved_to_inner_block_highlighting=hint
-resharper_variable_can_be_not_nullable_highlighting=warning
-resharper_variable_hides_outer_variable_highlighting=warning
-resharper_variable_used_before_declared_highlighting=warning
-resharper_variable_used_in_inner_scope_before_declared_highlighting=warning
-resharper_variable_used_out_of_scope_highlighting=warning
-resharper_vb_check_for_reference_equality_instead_1_highlighting=suggestion
-resharper_vb_check_for_reference_equality_instead_2_highlighting=suggestion
-resharper_vb_possible_mistaken_argument_highlighting=warning
-resharper_vb_possible_mistaken_call_to_get_type_1_highlighting=warning
-resharper_vb_possible_mistaken_call_to_get_type_2_highlighting=warning
-resharper_vb_remove_to_list_1_highlighting=suggestion
-resharper_vb_remove_to_list_2_highlighting=suggestion
-resharper_vb_replace_with_first_or_default_highlighting=suggestion
-resharper_vb_replace_with_last_or_default_highlighting=suggestion
-resharper_vb_replace_with_of_type_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_any_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_any_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_count_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_count_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_first_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_first_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_first_or_default_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_first_or_default_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_last_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_last_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_last_or_default_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_last_or_default_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_single_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_single_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_single_or_default_1_highlighting=suggestion
-resharper_vb_replace_with_of_type_single_or_default_2_highlighting=suggestion
-resharper_vb_replace_with_of_type_where_highlighting=suggestion
-resharper_vb_replace_with_single_assignment_1_highlighting=suggestion
-resharper_vb_replace_with_single_assignment_2_highlighting=suggestion
-resharper_vb_replace_with_single_call_to_any_highlighting=suggestion
-resharper_vb_replace_with_single_call_to_count_highlighting=suggestion
-resharper_vb_replace_with_single_call_to_first_highlighting=suggestion
-resharper_vb_replace_with_single_call_to_first_or_default_highlighting=suggestion
-resharper_vb_replace_with_single_call_to_last_highlighting=suggestion
-resharper_vb_replace_with_single_call_to_last_or_default_highlighting=suggestion
-resharper_vb_replace_with_single_call_to_single_highlighting=suggestion
-resharper_vb_replace_with_single_call_to_single_or_default_highlighting=suggestion
-resharper_vb_replace_with_single_or_default_highlighting=suggestion
-resharper_vb_simplify_linq_expression_10_highlighting=hint
-resharper_vb_simplify_linq_expression_1_highlighting=suggestion
-resharper_vb_simplify_linq_expression_2_highlighting=suggestion
-resharper_vb_simplify_linq_expression_3_highlighting=suggestion
-resharper_vb_simplify_linq_expression_4_highlighting=suggestion
-resharper_vb_simplify_linq_expression_5_highlighting=suggestion
-resharper_vb_simplify_linq_expression_6_highlighting=suggestion
-resharper_vb_simplify_linq_expression_7_highlighting=hint
-resharper_vb_simplify_linq_expression_8_highlighting=hint
-resharper_vb_simplify_linq_expression_9_highlighting=hint
-resharper_vb_string_compare_is_culture_specific_1_highlighting=warning
-resharper_vb_string_compare_is_culture_specific_2_highlighting=warning
-resharper_vb_string_compare_is_culture_specific_3_highlighting=warning
-resharper_vb_string_compare_is_culture_specific_4_highlighting=warning
-resharper_vb_string_compare_is_culture_specific_5_highlighting=warning
-resharper_vb_string_compare_is_culture_specific_6_highlighting=warning
-resharper_vb_string_compare_to_is_culture_specific_highlighting=warning
-resharper_vb_string_ends_with_is_culture_specific_highlighting=none
-resharper_vb_string_index_of_is_culture_specific_1_highlighting=warning
-resharper_vb_string_index_of_is_culture_specific_2_highlighting=warning
-resharper_vb_string_index_of_is_culture_specific_3_highlighting=warning
-resharper_vb_string_last_index_of_is_culture_specific_1_highlighting=warning
-resharper_vb_string_last_index_of_is_culture_specific_2_highlighting=warning
-resharper_vb_string_last_index_of_is_culture_specific_3_highlighting=warning
-resharper_vb_string_starts_with_is_culture_specific_highlighting=none
-resharper_vb_unreachable_code_highlighting=warning
-resharper_vb_use_array_creation_expression_1_highlighting=suggestion
-resharper_vb_use_array_creation_expression_2_highlighting=suggestion
-resharper_vb_use_first_instead_highlighting=warning
-resharper_vb_use_method_any_1_highlighting=suggestion
-resharper_vb_use_method_any_2_highlighting=suggestion
-resharper_vb_use_method_any_3_highlighting=suggestion
-resharper_vb_use_method_any_4_highlighting=suggestion
-resharper_vb_use_method_any_5_highlighting=suggestion
-resharper_vb_use_method_is_instance_of_type_highlighting=suggestion
-resharper_vb_use_type_of_is_operator_1_highlighting=suggestion
-resharper_vb_use_type_of_is_operator_2_highlighting=suggestion
-resharper_virtual_member_call_in_constructor_highlighting=warning
-resharper_virtual_member_never_overridden_global_highlighting=suggestion
-resharper_virtual_member_never_overridden_local_highlighting=suggestion
-resharper_void_method_with_must_use_return_value_attribute_highlighting=warning
-resharper_web_config_module_not_resolved_highlighting=error
-resharper_web_config_module_qualification_resolve_highlighting=warning
-resharper_web_config_redundant_add_namespace_tag_highlighting=warning
-resharper_web_config_redundant_location_tag_highlighting=warning
-resharper_web_config_tag_prefix_redundand_highlighting=warning
-resharper_web_config_type_not_resolved_highlighting=error
-resharper_web_config_unused_add_tag_highlighting=warning
-resharper_web_config_unused_element_due_to_config_source_attribute_highlighting=warning
-resharper_web_config_unused_remove_or_clear_tag_highlighting=warning
-resharper_web_config_web_config_path_warning_highlighting=warning
-resharper_web_config_wrong_module_highlighting=error
-resharper_web_ignored_path_highlighting=none
-resharper_web_mapped_path_highlighting=hint
-resharper_with_expression_instead_of_initializer_highlighting=suggestion
-resharper_with_statement_using_error_highlighting=error
-resharper_wrong_expression_statement_highlighting=warning
-resharper_wrong_indent_size_highlighting=none
-resharper_wrong_metadata_use_highlighting=none
-resharper_wrong_public_modifier_specification_highlighting=hint
-resharper_wrong_require_relative_path_highlighting=hint
-resharper_xaml_assign_null_to_not_null_attribute_highlighting=warning
-resharper_xaml_avalonia_wrong_binding_mode_for_stream_binding_operator_highlighting=warning
-resharper_xaml_binding_without_context_not_resolved_highlighting=hint
-resharper_xaml_binding_with_context_not_resolved_highlighting=warning
-resharper_xaml_compiled_binding_missing_data_type_error_highlighting_highlighting=error
-resharper_xaml_constructor_warning_highlighting=warning
-resharper_xaml_decimal_parsing_is_culture_dependent_highlighting=warning
-resharper_xaml_dependency_property_resolve_error_highlighting=warning
-resharper_xaml_duplicate_style_setter_highlighting=warning
-resharper_xaml_dynamic_resource_error_highlighting=error
-resharper_xaml_element_name_reference_not_resolved_highlighting=error
-resharper_xaml_empty_grid_length_definition_highlighting=error
-resharper_xaml_grid_definitions_can_be_converted_to_attribute_highlighting=hint
-resharper_xaml_ignored_path_highlighting_highlighting=none
-resharper_xaml_index_out_of_grid_definition_highlighting=warning
-resharper_xaml_invalid_member_type_highlighting=error
-resharper_xaml_invalid_resource_target_type_highlighting=error
-resharper_xaml_invalid_resource_type_highlighting=error
-resharper_xaml_invalid_type_highlighting=error
-resharper_xaml_language_level_highlighting=error
-resharper_xaml_mapped_path_highlighting_highlighting=hint
-resharper_xaml_method_arguments_will_be_ignored_highlighting=warning
-resharper_xaml_missing_grid_index_highlighting=warning
-resharper_xaml_overloads_collision_highlighting=warning
-resharper_xaml_parent_is_out_of_current_component_tree_highlighting=warning
-resharper_xaml_path_error_highlighting=warning
-resharper_xaml_possible_null_reference_exception_highlighting=suggestion
-resharper_xaml_redundant_attached_property_highlighting=warning
-resharper_xaml_redundant_binding_mode_attribute_highlighting=warning
-resharper_xaml_redundant_collection_property_highlighting=warning
-resharper_xaml_redundant_freeze_attribute_highlighting=warning
-resharper_xaml_redundant_grid_definitions_highlighting=warning
-resharper_xaml_redundant_grid_span_highlighting=warning
-resharper_xaml_redundant_modifiers_attribute_highlighting=warning
-resharper_xaml_redundant_namespace_alias_highlighting=warning
-resharper_xaml_redundant_name_attribute_highlighting=warning
-resharper_xaml_redundant_property_type_qualifier_highlighting=warning
-resharper_xaml_redundant_resource_highlighting=warning
-resharper_xaml_redundant_styled_value_highlighting=warning
-resharper_xaml_redundant_update_source_trigger_attribute_highlighting=warning
-resharper_xaml_redundant_xamarin_forms_class_declaration_highlighting=warning
-resharper_xaml_resource_file_path_case_mismatch_highlighting=warning
-resharper_xaml_routed_event_resolve_error_highlighting=warning
-resharper_xaml_static_resource_not_resolved_highlighting=warning
-resharper_xaml_style_class_not_found_highlighting=warning
-resharper_xaml_style_invalid_target_type_highlighting=error
-resharper_xaml_unexpected_text_token_highlighting=error
-resharper_xaml_xaml_duplicate_device_family_type_view_highlighting_highlighting=error
-resharper_xaml_xaml_mismatched_device_family_view_clr_name_highlighting_highlighting=warning
-resharper_xaml_xaml_relative_source_default_mode_warning_highlighting_highlighting=warning
-resharper_xaml_xaml_unknown_device_family_type_highlighting_highlighting=warning
-resharper_xaml_xaml_xamarin_forms_data_type_and_binding_context_type_mismatched_highlighting_highlighting=warning
-resharper_xaml_x_key_attribute_disallowed_highlighting=error
-resharper_xml_doc_comment_syntax_problem_highlighting=warning
-resharper_xunit_xunit_test_with_console_output_highlighting=warning
-
-# Standard properties
-end_of_line= crlf
-csharp_indent_labels = one_less_than_current
-csharp_prefer_simple_using_statement = true:suggestion
-csharp_prefer_braces = true:silent
-csharp_style_prefer_method_group_conversion = true:silent
-csharp_style_expression_bodied_methods = false:silent
-csharp_style_expression_bodied_constructors = false:silent
-csharp_style_expression_bodied_operators = false:silent
-csharp_style_expression_bodied_properties = true:silent
-csharp_style_expression_bodied_indexers = true:silent
-csharp_style_expression_bodied_accessors = true:silent
-csharp_style_expression_bodied_lambdas = true:silent
-csharp_style_expression_bodied_local_functions = false:silent
-csharp_style_throw_expression = true:suggestion
-csharp_style_prefer_null_check_over_type_check = true:suggestion
-csharp_prefer_simple_default_expression = true:suggestion
-csharp_style_prefer_local_over_anonymous_function = true:suggestion
-csharp_style_prefer_index_operator = true:suggestion
-csharp_style_prefer_range_operator = true:suggestion
-csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
-csharp_style_prefer_tuple_swap = true:suggestion
-csharp_style_inlined_variable_declaration = true:suggestion
-
-[*.{cshtml,htm,html,proto,razor}]
-indent_style=tab
-indent_size=tab
-tab_width=4
-
-[*.{asax,ascx,aspx,axaml,c,c++,cc,cginc,compute,cp,cpp,cs,css,cu,cuh,cxx,h,hh,hlsl,hlsli,hlslinc,hpp,hxx,inc,inl,ino,ipp,js,jsx,master,mpp,mq4,mq5,mqh,paml,skin,tpp,ts,tsx,usf,ush,vb,xaml,xamlx,xoml}]
-indent_style=space
-indent_size=4
-tab_width=4
-
-[*.{appxmanifest,asax,ascx,aspx,axaml,axml,build,c,c++,cc,cginc,compute,config,cp,cpp,cs,cshtml,csproj,css,cu,cuh,cxx,dbml,discomap,dtd,h,hh,hlsl,hlsli,hlslinc,hpp,htm,html,hxx,inc,inl,ino,ipp,js,json,jsproj,jsx,lsproj,master,mpp,mq4,mq5,mqh,njsproj,nuspec,paml,proj,props,proto,razor,resjson,resw,resx,skin,StyleCop,targets,tasks,tpp,ts,tsx,usf,ush,vb,vbproj,xaml,xamlx,xml,xoml,xsd}]
-indent_style=space
-indent_size= 4
-tab_width= 4
-dotnet_style_operator_placement_when_wrapping = beginning_of_line
-dotnet_style_coalesce_expression = true:suggestion
-dotnet_style_null_propagation = true:suggestion
-dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
-dotnet_style_prefer_auto_properties = true:silent
-dotnet_style_object_initializer = true:suggestion
-dotnet_style_collection_initializer = true:suggestion
-dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
-dotnet_style_prefer_conditional_expression_over_assignment = true:silent
-dotnet_style_prefer_conditional_expression_over_return = true:silent
-dotnet_style_explicit_tuple_names = true:suggestion
-dotnet_style_prefer_inferred_tuple_names = true:suggestion
-dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
-dotnet_style_prefer_compound_assignment = true:suggestion
-dotnet_style_prefer_simplified_interpolation = true:suggestion
-dotnet_style_namespace_match_folder = true:suggestion
diff --git a/Penumbra.GameData/Actors/ActorIdentifier.cs b/Penumbra.GameData/Actors/ActorIdentifier.cs
deleted file mode 100644
index e0a653d8..00000000
--- a/Penumbra.GameData/Actors/ActorIdentifier.cs
+++ /dev/null
@@ -1,222 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.InteropServices;
-using Dalamud.Game.ClientState.Objects.Enums;
-using Newtonsoft.Json.Linq;
-using Penumbra.String;
-
-namespace Penumbra.GameData.Actors;
-
-[StructLayout(LayoutKind.Explicit)]
-public readonly struct ActorIdentifier : IEquatable
-{
- public static ActorManager? Manager;
-
- public static readonly ActorIdentifier Invalid = new(IdentifierType.Invalid, 0, 0, 0, ByteString.Empty);
-
- public enum RetainerType : ushort
- {
- Both = 0,
- Bell = 1,
- Mannequin = 2,
- }
-
- // @formatter:off
- [FieldOffset( 0 )] public readonly IdentifierType Type; // All
- [FieldOffset( 1 )] public readonly ObjectKind Kind; // Npc, Owned
- [FieldOffset( 2 )] public readonly ushort HomeWorld; // Player, Owned
- [FieldOffset( 2 )] public readonly ushort Index; // NPC
- [FieldOffset( 2 )] public readonly RetainerType Retainer; // Retainer
- [FieldOffset( 2 )] public readonly ScreenActor Special; // Special
- [FieldOffset( 4 )] public readonly uint DataId; // Owned, NPC
- [FieldOffset( 8 )] public readonly ByteString PlayerName; // Player, Owned
- // @formatter:on
-
- public ActorIdentifier CreatePermanent()
- => new(Type, Kind, Index, DataId, PlayerName.IsEmpty || PlayerName.IsOwned ? PlayerName : PlayerName.Clone());
-
- public bool Equals(ActorIdentifier other)
- {
- if (Type != other.Type)
- return false;
-
- return Type switch
- {
- IdentifierType.Player => HomeWorld == other.HomeWorld && PlayerName.EqualsCi(other.PlayerName),
- IdentifierType.Retainer => PlayerName.EqualsCi(other.PlayerName),
- IdentifierType.Owned => HomeWorld == other.HomeWorld && PlayerName.EqualsCi(other.PlayerName) && Manager.DataIdEquals(this, other),
- IdentifierType.Special => Special == other.Special,
- IdentifierType.Npc => Manager.DataIdEquals(this, other)
- && (Index == other.Index || Index == ushort.MaxValue || other.Index == ushort.MaxValue),
- IdentifierType.UnkObject => PlayerName.EqualsCi(other.PlayerName) && Index == other.Index,
- _ => false,
- };
- }
-
- public override bool Equals(object? obj)
- => obj is ActorIdentifier other && Equals(other);
-
- public static bool operator ==(ActorIdentifier lhs, ActorIdentifier rhs)
- => lhs.Equals(rhs);
-
- public static bool operator !=(ActorIdentifier lhs, ActorIdentifier rhs)
- => !lhs.Equals(rhs);
-
- public bool IsValid
- => Type is not (IdentifierType.UnkObject or IdentifierType.Invalid);
-
- public string Incognito(string? name)
- {
- name ??= ToString();
- if (Type is not (IdentifierType.Player or IdentifierType.Owned))
- return name;
-
- var parts = name.Split(' ', 3);
- return string.Join(" ",
- parts.Length != 3 ? parts.Select(n => $"{n[0]}.") : parts[..2].Select(n => $"{n[0]}.").Append(parts[2]));
- }
-
- public override string ToString()
- => Manager?.ToString(this)
- ?? Type switch
- {
- IdentifierType.Player => $"{PlayerName} ({HomeWorld})",
- IdentifierType.Retainer => $"{PlayerName} (Retainer)",
- IdentifierType.Owned => $"{PlayerName}s {Kind.ToName()} {DataId} ({HomeWorld})",
- IdentifierType.Special => Special.ToName(),
- IdentifierType.Npc =>
- Index == ushort.MaxValue
- ? $"{Kind.ToName()} #{DataId}"
- : $"{Kind.ToName()} #{DataId} at {Index}",
- IdentifierType.UnkObject => PlayerName.IsEmpty
- ? $"Unknown Object at {Index}"
- : $"{PlayerName} at {Index}",
- _ => "Invalid",
- };
-
- public override int GetHashCode()
- => Type switch
- {
- IdentifierType.Player => HashCode.Combine(IdentifierType.Player, PlayerName, HomeWorld),
- IdentifierType.Retainer => HashCode.Combine(IdentifierType.Player, PlayerName),
- IdentifierType.Owned => HashCode.Combine(IdentifierType.Owned, Kind, PlayerName, HomeWorld, DataId),
- IdentifierType.Special => HashCode.Combine(IdentifierType.Special, Special),
- IdentifierType.Npc => HashCode.Combine(IdentifierType.Npc, Kind, DataId),
- IdentifierType.UnkObject => HashCode.Combine(IdentifierType.UnkObject, PlayerName, Index),
- _ => 0,
- };
-
- internal ActorIdentifier(IdentifierType type, ObjectKind kind, ushort index, uint data, ByteString playerName)
- {
- Type = type;
- Kind = kind;
- Special = (ScreenActor)index;
- HomeWorld = Index = index;
- DataId = data;
- PlayerName = playerName;
- }
-
- public JObject ToJson()
- {
- var ret = new JObject { { nameof(Type), Type.ToString() } };
- switch (Type)
- {
- case IdentifierType.Player:
- ret.Add(nameof(PlayerName), PlayerName.ToString());
- ret.Add(nameof(HomeWorld), HomeWorld);
- return ret;
- case IdentifierType.Retainer:
- ret.Add(nameof(PlayerName), PlayerName.ToString());
- return ret;
- case IdentifierType.Owned:
- ret.Add(nameof(PlayerName), PlayerName.ToString());
- ret.Add(nameof(HomeWorld), HomeWorld);
- ret.Add(nameof(Kind), Kind.ToString());
- ret.Add(nameof(DataId), DataId);
- return ret;
- case IdentifierType.Special:
- ret.Add(nameof(Special), Special.ToString());
- return ret;
- case IdentifierType.Npc:
- ret.Add(nameof(Kind), Kind.ToString());
- if (Index != ushort.MaxValue)
- ret.Add(nameof(Index), Index);
- ret.Add(nameof(DataId), DataId);
- return ret;
- case IdentifierType.UnkObject:
- ret.Add(nameof(PlayerName), PlayerName.ToString());
- ret.Add(nameof(Index), Index);
- return ret;
- }
-
- return ret;
- }
-}
-
-public static class ActorManagerExtensions
-{
- public static bool DataIdEquals(this ActorManager? manager, ActorIdentifier lhs, ActorIdentifier rhs)
- {
- if (lhs.Kind != rhs.Kind)
- return false;
-
- if (lhs.DataId == rhs.DataId)
- return true;
-
- if (manager == null)
- return lhs.Kind == rhs.Kind && lhs.DataId == rhs.DataId || lhs.DataId == uint.MaxValue || rhs.DataId == uint.MaxValue;
-
- var dict = lhs.Kind switch
- {
- ObjectKind.MountType => manager.Data.Mounts,
- ObjectKind.Companion => manager.Data.Companions,
- (ObjectKind)15 => manager.Data.Ornaments, // TODO: CS Update
- ObjectKind.BattleNpc => manager.Data.BNpcs,
- ObjectKind.EventNpc => manager.Data.ENpcs,
- _ => new Dictionary(),
- };
-
- return dict.TryGetValue(lhs.DataId, out var lhsName)
- && dict.TryGetValue(rhs.DataId, out var rhsName)
- && lhsName.Equals(rhsName, StringComparison.OrdinalIgnoreCase);
- }
-
- public static string ToName(this ObjectKind kind)
- => kind switch
- {
- ObjectKind.None => "Unknown",
- ObjectKind.BattleNpc => "Battle NPC",
- ObjectKind.EventNpc => "Event NPC",
- ObjectKind.MountType => "Mount",
- ObjectKind.Companion => "Companion",
- (ObjectKind)15 => "Accessory", // TODO: CS update
- _ => kind.ToString(),
- };
-
- public static string ToName(this IdentifierType type)
- => type switch
- {
- IdentifierType.Player => "Player",
- IdentifierType.Retainer => "Retainer (Bell)",
- IdentifierType.Owned => "Owned NPC",
- IdentifierType.Special => "Special Actor",
- IdentifierType.Npc => "NPC",
- IdentifierType.UnkObject => "Unknown Object",
- _ => "Invalid",
- };
-
- ///
- /// Fixed names for special actors.
- ///
- public static string ToName(this ScreenActor actor)
- => actor switch
- {
- ScreenActor.CharacterScreen => "Character Screen Actor",
- ScreenActor.ExamineScreen => "Examine Screen Actor",
- ScreenActor.FittingRoom => "Fitting Room Actor",
- ScreenActor.DyePreview => "Dye Preview Actor",
- ScreenActor.Portrait => "Portrait Actor",
- _ => "Invalid",
- };
-}
diff --git a/Penumbra.GameData/Actors/ActorManager.Data.cs b/Penumbra.GameData/Actors/ActorManager.Data.cs
deleted file mode 100644
index e4e5ae57..00000000
--- a/Penumbra.GameData/Actors/ActorManager.Data.cs
+++ /dev/null
@@ -1,406 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using System.Text;
-using Dalamud;
-using Dalamud.Data;
-using Dalamud.Game.ClientState;
-using Dalamud.Game.ClientState.Objects;
-using Dalamud.Game.Gui;
-using Dalamud.Plugin;
-using Dalamud.Utility;
-using Dalamud.Utility.Signatures;
-using FFXIVClientStructs.FFXIV.Client.Game.Object;
-using FFXIVClientStructs.FFXIV.Client.System.Framework;
-using FFXIVClientStructs.FFXIV.Client.UI.Agent;
-using FFXIVClientStructs.FFXIV.Component.GUI;
-using Lumina.Excel.GeneratedSheets;
-using Lumina.Text;
-using Penumbra.GameData.Data;
-using Penumbra.GameData.Structs;
-using Penumbra.String;
-using Character = FFXIVClientStructs.FFXIV.Client.Game.Character.Character;
-using ObjectKind = Dalamud.Game.ClientState.Objects.Enums.ObjectKind;
-
-namespace Penumbra.GameData.Actors;
-
-public sealed partial class ActorManager : IDisposable
-{
- public sealed class ActorManagerData : DataSharer
- {
- /// Worlds available for players.
- public IReadOnlyDictionary Worlds { get; }
-
- /// Valid Mount names in title case by mount id.
- public IReadOnlyDictionary Mounts { get; }
-
- /// Valid Companion names in title case by companion id.
- public IReadOnlyDictionary Companions { get; }
-
- /// Valid ornament names by id.
- public IReadOnlyDictionary Ornaments { get; }
-
- /// Valid BNPC names in title case by BNPC Name id.
- public IReadOnlyDictionary BNpcs { get; }
-
- /// Valid ENPC names in title case by ENPC id.
- public IReadOnlyDictionary ENpcs { get; }
-
- public ActorManagerData(DalamudPluginInterface pluginInterface, DataManager gameData, ClientLanguage language)
- : base(pluginInterface, language, 1)
- {
- var worldTask = TryCatchDataAsync("Worlds", CreateWorldData(gameData));
- var mountsTask = TryCatchDataAsync("Mounts", CreateMountData(gameData));
- var companionsTask = TryCatchDataAsync("Companions", CreateCompanionData(gameData));
- var ornamentsTask = TryCatchDataAsync("Ornaments", CreateOrnamentData(gameData));
- var bNpcsTask = TryCatchDataAsync("BNpcs", CreateBNpcData(gameData));
- var eNpcsTask = TryCatchDataAsync("ENpcs", CreateENpcData(gameData));
-
- Worlds = worldTask.Result;
- Mounts = mountsTask.Result;
- Companions = companionsTask.Result;
- Ornaments = ornamentsTask.Result;
- BNpcs = bNpcsTask.Result;
- ENpcs = eNpcsTask.Result;
- }
-
- ///
- /// Return the world name including the Any World option.
- ///
- public string ToWorldName(ushort worldId)
- => worldId == ushort.MaxValue ? "Any World" : Worlds.TryGetValue(worldId, out var name) ? name : "Invalid";
-
- ///
- /// Return the world id corresponding to the given name.
- ///
- /// ushort.MaxValue if the name is empty, 0 if it is not a valid world, or the worlds id.
- public ushort ToWorldId(string worldName)
- => worldName.Length != 0
- ? Worlds.FirstOrDefault(kvp => string.Equals(kvp.Value, worldName, StringComparison.OrdinalIgnoreCase), default).Key
- : ushort.MaxValue;
-
- ///
- /// Convert a given ID for a certain ObjectKind to a name.
- ///
- /// Invalid or a valid name.
- public string ToName(ObjectKind kind, uint dataId)
- => TryGetName(kind, dataId, out var ret) ? ret : "Invalid";
-
-
- ///
- /// Convert a given ID for a certain ObjectKind to a name.
- ///
- public bool TryGetName(ObjectKind kind, uint dataId, [NotNullWhen(true)] out string? name)
- {
- name = null;
- return kind switch
- {
- ObjectKind.MountType => Mounts.TryGetValue(dataId, out name),
- ObjectKind.Companion => Companions.TryGetValue(dataId, out name),
- (ObjectKind)15 => Ornaments.TryGetValue(dataId, out name), // TODO: CS Update
- ObjectKind.BattleNpc => BNpcs.TryGetValue(dataId, out name),
- ObjectKind.EventNpc => ENpcs.TryGetValue(dataId, out name),
- _ => false,
- };
- }
-
- protected override void DisposeInternal()
- {
- DisposeTag("Worlds");
- DisposeTag("Mounts");
- DisposeTag("Companions");
- DisposeTag("Ornaments");
- DisposeTag("BNpcs");
- DisposeTag("ENpcs");
- }
-
- private Action> CreateWorldData(DataManager gameData)
- => d =>
- {
- foreach (var w in gameData.GetExcelSheet(Language)!.Where(w => w.IsPublic && !w.Name.RawData.IsEmpty))
- d.TryAdd((ushort)w.RowId, string.Intern(w.Name.ToDalamudString().TextValue));
- };
-
- private Action> CreateMountData(DataManager gameData)
- => d =>
- {
- foreach (var m in gameData.GetExcelSheet(Language)!.Where(m => m.Singular.RawData.Length > 0 && m.Order >= 0))
- d.TryAdd(m.RowId, ToTitleCaseExtended(m.Singular, m.Article));
- };
-
- private Action> CreateCompanionData(DataManager gameData)
- => d =>
- {
- foreach (var c in gameData.GetExcelSheet(Language)!.Where(c
- => c.Singular.RawData.Length > 0 && c.Order < ushort.MaxValue))
- d.TryAdd(c.RowId, ToTitleCaseExtended(c.Singular, c.Article));
- };
-
- private Action> CreateOrnamentData(DataManager gameData)
- => d =>
- {
- foreach (var o in gameData.GetExcelSheet(Language)!.Where(o => o.Singular.RawData.Length > 0))
- d.TryAdd(o.RowId, ToTitleCaseExtended(o.Singular, o.Article));
- };
-
- private Action> CreateBNpcData(DataManager gameData)
- => d =>
- {
- foreach (var n in gameData.GetExcelSheet(Language)!.Where(n => n.Singular.RawData.Length > 0))
- d.TryAdd(n.RowId, ToTitleCaseExtended(n.Singular, n.Article));
- };
-
- private Action> CreateENpcData(DataManager gameData)
- => d =>
- {
- foreach (var n in gameData.GetExcelSheet(Language)!.Where(e => e.Singular.RawData.Length > 0))
- d.TryAdd(n.RowId, ToTitleCaseExtended(n.Singular, n.Article));
- };
-
- private static string ToTitleCaseExtended(SeString s, sbyte article)
- {
- if (article == 1)
- return string.Intern(s.ToDalamudString().ToString());
-
- var sb = new StringBuilder(s.ToDalamudString().ToString());
- var lastSpace = true;
- for (var i = 0; i < sb.Length; ++i)
- {
- if (sb[i] == ' ')
- {
- lastSpace = true;
- }
- else if (lastSpace)
- {
- lastSpace = false;
- sb[i] = char.ToUpperInvariant(sb[i]);
- }
- }
-
- return string.Intern(sb.ToString());
- }
- }
-
- public readonly ActorManagerData Data;
-
- public ActorManager(DalamudPluginInterface pluginInterface, ObjectTable objects, ClientState state, Dalamud.Game.Framework framework,
- DataManager gameData, GameGui gameGui,
- Func toParentIdx)
- : this(pluginInterface, objects, state, framework, gameData, gameGui, gameData.Language, toParentIdx)
- { }
-
- public ActorManager(DalamudPluginInterface pluginInterface, ObjectTable objects, ClientState state, Dalamud.Game.Framework framework,
- DataManager gameData, GameGui gameGui,
- ClientLanguage language, Func toParentIdx)
- {
- _framework = framework;
- _objects = objects;
- _gameGui = gameGui;
- _clientState = state;
- _toParentIdx = toParentIdx;
- Data = new ActorManagerData(pluginInterface, gameData, language);
-
- ActorIdentifier.Manager = this;
-
- SignatureHelper.Initialise(this);
- }
-
- public unsafe ActorIdentifier GetCurrentPlayer()
- {
- var address = (Character*)_objects.GetObjectAddress(0);
- return address == null
- ? ActorIdentifier.Invalid
- : CreateIndividualUnchecked(IdentifierType.Player, new ByteString(address->GameObject.Name), address->HomeWorld,
- ObjectKind.None, uint.MaxValue);
- }
-
- public ActorIdentifier GetInspectPlayer()
- {
- var addon = _gameGui.GetAddonByName("CharacterInspect", 1);
- if (addon == IntPtr.Zero)
- return ActorIdentifier.Invalid;
-
- return CreatePlayer(InspectName, InspectWorldId);
- }
-
- public unsafe bool ResolvePartyBannerPlayer(ScreenActor type, out ActorIdentifier id)
- {
- id = ActorIdentifier.Invalid;
- var module = Framework.Instance()->GetUiModule()->GetAgentModule();
- if (module == null)
- return false;
-
- var agent = (AgentBannerInterface*)module->GetAgentByInternalId(AgentId.BannerParty);
- if (agent == null || !agent->AgentInterface.IsAgentActive())
- agent = (AgentBannerInterface*)module->GetAgentByInternalId(AgentId.BannerMIP);
- if (agent == null || !agent->AgentInterface.IsAgentActive())
- return false;
-
- var idx = (ushort)type - (ushort)ScreenActor.CharacterScreen;
- var character = agent->Character(idx);
- if (character == null)
- return true;
-
- var name = new ByteString(character->Name1.StringPtr);
- id = CreatePlayer(name, (ushort)character->WorldId);
- return true;
- }
-
- private unsafe bool SearchPlayerCustomize(Character* character, int idx, out ActorIdentifier id)
- {
- var other = (Character*)_objects.GetObjectAddress(idx);
- if (other == null || !CustomizeData.ScreenActorEquals((CustomizeData*)character->DrawData.CustomizeData.Data, (CustomizeData*)other->DrawData.CustomizeData.Data))
- {
- id = ActorIdentifier.Invalid;
- return false;
- }
-
- id = FromObject(&other->GameObject, out _, false, true, false);
- return true;
- }
-
- private unsafe ActorIdentifier SearchPlayersCustomize(Character* gameObject, int idx1, int idx2, int idx3)
- => SearchPlayerCustomize(gameObject, idx1, out var ret)
- || SearchPlayerCustomize(gameObject, idx2, out ret)
- || SearchPlayerCustomize(gameObject, idx3, out ret)
- ? ret
- : ActorIdentifier.Invalid;
-
- private unsafe ActorIdentifier SearchPlayersCustomize(Character* gameObject)
- {
- static bool Compare(Character* a, Character* b)
- {
- var data1 = (CustomizeData*)a->DrawData.CustomizeData.Data;
- var data2 = (CustomizeData*)b->DrawData.CustomizeData.Data;
- var equals = CustomizeData.ScreenActorEquals(data1, data2);
- return equals;
- }
-
- for (var i = 0; i < (int)ScreenActor.CutsceneStart; i += 2)
- {
- var obj = (GameObject*)_objects.GetObjectAddress(i);
- if (obj != null
- && obj->ObjectKind is (byte)ObjectKind.Player
- && Compare(gameObject, (Character*)obj))
- return FromObject(obj, out _, false, true, false);
- }
-
- return ActorIdentifier.Invalid;
- }
-
- public unsafe bool ResolveMahjongPlayer(ScreenActor type, out ActorIdentifier id)
- {
- id = ActorIdentifier.Invalid;
- if (_clientState.TerritoryType != 831 && _gameGui.GetAddonByName("EmjIntro") == IntPtr.Zero)
- return false;
-
- var obj = (Character*)_objects.GetObjectAddress((int)type);
- if (obj == null)
- return false;
-
- id = type switch
- {
- ScreenActor.CharacterScreen => GetCurrentPlayer(),
- ScreenActor.ExamineScreen => SearchPlayersCustomize(obj, 2, 4, 6),
- ScreenActor.FittingRoom => SearchPlayersCustomize(obj, 4, 2, 6),
- ScreenActor.DyePreview => SearchPlayersCustomize(obj, 6, 2, 4),
- _ => ActorIdentifier.Invalid,
- };
- return true;
- }
-
- public unsafe bool ResolvePvPBannerPlayer(ScreenActor type, out ActorIdentifier id)
- {
- id = ActorIdentifier.Invalid;
- if (!_clientState.IsPvPExcludingDen)
- return false;
-
- var addon = (AtkUnitBase*)_gameGui.GetAddonByName("PvPMap");
- if (addon == null || addon->IsVisible)
- return false;
-
- var obj = (Character*)_objects.GetObjectAddress((int)type);
- if (obj == null)
- return false;
-
- id = type switch
- {
- ScreenActor.CharacterScreen => SearchPlayersCustomize(obj),
- ScreenActor.ExamineScreen => SearchPlayersCustomize(obj),
- ScreenActor.FittingRoom => SearchPlayersCustomize(obj),
- ScreenActor.DyePreview => SearchPlayersCustomize(obj),
- ScreenActor.Portrait => SearchPlayersCustomize(obj),
- _ => ActorIdentifier.Invalid,
- };
- return true;
- }
-
- public unsafe ActorIdentifier GetCardPlayer()
- {
- var agent = AgentCharaCard.Instance();
- if (agent == null || agent->Data == null)
- return ActorIdentifier.Invalid;
-
- var worldId = *(ushort*)((byte*)agent->Data + Offsets.AgentCharaCardDataWorldId);
- return CreatePlayer(new ByteString(agent->Data->Name.StringPtr), worldId);
- }
-
- public ActorIdentifier GetGlamourPlayer()
- {
- var addon = _gameGui.GetAddonByName("MiragePrismMiragePlate", 1);
- return addon == IntPtr.Zero ? ActorIdentifier.Invalid : GetCurrentPlayer();
- }
-
- public void Dispose()
- {
- Data.Dispose();
- if (ActorIdentifier.Manager == this)
- ActorIdentifier.Manager = null;
- }
-
- ~ActorManager()
- => Dispose();
-
- private readonly Dalamud.Game.Framework _framework;
- private readonly ObjectTable _objects;
- private readonly ClientState _clientState;
- private readonly GameGui _gameGui;
-
- private readonly Func _toParentIdx;
-
- [Signature(Sigs.InspectTitleId, ScanType = ScanType.StaticAddress)]
- private static unsafe ushort* _inspectTitleId = null!;
-
- [Signature(Sigs.InspectWorldId, ScanType = ScanType.StaticAddress)]
- private static unsafe ushort* _inspectWorldId = null!;
-
- private static unsafe ushort InspectTitleId
- => *_inspectTitleId;
-
- private static unsafe ByteString InspectName
- => new((byte*)(_inspectWorldId + 1));
-
- private static unsafe ushort InspectWorldId
- => *_inspectWorldId;
-
- public static readonly IReadOnlySet MannequinIds = new HashSet()
- {
- 1026228u,
- 1026229u,
- 1026986u,
- 1026987u,
- 1026988u,
- 1026989u,
- 1032291u,
- 1032292u,
- 1032293u,
- 1032294u,
- 1033046u,
- 1033047u,
- 1033658u,
- 1033659u,
- 1007137u,
- // TODO: Female Hrothgar
- };
-}
diff --git a/Penumbra.GameData/Actors/ActorManager.Identifiers.cs b/Penumbra.GameData/Actors/ActorManager.Identifiers.cs
deleted file mode 100644
index 9f5f246f..00000000
--- a/Penumbra.GameData/Actors/ActorManager.Identifiers.cs
+++ /dev/null
@@ -1,590 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Dalamud.Game.ClientState.Objects.Enums;
-using Dalamud.Game.ClientState.Objects.Types;
-using Newtonsoft.Json.Linq;
-using Penumbra.String;
-using Character = FFXIVClientStructs.FFXIV.Client.Game.Character.Character;
-
-namespace Penumbra.GameData.Actors;
-
-public partial class ActorManager
-{
- ///
- /// Try to create an ActorIdentifier from a already parsed JObject .
- ///
- /// A parsed JObject
- /// ActorIdentifier.Invalid if the JObject can not be converted, a valid ActorIdentifier otherwise.
- public ActorIdentifier FromJson(JObject? data)
- {
- if (data == null)
- return ActorIdentifier.Invalid;
-
- var type = data[nameof(ActorIdentifier.Type)]?.ToObject() ?? IdentifierType.Invalid;
- switch (type)
- {
- case IdentifierType.Player:
- {
- var name = ByteString.FromStringUnsafe(data[nameof(ActorIdentifier.PlayerName)]?.ToObject(), false);
- var homeWorld = data[nameof(ActorIdentifier.HomeWorld)]?.ToObject() ?? 0;
- return CreatePlayer(name, homeWorld);
- }
- case IdentifierType.Retainer:
- {
- var name = ByteString.FromStringUnsafe(data[nameof(ActorIdentifier.PlayerName)]?.ToObject(), false);
- return CreateRetainer(name, 0);
- }
- case IdentifierType.Owned:
- {
- var name = ByteString.FromStringUnsafe(data[nameof(ActorIdentifier.PlayerName)]?.ToObject(), false);
- var homeWorld = data[nameof(ActorIdentifier.HomeWorld)]?.ToObject() ?? 0;
- var kind = data[nameof(ActorIdentifier.Kind)]?.ToObject() ?? ObjectKind.CardStand;
- var dataId = data[nameof(ActorIdentifier.DataId)]?.ToObject() ?? 0;
- return CreateOwned(name, homeWorld, kind, dataId);
- }
- case IdentifierType.Special:
- {
- var special = data[nameof(ActorIdentifier.Special)]?.ToObject() ?? 0;
- return CreateSpecial(special);
- }
- case IdentifierType.Npc:
- {
- var index = data[nameof(ActorIdentifier.Index)]?.ToObject() ?? ushort.MaxValue;
- var kind = data[nameof(ActorIdentifier.Kind)]?.ToObject() ?? ObjectKind.CardStand;
- var dataId = data[nameof(ActorIdentifier.DataId)]?.ToObject() ?? 0;
- return CreateNpc(kind, dataId, index);
- }
- case IdentifierType.UnkObject:
- {
- var index = data[nameof(ActorIdentifier.Index)]?.ToObject() ?? ushort.MaxValue;
- var name = ByteString.FromStringUnsafe(data[nameof(ActorIdentifier.PlayerName)]?.ToObject(), false);
- return CreateIndividualUnchecked(IdentifierType.UnkObject, name, index, ObjectKind.None, 0);
- }
- default: return ActorIdentifier.Invalid;
- }
- }
-
- ///
- /// Use stored data to convert an ActorIdentifier to a string.
- ///
- public string ToString(ActorIdentifier id)
- {
- return id.Type switch
- {
- IdentifierType.Player => id.HomeWorld != _clientState.LocalPlayer?.HomeWorld.Id
- ? $"{id.PlayerName} ({Data.ToWorldName(id.HomeWorld)})"
- : id.PlayerName.ToString(),
- IdentifierType.Retainer => id.PlayerName.ToString(),
- IdentifierType.Owned => id.HomeWorld != _clientState.LocalPlayer?.HomeWorld.Id
- ? $"{id.PlayerName} ({Data.ToWorldName(id.HomeWorld)})'s {Data.ToName(id.Kind, id.DataId)}"
- : $"{id.PlayerName}s {Data.ToName(id.Kind, id.DataId)}",
- IdentifierType.Special => id.Special.ToName(),
- IdentifierType.Npc =>
- id.Index == ushort.MaxValue
- ? Data.ToName(id.Kind, id.DataId)
- : $"{Data.ToName(id.Kind, id.DataId)} at {id.Index}",
- IdentifierType.UnkObject => id.PlayerName.IsEmpty
- ? $"Unknown Object at {id.Index}"
- : $"{id.PlayerName} at {id.Index}",
- _ => "Invalid",
- };
- }
-
- private unsafe FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject* HandleCutscene(
- FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject* main)
- {
- if (main == null)
- return null;
-
- if (main->ObjectIndex is >= (ushort)ScreenActor.CutsceneStart and < (ushort)ScreenActor.CutsceneEnd)
- {
- var parentIdx = _toParentIdx(main->ObjectIndex);
- if (parentIdx >= 0)
- return (FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject*)_objects.GetObjectAddress(parentIdx);
- }
-
- return main;
- }
-
- public class IdentifierParseError : Exception
- {
- public IdentifierParseError(string reason)
- : base(reason)
- { }
- }
-
- public ActorIdentifier FromUserString(string userString)
- {
- if (userString.Length == 0)
- throw new IdentifierParseError("The identifier string was empty.");
-
- var split = userString.Split('|', 3, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
- if (split.Length < 2)
- throw new IdentifierParseError($"The identifier string {userString} does not contain a type and a value.");
-
- IdentifierType type;
- var playerName = ByteString.Empty;
- ushort worldId = 0;
- var kind = ObjectKind.Player;
- var objectId = 0u;
-
- (ByteString, ushort) ParsePlayer(string player)
- {
- var parts = player.Split('@', 2, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
- if (!VerifyPlayerName(parts[0]))
- throw new IdentifierParseError($"{parts[0]} is not a valid player name.");
- if (!ByteString.FromString(parts[0], out var p))
- throw new IdentifierParseError($"The player string {parts[0]} contains invalid symbols.");
-
- var world = parts.Length == 2
- ? Data.ToWorldId(parts[1])
- : ushort.MaxValue;
-
- if (!VerifyWorld(world))
- throw new IdentifierParseError($"{parts[1]} is not a valid world name.");
-
- return (p, world);
- }
-
- (ObjectKind, uint) ParseNpc(string npc)
- {
- var split = npc.Split(':', 2, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
- if (split.Length != 2)
- throw new IdentifierParseError("NPCs need to be specified by '[Object Type]:[NPC Name]'.");
-
- static bool FindDataId(string name, IReadOnlyDictionary data, out uint dataId)
- {
- var kvp = data.FirstOrDefault(kvp => kvp.Value.Equals(name, StringComparison.OrdinalIgnoreCase),
- new KeyValuePair(uint.MaxValue, string.Empty));
- dataId = kvp.Key;
- return kvp.Value.Length > 0;
- }
-
- switch (split[0].ToLowerInvariant())
- {
- case "m":
- case "mount":
- return FindDataId(split[1], Data.Mounts, out var id)
- ? (ObjectKind.MountType, id)
- : throw new IdentifierParseError($"Could not identify a Mount named {split[1]}.");
- case "c":
- case "companion":
- case "minion":
- case "mini":
- return FindDataId(split[1], Data.Companions, out id)
- ? (ObjectKind.Companion, id)
- : throw new IdentifierParseError($"Could not identify a Minion named {split[1]}.");
- case "a":
- case "o":
- case "accessory":
- case "ornament":
- // TODO: Objectkind ornament.
- return FindDataId(split[1], Data.Ornaments, out id)
- ? ((ObjectKind)15, id)
- : throw new IdentifierParseError($"Could not identify an Accessory named {split[1]}.");
- case "e":
- case "enpc":
- case "eventnpc":
- case "event npc":
- return FindDataId(split[1], Data.ENpcs, out id)
- ? (ObjectKind.EventNpc, id)
- : throw new IdentifierParseError($"Could not identify an Event NPC named {split[1]}.");
- case "b":
- case "bnpc":
- case "battlenpc":
- case "battle npc":
- return FindDataId(split[1], Data.BNpcs, out id)
- ? (ObjectKind.BattleNpc, id)
- : throw new IdentifierParseError($"Could not identify a Battle NPC named {split[1]}.");
- default: throw new IdentifierParseError($"The argument {split[0]} is not a valid NPC Type.");
- }
- }
-
- switch (split[0].ToLowerInvariant())
- {
- case "p":
- case "player":
- type = IdentifierType.Player;
- (playerName, worldId) = ParsePlayer(split[1]);
- break;
- case "r":
- case "retainer":
- type = IdentifierType.Retainer;
- if (!VerifyRetainerName(split[1]))
- throw new IdentifierParseError($"{split[1]} is not a valid player name.");
- if (!ByteString.FromString(split[1], out playerName))
- throw new IdentifierParseError($"The retainer string {split[1]} contains invalid symbols.");
-
- break;
- case "n":
- case "npc":
- type = IdentifierType.Npc;
- (kind, objectId) = ParseNpc(split[1]);
- break;
- case "o":
- case "owned":
- if (split.Length < 3)
- throw new IdentifierParseError(
- "Owned NPCs need a NPC and a player, separated by '|', but only one was provided.");
-
- type = IdentifierType.Owned;
- (kind, objectId) = ParseNpc(split[1]);
- (playerName, worldId) = ParsePlayer(split[2]);
- break;
- default:
- throw new IdentifierParseError(
- $"{split[0]} is not a valid identifier type. Valid types are [P]layer, [R]etainer, [N]PC, or [O]wned");
- }
-
- return CreateIndividualUnchecked(type, playerName, worldId, kind, objectId);
- }
-
- ///
- /// Compute an ActorIdentifier from a GameObject. If check is true, the values are checked for validity.
- ///
- public unsafe ActorIdentifier FromObject(FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject* actor,
- out FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject* owner, bool allowPlayerNpc, bool check, bool withoutIndex)
- {
- owner = null;
- if (actor == null)
- return ActorIdentifier.Invalid;
-
- actor = HandleCutscene(actor);
- var idx = actor->ObjectIndex;
- if (idx is >= (ushort)ScreenActor.CharacterScreen and <= (ushort)ScreenActor.Card8)
- return CreateIndividualUnchecked(IdentifierType.Special, ByteString.Empty, idx, ObjectKind.None, uint.MaxValue);
-
- var kind = (ObjectKind)actor->ObjectKind;
- switch (kind)
- {
- case ObjectKind.Player:
- {
- var name = new ByteString(actor->Name);
- var homeWorld = ((Character*)actor)->HomeWorld;
- return check
- ? CreatePlayer(name, homeWorld)
- : CreateIndividualUnchecked(IdentifierType.Player, name, homeWorld, ObjectKind.None, uint.MaxValue);
- }
- case ObjectKind.BattleNpc:
- {
- var ownerId = actor->OwnerID;
- // 952 -> 780 is a special case for chocobos because they have NameId == 0 otherwise.
- var nameId = actor->DataID == 952 ? 780 : ((Character*)actor)->NameID;
- if (ownerId != 0xE0000000)
- {
- owner = HandleCutscene(
- (FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject*)(_objects.SearchById(ownerId)?.Address ?? IntPtr.Zero));
- if (owner == null)
- return ActorIdentifier.Invalid;
-
- var name = new ByteString(owner->Name);
- var homeWorld = ((Character*)owner)->HomeWorld;
- return check
- ? CreateOwned(name, homeWorld, ObjectKind.BattleNpc, nameId)
- : CreateIndividualUnchecked(IdentifierType.Owned, name, homeWorld, ObjectKind.BattleNpc, nameId);
- }
-
- // Hack to support Anamnesis changing ObjectKind for NPC faces.
- if (nameId == 0 && allowPlayerNpc)
- {
- var name = new ByteString(actor->Name);
- if (!name.IsEmpty)
- {
- var homeWorld = ((Character*)actor)->HomeWorld;
- return check
- ? CreatePlayer(name, homeWorld)
- : CreateIndividualUnchecked(IdentifierType.Player, name, homeWorld, ObjectKind.None, uint.MaxValue);
- }
- }
-
- var index = withoutIndex ? ushort.MaxValue : actor->ObjectIndex;
- return check
- ? CreateNpc(ObjectKind.BattleNpc, nameId, index)
- : CreateIndividualUnchecked(IdentifierType.Npc, ByteString.Empty, index, ObjectKind.BattleNpc, nameId);
- }
- case ObjectKind.EventNpc:
- {
- var dataId = actor->DataID;
- // Special case for squadron that is also in the game functions, cf. E8 ?? ?? ?? ?? 89 87 ?? ?? ?? ?? 4C 89 BF
- if (dataId == 0xF845D)
- dataId = actor->GetNpcID();
- if (MannequinIds.Contains(dataId))
- {
- static ByteString Get(byte* ptr)
- => ptr == null ? ByteString.Empty : new ByteString(ptr);
-
- var retainerName = Get(actor->Name);
- var actualName = _framework.IsInFrameworkUpdateThread ? Get(actor->GetName()) : ByteString.Empty;
- if (!actualName.Equals(retainerName))
- {
- var ident = check
- ? CreateRetainer(retainerName, ActorIdentifier.RetainerType.Mannequin)
- : CreateIndividualUnchecked(IdentifierType.Retainer, retainerName, (ushort)ActorIdentifier.RetainerType.Mannequin,
- ObjectKind.EventNpc, dataId);
- if (ident.IsValid)
- return ident;
- }
- }
-
- var index = withoutIndex ? ushort.MaxValue : actor->ObjectIndex;
- return check
- ? CreateNpc(ObjectKind.EventNpc, dataId, index)
- : CreateIndividualUnchecked(IdentifierType.Npc, ByteString.Empty, index, ObjectKind.EventNpc, dataId);
- }
- case ObjectKind.MountType:
- case ObjectKind.Companion:
- case (ObjectKind)15: // TODO: CS Update
- {
- owner = HandleCutscene(
- (FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject*)_objects.GetObjectAddress(actor->ObjectIndex - 1));
- if (owner == null)
- return ActorIdentifier.Invalid;
-
- var dataId = GetCompanionId(actor, (Character*)owner);
- var name = new ByteString(owner->Name);
- var homeWorld = ((Character*)owner)->HomeWorld;
- return check
- ? CreateOwned(name, homeWorld, kind, dataId)
- : CreateIndividualUnchecked(IdentifierType.Owned, name, homeWorld, kind, dataId);
- }
- case ObjectKind.Retainer:
- {
- var name = new ByteString(actor->Name);
- return check
- ? CreateRetainer(name, ActorIdentifier.RetainerType.Bell)
- : CreateIndividualUnchecked(IdentifierType.Retainer, name, (ushort)ActorIdentifier.RetainerType.Bell, ObjectKind.None,
- uint.MaxValue);
- }
- default:
- {
- var name = new ByteString(actor->Name);
- var index = withoutIndex ? ushort.MaxValue : actor->ObjectIndex;
- return CreateIndividualUnchecked(IdentifierType.UnkObject, name, index, ObjectKind.None, 0);
- }
- }
- }
-
- ///
- /// Obtain the current companion ID for an object by its actor and owner.
- ///
- private unsafe uint GetCompanionId(FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject* actor,
- Character* owner) // TODO: CS Update
- {
- return (ObjectKind)actor->ObjectKind switch
- {
- ObjectKind.MountType => owner->Mount.MountId,
- (ObjectKind)15 => owner->Ornament.OrnamentId,
- ObjectKind.Companion => actor->DataID,
- _ => actor->DataID,
- };
- }
-
- public unsafe ActorIdentifier FromObject(GameObject? actor, out FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject* owner,
- bool allowPlayerNpc, bool check, bool withoutIndex)
- => FromObject((FFXIVClientStructs.FFXIV.Client.Game.Object.GameObject*)(actor?.Address ?? IntPtr.Zero), out owner, allowPlayerNpc,
- check, withoutIndex);
-
- public unsafe ActorIdentifier FromObject(GameObject? actor, bool allowPlayerNpc, bool check, bool withoutIndex)
- => FromObject(actor, out _, allowPlayerNpc, check, withoutIndex);
-
- public ActorIdentifier CreateIndividual(IdentifierType type, ByteString name, ushort homeWorld, ObjectKind kind, uint dataId)
- => type switch
- {
- IdentifierType.Player => CreatePlayer(name, homeWorld),
- IdentifierType.Retainer => CreateRetainer(name, (ActorIdentifier.RetainerType)homeWorld),
- IdentifierType.Owned => CreateOwned(name, homeWorld, kind, dataId),
- IdentifierType.Special => CreateSpecial((ScreenActor)homeWorld),
- IdentifierType.Npc => CreateNpc(kind, dataId, homeWorld),
- IdentifierType.UnkObject => CreateIndividualUnchecked(IdentifierType.UnkObject, name, homeWorld, ObjectKind.None, 0),
- _ => ActorIdentifier.Invalid,
- };
-
- ///
- /// Only use this if you are sure the input is valid.
- ///
- public ActorIdentifier CreateIndividualUnchecked(IdentifierType type, ByteString name, ushort homeWorld, ObjectKind kind, uint dataId)
- => new(type, kind, homeWorld, dataId, name);
-
- public ActorIdentifier CreatePlayer(ByteString name, ushort homeWorld)
- {
- if (!VerifyWorld(homeWorld) || !VerifyPlayerName(name.Span))
- return ActorIdentifier.Invalid;
-
- return new ActorIdentifier(IdentifierType.Player, ObjectKind.Player, homeWorld, 0, name);
- }
-
- public ActorIdentifier CreateRetainer(ByteString name, ActorIdentifier.RetainerType type)
- {
- if (!VerifyRetainerName(name.Span))
- return ActorIdentifier.Invalid;
-
- return new ActorIdentifier(IdentifierType.Retainer, ObjectKind.Retainer, (ushort)type, 0, name);
- }
-
- public ActorIdentifier CreateSpecial(ScreenActor actor)
- {
- if (!VerifySpecial(actor))
- return ActorIdentifier.Invalid;
-
- return new ActorIdentifier(IdentifierType.Special, ObjectKind.Player, (ushort)actor, 0, ByteString.Empty);
- }
-
- public ActorIdentifier CreateNpc(ObjectKind kind, uint data, ushort index = ushort.MaxValue)
- {
- if (!VerifyIndex(index) || !VerifyNpcData(kind, data))
- return ActorIdentifier.Invalid;
-
- return new ActorIdentifier(IdentifierType.Npc, kind, index, data, ByteString.Empty);
- }
-
- public ActorIdentifier CreateOwned(ByteString ownerName, ushort homeWorld, ObjectKind kind, uint dataId)
- {
- if (!VerifyWorld(homeWorld) || !VerifyPlayerName(ownerName.Span) || !VerifyOwnedData(kind, dataId))
- return ActorIdentifier.Invalid;
-
- return new ActorIdentifier(IdentifierType.Owned, kind, homeWorld, dataId, ownerName);
- }
-
- /// Checks SE naming rules.
- public static bool VerifyPlayerName(ReadOnlySpan name)
- {
- // Total no more than 20 characters + space.
- if (name.Length is < 5 or > 21)
- return false;
-
- // Forename and surname, no more spaces.
- var splitIndex = name.IndexOf((byte)' ');
- if (splitIndex < 0 || name[(splitIndex + 1)..].IndexOf((byte)' ') >= 0)
- return false;
-
- return CheckNamePart(name[..splitIndex], 2, 15) && CheckNamePart(name[(splitIndex + 1)..], 2, 15);
- }
-
- /// Checks SE naming rules.
- public static bool VerifyPlayerName(ReadOnlySpan name)
- {
- // Total no more than 20 characters + space.
- if (name.Length is < 5 or > 21)
- return false;
-
- // Forename and surname, no more spaces.
- var splitIndex = name.IndexOf(' ');
- if (splitIndex < 0 || name[(splitIndex + 1)..].IndexOf(' ') >= 0)
- return false;
-
- return CheckNamePart(name[..splitIndex], 2, 15) && CheckNamePart(name[(splitIndex + 1)..], 2, 15);
- }
-
- /// Checks SE naming rules.
- public static bool VerifyRetainerName(ReadOnlySpan name)
- => CheckNamePart(name, 3, 20);
-
- /// Checks SE naming rules.
- public static bool VerifyRetainerName(ReadOnlySpan name)
- => CheckNamePart(name, 3, 20);
-
- private static bool CheckNamePart(ReadOnlySpan part, int minLength, int maxLength)
- {
- // Each name part at least 2 and at most 15 characters for players, and at least 3 and at most 20 characters for retainers.
- if (part.Length < minLength || part.Length > maxLength)
- return false;
-
- // Each part starting with capitalized letter.
- if (part[0] is < 'A' or > 'Z')
- return false;
-
- // Every other symbol needs to be lowercase letter, hyphen or apostrophe.
- var last = '\0';
- for (var i = 1; i < part.Length; ++i)
- {
- var current = part[i];
- if (current is not ('\'' or '-' or (>= 'a' and <= 'z')))
- return false;
-
- // Hyphens can not be used in succession, after or before apostrophes or as the last symbol.
- if (last is '\'' && current is '-')
- return false;
- if (last is '-' && current is '-' or '\'')
- return false;
-
- last = current;
- }
-
- return true;
- }
-
- private static bool CheckNamePart(ReadOnlySpan part, int minLength, int maxLength)
- {
- // Each name part at least 2 and at most 15 characters for players, and at least 3 and at most 20 characters for retainers.
- if (part.Length < minLength || part.Length > maxLength)
- return false;
-
- // Each part starting with capitalized letter.
- if (part[0] is < (byte)'A' or > (byte)'Z')
- return false;
-
- // Every other symbol needs to be lowercase letter, hyphen or apostrophe.
- var last = (byte)'\0';
- for (var i = 1; i < part.Length; ++i)
- {
- var current = part[i];
- if (current is not ((byte)'\'' or (byte)'-' or (>= (byte)'a' and <= (byte)'z')))
- return false;
-
- // Hyphens can not be used in succession, after or before apostrophes or as the last symbol.
- if (last is (byte)'\'' && current is (byte)'-')
- return false;
- if (last is (byte)'-' && current is (byte)'-' or (byte)'\'')
- return false;
-
- last = current;
- }
-
- return true;
- }
-
- /// Checks if the world is a valid public world or ushort.MaxValue (any world).
- public bool VerifyWorld(ushort worldId)
- => worldId == ushort.MaxValue || Data.Worlds.ContainsKey(worldId);
-
- /// Verify that the enum value is a specific actor and return the name if it is.
- public static bool VerifySpecial(ScreenActor actor)
- => actor is >= ScreenActor.CharacterScreen and <= ScreenActor.Card8;
-
- /// Verify that the object index is a valid index for an NPC.
- public bool VerifyIndex(ushort index)
- {
- return index switch
- {
- ushort.MaxValue => true,
- < 200 => index % 2 == 0,
- > (ushort)ScreenActor.Card8 => index < _objects.Length,
- _ => false,
- };
- }
-
- /// Verify that the object kind is a valid owned object, and the corresponding data Id.
- public bool VerifyOwnedData(ObjectKind kind, uint dataId)
- {
- return kind switch
- {
- ObjectKind.MountType => Data.Mounts.ContainsKey(dataId),
- ObjectKind.Companion => Data.Companions.ContainsKey(dataId),
- (ObjectKind)15 => Data.Ornaments.ContainsKey(dataId), // TODO: CS Update
- ObjectKind.BattleNpc => Data.BNpcs.ContainsKey(dataId),
- _ => false,
- };
- }
-
- public bool VerifyNpcData(ObjectKind kind, uint dataId)
- => kind switch
- {
- ObjectKind.MountType => Data.Mounts.ContainsKey(dataId),
- ObjectKind.Companion => Data.Companions.ContainsKey(dataId),
- (ObjectKind)15 => Data.Ornaments.ContainsKey(dataId), // TODO: CS Update
- ObjectKind.BattleNpc => Data.BNpcs.ContainsKey(dataId),
- ObjectKind.EventNpc => Data.ENpcs.ContainsKey(dataId),
- _ => false,
- };
-}
diff --git a/Penumbra.GameData/Actors/AgentBannerParty.cs b/Penumbra.GameData/Actors/AgentBannerParty.cs
deleted file mode 100644
index 2de95c8c..00000000
--- a/Penumbra.GameData/Actors/AgentBannerParty.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-using FFXIVClientStructs.FFXIV.Client.System.String;
-using FFXIVClientStructs.FFXIV.Client.UI.Agent;
-using FFXIVClientStructs.FFXIV.Client.UI;
-using FFXIVClientStructs.FFXIV.Component.GUI;
-using System.Runtime.InteropServices;
-using FFXIVClientStructs.FFXIV.Client.System.Framework;
-
-namespace Penumbra;
-
-[StructLayout( LayoutKind.Explicit )]
-public unsafe struct AgentBannerInterface
-{
- [FieldOffset( 0x0 )] public AgentInterface AgentInterface;
- [FieldOffset( 0x28 )] public BannerInterfaceStorage* Data;
-
- public BannerInterfaceStorage.CharacterData* Character( int idx )
- => idx switch
- {
- _ when Data == null => null,
- 0 => &Data->Character1,
- 1 => &Data->Character2,
- 2 => &Data->Character3,
- 3 => &Data->Character4,
- 4 => &Data->Character5,
- 5 => &Data->Character6,
- 6 => &Data->Character7,
- 7 => &Data->Character8,
- _ => null,
- };
-}
-
-[StructLayout(LayoutKind.Explicit)]
-public unsafe struct AgentBannerParty
-{
- public static AgentBannerParty* Instance() => ( AgentBannerParty* )Framework.Instance()->GetUiModule()->GetAgentModule()->GetAgentByInternalId( AgentId.BannerParty );
-
- [FieldOffset( 0x0 )] public AgentBannerInterface AgentBannerInterface;
-}
-
-[StructLayout( LayoutKind.Explicit )]
-public unsafe struct AgentBannerMIP
-{
- public static AgentBannerMIP* Instance() => ( AgentBannerMIP* )Framework.Instance()->GetUiModule()->GetAgentModule()->GetAgentByInternalId( AgentId.BannerMIP );
- [FieldOffset( 0x0 )] public AgentBannerInterface AgentBannerInterface;
-}
-
-// Client::UI::Agent::AgentBannerInterface::Storage
-// destructed in Client::UI::Agent::AgentBannerInterface::dtor
-[StructLayout( LayoutKind.Explicit, Size = 0x3B30 )]
-public unsafe struct BannerInterfaceStorage
-{
- // vtable: 48 8D 05 ?? ?? ?? ?? 48 89 01 48 8B F9 7E
- // dtor: E8 ?? ?? ?? ?? 48 83 EF ?? 75 ?? BA ?? ?? ?? ?? 48 8B CE E8 ?? ?? ?? ?? 48 89 7D
- [StructLayout( LayoutKind.Explicit, Size = 0x760 )]
- public struct CharacterData
- {
- [FieldOffset( 0x000 )] public void** VTable;
-
- [FieldOffset( 0x018 )] public Utf8String Name1;
- [FieldOffset( 0x080 )] public Utf8String Name2;
- [FieldOffset( 0x0E8 )] public Utf8String UnkString1;
- [FieldOffset( 0x150 )] public Utf8String UnkString2;
- [FieldOffset( 0x1C0 )] public Utf8String Job;
- [FieldOffset( 0x238 )] public uint WorldId;
- [FieldOffset( 0x240 )] public Utf8String UnkString3;
-
- [FieldOffset( 0x2B0 )] public void* CharaView;
- [FieldOffset( 0x5D0 )] public AtkTexture AtkTexture;
-
- [FieldOffset( 0x6E0 )] public Utf8String Title;
- [FieldOffset( 0x750 )] public void* SomePointer;
-
- }
-
- [FieldOffset( 0x0000 )] public void* Agent; // AgentBannerParty, maybe other Banner agents
- [FieldOffset( 0x0008 )] public UIModule* UiModule;
- [FieldOffset( 0x0010 )] public uint Unk1; // Maybe count or bitfield, but probably not
- [FieldOffset( 0x0014 )] public uint Unk2;
-
- [FieldOffset( 0x0020 )] public CharacterData Character1;
- [FieldOffset( 0x0780 )] public CharacterData Character2;
- [FieldOffset( 0x0EE0 )] public CharacterData Character3;
- [FieldOffset( 0x1640 )] public CharacterData Character4;
- [FieldOffset( 0x1DA0 )] public CharacterData Character5;
- [FieldOffset( 0x2500 )] public CharacterData Character6;
- [FieldOffset( 0x2C60 )] public CharacterData Character7;
- [FieldOffset( 0x33C0 )] public CharacterData Character8;
-
- [FieldOffset( 0x3B20 )] public long Unk3;
- [FieldOffset( 0x3B28 )] public long Unk4;
-}
\ No newline at end of file
diff --git a/Penumbra.GameData/Actors/IdentifierType.cs b/Penumbra.GameData/Actors/IdentifierType.cs
deleted file mode 100644
index 8fe1ee4f..00000000
--- a/Penumbra.GameData/Actors/IdentifierType.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Penumbra.GameData.Actors;
-
-public enum IdentifierType : byte
-{
- Invalid,
- Player,
- Owned,
- Special,
- Npc,
- Retainer,
- UnkObject,
-};
\ No newline at end of file
diff --git a/Penumbra.GameData/Actors/ScreenActor.cs b/Penumbra.GameData/Actors/ScreenActor.cs
deleted file mode 100644
index 00cf66fc..00000000
--- a/Penumbra.GameData/Actors/ScreenActor.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace Penumbra.GameData.Actors;
-
-public enum ScreenActor : ushort
-{
- CutsceneStart = 200,
- GPosePlayer = 201,
- CutsceneEnd = 240,
- CharacterScreen = CutsceneEnd,
- ExamineScreen = 241,
- FittingRoom = 242,
- DyePreview = 243,
- Portrait = 244,
- Card6 = 245,
- Card7 = 246,
- Card8 = 247,
- ScreenEnd = Card8 + 1,
-}
diff --git a/Penumbra.GameData/Data/BNpcNames.cs b/Penumbra.GameData/Data/BNpcNames.cs
deleted file mode 100644
index f2ab962f..00000000
--- a/Penumbra.GameData/Data/BNpcNames.cs
+++ /dev/null
@@ -1,16417 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Penumbra.GameData.Data;
-
-public static class NpcNames
-{
- ///
- /// Generated from https://gubal.hasura.app/api/rest/bnpc on 2023-01-17
- /// and https://raw.githubusercontent.com/ffxiv-teamcraft/ffxiv-teamcraft/staging/libs/data/src/lib/json/gubal-bnpcs-index.json on 2023-06-13.
- ///
- public static IReadOnlyList> CreateNames()
- => new IReadOnlyList[]
- {
- Array.Empty(),
- new uint[]{6373},
- new uint[]{411, 412, 965, 1064, 1863, 2012},
- new uint[]{3, 176},
- new uint[]{4, 460},
- new uint[]{5, 184, 408},
- new uint[]{6, 183, 407, 2020},
- new uint[]{7, 125, 1121, 2157},
- new uint[]{8, 481},
- new uint[]{9, 571},
- new uint[]{10, 572, 589},
- new uint[]{11, 2033},
- new uint[]{12, 13, 299, 301, 590, 1039, 1122, 1216, 1315, 1743, 2011, 2757},
- new uint[]{397, 398, 566, 1067},
- new uint[]{14, 195, 202},
- new uint[]{16, 502},
- new uint[]{15},
- new uint[]{17, 132, 270, 316, 963, 1034, 1120, 1742, 2688, 2707, 2743, 2745},
- new uint[]{182, 319, 320, 321, 493, 1026, 1218, 2018},
- new uint[]{19, 322, 323, 324, 1025, 1219, 2019},
- new uint[]{20, 110, 494, 1854},
- new uint[]{21, 492, 606, 1028, 1029, 1086, 1198, 1349, 2039, 2169, 2223, 3687},
- new uint[]{22, 180, 400, 573, 1085, 4064},
- new uint[]{23, 162, 175, 1085, 3341},
- new uint[]{24, 163, 232, 233, 508, 607, 1136, 3343},
- new uint[]{25},
- new uint[]{26, 216, 217, 500, 592, 1040},
- new uint[]{27, 164, 1757},
- new uint[]{28, 966, 1070, 1071},
- new uint[]{29},
- new uint[]{30, 131, 280, 365, 552, 2996, 3621, 4108, 4286},
- Array.Empty(),
- new uint[]{32, 203},
- new uint[]{33, 165, 214, 215, 497},
- new uint[]{34, 506},
- Array.Empty(),
- new uint[]{36, 296, 485, 1051},
- new uint[]{37, 198, 1101},
- new uint[]{38, 279, 363, 364, 612, 1078, 1146},
- new uint[]{39, 177, 188, 962, 1350, 4046},
- new uint[]{40, 1145},
- new uint[]{41, 168, 201, 486, 1199},
- new uint[]{227, 284, 285, 489, 603, 1043, 1084},
- new uint[]{43, 181},
- new uint[]{44, 587, 1147, 2225, 4069},
- new uint[]{45, 491, 2918},
- new uint[]{46, 1703, 2056},
- new uint[]{47, 141, 199, 220, 699},
- new uint[]{48, 166},
- new uint[]{49, 200, 1046, 1222},
- Array.Empty(),
- Array.Empty(),
- new uint[]{50, 283, 464, 551, 1148},
- new uint[]{130, 206, 462},
- Array.Empty(),
- new uint[]{53, 57, 1113, 1364, 1809, 1815, 1821, 2234, 2983, 3110, 3176},
- Array.Empty(),
- new uint[]{54, 179, 201, 395, 564, 696, 1142},
- new uint[]{55, 2032},
- new uint[]{56, 7134},
- Array.Empty(),
- new uint[]{58, 1810, 1816, 1822, 2173, 2351, 3181},
- new uint[]{59, 1811, 1817, 1823, 2120, 2173, 2238, 3177},
- new uint[]{60, 1812, 1818, 1824, 2235, 3178},
- new uint[]{61, 1365, 1813, 1819, 1825, 2173, 2236, 3180, 3334},
- new uint[]{62},
- new uint[]{1021},
- new uint[]{108},
- Array.Empty(),
- Array.Empty(),
- new uint[]{67, 229, 538, 1139},
- new uint[]{68, 230},
- new uint[]{69, 231, 2313},
- new uint[]{1138},
- Array.Empty(),
- Array.Empty(),
- new uint[]{73},
- new uint[]{74},
- Array.Empty(),
- new uint[]{140, 239, 2362},
- new uint[]{2363},
- new uint[]{139, 240, 675, 2361, 4067, 4851},
- new uint[]{79},
- new uint[]{79},
- new uint[]{52, 80, 540},
- new uint[]{81},
- new uint[]{82, 172, 540},
- new uint[]{83},
- new uint[]{84},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{91},
- new uint[]{91},
- new uint[]{91, 317},
- new uint[]{91, 317},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{548},
- Array.Empty(),
- new uint[]{310},
- new uint[]{314},
- new uint[]{312},
- new uint[]{101},
- new uint[]{102, 190, 209, 660, 1777},
- new uint[]{103, 208, 662, 1783},
- new uint[]{104, 210, 661, 1782},
- new uint[]{663, 1784},
- new uint[]{106, 352, 1066},
- new uint[]{107, 405, 1092, 1093, 2182},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{456},
- new uint[]{110},
- new uint[]{111},
- Array.Empty(),
- Array.Empty(),
- new uint[]{112, 171, 3342},
- new uint[]{113},
- new uint[]{114},
- new uint[]{115},
- new uint[]{116, 912},
- new uint[]{117},
- new uint[]{118, 298, 396, 490, 696, 1042},
- new uint[]{119},
- new uint[]{302, 399, 1033, 1088, 1089, 2756},
- new uint[]{391, 645, 950, 1134, 1758, 1831},
- new uint[]{237},
- new uint[]{174, 1366, 1846, 3994},
- new uint[]{120, 605},
- new uint[]{170, 1763, 2156},
- new uint[]{121},
- new uint[]{83},
- new uint[]{122},
- new uint[]{84},
- new uint[]{84},
- new uint[]{123},
- Array.Empty(),
- new uint[]{125},
- new uint[]{185},
- new uint[]{186},
- new uint[]{186},
- new uint[]{189},
- Array.Empty(),
- Array.Empty(),
- new uint[]{139},
- new uint[]{197, 226, 381, 382},
- new uint[]{196, 289},
- new uint[]{228, 1758},
- Array.Empty(),
- new uint[]{191},
- Array.Empty(),
- new uint[]{140},
- new uint[]{245, 259, 1177, 1353, 2155, 2300},
- new uint[]{253, 256},
- new uint[]{249, 251, 252},
- new uint[]{259, 260, 1725},
- new uint[]{219, 268, 351, 570, 1072, 1115, 1170, 1244, 2987, 2989},
- new uint[]{1114, 1244},
- new uint[]{305, 1037, 1119},
- new uint[]{304, 1736},
- new uint[]{303},
- new uint[]{287, 288, 1045},
- new uint[]{286},
- new uint[]{1019},
- new uint[]{221, 222, 366, 1065, 1869},
- new uint[]{223, 224, 1316},
- new uint[]{282, 1036},
- new uint[]{281, 1116, 1181},
- new uint[]{207, 242, 467, 1738, 1768},
- new uint[]{242, 1739, 1759},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{276, 277, 278, 575, 901, 1041},
- new uint[]{275, 1741, 2008},
- new uint[]{1671, 1836},
- new uint[]{264, 1024, 1744, 1841, 3622, 4285},
- new uint[]{788, 1761, 3627, 3699},
- new uint[]{1344},
- new uint[]{273, 1030, 1125, 2049},
- new uint[]{274, 2050},
- Array.Empty(),
- new uint[]{6733},
- new uint[]{292, 293, 1022},
- Array.Empty(),
- Array.Empty(),
- new uint[]{269, 1865},
- new uint[]{1814, 1820, 1826, 3179, 3545},
- Array.Empty(),
- new uint[]{272, 1023},
- new uint[]{271},
- new uint[]{318, 409, 410, 574, 577, 958, 1049, 1082, 1083},
- new uint[]{306, 403, 1047, 1317},
- new uint[]{1185},
- new uint[]{1186},
- new uint[]{1185},
- new uint[]{1186},
- new uint[]{1185},
- new uint[]{1186},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{718},
- new uint[]{719},
- new uint[]{720},
- new uint[]{721},
- new uint[]{722},
- new uint[]{723},
- new uint[]{724},
- new uint[]{725},
- new uint[]{718},
- new uint[]{719},
- new uint[]{720},
- new uint[]{721},
- new uint[]{722},
- new uint[]{723},
- new uint[]{724},
- new uint[]{2752},
- new uint[]{1649},
- new uint[]{1647},
- new uint[]{1644},
- new uint[]{1649},
- new uint[]{1647},
- new uint[]{1644},
- new uint[]{1649},
- new uint[]{1647},
- new uint[]{1644},
- new uint[]{1801},
- new uint[]{1801},
- new uint[]{1801},
- new uint[]{1375},
- new uint[]{1376},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{422},
- new uint[]{424},
- new uint[]{425},
- new uint[]{428},
- new uint[]{444},
- new uint[]{443},
- new uint[]{437},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{440},
- new uint[]{988},
- Array.Empty(),
- new uint[]{1208},
- new uint[]{442},
- new uint[]{441},
- new uint[]{423},
- new uint[]{426},
- new uint[]{427},
- new uint[]{428},
- new uint[]{633},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{134},
- new uint[]{553},
- Array.Empty(),
- new uint[]{136},
- new uint[]{142},
- new uint[]{135},
- Array.Empty(),
- new uint[]{596},
- new uint[]{234, 235, 308, 1135},
- new uint[]{1180, 1735},
- new uint[]{238, 505},
- new uint[]{236, 504, 1123, 1785, 2038, 3344},
- new uint[]{129, 211, 591, 1027, 1740},
- Array.Empty(),
- new uint[]{104},
- Array.Empty(),
- Array.Empty(),
- new uint[]{77, 169, 241},
- new uint[]{360, 361, 1069, 1161},
- new uint[]{265, 349, 1100},
- new uint[]{341, 1068},
- new uint[]{1075, 1168, 2733},
- new uint[]{344},
- new uint[]{342, 979, 1107, 2732},
- new uint[]{978, 1107},
- Array.Empty(),
- new uint[]{353, 687, 1091, 1167, 1748},
- new uint[]{355, 4114},
- new uint[]{357, 1076, 1313},
- new uint[]{358, 1077},
- new uint[]{563, 1069, 1102, 1103},
- new uint[]{560, 1081},
- new uint[]{561, 825, 1079, 1080, 1164},
- new uint[]{270, 1073, 1742, 1749},
- new uint[]{378, 379, 380, 1158},
- new uint[]{368, 369, 370, 1157},
- new uint[]{376, 1156, 1235},
- new uint[]{372, 373, 1155},
- Array.Empty(),
- new uint[]{2165, 2167},
- new uint[]{1163, 2165, 2166},
- new uint[]{1162, 2166},
- new uint[]{2166},
- Array.Empty(),
- new uint[]{392, 1098},
- new uint[]{393, 1096},
- new uint[]{394, 1087},
- new uint[]{401, 402, 1097},
- new uint[]{309, 404, 1035, 1123, 1791},
- new uint[]{414},
- new uint[]{413},
- new uint[]{416, 676},
- new uint[]{415},
- new uint[]{417, 1236},
- new uint[]{420, 421, 674, 1075, 1719},
- new uint[]{418, 420, 1719},
- new uint[]{419, 1173},
- new uint[]{262, 1050, 1101},
- new uint[]{326, 1309},
- new uint[]{329, 330, 1311},
- new uint[]{1310},
- new uint[]{328},
- new uint[]{234, 307, 503},
- new uint[]{290},
- new uint[]{243, 2511},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{1115},
- new uint[]{331, 1997, 3332},
- new uint[]{333, 3332},
- new uint[]{332},
- Array.Empty(),
- new uint[]{337},
- new uint[]{338},
- new uint[]{339},
- Array.Empty(),
- Array.Empty(),
- new uint[]{3332},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{1769},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{636, 638, 1032, 1153},
- new uint[]{640, 642, 2021, 2533},
- new uint[]{684},
- new uint[]{632, 641, 893, 953, 1140},
- new uint[]{639, 1063, 3604},
- new uint[]{637, 685, 1638, 3338, 3572, 3589},
- new uint[]{658, 1017, 1141, 1780, 2232},
- new uint[]{635, 643},
- new uint[]{1182, 1760},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{1850},
- new uint[]{784, 1755},
- new uint[]{1852},
- new uint[]{644, 2755},
- new uint[]{657, 1756, 1849, 3336, 3567, 3963},
- new uint[]{634, 3533},
- Array.Empty(),
- new uint[]{1185},
- Array.Empty(),
- new uint[]{567, 1183, 1789, 1853},
- new uint[]{1753},
- new uint[]{1021},
- new uint[]{480},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{108, 1486, 1694, 2136, 2137, 2564, 2655, 2667, 2824, 3234, 3725, 3726, 3734, 3740, 3741, 4687, 4696, 4805, 5186, 5187, 5199, 5278, 5279, 5280, 5515, 5517, 5526, 5529, 5530, 5553, 5559, 5561, 5562, 5570, 5588, 6126, 6155, 6173, 6193, 6197, 6198, 6199},
- new uint[]{1204},
- new uint[]{342},
- new uint[]{1382},
- new uint[]{1205},
- new uint[]{1205},
- new uint[]{1382},
- new uint[]{1206},
- new uint[]{1207},
- Array.Empty(),
- new uint[]{1298},
- new uint[]{1299},
- new uint[]{1300},
- new uint[]{1280},
- new uint[]{1281},
- new uint[]{1282},
- new uint[]{1283},
- new uint[]{1286},
- new uint[]{1279},
- new uint[]{1279},
- Array.Empty(),
- new uint[]{282, 1036, 1038},
- new uint[]{294},
- new uint[]{1262},
- new uint[]{108, 148, 157, 444, 510, 686, 1185, 1459, 1466, 1644, 1645, 1646, 1680, 1801, 2137, 2143, 2154, 2160, 2193, 2265, 2294, 2345, 2547, 2549, 2595, 2598, 2605, 2633, 2814, 2815, 2821, 2846, 2903, 2907, 3091, 3093, 3227, 3231, 3234, 3240, 3252, 3287, 3376, 3380, 3381, 3382, 3423, 3764, 3791, 3798, 3818, 3821, 3822, 3823, 4613, 4624, 4631, 4657, 4658, 4698, 4888, 4896, 4897, 4943, 4951, 4952, 4954, 4956, 5199, 5204, 5218, 5219, 5220, 5281, 5282},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{453},
- new uint[]{453},
- new uint[]{524},
- Array.Empty(),
- Array.Empty(),
- new uint[]{527},
- Array.Empty(),
- new uint[]{526},
- Array.Empty(),
- new uint[]{520},
- Array.Empty(),
- new uint[]{533},
- Array.Empty(),
- new uint[]{526},
- new uint[]{453},
- new uint[]{453},
- Array.Empty(),
- Array.Empty(),
- new uint[]{453},
- new uint[]{453},
- new uint[]{453},
- new uint[]{526},
- new uint[]{529},
- new uint[]{453},
- new uint[]{453},
- new uint[]{453},
- new uint[]{526},
- Array.Empty(),
- Array.Empty(),
- new uint[]{108},
- Array.Empty(),
- Array.Empty(),
- new uint[]{491},
- new uint[]{203},
- Array.Empty(),
- Array.Empty(),
- new uint[]{230},
- new uint[]{526},
- new uint[]{51},
- new uint[]{512},
- new uint[]{446},
- new uint[]{517},
- new uint[]{518},
- new uint[]{445},
- new uint[]{447},
- new uint[]{448},
- new uint[]{513},
- new uint[]{449},
- new uint[]{514},
- Array.Empty(),
- new uint[]{515},
- new uint[]{450},
- new uint[]{451},
- new uint[]{516},
- new uint[]{452},
- new uint[]{498},
- new uint[]{507},
- new uint[]{479},
- new uint[]{471},
- new uint[]{472},
- new uint[]{473},
- new uint[]{474},
- new uint[]{475},
- new uint[]{476},
- new uint[]{477},
- new uint[]{478},
- new uint[]{1131},
- new uint[]{1130},
- Array.Empty(),
- Array.Empty(),
- new uint[]{501, 1029, 1117, 1788},
- new uint[]{509},
- new uint[]{72},
- new uint[]{20},
- new uint[]{19},
- new uint[]{14},
- new uint[]{52},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{464},
- new uint[]{464},
- Array.Empty(),
- new uint[]{465},
- new uint[]{466},
- new uint[]{467},
- new uint[]{468},
- Array.Empty(),
- new uint[]{470},
- new uint[]{598},
- new uint[]{600},
- new uint[]{598},
- new uint[]{599},
- new uint[]{608},
- new uint[]{609},
- new uint[]{610},
- new uint[]{611},
- new uint[]{614},
- new uint[]{939},
- new uint[]{30},
- new uint[]{621},
- new uint[]{622},
- new uint[]{621},
- new uint[]{622},
- new uint[]{193},
- new uint[]{194},
- new uint[]{192},
- new uint[]{947},
- new uint[]{628},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{108},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{613},
- new uint[]{455},
- Array.Empty(),
- Array.Empty(),
- new uint[]{655},
- new uint[]{541},
- new uint[]{437},
- new uint[]{1536},
- new uint[]{6947, 6948},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{453},
- new uint[]{453},
- new uint[]{453},
- new uint[]{453},
- new uint[]{454},
- new uint[]{454},
- new uint[]{454},
- new uint[]{511},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{553},
- new uint[]{543},
- new uint[]{169},
- new uint[]{84},
- new uint[]{1385},
- Array.Empty(),
- new uint[]{627},
- new uint[]{439},
- Array.Empty(),
- new uint[]{448},
- new uint[]{448},
- new uint[]{521, 902, 905, 1859, 4396},
- new uint[]{522},
- new uint[]{550},
- new uint[]{542},
- new uint[]{536},
- Array.Empty(),
- Array.Empty(),
- Array.Empty(),
- new uint[]{523},
- new uint[]{535},
- new uint[]{528},
- new uint[]{531, 1728},
- new uint[]{532},
- new uint[]{4},
- new uint[]{523},
- Array.Empty(),
- Array.Empty(),
- new uint[]{10},
- new uint[]{5},
- Array.Empty(),
- new uint[]{140},
- new uint[]{139},
- new uint[]{924},
- new uint[]{923},
- new uint[]{923},
- new uint[]{944},
- new uint[]{690},
- new uint[]{925},
- new uint[]{943},
- new uint[]{925},
- new uint[]{929},
- new uint[]{1306},
- new uint[]{1304},
- new uint[]{928},
- new uint[]{1307},
- new uint[]{689},
- Array.Empty(),
- new uint[]{698},
- Array.Empty(),
- Array.Empty(),
- new uint[]{1694},
- new uint[]{789, 790, 1762, 1774, 1790},
- new uint[]{789, 1448, 1746, 1774, 1775},
- new uint[]{682, 794, 1111, 1737, 1754, 1770, 1781},
- new uint[]{793, 1770, 6725},
- Array.Empty