diff --git a/.idea/.idea.Aaru/.idea/contentModel.xml b/.idea/.idea.Aaru/.idea/contentModel.xml
index b1b39462d..0ab577d5e 100644
--- a/.idea/.idea.Aaru/.idea/contentModel.xml
+++ b/.idea/.idea.Aaru/.idea/contentModel.xml
@@ -420,6 +420,8 @@
+
+
diff --git a/Aaru.CommonTypes b/Aaru.CommonTypes
index 0071240fc..ec984cc2b 160000
--- a/Aaru.CommonTypes
+++ b/Aaru.CommonTypes
@@ -1 +1 @@
-Subproject commit 0071240fc05ae2ce953027d14b397295df35dc14
+Subproject commit ec984cc2bde161c92610b9ce724065651ba1d105
diff --git a/Aaru.Database/Aaru.Database.csproj b/Aaru.Database/Aaru.Database.csproj
index 9ea4c1d09..6c428dea9 100644
--- a/Aaru.Database/Aaru.Database.csproj
+++ b/Aaru.Database/Aaru.Database.csproj
@@ -118,6 +118,8 @@
+
+
diff --git a/Aaru.Database/Migrations/20200711182425_AddFieldsForF1hCommand06hSubcommand.Designer.cs b/Aaru.Database/Migrations/20200711182425_AddFieldsForF1hCommand06hSubcommand.Designer.cs
new file mode 100644
index 000000000..05da0ac57
--- /dev/null
+++ b/Aaru.Database/Migrations/20200711182425_AddFieldsForF1hCommand06hSubcommand.Designer.cs
@@ -0,0 +1,2742 @@
+//
+using System;
+using Aaru.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+namespace Aaru.Database.Migrations
+{
+ [DbContext(typeof(AaruContext))]
+ [Migration("20200711182425_AddFieldsForF1hCommand06hSubcommand")]
+ partial class AddFieldsForF1hCommand06hSubcommand
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "3.1.5");
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Ata", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Identify")
+ .HasColumnType("BLOB");
+
+ b.Property("ReadCapabilitiesId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ReadCapabilitiesId");
+
+ b.ToTable("Ata");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.BlockDescriptor", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("BlockLength")
+ .HasColumnType("INTEGER");
+
+ b.Property("Blocks")
+ .HasColumnType("INTEGER");
+
+ b.Property("Density")
+ .HasColumnType("INTEGER");
+
+ b.Property("ScsiModeId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ScsiModeId");
+
+ b.ToTable("BlockDescriptor");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Chs", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Cylinders")
+ .HasColumnType("INTEGER");
+
+ b.Property("Heads")
+ .HasColumnType("INTEGER");
+
+ b.Property("Sectors")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("Chs");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.DensityCode", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Code")
+ .HasColumnType("INTEGER");
+
+ b.Property("SscSupportedMediaId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SscSupportedMediaId");
+
+ b.ToTable("DensityCode");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.FireWire", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Manufacturer")
+ .HasColumnType("TEXT");
+
+ b.Property("Product")
+ .HasColumnType("TEXT");
+
+ b.Property("ProductID")
+ .HasColumnType("INTEGER");
+
+ b.Property("RemovableMedia")
+ .HasColumnType("INTEGER");
+
+ b.Property("VendorID")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("FireWire");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.GdRomSwapDiscCapabilities", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba0Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba0DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba0Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba0ScrambledData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba0ScrambledDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba0ScrambledReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba0ScrambledSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba0Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioAudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("MaximumReadablePqInHdArea")
+ .HasColumnType("BLOB");
+
+ b.Property("MaximumReadableRwInHdArea")
+ .HasColumnType("BLOB");
+
+ b.Property("MaximumReadableSectorInHdArea")
+ .HasColumnType("INTEGER");
+
+ b.Property("MinimumReadableSectorInHdArea")
+ .HasColumnType("INTEGER");
+
+ b.Property("RecognizedSwapDisc")
+ .HasColumnType("INTEGER");
+
+ b.Property("SwapDiscLeadOutPFRAM")
+ .HasColumnType("INTEGER");
+
+ b.Property("SwapDiscLeadOutPMIN")
+ .HasColumnType("INTEGER");
+
+ b.Property("SwapDiscLeadOutPSEC")
+ .HasColumnType("INTEGER");
+
+ b.Property("SwapDiscLeadOutStart")
+ .HasColumnType("INTEGER");
+
+ b.Property("TestCrashed")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("GdRomSwapDiscCapabilities");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Mmc", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("FeaturesId")
+ .HasColumnType("INTEGER");
+
+ b.Property("ModeSense2AData")
+ .HasColumnType("BLOB");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FeaturesId");
+
+ b.ToTable("Mmc");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.MmcFeatures", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("AACSVersion")
+ .HasColumnType("INTEGER");
+
+ b.Property("AGIDs")
+ .HasColumnType("INTEGER");
+
+ b.Property("BinaryData")
+ .HasColumnType("BLOB");
+
+ b.Property("BindingNonceBlocks")
+ .HasColumnType("INTEGER");
+
+ b.Property("BlocksPerReadableUnit")
+ .HasColumnType("INTEGER");
+
+ b.Property("BufferUnderrunFreeInDVD")
+ .HasColumnType("INTEGER");
+
+ b.Property("BufferUnderrunFreeInSAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("BufferUnderrunFreeInTAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CPRMVersion")
+ .HasColumnType("INTEGER");
+
+ b.Property("CSSVersion")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanAudioScan")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanEject")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanEraseSector")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanExpandBDRESpareArea")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormat")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatBDREWithoutSpare")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatCert")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatFRF")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatQCert")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatRRM")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanGenerateBindingNonce")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanLoad")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanMuteSeparateChannels")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanOverwriteSAOTrack")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanOverwriteTAOTrack")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanPlayCDAudio")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanPseudoOverwriteBDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadAllDualR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadAllDualRW")
+ .HasColumnType("INTEGER");
+
+ b.Property