diff --git a/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2.corrupted.20250604-035022.reason.txt b/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2.corrupted.20250604-035022.reason.txt
new file mode 100644
index 0000000..7281aab
--- /dev/null
+++ b/.idea/dataSources/6689f15a-5cd0-40b0-970c-713db3e7bac2.corrupted.20250604-035022.reason.txt
@@ -0,0 +1,70 @@
+java.lang.IllegalStateException: Storage for [C:\Users\86157\AppData\Local\JetBrains\IntelliJIdea2024.3\data-source\3556057e\6689f15a-5cd0-40b0-970c-713db3e7bac2\entities\entities.dat] is already registered
+	at com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410)
+	at com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:74)
+	at com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:71)
+	at com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:130)
+	at com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:53)
+	at com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:166)
+	at com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:141)
+	at com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:91)
+	at com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:74)
+	at com.intellij.database.model.ModelEntityStoragePersistentBackend.opened(ModelEntityStoragePersistentBackend.kt:136)
+	at com.intellij.database.model.ModelEntityStoragePersistentBackend.<init>(ModelEntityStoragePersistentBackend.kt:86)
+	at com.intellij.database.model.ModelEntityStoragePersistentBackendKt$ourFlusher$1$create$1.invoke(ModelEntityStoragePersistentBackend.kt:45)
+	at com.intellij.database.model.ModelEntityStoragePersistentBackendKt$ourFlusher$1$create$1.invoke(ModelEntityStoragePersistentBackend.kt:45)
+	at com.intellij.database.model.ModelEntityStoragePersistentBackendKt$ourFlusher$1.create$lambda$0(ModelEntityStoragePersistentBackend.kt:45)
+	at java.base/java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:330)
+	at com.intellij.database.model.ModelEntityStoragePersistentBackendKt$ourFlusher$1.create(ModelEntityStoragePersistentBackend.kt:45)
+	at com.intellij.database.model.ModelEntityStoragePersistentBackendKt.create(ModelEntityStoragePersistentBackend.kt:76)
+	at com.intellij.database.dataSource.srcStorage.DbSrcModelStorage.createBackend(DbSrcModelStorage.java:298)
+	at com.intellij.database.dataSource.srcStorage.DbSrcModelStorage.createPersistentBackend(DbSrcModelStorage.java:288)
+	at com.intellij.database.dataSource.srcStorage.DbSrcModelStorage.createEntityStorage(DbSrcModelStorage.java:267)
+	at com.intellij.database.model.BaseModel.<init>(BaseModel.java:106)
+	at com.intellij.database.dialects.mysql.model.MysqlImplModel.<init>(MysqlImplModel.java:42)
+	at com.intellij.database.model.meta.BasicMetaModel.newModel(BasicMetaModel.java:60)
+	at com.intellij.database.model.ModelFacade.createModel(ModelFacade.java:31)
+	at com.intellij.database.model.ModelFactory.createModel(ModelFactory.kt:22)
+	at com.intellij.database.model.serialization.ModelImporter.deserializeFast(ModelImporter.java:94)
+	at com.intellij.database.model.serialization.ModelImporter.deserialize(ModelImporter.java:70)
+	at com.intellij.database.dataSource.DataSourceModelStorageImpl$Companion.readModel(DataSourceModelStorageImpl.kt:605)
+	at com.intellij.database.dataSource.DataSourceModelStorageImpl$Companion.readModel(DataSourceModelStorageImpl.kt:588)
+	at com.intellij.database.dataSource.DataSourceModelStorageImpl.readModel(DataSourceModelStorageImpl.kt:373)
+	at com.intellij.database.dataSource.DataSourceModelStorageImpl.loadModels(DataSourceModelStorageImpl.kt:262)
+	at com.intellij.database.dataSource.DataSourceModelStorageImpl.readStateHeavy(DataSourceModelStorageImpl.kt:161)
+	at com.intellij.database.dataSource.DataSourceModelStorageImpl.continueLoadingWhenInitialized$lambda$8$lambda$7$lambda$6$lambda$5(DataSourceModelStorageImpl.kt:144)
+	at com.intellij.openapi.progress.util.BackgroundTaskUtil.lambda$runUnderDisposeAwareIndicator$15(BackgroundTaskUtil.java:371)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:223)
+	at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:45)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:222)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:674)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:749)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:705)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:673)
+	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:203)
+	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:366)
+	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:349)
+	at com.intellij.database.dataSource.DataSourceModelStorageImpl.continueLoadingWhenInitialized$lambda$8$lambda$7$lambda$6(DataSourceModelStorageImpl.kt:143)
+	at com.intellij.database.util.AsyncTask$Frame$compute$$inlined$supply$1$1.run(AsyncTask.kt:338)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:674)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:749)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:705)
+	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:673)
+	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
+	at com.intellij.database.util.AsyncTask$Frame$compute$$inlined$supply$1.get(AsyncTask.kt:900)
+	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
+	at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:101)
+	at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:101)
+	at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:107)
+	at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:101)
+	at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27)
+	at com.intellij.database.dataSource.DataSourceModelStorageImpl$continueLoadingWhenInitialized$2$1$1$1$1.invokeSuspend(DataSourceModelStorageImpl.kt:142)
+	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
+	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
+	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
+	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
+	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
+	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
+	Suppressed: java.lang.Exception: Storage[C:\Users\86157\AppData\Local\JetBrains\IntelliJIdea2024.3\data-source\3556057e\6689f15a-5cd0-40b0-970c-713db3e7bac2\entities\entities.dat] registration stack trace
+		at com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437)
+		... 65 more
