新增UINT128

This commit is contained in:
Longfeng Qin 2024-12-08 21:04:08 +08:00
parent 01ba3e4b83
commit 87253d5476
5 changed files with 397 additions and 4 deletions

View File

@ -69,7 +69,7 @@ namespace PSO2SERVER.Models
//Luster1 << 14即 163840x4000
[Flags]
public enum ClassTypeField : ushort
public enum ClassFlags : ushort
{
Hunter = 1 << 0,
Ranger = 1 << 1,
@ -135,7 +135,7 @@ namespace PSO2SERVER.Models
Hovering = 11
}
public enum Race : ushort
public enum RaceFlags : ushort
{
Unknown = 0xFFFF,
Human = 0,

View File

@ -13,7 +13,7 @@ namespace PSO2SERVER.Models
public unsafe struct LooksParam
{
public RunAnimation running_animation;
public Race race;
public RaceFlags race;
public Gender gender;
public ushort Muscule;
public Figure Body;
@ -92,7 +92,7 @@ namespace PSO2SERVER.Models
public ClassType mainClass;//1
public ClassType subClass;//1
public ushort unk2;//2
public ClassTypeField enabledClasses;//2
public ClassFlags enabledClasses;//2
public ushort unk3;//2
public Entries entries; //TODO: Make this a fixed array 24 * 8
public fixed ushort unk_maxlevel[15];//30

View File

@ -0,0 +1,211 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.AccessControl;
using System.Text;
using System.Threading.Tasks;
using UltimateOrb;
namespace PSO2SERVER.Models
{
// Enum for ItemAttributes
public enum ItemAttributes
{
PC,
Vita
}
// Base class for ItemAttributes
[Serializable]
public class ItemAttributesBase
{
public uint Unk1 { get; set; }
public UInt128 Unk2 { get; set; }
}
// PC ItemAttributes (NA and JP client)
[Serializable]
public class ItemAttributesPC : ItemAttributesBase
{
public List<WeaponAttrs> Weapons { get; set; } = new List<WeaponAttrs>();
public List<HumanCostume> HumanCostumes { get; set; } = new List<HumanCostume>();
public List<CastPart> CastParts { get; set; } = new List<CastPart>();
public List<Consumable> Consumables { get; set; } = new List<Consumable>();
public List<Data5> Data5 { get; set; } = new List<Data5>();
public List<Unit> Data6 { get; set; } = new List<Unit>();
public List<Data7> Data7 { get; set; } = new List<Data7>();
public List<Data8> Data8 { get; set; } = new List<Data8>();
public List<Data9> Data9 { get; set; } = new List<Data9>();
public List<Data10> Data10 { get; set; } = new List<Data10>();
public List<Data11> Data11 { get; set; } = new List<Data11>();
public List<Data12> Data12 { get; set; } = new List<Data12>();
public List<Data13> Data13 { get; set; } = new List<Data13>();
public List<Data14> Data14 { get; set; } = new List<Data14>();
public List<Data15> Data15 { get; set; } = new List<Data15>();
public List<Data16> Data16 { get; set; } = new List<Data16>();
public List<Data17> Data17 { get; set; } = new List<Data17>();
public List<ShortData> Data18 { get; set; } = new List<ShortData>(); // Fixed length can be manually handled
public List<Data19> Data19 { get; set; } = new List<Data19>();
public List<Data20> Data20 { get; set; } = new List<Data20>();
}
// Vita ItemAttributes (Vita client)
[Serializable]
public class ItemAttributesVita : ItemAttributesBase
{
public List<WeaponAttrs> Weapons { get; set; } = new List<WeaponAttrs>();
public List<HumanCostume> HumanCostumes { get; set; } = new List<HumanCostume>();
public List<CastPart> CastParts { get; set; } = new List<CastPart>();
public List<Consumable> Consumables { get; set; } = new List<Consumable>();
public List<Data5> Data5 { get; set; } = new List<Data5>();
public List<Unit> Data6 { get; set; } = new List<Unit>();
public List<Data7> Data7 { get; set; } = new List<Data7>();
public List<Data8> Data8 { get; set; } = new List<Data8>();
public List<Data9> Data9 { get; set; } = new List<Data9>();
public List<Data10> Data10 { get; set; } = new List<Data10>();
public List<Data11> Data11 { get; set; } = new List<Data11>();
public List<Data12> Data12 { get; set; } = new List<Data12>();
public List<Data13> Data13 { get; set; } = new List<Data13>();
public List<Data14> Data14 { get; set; } = new List<Data14>();
public List<Data15> Data15 { get; set; } = new List<Data15>();
public List<Data16> Data16 { get; set; } = new List<Data16>();
public List<Data17> Data17 { get; set; } = new List<Data17>();
public List<ShortData> Data18 { get; set; } = new List<ShortData>(); // Fixed length can be manually handled
public List<Data19Vita> Data19 { get; set; } = new List<Data19Vita>();
public List<Data20> Data20 { get; set; } = new List<Data20>();
}
// Example of a simple class, could be for one of the referenced types
[Serializable]
public class WeaponAttrs
{
// Item category
public ushort Id { get; set; }
// Item ID
public ushort Subid { get; set; }
public byte Unk1 { get; set; }
public byte Priority { get; set; }
public byte Unk2 { get; set; }
public byte Priority2 { get; set; }
// Item rarity in stars
public byte Rarity { get; set; }
public ushort Flags { get; set; }
public byte Unk3 { get; set; }
public ushort IconList { get; set; }
public ushort IconIndex { get; set; }
// Range damage
public ushort RangeDmg { get; set; }
public byte Unk4 { get; set; }
// Melee damage
public ushort MeleeDmg { get; set; }
public byte Unk5 { get; set; }
public uint Unk6 { get; set; }
// Force damage and equipable genders
public GenderDmg GenderForceDmg { get; set; }
public byte[] Unk8 { get; set; } = new byte[4];
// Equipable races
public RaceFlags Race { get; set; }
public byte Flags2 { get; set; }
// Equipable classes
public ClassFlags Class { get; set; }
// Required stat value
public ushort ReqStat { get; set; }
// Required stat type
public StatType ReqStatType { get; set; }
public byte Unk9 { get; set; }
public ushort Model { get; set; }
public uint Unk10 { get; set; }
public ushort Unk11 { get; set; }
public ushort AffixFlag { get; set; }
public ushort Unk12 { get; set; }
}
[Serializable]
public class HumanCostume
{
// Properties specific to HumanCostume
}
[Serializable]
public class CastPart
{
// Properties specific to CastPart
}
[Serializable]
public class Consumable
{
// Properties specific to Consumable
}
[Serializable]
public class Data5
{
// Properties specific to Data5
}
// More data types (e.g., Data7, Data8, etc.) need to be created similarly
public class Unit { }
public class Data7 { }
public class Data8 { }
public class Data9 { }
public class Data10 { }
public class Data11 { }
public class Data12 { }
public class Data13 { }
public class Data14 { }
public class Data15 { }
public class Data16 { }
public class Data17 { }
public class ShortData { }
public class Data19 { }
public class Data19Vita { }
public class Data20 { }
public struct GenderDmg
{
/// Force damage.
public ushort force_dmg;
/// Equipable genders.
public Gender gender;
}
public enum StatType
{
// MEL power.
MELPwr = 0,
// RNG power.
RNGPwr = 1,
// TEC power.
TECPwr = 2,
// DEX.
DEX = 3,
// MEL defence.
MELDef = 4,
// RNG defence.
RNGDef = 5,
// TEC defence.
TECDef = 6
}
public static class StatTypeExtensions
{
public static StatType Default => StatType.MELPwr;
}
}

View File

@ -108,6 +108,11 @@
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="MySql.Data, Version=9.0.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.9.0.0\lib\net48\MySql.Data.dll</HintPath>
</Reference>
@ -118,13 +123,24 @@
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.AppContext, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration.ConfigurationManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Configuration.ConfigurationManager.8.0.0\lib\net462\System.Configuration.ConfigurationManager.dll</HintPath>
</Reference>
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data.Linq" />
<Reference Include="System.ComponentModel.DataAnnotations" />
@ -135,29 +151,147 @@
<Reference Include="System.Diagnostics.DiagnosticSource, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.8.0.1\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Diagnostics.Tracing, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Half, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Half.1.0.0\lib\netstandard2.0\System.Half.dll</HintPath>
</Reference>
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.8.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Linq.Expressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Reflection, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="UltimateOrb.Int128, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UltimateOrb.Int128.1.0.8\lib\netstandard2.0\UltimateOrb.Int128.dll</HintPath>
</Reference>
<Reference Include="UltimateOrb.Mathematics.DoubleArithmetic.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UltimateOrb.Mathematics.DoubleArithmetic.Core.1.2.12\lib\netstandard1.0\UltimateOrb.Mathematics.DoubleArithmetic.Core.dll</HintPath>
</Reference>
<Reference Include="ZstdSharp, Version=0.8.1.0, Culture=neutral, PublicKeyToken=8d151af33a4ad5cf, processorArchitecture=MSIL">
<HintPath>..\packages\ZstdSharp.Port.0.8.1\lib\net462\ZstdSharp.dll</HintPath>
</Reference>
@ -174,6 +308,7 @@
<Compile Include="Models\CharacterAdditionalStruct.cs" />
<Compile Include="Models\FixedTypes.cs" />
<Compile Include="Models\Flags.cs" />
<Compile Include="Models\ItemAttributes.cs" />
<Compile Include="Models\Mission.cs" />
<Compile Include="Models\NetInterface.cs" />
<Compile Include="Models\Orders.cs" />

View File

@ -9,16 +9,63 @@
<package id="K4os.Compression.LZ4.Streams" version="1.3.8" targetFramework="net48" />
<package id="K4os.Hash.xxHash" version="1.0.8" targetFramework="net48" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net48" />
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net48" />
<package id="MySql.Data" version="9.0.0" targetFramework="net48" />
<package id="MySql.Data.EntityFramework" version="9.0.0" targetFramework="net48" />
<package id="NETStandard.Library" version="1.6.1" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="System.AppContext" version="4.3.0" targetFramework="net48" />
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
<package id="System.Collections" version="4.3.0" targetFramework="net48" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net48" />
<package id="System.Configuration.ConfigurationManager" version="8.0.0" targetFramework="net48" />
<package id="System.Console" version="4.3.0" targetFramework="net48" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net48" />
<package id="System.Diagnostics.DiagnosticSource" version="8.0.1" targetFramework="net48" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net48" />
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net48" />
<package id="System.Globalization" version="4.3.0" targetFramework="net48" />
<package id="System.Globalization.Calendars" version="4.3.0" targetFramework="net48" />
<package id="System.IO" version="4.3.0" targetFramework="net48" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net48" />
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="net48" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net48" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.IO.Pipelines" version="8.0.0" targetFramework="net48" />
<package id="System.Linq" version="4.3.0" targetFramework="net48" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net48" />
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
<package id="System.Net.Http" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net48" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="net48" />
<package id="System.Reflection" version="4.3.0" targetFramework="net48" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net48" />
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.Handles" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net48" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net48" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net48" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net48" />
<package id="System.Threading" version="4.3.0" targetFramework="net48" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net48" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net48" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net48" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net48" />
<package id="UltimateOrb.Int128" version="1.0.8" targetFramework="net48" />
<package id="UltimateOrb.Mathematics.DoubleArithmetic.Core" version="1.2.12" targetFramework="net48" />
<package id="ZstdSharp.Port" version="0.8.1" targetFramework="net48" />
</packages>