< Summary - Jellyfin

Line coverage
95%
Covered lines: 538
Uncovered lines: 26
Coverable lines: 564
Total lines: 630
Line coverage: 95.3%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 5/16/2026 - 12:15:55 AM Line coverage: 95.3% (538/564) Total lines: 630

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
File 1: Up(...)100%11100%
File 1: Down(...)100%210%
File 2: BuildTargetModel(...)100%11100%

File(s)

/srv/git/jellyfin/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20201204223655_AddCustomDisplayPreferences.cs

#LineLine coverage
 1#pragma warning disable CS1591
 2// <auto-generated />
 3using System;
 4using Microsoft.EntityFrameworkCore.Migrations;
 5
 6namespace Jellyfin.Server.Implementations.Migrations
 7{
 8    public partial class AddCustomDisplayPreferences : Migration
 9    {
 10        protected override void Up(MigrationBuilder migrationBuilder)
 11        {
 2712            migrationBuilder.DropIndex(
 2713                name: "IX_DisplayPreferences_UserId_Client",
 2714                schema: "jellyfin",
 2715                table: "DisplayPreferences");
 16
 2717            migrationBuilder.AlterColumn<int>(
 2718                name: "MaxActiveSessions",
 2719                schema: "jellyfin",
 2720                table: "Users",
 2721                type: "INTEGER",
 2722                nullable: false,
 2723                defaultValue: 0,
 2724                oldClrType: typeof(int),
 2725                oldType: "INTEGER",
 2726                oldNullable: true);
 27
 2728            migrationBuilder.AddColumn<Guid>(
 2729                name: "ItemId",
 2730                schema: "jellyfin",
 2731                table: "DisplayPreferences",
 2732                type: "TEXT",
 2733                nullable: false,
 2734                defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
 35
 2736            migrationBuilder.CreateTable(
 2737                name: "CustomItemDisplayPreferences",
 2738                schema: "jellyfin",
 2739                columns: table => new
 2740                {
 2741                    Id = table.Column<int>(type: "INTEGER", nullable: false)
 2742                        .Annotation("Sqlite:Autoincrement", true),
 2743                    UserId = table.Column<Guid>(type: "TEXT", nullable: false),
 2744                    ItemId = table.Column<Guid>(type: "TEXT", nullable: false),
 2745                    Client = table.Column<string>(type: "TEXT", maxLength: 32, nullable: false),
 2746                    Key = table.Column<string>(type: "TEXT", nullable: false),
 2747                    Value = table.Column<string>(type: "TEXT", nullable: false)
 2748                },
 2749                constraints: table =>
 2750                {
 2751                    table.PrimaryKey("PK_CustomItemDisplayPreferences", x => x.Id);
 2752                });
 53
 2754            migrationBuilder.CreateIndex(
 2755                name: "IX_DisplayPreferences_UserId_ItemId_Client",
 2756                schema: "jellyfin",
 2757                table: "DisplayPreferences",
 2758                columns: new[] { "UserId", "ItemId", "Client" },
 2759                unique: true);
 60
 2761            migrationBuilder.CreateIndex(
 2762                name: "IX_CustomItemDisplayPreferences_UserId",
 2763                schema: "jellyfin",
 2764                table: "CustomItemDisplayPreferences",
 2765                column: "UserId");
 66
 2767            migrationBuilder.CreateIndex(
 2768                name: "IX_CustomItemDisplayPreferences_UserId_ItemId_Client_Key",
 2769                schema: "jellyfin",
 2770                table: "CustomItemDisplayPreferences",
 2771                columns: new[] { "UserId", "ItemId", "Client", "Key" },
 2772                unique: true);
 2773        }
 74
 75        protected override void Down(MigrationBuilder migrationBuilder)
 76        {
 077            migrationBuilder.DropTable(
 078                name: "CustomItemDisplayPreferences",
 079                schema: "jellyfin");
 80
 081            migrationBuilder.DropIndex(
 082                name: "IX_DisplayPreferences_UserId_ItemId_Client",
 083                schema: "jellyfin",
 084                table: "DisplayPreferences");
 85
 086            migrationBuilder.DropColumn(
 087                name: "ItemId",
 088                schema: "jellyfin",
 089                table: "DisplayPreferences");
 90
 091            migrationBuilder.AlterColumn<int>(
 092                name: "MaxActiveSessions",
 093                schema: "jellyfin",
 094                table: "Users",
 095                type: "INTEGER",
 096                nullable: true,
 097                oldClrType: typeof(int),
 098                oldType: "INTEGER");
 99
 0100            migrationBuilder.CreateIndex(
 0101                name: "IX_DisplayPreferences_UserId_Client",
 0102                schema: "jellyfin",
 0103                table: "DisplayPreferences",
 0104                columns: new[] { "UserId", "Client" },
 0105                unique: true);
 0106        }
 107    }
 108}

/srv/git/jellyfin/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20201204223655_AddCustomDisplayPreferences.Designer.cs

#LineLine coverage
 1#pragma warning disable CS1591
 2// <auto-generated />
 3using System;
 4using Jellyfin.Database.Implementations;
 5using Microsoft.EntityFrameworkCore;
 6using Microsoft.EntityFrameworkCore.Infrastructure;
 7using Microsoft.EntityFrameworkCore.Migrations;
 8using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 9
 10namespace Jellyfin.Server.Implementations.Migrations
 11{
 12    [DbContext(typeof(JellyfinDbContext))]
 13    [Migration("20201204223655_AddCustomDisplayPreferences")]
 14    partial class AddCustomDisplayPreferences
 15    {
 16        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 17        {
 18#pragma warning disable 612, 618
 2719            modelBuilder
 2720                .HasDefaultSchema("jellyfin")
 2721                .HasAnnotation("ProductVersion", "5.0.0");
 22
 2723            modelBuilder.Entity("Jellyfin.Data.Entities.AccessSchedule", b =>
 2724                {
 2725                    b.Property<int>("Id")
 2726                        .ValueGeneratedOnAdd()
 2727                        .HasColumnType("INTEGER");
 2728
 2729                    b.Property<int>("DayOfWeek")
 2730                        .HasColumnType("INTEGER");
 2731
 2732                    b.Property<double>("EndHour")
 2733                        .HasColumnType("REAL");
 2734
 2735                    b.Property<double>("StartHour")
 2736                        .HasColumnType("REAL");
 2737
 2738                    b.Property<Guid>("UserId")
 2739                        .HasColumnType("TEXT");
 2740
 2741                    b.HasKey("Id");
 2742
 2743                    b.HasIndex("UserId");
 2744
 2745                    b.ToTable("AccessSchedules");
 2746                });
 47
 2748            modelBuilder.Entity("Jellyfin.Data.Entities.ActivityLog", b =>
 2749                {
 2750                    b.Property<int>("Id")
 2751                        .ValueGeneratedOnAdd()
 2752                        .HasColumnType("INTEGER");
 2753
 2754                    b.Property<DateTime>("DateCreated")
 2755                        .HasColumnType("TEXT");
 2756
 2757                    b.Property<string>("ItemId")
 2758                        .HasMaxLength(256)
 2759                        .HasColumnType("TEXT");
 2760
 2761                    b.Property<int>("LogSeverity")
 2762                        .HasColumnType("INTEGER");
 2763
 2764                    b.Property<string>("Name")
 2765                        .IsRequired()
 2766                        .HasMaxLength(512)
 2767                        .HasColumnType("TEXT");
 2768
 2769                    b.Property<string>("Overview")
 2770                        .HasMaxLength(512)
 2771                        .HasColumnType("TEXT");
 2772
 2773                    b.Property<uint>("RowVersion")
 2774                        .IsConcurrencyToken()
 2775                        .HasColumnType("INTEGER");
 2776
 2777                    b.Property<string>("ShortOverview")
 2778                        .HasMaxLength(512)
 2779                        .HasColumnType("TEXT");
 2780
 2781                    b.Property<string>("Type")
 2782                        .IsRequired()
 2783                        .HasMaxLength(256)
 2784                        .HasColumnType("TEXT");
 2785
 2786                    b.Property<Guid>("UserId")
 2787                        .HasColumnType("TEXT");
 2788
 2789                    b.HasKey("Id");
 2790
 2791                    b.ToTable("ActivityLogs");
 2792                });
 93
 2794            modelBuilder.Entity("Jellyfin.Data.Entities.CustomItemDisplayPreferences", b =>
 2795                {
 2796                    b.Property<int>("Id")
 2797                        .ValueGeneratedOnAdd()
 2798                        .HasColumnType("INTEGER");
 2799
 27100                    b.Property<string>("Client")
 27101                        .IsRequired()
 27102                        .HasMaxLength(32)
 27103                        .HasColumnType("TEXT");
 27104
 27105                    b.Property<Guid>("ItemId")
 27106                        .HasColumnType("TEXT");
 27107
 27108                    b.Property<string>("Key")
 27109                        .IsRequired()
 27110                        .HasColumnType("TEXT");
 27111
 27112                    b.Property<Guid>("UserId")
 27113                        .HasColumnType("TEXT");
 27114
 27115                    b.Property<string>("Value")
 27116                        .IsRequired()
 27117                        .HasColumnType("TEXT");
 27118
 27119                    b.HasKey("Id");
 27120
 27121                    b.HasIndex("UserId");
 27122
 27123                    b.HasIndex("UserId", "ItemId", "Client", "Key")
 27124                        .IsUnique();
 27125
 27126                    b.ToTable("CustomItemDisplayPreferences");
 27127                });
 128
 27129            modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
 27130                {
 27131                    b.Property<int>("Id")
 27132                        .ValueGeneratedOnAdd()
 27133                        .HasColumnType("INTEGER");
 27134
 27135                    b.Property<int>("ChromecastVersion")
 27136                        .HasColumnType("INTEGER");
 27137
 27138                    b.Property<string>("Client")
 27139                        .IsRequired()
 27140                        .HasMaxLength(32)
 27141                        .HasColumnType("TEXT");
 27142
 27143                    b.Property<string>("DashboardTheme")
 27144                        .HasMaxLength(32)
 27145                        .HasColumnType("TEXT");
 27146
 27147                    b.Property<bool>("EnableNextVideoInfoOverlay")
 27148                        .HasColumnType("INTEGER");
 27149
 27150                    b.Property<int?>("IndexBy")
 27151                        .HasColumnType("INTEGER");
 27152
 27153                    b.Property<Guid>("ItemId")
 27154                        .HasColumnType("TEXT");
 27155
 27156                    b.Property<int>("ScrollDirection")
 27157                        .HasColumnType("INTEGER");
 27158
 27159                    b.Property<bool>("ShowBackdrop")
 27160                        .HasColumnType("INTEGER");
 27161
 27162                    b.Property<bool>("ShowSidebar")
 27163                        .HasColumnType("INTEGER");
 27164
 27165                    b.Property<int>("SkipBackwardLength")
 27166                        .HasColumnType("INTEGER");
 27167
 27168                    b.Property<int>("SkipForwardLength")
 27169                        .HasColumnType("INTEGER");
 27170
 27171                    b.Property<string>("TvHome")
 27172                        .HasMaxLength(32)
 27173                        .HasColumnType("TEXT");
 27174
 27175                    b.Property<Guid>("UserId")
 27176                        .HasColumnType("TEXT");
 27177
 27178                    b.HasKey("Id");
 27179
 27180                    b.HasIndex("UserId");
 27181
 27182                    b.HasIndex("UserId", "ItemId", "Client")
 27183                        .IsUnique();
 27184
 27185                    b.ToTable("DisplayPreferences");
 27186                });
 187
 27188            modelBuilder.Entity("Jellyfin.Data.Entities.HomeSection", b =>
 27189                {
 27190                    b.Property<int>("Id")
 27191                        .ValueGeneratedOnAdd()
 27192                        .HasColumnType("INTEGER");
 27193
 27194                    b.Property<int>("DisplayPreferencesId")
 27195                        .HasColumnType("INTEGER");
 27196
 27197                    b.Property<int>("Order")
 27198                        .HasColumnType("INTEGER");
 27199
 27200                    b.Property<int>("Type")
 27201                        .HasColumnType("INTEGER");
 27202
 27203                    b.HasKey("Id");
 27204
 27205                    b.HasIndex("DisplayPreferencesId");
 27206
 27207                    b.ToTable("HomeSection");
 27208                });
 209
 27210            modelBuilder.Entity("Jellyfin.Data.Entities.ImageInfo", b =>
 27211                {
 27212                    b.Property<int>("Id")
 27213                        .ValueGeneratedOnAdd()
 27214                        .HasColumnType("INTEGER");
 27215
 27216                    b.Property<DateTime>("LastModified")
 27217                        .HasColumnType("TEXT");
 27218
 27219                    b.Property<string>("Path")
 27220                        .IsRequired()
 27221                        .HasMaxLength(512)
 27222                        .HasColumnType("TEXT");
 27223
 27224                    b.Property<Guid?>("UserId")
 27225                        .HasColumnType("TEXT");
 27226
 27227                    b.HasKey("Id");
 27228
 27229                    b.HasIndex("UserId")
 27230                        .IsUnique();
 27231
 27232                    b.ToTable("ImageInfos");
 27233                });
 234
 27235            modelBuilder.Entity("Jellyfin.Data.Entities.ItemDisplayPreferences", b =>
 27236                {
 27237                    b.Property<int>("Id")
 27238                        .ValueGeneratedOnAdd()
 27239                        .HasColumnType("INTEGER");
 27240
 27241                    b.Property<string>("Client")
 27242                        .IsRequired()
 27243                        .HasMaxLength(32)
 27244                        .HasColumnType("TEXT");
 27245
 27246                    b.Property<int?>("IndexBy")
 27247                        .HasColumnType("INTEGER");
 27248
 27249                    b.Property<Guid>("ItemId")
 27250                        .HasColumnType("TEXT");
 27251
 27252                    b.Property<bool>("RememberIndexing")
 27253                        .HasColumnType("INTEGER");
 27254
 27255                    b.Property<bool>("RememberSorting")
 27256                        .HasColumnType("INTEGER");
 27257
 27258                    b.Property<string>("SortBy")
 27259                        .IsRequired()
 27260                        .HasMaxLength(64)
 27261                        .HasColumnType("TEXT");
 27262
 27263                    b.Property<int>("SortOrder")
 27264                        .HasColumnType("INTEGER");
 27265
 27266                    b.Property<Guid>("UserId")
 27267                        .HasColumnType("TEXT");
 27268
 27269                    b.Property<int>("ViewType")
 27270                        .HasColumnType("INTEGER");
 27271
 27272                    b.HasKey("Id");
 27273
 27274                    b.HasIndex("UserId");
 27275
 27276                    b.ToTable("ItemDisplayPreferences");
 27277                });
 278
 27279            modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
 27280                {
 27281                    b.Property<int>("Id")
 27282                        .ValueGeneratedOnAdd()
 27283                        .HasColumnType("INTEGER");
 27284
 27285                    b.Property<int>("Kind")
 27286                        .HasColumnType("INTEGER");
 27287
 27288                    b.Property<Guid?>("Permission_Permissions_Guid")
 27289                        .HasColumnType("TEXT");
 27290
 27291                    b.Property<uint>("RowVersion")
 27292                        .IsConcurrencyToken()
 27293                        .HasColumnType("INTEGER");
 27294
 27295                    b.Property<bool>("Value")
 27296                        .HasColumnType("INTEGER");
 27297
 27298                    b.HasKey("Id");
 27299
 27300                    b.HasIndex("Permission_Permissions_Guid");
 27301
 27302                    b.ToTable("Permissions");
 27303                });
 304
 27305            modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
 27306                {
 27307                    b.Property<int>("Id")
 27308                        .ValueGeneratedOnAdd()
 27309                        .HasColumnType("INTEGER");
 27310
 27311                    b.Property<int>("Kind")
 27312                        .HasColumnType("INTEGER");
 27313
 27314                    b.Property<Guid?>("Preference_Preferences_Guid")
 27315                        .HasColumnType("TEXT");
 27316
 27317                    b.Property<uint>("RowVersion")
 27318                        .IsConcurrencyToken()
 27319                        .HasColumnType("INTEGER");
 27320
 27321                    b.Property<string>("Value")
 27322                        .IsRequired()
 27323                        .HasMaxLength(65535)
 27324                        .HasColumnType("TEXT");
 27325
 27326                    b.HasKey("Id");
 27327
 27328                    b.HasIndex("Preference_Preferences_Guid");
 27329
 27330                    b.ToTable("Preferences");
 27331                });
 332
 27333            modelBuilder.Entity("Jellyfin.Data.Entities.User", b =>
 27334                {
 27335                    b.Property<Guid>("Id")
 27336                        .ValueGeneratedOnAdd()
 27337                        .HasColumnType("TEXT");
 27338
 27339                    b.Property<string>("AudioLanguagePreference")
 27340                        .HasMaxLength(255)
 27341                        .HasColumnType("TEXT");
 27342
 27343                    b.Property<string>("AuthenticationProviderId")
 27344                        .IsRequired()
 27345                        .HasMaxLength(255)
 27346                        .HasColumnType("TEXT");
 27347
 27348                    b.Property<bool>("DisplayCollectionsView")
 27349                        .HasColumnType("INTEGER");
 27350
 27351                    b.Property<bool>("DisplayMissingEpisodes")
 27352                        .HasColumnType("INTEGER");
 27353
 27354                    b.Property<string>("EasyPassword")
 27355                        .HasMaxLength(65535)
 27356                        .HasColumnType("TEXT");
 27357
 27358                    b.Property<bool>("EnableAutoLogin")
 27359                        .HasColumnType("INTEGER");
 27360
 27361                    b.Property<bool>("EnableLocalPassword")
 27362                        .HasColumnType("INTEGER");
 27363
 27364                    b.Property<bool>("EnableNextEpisodeAutoPlay")
 27365                        .HasColumnType("INTEGER");
 27366
 27367                    b.Property<bool>("EnableUserPreferenceAccess")
 27368                        .HasColumnType("INTEGER");
 27369
 27370                    b.Property<bool>("HidePlayedInLatest")
 27371                        .HasColumnType("INTEGER");
 27372
 27373                    b.Property<long>("InternalId")
 27374                        .HasColumnType("INTEGER");
 27375
 27376                    b.Property<int>("InvalidLoginAttemptCount")
 27377                        .HasColumnType("INTEGER");
 27378
 27379                    b.Property<DateTime?>("LastActivityDate")
 27380                        .HasColumnType("TEXT");
 27381
 27382                    b.Property<DateTime?>("LastLoginDate")
 27383                        .HasColumnType("TEXT");
 27384
 27385                    b.Property<int?>("LoginAttemptsBeforeLockout")
 27386                        .HasColumnType("INTEGER");
 27387
 27388                    b.Property<int>("MaxActiveSessions")
 27389                        .HasColumnType("INTEGER");
 27390
 27391                    b.Property<int?>("MaxParentalAgeRating")
 27392                        .HasColumnType("INTEGER");
 27393
 27394                    b.Property<bool>("MustUpdatePassword")
 27395                        .HasColumnType("INTEGER");
 27396
 27397                    b.Property<string>("Password")
 27398                        .HasMaxLength(65535)
 27399                        .HasColumnType("TEXT");
 27400
 27401                    b.Property<string>("PasswordResetProviderId")
 27402                        .IsRequired()
 27403                        .HasMaxLength(255)
 27404                        .HasColumnType("TEXT");
 27405
 27406                    b.Property<bool>("PlayDefaultAudioTrack")
 27407                        .HasColumnType("INTEGER");
 27408
 27409                    b.Property<bool>("RememberAudioSelections")
 27410                        .HasColumnType("INTEGER");
 27411
 27412                    b.Property<bool>("RememberSubtitleSelections")
 27413                        .HasColumnType("INTEGER");
 27414
 27415                    b.Property<int?>("RemoteClientBitrateLimit")
 27416                        .HasColumnType("INTEGER");
 27417
 27418                    b.Property<uint>("RowVersion")
 27419                        .IsConcurrencyToken()
 27420                        .HasColumnType("INTEGER");
 27421
 27422                    b.Property<string>("SubtitleLanguagePreference")
 27423                        .HasMaxLength(255)
 27424                        .HasColumnType("TEXT");
 27425
 27426                    b.Property<int>("SubtitleMode")
 27427                        .HasColumnType("INTEGER");
 27428
 27429                    b.Property<int>("SyncPlayAccess")
 27430                        .HasColumnType("INTEGER");
 27431
 27432                    b.Property<string>("Username")
 27433                        .IsRequired()
 27434                        .HasMaxLength(255)
 27435                        .HasColumnType("TEXT");
 27436
 27437                    b.HasKey("Id");
 27438
 27439                    b.ToTable("Users");
 27440                });
 441
 27442            modelBuilder.Entity("Jellyfin.Data.Entities.AccessSchedule", b =>
 27443                {
 27444                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27445                        .WithMany("AccessSchedules")
 27446                        .HasForeignKey("UserId")
 27447                        .OnDelete(DeleteBehavior.Cascade)
 27448                        .IsRequired();
 27449                });
 450
 27451            modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
 27452                {
 27453                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27454                        .WithOne("DisplayPreferences")
 27455                        .HasForeignKey("Jellyfin.Data.Entities.DisplayPreferences", "UserId")
 27456                        .OnDelete(DeleteBehavior.Cascade)
 27457                        .IsRequired();
 27458                });
 459
 27460            modelBuilder.Entity("Jellyfin.Data.Entities.HomeSection", b =>
 27461                {
 27462                    b.HasOne("Jellyfin.Data.Entities.DisplayPreferences", null)
 27463                        .WithMany("HomeSections")
 27464                        .HasForeignKey("DisplayPreferencesId")
 27465                        .OnDelete(DeleteBehavior.Cascade)
 27466                        .IsRequired();
 27467                });
 468
 27469            modelBuilder.Entity("Jellyfin.Data.Entities.ImageInfo", b =>
 27470                {
 27471                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27472                        .WithOne("ProfileImage")
 27473                        .HasForeignKey("Jellyfin.Data.Entities.ImageInfo", "UserId");
 27474                });
 475
 27476            modelBuilder.Entity("Jellyfin.Data.Entities.ItemDisplayPreferences", b =>
 27477                {
 27478                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27479                        .WithMany("ItemDisplayPreferences")
 27480                        .HasForeignKey("UserId")
 27481                        .OnDelete(DeleteBehavior.Cascade)
 27482                        .IsRequired();
 27483                });
 484
 27485            modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
 27486                {
 27487                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27488                        .WithMany("Permissions")
 27489                        .HasForeignKey("Permission_Permissions_Guid");
 27490                });
 491
 27492            modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
 27493                {
 27494                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27495                        .WithMany("Preferences")
 27496                        .HasForeignKey("Preference_Preferences_Guid");
 27497                });
 498
 27499            modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
 27500                {
 27501                    b.Navigation("HomeSections");
 27502                });
 503
 27504            modelBuilder.Entity("Jellyfin.Data.Entities.User", b =>
 27505                {
 27506                    b.Navigation("AccessSchedules");
 27507
 27508                    b.Navigation("DisplayPreferences")
 27509                        .IsRequired();
 27510
 27511                    b.Navigation("ItemDisplayPreferences");
 27512
 27513                    b.Navigation("Permissions");
 27514
 27515                    b.Navigation("Preferences");
 27516
 27517                    b.Navigation("ProfileImage");
 27518                });
 519#pragma warning restore 612, 618
 27520        }
 521    }
 522}