From d557ca52f3619bf8c9e854dd803dd48a92045351 Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Sat, 25 Jun 2022 23:48:21 -0400 Subject: [PATCH 01/10] Update type library and fix defect with removeWeaponPresetRestriction --- .../dist/models/IConfig.ts | 7 +- .../ZEreshkigal-AllinOneMod/dist/package.json | 2 +- .../ZEreshkigal-AllinOneMod/dist/src/items.ts | 10 +- .../dist/types/Utils.d.ts | 0 .../dist/types/callbacks/BotCallbacks.d.ts | 4 +- .../dist/types/callbacks/BundleCallbacks.d.ts | 13 +- .../callbacks/CustomizationCallbacks.d.ts | 6 +- .../dist/types/callbacks/DataCallbacks.d.ts | 4 +- .../types/callbacks/DialogueCallbacks.d.ts | 8 +- .../dist/types/callbacks/GameCallbacks.d.ts | 6 +- .../types/callbacks/HandbookCallbacks.d.ts | 2 +- .../dist/types/callbacks/HealthCallbacks.d.ts | 6 +- .../types/callbacks/HideoutCallbacks.d.ts | 7 +- .../dist/types/callbacks/HttpCallbacks.d.ts | 2 +- .../dist/types/callbacks/InraidCallbacks.d.ts | 12 +- .../types/callbacks/InsuranceCallbacks.d.ts | 11 +- .../types/callbacks/InventoryCallbacks.d.ts | 2 +- .../types/callbacks/ItemEventCallbacks.d.ts | 4 +- .../types/callbacks/LauncherCallbacks.d.ts | 8 +- .../types/callbacks/LocationCallbacks.d.ts | 4 +- .../dist/types/callbacks/MatchCallbacks.d.ts | 8 +- .../dist/types/callbacks/ModCallbacks.d.ts | 13 +- .../dist/types/callbacks/NoteCallbacks.d.ts | 2 +- .../types/callbacks/NotifierCallbacks.d.ts | 8 +- .../types/callbacks/PresetBuildCallbacks.d.ts | 4 +- .../dist/types/callbacks/PresetCallbacks.d.ts | 2 +- .../types/callbacks/ProfileCallbacks.d.ts | 6 +- .../dist/types/callbacks/QuestCallbacks.d.ts | 6 +- .../types/callbacks/RagfairCallbacks.d.ts | 17 +- .../dist/types/callbacks/RepairCallbacks.d.ts | 2 +- .../dist/types/callbacks/SaveCallbacks.d.ts | 2 +- .../dist/types/callbacks/TradeCallbacks.d.ts | 2 +- .../dist/types/callbacks/TraderCallbacks.d.ts | 4 +- .../types/callbacks/WeatherCallbacks.d.ts | 4 +- .../types/callbacks/WishlistCallbacks.d.ts | 2 +- .../dist/types/controllers/BotController.d.ts | 29 +- .../controllers/CustomizationController.d.ts | 12 +- .../types/controllers/DialogueController.d.ts | 12 +- .../types/controllers/GameController.d.ts | 37 +- .../types/controllers/HandbookController.d.ts | 4 +- .../types/controllers/HealthController.d.ts | 12 +- .../types/controllers/HideoutController.d.ts | 46 +- .../types/controllers/InraidController.d.ts | 25 +- .../controllers/InsuranceController.d.ts | 27 +- .../controllers/InventoryController.d.ts | 18 +- .../types/controllers/LauncherController.d.ts | 15 +- .../types/controllers/LocationController.d.ts | 10 +- .../types/controllers/MatchController.d.ts | 18 +- .../types/controllers/NoteController.d.ts | 2 +- .../types/controllers/NotifierController.d.ts | 10 +- .../controllers/PresetBuildController.d.ts | 8 +- .../types/controllers/PresetController.d.ts | 4 +- .../types/controllers/ProfileController.d.ts | 14 +- .../types/controllers/QuestController.d.ts | 63 +- .../types/controllers/RagfairController.d.ts | 49 +- .../types/controllers/RepairController.d.ts | 22 +- .../RepeatableQuestController.d.ts | 36 +- .../types/controllers/TradeController.d.ts | 10 +- .../types/controllers/TraderController.d.ts | 16 +- .../types/controllers/WeatherController.d.ts | 7 +- .../types/controllers/WishlistController.d.ts | 2 +- .../dist/types/generators/BotGenerator.d.ts | 50 +- .../generators/BotInventoryGenerator.d.ts | 22 +- .../types/generators/BotLootGenerator.d.ts | 26 +- .../types/generators/BotWeaponGenerator.d.ts | 96 +- .../types/generators/LocationGenerator.d.ts | 42 +- .../types/generators/PMCLootGenerator.d.ts | 13 +- .../generators/RagfairAssortGenerator.d.ts | 16 +- .../generators/RagfairOfferGenerator.d.ts | 51 +- .../types/generators/WeatherGenerator.d.ts | 32 +- .../dist/types/helpers/AssortHelper.d.ts | 32 +- .../types/helpers/BotGeneratorHelper.d.ts | 105 ++- .../dist/types/helpers/BotHelper.d.ts | 34 +- .../dist/types/helpers/ContainerHelper.d.ts | 2 +- .../dist/types/helpers/DialogueHelper.d.ts | 12 +- .../types/helpers/DurabilityLimitsHelper.d.ts | 29 +- .../types/helpers/ExtendedProfileHelper.d.ts | 18 +- .../dist/types/helpers/GameEventHelper.d.ts | 2 +- .../dist/types/helpers/GameHelper.d.ts | 11 + .../dist/types/helpers/HandbookHelper.d.ts | 2 +- .../dist/types/helpers/HealthHelper.d.ts | 24 +- .../dist/types/helpers/HideoutHelper.d.ts | 60 +- .../dist/types/helpers/HttpServerHelper.d.ts | 17 +- .../dist/types/helpers/InRaidHelper.d.ts | 16 +- .../dist/types/helpers/InventoryHelper.d.ts | 48 +- .../dist/types/helpers/ItemHelper.d.ts | 12 +- .../types/helpers/NotificationSendHelper.d.ts | 4 +- .../dist/types/helpers/NotifierHelper.d.ts | 4 +- .../dist/types/helpers/PresetHelper.d.ts | 4 +- .../dist/types/helpers/ProbabilityHelper.d.ts | 14 + .../dist/types/helpers/ProfileHelper.d.ts | 4 +- .../types/helpers/QuestConditionHelper.d.ts | 2 +- .../dist/types/helpers/QuestHelper.d.ts | 52 +- .../dist/types/helpers/RagfairHelper.d.ts | 24 +- .../types/helpers/RagfairOfferHelper.d.ts | 47 +- .../dist/types/helpers/RagfairSellHelper.d.ts | 11 +- .../types/helpers/RagfairServerHelper.d.ts | 28 +- .../dist/types/helpers/RagfairSortHelper.d.ts | 12 +- .../dist/types/helpers/RagfairTaxHelper.d.ts | 11 +- .../dist/types/helpers/RepairHelper.d.ts | 21 +- .../types/helpers/SecureContainerHelper.d.ts | 2 +- .../dist/types/helpers/TradeHelper.d.ts | 22 +- .../types/helpers/TraderAssortHelper.d.ts | 41 +- .../dist/types/helpers/TraderHelper.d.ts | 40 +- .../dist/types/loaders/BundleLoader.d.ts | 8 +- .../dist/types/loaders/DelayedModLoader.d.ts | 16 +- .../dist/types/loaders/InitialModLoader.d.ts | 56 +- .../models/eft/common/MemberCategory.d.ts | 13 - .../models/eft/common/tables/IMatch.d.ts | 10 + .../eft/common/tables/ITemplateItem.d.ts | 686 +++++++------- .../models/eft/hideout/HideoutAreasEnum.d.ts | 25 - .../types/models/eft/profile/IAkiProfile.d.ts | 4 + .../dist/types/models/enums/QuestStatus.d.ts | 10 + .../types/models/spt/config/IBotConfig.d.ts | 2 + .../types/models/spt/helpers/Traders.d.ts | 10 - .../dist/types/models/spt/mod/IModLoader.d.ts | 1 - .../models/spt/mod/IPackageJsonData.d.ts | 1 + .../models/spt/server/IDatabaseTables.d.ts | 23 +- .../types/models/spt/server/IHttpServer.d.ts | 1 + .../types/models/spt/server/ILocaleBase.d.ts | 2 +- .../models/spt/services/CustomPreset.d.ts | 5 + .../spt/services/CustomTraderAssortData.d.ts | 6 + .../dist/types/routers/HttpRouter.d.ts | 15 +- .../dist/types/routers/ImageRouter.d.ts | 4 +- .../dist/types/routers/ItemEventRouter.d.ts | 12 +- .../routers/dynamic/BotDynamicRouter.d.ts | 2 +- .../routers/dynamic/BundleDynamicRouter.d.ts | 2 +- .../dynamic/CustomizationDynamicRouter.d.ts | 2 +- .../routers/dynamic/DataDynamicRouter.d.ts | 2 +- .../routers/dynamic/HttpDynamicRouter.d.ts | 2 +- .../routers/dynamic/InraidDynamicRouter.d.ts | 2 +- .../dynamic/LocationDynamicRouter.d.ts | 2 +- .../dynamic/NotifierDynamicRouter.d.ts | 2 +- .../routers/dynamic/TraderDynamicRouter.d.ts | 2 +- .../CustomizationItemEventRouter.d.ts | 2 +- .../item_events/HealthItemEventRouter.d.ts | 2 +- .../item_events/HideoutItemEventRouter.d.ts | 2 +- .../item_events/InsuranceItemEventRouter.d.ts | 2 +- .../item_events/InventoryItemEventRouter.d.ts | 2 +- .../item_events/NoteItemEventRouter.d.ts | 2 +- .../PresetBuildItemEventRouter.d.ts | 2 +- .../item_events/QuestItemEventRouter.d.ts | 12 +- .../item_events/RagfairItemEventRouter.d.ts | 2 +- .../item_events/RepairItemEventRouter.d.ts | 2 +- .../item_events/TradeItemEventRouter.d.ts | 2 +- .../item_events/WishlistItemEventRouter.d.ts | 2 +- .../routers/serializers/BundleSerializer.d.ts | 4 +- .../routers/serializers/ImageSerializer.d.ts | 2 +- .../routers/serializers/NotifySerializer.d.ts | 6 +- .../types/routers/static/BotStaticRouter.d.ts | 2 +- .../routers/static/BundleStaticRouter.d.ts | 2 +- .../static/CustomizationStaticRouter.d.ts | 2 +- .../routers/static/DataStaticRouter.d.ts | 2 +- .../routers/static/DialogStaticRouter.d.ts | 2 +- .../routers/static/GameStaticRouter.d.ts | 2 +- .../routers/static/HealthStaticRouter.d.ts | 2 +- .../routers/static/InraidStaticRouter.d.ts | 2 +- .../routers/static/InsuranceStaticRouter.d.ts | 2 +- .../routers/static/ItemEventStaticRouter.d.ts | 2 +- .../routers/static/LauncherStaticRouter.d.ts | 2 +- .../routers/static/LocationStaticRouter.d.ts | 2 +- .../routers/static/MatchStaticRouter.d.ts | 2 +- .../routers/static/NotifierStaticRouter.d.ts | 2 +- .../routers/static/PresetStaticRouter.d.ts | 2 +- .../routers/static/ProfileStaticRouter.d.ts | 2 +- .../routers/static/QuestStaticRouter.d.ts | 2 +- .../routers/static/RagfairStaticRouter.d.ts | 2 +- .../routers/static/TraderStaticRouter.d.ts | 2 +- .../routers/static/WeatherStaticRouter.d.ts | 2 +- .../dist/types/servers/ConfigServer.d.ts | 8 +- .../dist/types/servers/DatabaseServer.d.ts | 2 +- .../dist/types/servers/HttpServer.d.ts | 36 +- .../dist/types/servers/RagfairServer.d.ts | 15 +- .../dist/types/servers/SaveServer.d.ts | 18 +- .../services/CustomHandbookItemService.d.ts | 13 + .../types/services/CustomItemService.d.ts | 11 + .../services/CustomTraderAssortService.d.ts | 14 + .../dist/types/services/FenceService.d.ts | 25 +- .../dist/types/services/HashCacheService.d.ts | 14 +- .../dist/types/services/InsuranceService.d.ts | 27 +- .../types/services/MatchLocationService.d.ts | 4 +- .../types/services/ModCompilerService.d.ts | 21 +- .../types/services/NotificationService.d.ts | 2 +- .../dist/types/services/PaymentService.d.ts | 19 +- .../dist/types/services/PlayerService.d.ts | 4 +- .../services/RagfairCategoriesService.d.ts | 2 +- .../services/RagfairLinkedItemService.d.ts | 9 +- .../types/services/RagfairOfferService.d.ts | 38 +- .../types/services/RagfairPriceService.d.ts | 20 +- .../services/RagfairRequiredItemsService.d.ts | 8 +- .../types/services/TraderAssortService.d.ts | 2 +- .../types/services/customPresetService.d.ts | 19 + .../services/mod/image/imageRouteService.d.ts | 2 +- .../services/mod/onLoad/OnLoadModService.d.ts | 2 +- .../mod/onUpdate/OnUpdateModService.d.ts | 2 +- .../staticRouter/StaticRouterModService.d.ts | 2 +- .../dist/types/utils/App.d.ts | 12 +- .../dist/types/utils/AyncQueue.d.ts | 2 +- .../dist/types/utils/DatabaseImporter.d.ts | 56 +- .../dist/types/utils/HashUtil.d.ts | 2 +- .../dist/types/utils/HttpResponseUtil.d.ts | 4 +- .../dist/types/utils/JsonUtil.d.ts | 8 +- .../dist/types/utils/Logger.d.ts | 42 +- .../dist/types/utils/ObjectId.d.ts | 12 +- .../dist/types/utils/RandomUtil.d.ts | 4 +- .../dist/types/utils/VFS.d.ts | 5 +- .../dist/types/utils/Watermark.d.ts | 28 +- .../ZEreshkigal-AllinOneMod/models/IConfig.ts | 7 +- .../ZEreshkigal-AllinOneMod/package.json | 2 +- .../ZEreshkigal-AllinOneMod/src/items.ts | 10 +- .../ZEreshkigal-AllinOneMod/types/Utils.d.ts | 0 .../types/callbacks/BotCallbacks.d.ts | 4 +- .../types/callbacks/BundleCallbacks.d.ts | 13 +- .../callbacks/CustomizationCallbacks.d.ts | 6 +- .../types/callbacks/DataCallbacks.d.ts | 4 +- .../types/callbacks/DialogueCallbacks.d.ts | 8 +- .../types/callbacks/GameCallbacks.d.ts | 6 +- .../types/callbacks/HandbookCallbacks.d.ts | 2 +- .../types/callbacks/HealthCallbacks.d.ts | 6 +- .../types/callbacks/HideoutCallbacks.d.ts | 7 +- .../types/callbacks/HttpCallbacks.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 12 +- .../types/callbacks/InsuranceCallbacks.d.ts | 11 +- .../types/callbacks/InventoryCallbacks.d.ts | 2 +- .../types/callbacks/ItemEventCallbacks.d.ts | 4 +- .../types/callbacks/LauncherCallbacks.d.ts | 8 +- .../types/callbacks/LocationCallbacks.d.ts | 4 +- .../types/callbacks/MatchCallbacks.d.ts | 8 +- .../types/callbacks/ModCallbacks.d.ts | 13 +- .../types/callbacks/NoteCallbacks.d.ts | 2 +- .../types/callbacks/NotifierCallbacks.d.ts | 8 +- .../types/callbacks/PresetBuildCallbacks.d.ts | 4 +- .../types/callbacks/PresetCallbacks.d.ts | 2 +- .../types/callbacks/ProfileCallbacks.d.ts | 6 +- .../types/callbacks/QuestCallbacks.d.ts | 6 +- .../types/callbacks/RagfairCallbacks.d.ts | 17 +- .../types/callbacks/RepairCallbacks.d.ts | 2 +- .../types/callbacks/SaveCallbacks.d.ts | 2 +- .../types/callbacks/TradeCallbacks.d.ts | 2 +- .../types/callbacks/TraderCallbacks.d.ts | 4 +- .../types/callbacks/WeatherCallbacks.d.ts | 4 +- .../types/callbacks/WishlistCallbacks.d.ts | 2 +- .../types/controllers/BotController.d.ts | 29 +- .../controllers/CustomizationController.d.ts | 12 +- .../types/controllers/DialogueController.d.ts | 12 +- .../types/controllers/GameController.d.ts | 37 +- .../types/controllers/HandbookController.d.ts | 4 +- .../types/controllers/HealthController.d.ts | 12 +- .../types/controllers/HideoutController.d.ts | 46 +- .../types/controllers/InraidController.d.ts | 25 +- .../controllers/InsuranceController.d.ts | 27 +- .../controllers/InventoryController.d.ts | 18 +- .../types/controllers/LauncherController.d.ts | 15 +- .../types/controllers/LocationController.d.ts | 10 +- .../types/controllers/MatchController.d.ts | 18 +- .../types/controllers/NoteController.d.ts | 2 +- .../types/controllers/NotifierController.d.ts | 10 +- .../controllers/PresetBuildController.d.ts | 8 +- .../types/controllers/PresetController.d.ts | 4 +- .../types/controllers/ProfileController.d.ts | 14 +- .../types/controllers/QuestController.d.ts | 63 +- .../types/controllers/RagfairController.d.ts | 49 +- .../types/controllers/RepairController.d.ts | 22 +- .../RepeatableQuestController.d.ts | 36 +- .../types/controllers/TradeController.d.ts | 10 +- .../types/controllers/TraderController.d.ts | 16 +- .../types/controllers/WeatherController.d.ts | 7 +- .../types/controllers/WishlistController.d.ts | 2 +- .../types/generators/BotGenerator.d.ts | 50 +- .../generators/BotInventoryGenerator.d.ts | 22 +- .../types/generators/BotLootGenerator.d.ts | 26 +- .../types/generators/BotWeaponGenerator.d.ts | 96 +- .../types/generators/LocationGenerator.d.ts | 42 +- .../types/generators/PMCLootGenerator.d.ts | 13 +- .../generators/RagfairAssortGenerator.d.ts | 16 +- .../generators/RagfairOfferGenerator.d.ts | 51 +- .../types/generators/WeatherGenerator.d.ts | 32 +- .../types/helpers/AssortHelper.d.ts | 32 +- .../types/helpers/BotGeneratorHelper.d.ts | 105 ++- .../types/helpers/BotHelper.d.ts | 34 +- .../types/helpers/ContainerHelper.d.ts | 2 +- .../types/helpers/DialogueHelper.d.ts | 12 +- .../types/helpers/DurabilityLimitsHelper.d.ts | 29 +- .../types/helpers/ExtendedProfileHelper.d.ts | 18 +- .../types/helpers/GameEventHelper.d.ts | 2 +- .../types/helpers/GameHelper.d.ts | 11 + .../types/helpers/HandbookHelper.d.ts | 2 +- .../types/helpers/HealthHelper.d.ts | 24 +- .../types/helpers/HideoutHelper.d.ts | 60 +- .../types/helpers/HttpServerHelper.d.ts | 17 +- .../types/helpers/InRaidHelper.d.ts | 16 +- .../types/helpers/InventoryHelper.d.ts | 48 +- .../types/helpers/ItemHelper.d.ts | 12 +- .../types/helpers/NotificationSendHelper.d.ts | 4 +- .../types/helpers/NotifierHelper.d.ts | 4 +- .../types/helpers/PresetHelper.d.ts | 4 +- .../types/helpers/ProbabilityHelper.d.ts | 14 + .../types/helpers/ProfileHelper.d.ts | 4 +- .../types/helpers/QuestConditionHelper.d.ts | 2 +- .../types/helpers/QuestHelper.d.ts | 52 +- .../types/helpers/RagfairHelper.d.ts | 24 +- .../types/helpers/RagfairOfferHelper.d.ts | 47 +- .../types/helpers/RagfairSellHelper.d.ts | 11 +- .../types/helpers/RagfairServerHelper.d.ts | 28 +- .../types/helpers/RagfairSortHelper.d.ts | 12 +- .../types/helpers/RagfairTaxHelper.d.ts | 11 +- .../types/helpers/RepairHelper.d.ts | 21 +- .../types/helpers/SecureContainerHelper.d.ts | 2 +- .../types/helpers/TradeHelper.d.ts | 22 +- .../types/helpers/TraderAssortHelper.d.ts | 41 +- .../types/helpers/TraderHelper.d.ts | 40 +- .../types/loaders/BundleLoader.d.ts | 8 +- .../types/loaders/DelayedModLoader.d.ts | 16 +- .../types/loaders/InitialModLoader.d.ts | 56 +- .../models/eft/common/MemberCategory.d.ts | 13 - .../models/eft/common/tables/IMatch.d.ts | 10 + .../eft/common/tables/ITemplateItem.d.ts | 686 +++++++------- .../models/eft/hideout/HideoutAreasEnum.d.ts | 25 - .../types/models/eft/profile/IAkiProfile.d.ts | 4 + .../types/models/enums/QuestStatus.d.ts | 10 + .../types/models/spt/config/IBotConfig.d.ts | 2 + .../types/models/spt/helpers/Traders.d.ts | 10 - .../types/models/spt/mod/IModLoader.d.ts | 1 - .../models/spt/mod/IPackageJsonData.d.ts | 1 + .../models/spt/server/IDatabaseTables.d.ts | 23 +- .../types/models/spt/server/IHttpServer.d.ts | 1 + .../types/models/spt/server/ILocaleBase.d.ts | 2 +- .../models/spt/services/CustomPreset.d.ts | 5 + .../spt/services/CustomTraderAssortData.d.ts | 6 + .../types/routers/HttpRouter.d.ts | 15 +- .../types/routers/ImageRouter.d.ts | 4 +- .../types/routers/ItemEventRouter.d.ts | 12 +- .../routers/dynamic/BotDynamicRouter.d.ts | 2 +- .../routers/dynamic/BundleDynamicRouter.d.ts | 2 +- .../dynamic/CustomizationDynamicRouter.d.ts | 2 +- .../routers/dynamic/DataDynamicRouter.d.ts | 2 +- .../routers/dynamic/HttpDynamicRouter.d.ts | 2 +- .../routers/dynamic/InraidDynamicRouter.d.ts | 2 +- .../dynamic/LocationDynamicRouter.d.ts | 2 +- .../dynamic/NotifierDynamicRouter.d.ts | 2 +- .../routers/dynamic/TraderDynamicRouter.d.ts | 2 +- .../CustomizationItemEventRouter.d.ts | 2 +- .../item_events/HealthItemEventRouter.d.ts | 2 +- .../item_events/HideoutItemEventRouter.d.ts | 2 +- .../item_events/InsuranceItemEventRouter.d.ts | 2 +- .../item_events/InventoryItemEventRouter.d.ts | 2 +- .../item_events/NoteItemEventRouter.d.ts | 2 +- .../PresetBuildItemEventRouter.d.ts | 2 +- .../item_events/QuestItemEventRouter.d.ts | 12 +- .../item_events/RagfairItemEventRouter.d.ts | 2 +- .../item_events/RepairItemEventRouter.d.ts | 2 +- .../item_events/TradeItemEventRouter.d.ts | 2 +- .../item_events/WishlistItemEventRouter.d.ts | 2 +- .../routers/serializers/BundleSerializer.d.ts | 4 +- .../routers/serializers/ImageSerializer.d.ts | 2 +- .../routers/serializers/NotifySerializer.d.ts | 6 +- .../types/routers/static/BotStaticRouter.d.ts | 2 +- .../routers/static/BundleStaticRouter.d.ts | 2 +- .../static/CustomizationStaticRouter.d.ts | 2 +- .../routers/static/DataStaticRouter.d.ts | 2 +- .../routers/static/DialogStaticRouter.d.ts | 2 +- .../routers/static/GameStaticRouter.d.ts | 2 +- .../routers/static/HealthStaticRouter.d.ts | 2 +- .../routers/static/InraidStaticRouter.d.ts | 2 +- .../routers/static/InsuranceStaticRouter.d.ts | 2 +- .../routers/static/ItemEventStaticRouter.d.ts | 2 +- .../routers/static/LauncherStaticRouter.d.ts | 2 +- .../routers/static/LocationStaticRouter.d.ts | 2 +- .../routers/static/MatchStaticRouter.d.ts | 2 +- .../routers/static/NotifierStaticRouter.d.ts | 2 +- .../routers/static/PresetStaticRouter.d.ts | 2 +- .../routers/static/ProfileStaticRouter.d.ts | 2 +- .../routers/static/QuestStaticRouter.d.ts | 2 +- .../routers/static/RagfairStaticRouter.d.ts | 2 +- .../routers/static/TraderStaticRouter.d.ts | 2 +- .../routers/static/WeatherStaticRouter.d.ts | 2 +- .../types/servers/ConfigServer.d.ts | 8 +- .../types/servers/DatabaseServer.d.ts | 2 +- .../types/servers/HttpServer.d.ts | 36 +- .../types/servers/RagfairServer.d.ts | 15 +- .../types/servers/SaveServer.d.ts | 18 +- .../services/CustomHandbookItemService.d.ts | 13 + .../types/services/CustomItemService.d.ts | 11 + .../services/CustomTraderAssortService.d.ts | 14 + .../types/services/FenceService.d.ts | 25 +- .../types/services/HashCacheService.d.ts | 14 +- .../types/services/InsuranceService.d.ts | 27 +- .../types/services/MatchLocationService.d.ts | 4 +- .../types/services/ModCompilerService.d.ts | 21 +- .../types/services/NotificationService.d.ts | 2 +- .../types/services/PaymentService.d.ts | 19 +- .../types/services/PlayerService.d.ts | 4 +- .../services/RagfairCategoriesService.d.ts | 2 +- .../services/RagfairLinkedItemService.d.ts | 9 +- .../types/services/RagfairOfferService.d.ts | 38 +- .../types/services/RagfairPriceService.d.ts | 20 +- .../services/RagfairRequiredItemsService.d.ts | 8 +- .../types/services/TraderAssortService.d.ts | 2 +- .../types/services/customPresetService.d.ts | 19 + .../services/mod/image/imageRouteService.d.ts | 2 +- .../services/mod/onLoad/OnLoadModService.d.ts | 2 +- .../mod/onUpdate/OnUpdateModService.d.ts | 2 +- .../staticRouter/StaticRouterModService.d.ts | 2 +- .../types/utils/App.d.ts | 12 +- .../types/utils/AyncQueue.d.ts | 2 +- .../types/utils/DatabaseImporter.d.ts | 56 +- .../types/utils/HashUtil.d.ts | 2 +- .../types/utils/HttpResponseUtil.d.ts | 4 +- .../types/utils/JsonUtil.d.ts | 8 +- .../types/utils/Logger.d.ts | 42 +- .../types/utils/ObjectId.d.ts | 12 +- .../types/utils/RandomUtil.d.ts | 4 +- .../types/utils/VFS.d.ts | 5 +- .../types/utils/Watermark.d.ts | 28 +- Ereshkigal-AkiConfig/AKICONFIG README.pdf | Bin 0 -> 1579750 bytes Ereshkigal-AkiConfig/README.md | 64 ++ Ereshkigal-AkiConfig/config/config.json | 334 +++++++ Ereshkigal-AkiConfig/config/dailyConfig.json | 537 +++++++++++ Ereshkigal-AkiConfig/config/pmcConfig.json | 296 ++++++ Ereshkigal-AkiConfig/locale/DailyLocale.json | 4 + Ereshkigal-AkiConfig/locale/PmcLocale.json | 195 ++++ Ereshkigal-AkiConfig/locale/locale.json | 253 +++++ Ereshkigal-AkiConfig/models/IConfig.ts | 262 ++++++ Ereshkigal-AkiConfig/models/IDailyConfig.ts | 5 + Ereshkigal-AkiConfig/models/IDailyLocale.ts | 5 + Ereshkigal-AkiConfig/models/ILocale.ts | 262 ++++++ Ereshkigal-AkiConfig/models/IPmcConfig.ts | 125 +++ Ereshkigal-AkiConfig/models/IPmcLocale.ts | 125 +++ Ereshkigal-AkiConfig/package.json | 2 +- Ereshkigal-AkiConfig/src/AkiConfigHandler.ts | 58 ++ Ereshkigal-AkiConfig/src/Notifications.ts | 866 ++++++++++++++++++ Ereshkigal-AkiConfig/src/bots.ts | 39 + Ereshkigal-AkiConfig/src/christmas.ts | 15 + Ereshkigal-AkiConfig/src/generator.ts | 193 ++++ Ereshkigal-AkiConfig/src/quests.ts | 17 + Ereshkigal-AkiConfig/src/ragfair.ts | 60 ++ Ereshkigal-AkiConfig/src/raids.ts | 25 + Ereshkigal-AkiConfig/src/server.ts | 22 + Ereshkigal-AkiConfig/src/traders.ts | 38 + Ereshkigal-AkiConfig/src/weather.ts | 37 + Ereshkigal-AkiConfig/types/Utils.d.ts | 0 .../types/callbacks/BotCallbacks.d.ts | 4 +- .../types/callbacks/BundleCallbacks.d.ts | 13 +- .../callbacks/CustomizationCallbacks.d.ts | 6 +- .../types/callbacks/DataCallbacks.d.ts | 4 +- .../types/callbacks/DialogueCallbacks.d.ts | 8 +- .../types/callbacks/GameCallbacks.d.ts | 6 +- .../types/callbacks/HandbookCallbacks.d.ts | 2 +- .../types/callbacks/HealthCallbacks.d.ts | 6 +- .../types/callbacks/HideoutCallbacks.d.ts | 7 +- .../types/callbacks/HttpCallbacks.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 12 +- .../types/callbacks/InsuranceCallbacks.d.ts | 11 +- .../types/callbacks/InventoryCallbacks.d.ts | 2 +- .../types/callbacks/ItemEventCallbacks.d.ts | 4 +- .../types/callbacks/LauncherCallbacks.d.ts | 8 +- .../types/callbacks/LocationCallbacks.d.ts | 4 +- .../types/callbacks/MatchCallbacks.d.ts | 8 +- .../types/callbacks/ModCallbacks.d.ts | 13 +- .../types/callbacks/NoteCallbacks.d.ts | 2 +- .../types/callbacks/NotifierCallbacks.d.ts | 8 +- .../types/callbacks/PresetBuildCallbacks.d.ts | 4 +- .../types/callbacks/PresetCallbacks.d.ts | 2 +- .../types/callbacks/ProfileCallbacks.d.ts | 6 +- .../types/callbacks/QuestCallbacks.d.ts | 6 +- .../types/callbacks/RagfairCallbacks.d.ts | 17 +- .../types/callbacks/RepairCallbacks.d.ts | 2 +- .../types/callbacks/SaveCallbacks.d.ts | 2 +- .../types/callbacks/TradeCallbacks.d.ts | 2 +- .../types/callbacks/TraderCallbacks.d.ts | 4 +- .../types/callbacks/WeatherCallbacks.d.ts | 4 +- .../types/callbacks/WishlistCallbacks.d.ts | 2 +- .../types/controllers/BotController.d.ts | 29 +- .../controllers/CustomizationController.d.ts | 12 +- .../types/controllers/DialogueController.d.ts | 12 +- .../types/controllers/GameController.d.ts | 37 +- .../types/controllers/HandbookController.d.ts | 4 +- .../types/controllers/HealthController.d.ts | 12 +- .../types/controllers/HideoutController.d.ts | 46 +- .../types/controllers/InraidController.d.ts | 25 +- .../controllers/InsuranceController.d.ts | 27 +- .../controllers/InventoryController.d.ts | 18 +- .../types/controllers/LauncherController.d.ts | 15 +- .../types/controllers/LocationController.d.ts | 10 +- .../types/controllers/MatchController.d.ts | 18 +- .../types/controllers/NoteController.d.ts | 2 +- .../types/controllers/NotifierController.d.ts | 10 +- .../controllers/PresetBuildController.d.ts | 8 +- .../types/controllers/PresetController.d.ts | 4 +- .../types/controllers/ProfileController.d.ts | 14 +- .../types/controllers/QuestController.d.ts | 63 +- .../types/controllers/RagfairController.d.ts | 49 +- .../types/controllers/RepairController.d.ts | 22 +- .../RepeatableQuestController.d.ts | 36 +- .../types/controllers/TradeController.d.ts | 10 +- .../types/controllers/TraderController.d.ts | 16 +- .../types/controllers/WeatherController.d.ts | 7 +- .../types/controllers/WishlistController.d.ts | 2 +- .../types/generators/BotGenerator.d.ts | 50 +- .../generators/BotInventoryGenerator.d.ts | 22 +- .../types/generators/BotLootGenerator.d.ts | 26 +- .../types/generators/BotWeaponGenerator.d.ts | 96 +- .../types/generators/LocationGenerator.d.ts | 42 +- .../types/generators/PMCLootGenerator.d.ts | 13 +- .../generators/RagfairAssortGenerator.d.ts | 16 +- .../generators/RagfairOfferGenerator.d.ts | 51 +- .../types/generators/WeatherGenerator.d.ts | 32 +- .../types/helpers/AssortHelper.d.ts | 32 +- .../types/helpers/BotGeneratorHelper.d.ts | 105 ++- .../types/helpers/BotHelper.d.ts | 34 +- .../types/helpers/ContainerHelper.d.ts | 2 +- .../types/helpers/DialogueHelper.d.ts | 12 +- .../types/helpers/DurabilityLimitsHelper.d.ts | 29 +- .../types/helpers/ExtendedProfileHelper.d.ts | 18 +- .../types/helpers/GameEventHelper.d.ts | 2 +- .../types/helpers/GameHelper.d.ts | 11 + .../types/helpers/HandbookHelper.d.ts | 2 +- .../types/helpers/HealthHelper.d.ts | 24 +- .../types/helpers/HideoutHelper.d.ts | 60 +- .../types/helpers/HttpServerHelper.d.ts | 17 +- .../types/helpers/InRaidHelper.d.ts | 16 +- .../types/helpers/InventoryHelper.d.ts | 48 +- .../types/helpers/ItemHelper.d.ts | 12 +- .../types/helpers/NotificationSendHelper.d.ts | 4 +- .../types/helpers/NotifierHelper.d.ts | 4 +- .../types/helpers/PresetHelper.d.ts | 4 +- .../types/helpers/ProbabilityHelper.d.ts | 14 + .../types/helpers/ProfileHelper.d.ts | 4 +- .../types/helpers/QuestConditionHelper.d.ts | 2 +- .../types/helpers/QuestHelper.d.ts | 52 +- .../types/helpers/RagfairHelper.d.ts | 24 +- .../types/helpers/RagfairOfferHelper.d.ts | 47 +- .../types/helpers/RagfairSellHelper.d.ts | 11 +- .../types/helpers/RagfairServerHelper.d.ts | 28 +- .../types/helpers/RagfairSortHelper.d.ts | 12 +- .../types/helpers/RagfairTaxHelper.d.ts | 11 +- .../types/helpers/RepairHelper.d.ts | 21 +- .../types/helpers/SecureContainerHelper.d.ts | 2 +- .../types/helpers/TradeHelper.d.ts | 22 +- .../types/helpers/TraderAssortHelper.d.ts | 41 +- .../types/helpers/TraderHelper.d.ts | 40 +- .../types/loaders/BundleLoader.d.ts | 8 +- .../types/loaders/DelayedModLoader.d.ts | 16 +- .../types/loaders/InitialModLoader.d.ts | 56 +- .../models/eft/common/MemberCategory.d.ts | 13 - .../models/eft/common/tables/IMatch.d.ts | 10 + .../eft/common/tables/ITemplateItem.d.ts | 686 +++++++------- .../models/eft/hideout/HideoutAreasEnum.d.ts | 25 - .../types/models/eft/profile/IAkiProfile.d.ts | 4 + .../types/models/enums/QuestStatus.d.ts | 10 + .../types/models/spt/config/IBotConfig.d.ts | 2 + .../types/models/spt/helpers/Traders.d.ts | 10 - .../types/models/spt/mod/IModLoader.d.ts | 1 - .../models/spt/mod/IPackageJsonData.d.ts | 1 + .../models/spt/server/IDatabaseTables.d.ts | 23 +- .../types/models/spt/server/IHttpServer.d.ts | 1 + .../types/models/spt/server/ILocaleBase.d.ts | 2 +- .../models/spt/services/CustomPreset.d.ts | 5 + .../spt/services/CustomTraderAssortData.d.ts | 6 + .../types/routers/HttpRouter.d.ts | 15 +- .../types/routers/ImageRouter.d.ts | 4 +- .../types/routers/ItemEventRouter.d.ts | 12 +- .../routers/dynamic/BotDynamicRouter.d.ts | 2 +- .../routers/dynamic/BundleDynamicRouter.d.ts | 2 +- .../dynamic/CustomizationDynamicRouter.d.ts | 2 +- .../routers/dynamic/DataDynamicRouter.d.ts | 2 +- .../routers/dynamic/HttpDynamicRouter.d.ts | 2 +- .../routers/dynamic/InraidDynamicRouter.d.ts | 2 +- .../dynamic/LocationDynamicRouter.d.ts | 2 +- .../dynamic/NotifierDynamicRouter.d.ts | 2 +- .../routers/dynamic/TraderDynamicRouter.d.ts | 2 +- .../CustomizationItemEventRouter.d.ts | 2 +- .../item_events/HealthItemEventRouter.d.ts | 2 +- .../item_events/HideoutItemEventRouter.d.ts | 2 +- .../item_events/InsuranceItemEventRouter.d.ts | 2 +- .../item_events/InventoryItemEventRouter.d.ts | 2 +- .../item_events/NoteItemEventRouter.d.ts | 2 +- .../PresetBuildItemEventRouter.d.ts | 2 +- .../item_events/QuestItemEventRouter.d.ts | 12 +- .../item_events/RagfairItemEventRouter.d.ts | 2 +- .../item_events/RepairItemEventRouter.d.ts | 2 +- .../item_events/TradeItemEventRouter.d.ts | 2 +- .../item_events/WishlistItemEventRouter.d.ts | 2 +- .../routers/serializers/BundleSerializer.d.ts | 4 +- .../routers/serializers/ImageSerializer.d.ts | 2 +- .../routers/serializers/NotifySerializer.d.ts | 6 +- .../types/routers/static/BotStaticRouter.d.ts | 2 +- .../routers/static/BundleStaticRouter.d.ts | 2 +- .../static/CustomizationStaticRouter.d.ts | 2 +- .../routers/static/DataStaticRouter.d.ts | 2 +- .../routers/static/DialogStaticRouter.d.ts | 2 +- .../routers/static/GameStaticRouter.d.ts | 2 +- .../routers/static/HealthStaticRouter.d.ts | 2 +- .../routers/static/InraidStaticRouter.d.ts | 2 +- .../routers/static/InsuranceStaticRouter.d.ts | 2 +- .../routers/static/ItemEventStaticRouter.d.ts | 2 +- .../routers/static/LauncherStaticRouter.d.ts | 2 +- .../routers/static/LocationStaticRouter.d.ts | 2 +- .../routers/static/MatchStaticRouter.d.ts | 2 +- .../routers/static/NotifierStaticRouter.d.ts | 2 +- .../routers/static/PresetStaticRouter.d.ts | 2 +- .../routers/static/ProfileStaticRouter.d.ts | 2 +- .../routers/static/QuestStaticRouter.d.ts | 2 +- .../routers/static/RagfairStaticRouter.d.ts | 2 +- .../routers/static/TraderStaticRouter.d.ts | 2 +- .../routers/static/WeatherStaticRouter.d.ts | 2 +- .../types/servers/ConfigServer.d.ts | 8 +- .../types/servers/DatabaseServer.d.ts | 2 +- .../types/servers/HttpServer.d.ts | 36 +- .../types/servers/RagfairServer.d.ts | 15 +- .../types/servers/SaveServer.d.ts | 18 +- .../services/CustomHandbookItemService.d.ts | 13 + .../types/services/CustomItemService.d.ts | 11 + .../services/CustomTraderAssortService.d.ts | 14 + .../types/services/FenceService.d.ts | 25 +- .../types/services/HashCacheService.d.ts | 14 +- .../types/services/InsuranceService.d.ts | 27 +- .../types/services/MatchLocationService.d.ts | 4 +- .../types/services/ModCompilerService.d.ts | 21 +- .../types/services/NotificationService.d.ts | 2 +- .../types/services/PaymentService.d.ts | 19 +- .../types/services/PlayerService.d.ts | 4 +- .../services/RagfairCategoriesService.d.ts | 2 +- .../services/RagfairLinkedItemService.d.ts | 9 +- .../types/services/RagfairOfferService.d.ts | 38 +- .../types/services/RagfairPriceService.d.ts | 20 +- .../services/RagfairRequiredItemsService.d.ts | 8 +- .../types/services/TraderAssortService.d.ts | 2 +- .../types/services/customPresetService.d.ts | 19 + .../services/mod/image/imageRouteService.d.ts | 2 +- .../services/mod/onLoad/OnLoadModService.d.ts | 2 +- .../mod/onUpdate/OnUpdateModService.d.ts | 2 +- .../staticRouter/StaticRouterModService.d.ts | 2 +- Ereshkigal-AkiConfig/types/utils/App.d.ts | 12 +- .../types/utils/AyncQueue.d.ts | 2 +- .../types/utils/DatabaseImporter.d.ts | 56 +- .../types/utils/HashUtil.d.ts | 2 +- .../types/utils/HttpResponseUtil.d.ts | 4 +- .../types/utils/JsonUtil.d.ts | 8 +- Ereshkigal-AkiConfig/types/utils/Logger.d.ts | 42 +- .../types/utils/ObjectId.d.ts | 12 +- .../types/utils/RandomUtil.d.ts | 4 +- Ereshkigal-AkiConfig/types/utils/VFS.d.ts | 5 +- .../types/utils/Watermark.d.ts | 28 +- 644 files changed, 9742 insertions(+), 4131 deletions(-) delete mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/Utils.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/GameHelper.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ProbabilityHelper.d.ts delete mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/MemberCategory.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/tables/IMatch.d.ts delete mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/hideout/HideoutAreasEnum.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/enums/QuestStatus.d.ts delete mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/helpers/Traders.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/services/CustomPreset.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/services/CustomTraderAssortData.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomHandbookItemService.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomItemService.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomTraderAssortService.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/customPresetService.d.ts delete mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/Utils.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/GameHelper.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ProbabilityHelper.d.ts delete mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/MemberCategory.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/tables/IMatch.d.ts delete mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/hideout/HideoutAreasEnum.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/enums/QuestStatus.d.ts delete mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/helpers/Traders.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/services/CustomPreset.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/services/CustomTraderAssortData.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomHandbookItemService.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomItemService.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomTraderAssortService.d.ts create mode 100644 Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/customPresetService.d.ts create mode 100644 Ereshkigal-AkiConfig/AKICONFIG README.pdf create mode 100644 Ereshkigal-AkiConfig/README.md create mode 100644 Ereshkigal-AkiConfig/config/config.json create mode 100644 Ereshkigal-AkiConfig/config/dailyConfig.json create mode 100644 Ereshkigal-AkiConfig/config/pmcConfig.json create mode 100644 Ereshkigal-AkiConfig/locale/DailyLocale.json create mode 100644 Ereshkigal-AkiConfig/locale/PmcLocale.json create mode 100644 Ereshkigal-AkiConfig/locale/locale.json create mode 100644 Ereshkigal-AkiConfig/models/IConfig.ts create mode 100644 Ereshkigal-AkiConfig/models/IDailyConfig.ts create mode 100644 Ereshkigal-AkiConfig/models/IDailyLocale.ts create mode 100644 Ereshkigal-AkiConfig/models/ILocale.ts create mode 100644 Ereshkigal-AkiConfig/models/IPmcConfig.ts create mode 100644 Ereshkigal-AkiConfig/models/IPmcLocale.ts create mode 100644 Ereshkigal-AkiConfig/src/AkiConfigHandler.ts create mode 100644 Ereshkigal-AkiConfig/src/Notifications.ts create mode 100644 Ereshkigal-AkiConfig/src/bots.ts create mode 100644 Ereshkigal-AkiConfig/src/christmas.ts create mode 100644 Ereshkigal-AkiConfig/src/generator.ts create mode 100644 Ereshkigal-AkiConfig/src/quests.ts create mode 100644 Ereshkigal-AkiConfig/src/ragfair.ts create mode 100644 Ereshkigal-AkiConfig/src/raids.ts create mode 100644 Ereshkigal-AkiConfig/src/server.ts create mode 100644 Ereshkigal-AkiConfig/src/traders.ts create mode 100644 Ereshkigal-AkiConfig/src/weather.ts delete mode 100644 Ereshkigal-AkiConfig/types/Utils.d.ts create mode 100644 Ereshkigal-AkiConfig/types/helpers/GameHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/types/helpers/ProbabilityHelper.d.ts delete mode 100644 Ereshkigal-AkiConfig/types/models/eft/common/MemberCategory.d.ts create mode 100644 Ereshkigal-AkiConfig/types/models/eft/common/tables/IMatch.d.ts delete mode 100644 Ereshkigal-AkiConfig/types/models/eft/hideout/HideoutAreasEnum.d.ts create mode 100644 Ereshkigal-AkiConfig/types/models/enums/QuestStatus.d.ts delete mode 100644 Ereshkigal-AkiConfig/types/models/spt/helpers/Traders.d.ts create mode 100644 Ereshkigal-AkiConfig/types/models/spt/services/CustomPreset.d.ts create mode 100644 Ereshkigal-AkiConfig/types/models/spt/services/CustomTraderAssortData.d.ts create mode 100644 Ereshkigal-AkiConfig/types/services/CustomHandbookItemService.d.ts create mode 100644 Ereshkigal-AkiConfig/types/services/CustomItemService.d.ts create mode 100644 Ereshkigal-AkiConfig/types/services/CustomTraderAssortService.d.ts create mode 100644 Ereshkigal-AkiConfig/types/services/customPresetService.d.ts diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/models/IConfig.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/models/IConfig.ts index dfd7a2a..99c708d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/models/IConfig.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/models/IConfig.ts @@ -27,6 +27,11 @@ export interface WeaponDurabilities maximumSpawnDurability: boolean | number; } +export interface ChangeIndividualItemProperty +{ + activated: boolean; + itemList: any; +} export interface Items { allExaminedItems: boolean; @@ -48,7 +53,7 @@ export interface Items removeItemDurabilityBurn: boolean; removeBulletWeaponDurabilityDamage: boolean; removeWeaponPresetRestriction: boolean; - changeIndividualItemProperty: any; + changeIndividualItemProperty: ChangeIndividualItemProperty; } export interface Hideout diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json index 4123d41..30ee5a7 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json @@ -1,6 +1,6 @@ { "name": "AllinOneMod", - "version": "3.0.0", + "version": "3.0.1", "main": "src/mod.js", "license": "CC-BY-NC-ND 4.0", "author": "Ereshkigal", diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts index 8038932..93965e1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts @@ -66,7 +66,7 @@ export class Items this.editSimpleItemData(id, "Deterioration", 0); } - if (this.configHandler.getConfig().items.removeWeaponPresetRestriction && !base._props.CanRequireOnRagfair && items[items[base._parent]._parent]._id === "5422acb9af1c889c16000029") + if (this.configHandler.getConfig().items.removeWeaponPresetRestriction && !base._props.CanRequireOnRagfair && items[base._parent]._id !== BaseClasses.ITEM && items[items[base._parent]._parent]._id === BaseClasses.WEAPON) { this.editSimpleItemData(id, "CanRequireOnRagfair", "true"); } @@ -388,9 +388,9 @@ export class Items if (this.configHandler.getConfig().items.changeIndividualItemProperty.activated) { //Edit item properties - if (this.configHandler.getConfig().items.changeIndividualItemProperty.ItemList !== {}) + if (this.configHandler.getConfig().items.changeIndividualItemProperty.itemList !== {}) { - for (const k in this.configHandler.getConfig().items.changeIndividualItemProperty.ItemList) + for (const k in this.configHandler.getConfig().items.changeIndividualItemProperty.itemList) { if (k === "__REPLACEMEBYITEMID__") { @@ -398,9 +398,9 @@ export class Items } else { - for (const property in this.configHandler.getConfig().items.changeIndividualItemProperty.ItemList[k]) + for (const property in this.configHandler.getConfig().items.changeIndividualItemProperty.itemList[k]) { - const value = this.configHandler.getConfig().items.changeIndividualItemProperty.ItemList[k][property]; + const value = this.configHandler.getConfig().items.changeIndividualItemProperty.itemList[k][property]; this.editSimpleItemData(k, property, value); } } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/Utils.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/Utils.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/BotCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/BotCallbacks.d.ts index 9602975..2db60dc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/BotCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/BotCallbacks.d.ts @@ -5,8 +5,8 @@ import { IBotBase } from "../models/eft/common/tables/IBotBase"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class BotCallbacks { - private botController; - private httpResponse; + protected botController: BotController; + protected httpResponse: HttpResponseUtil; constructor(botController: BotController, httpResponse: HttpResponseUtil); getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/BundleCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/BundleCallbacks.d.ts index b007ab8..b28abe1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/BundleCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/BundleCallbacks.d.ts @@ -1,15 +1,16 @@ import { BundleLoader } from "../loaders/BundleLoader"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class BundleCallbacks { - private logger; - private httpResponse; - private httpServer; - private bundleLoader; - private configServer; - private httpConfig; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected httpServer: IHttpServer; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, bundleLoader: BundleLoader, configServer: ConfigServer); sendBundle(sessionID: string, req: any, resp: any, body: any): any; getBundles(url: string, info: any, sessionID: string): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/CustomizationCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/CustomizationCallbacks.d.ts index 918b8b6..3bab8c0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/CustomizationCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/CustomizationCallbacks.d.ts @@ -9,9 +9,9 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class CustomizationCallbacks { - private customizationController; - private saveServer; - private httpResponse; + protected customizationController: CustomizationController; + protected saveServer: SaveServer; + protected httpResponse: HttpResponseUtil; constructor(customizationController: CustomizationController, saveServer: SaveServer, httpResponse: HttpResponseUtil); getSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<{ _id: string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/DataCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/DataCallbacks.d.ts index 018420e..cfb1c16 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/DataCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/DataCallbacks.d.ts @@ -12,8 +12,8 @@ import { ISettingsBase } from "../models/spt/server/ISettingsBase"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class DataCallbacks { - private httpResponse; - private databaseServer; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer); getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/DialogueCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/DialogueCallbacks.d.ts index 3b6fbd1..634f90b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/DialogueCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/DialogueCallbacks.d.ts @@ -21,10 +21,10 @@ import { HashUtil } from "../utils/HashUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class DialogueCallbacks extends OnUpdate { - private hashUtil; - private timeUtil; - private httpResponse; - private dialogueController; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected httpResponse: HttpResponseUtil; + protected dialogueController: DialogueController; constructor(hashUtil: HashUtil, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, dialogueController: DialogueController); getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/GameCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/GameCallbacks.d.ts index 44a30ea..d5cad76 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/GameCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/GameCallbacks.d.ts @@ -8,9 +8,9 @@ import { INullResponseData } from "../models/eft/httpResponse/INullResponseData" import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { Watermark } from "../utils/Watermark"; declare class GameCallbacks { - private httpResponse; - private watermark; - private gameController; + protected httpResponse: HttpResponseUtil; + protected watermark: Watermark; + protected gameController: GameController; constructor(httpResponse: HttpResponseUtil, watermark: Watermark, gameController: GameController); versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HandbookCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HandbookCallbacks.d.ts index 0db5fec..891e375 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HandbookCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HandbookCallbacks.d.ts @@ -1,7 +1,7 @@ import { HandbookController } from "../controllers/HandbookController"; import { OnLoad } from "../di/OnLoad"; export declare class HandbookCallbacks extends OnLoad { - private handbookController; + protected handbookController: HandbookController; constructor(handbookController: HandbookController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HealthCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HealthCallbacks.d.ts index a50dd42..8f7b89d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HealthCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HealthCallbacks.d.ts @@ -9,9 +9,9 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class HealthCallbacks { - private httpResponse; - private profileHelper; - private healthController; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected healthController: HealthController; constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HideoutCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HideoutCallbacks.d.ts index 3698176..99ab4c9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HideoutCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HideoutCallbacks.d.ts @@ -11,11 +11,12 @@ import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutTog import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class HideoutCallbacks extends OnUpdate { - private hideoutController; - private configServer; - private hideoutConfig; + protected hideoutController: HideoutController; + protected configServer: ConfigServer; + protected hideoutConfig: IHideoutConfig; constructor(hideoutController: HideoutController, // TODO: delay needed configServer: ConfigServer); upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HttpCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HttpCallbacks.d.ts index 9fe387d..94c97bd 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HttpCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/HttpCallbacks.d.ts @@ -1,7 +1,7 @@ import { OnLoad } from "../di/OnLoad"; import { IHttpServer } from "../models/spt/server/IHttpServer"; export declare class HttpCallbacks extends OnLoad { - private httpServer; + protected httpServer: IHttpServer; constructor(httpServer: IHttpServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InraidCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InraidCallbacks.d.ts index 2d53227..05bcce4 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InraidCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InraidCallbacks.d.ts @@ -3,14 +3,16 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IAirdropConfig } from "../models/spt/config/IAirdropConfig"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class InraidCallbacks { - private inraidController; - private httpResponse; - private configServer; - private airdropConfig; - private inraidConfig; + protected inraidController: InraidController; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected airdropConfig: IAirdropConfig; + protected inraidConfig: IInRaidConfig; constructor(inraidController: InraidController, httpResponse: HttpResponseUtil, configServer: ConfigServer); registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InsuranceCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InsuranceCallbacks.d.ts index 79feb67..520d0eb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InsuranceCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InsuranceCallbacks.d.ts @@ -5,15 +5,16 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { InsuranceService } from "../services/InsuranceService"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class InsuranceCallbacks extends OnLoadOnUpdate { - private insuranceController; - private insuranceService; - private httpResponse; - private configServer; - private insuranceConfig; + protected insuranceController: InsuranceController; + protected insuranceService: InsuranceService; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected insuranceConfig: IInsuranceConfig; constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer); onLoad(): void; getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InventoryCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InventoryCallbacks.d.ts index 9795aa0..9ab1486 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InventoryCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/InventoryCallbacks.d.ts @@ -18,7 +18,7 @@ import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryT import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class InventoryCallbacks { - private inventoryController; + protected inventoryController: InventoryController; constructor(inventoryController: InventoryController); moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ItemEventCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ItemEventCallbacks.d.ts index 74e79c4..f4f04f9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ItemEventCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ItemEventCallbacks.d.ts @@ -4,8 +4,8 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ItemEventRouter } from "../routers/ItemEventRouter"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class ItemEventCallbacks { - private httpResponse; - private itemEventRouter; + protected httpResponse: HttpResponseUtil; + protected itemEventRouter: ItemEventRouter; constructor(httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter); handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/LauncherCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/LauncherCallbacks.d.ts index 4bd5e2c..c022325 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/LauncherCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/LauncherCallbacks.d.ts @@ -8,10 +8,10 @@ import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { Watermark } from "../utils/Watermark"; declare class LauncherCallbacks { - private httpResponse; - private launcherController; - private saveServer; - private watermark; + protected httpResponse: HttpResponseUtil; + protected launcherController: LauncherController; + protected saveServer: SaveServer; + protected watermark: Watermark; constructor(httpResponse: HttpResponseUtil, launcherController: LauncherController, saveServer: SaveServer, watermark: Watermark); connect(): string; login(url: string, info: ILoginRequestData, sessionID: string): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/LocationCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/LocationCallbacks.d.ts index 5ecab74..cc69369 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/LocationCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/LocationCallbacks.d.ts @@ -6,8 +6,8 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class LocationCallbacks { - private httpResponse; - private locationController; + protected httpResponse: HttpResponseUtil; + protected locationController: LocationController; constructor(httpResponse: HttpResponseUtil, locationController: LocationController); getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/MatchCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/MatchCallbacks.d.ts index 63d38d9..083c1f5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/MatchCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/MatchCallbacks.d.ts @@ -9,10 +9,10 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class MatchCallbacks { - private httpResponse; - private jsonUtil; - private matchController; - private databaseServer; + protected httpResponse: HttpResponseUtil; + protected jsonUtil: JsonUtil; + protected matchController: MatchController; + protected databaseServer: DatabaseServer; constructor(httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, matchController: MatchController, databaseServer: DatabaseServer); updatePing(url: string, info: any, sessionID: string): INullResponseData; exitMatch(url: string, info: any, sessionID: string): INullResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ModCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ModCallbacks.d.ts index 2011f0e..866abf7 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ModCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ModCallbacks.d.ts @@ -1,16 +1,17 @@ import { OnLoad } from "../di/OnLoad"; import { DelayedModLoader } from "../loaders/DelayedModLoader"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; declare class ModCallbacks extends OnLoad { - private logger; - private httpResponse; - private httpServer; - private modLoader; - private configServer; - private httpConfig; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected httpServer: IHttpServer; + protected modLoader: DelayedModLoader; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/NoteCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/NoteCallbacks.d.ts index fd7c5ca..d39d400 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/NoteCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/NoteCallbacks.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { INoteActionData } from "../models/eft/notes/INoteActionData"; export declare class NoteCallbacks { - private noteController; + protected noteController: NoteController; constructor(noteController: NoteController); addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/NotifierCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/NotifierCallbacks.d.ts index 416e6a3..cd1e736 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/NotifierCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/NotifierCallbacks.d.ts @@ -6,9 +6,9 @@ import { INotifierChannel } from "../models/eft/notifier/INotifier"; import { ISelectProfileRequestData } from "../models/eft/notifier/ISelectProfileRequestData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class NotifierCallbacks { - private httpServerHelper; - private httpResponse; - private notifierController; + protected httpServerHelper: HttpServerHelper; + protected httpResponse: HttpResponseUtil; + protected notifierController: NotifierController; constructor(httpServerHelper: HttpServerHelper, httpResponse: HttpResponseUtil, notifierController: NotifierController); /** * If we don't have anything to send, it's ok to not send anything back @@ -16,7 +16,7 @@ export declare class NotifierCallbacks { * until we actually have something to send because otherwise we'd spam the client * and the client would abort the connection due to spam. */ - sendNotification(sessionID: string, req: any, resp: any, data: any): void; + sendNotification(_sessionID: string, req: any, resp: any, _data: any): void; getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData; createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/PresetBuildCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/PresetBuildCallbacks.d.ts index 639c33f..8a0c155 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/PresetBuildCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/PresetBuildCallbacks.d.ts @@ -6,8 +6,8 @@ import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPreset import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class PresetBuildCallbacks { - private httpResponse; - private presetBuildController; + protected httpResponse: HttpResponseUtil; + protected presetBuildController: PresetBuildController; constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController); getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/PresetCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/PresetCallbacks.d.ts index f62afd6..4553f8f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/PresetCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/PresetCallbacks.d.ts @@ -1,7 +1,7 @@ import { PresetController } from "../controllers/PresetController"; import { OnLoad } from "../di/OnLoad"; export declare class PresetCallbacks extends OnLoad { - private presetController; + protected presetController: PresetController; constructor(presetController: PresetController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ProfileCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ProfileCallbacks.d.ts index efce47d..116e7c5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ProfileCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/ProfileCallbacks.d.ts @@ -12,9 +12,9 @@ import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNic import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileCallbacks { - private httpResponse; - private timeUtil; - private profileController; + protected httpResponse: HttpResponseUtil; + protected timeUtil: TimeUtil; + protected profileController: ProfileController; constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, profileController: ProfileController); createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/QuestCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/QuestCallbacks.d.ts index f742096..559c29e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/QuestCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/QuestCallbacks.d.ts @@ -13,9 +13,9 @@ import { IListQuestsRequestData } from "../models/eft/quests/IListQuestsRequestD import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class QuestCallbacks { - private httpResponse; - private questController; - private repeatableQuestController; + protected httpResponse: HttpResponseUtil; + protected questController: QuestController; + protected repeatableQuestController: RepeatableQuestController; constructor(httpResponse: HttpResponseUtil, questController: QuestController, repeatableQuestController: RepeatableQuestController); changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/RagfairCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/RagfairCallbacks.d.ts index 152475f..d5bab8b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/RagfairCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/RagfairCallbacks.d.ts @@ -3,6 +3,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData"; import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; @@ -10,19 +11,20 @@ import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { RagfairServer } from "../servers/RagfairServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class RagfairCallbacks extends OnLoadOnUpdate { - private httpResponse; - private logger; - private jsonUtil; - private ragfairServer; - private ragfairController; - private configServer; - private ragfairConfig; + protected httpResponse: HttpResponseUtil; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected ragfairServer: RagfairServer; + protected ragfairController: RagfairController; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(httpResponse: HttpResponseUtil, logger: ILogger, jsonUtil: JsonUtil, ragfairServer: RagfairServer, ragfairController: RagfairController, configServer: ConfigServer); onLoad(): void; getRoute(): string; @@ -33,4 +35,5 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate { removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse; extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; onUpdate(timeSinceLastRun: number): boolean; + sendReport(url: string, info: any, sessionID: string): INullResponseData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/RepairCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/RepairCallbacks.d.ts index f63ec18..63733fa 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/RepairCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/RepairCallbacks.d.ts @@ -4,7 +4,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; export declare class RepairCallbacks { - private repairController; + protected repairController: RepairController; constructor(repairController: RepairController); traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/SaveCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/SaveCallbacks.d.ts index b7219a0..bbb6e53 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/SaveCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/SaveCallbacks.d.ts @@ -1,7 +1,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { SaveServer } from "../servers/SaveServer"; export declare class SaveCallbacks extends OnLoadOnUpdate { - private saveServer; + protected saveServer: SaveServer; constructor(saveServer: SaveServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/TradeCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/TradeCallbacks.d.ts index 9928951..272ae46 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/TradeCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/TradeCallbacks.d.ts @@ -4,7 +4,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; export declare class TradeCallbacks { - private tradeController; + protected tradeController: TradeController; constructor(tradeController: TradeController); processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/TraderCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/TraderCallbacks.d.ts index 2a8af7f..128d9b2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/TraderCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/TraderCallbacks.d.ts @@ -5,8 +5,8 @@ import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class TraderCallbacks extends OnLoadOnUpdate { - private httpResponse; - private traderController; + protected httpResponse: HttpResponseUtil; + protected traderController: TraderController; constructor(httpResponse: HttpResponseUtil, traderController: TraderController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/WeatherCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/WeatherCallbacks.d.ts index e40ab3e..ae784c8 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/WeatherCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/WeatherCallbacks.d.ts @@ -3,8 +3,8 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class WeatherCallbacks { - private httpResponse; - private weatherController; + protected httpResponse: HttpResponseUtil; + protected weatherController: WeatherController; constructor(httpResponse: HttpResponseUtil, weatherController: WeatherController); getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/WishlistCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/WishlistCallbacks.d.ts index e0249fd..c2cc2a8 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/WishlistCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/callbacks/WishlistCallbacks.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; export declare class WishlistCallbacks { - private wishlistController; + protected wishlistController: WishlistController; constructor(wishlistController: WishlistController); addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/BotController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/BotController.d.ts index 8ecb97f..09a1788 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/BotController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/BotController.d.ts @@ -4,17 +4,32 @@ import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequest import { IBotBase } from "../models/eft/common/tables/IBotBase"; import { IBotCore } from "../models/eft/common/tables/IBotCore"; import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class BotController { - private databaseServer; - private botGenerator; - private botHelper; - private configServer; - private botConfig; + protected databaseServer: DatabaseServer; + protected botGenerator: BotGenerator; + protected botHelper: BotHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, configServer: ConfigServer); - getBotLimit(type: string): number; - getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty; + /** + * Return the number of bot loadout varieties to be generated + * @param type bot Type we want the loadout gen count for + * @returns + */ + getBotPresetGenerationLimit(type: string): number; + getBotCoreDifficulty(): IBotCore; + /** + * Get bot difficulty settings + * adjust PMC settings to ensure they engage the correct bot types + * @param type what bot the server is requesting settings for + * @param difficulty difficulty level server requested settings for + * @returns Difficulty object + */ + getBotDifficulty(type: string, difficulty: string): Difficulty; + protected getPmcDifficultySettings(pmcType: "bear" | "usec", difficulty: string): Difficulty; generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; getBotCap(): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/CustomizationController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/CustomizationController.d.ts index 698e6be..a6c4730 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/CustomizationController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/CustomizationController.d.ts @@ -9,14 +9,14 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; export declare class CustomizationController { - private logger; - private itemEventRouter; - private databaseServer; - private saveServer; - private profileHelper; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper); getTraderSuits(traderID: string, sessionID: string): ISuit[]; wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; - private getAllTraderSuits; + protected getAllTraderSuits(sessionID: string): ISuit[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/DialogueController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/DialogueController.d.ts index 235594f..b15c4b6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/DialogueController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/DialogueController.d.ts @@ -3,13 +3,13 @@ import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachme import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { DialogueInfo } from "../models/eft/profile/IAkiProfile"; +import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile"; import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class DialogueController { - private httpResponse; - private saveServer; - private dialogueHelper; + protected httpResponse: HttpResponseUtil; + protected saveServer: SaveServer; + protected dialogueHelper: DialogueHelper; constructor(httpResponse: HttpResponseUtil, saveServer: SaveServer, dialogueHelper: DialogueHelper); getFriendList(sessionID: string): IGetFriendListDataResponse; generateDialogueList(sessionID: string): IGetBodyResponseData; @@ -19,7 +19,7 @@ export declare class DialogueController { setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void; setRead(dialogueIDs: string[], sessionID: string): void; getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse; - private messagesHaveUncollectedRewards; - private removeExpiredItems; + protected messagesHaveUncollectedRewards(messages: Message[]): boolean; + protected removeExpiredItems(sessionID: string): void; update(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/GameController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/GameController.d.ts index bb2a55a..7f632d6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/GameController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/GameController.d.ts @@ -1,28 +1,33 @@ +import { GameHelper } from "../helpers/GameHelper"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { Watermark } from "../utils/Watermark"; export declare class GameController { - private logger; - private watermark; - private httpServerHelper; - private profileHelper; - private configServer; - private httpConfig; - constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); + protected logger: ILogger; + protected watermark: Watermark; + protected httpServerHelper: HttpServerHelper; + protected profileHelper: ProfileHelper; + protected gameHelper: GameHelper; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, configServer: ConfigServer); gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void; - private addMissingBonusesProperty; - private addMissingRepeatableQuestsProperty; - private addMissingWeaponRepairSkill; - private addMissingAkiVersionTagToProfile; - private addMissingArmorRepairSkill; - private fixNullTraderSalesSums; - private removeDanglingConditionCounters; - private removeDanglingBackendCounters; + protected addMissingBonusesProperty(pmcProfile: IPmcData): void; + protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; + protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void; + protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; + protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void; + protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; + protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; getGameConfig(sessionID: string): IGameConfigResponse; getServer(): any[]; - private getActiveRepeatableQuests; + protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HandbookController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HandbookController.d.ts index f473437..52d2dd8 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HandbookController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HandbookController.d.ts @@ -1,8 +1,8 @@ import { HandbookHelper } from "../helpers/HandbookHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class HandbookController { - private databaseServer; - private handbookHelper; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper); load(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HealthController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HealthController.d.ts index ca049f6..aafb8df 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HealthController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HealthController.d.ts @@ -11,12 +11,12 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class HealthController { - private logger; - private itemEventRouter; - private itemHelper; - private paymentService; - private inventoryHelper; - private healthHelper; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected itemHelper: ItemHelper; + protected paymentService: PaymentService; + protected inventoryHelper: InventoryHelper; + protected healthHelper: HealthHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper); saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HideoutController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HideoutController.d.ts index f35c23b..f2930ff 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HideoutController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/HideoutController.d.ts @@ -3,10 +3,12 @@ import { InventoryHelper } from "../helpers/InventoryHelper"; import { PaymentHelper } from "../helpers/PaymentHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; +import { HideoutArea, IPmcData, Product } from "../models/eft/common/IPmcData"; import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; @@ -14,6 +16,7 @@ import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideou import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -25,32 +28,41 @@ import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class HideoutController { - private logger; - private hashUtil; - private timeUtil; - private databaseServer; - private randomUtil; - private inventoryHelper; - private saveServer; - private playerService; - private presetHelper; - private paymentHelper; - private itemEventRouter; - private httpResponse; - private profileHelper; - private hideoutHelper; - private configServer; - private hideoutConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected inventoryHelper: InventoryHelper; + protected saveServer: SaveServer; + protected playerService: PlayerService; + protected presetHelper: PresetHelper; + protected paymentHelper: PaymentHelper; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected hideoutHelper: HideoutHelper; + protected configServer: ConfigServer; + protected hideoutConfig: IHideoutConfig; constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, configServer: ConfigServer); upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + protected removeItemFromGenerator(sessionID: string, pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, output: IItemEventRouterResponse, hideoutArea: HideoutArea): IItemEventRouterResponse; toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + protected getRandomisedItemRarityCounter(recipe: IHideoutScavCase): { + [x: string]: number; + }; + protected getRandomisedScavRewards(rarityItemCounter: { + [x: string]: number; + }): Product[]; continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + protected handleRecipie(sessionID: string, recipe: IHideoutProduction, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; + protected handleScavCase(sessionID: string, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; update(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InraidController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InraidController.d.ts index c1cd6f5..7f2036c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InraidController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InraidController.d.ts @@ -6,24 +6,25 @@ import { QuestHelper } from "../helpers/QuestHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { InsuranceService } from "../services/InsuranceService"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InraidController { - private saveServer; - private jsonUtil; - private databaseServer; - private questHelper; - private itemHelper; - private extendedProfileHelper; - private healthHelper; - private traderHelper; - private insuranceService; - private inRaidHelper; - private configServer; - private inraidConfig; + protected saveServer: SaveServer; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + protected itemHelper: ItemHelper; + protected extendedProfileHelper: ExtendedProfileHelper; + protected healthHelper: HealthHelper; + protected traderHelper: TraderHelper; + protected insuranceService: InsuranceService; + protected inRaidHelper: InRaidHelper; + protected configServer: ConfigServer; + protected inraidConfig: IInRaidConfig; constructor(saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, extendedProfileHelper: ExtendedProfileHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, configServer: ConfigServer); addPlayer(sessionID: string, info: IRegisterPlayerRequestData): void; saveProgress(offraidData: ISaveProgressRequestData, sessionID: string): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InsuranceController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InsuranceController.d.ts index b175a06..db2c567 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InsuranceController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InsuranceController.d.ts @@ -5,6 +5,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -15,19 +16,19 @@ import { PaymentService } from "../services/PaymentService"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class InsuranceController { - private logger; - private randomUtil; - private itemEventRouter; - private timeUtil; - private saveServer; - private databaseServer; - private itemHelper; - private profileHelper; - private dialogueHelper; - private paymentService; - private insuranceService; - private configServer; - private insuranceConfig; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected itemEventRouter: ItemEventRouter; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected profileHelper: ProfileHelper; + protected dialogueHelper: DialogueHelper; + protected paymentService: PaymentService; + protected insuranceService: InsuranceService; + protected configServer: ConfigServer; + protected insuranceConfig: IInsuranceConfig; constructor(logger: ILogger, randomUtil: RandomUtil, itemEventRouter: ItemEventRouter, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, // TODO: delay required insuranceService: InsuranceService, configServer: ConfigServer); processReturn(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InventoryController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InventoryController.d.ts index 8235082..b732aa9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InventoryController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/InventoryController.d.ts @@ -27,15 +27,15 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InventoryController { - private logger; - private hashUtil; - private jsonUtil; - private databaseServer; - private presetHelper; - private inventoryHelper; - private profileHelper; - private paymentHelper; - private itemEventRouter; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected presetHelper: PresetHelper; + protected inventoryHelper: InventoryHelper; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemEventRouter: ItemEventRouter; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); /** * Move Item diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/LauncherController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/LauncherController.d.ts index 2a30713..1af1f56 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/LauncherController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/LauncherController.d.ts @@ -3,23 +3,24 @@ import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; import { IRegisterData } from "../models/eft/launcher/IRegisterData"; import { Info } from "../models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; export declare class LauncherController { - private hashUtil; - private saveServer; - private httpServerHelper; - private databaseServer; - private configServer; - private coreConfig; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected httpServerHelper: HttpServerHelper; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected coreConfig: ICoreConfig; constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, databaseServer: DatabaseServer, configServer: ConfigServer); connect(): any; find(sessionIdKey: string): Info; login(info: ILoginRequestData): string; register(info: IRegisterData): string; - private createAccount; + protected createAccount(info: IRegisterData): string; changeUsername(info: IChangeRequestData): string; changePassword(info: IChangeRequestData): string; wipe(info: IRegisterData): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/LocationController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/LocationController.d.ts index 41a8719..90b6d7a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/LocationController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/LocationController.d.ts @@ -6,11 +6,11 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class LocationController { - private jsonUtil; - private logger; - private locationGenerator; - private databaseServer; - private timeUtil; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected locationGenerator: LocationGenerator; + protected databaseServer: DatabaseServer; + protected timeUtil: TimeUtil; constructor(jsonUtil: JsonUtil, logger: ILogger, locationGenerator: LocationGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil); get(location: string): ILocationBase; generate(name: string): ILocationBase; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/MatchController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/MatchController.d.ts index 84abbe3..c322d96 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/MatchController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/MatchController.d.ts @@ -4,21 +4,23 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; +import { IMatchConfig } from "../models/spt/config/IMatchConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; import { MatchLocationService } from "../services/MatchLocationService"; export declare class MatchController { - private saveServer; - private profileHelper; - private matchLocationService; - private traderHelper; - private configServer; - private matchConfig; - private inraidConfig; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected matchLocationService: MatchLocationService; + protected traderHelper: TraderHelper; + protected configServer: ConfigServer; + protected matchConfig: IMatchConfig; + protected inraidConfig: IInRaidConfig; constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); getEnabled(): boolean; getProfile(info: IGetProfileRequestData): IPmcData[]; - private getMatch; + protected getMatch(location: any): any; createGroup(sessionID: string, info: any): any; deleteGroup(info: any): void; joinMatch(info: any, sessionID: string): any[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/NoteController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/NoteController.d.ts index 4d3420e..cc78383 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/NoteController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/NoteController.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { INoteActionData } from "../models/eft/notes/INoteActionData"; import { ItemEventRouter } from "../routers/ItemEventRouter"; declare class NoteController { - private itemEventRouter; + protected itemEventRouter: ItemEventRouter; constructor(itemEventRouter: ItemEventRouter); addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/NotifierController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/NotifierController.d.ts index 36fef66..31d7bfe 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/NotifierController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/NotifierController.d.ts @@ -3,11 +3,11 @@ import { NotificationService } from "../services/NotificationService"; import { INotifierChannel } from "../models/eft/notifier/INotifier"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; export declare class NotifierController { - private notifierHelper; - private httpServerHelper; - private notificationService; - private pollInterval; - private timeout; + protected notifierHelper: NotifierHelper; + protected httpServerHelper: HttpServerHelper; + protected notificationService: NotificationService; + protected pollInterval: number; + protected timeout: number; constructor(notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, notificationService: NotificationService); /** * Resolve an array of session notifications. diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/PresetBuildController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/PresetBuildController.d.ts index 11c5c3e..adf4084 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/PresetBuildController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/PresetBuildController.d.ts @@ -7,10 +7,10 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; export declare class PresetBuildController { - private hashUtil; - private itemEventRouter; - private itemHelper; - private saveServer; + protected hashUtil: HashUtil; + protected itemEventRouter: ItemEventRouter; + protected itemHelper: ItemHelper; + protected saveServer: SaveServer; constructor(hashUtil: HashUtil, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, saveServer: SaveServer); getUserBuilds(sessionID: string): WeaponBuild[]; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/PresetController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/PresetController.d.ts index 6ec8c55..ca1af1a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/PresetController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/PresetController.d.ts @@ -1,8 +1,8 @@ import { PresetHelper } from "../helpers/PresetHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PresetController { - private presetHelper; - private databaseServer; + protected presetHelper: PresetHelper; + protected databaseServer: DatabaseServer; constructor(presetHelper: PresetHelper, databaseServer: DatabaseServer); initialize(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/ProfileController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/ProfileController.d.ts index c8bd5f1..9b7a6d5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/ProfileController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/ProfileController.d.ts @@ -14,13 +14,13 @@ import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileController { - private hashUtil; - private timeUtil; - private saveServer; - private databaseServer; - private itemHelper; - private traderHelper; - private extendedProfileHelper; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected traderHelper: TraderHelper; + protected extendedProfileHelper: ExtendedProfileHelper; constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); getMiniProfiles(): IMiniProfile[]; getMiniProfile(sessionID: string): any; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/QuestController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/QuestController.d.ts index d8caee5..c00cd6d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/QuestController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/QuestController.d.ts @@ -4,11 +4,12 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { QuestConditionHelper } from "../helpers/QuestConditionHelper"; import { QuestHelper } from "../helpers/QuestHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; -import { IQuest } from "../models/eft/common/tables/IQuest"; +import { IQuest, Reward } from "../models/eft/common/tables/IQuest"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -16,22 +17,58 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { PlayerService } from "../services/PlayerService"; import { TimeUtil } from "../utils/TimeUtil"; export declare class QuestController { - private logger; - private timeUtil; - private itemEventRouter; - private databaseServer; - private itemHelper; - private dialogueHelper; - private profileHelper; - private questHelper; - private questConditionHelper; - private playerService; - private configServer; - private questConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected dialogueHelper: DialogueHelper; + protected profileHelper: ProfileHelper; + protected questHelper: QuestHelper; + protected questConditionHelper: QuestConditionHelper; + protected playerService: PlayerService; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer); + /** + * Get all quests visible to player + * Exclude quests with incomplete preconditions (level/loyalty) + * @param sessionID session id + * @returns array of IQuest + */ getClientQuests(sessionID: string): IQuest[]; acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Remove completed quest from profile + * Add newly unlocked quests to profile + * Also recalculate thier level due to exp rewards + * @param pmcData Player profile + * @param body completed quest request + * @param sessionID session id + * @returns ItemEvent response + */ completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Send a popup to player on completion of a quest + * @param sessionID session id + * @param pmcData player profile + * @param completedQuestId completed quest id + * @param questRewards rewards given to player + */ + protected sendDialogMessageOnQuestComplete(sessionID: string, pmcData: IPmcData, completedQuestId: string, questRewards: Reward[]): void; + /** + * Returns a list of quests that should be failed when a quest is completed + * @param completedQuestId quest completed id + * @returns array of quests + */ + protected getQuestsFailedByCompletingQuest(completedQuestId: string): IQuest[]; + /** + * Fail the quests provided + * @param sessionID session id + * @param pmcData player profile + * @param questsToFail quests to fail + */ + protected failQuests(sessionID: string, pmcData: IPmcData, questsToFail: IQuest[]): void; handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RagfairController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RagfairController.d.ts index 5b94a95..c758593 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RagfairController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RagfairController.d.ts @@ -20,6 +20,7 @@ import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPric import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -33,30 +34,30 @@ import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsSer import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairController { - private logger; - private timeUtil; - private httpResponse; - private itemEventRouter; - private ragfairServer; - private ragfairPriceService; - private databaseServer; - private itemHelper; - private saveServer; - private ragfairSellHelper; - private ragfairTaxHelper; - private ragfairSortHelper; - private ragfairOfferHelper; - private profileHelper; - private paymentService; - private handbookHelper; - private paymentHelper; - private inventoryHelper; - private ragfairHelper; - private ragfairOfferService; - private ragfairRequiredItemsService; - private ragfairOfferGenerator; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected httpResponse: HttpResponseUtil; + protected itemEventRouter: ItemEventRouter; + protected ragfairServer: RagfairServer; + protected ragfairPriceService: RagfairPriceService; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected saveServer: SaveServer; + protected ragfairSellHelper: RagfairSellHelper; + protected ragfairTaxHelper: RagfairTaxHelper; + protected ragfairSortHelper: RagfairSortHelper; + protected ragfairOfferHelper: RagfairOfferHelper; + protected profileHelper: ProfileHelper; + protected paymentService: PaymentService; + protected handbookHelper: HandbookHelper; + protected paymentHelper: PaymentHelper; + protected inventoryHelper: InventoryHelper; + protected ragfairHelper: RagfairHelper; + protected ragfairOfferService: RagfairOfferService; + protected ragfairRequiredItemsService: RagfairRequiredItemsService; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer); getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult; update(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RepairController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RepairController.d.ts index 77dd47a..330684d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RepairController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RepairController.d.ts @@ -5,21 +5,23 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; +import { IRepairConfig } from "../models/spt/config/IRepairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { PaymentService } from "../services/PaymentService"; export declare class RepairController { - private logger; - private itemEventRouter; - private databaseServer; - private questHelper; - private traderHelper; - private paymentService; - private repairHelper; - private configServer; - private repairConfig; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + protected traderHelper: TraderHelper; + protected paymentService: PaymentService; + protected repairHelper: RepairHelper; + protected configServer: ConfigServer; + protected repairConfig: IRepairConfig; + protected readonly WEAPON_SKILL_REPAIR_GAIN: number; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, questHelper: QuestHelper, traderHelper: TraderHelper, paymentService: PaymentService, repairHelper: RepairHelper, configServer: ConfigServer); /** * Repair with trader @@ -36,5 +38,5 @@ export declare class RepairController { * @param sessionID session id * @returns item event router action */ - repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; + repairWithKit(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RepeatableQuestController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RepeatableQuestController.d.ts index 2dedc7e..9aa9590 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RepeatableQuestController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/RepeatableQuestController.d.ts @@ -1,3 +1,4 @@ +import { GameHelper } from "../helpers/GameHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; @@ -9,7 +10,7 @@ import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationConditi import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "../models/enums/ELocationName"; -import { IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IQuestConfig, IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -48,22 +49,23 @@ export interface ITargetLocation { locations: string[]; } export declare class RepeatableQuestController { - private timeUtil; - private logger; - private randomUtil; - private mathUtil; - private jsonUtil; - private databaseServer; - private itemHelper; - private presetHelper; - private profileHelper; - private ragfairServerHelper; - private itemEventRouter; - private paymentService; - private objectId; - private configServer; - private questConfig; - constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); + protected timeUtil: TimeUtil; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected mathUtil: MathUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected gameHelper: GameHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected itemEventRouter: ItemEventRouter; + protected paymentService: PaymentService; + protected objectId: ObjectId; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); /** * This is the method reached by the /client/repeatalbeQuests/activityPeriods endpoint * Returns an array of objects in the format of repeatable quests to the client. diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/TradeController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/TradeController.d.ts index f0a177b..c86745c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/TradeController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/TradeController.d.ts @@ -9,11 +9,11 @@ import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTr import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ILogger } from "../models/spt/utils/ILogger"; declare class TradeController { - private logger; - private itemEventRouter; - private tradeHelper; - private profileHelper; - private ragfairServer; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected tradeHelper: TradeHelper; + protected profileHelper: ProfileHelper; + protected ragfairServer: RagfairServer; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, tradeHelper: TradeHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer); confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse; confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/TraderController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/TraderController.d.ts index 36eac75..7bab158 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/TraderController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/TraderController.d.ts @@ -8,14 +8,14 @@ import { TraderAssortService } from "../services/TraderAssortService"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class TraderController { - private logger; - private databaseServer; - private traderAssortHelper; - private profileHelper; - private traderHelper; - private timeUtil; - private traderAssortService; - private jsonUtil; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected traderAssortHelper: TraderAssortHelper; + protected profileHelper: ProfileHelper; + protected traderHelper: TraderHelper; + protected timeUtil: TimeUtil; + protected traderAssortService: TraderAssortService; + protected jsonUtil: JsonUtil; constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, jsonUtil: JsonUtil); load(): void; getTrader(traderID: string, sessionID: string): ITraderBase; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/WeatherController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/WeatherController.d.ts index 312c3a3..ca7f5eb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/WeatherController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/WeatherController.d.ts @@ -1,10 +1,11 @@ import { WeatherGenerator } from "../generators/WeatherGenerator"; import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class WeatherController { - private weatherGenerator; - private configServer; - private weatherConfig; + protected weatherGenerator: WeatherGenerator; + protected configServer: ConfigServer; + protected weatherConfig: IWeatherConfig; constructor(weatherGenerator: WeatherGenerator, configServer: ConfigServer); generate(): IWeatherData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/WishlistController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/WishlistController.d.ts index 5ef8df3..a96c522 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/WishlistController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/controllers/WishlistController.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class WishlistController { - private itemEvenRouter; + protected itemEvenRouter: ItemEventRouter; constructor(itemEvenRouter: ItemEventRouter); addToWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotGenerator.d.ts index e2565b7..88a8014 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotGenerator.d.ts @@ -1,7 +1,10 @@ import { BotHelper } from "../helpers/BotHelper"; import { GameEventHelper } from "../helpers/GameEventHelper"; import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { Health as PmcHealth } from "../models/eft/common/IPmcData"; import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { Health, Inventory, Skills } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -9,28 +12,35 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { BotInventoryGenerator } from "./BotInventoryGenerator"; +declare namespace BotGenerator { + interface IRandomisedBotLevelResult { + level: number; + exp: number; + } +} export declare class BotGenerator { - private logger; - private hashUtil; - private randomUtil; - private jsonUtil; - private databaseServer; - private botInventoryGenerator; - private botHelper; - private gameEventHelper; - private configServer; - private botConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected botInventoryGenerator: BotInventoryGenerator; + protected botHelper: BotHelper; + protected gameEventHelper: GameEventHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, botInventoryGenerator: BotInventoryGenerator, botHelper: BotHelper, gameEventHelper: GameEventHelper, configServer: ConfigServer); generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; - private generateBot; - private generateRandomLevel; + protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase; + protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult; /** Converts health object to the required format */ - private generateHealth; - private generateSkills; - private getPmcRole; - private removeChristmasItemsFromBotInventory; - private generateId; - private generateInventoryID; - private getPMCDifficulty; - private generateDogtag; + protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth; + protected generateSkills(skillsObj: Skills): Skills; + protected getPmcRole(pmcSide: string): string; + protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void; + protected generateId(bot: IBotBase): IBotBase; + protected generateInventoryID(profile: IBotBase): IBotBase; + protected getPMCDifficulty(requestedDifficulty: string): string; + protected generateDogtag(bot: IBotBase): IBotBase; } +export {}; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotInventoryGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotInventoryGenerator.d.ts index 0cdbacb..783d0c5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotInventoryGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotInventoryGenerator.d.ts @@ -1,5 +1,5 @@ import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; -import { Inventory, Chances, Generation } from "../models/eft/common/tables/IBotType"; +import { Inventory, Chances, Generation, Mods } from "../models/eft/common/tables/IBotType"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; @@ -9,16 +9,16 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; export declare class BotInventoryGenerator { - private logger; - private hashUtil; - private randomUtil; - private databaseServer; - private botWeaponGenerator; - private botLootGenerator; - private botGeneratorHelper; - private weightedRandomHelper; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected botWeaponGenerator: BotWeaponGenerator; + protected botLootGenerator: BotLootGenerator; + protected botGeneratorHelper: BotGeneratorHelper; + protected weightedRandomHelper: WeightedRandomHelper; constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, weightedRandomHelper: WeightedRandomHelper); generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; - private generateEquipment; - private generateInventoryBase; + protected generateEquipment(equipmentSlot: string, equipmentPool: Record, modPool: Mods, spawnChances: Chances, botRole: string, inventory: PmcInventory): void; + protected generateInventoryBase(): PmcInventory; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotLootGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotLootGenerator.d.ts index 1d8c8e1..1d91836 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotLootGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotLootGenerator.d.ts @@ -3,25 +3,27 @@ import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { HandbookHelper } from "../helpers/HandbookHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotLootGenerator { - private jsonUtil; - private hashUtil; - private randomUtil; - private databaseServer; - private handbookHelper; - private botGeneratorHelper; - private pmcLootGenerator; - private configServer; - private botConfig; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected botGeneratorHelper: BotGeneratorHelper; + protected pmcLootGenerator: PMCLootGenerator; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer); generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void; - private getRandomisedCount; - private addLootFromPool; + protected getRandomisedCount(min: number, max: number, nValue: number): number; + protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void; /** Compares two item templates by their price to spawn chance ratio */ - private compareByValue; + protected compareByValue(a: ITemplateItem, b: ITemplateItem): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotWeaponGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotWeaponGenerator.d.ts index e8f91cb..a43b18c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotWeaponGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/BotWeaponGenerator.d.ts @@ -2,43 +2,87 @@ import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; -import { MinMax, Mods, ModsChances } from "../models/eft/common/tables/IBotType"; +import { Inventory, MinMax, ModsChances } from "../models/eft/common/tables/IBotType"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotWeaponGenerator { - private logger; - private hashUtil; - private databaseServer; - private itemHelper; - private weightedRandomHelper; - private botGeneratorHelper; - private randomUtil; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected weightedRandomHelper: WeightedRandomHelper; + protected botGeneratorHelper: BotGeneratorHelper; + protected randomUtil: RandomUtil; + private readonly modMagazineSlotId; constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); - generateWeapon(equipmentSlot: string, weaponPool: Record, modPool: Mods, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; + generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; + /** + * Get the mods necessary to kit out a weapon to its preset level + * @param weaponTpl weapon to find preset for + * @param equipmentSlot the slot the weapon will be placed in + * @param weaponParentId + * @returns array of weapon mods + */ + protected getPresetWeaponMods(weaponTpl: string, equipmentSlot: string, weaponParentId: string, itemTemplate: ITemplateItem, botRole: string): Item[]; /** Checks if all required slots are occupied on a weapon and all it's mods */ - private isWeaponValid; + protected isWeaponValid(itemList: Item[]): boolean; /** - * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. - * Additionally, adds extra bullets to SecuredContainer - * - * @param {*} weaponMods - * @param {*} weaponTemplate - * @param {*} magCounts - * @param {*} ammoTpl - * @returns - */ - private generateExtraMagazines; - private addBullets; + * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. + * Additionally, adds extra bullets to SecuredContainer + * @param weaponMods + * @param weaponTemplate + * @param magCounts + * @param ammoTpl + * @param inventory + * @returns + */ + protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void; /** - * Finds and returns tpl of ammo that should be used, while making sure it's compatible + * Get a randomised count of magazines + * @param magCounts min and max value returned value can be between + * @returns numberical value of magazine count + */ + protected getRandomisedMagazineCount(magCounts: MinMax): number; + /** + * Add ammo to the secure container + * @param stackCount How many stacks of ammo to add + * @param ammoTpl Ammo type to add + * @param stackSize Size of the ammo stack to add + * @param inventory Player inventory + */ + protected addAmmoToSecureContainer(stackCount: number, ammoTpl: string, stackSize: number, inventory: PmcInventory): void; + /** + * Get a weapons magazine tpl from a weapon template + * @param weaponMods mods from a weapon template + * @param weaponTemplate Weapon to get magazine tpl for + * @returns magazine tpl string + */ + protected getMagazineTplFromWeaponTemplate(weaponMods: Item[], weaponTemplate: ITemplateItem): string; + protected addBulletsToVestAndPockets(ammoTpl: string, bulletCount: number, inventory: PmcInventory): void; + /** + * Finds and returns compatible ammo tpl * * @param {*} weaponMods * @param {*} weaponTemplate - * @returns + * @returns compatible ammo tpl */ - private getCompatibleAmmo; - /** Fill existing magazines to full, while replacing their contents with specified ammo */ - private fillExistingMagazines; + protected getCompatibleAmmo(weaponMods: Item[], weaponTemplate: ITemplateItem): string; + /** + * Fill existing magazines to full, while replacing their contents with specified ammo + * @param weaponMods + * @param magazine + * @param ammoTpl + */ + protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void; + /** + * Fill each Camora with a bullet + * @param weaponMods Weapon mods to find and update camora mod(s) from + * @param magazineId magazine id to find and add to + * @param ammoTpl ammo template id to hydate with + */ + protected fillCamorasWithAmmo(weaponMods: Item[], magazineId: string, ammoTpl: string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/LocationGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/LocationGenerator.d.ts index 4b96792..bd368b5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/LocationGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/LocationGenerator.d.ts @@ -6,6 +6,8 @@ import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { ILooseLoot, SpawnpointTemplate } from "../models/eft/common/ILooseLoot"; import { Item } from "../models/eft/common/tables/IItem"; import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILocationConfig } from "../models/spt/config/ILocationConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { JsonUtil } from "../utils/JsonUtil"; @@ -18,27 +20,27 @@ export interface IContainerItem { height: number; } export declare class LocationGenerator { - private logger; - private jsonUtil; - private objectId; - private randomUtil; - private ragfairServerHelper; - private itemHelper; - private mathUtil; - private gameEventHelper; - private containerHelper; - private presetHelper; - private configServer; - private locationConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected objectId: ObjectId; + protected randomUtil: RandomUtil; + protected ragfairServerHelper: RagfairServerHelper; + protected itemHelper: ItemHelper; + protected mathUtil: MathUtil; + protected gameEventHelper: GameEventHelper; + protected containerHelper: ContainerHelper; + protected presetHelper: PresetHelper; + protected configServer: ConfigServer; + protected locationConfig: ILocationConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, gameEventHelper: GameEventHelper, containerHelper: ContainerHelper, presetHelper: PresetHelper, configServer: ConfigServer); generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record, staticAmmoDist: Record, locationName: string): IStaticContainerProps; - private getLooseLootMultiplerForLocation; - private getStaticLootMultiplerForLocation; + protected getLooseLootMultiplerForLocation(location: string): number; + protected getStaticLootMultiplerForLocation(location: string): number; generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): SpawnpointTemplate[]; - private createItem; - private getRandomCompatibleCaliberTemplateId; - private getRandomValidCaliber; - private drawAmmoTpl; - private createRandomMagCartridges; - private createCartidges; + protected createItem(tpl: string, staticAmmoDist: Record, parentId?: string): IContainerItem; + protected getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string; + protected getRandomValidCaliber(magTemplate: ITemplateItem): string; + protected drawAmmoTpl(caliber: string, staticAmmoDist: Record): string; + protected createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record, caliber?: string): Item; + protected createCartidges(parentId: string, ammoTpl: string, stackCount: number): Item; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/PMCLootGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/PMCLootGenerator.d.ts index 601431b..64e6f7f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/PMCLootGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/PMCLootGenerator.d.ts @@ -1,13 +1,14 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; import { ConfigServer } from "../servers/ConfigServer"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; export declare class PMCLootGenerator { - private itemHelper; - private databaseServer; - private configServer; - private pocketLootPool; - private backpackLootPool; - private botConfig; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected pocketLootPool: string[]; + protected backpackLootPool: string[]; + protected botConfig: IBotConfig; constructor(itemHelper: ItemHelper, databaseServer: DatabaseServer, configServer: ConfigServer); generatePMCPocketLootPool(): string[]; generatePMCBackpackLootPool(): string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/RagfairAssortGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/RagfairAssortGenerator.d.ts index 06d3250..cbdd7f2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/RagfairAssortGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/RagfairAssortGenerator.d.ts @@ -4,22 +4,22 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class RagfairAssortGenerator { - private jsonUtil; - private hashUtil; - private itemHelper; - private databaseServer; - private generatedAssortItems; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected generatedAssortItems: Item[]; constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer); /** * Get an array of unique items that can be sold on the flea * @returns array of unique items */ getAssortItems(): Item[]; - private assortsAreGenerated; + protected assortsAreGenerated(): boolean; /** * Generate an array of items the flea can sell * @returns array of unique items */ - private generateRagfairAssortItems; - private createRagfairAssortItem; + protected generateRagfairAssortItems(): Item[]; + protected createRagfairAssortItem(tplId: string, id?: string): Item; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/RagfairOfferGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/RagfairOfferGenerator.d.ts index e3fbe4a..de53ea9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/RagfairOfferGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/RagfairOfferGenerator.d.ts @@ -2,8 +2,10 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -17,37 +19,40 @@ import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; import { RagfairAssortGenerator } from "./RagfairAssortGenerator"; export declare class RagfairOfferGenerator { - private logger; - private jsonUtil; - private hashUtil; - private randomUtil; - private timeUtil; - private databaseServer; - private ragfairServerHelper; - private saveServer; - private presetHelper; - private ragfairAssortGenerator; - private ragfairOfferService; - private ragfairPriceService; - private fenceService; - private itemHelper; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected ragfairServerHelper: RagfairServerHelper; + protected saveServer: SaveServer; + protected presetHelper: PresetHelper; + protected ragfairAssortGenerator: RagfairAssortGenerator; + protected ragfairOfferService: RagfairOfferService; + protected ragfairPriceService: RagfairPriceService; + protected fenceService: FenceService; + protected itemHelper: ItemHelper; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; - private getTraderId; - private getRating; - private getRatingGrowing; - private getOfferEndTime; + protected getTraderId(userID: string): string; + protected getRating(userID: string): number; + protected getRatingGrowing(userID: string): boolean; + protected getOfferEndTime(userID: string, time: number): number; /** * Create multiple offers for items by using a unique list of items we've generated previously * @param expiredOffers */ generateDynamicOffers(expiredOffers?: Item[]): void; generateTraderOffers(traderID: string): void; - private getItemCondition; - private addMissingCondition; - private getOfferRequirements; + protected getItemCondition(userID: string, items: Item[], itemDetails: ITemplateItem): Item[]; + protected addMissingCondition(item: Item): Item; + protected getOfferRequirements(items: Item[]): { + count: number; + _tpl: string; + }[]; /** * Create a flea offer and store it in the Ragfair server offers array */ diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/WeatherGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/WeatherGenerator.d.ts index b9faa3a..44cecbb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/WeatherGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/generators/WeatherGenerator.d.ts @@ -1,19 +1,33 @@ import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { ConfigServer } from "../servers/ConfigServer"; import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class WeatherGenerator { - private weightedRandomHelper; - private randomUtil; - private timeUtil; - private configServer; - private weatherConfig; + protected weightedRandomHelper: WeightedRandomHelper; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected configServer: ConfigServer; + protected weatherConfig: IWeatherConfig; constructor(weightedRandomHelper: WeightedRandomHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); calculateTime(data: IWeatherData): IWeatherData; + /** + * Get server uptime seconds multiplied by a multiplier and add to current time as seconds + * Format to BSGs requirements + * @param computedDate current date + * @returns formatted time + */ + protected getAcceleratedTime(computedDate: Date): string; + /** + * Get current time formatted to fit BSGs requirement + * @param computedDate + * @returns + */ + protected getNormalTime(computedDate: Date): string; generateWeather(data: IWeatherData): IWeatherData; - private getWeightedFog; - private getWeightedRain; - private getRandomFloat; - private getRandomInt; + protected getWeightedFog(): string; + protected getWeightedRain(): number; + protected getRandomFloat(node: string): number; + protected getRandomInt(node: string): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/AssortHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/AssortHelper.d.ts index 33cb5c6..15586b9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/AssortHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/AssortHelper.d.ts @@ -5,12 +5,32 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { ItemHelper } from "./ItemHelper"; import { QuestHelper } from "./QuestHelper"; export declare class AssortHelper { - private logger; - private itemHelper; - private databaseServer; - private questHelper; + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, questHelper: QuestHelper); + /** + * Remove assorts from a trader that have not been unlocked yet + * @param pmcProfile player profile + * @param traderId traders id + * @param assort assort items from a trader + * @returns assort items minus locked quest assorts + */ + stripLockedQuestAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort; + /** + * Remove assorts from a trader that have not been unlocked yet + * @param pmcProfile player profile + * @param traderId traders id + * @param assort traders assorts + * @returns traders assorts minus locked loyality assorts + */ + stripLockedLoyaltyAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort; + /** + * Remove an item from an assort + * @param assort assort to modify + * @param itemID item id to remove from asort + * @returns Modified assort + */ removeItemFromAssort(assort: ITraderAssort, itemID: string): ITraderAssort; - stripQuestAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort; - stripLoyaltyAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/BotGeneratorHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/BotGeneratorHelper.d.ts index 141f71d..e4b0c11 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/BotGeneratorHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/BotGeneratorHelper.d.ts @@ -1,8 +1,9 @@ import { DurabilityLimitsHelper } from "../helpers/DurabilityLimitsHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { Mods, ModsChances } from "../models/eft/common/tables/IBotType"; -import { Item, Upd } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { Item, Repairable, Upd } from "../models/eft/common/tables/IItem"; +import { Grid, ITemplateItem, Slot } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -12,20 +13,50 @@ import { RandomUtil } from "../utils/RandomUtil"; import { ContainerHelper } from "./ContainerHelper"; import { InventoryHelper } from "./InventoryHelper"; import { ItemHelper } from "./ItemHelper"; +import { ProbabilityHelper } from "./ProbabilityHelper"; export declare class BotGeneratorHelper { - private logger; - private jsonUtil; - private hashUtil; - private randomUtil; - private databaseServer; - private durabilityLimitsHelper; - private itemHelper; - private inventoryHelper; - private containerHelper; - private configServer; - private botConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer); + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected probabilityHelper: ProbabilityHelper; + protected databaseServer: DatabaseServer; + protected durabilityLimitsHelper: DurabilityLimitsHelper; + protected itemHelper: ItemHelper; + protected inventoryHelper: InventoryHelper; + protected containerHelper: ContainerHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, probabilityHelper: ProbabilityHelper, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer); generateModsForItem(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem, modSpawnChances: ModsChances, isPmc?: boolean): Item[]; + /** + * Get a list of non black-listed cartridges from the PMC bot config + * @param modSlot mod item slot + * @param itemModPool + * @returns string array of cartridges PMCs can use + */ + protected getNonBlacklistedCartridges(modSlot: string, itemModPool: Record): string[]; + /** + * randomly choose if a mod should be spawned, 100% for required mods OR mod is ammo slot + * never return true for an item that has 0% spawn chance + * @param itemSlot slot the item sits in + * @param modSlot slot the mod sits in + * @param modSpawnChances Chances for various mod spawns + * @returns boolean true if it should spawn + */ + protected shouldModBeSpawned(itemSlot: Slot, modSlot: string, modSpawnChances: ModsChances): boolean; + /** + * Get a list of containers that hold ammo + * @returns string array + */ + protected getAmmoContainers(): string[]; + /** + * Get the slot details for an item (chamber/cartridge/slot) + * @param modSlot e.g patron_in_weapon + * @param parentTemplate item template + * @returns + */ + protected getModItemSlot(modSlot: string, parentTemplate: ITemplateItem): Slot; /** * With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines. * Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0. @@ -37,16 +68,50 @@ export declare class BotGeneratorHelper { * @param {string} parentId The CylinderMagazine's UID * @param {object} parentTemplate The CylinderMagazine's template */ - private fillCamora; + protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void; generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { - "upd"?: Upd; + upd?: Upd; }; - private getModTplFromItemDb; + /** + * Create a repairable object for a weapon that containers durability + max durability properties + * @param itemTemplate weapon object being generated for + * @param botRole type of bot being generated for + * @returns Repairable object + */ + protected generateWeaponRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable; + /** + * Create a repairable object for an armor that containers durability + max durability properties + * @param itemTemplate weapon object being generated for + * @param botRole type of bot being generated for + * @returns Repairable object + */ + protected generateArmorRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable; + protected getModTplFromItemDb(modTpl: string, parentSlot: Slot, modSlot: string, items: Item[]): string; + /** + * Sort by spawn chance, highest to lowest, higher is more common + * @param unsortedModArray String array to sort + * @returns Sorted string array + */ + protected sortModArray(unsortedModArray: string[]): string[]; + /** + * Can an item be added to an item without issue + * @param items + * @param tplToCheck + * @param equipmentSlot + * @returns true if possible + */ isItemIncompatibleWithCurrentItems(items: Item[], tplToCheck: string, equipmentSlot: string): boolean; - /** Adds an item with all its childern into specified equipmentSlots, wherever it fits. - * Returns a `boolean` indicating success. */ + /** + * Adds an item with all its childern into specified equipmentSlots, wherever it fits. + * @param equipmentSlots + * @param parentId + * @param parentTpl + * @param itemWithChildren + * @param inventory + * @returns a `boolean` indicating item was added + */ addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: PmcInventory): boolean; - private itemAllowedInContainer; + protected itemAllowedInContainer(slot: Grid, itemTpl: string): boolean; } export declare class ExhaustableArray { private itemPool; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/BotHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/BotHelper.d.ts index d901362..6b92566 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/BotHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/BotHelper.d.ts @@ -1,22 +1,44 @@ import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotHelper { - private logger; - private jsonUtil; - private databaseServer; - private randomUtil; - private configServer; - private botConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, configServer: ConfigServer); getBotDifficultySettings(type: string, difficulty: string): Difficulty; getPmcDifficultySettings(type: string, difficulty: string): Difficulty; + /** + * Randomise the chance the PMC will attack their own side + * @param difficultySettings pmc difficulty settings + */ randomisePmcHostility(difficultySettings: Difficulty): void; isBotPmc(botRole: string): boolean; isBotBoss(botRole: string): boolean; isBotFollower(botRole: string): boolean; + /** + * Add a bot to the FRIENDLY_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typeToAdd bot type to add to friendly list + */ addBotToFriendlyList(difficultySettings: Difficulty, typeToAdd: string): void; + /** + * Add a bot to the ENEMY_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typesToAdd bot type to add to enemy list + */ + addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[], typeBeingEdited: string): void; + /** + * Add a bot to the REVENGE_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typesToAdd bot type to add to revenge list + */ + addBotToRevengeList(difficultySettings: Difficulty, typesToAdd: string[]): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ContainerHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ContainerHelper.d.ts index 34cd1e4..3c2ee93 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ContainerHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ContainerHelper.d.ts @@ -6,7 +6,7 @@ export declare class FindSlotResult { constructor(success?: boolean, x?: any, y?: any, rotation?: boolean); } export declare class ContainerHelper { - private locateSlot; + protected locateSlot(container2D: number[][], containerX: number, containerY: number, x: number, y: number, itemW: number, itemH: number): boolean; findSlotForItem(container2D: number[][], itemWidth: number, itemHeight: number): FindSlotResult; fillContainerMapWithItem(container2D: number[][], x: number, y: number, itemW: number, itemH: number, rotate: boolean): any; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/DialogueHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/DialogueHelper.d.ts index ae1f581..9776c6a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/DialogueHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/DialogueHelper.d.ts @@ -7,12 +7,12 @@ import { ItemHelper } from "./ItemHelper"; import { NotificationSendHelper } from "./NotificationSendHelper"; import { NotifierHelper } from "./NotifierHelper"; export declare class DialogueHelper { - private hashUtil; - private saveServer; - private databaseServer; - private notifierHelper; - private notificationSendHelper; - private itemHelper; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected notifierHelper: NotifierHelper; + protected notificationSendHelper: NotificationSendHelper; + protected itemHelper: ItemHelper; constructor(hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, notificationSendHelper: NotificationSendHelper, itemHelper: ItemHelper); createMessageContext(templateId: string, messageType: MessageType, maxStoreTime: number): MessageContent; addDialogueMessage(dialogueID: string, messageContent: MessageContent, sessionID: string, rewards?: any[]): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/DurabilityLimitsHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/DurabilityLimitsHelper.d.ts index 609bc7d..07a5db1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/DurabilityLimitsHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/DurabilityLimitsHelper.d.ts @@ -1,25 +1,26 @@ import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { RandomUtil } from "../utils/RandomUtil"; import { BotHelper } from "./BotHelper"; export declare class DurabilityLimitsHelper { - private randomUtil; - private botHelper; - private configServer; - private botConfig; + protected randomUtil: RandomUtil; + protected botHelper: BotHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(randomUtil: RandomUtil, botHelper: BotHelper, configServer: ConfigServer); getRandomisedMaxWeaponDurability(itemTemplate: ITemplateItem, botRole: string): number; getRandomisedMaxArmorDurability(itemTemplate: ITemplateItem, botRole: string): number; getRandomisedWeaponDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; getRandomisedArmorDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; - private generateMaxWeaponDurability; - private generateMaxPmcArmorDurability; - private getLowestMaxWeaponFromConfig; - private getHighestMaxWeaponDurabilityFromConfig; - private generateWeaponDurability; - private generateArmorDurability; - private getMinWeaponDeltaFromConfig; - private getMaxWeaponDeltaFromConfig; - private getMinArmorDeltaFromConfig; - private getMaxArmorDeltaFromConfig; + protected generateMaxWeaponDurability(botRole: string): number; + protected generateMaxPmcArmorDurability(itemMaxDurability: number): number; + protected getLowestMaxWeaponFromConfig(botRole: string): number; + protected getHighestMaxWeaponDurabilityFromConfig(botRole: string): number; + protected generateWeaponDurability(botRole: string, maxDurability: number): number; + protected generateArmorDurability(botRole: string, maxDurability: number): number; + protected getMinWeaponDeltaFromConfig(botRole: string): number; + protected getMaxWeaponDeltaFromConfig(botRole: string): number; + protected getMinArmorDeltaFromConfig(botRole: string): number; + protected getMaxArmorDeltaFromConfig(botRole: string): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ExtendedProfileHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ExtendedProfileHelper.d.ts index 4dd7d3a..d8b754d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ExtendedProfileHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ExtendedProfileHelper.d.ts @@ -1,5 +1,5 @@ import { BotGenerator } from "../generators/BotGenerator"; -import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { FenceService } from "../services/FenceService"; @@ -9,14 +9,14 @@ import { Watermark } from "../utils/Watermark"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class ExtendedProfileHelper extends ProfileHelper { - private botGenerator; + protected botGenerator: BotGenerator; constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator); generatePlayerScav(sessionID: string): IPmcData; - private getScavSkills; - private removeSecureContainer; - private getDefaultScavSkills; - private getScavStats; - private getScavLevel; - private getScavExperience; - private setScavCooldownTimer; + protected getScavSkills(sessionID: string): Skills; + protected removeSecureContainer(profile: IPmcData): IPmcData; + protected getDefaultScavSkills(): Skills; + protected getScavStats(sessionID: string): Stats; + protected getScavLevel(sessionID: string): number; + protected getScavExperience(sessionID: string): number; + protected setScavCooldownTimer(profile: IPmcData, pmcData: IPmcData): IPmcData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/GameEventHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/GameEventHelper.d.ts index 8131d31..b2d6377 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/GameEventHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/GameEventHelper.d.ts @@ -1,6 +1,6 @@ import { DatabaseServer } from "../servers/DatabaseServer"; export declare class GameEventHelper { - private databaseServer; + protected databaseServer: DatabaseServer; constructor(databaseServer: DatabaseServer); get EVENT(): Record; get christmasEventItems(): string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/GameHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/GameHelper.d.ts new file mode 100644 index 0000000..fd49e84 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/GameHelper.d.ts @@ -0,0 +1,11 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class GameHelper { + protected logger: ILogger; + constructor(logger: ILogger); + /** + * Remove condition conters no longer used + * @param pmcProfile profile to remove old counters from + */ + removeDanglingConditionCounters(pmcProfile: IPmcData): void; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HandbookHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HandbookHelper.d.ts index aed6984..b47d466 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HandbookHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HandbookHelper.d.ts @@ -9,7 +9,7 @@ export declare class LookupCollection { constructor(); } export declare class HandbookHelper { - private lookup; + protected lookup: LookupCollection; hydrateLookup(lookup: LookupCollection): void; getTemplatePrice(x: string): number; templatesWithParent(x: string): string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HealthHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HealthHelper.d.ts index bb160a3..518c23f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HealthHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HealthHelper.d.ts @@ -1,23 +1,27 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHealthConfig } from "../models/spt/config/IHealthConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class HealthHelper { - private jsonUtil; - private logger; - private timeUtil; - private saveServer; - private configServer; - private healthConfig; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected configServer: ConfigServer; + protected healthConfig: IHealthConfig; constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); resetVitality(sessionID: string): IAkiProfile; saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; - private saveHealth; - private saveEffects; - private addEffect; - private isEmpty; + protected saveHealth(pmcData: IPmcData, sessionID: string): void; + protected saveEffects(pmcData: IPmcData, sessionID: string): void; + protected addEffect(pmcData: IPmcData, sessionID: string, effect: { + bodyPart: string; + effectType: string; + }): void; + protected isEmpty(map: any): boolean; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HideoutHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HideoutHelper.d.ts index d6a4414..76b337f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HideoutHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HideoutHelper.d.ts @@ -1,10 +1,12 @@ -import { IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; +import { Common, HideoutArea, IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; +import { Upd } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { StageBonus } from "../models/eft/hideout/IHideoutArea"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -17,26 +19,26 @@ import { TimeUtil } from "../utils/TimeUtil"; import { InventoryHelper } from "./InventoryHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class HideoutHelper { - private logger; - private hashUtil; - private timeUtil; - private randomUtil; - private databaseServer; - private itemEventRouter; - private httpResponse; - private profileHelper; - private inventoryHelper; - private playerService; - private configServer; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected inventoryHelper: InventoryHelper; + protected playerService: PlayerService; + protected configServer: ConfigServer; static BITCOIN_FARM: string; - private WATER_COLLECTOR; - private BITCOIN; - private EXPEDITIONARY_FUEL_TANK; + protected WATER_COLLECTOR: string; + protected BITCOIN: string; + protected EXPEDITIONARY_FUEL_TANK: string; static NAME_BACKENDCOUNTERS_CRAFTING: string; static SKILL_NAME_HIDEOUT: string; static HOUR_FOR_SKILL_CRAFTING: number; static SKILL_NAME_CRAFITING: string; - private hideoutConfig; + protected hideoutConfig: IHideoutConfig; constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, inventoryHelper: InventoryHelper, playerService: PlayerService, configServer: ConfigServer); registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; /** @@ -46,20 +48,20 @@ export declare class HideoutHelper { initProduction(recipeId: string, productionTime: number): Production; isProductionType(productive: Productive): productive is Production; applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void; - private applySkillXPBoost; + protected applySkillXPBoost(pmcData: IPmcData, bonus: StageBonus): void; updatePlayerHideout(sessionID: string): void; - private updateWaterCollector; - private doesWaterCollectorHaveFilter; - private updateFuel; - private updateWaterFilters; - private getAreaUpdObject; - private updateAirFilters; - private updateBitcoinFarm; - private getBTCSlots; - private getManagementSkillsSlots; - private hasManagementSkillSlots; - private getHideoutManagementSkill; - private getHideoutManagementConsumptionBonus; + protected updateWaterCollector(sessionId: string, pmcData: IPmcData, area: HideoutArea, isGeneratorOn: boolean): void; + protected doesWaterCollectorHaveFilter(waterCollector: HideoutArea): boolean; + protected updateFuel(generatorArea: HideoutArea, pmcData: IPmcData): HideoutArea; + protected updateWaterFilters(waterFilterArea: HideoutArea, pwProd: Production, isGeneratorOn: boolean, pmcData: IPmcData): HideoutArea; + protected getAreaUpdObject(stackCount: number, resourceValue: number, resourceUnitsConsumed: number): Upd; + protected updateAirFilters(airFilterArea: HideoutArea, pmcData: IPmcData): HideoutArea; + protected updateBitcoinFarm(pmcData: IPmcData, btcFarmCGs: number, isGeneratorOn: boolean): Production; + protected getBTCSlots(pmcData: IPmcData): number; + protected getManagementSkillsSlots(): number; + protected hasManagementSkillSlots(pmcData: IPmcData): boolean; + protected getHideoutManagementSkill(pmcData: IPmcData): Common; + protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number; isProduction(productive: Productive): productive is Production; getBTC(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; getRandomAmountRewardForScavCase(itemToCalculate: ITemplateItem): number; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HttpServerHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HttpServerHelper.d.ts index 2e40814..c6e5296 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HttpServerHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/HttpServerHelper.d.ts @@ -1,8 +1,19 @@ +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class HttpServerHelper { - private configServer; - private httpConfig; - private mime; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + protected mime: { + css: string; + bin: string; + html: string; + jpg: string; + js: string; + json: string; + png: string; + svg: string; + txt: string; + }; constructor(configServer: ConfigServer); getMimeText(key: string): string; buildUrl(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/InRaidHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/InRaidHelper.d.ts index e79d384..05b6fdf 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/InRaidHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/InRaidHelper.d.ts @@ -8,15 +8,15 @@ import { JsonUtil } from "../utils/JsonUtil"; import { InventoryHelper } from "./InventoryHelper"; import { PaymentHelper } from "./PaymentHelper"; export declare class InRaidHelper { - private logger; - private saveServer; - private jsonUtil; - private databaseServer; - private inventoryHelper; - private paymentHelper; + protected logger: ILogger; + protected saveServer: SaveServer; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected inventoryHelper: InventoryHelper; + protected paymentHelper: PaymentHelper; constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); - private removePlayer; - private removeMapAccessKey; + protected removePlayer(sessionID: string): void; + protected removeMapAccessKey(offraidData: ISaveProgressRequestData, sessionID: string): void; addUpdToMoneyFromRaid(items: Item[]): void; /** * Add positive karma for PMC kills diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/InventoryHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/InventoryHelper.d.ts index 00e95d3..dc7cbca 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/InventoryHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/InventoryHelper.d.ts @@ -5,6 +5,7 @@ import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMe import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInventoryConfig } from "../models/spt/config/IInventoryConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -25,26 +26,26 @@ export interface OwnerInventoryItems { isMail: boolean; } export declare class InventoryHelper { - private logger; - private jsonUtil; - private hashUtil; - private httpResponse; - private fenceService; - private databaseServer; - private paymentHelper; - private traderAssortHelper; - private dialogueHelper; - private itemHelper; - private containerHelper; - private profileHelper; - private configServer; - private inventoryConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected httpResponse: HttpResponseUtil; + protected fenceService: FenceService; + protected databaseServer: DatabaseServer; + protected paymentHelper: PaymentHelper; + protected traderAssortHelper: TraderAssortHelper; + protected dialogueHelper: DialogueHelper; + protected itemHelper: ItemHelper; + protected containerHelper: ContainerHelper; + protected profileHelper: ProfileHelper; + protected configServer: ConfigServer; + protected inventoryConfig: IInventoryConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, httpResponse: HttpResponseUtil, fenceService: FenceService, databaseServer: DatabaseServer, paymentHelper: PaymentHelper, traderAssortHelper: TraderAssortHelper, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, containerHelper: ContainerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; getItemSize(itemTpl: string, itemID: string, inventoryItem: Item[]): Record; - private getSizeByInventoryItemHash; - private getInventoryItemHash; + protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): Record; + protected getInventoryItemHash(inventoryItem: Item[]): InventoryHelper.InventoryItemHash; getContainerMap(containerW: number, containerH: number, itemList: Item[], containerId: string): number[][]; /** * Based on the item action, determine whose inventories we should be looking at for from and to. @@ -56,9 +57,9 @@ export declare class InventoryHelper { * @param {string} sessionID * @returns Array */ - private getStashSlotMap; - private getStashType; - private getPlayerStashSize; + protected getStashSlotMap(pmcData: IPmcData, sessionID: string): number[][]; + protected getStashType(sessionID: string): string; + protected getPlayerStashSize(sessionID: string): Record; /** * Internal helper function to transfer an item from one profile to another. * fromProfileData: Profile of the source. @@ -73,5 +74,12 @@ export declare class InventoryHelper { /** * Internal helper function to handle cartridges in inventory if any of them exist. */ - private handleCartridges; + protected handleCartridges(items: Item[], body: IInventoryMoveRequestData): void; } +declare namespace InventoryHelper { + interface InventoryItemHash { + byItemId: Record; + byParentId: Record; + } +} +export {}; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ItemHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ItemHelper.d.ts index 5ff64b6..70c88d6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ItemHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ItemHelper.d.ts @@ -1,15 +1,15 @@ import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem, StackSlot } from "../models/eft/common/tables/ITemplateItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; declare class ItemHelper { - private logger; - private hashUtil; - private jsonUtil; - private databaseServer; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer); /** * Checks if a id is a valid item. Valid meaning that it's an item that be stored in stash @@ -82,7 +82,7 @@ declare class ItemHelper { * @param {string} parentId The id of the AmmoBox instance these StackSlotItems should be children of * @returns {array} The array of StackSlotItems */ - generateStackSlotItems(item: ITemplateItem, parentId: string): StackSlot[]; + generateItemsFromStackSlot(item: ITemplateItem, parentId: string): Item[]; getItem(tpl: string): [boolean, ITemplateItem]; getItemQualityModifier(item: Item): number; findAndReturnChildrenByItems(items: Item[], itemID: string): string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/NotificationSendHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/NotificationSendHelper.d.ts index b9298da..34e62d9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/NotificationSendHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/NotificationSendHelper.d.ts @@ -2,8 +2,8 @@ import { INotification } from "../models/eft/notifier/INotifier"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { NotificationService } from "../services/NotificationService"; export declare class NotificationSendHelper { - private httpServer; - private notificationService; + protected httpServer: IHttpServer; + protected notificationService: NotificationService; constructor(httpServer: IHttpServer, notificationService: NotificationService); /** * Send notification message to the appropiate channel diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/NotifierHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/NotifierHelper.d.ts index 0d524e9..738b69a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/NotifierHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/NotifierHelper.d.ts @@ -2,11 +2,11 @@ import { INotification } from "../models/eft/notifier/INotifier"; import { Message, MessageContentRagfair } from "../models/eft/profile/IAkiProfile"; import { HttpServerHelper } from "./HttpServerHelper"; export declare class NotifierHelper { - private httpServerHelper; + protected httpServerHelper: HttpServerHelper; /** * The default notification sent when waiting times out. */ - private defaultNotification; + protected defaultNotification: INotification; constructor(httpServerHelper: HttpServerHelper); getDefaultNotification(): INotification; /** Creates a new notification that displays the "Your offer was sold!" prompt and removes sold offer from "My Offers" on clientside */ diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/PresetHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/PresetHelper.d.ts index 0a24128..0371886 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/PresetHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/PresetHelper.d.ts @@ -1,8 +1,8 @@ import { Preset } from "../models/eft/common/IGlobals"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PresetHelper { - private databaseServer; - private lookup; + protected databaseServer: DatabaseServer; + protected lookup: Record; constructor(databaseServer: DatabaseServer); hydratePresetStore(input: Record): void; isPreset(id: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ProbabilityHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ProbabilityHelper.d.ts new file mode 100644 index 0000000..7a0676c --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ProbabilityHelper.d.ts @@ -0,0 +1,14 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class ProbabilityHelper { + protected logger: ILogger; + protected randomUtil: RandomUtil; + constructor(logger: ILogger, randomUtil: RandomUtil); + /** + * Chance to roll a number out of 100 + * @param chance Percentage chance roll should success + * @param scale scale of chance to allow support of numbers > 1-100 + * @returns true if success + */ + rollChance(chance: number, scale?: number): boolean; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ProfileHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ProfileHelper.d.ts index 508443c..6a64291 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ProfileHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/ProfileHelper.d.ts @@ -28,6 +28,6 @@ export declare class ProfileHelper { getPmcProfile(sessionID: string): IPmcData; getScavProfile(sessionID: string): IPmcData; getDefaultCounters(): Stats; - private isWiped; - private getServerVersion; + protected isWiped(sessionID: string): boolean; + protected getServerVersion(): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/QuestConditionHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/QuestConditionHelper.d.ts index 2a0ee94..90ee560 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/QuestConditionHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/QuestConditionHelper.d.ts @@ -3,5 +3,5 @@ export declare class QuestConditionHelper { getQuestConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLevelConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLoyaltyConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; - private filterConditions; + protected filterConditions(q: AvailableForConditions[], questType: string, furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/QuestHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/QuestHelper.d.ts index 9e2dd5e..04ede16 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/QuestHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/QuestHelper.d.ts @@ -3,6 +3,7 @@ import { AvailableForConditions, AvailableForProps, IQuest, Reward } from "../mo import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -17,20 +18,20 @@ import { ProfileHelper } from "./ProfileHelper"; import { RagfairServerHelper } from "./RagfairServerHelper"; import { TraderHelper } from "./TraderHelper"; export declare class QuestHelper { - private logger; - private jsonUtil; - private timeUtil; - private hashUtil; - private itemHelper; - private itemEventRouter; - private databaseServer; - private ragfairServerHelper; - private dialogueHelper; - private profileHelper; - private paymentHelper; - private traderHelper; - private configServer; - private questConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected timeUtil: TimeUtil; + protected hashUtil: HashUtil; + protected itemHelper: ItemHelper; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected ragfairServerHelper: RagfairServerHelper; + protected dialogueHelper: DialogueHelper; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected traderHelper: TraderHelper; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); static get STATUS(): Record; questStatus(pmcData: IPmcData, questID: string): string; @@ -47,7 +48,7 @@ export declare class QuestHelper { */ dumpQuests(quests: any, label?: any): void; loyaltyRequirementCheck(loyaltyRequirementProperties: AvailableForProps, profile: IPmcData): boolean; - private processReward; + protected processReward(reward: Reward): any[]; getQuestRewardItems(quest: IQuest, state: string): Reward[]; addQuestToPMCData(pmcData: IPmcData, quest: Quest, newState: string, acceptedQuest: IAcceptQuestRequestData): void; acceptedUnlocked(acceptedQuestId: string, sessionID: string): IQuest[]; @@ -56,13 +57,30 @@ export declare class QuestHelper { changeItemStack(pmcData: IPmcData, id: string, value: number, sessionID: string, output: any): void; /** * Get List of All Quests as an array + * @returns Array of IQuest objects */ questValues(): IQuest[]; - private cleanQuestList; + /** + * Reest AvailableForStart conditions for quests + * @param quests queststo clean + * @returns quest array without conditions + */ + protected cleanQuestList(quests: IQuest[]): IQuest[]; + /** + * Reset AvailableForStart conditions on a quest + * @param quest quest to clean + * @returns reset IQuest object + */ cleanQuestConditions(quest: IQuest): IQuest; failQuest(pmcData: IPmcData, body: any, sessionID: string): any; getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; getQuestLocaleIdFromDb(messageId: string, localisation?: string): string; - applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): any[]; + applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): Reward[]; + /** + * Get the intel center bonus a player has + * @param pmcData player profile + * @returns bonus in percent + */ + protected getIntelCenterRewardBonus(pmcData: IPmcData): number; getFindItemIdForQuestItem(itemTpl: string): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairHelper.d.ts index 8e70bcd..2c8dbb5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairHelper.d.ts @@ -2,6 +2,7 @@ import { Item } from "../models/eft/common/tables/IItem"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -12,16 +13,16 @@ import { ItemHelper } from "./ItemHelper"; import { TraderAssortHelper } from "./TraderAssortHelper"; import { UtilityHelper } from "./UtilityHelper"; export declare class RagfairHelper { - private logger; - private jsonUtil; - private traderAssortHelper; - private databaseServer; - private handbookHelper; - private itemHelper; - private ragfairLinkedItemService; - private utilityHelper; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected traderAssortHelper: TraderAssortHelper; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected itemHelper: ItemHelper; + protected ragfairLinkedItemService: RagfairLinkedItemService; + protected utilityHelper: UtilityHelper; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, traderAssortHelper: TraderAssortHelper, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, ragfairLinkedItemService: RagfairLinkedItemService, utilityHelper: UtilityHelper, configServer: ConfigServer); /** * Gets currency TAG from TPL @@ -31,7 +32,7 @@ export declare class RagfairHelper { getCurrencyTag(currency: string): string; filterCategories(sessionID: string, info: ISearchRequestData): string[]; getDisplayableAssorts(sessionID: string): Record; - private getCategoryList; + protected getCategoryList(handbookId: string): string[]; countCategories(result: IGetOffersResult): void; /** * Merges Root Items @@ -39,5 +40,4 @@ export declare class RagfairHelper { */ mergeStackable(items: Item[]): Item[]; getCurrencySymbol(currencyTpl: string): string; - formatCurrency(moneyAmount: number): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairOfferHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairOfferHelper.d.ts index 3bf8add..129bc1c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairOfferHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairOfferHelper.d.ts @@ -1,7 +1,10 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -19,31 +22,31 @@ import { RagfairHelper } from "./RagfairHelper"; import { RagfairServerHelper } from "./RagfairServerHelper"; import { RagfairSortHelper } from "./RagfairSortHelper"; export declare class RagfairOfferHelper { - private logger; - private timeUtil; - private hashUtil; - private itemEventRouter; - private databaseServer; - private saveServer; - private dialogueHelper; - private itemHelper; - private paymentHelper; - private presetHelper; - private profileHelper; - private ragfairServerHelper; - private ragfairSortHelper; - private ragfairHelper; - private ragfairOfferService; - private configServer; - private static TPL_GOODS_SOLD; - private ragfairConfig; - private questConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected hashUtil: HashUtil; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected dialogueHelper: DialogueHelper; + protected itemHelper: ItemHelper; + protected paymentHelper: PaymentHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected ragfairSortHelper: RagfairSortHelper; + protected ragfairHelper: RagfairHelper; + protected ragfairOfferService: RagfairOfferService; + protected configServer: ConfigServer; + protected static TPL_GOODS_SOLD: string; + protected ragfairConfig: IRagfairConfig; + protected questConfig: IQuestConfig; constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); getValidOffers(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; getOffersForBuild(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; processOffers(sessionID: string): boolean; - private getProfileOffers; - private deleteOfferByOfferId; - private completeOffer; + protected getProfileOffers(sessionID: string): IRagfairOffer[]; + protected deleteOfferByOfferId(sessionID: string, offerId: string): void; + protected completeOffer(sessionID: string, offer: IRagfairOffer, boughtAmount: number): IItemEventRouterResponse; isDisplayableOffer(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, offer: IRagfairOffer, pmcProfile: IPmcData): boolean; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairSellHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairSellHelper.d.ts index 929d112..6ec004a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairSellHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairSellHelper.d.ts @@ -1,14 +1,15 @@ import { SellResult } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairSellHelper { - private logger; - private randomUtil; - private timeUtil; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); calculateSellChance(baseChance: number, offerPrice: number, requirementsPriceInRub: number): number; rollForSale(sellChance: number, count: number): SellResult[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairServerHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairServerHelper.d.ts index d29ba42..2cb3ea5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairServerHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairServerHelper.d.ts @@ -1,6 +1,8 @@ import { MemberCategory } from "../models/enums/MemberCategory"; import { Item } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; @@ -11,18 +13,18 @@ import { DialogueHelper } from "./DialogueHelper"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class RagfairServerHelper { - private randomUtil; - private hashUtil; - private saveServer; - private databaseServer; - private profileHelper; - private itemHelper; - private dialogueHelper; - private jsonUtil; - private configServer; - private ragfairConfig; - private questConfig; - private static TPL_GOODS_RETURNED; + protected randomUtil: RandomUtil; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected profileHelper: ProfileHelper; + protected itemHelper: ItemHelper; + protected dialogueHelper: DialogueHelper; + protected jsonUtil: JsonUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + protected questConfig: IQuestConfig; + protected static TPL_GOODS_RETURNED: string; constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); /** * Is item valid / on blacklist / quest item @@ -30,7 +32,7 @@ export declare class RagfairServerHelper { * @returns boolean */ isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean; - private isItemBlacklisted; + protected isItemBlacklisted(itemTemplateId: string): boolean; isTrader(userID: string): boolean; isPlayer(userID: string): boolean; returnItems(sessionID: string, items: any[]): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairSortHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairSortHelper.d.ts index e9d8069..e983569 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairSortHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairSortHelper.d.ts @@ -1,12 +1,12 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class RagfairSortHelper { - private databaseServer; + protected databaseServer: DatabaseServer; constructor(databaseServer: DatabaseServer); sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; - private sortOffersByID; - private sortOffersByRating; - private sortOffersByName; - private sortOffersByPrice; - private sortOffersByExpiry; + protected sortOffersByID(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByRating(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByName(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByPrice(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByExpiry(a: IRagfairOffer, b: IRagfairOffer): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairTaxHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairTaxHelper.d.ts index e87334f..820facb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairTaxHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RagfairTaxHelper.d.ts @@ -1,15 +1,16 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { DatabaseServer } from "../servers/DatabaseServer"; import { RagfairPriceService } from "../services/RagfairPriceService"; import { ItemHelper } from "./ItemHelper"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class RagfairTaxHelper { - private logger; - private databaseServer; - private ragfairPriceService; - private itemHelper; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected ragfairPriceService: RagfairPriceService; + protected itemHelper: ItemHelper; constructor(logger: ILogger, databaseServer: DatabaseServer, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper); calculateTax(item: Item, pmcData: IPmcData, requirementsValue: number, offerItemCount: number, sellInOnePiece: boolean): number; - private calculateItemWorth; + protected calculateItemWorth(item: Item, itemTemplate: ITemplateItem, itemCount: number, pmcData: IPmcData, isRootItem?: boolean): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RepairHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RepairHelper.d.ts index 47123e1..545108e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RepairHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/RepairHelper.d.ts @@ -1,20 +1,21 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem"; +import { IRepairConfig } from "../models/spt/config/IRepairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class RepairHelper { - private logger; - private jsonUtil; - private randomUtil; - private databaseServer; - private configServer; - private repairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected repairConfig: IRepairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, configServer: ConfigServer); - updateItemDurability(itemToRepairId: string, amountToRepair: number, pmcData: IPmcData, useRepairKit?: boolean): Item; - private getRandomisedArmorRepairDegredationValue; - private getRandomisedWeaponRepairDegredationValue; + updateItemDurability(itemToRepair: Item, itemToRepairDetails: ITemplateItem, isArmor: boolean, amountToRepair: number, useRepairKit?: boolean): Item; + protected getRandomisedArmorRepairDegredationValue(armorMaterial: string, isRepairKit: boolean, armorMax: number): number; + protected getRandomisedWeaponRepairDegredationValue(itemProps: Props, isRepairKit: boolean, armorMax: number): number; isWeaponTemplate(tpl: string): boolean; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/SecureContainerHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/SecureContainerHelper.d.ts index 8f246b6..9e2bc32 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/SecureContainerHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/SecureContainerHelper.d.ts @@ -7,7 +7,7 @@ export interface OwnerInventoryItems { isMail: boolean; } export declare class SecureContainerHelper { - private itemHelper; + protected itemHelper: ItemHelper; constructor(itemHelper: ItemHelper); getSecureContainerItems(items: Item[]): string[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TradeHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TradeHelper.d.ts index 475390b..975062b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TradeHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TradeHelper.d.ts @@ -2,7 +2,7 @@ import { InventoryHelper } from "../helpers/InventoryHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; -import { Upd } from "../models/eft/common/tables/IItem"; +import { Item, Upd } from "../models/eft/common/tables/IItem"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; @@ -12,14 +12,14 @@ import { RagfairServer } from "../servers/RagfairServer"; import { FenceService } from "../services/FenceService"; import { PaymentService } from "../services/PaymentService"; export declare class TradeHelper { - private logger; - private itemEventRouter; - private traderHelper; - private itemHelper; - private paymentService; - private fenceService; - private inventoryHelper; - private ragfairServer; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected traderHelper: TraderHelper; + protected itemHelper: ItemHelper; + protected paymentService: PaymentService; + protected fenceService: FenceService; + protected inventoryHelper: InventoryHelper; + protected ragfairServer: RagfairServer; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer); /** * Buy item from flea or trader @@ -39,6 +39,6 @@ export declare class TradeHelper { * @returns */ sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse; - private incrementAssortBuyCount; - private checkPurchaseIsWithinTraderItemLimit; + protected incrementAssortBuyCount(assortBeingPurchased: Item, itemsPurchasedCount: number): void; + protected checkPurchaseIsWithinTraderItemLimit(assortBeingPurchased: Item, assortId: string, count: number): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TraderAssortHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TraderAssortHelper.d.ts index d95879c..4f41ac2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TraderAssortHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TraderAssortHelper.d.ts @@ -1,7 +1,8 @@ -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { ILogger } from "../models/spt/utils/ILogger"; import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { FenceService } from "../services/FenceService"; import { TraderAssortService } from "../services/TraderAssortService"; @@ -9,15 +10,33 @@ import { JsonUtil } from "../utils/JsonUtil"; import { AssortHelper } from "./AssortHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderAssortHelper { - private logger; - private jsonUtil; - private databaseServer; - private profileHelper; - private assortHelper; - private ragfairAssortGenerator; - private ragfairOfferGenerator; - private traderAssortService; - private fenceService; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected profileHelper: ProfileHelper; + protected assortHelper: AssortHelper; + protected ragfairAssortGenerator: RagfairAssortGenerator; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected traderAssortService: TraderAssortService; + protected fenceService: FenceService; constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); + /** + * Get a traders assorts + * Can be used for returning ragfair / fence assorts + * @param sessionId session id + * @param traderId trader id + * @returns a traders assorts + */ getAssort(sessionId: string, traderId: string): ITraderAssort; + /** + * Get an array of pristine trader items prior to any alteration by player + * @param traderId trader id + * @returns array of Items + */ + protected getPristineTraderAssorts(traderId: string): Item[]; + /** + * Returns generated ragfair offers in a trader assort format + * @returns Trader assort object + */ + protected getRagfairDataAsTraderAssort(): ITraderAssort; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TraderHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TraderHelper.d.ts index ec64d59..ab4a371 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TraderHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/helpers/TraderHelper.d.ts @@ -1,5 +1,6 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IBarterScheme, ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,25 +12,42 @@ import { ItemHelper } from "./ItemHelper"; import { PaymentHelper } from "./PaymentHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderHelper { - private logger; - private databaseServer; - private saveServer; - private profileHelper; - private paymentHelper; - private itemHelper; - private handbookHelper; - private playerService; - private fenceService; - private configServer; - private traderConfig; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemHelper: ItemHelper; + protected handbookHelper: HandbookHelper; + protected playerService: PlayerService; + protected fenceService: FenceService; + protected configServer: ConfigServer; + protected traderConfig: ITraderConfig; constructor(logger: ILogger, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemHelper: ItemHelper, handbookHelper: HandbookHelper, playerService: PlayerService, fenceService: FenceService, configServer: ConfigServer); getTrader(traderID: string, sessionID: string): ITraderBase; getTraderAssortsById(traderId: string): ITraderAssort; + /** + * Reset a trader back to its initial state as seen by a level 1 player + * Does NOT take into account different profile levels + * @param sessionID session id + * @param traderID trader id to reset + */ resetTrader(sessionID: string, traderID: string): void; changeTraderDisplay(traderID: string, status: boolean, sessionID: string): void; getPurchasesData(traderID: string, sessionID: string): Record; + /** + * Calculate traders level based on exp amount and increment level if over threshold + * @param traderID trader to process + * @param sessionID session id + */ lvlUp(traderID: string, sessionID: string): void; getTraderUpdateSeconds(traderId: string): number; + /** + * check if an item is allowed to be sold to a trader + * @param traderFilters array of allowed categories + * @param tplToCheck itemTpl of inventory + * @returns boolean + */ traderFilter(traderFilters: string[], tplToCheck: string): boolean; getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/BundleLoader.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/BundleLoader.d.ts index 4f7664c..06ad698 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/BundleLoader.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/BundleLoader.d.ts @@ -10,10 +10,10 @@ declare class BundleInfo { constructor(modpath: string, bundle: any, bundlePath: string, bundleFilepath: string); } export declare class BundleLoader { - private httpServerHelper; - private vfs; - private jsonUtil; - private bundles; + protected httpServerHelper: HttpServerHelper; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected bundles: Record; constructor(httpServerHelper: HttpServerHelper, vfs: VFS, jsonUtil: JsonUtil); getBundles(local: boolean): BundleInfo[]; getBundle(key: string, local: boolean): BundleInfo; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/DelayedModLoader.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/DelayedModLoader.d.ts index 7d0009f..2a05604 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/DelayedModLoader.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/DelayedModLoader.d.ts @@ -1,3 +1,4 @@ +import { DependencyContainer } from "tsyringe"; import { HandbookController } from "../controllers/HandbookController"; import { IModLoader } from "../models/spt/mod/IModLoader"; import { ModCompilerService } from "../services/ModCompilerService"; @@ -5,17 +6,16 @@ import { VFS } from "../utils/VFS"; import { BundleLoader } from "./BundleLoader"; import { InitialModLoader } from "./InitialModLoader"; export declare class DelayedModLoader implements IModLoader { - private bundleLoader; - private handbookController; - private vfs; - private modCompilerService; - private initialModLoader; + protected bundleLoader: BundleLoader; + protected handbookController: HandbookController; + protected vfs: VFS; + protected modCompilerService: ModCompilerService; + protected initialModLoader: InitialModLoader; constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, initialModLoader: InitialModLoader); getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; - getImportedModsNames(): string[]; getModPath(mod: string): string; load(): void; - private executeMods; - private addBundles; + protected executeMods(container: DependencyContainer): void; + protected addBundles(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/InitialModLoader.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/InitialModLoader.d.ts index 5957d35..9a99dcc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/InitialModLoader.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/loaders/InitialModLoader.d.ts @@ -1,5 +1,8 @@ import { DependencyContainer } from "tsyringe"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; +import { ModLoader } from "../models/spt/mod/IMod"; import { IModLoader } from "../models/spt/mod/IModLoader"; +import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { ModCompilerService } from "../services/ModCompilerService"; @@ -7,52 +10,55 @@ import { JsonUtil } from "../utils/JsonUtil"; import { VFS } from "../utils/VFS"; import { BundleLoader } from "./BundleLoader"; export declare class InitialModLoader implements IModLoader { - private logger; - private vfs; - private jsonUtil; - private modCompilerService; - private bundleLoader; - private configServer; - private static container; - private readonly basepath; - private imported; - private onLoad; - private akiConfig; + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected modCompilerService: ModCompilerService; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected static container: DependencyContainer; + protected readonly basepath = "user/mods/"; + protected imported: Record; + protected akiConfig: ICoreConfig; constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, bundleLoader: BundleLoader, configServer: ConfigServer); load(container: DependencyContainer): Promise; getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; + /** + * Returns a list of mods with preserved load order + * @returns Array of mod names in load order + */ getImportedModsNames(): string[]; getModPath(mod: string): string; - private importClass; - private importMods; + protected importClass(name: string, filepath: string, container: DependencyContainer): void; + protected importMods(): Promise; /** * * @param mods Get an array of broken/invalid mods by name * @returns Mod names array */ - private getBrokenMods; + protected getBrokenMods(mods: string[]): string[]; /** * Get packageJson data for mods * @param mods mods to get packageJson for * @returns dictionary */ - private getModsPackageData; + protected getModsPackageData(mods: string[]): Record; /** * Does mod have "delayedLoad(" string in its entry class * @param modFolderName folder name * @param modToValidate package.json details * @returns boolean */ - private isModSpt300Compatible; - private isModCombatibleWithAki; - private executeMods; - private sortModsLoadOrder; - private addMod; - private areModDependenciesFulfilled; - private isModCompatible; - private validMod; - private getLoadOrderRecursive; - private getLoadOrder; + protected isModSpt300Compatible(modFolderName: string, modToValidate: IPackageJsonData): boolean; + protected isModCombatibleWithAki(mod: IPackageJsonData): boolean; + protected executeMods(container: DependencyContainer): void; + sortModsLoadOrder(): string[]; + protected addMod(mod: string): Promise; + protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Record): boolean; + protected isModCompatible(mod: IPackageJsonData, loadedMods: Record): boolean; + protected validMod(mod: string): boolean; + protected getLoadOrderRecursive(mod: string, result: Record, visited: Record): void; + protected getLoadOrder(mods: Record): Record; getContainer(): DependencyContainer; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/MemberCategory.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/MemberCategory.d.ts deleted file mode 100644 index 3bd9a21..0000000 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/MemberCategory.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -export declare enum MemberCategory { - Default = 0, - Developer = 1, - UniqueId = 2, - Trader = 4, - Group = 8, - System = 16, - ChatModerator = 32, - ChatModeratorWithPermanentBan = 64, - UnitTest = 128, - Sherpa = 256, - Emissary = 512 -} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/tables/IMatch.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/tables/IMatch.d.ts new file mode 100644 index 0000000..c30cb48 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/tables/IMatch.d.ts @@ -0,0 +1,10 @@ +export interface IMatch { + metrics: Metrics; +} +export interface Metrics { + Keys: number[]; + NetProcessingBins: number[]; + RenderBins: number[]; + GameUpdateBins: number[]; + MemoryMeasureInterval: number; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/tables/ITemplateItem.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/tables/ITemplateItem.d.ts index c2ba762..934ea7d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/common/tables/ITemplateItem.d.ts @@ -7,284 +7,358 @@ export interface ITemplateItem { _proto: string; } export interface Props { - Name: string; - ShortName: string; - Description: string; - Weight: number; - BackgroundColor: string; - Width: number; - Height: number; - StackMaxSize: number; + Name?: string; + ShortName?: string; + Description?: string; + Weight?: number; + BackgroundColor?: string; + Width?: number; + Height?: number; + StackMaxSize?: number; Rarity?: string; SpawnChance?: number; CreditsPrice?: number; - ItemSound: string; - Prefab: Prefab; - UsePrefab: Prefab; - StackObjectsCount: number; - NotShownInSlot: boolean; - ExaminedByDefault: boolean; - ExamineTime: number; - IsUndiscardable: boolean; - IsUnsaleable: boolean; - IsUnbuyable: boolean; - IsUngivable: boolean; - IsLockedafterEquip: boolean; - QuestItem: boolean; - LootExperience: number; - ExamineExperience: number; - HideEntrails: boolean; - RepairCost: number; - RepairSpeed: number; - ExtraSizeLeft: number; - ExtraSizeRight: number; - ExtraSizeUp: number; - ExtraSizeDown: number; - ExtraSizeForceAdd: boolean; - MergesWithChildren: boolean; - CanSellOnRagfair: boolean; - CanRequireOnRagfair: boolean; - ConflictingItems: string[]; - DiscardLimit: number; - Unlootable: boolean; - UnlootableFromSlot: string; - UnlootableFromSide: string[]; - AnimationVariantsNumber: number; - DiscardingBlock: boolean; - RagFairCommissionModifier: number; - IsAlwaysAvailableForInsurance: boolean; - Grids: Grid[]; - Slots: Slot[]; - CanPutIntoDuringTheRaid: boolean; - CantRemoveFromSlotsDuringRaid: string[]; - weapClass: string; - weapUseType: string; - ammoCaliber: string; - Durability: number; - MaxDurability: number; - OperatingResource: number; - RepairComplexity: number; - durabSpawnMin: number; - durabSpawnMax: number; - isFastReload: boolean; - RecoilForceUp: number; - RecoilForceBack: number; - Convergence: number; - RecoilAngle: number; - weapFireType: string[]; - RecolDispersion: number; - SingleFireRate: number; - CanQueueSecondShot: boolean; - bFirerate: number; - Ergonomics: number; - Velocity: number; - bEffDist: number; - bHearDist: number; - isChamberLoad: boolean; - chamberAmmoCount: number; - isBoltCatch: boolean; - defMagType: string; - defAmmo: string; - AdjustCollimatorsToTrajectory: boolean; - shotgunDispersion: number; - Chambers: Chamber[]; - CameraRecoil: number; - CameraSnap: number; - ReloadMode: string; - CenterOfImpact: number; - AimPlane: number; - DeviationCurve: number; - DeviationMax: number; - Foldable: boolean; - Retractable: boolean; - TacticalReloadStiffnes: Xyz; - TacticalReloadFixation: number; - RecoilCenter: Xyz; - RotationCenter: Xyz; - RotationCenterNoStock: Xyz; - SizeReduceRight: number; - FoldedSlot: string; - CompactHandling: boolean; - SightingRange: number; - MinRepairDegradation: number; - MaxRepairDegradation: number; - MinRepairKitDegradation: number; - MaxRepairKitDegradation: number; - IronSightRange: number; - MustBoltBeOpennedForExternalReload: boolean; - MustBoltBeOpennedForInternalReload: boolean; - BoltAction: boolean; - HipAccuracyRestorationDelay: number; - HipAccuracyRestorationSpeed: number; - HipInnaccuracyGain: number; - ManualBoltCatch: boolean; - BurstShotsCount: number; - BaseMalfunctionChance: number; - AllowJam: boolean; - AllowFeed: boolean; - AllowMisfire: boolean; - AllowSlide: boolean; - DurabilityBurnRatio: number; - HeatFactorGun: number; - CoolFactorGun: number; - CoolFactorGunMods: number; - HeatFactorByShot: number; - AllowOverheat: boolean; - DoubleActionAccuracyPenalty: number; - RecoilPosZMult: number; - ShotgunDispersion: number; - StackMinRandom: number; - StackMaxRandom: number; - StackSlots: StackSlot[]; - SearchSound: string; - BlocksArmorVest: boolean; - RigLayoutName: string; - armorZone: string[]; - armorClass: number; - speedPenaltyPercent: number; - mousePenalty: number; - weaponErgonomicPenalty: number; - BluntThroughput: number; - ArmorMaterial: string; - medUseTime: number; - medEffectType: string; - MaxHpResource: number; - hpResourceRate: number; - StimulatorBuffs: string; - effects_health: EffectsHealth; - effects_damage: EffectsDamage; - knifeHitDelay: number; - knifeHitSlashRate: number; - knifeHitStabRate: number; - knifeHitRadius: number; - knifeHitSlashDam: number; - knifeHitStabDam: number; - knifeDurab: number; - PrimaryDistance: number; - SecondryDistance: number; - SlashPenetration: number; - StabPenetration: number; - PrimaryConsumption: number; - SecondryConsumption: number; - DeflectionConsumption: number; - MaxResource: number; - AppliedTrunkRotation: Xyz; - AppliedHeadRotation: Xyz; - DisplayOnModel: boolean; - AdditionalAnimationLayer: number; - StaminaBurnRate: number; - ColliderScaleMultiplier: Xyz; - ammoType: string; - InitialSpeed: number; - BallisticCoeficient: number; - BulletMassGram: number; - BulletDiameterMilimeters: number; - Damage: number; - ammoAccr: number; - ammoRec: number; - ammoDist: number; - buckshotBullets: number; - PenetrationPower: number; - PenetrationPowerDiviation: number; - ammoHear: number; - ammoSfx: string; - MisfireChance: number; - MinFragmentsCount: number; - MaxFragmentsCount: number; - ammoShiftChance: number; - casingName: string; - casingEjectPower: number; - casingMass: number; - casingSounds: string; - ProjectileCount: number; - PenetrationChance: number; - RicochetChance: number; - FragmentationChance: number; - Deterioration: number; - SpeedRetardation: number; - Tracer: boolean; - TracerColor: string; - TracerDistance: number; - ArmorDamage: number; - Caliber: string; - StaminaBurnPerDamage: number; - HeavyBleedingDelta: number; - LightBleedingDelta: number; - ShowBullet: boolean; - HasGrenaderComponent: boolean; - FuzeArmTimeSec: number; - ExplosionStrength: number; - MinExplosionDistance: number; - MaxExplosionDistance: number; - FragmentsCount: number; - FragmentType: string; - ShowHitEffectOnExplode: boolean; - ExplosionType: string; - AmmoLifeTimeSec: number; - Contusion: Contusion; - ArmorDistanceDistanceDamage: Xyz; - Blindness: Xyz; - IsLightAndSoundShot: boolean; - LightAndSoundShotAngle: number; - LightAndSoundShotSelfContusionTime: number; - LightAndSoundShotSelfContusionStrength: number; - MalfMisfireChance: number; - DurabilityBurnModificator: number; - HeatFactor: number; - MalfFeedChance: number; - Accuracy: number; - Recoil: number; - Loudness: number; - EffectiveDistance: number; - RaidModdable: boolean; - ToolModdable: boolean; - BlocksFolding: boolean; - BlocksCollapsible: boolean; - IsAnimated: boolean; - HasShoulderContact: boolean; - DoubleActionAccuracyPenaltyMult: number; - magAnimationIndex: number; - Cartridges: Cartridge[]; - CanFast: boolean; - CanHit: boolean; - CanAdmin: boolean; - LoadUnloadModifier: number; - CheckTimeModifier: number; - CheckOverride: number; - ReloadMagType: string; - VisibleAmmoRangesString: string; - MalfunctionChance: number; - TagColor: number; - TagName: string; - MaximumNumberOfUsage: number; - CustomAimPlane: string; - sightModType: string; - aimingSensitivity: number; - SightModesCount: number; - OpticCalibrationDistances: number[]; - ScopesCount: number; - AimSensitivity: number[][]; - ModesCount: number[]; - Zooms: number[][]; - CalibrationDistances: number[][]; - Intensity: number; - Mask: string; - MaskSize: number; - NoiseIntensity: number; - NoiseScale: number; - Color: Color; - DiffuseIntensity: number; - HasHinge: boolean; + ItemSound?: string; + Prefab?: Prefab; + UsePrefab?: Prefab; + StackObjectsCount?: number; + NotShownInSlot?: boolean; + ExaminedByDefault?: boolean; + ExamineTime?: number; + IsUndiscardable?: boolean; + IsUnsaleable?: boolean; + IsUnbuyable?: boolean; + IsUngivable?: boolean; + IsLockedafterEquip?: boolean; + QuestItem?: boolean; + LootExperience?: number; + ExamineExperience?: number; + HideEntrails?: boolean; + RepairCost?: number; + RepairSpeed?: number; + ExtraSizeLeft?: number; + ExtraSizeRight?: number; + ExtraSizeUp?: number; + ExtraSizeDown?: number; + ExtraSizeForceAdd?: boolean; + MergesWithChildren?: boolean; + CanSellOnRagfair?: boolean; + CanRequireOnRagfair?: boolean; + ConflictingItems?: string[]; + Unlootable?: boolean; + UnlootableFromSlot?: string; + UnlootableFromSide?: string[]; + AnimationVariantsNumber?: number; + DiscardingBlock?: boolean; + RagFairCommissionModifier?: number; + IsAlwaysAvailableForInsurance?: boolean; + DiscardLimit?: number; + MaxResource?: number; Resource?: number; + DogTagQualities?: boolean; + Grids?: Grid[]; + Slots?: Slot[]; + CanPutIntoDuringTheRaid?: boolean; + CantRemoveFromSlotsDuringRaid?: string[]; + KeyIds?: string[]; + TagColor?: number; + TagName?: string; + Durability?: number; + Accuracy?: number; + Recoil?: number; + Loudness?: number; + EffectiveDistance?: number; + Ergonomics?: number; + Velocity?: number; + RaidModdable?: boolean; + ToolModdable?: boolean; + BlocksFolding?: boolean; + BlocksCollapsible?: boolean; + IsAnimated?: boolean; + HasShoulderContact?: boolean; + SightingRange?: number; + DoubleActionAccuracyPenaltyMult?: number; + ModesCount: any; + DurabilityBurnModificator?: number; + HeatFactor?: number; CoolFactor?: number; + muzzleModType?: string; + CustomAimPlane?: string; + sightModType?: string; + aimingSensitivity?: number; + SightModesCount?: number; + OpticCalibrationDistances?: number[]; + ScopesCount?: number; + AimSensitivity: any; + Zooms?: number[][]; + CalibrationDistances?: number[][]; + Intensity?: number; + Mask?: string; + MaskSize?: number; + NoiseIntensity?: number; + NoiseScale?: number; + Color?: Color; + DiffuseIntensity?: number; + HasHinge?: boolean; + RampPalette?: string; + DepthFade?: number; + RoughnessCoef?: number; + SpecularCoef?: number; + MainTexColorCoef?: number; + MinimumTemperatureValue?: number; + RampShift?: number; + HeatMin?: number; + ColdMax?: number; + IsNoisy?: boolean; + IsFpsStuck?: boolean; + IsGlitch?: boolean; + IsMotionBlurred?: boolean; + IsPixelated?: boolean; + PixelationBlockCount?: number; + ShiftsAimCamera?: number; + magAnimationIndex?: number; + Cartridges?: Slot[]; + CanFast?: boolean; + CanHit?: boolean; + CanAdmin?: boolean; + LoadUnloadModifier?: number; + CheckTimeModifier?: number; + CheckOverride?: number; + ReloadMagType?: string; + VisibleAmmoRangesString?: string; + MalfunctionChance?: number; + IsShoulderContact?: boolean; + Foldable?: boolean; + Retractable?: boolean; + SizeReduceRight?: number; + CenterOfImpact?: number; + ShotgunDispersion?: number; + IsSilencer?: boolean; + DeviationCurve?: number; + DeviationMax?: number; + SearchSound?: string; + BlocksArmorVest?: boolean; + speedPenaltyPercent?: number; + GridLayoutName?: string; + SpawnFilter?: any[]; + containType?: any[]; + sizeWidth?: number; + sizeHeight?: number; + isSecured?: boolean; + spawnTypes?: string; + lootFilter?: any[]; + spawnRarity?: string; + minCountSpawn?: number; + maxCountSpawn?: number; + openedByKeyID?: any[]; + RigLayoutName?: string; + MaxDurability?: number; + armorZone?: string[]; + armorClass: any; + mousePenalty?: number; + weaponErgonomicPenalty?: number; + BluntThroughput?: number; + ArmorMaterial?: string; + weapClass?: string; + weapUseType?: string; + ammoCaliber?: string; + OperatingResource?: number; + RepairComplexity?: number; + durabSpawnMin?: number; + durabSpawnMax?: number; + isFastReload?: boolean; + RecoilForceUp?: number; + RecoilForceBack?: number; + Convergence?: number; + RecoilAngle?: number; + weapFireType?: string[]; + RecolDispersion?: number; + SingleFireRate?: number; + CanQueueSecondShot?: boolean; + bFirerate?: number; + bEffDist?: number; + bHearDist?: number; + isChamberLoad?: boolean; + chamberAmmoCount?: number; + isBoltCatch?: boolean; + defMagType?: string; + defAmmo?: string; + AdjustCollimatorsToTrajectory?: boolean; + shotgunDispersion?: number; + Chambers?: Slot[]; + CameraRecoil?: number; + CameraSnap?: number; + ReloadMode?: string; + AimPlane?: number; + TacticalReloadStiffnes?: Xyz; + TacticalReloadFixation?: number; + RecoilCenter?: Xyz; + RotationCenter?: Xyz; + RotationCenterNoStock?: Xyz; + FoldedSlot?: string; + CompactHandling?: boolean; + MinRepairDegradation?: number; + MaxRepairDegradation?: number; + IronSightRange?: number; + MustBoltBeOpennedForExternalReload?: boolean; + MustBoltBeOpennedForInternalReload?: boolean; + BoltAction?: boolean; + HipAccuracyRestorationDelay?: number; + HipAccuracyRestorationSpeed?: number; + HipInnaccuracyGain?: number; + ManualBoltCatch?: boolean; + BurstShotsCount?: number; + BaseMalfunctionChance?: number; + AllowJam?: boolean; + AllowFeed?: boolean; + AllowMisfire?: boolean; + AllowSlide?: boolean; + DurabilityBurnRatio?: number; + HeatFactorGun?: number; + CoolFactorGun?: number; + CoolFactorGunMods?: number; + HeatFactorByShot?: number; + AllowOverheat?: boolean; + DoubleActionAccuracyPenalty?: number; + RecoilPosZMult?: number; + MinRepairKitDegradation?: number; + MaxRepairKitDegradation?: number; + BlocksEarpiece?: boolean; + BlocksEyewear?: boolean; + BlocksHeadwear?: boolean; + BlocksFaceCover?: boolean; + Indestructibility?: number; + headSegments?: string[]; + FaceShieldComponent?: boolean; + FaceShieldMask?: string; + MaterialType?: string; + RicochetParams?: Xyz; + DeafStrength?: string; + BlindnessProtection?: number; + Distortion?: number; + CompressorTreshold?: number; + CompressorAttack?: number; + CompressorRelease?: number; + CompressorGain?: number; + CutoffFreq?: number; + Resonance?: number; + CompressorVolume?: number; + AmbientVolume?: number; + DryVolume?: number; foodUseTime?: number; foodEffectType?: string; - MaxRepairResource: number; - RepairQuality: number; - RepairType: string; - TargetItemFilter: string[]; - apResource: number; - krResource: number; + StimulatorBuffs?: string; + effects_health: any; + effects_damage: any; + MaximumNumberOfUsage?: number; + knifeHitDelay?: number; + knifeHitSlashRate?: number; + knifeHitStabRate?: number; + knifeHitRadius?: number; + knifeHitSlashDam?: number; + knifeHitStabDam?: number; + knifeDurab?: number; + PrimaryDistance?: number; + SecondryDistance?: number; + SlashPenetration?: number; + StabPenetration?: number; + PrimaryConsumption?: number; + SecondryConsumption?: number; + DeflectionConsumption?: number; + AppliedTrunkRotation?: Xyz; + AppliedHeadRotation?: Xyz; + DisplayOnModel?: boolean; + AdditionalAnimationLayer?: number; + StaminaBurnRate?: number; + ColliderScaleMultiplier?: Xyz; + ConfigPathStr?: string; + MaxMarkersCount?: number; + scaleMin?: number; + scaleMax?: number; + medUseTime?: number; + medEffectType?: string; + MaxHpResource?: number; + hpResourceRate?: number; + apResource?: number; + krResource?: number; + MaxOpticZoom?: number; + MaxRepairResource?: number; + TargetItemFilter?: string[]; + RepairQuality?: number; + RepairType?: string; + StackMinRandom?: number; + StackMaxRandom?: number; + ammoType?: string; + InitialSpeed?: number; + BallisticCoeficient?: number; + BulletMassGram?: number; + BulletDiameterMilimeters?: number; + Damage?: number; + ammoAccr?: number; + ammoRec?: number; + ammoDist?: number; + buckshotBullets?: number; + PenetrationPower?: number; + PenetrationPowerDiviation?: number; + ammoHear?: number; + ammoSfx?: string; + MisfireChance?: number; + MinFragmentsCount?: number; + MaxFragmentsCount?: number; + ammoShiftChance?: number; + casingName?: string; + casingEjectPower?: number; + casingMass?: number; + casingSounds?: string; + ProjectileCount?: number; + PenetrationChance?: number; + RicochetChance?: number; + FragmentationChance?: number; + Deterioration?: number; + SpeedRetardation?: number; + Tracer?: boolean; + TracerColor?: string; + TracerDistance?: number; + ArmorDamage?: number; + Caliber?: string; + StaminaBurnPerDamage?: number; + HeavyBleedingDelta?: number; + LightBleedingDelta?: number; + ShowBullet?: boolean; + HasGrenaderComponent?: boolean; + FuzeArmTimeSec?: number; + ExplosionStrength?: number; + MinExplosionDistance?: number; + MaxExplosionDistance?: number; + FragmentsCount?: number; + FragmentType?: string; + ShowHitEffectOnExplode?: boolean; + ExplosionType?: string; + AmmoLifeTimeSec?: number; + Contusion?: Xyz; + ArmorDistanceDistanceDamage?: Xyz; + Blindness?: Xyz; + IsLightAndSoundShot?: boolean; + LightAndSoundShotAngle?: number; + LightAndSoundShotSelfContusionTime?: number; + LightAndSoundShotSelfContusionStrength?: number; + MalfMisfireChance?: number; + MalfFeedChance?: number; + StackSlots?: StackSlot[]; + type?: string; + eqMin?: number; + eqMax?: number; + rate?: number; + ThrowType?: string; + ExplDelay?: number; + Strength?: number; + ContusionDistance?: number; + throwDamMax?: number; + explDelay?: number; + EmitTime?: number; + CanBeHiddenDuringThrow?: boolean; + MinTimeToContactExplode?: number; + ExplosionEffectType?: string; } export interface Prefab { path: string; @@ -315,27 +389,18 @@ export interface Slot { _id: string; _parent: string; _props: SlotProps; + _max_count?: number; _required: boolean; _mergeSlotWithChildren: boolean; _proto: string; } export interface SlotProps { - filters: Filter[]; + filters: SlotFilter[]; } -export interface Chamber { - _name: string; - _id: string; - _parent: string; - _props: ChamberProps; - _required: boolean; - _mergeSlotWithChildren: boolean; - _proto: string; -} -export interface ChamberProps { - filters: FilterProps[]; -} -export interface FilterProps { +export interface SlotFilter { + Shift?: number; Filter: string[]; + AnimationIndex?: number; } export interface Xyz { x: number; @@ -345,53 +410,38 @@ export interface Xyz { export interface StackSlot { _name?: string; _id: string; - _sptTpl: string; - parent: string; - location: any; - slotId: string; + _parent: string; _max_count: number; - _props?: StackSlotProps; - _proto?: string; + _props: StackSlotProps; + _proto: string; upd: any; } export interface StackSlotProps { - filters: Filter[]; + filters: SlotFilter[]; } export interface EffectsHealth { - Hydration: Hydration; + Energy: EffectsHealthProps; + Hydration: EffectsHealthProps; } -export interface Hydration { +export interface EffectsHealthProps { value: number; } export interface EffectsDamage { - Pain: Pain; - Contusion: Contusion; + Pain: EffectDamageProps; + LightBleeding: EffectDamageProps; + HeavyBleeding: EffectDamageProps; + Contusion: EffectDamageProps; + RadExposure: EffectDamageProps; + Fracture: EffectDamageProps; + DestroyedPart: EffectDamageProps; } -export interface Pain { +export interface EffectDamageProps { delay: number; duration: number; fadeOut: number; -} -export interface Contusion { - delay: number; - duration: number; - fadeOut: number; -} -export interface Cartridge { - _name: string; - _id: string; - _parent: string; - _max_count: number; - _props: CartridgeProps; - _proto: string; -} -export interface CartridgeProps { - filters: Filter[]; -} -export interface Filter { - Shift?: number; - Filter: string[]; - AnimationIndex?: number; + cost?: number; + healthPenaltyMin?: number; + healthPenaltyMax?: number; } export interface Color { r: number; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/hideout/HideoutAreasEnum.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/hideout/HideoutAreasEnum.d.ts deleted file mode 100644 index 10f851b..0000000 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/hideout/HideoutAreasEnum.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -export declare enum HideoutAreasEnum { - NOTSET = -1, - VENTS = 0, - SECURITY = 1, - LAVATORY = 2, - STASH = 3, - GENERATOR = 4, - HEATING = 5, - WATER_COLLECTOR = 6, - MEDSTATION = 7, - NUTRITION_UNIT = 8, - REST_SPACE = 9, - WORKBENCH = 10, - INTEL_CENTER = 11, - SHOOTING_RANGE = 12, - LIBRARY = 13, - SCAV_CASE = 14, - ILLUMINATION = 15, - PLACE_OF_FAME = 16, - AIR_FILTERING = 17, - SOLAR_POWER = 18, - BOOZE_GENERATOR = 19, - BITCOIN_FARM = 20, - CHRISTMAS_TREE = 21 -} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/profile/IAkiProfile.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/profile/IAkiProfile.d.ts index 80dd02d..3e0b319 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/profile/IAkiProfile.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/eft/profile/IAkiProfile.d.ts @@ -126,12 +126,16 @@ export interface Chest { export interface Stomach { } export interface LeftArm { + Fracture?: number; } export interface RightArm { + Fracture?: number; } export interface LeftLeg { + Fracture?: number; } export interface RightLeg { + Fracture?: number; } export interface Inraid { location: string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/enums/QuestStatus.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/enums/QuestStatus.d.ts new file mode 100644 index 0000000..6335c73 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/enums/QuestStatus.d.ts @@ -0,0 +1,10 @@ +export declare enum QuestStatus { + Locked = 0, + AvailableForStart = 1, + Started = 2, + AvailableForFinish = 3, + Success = 4, + Fail = 5, + FailRestartable = 6, + MarkedAsFailed = 7 +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/config/IBotConfig.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/config/IBotConfig.d.ts index f8ea940..5fb9d93 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/config/IBotConfig.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/config/IBotConfig.d.ts @@ -5,6 +5,7 @@ export interface IBotConfig extends IBaseConfig { bosses: string[]; durability: Durability; lootNValue: LootNvalue; + revenge: Record; pmc: PmcConfig; showTypeInNickname: boolean; maxBotCap: number; @@ -97,6 +98,7 @@ export interface PmcConfig { maxPocketLootTotalRub: number; maxVestLootTotalRub: number; types: Types; + enemyTypes: string[]; } export interface DynamicLoot { whitelist: string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/helpers/Traders.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/helpers/Traders.d.ts deleted file mode 100644 index e935d29..0000000 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/helpers/Traders.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare const enum Traders { - PRAPOR = "54cb50c76803fa8b248b4571", - THERAPIST = "54cb57776803fa99248b456e", - FENCE = "579dc571d53a0658a154fbec", - SKIER = "58330581ace78e27b8b10cee", - PEACEKEEPER = "5935c25fb3acc3127c3d8cd9", - MECHANIC = "5a7c2eca46aef81a7ca2145d", - RAGMAN = "5ac3b934156ae10c4430e83c", - JAEGER = "5c0647fdd443bc2504c2d371" -} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/mod/IModLoader.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/mod/IModLoader.d.ts index 5398c9b..40a5e19 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/mod/IModLoader.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/mod/IModLoader.d.ts @@ -3,6 +3,5 @@ export interface IModLoader { load(container: DependencyContainer): void; getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; - getImportedModsNames(): string[]; getModPath(mod: string): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/mod/IPackageJsonData.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/mod/IPackageJsonData.d.ts index 09472cd..99e4ef9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/mod/IPackageJsonData.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/mod/IPackageJsonData.d.ts @@ -1,6 +1,7 @@ export interface IPackageJsonData { incompatibilities?: string[]; dependencies?: string[]; + modDependencies?: Record; name: string; author: string; version: string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/IDatabaseTables.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/IDatabaseTables.d.ts index dbb71be..e0d3fdd 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/IDatabaseTables.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/IDatabaseTables.d.ts @@ -5,6 +5,7 @@ import { IBotType } from "../../eft/common/tables/IBotType"; import { ICustomizationItem } from "../../eft/common/tables/ICustomizationItem"; import { IHandbookBase } from "../../eft/common/tables/IHandbookBase"; import { ILootBase } from "../../eft/common/tables/ILootBase"; +import { IMatch } from "../../eft/common/tables/IMatch"; import { IQuest } from "../../eft/common/tables/IQuest"; import { IRepeatableQuestDatabase } from "../../eft/common/tables/IRepeatableQuests"; import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; @@ -18,22 +19,22 @@ import { ILocations } from "./ILocations"; import { IServerBase } from "./IServerBase"; import { ISettingsBase } from "./ISettingsBase"; export interface IDatabaseTables { - bots: { + bots?: { types: Record; base: IBotBase; core: IBotCore; }; - hideout: { + hideout?: { areas: IHideoutArea[]; production: IHideoutProduction[]; scavcase: IHideoutScavCase[]; settings: IHideoutSettingsBase; }; - locales: ILocaleBase; - locations: ILocations; - loot: ILootBase; - match: any; - templates: { + locales?: ILocaleBase; + locations?: ILocations; + loot?: ILootBase; + match?: IMatch; + templates?: { character: string[]; items: Record; quests: IQuest[]; @@ -44,8 +45,8 @@ export interface IDatabaseTables { profiles: any; prices: Record; }; - traders: Record; - globals: IGlobals; - server: IServerBase; - settings: ISettingsBase; + traders?: Record; + globals?: IGlobals; + server?: IServerBase; + settings?: ISettingsBase; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/IHttpServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/IHttpServer.d.ts index 50e5c91..c828399 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/IHttpServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/IHttpServer.d.ts @@ -1,4 +1,5 @@ /// +/// import http, { ServerResponse } from "http"; import { INotification } from "../../eft/notifier/INotifier"; export interface IHttpServer { diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/ILocaleBase.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/ILocaleBase.d.ts index a20084d..8887c06 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/ILocaleBase.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/server/ILocaleBase.d.ts @@ -1,5 +1,5 @@ export interface ILocaleBase { - global: ILocaleGlobalBase; + global: Record; menu: Record; languages: ILanguageBase[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/services/CustomPreset.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/services/CustomPreset.d.ts new file mode 100644 index 0000000..f07382e --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/services/CustomPreset.d.ts @@ -0,0 +1,5 @@ +import { Preset } from "../../eft/common/IGlobals"; +export interface CustomPreset { + key: string; + preset: Preset; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/services/CustomTraderAssortData.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/services/CustomTraderAssortData.d.ts new file mode 100644 index 0000000..265a26a --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/models/spt/services/CustomTraderAssortData.d.ts @@ -0,0 +1,6 @@ +import { ITraderAssort } from "../../eft/common/tables/ITrader"; +import { Traders } from "../../enums/Traders"; +export interface CustomTraderAssortData { + traderId: Traders; + assorts: ITraderAssort; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/HttpRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/HttpRouter.d.ts index 44edc0b..f75a47d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/HttpRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/HttpRouter.d.ts @@ -1,11 +1,16 @@ /// import { IncomingMessage } from "http"; -import { DynamicRouter, StaticRouter } from "../di/Router"; +import { DynamicRouter, Router, StaticRouter } from "../di/Router"; export declare class HttpRouter { - private staticRouters; - private dynamicRoutes; + protected staticRouters: StaticRouter[]; + protected dynamicRoutes: DynamicRouter[]; constructor(staticRouters: StaticRouter[], dynamicRoutes: DynamicRouter[]); - private groupBy; + protected groupBy(list: T[], keyGetter: (t: T) => string): Map; getResponse(req: IncomingMessage, info: any, sessionID: string): string; - private handleRoute; + protected handleRoute(url: string, info: any, sessionID: string, wrapper: ResponseWrapper, routers: Router[], dynamic: boolean): boolean; } +declare class ResponseWrapper { + output: string; + constructor(output: string); +} +export {}; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/ImageRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/ImageRouter.d.ts index 97e580d..ab03977 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/ImageRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/ImageRouter.d.ts @@ -4,8 +4,8 @@ import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ImageRouteService } from "../services/mod/image/ImageRouteService"; import { VFS } from "../utils/VFS"; export declare class ImageRouter { - private vfs; - private imageRouteService; + protected vfs: VFS; + protected imageRouteService: ImageRouteService; constructor(vfs: VFS, imageRouteService: ImageRouteService); addRoute(key: string, valueToAdd: string): void; sendImage(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: any, httpServer: IHttpServer): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/ItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/ItemEventRouter.d.ts index bb20152..b1ac5d9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/ItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/ItemEventRouter.d.ts @@ -5,13 +5,13 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { ItemEventRouterDefinition } from "../di/Router"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class ItemEventRouter { - private logger; - private jsonUtil; - private profileHelper; - private itemEventRouters; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected profileHelper: ProfileHelper; + protected itemEventRouters: ItemEventRouterDefinition[]; constructor(logger: ILogger, jsonUtil: JsonUtil, profileHelper: ProfileHelper, itemEventRouters: ItemEventRouterDefinition[]); - private output; + protected output: IItemEventRouterResponse; handleEvents(info: IItemEventRouterRequest, sessionID: string): IItemEventRouterResponse; getOutput(sessionID: string): IItemEventRouterResponse; - private resetOutput; + protected resetOutput(sessionID: string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/BotDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/BotDynamicRouter.d.ts index dd2f68a..6d0ab4b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/BotDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/BotDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { BotCallbacks } from "../../callbacks/BotCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class BotDynamicRouter extends DynamicRouter { - private botCallbacks; + protected botCallbacks: BotCallbacks; constructor(botCallbacks: BotCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/BundleDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/BundleDynamicRouter.d.ts index be27008..a765410 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/BundleDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/BundleDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class BundleDynamicRouter extends DynamicRouter { - private bundleCallbacks; + protected bundleCallbacks: BundleCallbacks; constructor(bundleCallbacks: BundleCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/CustomizationDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/CustomizationDynamicRouter.d.ts index 03a5967..2db7cc5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/CustomizationDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/CustomizationDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class CustomizationDynamicRouter extends DynamicRouter { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/DataDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/DataDynamicRouter.d.ts index c30501a..836ed8d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/DataDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/DataDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { DataCallbacks } from "../../callbacks/DataCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class DataDynamicRouter extends DynamicRouter { - private dataCallbacks; + protected dataCallbacks: DataCallbacks; constructor(dataCallbacks: DataCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/HttpDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/HttpDynamicRouter.d.ts index b2933e9..a152b4d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/HttpDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/HttpDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { DynamicRouter } from "../../di/Router"; import { ImageRouter } from "../ImageRouter"; export declare class HttpDynamicRouter extends DynamicRouter { - private imageRouter; + protected imageRouter: ImageRouter; constructor(imageRouter: ImageRouter); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/InraidDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/InraidDynamicRouter.d.ts index ea4a9ae..7c0561f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/InraidDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/InraidDynamicRouter.d.ts @@ -1,7 +1,7 @@ import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class InraidDynamicRouter extends DynamicRouter { - private inraidCallbacks; + protected inraidCallbacks: InraidCallbacks; constructor(inraidCallbacks: InraidCallbacks); getTopLevelRoute(): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/LocationDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/LocationDynamicRouter.d.ts index 30741db..b8e5cdf 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/LocationDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/LocationDynamicRouter.d.ts @@ -1,7 +1,7 @@ import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class LocationDynamicRouter extends DynamicRouter { - private locationCallbacks; + protected locationCallbacks: LocationCallbacks; constructor(locationCallbacks: LocationCallbacks); getTopLevelRoute(): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/NotifierDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/NotifierDynamicRouter.d.ts index 4786817..83c60c5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/NotifierDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/NotifierDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class NotifierDynamicRouter extends DynamicRouter { - private notifierCallbacks; + protected notifierCallbacks: NotifierCallbacks; constructor(notifierCallbacks: NotifierCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/TraderDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/TraderDynamicRouter.d.ts index a100b4c..5b7cc1b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/TraderDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/dynamic/TraderDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class TraderDynamicRouter extends DynamicRouter { - private traderCallbacks; + protected traderCallbacks: TraderCallbacks; constructor(traderCallbacks: TraderCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/CustomizationItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/CustomizationItemEventRouter.d.ts index 3025e2c..e78445e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/CustomizationItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/CustomizationItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class CustomizationItemEventRouter extends ItemEventRouterDefinition { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/HealthItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/HealthItemEventRouter.d.ts index bad9af2..99847c6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/HealthItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/HealthItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class HealthItemEventRouter extends ItemEventRouterDefinition { - private healthCallbacks; + protected healthCallbacks: HealthCallbacks; constructor(healthCallbacks: HealthCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/HideoutItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/HideoutItemEventRouter.d.ts index 2cec18b..e1e98af 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/HideoutItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/HideoutItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { HideoutCallbacks } from "../../callbacks/HideoutCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class HideoutItemEventRouter extends ItemEventRouterDefinition { - private hideoutCallbacks; + protected hideoutCallbacks: HideoutCallbacks; constructor(hideoutCallbacks: HideoutCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/InsuranceItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/InsuranceItemEventRouter.d.ts index 8efc2c2..a922cc0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/InsuranceItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/InsuranceItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class InsuranceItemEventRouter extends ItemEventRouterDefinition { - private insuranceCallbacks; + protected insuranceCallbacks: InsuranceCallbacks; constructor(insuranceCallbacks: InsuranceCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/InventoryItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/InventoryItemEventRouter.d.ts index 1d93e7b..2619bb9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/InventoryItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/InventoryItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { InventoryCallbacks } from "../../callbacks/InventoryCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class InventoryItemEventRouter extends ItemEventRouterDefinition { - private inventoryCallbacks; + protected inventoryCallbacks: InventoryCallbacks; constructor(inventoryCallbacks: InventoryCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/NoteItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/NoteItemEventRouter.d.ts index 12af594..59bf598 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/NoteItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/NoteItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { NoteCallbacks } from "../../callbacks/NoteCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class NoteItemEventRouter extends ItemEventRouterDefinition { - private noteCallbacks; + protected noteCallbacks: NoteCallbacks; constructor(noteCallbacks: NoteCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/PresetBuildItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/PresetBuildItemEventRouter.d.ts index 7298c52..277db44 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/PresetBuildItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/PresetBuildItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class PresetBuildItemEventRouter extends ItemEventRouterDefinition { - private presetBuildCallbacks; + protected presetBuildCallbacks: PresetBuildCallbacks; constructor(presetBuildCallbacks: PresetBuildCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/QuestItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/QuestItemEventRouter.d.ts index 9944ae9..a092aa6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/QuestItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/QuestItemEventRouter.d.ts @@ -1,10 +1,12 @@ -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "../../models/spt/utils/ILogger"; export declare class QuestItemEventRouter extends ItemEventRouterDefinition { - private questCallbacks; - constructor(questCallbacks: QuestCallbacks); + protected logger: ILogger; + protected questCallbacks: QuestCallbacks; + constructor(logger: ILogger, questCallbacks: QuestCallbacks); getHandledRoutes(): HandledRoute[]; - handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; + handleItemEvent(eventAction: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/RagfairItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/RagfairItemEventRouter.d.ts index 88e52ba..9216cc5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/RagfairItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/RagfairItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class RagfairItemEventRouter extends ItemEventRouterDefinition { - private ragfairCallbacks; + protected ragfairCallbacks: RagfairCallbacks; constructor(ragfairCallbacks: RagfairCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/RepairItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/RepairItemEventRouter.d.ts index b292ded..5196ba9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/RepairItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/RepairItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { RepairCallbacks } from "../../callbacks/RepairCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class RepairItemEventRouter extends ItemEventRouterDefinition { - private repairCallbacks; + protected repairCallbacks: RepairCallbacks; constructor(repairCallbacks: RepairCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/TradeItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/TradeItemEventRouter.d.ts index 1bca2b8..a43bb0a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/TradeItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/TradeItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { TradeCallbacks } from "../../callbacks/TradeCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class TradeItemEventRouter extends ItemEventRouterDefinition { - private tradeCallbacks; + protected tradeCallbacks: TradeCallbacks; constructor(tradeCallbacks: TradeCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/WishlistItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/WishlistItemEventRouter.d.ts index 38831f6..38497fb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/WishlistItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/item_events/WishlistItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { WishlistCallbacks } from "../../callbacks/WishlistCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class WishlistItemEventRouter extends ItemEventRouterDefinition { - private wishlistCallbacks; + protected wishlistCallbacks: WishlistCallbacks; constructor(wishlistCallbacks: WishlistCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/BundleSerializer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/BundleSerializer.d.ts index 7952e9c..912db83 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/BundleSerializer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/BundleSerializer.d.ts @@ -3,8 +3,8 @@ import { BundleLoader } from "../../loaders/BundleLoader"; import { IHttpServer } from "../../models/spt/server/IHttpServer"; import { ILogger } from "../../models/spt/utils/ILogger"; export declare class BundleSerializer extends Serializer { - private logger; - private bundleLoader; + protected logger: ILogger; + protected bundleLoader: BundleLoader; constructor(logger: ILogger, bundleLoader: BundleLoader); serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/ImageSerializer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/ImageSerializer.d.ts index 29340d0..0e040d4 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/ImageSerializer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/ImageSerializer.d.ts @@ -2,7 +2,7 @@ import { IHttpServer } from "../../models/spt/server/IHttpServer"; import { Serializer } from "../../di/Serializer"; import { ImageRouter } from "../ImageRouter"; export declare class ImageSerializer extends Serializer { - private imageRouter; + protected imageRouter: ImageRouter; constructor(imageRouter: ImageRouter); serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/NotifySerializer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/NotifySerializer.d.ts index 8be8ac2..1779ac9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/NotifySerializer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/serializers/NotifySerializer.d.ts @@ -3,9 +3,9 @@ import { Serializer } from "../../di/Serializer"; import { HttpServerHelper } from "../../helpers/HttpServerHelper"; import { IHttpServer } from "../../models/spt/server/IHttpServer"; export declare class NotifySerializer extends Serializer { - private notifierController; - private httpServerHelper; + protected notifierController: NotifierController; + protected httpServerHelper: HttpServerHelper; constructor(notifierController: NotifierController, httpServerHelper: HttpServerHelper); - serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + serialize(_sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/BotStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/BotStaticRouter.d.ts index d8b0bf4..aeea220 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/BotStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/BotStaticRouter.d.ts @@ -1,6 +1,6 @@ import { BotCallbacks } from "../../callbacks/BotCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class BotStaticRouter extends StaticRouter { - private botCallbacks; + protected botCallbacks: BotCallbacks; constructor(botCallbacks: BotCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/BundleStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/BundleStaticRouter.d.ts index 3905b82..fb682fc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/BundleStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/BundleStaticRouter.d.ts @@ -1,6 +1,6 @@ import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class BundleStaticRouter extends StaticRouter { - private bundleCallbacks; + protected bundleCallbacks: BundleCallbacks; constructor(bundleCallbacks: BundleCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/CustomizationStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/CustomizationStaticRouter.d.ts index 46c71b8..21bc4bb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/CustomizationStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/CustomizationStaticRouter.d.ts @@ -1,6 +1,6 @@ import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class CustomizationStaticRouter extends StaticRouter { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/DataStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/DataStaticRouter.d.ts index a493d3a..84ba7fd 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/DataStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/DataStaticRouter.d.ts @@ -1,6 +1,6 @@ import { DataCallbacks } from "../../callbacks/DataCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class DataStaticRouter extends StaticRouter { - private dataCallbacks; + protected dataCallbacks: DataCallbacks; constructor(dataCallbacks: DataCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/DialogStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/DialogStaticRouter.d.ts index a59fb14..546cdf1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/DialogStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/DialogStaticRouter.d.ts @@ -1,6 +1,6 @@ import { DialogueCallbacks } from "../../callbacks/DialogueCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class DialogStaticRouter extends StaticRouter { - private dialogueCallbacks; + protected dialogueCallbacks: DialogueCallbacks; constructor(dialogueCallbacks: DialogueCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/GameStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/GameStaticRouter.d.ts index 988b673..a9a7496 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/GameStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/GameStaticRouter.d.ts @@ -1,6 +1,6 @@ import { GameCallbacks } from "../../callbacks/GameCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class GameStaticRouter extends StaticRouter { - private gameCallbacks; + protected gameCallbacks: GameCallbacks; constructor(gameCallbacks: GameCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/HealthStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/HealthStaticRouter.d.ts index e644861..863fd5e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/HealthStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/HealthStaticRouter.d.ts @@ -1,6 +1,6 @@ import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class HealthStaticRouter extends StaticRouter { - private healthCallbacks; + protected healthCallbacks: HealthCallbacks; constructor(healthCallbacks: HealthCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/InraidStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/InraidStaticRouter.d.ts index 66ed860..b29ad23 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/InraidStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/InraidStaticRouter.d.ts @@ -1,6 +1,6 @@ import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class InraidStaticRouter extends StaticRouter { - private inraidCallbacks; + protected inraidCallbacks: InraidCallbacks; constructor(inraidCallbacks: InraidCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/InsuranceStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/InsuranceStaticRouter.d.ts index 8da26b3..5676499 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/InsuranceStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/InsuranceStaticRouter.d.ts @@ -1,6 +1,6 @@ import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class InsuranceStaticRouter extends StaticRouter { - private insuranceCallbacks; + protected insuranceCallbacks: InsuranceCallbacks; constructor(insuranceCallbacks: InsuranceCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/ItemEventStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/ItemEventStaticRouter.d.ts index 08ba6bb..c30a7fc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/ItemEventStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/ItemEventStaticRouter.d.ts @@ -1,6 +1,6 @@ import { ItemEventCallbacks } from "../../callbacks/ItemEventCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class ItemEventStaticRouter extends StaticRouter { - private itemEventCallbacks; + protected itemEventCallbacks: ItemEventCallbacks; constructor(itemEventCallbacks: ItemEventCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/LauncherStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/LauncherStaticRouter.d.ts index 9d07f78..0040cbd 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/LauncherStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/LauncherStaticRouter.d.ts @@ -1,6 +1,6 @@ import { LauncherCallbacks } from "../../callbacks/LauncherCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class LauncherStaticRouter extends StaticRouter { - private launcherCallbacks; + protected launcherCallbacks: LauncherCallbacks; constructor(launcherCallbacks: LauncherCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/LocationStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/LocationStaticRouter.d.ts index 9c5c52e..b6de956 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/LocationStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/LocationStaticRouter.d.ts @@ -1,6 +1,6 @@ import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class LocationStaticRouter extends StaticRouter { - private locationCallbacks; + protected locationCallbacks: LocationCallbacks; constructor(locationCallbacks: LocationCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/MatchStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/MatchStaticRouter.d.ts index d746381..9920a92 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/MatchStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/MatchStaticRouter.d.ts @@ -1,6 +1,6 @@ import { MatchCallbacks } from "../../callbacks/MatchCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class MatchStaticRouter extends StaticRouter { - private matchCallbacks; + protected matchCallbacks: MatchCallbacks; constructor(matchCallbacks: MatchCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/NotifierStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/NotifierStaticRouter.d.ts index 1c8566d..8f1f5cc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/NotifierStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/NotifierStaticRouter.d.ts @@ -1,6 +1,6 @@ import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class NotifierStaticRouter extends StaticRouter { - private notifierCallbacks; + protected notifierCallbacks: NotifierCallbacks; constructor(notifierCallbacks: NotifierCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/PresetStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/PresetStaticRouter.d.ts index 2272f82..a9e7458 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/PresetStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/PresetStaticRouter.d.ts @@ -1,6 +1,6 @@ import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class PresetStaticRouter extends StaticRouter { - private presetCallbacks; + protected presetCallbacks: PresetBuildCallbacks; constructor(presetCallbacks: PresetBuildCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/ProfileStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/ProfileStaticRouter.d.ts index fd787f1..83403f2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/ProfileStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/ProfileStaticRouter.d.ts @@ -1,6 +1,6 @@ import { ProfileCallbacks } from "../../callbacks/ProfileCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class ProfileStaticRouter extends StaticRouter { - private profileCallbacks; + protected profileCallbacks: ProfileCallbacks; constructor(profileCallbacks: ProfileCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/QuestStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/QuestStaticRouter.d.ts index fda3c23..8f7ca0a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/QuestStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/QuestStaticRouter.d.ts @@ -1,6 +1,6 @@ import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class QuestStaticRouter extends StaticRouter { - private questCallbacks; + protected questCallbacks: QuestCallbacks; constructor(questCallbacks: QuestCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/RagfairStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/RagfairStaticRouter.d.ts index 618374f..6c41467 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/RagfairStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/RagfairStaticRouter.d.ts @@ -1,6 +1,6 @@ import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class RagfairStaticRouter extends StaticRouter { - private ragfairCallbacks; + protected ragfairCallbacks: RagfairCallbacks; constructor(ragfairCallbacks: RagfairCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/TraderStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/TraderStaticRouter.d.ts index 18f0629..41728a1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/TraderStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/TraderStaticRouter.d.ts @@ -1,6 +1,6 @@ import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class TraderStaticRouter extends StaticRouter { - private traderCallbacks; + protected traderCallbacks: TraderCallbacks; constructor(traderCallbacks: TraderCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/WeatherStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/WeatherStaticRouter.d.ts index 61b904d..72ed851 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/WeatherStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/routers/static/WeatherStaticRouter.d.ts @@ -1,6 +1,6 @@ import { WeatherCallbacks } from "../../callbacks/WeatherCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class WeatherStaticRouter extends StaticRouter { - private weatherCallbacks; + protected weatherCallbacks: WeatherCallbacks; constructor(weatherCallbacks: WeatherCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/ConfigServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/ConfigServer.d.ts index 83af38d..a079be8 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/ConfigServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/ConfigServer.d.ts @@ -3,10 +3,10 @@ import { VFS } from "../utils/VFS"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigTypes } from "../models/enums/ConfigTypes"; export declare class ConfigServer { - private logger; - private vfs; - private jsonUtil; - private configs; + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected configs: Record; constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil); getConfig(configType: ConfigTypes): T; getConfigByString(configType: string): T; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/DatabaseServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/DatabaseServer.d.ts index 521bcf9..aa152d0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/DatabaseServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/DatabaseServer.d.ts @@ -1,6 +1,6 @@ import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; export declare class DatabaseServer { - private tableData; + protected tableData: IDatabaseTables; getTables(): IDatabaseTables; setTables(any: any): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/HttpServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/HttpServer.d.ts index d0db7e4..5234966 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/HttpServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/HttpServer.d.ts @@ -1,9 +1,11 @@ /// +/// import http, { ServerResponse } from "http"; import { Serializer } from "../di/Serializer"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { NotifierHelper } from "../helpers/NotifierHelper"; import { INotification } from "../models/eft/notifier/INotifier"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { HttpRouter } from "../routers/HttpRouter"; @@ -13,24 +15,24 @@ import { RandomUtil } from "../utils/RandomUtil"; import { ConfigServer } from "./ConfigServer"; import { DatabaseServer } from "./DatabaseServer"; export declare class HttpServer implements IHttpServer { - private httpRouter; - private logger; - private randomUtil; - private jsonUtil; - private httpResponse; - private databaseServer; - private notifierHelper; - private httpServerHelper; - private serializers; - private configServer; + protected httpRouter: HttpRouter; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected jsonUtil: JsonUtil; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + protected notifierHelper: NotifierHelper; + protected httpServerHelper: HttpServerHelper; + protected serializers: Serializer[]; + protected configServer: ConfigServer; constructor(httpRouter: HttpRouter, // TODO: delay required logger: ILogger, randomUtil: RandomUtil, jsonUtil: JsonUtil, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, serializers: Serializer[], configServer: ConfigServer); - private buffers; - private onReceive; - private onRespond; - private httpConfig; - private webSockets; - private websocketPingHandler; + protected buffers: {}; + protected onReceive: {}; + protected onRespond: {}; + protected httpConfig: IHttpConfig; + protected webSockets: {}; + protected websocketPingHandler: any; getCookies(req: http.IncomingMessage): any; resetBuffer(sessionID: string): void; putInBuffer(sessionID: any, data: any, bufLength: number): boolean; @@ -42,6 +44,6 @@ export declare class HttpServer implements IHttpServer { sendResponse(sessionID: string, req: any, resp: any, body: Buffer): void; handleRequest(req: http.IncomingMessage, resp: http.ServerResponse): void; load(): void; - private getRandomisedMessage; + protected getRandomisedMessage(): string; wsOnConnection(ws: any, req: any): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/RagfairServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/RagfairServer.d.ts index cf56d64..60c92b5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/RagfairServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/RagfairServer.d.ts @@ -1,18 +1,19 @@ import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; import { ConfigServer } from "./ConfigServer"; export declare class RagfairServer { - private logger; - private ragfairOfferGenerator; - private ragfairOfferService; - private ragfairCategoriesService; - private ragfairRequiredItemsService; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected ragfairOfferService: RagfairOfferService; + protected ragfairCategoriesService: RagfairCategoriesService; + protected ragfairRequiredItemsService: RagfairRequiredItemsService; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer); load(): void; update(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/SaveServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/SaveServer.d.ts index fdf92e4..cb28f49 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/SaveServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/servers/SaveServer.d.ts @@ -5,15 +5,15 @@ import { VFS } from "../utils/VFS"; import { SaveLoadRouter } from "../di/Router"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class SaveServer { - private vfs; - private saveLoadRouters; - private jsonUtil; - private hashUtil; - private logger; - private profileFilepath; - private profiles; - private onSave; - private saveMd5; + protected vfs: VFS; + protected saveLoadRouters: SaveLoadRouter[]; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected logger: ILogger; + protected profileFilepath: string; + protected profiles: {}; + protected onSave: {}; + protected saveMd5: {}; constructor(vfs: VFS, saveLoadRouters: SaveLoadRouter[], jsonUtil: JsonUtil, hashUtil: HashUtil, logger: ILogger); load(): void; save(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomHandbookItemService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomHandbookItemService.d.ts new file mode 100644 index 0000000..1c25b99 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomHandbookItemService.d.ts @@ -0,0 +1,13 @@ +import { HandbookItem } from "../models/eft/common/tables/IHandbookBase"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomHandbookItemService { + protected logger: ILogger; + private customHandbookItems; + constructor(logger: ILogger); + /** + * Add handbook item + * @param handbookItem item to add + */ + add(handbookItem: HandbookItem): void; + get(): HandbookItem[]; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomItemService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomItemService.d.ts new file mode 100644 index 0000000..d5806b4 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomItemService.d.ts @@ -0,0 +1,11 @@ +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class CustomItemService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + private customItems; + constructor(logger: ILogger, databaseServer: DatabaseServer); + add(itemToAdd: ITemplateItem): void; + get(): ITemplateItem[]; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomTraderAssortService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomTraderAssortService.d.ts new file mode 100644 index 0000000..e63d67b --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/CustomTraderAssortService.d.ts @@ -0,0 +1,14 @@ +import { CustomTraderAssortData } from "../models/spt/services/CustomTraderAssortData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class CustomTraderAssortService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + private customAssorts; + constructor(logger: ILogger, databaseServer: DatabaseServer); + /** + * Add assorts to a specific trader + */ + add(assortsToAdd: CustomTraderAssortData): void; + get(): CustomTraderAssortData[]; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/FenceService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/FenceService.d.ts index 27d14ef..12723fb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/FenceService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/FenceService.d.ts @@ -4,6 +4,7 @@ import { PresetHelper } from "../helpers/PresetHelper"; import { FenceLevel } from "../models/eft/common/IGlobals"; import { IPmcData } from "../models/eft/common/IPmcData"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,19 +12,19 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class FenceService { - private logger; - private hashUtil; - private jsonUtil; - private randomUtil; - private databaseServer; - private handbookHelper; - private itemHelper; - private presetHelper; - private configServer; - private fenceAssort; - private traderConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected configServer: ConfigServer; + protected fenceAssort: ITraderAssort; + protected traderConfig: ITraderConfig; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, presetHelper: PresetHelper, configServer: ConfigServer); - private setFenceAssort; + protected setFenceAssort(fenceAssort: ITraderAssort): void; getFenceAssorts(): ITraderAssort; hasExpiredCache(refreshAssort: boolean): boolean; generateFenceAssortCache(pmcData: IPmcData): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/HashCacheService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/HashCacheService.d.ts index c9b0170..5320f28 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/HashCacheService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/HashCacheService.d.ts @@ -3,13 +3,13 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { VFS } from "../utils/VFS"; export declare class HashCacheService { - private vfs; - private hashUtil; - private jsonUtil; - private logger; - private jsonHashes; - private modHashes; - private readonly modCachePath; + protected vfs: VFS; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected jsonHashes: any; + protected modHashes: any; + protected readonly modCachePath = "./user/cache/modCache.json"; constructor(vfs: VFS, hashUtil: HashUtil, jsonUtil: JsonUtil, logger: ILogger); getStoredModHash(modName: string): string; modContentMatchesStoredHash(modName: string, modContent: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/InsuranceService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/InsuranceService.d.ts index 160faba..0219816 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/InsuranceService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/InsuranceService.d.ts @@ -4,6 +4,7 @@ import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,18 +12,18 @@ import { SaveServer } from "../servers/SaveServer"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class InsuranceService { - private logger; - private databaseServer; - private secureContainerHelper; - private randomUtil; - private timeUtil; - private saveServer; - private traderHelper; - private dialogueHelper; - private configServer; - private insured; - private templatesById; - private insuranceConfig; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected secureContainerHelper: SecureContainerHelper; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected traderHelper: TraderHelper; + protected dialogueHelper: DialogueHelper; + protected configServer: ConfigServer; + protected insured: Record>; + protected templatesById: {}; + protected insuranceConfig: IInsuranceConfig; constructor(logger: ILogger, databaseServer: DatabaseServer, secureContainerHelper: SecureContainerHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, saveServer: SaveServer, traderHelper: TraderHelper, dialogueHelper: DialogueHelper, configServer: ConfigServer); insuranceExists(sessionId: string): boolean; insuranceTraderArrayExists(sessionId: string, traderId: string): boolean; @@ -36,6 +37,6 @@ export declare class InsuranceService { sendInsuredItems(pmcData: IPmcData, sessionID: string): void; storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; - private addGearToSend; + protected addGearToSend(pmcData: IPmcData, insuredItem: any, actualItem: any, sessionID: string): any; getPremium(pmcData: IPmcData, inventoryItem: Item, traderId: string): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/MatchLocationService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/MatchLocationService.d.ts index f7b7d3b..2b5fc0e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/MatchLocationService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/MatchLocationService.d.ts @@ -1,7 +1,7 @@ import { TimeUtil } from "../utils/TimeUtil"; export declare class MatchLocationService { - private timeUtil; - private locations; + protected timeUtil: TimeUtil; + protected locations: {}; constructor(timeUtil: TimeUtil); createGroup(sessionID: string, info: any): any; deleteGroup(info: any): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/ModCompilerService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/ModCompilerService.d.ts index cf7cc21..26cb4ac 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/ModCompilerService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/ModCompilerService.d.ts @@ -1,15 +1,20 @@ +import * as ts from "typescript"; import { ILogger } from "../models/spt/utils/ILogger"; import { VFS } from "../utils/VFS"; import { HashCacheService } from "./HashCacheService"; export declare class ModCompilerService { - private logger; - private hashCacheService; - private vfs; + protected logger: ILogger; + protected hashCacheService: HashCacheService; + protected vfs: VFS; constructor(logger: ILogger, hashCacheService: HashCacheService, vfs: VFS); compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise; - private compile; - private buildDepth; - private calculateDepth; - private areFilesReady; - private delay; + protected compile(fileNames: string[], options: ts.CompilerOptions): Promise; + protected buildDepth(depth: number): string; + protected getNodesModulesPath(depth: number): string; + protected getAkiPath(depth: number): string; + protected getAkiFolder(): string; + protected getNodesModulesFolder(): string; + protected calculateDepth(file: string): number; + protected areFilesReady(fileNames: string[]): boolean; + protected delay(ms: number): Promise; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/NotificationService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/NotificationService.d.ts index 9c6c143..7e2a127 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/NotificationService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/NotificationService.d.ts @@ -1,6 +1,6 @@ import { INotification } from "../models/eft/notifier/INotifier"; export declare class NotificationService { - private messageQueue; + protected messageQueue: {}; getMessageQueue(): {}; getMessageFromQueue(sessionId: string): any; updateMessageOnQueue(sessionId: string, value: any[]): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/PaymentService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/PaymentService.d.ts index 0a6c4d6..5834750 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/PaymentService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/PaymentService.d.ts @@ -4,6 +4,7 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PaymentHelper } from "../helpers/PaymentHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; @@ -11,14 +12,14 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class PaymentService { - private logger; - private httpResponse; - private databaseServer; - private handbookHelper; - private traderHelper; - private itemHelper; - private inventoryHelper; - private paymentHelper; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected traderHelper: TraderHelper; + protected itemHelper: ItemHelper; + protected inventoryHelper: InventoryHelper; + protected paymentHelper: PaymentHelper; constructor(logger: ILogger, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); /** * Take money and insert items into return to server request @@ -43,6 +44,6 @@ export declare class PaymentService { * inside the stash, that is it has the stash as * ancestor with slotId=hideout */ - private isItemInStash; + protected isItemInStash(pmcData: IPmcData, item: Item): boolean; addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/PlayerService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/PlayerService.d.ts index 99e5986..519b7e5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/PlayerService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/PlayerService.d.ts @@ -3,8 +3,8 @@ import { IPlayerIncrementSkillLevelRequestData } from "../models/eft/player/IPla import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PlayerService { - private logger; - private databaseServer; + protected logger: ILogger; + protected databaseServer: DatabaseServer; constructor(logger: ILogger, databaseServer: DatabaseServer); /** * increases the profile skill and updates any output diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairCategoriesService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairCategoriesService.d.ts index fb9efa2..09956cc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairCategoriesService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairCategoriesService.d.ts @@ -1,7 +1,7 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; export declare class RagfairCategoriesService { updateCategories(offers: IRagfairOffer[]): void; - private categories; + protected categories: Record; getCategories(): Record; getCategoryByItemId(itemId: string): number; resetCategories(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairLinkedItemService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairLinkedItemService.d.ts index 3dbcf6f..6c34ee0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairLinkedItemService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairLinkedItemService.d.ts @@ -1,9 +1,10 @@ import { DatabaseServer } from "../servers/DatabaseServer"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; export declare class RagfairLinkedItemService { - private databaseServer; - private linkedItemsCache; + protected databaseServer: DatabaseServer; + protected linkedItemsCache: Record>; constructor(databaseServer: DatabaseServer); getLinkedItems(linkedSearchId: string): Iterable; - private buildLinkedItemTable; - private getFilters; + protected buildLinkedItemTable(): void; + protected getFilters(item: ITemplateItem, slot: string): string[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairOfferService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairOfferService.d.ts index 9b1bf8d..7afbf8c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairOfferService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairOfferService.d.ts @@ -1,7 +1,9 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { Item } from "../models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -10,20 +12,20 @@ import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairOfferService { - private logger; - private timeUtil; - private databaseServer; - private saveServer; - private ragfairServerHelper; - private profileHelper; - private itemEventRouter; - private httpResponse; - private configServer; - private playerOffersLoaded; - private toUpdate; - private expiredOffers; - private offers; - private ragfairConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected ragfairServerHelper: RagfairServerHelper; + protected profileHelper: ProfileHelper; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected playerOffersLoaded: boolean; + protected toUpdate: Record; + protected expiredOffers: Item[]; + protected offers: IRagfairOffer[]; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); getOffers(): IRagfairOffer[]; getOfferByOfferId(offerId: string): IRagfairOffer; @@ -57,8 +59,8 @@ export declare class RagfairOfferService { * Get an array of stale offers that are still shown to player * @returns IRagfairOffer array */ - private getStaleOffers; - private isStale; - private processStaleOffer; - private returnPlayerOffer; + protected getStaleOffers(): IRagfairOffer[]; + protected isStale(offer: IRagfairOffer, time: number): boolean; + protected processStaleOffer(staleOffer: IRagfairOffer): void; + protected returnPlayerOffer(offer: IRagfairOffer): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairPriceService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairPriceService.d.ts index 7cdf854..5256b99 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairPriceService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairPriceService.d.ts @@ -3,20 +3,22 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { IRagfairServerPrices } from "../models/spt/ragfair/IRagfairServerPrices"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { RandomUtil } from "../utils/RandomUtil"; export declare class RagfairPriceService { - private handbookHelper; - private databaseServer; - private logger; - private itemHelper; - private presetHelper; - private randomUtil; - private configServer; - private ragfairConfig; - private prices; + protected handbookHelper: HandbookHelper; + protected databaseServer: DatabaseServer; + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected randomUtil: RandomUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + protected prices: IRagfairServerPrices; constructor(handbookHelper: HandbookHelper, databaseServer: DatabaseServer, logger: ILogger, itemHelper: ItemHelper, presetHelper: PresetHelper, randomUtil: RandomUtil, configServer: ConfigServer); generateStaticPrices(): void; generateDynamicPrices(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairRequiredItemsService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairRequiredItemsService.d.ts index e4582d0..b05fc65 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairRequiredItemsService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/RagfairRequiredItemsService.d.ts @@ -2,10 +2,10 @@ import { PaymentHelper } from "../helpers/PaymentHelper"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class RagfairRequiredItemsService { - private logger; - private paymentHelper; - private ragfairOfferService; - private requiredItemsCache; + protected logger: ILogger; + protected paymentHelper: PaymentHelper; + protected ragfairOfferService: RagfairOfferService; + protected requiredItemsCache: {}; constructor(logger: ILogger, paymentHelper: PaymentHelper, ragfairOfferService: RagfairOfferService); getRequiredItems(searchId: string): any; buildRequiredItemTable(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/TraderAssortService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/TraderAssortService.d.ts index ccb9e45..5ba2d05 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/TraderAssortService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/TraderAssortService.d.ts @@ -1,6 +1,6 @@ import { ITraderAssort } from "../models/eft/common/tables/ITrader"; export declare class TraderAssortService { - private pristineTraderAssorts; + protected pristineTraderAssorts: Record; getPristineTraderAssort(traderId: string): ITraderAssort; setPristineTraderAssort(traderId: string, assort: ITraderAssort): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/customPresetService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/customPresetService.d.ts new file mode 100644 index 0000000..84a8baf --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/customPresetService.d.ts @@ -0,0 +1,19 @@ +import { Preset } from "../models/eft/common/IGlobals"; +import { CustomPreset } from "../models/spt/services/CustomPreset"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomPresetService { + protected logger: ILogger; + private customPresets; + constructor(logger: ILogger); + /** + * Add custom preset to internal array + * @param presetKey presets key + * @param presetToAdd preset item to add + */ + add(presetKey: string, presetToAdd: Preset): void; + /** + * Get all custom presets + * @returns + */ + get(): CustomPreset[]; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/image/imageRouteService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/image/imageRouteService.d.ts index 854083c..29569b2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/image/imageRouteService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/image/imageRouteService.d.ts @@ -1,5 +1,5 @@ export declare class ImageRouteService { - private routes; + protected routes: Record; addRoute(urlKey: string, route: string): void; getByKey(urlKey: string): string; existsByKey(urlKey: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/onLoad/OnLoadModService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/onLoad/OnLoadModService.d.ts index 89bad14..f402103 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/onLoad/OnLoadModService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/onLoad/OnLoadModService.d.ts @@ -1,6 +1,6 @@ import { DependencyContainer } from "tsyringe"; export declare class OnLoadModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerOnLoad(name: string, onLoad: () => void, getRoute: () => string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/onUpdate/OnUpdateModService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/onUpdate/OnUpdateModService.d.ts index 32419f4..05d735b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/onUpdate/OnUpdateModService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/onUpdate/OnUpdateModService.d.ts @@ -1,6 +1,6 @@ import { DependencyContainer } from "tsyringe"; export declare class OnUpdateModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerOnUpdate(name: string, onUpdate: (timeSinceLastRun: number) => boolean, getRoute: () => string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/staticRouter/StaticRouterModService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/staticRouter/StaticRouterModService.d.ts index d4c42aa..f28fd45 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/staticRouter/StaticRouterModService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/services/mod/staticRouter/StaticRouterModService.d.ts @@ -1,7 +1,7 @@ import { DependencyContainer } from "tsyringe"; import { RouteAction } from "../../../di/Router"; export declare class StaticRouterModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerStaticRouter(name: string, routes: RouteAction[], topLevelRoute: string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/App.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/App.d.ts index a11f576..34c141e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/App.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/App.d.ts @@ -3,12 +3,12 @@ import { OnLoad } from "../di/OnLoad"; import { OnUpdate } from "../di/OnUpdate"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class App { - private logger; - private timeUtil; - private onLoadComponents; - private onUpdateComponents; - private onUpdateLastRun; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected onLoadComponents: OnLoad[]; + protected onUpdateComponents: OnUpdate[]; + protected onUpdateLastRun: {}; constructor(logger: ILogger, timeUtil: TimeUtil, onLoadComponents: OnLoad[], onUpdateComponents: OnUpdate[]); load(): void; - private update; + protected update(onUpdateComponents: OnUpdate[]): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/AyncQueue.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/AyncQueue.d.ts index a99aa37..da6ab18 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/AyncQueue.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/AyncQueue.d.ts @@ -1,7 +1,7 @@ import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { ICommand } from "../models/spt/utils/ICommand"; export declare class AsyncQueue implements IAsyncQueue { - private commandsQueue; + protected commandsQueue: ICommand[]; constructor(); waitFor(command: ICommand): Promise; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/DatabaseImporter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/DatabaseImporter.d.ts index 97dda30..24c1cd6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/DatabaseImporter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/DatabaseImporter.d.ts @@ -1,18 +1,52 @@ -import { VFS } from "./VFS"; -import { JsonUtil } from "./JsonUtil"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ImageRouter } from "../routers/ImageRouter"; import { OnLoad } from "../di/OnLoad"; +import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; import { ILogger } from "../models/spt/utils/ILogger"; +import { ImageRouter } from "../routers/ImageRouter"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { CustomHandbookItemService } from "../services/CustomHandbookItemService"; +import { CustomItemService } from "../services/CustomItemService"; +import { CustomPresetService } from "../services/customPresetService"; +import { CustomTraderAssortService } from "../services/CustomTraderAssortService"; +import { JsonUtil } from "./JsonUtil"; +import { VFS } from "./VFS"; export declare class DatabaseImporter extends OnLoad { - private logger; - private vfs; - private jsonUtil; - private databaseServer; - private imageRouter; - constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, imageRouter: ImageRouter); + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected customItemService: CustomItemService; + protected customTraderAssortService: CustomTraderAssortService; + protected customHandbookItemService: CustomHandbookItemService; + protected customPresetService: CustomPresetService; + protected imageRouter: ImageRouter; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, customItemService: CustomItemService, customTraderAssortService: CustomTraderAssortService, customHandbookItemService: CustomHandbookItemService, customPresetService: CustomPresetService, imageRouter: ImageRouter); onLoad(): void; + /** + * Read all json files in database folder and map into a json object + * @param filepath path to database folder + */ + protected hydrateDatabase(filepath: string): void; + /** + * Get all items added through CustomItemService and add to database.templates.items + * @param dataToImport db data to amend + */ + protected addCustomItemsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all assorts added through CustomTraderAssortService and add to database.traders[x].assort + * @param dataToImport db data to amend + */ + protected addCustomTraderAssortsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all custom handbook items added through CustomHandbookItemService and add to database.templates.handbook.items + * @param dataToImport db data to amend + */ + protected addCustomHandbookItemsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all custom preset items added through CustomPresetService and add to database.globals.ItemPresets + * @param dataToImport + */ + protected addCustomPresetsToDb(dataToImport: IDatabaseTables): void; getRoute(): string; - loadRecursive(filepath: string): any; + loadRecursive(filepath: string): IDatabaseTables; loadImages(filepath: string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/HashUtil.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/HashUtil.d.ts index cf92b47..bacbf2a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/HashUtil.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/HashUtil.d.ts @@ -2,7 +2,7 @@ import crypto from "crypto"; import { TimeUtil } from "./TimeUtil"; export declare class HashUtil { - private timeUtil; + protected timeUtil: TimeUtil; constructor(timeUtil: TimeUtil); generate(): string; generateMd5ForData(data: string): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/HttpResponseUtil.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/HttpResponseUtil.d.ts index 85c28bd..29502be 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/HttpResponseUtil.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/HttpResponseUtil.d.ts @@ -3,9 +3,9 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class HttpResponseUtil { - private jsonUtil; + protected jsonUtil: JsonUtil; constructor(jsonUtil: JsonUtil); - private clearString; + protected clearString(s: string): any; noBody(data: any): any; getBody(data: T, err?: number, errmsg?: any): IGetBodyResponseData; getUnclearedBody(data: any, err?: number, errmsg?: any): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/JsonUtil.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/JsonUtil.d.ts index 20b7448..71e95f6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/JsonUtil.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/JsonUtil.d.ts @@ -2,10 +2,10 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { HashUtil } from "./HashUtil"; import { VFS } from "./VFS"; export declare class JsonUtil { - private vfs; - private hashUtil; - private logger; - private fileHashes; + protected vfs: VFS; + protected hashUtil: HashUtil; + protected logger: ILogger; + protected fileHashes: any; constructor(vfs: VFS, hashUtil: HashUtil, logger: ILogger); /** * From object to string diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/Logger.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/Logger.d.ts index 9d5b32a..f5b774b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/Logger.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/Logger.d.ts @@ -1,18 +1,43 @@ /// import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; import { ILogger } from "../models/spt/utils/ILogger"; +import winston from "winston"; import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; import fs from "fs"; +interface SptLogger { + error: (msg: string | Record) => void; + warn: (msg: string | Record) => void; + succ?: (msg: string | Record) => void; + info: (msg: string | Record) => void; + debug: (msg: string | Record) => void; +} export declare class WinstonLogger implements ILogger { - private asyncQueue; - private uuidGenerator; - private showDebugInConsole; - private folderPath; - private file; - private filePath; - private logLevels; - private logger; + protected asyncQueue: IAsyncQueue; + protected uuidGenerator: IUUidGenerator; + protected showDebugInConsole: boolean; + protected folderPath: string; + protected file: string; + protected filePath: string; + protected logLevels: { + levels: { + error: number; + warn: number; + succ: number; + info: number; + custom: number; + debug: number; + }; + colors: { + error: string; + warn: string; + succ: string; + info: string; + custom: string; + debug: string; + }; + }; + protected logger: winston.Logger & SptLogger; writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; constructor(asyncQueue: IAsyncQueue, uuidGenerator: IUUidGenerator); writeToLogFile(data: string | Daum): Promise; @@ -23,3 +48,4 @@ export declare class WinstonLogger implements ILogger { info(data: string | Record): Promise; debug(data: string | Record, onlyShowInConsole?: boolean): Promise; } +export {}; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/ObjectId.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/ObjectId.d.ts index b100572..03aae56 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/ObjectId.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/ObjectId.d.ts @@ -1,13 +1,13 @@ /// import { TimeUtil } from "./TimeUtil"; export declare class ObjectId { - private timeUtil; + protected timeUtil: TimeUtil; constructor(timeUtil: TimeUtil); - private randomBytes; - private constglobalCounter; - private consttime; - private globalCounter; - private time; + protected randomBytes: Buffer; + protected constglobalCounter: number; + protected consttime: number; + protected globalCounter: number; + protected time: number; incGlobalCounter(): number; toHexString(byteArray: string | any[] | Buffer): string; generate(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/RandomUtil.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/RandomUtil.d.ts index 3a3ecb6..c24dd60 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/RandomUtil.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/RandomUtil.d.ts @@ -103,8 +103,8 @@ export declare class ProbabilityObject { constructor(key: K, relativeProbability: number, data?: V); } export declare class RandomUtil { - private jsonUtil; - private logger; + protected jsonUtil: JsonUtil; + protected logger: ILogger; constructor(jsonUtil: JsonUtil, logger: ILogger); getInt(min: number, max: number): number; getIntEx(max: number): number; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/VFS.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/VFS.d.ts index d567615..e5eaf02 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/VFS.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/VFS.d.ts @@ -1,11 +1,12 @@ /// +/// import "reflect-metadata"; import fs from "fs"; import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; export declare class VFS { - private asyncQueue; - private uuidGenerator; + protected asyncQueue: IAsyncQueue; + protected uuidGenerator: IUUidGenerator; accessFilePromisify: (path: fs.PathLike, mode?: number) => Promise; copyFilePromisify: (src: fs.PathLike, dst: fs.PathLike, flags?: number) => Promise; mkdirPromisify: (path: fs.PathLike, options: fs.MakeDirectoryOptions & { diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/Watermark.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/Watermark.d.ts index 3a8cb3a..111bdd0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/Watermark.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/types/utils/Watermark.d.ts @@ -1,20 +1,32 @@ +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; export declare class WatermarkLocale { - private locales; + protected locales: { + "en-US": { + description: string[]; + warning: string[]; + modding: string[]; + }; + "zh-CN": { + description: string[]; + warning: string[]; + modding: string[]; + }; + }; getLocale(): string; getDescription(): string[]; getWarning(): string[]; getModding(): string[]; } export declare class Watermark { - private logger; - private configServer; - private watermarkLocale?; - private akiConfig; + protected logger: ILogger; + protected configServer: ConfigServer; + protected watermarkLocale?: WatermarkLocale; + protected akiConfig: ICoreConfig; constructor(logger: ILogger, configServer: ConfigServer, watermarkLocale?: WatermarkLocale); - private text; - private versionLabel; + protected text: string[]; + protected versionLabel: string; initialize(): void; getVersionTag(): string; getVersionLabel(): string; @@ -25,5 +37,5 @@ export declare class Watermark { /** Draw the watermark */ draw(): void; /** Caculate text length */ - private textLength; + protected textLength(s: string): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/models/IConfig.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/models/IConfig.ts index dfd7a2a..99c708d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/models/IConfig.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/models/IConfig.ts @@ -27,6 +27,11 @@ export interface WeaponDurabilities maximumSpawnDurability: boolean | number; } +export interface ChangeIndividualItemProperty +{ + activated: boolean; + itemList: any; +} export interface Items { allExaminedItems: boolean; @@ -48,7 +53,7 @@ export interface Items removeItemDurabilityBurn: boolean; removeBulletWeaponDurabilityDamage: boolean; removeWeaponPresetRestriction: boolean; - changeIndividualItemProperty: any; + changeIndividualItemProperty: ChangeIndividualItemProperty; } export interface Hideout diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json index 4123d41..30ee5a7 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json @@ -1,6 +1,6 @@ { "name": "AllinOneMod", - "version": "3.0.0", + "version": "3.0.1", "main": "src/mod.js", "license": "CC-BY-NC-ND 4.0", "author": "Ereshkigal", diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts index 8038932..93965e1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts @@ -66,7 +66,7 @@ export class Items this.editSimpleItemData(id, "Deterioration", 0); } - if (this.configHandler.getConfig().items.removeWeaponPresetRestriction && !base._props.CanRequireOnRagfair && items[items[base._parent]._parent]._id === "5422acb9af1c889c16000029") + if (this.configHandler.getConfig().items.removeWeaponPresetRestriction && !base._props.CanRequireOnRagfair && items[base._parent]._id !== BaseClasses.ITEM && items[items[base._parent]._parent]._id === BaseClasses.WEAPON) { this.editSimpleItemData(id, "CanRequireOnRagfair", "true"); } @@ -388,9 +388,9 @@ export class Items if (this.configHandler.getConfig().items.changeIndividualItemProperty.activated) { //Edit item properties - if (this.configHandler.getConfig().items.changeIndividualItemProperty.ItemList !== {}) + if (this.configHandler.getConfig().items.changeIndividualItemProperty.itemList !== {}) { - for (const k in this.configHandler.getConfig().items.changeIndividualItemProperty.ItemList) + for (const k in this.configHandler.getConfig().items.changeIndividualItemProperty.itemList) { if (k === "__REPLACEMEBYITEMID__") { @@ -398,9 +398,9 @@ export class Items } else { - for (const property in this.configHandler.getConfig().items.changeIndividualItemProperty.ItemList[k]) + for (const property in this.configHandler.getConfig().items.changeIndividualItemProperty.itemList[k]) { - const value = this.configHandler.getConfig().items.changeIndividualItemProperty.ItemList[k][property]; + const value = this.configHandler.getConfig().items.changeIndividualItemProperty.itemList[k][property]; this.editSimpleItemData(k, property, value); } } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/Utils.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/Utils.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/BotCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/BotCallbacks.d.ts index 9602975..2db60dc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/BotCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/BotCallbacks.d.ts @@ -5,8 +5,8 @@ import { IBotBase } from "../models/eft/common/tables/IBotBase"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class BotCallbacks { - private botController; - private httpResponse; + protected botController: BotController; + protected httpResponse: HttpResponseUtil; constructor(botController: BotController, httpResponse: HttpResponseUtil); getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/BundleCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/BundleCallbacks.d.ts index b007ab8..b28abe1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/BundleCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/BundleCallbacks.d.ts @@ -1,15 +1,16 @@ import { BundleLoader } from "../loaders/BundleLoader"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class BundleCallbacks { - private logger; - private httpResponse; - private httpServer; - private bundleLoader; - private configServer; - private httpConfig; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected httpServer: IHttpServer; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, bundleLoader: BundleLoader, configServer: ConfigServer); sendBundle(sessionID: string, req: any, resp: any, body: any): any; getBundles(url: string, info: any, sessionID: string): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/CustomizationCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/CustomizationCallbacks.d.ts index 918b8b6..3bab8c0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/CustomizationCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/CustomizationCallbacks.d.ts @@ -9,9 +9,9 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class CustomizationCallbacks { - private customizationController; - private saveServer; - private httpResponse; + protected customizationController: CustomizationController; + protected saveServer: SaveServer; + protected httpResponse: HttpResponseUtil; constructor(customizationController: CustomizationController, saveServer: SaveServer, httpResponse: HttpResponseUtil); getSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<{ _id: string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/DataCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/DataCallbacks.d.ts index 018420e..cfb1c16 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/DataCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/DataCallbacks.d.ts @@ -12,8 +12,8 @@ import { ISettingsBase } from "../models/spt/server/ISettingsBase"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class DataCallbacks { - private httpResponse; - private databaseServer; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer); getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/DialogueCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/DialogueCallbacks.d.ts index 3b6fbd1..634f90b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/DialogueCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/DialogueCallbacks.d.ts @@ -21,10 +21,10 @@ import { HashUtil } from "../utils/HashUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class DialogueCallbacks extends OnUpdate { - private hashUtil; - private timeUtil; - private httpResponse; - private dialogueController; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected httpResponse: HttpResponseUtil; + protected dialogueController: DialogueController; constructor(hashUtil: HashUtil, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, dialogueController: DialogueController); getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/GameCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/GameCallbacks.d.ts index 44a30ea..d5cad76 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/GameCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/GameCallbacks.d.ts @@ -8,9 +8,9 @@ import { INullResponseData } from "../models/eft/httpResponse/INullResponseData" import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { Watermark } from "../utils/Watermark"; declare class GameCallbacks { - private httpResponse; - private watermark; - private gameController; + protected httpResponse: HttpResponseUtil; + protected watermark: Watermark; + protected gameController: GameController; constructor(httpResponse: HttpResponseUtil, watermark: Watermark, gameController: GameController); versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HandbookCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HandbookCallbacks.d.ts index 0db5fec..891e375 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HandbookCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HandbookCallbacks.d.ts @@ -1,7 +1,7 @@ import { HandbookController } from "../controllers/HandbookController"; import { OnLoad } from "../di/OnLoad"; export declare class HandbookCallbacks extends OnLoad { - private handbookController; + protected handbookController: HandbookController; constructor(handbookController: HandbookController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HealthCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HealthCallbacks.d.ts index a50dd42..8f7b89d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HealthCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HealthCallbacks.d.ts @@ -9,9 +9,9 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class HealthCallbacks { - private httpResponse; - private profileHelper; - private healthController; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected healthController: HealthController; constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HideoutCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HideoutCallbacks.d.ts index 3698176..99ab4c9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HideoutCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HideoutCallbacks.d.ts @@ -11,11 +11,12 @@ import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutTog import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class HideoutCallbacks extends OnUpdate { - private hideoutController; - private configServer; - private hideoutConfig; + protected hideoutController: HideoutController; + protected configServer: ConfigServer; + protected hideoutConfig: IHideoutConfig; constructor(hideoutController: HideoutController, // TODO: delay needed configServer: ConfigServer); upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HttpCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HttpCallbacks.d.ts index 9fe387d..94c97bd 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HttpCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/HttpCallbacks.d.ts @@ -1,7 +1,7 @@ import { OnLoad } from "../di/OnLoad"; import { IHttpServer } from "../models/spt/server/IHttpServer"; export declare class HttpCallbacks extends OnLoad { - private httpServer; + protected httpServer: IHttpServer; constructor(httpServer: IHttpServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InraidCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InraidCallbacks.d.ts index 2d53227..05bcce4 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InraidCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InraidCallbacks.d.ts @@ -3,14 +3,16 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IAirdropConfig } from "../models/spt/config/IAirdropConfig"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class InraidCallbacks { - private inraidController; - private httpResponse; - private configServer; - private airdropConfig; - private inraidConfig; + protected inraidController: InraidController; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected airdropConfig: IAirdropConfig; + protected inraidConfig: IInRaidConfig; constructor(inraidController: InraidController, httpResponse: HttpResponseUtil, configServer: ConfigServer); registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InsuranceCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InsuranceCallbacks.d.ts index 79feb67..520d0eb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InsuranceCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InsuranceCallbacks.d.ts @@ -5,15 +5,16 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { InsuranceService } from "../services/InsuranceService"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class InsuranceCallbacks extends OnLoadOnUpdate { - private insuranceController; - private insuranceService; - private httpResponse; - private configServer; - private insuranceConfig; + protected insuranceController: InsuranceController; + protected insuranceService: InsuranceService; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected insuranceConfig: IInsuranceConfig; constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer); onLoad(): void; getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InventoryCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InventoryCallbacks.d.ts index 9795aa0..9ab1486 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InventoryCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/InventoryCallbacks.d.ts @@ -18,7 +18,7 @@ import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryT import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class InventoryCallbacks { - private inventoryController; + protected inventoryController: InventoryController; constructor(inventoryController: InventoryController); moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ItemEventCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ItemEventCallbacks.d.ts index 74e79c4..f4f04f9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ItemEventCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ItemEventCallbacks.d.ts @@ -4,8 +4,8 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ItemEventRouter } from "../routers/ItemEventRouter"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class ItemEventCallbacks { - private httpResponse; - private itemEventRouter; + protected httpResponse: HttpResponseUtil; + protected itemEventRouter: ItemEventRouter; constructor(httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter); handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/LauncherCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/LauncherCallbacks.d.ts index 4bd5e2c..c022325 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/LauncherCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/LauncherCallbacks.d.ts @@ -8,10 +8,10 @@ import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { Watermark } from "../utils/Watermark"; declare class LauncherCallbacks { - private httpResponse; - private launcherController; - private saveServer; - private watermark; + protected httpResponse: HttpResponseUtil; + protected launcherController: LauncherController; + protected saveServer: SaveServer; + protected watermark: Watermark; constructor(httpResponse: HttpResponseUtil, launcherController: LauncherController, saveServer: SaveServer, watermark: Watermark); connect(): string; login(url: string, info: ILoginRequestData, sessionID: string): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/LocationCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/LocationCallbacks.d.ts index 5ecab74..cc69369 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/LocationCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/LocationCallbacks.d.ts @@ -6,8 +6,8 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class LocationCallbacks { - private httpResponse; - private locationController; + protected httpResponse: HttpResponseUtil; + protected locationController: LocationController; constructor(httpResponse: HttpResponseUtil, locationController: LocationController); getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/MatchCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/MatchCallbacks.d.ts index 63d38d9..083c1f5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/MatchCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/MatchCallbacks.d.ts @@ -9,10 +9,10 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class MatchCallbacks { - private httpResponse; - private jsonUtil; - private matchController; - private databaseServer; + protected httpResponse: HttpResponseUtil; + protected jsonUtil: JsonUtil; + protected matchController: MatchController; + protected databaseServer: DatabaseServer; constructor(httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, matchController: MatchController, databaseServer: DatabaseServer); updatePing(url: string, info: any, sessionID: string): INullResponseData; exitMatch(url: string, info: any, sessionID: string): INullResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ModCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ModCallbacks.d.ts index 2011f0e..866abf7 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ModCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ModCallbacks.d.ts @@ -1,16 +1,17 @@ import { OnLoad } from "../di/OnLoad"; import { DelayedModLoader } from "../loaders/DelayedModLoader"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; declare class ModCallbacks extends OnLoad { - private logger; - private httpResponse; - private httpServer; - private modLoader; - private configServer; - private httpConfig; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected httpServer: IHttpServer; + protected modLoader: DelayedModLoader; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/NoteCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/NoteCallbacks.d.ts index fd7c5ca..d39d400 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/NoteCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/NoteCallbacks.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { INoteActionData } from "../models/eft/notes/INoteActionData"; export declare class NoteCallbacks { - private noteController; + protected noteController: NoteController; constructor(noteController: NoteController); addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/NotifierCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/NotifierCallbacks.d.ts index 416e6a3..cd1e736 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/NotifierCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/NotifierCallbacks.d.ts @@ -6,9 +6,9 @@ import { INotifierChannel } from "../models/eft/notifier/INotifier"; import { ISelectProfileRequestData } from "../models/eft/notifier/ISelectProfileRequestData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class NotifierCallbacks { - private httpServerHelper; - private httpResponse; - private notifierController; + protected httpServerHelper: HttpServerHelper; + protected httpResponse: HttpResponseUtil; + protected notifierController: NotifierController; constructor(httpServerHelper: HttpServerHelper, httpResponse: HttpResponseUtil, notifierController: NotifierController); /** * If we don't have anything to send, it's ok to not send anything back @@ -16,7 +16,7 @@ export declare class NotifierCallbacks { * until we actually have something to send because otherwise we'd spam the client * and the client would abort the connection due to spam. */ - sendNotification(sessionID: string, req: any, resp: any, data: any): void; + sendNotification(_sessionID: string, req: any, resp: any, _data: any): void; getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData; createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/PresetBuildCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/PresetBuildCallbacks.d.ts index 639c33f..8a0c155 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/PresetBuildCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/PresetBuildCallbacks.d.ts @@ -6,8 +6,8 @@ import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPreset import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class PresetBuildCallbacks { - private httpResponse; - private presetBuildController; + protected httpResponse: HttpResponseUtil; + protected presetBuildController: PresetBuildController; constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController); getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/PresetCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/PresetCallbacks.d.ts index f62afd6..4553f8f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/PresetCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/PresetCallbacks.d.ts @@ -1,7 +1,7 @@ import { PresetController } from "../controllers/PresetController"; import { OnLoad } from "../di/OnLoad"; export declare class PresetCallbacks extends OnLoad { - private presetController; + protected presetController: PresetController; constructor(presetController: PresetController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ProfileCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ProfileCallbacks.d.ts index efce47d..116e7c5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ProfileCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/ProfileCallbacks.d.ts @@ -12,9 +12,9 @@ import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNic import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileCallbacks { - private httpResponse; - private timeUtil; - private profileController; + protected httpResponse: HttpResponseUtil; + protected timeUtil: TimeUtil; + protected profileController: ProfileController; constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, profileController: ProfileController); createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/QuestCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/QuestCallbacks.d.ts index f742096..559c29e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/QuestCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/QuestCallbacks.d.ts @@ -13,9 +13,9 @@ import { IListQuestsRequestData } from "../models/eft/quests/IListQuestsRequestD import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class QuestCallbacks { - private httpResponse; - private questController; - private repeatableQuestController; + protected httpResponse: HttpResponseUtil; + protected questController: QuestController; + protected repeatableQuestController: RepeatableQuestController; constructor(httpResponse: HttpResponseUtil, questController: QuestController, repeatableQuestController: RepeatableQuestController); changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/RagfairCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/RagfairCallbacks.d.ts index 152475f..d5bab8b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/RagfairCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/RagfairCallbacks.d.ts @@ -3,6 +3,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData"; import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; @@ -10,19 +11,20 @@ import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { RagfairServer } from "../servers/RagfairServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class RagfairCallbacks extends OnLoadOnUpdate { - private httpResponse; - private logger; - private jsonUtil; - private ragfairServer; - private ragfairController; - private configServer; - private ragfairConfig; + protected httpResponse: HttpResponseUtil; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected ragfairServer: RagfairServer; + protected ragfairController: RagfairController; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(httpResponse: HttpResponseUtil, logger: ILogger, jsonUtil: JsonUtil, ragfairServer: RagfairServer, ragfairController: RagfairController, configServer: ConfigServer); onLoad(): void; getRoute(): string; @@ -33,4 +35,5 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate { removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse; extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; onUpdate(timeSinceLastRun: number): boolean; + sendReport(url: string, info: any, sessionID: string): INullResponseData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/RepairCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/RepairCallbacks.d.ts index f63ec18..63733fa 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/RepairCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/RepairCallbacks.d.ts @@ -4,7 +4,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; export declare class RepairCallbacks { - private repairController; + protected repairController: RepairController; constructor(repairController: RepairController); traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/SaveCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/SaveCallbacks.d.ts index b7219a0..bbb6e53 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/SaveCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/SaveCallbacks.d.ts @@ -1,7 +1,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { SaveServer } from "../servers/SaveServer"; export declare class SaveCallbacks extends OnLoadOnUpdate { - private saveServer; + protected saveServer: SaveServer; constructor(saveServer: SaveServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/TradeCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/TradeCallbacks.d.ts index 9928951..272ae46 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/TradeCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/TradeCallbacks.d.ts @@ -4,7 +4,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; export declare class TradeCallbacks { - private tradeController; + protected tradeController: TradeController; constructor(tradeController: TradeController); processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/TraderCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/TraderCallbacks.d.ts index 2a8af7f..128d9b2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/TraderCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/TraderCallbacks.d.ts @@ -5,8 +5,8 @@ import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class TraderCallbacks extends OnLoadOnUpdate { - private httpResponse; - private traderController; + protected httpResponse: HttpResponseUtil; + protected traderController: TraderController; constructor(httpResponse: HttpResponseUtil, traderController: TraderController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/WeatherCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/WeatherCallbacks.d.ts index e40ab3e..ae784c8 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/WeatherCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/WeatherCallbacks.d.ts @@ -3,8 +3,8 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class WeatherCallbacks { - private httpResponse; - private weatherController; + protected httpResponse: HttpResponseUtil; + protected weatherController: WeatherController; constructor(httpResponse: HttpResponseUtil, weatherController: WeatherController); getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/WishlistCallbacks.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/WishlistCallbacks.d.ts index e0249fd..c2cc2a8 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/WishlistCallbacks.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/callbacks/WishlistCallbacks.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; export declare class WishlistCallbacks { - private wishlistController; + protected wishlistController: WishlistController; constructor(wishlistController: WishlistController); addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/BotController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/BotController.d.ts index 8ecb97f..09a1788 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/BotController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/BotController.d.ts @@ -4,17 +4,32 @@ import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequest import { IBotBase } from "../models/eft/common/tables/IBotBase"; import { IBotCore } from "../models/eft/common/tables/IBotCore"; import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class BotController { - private databaseServer; - private botGenerator; - private botHelper; - private configServer; - private botConfig; + protected databaseServer: DatabaseServer; + protected botGenerator: BotGenerator; + protected botHelper: BotHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, configServer: ConfigServer); - getBotLimit(type: string): number; - getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty; + /** + * Return the number of bot loadout varieties to be generated + * @param type bot Type we want the loadout gen count for + * @returns + */ + getBotPresetGenerationLimit(type: string): number; + getBotCoreDifficulty(): IBotCore; + /** + * Get bot difficulty settings + * adjust PMC settings to ensure they engage the correct bot types + * @param type what bot the server is requesting settings for + * @param difficulty difficulty level server requested settings for + * @returns Difficulty object + */ + getBotDifficulty(type: string, difficulty: string): Difficulty; + protected getPmcDifficultySettings(pmcType: "bear" | "usec", difficulty: string): Difficulty; generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; getBotCap(): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/CustomizationController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/CustomizationController.d.ts index 698e6be..a6c4730 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/CustomizationController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/CustomizationController.d.ts @@ -9,14 +9,14 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; export declare class CustomizationController { - private logger; - private itemEventRouter; - private databaseServer; - private saveServer; - private profileHelper; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper); getTraderSuits(traderID: string, sessionID: string): ISuit[]; wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; - private getAllTraderSuits; + protected getAllTraderSuits(sessionID: string): ISuit[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/DialogueController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/DialogueController.d.ts index 235594f..b15c4b6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/DialogueController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/DialogueController.d.ts @@ -3,13 +3,13 @@ import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachme import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { DialogueInfo } from "../models/eft/profile/IAkiProfile"; +import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile"; import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class DialogueController { - private httpResponse; - private saveServer; - private dialogueHelper; + protected httpResponse: HttpResponseUtil; + protected saveServer: SaveServer; + protected dialogueHelper: DialogueHelper; constructor(httpResponse: HttpResponseUtil, saveServer: SaveServer, dialogueHelper: DialogueHelper); getFriendList(sessionID: string): IGetFriendListDataResponse; generateDialogueList(sessionID: string): IGetBodyResponseData; @@ -19,7 +19,7 @@ export declare class DialogueController { setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void; setRead(dialogueIDs: string[], sessionID: string): void; getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse; - private messagesHaveUncollectedRewards; - private removeExpiredItems; + protected messagesHaveUncollectedRewards(messages: Message[]): boolean; + protected removeExpiredItems(sessionID: string): void; update(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/GameController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/GameController.d.ts index bb2a55a..7f632d6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/GameController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/GameController.d.ts @@ -1,28 +1,33 @@ +import { GameHelper } from "../helpers/GameHelper"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { Watermark } from "../utils/Watermark"; export declare class GameController { - private logger; - private watermark; - private httpServerHelper; - private profileHelper; - private configServer; - private httpConfig; - constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); + protected logger: ILogger; + protected watermark: Watermark; + protected httpServerHelper: HttpServerHelper; + protected profileHelper: ProfileHelper; + protected gameHelper: GameHelper; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, configServer: ConfigServer); gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void; - private addMissingBonusesProperty; - private addMissingRepeatableQuestsProperty; - private addMissingWeaponRepairSkill; - private addMissingAkiVersionTagToProfile; - private addMissingArmorRepairSkill; - private fixNullTraderSalesSums; - private removeDanglingConditionCounters; - private removeDanglingBackendCounters; + protected addMissingBonusesProperty(pmcProfile: IPmcData): void; + protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; + protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void; + protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; + protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void; + protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; + protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; getGameConfig(sessionID: string): IGameConfigResponse; getServer(): any[]; - private getActiveRepeatableQuests; + protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HandbookController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HandbookController.d.ts index f473437..52d2dd8 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HandbookController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HandbookController.d.ts @@ -1,8 +1,8 @@ import { HandbookHelper } from "../helpers/HandbookHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class HandbookController { - private databaseServer; - private handbookHelper; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper); load(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HealthController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HealthController.d.ts index ca049f6..aafb8df 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HealthController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HealthController.d.ts @@ -11,12 +11,12 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class HealthController { - private logger; - private itemEventRouter; - private itemHelper; - private paymentService; - private inventoryHelper; - private healthHelper; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected itemHelper: ItemHelper; + protected paymentService: PaymentService; + protected inventoryHelper: InventoryHelper; + protected healthHelper: HealthHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper); saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HideoutController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HideoutController.d.ts index f35c23b..f2930ff 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HideoutController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/HideoutController.d.ts @@ -3,10 +3,12 @@ import { InventoryHelper } from "../helpers/InventoryHelper"; import { PaymentHelper } from "../helpers/PaymentHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; +import { HideoutArea, IPmcData, Product } from "../models/eft/common/IPmcData"; import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; @@ -14,6 +16,7 @@ import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideou import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -25,32 +28,41 @@ import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class HideoutController { - private logger; - private hashUtil; - private timeUtil; - private databaseServer; - private randomUtil; - private inventoryHelper; - private saveServer; - private playerService; - private presetHelper; - private paymentHelper; - private itemEventRouter; - private httpResponse; - private profileHelper; - private hideoutHelper; - private configServer; - private hideoutConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected inventoryHelper: InventoryHelper; + protected saveServer: SaveServer; + protected playerService: PlayerService; + protected presetHelper: PresetHelper; + protected paymentHelper: PaymentHelper; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected hideoutHelper: HideoutHelper; + protected configServer: ConfigServer; + protected hideoutConfig: IHideoutConfig; constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, configServer: ConfigServer); upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + protected removeItemFromGenerator(sessionID: string, pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, output: IItemEventRouterResponse, hideoutArea: HideoutArea): IItemEventRouterResponse; toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + protected getRandomisedItemRarityCounter(recipe: IHideoutScavCase): { + [x: string]: number; + }; + protected getRandomisedScavRewards(rarityItemCounter: { + [x: string]: number; + }): Product[]; continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + protected handleRecipie(sessionID: string, recipe: IHideoutProduction, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; + protected handleScavCase(sessionID: string, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; update(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InraidController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InraidController.d.ts index c1cd6f5..7f2036c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InraidController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InraidController.d.ts @@ -6,24 +6,25 @@ import { QuestHelper } from "../helpers/QuestHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { InsuranceService } from "../services/InsuranceService"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InraidController { - private saveServer; - private jsonUtil; - private databaseServer; - private questHelper; - private itemHelper; - private extendedProfileHelper; - private healthHelper; - private traderHelper; - private insuranceService; - private inRaidHelper; - private configServer; - private inraidConfig; + protected saveServer: SaveServer; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + protected itemHelper: ItemHelper; + protected extendedProfileHelper: ExtendedProfileHelper; + protected healthHelper: HealthHelper; + protected traderHelper: TraderHelper; + protected insuranceService: InsuranceService; + protected inRaidHelper: InRaidHelper; + protected configServer: ConfigServer; + protected inraidConfig: IInRaidConfig; constructor(saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, extendedProfileHelper: ExtendedProfileHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, configServer: ConfigServer); addPlayer(sessionID: string, info: IRegisterPlayerRequestData): void; saveProgress(offraidData: ISaveProgressRequestData, sessionID: string): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InsuranceController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InsuranceController.d.ts index b175a06..db2c567 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InsuranceController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InsuranceController.d.ts @@ -5,6 +5,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -15,19 +16,19 @@ import { PaymentService } from "../services/PaymentService"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class InsuranceController { - private logger; - private randomUtil; - private itemEventRouter; - private timeUtil; - private saveServer; - private databaseServer; - private itemHelper; - private profileHelper; - private dialogueHelper; - private paymentService; - private insuranceService; - private configServer; - private insuranceConfig; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected itemEventRouter: ItemEventRouter; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected profileHelper: ProfileHelper; + protected dialogueHelper: DialogueHelper; + protected paymentService: PaymentService; + protected insuranceService: InsuranceService; + protected configServer: ConfigServer; + protected insuranceConfig: IInsuranceConfig; constructor(logger: ILogger, randomUtil: RandomUtil, itemEventRouter: ItemEventRouter, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, // TODO: delay required insuranceService: InsuranceService, configServer: ConfigServer); processReturn(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InventoryController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InventoryController.d.ts index 8235082..b732aa9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InventoryController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/InventoryController.d.ts @@ -27,15 +27,15 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InventoryController { - private logger; - private hashUtil; - private jsonUtil; - private databaseServer; - private presetHelper; - private inventoryHelper; - private profileHelper; - private paymentHelper; - private itemEventRouter; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected presetHelper: PresetHelper; + protected inventoryHelper: InventoryHelper; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemEventRouter: ItemEventRouter; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); /** * Move Item diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/LauncherController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/LauncherController.d.ts index 2a30713..1af1f56 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/LauncherController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/LauncherController.d.ts @@ -3,23 +3,24 @@ import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; import { IRegisterData } from "../models/eft/launcher/IRegisterData"; import { Info } from "../models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; export declare class LauncherController { - private hashUtil; - private saveServer; - private httpServerHelper; - private databaseServer; - private configServer; - private coreConfig; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected httpServerHelper: HttpServerHelper; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected coreConfig: ICoreConfig; constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, databaseServer: DatabaseServer, configServer: ConfigServer); connect(): any; find(sessionIdKey: string): Info; login(info: ILoginRequestData): string; register(info: IRegisterData): string; - private createAccount; + protected createAccount(info: IRegisterData): string; changeUsername(info: IChangeRequestData): string; changePassword(info: IChangeRequestData): string; wipe(info: IRegisterData): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/LocationController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/LocationController.d.ts index 41a8719..90b6d7a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/LocationController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/LocationController.d.ts @@ -6,11 +6,11 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class LocationController { - private jsonUtil; - private logger; - private locationGenerator; - private databaseServer; - private timeUtil; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected locationGenerator: LocationGenerator; + protected databaseServer: DatabaseServer; + protected timeUtil: TimeUtil; constructor(jsonUtil: JsonUtil, logger: ILogger, locationGenerator: LocationGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil); get(location: string): ILocationBase; generate(name: string): ILocationBase; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/MatchController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/MatchController.d.ts index 84abbe3..c322d96 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/MatchController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/MatchController.d.ts @@ -4,21 +4,23 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; +import { IMatchConfig } from "../models/spt/config/IMatchConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; import { MatchLocationService } from "../services/MatchLocationService"; export declare class MatchController { - private saveServer; - private profileHelper; - private matchLocationService; - private traderHelper; - private configServer; - private matchConfig; - private inraidConfig; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected matchLocationService: MatchLocationService; + protected traderHelper: TraderHelper; + protected configServer: ConfigServer; + protected matchConfig: IMatchConfig; + protected inraidConfig: IInRaidConfig; constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); getEnabled(): boolean; getProfile(info: IGetProfileRequestData): IPmcData[]; - private getMatch; + protected getMatch(location: any): any; createGroup(sessionID: string, info: any): any; deleteGroup(info: any): void; joinMatch(info: any, sessionID: string): any[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/NoteController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/NoteController.d.ts index 4d3420e..cc78383 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/NoteController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/NoteController.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { INoteActionData } from "../models/eft/notes/INoteActionData"; import { ItemEventRouter } from "../routers/ItemEventRouter"; declare class NoteController { - private itemEventRouter; + protected itemEventRouter: ItemEventRouter; constructor(itemEventRouter: ItemEventRouter); addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/NotifierController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/NotifierController.d.ts index 36fef66..31d7bfe 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/NotifierController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/NotifierController.d.ts @@ -3,11 +3,11 @@ import { NotificationService } from "../services/NotificationService"; import { INotifierChannel } from "../models/eft/notifier/INotifier"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; export declare class NotifierController { - private notifierHelper; - private httpServerHelper; - private notificationService; - private pollInterval; - private timeout; + protected notifierHelper: NotifierHelper; + protected httpServerHelper: HttpServerHelper; + protected notificationService: NotificationService; + protected pollInterval: number; + protected timeout: number; constructor(notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, notificationService: NotificationService); /** * Resolve an array of session notifications. diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/PresetBuildController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/PresetBuildController.d.ts index 11c5c3e..adf4084 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/PresetBuildController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/PresetBuildController.d.ts @@ -7,10 +7,10 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; export declare class PresetBuildController { - private hashUtil; - private itemEventRouter; - private itemHelper; - private saveServer; + protected hashUtil: HashUtil; + protected itemEventRouter: ItemEventRouter; + protected itemHelper: ItemHelper; + protected saveServer: SaveServer; constructor(hashUtil: HashUtil, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, saveServer: SaveServer); getUserBuilds(sessionID: string): WeaponBuild[]; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/PresetController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/PresetController.d.ts index 6ec8c55..ca1af1a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/PresetController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/PresetController.d.ts @@ -1,8 +1,8 @@ import { PresetHelper } from "../helpers/PresetHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PresetController { - private presetHelper; - private databaseServer; + protected presetHelper: PresetHelper; + protected databaseServer: DatabaseServer; constructor(presetHelper: PresetHelper, databaseServer: DatabaseServer); initialize(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/ProfileController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/ProfileController.d.ts index c8bd5f1..9b7a6d5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/ProfileController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/ProfileController.d.ts @@ -14,13 +14,13 @@ import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileController { - private hashUtil; - private timeUtil; - private saveServer; - private databaseServer; - private itemHelper; - private traderHelper; - private extendedProfileHelper; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected traderHelper: TraderHelper; + protected extendedProfileHelper: ExtendedProfileHelper; constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); getMiniProfiles(): IMiniProfile[]; getMiniProfile(sessionID: string): any; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/QuestController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/QuestController.d.ts index d8caee5..c00cd6d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/QuestController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/QuestController.d.ts @@ -4,11 +4,12 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { QuestConditionHelper } from "../helpers/QuestConditionHelper"; import { QuestHelper } from "../helpers/QuestHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; -import { IQuest } from "../models/eft/common/tables/IQuest"; +import { IQuest, Reward } from "../models/eft/common/tables/IQuest"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -16,22 +17,58 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { PlayerService } from "../services/PlayerService"; import { TimeUtil } from "../utils/TimeUtil"; export declare class QuestController { - private logger; - private timeUtil; - private itemEventRouter; - private databaseServer; - private itemHelper; - private dialogueHelper; - private profileHelper; - private questHelper; - private questConditionHelper; - private playerService; - private configServer; - private questConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected dialogueHelper: DialogueHelper; + protected profileHelper: ProfileHelper; + protected questHelper: QuestHelper; + protected questConditionHelper: QuestConditionHelper; + protected playerService: PlayerService; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer); + /** + * Get all quests visible to player + * Exclude quests with incomplete preconditions (level/loyalty) + * @param sessionID session id + * @returns array of IQuest + */ getClientQuests(sessionID: string): IQuest[]; acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Remove completed quest from profile + * Add newly unlocked quests to profile + * Also recalculate thier level due to exp rewards + * @param pmcData Player profile + * @param body completed quest request + * @param sessionID session id + * @returns ItemEvent response + */ completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Send a popup to player on completion of a quest + * @param sessionID session id + * @param pmcData player profile + * @param completedQuestId completed quest id + * @param questRewards rewards given to player + */ + protected sendDialogMessageOnQuestComplete(sessionID: string, pmcData: IPmcData, completedQuestId: string, questRewards: Reward[]): void; + /** + * Returns a list of quests that should be failed when a quest is completed + * @param completedQuestId quest completed id + * @returns array of quests + */ + protected getQuestsFailedByCompletingQuest(completedQuestId: string): IQuest[]; + /** + * Fail the quests provided + * @param sessionID session id + * @param pmcData player profile + * @param questsToFail quests to fail + */ + protected failQuests(sessionID: string, pmcData: IPmcData, questsToFail: IQuest[]): void; handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RagfairController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RagfairController.d.ts index 5b94a95..c758593 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RagfairController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RagfairController.d.ts @@ -20,6 +20,7 @@ import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPric import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -33,30 +34,30 @@ import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsSer import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairController { - private logger; - private timeUtil; - private httpResponse; - private itemEventRouter; - private ragfairServer; - private ragfairPriceService; - private databaseServer; - private itemHelper; - private saveServer; - private ragfairSellHelper; - private ragfairTaxHelper; - private ragfairSortHelper; - private ragfairOfferHelper; - private profileHelper; - private paymentService; - private handbookHelper; - private paymentHelper; - private inventoryHelper; - private ragfairHelper; - private ragfairOfferService; - private ragfairRequiredItemsService; - private ragfairOfferGenerator; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected httpResponse: HttpResponseUtil; + protected itemEventRouter: ItemEventRouter; + protected ragfairServer: RagfairServer; + protected ragfairPriceService: RagfairPriceService; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected saveServer: SaveServer; + protected ragfairSellHelper: RagfairSellHelper; + protected ragfairTaxHelper: RagfairTaxHelper; + protected ragfairSortHelper: RagfairSortHelper; + protected ragfairOfferHelper: RagfairOfferHelper; + protected profileHelper: ProfileHelper; + protected paymentService: PaymentService; + protected handbookHelper: HandbookHelper; + protected paymentHelper: PaymentHelper; + protected inventoryHelper: InventoryHelper; + protected ragfairHelper: RagfairHelper; + protected ragfairOfferService: RagfairOfferService; + protected ragfairRequiredItemsService: RagfairRequiredItemsService; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer); getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult; update(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RepairController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RepairController.d.ts index 77dd47a..330684d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RepairController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RepairController.d.ts @@ -5,21 +5,23 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; +import { IRepairConfig } from "../models/spt/config/IRepairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { PaymentService } from "../services/PaymentService"; export declare class RepairController { - private logger; - private itemEventRouter; - private databaseServer; - private questHelper; - private traderHelper; - private paymentService; - private repairHelper; - private configServer; - private repairConfig; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + protected traderHelper: TraderHelper; + protected paymentService: PaymentService; + protected repairHelper: RepairHelper; + protected configServer: ConfigServer; + protected repairConfig: IRepairConfig; + protected readonly WEAPON_SKILL_REPAIR_GAIN: number; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, questHelper: QuestHelper, traderHelper: TraderHelper, paymentService: PaymentService, repairHelper: RepairHelper, configServer: ConfigServer); /** * Repair with trader @@ -36,5 +38,5 @@ export declare class RepairController { * @param sessionID session id * @returns item event router action */ - repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; + repairWithKit(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RepeatableQuestController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RepeatableQuestController.d.ts index 2dedc7e..9aa9590 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RepeatableQuestController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/RepeatableQuestController.d.ts @@ -1,3 +1,4 @@ +import { GameHelper } from "../helpers/GameHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; @@ -9,7 +10,7 @@ import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationConditi import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "../models/enums/ELocationName"; -import { IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IQuestConfig, IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -48,22 +49,23 @@ export interface ITargetLocation { locations: string[]; } export declare class RepeatableQuestController { - private timeUtil; - private logger; - private randomUtil; - private mathUtil; - private jsonUtil; - private databaseServer; - private itemHelper; - private presetHelper; - private profileHelper; - private ragfairServerHelper; - private itemEventRouter; - private paymentService; - private objectId; - private configServer; - private questConfig; - constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); + protected timeUtil: TimeUtil; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected mathUtil: MathUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected gameHelper: GameHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected itemEventRouter: ItemEventRouter; + protected paymentService: PaymentService; + protected objectId: ObjectId; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); /** * This is the method reached by the /client/repeatalbeQuests/activityPeriods endpoint * Returns an array of objects in the format of repeatable quests to the client. diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/TradeController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/TradeController.d.ts index f0a177b..c86745c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/TradeController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/TradeController.d.ts @@ -9,11 +9,11 @@ import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTr import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ILogger } from "../models/spt/utils/ILogger"; declare class TradeController { - private logger; - private itemEventRouter; - private tradeHelper; - private profileHelper; - private ragfairServer; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected tradeHelper: TradeHelper; + protected profileHelper: ProfileHelper; + protected ragfairServer: RagfairServer; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, tradeHelper: TradeHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer); confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse; confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/TraderController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/TraderController.d.ts index 36eac75..7bab158 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/TraderController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/TraderController.d.ts @@ -8,14 +8,14 @@ import { TraderAssortService } from "../services/TraderAssortService"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class TraderController { - private logger; - private databaseServer; - private traderAssortHelper; - private profileHelper; - private traderHelper; - private timeUtil; - private traderAssortService; - private jsonUtil; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected traderAssortHelper: TraderAssortHelper; + protected profileHelper: ProfileHelper; + protected traderHelper: TraderHelper; + protected timeUtil: TimeUtil; + protected traderAssortService: TraderAssortService; + protected jsonUtil: JsonUtil; constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, jsonUtil: JsonUtil); load(): void; getTrader(traderID: string, sessionID: string): ITraderBase; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/WeatherController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/WeatherController.d.ts index 312c3a3..ca7f5eb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/WeatherController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/WeatherController.d.ts @@ -1,10 +1,11 @@ import { WeatherGenerator } from "../generators/WeatherGenerator"; import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class WeatherController { - private weatherGenerator; - private configServer; - private weatherConfig; + protected weatherGenerator: WeatherGenerator; + protected configServer: ConfigServer; + protected weatherConfig: IWeatherConfig; constructor(weatherGenerator: WeatherGenerator, configServer: ConfigServer); generate(): IWeatherData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/WishlistController.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/WishlistController.d.ts index 5ef8df3..a96c522 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/WishlistController.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/controllers/WishlistController.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class WishlistController { - private itemEvenRouter; + protected itemEvenRouter: ItemEventRouter; constructor(itemEvenRouter: ItemEventRouter); addToWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotGenerator.d.ts index e2565b7..88a8014 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotGenerator.d.ts @@ -1,7 +1,10 @@ import { BotHelper } from "../helpers/BotHelper"; import { GameEventHelper } from "../helpers/GameEventHelper"; import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { Health as PmcHealth } from "../models/eft/common/IPmcData"; import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { Health, Inventory, Skills } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -9,28 +12,35 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { BotInventoryGenerator } from "./BotInventoryGenerator"; +declare namespace BotGenerator { + interface IRandomisedBotLevelResult { + level: number; + exp: number; + } +} export declare class BotGenerator { - private logger; - private hashUtil; - private randomUtil; - private jsonUtil; - private databaseServer; - private botInventoryGenerator; - private botHelper; - private gameEventHelper; - private configServer; - private botConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected botInventoryGenerator: BotInventoryGenerator; + protected botHelper: BotHelper; + protected gameEventHelper: GameEventHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, botInventoryGenerator: BotInventoryGenerator, botHelper: BotHelper, gameEventHelper: GameEventHelper, configServer: ConfigServer); generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; - private generateBot; - private generateRandomLevel; + protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase; + protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult; /** Converts health object to the required format */ - private generateHealth; - private generateSkills; - private getPmcRole; - private removeChristmasItemsFromBotInventory; - private generateId; - private generateInventoryID; - private getPMCDifficulty; - private generateDogtag; + protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth; + protected generateSkills(skillsObj: Skills): Skills; + protected getPmcRole(pmcSide: string): string; + protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void; + protected generateId(bot: IBotBase): IBotBase; + protected generateInventoryID(profile: IBotBase): IBotBase; + protected getPMCDifficulty(requestedDifficulty: string): string; + protected generateDogtag(bot: IBotBase): IBotBase; } +export {}; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotInventoryGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotInventoryGenerator.d.ts index 0cdbacb..783d0c5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotInventoryGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotInventoryGenerator.d.ts @@ -1,5 +1,5 @@ import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; -import { Inventory, Chances, Generation } from "../models/eft/common/tables/IBotType"; +import { Inventory, Chances, Generation, Mods } from "../models/eft/common/tables/IBotType"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; @@ -9,16 +9,16 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; export declare class BotInventoryGenerator { - private logger; - private hashUtil; - private randomUtil; - private databaseServer; - private botWeaponGenerator; - private botLootGenerator; - private botGeneratorHelper; - private weightedRandomHelper; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected botWeaponGenerator: BotWeaponGenerator; + protected botLootGenerator: BotLootGenerator; + protected botGeneratorHelper: BotGeneratorHelper; + protected weightedRandomHelper: WeightedRandomHelper; constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, weightedRandomHelper: WeightedRandomHelper); generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; - private generateEquipment; - private generateInventoryBase; + protected generateEquipment(equipmentSlot: string, equipmentPool: Record, modPool: Mods, spawnChances: Chances, botRole: string, inventory: PmcInventory): void; + protected generateInventoryBase(): PmcInventory; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotLootGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotLootGenerator.d.ts index 1d8c8e1..1d91836 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotLootGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotLootGenerator.d.ts @@ -3,25 +3,27 @@ import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { HandbookHelper } from "../helpers/HandbookHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotLootGenerator { - private jsonUtil; - private hashUtil; - private randomUtil; - private databaseServer; - private handbookHelper; - private botGeneratorHelper; - private pmcLootGenerator; - private configServer; - private botConfig; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected botGeneratorHelper: BotGeneratorHelper; + protected pmcLootGenerator: PMCLootGenerator; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer); generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void; - private getRandomisedCount; - private addLootFromPool; + protected getRandomisedCount(min: number, max: number, nValue: number): number; + protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void; /** Compares two item templates by their price to spawn chance ratio */ - private compareByValue; + protected compareByValue(a: ITemplateItem, b: ITemplateItem): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotWeaponGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotWeaponGenerator.d.ts index e8f91cb..a43b18c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotWeaponGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/BotWeaponGenerator.d.ts @@ -2,43 +2,87 @@ import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; -import { MinMax, Mods, ModsChances } from "../models/eft/common/tables/IBotType"; +import { Inventory, MinMax, ModsChances } from "../models/eft/common/tables/IBotType"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotWeaponGenerator { - private logger; - private hashUtil; - private databaseServer; - private itemHelper; - private weightedRandomHelper; - private botGeneratorHelper; - private randomUtil; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected weightedRandomHelper: WeightedRandomHelper; + protected botGeneratorHelper: BotGeneratorHelper; + protected randomUtil: RandomUtil; + private readonly modMagazineSlotId; constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); - generateWeapon(equipmentSlot: string, weaponPool: Record, modPool: Mods, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; + generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; + /** + * Get the mods necessary to kit out a weapon to its preset level + * @param weaponTpl weapon to find preset for + * @param equipmentSlot the slot the weapon will be placed in + * @param weaponParentId + * @returns array of weapon mods + */ + protected getPresetWeaponMods(weaponTpl: string, equipmentSlot: string, weaponParentId: string, itemTemplate: ITemplateItem, botRole: string): Item[]; /** Checks if all required slots are occupied on a weapon and all it's mods */ - private isWeaponValid; + protected isWeaponValid(itemList: Item[]): boolean; /** - * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. - * Additionally, adds extra bullets to SecuredContainer - * - * @param {*} weaponMods - * @param {*} weaponTemplate - * @param {*} magCounts - * @param {*} ammoTpl - * @returns - */ - private generateExtraMagazines; - private addBullets; + * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. + * Additionally, adds extra bullets to SecuredContainer + * @param weaponMods + * @param weaponTemplate + * @param magCounts + * @param ammoTpl + * @param inventory + * @returns + */ + protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void; /** - * Finds and returns tpl of ammo that should be used, while making sure it's compatible + * Get a randomised count of magazines + * @param magCounts min and max value returned value can be between + * @returns numberical value of magazine count + */ + protected getRandomisedMagazineCount(magCounts: MinMax): number; + /** + * Add ammo to the secure container + * @param stackCount How many stacks of ammo to add + * @param ammoTpl Ammo type to add + * @param stackSize Size of the ammo stack to add + * @param inventory Player inventory + */ + protected addAmmoToSecureContainer(stackCount: number, ammoTpl: string, stackSize: number, inventory: PmcInventory): void; + /** + * Get a weapons magazine tpl from a weapon template + * @param weaponMods mods from a weapon template + * @param weaponTemplate Weapon to get magazine tpl for + * @returns magazine tpl string + */ + protected getMagazineTplFromWeaponTemplate(weaponMods: Item[], weaponTemplate: ITemplateItem): string; + protected addBulletsToVestAndPockets(ammoTpl: string, bulletCount: number, inventory: PmcInventory): void; + /** + * Finds and returns compatible ammo tpl * * @param {*} weaponMods * @param {*} weaponTemplate - * @returns + * @returns compatible ammo tpl */ - private getCompatibleAmmo; - /** Fill existing magazines to full, while replacing their contents with specified ammo */ - private fillExistingMagazines; + protected getCompatibleAmmo(weaponMods: Item[], weaponTemplate: ITemplateItem): string; + /** + * Fill existing magazines to full, while replacing their contents with specified ammo + * @param weaponMods + * @param magazine + * @param ammoTpl + */ + protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void; + /** + * Fill each Camora with a bullet + * @param weaponMods Weapon mods to find and update camora mod(s) from + * @param magazineId magazine id to find and add to + * @param ammoTpl ammo template id to hydate with + */ + protected fillCamorasWithAmmo(weaponMods: Item[], magazineId: string, ammoTpl: string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/LocationGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/LocationGenerator.d.ts index 4b96792..bd368b5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/LocationGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/LocationGenerator.d.ts @@ -6,6 +6,8 @@ import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { ILooseLoot, SpawnpointTemplate } from "../models/eft/common/ILooseLoot"; import { Item } from "../models/eft/common/tables/IItem"; import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILocationConfig } from "../models/spt/config/ILocationConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { JsonUtil } from "../utils/JsonUtil"; @@ -18,27 +20,27 @@ export interface IContainerItem { height: number; } export declare class LocationGenerator { - private logger; - private jsonUtil; - private objectId; - private randomUtil; - private ragfairServerHelper; - private itemHelper; - private mathUtil; - private gameEventHelper; - private containerHelper; - private presetHelper; - private configServer; - private locationConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected objectId: ObjectId; + protected randomUtil: RandomUtil; + protected ragfairServerHelper: RagfairServerHelper; + protected itemHelper: ItemHelper; + protected mathUtil: MathUtil; + protected gameEventHelper: GameEventHelper; + protected containerHelper: ContainerHelper; + protected presetHelper: PresetHelper; + protected configServer: ConfigServer; + protected locationConfig: ILocationConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, gameEventHelper: GameEventHelper, containerHelper: ContainerHelper, presetHelper: PresetHelper, configServer: ConfigServer); generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record, staticAmmoDist: Record, locationName: string): IStaticContainerProps; - private getLooseLootMultiplerForLocation; - private getStaticLootMultiplerForLocation; + protected getLooseLootMultiplerForLocation(location: string): number; + protected getStaticLootMultiplerForLocation(location: string): number; generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): SpawnpointTemplate[]; - private createItem; - private getRandomCompatibleCaliberTemplateId; - private getRandomValidCaliber; - private drawAmmoTpl; - private createRandomMagCartridges; - private createCartidges; + protected createItem(tpl: string, staticAmmoDist: Record, parentId?: string): IContainerItem; + protected getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string; + protected getRandomValidCaliber(magTemplate: ITemplateItem): string; + protected drawAmmoTpl(caliber: string, staticAmmoDist: Record): string; + protected createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record, caliber?: string): Item; + protected createCartidges(parentId: string, ammoTpl: string, stackCount: number): Item; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/PMCLootGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/PMCLootGenerator.d.ts index 601431b..64e6f7f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/PMCLootGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/PMCLootGenerator.d.ts @@ -1,13 +1,14 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; import { ConfigServer } from "../servers/ConfigServer"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; export declare class PMCLootGenerator { - private itemHelper; - private databaseServer; - private configServer; - private pocketLootPool; - private backpackLootPool; - private botConfig; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected pocketLootPool: string[]; + protected backpackLootPool: string[]; + protected botConfig: IBotConfig; constructor(itemHelper: ItemHelper, databaseServer: DatabaseServer, configServer: ConfigServer); generatePMCPocketLootPool(): string[]; generatePMCBackpackLootPool(): string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/RagfairAssortGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/RagfairAssortGenerator.d.ts index 06d3250..cbdd7f2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/RagfairAssortGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/RagfairAssortGenerator.d.ts @@ -4,22 +4,22 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class RagfairAssortGenerator { - private jsonUtil; - private hashUtil; - private itemHelper; - private databaseServer; - private generatedAssortItems; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected generatedAssortItems: Item[]; constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer); /** * Get an array of unique items that can be sold on the flea * @returns array of unique items */ getAssortItems(): Item[]; - private assortsAreGenerated; + protected assortsAreGenerated(): boolean; /** * Generate an array of items the flea can sell * @returns array of unique items */ - private generateRagfairAssortItems; - private createRagfairAssortItem; + protected generateRagfairAssortItems(): Item[]; + protected createRagfairAssortItem(tplId: string, id?: string): Item; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/RagfairOfferGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/RagfairOfferGenerator.d.ts index e3fbe4a..de53ea9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/RagfairOfferGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/RagfairOfferGenerator.d.ts @@ -2,8 +2,10 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -17,37 +19,40 @@ import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; import { RagfairAssortGenerator } from "./RagfairAssortGenerator"; export declare class RagfairOfferGenerator { - private logger; - private jsonUtil; - private hashUtil; - private randomUtil; - private timeUtil; - private databaseServer; - private ragfairServerHelper; - private saveServer; - private presetHelper; - private ragfairAssortGenerator; - private ragfairOfferService; - private ragfairPriceService; - private fenceService; - private itemHelper; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected ragfairServerHelper: RagfairServerHelper; + protected saveServer: SaveServer; + protected presetHelper: PresetHelper; + protected ragfairAssortGenerator: RagfairAssortGenerator; + protected ragfairOfferService: RagfairOfferService; + protected ragfairPriceService: RagfairPriceService; + protected fenceService: FenceService; + protected itemHelper: ItemHelper; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; - private getTraderId; - private getRating; - private getRatingGrowing; - private getOfferEndTime; + protected getTraderId(userID: string): string; + protected getRating(userID: string): number; + protected getRatingGrowing(userID: string): boolean; + protected getOfferEndTime(userID: string, time: number): number; /** * Create multiple offers for items by using a unique list of items we've generated previously * @param expiredOffers */ generateDynamicOffers(expiredOffers?: Item[]): void; generateTraderOffers(traderID: string): void; - private getItemCondition; - private addMissingCondition; - private getOfferRequirements; + protected getItemCondition(userID: string, items: Item[], itemDetails: ITemplateItem): Item[]; + protected addMissingCondition(item: Item): Item; + protected getOfferRequirements(items: Item[]): { + count: number; + _tpl: string; + }[]; /** * Create a flea offer and store it in the Ragfair server offers array */ diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/WeatherGenerator.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/WeatherGenerator.d.ts index b9faa3a..44cecbb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/WeatherGenerator.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/generators/WeatherGenerator.d.ts @@ -1,19 +1,33 @@ import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { ConfigServer } from "../servers/ConfigServer"; import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class WeatherGenerator { - private weightedRandomHelper; - private randomUtil; - private timeUtil; - private configServer; - private weatherConfig; + protected weightedRandomHelper: WeightedRandomHelper; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected configServer: ConfigServer; + protected weatherConfig: IWeatherConfig; constructor(weightedRandomHelper: WeightedRandomHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); calculateTime(data: IWeatherData): IWeatherData; + /** + * Get server uptime seconds multiplied by a multiplier and add to current time as seconds + * Format to BSGs requirements + * @param computedDate current date + * @returns formatted time + */ + protected getAcceleratedTime(computedDate: Date): string; + /** + * Get current time formatted to fit BSGs requirement + * @param computedDate + * @returns + */ + protected getNormalTime(computedDate: Date): string; generateWeather(data: IWeatherData): IWeatherData; - private getWeightedFog; - private getWeightedRain; - private getRandomFloat; - private getRandomInt; + protected getWeightedFog(): string; + protected getWeightedRain(): number; + protected getRandomFloat(node: string): number; + protected getRandomInt(node: string): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/AssortHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/AssortHelper.d.ts index 33cb5c6..15586b9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/AssortHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/AssortHelper.d.ts @@ -5,12 +5,32 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { ItemHelper } from "./ItemHelper"; import { QuestHelper } from "./QuestHelper"; export declare class AssortHelper { - private logger; - private itemHelper; - private databaseServer; - private questHelper; + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, questHelper: QuestHelper); + /** + * Remove assorts from a trader that have not been unlocked yet + * @param pmcProfile player profile + * @param traderId traders id + * @param assort assort items from a trader + * @returns assort items minus locked quest assorts + */ + stripLockedQuestAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort; + /** + * Remove assorts from a trader that have not been unlocked yet + * @param pmcProfile player profile + * @param traderId traders id + * @param assort traders assorts + * @returns traders assorts minus locked loyality assorts + */ + stripLockedLoyaltyAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort; + /** + * Remove an item from an assort + * @param assort assort to modify + * @param itemID item id to remove from asort + * @returns Modified assort + */ removeItemFromAssort(assort: ITraderAssort, itemID: string): ITraderAssort; - stripQuestAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort; - stripLoyaltyAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/BotGeneratorHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/BotGeneratorHelper.d.ts index 141f71d..e4b0c11 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/BotGeneratorHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/BotGeneratorHelper.d.ts @@ -1,8 +1,9 @@ import { DurabilityLimitsHelper } from "../helpers/DurabilityLimitsHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { Mods, ModsChances } from "../models/eft/common/tables/IBotType"; -import { Item, Upd } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { Item, Repairable, Upd } from "../models/eft/common/tables/IItem"; +import { Grid, ITemplateItem, Slot } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -12,20 +13,50 @@ import { RandomUtil } from "../utils/RandomUtil"; import { ContainerHelper } from "./ContainerHelper"; import { InventoryHelper } from "./InventoryHelper"; import { ItemHelper } from "./ItemHelper"; +import { ProbabilityHelper } from "./ProbabilityHelper"; export declare class BotGeneratorHelper { - private logger; - private jsonUtil; - private hashUtil; - private randomUtil; - private databaseServer; - private durabilityLimitsHelper; - private itemHelper; - private inventoryHelper; - private containerHelper; - private configServer; - private botConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer); + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected probabilityHelper: ProbabilityHelper; + protected databaseServer: DatabaseServer; + protected durabilityLimitsHelper: DurabilityLimitsHelper; + protected itemHelper: ItemHelper; + protected inventoryHelper: InventoryHelper; + protected containerHelper: ContainerHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, probabilityHelper: ProbabilityHelper, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer); generateModsForItem(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem, modSpawnChances: ModsChances, isPmc?: boolean): Item[]; + /** + * Get a list of non black-listed cartridges from the PMC bot config + * @param modSlot mod item slot + * @param itemModPool + * @returns string array of cartridges PMCs can use + */ + protected getNonBlacklistedCartridges(modSlot: string, itemModPool: Record): string[]; + /** + * randomly choose if a mod should be spawned, 100% for required mods OR mod is ammo slot + * never return true for an item that has 0% spawn chance + * @param itemSlot slot the item sits in + * @param modSlot slot the mod sits in + * @param modSpawnChances Chances for various mod spawns + * @returns boolean true if it should spawn + */ + protected shouldModBeSpawned(itemSlot: Slot, modSlot: string, modSpawnChances: ModsChances): boolean; + /** + * Get a list of containers that hold ammo + * @returns string array + */ + protected getAmmoContainers(): string[]; + /** + * Get the slot details for an item (chamber/cartridge/slot) + * @param modSlot e.g patron_in_weapon + * @param parentTemplate item template + * @returns + */ + protected getModItemSlot(modSlot: string, parentTemplate: ITemplateItem): Slot; /** * With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines. * Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0. @@ -37,16 +68,50 @@ export declare class BotGeneratorHelper { * @param {string} parentId The CylinderMagazine's UID * @param {object} parentTemplate The CylinderMagazine's template */ - private fillCamora; + protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void; generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { - "upd"?: Upd; + upd?: Upd; }; - private getModTplFromItemDb; + /** + * Create a repairable object for a weapon that containers durability + max durability properties + * @param itemTemplate weapon object being generated for + * @param botRole type of bot being generated for + * @returns Repairable object + */ + protected generateWeaponRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable; + /** + * Create a repairable object for an armor that containers durability + max durability properties + * @param itemTemplate weapon object being generated for + * @param botRole type of bot being generated for + * @returns Repairable object + */ + protected generateArmorRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable; + protected getModTplFromItemDb(modTpl: string, parentSlot: Slot, modSlot: string, items: Item[]): string; + /** + * Sort by spawn chance, highest to lowest, higher is more common + * @param unsortedModArray String array to sort + * @returns Sorted string array + */ + protected sortModArray(unsortedModArray: string[]): string[]; + /** + * Can an item be added to an item without issue + * @param items + * @param tplToCheck + * @param equipmentSlot + * @returns true if possible + */ isItemIncompatibleWithCurrentItems(items: Item[], tplToCheck: string, equipmentSlot: string): boolean; - /** Adds an item with all its childern into specified equipmentSlots, wherever it fits. - * Returns a `boolean` indicating success. */ + /** + * Adds an item with all its childern into specified equipmentSlots, wherever it fits. + * @param equipmentSlots + * @param parentId + * @param parentTpl + * @param itemWithChildren + * @param inventory + * @returns a `boolean` indicating item was added + */ addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: PmcInventory): boolean; - private itemAllowedInContainer; + protected itemAllowedInContainer(slot: Grid, itemTpl: string): boolean; } export declare class ExhaustableArray { private itemPool; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/BotHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/BotHelper.d.ts index d901362..6b92566 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/BotHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/BotHelper.d.ts @@ -1,22 +1,44 @@ import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotHelper { - private logger; - private jsonUtil; - private databaseServer; - private randomUtil; - private configServer; - private botConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, configServer: ConfigServer); getBotDifficultySettings(type: string, difficulty: string): Difficulty; getPmcDifficultySettings(type: string, difficulty: string): Difficulty; + /** + * Randomise the chance the PMC will attack their own side + * @param difficultySettings pmc difficulty settings + */ randomisePmcHostility(difficultySettings: Difficulty): void; isBotPmc(botRole: string): boolean; isBotBoss(botRole: string): boolean; isBotFollower(botRole: string): boolean; + /** + * Add a bot to the FRIENDLY_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typeToAdd bot type to add to friendly list + */ addBotToFriendlyList(difficultySettings: Difficulty, typeToAdd: string): void; + /** + * Add a bot to the ENEMY_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typesToAdd bot type to add to enemy list + */ + addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[], typeBeingEdited: string): void; + /** + * Add a bot to the REVENGE_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typesToAdd bot type to add to revenge list + */ + addBotToRevengeList(difficultySettings: Difficulty, typesToAdd: string[]): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ContainerHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ContainerHelper.d.ts index 34cd1e4..3c2ee93 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ContainerHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ContainerHelper.d.ts @@ -6,7 +6,7 @@ export declare class FindSlotResult { constructor(success?: boolean, x?: any, y?: any, rotation?: boolean); } export declare class ContainerHelper { - private locateSlot; + protected locateSlot(container2D: number[][], containerX: number, containerY: number, x: number, y: number, itemW: number, itemH: number): boolean; findSlotForItem(container2D: number[][], itemWidth: number, itemHeight: number): FindSlotResult; fillContainerMapWithItem(container2D: number[][], x: number, y: number, itemW: number, itemH: number, rotate: boolean): any; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/DialogueHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/DialogueHelper.d.ts index ae1f581..9776c6a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/DialogueHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/DialogueHelper.d.ts @@ -7,12 +7,12 @@ import { ItemHelper } from "./ItemHelper"; import { NotificationSendHelper } from "./NotificationSendHelper"; import { NotifierHelper } from "./NotifierHelper"; export declare class DialogueHelper { - private hashUtil; - private saveServer; - private databaseServer; - private notifierHelper; - private notificationSendHelper; - private itemHelper; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected notifierHelper: NotifierHelper; + protected notificationSendHelper: NotificationSendHelper; + protected itemHelper: ItemHelper; constructor(hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, notificationSendHelper: NotificationSendHelper, itemHelper: ItemHelper); createMessageContext(templateId: string, messageType: MessageType, maxStoreTime: number): MessageContent; addDialogueMessage(dialogueID: string, messageContent: MessageContent, sessionID: string, rewards?: any[]): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/DurabilityLimitsHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/DurabilityLimitsHelper.d.ts index 609bc7d..07a5db1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/DurabilityLimitsHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/DurabilityLimitsHelper.d.ts @@ -1,25 +1,26 @@ import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { RandomUtil } from "../utils/RandomUtil"; import { BotHelper } from "./BotHelper"; export declare class DurabilityLimitsHelper { - private randomUtil; - private botHelper; - private configServer; - private botConfig; + protected randomUtil: RandomUtil; + protected botHelper: BotHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(randomUtil: RandomUtil, botHelper: BotHelper, configServer: ConfigServer); getRandomisedMaxWeaponDurability(itemTemplate: ITemplateItem, botRole: string): number; getRandomisedMaxArmorDurability(itemTemplate: ITemplateItem, botRole: string): number; getRandomisedWeaponDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; getRandomisedArmorDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; - private generateMaxWeaponDurability; - private generateMaxPmcArmorDurability; - private getLowestMaxWeaponFromConfig; - private getHighestMaxWeaponDurabilityFromConfig; - private generateWeaponDurability; - private generateArmorDurability; - private getMinWeaponDeltaFromConfig; - private getMaxWeaponDeltaFromConfig; - private getMinArmorDeltaFromConfig; - private getMaxArmorDeltaFromConfig; + protected generateMaxWeaponDurability(botRole: string): number; + protected generateMaxPmcArmorDurability(itemMaxDurability: number): number; + protected getLowestMaxWeaponFromConfig(botRole: string): number; + protected getHighestMaxWeaponDurabilityFromConfig(botRole: string): number; + protected generateWeaponDurability(botRole: string, maxDurability: number): number; + protected generateArmorDurability(botRole: string, maxDurability: number): number; + protected getMinWeaponDeltaFromConfig(botRole: string): number; + protected getMaxWeaponDeltaFromConfig(botRole: string): number; + protected getMinArmorDeltaFromConfig(botRole: string): number; + protected getMaxArmorDeltaFromConfig(botRole: string): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ExtendedProfileHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ExtendedProfileHelper.d.ts index 4dd7d3a..d8b754d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ExtendedProfileHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ExtendedProfileHelper.d.ts @@ -1,5 +1,5 @@ import { BotGenerator } from "../generators/BotGenerator"; -import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { FenceService } from "../services/FenceService"; @@ -9,14 +9,14 @@ import { Watermark } from "../utils/Watermark"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class ExtendedProfileHelper extends ProfileHelper { - private botGenerator; + protected botGenerator: BotGenerator; constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator); generatePlayerScav(sessionID: string): IPmcData; - private getScavSkills; - private removeSecureContainer; - private getDefaultScavSkills; - private getScavStats; - private getScavLevel; - private getScavExperience; - private setScavCooldownTimer; + protected getScavSkills(sessionID: string): Skills; + protected removeSecureContainer(profile: IPmcData): IPmcData; + protected getDefaultScavSkills(): Skills; + protected getScavStats(sessionID: string): Stats; + protected getScavLevel(sessionID: string): number; + protected getScavExperience(sessionID: string): number; + protected setScavCooldownTimer(profile: IPmcData, pmcData: IPmcData): IPmcData; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/GameEventHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/GameEventHelper.d.ts index 8131d31..b2d6377 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/GameEventHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/GameEventHelper.d.ts @@ -1,6 +1,6 @@ import { DatabaseServer } from "../servers/DatabaseServer"; export declare class GameEventHelper { - private databaseServer; + protected databaseServer: DatabaseServer; constructor(databaseServer: DatabaseServer); get EVENT(): Record; get christmasEventItems(): string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/GameHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/GameHelper.d.ts new file mode 100644 index 0000000..fd49e84 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/GameHelper.d.ts @@ -0,0 +1,11 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class GameHelper { + protected logger: ILogger; + constructor(logger: ILogger); + /** + * Remove condition conters no longer used + * @param pmcProfile profile to remove old counters from + */ + removeDanglingConditionCounters(pmcProfile: IPmcData): void; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HandbookHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HandbookHelper.d.ts index aed6984..b47d466 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HandbookHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HandbookHelper.d.ts @@ -9,7 +9,7 @@ export declare class LookupCollection { constructor(); } export declare class HandbookHelper { - private lookup; + protected lookup: LookupCollection; hydrateLookup(lookup: LookupCollection): void; getTemplatePrice(x: string): number; templatesWithParent(x: string): string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HealthHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HealthHelper.d.ts index bb160a3..518c23f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HealthHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HealthHelper.d.ts @@ -1,23 +1,27 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHealthConfig } from "../models/spt/config/IHealthConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class HealthHelper { - private jsonUtil; - private logger; - private timeUtil; - private saveServer; - private configServer; - private healthConfig; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected configServer: ConfigServer; + protected healthConfig: IHealthConfig; constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); resetVitality(sessionID: string): IAkiProfile; saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; - private saveHealth; - private saveEffects; - private addEffect; - private isEmpty; + protected saveHealth(pmcData: IPmcData, sessionID: string): void; + protected saveEffects(pmcData: IPmcData, sessionID: string): void; + protected addEffect(pmcData: IPmcData, sessionID: string, effect: { + bodyPart: string; + effectType: string; + }): void; + protected isEmpty(map: any): boolean; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HideoutHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HideoutHelper.d.ts index d6a4414..76b337f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HideoutHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HideoutHelper.d.ts @@ -1,10 +1,12 @@ -import { IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; +import { Common, HideoutArea, IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; +import { Upd } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { StageBonus } from "../models/eft/hideout/IHideoutArea"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -17,26 +19,26 @@ import { TimeUtil } from "../utils/TimeUtil"; import { InventoryHelper } from "./InventoryHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class HideoutHelper { - private logger; - private hashUtil; - private timeUtil; - private randomUtil; - private databaseServer; - private itemEventRouter; - private httpResponse; - private profileHelper; - private inventoryHelper; - private playerService; - private configServer; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected inventoryHelper: InventoryHelper; + protected playerService: PlayerService; + protected configServer: ConfigServer; static BITCOIN_FARM: string; - private WATER_COLLECTOR; - private BITCOIN; - private EXPEDITIONARY_FUEL_TANK; + protected WATER_COLLECTOR: string; + protected BITCOIN: string; + protected EXPEDITIONARY_FUEL_TANK: string; static NAME_BACKENDCOUNTERS_CRAFTING: string; static SKILL_NAME_HIDEOUT: string; static HOUR_FOR_SKILL_CRAFTING: number; static SKILL_NAME_CRAFITING: string; - private hideoutConfig; + protected hideoutConfig: IHideoutConfig; constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, inventoryHelper: InventoryHelper, playerService: PlayerService, configServer: ConfigServer); registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; /** @@ -46,20 +48,20 @@ export declare class HideoutHelper { initProduction(recipeId: string, productionTime: number): Production; isProductionType(productive: Productive): productive is Production; applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void; - private applySkillXPBoost; + protected applySkillXPBoost(pmcData: IPmcData, bonus: StageBonus): void; updatePlayerHideout(sessionID: string): void; - private updateWaterCollector; - private doesWaterCollectorHaveFilter; - private updateFuel; - private updateWaterFilters; - private getAreaUpdObject; - private updateAirFilters; - private updateBitcoinFarm; - private getBTCSlots; - private getManagementSkillsSlots; - private hasManagementSkillSlots; - private getHideoutManagementSkill; - private getHideoutManagementConsumptionBonus; + protected updateWaterCollector(sessionId: string, pmcData: IPmcData, area: HideoutArea, isGeneratorOn: boolean): void; + protected doesWaterCollectorHaveFilter(waterCollector: HideoutArea): boolean; + protected updateFuel(generatorArea: HideoutArea, pmcData: IPmcData): HideoutArea; + protected updateWaterFilters(waterFilterArea: HideoutArea, pwProd: Production, isGeneratorOn: boolean, pmcData: IPmcData): HideoutArea; + protected getAreaUpdObject(stackCount: number, resourceValue: number, resourceUnitsConsumed: number): Upd; + protected updateAirFilters(airFilterArea: HideoutArea, pmcData: IPmcData): HideoutArea; + protected updateBitcoinFarm(pmcData: IPmcData, btcFarmCGs: number, isGeneratorOn: boolean): Production; + protected getBTCSlots(pmcData: IPmcData): number; + protected getManagementSkillsSlots(): number; + protected hasManagementSkillSlots(pmcData: IPmcData): boolean; + protected getHideoutManagementSkill(pmcData: IPmcData): Common; + protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number; isProduction(productive: Productive): productive is Production; getBTC(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; getRandomAmountRewardForScavCase(itemToCalculate: ITemplateItem): number; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HttpServerHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HttpServerHelper.d.ts index 2e40814..c6e5296 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HttpServerHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/HttpServerHelper.d.ts @@ -1,8 +1,19 @@ +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class HttpServerHelper { - private configServer; - private httpConfig; - private mime; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + protected mime: { + css: string; + bin: string; + html: string; + jpg: string; + js: string; + json: string; + png: string; + svg: string; + txt: string; + }; constructor(configServer: ConfigServer); getMimeText(key: string): string; buildUrl(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/InRaidHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/InRaidHelper.d.ts index e79d384..05b6fdf 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/InRaidHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/InRaidHelper.d.ts @@ -8,15 +8,15 @@ import { JsonUtil } from "../utils/JsonUtil"; import { InventoryHelper } from "./InventoryHelper"; import { PaymentHelper } from "./PaymentHelper"; export declare class InRaidHelper { - private logger; - private saveServer; - private jsonUtil; - private databaseServer; - private inventoryHelper; - private paymentHelper; + protected logger: ILogger; + protected saveServer: SaveServer; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected inventoryHelper: InventoryHelper; + protected paymentHelper: PaymentHelper; constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); - private removePlayer; - private removeMapAccessKey; + protected removePlayer(sessionID: string): void; + protected removeMapAccessKey(offraidData: ISaveProgressRequestData, sessionID: string): void; addUpdToMoneyFromRaid(items: Item[]): void; /** * Add positive karma for PMC kills diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/InventoryHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/InventoryHelper.d.ts index 00e95d3..dc7cbca 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/InventoryHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/InventoryHelper.d.ts @@ -5,6 +5,7 @@ import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMe import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInventoryConfig } from "../models/spt/config/IInventoryConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -25,26 +26,26 @@ export interface OwnerInventoryItems { isMail: boolean; } export declare class InventoryHelper { - private logger; - private jsonUtil; - private hashUtil; - private httpResponse; - private fenceService; - private databaseServer; - private paymentHelper; - private traderAssortHelper; - private dialogueHelper; - private itemHelper; - private containerHelper; - private profileHelper; - private configServer; - private inventoryConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected httpResponse: HttpResponseUtil; + protected fenceService: FenceService; + protected databaseServer: DatabaseServer; + protected paymentHelper: PaymentHelper; + protected traderAssortHelper: TraderAssortHelper; + protected dialogueHelper: DialogueHelper; + protected itemHelper: ItemHelper; + protected containerHelper: ContainerHelper; + protected profileHelper: ProfileHelper; + protected configServer: ConfigServer; + protected inventoryConfig: IInventoryConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, httpResponse: HttpResponseUtil, fenceService: FenceService, databaseServer: DatabaseServer, paymentHelper: PaymentHelper, traderAssortHelper: TraderAssortHelper, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, containerHelper: ContainerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; getItemSize(itemTpl: string, itemID: string, inventoryItem: Item[]): Record; - private getSizeByInventoryItemHash; - private getInventoryItemHash; + protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): Record; + protected getInventoryItemHash(inventoryItem: Item[]): InventoryHelper.InventoryItemHash; getContainerMap(containerW: number, containerH: number, itemList: Item[], containerId: string): number[][]; /** * Based on the item action, determine whose inventories we should be looking at for from and to. @@ -56,9 +57,9 @@ export declare class InventoryHelper { * @param {string} sessionID * @returns Array */ - private getStashSlotMap; - private getStashType; - private getPlayerStashSize; + protected getStashSlotMap(pmcData: IPmcData, sessionID: string): number[][]; + protected getStashType(sessionID: string): string; + protected getPlayerStashSize(sessionID: string): Record; /** * Internal helper function to transfer an item from one profile to another. * fromProfileData: Profile of the source. @@ -73,5 +74,12 @@ export declare class InventoryHelper { /** * Internal helper function to handle cartridges in inventory if any of them exist. */ - private handleCartridges; + protected handleCartridges(items: Item[], body: IInventoryMoveRequestData): void; } +declare namespace InventoryHelper { + interface InventoryItemHash { + byItemId: Record; + byParentId: Record; + } +} +export {}; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ItemHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ItemHelper.d.ts index 5ff64b6..70c88d6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ItemHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ItemHelper.d.ts @@ -1,15 +1,15 @@ import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem, StackSlot } from "../models/eft/common/tables/ITemplateItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; declare class ItemHelper { - private logger; - private hashUtil; - private jsonUtil; - private databaseServer; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer); /** * Checks if a id is a valid item. Valid meaning that it's an item that be stored in stash @@ -82,7 +82,7 @@ declare class ItemHelper { * @param {string} parentId The id of the AmmoBox instance these StackSlotItems should be children of * @returns {array} The array of StackSlotItems */ - generateStackSlotItems(item: ITemplateItem, parentId: string): StackSlot[]; + generateItemsFromStackSlot(item: ITemplateItem, parentId: string): Item[]; getItem(tpl: string): [boolean, ITemplateItem]; getItemQualityModifier(item: Item): number; findAndReturnChildrenByItems(items: Item[], itemID: string): string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/NotificationSendHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/NotificationSendHelper.d.ts index b9298da..34e62d9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/NotificationSendHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/NotificationSendHelper.d.ts @@ -2,8 +2,8 @@ import { INotification } from "../models/eft/notifier/INotifier"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { NotificationService } from "../services/NotificationService"; export declare class NotificationSendHelper { - private httpServer; - private notificationService; + protected httpServer: IHttpServer; + protected notificationService: NotificationService; constructor(httpServer: IHttpServer, notificationService: NotificationService); /** * Send notification message to the appropiate channel diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/NotifierHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/NotifierHelper.d.ts index 0d524e9..738b69a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/NotifierHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/NotifierHelper.d.ts @@ -2,11 +2,11 @@ import { INotification } from "../models/eft/notifier/INotifier"; import { Message, MessageContentRagfair } from "../models/eft/profile/IAkiProfile"; import { HttpServerHelper } from "./HttpServerHelper"; export declare class NotifierHelper { - private httpServerHelper; + protected httpServerHelper: HttpServerHelper; /** * The default notification sent when waiting times out. */ - private defaultNotification; + protected defaultNotification: INotification; constructor(httpServerHelper: HttpServerHelper); getDefaultNotification(): INotification; /** Creates a new notification that displays the "Your offer was sold!" prompt and removes sold offer from "My Offers" on clientside */ diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/PresetHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/PresetHelper.d.ts index 0a24128..0371886 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/PresetHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/PresetHelper.d.ts @@ -1,8 +1,8 @@ import { Preset } from "../models/eft/common/IGlobals"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PresetHelper { - private databaseServer; - private lookup; + protected databaseServer: DatabaseServer; + protected lookup: Record; constructor(databaseServer: DatabaseServer); hydratePresetStore(input: Record): void; isPreset(id: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ProbabilityHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ProbabilityHelper.d.ts new file mode 100644 index 0000000..7a0676c --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ProbabilityHelper.d.ts @@ -0,0 +1,14 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class ProbabilityHelper { + protected logger: ILogger; + protected randomUtil: RandomUtil; + constructor(logger: ILogger, randomUtil: RandomUtil); + /** + * Chance to roll a number out of 100 + * @param chance Percentage chance roll should success + * @param scale scale of chance to allow support of numbers > 1-100 + * @returns true if success + */ + rollChance(chance: number, scale?: number): boolean; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ProfileHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ProfileHelper.d.ts index 508443c..6a64291 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ProfileHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/ProfileHelper.d.ts @@ -28,6 +28,6 @@ export declare class ProfileHelper { getPmcProfile(sessionID: string): IPmcData; getScavProfile(sessionID: string): IPmcData; getDefaultCounters(): Stats; - private isWiped; - private getServerVersion; + protected isWiped(sessionID: string): boolean; + protected getServerVersion(): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/QuestConditionHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/QuestConditionHelper.d.ts index 2a0ee94..90ee560 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/QuestConditionHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/QuestConditionHelper.d.ts @@ -3,5 +3,5 @@ export declare class QuestConditionHelper { getQuestConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLevelConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLoyaltyConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; - private filterConditions; + protected filterConditions(q: AvailableForConditions[], questType: string, furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/QuestHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/QuestHelper.d.ts index 9e2dd5e..04ede16 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/QuestHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/QuestHelper.d.ts @@ -3,6 +3,7 @@ import { AvailableForConditions, AvailableForProps, IQuest, Reward } from "../mo import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -17,20 +18,20 @@ import { ProfileHelper } from "./ProfileHelper"; import { RagfairServerHelper } from "./RagfairServerHelper"; import { TraderHelper } from "./TraderHelper"; export declare class QuestHelper { - private logger; - private jsonUtil; - private timeUtil; - private hashUtil; - private itemHelper; - private itemEventRouter; - private databaseServer; - private ragfairServerHelper; - private dialogueHelper; - private profileHelper; - private paymentHelper; - private traderHelper; - private configServer; - private questConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected timeUtil: TimeUtil; + protected hashUtil: HashUtil; + protected itemHelper: ItemHelper; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected ragfairServerHelper: RagfairServerHelper; + protected dialogueHelper: DialogueHelper; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected traderHelper: TraderHelper; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); static get STATUS(): Record; questStatus(pmcData: IPmcData, questID: string): string; @@ -47,7 +48,7 @@ export declare class QuestHelper { */ dumpQuests(quests: any, label?: any): void; loyaltyRequirementCheck(loyaltyRequirementProperties: AvailableForProps, profile: IPmcData): boolean; - private processReward; + protected processReward(reward: Reward): any[]; getQuestRewardItems(quest: IQuest, state: string): Reward[]; addQuestToPMCData(pmcData: IPmcData, quest: Quest, newState: string, acceptedQuest: IAcceptQuestRequestData): void; acceptedUnlocked(acceptedQuestId: string, sessionID: string): IQuest[]; @@ -56,13 +57,30 @@ export declare class QuestHelper { changeItemStack(pmcData: IPmcData, id: string, value: number, sessionID: string, output: any): void; /** * Get List of All Quests as an array + * @returns Array of IQuest objects */ questValues(): IQuest[]; - private cleanQuestList; + /** + * Reest AvailableForStart conditions for quests + * @param quests queststo clean + * @returns quest array without conditions + */ + protected cleanQuestList(quests: IQuest[]): IQuest[]; + /** + * Reset AvailableForStart conditions on a quest + * @param quest quest to clean + * @returns reset IQuest object + */ cleanQuestConditions(quest: IQuest): IQuest; failQuest(pmcData: IPmcData, body: any, sessionID: string): any; getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; getQuestLocaleIdFromDb(messageId: string, localisation?: string): string; - applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): any[]; + applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): Reward[]; + /** + * Get the intel center bonus a player has + * @param pmcData player profile + * @returns bonus in percent + */ + protected getIntelCenterRewardBonus(pmcData: IPmcData): number; getFindItemIdForQuestItem(itemTpl: string): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairHelper.d.ts index 8e70bcd..2c8dbb5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairHelper.d.ts @@ -2,6 +2,7 @@ import { Item } from "../models/eft/common/tables/IItem"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -12,16 +13,16 @@ import { ItemHelper } from "./ItemHelper"; import { TraderAssortHelper } from "./TraderAssortHelper"; import { UtilityHelper } from "./UtilityHelper"; export declare class RagfairHelper { - private logger; - private jsonUtil; - private traderAssortHelper; - private databaseServer; - private handbookHelper; - private itemHelper; - private ragfairLinkedItemService; - private utilityHelper; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected traderAssortHelper: TraderAssortHelper; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected itemHelper: ItemHelper; + protected ragfairLinkedItemService: RagfairLinkedItemService; + protected utilityHelper: UtilityHelper; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, traderAssortHelper: TraderAssortHelper, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, ragfairLinkedItemService: RagfairLinkedItemService, utilityHelper: UtilityHelper, configServer: ConfigServer); /** * Gets currency TAG from TPL @@ -31,7 +32,7 @@ export declare class RagfairHelper { getCurrencyTag(currency: string): string; filterCategories(sessionID: string, info: ISearchRequestData): string[]; getDisplayableAssorts(sessionID: string): Record; - private getCategoryList; + protected getCategoryList(handbookId: string): string[]; countCategories(result: IGetOffersResult): void; /** * Merges Root Items @@ -39,5 +40,4 @@ export declare class RagfairHelper { */ mergeStackable(items: Item[]): Item[]; getCurrencySymbol(currencyTpl: string): string; - formatCurrency(moneyAmount: number): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairOfferHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairOfferHelper.d.ts index 3bf8add..129bc1c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairOfferHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairOfferHelper.d.ts @@ -1,7 +1,10 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -19,31 +22,31 @@ import { RagfairHelper } from "./RagfairHelper"; import { RagfairServerHelper } from "./RagfairServerHelper"; import { RagfairSortHelper } from "./RagfairSortHelper"; export declare class RagfairOfferHelper { - private logger; - private timeUtil; - private hashUtil; - private itemEventRouter; - private databaseServer; - private saveServer; - private dialogueHelper; - private itemHelper; - private paymentHelper; - private presetHelper; - private profileHelper; - private ragfairServerHelper; - private ragfairSortHelper; - private ragfairHelper; - private ragfairOfferService; - private configServer; - private static TPL_GOODS_SOLD; - private ragfairConfig; - private questConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected hashUtil: HashUtil; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected dialogueHelper: DialogueHelper; + protected itemHelper: ItemHelper; + protected paymentHelper: PaymentHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected ragfairSortHelper: RagfairSortHelper; + protected ragfairHelper: RagfairHelper; + protected ragfairOfferService: RagfairOfferService; + protected configServer: ConfigServer; + protected static TPL_GOODS_SOLD: string; + protected ragfairConfig: IRagfairConfig; + protected questConfig: IQuestConfig; constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); getValidOffers(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; getOffersForBuild(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; processOffers(sessionID: string): boolean; - private getProfileOffers; - private deleteOfferByOfferId; - private completeOffer; + protected getProfileOffers(sessionID: string): IRagfairOffer[]; + protected deleteOfferByOfferId(sessionID: string, offerId: string): void; + protected completeOffer(sessionID: string, offer: IRagfairOffer, boughtAmount: number): IItemEventRouterResponse; isDisplayableOffer(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, offer: IRagfairOffer, pmcProfile: IPmcData): boolean; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairSellHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairSellHelper.d.ts index 929d112..6ec004a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairSellHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairSellHelper.d.ts @@ -1,14 +1,15 @@ import { SellResult } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairSellHelper { - private logger; - private randomUtil; - private timeUtil; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); calculateSellChance(baseChance: number, offerPrice: number, requirementsPriceInRub: number): number; rollForSale(sellChance: number, count: number): SellResult[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairServerHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairServerHelper.d.ts index d29ba42..2cb3ea5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairServerHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairServerHelper.d.ts @@ -1,6 +1,8 @@ import { MemberCategory } from "../models/enums/MemberCategory"; import { Item } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; @@ -11,18 +13,18 @@ import { DialogueHelper } from "./DialogueHelper"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class RagfairServerHelper { - private randomUtil; - private hashUtil; - private saveServer; - private databaseServer; - private profileHelper; - private itemHelper; - private dialogueHelper; - private jsonUtil; - private configServer; - private ragfairConfig; - private questConfig; - private static TPL_GOODS_RETURNED; + protected randomUtil: RandomUtil; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected profileHelper: ProfileHelper; + protected itemHelper: ItemHelper; + protected dialogueHelper: DialogueHelper; + protected jsonUtil: JsonUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + protected questConfig: IQuestConfig; + protected static TPL_GOODS_RETURNED: string; constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); /** * Is item valid / on blacklist / quest item @@ -30,7 +32,7 @@ export declare class RagfairServerHelper { * @returns boolean */ isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean; - private isItemBlacklisted; + protected isItemBlacklisted(itemTemplateId: string): boolean; isTrader(userID: string): boolean; isPlayer(userID: string): boolean; returnItems(sessionID: string, items: any[]): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairSortHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairSortHelper.d.ts index e9d8069..e983569 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairSortHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairSortHelper.d.ts @@ -1,12 +1,12 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class RagfairSortHelper { - private databaseServer; + protected databaseServer: DatabaseServer; constructor(databaseServer: DatabaseServer); sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; - private sortOffersByID; - private sortOffersByRating; - private sortOffersByName; - private sortOffersByPrice; - private sortOffersByExpiry; + protected sortOffersByID(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByRating(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByName(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByPrice(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByExpiry(a: IRagfairOffer, b: IRagfairOffer): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairTaxHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairTaxHelper.d.ts index e87334f..820facb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairTaxHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RagfairTaxHelper.d.ts @@ -1,15 +1,16 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { DatabaseServer } from "../servers/DatabaseServer"; import { RagfairPriceService } from "../services/RagfairPriceService"; import { ItemHelper } from "./ItemHelper"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class RagfairTaxHelper { - private logger; - private databaseServer; - private ragfairPriceService; - private itemHelper; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected ragfairPriceService: RagfairPriceService; + protected itemHelper: ItemHelper; constructor(logger: ILogger, databaseServer: DatabaseServer, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper); calculateTax(item: Item, pmcData: IPmcData, requirementsValue: number, offerItemCount: number, sellInOnePiece: boolean): number; - private calculateItemWorth; + protected calculateItemWorth(item: Item, itemTemplate: ITemplateItem, itemCount: number, pmcData: IPmcData, isRootItem?: boolean): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RepairHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RepairHelper.d.ts index 47123e1..545108e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RepairHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/RepairHelper.d.ts @@ -1,20 +1,21 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem"; +import { IRepairConfig } from "../models/spt/config/IRepairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class RepairHelper { - private logger; - private jsonUtil; - private randomUtil; - private databaseServer; - private configServer; - private repairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected repairConfig: IRepairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, configServer: ConfigServer); - updateItemDurability(itemToRepairId: string, amountToRepair: number, pmcData: IPmcData, useRepairKit?: boolean): Item; - private getRandomisedArmorRepairDegredationValue; - private getRandomisedWeaponRepairDegredationValue; + updateItemDurability(itemToRepair: Item, itemToRepairDetails: ITemplateItem, isArmor: boolean, amountToRepair: number, useRepairKit?: boolean): Item; + protected getRandomisedArmorRepairDegredationValue(armorMaterial: string, isRepairKit: boolean, armorMax: number): number; + protected getRandomisedWeaponRepairDegredationValue(itemProps: Props, isRepairKit: boolean, armorMax: number): number; isWeaponTemplate(tpl: string): boolean; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/SecureContainerHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/SecureContainerHelper.d.ts index 8f246b6..9e2bc32 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/SecureContainerHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/SecureContainerHelper.d.ts @@ -7,7 +7,7 @@ export interface OwnerInventoryItems { isMail: boolean; } export declare class SecureContainerHelper { - private itemHelper; + protected itemHelper: ItemHelper; constructor(itemHelper: ItemHelper); getSecureContainerItems(items: Item[]): string[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TradeHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TradeHelper.d.ts index 475390b..975062b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TradeHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TradeHelper.d.ts @@ -2,7 +2,7 @@ import { InventoryHelper } from "../helpers/InventoryHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; -import { Upd } from "../models/eft/common/tables/IItem"; +import { Item, Upd } from "../models/eft/common/tables/IItem"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; @@ -12,14 +12,14 @@ import { RagfairServer } from "../servers/RagfairServer"; import { FenceService } from "../services/FenceService"; import { PaymentService } from "../services/PaymentService"; export declare class TradeHelper { - private logger; - private itemEventRouter; - private traderHelper; - private itemHelper; - private paymentService; - private fenceService; - private inventoryHelper; - private ragfairServer; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected traderHelper: TraderHelper; + protected itemHelper: ItemHelper; + protected paymentService: PaymentService; + protected fenceService: FenceService; + protected inventoryHelper: InventoryHelper; + protected ragfairServer: RagfairServer; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer); /** * Buy item from flea or trader @@ -39,6 +39,6 @@ export declare class TradeHelper { * @returns */ sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse; - private incrementAssortBuyCount; - private checkPurchaseIsWithinTraderItemLimit; + protected incrementAssortBuyCount(assortBeingPurchased: Item, itemsPurchasedCount: number): void; + protected checkPurchaseIsWithinTraderItemLimit(assortBeingPurchased: Item, assortId: string, count: number): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TraderAssortHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TraderAssortHelper.d.ts index d95879c..4f41ac2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TraderAssortHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TraderAssortHelper.d.ts @@ -1,7 +1,8 @@ -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { ILogger } from "../models/spt/utils/ILogger"; import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { FenceService } from "../services/FenceService"; import { TraderAssortService } from "../services/TraderAssortService"; @@ -9,15 +10,33 @@ import { JsonUtil } from "../utils/JsonUtil"; import { AssortHelper } from "./AssortHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderAssortHelper { - private logger; - private jsonUtil; - private databaseServer; - private profileHelper; - private assortHelper; - private ragfairAssortGenerator; - private ragfairOfferGenerator; - private traderAssortService; - private fenceService; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected profileHelper: ProfileHelper; + protected assortHelper: AssortHelper; + protected ragfairAssortGenerator: RagfairAssortGenerator; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected traderAssortService: TraderAssortService; + protected fenceService: FenceService; constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); + /** + * Get a traders assorts + * Can be used for returning ragfair / fence assorts + * @param sessionId session id + * @param traderId trader id + * @returns a traders assorts + */ getAssort(sessionId: string, traderId: string): ITraderAssort; + /** + * Get an array of pristine trader items prior to any alteration by player + * @param traderId trader id + * @returns array of Items + */ + protected getPristineTraderAssorts(traderId: string): Item[]; + /** + * Returns generated ragfair offers in a trader assort format + * @returns Trader assort object + */ + protected getRagfairDataAsTraderAssort(): ITraderAssort; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TraderHelper.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TraderHelper.d.ts index ec64d59..ab4a371 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TraderHelper.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/helpers/TraderHelper.d.ts @@ -1,5 +1,6 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IBarterScheme, ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,25 +12,42 @@ import { ItemHelper } from "./ItemHelper"; import { PaymentHelper } from "./PaymentHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderHelper { - private logger; - private databaseServer; - private saveServer; - private profileHelper; - private paymentHelper; - private itemHelper; - private handbookHelper; - private playerService; - private fenceService; - private configServer; - private traderConfig; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemHelper: ItemHelper; + protected handbookHelper: HandbookHelper; + protected playerService: PlayerService; + protected fenceService: FenceService; + protected configServer: ConfigServer; + protected traderConfig: ITraderConfig; constructor(logger: ILogger, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemHelper: ItemHelper, handbookHelper: HandbookHelper, playerService: PlayerService, fenceService: FenceService, configServer: ConfigServer); getTrader(traderID: string, sessionID: string): ITraderBase; getTraderAssortsById(traderId: string): ITraderAssort; + /** + * Reset a trader back to its initial state as seen by a level 1 player + * Does NOT take into account different profile levels + * @param sessionID session id + * @param traderID trader id to reset + */ resetTrader(sessionID: string, traderID: string): void; changeTraderDisplay(traderID: string, status: boolean, sessionID: string): void; getPurchasesData(traderID: string, sessionID: string): Record; + /** + * Calculate traders level based on exp amount and increment level if over threshold + * @param traderID trader to process + * @param sessionID session id + */ lvlUp(traderID: string, sessionID: string): void; getTraderUpdateSeconds(traderId: string): number; + /** + * check if an item is allowed to be sold to a trader + * @param traderFilters array of allowed categories + * @param tplToCheck itemTpl of inventory + * @returns boolean + */ traderFilter(traderFilters: string[], tplToCheck: string): boolean; getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/BundleLoader.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/BundleLoader.d.ts index 4f7664c..06ad698 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/BundleLoader.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/BundleLoader.d.ts @@ -10,10 +10,10 @@ declare class BundleInfo { constructor(modpath: string, bundle: any, bundlePath: string, bundleFilepath: string); } export declare class BundleLoader { - private httpServerHelper; - private vfs; - private jsonUtil; - private bundles; + protected httpServerHelper: HttpServerHelper; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected bundles: Record; constructor(httpServerHelper: HttpServerHelper, vfs: VFS, jsonUtil: JsonUtil); getBundles(local: boolean): BundleInfo[]; getBundle(key: string, local: boolean): BundleInfo; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/DelayedModLoader.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/DelayedModLoader.d.ts index 7d0009f..2a05604 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/DelayedModLoader.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/DelayedModLoader.d.ts @@ -1,3 +1,4 @@ +import { DependencyContainer } from "tsyringe"; import { HandbookController } from "../controllers/HandbookController"; import { IModLoader } from "../models/spt/mod/IModLoader"; import { ModCompilerService } from "../services/ModCompilerService"; @@ -5,17 +6,16 @@ import { VFS } from "../utils/VFS"; import { BundleLoader } from "./BundleLoader"; import { InitialModLoader } from "./InitialModLoader"; export declare class DelayedModLoader implements IModLoader { - private bundleLoader; - private handbookController; - private vfs; - private modCompilerService; - private initialModLoader; + protected bundleLoader: BundleLoader; + protected handbookController: HandbookController; + protected vfs: VFS; + protected modCompilerService: ModCompilerService; + protected initialModLoader: InitialModLoader; constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, initialModLoader: InitialModLoader); getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; - getImportedModsNames(): string[]; getModPath(mod: string): string; load(): void; - private executeMods; - private addBundles; + protected executeMods(container: DependencyContainer): void; + protected addBundles(): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/InitialModLoader.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/InitialModLoader.d.ts index 5957d35..9a99dcc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/InitialModLoader.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/loaders/InitialModLoader.d.ts @@ -1,5 +1,8 @@ import { DependencyContainer } from "tsyringe"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; +import { ModLoader } from "../models/spt/mod/IMod"; import { IModLoader } from "../models/spt/mod/IModLoader"; +import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { ModCompilerService } from "../services/ModCompilerService"; @@ -7,52 +10,55 @@ import { JsonUtil } from "../utils/JsonUtil"; import { VFS } from "../utils/VFS"; import { BundleLoader } from "./BundleLoader"; export declare class InitialModLoader implements IModLoader { - private logger; - private vfs; - private jsonUtil; - private modCompilerService; - private bundleLoader; - private configServer; - private static container; - private readonly basepath; - private imported; - private onLoad; - private akiConfig; + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected modCompilerService: ModCompilerService; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected static container: DependencyContainer; + protected readonly basepath = "user/mods/"; + protected imported: Record; + protected akiConfig: ICoreConfig; constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, bundleLoader: BundleLoader, configServer: ConfigServer); load(container: DependencyContainer): Promise; getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; + /** + * Returns a list of mods with preserved load order + * @returns Array of mod names in load order + */ getImportedModsNames(): string[]; getModPath(mod: string): string; - private importClass; - private importMods; + protected importClass(name: string, filepath: string, container: DependencyContainer): void; + protected importMods(): Promise; /** * * @param mods Get an array of broken/invalid mods by name * @returns Mod names array */ - private getBrokenMods; + protected getBrokenMods(mods: string[]): string[]; /** * Get packageJson data for mods * @param mods mods to get packageJson for * @returns dictionary */ - private getModsPackageData; + protected getModsPackageData(mods: string[]): Record; /** * Does mod have "delayedLoad(" string in its entry class * @param modFolderName folder name * @param modToValidate package.json details * @returns boolean */ - private isModSpt300Compatible; - private isModCombatibleWithAki; - private executeMods; - private sortModsLoadOrder; - private addMod; - private areModDependenciesFulfilled; - private isModCompatible; - private validMod; - private getLoadOrderRecursive; - private getLoadOrder; + protected isModSpt300Compatible(modFolderName: string, modToValidate: IPackageJsonData): boolean; + protected isModCombatibleWithAki(mod: IPackageJsonData): boolean; + protected executeMods(container: DependencyContainer): void; + sortModsLoadOrder(): string[]; + protected addMod(mod: string): Promise; + protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Record): boolean; + protected isModCompatible(mod: IPackageJsonData, loadedMods: Record): boolean; + protected validMod(mod: string): boolean; + protected getLoadOrderRecursive(mod: string, result: Record, visited: Record): void; + protected getLoadOrder(mods: Record): Record; getContainer(): DependencyContainer; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/MemberCategory.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/MemberCategory.d.ts deleted file mode 100644 index 3bd9a21..0000000 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/MemberCategory.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -export declare enum MemberCategory { - Default = 0, - Developer = 1, - UniqueId = 2, - Trader = 4, - Group = 8, - System = 16, - ChatModerator = 32, - ChatModeratorWithPermanentBan = 64, - UnitTest = 128, - Sherpa = 256, - Emissary = 512 -} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/tables/IMatch.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/tables/IMatch.d.ts new file mode 100644 index 0000000..c30cb48 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/tables/IMatch.d.ts @@ -0,0 +1,10 @@ +export interface IMatch { + metrics: Metrics; +} +export interface Metrics { + Keys: number[]; + NetProcessingBins: number[]; + RenderBins: number[]; + GameUpdateBins: number[]; + MemoryMeasureInterval: number; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/tables/ITemplateItem.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/tables/ITemplateItem.d.ts index c2ba762..934ea7d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/common/tables/ITemplateItem.d.ts @@ -7,284 +7,358 @@ export interface ITemplateItem { _proto: string; } export interface Props { - Name: string; - ShortName: string; - Description: string; - Weight: number; - BackgroundColor: string; - Width: number; - Height: number; - StackMaxSize: number; + Name?: string; + ShortName?: string; + Description?: string; + Weight?: number; + BackgroundColor?: string; + Width?: number; + Height?: number; + StackMaxSize?: number; Rarity?: string; SpawnChance?: number; CreditsPrice?: number; - ItemSound: string; - Prefab: Prefab; - UsePrefab: Prefab; - StackObjectsCount: number; - NotShownInSlot: boolean; - ExaminedByDefault: boolean; - ExamineTime: number; - IsUndiscardable: boolean; - IsUnsaleable: boolean; - IsUnbuyable: boolean; - IsUngivable: boolean; - IsLockedafterEquip: boolean; - QuestItem: boolean; - LootExperience: number; - ExamineExperience: number; - HideEntrails: boolean; - RepairCost: number; - RepairSpeed: number; - ExtraSizeLeft: number; - ExtraSizeRight: number; - ExtraSizeUp: number; - ExtraSizeDown: number; - ExtraSizeForceAdd: boolean; - MergesWithChildren: boolean; - CanSellOnRagfair: boolean; - CanRequireOnRagfair: boolean; - ConflictingItems: string[]; - DiscardLimit: number; - Unlootable: boolean; - UnlootableFromSlot: string; - UnlootableFromSide: string[]; - AnimationVariantsNumber: number; - DiscardingBlock: boolean; - RagFairCommissionModifier: number; - IsAlwaysAvailableForInsurance: boolean; - Grids: Grid[]; - Slots: Slot[]; - CanPutIntoDuringTheRaid: boolean; - CantRemoveFromSlotsDuringRaid: string[]; - weapClass: string; - weapUseType: string; - ammoCaliber: string; - Durability: number; - MaxDurability: number; - OperatingResource: number; - RepairComplexity: number; - durabSpawnMin: number; - durabSpawnMax: number; - isFastReload: boolean; - RecoilForceUp: number; - RecoilForceBack: number; - Convergence: number; - RecoilAngle: number; - weapFireType: string[]; - RecolDispersion: number; - SingleFireRate: number; - CanQueueSecondShot: boolean; - bFirerate: number; - Ergonomics: number; - Velocity: number; - bEffDist: number; - bHearDist: number; - isChamberLoad: boolean; - chamberAmmoCount: number; - isBoltCatch: boolean; - defMagType: string; - defAmmo: string; - AdjustCollimatorsToTrajectory: boolean; - shotgunDispersion: number; - Chambers: Chamber[]; - CameraRecoil: number; - CameraSnap: number; - ReloadMode: string; - CenterOfImpact: number; - AimPlane: number; - DeviationCurve: number; - DeviationMax: number; - Foldable: boolean; - Retractable: boolean; - TacticalReloadStiffnes: Xyz; - TacticalReloadFixation: number; - RecoilCenter: Xyz; - RotationCenter: Xyz; - RotationCenterNoStock: Xyz; - SizeReduceRight: number; - FoldedSlot: string; - CompactHandling: boolean; - SightingRange: number; - MinRepairDegradation: number; - MaxRepairDegradation: number; - MinRepairKitDegradation: number; - MaxRepairKitDegradation: number; - IronSightRange: number; - MustBoltBeOpennedForExternalReload: boolean; - MustBoltBeOpennedForInternalReload: boolean; - BoltAction: boolean; - HipAccuracyRestorationDelay: number; - HipAccuracyRestorationSpeed: number; - HipInnaccuracyGain: number; - ManualBoltCatch: boolean; - BurstShotsCount: number; - BaseMalfunctionChance: number; - AllowJam: boolean; - AllowFeed: boolean; - AllowMisfire: boolean; - AllowSlide: boolean; - DurabilityBurnRatio: number; - HeatFactorGun: number; - CoolFactorGun: number; - CoolFactorGunMods: number; - HeatFactorByShot: number; - AllowOverheat: boolean; - DoubleActionAccuracyPenalty: number; - RecoilPosZMult: number; - ShotgunDispersion: number; - StackMinRandom: number; - StackMaxRandom: number; - StackSlots: StackSlot[]; - SearchSound: string; - BlocksArmorVest: boolean; - RigLayoutName: string; - armorZone: string[]; - armorClass: number; - speedPenaltyPercent: number; - mousePenalty: number; - weaponErgonomicPenalty: number; - BluntThroughput: number; - ArmorMaterial: string; - medUseTime: number; - medEffectType: string; - MaxHpResource: number; - hpResourceRate: number; - StimulatorBuffs: string; - effects_health: EffectsHealth; - effects_damage: EffectsDamage; - knifeHitDelay: number; - knifeHitSlashRate: number; - knifeHitStabRate: number; - knifeHitRadius: number; - knifeHitSlashDam: number; - knifeHitStabDam: number; - knifeDurab: number; - PrimaryDistance: number; - SecondryDistance: number; - SlashPenetration: number; - StabPenetration: number; - PrimaryConsumption: number; - SecondryConsumption: number; - DeflectionConsumption: number; - MaxResource: number; - AppliedTrunkRotation: Xyz; - AppliedHeadRotation: Xyz; - DisplayOnModel: boolean; - AdditionalAnimationLayer: number; - StaminaBurnRate: number; - ColliderScaleMultiplier: Xyz; - ammoType: string; - InitialSpeed: number; - BallisticCoeficient: number; - BulletMassGram: number; - BulletDiameterMilimeters: number; - Damage: number; - ammoAccr: number; - ammoRec: number; - ammoDist: number; - buckshotBullets: number; - PenetrationPower: number; - PenetrationPowerDiviation: number; - ammoHear: number; - ammoSfx: string; - MisfireChance: number; - MinFragmentsCount: number; - MaxFragmentsCount: number; - ammoShiftChance: number; - casingName: string; - casingEjectPower: number; - casingMass: number; - casingSounds: string; - ProjectileCount: number; - PenetrationChance: number; - RicochetChance: number; - FragmentationChance: number; - Deterioration: number; - SpeedRetardation: number; - Tracer: boolean; - TracerColor: string; - TracerDistance: number; - ArmorDamage: number; - Caliber: string; - StaminaBurnPerDamage: number; - HeavyBleedingDelta: number; - LightBleedingDelta: number; - ShowBullet: boolean; - HasGrenaderComponent: boolean; - FuzeArmTimeSec: number; - ExplosionStrength: number; - MinExplosionDistance: number; - MaxExplosionDistance: number; - FragmentsCount: number; - FragmentType: string; - ShowHitEffectOnExplode: boolean; - ExplosionType: string; - AmmoLifeTimeSec: number; - Contusion: Contusion; - ArmorDistanceDistanceDamage: Xyz; - Blindness: Xyz; - IsLightAndSoundShot: boolean; - LightAndSoundShotAngle: number; - LightAndSoundShotSelfContusionTime: number; - LightAndSoundShotSelfContusionStrength: number; - MalfMisfireChance: number; - DurabilityBurnModificator: number; - HeatFactor: number; - MalfFeedChance: number; - Accuracy: number; - Recoil: number; - Loudness: number; - EffectiveDistance: number; - RaidModdable: boolean; - ToolModdable: boolean; - BlocksFolding: boolean; - BlocksCollapsible: boolean; - IsAnimated: boolean; - HasShoulderContact: boolean; - DoubleActionAccuracyPenaltyMult: number; - magAnimationIndex: number; - Cartridges: Cartridge[]; - CanFast: boolean; - CanHit: boolean; - CanAdmin: boolean; - LoadUnloadModifier: number; - CheckTimeModifier: number; - CheckOverride: number; - ReloadMagType: string; - VisibleAmmoRangesString: string; - MalfunctionChance: number; - TagColor: number; - TagName: string; - MaximumNumberOfUsage: number; - CustomAimPlane: string; - sightModType: string; - aimingSensitivity: number; - SightModesCount: number; - OpticCalibrationDistances: number[]; - ScopesCount: number; - AimSensitivity: number[][]; - ModesCount: number[]; - Zooms: number[][]; - CalibrationDistances: number[][]; - Intensity: number; - Mask: string; - MaskSize: number; - NoiseIntensity: number; - NoiseScale: number; - Color: Color; - DiffuseIntensity: number; - HasHinge: boolean; + ItemSound?: string; + Prefab?: Prefab; + UsePrefab?: Prefab; + StackObjectsCount?: number; + NotShownInSlot?: boolean; + ExaminedByDefault?: boolean; + ExamineTime?: number; + IsUndiscardable?: boolean; + IsUnsaleable?: boolean; + IsUnbuyable?: boolean; + IsUngivable?: boolean; + IsLockedafterEquip?: boolean; + QuestItem?: boolean; + LootExperience?: number; + ExamineExperience?: number; + HideEntrails?: boolean; + RepairCost?: number; + RepairSpeed?: number; + ExtraSizeLeft?: number; + ExtraSizeRight?: number; + ExtraSizeUp?: number; + ExtraSizeDown?: number; + ExtraSizeForceAdd?: boolean; + MergesWithChildren?: boolean; + CanSellOnRagfair?: boolean; + CanRequireOnRagfair?: boolean; + ConflictingItems?: string[]; + Unlootable?: boolean; + UnlootableFromSlot?: string; + UnlootableFromSide?: string[]; + AnimationVariantsNumber?: number; + DiscardingBlock?: boolean; + RagFairCommissionModifier?: number; + IsAlwaysAvailableForInsurance?: boolean; + DiscardLimit?: number; + MaxResource?: number; Resource?: number; + DogTagQualities?: boolean; + Grids?: Grid[]; + Slots?: Slot[]; + CanPutIntoDuringTheRaid?: boolean; + CantRemoveFromSlotsDuringRaid?: string[]; + KeyIds?: string[]; + TagColor?: number; + TagName?: string; + Durability?: number; + Accuracy?: number; + Recoil?: number; + Loudness?: number; + EffectiveDistance?: number; + Ergonomics?: number; + Velocity?: number; + RaidModdable?: boolean; + ToolModdable?: boolean; + BlocksFolding?: boolean; + BlocksCollapsible?: boolean; + IsAnimated?: boolean; + HasShoulderContact?: boolean; + SightingRange?: number; + DoubleActionAccuracyPenaltyMult?: number; + ModesCount: any; + DurabilityBurnModificator?: number; + HeatFactor?: number; CoolFactor?: number; + muzzleModType?: string; + CustomAimPlane?: string; + sightModType?: string; + aimingSensitivity?: number; + SightModesCount?: number; + OpticCalibrationDistances?: number[]; + ScopesCount?: number; + AimSensitivity: any; + Zooms?: number[][]; + CalibrationDistances?: number[][]; + Intensity?: number; + Mask?: string; + MaskSize?: number; + NoiseIntensity?: number; + NoiseScale?: number; + Color?: Color; + DiffuseIntensity?: number; + HasHinge?: boolean; + RampPalette?: string; + DepthFade?: number; + RoughnessCoef?: number; + SpecularCoef?: number; + MainTexColorCoef?: number; + MinimumTemperatureValue?: number; + RampShift?: number; + HeatMin?: number; + ColdMax?: number; + IsNoisy?: boolean; + IsFpsStuck?: boolean; + IsGlitch?: boolean; + IsMotionBlurred?: boolean; + IsPixelated?: boolean; + PixelationBlockCount?: number; + ShiftsAimCamera?: number; + magAnimationIndex?: number; + Cartridges?: Slot[]; + CanFast?: boolean; + CanHit?: boolean; + CanAdmin?: boolean; + LoadUnloadModifier?: number; + CheckTimeModifier?: number; + CheckOverride?: number; + ReloadMagType?: string; + VisibleAmmoRangesString?: string; + MalfunctionChance?: number; + IsShoulderContact?: boolean; + Foldable?: boolean; + Retractable?: boolean; + SizeReduceRight?: number; + CenterOfImpact?: number; + ShotgunDispersion?: number; + IsSilencer?: boolean; + DeviationCurve?: number; + DeviationMax?: number; + SearchSound?: string; + BlocksArmorVest?: boolean; + speedPenaltyPercent?: number; + GridLayoutName?: string; + SpawnFilter?: any[]; + containType?: any[]; + sizeWidth?: number; + sizeHeight?: number; + isSecured?: boolean; + spawnTypes?: string; + lootFilter?: any[]; + spawnRarity?: string; + minCountSpawn?: number; + maxCountSpawn?: number; + openedByKeyID?: any[]; + RigLayoutName?: string; + MaxDurability?: number; + armorZone?: string[]; + armorClass: any; + mousePenalty?: number; + weaponErgonomicPenalty?: number; + BluntThroughput?: number; + ArmorMaterial?: string; + weapClass?: string; + weapUseType?: string; + ammoCaliber?: string; + OperatingResource?: number; + RepairComplexity?: number; + durabSpawnMin?: number; + durabSpawnMax?: number; + isFastReload?: boolean; + RecoilForceUp?: number; + RecoilForceBack?: number; + Convergence?: number; + RecoilAngle?: number; + weapFireType?: string[]; + RecolDispersion?: number; + SingleFireRate?: number; + CanQueueSecondShot?: boolean; + bFirerate?: number; + bEffDist?: number; + bHearDist?: number; + isChamberLoad?: boolean; + chamberAmmoCount?: number; + isBoltCatch?: boolean; + defMagType?: string; + defAmmo?: string; + AdjustCollimatorsToTrajectory?: boolean; + shotgunDispersion?: number; + Chambers?: Slot[]; + CameraRecoil?: number; + CameraSnap?: number; + ReloadMode?: string; + AimPlane?: number; + TacticalReloadStiffnes?: Xyz; + TacticalReloadFixation?: number; + RecoilCenter?: Xyz; + RotationCenter?: Xyz; + RotationCenterNoStock?: Xyz; + FoldedSlot?: string; + CompactHandling?: boolean; + MinRepairDegradation?: number; + MaxRepairDegradation?: number; + IronSightRange?: number; + MustBoltBeOpennedForExternalReload?: boolean; + MustBoltBeOpennedForInternalReload?: boolean; + BoltAction?: boolean; + HipAccuracyRestorationDelay?: number; + HipAccuracyRestorationSpeed?: number; + HipInnaccuracyGain?: number; + ManualBoltCatch?: boolean; + BurstShotsCount?: number; + BaseMalfunctionChance?: number; + AllowJam?: boolean; + AllowFeed?: boolean; + AllowMisfire?: boolean; + AllowSlide?: boolean; + DurabilityBurnRatio?: number; + HeatFactorGun?: number; + CoolFactorGun?: number; + CoolFactorGunMods?: number; + HeatFactorByShot?: number; + AllowOverheat?: boolean; + DoubleActionAccuracyPenalty?: number; + RecoilPosZMult?: number; + MinRepairKitDegradation?: number; + MaxRepairKitDegradation?: number; + BlocksEarpiece?: boolean; + BlocksEyewear?: boolean; + BlocksHeadwear?: boolean; + BlocksFaceCover?: boolean; + Indestructibility?: number; + headSegments?: string[]; + FaceShieldComponent?: boolean; + FaceShieldMask?: string; + MaterialType?: string; + RicochetParams?: Xyz; + DeafStrength?: string; + BlindnessProtection?: number; + Distortion?: number; + CompressorTreshold?: number; + CompressorAttack?: number; + CompressorRelease?: number; + CompressorGain?: number; + CutoffFreq?: number; + Resonance?: number; + CompressorVolume?: number; + AmbientVolume?: number; + DryVolume?: number; foodUseTime?: number; foodEffectType?: string; - MaxRepairResource: number; - RepairQuality: number; - RepairType: string; - TargetItemFilter: string[]; - apResource: number; - krResource: number; + StimulatorBuffs?: string; + effects_health: any; + effects_damage: any; + MaximumNumberOfUsage?: number; + knifeHitDelay?: number; + knifeHitSlashRate?: number; + knifeHitStabRate?: number; + knifeHitRadius?: number; + knifeHitSlashDam?: number; + knifeHitStabDam?: number; + knifeDurab?: number; + PrimaryDistance?: number; + SecondryDistance?: number; + SlashPenetration?: number; + StabPenetration?: number; + PrimaryConsumption?: number; + SecondryConsumption?: number; + DeflectionConsumption?: number; + AppliedTrunkRotation?: Xyz; + AppliedHeadRotation?: Xyz; + DisplayOnModel?: boolean; + AdditionalAnimationLayer?: number; + StaminaBurnRate?: number; + ColliderScaleMultiplier?: Xyz; + ConfigPathStr?: string; + MaxMarkersCount?: number; + scaleMin?: number; + scaleMax?: number; + medUseTime?: number; + medEffectType?: string; + MaxHpResource?: number; + hpResourceRate?: number; + apResource?: number; + krResource?: number; + MaxOpticZoom?: number; + MaxRepairResource?: number; + TargetItemFilter?: string[]; + RepairQuality?: number; + RepairType?: string; + StackMinRandom?: number; + StackMaxRandom?: number; + ammoType?: string; + InitialSpeed?: number; + BallisticCoeficient?: number; + BulletMassGram?: number; + BulletDiameterMilimeters?: number; + Damage?: number; + ammoAccr?: number; + ammoRec?: number; + ammoDist?: number; + buckshotBullets?: number; + PenetrationPower?: number; + PenetrationPowerDiviation?: number; + ammoHear?: number; + ammoSfx?: string; + MisfireChance?: number; + MinFragmentsCount?: number; + MaxFragmentsCount?: number; + ammoShiftChance?: number; + casingName?: string; + casingEjectPower?: number; + casingMass?: number; + casingSounds?: string; + ProjectileCount?: number; + PenetrationChance?: number; + RicochetChance?: number; + FragmentationChance?: number; + Deterioration?: number; + SpeedRetardation?: number; + Tracer?: boolean; + TracerColor?: string; + TracerDistance?: number; + ArmorDamage?: number; + Caliber?: string; + StaminaBurnPerDamage?: number; + HeavyBleedingDelta?: number; + LightBleedingDelta?: number; + ShowBullet?: boolean; + HasGrenaderComponent?: boolean; + FuzeArmTimeSec?: number; + ExplosionStrength?: number; + MinExplosionDistance?: number; + MaxExplosionDistance?: number; + FragmentsCount?: number; + FragmentType?: string; + ShowHitEffectOnExplode?: boolean; + ExplosionType?: string; + AmmoLifeTimeSec?: number; + Contusion?: Xyz; + ArmorDistanceDistanceDamage?: Xyz; + Blindness?: Xyz; + IsLightAndSoundShot?: boolean; + LightAndSoundShotAngle?: number; + LightAndSoundShotSelfContusionTime?: number; + LightAndSoundShotSelfContusionStrength?: number; + MalfMisfireChance?: number; + MalfFeedChance?: number; + StackSlots?: StackSlot[]; + type?: string; + eqMin?: number; + eqMax?: number; + rate?: number; + ThrowType?: string; + ExplDelay?: number; + Strength?: number; + ContusionDistance?: number; + throwDamMax?: number; + explDelay?: number; + EmitTime?: number; + CanBeHiddenDuringThrow?: boolean; + MinTimeToContactExplode?: number; + ExplosionEffectType?: string; } export interface Prefab { path: string; @@ -315,27 +389,18 @@ export interface Slot { _id: string; _parent: string; _props: SlotProps; + _max_count?: number; _required: boolean; _mergeSlotWithChildren: boolean; _proto: string; } export interface SlotProps { - filters: Filter[]; + filters: SlotFilter[]; } -export interface Chamber { - _name: string; - _id: string; - _parent: string; - _props: ChamberProps; - _required: boolean; - _mergeSlotWithChildren: boolean; - _proto: string; -} -export interface ChamberProps { - filters: FilterProps[]; -} -export interface FilterProps { +export interface SlotFilter { + Shift?: number; Filter: string[]; + AnimationIndex?: number; } export interface Xyz { x: number; @@ -345,53 +410,38 @@ export interface Xyz { export interface StackSlot { _name?: string; _id: string; - _sptTpl: string; - parent: string; - location: any; - slotId: string; + _parent: string; _max_count: number; - _props?: StackSlotProps; - _proto?: string; + _props: StackSlotProps; + _proto: string; upd: any; } export interface StackSlotProps { - filters: Filter[]; + filters: SlotFilter[]; } export interface EffectsHealth { - Hydration: Hydration; + Energy: EffectsHealthProps; + Hydration: EffectsHealthProps; } -export interface Hydration { +export interface EffectsHealthProps { value: number; } export interface EffectsDamage { - Pain: Pain; - Contusion: Contusion; + Pain: EffectDamageProps; + LightBleeding: EffectDamageProps; + HeavyBleeding: EffectDamageProps; + Contusion: EffectDamageProps; + RadExposure: EffectDamageProps; + Fracture: EffectDamageProps; + DestroyedPart: EffectDamageProps; } -export interface Pain { +export interface EffectDamageProps { delay: number; duration: number; fadeOut: number; -} -export interface Contusion { - delay: number; - duration: number; - fadeOut: number; -} -export interface Cartridge { - _name: string; - _id: string; - _parent: string; - _max_count: number; - _props: CartridgeProps; - _proto: string; -} -export interface CartridgeProps { - filters: Filter[]; -} -export interface Filter { - Shift?: number; - Filter: string[]; - AnimationIndex?: number; + cost?: number; + healthPenaltyMin?: number; + healthPenaltyMax?: number; } export interface Color { r: number; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/hideout/HideoutAreasEnum.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/hideout/HideoutAreasEnum.d.ts deleted file mode 100644 index 10f851b..0000000 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/hideout/HideoutAreasEnum.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -export declare enum HideoutAreasEnum { - NOTSET = -1, - VENTS = 0, - SECURITY = 1, - LAVATORY = 2, - STASH = 3, - GENERATOR = 4, - HEATING = 5, - WATER_COLLECTOR = 6, - MEDSTATION = 7, - NUTRITION_UNIT = 8, - REST_SPACE = 9, - WORKBENCH = 10, - INTEL_CENTER = 11, - SHOOTING_RANGE = 12, - LIBRARY = 13, - SCAV_CASE = 14, - ILLUMINATION = 15, - PLACE_OF_FAME = 16, - AIR_FILTERING = 17, - SOLAR_POWER = 18, - BOOZE_GENERATOR = 19, - BITCOIN_FARM = 20, - CHRISTMAS_TREE = 21 -} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/profile/IAkiProfile.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/profile/IAkiProfile.d.ts index 80dd02d..3e0b319 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/profile/IAkiProfile.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/eft/profile/IAkiProfile.d.ts @@ -126,12 +126,16 @@ export interface Chest { export interface Stomach { } export interface LeftArm { + Fracture?: number; } export interface RightArm { + Fracture?: number; } export interface LeftLeg { + Fracture?: number; } export interface RightLeg { + Fracture?: number; } export interface Inraid { location: string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/enums/QuestStatus.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/enums/QuestStatus.d.ts new file mode 100644 index 0000000..6335c73 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/enums/QuestStatus.d.ts @@ -0,0 +1,10 @@ +export declare enum QuestStatus { + Locked = 0, + AvailableForStart = 1, + Started = 2, + AvailableForFinish = 3, + Success = 4, + Fail = 5, + FailRestartable = 6, + MarkedAsFailed = 7 +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/config/IBotConfig.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/config/IBotConfig.d.ts index f8ea940..5fb9d93 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/config/IBotConfig.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/config/IBotConfig.d.ts @@ -5,6 +5,7 @@ export interface IBotConfig extends IBaseConfig { bosses: string[]; durability: Durability; lootNValue: LootNvalue; + revenge: Record; pmc: PmcConfig; showTypeInNickname: boolean; maxBotCap: number; @@ -97,6 +98,7 @@ export interface PmcConfig { maxPocketLootTotalRub: number; maxVestLootTotalRub: number; types: Types; + enemyTypes: string[]; } export interface DynamicLoot { whitelist: string[]; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/helpers/Traders.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/helpers/Traders.d.ts deleted file mode 100644 index e935d29..0000000 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/helpers/Traders.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare const enum Traders { - PRAPOR = "54cb50c76803fa8b248b4571", - THERAPIST = "54cb57776803fa99248b456e", - FENCE = "579dc571d53a0658a154fbec", - SKIER = "58330581ace78e27b8b10cee", - PEACEKEEPER = "5935c25fb3acc3127c3d8cd9", - MECHANIC = "5a7c2eca46aef81a7ca2145d", - RAGMAN = "5ac3b934156ae10c4430e83c", - JAEGER = "5c0647fdd443bc2504c2d371" -} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/mod/IModLoader.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/mod/IModLoader.d.ts index 5398c9b..40a5e19 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/mod/IModLoader.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/mod/IModLoader.d.ts @@ -3,6 +3,5 @@ export interface IModLoader { load(container: DependencyContainer): void; getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; - getImportedModsNames(): string[]; getModPath(mod: string): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/mod/IPackageJsonData.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/mod/IPackageJsonData.d.ts index 09472cd..99e4ef9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/mod/IPackageJsonData.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/mod/IPackageJsonData.d.ts @@ -1,6 +1,7 @@ export interface IPackageJsonData { incompatibilities?: string[]; dependencies?: string[]; + modDependencies?: Record; name: string; author: string; version: string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/IDatabaseTables.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/IDatabaseTables.d.ts index dbb71be..e0d3fdd 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/IDatabaseTables.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/IDatabaseTables.d.ts @@ -5,6 +5,7 @@ import { IBotType } from "../../eft/common/tables/IBotType"; import { ICustomizationItem } from "../../eft/common/tables/ICustomizationItem"; import { IHandbookBase } from "../../eft/common/tables/IHandbookBase"; import { ILootBase } from "../../eft/common/tables/ILootBase"; +import { IMatch } from "../../eft/common/tables/IMatch"; import { IQuest } from "../../eft/common/tables/IQuest"; import { IRepeatableQuestDatabase } from "../../eft/common/tables/IRepeatableQuests"; import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; @@ -18,22 +19,22 @@ import { ILocations } from "./ILocations"; import { IServerBase } from "./IServerBase"; import { ISettingsBase } from "./ISettingsBase"; export interface IDatabaseTables { - bots: { + bots?: { types: Record; base: IBotBase; core: IBotCore; }; - hideout: { + hideout?: { areas: IHideoutArea[]; production: IHideoutProduction[]; scavcase: IHideoutScavCase[]; settings: IHideoutSettingsBase; }; - locales: ILocaleBase; - locations: ILocations; - loot: ILootBase; - match: any; - templates: { + locales?: ILocaleBase; + locations?: ILocations; + loot?: ILootBase; + match?: IMatch; + templates?: { character: string[]; items: Record; quests: IQuest[]; @@ -44,8 +45,8 @@ export interface IDatabaseTables { profiles: any; prices: Record; }; - traders: Record; - globals: IGlobals; - server: IServerBase; - settings: ISettingsBase; + traders?: Record; + globals?: IGlobals; + server?: IServerBase; + settings?: ISettingsBase; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/IHttpServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/IHttpServer.d.ts index 50e5c91..c828399 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/IHttpServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/IHttpServer.d.ts @@ -1,4 +1,5 @@ /// +/// import http, { ServerResponse } from "http"; import { INotification } from "../../eft/notifier/INotifier"; export interface IHttpServer { diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/ILocaleBase.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/ILocaleBase.d.ts index a20084d..8887c06 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/ILocaleBase.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/server/ILocaleBase.d.ts @@ -1,5 +1,5 @@ export interface ILocaleBase { - global: ILocaleGlobalBase; + global: Record; menu: Record; languages: ILanguageBase[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/services/CustomPreset.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/services/CustomPreset.d.ts new file mode 100644 index 0000000..f07382e --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/services/CustomPreset.d.ts @@ -0,0 +1,5 @@ +import { Preset } from "../../eft/common/IGlobals"; +export interface CustomPreset { + key: string; + preset: Preset; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/services/CustomTraderAssortData.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/services/CustomTraderAssortData.d.ts new file mode 100644 index 0000000..265a26a --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/models/spt/services/CustomTraderAssortData.d.ts @@ -0,0 +1,6 @@ +import { ITraderAssort } from "../../eft/common/tables/ITrader"; +import { Traders } from "../../enums/Traders"; +export interface CustomTraderAssortData { + traderId: Traders; + assorts: ITraderAssort; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/HttpRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/HttpRouter.d.ts index 44edc0b..f75a47d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/HttpRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/HttpRouter.d.ts @@ -1,11 +1,16 @@ /// import { IncomingMessage } from "http"; -import { DynamicRouter, StaticRouter } from "../di/Router"; +import { DynamicRouter, Router, StaticRouter } from "../di/Router"; export declare class HttpRouter { - private staticRouters; - private dynamicRoutes; + protected staticRouters: StaticRouter[]; + protected dynamicRoutes: DynamicRouter[]; constructor(staticRouters: StaticRouter[], dynamicRoutes: DynamicRouter[]); - private groupBy; + protected groupBy(list: T[], keyGetter: (t: T) => string): Map; getResponse(req: IncomingMessage, info: any, sessionID: string): string; - private handleRoute; + protected handleRoute(url: string, info: any, sessionID: string, wrapper: ResponseWrapper, routers: Router[], dynamic: boolean): boolean; } +declare class ResponseWrapper { + output: string; + constructor(output: string); +} +export {}; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/ImageRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/ImageRouter.d.ts index 97e580d..ab03977 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/ImageRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/ImageRouter.d.ts @@ -4,8 +4,8 @@ import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ImageRouteService } from "../services/mod/image/ImageRouteService"; import { VFS } from "../utils/VFS"; export declare class ImageRouter { - private vfs; - private imageRouteService; + protected vfs: VFS; + protected imageRouteService: ImageRouteService; constructor(vfs: VFS, imageRouteService: ImageRouteService); addRoute(key: string, valueToAdd: string): void; sendImage(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: any, httpServer: IHttpServer): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/ItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/ItemEventRouter.d.ts index bb20152..b1ac5d9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/ItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/ItemEventRouter.d.ts @@ -5,13 +5,13 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { ItemEventRouterDefinition } from "../di/Router"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class ItemEventRouter { - private logger; - private jsonUtil; - private profileHelper; - private itemEventRouters; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected profileHelper: ProfileHelper; + protected itemEventRouters: ItemEventRouterDefinition[]; constructor(logger: ILogger, jsonUtil: JsonUtil, profileHelper: ProfileHelper, itemEventRouters: ItemEventRouterDefinition[]); - private output; + protected output: IItemEventRouterResponse; handleEvents(info: IItemEventRouterRequest, sessionID: string): IItemEventRouterResponse; getOutput(sessionID: string): IItemEventRouterResponse; - private resetOutput; + protected resetOutput(sessionID: string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/BotDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/BotDynamicRouter.d.ts index dd2f68a..6d0ab4b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/BotDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/BotDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { BotCallbacks } from "../../callbacks/BotCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class BotDynamicRouter extends DynamicRouter { - private botCallbacks; + protected botCallbacks: BotCallbacks; constructor(botCallbacks: BotCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/BundleDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/BundleDynamicRouter.d.ts index be27008..a765410 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/BundleDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/BundleDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class BundleDynamicRouter extends DynamicRouter { - private bundleCallbacks; + protected bundleCallbacks: BundleCallbacks; constructor(bundleCallbacks: BundleCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/CustomizationDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/CustomizationDynamicRouter.d.ts index 03a5967..2db7cc5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/CustomizationDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/CustomizationDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class CustomizationDynamicRouter extends DynamicRouter { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/DataDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/DataDynamicRouter.d.ts index c30501a..836ed8d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/DataDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/DataDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { DataCallbacks } from "../../callbacks/DataCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class DataDynamicRouter extends DynamicRouter { - private dataCallbacks; + protected dataCallbacks: DataCallbacks; constructor(dataCallbacks: DataCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/HttpDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/HttpDynamicRouter.d.ts index b2933e9..a152b4d 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/HttpDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/HttpDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { DynamicRouter } from "../../di/Router"; import { ImageRouter } from "../ImageRouter"; export declare class HttpDynamicRouter extends DynamicRouter { - private imageRouter; + protected imageRouter: ImageRouter; constructor(imageRouter: ImageRouter); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/InraidDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/InraidDynamicRouter.d.ts index ea4a9ae..7c0561f 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/InraidDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/InraidDynamicRouter.d.ts @@ -1,7 +1,7 @@ import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class InraidDynamicRouter extends DynamicRouter { - private inraidCallbacks; + protected inraidCallbacks: InraidCallbacks; constructor(inraidCallbacks: InraidCallbacks); getTopLevelRoute(): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/LocationDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/LocationDynamicRouter.d.ts index 30741db..b8e5cdf 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/LocationDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/LocationDynamicRouter.d.ts @@ -1,7 +1,7 @@ import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class LocationDynamicRouter extends DynamicRouter { - private locationCallbacks; + protected locationCallbacks: LocationCallbacks; constructor(locationCallbacks: LocationCallbacks); getTopLevelRoute(): string; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/NotifierDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/NotifierDynamicRouter.d.ts index 4786817..83c60c5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/NotifierDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/NotifierDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class NotifierDynamicRouter extends DynamicRouter { - private notifierCallbacks; + protected notifierCallbacks: NotifierCallbacks; constructor(notifierCallbacks: NotifierCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/TraderDynamicRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/TraderDynamicRouter.d.ts index a100b4c..5b7cc1b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/TraderDynamicRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/dynamic/TraderDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class TraderDynamicRouter extends DynamicRouter { - private traderCallbacks; + protected traderCallbacks: TraderCallbacks; constructor(traderCallbacks: TraderCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/CustomizationItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/CustomizationItemEventRouter.d.ts index 3025e2c..e78445e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/CustomizationItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/CustomizationItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class CustomizationItemEventRouter extends ItemEventRouterDefinition { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/HealthItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/HealthItemEventRouter.d.ts index bad9af2..99847c6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/HealthItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/HealthItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class HealthItemEventRouter extends ItemEventRouterDefinition { - private healthCallbacks; + protected healthCallbacks: HealthCallbacks; constructor(healthCallbacks: HealthCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/HideoutItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/HideoutItemEventRouter.d.ts index 2cec18b..e1e98af 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/HideoutItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/HideoutItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { HideoutCallbacks } from "../../callbacks/HideoutCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class HideoutItemEventRouter extends ItemEventRouterDefinition { - private hideoutCallbacks; + protected hideoutCallbacks: HideoutCallbacks; constructor(hideoutCallbacks: HideoutCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/InsuranceItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/InsuranceItemEventRouter.d.ts index 8efc2c2..a922cc0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/InsuranceItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/InsuranceItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class InsuranceItemEventRouter extends ItemEventRouterDefinition { - private insuranceCallbacks; + protected insuranceCallbacks: InsuranceCallbacks; constructor(insuranceCallbacks: InsuranceCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/InventoryItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/InventoryItemEventRouter.d.ts index 1d93e7b..2619bb9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/InventoryItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/InventoryItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { InventoryCallbacks } from "../../callbacks/InventoryCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class InventoryItemEventRouter extends ItemEventRouterDefinition { - private inventoryCallbacks; + protected inventoryCallbacks: InventoryCallbacks; constructor(inventoryCallbacks: InventoryCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/NoteItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/NoteItemEventRouter.d.ts index 12af594..59bf598 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/NoteItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/NoteItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { NoteCallbacks } from "../../callbacks/NoteCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class NoteItemEventRouter extends ItemEventRouterDefinition { - private noteCallbacks; + protected noteCallbacks: NoteCallbacks; constructor(noteCallbacks: NoteCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/PresetBuildItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/PresetBuildItemEventRouter.d.ts index 7298c52..277db44 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/PresetBuildItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/PresetBuildItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class PresetBuildItemEventRouter extends ItemEventRouterDefinition { - private presetBuildCallbacks; + protected presetBuildCallbacks: PresetBuildCallbacks; constructor(presetBuildCallbacks: PresetBuildCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/QuestItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/QuestItemEventRouter.d.ts index 9944ae9..a092aa6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/QuestItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/QuestItemEventRouter.d.ts @@ -1,10 +1,12 @@ -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "../../models/spt/utils/ILogger"; export declare class QuestItemEventRouter extends ItemEventRouterDefinition { - private questCallbacks; - constructor(questCallbacks: QuestCallbacks); + protected logger: ILogger; + protected questCallbacks: QuestCallbacks; + constructor(logger: ILogger, questCallbacks: QuestCallbacks); getHandledRoutes(): HandledRoute[]; - handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; + handleItemEvent(eventAction: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/RagfairItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/RagfairItemEventRouter.d.ts index 88e52ba..9216cc5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/RagfairItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/RagfairItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class RagfairItemEventRouter extends ItemEventRouterDefinition { - private ragfairCallbacks; + protected ragfairCallbacks: RagfairCallbacks; constructor(ragfairCallbacks: RagfairCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/RepairItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/RepairItemEventRouter.d.ts index b292ded..5196ba9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/RepairItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/RepairItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { RepairCallbacks } from "../../callbacks/RepairCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class RepairItemEventRouter extends ItemEventRouterDefinition { - private repairCallbacks; + protected repairCallbacks: RepairCallbacks; constructor(repairCallbacks: RepairCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/TradeItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/TradeItemEventRouter.d.ts index 1bca2b8..a43bb0a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/TradeItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/TradeItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { TradeCallbacks } from "../../callbacks/TradeCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class TradeItemEventRouter extends ItemEventRouterDefinition { - private tradeCallbacks; + protected tradeCallbacks: TradeCallbacks; constructor(tradeCallbacks: TradeCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/WishlistItemEventRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/WishlistItemEventRouter.d.ts index 38831f6..38497fb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/WishlistItemEventRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/item_events/WishlistItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { WishlistCallbacks } from "../../callbacks/WishlistCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class WishlistItemEventRouter extends ItemEventRouterDefinition { - private wishlistCallbacks; + protected wishlistCallbacks: WishlistCallbacks; constructor(wishlistCallbacks: WishlistCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/BundleSerializer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/BundleSerializer.d.ts index 7952e9c..912db83 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/BundleSerializer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/BundleSerializer.d.ts @@ -3,8 +3,8 @@ import { BundleLoader } from "../../loaders/BundleLoader"; import { IHttpServer } from "../../models/spt/server/IHttpServer"; import { ILogger } from "../../models/spt/utils/ILogger"; export declare class BundleSerializer extends Serializer { - private logger; - private bundleLoader; + protected logger: ILogger; + protected bundleLoader: BundleLoader; constructor(logger: ILogger, bundleLoader: BundleLoader); serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/ImageSerializer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/ImageSerializer.d.ts index 29340d0..0e040d4 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/ImageSerializer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/ImageSerializer.d.ts @@ -2,7 +2,7 @@ import { IHttpServer } from "../../models/spt/server/IHttpServer"; import { Serializer } from "../../di/Serializer"; import { ImageRouter } from "../ImageRouter"; export declare class ImageSerializer extends Serializer { - private imageRouter; + protected imageRouter: ImageRouter; constructor(imageRouter: ImageRouter); serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/NotifySerializer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/NotifySerializer.d.ts index 8be8ac2..1779ac9 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/NotifySerializer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/serializers/NotifySerializer.d.ts @@ -3,9 +3,9 @@ import { Serializer } from "../../di/Serializer"; import { HttpServerHelper } from "../../helpers/HttpServerHelper"; import { IHttpServer } from "../../models/spt/server/IHttpServer"; export declare class NotifySerializer extends Serializer { - private notifierController; - private httpServerHelper; + protected notifierController: NotifierController; + protected httpServerHelper: HttpServerHelper; constructor(notifierController: NotifierController, httpServerHelper: HttpServerHelper); - serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + serialize(_sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/BotStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/BotStaticRouter.d.ts index d8b0bf4..aeea220 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/BotStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/BotStaticRouter.d.ts @@ -1,6 +1,6 @@ import { BotCallbacks } from "../../callbacks/BotCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class BotStaticRouter extends StaticRouter { - private botCallbacks; + protected botCallbacks: BotCallbacks; constructor(botCallbacks: BotCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/BundleStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/BundleStaticRouter.d.ts index 3905b82..fb682fc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/BundleStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/BundleStaticRouter.d.ts @@ -1,6 +1,6 @@ import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class BundleStaticRouter extends StaticRouter { - private bundleCallbacks; + protected bundleCallbacks: BundleCallbacks; constructor(bundleCallbacks: BundleCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/CustomizationStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/CustomizationStaticRouter.d.ts index 46c71b8..21bc4bb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/CustomizationStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/CustomizationStaticRouter.d.ts @@ -1,6 +1,6 @@ import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class CustomizationStaticRouter extends StaticRouter { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/DataStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/DataStaticRouter.d.ts index a493d3a..84ba7fd 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/DataStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/DataStaticRouter.d.ts @@ -1,6 +1,6 @@ import { DataCallbacks } from "../../callbacks/DataCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class DataStaticRouter extends StaticRouter { - private dataCallbacks; + protected dataCallbacks: DataCallbacks; constructor(dataCallbacks: DataCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/DialogStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/DialogStaticRouter.d.ts index a59fb14..546cdf1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/DialogStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/DialogStaticRouter.d.ts @@ -1,6 +1,6 @@ import { DialogueCallbacks } from "../../callbacks/DialogueCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class DialogStaticRouter extends StaticRouter { - private dialogueCallbacks; + protected dialogueCallbacks: DialogueCallbacks; constructor(dialogueCallbacks: DialogueCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/GameStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/GameStaticRouter.d.ts index 988b673..a9a7496 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/GameStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/GameStaticRouter.d.ts @@ -1,6 +1,6 @@ import { GameCallbacks } from "../../callbacks/GameCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class GameStaticRouter extends StaticRouter { - private gameCallbacks; + protected gameCallbacks: GameCallbacks; constructor(gameCallbacks: GameCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/HealthStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/HealthStaticRouter.d.ts index e644861..863fd5e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/HealthStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/HealthStaticRouter.d.ts @@ -1,6 +1,6 @@ import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class HealthStaticRouter extends StaticRouter { - private healthCallbacks; + protected healthCallbacks: HealthCallbacks; constructor(healthCallbacks: HealthCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/InraidStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/InraidStaticRouter.d.ts index 66ed860..b29ad23 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/InraidStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/InraidStaticRouter.d.ts @@ -1,6 +1,6 @@ import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class InraidStaticRouter extends StaticRouter { - private inraidCallbacks; + protected inraidCallbacks: InraidCallbacks; constructor(inraidCallbacks: InraidCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/InsuranceStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/InsuranceStaticRouter.d.ts index 8da26b3..5676499 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/InsuranceStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/InsuranceStaticRouter.d.ts @@ -1,6 +1,6 @@ import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class InsuranceStaticRouter extends StaticRouter { - private insuranceCallbacks; + protected insuranceCallbacks: InsuranceCallbacks; constructor(insuranceCallbacks: InsuranceCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/ItemEventStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/ItemEventStaticRouter.d.ts index 08ba6bb..c30a7fc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/ItemEventStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/ItemEventStaticRouter.d.ts @@ -1,6 +1,6 @@ import { ItemEventCallbacks } from "../../callbacks/ItemEventCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class ItemEventStaticRouter extends StaticRouter { - private itemEventCallbacks; + protected itemEventCallbacks: ItemEventCallbacks; constructor(itemEventCallbacks: ItemEventCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/LauncherStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/LauncherStaticRouter.d.ts index 9d07f78..0040cbd 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/LauncherStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/LauncherStaticRouter.d.ts @@ -1,6 +1,6 @@ import { LauncherCallbacks } from "../../callbacks/LauncherCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class LauncherStaticRouter extends StaticRouter { - private launcherCallbacks; + protected launcherCallbacks: LauncherCallbacks; constructor(launcherCallbacks: LauncherCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/LocationStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/LocationStaticRouter.d.ts index 9c5c52e..b6de956 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/LocationStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/LocationStaticRouter.d.ts @@ -1,6 +1,6 @@ import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class LocationStaticRouter extends StaticRouter { - private locationCallbacks; + protected locationCallbacks: LocationCallbacks; constructor(locationCallbacks: LocationCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/MatchStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/MatchStaticRouter.d.ts index d746381..9920a92 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/MatchStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/MatchStaticRouter.d.ts @@ -1,6 +1,6 @@ import { MatchCallbacks } from "../../callbacks/MatchCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class MatchStaticRouter extends StaticRouter { - private matchCallbacks; + protected matchCallbacks: MatchCallbacks; constructor(matchCallbacks: MatchCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/NotifierStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/NotifierStaticRouter.d.ts index 1c8566d..8f1f5cc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/NotifierStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/NotifierStaticRouter.d.ts @@ -1,6 +1,6 @@ import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class NotifierStaticRouter extends StaticRouter { - private notifierCallbacks; + protected notifierCallbacks: NotifierCallbacks; constructor(notifierCallbacks: NotifierCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/PresetStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/PresetStaticRouter.d.ts index 2272f82..a9e7458 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/PresetStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/PresetStaticRouter.d.ts @@ -1,6 +1,6 @@ import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class PresetStaticRouter extends StaticRouter { - private presetCallbacks; + protected presetCallbacks: PresetBuildCallbacks; constructor(presetCallbacks: PresetBuildCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/ProfileStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/ProfileStaticRouter.d.ts index fd787f1..83403f2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/ProfileStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/ProfileStaticRouter.d.ts @@ -1,6 +1,6 @@ import { ProfileCallbacks } from "../../callbacks/ProfileCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class ProfileStaticRouter extends StaticRouter { - private profileCallbacks; + protected profileCallbacks: ProfileCallbacks; constructor(profileCallbacks: ProfileCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/QuestStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/QuestStaticRouter.d.ts index fda3c23..8f7ca0a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/QuestStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/QuestStaticRouter.d.ts @@ -1,6 +1,6 @@ import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class QuestStaticRouter extends StaticRouter { - private questCallbacks; + protected questCallbacks: QuestCallbacks; constructor(questCallbacks: QuestCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/RagfairStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/RagfairStaticRouter.d.ts index 618374f..6c41467 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/RagfairStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/RagfairStaticRouter.d.ts @@ -1,6 +1,6 @@ import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class RagfairStaticRouter extends StaticRouter { - private ragfairCallbacks; + protected ragfairCallbacks: RagfairCallbacks; constructor(ragfairCallbacks: RagfairCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/TraderStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/TraderStaticRouter.d.ts index 18f0629..41728a1 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/TraderStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/TraderStaticRouter.d.ts @@ -1,6 +1,6 @@ import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class TraderStaticRouter extends StaticRouter { - private traderCallbacks; + protected traderCallbacks: TraderCallbacks; constructor(traderCallbacks: TraderCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/WeatherStaticRouter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/WeatherStaticRouter.d.ts index 61b904d..72ed851 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/WeatherStaticRouter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/routers/static/WeatherStaticRouter.d.ts @@ -1,6 +1,6 @@ import { WeatherCallbacks } from "../../callbacks/WeatherCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class WeatherStaticRouter extends StaticRouter { - private weatherCallbacks; + protected weatherCallbacks: WeatherCallbacks; constructor(weatherCallbacks: WeatherCallbacks); } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/ConfigServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/ConfigServer.d.ts index 83af38d..a079be8 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/ConfigServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/ConfigServer.d.ts @@ -3,10 +3,10 @@ import { VFS } from "../utils/VFS"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigTypes } from "../models/enums/ConfigTypes"; export declare class ConfigServer { - private logger; - private vfs; - private jsonUtil; - private configs; + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected configs: Record; constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil); getConfig(configType: ConfigTypes): T; getConfigByString(configType: string): T; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/DatabaseServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/DatabaseServer.d.ts index 521bcf9..aa152d0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/DatabaseServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/DatabaseServer.d.ts @@ -1,6 +1,6 @@ import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; export declare class DatabaseServer { - private tableData; + protected tableData: IDatabaseTables; getTables(): IDatabaseTables; setTables(any: any): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/HttpServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/HttpServer.d.ts index d0db7e4..5234966 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/HttpServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/HttpServer.d.ts @@ -1,9 +1,11 @@ /// +/// import http, { ServerResponse } from "http"; import { Serializer } from "../di/Serializer"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { NotifierHelper } from "../helpers/NotifierHelper"; import { INotification } from "../models/eft/notifier/INotifier"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { HttpRouter } from "../routers/HttpRouter"; @@ -13,24 +15,24 @@ import { RandomUtil } from "../utils/RandomUtil"; import { ConfigServer } from "./ConfigServer"; import { DatabaseServer } from "./DatabaseServer"; export declare class HttpServer implements IHttpServer { - private httpRouter; - private logger; - private randomUtil; - private jsonUtil; - private httpResponse; - private databaseServer; - private notifierHelper; - private httpServerHelper; - private serializers; - private configServer; + protected httpRouter: HttpRouter; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected jsonUtil: JsonUtil; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + protected notifierHelper: NotifierHelper; + protected httpServerHelper: HttpServerHelper; + protected serializers: Serializer[]; + protected configServer: ConfigServer; constructor(httpRouter: HttpRouter, // TODO: delay required logger: ILogger, randomUtil: RandomUtil, jsonUtil: JsonUtil, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, serializers: Serializer[], configServer: ConfigServer); - private buffers; - private onReceive; - private onRespond; - private httpConfig; - private webSockets; - private websocketPingHandler; + protected buffers: {}; + protected onReceive: {}; + protected onRespond: {}; + protected httpConfig: IHttpConfig; + protected webSockets: {}; + protected websocketPingHandler: any; getCookies(req: http.IncomingMessage): any; resetBuffer(sessionID: string): void; putInBuffer(sessionID: any, data: any, bufLength: number): boolean; @@ -42,6 +44,6 @@ export declare class HttpServer implements IHttpServer { sendResponse(sessionID: string, req: any, resp: any, body: Buffer): void; handleRequest(req: http.IncomingMessage, resp: http.ServerResponse): void; load(): void; - private getRandomisedMessage; + protected getRandomisedMessage(): string; wsOnConnection(ws: any, req: any): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/RagfairServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/RagfairServer.d.ts index cf56d64..60c92b5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/RagfairServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/RagfairServer.d.ts @@ -1,18 +1,19 @@ import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; import { ConfigServer } from "./ConfigServer"; export declare class RagfairServer { - private logger; - private ragfairOfferGenerator; - private ragfairOfferService; - private ragfairCategoriesService; - private ragfairRequiredItemsService; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected ragfairOfferService: RagfairOfferService; + protected ragfairCategoriesService: RagfairCategoriesService; + protected ragfairRequiredItemsService: RagfairRequiredItemsService; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer); load(): void; update(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/SaveServer.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/SaveServer.d.ts index fdf92e4..cb28f49 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/SaveServer.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/servers/SaveServer.d.ts @@ -5,15 +5,15 @@ import { VFS } from "../utils/VFS"; import { SaveLoadRouter } from "../di/Router"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class SaveServer { - private vfs; - private saveLoadRouters; - private jsonUtil; - private hashUtil; - private logger; - private profileFilepath; - private profiles; - private onSave; - private saveMd5; + protected vfs: VFS; + protected saveLoadRouters: SaveLoadRouter[]; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected logger: ILogger; + protected profileFilepath: string; + protected profiles: {}; + protected onSave: {}; + protected saveMd5: {}; constructor(vfs: VFS, saveLoadRouters: SaveLoadRouter[], jsonUtil: JsonUtil, hashUtil: HashUtil, logger: ILogger); load(): void; save(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomHandbookItemService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomHandbookItemService.d.ts new file mode 100644 index 0000000..1c25b99 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomHandbookItemService.d.ts @@ -0,0 +1,13 @@ +import { HandbookItem } from "../models/eft/common/tables/IHandbookBase"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomHandbookItemService { + protected logger: ILogger; + private customHandbookItems; + constructor(logger: ILogger); + /** + * Add handbook item + * @param handbookItem item to add + */ + add(handbookItem: HandbookItem): void; + get(): HandbookItem[]; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomItemService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomItemService.d.ts new file mode 100644 index 0000000..d5806b4 --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomItemService.d.ts @@ -0,0 +1,11 @@ +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class CustomItemService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + private customItems; + constructor(logger: ILogger, databaseServer: DatabaseServer); + add(itemToAdd: ITemplateItem): void; + get(): ITemplateItem[]; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomTraderAssortService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomTraderAssortService.d.ts new file mode 100644 index 0000000..e63d67b --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/CustomTraderAssortService.d.ts @@ -0,0 +1,14 @@ +import { CustomTraderAssortData } from "../models/spt/services/CustomTraderAssortData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class CustomTraderAssortService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + private customAssorts; + constructor(logger: ILogger, databaseServer: DatabaseServer); + /** + * Add assorts to a specific trader + */ + add(assortsToAdd: CustomTraderAssortData): void; + get(): CustomTraderAssortData[]; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/FenceService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/FenceService.d.ts index 27d14ef..12723fb 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/FenceService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/FenceService.d.ts @@ -4,6 +4,7 @@ import { PresetHelper } from "../helpers/PresetHelper"; import { FenceLevel } from "../models/eft/common/IGlobals"; import { IPmcData } from "../models/eft/common/IPmcData"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,19 +12,19 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class FenceService { - private logger; - private hashUtil; - private jsonUtil; - private randomUtil; - private databaseServer; - private handbookHelper; - private itemHelper; - private presetHelper; - private configServer; - private fenceAssort; - private traderConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected configServer: ConfigServer; + protected fenceAssort: ITraderAssort; + protected traderConfig: ITraderConfig; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, presetHelper: PresetHelper, configServer: ConfigServer); - private setFenceAssort; + protected setFenceAssort(fenceAssort: ITraderAssort): void; getFenceAssorts(): ITraderAssort; hasExpiredCache(refreshAssort: boolean): boolean; generateFenceAssortCache(pmcData: IPmcData): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/HashCacheService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/HashCacheService.d.ts index c9b0170..5320f28 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/HashCacheService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/HashCacheService.d.ts @@ -3,13 +3,13 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { VFS } from "../utils/VFS"; export declare class HashCacheService { - private vfs; - private hashUtil; - private jsonUtil; - private logger; - private jsonHashes; - private modHashes; - private readonly modCachePath; + protected vfs: VFS; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected jsonHashes: any; + protected modHashes: any; + protected readonly modCachePath = "./user/cache/modCache.json"; constructor(vfs: VFS, hashUtil: HashUtil, jsonUtil: JsonUtil, logger: ILogger); getStoredModHash(modName: string): string; modContentMatchesStoredHash(modName: string, modContent: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/InsuranceService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/InsuranceService.d.ts index 160faba..0219816 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/InsuranceService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/InsuranceService.d.ts @@ -4,6 +4,7 @@ import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,18 +12,18 @@ import { SaveServer } from "../servers/SaveServer"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class InsuranceService { - private logger; - private databaseServer; - private secureContainerHelper; - private randomUtil; - private timeUtil; - private saveServer; - private traderHelper; - private dialogueHelper; - private configServer; - private insured; - private templatesById; - private insuranceConfig; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected secureContainerHelper: SecureContainerHelper; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected traderHelper: TraderHelper; + protected dialogueHelper: DialogueHelper; + protected configServer: ConfigServer; + protected insured: Record>; + protected templatesById: {}; + protected insuranceConfig: IInsuranceConfig; constructor(logger: ILogger, databaseServer: DatabaseServer, secureContainerHelper: SecureContainerHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, saveServer: SaveServer, traderHelper: TraderHelper, dialogueHelper: DialogueHelper, configServer: ConfigServer); insuranceExists(sessionId: string): boolean; insuranceTraderArrayExists(sessionId: string, traderId: string): boolean; @@ -36,6 +37,6 @@ export declare class InsuranceService { sendInsuredItems(pmcData: IPmcData, sessionID: string): void; storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; - private addGearToSend; + protected addGearToSend(pmcData: IPmcData, insuredItem: any, actualItem: any, sessionID: string): any; getPremium(pmcData: IPmcData, inventoryItem: Item, traderId: string): number; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/MatchLocationService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/MatchLocationService.d.ts index f7b7d3b..2b5fc0e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/MatchLocationService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/MatchLocationService.d.ts @@ -1,7 +1,7 @@ import { TimeUtil } from "../utils/TimeUtil"; export declare class MatchLocationService { - private timeUtil; - private locations; + protected timeUtil: TimeUtil; + protected locations: {}; constructor(timeUtil: TimeUtil); createGroup(sessionID: string, info: any): any; deleteGroup(info: any): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/ModCompilerService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/ModCompilerService.d.ts index cf7cc21..26cb4ac 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/ModCompilerService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/ModCompilerService.d.ts @@ -1,15 +1,20 @@ +import * as ts from "typescript"; import { ILogger } from "../models/spt/utils/ILogger"; import { VFS } from "../utils/VFS"; import { HashCacheService } from "./HashCacheService"; export declare class ModCompilerService { - private logger; - private hashCacheService; - private vfs; + protected logger: ILogger; + protected hashCacheService: HashCacheService; + protected vfs: VFS; constructor(logger: ILogger, hashCacheService: HashCacheService, vfs: VFS); compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise; - private compile; - private buildDepth; - private calculateDepth; - private areFilesReady; - private delay; + protected compile(fileNames: string[], options: ts.CompilerOptions): Promise; + protected buildDepth(depth: number): string; + protected getNodesModulesPath(depth: number): string; + protected getAkiPath(depth: number): string; + protected getAkiFolder(): string; + protected getNodesModulesFolder(): string; + protected calculateDepth(file: string): number; + protected areFilesReady(fileNames: string[]): boolean; + protected delay(ms: number): Promise; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/NotificationService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/NotificationService.d.ts index 9c6c143..7e2a127 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/NotificationService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/NotificationService.d.ts @@ -1,6 +1,6 @@ import { INotification } from "../models/eft/notifier/INotifier"; export declare class NotificationService { - private messageQueue; + protected messageQueue: {}; getMessageQueue(): {}; getMessageFromQueue(sessionId: string): any; updateMessageOnQueue(sessionId: string, value: any[]): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/PaymentService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/PaymentService.d.ts index 0a6c4d6..5834750 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/PaymentService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/PaymentService.d.ts @@ -4,6 +4,7 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PaymentHelper } from "../helpers/PaymentHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; @@ -11,14 +12,14 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class PaymentService { - private logger; - private httpResponse; - private databaseServer; - private handbookHelper; - private traderHelper; - private itemHelper; - private inventoryHelper; - private paymentHelper; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected traderHelper: TraderHelper; + protected itemHelper: ItemHelper; + protected inventoryHelper: InventoryHelper; + protected paymentHelper: PaymentHelper; constructor(logger: ILogger, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); /** * Take money and insert items into return to server request @@ -43,6 +44,6 @@ export declare class PaymentService { * inside the stash, that is it has the stash as * ancestor with slotId=hideout */ - private isItemInStash; + protected isItemInStash(pmcData: IPmcData, item: Item): boolean; addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/PlayerService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/PlayerService.d.ts index 99e5986..519b7e5 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/PlayerService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/PlayerService.d.ts @@ -3,8 +3,8 @@ import { IPlayerIncrementSkillLevelRequestData } from "../models/eft/player/IPla import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PlayerService { - private logger; - private databaseServer; + protected logger: ILogger; + protected databaseServer: DatabaseServer; constructor(logger: ILogger, databaseServer: DatabaseServer); /** * increases the profile skill and updates any output diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairCategoriesService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairCategoriesService.d.ts index fb9efa2..09956cc 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairCategoriesService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairCategoriesService.d.ts @@ -1,7 +1,7 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; export declare class RagfairCategoriesService { updateCategories(offers: IRagfairOffer[]): void; - private categories; + protected categories: Record; getCategories(): Record; getCategoryByItemId(itemId: string): number; resetCategories(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairLinkedItemService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairLinkedItemService.d.ts index 3dbcf6f..6c34ee0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairLinkedItemService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairLinkedItemService.d.ts @@ -1,9 +1,10 @@ import { DatabaseServer } from "../servers/DatabaseServer"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; export declare class RagfairLinkedItemService { - private databaseServer; - private linkedItemsCache; + protected databaseServer: DatabaseServer; + protected linkedItemsCache: Record>; constructor(databaseServer: DatabaseServer); getLinkedItems(linkedSearchId: string): Iterable; - private buildLinkedItemTable; - private getFilters; + protected buildLinkedItemTable(): void; + protected getFilters(item: ITemplateItem, slot: string): string[]; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairOfferService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairOfferService.d.ts index 9b1bf8d..7afbf8c 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairOfferService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairOfferService.d.ts @@ -1,7 +1,9 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { Item } from "../models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -10,20 +12,20 @@ import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairOfferService { - private logger; - private timeUtil; - private databaseServer; - private saveServer; - private ragfairServerHelper; - private profileHelper; - private itemEventRouter; - private httpResponse; - private configServer; - private playerOffersLoaded; - private toUpdate; - private expiredOffers; - private offers; - private ragfairConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected ragfairServerHelper: RagfairServerHelper; + protected profileHelper: ProfileHelper; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected playerOffersLoaded: boolean; + protected toUpdate: Record; + protected expiredOffers: Item[]; + protected offers: IRagfairOffer[]; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); getOffers(): IRagfairOffer[]; getOfferByOfferId(offerId: string): IRagfairOffer; @@ -57,8 +59,8 @@ export declare class RagfairOfferService { * Get an array of stale offers that are still shown to player * @returns IRagfairOffer array */ - private getStaleOffers; - private isStale; - private processStaleOffer; - private returnPlayerOffer; + protected getStaleOffers(): IRagfairOffer[]; + protected isStale(offer: IRagfairOffer, time: number): boolean; + protected processStaleOffer(staleOffer: IRagfairOffer): void; + protected returnPlayerOffer(offer: IRagfairOffer): IItemEventRouterResponse; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairPriceService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairPriceService.d.ts index 7cdf854..5256b99 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairPriceService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairPriceService.d.ts @@ -3,20 +3,22 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { IRagfairServerPrices } from "../models/spt/ragfair/IRagfairServerPrices"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { RandomUtil } from "../utils/RandomUtil"; export declare class RagfairPriceService { - private handbookHelper; - private databaseServer; - private logger; - private itemHelper; - private presetHelper; - private randomUtil; - private configServer; - private ragfairConfig; - private prices; + protected handbookHelper: HandbookHelper; + protected databaseServer: DatabaseServer; + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected randomUtil: RandomUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + protected prices: IRagfairServerPrices; constructor(handbookHelper: HandbookHelper, databaseServer: DatabaseServer, logger: ILogger, itemHelper: ItemHelper, presetHelper: PresetHelper, randomUtil: RandomUtil, configServer: ConfigServer); generateStaticPrices(): void; generateDynamicPrices(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairRequiredItemsService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairRequiredItemsService.d.ts index e4582d0..b05fc65 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairRequiredItemsService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/RagfairRequiredItemsService.d.ts @@ -2,10 +2,10 @@ import { PaymentHelper } from "../helpers/PaymentHelper"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class RagfairRequiredItemsService { - private logger; - private paymentHelper; - private ragfairOfferService; - private requiredItemsCache; + protected logger: ILogger; + protected paymentHelper: PaymentHelper; + protected ragfairOfferService: RagfairOfferService; + protected requiredItemsCache: {}; constructor(logger: ILogger, paymentHelper: PaymentHelper, ragfairOfferService: RagfairOfferService); getRequiredItems(searchId: string): any; buildRequiredItemTable(): void; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/TraderAssortService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/TraderAssortService.d.ts index ccb9e45..5ba2d05 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/TraderAssortService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/TraderAssortService.d.ts @@ -1,6 +1,6 @@ import { ITraderAssort } from "../models/eft/common/tables/ITrader"; export declare class TraderAssortService { - private pristineTraderAssorts; + protected pristineTraderAssorts: Record; getPristineTraderAssort(traderId: string): ITraderAssort; setPristineTraderAssort(traderId: string, assort: ITraderAssort): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/customPresetService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/customPresetService.d.ts new file mode 100644 index 0000000..84a8baf --- /dev/null +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/customPresetService.d.ts @@ -0,0 +1,19 @@ +import { Preset } from "../models/eft/common/IGlobals"; +import { CustomPreset } from "../models/spt/services/CustomPreset"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomPresetService { + protected logger: ILogger; + private customPresets; + constructor(logger: ILogger); + /** + * Add custom preset to internal array + * @param presetKey presets key + * @param presetToAdd preset item to add + */ + add(presetKey: string, presetToAdd: Preset): void; + /** + * Get all custom presets + * @returns + */ + get(): CustomPreset[]; +} diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/image/imageRouteService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/image/imageRouteService.d.ts index 854083c..29569b2 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/image/imageRouteService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/image/imageRouteService.d.ts @@ -1,5 +1,5 @@ export declare class ImageRouteService { - private routes; + protected routes: Record; addRoute(urlKey: string, route: string): void; getByKey(urlKey: string): string; existsByKey(urlKey: string): boolean; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/onLoad/OnLoadModService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/onLoad/OnLoadModService.d.ts index 89bad14..f402103 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/onLoad/OnLoadModService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/onLoad/OnLoadModService.d.ts @@ -1,6 +1,6 @@ import { DependencyContainer } from "tsyringe"; export declare class OnLoadModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerOnLoad(name: string, onLoad: () => void, getRoute: () => string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/onUpdate/OnUpdateModService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/onUpdate/OnUpdateModService.d.ts index 32419f4..05d735b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/onUpdate/OnUpdateModService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/onUpdate/OnUpdateModService.d.ts @@ -1,6 +1,6 @@ import { DependencyContainer } from "tsyringe"; export declare class OnUpdateModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerOnUpdate(name: string, onUpdate: (timeSinceLastRun: number) => boolean, getRoute: () => string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/staticRouter/StaticRouterModService.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/staticRouter/StaticRouterModService.d.ts index d4c42aa..f28fd45 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/staticRouter/StaticRouterModService.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/services/mod/staticRouter/StaticRouterModService.d.ts @@ -1,7 +1,7 @@ import { DependencyContainer } from "tsyringe"; import { RouteAction } from "../../../di/Router"; export declare class StaticRouterModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerStaticRouter(name: string, routes: RouteAction[], topLevelRoute: string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/App.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/App.d.ts index a11f576..34c141e 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/App.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/App.d.ts @@ -3,12 +3,12 @@ import { OnLoad } from "../di/OnLoad"; import { OnUpdate } from "../di/OnUpdate"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class App { - private logger; - private timeUtil; - private onLoadComponents; - private onUpdateComponents; - private onUpdateLastRun; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected onLoadComponents: OnLoad[]; + protected onUpdateComponents: OnUpdate[]; + protected onUpdateLastRun: {}; constructor(logger: ILogger, timeUtil: TimeUtil, onLoadComponents: OnLoad[], onUpdateComponents: OnUpdate[]); load(): void; - private update; + protected update(onUpdateComponents: OnUpdate[]): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/AyncQueue.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/AyncQueue.d.ts index a99aa37..da6ab18 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/AyncQueue.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/AyncQueue.d.ts @@ -1,7 +1,7 @@ import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { ICommand } from "../models/spt/utils/ICommand"; export declare class AsyncQueue implements IAsyncQueue { - private commandsQueue; + protected commandsQueue: ICommand[]; constructor(); waitFor(command: ICommand): Promise; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/DatabaseImporter.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/DatabaseImporter.d.ts index 97dda30..24c1cd6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/DatabaseImporter.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/DatabaseImporter.d.ts @@ -1,18 +1,52 @@ -import { VFS } from "./VFS"; -import { JsonUtil } from "./JsonUtil"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ImageRouter } from "../routers/ImageRouter"; import { OnLoad } from "../di/OnLoad"; +import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; import { ILogger } from "../models/spt/utils/ILogger"; +import { ImageRouter } from "../routers/ImageRouter"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { CustomHandbookItemService } from "../services/CustomHandbookItemService"; +import { CustomItemService } from "../services/CustomItemService"; +import { CustomPresetService } from "../services/customPresetService"; +import { CustomTraderAssortService } from "../services/CustomTraderAssortService"; +import { JsonUtil } from "./JsonUtil"; +import { VFS } from "./VFS"; export declare class DatabaseImporter extends OnLoad { - private logger; - private vfs; - private jsonUtil; - private databaseServer; - private imageRouter; - constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, imageRouter: ImageRouter); + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected customItemService: CustomItemService; + protected customTraderAssortService: CustomTraderAssortService; + protected customHandbookItemService: CustomHandbookItemService; + protected customPresetService: CustomPresetService; + protected imageRouter: ImageRouter; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, customItemService: CustomItemService, customTraderAssortService: CustomTraderAssortService, customHandbookItemService: CustomHandbookItemService, customPresetService: CustomPresetService, imageRouter: ImageRouter); onLoad(): void; + /** + * Read all json files in database folder and map into a json object + * @param filepath path to database folder + */ + protected hydrateDatabase(filepath: string): void; + /** + * Get all items added through CustomItemService and add to database.templates.items + * @param dataToImport db data to amend + */ + protected addCustomItemsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all assorts added through CustomTraderAssortService and add to database.traders[x].assort + * @param dataToImport db data to amend + */ + protected addCustomTraderAssortsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all custom handbook items added through CustomHandbookItemService and add to database.templates.handbook.items + * @param dataToImport db data to amend + */ + protected addCustomHandbookItemsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all custom preset items added through CustomPresetService and add to database.globals.ItemPresets + * @param dataToImport + */ + protected addCustomPresetsToDb(dataToImport: IDatabaseTables): void; getRoute(): string; - loadRecursive(filepath: string): any; + loadRecursive(filepath: string): IDatabaseTables; loadImages(filepath: string): void; } diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/HashUtil.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/HashUtil.d.ts index cf92b47..bacbf2a 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/HashUtil.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/HashUtil.d.ts @@ -2,7 +2,7 @@ import crypto from "crypto"; import { TimeUtil } from "./TimeUtil"; export declare class HashUtil { - private timeUtil; + protected timeUtil: TimeUtil; constructor(timeUtil: TimeUtil); generate(): string; generateMd5ForData(data: string): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/HttpResponseUtil.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/HttpResponseUtil.d.ts index 85c28bd..29502be 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/HttpResponseUtil.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/HttpResponseUtil.d.ts @@ -3,9 +3,9 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class HttpResponseUtil { - private jsonUtil; + protected jsonUtil: JsonUtil; constructor(jsonUtil: JsonUtil); - private clearString; + protected clearString(s: string): any; noBody(data: any): any; getBody(data: T, err?: number, errmsg?: any): IGetBodyResponseData; getUnclearedBody(data: any, err?: number, errmsg?: any): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/JsonUtil.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/JsonUtil.d.ts index 20b7448..71e95f6 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/JsonUtil.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/JsonUtil.d.ts @@ -2,10 +2,10 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { HashUtil } from "./HashUtil"; import { VFS } from "./VFS"; export declare class JsonUtil { - private vfs; - private hashUtil; - private logger; - private fileHashes; + protected vfs: VFS; + protected hashUtil: HashUtil; + protected logger: ILogger; + protected fileHashes: any; constructor(vfs: VFS, hashUtil: HashUtil, logger: ILogger); /** * From object to string diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/Logger.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/Logger.d.ts index 9d5b32a..f5b774b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/Logger.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/Logger.d.ts @@ -1,18 +1,43 @@ /// import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; import { ILogger } from "../models/spt/utils/ILogger"; +import winston from "winston"; import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; import fs from "fs"; +interface SptLogger { + error: (msg: string | Record) => void; + warn: (msg: string | Record) => void; + succ?: (msg: string | Record) => void; + info: (msg: string | Record) => void; + debug: (msg: string | Record) => void; +} export declare class WinstonLogger implements ILogger { - private asyncQueue; - private uuidGenerator; - private showDebugInConsole; - private folderPath; - private file; - private filePath; - private logLevels; - private logger; + protected asyncQueue: IAsyncQueue; + protected uuidGenerator: IUUidGenerator; + protected showDebugInConsole: boolean; + protected folderPath: string; + protected file: string; + protected filePath: string; + protected logLevels: { + levels: { + error: number; + warn: number; + succ: number; + info: number; + custom: number; + debug: number; + }; + colors: { + error: string; + warn: string; + succ: string; + info: string; + custom: string; + debug: string; + }; + }; + protected logger: winston.Logger & SptLogger; writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; constructor(asyncQueue: IAsyncQueue, uuidGenerator: IUUidGenerator); writeToLogFile(data: string | Daum): Promise; @@ -23,3 +48,4 @@ export declare class WinstonLogger implements ILogger { info(data: string | Record): Promise; debug(data: string | Record, onlyShowInConsole?: boolean): Promise; } +export {}; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/ObjectId.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/ObjectId.d.ts index b100572..03aae56 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/ObjectId.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/ObjectId.d.ts @@ -1,13 +1,13 @@ /// import { TimeUtil } from "./TimeUtil"; export declare class ObjectId { - private timeUtil; + protected timeUtil: TimeUtil; constructor(timeUtil: TimeUtil); - private randomBytes; - private constglobalCounter; - private consttime; - private globalCounter; - private time; + protected randomBytes: Buffer; + protected constglobalCounter: number; + protected consttime: number; + protected globalCounter: number; + protected time: number; incGlobalCounter(): number; toHexString(byteArray: string | any[] | Buffer): string; generate(): string; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/RandomUtil.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/RandomUtil.d.ts index 3a3ecb6..c24dd60 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/RandomUtil.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/RandomUtil.d.ts @@ -103,8 +103,8 @@ export declare class ProbabilityObject { constructor(key: K, relativeProbability: number, data?: V); } export declare class RandomUtil { - private jsonUtil; - private logger; + protected jsonUtil: JsonUtil; + protected logger: ILogger; constructor(jsonUtil: JsonUtil, logger: ILogger); getInt(min: number, max: number): number; getIntEx(max: number): number; diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/VFS.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/VFS.d.ts index d567615..e5eaf02 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/VFS.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/VFS.d.ts @@ -1,11 +1,12 @@ /// +/// import "reflect-metadata"; import fs from "fs"; import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; export declare class VFS { - private asyncQueue; - private uuidGenerator; + protected asyncQueue: IAsyncQueue; + protected uuidGenerator: IUUidGenerator; accessFilePromisify: (path: fs.PathLike, mode?: number) => Promise; copyFilePromisify: (src: fs.PathLike, dst: fs.PathLike, flags?: number) => Promise; mkdirPromisify: (path: fs.PathLike, options: fs.MakeDirectoryOptions & { diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/Watermark.d.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/Watermark.d.ts index 3a8cb3a..111bdd0 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/Watermark.d.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/types/utils/Watermark.d.ts @@ -1,20 +1,32 @@ +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; export declare class WatermarkLocale { - private locales; + protected locales: { + "en-US": { + description: string[]; + warning: string[]; + modding: string[]; + }; + "zh-CN": { + description: string[]; + warning: string[]; + modding: string[]; + }; + }; getLocale(): string; getDescription(): string[]; getWarning(): string[]; getModding(): string[]; } export declare class Watermark { - private logger; - private configServer; - private watermarkLocale?; - private akiConfig; + protected logger: ILogger; + protected configServer: ConfigServer; + protected watermarkLocale?: WatermarkLocale; + protected akiConfig: ICoreConfig; constructor(logger: ILogger, configServer: ConfigServer, watermarkLocale?: WatermarkLocale); - private text; - private versionLabel; + protected text: string[]; + protected versionLabel: string; initialize(): void; getVersionTag(): string; getVersionLabel(): string; @@ -25,5 +37,5 @@ export declare class Watermark { /** Draw the watermark */ draw(): void; /** Caculate text length */ - private textLength; + protected textLength(s: string): number; } diff --git a/Ereshkigal-AkiConfig/AKICONFIG README.pdf b/Ereshkigal-AkiConfig/AKICONFIG README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..31b7dca2912d94eea9e557fdb2446ffa62840f77 GIT binary patch literal 1579750 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ы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

5OvKCWOd@`}@NcBwt-e#d?-R}R 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

  • b3JzF{*|b1eNUi2H-O1(<1K5 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 A`+P<&Q?7954X~Kp`-mQ}E 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

    ;Cd)TDLZpsw6+!sj?xu1y5!{vcoM(hd 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%0AB|ZARue7;es{xy;o#qdKOCPY*`*I? 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%0D-B_~Z1P&6g8>y~@{uDw5MB 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

    DB30(2D|Kwa^rKh=gQxF;sq_xR9XJ-W6c9I$%( z9QxZ*xuvbog0>TuPi_y!{mh zSW9#KLJ4rAA~>*kv@ZyY0Z1D!6g_7qIi9+3 zFrodnS-jqT1B^S^+Ksd~Z8jI#lL_2lQ?{V#d-CJKOM?lAm!~()?8n~Cm(K9)^0k+v zcZDb=Bv}M}2GIH+3fjxb%eHX+PSy@r&h)qf>O#$v*8;FQXOKxbLP&MHge0KPyjs2U zv^R2Am5$7w(oqd~v&5}3$)%GZ(3DsHKyvxP7O|((it&zPL0fM z;Z2XePf`#Ck*rt-FU8zJK0A}MM;x2z5VUx9-oR3&mTJ8?`N@_oRNU zbs-F46q(5%Z=NvSl$`3TJQsZb)L%3=TpWa0y^;|ov4%6W5kU%?UA0Z01$FZ(9XJ-m z60#nyOOTd?thnrjImEs_`Nk5me|7t5-Dh$%hlo(*YLS!Td%cx4oz0JM~!(6{-8HKgr3IZF^kRTbpy$sCs`|8|J+Wsq+X zneagkS~Bl);g0Z+gjpz<62Q;zr$gFu+O^))ZjJ)h;hmseAJ;_`x!KI;ijNFIL)uxV zpN0~6#1@E)BRz(JQh16T*!PPWYY2R!xdHs=Qz`t1j;htyGNa^(kzmJ zK0C?58xrZW(C`|BA}^6MW+25UW$B`tWl~DJdtQrYXw(wzc6}2rB!&~-Wb^V@u!F9I ziC;{}XiQCrLxp2|!kMz}dE-O7lfkHdf4_OW75}pa?{^fM{t5ZL2LBjl8-Df(IO7s? zVId@q2NL|kM`Rl|b5THl=(yPv1`A4m)m0%NjG? z326}C?N&=m0eQl(sp>Cj+pDcnwO7%plj3v-!_UV2iN1S--N55yxy`-tKWRL@jk8&z zcl8)hg}DrLzExh{4-HgAqrC)xj}qVE6Of3G0;=JEA14InsM>yTmq0_u1K{-o^7XEW zV6DdNvY&%2J%m`)HDBseq3g}1$FWKx6Cf$OoY}qidJ^N~*`LqbGk7;r4W!XSOVs)9 zx3U>IN5ALo#ozPHgbG}Xco*EgEAM~;{IUslcz*HEg~=fvtsoyLZTd=jtU@Hee8C$PX)C;BrOMUN0-;ivDZWX7Rv10 z6G_p)`2I&9>#kMn5+E1afsJh(ASySHu2BcI8ibiy$EUGb2V4ABOKG8jG1PSv$8wUF z&djF#m{Z_jvy7c&)rv47qgV0C9uLofn!e}{ z=@iOo`9rao6cB`+=L|KCNGg%f*SVByOz&&bE>!hC87a4|FN4^5*G6CTE0P$YTxUKOxfeETO|L8Jn-{vZ)j}_D)WFud zIv*Rq{)>^#Q}?+Q^#Fd;Qll~QfzQ74V{%9Eaix83()vS`J1avbD^1dLm<|0HqGN!%}(+@eet zQ9Z8F->b$vk3P%nYmy+i2&ZST!$Q?7TZvHM%&LrgV5axhCH^wZm(q$rB!Ee~@jH_} zMq3YIRHqbnrPwkbpgFt0`ia9M@)%H3$rYlx6?%~51%Hi;nk*V>gvR*#4hg$M^2HD} zl?iv(ZH5Qs@VN zj9Qbd`D7S>m?7VcTAC!zT+TWE$T-^?$80)aF1>l^$coK6?s09_BpkTqh~@$vz8(Ub zsz;Gw8t%Pt>J!n;V1REhy8Gox{y}sY#$X(Qn){2g!GVm~v`hmrnU`@E&Oj1;3RlNE zB&e8H;tIfsr?a81J$aZv#t3fWl6<T*;2RR|MeE!NO`E{WMgZJ)Vx|`uqj;w* zRF6qR`H&J`eCkE&FyJe}o6$Y&aU(#!II3BSps^(HGsTr0F4t4}4^Swz)Uj)fy4IR7 zy%zLlF_5|bcq~0JBw^U?L7@7upri@2W_VIjr?XO#@2?bYitpHja&K__598``MaSe4 zxexLMbac=VC`@s)6@WU-RQ`(K?B(tOrMHFV?gMbZ5tyLoXn~8#4WurUFiFn{aB##Eb4DXAMd;2?~TI=w|t6>=-&A1~2x`9a3mTg6~D?tBYgooeRF+r$ONlDB!QT+EY9&=UsMd_88Gm{Oq# z=Fgdo5q@Y=vt!&w45LC(4Tw<`t8K73s*Ip@sbh}byd%FY8z&4y6V?%>)E|DNRxF*j zGL78pucpT~*P_h+RrtyUv&yhpvQ&yE;8rY`Uqhi%$`g${Cu*)Gs#%8nt)}kSm8jXz zLd%=hGYLAkYU8<}B1RL|mdU1V@{lNK7dv5)OL-9Em8eK*#h0vWw|7^W1sf+EhH|kq z@kT-E*L^4qz8W1CUQ$<)f`9D0ZPlOTlo(^zrMFk^jOzLL<4m$a$r~Gx1>QHLW5w;6o*^i)GssYuY$uH3dG56mZ`D1Qa-4XJmRFHRRpWHZalYVwd4 z_8zzyago5;RXbzWle66$ThwJn#W>u*;*=~mjq0)1Mi}eZ{nN=lZf54=lU~%-pb`s! zyNq7p+BKzs8=s1eJEPEp&=YSM>o{|n0u<}G1LYw0@*37)1uUtyPmX3;M95T8qTeOl z10nV%6?|Chkentx15@O`8L=HiFc|Hwlz-nj9DZmVLb1B2vE6zTW} zvU5|9FMk4DhC>=cCQn8|x5ZVYEme*n<^TkAM{^H=qJ&>+h-$O4J;two!F~r`Q2%OI8p}8gqmNMSibRtfZ-TrBw!zQj}V9^+`Df(k-t* z4v7K)zv#Z?*2yXT${BY&~ z8eX1oo;@bi1Ls|KzO8S6^(2ZgDF#LF8QGnKctXfx;ySDbC6*+nvTD00p4ryOIZO^; zWs7FvvA9$GprcX4h;}VlxJmN1dGb?mm0~V_xI#Vb@|`;KHJl@WlMCjIcD@bulbJ9^ zsqAfrC?<*J8+N`;mP`|fS5peJbspeoLY7y1veu;oVS!11(^_D3(ytrH+^fft-iZ0X+Ck zH~#vGOwn_4C{}>?;3ogE{PFaWK{D>k)qr<%hySd9exxiW@|0;obVu&2{`K!!{Jhbr zHYmk)*<*a*z>Vw~AkTine2|jx(c%YaGVX)3ru{@n$(_^dS=;z++ncbcbRaamIGu-e(#>-|B_xsgvzQ0}#ncP(%0?JEe%yLJFydy~wh z;{zDyt>H~89D_Zc)C6sFt7x4zXXUAwX9Obv#Q7!8V(Ke?ZbZcbehN`Ovhv7(vroQha6^W)F*Bm zmRdt<6vs!~REirP14h{{nL|HIUyBN|{w~BR4iKGQT2CF9aP+o%I4L1a1o8mTWHSVI zWPUyjq5?vKyjr5OF-VQVcmPngqfD|O6R&s*$^(fRmsRZtx*Il; ziQdl@TkDh)xk30;^_1MFR_7EepO-?bMgVAgMVw96NJNL-HEU-a^!hQ)p?t`eX+IBA zuauySHFZys&GsQVOQCy#k=UY3bQl*R9i#Di}BX0?V8f#7Xj^moA7Cwng zza(o(c)UF~xOsDVXKh@c#BOg+StoM&j1MCJ>R4>U!d{KI3f>467K z!cFsjnTO}UElolHaX!%WT7do=&uRB##Al>2hsE1W0<52Q<~r^D$iRSqnBAx~<(F^W z>!k!Xv|53q$2)I_-FsY7t}&gMveGjlMu2||*C8{an3XsSz=qs=&*wctuY17dgASGU z@YJ1l;^DFP+`W1f5hM@>svB3@?JIZ#Si*LdU~1_|RWWT?+0T?zAwaRjNOwhra_fk; z4YX>OmWt*{c$Hxeb1M!;!uN++SMAyOcD;@BvKT5_A2nNWG}w;=-N;r$av0i27o$4beMShZwC#& z67_>KLvSBcM4uI(Ea+qk<_N;503Ym$#_2V(QB4rx?@Z z0EwmvR|Ut!+y=Y)n&en#yg|+anS~XxfCs~xI40HiqwHX2ysP-@ncM`F_@@Z<=G*8p z6z}Sv4-)NNMA*6~Um}I_3@FJrWXsQW{EHoo(OdygiUMdJtZc3cZ=C91n47SFz+ko( zE(UFlJzxXaexZZGjqS|#c~CcA z?wFY3);xpajjvr~A`^NAwY`uvfF&XPFl=YHNu}{iEP{#{KRV(v#<>64#hU2z6~Tnh z2v2b7!+=vTja9J`Ak=4u?i7c?D{n+DG}MH|;^^AmEMLqzXwzy&v4H-jZ-i4COzGuF zjf4rvy9~9bk!`b7l;IZZsx?JMEB zPg{h6th>#^2CRQd5gK~|lWi#z`+dI;CW9#a3kyepK0#rtMavp%D~G~@;T0~;IerF&RSPJe1a=S2+3{j!khQTJe;?C-=O-?qD<;u_?v)P-q9 z`DyO5mPy53te)h_f@r09Vzy%=@OtKW#SUI@DpZXuk)i_9@TQ)Wsj?)L!Xi!WBbWWx zg$z2&WfN8h!yg_}P=}u?+%zK&Bs(eRD_o0#woGY&G{}P|Dz*QUWt;q)6d=^G6T#XEM5q2<%8rlc?lE$~Y$+zB{7s=FRt($StE3I>Ec8-Ujyzj~zo>7iNdvC$rRiCwd z)--G0n%05y&|Q2WE|k*cyH(J$%TgnKckT)Xb~L(;%wEl}FCs;pVZ~tGpz^E)!s>8Y z7*l?tTOeefkFv-R_L@ruD57S)Ri7bb?@Mu0UdLo-ePjKX15AVyHZx4n$W@_ycCllx z-n!45Z38kNM!n8*ZpMj^b0zuIR#mSQub zZ=d$UJ0W>DQKy|P!V2#xOLyV9Q_xdA7(9c51CxZ#=XdyPT{wv0eZl;AT5+BEPm5qg z@39H@s=~dq@6mU?tBL#L*K!f3Wvlv;g6|#JG@hvzqISWLD}6f9Mc1VObPKHxry9>_ zK9b_SdB!JUOFMYcN?iRcE*gtYbJxsR`p5!{HKt^qPWW`>m{@dfV)!#EZzIS5_RS|A z+oyVm&om{BbdW}8qcsGaZd$c{ z;;@h{;O#>myM2Pm*UcK=9f8rp~{5lUeYd*&HPE zx~X?4>RR_O6625&Sep}geG0lJ7Y;*ty^hf#-AD$-m%cg14m`uarqKw9b=j`!MM~st zbaAPl*m;1eSYt?lAhLHD9l|#L>ZoSyKB&uj8$ro7KAF=uOp`K$JpP(n*W;FGZ6;tEQ*99yXQ`k1h6o);hE#Vbf{UP)4`+6q$Ag=a~` zR0rpaVp+W$8XCyM6Mu=n5n4w?(BG-uRsOP%W0@?I1v#TiB5yoDiA*d%OU{WV9=;O3 zo4OPdQK5x^Z67ytcWCGjX5+%&tgb5RrTp#gG$*8UuC`F8kIXg+*Mm=mTLox6>Dgx{ z17*=7_P@>2_3~~naT-qASnL=3APhCg{#?(=;DVDByFJXF&ajWppzsBzWcz{Xz>Hh@ z2V?A0HqmQ$fu;W76hM{Lk)nJXY7F_4$?EMc&b1be+;k`1Uw6>xpT1W>;krd~of&)KeHpEdNBe+<$S-eqxZT zOgvLY4b<^5C4i6W-8SA1f2hQ6P*?4+BIHekzlcH9j7aat9=Nhg7csQ}O?H<#pDO7n({=GHij*kaj!Zb~1k7ufwn)kqy|uK##DslO7P zl0tnJbi$)gnLL*r=c?S2JzL_rHL)nEtPzEkg%I~$g~_8rJN{vUbC%dvkQD4g=*&!5j_!!BIGM4wf@Zoebk-(^X|S; z?9@YAed7_*v_p{E^5Stm|Jc*g={>F{E}P){?={pLoIV76o8P*uk^FNp+BY?u&F^qXju%oc*}e6+AgblI!f6| z8wzis%iS(BEne_ywG<9>Y~3sg-$BYKPRv`zEL#W1$URh8|AsR?EDlFMGGzL;OKu<@;6aiftqP z1ssR$%HmEBwQgt#zah&8;b7rvUc;Da4|mLc^;*|4KuLXd)Y52dn%oyTW?g3M6Qiq! z%~!1mZ5|WMhHuZ@Ticd-6Jti0fb+7)uqah2;GpQgwE-)Qh_YipPZ3i(z0D-Z95a&D zkdcQf*Ltn=)xoT)7*SW;j;8fI!&7xuxnl;){`n|dU{br}O=H^&4)sQPbiA%~^)kWG z3=6AUi3TIk<@>LxqnBq_jk zV93J0VU0u#7Sw)f!w(z0d*PrJRI>3gJu0uCgP3Y&4&@x4w9SBt7pZIQ1UNhf&UBB4 zA9QIMesXBX3NB(1bI)idgbDQf!5W4fSMIHk?_#*S*zlMAngy zYpMFge_Z!^_CnbY1uD#<;U+X5Ynee4COBJG>rF2uHqX*q(pgtCSGCRFb40VaYp1Q| z8rkAakTEbH*|>w6^jek?k$5UsWVv1FpoVZx7D;F&0dSJ zuheo?3Nt4QuEFK2Z;OZNi@|FS7=@Lx0QneCw7tb0k#XlzJi~mECRRThQr#;4Rn-FX zm5VZ~9Jc;KpPPZc_@P=uHbRpN1~syE8k!Q7u%qtXbco(=7%?1R*9fM=AQF04A-3&C zB5ly_a0S`zi{+=SbK)b0IsQ0&v2SLRm(|5R)w026r~|{?A-a}t1g?aN^}w+_Ms*Q| zM(JVAi6;wDg)q|)SIcRFlhhjir3lI86Ym`LP4tjefrRv6B% zQA;~U%4;}y%U_M4ft4I?N@3quJ%=GK?a?b~J!Pdg0S{r?Xp0K7UdR*Y!aW!yYxnIF zc2hdX&MFn0D#Vqb#Lh;GwqQ-ERuSGXnkYTPohVPwUjd#L8H*4dk*}$#SJOg?9L^J{ z4P1jsQAjal(%nLkvizJwO&S{^FMURFMB$BhDDf)5K~T)NHfW_>V&T=w+>ieZ=}~|9 z!@wgnIE|Fzc(0#lGpFbX-om>A0rkkctD9IR3>XZ_)r&hwP1`6qQc4CnbU>4~V8wQ- zX!+=!kG)b&xC&>>4A89y6d%GHX#f|(9egvaH^FZDz%gzaVmvS*7$4L6rFx9U4{~Gx4v!wg z9KAr?_*>kaKvn18DRN&ofqeB=4%(f$jYatuAOx`|(U~NW-={u?QDb`ptmzrHMsg&^ z@cfgbzI};gxJAMzWnC?tw0_4iwDp*qQN~J(vCF6*qt&_uvN3gIV`FYSGC%*2hO=v- zLlD!}Cz%8cU$d`WhCCAJqnd|n>|Orjlrl%` z%7^t;*ops_**|_98BCrP_3tTt0a4DaQrUg3O?{8t8Hl#$c8h$aXFF-~f%pMnlmoy2 zI21sjuSd zHz*pBkOMa;m&83%Rsw0gawC* z))6;JCSNE9QcQ$cFdQm@av?9UmosJ;%qpEHJw{vO@E5J72e+^FKZvLeq66cU1W-y~lJCwvPw}D|*H1uDR2E-y6n&1vRQnR{NLU#nL!@^sH=e=nH|*C~gqDCP zGYyfkFrR{e$gd(;x*^LzzbhTmMM{<`3YE1*NAv(2T6%GasH3YM(XB$v2;M)Nl1( zyluX!a){e+Mk!Kxb}|b-1XZ|94bxm}bgGnMlv**QZBknso~p10Lt|;1RcEN6)0vj>D>Z@j_bv z!gJq~!M}DXWHri#064{mYv`ZM= zh#UgqOTYR88!|+AE5W908!${TUvV;~eaq+&F|O&B)n^z}%_6kp4VQq4>?6d;Xyyv< zBlN)FkcQIfX>&mosmE^wL3K0O{Gg^jp~1`Z)+nU0by!RC0YM3i<^?s? zO@wzobu~8gO7%*!K13(K{v~i9X`wkCpZBJxrul=nXGun>6I|&7h}bT-bW+2bck35S zfB!!Ki$HY0-{fkSBh+q39n_vOcyNc=AgfA&u4cv4&Ik}D_UX1GJPbP}@zF2W*ZK~*^c z@>2(uAsOC{UH>8Zdf$Q5rOm1xZO8}S0$jc7Rb@zWBun5!Qy*pbKAh=m*3Z$O!!`mA z`4o&sVkdTWKV@D(a>FL`Mti2O`WXOO7HkzTV9`RF926IKOrBWJsQ6-lb}_=qLdr}6 zxc@NuxQM4xGYV^UYRW3ThxJv>OmO@B7>B&5^CusQaU^39>~^eY>YOasjwk~Y<4AU4 zK*4Z~W3(Q~feUVRj6-A;;~33Homb`J_~!yvPH0ve!2l^=g z+hQEW+GZDG94>6B^%%!9a`CbYF%EEdj_&v=UOU+sN0Rb^>m;36TO8x4Q}9VR5;?|^ zqz-^$98yG}VjS7VE(V6ML6&Xc;&O~*vLTYdo;?s`__Gj)%#R9jBr_U;CCnlf;%H{X zKLOUO5QjaqLypcMgB5~eJyb5rBZnNFHmw_nI6lwaUk!0gPPg0@;z-teyD!Aym^%li z?W7P#OwkGP(aTqWeq)-nmG?UCY0_;a9$)FFQ?BOpdjRo}a8Ap;A*}_*LTgqxDeCwTq9TWcyt0I|T6; zl$kC*)0Gmgb;+)g$o)lB#O`Kj!#o=)ld>W-7hKCOgDeCT47;_#c52`mFweh`gR~P*xEO85RSuJbCu!jCob@ZFfJr2L2Cna446P`&_*XJ)jyZX zh4z)jBB=uz0}q>}wYeWwyWb4Oo(%)w1xeH-0s!j)i!H;< zwjNyH60D&SCE>1Q@xUeF350kq#ap5jZ*k{CL4TNLRw)~*@^V}#X)x=eg;{&a5|xpo z6JvD;%j(sD2nk`26qbR~A5>|qFNA$sEO1VOcX}rIC;s~Kkz9Sr%X**Glf z^UK8_ihR^l<=F^69PY!TE7a3|*P}qmd1#%CDe6;RE4f4_4 zN52Kn4chi7^3iHUytEYgX#ZiqoluG>@==*4MLyaqQx^GQv)gc{cV-TwW^03Hq#1MY zTz1fB+v%%;M&C{Ey~=VKPn&<7ep;OE*Z#CP)3ToyXG*q*b65M*pB86b{L|u0&CS=+ zCjkPVMTh+KaAp<`H z*a!z!keQZ8bKG8pVGN5ckBkh&G`U|^QrL3OM%rG4o}>Na&0`?A{(FijKnts(Tm76n zR>hh@?(*;FQ@WMYvREQX#J5al&C(?@3nDUW5+;5fpOVKs@w(QTHES6$ti&cXY-UZY zCCRKknNR88o>?ntL}u;x&?Uwy^ESG~IUA9R5?!ZDT*P}~y2Naa53r7kW~lC@J`g)8 z(Ir}jl8`R3pihSo_927TciPys&b@SrbJh}$S6-z{ly|_ikiB{@U7|l96x@6y} zeX)a59xgOng6S<_Vh5i)Xo8+>9V1^#^JwtDq~$$NPo_&$*4^5!3db%~$9vz5Xf&C6 zz{@lKIa9PguzxQk9v$2(n1$NTDjINED< zboYVdeRV?lOC9f%6LF@5j`z_Fw7k_s)Z62PYqK3JhMQ)gP@0VByp!w?Ia)HB3KYDZ zIo^xGfeb;N%0yx1mmKdopC0-x`2_-t;4AzBw#~xfMf?JgQ3zSQD@>fjdITUuGF_aQh*s7&=^F z8Q^L`3L)EddiYCN1_;B5=@?$XGVs@gkV~FB5cnmGW0*oE>;~upBv?0bNz{Y2x^?g} z8YxgT(h>?WUG9~NpoH{K7QX_8`e>uVZHKvw&A!xFwC_Cb%7STP>6pz!M5ETQ;btWe zV_VF?_{fFDL}nxXxWhnJh2ZDEeo@G;@PxWxBRsOObqvlHcA-`~p%pP8h%m5>y~_57 z4PhWOFqPcvSD&$J257Y<@|76?0%4 zosbhRqJ4r|*#L#gB4+S&CAkbXS?$u|%5(HcqBmT;S|K5=_6CHFm!VVIr5sS5tc<5Q z6)SwEb6Usqr_HC>^K$<4t6ct*v$i5jX|*SoVs)TkC@hO&g0HYz6bpgu9cA*5=61!Q zM32{2&#+8E<$j`4qaHes33%opb#$&b%GQ&C53wT4bletbCZv3pN+k*K(p+P%fg7}8 z^N`b0J+%Y!UIS-d5H?j_2h5Ho*;}#)$;E{5A&ZYREGGJS$}Q)F9fB1~$U%ooz8;&-WD6{xHwFQ(Dzj`2` z1uveT-Aq*#z9yhhF-!?lR~IfIg6-&Ab(|;6C5cC$8l?qB?t#FyjN@`t8#Ql#;*U>HSqlF-yFZ|{Ixy!9RURY!=Nfrvn-CKyM6I(8 z6Y-wFP%&A)GZt?t_|A?8YWFDXf*{SsJap3b zem|C$Zdpp&$$qJ>0$a?_WPEAMNVy^hJEXeII<671Kfdw5-bUA8``4R?*HA6XzP!SH zNc*++_m*~Pi^;s{{@V7u_brt?5acx0mZhg*2o@t5xE!+)!vH)htL!WHs~~SM+lX)R zyNG-8a1wd42UZX%4w|nWxb9^{OIX)4eT;gh-=(X@biyQTo_)>jWLbzu@UX5TD;nRc zJ%Ysu5$Y#Vvq6Ca^>t^@z8fMlc45>bxlw=R)LrpD_~HmQI!fnY4N)gmXr@)70@j*1 zy)#H=+&g>Cp%6cn^mDcAk19D4lb$FF;_?Ly;Mhfs^njjG1ukiyI3EMM92LNv>_h$Q zEl2?zS4eG6$nk@K7`+*#YeEIEJa=g!vvaj0rpe(U6+Pap!OJ3sF*F$Si+PAFAG`{8 z(dN>e*&dJ$<+UJyhOjN}kW_C6|*N_hEUT zCeMWViwaD~eBNMn-7c9|p}@cR59&+*kN@TH|J=M17QE(fvU)9S{%rNyuut;N6Bm6e zt5@twSiQEqp3D08_dHxE>z^!30K0+8>b2Yf%|E0Ot>q_HuM4F4VAg>eq(5Nwb|KEL z4t23#8gd`7)jR83jR27-t9Q~bc8}F-4E|p%gVk%WCd87;R`1;316FSbHNh4%5vT)o z_GPQrM5QX)fGMkY)i2gu@gK*Y*y=^}$>kG*j@2<%ldN7aL)b61R_|=2L5Uq#*eR>m z)~$q`CP7Q>yH2fX-ri$VRqZuauPSBl!s<~TAIhASUpA^{_d-(85z!LIE=#e(Cx(>A zvaOxt1L`)2(`h`H^w=N<8BF!gqAV?Bu1F~2SGzl4@gu3t)C@mlamo0m_nsO z-y%i1KLjaVc173%XyUBe0**!$Iqdj>9zvWqjw?5_mt7$eqHIqK_k2uqeBM5{kI^+$ce}OGpn!g zL>6aMscLur@tIxhIvCZ0ag<=fnE)L@Gzt@4YPl7fBjad}$AhgC`YzkcloD+`NMa9( zeK8tC$_EsAX1q@KJnGspm`q%gP9o39o#Y$uIumPo&)u-tCbn%((D+rug4#PXLAe)x zdbramv+qQD4p}8+1bZ2EmGJkw(}bAUGbnrBT;b)sPU>UBMNDz>!E{i_ds<(apo$Eq zvHj;O#<=u_ZjBL+5{?KG3Ne`2?_vUHa;a>9cy@(Hgh0Wol2Ep;co?ED_Iql$k;FUY zkNth*p7MK!rpQnbJZk^g#f_>4W$lB%5Gi8+*INbX5&a26Q&Rn8IGikj&dZew0Mv*m+dtFq3lRDx%R3f8R9owal?O} zBRN?SA2G_2%;q6qb0llP)5@tvawH*aW-$*Q?O+|rW=5J5d%xF_bcJH7Z_DDZeW4>M zqUw)MyG4XO7|}qCITmcBWc{m3yx$-TKJtD$()w6 z$||Qbv82r$nZ9@?COBzS`EQHRsrtokvIB!K1EtP|JT@+NV6Y??A}nV5cykl%ulisk z`D7?sgCRqhS4Oo$;{t9G;WepxhdVR)O3kZnat^Bar@E$oTvOMzDjzsu6ZHU_2cs_0 zVU^^ox#^^@lML9^hoGJK;UC>yGRas2wFlX3e|J#DjR9ne2AT;`saBO0rN4;Fe9_I1 z0IyMjD>KL2hnvQ6R!9Wy_f7u zyq*B_^+6|`2!n)JrED6zvLJ@upU3#FW*l%;T_cV<1Hr&ARhtuWLe_2kM!HMJ<^q;U`$&zMgxnIJpxSLKzP}12M4j@+co;HH?B`vk{g`cfNDjN-Q%=y zeS9j&`B!_|sg=ZqbJzR}RZF)^n={K8QyyKPJAru;-rw5{5|hXR*eJ3IaU|B-{^E0tr_;A(!;$UAE=4Ddr3W>r?ax zy~_X!bP7=D$cRoqVh?Ver zK*ETjaR|rJ3MDF~6hAN9j#&q4L&xs-YO6RefrJ+e^bJA64s3I{6(oGAG!D%ab`|rL z(zwNRH@N^3mNqh1K*BuAmL(r#RYZBSk0e;gk5`%7$lrMiun~F;cXP& z%luN1uxFj9zMBXORmOO}B2vA39KGIPc1ig?im#7YjC!SZs818?t4=+~Oe# zeAk2+y(QPH&NeF%_U}<;aKx1!Uo1aYqoUUc)#{+=wEvPaZ`Jp={D65K3iTSlEJK(e zR=p887V4NTeu+9hk_Xna&-X=jOntlMRXjhoC*L9ln_Y4sS~yyX(tK|;hHp}ym^9=Q zn5QqvD~5lXffbAn?h-NFYh>Sxu(+RDoTR4YkF!t+F#g8OQNH}z3o=YsvfzwLmRZKFAVAhXq}x1-B22}94(>%q*_z< zdkz|W;GIP)R${ww9nMWx5?M&K4-7)%;u9e*p8Od*h*D*$%UsP^Net?YJaK`A8pNm+ z@&vQ)x}0ZKWGBHg$Xa;GM83z0>h7|se75%NUL1BE>4AMzmb-0&rY;X{#se#EGovq#%8j}lgWIXk9rLH zu%+B!x1!J@-DW-pHceILwAu;f8M&`OsR{AI7Zv6ZtuECLK%iViN6XU4FNFeSVW3|> zxGC(XHZk@n5^}$|4YaI+)6-n??jyXz$HT>8uL&m#QSwG5|_aYk?oIdv&g$Z~9a z!mbL!Ve!_8UA1dBN+FX9r4+I_0^d1>d<)N1oI*BWLTbzC*;N@b|CJQ7(WEbDSN%7n zkOQ8n+f&HRNQ2U88xnU`|>ii~0{;^!qN zDdPXg-<*l6`-n+6NdlWH6V)T4$VBysWilWBSzvQCDW)4UQKDNu%S3@X;>(#RiAx8W zD7tW;Eo$PhOJssL6Xk=q4;n6c+{XNfeVd+YI&uzrbi(3cZ7if;a%U7TRPOel#FOMr zugy;$#J_=W_I9N0blk%2w;9Ki#8kdn>wzoAasM)799zRWZapAx$Hp;gn#4Hn4`C8k zGs-99c>kM8Sd9(p>stw)jpdLWm4{+j7E ziIy7UE79C9xq~VeN=%WFn4wS=3?dxvh0j#^bq{Jy-vHne1)rV|a9P}d{ZW8RZrd20 z|NJ?0Pk;TnLlhE?pLP@zHA>55RHK|s`S#R9b3Ge=M2_?qMPnr%A>PQ|hhHMboieK9aVO2B_ZPY*#`^{RRF%1rQFsIuzh)=GL}kwt^bt(S$DPdS+v^>jz44@)_CWcA4XR}eH=Kz= zz$F-eFdBD>nA%7ez_0{%gbDBD0Gy5JUr3hzwcrA&2G|b(7IdW|@Ehnr+h|_u zd~uT`YF{J)B4*$Q5Y(2KJN2*Dq$TD&wloxDnIp*fgzyeEU!M@(RpYBD`Gb@ z=uZjnsNFW}S&+&((yk%!mk)~YjuDAK4mK!&x&H+pciep>iQ=B^H;~7{ilM$3Lw5k$cXRKOBcw# z?>YLuv+qEBOBqLzF!Bo#-&K%Z_anZuRTuXlzOANWE~=Xm-vVhU_T)TVLVSA+;pbd~ zFGqY=!oPe4@!jkXAM3I!i{Y0-2(GgXPP0O$z`7CfP4Mo1c7KBSW+@QgV!QzHEh2^Z z-ldG{Xh^n!!x4jf38 z9z{YY5QaeaNchC?(6NnB-C3nxbe>GXC-*jAe4h9UBA~Rt>3Q;%3L=;XI8OvT+&p|P zt{|EWDDR>31QkS|o+s7H(DY89Ct_yfJej%(=gI6}n*BYTC)Ip#rjEYqJeiC%QMg`Wqh7kA$Jb65K4QVh(n9>WOSmwX3Tja(kE09;dXqU z2mmaAoDLqEs?HOu1`q#4$`QlI=SlU~Vn(zMo!yMw92;I{VGvxlwKkq&>AyDldOoI< z{6on%<%*aw-G}AhEjE07w=AD~oW)!oI~(N0r*|Rt_+3UFWTfp**kVq?AeQD_oLp)# zhu97g1^E_p0^zo~#)E1xxAY4w0k>yi<_n3zR#Lh9J2%HGeo!suW|Q0}Dji|XVF0r* zMJ&c>Bmgs7%#muD`p*Q4uul*Hn0H&B0n9RepE}SZ_?-5aq=+MJQV)VB##(P!5(Yl? zAq|QUy){dabMQ0y%12)z8MT<3{rV)1aLd)?u@48;Vy>C{M=j=IEYquR@`Gy9Pe)tP9y5T~9EfuLiq0Ya%HQ_`Q)(**KDk z5X^_D4x2#WP^)jsM-9LxW8te79uoG2Cr-1J#D&jQzt0|$T=na6?2>vn^~gDeLWw5` zPVOj?NNQFkhNQZBv;oh7+uzUj*@Nj@0+!c4Uzsd#q|*`%CS1QfzrlG10vza#8;3~{QO9c2D!rviEZnxS%?X|`*XW74)8n>0jiIV-5&P~Q) z{N_>`rgc#kX8@_VDxL{)Y&BXwnObTg8zFh8W^)MYVhX1BW#G|UxG}57sNzWx;msipI4=fo&LXreBgp>F<`6v)?2+31SfpqL#Z^k~8_8G{T24^5nc-#oz5*@jTS$v!^^O5^ zW{Ops^&hi>(N;0~vwl@-DlJr&{EhqMQeO`#Ahaz(xFd)xFzPfdy{Dz-d(K*790MRo zcG>NY0ntrR*GG}bpY+FK%&8KYQ~p@?O*EM=tKdSht*v**ByPqc*JipH<@PYTxfAqc z>~G&V_ds>RSDNk;9OpALogTlxw|3x)%t;PpC|T}rJT@zt%q}`8^4!IYTI60=ukspt zfM%mUh=OhPepq$f#H2o~CwEYEy`$Mto~2j!q_R7ZTAGQ(wyWoPa;=y?3uYb5LDTV} zg)M_$O1>P+j84ARvEfpCZ{xX>(M9?Ce!?LggIRe>@AJGLgcsy^?#G4qx%2Ry*7xmU zJ+SsgWP-QGE+Z3sPIZW|*RYaU$jS6akqJn`GBN?IOpHt@Haq(f-r>%%FBQSjSD?^f zRlf#>CM+j}LYt`L4^U`bZ+>eOTIu44P-s^j#K3pX}sJvv+#I=C7s4& zIj8IRKHoTvm)nftU35S6E2DJvV8(t{m@6MKTMYYAqGUGL0T}k95ya|nS3Jr{gyaqh z7g6(1q|&#g=g{OZv&hB^(Ubkr#dnkjoGK~z8B($Q%i=_n1S4Bht4KQgk$Vdc?|La``fc<^0ouMm+g+x1V}jq-{e;ayW)GPBzDe5 zghN`lmYnPl8CNGxV6)|G2V#F4$Wbk$83KT8bO-{G_1$FnP{P(%N3)urNoPm8A%KYz z-2i;ihBuVq#>MEC$`7|=g9Xo3nVq!HlC!2%o@w#d(q@Nfe^my7CQ7oPXy-DK9h+d) z2UTFPngPD1;jj=$pSY!O--w-NmG(mtaR zADXn^TRVtMm<)vy7;J|gz?zXOAN%gIxZq4_cgl(`;szCcfAZiG!3ji_+se-52vr}p z9p}x2SWkAtt5BiT4mOZ#0O&Pg2!@S>&rD)0^*zm-$uNI8iE*_J7^T=rX8*{J%|O=` z`Z#7bs^9`Wgap=de?^~%7cCkTfKovrg&t-xC>H%*33~}KVLHX-q_r_&lCK-TlU@OqUA-_vdD0c)%AS%~Hwd z7j?xoy3}$MiD&^!)MlQc3Up;MGBtNtjlDZ~Mi7<4rl|@h<-R?-?uWs2XlXkI#*>fm zWeo^ukX+ME=j*PlR854*EMrvKg+Hzu%q1 zHE!pAIfb`cD(~}ox*i-Z7f(E)-%4@i7qRylq14U%WMZ;pFJUoL$apk_WOAzs z@k%_AKxDE@MPj#dBHS_dHzjHya$YQBQ-GdJ-nS)l3*;M|ISnYHvNdJ`8jJ&XFrd*d z)|g4Y)be!gXblY(mE=Toc0A3&<6&1L}E4(33L%e;9E_n?UlQMSClLBOXodV;cpCVQE)`(eQU0#iGXGT)CN z%~~>|g9gru6%T-E^1jHL{Wz23(d?$?G+m)UEw*~LLEh1UK~$iYBgw6=N{9p)Vh>4e zYfYxQSk&-^K)7V+vN0k@*VB{(Nfe@!j+(L(R(G%jJrYFd(}`g=(Q{hR@!6`CU~ukh zw7X69xsl%U+=T>44x!|su=#YC^(bctW%I*>!h%aEC(Y>xl^%B|!1dhtIsc4zqbgSG zd=IQ!QG=(%D0@VZdUV)+v6yx8oSA}Q=Tp_I82XgN#zt42^Q`kVFyAe_FQOE~PZO2V z_ggY)4^}*lccp~+XkQ*P$R0`Pb>iWX@Kf_yfqeE!`o&T}^)aBVXlJYBG(LijC1C5D zyAh|jh@%ZZ<-eRJG?rK&CLd_zG69H|V2H6c6DLq4CXcEY7`$rMN67}b2!O6YS!vju zf2puO<77u&J)OY-MPNag-lcjO_T_zDT~klDADx`KJuJ_U27_&GRV`nM?h6D~nu?$( zjVA#4W|=C9rY1Z53Y^76y>|4t5?somXyytixSOr^Po&3+yn({=6q#(wq)9al(ObpU zP%wY{lY%VWz(EN*4A{K)2U3u*jf;o^O6-9BPuI3MDQ|r1t}9PX9bq_9SsM93lX=&~ z2Me8_>+HV3ZCy40^aXh}@5P9x!0s9d6SCNbV96~aZO#l__P1M8I?gg9UA?Xv1kR&67nnqOF=MI}+3daI*?YxYkib%zVzx&EVdWI5gTlNh zc`{W2>b)Wg92^Gse8{a)V1Lq(?3q#EY3U_@&(k8}U7ReW`HGN=BpGSGTCy9?HCfSt zd3Pw+R44Ob7?wKMG|ol}JBQOxaxH`Tz+WS=hz0#)`n9Wgij8wkB1KY4M5DbnBv#Tn zsqvzWYfK@Or!etrS)HiSK*JGUMl;X_LH5bcubL#vQ-PQYIj+fwPHHq)BOQIEE%)x> zd_uOh4kPvRNuv?zIO6D-q`s`7%BGf%<5RxullUmi#~XE!kw5H-mmE>XZr}BBga>R> zFoO&-H|+o-fbFN;ht^d(D<`~w@w8dL@IIeJ=6SMwUD_vsO^Zdzv<~3f1VPwrW#=JV z-A@w-hHS~qq-NvicZKbWjS`6TuWGTLlXB*f$5_zSXKJ8J$%Y-zAu zth4)qW@@MQI8}ce#HYo@mFn`8^dI7rNO{QIE6NxE^Xrq!W{H!QD<&UklFH{l zywlG~Wy-8rvzU|0J=KDwa>9j3D)-EYe5LIfmBQrT-;`ADyYJ?t@`P(gt1*%f(yOF$ zc&+XJ8!0cXev6G)sibn(Hi$Z<5!bFZ4Zt9o(L-q_pG|^PC6&7!L`h|`gBJTkl~gw5 zXLuExRPNR#21b}X-KZRxS64=mMacrPc#Z;sW|LIzA3{mxZd+1PnNSx93s-}b9IlZu z+oZBsjme2znXyeOi`AITAgH8r0G5)WQAuUHhB7q-52PxoT+L@>@{Ckc*@DAJRBfW{ zQc`)b8Ie1Z%E+etj-;~tncNG(O?sxakv%lzGcq|DBP5mG!LnvIGoDW=>eh#$<)pI7 zNIbJo!uAq%Pn>)$E*$5MU7pE^uBP^g|(-0$=D;*))fjMaEgY& zE22SEp*ePyMhSW(>)#CldCLA{bC)u9+5dteF@1{F&IA-N^e`6%>It+@cP zL7E?R9mN*$s$|8Gd{Y*M^U7|DHK>bPx%GIh;~r%!_6Mw?AOn_;6m3uvsi1h&HA-X@1&+}gh+W~-flS4;Aw~oPGKUoz3`})4 zBR+)n3>M6K_~$JEz7D=e`w+x4wUXom-EnLTDLx$ek%*K-R*IL=ln3kRPSa*NZr>Ag z+R?PBbi^$vwA)Na8L&Y2^qbV?vThK3WWS#%1{fWoOWWVt2$82{=)uo;=$YS ztm;#ui>;KQZ=+ps=E1h%2QSu?F8pzC9A@1#aN0fYzrl3~a$U#*#`T!((Gb{%Fj z%A9GPvX^Ps!GW7u<|6jab+8PJL)?WG{h_q$Aod)&4vrg)se$`=k?Sx9-_92)*TEqT7-Tb9ig@Qb$gBEXvT_|PEM|8dEcoUR zyAIg8t4Y^e*TKd%6%c%Kq9{wpu7h>!SfpGBYxsVsoHSequl<9}L~@x4QnYX#7X3MY z)OBF9>2uei+8<=!n~zqfbsgM>#)cbx!&&D#SgtCiq1HfaY1hGNBbGVji*p?eMl8-+ z|F{mPKghH>5;bjq&98!sEQv-^WIUA8pLmgyddW$ip}P0ij>7(%bBX&>Dl_8=67x$fGcfE@y@dxVqDWGP26xgECiO@l|G9` zx^{GsS78#1WCKyNKq$9lQCXd+1s^PL*nDfu79P8x%aado9?6PgOg=Q3v2mAHT9mH+ zG9Q}7ADS#0J%XcVckL&cNRDNuF%SwE#l<|C0-QN;kX9Nktb_2uE(U5dO@a^3PJ|uI z95|F|@>rf`VI4*F4|F&nK5m-#d-fgwqD)gxrMFCa6`a3a5q_pqVOxq$MeYx}jYAd5 zPWz{{Q-Mx(v{RRKD(uwzb?R!bt-dlFteX7JP&}klUHQUHy;8>ngB_b?W5M z?K41gUZ!w?#&dM4Z6T}M z^^;C*HuQIgPVKwlIdqHiTR}29~SS{FnklwRSh?+Vv~eebqodv zYTHGvjf-)0Jq+ZanoVVcsL5z$CX7s|zoqtB()>g^YwgQ~sFiu)tVZaWSgAn2$b|$% zw|xuzV$`m?;;<$P^pUCAVlil(xD!$%r4zFG8wN!3G z419N&o2)iRa>*nL%1vN&O+kR_N#!P!&BOhsauXy9A1OCktnn1sL|lP#f4NDui3R1! zQfwWwl*&tBA=9- zxCr%uNiUyLZc;t|z<1F(sMb1H%1vyhh!;4$uD7Q42Ypsh;?1cV`YFnsEEbo z{Dy| zcvb<+VqTr+oKF;&{0UKLk@NnYP-vrbSiXcpyW$6Yp8}S?<=5TTZ`;jZF+0n?gEpeF3xJuEr-Ch#?v&oq;kw z?zj&_Qrgro$qZI-cL45-gPdU^=d z_mF(Zl8uT=q2XdfbIHdiSwxK9YH`b1&3it(mk;L%GT>5e6O|V)iU7trftJH_+Fg{T{G6~d$BT#>dolT3r^$f zTy*y+tYfllQ&@kdJKzKw;{dD59iSDrirbh+aum<48Btnrz&sWALb4|Br98Q%+5Y~- z)p+=AH?FOR54ra6ai4GP;kV7L-~Jf$PxASu;hNvq{nf(a(`;p!XcE zLucv!a2+0g6W8IB8|XE$;W-hERx02+6vG}_Wlu&@92rS*U5H9Vn*0T>!^t?Re}e09 zAAu((pXc^odMA}14h!x5-N9io`m2Y3HHXC*N&k8di;I!lhxgYq_D%Ke8Xok`<*T0P_!wZ_^DAp-+n5GcuTJk);|6aTdSyC~vB|J@~e`a}J9W!UdhkLz^O z%VT|6lS-6bN7Cmtsf1{1PQ*t#-alMi!I5fG2_;J%DRXh6+Wd2a zew0iqf4xcN-25PX(vh-S`)!U0xY4ANMakGis!3%y?}|;p3oG{&2o}>zXd2dSwYAM^ zSiciZL$mQVIg~C@-?%mkA=cd;n+NWT8uB@~(#{wZFCnnwggV4o2tUr&EKqxgS_!(c z_MoQypxHwfTcs0Lx^r|KA%^6GtZtjUy3&1nvGZ}VKDW}nzbIuyx`-;>lOIx95`mM= zVQ>tKs_HsRi}&P8_}t2szvq9iK2KC#o%ex=C8&hRdVV!3+pb8+Nu~SJKk)07?)&d~ zgk&i1uXLYW$TsymT(5NZ|E~J!FXla{z+DFMdZoLCJJG_y2Skln2M5r=kLY-_GG4_i2d#POhw6wZe}WS>~H^WrlOGj?M9}eko_%YD!PsR z?M9}eKg#~LDS-DWoxo);fd*oZl(0{_2oaqlQICi$s?4-!zh#3Xcp>@%#U4U|cHSX# zm$tq`I=)zx5@KyLfm@l{a^Jbk%vMGtV$~ayjfqCs7fhvAD8VPGMZ>A~$pmjWHp2zP_G znE}u#GV|cPvg_k?Z5oXfYnnuTsAdI|p%BJwCxu7#zI`l#q8CAYXCDh@l+u1kF>i(_ z)F9knytAil6#Aia0af2bS?oAE=?!5(L_%8a4fr@O!wR{*>mpCHT>KIbyzGi0pFHq( z{L1<;p;3odGo;i2_$XBlPgg4Msf09O^C7ShVf~FrrQL9PjYnunLG%BVki40oiWh|1aim0sKdB8PyjcVN4nN+p@Sp}0y<94~D9 zG=%usgF(6oNr&Q6x@?Sbosa9U&jmt~Tg?O)-DeglSyjt|dLGV=px(ye3slB@;Hq07 z6k4^Tp|XLz$bjUm_8SMTgdMq*))fH_%6yjTMbeupX;idHYzM#@*2&AL>a_-0F5eDx zC=UH{ezpY>44!FbAhaJHi+Cz_^M2&sShPPXG6{3XCkb`%d(K8P`rW4jNMWPz45EOBEPq zfirT9>IWz_=`b{^0>f+RL}TSBLjuMSMgNy^?QHeFs=zQN*T8+01KUi||Jk)s!gVE5 zb&U2!>PF>Y=>Ph)I9esI(?vW-ivF)}WJUkCn71bDv}QkXivG{!VOT`;e;EVlh*=c< zpFfAEAP(;nH3R7hqW@d`wZsLNt)Hc8EfTIJ`oI3%CL^7Vp`h{(ssh6s3LYZOd}sQQaIt72OjPti0%h_7WFm*Ycg-u}cNH=rm3l%$*uR9f%9 zl~Iyp(wn2%Y*%dJW?gFXcHy5uS2BB=C{^g$(w9j8GS<FHr2ksLa&Itr`lg!Qqr?A()ds-&X%gk+3&Zi&f_`_w$1f6jKN|gYJMA0 zjO=6D$dz;W2;N84A3w$KBdll5H;6LGWDQ79U~i5eM-aqJLAK&deeYfBYD}k~>@iAL z>XX#f0*4SEOhT1s>4OSjq3j$03-NK4P=x#Qkn)}TjjIeF6}0 zETW1<1mz?P(AlG>cLr+Qy|dRH%I>OOMTZ7tu@;sJTNAPdhM`-Nym*7g=O1q#Tzol4 z(~=qLUvG+BuE!C$Vn>9W%_-K(B@tp=t@y7luv`!XTQpH%<4&Ew;sZUZB$x^+%&S>k{~%^R|YLA)WQmrq)Yqwq1~S=<(Jo! z9QR@QH=|q`^Mcp>O@^=31}MYV8iI-V9bx#|RQ1{L71I)iudU8O3dI<{5;}+BE7!vC z9gRq(i`nq4=DCgPAwMyE!44*dZ?c6p2ZAv@VEA?+4zHd}hv943wt1A;@SXLoM%Ui! zZ1@@^^gV{JHTr)+$cC>0M~jlthVR^81cvXtOJMkpT5>)f41~@@fh56Y4Bu71SVM36 z#Yl|d>ngT@?_k4M$`X~~Ygy40bx6@)Y7Jk@ZpR(qVfc>zxyT{0;X9kp2S~wC0tg0`<*Oaic))4A06Ysrfqx;<-XLyO}||knf=V=#bU{->->F1v!h^ z#N|xhfoPA49>}4%P@ZxMIOp%m)2VS^Uxbz7h78w`qXFPe+q}d$1=D1t3@j`C^aR9i z4b(T81x0?Ck`Zaw&)Ga5ZvkR}MUuz>#v{=U3C!HTxLMK$g~FrV=z@Zrr5R1I$0Up# zNqopj;ZhMQh9BhrLl)UYlMcwtY;z@a_QU#OZ?4!vYc6C>Jw{P%>Ge5QAm^VP_c*h& zT?a`m7{{XuIJfMc1_oD5QFFAe&9PfG*D#5#6Z$SOV)h{+7<6TK*%Zsk5~IwP#1xms z%?zpZVnP{|tj<1o>ODOVVSYINUyp4Mce^5;%oHJEe%P*%r9ekwDE#znrz2$_40;Y3 zC1eD9Sz*9OaE=YnB~o zwBYGNiPS9J8M8sV8Fn|eE(zCu|7FqdEKh98v8c`dt9X689+z*NRZMcf?F{#CAFc)C z+$871r(yq@rP5s75u(eAb#Xz zUCZC(M}l7LQ$G^Ir}&XTq6e6f7y6M9wZ)0pk6i6Cy2Fp`FZd1oNQ8s`tRE?K$k+YI zxx0hnN7{fnuh9Gb$o;lnrGMr}T7%{Veqpe)asp6|vzM~F3hDaU9zxKr z;l6Sp5<=5_U>HNig%}aqg?H6|%6dh`fxOe?WAG#@<5MgAa%*%kheCe=(7!a9Lf&$9 zr^s;BmJurByh$6^5=kDlBbsP;yP)+Y_{Ri3lU`kq)LyhS|NPma z2nd&UwUeQI1FFzzqC;mve_}Ic(t1NAUI$ohj&i@-R7Kq|BEhXPw$6hRX|~$r*+BeB z1bVl(zS55P%Q-;JroILqWT?Zs6M2cIpV%7vP8-mbfP<in@OMqyCvBbW z#NVz_CwUo2*0{WP{Hq4^?=CAV0WqsChidAuL6xAr zpijHi+aK)pl>1iK5tgyM0zEDVK#RsLQ*+c2+}{4XuZg9`j9MgW0I8%WwfOI4VWK^9 zY-C8TJO~ts0%>LvP?T1&`F~cB7K1`TGgNeY4k!&L`ZWNKZ=&I zJs`pGx*udir#~X5-~bmkvPuTCBqx;cj+u`9#?57nRUS0T)ipENbxko$5Su<~C8Li_ zS}2EDuLGx4q;9c7B1#S;q4a-aD5UuvieK9TL!#JR5I3J0PW_P4iuIWh^_FfH&pEAe z4@q+h8^me3b<1O2dLI7KA11+H(?nnz_`xJp#M*dsnupi|pj+>?Zbeg+Bl1PYQwIq~rMt1poqIzZ4+ z-1!dz$h#;kAyWmtfvk%5ZRPS@Eh@Gj z!6V1a5>i%69V2p{fVpB{YhHYawk_Oc^}55O{pLwb+zATXk)qNyZYx) zb$LO7-!z)cq|!={>z+(Y-LNDOQ-TLHiSK^Jw&wB+VTc*z$uP6?6XA>JmBWwJd2 z+9w1~38SK@+;<)lm37qD7;Io6x47&V{TEcs;p&h9hAe2_UZmFrw)?rIe`R`ZT**O*)h#oR6gq}o;Vl7m;fp+oxeZu zBU`tV?AC^4q-huRsU5*=7oI~yu9@+VP54KZAQ!8?vP-pfu7(#Fc!eI}qjKQ9Pro`Cfz*=>f7aIPiCL%97sF!-CA zaT^^qWLkubF6SC%uTDZ~3I`8|Hw(vS8hZlujx;$i>DCQw4lhM8>611unn0AjWqxAC zj_JdeGZEo+o#V^0jIPfY4T`$zLRyMC)pJ^qk}r}vLxdEGZ+Vasett|jebj(Heq{>4 zqY7ElUv_;m2%7VA=dHs_fFwm-)?%kik&mT~?=&<%t4R@q1QIjxsilvgbsy)hKM0nD zi6d~d$6P#cw9GRD^g%(uVNVg!!Y?PurU*%R{-Bvt4qZ&hjFBcAl0Z$}PC~RH`$jcQ{oZ z*ZG`FflFzYtI0RSp^l^J^sj!KK0k>Ea5Hd>g~48I!e}&r)A5V90)lk4MD0TMGcB+7 z*E1mx?i7}n@xBjJFHOX6sy2T@QqgU!4a@drgzs`koYhWx16<5mQj9ohFZ1i%XsRTY zqF=91>xi|W+r0-939MNKrOd|gQ+4`SNIT3Lx_zNlzh0XXm=l0zINNhTj$yCKe}+J( zh&sN}2D&%v2Tpg0=>bh*QFQoAM(dJ0g><78OkE;Ey)lL#wwA4;?p^k!x#;CpT^HF{ z@)&v3U(c3mM5GGL7E%LR08`Fo4u-<7VpP`zBz-bXz5`+WK@n1+@!Ov4ktbsZubgq# zV+0@H;0sHQn0a0D zTcxL(`ugLPmOLyn(kp5leDt`(enFlc;1|p$@T=&9(G5%HQP-78;Zeps7;%w$|70^_ zow3NFVw!vs`Te`0vlu*sJiGUa=U1^RBk8u2>ZP)jt+BC;kvhQ@eq-$wHF6deemgG5 zl`rDNCie4vtO}u$8i8qnKu$TC7TiL6(?@VaaH?z+zW~E#jj)Xj`$+F=Y19s3 zQ@^r+5b{-punk@tqb!jC@)ebU(#A3K$)&uagsbM&i%>#FkuUaW)_0o~U{O3$nKyc8 z!H<~4A(v&Htq}G7@h68aS)~d&?EP%ZWS5*HiOo??RzPKL;2`K80RvfAxV8-*_{+J{U z%017D+a!Ke#OX8=Onq^V&Bnc7JA4b6GBjxYKX`sw|A*(7pZ`Di9gMAEI2r#(3lMRz zcQvzjbs^Fr;$-^KD-&@t|L@{I9Kp&&dN2SHX9q`N2hSf1MuwlRKNlMp8v_e7BO?~R1kRPH0Y>9vJt;uKOO`8hrbY?;=bQ|{X^rJ z#xDc{~J3>Rg-!B5b;tam?-a&x%^S9WFMQRo$u+q#j z|9X^L^=!Hee^A|U`5szn9WQS5+aZ0`y@Wp`CDZeW$ZZ=R?NYt+KE*@P(w?vJ^EnN}vTVJhe@~j-23`?J<-N%+f;s^9Qyxv}% z=RVrpxiH9N=v$R$g|&aXvV#U`!at=z@o~GjYU4go7;n+5eJ74W9m5M{+Jvpk?3dpc z6R+#{XE0|w<~De)32++m%CZ`;<{Ni-avOHMlz}aD-o4+lIM#YHpYFVV8X{5fsh*@! zFUuz9pkScJUGANc)*8EF|K;0k6@ObNAP^9quVeOK5;OMl%NDopWmx%YI3kUOxAiIV zJ^X5FWtkXV2xyuMeI!kJim(e@io-jqUx_<&Ca!IGV*J=Qzq#9pUbrP%BqNXYAq9pQSxB!d6sSt~OdL3w25V|^O zm31zKqW1gTeWUZsKu+vT2OrW}Z7v6b*5Xe9n|f7)F4nLEoZgVx3{Nxd^?$jYTPL5t7`WP7%_*V4DkF0OeMtP755j2vpst$tqpMp}ELS&#V=F zQQC!8C)uXt8n`VxRW$obmnY?{dDic!d?tULgygbS)^6g5$^vXdNd3uSxR$7cT^Qhx zZ2B7{Y%;fVf5@c%cW}3v?6?j7z!emYbR`7|^G7~)BSs=$r1|WM48HV@@MMUV>Bw6j z$i0$;7Os2#ii&}JejUek(1*Nvpg*!rY5}}1Ls?Hs6EfNoF}8v+cApcJp42N_j4?CzciD)5{Ht@!&|Lm{;9p$eJWB zkBq7ur1p4AOlzy9rE7GP7L~qHJE0(65a_Qwy5m&oa8i|2N#7&OFS2g+VcxKHUf*Xw z9_tqFsq1D<2C48~VV07@1@F|jb1 z`eA{xhXd=K&ezE-)(y9%BRm<6t3y~@LeIHhKg-o4%y~sK%NYURdy^c=g0#1~s>Q9% zF6Fi7#YR{cF)&2ut*wSZmCn2Y3g@u7J6)PEEuOpGT9$F{ zG-rfE$^BTb2vp2P7nNqwhh<62S(~a?IhM_%tsO9}3jiDo;dqdlP3f*!_$}PH& zm}1BNWSly8$IGJ1PvNPBZ5ChWk#L0GYN#<*J_wrAoNmdo&r;js%*mik8?H2+s*=+4&pQxX;Ek^3<9_yW{Tx<>%LuRLtal*Vi*KH#ceWKrTF0MlY^wP2Qt$%V@aRP$oszuw%0)6zh zI3Jv`?*aQ6#^;w}agp@W@oA|F6>L)I=fU9=Y*S#zhgcmZ_aW6&YEYnbW&UUSzf)X^}8*5^KJV8y!A zNIIcj)_XDJ8~V9S*YY@1qLgt0%rYh%%nV#mZz4xnzPm}4nv`0UYNNY}xA3tG$vQYf zolNJSABu~2%P-`mhQ3buC==|X8FIChRKBM}*iT%Jd)`vF%2Ao$ zt}Hghu7IpD1LHuuWdh34i~ahQ+O&R(7SGy;s7b7@vy$&*g~d?c&0XoTd5eSzeY3u~ z6oiv_53bH>Y*LT4Uke>E+V?F@2=WNt>i0g9;E%rgE(6pkV^)Z*8cKsRtHUO_=ASD3 zFvwL}e8>B&7NFIL_z-$j&PxK_zs+`(>H+fxM*W@Z_rD~hvWgW%$Bp1YCxp;sKV)Fx zoCUl*nIfV)$|1RS(M&{*V!Z`lQ_JOU7o9FF;{*a?SIK6Oe3-DEO9pu(Td@1muWVE} zfu{BcUh(I;rqFmB6NCudT3Ccv0OujB-P8fS)iK6J>dOsSH**YD_v+im-)sA;Wmmq0~FwdZt0#poE>;`>`YFhBd(-3puMauiNOiAiET zO-$6?&DPZGiq!1<<^2uhnU*XTYyf3mdu=S)Vu#~%f5&-pS+EVQC#FoNB!8tRs`>=DZ16l*imGq}GYEkS0gDuBM|58F?7k0Tf&X`D?1Xz*OSxQ_6HZ;3=zo`e?*Pm|*RK7$^CQ40@ zBGQ?M#NKfBS+c-SMwrYl3wF3mb(0CdJ%*Co>dY(bg!1+&>N5s-!gzb1%rOtH7-?tFXvyBjzd@a^X+>Zk7U)8!- z;de5M0A9d;1e9kyu-2k=U=Qt{a&I%umo%G(yF80cWSH$YIT?t~BL`Y3h6qE;j|eHh zdPRTv+06Rd3P+HG51E7O6&eT?fE%ATXy{l(jzXfOPbrBQ{R6qZT3E|L5o<-&lQESC zy|HIXE(+9KRnICJK_vbx${)&n$yozd#AIVURFNnXa~e1yJptzR7vAUEEImU-i=0Bu zwCf`iK_C*td2LQNQq~k$`p~HMBpN!`ZFnsOSB8MGvMOer$)9;_D2GOFggt-8Z^{vw$zMLKM& zKg|v<&hHFqMagqaH(D#(2#f3@W3eE{c7f}IFZT0om_-#|f?C*tUyp$Pv>cDOr}D=U zZVoF~n6Dxmm@g4;ulcchI7YJvsE7^M)iXLqVUIGb%Y5o3JQ|*xS$z7=O)*+x#AXV7 zio`0j1tP(H>l>zZ6?^H3?mtz`b?p2SEy_eIns%yZmxE-2%q>#$y# z#!>Cv@$u+Vnd>U(>}VVZ+UNo^xY2YjXQ%`N6e5SG^nrdVKER)Am4G`TiDXfD4xRH4 zb^L8ZO(E%tmms&&`+VTRdpRlN)3{W7j`7a~4kQ`xP3;x2FP&YV>v9spAOhAymMhj( zepN2sVpp78bNH-~1|Rr)n%f60Kl=gJfL>yA)^^#Ui!(_`7VJbW2=97s0m5|zozDcL zz2cK;Z1sNqR84eA8oGAFlH{R_M1L~69 zj)=m6yJuZUOLK^nN-AmUO|Mar8DOKWKT&7&$F`B8RIb_xc+cy$u7W{dTu@=;G8h>TAxWId&{T!^RBS<8xXDt4qJ^7doL9zWO!M$!alm7 z(Rt%$cF(_B9f7Y}sDTDavG%mjslZ%Byt>JRnKIpOYagK(Iiz}rsN6bhD#9~g25k}o z!E`FY9jLjN;fAVCjkt`ZWc(PsId%Y@d)x@0k-0;STgyav=1FJ1t8#EfA*U=qMis zEsW89#-s?~(f@zQa8)h9?Hr1Gbsk@x1^0>O=L65iklAtVIvWVvNzOnD6NufV8*Mk; zTlw6B7UO-~_Tboouq$8D3JDp3K0$C+H%Z7gZfIiZK-PHPIk4|;r)j)^Jq8MO5mueC z-hl|i6KzPn>}Cf zNACq(?BzJiG)cylDh>Z3%mIv8YpI>pf?4}1XD71Zm$npIJMTL?#ah-9om2hV=B@GP zqKOn`tDfD5MIPnNQfM5?P-gny2DPFpbQ3Ao@5ITpp%6l%CdW1fx)lbnN779}suGbW zlPQhB4W!^{wBT$Im88SP{Gq5o4Wz^6`GW`e)D+#lhyfZBk*X(gOVQm8XV?bCgMF6* z)=wC`u;~b(i^dOUL8G8NN=YsdM$<4g^@Ri^6K<<#@iAm5{+CQz|03&nGV{E@91_A) zYbdAPbVxCQPt$_Fm>%*Pi(2P;8&xXu#nj(&?r|wv*Ddxe;>N8n!6RsjU!qc#=vls8qG*#>%PNXy8O~1@>{W!lm z5}!u`ytrIQf>Snl>CDX|S=NRXRtNA($hGJ!LZvQ?e=X*yY&B-=lZ@#VVl2vUH{>~m z(gvbsYQ<#^{-dSSrZk2Cqc`UjW6VXscIE1zV7|DQHsAaFMH(|AEb*@7YkXW4Q4XQf zhm;NzgXACeJrS>ls_w}SH+E%IJ_Ipuj_x7L95t~AhOBHOtOR*=H%Cc&sG~X3J^u{M zT+L_>YAsZ{&SIMpFhA!cLV~ns4LaQkU$A?+&Hn6B@7`#ED@h!&0=_}8-OG^sTRacJ z#9bkZ+GAxtsdAcCd2l>U&VJx3ebb8_DQTc#9KJfn&;S!u2^Dl4Nmz?tmv`A=bXmUO zT6Y|2L5Z?258BCKbnO!vZf#tJd7A-Ror# z>Vll(1Uq^(GZ*A7kKCI-WJZDf-U1%np;+gj+wh~N8 zDJdmx?1;TuM=XY+mcs==DlBXc*K$D}%qDLL~y%ZOl$6M5-iVnw8_G85&FuUh{SvvsAVPbVd@Ie6wg{m zNNaBtLoMtzF-S01SqmiABLs9&q6p|7mw^6=S96fh`g6PAZus&Qs$dwog;f)`?efE6 zNqr}>*G&V?*cm&QkH4VTPHp{_)es?N-=4>QNwt9!8#2>Cc|VL_xxcL^OvVx!Dj#mJ zois74bLELb$TkaYflv$y8lHlf_6_ZM5yszvgHVKt2OorT8wyuEBQY{f-AgJ1Kq-<1 zV1ZF{b^!~nW_?4Z*T&<0*HGyC8Kp0Fkn>tw?`DrtZ(;u zz(j#QGUGh3V1v0^UkJ!1@tlDYUqIh(6I{BbehM(|Sh~v?nCxj85+gQ!s+*|JTdL^K z>TWd-F}y_LYCDit*>y!NVYFzH}g`V|E$OcBqSRH7&Ysg5Q7E()cIPV*cuF(F(VtYDIN_t zNi1Me0Y05hr4HSXE!0}@Dd|_}Vt;;Y8{(pA!4O)1^+!#x+gs!!F6w%LY+6!1lxS$s zHY7UA#DnvnBl(O*J;Oo1@h%ZYTo3;GL*Ot!*K=8-yj-*fPl>QOtd&__wb7Bb$DJw; z!L@)mXUNOI@J*bFv`*jMl|)QZs{sn{{F(|H zpU;iLOg;dsOrW&@fb}4j+*kP;OT5Sjelvy%9O2PJ?xc^mDj$ZXk562s6sa4N0vKsB zs7>TE2of@|5@h>gSgx86y5^#hfdpy$O3?&#HCHGNBIF9el~Rk7;q+>LfLC0l6SJb; zKbLty+v}+>Sh#AdpwLMz#U&_`aZ<>Y!W>c!Y9S6t$dzW1z+O4<71r*e1)!yfZ!FCy z=Te3OBr^_BbSlV|Q`eC`?eDbKJLXUgCQ8ks}i>Y*nL^JulNg^25hoTF0*z z+Bh9>ClT^Hr6CsA5BRRHvlKZ!7lr&Ud-6MluH_0hxZHlT=Q4%x>ydYaHYK)JR?%l9 zP-S*)cs{mE-gl8zw)6Fg%^hPVMFNkYK(o{oY19c5`vSGx~_* z;i9t(74wMW`e*ii>Q;@#C!7}C%97AQJzl-?{$Uh$0m~6eCe+i^EXEZyi{&*OI!eOsB4mSnj9mFoL`a|~Y9@6BV%A{+A?}X)wc-vYjb5ZWX zRlIRB*8LA}tw@85T$I5#i}vQ!N}21^wiHje)S4k^K;$kV(#I3}!H}~l9+iy>h{}=0 zWs^{*eerU>WNk&X%NPKm(YCN)ncp<%P}%nnwwYA{Pk*XIb{E$KxsjQ<3JF66PPx+Cb=*`k9ihQZ(9j8)&Qc|>dpFqqEAtG57r%%md?mqfT`GMjZq)MJGA zqWRIYYKAS3R&*fuh(i_1X*;#Dyj7QTA2ntV>2VKPb#IT1torq=*3s0QT6{n}#L@wmS>>a_%ybl!PJL z=mX>Sr%KpQz0|Nk2+#WGH3f-A>?|x-W4q@H6y_Pqs9n&>6iRcNy}Mtde95Dc$}AK| zgeZir9EM7M7EVk{)i0b!+-O*O#wFv3-!XX;gFAs}z2YlswkAJ z%#TLhK8sJd*b!C=i|K1;Lz&|)WW7N7pCe=LWEo!CcnK%Mp#Ut8k8ua#ymvn7x?5y| z`mZBeX}~1!jOQMf3?dJ1szuGilOqRJH=p><4|A`e6je87^Ln`K?v_M}#|m)h8bp#g zYC{KAw_X%cNgA4ux_4)_pZZyh8i_{owpc_bt+a!>@jpu1ZY5$!sxyE6vt?e?I;!q} z7(1dr44xH#lee{YuAXVS4@9@*b_yOEzd;0T5%{%`{Iv>vO2CEqEe3_$W?~k=BY^l_ zoB23@d+G7K@;W<3rj^9^N(0P%eT4rmHG*_jKTabHjU9efO4SG?qO-$30gVsFKXX+! zi)CTDB5|n~JE9ae@yu^z%L#C2)rP(nrJwR%cz43_yGX;~x3J*$CMi95+X#^lu>KLD z-U;>dB8!x(SAH$Zj`o1j@d96v_iIM2^oTT28*`th)=fvo;0{?co#NKx5dg#dBl}sb zAS47i{IYc>l1@3d9g&EYCIdP5F7`?MT4o3>N5)nn8k zHpWV7l=j+iBno5KXxR(C52EHS$WCY1bOw5bP(c25I6^gnFMWaRl5l#o+i989%vBnf z7Az`fE!Ax)11C)`UL{VR1csGC*h7^gp9x;HaJ@^ku$K?GKqn6Fc!M!K3zCnU%8r4u-L1>UcWcyq1DD)(Zb>*1cOpVo3Wvo)$J~9_#g(yrwy^ zcEM>Pg&Env1$#k~%@5b%&7(@AA=ZqV-v}{PpmMX&Tm$8bHDUn2k9_QKd0Gq#-@Y37i}fksQNh&#F+MM^0?u8ST}G>L$cn7uY6^p>WtRZ#6P#_s#FjzmW)XSP2p=k&POJ3`_;$(?x(fgiaqY>W9A^Lpwiu zbpz!|^aD4PNNf|N&3gVPsW$|r=3pwp4c}pBSFPc7f_92tiedwRketTB?uMoAK~o!0 zahFosEEK6V>N1gVwoZj!0JBFJs)(wt<+g*^6#u349-JJ-VWorgPqLS2eeNGOpJX=K zPO$8bUb26*JDEnv%LimJiHrF|G2h5SEGwHic%%7PY<9LZ4J*zgc8I&FlXZMUKHNXa z#i7v_(k7jp=>#rj9J!J9BwA<3s(~EaR~u;Rkq%dDN+e+(=lMyf81Y6@V#J>g?#`KG zc&iCv$=Gsa&7?`k*~TZp>j{>uiTGAST-wo=67t?vi?_kM#G++5=SNfzQ!ufRgMld;VfBbOO_HIt6FE4Y(k^JNkZPFH|5(b9C@oAEH0 zIF1Wtt&lq5Pu*UujR~fwympm!NIw0QyHg2XGliVOcMah-|DyoIZK%xW95y?VdD0Ax z=StUR;#IXZ7*7%zPSYn}kXLTvk*vuB zM$xFz1;21De4sq8$#!>By(#9Kkqfu#q`a&=LJIiGV=avTuXd3`OeVFF)AGGj?O}%L z0->&%Pr7<`aqvc4DVIC<+$3;yTRWwO6sZ#%xptM7>h0yHQ2zI{$h&m>0QAwlboz?~ zTe^9Op|yeZgb_dt3DKiX@OB{;q7kRv#A^5GD~# z5Bv}vTac{QJ}}F4quq|64EYAPe?y|>ExOJ|9MTA7`Vh~Vjn%vb5js+(_9@kwbv9$! zy|8F%=GfkO)kyIGmy`pf6hF|mEsNY}_%MN$Q5YJ z2b)4=Q>goqt~6p^>$!2H5#P=l=8!-pS9Ov16gZD=G3~m1cNamSr94E)Fn&roQ ziI-Ow3$73};4VNje`}pvyMzKbh6uWpunHgJXp_Givt@${Fr^6dvyO}H5#gXtxe-nY zEM!8tx(Xz!W3>=h#pD!CL~vmxX-Y?3ex(oUR}&mU)u}#)Bdm@FwNt}gq}_B57CvC+ zo1MS9YLPL)*kkKMj(HmWo}tOj0pnsepK)}jHs|1Cp-8m!xryPsHi;uex9Cuu5MfrI zZwf8!l|9Gi)F|X3cJf;n(oD>uI`l7$XjHj7B#6DB_I&&8DoN}=1^CSyUU>HV!{=dk z)BuzMf#n<@YAQG=|E6>C(N`Yy9B|Zc1@;l48eVLZotN4|`h2>*x7J`FP}JODVAl8A z<)t7b&1xM+uQZ;IqO90LbF`+eGj;_-EsgXJl(=ZZq!7{y*9r}aixbyu)@O{|sBK_2_Oz12A>Nm<33>nt2b~^aF zckIe4R5}8ZWVvozUY#u+2I7W})wz;O?PuD0VI2S23+*b6%PD(+q|P-BD{d3=1_$bC z%equChxD_m?h(STidhsEi@|MFP;iqgjGz4ya;>0(wb)MClFaK zw*qGhzFI)VQO{js{DWyiv(FIkkv14vg_)qszKheItC&<2u zrD3V(Ak6sQ4%MB4o%iZbfu_aMIG+KAnn^dA@G<>VL>2=uw*N51@q{J~`8x(t@Dr9XAIIPJ##d1XK`fEZPw(Q5`DOMwsu>P}iApSz@`*-rcRLq__anitf zwMLKphWdEL&fLx0K{+Vq*hV!Pa0uN3BO7&{VuU~R5GRv{DQeGHfv8mX#}*&IU!;H- zDUo(0b_HTksYc_N^Loh{j!3g}djlb{x>s(wU;aR*Cqv$vyVQF$V-1C0e&#+HCeK}j zw;?^7qd`!rX%^63wF@8&sX-_0=hA6lJVytfBuDELU$sB;M!A~{{Ic&)8bAnY;?zOB z-+lDg*w3YRlI&XAgb3cTcQo9Gu^t@W|OYRcuv$&5g-+y?`~`8%A@st8p}X{)p*LOoKF~aYA5*mgm-YeaCdEb zV{%ukfo8}Yidg6o^H*flVUlGZg?-sZlUtI-9Bs;npOW#+6ZiKOlP!_bSC-&fn^opy z2Z0qUM6?3B)^N*-nyuM~QR`o8c><;|M{xK}OI`lJ+_xPAdH>lH!1E#~JlhEeR%XHE zhG~=gM=q}8&y#HGxGWaa`Og9@bX%Mgab$p;efB)uXi{NC>ulx>jfKjhKDt~%Z)A)# zOm!uVpe2&DF9TM+X(HxPS%@Qf$^{b_D42YrbI^hploLFH+FfD+q+k}VC8d!6S0Pj{ zqdYd84hYmgvn9z;*kF)4@m<@fD23BD@)p4jMl_+73h4bC68Oe6&|lO*tR|bFfiQVq zK@gVIlXB<-BxS#YdyIc}vYXS60-eFLm5*zYp7!*UA5-ciM9Ay>G6h|+t zV)F87(X(m+ztaw9JrYTIWgDN(oWb72DJ0U5Y8vOw5&DFJ4x!F}H%#$C3Y`odLRo8= zwv{NgmT85ti)(o$eq%d>5v>KsPWQ&(8L3{;6@z1rTuw>mJ8d;GY1v$5&NXp)+d{ zJz?(6Tt?v`@ggH2%5Eg{gG9NuL8_7pE`oFr6!89@7(_bgtIxmj^h$``d&U#0&Wn>* z{<^%Rr_pA=+xMujWXBc zG<(f0?L2bKbEcA?&D%C(bQRkKC)79cy}}QK-Ug?}@k7g)Lx7_DBMW{OsDt3C^_c5v zl;q9SD45{uiH^%UTRO^14IBAaN2$!aV*W68lqEDWD*bOKt>Va2+p1cSn95c__udL91x~3yZK1xdZ6%Tj zF5!f~I(2~u2fVmuuT)innV1=FY1U-s6jL3bx~6~o{rsI*wkkY7btSuQ10iFpyg^;P zT5IDS=u;R@vSA?~##X}sOwD{6Jp`Vu9Di|P+@YIx2Ycw)j1S-yqp_+CFnles2v6>5pK-LhxET_l=W+sJ^b4GHpS{kV#25(tY?MyX@jFWB#%B;L{$vqM1{lq69KAOmh z?1J@v4xNWtTF4zN98>_@j;8TzX#HWQWP{9p6PwO|M6^N5y|)o#k@@_GS>s$8=t5?6 zWQ&JP&=!nMBvgNGjlrW)NWo}>m<5UU2M)8{-E$av<#i}$h*hegn#;F`Bl|LdcjRZd zj+2r#hdo|yu{G+*hG}QVgL6)L3rzACy}oW^1CxZGi(j6}h5;~sg(gIDL@x*9-e$uWYp(OfjFNx08_^zTbirb$hsnleJEFn`K zPYHOPrxz_-lTS3fT^aMQ(k4uoylipUW=z3C zm2^rkh*pJj5r3JbThf(2kKKmqrs3U>j_+nzWL$v!8M7L1a2BtPqnxrDr_RQYKRIg; z6OoVl<{u45Eq00Aav?@3cEPDwq@<7pWk4y|;}_r(;x2RZft)z_YF$=fQr7+CzI%nKXTF=D}$u-;X811oCKa-9Q~ml*IW)q<@8_MI6}F*6&idiJR73+Bmqw#Yx~<^ zTE0fyj+SvX_NxED#iXcC#*6R55?JospZ)f}Siylpprw%9o#%$Uu|UD^vl6 zt-CyUQB<`@EW>-v=LU}nD6cb+R|>8?FrI!^5Du+tso~D{Q{}Srgt}w%JxunWM=hTt z7c=cSEN2RZtw7#&|HW9{{Wtt&1=-HI?4Dnm63jtSt_#8B>xwidA$Qu{$)ShYa$F-!Ie}O?NFwPlwAJK6jPYCg~c@vZsXuBYs zGm3X}gubKd0=uy*jy60=d?}91*l=fZG%Sz3vr{sPR?`1*H=p*-dDV#~gBX0dK#=a>^lwfCfY}>YN+cSG?8+&Zq zwr$(CZQJG^{&UX1?#o^G;lA|huC7i}>0VuxRPtqzoe1wI=MFa5*EZDF9HQ-M$fsSn z>MX>T?0U8ht%ou5Y!-Hx=Dw@N@O?#l)_jnCSV`^t&Q*}3jar%`a$I|M_!B{s8}Y@a zJ%?1`eztN(eYJQbhh6xdkXwaWs#$QPKh#IST3|*_m`fkCKxwTFdsqg*6spa?o{4Mp7v;slVTxrY&0|m;DH;|3}=q9(1dy= z9E~;_E-m%M<+|X0Rrh-ktoul)@L6-0_IRiBoOasJ#E3xbAHDD$MI141wd6M$0>a-uhNR7%G(N^oE z9#&k&`rNFZ?k7YeU;Zju;58@2dCzB{b*sq$6Q5Y!{H znZujQhD4;4Ujfu1uALh?FbPnVfo^0|pJr=_D6;!-jchcj!tKnX^E|8J$ksJM>Nm2W zKxyRFE4&yHkx%DvX>b<-ln@YrEQxL@d|1oVAWFEoX@v@175DRZtr<|E;(V%{eX5oL zcKu4SfMSIja;}b&wDNQEtSrGk`~-W##$g2)fCAibOtHAGMl6$D{2r`xBS#RMEssG9 zy5AS_LKa(O*H7uGC+BR_p7}XT&?u@kwh1w65iETfoUdtZTGbaQ6~uwX30%KfD)n3F zL^j|R&V~1pHngvb0}?1*+D+Xn$K-O>@c{SmAt&sBf_f1>3>6vuRpSB5UxYkP$>onw zI(8BjrEkVE8(in8!bdKRs5cr|uk(T{Ux3M#8vK2zIbh4DS!H``a<~Ncu_3I4n%I?9 z^UwSBW3j^AfN}lM5aBK9gqT@H9fATYxML^%-hL4+7syY07>; zBb%$U)Yl)oKoi+FbIdwZ{AJ9v&w&lnWeOxxPBKS_9Qi)OBtcTZb3-l8>A^LBUuismQH#N5bERpEsKTY1*xl^8`2^IKjKmUPOd(nF|Eiz zHylWDvEbaaNlHG#@;pdb{2VE#>iFf5-FWYp_?5`WT936oO`S`gSzyNnw=NQAE3!7! z8KVddCApC!svvkr67iOZmPesFUX>aAvaU_SjN&baCHbW))I^U|BnV8h3GHvlT3Lt~ zmoXjO6h=mu0!pV^O{?+qL{k0}@r_x()DVXCi`e0+wvwwTk3%pYPrH6Q853@=dF!IP zNXc5S*jxMM^CP^ezvi=>ldoG%em)qvEJr);#URrA+r+3$c;u`ENiIvPrGt*rk*8W@ z;^LUy?CRYdcv^+qv*PpfARQFtAJxdbc8*#1#iw(b24Ce~&$pKoJDg68T|5jU2D43u ztwb=2=&YpbamvoHrt9= zLd(*&x7X1I$H(&H>s5rowT6{(Z_UTI5%7n4^R~C90JC>$$LGhj(wsm4>swx7K47Ih zM`2#z5DDk1u?ULusAj0@aD<~oA>d(Vh?!vIN~)Mq%hjXZ`xJsI0DEpekGgN!cqS4*6Dd^+`P4#-7o>I z%Z<>xk+%9@R#Jt&# z!X}wtl^j%7Hy=2?TRy(81e^Q*FCUq(v;0dwzIuu?cM2b0YL`pyZoltp@K=j zo4;zE@OQE7_2siT@chgq0-g(qd$fr_hB^J@b9TTtwM^G(z5I2Nx zNro$9?k5j;OlO7rh9_ExjP!Smza9zV8Ci&#{_Ks( z;*ACq_lRHptu+!(nAOR+*{nqA+jpD$Cd&rq+9VR}B;YRnG6uk+-3jE;KE zd5*y>1#e`ywpW@|&ztvK?+n6|5$Ni8hkq_6wi&45KG+Dw8$JruQ7kNoI^}CE+R*9A z=OhuWT{kDZ&yzNNxm?}Hop){jkaju^2@hsf;|GQF%WXT1Yy^kl$jY zC*r+SCOcZLyq!b-R8k0Ec}Y}jr-|R9vo_O!)hQFMv%my;lQ$wK_@2w{w~*DclYkSMM4Xuj>HC=(!W1m;Fm>scMN8uY*s)70o9_MJVP}eeNBo6ikF-D zzB~s3r&($)8jY^m(Vy$~wY$@S*F8{C@nlImxFsyL#3$qL6m8+b5&Azuu!Bwpwg*BV z)ZkH=Zg?q2XOV$M=g>4($&yp=dviYUaHQ{f2}X_X^8gnfzVK#%kj0Cuh|YSHsJnJ# zaMR+@e=Yb<1T3^F?=t0Wv3f1}E}9@`y?DL@2p6`3)lvI0A;U8&SI+%!dU;W;OU<(% z5m>a6@)cw}D}h;T19L5y+ua6=9EvKtF*GU#?u($MBD-&Awk=MyE_l zML4)Btz#d98z;8XJ4=BV)X|T#xb)h}mUf7HdqV|b`;8Bn1!OkxxG*1H9|8WTrxu_X zKeb2(wFM(<2j(K~+g>$Fh7*k$YA;)%z`3{hQiX7$tipo?TUQEAJH?_85X5ZF>>BRD z0MnE+&?_$~5M-&yVdH{Fz14?9@`ySI+%->>N_Fv^|9i2U_V|DiBJK60%Nq>~i?WL%w=Ke){B`KTiy^&OC zBIqTDv`i|T?&%uz?XrZ32Pr{f?3WFu2FtOq z_m^$YmmKzHl1kI}G#kvdwExS1N^_2D8JTLM%$LI4Znw0cp6#V60*s~Y*Cp8j<|Hn< zX<=u(xVNJ+?}D}Ev){V7_xE?k3I4r5r|*ijMG%7h`;-yG6-%2#pFh~^@YsM{VCUlA z4NDt0?2QXcTcv=5g&k%pOIs;2adzb#DJYhm}x@-83~^p|IPfAjxggD)63 z=}}SCZ*os?{syc?sxb+KM1flJw;jj23T86 zFU!9qbn||71GDg7slh(Bb_D`I@VN4<1#zmwyPelVzTJL2@)S-Von;mPr%ytOsY`m6yW`{MXkeBzs7y-nU0vqNB-gyLSUbP6ybiN#P5_dr zS)mGzL^!r&EqQFIQJv}i$EIfG8p9=m(plLYyI@qaG8)wHl@pw{lc;B3`XIUxzcC4l zTMl@PRjXE?@9;Li$hWq7=UAjGhoO^ zl`V-L1_V))=&=R!F!{tJ03`br80-Y-Osiv=#LR@%T)Mzm_c(~CrlFn;JyJ%J+%oRF zKX$4@%LGJfLM@;3A#|Oj4p#$^+?e|G^cY%E6()rRaVoHtjee10Kczn5lbSL+a8baG z1c6HOt~gzQVml{6bz3*Ea*mh+pyY5VQOO3snq$&GlC^avULrF}P-asmLNG1f$a2RJ z0S)5=z>Ft4I}`}fC8-bsr4CCf{HS)o+d`9;kZjo)-gjA0a(~m3Krz#)rX6$+I$EI3 zz?djl^(h%G34Z-J`hl}8@TlrKQ^>}V0n>f^EJSs%o;hy z+;K}XPZCiCFRLY*{&`2heDSIf3XJh**EHG|6>i{%bhS8MC0AUP-a^437ofsl_8KP~QT3jcW1E%- zTgew*%DE;804_>fb-knq$_@wz|oYLmh-bF zDboynTt^sgAwTpUDk-CKJbOt}!W(%39+$>74=W*}`^5FzhaUQbES$2~{F%(s-Nx8{< z)4Qjj;A@hkBumt`cuvl+BR(R8q(sXS##geNAtCKMedvi7Y*5aS3LHm5MlXuy zlLu+h2ZkZsfrH~#_Us2 zT~+EM2*b;v#>*nOo55oAh!}N16Qm6%+DI6)BjpVv-r&g?w;%d|M^(B3zoSV?Zs)MS z8IhFg@BONjt$F%}M*=@SkD|dzN*ph0+Y{5I_!s32H)!v&hn&b6Vd>j6{Dz*gF}1nF z&vOM0D{L0Chn_-JR>*^`>S^)A*cTs84Tg)k)ks^JioMl2OaZE>X*fK(vVYZZV#^ySBi>L@iRwS3x!z| zc`60EmIP>jg@71uV^}DP;LCd+)F5BPN3pYvtzhQCV`>?!wbs*{G)KwEggmpWo6A+{ zGllMt=FZ`S8GXiB=~N@oIx@Th87iVt74%mfZ>*9l*-6LMff11WpI}9)l9?>-qAvhp zR0kI_aHACq{uE4klx@^a;toG5K@x%-Ti8heDSQmNbQ122S4#j!-uSZYjvWN26%^Bg z*3PWw5W^HN`?CmUg+Uo_(1yvFBMy3yOg9o;tnR*YJ#2Ghrtv=jT9&wF$$$EiCz7#- zH~g8)6S>o6Qn7|tF@j`K8LUVRBFZD&c zourlXXWP@(?B2&gaIyfAm&g{mAGe#lk)y=H*0WM-80+_P>1Ai8Vd|^LzEGZbPp(l=5lWjfsR^4vZl0a)Xki^U4jwJ>U6J`0* zV*6Ed);l0gETQMvQln#f*(z2b9vVE4duAlblHFQY$keNz&FGac%=HCn^x0RV@?w~v z{ET{#JBSz2@s!>L;>MJE9_eob={Qr;ADD!!QXs{1F!T3xFcfhY2H~DJ04qN1jH$TA z6p!^fZhjClRAu;`)DRV}SxAjzlI_w95dWBwIfDrg313OH$a15wGzeBRG?d?iwQ-9E z{+)@3V)*WXoO<8_8=~~F09qWq^De}3&|)r^`0SU74HBJEfVMrXyA{shxrm z7_iBUpym6R&kZ5|AtB@;Mqr!!_TZ3^Y?qnWhA4#3+%(j48mLh`d)PVOW=c0~+tZ%M z+(Vd^Tv=&$N=<8aQA#tCq=R&{ku&=9i|D=m%?1V)$xk3c4FHtcK+?mi8Nb+P3VGAAhDQgElNpDWo zyaP9_FK$jgzi*9|o9*z5U7#4SSc6svrhcE}zAXC0%sHhspv)v>O-GqN1-6@o0FX>w zoVI_iOR6)9Dx4g@He!G}fWBM_Rydm=q)A~=zw<2O%`PYWc17_EJY{*nPo0t2gOMjPVgs=X=BYQrd};-?B#U8zn|=^AP6KH zRO}M?!{!M`nBlj&FMTND?i!zhFQpF!$mltM-c-f(#mQ;9Mp8V)kZZ>I9@J#ROnhf5 z9X4lfSATBU9|t-Wcu{AHyh3nmSyO^r^ovGdZ$)G1!C6yh>P%=KKdQ#DdH*VhOu&8m z(<;{^n^I9R_Q;HwpU;*o3t7sa;F@K8D$B=tbdgi5g;wdfioGQ}$d>*xzQLKZMhDBO z%88AmrFVx?@?lv_jj^@G-(`n5^hx~!S)NUPVphU__&_6k1zXrJDvmToK5HOxdQW(n z0>r$etRmuKV7#DlA{@I_^9?}wYC-g%HNnb{T~J!>nu4q_9WVR11c7(Q;;h`9J}yi^ zHBfe3hJ&|Xy=m$ROl1Z&r5Gt_9i8a{!iH)T7YVV~6ajTuBIqsh1$K1^Q|LD%bgP|Libm zp!v=1)Qub&11SZ^pT)73Q5jBOrxNjmF$~ffO)Co3AfljrEUoLDiMB%>(<`~ zUx_xLuDZMPm~msv^=Mpa8ukdlvujO*WdiM(m0hJ;ssu@eKjy4?1uvV3(wiNz=mvV4 zkbMer@BU-wA*KP^Pf9?x$ZV-qrcrDLK)1lW_q$cfTbLqO>%ycp5Nvm}+~6Bml$A4| zD>Ktk6a{&nx~e*(Kb_TYQjC)|f*qp>Rv_)PRX!1fg%c<|rwt$sLe*F$t@?!oY*{Yw zH=YLb+E26leoQJMK|k5;9<@SIhDVFU#bO*fB5D2|u3!?eUp!o_x~OA@#ass@GCX;y zC`y@SX6^5=(4X($ps<*Ub9Vs;>`mhb-B`&|nrEdVybG-Feom0!Y63-g&e&34f5$wS z3U`&6m(mdh%()G}(nw=250eoY=kdK8eVHszsprgrcQ#oiUD>$ExUZKS#i!Bh97VR{ zR2Ki;O(iKM4g>k}zFGrMsp*SBzK9k9VIG1@B{jD%I5OPgmApy z9)^ASrAscr-)b*O9y+3zw_X43f6ZGA=P6HFZ2Ef=(p|c=4}bCd$jDvl9J`Qwd8>IH zH@POl;52XXjxoa(Z}E|zqkOp8!M+ z@XOQG?pKyyfq%tnbo0@dr<_v~m8V4bjRss&;i(b!!9rc;zTlFZ<<)i1Jyi3Q`frFx z+wa&0A8((MHd2$=d6twehCH`E!GB3Z|LO%P@PCy9`mvSjDYdQUBKK9K*~`8E2g{LY z71|>SL3|c*=M>yCX~gTEz`6pwKb<(?>Wu(OaGIT^s$Z|6>_Nbw{m2gW5RE*KxDQ@@ zr5{o_mEzZ)KD$>JBg=6QWac%{=bcAi74_H7flw&!YeYUaPU5xDZ+KR3xVl)1tqymW z*Qm6397b>{7GR+aMC#-M<)Ricqx zh;_q?xJzF+*B~HlWggx*O!!1f-t-4TdIaFw?zJQkshG@ zE_{2rOqTlc`eK<4RLc8#B^A=W_9Rcs7W`D(TfFAU6WhB)4U+9G=Y`5V47 z(c>3?{c|8(EF1Ybd%2#ga%01D7#=GU4o9fg*xL!b77j(Rf!+XVyLSrJtOcrY^T{Y! z5*OgOt-_x>lYy49qRGn9PWBVLcrnyATUKZmBEq$TQGi=|fl`+Fv*=ipU(lc4c11zS zi|bMA2&m2$$ZUVf>A>JnI(8E@WNR(VmK1i+T5FF zstfkLt(C$3)|CePhcNVqgPG_gT=xvQ(aDx&B=m-P*{z1L)g=YOhvze@t4?Y6G~R_W zT9eU?1UN1aA&Wfhkv9d1i|%)K z=YqLHQ2=pNdG=YN1nS9(qr~H+ZigiV8v2nHN0ImI)t$~RWfdLT;t*%F+xp|(Z**<~ zY*i9_ld&1+`|;o951`fqSi}DV>X-fh7ZR6^m67THg2bIpIOLe3ZL2Mvdl#b!ETB;I zh|<^wKMPB@jdvzC-SK7oM)VH^UXv@muBy7ZQem4&phy6^ceIP!Svc?Q|GEG9;_vOc zd#$zis3h?M-`}sL6j%JJO!{6;(MZ{SaCo*Yud(Zk*CBslWMh8uogP3>;=Z2-c zcj^JRdiuWf^}!WOt$uo?Pv?3omLspihI&2CGsh>XiJ{Z1Gi~em$da|CRcG|})up-8vNet`=!_W zy*rqBOVpe3Ag^R;Tk4t?+I~d$b^2QS(QB|RakF(lrPV2Cl}c%Q=b|O@9jm!#Ak?aIO8Bj}sL)hxM|VYWi!#r}LrZCI2bf z&TVu$w*85bzQOyn^|=c%!YjwoH+r!-(R$a!W%VTd1gf=%Ppw5V*rxrb*fF@Xx|{Z| z5v_j$T|w#5BX`YvMdr_^^ftr;<@6V#>0GFM!@?%+cU)`Yt+Pq86<@p+ev41gTXo@! z`nwz|VV8Xs_Ort}OfURx0u-dZgGgB-M8S7-Qmd?P-Pk$t0@3M`LFJTOQed{zn!xF~ z*q`hy3D;h!ORbHw&}M25?;0-|)2Zf5>FtXL!V8qJGpB21$%;kr0_D%<4kDFg*E$(j zs;TlGn^EXVhS_VI>{gq~T%|Pq-Z2Z`2HW@3YBGqNq%Vr7SVsn&k{&;E>8r|6H2DEa zE0W|zY1>kPz6q(XJ(&Kb(2O%ZY*MQE>s4P5hCUyjS;{{Pl@CG-X_#|Mjl9-*IB_@aBATL(RE zI&oKYR+>>>(e|7sXeQiyW6@M_vcN8sWWDiAmct{ufTYlwDEmTEcdIJ-l$Z1hzDQjV z&8KN%gJS7k4N`}9q)cIQDY!+zz$$#>SGTvM0~pXhn9~{KlzsDQjj@roR9bmQm{Y!}#3BQeNo zrN%^4%QxH-Gx9ZPNZ2VD?&t18+!ha5KLuAZQc+>lrX5zNprrJWjfc-Z_y|Se*->SS z#>9AbjM&d(Y(41AHY@oKf3dZOd=@<}Y*dPuMW64iRirhAZIFFbq#Y9z-UnGpIM}JV zbg5HF>BNpp%QDSk)SmbHMEhVfvt)W+9*=dR^aOiN{B_oHd-~#`fMEl0jh+G7lhZA* z83pF~qd^Z1lu}JN>jYr_lrZ3--cB6q{`L0zF!+aETqdkiV#zta#J*(je25D9i4Plw zk$WcOrl}&~(wSJLy$$d4{*9lVPTC6 zUtn^g72#=`TNA0gr?f!2Vl+YfF}~F$E=_wXFvT+U_})Sbj&1D0;sccv^q8kWZGf+D)M8%{0wP|sh#D=DRsm`SLH?yA2vF@maEdsg%CuCHhUT zo^onU!FZp0T&}&7{=8oW-#m306y#>PRlW0L?YdV>+cU824cRz-mm&=o=H>-od~>f( z0LZ|`PmYHv0LjNW9g<9c1Og5jrY}jN(&*UBZny~EhH`M($HKcmi{MN(b@Db`wMU0+ zqZZ2BZyK0cXGWrAf&{`J2a;ezQi6V%@tR_j1%ZZG1roQQ2n4b}G)WRAz7cL^4sP9AywKo|V2ts=)G7u?85@ms& zD+Iqd)vJ;}%qnXnUZEa^iD5wyD0_ z2my>)W4QrekX}yTiS7vBkL+X!OQT~PD)Jpa0VhdbFc%_a>AO~6@;Vn?f@J}Ap!{L> zr5{CtBcF4X*SqeN1zhFbyf8?~KS(LLh@QNX3RbDv&?QY7HK_$`fm)C`3g$k4%H)61`F z6hSmOWD`R9)(%}fC==gaKd48KJArn6hcQBOm;VlPaya%MIJ0P5JY+klcx01}DS|Gi z4>Zsi?59y&)l2b9mpE$~3`1eQS_qpecUx zl4%-dUce#SoZyGd?Ve_uTSjl&6i|}92a{>G`u$BaPn5UhH!MicNNVCoZ?KbRn%^RW zmt|4obPf$K=?}ps%ZL~fvC@V1SCC;*%}1AMYTB^yst9LGJPIVk0vYOA6Pf(SAUo>W ze5wfpl&q-kM#H+yr_bnS05KCAG~0x6a$byf1yU^Sk07JK32vCr=;z5mi!>lIwj6(T zm~z8h+KFR4dfKYS3A2p=AB?|a;BnIp%teR-)pELx0tYG-K8P1u)QqD0HU+5%2j$MC z-ak2*4k}PPu3(y41kx!^lB{5BMxD5jV(2BX;aunxFnv1CNI;3hnTLhDZ&sQMw3MKf zB+w!;w*Zh&!iPCSBwwW<4D1~AFv{oFUfN|82-GC1lwX--mi^85RM-|gcszEEtx@33!F7I9XN`mG)!;E`2;G|EgVR+^RfC9ft zrcma&z+x|=eeJvUGjt1?L_L{GQi*Z_MY3R7 zM(LSWRMHMj9Fgt!qr553n3;|d&;`n8#CA>JvVwR$jqjLCe|v|5nq$kOM- z0KDuWIA514H^s7#n+-2F53;u#0Xsh4)+x8I+vP(GjVHw&BL|)JSpl^!#o#XhJYJlD ze#mku!7B!U5Ik#G0O;daXu&#T*&hl=zAXK(bgD`*hIUgpKn;+0q`u+f5U^MskfG`o zP`^g!AL<<~!TvLh^o3+i2^F(^Yu{}oOn61x*A zY2gF?F=N%xJ@~p(vUlT&4y3}${S=4=u%r+)A`x^02Zd3vO@U$cexl~J_W?t(G^&u~ zspxs)2yp;AK|oLx7b*wCOa3K^Zjgarh*y*Z_zLY%`CWT~YO7UsdQm%6Wx-Bs|B6+* za+X?Xj3~Z1@)P6biWwO|?kPiM^Z;v3+1}7GED(B9Ch7qox3#~U6{7IJQ+`H&ff;jq zKnJpw#~;6cVsRh@GkqdKvFXZc6QB(RE^5wqa(ABzAhh8GCr6YKcGvvK^7gAwXOu!t zEzYyf*Z$iJxINxg4`P*~;*ol5h1nmsY68b9)cw45mQN15Je8&;mJaeLI&~L0yQnUU zSTmYi+!L>xO=Ico@DfjD$;%ZUM5TP`+LHb%!mCxw*kUUyAPl807q-M|&vpzYEhnPc&n$Eos{;*q3#RJ8AH!4^p6nL@B%GFK7<0X+uoqUfPCBu%LUr6Hbt^&KjM zfnnEavxa`@vd`479b%^g#u3U^dID0E9bHk~kyh((K>GRWTqliJqj@*+)puOLkF`m} zTijPxu4BDrH?W3z~|A?_+qzydQ-V?(mm02C0l3&`-;JPdxhR}f^VYCWUc3P6>FtJN*4kj%tK*gdk2 z6H(QuST3sJL2VQQ5(9(j1;tcFJnD557e!#yqMjCvHABACB=kXA86)9R;uV}Qz206F z$)Kmk>H7s!|BSxg=ca7Xif21x6rJ-$+{r?8oWrh>;w@q)WD{U|#Xx0Ze^FS^TRWSrd<%cSh%6 zx8v^4#{I}9dVn{>!FB^OAM~n`&}ne+tdpE2Yxu?}0%>q4k(ru*D=7wcI#H!z$OebO zIlmSpKu3p0v;9DM=tq*Lvxy{?s!&)$&!uga7uX*nw2rc!Dz?SKme}4AK`3@+q z0C5~dQWePn^)y6MZ9)BN1wu36h@@TMH_B4gWs2_^Vc{cU42A_c+vG%K4jtwBl=^@r zkSAf`91z+9wnSve;Rtn3tcDAFSKWw=_E}tgS_Q(otk~3u$m7PlxQyo!pv)F)Ie1wJt ztPasR7S1Ayz<0k(Yk}RXWfX2&V1h0i%(d@OG_6P zJe@xa82Q8GXe=Oi!&x2WEwNCFR-Z?C_5%I}i7H9NtNs z*^ENi6T8(oNaiPexiVF?zK%0CqlQcl{D=;Z4$D&nl$`wiH=fcE0+f?% zVdl6EU5d{VF#`|!7{?N$0G|i-IlSUYy_}H)m{VQzsR@4|F&Cd*<~S}V;4 z^%O;9X6M4I+3Pvk-jHt~jz3fVwWsXGotL}Ub=Dr%u~@jNIMBU1ib7Uq1^2#=hg>&hAwafi2;~o}!4_x^#e&p+vGFX(uc`@mWQ66JB9Khj1N4 zx)}f!A`;89s%)P)%My|eicHgiCvh-kf%+;W5>4y^!=kdKC{bjlOs@p=_=|*ubI-17 z4_$1EpB){mOS*Bd&{c|X&7(U!?Y{~h_8YGqJui2cG+j%up`luy$(!?ZPPq)z2_q-+ z&rYy~`kkOl-EbYgFA|iQ3dtWG+#k^oUD`b_#1(RYn+Nx|?kV)i6*MZh&Y_(-tuuKz{$OM)ni7%X~?mSQ+-MwEO|swQWBTvDL`P2WK#h=B`aa1aOwrO1*V$yjdwv&{x#Z zr!1z6zW1qpRlT2^rfrqhTdH{o0Td-&I)%Zq`vBJF;4m9%$yaZVr9xpo1j`DD=&H(u zL)M?MjxIvwmI#IYXaYW#;V={73KygeLZi}2QR!qzx>g7Wi!;P}{dat$dk9-mxq6_6 z?Cr?$8dvM93up?h%wwThz^;3TRv2-a0$3lyP(-XU;V^?ozzYI8sOB#XbQQ_{J&&?# zZPHVz)RR7<0&H4!PxFhedEQ>i5LW;IYQFVoSV@Jx!157l)M7c2_!f<&7B?NVN6y0+ zjpk03dWf`>%n_~uEKav!#qDUd%?<&r7Ah`Tig}};*WfQqKrJePTEwqmY$~JZfI+jM zN%P9ANd~}%NCEhg^jV#K$CfEz!b4nLp}4~<3_|B2N&Trw2I@k3>;#$uhi21t?2Ikh zzQMFi5G0fuA!xZwevsyBfmBxyM4$%Trp+3AWJdw<`7=M+=r>#FVtv@q`{;Dt9z~CQ zGg_cSQtw=&jAc3NzrJp=YR>H@QjuvzB(LwBv#m?yy1&vim4AsJoBj~osi5aF4*BA!%(Ir#RT*$gdEjjMyU(hb8 z9Ou~AYRLwmWeuD8>#9bp<_&VkFuV(A5Y6vZnu1mx8jOEyP;)eBuMNUVG$z>I%fugx zxciTxiblveeUUI^cvUI$_E!q3=;$HPuJfbIBN^CduW8Y)SrKq>nSdc06H3nTskMoL z$=Q9sx)NJIA)dq552*r^`aeeUJq#ebQF3)5TQBY)vsIZ7YA5L1$U2S6AkCBt4_et80E{c1WnO z0u7Sn788wo*r3cdm!xR7?{ZjJID|Pp`n6HBigQSANg1fV2@rW>*F^D${$&mLjPMiZ zqj~lM%Hf~YlF)2~VQdB|0Kmc|=%&DFAF&QC!u zk%vcpdL-Ud@^pS?Y?p^vT|RVcQxi?pU)IYC4*)zW@IAEg3ryw_U>V6c~=&T>{->|P0fjr7^tEL72LTUQtCrG-(yjJWDA0)vZ_81 z^ev1bwvWOxc6LFOL1E8!D)eI1UnH8+peUP;Ld%+c-fZ&#^(ggt6`GY+fPwGR+_7Sm zH024d`1!D|!_MiO7@BZY9e+WY_z$+B?Lu5i!O!FahtlF@0m=!k2- zJXeIU<%)hmctUn`yMq?rX|!DI)ZJybKp)_3$FMvP%Wj+wLd!)+eu0Y(cBZUsz<(XR ztNm^Y!hELZJH8hLQxTIFktiSSZ>)A8S)u(x>3A2j<06G^FG$(b2`89#U&hB?%O@to}Bt9M)509kJ`TEf4r6P;Q*2 zWV192DcBzPoMdvwv86qitk2L_t<*SO^3y~vymne)s|oY3V}TSwA+Mrn;ru_}0wthG z%Pu6ahcmY|>Oa=}ZlnbcXsy#@)Z@@UEW##$aqDAb?7HCrak^K@IGYkVZX!Mn6Lgg@ z3P|JbVIWGxJeaXgmUdWvn8N0pwCygGyuM#hEw`=kD*5lp&K9Elz^x;Iz8=%z(v)V z)B?I%NuhtYeE?^2e_SaE?(oTBLJ{BCk{+=8x7JLlqQOcOYBYBUT091GbI3jg0eU#c z_C@FaY4KJd8v+}R?AXQ@pMX01CI_8GIGSE+!=Ow|OA8sFBb=*CV_+qZNzMeoI6~BJ z&!tNs*Jbo?%_~ERRx!II1|4n%c5hwiP3A}ENfg|kIJ0#c(3?8r4iGHca-6Q?a1*HzY6?0Gx6uS(w!fo!jwEm!F&n~Y<53+oy0e~fnuG_RWq3*&w5n0gN6XV2QQ`K-&SI>Vf123s;o0ZKc(WA)II3Zp~@(`s$z;kmNXK{@u{?TorY< zv0jf!{T&4z4Pd#j9~eg5{K~+V} zG}ga4h@su(Rb{3Yp24&${S~wio@mlWLw|(_b`qLXSEGy~Jg@1rXH9jfx*%V7o^=+G;!f+95)1T_E zpX#rl>aX;@JcR#7^;bT)1v{VnpYaf&ZUf?^f*d0j1BV+W=e1%SNc%z&!J{x{b=!4#T5$8;K_?tlL<)rf0ZNx6zst6?WLj`(YT6 zP64t&U{Ah}5)0h%$xTfw%l=i6sM-g3HzW$Ao@)c)zRu1uR}=WDU6msEDPXlT(*FP? zs#`X#}UuotZ`TfV`2Hv1V0E!&@WbW zHXy`i1HIJfc7QI|XipqEh;R`qGvNfapaHXUCBzViGRB~PgNa6{U6j%CQ7fm&TP6-% zTylYt!FJ&Z9+ACen@MKuT5v-GEP-*5W$Y;3O-2;W^^$0~&BN0F6<5!E(UBjf3Z+Uc zLRYUElHr+uiY}GQ9jhNo7;@PY=29m49dRzV|xmwd&q-eg-jK z&i+ATXM~a?hc-ZwhKbQQXf6H%t}LlF#cvMA`5f!)@i@pMXN`{4RiK?xnRUdVGDgE?^itORiq0ZY@$0|hP)h3 z<#WPhI{b4vSTyUy7=#uq!dHy6Mb_E&{a~= z!>>JH)ml>DT18x0X+9aOkrc02nFf{1C6NfH2(9EmExIB{+Bd3ZG=`;ZQXxAM1jk2g zldLi^W8t`gJ?mP?1RQ@D-obtpMSds^Db$r}4CWJ&NxF&@>D~*|*jl=G#Wab(wg8SO z5JKCc1tOQe>Pt2k=M)DhYlI>-IkpPzQ#6;M>Px#n6gy+^0b$S6O2Wydl*8^RSB~9V zRbR&MIM2`T55lKSTFAddkfRu(MaIH$2h<=V%&-Dy_uCnQToG4>|48q0VDp3{$gf#L4i88sRO_UY?gX~`D@tTTUrnmWM;T$nbwR4?4iw`ac zaVO}kw*cvbB1e*7;Uw26y-rsandFT~4Z#s7u(04ObZ%I`lm~6hz9Z`P=pK+ZU1B69rD5!?Y7NUI6ekKq36gGNc7FI ziM9N$a1;YW&&ZbGBFZLm%%1^nWsC<4YDvSviDq}S)0=sKitj?rKD*bwPuZ+*Co2B( z!^xU{I9XZrU*%-YOX^roEj%M|3;3~Kua)LLGEe%-0D6?kz2zBSUPjgu1uhM&V z5hg234^CiRxwLvlcfIf+i|Zm|KsyU;b+LI|3TW|Aroq;RYP)!jO_{n<04ep+$TBMp zQUhyF_Qwo-U8-=!2&$_S<>aqL6*4zo6r9z&zTr(9T-@YD583lg+wOkV0bL}cJjd*#6nmyB%y@HQEn6L zs0tm?`raZQSXo(S@_;H1s;NeV=51UUcOJMSC4`nOYTOr}x<1d@DzBT>Elph(^@Ax0 zS*Y%(#;BFtqXH%{OAdw8O#2EzO3id9OzuMnuA^7STOH$98KkT584xREQ1cs)(gg67 z?!d(Qik9if#LrrflY*z?A?-+r43=W!S2ufj4CsYM+{G$`ji_S8NN_+GW7iO!^Qo5+ zaxWU$+~3Do2DE$d!o zmrtM8l)tQl!3gtA}rInxBzS;UNAyhMDA($)pb_jo#^u2>2S({CQ!?LcbXR1P+ORp@9%drR*|> z^e|UH*{KJ~1o0`RWD6<{HJ(H)$TDZjg3RZu1_vw)^5(-r8bj5z0D~>h+nx{XL50e0+Gp}KpwKPC9JPO zT)QkqET32eiqA7`V{m}AQe6FR(Vigu^2CBHrC)s?C!&1F3LwIj;k*YVOq2zAvSUEK6&VH3VnNPZ zJx}HGmsBK>O?J-II(W|=6$yMW|0^pJGRe-5T{VH&rBPHpNsVBodpdwV#TF^ld8=*roiI6$$PKNO;qn4&#ahQDap`=Kz|QD-xXe zMHLAgZ83w#nH9*FD@VOuk>JV${*4t0+j>@W`MJCS8mj@`054pkh!e!kfmw`0fi>)E zQq>m#vM~+?B4s@`)>mN7N)Iv2Vp*@%q`-A%F;)6OngB7A8(;f$W-*ua8$xEW`xW#P z^GkE8Z>Q4w{6p1aO_?96p07h7|4{Y(Q1$Q&Jx-1EL;u!>98q`5ubAk@CE@oE_X_e)pM5BqVndVPef@47EmjJsyKog7u> zxuWYDHeG4E2ncODp2{RZ1u3QZPXPl}7NL8jQdo--IG6(=tdI&9AXuCQ9L9zD6@aih z5f%3K?q^kq0q-VEL#{&k2%5*}H^2W8RHVjf1Fg94qUIAUW~!6E$wC}RLe>PC9`r+Z z;b%>Yd>Bxt?Wt$Kzdrc+T~Cr?@~0nH#Yg76-iMmNLMALm#vpd?iw{M@1&Wyan6%-N zgm<|G6F#vhjr2aS#lhMaC5hBy%kMFkjo1mQ#%jvy-RES@e^5Q%F91zAXkVmASM zs2Fw-kl?%;u%`lG%r}3?SNRp<(33kpV8y*n7VO^>0OR zu2T*^V3kamT~eDI@e11V4A^K6Dq=RV>a@8_ke1ioA)~L5 zIn4c}D?xxuPC7gi8#_eReYB@b8`Tk2hsvmm+^F!(MA@@N8%<==-I(xztCafPOOhA1081YW zi$jppG1u<4**TuRSV(e<|V~DXN1@DF!hh4ot3^CrP{5Hf` zo3?V6?+-wX=WKw*=gl|=(~djzg;=pKFk%XE(h zEap|N@7kfAj_7-^6yActd!T#tEedb3umadg*gaacGXkmA8Qxz74@EZVN21~OKTOwL zbxf)_a_+Eu^sO`_Blcrx$ZILQ=cT>Xj_1p7^YRFV_x|U{ODk@^i2RR~g8vTnmCp@< zOs;(o?sw;O)r0J8hd)YR=+mrbVmuDVD|1!5p1#l%`+S(baHf5Efxd7h{SJBa>-2?= z!4E}pv#3xtq%Z6m^QH8KYQ;W>zA%Ap`2_YtOw zf|nTYXD`$f_pfFzM8jd@XzES&!p65l8!(55KU?q-fb_HMg>$W^Ax$r1CFt)F3XLt? zmF{P3;l4^}3v28}Y+-(a(Li7eR}C3;?d4)112R;gEv&(Xl|*CPX0NGEsg>N#@t9lqw$P50&c{Rmb?>}#D;-GD`9Jfq;I~h-*uRTCD5c_XkeZZ z+*ga?=D={;!ZU`zK8z(^N$$Z)wIGZDD=qP+-@xFQwRWljzyRnx_i@YB@4+39x@mER z{J&KOurmn^?B~IvaUjj+Lcx?!Q7-i5H05d5Z%G(qMYsaeV%jCL0{X-i0-yb78tmAt z1U3Jvc+>rKkz0w6yecXy!G(;tmch%!$~$5RvAQ*p>5^N?tl|@8@?~I)qHL$xO3>>6 zpI^<9Vjp+WO7mEiTO=)Z*$|^x6~MC43jn%NB3H$43jk1-{z`?Oh$v7Qm>3^2c#+5} zqJbiuy705=E?kRyqOdZ`z*Y^*Z;d6zZwr|Uxs^oDkP_Yc-h-Jr~=@57Kjq z%OUh!4kb1qxF6}c#82iG9f_Wc13>5|O$@=d^jt2^6vVZHwlssSl2&@I>O}t@dal5I zG-TO?qaKl-D~PiM+%_1HnHhIa^js?qP(?`3wbGlJYmuI7rFjWN#!dG%OSgQ=K#HdH zMv8AFdM=TQ5&J{W1yenkgfBbjFyms%8+tBx4vBZig-S%v<%0cBr{^luVOZ^8>$E=< z<;z`oBg!YFn~oRSeC<_36be%K1cHulcPVSA2nmR3dm_mZ`=zmH zK-}EyJ8WRTwA4jk+AobPp#i#+05FIPg5(XTUs|_86QPl?UmE#Xc&=l=wAKC|!rj;} zO*ZMh{nGru8{~j|B@?;KldE|O4U_C>pL{_g+KbpPjcm@4b-p-|YH^w15@G!dWQ65+ zE-h1hy4P&w?3t;sU)o9{%G4CD>BU%k@LY7DnYv(%Dl_zT?^8DGTgf|5`b!MB^_uV! z8yWk`_orzM8=0hO3yB6|BlDJ?q-phF+d@AZ*vJ+>p+YvY6j*hSv5{THL0x4dL-fkN zihq=itjtxn<&)_9Ei{VGiHF$8J`RoIAA<7#*8PzC<~PtNjwii}jclS}PQdu8Y-F>4 z??5_1gg`^xEIPmRL;a9f3U8VX5b%q>78>>Ze#rZ8#&6yadEuCy+3gk?C4&cKROJ_X zydQEYO?eIe&1__A&ljtHkcfdoH8Y6@q=rK_GD$W=XrcM%itqa=HnPHTlW)gH*6aWW zj5wfI)jVwq4a-<1+@^ zp&=WYo{p}V0@=veM;x%O1KG&rhZ{}zZ8kDj_=LIBXR(p#@%nFLBU2~Lu#xe#VL6Wa zoXAGz28a|s8$q!~Vk0XwF%|k;C>xoGkd4f-wZ9vovXN5|@-jZCFMM)iI+vOd$d*~mBsQ#>9w;7A#;w=}YmiO(f$ zWI0eK)z=1~NY6vE%<)oWBO~L#MrQ-ixGNi3+UF~i?zU`X4BIRU7`)C#)=21K%HSXW zEo@|EIT)VxV5M&DS; zL>cSr0@Fx+~KMjw+S;J$_&R}jwpZj+rs<)Y>KMjvRiKzBnGlsa~ai-|i z#~U86_EvumQ9Y%@pT~229ZH$swiU92TbZWy_|SthTqgbF0|n}0F-;u43QmE+wzS~T z(-<&*+0PYv4^TQmojGiHpi>p}pEZ>$eMk2b!`~rW^yliD54~xYBTlfQ~|b0ig15WSl$ygk4f~6;S-ZW825p}1}s;1utyvI z{^dJhPp)eu5Hur&!AcQ900piDnMeN-qLS-orz~qJYx7Q6b!fY)Qy{7E;@`Xixug8f zwR~N|Ghp#&Pw^iSveIc76+_oNS?FhK%sZ$V89j0n{Y+lbdsWqx-j?Iu$_G`oS}u)G zt14i4)At3ThALM5M&|59-JV>*5Yv$Us$X0`&zt64HjS@BZFbirO>4OOPY4Qe+0PC`t9HE-Cyl6%t`F6sF+ZGTj%lIBd@I z2A!X%KVU2nVvMDrR&)|WAzY7GV=w$r0^~SB*WYoHq#;!~gm4PFQuAUu5*M zcXl><#RycR_cHvHj9xCp5=tUt^h(S;$+hYQqS33t1u=TL0B*oudua6XLl6aa!{|+% z09svC>}2$Eqp^=0y^DPv(3WcSQkVoM360)ne=kczMlS&b?lF4F-v5mfFD2luZ8NG`YdV*EoV{9<3$i(Q)l&}JczPauoGWoi%$t2S(ga-4=xy{Gensy!dgpeS^OM?rs?n=ikvcgcCexZ18pObIMF{%2XbFVK zCa6s_f6bY|U~hvg13M4}jV8#dtCgKzmof za8!LL#u|a(eExAT-At7HnUa?vnWGCQci}!g80Nz?hf3vaDV$fuT8*;0_cUyQoW4*b zg9W&5oWVdEJy+#sa}^qo3KA2I;&G$xV={5@3A6e^VNC^WQTLaMueMlRfuw#ogQael zgF$P<1eu!?i3Vz})79-X(?bxGjuq>A{_k&6A*qoPiO?j#Zq1Ze&RIxyM13Sk!lN8(c6a@e<=@(|u=l(Ovw66YIM@ps8_Uvma%m@rEV94U(b{`0rz{?;2@d& zg|jk$GQ$h#>*np$tV8801F(#-TTh{q5s&Wxt}Sd4B$;9D5lqnvAY>>2#Nj<~r&3yv zL6F0L?KKGzJD2ij@+0NUzV1g#1*!UxeTf&Jaz#Iqyv7TD zq##QtnbNz(~SV?#K{E(mO{ZgkQ5+;nuMoT z^5(~)&rMiyBFZ(h8V#DAS`wHA;GTftkndG#5euuL!Bj4p=KL}YSNd)AJ`@Elu7qKP zCj5G|++a0STwdh^2X&7cpK{Ka##agvFr`ej%PK!+Fb&dlR!pgI;<-RIY^s@bbkNhS z@Hp`39#K*Hi%}9OZO}nzYLbE$`y1x z53ri2saM0k#OVnDU+-|jt;(CC;4TqWxgVmyHu<6Wa?{BuGhND)55q$=qBQsduFD z5Lp36(tVF(Z&EqM%_mH;2vc^6DnOuX-7XBd;B|q6ws-+Ue84qDX@jNj)Q=;BQ1R`X z;rB1B))cZJ)1}p;)I_9b(gtP^I3gWB;fOnmr`R?-30RRFYa@!b*&jVuYQ%Nre7Nm$W*0zQ7s?U8 zh4=Z!xUQTJAD#~Xs}RC{c>xaWjtkvW_H4-V!#|D?)`Q@FgfNs_^f8wkXTvpwaOLA- z_&7p1B8Wy+2?*i)Ri!})JA#^bF%0BmucON#H);`6MZm?u4&F2s_H$0aykQA-pkWaq=`Jr>~((>_VHtXc=%1XT%6$ z4RTyV2s^CJ@KJ>DrLs6zLi|Ws+}e>Fg&t}V!eR_wK?n;QT2P}6(7TNg#TO955;)oi z1{?4h2;uC2xEBz@E5UjrgfN3$FdcjqAuM501P>@Q=R7c(eJqRf`0pS9jA7y%2w`RH z(Xu#(1M6nKi4a~Ha2z9qvHp60+gBij53}%A+A9&l%^yUF6Kh^*z`*T_(D>z>Lk$NB zs(X*Nk51xt-oe`s9O?tpb*vhn+ZlP#>fy`zd?Gw_v?hq8iSYKGQ;b5pBK$6UZb}Ce z>G=40D79H;;LoQ{{CgBkr|dGH0$v~<+_mWjsYStrWy(rcM?zHrjw450b!o-sTG%v5 z3W$Z$lyyWhdMoAns{sH>E|80$0lg%W1Q-F~2o?a4NCXQZXa`NUm!KmBFlc&NF|`u? z5ru{=W2-uc3dyQ&Vr6NtgL2*_h>B}{w%Jz)RGc(co4iXXEa_s+t?Jj#)k+2+d|ee{ zwGV7{s>2pa ze?Z$x_4}aj(L!%DYoGT*rS$lYzRm;=hlS#b1HhPlhsH%6$V36y0btC~?4R52SM6w! ziklpv(UqY}%Xn;t3GcX1#R|mpo0UK>dxY8vwwY^sS4APMo4YWnUIzl(UB;2o%P{6y z`GP&fJKvKIBR#66w*>&JQ+qV$JRYfAi3keSDm7>Ie7G5e#5aG1ZZWoChWuCcw zFmzL5jm?A>E-rF0*aE+9B{9qxXbf+GilKJ7x^*(p@;rH&_V!rqJAkB6dKzCIekQ2} zftzmx?njj;Mh>JY1WqQ%^3BJd7BFB83C{&HO)F@hrOTw@y1mb+E-p?xtLW?wTU>cRZ>l z(afSDf2$1Q2;!cm?!YHXUSh@(BiQtfG(9KvQ(Bc%DO0=@lG@^k>JvB374HMvwB&Uk z{06CMxG)pKaf4diW}k?CtXK8gN{zT8}&xH{6^DB7Of_SF?l9)bbcCJQk5wGhrR6 zHtXSnn=!cpY--e@wy>+^g7vuGYy&!LXyKL2b+@ZAAaA;3^!=cKVTn4s3fTd%p9nFl zPNeSMz6j*}SBem7ofJZWTJ~!MX)qK9)vw%=&=j zpD?D#Qmg?B%EGX5g-W@!R6p;JFu<`6!K~#2ucM$v92yH=V|}5 zXcQ*6e>NIrAr!z<(J0bo^vWaq#&z@`E)d;lyZ9SKHJ*nS~}A z#o6o@NXSIav0)aHYR4aDq4Y|Z%^mpYj9Lr&QIA1G>Jek#YU5!3M|!cF-}=GfKnnX+1GdmNqp!u^h&S#<$9=li z3=^g}IR_SGFzdl^g0UuWL$UF_rW@RO1RuHDz&hWkBeIJEMqX#~PMvM`?iM{*GuU{^ zkL8o*$+V=NS37EkqheUs&o;o9Qyk2bOkoYI?(XVZJgiTcCmUht&!@)iQwaO!z6~$fy`_KZ1^*=OJeMk4&^e&O`>Xx zF}up85z;T#K3Uuk6-t)+p!PjL_DShqq>JZ0u~qkS_zu>S2f9r8v<|sFcxc}&^q+hL z>;0EuaPz`XR{z(FGFt@Dt_Yv#e@=BfFZ<)ujR|)d3()?^KffO}p~i_+8kG|trnIb1 zXm}~*dQ}=XOS(owURe7pAnLfl(+YbG@8KQpocoqKQswKm`oE3SVp>ZNQ$22>aK7di zHS=nJ{`CPAO6`52h0>d9eKLUJcE|8T&HTv#iqk?L383WS$M%^3%Kq>t22flw>;3@B zYYmjOz0JpmF3;84KP8EmCVVSu5grzFI#HiKrs1!r=|QtgmghrhdH|$7o~9QY{3U7n z#f1wlrRi1ru{1q`bpBMDzOtfwR+@hHXVA0K^jXfn{cF1;O|QhLlBRdrlZ$D3-;ZVy z#>13IWYhF|#O>0Lr|BK^;T386r8-fRrVqN*+{oNtP16TZRy=X9rs?%-fHb{B?haV` z32FK)hyK+xef6Y$VLzIMdHe<}nuav}Dn(KX`RdUOOw+Ga}1J1+G5amjPuxe~>30 zg2t!{l=bz{5bIJ4oCwH#yW$}tIP+mMkuXqJk_BpkOG$`Y;Cw6(*eD(?a9^JP7Xf8m zD)-BQvW-Lo5F{C(>`b={-0+7j@O2{TyAdwDVGttj~uiNKNf1z_RrsPT?L(xni5z5e@c{&h;`fA6GAk_nualw}N%%9DZUR2jg00;sW zlAu-v;YA+K>UzNqK&J_O$x?A94dVBAY@id7ra^)O=fST!tHPW)`IBsQ`X3~DvXbFW zI?b-7kxo+r2R-Zz{3jq2q7G3Wp13hlnI66ukTMD{NTXA-MhXlo8L3(j*cO}LpJI1F z%Z*+8f+X13z!RH^(n6k?O&KP$dV=;%&Z^zu!a}tOK-alTWS-HEmV*(@?M#++c0{|w zKfxZj(6XQzrVYyh?P&cyOl%_y1U;f;q>F~e!aW95P`}cbay{^B-Z-2 z9Ue1HuQ9g_RM88Ky`=T$fzY->x*`PQz(XP4O%K-(nq|)nxVOXe%c-hrN$Xq1GTcv3 z_w~k%Gk?hEt;KpE`JQrGx@a3SYW1Q(U=(n4qcLOS&}7({F-;^IKH8X3GuE~-qw2l= zYg_@q&y0rnF|BH02_s`AKFsFoPVhLq+L%!p6K6L`&}%`+_JhWZ@bM|6uZrauvYlJFVuFEM{)NsGS^7ha&XXFuzn(Wwun>-}Z(QoG8L82qhQg>9;S?a&Jj?PmO z9mx%nkqhU3fOO3-w*uSe4$VB(^tr=SVe#A9xS<#O; z=mXqEXkt~*_Jo#`9A_GIH4Q}B)>)tkO2+JJ3C;V0HKhiYw0A5Voi)}J&}T2+GKuK3 zu}Vu!yN~PYK-Hu71?0t8K~XdZpZS-%X^JDKA4}+T$V8#Bx$%rG#=p|?Q1-*rT1OEY z;ayra6Ru6CGTXft0iegF*eQu;(Db1K4}Qt+htQp>8$~7gYr_-yF8z_0PUiHZurCUq zsj%l6&6TGsZ0)vXthut0FsSEO7I~|%p?l)_d8T_JrASC&L-)k~L+zfZ9ONRxNSvds z!6e|yLn%?mXLSd$L|t6i%ItZV&mKLtMs+DRV@wdpgYJnvvYa?2hI>t2q_}%xaka9V z)|QP72ssT)&(JT5L6oCy(vUf0iZnM&P-=oL8ft_RsWLfHVtRl9+i;2Wp8hg=xon2t z+V@R`?}|Xe17&JXq}ksM4~2!KnoO3HNB2zFOLz1=cQL91-4ik1Ctr@7JeySBlte?Z zhfx*v%0RXeAaGM7k;!)BskJ##TKu)TBGx^e+=|?#Fw0RB?1`>d@QZzfy@RVohkN+N zvK0+y{)3Hv_;2GE3qquSj9*Mo%GcA2adh$udxxVJLnZqOdNDi&fW1R76jQX2&!QI- zhy>7!Wh)w9iEYn~DEBP_`YM*1xrK&Yw4 z`B4?tfY?FjD3+RtNxwlTgzMEVjf78BVN;skmgDkGPn;gZ1sPCpOaMa&n5rR*n>l!@ zb}5E+beC6c8(;Z{1-t@NgTxSvFuJQwMu5CQk6%TSvv5qS!#@`|S$SGAdRHjb>DurhFr6&^EE70wXW3H&rb%C1g?NsCu} zHfwL6vgE@9>fz*n7$^(0?Ew!w2yecK{Ewux;#LCSBzc)!`ySly&gnXKYbfW+rd(~u zySt~$d1+>51Tn`5I0(h)w*Xcl$7g_LiFub!ACWNb$u~69t$Z`z!L&)f*i9KE8Zrmr zJ{ceDer%FK@Q7|IfMK=B%myu?i5ar{wKo@Tn*lCtAX5 zxdY?~W^9b~)1)c)y+-h#Mw3#~Yc~$cTn#WG$PEKJVi2d*iAo|-406LBpNl8S z{ugG59WW2AM@%qF&RORw@zH79LOb}{`>&7nfDRf!574-L^w2GnNJ#!g0t_F<{AOM_ zd%S3$C)Nq3SRwmKKq)I3+YPVI2)DNZ`btW4U>(eRr zh&C2P>Sc3m?pz6)FM~HfQN%Mj^JxHtvNw00$U&TEY0UIAZ$XCl4#8N6Aj9GA+6>_V z86Ol2UyEURxELezs?{7UeGEvohf`;biN6()q1tvwlf699(&n!uH&Sp53>1+;YUUT# z$p)hW2+jq1%{$*~L|{n5_(Nt_3-TB!Q@3ivFp*=C9Wj9;OWj|6F(yWr8v2i*S;oh$ z=Mm#5f>Sb5SK~ScegEwa$$*>gn@P_dG?i*1*?E$qwq5#{s!Ua}YObP_;pQ{D{@0@o z0Cp*U4-S$)VnIa3^qj8x#6#1yG~E1V+SI*t$Dm0Vwj4ZN7YI$5>|Q8X@_TjTe3<%r z#^4-$oV;#Z`*cc~>vGKYm7|MY=Hw2i!S?sl-L~H&`)}K%g?$0t2t+H;P?(a(yH0C% z#G@bv66moaJPFWxPQ@5Zm^ixv8B0oJD*QxAj5Rmv4iaM%k2vDVsU+|MVh=*?-N5=| z_tLy~AiW_{0|}D4Nl_6-3O*1KR%syE+!8o+;0+il04a!!$ATCxuDe{I&8YL>Os+E~ zWtrmFnltdmGO*u~27Lb&=)f^B9>$*i@@A9RE;5RO>7=`o(J34sC_!}W>71fr(b>{+^i6k{G*I{caF`$vjziq_{HwP}L)( zxYTe|dkK?Qg;iV-6MlJ`svNs&r&FiD2YnJBg?ay#Tof(2fZ0W#gdqV*NhHB1@njl^ zPWXgRG7~Y=!#>H(v>5mKBwBm`0VI~4r)+aSP2v%KU!P=|N&IC#2@&HA2(v+-WNYpX zDzUTdaVi>(&i@mA5?EB@l!#27lEMTpyYK2e2&77y-8LhqBy*Jp>{1gZVW_a(Q)?e{N{@IRc&HXJx>G+0W#Z zUBj}UoO1eGbIPv#<&K=PCR4sLr_2%hXXlhTTJtAz%1^J1nQGCTay=U=%fmj(E{lDX zD|wTK_MX$3aH3~U*BLlB5CyqZAsRse4crKavV)Swc{ebQ@oR8L!Whv1nnP~H3b9mZ zlp`uh{nu(-Gx>q4V*gC^o>PJucW2!gGOzW2oK48qv0Ws8N}vdQN`w|@hrtvi@Pkyq zh&0^m8oUmsiJk91#%I77kSmXP)VO|~yp)L*_ZaBe5v?}kxXC0Yek6KmTsmU5!Q>l* zPQDqt+5G{pALu4^+5#TLhq6ZZD6HCfkA5KYKalw!$ovOCn^rYj(#{cu&-RXmkJ+7q z$pZ=rNW(t+=nKfu8#JLOasB!auX}V*n>)D}22W8nH2kef}y8`)eh%J}ltJqcs6 zCHM+QsR+oz)!KLxhi>I?%@9f%i+BE0}d)W2p{G7QOD zSk;X|!Uo2^#5lTu#ni|OpGejyTfo53^Q^cfws6CMSi;eW;a1RZIA8}3NGSs7Q5*$I z{)kL|KFzhj?SmoDm2c=N5mFS9irhn={y`#Sb{@^C;_Wl$(xjMr5WB;(VMHg*A641h96`@ zdYw11Dxc2dQN!kkCyig_bd)xAKT*REMGfcb|N4$mLuO&bRzn&!oM>Dxj2fzI`5%iK z?xTER)R0xz7e)=Y<9jl@(>x<9PM&b9wN_tZF$JX(ULDK4`G+@ z{nv%~hkV7sCu`zi^2r8o@O{feczM5Tc?j>_3*ooM5fj$ru1!yP^Uor&a+=P|@VfGl zz||Qqctv`HPn3tKXs%9#R)ZFexR3p2c}U-~tBaptc}Ptp8W2+g*_>Hpg=!W9ujV*j~55u^I4ShBpeeS%Lyku zwa3dtT-XufF&nF<0f_%%Ut*tqgf;0h1@*B7p1ZQgjaZ@}I=dh*9*Zy_1V!J{zmCrk z-#Kl7#u!=S6=KU2dV>%;<`H2qZQMx#KS==NaNj@QFmN#78fK=v)e_1()W#@eyAS@5 zNmNY_*dYlIu^S3~$n*sO5|{gwt%YYlFgYUxl$`Pc!>Sy#8xR}_7%R=HNa8ulfuW_B zX^BVQ*vsr?Oje1-A|P-rV^co4A*0aQ%` zjylm0zjPpn0qY;H1v)W+ri+AmGO>*@rzR1clIVqlL&luci^JND&<9fe3yig0P4Nfe zw>ay+uOeoJmh41GX#Rpja5`8jN9MQo8nBGk8`xG-+?hn3Ll9~I5>zqkL{g=)7t>BV zb%+5tV5bggVWM=|Vi94Z6P^4DOvuvZLq)F32YxjuoiaT{Hp~KbMf+Fq;1Q_3%Yk9UQRrxzqSmXdyqZ%pi3V(#(X@NYD%ZM2Y2l)Te6ldBcYVjXzMTd-zY6qLy-<+? zqIVI`KWYElt5|UapQ$u37B<;hfelcRl)R6y$*M#`*zHwI*}M!}n-mwmc>gs!ZxoMS z!_)Z!4PLTny$9VG@4Ns$+n4iTKysqb) zh>?p5z@uNP4Z*DGrKS+Mf;R87m^Iqu9Xi8FgAIt8sn}$7UC)jMYWo1rqo)=^c(klk z@hLN_%stH`eOkb$6j^`s49AgL{aTSZqSL2sk2DGxJsn{-@`VJ5yU4H^gW|1sC_)~w zm`&SvDcWm`3UViyP4z*Vn@!{$vdmNq|5U4G3qXj{6g(XdX-Fqa>F4a$*F*>P7&9g< zHvu!U99?ecy@;q?2V@YKMN_G8D)oAB-C1k@Rl_~F^lwjN7>ODhjlM+uykHw&3-!RR z4xO?j#TO1s#Cca?4=0IoDQA_koESxp3qPf&g^VntNFaoKl2_Gmws1&38I+s%XholM zdnTG)eLpREj9kv&-=`A?go>Z3Xhz^q{ zY92mbmh9jaahxG6OV;?t3(Jz{>O@~smfV;8b7jdYbe()52<phF|_kWyu>|IJuP0g|cK0fxe(DIWLO_E`PFjr~RgY z`H4j~d)H_+zHRm{Yg*tZd-s#Q^UwXN>|MsyCwOvcG<6ex%OrtYH z#=`dF6&U4!ujxj%d2hnqA@kLMvRxk#`mIsxf@N=c>&dN==ebtHGngY3mreIhiTXx~D#7+N9K9l&7y5Pf zLW8RdzSA(QExr2@}C>I_eI=$*T_T^7kx9k>E8slrVu2 zlgb&Qo63YMl8$pwf9^nHSdiqwE>v`xbru{dp_~A#{>;igjHn7|c>KF&>0k(;FB2jh z-!7AS@u(mY!YuwAmwRR^6=#P%9u{UVBU0c&QFsm)|03FV?3GIR3rlQVQ}Rs@|4F

    zH?F<;VDGtf~fr!J2 zk!5`T%It#8)&g$MN3KQtqqau4s{(%!CBAVo|8W3O`q>HQ>PJBIEl5YxA#jB8%3>&R zRPtcaWkoI$SFzf3(k5Bc@H!iSRwE;}MbVmcqG z%9%0cj7J-xo06<&&DXns5)VT>?7qo4LgSrwpl3L_Uy@`PJXGV;IJ(OIaD@3P;-Ta- zY8F<pndwnl;bmgqZ7g5m2%`v2EHfgNw0Sg;*3B$it+IFV2T+$ zFL943B!_#Uz-R=~;dPH<6C&z=M+3ZY!=(otb8lCBP3)^r=`8Zu%Cs9GS;j7$cHj$p zx$NW|_bz&YJg6zYeEb)&GL+gr!ZI>!lfU%me)C-Sz_tpNudGoJ*dXT=yzA}-hoD;f zYpm9vv-ZXom9#b4!FVK{zFAx#_{2JZjO)WnPU+pFus2%ZjISShZOMy_I4vmSc3X_gog49ku+?E8*t*hJOs9Z z*~q?At$&Zse?*C<4LKtR7ar7FUbhu{oDGQKMZ^v6=F+#g9nTlHHC&K;)NjVR!QpRw zxMP}b5pG5ey<~1Ae*e9&(10+#UUZoH{t(25FGbVxczWG*C5Sa`BW(j7$UMoLcVgib1{p{ER=1d6U@Dfzu*@GIV} zEBRtb|L9iUoyQaI-7dLR%2Y35)5G)rWU=b##*d808_YMbmdXwbot7Nd;ZlcQM`gIt z$Y_{HVVDNe9o04Fzl-8qYMUKxN6A@svbFCSx>b@=Jg%e-W7Ct_&UwkY(ctg?UZW}F znKG<91-y@I87tUPSZqqJ0-9$I>$HgX8Ddz+YNVr9MCZls)zp+~Sap;X`Tr|`TXsbf zhGx=Sc~DbunW2|u)mg0mI&h;w78?2@u;JxAxw1-scKC#pS!;Ik{v8>#ExE>Q3n7sB zE_oUYJ`o1{jQc$Y?$jxFl;tlub=M6UR& zFab6sIIwWg-;Vp31rlqi$JE&9N}+KBGBI}iWQabPSl$mEICWuP-O@c(EFF|XN`es- zii^vFAsk^|Fu^1l^#lCPtG!8cX+2t$z#%KtT@R<+@2OvDp5L~Snv$sS%68TNp7Mg* z`YcW8a<{0B>YL?b>=)<&Fxk;8+PP zh_?n655_?BDZO7%u3lEX6Hfyl6(Bm%`Uf}AuCxn%!yIZO6RJSnJhmRM*1q&Phusw} z7d{}jXoK+I9lrEVAbdct;Tz50BEG-A7=F0hC%KJfF+^QI-UoJ~ZdW>dA~H7675mqJF+NMCg}2yUrybCDmKS}c7nGfnej7bqs8)Nq z&qb)&qQ}-r`C&>@b0mm0MP`D7-@4l2!(lZKfBG|jP;U1uDX|}f_%r)0nI(EkQKy>d zUK5JU!XCo7=v$=bUPG`6I@0rqqYX~MOvzNU0ey5J7zXPErJ#1pgiSOI9A%)3DswIfXJ8Fua0Q-9fJOjVe#lD`_!ci?y6&vkI)zDP`q;?mD}v0Sgj)eUWpR`e&_ zqV^F_tm*^KK-PD%rNy#|9+gK!mTw%C$?)M5rRHY9UG%2kV>q zVy}QM*1Hd+3QsO#zV)lDm=A(_@ErKWvE-Kw%a6aR51>Rkk_tUk$t9$SmsND;>f9fO2 zK|~Ph*WA~Q-et*Jb$}YKc3|CD0gv0p22oS9@nb)IXi?`g$J5E;A03u;5h}W zsN5M2H|AFL009iN1S@051m%su43Z|H1Y?A>3B33r4S9uLxpE9g`mAf-FoNmqt!0J7 zmtXraKrJ>jxY;{E5;!qX&V<~UxJ$L3j8dSyAbP5YeDIyRX?Rr`t4CiCG;ZZrE7pT!w5#tU7w}P#5cX2 z%~xM0vN6)alcI+$=~&rROs(_Q!anH+XBo}T@_n)OFyzjeviUG}eNmvxE<2*JNNhht zdfR=S9bx&2{GvtY*yBN$chYs;Cg$N?SC#hBy2D#@?A&viJ+l!b|@Q4gxXMGw-3AVfeKHz2;_+RKUJG3H%9ks zMn7%!6+>q1-QWMMSv^x9YQhSI6W&7_V6g_dPp0&7y#dnCRt5V@ntNKl92-%tR;tdk z#a``AqWvRrM4?DF8^XLb`fT>}T0lS;| z<&_z8r{UwbFugMSIw4cQoi|25|D8`P67i1tOnco<(49r7eL63C8}D;R?PF*{5Sm3` z#rE*l;zC`65%$njh&jbDi3c))RQG86XC#IdM|zY!8c!`CPK}jgC`^JlhUm*1#15zTrYps3XcGbyR5Gq4&~}G;;X;0ha%vef<#?PGdxTlnjrI^ACn&*X(!B8^U zb0}486|fiZzS6fw>`8(mLe+=9fA8h@x3b?t;|LKx=~5c^kMf$bXuyNLz%-H6^FNT#LV$D-*q^ADcOe{Gh|HTLs{_@?8aHSLcbQ3c_(VJo(l*ac@s z)o1Cav}EMiK}fQ(4|orl@tOQ>op=t(j3T(~Jh|A1`(XVOUC#(9IGwHdQJGi` zYRQv;bEGIYC~j%oXk2Gl)Ix>9wciw!<|p(gK2BtLI!kr5prsq{VbTK4frc>Ds zwc0@J?`i`3#Qf&h{FMfF0Z%7>;oPnU3nzL@4TXO_BT`}TVfkt%ECaRU5e6*GTDy)^(xX<^?|)<?K{Ip zrGG&b&A#F{&Y2NnLXHCEIr*;;N!k!vkYyI4TV|aOSsaH)$wu(~AFe2d?Ru;E9q^K8 z^m&xUBfso50w)@`XWqSXbo6!_zH%>(2k!qlb0KWJtQ_lp(i@;Y9(6{>Ot_CW!j>o( z^xPv@@cg{|IR3m;Fc&n>e22z-jiE+wqV6AI6x!BvX6Xg_kOUFG6e)73Utg(H;+{DA za0U&mrUz`iwt-y0p;*P^iWmr*TH0*g+Z5S`3zqA|_m>@8UrX(&LA(k`f4`1G}4Q_UMuoN8o}IW@~=040&cua$2w?tL%X##-TJnmT4{GQe+O7fWBQ@^_uk27-xVAT8XLL!xb zff3eA{?I{(Krhjx`RxQ)4mkrJPpz%UDsJlq*^M84thc8;HnqfXj+!uM1#sh2LYirAA>EUBg9L#qf1aZer-zIx%je|bil3@&q(G}YiVwp zZ4!XM@4yUW@q(2JB18X~v(?D6Gq(}WMgF3QT&{vUNp$CAZt?;WhT2%?Cv%;-fVJ)| zW-5N(iA_u=v~@g!6J&3C)WwZ3<5_ylMWP>6wa{2x9FMKLY_4Q7$m`iN0CHymJdxI+8cdz9H90(pzuiMfq+hugWgB}Hr0nOivF3~FdQ+MO-zoMWo{yUkZ1Yet)uyp&3!Bgl*}BShoBbGo z2wf_~E~TRaSqR@5G%M-X0$F<6t2r56RSjZOu}}}TEmTs}>#=Ets){h&47P300k&Px zmfl}pBz))7oND99_j2zB8n6JxIOz7; zk-1t-IPlG{&tz3u#SFR=!*bxo1jMEd8EjhxE&{-Ii|*i{+YH@FDz*f{UIT3Nw{4{5 zcl~F;Ai>ZTiS0Jo`T5p^Am{k_7*#Risf=(2Qs!EMxR|BbZ-JR6am=rK}!Ohac^f5;5m2^u5XsL9f875b7N%4S{C((PKhDYG0^%L%eG zTZ@>*Yjm8SV;&Tn7EH$AYj(hKynbcw=_uG0r7eP@mTw_EHjQS+-m~G)^l|x9nNkbzp};(m z7KU%5tLj8+xoiv|2YM4L=New2mgqd55EWH$s{(IQ9+~eD*Xd4*dJNXXg?itXj><3G z?re^hYQpwwb6A=QSv4mL!SKEocG6O`D^_SKJ7{kWizjDV3;<(Xlr!ZSGgC>JTY@$7 zo;LY3$+n`IIK!WCd*XOkE$UWt75IdoeZUNQHpVh$ZAWqs3^`JqISaa~s6ASmC zSf2kxtB`Vtg0Ihwq*3rM2tcoS1Ts{Lh};l|z^%PoaEj13;&wCR4qCU0MB%87Vh)eM zvObakb2OzRj!)61O>S`A^GBV#7KjNl`H0i>svU!`1X_9FT}b9nks^mdKGw< zNt(a}foIyWvf|?i9jU-eCt6;}&gbMJCa|ksrR2jO#~7^TZ#q30k4)-ZH5cIir+_SW0|m=JHL_avKv8=tv3Da7;<%pFV^mB^Ze(dI zCT~ij&wbyR3(XnwlS@06wPQQ+)nJAvfm+dGp0*ABhH$tZyT5|cN(kY2 zv4!)n5={5jYp|QHo1iZH^gu9hu8ZBTtiS@#Qw2yN=?s5TIZdHMV{y^{VtOH z9g16r1^Vn0oqIHV^3S>ItMuea32%wz`11QN+E;Om@m%d0$R18D;K{3_so^&bHTMQ0 z2H3{4J8BqEf+Z`RIQyDN#FQ4IHi6rIoe5A zHp(~>C4>0E`dnlM$I;S3qe8YLqd-X|+0fXGhbVKXq}X`^QBsn}c7I705Ozo5pArm3 z*xtDVe9WZSjn}Z!!Oa^Yp`T=}eUtjOLGK0yI=fBjL@5?Bw3||`eFJF)AsdIVf;K@Y zS|vKWRcWpij&pfGi6dk&-u`p7EVf3fX24?G;8dx7*nl(p8ejbs>GS*2pKq16!LK-} z;=FBt`y?sc%(BS!#k$3iankF*ylNw-A&1B(?I@o=dUSKhuRCpnKKgV>m-{;zQh|#1 z9u8r>C)Y3Q4NeUN6QuA%nb*2GQiBm2-@K;-Q!2O_tD4dgD|s$-cP@v>8G_v3xhvh34HkSy4cl#l5yRy96|{;8kt6nD+oX!+ zH2V=_oAuu%5~SlPNTq~Czpu2+@K}d%ZmMjsJ%u6?ca^3%@lRB>%6{wKl{spXXIEY%V}k=wV2$~^f-*t76bRfvou-4DM_q5z31Qm z(5AF=Ufo2<>Yk3?Sg_&)B=f|T+T}`oQ9wl%kb>>*p_39YvNM%Z8+I*KXMVfwb_XA&!$r%&w*Yjul4O!qZXJzKe%Xuzy?5 z-jG@kvBcAtV_jjL$K?L7B4x-6sPR;SLEhd`=}O=Dve$fSTc2zB6`ya+Dz2&axo9gL zeKef}K%5Br>06Y4n@PV+ExGBZ>ZRhxoP*cHc{T0-IJ8;EHNrLYfUgK&sbd`*SPM$} z)`@+=wZpTHm$j~%6}$tlsilPJh6hRd!w6|Y8Knv%pcVR?%9Y&)ry@a>8ZH@UU8$=h z1!t*({@GxIjP?iFyMSn8EML)@%txUfv88fs-zvl-*!T}{g9POzjb;E03ZR}6I z<4V+m7sb9&PdrwsBrVI!>Q{`LB)2(W>VMfp!#1#A|~EBB)*Wl;gaqH=oJoCq5PN1ZF3Wk}eo2Eq@Qo@|eBMvBU32H3Pt8^Aio>8)2!Sq{^13(lg(T4Drm9ne14 zXQ9g{bK@3lz&}zUT)v-dp(`snOgjp3;6So>3AMH?IU(>@JbmM7Oa6RKDVRVo@^8`% zQ6^=ETun?VE1{L0X*L0%m${ZL(PV|Q zt^Pa)O-i21gtx(6DqfgCjAPTuFkV{+H7+Q)!rE-@vO3C+sPNA6>LtOjHg@Mr9S|R=_0MM3Qlc?JzI8M$W#h?;D(d=hfQG;T(NtJrgbHqs+^D;ABDDBs1=x$#<|A4>M_htG^286cgGgc-A8Oi9i2Z` z{d8Jpt7_iZj*~FZ?H_19dr)v-%~Ed+=Ex8&3j@S9^nGjLf37e9I{_uLc(=9J;^M^$ zWPH9d64k2Do#{0i>MbB~2{=52sBRyyyc$jX^Bm_rw5)1iow^5Ba!o66fUz+J;;Z)B^VusdRQoz zPo8F?g6GG(#dA`ci=MwcwcLj5zr*;ut7q}W^&og!|53|EcDsB6(mMS)oYEQCuO$Ub z-F|0*{_7phLT5O2nWI1FaN*N_l1PZQY%jH4(KaFq#ChR~yZ&LLHp!8@ljjb(zrT_> zwXMyPq8oPwI5gHEdD301g;>3LHc`x#eC$`J#*J=T({K~q^`~4*IQQ^*CP>A%#nDb* zTVx@l*9I9p0yr(DO2YF^K!{KWDU)x!ur1XkT5t;5J#@oj$i?0Wzozv^i1+$}fd7;f z>3)eRnd@&#k87e)*T~G97nt~HFBc;Hr|A}_= z0Jdo<`?(+%kFW?A1u;{-q;LCc&TMHtA61AHY7K&hDx&S5r{C15CEBD3>2tFTeoTKR zwXUhp#XmBbuti`D$_Oe`#ngLp6w-!`V)~yg;5PmG@5^!?H^R>C;8VbL(7jV#QZgE> zfmz`}UA*Wpy4)Ij#`{T{vXk72{s%(D z$%kP-pl535@DaK}gtIHTHr@*l53?Uv-xh?GP*^A(QHMWpxcP&JyDK>iHX5$Ozl+gn zQy@whaZ@CAf6s}_(OnP@xr9BV5%r|Id++gD^isQn*eFMdyDMSs+SqgL3~v*SnXAof z;LM43(Oq?iTFJ@T-Nnhk*?q`7V4(v8b>NJ(ei-kG*|20~kvyWf&dwdf%dpUlW*UIC zmEd5`l&Mp}9${g4@Hk$GyytJC9Mgt`o}HLx9E*=Lc?JzdO)ZAihA>i}#xA^2k1 z=Ug)Y^YK%uyLiaZixO*s_-*;L@lrM6^i@ZY@Gx+K|(qt|u&xfHZlo5drQK$l?< zhv5Yh)XjZJCJ{jS6xhR1tA*rsfA^ms9QoI(lWVn z(g8Y|JZ?!q3D{XQqZ3$|P~O_ji$?LL4Z$SK8?dc&Nw{)mAnLMCh4A?>oc`872fR4E z>oj4t9h9b2-bY>b#s6`8imA78y3^h1H@iqr;kd>Q;`uYg-xcs=j@k^@oE_fKzI3vWOG#G>|Lu>65C!vWf3^hQ2Zb_vh_eDj{TS45|mo~_nzty!~;ip<@I6f zOh|eHt2^gkoGtfs!kxze>7<&wo`mA87koey%R=>YWLsKH;JVU^S3bm+=qYjBj3{5B zIR>6c$Pp3*Faf&667MiJnbjUzeB^}px7&&U8s73%ru|H()+_;$Y`WOjhxrRU*ZC@K zUq0+gWNOXTd_&g`oGAeF!Hl+OB{|xx>sL4x!YlD=Y!UG@;PrP0jV8~CWFD|OR;@(p zXgwi1t)^Qxc(L6sHamvbJL<7+D~ps{HH@<8nP$#M?>Ar^WMhZ}RKx#V;kG)+r~i`HzHHoOL_u-f&6IqN z{+q5(p#sgYVM6#IB7#>H>z>=igG3QwRY9oF|%c34Jb-SFgo3xN5 z8Q!>Fgur7a!TIji;v<6qcoNe43Nk4xkTF2zsQe}*Ntz_7Utz_|`wa{UgynfE*rZ=! zYBsWXbiG=s029u|9x>sU%FbYfqBT`4z@(6~=EVaOkGma zGSee@G|=^fAwXSHL@rAH3<$7AHU9x0Z?UkMDhw4r57;z1k2Qz5;Xm{?Gh%m{S;O^o z`a%?^_nR=Q1Wyfwe{ z8%o?f#{mZzcZOkb1EIqEq+&09vA^r#Q)4%qwzd_@PEXAw5-F)L$H2J-OKNQoUqSmU z(<9c?H<3R647Zh za89bvcIL4ZU~Y)Gn%v!g_|!8|rMw7f+4;UXfV`;dlP&&bMw*I6NTUFk1)IEU|8z1ddg66r+DpIfu%!2(94Ei2K!oQ>kiDpPibpb5q8t_(aAJ~$R(a-U~jJ2bQs}B_2j8g#h3L9-}r?d%!tKX3+imN~2yytnV z99`R+kDH)j{V!k<1NwjmgvTs$lHm?6+BRsjz}1itG~=>?HnKqlJzZE|s~3qbd+-xF z`j!it{CoO>qd#FMG?jwQtsoynRyC4}?#2C>N>I7#F05>e)q-PY_h>5Qz26q^VmRbX z`j_EKe~mRD!k84#wjR}Tf-4TafOa68=HR8HU3hR5Vx5^`E%W)c80G^XF6{10);u

    z``>V7DUQ`onk{X!DREnEp1G75o~h}I!<@@(I&o0z8s)Scc}+9F)9h;MyYkxDfo82e z)%Z&*ZdM_A0TBW{_!rF=eNJmW`1`#PtfLDg^NDUhOiZM1*30HB?Ymj0baS-z(QXRO zi1EADu*2xfuKi_G7Xrc3*R&;>^2%WhV*_mKl!>XBfVx(t`NrvdVKa69p7N!ppLT*7 zL9BAlmIvcHnv{yy{GUC{Ny*k|@yQl-e%2PgT>RZN9wd>R`b)MMLv#$^(ZMI=u2y3F zhCzbFbQJ%4rAI7RTe4dhW2h7wJ+?Y(`qg-TTy2s`7&dtg3B1oQKVeoH@Vs2UAKr!GqbJ#SCukJ`@h|B`SHIA7N>*|yHgs=U zgHDGI?B%|)8koNAOB?Q8r!TpX2A|t-AhF{EvO6PNvP3)T{jg7ljCVK@o;2qKqHMqj zo2p;DS&oDIac2|Nei*7{_z94-8Y#w6$OdLqp_5&bYrhxoU<8Fqm;s5J7LqJrio1me z;!e2MtnyC5K^P@syms)}X&)*vh?a2?QMQ*U4i7cz_=Y@t@lx7{@h;FkI0Nq;W-vj& z#ov{POi)@+VG!lbKAciXvOb4$A1ZG81?Lc&HiNV)z;&Oga^_FAXOo$|PRTa9+!Q%p z#0bW3vK850tYzGe9VIAC=DKVLf+7S^?aXbDrNVjzeDi^xHKNn1z2ai6rN`hxo&hR` zkbbGQ-Y! zL4P>04-Mlmyah+|w$6sVN6sQ0Uf7Hoz~3;`$}H*nrc(5&YCV~(KE`}6iYAEP)Z%kE zq#ak@51>t@CpuIHz<*6@*7p##VKJEt__La&d3U@h?Ntj- z-^G7nhv2=WCNTZ9Y=#S@yxZoLVV3{dbrx{cec}t;=Ahv1Fr5m_F2mF;Y3vDLLRfM~ zUaBaxkxk0~=t8-LYQ&gk957T)_ z3n`rO9;VEVIe2)rny%mY;{zIN^cdcFl|XvyUcf21p8m<=uuqZ3Cono`(W5FkgQ3bP zp9%NAde0CK=c*-?uR%#Icm|A1epxIv+jlaEz;$Mk0^}Gwoh>26%5nk@&J_c$O90NQe_<-HRUZC@|6=@`TdRF0!NMNH6yT zO4%+p$OpYsD~(B9m9sszl{wj9q;t*Ws>!PsH|PsdEGL7a!b3A7c~?| zo<6{k#>`|Pcw`IUKDN(Fa6u4zNou2+Y5p`=lkd;NCcLrC<~8>X`&lKVg&(4X8k=1k zDdEP$v8NM;O_3fk21b~fyfyH+txw5k9;=0JE8=tls$Mf*Dqeeibb8Ld)pa`3h zSBHIq>4wQEjNN}&%O|=uNBOSVJj`U_LD6)mFk@RZcI8UI2+<@B%R~zOJC|7%u!;X5 zRY3`!CDVG=Y|2MAZ3Qe3Z*!iZw(o{Fj?0>uppCTdnUa{!ehZ#7W|6)L3}LjE;QM&1 z;B$#IR->AUVp=xf*zNP#jvCDNj~$m1;N?F8{^mN2Y5?pdC`EgNlm9eE>cgC58jo$G zKfTKcs_qsJh5;V4Ekcn>2@Wr7+BTF*bwM!bM1r0vPb0i?59rmxumxnf;%z{iKz4`L z)*m(D)qu;~wCR&Z{%w*jR2`Kjlc>&)mJt@xp;!L-b-^8Y=rqRLP-TtEugY|`@Lw9I z*gYN0Al={?c>D#}gkHhbb)g$jPmDQm&~glH$KQ7pF?8WygLwQb_Z9n39A_2O4p{Hr zL!4WNZ8iePO$gtr_i^Xl`z=rHPs!{;p_l=wpCT zSUt=6z;4<`STefytDrE~KB<+a%1%UEf?o?3z^{_GqjQE%X9yjx#IzW(u=pG}k4c)X zQ05Pom)g9j(~#5rz99B|yrO7wYIjHMg04;0X~>9;*O~yDjRjWw! zmkisw;UBbSgK3)w%_qQ?jO4gY{mm#hJ79c`U;>%A+>4W zZuzuiePUr5T-)Ip_kbKbcUBwph*=BUI{xb*aWM~`i+wiQ)07;Veu$SCh=5fEre9%i*I%vXwxz> zCf21&80nAlW*S##z{Q1rJ0R+cF@F#2dMd{5h`a*7!|ew5qxCVj0wovm9c0m%yn|DO zz4)J9=t^Kl@9|i51@$JH@Dy601&Qc}1(Ym1Sof^<+ci!J5)|wW=M|J4D|L%V71WTK%Z|5hDdrsk5e0 zuF*q@?w6}!$9yS(7r9;q^H4izgDucPf%S&Qq%{!1gkryiVe?Tf7urC8<-t9MFPoUT zt>I<<{Fgj4lnxuZZ~Hhf0v1YWW@bS83mu!ZZU8&v(2~1501!NJRnPl>!k7+%skQ~> z8@163$vYDp`nbAA&LIL}Wu~TDJ(kxZg%)lH$|HK@tA_;OuyPGENKSp{TI6UM7j(lE zG`>A3!KnD)gw0oz*O1FgR@w&$n~T3n2d7tx#8Le2p@|M6%)W&JxybP3D1_}qY$eh^Ab_llSm{&b35mKbCj4^wq z2SG$XgzR99_hqcU1RQdn618YGXDwUva%cjrpxcdYO%ZQ))$XCPHV97+)$bE#>k6QV zFMXUjxydj`kUHd_-wG=!aQqoXF}^9)GjtRRMmw?CQ@oSkDPK`=RFN~YV7Y^K*nl~e zOsvWG(J(hnvX3+c$oCZKXCU#gABuOd-8DJPey7t}_Jynrh`JkNft>FnPP8iW5O{%e zed@#`|M7RN@I9D%_o_BWeTl@D3C&Yeq(Wu3;g9=ZR!1qQsikrPNOVIP_12iBO>Wg% zhnaB_m1mg#M3*|D<7h*;u2T;G=P__$BojBc2@5WG!+v^aqyHhy{V(v%j)5L@?JJ`w zmVj)K&9CW2qOG^EmixTnM3_JgJRR&W2%%-O0E_LojznZD)5o0HA)r45>*+O^q`zCA zMigHA?^nXxecFd{ro(rpc}r7NzZtb2fh-$Hg~6-v^Q;hen;Y*1tKa^8fPujIPLWR5t(3#SD|0 zE?6o){_OyKzEQrj=JSk|X1_6wL?oTrkvi23;$hqH{ifN7i~j8E()rn(S}mFm<=osp zWm8SKuA_d~_YXF=59?NR=|c|viUo$$_Ge{6zx`m|8mrMS^Sv9f1Rn7bpEYbcvUl!ocF+ClbV59 zYXdtW2x9W>P!n#glzRKR9mPz#pPCq4@mppR;+v?bWm2X^UolpF>o?EG0 zU!#rMF{t7Hc5^E3$TR-r0#x$f*9}gTY9Z4S|1#FqtXE&kVbv<@C_!nEZjy`hcs-vW zv?T5EAe7vA4a||#u$`;)=LWmkDSeV8*ZM??9OKwxAT8#cvI=?GywsW?IWwO|o)Iux z6!fyfO-&Vw{8vpui1!k6_B0g{loJ=30HojQGg%0c1SEj{1un3*LFF=!Jw+-WPk)1M z_Hgu-KLuAA`$=X-O5f3q%SRJ;d+^ODni`FI<*v|D)p3irj&vDz)_yV=BB9Aeq&wAH zQ|L2EXpys~9rr#03Ef>)kl@fxZZA{w7!$WQ&i+24wqog6_0>xBHCNj~Fv451G5*>1 zXlcaC(~7AznzTw0rhp&+Y;>GSVo%yaX=cqTF#&^zD9kLP(`-!jQhs%15Km)-1S(DQ z*HMoRf+@ohUEKM0htJS-S4g#C8*|)ZdU(8OgsHV5N?@s2Sdeaix_7>;X0ZP?^K+noL7!F zkp|#L2B|d6hGlR1g1}C-$%o2`HE{gV4?&;c7)fi@of{W!rqOWii855}Wr_~p3E2ui zJWu(YX%tmH5engpbw#xN@F+j#@*w23VeJlQAEM&`PmlLGh)#)e8m2ZWM0|I}a3WN2 zXeSeaYJ-YiYaX{BDLeT6QI^Hua(5VryBAl+iyJ5RsDD)Wxk)sb{5Y<*H72!%HW6ha zV@O)BFYzG_jz|XC*WZ|d)?rhJI%#Bh{m@6JFC)nm2N@gB0nEUo0LeFD<%$GZpwn}x@j(pap zp6=W}xGP*hNqG%(9ENTZ3$I*U#I{!d6`z)zZGGS$viH(lq83l!5LmzRV)Rt*|9!m3 zE=yNAgQ^d@R}KTNv+nwe|Gu0~)bJT{4p`LOV(6$^3Z84N9d97!|hh<#VHC z5!@D@qy;hh$81%7mRy^Z@?F-a3!Kca`K5;42A?L2Km-g7-t6b4DN(XowNgFZWA#M_ zx~UL(foeDLc-f4yaSWydgQxoPV?lY3>A=TULBu)@|M3QdQ6xT`HCZDN7~w=oi6$T4 z@OLnTd<3Fd06LaA+LK*!f(v<8QtBtP}s zrwnI?a$PF1PF4A8J5Zlv5z{4W_B|6!R;m3=I;kJO$vRNK7Tq*QY(h_dS#CnJe)J4f z?RsiX9}CSKscQ|6T&QnC>nD7oS`RVg@Mhh2 z*{J!0wI`KQRnRRn;jE=cw@)Cybf-7tcJl-}U?oP^X7P1RV~DvW-o^p~jYQa_`%4ImZ|u9O$iNBz-YoPcve28S1295Rnf; z)SHG7-kAlN0{%q)bL3#LUCKKo)CZ8s)6$&6!SR9l@2S4PucIx=*{?YXZr0ofFcMH~ zwIlCG!gs@BdMq{iV&m_LuqN`xCz@^&jzo<*sH&C9gJuX*w<7VCnLwZNM`bh^4;YGw zDrjcqEMy`eu>|rrr2LFqnK3PFb8^6GP_0F<*v)l>yl)H!hRBVBb>P}kl%KB}( zYo?rCmVYR*x#jZ?GJz28 z!60<|Yj?BpA`$1_?`(d~1IqR0Oz#tc#`MYJuxOvQYHBHivvP$UIC}$3CArn^y_*Lo zZ>c1R=|j{lECcMOMptz(ZE-z+UB~wrH-f8w1{h-wxudw5VG{0Owy4npiM4JU0AP;; zd>I!^iNeZLhcU$zf6uNMcK-o875Iq&^t8~voO56HBLz7HZ|Vl(I?*>5A~w7jy>8Bx+oW(i&$vwk_s>e?BY1@?P5x;TRLQuQi~* z7P~L3rAU?xeDcD8%zzoSCs8vx9DqcEFcdsm{X+~$z6f9|V8?wk#3?~^2Xv8(6bP9! zINS_k!4ToRMm!!S@=PVmd&wqV0Qd*(*6Fg%;tyI{6EeCf@AJsDgxz5;wf!46&T4ME zzG4rRjcUWwg@hv~ZoP=H_pvT7-CqLtjoZ(Qq{Dx-(+`O}uNM;c=Q84n54c;KJm}JT zvWf6r6q1RHxSyBAZ;e??xG>Lk#N!1h56i@F`fA(s61suT4(Y^ck7vl%A(Eq@9HSp? z#2A)2#C0E)V-oj~r_S{wSQ7WF?`6K8iQTa?k4MBE0P4$}K5a>dKuudY#Ar#H8+A8I zFQnsfER>U&Mm)lBpl0!i6m%AkZkZky7T=FYZ4C$8(Tt(&v6_QwS#TQC3q!N#2Dhq z$;R(86YZiu8j0Ulc^6Ey8pCQ^o{sUvv5ge6{Tq}pSz2fIHiU#|nHTQvNkT`=-m}Fz zGX8m;=dp7$WrK5zn`5VJ#k0Gl3my<{WTp=hs#PwJz(KOT6IXP3y8;HW6qX6&#z5xr^4S~A zdi@Y&7Vz_;k~hOR%WX^LTbkWyxRNYh7qqc>(JQ22OH)TYM9!M-V6C+{d}32VI_hw~ zLI-LW%Akh3LI6@n-HWIW>tRNQ*x3L9tfk3F4qIkmrc$Ih=SSYAB)dgJ|b3!7Bo zElb=w&t{*{=!1FTkYKT5&D~l7SzcxhIgAd^fo4NlCNXd>qT_OH z8dZ?Y>leMnLbvxs+7r@v1%K@!>LZi?lUC6pP0OxKRLReMN6jNex`)z7vIk6-*=n+& z{_ezXE4mY4f*<|5>F@}o0^d6X?L0I2iB&dXxCf<|eXf-V*f9a)JjX#K0~h7;$9&Mc z{O8baVF6eg2&j>6UCtXJ>28pD+FAUMsRIv60^+d=Q@hRI5TvufCI~z!(|S0CjcmOq zCG+iYRHIk_I!A{Fdr9d$AW0bL3W`Sg{hj6Zo!300+{s`3)&@;c3(tw-^EBWFS)2aa&veckmVo;TaaRliK0 zXV#H0zuLJdV2s1jGlJ`i4h9GyPMB!faDQQ_9+wmIPf9$h2Ci#HXfO04*WGXRn zz4`_sm&~+vlBJB14dLo6`P$DcIFW4l%Hp^#Cx!!n=Wu?$u@|8<=gOgk_h=6+n^OKv z@dfSP&Bl2XG6a|98HE`v?`OYp8@+Xf?h$qo(&<7a)B9W+9)N=Wo9AHeajs`t8O1Xug9`Jv>LD#H_6>?4~1QCNsm#nhRN_E!KHh&{N$30Zq z?M$dH*xYM3-7{Cku98!zC5=%)Uh>-+3lb(6+=^DQq=zhnD&}1|AWGrwMHBPPTLFRW z1{$Kq)bTylvn?9?&f5oPr3DRpm}G>UsfAgBO9P9@EdREolU+v?%#$MnrU?0}i#c&} zZz3DiqIA0(lZsG;BrZH1W;?x6l_pU@Q;T3M1+L5+g*5r|Srn|I_M@@_AF zAdo&7c0-hdqwC5*ysn@cOsohXN+3}ulO<>AM}DIfLj0e5S()IAnVgt`1c$PCc#?$4 ztsW~FpJAO4>&Z7su``Ju73X&T*}AdyA)e;CECcgpb~OnTIT2zN9Jgn6k2VSHVkn#H^uSa=bt_P)Nm@p++E*GIlk6e!)>b(u;(dVq4e4lj7yP;X zBl5vB;n>$KSw=L&6GWm{h&mg!A?OaxI2kbMd(|{~Ug0UuEP3;?4$Cx|fxhWT_ad6H zB5Ny00c_!AhWzIW!(^gyJ4c~+;~WY4B#CJPHP6pg)PtG)J8z7fuV>nNcjW`Ct$N(3 z9KZw$0&tF=&>k?2fY5Y|)Yv zReI@sCIZu#@f~Jr-v~m|8$-#q-6fooZHd4KC85(yl{(MoCs_lK&dYS(3Aq+@gyB4z z)ANbVltfEu6lH2ka%7UNHp74f-jPY4M2gU*tKvMssil^I3gb<)YY9WOaU2x~h%e!! z)Re@`2}R{Fdm0^G)sZRguQg~HS~*raKA!e;=2*4ypDFxi3=IC07}dOb#%klN%)`%F z?Hr5Sj9xQe)Rl~qic%bF<5{ah*htRQ9_Zx#_EDX=^>Czw+P;eW1R1Cm zqg7l-LoHPxi{NUR$z`}Dd8BI~Rt+E3@ z%_Dnd1e$==bf6zbP;u!A1|N!#1632O(kNCh_aXXmpIa!52lLo}19kNrp%H{~4)ROb zgTY?g(KPLxVUqs;%3}oj=?j3UO?@M_grN+}hosH`svY2PBPx1pqw{L6UY)6S8{!{C)xC1ro1p>w$J5U^;0ONGqGixokve+*i z9pkbs8OO`vghCvM;m%6+LdE&(5|LgcNJ>dXG7GbaSgcli8c_409V$Oc^dfVbvJT2N zEJVGmtiOh?ZN3Csn{%C?LFE1n&xAu*oUN);J(SNF8F+C%>lRO}o_l@V?X!)k(OI`A z>y7aij5M*ttJlY8I~ETksH~bHYmzt33QH>o(s|^PGh%iK@RX>xrFG_8H{|~GF$|dD z&C`jHLk2L)ubetf2~}E$BRyjqWyNX;f}XYo3`S7lfP|ZaVk`aXG}G4Oi)J3l6LBmVL}jWQCqu63`*+9*x-a_?&3K|KAdHy zF|W#C)5K`f2_2vYx(?{nq!;I(L!=c6vR1SUR!35`Te{8FcqA!bq;N&3Tg@}Clss5k zv<98i54_{%2XNdkdZ$NE$45{14$_qIFR9FIc9!5(&jlfzz~G`K?)~M&|DKL?Ix(Jq zn})PN#Dv!Tab952j0I`vV;R*_P^ERv3p9;KHd%C8{*2K>Et{lgry_*t-{v6kY|s<* z30A15n9Mby4VXt^K<8#}1=B+nC{bE$W05Uuv&m{*S57KaChExy9?mHr*giV!efUP|z0^817P}^BK)*JWL#~#@og2Z#F|$2prZcU{i~kcLt=P?{!Z>EnuCoW^_O6i|8sD}s%FfU zV&^YO*6tBS@)czzdS&=7!RI74t<`PD?>qABbsaRM8KJRTpohKoQ>bI+7%=L{f_(S$ zO|^FVDS5yZ;)a+LRg4j3AdxIiRL36CeSm!bD3xdkTTrb*+g(>EUjX=J8!znKP@8fL z!Ya{q%tMSp4V@dLEp6i3RONwt%&>A^H!0$_oD2xUKjvmMqj>)iwO>9&1Dc!LNJ+cp z8wfozZWNq!(FX>ulClJ5u|2+8IaOYqpQvf*qa;zIY)?J&YgowPdmT`RX4w(Y=6*F& zk)ZKUF)Y$jQS91eE}cDlRpAYQ#RTm+3uK&n4q9U`yimYbN$Qz{UF03ORcIdYi31i=k~Wt~ zg3Nd5=HD)dde7^i+f4m0447~1=c9o z0Py>NWOB@5PWAvpS^R1wsap_3o`6!h>Tje|5Q>`c?UV4}FrWxR-?T>X0p(tm2-Q#{ zvjZlzw_%5%(bsgVYj-+I+cn$NbG1EWrfvZ4r9T>!I%vLkW423gyJB>HyuUs#O|Z4>y7MqTLyMoU&pa=OU}0nId_odPXIaeLuRz`x#MeS~$_ zOgS`_yy)s)sGxls+9ZeQO@5uQ0WfKk1|L9a!Yo@0-4lJ5q;@Q zx%dFf0}KuPQX>rV>ko=jOGICqBWA93Qao@6AfB0j<_5JfPDek4v+|rAUY#VfAI8!-~I~!LM zR;l1yDTef<|2ht4jxncK`SeRt)h&!R?+nJ^o;e6T z8v3pIix5f-$xOd=W#n5cUuD%Lv*Q3Ilt2!Jv2rPmf2)^bz$f`oa992Y=q}d#b<-_e zn(vf%La;Cha+`m&R_f)al7N!St*j!JV9H9P78TT_)^+O&``t zwclFN&b&(RI_vUIA~KJ|oAI;X?3dr`-q*aq3Mn%wo)dFHcU4H1LNk|F%UFUB!B^A+ z-{xQGdU2=TBZ-#^0ISyw}>;gydN(~?;Nnxz>lvkymF#Xb|Hs0+^uz(rhxl3`w=Tf)KUNKXJ4``GLzfnFiHhR$b;|mo=G>GiX@#1ZWVM`n>l2UlmzDRR$BR{S1d_*Zw$qIT-CQVI!ndt+n~a`7}P- zknkOzXo(t?bn6A{bI?_xV@|NyE#Tryfw!)#^u&`;inrKlNdUHP7 zDBxJMQ>YDjxx+cqL?`oFl~b$*ZDd*iF#QRSbTT{N1G@KkkCKDn)0>{xe$rRR1jSmR%t&tEJ06bm3j1=&!2vdpx3i&;D4$ zTUH?Tg}<(+J!E62J*A(We%Jjh>b-$KO?>~q#GIr$YoDd}vQ{(GXT=s;mwPK~e)RM9 z3C<5`Dq1x8ADia{M|e0x{W3iPil)J&$~ZqI{Elr5n^jco-uA%^HAz!TT`@UKEoe^+ zN~FVc42@hSy38~xTKW2G46oQ64=qsgy_ zL7-)vMcVCa_8L5yLI6+umHUU;bXa*EImsAQvt83My$xcxa#>kBgamcw zPC^uN{-8IkY{s5#9UX9}-J4t5c1}$_fnl6!$QG;66&aP1i#f zJL59%$HL%Uk@-W^u;)V*RMFQ%8Am(SLt2VC>@_tXVramRwYJCKvf0u7#(I`5?z#?8 zk~OtwuDN&{D4KX<6M*XLa*s-9S+re0GVi5yC#*T_S6=f0LFD_&T`#VYM^&5-8ypEh z_Fvqc!<`VBed}3nN!DaD)Zh`uJA1g~=#WoeM|8gEM z^!Fdk{g24@sV2d2Q)^`wPZsLfIJgzalTFyi(IFh3lbB$Gezk@)g3U|1zUgk`GR#kT z5_(RFk|OjfA_2x(i80A?_-J$D8p7$7Dp01u6`Dck=&gYjl-5-ADnY2YbM=WScquHs zb6g=`>H1%^N-kc2eZ1)$qLw}Dm{crG4kX-D$|fO;CVmCKz4ia6O4=Fa%eqcFdKDApn?Ik^BAyc62V5hOwS7iIgc{Lm8I>)Z zNL_2Rql!K>$0DWYhu8L`K6-Y=>pT9i?pUT{FX@$UDeD=%dU<9^+nFP?+}?WU83@?{ zjKrj<(+FjbYej+K5fxDCs_B(*pDJ4-hLwTz?c3x;*r>JV%t|TD8Zc7g3@Q%P3@QN$ zJHNYec5dMCGOTnA!2cv7x1cCJ_ZLy%b~=AoentY+SCU?~R0&lGsYtIBel{wlL`FQZ zmK&E=aXoYxm0tiJU#s*wQ&rl`3h6TouRLv+15xN0C4sU)R!|9F5LU*yGEaxIOgENa zAuX)59&iHKEAclf!l+|ZZ}NGZ`J*!I1^{k_(Oq*ZET{Q7ws)psxs?x1qsq{N#j>bMkHJtuT2v6++Hah1DNY zBU8dAScbuKG$SI?kV5ZNqr&p0(~&RLV*&sLw5^rRY;EoE_nL&wlT~Wg(=+(ETrIc8 z)E)eN-*8khPFwR}=th#%#B)w|4wKr6CUJ4MCY5m_TR_IixY@Hp3+po6T{;qc9N`8_ zY;h1(mTLi`XY8LT@ZrXx9axrf3Mw^k_*cw^0rIO?RVpnTkk_Tw%S_K&1bTc+3a99o zol`0&Y}jf|^Moc z%*rddY7fLQmXSE5pCyI{>J(I*cHnVzNQ7Ll++6C}@A(eb^_X=3z;>!j=-Wlnn-~G8Pt@tPQ1;o4Y2w!}2C`-)^ z*4!EZ-Ya>(70IIzz4_TJ43hbjn&}~r1XF7Q-vpqIs_O0zkN&ny@x*l_MfUJR14~#! z>SiCfbnFogYqnCHraJ_nqSjDRmyxA>P(neOmUzinXO4|S>S~u_`q_DthOp@o5E~}8AFbE3bL$ipiONkuGC|4`qENJX_r;J-c1rXm zf=0>CndQnjmJcd&UIU2QdZZc+)8N&-A9#SHRn=IYpdeiht<%82elGj22H@s7)Z`tc z8a2?QMnB`UdH?)frF4=N~ z{zsrCX4|nSf77l5mh{(OCU&HF+p&34UvbS)7yCMM%duJ6s13VkbqE~14yd?(C!N#w zKQYoyhJTl+4%`?`805v!9ymdLBcyFdbR=Pj29<4miytVOs_mO`wYC>rn>Med>*Py@ z2(4KXsKAyZ#7UEu?6k5gU)#no2$E>mSQG!>14*vo)pO)ZF3SxezNC9s4z+v)?Fx@k z->%dRj{G~4t|LL>V6EOC>)&(kI!afVC5AKn57G4G2z*xUHxBABi}G|r;AY* z`U*3QD;Eo{-m)7rKkL-P(CF4o3esBkKH#hpIk(d#sqmoqC+LNz6C<=HQ9XRros|kQ z0Da6_4Y9+##Dxm@YFL#HbfOhFq6_rH7DJ+4G_S{mCxsl(l7@E_nRjQ2((g=C9$7OP zQ=IcFN>35lkDZ%~vC3>#!pXtfppO03mi?YH&d1|0WDs`La2K3QHT34M{n+3Qm--z} zhpvY!=EiqAH6@W6B$TcbBCb#NuW z@6SmodVtxoXaazbVw^O4Fs+0@02nUkAb`eJ(l`<)MGYYUR`zINiQWZ?sGzSZRk&vr zvYLKNeE%y~7?8OwjO!qP4VH_doMvU>>+ZKh7EPd}`&JYXeI01L%O6n)ea#uH>yF5Z z8#x;DzD+7GdMn-g#`f_dAe=P8+c2c?Ns|W;7j5=_<*Wg1;sm?u@|S!3@RaQ+1=h}s za}UW0Ffr?{NYl7m(ql(Vs8Sr08|o>pjcs^QJHQ#$H?_TXBKTh`ea0BOq)%Z6QpGY| z1Dc#bS%f>18dgJ#@ylTU&^2TAG+>@~38VUIyHa!>z^FnB)v_SJ>l?_9Qe|7r3fA@a z`~|gu(0!qqnn>}%jpQtCj=bWYJXvibpj^Mo;^`-Bo3{`lv<1nkT7wcuZGt#Cf@_^B zunxOPiHPnh&%xt4Q^q*jdsC%e5gVyzXpB z-|(P1j?H5Vl}1Xa`)v+IJAs7mx!BX?xm5*iw55Lk8+s8DDNc_;cgHy_7I&WJcH2@egO{=Go0 z$Tn<-P3l6xWG+lzOp_C3EE8E_4raxgpC)z=$=jz$h~xv%r+~ctDL63|zW`dvr=|A! zg!Z_g!<{OUkiw+f)(>kw8(|^gGXCb)bux=Z8T$!qKg{?|3W8xqBIX^Ugq(&(maL!? z*S`800pR*M_XjU=>es~K9)py#}v`z`iwM=6Ym3{SHU6Ei- z3Y&6dAy3RqIGdX;+5#*=J@j5X=OtVR8Bj#eqsOaR>L!5@ZR@#-9yHD_GtKa+WYPgj zw<9+qYN(a#!{|dCx)Vi*r0kHSxHm+@y$vn;G1^8(dR~a zIo^0&yRiSN>~Ly074@~Zsl{PY?uvisEUS(lNO!y&RRsL=O~A$FS0+Sdf7Ko3-s&r4 z^lQTc+cb5nu-8+dWDK$BiK%t>NS~4^ribr$S~8JUH{`MnUAm+$M1DiA)(epCI3Q3p zI%vaS-ZdRFB0uiD^astkT#9V|aB6m)cHh~Vu>j+*78I^D&{qMDBabioe(qGc_uSUm ztjs05c@6%y2P@NOEK<^AcpLFx0HV$(F^F-#k($^A1JaUfXfqK{=gGb)aC>sm$B zyLyGlWjRf4ml7P`ipJadh)D)xa-d2HWc3c{PWJqe#&X_>OW1H*CgvdssadT|HYq(H z$&vv|PU+mg_epl!<_pR!aNw?vNP*k9GrT-}C47JQ39z)~z%*ffXT_zL01{E}6V&{{dH@4KdFmWsLPM^f!n^AEDt&lgfMETX6>nzpNtxxn)U|(GR^1*gb z=Yl~PB_ob50*N&gg4MCvNN01nKC+d@dVgUPO3nJHS4+OncJCi@m29HdkdS6AJBl5* zTSd*I>c@dzqF*Xp@(VB1r>@Jp7fQ98@XLs8WgI$V+)zMVRI*eN2vm@F& zORbt*kN4!4QYhS<01pP?q5rF&mAgIJfJtGLd|BUBb+v(9p%B9|V)sQ2vpH2u+bp)Yy$5tnfah@it8QZAqQY49fIji{AhYjxfMiGN6uRm42yKhr=`Ksd8J@9Fhcd1%^ zK6PGL=4iE0mT0-G`W42lJ`ih7$oIRu2LWW=*$F)00RrwR_6Yd%!2@xZt=_^i50x|PV)*(aa|7#MP`@HB0ZNoZ6PWpt(#AE-X<^}u1%KQT! z0N}#&adBRY2L#xw>HY-<7`u`O2c%8i{cVKbe?#6)>ms0490pxyLsoW3vbq+ev@0a< ze%0PT1ok7k|74B*_ZqKc0ZO)(jbzlDz?Mq3@>bL1&owl3`A8%f=I}F{%^))Fcg?vKS#_DNfyd`YA4(d*NO2p?mdQeKJM7{-9|HFRwqY35>fz zQL-t@3)RB^n8LbZcrjmj3s_;)1@eO&UDTKe8)Km7Cvf@Xw@5$yf$nXImV=BJG4Sv4 zxUFx2Y2CxBF^QC^(zB##8f(yhoWKn{w343=cLrnfw4pfM?LS3f13=F&nRQ0foJ=0h z$Xvd?!nL9K&4MMQ>POG-Nx23>gusQO=ciKj9s#J~t@;z)Aq$dObAKU#F>tCg71gz* z2{xS34}fNdSwlW)0nqeCuroTn!Z^I6|08dOfn2|1P7}n-sQB2-*L?^^{;XH`W$$#ixftt9DQFeqX3ch;mL|<|E`{*b z(SWAceREzHFZBJFB8|RIKOx;c{$JPMs&~T+=VltS%O_-%W!@V1K=VC_RE-ql$5t>J z=Ry%EIW_&v!ly+GAVD)?Bn532ZWR8!%4e!%ZmWw8{$R)3DFGE5PG6;d7q;q@9Xga{i(#iQ3)mi6pNJ+J3XoBN_~Spv0Mfb`25 zp%6F;0#6SwGp~*ldu7K++lL>U3(sU*2|`Qr2lio(iJx)gI}0v_OrorclfODGxAuw7 z=EIzskJ3ZqjiWs6w1*~gj+@TxzI@tIUJ3E>0regV4m-&i)2}EB4pxpYYss0uCR#Jv z{KKg-xr!yT71%Xz9Kfqp=U|fT(gDq>m%}bchIomO_OEbA^An#fTexPn@K^KeZF}%~ z&Ma!tyymSXb0N>`HC?l>{0VRXWif(s=yVUS z=uqdI_#I`#z35X(x@V^|s0OC}nqWPkt4E%A30vnhn}HF8L^#lQDp@1I*aJ}25dSoS zT)Z5)L#2(mZ_1f7{J&*b`gt-k4ux%U8I#`#7{GJJ)0; z8TkZ=lAk;tVy{S24^XV0IfpjL4f3qGGkKgYux&Lf5wlRadeq}#QN*3Y#%?P%TT^!9 z{z(X3&*Eu)VQuVvr+P|fNlNxL1n~-J_=u35ebf#2o`FpdS6`8_z>Bc~JeWqM(>9?$tZ`iVv;meHzU5Y0; z48@$$D>v*ZoOGrqKFp|Z2A5fGV|1@`>2|t#;@q8eWFq70twx78UEIE@zD6yanU?S? z-2Si6(Rq&vYH1im!k0EZ^k|P`W+<(efhgY}Y8nSey%6TqA7dH1M!A>RKnNaO8ByVZ z6%uY;I12L(WW$iQk3f{CVuUSrS*D zV_lMfY|j|~02?n$R;o@q2nwDPGRo>?%)S=*G`1Z^(WrQ^h0?5`wAwVwIL{Y*>lz~V z;0P)dcmJ)EZ$c85m&C)DO_UeVoE5QWa=%4b{tVX73>B%L->xo+!;BQ;Ggc-5FEdzv~3p^{PS6!fbN!5nNVLGe7?EE zO70N1;TAKb#+#+tUbSNCbJFbb;Ca&g%gTHKxygQxo3)7h>g=et?SCyxSsW7T)#8vL z#3Ru%CR^95$qv;_{INW0M#bGR{poaUbyGG{$j2O`P}N%p)iO(2H05%(c5+btU0v=G zFEjCg&*D0-^VX{n*sg2yQ5-RICo0NLKEJ2%3Xqkqe>op9H+2wigLB^Mn{ruJipR#n zqN1e-l7y!$V*jy!g-GPKJ8Hgmqbx)5py<=%h{2kA8sMC!mDwKscC@f~(W}j7jlSq? zsQu+pv!ihvN)DFK$M)(l`~mrUkyUdG)ELmQtxR<`H*p<`p7aMQV)zf$B%$ z)z4ZmNn@(f+m@30lHNK<)&o1rS(~0LR9V+p`Ryb>iu#D`#+11jAMPADJK@I%G8$@C z2`irnew6r|0kZPrz2^wYy;T=imB+G;wj~L6bQhr;+vj=S7Uy7K8E9;7#aaf!Sr)DIgvttoNHL|;{;!Ct+jx{K{$p5bK>afG9Q10bDzi| z+F9>Up-(;_6sR{;nVG1mM@?aTaZ)p2s6fH%Y~0V+KfkZnKE8V~&aYLHm$1)8^~F)f z>I+6U7g;+1*)<*_7Uu!mvnZa8IoL(zU__nEwR|dRqvftSdQ|`}~-uBN{4`XTE(`}}e z@AO1GpU}Q7mC$#zv0F_vSJ(x+=m}z-6Aw*K9lVmonq_8UyG_lcFw$H!Qr3^hx*E z)}Rb|J;&=OU35He#>(ftth2v^`n8WvVbe_O0$Xss)+M7fEOvzKuOl+X@V%rVLbld* znB$iNZ4vNcBWol3^~80O@E7XE@6Zj8_P5iVy_@Jb@V%EMx6sFX4}#uwJ$$JP17wQw zb%ek)+=~dA65mqry@TJJGk4=rJ+od>Dx2^nQ>*$T9YRhjOJ&n06gQJc+0^m8W z-~aOS+fs;rN(%>j{)w4XR6~7r5I(re7btbPS!OA@?Jj-G!*ZR?EGdBPvpy+pE*2`5 zmBI;Q<=JkDiaEa-Y;A(un)!S8+vg@;38g(u;wl@if1{sV#Z6Zx-=K`Yx#Jgf7ku`5 zgW?Y7Lz!vX&l3~`J>>N-zehBN>#gVm#XJWl?T-NcY(f|`KvBVjl#Q?Tl*#}Lk z*GXTux@USXuhoFZb8oFCV7x1?)p!IL)3*ZsTj6u0uoh}y=_w&o4h1|-sI5q;0;{~q zj~6{4Eyqq1s~|hmarM}$OR8fLwN-U28o(rnni@GFSU9MT=0-Qfeh5pHu@fVB$LLa! z>iYK#Jzu6eh$N42LW&IJ>q1~DN3+k~AgfpcWmNl1{|p4pB|bD{2SWtZJB@n9$Mi&U z1XRSx2n@!e4Nm9g>d3h1Q)TOCiW{}si#FOFT>+lt-t>QbBvnW9eT z!_{WMW>H@T)Z`pdw*6YEq~X^WE|2K)qZ2|#(5@O0`Z4icRnClW3f#C3diV(Dw$||R z%DUAL=2R|2mWy7dx>~|w<*f_$#$p^!WSR^%FBkm#^SKVvhs8PjU?S{DfIRU3Hzy%on?-Rnz(6zuSdDe))5fo!M>Yb30-X$yG+}y zj<>yh^UyGtT++VIGBX4v4TdSw{)!7Wtb^3<&)In>6292zUvY)@L%1SiFn!{vH>7{) zg&j=8$aLsOoI;I+xALb9vCW*@g;ZcPChZjACm0#f_Ul)rVXd}o+XtOnOz4oJ)ntx~ zo$Ni7LH_`UP4>z5$Ed4EqXXeYS;Ym?z4p0X#FP=#_v(WwMR~@>$_|y>DZwz9kW&tX zFZOOi_Ku96r|ubWnEWOeZT&|OmhO2&3PXn_?t0pWBOE;HwM2E}AZ4+Yt*^16lvJVl zo{cwILtyO6t>(L*d&V!pP4QQg;4{jUvZEn5q1sP04lzzc5LWL#!t&t5i&l=a`MUu9K}4eba-XMm&mpEJm^MBdcUtydM1 z>;mx-!*xwqdn?kV7+emFD?tn4#YQ>p_qVhiTD;ZiT6Hul+neX|c^<4imZcm^I+;7) zS(;5w_2mL1Jfpi`rN4#MkMnxc2~cvBsC>UE+#?cJ%1{W5N3x6Ko&u&Bgo2iQk+_Y zjfU$00ZllR(aatjZk*XSdS++9Z{vX*^Z+&7A*zZ1I`*)AmxH$nb~Im5Q!bOj_$cp$ zZTXlyY@-Avp1~k%Od$Bwj{I`x#u54V7kxaUp)<$?XKN}P!MPe+_0Ksu0Nec{SCfRG53=Xm3f*HZrZth9G&MtXTAH^f&uav3%v#bSO&(aezVX301n zHYq9&ZexU;^1K(hq&Z6$!Fw|x6U#6`_0+^5xgk=rBoLpyW%sBNfed|m1mBqPpCy1i zjjm09jLhvT?m;tM_;gSW;7{F|mvj^Vu&`g^r`|xdue?mkE|rinCzxf-jzG_%h?lSd z4W0$NdBu~62j{$!ePm1ha3GP&n2d<|`h+a;$r(EgzSsESnJSmNR%y-e#oo=Fk;@QR zVvrAf?|cBux!7uUM9yj4TWG~R#P7lRBqG3|x2?k}$CiZdn$}=*cotu##P_*+cy@fc zL)lQ{EwWz7u?s%Wh!m%|CN)jGiM&3MX339cqJ;dm&@snS;8dCv#~5zDCzDj}3c>|| zYFK#k0^#<{+DJddf4V~*%IDBOGR1|sH;NxnYAy*}o)BhCD|0$Y{4SPd;N^+W6vhcs zI)dg<7~Q82ukCcoMslg{Fy_ybS_+BGi}?#3!I_{fw`9VY{!ds(^7#Z$dI{w@OTRBe zcw4&2(8!%sA?;ThsRBc(`jREF6j5EzG!w!3>!>M|WuDUPncBc1bOqDF0}10$V2g9j zF6xgJQ*}eFf^A2ffzuv>S4)$QMsg|G_GMvvy_eR(;Jv@&3gcmPiNDiqO$#UiP(<>Q zB6OBGr|(5GJ6|$97^5~lSM|N*P-5#~6NbU>euidrF-hqx-o{TN?P}LX0z$xZNX`~K z1BI^91TcuJ)T}f$ZkD#i=dTUWs=Px!V8mFn&W&oAXc_)Ocxw8?-VScvN(k$O(1k=H zD8V#(eF#Y!N(xS<+3Dg~h!|@cX5SHDvK|V2v+blI%T#)s=j<{B*mZp_&)d^_8%S|} zOrSPOfHEz^h95x+<+Hxb0IARNVy(;mCPlQaKDc>tP)0@KTa?ut332`nw$Bg3zdS&-b&wUl;%j6hqVExI(w8JaeL^9puI>kDVT zVejTQDu;i=_B*x~R4vIWAi|ae-OtRv5ab1HLPR70O3+Vi8uiwVIqWXK?_X6y-o2Y* zW82Qvjk@!oN*MTJA6r6%&_1-hP{1G&pD_+@TLGf2`c|k>7}*^aUyQVJ#NrzRtC675Zr031Q z{I&b-`5K_Qi9ix7S#98CLZ^24+ujvw` zDLFK}zoeI>03I^e#>1A?82h?S??;+8@o$failm`_npR)|JGgNSV_@`+&pb>r*2=Extf=CUL!TGQ>@#%$3?^P><+H z0cBxcWOpz5;#3JTJN+7$>H8Fy502TKUDfcJf#+KAq;`AK-TfhKu8)Bo)-_r4_PsN9 z#$p#E-qIYjVNYEYqh$@@-H5y@;mc&m9q?yl_=Oef!jzv+?i<&^BE{^W#o(Y(>~Gb? z!Otc7%Ea0#k(}B|bm1b0^>l<`u&450hIh0|^?{IT=Js0quk zRE!&bi|))kQF8Smi{c2ObXY?~mL7`!K@aD`L<#3uv-^MoYIL!bW91gobb+b~g2)jAGz5wn&k~3@A%K_HPvlG#*9k|E_r+T;t!o0G?5&=edn}?C|I?za8Q2aJP z6oJ(0H~8OV_`2Lynzrobefj6AjmcO+%D+^>%P)piWBXGgafRIs2Q*C(h&Kcc!2(#@ zG3Q3GYqtX-n1HFz#o;|{#YpRyRdd@4&!2Dw5|h@a%zh*fcYJ(70MtYuG1fw#ht4_WW2q6aiOygxw{e9$>vz#EOeH;TV~7|oEYp!$e=3I zfs&Q6!ouMV+NAG~>zt;lc!@WzlV|gd>rB4|*Lj$dgW0#P^YSv}+B9O}PW_ZVDcj2 zw5)QZ^1Li16ezr71BU`pGzN8gxGcp*&}Ativn(Bq@A+l9d>pK^by=QnTm_mN>#50n ziIPZ}G@&s}5&k5`L*g_HHLfarAwbMr(@|<%CDw01NVI)yA9T??-|Vwf#g`EGXiVD1 zRr34VxC%mgBYkyGjjI-SX^_jlRIR-7Yhq@e`|9-B=y)f^lbxZ->@_JVhz4j;>XP|E zs*4&|ZDSUG!N6;W8du2|XyYojP5Kn|o9KOS$@`tD9wAKIi(P13Wx{D(%5QvZN8xJI zaWR3c>lf8i->SrG*WyNG;m*<1(Z`0qRh2&|7>-8`!TD@U48uE0_KuS693|6`*gHy= zo{y5f+g+ri!dg^e)%NEX6&7QBjH##}G5X^=9sqZUgZ-umq@Yd!(?D&Dc$_kZ?xM!y z0l1@&W#-8%E45GCjXaWq2j2(Y>!&3gkXn4$l~7#OhmiqY`k@ftE6~+OYO~rZ^ZpwaparwfRx7RYCov&%%ZZcwN%K$jik%W0d z>?Xry*9q{EX|cPa!L+LYnF$U+=DM*y=tsimzt)IncPWNt+*!Px|1Pw{97uf}oE!iTBfndI;(aWk2TJ#@R>zSvAA@+5v;Gnt7(n?1Bs(^E#9$>^B~=czlQ0;`2>o(O#$ zp_H9P)cq4DqgC|UUNY0No|N3Mz6*ojg~5S=@-7VS-i5*Kk9T44yD<2-6b7%y)b0l5 z-~W^X*_Bf&C|7&&DaB>Ocwiu5bFnXf;gs6`##2f~eB{xVm^d=_8&4^<0%s?qQ_4BC z=Hzm*rc0iZgdX9TVvhx}Gv=6TN>QOWGc61i8TBJlb4;aep5T}gL)08oZE-8)JQUhv zYNP?ZhpM)N`m8I*)U77@awy5pxPDAk5<+zO4?d>Q!5esA;hqf2HonC%mFT&X(Iaq7 zrS0Rif_s}bM1=*o${6$}t6>P9YmTY3&Cv^vshWn5T2Gj)-;Ns8agd?WV)sW;g9e_} z>?wd}$?h`nthNNxL_cTXS*ZCqghueJwm!6SQQ^rGi8@=%_$t((imsvt18&5idfNu4 zwp*WvXVp}-_V^DVL}pP(z>v=C@5=Sm|ZX99{U3^Y)oCK_mYD?^1k z_(_`7VE}g2rdSohg3iXk7ltJnYDr;?;uRKPlzG#WD#PZPaS!(v}YEL?Gp%^)s6C z$Rsiz6{bAIlhc%k_){k3G1GG?mgI%6izN~7%!MXL(ilrq9%LoK1~Oq766UDM(PZD@ z=~xm2Q+|RFV@U!g8c2Ke;YXNQ5>E_50Zc4uB`G5KHI@`S7mG|Zmc#%kq!u)>B*y$8 zG)Ge&%t_Qi8x-AB$Z|CMQZBTGwQeh@RI6N$MJbP&UN8Zj6eC1}Skm#Jx_;KIho3$c z8XRosMamC;{#d273dEl%UdQufoy7VhC~ilkr_TEcu3#R{ZtAoiZkZ4FAGbli@(<=P z{_p?l{^!oqc%9F)I~=~LHqT*KcVWCDv`7VtXTV9WbvlBu6dNUJ`JQ4O+JUSk9F$q> zFpHiMzpI@Z2YWA)D*D4bDPg3%tw_d!B?)fiv3$&)%Bg$|#}^yU3vD`8O~0tsv;!aG ztOo&{KI97eN~>utcluJRX@?>2pKdihvJGv_?jGH(L4s#Wv!(qc)d^U!SmvcPTUxNv z{IzN;UepC#*^ubt_S1&JRcW>g)G=QX-t;i~+s&p6|9c;kfj&U9)kY_%H|dCGYf1hu z59Pl|v&Fk7+B%mY$;v#J*{L@8VR-Z8efJ)@4vH&3GBb>*h2kLC`je*Fv_2i1O?wv9 zJ)2GEe2{IO_;*u}k3@LHBoCP+T+m0yyV?$|y2~lHx)+ng$Z??VYfKVi>bjT(r4c2P z@v@u{x~?wdk$i0F*D*=tyy&vbjR@|mCHn%X4Wc08m3wIQuPxbM`82&$vab=u$4mC{ zr1x;jnbGkeTynu1>~!ycW<^L)vE9!hg}kE(5WDg_m3 zUeRb8aHKVMvt-{@b|9y`s5Yow1J$NvuGdQTjUOUk7L@CFhvI>feN#T4nhc8OOodjV zx9sDR{fca=zq(|9f~YN6h74{6u4Wab*s@-mb8mL0+Wp1ZszC{R$0hr+TzsL8DWA_U zm=0|bIxRsj7T&?v2!+2?vL7h+xMW`qdr|C#caB;8px6s%?NQg?DA|8lu|J})CJogc zel{Kc8ec$c30)b~)tr!#O1El*A-t?%x#EJ**W0$r1i|dgA}qb~B_xk`EEkB#m5$|z z&%M&ITokf&ELW#7D#W+~&>6tdz6j9q=aXH7Hvl^9vA`d)lk^O}3eXwo%LfAwkdEa8 zn<@!YEST5=PN)*G`oLtw%jh5ww6BR^lDJRW9Q`{qm=Srf^B6K*@gc+QsD=$%7 z7EYA!htSF6a1Ni9eFGAAa|jMim?I9sfm1k_I0S>1C7J_$ri+P)Zgnx)Uhqa2lMMIj zAZ)*=T1}o?L*By*B!`=HmPIK8JwvKY(_M?$KB8(D$h>VYwRl2@)4iE$YCnI>Y7Ti> z58b;}C}V`8+P)((6XM~)DBa$$LVj->)ruwdqYjqqZBii-SlU3Rpw-L-%WacRJ`spr zlUK-@y9P9>h@jO>6{>;>76(HJK7Rme!^_m9wZhVl9u-L2`fxm7@b;3YLXTV@+O^H=xs0^!9WG0Q!!S;h=V?CDf!|I#Z*7W zt=+@(848Ma{YFyZOcw%J6EYO!_jE{}Wik{5=unZ%P%wC_4{%yNI`SjNen1sT6sU+M z${e%pOH2wEp(mk&8AyfY?x4aljPK{ce|I3gA+i|?#+H6sDP$;`_J%-~$M|Zz#e4xx z_BYH>aBAQ;WhmS#GmBK~{Y*3J%s+|zZZ<>VfCT9H`}D_`GZfQus*FkV%Utk!MQF^$ z!r&j1*XL>^GWiloHL{N;U!iyDsOsbV+~PayVbw>?datv4QIy-yIckc|R(*&y0Z9?Q zSI)iei&Y=16Jj$^#h|QCWSW7>5iXrS708tvvKy*C0@j=BmdMP&n=e=*w!HxWBM8sk z7YA}Qsm51SedM|}vd%Y3@r_bU?MVF46NTK%x&>YtJGXHoYRP7agvm(xdb z{&S_zK$;HB`7^)M(kRsLD2c( zP9c5R?IaFOt$goSx`I@;W|PNc8@DOw3W7%M6&7x5+dbG7WK=11x(uX}hM}$?o1e^G zLE5$GYy`qz*%f3Q{3Q1Q2X=q0Q;3NRqU(LFQ;4~j>spVON#kY%jM{{7d$-$H*25S}mLfzlo961`wG= zWG_=4dxVh{hiV6mtYp#mu$K#6|1Ywa|1^y3Ut=#1X*qF3?TY70TEW^!9Yg$EMLEBrD{j!R0z#1(KT%m!iexKx_;XD)QAxq=Q0&|X)x<_R zz(H?_6$_6Pu0xfX_Bso%zbI}L=l>Hnj}z}DPB@?@;j^7cZ|0UxttHZ{4NS?Td6@-T>je>1xB^I*hL(Q0v%KW z$)Rjf;6$(cE(%QVqCk7)zq=@K$hBb}_cK8tsjN#R6iNX7^GCoEAHu>Nn7TujHb}r# zzOVq88kyx313ouzLs=8Im(rRGr1>yd;&!i!l<-wFjmfLIbi1d)1exBALQJA57CX@x zV2%nY?UbQ)q6xvSk_9}clH7$F|F}$bVw~Edh{&r{Co!){kVIRG6TLRCHVnhZdVJ`a zP;MBX3B+xG_P}cy#LylwSmb{M#vk)fduS@i0>(o`PVAf16PK}TW%drVTRr68hlI>yW3JwE$n3m?gwM*@9t$b(x^V(ag%!sp&f-q z1ah5<9`CrRw&@FdnMFwuPZ5Ph1vPRV!j7Br=**jGF{YH#9=~oll1~F2- z^lJ(2KN~UP*c^W+Vq_@O{wb!r*^U)Kdq3v-LfL;JX@I#du)?Av9st(hW;OGm25K;D z^P{4|&Y1O{c*WfIo+Q2#x=KM)o{6<|cR%)d;yLQ>$3DmL9p@LBs_?Xlpeh_}$E&W= zQk>|;-qSQ;9_O1^g|j2oU#be9X1eeXt_q)&@`7!+cUAZcs=^tV5`V$FD%@0sPc#1{ z61thH@PSj9FRBV3rulGe2qpJ1=QylSrl|XUB11E2{wOju(V9cY&PRqoBHZV9MuvQs zd&D&HU|`|jNRKoYCjwsNWY@q@We?Vl(CW2^s~F4>slez=+j}q_h4*}n$p~?ay0HW% zM`tPBb~WVh+qPSQcJNIaoHnL57vqb;Beu$ z#{B;jge{=cnp3%0QKrw$P~6QrAwIxoFke*~Wc($f=0u(CIql+CAez~qH;WCxoQWd@ z7}7#~WDvh{h`2aHjf~q|0;S4C7fiBQB{4%Zt0W@LDp7{proA~m4*1Z8Kto+zvBefL zWP)*!CNi0$h^b8Z^@u5ZKmg~s9x)Yr=X%8Sfpfghl7fDTiz1%MuXR!Q!aumR#-u(i z8*Tj;TWbvd;lI;GVI$@F)*5Wz^$)bx_0_ECBao+41>~%Pb-H8l;(F#W6GT8_P>X*ZGF)XTJZQk?t(J^# zLWpG!79eg&eNVjhdKH`=8|IZ%tZ!e7{~J_zr(lKPcHBPV^9RJk~|2x+$VCt0mlMgZonuxLYYA*0@mc7Y$DOylCl;3 zUbRM31G|6)EA2*+Y%^3{QVVaCT@8|L@*tC}0VIK`Nzg#PNMZ}})dfx%;PcAWevzzn zc?ZP03NyN-QiW7qK&T+m=!6JG1ISMaLPG#?GgLpzYY1dRUUhEXt&GEBzHt`5`L+Ot zb{WTf7KnLEJq290Ey6|X(w5cTC=2qYp3K^FU>mfbDjOA>0zH#PjdV^FsDv}9eXec_vR1T=qa86H74M+P z9zb&w-6*vpc%z>YGfx5tfO(Qt`l;0RMz%~=Cf`tX9Ls7Y`0;SrHb&JAcZK8yG%MKV z0J{YKu`+t5#w3}bciGjM3N?Vqo0unkE>-C_wsF- z{bI{(9h*OY3_;|>uMOp^F<>#;OS5jk!z&at1H)&e5PF9=awHQLq^riRW)gK+{2l~V z(SEGNTXDP>=%Te7jr8tQAec7!gCL-a4SlLioPw>iF$h2ju>j9CJ2o_~ik<=**8~VO zF{>13FSeJ9ZFd*S<1|4g(eh>}V_Xkol9K%EgB)!iGdXBTa>7WZ18U(Wv22rtj(5YPmpFMG>uujIM|Xq)QE^Al%PgG`=TQViL{>! zG5SILqklop>Bv7e9>?ZIaS;9RP$(Pk^M_I2>hz614ubW)*|~?t=_}3=L=C-6?uCR| z<}(a2J?jY$skGSki^5K`cf56XEoxFY2VGOe3na28sP^8>M)l6c(H28VLE|U4M4M-c zi>9p>#mCVGdo$cyxH?;ZuBeZhq#W9Kr>r|C$e*aw$LiF4FM=-QUU2~&uXcxJAtFU` z3gOq7S=13fSTm3B54&O1ZX4>KraZf7d_!}XBGhv^1SelD?Zjdj$@Y(f6DdGDqZ=tF zq(dxB>cyzY_&=q6vUpDIAysR7v>dDiGX>s4N+i-DK-U9d>dZu@B0cZ$-e8&@)E{}3 zj&pC*{MVZ1Q1br!OmitSeW_{QG}Xc?fK78w&rcq9IDwsGP4i70bv8iLyl{MZv*<(@ zx#GhfS;E0IN8`$A8DpBagwr2vnkzE0J@R?eywYEtA$BvSd1kk)Eq8~2 z{E}%dsn$QrG#`fL;|Kv;=U18L^_o!5SI8aSVVY}4R!I@Zrune4%$VlR2GXg0JRf;| z#D;PHNW%sPk%9hcT9n@nnemNJ}I)_g@S&;7jcKA#Vl z;m*?uKzM|{?6Y{F$jRX`5C?|zs!Ba3M3X=})*{#gyZ>YoO92z`JhpiIAP0fEEjKXR z5^c>aI!AgJl2+(gnIwum`FEZ@R&W8R;HE~50ZO__tp3ZsHOJ2%9()TJ!P+E+{t3T8hFeZXNW0`} zB^}gqiV#XGr{*-yQ6h4nw2KVCPkoyCRjG_=&}U4km~kIXo-`EQQb_`2-dY_(%7J>? zQJf;Vu09vhy?l!Ho^8T>?_(uQLu(}UtJIa^F>k0V7-rfMy(J|JY{0wK6%_MdQCIED zZmKJNNTQ^hdFL5yH&s_MR;sRo>0MN3h`Oqz6=p3eL3PEvT9d>7%ct(7t|X)JB6S7f z-$&KeNXkh*{R`@x`uK0a~{Z4hVjJje+ z^oF|94fkSoRm;avPZ-|)Omhec^~j49Ng-gONE5r)7|* z%W{m(jj1XI?vfm0bMgB;wvxtl*k~^V2WV2oY@TKXh!AuBxoN&4;D7|prB((9sEYu| z3ykvInWA7cW>dN0VnYX{aE!QPqV2=|AUnb(Zx(5Dgkg*hHB38PR~@ zC<)R-jO4*nET!^=UqeFxCK*G*OOnBH6l@`$A?ot3Yb2nO3)*)RC|INl9_EZGiV%sc zWVQ+!m&2|kdKH8}BWOZQFa=FG)>DhQPKl%eLL$IITmn7>)AXRi%!i>mZ2SCtT}@;e zWau7ISmvqoCKqy;4E4lHK@_oEt5PJ08c=IkOy1drLuSX>GMml2P!vw|14u$}y+G-u zS)V}ZWqFANDe(pBKGTg5;#+;mOjMjGNn2@ zY)-&zFk({Ozy(B5N3)q%7pi6o?X*QfR-0~K0CFI@ba6n8MM+e)-GomRk8g1#jI*Q4 zngLWG!GT$8M5XA7S)Xde4pm(tojO0Gu4AKm8l9Q<@0XZsv{ZH=^z-oc|7`=Ct%;1RBD~hP!*Mb zTKTN>ROWYPq^HaULo}XQ4mS}UjezG$@llj$*F}44t!uZ z)zqFa$mtg83P8sOj6HcX3;9DLrnlatS}Q-tbgD+~KkfOv$j~SO~y? zv>dTP^ZCmKp=P3RxynTODfxVm)M`FuHjXavxPHueUFZCIQY%OM|C>pzyz~AGNv(?H zN}rs8+x1ziSPzpw9KT+l^~GeMgF|zDR@SF!ebzYZ)7&pSKK5lkr_Y`o`>?rEihx#z z)T#+JysBExhKMB3MZFMN8b&%=55<$aZnjx3Zi z`;mp12qZAY_v7C)pv1+O1w$xTOPMDKscBkMg2nCRs2VM6A}VDTsbnjgD9lzCM6^ie zDN~x^b}6%~rVA370n2=Mp_I9DrV|r?8Vn51=tqzjdbj$|DgsL zgM{NUSTnoOU%>mrT=9%{kCNmZK5*D9%i2Od--(nf@FFrnxt?L`v~y;GyruCR0TrdJJXO) zD3r3C&!~>x()LT98PTU+xaWZ9+S(iKH{jrhK=D8&r(R+f3VkGFCeEAT8ZPC$l#cq!hQK+Mr-IpUf zg$Vl;s4!R>h@HdA%2h7ho~JHnNI!wSDOz;`0J<7$6aczZ zgj&8yeaW%HgwXp9iaHU{Rhae|`GXAogpdVEnWdw;*Yql;AJIor`Ux>cr0!hz`gVYI z|J>bLMfV=)grIxAE(D~XnEgu!{4l|u9f0l2&`*psSgO)NlsNC)L2Z{xKUH{Bc_S0r zb`Jm43QD4%V4)78FI-bm2i19oenOh2DE-9TL_xV+@5|~GnT8@mKOq`cnry5J^G)IM3Vy4bH4z0?`{i9}y?C;dcG zI+aK1Czv)AtWKq$nB3sVHbMG{_6x#Rvj9D%&`(GMH)X47pC^DW6WNJP`ea$}RoGbnYuPF#QC|zcKy9l+HSK`rY&s zIO$FHB>jY0{a>M<&<&tLR$Ec98~sGv1b-O)1Z>bf=qCn4WBMrlM8t;+)3q1He8cLDCi|Hq-Jo^ju6P1NGXM_!%|n{6W3n`8vN0pJfd{5aj6|f4wq6mjWf3JU{Y^|Owakw>T#MyBHYgGCJvg$ z(J(|r&$v*y$kUK^5nE{#XR7{*Z~{uEMdHo1uw?XE#H3x2_%PM9BJwHgzDf#TYpKwr z#M&*5noOcc8?RQ*AtuN7X*!mpQu+uM@`6^u~ilHEa1kDI4 zL>{z0cx7AHGuWF-Y5m?wUH6%D#Ck|uLX+`YGFej2v)qg61I0~nBCv-z{Uj-R4DBwy zp$rNqUN8W;(7bzsA9Q6|3TU`i&vk|$az(@deS}5iiX@C}4^T@L1vO}hUT`fnP!#wr z2`0TTLS8>Z7V79>tmpJ1<4JVV2MxR`DFA{B)Pmd=8`dNV%Epxg7$^@ArK?DigtON| zAe4;OOkr}!ajE}Qm8n#|Yo_FtFOKL;4TZKRrm8SsIfgUio8Cu3P>enn+UCji0`Nyu z_w|DH-E5FQqao(?FC5a?(Dg7dKaIT9)7m-rkWZ6zF}Nh3#*_Lw0|?WqUdJW5Jood$ z`+PoFy`2t|y@eW6E3IP82O32y`>{ugrW3 zBBY*GeRrcu&Ld_XDIU;9A6JV9Bsu+9l^iz9@>Oz_GRMOYiw9==Q_#LrpLn%+fcuA7 zb>$-#KT)Q|1B6%^8~_SG08Tw$(3_$x@s%n$Nn6f7OAJ+Vl3CrON^bi~M1blh!YVmQ zVMkSREb1;4^eXAM1TWR3NDxVN2fl7VEFSQS`7u?so*!RcqpF(drmA|h&dI1MNeFyD zRb^W3%5y_irLA^FRVBZe7w3w4RRx`PcTrW+RO+It@~m3Vswy@zOdkDFRV965A5~S- zX!nY$s{VLmK**nRh!s;Ys?2vwDu0K2Fv?X!DBRcY9UiKD)(s>Xvslh51( zdz#QKX4e1VZFa}`V>!Oc@UQbQ?kfi$KI-^7o4kpB`9UYa-@6NX8P9XOpf_{2rF!nV z8gd=aK!LZ%K}SFuPs`guL9cIMd#j*VLJnNe`}+^N_Cj*d4IT&vIdVPdn(F>?L9ZTk z$vv^U%zD)T?&>7^f%(4GI_gN`>*0kp<51-;y8ln=UrUhpLc-L!>J>-(UK zhNnt5upM&vKJofs4&OIW`i=eMvp#L-e)2=DLUd>1bRakJxOy0c;aqTgNp9kC^I_PR zAWnyJjMIhh^WaLF4;!uSY*E^R-oXi#j~<&_vblu)IN z$?Gt`zMuTC3?KP;v<;}#zuHeefB{Na2?}~=DIXO}vq|R464Otk;wA;&Hdz|px5`4pXlAL_mhVMNDF#X`-L{t z6F8t(`pIwadVfFp*-8ZOL;d7QIB4f;?I+)g{q%&++PQjrvDAk8Z|f(2q*~cJJv^%n zenUTbL1td>CoeV9YU6m2*RK8K8O88;Klw)sdL=FJ>kE1x?I$nlLcUSz|M45|=_kKr zE9s(s@}koB>nAUP1L!Be$xJ`_d1RUFk|+AfZ%b&8e)7Jc7okqRpjXOwrJuauB@r0+ z#eVWK6aeHL>9WD?Q?!(*pS(Q2x_JVVN<3;K(}G?)bwI+FLHDYD^1h(=dO!J0r~5DL zCx5-5muKYjLH>y>jGj;1uHG@ax1d*Gu-6NEnN3lC)nnOg6CD{;u_CS%^s4z0bV{=Q zFJNpU3g5KupUoYr|Ir6mdwxCzT z*xOWuHNHAcL7DH%3VQF`r0Zr098Ahtvb|4JSt_HUj!`UK)bUgpb0~!S6+ssXcZ_`J zg9@9D^OScSo&|mFJX{e@dO%{wowaF%K_VRkC6iQSGBCirt6`1AArTvj(bl5O?+`Z; zjY2?hLaC^5WCzXWhybeuv#B8)xf_K=m9chQ6^*TtF^zfYU`RxG-&#ec zm;l5XBKuj+nVBEmQ%^jNaBG}ga|wB#JD!AC;!2@*GaO!8>@Jz?JoxVp zq$rXN;Y8<;R;B_8y!K#`B^eVo+w{;kzvvA^{D6U%j+y?fTfbeHeD#woVl(@|hSA3I z?)H8#4Dw<>Z%`r_mIYm8MV{@7#5&W%5}SNFebZyw!w{!9$^uxUXt*srNp^|jP5MLr z$5AUhrrCac_;lVSIv$`# zOC;6rh|xt?;e3{}T_jj8$%7H}-Be|U)lr((123!1z2`pCWofV^!QS&8OOJzu+#)g^ zh4;Mf4O?mHU}?Cq#9hn0?lIJiO3C$Sy`+1KEc=N(z~0ZOvA%*Xu4s8=Z=Ya5UYmA~ zv=mL-?t;RBh2@FPes$$l4@R`IB zl3J|dC?y@_pC=wb{1DW26T926u}ksK#YTgy6C$J}9soBeY_?YoL>;0mWjCOR`&SS^ zY-TMVP-S7%U=A#OhzDz5V2*wEmd#L!#U<@m8Ay(W;i@>Xh+KUj5h+BaWoU4Xi;(Y3 zn#x~111c2H%j-%^mp|SP62ll^ajfoK!EEqM!tAQM!HO%Odqz^l$(58}uy-Cf$A|K9 zq9$A39?IrqI5V?2>rzF|L*Xs=_E2tmC=-j{9?I#jw})ch<5A5vmUA*^&xkHAQ61j| z+l`}jeF(}%6FBjJ;F3?`52$fyoO)--8tOuKikl#e(NeltoIz@Uf=2A@PxDujA2R#B z-GqS3rUNEebsB8c(-f3wfT`5DZjYewD1p)kWdKIjwlJcefUa?ZV@c!1Jk=&D8b-bo zAaK3#W-QX28L8!q`yj;w1DZWR)fja~i8$`Yh+xvH^gz>_ztrE?<8r`34tf+O{+?i$ zm@y7~X>)8VPY=9#^6~pVNJI3Pg@B!fL2fnNi~C8ei85Ow6@JmkCJ5&IQRP^Yv_yD` z*|(Bm`;^(Y{l;yxPY_IC_7V1@7ls@TOq2WYd|+D2T4#Q=GyBBD1^~Ade*dk3>6ye> zlw!<20?hS;_8GBe-|Rnt=K7-9m&rH74|uKFH`9xKSF?|oE>tTSvrj6)t=Y#BqaF*t z!R+JVcv!O?eq(FHx0~5FX~%`=h%nNs3ICMyIJZsg*0M$bi2TW(rtcHW2%N8zdNARq% zn?Zgq$o#4lMJ@zb!+0M|G1{Yn5Y`Ra7GAh#Cc4y*@%Vu0aNv)J!)0BUr;E^`5eeFf z!{cVG{Esx1`iY1v&n_OxFIri&5p!lDkF zGy>jb8l7mF=v_LbSDX|!+sqt~#NJApKsZ zi!yaaQ3yN*DpL3iQ(&G3TAM`*HgX#2gOQLE^NvHN!5W~8sn)`eBs!_lfd@JReXodW zrnl>$UPQk{;baJ(k<5|NnEOM_rd5hMo^(k-?_7;U^N9y9WnGd61BXa7fz11?WIQ$! z%@>9)i6F>rB$^m7pLR(`q1BoB(f7C{O7#lGrz|@U+3GG$J_mWXOA=6fV-#V9dsiQc zQ<2QP6K#>`k;I=M-OD8zXs&hXa3q?2m!z%9z$GDar!7oHZ}SqD#P}cAeUidNwVUV4 zqyT-OaC#(FGd{_{YxkS_By}?^^Fg&8wA^%1ZC^INm>||@UR~GY;6#OXPKSMN0s{_3 z0n!GebCn~D$!Ee$2pgn12rw#sWQ~FcLEPGasblG6K=|ubX*GR&R&iFgHD#m|+M?T3 z#6o;8gqB27n`-bO(_peAnT-%(rs9gsq$+%}x%WDx_syy(Hj?;pR~G-n`)d(K-5t^C zz={Ga8D1!*OrHSZkorJXBvM3(IgCNNfvUoS!b?D>w~D6rg0{c%D9f2E*_Dw60qYs= zRr7)isd}iSf~?Y{_j(Txj(0E9yHN;bf|^m1s=!Hh^>+Mq7M(6swVE(udT$k-t!BOu z)xkjgiDs}6>g5h&--kiRud`sXOw_kM_$ezNMtJX@7WceLhV=U<0q(|r6p~)Re*E$z z05?!E^K0`wOrG5%_^Kw7xg>xD*0Wz+U~$9Z0*kx(I^Qh`kT%iZiT&6s3BdhVbVgkg zK&TKiFA19jm|<|eO>D3qOz*0ucgNU|+5gav2KQ2gqHD(_z#5(Xp->tpndC7$ev>+W zl^@a}P#bz$G?xlQGhao<1QRx(Xes`=SO8avlo^c)wJ*?^&_NJtoXW3K{bzJ1q6fBi zW;o`BZ=v$=btlSB89`xO0CuPBM5;U&XOSM8s)@q!vL571THer#UG8xj+KeOL&GN>P*NGo&=a2N zN;THv#BnSXRidLHYjH^Qb*iJDvleqZFX!O7rf`vBJh8Pn!tPgTqFw{K08x}=VZFp! zgg!ELZEfwoMt%vWrMj-NHZ*b|MrB0=7sn!ckE7Pu5LpKtr9)!_pmeK!yR&`AtUx_> zG8+dkgC`?SK0E6W*NIXTgGH=1VPM0WqjQoFFQDG=lr8e%$(fk}@wy3P_E_n!gzSnT zTRFgNz!hK^U{OxG7tqBjxermoQ5)tM4A%bD%pQhKs)J*p4_6snX>vj^8b}eWupXe} zo`a_c4I&_ti4Jw*emQ2j_Q0#yV?PNP8}6FcV?wJ&>!^6Wqam+8&Q`(KBa%+@RVvfN z2+(ziyeKlAW$`k#U-aoH6}_S$Kv9@F=em8-yJG9VFFw|a$&jFg%;@pOiH79w1(wen z2@S4$M_(hVs^qZ%-y8>k-J8!JSN$6f`&o|%-Izf@tLWP$x8Kn5cdfKL15v{E+uC?k zF|SIpJfo7Ext9d&H>?y(-2CpmHB<~dv4N8{1dZ~HxVk5yJGV&iAqN^7N0$2$>0UE2 z+5lwh7f&B7F{>l-D0hc?A3)?gg8I5gdIEbh;lUz$%%VB`lGHFi=_O(+N>T&~xK#z@ zp?D614bo#lD5mgSP%ssr2`JiLrwbcg>S_Wo!@!U2u%r*(aEe}Aj|2GXsP%LST8rc6 z5LR7W6LL20C`uAz*(6 z7OC?m2Kp)^a|P+vpD13V8l;CSo_78OuO~IyjX$A*KeVeJ? zce1(YRWQ!-F|VR<1};LrT<|LTpm%W}V2|wW&at?oTg|X7sUtDc`OkdnRx^wrM3k8 zwFKPf_Qh{adpr6hy7y!00H`;VMkU0n(;Y<8s^Y>w-v=}~b_+)p$f&=asooPnuoQo( zLn`!m7UsxE!<&lxpqS{Yk1>rAEY`7F+1rf^wxr9#J^ixrVDt>T;PAgyX)s^-Bxfa` zWUpd`@wPdd`>!nxUimfu1kOrP@5WCr>GB7B-_l^7-9LyCM#BO_qG$F5!}oCmylFp1 znBhozaEv(~O|bc6I-6im*FduO6NlX<*c;j)ar<ZZWpYI;9y!}Ve+X#DA)U>okH<(&(mUv?F}luIFl^FnUgJBG zTv5&@Aq;(i~s#+aL{E1i*RKg4q0}{@j-#(T<XO=Q{Az+w7kPzsw?h!Qm%E*Tds~d-R z;1|3W{IC=Kh_abK=IPww^UXu>hw%_-W79VeLE6{5n2w(5d0V`KhX84dzwjaQKR0*? zJWVplcH|)#rsc4qH+s(fD+hzfZXcEo#>VX*UpgqwuubV;AO%EsAD}x>+Y$SHrusW110V-6jXyhJn)6425Q+vPy;2;#TqE#IvV*iObry= zyYiP{4V3hvE!n?w^+Zmyc*XM0v-r*vc(#l9*#cWwq{Kj83Pl<2&5k;0R+!Hoq z3^>A(Y+wa9%m6@CZH3b94J*(eZKGNNP_6?leR_4ZRe+d_2x_2YCr+^3G=Q}@k*4WZ zh?nR=qv4T4qiSlPU~xn>P<6Q|(^Q@n3WihBGuvC48YqajwB3L_Q;QQ#)elzSGn$Hd zcF%1;H>j9zTU~3Q+}U!YpWEXwmp#4L`LL0X3vqh7>rsGAxVP((xK6r@-d&ISWDsB z$jG#)O9@hryy;FEEP4F%n+s=xe72CFLTPw~lwryK0w(YFgwrv|H-+!Oy+0VhnzL@En z?&_)TzL=Sws(N2_6pG2j=y~&z?3?gpwQGA2O+L*Q7zw&z39N zaOK%&nsCrvd@_eSPI{VfSjXVco)S_y(~hLU*Q=OKeQgxiTubI+MJ#Mz?6|T@IkdV% zVRl&iHgyUVs741b^I}BM6m8!{W7EF3w!m)tZLkwQXM#8mJ8*$c z#`yIOtmP~@uNDUWfmIOYdI zF;e@k^k|}Wer*QHt+=g)4ij!x|Dn$;(~lyiOsv_@@cO5AI~$Jh=frPR>hm!e4nygd zjw-y)TOBQ;PCANtEZC9=`K(TZ8A6Md5=UQvd23p5kEcDC{A}PIIXVDk@akr8RSbHX zY_#MQIHgxo5|tl=nXlCjF0k+PgcZndZzY2w)zs)AYoH{`6F4iVZZycwC2X4GT8pkZGt7KMdefD-L2XughD}@|soCB{zf7>gE193tPnVe48fzqDH z!chlurs|BD2{xrm8M1a2KqH!=28Wqa5`(e%rUTvEef|#kh|CDz1_4jdXFVm|^w^}FD#Y{2WZ^8$a z>XNImYGE7~%bK?{!3r*cnXygz(5I5ub(8rl{wU|NnxCz=2OXDmhHPSsGPf!`-b8T` z`JD9{IhCORT!W?8ND70JZUE`Dexhtg=C5P<$>K#1Eem%qc+Nixb6*m6g0Hza2bFR1 zclCIqn!|zj-a3h#J**2gOA1r)FM7YIggUxd7Z83~agHE}_0{v(QHf1D^(rMX@MuNk z+bfOJ^cCoF;_7$<+Ct(jSL&3Vi8lw^ksZ7x^dy#-n$H2?1?;h4VfE+D$g@Ahr5hkH z1_xLGpf{2Dw}pS6>4J`k{*dKB0Y3ya^7r1j{Tw_Va@AiOZ(HFx26AMdt+_)K3CoU6 z$PyJwyNq-W*!81JJLrKJnu39}K|~0BzY_d~vz~Vfzp)$%G#AgN1>dcLQFpkxtAeR2 zZgTpXa0W{PK<||5>a=GC)0on>#0MV7BZ^|b#neJKVezU}%{LWKZp@thUe9yQoM$#4 zG3&TG3)Xh&jh(Sxowh0w?9@WPCeLoJ4V^U*GQj3AC(dzbA;G0w>Plg@oCKrr%uj>Au^I*i&DdZ0WMl z=S9UQUIl`+qQ|!LA)?20;F4t(H49nX6PnLnlbmZARy1cXLX)ppQ-48(@{Y20DaqBL z&n*C*pKp=HM_C&36I8uoL@1;7i5GQG@SD9b4tx|an*4O z7JFgUi2o==SY^v+90a|#@CM-Gd~+di^s?-S4Rj^RI zfIT+rLKmb^lPTDdm+iR&Eo3rvNrl1{0G-)LngcyHdvJg}O3k@v?m?G&fGt!Mpln3u z=|Kn(y;BBwR1oGhKVmeNL{HZMF<_nug7xZxKNcY4s4!X=8VN~s<5Tl_VsLm~P3tz9 zS_*V|m@#1j2vpuQ6zH=+EO9b{7S0i}=j~~&f9K`be&Vj7LY+DD+55*ZB}9)#k)7A_ zpb2zIa=3smtmpg@?79R;UZ7sjzhi66+sgAi&d$@5>F2z|0eWmd^}eyDa=#BcW`90+ zxpqD9QH@A)O}dGVK;a^P^DYRwnD~&oQcwN%7Kh$e?7tk|QtW3_zoy*1jzLKw$~J-* z&syM?dWk`qEBdMYk+KVdOtBDPZOnIGxux9PTT=&qt#eXlBI8uRG3i-^?82nu1rpfY z!qMw<_(|<9&ELTrt>9 zM1Pv3rP9LoyTt*Ze90nDoCjf4#oq$=dm9j%X4E|`=?b^ zTU1H`a$I^7V_4L!T8LLeuY6pxVR?Qs`H>RmmR|0#Q4KQVttE9%Y+hxhyt^kuYV1$^ z_8{z!_6}tieSkyMfX62`C>X307W=`Zi49#$akl0!@;cXzm%C8vA*$IeqdF$YVLpfg zIR@Sg))clQ1iMWb7Da^OhmwWy4`bzN=-40(1r*u+Ujumb*Tsz}IrHF!*=VD0xxKi( z>OwA^e;WsNHzIc?I5iG%-@t|-efx3l5ScRLZJijzRK0GZ4j#D+&4o=AjB}Fb%1698 z#dY`u8+Q3VgViafWbz8CvFm&%XLVO#6Fy17o$ zK&SK+u&gni^Hm5nVW)5pJ1df z36?LSbio!rtILT2&j!ACxUTZR-XRMi))QXzoOY+G(fJG|v9q*s6%z z0u>lhkp5_;j{Jsw|HIq8fA5V6GBMEQjfqvZ()CW42SxpD_n zsB7=nb^Jzm($^}$aRu`Wr(c5(cjia=Z^N|mD$+{VbwK+i`x~9gR~vucPZx!0*Yl1% zmjMKC%m{wjNGBTZf!#q@A*3|jSXf0fxu5LIZdm+a!s8b`Z_F_!uPDd{MtS-I6!YQl z`0~K)%vv9DTa?$O%~r_*@=DBdgr9T9{EKusg3hkQ^E8Rq-sQv#YO5rQ?`KbX=7Fuy z?fXxYebu|3Dx`YfpICJ~9cZ0PHD@Fs=WkI}NM9@JCH|5#15WGDQ?%5TgHvl`z<$|Hi^xFS=LSAlZCgl}BMZSe{Eb+!r9D+Zau*j^;M9jZ_1* z>i)rPA*0Wo*#F_%;nD;6IF-0S0s@Wi$Wb0i;(z#@miV^1LV-HtGa4o5# z@$taS&)m|OXqXa{2>$8sC(Fpsa?giv$vYjrGKipRcvRlIW7nAx+hKK@Zf04 zrnPDq79;cjlKXwG9-^H6I7K}O`tPx7)`;h^r|a{5U4QHAeG*43pWvb7V2Oz3*o!M^ zPj0nkX>PaX8kMe);QO8+v8P)<{hwW7{-k5~jerHjKhq19Hb1=vEITSA)u1%>xWF(~ zCR(NKzn$fSD}S{0Xt0P9)!^P&FJJu8Z_cM16T0xFs!JLh)y|I9{IHTJe~0Lx>xTI} zaLn4SgJjR(o9OsLCPrm|p~Z>l`NTnu)sXxna^WpQ(4$=gM@WLc-r*alV!ZD=AqUY% zFKkGe@1Jzvza=-u#;W2ml97VDtO*mLo(5T95n$aRi8IL;C%E4 zo_j?>!uUOl6nJUr5fhB9xW~0pX@je09*`z&VWAGgN-bZ&mgKG)Ct-npb|`Q;5zy`j zr_SDdH6EFJ*-tbzJVR0ebsZ zaM=pCrCskI<>X>Yy`PiMuMQdet6XQj{^e{_G%q<4rk_=)O3H;Gps8GO9(I+Jlx_%b zG|;eJ0W}E#4R!Jmc!4x~t^niIgP)~VGVwbHLZ}i5Np_V-qMX?Z^k6MzHctfiY^8wK zvd=mQ;>ITv#mmT8t`V3X2Ob8VRPA)u!*xQqv83P;sm3NcHcbE%kRm&DqnimLfugqF zKbs~tvcsUG#Nf^XkV|-z`ums0?9W4ho@HMp+y|7^?>?xAokKBGjDW7hWM7)gY{Zk> zT9oGs3@s?QP2~c)y38p8BR|Tsd7$4n>l0CLw|TiakxhL|vnLQJS4ZLUvnNh?x!v&# z(^f{U5zf%jU6`bzy2S`;6C+dDwoNFwONKt~FAqdLAAc@}E#9-&M)lq;q4KjYnljm& z65#>ka%Ly~+13hCu57Xu-#splDz-6AiI#V<7bZqAW)CoHqoV%u>!Xn<|MU$h=)aQ0 zNPRg)d%oTpvp0O1sQvJB0}x|LPY5coPn`L4E_o}OfeM?CN8hIiNYy*#NE%aPbJBEP z4}L}0Y=Npb>sz=82mMvnexqDXLO6Ycjm_dF1*6WlR!|srTif(RS___mDj6vPgdt`c z?=`1ytst&oX|dl}a2I!c-EE}Iu1o~#wdgjLF<9H;SigRDJ>lfNEth;2*jqp@TX1j|GPm2nBkRTYx*G7-%@;H|sktVcoOs zJdovl%mz5A`}nxr8|%39EHb)0DP{xw(YX%70f!WnBlz)D48rQ_K89}r)Yr5yc1YEo z;0`+d$+>wQ?RP``-iyh;{T<(8>OPwWn00t`;(CWkOa3o+?a+Cjt|n`24!1KH*9mrx zNU;b&9x%E(%u?2U7~GPahR%rrd%(r2brqHjq?0o-a|tLyj=fSllRml!Xp(|RvKA00 z`jzG8l-8Hrz^fzkj!Wk)b-wmx=Xs84>G}U^^*a7VspB`gm9+6m7e6Od zZbFD2mf3X1hDfJhH-Q>5qkhh`H&Gd-tgoE2$A{BRCVY-bdV9EsHK^)98 z51EBGqOnp}ApNBaQf=dekNR8dL%F>)gwei|7iUg8=HhiZR*EI9dz5ZiVBcfiM)gxy!p;^G zn9hkx;K`WIannnP?2+;k>B&T?g0drfiJ9%KGBbxOg|MZg+-rd8dq3ndcyz(Zn9a@? zdT}gZM8e-|Cd0yMXA+p22}M=FGcd3H@ea^#v82aFoy8MLs-IhsX_8zz|7e8-#Y;>o z-?7%N2cNP-MQ2lFTZ&1kL&Jew611j(%5#brMH(_ovT7n#opx}P2yNdDJBFhX#G)qs zElMjhqlaltr?_87DPzkaJj^m@(}U;PM898baL9xh76jQUgCBf51{f zxn={^W|k6om>Skx0crTmnSM6u15N#~@}PrDIn0JSo4BAx_(s|z!bZWzTpCfaj=|8n zvQ9L6pFz-*Pmc3S0vR*bxZBM6yDB&8nKSdf2Q=X~;HYnMic8+8zZT1D^P&YZRcRU+ zD`_kew?J`2F&=1+#lz}k3M;rEyaxOKSPCl38wjF8U^FT#Cr&CNIs_S}ODOPTch=^i zpU!sgEON+=)%!zc;aAn=O=3||1C!l=naAfXS3V9h-`Pp8@ zIbe;t^tYIhVdV*H2Up1$`k>xE^%+Zeodv?*oMJZCwz!F3VFkbgJ&Vl-$ZpG>%y&OQrZfgK?Y zFAy5_r$g{}YWh>offp=)jSS7;{-8Zt|3zOk=*2yTO_-2hf$YOIn74s$|B)z>v=~vL z@^CbKr&aVsA+0c{&(08VHj6`$Rg5@0f(RbQO9T#N%>DjFdM_h8v&8rDY%(Z$P0#pQ zDM9u&zQQAwB>u2iWctjxI)a;cYMDx^8j0H{tB7{w)^cQ?l;P(ne-49MSf=cPX@U}= zkTZ+n#-HLdK{XkX%cTAC2lz>96#o*2>o}_%nKJ1{#nJ(?=!icKTp2bL;BtFz6Tv1p z4o1Psn_qiYF^S8?$qm78#t%#$n9dR2b2}qQQVJopBk3rPejbD%;oT2ZrAor7TFcnL zpjN)Zw$7Q?k1<%#IOSG^=$ONZM|2|-QdaSXwo{S^K%DzvGuYmh1F zVBR;YNQY~2;HbRjS+`&aY@zsxv^lXZsG=-)mc5j^VH%>LX$-@W@20E>hvcHv+#Ll3 z=&C-CuXGz2YKn{1ITBDc5#?jhojm$LoE+-zu{3=G102Ph?tWZEVz0#=OmNiQNHu;C zhLTERCIOm(KBiE2=oaG^$53c8&W(o)RT}OSM<|q?TD7pso&F5!-1;bkvqN7Ln2mTh zKJY>m&+2&&VK9D>E3@~R(Ty8-psnusmET_>_~g2DVP@q1l@%oF0~uj-5I(CUL)xNT z`3179y&fr&jH`^Rdo6?RIdF!Krvl6r`7z7>IatD@_Cm;g=+s*LX4>ZI!AZM91li;h z3P57V&55ROX_zeuwj|s2g&!jWCH&(JQ`j&@!QmX>`Mg`hmVG5z8~FJh%;E%U_*50> zD{6DC^M}h;;ME<3fYW_se(BEWg2o0f#2tPbp=04gL!ZRi3MXZ@LUr>w#gIY<4^M5= zhXl=0F?uq`x>;##?U*&k3Fv6OY^@M%gZ>j6n8{{Tqs3vdn)x;cFv-H@vayik=q=I` z&_!SC2aj;V_?Z*hJ9n*LrVn(E1_X>A$z9(uSU6qA0@e>PcknD8<5=QKkx|WgsUyHJ zP%|g0;JzxB1yNh%kSUxiGDFt2WU#AZY^S>YCq-bYh7V^FwCVyY;Z}t$lz@bx2+hj= zlf^beEH@jNx5n9yBxl@;zhm#ex=4yAf0qFnRVmdG@}&P(;RO}s6PMd0w@&DS-if)@ zCQ#pM1H`EjS1&o}o}TiFi`dnaV>FZhvvGEb?_#(GVr6c|jW7xBqTd4wo>7=7tSR@` zZkw@Ms1x_ZC6K)%(sXjozO$s|Z_UKT@berZ%hAd>#xixgztKLAg+PWdi%ptJNqT!K2Ccj-M{yYL2 z*qbT6y;Z36YZ6)s#nELWd?-p{v4SQh1uS=)MH`Uud*iOh74_v-Q6S@`f*1;o-n78> zaLDDK7z`5lNcX_)UuaGc#@L%UB2fa3`cg;S$>l zq(gv4J8!65EDFP0nbiKS50IQLUXCb1^icmM6=Ff_W!u`;7uAaLAieiR z#T1Q+gOI=e%ZU+JAp#TDR>0@e}%F)pSB(%CwL7b0kIXifQg{IQ9en zL!x{Ap_<^g6kOonCCr!jnI$wb`3MSf^pdsM3CG8$I}%KI@4?suDT4=+#0<$0s*`R% zTnCT-Sd+LZlD^o55}lT-cl}0GaHN;`TAazQg~Uj;U;;^0WS_t16)dkG^79l`1+*8B zx!2-KSgMfG!33PYgD2xC#(hW+N9zd6WDX`{RiL8`z7hx|xwK#6WfS7DKF2>K#w=d_ zeN60~_j}z`!}$i#b8=O~W4u{f5hTVnC0Z8P

    yzv8cJ%{DzvzG^6_upkSHsgGgBE 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�@+Q?A zPibK6k?nrHS`94`^kJeWFWw9v-%g^smaacfdey^<6br&*qJ3Ni-hgZ?^ulm~9DOxbI1S)&plgSHZU_dsCF^YkTJ@*E{wtEAqq{ zODN01k3%*YLaRmRTa^TKHDw2t7v=p{K~POLlJ5=G2oM@iY`t5-6=}HK5{e9t8Vrko zhn%0sVy~KUV;vxYjaR9Y9(fZd^Z#l1ORR-Zr666Oi}H$THtillQC<8NQ{zP_c)1-vE5v7{M{fr zCBlxz{#m;y>;FPdRdl=E@OOcli^N!d zSdE4w!yi-Set6*yw6*^Em9%blR2MU3jWA@*_~Cy)SfjQ&V#wPad@p>ajxuCvr8S$F zjE>&@_ldSMM0=FAp+89yCvR8b>|pyX_I)%Tdv*8o{^a-le$)G%r{9h!tuqV*#S2BtC)BB@-TlYA$oPM|2_o9#0C`lF91!?EK!$b1J+#9pz zE1@T17j1HX>2=%l!W(9dThs)v&L_Ju_Mffp%KNE(Gk@ObbIny`{XJIde8@$6o(ATX zEnTNYL!oVeZ1+RF+^^qHVM%6-%}nY7j^Ylzo#|C!`&FS@ClqXB7yX)ZuvmNV->u&I zFH%0(vmSO$wl(wCWy}}4nwtC6d$F}=XYK6z#{*E(Mi(E4LUGWoWd_|WY>TtomMC*l zr6jVTkhN-`X9xdq3oqA8Cn(G7#*mf0%fw~dnF)R|`T7V`sKCbC$IBYrk68M&R>ko$ zACB4!ZEghVx69NGZARYnua(`9EQ>rXYgDoBE+q* zGowmp^$8f*NMrBz;4JLp#R5ZsucZ0?hXu6>YiJTphx0W{XMyCU%=r+3YgOQT*PfY; z91ejyIqmJz2j)>4L8{HzBGuq8!S(CZ2S$(oN?b7M)tq@4%FK!#!$njqLay|=wh)up z%yM4{IkNMAXYXxF%^Q$js-nfb!iW>20`r#K6gsE|7wCSW{W+XtU!A|Ui_SM``8afE zFe-8xNIlx(*cRmtzx)M+e|1R<|M{fZW&6}Gx+v#ZWZu&03O{^{=m>v^O%{HAdoOjf zwb%;Tcpa53-|5oDpjX?e##&*{{-X$o@+t-U% zFYUow8Z|AQmCaD-spt&}CC9An{ocQ>$+g&w`VyW)v$28j&gh>2@J30BLMqpDE&9AFhJ) z&IgIgA@3g3kA;!VLT}^CTtHO?sY(3rZvurIE+95Lkx+cZz0wB*Gjsl!i3{$ItqcRh z3Ji|cC0X=DMPD#PE^a7JWb-g_a{4FbP|RwSv8~v&rD}72`bjtX@uBa@ScT40E6M0} z;ofu+2(-XAQ-XGo!Eo3AS*0Y(5)flf3IsZnX-aHh(nI%oTdUqW!f(*~#4+gm-(MT1 z%yXLPU!kP?h@6?bMe_T7Z|xnDFaRYHoQv^D_KZDQ4Ln7O|s0p8Ht!8 z*mPl301pF)_C4Lvy8fw`J0`N4JJq-w3^hV;$TS81rM)hVbr{tp8%XMMs9rt6@yogi~?vD3Kt>>4>m2&QVi^kxwye?mL#wiZyn81=UX6eEB{wfOi*D zJb3Yt(UJJ<84b`BWkKVJgyW!HZ0*W{aiLL&*Sa>dn`9G(K>nu}7V}F=kXmCyk_ki0 z`;&ED$*#8PF!^tL8BKBD1Arw;Krn{mF zfC}B@wNX;paWC!2?d9nL9`DLsg}-ZKm&EIl_#MJTemOyP#=lTE;=Z z{J*AX%8eIu-1q=}wJ3g!<;E-xk~i^i)xBAqsK`&VJNY@dL)G z-zatVev;zAM320MH_F3 zwYxROmzmvlmghcvD*v0@GH^%RE5uLR(kr<#WzVu7+zPiRr{~7DX?(+e+ZmS4&io+3 z7puW-$tMUOx9srYu%7W_9RNq(1?UzdGmMfLlmJ1gvygzl1S5RP6Y1pMC3H=yRBTB{ zjH$6IEKj(ES8)Q6O^aNRMRbZj6^IyKWy~9y;D%Bn6Ii6+kRsVRQe;74bLRTmszHh|G#wyg2iimr zl(Ew2w0U=;9iG0`*wqZmCb2gXJ@7{~ty5;NtLvhf892LNGIt+ZDvw=s%X)dALH}sB zy<8$j+2w2D<9!e-2d*Mo;v)p@uK`CY&|-B?9SP6yMAf-lNIBR#GEf*D_PqdAb#gcVDi(ku1V$uV|I!33n5{ z=a#EGmX3&&r#YX5lw;-*1$&AijY&Fd2zOsXRVvFA>D_<#6lB=rjI*7mbfhcPnRND3 zW{7u-UK($spOc?hApElo@g%2|j>?K9_WF0z3;Cqga^;0U=vm1=XMBbRy#Y&oE|>F{ z14IU7KXCPrX{(|;0rCWVKMG07VI-Oc8u(qn{Xb+c>I?`+q&(3}p&?|iD4!OV#;;GC zhpp9ITN~w^l19Wo*-|rk@hD$PtbXp38dF zH+>Bx*iFCpW%07%&lpBq7xA*IZtbHz46Y`DyE4YVF1nerJq!c!X6yY-pvyf=LGiK{ zd15_PUA9{a#PG&0B*7-7eGGo9Iyz|t z>cKJiH`l`sWLe*zZZ|2yG5m9SPGNp!N1x9+eg3gC&dII=omwuhDhEgt&T%s39i@4c zB|Mu%KgxFcjBd(0}I~K<{Q0MMAkIm&-#TV_?g0;U_2l_{Cup{{0<8*#2_stTgT^BF$UGhm`bAHON z8U!=A)dYkYD`$)2-baKg@;{?~yq_~!>H~phJ!)s@*7G|#Y&vK4y@Hc>$a;qM5J6)BM0H_$!tQ=m%UrJ~}3X&&I zLhIZK;0;7%-Xy+RGG1A+58Co4Uy5_%Z+BBP@c5SM!Gx}4{ioY5Oz*MPvYy6dwAmF@ z+-tgn>~SZoHh;F>ZFyog%R-}OCC``)tLNpaFwopG06w%dphrH`TeDIly!IU7Q&+?? zDjbZKd8>zwGDpH`vg|0K8B%SWB4mK&qp1IK3S5@y$-?rx3-n6Bx}&M1;@|JP3OCgiQro>B?S_)bTA@9B$@(1 z{Y$IhJQi716XGnMFBX1?2}z{t>q{DQb2X81Sduu*4#bM@vS-Ub64mVf%)c4_DrdV- z$e{NTQNG)_V&e4*+9AJi+8z|NIJRD2OWxQ|5uM`|+#AJ4<}Ok|h(HV6S>EmxsM7X% z{{a+Ur(~QogHwHFH{992=go6+zkF4&18st%%X*Z^z`}&a?*VTYmWq*-`AF*|o}Kxm z98WbbvVw3(0C=+dCu(D==jIE)iq3P78ISoT(9A zCY6-5siiW(0YVS_DGc$ORg1r0JR_;m@(<5gheYyD3S=04D_LUBRkKJ%FFx_~L0wfF8%o;@J zFjmZ3XS_bMCJYu1^`c_^>cM}mRgF}f^!v);!G+gTU+!ojZLc~?L)}Tf)A+)xVY9}d zUBcrOGZ0?!q?z=Njyv??Ld4NFPYA7tXgGQ6Cm`pJA1Pd=-UR&zDelk7-YwfeL`Wk#X?6L?P#%0_bt^UG8#3Tsmq^^}38h17aV0c(F#9=8w zVFt&Xcw(r{UdWF?A9e|-?PEOyZ`w5QYl+cVo&~+z=mPX~*gz=4ja^*-ekvrXvZ=-? zLH61b$0@8v-4JN#zz0Fx#l$vc#a+3a0?a;?Q{s!)U1bleROWccZ1!0SD_m!V{WXvq zWR=9dmH1@WuHNnA{lNTZ3g;nrYe4taN^VM=)JzT$F3z0@m(=1!W)eS+H=G;6{x4-1O z4D;XkM6dRDYsgn3*g!xptzRpMRL)d*zyHb!fG+7fL*e;#rdfr*o+$|FWiIsG%TU`{>@8<0)|b2IJOc2JD{Fb?fysuZR9J8!C%(4|B@>LhoppTqK;?kA02Yn)fe$9LIi z;kF(bdS``LhlV}kyhgxDow(HR`VCS5*{zqNv;ls}^gBRt22p4*Tjj)t>JJ;gYWh6$Xw<(-%GY{)6?nmuP;o{Zu=vPK+UjQn`{ zll?6t5!tb+FUgKY{?jdfRd9^(M;f)b4H>Sc#A;22x` zoqxXw1R4S4xVo%N>*qi2tEpllD>Y8*mE(;(MJlWv@yn{3LRYB0imqI1NQ_6n4Tinj zw>hqJjNH|oF*QH8@SC>btjh}dHmE2*+_M|Pij$!6JFp)$buAr5EArdA^N&!07A@G0 z$zUDP37|y-2^91fd1 zH(-?vV}oNFBA2NF6TLNKnM#Y}U>#&H-V;Q#OkQrGj0KR?M`d`vYqpztclY+?Xdjx%M*uBU^h7^4rXj^s;UCbh@4gwSJR1$}($qw$qL<&CR$&Wz1d3L|udFwnQNh*CwF3#t4!c^zf* zS?a?UB0>LH??ciS2SPkWlnV>50Wg5lgeanET+$I|_A_M`{H%XwTYh+A;aC4f-PIQ*XT(`{CyLL3myVT2v;EUF74onJ6Y1uFRB&hg9+IaLxEXZMd@6H72w@H z0^DYR_K*>y^cwYvB;{}mJ)8zxS^cu&YypsN^kz}Q>3RkxHCOb6D`N+vq6##JIn;uM z8$CZb=?zepXuIrm<>RmgI1U~JY$S;zq-^%^#kwm$)70U^k6b?Rf7`xVZ}xDn2|ru} zm<2lO49h<{{ z=6*$0-%Til_tX8C5*=4O=RkN;8@dKwPgM80?#Jq(>ftcA4ZHhp>VP9J=pWI7Br`{4#h3@0Mo}4BHDMF>T(s!Uk#1xWG)cD2;`0 znVHwfOjyDD3WYEA+*P+=)QpxV-8o<@TO#KZ(b439AlA{OPHQO4E16XL9m=y>D0H=5 z`cXssF+`d}ZziD|hvy31v$`f&7WNkVadoai!R}vzE<6eq-^%0au+ElZN1unQz75m8 zD0SkrwK9{#Ob{4!wOqhTeI5FLarA(4!MJ9vf=X+z90D0jQabJMUR;$nKWIJ-%mJC} zP*`Te-^OR6V5}*E>0w+<(l06rj*5|F($1<8pIcl!c-eR=bkSZEO@F^Ao|rF5p)dUrKhEP(#bZ}^*e zmQ2YAc#M#UF)vhtQDZweQ($B$1+D0C@DpL|^O`?PwONM3d*{En_NRfiABM^Y_}%wJ zuaPuT4ZRsLWna5{TLL#v(8C+)ZL>(|qL=#5&f#GClHUC#X*+dCof_Gy$4E0$%uauB zN!&qm0uYyBkz<2W8Kfm6;KpCNHBgg`blpd|l4r^PKFttP!#!A*U~&WCV~vyb9vUyZ zt}z`=1PUKBYbCe=5^0g|!m*db7L|&zHcB=T{qdEM!e3We7JL}h zLag#$z1JzjDb@N}$gsPxva+T^>p{2Za;z-fuHF=H%PbyOrOuX&nMv(+Sx~fvJwUsy)3_VEoO`4n{J1F-I+)C!Z3Gaq3xNU z2jg_vw7WDv_H;wXnT(eozHWhRRuLHotTak4!yp|CK5sF2Pd>SB2O*(4Cwi@sC7%bw z#`uqR&;`15A=8ZT)jOj#zy!MBep@SU;JYA-jbJyc0g%FrX#GkMZX(|qpj zC{ysE+lgeLAFf2uPv_`(Z0ORx2ocpvk?*Cc~0JfD+2L-}aSOnCy z0B`JzHo$XjXu{YEnqN`#Ub}D*-Fx`ez=!h{*$4*68Gx=&qnqsV+TWLzt@=MhrNrUj z+RqJ2wnGrM0^33inQ!=0pX~_z1+Bf*I&4{{Z**xv%#*#U>g1 z5SjMa^~8g#H#dw;i>~V@{0HQ9U;p8=M3s2EOUMbC)BG+-)P>l3A8@-YXd)Q??BvLd zDny5~mcZc|G?jt#=2r!5p9$*|&j^_8Ds+!Kv=<@rjx)g@W~#jI--mHT;wx~y;jeWD z#E@~gX+GU1l9dn7#bd#=-&1^z%DRC-4)7+mW*|;i#!VvyR~A*InqFh;A%i)1t$Ugeoct#XS~*yLeCu|U_1FnCVrv|Z}h z*yc8a5*w%NdZoM8Y)&7^q^eTu2V@6QuV&&G?3RC=X9I4J>xrb8ySYvUUwf1`DtDNG z$p?WC%@4nh1z*M5+%6H#xIcVavH2K7?f}_eJ);xEWi3avj`trUSM3k?)2jObeNbQJ zLMFyfo9$ot>8%$f4DP6H)lEgIK4?#PsyE{+iR%C%sJpao8vuynmj_(pyup?tgOOLO3PS4(XB@85i$?5mIa#Pc%dJ*r?XLP(@Rd>QS)Ons6M zM3$TCUbOM{$>e}Jg4f+cRg{gdmr}_omx84x{Q9oM zT#V=-rUQ9$2zQ-umcxxdvD|a*NMox5jmffu=M_t6?AW= zZYAJ05s+jDi+t}BAYHx`{t6Q@|KWgcl>r3XkATx9wze=Q*rYRQ3atiJtb&LBq;!-^ z6^I6C2!G96+m4$$XyjQsORh-z*t5ukS2D-{Mx`}*$sxSh=wPRb`(cqeNfmshIcmrV z;$--5!jcs-?r5s{;Kkb*VY`ja;#j}xQOn{oDzfN!T=EB6+HO8^&~{i+EX6Bx-n#Y4 zE>)L0Hd0tF>Y`6Mvgq4Xx-LYRkTw>^Gg#lk@{dp;Ud%azSXMCsG`-)+}?TaAMkJHm*&Gqmtli^^_ z$*1FpK%3F=xaY?RQHw|x%`(<2igi#>t@;<%(PbOAE3hc?-yfudeSL&hs-6D*lG2@f ziM_wUUMMj^fZCyJ$aAr2yoazKZxb(z^rAIlIr}|N&3#Ewa&=j(D~$)9c-pm4UngyT=!jzgzRPIudV#FOqX52q zsQEsekdS3h{^^+Qx5FVqWbooi`1tx*)4DeD$zY7p$0}Mvn0{hgag1FVY1^Mapqxm7 zAstmLf5RUggl`W|XbFh_JIV3F{7VEj^P1^3NQmo|B2PfMc*q`_u*ISa1yxXZ$dxSk z+mb46W$l@>wPKFMjG}k;rIF2~SAC5vYV@`@DC6_*1Uswc!!rv2DLV%nGB$Ms!vLH> zcgz{aH64n@$RSedIwjLEZM1o-6JCuNL?dc;9Uht}K_$9ui=!Gog{7l1f)O(I@5clt z!KIb&cTldto)4lHHKQ91Mfwk{^m(UT*ktQg_|SfikR*aeRPE6qu{g7zIb`fTOd*`^ z3I&bif}@#6)b*PWJ#kCBjcY%RT2!q`LHrCnWXzRb2%Q8K&fR&9LzS4NKO?P>eBMAg z+@?w3fjy57IR@GZj5@rSgH|zQtb-}TR74}VT#>$=IvjAHkCd_YH}gM>pwx(TF5K}w zfr5YU_QZff)23#HaGN=l>#iM}-w*1QMkiqn1D8?=ul_*}4Q(~?qwq6%u*@}J5KX-# zoUW$Vi@J2AQgbvX25i(;J;9w$Z@4t;cAB5jDuqX?NsUo67eR4fxy4WVrjHX2Z<7?l zV!3hr(TQXrnxX0N_qS4;R&WN+uo1&Nt(x&URDw|ymYY!$mpjt=CUf*84k-_&i&(i) z>;N*whf)sL6OxlCYPJx(vMYoQrWWOMe1AhLWDq$iK`RW-etv^f3a6m`?K39k(Vk_J zBd$CJam<-6#YJ2IzwgLFIf!7m{lluaa!>u1siOJv%U0T!<@GAuW2Sg}2>0U$L3>X| zz3HW@%lXfqlLt1yvIVF%eX2Lzy^WX`=i_c|uHAnXQ(W^>eJk;xQM6Jb5fqvUoR&ay z%sv6}GV4^nhzx1e~E7!C!30_{!N7QKfzBo=|5|JP#OFJLB254)IxZwBnI7Md;) zmj9+(R50C<1&IfmRv3KdSDRos>_&RqYqFO#`1lm4wTl6C)^@?f}rw_zw%XzV$zLm#1k)d3UvFJga02)~rc zP5LU`4WY5oieaV4@_P-TGg`3b@~DXir`qSBGn|d4R|PbLOUWra+JmF>{o|73H6xMn zzn!5o9K5yTVsHo{DoEWD#z=MyAH#0-$)Y1`V3A?QY!YZATeP5*S67hRdy4B5h%V~i zMPgh=Obtx+Hps^%c~a`_ME}#19aRQ(+1yuZrECV=#cm(P5|6b6AK?FA*)(bz{B#I!O(z zzg3Sdac0*9z@2eKwUw+6(IYeD(AR+m1k#nXBfSw;+Fl93DNsg^2MyvJNhGnIT?c$ zxD5XcBU+7YNtO5*k))XEfxPK-YP&a+Nn`z}T~zLlKUye@p46`tA7Ra}o{4MMeba*1 z#J&8NAAE@gbDK3)CCYiks6=94wUMOPjMWrLh$p$BMHf3XE zF+I2^>SX)VZhwA<%()R2#A>O5Ig6BPLeRyTE4IWD;-o^Ge*}mjC(7*Y2f{jwZ#_t3pB-_YCIf)r`x(&x~uNC2qT(CB=?yRMXQ@@ z4sX-?I~m*i*s|K|Nmn`t%zyFtRUy`huEqM@GoDZ-hSl^xyL+34+h7VM*=0ByXQIPe zrYG>EWG6z(-v5S%GLkOID_rQK>gGDZ=5;NdUMv4oR~nho8z(uC{TsccOIIZTF(!)A zEX_b$C4jG@hE{d+2eIa#$JO|u-(xOrsP&ZHWc&PXk*7QoM?Rf!)@Jl0LAzPq1s}&3 zj^@Fdo$tI?r6Ta@_Td(-4*-awgbP*5SwPWSNwg{Tz;agIi5bpGWvZqDl+ zSlkm)rNHdn_K{%p(lFtaFR7dSe|C5Iz>V;NuN$}cg$sT(-Mo|SF>e4UJFx0S%5!Eh zyL_z_tJvF)m6p5krA<-Mg7b_Is|xWkw~?M)T?zhnoD`N{+wiMb?pXt;+BAQ?cm9 zpo({8;>%P1iCBOg=Iu^ZxX>iE5V~R8cn^!DMyhiCOC*DZ>h=DhiECL3(XLc>9S%kQ zeL>U%=7|6o@<^nMV8yGn!MxK4jbb=65cNCf;9at^dP6g~DRp^LxW~baP+XtNj9{%( zP1Kk^3KhZ<1v{$v8LcPpopJB5#LZDH6&;TWH|CCD#DU5h;Xk)GjvGai8%^{q4)4q3 zPn}!5w`-_BF9VT#YP;?K4N5hmW6}b4J<1}Qm%{tp4nJS=tyPM9Naj=ITTo2a2o86G zR*Uy7UNx$$3|~ zWciWld&u;(ns$t&-l{HqC&H=jGiaYZM6@2JEK4FtzXhjZI2aHn6pw|>(8hCmC2m;L znHLdbE6N@fM5jNCvPP}oQdHSP5J;AhQ$Aew9a7scWD8Y|-l$#q1#Fm6Y_+xNO`eOQ!V~Qg zhtB;`Fro=pa+%?O7_t4p$@tlgp^fRVKUi8Ai! zE%r32#|y-Q<4KEO^jD`zG(X2xzpfguZIy9hJR7;%(#<-HnQ&*>)7(X>5{ffU=yA9b z`>ZWd-)sakJI7toO9=jscD?dW!)=XZX{-V{9!U|!m;mlsHyn5>tKE#qlv1yanO0QK zp{=zi*qUR|bMcDhc(>h!Gdh>6eU?^#X~&K8s@rUlG^(869;{JvbHSfE-#{QBG6 z86&1a-LE!`c=jh4Y6uM*_!*_i$}F-!cL~TFk|Nk~_tpw|keJJ9X(5})M4?###8Ops z^{KK6c?InRe1S4WnsvP*JY=)>P}5y{B23}_^&IJ>-;u?KzzK)mjYSmjaDY*S_esq1 zN@oR$pPzi$Sy%nt$(dg4LTl=oIkQ5t&}F60ZI5&Z1I)S&On#{w^F?_43%rOuR zlT~p7k;q}7)dg{ae~p=H;A+a@+bCQAJtz8;fE+_idK1XB6lKX^+9(Q173zce&el+9 zsat+b)sv^@av&9$3rb8*DU0k3Et=GaWtyUx{x3*;p84Z;quH9Lledpg;aB!9I2Mj>3|w(qdR<%H7NuO;b+bY1S2~L zF%-z1%bJY*)smow?zVtB#Ai2XL!#EnhAYN9G7)WeIWCwm^Lhdbtuk>wQ-ZTNBk*i5 zp8z}P8Uf0S$ADbDAcO|}3SK`vlAMk_Z1VSPyKbu%CQ^wnC%YV!L`@>~R z_lFTPC@YtrCZL15R+~Vm#4llk=@6w^@s&D5r+TmbD&rW8nw?h*~_pCJK$oOC49+dBXwem z{V2W9raNYYJYf4NY1T3cXmt>pbC+(t0N6d@JhBAZ%<7eEHVRG9C4AM!yvSLs=uB9W&8m1?RyA@BN zEG5dDx%0-S1j=-_9QtxG9OKg9rE($1$5PN@&5Jga&jUd`{F5tINU!VI)Dvdb;>>Z8 zr~6-wonvq(Pt@;Y+qP}nwr$(V#lT0pE-Tz z-So`)e$I<%N1t&=diyQc#3Api;Rv8hCj~sb%fhViDW#vK0*Rbt)ognFtPGF2NoWD( zibBS+Q0QrCL0iqk7Ftd$9pl@sZ7w>0Zf;>MJ2-Z+Mn*PIsm!6&P9oe^ufEJ129r*z z6yo0NavZ>x^UBX#T`N6ZIgz;S#6hy3;qh8Iu71h)ceGva0$K7(a5xwA@Ye`5ds(Sw zw9g{NEu4WnMwGls=LF$8nTF-(>W>+s=(dYpirK%t2zwOF8J`0A;J?rrlFMskG4H3_ z{YSx%xAb->QSia?Bt}n?98t}d-!<~V#wr}p{hNj8F8iU4HG3+;F2~I4+I0Z(gv0>Cc9uNTa1C7vcyDaa5;${q4RfeXm81uMnR1 zE3fHee2(xxIkm4*zr8%bM$E*DFbM^)g_ZLX(JuO!gH2ktLK9wd0U{{Fr{z#E_4R_P z#{`%i(%hsM-UDTVqA1hLTbir{8t~J7N0G$3YLhe!^%2V){(G-FHxP{h$n{6BQ zjOV^kSO-K^Hn{)zRzD!4j`t&ihEqmGczziITG0~OZKGmm2XE0T_cYNV26d8FTMdI! zr06iqRDIz~H1a9QE}!t%?>$pcbUl)pGDJ2!M6NR$dd|wi|AZTL$%Db9ZC*k!+E6e} z)%{)dEnGFbLc2RjcE2NaXZw-KNK?eTq&9=@vH$G)bWN^(7{&QR4Y{Sc-fUWyR?B?? zs*&4ws(Qr?HxL$79oL}8GuwuE0#pnS&Rv>lgh+6TA4HgA>F@@qhD-oaFfB%<17)Ab z$=Jyi;TI=+bebeS4NZp^x1cF<5c!(p(VM~{G{OU~$a-oENM=ULCGzf5Pplxgf&ZBI z_v&IhrZEPKF~PGG*cLI(nsB*P6N`Bes&3$7NV%S(rv3~6H5shP997;@hho3~@m+7{(L=$VBcc%Lobd#=73c9NE8iHaj!~g-1 zZGA~Fw)j18oXJ&Vpx~g7b$K2vR3v4-{B)b3JUeT-P@IJIV4Y(d=2#tq2*xUkPjwUM z9T2#I^!3i@EueE2E|C>JTt3{C@vd!@mNbSzZ?hhXiP34-5GYSs(+B*2%rAS$A!F7gJ6eRvzJ-SM`+X9UZi$6X;{*8`ssuH~ztnRceNFlDv!dk9 zOiFeZwS$PBTT3EEI&jPqD*qG?O;V+2$w|crTMaNFnMF3cL)}D+>|DxxeGESXo$K@MXf2W z!iw331j!#d8xh|P_CfqaZKOdn2^>7M!1J$EyKQn;Fj|2$ln@hj5SUbTXDYEB%$d?T z6b7_zj|td~M+XPZ&|#HI%|N0mcv2iY^x@^54GKwRi?vJHvr?x!s)c1P5|^xo^mUjA z4_f<#^?uoM0Yb?}g!CP9{@Y zE#VIfFK*Zl{}M4|JdrD$ERtil)2HeX{Y>yW&0)+&e;AkKr2s%ck*9@(#KcU2dEvO{ zLr=_+q~}H&S+kT#(^P&lmV?dHc$WD027BQtluzoC%qTYX8R{+@KU+>q4vD(*FVB52qy0-8LoS=M#|(|pUgCAAbU9)9sAI8U|*odnK7?qTZu zi$fwik5P0e#*V(_On2O{b78w+HjZe`dA&m1e1dZxPOK&VI+h6YdAOdz{16_4lKDT=2(NZ{7Uy{d<72elbyBU$w29r2qHt zy7`&cPkbmB$^Rw;ct&t6#XU?I*cE z^}Es9rM6Bvcl$f3OJbX%@0-*;PRxbBudm+L?Ec+VpVY+h?c=M$mhE(RMphGaU-6h|HYYPYAKi`R+OKGo!N9hjp1;!5C z?guw%)AV2G*3hc@0UrfZ3wJ`IOAf-fRE(dA!f+Hme)oHB11{`~p7HZ2ON7#KG$exwV7N?;s? z^xa=N4u2+75ksN`N)=+&MgsoN--zpGYhAEt$y)=rP$pQK6+GI)6uge(+y7gBIa0L< z*|X|zVmB`tG6Yau`b>Bu;_rLEhRDILkn{b|6{OS_f?&AJmPU01tYtv*`m67=s5{X< zMI;m9-bpq$OYIA!>FsuIp1;5Hw$qXLZwI~T|h^IqdT6Cq4Z0vD;TxvSt+CVCD$DUft}UWkVOpaUK*A;0cwdj#Pe&E;-fmcRz3QK zARP#-9GmswS7Ww?Ah=k~r1+KL3i_+tNFR+Nq@Vj;+Ob0g@7X zBasLcD%gS<$?z@Mgeh8p^lbH|r-d7Qk>5nxlf9XvWu8-$K`5xszbb$9xyC#dO= zNT6Y-g{icSuae9)owSG;Kw$!g*uxw8TM#?QYyHtMBC8Kkjf2(}GJF(c@8a8h!RGg% zQp*vOI{yYp;g#411x@=&82$cG0s$?iQ5EK|`faDKcTOdhhKZ(VQcnj7AyVImfwh{9 zT#0%{9Ta54;n!I;7Y?ED&xauGI#+sg4}nnAlSYDPLwS=r2LmyHE5%1`6WYW301wNb zrLujB-^*NMY;HeoNRi^v4J$uO+K(sS(%drOON_s~pyK$a-IINa@#i>{NEYXpXLGWj zmGFK#50`3%oDbyQJw;?>9s%!xe%Wx+ep4}?_+q%DR@eJ+X3Sqmz!^bkPHV3z3bdBJjaSIe?#sz<2lau zZbo`_7a4+($*h@Lt~LB+deO5=x}owg>WEA!gZ6J>K` zxg9A<|KTcd+nlp!d2CH`%g?U=P93tM7yax2fftjQ)op}pxnH(mFUIpmB6qZf6XySh z!)uMnRISZxUuv;@$&HQuo(1qhsJf@!_14T0w5H~i2#5|vtNb(#BYSkpA5(gGa~Wh;9pfHJ6pMi8bI zy(wiR>&zl~>uL7dm1~Tt)ypufeci6uoeF`$Xg$dw5ROj@az0-*B{>(CnMx zty;9=p2Znw!5?7fYvNH18#~01D=ctWu`%)z6#>p|Z}Bc*PR`&*X!4$D)z+ut(38VYAgjG?hKViAw2`~&T|xai}pN`0)e6Osstn2HRZ5K*Dz}}(P$FB z|A*DNXkJMB{UqGZ{lT-0!_<3PN`rlU#W?raDtf*@FauBSdRG9_Pde*g@^>0{?fBx$ zg!NXvHqe&4Jf_F?%Z75V+pb%39fhGSv-x30$jsWH#`L|FSX6O0HX{5uY zG($I<00RBdS53up?o#>^l)jOuTnbGns3bS%P86i}f@EYx?eQQE*b@pi!8uZwy=E13 zszik$gNoMf@M;fXa3^8q(Eb}OFFe|4^a#$C4u;~!E)9ti+ZH6um02+VYcAV&RM_R~ z4=8lk@>nG<1*J}v^;A%CJ$E8dE;ck75N--6v`}$pau+Z|?Yb%_8!1Z=SbVUkG*q|U z-ypE`ugMEdFch_a-S?dgzPMm0HDyByr4BFUkSM9nTW<|@Q+JwXHK{ z^l>7ilM~DZ#H?0>W|cio`CyBtxWHR^@u`hXgdAv8R;lx#5fK%!X@KtdCVgM;(McA2 zQ0EVYuTg1SGwbNtTsn?Y4xvzRDs)0soj14O+5a>m!-s89jh1Wb+6LlB4N;tBns3U;_2h`iz z39clP z#nXZ<{z7gNpivf&hbd%HBHKO(0a`(ZV+flSKAS{VB_j}vCG)JT0qIsqN6cP;Vli4? zx4RxYqBZ1npCl?%^3S{w8KY)RktNS8dv_|gKbalk?sPnt?GT8as%Hs7;GUIVrn&M^AbHk6+>Y4D1B0%APq*j8= z^{N41dx91DUkTqHF9n?Sq2MzgB&92(^#y4LIrbscQA$4aIG!3l^aK%sUK&2&!&~d# z8b0Jfps5Bq{=vpBr4MxyYafzG>2HM#G2IkJ4-^H&_Q1bh97@|^oju(hLoO>de2%4I zSy9eJPV+V}QB`vNMNZk@z8uqqPuZOWgXU@;W_$3Je0Vc|&`GuvL3hs03$`!g=tLbV zKJvlK;dFdO(`$Gge9|(fkAR1xzq$fCUTt1(>GO`I53>?DM%B5e64X5$0b)-EZ+PCP z*Ig}T-nL^|u(vR!nC&#spc+Si7Ay`kim*aO4x{e#aTH9IqR|EB_fw}hT*eR=?UBmk zJ$-GExL2BhItVsyxM`wH5SZlRBjK7=;{A+8<>X}*el1Fv;flIx8y5H9QG?3!V@~tqD>axV4{@Zuq!+q??xtNtODD^ zd@OZ85i<5WkjVG%q9G)-sswPmD?%=3J`?l-71FqcoP-5@?_1$&1vwOKS3*Xv};1R^NTPy$qTJK=_|pSSzv znkCBF(I`-)2?|!?^$4zMWVD{N0N<@<)nqm?NTs8Vs8N>~-0j-pF)KYYp)Hx@uf-@OZ-Cr1RAkGgU-eq_m4>uFY&(cNbmeKG6E*vzDzX~V*wJX%$? zY;%h-_-e9hOar0>*;2jk6e9d=Z9Q>%)uo7@d5+6HRhnB4#bCAV3Rc=|Vd#GCSj;fC zQKstl!cmk*aCnJgvLmitusA#A6JWIi!%PB5xLWDYi&$_G6K?ySnPW%bB}ZonR-#(Z zP<&UC+C@#HRq!UhWy4-Z48`U!Ev8~%^erRqTyA&EZF(g%lcJy}>z?XDcS-F`fS+Ip zA_lm5A}FKW>i1sg3SM*Cfsm~ zpZh&2$T2PWvSV&9h004TJ{?G4M!X%+zT(of!E2kA>ojymY3cfjSD(QkiIiZlMTI;R z(PW8a1_ZM{NMxZm02hW;xy0dx ztb)zDN4sV2T$GxPiHuO(1jQ|jL!(o|Zsl2mK$ZqXV!zed`;er}O%CAaPk(7vXNYQv z3+L9R7X=&n&XYY^2wS#-J%*G$@x)zu+kG$}-%IoNjgn(1^=_Sp>jJfKMQD*b;^Z_* zb+!d0oa)Q(WGstMgPupg-}WaycX3cgqnNSwlH@EdATi$cKXGWT&B$ur6z5^y^uGX@ zvl{nOe!r#SGI5!&u*u8^FL1`}_m%JaB1t#OJ#QPpqA=cjL0#MWfF-dogEGZ9 zT|@J#n|%(iop>czsktK7xd*u{3g@dok}Xe<<7GyWM@PxxnH;qCpcJ1nfF(1B|(|wXj zc9c#H=GV??U})SOqOdHmewG!XStK zvkS$U^BG*-7|@SwKsU#E0CoJ^X44*TS2oC*%BF*mIRR{xKCer8T9RF|<3Wu;lWQ=U zS_gbIt6<{Ae;B!~f{DK0(kWC@a-`?S0bC>J9+Yky?0ZPPOQ<~#t~~E5?y^!L97d&O zASlq2-d+Otpg0CP$UYr$X0wIwe_I}M9YH1J4}ZYK-*CVND~WJBf_yx_V0q`FW5n5#w0k=3>hY z=uV{43gV7%Qj5w(_LUNnQNJ7@VD$7zocXbH67YIX(`1~_z<_# z8PhmdI*@(AF8^dXk{IHLRo$jLf`r!PWUm3D8XpQ0UKh?_nAloJ&Iztuk}pN);;cmM zU(7`)A4$06`WC64o3zo2&Z`)$D`3I+gQr1G(jyyT`rCOw1K6CA2ihKVIbc_+8vXh* zLyD+E(T-^#e`huR4Xex#6-x&0czPVUb2Xy0;!W>Tmtgagx8{{UuIyxJb;H4R_)4*g z`2M~Sm|=cc7dRygI&-Uf0N8;jU+RK2l5&Nl1pQWwr9R;aFo&cV{h0h?Cww_j zj-q&lknNi$y`Gy0$R^BcIgP$ap|EcfED5b4*@sP$*Lfa_sIPH<7vkw;Aj}IQ9?DK_ zOFYiLw_+_PT(H7YmQD{VBs31BJrb=pLt@9U+;UV%-%@(F-gyT{4+`e|Xly(l^k2M( zJ`-7)>qxJMY9yzz8D!Q}_vdbg2_6eslW3NmRfx{j`RdrBs#r3yRdm`ZIpkA(Wj|w5 z5JjO$7(NS?an7%YN=v>8k}T5MWrbvJZ@yjlnkRs^s^6POPY~;)*i9mGhb4e++?c5z zN6;XMa)8t{)#Jb{wc|s%XUK);86b$#Mm!^~OLTd}`9}bK4;|efAxUyxXhGN$3jux> z^Mns^HiwT5`m2Fd^Ovq8WXA#nwS>EYTIi4Z?@21ty`$oW&x>q9Ap1t@K^2|=+J&y4 zbe^y!=J=O4*{Jh+@|dgJo5~~nKx0ks>)7?Jl-|>@^`kxfRlQ(EZ`{A-68yc_Td9jd z!h~V%yZxk&NQMtDGJif4L4qj8XQ^0o9>(98%2=tAgRqVk!?wqwN<1BJZ<5;!Kh=0I zB100Cv|evaX8mztcyqR# zPlde5g1x{G3@j4FJV>g_#*O;zO0I!5zeMu}yvVAM?{*p_2kXc#koS`+t|DUOLqoc| z46l+JB00_}Y0%m{l6w4VB~3U~=*XU=)JRoOtN2lxbCUibOt;aW-WRafmg_QnC%I?} zt0_Kz_?B&?O(8zi(|e}9hv;2Z<;WFl*9v6Z2xt7set1!N6HNU%+Mil%#r=O!?6ESpoEnKE-*&aVTzS;Ywr^;NlHQ~ zh%SN)&zQ&7c8;WTh6oeN@wWIqQ%d9qBti?(0!7>sZ8c7dlx^nTgHRZ^Y4FoaFQwCR zhl~GYRoTOh%phe0S%4Hq&56EI2_RmXo_DNljX{a%Hl^cHDbkmcv`s{br+v|dE>Ekx z!e<5lJ(`#t2I(LanQHz7loPWhX$9nj|MfL70-gpFu@%VTD~0I=DI_nr%|L?+`b$x~ z{i3rL@eRgWbR;coMISij5c2oVjvPbn7e^=sN`aWq6C%pb;2eAjY0YFXtK^nY*b0Eh zVAA0WRtUiEyzkO!Z|==Mi}}W)dS?=BWdpQVjoIc(a%NE6TSJmX9U7`6JcqY{8e2Ch zmgC=)P6!lu>?AFi39kj^$fk%}LneP;VPaFMPL`hw3Z^)b^B(5WEE*=#MC%w!7ZvE;3U={4p_YNmXr>)oE- z<-PQMGxja)25f$P2YgSGd~7SIP5Qok``3>3=FwEf=Ex}Doz893)w#~uJbayhd)?T2 zZ*}>V9ahgZeq?Rur294@-Ier>-C6oOZqhH^K6Dc{_+xjX071TAWMkd=?2n__1?T$CKt!c*C10=tPy_ z-P?ZO5Y}r)%&2v}f7lS!@r(cQv*i|BYN(JVyZ9{iwRk;$&}vE~R?vOvN{PkV{9kYs zb^^3=Z?1`g_pa`|(#yAKBENrvxj+7Tum2{bSoqfe58(O#pgh_C7v=fG>HJxDG_ir< zX8GS)Mo~uxH**I!S0Y^^Zq}c96(a8c_@637`Y?>5E{;wjj$S`YObkr_bFp)?GqAES zF)e zn>i5^45OO2lQ|KilCh=ve~8il8#?EY*?-T##|OhGVQuGT?n1;UVfS;3n7OH=nK=xj zoVkOgn-vi&6EiFO|HCHTjKAorWB1rr+&u^FAf9Nl6BG^v>XdSECNKh-5LUVedUd#a zb5_^J3lUUbTGGF_tgYv42r|eu*G(sn#=|4~_s&xO86fJTDE-a+7NBeEzbzxviXiCU z``PE%`5p4TAMmm5cfT8nY==i-7(EWM+ z4pbz$(Q$Odx<~xEvL5g?cC)=ASz<5m{yoM$bFT9wn4W#V5dP!RTXyKX>-+oLd&=eX zyKPQ}!TaTV>n``F>RMYZ{5$Eg_4i6sLjBU4!Fn5g)^K_IcXQw0m4fu+w|vfTuH@%q z^JhTHd#WnKHT|_`egxm)bJJCT!ZCQFgQ4&1hsMjjea*G*pSrs4-nl7efT?%=M9jZm z`t=LT-=B1P2?ew7IfRHOoSVnZ1R;#;>TaJ4?}kGOpY|E&JFd`w#eeT~=Ps%6%I}*`<|)gfZZ*_&*vNVH zY3vDvSB7;l@#S&0-zRJxnMko7{bh=hk#DA2 z39`AaUbg^j*%X}}>Qm8DmH09C=%Q^W+PXX%uB zQTX%xqyLkh>c|=`^Do9XU3>6Pbmzi$0ohS;$!?o|gm>-kH3k>Wv&VXOAlLazY__ibYYk*Z=i zmTic-QqokjKI8FJ;eghuhH}DR;d46Few|$|l4o_5VH2H^$WzCyx6U5`z!Ff5-qx{w zdeAJ}sXj92*0_@TUqB}=DU+}jDaSG~Qp}`EQ>Awn&*w?1iw@HLOo0+UXoSPs$R<+i z{;RJ9`fIpfJaMm99MIe}=irpZH!ib2b1%b*jj!d(xE`9>Nkta06TTsgP01_Y56F#Pl3# zl;zYsM$a%_r=GCOw)Y!9tC4mQv^4YI$OK4kAoMoavD9*)Vyic`9_U-a-q}*#seRls zfgcMUmP4MONE_C*PC4DVF?*DG0CNhMUjW&kF?tm}@6(?x0&#ntaq(l2`D?vJ2ae}R zuQ>Wx3HlPU67z;!zyD=XE}%Wo(i^J z5*82ppJsK6JVl6v}nbJqCssc~+-ZI-d0c!bFpC4$fYiyH5)&{mvc9<+6AHnK!Fq0Uv20n0qcLF(r^5h?rS1fE$XN{wXZjna`HdZtC5G z17(5s5}Z3b4HI7$oQg}{5JWH;4xih0%9OMbIZ_l|>Jz ztQJ|%BeyjOqDAV4(N9ZuW4Bez0*6h9(pT}y_u{ny`3M=u*ih_1>8^&w{tZOXUA;es z(j7lUYopT8puYM&gmLxt{qW-y9=**1MwEH-cuqqGk#jDDEx z)o!&Y`?#R?_NJDKuWk_IDiC)`x?%`Jf7UoA_J^L1u>{j9|2;N{0homsA|Gf8qYu_uMlVK%D?l} z{L}!P8hIjnm7egte`q4O6OVsy=*HFW3sQb3{^PJUm*a>h|Yq+`3^6gLo*)XtIM*~xShk-tPN2ACOgNC1y+y< zs4R!{4~<5xRRG0~U80vOwQuXU`cavg>}S|}mefBir*EnNzQ+&ihw5}8bEuIl18qX5 z={@ph5W!1L`=~sJ&aVgR$Y(`Y-P<^mf8WVAp4Vm?fBCJphE7RIgU5iz|Rbwgw)7(V76i9u_4tX5-eW|I-kRSbinGQ`w4*{ldw z^ES@)TOajs;caF|gK+yA<%d~|Nou4S6gu%s3yXQxFXcI0Yl@D=q75rv7E1};5&X&^ z`8d4d(yXzjf4p0dHwq>#O&Q$Qc{0XRoy1MN*D!5gq<4$LX_iJentr;L5eMiA5(BJ@ zju1yg0wi5EO3TR?M@f8xx<<(gMn@u&2x%$8gM-!YO-xCm@I-igwa@I7X0DM5koCAwi-ETs z=y#|)E`Y2~(cB-n2x2hHj0V8+&&NhjQdAQz)$ZEOiywHJNJ{gbHwICf9lgiUe=-MI z=a7zd)ZNOs*B6{XEe$CrA(D;2ke-{!7=`R0Gvqi<1ZU{aI$74B{P4P=m%4v>9VH6T z`8+XqFUX|INcz)Bg8SQ}R(xLm#3r#G*+VmSzOn!%nILg|4_4wkHzE7p|G3M3y(!?{ zFRGxh>8;Z-AD_a_r#RAteL2|E8r_1noEOQwQ}WTMLO3VkyF$Qg8mK9*pSGLk9gWQ+ zgY0M<(!IwE!i>h?ge=k8RTzi6xK0ZZ0fDPcdNhUz-N>rxiwL7=Cu&UG^vtNNRm4R=U1MQ9pk=%{hWHH=#(tS&*`rYfc+%wG z_WY_DT!Z_RrlyOccHBIbqnNBgi=dM?nR&>OFTvC><*Lk!A)KAHHx}#!lRzmFh5BMv zt(aPr)WvQE54GV$t1Oc!RY61Min4_xs*J*sSsJgIv}VYOg4%I^L_CJi|CKLLYOV7G zv%j565Ziz#h5{5E$$>Q=5IC907JJSS+bYQDDyQ`{OH$>;-ocNNF!S0hSfWnnOTw37 z0PX}dk4Xl16S%fORe1CA!ULB`mOf<+G-p&rP}bVjZKSK!kcJ>Z$J#1mEYkAZ4o;J4 zT%+$?JU)m;6lpal2T|D}fg7jus^EmExNa;Xe@>_B$}^`<4{lsh#y=eMXsVRboiP2| z950UVI{K3D`Vrjcqi*;0*W-(YKUHyDWbG-kXs$0 z*WYhOp$CjYVwTVwN`B~3pmMp1IXwM+vl?Y45=g4O(Xn|z4x^@)BtGrEP_(63jwq;^ z(=nz(a>_^JMITInb@Zy=Lyc23&i!kk_~Lal={Peu$tkR%L2+=?Hj~W#2Uz|$x9JPa zkcNjUhvd(L=-%rE0sj4WkJA}8!pIEgjo@#|QUG;d^+MwQ3mIZ}2{xzi!V5hM3|Z~u z(TG~7{Uqa{lxl#e0wErfD}2882i%P+#ndw)S}j=}(m%S6;=wN&b9rD1;6EHw*C$Kd z;m}OvyehCB-ldEENwWDQb6`7)Nz!hQZV;lT1{mL}i}g+{e%usvOl+f>ToOu2EX8Kc zA>)l&fX5H(oKI@Cxyf4-TysrWkArMmptp*nZ2qXl?2*BahB+A_OP#z!h#|!u6;k+c zR%E_jyOqEqiP##i9IW5XGnm9&soL12gjzABhZQJ3QVvz2++C@ZzMhIW!E3!#>R13k z)o*YK$_t%DY!DTkY9iTt)eaKU-w}ep6}|XP={Q8r>kWCm#^y0 z;Mamhdfd5Vh=1+(Qh2Wy7-@{9dQFqI>tV2x&Md{nGt6spUM_&7lf+~I|I^1 zsSp-fdJtRzLy?q9OMi+tZhvdi1&QHGb&%8uO(1RFl*R@QO_;lTS%p|V$LE60K;<@3 z?4(9|NOrH#dWa%PsI1Hd^nG)f)_Ipr?&!bS=jAQ#uMWIVAr-*QzYAg9UwW?OqvSRv z6&|BFk6)lBbH0&R)1Ains%taamF_7`LBlUyLm+S$y}P^HZSoRI-C|S$6ZZ2eajB-! zr#Cff%*da~)#=&9A}%B6bRO>~q%`WxGDXUkhGHeeKdQ;QbhFwZCLrbw-1wV(k)f=k z48&z*xQGhN*i4bDKtm~nd4W>~muj@>fM^=)x3yH1{2C3n921+D*OKe~R5KcA_ z*|42ew2>$~b;D^kD=`6MOt>TnA&f$Y+UnZXZOgF}2iCDTDRs3?-wmw^vLi!_I{AKx$_z{!jJsedlQDyA_nMg!? zns9r;N&W3x6Vn1gVsZwzL(6#-OK!8C5F)dsxv|1!iR2%MACIj%O->|-%iq7CfQGvR zAp24M_MCpa7$}=cW8iI7$p$bt{?uaZq+A$*YU{V_fmUEYRFATY%gHMgo8s&G~cl?K%2N|FP;Ols{ZRr?PI(k8o1{|fz&?}H3jvA3i8)HjV@s#QY}%c zB+x)?m^$B!A*9Y^5o7nfP%b}?4k5J_q&q{`4o@`9sz|R&XtHR3G)T(Y%0#wF>EXRQ zlX1ETk8Di6{_b#dl}E?=jxz=c(pk%n)PU*2avacLL79C~U+3{;QG)8%v9L6&GJOIu z3!E|5C}r{ssq~_roEMQq*;7p}A|KZJbWWe%+=?WhAww|NP6ewaexpMLfS@D`GUyMa z&4LTkfV$KiPT8{Bf#``3bP>vxQK428Tw+G9v`WU8FC_KO%ypoEGPtZ~fV^p+b4Mao z4hX!Z!4$y5{-_@B1m3F#DCRa2NYxO~XzrI)K)&ZfN!7dPh}y>0Oz*JrMq0tm2E?7Z z7Dr5MFe{@$NaAN(y96m!ce0#P$yktAYW+x5znbf{xv3!fA{BMcWOCz$5Ai;+DGRzK zsQ7~Qe{uo=!fOZp4mp==DTh@|UeS1w+w`YB!|j+R0{knUqoztP!g`EG!uhR|kJH>3 zBvjstV81w(;j7lhm;pQZiBQY^qyaFgCWTvR4$g|q-p(*y_^7u$HV6onz#tUOh~+^jv@53)-p3|&v{$7?`QCSBPawe7 zlpfTp3rmbU4ViF8;c(Cmr)Xr*xhwCej$5mt?_peFvqFEGW#6buMsZjA(xB80G-z?V zcF@6APyzd+_l$U>sWZ5-si0@81krDx1l3;bPR%#Nm?-0|Hu;=ofVJH{_0B|eKJ*Or zdagbr{41)zZb+_6@5jc?`{gl739C;|jGjvH_qb`Fscy`@e^e~X zjDfZDsREORCd#U{52u3=85~;}JbmlHXk;#Sk&N}|sCvHv%85)iq4l5dQn!S7WP)cm z2~@a-lTWpSbMBUf1L}$x6wqyEVwQ&+gMyldpf(E_Myo&XP4y0++S<;#Sua#nf5v7o zBAtrDDKfIn-=PxIx~!7fu1-W8i|P|2_Zy)1x>PAT*F*j*%$wozg;RXSenh>+;M5fN zTEacZHtSQVG;oVw0s@1GRHTp+UyA{c&>#I6aD@I96j2N@dAA`J%FV*_ZJ>mo%`ZXq za!#m%zujMHK7MEN(lk-+LsnxuV!;IIPQL(`#B1f?6Yet(A|@v+f_L{v@=NXVh7q!T z4*>~kr35%wwZN#p5c?|~c*hdfNO-A;$lAny(g|L*HA;vME`TDcdn_$LWLKA_z*1w`a45*kJhvHl{c%acafSk`SdJO!li(fGBMewTBye)SW*ZOVS&vF#f0Ep zyYIqa%^%@_N07cVBohxDENeYgx7%2@s_IDuF7{A&`;km25{G;hu{FDW?m}Ovldp$b2+JpO=9oe! zb%fCc<4&tkN5d>pBe;7pC&^K7pP z!{DO=;p$ESXF%0L@%<5vFwUd@Yy?nr2OE3>pf%=8Zf33rY50~@ARe*nLWmLJbBXFZ z5c0j)aAgj6?{PV}tqftRnPP>&IjQPIms40+Fj-{uePh*$1Up`xZEHkc>_gQflb7`( z>Ze#^|ay*wpQ*4bdY#edJjP zxj|K1+jTv`!}*Fv=zYQGM%vB+gc`TB9SAu+9y1!PBigVk+av_xm&_LRGz4t_gSPc;4K93#!3XR!C^HsRvS(7qQU{$RG@0Qi+~? z*);&%1+*-NsYYN8fnxq}!s7vhH9>xM?lQ!jh)_ZFDnwDHgVd7$;bF611hXix7rutan_$XRX63=3>+Pu5jkx_?3Mg@?Uy6CVGTF*ubG z&H`zppOxAib;8lcchVwW-oWV;FT2*PZL?OgQ|AtC;J?wJEg%Y{baA3mP-SY1qQH~9 zGgE;9@ch|@2)^5z!%^BA0BNVOe7VI)o#PhgN#(TNVcB4cq+lk~d1P5tMa9KrZ#ctz zS2d@hv7J@V)ePv2$!(L<&%NAJXQ;vQpzhE)oph7?AqmH%E+OV_E}0;@7tq=At&Y$z zY@Kq97onLu{S~A+eA5$7o~p_>C_Dven6~9v*EDpv6%nT#&R?PGn(zuOrtHzL&#Ot3 zuwZrky|hNfsO&aTMP90RP0K?S_wIwxwF|Lv*qG<;PO|Lk#4a@_%$0+B2kOJXTRIH0 zSD5e0=qfs=oaVXg$_|)AJLUE@DLzgfA?~d@))Q3TzI#0Pse2=|aGdwmnu|KVW#MnX z+^+7X0lpIz4#GsmlK(#dbU=&0_UetGKtWqg=((x?>SaNJ-$P*hB|(8=GxPswPyk!) zml7ENTu{J5pUU}E1jg)MOYl`vkbjcEXv=u~>j;cBh#ydq)<;2s#U^SJ_Mr%jb|Oic z-`B_I79mHs5Ml}KI{94T^E~7-l-%Cy`6u~|n{CT(-tIqIt$a6oyMsSd)0FW3r>BmZ zlFILnKYt%J|CpnuWj~JZqsGhrj-w_&@&5nTqXuWnzwD^_m@==|a7}#yE!Fj+Ux%h?%Pz)X7>+2SMP*QpJ1BTa1x;O_qksSS|~=;Y_94aJPd27%nE_YrCX8sEK=+91mDFQ7KK zc?&XI2d+qYpW3hl3-{kkZE$e)&$oLCXMc*?Ab%yd2mbBUhW-VzJ>vdh)CRZGo;7Im zdUb2^?@a!bSN}xv=VE?1{;uRt?6HT*pYCuv=`-hX@+VcUpp49}&>tm#CNiMq`tYWz zYdk$Ehtkci$(y;KkipkQi*fCq1E3dLNmuk`VA|NtZZ%5X5+uX;aaP zVzG!D9A^%nS2B7JsVaiA9HJ#aLz?#n8lB6>UyXPWIBOeeuC@QLn8iQi_<+Kk5lE3L z>e*Ot6(kI<+kV_uhDIe;g<&RjR2J`mQvh13pWB=mHfN%i-Ijk#mSUv~?E&>+n=Yuh z|C7_zZkm_b%_}dh?ApQ590*YYXe@>A4m0P)mcht6k}(74$p*{=6dZvEcO^-5#AG0D)sD`4%L@bQJYrOK=rsLHvB|AM7e0r zY>_C6gE#`xpo@pwRte0Pf$2Sy{{?(X3dFiRvfz+V{+HM7qhHd>x_wTcZ}07VW&KsT z{51zcm)w39c1MPC`IF?ByCyUmG+k{nIyWA8kjr0e#ycnOOSkJScrJG+km7FDCJVEO zi@QOJ;%*XhLUA{VOyLU)LO}Kc#hFCLy^xMQe4-cT;%*|69O|<9L9-Oa-8S+OeBcoDUs`%%^ zXk{&x`ny3(iAZTFk&2co7Dr|gYbjqbpgJ#3m!Kpq1)(!ESWB&b&|wKmIM~Ouaj{8N z)@h^~@?dWFADOU>tpUg>h#XD*$SzbS=Vzj+STdqJ!f2`s4cv;R&c*#Oh^D$iAh)8acPo^_5&R`f ztCja{A4twGE!ho3*Y*6M%r1nv#tbWpAj}S~z%eNySw)H^03r{FE^X7JyBSTLES*Nl zR5TTlQ|QAeT`CERzi}9N4Y(IkGj2B6py2+lYJH~jL#;D zTLb@@XsWB6$kADjrlQ~7OQNY%GW32lH8jZ`loAwM^f9eL)ndxc{;V3P;c+z8r*M3b z{`T=`>PK?N^$ven(bFa|4$K48Aykx2aa+IyQ)fp`cq*8hZ11D52UA@`w%ftfd2v%) zEdMsU#+v3Rq=KF{Hk+t+)WcvZf)1(p^jIwG8 zX~lJoA2c!eW44y!mFM8hy^~+52-YNq7lK~b&mdy;Z)dD+`Lf0_)R6JV(49qMLGbv*29DkfFgZkL*KcC^Hq_~kB#Lyh8V=Q9g zjVi6C_~hv8Yry0(s+ ztW@QRp~}%J6aJwRM@m7AT$f@+i8QxZlvfckMB@@^CGe;|mJL;w_MX#z{LDHV>MXCl zTgUN{mh)Cy_A~074VAro+FvZsI_oLE|LNHt=$+&|ZP$1Ga%exfNaN_^z@u)m3hLbI z{j|~t4O&2>s2O>`*S|Q`e(DkLD!+nT4(C%g#zgI+C7fEVXrMOdkT%LRI-a|bGd0Wl zS*efWvHDien_bbiH6>iS8E(AtqKen^5P)N~xinhl2l%&+4GO?}PJepippS;CCc}RGKBttjm1CQ z?CnTxs`6E$gK!+qeSF=_B=uDonisRd5z1ylmgW4`NTZ!TGR<5jTGct)!c(jS>92Q$ zqyRbc5(vj|wPK!F`ofT6&h33WYni%l#?}MZU#2CuK9)>aix)n85&4g$J1c5rWMtTg z2Fc{wQ*gi2(=A;uJ8JhjYwBL#mtDPTf)b<8@lt?!VrRcEzo7J0)H*Zhvc?JKQ&;Zr z{rM$hMMWa+0H0OsZACDf`3h zQ;=)5M z6L3(B@+31yB87Njb-4WOa=2%g1vxOaOJTCmWyh7n9O7z6_i(@G@6Cb%FI2!d7k%7tr`lK=&!L@YtA;-Yz9F^sm zh&MJ%OaSzY&-(+e;7!fF zSM?{so5hAxP61vRAvHFX!p=BBJd4rb5(7vI6_wEAA*AkQ;$_=Xt?Z1;z(|stm89e@ z9R2TDv+U`I?nJ4svS+%y$b3YF?>8yH)gP{QZmnF zhldO6S|b7qjp6^zV;7JjXMu>x;Amm4W{Q6aRtH#i6)Q8qU^(u*b_*XuLU0j_7Sk|g zGgSuEg~d2I5pZ6%BB36|j4aiOP-J(e$=|F2{y@Y=sB?l9Eyq4Lb`OG5`tm{n@sW`( zoZ0}-WdtfDFW2I864+2|h?+&2u-9U0?=%FRfva?2m#sjF1A$j;s{4uJVr!k!JjJR$ z-o@7y3iq+!-u!1Ds9zFvXpPX;83FLKB(sR%|!?eY$Zhub;YN2pUVt@j$pSQ|Tl z=Ho5s#CA;gg1&$=UD!;niM06?MIsWm$3!^eiGsl&pIn~E_K6H^>3dXSh6_~J+_QS1 zZDlG}AbgViWA){xl39<*-{A5bA83RBJ5O4|_Q(gIds{p3X9%xMczKc?Gbu6|9!aKt zubJMf%~~kibpiU2`-M<{qH`7k`)2*6m ztXE~cTGp=DzsV7m8F&ebp|B4xMPzZ_fmXxxf2){Astv3BMbV;Q3pq=43~Hzjsx(~G z`-ROBXR8c~=2h8}6q$oeEa}PluxwRY3fm2;Nno7#()*(+fHPZ;)#)uFqcIcBy`Z|K zhmJwON*+#9#A9FKXAJ8A*(O4RuGG@18U17W`0-!x2pCZ2l}vdG*5gxl-x#!w8CClT znF&{ScTfa!{^@4z?vb01(bMq>nIAD*s=6YYFW$3;^jYOJb$|L7xz-j#^PRlD;#wyy z87QTaU2Aiz>ed@0qwHGuTjgdYDd9q}+2Kc*J0fya;+_jc(pfhSagHK)rXx!ud;f*L21d# zwYEwFLpH9pXcFu5~ptO*Y=|cCFX5*LOWArtNA)Os{?ic`vqsbWwxbkvRG#kM%=CBQlGVge?YSr-21NGqo z*%Z@-F5rDPTSyhR^GjAmGJ*=n91#?^ipzb;W)Lz?!plw8bc6<_l2xkWps?ATq6m2{ zDlz(aE(fW^Xh15dt+92!cE%K-a))f-*@}3-j?F{YvyX+20h{VN>VB|t)bSYF7<4YP z8H>JBEFUJ}T4SRN&oaNsXdVTVXc;XwYWOS5U< zJRm|Bl$=M{FLS*XqyJSL5nsIl(JuBOyat&8>ujx)%5k;~LKa1ZQ#g^j7`vNA*i6jJ zt9CG5Ej1zmslRne7`%Lvx#_|_Y$Ch?mNP~`FME>I;b<7su zCD|*fW82buGku+U?wj1FG&n^VIuk(UKvi-e&`^-=N+%6QPlq2iY#GDIvz85u)A;8UO3l`^n^(^Ufib z-OaMEznywt(kh*Pehu~BLhdZo)cb&*CnATseu8@MN%q4n>b*cFVANZZy|VdUMZFgx zsP_^D{RH)Xv9}}L@-phZNbgYZNkk^I*Afs_Dts@ZsrYL@N4@vw84Jg7wHoUEFR12~ zwq6?I+kX1MbmjewP1geIf0TOf8kB_8`{Rno)ceI^kxx+Xi}i7N4+1=F)c8`A#A@|q zbM5dhms-E9;WQG|F=$Z#QtG|so!_9|ONe$g{?;#~-rJ~wvd)i-DXLk_D{1Pz@i-TDmm-YstK{fg&?`P7KjRbzF1zA*Ui=jDT?`=_b*kUgN@L;Q$(?+T4- z+?fw|(D9u%{4Djp1>nmQ)cb7bW4KAZ2X7YPHpo(NIe(-E=5!$ZH1(cqu)d6X@6ff8 zK{!RdUz2_M>#6sNz9vU^ApPCM`|a==%TVU+{et0q+47)o%_wLfr0>t)%AOUY$0A0J zS)c)c#WwI@aESQJgKb1e$ttD(0TRfy`0PPV`>^tTTs6N6CCT!5v4>g2N7Tnk{ev7{ zW1*aHc`;*wXjXj8WV;q{75?Le!JwX1M-x|@pSvw?#=sdFB2vwB`}qc~E?qO4{EE*; zpxSaaIsyS#4`V{t>wTk~c8BONm0q^x!VYd@SVs|jkK}FQ(PO6Lyex0wl`w=wqOy@Ujw(KYBB|&jB~_Hk)Cc8=CyM8##4hi6 z~^8FWf-=`q%20(MqF(Q@V0Li0cnG>LqauY9oyWHMa#v$`Sy33)$v^Ewk{r z<>D!GOPIyGkb@z4AMitt?Y~fmc1-l*J60^zX}}dm;j_DuTV+udwwt1}d-iAd>}PeR zvwNj${Y2Mbt5>qCg{xG({T<{+Pku@V-Il>(Iim-Z9vM2SdW(MMi@{7Rp3WeGn$vP|jL`e*N zv4J4yID-t;Lt4R=m@FE_U1);RZR70G%-LthXpTU!ZlP+I->1F?7#h=yZeuCI=N+Cc zOtOF7Gij*qI&0}2aX-m|iBzgAXn704y?yHktg|sW#C)U@slb!%M^RBx4)DyrO-A;7 zfl&wv?9bh6cVezaH-{>hH!0R!l6m%Mx|GZo<`|i5>;0jsQe^CSaR zXY$W%X4%Jc$VMPgR6ia&Jo7=`g>e)4)j6|@CLJ^oQdwj!_M;am0|jff&*UVMVl&Y6 z8dsSll08XzBz8K6=Zh}&4A(#H;}&b~aD^R9CsNiE+hb0xkum1nUXICOq9QE=%ks zvi)%ek#NPaCWBs}J4MD-xMfWTHAqfxAFqCit_Gqoep01*YRJVwjG9E)gB=S}+Il!Z zU;~_}tIA{S*#82OLqAvq4S=fA;F25mlOMXZ_j78}#kTqd`X`7AvQX(Cr)&Zp5(F*> zF1XV`1xwjHn7dSSoC=MqB~FE)lr5-W;#7!03Eom|*oH+9;#AGHqz>vD4OH#uWpOHq zkSQb~IF3^xdR6R1Q=H0$u2e9Q;2VUlTw0WdZ)WSfgz!zQm+vZJn^kk`p3s3!_e!bV;=^EYhHzmS+-m&j-m% zte)?~@cP5=!|?ksyu0PL`F%R)s&3z;jeh`XV`}%LnzVsDcwjMIUwxA{Qu>#YHn#P> zoVRiPCT)C^Hoi$4>6^4+-|m~V@uW^IdDrRJsOL9nqr}=q@Kt2 z0@6m%`fD@QKoV*h|7Oxg|5TelAr$RG1`2;}bEbUIL-2a_=G>_oR9~&$*VN7^JA4jn ze2%o?TFxZunV?7;wuOJDX8hHP3~9qkSp-EfnJ;;LX;=U3q@_Whi^=+>{|3^AV@v$g zNgMJzP1=yVy7Hf60KtEnv{A|=>AK&fjc?M%Uqag0c31cOHhGvzySB^SKItU@w9d6t z3{F({T!}eHH)FXvgP7HWbZp!#)TKabSwZ+t)n(lq+gyxk8X~1BlXR7*i=%&f+q~nr zk-qBVNkl@Sk*8il9`Crz=EY3KE?a}#)jXl~4UIF;LQ_-X9FSwS0Hg;DgiFrRLaA*~ zP*Y1{uBG!_s6cS(N4bKVcJXoUQ`yao!d=BZoDsHHVvi+Xb;fxI>?-;d712Ci7k1#4v$2enO7sGw46XD#b0iBthXt zPEl%!^KLfK9F1dmmMOez->XKO%KSd(FVTkJG+Rt0IFi+J^tA~`s(+7DTEh35pMoA823dI6Y%rmSro!<(M$m<0bn~sE&a? zsK!09I<@D#Tg0?7*HC_pCzft?0*~zdcM5d2r{1k>g%kUUHou%1q@_p#5 zZK1SwO|0Cl6H}Xzn zk{g2o)OCgT#uyS;e3<)$lZnAew~n6l+iLE3+S#e;A67=)lL<+T)EgD4jB{Y_P@8K&(lB>`zlP=x#B!XRIP)`>icUW99b)P3 z%pV%}#1;l%10|+=a9BAI^2l&~EY&r5H)qFr&+afQbW)ZTXlh6melL;u`K($=z=qp-N-FR@x+gRGPy1{7#@r^5x8+-}Mk z{SWLznA0*=xF7Pc%Y?aY2=Gq6OQoELLo_f=LZoagmJUtzV|^vpoK146pkJyPGy7w! zJeRk=Yp&K%GI_DCi8iogQojr>wqu;-1<>MVG{bL!77d7a6Izsx!+$lj*qjFyL5qcU zjq)k0bv0vXu?2|HzaCm_y_a;di|6lv7H8@Zdmmb4;V(oM3n}d1k1Ph$@vLpoj^Oe9 zO4}f@70~WV$q>Z+%1KNOwG(=0lL;})C!?%^1dZ3XI9nE?mDsYtL_>_PgRzsF$d(0u zD(4-ii_6hiy=j59!qx_-&dU!|HMa|n*@3yUf}!x?oBOpmd>g4a9KO=96o;?#el%M0 z3l869y?*3nU!cqTa(&6q#`U^tq(;lq&HFIW3qWb4LYn42mpNXI`t&7ys8tZo0e^DH zlA>-4(%K47Z16LWf%((QmrS@=y~P4^5Yf$wz$ZXeU{%Uc0KX)kBd3!^*Ud=L^_!fj zj#Y3L602|IQcV`(CRt-Fh);CKn?(hNL>4Z#9tB2{TMVQM&ue?s zvVl?>N!<9B$DJ0|ZS3OAlYRP`8IbQvDLr^2eCwEp6@<&fm0m%(%;eTA(mS!nG67r1kh=vHmBX%Wfr% z7HluP2NpBlSS|30eRwem*3I4$lg$suSCLWT+bz@}%6{W#?W%1*tJVW^`5itZEpyAY zH$J0u)%gS+Wh&-}l@bILVv9U8xp))a#^ zVq`!&ujrc#S5-Kt4zj+Q#mP(-*ee8NgN?vIcCu2Oe)5o8zI5`;1GvayWV$?FR^Ko5 zhbgz}1%^fUec7<+R*}uQVZ*}A*fWNO%@25iVPQ@x*l{EC#iGm)5-Y<(KIY$ISj_(6 z@TF(^L_)TZ7JopFIlJ0PSp>tPTk0<}EPM;Wzs|4_R?ROqEWn(2Xjo*6?*BUti!#5b z^F8X{U|0lT^z2Ui5*r3Lz-VWJR34@RqpKBDE(L+nTd^Y=xLAY+qf-|GjJ78&AC(G> zwm%HQzL*PrfVx9J1fz>+!UtgVW&yujMIe5`;XAFpH0}#{*rHxs#h`%3@|cG$rbyqe zu`itOPoh@8QGQ-2had@AH-Itc-VavO^T2y0D{6X`uS!LmT zs`675dqBRk;$cHIyX-c_!$uK+6;F?O*sFYi`#kJKO4f#0#@Q`&MZ$*kg&gcfw)8^| z_H4yOUsoLLVE@y{U}zGH6dY{SKT;fQ*pAG>h6_U+Y#R(4**8%f>}1s(osrDJhA*Nx z*zg6Lg@Y9byCx&kCgURxHXg$qY?KboCh*0GD86|O$PeTR!Tf!|!Csn~aurp~MifRB zH3u8i&1%Dx5xF|i{X}S+dnZ@NRdcXyiA2hOjjF7?kb{jWh!WjZCj4qogt7X{2C9IB zYEFy{AaJlz?_hD7({iv=7lVV{Wx+vhIoJ@pDq>@RPFfDOwb)0hYVwGKy%_1}V?&A- zI z4;Nf6HyN|DPZ?5pw@A76fbe zFfFYf{q_txZW_N zIJ;;QqPf;SGF$$2pfYk3=H(cr9LVw}?32zQiXB2W;0X&M;@I z*Q6`$4vAr*taG8|3}^c|d)TR#G9uZE2F@iADc6o(4Jk-Hm)rY@r{K<@(AIxS;k5aE zKHqEm8>p~RSTn*8Z=}i4lO%*$s+WaSTKL)=)@+Vq1NYs8HHEnyxIPR^mCfxaAL)8!RbKvTc zChz_og*7p{2Vu>{0&u@E$0qH6&et^1wok=*0QtK4N-Im92mi;-ux9Hr3TxW>dr^+f zhxt-c^%%uMkNwK*MC4O&afW8Ul<;YlC+#V~NQhz5s}MsOABLE#x`BKMR1EQ;glBU| z2rf4|e4zAM3))-gY1a@v#7Wa!~L`6~=G1Wr+ zRX(slf}4e(ieCgpuK`yVm#i|>ZnYr7@I#>uK}=U%z-0aqYvHW2?rWW#WR9nKH`K4W zwY%m?y9Kdbl^EnFC0};!a{g<*$Z;Q*cg5**fqzmVh+M9pZ{E(doNcWqVcop!D(cdwWopa&cK#scbGn)Rb62XE;F>BGcerI%5r&22J%YmQQW1C?aYEH0 zMKpx`8q_5NI|cSkL4Sl*LLrCZgGig(wyX&;=Z{^nMsyl6Ipo+8qfF*R-k=haBJ65v z3Q)SScr1RIqpAvwC&Qr+!DscmkciP}LVXIPp}l~EyX7tvCoAQhjYN)G)iaU|IbU+LRT`(WCo2f!uvI8V1@X*< zziqx2J$+$!2LlBJI8%@xd$_;a%Ic{4MK!8oa>-0PWO_qwJ{U~5%*660&m{Rl(dJo$ z6|u%U0)>rvON7#gdtwZFGW}#}P^D2hVXhXJ4(SJetI}Mqi>nT;vF7snD(H--+^I2W z>_VHTi`e;1w61)7uTh_t{^*4R+bUJejt$>)WQc3xd7G@5=5nPGyJX?RbxwVto(eGs zgf8Bk&nd`dpNd^UwhQ>R?!MMKe;WLvnOLxQ`&p+8NI%=8G=#hoRo}YplS*k zp`WtpTg}eUXZIz+Pdm&O+1(_89&bJl2K^?N1_k{F?m(O1B6U23lH8LucG>HI@(P*s zpmlMrdu&}P_vh3Cn+dD;x}pP&$P4aF8+0Ea34SBZ%{2+vJ%nJTip>n(I6`PbqT^=W zsFZq~O>inWyF=i^#V^H?yG~>$a{Z4ltFc-sXLc;z>BHz|T2~m&F=kbm$U1MPSztCZ zh|r3t7ZzngEL^#l(;EY`Zbeh~WI(mtv3Nrf+a63sMVe#n-s)JKtQ1uadP zh#;~KUuMxnF6UyWCP=H#R0W6OBILq|tLr?Q5~ju%vcV+$S}c5CDJeOTGC@%VSy`K{ zv%s!BHV6zlk0?NyP<1NZCZPRstpYD6+TX_(r ziH>%WwObJ`AN(4Aa0LPR!!qrt5;3QaiJnef>87fGPld$r1uAe(X@0nwQbc4WEVNh_ zv-G@`KoUOJMK~E?FM*iR0(_1w0%5<2!ELHUwls|;yr?V z%lKUJK)Q20Si~h4si(ND(@?<+??ag>gsoWHeaBKaLz`X8xoLcaOAQ#}-}g!&(_}EN(FK0cq!8?hr0eLK!iC|U`_LB#XSQX%-<70rY;BBB&y=@W<;v8pRNnW+h?+Ra=RXYwD8LlfDFCi|;_tG^H( zulPLJrT7o0x+j{D`$*aeqLlr$WKBQ>YeFn=wk9Bz_~&Z(>O}RoxS{xD6KtS$s5npy z;3dqyY|)_hc~Dw%&~?9ZKiZK#B)%Ccd^K+sjK1EOC|QyKFCd|q9m&ujs0`Xx+;Aha zL#(jsOHawdlkY$wA|FNqdPePG4$^Sez9@I zOpP0muVHo6Tt8VuL$u%1Ka_ z;zooZIY9hgFWKS8jmEL^%^o(6ovg`v)*jU&Tc=3KA|%@dbtn>5wG+6@(JdHnruaqB z!&iMsWahx+rJ^I8D2?(YAgnoVpME-aoMJ5}f03KWXO(#_z3%C>?dRH=ijzN`b#C(& zPj8$r8FXEDZKF(dp;}+Vx3uBBi#RQa6OtCMTNtdt8JyL~hdkR}?-Dvd7L^}*CsD^raQz0G%NTVJxK`FIJrsFUiU$y6a zAR0LGojgv91v`^60${-||1_wziA*Gi%6)o?5!8n_@&LpdMU(WFs- z0k}O(2+}?3s9?$*upX)-B%fnauI>5hP2~u5ha4gVs$`FI z2pG~@-473=jU(|3eI&QPD-(12cXQbU>H~{ZwO#J+{?yD+2JVSJd(3yHLh^R*2TpIR z6rQ&hD<}A_gyQ=!!Pn_pXg2$G?7%1!Qo+6e(nIV(>UB6SUI3>*!VaiwGOz<-z0H?5n$Uk>})N|MYC0#zk4vK|EzK$IfGg(2k6BEjC?S%7hwk$H5|As31bJx3T8-PGq0r_+y~f!wM1`X2OlkL!{ju^4(uX2MM4(Y zLOm8cuxJV!wU4lah&=1D11=Nt06So%{SZ4?>^SlLql-R|9n^g=*FVq7e9qgpZm(44 zVpdw#kk9=vv_b)bp}7SJMz~az`OKR_lz9+Y!Q{!&xv@gNt+`c3n=A@N;Ge8|P!x15 z3g}kKYQtLL;!RM^ST&SrU+J|$dxu9s*!AYeR;lz?vQo}sv~KG&`gmQPC?H;pRGH*u zdl$`JssrwV586*<*$rSfbGV&mn7d zGSjPQE6jKmw>ZcZ1px_)hMBe!p?7_$GPTykUI@7IL6jKbWxWb9&v0vO7C^A_pEawS z$j%{yBXj?=Ap=)X!SAq8~@2#xk`+T_G0vJS>tl z6w;Z@)(^Xq6!8B1h0`N%Q@}cjo`d3$}AE~RE737W3G&|Z!F4ad!|a= zhZ%69d=CBi`Ny_;EeSU z$1JN{YwPHZerm@s^Jw&mNuzIUI_mtG?2Qh;&FRso>4XD8IvIxlI`73*K%XHd5_5ptdDgzAnfX7mb2$EnerB>$m|RG;3}d|&=D zKA!2b;dR{4;$U=;ScBx#oTc^bgI_`4b$#E?epmfsO9b{`gOIE`=Z>py8ke%xq)zV7 zsPdumse%$%a`h>?<&#d;dUl}q|J5(kytoAD(w#o8T17&5669RM>kv#4y-e*oRWvVX zG@^NB`JvFf(CV3KUi~;Bnpd-fo_zD1GuZnwLWg0z%gnh_y4rm1?cNQZz5-bOCU-x8qJXfmsMUKjZ{0)`?@& z<&{*et-QB(EiC$V9K(CIF>~3nwVq)vyOJTdn9Fhkz;P&+D}=(_hAf{PkIsuV+FAS(L8zPNl+a znhEJvXZ5VGU&e&Q`T9?1LRLGE{~RV{kVR=dhw)YxWlQe;zmi4yaVBJ(MQIn&A7w)R z&yhvB-}8N)4rTsT_oP}M;ih{Mgt^$Zyyu?G;wC(BPl7Cz*gXldQ2vyA0@2H}P{=*` zi?UDx_aw?f!3Um5`77A0Z;KDN`~!lkX$`~6BjVWuRObhBq`y-WGiA#)Z|;>@2K=k5EtMe zfK08co6R5PL0rJ4!76P3_r?X-^1K@tSd56jtcnX{b2}7sG;sl2_GzXnh{tPi-9e5E ztd@CsdJE`duxlwUFa<<0ya)vW+U7){lc~6XuhRJ8xPa>}#5owrx+*$x4$^yZfnw2z zn{ffl(VKkXMm1No?VbM+RG+;bNwVc+byQ1ZnjM>Hpi)pA7w8f>2eYaCHc-`2jtdyR zro5Ah3(R^Bi9;*XyO^3={AGL(?niL}>xuq?xIoEGx{`i5F5uF_UlJF%PVy(?0@ZZ( zJ4LsA(h4Z)O17JR8AxgIhHsGaPl1$^6Mln~zZRrCZ?DT?d#O3HY7w}jSa5+ zYO88PREaKwvY%oxz!0OSpx~%_v@0iniD%krEL83ug^lG`xw&bim1DWZ$z`MuRGKSV zvoBk`Q$}vpFUX6kw&M|3r2`C=eX;dIEmvNW7q!^ptpgXA|I>L4Ij-6I0WoIK8pDz=lv&o|0~lI>;<=nv;b*(TPM z#c@9`YBHUAZ{$Tu7L=Im0xaCmi?TI5DPAE^!|KbnQWn(ByeQ6qV!xzV6k+zK0gE^< zs>tqsNnTX8odDR2<-DlL{}5VV;$};bfLW*s@4dVz*DqlBcwUq{HisW-O~dZ@Cx~15 zPwVsby`E<$zmNl@jLF;rVHI3kkoORy2Z$p@yiZiWoLXU{$xz*#C~l)|H5Iqu?tsBY zrL4IxmXxwia;R`bUhu;Xa8O?G^*%)15M}!6nX_4ye4^$@ zs=Q!Ov{LoBuqZH<7o4SU#q6y%#XFU576|OlMl|S77zpfUbGw;ZZK=TSY{m@Ff&;s@ zlhvRbNPu^W1`^eYQo@*vNwz(``Eb!ZiT!n(u{jvqVu+A8!8U59yI+xfx z{9aOB+a2Vq!Sz+!i{^(sx6rreUEN$j6JIeDvWeZ26T!L(ei)EXc;j%V)4Lp1N89Dk z#}%pNmAQo}30GU8=LVBwwa5`fVYDCb$0(Z^l8$^baI;ey;TjEl#<87}j5;MN<8q0I z@@8T6S<7;Iagq;SkE>Q}VsE7`av9Gd5&M;<(3;=pdMO?BZ3=yxLf@v)w<&b|@Y@u^ z)c#XUp>=&Pz2#ne&)4MfFL#k~6`cYIFzKQ*mfJjr4P%P=m6|Q)#7cgS(;v^&qjHso zHK1EP8Ey~OxD8|6H8v~~C@I%)# z7R`iBBO>e>1S5l;#CUT`PQ(lkNJY;Cxq0|>SY~{px~jfZ04!17gNix;D9^!1b}Lss zd<>8-b%;)ZQc%^)U@#stbka4=Tq@dgHO;_yM-VdEK(}gyoT$b?GQ}Ek!|an%2Hk+! zRo)2`)e#(EY3e^*?AduMWd!W}+U@gujRoRB6?2t*KF5dZJW((~YzbyJ^_6_QVR8vX z`dAI}>3+tCAhJ!XxseLpk3lp{1-T$|NelWAWJY>gz0BF>!w=nVz!k|E1J3-Yyn(o6 z9c0Cwt4g)U)y+{=s=5)GVw+33HMPl~2Bv0R^FOqH+!!Qws_2#aD~Na{nTbp$ldJy| znp?cb&l zTaIGO0cRDXHc@26x>${Xnuz#+1ovk>nq^ftFoK|F)S=n{A9A{|EF19yj zhxr_4fI%%r0xc-sY?_DP3@%&3_1A;T=cXw|tomONT<*&8RlVz?tl{t8b>F?~lCE=v z^Znn{yKYMRiroLm<)6^I?$s4rd=}nFWMD#6JIj$Owgkub@9JGAJpeSKYLib#Cf0Re0 z@=4okO6&V}zFqlM6WOGasoSiwQf{yYOF5)7#m#Z;(Io9jyezm7T-t0IgPT41Tk$VOOQ`N911Hg`#oJ9R#Cj|W?UT7z5$B9>l z-K*;c{;P5(!%F%N|54yAZF!t2lfl5$HV*1h1WdmmvUvHDNxsJMIL>X8IwRGJ2Ch6o zX1Pm)Tzvh9{o0lC@s97i664@_p_P(Gaip&(L~v~76|K9DRWDCvgq(KH)c4Er3bGdE zRoS+cS-MjRS=Oe;1{|2(WCd^PWug=Ks z>=IIDyBiy)&HYBgxuiax)xH%_sH_oL)=gb#ZOZ`QmIY zm*d3*kYpVqelC~1->moJ3ki*%&8o_&?o)9o^IG>a@$zP$ZsOXEjIyE#79!0hR1n+c z$K&AaP09lp{{>?wNHpUPrc%tr0z@Pb4#T3B0B;NRy1(jd8XLqJrTL2R457lcOW_jWv;dD7=ST&uyR%` z)ZDEs@lkMXqnO$8+(v=DvTBiX|C)~gHex@B+9aL?=^!|Pb06PqjrXQetkr0%kv6{z zLC!h?ne6nD0RvJ6Y?{?y%L|KKjzCBXkfDu0ICAx*fC_wi8-E4NnRDx{7+t+`+G^zNqyXT5m z`|6Vl`$*J#rx?_D^qN|6EyBv&fM4eBh0GSlQ7D2)XCKIKzWm+QpfBc47T>LIahv37 z(VLfSRN$cKhiY@)9+Sk)wr{En0_JOMV31K9aKoz4dS>!9&e7^gtjzqg zFFNXigvlb##V>9ECj8vHz0Hz?2R<8Y&QtBByy|Xlo$bi{Nwv<<(;?&*KO-fKsKAKh z)7+rJ!}l5)c5?Ls6mPCiE!#H{oo)>BUB@6yIVg4!>$JIe*;<3AWBF97Q|GehhMpn1r8CDCG9}zZZ8;rh+6AKxu9&3~xH8RL6$nVG;fc_yEv38ctFkcd=k9r8&ws-w#+v|Y6OV1g*w<7r^9A38eG!R8Ex_H#Hp3ING4x+i~`EF zA2uSHij@S&kW5B^6(Q|jUpm>kQ(WMB>Zj!z1hJWydAwK9K;u^SV70p>tO@FZeheTp z`yL8Jyc8%bCiEhxZ;?ArdqV_Z^Uwtc0h%Slaq$Jr6$(yNKy`p+Tlf8vpslI;ZzQvD zdgEHt;@6=>msp0$ra&4{7j~i@4CB09kvb?peLHPUJ(puzVsAnuppWx*2VIeRHJ0W` z9TZ(ZOXVF<9AL5ME@nj+^=ksDOBprPTU!k5I_esP$<}IXjNLZJylZ`Daz;S4F@W<1BFKDB3{ zF|^YWNF(Xp2-18)-vUyu)rzw?<%QO8ZE!AjaL;paM~=_Qlr9R(taguKGq2T zo+KLq3+9UWr98gN@1lOn3bX1XEk%T?-5mpV{pVW6v6qZV9VVN)Jt{sZphsafDYM*Z z3WS?lbtK=HNzi1A5k2>Mt1;ZtX2+Kxp-xR$SWdlQ^M*_#jr%sSc&31&sBg?h^6a;(tH?0KcSO(=5Qe^Au` zP*eh16iOXo89M7QRArg*MsHYFU!5=3x1v}J)-e3@i6Ji9+w0DTc3F}H;(dvv5BJKQUNucjZ|`i$($)F z(y{zCm!22q^S*JX+8V##$okBrWv>2hDx~qSBsjy;;vG$^Zla5l1S5CQQvIr-^pq+> z1|T6U`Ickcf;6_z{1cA@bn@qO?>d(AA7c+f`3U5ii0q3Nd3#+4-ax(hw(X&}gduZZ znq~?6l?GqScUny8ywvJSblIW*Qqj%mzF7Ikql?ZKM_S)uO-1$HHLFCVqM%VxMB;ick4HqO%toOYEY*=;A(8r*mk zEZ{4VE7rKtpc`@+-lE|7W_{Lw$sf4nCf;wJark^j>-+96)9QZB4Am~rX**|eJgT=r zZ6WY?i8cwvYcSyE`gK*yarK<~i1V=`c)OqFlt^TGRaPqgJuQoZ$~GDL;bN zMMSU8tNesa3R{h+`HD-faE|;s+^{3!j1(d`MQ0m83>GQ0^~uQ?_{!A2!Peg-O=zTL zW*cbh7tatZN%I1dga@;wyvsgCSnO?R#tPwRuPL|Zp{VR zuf>~%JE)?ALmJ8SXCyD5O*wvmmquNJ@cyH29I?B&xQy!Lsr=rq^7_ywIyZWy0r`-Y zdXW7y^ey4V%Hcu&nH~NaqBB(`3XvNMQFg#$!K&qYaX7KyLW7mzrNYUxkiaN8;k@6? zSb^Tr;O=O2V$;PPC(sAwY0y#6>G4=U%K)<_p;^ZI&@k5P2@avSXk|{23BU!gGU#Pq z`&oIxiIdfqXo(-Ix#OoYRe>^s7Clq_TFb7XB^NDqX)x)9K_qx}b)tv$#rM&WE%!>yLb3HQi~I_AzS0f|i% z!&t>TSSK56Vh*@q5liKyTV`!f1a1A&84_};|3r=v>JR^M1+o|^M!n#Wn9q+};=A|= z2o(F@7Y<)^$+sbU^U%X7>@dP zoh!OLxLH60I@`h&EuwwWIb zul~n!1r3mS863US`h1pS?&YB|**)2*_Q!|o?ys(T-PzdjeCE;i*U}wMB!99qrmdY` zDP(`4giJyq5jf}Dk^-cQ&3EbH{H+ohrpXR*Y)P=~k6a;y(H*CLK}8GlNl_@v{!)N$ zXv=k?>RYVt)I+js9%*Su+rq=3$KxV2j(=nxJ5)omi^V#0H3^JR0yNUxzNYD z1Yi=feEszp38zR1#`EXDP+oUZ6z041+4HJN-8j|QEu&qbpu-g2)!1qrAYD#Vs^}sqMrk3d&0HNxGsl37(~+Ns zD{WwU1bk`WE;|@pls7mS47eDpbZ$kp#HIXhbzwQI7EUS5%KFY|T=DlWaZQ3^_5I}_ zMDVHrWf(;}54LnfvPIPMUlnCf{$oTB!d4QixV?V;F(Z1NJ&Un*sCWP&J5kR4)J2(@ z(Yx7;Y{s&>o#)GIe~ZcV4Bz8djAq47;;i@P0I;7G4x!pdkuAmTM#JaPOnzp@)Ts#?C*yoNm&|e zqdYFr=f?7Gi3;xBQy*{UGo3^^=S9j{GlLa)s)|R`hikTs$%LRdjFT zSmaT9%evtuBqZ)9E(8u2Vpr8W5uYc?gHIqitLE@A*-l>VorB&UDlGpNZ(OXNTu(kN z%g(u^ags&;^my}k4MDH|ZcFKYDtJ>4Svs8!K@B)m;aOY(3PU0u}E-aC+wgEbDOPaiZr>6KFQ zB|M04qxmPWnWOcdcSC^r2nph{!Yr4BRXGGS3OS|2DFQ7OJZaE{(ZH&j|2j})>`Uqu znYOGq(iWJe3W`BLBI8|ty1^mFk)tJrKF;nAU~J$%tlKP zLRBwXIJH%VgdlU2!G6b!D|J>h6jkGGY7A$E^j2mY`*tkjVm?_nTDC4h5n6UJYog97 zmNF9QZY(O(KCp;&W%LX=ROZ|IzPL3Bt?*S3JQIkhHdtYZu1N)n_`AH&o7}tY*YGM? z+<%(mI3Sb7s~t92IDvnTY1(Q0>|#iAWX@;n=fxOocAd;0WnPi66;J%8yj`($*m$(M zFG{JbxBs$E`lW3|R@z5#{d8I3Z8jwEu-?8wiGeJk1|Y+5h?U&~Rlyro5Orp{p&Jx( zRO2`*ptL$SQ+sJ*2$&S$Vr!uUHH}(6uJYz4$aPQCWGle8q7LwIYPF~;MeLgMwy?1y zw9NUU7BS(p3(>x;|16a)N7=gnEuf}O#8OjcH!2?8zx}HGgUgu8{q2-r5Ts;*yTkDW z)VSMJ-P&=(O}zL=p+C2*7WvwU9}SE2#to&3ebHJg_%d9&=+q)d@Mg)5F?6zNv{b(~ zAoG|&qv9t=*;wabgCHZJQ$AfB*0M!Ou04B*zYEAb1?i`BUH<^82ZWgD+Aa-l^=HUu zx{Vk?*+A$&^5v56jg)Mk6~_HS8$YZRp~SaJ=c<_(VC%b;&EU{56r!()a&K|{6Sq2{ zhMuE6dIQ_mKSouj_$(gGir>YqM0ttkr%gcMFwB=6UnqfbX%%|SAcE^)LdO8wfOcH4 zatO%qEM)$!D|~A917jcQ*f6b`Ml_-6;mr?|D4ip3I*$J(%|o4q!Yq{Dj47DXezI(; zOZsId+K6CiCY_3S&WD@?t*z^V?W>cH=5qABur7L|%(ZnBgK>aaJD!5qhMMQy?^gEy zp7os((s8*Ky|(V%_csHD4S+zEa^&Nz=)Knn>TQ7(fsegxer#kBxkav^P9*A0TN=|7 zpHJ7|Kk*yZO{?H5`d_3%-AdiuEq+1rUNCL) zGEdH^$5R+Nt%FHlo1lCWM-hW}7o#dFyYzS(^Fq6gx6}J6&2P%4`miK6fKu{4Pr5w4 z!fBqTh!i}9h|!?jd1MsNlMg|m!Nz6Vp}Z+ZQB4I(YeV!E$`Y=Rh@(-=Lrn=Mfe0KD zT6uw!TxeLotP{Oj6#~kl?2z06X|;ydPe)Bm6R6U+I`0cY^&D7yBKbRJgMHG%b~=Go z7326{dMaEhtg4NKB#|q9QQT~=1&|XPHS+COO?s(vjPuvVi|Lg&P3%dU_j!D_&IWIm zf`lthp&fRIUg-+%r%kng*D)YOs}7TjD>ByNWoU;_6BUX>8VE?tPGsW!u2?iM>$#JQ zZs9Oy)(vMG?uAaeV^|WZHZAFf;Kb>2Nt>qDDCMD*CtlxXy700@@`ukzMaUUm^V0KT zh3v|clzAl9$MAij6`5aJ%kDBISNK%21Z>%X*Ng;=c23mxAaQ~)4j9bO-gklhU>pd< z9>xVF!77D{&D4L0GvI$2=3r2R^&+}YxQfz@Q+d~oE$0(~M|cgsEJS7j4|K@pE%GKge?st5Vb~%=IS;GUc-%DJzCvs{ZrHguTVW(%xAbQyalg0#LOLKR9dgk`(o{}2>Suf-&5rNgQ}gry5}9a%4`KCmliGt2awg???Ut1X;f zPE7__ZWIZMX?9?v7eTL8#`kt4Pa|<)IAi&DgKQ?3-r?ADJz-2-^x9^QMAtG_C0LYa zAfP`f67&wJVj1U2q4N1Y20#RVEZBoOqO{-?Z=M{hfmpVhyOuyxJq6C8v;Vz7HcPIo zAYxyPM~*R$ABiS%6JO?M5(NFOS#Wn+O`};Fzn7g*H3AT{n3b#&UNG5{{YE2+3l=uua(`%NR<(_RlQ zW!$!(gTVn@2@&46123e~>9n)@pdxKio>Ze5mejAd)wMvnJ$}Q*5_M)fdcI+$xZ1I< zY!i3}_SMA92ZO%4tFC1Ni-w<+;BSIw=9aNc0_MR`c;iSENk6=Tq>pBm4s23G)5)b+ z9Ov!7#>N!{2UdE8W&K!*h(bW@|$BI~$>uyuz zmTp{lPG&Mhl=_vgEesiRRMk_X?Ene9ikW^%;PLXW%(0F_B0ctA=(KDXT3OieubQ>B>2)JA z&9%hfFM3okCvi#qqY4 z4)A>Yc-<-nD~Ad>q=t8#Wna zi^qVTeh`{q1`44gB~vpN2E`ypU?MPn8L%)`X`MNlhR^1ynSt*3L`{me*T92P#Kia8 zaFUqThWGtWu9O4GL@HWD{mK66&<|R7tX=JSV8CMkATO9dfmTY3D`#00W@P~D@TA-! zPWSO=z@WbtQ47UMJZJsjNwARx(sQ$F2+t%4;lKXhf&{Z3l!8(o_nja-zsG}A9GvVP zg)c}f#`jB78cMH>q51#9wY-(qfon(FyyTBlf$> zBG(5R8OGNdLl4PdEq^Pm^jQsOdPi6*FdF{bNcW=xzYw@c>4D^d;ijq3A~JF!q)h|( zPj#j^IS?B_FQIjX6TZN?QJ?>C{OOHtx0z>j7J-CmZ=hIXpA0{p39ttqTcpme zjU%@)|3VZ&D+wN?1o6!_q3<{)z5CB%MM7GIJQ4BmP}V`{bfXchlzAyve{bdGek z?N+?4VUP3E#o%fn>~rtxedY+Z+3fU|3K#%x51R$cbp-=kps2Znm}p*&&xXYz2HV|r z)M~pbaeA7_(^U|f0B}m@p8~gL0@cE)T#Rm69&2}HK36Wqc>D(Tp=9Io=L_O7J$XvQ z%Nv9k1-~4u%gF_-utpp$le{+A z?YtAjE^2Ong9aDKwd1t@$&?T|^5`Nd0YU;k-!R0Hc0hf~=-6R7Pg~B2HAc)QdWFTo z{)aDh#B<02K_r?O4k>2emC2wiKu0+2!EF?0!Ij9TGuSkXkR-=z!s4(gPVkUBu>7cJ zh5XML6j>^`%iX^I8GM`j6PDc6) z(@FP-duq9DSHRjt8%v?oZbJ}Wf<#_f+S=G;S)PO<%Mg&ct-;Gc(%lU77e&vr0tsXj z4VBt%5o&9Bx^}qSqEAE_(9(!Q_AOdM>9l`L!Sz(F?B3AIQ;(iq8!4=E65a_1bqOx{ zFfLv6Dl~gd@xBba0*>?bMmjJE*#|A7*Xs4@u=Y2b5PFhbc-1rSJN;Gm(9z8sLgNJO}0{++g`hQj0 za{fOzz_PJ0|6dKT(yj;GNc3yZRIH#L@o18Y18&Bn&0CdXCi`2j9D1BWgIg~v(>KRn z6*|#c{1Vh6isUdhAo!2&NnW4Z2}{RJcD{?pTUP~_?o*`}>m?TFtvxCF@{jEo%4^rp zdf%K`7W87yUC(c}%&;v&#GY zralC;W|}*X9i1_K?>=-#KC0kdwmNF(O?|{5JXU>ujq_Z;_mHvd`mcy@nO(HlTG3}q zZG)y?Z)ReeIPq80aYHss3sTfGfu#GDCh{|PFtF*EXY8-O{YH*>CQxGrcJ;`Vx$C$p zJg6rMW`dyNLnWs&xm3+ez>NLBW8T^swS>d)Z}&If+^^iyZ=ko6&n3-kX+!Jr$DPso z+_(!;>pth*-TAY!&*#zi`#0qG+q>iuBO$P#QNF=OlM0?A`c+oHhIjcx)vY_*CZ_V_ zqilJGq(|L^Yk^DEO)6XZj3y!2{fj}QGl}G~0eAq=eHu-pz4EY6-DF^F*e<=NSvx)f zoB{3iu1!zdCrPYu#y7&4-`0VpQt=$uMM`fQGU9ogYe4L-+kI9!bNJcmt#>u}=1NXn%MgW&YKXiv4y$&bYB7j9_M z&5H0>Ovaw4zc{%q5u5th4c~iur!(8X(F2^uH@GXl1x#Ze?ULGgD(XHZ(urMpIf8XA zv0oLB{u}>TPj<%~dfP6TT-LcFzJcVYejZ7QrM?$|^Bk>{3x$J|Qs8UOfpG5+4p=Vd z%E3uj3T!{=Bi|{&fj2o@@JstN2Pyj(C42*GQ9w?DXW18RfYRxTo|^JR@_U*xR2)@6 zTt`>SJUWGwe*TC<82kdu(!ipNsdPtZiyRiVn&)Wx;L^w7?@?9H;NiwKmiuRQ@d|zW zDz+JJxe>@>=j@-?3+IDN51Hd#Q)JCo43uP80u%lhxVSYVd2l+xlMI18w^EsYU8K-%v~~Q| zjN(sHDbg!grVPQzd_7C27zkx+Zwy5pgTh-PHv$Cxr>OU3N32|`A-O9R&*Foq2AAmr zGzl8Wv4&y-48zwF4@lt_@%SRe;q3=U?dIHXQ?mnOa7o$4Ns>S3>Lm~BkGc2wC^T|p z#0Kig0P%JO#I5Rl$Vi%4%c<%0NU%cD!qRqaxcxFeTgty*)b1QlEGBK>FwWI| zkgRiaBbynoJ@f0jSL%Q7NU}nckv0QP`cI+aEV?s!pV(o;5TsFjB3y%ZP#afI^ad>s z(2WDiibB|y_ zu&=Ztj0+c;A855D3>sFqej^Bmu1}Fb9s=u63u(BW$?7SZAoM7-RZGXZ#Mor``@-VU z;t?Viuh2+7sMrBvJfa>eG`b#vAt7<|7yO=)Z_bn%ZO6M{=wsrjd*CS40>Vi!eD(U{ zX;g~KrMl?*o`_dpI#46ohFPm5&bYHku_WUxNhG=SL}$~XhdY15VL`+mG~_C2PA&Sx z3^sXD0<|_ZcmL+UD!4WhW-~XeJ3G1n)!DIk-lO2km$oHZe-7u?Erb(y_X;~%os&%~ zx}a4H?|U)r&Z?`vUQaw*ZKiZ&Ym1GT>GouNE~&-vmc_8E>BKH<+Wfu({YKmfZVLR) zqNS;c`nSMV=tpr>%v2yanZz$#pMjrw2H60w&BA>~_|Vn)cqq}{l8xToI$*U!5-t8L zY@0I>fcsJzZQhx?ZomTS|C;8I7X7-*>HcFHw-HuWFMnYo4JdxuaaN6ugWa%(xYL`0 zlsT+yeR6(fY=ppN*|3okA_c0@m68xVNO4wazF%ba8UdjsUTCbd}ON?1|i@?8qC{6h{O|WHee`mk3mGcJ2j*rIOxyiJwc(q-W@3WWFe+*&+-s8i@B&4&7D z2Ar*i8*D;gH^h?HZCUAJ78?efIH5Qk&x}wOb~;5L<>F?}Hakcq zj?0~(5!*c3qJ@^KIte%F7057;r|vwa9qx0k%N?GS5$-9Sxy^^cctZ7!8vJ6~%4$T% z?7*IDl_I}6t($xi;iGGjw$w@AVZw9)*@H^#Fn>?muao@8~Onl=_n+l^BfLSaVcAk0Y~F#69AU6OzOg&zOKSz0(d?g06*}_P z&ZdHH3G6&RJgpX4;Z#r^&AWL$Kwi?c;$>C3bJuoolTc;YVl8&Gdbz(|MK?^ipVa*Tg1V0}Y_p)FTi)J_oZ z05K2|IMH|P!PbUAadl^J>#%x=@agWbO8fC&Bu5XP&er6NH-B4akI5y`h+;Qs8(lgt zhK^n&dJR8_C!iqy3YVL+jZRRHVSffIGtg1C?@%$yVwaT%j$y_`?Um~{)ya+%z1d{; z-5W(40xEQ>pgT#Q>0stIEQ5L?%zMCZyUb*Oz5--weAl@X8dn<~wJ1#+-OmJJ@Udmk z$l1;vV4fuYKryR~NUVteH)N{rH2P8`EWsd>~drKYUqKijV?SEh9Po!sLzxd zKCb2{Y2^=-7zPi!)PyQ43EjUF3olPceI}cRE zw2@5*o1Ws~K{j1XrF4mo2-WGRv$~npOGdIOtfG0N>7;4nGgzrefZ?d~?A(gJb<-=Y zr+(>78ELaZitMUP?G{{K2JWcYj$Vhs#u%w*GxKl&i}EUm|JH-C0rcQq zY89d`LvX{Na}L_=W4fBIhw`s-&NxhaRLuDOw0c}KRqeQ%-(-S*Lr$iU@g4K~R9il3 zhy(|z?^py@@26lpCa6%$9 z9G{lCq zFR7xwfOC*Sc~zm$gOmsnBCiyELjEB`mq3}xOQhfw=WjV*C8vFZdjaKW^H2-3+pLYq zGkoua^8Cw&VC@T62sR;n%T~tE@wMg)Vskdwq z$gx=cM5{=$AgKRWMKnI^bwZ{mq~u_5rhC|=w6bQIsg~wm;m(#EQ{#PmHkhYV9Ma*} zD?IW$u!x;nKEN4;G{QEfR&&408p9gLHre7{8OBKtBj237`pKe3#*0}LBaej0mX6Me z3k*QrE5fSej{>af=Vz9u`xJUEPGU%MI%k)!lAkwIAl$F-V(@zYL8d`}RHJ2jsoz8y z6FnLGuK751t-G&JF1dBzAJ=s@yDsmqa_HS9QYRGD)_tKFPA>e*I2G z6>WB#$NFn9x%9q^A)O+?x$nl#vs!!qtiwl0n$>WHOUTS=c$%;7<!@`0bZHU1 zqm!dEsp1Y+6{H4nXZ$GP+Yv^f>oJ)eHf~M@3p_A3N(LzMB9GB#Gdsq?hRYCiq6RZH zGM1}JGV^(^j<^1uT#zB&GIctoTUCBj)V8%=R&@^G*zbU=9Txwla%17387lHV!UwQ{ ziD(rdxelLJC93fF2L~&o@#JVw$OD+9B24ZFjWHBz?(0y;TC^nn5XMX(G*Hb`?yEBo zvxOQ&pqkfV0#>qEUAxs4cJ8zu4NwS0Pz1U|;oq42vci_xcbJ3v_k#2w9;*@iOzp!! z2#7j%NCZ*^IyhUx(v52bI2Az`+hyXec!psBzs_r)?-h9bf%+y6198~Bq@ zcVWm(R%8SZqlq5lJ(y_4X*R1HU8ZKc&_|9*YHy?htfdOk7;qUcMrrbGcEG>}|B#yuAHIc3?xhR4~;|SZdIj$Ssr) z<|dXDr;_t7TGYR2*o~4#B?LuhJ9g+!K83Y9`$bPoH9zXHx%CTlK-1-YEoR`3IEh#W-0tZ+;M9U;GAEO?39p$}5%|qO&H$rWt~9 z1Jf_O&HS4$dYw<)@a+aX(8uzGyC-`uUX!Uh&2=HO<2&uO++a;ABi|E(0)MhVNfWXv zvS;8FZTRUkR^Wr$6D5x(I%Rf*9m_>X(FJ}-rBZe*s=BJ^4mvXU=8;cw+c4#`K|uZR zr08E6oyE;3VEGKs5ui^aglxP6jgv{$)jggPCCOAws}ojbqBD;|w#sAgdf~y^8`q0( z2`f{Y-si?Z`;|yvOV8v8ihmPJyCO`b{BS?4G-<0c`T@7IC$~&A*z3@{6>V$_k(3lQ zy|tKJL$&>ai}J2WRH-q!SDAFT(w!!$1dZIqT?jTI%yV-Tkg7vdUUE4k^`sl?9}7|< zZ|QMEuDG>>5fD*)a#}Fcme|p_{nUr_B4`9URTh@tMrk&X^JepD&){re&+oWnyrSZYdHsB4fFDsymv>feaF zvx%wKB@yoSIZJP(Sp4eM2bssfi&G778fF4kB=+2i;(4S#xhQ?~OQ=)@%|t})>^}-q zI8Q1ANov0rzhaWY%tZhAj!JFktErt>WIyM096@?(Zlfu=xIEu45I${h2K2n1Va40T zm{j!rpi(P|A5{8kSZ6_ur%?uAVe4!KX)|}yR{6@8wZ8RyO%8cx7pED|fpN)TeDL}E zz*Cl)S7iZps!K1mkwRv0(98UAinFBrjE(dT6dZXJZ8Z}QIs09!=)EDaIYEK4w6{A> zA~zHaXut=iR>lI^NHMi7?WV}Jwnxr#@f$XFwAU~&AvgKgYFxbQhtKKtJdcdM81$r% zbr;x2mt4BLG}Q{wA|fK9EnbT|nw73=Y|JtfNL4ZGZafTUNnWJXenzY5b%e9pAn4Ap zRtm@h_mgs30@3{l%|rPdvr=_FU$L<@6roNHLHUrz{^Z=44Pn!}@FvhT*j^@qPFNVv z93gtCXld4ZEkHK~w%Dmn0VZ|l>aS6$O>t>3=j8y}s6$rTrlKY-qy(|XO3p6K=ru^5 zOkM$UuaqTF&YI(I12z1R+>k%8Z`T&9x5X4%Esg!dqI>@dt$n&(}cOmeiXt^PQ zlEV7bTOjIbh>Z%a^ZVMtQ+kvNWSay823@DAs=u3wz&|siS{70zCOHD$LSnQcW=yxF z4^XDUo%*_lhA6!gHzUVu%f(4}$x)2VlUH>*c-;y$Ap(3E?Qv8H=BDU2 zOkU(vvq$cD8ON4!9LhOalQfY*nGiO0w!r6ZdzVXYWJQrty~(m^-0G8~EdBdLKCz-BXf&(M0C3 z@7zXo+e+NX0En_D;Aq!zjgb=6%gTn=DCz}pN#K9%bg9(Ql}N-P%{zKEc$bb*TE$VF z4`1$4LGBTUA`mW|mZQ<#u;e@z_D7vUXkCSIHkE3A2G<}HoHISK>TZ|$x$_-WeqkXl zJ{@;#y+bcOwlCoKES9n*6>h;>Qgb;U!Gx_|{rnNJ`h?uYp~OH(VOcj(b{SPowa?-W z4uo^)?IwGIPTd$X0fpIc>|W+(+@SYnML?Je^cx%nhPy<7!aIgc?d@qtO7|3&5cChD zm_Usk1I`U6HSy+e=uNPt%|zKKn{^m-#mFPaop5UU9N5~kE|!&lFJi^Kw&f08)2T>Q z8+j9h72IIgMO2eT z=NK`(J5rUk_g95$Xx_o4uu<-|bD6@DrnGHu3z>7snuIr&^bn&~t_g~fj!Z@F_M@FX z&EgPaCNxf&cP4z3QcSyaB}WtS_45Ej8D%^^i+v{TMXTchI%^LV#?fa*Q&p~>SA%Ql zUXR0focc?-aW?*=DXueq&uKbNU5;t6K)k$XgzYF38N}PY_QBh!}{;s$Of^G|}XHEXjdc=HTz{ zfjOTxc<@<^udO^31#jvI*l_C1w0*1;EEj52A%u&&hS{oWEPUArQTN9A+MMYed3)Ed zHjEf52d2}DkF1FMg5nqJ^$Tlech)X6+Ksiz5io)@cH|j`NiBqfj3opfi3PI5ylc=( z_!x8w_0{HHVx}Mz^;k;=35mSkhRje2^QSw4g4&?HT@9%BFiTxQP2XAn`(DM6jGB>=)~HyK zq3ULk4LwbFLUFWI#Pna6#-X?-7S0cH^qmTD+-aIvkSkz%^nMk9 zJu0Rjj@vt`3dB94wt%QFBOl(0@9TXDgsy$d6TF`zI5ZU+FU=NVK(T{Kz#`^SeJxfl zgK+|g7>^p#n4#Uy%RVSCO!P~NI0M+Yv)!Ob)TrEtD0!jhVMVb4t!*}K4H>8HyssPG z6NyG9Tq2y?W{1@G0*|H9tCf)2<9vaS6ChxM?+k{|TolPuQ=fWa?x+!r7;~4PUF`6u zw^HfcySbs+HzYpqgw_JMQ4cw*$PWO8V;#@+x%N21=QXVF5o;tE_GMH@ z_=Y4zu?)Z+pW3e?f{}rv5DcLdT; zMCNJ#wB`vy;|CK8sdsoQ`%Eu?cWQIj@NjK6z0~t>E8U-ss0DL-peS9~!+d+q>mX+? z@=?8wDX9Gp?_=cmxT*#Y^Z$+gZ4BM|o(ZKuRYbz#kOW?|s%eKMga3vahh(LVL`=pP zhvY2~4R;kX=efs{=4lEtoQbuYccUnvSEn3&U-z5HJiC!~2HxLYYuqXD*`@WKN_u00 zlVJ;1GR2^Y*2gl54|y=BIEF?cqV*?2&P1m__xMw4? zZdbKBY+&BEyOr25lVIlDXJES9Zo+Ydy`@R91mK!DQKVu!Pvsg}I9)Oc9=t##aL?AR z;a;x5>F2b!JI^9YX9UL6eO|x1DyLViKlE*C zj>K8M4W*Hb=9qx(B<A~dTjBQ(rCAW z;2c~@0at=it+14+HaYsF#ZNr)@vAgrLHZxs&CzA9z zm2?>62s{lfs?SwGBF~WBwB{!D;6VG{5R^OAGw-TADpCi*K{`Ch5a7{Hw6l!_lOixT z(U;(0`|ceMKAMiN^G202{c#Sy;9-Wan{;8}9j3A@HVK<3!+4ym8e~Becpt;fySSe-d*C$VZJ;NfR%O52V8c ziPWL$w<%RclT;O>B$hF~0%@0Pg?sD|a%$&X-|vMd=2{C%Ax|ows3rtIcE@L}0D~j$ z{!rW!@T{T$nwkmFBjcmQ{s(j@;)WQ}%SsQgeFk#=L6E&T4HqfrEs!X4VV8gb=!41u zv%K+lkt`WJ{=0xgnu7OS@rswd>nOb{j4#ugfQp zIyG3C0zK5-uM+S)_bWdAN#b9?Dh2XyoMRH^N?g8JMc~IBjc5|fsf{?ww2t$q8S4ru z7WAK1A=Bvbc3QQm6TZP%@f{=#Lzp>0yPT;x=ibiXreZ$ZIFXkWxjeL>TYw$s1ReJQ zjv*dPTu6D!Ffc+&#-mG_@11oUg{4ZYNP$JJ3za6^MsYjsIEfmc-gk~R;uAI4rCD@D zRr;~A-$T&g-{7euwjdPUv;ZkHp2P0|RS}WUcB@_1MWK}|!<=~D!}I;ybXSX zvj54rSe!F+DImsi)zA}u8Prdhda(3JYGS3^pe!@5wPI?su3FZ!%ldfV^L7p)o&NVA z+a~I+`+{SqcoA5Ti(u+>Pw_ScO*mLDTYK~NJ@fe1jW;ehfqv0hH<&?luRm)L0-g5Gb65KIxp{vb0BC#<-}lVQO-nI-!}XxTc@yfDIl8! z7QN9qWI`&!W4um`{cvbhy9C+Fz%mmeIAxi~Up>_c?yh8WQS8JLN2}Qi8)H|ei5buu z*ol*k>ET3spsJs27}_4}mXL7aq8Y zH9qTpt30^ zftt|&+qdMEdx34>yrDk)HdbRW>C-z4fy&I2>1COS#e%QJ$O&AK`dCZOd+awSZ@SEjRc$nIy!@==@uvG|XWd=RS8<02qx8OO0sT zaS$_E<9>G_dat*9#=twp&cLyLO2$D;_vT}WvtN90#d%K4A4`N|Dn!G{GxDbU(ChjsJtSX!&GZ51(HpHe zWF7bK68azbL|yZT(t)1PB2hm-@@6>1BhUohIA?j)&gdhih>j|bSJ*7VtQg?N0&3h)vAv5OSbohPK9$*S18 zsxQ~-G5_>5aNI3AJ$^dY95oYD#|&y||J9Yh<=pA{K;{xJ=@xp6)mF-tsl`QyM2zJn zlmTMgn2af9GxpNwu8-1U`8KCXAV-m1(}Kvtfz%~5aPI z9rEWOtcOiAps`7fYEA8Hr$e!tz6m@kKb=QhCU+=`+Y%+I$;{zf_tC}c)P9+FV?#@o zAHq+(0u!3kk_x-`3=l2rAJuJO2vc;J3RgQ=E2Gcs!+e5{|Aku%p_d;}obN|F&61PW zxR_&oB|;T56Hw>{>U*m06+b0fIq=8OQYldL?`x#5idNh2p=BnHWcYZ>nOL>iI>`L# zIyrUeJt)2uVHpzEO1aT#xO8Ds>0|+9A8=_?g+{l47LLD0heme%Fim6N*lR~Hv{8~1 zXuP`d$3JjuXzk&c!pFj_DLRrV+u^|44%>D44;AB|%}6Sy7uF9Qz<#@pD=-+PSPO`_ zYX;ZXpqc(w)DQV==2Sn%u2l}HfpU5QksfP-9m zbXu>gHc5?G?o~7bc#j<>ju_M3yCxJ8#iCr5raM&p3d^-CwY%+)|4xt zPFH$~DAa>q&oc*-oQb!gkAN#+JozgEWMb01eoZ5*qZ`APD zs!*yq-ehMsgoGU2(89ZEqSPGucp49BT1TGXy`D+m#wG@unpzZBKA}BN&KNnZ(L@9S zcMm^-@Y4-S;~U`(!@N$6^GKa5=FFzsmnP_gib3O)Zu54{9CFcka(w}D?l_%1A0dHo zfHnfqcggftxdb20W3!MH*O{a*fF#=GZ?HXw7_-+uXMEIcuiq5{dU#sV3&GaoKNP*F zQJfm!uEsiiTx{WkH+czL(fO`rHeutaIzmO-EW7kBPEI&-i#8a%#d3cI%-LU14<62^#mt%hFWswvKbshYa_>)Sia>aidwu0m>3nv5mDJ8QH zhHxrlb(S}vgc61Msp{U66AC@uu4^2HJo0DzKMz5ujB@=Ox2*p zm(x)`DtXZu<=-2L3G+9`Un^gNwRLv6gw;@(FiWs9z>9aEvFiBxnnpsWFd_9gF>79; zRb^8Nd@5ZwmUdNil7_4n*2ARo#VGuMu}Bq#M%>QZF%&DA@n`e!=8Bu{ zlS2Arur34BsB@IdvRuXRW{azS9IdFf6j{7Uv-J*qCEx8*l-pi56pg7G7dWJ)XrXPc&Yc~>bIBFV!9cOdZ4iX#y& z{3o_s!a5u+pebUD{0Rq09oU#WQ=@wc10@?Azm~>66qXK4esxp^MvjF0^d{nM{>Vdq zQVeOf>~Dd#O~qE)p#BcPW{iM1{5%5}wkJwNFM!0{v+E^7!aMT}J5`SMlcX_^$q|0s zu)X-QVQxczaps!NMkoS0wFo9~eLN=ZWY|K1=r8MHoo)6=LixJuX-pzypGR9gFrO^g zPNiiL@7Ez%(HWUtjrisp(VZvd>i#@mAmDuUp9?In{dgF5N(O;HVP?~5lQ?PXrvIEF zpGLFBg3}xdMsjtO)%?I34YUcRD-Cg%(tc$pvW+iUPhpb8b1V-%re3&B-^TGrmw#K1 zLSe>NcTx+O<7ZZ9Q?4lGv<7r|Vmt1GPGSq#Tnaj++}0Xzspx6U{omlOSnBvnbyhcv z)FlUM##D$OmOLDg+Ze{Y!r3z`E!RAljo&z3aV={bd+lVhpUrZtWgVu{fVS&QcQ*}yZfns)=_asR+2VaU-^ePr>A zauq3x=^|a^@z(>N97w0=2QOsvCUmCp>r@?HeE~wWk5)+GN03IS?Lu6L*c$kB*>gLm zv7XUDsN5nIsb(H@}o z=tMLmDaLaAledZ7^Gg8kzb5cmWi#-(Bb7;%wAE0j6lExm3!rVG2pj!2A~Ra{kPVuq z9f%Y?U6^y5D8C~U(`M;$Tyao<~nzp;sI_Mwz zFIw=8X*Q50UN4D$R5e7;CLX3sj~0dXZVMZEc?e<|{Nw>qa!~4+Wrrjhn>t8asL{IC z=MP!}^|{_ZAlkOYVRan)h$s~+k{kWG&HEa%o#OKXdq9+vOD4>0pZK-D^~;5AvcBV6 zqEzg=`a|&CmTo)A=S5J;yvN)Rd65d!K5nxU|2g{SXH-n*pef20a<^yoo-Le8wkP?8kSo*Ccc ztbLbKHpUzqY`o?7^mfwItFDDe5x!nk6A|v9Pq&w=R$`5y42N2?sL=Lg=Nme#$qOEh zqp8zta``#+vOtH%FGI{44S}1Y_ZD-)#Z$hg{=^x<%v)Al#Bg$?H8bx^&V`p?gofrt z^HX`J8{Wp@)Q(jsH^UGbgb+wp#5}(aFN8>2Q-HeqR!>!HIeN4GN3G3ywn`aV6+OkJ z_Nd%i?3V@}Bcqn7tZJD?Yb7`QHj~UK=AjHtobZtQVM02Q?s_#<9G7Bg6c8Ju z{^7qF4*58}oYA<@T=SOuhQKoVPWucOMf;tDQ4eh%RP!fNQ=22L8*{D^>E^)Uqm8DSx4T7rpX56{OiPD+aSg%)P6j=wEm0t0IG6>Yv_ML49v0agoM=WL|#UOb&N$`dZZDIy-)EeqA( z**Er1{R|wWrg>OT)h}<2H~RD+DaAqSEVt&@P$3PTbhMqS0k`L;k^@_)KK<$qA8yxB zCXU+!6MwbdJq9L5yq7;8=?hxwM)oaI&z=|7J$N3L=v+)R(bOK>=a16r^Vho9+S@kHxqOhAeU?v8)CIv9Dg z!EV_}54JzJf9@>{vkse3&j6VOqYR({a9;dh`!+x3p6(zVq&AHKJ>3^n9v$6SSZVp@B;xP$98b@wprSBjG+1$QB4 z(8yLHmv5i;*lJqBbju!aSYz8@G8h12a}5pjs*V?#=)@UHm@=GIxxaZb3&+hdvQgTm zT%6Q*Wu!JrbZ3z$+PFaeMB$r@WDprH|1&JIN4dRwljSgtPE-h$z*#iafAWe;4z3^G z`2xH5<9i6uX)Zim2e??CI{$HR>WX)NWw)Hk7AIuFtOow6Hy8>#4B>ui!9eOs8jc_J zrZ2}Z%~9*mcDB%=4Qs2SD3&Y5e~U?>eM_$x@-kev!@FPbyHxYJZ^9x`=A6I>i|OZg zCu#-^w02F1Xx#NX=OE=C1yf65s7mVtAMkty+Oljg#hpm#A)Go^eg(IG>aB!M*Au@u zg$teNw`iV^uE}js$R~$LBuKutwJOeBp5< z%jtE4c=dl{5a^_AC79oA`UJqGN|_w-eX$N-{>ONFmpB~G#2S!f$GjIyS^9^kPA)qh z1prv{$hL0bVGMjbeZcsmgx}~gmCqZt?gGE7GrNAzoQEuXRo=UIWrWk$ECuwTd_B zGqki|x+$~WPL(fF+%$T>*t#S zBkm1v)uGsiD&rzTCl(kCD9FjIbn8|@h@RRyRz&P(fIvVff@wzwGCFHd-I zrT|xZ1B>W8Ac&3wa>9BZ#evD7A~o(umHXS($?MHqZB{u|XQSIm(xv>(em%E{x`i~7 zUuz}InIZDt`R!yj+G`E6hFq=m*j`fNLh7G-!)!Uz4$t6}5|8!#3UQRFC=VJ2P!HQsITa9 zFXp)qyfwi?e!|VuCxTUSy|>^q|1!Y;=Z4NX90{)jQJ)yUx3%HMF>9IG**ht_jVBAD zOZu}DnO8N=!(}xJsli~*ZDLxJqpu5AwU3PP!eNLYTXBGK0uYFnbV9Ul8p1y)EN;P{ zMYF+y)WTM;8fO<-9%0S;NPND~CQfE1LQq54Fw@S-k|@x8lblOBOY_>tPUk`jZ<6Z% z1Da(KMNBgSakHz+m<;+ultlef$wkVP-V?;D|1y8Xo0qWxuFAWRr;=HcAsiXk+0G6C zLSC5UR{%0<8VcvtB?0i-G<3(}j06BwKH3I#1}u@n4SOc#GNC{l{7fwBb0FtEaRE&QK;Su;!>t zHeEb+Q5bVBH-k|W0Gt%czD!m|qtbBu5#t47$MCxtTn6b7HarjOs9E~qZ{R&&eKp^lH|MwcGFM&b=SzL9Jl>zW)qZRN^fGeld7_s8>WVh~|JsWG zt>6@CLdoTKV?gMv)Wn=NXd}#JNL5*;&-e!au;?D}ye}&Kt^zG}nUYUS0^l9Zj%LXv z8sNv9kPuUnM)vno#msmpFCVw>B^^H>gcEo}*r2<$%XZ87f8d<4qMA{u@fb^eL za&c^&_E_flruYpTq^PwSwx}uJO!L1Qu6hFa(Y`NiK30^R@NPhNj^~%HOWUAtR&W$( zuh-^o{vEuPdc^j`+6VPf)Yjzxa5#-6sY&hl@bI}6VSs5x2WIETSQT9;B;P^GZdkj{ zL>m@*oTuYfA*7iqMFFxaS{7DH>A@`)h%^#xw2dpiC<)b##IKLnzSbOHQfnM#`}E%s0&nxzwt^Dakm+5P zj|uG-6C~e#!HIW>4D_o@d&8MT;m`4HMYUg1ro!pfv1TC=mBf||l)x-S_0D(1l)@ws z#`L08{vcUyR;Ca5-W_>S710P5>90{na;jeIk#7+VJG?jq=?`v|Csanz@Bkiw?GRL{ zH>|q}=4SL#lbk-)U{5E3H-dlmyn;|3x*;nCYjQ%{mxix!O;Ev#m{n)!p{Qv2&5)}CG+ zG#KVM{}WxzKqPb>KLX_g3$Gv?Co$3t?Y85JSqqxUA3~5y9BEr+W067uJ6u{q$fcVw79<$(VyBFYvY1%U!L=;6?Jb9=*YFY z+Hwi#jX_aqJ{RDMHqdde&`ESbY-*FiKl7shX7oQ6>cJTMbCY;GcZxM*(Id0GZ4Z)F zag)!EYgtF00|$b5$5@X=xgXK2uZgPzgCfdcJKE*+=gW@I*p2R9Ff2H~xi6kY_jz8R zP`NU1^nzAe(b=VD{?GbbIgE=%o@)f$xSow&Q6u27Ad?}jUo70<&;D1~hIsB_eq(Uf z{Bu)Alr*M{LsRulhPZ`78QgYm-rASu%-;igF@2R)b>5mhODc^)wE{sChEBF~=@bc>GHRd#`Xd2R@? z7;bcR($*aaCMz^_-AVFP!bDaa&cLpBu7~%rj|@jNQD!e_^$}JAK^O$~U7lFe9Jw?h zdX)g~eelA=Ifa76f@|HS{<^VFjd_F?&FiE)oI332 zn{02=-FnSmv-tMm&vpy%IVv&b+X!kT+AFg*q8vlYxXz20eU#CyLcjgr4^Xy+$0^Zh zOEUM|b~8{E5Tz1fWPf@277_v z=a9@j7KCh(IQwuFa`gc8WJIbG*RKsU$wvF|W5H3%>|+p)A^S+m{};qP&MHdVIpt^C zUH^X~j{W4h^Yv9hx=vDA^x-J=Gf6>`6^>)*wKEpx)lGAsj~2t#=T~gXiQd76evjT!Z0I(0Yw$t5(zYUU z3^4kavvV&p+ldGrXJvpT@;s_+K2o)2C$rm(7iFr?4116o&Dw~r!&n6;i5ElnVkkk7TI6T^10GJe|fXOyUK*^t!;HFmf zC+Hvp2{eY9cHq60^2-t_Ksj$r4&KaRaJqKSr?bSB+P#U#eNnDa*cvR|++O!Lj*}Y{ zmKkMQd5WFT+4v3+V?u$`GH0y&Kp#^tqnq-C+wsIp7dv&+A30w4;fK@8D3FYBiIGcwnL(+K1AWAK%E?Lg?tl&eC9k%%| z>Y;j&bZ!zD)`2C6Aw2bZSp%8YS4AN(BxAtM+sW3*S+{k`3dIv`F~gq&66&Gud~lFV ziIfRrMG`$JZ)yIrBQ~^6;~|^#v@`?dA=seC(iaWpSuq)Y&Fjzu^L6S!6~FvH$%^ZG zwB~4bNioE3n%r5$8mc#NDl^-1qlhb&U~{O7Azci}nq9`sGwFy%-m&Z<*07TBD<0o& zP)GMINLLwY&rz!7!Y-Db2wmC~U}fVFm4@Q^;NKUGLvRX_;_U_n2jFt}@(t=y#j)sm z&#^=p8DdCzKI&2&)YSaa2G;I@iMU$qZ&X7SN9e6d1#=}X#}%e}VDEhlD|zAyux!}o zkeA1Y%bpZ}ZPSI;>r?jK9yGKjrxI1)+n1YPc(s{Hb?q>H_~(ZL@NCZ_1nPI!MdwCu06#8id%66^C4{ZrQ%wrTgd_Msm#!S()PFy6Ov zE|y7{?*}~nk+>Tn&g%1dvGzH>s5mEwzS*8g=2^j?h<3UHYaam_*Y7P1#FP9FrRz93 zLMca-zeFXdq_e!WA@-v53M4qQ`e~-_1p@ah$zhR$&#aG~mfeyJHG5Ynd(|4!FwJR0 z^XWk1)y^<1pHEkb4$WgX!O>k_KH zkq#I+hrBnF_y6R>0OYyL(wL|0)U>1aAbOp+-V(JuM$ z`sE~W0@7gs&!B@uJ&flUU|uIkHQkmmU@d| zI~-?1ebFv_Vv_fGg5;0v0Ljq~#I3;peM?Y2JnfD^EC#5Zrs%Vm_2-8fIzqs9lXtbg z4W}0H>s88K%IL2xEnw#1uwoM0kqM&2xeKo@gVxR zT6QU+Z5npRK0`Co*u)}iXP2!a3cU0O_8lLw(#QQ z%z{ErGq7R~1vc@>b0T0WN!^lW@(JG*pcV4P9Kv<@tfxXfFho8^;DUi51^+U3U?*hi zV4&Ap%B=ZoJhg~<`$$?SL#wT(C`B*E`vgt9CtO+106LBRVgKZNdiD5f&kNH0uk82hmAQVeB1r0een z0}K|`T$cAd@Iiu2@uom9zGuEPuaB}>M2C+kCNUA9mv zG(~q9N%i{zb%w4Dk&TEcqYA(?Q=WY&Lj8*=3Sr=JTH(g%K@E^NR$=u@1uG;72<C zq@FF-%1~H%^ua_9t%?2w-YMlz_y7~5D)JEJ$lj;X)-(G?4ChWF&&LLy8@e>vfZ~Ln z*(fr<{h(qIoa2$REY`PWS&_gsLJ;Lao}3*DAGr ziVvhhn2uM^lAZ#9zI2ns@@pmu_c&0M=MeedtQIH89{^|Q!XqtE^j;)$);PoAa8yST zq{KB@1Y$6rfI>0gsw%rK4l+LYa zOcJD&yTNZ85gP$zE76qb_EA&|6(F;>*Z_1l{;IhpJEAc(_DdoOM%;*<>| z1~QPVp1~^tzu4VpkMnmAr(Iga`FA;wLn0|Q>EfL_d|?=sWjM=3()Ce8$vn23BL0@X zM|VZ)C%M2^3A3`%a5s|xTu3O;lD23DFqr?Zz`i;vIpSV<9368MRwR4qhm^8=)v0*+ z`uV!wb28>a0bfk^>O^STr>dL2HCM+$5S}q+15*Pjf^albPyNx_v?zqn&u6AD=S*b3 zcGp%HrXkpiu~-&%{^E7`_D`*)a<-Rr$WHg0!2oNayF2CU*Qlo!7!ZJ4t%NWrZvkOD zh~#4`S~n3{<$RrPc?Z7UwyWsCeS6;@>uA2$`^@L4Ty-Y;qB%f_aDV86lobjM5?DzA z$e|NB5XoIJ%Gv(!_fk8w%|daR^ax+aZ;hAUC{&m;kP>$2a`s zM)tOJnenk3O1ph-X>=dJeBWvOhWdvD_`B9Tq!y4w2xt7vwnoWzsDalr-e)zbeBI=; zWMn&{>t$MqlxWGlYNN&KQ%)U0@8lzwZl3{wpmAXhTo z$P-oCPrad+Hw>cX@9J01vnx&6MbaQPG?VXKMVEcS*<-<^jeUStIPz@uZ)gQ75or>u z9=>+ygeu9)onosN6~uePRty>=SJtc6n!FYvC2#jr;U52b|G@93qFg?QtwaK~#_y#H zL8RSC?F@*_`29yxXiSZ*vl62su-Of~LP)nu^(3rTyf-CMiRfoUxX6=TH)++g6^)5g z87S@Nac}vK;7ux-G)}iel-k|&UhZ%!kxt2V0+h0e0+iMaI_AXaEJknVx6!bnLU6jw zZx<`C^^*`FmCb(ko#>G&>&3$72dS#`9z#@%jvduP&EjIkPM1L{nJgfEF#D-UIgK!& zwGEQK4&Lp5UWoP2j^^udj_$e8b7=i&H3?Mg=(S6x!%<0omfU*&Y?0y z2b6bZr?zAc!AUtfp-Dv7&F3K;;I|C+qZ0_wFFD4M(64<5#t}W4lN%g-w0!MWMz9ea zmHXH~FxFH@rdBamX(^m7fcvQitjw+Nn(kR2RLnhjyQy`sMp45D``H_jhbDDm#jx@z$Dc^bkh{;JTQ55tzs8a(2; z+i4Y30JU*0XOBG`K%3lCwhkrAK|2|2AZjp#Z^azwc| zpt%=Pv%z8A3{NGeQS{v{ksV2oDg=%hU062}>W6<232~i7vLN>Q0fM-yAV4#mQ3%{?cs#uGW1u=Sjl4iw%BtH8FpNOxlcI|G;c zs!J==8`Tkqo2BTf{2E|+s452gRA^kSK+89kK7guz(w?3k3fZS|pG`7h2BjHa-IiFr zL+~@fs%7C`c4AfXj9Tg(E*JIXzoo#ts7;&849LXHMtN*pw?Sb@WuA{|lJg{Fmdh&O zFf0+i5@mIMp*YTrC!z35CYRM2Rexj%&mU+aAYg$oz26*i9QycECY@nNKj^*al{u5M zsfk;AEi=A4*L~0OQg%kSkq-qQQTKZ~k0ikG89idNP8f z)R0$o$B(4rI#ER6Y#zP4Rc6c$=CmY_-+DGKsK2f1@?u|@1RU0E>RNQmJV7(4+k_m5 zbl5OAMUgDn9o0j$oridu!4X4xa@br^*opjxU|Slq-!<#D4-S?66=^91-2wq4T6b^^ z#9GzikTI3YDXjB!C4?gl3K-3P2?ut%7)N9h`8u-(%_Ig5Stc^+>g>EV#)D8FI36A0z3Vm$-qe&M;-=98n7zBqmcip&D9 zx9PnWrB4HJpO8VM`1AZCf6(pPLU~AWgW+Bo^z%aJR;6XQb9>NbNf_EhLUCu9bmc(M zZ;*#^2QZU00e|=j%=$pN>)H*xivV<0q-q{R8O!!2!&9L@<39AJ=l@{TZXMC-x0o=z zN~Y~dycJ=`us|C7E(ut7-P^?6&|9Sk-+JwBK6u5PvX;4@!t9TZ?a%EZI8XM99(Kb?(a0fMOr_fm4f1!tLAu@v@Y!zygO6E z6mt}@Xo^?8JePc5;}+Zpyyvl$@VAu@oMdB7D!%ib)^O|6y^K#bxq zy{R6s0ggo#(dHazY#H7D7G8GqpQ;qz%m{S5R*Kho&Kh?)nCov!$sxi1QPXg35G7jT zeuC2Ev_!7645JhzC;OWOcxg522F3{!RJau2(Y1pQJ|yFFe9deiakgqbbQ7C|3SG`J z$^O${zFG>+v?xTJ9z*Uynk2q>3l*5-`S-9xs}9jL5h(8uKWr7AY=d(;dz&k}LWR>~ z9SdTP$C1TAFGR`+Se3gs-(jsh#0pI-gCHBXUK#$pu%TfjJB!_;BFpsZe9&yJ0<;B4 zBU1v7$*hcbb0fx9D-&Go9ST6ljUZB#G|h>CGidG8Ss3?JQEp5G=Rg z4K3u1+zVp_Gw20-c|O;)R@b2gfcv~8WtpgKb~UI+L%7V@V$*vt8;8x0#FQaN4D3e2 zlSwucQ!_*L<`=*OE|X7Ey1&IDIk?Hn=c5$+93od}$b(82LnOncw67(7ExX@P2+{k0 zjXkMGSpr38LJD({w|?-drTa0!?F9!ndR8lMr-~+x^@P;!e8wqQSOglJ#UHcOv?0!sQ2BUK9`TE*U6DfR_Nu64S9K3#JR$FuXy zGxg`?#rED$ZnSlzn#ku$0!&5=WoZ`^!)KW!E?fN5{T$RtKgC;fGQ_$zHJ@JYB0T(| zV;tiItO;{`y^jSzcQm}_lPnX*>AK+O9;zhd`mKean^gT16+}pqAd~hs*phw0HLxXM ze`|qW=1&;0>BJDv2%ixn!x6M8i5ty^=x#r#fY1+2{RZr7Yz$7PbmNR)?aiDAa_7;< zq0DfDXc1C9Y@5`p_xm!$kscLWE(k@~E}ZO#T$c(jp*5J@tdzfMW9d5e#dHvC%TM)f zX0j7DCq&rwzYs9IObssvYIhEM7QWK^rcdGfP%0C#E8ep&7nI{V$P>A|n({J*Xs2hD4-v;S>TF<}eRKb#j3WBzsyy zeTJH(aYbf_t$c0LsNA||+7K-;$T^_A^+}W>^wnjLF`#&}zd{0Pv* zMums!_)V645Fs;Cb~5u3nhPQ^GR4d1bNkCF?y^woU1^3)Om|Ht1(6H}_bZtpktn&N z1=@417T(0Rxk+TL?9_&hSGedC$FDZlFXm7=#ia9NZzFDspqxpIg-LLSPJUS#-PDKz z5P5>qf~jGrt6m|)F^VL=xH<4{Dl|d;LvKR5k5&_1#>qx?j9kZzh&OT{ZTm4eLs#s^ zsDbFKK2~}D*hygZ{AZSnNLsVsyBkbJpaoz!DXfhmPjLMZoO;Nk4HAlp z6Ua0y0E}HN{TPuL#DRE4Cy@#$tL_gY(NuGc#@j^lp{YvIz-=W7A;9W-|_Bl(TvJ%^^w-->TEc3urG#bF+vWM z?^gKP$&KEnZRMT?G&5#`-s>H^ZGuO_&5hPYt$EmkWSLd&)v6FU#>>)&WjE&25e$IF zgwZTuu@amaK$={@)$JO472#}7VD8ToBr*eG$M+a`)kOhs3(d=`NpWOY;MN3yufbdc z1nxOsD&XuvxeF5jpAbMsA?DB913PeTY7VfjITHYl0bqF@2XL=)7kzu-cP+Z|a>Gcm z2lhzn+u%72fCixW<+@V)v)*vOZ?gDv^E7Y7bWB++eZBUq7$_#dR9G)*FDAf1F_f)! zOHl|jCIEz8)>$~Qo{t+??^}OQ&o{9`b5GCC`?*4MfWM6gP?5@-@`%|So!8^Kd~+S$ z_a)`}QuO0?LOm{ur-m$9m-5Z#KTeL~`Rz9Dta)RFKDV7-|JfsV)0KRlvmeR$k(;Rg zGQ&q1@oYrp#=uK)2rvE`!$+By=q)>rpLlmINV#0U9T)rrDw1B2q>|-pbvLPkV;1t= zFEndw{x=&0i8mJ`Izs)nxS57K|<&+jje0ehiT9gBW zkm!Afg>XuIxiU4VnTW7tHuOPo7cm)U4Bp`8E%9X1b0+G63#&UxpaHGz#Xeub-s4|x z$1|T!Q?PX5#xqY8K|F;-4<^(+I6Ez(&h~LNMT&?FTl0IK1duw% z;GFC@j@^4H?(ak6ACWbN?UbIM?X*s>!q?34%*V$Z-ub_uZa%M%?{QB|X+>VY7;L}B z9zmkB$tlX!Bx@2l(in>Jnt#6YW|FA(#lko~e{fXNNQpp`I$Y6P7kWmgxd{dWs~K5KSzMvg*>uR#Kqh zZ^X95hE*xG#gGVfVxXS)uLrV&BYAAClvXsuEO^vlJ;yMCiw2fb)3`i^U@rcKs zqR$jl`!ryWtEf@?1#15jFf)p6bYPMqivb~x!N4@Qk(zEK-~e=e5q$IP@IH1w0`q1y z#{@eQ{9T{>#slN759Pu@W&4;D!2!E`aZI&mP9&P;=k2PVCCI_+5QLMvo2}go*kgSD zXV3#j-t{@;`3k;iDvp}4P6WVa0N-W6z%GE5krhNMle>lSU=6Xx>11t*69Apl;Dpe0Gs}VXWm2kqGZm$ zpHc1crf1$e3iO$d46UxttCh?sTP@gOo(%0Y@qhCEIU{xXet%*T{~bg5U;y=*D)1lK z{6NnV^rvf6?TWTo+uOAYpEc;9!^SxUWJ<2yI2F1QYyF%J@p!n;ohIW~u#llqAuo_U z9Q+mu0HI_pc-o#q8S8LLYDs)FFamDf-At}fxp8XPPYjbNFjS@_*Ul8^DF3enW4(e8 zn+N4G?G!QLXjDC?Vb(U?tj?18*`bOd)ctEp19H;NR`?@YW>$63On%sEECW=$D!Pp# zhUVU|5JTCqw2JY`5xz9?bTKW~1JYrU)ujjCGFn`xDUgCVFP(EHpBrYr#AHuEAeRtf z12?E5o6)3+OC8z=fs95GbLTn-+zPo`;~eIdypHQ3>victuQSC?-m7Hk>wqvS4~rP) zadI7b2OQVWt~|R!n#TrmS$r_$Z?9ACX|b%$EWr!u`Ae7?q8e)}?Y|_qu@~kvYDx1Z z>%mm3(CbIN6j)wf`3Iro9ikYbkem)ZI?!%|N3Czh9i zVP#*9mp+G_u}nR9qUU9k-@nmlFdj0mQ%YpR1Lwfi!t0e^xtqIsqnc(4FwMsG zJpcjs#6bsp0)o}_$8k4#Q#c>8@iW`u2PjH;Dze?Oo_2&!1RP&Da{4~AYspo%g(EIO zI0}x&4LzSYF9P>}75p`_c~_FyxNG25b3;SoU&jL#LuYT(<=(%rcW(t!2Yr8~a>bGB z<7kz2LXJjUmuTVa_zVZzU85_$q$>B@MMAwt)gS(qQf~Z1 z=5~KOeCp60@}L4$@qJ+403a2APpOd3ljOW7Gv5rsc0$wu=1ySTN#o)toND& zo7I_@QaGw*ubVrp!-e0WG6U}xTG=Zd(1EBc?9hOWxyfEXNzU1`KXd<+kU!D{U8TU63AG>v`7Hz@O3M&O;$nqX}xtFx^%yL&zju9poQ`k8)9VJKO#-_One2S$*A;kw15;+f&Ng{hL?YF zPDg~WTJu-~>*j3+;v1N=cI(YZKNVv2R8`SJsq8~qg|{IAkvm!! zD5RNn&A`T!in)lQoX_uydR}Gth*;ZB{wb7+YHa zsaHsJE;SiL$(L*=^EtvsyD8-2r}`S%{5`nZLZf>4aD`1dp19n2X&-IJRm-l z$s#{ENPTMqn0Q`ZR?%x_bU8dgt^uIND|1n3S!9MYTv+UgP5W&c>-fHhuIfEI8JDm05c<{Y{ zQ}Ap)6&N`GlkOy_D8vAc>G!x3iEScO{}Y(P*Gyzi?YU0W$0#fii_a-Wt8UN6lK$l- zus~wa`s0kR0RJ9rD2=kjfJ*bcIph!Tw z$2Mqo99sG0+HWOrMTpS<#oSQwH}CKhrEJQ31CLxiNwD?+?>e8eC zD!NpnO6H^22tjUhX9259mt@?JgCE8=@HjY_Gq2Uk7S zMGQHFSvjPw6Y-Aowa(*86my>0Im!3gSL1VY{==7hfP3)h#rLHZoHiHVAN9^}>!dEH zb|w@Ol_`)iB+!~g!gnm@1^}1glNv{j20pxc3`+b|;hJt`@0)I}9!U=6? z<*g05%S9o9mTq69O;>`v@IN_L0-|EVVS#7-%x9Yk)P^M0iPe;sTZV)#W`f3o{8DQT z@q1~NeFys9NpcA?uv9J|rx=9-V`c0Bo(}p3^87@%<#$PdB)GHr7xVLw44Zd0oaHe+9II=uPqU~mja#|df>7a z*Gu(i1NxlE<#{*sCW%H(Hyax?>u}krFUfAB!+y66oU!;IyhXh-svUh)W^kP`^Txbf zVMY%-K#qRb-e?U+L)*-Hbv~N^!`M3p$JRyfzB{&^9ox2T+qRt@+crA3ZF9%AogLe} zdH<(QojP^zhx?(cXU!U8Omy|?>b0Kvdl>h1t0!|f3cH@rWhRFySX_kI9{D49wzqP! z*C|IMX-M{=8bnbkqnArtDQ$3h%BdWoh&ZcmGkreY;H~pP#sSae$qlfNo148UXnTDq zMAS+oK{lcy|CeMrqI|bb`Q%gw@^GKs^6^Mg@&MP4k1lSRb{lo8X91FGFGqWRR22*@jAuj74sRBIpLg z)9>=ZR0vUtZkh6EwJ4^u0IGKA11%bj_N}k4#w=0+K5M!XCTiR0=Z7(mHex|r^2Zt0 z3q?GfGhB&fd9a&c6dG@_N;iocu7um2%a^ZFcXVYmMK6g(;#@Ifexqv2U@E4~KcZ!~ zp}Eg%UM}4OkIR29pHn|{so#AYPm>DXZ{E>WVp^XT>AnGR33j>K5lhaj?bjRxYnk68t-jO&;X8H(hyS4Jq28F5CAnCG4)Lu(4|p83~{ zSb}Z_R!t}83{BmYS=OdAQ?R;_wcw#tS$84NNz3&5s_*ow5&u9EUO%6g_%mE%^0a0p z!q156{)S=&Ix4%`qMIr#nz^uXAT$dFuSLSX14<2v-v zA+%zeB@-;iQf2S+4XI;V@$L&UwZ9^N?iX79@uM5DeErZ~VsN>N!~PO4GlcOyH*mhc z@Y8}rU`B`{`M zHkb&2Wwl8v$5$9!So}~N%vBl$4bc0hxukBYJEIf-D#Zx(-rQE}m=X6T$WmlpQGDZ>3a_uPtpC8ZI_KPrsdQOJ@0!FJr z7sv~zU@sj~esN{4}#RR&3)PFszBW(supztG* zK9?llS7|oE8+Aql?s zlUDjFZAS$MRlsiOSM0m6#@?7&;qhhMXPo4xcaNYZ-N*CpIbD}DN;~3*+#tJoL~$wb zr(g1pH6ygIWPV7Y{ujlAXF@U5;78X|Y(#LspF5n2Tc`*@A-a*@v->T{;?aCP8y~qN zyo?mbb7&hEptX)**B;hZunjJs2Hdd?=8|@-{X?4a%Yf9NE$0}ZwYLoG$Rsu%TJeZS zsRz_vCFvP0@I4fN#feb1X9)yHBH#+SRAVX;L@4Bhgkdf0vn@LrHm)LyFLGeBe?WF3 zWGac<`JP{O*y{Fyh%t%wxrRIROpPlaA0+By(Q%JojK6UP_kG_&%2-np;YFm5oj$TM zR9pAvYjY)1Wf8=mT6dCaCKrBS&{yr>Wl$lTsCavQtQxZpgUJ;$p zX#BPppU@}<)BV)_e#mR@h)9*R9q6UdLT^&?o|yK+FX3%P9&GZ7a&~NJdXJz-qebCD(Y`sR)U4{!BBq zS^0ds6O=P>zdYC5*#CY3kz*u;=o5zuF&2_tls}|$X$lr%3AJ@s;KQ4~2Z0K*08mBD zER^!0$}(!qyvZzQ39JPKPgpkNj%zz5i%()T6Z`TIt^#!cIMW49EifMis0Mp7e~610 zk*N$(HHgdM!dGZk{abIvRBD1LSijgz!+^?nK}lrXqzllG4O{oYz{g z=&YWy*#ISpfGa4Pk4!yt)(W}vdLW9@;!)^VOKsU#s1Swc}OevgM4 zw&3syffxC$U`XKd>(d}JY-OoAcG6J0AUXjjxG*2KGw{@sc&1k~7IJ;m%)AYK(d1L4 zR`u2nwdd8{5U$x=(1;j+NRxy(t_a0(qV0@omT+H^I5=Xv6EgkueVltoi&?FVFMn}f zh7q*Xr|MyHAfPQ`u#946ht?vY&DL}u_!E3o%`R*QNIxMEZxa=$OEg{(2`}JY$|%+x zs8L+p{KvV37Z=^hGds|I7F%!o z>9$X}y|gsuk*oEHaT)j5@Bu;LbOj_Ya8-aI&S5^0roi2N?DsNiL{v}Xf&ZHXB|hPCP@C>p?P&+|=M zHqFbQLB`mMgB;!tqjRgVY!GHd{O9R6!?db5BbKb>ojpIo5Vxi@F{4?<+U<9$!3cXh zv8$C9Pfd0@jAAa8d-;zy5fTqf<)F=E7jJ!#2+cu+_jE2z6DBiGbS z%RTdkF>4Y<6?s5T-SPfYOt_%qBAb0F*hMYl0=>C_g!`D;)Q`zDhlOGwr0B74&34_$ zcOE@7#2pVqASxC*T;RL^x!qsNFxSEguG99;M;okdw}=AW$5^eOXD*u>d`X@g(H4dU zH?dcx?{>a)4!P)Ox^NJYNkOFbe^C73Pr$uYfC7Y1#fI)D=NDk#nCAvi--qVL1{ilR z^(?04hGK{+TtT=Up(K-_{`K80OQ|q-Z}9M%S&jr6hCVOZ(VYo*+KM$ffFNI4Ti;); zhCpT>k`-76S^St)nfuW@whEHe7n%{vMA>;e*~z5vS?LF{vzlk+T%#UVR;UrP%-rz1 zzsHnmmrE0>SPQENlLHg3Cr=qGXY=AQam!;0I^2FhtyNJ_8zg*j6&K0Sun&rVYf)?A^B`{<}WCApMtb z|4Q4Iy@7X4tQ14v5IN8}{an_#Mn2Lg2 zl)+y>p{`r(MECOD6_qZGHl^2&I;cPgkkZN>$>laJo*?D3UP=%_pa&wgd)@hCDG=02 zJtlAn?y;b1hNI01J?)~i6q%Bn*HM+gN)s;6jAmg=_I~tOhLIepM64gSSUzI=EwpOG z#+u>2Gr@2bvm=H*jPjCfnE3-o!VE}tTn(A*Z=S$cZ~&lpx|@-{ZO&kf%K#}DLHZv} z78({O&HN}RDNM@|qIu}JLlxO^eH5Qbt0A?i9A#g_f4IO>t^F*0(@2YvTSNH6#&tq+ zvTSeI(RRDE_YwTdHjg3vsh2%4f~BHU+JXI6rGIG4GcGb=9%4it>;1|Udt71LOrP~| zXO>f`yit|oQ4ma$UQD~qUH|a{M~W&k6C0C-6*rR2@J-uK@>XJ{<0Lo&4Z(1-Fz9fo zB%x%_nb(-vJufxx%E>HZLCP%K>GsXUlQQlcIA7@#<>Zk+eH~u25NlXcA<2A3?)n-i$P- zG5FhJvf@9*wO&_Mm}H?KB`+p6ygxl!_ybkMF(sMA!~O+Gca`8hebY&|{eAmDt7YW% z4Y7u-6-?vTds1()!XvTprql77oxR`M+zPUukM~Xke9ol#`MqvT`1OiBi@y^3t$X>{ zKHC>d({F6I+FIY-+4sN?zV7x?+7 zI~HN@h-+J;R`mzTRYh}Hz4An&h}X29e=z7Vi#7XYmjH#X;u$g{nLC^EsrwqkC*8`x z7OFJT2{L6Yx$FF@bq`d`lZQC_FN^ino*pYoxQ-KbwYdn`Q7 zd=SMs>D&PFv>?j<^VFsBhO4aC{YFdmyPNF_I)AS&??{Kce7Z92fjD0WqWVTT_J~G* zwHw{d=CMHpx8;F98_3p9%35EL(1;K4c;1tiE6lU|iZ%YH_2sJp-Xx=*GgiFJHe=*_ z=eyFzgT=Ko|6kn70EWN+CO~4F#_r6(BexCGD|Rr`-dMjPhXJn+yRMv1FlzZ#221Q! zRyZX7Sjb{bZlw=lX{>L*N9;Dma7-4OoXUfr^1Maw6qnCt??D&rq)qe~PG zWZGb1CXBj61&gcaNJb6f3T=_-0-MPXFiyT|U;+3tTi$Zu70a}e;JmRAq6DL%rxs%d z{TWo}N7KBUL>*HCp)C*CP3)j5YP{%}iuWhj7GF5{B}Qxss-O+k*fI&Jc%~)1d{D9U zEQ*a%UhKN~JWXo-<0bPK3lf#IhKA=vpf`|=56aqa6kz}3J5 zrKk<`NxX)w@- zU@-Ehf}lvlns>zLBYF*nNjm$^B&!3(DOGUTFtu*cHdN)ONnH7Po zFxHB2wh@X+W_{QU?*>3buyz)XWlgII4%CBxl`|M!_>&V2F(t5E1p)gVFZ`aD1{1b1 zV|hO6tBn(FRTh{|0YBCR2UkOdPM~#pr)V4^5eF~J)QFElH=FKm0RiUL3vu9~c4bCs zw(mH}lkU^5y$>L zp)R+3Z2e5U0A@s&U7)^-E7 zQ9hlsb>17;V4kijj5VxH`(#kUKF3C=(KY(IIM{lF--X5a0l@zbC_C877Mnns-qvuM%wQE%$)za%3osJ1O=?+iqjSOQyW0ZB`D1 zG@A)qM5dvz91|NaKR@%|XZHrVj`&`7CmWmJ_SO>` z!Ea&IzEA-_Xb;Nwf*7U_fd zFXsm#Zggq|Ur&Ll+9?OapTy$$NY(D_>Fd zD(|7>7@K`8sXNT@vEiwt{_iQvL#e)P=dq~4Yfo3+%KeFV)c7Nj_%JNvRX2Szr1;HN z^cC(Q3BR=fRrag56pd8V^d3V~5wYPZ&Qx@5-W9hWhI~xkpl93wIR^Z$-{QdfI}}7G?dwb;7P?-rjoatlIcc(2{IhLabcosNI;?lqgtAe8;Wx#mbOa3 z!xsVr{BFC@Ewr)HOK$Z+o?i2oX^DE-+6TuqXM*$mFV5L0YHRPA84^ zTQRg<8M_vn6PgLSq;{}5x)ASKR^BoBKv2>G* zNl|2>K@yJVJp2T_#iN&^E{Awozsg<81@;9n`l638uMt7GFAN| zRjr^mQXcVShH70>*nZjc&`@I9KY9I_4pjZirElz$!$kTENu%pw8G$2eJ(uas5uL!2 z&K6EOmRYR&k3%Hj}>gk@2_k%5AF+Ul^ z(Zx=R@UIxiom`6+tA#|T^M+21n2;XsvA-ZIWVEH4K03HEchKkAMx5(aYdW~$+px{? z?csF*uwdqVC9Z&N9#}s4{onC2sc(!HN-*D-WQGGmhBX(^aJ0Dwq)+QR>yB!{24&q zB-lx@By7X4h6&zuMnfmZf00n+v3;}>67ga-JL!^5@D`v zZl!q)EalEsfYU`e#qiA~bdiyK434kYtz<@tkYtuWKe5z7hiqlA_zacGRRUewIs&)k0?{#QOW+9+WA2H zlt9W#x?T_-ThWphN_tw=?eISzW)lj)i@RI)m8$A(I0 zZZeXALK}5Z@-Q@g66Od{zZH{*!fVDv#l%CoK*_vQQQp=B2^g}daqYvQ0M6QXEM8^Q4sz@(exo<^kRH+e8(L_eD4~&{odQIO_c$Wx=1=SQu!A>U z#q&QmE2@iujz`^*S{n4%YKsN?zBNWuGqq*S(4Rh$sOpQrk&#-7dI6DIz~zxzfjz1x zEYez86=kH%cR$%qVxrY%v%4r;Yu2|Y)K-dh<7WglWho*Yhml&f%VfG;AC?6v1!IWO zWeV|~q6D&_sI-WhfpzjKi-DjwAEO5e30ml`F1n_SM_P68Uqq%bb>X1WN7X|PM^gDnTvP4A z6V~en7%$JM&dut2mor`PZ{usGEx%jtKWVMmnpNTj-}Zjr!((Jixeni=D}|;oh0+Gi zWJ?)q^Qv_kJ=eW2Q9FLO%@wq2BVAbv&8B8bpWt9&CI`aDJI~Zka8){Z@l*f%1L}9S?)s98rmq>^>xX zK?kbT6e!a3VFs+C{d?ZxE%Y{xTq%8HpgXWcrtFDVB(W=uP?9Pw;_6({wUSH*nzYg` zh^x$>@~WDYR!Shc6�@d^)MVSFQL-YNnK&`BkJT53^Bcv}$Sjo}SFtQhwZ5^}GpC zk3=15M&q+=nt$VAyduVdude;HRm0*XTk9Rok%gE)f#lWj7*N~t5UiH7;Dn&g}6xDC2cP;-YOGlah;sI+3d_&A(L7lB4_BJc6nPf^wRqn=== zY2if?5B1r{0blHc3E{4kaAUI6Kx~g4JgkaDfe@uNB)R`JTf{hk={H!B2J*u-l#9!F z7dPd4Q>IujooGlt9x*vC*tME|M0KJ$y(=8$V;uhG#lLV{Hn+b}2!Y5NV&9Qy+pkoI zAz%>JU6eg87(25Q7SqT5GKy%x2|u1wW)Qf8;!f2#z zcJ?T}()namwLd0$P|Jewl>!K*MN)eRMh@t;Sp?M;5Tcon_IADegaFCf>u)jsK^t|=0 z@XCiVB?!FZvL z(Xl0|N7X;cbDOhZ>hO86ffumnxH~7#+S!4N7W26N$pJhznMC@-Ap-MxnuVr3Q7n(& zvyAgnb|M;8NH3Am4jk5&cefS~n#V9ZJHf`mf%>3o`SE4<{zwVGnP0N3&`6ly`Z1>( zpk-OTl6AfP+fdg7eAU#nqjVM*&RDN(hwn5GrdG=;5L+B@wIfqt6Oga6C3ljOWT&|z znz<1pCH}@fr#-)QdQq+iR^pkXOiPYt(lFJ-LNSuH5Q#K_s^(AS&udq)ncT=w4#kS4 z?cHg;?GABsl*2%mEp*l_GKtT^R4ZyH5qlzalcB>J%`Oj(wfG>0X8ocALOFAN19RQ*93?mbu5uxUHWKt5o!Z*;3RR7j{&q@AH0Ou;;}{+7ipnnN+q2$KfNvOgo&$e&-ACsbeK&wZgyZ4~ApQ)Y_LC%~UoBb1>pS(CYD9kz}IP7ox2^@T(V&u7EOQ>9p2qI%QMOCa8QcO z!>{Mtb4>vH_TKZtLy1jag&jpo1GaT@)SbjlHD*;PGUv!c>K;nS@xGU<>x{)w@E?EB zbx)8FdUtNxpjd*%P3BE5KgSj;z7FihqsTe@9nmUJoOkT7BQ0fHQTDJK+gGS z3U5~ePFbJ2=s;(}1uiGLVVc)y^n%?pW!<0(apB%MLgtOoBzVnKK;twgAnxix zTob_7oR{#6L2@@noesltYH;VGsaOcZ1_Mq(mJX_i-V1_#!-9qil%R+}37DhBF+7({ z-AuBF9BKSCelGKES^$OlucC<4DlFOL15U?=Zj>XgaxLi^p4^N>UD*B<245=)GB-d= zX;s_>21h`Fk35wonf;^$-=}iDD7ImY@9Y!hk#xFAC`7B0N@o^>@umEP*H}VN-c+uE z8qdTO(HIHH4TU#ob**Gyfp_0kBfHH@7K6`Tl0TmuDQ4I-OIZ}Plu4A0Dlvvs(&J+X zR6Q29H|UFjpAv+!qwyh%G0hkbYr6&Z?=bW9_RrmjP4~>r-qha9m7S+^`}fChgm>58 zAIezdZBO|Gonx!Kot1rhPxs^iG+2GT$-+6f`LXrh;4+v`K8KrU72w+3e5buk8*SLp zlKOErHhmLWsKqKxDaWUWv$sPecAsCOBR=1^*_;a##V?*UdquhPM-j2nFV>mGbxE@d zvr$VpUs*-vUaxe^$&w`r-7M{*Q}-DfA8wQnlU8OQ4(8j~!nEVbq@Y-2ufpO1J^v}W zv{25q;pYnTm0!7$cfC(XTHL9_AUUj?p1kFnwHAV*bK)t~(L96Qr-^!-dLGQNXko(E z(;lLs%tD+QaT6%xktzS+%l+u(ltwNp+L*9?R4{3OY_QP@XQt`R5h?`&I8n=5r$EB0 zi453>#mQfvVjv5971h@cMunulbudE=+ZRH#6x$T_L{*>Ot86FpP#N=ucR6-rBphBl z!N4ylkZHyLkv!@zWJ_;`tlqV;b%oKtS)X{Zw|o+%F`32|w#IrJs1nriZdgd0dk16>Mt zJ9KnzQFsiUva4d6^kiNWjrIUyy36;6bP_2M($I`mG2$5H$C9e6F)}1qsWL4jCVud= zJ=l9pov3u6p9gmk5P@eV>p;^m&AT1kX^38X3TL8dI1QeAOk;yR=@;rF-WWBYVcE!k z$lEE*e|&`dkY+#HhaH>oC$+sX|1A{TpS!|z()9Q)iI-7P3r}SDFI37=Mf0ygE3D$W zX0oX|I%aiFh1E`5m~6Pw31T+9o<$#TfWefjK&)Y``gfMTMH0nJwI4>P2%ZA2nG*@Y zE_;Hup0D;koN+G}`%M}tG&`@au2SE-le)ViX_L+RckA~s6Z>}PzN$H}>K@{=TOdf+ zEMbJ$ofdH`;c9fKuolSBRPsWdr`%fvbnkE_g3!eK622tRd?sr2}&X$Y<#6~Kxkv{8V#*!1{F z5LG5N!(ePnLtP8~b+t5KBTqkFMFZqG7(1tq+_ZoXPc~~Qdp@yAu~9kj3=^;%c^9am z(O_MpW+CDmw~{n(PMyha+Z9Y!>-5Ylvt}{UUS7UJ;hgz$I(h2dZMELsPvDG)HcVM9 zTdZVs+8Gsa){}+)p+Abnnx;f`P9j3>2M1IL%PH_NlL9c7sF*^S^Zwp)Ddp-+vD2aZ zH&MnuOC9tt!x|D8oNz(*zhSn4)*TA3QPBCO2vLEpC0>Qe0g#alsy%gxsu00AJ3LwQ zp_l+zeABx@XcXguu;^==e}_l)#(X-lnUSjBo?<_zGoepgH2jc&mToZ6ku84pznGmm zo!f~`BjYd4A&!F|EM}`M$3x|DN7@=DT^v5as6!;9g$!rwAOWZFj3W6Bk0&v$P?^L5 zCn)gf(wV@yb=DcPC8VcUbKy{qX{Fa?&mm}CcCPhT45{2-HYmYbl4Tm!DQ$)y2vE|67U%1#Mb4S4MIt1p><7(m zJx@~&9|&R;jY%>7SvF5Lnp?u;8Nw?DB8Mm*^QRQcSZuv*cNMZwi)@{POg54%2~mOt za8nNhcpD|4LzJrQGNBBhW2ATvr}ARa&m$FRN- z6Fu&?B_Es^s)vtTE!42{J~ZlddMKiR=3X5P;a} zSN2j9008jH+gjdn zGLJF&8@rpXwCQ=TY85USea*bO^;+)~?&mwMQy=#<|FDq{qJJzNJK?g2oge$>u5ZdU zsopZ>IGv#R=W_LH(Pnpy69tni>JUpI@(GmSqcpOjX?R;Li+Zkaa*50Bz&&c7Pt zj;*|^#0TVU=~^K8qgpt3OW9g$28&ApAih@49$w*Hb8HYFli3Px1zVO!{uFFS(Mo-v^B`}k=4F|5xsy|v`frb#_Eo*2bJy_5uD3UJ zPvte`@%DZeG4`^$r?l6t)&sN!0u6%R>%d-D$%<+}8OZudWb1*;P zePiMq$lI#@@&7GjU}RwUKRO1!|Is8G^AwPwYzOTS08^6 z3;KUSCW-ywXb7PTS_5A@sB(lS_>JG%6Sqyph)y|QU*|{PJwsm*-v_;4&(a*Uk~`n$ zrdz2CTEgMMIao1_#mZ}bX|~@%JVJxte_r*!@9tW=feO_(+y7m0|CN0kneh9Vc<^hB z^9??f*XFZ5|02GMgD>5D%AGI`9-v%mI%aysU%9PE_yDunmTUhZE|zBL18rE^dqL3i zwg)`AnR10J+s94-nR-aB*YuY3_7*Ku?tGu=S;v$RbNh`_A#b3$r%YM1eNMWpcXRv?wd!O+cqVHXflbz5- zU-b4LiQ~*M()ZH7oMoi@S+%t@SFv~ADdwh&)usO%jh-B-<%yGhPc>Oj-9zc9w3~%= zhijUb_4mLY>XGxK2jW{0RMOMd6?k;5uGO_b{Kh+v)Mst$Mx31fTStc3RW`5Lys2Jr zEG-l6>=@PpUv8$3r;JhbOqM0s#rFyC-|95j;Y8SCh1RgeKYB~&K46{iwCbCO^g<&%lO1= zW+`0*Cc$NJ3>u~bw#by-(u|lG(M_)hbcVvx-1a-84*%Y(X^ASDWx|SI1jQ&u`Q$M+ z*E|FBhT%4QBg0;ZWzx#E)cYl!}9>wJ{#GZY{II=r(a*SwVsMmD4<7v9IsHGFI^m=g3VEXBh50U#CFB-e1!EkUira$ zu4K~h0Q(9H3;PQIRJX;$C?OepuDHCnOP>^e9lvn_4)W&*Q=NESM*L$P4R}W;G=P=Q z1Yly3sir(zO0vKG23syGv5o`^LQDYXr_;@3eFE*Zj+4hqJUy*e?c%hn-f$dU`zj~E zSTtKw(DBsC1WC%RV0k6`rMKmOi>lFg2Dh6~ zAE0gp61+M{P}>AfxeyEC!i-;)&GlY=6ASm=hfRIENN1d0BXiblerjwTEg}${llu-_ z$3vCjIC4akqVi1Gb7+`u*N_a_A?s|o@E%g2BD{bsNl)AEsBF4KOBM->kE2m^sakKT z3rHnLE`?lDMlx3T6#NwkJ{(lEk%>A)GgJ&Bht!y(9}6hXP+$`^1w*w2m^O*I8`8lS z$Vn6b%Eb~zF!_UeRChY#`g_EHy%J1&J#~_z0!qNhyOA1?H_uW=gwGbAF=P2%)$R}Z z1IJ_SNJoJ`4Z5M!4TWnVh>rNOj%gE!R9C!J=rBCh#I$Z^5knfohO_&^DJOg=9(xR4 zjzug#*~WNz@KzQDze^u`9!Q15yuw;FM_2g;0Pm}k%om@Tsmsoagldlw3(kFGahMk0+^FrR~2Sbao6N_EDR z6*hY7=zf6i-|f|uK?xe@01<_l63QQTbrlSvRl!4RA~8N-R;uR17_=U1l!F=cA6aM6 zaKqq33PPCL1V}yzDw=eoCNALu#)pB;JK(L4u5_^*?R1~VUElurK+T`Nt(~Kc zjt?V7JdaAv1#A;hH=44Jm=p)cQ8dio5td&wcMZ4pyjwLi)Qa8RZG_0A6H*6Vs7I#i z=n1pZo*I#$y{!;XZ~gO)u5uYVoID)THaVJ$Mo37x&7pa#Q?N?2y>%drRQR;0A`cZ- zTl1gA9SU`Dp*W@%OA*Rdaz^Ci2`3)TeU!6jV@hhijahUXG6?O_ZnKar#s%FxR|rk@ zrFRJrJQZ_hagDk7U=lOb4v)K*=}3P;GK7gLg~O{BDx5m2*I7Mu6c1v)Z4QB}ItD;i z2hGVOT9?l|fZE{_$EbOND9fU_Xo*oNc3sW0`m;b<+$Fcm5EWpFg85tIiBhN09xLYR zWpCsImr~M&wWr%h-CuRP%leTwP1BR)h-t90^^#kxEf<@n#@vZc&}Q)8MoOl;jX;nV z*s1GI;PLnpv;h$Zi z!IyU2f-qRS1Wjn!Bbw;4r>lUAfzYJxT+urAG%8*M4e)yxDu-m z_gykl7QOQdvVkMV1gP*42Z?Vy!l__YWF&)TC>XfSQtjBAc0DVQiFMIQ9`V<88Nly` zC_O=Xg4f^`ABh2_Yomm*!+(e&Al=HkUWs@crkc2^6;4*w^J69(Xb9okTR|esrj)3t zMkDx#PY!*yJ z8X8bX5#=c++ReIWQ4qS9d15EBWV?^ecBNcMh)y$C&dRE1WD2*$)rSu zyR8}~Evz#O7ADtAm=kzSEhvJ3CecNvEB;Vl*AzGS%_1!tqS%N7RjP2T+Rw-lI&)WX zy{`ZPdNw3!VL#-rRpR>Q!IAvebhi95g^#~b-@VEKR!QI|%cQC;`PF=mbcx;8TnmdVcU*p|Vz z2DQ=gp&GtW6)Oc&f@WYHKMeFt04QMXM`ZH#i<^_Ko`wOR2pL6?Kn-w7Y->mX2VR+1 z0ZRb&Dq@NlEN_NCFrp^>{HiT!$0Phh1oS=PokIi*J-#S@iQ@AHVzvA}8GU5CWeUr%++Rz6c;zXdQPbzw+K-AU*_PzPg3K1iXvw z?;s?%M?M6ZcQpelJ>D>tKKiY#F10^^QcC}X@C!Wu454AsJBFVp1N{<2fX~tH`fm7T zV7XQFT6HyiX9bMMpm^B?+sXuzgdG4~i4jpD)~2Iap*zC*!4TALP*|sKQts*# z3d`@|dib$dGt*Y#1#7s*gnbc$O4%66A@Q)CCCfiUr6bM582gS@IvNL?W8z{eq~%gb zo>%d9{Mgu8G_9Izpn8S~j2g~MB`h|3o2Qv#;}yjQ+7cs!vHaBd0Uhgl*jrNXiH)Hv1g}NRNf9Nm49*$|J4=D$SqyLA$L9;jGe5hT^4Fp=z z)eBK+GGKLHgMFc7#G1_pqq<6l@$yYuAn|Amup`B4z?O!=88C;WZ~SSA4ki5ANT1MP zc-6z-KjiI>1L$1pV84?QXo52eAPbk0#;`P=GBwt^NDn&|O_lZ_z_Id<@l0I4>lHLn z{WefqoGd-@Cp4K$Oh~$1kycZ&R6`0k_eWXsJ}Mq&!y9t6o6S#MT(`NCsMPO?K25J< z0Innz>@QI+N&!MzyxlJiiy1B{&dLrzpH#A9lzoM!JQ@x4Qle_#N4;~WEzXOf2dP_! zMjLB3bAyj^|PcSMl!sn8$ zJItqGD&jA0|MImbZ0K`38^$5R-V3({s+>HQMK1_f8Ry8UA$-U3UZ}>RrLAE+Pi$-<5D`MDXS(? z2uPtvWh@;kAav5%)o(tHD_nFMgv>{Q773vBRkhPU@GYc*&8kZS>8$O)b`{@%Y$B zGruXWOBH2`v-l+oy~$!PnOUF%m%p@F##7~_{~zAYDY&<&+w!r^6C3~V#I|)}+qP}n zwrwXTwr$(aiF0$SAMRIOU0wauZ+q{DU2|2fs#R;w-xvc?*Dd3VREB60!ZsQWz<%hZ z!DEfoKwD*En_ZTHZVb0hJF0q-S@wrmS*`3?{%}rkm^QcqPv!|m$i-O0)*m&bks|ir z9Z9SUtu%kT4HDMScC6$9=mD$`_gtD$ovJ0xFKc7DK;gf#O)#s@pg{ywt6Ld{kX7GO zTNj3HtHn@P7=}X@b#T)49z@IZmBC&hxG?Bo59}$bZnpVkT5rMAv?^t!z)AYNCIIK5 z7=d!W{jTx!N<4@iWOFzr;MbuDwnfP4lA0;Fycx)BX9t(tih3Ndnu$8{?>#ShxF`(I zpH$O?ME~GIs8*x5N@@pAR`!MbKMDu)+3LkEq*O)b*>FL2EbxP?j}u1W68$~RkZvS} zoP`GN5F{#YQS3`PFDiyE<9YS&=Lf#tcpUVatNv%+WiypDtvxcVO$0YbT%k1o0%g9T z#m9}bPr&d#<^KJZP#}go2`%~{0^HEnb>PReJ~e4!tMcAdM!hVCMI_bRX=02NSq<`w zc;5Wp9gkN?oCd4oe3f2*ZmYp>l#? zOb5P&8kP9VYMaI7jr>cICn^}SXvR%Q^RB9stf+(xiW9Cm4oy^uxtS&lk7acfAxKN& zKYEx00L19aVz4naT8C}ysV6VoQIA%`9Ym?#sMLXFNG>^KYQT`r+|`vt&q$|SJ0U&) zB(bc>;udg0J%2pypP*eJh(0V9vsgPIPKjUznuPck{Fp(Zgx6sYXgR_s+#aWc1Llm) z!E?rp!dBln)`p%M)A=U@@SYeqv)4-MOU9&I!ViEKyBRrPmR^%VG`$TCwmA|@4az;l zhfQcOXesu_g8Q(`0_TYn=|oMW=p9;CN9_nWIkI+4^#m!|5@Mk|s3%{E+;iq_=r=)1 zb1=Y#Gk=d&ec9MnUgfz)Di zO79xb6*XRrfnD1htb<+uODI^n08+?`DJOJ$Srqw!7To(rOH%xRv9zl6P1uaknCd?F^8>P zq3q+2ZAyw=qlsUN6r~M^nkyYXV)%CQ{v107y6`zprKGUc{#E#W*X2cx&6gDePJ8VP{>;y7Ek){#yUuM`G?wN#u5E%; zNJt5As?2|iik2RtGSy3Y{!Cl%Ixwx^I-idj8gv>*Ix^Kpv3Z=RqZ`>z%5Wcu3uTM? z!r=jA>cUHl8Z2%mm!K@oRyym>s_09IEX^vAc!(J?GPJFM^TIEtRpsE9tt*QSB{Lr) zEX{+35g8hhmQ|VNh?RI3Siks8^}0OhLe%pEQCxS<;i8&a6tzX_ zzd^noQiEqWK@AUe@pJv_+0C>zDXk%nNHpyshD|aUKd(3Sogs!PUES(`Vbbn1{bqeg z5v;)cn8>tcE?nD*+}sWlV8mq9Sqd+`ukOJT^^_Jt6IDFH0xa{rt$9}^pNG$|xY z-y6C9cSZ_Nu+zO}9j#Ws6t*zdM4h)Vq#&pmA5P$+^fFjJ9drEe+B;|sc6jS;Cc>0H zsej&q%HPOL^}I5aww_OFHkOxnJRn39JOXxh;i9_QVKteNQge;6Yu6tD)8~3o@1}ZT zR4hI25D+kwyhm_R%B=mhJfMbLi^LaP^ zRFrJgYB@ZwjrSCizx(N;&(pA=`ADuYJA6g&u`EjQZjwo1hg8{Q-I(_w5X!f;X78R< z$~)bwB;C^{(cRAk%R#nx^Ub#lt^t)TO7HtXBI0k1t{COg2$%CHcW={b&YFvjgAWuemeWP3BaK@sZFtt2$8i(DjA}}N({Z=mTskG zh2J3E*a()s1z)k%!eV5ET#lWcfjp_hc>$_d-J<|R>arzkPzu844;Xy3bWa&S`XP#P z(Y#7vzXUY{2MkD6>L4Go#Ymj-D%5{VGit0Ir@Q|56mIYlj)o)!$P_7~75$m{eoMBL zd`88N=e5-aO0n&i8YA&&b%lUV#Pq>^1q+C&V9waaZcW=BV!;MwIh?u-K|Z3{#$&}vj>#D5f`8WccfAxc@jY3~WOk57n?8>5v%(cf1;z)dzP*8ko)HQ{@9b&-0k9vr zimQH>+?Cw$0(mqM22IGUIpXzBzCc4%G6a5%T>6>^F~`;C1?k};Lg#sJ-GlYI zRECEG&n=E$LJJuj;N+fMr>{5$lIcAy+|H@mq`4L*t065Aqi$=wrc<^o|F1v}oLl8Y zAUon2K^>E2@O<+es_$G9S4maKwg8N$Vw!LWtvD~QdcL=VA{mt%gIKI#RP@(dbQ6P= zSd6WRWKG?_z{J}E)ctKk_m$~FP7=+A+Em&tYH(`vtx9>|(R(R%L|`t+Fm`cKw}cGC z$QtPi_Pi}KbJ(Wq#BfJtP$wq4rj3dn4lxB#^mux1<>-y#G{^(kJ8=nH64=O|x>`M5^Cc!UHGpe8E$=>{shRDx*SL;K-Da`v|J zlXiL%FZgavd$h`PPU=>kMViYNYjj>k>wR)r)_8*Ap0KD!og5_F_ku@WNH z{i)OYEyl6Pu{qfk2H&`UV^9Mp6=w#D2n7L7dM4k#^?hE13E|zQjmf;cbkRwM2$Og_ zMMtF1D(zqeDN>R$~J^4}6yh+J5AooWD>%fGGgUark6drWKz7^`E& zl-Q4c%ce_IUwfjR6-xJlv_Im0W+ZA~~Ml3IX_anuba_h#)9BOw=;c zEJ_!ey^8cfrj=jSXobdSK4rbXs9BrW2`%DNBJ^fejD2#G&9twc#qjA5YYXOR7>71p zPE3e^{DkuCPRW%6bul4}_ivQ-fwOZw`96a-j2S;X_I`thpY66mDosTqtY0c8@(wg$ zs}4%@7SbU9y5#Ba3NamqatnCiF|G-+2}em4SxOlK_8m!NsGSp-cB);igs6x81bz0C$0w!JD zPc+AzTX~ZqpvoO3X4=ubZacMwD;qHt;pM=bU@mLc(y2=PDaTyx97hne%dOBGCr&x6 zY9!frOvdof;!-{)p|~J5&nX(~oLYT*QUJAM0656XT2m9{AP)zGPRK*;>i$4U;*b(v z^4c*W!)`{rx29;CICRRQ_Cd2fets`(Dmh}$2z8hOFJXqmDO_$z9<52&i6CvtxM6@& z@Qd1>l*fN+vyG4j;9=U%95`K-)Z1?Gp|(ygJq(hJOh_^(s(6pVPthbfn4A_EfR>=a z`a9BRmG92uap$=Yul>r<0n7hGNbehIl@ILM7ZIehxJGlN!E4;}k44?!1Cj||)nAyU z+cp7*6pyd7qZ%Rm1AzQ7vctMbj!!0=gx?to>iI1Dg`1JDZ*K z<9W1)>($Km^X~Lxq7-r29YIl}P)jj!It%ND<>itRt(02Q5vcoM#((5ejh5hC>qB1= z595)+>}kouXy&OVCHN6HNtrOZ|czq{ooTjlDekLV;> zc;`>qG3CjEf8*ib8qC}mvcm{isr40sASFV-{>t9$e*k3QcVqMRC0o+GMEq{B$MpU( zeXeqj6J$aTeK;S(o$Q9}ydRAyxCL!l{0yGrwaFq#2lz^-@m$V}vAy^e{BBF_*Kb@3 zxVK|65HV`D7aL%z9_Vc)KFy2c98TYfL?nhkv;_b}t{-^E2W(%H=-|gxL#;cHpuDH` zrQWrjM(jOOg?@=_g3-td7j~t{SHbk+K8Oy*gEOt8p_eQ8S>t7=XV)f?S+bM~2?f1b z;RP`{jzDRHMl&|%GID{(Rlbh9r$4|WgKA3rLsg3ZVr1$F#~vmN+MWm#p7i7+l+*SuVDQhxlGEydYj-s4Tqq`B zDC--mae&56){Be%@%yMhMp6+|{t&Js$FPN)x*^Qs15M4-TCFl4D{mU22+Z@(lEfj! zmfz&5QYP|bcQvIr&lZ=|+VIMZhX$AxLf~85EOMUaPNjaEE%q8lfQ~mgd1D+MZH}p2 z8!#QI|90a}$gjo@d!U)shh{b@y<({N$uj1zJuDL%tamO@mSh;duSja6J*wO@M#
    dz@{uyG!Jj>v@U}!c9`#{o`4z{&K6m`$ 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

    y6GhM_*k&;O1d_GjrM)jbVGo*rq2Z9NN8^|3Q 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 Worspace from File...). + +Once the project loads into VSCodium you will be recommended to install the ESLint plugin. This is HIGHLY recommended. + +## **Environment Setup:** + +There is a task that will automatically setup your environment to use typescript. + +To run it, you just need to go to: + +> Terminal->Run Task...->Show All Tasks...->npm: install + +After running this task, your environment will be ready to start coding. + +DO NOT remove the node_modules folder, this is an auto generated directory that has the required dependencies to be able to use typescript and more. + +## **IMPORTANT:** + +Before starting to work on your mod, we suggest you read about Dependency Injection and Inversion of Control as this is the adopted architecture SPT-AKI has adopted. + +It will be difficult to understand some of the problems you may be having if you dont understand the basics of it. + +A guide explaining all the essentials will be available on the hub on release for you to read about. + +## **Coding:** + +All your work should be centered around the mod.ts file as an entry point. +You can ONLY change the following properties from the package.json file: `"name"`, `"version"`, `"license"`: `"MIT"`, `"author"`, `"akiVersion"`. + +If you have never used typescript before, you can read about it here: https://www.typescriptlang.org/docs/ + +## **Distributing your mod:** + +The project has been set up with an automatic task that will copy and zip ALL required files for your mod to work on SPT-AKI. +To run this task you just need to go to: + +> Terminal->Run Task...->Show All Tasks...->npm: build:zip + +The output will be a mod.zip file that will appear on the root of the project. + +Always verify that all files were included into the zip file. \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/config/config.json b/Ereshkigal-AkiConfig/config/config.json new file mode 100644 index 0000000..1c8f897 --- /dev/null +++ b/Ereshkigal-AkiConfig/config/config.json @@ -0,0 +1,334 @@ +{ + "Server values": { + "HTTP": { + "ip": "127.0.0.1", + "port": 6969 + }, + "Health": { + "healthMultipliers": { + "death": 0.3, + "blacked": 0.1 + }, + "save": { + "health": true, + "effects": true + } + }, + "Hideout": { + "runIntervalSeconds": 900, + "scavCase": { + "rewardParentBlacklist": [ + "5485a8684bdc2da71d8b4567", + "543be5dd4bdc2deb348b4569" + ], + "rewardItemBlacklist": [], + "ammoRewards": { + "giveMultipleOfTen": true, + "minAmount": 10 + }, + "moneyRewards": { + "enabled": false, + "rub": { + "min": 1000, + "max": 200000 + }, + "usd": { + "min": 100, + "max": 2000 + }, + "eur": { + "min": 100, + "max": 2000 + } + } + } + }, + "enableChristmasGifts": false + }, + "Raids values": { + "Loot values": { + "allowLootOverlay": false, + "looseLootMultiplier": { + "bigmap": 1, + "develop": 1, + "factory4_day": 1, + "factory4_night": 1, + "interchange": 1, + "laboratory": 1, + "rezervbase": 1, + "shoreline": 1, + "woods": 1, + "hideout": 0, + "lighthouse": 1, + "privatearea": 1, + "suburbs": 1, + "tarkovstreets": 1, + "terminal": 1, + "town": 1 + }, + "staticLootMultiplier": { + "bigmap": 1, + "develop": 1, + "factory4_day": 1, + "factory4_night": 1, + "interchange": 1, + "laboratory": 1, + "rezervbase": 1, + "shoreline": 1, + "woods": 1, + "hideout": 0, + "lighthouse": 1, + "privatearea": 1, + "suburbs": 1, + "tarkovstreets": 1, + "terminal": 1, + "town": 1 + }, + "limits": { + "bigmap": 1000, + "develop": 30, + "factory4_day": 100, + "factory4_night": 100, + "interchange": 2000, + "laboratory": 1000, + "rezervbase": 3000, + "shoreline": 1000, + "woods": 200, + "hideout": 0, + "lighthouse": 1500, + "privatearea": 0, + "suburbs": 0, + "tarkovstreets": 0, + "terminal": 0, + "town": 0 + } + }, + "Airdrop values": {}, + "MIAOnRaidEnd": false, + "raidMenuSettings": { + "aiAmount": "AsOnline", + "aiDifficulty": "AsOnline", + "bossEnabled": true, + "scavWars": false, + "taggedAndCursed": false + }, + "save": { + "loot": true, + "durability": true + }, + "carExtracts": [ + "Dorms V-Ex", + "PP Exfil", + "V-Ex_light", + "South V-Ex" + ], + "carExtractBaseStandingGain": 0.25, + "scavExtractGain": 0.01 + }, + "Traders values": { + "Traders": { + "updateTime": [ + { + "traderId": "54cb50c76803fa8b248b4571", + "seconds": 3600 + }, + { + "traderId": "54cb57776803fa99248b456e", + "seconds": 3600 + }, + { + "traderId": "579dc571d53a0658a154fbec", + "seconds": 3600 + }, + { + "traderId": "58330581ace78e27b8b10cee", + "seconds": 3600 + }, + { + "traderId": "5935c25fb3acc3127c3d8cd9", + "seconds": 3600 + }, + { + "traderId": "5a7c2eca46aef81a7ca2145d", + "seconds": 3600 + }, + { + "traderId": "5ac3b934156ae10c4430e83c", + "seconds": 3600 + }, + { + "traderId": "5c0647fdd443bc2504c2d371", + "seconds": 3600 + }, + { + "traderId": "ragfair", + "seconds": 3600 + } + ], + "updateTimeDefault": 3600, + "fenceAssortSize": 100, + "fenceMaxPresetsCount": 5, + "fencePresetPriceMult": 2.5, + "minDurabilityForSale": 60, + "fenceItemIgnoreList": [ + "58ac60eb86f77401897560ff", + "59e8936686f77467ce798647", + "56e294cdd2720b603a8b4575", + "5661632d4bdc2d903d8b456b", + "543be5e94bdc2df1348b4568", + "543be6674bdc2df1348b4569", + "5448bf274bdc2dfc2f8b456a", + "543be5664bdc2dd4348b4569", + "5447bedf4bdc2d87278b4568" + ] + }, + "Repair": { + "priceMultiplier": 1 + }, + "Insurances": { + "insuranceMultiplier": { + "54cb50c76803fa8b248b4571": 0.16, + "54cb57776803fa99248b456e": 0.25 + }, + "returnChancePercent": { + "54cb50c76803fa8b248b4571": 80, + "54cb57776803fa99248b456e": 85 + }, + "runIntervalSeconds": 600 + }, + "Trading": { + "newItemsMarkedFound": false + } + }, + "FleaMarket configuration": { + "runIntervalSeconds": 60, + "sell": { + "fees": true, + "chance": { + "base": 50, + "overprices": 0.5, + "underpriced": 2 + }, + "time": { + "base": 15, + "min": 5, + "max": 15 + }, + "reputation": { + "gain": 2e-7, + "loss": 2e-7 + } + }, + "traders": { + "EnablePraporOffers": true, + "EnableTheRapistOffers": true, + "EnableFenceOffers": false, + "EnableSkierOffers": true, + "EnablePeacekeeperOffers": true, + "EnableMechanicOffers": true, + "EnableRagmanOffers": true, + "EnableJaegerOffers": true, + "EnableAllAvailableOffers": false + }, + "dynamic": { + "expiredOfferThreshold": 1500, + "offerItemCount": { + "min": 7, + "max": 15 + }, + "price": { + "min": 0.8, + "max": 1.2 + }, + "endTimeSeconds": { + "min": 180, + "max": 1800 + }, + "condition": { + "conditionChance": 0.2, + "min": 0.6, + "max": 1 + }, + "stackablePercent": { + "min": 10, + "max": 500 + }, + "nonStackableCount": { + "min": 1, + "max": 10 + }, + "rating": { + "min": 0.1, + "max": 0.95 + }, + "currencies": { + "5449016a4bdc2d6f028b456f": 75, + "5696686a4bdc2da3298b456a": 23, + "569668774bdc2da2298b4568": 2 + }, + "showAsSingleStack": [ + "5422acb9af1c889c16000029", + "5448e54d4bdc2dcc718b4568", + "5795f317245977243854e041", + "5448e53e4bdc2d60728b4567", + "5448bf274bdc2dfc2f8b456a", + "543be5e94bdc2df1348b4568", + "5448f39d4bdc2d0a728b4568" + ], + "blacklist": { + "custom": [ + "5cdeb229d7f00c000e7ce174", + "5996f6d686f77467977ba6cc", + "5996f6cb86f774678763a6ca", + "5943d9c186f7745a13413ac9", + "5996f6fc86f7745e585b4de3", + "5cde8864d7f00c0010373be1", + "5d2f2ab648f03550091993ca" + ], + "enableBsgList": true, + "enableQuestList": true + } + } + }, + "Weather values": { + "acceleration": 2, + "weather": { + "clouds": { + "min": -1.5, + "max": 1.5 + }, + "windSpeed": { + "min": 0, + "max": 3 + }, + "windDirection": { + "min": 0, + "max": 3 + }, + "windGustiness": { + "min": 0, + "max": 1 + }, + "rain": { + "min": 1, + "max": 4 + }, + "rainIntensity": { + "min": 0.1, + "max": 1 + }, + "fog": { + "min": 0.001, + "max": 0.03 + }, + "temp": { + "min": 0, + "max": 16 + }, + "pressure": { + "min": 760, + "max": 764 + } + } + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/config/dailyConfig.json b/Ereshkigal-AkiConfig/config/dailyConfig.json new file mode 100644 index 0000000..96ff22f --- /dev/null +++ b/Ereshkigal-AkiConfig/config/dailyConfig.json @@ -0,0 +1,537 @@ +{ + "redeemTime": 48, + "repeatableQuests": [ + { + "name": "Daily", + "types": [ + "Elimination", + "Completion", + "Exploration" + ], + "resetTime": 86400, + "numQuests": 3, + "minPlayerLevel": 5, + "rewardScaling": { + "levels": [ + 1, + 20, + 45, + 100 + ], + "experience": [ + 2000, + 4000, + 20000, + 80000 + ], + "roubles": [ + 6000, + 10000, + 100000, + 250000 + ], + "items": [ + 1, + 2, + 4, + 4 + ], + "reputation": [ + 0.01, + 0.01, + 0.01, + 0.01 + ], + "rewardSpread": 0.5 + }, + "locations": { + "any": [ + "any" + ], + "factory4_day": [ + "factory4_day", + "factory4_night" + ], + "bigmap": [ + "bigmap" + ], + "Woods": [ + "Woods" + ], + "Shoreline": [ + "Shoreline" + ], + "Interchange": [ + "Interchange" + ], + "Lighthouse": [ + "Lighthouse" + ], + "laboratory": [ + "laboratory" + ], + "RezervBase": [ + "RezervBase" + ] + }, + "traderWhitelist": [ + { + "traderId": "54cb50c76803fa8b248b4571", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "54cb57776803fa99248b456e", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "58330581ace78e27b8b10cee", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5935c25fb3acc3127c3d8cd9", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5a7c2eca46aef81a7ca2145d", + "questTypes": [ + "Completion", + "Exploration" + ] + }, + { + "traderId": "5ac3b934156ae10c4430e83c", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5c0647fdd443bc2504c2d371", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + } + ], + "questConfig": { + "Exploration": { + "maxExtracts": 3, + "specificExits": { + "probability": 0.25, + "passageRequirementWhitelist": [ + "None", + "TransferItem", + "WorldEvent", + "Train", + "Reference", + "Empty" + ] + } + }, + "Completion": { + "minRequestedAmount": 1, + "maxRequestedAmount": 5, + "minRequestedBulletAmount": 20, + "maxRequestedBulletAmount": 60, + "useWhitelist": true, + "useBlacklist": false + }, + "Elimination": { + "targets": [ + { + "key": "Savage", + "relativeProbability": 7, + "data": { + "isBoss": false + } + }, + { + "key": "AnyPmc", + "relativeProbability": 2, + "data": { + "isBoss": false + } + }, + { + "key": "bossBully", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossGluhar", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossKilla", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossSanitar", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossTagilla", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossKojaniy", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + } + ], + "bodyPartProb": 0.4, + "bodyParts": [ + { + "key": "Head", + "relativeProbability": 1, + "data": [ + "Head" + ] + }, + { + "key": "Stomach", + "relativeProbability": 3, + "data": [ + "Stomach" + ] + }, + { + "key": "Chest", + "relativeProbability": 5, + "data": [ + "Chest" + ] + }, + { + "key": "Arms", + "relativeProbability": 0.5, + "data": [ + "LeftArm", + "RightArm" + ] + }, + { + "key": "Legs", + "relativeProbability": 1, + "data": [ + "LeftLeg", + "RightLeg" + ] + } + ], + "specificLocationProb": 0.25, + "distLocationBlacklist": [ + "laboratory", + "factory4_day", + "factory4_night" + ], + "distProb": 0.25, + "maxDist": 200, + "minDist": 20, + "maxKills": 5, + "minKills": 2 + } + } + }, + { + "name": "Weekly", + "types": [ + "Elimination", + "Completion", + "Exploration" + ], + "resetTime": 604800, + "numQuests": 1, + "minPlayerLevel": 15, + "rewardScaling": { + "levels": [ + 1, + 20, + 45, + 100 + ], + "experience": [ + 4000, + 8000, + 40000, + 160000 + ], + "roubles": [ + 12000, + 20000, + 200000, + 500000 + ], + "items": [ + 3, + 3, + 4, + 4 + ], + "reputation": [ + 0.02, + 0.03, + 0.03, + 0.03 + ], + "rewardSpread": 0.5 + }, + "locations": { + "any": [ + "any" + ], + "factory4_day": [ + "factory4_day", + "factory4_night" + ], + "bigmap": [ + "bigmap" + ], + "Woods": [ + "Woods" + ], + "Shoreline": [ + "Shoreline" + ], + "Interchange": [ + "Interchange" + ], + "Lighthouse": [ + "Lighthouse" + ], + "laboratory": [ + "laboratory" + ], + "RezervBase": [ + "RezervBase" + ] + }, + "traderWhitelist": [ + { + "traderId": "54cb50c76803fa8b248b4571", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "54cb57776803fa99248b456e", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "58330581ace78e27b8b10cee", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5935c25fb3acc3127c3d8cd9", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5a7c2eca46aef81a7ca2145d", + "questTypes": [ + "Completion", + "Exploration" + ] + }, + { + "traderId": "5ac3b934156ae10c4430e83c", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5c0647fdd443bc2504c2d371", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + } + ], + "questConfig": { + "Exploration": { + "maxExtracts": 10, + "specificExits": { + "probability": 0.5, + "passageRequirementWhitelist": [ + "None", + "TransferItem", + "WorldEvent", + "Train", + "Reference", + "Empty" + ] + } + }, + "Completion": { + "minRequestedAmount": 2, + "maxRequestedAmount": 10, + "minRequestedBulletAmount": 20, + "maxRequestedBulletAmount": 60, + "useWhitelist": true, + "useBlacklist": false + }, + "Elimination": { + "targets": [ + { + "key": "Savage", + "relativeProbability": 7, + "data": { + "isBoss": false + } + }, + { + "key": "AnyPmc", + "relativeProbability": 2, + "data": { + "isBoss": false + } + }, + { + "key": "bossBully", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossGluhar", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossKilla", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossSanitar", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossTagilla", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossKojaniy", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + } + ], + "bodyPartProb": 0.4, + "bodyParts": [ + { + "key": "Head", + "relativeProbability": 1, + "data": [ + "Head" + ] + }, + { + "key": "Stomach", + "relativeProbability": 3, + "data": [ + "Stomach" + ] + }, + { + "key": "Chest", + "relativeProbability": 5, + "data": [ + "Chest" + ] + }, + { + "key": "Arms", + "relativeProbability": 0.5, + "data": [ + "LeftArm", + "RightArm" + ] + }, + { + "key": "Legs", + "relativeProbability": 1, + "data": [ + "LeftLeg", + "RightLeg" + ] + } + ], + "specificLocationProb": 0.25, + "distLocationBlacklist": [ + "laboratory", + "factory4_day", + "factory4_night" + ], + "distProb": 0.25, + "maxDist": 200, + "minDist": 20, + "maxKills": 15, + "minKills": 5 + } + } + } + ] +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/config/pmcConfig.json b/Ereshkigal-AkiConfig/config/pmcConfig.json new file mode 100644 index 0000000..8220f87 --- /dev/null +++ b/Ereshkigal-AkiConfig/config/pmcConfig.json @@ -0,0 +1,296 @@ +{ + "presetBatch": { + "assault": 120, + "bossBully": 1, + "bossGluhar": 1, + "bossKilla": 1, + "bossKojaniy": 1, + "bossSanitar": 1, + "bossTagilla": 1, + "bossTest": 40, + "cursedAssault": 120, + "followerBully": 4, + "followerGluharAssault": 2, + "followerGluharScout": 2, + "followerGluharSecurity": 2, + "followerGluharSnipe": 2, + "followerKojaniy": 2, + "followerSanitar": 2, + "followerTagilla": 2, + "followerTest": 4, + "marksman": 30, + "pmcBot": 120, + "sectantPriest": 1, + "sectantWarrior": 5, + "gifter": 1, + "test": 40, + "exUsec": 15 + }, + "bosses": [ + "bossbully", + "bossgluhar", + "bosskilla", + "bosskojaniy", + "bosssanitar", + "bosstagilla" + ], + "durability": { + "default": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 50, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "pmc": { + "armor": { + "lowestMaxPercent": 90, + "highestMaxPercent": 100, + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 95, + "highestMax": 100, + "maxDelta": 5, + "minDelta": 0 + } + }, + "boss": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 80, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "follower": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 80, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "assault": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 48, + "highestMax": 70, + "maxDelta": 10, + "minDelta": 0 + } + }, + "cursedassault": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 50, + "highestMax": 70, + "maxDelta": 10, + "minDelta": 0 + } + }, + "marksman": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 50, + "highestMax": 70, + "maxDelta": 10, + "minDelta": 0 + } + }, + "pmcbot": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 80, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "exusec": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 79, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "sectantpriest": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 90, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "sectantwarrior": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 90, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + } + }, + "lootNValue": { + "scav": 3, + "pmc": 1.8 + }, + "pmc": { + "dynamicLoot": { + "whitelist": [ + "57864a3d24597754843f8721", + "57864a66245977548f04a81f", + "57864ada245977548638de91", + "57864bb7245977548b3b66c2", + "57864c322459775490116fbf", + "57864c8c245977548867e7f1", + "57864e4c24597754843f8723", + "57864ee62459775490116fc1", + "5c164d2286f774194c5e69fa", + "5c99f98d86f7745c314214b3", + "55818add4bdc2d5b648b456f", + "55818ad54bdc2ddc698b4569", + "55818aeb4bdc2ddc698b456a", + "55818ae44bdc2dde698b456c", + "55818b164bdc2ddc698b456c", + "5448bc234bdc2d3c308b4569", + "5447e1d04bdc2dff2f8b4567", + "5448eb774bdc2d0a728b4567", + "550aa4cd4bdc2dd8348b456c", + "55818af64bdc2d5b648b4570", + "5448ecbe4bdc2d60728b4568", + "5448e8d04bdc2ddf718b4569", + "5d650c3e815116009f6201d2", + "5448e8d64bdc2dce718b4568", + "5448f3a14bdc2d27728b4569", + "5448e54d4bdc2dcc718b4568", + "5448f3a64bdc2d60728b456a", + "543be5cb4bdc2deb348b4568", + "5485a8684bdc2da71d8b4567", + "543be5dd4bdc2deb348b4569", + "590c745b86f7743cc433c5f2", + "5448f39d4bdc2d0a728b4568", + "543be6564bdc2df4348b4568" + ], + "blacklist": [ + "5fca13ca637ee0341a484f46", + "59f32c3b86f77472a31742f0", + "59f32bb586f774757e1e8442", + "617aa4dd8166f034d57de9c5", + "5a2a57cfc4a2826c6e06d44a", + "619256e5f8af2c1a4e1f5d92", + "5a0c27731526d80618476ac4" + ], + "spawnLimits": { + "5c99f98d86f7745c314214b3": 1, + "5c164d2286f774194c5e69fa": 1, + "550aa4cd4bdc2dd8348b456c": 2, + "55818add4bdc2d5b648b456f": 1, + "55818ad54bdc2ddc698b4569": 1, + "55818aeb4bdc2ddc698b456a": 1, + "55818ae44bdc2dde698b456c": 1, + "55818af64bdc2d5b648b4570": 1, + "5448e54d4bdc2dcc718b4568": 1, + "5448f3a64bdc2d60728b456a": 2, + "5447e1d04bdc2dff2f8b4567": 1, + "5a341c4686f77469e155819e": 1, + "55818b164bdc2ddc698b456c": 2, + "5448bc234bdc2d3c308b4569": 2, + "543be5dd4bdc2deb348b4569": 2, + "543be5cb4bdc2deb348b4568": 2, + "5485a8684bdc2da71d8b4567": 2, + "5d650c3e815116009f6201d2": 2, + "5448f39d4bdc2d0a728b4568": 2, + "543be6564bdc2df4348b4568": 1 + }, + "moneyStackLimits": { + "5449016a4bdc2d6f028b456f": 4000, + "5696686a4bdc2da3298b456a": 50, + "569668774bdc2da2298b4568": 50 + } + }, + "cartridgeBlacklist": [ + "56dff421d2720b5f5a8b4567", + "56dff216d2720bbd668b4568", + "56dff338d2720bbd668b4569", + "56dff4ecd2720b5f5a8b4568", + "59e6918f86f7746c9f75e849", + "5c0d5ae286f7741e46554302", + "5c0d56a986f774449d5de529", + "5efb0e16aeb21837e749c7ff", + "5737218f245977612125ba51", + "57372140245977611f70ee91", + "57371aab2459775a77142f22", + "573719762459775a626ccbc1", + "573601b42459776410737435", + "573602322459776445391df1", + "59e4d3d286f774176a36250a", + "5e023e88277cce2b522ff2b1", + "59e6658b86f77411d949b250", + "5c0d591486f7744c505b416f", + "5d6e68d1a4b93622fe60e845", + "5d6e6869a4b9361c140bcfde", + "5e85a9f4add9fe03027d9bf1", + "5cadf6e5ae921500113bb973", + "5cadf6ddae9215051e1c23b2", + "6196365d58ef8c428c287da1", + "5ba26812d4351e003201fef1", + "5cc80f79e4a949033c7343b2" + ], + "difficulty": "AsOnline", + "isUsec": 50, + "chanceSameSideIsHostilePercent": 50, + "usecType": "bosstest", + "bearType": "test", + "maxBackpackLootTotalRub": 150000, + "maxPocketLootTotalRub": 50000, + "maxVestLootTotalRub": 50000, + "types": { + "assault": 25, + "cursedAssault": 25, + "pmcBot": 25, + "exUsec": 10 + } + }, + "showTypeInNickname": false, + "maxBotCap": 20 +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/locale/DailyLocale.json b/Ereshkigal-AkiConfig/locale/DailyLocale.json new file mode 100644 index 0000000..37481d5 --- /dev/null +++ b/Ereshkigal-AkiConfig/locale/DailyLocale.json @@ -0,0 +1,4 @@ +{ + "redeemTime": "", + "repeatableQuests": "" +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/locale/PmcLocale.json b/Ereshkigal-AkiConfig/locale/PmcLocale.json new file mode 100644 index 0000000..ac2f8de --- /dev/null +++ b/Ereshkigal-AkiConfig/locale/PmcLocale.json @@ -0,0 +1,195 @@ +{ + "presetBatch": { + "assault": "", + "bossBully": "", + "bossGluhar": "", + "bossKilla": "", + "bossKojaniy": "", + "bossSanitar": "", + "bossTagilla": "", + "bossTest": "", + "cursedAssault": "", + "followerBully": "", + "followerGluharAssault": "", + "followerGluharScout": "", + "followerGluharSecurity": "", + "followerGluharSnipe": "", + "followerKojaniy": "", + "followerSanitar": "", + "followerTagilla": "", + "followerTest": "", + "marksman": "", + "pmcBot": "", + "sectantPriest": "", + "sectantWarrior": "", + "gifter": "", + "test": "", + "exUsec": "" + }, + "bosses": "", + "durability": { + "default": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "pmc": { + "armor": { + "lowestMaxPercent": "", + "highestMaxPercent": "", + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "boss": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "follower": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "assault": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "cursedassault": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "marksman": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "pmcbot": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "exusec": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "sectantpriest": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "sectantwarrior": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + } + }, + "lootNValue": { + "scav": "", + "pmc": "" + }, + "pmc": { + "dynamicLoot": { + "whitelist": "", + "blacklist": "", + "spawnLimits": "", + "moneyStackLimits": "" + }, + "cartridgeBlacklist": "", + "difficulty": "", + "isUsec": "", + "chanceSameSideIsHostilePercent": "", + "usecType": "", + "bearType": "", + "maxBackpackLootTotalRub": "", + "maxPocketLootTotalRub": "", + "maxVestLootTotalRub": "", + "types": { + "assault": "", + "cursedAssault": "", + "pmcBot": "", + "exUsec": "" + } + }, + "showTypeInNickname": "", + "maxBotCap": "" +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/locale/locale.json b/Ereshkigal-AkiConfig/locale/locale.json new file mode 100644 index 0000000..76b1b9f --- /dev/null +++ b/Ereshkigal-AkiConfig/locale/locale.json @@ -0,0 +1,253 @@ +{ + "Server values": { + "HTTP": { + "ip": "", + "port": "" + }, + "Health": { + "healthMultipliers": { + "death": "", + "blacked": "" + }, + "save": { + "health": "", + "effects": "" + } + }, + "Hideout": { + "runIntervalSeconds": "", + "scavCase": { + "rewardParentBlacklist": "", + "rewardItemBlacklist": "", + "ammoRewards": { + "giveMultipleOfTen": "", + "minAmount": "" + }, + "moneyRewards": { + "enabled": "", + "rub": { + "min": "", + "max": "" + }, + "usd": { + "min": "", + "max": "" + }, + "eur": { + "min": "", + "max": "" + } + } + } + }, + "enableChristmasGifts": "" + }, + "Raids values": { + "Loot values": { + "allowLootOverlay": "", + "looseLootMultiplier": { + "bigmap": "", + "develop": "", + "factory4day": "", + "factory4night": "", + "interchange": "", + "laboratory": "", + "rezervbase": "", + "shoreline": "", + "woods": "", + "hideout": "", + "lighthouse": "", + "privatearea": "", + "suburbs": "", + "tarkovstreets": "", + "terminal": "", + "town": "" + }, + "staticLootMultiplier": { + "bigmap": "", + "develop": "", + "factory4day": "", + "factory4night": "", + "interchange": "", + "laboratory": "", + "rezervbase": "", + "shoreline": "", + "woods": "", + "hideout": "", + "lighthouse": "", + "privatearea": "", + "suburbs": "", + "tarkovstreets": "", + "terminal": "", + "town": "" + }, + "limits": { + "bigmap": "", + "develop": "", + "factory4day": "", + "factory4night": "", + "interchange": "", + "laboratory": "", + "rezervbase": "", + "shoreline": "", + "woods": "", + "hideout": "", + "lighthouse": "", + "privatearea": "", + "suburbs": "", + "tarkovstreets": "", + "terminal": "", + "town": "" + } + }, + "Airdrop values": {}, + "MIAOnRaidEnd": "", + "raidMenuSettings": { + "aiAmount": "", + "aiDifficulty": "", + "bossEnabled": "", + "scavWars": "", + "taggedAndCursed": "" + }, + "save": { + "loot": "", + "durability": "" + }, + "carExtracts": "", + "carExtractBaseStandingGain": "", + "scavExtractGain": "" + }, + "Traders values": { + "Traders": { + "updateTime": "", + "updateTimeDefault": "", + "fenceAssortSize": "", + "fenceMaxPresetsCount": "", + "fencePresetPriceMult": "", + "minDurabilityForSale": "", + "fenceItemIgnoreList": "" + }, + "Repair": { + "priceMultiplier": "" + }, + "Insurances": { + "insuranceMultiplier": "", + "returnChancePercent": "", + "runIntervalSeconds": "" + }, + "Trading": { + "newItemsMarkedFound": "" + } + }, + "FleaMarket configuration": { + "runIntervalSeconds": "", + "sell": { + "fees": "", + "chance": { + "base": "", + "overprices": "", + "underpriced": "" + }, + "time": { + "base": "", + "min": "", + "max": "" + }, + "reputation": { + "gain": "", + "loss": "" + } + }, + "traders": { + "EnablePraporOffers": "", + "EnableTheRapistOffers": "", + "EnableFenceOffers": "", + "EnableSkierOffers": "", + "EnablePeacekeeperOffers": "", + "EnableMechanicOffers": "", + "EnableRagmanOffers": "", + "EnableJaegerOffers": "", + "EnableAllAvailableOffers": "" + }, + "dynamic": { + "expiredOfferThreshold": "", + "offerItemCount": { + "min": "", + "max": "" + }, + "price": { + "min": "", + "max": "" + }, + "endTimeSeconds": { + "min": "", + "max": "" + }, + "condition": { + "conditionChance": "", + "min": "", + "max": "" + }, + "stackablePercent": { + "min": "", + "max": "" + }, + "nonStackableCount": { + "min": "", + "max": "" + }, + "rating": { + "min": "", + "max": "" + }, + "currencies": "", + "showAsSingleStack": "", + "blacklist": { + "custom": "", + "enableBsgList": "", + "enableQuestList": "" + } + } + }, + "Weather values": { + "acceleration": "", + "weather": { + "clouds": { + "min": "", + "max": "" + }, + "windSpeed": { + "min": "", + "max": "" + }, + "windDirection": { + "min": "", + "max": "" + }, + "windGustiness": { + "min": "", + "max": "" + }, + "rain": { + "min": "", + "max": "" + }, + "rainIntensity": { + "min": "", + "max": "" + }, + "fog": { + "min": "", + "max": "" + }, + "temp": { + "min": "", + "max": "" + }, + "pressure": { + "min": "", + "max": "" + } + } + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/models/IConfig.ts b/Ereshkigal-AkiConfig/models/IConfig.ts new file mode 100644 index 0000000..790720a --- /dev/null +++ b/Ereshkigal-AkiConfig/models/IConfig.ts @@ -0,0 +1,262 @@ +export interface HTTP +{ + ip: string; + port: number; +} + +export interface HealthMultipliers +{ + death: number; + blacked: number; +} + +export interface HealthSave +{ + health: boolean; + effects: boolean; +} + +export interface Health +{ + healthMultipliers: HealthMultipliers; + save: HealthSave; +} + +export interface AmmoRewards +{ + giveMultipleOfTen: boolean; + minAmount: number; +} + +export interface MinMax +{ + min: number; + max: number; +} + +export interface MoneyRewards +{ + enabled: boolean; + rub: MinMax; + usd: MinMax; + eur: MinMax +} + +export interface ScavCase +{ + rewardParentBlacklist: any; + rewardItemBlacklist: any; + ammoRewards: AmmoRewards; + moneyRewards: MoneyRewards; +} + +export interface Hideout +{ + runIntervalSeconds: number; + scavCase: ScavCase; +} + +export interface LootMultiplier +{ + bigmap: number; + develop: number; + factory4day: number; + factory4night: number; + interchange: number; + laboratory: number; + rezervbase: number; + shoreline: number; + woods: number; + hideout: number; + lighthouse: number; + privatearea: number; + suburbs: number; + tarkovstreets: number; + terminal: number; + town: number; +} + +export interface LootValues +{ + allowLootOverlay: boolean; + looseLootMultiplier: LootMultiplier; + staticLootMultiplier: LootMultiplier; + limits: LootMultiplier; +} + +export interface RaidMenuSettings +{ + aiAmount: string; + aiDifficulty: string; + bossEnabled: boolean; + scavWars: boolean; + taggedAndCursed: boolean; +} + +export interface RaidsValuesSave +{ + loot: boolean; + durability: boolean; +} + +export interface Traders +{ + updateTime: any; + updateTimeDefault: number; + fenceAssortSize: number; + fenceMaxPresetsCount: number; + fencePresetPriceMult: number; + minDurabilityForSale: number; + fenceItemIgnoreList: any; +} + +export interface Repair +{ + priceMultiplier: number; +} + +export interface Insurances +{ + insuranceMultiplier: any; + returnChancePercent: any; + runIntervalSeconds: number; +} + +export interface Trading +{ + newItemsMarkedFound: boolean; +} + +export interface Chance +{ + base: number; + overprices: number; + underpriced: number; +} + +export interface Time +{ + base: number; + min: number; + max: number; +} + +export interface Reputation +{ + gain: number; + loss: number; +} + +export interface Sell +{ + fees: boolean; + chance: Chance; + time: Time; + reputation: Reputation; +} + +export interface FleaMarketTraders +{ + EnablePraporOffers: boolean; + EnableTheRapistOffers: boolean; + EnableFenceOffers: false, + EnableSkierOffers: boolean; + EnablePeacekeeperOffers: boolean; + EnableMechanicOffers: boolean; + EnableRagmanOffers: boolean; + EnableJaegerOffers: boolean; + EnableAllAvailableOffers: boolean; +} + +export interface Condition +{ + conditionChance: number; + min: number; + max: number; +} + +export interface Blacklist +{ + custom: any; + enableBsgList: boolean; + enableQuestList: boolean; +} + +export interface Dynamic +{ + expiredOfferThreshold: number; + offerItemCount: MinMax; + price: MinMax; + endTimeSeconds: MinMax; + condition: Condition; + stackablePercent: MinMax; + nonStackableCount: MinMax; + rating: MinMax; + currencies: any; + showAsSingleStack: any; + blacklist: Blacklist; +} + +export interface Weather +{ + clouds: MinMax; + windSpeed: MinMax; + windDirection: MinMax; + windGustiness: MinMax; + rain: MinMax; + rainIntensity: MinMax; + fog: MinMax; + temp: MinMax; + pressure: MinMax; +} + +export interface ServerValues +{ + http: HTTP; + health: Health; + hideout: Hideout; + enableChristmasGifts: boolean; +} + +export interface RaidsValues +{ + lootValues: LootValues; + airdropValues: any; + miaOnRaidEnd: boolean; + raidMenuSettings: RaidMenuSettings; + save: RaidsValuesSave; + carExtracts: any; + carExtractBaseStandingGain: number; + scavExtractGain: number; +} + +export interface TradersValues +{ + traders: Traders; + repair: Repair; + insurances: Insurances; + trading: Trading; +} + +export interface FleaMarketConfiguration +{ + runIntervalSeconds: number; + sell: Sell; + traders: FleaMarketTraders; + dynamic: Dynamic; +} + +export interface WeatherValues +{ + acceleration: number; + weather: Weather; +} + +export interface IConfig +{ + serverValues: ServerValues; + raidsValues: RaidsValues; + tradersValues: TradersValues; + fleaMarketConfiguration: FleaMarketConfiguration; + weatherValues: WeatherValues; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/models/IDailyConfig.ts b/Ereshkigal-AkiConfig/models/IDailyConfig.ts new file mode 100644 index 0000000..752b5cb --- /dev/null +++ b/Ereshkigal-AkiConfig/models/IDailyConfig.ts @@ -0,0 +1,5 @@ +export interface IDailyConfig +{ + redeemTime: number; + repeatableQuests: any; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/models/IDailyLocale.ts b/Ereshkigal-AkiConfig/models/IDailyLocale.ts new file mode 100644 index 0000000..8efdd57 --- /dev/null +++ b/Ereshkigal-AkiConfig/models/IDailyLocale.ts @@ -0,0 +1,5 @@ +export interface IDailyLocale +{ + redeemTime: string; + repeatableQuests: string; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/models/ILocale.ts b/Ereshkigal-AkiConfig/models/ILocale.ts new file mode 100644 index 0000000..c7c4943 --- /dev/null +++ b/Ereshkigal-AkiConfig/models/ILocale.ts @@ -0,0 +1,262 @@ +export interface HTTP +{ + ip: string; + port: string; +} + +export interface HealthMultipliers +{ + death: string; + blacked: string; +} + +export interface HealthSave +{ + health: boolean; + effects: boolean; +} + +export interface Health +{ + healthMultipliers: HealthMultipliers; + save: HealthSave; +} + +export interface AmmoRewards +{ + giveMultipleOfTen: boolean; + minAmount: string; +} + +export interface MinMax +{ + min: string; + max: string; +} + +export interface MoneyRewards +{ + enabled: boolean; + rub: MinMax; + usd: MinMax; + eur: MinMax +} + +export interface ScavCase +{ + rewardParentBlacklist: string; + rewardItemBlacklist: string; + ammoRewards: AmmoRewards; + moneyRewards: MoneyRewards; +} + +export interface Hideout +{ + runIntervalSeconds: string; + scavCase: ScavCase; +} + +export interface LootMultiplier +{ + bigmap: string; + develop: string; + factory4day: string; + factory4night: string; + interchange: string; + laboratory: string; + rezervbase: string; + shoreline: string; + woods: string; + hideout: string; + lighthouse: string; + privatearea: string; + suburbs: string; + tarkovstreets: string; + terminal: string; + town: string; +} + +export interface LootValues +{ + allowLootOverlay: boolean; + looseLootMultiplier: LootMultiplier; + staticLootMultiplier: LootMultiplier; + limits: LootMultiplier; +} + +export interface RaidMenuSettings +{ + aiAmount: string; + aiDifficulty: string; + bossEnabled: boolean; + scavWars: boolean; + taggedAndCursed: boolean; +} + +export interface RaidsValuesSave +{ + loot: boolean; + durability: boolean; +} + +export interface Traders +{ + updateTime: string; + updateTimeDefault: string; + fenceAssortSize: string; + fenceMaxPresetsCount: string; + fencePresetPriceMult: string; + minDurabilityForSale: string; + fenceItemIgnoreList: string; +} + +export interface Repair +{ + priceMultiplier: string; +} + +export interface Insurances +{ + insuranceMultiplier: string; + returnChancePercent: string; + runIntervalSeconds: string; +} + +export interface Trading +{ + newItemsMarkedFound: boolean; +} + +export interface Chance +{ + base: string; + overprices: string; + underpriced: string; +} + +export interface Time +{ + base: string; + min: string; + max: string; +} + +export interface Reputation +{ + gain: string; + loss: string; +} + +export interface Sell +{ + fees: boolean; + chance: Chance; + time: Time; + reputation: Reputation; +} + +export interface FleaMarketTraders +{ + EnablePraporOffers: boolean; + EnableTheRapistOffers: boolean; + EnableFenceOffers: false, + EnableSkierOffers: boolean; + EnablePeacekeeperOffers: boolean; + EnableMechanicOffers: boolean; + EnableRagmanOffers: boolean; + EnableJaegerOffers: boolean; + EnableAllAvailableOffers: boolean; +} + +export interface Condition +{ + conditionChance: string; + min: string; + max: string; +} + +export interface Blacklist +{ + custom: string; + enableBsgList: boolean; + enableQuestList: boolean; +} + +export interface Dynamic +{ + expiredOfferThreshold: string; + offerItemCount: MinMax; + price: MinMax; + endTimeSeconds: MinMax; + condition: Condition; + stackablePercent: MinMax; + nonStackableCount: MinMax; + rating: MinMax; + currencies: string; + showAsSingleStack: string; + blacklist: Blacklist; +} + +export interface Weather +{ + clouds: MinMax; + windSpeed: MinMax; + windDirection: MinMax; + windGustiness: MinMax; + rain: MinMax; + rainIntensity: MinMax; + fog: MinMax; + temp: MinMax; + pressure: MinMax; +} + +export interface ServerValues +{ + http: HTTP; + health: Health; + hideout: Hideout; + enableChristmasGifts: boolean; +} + +export interface RaidsValues +{ + lootValues: LootValues; + airdropValues: string; + miaOnRaidEnd: boolean; + raidMenuSettings: RaidMenuSettings; + save: RaidsValuesSave; + carExtracts: string; + carExtractBaseStandingGain: string; + scavExtractGain: string; +} + +export interface TradersValues +{ + traders: Traders; + repair: Repair; + insurances: Insurances; + trading: Trading; +} + +export interface FleaMarketConfiguration +{ + runIntervalSeconds: string; + sell: Sell; + traders: FleaMarketTraders; + dynamic: Dynamic; +} + +export interface WeatherValues +{ + acceleration: string; + weather: Weather; +} + +export interface ILocale +{ + serverValues: ServerValues; + raidsValues: RaidsValues; + tradersValues: TradersValues; + fleaMarketConfiguration: FleaMarketConfiguration; + weatherValues: WeatherValues; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/models/IPmcConfig.ts b/Ereshkigal-AkiConfig/models/IPmcConfig.ts new file mode 100644 index 0000000..55cc20c --- /dev/null +++ b/Ereshkigal-AkiConfig/models/IPmcConfig.ts @@ -0,0 +1,125 @@ +export interface PresetBatch +{ + assault: number; + bossBully: number; + bossGluhar: number; + bossKilla: number; + bossKojaniy: number; + bossSanitar: number; + bossTagilla: number; + bossTest: number; + cursedAssault: number; + followerBully: number; + followerGluharAssault: number; + followerGluharScout: number; + followerGluharSecurity: number; + followerGluharSnipe: number; + followerKojaniy: number; + followerSanitar: number; + followerTagilla: number; + followerTest: number; + marksman: number; + pmcBot: number; + sectantPriest: number; + sectantWarrior: number; + gifter: number; + test: number; + exUsec: number; +} + +export interface DefaultArmor +{ + maxDelta: number; + minDelta: number; +} + +export interface PmcArmor +{ + lowestMaxPercent: number; + highestMaxPercent: number; + maxDelta: number; + minDelta: number; +} + +export interface Weapon +{ + lowestMax: number; + highestMax: number; + maxDelta: number; + minDelta: number; +} + +export interface Bot +{ + armor: DefaultArmor; + weapon: Weapon; +} + +export interface PMC +{ + armor: PmcArmor; + weapon: Weapon; +} + +export interface LootNValue +{ + scav: number; + pmc: number; +} + +export interface Durability +{ + default: Bot; + pmc: PMC; + boss: Bot; + follower: Bot; + assault: Bot; + cursedassault: Bot; + marksman: Bot; + pmcbot: Bot; + exusec: Bot; + sectantpriest: Bot; + sectantwarrior: Bot; +} + +export interface DynamicLoot +{ + whitelist: any; + blacklist: any; + spawnLimits: any; + moneyStackLimits: any; +} + +export interface Types +{ + assault: number; + cursedAssault: number; + pmcBot: number; + exUsec: number; +} + +export interface PMCConfig +{ + dynamicLoot: DynamicLoot; + cartridgeBlacklist: any; + difficulty: string; + isUsec: number; + chanceSameSideIsHostilePercent: number; + usecType: string; + bearType: string; + maxBackpackLootTotalRub: number; + maxPocketLootTotalRub: number; + maxVestLootTotalRub: number; + types: Types; +} + +export interface IPmcConfig +{ + presetBatch: PresetBatch; + bosses: any; + durability: Durability; + lootNValue: LootNValue; + pmc: PMCConfig; + showTypeInNickname: boolean; + maxBotCap: number; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/models/IPmcLocale.ts b/Ereshkigal-AkiConfig/models/IPmcLocale.ts new file mode 100644 index 0000000..88b2881 --- /dev/null +++ b/Ereshkigal-AkiConfig/models/IPmcLocale.ts @@ -0,0 +1,125 @@ +export interface PresetBatch +{ + assault: string; + bossBully: string; + bossGluhar: string; + bossKilla: string; + bossKojaniy: string; + bossSanitar: string; + bossTagilla: string; + bossTest: string; + cursedAssault: string; + followerBully: string; + followerGluharAssault: string; + followerGluharScout: string; + followerGluharSecurity: string; + followerGluharSnipe: string; + followerKojaniy: string; + followerSanitar: string; + followerTagilla: string; + followerTest: string; + marksman: string; + pmcBot: string; + sectantPriest: string; + sectantWarrior: string; + gifter: string; + test: string; + exUsec: string; +} + +export interface DefaultArmor +{ + maxDelta: string; + minDelta: string; +} + +export interface PmcArmor +{ + lowestMaxPercent: string; + highestMaxPercent: string; + maxDelta: string; + minDelta: string; +} + +export interface Weapon +{ + lowestMax: string; + highestMax: string; + maxDelta: string; + minDelta: string; +} + +export interface Bot +{ + armor: DefaultArmor; + weapon: Weapon; +} + +export interface PMC +{ + armor: PmcArmor; + weapon: Weapon; +} + +export interface LootNValue +{ + scav: string; + pmc: string; +} + +export interface Durability +{ + default: Bot; + pmc: PMC; + boss: Bot; + follower: Bot; + assault: Bot; + cursedassault: Bot; + marksman: Bot; + pmcbot: Bot; + exusec: Bot; + sectantpriest: Bot; + sectantwarrior: Bot; +} + +export interface DynamicLoot +{ + whitelist: string; + blacklist: string; + spawnLimits: string; + moneyStackLimits: string; +} + +export interface Types +{ + assault: string; + cursedAssault: string; + pmcBot: string; + exUsec: string; +} + +export interface PMCConfig +{ + dynamicLoot: DynamicLoot; + cartridgeBlacklist: string; + difficulty: string; + isUsec: string; + chanceSameSideIsHostilePercent: string; + usecType: string; + bearType: string; + maxBackpackLootTotalRub: string; + maxPocketLootTotalRub: string; + maxVestLootTotalRub: string; + types: Types; +} + +export interface IPmcLocale +{ + presetBatch: PresetBatch; + bosses: string; + durability: Durability; + lootNValue: LootNValue; + pmc: PMCConfig; + showTypeInNickname: boolean; + maxBotCap: string; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/package.json b/Ereshkigal-AkiConfig/package.json index 88ff182..e154918 100644 --- a/Ereshkigal-AkiConfig/package.json +++ b/Ereshkigal-AkiConfig/package.json @@ -5,7 +5,7 @@ "license": "CC-BY-NC-ND 4.0", "author": "Ereshkigal", "akiVersion": "3.0.0", - "updated by": "CWX, Valens", + "updated by": "CWX, Valens, GGaulin", "scripts": { "setup:environment": "npm i", "build:unzipped": "copyfiles -e \"./node_modules/**/*.*\" -e \"./dist/**/*.*\" -e \"./package-lock.json\" -e \"./tsconfig.json\" -e \"./README.txt\" -e \"./mod.code-workspace\" ./**/*.* ./dist", diff --git a/Ereshkigal-AkiConfig/src/AkiConfigHandler.ts b/Ereshkigal-AkiConfig/src/AkiConfigHandler.ts new file mode 100644 index 0000000..d587254 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/AkiConfigHandler.ts @@ -0,0 +1,58 @@ +import { injectable } from "tsyringe"; +import { IConfig } from "../models/IConfig"; +import { IDailyConfig } from "../models/IDailyConfig"; +import { IPmcConfig } from "../models/IPmcConfig"; +import { ILocale } from "../models/ILocale"; +import { IDailyLocale } from "../models/IDailyLocale"; +import { IPmcLocale } from "../models/IPmcLocale"; + +@injectable() +export class AkiConfigHandler +{ + private config: IConfig; + private dailyConfig: IDailyConfig; + private pmcConfig: IPmcConfig; + private locales: ILocale; + private dailyLocales: IDailyLocale; + private pmcLocales: IPmcLocale; + + constructor() + { + this.config = require("../config/config.json"); + this.dailyConfig = require("../config/dailyConfig.json"); + this.pmcConfig = require("../config/pmcConfig.json"); + this.locales = require("../locale/locale.json"); + this.dailyLocales = require("../locale/dailyLocale.json"); + this.pmcLocales = require("../locale/pmcLocale.json"); + } + + public getConfig(): IConfig + { + return this.config; + } + + public getDailyConfig(): IDailyConfig + { + return this.dailyConfig; + } + + public getPmcConfig(): IPmcConfig + { + return this.pmcConfig; + } + + public getLocales(): ILocale + { + return this.locales; + } + + public getDailyLocales(): IDailyLocale + { + return this.dailyLocales; + } + + public getPmcLocales(): IPmcLocale + { + return this.pmcLocales; + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/Notifications.ts b/Ereshkigal-AkiConfig/src/Notifications.ts new file mode 100644 index 0000000..41009f3 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/Notifications.ts @@ -0,0 +1,866 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { AIOConfigHandler } from "./AIOConfigHandler"; + +@injectable() +export class Notifications +{ + constructor( + @inject("WinstonLogger") private logger: ILogger, + @inject("AIOConfigHandler") private configHandler: AIOConfigHandler + ) + {} + + public sendNotifications(): void + { + + const config = this.configHandler.getConfig(); + const locale = this.configHandler.getLocales(); + + if (!config.other.hideWarningMessage) + { + this.logger.log("[AIO Mod INFORMATION]", "yellow"); + this.logger.info("Please read the README.PDF carefully as this has all the information you need."); + this.logger.log("[AIO Mod INFORMATION]", "yellow"); + } + + //Items: + // All Examined Items: + if (config.items.allExaminedItems) + { + this.logger.info("AllInOne Mod: AllExaminedItems activated."); + if (typeof config.items.allExaminedItems !== "boolean") + { + this.logger.warning(locale.items.allExaminedItems); + } + } + + // Weight Changes: + if (config.items.weightChanges !== false) + { + this.logger.info("AllInOne Mod: WeightChanges activated."); + if (typeof config.items.weightChanges !== "boolean" && config.items.weightChanges <= 0) + { + this.logger.warning(locale.items.weightChanges); + } + } + + // More Stack: + if (config.items.moreStack !== false) + { + this.logger.info("AllInOne Mod: moreStack activated."); + if (typeof config.items.moreStack !== "number") + { + this.logger.warning(locale.items.moreStack); + } + } + + // Equip Rigs With Armors: + if (config.items.equipRigsWithArmors) + { + this.logger.info("AllInOne Mod: equipRigsWithArmors activated."); + if (typeof config.items.equipRigsWithArmors !== "boolean") + { + this.logger.warning(locale.items.equipRigsWithArmors); + } + } + + // Force Money Stack: + if (config.items.forceMoneyStack !== false) + { + this.logger.info("AllInOne Mod: forceMoneyStack activated."); + if (typeof config.items.forceMoneyStack !== "number") + { + this.logger.warning(locale.items.forceMoneyStack); + } + } + + // Remove Secure Container Filters: + if (config.items.removeSecureContainerFilters) + { + this.logger.info("AllInOne Mod: removeSecureContainerFilters activated."); + if (typeof config.items.removeSecureContainerFilters !== "boolean") + { + this.logger.warning(locale.items.removeSecureContainerFilters); + } + } + + // Remove Backpack Restrictions: + if (config.items.removeBackpacksRestrictions) + { + this.logger.info("AllInOne Mod: removeBackpacksRestrictions activated."); + if (typeof config.items.removeBackpacksRestrictions !== "boolean") + { + this.logger.warning(locale.items.removeBackpacksRestrictions); + } + } + + // Remove Secure Container Filters: + if (config.items.removeContainersRestrictions) + { + this.logger.info("AllInOne Mod: removeContainersRestrictions activated."); + if (typeof config.items.removeContainersRestrictions !== "boolean") + { + this.logger.warning(locale.items.removeContainersRestrictions); + } + } + + // In Raid Moddable + if (config.items.inRaidModdable) + { + this.logger.info("AllInOne Mod: inRaidModdable activated."); + if (typeof config.items.inRaidModdable !== "boolean") + { + this.logger.warning(locale.items.inRaidModdable); + } + } + + // Increase Loot Exp + if (config.items.increaseLootExp !== false) + { + this.logger.info("AllInOne Mod: increaseLootExp activated."); + if (typeof config.items.increaseLootExp !== "number") + { + this.logger.warning(locale.items.increaseLootExp); + } + } + + // Increase Examine Exp + if (config.items.increaseExamineExp !== false) + { + this.logger.info("AllInOne Mod: increaseExamineExp activated."); + if (typeof config.items.increaseExamineExp !== "number") + { + this.logger.warning(locale.items.increaseExamineExp); + } + } + + // Remove Key Usage Number + if (config.items.removeKeyUsageNumber) + { + this.logger.info("AllInOne Mod: removeKeyUsageNumber activated."); + if (typeof config.items.removeKeyUsageNumber !== "boolean") + { + this.logger.warning(locale.items.removeKeyUsageNumber); + } + } + + // Stackable Barters + if (config.items.stackableBarters.activated) + { + this.logger.info("AllInOne Mod: stackableBarters activated."); + if (typeof config.items.stackableBarters.activated !== "boolean") + { + this.logger.warning(locale.items.stackableBarters); + } + } + + // Weapon Malf - Overheat + if (config.items.weaponMalfunctions.overheat) + { + this.logger.info("AllInOne Mod: weaponMalfunctions.overheat activated."); + if (typeof config.items.weaponMalfunctions.overheat !== "boolean") + { + this.logger.warning(locale.items.weaponMalfunctions.overheat); + } + } + + // Weapon Malf - jam + if (config.items.weaponMalfunctions.jam) + { + this.logger.info("AllInOne Mod: weaponMalfunctions.jam activated."); + if (typeof config.items.weaponMalfunctions.jam !== "boolean") + { + this.logger.warning(locale.items.weaponMalfunctions.jam); + } + } + + // Weapon Malf - slide + if (config.items.weaponMalfunctions.slide) + { + this.logger.info("AllInOne Mod: weaponMalfunctions.slide activated."); + if (typeof config.items.weaponMalfunctions.slide !== "boolean") + { + this.logger.warning(locale.items.weaponMalfunctions.slide); + } + } + + // Weapon Malf - misfire + if (config.items.weaponMalfunctions.misfire) + { + this.logger.info("AllInOne Mod: weaponMalfunctions.misfire activated."); + if (typeof config.items.weaponMalfunctions.misfire !== "boolean") + { + this.logger.warning(locale.items.weaponMalfunctions.misfire); + } + } + + // Weapon Malf - misfire + if (config.items.weaponMalfunctions.feed) + { + this.logger.info("AllInOne Mod: weaponMalfunctions.feed activated."); + if (typeof config.items.weaponMalfunctions.feed !== "boolean") + { + this.logger.warning(locale.items.weaponMalfunctions.feed); + } + } + + // Weapon Dura - Min + if (config.items.weaponDurabilities.minimumSpawnDurability !== false) + { + this.logger.info("AllInOne Mod: weaponsDurabilities.minimumSpawnDurability activated."); + if (typeof config.items.weaponDurabilities.minimumSpawnDurability !== "number") + { + this.logger.warning(locale.items.weaponDurabilities.minimumSpawnDurability); + } + } + + // Weapon Dura - Max + if (config.items.weaponDurabilities.maximumSpawnDurability !== false) + { + this.logger.info("AllInOne Mod: weaponsDurabilities.maximumSpawnDurability activated."); + if (typeof config.items.weaponDurabilities.maximumSpawnDurability !== "number") + { + this.logger.warning(locale.items.weaponDurabilities.maximumSpawnDurability); + } + } + + // Remove All Gear Penalties + if (config.items.removeAllGearPenalties) + { + this.logger.info("AllInOne Mod: removeAllGearPenalties activated."); + if (typeof config.items.removeAllGearPenalties !== "boolean") + { + this.logger.warning(locale.items.removeAllGearPenalties); + } + } + + // Remove Item Durability Burn + if (config.items.removeItemDurabilityBurn) + { + this.logger.info("AllInOne Mod: removeItemDurabilityBurn activated."); + if (typeof config.items.removeItemDurabilityBurn !== "boolean") + { + this.logger.warning(locale.items.removeItemDurabilityBurn); + } + } + + // Remove Bullet Weapon Durability Damage + if (config.items.removeBulletWeaponDurabilityDamage) + { + this.logger.info("AllInOne Mod: removeBulletWeaponDurabilityDamage activated."); + if (typeof config.items.removeBulletWeaponDurabilityDamage !== "boolean") + { + this.logger.warning(locale.items.removeBulletWeaponDurabilityDamage); + } + } + + // Remove Weapon Preset Restriction + if (config.items.removeWeaponPresetRestriction) + { + this.logger.info("AllInOne Mod: removeWeaponPresetRestriction activated."); + if (typeof config.items.removeWeaponPresetRestriction !== "boolean") + { + this.logger.warning(locale.items.removeWeaponPresetRestriction); + } + } + + // Change Indicidual Item Property + if (config.items.changeIndividualItemProperty.activated) + { + this.logger.info("AllInOne Mod: changeIndividualItemProperty activated."); + if (typeof config.items.changeIndividualItemProperty.activated !== "boolean") + { + this.logger.warning(locale.items.changeIndividualItemProperty.activated); + } + } + + // Hideout: + // Change Fuel Consumption Rate + if (config.hideout.changeFuelConsumptionRate !== false) + { + this.logger.info("AllInOne Mod: changeFuelConsumptionRate activated."); + if (typeof config.hideout.changeFuelConsumptionRate !== "number") + { + this.logger.warning(locale.hideout.changeFuelConsumptionRate); + } + } + + // Fast Hideout Construction + if (config.hideout.fastHideoutConstruction) + { + this.logger.info("AllInOne Mod: fastHideoutConstruction activated."); + if (typeof config.hideout.fastHideoutConstruction !== "boolean") + { + this.logger.warning(locale.hideout.fastHideoutConstruction); + } + } + + // Fast Hideout Construction + if (config.hideout.fastHideoutProduction) + { + this.logger.info("AllInOne Mod: fastHideoutProduction activated."); + if (typeof config.hideout.fastHideoutProduction !== "boolean") + { + this.logger.warning(locale.hideout.fastHideoutProduction); + } + } + + // Fast Scav Case + if (config.hideout.fastScavCase) + { + this.logger.info("AllInOne Mod: fastScavCase activated."); + if (typeof config.hideout.fastScavCase !== "boolean") + { + this.logger.warning(locale.hideout.fastScavCase); + } + } + + // Scav Case Price Reducer + if (config.hideout.scavCasePriceReducer) + { + this.logger.info("AllInOne Mod: scavCasePriceReducer activated."); + if (typeof config.hideout.scavCasePriceReducer !== "boolean") + { + this.logger.warning(locale.hideout.scavCasePriceReducer); + } + } + + // Remove Construction Requirements + if (config.hideout.removeConstructionRequirements) + { + this.logger.info("AllInOne Mod: removeConstructionRequirements activated."); + if (typeof config.hideout.removeConstructionRequirements !== "boolean") + { + this.logger.warning(locale.hideout.removeConstructionRequirements); + } + } + + // Player: + // Remove Scav Timer + if (config.player.removeScavTimer) + { + this.logger.info("AllInOne Mod: removeScavTimer activated."); + if (typeof config.player.removeScavTimer !== "boolean") + { + this.logger.warning(locale.player.removeScavTimer); + } + } + + // Change Skill Progression Multiplier + if (config.player.changeSkillProgressionMultiplier !== false) + { + this.logger.info("AllInOne Mod: changeSkillProgressionMultiplier activated."); + if (typeof config.player.changeSkillProgressionMultiplier !== "number") + { + this.logger.warning(locale.player.changeSkillProgressionMultiplier); + } + } + + // Change Weapon Skill Multiplier + if (config.player.changeWeaponSkillMultiplier !== false) + { + this.logger.info("AllInOne Mod: changeWeaponSkillMultiplier activated."); + if (typeof config.player.changeWeaponSkillMultiplier !== "number") + { + this.logger.warning(locale.player.changeWeaponSkillMultiplier); + } + } + + // Disable Skill Fatigue + if (config.player.disableSkillFatigue !== false) + { + this.logger.info("AllInOne Mod: disableSkillFatigue activated."); + if (typeof config.player.disableSkillFatigue !== "boolean" && ( config.player.disableSkillFatigue).toLowerCase() !== "custom") + { + this.logger.warning(locale.player.disableSkillFatigue); + } + } + + // skillFatiguePerPoint + if (typeof config.player.skillFatiguePerPoint !== "number") + { + this.logger.warning(locale.player.skillFatiguePerPoint) + } + + // skillFreshEffectiveness + if (typeof config.player.skillFreshEffectiveness !== "number") + { + this.logger.warning(locale.player.skillFreshEffectiveness) + } + + // skillFreshPoints + if (typeof config.player.skillFreshPoints !== "number") + { + this.logger.warning(locale.player.skillFreshPoints) + } + + // skillPointsBeforeFatigue + if (typeof config.player.skillPointsBeforeFatigue !== "number") + { + this.logger.warning(locale.player.skillPointsBeforeFatigue) + } + + // skillFatigueReset + if (typeof config.player.skillFatigueReset !== "number") + { + this.logger.warning(locale.player.skillFatigueReset) + } + + // Change Max Stamina + if (config.player.changeMaxStamina !== false) + { + this.logger.info("AllInOne Mod: changeMaxStamina activated."); + if (typeof config.player.changeMaxStamina !== "number") + { + this.logger.warning(locale.player.changeMaxStamina); + } + } + + // Unlimited Stamina + if (config.player.unlimitedStamina) + { + this.logger.info("AllInOne Mod: unlimitedStamina activated."); + if (typeof config.player.unlimitedStamina !== "boolean") + { + this.logger.warning(locale.player.unlimitedStamina); + } + } + + // Remove In Raid Restrictions + if (config.player.removeInRaidsRestrictions) + { + this.logger.info("AllInOne Mod: removeInRaidsRestrictions activated."); + if (typeof config.player.removeInRaidsRestrictions !== "boolean") + { + this.logger.warning(locale.player.removeInRaidsRestrictions); + } + } + + // Diable Fall Damage + if (config.player.disableFallDamage) + { + this.logger.info("AllInOne Mod: disableFallDamage activated."); + if (typeof config.player.disableFallDamage !== "boolean") + { + this.logger.warning(locale.player.disableFallDamage); + } + } + + // All Skills Master + if (config.player.allSkillsMaster) + { + this.logger.info("AllInOne Mod: allSkillsMaster activated."); + if (typeof config.player.allSkillsMaster !== "boolean") + { + this.logger.warning(locale.player.allSkillsMaster); + } + } + + // Enable Skill BotReload + if (config.player.enableSkillBotReload) + { + this.logger.info("AllInOne Mod: enableSkillBotReload activated."); + if (typeof config.player.enableSkillBotReload !== "boolean") + { + this.logger.warning(locale.player.enableSkillBotReload); + } + } + + // Enable Skill BotSound + if (config.player.enableSkillBotSound) + { + this.logger.info("AllInOne Mod: enableSkillBotSound activated."); + if (typeof config.player.enableSkillBotSound !== "boolean") + { + this.logger.warning(locale.player.enableSkillBotSound); + } + } + + // Remove Scav Karma + if (config.player.removeScavKarma) + { + this.logger.info("AllInOne Mod: removeScavKarma activated."); + if (typeof config.player.removeScavKarma !== "boolean") + { + this.logger.warning(locale.player.removeScavKarma); + } + } + + // Energy Drain Rate + if (config.player.energyDrainRate !== false) + { + this.logger.info("AllInOne Mod: energyDrainRate activated."); + if (typeof config.player.energyDrainRate !== "number") + { + this.logger.warning(locale.player.energyDrainRate); + } + } + + // Energy Drain Time + if (config.player.energyDrainTime !== false) + { + this.logger.info("AllInOne Mod: energyDrainTime activated."); + if (typeof config.player.energyDrainTime !== "number") + { + this.logger.warning(locale.player.energyDrainTime); + } + } + + // Hydratation Drain Rate + if (config.player.hydrationDrainRate !== false) + { + this.logger.info("AllInOne Mod: hydratationDrainRate activated."); + if (typeof config.player.hydrationDrainRate !== "number") + { + this.logger.warning(locale.player.hydrationDrainRate); + } + } + + // Hydratation Drain Time + if (config.player.hydrationDrainTime !== false) + { + this.logger.info("AllInOne Mod: hydratationDrainTime activated."); + if (typeof config.player.hydrationDrainTime !== "number") + { + this.logger.warning(locale.player.hydrationDrainTime); + } + } + + // Regeneration Loop Time + if (config.player.regenerationLoopTime !== false) + { + this.logger.info("AllInOne Mod: regenerationLoopTime activated."); + if (typeof config.player.regenerationLoopTime !== "number") + { + this.logger.warning(locale.player.regenerationLoopTime); + } + } + + // Energy Restoration + if (config.player.energyRestoration !== false) + { + this.logger.info("AllInOne Mod: energyRestoration activated."); + if (typeof config.player.energyRestoration !== "number") + { + this.logger.warning(locale.player.energyRestoration); + } + } + + // Hydration Restoration + if (config.player.hydrationRestoration !== false) + { + this.logger.info("AllInOne Mod: hydrationRestoration activated."); + if (typeof config.player.hydrationRestoration !== "number") + { + this.logger.warning(locale.player.hydrationRestoration); + } + } + + // Traders: + // All Quests Available + if (config.traders.allQuestsAvailable) + { + this.logger.info("AllInOne Mod: allQuestsAvailable activated."); + if (typeof config.traders.allQuestsAvailable !== "boolean") + { + this.logger.warning(locale.traders.allQuestsAvailable); + } + } + + // All Clothes Free + if (config.traders.allClothesFree) + { + this.logger.info("AllInOne Mod: allClothesFree activated."); + if (typeof config.traders.allClothesFree !== "boolean") + { + this.logger.warning(locale.traders.allClothesFree); + } + } + + // All Clothes For Every Side + if (config.traders.allClothesForEverySide) + { + this.logger.info("AllInOne Mod: allClothesForEverySide activated."); + if (typeof config.traders.allClothesForEverySide !== "boolean") + { + this.logger.warning(locale.traders.allClothesForEverySide); + } + } + + // Change Flea Market Level + if (config.traders.changeFleaMarketLvl !== false) + { + this.logger.info("AllInOne Mod: changeFleaMarketLvl activated."); + if (typeof config.traders.changeFleaMarketLvl !== "number") + { + this.logger.warning(locale.traders.changeFleaMarketLvl); + } + } + + // Insurance Time Activated + if (config.traders.insuranceTime.activated) + { + this.logger.info("AllInOne Mod: insuranceTime activated.") + if (typeof config.traders.insuranceTime.activated !== "boolean") + { + this.logger.warning(locale.traders.insuranceTime.activated); + } + } + + // Insurance Time - Therapist + if (config.traders.insuranceTime.therapist.activated) + { + this.logger.info("AllInOne Mod: InsuranceTime.Therapist activated.") + if (typeof config.traders.insuranceTime.therapist.activated !== "boolean") + { + this.logger.warning(locale.traders.insuranceTime.therapist.activated); + } + } + + // Insurance Time - Prapor + if (config.traders.insuranceTime.prapor.activated) + { + this.logger.info("AllInOne Mod: InsuranceTime.Prapor activated.") + if (typeof config.traders.insuranceTime.prapor.activated !== "boolean") + { + this.logger.warning(locale.traders.insuranceTime.prapor.activated); + } + } + + // All Traders 4 Star - Unlock All Items At LL1 + if (config.traders.traderChanges.unlockAllItemsAtLL1 && config.traders.traderChanges.allTraders4Stars) + { + this.logger.warning(locale.traders.traderChanges.all4StarAndLL1); + } + else if (config.traders.traderChanges.allTraders4Stars) + { + this.logger.info("AllInOne Mod: allTraders4Stars activated.") + if (typeof config.traders.traderChanges.allTraders4Stars !== "boolean") + { + this.logger.warning(locale.traders.traderChanges.allTraders4Stars); + } + } + else if (config.traders.traderChanges.unlockAllItemsAtLL1) + { + this.logger.info("AllInOne Mod: unlockAllItemsAtLL1 activated.") + if (typeof config.traders.traderChanges.unlockAllItemsAtLL1 !== "boolean") + { + this.logger.warning(locale.traders.traderChanges.unlockAllItemsAtLL1); + } + } + + // Remove Items From Quest Locks + if (config.traders.traderChanges.removeItemsFromQuestLocks) + { + this.logger.info("AllInOne Mod: removeItemsFromQuestLocks activated.") + if (typeof config.traders.traderChanges.removeItemsFromQuestLocks !== "boolean") + { + this.logger.warning(locale.traders.traderChanges.removeItemsFromQuestLocks); + } + } + + // Max Insurance Storage Time + if (config.traders.maxInsuranceStorageTime) + { + this.logger.info("AllInOne Mod: maxInsuranceStorageTime activated.") + if (typeof config.traders.maxInsuranceStorageTime !== "boolean" && config.traders.maxInsuranceStorageTime <= 0) + { + this.logger.warning(locale.traders.maxInsuranceStorageTime); + } + } + + // Prevent Fence Mastering + if (config.traders.preventFenceMastering) + { + this.logger.info("AllInOne Mod: preventFenceMastering activated.") + if (typeof config.traders.preventFenceMastering !== "boolean") + { + this.logger.warning(locale.traders.preventFenceMastering); + } + } + + // Remove FIR Condition On Quests + if (config.traders.removeFIRConditionOnQuests) + { + this.logger.info("AllInOne Mod: removeFIRConditionOnQuests activated.") + if (typeof config.traders.removeFIRConditionOnQuests !== "boolean") + { + this.logger.warning(locale.traders.removeFIRConditionOnQuests); + } + } + + // Raids: + // No Extract Restrictions + if (config.raids.noExtractRestrictions) + { + this.logger.info("AllInOne Mod: noExtractRestrictions activated.") + if (typeof config.raids.noExtractRestrictions !== "boolean") + { + this.logger.warning(locale.raids.noExtractRestrictions); + } + } + + // All Extractions Avaliable + if (config.raids.allExtractionsAvailable) + { + this.logger.info("AllInOne Mod: allExtractionsAvailable activated.") + if (typeof config.raids.allExtractionsAvailable !== "boolean") + { + this.logger.warning(locale.raids.allExtractionsAvailable); + } + } + + // Increased Boss Chances + if (config.raids.increasedBossChance) + { + this.logger.info("AllInOne Mod: increasedBossChance activated.") + if (typeof config.raids.increasedBossChance !== "boolean") + { + this.logger.warning(locale.raids.increasedBossChance); + } + } + + // Extended Raid + if (config.raids.extendedRaid !== false) + { + this.logger.info("AllInOne Mod: extendedRaid activated."); + if (typeof config.raids.extendedRaid !== "number") + { + this.logger.warning(locale.raids.extendedRaid); + } + } + + // Remove Labs Keycard + if (config.raids.removeLabsKeycard) + { + this.logger.info("AllInOne Mod: removeLabsKeycard activated.") + if (typeof config.raids.removeLabsKeycard !== "boolean") + { + this.logger.warning(locale.raids.removeLabsKeycard); + } + } + + // Extractions Extended + if (config.raids.extractionsExtended) + { + this.logger.info("AllInOne Mod: extractionsExtended activated.") + if (typeof config.raids.extractionsExtended !== "boolean") + { + this.logger.warning(locale.raids.extractionsExtended); + } + } + + // Insurance On All Maps + if (config.raids.insuranceOnAllMaps) + { + this.logger.info("AllInOne Mod: insuranceOnAllMaps activated.") + if (typeof config.raids.insuranceOnAllMaps !== "boolean") + { + this.logger.warning(locale.raids.insuranceOnAllMaps); + } + } + + // Fixes: + // Fins Choke Me Harder + if (config.fixes.finsChokeMeHarder) + { + this.logger.info("AllInOne Mod: finsChokeMeHarder activated.") + if (typeof config.fixes.finsChokeMeHarder !== "boolean") + { + this.logger.warning(locale.fixes.finsChokeMeHarder); + } + } + + // Chomps Raider Spawn Fix + if (config.fixes.chompsRaiderSpawnFix) + { + this.logger.info("AllInOne Mod: chompsRaiderSpawnFix activated.") + if (typeof config.fixes.chompsRaiderSpawnFix !== "boolean") + { + this.logger.warning(locale.fixes.chompsRaiderSpawnFix); + } + } + + // justNUs Even More Open Zones + if (config.fixes.justNUsEvenMoreOpenZones) + { + this.logger.info("AllInOne Mod: justNUsEvenMoreOpenZones activated.") + if (typeof config.fixes.justNUsEvenMoreOpenZones !== "boolean") + { + this.logger.warning(locale.fixes.justNUsEvenMoreOpenZones); + } + } + + // Other: + // Pre Wipe Events: + if (config.other.preWipeEvents.raidersOnAllMaps) + { + this.logger.info("AllInOne Mod: raidersOnAllMaps activated.") + if (typeof config.other.preWipeEvents.raidersOnAllMaps !== "boolean") + { + this.logger.warning(locale.other.preWipeEvents.raidersOnAllMaps); + } + } + + // Killa On Factory: + if (config.other.preWipeEvents.killaOnFactory) + { + this.logger.info("AllInOne Mod: killaOnFactory activated.") + if (typeof config.other.preWipeEvents.killaOnFactory !== "boolean") + { + this.logger.warning(locale.other.preWipeEvents.killaOnFactory); + } + } + + // All Bosses On Reserve: + if (config.other.preWipeEvents.allBossesOnReserve) + { + this.logger.info("AllInOne Mod: allBossesOnReserve activated.") + if (typeof config.other.preWipeEvents.allBossesOnReserve !== "boolean") + { + this.logger.warning(locale.other.preWipeEvents.allBossesOnReserve); + } + } + + // All Traders Sell Cheap Items + if (config.other.preWipeEvents.allTradersSellCheapItems) + { + this.logger.info("AllInOne Mod: allTradersSellCheapItems activated.") + if (typeof config.other.preWipeEvents.allTradersSellCheapItems !== "boolean") + { + this.logger.warning(locale.other.preWipeEvents.allTradersSellCheapItems); + } + } + + // Make Obdolbos Powerful + if (config.other.preWipeEvents.makeObdolbosPowerful) + { + this.logger.info("AllInOne Mod: makeObdolbosPowerful activated.") + if (typeof config.other.preWipeEvents.makeObdolbosPowerful !== "boolean") + { + this.logger.warning(locale.other.preWipeEvents.makeObdolbosPowerful); + } + } + + // Gluhkar On Labs + if (config.other.preWipeEvents.gluhkarOnLabs) + { + this.logger.info("AllInOne Mod: gluhkarOnLabs activated.") + if (typeof config.other.preWipeEvents.gluhkarOnLabs !== "boolean") + { + this.logger.warning(locale.other.preWipeEvents.gluhkarOnLabs); + } + } + + // Heat Wave + if (config.other.inGameEvents.heatWave) + { + this.logger.info("AllInOne Mod: heatWave activated.") + if (typeof config.other.inGameEvents.heatWave !== "boolean") + { + this.logger.warning(locale.other.inGameEvents.heatWave); + } + } + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/bots.ts b/Ereshkigal-AkiConfig/src/bots.ts new file mode 100644 index 0000000..984e2a2 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/bots.ts @@ -0,0 +1,39 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class bots +{ + static applyValues() + { + const bots = BotConfig; + const config = require('../../config/pmcConfig.json'); + + const pmcsConfig = config.pmc.types + for (const bot in pmcsConfig) { + switch (bot) { + default: + bots.pmc.types[bot] = pmcsConfig[bot] + break; + } + } + + for(const options in config.pmc){ + switch(options){ + case "types": + break; + default: + bots.pmc[options] = config.pmc[options] + break; + } + } + + for (const bot in config.presetBatch) { + bots.presetBatch[bot] = config.presetBatch[bot] + } + } +} + +module.exports = bots; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/christmas.ts b/Ereshkigal-AkiConfig/src/christmas.ts new file mode 100644 index 0000000..73e4c47 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/christmas.ts @@ -0,0 +1,15 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class gifts +{ + static applyGiftDatabase() + { + //Hell, how am i gonna sort all that christmas shit eh ? + } +} + +module.exports = gifts; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/generator.ts b/Ereshkigal-AkiConfig/src/generator.ts new file mode 100644 index 0000000..0ecba6e --- /dev/null +++ b/Ereshkigal-AkiConfig/src/generator.ts @@ -0,0 +1,193 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class generator { + static createConfig(file) { + const mod = require("../../package.json"); + this.firstRun = true; + let config = null; + let dailyConfig = null; + let pmcConfig = null; + /* + Generate the whole configuration on first run + This way the default values are always up to date to AKI. + */ + + //The default file type must be an object + config = { + "Server values": { + //"Enable Christmas Gifts": false, + "HTTP": {}, + "Health": {}, + "Hideout": {}, + }, + "Raids values": { + "Loot values": {}, + "Airdrop values": {}, + }, + "Traders values": { + "Traders": {}, + "Repair": {}, + "Insurances": {}, + "Trading": {}, + }, + "FleaMarket configuration": {}, + "Weather values": {}, + }; + dailyConfig = {}; + pmcConfig = {}; + + //We will have to gather every config that exists atm and throw them together into the object + const bots = BotConfig; + const health = HealthConfig; + const hideout = HideoutConfig; + const http = HttpConfig; + const inraid = InraidConfig; + const insurance = InsuranceConfig; + const inventory = InventoryConfig; + const location = LocationConfig; + const quest = QuestConfig; + const ragfair = RagfairConfig; + const repair = RepairConfig; + const trader = TraderConfig; + const weather = WeatherConfig; + //const airdrops = AirdropConfig + + //Sorting the bots config now + Object.assign(pmcConfig, bots); + + //Sorting the health config + Object.assign(config["Server values"]["Health"], health); + + //Sorting the hideout values + Object.assign(config["Server values"]["Hideout"], hideout); + + //Sorting the http values + Object.assign(config["Server values"]["HTTP"], http); + + //Sorting the inraid values + Object.assign(config["Raids values"], inraid); + + //Sorting insurance values + Object.assign(config["Traders values"]["Insurances"], insurance); + + //Sorting inventory values + Object.assign(config["Traders values"]["Trading"], inventory); + + //Sorting location values + Object.assign(config["Raids values"]["Loot values"], location); + + //Sorting airdrop values + //Object.assign(config["Raids values"]["Airdrop values"], airdrops) + + //Sorting quest values + Object.assign(dailyConfig, quest); + + //Sorting ragfair values + Object.assign(config["FleaMarket configuration"], ragfair); + + //Sorting repair values + Object.assign(config["Traders values"]["Repair"], repair); + + //Sorting trader values + Object.assign(config["Traders values"]["Traders"], trader); + + //Weather values + Object.assign(config["Weather values"], weather); + + //Some personnal changes for end-user + config["FleaMarket configuration"].traders = { + EnablePraporOffers: true, + EnableTheRapistOffers: true, + EnableFenceOffers: false, + EnableSkierOffers: true, + EnablePeacekeeperOffers: true, + EnableMechanicOffers: true, + EnableRagmanOffers: true, + EnableJaegerOffers: true, + EnableAllAvailableOffers: false, + }; + + if (file === null) { + //Write the config in the folder + VFS.writeFile( + `${ModLoader.getModPath(mod.name)}config/config.json`, + JsonUtil.serialize(config, true) + ); + VFS.writeFile( + `${ModLoader.getModPath(mod.name)}config/dailyConfig.json`, + JsonUtil.serialize(dailyConfig, true) + ); + VFS.writeFile( + `${ModLoader.getModPath(mod.name)}config/pmcConfig.json`, + JsonUtil.serialize(pmcConfig, true) + ); + } + else + { + Logger.warning(`[AKI-CONFIG] - Generating ${file} file`) + let toWrite = null + if(file === "config"){toWrite = config}else if(file === 'dailyConfig'){toWrite = dailyConfig}else if(file === 'pmcConfig'){toWrite = pmcConfig} + VFS.writeFile( + `${ModLoader.getModPath(mod.name)}config/${file}.json`, + JsonUtil.serialize(toWrite, true) + ); + } + Logger.error("[AKI-Config]: New configuration file created, please restart your server to use it."); + } + + static checkConfigExisting() { + const mod = require("../../package.json"); + const modPath = ModLoader.getModPath(mod.name); + const validation = []; + + //Check if config folder exists + if (VFS.exists(`${modPath}config`)) { + //Check if all the config folder exists + const fileList = VFS.getFiles(`${modPath}config/`); + for (const file in fileList) { + let fileName = fileList[file]; + if (fileName === "config.json") { + validation.push('config'); + } + if (fileName === "dailyConfig.json") { + validation.push("dailyConfig"); + } + if (fileName === "pmcConfig.json") { + validation.push("pmcConfig"); + } + } + //All configurations files existing + if ((validation.length === 3)) { + Logger.success( + `[AKI-CONFIG] - All configurations files already created, all green.` + ); + } else { + //One of the 3 file is missing, we only want to regenerate the missing one + Logger.error( + `[AKI-CONFIG] - A config file is missing. Generating the missing file` + ); + + if (validation.includes("config")) {} else { + this.createConfig("config"); + } + if (validation.includes("dailyConfig")) {} else { + this.createConfig("dailyConfig"); + } + if (validation.includes("pmcConfig")) {} else { + this.createConfig("pmcConfig"); + } + } + } else { + Logger.warning( + "First time AKI-Configurator is run, generating the config file..." + ); + this.createConfig(null); + } + } +} + +module.exports = generator; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/quests.ts b/Ereshkigal-AkiConfig/src/quests.ts new file mode 100644 index 0000000..06ef6e7 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/quests.ts @@ -0,0 +1,17 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class quests +{ + static applyValues() + { + const config = require('../../config/dailyConfig.json'); + + QuestConfig = config + } +} + +module.exports = quests; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/ragfair.ts b/Ereshkigal-AkiConfig/src/ragfair.ts new file mode 100644 index 0000000..a17b02b --- /dev/null +++ b/Ereshkigal-AkiConfig/src/ragfair.ts @@ -0,0 +1,60 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class ragfair +{ + static applyValues() + { + const ragfair = RagfairConfig + const config = require('../../config/config.json') + + for(const options in ragfair.sell){ + ragfair.sell[options] = config["FleaMarket configuration"].sell[options] + } + + for(const options in ragfair.dynamic){ + ragfair.dynamic[options] = config["FleaMarket configuration"].dynamic[options] + } + + const traderList = config["FleaMarket configuration"].traders + for (const trader in config["FleaMarket configuration"].traders) { + switch (trader) { + case "EnablePraporOffers": + ragfair.traders["54cb50c76803fa8b248b4571"] = traderList.EnablePraporOffers + break; + case "EnableTheRapistOffers": + ragfair.traders["54cb57776803fa99248b456e"] = traderList.EnableTheRapistOffers; + break; + case "EnableFenceOffers": + ragfair.traders["579dc571d53a0658a154fbec"] = traderList.EnableFenceOffers; + break; + case "EnableSkierOffers": + ragfair.traders["58330581ace78e27b8b10cee"] = traderList.EnableSkierOffers; + break; + case "EnablePeacekeeperOffers": + ragfair.traders["5935c25fb3acc3127c3d8cd9"] = traderList.EnablePeacekeeperOffers; + break; + case "EnableMechanicOffers": + ragfair.traders["5a7c2eca46aef81a7ca2145d"] = traderList.EnableMechanicOffers; + break; + case "EnableRagmanOffers": + ragfair.traders["5ac3b934156ae10c4430e83c"] = traderList.EnableRagmanOffers; + break; + case "EnableJaegerOffers": + ragfair.traders["54cb50c76803fa8b248b4571"] = traderList.EnableJaegerOffers; + break; + case "EnableAllAvailableOffers": + ragfair.traders["ragfair"] = traderList.EnableAllAvailableOffers; + break; + default: + ragfair.traders[trader] = traderList[trader] + break; + } + } + } +} + +module.exports = ragfair; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/raids.ts b/Ereshkigal-AkiConfig/src/raids.ts new file mode 100644 index 0000000..0670482 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/raids.ts @@ -0,0 +1,25 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class raids +{ + static applyValues() + { + const inraid = InraidConfig; + const config = require('../../config/config.json'); + + for(const options in inraid) + { + inraid[options] = config["Raids values"][options]; + } + + LocationConfig = config['Raids values']['Loot values']; + AirdropConfig = config['Raids values']['Airdrop values'] + + } +} + +module.exports = raids; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/server.ts b/Ereshkigal-AkiConfig/src/server.ts new file mode 100644 index 0000000..69a2677 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/server.ts @@ -0,0 +1,22 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class server +{ + static applyValues() + { + + const config = require('../../config/config.json'); + + DatabaseServer.tables.server = config["Server values"].HTTP; + + HideoutConfig = config["Server values"].Hideout; + + HealthConfig = config["Server values"].Health; + } +} + +module.exports = server; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/traders.ts b/Ereshkigal-AkiConfig/src/traders.ts new file mode 100644 index 0000000..5fb05a7 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/traders.ts @@ -0,0 +1,38 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class traders { + static applyValues() { + const insurance = InsuranceConfig; + const inventory = InventoryConfig; + const repair = RepairConfig; + const trader = TraderConfig; + + const config = require('../../config/config.json') + + for(const options in insurance) + { + insurance[options] = config["Traders values"].Insurances[options] + } + + for(const options in inventory) + { + inventory[options] = config["Traders values"].Trading[options] + } + + for(const options in repair) + { + repair[options] = config["Traders values"].Repair[options] + } + + for(const options in trader) + { + trader[options] = config["Traders values"].Traders[options] + } + } +} + +module.exports = traders; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/weather.ts b/Ereshkigal-AkiConfig/src/weather.ts new file mode 100644 index 0000000..ffa1401 --- /dev/null +++ b/Ereshkigal-AkiConfig/src/weather.ts @@ -0,0 +1,37 @@ +/* +エレシュキガル +*/ + +"use strict"; + +class weather +{ + static applyValues() + { + const weatherValues = WeatherConfig; + const config = require('../../config/config.json'); + + weatherValues.acceleration = config["Weather values"].acceleration; + weatherValues.weather.clouds.min = config["Weather values"].weather.clouds.min; + weatherValues.weather.clouds.max = config["Weather values"].weather.clouds.max; + weatherValues.weather.windSpeed.min = config["Weather values"].weather.windSpeed.min; + weatherValues.weather.windSpeed.max = config["Weather values"].weather.windSpeed.max; + weatherValues.weather.windDirection.min = config["Weather values"].weather.windDirection.min; + weatherValues.weather.windDirection.max = config["Weather values"].weather.windDirection.max; + weatherValues.weather.windGustiness.min = config["Weather values"].weather.windGustiness.min; + weatherValues.weather.windGustiness.max = config["Weather values"].weather.windGustiness.max; + weatherValues.weather.rain.min = config["Weather values"].weather.rain.min; + weatherValues.weather.rain.max = config["Weather values"].weather.rain.max; + weatherValues.weather.rainIntensity.min = config["Weather values"].weather.rainIntensity.min; + weatherValues.weather.rainIntensity.max = config["Weather values"].weather.rainIntensity.max; + weatherValues.weather.fog.min = config["Weather values"].weather.fog.min; + weatherValues.weather.fog.max = config["Weather values"].weather.fog.max; + weatherValues.weather.temp.min = config["Weather values"].weather.temp.min; + weatherValues.weather.temp.max = config["Weather values"].weather.temp.max; + weatherValues.weather.pressure.min = config["Weather values"].weather.pressure.min; + weatherValues.weather.pressure.max = config["Weather values"].weather.pressure.max; + + } +} + +module.exports = weather; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/types/Utils.d.ts b/Ereshkigal-AkiConfig/types/Utils.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/Ereshkigal-AkiConfig/types/callbacks/BotCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/BotCallbacks.d.ts index 9602975..2db60dc 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/BotCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/BotCallbacks.d.ts @@ -5,8 +5,8 @@ import { IBotBase } from "../models/eft/common/tables/IBotBase"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class BotCallbacks { - private botController; - private httpResponse; + protected botController: BotController; + protected httpResponse: HttpResponseUtil; constructor(botController: BotController, httpResponse: HttpResponseUtil); getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/BundleCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/BundleCallbacks.d.ts index b007ab8..b28abe1 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/BundleCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/BundleCallbacks.d.ts @@ -1,15 +1,16 @@ import { BundleLoader } from "../loaders/BundleLoader"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class BundleCallbacks { - private logger; - private httpResponse; - private httpServer; - private bundleLoader; - private configServer; - private httpConfig; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected httpServer: IHttpServer; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, bundleLoader: BundleLoader, configServer: ConfigServer); sendBundle(sessionID: string, req: any, resp: any, body: any): any; getBundles(url: string, info: any, sessionID: string): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/CustomizationCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/CustomizationCallbacks.d.ts index 918b8b6..3bab8c0 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/CustomizationCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/CustomizationCallbacks.d.ts @@ -9,9 +9,9 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class CustomizationCallbacks { - private customizationController; - private saveServer; - private httpResponse; + protected customizationController: CustomizationController; + protected saveServer: SaveServer; + protected httpResponse: HttpResponseUtil; constructor(customizationController: CustomizationController, saveServer: SaveServer, httpResponse: HttpResponseUtil); getSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<{ _id: string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/DataCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/DataCallbacks.d.ts index 018420e..cfb1c16 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/DataCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/DataCallbacks.d.ts @@ -12,8 +12,8 @@ import { ISettingsBase } from "../models/spt/server/ISettingsBase"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class DataCallbacks { - private httpResponse; - private databaseServer; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer); getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/DialogueCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/DialogueCallbacks.d.ts index 3b6fbd1..634f90b 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/DialogueCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/DialogueCallbacks.d.ts @@ -21,10 +21,10 @@ import { HashUtil } from "../utils/HashUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class DialogueCallbacks extends OnUpdate { - private hashUtil; - private timeUtil; - private httpResponse; - private dialogueController; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected httpResponse: HttpResponseUtil; + protected dialogueController: DialogueController; constructor(hashUtil: HashUtil, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, dialogueController: DialogueController); getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/GameCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/GameCallbacks.d.ts index 44a30ea..d5cad76 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/GameCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/GameCallbacks.d.ts @@ -8,9 +8,9 @@ import { INullResponseData } from "../models/eft/httpResponse/INullResponseData" import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { Watermark } from "../utils/Watermark"; declare class GameCallbacks { - private httpResponse; - private watermark; - private gameController; + protected httpResponse: HttpResponseUtil; + protected watermark: Watermark; + protected gameController: GameController; constructor(httpResponse: HttpResponseUtil, watermark: Watermark, gameController: GameController); versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/HandbookCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/HandbookCallbacks.d.ts index 0db5fec..891e375 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/HandbookCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/HandbookCallbacks.d.ts @@ -1,7 +1,7 @@ import { HandbookController } from "../controllers/HandbookController"; import { OnLoad } from "../di/OnLoad"; export declare class HandbookCallbacks extends OnLoad { - private handbookController; + protected handbookController: HandbookController; constructor(handbookController: HandbookController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/HealthCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/HealthCallbacks.d.ts index a50dd42..8f7b89d 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/HealthCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/HealthCallbacks.d.ts @@ -9,9 +9,9 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class HealthCallbacks { - private httpResponse; - private profileHelper; - private healthController; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected healthController: HealthController; constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/callbacks/HideoutCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/HideoutCallbacks.d.ts index 3698176..99ab4c9 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/HideoutCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/HideoutCallbacks.d.ts @@ -11,11 +11,12 @@ import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutTog import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class HideoutCallbacks extends OnUpdate { - private hideoutController; - private configServer; - private hideoutConfig; + protected hideoutController: HideoutController; + protected configServer: ConfigServer; + protected hideoutConfig: IHideoutConfig; constructor(hideoutController: HideoutController, // TODO: delay needed configServer: ConfigServer); upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/callbacks/HttpCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/HttpCallbacks.d.ts index 9fe387d..94c97bd 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/HttpCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/HttpCallbacks.d.ts @@ -1,7 +1,7 @@ import { OnLoad } from "../di/OnLoad"; import { IHttpServer } from "../models/spt/server/IHttpServer"; export declare class HttpCallbacks extends OnLoad { - private httpServer; + protected httpServer: IHttpServer; constructor(httpServer: IHttpServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/InraidCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/InraidCallbacks.d.ts index 2d53227..05bcce4 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/InraidCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/InraidCallbacks.d.ts @@ -3,14 +3,16 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IAirdropConfig } from "../models/spt/config/IAirdropConfig"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class InraidCallbacks { - private inraidController; - private httpResponse; - private configServer; - private airdropConfig; - private inraidConfig; + protected inraidController: InraidController; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected airdropConfig: IAirdropConfig; + protected inraidConfig: IInRaidConfig; constructor(inraidController: InraidController, httpResponse: HttpResponseUtil, configServer: ConfigServer); registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/InsuranceCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/InsuranceCallbacks.d.ts index 79feb67..520d0eb 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/InsuranceCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/InsuranceCallbacks.d.ts @@ -5,15 +5,16 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { InsuranceService } from "../services/InsuranceService"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class InsuranceCallbacks extends OnLoadOnUpdate { - private insuranceController; - private insuranceService; - private httpResponse; - private configServer; - private insuranceConfig; + protected insuranceController: InsuranceController; + protected insuranceService: InsuranceService; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected insuranceConfig: IInsuranceConfig; constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer); onLoad(): void; getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/InventoryCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/InventoryCallbacks.d.ts index 9795aa0..9ab1486 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/InventoryCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/InventoryCallbacks.d.ts @@ -18,7 +18,7 @@ import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryT import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class InventoryCallbacks { - private inventoryController; + protected inventoryController: InventoryController; constructor(inventoryController: InventoryController); moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/callbacks/ItemEventCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/ItemEventCallbacks.d.ts index 74e79c4..f4f04f9 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/ItemEventCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/ItemEventCallbacks.d.ts @@ -4,8 +4,8 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ItemEventRouter } from "../routers/ItemEventRouter"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class ItemEventCallbacks { - private httpResponse; - private itemEventRouter; + protected httpResponse: HttpResponseUtil; + protected itemEventRouter: ItemEventRouter; constructor(httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter); handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; } diff --git a/Ereshkigal-AkiConfig/types/callbacks/LauncherCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/LauncherCallbacks.d.ts index 4bd5e2c..c022325 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/LauncherCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/LauncherCallbacks.d.ts @@ -8,10 +8,10 @@ import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { Watermark } from "../utils/Watermark"; declare class LauncherCallbacks { - private httpResponse; - private launcherController; - private saveServer; - private watermark; + protected httpResponse: HttpResponseUtil; + protected launcherController: LauncherController; + protected saveServer: SaveServer; + protected watermark: Watermark; constructor(httpResponse: HttpResponseUtil, launcherController: LauncherController, saveServer: SaveServer, watermark: Watermark); connect(): string; login(url: string, info: ILoginRequestData, sessionID: string): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/LocationCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/LocationCallbacks.d.ts index 5ecab74..cc69369 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/LocationCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/LocationCallbacks.d.ts @@ -6,8 +6,8 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class LocationCallbacks { - private httpResponse; - private locationController; + protected httpResponse: HttpResponseUtil; + protected locationController: LocationController; constructor(httpResponse: HttpResponseUtil, locationController: LocationController); getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/MatchCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/MatchCallbacks.d.ts index 63d38d9..083c1f5 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/MatchCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/MatchCallbacks.d.ts @@ -9,10 +9,10 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class MatchCallbacks { - private httpResponse; - private jsonUtil; - private matchController; - private databaseServer; + protected httpResponse: HttpResponseUtil; + protected jsonUtil: JsonUtil; + protected matchController: MatchController; + protected databaseServer: DatabaseServer; constructor(httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, matchController: MatchController, databaseServer: DatabaseServer); updatePing(url: string, info: any, sessionID: string): INullResponseData; exitMatch(url: string, info: any, sessionID: string): INullResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/ModCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/ModCallbacks.d.ts index 2011f0e..866abf7 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/ModCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/ModCallbacks.d.ts @@ -1,16 +1,17 @@ import { OnLoad } from "../di/OnLoad"; import { DelayedModLoader } from "../loaders/DelayedModLoader"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; declare class ModCallbacks extends OnLoad { - private logger; - private httpResponse; - private httpServer; - private modLoader; - private configServer; - private httpConfig; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected httpServer: IHttpServer; + protected modLoader: DelayedModLoader; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/NoteCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/NoteCallbacks.d.ts index fd7c5ca..d39d400 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/NoteCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/NoteCallbacks.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { INoteActionData } from "../models/eft/notes/INoteActionData"; export declare class NoteCallbacks { - private noteController; + protected noteController: NoteController; constructor(noteController: NoteController); addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/callbacks/NotifierCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/NotifierCallbacks.d.ts index 416e6a3..cd1e736 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/NotifierCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/NotifierCallbacks.d.ts @@ -6,9 +6,9 @@ import { INotifierChannel } from "../models/eft/notifier/INotifier"; import { ISelectProfileRequestData } from "../models/eft/notifier/ISelectProfileRequestData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class NotifierCallbacks { - private httpServerHelper; - private httpResponse; - private notifierController; + protected httpServerHelper: HttpServerHelper; + protected httpResponse: HttpResponseUtil; + protected notifierController: NotifierController; constructor(httpServerHelper: HttpServerHelper, httpResponse: HttpResponseUtil, notifierController: NotifierController); /** * If we don't have anything to send, it's ok to not send anything back @@ -16,7 +16,7 @@ export declare class NotifierCallbacks { * until we actually have something to send because otherwise we'd spam the client * and the client would abort the connection due to spam. */ - sendNotification(sessionID: string, req: any, resp: any, data: any): void; + sendNotification(_sessionID: string, req: any, resp: any, _data: any): void; getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData; createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/PresetBuildCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/PresetBuildCallbacks.d.ts index 639c33f..8a0c155 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/PresetBuildCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/PresetBuildCallbacks.d.ts @@ -6,8 +6,8 @@ import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPreset import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class PresetBuildCallbacks { - private httpResponse; - private presetBuildController; + protected httpResponse: HttpResponseUtil; + protected presetBuildController: PresetBuildController; constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController); getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/callbacks/PresetCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/PresetCallbacks.d.ts index f62afd6..4553f8f 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/PresetCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/PresetCallbacks.d.ts @@ -1,7 +1,7 @@ import { PresetController } from "../controllers/PresetController"; import { OnLoad } from "../di/OnLoad"; export declare class PresetCallbacks extends OnLoad { - private presetController; + protected presetController: PresetController; constructor(presetController: PresetController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/ProfileCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/ProfileCallbacks.d.ts index efce47d..116e7c5 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/ProfileCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/ProfileCallbacks.d.ts @@ -12,9 +12,9 @@ import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNic import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileCallbacks { - private httpResponse; - private timeUtil; - private profileController; + protected httpResponse: HttpResponseUtil; + protected timeUtil: TimeUtil; + protected profileController: ProfileController; constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, profileController: ProfileController); createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/Ereshkigal-AkiConfig/types/callbacks/QuestCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/QuestCallbacks.d.ts index f742096..559c29e 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/QuestCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/QuestCallbacks.d.ts @@ -13,9 +13,9 @@ import { IListQuestsRequestData } from "../models/eft/quests/IListQuestsRequestD import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class QuestCallbacks { - private httpResponse; - private questController; - private repeatableQuestController; + protected httpResponse: HttpResponseUtil; + protected questController: QuestController; + protected repeatableQuestController: RepeatableQuestController; constructor(httpResponse: HttpResponseUtil, questController: QuestController, repeatableQuestController: RepeatableQuestController); changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/callbacks/RagfairCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/RagfairCallbacks.d.ts index 152475f..d5bab8b 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/RagfairCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/RagfairCallbacks.d.ts @@ -3,6 +3,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData"; import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; @@ -10,19 +11,20 @@ import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { RagfairServer } from "../servers/RagfairServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class RagfairCallbacks extends OnLoadOnUpdate { - private httpResponse; - private logger; - private jsonUtil; - private ragfairServer; - private ragfairController; - private configServer; - private ragfairConfig; + protected httpResponse: HttpResponseUtil; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected ragfairServer: RagfairServer; + protected ragfairController: RagfairController; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(httpResponse: HttpResponseUtil, logger: ILogger, jsonUtil: JsonUtil, ragfairServer: RagfairServer, ragfairController: RagfairController, configServer: ConfigServer); onLoad(): void; getRoute(): string; @@ -33,4 +35,5 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate { removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse; extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; onUpdate(timeSinceLastRun: number): boolean; + sendReport(url: string, info: any, sessionID: string): INullResponseData; } diff --git a/Ereshkigal-AkiConfig/types/callbacks/RepairCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/RepairCallbacks.d.ts index f63ec18..63733fa 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/RepairCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/RepairCallbacks.d.ts @@ -4,7 +4,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; export declare class RepairCallbacks { - private repairController; + protected repairController: RepairController; constructor(repairController: RepairController); traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/callbacks/SaveCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/SaveCallbacks.d.ts index b7219a0..bbb6e53 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/SaveCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/SaveCallbacks.d.ts @@ -1,7 +1,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { SaveServer } from "../servers/SaveServer"; export declare class SaveCallbacks extends OnLoadOnUpdate { - private saveServer; + protected saveServer: SaveServer; constructor(saveServer: SaveServer); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/TradeCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/TradeCallbacks.d.ts index 9928951..272ae46 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/TradeCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/TradeCallbacks.d.ts @@ -4,7 +4,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; export declare class TradeCallbacks { - private tradeController; + protected tradeController: TradeController; constructor(tradeController: TradeController); processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/callbacks/TraderCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/TraderCallbacks.d.ts index 2a8af7f..128d9b2 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/TraderCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/TraderCallbacks.d.ts @@ -5,8 +5,8 @@ import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class TraderCallbacks extends OnLoadOnUpdate { - private httpResponse; - private traderController; + protected httpResponse: HttpResponseUtil; + protected traderController: TraderController; constructor(httpResponse: HttpResponseUtil, traderController: TraderController); onLoad(): void; getRoute(): string; diff --git a/Ereshkigal-AkiConfig/types/callbacks/WeatherCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/WeatherCallbacks.d.ts index e40ab3e..ae784c8 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/WeatherCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/WeatherCallbacks.d.ts @@ -3,8 +3,8 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class WeatherCallbacks { - private httpResponse; - private weatherController; + protected httpResponse: HttpResponseUtil; + protected weatherController: WeatherController; constructor(httpResponse: HttpResponseUtil, weatherController: WeatherController); getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; } diff --git a/Ereshkigal-AkiConfig/types/callbacks/WishlistCallbacks.d.ts b/Ereshkigal-AkiConfig/types/callbacks/WishlistCallbacks.d.ts index e0249fd..c2cc2a8 100644 --- a/Ereshkigal-AkiConfig/types/callbacks/WishlistCallbacks.d.ts +++ b/Ereshkigal-AkiConfig/types/callbacks/WishlistCallbacks.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; export declare class WishlistCallbacks { - private wishlistController; + protected wishlistController: WishlistController; constructor(wishlistController: WishlistController); addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/controllers/BotController.d.ts b/Ereshkigal-AkiConfig/types/controllers/BotController.d.ts index 8ecb97f..09a1788 100644 --- a/Ereshkigal-AkiConfig/types/controllers/BotController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/BotController.d.ts @@ -4,17 +4,32 @@ import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequest import { IBotBase } from "../models/eft/common/tables/IBotBase"; import { IBotCore } from "../models/eft/common/tables/IBotCore"; import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class BotController { - private databaseServer; - private botGenerator; - private botHelper; - private configServer; - private botConfig; + protected databaseServer: DatabaseServer; + protected botGenerator: BotGenerator; + protected botHelper: BotHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, configServer: ConfigServer); - getBotLimit(type: string): number; - getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty; + /** + * Return the number of bot loadout varieties to be generated + * @param type bot Type we want the loadout gen count for + * @returns + */ + getBotPresetGenerationLimit(type: string): number; + getBotCoreDifficulty(): IBotCore; + /** + * Get bot difficulty settings + * adjust PMC settings to ensure they engage the correct bot types + * @param type what bot the server is requesting settings for + * @param difficulty difficulty level server requested settings for + * @returns Difficulty object + */ + getBotDifficulty(type: string, difficulty: string): Difficulty; + protected getPmcDifficultySettings(pmcType: "bear" | "usec", difficulty: string): Difficulty; generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; getBotCap(): number; } diff --git a/Ereshkigal-AkiConfig/types/controllers/CustomizationController.d.ts b/Ereshkigal-AkiConfig/types/controllers/CustomizationController.d.ts index 698e6be..a6c4730 100644 --- a/Ereshkigal-AkiConfig/types/controllers/CustomizationController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/CustomizationController.d.ts @@ -9,14 +9,14 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; export declare class CustomizationController { - private logger; - private itemEventRouter; - private databaseServer; - private saveServer; - private profileHelper; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper); getTraderSuits(traderID: string, sessionID: string): ISuit[]; wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; - private getAllTraderSuits; + protected getAllTraderSuits(sessionID: string): ISuit[]; } diff --git a/Ereshkigal-AkiConfig/types/controllers/DialogueController.d.ts b/Ereshkigal-AkiConfig/types/controllers/DialogueController.d.ts index 235594f..b15c4b6 100644 --- a/Ereshkigal-AkiConfig/types/controllers/DialogueController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/DialogueController.d.ts @@ -3,13 +3,13 @@ import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachme import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { DialogueInfo } from "../models/eft/profile/IAkiProfile"; +import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile"; import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class DialogueController { - private httpResponse; - private saveServer; - private dialogueHelper; + protected httpResponse: HttpResponseUtil; + protected saveServer: SaveServer; + protected dialogueHelper: DialogueHelper; constructor(httpResponse: HttpResponseUtil, saveServer: SaveServer, dialogueHelper: DialogueHelper); getFriendList(sessionID: string): IGetFriendListDataResponse; generateDialogueList(sessionID: string): IGetBodyResponseData; @@ -19,7 +19,7 @@ export declare class DialogueController { setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void; setRead(dialogueIDs: string[], sessionID: string): void; getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse; - private messagesHaveUncollectedRewards; - private removeExpiredItems; + protected messagesHaveUncollectedRewards(messages: Message[]): boolean; + protected removeExpiredItems(sessionID: string): void; update(): void; } diff --git a/Ereshkigal-AkiConfig/types/controllers/GameController.d.ts b/Ereshkigal-AkiConfig/types/controllers/GameController.d.ts index bb2a55a..7f632d6 100644 --- a/Ereshkigal-AkiConfig/types/controllers/GameController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/GameController.d.ts @@ -1,28 +1,33 @@ +import { GameHelper } from "../helpers/GameHelper"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { Watermark } from "../utils/Watermark"; export declare class GameController { - private logger; - private watermark; - private httpServerHelper; - private profileHelper; - private configServer; - private httpConfig; - constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); + protected logger: ILogger; + protected watermark: Watermark; + protected httpServerHelper: HttpServerHelper; + protected profileHelper: ProfileHelper; + protected gameHelper: GameHelper; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, configServer: ConfigServer); gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void; - private addMissingBonusesProperty; - private addMissingRepeatableQuestsProperty; - private addMissingWeaponRepairSkill; - private addMissingAkiVersionTagToProfile; - private addMissingArmorRepairSkill; - private fixNullTraderSalesSums; - private removeDanglingConditionCounters; - private removeDanglingBackendCounters; + protected addMissingBonusesProperty(pmcProfile: IPmcData): void; + protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; + protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void; + protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; + protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void; + protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; + protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; getGameConfig(sessionID: string): IGameConfigResponse; getServer(): any[]; - private getActiveRepeatableQuests; + protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; } diff --git a/Ereshkigal-AkiConfig/types/controllers/HandbookController.d.ts b/Ereshkigal-AkiConfig/types/controllers/HandbookController.d.ts index f473437..52d2dd8 100644 --- a/Ereshkigal-AkiConfig/types/controllers/HandbookController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/HandbookController.d.ts @@ -1,8 +1,8 @@ import { HandbookHelper } from "../helpers/HandbookHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class HandbookController { - private databaseServer; - private handbookHelper; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper); load(): void; } diff --git a/Ereshkigal-AkiConfig/types/controllers/HealthController.d.ts b/Ereshkigal-AkiConfig/types/controllers/HealthController.d.ts index ca049f6..aafb8df 100644 --- a/Ereshkigal-AkiConfig/types/controllers/HealthController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/HealthController.d.ts @@ -11,12 +11,12 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class HealthController { - private logger; - private itemEventRouter; - private itemHelper; - private paymentService; - private inventoryHelper; - private healthHelper; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected itemHelper: ItemHelper; + protected paymentService: PaymentService; + protected inventoryHelper: InventoryHelper; + protected healthHelper: HealthHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper); saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/controllers/HideoutController.d.ts b/Ereshkigal-AkiConfig/types/controllers/HideoutController.d.ts index f35c23b..f2930ff 100644 --- a/Ereshkigal-AkiConfig/types/controllers/HideoutController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/HideoutController.d.ts @@ -3,10 +3,12 @@ import { InventoryHelper } from "../helpers/InventoryHelper"; import { PaymentHelper } from "../helpers/PaymentHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; +import { HideoutArea, IPmcData, Product } from "../models/eft/common/IPmcData"; import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; @@ -14,6 +16,7 @@ import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideou import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -25,32 +28,41 @@ import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class HideoutController { - private logger; - private hashUtil; - private timeUtil; - private databaseServer; - private randomUtil; - private inventoryHelper; - private saveServer; - private playerService; - private presetHelper; - private paymentHelper; - private itemEventRouter; - private httpResponse; - private profileHelper; - private hideoutHelper; - private configServer; - private hideoutConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected inventoryHelper: InventoryHelper; + protected saveServer: SaveServer; + protected playerService: PlayerService; + protected presetHelper: PresetHelper; + protected paymentHelper: PaymentHelper; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected hideoutHelper: HideoutHelper; + protected configServer: ConfigServer; + protected hideoutConfig: IHideoutConfig; constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, configServer: ConfigServer); upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + protected removeItemFromGenerator(sessionID: string, pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, output: IItemEventRouterResponse, hideoutArea: HideoutArea): IItemEventRouterResponse; toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + protected getRandomisedItemRarityCounter(recipe: IHideoutScavCase): { + [x: string]: number; + }; + protected getRandomisedScavRewards(rarityItemCounter: { + [x: string]: number; + }): Product[]; continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + protected handleRecipie(sessionID: string, recipe: IHideoutProduction, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; + protected handleScavCase(sessionID: string, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; update(): void; } diff --git a/Ereshkigal-AkiConfig/types/controllers/InraidController.d.ts b/Ereshkigal-AkiConfig/types/controllers/InraidController.d.ts index c1cd6f5..7f2036c 100644 --- a/Ereshkigal-AkiConfig/types/controllers/InraidController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/InraidController.d.ts @@ -6,24 +6,25 @@ import { QuestHelper } from "../helpers/QuestHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { InsuranceService } from "../services/InsuranceService"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InraidController { - private saveServer; - private jsonUtil; - private databaseServer; - private questHelper; - private itemHelper; - private extendedProfileHelper; - private healthHelper; - private traderHelper; - private insuranceService; - private inRaidHelper; - private configServer; - private inraidConfig; + protected saveServer: SaveServer; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + protected itemHelper: ItemHelper; + protected extendedProfileHelper: ExtendedProfileHelper; + protected healthHelper: HealthHelper; + protected traderHelper: TraderHelper; + protected insuranceService: InsuranceService; + protected inRaidHelper: InRaidHelper; + protected configServer: ConfigServer; + protected inraidConfig: IInRaidConfig; constructor(saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, extendedProfileHelper: ExtendedProfileHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, configServer: ConfigServer); addPlayer(sessionID: string, info: IRegisterPlayerRequestData): void; saveProgress(offraidData: ISaveProgressRequestData, sessionID: string): void; diff --git a/Ereshkigal-AkiConfig/types/controllers/InsuranceController.d.ts b/Ereshkigal-AkiConfig/types/controllers/InsuranceController.d.ts index b175a06..db2c567 100644 --- a/Ereshkigal-AkiConfig/types/controllers/InsuranceController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/InsuranceController.d.ts @@ -5,6 +5,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -15,19 +16,19 @@ import { PaymentService } from "../services/PaymentService"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class InsuranceController { - private logger; - private randomUtil; - private itemEventRouter; - private timeUtil; - private saveServer; - private databaseServer; - private itemHelper; - private profileHelper; - private dialogueHelper; - private paymentService; - private insuranceService; - private configServer; - private insuranceConfig; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected itemEventRouter: ItemEventRouter; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected profileHelper: ProfileHelper; + protected dialogueHelper: DialogueHelper; + protected paymentService: PaymentService; + protected insuranceService: InsuranceService; + protected configServer: ConfigServer; + protected insuranceConfig: IInsuranceConfig; constructor(logger: ILogger, randomUtil: RandomUtil, itemEventRouter: ItemEventRouter, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, // TODO: delay required insuranceService: InsuranceService, configServer: ConfigServer); processReturn(): void; diff --git a/Ereshkigal-AkiConfig/types/controllers/InventoryController.d.ts b/Ereshkigal-AkiConfig/types/controllers/InventoryController.d.ts index 8235082..b732aa9 100644 --- a/Ereshkigal-AkiConfig/types/controllers/InventoryController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/InventoryController.d.ts @@ -27,15 +27,15 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InventoryController { - private logger; - private hashUtil; - private jsonUtil; - private databaseServer; - private presetHelper; - private inventoryHelper; - private profileHelper; - private paymentHelper; - private itemEventRouter; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected presetHelper: PresetHelper; + protected inventoryHelper: InventoryHelper; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemEventRouter: ItemEventRouter; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); /** * Move Item diff --git a/Ereshkigal-AkiConfig/types/controllers/LauncherController.d.ts b/Ereshkigal-AkiConfig/types/controllers/LauncherController.d.ts index 2a30713..1af1f56 100644 --- a/Ereshkigal-AkiConfig/types/controllers/LauncherController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/LauncherController.d.ts @@ -3,23 +3,24 @@ import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; import { IRegisterData } from "../models/eft/launcher/IRegisterData"; import { Info } from "../models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; export declare class LauncherController { - private hashUtil; - private saveServer; - private httpServerHelper; - private databaseServer; - private configServer; - private coreConfig; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected httpServerHelper: HttpServerHelper; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected coreConfig: ICoreConfig; constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, databaseServer: DatabaseServer, configServer: ConfigServer); connect(): any; find(sessionIdKey: string): Info; login(info: ILoginRequestData): string; register(info: IRegisterData): string; - private createAccount; + protected createAccount(info: IRegisterData): string; changeUsername(info: IChangeRequestData): string; changePassword(info: IChangeRequestData): string; wipe(info: IRegisterData): string; diff --git a/Ereshkigal-AkiConfig/types/controllers/LocationController.d.ts b/Ereshkigal-AkiConfig/types/controllers/LocationController.d.ts index 41a8719..90b6d7a 100644 --- a/Ereshkigal-AkiConfig/types/controllers/LocationController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/LocationController.d.ts @@ -6,11 +6,11 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class LocationController { - private jsonUtil; - private logger; - private locationGenerator; - private databaseServer; - private timeUtil; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected locationGenerator: LocationGenerator; + protected databaseServer: DatabaseServer; + protected timeUtil: TimeUtil; constructor(jsonUtil: JsonUtil, logger: ILogger, locationGenerator: LocationGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil); get(location: string): ILocationBase; generate(name: string): ILocationBase; diff --git a/Ereshkigal-AkiConfig/types/controllers/MatchController.d.ts b/Ereshkigal-AkiConfig/types/controllers/MatchController.d.ts index 84abbe3..c322d96 100644 --- a/Ereshkigal-AkiConfig/types/controllers/MatchController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/MatchController.d.ts @@ -4,21 +4,23 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; +import { IMatchConfig } from "../models/spt/config/IMatchConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; import { MatchLocationService } from "../services/MatchLocationService"; export declare class MatchController { - private saveServer; - private profileHelper; - private matchLocationService; - private traderHelper; - private configServer; - private matchConfig; - private inraidConfig; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected matchLocationService: MatchLocationService; + protected traderHelper: TraderHelper; + protected configServer: ConfigServer; + protected matchConfig: IMatchConfig; + protected inraidConfig: IInRaidConfig; constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); getEnabled(): boolean; getProfile(info: IGetProfileRequestData): IPmcData[]; - private getMatch; + protected getMatch(location: any): any; createGroup(sessionID: string, info: any): any; deleteGroup(info: any): void; joinMatch(info: any, sessionID: string): any[]; diff --git a/Ereshkigal-AkiConfig/types/controllers/NoteController.d.ts b/Ereshkigal-AkiConfig/types/controllers/NoteController.d.ts index 4d3420e..cc78383 100644 --- a/Ereshkigal-AkiConfig/types/controllers/NoteController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/NoteController.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { INoteActionData } from "../models/eft/notes/INoteActionData"; import { ItemEventRouter } from "../routers/ItemEventRouter"; declare class NoteController { - private itemEventRouter; + protected itemEventRouter: ItemEventRouter; constructor(itemEventRouter: ItemEventRouter); addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/controllers/NotifierController.d.ts b/Ereshkigal-AkiConfig/types/controllers/NotifierController.d.ts index 36fef66..31d7bfe 100644 --- a/Ereshkigal-AkiConfig/types/controllers/NotifierController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/NotifierController.d.ts @@ -3,11 +3,11 @@ import { NotificationService } from "../services/NotificationService"; import { INotifierChannel } from "../models/eft/notifier/INotifier"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; export declare class NotifierController { - private notifierHelper; - private httpServerHelper; - private notificationService; - private pollInterval; - private timeout; + protected notifierHelper: NotifierHelper; + protected httpServerHelper: HttpServerHelper; + protected notificationService: NotificationService; + protected pollInterval: number; + protected timeout: number; constructor(notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, notificationService: NotificationService); /** * Resolve an array of session notifications. diff --git a/Ereshkigal-AkiConfig/types/controllers/PresetBuildController.d.ts b/Ereshkigal-AkiConfig/types/controllers/PresetBuildController.d.ts index 11c5c3e..adf4084 100644 --- a/Ereshkigal-AkiConfig/types/controllers/PresetBuildController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/PresetBuildController.d.ts @@ -7,10 +7,10 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; export declare class PresetBuildController { - private hashUtil; - private itemEventRouter; - private itemHelper; - private saveServer; + protected hashUtil: HashUtil; + protected itemEventRouter: ItemEventRouter; + protected itemHelper: ItemHelper; + protected saveServer: SaveServer; constructor(hashUtil: HashUtil, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, saveServer: SaveServer); getUserBuilds(sessionID: string): WeaponBuild[]; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/controllers/PresetController.d.ts b/Ereshkigal-AkiConfig/types/controllers/PresetController.d.ts index 6ec8c55..ca1af1a 100644 --- a/Ereshkigal-AkiConfig/types/controllers/PresetController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/PresetController.d.ts @@ -1,8 +1,8 @@ import { PresetHelper } from "../helpers/PresetHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PresetController { - private presetHelper; - private databaseServer; + protected presetHelper: PresetHelper; + protected databaseServer: DatabaseServer; constructor(presetHelper: PresetHelper, databaseServer: DatabaseServer); initialize(): void; } diff --git a/Ereshkigal-AkiConfig/types/controllers/ProfileController.d.ts b/Ereshkigal-AkiConfig/types/controllers/ProfileController.d.ts index c8bd5f1..9b7a6d5 100644 --- a/Ereshkigal-AkiConfig/types/controllers/ProfileController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/ProfileController.d.ts @@ -14,13 +14,13 @@ import { SaveServer } from "../servers/SaveServer"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileController { - private hashUtil; - private timeUtil; - private saveServer; - private databaseServer; - private itemHelper; - private traderHelper; - private extendedProfileHelper; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected traderHelper: TraderHelper; + protected extendedProfileHelper: ExtendedProfileHelper; constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); getMiniProfiles(): IMiniProfile[]; getMiniProfile(sessionID: string): any; diff --git a/Ereshkigal-AkiConfig/types/controllers/QuestController.d.ts b/Ereshkigal-AkiConfig/types/controllers/QuestController.d.ts index d8caee5..c00cd6d 100644 --- a/Ereshkigal-AkiConfig/types/controllers/QuestController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/QuestController.d.ts @@ -4,11 +4,12 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { QuestConditionHelper } from "../helpers/QuestConditionHelper"; import { QuestHelper } from "../helpers/QuestHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; -import { IQuest } from "../models/eft/common/tables/IQuest"; +import { IQuest, Reward } from "../models/eft/common/tables/IQuest"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -16,22 +17,58 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { PlayerService } from "../services/PlayerService"; import { TimeUtil } from "../utils/TimeUtil"; export declare class QuestController { - private logger; - private timeUtil; - private itemEventRouter; - private databaseServer; - private itemHelper; - private dialogueHelper; - private profileHelper; - private questHelper; - private questConditionHelper; - private playerService; - private configServer; - private questConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected dialogueHelper: DialogueHelper; + protected profileHelper: ProfileHelper; + protected questHelper: QuestHelper; + protected questConditionHelper: QuestConditionHelper; + protected playerService: PlayerService; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer); + /** + * Get all quests visible to player + * Exclude quests with incomplete preconditions (level/loyalty) + * @param sessionID session id + * @returns array of IQuest + */ getClientQuests(sessionID: string): IQuest[]; acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Remove completed quest from profile + * Add newly unlocked quests to profile + * Also recalculate thier level due to exp rewards + * @param pmcData Player profile + * @param body completed quest request + * @param sessionID session id + * @returns ItemEvent response + */ completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Send a popup to player on completion of a quest + * @param sessionID session id + * @param pmcData player profile + * @param completedQuestId completed quest id + * @param questRewards rewards given to player + */ + protected sendDialogMessageOnQuestComplete(sessionID: string, pmcData: IPmcData, completedQuestId: string, questRewards: Reward[]): void; + /** + * Returns a list of quests that should be failed when a quest is completed + * @param completedQuestId quest completed id + * @returns array of quests + */ + protected getQuestsFailedByCompletingQuest(completedQuestId: string): IQuest[]; + /** + * Fail the quests provided + * @param sessionID session id + * @param pmcData player profile + * @param questsToFail quests to fail + */ + protected failQuests(sessionID: string, pmcData: IPmcData, questsToFail: IQuest[]): void; handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AkiConfig/types/controllers/RagfairController.d.ts b/Ereshkigal-AkiConfig/types/controllers/RagfairController.d.ts index 5b94a95..c758593 100644 --- a/Ereshkigal-AkiConfig/types/controllers/RagfairController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/RagfairController.d.ts @@ -20,6 +20,7 @@ import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPric import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -33,30 +34,30 @@ import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsSer import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairController { - private logger; - private timeUtil; - private httpResponse; - private itemEventRouter; - private ragfairServer; - private ragfairPriceService; - private databaseServer; - private itemHelper; - private saveServer; - private ragfairSellHelper; - private ragfairTaxHelper; - private ragfairSortHelper; - private ragfairOfferHelper; - private profileHelper; - private paymentService; - private handbookHelper; - private paymentHelper; - private inventoryHelper; - private ragfairHelper; - private ragfairOfferService; - private ragfairRequiredItemsService; - private ragfairOfferGenerator; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected httpResponse: HttpResponseUtil; + protected itemEventRouter: ItemEventRouter; + protected ragfairServer: RagfairServer; + protected ragfairPriceService: RagfairPriceService; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected saveServer: SaveServer; + protected ragfairSellHelper: RagfairSellHelper; + protected ragfairTaxHelper: RagfairTaxHelper; + protected ragfairSortHelper: RagfairSortHelper; + protected ragfairOfferHelper: RagfairOfferHelper; + protected profileHelper: ProfileHelper; + protected paymentService: PaymentService; + protected handbookHelper: HandbookHelper; + protected paymentHelper: PaymentHelper; + protected inventoryHelper: InventoryHelper; + protected ragfairHelper: RagfairHelper; + protected ragfairOfferService: RagfairOfferService; + protected ragfairRequiredItemsService: RagfairRequiredItemsService; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer); getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult; update(): void; diff --git a/Ereshkigal-AkiConfig/types/controllers/RepairController.d.ts b/Ereshkigal-AkiConfig/types/controllers/RepairController.d.ts index 77dd47a..330684d 100644 --- a/Ereshkigal-AkiConfig/types/controllers/RepairController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/RepairController.d.ts @@ -5,21 +5,23 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; +import { IRepairConfig } from "../models/spt/config/IRepairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { PaymentService } from "../services/PaymentService"; export declare class RepairController { - private logger; - private itemEventRouter; - private databaseServer; - private questHelper; - private traderHelper; - private paymentService; - private repairHelper; - private configServer; - private repairConfig; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + protected traderHelper: TraderHelper; + protected paymentService: PaymentService; + protected repairHelper: RepairHelper; + protected configServer: ConfigServer; + protected repairConfig: IRepairConfig; + protected readonly WEAPON_SKILL_REPAIR_GAIN: number; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, questHelper: QuestHelper, traderHelper: TraderHelper, paymentService: PaymentService, repairHelper: RepairHelper, configServer: ConfigServer); /** * Repair with trader @@ -36,5 +38,5 @@ export declare class RepairController { * @param sessionID session id * @returns item event router action */ - repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; + repairWithKit(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AkiConfig/types/controllers/RepeatableQuestController.d.ts b/Ereshkigal-AkiConfig/types/controllers/RepeatableQuestController.d.ts index 2dedc7e..9aa9590 100644 --- a/Ereshkigal-AkiConfig/types/controllers/RepeatableQuestController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/RepeatableQuestController.d.ts @@ -1,3 +1,4 @@ +import { GameHelper } from "../helpers/GameHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; @@ -9,7 +10,7 @@ import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationConditi import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "../models/enums/ELocationName"; -import { IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IQuestConfig, IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -48,22 +49,23 @@ export interface ITargetLocation { locations: string[]; } export declare class RepeatableQuestController { - private timeUtil; - private logger; - private randomUtil; - private mathUtil; - private jsonUtil; - private databaseServer; - private itemHelper; - private presetHelper; - private profileHelper; - private ragfairServerHelper; - private itemEventRouter; - private paymentService; - private objectId; - private configServer; - private questConfig; - constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); + protected timeUtil: TimeUtil; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected mathUtil: MathUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected gameHelper: GameHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected itemEventRouter: ItemEventRouter; + protected paymentService: PaymentService; + protected objectId: ObjectId; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); /** * This is the method reached by the /client/repeatalbeQuests/activityPeriods endpoint * Returns an array of objects in the format of repeatable quests to the client. diff --git a/Ereshkigal-AkiConfig/types/controllers/TradeController.d.ts b/Ereshkigal-AkiConfig/types/controllers/TradeController.d.ts index f0a177b..c86745c 100644 --- a/Ereshkigal-AkiConfig/types/controllers/TradeController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/TradeController.d.ts @@ -9,11 +9,11 @@ import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTr import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ILogger } from "../models/spt/utils/ILogger"; declare class TradeController { - private logger; - private itemEventRouter; - private tradeHelper; - private profileHelper; - private ragfairServer; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected tradeHelper: TradeHelper; + protected profileHelper: ProfileHelper; + protected ragfairServer: RagfairServer; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, tradeHelper: TradeHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer); confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse; confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/controllers/TraderController.d.ts b/Ereshkigal-AkiConfig/types/controllers/TraderController.d.ts index 36eac75..7bab158 100644 --- a/Ereshkigal-AkiConfig/types/controllers/TraderController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/TraderController.d.ts @@ -8,14 +8,14 @@ import { TraderAssortService } from "../services/TraderAssortService"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class TraderController { - private logger; - private databaseServer; - private traderAssortHelper; - private profileHelper; - private traderHelper; - private timeUtil; - private traderAssortService; - private jsonUtil; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected traderAssortHelper: TraderAssortHelper; + protected profileHelper: ProfileHelper; + protected traderHelper: TraderHelper; + protected timeUtil: TimeUtil; + protected traderAssortService: TraderAssortService; + protected jsonUtil: JsonUtil; constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, jsonUtil: JsonUtil); load(): void; getTrader(traderID: string, sessionID: string): ITraderBase; diff --git a/Ereshkigal-AkiConfig/types/controllers/WeatherController.d.ts b/Ereshkigal-AkiConfig/types/controllers/WeatherController.d.ts index 312c3a3..ca7f5eb 100644 --- a/Ereshkigal-AkiConfig/types/controllers/WeatherController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/WeatherController.d.ts @@ -1,10 +1,11 @@ import { WeatherGenerator } from "../generators/WeatherGenerator"; import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class WeatherController { - private weatherGenerator; - private configServer; - private weatherConfig; + protected weatherGenerator: WeatherGenerator; + protected configServer: ConfigServer; + protected weatherConfig: IWeatherConfig; constructor(weatherGenerator: WeatherGenerator, configServer: ConfigServer); generate(): IWeatherData; } diff --git a/Ereshkigal-AkiConfig/types/controllers/WishlistController.d.ts b/Ereshkigal-AkiConfig/types/controllers/WishlistController.d.ts index 5ef8df3..a96c522 100644 --- a/Ereshkigal-AkiConfig/types/controllers/WishlistController.d.ts +++ b/Ereshkigal-AkiConfig/types/controllers/WishlistController.d.ts @@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class WishlistController { - private itemEvenRouter; + protected itemEvenRouter: ItemEventRouter; constructor(itemEvenRouter: ItemEventRouter); addToWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/generators/BotGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/BotGenerator.d.ts index e2565b7..88a8014 100644 --- a/Ereshkigal-AkiConfig/types/generators/BotGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/BotGenerator.d.ts @@ -1,7 +1,10 @@ import { BotHelper } from "../helpers/BotHelper"; import { GameEventHelper } from "../helpers/GameEventHelper"; import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { Health as PmcHealth } from "../models/eft/common/IPmcData"; import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { Health, Inventory, Skills } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -9,28 +12,35 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { BotInventoryGenerator } from "./BotInventoryGenerator"; +declare namespace BotGenerator { + interface IRandomisedBotLevelResult { + level: number; + exp: number; + } +} export declare class BotGenerator { - private logger; - private hashUtil; - private randomUtil; - private jsonUtil; - private databaseServer; - private botInventoryGenerator; - private botHelper; - private gameEventHelper; - private configServer; - private botConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected botInventoryGenerator: BotInventoryGenerator; + protected botHelper: BotHelper; + protected gameEventHelper: GameEventHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, botInventoryGenerator: BotInventoryGenerator, botHelper: BotHelper, gameEventHelper: GameEventHelper, configServer: ConfigServer); generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; - private generateBot; - private generateRandomLevel; + protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase; + protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult; /** Converts health object to the required format */ - private generateHealth; - private generateSkills; - private getPmcRole; - private removeChristmasItemsFromBotInventory; - private generateId; - private generateInventoryID; - private getPMCDifficulty; - private generateDogtag; + protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth; + protected generateSkills(skillsObj: Skills): Skills; + protected getPmcRole(pmcSide: string): string; + protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void; + protected generateId(bot: IBotBase): IBotBase; + protected generateInventoryID(profile: IBotBase): IBotBase; + protected getPMCDifficulty(requestedDifficulty: string): string; + protected generateDogtag(bot: IBotBase): IBotBase; } +export {}; diff --git a/Ereshkigal-AkiConfig/types/generators/BotInventoryGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/BotInventoryGenerator.d.ts index 0cdbacb..783d0c5 100644 --- a/Ereshkigal-AkiConfig/types/generators/BotInventoryGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/BotInventoryGenerator.d.ts @@ -1,5 +1,5 @@ import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; -import { Inventory, Chances, Generation } from "../models/eft/common/tables/IBotType"; +import { Inventory, Chances, Generation, Mods } from "../models/eft/common/tables/IBotType"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; @@ -9,16 +9,16 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; export declare class BotInventoryGenerator { - private logger; - private hashUtil; - private randomUtil; - private databaseServer; - private botWeaponGenerator; - private botLootGenerator; - private botGeneratorHelper; - private weightedRandomHelper; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected botWeaponGenerator: BotWeaponGenerator; + protected botLootGenerator: BotLootGenerator; + protected botGeneratorHelper: BotGeneratorHelper; + protected weightedRandomHelper: WeightedRandomHelper; constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, weightedRandomHelper: WeightedRandomHelper); generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; - private generateEquipment; - private generateInventoryBase; + protected generateEquipment(equipmentSlot: string, equipmentPool: Record, modPool: Mods, spawnChances: Chances, botRole: string, inventory: PmcInventory): void; + protected generateInventoryBase(): PmcInventory; } diff --git a/Ereshkigal-AkiConfig/types/generators/BotLootGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/BotLootGenerator.d.ts index 1d8c8e1..1d91836 100644 --- a/Ereshkigal-AkiConfig/types/generators/BotLootGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/BotLootGenerator.d.ts @@ -3,25 +3,27 @@ import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { HandbookHelper } from "../helpers/HandbookHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotLootGenerator { - private jsonUtil; - private hashUtil; - private randomUtil; - private databaseServer; - private handbookHelper; - private botGeneratorHelper; - private pmcLootGenerator; - private configServer; - private botConfig; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected botGeneratorHelper: BotGeneratorHelper; + protected pmcLootGenerator: PMCLootGenerator; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer); generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void; - private getRandomisedCount; - private addLootFromPool; + protected getRandomisedCount(min: number, max: number, nValue: number): number; + protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void; /** Compares two item templates by their price to spawn chance ratio */ - private compareByValue; + protected compareByValue(a: ITemplateItem, b: ITemplateItem): number; } diff --git a/Ereshkigal-AkiConfig/types/generators/BotWeaponGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/BotWeaponGenerator.d.ts index e8f91cb..a43b18c 100644 --- a/Ereshkigal-AkiConfig/types/generators/BotWeaponGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/BotWeaponGenerator.d.ts @@ -2,43 +2,87 @@ import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; -import { MinMax, Mods, ModsChances } from "../models/eft/common/tables/IBotType"; +import { Inventory, MinMax, ModsChances } from "../models/eft/common/tables/IBotType"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotWeaponGenerator { - private logger; - private hashUtil; - private databaseServer; - private itemHelper; - private weightedRandomHelper; - private botGeneratorHelper; - private randomUtil; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected weightedRandomHelper: WeightedRandomHelper; + protected botGeneratorHelper: BotGeneratorHelper; + protected randomUtil: RandomUtil; + private readonly modMagazineSlotId; constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); - generateWeapon(equipmentSlot: string, weaponPool: Record, modPool: Mods, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; + generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; + /** + * Get the mods necessary to kit out a weapon to its preset level + * @param weaponTpl weapon to find preset for + * @param equipmentSlot the slot the weapon will be placed in + * @param weaponParentId + * @returns array of weapon mods + */ + protected getPresetWeaponMods(weaponTpl: string, equipmentSlot: string, weaponParentId: string, itemTemplate: ITemplateItem, botRole: string): Item[]; /** Checks if all required slots are occupied on a weapon and all it's mods */ - private isWeaponValid; + protected isWeaponValid(itemList: Item[]): boolean; /** - * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. - * Additionally, adds extra bullets to SecuredContainer - * - * @param {*} weaponMods - * @param {*} weaponTemplate - * @param {*} magCounts - * @param {*} ammoTpl - * @returns - */ - private generateExtraMagazines; - private addBullets; + * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. + * Additionally, adds extra bullets to SecuredContainer + * @param weaponMods + * @param weaponTemplate + * @param magCounts + * @param ammoTpl + * @param inventory + * @returns + */ + protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void; /** - * Finds and returns tpl of ammo that should be used, while making sure it's compatible + * Get a randomised count of magazines + * @param magCounts min and max value returned value can be between + * @returns numberical value of magazine count + */ + protected getRandomisedMagazineCount(magCounts: MinMax): number; + /** + * Add ammo to the secure container + * @param stackCount How many stacks of ammo to add + * @param ammoTpl Ammo type to add + * @param stackSize Size of the ammo stack to add + * @param inventory Player inventory + */ + protected addAmmoToSecureContainer(stackCount: number, ammoTpl: string, stackSize: number, inventory: PmcInventory): void; + /** + * Get a weapons magazine tpl from a weapon template + * @param weaponMods mods from a weapon template + * @param weaponTemplate Weapon to get magazine tpl for + * @returns magazine tpl string + */ + protected getMagazineTplFromWeaponTemplate(weaponMods: Item[], weaponTemplate: ITemplateItem): string; + protected addBulletsToVestAndPockets(ammoTpl: string, bulletCount: number, inventory: PmcInventory): void; + /** + * Finds and returns compatible ammo tpl * * @param {*} weaponMods * @param {*} weaponTemplate - * @returns + * @returns compatible ammo tpl */ - private getCompatibleAmmo; - /** Fill existing magazines to full, while replacing their contents with specified ammo */ - private fillExistingMagazines; + protected getCompatibleAmmo(weaponMods: Item[], weaponTemplate: ITemplateItem): string; + /** + * Fill existing magazines to full, while replacing their contents with specified ammo + * @param weaponMods + * @param magazine + * @param ammoTpl + */ + protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void; + /** + * Fill each Camora with a bullet + * @param weaponMods Weapon mods to find and update camora mod(s) from + * @param magazineId magazine id to find and add to + * @param ammoTpl ammo template id to hydate with + */ + protected fillCamorasWithAmmo(weaponMods: Item[], magazineId: string, ammoTpl: string): void; } diff --git a/Ereshkigal-AkiConfig/types/generators/LocationGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/LocationGenerator.d.ts index 4b96792..bd368b5 100644 --- a/Ereshkigal-AkiConfig/types/generators/LocationGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/LocationGenerator.d.ts @@ -6,6 +6,8 @@ import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { ILooseLoot, SpawnpointTemplate } from "../models/eft/common/ILooseLoot"; import { Item } from "../models/eft/common/tables/IItem"; import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILocationConfig } from "../models/spt/config/ILocationConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { JsonUtil } from "../utils/JsonUtil"; @@ -18,27 +20,27 @@ export interface IContainerItem { height: number; } export declare class LocationGenerator { - private logger; - private jsonUtil; - private objectId; - private randomUtil; - private ragfairServerHelper; - private itemHelper; - private mathUtil; - private gameEventHelper; - private containerHelper; - private presetHelper; - private configServer; - private locationConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected objectId: ObjectId; + protected randomUtil: RandomUtil; + protected ragfairServerHelper: RagfairServerHelper; + protected itemHelper: ItemHelper; + protected mathUtil: MathUtil; + protected gameEventHelper: GameEventHelper; + protected containerHelper: ContainerHelper; + protected presetHelper: PresetHelper; + protected configServer: ConfigServer; + protected locationConfig: ILocationConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, gameEventHelper: GameEventHelper, containerHelper: ContainerHelper, presetHelper: PresetHelper, configServer: ConfigServer); generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record, staticAmmoDist: Record, locationName: string): IStaticContainerProps; - private getLooseLootMultiplerForLocation; - private getStaticLootMultiplerForLocation; + protected getLooseLootMultiplerForLocation(location: string): number; + protected getStaticLootMultiplerForLocation(location: string): number; generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): SpawnpointTemplate[]; - private createItem; - private getRandomCompatibleCaliberTemplateId; - private getRandomValidCaliber; - private drawAmmoTpl; - private createRandomMagCartridges; - private createCartidges; + protected createItem(tpl: string, staticAmmoDist: Record, parentId?: string): IContainerItem; + protected getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string; + protected getRandomValidCaliber(magTemplate: ITemplateItem): string; + protected drawAmmoTpl(caliber: string, staticAmmoDist: Record): string; + protected createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record, caliber?: string): Item; + protected createCartidges(parentId: string, ammoTpl: string, stackCount: number): Item; } diff --git a/Ereshkigal-AkiConfig/types/generators/PMCLootGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/PMCLootGenerator.d.ts index 601431b..64e6f7f 100644 --- a/Ereshkigal-AkiConfig/types/generators/PMCLootGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/PMCLootGenerator.d.ts @@ -1,13 +1,14 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { DatabaseServer } from "../servers/DatabaseServer"; import { ConfigServer } from "../servers/ConfigServer"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; export declare class PMCLootGenerator { - private itemHelper; - private databaseServer; - private configServer; - private pocketLootPool; - private backpackLootPool; - private botConfig; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected pocketLootPool: string[]; + protected backpackLootPool: string[]; + protected botConfig: IBotConfig; constructor(itemHelper: ItemHelper, databaseServer: DatabaseServer, configServer: ConfigServer); generatePMCPocketLootPool(): string[]; generatePMCBackpackLootPool(): string[]; diff --git a/Ereshkigal-AkiConfig/types/generators/RagfairAssortGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/RagfairAssortGenerator.d.ts index 06d3250..cbdd7f2 100644 --- a/Ereshkigal-AkiConfig/types/generators/RagfairAssortGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/RagfairAssortGenerator.d.ts @@ -4,22 +4,22 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class RagfairAssortGenerator { - private jsonUtil; - private hashUtil; - private itemHelper; - private databaseServer; - private generatedAssortItems; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected generatedAssortItems: Item[]; constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer); /** * Get an array of unique items that can be sold on the flea * @returns array of unique items */ getAssortItems(): Item[]; - private assortsAreGenerated; + protected assortsAreGenerated(): boolean; /** * Generate an array of items the flea can sell * @returns array of unique items */ - private generateRagfairAssortItems; - private createRagfairAssortItem; + protected generateRagfairAssortItems(): Item[]; + protected createRagfairAssortItem(tplId: string, id?: string): Item; } diff --git a/Ereshkigal-AkiConfig/types/generators/RagfairOfferGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/RagfairOfferGenerator.d.ts index e3fbe4a..de53ea9 100644 --- a/Ereshkigal-AkiConfig/types/generators/RagfairOfferGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/RagfairOfferGenerator.d.ts @@ -2,8 +2,10 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -17,37 +19,40 @@ import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; import { RagfairAssortGenerator } from "./RagfairAssortGenerator"; export declare class RagfairOfferGenerator { - private logger; - private jsonUtil; - private hashUtil; - private randomUtil; - private timeUtil; - private databaseServer; - private ragfairServerHelper; - private saveServer; - private presetHelper; - private ragfairAssortGenerator; - private ragfairOfferService; - private ragfairPriceService; - private fenceService; - private itemHelper; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected ragfairServerHelper: RagfairServerHelper; + protected saveServer: SaveServer; + protected presetHelper: PresetHelper; + protected ragfairAssortGenerator: RagfairAssortGenerator; + protected ragfairOfferService: RagfairOfferService; + protected ragfairPriceService: RagfairPriceService; + protected fenceService: FenceService; + protected itemHelper: ItemHelper; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; - private getTraderId; - private getRating; - private getRatingGrowing; - private getOfferEndTime; + protected getTraderId(userID: string): string; + protected getRating(userID: string): number; + protected getRatingGrowing(userID: string): boolean; + protected getOfferEndTime(userID: string, time: number): number; /** * Create multiple offers for items by using a unique list of items we've generated previously * @param expiredOffers */ generateDynamicOffers(expiredOffers?: Item[]): void; generateTraderOffers(traderID: string): void; - private getItemCondition; - private addMissingCondition; - private getOfferRequirements; + protected getItemCondition(userID: string, items: Item[], itemDetails: ITemplateItem): Item[]; + protected addMissingCondition(item: Item): Item; + protected getOfferRequirements(items: Item[]): { + count: number; + _tpl: string; + }[]; /** * Create a flea offer and store it in the Ragfair server offers array */ diff --git a/Ereshkigal-AkiConfig/types/generators/WeatherGenerator.d.ts b/Ereshkigal-AkiConfig/types/generators/WeatherGenerator.d.ts index b9faa3a..44cecbb 100644 --- a/Ereshkigal-AkiConfig/types/generators/WeatherGenerator.d.ts +++ b/Ereshkigal-AkiConfig/types/generators/WeatherGenerator.d.ts @@ -1,19 +1,33 @@ import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { ConfigServer } from "../servers/ConfigServer"; import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class WeatherGenerator { - private weightedRandomHelper; - private randomUtil; - private timeUtil; - private configServer; - private weatherConfig; + protected weightedRandomHelper: WeightedRandomHelper; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected configServer: ConfigServer; + protected weatherConfig: IWeatherConfig; constructor(weightedRandomHelper: WeightedRandomHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); calculateTime(data: IWeatherData): IWeatherData; + /** + * Get server uptime seconds multiplied by a multiplier and add to current time as seconds + * Format to BSGs requirements + * @param computedDate current date + * @returns formatted time + */ + protected getAcceleratedTime(computedDate: Date): string; + /** + * Get current time formatted to fit BSGs requirement + * @param computedDate + * @returns + */ + protected getNormalTime(computedDate: Date): string; generateWeather(data: IWeatherData): IWeatherData; - private getWeightedFog; - private getWeightedRain; - private getRandomFloat; - private getRandomInt; + protected getWeightedFog(): string; + protected getWeightedRain(): number; + protected getRandomFloat(node: string): number; + protected getRandomInt(node: string): number; } diff --git a/Ereshkigal-AkiConfig/types/helpers/AssortHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/AssortHelper.d.ts index 33cb5c6..15586b9 100644 --- a/Ereshkigal-AkiConfig/types/helpers/AssortHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/AssortHelper.d.ts @@ -5,12 +5,32 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { ItemHelper } from "./ItemHelper"; import { QuestHelper } from "./QuestHelper"; export declare class AssortHelper { - private logger; - private itemHelper; - private databaseServer; - private questHelper; + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, questHelper: QuestHelper); + /** + * Remove assorts from a trader that have not been unlocked yet + * @param pmcProfile player profile + * @param traderId traders id + * @param assort assort items from a trader + * @returns assort items minus locked quest assorts + */ + stripLockedQuestAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort; + /** + * Remove assorts from a trader that have not been unlocked yet + * @param pmcProfile player profile + * @param traderId traders id + * @param assort traders assorts + * @returns traders assorts minus locked loyality assorts + */ + stripLockedLoyaltyAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort; + /** + * Remove an item from an assort + * @param assort assort to modify + * @param itemID item id to remove from asort + * @returns Modified assort + */ removeItemFromAssort(assort: ITraderAssort, itemID: string): ITraderAssort; - stripQuestAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort; - stripLoyaltyAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort; } diff --git a/Ereshkigal-AkiConfig/types/helpers/BotGeneratorHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/BotGeneratorHelper.d.ts index 141f71d..e4b0c11 100644 --- a/Ereshkigal-AkiConfig/types/helpers/BotGeneratorHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/BotGeneratorHelper.d.ts @@ -1,8 +1,9 @@ import { DurabilityLimitsHelper } from "../helpers/DurabilityLimitsHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { Mods, ModsChances } from "../models/eft/common/tables/IBotType"; -import { Item, Upd } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { Item, Repairable, Upd } from "../models/eft/common/tables/IItem"; +import { Grid, ITemplateItem, Slot } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -12,20 +13,50 @@ import { RandomUtil } from "../utils/RandomUtil"; import { ContainerHelper } from "./ContainerHelper"; import { InventoryHelper } from "./InventoryHelper"; import { ItemHelper } from "./ItemHelper"; +import { ProbabilityHelper } from "./ProbabilityHelper"; export declare class BotGeneratorHelper { - private logger; - private jsonUtil; - private hashUtil; - private randomUtil; - private databaseServer; - private durabilityLimitsHelper; - private itemHelper; - private inventoryHelper; - private containerHelper; - private configServer; - private botConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer); + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected probabilityHelper: ProbabilityHelper; + protected databaseServer: DatabaseServer; + protected durabilityLimitsHelper: DurabilityLimitsHelper; + protected itemHelper: ItemHelper; + protected inventoryHelper: InventoryHelper; + protected containerHelper: ContainerHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, probabilityHelper: ProbabilityHelper, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer); generateModsForItem(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem, modSpawnChances: ModsChances, isPmc?: boolean): Item[]; + /** + * Get a list of non black-listed cartridges from the PMC bot config + * @param modSlot mod item slot + * @param itemModPool + * @returns string array of cartridges PMCs can use + */ + protected getNonBlacklistedCartridges(modSlot: string, itemModPool: Record): string[]; + /** + * randomly choose if a mod should be spawned, 100% for required mods OR mod is ammo slot + * never return true for an item that has 0% spawn chance + * @param itemSlot slot the item sits in + * @param modSlot slot the mod sits in + * @param modSpawnChances Chances for various mod spawns + * @returns boolean true if it should spawn + */ + protected shouldModBeSpawned(itemSlot: Slot, modSlot: string, modSpawnChances: ModsChances): boolean; + /** + * Get a list of containers that hold ammo + * @returns string array + */ + protected getAmmoContainers(): string[]; + /** + * Get the slot details for an item (chamber/cartridge/slot) + * @param modSlot e.g patron_in_weapon + * @param parentTemplate item template + * @returns + */ + protected getModItemSlot(modSlot: string, parentTemplate: ITemplateItem): Slot; /** * With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines. * Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0. @@ -37,16 +68,50 @@ export declare class BotGeneratorHelper { * @param {string} parentId The CylinderMagazine's UID * @param {object} parentTemplate The CylinderMagazine's template */ - private fillCamora; + protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void; generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { - "upd"?: Upd; + upd?: Upd; }; - private getModTplFromItemDb; + /** + * Create a repairable object for a weapon that containers durability + max durability properties + * @param itemTemplate weapon object being generated for + * @param botRole type of bot being generated for + * @returns Repairable object + */ + protected generateWeaponRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable; + /** + * Create a repairable object for an armor that containers durability + max durability properties + * @param itemTemplate weapon object being generated for + * @param botRole type of bot being generated for + * @returns Repairable object + */ + protected generateArmorRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable; + protected getModTplFromItemDb(modTpl: string, parentSlot: Slot, modSlot: string, items: Item[]): string; + /** + * Sort by spawn chance, highest to lowest, higher is more common + * @param unsortedModArray String array to sort + * @returns Sorted string array + */ + protected sortModArray(unsortedModArray: string[]): string[]; + /** + * Can an item be added to an item without issue + * @param items + * @param tplToCheck + * @param equipmentSlot + * @returns true if possible + */ isItemIncompatibleWithCurrentItems(items: Item[], tplToCheck: string, equipmentSlot: string): boolean; - /** Adds an item with all its childern into specified equipmentSlots, wherever it fits. - * Returns a `boolean` indicating success. */ + /** + * Adds an item with all its childern into specified equipmentSlots, wherever it fits. + * @param equipmentSlots + * @param parentId + * @param parentTpl + * @param itemWithChildren + * @param inventory + * @returns a `boolean` indicating item was added + */ addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: PmcInventory): boolean; - private itemAllowedInContainer; + protected itemAllowedInContainer(slot: Grid, itemTpl: string): boolean; } export declare class ExhaustableArray { private itemPool; diff --git a/Ereshkigal-AkiConfig/types/helpers/BotHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/BotHelper.d.ts index d901362..6b92566 100644 --- a/Ereshkigal-AkiConfig/types/helpers/BotHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/BotHelper.d.ts @@ -1,22 +1,44 @@ import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotHelper { - private logger; - private jsonUtil; - private databaseServer; - private randomUtil; - private configServer; - private botConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, configServer: ConfigServer); getBotDifficultySettings(type: string, difficulty: string): Difficulty; getPmcDifficultySettings(type: string, difficulty: string): Difficulty; + /** + * Randomise the chance the PMC will attack their own side + * @param difficultySettings pmc difficulty settings + */ randomisePmcHostility(difficultySettings: Difficulty): void; isBotPmc(botRole: string): boolean; isBotBoss(botRole: string): boolean; isBotFollower(botRole: string): boolean; + /** + * Add a bot to the FRIENDLY_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typeToAdd bot type to add to friendly list + */ addBotToFriendlyList(difficultySettings: Difficulty, typeToAdd: string): void; + /** + * Add a bot to the ENEMY_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typesToAdd bot type to add to enemy list + */ + addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[], typeBeingEdited: string): void; + /** + * Add a bot to the REVENGE_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typesToAdd bot type to add to revenge list + */ + addBotToRevengeList(difficultySettings: Difficulty, typesToAdd: string[]): void; } diff --git a/Ereshkigal-AkiConfig/types/helpers/ContainerHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/ContainerHelper.d.ts index 34cd1e4..3c2ee93 100644 --- a/Ereshkigal-AkiConfig/types/helpers/ContainerHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/ContainerHelper.d.ts @@ -6,7 +6,7 @@ export declare class FindSlotResult { constructor(success?: boolean, x?: any, y?: any, rotation?: boolean); } export declare class ContainerHelper { - private locateSlot; + protected locateSlot(container2D: number[][], containerX: number, containerY: number, x: number, y: number, itemW: number, itemH: number): boolean; findSlotForItem(container2D: number[][], itemWidth: number, itemHeight: number): FindSlotResult; fillContainerMapWithItem(container2D: number[][], x: number, y: number, itemW: number, itemH: number, rotate: boolean): any; } diff --git a/Ereshkigal-AkiConfig/types/helpers/DialogueHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/DialogueHelper.d.ts index ae1f581..9776c6a 100644 --- a/Ereshkigal-AkiConfig/types/helpers/DialogueHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/DialogueHelper.d.ts @@ -7,12 +7,12 @@ import { ItemHelper } from "./ItemHelper"; import { NotificationSendHelper } from "./NotificationSendHelper"; import { NotifierHelper } from "./NotifierHelper"; export declare class DialogueHelper { - private hashUtil; - private saveServer; - private databaseServer; - private notifierHelper; - private notificationSendHelper; - private itemHelper; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected notifierHelper: NotifierHelper; + protected notificationSendHelper: NotificationSendHelper; + protected itemHelper: ItemHelper; constructor(hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, notificationSendHelper: NotificationSendHelper, itemHelper: ItemHelper); createMessageContext(templateId: string, messageType: MessageType, maxStoreTime: number): MessageContent; addDialogueMessage(dialogueID: string, messageContent: MessageContent, sessionID: string, rewards?: any[]): void; diff --git a/Ereshkigal-AkiConfig/types/helpers/DurabilityLimitsHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/DurabilityLimitsHelper.d.ts index 609bc7d..07a5db1 100644 --- a/Ereshkigal-AkiConfig/types/helpers/DurabilityLimitsHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/DurabilityLimitsHelper.d.ts @@ -1,25 +1,26 @@ import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { RandomUtil } from "../utils/RandomUtil"; import { BotHelper } from "./BotHelper"; export declare class DurabilityLimitsHelper { - private randomUtil; - private botHelper; - private configServer; - private botConfig; + protected randomUtil: RandomUtil; + protected botHelper: BotHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; constructor(randomUtil: RandomUtil, botHelper: BotHelper, configServer: ConfigServer); getRandomisedMaxWeaponDurability(itemTemplate: ITemplateItem, botRole: string): number; getRandomisedMaxArmorDurability(itemTemplate: ITemplateItem, botRole: string): number; getRandomisedWeaponDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; getRandomisedArmorDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; - private generateMaxWeaponDurability; - private generateMaxPmcArmorDurability; - private getLowestMaxWeaponFromConfig; - private getHighestMaxWeaponDurabilityFromConfig; - private generateWeaponDurability; - private generateArmorDurability; - private getMinWeaponDeltaFromConfig; - private getMaxWeaponDeltaFromConfig; - private getMinArmorDeltaFromConfig; - private getMaxArmorDeltaFromConfig; + protected generateMaxWeaponDurability(botRole: string): number; + protected generateMaxPmcArmorDurability(itemMaxDurability: number): number; + protected getLowestMaxWeaponFromConfig(botRole: string): number; + protected getHighestMaxWeaponDurabilityFromConfig(botRole: string): number; + protected generateWeaponDurability(botRole: string, maxDurability: number): number; + protected generateArmorDurability(botRole: string, maxDurability: number): number; + protected getMinWeaponDeltaFromConfig(botRole: string): number; + protected getMaxWeaponDeltaFromConfig(botRole: string): number; + protected getMinArmorDeltaFromConfig(botRole: string): number; + protected getMaxArmorDeltaFromConfig(botRole: string): number; } diff --git a/Ereshkigal-AkiConfig/types/helpers/ExtendedProfileHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/ExtendedProfileHelper.d.ts index 4dd7d3a..d8b754d 100644 --- a/Ereshkigal-AkiConfig/types/helpers/ExtendedProfileHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/ExtendedProfileHelper.d.ts @@ -1,5 +1,5 @@ import { BotGenerator } from "../generators/BotGenerator"; -import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { FenceService } from "../services/FenceService"; @@ -9,14 +9,14 @@ import { Watermark } from "../utils/Watermark"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class ExtendedProfileHelper extends ProfileHelper { - private botGenerator; + protected botGenerator: BotGenerator; constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator); generatePlayerScav(sessionID: string): IPmcData; - private getScavSkills; - private removeSecureContainer; - private getDefaultScavSkills; - private getScavStats; - private getScavLevel; - private getScavExperience; - private setScavCooldownTimer; + protected getScavSkills(sessionID: string): Skills; + protected removeSecureContainer(profile: IPmcData): IPmcData; + protected getDefaultScavSkills(): Skills; + protected getScavStats(sessionID: string): Stats; + protected getScavLevel(sessionID: string): number; + protected getScavExperience(sessionID: string): number; + protected setScavCooldownTimer(profile: IPmcData, pmcData: IPmcData): IPmcData; } diff --git a/Ereshkigal-AkiConfig/types/helpers/GameEventHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/GameEventHelper.d.ts index 8131d31..b2d6377 100644 --- a/Ereshkigal-AkiConfig/types/helpers/GameEventHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/GameEventHelper.d.ts @@ -1,6 +1,6 @@ import { DatabaseServer } from "../servers/DatabaseServer"; export declare class GameEventHelper { - private databaseServer; + protected databaseServer: DatabaseServer; constructor(databaseServer: DatabaseServer); get EVENT(): Record; get christmasEventItems(): string[]; diff --git a/Ereshkigal-AkiConfig/types/helpers/GameHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/GameHelper.d.ts new file mode 100644 index 0000000..fd49e84 --- /dev/null +++ b/Ereshkigal-AkiConfig/types/helpers/GameHelper.d.ts @@ -0,0 +1,11 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class GameHelper { + protected logger: ILogger; + constructor(logger: ILogger); + /** + * Remove condition conters no longer used + * @param pmcProfile profile to remove old counters from + */ + removeDanglingConditionCounters(pmcProfile: IPmcData): void; +} diff --git a/Ereshkigal-AkiConfig/types/helpers/HandbookHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/HandbookHelper.d.ts index aed6984..b47d466 100644 --- a/Ereshkigal-AkiConfig/types/helpers/HandbookHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/HandbookHelper.d.ts @@ -9,7 +9,7 @@ export declare class LookupCollection { constructor(); } export declare class HandbookHelper { - private lookup; + protected lookup: LookupCollection; hydrateLookup(lookup: LookupCollection): void; getTemplatePrice(x: string): number; templatesWithParent(x: string): string[]; diff --git a/Ereshkigal-AkiConfig/types/helpers/HealthHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/HealthHelper.d.ts index bb160a3..518c23f 100644 --- a/Ereshkigal-AkiConfig/types/helpers/HealthHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/HealthHelper.d.ts @@ -1,23 +1,27 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHealthConfig } from "../models/spt/config/IHealthConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class HealthHelper { - private jsonUtil; - private logger; - private timeUtil; - private saveServer; - private configServer; - private healthConfig; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected configServer: ConfigServer; + protected healthConfig: IHealthConfig; constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); resetVitality(sessionID: string): IAkiProfile; saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; - private saveHealth; - private saveEffects; - private addEffect; - private isEmpty; + protected saveHealth(pmcData: IPmcData, sessionID: string): void; + protected saveEffects(pmcData: IPmcData, sessionID: string): void; + protected addEffect(pmcData: IPmcData, sessionID: string, effect: { + bodyPart: string; + effectType: string; + }): void; + protected isEmpty(map: any): boolean; } diff --git a/Ereshkigal-AkiConfig/types/helpers/HideoutHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/HideoutHelper.d.ts index d6a4414..76b337f 100644 --- a/Ereshkigal-AkiConfig/types/helpers/HideoutHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/HideoutHelper.d.ts @@ -1,10 +1,12 @@ -import { IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; +import { Common, HideoutArea, IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; +import { Upd } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { StageBonus } from "../models/eft/hideout/IHideoutArea"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -17,26 +19,26 @@ import { TimeUtil } from "../utils/TimeUtil"; import { InventoryHelper } from "./InventoryHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class HideoutHelper { - private logger; - private hashUtil; - private timeUtil; - private randomUtil; - private databaseServer; - private itemEventRouter; - private httpResponse; - private profileHelper; - private inventoryHelper; - private playerService; - private configServer; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected inventoryHelper: InventoryHelper; + protected playerService: PlayerService; + protected configServer: ConfigServer; static BITCOIN_FARM: string; - private WATER_COLLECTOR; - private BITCOIN; - private EXPEDITIONARY_FUEL_TANK; + protected WATER_COLLECTOR: string; + protected BITCOIN: string; + protected EXPEDITIONARY_FUEL_TANK: string; static NAME_BACKENDCOUNTERS_CRAFTING: string; static SKILL_NAME_HIDEOUT: string; static HOUR_FOR_SKILL_CRAFTING: number; static SKILL_NAME_CRAFITING: string; - private hideoutConfig; + protected hideoutConfig: IHideoutConfig; constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, inventoryHelper: InventoryHelper, playerService: PlayerService, configServer: ConfigServer); registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; /** @@ -46,20 +48,20 @@ export declare class HideoutHelper { initProduction(recipeId: string, productionTime: number): Production; isProductionType(productive: Productive): productive is Production; applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void; - private applySkillXPBoost; + protected applySkillXPBoost(pmcData: IPmcData, bonus: StageBonus): void; updatePlayerHideout(sessionID: string): void; - private updateWaterCollector; - private doesWaterCollectorHaveFilter; - private updateFuel; - private updateWaterFilters; - private getAreaUpdObject; - private updateAirFilters; - private updateBitcoinFarm; - private getBTCSlots; - private getManagementSkillsSlots; - private hasManagementSkillSlots; - private getHideoutManagementSkill; - private getHideoutManagementConsumptionBonus; + protected updateWaterCollector(sessionId: string, pmcData: IPmcData, area: HideoutArea, isGeneratorOn: boolean): void; + protected doesWaterCollectorHaveFilter(waterCollector: HideoutArea): boolean; + protected updateFuel(generatorArea: HideoutArea, pmcData: IPmcData): HideoutArea; + protected updateWaterFilters(waterFilterArea: HideoutArea, pwProd: Production, isGeneratorOn: boolean, pmcData: IPmcData): HideoutArea; + protected getAreaUpdObject(stackCount: number, resourceValue: number, resourceUnitsConsumed: number): Upd; + protected updateAirFilters(airFilterArea: HideoutArea, pmcData: IPmcData): HideoutArea; + protected updateBitcoinFarm(pmcData: IPmcData, btcFarmCGs: number, isGeneratorOn: boolean): Production; + protected getBTCSlots(pmcData: IPmcData): number; + protected getManagementSkillsSlots(): number; + protected hasManagementSkillSlots(pmcData: IPmcData): boolean; + protected getHideoutManagementSkill(pmcData: IPmcData): Common; + protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number; isProduction(productive: Productive): productive is Production; getBTC(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; getRandomAmountRewardForScavCase(itemToCalculate: ITemplateItem): number; diff --git a/Ereshkigal-AkiConfig/types/helpers/HttpServerHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/HttpServerHelper.d.ts index 2e40814..c6e5296 100644 --- a/Ereshkigal-AkiConfig/types/helpers/HttpServerHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/HttpServerHelper.d.ts @@ -1,8 +1,19 @@ +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ConfigServer } from "../servers/ConfigServer"; export declare class HttpServerHelper { - private configServer; - private httpConfig; - private mime; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + protected mime: { + css: string; + bin: string; + html: string; + jpg: string; + js: string; + json: string; + png: string; + svg: string; + txt: string; + }; constructor(configServer: ConfigServer); getMimeText(key: string): string; buildUrl(): string; diff --git a/Ereshkigal-AkiConfig/types/helpers/InRaidHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/InRaidHelper.d.ts index e79d384..05b6fdf 100644 --- a/Ereshkigal-AkiConfig/types/helpers/InRaidHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/InRaidHelper.d.ts @@ -8,15 +8,15 @@ import { JsonUtil } from "../utils/JsonUtil"; import { InventoryHelper } from "./InventoryHelper"; import { PaymentHelper } from "./PaymentHelper"; export declare class InRaidHelper { - private logger; - private saveServer; - private jsonUtil; - private databaseServer; - private inventoryHelper; - private paymentHelper; + protected logger: ILogger; + protected saveServer: SaveServer; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected inventoryHelper: InventoryHelper; + protected paymentHelper: PaymentHelper; constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); - private removePlayer; - private removeMapAccessKey; + protected removePlayer(sessionID: string): void; + protected removeMapAccessKey(offraidData: ISaveProgressRequestData, sessionID: string): void; addUpdToMoneyFromRaid(items: Item[]): void; /** * Add positive karma for PMC kills diff --git a/Ereshkigal-AkiConfig/types/helpers/InventoryHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/InventoryHelper.d.ts index 00e95d3..dc7cbca 100644 --- a/Ereshkigal-AkiConfig/types/helpers/InventoryHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/InventoryHelper.d.ts @@ -5,6 +5,7 @@ import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMe import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInventoryConfig } from "../models/spt/config/IInventoryConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -25,26 +26,26 @@ export interface OwnerInventoryItems { isMail: boolean; } export declare class InventoryHelper { - private logger; - private jsonUtil; - private hashUtil; - private httpResponse; - private fenceService; - private databaseServer; - private paymentHelper; - private traderAssortHelper; - private dialogueHelper; - private itemHelper; - private containerHelper; - private profileHelper; - private configServer; - private inventoryConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected httpResponse: HttpResponseUtil; + protected fenceService: FenceService; + protected databaseServer: DatabaseServer; + protected paymentHelper: PaymentHelper; + protected traderAssortHelper: TraderAssortHelper; + protected dialogueHelper: DialogueHelper; + protected itemHelper: ItemHelper; + protected containerHelper: ContainerHelper; + protected profileHelper: ProfileHelper; + protected configServer: ConfigServer; + protected inventoryConfig: IInventoryConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, httpResponse: HttpResponseUtil, fenceService: FenceService, databaseServer: DatabaseServer, paymentHelper: PaymentHelper, traderAssortHelper: TraderAssortHelper, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, containerHelper: ContainerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; getItemSize(itemTpl: string, itemID: string, inventoryItem: Item[]): Record; - private getSizeByInventoryItemHash; - private getInventoryItemHash; + protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): Record; + protected getInventoryItemHash(inventoryItem: Item[]): InventoryHelper.InventoryItemHash; getContainerMap(containerW: number, containerH: number, itemList: Item[], containerId: string): number[][]; /** * Based on the item action, determine whose inventories we should be looking at for from and to. @@ -56,9 +57,9 @@ export declare class InventoryHelper { * @param {string} sessionID * @returns Array */ - private getStashSlotMap; - private getStashType; - private getPlayerStashSize; + protected getStashSlotMap(pmcData: IPmcData, sessionID: string): number[][]; + protected getStashType(sessionID: string): string; + protected getPlayerStashSize(sessionID: string): Record; /** * Internal helper function to transfer an item from one profile to another. * fromProfileData: Profile of the source. @@ -73,5 +74,12 @@ export declare class InventoryHelper { /** * Internal helper function to handle cartridges in inventory if any of them exist. */ - private handleCartridges; + protected handleCartridges(items: Item[], body: IInventoryMoveRequestData): void; } +declare namespace InventoryHelper { + interface InventoryItemHash { + byItemId: Record; + byParentId: Record; + } +} +export {}; diff --git a/Ereshkigal-AkiConfig/types/helpers/ItemHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/ItemHelper.d.ts index 5ff64b6..70c88d6 100644 --- a/Ereshkigal-AkiConfig/types/helpers/ItemHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/ItemHelper.d.ts @@ -1,15 +1,15 @@ import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem, StackSlot } from "../models/eft/common/tables/ITemplateItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; declare class ItemHelper { - private logger; - private hashUtil; - private jsonUtil; - private databaseServer; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer); /** * Checks if a id is a valid item. Valid meaning that it's an item that be stored in stash @@ -82,7 +82,7 @@ declare class ItemHelper { * @param {string} parentId The id of the AmmoBox instance these StackSlotItems should be children of * @returns {array} The array of StackSlotItems */ - generateStackSlotItems(item: ITemplateItem, parentId: string): StackSlot[]; + generateItemsFromStackSlot(item: ITemplateItem, parentId: string): Item[]; getItem(tpl: string): [boolean, ITemplateItem]; getItemQualityModifier(item: Item): number; findAndReturnChildrenByItems(items: Item[], itemID: string): string[]; diff --git a/Ereshkigal-AkiConfig/types/helpers/NotificationSendHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/NotificationSendHelper.d.ts index b9298da..34e62d9 100644 --- a/Ereshkigal-AkiConfig/types/helpers/NotificationSendHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/NotificationSendHelper.d.ts @@ -2,8 +2,8 @@ import { INotification } from "../models/eft/notifier/INotifier"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { NotificationService } from "../services/NotificationService"; export declare class NotificationSendHelper { - private httpServer; - private notificationService; + protected httpServer: IHttpServer; + protected notificationService: NotificationService; constructor(httpServer: IHttpServer, notificationService: NotificationService); /** * Send notification message to the appropiate channel diff --git a/Ereshkigal-AkiConfig/types/helpers/NotifierHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/NotifierHelper.d.ts index 0d524e9..738b69a 100644 --- a/Ereshkigal-AkiConfig/types/helpers/NotifierHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/NotifierHelper.d.ts @@ -2,11 +2,11 @@ import { INotification } from "../models/eft/notifier/INotifier"; import { Message, MessageContentRagfair } from "../models/eft/profile/IAkiProfile"; import { HttpServerHelper } from "./HttpServerHelper"; export declare class NotifierHelper { - private httpServerHelper; + protected httpServerHelper: HttpServerHelper; /** * The default notification sent when waiting times out. */ - private defaultNotification; + protected defaultNotification: INotification; constructor(httpServerHelper: HttpServerHelper); getDefaultNotification(): INotification; /** Creates a new notification that displays the "Your offer was sold!" prompt and removes sold offer from "My Offers" on clientside */ diff --git a/Ereshkigal-AkiConfig/types/helpers/PresetHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/PresetHelper.d.ts index 0a24128..0371886 100644 --- a/Ereshkigal-AkiConfig/types/helpers/PresetHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/PresetHelper.d.ts @@ -1,8 +1,8 @@ import { Preset } from "../models/eft/common/IGlobals"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PresetHelper { - private databaseServer; - private lookup; + protected databaseServer: DatabaseServer; + protected lookup: Record; constructor(databaseServer: DatabaseServer); hydratePresetStore(input: Record): void; isPreset(id: string): boolean; diff --git a/Ereshkigal-AkiConfig/types/helpers/ProbabilityHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/ProbabilityHelper.d.ts new file mode 100644 index 0000000..7a0676c --- /dev/null +++ b/Ereshkigal-AkiConfig/types/helpers/ProbabilityHelper.d.ts @@ -0,0 +1,14 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class ProbabilityHelper { + protected logger: ILogger; + protected randomUtil: RandomUtil; + constructor(logger: ILogger, randomUtil: RandomUtil); + /** + * Chance to roll a number out of 100 + * @param chance Percentage chance roll should success + * @param scale scale of chance to allow support of numbers > 1-100 + * @returns true if success + */ + rollChance(chance: number, scale?: number): boolean; +} diff --git a/Ereshkigal-AkiConfig/types/helpers/ProfileHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/ProfileHelper.d.ts index 508443c..6a64291 100644 --- a/Ereshkigal-AkiConfig/types/helpers/ProfileHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/ProfileHelper.d.ts @@ -28,6 +28,6 @@ export declare class ProfileHelper { getPmcProfile(sessionID: string): IPmcData; getScavProfile(sessionID: string): IPmcData; getDefaultCounters(): Stats; - private isWiped; - private getServerVersion; + protected isWiped(sessionID: string): boolean; + protected getServerVersion(): string; } diff --git a/Ereshkigal-AkiConfig/types/helpers/QuestConditionHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/QuestConditionHelper.d.ts index 2a0ee94..90ee560 100644 --- a/Ereshkigal-AkiConfig/types/helpers/QuestConditionHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/QuestConditionHelper.d.ts @@ -3,5 +3,5 @@ export declare class QuestConditionHelper { getQuestConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLevelConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLoyaltyConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; - private filterConditions; + protected filterConditions(q: AvailableForConditions[], questType: string, furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; } diff --git a/Ereshkigal-AkiConfig/types/helpers/QuestHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/QuestHelper.d.ts index 9e2dd5e..04ede16 100644 --- a/Ereshkigal-AkiConfig/types/helpers/QuestHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/QuestHelper.d.ts @@ -3,6 +3,7 @@ import { AvailableForConditions, AvailableForProps, IQuest, Reward } from "../mo import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -17,20 +18,20 @@ import { ProfileHelper } from "./ProfileHelper"; import { RagfairServerHelper } from "./RagfairServerHelper"; import { TraderHelper } from "./TraderHelper"; export declare class QuestHelper { - private logger; - private jsonUtil; - private timeUtil; - private hashUtil; - private itemHelper; - private itemEventRouter; - private databaseServer; - private ragfairServerHelper; - private dialogueHelper; - private profileHelper; - private paymentHelper; - private traderHelper; - private configServer; - private questConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected timeUtil: TimeUtil; + protected hashUtil: HashUtil; + protected itemHelper: ItemHelper; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected ragfairServerHelper: RagfairServerHelper; + protected dialogueHelper: DialogueHelper; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected traderHelper: TraderHelper; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); static get STATUS(): Record; questStatus(pmcData: IPmcData, questID: string): string; @@ -47,7 +48,7 @@ export declare class QuestHelper { */ dumpQuests(quests: any, label?: any): void; loyaltyRequirementCheck(loyaltyRequirementProperties: AvailableForProps, profile: IPmcData): boolean; - private processReward; + protected processReward(reward: Reward): any[]; getQuestRewardItems(quest: IQuest, state: string): Reward[]; addQuestToPMCData(pmcData: IPmcData, quest: Quest, newState: string, acceptedQuest: IAcceptQuestRequestData): void; acceptedUnlocked(acceptedQuestId: string, sessionID: string): IQuest[]; @@ -56,13 +57,30 @@ export declare class QuestHelper { changeItemStack(pmcData: IPmcData, id: string, value: number, sessionID: string, output: any): void; /** * Get List of All Quests as an array + * @returns Array of IQuest objects */ questValues(): IQuest[]; - private cleanQuestList; + /** + * Reest AvailableForStart conditions for quests + * @param quests queststo clean + * @returns quest array without conditions + */ + protected cleanQuestList(quests: IQuest[]): IQuest[]; + /** + * Reset AvailableForStart conditions on a quest + * @param quest quest to clean + * @returns reset IQuest object + */ cleanQuestConditions(quest: IQuest): IQuest; failQuest(pmcData: IPmcData, body: any, sessionID: string): any; getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; getQuestLocaleIdFromDb(messageId: string, localisation?: string): string; - applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): any[]; + applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): Reward[]; + /** + * Get the intel center bonus a player has + * @param pmcData player profile + * @returns bonus in percent + */ + protected getIntelCenterRewardBonus(pmcData: IPmcData): number; getFindItemIdForQuestItem(itemTpl: string): string; } diff --git a/Ereshkigal-AkiConfig/types/helpers/RagfairHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/RagfairHelper.d.ts index 8e70bcd..2c8dbb5 100644 --- a/Ereshkigal-AkiConfig/types/helpers/RagfairHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/RagfairHelper.d.ts @@ -2,6 +2,7 @@ import { Item } from "../models/eft/common/tables/IItem"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -12,16 +13,16 @@ import { ItemHelper } from "./ItemHelper"; import { TraderAssortHelper } from "./TraderAssortHelper"; import { UtilityHelper } from "./UtilityHelper"; export declare class RagfairHelper { - private logger; - private jsonUtil; - private traderAssortHelper; - private databaseServer; - private handbookHelper; - private itemHelper; - private ragfairLinkedItemService; - private utilityHelper; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected traderAssortHelper: TraderAssortHelper; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected itemHelper: ItemHelper; + protected ragfairLinkedItemService: RagfairLinkedItemService; + protected utilityHelper: UtilityHelper; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, traderAssortHelper: TraderAssortHelper, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, ragfairLinkedItemService: RagfairLinkedItemService, utilityHelper: UtilityHelper, configServer: ConfigServer); /** * Gets currency TAG from TPL @@ -31,7 +32,7 @@ export declare class RagfairHelper { getCurrencyTag(currency: string): string; filterCategories(sessionID: string, info: ISearchRequestData): string[]; getDisplayableAssorts(sessionID: string): Record; - private getCategoryList; + protected getCategoryList(handbookId: string): string[]; countCategories(result: IGetOffersResult): void; /** * Merges Root Items @@ -39,5 +40,4 @@ export declare class RagfairHelper { */ mergeStackable(items: Item[]): Item[]; getCurrencySymbol(currencyTpl: string): string; - formatCurrency(moneyAmount: number): string; } diff --git a/Ereshkigal-AkiConfig/types/helpers/RagfairOfferHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/RagfairOfferHelper.d.ts index 3bf8add..129bc1c 100644 --- a/Ereshkigal-AkiConfig/types/helpers/RagfairOfferHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/RagfairOfferHelper.d.ts @@ -1,7 +1,10 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -19,31 +22,31 @@ import { RagfairHelper } from "./RagfairHelper"; import { RagfairServerHelper } from "./RagfairServerHelper"; import { RagfairSortHelper } from "./RagfairSortHelper"; export declare class RagfairOfferHelper { - private logger; - private timeUtil; - private hashUtil; - private itemEventRouter; - private databaseServer; - private saveServer; - private dialogueHelper; - private itemHelper; - private paymentHelper; - private presetHelper; - private profileHelper; - private ragfairServerHelper; - private ragfairSortHelper; - private ragfairHelper; - private ragfairOfferService; - private configServer; - private static TPL_GOODS_SOLD; - private ragfairConfig; - private questConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected hashUtil: HashUtil; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected dialogueHelper: DialogueHelper; + protected itemHelper: ItemHelper; + protected paymentHelper: PaymentHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected ragfairSortHelper: RagfairSortHelper; + protected ragfairHelper: RagfairHelper; + protected ragfairOfferService: RagfairOfferService; + protected configServer: ConfigServer; + protected static TPL_GOODS_SOLD: string; + protected ragfairConfig: IRagfairConfig; + protected questConfig: IQuestConfig; constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); getValidOffers(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; getOffersForBuild(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; processOffers(sessionID: string): boolean; - private getProfileOffers; - private deleteOfferByOfferId; - private completeOffer; + protected getProfileOffers(sessionID: string): IRagfairOffer[]; + protected deleteOfferByOfferId(sessionID: string, offerId: string): void; + protected completeOffer(sessionID: string, offer: IRagfairOffer, boughtAmount: number): IItemEventRouterResponse; isDisplayableOffer(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, offer: IRagfairOffer, pmcProfile: IPmcData): boolean; } diff --git a/Ereshkigal-AkiConfig/types/helpers/RagfairSellHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/RagfairSellHelper.d.ts index 929d112..6ec004a 100644 --- a/Ereshkigal-AkiConfig/types/helpers/RagfairSellHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/RagfairSellHelper.d.ts @@ -1,14 +1,15 @@ import { SellResult } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairSellHelper { - private logger; - private randomUtil; - private timeUtil; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); calculateSellChance(baseChance: number, offerPrice: number, requirementsPriceInRub: number): number; rollForSale(sellChance: number, count: number): SellResult[]; diff --git a/Ereshkigal-AkiConfig/types/helpers/RagfairServerHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/RagfairServerHelper.d.ts index d29ba42..2cb3ea5 100644 --- a/Ereshkigal-AkiConfig/types/helpers/RagfairServerHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/RagfairServerHelper.d.ts @@ -1,6 +1,8 @@ import { MemberCategory } from "../models/enums/MemberCategory"; import { Item } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; @@ -11,18 +13,18 @@ import { DialogueHelper } from "./DialogueHelper"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class RagfairServerHelper { - private randomUtil; - private hashUtil; - private saveServer; - private databaseServer; - private profileHelper; - private itemHelper; - private dialogueHelper; - private jsonUtil; - private configServer; - private ragfairConfig; - private questConfig; - private static TPL_GOODS_RETURNED; + protected randomUtil: RandomUtil; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected profileHelper: ProfileHelper; + protected itemHelper: ItemHelper; + protected dialogueHelper: DialogueHelper; + protected jsonUtil: JsonUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + protected questConfig: IQuestConfig; + protected static TPL_GOODS_RETURNED: string; constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); /** * Is item valid / on blacklist / quest item @@ -30,7 +32,7 @@ export declare class RagfairServerHelper { * @returns boolean */ isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean; - private isItemBlacklisted; + protected isItemBlacklisted(itemTemplateId: string): boolean; isTrader(userID: string): boolean; isPlayer(userID: string): boolean; returnItems(sessionID: string, items: any[]): void; diff --git a/Ereshkigal-AkiConfig/types/helpers/RagfairSortHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/RagfairSortHelper.d.ts index e9d8069..e983569 100644 --- a/Ereshkigal-AkiConfig/types/helpers/RagfairSortHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/RagfairSortHelper.d.ts @@ -1,12 +1,12 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class RagfairSortHelper { - private databaseServer; + protected databaseServer: DatabaseServer; constructor(databaseServer: DatabaseServer); sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; - private sortOffersByID; - private sortOffersByRating; - private sortOffersByName; - private sortOffersByPrice; - private sortOffersByExpiry; + protected sortOffersByID(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByRating(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByName(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByPrice(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByExpiry(a: IRagfairOffer, b: IRagfairOffer): number; } diff --git a/Ereshkigal-AkiConfig/types/helpers/RagfairTaxHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/RagfairTaxHelper.d.ts index e87334f..820facb 100644 --- a/Ereshkigal-AkiConfig/types/helpers/RagfairTaxHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/RagfairTaxHelper.d.ts @@ -1,15 +1,16 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { DatabaseServer } from "../servers/DatabaseServer"; import { RagfairPriceService } from "../services/RagfairPriceService"; import { ItemHelper } from "./ItemHelper"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class RagfairTaxHelper { - private logger; - private databaseServer; - private ragfairPriceService; - private itemHelper; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected ragfairPriceService: RagfairPriceService; + protected itemHelper: ItemHelper; constructor(logger: ILogger, databaseServer: DatabaseServer, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper); calculateTax(item: Item, pmcData: IPmcData, requirementsValue: number, offerItemCount: number, sellInOnePiece: boolean): number; - private calculateItemWorth; + protected calculateItemWorth(item: Item, itemTemplate: ITemplateItem, itemCount: number, pmcData: IPmcData, isRootItem?: boolean): number; } diff --git a/Ereshkigal-AkiConfig/types/helpers/RepairHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/RepairHelper.d.ts index 47123e1..545108e 100644 --- a/Ereshkigal-AkiConfig/types/helpers/RepairHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/RepairHelper.d.ts @@ -1,20 +1,21 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem"; +import { IRepairConfig } from "../models/spt/config/IRepairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class RepairHelper { - private logger; - private jsonUtil; - private randomUtil; - private databaseServer; - private configServer; - private repairConfig; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected repairConfig: IRepairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, configServer: ConfigServer); - updateItemDurability(itemToRepairId: string, amountToRepair: number, pmcData: IPmcData, useRepairKit?: boolean): Item; - private getRandomisedArmorRepairDegredationValue; - private getRandomisedWeaponRepairDegredationValue; + updateItemDurability(itemToRepair: Item, itemToRepairDetails: ITemplateItem, isArmor: boolean, amountToRepair: number, useRepairKit?: boolean): Item; + protected getRandomisedArmorRepairDegredationValue(armorMaterial: string, isRepairKit: boolean, armorMax: number): number; + protected getRandomisedWeaponRepairDegredationValue(itemProps: Props, isRepairKit: boolean, armorMax: number): number; isWeaponTemplate(tpl: string): boolean; } diff --git a/Ereshkigal-AkiConfig/types/helpers/SecureContainerHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/SecureContainerHelper.d.ts index 8f246b6..9e2bc32 100644 --- a/Ereshkigal-AkiConfig/types/helpers/SecureContainerHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/SecureContainerHelper.d.ts @@ -7,7 +7,7 @@ export interface OwnerInventoryItems { isMail: boolean; } export declare class SecureContainerHelper { - private itemHelper; + protected itemHelper: ItemHelper; constructor(itemHelper: ItemHelper); getSecureContainerItems(items: Item[]): string[]; } diff --git a/Ereshkigal-AkiConfig/types/helpers/TradeHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/TradeHelper.d.ts index 475390b..975062b 100644 --- a/Ereshkigal-AkiConfig/types/helpers/TradeHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/TradeHelper.d.ts @@ -2,7 +2,7 @@ import { InventoryHelper } from "../helpers/InventoryHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; -import { Upd } from "../models/eft/common/tables/IItem"; +import { Item, Upd } from "../models/eft/common/tables/IItem"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; @@ -12,14 +12,14 @@ import { RagfairServer } from "../servers/RagfairServer"; import { FenceService } from "../services/FenceService"; import { PaymentService } from "../services/PaymentService"; export declare class TradeHelper { - private logger; - private itemEventRouter; - private traderHelper; - private itemHelper; - private paymentService; - private fenceService; - private inventoryHelper; - private ragfairServer; + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected traderHelper: TraderHelper; + protected itemHelper: ItemHelper; + protected paymentService: PaymentService; + protected fenceService: FenceService; + protected inventoryHelper: InventoryHelper; + protected ragfairServer: RagfairServer; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer); /** * Buy item from flea or trader @@ -39,6 +39,6 @@ export declare class TradeHelper { * @returns */ sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse; - private incrementAssortBuyCount; - private checkPurchaseIsWithinTraderItemLimit; + protected incrementAssortBuyCount(assortBeingPurchased: Item, itemsPurchasedCount: number): void; + protected checkPurchaseIsWithinTraderItemLimit(assortBeingPurchased: Item, assortId: string, count: number): void; } diff --git a/Ereshkigal-AkiConfig/types/helpers/TraderAssortHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/TraderAssortHelper.d.ts index d95879c..4f41ac2 100644 --- a/Ereshkigal-AkiConfig/types/helpers/TraderAssortHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/TraderAssortHelper.d.ts @@ -1,7 +1,8 @@ -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { ILogger } from "../models/spt/utils/ILogger"; import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { FenceService } from "../services/FenceService"; import { TraderAssortService } from "../services/TraderAssortService"; @@ -9,15 +10,33 @@ import { JsonUtil } from "../utils/JsonUtil"; import { AssortHelper } from "./AssortHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderAssortHelper { - private logger; - private jsonUtil; - private databaseServer; - private profileHelper; - private assortHelper; - private ragfairAssortGenerator; - private ragfairOfferGenerator; - private traderAssortService; - private fenceService; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected profileHelper: ProfileHelper; + protected assortHelper: AssortHelper; + protected ragfairAssortGenerator: RagfairAssortGenerator; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected traderAssortService: TraderAssortService; + protected fenceService: FenceService; constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); + /** + * Get a traders assorts + * Can be used for returning ragfair / fence assorts + * @param sessionId session id + * @param traderId trader id + * @returns a traders assorts + */ getAssort(sessionId: string, traderId: string): ITraderAssort; + /** + * Get an array of pristine trader items prior to any alteration by player + * @param traderId trader id + * @returns array of Items + */ + protected getPristineTraderAssorts(traderId: string): Item[]; + /** + * Returns generated ragfair offers in a trader assort format + * @returns Trader assort object + */ + protected getRagfairDataAsTraderAssort(): ITraderAssort; } diff --git a/Ereshkigal-AkiConfig/types/helpers/TraderHelper.d.ts b/Ereshkigal-AkiConfig/types/helpers/TraderHelper.d.ts index ec64d59..ab4a371 100644 --- a/Ereshkigal-AkiConfig/types/helpers/TraderHelper.d.ts +++ b/Ereshkigal-AkiConfig/types/helpers/TraderHelper.d.ts @@ -1,5 +1,6 @@ import { IPmcData } from "../models/eft/common/IPmcData"; import { IBarterScheme, ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,25 +12,42 @@ import { ItemHelper } from "./ItemHelper"; import { PaymentHelper } from "./PaymentHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderHelper { - private logger; - private databaseServer; - private saveServer; - private profileHelper; - private paymentHelper; - private itemHelper; - private handbookHelper; - private playerService; - private fenceService; - private configServer; - private traderConfig; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemHelper: ItemHelper; + protected handbookHelper: HandbookHelper; + protected playerService: PlayerService; + protected fenceService: FenceService; + protected configServer: ConfigServer; + protected traderConfig: ITraderConfig; constructor(logger: ILogger, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemHelper: ItemHelper, handbookHelper: HandbookHelper, playerService: PlayerService, fenceService: FenceService, configServer: ConfigServer); getTrader(traderID: string, sessionID: string): ITraderBase; getTraderAssortsById(traderId: string): ITraderAssort; + /** + * Reset a trader back to its initial state as seen by a level 1 player + * Does NOT take into account different profile levels + * @param sessionID session id + * @param traderID trader id to reset + */ resetTrader(sessionID: string, traderID: string): void; changeTraderDisplay(traderID: string, status: boolean, sessionID: string): void; getPurchasesData(traderID: string, sessionID: string): Record; + /** + * Calculate traders level based on exp amount and increment level if over threshold + * @param traderID trader to process + * @param sessionID session id + */ lvlUp(traderID: string, sessionID: string): void; getTraderUpdateSeconds(traderId: string): number; + /** + * check if an item is allowed to be sold to a trader + * @param traderFilters array of allowed categories + * @param tplToCheck itemTpl of inventory + * @returns boolean + */ traderFilter(traderFilters: string[], tplToCheck: string): boolean; getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel; } diff --git a/Ereshkigal-AkiConfig/types/loaders/BundleLoader.d.ts b/Ereshkigal-AkiConfig/types/loaders/BundleLoader.d.ts index 4f7664c..06ad698 100644 --- a/Ereshkigal-AkiConfig/types/loaders/BundleLoader.d.ts +++ b/Ereshkigal-AkiConfig/types/loaders/BundleLoader.d.ts @@ -10,10 +10,10 @@ declare class BundleInfo { constructor(modpath: string, bundle: any, bundlePath: string, bundleFilepath: string); } export declare class BundleLoader { - private httpServerHelper; - private vfs; - private jsonUtil; - private bundles; + protected httpServerHelper: HttpServerHelper; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected bundles: Record; constructor(httpServerHelper: HttpServerHelper, vfs: VFS, jsonUtil: JsonUtil); getBundles(local: boolean): BundleInfo[]; getBundle(key: string, local: boolean): BundleInfo; diff --git a/Ereshkigal-AkiConfig/types/loaders/DelayedModLoader.d.ts b/Ereshkigal-AkiConfig/types/loaders/DelayedModLoader.d.ts index 7d0009f..2a05604 100644 --- a/Ereshkigal-AkiConfig/types/loaders/DelayedModLoader.d.ts +++ b/Ereshkigal-AkiConfig/types/loaders/DelayedModLoader.d.ts @@ -1,3 +1,4 @@ +import { DependencyContainer } from "tsyringe"; import { HandbookController } from "../controllers/HandbookController"; import { IModLoader } from "../models/spt/mod/IModLoader"; import { ModCompilerService } from "../services/ModCompilerService"; @@ -5,17 +6,16 @@ import { VFS } from "../utils/VFS"; import { BundleLoader } from "./BundleLoader"; import { InitialModLoader } from "./InitialModLoader"; export declare class DelayedModLoader implements IModLoader { - private bundleLoader; - private handbookController; - private vfs; - private modCompilerService; - private initialModLoader; + protected bundleLoader: BundleLoader; + protected handbookController: HandbookController; + protected vfs: VFS; + protected modCompilerService: ModCompilerService; + protected initialModLoader: InitialModLoader; constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, initialModLoader: InitialModLoader); getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; - getImportedModsNames(): string[]; getModPath(mod: string): string; load(): void; - private executeMods; - private addBundles; + protected executeMods(container: DependencyContainer): void; + protected addBundles(): void; } diff --git a/Ereshkigal-AkiConfig/types/loaders/InitialModLoader.d.ts b/Ereshkigal-AkiConfig/types/loaders/InitialModLoader.d.ts index 5957d35..9a99dcc 100644 --- a/Ereshkigal-AkiConfig/types/loaders/InitialModLoader.d.ts +++ b/Ereshkigal-AkiConfig/types/loaders/InitialModLoader.d.ts @@ -1,5 +1,8 @@ import { DependencyContainer } from "tsyringe"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; +import { ModLoader } from "../models/spt/mod/IMod"; import { IModLoader } from "../models/spt/mod/IModLoader"; +import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { ModCompilerService } from "../services/ModCompilerService"; @@ -7,52 +10,55 @@ import { JsonUtil } from "../utils/JsonUtil"; import { VFS } from "../utils/VFS"; import { BundleLoader } from "./BundleLoader"; export declare class InitialModLoader implements IModLoader { - private logger; - private vfs; - private jsonUtil; - private modCompilerService; - private bundleLoader; - private configServer; - private static container; - private readonly basepath; - private imported; - private onLoad; - private akiConfig; + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected modCompilerService: ModCompilerService; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected static container: DependencyContainer; + protected readonly basepath = "user/mods/"; + protected imported: Record; + protected akiConfig: ICoreConfig; constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, bundleLoader: BundleLoader, configServer: ConfigServer); load(container: DependencyContainer): Promise; getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; + /** + * Returns a list of mods with preserved load order + * @returns Array of mod names in load order + */ getImportedModsNames(): string[]; getModPath(mod: string): string; - private importClass; - private importMods; + protected importClass(name: string, filepath: string, container: DependencyContainer): void; + protected importMods(): Promise; /** * * @param mods Get an array of broken/invalid mods by name * @returns Mod names array */ - private getBrokenMods; + protected getBrokenMods(mods: string[]): string[]; /** * Get packageJson data for mods * @param mods mods to get packageJson for * @returns dictionary */ - private getModsPackageData; + protected getModsPackageData(mods: string[]): Record; /** * Does mod have "delayedLoad(" string in its entry class * @param modFolderName folder name * @param modToValidate package.json details * @returns boolean */ - private isModSpt300Compatible; - private isModCombatibleWithAki; - private executeMods; - private sortModsLoadOrder; - private addMod; - private areModDependenciesFulfilled; - private isModCompatible; - private validMod; - private getLoadOrderRecursive; - private getLoadOrder; + protected isModSpt300Compatible(modFolderName: string, modToValidate: IPackageJsonData): boolean; + protected isModCombatibleWithAki(mod: IPackageJsonData): boolean; + protected executeMods(container: DependencyContainer): void; + sortModsLoadOrder(): string[]; + protected addMod(mod: string): Promise; + protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Record): boolean; + protected isModCompatible(mod: IPackageJsonData, loadedMods: Record): boolean; + protected validMod(mod: string): boolean; + protected getLoadOrderRecursive(mod: string, result: Record, visited: Record): void; + protected getLoadOrder(mods: Record): Record; getContainer(): DependencyContainer; } diff --git a/Ereshkigal-AkiConfig/types/models/eft/common/MemberCategory.d.ts b/Ereshkigal-AkiConfig/types/models/eft/common/MemberCategory.d.ts deleted file mode 100644 index 3bd9a21..0000000 --- a/Ereshkigal-AkiConfig/types/models/eft/common/MemberCategory.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -export declare enum MemberCategory { - Default = 0, - Developer = 1, - UniqueId = 2, - Trader = 4, - Group = 8, - System = 16, - ChatModerator = 32, - ChatModeratorWithPermanentBan = 64, - UnitTest = 128, - Sherpa = 256, - Emissary = 512 -} diff --git a/Ereshkigal-AkiConfig/types/models/eft/common/tables/IMatch.d.ts b/Ereshkigal-AkiConfig/types/models/eft/common/tables/IMatch.d.ts new file mode 100644 index 0000000..c30cb48 --- /dev/null +++ b/Ereshkigal-AkiConfig/types/models/eft/common/tables/IMatch.d.ts @@ -0,0 +1,10 @@ +export interface IMatch { + metrics: Metrics; +} +export interface Metrics { + Keys: number[]; + NetProcessingBins: number[]; + RenderBins: number[]; + GameUpdateBins: number[]; + MemoryMeasureInterval: number; +} diff --git a/Ereshkigal-AkiConfig/types/models/eft/common/tables/ITemplateItem.d.ts b/Ereshkigal-AkiConfig/types/models/eft/common/tables/ITemplateItem.d.ts index c2ba762..934ea7d 100644 --- a/Ereshkigal-AkiConfig/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/Ereshkigal-AkiConfig/types/models/eft/common/tables/ITemplateItem.d.ts @@ -7,284 +7,358 @@ export interface ITemplateItem { _proto: string; } export interface Props { - Name: string; - ShortName: string; - Description: string; - Weight: number; - BackgroundColor: string; - Width: number; - Height: number; - StackMaxSize: number; + Name?: string; + ShortName?: string; + Description?: string; + Weight?: number; + BackgroundColor?: string; + Width?: number; + Height?: number; + StackMaxSize?: number; Rarity?: string; SpawnChance?: number; CreditsPrice?: number; - ItemSound: string; - Prefab: Prefab; - UsePrefab: Prefab; - StackObjectsCount: number; - NotShownInSlot: boolean; - ExaminedByDefault: boolean; - ExamineTime: number; - IsUndiscardable: boolean; - IsUnsaleable: boolean; - IsUnbuyable: boolean; - IsUngivable: boolean; - IsLockedafterEquip: boolean; - QuestItem: boolean; - LootExperience: number; - ExamineExperience: number; - HideEntrails: boolean; - RepairCost: number; - RepairSpeed: number; - ExtraSizeLeft: number; - ExtraSizeRight: number; - ExtraSizeUp: number; - ExtraSizeDown: number; - ExtraSizeForceAdd: boolean; - MergesWithChildren: boolean; - CanSellOnRagfair: boolean; - CanRequireOnRagfair: boolean; - ConflictingItems: string[]; - DiscardLimit: number; - Unlootable: boolean; - UnlootableFromSlot: string; - UnlootableFromSide: string[]; - AnimationVariantsNumber: number; - DiscardingBlock: boolean; - RagFairCommissionModifier: number; - IsAlwaysAvailableForInsurance: boolean; - Grids: Grid[]; - Slots: Slot[]; - CanPutIntoDuringTheRaid: boolean; - CantRemoveFromSlotsDuringRaid: string[]; - weapClass: string; - weapUseType: string; - ammoCaliber: string; - Durability: number; - MaxDurability: number; - OperatingResource: number; - RepairComplexity: number; - durabSpawnMin: number; - durabSpawnMax: number; - isFastReload: boolean; - RecoilForceUp: number; - RecoilForceBack: number; - Convergence: number; - RecoilAngle: number; - weapFireType: string[]; - RecolDispersion: number; - SingleFireRate: number; - CanQueueSecondShot: boolean; - bFirerate: number; - Ergonomics: number; - Velocity: number; - bEffDist: number; - bHearDist: number; - isChamberLoad: boolean; - chamberAmmoCount: number; - isBoltCatch: boolean; - defMagType: string; - defAmmo: string; - AdjustCollimatorsToTrajectory: boolean; - shotgunDispersion: number; - Chambers: Chamber[]; - CameraRecoil: number; - CameraSnap: number; - ReloadMode: string; - CenterOfImpact: number; - AimPlane: number; - DeviationCurve: number; - DeviationMax: number; - Foldable: boolean; - Retractable: boolean; - TacticalReloadStiffnes: Xyz; - TacticalReloadFixation: number; - RecoilCenter: Xyz; - RotationCenter: Xyz; - RotationCenterNoStock: Xyz; - SizeReduceRight: number; - FoldedSlot: string; - CompactHandling: boolean; - SightingRange: number; - MinRepairDegradation: number; - MaxRepairDegradation: number; - MinRepairKitDegradation: number; - MaxRepairKitDegradation: number; - IronSightRange: number; - MustBoltBeOpennedForExternalReload: boolean; - MustBoltBeOpennedForInternalReload: boolean; - BoltAction: boolean; - HipAccuracyRestorationDelay: number; - HipAccuracyRestorationSpeed: number; - HipInnaccuracyGain: number; - ManualBoltCatch: boolean; - BurstShotsCount: number; - BaseMalfunctionChance: number; - AllowJam: boolean; - AllowFeed: boolean; - AllowMisfire: boolean; - AllowSlide: boolean; - DurabilityBurnRatio: number; - HeatFactorGun: number; - CoolFactorGun: number; - CoolFactorGunMods: number; - HeatFactorByShot: number; - AllowOverheat: boolean; - DoubleActionAccuracyPenalty: number; - RecoilPosZMult: number; - ShotgunDispersion: number; - StackMinRandom: number; - StackMaxRandom: number; - StackSlots: StackSlot[]; - SearchSound: string; - BlocksArmorVest: boolean; - RigLayoutName: string; - armorZone: string[]; - armorClass: number; - speedPenaltyPercent: number; - mousePenalty: number; - weaponErgonomicPenalty: number; - BluntThroughput: number; - ArmorMaterial: string; - medUseTime: number; - medEffectType: string; - MaxHpResource: number; - hpResourceRate: number; - StimulatorBuffs: string; - effects_health: EffectsHealth; - effects_damage: EffectsDamage; - knifeHitDelay: number; - knifeHitSlashRate: number; - knifeHitStabRate: number; - knifeHitRadius: number; - knifeHitSlashDam: number; - knifeHitStabDam: number; - knifeDurab: number; - PrimaryDistance: number; - SecondryDistance: number; - SlashPenetration: number; - StabPenetration: number; - PrimaryConsumption: number; - SecondryConsumption: number; - DeflectionConsumption: number; - MaxResource: number; - AppliedTrunkRotation: Xyz; - AppliedHeadRotation: Xyz; - DisplayOnModel: boolean; - AdditionalAnimationLayer: number; - StaminaBurnRate: number; - ColliderScaleMultiplier: Xyz; - ammoType: string; - InitialSpeed: number; - BallisticCoeficient: number; - BulletMassGram: number; - BulletDiameterMilimeters: number; - Damage: number; - ammoAccr: number; - ammoRec: number; - ammoDist: number; - buckshotBullets: number; - PenetrationPower: number; - PenetrationPowerDiviation: number; - ammoHear: number; - ammoSfx: string; - MisfireChance: number; - MinFragmentsCount: number; - MaxFragmentsCount: number; - ammoShiftChance: number; - casingName: string; - casingEjectPower: number; - casingMass: number; - casingSounds: string; - ProjectileCount: number; - PenetrationChance: number; - RicochetChance: number; - FragmentationChance: number; - Deterioration: number; - SpeedRetardation: number; - Tracer: boolean; - TracerColor: string; - TracerDistance: number; - ArmorDamage: number; - Caliber: string; - StaminaBurnPerDamage: number; - HeavyBleedingDelta: number; - LightBleedingDelta: number; - ShowBullet: boolean; - HasGrenaderComponent: boolean; - FuzeArmTimeSec: number; - ExplosionStrength: number; - MinExplosionDistance: number; - MaxExplosionDistance: number; - FragmentsCount: number; - FragmentType: string; - ShowHitEffectOnExplode: boolean; - ExplosionType: string; - AmmoLifeTimeSec: number; - Contusion: Contusion; - ArmorDistanceDistanceDamage: Xyz; - Blindness: Xyz; - IsLightAndSoundShot: boolean; - LightAndSoundShotAngle: number; - LightAndSoundShotSelfContusionTime: number; - LightAndSoundShotSelfContusionStrength: number; - MalfMisfireChance: number; - DurabilityBurnModificator: number; - HeatFactor: number; - MalfFeedChance: number; - Accuracy: number; - Recoil: number; - Loudness: number; - EffectiveDistance: number; - RaidModdable: boolean; - ToolModdable: boolean; - BlocksFolding: boolean; - BlocksCollapsible: boolean; - IsAnimated: boolean; - HasShoulderContact: boolean; - DoubleActionAccuracyPenaltyMult: number; - magAnimationIndex: number; - Cartridges: Cartridge[]; - CanFast: boolean; - CanHit: boolean; - CanAdmin: boolean; - LoadUnloadModifier: number; - CheckTimeModifier: number; - CheckOverride: number; - ReloadMagType: string; - VisibleAmmoRangesString: string; - MalfunctionChance: number; - TagColor: number; - TagName: string; - MaximumNumberOfUsage: number; - CustomAimPlane: string; - sightModType: string; - aimingSensitivity: number; - SightModesCount: number; - OpticCalibrationDistances: number[]; - ScopesCount: number; - AimSensitivity: number[][]; - ModesCount: number[]; - Zooms: number[][]; - CalibrationDistances: number[][]; - Intensity: number; - Mask: string; - MaskSize: number; - NoiseIntensity: number; - NoiseScale: number; - Color: Color; - DiffuseIntensity: number; - HasHinge: boolean; + ItemSound?: string; + Prefab?: Prefab; + UsePrefab?: Prefab; + StackObjectsCount?: number; + NotShownInSlot?: boolean; + ExaminedByDefault?: boolean; + ExamineTime?: number; + IsUndiscardable?: boolean; + IsUnsaleable?: boolean; + IsUnbuyable?: boolean; + IsUngivable?: boolean; + IsLockedafterEquip?: boolean; + QuestItem?: boolean; + LootExperience?: number; + ExamineExperience?: number; + HideEntrails?: boolean; + RepairCost?: number; + RepairSpeed?: number; + ExtraSizeLeft?: number; + ExtraSizeRight?: number; + ExtraSizeUp?: number; + ExtraSizeDown?: number; + ExtraSizeForceAdd?: boolean; + MergesWithChildren?: boolean; + CanSellOnRagfair?: boolean; + CanRequireOnRagfair?: boolean; + ConflictingItems?: string[]; + Unlootable?: boolean; + UnlootableFromSlot?: string; + UnlootableFromSide?: string[]; + AnimationVariantsNumber?: number; + DiscardingBlock?: boolean; + RagFairCommissionModifier?: number; + IsAlwaysAvailableForInsurance?: boolean; + DiscardLimit?: number; + MaxResource?: number; Resource?: number; + DogTagQualities?: boolean; + Grids?: Grid[]; + Slots?: Slot[]; + CanPutIntoDuringTheRaid?: boolean; + CantRemoveFromSlotsDuringRaid?: string[]; + KeyIds?: string[]; + TagColor?: number; + TagName?: string; + Durability?: number; + Accuracy?: number; + Recoil?: number; + Loudness?: number; + EffectiveDistance?: number; + Ergonomics?: number; + Velocity?: number; + RaidModdable?: boolean; + ToolModdable?: boolean; + BlocksFolding?: boolean; + BlocksCollapsible?: boolean; + IsAnimated?: boolean; + HasShoulderContact?: boolean; + SightingRange?: number; + DoubleActionAccuracyPenaltyMult?: number; + ModesCount: any; + DurabilityBurnModificator?: number; + HeatFactor?: number; CoolFactor?: number; + muzzleModType?: string; + CustomAimPlane?: string; + sightModType?: string; + aimingSensitivity?: number; + SightModesCount?: number; + OpticCalibrationDistances?: number[]; + ScopesCount?: number; + AimSensitivity: any; + Zooms?: number[][]; + CalibrationDistances?: number[][]; + Intensity?: number; + Mask?: string; + MaskSize?: number; + NoiseIntensity?: number; + NoiseScale?: number; + Color?: Color; + DiffuseIntensity?: number; + HasHinge?: boolean; + RampPalette?: string; + DepthFade?: number; + RoughnessCoef?: number; + SpecularCoef?: number; + MainTexColorCoef?: number; + MinimumTemperatureValue?: number; + RampShift?: number; + HeatMin?: number; + ColdMax?: number; + IsNoisy?: boolean; + IsFpsStuck?: boolean; + IsGlitch?: boolean; + IsMotionBlurred?: boolean; + IsPixelated?: boolean; + PixelationBlockCount?: number; + ShiftsAimCamera?: number; + magAnimationIndex?: number; + Cartridges?: Slot[]; + CanFast?: boolean; + CanHit?: boolean; + CanAdmin?: boolean; + LoadUnloadModifier?: number; + CheckTimeModifier?: number; + CheckOverride?: number; + ReloadMagType?: string; + VisibleAmmoRangesString?: string; + MalfunctionChance?: number; + IsShoulderContact?: boolean; + Foldable?: boolean; + Retractable?: boolean; + SizeReduceRight?: number; + CenterOfImpact?: number; + ShotgunDispersion?: number; + IsSilencer?: boolean; + DeviationCurve?: number; + DeviationMax?: number; + SearchSound?: string; + BlocksArmorVest?: boolean; + speedPenaltyPercent?: number; + GridLayoutName?: string; + SpawnFilter?: any[]; + containType?: any[]; + sizeWidth?: number; + sizeHeight?: number; + isSecured?: boolean; + spawnTypes?: string; + lootFilter?: any[]; + spawnRarity?: string; + minCountSpawn?: number; + maxCountSpawn?: number; + openedByKeyID?: any[]; + RigLayoutName?: string; + MaxDurability?: number; + armorZone?: string[]; + armorClass: any; + mousePenalty?: number; + weaponErgonomicPenalty?: number; + BluntThroughput?: number; + ArmorMaterial?: string; + weapClass?: string; + weapUseType?: string; + ammoCaliber?: string; + OperatingResource?: number; + RepairComplexity?: number; + durabSpawnMin?: number; + durabSpawnMax?: number; + isFastReload?: boolean; + RecoilForceUp?: number; + RecoilForceBack?: number; + Convergence?: number; + RecoilAngle?: number; + weapFireType?: string[]; + RecolDispersion?: number; + SingleFireRate?: number; + CanQueueSecondShot?: boolean; + bFirerate?: number; + bEffDist?: number; + bHearDist?: number; + isChamberLoad?: boolean; + chamberAmmoCount?: number; + isBoltCatch?: boolean; + defMagType?: string; + defAmmo?: string; + AdjustCollimatorsToTrajectory?: boolean; + shotgunDispersion?: number; + Chambers?: Slot[]; + CameraRecoil?: number; + CameraSnap?: number; + ReloadMode?: string; + AimPlane?: number; + TacticalReloadStiffnes?: Xyz; + TacticalReloadFixation?: number; + RecoilCenter?: Xyz; + RotationCenter?: Xyz; + RotationCenterNoStock?: Xyz; + FoldedSlot?: string; + CompactHandling?: boolean; + MinRepairDegradation?: number; + MaxRepairDegradation?: number; + IronSightRange?: number; + MustBoltBeOpennedForExternalReload?: boolean; + MustBoltBeOpennedForInternalReload?: boolean; + BoltAction?: boolean; + HipAccuracyRestorationDelay?: number; + HipAccuracyRestorationSpeed?: number; + HipInnaccuracyGain?: number; + ManualBoltCatch?: boolean; + BurstShotsCount?: number; + BaseMalfunctionChance?: number; + AllowJam?: boolean; + AllowFeed?: boolean; + AllowMisfire?: boolean; + AllowSlide?: boolean; + DurabilityBurnRatio?: number; + HeatFactorGun?: number; + CoolFactorGun?: number; + CoolFactorGunMods?: number; + HeatFactorByShot?: number; + AllowOverheat?: boolean; + DoubleActionAccuracyPenalty?: number; + RecoilPosZMult?: number; + MinRepairKitDegradation?: number; + MaxRepairKitDegradation?: number; + BlocksEarpiece?: boolean; + BlocksEyewear?: boolean; + BlocksHeadwear?: boolean; + BlocksFaceCover?: boolean; + Indestructibility?: number; + headSegments?: string[]; + FaceShieldComponent?: boolean; + FaceShieldMask?: string; + MaterialType?: string; + RicochetParams?: Xyz; + DeafStrength?: string; + BlindnessProtection?: number; + Distortion?: number; + CompressorTreshold?: number; + CompressorAttack?: number; + CompressorRelease?: number; + CompressorGain?: number; + CutoffFreq?: number; + Resonance?: number; + CompressorVolume?: number; + AmbientVolume?: number; + DryVolume?: number; foodUseTime?: number; foodEffectType?: string; - MaxRepairResource: number; - RepairQuality: number; - RepairType: string; - TargetItemFilter: string[]; - apResource: number; - krResource: number; + StimulatorBuffs?: string; + effects_health: any; + effects_damage: any; + MaximumNumberOfUsage?: number; + knifeHitDelay?: number; + knifeHitSlashRate?: number; + knifeHitStabRate?: number; + knifeHitRadius?: number; + knifeHitSlashDam?: number; + knifeHitStabDam?: number; + knifeDurab?: number; + PrimaryDistance?: number; + SecondryDistance?: number; + SlashPenetration?: number; + StabPenetration?: number; + PrimaryConsumption?: number; + SecondryConsumption?: number; + DeflectionConsumption?: number; + AppliedTrunkRotation?: Xyz; + AppliedHeadRotation?: Xyz; + DisplayOnModel?: boolean; + AdditionalAnimationLayer?: number; + StaminaBurnRate?: number; + ColliderScaleMultiplier?: Xyz; + ConfigPathStr?: string; + MaxMarkersCount?: number; + scaleMin?: number; + scaleMax?: number; + medUseTime?: number; + medEffectType?: string; + MaxHpResource?: number; + hpResourceRate?: number; + apResource?: number; + krResource?: number; + MaxOpticZoom?: number; + MaxRepairResource?: number; + TargetItemFilter?: string[]; + RepairQuality?: number; + RepairType?: string; + StackMinRandom?: number; + StackMaxRandom?: number; + ammoType?: string; + InitialSpeed?: number; + BallisticCoeficient?: number; + BulletMassGram?: number; + BulletDiameterMilimeters?: number; + Damage?: number; + ammoAccr?: number; + ammoRec?: number; + ammoDist?: number; + buckshotBullets?: number; + PenetrationPower?: number; + PenetrationPowerDiviation?: number; + ammoHear?: number; + ammoSfx?: string; + MisfireChance?: number; + MinFragmentsCount?: number; + MaxFragmentsCount?: number; + ammoShiftChance?: number; + casingName?: string; + casingEjectPower?: number; + casingMass?: number; + casingSounds?: string; + ProjectileCount?: number; + PenetrationChance?: number; + RicochetChance?: number; + FragmentationChance?: number; + Deterioration?: number; + SpeedRetardation?: number; + Tracer?: boolean; + TracerColor?: string; + TracerDistance?: number; + ArmorDamage?: number; + Caliber?: string; + StaminaBurnPerDamage?: number; + HeavyBleedingDelta?: number; + LightBleedingDelta?: number; + ShowBullet?: boolean; + HasGrenaderComponent?: boolean; + FuzeArmTimeSec?: number; + ExplosionStrength?: number; + MinExplosionDistance?: number; + MaxExplosionDistance?: number; + FragmentsCount?: number; + FragmentType?: string; + ShowHitEffectOnExplode?: boolean; + ExplosionType?: string; + AmmoLifeTimeSec?: number; + Contusion?: Xyz; + ArmorDistanceDistanceDamage?: Xyz; + Blindness?: Xyz; + IsLightAndSoundShot?: boolean; + LightAndSoundShotAngle?: number; + LightAndSoundShotSelfContusionTime?: number; + LightAndSoundShotSelfContusionStrength?: number; + MalfMisfireChance?: number; + MalfFeedChance?: number; + StackSlots?: StackSlot[]; + type?: string; + eqMin?: number; + eqMax?: number; + rate?: number; + ThrowType?: string; + ExplDelay?: number; + Strength?: number; + ContusionDistance?: number; + throwDamMax?: number; + explDelay?: number; + EmitTime?: number; + CanBeHiddenDuringThrow?: boolean; + MinTimeToContactExplode?: number; + ExplosionEffectType?: string; } export interface Prefab { path: string; @@ -315,27 +389,18 @@ export interface Slot { _id: string; _parent: string; _props: SlotProps; + _max_count?: number; _required: boolean; _mergeSlotWithChildren: boolean; _proto: string; } export interface SlotProps { - filters: Filter[]; + filters: SlotFilter[]; } -export interface Chamber { - _name: string; - _id: string; - _parent: string; - _props: ChamberProps; - _required: boolean; - _mergeSlotWithChildren: boolean; - _proto: string; -} -export interface ChamberProps { - filters: FilterProps[]; -} -export interface FilterProps { +export interface SlotFilter { + Shift?: number; Filter: string[]; + AnimationIndex?: number; } export interface Xyz { x: number; @@ -345,53 +410,38 @@ export interface Xyz { export interface StackSlot { _name?: string; _id: string; - _sptTpl: string; - parent: string; - location: any; - slotId: string; + _parent: string; _max_count: number; - _props?: StackSlotProps; - _proto?: string; + _props: StackSlotProps; + _proto: string; upd: any; } export interface StackSlotProps { - filters: Filter[]; + filters: SlotFilter[]; } export interface EffectsHealth { - Hydration: Hydration; + Energy: EffectsHealthProps; + Hydration: EffectsHealthProps; } -export interface Hydration { +export interface EffectsHealthProps { value: number; } export interface EffectsDamage { - Pain: Pain; - Contusion: Contusion; + Pain: EffectDamageProps; + LightBleeding: EffectDamageProps; + HeavyBleeding: EffectDamageProps; + Contusion: EffectDamageProps; + RadExposure: EffectDamageProps; + Fracture: EffectDamageProps; + DestroyedPart: EffectDamageProps; } -export interface Pain { +export interface EffectDamageProps { delay: number; duration: number; fadeOut: number; -} -export interface Contusion { - delay: number; - duration: number; - fadeOut: number; -} -export interface Cartridge { - _name: string; - _id: string; - _parent: string; - _max_count: number; - _props: CartridgeProps; - _proto: string; -} -export interface CartridgeProps { - filters: Filter[]; -} -export interface Filter { - Shift?: number; - Filter: string[]; - AnimationIndex?: number; + cost?: number; + healthPenaltyMin?: number; + healthPenaltyMax?: number; } export interface Color { r: number; diff --git a/Ereshkigal-AkiConfig/types/models/eft/hideout/HideoutAreasEnum.d.ts b/Ereshkigal-AkiConfig/types/models/eft/hideout/HideoutAreasEnum.d.ts deleted file mode 100644 index 10f851b..0000000 --- a/Ereshkigal-AkiConfig/types/models/eft/hideout/HideoutAreasEnum.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -export declare enum HideoutAreasEnum { - NOTSET = -1, - VENTS = 0, - SECURITY = 1, - LAVATORY = 2, - STASH = 3, - GENERATOR = 4, - HEATING = 5, - WATER_COLLECTOR = 6, - MEDSTATION = 7, - NUTRITION_UNIT = 8, - REST_SPACE = 9, - WORKBENCH = 10, - INTEL_CENTER = 11, - SHOOTING_RANGE = 12, - LIBRARY = 13, - SCAV_CASE = 14, - ILLUMINATION = 15, - PLACE_OF_FAME = 16, - AIR_FILTERING = 17, - SOLAR_POWER = 18, - BOOZE_GENERATOR = 19, - BITCOIN_FARM = 20, - CHRISTMAS_TREE = 21 -} diff --git a/Ereshkigal-AkiConfig/types/models/eft/profile/IAkiProfile.d.ts b/Ereshkigal-AkiConfig/types/models/eft/profile/IAkiProfile.d.ts index 80dd02d..3e0b319 100644 --- a/Ereshkigal-AkiConfig/types/models/eft/profile/IAkiProfile.d.ts +++ b/Ereshkigal-AkiConfig/types/models/eft/profile/IAkiProfile.d.ts @@ -126,12 +126,16 @@ export interface Chest { export interface Stomach { } export interface LeftArm { + Fracture?: number; } export interface RightArm { + Fracture?: number; } export interface LeftLeg { + Fracture?: number; } export interface RightLeg { + Fracture?: number; } export interface Inraid { location: string; diff --git a/Ereshkigal-AkiConfig/types/models/enums/QuestStatus.d.ts b/Ereshkigal-AkiConfig/types/models/enums/QuestStatus.d.ts new file mode 100644 index 0000000..6335c73 --- /dev/null +++ b/Ereshkigal-AkiConfig/types/models/enums/QuestStatus.d.ts @@ -0,0 +1,10 @@ +export declare enum QuestStatus { + Locked = 0, + AvailableForStart = 1, + Started = 2, + AvailableForFinish = 3, + Success = 4, + Fail = 5, + FailRestartable = 6, + MarkedAsFailed = 7 +} diff --git a/Ereshkigal-AkiConfig/types/models/spt/config/IBotConfig.d.ts b/Ereshkigal-AkiConfig/types/models/spt/config/IBotConfig.d.ts index f8ea940..5fb9d93 100644 --- a/Ereshkigal-AkiConfig/types/models/spt/config/IBotConfig.d.ts +++ b/Ereshkigal-AkiConfig/types/models/spt/config/IBotConfig.d.ts @@ -5,6 +5,7 @@ export interface IBotConfig extends IBaseConfig { bosses: string[]; durability: Durability; lootNValue: LootNvalue; + revenge: Record; pmc: PmcConfig; showTypeInNickname: boolean; maxBotCap: number; @@ -97,6 +98,7 @@ export interface PmcConfig { maxPocketLootTotalRub: number; maxVestLootTotalRub: number; types: Types; + enemyTypes: string[]; } export interface DynamicLoot { whitelist: string[]; diff --git a/Ereshkigal-AkiConfig/types/models/spt/helpers/Traders.d.ts b/Ereshkigal-AkiConfig/types/models/spt/helpers/Traders.d.ts deleted file mode 100644 index e935d29..0000000 --- a/Ereshkigal-AkiConfig/types/models/spt/helpers/Traders.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare const enum Traders { - PRAPOR = "54cb50c76803fa8b248b4571", - THERAPIST = "54cb57776803fa99248b456e", - FENCE = "579dc571d53a0658a154fbec", - SKIER = "58330581ace78e27b8b10cee", - PEACEKEEPER = "5935c25fb3acc3127c3d8cd9", - MECHANIC = "5a7c2eca46aef81a7ca2145d", - RAGMAN = "5ac3b934156ae10c4430e83c", - JAEGER = "5c0647fdd443bc2504c2d371" -} diff --git a/Ereshkigal-AkiConfig/types/models/spt/mod/IModLoader.d.ts b/Ereshkigal-AkiConfig/types/models/spt/mod/IModLoader.d.ts index 5398c9b..40a5e19 100644 --- a/Ereshkigal-AkiConfig/types/models/spt/mod/IModLoader.d.ts +++ b/Ereshkigal-AkiConfig/types/models/spt/mod/IModLoader.d.ts @@ -3,6 +3,5 @@ export interface IModLoader { load(container: DependencyContainer): void; getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; - getImportedModsNames(): string[]; getModPath(mod: string): string; } diff --git a/Ereshkigal-AkiConfig/types/models/spt/mod/IPackageJsonData.d.ts b/Ereshkigal-AkiConfig/types/models/spt/mod/IPackageJsonData.d.ts index 09472cd..99e4ef9 100644 --- a/Ereshkigal-AkiConfig/types/models/spt/mod/IPackageJsonData.d.ts +++ b/Ereshkigal-AkiConfig/types/models/spt/mod/IPackageJsonData.d.ts @@ -1,6 +1,7 @@ export interface IPackageJsonData { incompatibilities?: string[]; dependencies?: string[]; + modDependencies?: Record; name: string; author: string; version: string; diff --git a/Ereshkigal-AkiConfig/types/models/spt/server/IDatabaseTables.d.ts b/Ereshkigal-AkiConfig/types/models/spt/server/IDatabaseTables.d.ts index dbb71be..e0d3fdd 100644 --- a/Ereshkigal-AkiConfig/types/models/spt/server/IDatabaseTables.d.ts +++ b/Ereshkigal-AkiConfig/types/models/spt/server/IDatabaseTables.d.ts @@ -5,6 +5,7 @@ import { IBotType } from "../../eft/common/tables/IBotType"; import { ICustomizationItem } from "../../eft/common/tables/ICustomizationItem"; import { IHandbookBase } from "../../eft/common/tables/IHandbookBase"; import { ILootBase } from "../../eft/common/tables/ILootBase"; +import { IMatch } from "../../eft/common/tables/IMatch"; import { IQuest } from "../../eft/common/tables/IQuest"; import { IRepeatableQuestDatabase } from "../../eft/common/tables/IRepeatableQuests"; import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; @@ -18,22 +19,22 @@ import { ILocations } from "./ILocations"; import { IServerBase } from "./IServerBase"; import { ISettingsBase } from "./ISettingsBase"; export interface IDatabaseTables { - bots: { + bots?: { types: Record; base: IBotBase; core: IBotCore; }; - hideout: { + hideout?: { areas: IHideoutArea[]; production: IHideoutProduction[]; scavcase: IHideoutScavCase[]; settings: IHideoutSettingsBase; }; - locales: ILocaleBase; - locations: ILocations; - loot: ILootBase; - match: any; - templates: { + locales?: ILocaleBase; + locations?: ILocations; + loot?: ILootBase; + match?: IMatch; + templates?: { character: string[]; items: Record; quests: IQuest[]; @@ -44,8 +45,8 @@ export interface IDatabaseTables { profiles: any; prices: Record; }; - traders: Record; - globals: IGlobals; - server: IServerBase; - settings: ISettingsBase; + traders?: Record; + globals?: IGlobals; + server?: IServerBase; + settings?: ISettingsBase; } diff --git a/Ereshkigal-AkiConfig/types/models/spt/server/IHttpServer.d.ts b/Ereshkigal-AkiConfig/types/models/spt/server/IHttpServer.d.ts index 50e5c91..c828399 100644 --- a/Ereshkigal-AkiConfig/types/models/spt/server/IHttpServer.d.ts +++ b/Ereshkigal-AkiConfig/types/models/spt/server/IHttpServer.d.ts @@ -1,4 +1,5 @@ /// +/// import http, { ServerResponse } from "http"; import { INotification } from "../../eft/notifier/INotifier"; export interface IHttpServer { diff --git a/Ereshkigal-AkiConfig/types/models/spt/server/ILocaleBase.d.ts b/Ereshkigal-AkiConfig/types/models/spt/server/ILocaleBase.d.ts index a20084d..8887c06 100644 --- a/Ereshkigal-AkiConfig/types/models/spt/server/ILocaleBase.d.ts +++ b/Ereshkigal-AkiConfig/types/models/spt/server/ILocaleBase.d.ts @@ -1,5 +1,5 @@ export interface ILocaleBase { - global: ILocaleGlobalBase; + global: Record; menu: Record; languages: ILanguageBase[]; } diff --git a/Ereshkigal-AkiConfig/types/models/spt/services/CustomPreset.d.ts b/Ereshkigal-AkiConfig/types/models/spt/services/CustomPreset.d.ts new file mode 100644 index 0000000..f07382e --- /dev/null +++ b/Ereshkigal-AkiConfig/types/models/spt/services/CustomPreset.d.ts @@ -0,0 +1,5 @@ +import { Preset } from "../../eft/common/IGlobals"; +export interface CustomPreset { + key: string; + preset: Preset; +} diff --git a/Ereshkigal-AkiConfig/types/models/spt/services/CustomTraderAssortData.d.ts b/Ereshkigal-AkiConfig/types/models/spt/services/CustomTraderAssortData.d.ts new file mode 100644 index 0000000..265a26a --- /dev/null +++ b/Ereshkigal-AkiConfig/types/models/spt/services/CustomTraderAssortData.d.ts @@ -0,0 +1,6 @@ +import { ITraderAssort } from "../../eft/common/tables/ITrader"; +import { Traders } from "../../enums/Traders"; +export interface CustomTraderAssortData { + traderId: Traders; + assorts: ITraderAssort; +} diff --git a/Ereshkigal-AkiConfig/types/routers/HttpRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/HttpRouter.d.ts index 44edc0b..f75a47d 100644 --- a/Ereshkigal-AkiConfig/types/routers/HttpRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/HttpRouter.d.ts @@ -1,11 +1,16 @@ /// import { IncomingMessage } from "http"; -import { DynamicRouter, StaticRouter } from "../di/Router"; +import { DynamicRouter, Router, StaticRouter } from "../di/Router"; export declare class HttpRouter { - private staticRouters; - private dynamicRoutes; + protected staticRouters: StaticRouter[]; + protected dynamicRoutes: DynamicRouter[]; constructor(staticRouters: StaticRouter[], dynamicRoutes: DynamicRouter[]); - private groupBy; + protected groupBy(list: T[], keyGetter: (t: T) => string): Map; getResponse(req: IncomingMessage, info: any, sessionID: string): string; - private handleRoute; + protected handleRoute(url: string, info: any, sessionID: string, wrapper: ResponseWrapper, routers: Router[], dynamic: boolean): boolean; } +declare class ResponseWrapper { + output: string; + constructor(output: string); +} +export {}; diff --git a/Ereshkigal-AkiConfig/types/routers/ImageRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/ImageRouter.d.ts index 97e580d..ab03977 100644 --- a/Ereshkigal-AkiConfig/types/routers/ImageRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/ImageRouter.d.ts @@ -4,8 +4,8 @@ import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ImageRouteService } from "../services/mod/image/ImageRouteService"; import { VFS } from "../utils/VFS"; export declare class ImageRouter { - private vfs; - private imageRouteService; + protected vfs: VFS; + protected imageRouteService: ImageRouteService; constructor(vfs: VFS, imageRouteService: ImageRouteService); addRoute(key: string, valueToAdd: string): void; sendImage(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: any, httpServer: IHttpServer): void; diff --git a/Ereshkigal-AkiConfig/types/routers/ItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/ItemEventRouter.d.ts index bb20152..b1ac5d9 100644 --- a/Ereshkigal-AkiConfig/types/routers/ItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/ItemEventRouter.d.ts @@ -5,13 +5,13 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { ItemEventRouterDefinition } from "../di/Router"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class ItemEventRouter { - private logger; - private jsonUtil; - private profileHelper; - private itemEventRouters; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected profileHelper: ProfileHelper; + protected itemEventRouters: ItemEventRouterDefinition[]; constructor(logger: ILogger, jsonUtil: JsonUtil, profileHelper: ProfileHelper, itemEventRouters: ItemEventRouterDefinition[]); - private output; + protected output: IItemEventRouterResponse; handleEvents(info: IItemEventRouterRequest, sessionID: string): IItemEventRouterResponse; getOutput(sessionID: string): IItemEventRouterResponse; - private resetOutput; + protected resetOutput(sessionID: string): void; } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/BotDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/BotDynamicRouter.d.ts index dd2f68a..6d0ab4b 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/BotDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/BotDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { BotCallbacks } from "../../callbacks/BotCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class BotDynamicRouter extends DynamicRouter { - private botCallbacks; + protected botCallbacks: BotCallbacks; constructor(botCallbacks: BotCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/BundleDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/BundleDynamicRouter.d.ts index be27008..a765410 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/BundleDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/BundleDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class BundleDynamicRouter extends DynamicRouter { - private bundleCallbacks; + protected bundleCallbacks: BundleCallbacks; constructor(bundleCallbacks: BundleCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/CustomizationDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/CustomizationDynamicRouter.d.ts index 03a5967..2db7cc5 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/CustomizationDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/CustomizationDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class CustomizationDynamicRouter extends DynamicRouter { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/DataDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/DataDynamicRouter.d.ts index c30501a..836ed8d 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/DataDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/DataDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { DataCallbacks } from "../../callbacks/DataCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class DataDynamicRouter extends DynamicRouter { - private dataCallbacks; + protected dataCallbacks: DataCallbacks; constructor(dataCallbacks: DataCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/HttpDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/HttpDynamicRouter.d.ts index b2933e9..a152b4d 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/HttpDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/HttpDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { DynamicRouter } from "../../di/Router"; import { ImageRouter } from "../ImageRouter"; export declare class HttpDynamicRouter extends DynamicRouter { - private imageRouter; + protected imageRouter: ImageRouter; constructor(imageRouter: ImageRouter); } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/InraidDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/InraidDynamicRouter.d.ts index ea4a9ae..7c0561f 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/InraidDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/InraidDynamicRouter.d.ts @@ -1,7 +1,7 @@ import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class InraidDynamicRouter extends DynamicRouter { - private inraidCallbacks; + protected inraidCallbacks: InraidCallbacks; constructor(inraidCallbacks: InraidCallbacks); getTopLevelRoute(): string; } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/LocationDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/LocationDynamicRouter.d.ts index 30741db..b8e5cdf 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/LocationDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/LocationDynamicRouter.d.ts @@ -1,7 +1,7 @@ import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class LocationDynamicRouter extends DynamicRouter { - private locationCallbacks; + protected locationCallbacks: LocationCallbacks; constructor(locationCallbacks: LocationCallbacks); getTopLevelRoute(): string; } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/NotifierDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/NotifierDynamicRouter.d.ts index 4786817..83c60c5 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/NotifierDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/NotifierDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class NotifierDynamicRouter extends DynamicRouter { - private notifierCallbacks; + protected notifierCallbacks: NotifierCallbacks; constructor(notifierCallbacks: NotifierCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/dynamic/TraderDynamicRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/dynamic/TraderDynamicRouter.d.ts index a100b4c..5b7cc1b 100644 --- a/Ereshkigal-AkiConfig/types/routers/dynamic/TraderDynamicRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/dynamic/TraderDynamicRouter.d.ts @@ -1,6 +1,6 @@ import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; import { DynamicRouter } from "../../di/Router"; export declare class TraderDynamicRouter extends DynamicRouter { - private traderCallbacks; + protected traderCallbacks: TraderCallbacks; constructor(traderCallbacks: TraderCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/CustomizationItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/CustomizationItemEventRouter.d.ts index 3025e2c..e78445e 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/CustomizationItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/CustomizationItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class CustomizationItemEventRouter extends ItemEventRouterDefinition { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/HealthItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/HealthItemEventRouter.d.ts index bad9af2..99847c6 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/HealthItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/HealthItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class HealthItemEventRouter extends ItemEventRouterDefinition { - private healthCallbacks; + protected healthCallbacks: HealthCallbacks; constructor(healthCallbacks: HealthCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/HideoutItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/HideoutItemEventRouter.d.ts index 2cec18b..e1e98af 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/HideoutItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/HideoutItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { HideoutCallbacks } from "../../callbacks/HideoutCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class HideoutItemEventRouter extends ItemEventRouterDefinition { - private hideoutCallbacks; + protected hideoutCallbacks: HideoutCallbacks; constructor(hideoutCallbacks: HideoutCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/InsuranceItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/InsuranceItemEventRouter.d.ts index 8efc2c2..a922cc0 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/InsuranceItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/InsuranceItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class InsuranceItemEventRouter extends ItemEventRouterDefinition { - private insuranceCallbacks; + protected insuranceCallbacks: InsuranceCallbacks; constructor(insuranceCallbacks: InsuranceCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/InventoryItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/InventoryItemEventRouter.d.ts index 1d93e7b..2619bb9 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/InventoryItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/InventoryItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { InventoryCallbacks } from "../../callbacks/InventoryCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class InventoryItemEventRouter extends ItemEventRouterDefinition { - private inventoryCallbacks; + protected inventoryCallbacks: InventoryCallbacks; constructor(inventoryCallbacks: InventoryCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/NoteItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/NoteItemEventRouter.d.ts index 12af594..59bf598 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/NoteItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/NoteItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { NoteCallbacks } from "../../callbacks/NoteCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class NoteItemEventRouter extends ItemEventRouterDefinition { - private noteCallbacks; + protected noteCallbacks: NoteCallbacks; constructor(noteCallbacks: NoteCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/PresetBuildItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/PresetBuildItemEventRouter.d.ts index 7298c52..277db44 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/PresetBuildItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/PresetBuildItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class PresetBuildItemEventRouter extends ItemEventRouterDefinition { - private presetBuildCallbacks; + protected presetBuildCallbacks: PresetBuildCallbacks; constructor(presetBuildCallbacks: PresetBuildCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/QuestItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/QuestItemEventRouter.d.ts index 9944ae9..a092aa6 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/QuestItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/QuestItemEventRouter.d.ts @@ -1,10 +1,12 @@ -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "../../models/spt/utils/ILogger"; export declare class QuestItemEventRouter extends ItemEventRouterDefinition { - private questCallbacks; - constructor(questCallbacks: QuestCallbacks); + protected logger: ILogger; + protected questCallbacks: QuestCallbacks; + constructor(logger: ILogger, questCallbacks: QuestCallbacks); getHandledRoutes(): HandledRoute[]; - handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; + handleItemEvent(eventAction: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; } diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/RagfairItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/RagfairItemEventRouter.d.ts index 88e52ba..9216cc5 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/RagfairItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/RagfairItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class RagfairItemEventRouter extends ItemEventRouterDefinition { - private ragfairCallbacks; + protected ragfairCallbacks: RagfairCallbacks; constructor(ragfairCallbacks: RagfairCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/RepairItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/RepairItemEventRouter.d.ts index b292ded..5196ba9 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/RepairItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/RepairItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { RepairCallbacks } from "../../callbacks/RepairCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class RepairItemEventRouter extends ItemEventRouterDefinition { - private repairCallbacks; + protected repairCallbacks: RepairCallbacks; constructor(repairCallbacks: RepairCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/TradeItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/TradeItemEventRouter.d.ts index 1bca2b8..a43bb0a 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/TradeItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/TradeItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { TradeCallbacks } from "../../callbacks/TradeCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class TradeItemEventRouter extends ItemEventRouterDefinition { - private tradeCallbacks; + protected tradeCallbacks: TradeCallbacks; constructor(tradeCallbacks: TradeCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/item_events/WishlistItemEventRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/item_events/WishlistItemEventRouter.d.ts index 38831f6..38497fb 100644 --- a/Ereshkigal-AkiConfig/types/routers/item_events/WishlistItemEventRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/item_events/WishlistItemEventRouter.d.ts @@ -3,7 +3,7 @@ import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventR import { WishlistCallbacks } from "../../callbacks/WishlistCallbacks"; import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; export declare class WishlistItemEventRouter extends ItemEventRouterDefinition { - private wishlistCallbacks; + protected wishlistCallbacks: WishlistCallbacks; constructor(wishlistCallbacks: WishlistCallbacks); getHandledRoutes(): HandledRoute[]; handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; diff --git a/Ereshkigal-AkiConfig/types/routers/serializers/BundleSerializer.d.ts b/Ereshkigal-AkiConfig/types/routers/serializers/BundleSerializer.d.ts index 7952e9c..912db83 100644 --- a/Ereshkigal-AkiConfig/types/routers/serializers/BundleSerializer.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/serializers/BundleSerializer.d.ts @@ -3,8 +3,8 @@ import { BundleLoader } from "../../loaders/BundleLoader"; import { IHttpServer } from "../../models/spt/server/IHttpServer"; import { ILogger } from "../../models/spt/utils/ILogger"; export declare class BundleSerializer extends Serializer { - private logger; - private bundleLoader; + protected logger: ILogger; + protected bundleLoader: BundleLoader; constructor(logger: ILogger, bundleLoader: BundleLoader); serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; diff --git a/Ereshkigal-AkiConfig/types/routers/serializers/ImageSerializer.d.ts b/Ereshkigal-AkiConfig/types/routers/serializers/ImageSerializer.d.ts index 29340d0..0e040d4 100644 --- a/Ereshkigal-AkiConfig/types/routers/serializers/ImageSerializer.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/serializers/ImageSerializer.d.ts @@ -2,7 +2,7 @@ import { IHttpServer } from "../../models/spt/server/IHttpServer"; import { Serializer } from "../../di/Serializer"; import { ImageRouter } from "../ImageRouter"; export declare class ImageSerializer extends Serializer { - private imageRouter; + protected imageRouter: ImageRouter; constructor(imageRouter: ImageRouter); serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; diff --git a/Ereshkigal-AkiConfig/types/routers/serializers/NotifySerializer.d.ts b/Ereshkigal-AkiConfig/types/routers/serializers/NotifySerializer.d.ts index 8be8ac2..1779ac9 100644 --- a/Ereshkigal-AkiConfig/types/routers/serializers/NotifySerializer.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/serializers/NotifySerializer.d.ts @@ -3,9 +3,9 @@ import { Serializer } from "../../di/Serializer"; import { HttpServerHelper } from "../../helpers/HttpServerHelper"; import { IHttpServer } from "../../models/spt/server/IHttpServer"; export declare class NotifySerializer extends Serializer { - private notifierController; - private httpServerHelper; + protected notifierController: NotifierController; + protected httpServerHelper: HttpServerHelper; constructor(notifierController: NotifierController, httpServerHelper: HttpServerHelper); - serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + serialize(_sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; canHandle(route: string): boolean; } diff --git a/Ereshkigal-AkiConfig/types/routers/static/BotStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/BotStaticRouter.d.ts index d8b0bf4..aeea220 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/BotStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/BotStaticRouter.d.ts @@ -1,6 +1,6 @@ import { BotCallbacks } from "../../callbacks/BotCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class BotStaticRouter extends StaticRouter { - private botCallbacks; + protected botCallbacks: BotCallbacks; constructor(botCallbacks: BotCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/BundleStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/BundleStaticRouter.d.ts index 3905b82..fb682fc 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/BundleStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/BundleStaticRouter.d.ts @@ -1,6 +1,6 @@ import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class BundleStaticRouter extends StaticRouter { - private bundleCallbacks; + protected bundleCallbacks: BundleCallbacks; constructor(bundleCallbacks: BundleCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/CustomizationStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/CustomizationStaticRouter.d.ts index 46c71b8..21bc4bb 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/CustomizationStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/CustomizationStaticRouter.d.ts @@ -1,6 +1,6 @@ import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class CustomizationStaticRouter extends StaticRouter { - private customizationCallbacks; + protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/DataStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/DataStaticRouter.d.ts index a493d3a..84ba7fd 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/DataStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/DataStaticRouter.d.ts @@ -1,6 +1,6 @@ import { DataCallbacks } from "../../callbacks/DataCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class DataStaticRouter extends StaticRouter { - private dataCallbacks; + protected dataCallbacks: DataCallbacks; constructor(dataCallbacks: DataCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/DialogStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/DialogStaticRouter.d.ts index a59fb14..546cdf1 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/DialogStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/DialogStaticRouter.d.ts @@ -1,6 +1,6 @@ import { DialogueCallbacks } from "../../callbacks/DialogueCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class DialogStaticRouter extends StaticRouter { - private dialogueCallbacks; + protected dialogueCallbacks: DialogueCallbacks; constructor(dialogueCallbacks: DialogueCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/GameStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/GameStaticRouter.d.ts index 988b673..a9a7496 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/GameStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/GameStaticRouter.d.ts @@ -1,6 +1,6 @@ import { GameCallbacks } from "../../callbacks/GameCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class GameStaticRouter extends StaticRouter { - private gameCallbacks; + protected gameCallbacks: GameCallbacks; constructor(gameCallbacks: GameCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/HealthStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/HealthStaticRouter.d.ts index e644861..863fd5e 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/HealthStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/HealthStaticRouter.d.ts @@ -1,6 +1,6 @@ import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class HealthStaticRouter extends StaticRouter { - private healthCallbacks; + protected healthCallbacks: HealthCallbacks; constructor(healthCallbacks: HealthCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/InraidStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/InraidStaticRouter.d.ts index 66ed860..b29ad23 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/InraidStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/InraidStaticRouter.d.ts @@ -1,6 +1,6 @@ import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class InraidStaticRouter extends StaticRouter { - private inraidCallbacks; + protected inraidCallbacks: InraidCallbacks; constructor(inraidCallbacks: InraidCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/InsuranceStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/InsuranceStaticRouter.d.ts index 8da26b3..5676499 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/InsuranceStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/InsuranceStaticRouter.d.ts @@ -1,6 +1,6 @@ import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class InsuranceStaticRouter extends StaticRouter { - private insuranceCallbacks; + protected insuranceCallbacks: InsuranceCallbacks; constructor(insuranceCallbacks: InsuranceCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/ItemEventStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/ItemEventStaticRouter.d.ts index 08ba6bb..c30a7fc 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/ItemEventStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/ItemEventStaticRouter.d.ts @@ -1,6 +1,6 @@ import { ItemEventCallbacks } from "../../callbacks/ItemEventCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class ItemEventStaticRouter extends StaticRouter { - private itemEventCallbacks; + protected itemEventCallbacks: ItemEventCallbacks; constructor(itemEventCallbacks: ItemEventCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/LauncherStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/LauncherStaticRouter.d.ts index 9d07f78..0040cbd 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/LauncherStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/LauncherStaticRouter.d.ts @@ -1,6 +1,6 @@ import { LauncherCallbacks } from "../../callbacks/LauncherCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class LauncherStaticRouter extends StaticRouter { - private launcherCallbacks; + protected launcherCallbacks: LauncherCallbacks; constructor(launcherCallbacks: LauncherCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/LocationStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/LocationStaticRouter.d.ts index 9c5c52e..b6de956 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/LocationStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/LocationStaticRouter.d.ts @@ -1,6 +1,6 @@ import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class LocationStaticRouter extends StaticRouter { - private locationCallbacks; + protected locationCallbacks: LocationCallbacks; constructor(locationCallbacks: LocationCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/MatchStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/MatchStaticRouter.d.ts index d746381..9920a92 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/MatchStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/MatchStaticRouter.d.ts @@ -1,6 +1,6 @@ import { MatchCallbacks } from "../../callbacks/MatchCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class MatchStaticRouter extends StaticRouter { - private matchCallbacks; + protected matchCallbacks: MatchCallbacks; constructor(matchCallbacks: MatchCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/NotifierStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/NotifierStaticRouter.d.ts index 1c8566d..8f1f5cc 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/NotifierStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/NotifierStaticRouter.d.ts @@ -1,6 +1,6 @@ import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class NotifierStaticRouter extends StaticRouter { - private notifierCallbacks; + protected notifierCallbacks: NotifierCallbacks; constructor(notifierCallbacks: NotifierCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/PresetStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/PresetStaticRouter.d.ts index 2272f82..a9e7458 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/PresetStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/PresetStaticRouter.d.ts @@ -1,6 +1,6 @@ import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class PresetStaticRouter extends StaticRouter { - private presetCallbacks; + protected presetCallbacks: PresetBuildCallbacks; constructor(presetCallbacks: PresetBuildCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/ProfileStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/ProfileStaticRouter.d.ts index fd787f1..83403f2 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/ProfileStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/ProfileStaticRouter.d.ts @@ -1,6 +1,6 @@ import { ProfileCallbacks } from "../../callbacks/ProfileCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class ProfileStaticRouter extends StaticRouter { - private profileCallbacks; + protected profileCallbacks: ProfileCallbacks; constructor(profileCallbacks: ProfileCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/QuestStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/QuestStaticRouter.d.ts index fda3c23..8f7ca0a 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/QuestStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/QuestStaticRouter.d.ts @@ -1,6 +1,6 @@ import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class QuestStaticRouter extends StaticRouter { - private questCallbacks; + protected questCallbacks: QuestCallbacks; constructor(questCallbacks: QuestCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/RagfairStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/RagfairStaticRouter.d.ts index 618374f..6c41467 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/RagfairStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/RagfairStaticRouter.d.ts @@ -1,6 +1,6 @@ import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class RagfairStaticRouter extends StaticRouter { - private ragfairCallbacks; + protected ragfairCallbacks: RagfairCallbacks; constructor(ragfairCallbacks: RagfairCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/TraderStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/TraderStaticRouter.d.ts index 18f0629..41728a1 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/TraderStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/TraderStaticRouter.d.ts @@ -1,6 +1,6 @@ import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class TraderStaticRouter extends StaticRouter { - private traderCallbacks; + protected traderCallbacks: TraderCallbacks; constructor(traderCallbacks: TraderCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/routers/static/WeatherStaticRouter.d.ts b/Ereshkigal-AkiConfig/types/routers/static/WeatherStaticRouter.d.ts index 61b904d..72ed851 100644 --- a/Ereshkigal-AkiConfig/types/routers/static/WeatherStaticRouter.d.ts +++ b/Ereshkigal-AkiConfig/types/routers/static/WeatherStaticRouter.d.ts @@ -1,6 +1,6 @@ import { WeatherCallbacks } from "../../callbacks/WeatherCallbacks"; import { StaticRouter } from "../../di/Router"; export declare class WeatherStaticRouter extends StaticRouter { - private weatherCallbacks; + protected weatherCallbacks: WeatherCallbacks; constructor(weatherCallbacks: WeatherCallbacks); } diff --git a/Ereshkigal-AkiConfig/types/servers/ConfigServer.d.ts b/Ereshkigal-AkiConfig/types/servers/ConfigServer.d.ts index 83af38d..a079be8 100644 --- a/Ereshkigal-AkiConfig/types/servers/ConfigServer.d.ts +++ b/Ereshkigal-AkiConfig/types/servers/ConfigServer.d.ts @@ -3,10 +3,10 @@ import { VFS } from "../utils/VFS"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigTypes } from "../models/enums/ConfigTypes"; export declare class ConfigServer { - private logger; - private vfs; - private jsonUtil; - private configs; + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected configs: Record; constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil); getConfig(configType: ConfigTypes): T; getConfigByString(configType: string): T; diff --git a/Ereshkigal-AkiConfig/types/servers/DatabaseServer.d.ts b/Ereshkigal-AkiConfig/types/servers/DatabaseServer.d.ts index 521bcf9..aa152d0 100644 --- a/Ereshkigal-AkiConfig/types/servers/DatabaseServer.d.ts +++ b/Ereshkigal-AkiConfig/types/servers/DatabaseServer.d.ts @@ -1,6 +1,6 @@ import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; export declare class DatabaseServer { - private tableData; + protected tableData: IDatabaseTables; getTables(): IDatabaseTables; setTables(any: any): void; } diff --git a/Ereshkigal-AkiConfig/types/servers/HttpServer.d.ts b/Ereshkigal-AkiConfig/types/servers/HttpServer.d.ts index d0db7e4..5234966 100644 --- a/Ereshkigal-AkiConfig/types/servers/HttpServer.d.ts +++ b/Ereshkigal-AkiConfig/types/servers/HttpServer.d.ts @@ -1,9 +1,11 @@ /// +/// import http, { ServerResponse } from "http"; import { Serializer } from "../di/Serializer"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { NotifierHelper } from "../helpers/NotifierHelper"; import { INotification } from "../models/eft/notifier/INotifier"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; import { HttpRouter } from "../routers/HttpRouter"; @@ -13,24 +15,24 @@ import { RandomUtil } from "../utils/RandomUtil"; import { ConfigServer } from "./ConfigServer"; import { DatabaseServer } from "./DatabaseServer"; export declare class HttpServer implements IHttpServer { - private httpRouter; - private logger; - private randomUtil; - private jsonUtil; - private httpResponse; - private databaseServer; - private notifierHelper; - private httpServerHelper; - private serializers; - private configServer; + protected httpRouter: HttpRouter; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected jsonUtil: JsonUtil; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + protected notifierHelper: NotifierHelper; + protected httpServerHelper: HttpServerHelper; + protected serializers: Serializer[]; + protected configServer: ConfigServer; constructor(httpRouter: HttpRouter, // TODO: delay required logger: ILogger, randomUtil: RandomUtil, jsonUtil: JsonUtil, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, serializers: Serializer[], configServer: ConfigServer); - private buffers; - private onReceive; - private onRespond; - private httpConfig; - private webSockets; - private websocketPingHandler; + protected buffers: {}; + protected onReceive: {}; + protected onRespond: {}; + protected httpConfig: IHttpConfig; + protected webSockets: {}; + protected websocketPingHandler: any; getCookies(req: http.IncomingMessage): any; resetBuffer(sessionID: string): void; putInBuffer(sessionID: any, data: any, bufLength: number): boolean; @@ -42,6 +44,6 @@ export declare class HttpServer implements IHttpServer { sendResponse(sessionID: string, req: any, resp: any, body: Buffer): void; handleRequest(req: http.IncomingMessage, resp: http.ServerResponse): void; load(): void; - private getRandomisedMessage; + protected getRandomisedMessage(): string; wsOnConnection(ws: any, req: any): void; } diff --git a/Ereshkigal-AkiConfig/types/servers/RagfairServer.d.ts b/Ereshkigal-AkiConfig/types/servers/RagfairServer.d.ts index cf56d64..60c92b5 100644 --- a/Ereshkigal-AkiConfig/types/servers/RagfairServer.d.ts +++ b/Ereshkigal-AkiConfig/types/servers/RagfairServer.d.ts @@ -1,18 +1,19 @@ import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; import { ConfigServer } from "./ConfigServer"; export declare class RagfairServer { - private logger; - private ragfairOfferGenerator; - private ragfairOfferService; - private ragfairCategoriesService; - private ragfairRequiredItemsService; - private configServer; - private ragfairConfig; + protected logger: ILogger; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected ragfairOfferService: RagfairOfferService; + protected ragfairCategoriesService: RagfairCategoriesService; + protected ragfairRequiredItemsService: RagfairRequiredItemsService; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer); load(): void; update(): void; diff --git a/Ereshkigal-AkiConfig/types/servers/SaveServer.d.ts b/Ereshkigal-AkiConfig/types/servers/SaveServer.d.ts index fdf92e4..cb28f49 100644 --- a/Ereshkigal-AkiConfig/types/servers/SaveServer.d.ts +++ b/Ereshkigal-AkiConfig/types/servers/SaveServer.d.ts @@ -5,15 +5,15 @@ import { VFS } from "../utils/VFS"; import { SaveLoadRouter } from "../di/Router"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class SaveServer { - private vfs; - private saveLoadRouters; - private jsonUtil; - private hashUtil; - private logger; - private profileFilepath; - private profiles; - private onSave; - private saveMd5; + protected vfs: VFS; + protected saveLoadRouters: SaveLoadRouter[]; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected logger: ILogger; + protected profileFilepath: string; + protected profiles: {}; + protected onSave: {}; + protected saveMd5: {}; constructor(vfs: VFS, saveLoadRouters: SaveLoadRouter[], jsonUtil: JsonUtil, hashUtil: HashUtil, logger: ILogger); load(): void; save(): void; diff --git a/Ereshkigal-AkiConfig/types/services/CustomHandbookItemService.d.ts b/Ereshkigal-AkiConfig/types/services/CustomHandbookItemService.d.ts new file mode 100644 index 0000000..1c25b99 --- /dev/null +++ b/Ereshkigal-AkiConfig/types/services/CustomHandbookItemService.d.ts @@ -0,0 +1,13 @@ +import { HandbookItem } from "../models/eft/common/tables/IHandbookBase"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomHandbookItemService { + protected logger: ILogger; + private customHandbookItems; + constructor(logger: ILogger); + /** + * Add handbook item + * @param handbookItem item to add + */ + add(handbookItem: HandbookItem): void; + get(): HandbookItem[]; +} diff --git a/Ereshkigal-AkiConfig/types/services/CustomItemService.d.ts b/Ereshkigal-AkiConfig/types/services/CustomItemService.d.ts new file mode 100644 index 0000000..d5806b4 --- /dev/null +++ b/Ereshkigal-AkiConfig/types/services/CustomItemService.d.ts @@ -0,0 +1,11 @@ +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class CustomItemService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + private customItems; + constructor(logger: ILogger, databaseServer: DatabaseServer); + add(itemToAdd: ITemplateItem): void; + get(): ITemplateItem[]; +} diff --git a/Ereshkigal-AkiConfig/types/services/CustomTraderAssortService.d.ts b/Ereshkigal-AkiConfig/types/services/CustomTraderAssortService.d.ts new file mode 100644 index 0000000..e63d67b --- /dev/null +++ b/Ereshkigal-AkiConfig/types/services/CustomTraderAssortService.d.ts @@ -0,0 +1,14 @@ +import { CustomTraderAssortData } from "../models/spt/services/CustomTraderAssortData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class CustomTraderAssortService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + private customAssorts; + constructor(logger: ILogger, databaseServer: DatabaseServer); + /** + * Add assorts to a specific trader + */ + add(assortsToAdd: CustomTraderAssortData): void; + get(): CustomTraderAssortData[]; +} diff --git a/Ereshkigal-AkiConfig/types/services/FenceService.d.ts b/Ereshkigal-AkiConfig/types/services/FenceService.d.ts index 27d14ef..12723fb 100644 --- a/Ereshkigal-AkiConfig/types/services/FenceService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/FenceService.d.ts @@ -4,6 +4,7 @@ import { PresetHelper } from "../helpers/PresetHelper"; import { FenceLevel } from "../models/eft/common/IGlobals"; import { IPmcData } from "../models/eft/common/IPmcData"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,19 +12,19 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class FenceService { - private logger; - private hashUtil; - private jsonUtil; - private randomUtil; - private databaseServer; - private handbookHelper; - private itemHelper; - private presetHelper; - private configServer; - private fenceAssort; - private traderConfig; + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected configServer: ConfigServer; + protected fenceAssort: ITraderAssort; + protected traderConfig: ITraderConfig; constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, presetHelper: PresetHelper, configServer: ConfigServer); - private setFenceAssort; + protected setFenceAssort(fenceAssort: ITraderAssort): void; getFenceAssorts(): ITraderAssort; hasExpiredCache(refreshAssort: boolean): boolean; generateFenceAssortCache(pmcData: IPmcData): void; diff --git a/Ereshkigal-AkiConfig/types/services/HashCacheService.d.ts b/Ereshkigal-AkiConfig/types/services/HashCacheService.d.ts index c9b0170..5320f28 100644 --- a/Ereshkigal-AkiConfig/types/services/HashCacheService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/HashCacheService.d.ts @@ -3,13 +3,13 @@ import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { VFS } from "../utils/VFS"; export declare class HashCacheService { - private vfs; - private hashUtil; - private jsonUtil; - private logger; - private jsonHashes; - private modHashes; - private readonly modCachePath; + protected vfs: VFS; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected jsonHashes: any; + protected modHashes: any; + protected readonly modCachePath = "./user/cache/modCache.json"; constructor(vfs: VFS, hashUtil: HashUtil, jsonUtil: JsonUtil, logger: ILogger); getStoredModHash(modName: string): string; modContentMatchesStoredHash(modName: string, modContent: string): boolean; diff --git a/Ereshkigal-AkiConfig/types/services/InsuranceService.d.ts b/Ereshkigal-AkiConfig/types/services/InsuranceService.d.ts index 160faba..0219816 100644 --- a/Ereshkigal-AkiConfig/types/services/InsuranceService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/InsuranceService.d.ts @@ -4,6 +4,7 @@ import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; import { Item } from "../models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -11,18 +12,18 @@ import { SaveServer } from "../servers/SaveServer"; import { RandomUtil } from "../utils/RandomUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class InsuranceService { - private logger; - private databaseServer; - private secureContainerHelper; - private randomUtil; - private timeUtil; - private saveServer; - private traderHelper; - private dialogueHelper; - private configServer; - private insured; - private templatesById; - private insuranceConfig; + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected secureContainerHelper: SecureContainerHelper; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected traderHelper: TraderHelper; + protected dialogueHelper: DialogueHelper; + protected configServer: ConfigServer; + protected insured: Record>; + protected templatesById: {}; + protected insuranceConfig: IInsuranceConfig; constructor(logger: ILogger, databaseServer: DatabaseServer, secureContainerHelper: SecureContainerHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, saveServer: SaveServer, traderHelper: TraderHelper, dialogueHelper: DialogueHelper, configServer: ConfigServer); insuranceExists(sessionId: string): boolean; insuranceTraderArrayExists(sessionId: string, traderId: string): boolean; @@ -36,6 +37,6 @@ export declare class InsuranceService { sendInsuredItems(pmcData: IPmcData, sessionID: string): void; storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; - private addGearToSend; + protected addGearToSend(pmcData: IPmcData, insuredItem: any, actualItem: any, sessionID: string): any; getPremium(pmcData: IPmcData, inventoryItem: Item, traderId: string): number; } diff --git a/Ereshkigal-AkiConfig/types/services/MatchLocationService.d.ts b/Ereshkigal-AkiConfig/types/services/MatchLocationService.d.ts index f7b7d3b..2b5fc0e 100644 --- a/Ereshkigal-AkiConfig/types/services/MatchLocationService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/MatchLocationService.d.ts @@ -1,7 +1,7 @@ import { TimeUtil } from "../utils/TimeUtil"; export declare class MatchLocationService { - private timeUtil; - private locations; + protected timeUtil: TimeUtil; + protected locations: {}; constructor(timeUtil: TimeUtil); createGroup(sessionID: string, info: any): any; deleteGroup(info: any): void; diff --git a/Ereshkigal-AkiConfig/types/services/ModCompilerService.d.ts b/Ereshkigal-AkiConfig/types/services/ModCompilerService.d.ts index cf7cc21..26cb4ac 100644 --- a/Ereshkigal-AkiConfig/types/services/ModCompilerService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/ModCompilerService.d.ts @@ -1,15 +1,20 @@ +import * as ts from "typescript"; import { ILogger } from "../models/spt/utils/ILogger"; import { VFS } from "../utils/VFS"; import { HashCacheService } from "./HashCacheService"; export declare class ModCompilerService { - private logger; - private hashCacheService; - private vfs; + protected logger: ILogger; + protected hashCacheService: HashCacheService; + protected vfs: VFS; constructor(logger: ILogger, hashCacheService: HashCacheService, vfs: VFS); compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise; - private compile; - private buildDepth; - private calculateDepth; - private areFilesReady; - private delay; + protected compile(fileNames: string[], options: ts.CompilerOptions): Promise; + protected buildDepth(depth: number): string; + protected getNodesModulesPath(depth: number): string; + protected getAkiPath(depth: number): string; + protected getAkiFolder(): string; + protected getNodesModulesFolder(): string; + protected calculateDepth(file: string): number; + protected areFilesReady(fileNames: string[]): boolean; + protected delay(ms: number): Promise; } diff --git a/Ereshkigal-AkiConfig/types/services/NotificationService.d.ts b/Ereshkigal-AkiConfig/types/services/NotificationService.d.ts index 9c6c143..7e2a127 100644 --- a/Ereshkigal-AkiConfig/types/services/NotificationService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/NotificationService.d.ts @@ -1,6 +1,6 @@ import { INotification } from "../models/eft/notifier/INotifier"; export declare class NotificationService { - private messageQueue; + protected messageQueue: {}; getMessageQueue(): {}; getMessageFromQueue(sessionId: string): any; updateMessageOnQueue(sessionId: string, value: any[]): void; diff --git a/Ereshkigal-AkiConfig/types/services/PaymentService.d.ts b/Ereshkigal-AkiConfig/types/services/PaymentService.d.ts index 0a6c4d6..5834750 100644 --- a/Ereshkigal-AkiConfig/types/services/PaymentService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/PaymentService.d.ts @@ -4,6 +4,7 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PaymentHelper } from "../helpers/PaymentHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; @@ -11,14 +12,14 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; export declare class PaymentService { - private logger; - private httpResponse; - private databaseServer; - private handbookHelper; - private traderHelper; - private itemHelper; - private inventoryHelper; - private paymentHelper; + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected traderHelper: TraderHelper; + protected itemHelper: ItemHelper; + protected inventoryHelper: InventoryHelper; + protected paymentHelper: PaymentHelper; constructor(logger: ILogger, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); /** * Take money and insert items into return to server request @@ -43,6 +44,6 @@ export declare class PaymentService { * inside the stash, that is it has the stash as * ancestor with slotId=hideout */ - private isItemInStash; + protected isItemInStash(pmcData: IPmcData, item: Item): boolean; addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; } diff --git a/Ereshkigal-AkiConfig/types/services/PlayerService.d.ts b/Ereshkigal-AkiConfig/types/services/PlayerService.d.ts index 99e5986..519b7e5 100644 --- a/Ereshkigal-AkiConfig/types/services/PlayerService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/PlayerService.d.ts @@ -3,8 +3,8 @@ import { IPlayerIncrementSkillLevelRequestData } from "../models/eft/player/IPla import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; export declare class PlayerService { - private logger; - private databaseServer; + protected logger: ILogger; + protected databaseServer: DatabaseServer; constructor(logger: ILogger, databaseServer: DatabaseServer); /** * increases the profile skill and updates any output diff --git a/Ereshkigal-AkiConfig/types/services/RagfairCategoriesService.d.ts b/Ereshkigal-AkiConfig/types/services/RagfairCategoriesService.d.ts index fb9efa2..09956cc 100644 --- a/Ereshkigal-AkiConfig/types/services/RagfairCategoriesService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/RagfairCategoriesService.d.ts @@ -1,7 +1,7 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; export declare class RagfairCategoriesService { updateCategories(offers: IRagfairOffer[]): void; - private categories; + protected categories: Record; getCategories(): Record; getCategoryByItemId(itemId: string): number; resetCategories(): void; diff --git a/Ereshkigal-AkiConfig/types/services/RagfairLinkedItemService.d.ts b/Ereshkigal-AkiConfig/types/services/RagfairLinkedItemService.d.ts index 3dbcf6f..6c34ee0 100644 --- a/Ereshkigal-AkiConfig/types/services/RagfairLinkedItemService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/RagfairLinkedItemService.d.ts @@ -1,9 +1,10 @@ import { DatabaseServer } from "../servers/DatabaseServer"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; export declare class RagfairLinkedItemService { - private databaseServer; - private linkedItemsCache; + protected databaseServer: DatabaseServer; + protected linkedItemsCache: Record>; constructor(databaseServer: DatabaseServer); getLinkedItems(linkedSearchId: string): Iterable; - private buildLinkedItemTable; - private getFilters; + protected buildLinkedItemTable(): void; + protected getFilters(item: ITemplateItem, slot: string): string[]; } diff --git a/Ereshkigal-AkiConfig/types/services/RagfairOfferService.d.ts b/Ereshkigal-AkiConfig/types/services/RagfairOfferService.d.ts index 9b1bf8d..7afbf8c 100644 --- a/Ereshkigal-AkiConfig/types/services/RagfairOfferService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/RagfairOfferService.d.ts @@ -1,7 +1,9 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { Item } from "../models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; @@ -10,20 +12,20 @@ import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class RagfairOfferService { - private logger; - private timeUtil; - private databaseServer; - private saveServer; - private ragfairServerHelper; - private profileHelper; - private itemEventRouter; - private httpResponse; - private configServer; - private playerOffersLoaded; - private toUpdate; - private expiredOffers; - private offers; - private ragfairConfig; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected ragfairServerHelper: RagfairServerHelper; + protected profileHelper: ProfileHelper; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected playerOffersLoaded: boolean; + protected toUpdate: Record; + protected expiredOffers: Item[]; + protected offers: IRagfairOffer[]; + protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); getOffers(): IRagfairOffer[]; getOfferByOfferId(offerId: string): IRagfairOffer; @@ -57,8 +59,8 @@ export declare class RagfairOfferService { * Get an array of stale offers that are still shown to player * @returns IRagfairOffer array */ - private getStaleOffers; - private isStale; - private processStaleOffer; - private returnPlayerOffer; + protected getStaleOffers(): IRagfairOffer[]; + protected isStale(offer: IRagfairOffer, time: number): boolean; + protected processStaleOffer(staleOffer: IRagfairOffer): void; + protected returnPlayerOffer(offer: IRagfairOffer): IItemEventRouterResponse; } diff --git a/Ereshkigal-AkiConfig/types/services/RagfairPriceService.d.ts b/Ereshkigal-AkiConfig/types/services/RagfairPriceService.d.ts index 7cdf854..5256b99 100644 --- a/Ereshkigal-AkiConfig/types/services/RagfairPriceService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/RagfairPriceService.d.ts @@ -3,20 +3,22 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { IRagfairServerPrices } from "../models/spt/ragfair/IRagfairServerPrices"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { RandomUtil } from "../utils/RandomUtil"; export declare class RagfairPriceService { - private handbookHelper; - private databaseServer; - private logger; - private itemHelper; - private presetHelper; - private randomUtil; - private configServer; - private ragfairConfig; - private prices; + protected handbookHelper: HandbookHelper; + protected databaseServer: DatabaseServer; + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected randomUtil: RandomUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + protected prices: IRagfairServerPrices; constructor(handbookHelper: HandbookHelper, databaseServer: DatabaseServer, logger: ILogger, itemHelper: ItemHelper, presetHelper: PresetHelper, randomUtil: RandomUtil, configServer: ConfigServer); generateStaticPrices(): void; generateDynamicPrices(): void; diff --git a/Ereshkigal-AkiConfig/types/services/RagfairRequiredItemsService.d.ts b/Ereshkigal-AkiConfig/types/services/RagfairRequiredItemsService.d.ts index e4582d0..b05fc65 100644 --- a/Ereshkigal-AkiConfig/types/services/RagfairRequiredItemsService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/RagfairRequiredItemsService.d.ts @@ -2,10 +2,10 @@ import { PaymentHelper } from "../helpers/PaymentHelper"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class RagfairRequiredItemsService { - private logger; - private paymentHelper; - private ragfairOfferService; - private requiredItemsCache; + protected logger: ILogger; + protected paymentHelper: PaymentHelper; + protected ragfairOfferService: RagfairOfferService; + protected requiredItemsCache: {}; constructor(logger: ILogger, paymentHelper: PaymentHelper, ragfairOfferService: RagfairOfferService); getRequiredItems(searchId: string): any; buildRequiredItemTable(): void; diff --git a/Ereshkigal-AkiConfig/types/services/TraderAssortService.d.ts b/Ereshkigal-AkiConfig/types/services/TraderAssortService.d.ts index ccb9e45..5ba2d05 100644 --- a/Ereshkigal-AkiConfig/types/services/TraderAssortService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/TraderAssortService.d.ts @@ -1,6 +1,6 @@ import { ITraderAssort } from "../models/eft/common/tables/ITrader"; export declare class TraderAssortService { - private pristineTraderAssorts; + protected pristineTraderAssorts: Record; getPristineTraderAssort(traderId: string): ITraderAssort; setPristineTraderAssort(traderId: string, assort: ITraderAssort): void; } diff --git a/Ereshkigal-AkiConfig/types/services/customPresetService.d.ts b/Ereshkigal-AkiConfig/types/services/customPresetService.d.ts new file mode 100644 index 0000000..84a8baf --- /dev/null +++ b/Ereshkigal-AkiConfig/types/services/customPresetService.d.ts @@ -0,0 +1,19 @@ +import { Preset } from "../models/eft/common/IGlobals"; +import { CustomPreset } from "../models/spt/services/CustomPreset"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomPresetService { + protected logger: ILogger; + private customPresets; + constructor(logger: ILogger); + /** + * Add custom preset to internal array + * @param presetKey presets key + * @param presetToAdd preset item to add + */ + add(presetKey: string, presetToAdd: Preset): void; + /** + * Get all custom presets + * @returns + */ + get(): CustomPreset[]; +} diff --git a/Ereshkigal-AkiConfig/types/services/mod/image/imageRouteService.d.ts b/Ereshkigal-AkiConfig/types/services/mod/image/imageRouteService.d.ts index 854083c..29569b2 100644 --- a/Ereshkigal-AkiConfig/types/services/mod/image/imageRouteService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/mod/image/imageRouteService.d.ts @@ -1,5 +1,5 @@ export declare class ImageRouteService { - private routes; + protected routes: Record; addRoute(urlKey: string, route: string): void; getByKey(urlKey: string): string; existsByKey(urlKey: string): boolean; diff --git a/Ereshkigal-AkiConfig/types/services/mod/onLoad/OnLoadModService.d.ts b/Ereshkigal-AkiConfig/types/services/mod/onLoad/OnLoadModService.d.ts index 89bad14..f402103 100644 --- a/Ereshkigal-AkiConfig/types/services/mod/onLoad/OnLoadModService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/mod/onLoad/OnLoadModService.d.ts @@ -1,6 +1,6 @@ import { DependencyContainer } from "tsyringe"; export declare class OnLoadModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerOnLoad(name: string, onLoad: () => void, getRoute: () => string): void; } diff --git a/Ereshkigal-AkiConfig/types/services/mod/onUpdate/OnUpdateModService.d.ts b/Ereshkigal-AkiConfig/types/services/mod/onUpdate/OnUpdateModService.d.ts index 32419f4..05d735b 100644 --- a/Ereshkigal-AkiConfig/types/services/mod/onUpdate/OnUpdateModService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/mod/onUpdate/OnUpdateModService.d.ts @@ -1,6 +1,6 @@ import { DependencyContainer } from "tsyringe"; export declare class OnUpdateModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerOnUpdate(name: string, onUpdate: (timeSinceLastRun: number) => boolean, getRoute: () => string): void; } diff --git a/Ereshkigal-AkiConfig/types/services/mod/staticRouter/StaticRouterModService.d.ts b/Ereshkigal-AkiConfig/types/services/mod/staticRouter/StaticRouterModService.d.ts index d4c42aa..f28fd45 100644 --- a/Ereshkigal-AkiConfig/types/services/mod/staticRouter/StaticRouterModService.d.ts +++ b/Ereshkigal-AkiConfig/types/services/mod/staticRouter/StaticRouterModService.d.ts @@ -1,7 +1,7 @@ import { DependencyContainer } from "tsyringe"; import { RouteAction } from "../../../di/Router"; export declare class StaticRouterModService { - private container; + protected container: DependencyContainer; constructor(container: DependencyContainer); registerStaticRouter(name: string, routes: RouteAction[], topLevelRoute: string): void; } diff --git a/Ereshkigal-AkiConfig/types/utils/App.d.ts b/Ereshkigal-AkiConfig/types/utils/App.d.ts index a11f576..34c141e 100644 --- a/Ereshkigal-AkiConfig/types/utils/App.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/App.d.ts @@ -3,12 +3,12 @@ import { OnLoad } from "../di/OnLoad"; import { OnUpdate } from "../di/OnUpdate"; import { ILogger } from "../models/spt/utils/ILogger"; export declare class App { - private logger; - private timeUtil; - private onLoadComponents; - private onUpdateComponents; - private onUpdateLastRun; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected onLoadComponents: OnLoad[]; + protected onUpdateComponents: OnUpdate[]; + protected onUpdateLastRun: {}; constructor(logger: ILogger, timeUtil: TimeUtil, onLoadComponents: OnLoad[], onUpdateComponents: OnUpdate[]); load(): void; - private update; + protected update(onUpdateComponents: OnUpdate[]): void; } diff --git a/Ereshkigal-AkiConfig/types/utils/AyncQueue.d.ts b/Ereshkigal-AkiConfig/types/utils/AyncQueue.d.ts index a99aa37..da6ab18 100644 --- a/Ereshkigal-AkiConfig/types/utils/AyncQueue.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/AyncQueue.d.ts @@ -1,7 +1,7 @@ import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { ICommand } from "../models/spt/utils/ICommand"; export declare class AsyncQueue implements IAsyncQueue { - private commandsQueue; + protected commandsQueue: ICommand[]; constructor(); waitFor(command: ICommand): Promise; } diff --git a/Ereshkigal-AkiConfig/types/utils/DatabaseImporter.d.ts b/Ereshkigal-AkiConfig/types/utils/DatabaseImporter.d.ts index 97dda30..24c1cd6 100644 --- a/Ereshkigal-AkiConfig/types/utils/DatabaseImporter.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/DatabaseImporter.d.ts @@ -1,18 +1,52 @@ -import { VFS } from "./VFS"; -import { JsonUtil } from "./JsonUtil"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ImageRouter } from "../routers/ImageRouter"; import { OnLoad } from "../di/OnLoad"; +import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; import { ILogger } from "../models/spt/utils/ILogger"; +import { ImageRouter } from "../routers/ImageRouter"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { CustomHandbookItemService } from "../services/CustomHandbookItemService"; +import { CustomItemService } from "../services/CustomItemService"; +import { CustomPresetService } from "../services/customPresetService"; +import { CustomTraderAssortService } from "../services/CustomTraderAssortService"; +import { JsonUtil } from "./JsonUtil"; +import { VFS } from "./VFS"; export declare class DatabaseImporter extends OnLoad { - private logger; - private vfs; - private jsonUtil; - private databaseServer; - private imageRouter; - constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, imageRouter: ImageRouter); + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected customItemService: CustomItemService; + protected customTraderAssortService: CustomTraderAssortService; + protected customHandbookItemService: CustomHandbookItemService; + protected customPresetService: CustomPresetService; + protected imageRouter: ImageRouter; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, customItemService: CustomItemService, customTraderAssortService: CustomTraderAssortService, customHandbookItemService: CustomHandbookItemService, customPresetService: CustomPresetService, imageRouter: ImageRouter); onLoad(): void; + /** + * Read all json files in database folder and map into a json object + * @param filepath path to database folder + */ + protected hydrateDatabase(filepath: string): void; + /** + * Get all items added through CustomItemService and add to database.templates.items + * @param dataToImport db data to amend + */ + protected addCustomItemsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all assorts added through CustomTraderAssortService and add to database.traders[x].assort + * @param dataToImport db data to amend + */ + protected addCustomTraderAssortsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all custom handbook items added through CustomHandbookItemService and add to database.templates.handbook.items + * @param dataToImport db data to amend + */ + protected addCustomHandbookItemsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all custom preset items added through CustomPresetService and add to database.globals.ItemPresets + * @param dataToImport + */ + protected addCustomPresetsToDb(dataToImport: IDatabaseTables): void; getRoute(): string; - loadRecursive(filepath: string): any; + loadRecursive(filepath: string): IDatabaseTables; loadImages(filepath: string): void; } diff --git a/Ereshkigal-AkiConfig/types/utils/HashUtil.d.ts b/Ereshkigal-AkiConfig/types/utils/HashUtil.d.ts index cf92b47..bacbf2a 100644 --- a/Ereshkigal-AkiConfig/types/utils/HashUtil.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/HashUtil.d.ts @@ -2,7 +2,7 @@ import crypto from "crypto"; import { TimeUtil } from "./TimeUtil"; export declare class HashUtil { - private timeUtil; + protected timeUtil: TimeUtil; constructor(timeUtil: TimeUtil); generate(): string; generateMd5ForData(data: string): string; diff --git a/Ereshkigal-AkiConfig/types/utils/HttpResponseUtil.d.ts b/Ereshkigal-AkiConfig/types/utils/HttpResponseUtil.d.ts index 85c28bd..29502be 100644 --- a/Ereshkigal-AkiConfig/types/utils/HttpResponseUtil.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/HttpResponseUtil.d.ts @@ -3,9 +3,9 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; export declare class HttpResponseUtil { - private jsonUtil; + protected jsonUtil: JsonUtil; constructor(jsonUtil: JsonUtil); - private clearString; + protected clearString(s: string): any; noBody(data: any): any; getBody(data: T, err?: number, errmsg?: any): IGetBodyResponseData; getUnclearedBody(data: any, err?: number, errmsg?: any): string; diff --git a/Ereshkigal-AkiConfig/types/utils/JsonUtil.d.ts b/Ereshkigal-AkiConfig/types/utils/JsonUtil.d.ts index 20b7448..71e95f6 100644 --- a/Ereshkigal-AkiConfig/types/utils/JsonUtil.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/JsonUtil.d.ts @@ -2,10 +2,10 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { HashUtil } from "./HashUtil"; import { VFS } from "./VFS"; export declare class JsonUtil { - private vfs; - private hashUtil; - private logger; - private fileHashes; + protected vfs: VFS; + protected hashUtil: HashUtil; + protected logger: ILogger; + protected fileHashes: any; constructor(vfs: VFS, hashUtil: HashUtil, logger: ILogger); /** * From object to string diff --git a/Ereshkigal-AkiConfig/types/utils/Logger.d.ts b/Ereshkigal-AkiConfig/types/utils/Logger.d.ts index 9d5b32a..f5b774b 100644 --- a/Ereshkigal-AkiConfig/types/utils/Logger.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/Logger.d.ts @@ -1,18 +1,43 @@ /// import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; import { ILogger } from "../models/spt/utils/ILogger"; +import winston from "winston"; import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; import fs from "fs"; +interface SptLogger { + error: (msg: string | Record) => void; + warn: (msg: string | Record) => void; + succ?: (msg: string | Record) => void; + info: (msg: string | Record) => void; + debug: (msg: string | Record) => void; +} export declare class WinstonLogger implements ILogger { - private asyncQueue; - private uuidGenerator; - private showDebugInConsole; - private folderPath; - private file; - private filePath; - private logLevels; - private logger; + protected asyncQueue: IAsyncQueue; + protected uuidGenerator: IUUidGenerator; + protected showDebugInConsole: boolean; + protected folderPath: string; + protected file: string; + protected filePath: string; + protected logLevels: { + levels: { + error: number; + warn: number; + succ: number; + info: number; + custom: number; + debug: number; + }; + colors: { + error: string; + warn: string; + succ: string; + info: string; + custom: string; + debug: string; + }; + }; + protected logger: winston.Logger & SptLogger; writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; constructor(asyncQueue: IAsyncQueue, uuidGenerator: IUUidGenerator); writeToLogFile(data: string | Daum): Promise; @@ -23,3 +48,4 @@ export declare class WinstonLogger implements ILogger { info(data: string | Record): Promise; debug(data: string | Record, onlyShowInConsole?: boolean): Promise; } +export {}; diff --git a/Ereshkigal-AkiConfig/types/utils/ObjectId.d.ts b/Ereshkigal-AkiConfig/types/utils/ObjectId.d.ts index b100572..03aae56 100644 --- a/Ereshkigal-AkiConfig/types/utils/ObjectId.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/ObjectId.d.ts @@ -1,13 +1,13 @@ /// import { TimeUtil } from "./TimeUtil"; export declare class ObjectId { - private timeUtil; + protected timeUtil: TimeUtil; constructor(timeUtil: TimeUtil); - private randomBytes; - private constglobalCounter; - private consttime; - private globalCounter; - private time; + protected randomBytes: Buffer; + protected constglobalCounter: number; + protected consttime: number; + protected globalCounter: number; + protected time: number; incGlobalCounter(): number; toHexString(byteArray: string | any[] | Buffer): string; generate(): string; diff --git a/Ereshkigal-AkiConfig/types/utils/RandomUtil.d.ts b/Ereshkigal-AkiConfig/types/utils/RandomUtil.d.ts index 3a3ecb6..c24dd60 100644 --- a/Ereshkigal-AkiConfig/types/utils/RandomUtil.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/RandomUtil.d.ts @@ -103,8 +103,8 @@ export declare class ProbabilityObject { constructor(key: K, relativeProbability: number, data?: V); } export declare class RandomUtil { - private jsonUtil; - private logger; + protected jsonUtil: JsonUtil; + protected logger: ILogger; constructor(jsonUtil: JsonUtil, logger: ILogger); getInt(min: number, max: number): number; getIntEx(max: number): number; diff --git a/Ereshkigal-AkiConfig/types/utils/VFS.d.ts b/Ereshkigal-AkiConfig/types/utils/VFS.d.ts index d567615..e5eaf02 100644 --- a/Ereshkigal-AkiConfig/types/utils/VFS.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/VFS.d.ts @@ -1,11 +1,12 @@ /// +/// import "reflect-metadata"; import fs from "fs"; import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; export declare class VFS { - private asyncQueue; - private uuidGenerator; + protected asyncQueue: IAsyncQueue; + protected uuidGenerator: IUUidGenerator; accessFilePromisify: (path: fs.PathLike, mode?: number) => Promise; copyFilePromisify: (src: fs.PathLike, dst: fs.PathLike, flags?: number) => Promise; mkdirPromisify: (path: fs.PathLike, options: fs.MakeDirectoryOptions & { diff --git a/Ereshkigal-AkiConfig/types/utils/Watermark.d.ts b/Ereshkigal-AkiConfig/types/utils/Watermark.d.ts index 3a8cb3a..111bdd0 100644 --- a/Ereshkigal-AkiConfig/types/utils/Watermark.d.ts +++ b/Ereshkigal-AkiConfig/types/utils/Watermark.d.ts @@ -1,20 +1,32 @@ +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; export declare class WatermarkLocale { - private locales; + protected locales: { + "en-US": { + description: string[]; + warning: string[]; + modding: string[]; + }; + "zh-CN": { + description: string[]; + warning: string[]; + modding: string[]; + }; + }; getLocale(): string; getDescription(): string[]; getWarning(): string[]; getModding(): string[]; } export declare class Watermark { - private logger; - private configServer; - private watermarkLocale?; - private akiConfig; + protected logger: ILogger; + protected configServer: ConfigServer; + protected watermarkLocale?: WatermarkLocale; + protected akiConfig: ICoreConfig; constructor(logger: ILogger, configServer: ConfigServer, watermarkLocale?: WatermarkLocale); - private text; - private versionLabel; + protected text: string[]; + protected versionLabel: string; initialize(): void; getVersionTag(): string; getVersionLabel(): string; @@ -25,5 +37,5 @@ export declare class Watermark { /** Draw the watermark */ draw(): void; /** Caculate text length */ - private textLength; + protected textLength(s: string): number; } From 40f35b70029c6f64c1abace0ccbf1291d2a71a6f Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Sun, 26 Jun 2022 12:08:43 -0400 Subject: [PATCH 02/10] Fix Weight Changes option --- Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts index 93965e1..cb8af37 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/items.ts @@ -33,9 +33,13 @@ export class Items } // Weight Change, only Multiple possible - if (typeof this.configHandler.getConfig().items.weightChanges !== "boolean" && typeof this.configHandler.getConfig().items.weightChanges === "number" && this.configHandler.getConfig().items.weightChanges <= 0) + if (typeof this.configHandler.getConfig().items.weightChanges !== "boolean" && typeof this.configHandler.getConfig().items.weightChanges === "number" && this.configHandler.getConfig().items.weightChanges >= 0) { - this.editSimpleItemData(id, "Weight", (base._props.Weight * this.configHandler.getConfig().items.weightChanges)); + //Exclude nodes, inventory and pockets from the weight changer + if (base._type !== "Node" && base._parent !== BaseClasses.POCKETS && base._parent !== BaseClasses.INVENTORY) + { + this.editSimpleItemData(id, "Weight", (base._props.Weight * this.configHandler.getConfig().items.weightChanges)); + } } if (this.configHandler.getConfig().items.removeAllGearPenalties) From 9fc91006924438e19169881b4a4fc80ae6593a16 Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Sun, 26 Jun 2022 12:09:25 -0400 Subject: [PATCH 03/10] Fix Weight Changes option --- Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts index 93965e1..cb8af37 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/src/items.ts @@ -33,9 +33,13 @@ export class Items } // Weight Change, only Multiple possible - if (typeof this.configHandler.getConfig().items.weightChanges !== "boolean" && typeof this.configHandler.getConfig().items.weightChanges === "number" && this.configHandler.getConfig().items.weightChanges <= 0) + if (typeof this.configHandler.getConfig().items.weightChanges !== "boolean" && typeof this.configHandler.getConfig().items.weightChanges === "number" && this.configHandler.getConfig().items.weightChanges >= 0) { - this.editSimpleItemData(id, "Weight", (base._props.Weight * this.configHandler.getConfig().items.weightChanges)); + //Exclude nodes, inventory and pockets from the weight changer + if (base._type !== "Node" && base._parent !== BaseClasses.POCKETS && base._parent !== BaseClasses.INVENTORY) + { + this.editSimpleItemData(id, "Weight", (base._props.Weight * this.configHandler.getConfig().items.weightChanges)); + } } if (this.configHandler.getConfig().items.removeAllGearPenalties) From 48d66c0c22af659c50bfa5249fb02f1c0baf8d7f Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Sun, 26 Jun 2022 12:10:21 -0400 Subject: [PATCH 04/10] Increment build number --- Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json | 2 +- Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json index 30ee5a7..2e8491b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/dist/package.json @@ -1,6 +1,6 @@ { "name": "AllinOneMod", - "version": "3.0.1", + "version": "3.0.2", "main": "src/mod.js", "license": "CC-BY-NC-ND 4.0", "author": "Ereshkigal", diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json index 30ee5a7..2e8491b 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json @@ -1,6 +1,6 @@ { "name": "AllinOneMod", - "version": "3.0.1", + "version": "3.0.2", "main": "src/mod.js", "license": "CC-BY-NC-ND 4.0", "author": "Ereshkigal", From d4bf80cbc6566a09f138b660d846718e0e12486c Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Sun, 26 Jun 2022 12:25:24 -0400 Subject: [PATCH 05/10] Fix WeightChanges option --- Ereshkigal-AkiConfig/config/config.json | 3 +- Ereshkigal-AkiConfig/models/IConfig.ts | 1 - Ereshkigal-AkiConfig/models/ILocale.ts | 1 - Ereshkigal-AkiConfig/src/bots.ts | 29 ++++++++----- Ereshkigal-AkiConfig/src/generator.ts | 56 ++++++++++++++++--------- Ereshkigal-AkiConfig/src/mod.ts | 1 + 6 files changed, 56 insertions(+), 35 deletions(-) diff --git a/Ereshkigal-AkiConfig/config/config.json b/Ereshkigal-AkiConfig/config/config.json index 1c8f897..e270dad 100644 --- a/Ereshkigal-AkiConfig/config/config.json +++ b/Ereshkigal-AkiConfig/config/config.json @@ -42,8 +42,7 @@ } } } - }, - "enableChristmasGifts": false + } }, "Raids values": { "Loot values": { diff --git a/Ereshkigal-AkiConfig/models/IConfig.ts b/Ereshkigal-AkiConfig/models/IConfig.ts index 790720a..6a3cb03 100644 --- a/Ereshkigal-AkiConfig/models/IConfig.ts +++ b/Ereshkigal-AkiConfig/models/IConfig.ts @@ -215,7 +215,6 @@ export interface ServerValues http: HTTP; health: Health; hideout: Hideout; - enableChristmasGifts: boolean; } export interface RaidsValues diff --git a/Ereshkigal-AkiConfig/models/ILocale.ts b/Ereshkigal-AkiConfig/models/ILocale.ts index c7c4943..84f2fc6 100644 --- a/Ereshkigal-AkiConfig/models/ILocale.ts +++ b/Ereshkigal-AkiConfig/models/ILocale.ts @@ -215,7 +215,6 @@ export interface ServerValues http: HTTP; health: Health; hideout: Hideout; - enableChristmasGifts: boolean; } export interface RaidsValues diff --git a/Ereshkigal-AkiConfig/src/bots.ts b/Ereshkigal-AkiConfig/src/bots.ts index 984e2a2..2730a86 100644 --- a/Ereshkigal-AkiConfig/src/bots.ts +++ b/Ereshkigal-AkiConfig/src/bots.ts @@ -1,18 +1,25 @@ -/* -エレシュキガル -*/ +import { inject, injectable } from "tsyringe"; +import type { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { AkiConfigHandler } from "./AkiConfigHandler"; -"use strict"; - -class bots +@injectable() +export class bots { - static applyValues() + constructor( + @inject("AkiConfigHandler") private configHandler: AkiConfigHandler, + @inject("DatabaseServer") private database: DatabaseServer + ) + {} + + public applyChanges(): void { - const bots = BotConfig; - const config = require('../../config/pmcConfig.json'); + const configServer = container.resolve("ConfigServer"); + const BotConfig = configServer.getConfig(ConfigTypes.BOT); - const pmcsConfig = config.pmc.types - for (const bot in pmcsConfig) { + const pmcsConfig = this.configHandler.getPmcConfig().pmc.types + for (const bot in pmcsConfig) + { switch (bot) { default: bots.pmc.types[bot] = pmcsConfig[bot] diff --git a/Ereshkigal-AkiConfig/src/generator.ts b/Ereshkigal-AkiConfig/src/generator.ts index 0ecba6e..b03b547 100644 --- a/Ereshkigal-AkiConfig/src/generator.ts +++ b/Ereshkigal-AkiConfig/src/generator.ts @@ -1,20 +1,37 @@ -/* -エレシュキガル -*/ +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { inject, injectable } from "tsyringe"; +import { VFS } from "@spt-aki/utils/VFS"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig"; +import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; +import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; -"use strict"; +@injectable() +export class AkiGenerator +{ + private mod; + private firstRun; -class generator { - static createConfig(file) { - const mod = require("../../package.json"); + constructor( + @inject("WinstonLogger") private logger: ILogger + ) + {} + + private createConfig(file: string): void + { + this.mod = require("../package.json"); this.firstRun = true; let config = null; let dailyConfig = null; let pmcConfig = null; /* - Generate the whole configuration on first run - This way the default values are always up to date to AKI. - */ + Generate the whole configuration on first run + This way the default values are always up to date to AKI. + */ //The default file type must be an object config = { @@ -41,7 +58,7 @@ class generator { pmcConfig = {}; //We will have to gather every config that exists atm and throw them together into the object - const bots = BotConfig; + const bots = ConfigServer.getConfig(ConfigTypes.BOT); const health = HealthConfig; const hideout = HideoutConfig; const http = HttpConfig; @@ -128,7 +145,7 @@ class generator { } else { - Logger.warning(`[AKI-CONFIG] - Generating ${file} file`) + this.logger.warning(`[AKI-CONFIG] - Generating ${file} file`) let toWrite = null if(file === "config"){toWrite = config}else if(file === 'dailyConfig'){toWrite = dailyConfig}else if(file === 'pmcConfig'){toWrite = pmcConfig} VFS.writeFile( @@ -136,10 +153,11 @@ class generator { JsonUtil.serialize(toWrite, true) ); } - Logger.error("[AKI-Config]: New configuration file created, please restart your server to use it."); + this.logger.error("[AKI-Config]: New configuration file created, please restart your server to use it."); } - static checkConfigExisting() { + public checkConfigExisting(): void + { const mod = require("../../package.json"); const modPath = ModLoader.getModPath(mod.name); const validation = []; @@ -162,12 +180,12 @@ class generator { } //All configurations files existing if ((validation.length === 3)) { - Logger.success( + this.logger.success( `[AKI-CONFIG] - All configurations files already created, all green.` ); } else { //One of the 3 file is missing, we only want to regenerate the missing one - Logger.error( + this.logger.error( `[AKI-CONFIG] - A config file is missing. Generating the missing file` ); @@ -182,12 +200,10 @@ class generator { } } } else { - Logger.warning( + this.logger.warning( "First time AKI-Configurator is run, generating the config file..." ); this.createConfig(null); } } -} - -module.exports = generator; \ No newline at end of file +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/mod.ts b/Ereshkigal-AkiConfig/src/mod.ts index 034995b..8bc0601 100644 --- a/Ereshkigal-AkiConfig/src/mod.ts +++ b/Ereshkigal-AkiConfig/src/mod.ts @@ -1,6 +1,7 @@ import { DependencyContainer, Lifecycle } from "tsyringe"; import type { IMod } from "@spt-aki/models/external/mod"; import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { Bots } from "./bots"; class AkiConfig implements IMod { From b79d931202b4212dbdc5ffb3e653ef6cc2aa52f3 Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Sun, 26 Jun 2022 17:59:47 -0400 Subject: [PATCH 06/10] fix bad lable --- Ereshkigal-AIO/ZEreshkigal-AllinOneMod/locale/locale.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/locale/locale.json b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/locale/locale.json index 665359c..2a84a16 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/locale/locale.json +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/locale/locale.json @@ -56,7 +56,7 @@ "unlimitedStamina": "UnlimitedStamina option is incorrect, it must be true to activate or false to disable. check the readme.pdf for more info.", "removeInRaidsRestrictions": "RemoveInRaidsRestrictions option is incorrect, it must be true to activate or false to disable. check the readme.pdf for more info.", "allSkillsMaster": "AllSkillsMaster option is incorrect, it must be true to activate or false to disable. check the readme.pdf for more info.", - "removeScavKarma": "AllSkillsMaster option is incorrect, it must be true to activate or false to disable. check the readme.pdf for more info.", + "removeScavKarma": "RemoveScavKarma option is incorrect, it must be true to activate or false to disable. check the readme.pdf for more info.", "enableSkillBotReload": "EnableSkillBotReload option is incorrect, it must be true to activate or false to disable. check the readme.pdf for more info.", "enableSkillBotSound": "EnableSkillBotSound option is incorrect, it must be true to activate or false to disable. check the readme.pdf for more info.", "disableFallDamage": "DisableFallDamage option is incorrect, it must be true to activate or false to disable. check the readme.pdf for more info.", From 6b14c7d91a8c722f291aad3d8b0748de6aa9d653 Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Sun, 26 Jun 2022 18:00:13 -0400 Subject: [PATCH 07/10] Update version --- Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json index 2e8491b..61e68ae 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/package.json @@ -1,6 +1,6 @@ { "name": "AllinOneMod", - "version": "3.0.2", + "version": "3.0.3", "main": "src/mod.js", "license": "CC-BY-NC-ND 4.0", "author": "Ereshkigal", From 0ccced991556bbf1f2ced10520f3d31d17555e15 Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Mon, 27 Jun 2022 00:11:22 -0400 Subject: [PATCH 08/10] WIP, ready for preliminary testing --- .../src/Notifications.ts | 3 +- Ereshkigal-AkiConfig/config/config.json | 46 +- Ereshkigal-AkiConfig/locale/locale.json | 43 +- Ereshkigal-AkiConfig/models/IConfig.ts | 34 +- Ereshkigal-AkiConfig/models/ILocale.ts | 34 +- Ereshkigal-AkiConfig/src/Notifications.ts | 848 +----------------- Ereshkigal-AkiConfig/src/bots.ts | 38 +- Ereshkigal-AkiConfig/src/generator.ts | 201 +++-- Ereshkigal-AkiConfig/src/mod.ts | 38 +- Ereshkigal-AkiConfig/src/quests.ts | 33 +- Ereshkigal-AkiConfig/src/ragfair.ts | 66 +- Ereshkigal-AkiConfig/src/raids.ts | 51 +- Ereshkigal-AkiConfig/src/server.ts | 45 +- Ereshkigal-AkiConfig/src/traders.ts | 55 +- Ereshkigal-AkiConfig/src/weather.ts | 30 +- 15 files changed, 462 insertions(+), 1103 deletions(-) diff --git a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/Notifications.ts b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/Notifications.ts index 41009f3..e094f39 100644 --- a/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/Notifications.ts +++ b/Ereshkigal-AIO/ZEreshkigal-AllinOneMod/src/Notifications.ts @@ -13,14 +13,13 @@ export class Notifications public sendNotifications(): void { - const config = this.configHandler.getConfig(); const locale = this.configHandler.getLocales(); if (!config.other.hideWarningMessage) { this.logger.log("[AIO Mod INFORMATION]", "yellow"); - this.logger.info("Please read the README.PDF carefully as this has all the information you need."); + this.logger.info("Please read the AIO README.pdf carefully as this has all the information you need."); this.logger.log("[AIO Mod INFORMATION]", "yellow"); } diff --git a/Ereshkigal-AkiConfig/config/config.json b/Ereshkigal-AkiConfig/config/config.json index e270dad..cc8d875 100644 --- a/Ereshkigal-AkiConfig/config/config.json +++ b/Ereshkigal-AkiConfig/config/config.json @@ -41,12 +41,12 @@ "max": 2000 } } - } + }, + "fuelDrainRateMultipler": 1 } }, "Raids values": { "Loot values": { - "allowLootOverlay": false, "looseLootMultiplier": { "bigmap": 1, "develop": 1, @@ -82,27 +82,25 @@ "tarkovstreets": 1, "terminal": 1, "town": 1 - }, - "limits": { - "bigmap": 1000, - "develop": 30, - "factory4_day": 100, - "factory4_night": 100, - "interchange": 2000, - "laboratory": 1000, - "rezervbase": 3000, - "shoreline": 1000, - "woods": 200, - "hideout": 0, - "lighthouse": 1500, - "privatearea": 0, - "suburbs": 0, - "tarkovstreets": 0, - "terminal": 0, - "town": 0 } }, - "Airdrop values": {}, + "Airdrop values": { + "airdropChancePercent": { + "bigmap": 25, + "woods": 25, + "lighthouse": 25, + "shoreline": 25, + "interchange": 25, + "reserve": 25 + }, + "airdropMinStartTimeSeconds": 60, + "airdropMaxStartTimeSeconds": 300, + "airdropMinOpenHeight": 350, + "airdropMaxOpenHeight": 400, + "planeMinFlyHeight": 400, + "planeMaxFlyHeight": 500, + "planeVolume": 1 + }, "MIAOnRaidEnd": false, "raidMenuSettings": { "aiAmount": "AsOnline", @@ -329,5 +327,9 @@ "max": 764 } } - } + }, + "other": { + "hideWarningMessage": true, + "showModLogs": true + } } \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/locale/locale.json b/Ereshkigal-AkiConfig/locale/locale.json index 76b1b9f..831636b 100644 --- a/Ereshkigal-AkiConfig/locale/locale.json +++ b/Ereshkigal-AkiConfig/locale/locale.json @@ -44,7 +44,6 @@ }, "Raids values": { "Loot values": { - "allowLootOverlay": "", "looseLootMultiplier": { "bigmap": "", "develop": "", @@ -80,27 +79,25 @@ "tarkovstreets": "", "terminal": "", "town": "" - }, - "limits": { - "bigmap": "", - "develop": "", - "factory4day": "", - "factory4night": "", - "interchange": "", - "laboratory": "", - "rezervbase": "", - "shoreline": "", - "woods": "", - "hideout": "", - "lighthouse": "", - "privatearea": "", - "suburbs": "", - "tarkovstreets": "", - "terminal": "", - "town": "" } }, - "Airdrop values": {}, + "Airdrop values": { + "airdropChancePercent": { + "bigmap": "", + "woods": "", + "lighthouse": "", + "shoreline": "", + "interchange": "", + "reserve": "" + }, + "airdropMinStartTimeSeconds": "", + "airdropMaxStartTimeSeconds": "", + "airdropMinOpenHeight": "", + "airdropMaxOpenHeight": "", + "planeMinFlyHeight": "", + "planeMaxFlyHeight": "", + "planeVolume": "" + }, "MIAOnRaidEnd": "", "raidMenuSettings": { "aiAmount": "", @@ -249,5 +246,9 @@ "max": "" } } - } + }, + "other": { + "hideWarningMessage": "", + "showModLogs": "" + } } \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/models/IConfig.ts b/Ereshkigal-AkiConfig/models/IConfig.ts index 6a3cb03..12af60c 100644 --- a/Ereshkigal-AkiConfig/models/IConfig.ts +++ b/Ereshkigal-AkiConfig/models/IConfig.ts @@ -54,6 +54,7 @@ export interface Hideout { runIntervalSeconds: number; scavCase: ScavCase; + fuelDrainRateMultipler: number; } export interface LootMultiplier @@ -78,10 +79,30 @@ export interface LootMultiplier export interface LootValues { - allowLootOverlay: boolean; looseLootMultiplier: LootMultiplier; staticLootMultiplier: LootMultiplier; - limits: LootMultiplier; +} + +export interface AirdropChancePercent +{ + bigmap: number; + woods: number; + lighthouse: number; + shoreline: number; + interchange: number; + reserve: number; +} + +export interface AirdropValues +{ + airdropChancePercent: AirdropChancePercent; + airdropMinOpenHeight: number; + airdropMaxOpenHeight: number; + planeMinFlyHeight: number; + planeMaxFlyHeight: number; + planeVolume: number; + airdropMinStartTimeSeconds: number; + airdropMaxStartTimeSeconds: number; } export interface RaidMenuSettings @@ -210,6 +231,12 @@ export interface Weather pressure: MinMax; } +export interface Other +{ + hideWarningMessage: boolean; + showModLogs: boolean; +} + export interface ServerValues { http: HTTP; @@ -220,7 +247,7 @@ export interface ServerValues export interface RaidsValues { lootValues: LootValues; - airdropValues: any; + airdropValues: AirdropValues; miaOnRaidEnd: boolean; raidMenuSettings: RaidMenuSettings; save: RaidsValuesSave; @@ -258,4 +285,5 @@ export interface IConfig tradersValues: TradersValues; fleaMarketConfiguration: FleaMarketConfiguration; weatherValues: WeatherValues; + other: Other; } \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/models/ILocale.ts b/Ereshkigal-AkiConfig/models/ILocale.ts index 84f2fc6..eb4fe3d 100644 --- a/Ereshkigal-AkiConfig/models/ILocale.ts +++ b/Ereshkigal-AkiConfig/models/ILocale.ts @@ -54,6 +54,7 @@ export interface Hideout { runIntervalSeconds: string; scavCase: ScavCase; + fuelDrainRateMultipler: number; } export interface LootMultiplier @@ -78,10 +79,30 @@ export interface LootMultiplier export interface LootValues { - allowLootOverlay: boolean; looseLootMultiplier: LootMultiplier; staticLootMultiplier: LootMultiplier; - limits: LootMultiplier; +} + +export interface AirdropChancePercent +{ + bigmap: number; + woods: number; + lighthouse: number; + shoreline: number; + interchange: number; + reserve: number; +} + +export interface AirdropValues +{ + airdropChancePercent: AirdropChancePercent; + airdropMinOpenHeight: number; + airdropMaxOpenHeight: number; + planeMinFlyHeight: number; + planeMaxFlyHeight: number; + planeVolume: number; + airdropMinStartTimeSeconds: number; + airdropMaxStartTimeSeconds: number; } export interface RaidMenuSettings @@ -210,6 +231,12 @@ export interface Weather pressure: MinMax; } +export interface Other +{ + hideWarningMessage: boolean; + showModLogs: boolean; +} + export interface ServerValues { http: HTTP; @@ -220,7 +247,7 @@ export interface ServerValues export interface RaidsValues { lootValues: LootValues; - airdropValues: string; + airdropValues: AirdropValues; miaOnRaidEnd: boolean; raidMenuSettings: RaidMenuSettings; save: RaidsValuesSave; @@ -258,4 +285,5 @@ export interface ILocale tradersValues: TradersValues; fleaMarketConfiguration: FleaMarketConfiguration; weatherValues: WeatherValues; + other: Other; } \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/Notifications.ts b/Ereshkigal-AkiConfig/src/Notifications.ts index 41009f3..385da6b 100644 --- a/Ereshkigal-AkiConfig/src/Notifications.ts +++ b/Ereshkigal-AkiConfig/src/Notifications.ts @@ -1,866 +1,28 @@ import { inject, injectable } from "tsyringe"; import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; -import { AIOConfigHandler } from "./AIOConfigHandler"; +import { AkiConfigHandler } from "./AkiConfigHandler"; @injectable() export class Notifications { constructor( @inject("WinstonLogger") private logger: ILogger, - @inject("AIOConfigHandler") private configHandler: AIOConfigHandler + @inject("AkiConfigHandler") private configHandler: AkiConfigHandler ) {} public sendNotifications(): void { - const config = this.configHandler.getConfig(); const locale = this.configHandler.getLocales(); if (!config.other.hideWarningMessage) { - this.logger.log("[AIO Mod INFORMATION]", "yellow"); - this.logger.info("Please read the README.PDF carefully as this has all the information you need."); - this.logger.log("[AIO Mod INFORMATION]", "yellow"); + this.logger.log("[AIO Config INFORMATION]", "yellow"); + this.logger.info("Please read the AKICONFIG README.pdf carefully as this has all the information you need."); + this.logger.log("[AIO Config INFORMATION]", "yellow"); } - //Items: - // All Examined Items: - if (config.items.allExaminedItems) - { - this.logger.info("AllInOne Mod: AllExaminedItems activated."); - if (typeof config.items.allExaminedItems !== "boolean") - { - this.logger.warning(locale.items.allExaminedItems); - } - } - - // Weight Changes: - if (config.items.weightChanges !== false) - { - this.logger.info("AllInOne Mod: WeightChanges activated."); - if (typeof config.items.weightChanges !== "boolean" && config.items.weightChanges <= 0) - { - this.logger.warning(locale.items.weightChanges); - } - } - - // More Stack: - if (config.items.moreStack !== false) - { - this.logger.info("AllInOne Mod: moreStack activated."); - if (typeof config.items.moreStack !== "number") - { - this.logger.warning(locale.items.moreStack); - } - } - - // Equip Rigs With Armors: - if (config.items.equipRigsWithArmors) - { - this.logger.info("AllInOne Mod: equipRigsWithArmors activated."); - if (typeof config.items.equipRigsWithArmors !== "boolean") - { - this.logger.warning(locale.items.equipRigsWithArmors); - } - } - - // Force Money Stack: - if (config.items.forceMoneyStack !== false) - { - this.logger.info("AllInOne Mod: forceMoneyStack activated."); - if (typeof config.items.forceMoneyStack !== "number") - { - this.logger.warning(locale.items.forceMoneyStack); - } - } - - // Remove Secure Container Filters: - if (config.items.removeSecureContainerFilters) - { - this.logger.info("AllInOne Mod: removeSecureContainerFilters activated."); - if (typeof config.items.removeSecureContainerFilters !== "boolean") - { - this.logger.warning(locale.items.removeSecureContainerFilters); - } - } - - // Remove Backpack Restrictions: - if (config.items.removeBackpacksRestrictions) - { - this.logger.info("AllInOne Mod: removeBackpacksRestrictions activated."); - if (typeof config.items.removeBackpacksRestrictions !== "boolean") - { - this.logger.warning(locale.items.removeBackpacksRestrictions); - } - } - - // Remove Secure Container Filters: - if (config.items.removeContainersRestrictions) - { - this.logger.info("AllInOne Mod: removeContainersRestrictions activated."); - if (typeof config.items.removeContainersRestrictions !== "boolean") - { - this.logger.warning(locale.items.removeContainersRestrictions); - } - } - - // In Raid Moddable - if (config.items.inRaidModdable) - { - this.logger.info("AllInOne Mod: inRaidModdable activated."); - if (typeof config.items.inRaidModdable !== "boolean") - { - this.logger.warning(locale.items.inRaidModdable); - } - } - - // Increase Loot Exp - if (config.items.increaseLootExp !== false) - { - this.logger.info("AllInOne Mod: increaseLootExp activated."); - if (typeof config.items.increaseLootExp !== "number") - { - this.logger.warning(locale.items.increaseLootExp); - } - } - - // Increase Examine Exp - if (config.items.increaseExamineExp !== false) - { - this.logger.info("AllInOne Mod: increaseExamineExp activated."); - if (typeof config.items.increaseExamineExp !== "number") - { - this.logger.warning(locale.items.increaseExamineExp); - } - } - - // Remove Key Usage Number - if (config.items.removeKeyUsageNumber) - { - this.logger.info("AllInOne Mod: removeKeyUsageNumber activated."); - if (typeof config.items.removeKeyUsageNumber !== "boolean") - { - this.logger.warning(locale.items.removeKeyUsageNumber); - } - } - - // Stackable Barters - if (config.items.stackableBarters.activated) - { - this.logger.info("AllInOne Mod: stackableBarters activated."); - if (typeof config.items.stackableBarters.activated !== "boolean") - { - this.logger.warning(locale.items.stackableBarters); - } - } - - // Weapon Malf - Overheat - if (config.items.weaponMalfunctions.overheat) - { - this.logger.info("AllInOne Mod: weaponMalfunctions.overheat activated."); - if (typeof config.items.weaponMalfunctions.overheat !== "boolean") - { - this.logger.warning(locale.items.weaponMalfunctions.overheat); - } - } - - // Weapon Malf - jam - if (config.items.weaponMalfunctions.jam) - { - this.logger.info("AllInOne Mod: weaponMalfunctions.jam activated."); - if (typeof config.items.weaponMalfunctions.jam !== "boolean") - { - this.logger.warning(locale.items.weaponMalfunctions.jam); - } - } - - // Weapon Malf - slide - if (config.items.weaponMalfunctions.slide) - { - this.logger.info("AllInOne Mod: weaponMalfunctions.slide activated."); - if (typeof config.items.weaponMalfunctions.slide !== "boolean") - { - this.logger.warning(locale.items.weaponMalfunctions.slide); - } - } - - // Weapon Malf - misfire - if (config.items.weaponMalfunctions.misfire) - { - this.logger.info("AllInOne Mod: weaponMalfunctions.misfire activated."); - if (typeof config.items.weaponMalfunctions.misfire !== "boolean") - { - this.logger.warning(locale.items.weaponMalfunctions.misfire); - } - } - - // Weapon Malf - misfire - if (config.items.weaponMalfunctions.feed) - { - this.logger.info("AllInOne Mod: weaponMalfunctions.feed activated."); - if (typeof config.items.weaponMalfunctions.feed !== "boolean") - { - this.logger.warning(locale.items.weaponMalfunctions.feed); - } - } - - // Weapon Dura - Min - if (config.items.weaponDurabilities.minimumSpawnDurability !== false) - { - this.logger.info("AllInOne Mod: weaponsDurabilities.minimumSpawnDurability activated."); - if (typeof config.items.weaponDurabilities.minimumSpawnDurability !== "number") - { - this.logger.warning(locale.items.weaponDurabilities.minimumSpawnDurability); - } - } - - // Weapon Dura - Max - if (config.items.weaponDurabilities.maximumSpawnDurability !== false) - { - this.logger.info("AllInOne Mod: weaponsDurabilities.maximumSpawnDurability activated."); - if (typeof config.items.weaponDurabilities.maximumSpawnDurability !== "number") - { - this.logger.warning(locale.items.weaponDurabilities.maximumSpawnDurability); - } - } - - // Remove All Gear Penalties - if (config.items.removeAllGearPenalties) - { - this.logger.info("AllInOne Mod: removeAllGearPenalties activated."); - if (typeof config.items.removeAllGearPenalties !== "boolean") - { - this.logger.warning(locale.items.removeAllGearPenalties); - } - } - - // Remove Item Durability Burn - if (config.items.removeItemDurabilityBurn) - { - this.logger.info("AllInOne Mod: removeItemDurabilityBurn activated."); - if (typeof config.items.removeItemDurabilityBurn !== "boolean") - { - this.logger.warning(locale.items.removeItemDurabilityBurn); - } - } - - // Remove Bullet Weapon Durability Damage - if (config.items.removeBulletWeaponDurabilityDamage) - { - this.logger.info("AllInOne Mod: removeBulletWeaponDurabilityDamage activated."); - if (typeof config.items.removeBulletWeaponDurabilityDamage !== "boolean") - { - this.logger.warning(locale.items.removeBulletWeaponDurabilityDamage); - } - } - - // Remove Weapon Preset Restriction - if (config.items.removeWeaponPresetRestriction) - { - this.logger.info("AllInOne Mod: removeWeaponPresetRestriction activated."); - if (typeof config.items.removeWeaponPresetRestriction !== "boolean") - { - this.logger.warning(locale.items.removeWeaponPresetRestriction); - } - } - - // Change Indicidual Item Property - if (config.items.changeIndividualItemProperty.activated) - { - this.logger.info("AllInOne Mod: changeIndividualItemProperty activated."); - if (typeof config.items.changeIndividualItemProperty.activated !== "boolean") - { - this.logger.warning(locale.items.changeIndividualItemProperty.activated); - } - } - - // Hideout: - // Change Fuel Consumption Rate - if (config.hideout.changeFuelConsumptionRate !== false) - { - this.logger.info("AllInOne Mod: changeFuelConsumptionRate activated."); - if (typeof config.hideout.changeFuelConsumptionRate !== "number") - { - this.logger.warning(locale.hideout.changeFuelConsumptionRate); - } - } - - // Fast Hideout Construction - if (config.hideout.fastHideoutConstruction) - { - this.logger.info("AllInOne Mod: fastHideoutConstruction activated."); - if (typeof config.hideout.fastHideoutConstruction !== "boolean") - { - this.logger.warning(locale.hideout.fastHideoutConstruction); - } - } - - // Fast Hideout Construction - if (config.hideout.fastHideoutProduction) - { - this.logger.info("AllInOne Mod: fastHideoutProduction activated."); - if (typeof config.hideout.fastHideoutProduction !== "boolean") - { - this.logger.warning(locale.hideout.fastHideoutProduction); - } - } - - // Fast Scav Case - if (config.hideout.fastScavCase) - { - this.logger.info("AllInOne Mod: fastScavCase activated."); - if (typeof config.hideout.fastScavCase !== "boolean") - { - this.logger.warning(locale.hideout.fastScavCase); - } - } - - // Scav Case Price Reducer - if (config.hideout.scavCasePriceReducer) - { - this.logger.info("AllInOne Mod: scavCasePriceReducer activated."); - if (typeof config.hideout.scavCasePriceReducer !== "boolean") - { - this.logger.warning(locale.hideout.scavCasePriceReducer); - } - } - - // Remove Construction Requirements - if (config.hideout.removeConstructionRequirements) - { - this.logger.info("AllInOne Mod: removeConstructionRequirements activated."); - if (typeof config.hideout.removeConstructionRequirements !== "boolean") - { - this.logger.warning(locale.hideout.removeConstructionRequirements); - } - } - - // Player: - // Remove Scav Timer - if (config.player.removeScavTimer) - { - this.logger.info("AllInOne Mod: removeScavTimer activated."); - if (typeof config.player.removeScavTimer !== "boolean") - { - this.logger.warning(locale.player.removeScavTimer); - } - } - - // Change Skill Progression Multiplier - if (config.player.changeSkillProgressionMultiplier !== false) - { - this.logger.info("AllInOne Mod: changeSkillProgressionMultiplier activated."); - if (typeof config.player.changeSkillProgressionMultiplier !== "number") - { - this.logger.warning(locale.player.changeSkillProgressionMultiplier); - } - } - - // Change Weapon Skill Multiplier - if (config.player.changeWeaponSkillMultiplier !== false) - { - this.logger.info("AllInOne Mod: changeWeaponSkillMultiplier activated."); - if (typeof config.player.changeWeaponSkillMultiplier !== "number") - { - this.logger.warning(locale.player.changeWeaponSkillMultiplier); - } - } - - // Disable Skill Fatigue - if (config.player.disableSkillFatigue !== false) - { - this.logger.info("AllInOne Mod: disableSkillFatigue activated."); - if (typeof config.player.disableSkillFatigue !== "boolean" && ( config.player.disableSkillFatigue).toLowerCase() !== "custom") - { - this.logger.warning(locale.player.disableSkillFatigue); - } - } - - // skillFatiguePerPoint - if (typeof config.player.skillFatiguePerPoint !== "number") - { - this.logger.warning(locale.player.skillFatiguePerPoint) - } - - // skillFreshEffectiveness - if (typeof config.player.skillFreshEffectiveness !== "number") - { - this.logger.warning(locale.player.skillFreshEffectiveness) - } - - // skillFreshPoints - if (typeof config.player.skillFreshPoints !== "number") - { - this.logger.warning(locale.player.skillFreshPoints) - } - - // skillPointsBeforeFatigue - if (typeof config.player.skillPointsBeforeFatigue !== "number") - { - this.logger.warning(locale.player.skillPointsBeforeFatigue) - } - - // skillFatigueReset - if (typeof config.player.skillFatigueReset !== "number") - { - this.logger.warning(locale.player.skillFatigueReset) - } - - // Change Max Stamina - if (config.player.changeMaxStamina !== false) - { - this.logger.info("AllInOne Mod: changeMaxStamina activated."); - if (typeof config.player.changeMaxStamina !== "number") - { - this.logger.warning(locale.player.changeMaxStamina); - } - } - - // Unlimited Stamina - if (config.player.unlimitedStamina) - { - this.logger.info("AllInOne Mod: unlimitedStamina activated."); - if (typeof config.player.unlimitedStamina !== "boolean") - { - this.logger.warning(locale.player.unlimitedStamina); - } - } - - // Remove In Raid Restrictions - if (config.player.removeInRaidsRestrictions) - { - this.logger.info("AllInOne Mod: removeInRaidsRestrictions activated."); - if (typeof config.player.removeInRaidsRestrictions !== "boolean") - { - this.logger.warning(locale.player.removeInRaidsRestrictions); - } - } - // Diable Fall Damage - if (config.player.disableFallDamage) - { - this.logger.info("AllInOne Mod: disableFallDamage activated."); - if (typeof config.player.disableFallDamage !== "boolean") - { - this.logger.warning(locale.player.disableFallDamage); - } - } - - // All Skills Master - if (config.player.allSkillsMaster) - { - this.logger.info("AllInOne Mod: allSkillsMaster activated."); - if (typeof config.player.allSkillsMaster !== "boolean") - { - this.logger.warning(locale.player.allSkillsMaster); - } - } - - // Enable Skill BotReload - if (config.player.enableSkillBotReload) - { - this.logger.info("AllInOne Mod: enableSkillBotReload activated."); - if (typeof config.player.enableSkillBotReload !== "boolean") - { - this.logger.warning(locale.player.enableSkillBotReload); - } - } - - // Enable Skill BotSound - if (config.player.enableSkillBotSound) - { - this.logger.info("AllInOne Mod: enableSkillBotSound activated."); - if (typeof config.player.enableSkillBotSound !== "boolean") - { - this.logger.warning(locale.player.enableSkillBotSound); - } - } - - // Remove Scav Karma - if (config.player.removeScavKarma) - { - this.logger.info("AllInOne Mod: removeScavKarma activated."); - if (typeof config.player.removeScavKarma !== "boolean") - { - this.logger.warning(locale.player.removeScavKarma); - } - } - - // Energy Drain Rate - if (config.player.energyDrainRate !== false) - { - this.logger.info("AllInOne Mod: energyDrainRate activated."); - if (typeof config.player.energyDrainRate !== "number") - { - this.logger.warning(locale.player.energyDrainRate); - } - } - - // Energy Drain Time - if (config.player.energyDrainTime !== false) - { - this.logger.info("AllInOne Mod: energyDrainTime activated."); - if (typeof config.player.energyDrainTime !== "number") - { - this.logger.warning(locale.player.energyDrainTime); - } - } - - // Hydratation Drain Rate - if (config.player.hydrationDrainRate !== false) - { - this.logger.info("AllInOne Mod: hydratationDrainRate activated."); - if (typeof config.player.hydrationDrainRate !== "number") - { - this.logger.warning(locale.player.hydrationDrainRate); - } - } - - // Hydratation Drain Time - if (config.player.hydrationDrainTime !== false) - { - this.logger.info("AllInOne Mod: hydratationDrainTime activated."); - if (typeof config.player.hydrationDrainTime !== "number") - { - this.logger.warning(locale.player.hydrationDrainTime); - } - } - - // Regeneration Loop Time - if (config.player.regenerationLoopTime !== false) - { - this.logger.info("AllInOne Mod: regenerationLoopTime activated."); - if (typeof config.player.regenerationLoopTime !== "number") - { - this.logger.warning(locale.player.regenerationLoopTime); - } - } - - // Energy Restoration - if (config.player.energyRestoration !== false) - { - this.logger.info("AllInOne Mod: energyRestoration activated."); - if (typeof config.player.energyRestoration !== "number") - { - this.logger.warning(locale.player.energyRestoration); - } - } - - // Hydration Restoration - if (config.player.hydrationRestoration !== false) - { - this.logger.info("AllInOne Mod: hydrationRestoration activated."); - if (typeof config.player.hydrationRestoration !== "number") - { - this.logger.warning(locale.player.hydrationRestoration); - } - } - - // Traders: - // All Quests Available - if (config.traders.allQuestsAvailable) - { - this.logger.info("AllInOne Mod: allQuestsAvailable activated."); - if (typeof config.traders.allQuestsAvailable !== "boolean") - { - this.logger.warning(locale.traders.allQuestsAvailable); - } - } - - // All Clothes Free - if (config.traders.allClothesFree) - { - this.logger.info("AllInOne Mod: allClothesFree activated."); - if (typeof config.traders.allClothesFree !== "boolean") - { - this.logger.warning(locale.traders.allClothesFree); - } - } - - // All Clothes For Every Side - if (config.traders.allClothesForEverySide) - { - this.logger.info("AllInOne Mod: allClothesForEverySide activated."); - if (typeof config.traders.allClothesForEverySide !== "boolean") - { - this.logger.warning(locale.traders.allClothesForEverySide); - } - } - - // Change Flea Market Level - if (config.traders.changeFleaMarketLvl !== false) - { - this.logger.info("AllInOne Mod: changeFleaMarketLvl activated."); - if (typeof config.traders.changeFleaMarketLvl !== "number") - { - this.logger.warning(locale.traders.changeFleaMarketLvl); - } - } - - // Insurance Time Activated - if (config.traders.insuranceTime.activated) - { - this.logger.info("AllInOne Mod: insuranceTime activated.") - if (typeof config.traders.insuranceTime.activated !== "boolean") - { - this.logger.warning(locale.traders.insuranceTime.activated); - } - } - - // Insurance Time - Therapist - if (config.traders.insuranceTime.therapist.activated) - { - this.logger.info("AllInOne Mod: InsuranceTime.Therapist activated.") - if (typeof config.traders.insuranceTime.therapist.activated !== "boolean") - { - this.logger.warning(locale.traders.insuranceTime.therapist.activated); - } - } - - // Insurance Time - Prapor - if (config.traders.insuranceTime.prapor.activated) - { - this.logger.info("AllInOne Mod: InsuranceTime.Prapor activated.") - if (typeof config.traders.insuranceTime.prapor.activated !== "boolean") - { - this.logger.warning(locale.traders.insuranceTime.prapor.activated); - } - } - - // All Traders 4 Star - Unlock All Items At LL1 - if (config.traders.traderChanges.unlockAllItemsAtLL1 && config.traders.traderChanges.allTraders4Stars) - { - this.logger.warning(locale.traders.traderChanges.all4StarAndLL1); - } - else if (config.traders.traderChanges.allTraders4Stars) - { - this.logger.info("AllInOne Mod: allTraders4Stars activated.") - if (typeof config.traders.traderChanges.allTraders4Stars !== "boolean") - { - this.logger.warning(locale.traders.traderChanges.allTraders4Stars); - } - } - else if (config.traders.traderChanges.unlockAllItemsAtLL1) - { - this.logger.info("AllInOne Mod: unlockAllItemsAtLL1 activated.") - if (typeof config.traders.traderChanges.unlockAllItemsAtLL1 !== "boolean") - { - this.logger.warning(locale.traders.traderChanges.unlockAllItemsAtLL1); - } - } - - // Remove Items From Quest Locks - if (config.traders.traderChanges.removeItemsFromQuestLocks) - { - this.logger.info("AllInOne Mod: removeItemsFromQuestLocks activated.") - if (typeof config.traders.traderChanges.removeItemsFromQuestLocks !== "boolean") - { - this.logger.warning(locale.traders.traderChanges.removeItemsFromQuestLocks); - } - } - - // Max Insurance Storage Time - if (config.traders.maxInsuranceStorageTime) - { - this.logger.info("AllInOne Mod: maxInsuranceStorageTime activated.") - if (typeof config.traders.maxInsuranceStorageTime !== "boolean" && config.traders.maxInsuranceStorageTime <= 0) - { - this.logger.warning(locale.traders.maxInsuranceStorageTime); - } - } - - // Prevent Fence Mastering - if (config.traders.preventFenceMastering) - { - this.logger.info("AllInOne Mod: preventFenceMastering activated.") - if (typeof config.traders.preventFenceMastering !== "boolean") - { - this.logger.warning(locale.traders.preventFenceMastering); - } - } - - // Remove FIR Condition On Quests - if (config.traders.removeFIRConditionOnQuests) - { - this.logger.info("AllInOne Mod: removeFIRConditionOnQuests activated.") - if (typeof config.traders.removeFIRConditionOnQuests !== "boolean") - { - this.logger.warning(locale.traders.removeFIRConditionOnQuests); - } - } - - // Raids: - // No Extract Restrictions - if (config.raids.noExtractRestrictions) - { - this.logger.info("AllInOne Mod: noExtractRestrictions activated.") - if (typeof config.raids.noExtractRestrictions !== "boolean") - { - this.logger.warning(locale.raids.noExtractRestrictions); - } - } - - // All Extractions Avaliable - if (config.raids.allExtractionsAvailable) - { - this.logger.info("AllInOne Mod: allExtractionsAvailable activated.") - if (typeof config.raids.allExtractionsAvailable !== "boolean") - { - this.logger.warning(locale.raids.allExtractionsAvailable); - } - } - - // Increased Boss Chances - if (config.raids.increasedBossChance) - { - this.logger.info("AllInOne Mod: increasedBossChance activated.") - if (typeof config.raids.increasedBossChance !== "boolean") - { - this.logger.warning(locale.raids.increasedBossChance); - } - } - - // Extended Raid - if (config.raids.extendedRaid !== false) - { - this.logger.info("AllInOne Mod: extendedRaid activated."); - if (typeof config.raids.extendedRaid !== "number") - { - this.logger.warning(locale.raids.extendedRaid); - } - } - - // Remove Labs Keycard - if (config.raids.removeLabsKeycard) - { - this.logger.info("AllInOne Mod: removeLabsKeycard activated.") - if (typeof config.raids.removeLabsKeycard !== "boolean") - { - this.logger.warning(locale.raids.removeLabsKeycard); - } - } - - // Extractions Extended - if (config.raids.extractionsExtended) - { - this.logger.info("AllInOne Mod: extractionsExtended activated.") - if (typeof config.raids.extractionsExtended !== "boolean") - { - this.logger.warning(locale.raids.extractionsExtended); - } - } - - // Insurance On All Maps - if (config.raids.insuranceOnAllMaps) - { - this.logger.info("AllInOne Mod: insuranceOnAllMaps activated.") - if (typeof config.raids.insuranceOnAllMaps !== "boolean") - { - this.logger.warning(locale.raids.insuranceOnAllMaps); - } - } - - // Fixes: - // Fins Choke Me Harder - if (config.fixes.finsChokeMeHarder) - { - this.logger.info("AllInOne Mod: finsChokeMeHarder activated.") - if (typeof config.fixes.finsChokeMeHarder !== "boolean") - { - this.logger.warning(locale.fixes.finsChokeMeHarder); - } - } - - // Chomps Raider Spawn Fix - if (config.fixes.chompsRaiderSpawnFix) - { - this.logger.info("AllInOne Mod: chompsRaiderSpawnFix activated.") - if (typeof config.fixes.chompsRaiderSpawnFix !== "boolean") - { - this.logger.warning(locale.fixes.chompsRaiderSpawnFix); - } - } - - // justNUs Even More Open Zones - if (config.fixes.justNUsEvenMoreOpenZones) - { - this.logger.info("AllInOne Mod: justNUsEvenMoreOpenZones activated.") - if (typeof config.fixes.justNUsEvenMoreOpenZones !== "boolean") - { - this.logger.warning(locale.fixes.justNUsEvenMoreOpenZones); - } - } - - // Other: - // Pre Wipe Events: - if (config.other.preWipeEvents.raidersOnAllMaps) - { - this.logger.info("AllInOne Mod: raidersOnAllMaps activated.") - if (typeof config.other.preWipeEvents.raidersOnAllMaps !== "boolean") - { - this.logger.warning(locale.other.preWipeEvents.raidersOnAllMaps); - } - } - - // Killa On Factory: - if (config.other.preWipeEvents.killaOnFactory) - { - this.logger.info("AllInOne Mod: killaOnFactory activated.") - if (typeof config.other.preWipeEvents.killaOnFactory !== "boolean") - { - this.logger.warning(locale.other.preWipeEvents.killaOnFactory); - } - } - - // All Bosses On Reserve: - if (config.other.preWipeEvents.allBossesOnReserve) - { - this.logger.info("AllInOne Mod: allBossesOnReserve activated.") - if (typeof config.other.preWipeEvents.allBossesOnReserve !== "boolean") - { - this.logger.warning(locale.other.preWipeEvents.allBossesOnReserve); - } - } - - // All Traders Sell Cheap Items - if (config.other.preWipeEvents.allTradersSellCheapItems) - { - this.logger.info("AllInOne Mod: allTradersSellCheapItems activated.") - if (typeof config.other.preWipeEvents.allTradersSellCheapItems !== "boolean") - { - this.logger.warning(locale.other.preWipeEvents.allTradersSellCheapItems); - } - } - - // Make Obdolbos Powerful - if (config.other.preWipeEvents.makeObdolbosPowerful) - { - this.logger.info("AllInOne Mod: makeObdolbosPowerful activated.") - if (typeof config.other.preWipeEvents.makeObdolbosPowerful !== "boolean") - { - this.logger.warning(locale.other.preWipeEvents.makeObdolbosPowerful); - } - } - - // Gluhkar On Labs - if (config.other.preWipeEvents.gluhkarOnLabs) - { - this.logger.info("AllInOne Mod: gluhkarOnLabs activated.") - if (typeof config.other.preWipeEvents.gluhkarOnLabs !== "boolean") - { - this.logger.warning(locale.other.preWipeEvents.gluhkarOnLabs); - } - } - - // Heat Wave - if (config.other.inGameEvents.heatWave) - { - this.logger.info("AllInOne Mod: heatWave activated.") - if (typeof config.other.inGameEvents.heatWave !== "boolean") - { - this.logger.warning(locale.other.inGameEvents.heatWave); - } - } } } \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/bots.ts b/Ereshkigal-AkiConfig/src/bots.ts index 2730a86..6edef6c 100644 --- a/Ereshkigal-AkiConfig/src/bots.ts +++ b/Ereshkigal-AkiConfig/src/bots.ts @@ -1,46 +1,50 @@ import { inject, injectable } from "tsyringe"; -import type { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; import { AkiConfigHandler } from "./AkiConfigHandler"; @injectable() -export class bots +export class Bots { constructor( - @inject("AkiConfigHandler") private configHandler: AkiConfigHandler, - @inject("DatabaseServer") private database: DatabaseServer + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger ) {} public applyChanges(): void { - const configServer = container.resolve("ConfigServer"); - const BotConfig = configServer.getConfig(ConfigTypes.BOT); + const pmcConfig = this.configHandler.getPmcConfig(); + const bots = this.configServer.getConfig(ConfigTypes.BOT); - const pmcsConfig = this.configHandler.getPmcConfig().pmc.types - for (const bot in pmcsConfig) + for (const bot in pmcConfig.pmc.types) { - switch (bot) { + switch (bot) + { default: - bots.pmc.types[bot] = pmcsConfig[bot] + bots.pmc.types[bot] = pmcConfig.pmc.types[bot]; break; } } - for(const options in config.pmc){ - switch(options){ + for (const options in pmcConfig.pmc) + { + switch (options) + { case "types": break; default: - bots.pmc[options] = config.pmc[options] + bots.pmc[options] = pmcConfig.pmc[options]; break; } } - for (const bot in config.presetBatch) { - bots.presetBatch[bot] = config.presetBatch[bot] + for (const bot in pmcConfig.presetBatch) + { + bots.presetBatch[bot] = pmcConfig.presetBatch[bot]; } } } - -module.exports = bots; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/generator.ts b/Ereshkigal-AkiConfig/src/generator.ts index b03b547..72860d5 100644 --- a/Ereshkigal-AkiConfig/src/generator.ts +++ b/Ereshkigal-AkiConfig/src/generator.ts @@ -1,30 +1,39 @@ -import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { IHealthConfig } from "@spt-aki/models/spt/config/IHealthConfig"; +import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; +import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; +import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig"; +import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig"; import { VFS } from "@spt-aki/utils/VFS"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; -import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; -import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig"; -import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; -import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig"; -import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; -import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; @injectable() -export class AkiGenerator +export class Generator { - private mod; - private firstRun; - + private pkg = require("../package.json"); + constructor( + @inject("VFS") protected vfs: VFS, + @inject("JsonUtil") protected jsonUtil: JsonUtil, + @inject("ConfigServer") protected configServer: ConfigServer, @inject("WinstonLogger") private logger: ILogger ) {} - private createConfig(file: string): void + private createConfig(modPath: string, file: string): void { - this.mod = require("../package.json"); - this.firstRun = true; let config = null; let dailyConfig = null; let pmcConfig = null; @@ -39,42 +48,42 @@ export class AkiGenerator //"Enable Christmas Gifts": false, "HTTP": {}, "Health": {}, - "Hideout": {}, + "Hideout": {} }, "Raids values": { "Loot values": {}, - "Airdrop values": {}, + "Airdrop values": {} }, "Traders values": { "Traders": {}, "Repair": {}, "Insurances": {}, - "Trading": {}, + "Trading": {} }, "FleaMarket configuration": {}, - "Weather values": {}, + "Weather values": {} }; dailyConfig = {}; pmcConfig = {}; //We will have to gather every config that exists atm and throw them together into the object - const bots = ConfigServer.getConfig(ConfigTypes.BOT); - const health = HealthConfig; - const hideout = HideoutConfig; - const http = HttpConfig; - const inraid = InraidConfig; - const insurance = InsuranceConfig; - const inventory = InventoryConfig; - const location = LocationConfig; - const quest = QuestConfig; - const ragfair = RagfairConfig; - const repair = RepairConfig; - const trader = TraderConfig; - const weather = WeatherConfig; - //const airdrops = AirdropConfig + const bots = this.configServer.getConfig(ConfigTypes.BOT); + const health = this.configServer.getConfig(ConfigTypes.HEALTH); + const hideout = this.configServer.getConfig(ConfigTypes.HIDEOUT); + const http = this.configServer.getConfig(ConfigTypes.HTTP); + const inraid = this.configServer.getConfig(ConfigTypes.IN_RAID); + const insurance = this.configServer.getConfig(ConfigTypes.INSURANCE); + const inventory = this.configServer.getConfig(ConfigTypes.INVENTORY); + const location = this.configServer.getConfig(ConfigTypes.LOCATION); + const quest = this.configServer.getConfig(ConfigTypes.QUEST); + const ragfair = this.configServer.getConfig(ConfigTypes.RAGFAIR); + const repair = this.configServer.getConfig(ConfigTypes.REPAIR); + const trader = this.configServer.getConfig(ConfigTypes.TRADER); + const weather = this.configServer.getConfig(ConfigTypes.WEATHER); + const airdrops = this.configServer.getConfig(ConfigTypes.AIRDROP); - //Sorting the bots config now - Object.assign(pmcConfig, bots); + //Sorting the http values + Object.assign(config["Server values"]["HTTP"], http); //Sorting the health config Object.assign(config["Server values"]["Health"], health); @@ -82,11 +91,20 @@ export class AkiGenerator //Sorting the hideout values Object.assign(config["Server values"]["Hideout"], hideout); - //Sorting the http values - Object.assign(config["Server values"]["HTTP"], http); - //Sorting the inraid values Object.assign(config["Raids values"], inraid); + + //Sorting location values + Object.assign(config["Raids values"]["Loot values"], location); + + //Sorting airdrop values + //Object.assign(config["Raids values"]["Airdrop values"], airdrops) + + //Sorting trader values + Object.assign(config["Traders values"]["Traders"], trader); + + //Sorting repair values + Object.assign(config["Traders values"]["Repair"], repair); //Sorting insurance values Object.assign(config["Traders values"]["Insurances"], insurance); @@ -94,24 +112,15 @@ export class AkiGenerator //Sorting inventory values Object.assign(config["Traders values"]["Trading"], inventory); - //Sorting location values - Object.assign(config["Raids values"]["Loot values"], location); - - //Sorting airdrop values - //Object.assign(config["Raids values"]["Airdrop values"], airdrops) - //Sorting quest values Object.assign(dailyConfig, quest); + //Sorting the bots config now + Object.assign(pmcConfig, bots); + //Sorting ragfair values Object.assign(config["FleaMarket configuration"], ragfair); - //Sorting repair values - Object.assign(config["Traders values"]["Repair"], repair); - - //Sorting trader values - Object.assign(config["Traders values"]["Traders"], trader); - //Weather values Object.assign(config["Weather values"], weather); @@ -130,80 +139,102 @@ export class AkiGenerator if (file === null) { //Write the config in the folder - VFS.writeFile( - `${ModLoader.getModPath(mod.name)}config/config.json`, - JsonUtil.serialize(config, true) + this.vfs.writeFile( + `${modPath}config/config.json`, + this.jsonUtil.serialize(config, true) ); - VFS.writeFile( - `${ModLoader.getModPath(mod.name)}config/dailyConfig.json`, - JsonUtil.serialize(dailyConfig, true) + this.vfs.writeFile( + `${modPath}config/dailyConfig.json`, + this.jsonUtil.serialize(dailyConfig, true) ); - VFS.writeFile( - `${ModLoader.getModPath(mod.name)}config/pmcConfig.json`, - JsonUtil.serialize(pmcConfig, true) + this.vfs.writeFile( + `${modPath}config/pmcConfig.json`, + this.jsonUtil.serialize(pmcConfig, true) ); } else { this.logger.warning(`[AKI-CONFIG] - Generating ${file} file`) let toWrite = null - if(file === "config"){toWrite = config}else if(file === 'dailyConfig'){toWrite = dailyConfig}else if(file === 'pmcConfig'){toWrite = pmcConfig} - VFS.writeFile( - `${ModLoader.getModPath(mod.name)}config/${file}.json`, - JsonUtil.serialize(toWrite, true) + if (file === "config") + { + toWrite = config + } + else if (file === 'dailyConfig') + { + toWrite = dailyConfig + } + else if (file === 'pmcConfig') + { + toWrite = pmcConfig + } + this.vfs.writeFile( + `${modPath}config/${file}.json`, + this.jsonUtil.serialize(toWrite, true) ); } this.logger.error("[AKI-Config]: New configuration file created, please restart your server to use it."); } - public checkConfigExisting(): void + public checkConfigExisting(modPath: string): void { - const mod = require("../../package.json"); - const modPath = ModLoader.getModPath(mod.name); const validation = []; //Check if config folder exists - if (VFS.exists(`${modPath}config`)) { + if (this.vfs.exists(`${modPath}config`)) + { //Check if all the config folder exists - const fileList = VFS.getFiles(`${modPath}config/`); - for (const file in fileList) { - let fileName = fileList[file]; - if (fileName === "config.json") { - validation.push('config'); + const fileList = this.vfs.getFiles(`${modPath}config/`); + for (const file in fileList) + { + const fileName = fileList[file]; + if (fileName === "config.json") + { + validation.push("config"); } - if (fileName === "dailyConfig.json") { + if (fileName === "dailyConfig.json") + { validation.push("dailyConfig"); } - if (fileName === "pmcConfig.json") { + if (fileName === "pmcConfig.json") + { validation.push("pmcConfig"); } } //All configurations files existing - if ((validation.length === 3)) { + if ((validation.length === 3)) + { this.logger.success( - `[AKI-CONFIG] - All configurations files already created, all green.` + "[AKI-CONFIG] - All configurations files already created, all green." ); - } else { + } + else + { //One of the 3 file is missing, we only want to regenerate the missing one this.logger.error( - `[AKI-CONFIG] - A config file is missing. Generating the missing file` + "[AKI-CONFIG] - A config file is missing. Generating the missing file" ); - if (validation.includes("config")) {} else { - this.createConfig("config"); + if (!validation.includes("config")) + { + this.createConfig(modPath, "config"); } - if (validation.includes("dailyConfig")) {} else { - this.createConfig("dailyConfig"); + if (!validation.includes("dailyConfig")) + { + this.createConfig(modPath, "dailyConfig"); } - if (validation.includes("pmcConfig")) {} else { - this.createConfig("pmcConfig"); + if (!validation.includes("pmcConfig")) + { + this.createConfig(modPath, "pmcConfig"); } } - } else { + } + else + { this.logger.warning( "First time AKI-Configurator is run, generating the config file..." ); - this.createConfig(null); + this.createConfig(modPath, null); } } } \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/mod.ts b/Ereshkigal-AkiConfig/src/mod.ts index 8bc0601..d3c2178 100644 --- a/Ereshkigal-AkiConfig/src/mod.ts +++ b/Ereshkigal-AkiConfig/src/mod.ts @@ -1,7 +1,17 @@ import { DependencyContainer, Lifecycle } from "tsyringe"; import type { IMod } from "@spt-aki/models/external/mod"; import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { InitialModLoader } from "@spt-aki/loaders/InitialModLoader"; +import { Generator } from "./generator"; +import { Ragfair } from "./ragfair"; +import { Weather } from "./weather"; import { Bots } from "./bots"; +import { Raids } from "./raids"; +import { Server } from "./server"; +import { Traders } from "./traders"; +import { Quests } from "./quests"; +import { Notifications } from "./notifications"; +import { AkiConfigHandler } from "./AkiConfigHandler"; class AkiConfig implements IMod { @@ -10,6 +20,17 @@ class AkiConfig implements IMod public load(container: DependencyContainer): void { + container.register("AkiConfigHandler", AkiConfigHandler, {lifecycle:Lifecycle.Singleton}); + container.register("Generator", Generator); + container.register("Ragfair", Ragfair); + container.register("Weather", Weather); + container.register("Bots", Bots); + container.register("Raids", Raids); + container.register("Server", Server); + container.register("Traders", Traders); + container.register("Quests", Quests); + container.register("Notifications", Notifications); + this.logger = container.resolve("WinstonLogger"); this.pkg = require("../package.json"); @@ -18,7 +39,22 @@ class AkiConfig implements IMod public delayedLoad(container: DependencyContainer): void { - return; + const initialModLoader = container.resolve("InitialModLoader"); + const modPath = `./${initialModLoader.getModPath(this.pkg.name)}`; + + container.resolve("Generator").checkConfigExisting(modPath); + container.resolve("Ragfair").applyChanges(); + container.resolve("Weather").applyChanges(); + container.resolve("Bots").applyChanges(); + container.resolve("Raids").applyChanges(); + container.resolve("Server").applyChanges(); + container.resolve("Traders").applyChanges(); + container.resolve("Quests").applyChanges(); + + if (container.resolve("AkiConfigHandler").getConfig().other.showModLogs) + { + container.resolve("Notifications").sendNotifications() + } } } diff --git a/Ereshkigal-AkiConfig/src/quests.ts b/Ereshkigal-AkiConfig/src/quests.ts index 06ef6e7..ab66a07 100644 --- a/Ereshkigal-AkiConfig/src/quests.ts +++ b/Ereshkigal-AkiConfig/src/quests.ts @@ -1,17 +1,26 @@ -/* -エレシュキガル -*/ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; -"use strict"; - -class quests +@injectable() +export class Quests { - static applyValues() - { - const config = require('../../config/dailyConfig.json'); + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} - QuestConfig = config + public applyChanges(): void + { + const dailyConfig = this.configHandler.getDailyConfig(); + const questConfig = this.configServer.getConfig(ConfigTypes.QUEST); + + questConfig.redeemTime = dailyConfig.redeemTime; + questConfig.repeatableQuests = dailyConfig.repeatableQuests; } } - -module.exports = quests; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/ragfair.ts b/Ereshkigal-AkiConfig/src/ragfair.ts index a17b02b..04d4191 100644 --- a/Ereshkigal-AkiConfig/src/ragfair.ts +++ b/Ereshkigal-AkiConfig/src/ragfair.ts @@ -1,60 +1,72 @@ -/* -エレシュキガル -*/ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { Traders } from "@spt-aki/models/enums/Traders"; +import { AkiConfigHandler } from "./AkiConfigHandler"; -"use strict"; - -class ragfair +@injectable() +export class Ragfair { - static applyValues() + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void { - const ragfair = RagfairConfig - const config = require('../../config/config.json') + const config = this.configHandler.getConfig(); + const ragfair = this.configServer.getConfig(ConfigTypes.RAGFAIR); - for(const options in ragfair.sell){ - ragfair.sell[options] = config["FleaMarket configuration"].sell[options] + for (const options in ragfair.sell) + { + ragfair.sell[options] = config["FleaMarket configuration"].sell[options]; } - for(const options in ragfair.dynamic){ - ragfair.dynamic[options] = config["FleaMarket configuration"].dynamic[options] + for (const options in ragfair.dynamic) + { + ragfair.dynamic[options] = config["FleaMarket configuration"].dynamic[options]; } - const traderList = config["FleaMarket configuration"].traders - for (const trader in config["FleaMarket configuration"].traders) { - switch (trader) { + const traderList = config["FleaMarket configuration"].traders; + for (const trader in config["FleaMarket configuration"].traders) + { + switch (trader) + { case "EnablePraporOffers": - ragfair.traders["54cb50c76803fa8b248b4571"] = traderList.EnablePraporOffers + ragfair.traders[Traders.PRAPOR] = traderList.EnablePraporOffers; break; case "EnableTheRapistOffers": - ragfair.traders["54cb57776803fa99248b456e"] = traderList.EnableTheRapistOffers; + ragfair.traders[Traders.THERAPIST] = traderList.EnableTheRapistOffers; break; case "EnableFenceOffers": - ragfair.traders["579dc571d53a0658a154fbec"] = traderList.EnableFenceOffers; + ragfair.traders[Traders.FENCE] = traderList.EnableFenceOffers; break; case "EnableSkierOffers": - ragfair.traders["58330581ace78e27b8b10cee"] = traderList.EnableSkierOffers; + ragfair.traders[Traders.SKIER] = traderList.EnableSkierOffers; break; case "EnablePeacekeeperOffers": - ragfair.traders["5935c25fb3acc3127c3d8cd9"] = traderList.EnablePeacekeeperOffers; + ragfair.traders[Traders.PEACEKEEPER] = traderList.EnablePeacekeeperOffers; break; case "EnableMechanicOffers": - ragfair.traders["5a7c2eca46aef81a7ca2145d"] = traderList.EnableMechanicOffers; + ragfair.traders[Traders.MECHANIC] = traderList.EnableMechanicOffers; break; case "EnableRagmanOffers": - ragfair.traders["5ac3b934156ae10c4430e83c"] = traderList.EnableRagmanOffers; + ragfair.traders[Traders.RAGMAN] = traderList.EnableRagmanOffers; break; case "EnableJaegerOffers": - ragfair.traders["54cb50c76803fa8b248b4571"] = traderList.EnableJaegerOffers; + ragfair.traders[Traders.JAEGER] = traderList.EnableJaegerOffers; break; case "EnableAllAvailableOffers": ragfair.traders["ragfair"] = traderList.EnableAllAvailableOffers; break; default: - ragfair.traders[trader] = traderList[trader] + ragfair.traders[trader] = traderList[trader]; break; } } } } - -module.exports = ragfair; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/raids.ts b/Ereshkigal-AkiConfig/src/raids.ts index 0670482..bb87c0f 100644 --- a/Ereshkigal-AkiConfig/src/raids.ts +++ b/Ereshkigal-AkiConfig/src/raids.ts @@ -1,25 +1,40 @@ -/* -エレシュキガル -*/ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; -"use strict"; - -class raids +@injectable() +export class Raids { - static applyValues() + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void { - const inraid = InraidConfig; - const config = require('../../config/config.json'); - - for(const options in inraid) - { - inraid[options] = config["Raids values"][options]; - } + const config = this.configHandler.getConfig(); + const locationConfig = this.configServer.getConfig(ConfigTypes.LOCATION); + const airdropConfig = this.configServer.getConfig(ConfigTypes.AIRDROP); + const inRaidConfig = this.configServer.getConfig(ConfigTypes.IN_RAID); - LocationConfig = config['Raids values']['Loot values']; - AirdropConfig = config['Raids values']['Airdrop values'] + locationConfig.looseLootMultiplier = config["Raids values"]["Loot values"].looseLootMultiplier; + locationConfig.staticLootMultiplier = config["Raids values"]["Loot values"].staticLootMultiplier; + + for (const options in airdropConfig) + { + airdropConfig[options] = config["Raids values"]["Airdrop values"][options]; + } + for (const options in inRaidConfig) + { + inRaidConfig[options] = config["Raids values"][options]; + } } } - -module.exports = raids; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/server.ts b/Ereshkigal-AkiConfig/src/server.ts index 69a2677..6094ca5 100644 --- a/Ereshkigal-AkiConfig/src/server.ts +++ b/Ereshkigal-AkiConfig/src/server.ts @@ -1,22 +1,37 @@ -/* -エレシュキガル -*/ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IHealthConfig } from "@spt-aki/models/spt/config/IHealthConfig"; +import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; -"use strict"; - -class server +@injectable() +export class Server { - static applyValues() + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void { + const config = this.configHandler.getConfig(); + const serverConfig = this.configServer.getConfig(ConfigTypes.HTTP); + const healthConfig = this.configServer.getConfig(ConfigTypes.HEALTH); + const hideoutConfig = this.configServer.getConfig(ConfigTypes.HIDEOUT); + + serverConfig.ip = config["Server values"].HTTP.ip; + serverConfig.port = config["Server values"].HTTP.port; - const config = require('../../config/config.json'); + healthConfig.healthMultipliers = config["Server values"].Health.healthMultipliers; + healthConfig.save = config["Server values"].Health.save; - DatabaseServer.tables.server = config["Server values"].HTTP; - - HideoutConfig = config["Server values"].Hideout; - - HealthConfig = config["Server values"].Health; + hideoutConfig.runIntervalSeconds = config["Server values"].Hideout.runIntervalSeconds; + hideoutConfig.scavCase = config["Server values"].Hideout.scavCase; + hideoutConfig.fuelDrainRateMultipler = config["Server values"].Hideout.fuelDrainRateMultipler; } } - -module.exports = server; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/traders.ts b/Ereshkigal-AkiConfig/src/traders.ts index 5fb05a7..f45f701 100644 --- a/Ereshkigal-AkiConfig/src/traders.ts +++ b/Ereshkigal-AkiConfig/src/traders.ts @@ -1,38 +1,49 @@ -/* -エレシュキガル -*/ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; +import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig"; +import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; -"use strict"; +@injectable() +export class Traders +{ + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} -class traders { - static applyValues() { - const insurance = InsuranceConfig; - const inventory = InventoryConfig; - const repair = RepairConfig; - const trader = TraderConfig; + public applyChanges(): void + { + const config = this.configHandler.getConfig(); + const insurance = this.configServer.getConfig(ConfigTypes.INSURANCE); + const inventory = this.configServer.getConfig(ConfigTypes.INVENTORY); + const repair = this.configServer.getConfig(ConfigTypes.REPAIR); + const trader = this.configServer.getConfig(ConfigTypes.TRADER); - const config = require('../../config/config.json') - - for(const options in insurance) + for (const options in insurance) { - insurance[options] = config["Traders values"].Insurances[options] + insurance[options] = config["Traders values"].Insurances[options]; } - for(const options in inventory) + for (const options in inventory) { - inventory[options] = config["Traders values"].Trading[options] + inventory[options] = config["Traders values"].Trading[options]; } - for(const options in repair) + for (const options in repair) { - repair[options] = config["Traders values"].Repair[options] + repair[options] = config["Traders values"].Repair[options]; } - for(const options in trader) + for (const options in trader) { - trader[options] = config["Traders values"].Traders[options] + trader[options] = config["Traders values"].Traders[options]; } } } - -module.exports = traders; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/src/weather.ts b/Ereshkigal-AkiConfig/src/weather.ts index ffa1401..6623f2e 100644 --- a/Ereshkigal-AkiConfig/src/weather.ts +++ b/Ereshkigal-AkiConfig/src/weather.ts @@ -1,15 +1,24 @@ -/* -エレシュキガル -*/ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; -"use strict"; - -class weather +@injectable() +export class Weather { - static applyValues() + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void { - const weatherValues = WeatherConfig; - const config = require('../../config/config.json'); + const config = this.configHandler.getConfig(); + const weatherValues = this.configServer.getConfig(ConfigTypes.WEATHER); weatherValues.acceleration = config["Weather values"].acceleration; weatherValues.weather.clouds.min = config["Weather values"].weather.clouds.min; @@ -30,8 +39,5 @@ class weather weatherValues.weather.temp.max = config["Weather values"].weather.temp.max; weatherValues.weather.pressure.min = config["Weather values"].weather.pressure.min; weatherValues.weather.pressure.max = config["Weather values"].weather.pressure.max; - } } - -module.exports = weather; \ No newline at end of file From e308ac55caace1b624ea7e8e5a2d8d603ef47e73 Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Mon, 27 Jun 2022 00:31:46 -0400 Subject: [PATCH 09/10] WIP - Ready for testing --- .../dist/AKICONFIG README.pdf | Bin 0 -> 1579750 bytes Ereshkigal-AkiConfig/dist/README.md | 64 + Ereshkigal-AkiConfig/dist/config/config.json | 335 +++++ .../dist/config/dailyConfig.json | 537 ++++++++ .../dist/config/pmcConfig.json | 296 +++++ .../dist/locale/DailyLocale.json | 4 + .../dist/locale/PmcLocale.json | 195 +++ Ereshkigal-AkiConfig/dist/locale/locale.json | 254 ++++ Ereshkigal-AkiConfig/dist/models/IConfig.ts | 289 ++++ .../dist/models/IDailyConfig.ts | 5 + .../dist/models/IDailyLocale.ts | 5 + Ereshkigal-AkiConfig/dist/models/ILocale.ts | 289 ++++ .../dist/models/IPmcConfig.ts | 125 ++ .../dist/models/IPmcLocale.ts | 125 ++ Ereshkigal-AkiConfig/dist/package.json | 26 + .../dist/src/AkiConfigHandler.ts | 58 + Ereshkigal-AkiConfig/dist/src/bots.ts | 50 + Ereshkigal-AkiConfig/dist/src/generator.ts | 240 ++++ Ereshkigal-AkiConfig/dist/src/mod.ts | 61 + .../dist/src/notifications.ts | 28 + Ereshkigal-AkiConfig/dist/src/quests.ts | 26 + Ereshkigal-AkiConfig/dist/src/ragfair.ts | 72 + Ereshkigal-AkiConfig/dist/src/raids.ts | 40 + Ereshkigal-AkiConfig/dist/src/server.ts | 37 + Ereshkigal-AkiConfig/dist/src/traders.ts | 49 + Ereshkigal-AkiConfig/dist/src/weather.ts | 43 + Ereshkigal-AkiConfig/dist/types/Program.d.ts | 4 + Ereshkigal-AkiConfig/dist/types/TYPES.d.ts | 3 + .../dist/types/callbacks/BotCallbacks.d.ts | 15 + .../dist/types/callbacks/BundleCallbacks.d.ts | 18 + .../callbacks/CustomizationCallbacks.d.ts | 23 + .../dist/types/callbacks/DataCallbacks.d.ts | 32 + .../types/callbacks/DialogueCallbacks.d.ts | 45 + .../dist/types/callbacks/GameCallbacks.d.ts | 24 + .../types/callbacks/HandbookCallbacks.d.ts | 8 + .../dist/types/callbacks/HealthCallbacks.d.ts | 20 + .../types/callbacks/HideoutCallbacks.d.ts | 33 + .../dist/types/callbacks/HttpCallbacks.d.ts | 9 + .../dist/types/callbacks/InraidCallbacks.d.ts | 23 + .../types/callbacks/InsuranceCallbacks.d.ts | 24 + .../types/callbacks/InventoryCallbacks.d.ts | 39 + .../types/callbacks/ItemEventCallbacks.d.ts | 11 + .../types/callbacks/LauncherCallbacks.d.ts | 28 + .../types/callbacks/LocationCallbacks.d.ts | 14 + .../dist/types/callbacks/MatchCallbacks.d.ts | 35 + .../dist/types/callbacks/ModCallbacks.d.ts | 22 + .../dist/types/callbacks/NoteCallbacks.d.ts | 11 + .../types/callbacks/NotifierCallbacks.d.ts | 24 + .../types/callbacks/PresetBuildCallbacks.d.ts | 15 + .../dist/types/callbacks/PresetCallbacks.d.ts | 8 + .../types/callbacks/ProfileCallbacks.d.ts | 30 + .../dist/types/callbacks/QuestCallbacks.d.ts | 26 + .../types/callbacks/RagfairCallbacks.d.ts | 39 + .../dist/types/callbacks/RepairCallbacks.d.ts | 11 + .../dist/types/callbacks/SaveCallbacks.d.ts | 9 + .../dist/types/callbacks/TradeCallbacks.d.ts | 11 + .../dist/types/callbacks/TraderCallbacks.d.ts | 18 + .../types/callbacks/WeatherCallbacks.d.ts | 10 + .../types/callbacks/WishlistCallbacks.d.ts | 10 + .../dist/types/controllers/BotController.d.ts | 35 + .../controllers/CustomizationController.d.ts | 22 + .../types/controllers/DialogueController.d.ts | 25 + .../types/controllers/GameController.d.ts | 33 + .../types/controllers/HandbookController.d.ts | 8 + .../types/controllers/HealthController.d.ts | 25 + .../types/controllers/HideoutController.d.ts | 68 + .../types/controllers/InraidController.d.ts | 31 + .../controllers/InsuranceController.d.ts | 38 + .../controllers/InventoryController.d.ts | 107 ++ .../types/controllers/LauncherController.d.ts | 28 + .../types/controllers/LocationController.d.ts | 18 + .../types/controllers/MatchController.d.ts | 30 + .../types/controllers/NoteController.d.ts | 12 + .../types/controllers/NotifierController.d.ts | 22 + .../controllers/PresetBuildController.d.ts | 18 + .../types/controllers/PresetController.d.ts | 8 + .../types/controllers/ProfileController.d.ts | 34 + .../types/controllers/QuestController.d.ts | 74 ++ .../types/controllers/RagfairController.d.ts | 70 + .../types/controllers/RepairController.d.ts | 42 + .../RepeatableQuestController.d.ts | 219 +++ .../types/controllers/TradeController.d.ts | 21 + .../types/controllers/TraderController.d.ts | 26 + .../types/controllers/WeatherController.d.ts | 11 + .../types/controllers/WishlistController.d.ts | 10 + .../dist/types/di/Container.d.ts | 14 + .../dist/types/di/OnLoad.d.ts | 4 + .../dist/types/di/OnLoadOnUpdate.d.ts | 7 + .../dist/types/di/OnUpdate.d.ts | 4 + .../dist/types/di/Router.d.ts | 40 + .../dist/types/di/Serializer.d.ts | 5 + .../dist/types/generators/BotGenerator.d.ts | 46 + .../generators/BotInventoryGenerator.d.ts | 24 + .../types/generators/BotLootGenerator.d.ts | 29 + .../types/generators/BotWeaponGenerator.d.ts | 88 ++ .../types/generators/LocationGenerator.d.ts | 46 + .../types/generators/PMCLootGenerator.d.ts | 15 + .../generators/RagfairAssortGenerator.d.ts | 25 + .../generators/RagfairOfferGenerator.d.ts | 60 + .../types/generators/WeatherGenerator.d.ts | 33 + .../dist/types/helpers/AssortHelper.d.ts | 36 + .../types/helpers/BotGeneratorHelper.d.ts | 125 ++ .../dist/types/helpers/BotHelper.d.ts | 44 + .../dist/types/helpers/ContainerHelper.d.ts | 12 + .../dist/types/helpers/DialogueHelper.d.ts | 21 + .../types/helpers/DurabilityLimitsHelper.d.ts | 26 + .../types/helpers/ExtendedProfileHelper.d.ts | 22 + .../dist/types/helpers/GameEventHelper.d.ts | 9 + .../dist/types/helpers/GameHelper.d.ts | 11 + .../dist/types/helpers/HandbookHelper.d.ts | 33 + .../dist/types/helpers/HealthHelper.d.ts | 27 + .../dist/types/helpers/HideoutHelper.d.ts | 68 + .../dist/types/helpers/HttpServerHelper.d.ts | 23 + .../dist/types/helpers/InRaidHelper.d.ts | 33 + .../dist/types/helpers/InventoryHelper.d.ts | 85 ++ .../dist/types/helpers/ItemHelper.d.ts | 147 +++ .../types/helpers/NotificationSendHelper.d.ts | 12 + .../dist/types/helpers/NotifierHelper.d.ts | 17 + .../dist/types/helpers/PaymentHelper.d.ts | 14 + .../dist/types/helpers/PresetHelper.d.ts | 14 + .../dist/types/helpers/ProbabilityHelper.d.ts | 14 + .../dist/types/helpers/ProfileHelper.d.ts | 33 + .../types/helpers/QuestConditionHelper.d.ts | 7 + .../dist/types/helpers/QuestHelper.d.ts | 86 ++ .../dist/types/helpers/RagfairHelper.d.ts | 43 + .../types/helpers/RagfairOfferHelper.d.ts | 52 + .../dist/types/helpers/RagfairSellHelper.d.ts | 16 + .../types/helpers/RagfairServerHelper.d.ts | 46 + .../dist/types/helpers/RagfairSortHelper.d.ts | 12 + .../dist/types/helpers/RagfairTaxHelper.d.ts | 16 + .../dist/types/helpers/RepairHelper.d.ts | 21 + .../types/helpers/SecureContainerHelper.d.ts | 13 + .../dist/types/helpers/TradeHelper.d.ts | 44 + .../types/helpers/TraderAssortHelper.d.ts | 42 + .../dist/types/helpers/TraderHelper.d.ts | 53 + .../dist/types/helpers/UtilityHelper.d.ts | 3 + .../types/helpers/WeightedRandomHelper.d.ts | 28 + .../dist/types/ide/BleedingEdgeEntry.d.ts | 1 + .../dist/types/ide/Compiler.d.ts | 1 + .../dist/types/ide/DebugEntry.d.ts | 1 + .../dist/types/ide/ReleaseEntry.d.ts | 1 + .../dist/types/ide/TestEntry.d.ts | 1 + .../dist/types/loaders/BundleLoader.d.ts | 22 + .../dist/types/loaders/DelayedModLoader.d.ts | 21 + .../dist/types/loaders/InitialModLoader.d.ts | 64 + .../eft/bot/IGenerateBotsRequestData.d.ts | 8 + .../models/eft/common/IEmptyRequestData.d.ts | 2 + .../types/models/eft/common/IGlobals.d.ts | 1176 +++++++++++++++++ .../types/models/eft/common/ILocation.d.ts | 6 + .../models/eft/common/ILocationBase.d.ts | 198 +++ .../ILocationsSourceDestinationBase.d.ts | 9 + .../types/models/eft/common/ILooseLoot.d.ts | 45 + .../models/eft/common/IMetricsTableData.d.ts | 7 + .../types/models/eft/common/IPmcData.d.ts | 341 +++++ .../request/IBaseInteractionRequestData.d.ts | 9 + .../models/eft/common/tables/IBotBase.d.ts | 101 ++ .../models/eft/common/tables/IBotCore.d.ts | 133 ++ .../models/eft/common/tables/IBotType.d.ts | 176 +++ .../eft/common/tables/ICustomizationItem.d.ts | 33 + .../eft/common/tables/IHandbookBase.d.ts | 16 + .../types/models/eft/common/tables/IItem.d.ts | 108 ++ .../eft/common/tables/ILocationsBase.d.ts | 10 + .../models/eft/common/tables/ILootBase.d.ts | 64 + .../models/eft/common/tables/IMatch.d.ts | 10 + .../models/eft/common/tables/IQuest.d.ts | 110 ++ .../eft/common/tables/IRepeatableQuests.d.ts | 219 +++ .../eft/common/tables/ITemplateItem.d.ts | 451 +++++++ .../models/eft/common/tables/ITrader.d.ts | 90 ++ .../IBuyClothingRequestData.d.ts | 10 + .../IWearClothingRequestData.d.ts | 4 + .../models/eft/dialog/IFriendRequestData.d.ts | 3 + .../dialog/IGetAllAttachmentsRequestData.d.ts | 3 + .../dialog/IGetAllAttachmentsResponse.d.ts | 6 + .../dialog/IGetChatServerListRequestData.d.ts | 3 + .../dialog/IGetFriendListDataResponse.d.ts | 16 + .../dialog/IGetMailDialogInfoRequestData.d.ts | 3 + .../dialog/IGetMailDialogListRequestData.d.ts | 4 + .../dialog/IGetMailDialogViewRequestData.d.ts | 7 + .../IGetMailDialogViewResponseData.d.ts | 7 + .../eft/dialog/IPinDialogRequestData.d.ts | 3 + .../eft/dialog/IRemoveDialogRequestData.d.ts | 3 + .../eft/dialog/ISendMessageRequest.d.ts | 7 + .../eft/dialog/ISetDialogReadRequestData.d.ts | 3 + .../models/eft/game/IGameConfigResponse.d.ts | 19 + .../eft/game/IGameEmptyCrcRequestData.d.ts | 3 + .../eft/game/IVersionValidateRequestData.d.ts | 11 + .../health/IHealthTreatmentRequestData.d.ts | 29 + .../eft/health/IOffraidEatRequestData.d.ts | 7 + .../eft/health/IOffraidHealRequestData.d.ts | 18 + .../eft/health/ISyncHealthRequestData.d.ts | 21 + .../HideoutUpgradeCompleteRequestData.d.ts | 5 + .../models/eft/hideout/IHideoutArea.d.ts | 40 + ...utContinousProductionStartRequestData.d.ts | 5 + .../eft/hideout/IHideoutProduction.d.ts | 20 + .../hideout/IHideoutPutItemInRequestData.d.ts | 10 + .../models/eft/hideout/IHideoutScavCase.d.ts | 21 + .../IHideoutScavCaseStartRequestData.d.ts | 15 + .../eft/hideout/IHideoutSettingsBase.d.ts | 6 + ...deoutSingleProductionStartRequestData.d.ts | 10 + .../IHideoutTakeItemOutRequestData.d.ts | 6 + .../IHideoutTakeProductionRequestData.d.ts | 5 + .../IHideoutToggleAreaRequestData.d.ts | 6 + .../IHideoutUpgradeCompleteRequestData.d.ts | 5 + .../hideout/IHideoutUpgradeRequestData.d.ts | 10 + .../httpResponse/IGetBodyResponseData.d.ts | 5 + .../eft/httpResponse/INullResponseData.d.ts | 5 + .../inRaid/IRegisterPlayerRequestData.d.ts | 5 + .../eft/inRaid/ISaveProgressRequestData.d.ts | 8 + .../IGetInsuranceCostRequestData.d.ts | 4 + .../eft/insurance/IInsureRequestData.d.ts | 6 + .../eft/inventory/IAddItemRequestData.d.ts | 4 + .../inventory/IInventoryAddRequestData.d.ts | 6 + .../IInventoryBaseActionRequestData.d.ts | 27 + .../inventory/IInventoryBindRequestData.d.ts | 6 + .../IInventoryCreateMarkerRequestData.d.ts | 12 + .../IInventoryDeleteMarkerRequestData.d.ts | 7 + .../IInventoryEditMarkerRequestData.d.ts | 14 + .../IInventoryExamineRequestData.d.ts | 10 + .../inventory/IInventoryFoldRequestData.d.ts | 6 + .../inventory/IInventoryMergeRequestData.d.ts | 6 + .../inventory/IInventoryMoveRequestData.d.ts | 6 + ...IInventoryReadEncyclopediaRequestData.d.ts | 5 + .../IInventoryRemoveRequestData.d.ts | 5 + .../inventory/IInventorySortRequestData.d.ts | 20 + .../inventory/IInventorySplitRequestData.d.ts | 7 + .../inventory/IInventorySwapRequestData.d.ts | 11 + .../inventory/IInventoryTagRequestData.d.ts | 7 + .../IInventoryToggleRequestData.d.ts | 6 + .../IInventoryTransferRequestData.d.ts | 7 + .../IEmptyItemEventRouterResponse.d.ts | 4 + .../eft/itemEvent/IItemEventRouterBase.d.ts | 67 + .../itemEvent/IItemEventRouterRequest.d.ts | 21 + .../itemEvent/IItemEventRouterResponse.d.ts | 3 + .../eft/launcher/IChangeRequestData.d.ts | 4 + .../launcher/IGetMiniProfileRequestData.d.ts | 4 + .../eft/launcher/ILoginRequestData.d.ts | 4 + .../models/eft/launcher/IMiniProfile.d.ts | 14 + .../models/eft/launcher/IRegisterData.d.ts | 4 + .../eft/launcher/IRemoveProfileData.d.ts | 2 + .../eft/location/IGetLocationRequestData.d.ts | 5 + .../eft/match/IEndOfflineRaidRequestData.d.ts | 6 + .../eft/match/IGetProfileRequestData.d.ts | 3 + .../match/IStartOffineRaidRequestData.d.ts | 27 + .../models/eft/notes/INoteActionData.d.ts | 10 + .../types/models/eft/notifier/INotifier.d.ts | 14 + .../notifier/ISelectProfileRequestData.d.ts | 3 + ...IPlayerIncrementSkillLevelRequestData.d.ts | 21 + .../IPresetBuildActionRequestData.d.ts | 25 + .../types/models/eft/profile/IAkiProfile.d.ts | 167 +++ .../IProfileChangeNicknameRequestData.d.ts | 3 + .../IProfileChangeVoiceRequestData.d.ts | 3 + .../profile/IProfileCreateRequestData.d.ts | 6 + .../eft/profile/ISearchFriendRequestData.d.ts | 3 + .../eft/profile/ISearchFriendResponse.d.ts | 9 + .../profile/IValidateNicknameRequestData.d.ts | 3 + .../eft/quests/IAcceptQuestRequestData.d.ts | 5 + .../eft/quests/ICompleteQuestRequestData.d.ts | 5 + .../eft/quests/IHandoverQuestRequestData.d.ts | 10 + .../eft/quests/IListQuestsRequestData.d.ts | 3 + .../quests/IRepeatableQuestChangeRequest.d.ts | 4 + .../eft/ragfair/IAddOfferRequestData.d.ts | 13 + .../eft/ragfair/IExtendOfferRequestData.d.ts | 4 + .../eft/ragfair/IGetItemPriceResult.d.ts | 5 + .../ragfair/IGetMarketPriceRequestData.d.ts | 3 + .../models/eft/ragfair/IGetOffersResult.d.ts | 7 + .../models/eft/ragfair/IRagfairOffer.d.ts | 42 + .../eft/ragfair/IRemoveOfferRequestData.d.ts | 4 + .../eft/ragfair/ISearchRequestData.d.ts | 32 + .../repair/IBaseRepairActionDataRequest.d.ts | 3 + .../eft/repair/IRepairActionDataRequest.d.ts | 10 + .../ITraderRepairActionDataRequest.d.ts | 10 + .../trade/IProcessBaseTradeRequestData.d.ts | 5 + .../trade/IProcessBuyTradeRequestData.d.ts | 14 + .../IProcessRagfairTradeRequestData.d.ts | 13 + .../trade/IProcessSellTradeRequestData.d.ts | 12 + .../models/eft/weather/IWeatherData.d.ts | 20 + .../eft/wishlist/IWishlistActionData.d.ts | 4 + .../dist/types/models/enums/BaseClasses.d.ts | 84 ++ .../dist/types/models/enums/ConfigTypes.d.ts | 18 + .../types/models/enums/ELocationName.d.ts | 11 + .../types/models/enums/EquipmentSlots.d.ts | 16 + .../dist/types/models/enums/HideoutAreas.d.ts | 25 + .../types/models/enums/MemberCategory.d.ts | 13 + .../dist/types/models/enums/MessageType.d.ts | 16 + .../dist/types/models/enums/Money.d.ts | 5 + .../dist/types/models/enums/QuestStatus.d.ts | 10 + .../dist/types/models/enums/Traders.d.ts | 10 + .../dist/types/models/external/mod.d.ts | 5 + .../dist/types/models/external/tsyringe.d.ts | 2 + .../dist/types/models/spt/bindings/Route.d.ts | 3 + .../models/spt/callbacks/IBotCallbacks.d.ts | 10 + .../spt/callbacks/IBundleCallbacks.d.ts | 5 + .../callbacks/ICustomizationCallbacks.d.ts | 12 + .../models/spt/callbacks/IDataCallbacks.d.ts | 26 + .../spt/callbacks/IDialogueCallbacks.d.ts | 34 + .../models/spt/callbacks/IGameCallbacks.d.ts | 16 + .../spt/callbacks/IHandbookCallbacks.d.ts | 3 + .../spt/callbacks/IHealthCallbacks.d.ts | 13 + .../spt/callbacks/IHideoutCallbacks.d.ts | 23 + .../models/spt/callbacks/IHttpCallbacks.d.ts | 5 + .../spt/callbacks/IInraidCallbacks.d.ts | 14 + .../spt/callbacks/IInsuranceCallbacks.d.ts | 10 + .../spt/callbacks/IInventoryCallbacks.d.ts | 36 + .../spt/callbacks/IItemEventCallbacks.d.ts | 6 + .../spt/callbacks/ILauncherCallbacks.d.ts | 20 + .../spt/callbacks/ILocationCallbacks.d.ts | 8 + .../models/spt/callbacks/IMatchCallbacks.d.ts | 25 + .../models/spt/callbacks/IModCallbacks.d.ts | 6 + .../models/spt/callbacks/INoteCallbacks.d.ts | 8 + .../spt/callbacks/INotifierCallbacks.d.ts | 17 + .../spt/callbacks/IPresetBuildCallbacks.d.ts | 10 + .../spt/callbacks/IPresetCallbacks.d.ts | 3 + .../spt/callbacks/IProfileCallbacks.d.ts | 21 + .../models/spt/callbacks/IQuestCallbacks.d.ts | 19 + .../spt/callbacks/IRagfairCallbacks.d.ts | 21 + .../spt/callbacks/IRepairCallbacks.d.ts | 8 + .../models/spt/callbacks/ISaveCallbacks.d.ts | 4 + .../models/spt/callbacks/ITradeCallbacks.d.ts | 8 + .../spt/callbacks/ITraderCallbacks.d.ts | 11 + .../spt/callbacks/IWeatherCallbacks.d.ts | 5 + .../spt/callbacks/IWishlistCallbacks.d.ts | 7 + .../models/spt/config/IAirdropConfig.d.ts | 20 + .../types/models/spt/config/IBaseConfig.d.ts | 3 + .../types/models/spt/config/IBotConfig.d.ts | 114 ++ .../types/models/spt/config/ICoreConfig.d.ts | 7 + .../models/spt/config/IHealthConfig.d.ts | 14 + .../models/spt/config/IHideoutConfig.d.ts | 27 + .../types/models/spt/config/IHttpConfig.d.ts | 6 + .../models/spt/config/IInRaidConfig.d.ts | 21 + .../models/spt/config/IInsuranceConfig.d.ts | 7 + .../models/spt/config/IInventoryConfig.d.ts | 5 + .../models/spt/config/ILocationConfig.d.ts | 24 + .../types/models/spt/config/IMatchConfig.d.ts | 5 + .../types/models/spt/config/IQuestConfig.d.ts | 77 ++ .../models/spt/config/IRagfairConfig.d.ts | 59 + .../models/spt/config/IRepairConfig.d.ts | 5 + .../models/spt/config/ITraderConfig.d.ts | 15 + .../models/spt/config/IWeatherConfig.d.ts | 21 + .../spt/controllers/IBotController.d.ts | 13 + .../models/spt/generators/IBotGenerator.d.ts | 10 + .../spt/generators/ILocationGenerator.d.ts | 6 + .../spt/generators/IPMCLootGenerator.d.ts | 4 + .../generators/IRagfairAssortGenerator.d.ts | 4 + .../generators/IRagfairOfferGenerator.d.ts | 6 + .../dist/types/models/spt/mod/IMod.d.ts | 10 + .../dist/types/models/spt/mod/IModLoader.d.ts | 7 + .../models/spt/mod/IPackageJsonData.d.ts | 12 + .../spt/ragfair/IRagfairServerPrices.d.ts | 4 + .../models/spt/server/IDatabaseTables.d.ts | 52 + .../types/models/spt/server/IHttpServer.d.ts | 12 + .../types/models/spt/server/ILocaleBase.d.ts | 61 + .../types/models/spt/server/ILocations.d.ts | 26 + .../types/models/spt/server/IServerBase.d.ts | 4 + .../models/spt/server/ISettingsBase.d.ts | 43 + .../models/spt/services/CustomPreset.d.ts | 5 + .../spt/services/CustomTraderAssortData.d.ts | 6 + .../types/models/spt/utils/IAsyncQueue.d.ts | 4 + .../dist/types/models/spt/utils/ICommand.d.ts | 4 + .../dist/types/models/spt/utils/ILogger.d.ts | 10 + .../models/spt/utils/IUuidGenerator.d.ts | 3 + .../dist/types/routers/HttpRouter.d.ts | 16 + .../dist/types/routers/ImageRouter.d.ts | 13 + .../dist/types/routers/ItemEventRouter.d.ts | 17 + .../routers/dynamic/BotDynamicRouter.d.ts | 6 + .../routers/dynamic/BundleDynamicRouter.d.ts | 6 + .../dynamic/CustomizationDynamicRouter.d.ts | 6 + .../routers/dynamic/DataDynamicRouter.d.ts | 6 + .../routers/dynamic/HttpDynamicRouter.d.ts | 6 + .../routers/dynamic/InraidDynamicRouter.d.ts | 7 + .../dynamic/LocationDynamicRouter.d.ts | 7 + .../dynamic/NotifierDynamicRouter.d.ts | 6 + .../routers/dynamic/TraderDynamicRouter.d.ts | 6 + .../CustomizationItemEventRouter.d.ts | 10 + .../item_events/HealthItemEventRouter.d.ts | 10 + .../item_events/HideoutItemEventRouter.d.ts | 10 + .../item_events/InsuranceItemEventRouter.d.ts | 10 + .../item_events/InventoryItemEventRouter.d.ts | 10 + .../item_events/NoteItemEventRouter.d.ts | 10 + .../PresetBuildItemEventRouter.d.ts | 10 + .../item_events/QuestItemEventRouter.d.ts | 12 + .../item_events/RagfairItemEventRouter.d.ts | 10 + .../item_events/RepairItemEventRouter.d.ts | 10 + .../item_events/TradeItemEventRouter.d.ts | 10 + .../item_events/WishlistItemEventRouter.d.ts | 10 + .../save_load/HealthSaveLoadRouter.d.ts | 7 + .../save_load/InraidSaveLoadRouter.d.ts | 7 + .../save_load/InsuranceSaveLoadRouter.d.ts | 7 + .../save_load/ProfileSaveLoadRouter.d.ts | 7 + .../routers/serializers/BundleSerializer.d.ts | 11 + .../routers/serializers/ImageSerializer.d.ts | 9 + .../routers/serializers/NotifySerializer.d.ts | 11 + .../types/routers/static/BotStaticRouter.d.ts | 6 + .../routers/static/BundleStaticRouter.d.ts | 6 + .../static/CustomizationStaticRouter.d.ts | 6 + .../routers/static/DataStaticRouter.d.ts | 6 + .../routers/static/DialogStaticRouter.d.ts | 6 + .../routers/static/GameStaticRouter.d.ts | 6 + .../routers/static/HealthStaticRouter.d.ts | 6 + .../routers/static/InraidStaticRouter.d.ts | 6 + .../routers/static/InsuranceStaticRouter.d.ts | 6 + .../routers/static/ItemEventStaticRouter.d.ts | 6 + .../routers/static/LauncherStaticRouter.d.ts | 6 + .../routers/static/LocationStaticRouter.d.ts | 6 + .../routers/static/MatchStaticRouter.d.ts | 6 + .../routers/static/NotifierStaticRouter.d.ts | 6 + .../routers/static/PresetStaticRouter.d.ts | 6 + .../routers/static/ProfileStaticRouter.d.ts | 6 + .../routers/static/QuestStaticRouter.d.ts | 6 + .../routers/static/RagfairStaticRouter.d.ts | 6 + .../routers/static/TraderStaticRouter.d.ts | 6 + .../routers/static/WeatherStaticRouter.d.ts | 6 + .../dist/types/servers/ConfigServer.d.ts | 14 + .../dist/types/servers/DatabaseServer.d.ts | 6 + .../dist/types/servers/HttpServer.d.ts | 49 + .../dist/types/servers/RagfairServer.d.ts | 31 + .../dist/types/servers/SaveServer.d.ts | 28 + .../services/CustomHandbookItemService.d.ts | 13 + .../types/services/CustomItemService.d.ts | 11 + .../services/CustomTraderAssortService.d.ts | 14 + .../dist/types/services/FenceService.d.ts | 39 + .../dist/types/services/HashCacheService.d.ts | 19 + .../dist/types/services/InsuranceService.d.ts | 42 + .../types/services/MatchLocationService.d.ts | 8 + .../types/services/ModCompilerService.d.ts | 20 + .../types/services/NotificationService.d.ts | 21 + .../dist/types/services/PaymentService.d.ts | 49 + .../dist/types/services/PlayerService.d.ts | 22 + .../services/RagfairCategoriesService.d.ts | 10 + .../services/RagfairLinkedItemService.d.ts | 10 + .../types/services/RagfairOfferService.d.ts | 66 + .../types/services/RagfairPriceService.d.ts | 32 + .../services/RagfairRequiredItemsService.d.ts | 12 + .../types/services/TraderAssortService.d.ts | 6 + .../types/services/customPresetService.d.ts | 19 + .../mod/dynamicRouter/DynamicRouterMod.d.ts | 6 + .../DynamicRouterModService.d.ts | 7 + .../services/mod/image/imageRouteService.d.ts | 6 + .../types/services/mod/onLoad/OnLoadMod.d.ts | 8 + .../services/mod/onLoad/OnLoadModService.d.ts | 6 + .../services/mod/onUpdate/OnUpdateMod.d.ts | 8 + .../mod/onUpdate/OnUpdateModService.d.ts | 6 + .../mod/staticRouter/StaticRouterMod.d.ts | 6 + .../staticRouter/StaticRouterModService.d.ts | 7 + .../dist/types/utils/App.d.ts | 14 + .../dist/types/utils/AyncQueue.d.ts | 7 + .../dist/types/utils/DatabaseImporter.d.ts | 52 + .../dist/types/utils/HashUtil.d.ts | 11 + .../dist/types/utils/HttpResponseUtil.d.ts | 16 + .../dist/types/utils/JsonUtil.d.ts | 25 + .../dist/types/utils/Logger.d.ts | 51 + .../dist/types/utils/MathUtil.d.ts | 53 + .../dist/types/utils/ObjectId.d.ts | 14 + .../dist/types/utils/RandomUtil.d.ts | 153 +++ .../dist/types/utils/TimeUtil.d.ts | 8 + .../dist/types/utils/UUidGenerator.d.ts | 4 + .../dist/types/utils/VFS.d.ts | 55 + .../dist/types/utils/Watermark.d.ts | 41 + .../types/utils/decorators/Singleton.d.ts | 4 + .../types/utils/decorators/constructor.d.ts | 4 + Ereshkigal-AkiConfig/src/christmas.ts | 15 - 460 files changed, 14228 insertions(+), 15 deletions(-) create mode 100644 Ereshkigal-AkiConfig/dist/AKICONFIG README.pdf create mode 100644 Ereshkigal-AkiConfig/dist/README.md create mode 100644 Ereshkigal-AkiConfig/dist/config/config.json create mode 100644 Ereshkigal-AkiConfig/dist/config/dailyConfig.json create mode 100644 Ereshkigal-AkiConfig/dist/config/pmcConfig.json create mode 100644 Ereshkigal-AkiConfig/dist/locale/DailyLocale.json create mode 100644 Ereshkigal-AkiConfig/dist/locale/PmcLocale.json create mode 100644 Ereshkigal-AkiConfig/dist/locale/locale.json create mode 100644 Ereshkigal-AkiConfig/dist/models/IConfig.ts create mode 100644 Ereshkigal-AkiConfig/dist/models/IDailyConfig.ts create mode 100644 Ereshkigal-AkiConfig/dist/models/IDailyLocale.ts create mode 100644 Ereshkigal-AkiConfig/dist/models/ILocale.ts create mode 100644 Ereshkigal-AkiConfig/dist/models/IPmcConfig.ts create mode 100644 Ereshkigal-AkiConfig/dist/models/IPmcLocale.ts create mode 100644 Ereshkigal-AkiConfig/dist/package.json create mode 100644 Ereshkigal-AkiConfig/dist/src/AkiConfigHandler.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/bots.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/generator.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/mod.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/notifications.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/quests.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/ragfair.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/raids.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/server.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/traders.ts create mode 100644 Ereshkigal-AkiConfig/dist/src/weather.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/Program.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/TYPES.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/BotCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/BundleCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/CustomizationCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/DataCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/DialogueCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/GameCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/HandbookCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/HealthCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/HideoutCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/HttpCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/InraidCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/InsuranceCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/InventoryCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/ItemEventCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/LauncherCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/LocationCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/MatchCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/ModCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/NoteCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/NotifierCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/PresetBuildCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/PresetCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/ProfileCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/QuestCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/RagfairCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/RepairCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/SaveCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/TradeCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/TraderCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/WeatherCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/callbacks/WishlistCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/BotController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/CustomizationController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/DialogueController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/GameController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/HandbookController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/HealthController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/HideoutController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/InraidController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/InsuranceController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/InventoryController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/LauncherController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/LocationController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/MatchController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/NoteController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/NotifierController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/PresetBuildController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/PresetController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/ProfileController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/QuestController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/RagfairController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/RepairController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/RepeatableQuestController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/TradeController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/TraderController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/WeatherController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/controllers/WishlistController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/di/Container.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/di/OnLoad.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/di/OnLoadOnUpdate.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/di/OnUpdate.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/di/Router.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/di/Serializer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/BotGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/BotInventoryGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/BotLootGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/BotWeaponGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/LocationGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/PMCLootGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/RagfairAssortGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/RagfairOfferGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/generators/WeatherGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/AssortHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/BotGeneratorHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/BotHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/ContainerHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/DialogueHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/DurabilityLimitsHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/ExtendedProfileHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/GameEventHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/GameHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/HandbookHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/HealthHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/HideoutHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/HttpServerHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/InRaidHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/InventoryHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/ItemHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/NotificationSendHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/NotifierHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/PaymentHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/PresetHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/ProbabilityHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/ProfileHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/QuestConditionHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/QuestHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/RagfairHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/RagfairOfferHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/RagfairSellHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/RagfairServerHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/RagfairSortHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/RagfairTaxHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/RepairHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/SecureContainerHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/TradeHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/TraderAssortHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/TraderHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/UtilityHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/helpers/WeightedRandomHelper.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/ide/BleedingEdgeEntry.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/ide/Compiler.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/ide/DebugEntry.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/ide/ReleaseEntry.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/ide/TestEntry.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/loaders/BundleLoader.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/loaders/DelayedModLoader.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/loaders/InitialModLoader.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/bot/IGenerateBotsRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/IEmptyRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/IGlobals.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocation.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocationBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocationsSourceDestinationBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/ILooseLoot.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/IMetricsTableData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/IPmcData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/request/IBaseInteractionRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotCore.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotType.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ICustomizationItem.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IHandbookBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IItem.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ILocationsBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ILootBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IMatch.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IQuest.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IRepeatableQuests.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ITemplateItem.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ITrader.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/customization/IBuyClothingRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/customization/IWearClothingRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IFriendRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetChatServerListRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetFriendListDataResponse.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IPinDialogRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IRemoveDialogRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/ISendMessageRequest.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/dialog/ISetDialogReadRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/game/IGameConfigResponse.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/game/IGameEmptyCrcRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/game/IVersionValidateRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/health/IHealthTreatmentRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/health/IOffraidEatRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/health/IOffraidHealRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/health/ISyncHealthRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutArea.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutProduction.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutScavCase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutSettingsBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/httpResponse/IGetBodyResponseData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/httpResponse/INullResponseData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inRaid/ISaveProgressRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/insurance/IInsureRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IAddItemRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryAddRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryBindRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryExamineRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryFoldRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryMergeRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryMoveRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySortRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySplitRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySwapRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryTagRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryToggleRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryTransferRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IChangeRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/launcher/ILoginRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IMiniProfile.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IRegisterData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IRemoveProfileData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/location/IGetLocationRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/match/IEndOfflineRaidRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/match/IGetProfileRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/match/IStartOffineRaidRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/notes/INoteActionData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/notifier/INotifier.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/notifier/ISelectProfileRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/profile/IAkiProfile.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileCreateRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/profile/ISearchFriendRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/profile/ISearchFriendResponse.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/profile/IValidateNicknameRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/quests/IAcceptQuestRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/quests/ICompleteQuestRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/quests/IHandoverQuestRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/quests/IListQuestsRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IAddOfferRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IExtendOfferRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetItemPriceResult.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetOffersResult.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IRagfairOffer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/ISearchRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/repair/IRepairActionDataRequest.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessSellTradeRequestData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/weather/IWeatherData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/eft/wishlist/IWishlistActionData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/BaseClasses.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/ConfigTypes.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/ELocationName.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/EquipmentSlots.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/HideoutAreas.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/MemberCategory.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/MessageType.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/Money.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/QuestStatus.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/enums/Traders.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/external/mod.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/external/tsyringe.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/bindings/Route.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IBotCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IBundleCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ICustomizationCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IDataCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IDialogueCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IGameCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHandbookCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHealthCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHideoutCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHttpCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInraidCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInsuranceCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInventoryCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IItemEventCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ILauncherCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ILocationCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IMatchCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IModCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/INoteCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/INotifierCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IPresetCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IProfileCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IQuestCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IRagfairCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IRepairCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ISaveCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ITradeCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ITraderCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IWeatherCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IWishlistCallbacks.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IAirdropConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IBaseConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IBotConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/ICoreConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IHealthConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IHideoutConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IHttpConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IInRaidConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IInsuranceConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IInventoryConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/ILocationConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IMatchConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IQuestConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IRagfairConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IRepairConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/ITraderConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/config/IWeatherConfig.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/controllers/IBotController.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/generators/IBotGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/generators/ILocationGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/generators/IPMCLootGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/generators/IRagfairAssortGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/generators/IRagfairOfferGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/mod/IMod.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/mod/IModLoader.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/mod/IPackageJsonData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/ragfair/IRagfairServerPrices.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/server/IDatabaseTables.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/server/IHttpServer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/server/ILocaleBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/server/ILocations.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/server/IServerBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/server/ISettingsBase.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/services/CustomPreset.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/services/CustomTraderAssortData.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/utils/IAsyncQueue.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/utils/ICommand.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/utils/ILogger.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/models/spt/utils/IUuidGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/HttpRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/ImageRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/ItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/BotDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/BundleDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/CustomizationDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/DataDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/HttpDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/InraidDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/LocationDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/NotifierDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/dynamic/TraderDynamicRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/CustomizationItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/HealthItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/HideoutItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/InsuranceItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/InventoryItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/NoteItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/PresetBuildItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/QuestItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/RagfairItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/RepairItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/TradeItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/item_events/WishlistItemEventRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/save_load/HealthSaveLoadRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/save_load/InraidSaveLoadRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/save_load/InsuranceSaveLoadRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/save_load/ProfileSaveLoadRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/serializers/BundleSerializer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/serializers/ImageSerializer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/serializers/NotifySerializer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/BotStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/BundleStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/CustomizationStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/DataStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/DialogStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/GameStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/HealthStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/InraidStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/InsuranceStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/ItemEventStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/LauncherStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/LocationStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/MatchStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/NotifierStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/PresetStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/ProfileStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/QuestStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/RagfairStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/TraderStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/routers/static/WeatherStaticRouter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/servers/ConfigServer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/servers/DatabaseServer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/servers/HttpServer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/servers/RagfairServer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/servers/SaveServer.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/CustomHandbookItemService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/CustomItemService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/CustomTraderAssortService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/FenceService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/HashCacheService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/InsuranceService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/MatchLocationService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/ModCompilerService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/NotificationService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/PaymentService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/PlayerService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/RagfairCategoriesService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/RagfairLinkedItemService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/RagfairOfferService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/RagfairPriceService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/RagfairRequiredItemsService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/TraderAssortService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/customPresetService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/image/imageRouteService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/onLoad/OnLoadMod.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/onLoad/OnLoadModService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/onUpdate/OnUpdateMod.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/onUpdate/OnUpdateModService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/staticRouter/StaticRouterMod.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/services/mod/staticRouter/StaticRouterModService.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/App.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/AyncQueue.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/DatabaseImporter.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/HashUtil.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/HttpResponseUtil.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/JsonUtil.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/Logger.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/MathUtil.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/ObjectId.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/RandomUtil.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/TimeUtil.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/UUidGenerator.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/VFS.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/Watermark.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/decorators/Singleton.d.ts create mode 100644 Ereshkigal-AkiConfig/dist/types/utils/decorators/constructor.d.ts delete mode 100644 Ereshkigal-AkiConfig/src/christmas.ts diff --git a/Ereshkigal-AkiConfig/dist/AKICONFIG README.pdf b/Ereshkigal-AkiConfig/dist/AKICONFIG README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..31b7dca2912d94eea9e557fdb2446ffa62840f77 GIT binary patch literal 1579750 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ы4;`+F?nat(OKJ}tSXe-7+6x>C)c2u=5CGdYY5E`_ z>-;YOF#2ys76^F&t7|IOu1U={0!r=G=Z=V@&Q!7lLEHu4@tB4GFPzav+Z5%knq(6? z{o$3YbLCrcBv{O|nJmw-f8dLk4gt&XX*=KK;a7SxWW)&ko89yK%mzyHvaPi@ zU79qV%_~Sc1fYL|1%{3=(E#XZHgSB*VWQQ^oG?3_{$*(N@9%vUHA#}MI7iOCTW+rB zL}}ZX#%z$b2}XFN+Hnt#Cd)|@@;Cb{-lZ4TSa;9`T6a03UkoY^;4nF$EhS}J`qK*4 zGkKP5^Y%Nt-7^7B8|Yg$S6tFfrmw&D$G1S_zSb_SPFt9>FYk7gV*R5$wO&aoQ8qvl z*l(Uq3tmnhdT>zqn?pgx+7OwbytLA7fK7|kk!kb#)~>7t8vnV3rvi1f8d{&@^Jm4C zY*ZZA!~vS$Q?=vRscLdQH+bO6GG_F4#@BJCgEQ%n+~AFLX!3cEK^haOEJR~?#D%KC z9UV-H1!Hh>@45s#e|4aeQHj~3fF}hGLGGwYlf_bo+$8l08gnQ%D4nUWc-X7=29Xmh zVG9!CGAC5sw>tG9^Cgj6MBQh4jZK`>`b$IK9vMl6yb%rk>&3T_s`O+VDs@Wo?)q&x z;atd0`W?GX^R86ArS*H8Zx)bR8a%9wVigjRZb;5mGb{;5UYniAkC!`E=jRI@G$q0k zXf-2Z1f{==uahWObAA{AhQ^f|TFo9(F)-f0j7FcO7~SssvtOizYHW7w zSlt_fm}N5 zh2yndb=hxq^IFFzel5m@YV~h>`1$jj$2S(1N%LHjXr4o-D$n0`N%iwwx?$0}lQXh- zexi1}B-W3l6zP7dpwT-jI~5*Yx6$prIT9xQ6=fd9Hx!g*~TXRY z^K!>~0MZwCz=K?IY+PXt*H>ol09+PdE=*6e8ZdLKu$cC#4XhNGq}cdFUX2>!`6d%U zj*T*^{tWua=kQVSdT)Rx2-~UHpz#;HnHQ3ak{VdPn>lP*I-E|*OPWd5FC{kCD8ui| z;H#BmP6j|&LJQS$W>T(|D(gx(BqL{U4JXO1YT%Ev9W(``xx|cG6tj$zYFMQ z;v5W$(71{CBs38O9u23qD=X9AGIB*Ct)NB1gc(Z1Gqw-MkuMV??Q7P4LtrHAgEQHK zT!yO~R7IH7GwY0GmCPj)=X6iWZ(7@oS@bJ&l3DaSZ!DEdAXw&`zQ@f?BR;^GgK{>> z>~)$aUOGWLhqH?t!^FGCcVL@K$ptbQsc@!!R7T@$EQO~Mho9%-Hd9%09BtQ-n;{v6 z&mPLYpp6iE$hkdOhY|&!q7w?6qj~=x%KQX;_JPxczhHeFJyw*Bxt$5PFW(2$$M&uh zp+Y^RK%>Jk)nZr0J!C}XTqmrIrXz(#P&H{}ZSiZTt-+9LXNpu(NdTOmvt6^rQaVVX z%nd7cel%=aK06*iF7$K5yP*dFgB;R)+1FeeD@-ERhVV`XF0C zjPXr?4MaSy<|;l=gaeL^6>0W-kXfkz4*6v%#Iihv=! zdgiNrg_0ILQ&1wCy4P5&Wwnk$gt%uzrt^{{$_m3JA*$eCl=Kxh;7FZOFz`^SuY!Dx zqknyTJpJ*;AsBCoD5@%>r?q^D&ulkXm2ri9i0PDWYng-d#l)&K+{yA%LP&u+RNPrE zx9$ZA>m(~Oa5mxdEPR_e`eFDI^5u`jFh3a-%^TV&J#H%qgp(2ss?y@^73cGDLzKE!C}?6ivZodo8-Qm^r{S!idd5xQUtv6mi|P6q&=Vshi~JuklIbb5mstvD6BX{b%#Yg|sD*TeL9kJ{z%9963&S zU(UoO&u{M{=Djf5*20LhcOA5REEzJa2GRb7OZ5%qRP&FsbX$Ojp>c{%=?oJd&jS&kb?^{;|V8ZZKxymc8UNRy)GytV=xl)7cY2bWqnz z#g0r(XjTTJA ztJG1rB_M?t@=Gs=Xi6o6TJZR@{M8Zb6fuEKV}kXw+L}QfmPKT-^ZR&#U)ia&Z;{cM z1#!{ae`NQg(-$-*2Ub7C#* zMM|*SvVTOyzZ4%rF{C1~t|39ocFo(ITQEtZz|$(BL<3791UUiEfUbEnEm3f2zWfJS zHgm*DKpwY02gQbmJX+zt738G+{ zAnQjrzS8vUP(xcI{NzE%JKuevy zxh2+0Egka6!lUJH!`Y-^hm{)=6Nivg?+$rXvpp5xCTiMNuZ=2}j zRdL%+X5Fzml-#^XU9fGoom$(e?7yccTiap8YN3go5gwGxNL(zb;e{J#Lj;fIkp`rb z^B?LqB57BVoQSb%;^!!A_L!%uLM#Ui`PgKH?gp=47howWl=2B=3DCWWhKH&WD@9PP zh(z8iHfY0#&cJ4J@099*84XbbFNq92G{AcrdyzLkB#dn$X#Z8sy$5pfa~2ye^Yfc` z^V4a-m}mZR1@((*nFtT4*X<9Fl?3-r>)4p0yPWZ`%lF`<{>qv=y@HR$+tEW0!7Ny9 zWCGv-t7Fozx`G;%&wHQ^$rsM&&qrD~0F&0wJ1Pb3YG`FB|Bhi{kgLy7?{}>q0m|be-d;$L8N-`6d-7?#tWuD2R4zl8r^Bj|Cs_pSJlylx1N$fbo@MWIVYH*j?E~%<( zqvh726(7OvK(d~51^8~(bu>A94p*zYZ^IjOugi5^S{BcCLgfgak_$!U7p7&f`i|CZ zZug9&4!iMh=dvBpZVEMTKp9BTU71guWu6O{{OdR1Nmaefn%cGj`FBno-iRRSw-azhzw(X3Tb6Z{{41ZKyss3MuK4ndX1T8%!7A%mX;r8Pl@C1%I@vl z)foqFD4EH~4J8$S{C#6zwdoDUiRmb1Avl2 zY3p}s>^f~G=;PArzk;GIaME#_a~PB(_|NLcH~VdNO}1rcE^XNMJf5kjUDPjp(n zV~saDq7Ew%lP7&NlH*5`PBH^KyX?_jUb4~cr zaqgG&kGO3aqPS zzV2&%3ee!BErfBk-B{9!X|GXIcAh8I3hA_)e~KQ>VijbG+@pPHpcPQ~Xl>cfbvBGr8!4ql5G%;RK*N(CV7@DHRp9c?DihPHZ-?Bho z*N%iFqf-!JZL2O2-phmalFP#+TXV1El8$Y7S~|Q-sH5=ee}LclwR)EiC9%()KidJ# zGM#SkM5BwpSLDXIk%>RiaM5*rHb-vbxpQo%y#!gx$*v!XthF+m*?&Y^NvS_eAf2%h{T`a?u?@eK=U*lMwyOJ!_cbXr?%}VCJ|*hG z{m6;K_#8te9|HrlxQ?zHrFK8wVwSqP&3d|=U@qqt^PDtkD@w(+>_YJBG`pg&O$;`3 zExfoOv1HRqh6TG+b#1;JjMb`TEYXz>i-R@UFPft&Tvj7XotfR8nlZNN25Zq3$H%-w zFU;=5jCTB!6CZ82+)?Wr4%@=y*-xz-@CKZmCilC`ydG1xKDa+jKoACNG4KRfi7G*` zR*q94^~47YyGJwA?zrP`FA4V{X0HEw!%+GOPP`DP1hH2kRfFOa*@!1n=RPfu9I=rDw*gz#;47WD>=edwRw9k*+>0z|*o8 zXKEIYU&f!mj()m=Q2gToc4cQcQrS0vznzDcneyCFINBQ@KG~e1ojGTBcNyeU-+Kk_ z^nfDtk{|tJ{O8HzGfbL3ykuvxPQ)K z{97JA$pr3vVI5djSr=gF^kYs*?~&^o;M~PJiJk=2E>H91Q;twh23Z zvYeA{!rZ&NB)(ec723Ac`W3u`co%{tCvcC=(iEu)*#GY-B zZ1W{Pp&jwqzA^DcklocKkG`L;sdztj?!zH($M`=|%vt-n9Rj zOp)UDnwEk2Z?2Zvs7G-DppEt3rp9W)7Pd2Twq|kPrgj z7w$xuY>)_Dk-n&QwKpYoYw$jEFXG0J+jabOdbZgx6Hz*Nb@%HdfF36taT9F3D{8gz zYS})tcQ*{^hVY@pc)uWRCyz<>g7x=JqywBic~cd|%sN9-ahDthw8%OV(ApvpiYFYi z!>qQ&1GN}fNd1_alZ?d=&Fgz&7T?{Z|4z-n2_GQn@)kS@0ONM)$y$A0;FLea2lG_# zra$vYoD)!SrS+TeXv)t3hv1J|2YMsHn!W9>;KG(DqVdJtDS`}S%4@cmjdGGXS{fWP z4JFu%m?ZDHGzi+`n{42pHiB0Nf=hn6YwER*wE;#yS|=enmH{RHgDln`so(=cEQ;)Y zPLa!?N@~EM()FJ#(c3ImlGIdq+50Q77uPZK&b*}Bf&>I5@GPX4DW9!N{A$=^`zF)_ z`#xixry|f0n0#~r4%z5$yWm^T*Y(Hig|`2&0o{jo7ZDWbeh)lMfVk{BURy3&B_0c! z((v_3w|YY{*;+VRkxD|9UTAZPiJ9!DDk~HESbrmV+WEriYES$eTR40iy1xv0RUJAa zSXdtYvoQ@pfUerYLmmT#7z;Y$T6Uukvx(pcY|6 zcNYg#OU-8oDTyYy@z}*FWn@XNZ3`n0&9KmSEWF5FlHB#8m9gR zC2o@sFqe9}R!w_AKk$GCD8TG+$CHtFPz+0eBQ{0G4LAx}oMJ+trz(yF6^3+i1RYFh^o(d!v6;QpDB58PnO=ide z#f@OX(>7w;5Yoo&vPx#emC1cM_iBOTUOuts&8i$I5^u&BnV4Vh<5 zGMI@Ccwy*~&pbUKI9$oag`X>9x=C*B-cD}MhDb{kag9WvX0#`0K_7e(_cB%8vO^`D zEb@tG(zKnByz@xLS?jU1^HY*}%0O-?9W7K?=ygJj{)23bLfE3j=ch4;Xygvh`4d6G zx4)i~4uBx)_^ON`$Y093q&EeJ$TPpGU}u67#(hOU67aZ1e5>9}7`c-**O`nRs9M)p z7=R9w#y`h^J%>FMD>)9c-iNI7xfea@hc-6DkC+6?rpi$H^BKps=WV{)v_GWcXfI(% zGe+`zwhI*>`BO?t0mY$u1pTyT6OOXAh?j{YYb6peDQpZ&1EOG11cgpt`AoOU${V*Jz zLa-wOys`#|NC-$9R9i}hK8SG_^G@PS#<=<$!Aia0aN_%$U37VsH7-w%7}8WNB9$L^^2yCY68O4)!dlS&MfX?Zgcx5L z{zZg%w4HJL8;NEQ#KWcahVCi)4=OXV6sj|>B=RNy^bQ^%#BgJ;J-|+qHx{i5dLZjl zSl}@){9ft)6qh!#p><35p&_(%qjb;}OZT`l+JSrYLhF!m@9pn&(fyeaQ{-+<=>r1? z9NzbV?=+zxl^))b5(2UPH82%)T~KT=mHD6_v|YIL@D-x;yfav7xfewjv!h#8N9Q1*==Ly5-VDuMDHXtJr9QjCQwAifpZuHXbcZ z;l%yqkPRbRg<}zm3q}ny{I(9(75T+@T0r+-DxbP4EPSJhXM_lWyA-ScCbF(iT^9Z< zs3$EmF&Jx&L9GBR5%?kf_?&y`xm=HqYD|kSToZqliXPRH^QNuR^Ft`#Q`vefDsBIHYndGera2lVw6^<4*Fifv1 z$@mfd%gvQ*{tjlbb$+3=3+ThBjg|4e*y`oU&Vr-c8POsFAiVG6~d~7ji!U#6RD*aUn^L~6Xn`lDxvptD}J2Z;C_m@`NFikd!Gbg5a>9%v$W>ZJQ zi=xTC=cT z&!EpF%RN7AoOV%|x>oij+>nj0&=gm_lvbLCSvSfDuf#Ck-Y&6K6uU>IHTCV*xqgpm z<|}_=*eJrk8F^VnhMgk#lB5}8E8W;Q))1HKd!oP*!vR{y0BoF7e#CRZn5N7baAq`t zxX_?oSOlw#D?5?TXx=H+mw+*bsR-cvzKjSoNL*OH#+Z@ObH@+?M zhG#gV)b`GZW<1RdE&G`O10dE_rH9mBrx;LRb#rr70{#NcdVokR;7s$R!%S@>lc4^q z2XxwA9RBkW_PuqD$AtFNw@c!qsH=~#-2fR`LYRC=ab)Zw6WA!BzwvoM&0H&U>?dmM z4jJ@d7vp9@`uHo7>fMNU1c{*RYal|X22m8Fk_m=p0VEiX{u&c@B<2Nh2;?k}!qluA z8I3w%&<-nrb31Du>RN#xFcladb4Tc*AJzE=j`F=)M?me)LMnO{8AvLO{!mL6#zqDU zZ_tPsFqs}jpB3zuVRHHN7`CF?=$jrW{;|_KM7ES~wC&=pyB~hkyxrvRl$b!cZ(!=g zDD6r~EexkGiJ!~h`j4n7djoE~)hW}9?beokR@`YW0Bi!sRaF<25SC^p9zaPVGqG&_ zVW*!X1tj)jaHg7~Z!PVIF+j4Clz*Rbl#j26TlteMnLr`t~vGw9r5*ms6$G5pblIL zYUI^-LrhYge8@)GFe|@8oxBhn?mHd5j#YZ;N7+=>cDOit4(^cB&FjWYH-DUCYJvTg zVrntcpj0CVJRZ2ta8F)Eqi?(W=|mk%@BB}b|@eq~%FyE+~&34WgC zyELz8e*Az6$QfWZ@pJwVv!##?66nX2yRQ)|eF48jLe&cK*|0>YmuO~>=vy-_YkV;w zY&Y;2(wf#FtV_m&kh0|=v1yX=whvD36jn>kpSAKi4*EQqg%To3EwTZJS{Lbg(BA-v zlHjBtl4pU6%WI%WR9g2ziM`1=)%e zQJb*^k|>uJeE1n+04R8r^%#@DccD~1wuG=u47!3U!kOZxBUKU@i>UCs&DdVp*xQVol%}`XSVko9lA!F@I6DqpBt47V zMQg0DF0lcY-^#ET$^zihs}aie{cHEc$3xjU>iz!*rjlb2vjzQtk7C->VMzD|z1x zNp?LI?1%hSoAK`tRd2Mv8mbD=7Odsdet3NI&L1Y(=b-N}A8O)}k+M|gccwN%VPKnd zW9>xE`us%=F8BDE@a{Jy*V4j*kHGN~89@U}N7GD^faxKk!;)CWpt4Z1B35CGipwjONJN1VERbUi%!@Qku)VID6UWCxj>i7p;p zE=LP4x$l(=HDtkIF@rkdv=T5z|h^5*FHG~R$H+sf=%Y4(W6LzvG=oJ<8 zJK(Ov3Ue*5GlB0U2tE+ZgK=CC%z~-@1J_5**b)Ge;Q$g2xo0!D;ZP!NH`_czukehj zs)z7+Qqi*PpE4!S;@+N58ZXAbmkB}KP7gMFv$kihb2DyebL>OIAg}>iE|uVGp6<+^ z=g%7))M;(9_dW>yaGY8Z zkO8`>FtTN{z|u;;iyoUTv$#;3OnEfEnQyf`1sWFIBMm*X6IB|w94IACze&_a2+NNoUmuFSLT**oc!S@Js3Y6^m< zZ>erxu3uvi()J2r)sVQ&1nA4p09n!h^mT%Mq6JL9e;a{v57LZJt?(4fk?*xgrAkdo zq)%7M)&(;~uL_LMD?9;4YgiVATlTqh>MYcyFamwh0NnM&?~=MQ!dXLah+-o*fHN~% zvFux-+9+WSG?)UHEVdv18T~?C9eGOB8}$Ca2707ZTy4beu2;z;j&8oMeU zPh07GT40b3&B@+B#jm3GwCv2)$j?+fX5ke6tVY1P^t3YfCPtq5FT3i5YvgW+oGjBu z1!PdQopa&g%~LZ~8C=cK@E4Ckubb-obEe3jSHS1XD;uPeKXS6K&sVV!7NvshoayGV zn}LbpTj~5`44~1s{Y(mk20CR6Kd7P{z{785VQJ1*P3-qCn}5Q!)WqS1&$db9KT%;$ zFu$b1eT}kZAdn4E59ghY{3e|~O8Zsp_MU`f3G^!F7`Gn+nZtM{-aMnC41!1w{}o4J zIs^$FJsxoh&l6-{e!V`%M5Jin934t({%+#2_4 zqibPDX6-E^^^+pB^4H;qp| z?$2&+FM{ty0dq|i01$)k#q$oyOv z_6+jdM>ujv={qXymq2VUBJA(nUXQG>5#|;TNr+v7!whpK)y$^^;(=D;i&dUyqJL zdLu#A?6?a$Rj^|1o9|9}^xO{-U~GG{tSsKBeqSoEnGTD&RpF1v+y(|?>ozb2h`E(2 zYX3V6zMwEQ%QC-q=tKiEp&R&MXpfXd0;NU+OFFwlUnT+dK#6pNsecQRQk|(>U+rEQ zpf7d!ANvHDTiYQgbOrr9DauA}{DGULPSBCpjK8+9oago`1UUce{NCml%zis>_vu0lyWWbo)@g@igm|HylP;%yVd5Y`v1)0F3-W`VZf3h&7ebGzc zjy=$-tnwUiZ`WN?S0rs#XjhQNgxss{E3&l2B}&F8jb-#_!Rd__TRw81ad#?L_LON? z7y$iNznhEpSU&Wr=s8EZ&;?91r7u)BY`& zMFqg2=~TYh+*4#pJ>XAozQm}Ggr{Bh`06j#j6cOQPPG&XNS8TOtOf-6wIH;oSRIKc zV7D$}Y7&=e1MaXusNI?@(^(BOF)-QBbGq7hJeZU1gN=oob?l5$y6Gx>xNeZe!~U5= zce#EhwMJERe8bW#TO-oDZc#e8q={f+$pT1EK;NvoEu5~Iecn}DzC5z~38-Yn5<{s} z*-i(mbP+0DjmHIDvPnJk$jG_SS|yYbv&8oej&tUQ#^hXd9cuFhG{C+X-+{-=1tfjW zJ=Izpb&T&)vnFs}_3sMbh1Xj_@nn;Yn(`_w)gb4D@d^tBZ}*R{9Wu9w$~O$_g37mzoWvsQUd5?T_Zq!Q@EzmFKMdUmEzzg$}3g`hfBXxL2f-z^}tq%sW3 zZbCq!OSYmS$pH!jf+gCFR0PHZ7ajg_N?$w;I7y>_d36WXa7peF*I;3<2}8^)v(4Bh zHi(y(>A2~Q%2^nRWz*TSImdGxVtG}Bci=LA(U^h3g_bA*B*w{dIe7(#KTgxDEzBYf z|$R@V(DGR}E=M3Ik6p4$~F&xZMfZGjFyW zW`dqXZ87^Hf}2nxFYkrs{k-)Tua|CmWPPO4$xK)1U0Q73A%OVPPcBAizVXI37%sC7 z`WVvMn=a=TSOg2s!Bp~E{=FWl&=aOh53t#;J70}qtmLh5Q9Z`q@!qjUXMHa}Z&3Nc zuKWh|%~0u06}1I6g(_a ze+oPc#Z@$27IW({3iw;~?#NBx0U0O`T4G(7NQiNg8}r;$6#w(5lD7n%&T-MlBT2-I*%@VzMvv~xzl&~hg7x7AC8Iav6afZ=;w*x%pI-oj0M8AHx;;rp3KP)y-xkprze zfIp^)i>u_&VBzJs_Jj=H3yrr=;?fr^e-IZv1W=rUb72t|(c;o-j6QxPZb!o?UZaUi zC@w;T&GiwL79JZQ&I}M2^F}qyw)}^hDzwLi?HR%;+W%Z(ws}PiIdjBi5SR3^grB8t z5|>2z{x;>I>$0?agOZTeBVhY9Auh2zM9?VTa0{x87Q1}76E(rx$hl7hxyJqF~MF>BuFTxxILR=(E%wpjF@2phREdIZlOdfh<$NdKb!8XhGCdFjFkIX>-JIi&C`VtUV%Dvq2c46s+lpG(mUA~1nh z#X~jFFLdK;hJ8eBpz!&YZ};Cs?f#SxDfbb!x`v63@#aXqh}1I<3_+2BAY6yEs~bW} z5)n35TcYMeF4gR|KlTwkmCg6ciC3f$A;~7bR&CPczkJCW>Pxd(gJU`z-;OQfn)%oo zF~?UB6zA7$VUYzwuTa9ENG$Jx^<n1)Xgynx2}-hHoQW?exH1-4 zPqxWizJ?TkoNMZt(%9BstK0u9?OglY7kO^BktY%qeM-YQ^a`V%%s`0vS-3!j2DPJN}#GUyao?aHc zi4}zM=y(#Z0uN&nT@P9}dqkjzt}p302FoD1{BifuR2PlrVbqj9cbT>4PC!~N z2!)Ym9(_MxWU)44^-;>3iK`uPhDh*<>_m~FoOEGHEOBahF}D>R5@S+#G-}Ex0b?)> zM4*;JxH$m8ps71v(IN664Zwx4PoDTVe9VS5;{zJPfhbQtUSUD>Xlh&vOpbPpeQGBs zJ9tFWRl-K_Who)jnUGRpl$-{c;uFfENadhOM#^dL$h+(g1ymv`c+`HQp= zp`-!652K)08iTRS_yU<=LO=Dl;|dX21>qDiFot9K8zdUpw{W|Lp&aDslHp3Zvp-0X-c)55_EI%0 zvGiaaKEQ83B^o-0oDhhMSH^SM(ystF!Ye>hQ2pRza2Q{GwGa$|;>;Qv6b0gW0d&dw zH)b3onzh*J@~#>WeDNzU-US5}X2G#FAr)JvH9b8#L43$H;fINX3?SGvLTa=Gi4&5CxM%JHm!OWA>Km{gh+*M8tS|>Bb%x zRpoESUlU^llUc@)R(4Is;M_6NI2(h&tc1hxgU;9n)}UqeGN~eX6VjI=FC|t5ynYZC z3xO$E(Gnsp2OsRMhXunNPAuBdiV=fek@|5Hq$heA_SC$FhTTF+#_;4H$RfeAc4^<0Tt#D zV|?9wo7TG1NBchy-avTtNxm0CW)H@DM8mS$#H}4eP@Hm|9w|+8hH79N#~_2|HQpiZ zNWdk4AR9@xDgi+m*N^06jGp0*$(W$NL5xGZ;<;Bj(boIv{<4&tt!deEseMN}EJa0H z9=od0c&k?Mqp>C-8+5*;x`$&mH7oQt^s%wauf)O47 zzN{@I$5%NYom-y#^Y+N5%;`4f8d#V8d7k>O{?Q-f*dM;f9DTl(!vgN=V2jBJtaF+Ln1KccY;OA)@i$MyRi3qRU;(v_)9TioHj^xRtK5G<0R z%o8q6P@eYYnKY$Qs|?G|q*k$!hDyyMqCjVP^4LTv(y&}!wS7RUt_$n4x-i;u!xMgiAl6B0!k_^iY=4`LAqd)7%r7Rodht8D!N`FJtU z@c)|Lt8-tBebv&*JQ;+x!HnNR8cu^~VjOIRn^`H7>u&qCO9OxMsS*}wOBcwy2Am)c z+xgpW_^@*rsKNS|w-ROCM%rkWtOuCD)%GzSb83GpU2 zh}dFPl2*x_=oaJh9ZeHXMD$e{`RZ$b~1Qd@0qACHJDl3(=J`N7!g| zMWdiatXQOJXwB!exs}iar@q&Bu=o{Z?GB@4d(;6zl_~EkAp{T)12vA&G`hke1SGML zZok~~T}nLEX1+`1mCiIa^H$WDvR$|}{WVvq@++$H(70aWPSpn%GUb%7?L{8Y{Cwr8 z-wv-blm(8|$^PtWt4t_!Im(p>*u7>bC%!p|c%%dY?^aNoHbk!gXg1}AR8%IoXs`=1 zly^MGEmF+)or5`>A&^fql$Uj-*oz_fiSbW>jAIiDFLhYaqAaa?L)r^%Ha%-sBr%w!fBE%%*$~OrCx6lTcr6e9J>1t4qrKEz)%Q9;8F_1f5 zE9ve56VIh27SI{?VmH7Wr>4reC35xiTN$u@`aaP zOIMTL>E&N~qfle4rMtxqxvZqmfJ-x!6}&KdoaM@UEROz10*j}mgdDXK@U@CcWRQHD z8yaLb(@Z}(;1r7IGQeK^+;v+KaErN;9TrC<3jd+rt3!$mMKQlq**U7#-M)dlclT>z)CX^YZT)D`{c*W%gnR zzS9k*ms?Nl(mS*M`R2mwgN5s3dH?@b(^Vtx>lVQLpTVJm+Lf++8+e-Zaqm#C__R=X!# zOOFTXs8}uhqNv3QPjwp5=q)QrlFZn|F_mBalU7U*>U$Dp?ur*zYbCA8lSRSF#;TRL zyYnj1@pmc7OMk6>C9y-#XR(N0+E<>bJ5DUZu?6qWyQfa9eD=bzsS;1rJr<^6Pz=q) z3HGvcT?UM+LMv}U=dy>g3OBvh$Vo6Mv8Xufez5kI;N=(MK{_VZVtqT5sOo$$XgUnP z8q__SH}|56BA5tf)~jnJhP2Ajy+XhEy5cxe+93?Tj5rS}-Jn{wR{H34w0B3lb*`@N z^P(ULAybVpjhdY3SGizR?a`h#9a~N%m6}+beGTZ8O7kz8 zdd?pC8VY$;0-o$-LjxUu&x$cOs zzX}}L(-#gNX|kdHJ`r39suV%N6D-->P<0f@l-!D=eQdyHzZD-D3@HPgep4FoR(i%eQT)Qc zu!Z`9_kC{}FY!%Zq38RIANNhTbtZcW*-rdOtA8#(>S?VVf;dzCkghU*dQR5B+$YS~ zl29kH>kX?N+D+a%Vdz~fP59X9K*>xdrf#<{rM;89hV>VB(uaC~vDb+pyzP;lw9q*e zlXaZ-qd6(ZWMKBthf?3c^qN(F?$N3Je40H$P4_a#vRl5YtMb?(bdnfPk{REaeNyAg z#La{vHPIfU*o!fzU20*;3r)#3V>%!u4(F}JbSb!PB2qT4?UgJLgp}l2-0O*Fh|_^o znF##g6G%qR%oO_spN~WQhTEE-rU*Hk z!6sI8kVRWDb^Yu1C}TrDTY=I#-8dO8%1KTs9LcbN7>Yu@j%dM<9{y1(=m-ND%nb>l zyXvG&;}Hy7Jj!91!5hfjoNbz3y7%%`qtRH8;(NQ5%)P<$5Bxk)sXq>D!9S_zK84r? z-$EvVH%iM{4d0}SJ!j?ZQvx(voAM976?OQm1GA;y`ueUwhi-R>33M6J<>}Jm;xjRc zXQ@nkJcfyyCh0T?iPipW-#{XP!X7zbT|P`;O}UevIVs*N!2v8Y`8kuxbl9ga4hT|Ec+oa)GtdXeuV0b-3knhXaLW@1ufI^Kn z_pRQuSt?}CCr=@QnROU7E^d@Z-Wz}g{Y6iz+dd681s&f&wl)kcI9B8C%-gwDz}5xa zSlN6GN}>iuXJhqLP78MCJ4l$?ttGpY;ZgP14d%SB=*1=0vGNA~7%M(|n7#Ambd*d7L7|bZUd7MI5r@MAA)3C2YdGvT4XPnF7)% zfuE}{-{i>Gc8HHN144RWezq#3@ zy&R^aK6w>cUyaMUdqr-R8H5&syJ00HCf^wNeC zOis6tWZ^0VR|`mnemQNE=fDJR6rm7>3RN~HABQosh(^fhwwVNX1~M&Va?RKQA=V}u zNuwb%>XtDxKrbQXh@BURGW=)0Yq(j2?RnZ4ZJcayay&~Le`tOo=6bn*Ce`D3?84JS zt?NkCY|pE9UBd&U^ACU<_$L%ji7t=#??2b6IRrrnb+nxhP|I*#S@>CUr^fb{{3jh{ z6nllg(q+qTk9t_N|CDMB%;kywu-DNkN)x~vE!APGfElAh6gw^S#K$E6=>QM^ya_lJ zfSmR?@UMdmnTK7g9CKO&t>1OpH5Fv5gK z7rH{4Sd`zf#k?{v^J439fWERBUrgEU>y}(rR+OkcjhB-IR%36I#W)4WT0PD%g z*+$MYvK86Z1XwszouH3olL`Ng3)BBt5&cxKYq{SnJLNk^*#tL6D29(wwJJ$=)a0?3 zy`7u&yuV1HuLj7Y$Ef|yr_1d-H2|Yc*styk^X=-PqCVyxD^D+yA_Ss&kezoZ{97L# zzDH#Sh@s3pW`Y6(Zy)cKXFy0KRD~FYWH@e;{BAwhQ?O>f(IhcBg^NUSL}HR;!MKZ^ zkq=dB#+cEycya(WW^}`2Vvou~q-0@I-?#PMN)9Td+qtY%K3i#T<8};}{m0Ae7ICO} z(NG(Zg~+Z_iF{3&V4J1MFp8X-K@p`+}Ih zt?%~YOvR`>EtzH72FVT0KIk{|LOVW~M^>6bsQlx(i>}|nIPZg5!NFzbu7Zt^B z6&%)Ot#It0~vl zMQuifj?sylMvs$$_A+m}E#}tGmcCZxiSR~o;8uc7i|E%;uKTxdT2-MI7FJgn_D;j= z*uIZh6O+@85G&Knxhnn-&HgM5+fnN}>TOzT5k@Q-A&YN;$JsR+0;WM;mWf8YTp&6v zp;#qkaY|I3$8=&y5Y&kGtk(EMHTF%Xh-LA3Eh(U~zGinj2M2(_%40MI`S7cqcaC;? zmgQR5BcU{^74IECiZLwq0fx14C1rg-MYN33qZK894Jq){*bo`A@*w~iCg_^JxL6c5 z15>+Q<&jmR$D2PhK8p-AI$TraExI}wiOLFXKJz>%9N@FGPrDRG9v@W}qI9J^P=(J; z0^`rNQjcodmM8_4Z#cp>hv@SD9sObDg+m z6!%C$$%uUR=!z_1@@VPoec6a}&6MMujIRR7K{?T{DGRtu2%GXl^%myctM%g!@+k}| zDSCdbl8$b_(_g_(!`JkyHAOb>CM+h+H{V-1kloa3gbQD3q%rRAW)QsX3%k5PZ-^fwu zhQa|#UE2WNVlad8>6MUp;K{j9bUuZF6V_3+RAp1hncirs7##@!T{tHIrgU_UM8?l; zSejX84p2KrNgRwYHvK7iEs4nW<@sGBYD;(vxM07LTw4W29|uLhoc=AjspcyqXT zMO#Rn<%22lzyEBuWg32+CKCPC{mW^##9$=SSiUXEupGuHj#ZgW^p&O6 z*OgZm^5ic8&JnJY?5_vPRuVd}NcII$<1%^Lm9cladU35o+{PY5cO@n}1c(mIt%oFJ z^?BqPf9#bpq9E282$K}hKL!y&FKE`mTocwQ-vM0~!6Zc^(l~L*&@f2Q_@G1F@k-C4 zEIX>hIMm9Uduq!w-aly8Cd_jY&h6>!PHu|2gn#SBjh+dpVS2jgx6e~Ah0G336(X0D zUA;&JX@(2w2gNzL5x=kAPL1WqCSC>Vr4@$VTJcN6)lATJ{HPY41Pj<-LM29fvL>H~ z9~j}D_a%90A_%{lIh^?2AuCv&-5zRWPu2syX($h&B(4^b$r(iSu50#+^hD@rC!~hy zNehZNBEnIOVgA+qj-_Hgn1?b{6H8L9SFw}OPBRIn!j1BdBb6qDa-O3<4^OyaIRMaV zqBE;*LOXw9lSoH%$HH{64cJio{XceZWO9JrI~*l`F2dF~gYF+~wBi7tk!*wbYbPJ- z-RY4Fs*2PJKy5rA)j}J5d&uC zSX69z6`EcgU<2mzYaZ|EOH~?uykK4pSvQ7c#Akj}=6Wi;Z5!r@9$mB9py8sl|Lm1z z!zSnUU*U`mX=OV68nWk%$w(R9#=sb}7=S>EQw~tW?eG9-{jl5npw~!nV_z8pKh;2A zW2B#_-XEyapZd?2pU-fR@7YX!mYna4(JbrpJ@$LcPFX*cEz+c$`@`KF8~WH^w!hdV zUTdzN9BatyRlS36Hg>wo*UwhAFtF=6TDkq8b{pFTqEEPYzg4G^d#s(m6b~<4o%`Hv z?a~Wly5u+^eZu~kjGv%X{7rWsAURrE_{V!0eD>}-=^tqqd#k%S=_#-aHPC4H7f>HO zI!3X!Y-(=bH05Ig$a-ktOZiEsSj4;K&%{;MtVz*k7h1;K@8sZ&W>1s^h+h3yq9X>r z{XhMOB$^B|1)|&k^{>uyl3GucaPN5&&=xD4)NiFFy=rI<)jl+<8e_lk|5kPWZys?N z>1MkBD)j?8@8aO{!_tFss>MR@-N_KW2-stnIyT$AOp0=+*w6O zzVf&>&E-D{It1r>i_^fn04BN-nkYx-z84!igiJphh{RjnOqoebHB)9ggx8I&-p|(` zpP*Cp|Bnbq_Wu*%C?N1(zrB$a3^VutX=VInZ|7oa=i*GHO~k?kXjdj;VgBEO<$nv- z|1JKDl~g9ug<<^VWbYti?*X7^VgN7zKJ47=46H0nOw2@FY|ISYfEwF>gmR`PmWKbo zC>0Hz07D@9AB8ZC%BIftu1?0L&O|K#4PP11V(((;VoJmW!>H=%U`oWOXlQQwUpVIf zJs%cM0NH;Nm*;{tfSlizy*(JFif`egT z1k}~4X#8x3_(DDZ?f==#I`oqwKI;0IU9J6jQMdWo`+5EO&eb;*r11V)t?h{Z&=LtJ z;?H9nNqSy`YR(s<#n{Yi9ljQ&tgHN{>{4X3`G zZ2O)Kybnq){qpIWm5O}J^9A^|nZNiu7JY@CubnjM+qcj? zFqC-a&LqC%*5Vc(g*b?9m3n%o5?>p4&?O;??{|b6asPxgBy8%-So%+&Kwf`8$o!Og zEAh>OZ+DFycLW@t4>G>e3%JPYrJP*TmTTSx4m|D(G}wIaW8m-}ea*l(J>8n6{A z@wLUYvv%#SyZqJZfIG2(7BnTYeqs^!=(4ZMX=sPJ;+VK(L~fbephq=O{$v5ZZj>zA^*H}>U>i|1Jh2Wy+XXWDu7yzi=(cO{%o9t9T* zwF(LT(fB0%IP{d;fV;fWqomh-ErXk7i}%kr{5@v#Xy!xXN^$C=-giT}+N4_%1MAZU zx5G0Rlb4Z1xR`ukkY0>J1{^KjCTNh+6K>3;MvS5sGT|yw%;~+x@hI0;pC-yG`=Vva z1;!-l$W^Fe8eg*Itr-)dgQ=yNSRv_Vlp3ixZ8L5ne4I1#$Yq}cjU)-+2-C%?cWOQ~ zm3Rr9MyXj0xvWE!sE(X23nbZ6OJi%Iuv-@+={QKQZMyAuNRi$(k;o5`kW>xENeLyh zmwRlJ%hlWnL8-Cyr_0B#L;0UFSsR9_ftcYRvN*64sbE9`^~H{rzc*P5p_gZwC6x36 z{Mo$!l5u#-?w7exvTMykecE#N+x{-oU}b`+28o0!<#6O3q&5qN=cH=a7Hq9(e>A{B z7Rq)>ADiGgG%H-GJr-%HJ&EknT4`33Bj^8Nxe(aRVdRv#ro)~dkI!(hgH*O6Y};n7 zRI8Vg4`N%K72=#t%*OF4m}>4ydx80s)?x&cD=az1+%R+QoL+EQZRt5uDloo-HEA+U z5jGApAU7YDkyaj&wPSB?9iU8kZtY6LTfDy~!Jbo8DUUASvWY{E3(K%Al0gxev?bM@ z;nM857OUv|^_{TKKAUWbwYOEaL+Ie_m2m;tq_&>Jlf8ACNUqvjT0PetKAjQ(P9ZR` z;1g_%ciahjYOe{WlsdYF(Knpf>Maz-64AjMp_anIOS|x@knQVvH6@om4hh6ms8U#2wxX)z7a?Fog9n0EehIz9T+-8W}78T&=mP% z57mu*JZF*HP0O5FsNZsbj-Ah+Ul%T*rQ%fQ&Ux%;AeM9 z$FY_fRTaz4s}z4y;6isDw%K;-tn^c0mMs-l_PxxX*talkAP`ZGyFQZv`kYqT~ww10f55WGf94;&m@aCOw4GFre!OqB-{*P z1%@Q)Pe&%!z*T9S!>|VfQ#&^L5?|QByv&818S0q$XR0~TIV0M#bt8ak`dpJ0LE4^< zIWrWmdYWxcB6;Luv^%7Sbt=M#`t;c8NI|pUeJBg}rzo3Msk!gaoTQ+^gQB7%E+WcE zVImz%Z1ym{%*xZ-n~%aiE5f#FPj;!1dfqIbm3eHRdeip+RMF+Kb!KS5-u+B=sqo0x zydd^0hPD1ysWix7R@BwCHajBU8RLTZxreo$e>EpUD!SD@JEFr}&y_;HfLqUjB2xeE zGaYLa4WQ=x>X_A$Y&?Wj>2~PC{6La`H%qjZ7nR%td(_hZz2Qz%6;{y(c!}U2+!NupY*Szkv}`I)F<6)k zwxs(}1VI~aW>g*Z*Ihl^QP^~j%dWLhq>Sg@j>^jCBOVnnBMKT1a#r$&7;3wfHQ-R; zwAd!t`pxqO*IjK1=={#Rm95|uCbpqnQJ`QV;5T3@XXKdx;x=AO`R_>xy=ljS+9HR) zo>eW&feYbeiJ5N+ZK&N6)@W5QUfFeU=?1kqQbIjv^|uH~m}Ib<8mT*Y@|13Fz_%thS6 z0YZZ}B#zShs?2t=prqLLt9U&R)?;RR+j8f5y>EGy!z3x^N zf599@9s{@aprX;zkzH68k_ZL1!3{prLHy z0zJKc7B4-_^s`Af zrrr@s5wpKpknz37?-7NaQp!XiHxf0gA1Rhthz@PDBLEvfj)8Hb*{FM{Mn4;=;(-9% z83T*@LjD9}c6)i0%6*!Secx~5S^|5hii?*UuDQA?ZuDuS)oa!y`y$sll{hQ0&R9CFFMvq0~e=krlZPSce=OfC(nET<L#r;ay=&3qBy)|j#akLYHt@T==FYpG>hWY54ZXeRQq zXpG(ny0=iG*vS-?38;-|X$?B9mR2N5oy!<4UPyuzB2!5QV2pCip9L^$`=(cKSD zPtMI{^Yw$354p}65Eao(-Mb;z*w*VRun+`GRg>&nxqBJ0N!c72kJ>sP4 zR1ng=p&k2-2NP{lzonsmD;5rv59g;GLCR2KQN5(^a+4Ih&s%Rs0)tes#HRySBC+Xx zEZ8<`y^KQZx5^Q`yuF$}dE(RQ*-$3K2ESYwIGW3HSx3R9 zYT%&oLmv#7fPp*Hm=0#dHIfRg$AMPGVG5#sS`3OqU?){>VJeCTj}q zIFl0f>)b^PR9MF%Hyq<7WW_G!IYc}3AY>>SSJPJ6Hsb9SRi9h6B>n~wl#Cmkns%$2 z>5$r7BZUoy);UQ`@h{teEu*YosN9QOa>wX)1WN|Q*ICsB{6mt^v(%?Sxdam{cdn+h zMHBO@VW-@LbyI6Ji{y+ zkx59!Abc%pNCGPtyR~6dr6Tqi#Jh5<65A63K{Iu#o}I^>;gr~{Goi#`MqBEK59}l5 zPd{J-<=J)OgFCf+DKe_YzeVsZuYyvsspP0OEpmY5pXw0tVFV-eQhqZ?u)1G*qS3Br z9q%U5eRmV+HwbGUxDAt)?*}(0nCimNsUp^SJ;eR6CbjDZza0joFZIFR!_{5D9Mgk- zjeYRMUKPBgG!rNviv3B+<%)ITW!JQOj}W7gqa$nZD=^pg6ja*E!+ec!G6>A2k~m@) zWVSM8yhA0YdZZ9!wlHj#`wVF~`4Wv_6*#AiguVm)60LT5XvOB6|!x+F=gwq|UK|(OBVj$kzCVAeCL2`p3Q#-<~IG;|>F^IM*D=5Wi5^ZjLwZ;w zStgwgZRmb@^l&MvGMX_ONfOZwy8r+Rn5tGqAfXjRewn>)za&@Fl%})8a>dO){x&tu6k+9d4F+ z+X`^J{npDE3+|Ojpy5E%`DPF4#dPzj8w;w;HyGSKZ=5)-oTb^fhYv7()utuuCi~=f zLVIez<+LEgs+6zNKI5D6^)r3-CN9U}TCatN@s~(AUx&t0)3Z>WT8G}hK?p8q0153y z?+Uwpxr}E&2|aC9dezRELU&PQQ$xXy!!g>1LHgdgbvM%LE53Dy^l+`emdU%y-nXA# z4voNFA6c;sx^1N;w-oZMDj;2T>Q_eak2<5v$rslp(=0`G1twOKiHVazClf4SYJPUvE>`O88tx8!lLs-lYV_{)j z9`#=4%{dY(C+WfzTkcyd-5xIl{!Ke4))IT*Q=Kai8@B-W^NjU{FFywnpmFBGXBtH(hd$2yRw-YQ=QlJ4|ZM~$UX$5jqbG4e-1 z;qenVzGy*PA{+#~UB`BmranD9cd5rOuuzp2r6N9^$1w|-w$rShfCZA$Ad;Eqk1}^Y zYc4w13G3gwf2Whb z=7N9VoaLZQRyd@+BDMc5z$l~?wD9LvJd`9!Ctd2x!S!kf*5LBQV+l< z+LtKsY1nJGv!DW=BCg;&m51-k~mB=pp@&eXyiP z(_kOB2wC*`$+hzjlIVgF0Ze=oqH1`s2s!UqlUR5W@fS?IA`$W+6;%Ax^S7ePw;ED} z_U;aQAIK9(JQ$~m;)N(NikGei7X%6QZz$c~woedYvPYwJcJAqJx2m-#abgtcA{x;G z3J?*p23RzbeJHp2ge|EUrZ8ij0JxF2TzfufX`we;0UuF z>^RZFnZyiZJNXWgM{DjWIMiiHj6% zeTLpVY1v%z)U#Xgm!8C6Fj;!T0Q#a}<=U_Ra(cuB4KW+^aXm(iC0K)znU0gEfVC^W z(5ZUHOyLS!sI6OtgV@yu3b;{J&N5xr*{V^}$_8NZza*m>f3Aw!+Y8N)wZ*w6G+r$8 zyv|&joq(T84_RVX5HN=^3Y+C_KuVj$6I$hON*3TdH51v^#|S*~tAj^lG?wrM)-Na~ z*C5%{US#FRV@bBCrHGmYm$4=Ijc34h(}!mhgG%X2kb|~=0rof<=)523KN@>oQP%FS z`JltVu5*8X*8<5j%gu;*GWA!FI>P*#fTiBcrJ1Y_ZIn5-*kcjLwT9Odql~84-ueY| zA};~g*zZfpc8@-E?srs=*}|%g1wX7IoU-H|%+;1Nrj_TU5ry?D&e`EboBaTF$Pn?y z{rZ9JNh|o!2kNIH_hnwOFj!aU7Q)96Bkz1?_I4N+P_(leJkcHCQP3-CHG@ECi%+Ao z(7D#+hGyrw9xp* zQ}m>nV?OS9zZ+xM?uQEo~E**|5U!W&@gwbS*OyFG55U!xlQ`dOZnXYi1! zdLduM+vyVwFZK!x^ikT??mKW4^&+tzk{gyP91VY+1=dNsOBU|B;Z1uwNrxY2in-#o zNO?d&O(d}_Z?Xu_bU`ULg`CBvE1}ueLEW;3whD&?Fa3l^rTUKesu%JN@uXK8wB1fE z45P}_w^ilJ;0S-!ndpyYDgL_6c?&qn>?xjy?F+M8=KST&f^YZT~YhKhoC{1+bo;OTA5soMtkUr-sF@1W&fnQ#Hbz;GM z@51xytay_J?Ae6|4qXtMQYEeLoJ*j?na6wq{UUx#JotbMu|E6UU14|Kwi}&|&0We- zu$rZ8ru+QAR8D4g^iy z$z^Wab$ag74HcQ+*l?k!vfo1E?M+iBYWh2>PV$%4ndB!}fM z_vvc1vUq?FtH0+n?RYDo3=}Hv42ut8J-$47ByLz|2In)baKZV7rjV*-k+K$!Dk|c0;6+PrZ8W>)A9QL_!?(_nnnWVHmW`3CB+d24DJ>(PN zo@%f6*Qoi-O+4>e((Y$?yr!D4fAJCid7EwhUb+8T)$+&mlzg-xZuz!zHPl~v=N0uz z-VRyWg>PzKf7gbE?kaj}r9JU3e{$bXMD2gra4^Q)*wnT7sy_DC<;2{4=e~hQJ4=yH_@UcJTwp=w123AglKr$yVkQBi)WRA}WL)9&*FY$B$$lpI_r(;)< zn|Ns@nfp<+ACaA~cv$Wf2DpYteOx^cyj)DiIK|SVnOsayk#kN4U@~(YS|ZHz99r?B zC(UCDXDLk90zK8Pza;I-_F3y=E$Zyr2+9c-c4ig=pre}j#ikF`dOi}Ds)m0t z&nh*RM6nc@$vvW>9S=w7iA`H2KHij=#T;6>=E%_dTMcG^zb}P;{LkerVcW(`_%f9e z(Q|p>DAKbX6!_~rOh228mn9Q#z_3iRE(_RJH!J+Z`dYqTYqgP#=a@+-h%CK3^gL~dSYAHfU5CFE7lBB-Oq5e9-8T9~R@8LT|6#iw*9>h$a6`b+zWkDot+lV#XMv zcq{-GT3|`(N`hS#_98d4)PXED*Znxr3^ugGWDvHA%}vLbY*ZGk?D5tz%9i$k-js$- zzP=lc18M=hxDQm6D9I-id!sL41T1=0PHT^NlN_C=w4z*%_^;c?&N`*ZOb`4pg2lGe zh|r^}x1ZV|#TXGL{Kf3_+<~#`&Sva_tl&eL*U}CiaEWVCI7F2Y#eUtoif53&A(iUP zLWl^l!5kQ&Pr^P#PzlAy85S@Io-?ZaoV8HZ#zBroRGLslr$*<0d zDSX;j=z9@vm+iv(n_!UBeGbCax*i3yQn<)IZ@-d90ZzZPgAu!DVx-;dRUAW?#b?t^ zY*2m5iOom%cye7`Cac@sox>*zKehrZ38x3->d$^>H$I+T0dBg2%j9ix+k@+1YP(`B zhYvrBYwJEO9ceuhY5D-Kq=)a;t?BPsl~DVGy=(G8b;ld)(Aq{O2J9Zz&3WHJPS43t z{?HqZRZMP90srFtO2>``-h7=IRG9tLKs(ovyu$p*zhg}D*{rboScMVom!pR+au-B3 zyYceXJ~^@TXkT$oVjd5_0^fHsr9)5p;QC@;8mj!FdUt~c+0}3LG{}OR6tCAc*_FycPPyB!6m7V%9|zJ!GD(nKwVE*V1{R2PBEQy) z&KXs4KVpX8C)D8oVpINytTJ|$svs#t1;YZzqlFiirB9IYlk0WH1 zPiGgezBC-=K~h#$>{1lMu|(_+K=*bNNdEgBChQCGR#Oo6h5^s$rJCfn4+cuo4C{o; zNv(@yMk_ok4WYAyy+p7!Ll)~U-rKqQ7r3n6RwYjZaQLM)7zY)7e z0dY|p;zqorFlpi->_2m58mD`)+7~2knf@D};d*!yaR8*;6rcDtdxZ93pbD5>N!&MI zLTAw-fH}FTMY3=5lh1FoBW#)JUurX(Ry)R35aE6Z~ zw3pT=LIZT(ZVf~^G;2Sl8Rlk|PUzhc6>fOsxVr)aL{?`$M^QTL^J#)|Ucej<_A`0z?*=1rhy+H{mbPcuw6PhfbqJ|Jpt4C2ksT+?0ywuW z<@mJ@RSZ22k0K4wnOpU&V18VA6)- zP^y@o1=Y0|e&-9K6yYi1$Yrs12d)OTYc$%v-a!YA|DsBgu#KCbhY?Q-TEu2;;3yov z;XS@LZ}@o(gux(`eXh~|;Q^;G^QHwQ#&!HTI@N;MCDGz{ARAf!OXoyZLix%$U#tUU zj)8)LskPB>+kpQYPN=wtO({yr;5yhxa71SV@y|hVruISpc~zd%@&Sdig4#uSvi!OM zQYH#bLr8MC7LQO#`R#%7klGi5Z?~XCs;W( zLVZF|ZT>QObyKc1FFGGB#F7n^!y#Uk!4gyw0-kCv2rUr?R;RvaJj3T3L#;rY10ckk zqE_ilt~Lx=LHw(6P$yVmC*G>AWwGlelkF6trb&s%nETI~q}cg>KiPdc<*`G2Lwou! zAQAG>*~muGw`{Bi%}??#E>}CSP(?!Nft~X~RSj`)7HKTo{<_wNTa3T0Wf0VB6?}7* zCdNgTsV%5moc7*>yd=8?PDrhnmA9krz5q{1M^~#Q1YQ z(0?itqUz~G85gq+5m>lFLU_X0R|9AE_)Jg3n%FeJQ6w`Y7u!&(La8)qq6y0F0}Bvt z**pTQs1R^)IxJR!$~5${ERMR{8%@P@)S;s96~48m_>-o8WSTRZaW)*%9%^T+BOvR(8dp9M3|ih(@H2T+Vryh>jz+o|GGjN+)Fzg`x~w zmjNA$%!JZu#)hJhFG!|!291W~i`I8sa2SsJ=%i(bB$dUBmMOxM zN5XasXWbyEX_CM{tuo4Hi%P4yitrP~p)_+L9~GMZEK5dolz7LZfRB6on2?f7i#B^- z0k-ggIp{zUaJE!m2A0I}i<})O9u! zB<*M-*v&(bLW1#nSQgXz$#HaPM~HQXHfO=th#3_xn3={iqX zZ%h8d3_!!G$BWdM1`Q&)yL2;n#~^gi!$gXliNVxLD92HkxNa=A)R;mm$;t(5WPMJ7 zfOT*i{W}RRxj6sK_tN2oN@RNTo!6i{MxZ!&t-bL?8^(ZVQPrQ|T-$2|1mFfny( zN!UmIG$fMc|ueO7dRdl_3WXmu2H~L@+sl)>z@d z#6e{>&E;LgvCE40wzYs0ftFR3@y4GuN8uW7!QRue;D`ahkFOQ?vEphg8Hml?;MkAe zCn#qb#4LWx+DrcqoO!BBXWopO#u3?eTeOizD1C0UMFLkUQ!MH5Z62sWNw2O+adHGt zbp+&-j7*^CfK~+KfDQyw&{nYIQLyl;ekz)g(5QiekAs+)f$f#DT}G`ZWuseR)5Yjn z&{+lx6J*6 zkc%%`RZMonVsOaHJkT6l5dRDWuX{zsM#^v;fo8!%Z{kJD<^lzw-y15=_3!`qkc_5; zzEpKXkbfVO@`Fxb9!+bhmaCY7K>Z6Whw+qHF)CdFt&=)lQsGQ;&~4%`VAbkVL~BIq zS457KBBiQ+omVaw|GJX0j7q>C9D6vbKt2r7{OiqN4+u#Ej?;l_luQ9lvm#+;D_Zx% z5dj6A--s<`!{nc}C+rF=-l}2!;1PZTU~YnyW3<8`;x(&t$%&$9moL8J*1RA zK^3YXH)Q$SA~~YAanK=XWb=rl5D-~P6m0VDx!Ez`z>$5r^BgYfkOxikfOAGt#7O~y z`Y>b7j-&%W0YBAly1y4x1ahlqWcoj)c9J*b?R+l|`@RHxK8s%a)^NFh+x-ZeZFFZw zIb$vYPQF}ndQaxcFUtMLu?hW2o)ns%3FW^o*ka#`zJ)19c5~iSk7WeP{c9Dz64z$3 z%l+55d=7})(%(y6F>6b{4arBZcKtoh35~xLioPwWpE(Zv_0RQdVkTaQfm}k(ad^#k zGJ$(w*)iETYe}1ccF~F9f(6?UOLmTr^vfuHjvZ3hU|71wNxsnr>p=C?V^rknHqk~g z;XO*7c$7`RyErOhsSEp6J_;20)(mq=i^f2UaiHoK=ee($+mO?7GhPAC|!ktop8s0vd z{qz~vk+J$fTst!HnRECm(tc^i2715c6T2>Kn1q{h6t?-0Lzns`YNvrgUjnPBlZJcT z@N{GpIPB1<^E`l{U#fq1Ez)i?J?EZGXKSbN^nLh+A$`*H!&1tB6l$pqeiYg+-FRx_ z*1@nvm0C@3g_kvU6dF;Q3*|3{lNnj@V$Q@_H5MrINyEV@8)czSo67(2zO74@nhg@c zqZgEZeDg1q{_gYqN&nx~7H}QoG21G04rxERO}pV_m%^b{JY*7Kv=6@YGu0ol_oPX+>@X zZVwbgA7lr27Q#Q=MQ(wga#l?p2X{n2a!I_y2Wg3henOEWjC9q65kqVTXWwq0qdcRW z`*-JdpVMw!;mva%q7*tOl+TiPki8ZXcjFWk&n*S2`u3nmF?bnD`*)P_ZeB$;C~g$P z2UrX3HI4GT2(yyFu>Xrx3&)W zk5xhcef6g*u3>~}yXBY%Kq}d%PPMR0)qB7KlzyN?kElan7HUE7-r`+JldwC$t+;-+ z4Aeq=JUQsTxW%A5z#+&iFP{Xc;`_$et{YYe65zz)Lr#CjON_nQL=1gd>k6Z5{=-`oRgha@+Y z^c~GTG0uV^$K3(8AtLnO?Nb@sU-=ZmvB@)!n0oQ$Ywtk{ga&hegFX6BKSxOc-hZK0CYrPBa)Q0wNQTC!1ehR@4z@fs{H3IqCMVd=!i*pSZm2QGk&_O!^)w5DS&{aSW(!gu4Yz2E)y z;(mLJvyyNTY1s+!`Hc)+09f*`PYuVPXMNEf*QTp#I+{kF(XOS|k9)yqDMxE=5n z5478g_O%M&6Awt2R7B~=KZJqqTYwGpn})lK4J^9>cY z>KNSRpPr#PUjY@9(BWD5Y%b%3aaz$*vYYzr_#Tb>*6Im$1{}^|{B07jj{hdMF4OML z8Aj4u>3bk|!Qr|L=|NN{{>T_rY){$obO+Kt?cpDBWf@%?MWp?}q+N3EIYvrmV7HE+ zn`;ab^S?-GJ*n_`l}2C`C8`er;l2j;5R$S-f7%)|B;ENnM#RkN>baQ+cw)_5320AC zo+3G(*fg4!Ub7EcGup~U9xm1Q8&2Y9y863+`_to63*x>Y5(NB?P$E37LW)-Kl!E%d zD;nZKs^o$80~di#N{7BON73JK(;^dD*JWa6$s^02m6{1wAeR=1Sar@~$d;$lt(ND}AFl}bQ)5>EkR2^?m(q0~n!53|e- zpa?W<(d-6RdeJoOfE>38;{F5hUXSN}*oAw5ig!;o?nYhXb!8*v)tMDS>8IY&f_UIi z0`?8?eU1p@j5#l!E@O2~TKd$3woFzF6DaiI@M6MyPdsh5B})P>Kydwu);gd+{?>@# zZBYwTJ-{Rv^rZek9sW&Wu_oC%s}t-MAk{``UZuU*mt1VwMr1wWCso+vJPp8ueuB>z zWLB{Y`f;MWVBX{t;cEasMx9|_u2R6N%{a&R+H^Agg-{EJG-ruSENn5_Rxpf6oMot3K-M-wYkRXUzo||9_5dLR0@cE`jaVuL=SLN#IvB3DwYB0tr?4?2_Yf@Hr%{Mqw~HM_~uXxeVM% zjRaI6{Ch1${;1Y0Z_okGGf1ocm~Bns_I{TXET=z*5*(g5Td;e4rZmUx4Q+(`qorb@ zD>2JZy8%URwOU0~bQF(3+Wdj6uE*gZR3LB(md|+yXj)j6u8UCQ{FEBiru+8cst+G+ zjP&HOSV`(6Ivlid1MMlx#Cf$CQ;!Xp{b+z)-VX7COKXJFJW z6^d{^kCy!5&Rz_f1;C)i5#)RP^zD&;%ZJ8LKi6*V_o6d?S2U(?mY12Lx4@OSNa%HR zH+e$01fIRpw&q&ogi+~7mYb{+Sr`Dd3ZBBEqd`y*YnT8}0V%NSnhQ&wkkvQGEzC07 zIXt#}eA>321|?n{pIH9DiCN8~7Mb|@z38-tVcjTrUGm6}c~hGG&qdU4y4Y9|L2Pcd^BWlJ~h$0={U zvVY`C`KFQu>r?<3&r#3ZwPEx3ltTwDS!Kpm^A`HnqH5nrHRG`^0G{Q?io_%+Fdidv zeZg~0BHowDD;pC<{|F&Dkt8-I%{8E{{*~mt{!^ zph*YDYifZn>-bbR0#7#k7m8Q5%+MHX--tCx$B~KmMx<>@#@E5EJ%@@tFRbELkvsbi zFE0$9Z9Q;uUg+4wCtmhIQZMCfe8ixqq|Gx@Dxn)6d;l4#rClX&A=c;@+^7)}OAL!= z*z@!2`)d0?R9YwgRCBT0zcvoI!MJDor**hWp;jpHEFYlLzbVA)m1=#KsS%Tp!Z5o1 zgVW$BlFw4`H$;unNg$0|E{HM+_n1b}psP*^ukv9kF+71hMhK>Ytu7IGAkz(Nd>8$S z%v_S5V)pXA&RjTDcjlsaI<*5*9zoK7e~3;-(QL41X0FHZU3+(K>h?663-q|`K~Bt@ z?n_KXD}d|@hLvLttQZbJ$>%f${co1 zeHZ0UCRtENt3^No#T-XOFgh2?nYcQty$}i6u)~w|6PNL$(t|%XWhPP4dQgIF39yt# zFE0XxlY`70c2=F}Iz=*_GuNNB^4{ml`i= z?L}WP#rb#CF>qv%W@6;#46bDTUW*50=`hNF#0PjTsT;n9gWD#_{#$ZT9t2y|k$jTSX z2Dz6Z4(H;A)T0+vnlp(qb6U_&nzU^06j{-suH)}G1y0@ccN;~8ntzGMZMnrNUC-r0 zKQ+o6)x-mG*##+%MM|WB`wouTghx>IS)!(XfY=YRD8vv+ylqst;6C>lQPEtEI4*vW zD?Llv2TeGoRTa!ZA0E+OohWqzzg*qC1IY^1xM*}+dh%wd)3^cS6E2Xo+Tw-Wfg)|| zv0F#r_-hmd)UT+J!vhO@5swS4SM8dW0qO`OtGzS3H|&7po$o2FgSd3`4|*&^!5^K} z-TDC|Qu3bsE_~urcBl}k87A+(@(?|_dJNkE$eYSy;io@~<*u-|Z5#wcOZAIYi)q`U zNk?o~Ex(RgK}X2AuPpdO`ohFNMBnjU_cyVU9Cbx~B{9(5v$YU^oZ|x!wAH|`*hO_Y zTKVDK3dt004Nuv2LUaX37FgyX`b}|+7R4goyMTedGnN_VApqO0%in(~a3wHqbGhTh zI1>!`6I~b_fN81vZgEv&8&z<-DlwcIFyXXf#}IenS3&iPIGx>%=F#>pmi#ZOJ00+V zi|O0`l)bK936C|ZyKQ?LrhuJeQVFe<%&E-B0)8zgBy}ejB=zzWS%)gBRp~>CS&0-t z*0_s->)a}+_OL;l+n^epTaGztD+-5m(&in#uDZ0=6hv83);Nx`%iKn&*06Z9G8+TW zkd)T2KIOwNfiH7o^q!mYYK5q1^2PlCdr;)}Q@dV6)Phn<<6{ zUF~54qGFd2YOL}JK}*t)OrdFKho%drgyun+D9%U)zSWZf>{nFY!8voH%8uC@d}q!G zR&|rJM3<0ci-ocJ68PI!;4b^3h6H>F%rQG6wT49}`G9}@tgc%v+iP#raSO|SzOf$c!GobjN=x0ncVR~;7KU5+lTyz+Nkp?|@0ci{T$2p`dz zYE~BmVvv23xf=_TPyoHh42GP%g)W}C6DdJ3p}t@tgZ#uyzp7{+k)D6FR{1+b;wYE_ zr!56|8NGV9g($W%ijSJwDj43*>a1OnfcB9-G0?+2XkW{>){rufZjT%0Ia`0?qwC#; z7U_=AM0zlEFPUJLo8mey$^%9DA3156D331(HKsGWLTG?QdbD-2q?7uqf>aT=OA%|GUg2(j(ej=e&;p`vurAHE|NU z?4)HYD~iIwE$!_2YXCL69iCsN7hertaTaSAv$Q;}!#inMWfNjr=4>f!isx>|BzE=M zaKB6}&jcPb`bKv#L%Cysl3)hCNz_rvYk}KQxXbSN)?sMCD?&g?h6D5CY8iwZr{op9 zBbwEFD#TV&!9~X^ouQ2w*ggLJQ)axJ{db@bp|N1JoyW4D%s%N1AlfW&e=9)fZN+?; zi?{{1;2>-?TH+we?#A5WlAUE10H{3?CarCBLTP3Y9UhJDcHqZ16ClvGb zcRC!?<$P%R^0JB4nf^N-it^Yx@wST+C4R5+f{wV52Zjw7z_qM)JIjKj5&Tz%so&B6 zgfIAl&Y}+q07$pIe;2)Ed*yP6SX9r6Ni~I*`JF0nrzTo z!CW+@e7ZutGH}IOlWrCD^!v?yUPD(2EK~As0gSDyKTRYfAT-m^O*k!kS^gXKU5l3; zm)X@()8G~95tqiP??nP_B;og$LXbXan?L$k7%1Xr1?w26`-(l`BaKjYxV3uHdzN+4 zL2TVL88#u%;<;ePB1v>e`T;|I%CK-f_*5ekcDeM_vtzllk#~FtqH#b|d?#^dMhn{E z$kbd!t${?BdP`*yA-f#ZbqHSEDV+h3O0#^kWoz0W5?SquUk;n@rdjFJ(JwFIV}O!E z?$nMSS(1Fc8jOJ<)1H;YrRc)BVo`z$yb{4Jm;30?0mQFR`!(IX__MNl**-cqk0zz;2QV|DLLKzrf8ER~P~ z6F@^UgOj06rB~Vv-J3<1Fly~)mzVv3Q~>U{D$jr*1$!{oQ_h=o3@arw)T@Au-9RCl zVAO{!&db!nmS9r!4~7ZeqkTRKWIPo}EK;~aEay&qe=FiLNZivjZXl`GDJL1S(iyY2 zkY!0h4-4JsFR&c%^`i;Mkf7JlUZz03Ixz9B$sdqEo8-XZ&3&PAU~_di*HpV+3umU2 z<|x)+vcchcs#WN^WnQp25E^O86S(xC(*F^G2$rmkxx16JlyZbQidg#RFTsQmr0lY= zk273HHN$cErvehuON$hhDPP{ROpTV};@oXC9m$fhVF1AZO^@tKhWE1KXEdmC!)~LU zl~=22#k5)^Igu6eIGw+(iQjl#7Yt9;=R~8vzh<{%rEbn62HU+z z(K6B`FOiuLBJE$PFBRVAT!nqWp>$A2cjZW; z@Q$M3mFs156F;iH^>va$yLN)KAnZ;g3Vn_RDN6k(*@>!=FU zAdsvmP{s-szf_|wJ}QoxwtBJxLEcV4tX)di#-kevcu-mM%J(~p*H`lH1d*N!TQKta zwjU;tKdV4VMp>8&Kfz_)>{acv7;WJ$(hHbwLz0{!IqIg*s!a%4X6s$4DAP6RLP@Xf zk+;9)2GhGGqZ-iGG_nsU_kOM8Af$*w!?7nGNAY}T_B5ieH#fPa*aFe!Z3e$OdoVQl z1fBs?O@t&JIhK2tE`Twx@8X(f4$h(Toe&x-CawHDR`e3_VW_ zPU6VVJJCtUnaTtWVpyh}8;GOyd99bF*lhRESCmtSpUR#tBP;%sjyyGB({fKd@sR)A zywe`=4F6T0<|4>3HQ6UC-Q?lFG0eI3{WkrWjT5)7ZQl=S4?8 z@co&&{@J#~i+<>i-1zvZ(_&Sp4>jzpou_)3`0m$Y#n8ac_qD0cs8DSGuyovd4f(m$ zVy&WbrdqLf$uB$D?BQDZTL-p4@zd0>q~U8+tvQnZ?t0XoG$zx>*k-dPL8IiM4L)Fh`jSvIh8lES`w%;cd63lsyXZ6A-sha^j_5#-peY)GX+Lz+TQtcGN zz2*-)8Ng!IiTfZ!A8%8!A3A%udm&ZCZ?XZi%7i%SeN9$z5r!DkE zw}ck-4}?@2+(v8b1@i^5-zjY;Z{cyI^82))OotUlhw;iPj762>`X8hvM?XVJeF&b> z`{w{0gSGMRPM{Q62Qkm+BUl>j{~Z0O7`^L6m?Y;n$kx+=8SR4~ATA5EgoY9viRhfF zrSgOJ7b#$%I znZWJ0bsP8mnffkKvbj*x8^x)t427REDRB*ny8dmA9b9+nVPTxlF$NQ;0uphK0lavH z8oYPvP1nj}UjBaYo4IJK?s~kieG^f&h{NG2wn-PJYtslX5nn>OdR zj|;&E-%4HBS#_;s-+9N^1p*gV{&iLL-q04_0+Y#7L=n+ z>by|pc|A@wj}1~+E38N#eu{sjgI<==BLtZB$h>L^xSLrvBwtJx+NWVz7Ged#?a{S3 z$VeJo4odY%Q8@5<3x9nVRU#-EmfiRHz1J~yhE1Y+DnbaKM%gflpuCOc2-ElEs276` z;blRqF89-{1)Y?G!R%9@e-{UuLkv8@K>&i>HWSX=p$*QH-IOJ^5NjmLLh?PV<|KQz z1noOXi*UmyyIB~>g%!=gr-;Gm!Z`ESUZMocFw+z?+3r0KaKj5e@+y}u>gGRMR?zp? zE^5d`_8fR}vn63#Q{>5IkObF;`EG)s=`1FSx2G8(14R{4!v2DcTv_?^G6S`iD#vWt zce62GvK!&?pu-0T6FRFk*K;}(nAF{w3uO5F6beWyS0m8BvL%O+7J^@J ztNUr-P7k%4$imjAc`9;YskQ^NFin^Et_A#p=@Pe}jk(46lq}XB^s54SBwWGodBKIN zXkK5(^=b_{!SiViQF-3O{cZYa!r)$R2e_eeH!T?-_i*p&zxQxGu&N&ZbfDS6jkH=U zFDXanJkoM7@|@}R1-Jiha~^9*-yP3%4XHoqJ6q`&zy2giPYOyd>qNM3ZV8{HrG``} z#^}RGx|gD~d_5^m9;i^cn$KK{h;su+kNi+ec2O&(%84h0YL!HY!tvYJscOP#{C8+ z%+fu6+(6mg4L#W>lRuQVF)$)V5$~Zaakpe`M&6yiiGv$aQ*5aaUPGF`ng@IfjU%}r zRUcO45!YHs(Az{9b*Tpu&B+81L<{rVg{jDgeNh_R7f(Z^k4y8Q9AG(o5X^sc4!7MuZB5IdR#fzlr z|N5U9#GBviXb6O8{Q&&Un~%`WCDG~y@azOZ!_kA5t82lf&2#y*!;zSfEcKGSthaH8 zh|_IcDClCvjY$V_U;ccOZFvOiC^Foc@YQH>(z;UUf#Yh0apqEDeu%+kiQ{!3Tl03s-~m@sIO4W{*5H z3nYOF{_R%w4Nw51qMpJtb3lCKAiV}9us_tjhUmpO33oP{c6i-fP9(nbTymOC(|lUA zr5%=x3)+{APJ~%AwkhOy-(JHinC0%1r)d6j;_@aO6kwDO@W<{JN6)S}toO>3Vu~z8 zuo-kX?4Y>@K7$3Jd=qPYplBl{iOJw+XS!rV#*P%y&kn7pVtY> zw;D~##lc@X-37iBmE*j_#ESbcM8-#Kp!xUewz3@x&A*DYO+`7(>Np@RHc7}VHrHvx zq%CDpOxbm-4dJ6pqv;bM6 z-vr+0m^>A$^S-dEcLC93RHRh(?q;Bx1)!>T8K{;oQPFg3bj`oHc+NB|O;8wSk-}s> zx0_-GCLDzOhF-pHsMvaft9A9A#7v!|^H@EF1EE%^PT$S>lr?z>x0NkvUR4=cjGp6M zMQ|HD#rOUEV`%c&fGS(s_~xr}QVO;Nk)LJ=L;Vn%LKWgvNZgwbpQ z!ToGQa$ZM6K%6^RiJ-HA8R50r!DIioF%5S0o0(_!iWY7TCd~}^RozW}1fQvEdVV03 z@fmS}SA$uENf7O+GV4~_#tbn~owW{oLu@WE%NfhQ-MCeArPysI$ezhigptA(8|`zJ zYz<}iR&l5hJ7g7qCif%yQS;Is=f2N)X?_M}&0m2u{Ivy!C^bpxVz}mS5;RGsLzZuV z6F+S#k(jtUwuy^Ad|NoGV{9Z~V^TaYu9P5_P{*{bwJwG^DeW~F4O zS|R#lzIqsl+j~kabcnPu8c--e+e1R5ehF`!C8(y*!Og^d_KkJF%HXhK&zGEOOgA}- zDi>cW(3j}I+E)fY^3DyCf!cVh#cnx{@Vz7Lywne{C1dS9D7YzSm6wOsET9K-xS_L- zKM3n@X62F*NEhar8_hvdD)IBO&VvZuHmS2AQ*#C+UxBX-xtcJAjrfwkfDn zyBl|AOh{q9j;}V2o+F^E`>s^v$h`AKnwqTXzWMt@f+-=fiDwj44kcNhkTQWi90v+p zQFIVNS-Q2Fbr#Sq;~O_{uR!l1@X`4xLu!j|QSPF`p1~idbol~1Sc7zWIgd zOfe!^X#6rOQDzAA6s%l%Q+?)EqGYooK!91~$V3Iz29Zq%Xpb2Ui5d=seNv4a*=Tv=V~JT!Lln}}zm_Ti+vUN9s-k8Ueb2yiuU|sFf5HV$G$QXMpT2H{-bfa|jiprcIg6^&1e*1&5)E51e<7CND}OI;bGEOvgG%Qh zoIT>;hfD>7hj9!|lL!eUV1Y=4%xj>XQZT|4heCtM*Q|o!hn7ijK_o)sal8+#$TR;i zyxDcW=@1Kv`{_c+{|`(b^b6B-2>XV^D`&wc7(rfu5DSfgpbIFGlvP(pUy}$ViY395 zoU1{|6PDw2MFo-1`KRgr1DDS?qoRj|CJ0wPhi!j=%kI(xmyZ+bK!eYpXS=!hH2Auk z!51o`*4)S@ZgcI&j@-;7w#&)!ia&G!g*qpL@dJqGoCo+03o6wkVH5MU#q_&%*NFwa z)fPyE?vp~40hY@Q;vTR?$S0w%0Mke!wM=;9umb zyG^RwV$k1S34wR^ZZ%M29lonsQYfG3#{TiCD`HBroVV4GSi!zTt1d=A{$k2W1ER&s z-oQT^?Z1rJHUIM$N-|pRryc&5rwCukQ=_49{We?O+NzvMW}!@ z;65UShEG{u?eZV_SOr0-f5YK?67t@V3Kk$tvuf(GzhJ!0d1=FDMd8|+(Psvq#L9Rp zuz~^h(Trar^&omT+c-@c_!S1QLNFB}u!02jU#MB~e2pwKjISneg>W(c@mV3z!b$0I zD;{8l`|VAAJXVljaQ=*r7g%9CW4!fUGXq9Zb%C5$u&R8zF_Z%iUZWa$4Ipfh6+Vo@ zmTxsZwN-ecl^Aj*^96xkcgP2ov?7R^N(f0fEliFHmyYLQKRZ+ilb|y`?P`xFXxskJ zf?Z#+Kz`DV2h~I~88EPr5s#j-6PGYUAH*Omu3V7ldpl$##v4bkMvEvge#e!sBm&Kq zX<9#E1CYmp840JDK$<^y?W$&&BU45?{G@hpbQ>ZDO%zxpQ~hS>x>lq}uq4;tMLK@( zCn0$zJk*&mxukVcCiihy)0GO9L^N)SvPGkQM3cHlKb3G=`#~43$Zd!gPRAOkq!!uH0TUjHR z+39H>yrGZ7BVd;KwcD9VP%dr~`n9ecsLTd;PIj?<>s3q0H4ZM$$AOboXW@ zm55t|Wl*X%urM@TID9mvcpM_I{0#MIJfcA9rRTIy9r0q=sf|Oh0I4#`G_8Z@U>DGZ z{YK8c5Xe{_;y^qtlQbq{6eb}` z8hV19fLC^4~snPGW)X%|OBfd)EqpjA-ArvjljDri zpshA&t;p0jxgNvco{~b%*$M3(gZ=>|RZvM55bT?B}F{*KuY7i~XbrC|& zcdYoQq5vqn4r;eUucaK`;VDh_xO-0$eua`6@o4+>L7(eGboM&`A_&1~f0$<${>Ev= z3Ki(D1e9>pL?*XYiEQJjj9ZaR(;>YE$>>-0=tmPSNc$&AD$8nrPN4nCIlwCWDxwdl zGXcLsMmUBbLyP+yiUim+zbQN`TMIYUcyv6ln$BowR74=r>C5eppvr+d>#u?=S(zjV z7Nfo{-pn=6Xm>Jb!)L5lhUn1}TK%Cb#+-^BY1@HIt2B}O*D=R^5c;3Ifm%G?_uU}f zl5`ANu(G^g9y|C9aWD$3$GJxrnem!2Qx7T_xv7 z`5>M2n}@hTYB+IrVVgn1h_7xE`Z8M-U#WwZ663^_&M)Tf&dZ$3 zDPXXwP`DE@4yV%1XMnzK`qmbvFPUT%kz?}Wf;h0P_d*Fv;bKb=*Ec(RePqcQrq4Te zeMKA$u`Ct$sQIPuQ@@3^&g+i9VM+M1m*$Oj&ejZqbx}5`4(qJkIn&q&+jUod6n^_{SE1(3wyC|hwYRJaYnZ9g zwr(17C%D2GJlC|xNvcxVAMpZpRH45?UGIE+&DY=tQ=uTPZ@J^zSQAb6@_!KV zbzf-%?cEDwN}nr>dtXokcfSHHyH2-G%xE&q^s?wzEjHZB(;iZ6JhsAbKDKS;^vjjK zquJQL7_awOh!Lps`+Sa0j>(@^j!yFT2WPh-9hN;ec2Z_+S`{Y~?705lMIXKLiqNzn zrI3_nxY`n;Kcc0uHwL1pEMq;ju(sGMca&tWhkr%RLy$&+VgKr@2%a(Jy)7UfKaP}; zM0S=-?Uax}SIx*uqNiVPH6_!zx_OMa(2YdQixWV=538x-yh9Qs{ z;j?<-#n$bCkmxw@oPn0EJSvb%^RZ;~9(;QtluV^~1n(wO*!_vb>(uJm{7L3Fv>kx_ z3!MfakXs?M_z+N|u|9$eTC#fkyK$bgM9AcTZ&ot-oL?T>5IlT)CLom3pC>Z;_O?&Q zxLD$_r_{YVRN4I#%%aiQ{0-c@dm)HPzo%y#s@eRtkk8o3Tk5#w zBYnlgdn4V%bL2$h12PHgFzyHwBi*)b?uCrNq%d_>B46vpO@IQ)iL#q}Hu1O$!h&7F zFvxeGCJ$HqKp#+7S1If6zGY3GB($g#{>}#Y7w1$t6w|w zd3!D%Y;H`vbnL6}iMmOX`3XP89HTJqoM;2S$ShMJzzbvO=oz>vWyZO%u~jQoL1{Lc@!lXWtok3d26I4)F8jo}?7NBIVv zg+MImcr-!)Fw{RPc#K{UAcIa?5S#%R0_~*%;||+9AthzU)H!_C8OwYtR5?Z4fszuR zmng)OabHpEG7QtJ0mwX>^ z9*}qolr^kVC>18ORYC~-2e$Wpj?c2ud|F6=Py0t>gHmDtkei@gsGcq0Q%Mz#*(!Li zIK2l+fm>flZ+}qK1SEp@{P~f&6x38-U2q+Q39QqIX13Rc)88oUK%LV$v_64&s8RfP z!Yd+NVO@o00o%!M{znp8obinkQXi~r^NpJ`ZkBa2qHS1Lb=I*pl^=Kk8c1FCUFRmX z`!X#x*n>0d(3(kTi+o>`iPE&fA>KkKMmDPKfs>IbI+b;X@L_vb3k;Ozn8jrIDRVui zXokRaGJ6t6vyQhIa|~w+#?q~0xW~x!tEyffI_?6K4+CKw-oC(fi@M~fWh4cga5t)W zj78Yqj5L1QYm6e3;}%a5Z(brFp8x8+9t(GNdCKR!tVG=_B3KWHH1DrNu}Qkg zXt1Kxj`C5vN}KHxS)t26A_f8;-K#z&Z}eXUs0#`Z$q46`fkK2tNg zl;71dJPqDc>%HmU;N9Khc3HnqR$k|(e^?7+?z~QRD5dZud#2J`c-LFGDO0Xu8rx~v zBA+|Ej+t!Zjhk|4;s@X+L@QL(ctzTkmqag+G=DU8q=I#Ibco-h*rY?8>5i}ZuS^1= zJGq=<;dnk(NFVXD9-h@V(6EIj40@D=Lw3ePOO=A9ZOLRAe?9DH(H0>RXTXminO1&Y zR({@|esHhj=2>_?Lp~RnaE+X`SBzEX_197ca*SVidwh!~c)x$6D0X%C&<5`1rvsaR zNNi*J*LQTmK>yhpC)|Yx-4A~0t6O*cG2-B8y7}R*c59pUo$|pNJfPFT3$xFh$w_rB zT8=U1fY#%@uJl^%9r4$e?{2w&`(z+v-v&GMW-vaYH-4^Azk|MV8b?YKdWb7 zAPNbbU&@J~L=B8g`G zKmu%0ELj3vEJ+LV_%WoU{M1_^p(($=q-eUWL;!TXHbxl!2idZo3jBLCxF$L7QbM z31=TGcsv)~sjU8-kx#frfNPt#I$p3E8vdCva`$v|yNF5jMeM4v#liuV#Z!5h1Lu81 z{RLvJ+o+i!6)P#_O9-6jHr&a{DhobQg20|174I zd-3U>8&;o7X2s5&P9%93b=BP=T?uAROoGMAf9BFc$p*vr?-ozT)(HtR!I}oL$Upzi zj7gZ3+E8f;@iUIg!DjS@shxxG3wf*5?t-_yH&;jN-MixeB))@pdMrpO!<(v{gvzP3k~27$tJtJlTw>u{m|ecTY>A1!qL`Ff zcMNoMqL{=b!M=X0bOkw;S)LzzcH67Syy41|Q$E$5*U6P#{$)H_md=uwU4G)Ly;(Y6 zwobdC*i>uu0J-B?9zJ3qtK2T511Gy=MDnWbRz80@;Wt~BemOcoOp2+=p?pMF#QXbb zM91=H+27kFAC;~y7Bb6`QR2Y%$|SlU-;}PpZ=?%4xjTnpw8J%8v)QrZo*d z+Qb%58;5yri4vl(SmGVpAf7^l6@0O3nK9YZ1K|~ynYU;Y=&?!e*x2vkMw;-qiUOC; z#n8Q%-mr)ug%!-cd)V^0K=3A$5q|SGcOPe%a#&E*SL-`P2OB<;AB4&}4PR`KF=IE+ zNztvxP-H$Cvh$q0t@iI>W&IQ%vGp=LBESd~{GMqA&*Z$0JJ@f@H z!rSl0%qMM2oDQe-XRJm)s0CmF|yVXnn?uJqFM7 zWk)PXeU@qzzgu?KD9MBqOqgXKS@THs!I2QgpLdCe0xHw)F&{xsq1tBWnZ2)M>|&IJ zD}>Z4+2D3*5nH3Jlz~*Hp09w%jU5g)zfXL|iI$}dgG8;(&V;~R``poSMWmR%r~prs z{-^$E(N`6q20QP(!|+@G8VL-l0+gpsg#WNN@U=cWqaD7NB{SXEyb;~;$9n$(GYTk6 zkNK~0El@3{z&a&1b2?@zjk*gXq`%5+GrA8}?LfSd9ml>-5JxCJrNh#>bDqS}raZ9X ziqxM6prU_-=@zU7W`B;j$EWuiqy}`~DN8rx#`Sjrrx)!>=gwMW$_K#myLoO~Kwm+V z#T*&$WBaMEDszt$I$Q#XV`SScEsoMq$V3+t}OlPDmLhT0kfRw?yFMp=`2 zn*MRo-8PBd6q3OJg+?quN|I_xYqNz94S?F>_oD}6PNa9F9H`d0j;%@(d2*c_1CR@N z7ojjou3*GgDcjc0o8l}$;q2Cw8sbgU3l$D~QM2_n&^qnwwcII6lUkpp9Xsjrs`CSDgY z5bAUN#S>d$2zourS9Ii%hxl23O}i%jWNgQ_cSfG%Uihr+3NLbE$QQ5pYHk8T4n2h3 zSXZ?b{XNwj^W-X_p;94(;!D?m`ccmR)kqmNd7+2GbiGCksW{S{=q8L>*bwDKt!={X zB#fqewgLd-7wJBG5mx-AUSs+&MN&un7bvt$`XTh+nY~3++?pFPqp(5Jdg6{JFG9;p zq8W_25hV5e0(#0(gz^p~b*lqUtSN1y{ar?(dhvO{@R!ohJx`0_DUnP(hjA>$HtGmyiUqV+t?+*zFy(^#f} z;W*;+isbgiMT9{&Qa`lh9esbpYubV%OasJpIQ0*hC2y@S{7^Adi4nYF%G5;B7qbtw zm>fl!rKJ%x^oIvyxcdP9q&uRb1D?SzEY@hSPZ5Su&bJS47Ojh8c&QGCl|WQ(v&R1g zo4kD8TLAdV zo^{jeneNMCU|*GjNY%pyb3)Vj0or7M+?|5}6sQvkqGuTMT{)6ad=lP9-nMarwGhel z*C-658ZI)1@n;P9u>FITEHlrMi7vo}t~wE8A6V4T5)GDy--=77n@CIutZ>zUDAJJ9 zd$!HNxIgOP!?tN>4xKSQuY8fIMscu(5ntY(EDEjVk{_&#H6$8`G9~Ss3?tz zPl7l+qV(7sHwy;qAGbFcJ@61kb8xPCEfaIUXaohNnRFbAnhd@gOjw1V_#7YA{&KY( zW}Kno*i}jg<@6@41Zl~_$^;XHs)#U|*eG0snM6J$t*tfDBj8>V48>f%&!WmMmXDVR z&g_jW896vHR(G(hUJZDPAULepe%hHTRkn9thdUg{RYq{mFSC0%;yn1OSX%nJsDoPe z)Xy{B{fJFzEXBMRN0bN4i08n=)gO=50ZvXo<;klqR_B>GFy0wOA0@&%`7oF4K+v0& z4hN6%#=Nmd&wHK%oR$dgkoq0`qSV3pPhh0~MwzVlEA$gHXk>OEA@^43%kcv|Jr*F| zW%L6=4bT(CsT1)Gc^963sKAHDtI;bR1Mfm8wanPW%NDc0x{`ycdt@3A8`y<{%)tZm zF=qMRCaAu}L*a~x!v4XtE9N``8>t3b?}wX7nX8Zt zOhk_B@qE(qg^HY7lx20C=~Z@6nyT-tAT9w0DgbN-rd0(eHl-!a0-anZCn~{j<#8w) zXL_!D&<;^%^5yy&o?2BSsb?2Qu!#~E&dO?9X`DrL-VFXirL&W&ceRoE&~!Cs*1 z>rr7KSFHNmdm|Ib*0c@gZ{ux99kO~GiRy{XP#cy&Ds|R(%z)9+*OtFks-rKrQ~ao% z;&G-IMBrqrB*LYI#kyI@0t8#Q4YfXZ?yq8&hpc`544^!oClZ~OM>j2IE!&1O zj;443q{^zn%9TViy^ku(sebgb*tzuK`J}QO$x^{OB#gh5#fbtNdVuJR3lbnlXAqwm zJmm`7hGlUgCtI?z*` zxB^0r7V;DY`{+p4!BcFWk{^WXDbiUk#{_wbl!yl!6ZI7PHAvRJ^kbaM>d;eMtz-wK zec&lF<4V$Zc!{Uz;S0Y}w$OW^r#QMHgXF%rOJV^Q`f~CV2`oCP5uu*q?4AgwntF;v zf}UArFSuAb=A^c zwV@k3Q`W3*a!2J^+Fk{UR#nvCw<<0Dx2stAH@rQML-M3%ScnGLT@{KSfugCaB`woJ zx4N;5ssk-=r5i-%*Z4l5ZMCXUFi$nG=hct!>RWGz*`Wp8Ots_+I}JrUyR7WhVOHv< z5%Iv5tINmSkN0x+hdz#zIe)fdVq8~?p#Oi#1}04j2NQnmr%lRy)b9a@3%avIs^t z`Ln|WQ#{aj@E%zd*|9n@fsUMlxRMJI?U1c1dgSQ&xpBgSPu<_&$f_NtY2)u|trKMa zKFIUOu|#VvDBm0TED-Fyxevv0(XUfR`#R+5#gV<{h{HX`+x#W4frnt3RE8b?-Tw}DwlsEP~hNz zrbTq(GvOa&fGSZj+M27TTpaXt|0{X$MkvH|R^YCp2Gay zqJp7=8<=xPk`n|Vc8Hh*%(=$zZeY#>6&YgA9Y*vy%(+v9Xgz%g%z0j}h+=#C8s^-g z%XiOW&L@#>LxiNUVoJFX>h1#OTuXK|SVk+k_`^pvPm3qh)Bw`8qNbxv1|BE1Uw9(>0OVh;XC@r<^mQ%|`Sd&fu98 zZf!&qU4=Uy4|4{f?qL*6I|@BqHXnI!Xt4?rFb&W&U%~tpptO1pC30->b{Z+y{Fy1e zhTa&>2?L4%?1Aj5CaM^UpvHtwdtRG9; zK!<;AkcXvlHORd|o|*Mab^O{pV0FD3?aJ#7vAct?o5+~pcC?NwE@JA zumo3N2Lm>M04#xuFO|ujoh4T`@BF_Fz>GxY}~@GC*P^&xb--Hz#~yd@hgWd-Bu}5Sx5WiG!)_LbpNa+CVYLJE{!!-n#Br|TfquIS z#oA4VdnFO&V7pMvb8f-q$+vfLu{KA#Uu&L2tVhiAJ9DsNxqbqIPiyrz$`-oIvPiNbL z1M&0Ow(9-j8ikTPYyI8XHYT2YX|`>qYfue5o^2Dm<$c+_o43%jGNz zkXP5;av$?E0T<^7S+_h;`+MN2z92;h96@Q3^k3kXI~V-2TYiTR9ys7%=$22*N7;x3 zeoE((SyaPM>70GHpVGOX(z#9c4=J5XG#o)EbzB>!bdDV|%x<;CiE#0&!GNW6vToOl zMoE~t^cL9Y#=-|Ec0Z+a!@sR`E_>7CFDjk8x1Z|a&n#tcFXP`(n^e2rhC*aAQsTJo zj1^&Q5SU}*s)n=2EL?IDQe7t!WoTKa-nJ6uVW$diL5-9Wx?%J}XlIM=fy6BfHwo64 z!LAe|w#AcB$4s}=K`15`SSm?Jpl?(Ml%1Cy)Dy?G%^EyaPC?L%o($ya40D-3#_`9M z{c&Y~T-o#r^@x!I`#u#h(kgHh zF;b)JMG>QkKL?irMvNNA1jC4tiZEid@IZe>#3%&Q_`03DBSxI#GoI0-5u+i1SX>Ah zp$54bGRkgI1>qs1wM@w9dU!}>eZf=6NX0J;8L8|gAtQje=ybdzWTb!TzlMin5Hd0{ zzo*TV2kYoT_q?T(0Xv>6I!;|kpM{LYh%vvtB(zaF(~1rZ5Cu#0WTiF^5{p5^nAqch z7|SC|>g1jXtfz_?8|}-31d%;j&MJs86$vA&lEUPG1vPbQ8D*eNzE?>C2GtR`j2s)O zaN!x+6Zx%)K~D7c5H&ExFj50*jEF?+NdqwFz=<>IqbE7=gk-77dB>BiZ6-`$tm)iq zbg<4eT+Q?*$t+b$9=Tn>;cKQ?F5GJsU@Vm3Mq%nDu2o6?6e>g2h&v!00?^Jx6t&P~ z!~kQcJ2vzak>F^drXv`D^?WGcYcSYzXDSVSxh#8loIqK5l_B3t(7*)>q@nzCb{{c7 zyYsZt#Av+OZpl!oo?LGtdqn&Y;@_!XQ&7_6*gs&rb0=h!y`S{5+Z9%yY&l| zBUxs&25TEb6~dN1^X)KzpFstwH?T1Kv3y1_y^lKJO(+MRJ*B(}Xez5bxJv`@WU20; z1)kp{cuLVVJ3x}+DV12lNar0O*spZ1{S2;IPN^=UQ%da_VyQEy6yFYq=v$mpM)rbZ zNl;?yQu3iCGTvGsYVw*c}!jH*=dfcejw;E)%QW6b$Ta$ z6OXB6CAh2}Kc>XH2}_t`N>**_riVsKX5JTcO!0*}d~i%D)&}*6o=FSw zdg3wVruWffYF<9Zo{5>xA6{SQO!?}r<8Ii?i1d*F)WJ!OJcLA_uA-=n&A z&L<6?w=lw^oqw!8e{!KftU1uig$V-+K30g~NA;&0%S=|n#7SNB@Di2W%C8y3aRTZg zV^cvP&{Yvc`7tECiTA%Q1d20%0mM*D;(+ZJ{DRDD$IO4gpX4hOFQyJBdYj=YMk~oH z{|CQVUd-0dwmvvPaA*jsorYkTZ1^XRb-CBDixl_N^*qJQp=G}m5h#?#FU!( zXfzsUlJ1-exiMl*E@(4OZ^BYWVqx$Rd{Bi-sw}uA3lo$}SN5$HGc^RTtQ{sK&7~T- zaZFqW>t&J`j*Dx+I`Jr>0pdkd+^Tvb;Z0!Epsut`({Gd_D_Z7mTYv@_ZQ`fSJQ9dK z@R>Bq`{p2?tXfh3a%nn_F*o|=AS7;74DO!hHYjF%HE+}~Wu+7EDpz$j2aGtFanslY zl1k|ybeEcP64`MxD)2=jc3_Wkv%LYkQyYYUcBs~qHwjsL zb@2u+C(!_(Q=ul;#@FpkQul8wC(#XmqnxCY?7UFdi7(YrGvy?6@N`5wf=3`qKtD~p zWY=K15;#DQSQs1kPS~f;mXk2NcQBpm)P9sR*XTNh5d&w+>}AmLJ=V0vyqY8cvfW)xB2M)ys!7Jif5<26TU@RtQTO9UHHoNATTQZ(c+fPNsV3p> zR(89^rjGhHnme)8B$`r@O{CTnKm)iti&fC3nnVnAfCeza(V#Ok_Pa(xCYZSbL}eH)iz*+PtPr6jNz=` z0K75|w`9)>8PwRHynoA0X+D^|8^ij0A}p$Uu0~kIM;wDdRS+8sJV%bOX#CM5EDd8S zpA+mJXoN-6>JZZn+&Cky&bzoH!UCxb7uUlGOJYT}oj$DT;0SL%_|6fQ%!+Nmq@yQE zy(7Y+n$3j+tX0^hFO9GC?QY{M8nn!AK+))!If`In)I)%bzbC#j28VJKX_d4oXJ3dlcoi37435DN$2plQKo1J@XPjVP}zB;G%}*86=K3&sy~anWl+Sz*`pj}v1azV zhl_}9SD=x6dB>%!qG~CDP6cgMN}#S09=-7GJeJGE!XvQ9^`znh`YLB_$?-#zzrfEI zcc?}*`9Z_PP3?*JWim+L|0Cpc5UuL7jr>h-f(MhbO8I3BDV&AaKMGXLk`!_$6t96 zF1h`3W~kdAL;@zTAFhV08Lm4Jx5gWmaO~o`JSg~Rrt_98aOUH`8xy0v)sQw>Fa>ws?+}_;P~P#vcVg8 z!w+yA-trB=@dyLH@R4cPIR0qj!)tgRI6jq%rJG-t*5qLLs8xJ6t?7Bf99-lgaD37# zf7L01K~anCd!{v+p=`i1Vn}N;bLY;W9&Z81+eor4t;xKcI%$7tT63gH`fZ`5*$t>k zYic>BIY9;Zq#mDE!h*}k0I5xhx=Zg*YYyKIHa;?JazGB*o3L?5+&UnN)SQK>@{8j9 zLSmEW{9)yI?0J4rj<2k$8KY=nB!m@=JS{|@l3Zo~Xv(DJRL)(Kiowhp7i&;qFr)w( zS(%6(12np_O^tdp5jG-mfvR)1*6}Sq8-c3_1(aTLx(&z}j2TAV3J@B0cED|s%?pd3oMbHvda^OT zU8=E7bYJ`Yi&jPv)8(i_#^1us`Pvka>90|Ua7V6Q&@m{6mt*3pB($6q#TY>U@o35% zHA43A=ARp28-oTO7%iOwhY@0^qxZ|d3<25J)Ak+@%Cs#nYn2PSP%8$!@aBie|IBLP z!AFeFYK&y^+kJ4q2Zw8JU9~)mii!t8Vnz1^jc%c$)=ut_*=QwHR3Yi$iK`w#MG3is zqpe_6l$P;cLq#FQ(*i;5~7o(oY? zDgs9?Nb5fYi)sQfv#=;Otik*@u&7EhYyKNpl)EJs^jTPxyi`={3$UnL)hZ*;x`9Oz z?TA_an43u5A}_pk7#2mFLI?6TEb8+yvqv=6+||@u?4s*VytRv*#TizW^o4q}s-*F6 z1F+HAE)pXxs4C%3*kl)JU|H-U6)`^(*+mNt;r^Fb3z#SbyC^IJas0>uH}Wp5?m)nm zm^+o{Xm@{gM{E~4@CO<}OjmUg<{^9F(W=B(+C|I!k=w}_dKTspkk}d%$QMY;NCiz$ zBA5rKDDH-NOmr)7>-34=8s-rl1%(3hP)vuw zJf=W#-3#+5iA0!OM@&acPINcS19&|aCz=BXHq15NfO)7ila7m#AFqOWsP($tJA`?p zL?UB7yaeWfB9Grl{-;-A9ziO$xVm`{)_OI}VCHv2;ud z2H_#(h+DdLTsU34JEH7>;`}_g6%xKHiBLI#a9ae`g${%$6&0|sw#tjhyUALW55U-s z1kBOg=rqRLGLa#&0p(3gAlh@aw@UgBIxQZe=7X{qGIY4Em=SSujM(_Mfo z8ELV^z*;A|oyIuvxr!J;Cia;=!_Vl0M|2sJ0aQt&HP(W8n*kNOIW_AO83yI z{->1g1*`+RSCsB)7+l@CHE4nq3-2->j$8Wrt}J8zSU2op+gfgphn-o* z!+M$zJ9|d?-pCJ||0K>Qx!womU9tEsl)vFv8uNKk)b;R_`QQS~=UCpwe=uMA-~YAy z-@A3!dNLKp{HGaYW)kggmL2!UJqfkE$k7`?EuZA*eE@2CFGueMsHIXLU1yMS<(*b{ z++vV%J978Wgj#Y8X82nedcTlE=8K?~C08x6`NNEMK?%2pV_JXl znE}>2Y}N!x$}&39JdtQ;8=zgrbD^>_YA)TmQpvn`g#u9$MBsIQr!9I|A+sEx)$gX@{U zy)vyIWABUpT-l;GBOgYf8IL6>TjUh=#j-`|&jn?R+{H_lUfc`9lr7R?R?)y^i;l89 z2of5onJrs%?9~V>`-he-RtEF!t+xPq>yf^|6W*KoH(x-LeX(p&;`DjB@&)fGTjW^X zyUG^(%YC+Nk=HIPQd71ld%>11GWc@9=p&RZ2BFJ`R9mSZ)4KIV{*s0c9&=;7H`CCe zkqCTivyz`_=)eY$0nTcF8kMax{93`ZYB2!qpcn_x&;ft0;&r0eG;0VNI!O0LvmyZX zsbq%QhhZX_Q2^!w}SsT*8egA$Y}e^;q6AB+2W^0{&ojKP+NDwSF~=;**& zpqOepH3c}Ig!YW19^Da!i_!R?YF0j$chu2g-X_t6v}gKt(q`BJJ&8}NV3{Kw)V8Ao zGknAy9kxe3)Y0MmwZAd2rtXBH9+h<0tkHMeFaS7mflO>R105Yu$w5a4Ia8sdgVUQM zE>6V5X9e49M~8`J=6o<69o)`Npe$5_j={^Dk)@#@d_MTBr<%VobAZj@Wc9%q+=Ig~ z^S1;{1RUmbO(eor6Dt(j!l#}G??Gp+%$UUZY3Xnp6u=`%T+89{cZk)z-qHayrw1Pm zuW9LU3%DeKC(`Kg__2!sQT#nMuc?Xy&MpS!@X0=gw$oG8=wIjwvCrQz4)p0rvxRU1MdU3xMTl z^D~w<9}bZ1Ab+~l-end&<}|qpc&-6SBaw+u1TA+$;?@%2@sda2$KV5qOJW%dl-jH3 zD~9Lxkbz6>7kb?RYnq_co=xH{yx08w{WIUwfFvrl=TidV=dUcamk8!h2a^8@JCH!8 zs_@o%VF!}0D78QN8*Qr@{<96KpUGb=bRm=pH{RUbkeWVZh+7&v9OD*F)8$Ji(Aj8 zA$1Tiv-yj{Q}-`!NS%Dy?cM1MF$VvphSY4exb#J)+YhE8H4m!YZl)pi!ZI{!Y(r|d zcw;=nO}oR@>kmP%w}Bf{vmSgdeZh-o2uur3Up(HBdI$@a^ex`ok-E(D!Ecn>jHj43 zb3`p^^cW;Cg7*%~v|Q;-jP*uo(7Q!$7gd5H$PloqFOm&Jw_RzR0yLnX27LTo5diBW852)fT(aF>2iR`fv*Mw za0ROr0IprRJQE>WcqYG9geXPCY~Kao8YQ6^;rf{nQFe#77{xk&gJN}ppnPP397TZaPd{%8Zdz5 zakWtPYNPI;P!=`vmpAIJsrGo;U(nz4{z6&4@DKF&WN6=@>(%u4G{pz0iyank2w2aC zVru{v78@%xaha*D(Nec&A>7j7F}TABt+t*ll>KJ?J^x&xtQRxsN-Q8){O(; zJD<3+3>!bh#K)0WB{|XE{UAP3lCr&5@i}rVNin=C@>}Iq;a6#%DQb753US3XGn8^D zuL=*}?!>DiBdEM8qW`u%xp>F?^xM%LuCpo}FB>ecN}^k$NO@JnZZNzmY)v%q$dy+m z`+;u2&MUksu1ckOCZto)vhiS5SdO* zFBn+HA#&_7U2`}ZkL!DWoBcLl6{7vdgmNQLkp1z9$;2#n&qho#)2lrnF=6gFEW^`? ziITVA5y&Nc2}mzAVxrs}cm%#2Y*eRu8u@Yl8zLs6rEf({3SamKA|_%Jd7QF|nCQ>3 z8&ZD~roNoo9R3m1V&5!cBI-aRCbG-FDq?c}hj&qnLBvGv{s^@guU(TP*MP{(leGJv zkTu>$OqPr9@#u+L%DJ{TzXEMUIM@H#QeMWz%TT#Zw|kxr5*0KuIqFPCe-6i*4KG$SGSkg!o^#_ zU{WhyVPQ$3Yj%Li_Z1=_sgrx+eSAm4v5H83msCbkSxGbk=_9frwH}OwMcsUcog zH$*DMHM-Edo9CM4#57d{@+;{nS}|1`WY1ITBB7v!69;JVG+QP_S4!2k5@G8-Z9=t^fR3!1_ zTgWBf+b*Pa>48tqmxd(@e!qdQ(J0DngWTC2hvMKQ`eV0s_2X5B6=$*>@hr^Mj>3Rs znRq~!YClIO2G2&^l2B>7ZbMfmx*ZY;;W`;-dO_ra-#)`MC&EUnOwo)TixtCl88pdjV=5(j z!2pd}!d->E^JJ0q+u<=KhsxDs3Xvv{A5(q!;FwaR4(bsA>kzl<5Ojd~^fA@aM;_O8 zej8!)GF}y4&&+1A93(Sag3e*z49i|QmHI_k_RKGHcV;$u%GE!cnQha@ylwL@0w<|X zEHI?^fs^L!hvi;ylFNbYjzFQzakC0W$x0#%P7>jEXWsxY1Si2_6?hEOJ%}cyZtUHx z;5QOP3$ohn*5cz_Ef5s;cDbfmqZz?`qNd!H!!{%;ezTq@?d4_kK=9Q)KX&x|Y zVSv^3rp42Ibfa8dV+HBSgr_-iSnq()8&C7@ul>Q(ywUOa&p6FxTwZXRQ(Ft)+H;3g z?=L#ddjRJjaGEdew9s=ovH6vAGomMTjl31o@+B8&8hljN9E_;I0~o+%^x)1SwH-*$ zukZnJeWQnI1aR=X`JYgfs}m^(AF|3z4_WL1nE^s%#$9_`HnbxoVykSqsmEh_P!fY6 z2-}ehwfBD-XuXpJ`UvKoMT>7Bi=nonJE#;53 zw^DgkRNMOWdcHd}RDe`54x1bmL8ZUpBlU*gfUU&rdjWW z8^@l1z61?=p}lfrnE^Jd7%7o8h#pIU^wUVwLIY*+g3x6&!N||tNo~MJOp4Vg?4Fs4 z8w{FV1{%=C-2d$ykjbmR)CClVz)ZBpR1{mlijAnka0uPxlxUhzq@eH%shw-233nv} zj{EugmTc*8^YO5Kr&Ed6@j2sk*p@AwtMbQ;^1YSU{^#D_2jpF=c!TFRz=OtoUW9c$ zG6byCX`PK%{=t0dfB)C+fA3UWV>|1_It9)xQgLj`+GADvwS(4rC_~oLeKT!yZxTVnya9j4uQ~e6#wN7077zI@`n7( zrjuEavaE~WL@ zG}f-)3qrM97u_RMb|Q!{fPxt1!jV0&SvO%Hy&066Y7*giX@G^={%TMxGsACHDl{&t zn3n!qh;=Ob&KeeR@9Y)FfRyVM)N|$a2Q2JbKs13<;)=U40?sbrV0}P+!A-jVUpeqDsR&)bE|pcF zx0B_guhO904*_&DpO4K`<2R#altF4CFI`7pwag5$kYJkjkLiyi|IG36(+l-S>vsRi zSLjB3EQK(h4q_;T->W8#gfB9B$6PzX=!w+v{O4g8gFHP zpjGn?qc?F+@x@ikoQ&Q?;KlomUMWV9v#aB{`AeL3lF{fTm@QyajnTW>7i$`L5@S{*`sEG6 z9BTCX6t=dxj&j{#^fvB0j`1O5^v)#Jy@5t=5L?nP3>v*NeTJXWM~&WTKD@_4Q?=I` zy_yDV(dneEdS@?$D+PZa3PC>us90nOtu2*>cO7ka4q|B^({X<5N#CFL^Za}!sOg8a zE5e%}lGN$mY%q9^tjs;)`MpejyASU7;BYOI#)RtW9^)r7+Ec)S3B@?_o@^ErcbKAo z3mtW2j7wKljL1QUXjFfwl2_VvyXz*OU3zYI`KehmbNZ?vT3ANTZo!Ozaam7Yfb33`m2-8hFT=CQ-a4am0{9)^nkPXSUt5I$A#bp?qw0 zNld`;qc7(3t=ogLI(Aaw6LJoU{*ZiVA(s^?48Yoy%eJ*Ky3m+~gzy@8P${kBM?Ibl z(|Zm=wLwDR-5!}1^BfTzP+Z}Kk{iRHhr&_MM=4MXg|9p`*X3h9vpCi9AU$^}{Uqx_ zKOYV4ftW_hJx5hW+1ZafsGoraw@|$|ly+l>w?u`yQrCnn-#WkuLoHl(4yEbZ?~RJp z&k?c74u)D$P-41rHgyM8?E{n*HZhZ>jCJB<;LfrwXh@3lu$r>8qpOB@fbl96?jLMl zOvlXjotnE)BF5SjAi<;;b_X%hFF2#d@tGY$Va37M zNzZB^6ag-*pbwnWsOw-!<}n}E+QIawrw$QY81j>6 zqJ(gZI&&T=#>_rRHyKdyC5Nn6J&y!a62VesqR^F~g$(A$%jyPwfKmYHNio{-SCLuJ zAU4GLvR^Ad+LGU?hC)&~h4ug(Y$VyvkWy78R|@FgdIAd%oUn89RTKhNucp*rc6NS~ z;X8E9u>*@JD8E@TU zAS?)>@80N`ov2908y(qIAnV)n^n8=Rgr09UwO@z?$#pGomceB`(3Our-< zoW?>-(z}d2HfzB)HgaJR{Q>U+K3yy|Cg*rf7@iQ3@UH0h9VbcIeB4YYNr_IFy^))f z1n%>lPm)qU(sZIXehV6^i~hAG01eDx)zfcALxD=sXFgE^AjaX}S^^;H{dbfAH2=h? z1VEA^>X8=rOpH=@-^43w1 zN!8jZIYw2z$~oG=>edG44OsJ+exY{H-Znal(yG7JemC2uZs0*J{Z-U_P=e^{3!P1j zvh&kIYaaP+@yy~TMmf@0Nt;&lTv2@u%Aj+lv9dABiIn~A80FlFSTIH@-Bc?lc}$E_ zUfRScndsdo9S7`Ck6qF#!MF$CFTfDMm>4CTD2c!Lju_?nwJAn9%HT8>8rPY?>`HLM zG0NTm7-E!@6Xjqf$qGhM8=YvK{BN7mDMO5Mq~{{tw~0~q7lark)3P^cWNc!TebqGn zZHC72OF+wRfL?Bz9#oiP6I|6Kl>ML0Av@DTWCioeo6K|kLL+IB1T@D@89EXvNKgYa z_zR*78DD`2+Sy8W&|wB)wR9`djQB(e;sCglb*e0R{6-MYjV}}DXr)2j8B~~zJ|Hc; z40s(y1~Ew)vE(G%P-8SxMnm?~-1VNEIu;*1_t6&DZ`;I@tCRh2@xiTMCLZE8Ba0$~ z>SQH5C_q^hvar3_0=!bAd*bMT%Slnx+}dF_T~*6shXQahf<7C&PgUWEDcQkKIwtI; zmIwp=S?ej+^W^6DSWg<(4uw)OMFyi6eiGHHCt@Hp09HUjIpHhKRj6%v&w&5Hi0y!{ zNshZ$4!BDKqpP>Gz}e-2lyGI2xl78qk*Ce)Su>i;H=qlnw9LUB9v%DnY-Ws4+iPO+ zn03VgUQfX4!$rFYTV6F-B*{v~*ke*NX+4Z6T1kfrh6)j=47>-4#5kpM4~9ayoexL^ z`;w_^(hl&a0I!*;;ZKEjW5s;rc~3%6>2P+^Ihks@pg-H{LhgO_IW zjkOzQQ?suMh$*q?77rj=+yYo!ZNV*zE{#?qdh-nxUyzs1E=#f3wtSHLUZ}ELUf9Co zr-?7)R$Kr~Uc4m_LGzUw?Rb7``@=+@!l>TF;(^srX2L|wAYr1XovC5TWP3w7%$(g1 z~@ zdSiFVg32F6bWyBAKF4AiBrd6#hsqLJln5>68QDX^IGrC5o;Z1I=XlqQM#66+*8}XZ z_s04Bb>n4uNxg9T2#m^yAv&{WT$Iam_ZQyh!NWICf^zyX*VFsW^*kLs>+w9`(|R~| z)^%>5uKHu<(3e*INzC{0s=q=-3-7M_Q!LmYulkcwyQAul3zL+J##a3`&Io^1)gL3g zv47i*s=v%Yum`IC3RetPc&;2Uudn)BS$cofpH|SkvFfk#?c%Dx3|PzU1)r(Trsy{7sdc5k-(E{%-RQ+k)u0}Vz%ZOEfA{4KVn?(PKsz1rA-KhE- z?fpghe0|klnO+rrQ6uDUAdb6tc-D{O=&bX*B7AeZB80|Tn0gF^OOSsFg*U=}m{D(w zd!b19%HggXNFl#xxHZ8a3h&04;2hLwwrV_LkTUSXQRA$Nl!%0{9PqaEJ|cBGjQznK znWy)%1u7C2Rh^ny*YL3l?Ld628&$+G+`z}WE_xw8c4X1+UbetX6xj=(xX(~zOF?s? zhd$00C>A{8V?9N-G$y%@k5$fuWIyCJ_}J`Vs83L22kqN@KrLbmoTH$yv~rTzaiI!d z@8Mz!eDJJ-pJEGil$+S-`vyLCS?G3ulp;IN^T(V{4anYdHr!8?xL`}jovTl3nOobMz6L>dxg>4zp>CmA1?}ft93yDyA1uv4Qq*_Xe+FN`|CGd=TDePRAmqjyRNGvN5p{DUz2bdclN2W*

    5OvKCWOd@`}@NcBwt-e#d?-R}R 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

  • b3JzF{*|b1eNUi2H-O1(<1K5 zp4teMSiRLfFdWSmX5AXb{&Su->Ft_x=j-Ve59D!gHv&;aJK-XbUQGV>(VZGsYs4#?_6Ae{j4n4)lh9ry1L=J-D~pid;<Mbt{UvClt!H0=)kirD0YJY>E%cAoR1uM zLjaY+8o9#&RB~%3_!V20Ft(YQYlaN|eZFOp7{KOcqy_*W92Q}?!vJU>OSmY7ATS2= zR$hGZiX>xuR9O91?W_&Q>KHHpHK2B_A=68>DR`p(fV~=kU;=1CT5e##>7N`?Es)9O zeE=rDz+ILM{$yBYKRP5^WYfL=-Z<5Vl@>&$P|#)uqa1%BPDTv?6l>6_( zWzn~#s=56T9D{`lu1d7B6i`xYDzFzjTv7DPmYdO=7CZFNiWDxAZOEn6*IXeOsjHsg zEOW|c@*{v2xen)aiJHlJzl99yc@4{bcEp-u4g%SJ1UYO?b zR@nyr(cg@el6&wDm1fNpt~x(J==GOMHW@B_3bPQQWaVCES+BBm)lcX3l^)47tg_^} z`y*ppYvED^$(E71dVr&4{aM4VI}6c&n5eVh^Mq47*Aj`Kk4>;_c4Guvoz!^^?6(@3 zn2@xW?psPhiGX}=y_XM zeXIyu&}>e5RB}^kg2-2?)dC5y?|+B4Sk9p1}su5kYy0q$y}SsAH4 zL1V78v|@d63bAEVWT8x1zL+f7LBDjWFy_0}sW=RjHs`q&L#*~lQjCzQr00pSH~YY|*Dv}mE{!pjge zM`$3Lkb4`zf<_9S5ZU`7w_9eJKq)MY_v(|p83;=9=igbjJHwm>rOw=DIoW|a z1$!x(XQG4FqzYLqhKt}Iv9Nl>gZ;>Z$|72C%dhPS1NVE=B`OqswSlqy394b#l$%?` z_~{Y;(KHu=JKEeOVkj$CtJoXH&y79u<9c7|S4u{K4`BW+|2#4v?`|mH`Ppr=J#zMw zAF0=hHh53q&!%Lbopf#dyYg&o_wdh8XuOo+a0o}hFXUM&Cq^h0J#5345~k(x9SaSjCSk;9nm)gU$0wf4H4TlM^c6N^$=*SC$nYGJ#*X4l4^V zwk3VG4=8ck2R}KV@Co};d@;=uo9ih+8G5hjGQhzAx#=q`hnu))luNTC+E*g5k z)e!=}R6BBTy(+Nr)^kiGB4oa2!Nv#zmUf7`pn z3Es2#ReDJr*D;l&b8B-~UKbG3WM0Dk^)i6?YhMM;cisqdo_CISQ+2KQE_gxrvxk88 zxOhug6~ZJPfr7yR5LB)v1LYi04X`vQQVePd-Zl!=;tK?3(2K0{j~~3g?V`As4I&i< zqPeFw9>`7<5UJ$-JAp!g_M;w?;zldAZnfi(8z1Zc0ZNj>{K%I2srLCYhK1C&Sg2_m z(c{#nH^#gFa;E;d8JgsJFeXCeTp_+ewyz0G5aFiLgU|IfKc^pxDD9OM0QdhJS&)^l z0kmAI!2i##=t#$DQC#_^HiS|P774;|EBO5qS!Yd29d}k~GR()%J7v$MGv{J};7{jm zgheT(iA5wcj?1oa-ZPd!L1-!vC~*8<3u*|iJ5vfF zl+*n8S>7CJ6$FH5iOIIng~=0uN+!ty=1$@^*E;4|Bo(A2pe>D#@)Ll)mcWl06e2@t znmRlUQNX=$rbvi-W!g*t4cNeDh606Bgm@wLACmbjvEfE^s|iM4*t~d zmJQcv-D0Ml+~=aU*J5qFrnfOvD|H!-E#m0HA@w%~VSZS@IfS<@P1KaGcfMD zL8<|-zt!E_2c6ZHiM3l3`;Zht*Ix=&mFi^8MWeFzlq<4jIG{z_%U(Yz3JDbLa}1T$ zB1I+wiO~QM{RONT7%=2U(h=^|e`P%N8Rih%Zxv?gkN!<41}X9wfwfEAwaTj)7$Od- zjOLQQIB*jm{`V{*W98T4Bg4R+H{Q-sjY&49#Kj0hP#9XlZ0J{_5{o4B;H#4t|B>f@ z$2-7Un^#|x_*orDwNJ|K;xboUf@<(syBD0R!up>%BC7LRf)hRUT#{Mn(EJK zX>pV*va~4pi+(X&d`0R&$I$PMxf@QCFC6~vHvuw9OrF^n3Sm7R!_?_qdN8>Or zJld8=D$O1(w;Uf6DP#s=jaOk{mEnw_Rw%z?Wom+Z1ONpED*nzHUg61+k3Q>yRm8SG z5WFuBe_vr2`RW(5O!6@?iz*k!f-W*r5W&SN1Vb!8Y)orVBM&78s;h7X09FRWDs&{6 zLQ`~e!3%@}3t$yknfCtWLd8uDz zcTuXYUsCw4xTZ+Vn)i^Fp5i5r_>>?^xqy%Y#Ja^Sx@dKeZ-iCIqy#Pcn|nqxM06n- zppy$0T_mKpbmXu47ix{@Vje!8ZF6fp{3{kN_FoW`Kf)9mC{a*hlqqfvf54yX1 zfk{90A^-CTMi^bx*Wd88aFicr;4us{)F-nkcDo5bZs&_61*%U97I!@2be=<2t;Y?E z+YiP~!L8T75oV2Q8U6WBC_$;)Ggno@3Oaodxw<}ApTdnx4#^uuxI{kZi4laZ!rjba zri+6nf&SA-vM09TY9T%auDBHx1-@Bie~-pVK|=)IDlj>*R7ot+I<>=G#OZnlEevw` zDW|<1(2Sx{sI5M;mw}%_!!XC~t@oat(rlM$NogFl+f-d>PLVms=JFq@zcUcHPO;t8kt;yb;VgF`QH3|h3a4B zD21D*2s{=GC#%paerscnBJTP)bCfGO)Ho|K0R@G)AbCrEz31lOYXK}*1=DhVQaF<# zKZ>(snEBKDqO%&-X0yTYa&ObngM6Tz`=`Zh1iS}IMm};L8rLj_v(buyn_o_2L|nhF z#tF=fOlgX~Nj+HdQogt54Y1nHBcar~{0O?9Ud_-IV{@4FhM0dq0LMHTmGvnhXwQSn z7hK!>I3>dCT%gR=1e)9^Ybq7~8+TRIhHm*#bqkU9`w26+XMyFc!C}wr>0$@waMJCx zq=K@nDK`;Jb6%#_W(pV}H5bTOsbHyt0Z+QqffD8QxgK~HCinYHtUIkG#H;YmAhk2Y zYz1}1&VWi-)MsP*jVIb^wt)HTpFj^KA-;F*PfVtka9v^#o$%) zL|O`?!PJki0?*HY{vre&RVAmBWh= zJfi`wyieqi>BBl%9-ZHa0A1^-#w|GMuXG`^3_XQX2!Zy)ptP z2mY=zNv*#lWtFPqQ1@Lw8doEBu1(=8MwYV@?Ac0!O@6|LLQ8bSrXdF}p!bfY< ze&{qwIB?bCjqEh(y#d;XzCd2<+qGa$>`~HtP5U&-{h)>fzd(K_?a)iW5O$#3?)~e7 zJ+LS-W2=NJ^Oul;u0B_#!`RrVBf9YQSQc684JhmCRuNgc>KYPJ{$~P8oS4I;#|u@~ zbv}UY!vu9I^DQ+p+@82CK>v|hmF2^5{bhvf<6&aWtj!sJk`H@h%6UwD%?wD9C)0-w zCDohl112V;)g&)q%YpYpW@6HGdZ#DDr?lBitRag#%Lh!<)cZ^S2mKtPm9NOE> z?^#ns4T5)=;6o;65&lo!QxUR{kDRxu3 zYA@|8)PwyBFYWp1%0TV!H-AJ;!*Cn(`<+;=(Nl5N=3W0J&~i`aJQOwz2$6T_xw_lx zza}&cFs0g0Lkr$|t{HMN(;3ocs9-nSkp-%e98y6LY_BZW#C}yglT( ziW{m+dk3H39+%!Sk!ORy3_@Wbv~KLg(c?NNiGAD_qA!m;HeK{r@X~Gzv{HZBXBOsDo@Ag=>LY0E_Ft=8 zDnz%B#LM)r0)0YESxdAVm8E7LApL0;b6f-mOHz)qke365(F|Eskyw$sN`T25p7|I` z(M6ES8(l?w1M?d|ZDh>09-OKBvk3Ffax+>&P11VY8QyeoCR!cacl1)oEEzEm^UOzF z?2`bvnS<9wTG$??|Dqz!3GZUZ5s|2H9~ScH<=2OYaoQ4fx{O_)vZae7()!vhDa}A zS^vV}hEcv8Wd6Bux7wq@M)|ottj-MNT1v&a9=(|ecBY=PsbuhrQ^r;spUy9ZG}GLl zAkGdY`sYT@jt$t(9wu>i0@|;`)9=Gm+rrxExoV5Ae+R9{{7YVD2!>e$W|i)bFb3z# zab7n7XGG=5@Lg_LVZfd@0-v~^H%(RrFVjMW+DAKf&)b;U2otv9JM3myz#x){BeYlR zgU@#*mRQrfa9qh??pLv%Hw@Ou`^}6T*vVT6ZMT1^92Rv*e;y`0`&Hu}yL!lR!r``s0wUv z;J3y8ZS#e-&p9mW=Cp@Z)!6~k!Ttfkpr`uktZehe{Nqy)dC`N=n7ehvpWfW{e$!ip zsPV;MvZaP2w2X+(8(d}Ax5^*?6gJTY_YLho|M!~EIp{ihJjd&smrxf-KKMP1GoVdfWXn-oK7UBe}&jt;e z55~Bf2lp=v{2gW3y-bpkHTpgfn?T$t0(>ldE02sKt4>`3qS<8i;fsfCAbdP{Vhs)% zB@H?e*$^Uv*=;`ICID;}9zW9dS^;XZJ)G-sW%?ijT&Ip5;)7Dif{OHF@HF%q-ROJ0!!%Bq~ z|B!{^1GVR(BI;E_nL0}x?Wm4htb0VHRTjxFozPcszp_UR5aR!*_Hs}y3gYhhQ;3y{ zb-K8FGI&e_&Q;W(cJtRzGtP8vJSz!)2!(v)ENITfJ31(f|>7{kaW)5%bH zNTA9Q0VBNm3xQzyK_ASB*0Y)j8L5>K!D`JG0>P>v4U>RbaK8uLhVu%*AJ^!}7%UD-ZDq zoH|dQSod5K?gh|e18x`FSb5K5f!SEz1?$hfB~SR6^7Tcr`^7r!Wt>}P_*mOC7%EqdNIG{+NKF9w}d82 z0ZhiG)V%IpMA16aMpO(J$i_sRt%4jnn=WjRlTQ+uJ=7D8V4kVv!x!f3PhE@n3k*DfK;g6>VA@5guD{q;%cCE5=`34o zm_7y}5+Pg2PB59}g2-$_`Fm|mCQ^0zWHgiyirLX!U}a9fow%^7#XT9wb>>^IlNWs&91gf^m6c>4dg3Shu@|*Y zzGv#2JTi?suz7MmR+WQbbp?iE7O784v3g?qs6;14>p=pR&rv5UvVt;4xVHEOV0C>W zXjZny=*4)2&rN_VCe2L@tz5HvhIn|P2{m$mD_K3-2C3*)z_WOIy$l{gb@CcLCU*T` zn_501tw2&YOkV@fo|X_<-XEF#Hb84_N6c}*lgDZm$V6`oWy}^umF|&X7Nr$U0*l1P z%uNUo&+`P9Vho>}_QN7sEuKz&w?iov%}pd={32Yjy1tsaM=M8HhrpHtfC&{**s;$c zSA}-e59lEG!KHq(B|}byuKMnUjw_c6Z!?6 zyIMAZ#rN-UtX)MpD;696>FwBCN6=`T9wD#X8tP>slua83)(dfB{*GH~TML=QP0` zJ=Z3=a$-vaW?}|!ScRJ?_%O2OA#Ft(HrY`?pl%vk#Ni2u+XypqZaOY2Zn4b%l2mLM z%y=1&#}jR^%oOCAH2n$mfpEzi&I!5!0n}?x=|@A2Oz%C5gx|yu)*>e8I;y5=5L2S1 z6q;;o4uae65gA#(B99 zM-eR?2`S@RYx5o}pWf+8Z;+J5*vFnb$5Y-Ntho6gCd3UGC8L$%Rj2|)&i5P@RIuhk z%hGsw@XaG}nnw@LjTZlrxZI&THmmO#F{zk;rR5DSRob4qR5#?im1`fzb=(V z-3yq2!INRcWlL}bM2n8>}z_kv7}a;VV?k80O`=&bVh_NLMAjX zMALp6UYx8I!eM9;jK3vyRc^YYy5x4!~Ny0UKd<0X>nTtO)nkTs;W_9VFlFGEwLV8*HS|tPv{DHc^m$1Emh62 zDLoZ`?W0ZiOv2yfo}-Y++yj3hQ6-0b>+?az^sW13s5cVvt;6sP#jgqh*=R2W56Fg< zw4QvmR`6v|XAsP4&Vl{;eE$I)MH@N&UwmGe{*OK{jO@&89RI)1i_cii#dzY@r+3IO zsKRJ$#vwWe!>*tz>^U%<0eZ9#R2})Zk1`Uok!Vrwy7tSjK`iejy0{5hV}z^dU|Sp~ z&CeRF2Y=~-zA68Z+_(#AN_$c)KUC+Ie$O}`h-k^LL(-LY!_2VH(u^-7<0HG@S0R7E zbKb4{mi)q9?T!G=ht~2=>6ZpCLMp1?Z_O|JraV2M`|mIFUDh|g?^yV z@>=P@_1BF4&-=v>%}<+c`IgapS#lcq1<%YuO^gkGY7pkYb?we{eLny9&5z?ZYHn{k zj5m+>dDDzV$vshri2L@}r`Pg)fYQ6`= zr)tD0b3S4EM$mJobe3PO>PRYzF=yE_J578&I}V&p?-l&6(?qm^Rx?$!BUXj!wCzDzNI zG8xfVw4T@vP-?$15VQ6U*rt*nr7s075~76aV#pjWC z;I7+6CzuuhmQ%j*?`QvV^&K$iYnBkwVNu@4Xl)_U6IY)IC(Sj0d=wqwS?cE0q38xd z>wqe~6-7%K{gOh@Um_En9tdeK4K*Z-5Xg@%l-m~&UVAY`5!nvOhMmr6>Z9!+Ypl30 zKOM5{Lt|81l@3ePDPpa!gu%Bm8LymUakqGpSx@%MR;v!cx77 z@d4m84)V~QC3^V&#?w|)hZm7Ox~F;E=2PB ziTI{7nWngi(cs|LDIM|+arF;{anof<(OQR|yi6*E_;jZwg$RjiG1CkgXi>nDa#S{k z0~*4U2qeMM@%J9daD)&Rpr(#_(Nt)b2M!#W2$qkjhvs6Fg>A}8d`y)kT55NVi*Ar> zoeS(O1)R42l}m`lX~bIpyQs3hlg{c`xu`O~QB%sV03tvU@$6QnifhS0jO5BkP{ll(bKA~3aR<%@_(>=NZ#z$Y+4ePyG!!KhGDi8~fN&@-De2SLK~TUO7bMk>=MWz|7gbM& z*veb4Z>i?Oz2cPEdP8GT@oaDjIft2K@n4YSb$wI;h1wVBs_yo@nR-hpA;?-eZbgaY zxrw3^F;E-p9B&hFYZWW^dslJE;v*ud^AQ;QCT^nVh--jLIo6m_)H1fMh0V zC|{mW>+@Q2Y47VK14#bbAQbb;GWe<(>Qkg;KA>6ovUKb8VJNW0qP>% zb{Ql*U#!?5O97}Pq5@|B3jJ8K_rU2oKDn^He5SC%@HP&NPnl2^id_b6E7YQ5UT2}p zuo;+)R|-EcYF01=TA9owpVV~HL@9-X@m`BOg3*z}qT+ubN~@W(`N)PYMioZFpy2Eq z&g28xaDjGvX$w{u#~F1NKP4;{MQ$y#m#t^lW-7)K6#Sd^l3l#kMm%7 z!^i2zhvd}9i~eDX;$|(+46);ljTK?_GJgg)c%r#vn!Cd4OBz}B46SuB^llkqm(g9L z!Vq~{wGl8&@(-G!nd5-?+ucLb4&UQI-b{w%g_-yD~19t7_YVSps}l0jLDN5q$3ybTQ(_yt%_(ik1;T zHBjZmRsx@s?2LxxxSGTDH)UI)yAXqfq-87iHzWt24_hqGt~XD6LY!VRWiewbHlMb( zRTankm_|AT2RR)Q|^wVp(6rhW| z1J-5mb)Vs8{{ELeKhXZ>EG1~coCXUm*3$iFSnuVB`! z3VT!os)Fq422>S1qS&qez*`ACm$frThI>pm(`g(kK}n%F2PDoapE)%;(9j*XDxPNubu^Uza{bw7T zMqU1*(;>o))+f3=MIbhV zK&TrhwQb*3)}bj^UhlQ?mZ!zuKkhEO9s%4@*7rU0GP(tL%UzX}>MoN@>?SYm9)B5R z2&nd!ucxfM@fv?#gFqJ9S%@Kz$4~1fzf$CS&&?#R6yWJ%r3ak=yJO!BF(UC~95P&0I=>twiV=kzPniMMdo$PDwP+ zZXC%%COV1fZoKpf`&QYDqS^CLdDIYEW)AlHsy!#Qg6id&=jNg9Gf%O-HGpn&<2IMw z)$XLu`q^+c$O7}_fzSXUR}LN|AI_tXA}hH1G&fynIx|I*7JK4aJT>W&!V2&3h+uwi zZ8AK25Nopyj;TJ9X*>fbx8&5Qn1T4P%l{zemC}j~nCakJrqBK;eQ~zGWGD$|wwXDh zDBg$LdcRIOLANSs$Q@?ciDnR;n@;j;XdX`WgDD}a5j$KLOkd)tbD~BI4G@qgoCX=Z zik;Cy9~FA7&*2ysZ^YhWHYrrSkiv)%Si29qcRjb`8nmWmlh)w^vx zT1rg#1X3;I>`Y`vEkp25nwU@3RP2K+1kRygT;}|vOEx7#5y@hqeq4ryI58ze^-ppv zFv_{%O~6a{QEwJaW0k;ak@dFXbF-Nr&TU$xo*_j!QZ1z)Z^=y+;^HyqOKIPI-?E7Lnt0)KPcs_{RefG+y2wO%FWB2Sk<_DXV#N7pWf2T$jP#3%H zgKG*g<`?Cp1DREw@Ph*DC$vPRf4R6Z_L(roOiHb zSb)G85bgsh{9Bg-7)2nbl}uW0h)A*zNjY2>el9w|m^ud<10Q9OHsqoa9D1G;Cc0QS zijxekA!636-ADBLtRpUp!M}!}BO1o8ollhbTn#hYufBc;!Qh%;HnJxzCW=Alybc*_ z(O}sp0r}i3b9f%UEw)d!I2{g%I;ZP(%OJ}v^b=ATX~-puz(N(ctPWo7K1NId0t~{X z7amCwW=R@0RFTJW@GzLg@%egAZ{O3AwSPS5I z^kHykeQZx867Da=WOBL>?Xzg6a`uz7&Sf{SGCY|nj(Oerv~zYln8asp-x1TrlA#5# zPKq5TcUyr=*UScf~Xcql^G|ENqfCuYvj{ET`%l3R-AYy-> z*4-3$x+{obr={NoCB_WtEBvsNSvzZWE%~sMh0p1QmcAiYCJM)8r4hR8zAr+(B$N%Q z;w_BK?noAC2$G=v;OLbeL}GWt_a7$pTkLw+R7VIPoREX|72%=BH(CglW?XEp+`sKs@s5adeIl+=jS!Prg4@J|PJw;=I6`N;P z4-j6R#Z%}p-aW!uX6@dxSu5gq(2ukgQwz=?G-98X zR3ktjqNziqa%?)14CM~K+fY2TL*L>eDe2Zd^xK14Uop}BSaM$3;wWoQ4nx!Ti+v&9 z+!2(s4`r6qjpFhIW$OK`m-C^|poi%;5tK>3As9t7MTT*-pXnw^=mEM!?x;C%iD@tg zQ99lI(~bB&eq*jg2T`&%nGltobyU5*a$_i&O3i}Ojb`~pB~{Pp`3RXxIo85f8PUkN z*)f$>VqJWReQ&s0;3&@lZ1+8bSA-(5ioHmSDTwCR)xRR+ji4&bT)RXjy7bU$@n-`y zu~T0)@L%3|WCIs82I>c4*SxqMmw9D8ygl2&XMllFVNs4LHP108m0KjJz?D7wc{Bqq zYiIp?2SoDxuki+XFjbDzK0>`#d=abZZ`sy`AM<^gS{?@7=H%f(*H-ocW-iECy11W^ z=|G)C`5hSK|8~7097jm^L3|z3O(reN+Ya&wQeqV3)lCh&LmKBw@b4uv7v#wZCbX`| z1Ib>HKPDAUF!X9|hIkl#kyw=t(59CenDZS=o|3l;=8l5egWj{4{r*3dFM8kWJR|o= z&<%^D%tM&-*iVJ&R)8)&F(y#^7LikGw1;Oh^A{RPrLrO4H<&dxRPpGJfb~KG0%Qta zbG)L~NWOptf$FS(3nzyY1&je(S{m;yr%NbPToMp8)SnKOBdunbDn8)nQDp$kUovv z`dARsh7Z4i!LEZ>aLT=m!1h#!#i4Bgx!WY!*-NFeU>H+&-)Gha_Liw>Xk5nf(MW)t znxlA8%&;>iZQDOy_{*C>7Ta3?av9!To`^gN$`vcrcJb$6JMpe3ivh)SMvMpS5U?i& z|27z54UbVD4KlW$>`#K*(v8ezejlqThD~=2mFSP3q^_B2iUUV$*2!YRLnlo!tBvu` z!AhqT${U6Qd4>28i(6iGG1zfCaU2pIPeV5F)FFB6i%7-SrAuNVP#X?Z`&*yL ziS);?*Eu_Ysd5L0UQxjePFmg-inMY6YN2AY#T;6p@MX6H!}~z+XJ3mIlZ-oYNzvK4 zFO)$<@Yh>#5;eqy{RGv8P0bEt8}`G{(Zel1i%-CUxF#|)l91Ems%o19?V;U>OEiop zdyMXch4gEeRa`fBmg5qzHdp*zObTx4hDyAm8ysJ(!$%Q^BbyaH0pcN}u zA+jgat(GEbRJU52I7SJ98yQkohlns6Dht@7jBbUSFCU{9IrP55-QP<6Fga{I_CRp8 z2asAAv%qs)i6t2@Vsc6P6by7KA5`2UL2+>ahjGgH4rY`c_Q$wZ%ax4nsSU8DKAejs>`d?@D#5^<(}iEY zoVHxamvt1m+RN|0oYO?9hwk%Ok%>bcy~i$`(?Z;oXkm_<5|?F1?qro{ra>ugQn3%J z~$k&911?oW(${M7YhQSUSkpMk4@!g(GfU%gdKA zQ-p#aI2jN*Zpq87gU@LoV%ds9nFRnW{?NEmp?)x;oubjNX9YezmQp7IFTcyn)iwNkbzwWK!hc$Ire5+7Qx*@69D`gbR0!HT&)uF!|$MmWVy@_O_S3csgGQ{dD z#N;}ariwbVVX7^cCBPGbxN9lrD51OW4>o45?OMR@P2$7r)Sanlo_ys1bb#>%r_Vvg z2a;@`f=~<(-Piqco@u#HKn%`z)**Y9#wp$Txn^t+K@0|-L*)E5owDp4fka?e4`?LI z;=3GyPR}DW(DQNt=C0><<{=e=a9_By0YvGS7Jg$dE^3hT=TNId}awsEvd@lU#y~I#%yh>bn9}iG!*AtMK~%mh)G7 zaiO)pvyEgr1wcnN6^DMM7{?cVBNTnBD)@c{wfgXU4ZX***6j_ZmquCbpwk1;MyCMG ztar(58j$fET%Lo6)J8AF+8cFbE(vh*gS);*R#Pf*Y@*PkbH1VreX+96k^HFl0M;-B zsB=lD>|f;~sxFJAMx?OLsqr5&1s99DOIhtO@xySwW1o~4RL3!vk{RQ_K1h1X8m=_Fc!35*4)!-@< z_A}QV=ws9YV+n3?lAH0&+&Ru(zCV>#>f@~L0hmXA5U(u?&{4eVf8{CD3{tpbG9Pw}NoWbRi^KA*v? z1*FD**FU|a^*@ZgQ;;st6E--u&)BwYn`dm>wr$(y8K1Fj+cWPO+t$wS|82y^M(o92 zbX9eBR%d2kbVYS%K2J`8Jm$j}f|ki^#@AdZx$%6+LrO5*0fBl_+5vCoLD|1|^{?cqmTkThq%5X;O3 z>}t)ob^3*8zZ-7%EV&B8(_7$OwLAwsmgT+z#(p)<2LUe(2eMILBNeC(4PLyXEF}Fy z#nr8T@DL*(z4Yvmb*s{XyWssbftaMZ0J)8eWr3-LU4KTj4g%U)>_eThgS@2jAZ^GR zWy#jJz>+zroijOOHC$0>U~~)tRvD_fxJFX;LITX;tCYqMo*i6A?<&L!K?H6fi#k6fo&slyXdy`;4C?n9IMY(zrC2F{jx zuXa{3Exjtu=5&idv)mRS_WP|d^^7Yl*JUKXS*g4wAHhCW;DEQ#i1`Z3C2nQ6@l1DuPIQgzfpT3!zcy2zt1^i5s;u23SjlQTY;|m~jb;L+1V(HLOM|9iixa`()G$FlJ zL95m+C(yW}(4&l7ctl)k?anTRv{2&)(b73o^G_dKp#rL*O^kGB_q|B)Mw`B=kvHJ6GOSSXh8=9_8tiqT0`% zp@oEr@*O7Ck3pWmx}6SC^u6=am`5;Z<_$c#}|AyaFXkdq^19 zv^~vYMQ}OEM;jgNo)Sd)a8v+NkbEzBA(D1J=>wA^3YzzB@CrfSG(9Qum%$P&FQG+- z&}88ovt-P;i&Ta3%03;7rQu*sw-;3v|_M+{h*WBwR)N-o27w;|I8tR)gUn zI&)8qJg5(oRF*sj0504rqIeoP*o%TiESC!225`w86cMd zbKMBZw@HhPrg$FVAu6G3$b>AOxWV_%)xRk6 za-A+PboT?&`T+8EjYLYi2pg4LGo#8cx2RS5e!QUs3IJ_Sm_m-(cM?7G>HaTdw1hT> zt8$P9cNIbDMLPYP$^h0bPwH^8}&U z=zgQcN|=7Tm7#4v3dolcxqb^^iOmG?&KN^SU@M81ywt?QO)mjK_2W+>nm~3Gt%4eB zVK`*nijw~IyA`)slS&xf7$C1P3r^nJc-3UXNCqK4#0he>5eLuA-Se-2IR9Hiu`1dyt2*L_+&^TBEX2TlP8A1GuSpg3@oSAl z>}uheC7W9C@LuFZsRpvTd$MY=Sq1P!&J&R}Pqn(Bm1p{ZP;=^hM8eFlI-VGpg>;|( zQ(|J4lM!)S0(6YPawq}WMev1=vVSJ*YBon!Pr>dUHeCTTJtSd^L<8-Ph>J1-%KK;T zG@Gux$cu}5NY*m_CHM^tL8Q?752-O7Qc|+WWZQE+j4=HHgad!DT*=uvIEOn;Q~q++ z-n?JJj(P{qCqT{4tVGW6ZjmBVy&Emze2`Tlnk>aG`vlTAaO6x@c#rf@TCuyYV-)Y~ zusjX#sgwyA8|b*AH3arEk+2}z8q~uxVn3%aGM=O^^g(?>rYoOK@m{6Avf-)bVz%@} z&#l}oFHBwHca7Qbg|zOArI7Qi?a2PAEBR*BGl4sbR+F#Dg$Oe10EOSEtL}BZ*?hmp zO7cM7haXO6$r35MA%+lVE^z*U(F5b7!MGs~;s8h03p0hzN~eYEgC?~H!*&GP1ck5x zyEhqsM6w83l%DzrH75x((~5C!`#mst(1evzkU0KI8gihy;tpz20w%@}iVYyF`faL_ z*$IRlNS9WDT*j;v^e=!^J6fKY6P(IrKqvr;iiEmoqaj&#^+k%5$*QFC5p`C2DFT6r zC^Gkyx-IHjWGSMm7PGU6_NVrsLAsDxo8c1;>k?{*&VWQ}a~NOL0ePuyiy2a(adH4g`*xhyi*N7Wyuma}$uaOn*QN)mjO((FHT8gKQ5DX5o zmfh1>>6o3In}M;WXIT%=q9KdPr{LF-ufbn>WruEI#TMU9*FC1~6SpIHsYTb+g()?? z_uA5w$fr)wWUbkzj9)h82IKMu&?XHfX$*?04JEHAXfl+BE};kkjQIpqg$EwPy+1@| zR31yy(v+^DM_$lm<$4R+slT;oFOrqm{oih-1_6ul*ZEQ6&OHGxF^Jfg_95cgi;=}8 z>8h8O7!gHQ3Zz0>@3g<96s_>p@K}N`^(j4bDntb?$L{q&D${k?jylt5|9kFMn&Tnmg7U8)Wectg^XOHm3|BBSgyL94ISklN(gr z8x25HO{+Q#P}rZGHhlYw7AhYsXxm8>tr(diFIF#P-^LfDy;NU~^z0K0IWp`8TE^z| z-IA&`Ypm*rYioyW*qij7HF_>?)P3Ox(%EwC#b2z1BKeNj3uEVn#b3^54U&Xkp4bdR z>hAiq6~++W(ntnc|N4r*sJ%|}Sj0UGz3_+Ls6tNJE<@OEV*z-^$1!H-2APo_c!I|% z)eyG~C1wOr0NKVHqsf!z$|3gZlOZGn#W3Bqy?byCn)zaXhsCf-d@(1riGV<%c6;gr zZkFYXp{E4$o=nc@2`gnjr6MxvC&{n&H^}f4IxL3FGdD1I`xQ8@GS{0EAZ+3P66bz& z&wn5x^`srV*f`z-1O6adgS(wx@tkcSAkV~lXXpjqOgpYWy}Hox^BnSMcCGT9QpBwIsttUrqYoABDNWw+v3 zyR$$Z3sTUxTe6evWQpC#L~R0S3uVMecKA)m%zVy*T5>0N z5qZlfIw6%rdTs*uSmH0v-tt6QKo=LgvHS`&H+Cp~SvVHj!evui{O?HoQti(2{^s<= zVdnCnBFDe0KaThk$@EeZ94@h)@lYWc4-$R+5F#7BBG|6Jc(?=TFAh5gr3q;`ou&q+ z3)9s8qCxrMiU7g#)cw>a`}Ye3Pd`)1Zg0Ole3*-KFrG0a@u@G)#eq|Wg+q|om&U@I zvRFe9>E)HA*0Z7HZgP_!LKy0s$T>EG0!2-)09<6~w<>1RR}fFqN-hK8(=)!*`Q~84 z)tKh9fuy<9O1ICxx$}xXkjR8_VZv*e^h1Y-elJ)Ao0ThUbE=tKDNd@z%og%*lPPa@ z{^WjSW-Zv3EYz@nvDYGYh54koe?DpEqDx>D5Y)ZT#3}Bb9<05S7Z^F|J|UJ=332ez zvQ3ue&nO3rWjScIRI%%^ee-#buwffk#uIc0DN*7*R5uV$5;fB=TDvR^EHjpc?)#^g z+%hWWzF(6=D;<(G2_L=>sLm6zupgc|pH1Am6~VN7#LgX)_~O*6BT-#fFkmO}S2)&% zS+dRo@Q4gtc8FZS$?t_`@^+{3&8x!SqAbdaQGK=(H=M0m7p-swH<`0E(|x6*%eL6Z zB8WCpV={2EqXw(EPZ|DpOZ_YI%ZmELapUOcsq9#?j?KhjGNdz>B=osZh~REAWO3#o zlpi0xB1qIgQcjrA>% zj-p(Y>m1xSLr%q{IhdIcLdCRhV#=G2GDs>NDTUx*bDx5#?6apMExS0Ygl30t5|R_6 zUN*G!N-I}3#CRK+l2O3F23{SzOrHj-;T@iY;L2R`h~r*Ib(&Bf>L>?G0l!)L8__*@ z8#j9bw9_(CK~^bfTat~`Vl#tv7`QV~_>p!Eo`%2{#LZeuVLcbP6D?Mu9rVJi!+i(X z%@{mxOS)_%$pf90Z=XO6Xzqur_F$JT}Fl->!JD)egKfHqPxVXgg~~PK>O&59c^wJ87jLF~oqQ%nrou{8tx@ z+dfErdY_%%>F{x%9Xa}>IaI%$d~O4XDT|CcZ_yPfpHrl)EX|TD3ov(YoM5nYy|!xT zXn~B_C1Mz1y4P{=_6i9o&CU|vXl^^fg&EHHkLNs+casC0vjCS2MEMg_Z;Zi;Lovc* zu19^~PnkIk9;?RzzsP68?(<(O2cPhgJsI*Gra6dj_c`&__zWMxa~fa!`flH@eN5uH9n$HUS;q!{UnTb$3FZsmXWU6)xiOiVKyY&+(6z0zBwxag#alVz$R%q zDr@iC1M%a-xh$b#>_>D$aoptO_=Q*}i0#PZAi|^PPU|9M4=EN@oQb^Ggg^#dNoW1_ zSKPQDg#S4yXzqOg&r@PDTnZlB1YrN9$U>{{>q^3*?EQ|~M?L0VEt3kJS z6G9ua+x>At*$yKDrbi{_1g1>4S#r=v*B%=J@VDh%QY^{hQg=V*geRviek{r=^-mq< z-_VQvhs(3Cy3HE)qIqqNW0k{N!8$|R_hZSLwa@iJbStOCkMmm9{sae+#YdNZn4U$` zPXO>{4H?<@!B1|t*-t`1ErYsY!3@sIvh4Dcz3t+EKjJYX&uh7_EKY^nZs3&Rp}et7>%& zmAJi3UrVXZ9+|KNnU7U^^2QOq8}{)O81wswe+GG~y7w~Umq1S7;!#CVq7OI(|0H~^dw&-y zQq_$jx((wAKhcXdE177`N6BAJ|3mvsW^)0PK()dSIBZ9?cBYys(}+JBDw=R$8{RNr z3M*Hxj+JKS%{7`1dQ(tn=n?Glx`v4HGmL6Zrx}3Tp*bS`NrEo1Y@-?G&dmSHRjy8+ z-$bNQ)<6t%rrjLR@55j)5dkF1Scb4@;+|2Y#y)m0b6GJQNuf^ov@& zQAR{?@YfztT6BX1EW`WfB)4qQ?U5!brXNrNBr9q_4_NYdLFR~bQ)-q(+>}u{ajZyf z7ueszn{@SR%lVaEArSi%<0u(c;;N1seN%d5@=5uJ>cwnWZ;=?e+FDEu+ng%x(|PkX zyzX?>;d%nZI)zS4y_rp)kNek_f$~4mS89Zfb}URBW8(>J=L23m@$bl|;f3}(>B%)L zP%DI#j))BBg6pr zfMrRQSr1U_7V^L#0l{4LwAV#7qo6hUbyo72&>HD)tz*L4$I*u$0ViWtfbg@JjBQmK zDIYdl*s3{aWg2lo03LgIq3)5fB%?9uEwmvu8PDB$g$$-bC_+vK3z;Uf3=s;05Sose zY}7=Hoau=2{}TA$Y5NZy@(?U`68!sgG*a>lLA0qXfHjDD;~`?mc2KF>^Y)Pzox%_r z5RV*-KmhIz%y1;xuTZbSDTt_tA21YG*o{z|=pUHV|g)!?0?S9<*|j!n}|jRu>AUA(ZV zG5}S=U%!AuW(xTVQ}IBZ>Tqy0A$)o%k(RQbx4LNs5mAd;gM>M}Tk z21xyPqwpq!4A_@W1`i6I@Mnk;>n-`b+dgsH;RP-PCWfEDrA+QII)U6EM-N}2wGyYa zv6HReCxViT4WigTG<36`;2{PEp=8RGq0=R7V3o(}#+87iZpdO!2VHzw1F@9HlF3u! zZX;nmb6o?1-elb^jhOV6ADoAuY$}wU;Sx5ke(A$_;xKT0uT*Ou6UOZXZp-rYO_4l! zkeFE%SVKEBx! z{GwvQsX&WI>SyVabp+#mE8OCN9jw4LziP$^Qy6GG>0EGJAgr+BNL#W&PmF;a6tVI^ zmu|zb6*Kc~-!K8^N-Fy(Jq{Gwu1QeFoU)5D2_a;oZ{}w_xXndTSPd*EfrMWJ9fLv? zYg}DbC;DqlNqqUj%USjzT*{s3THU=GjOiIw8Yy;&+$dDub{SMtVLXg zB8<8t+gQ>{MI!85dIl+!Y_5?ajn~Un>oU?*b<>DTkBi5ecMWA}nuq>0;)za7L>S^~ z{q`u90Huia-Oa@wa+!Nv7v#rkL8QYtz*>L=9SJ+Cq%-ZiiGV@;G*^KNTFFS7b1mb0 z!vJjjF2l0Cmd7}l=y`aIH#ezlhB(+$m*Z%6f)$9(ghVMxsngR z0Y+o+-XdXk4CglujPMSllEyl7P)r{+vzAf zw$EGSdmP$C)Kmt*vU^0mS+%Lh5Z&ci`_=KFik_K7QeW?C+>&Za&u(0ZkqD_r(ej>6 zA@OWnPVOCbE#7!3TkTq+;-8$g?#m*)NUS*%3GBIRJU3EM!ltl47h~0OQO6f!CHrFT zYl$&2cG%>%+inMvdRKqkNPlrOkZ`%jNJ7xu!SEzWnMerh23_!Z_u`EweiF2j{QA5x zzZ_fe+&ATEq;ddjo0ORBzG@|bo)@OgjmevID^au1GmxMUKWmaYr9|0(;l#%BISjRJ zFM^p*w8pEd#^~GvP3bYbp*3}Kdq$*#7k7YIOZXC5_&{oq0Cy_L`LZ}uhc`&_L{c1k zzy=<)KSM#(=tvieo^ltJhx5K^H)GHjjK2nr@-U&`EyyZKuzXI2YP!jlzk-|s@~&h4lA-Bs2q~+1&_=SlYRFEzH;crbwImr_LBD7~(PjW2 zE=+VkJtwN^i`WSB>if}eV%|5HrT}N)$68Yw;gV!w%_6duI9ojfygg2iTBdUARw}Nf zgI<(FP1H4TVi*wx6~UFj5MZ4z3HO*vSuZXChwUY%Xft9Xg{raWfklc86Vv>cYttMU zeB^~pIFN~PN+Phv`arNJs>VMQf>WeNJX<@Y{=~A;IyHtO0(ci~p;&{tbq24$4M(mI zPmw(#_edpophSf(AN&JO6G&)P){TTY9*Gym|yFX%5*rMO7eUte@2J6USQSedh3`J#O&uz?fK zAXLnz6@E}S+9VEn@6AG? zmPZRLHk~5l%ptce8x5)!m}p@?Pee5*a)%%cIn}IYk+ee2zhYCl(nMYnWJCM|?NEgeRN@$y~83Sp!QKHuaGaj;1WiUxxMXf|}RSUMhXYEeKy zI>3fF7!lHY!sv$7&pZ$#E`n2(o=-j?4IH40-3ThJQ9>)9k#sXFZR9Z{kOcWgmzY|67xG${F!te!=AmYprjN2!qk+;DPEwveakeC z5$+W9NoTuM^{?KC;Qs5UUp< zDtb+2@7W2xhRsWF94d=A;0PYVm@b1!71rbsvWq%7 z{X?gAUic|m8oo+|a_Fx8RgJTXiJ}<&D&B}$Kvv1mD~JW`j2xu%(Wg}?FWdjJx;RBB zuj|qqQk>Vo#MLA=+$X_664C4sPdWSIiM@jRj1ttiD9A2Mq2rYiq20K@B+piST)xg^ z87sVW(j?B!FE~$C!h^`jmZe2q44q5T1Tu#lBD8>uOcDVUN*R?Jgo~+)iBBLqH7IV% zKZjcakIwy#xr~t*AK!z`^CxEH9|*p}Yb7_s4JYwas*sR$!$`XK@3 zoCWs5P-&$ws)H`1kv)$EjrgVDFTW z{#6DGVR2Sw_DJzWF9&etU>1a|b=JIryKqVs47wOCPHP1fTvHK&|Bpdwy6>^b-y@T0_{Ob!U``ZDqLN1+33L-!hD4r8m zhQugkY~bx6LMkKV)I9Si%!-L%JIhA{ms2hj4^;zm=iymjR^QVkB?f|hg`$SJ`h|Rr zs_v<@WLVyU%ugs-R){};HNO`sSKT17_m8}65wQ0&y=-xcne1v;pL8u^IOQgz@RgSYu&*@# zrD0#`JU8Pr;V>*X$k9zRNaDZUvu^z(mENibSS8KT?Whe-f1bvN(I5=!V%xEo2q$0{ z0^*{mHy)@UC!ej`E*>P{)4N_tW2)pSkI8;x*FwyG)`!84+dEfB+tt_4d`S7h<{z{w z+-dtq_`ON_Ik)v+0S;QzEi7z|JBA=tjTYTdA`z>Gwwi`fI8-7LBN@2t?Snsx1LUa~ zFwTZTTeOFIL94&is$V^nm?t5$z~m5{p#E8Ps6bmFFIDUV(;2DFul@S9`uiNXN=ad3 zyQn#Wo=GS=!l_J_Sqn^xc3%yr9*xv`wy0b!J-tW@G1GhQxtwZa#{TKV&EcY#dzCvK zMgglgckx2-0!`Sn1Y1Zuqgj`984A^^47$YP4O_SzE89(#r0B~MVoSh<$;wLn54Oxbb4egT_TaoO$ zEQ1xJ=k8-x zA5wnoF+NjE&bvR96N_@=*3%p(z%qi}bq5AM?)`{^9f6eM$g!yi?VaHn{<-$EZI*&^ z_Zja|fS#vl`h9IWuKW}C)2}eUm}LqU8|D?K){>G&|MP__@7@_K3;c~sLqw611#n#O z`0>IuFglBTrT)9DX*T@xBjk%7srBII-lJ=tsdq}$e|ATsm44ReU$diTo?{|gG*FIT zkqmW7u)Avk%b7$+NtRZ!f}2!qR8wcO;gYtilqyt0HjelwOGgPc*ymNHi^C@4*_X>r z9D#qCVajQTTZ^HJs!Daz8-lKqvurozOMdocrs!n7RR-?H$w8f6shtrsJ%YqQqP!D(Pe*TS~&Q(UBf6fBbwB zukK>ryWo&U)6-*_u_rBvA&Vm!W9F3MC&eEPK+9N#KC(zuU%c)711M*u%G-^`)jfze68tl@;1{7iA)fCPk z>dLIT_zgBH?iEh!lv&hiv1f=*>lISU9;%?7wv>9^N;a?{Lq2@daA!_?=VzDRa*80Z zjHctZ=d%%Zn53&$t4BNxJyp{jHOY)pu7iYD3*>_&V$d2Sy%p2<13D{5?V_ij8@!W; z)*D^6HTr~kPMX;Sf3t|rE{RQPs_Hg1vPY>$ig3cd0DP_kFOKW*#%iLh4h=ZsETn2T z*Q-aF2QO|d^GAxV$5jy}7_l=s4U~Z^V|d+o+x{5MuVCa{R`<(RmNV?z&p@ z9`&Q8GpO>N8GbvYAm!T^)r0x-9_$LgiZS!y&&XKNT0cEjP&q2ny-4FWof{fa$K0Wjzx4fDxCb%C4f$QvA)}QwGzRAbwEsT>`f9$28e$c;Q4Qsc3 zdLXtKT+2q))|0Iq$P4k7tlvjoj#9lLvkr5usaX#`?SJ}2{S=p8LCkj)u!=4F=@=3b z7PREeQf$P>FY{W=_F*&upvu+P1imhNKVdq*dp@51zoSGy2qcPWuD*8b+Hr6D@0+4M zuO9vVNIdo2ZW$f4N8X<)B%&{ora3nRj5tf|x%Bk(S~j$ecz=dFIh_T3aIOEi5eA#% z;=$g^2AADB2sPnHALPQbNA=Fd5Jn&1!-`olHjE5H_VYbhF`k<2!=b0Mai_avL*<2Qv{ zZX8&w)G9~)&nL3fnb=_u$z7-aMF&a3RqEPS48E1nbLs$l9A(N!!->1dfoG@p2_pCN z-00$unjC6_yVFYq^;P=lz`0LTj5rJIx%H$f%V8sL1A0z9x;&LZ53d<@uEBTpiazMR zJ29Q_w~BBPPO=fw$=fr0Im`0H-dFX%33RMbDgQqpLRkJEh!B4M|E}8`S;4Sy{y$O% z5qmoqQ#%)DLTy48t{=G)AuHqm>6rdc_aDlL5}_^(gNT#8gRs5Fk0K-ekIK)%#>Ga@ z!pz9XM99g?M9=jzV*O81&eX)x@c)TK`oWNhk8$oik(N+$<* z;*;Qm;CuJ`Gj*q|DF6G@dcCZ*v@}KPZDt`y#xonye|8f4!LuIK8F~;PEOv#PG&Ooch6p zx&Frf`oS4-M>W=;-1M?B!*98)k*5Io`|VEWCIyO|br3cD<9fD4y7!{uAgo5q=- zy5*`UtJ5OMd~=g|ykg}u{M-$_xo1wJiQ#tfuP*iFz`51#u|?E_VsrabUV-!Crq|b> z1)|M^b?MRDEy%L9ZNA>-Eiq24qgGRWt;R$|-HnclCqVYI{;iqL&XIGrrJ+=@l-i+1 z`nGS*<1#*m29(pn9z8&OeYdALW6u3;O5bpf*DMsvqp< zSEyRl4JYR`3{wR2_8JK>cTHH2_(}NZLNZ?n8;Q(e6ZRW=vZu-XLXHK^*ZNAlt53-z zk=eYg?G?O@uh(4riUgDhVbS7WtmD1cPRt)-*T;sC=OW47V#|*EJ{_gq{doM0QM~=9 zHOJ90w-k7`e^7>%HoAWOZ)zMAys`zj*-i)q&olo@Zr}K?#JP-~@Z5iZ(lD^p`cJK0 z*?WBvcO9GK`1&;F&|^@uf+)NH9C*8blc+7Z?@C+zt>l&!@d4XqM8 zRK3SM>S4lHW>~e$vDEqx%rC?#&`HD8iSLp)qrZ%R6*p(}+rcY4lVq!C=nYB(>4&UKj$)x=QPgSEKQnS9kcZt1^)*Ts- zYt6{RW95pX#NQMH*`~hLKo1Ue|hS|F- zrzPS9X>(qT$9DjKGnC%HFD}jzae=LrukM4wD}#p4xErr*X&`oHC^IG)lPj<`q0jn_ z*}{cN8r^(|gIe-JDEy0C+_Vvk-OacVOucfCjA7@+!5Q;rloE-*El-ly3r)_oVSDFp z#olQi|2XV!d?}$t3Og16CXqxG%bxal`!7Hv67YXmX5Yl%Qa!6Nc`ep8ktizG*Mm%t z%m0Qt+>9hnC!k}Zg%sXKqgz7W)P6Z>Zevdd&!J{3?*8D|eK-6J6$Ev_d zCHg^QqNk`p$`3D>L3^0Z%Ih&PGFM6U4v4kk%v^bO{|+{YvRCb+3FG#luW?U>7%ce= z2vfth56WH;PwF-$C9cl1I3=RNDgt{h(l@%Y5O8^x(l*9nG=kXnKP|!%p_T6)K^kU% zh>o9FW2`g3Ms|!+a$$x`IR8*O0cze4_3hW?>@-ADQ0&qqE9iK_!~8N$-Ir7+oXohp zjF7+|B11!D3nvR5M%+;Q=+UEKX5zzznc1^@4W(YDfM+!WULYZThSE%2a7XKeQ5?xG zHgj^8IJ$CpJ04z$TcJLkQV}bm_0@SSnB8F}ufj5E6TLr2TLE=SPyL)bpRcz3M%t6} z=c-S1xtd?K2cbQq*HryhFXTWPRF@9Ce4gRa+OO4^N7hPm*cR#`54;Gwk}p%AoOtX$ z`~Xb>$UQNDGNh09L1*c)W?EOp+qyHD z8<_;Mghp6leGBtVhLHtey6g(GB8q`5k zs2`0{8hL14*cV0|VuTBnQ1f65)y2e0+~w)mR-8K;kD?A#A+q28NGX!1i2(LMD|Ehv z0K5yAsPrE62@f4^zTPVtOME1#5@>&AJ+jP9)EstU24zMKCH1TqhZC={H(z5Yrfiy? zq>R5G2|ZrAND2~(tTufagcLKV2zOboq}2Y?$W~7WTN61pXFb|AK}a#f^xepK;J2&> z;~$%|&jTdnd|^_ZclGCVWRBt|XGDm0*0{H31~V*_(=NBf>*$66hy)D2xgibEG@%=S zmCqsa!W3rRW6flS2P*qKcGtOd&U3q_URjDx@tj|-(!#+ez6+ApGFfSfCV(Y1>9C$= zGt=y*LO17KtE@$bw1O`10Yu35uBlZ9tT`!{6~A!*mdxBUk>0@8B1lUh{=_e0=VuKe zXmRDr5S+BODNwJkJPdz-Hc(>9=5|dqQidI=ePrjlCwpA6K6sat0i}&+{@B3X^h zeg5zI(sD9Q1~*;SB^`TnJphE=)qcW!Z3zs#VcEF!XN@d9%U9(@0ZM>eUoy>|Np9|% zc$}++HU-upOdWSDpWUQo$-kYn2*!Y1xjWL%6$pAvPd|as=6~dzt(%`Is0trI988*n z*cm5=3N>o6j#4Ba0>y-gNuC98uPYXg+f|&)pG5~Rx-+} zwJF7yOv|dDck5%9ed$Ft_1z*F%iR~pf3I{RHxUq^tdnzuNUnL21I%dKG9~X8zaS-S zF5!(Q-n#rH?cQ{)bx*F63N_x)Qvq7r71$GA-9Qq8BbbSYo|pd z{w^99vhWZdFv`c)xSxrI1e2NseYg#q@6n>r-a~il&_WRI=*MHq<&iN-_o7V9?er+g z6xU7|m$!ciP6E<^&S**ADTPi#Ki|wSfSDQ6okjHD5bQq z=(*uVB;``Q6EwV9-HBo(XYfW3F$04W5aGH!q2}rJ1oj9SX~<~uCTs;$uV4@h>~$>G zVqR>uNQxz7bpdK6t^6BBlGj>&QNb!I)@mhUo#-4_waPV65}6cqhJFXq`1iKydtiE7 z7@@k-7^5vGBjr0)Vhx_>W#Po_!y+g#RzXU+G04Y>LL&kMD?f#hUYmcH1;Xz>lTY)M zw^t?nQVs2mUi{(S?akKe{-*jc4Eil55e$Bbg?(0=U&doU-4{x{8id*@{J#Ile4P*A zG8D8OcGC)Vet^|#vs%xvFk8_gV}wwWi}z2~ySduHv*Q%pU0@N=82_hSw( zps{10Xcs2rNu;Qe`V{H8PDL>i98(E6dXSPVR8Aj8F)m;OI_QSj86dU;B!xiWVSCpJ z8c7oCa^sGt+uXTPnMmj+sB5Bg77pgZByB3Eg?&D%l^QPVnL%@SGvMyW4ZC0pC@9!{ z9_M&7xvbVFGLXu0m^qrspG8cR9K!MLWk7SVJS@cOSqdhk+vHmIC`hVPr&4htr0%X3%|kI@oiICD0aVC~(0sEdJFqPYRe72=KHIkewBJmECudER6SqwQSt zhx}YR*?q3UTjhzFQ{A%MftauFO2%p6mHh0E)#@1#6RScNcT3fxoG>rMj^m+F_UnhF z<8&Sl1aKD~3%ze~<}Gw?~=ajr;bRk`C|UzYU4Hq%Y?8{-mT=y8ml42#YNYWXV)8>>g-MrHroMb z?VLQ7f}GyUuR&12!P(*QNq62{V#O)A?ceMlCnGL-LV}!BgfDW9-iRR@i)+amt4QgVUe3UV zwW$MmYQ8+VRf)` zi3Sc=oueGDQ^C)iEA23SlMtu{(SygzUh{l*&c?6G0$roNwX{iKkXPqdjt49NZ(J&= zoTp0woOAp${AqdcwPU(&^y=Z?tJ`rsNFnkJo~zq2)_oc8d=hpU2M|&cuVKC`N_?B; z?Y2=}AmhhkW=4kWD@RIBjw{D>FCCT>yxYtxN1e;(-F@eKJm|Jtp{(|wTNo`T5?Uv= zM+ZBh{HMrF)z%b@^A7O#L8;u@mz+_jGb_4wv~g|6%*Hi(-q~l_24^n{tD{EIvIxC$ zZ2upf@qC2c_I_i`Rrjc^Ug3oY7RJ@B)fHV7w$BEiUd!MapL$`&Q%2okzc(-YsMvJl zuY??8S2rwKvo&$~)Yj32@t=Ka@#wN7@=O|^|F#((n=`Xo`U+mrJSlI@0%M4@X?8tK z{t6ZYmmCi`zNx1oOSjr_&qQk`9qT~hc|&tF%l1fPoDe)-ZXmOFEC_KY{4xN&S!y{HZet6{z?Hl8|vue5L+G~I@CZLjm-?tDGvnYbTWKt z${Hd;HHZiyIgT@xa*CJbLS)s(pfiBdrU_ZIVUyJ>4Ik=&#J{bH(J7NriaIKV4IHBHda)K z`n~mWy)kN@=L=EimuflEATSUZ&;s-Ejmui+wPxX061aeoC`O=SrkK18utaQgF54gx z6+kmg#yn3k-v+C0N&9ThGhXTufX)1}1?{Rqc5H@1=* zP!7;B0vUJej%BP&#h?J{A0eL+EepVYVuw2zSlj9@BBqI%qj)uk3;6gSnK5xD2(x?p5)J14R_@agKsSrayCb0A8A z=bB`hwXOwZVvQ(xB6pv98|#~@lp}eZ0f&RsCU}2^4wKpd;yVX={$ea7@aWAyYCQnX z$tDVNJfUf#GkWVBi>&gLPn)3RdDtZxLs$FjRi!yk_p;LtdL5@2Nca*T9zZw$(%q%# z!%0y*tipe{d$3vhb(f;(S2O{bPQ4MTFj$wc3NX0*UWa}z)E=0DcH?N)0fH#KYIGd6 zcV>woH;1_`BpKS$B8k{eEG`Y6l=<++POWq{HFm@JEphAEm}`EcfTsviYqX_EVoHA` zkZV*x#N=K`FlF5&T;B~aDRBT%4^oarXNwwvo6Vdb;b<6K^oL;`ht(3@C`1K}gAFMi z_Rrh%W!!Aucyz={ht_;|$OK+L%2-Ct1P^CzdZtJ#?@}+uOC}Sd$P%Vg^E+G9^H;MwdO>T9TB~9Agv2BTVUa3Wa+q6f?HXS1VmnalWWVDxe6{3qK^u`YW7$8FY_{7s6Uad!xhXxUC17* z?x18{Ved6hxvU%l8aAwIzoMd7!C!&VG&BKXK+HW}^<5|$QZ63nH569j2!eq0jJnA! znyv5HnQD7!i|)Zpv5=MC_5a%S$hH4EbI!jJb8p<{D@NT4`Ug|e<4u~#TEm&95~hqH zYL23$EHhDaZ|*$*DV5I9Qh2Rp9+nicL_^g)^ZeaQGcaGVDv6r2T1{{?iwp!YM+d5w zijHCV1Dh{pA=h!=nxjeB)Zu+t=V(^*m-8=vQ|!n&SrS(qpQ37;AScPHV^M??&MJ!% zH6f`bePFHl(fn2pRN(EJLNy6Ypl8bnP8{<7oh@`mmti0O2ZQ!FTbX7B(SUI_6dqJJ^0FDYDvKxo~kU?CU z>wr%=N zs4L$i1y}7uxOo>6mN$=Yu?@Ty-Sb(+y`;m2TlUlDS(hL&A^ z(^y(4kb|XVwj+fGAYw>4%voIR>#6%(9S;~a1<--J0{1yaR8-p05L)W&e+q^ws5D#j zb*8}-`DS$;QmJp4isMWIJKF?QgwbhI%Q53+@D6l$PP03 zaH=P{oPA1ut1L3s;&ZrANaEHnTN__+zMN;>FxgdS_oEB z`emYiS#-N8<*Q^P#pugN*zp{>qp4;(oRguDYG*N9Ub0NvOw?4r9qd{fO9|7TOoTc) z3HAkXMh*=C9U+HS%@}k_8?)bhP@_f;ZK^*yB(5We%7Qx22&axC^qUwp79-d3{7{k* zd~WxFO5RE!NU|ujigOhZZu8&e>$%u)4Cw|$ys1QyOS&>q;Tv(YR6}26l=sx_!5DKmqqL_em*!<%Jg<>?+>SSDC%qeq3c=<|?a) zKg$VC|Bjbnu>mYN|7V>T)8BY5a0a)NfjjIE;ZWoFpV@!+E8>5mi~A@3=h65dXdpM@ zf0`YvApQqa`P%rOdAcam@jtWGb6AA>D*6)`c^9E!N|3NP4`7MNvPDM}m(RtYKsG3z3kSMFHnoc~`?xC_Ge&t*s=jR+ z+^5d_QhiMq$n4$Tthr3DXBBb~QZ2fi|(ITfN3>oZUmNw%N#i%8+ zmVnW)bRTl1#IH_Nl7CjtIR+UxyUs-iFzX`Ov7WL^5K1xLJOJ4ov+uvIX1B50lGcdE zps3MrN};3FWtWGDa?>z#igMHNY2>Q8j6sEHz2P|BZK~H~mG?&92OLTa86{~*rfd4~ zDl^_?eV8V8OI=ib*!GYItD?q=f)$*wxcCMEbbW4?6lef_$x3t#yEzUb})X*wi9HI zI6H7EFf>YCO3j8z%po=S!vwjTs=iVZ_DTA!vvE<-fvko_n3Fg#!|R;yDI)G5q#_xa z)(sP-y>?N%3MnWN2bxMmCEFjhOM)@xxDgk~I>sTdV-OsxP!#AfEg6|s3}*_~sP2`_ zYf@VySyrE#-*xsfbp5`=aed3jFO;Viz5;&@*&7V?nv@W6nB6RVB}8KzA@gA2D?H1E zudj`@zTyz&lF^Gb@0jW$qwKts11GB?!@F8ELdCz*-R%61fmIw_ z0mFro(GG09q!WCsWHiwBmAGC&QTI7gu^WB(95g<>pk#DOPBa()-LPb|)1TPv<&x2^ z=yvre&!v*l%>u>mN+={eq|-~5&!tI>0FkeijE1*h4$f&xjRs)sM#<=G8yL6;vImjX zvtfE~;h@DOqaiKkh-2loB_kRhEg203YJWGTjmUXPe#IrDvDJkW=zI_X{cqrKGhz=q zce)QO8&tHJWY`mkdH=)Ts6$L)w1(S-lF_ne?kyR;7$L{WF1pP+^xEHisrT_&8TQI{ z=*F^b>+;XyI=j^SmA;ED7jm6}*=H-#TxUzhVZC_UCDkt_Rxvw$ZS6gL3D>zmOBSwk z6;;}Eouf5qp{wU}ox5o(gSZe$VKYNU#9vFlD2iJOuCwq+s~vrCorybW-ArG@bp~Q` zKi9cmgx{CzylrQs;h#nu3PZa;NE?Eh!vR0dG)3t{e-UlyR=W6P5$Q+VctXPt{jg=hAer|?XF z5kacLGyB<2;h7troo(khfKj@q!ZUmOC_IyvVN33Z6rO3)r;H0l;j8dWfoVmQENiZ* zEZh{Hxw(#n!V5>27k+4495=@GwLRs-64}l%aHYMi%PFVE?}I$Q&H11&ZY+OS^5Ygd zj%+^3@gA1`m9PAR>gj*~*YLj|JpuCameZm6^HUv2 z0h%RNip}(WhXV<~7MuV{iceN25|>g^6BYk870M>&uz+A!Qz zUhVjFvy%Q($be)B7?9lEr=$`N=iI zIgsqy9bZyk%(dfAoqH;WcO0*y_FPW1oJO()oHJP^zVs;FISvsrYvpl)O#W)daB_N8=a%$_3e@le`76x_tRK)MC;PZEo#f;E!>ep)SfdHgQv9b}RErt3Z^eerE{E}; z+0cg8k;nw|91>6E&}?W!T}r4bD_uq_{zu)oOoonP2k#(5J2wTLcI?-Pd>85zYtp*w z1ZhQvPHypjB^larWFI3#TO)7`RIuS985(~%TywldhUQkd4b2lCETTKnnzEh0P+o@C z1c2dq0bA@Z_!L?L(G9dF3zlLt4c|s<`U1F)*0f|q3Lhl2rd0DfY)p;TRNJ{1pf!MI z?nP@7<;;@;eVE}TfV)10)`W}c6^xu|DkA$EJb4z87&yr_XDzb)yGohgl_$>zYN2#2 zd-5zHbD$ct?8!5jw$BE7_T){vi|-C_JAkPvg-%R0iry4g1NzyXSF?^VdcrQ3m5yqc=EE5em76v zG_9wm=lLI2gIg-pn<6jm4FGAd-|^h-(fqxWA7hB`04oEa=if>MR$#F1?d z736I)x08xCO|FHo1xSb~pkDhB*LS>tTs;fyx14=0)7 z;DrDmj$K+q7`=19bz*!tvTj%V!Yh3JLGc!+$^Og&6rb_oNC!XX!+9{F&A-`)^W=m! zfe+`7gf@SP52qdWc-g~FzB3VgF?iw_S488a*U5?c>b_ayYc5W-R{!0vNP6vZcMm^F zug@d%NYd+S$KX=Z>&0ew4w7Ealy&))Nw3>_Q8uci*AODZr zO~IkYZ8LtRh}*3whHNR|eoxJfsow1>~396yczt} z93e0TF)8F=4t&m0gaB62iWS&a^N~uO%Rb%*(?>02Fy=(eH8n{&_A_U%UA6z&n%SIUs*;)))ly(*d7@gRy!@ zuadHa+Qzc*laHIk+DA8tyn&FMM$`|-^1$#BQv;zkT$RT~%mlhzFuek&ejv7GJv_gs zQdF@mYmr!J7285`7287Z`OdK|>v9;%Lo?G~ksR&(txv_a*m(SrV_Wbn$F?9jno)Ab zSH-q?7>SXo*T%N|IiHw?O+FCYvYECTI9Z4hlpM`Wwu)`R{8Rn~N{*JCC@x3)SaLKw zz4tlA9E|dnu`NKaOETYdPB8~>^FvRJZP}LB#r*>M3~?LY zLUxQuQE25Dv4$~>Tn(+;9_@~i$@FSuG7}{=3Y?cP{gh(_tS54e$PU$x5zB@O-Kk8G z(vA_wLtx$%IYuJ4@dq6vcKLd?|(7kcV0}& zJ2IQ^kDQ}f=lcf~f|(Jtg}ftxY66Ch_Kr+mhMKV7*E<5ycl3^=D4){<-Vv+IJ>(r3 zAI|r0(@US1SFzk=+FUB%|72u(!zowDd`+hF{mVH`?h%nWe9E~;MBLogR_+neoV0ty zj5v0iaxVC=C!AmW!^iUdNA8htneTr(rph_?zW(HW{mJ{9z6-&&rsXsedHP2s%9t1P z!yB2_p*s9of^C#(eYVl8<3BA?#wRkZ%k^zzWYqlMAlTZ|?|eu7xkMRXmTCP#Fd<;r z&NggX*?BrqMz#%oO{Vpl58G@xInADT<5CqAxY5a&5lx33KB{O>I{kR6jTR}!v!Zod_Ijz!q1BnCE`;omf^w_ z3*llE!3T3#3I6m=)>9cPCm@4#=4=yDVs(s{iBDeB8&G-ajo!cHsS3jCxR1%-G-DT z#Zsq81h8-o+=ibz-Ga0A_pgAw^8Sl)s@3wWNCd|cGjm*#dS>-xyX!8M!Eb#fK@>2# zuya@{^aMmmto8t4e=OQ8>k<7W*YG+U(V(O518xY7>Rkus;gsBtYvA$p4 zW_1n4~<_VmjzL_TK% zr)#SS0V|8L{t~UD9*&;0SAKrMH5w#6)o@A0spHZJhdj~MiiQiM&}M%Kgj|zCktj(> zp-q}1q)>^XxBjdn%P_Rg_oGJ{d}R}o@e$1d5W?7kNH~L3&6hZX2(2#mV!59) z$hgl_ID-V|T;mKTKdLN(^7IloXP(Xr@hN#vC5H`hLyQyjk8wjvGOzpLh8S*$MV&%s zMV@@W11XCD=R{8Ezmywd)5*Px8?yiAhZ}M~oHHLT%p;t${dot9OGgrB8Ck8!Y6P7- zIu|Eet7*%?{7?C=QWDxOf}>b*KXq&7$ z>|Iw1#_B|k2D({~5tnh^JIp!kh|ulsZ#+Ca7RsH=z{+Cz6V``mSp@M^Z{rII_VmVCKmF-;B7AeX3$1 zw~JS4B;|Xbr5IPpoU49Jni%D%02gH9T}+9dw$jlT+8VuM#@zk*VKzJL!rgz*2HW0B zJJZB}tlS?f_s7cp*tS_VL>qs5(n4hAW-S{2^O^GS--WdBXjZUffBIKMKs=wc@Ug65 zHj$~da#z=be;H{Z8`)*j!Z%C{R@cKJe`rF^4+s55Iup+W9dj9O1F0nyHE{98QNR1veMF zw*$KE@Sh;n8m*~pEViVW?{&35^MA-YleG4(ow?1YVzCr_+v*-5YAFpXJB%i5~F)Vx(dOc!jeQ= zagk+%4NJ0`BltLK_EZoZC2gDS@CROO{q-Q-G-z!AD7XuCMS9%qhD^ODZ}^8=x05T90O4aXDJe1fTN$A+01YLb(ABO`cZ&{6jc^PEJ;Jg}{wW`S> zZ^(GV&|m{Wl~E{wc_1|-d6Nr-8#BX5EN;Q$n|qwY*htJVHt1}b@8{}=v+qO=x3Dpnw#yz!<<$soL1;nBH-ef14Jo_HJ@6PjRn%?R$5Ae4FKn3j# zaLo_1FRv7yVDMB$6mZc{?!?AS6$vOt9(3G@w#lflo z$xCNGvG=Kph1{;>qlx|^6~IC9{<8l<72vSJj>mR6-f3c9J*)y)zxhaEFq?&W6^2B$ z6q5A|!;<4Pcg!>1rJURGCc3IJUg^drTawm_);0^{=>`uuTP&gb3qZ~*RYkH@G-XX=3nTv>mZtvnSgk#{C(?R`6wLU;cHJ-~{Ty+wL} zbF)|auF?Z!1wapIrW-TOwbBF3?9DE<1jlw$COs@RV-T|*(0`-!0P*h`?-T0*=E}dI z2UK%=vK~OJV(0;eLHv9@px?XD1IRwz%#hKgXkm|{P>+3pibFVP^o7Q=crS7WY9X5x zdO)z@tG`c}T?0KpmYLE6tUos3DyRbVGUPbmzONq8wzqs7&2Q?fE7ocY38Nvkl$ojI ztFzaJk||$ZbDkv*W#N(v?3Ghl*8?g0>R4K4J5pSXg{Z>H zSLa+?%ru6t4wty{)fL%tFZI=}(br>N9hTosUmd|YPxIAXgOr~M)GhfX46?Ssw@3=fxxCi|@MaJfv;6g=f+ zBjwEEgvLTmgb3+MX45={R*{Db#oyuKT8!xIhO~nP{tkJ#;DJycF8f2S)&&D1o7SB* z+|Bfa8Bi$XEsEB}D9>aE_2Cn0-OfYygmlKZ9#~Ps;jK2^{upRaI>)i_@|>>1B90fV zR-sebviiWS@>%Geyt666amhimS2x-Z&%m|-l>7-G`3WHT2_X3iATeM3O9My_Pdz_h z+)obFvnUrM`pJQ+2kT#%1GS~?Egco5XONafc7w5GE0qINRE#CkUx}VHJCW#b3L694 z!7}eTA-B~V2hOGyD46PqhD=>$C|Atfr1h$lxk-3KEM>-0rZOn|idNFkF_zfGh@>V5 zs*CJk*;Fpd&Uf49lFG%h)mVtT0%eoNBv$}ryhK|50JZ7D-GAQ(o9o}>sr>60OO`V_ z{4kdIV~;SFOmlx2OW)p8*>XF-zWjO4KlwH8PI^Lq4YQVRCq0?{v(6#-Xwnn%YfPpw zIxF#JpZ!-RJ!vJK+F7^_w(o+V{Z6D9vvVt;nA^v zD?B<>u>_A!LSGe+F1sJj)@{J-e#N89u7yDv(9@2cOuxC_8}sO9GgT0MhDXM(x6hozwFm?oC z@~}tmStZMb^JeVQ=0CDf`f#*a(h@+ESbZ(T6#-0WGG#B>zfZ{!s`)5?QyM32Bbdnc zlsifqzSUJL7L=eZ_+kPXaBmnbK%4x{>b6!J{{73>qRfsS!G46*bwCyu(d(pdDQO8K zY9b`CXn&P}a{R^Saxpgy!QS}h2Icf%*DUCFE;HgB9_+KvVp9DkVk#AS%D}J;)?%?} zR)FzcoQ~2!J{>nB`t(ti)7yN!0S>C|B4q%dmtBZ6`iL;h-ZK>^!sVGgUlvk8!q>09S05gf~m5u%dwlY=60MQrcy)7Rx5cZuR~C#VWZ}mSM_26)Z3ImqC23 z0(suBVt+rr(SZ?be|1!Se)ktIz93Hptca@F_x|26#YhgZUi?tYQdD+Y;DdPNC@(kn4>P@s^Mh=x;O5s$sNGrX`ARw&t=3N4%SMCN+pQF=KZg0tJHcf7j zM3}**1Eey!FD6*A)pX{tf>QgE(?OC8 zHvh$jaz3K;7L$~LB-E;JHwG1*TO>uPiE2dYfhPbFMF?^e#rq&;gX*?7s_A z5-YtnIhLQ%dzId4Ike-%0)DE}+kJW<9g?v6;>s+fU!nqkB&74XIzOG}%u4nD?9%){ zjy~qvBroaVyg!1ETYcOG*PN~y3U78K!RX#~F#3+HOnPG^lV{(9_uV;MOX)m-lGiD9+i73x^2Mgk(7j>w$9_1{8}_4TA!JpCVsS>=iu-LJRh@QrA576iWr9dj zl9mjVpkJZLsn6T~$2)^Lasd*ULu#$q0!lU)EtBRomtVH2YfSVLxyfabEXF+51`Yt4 zt}^7JXKHpKw!A+5AMzoR1Pfa_OOjOe7nvC718t=7t7dP*PuVpK|e9~Sdnck%rs%9h=i>r5$0xpwhvGBT&IC!a}o?PupX)a@V$0V0 z=TIpTIgH@!Td{xuJ9#JTR@FcRrC&+=ENyljuxOU=vUD<69`o5K0W(c{wbmdLewN9WYVE}G~EO-|{Jjss^iHgZ9WUWmwP)?pXB)mfCA7V#-WLQ!{?emsgoEGlwK zcuq$NBv1b@l4oQ?M{bRd)2Wx3QBP?wKii6!Op z2p+G*!(dLIkItoLR@ic2j?b>EhNoOeW5pd29O{TmlcmUT6*dNbNCdvs1|O=ZEs9+% zI0|jpUBLG|KfGAl9bPzcb@^tGqCsVepSe_n9Q(MmqH}*##RiQ%iZ`kfk+RsBU6qYi z%Q0$jOC|oW3;SW3{K#eD;3;zfSNP7rAy7Keh9x7Y7`I(Er~;r|R? z8H~6QDZ*x{7*xi675ZkVp!lRpVj<1s1RS#kQCs%Vx+qd{hN7G}C&Y zM)UJ0PVL9cOW;53G6nw;KdjrMxi}Hk(;-t9#dG%W;fh=OlEoFb&^p3>*7`DP6fi$G zCt}$$XZ|B)>3U+Xd>g4JNGgvTs+Z}4i?8)~7CE|k40oYr14I6y8ng#kH z>&_o!@4vV%v6L7MLRGmKk6h4G^NohPTmIsc!qRHgLBa0(*#H+Ta@CHFlYb`kI@umy zf}r~2vKW4=G$w13!D&{g-1J>UwPi`~!F91q!w5VVaHv+2%;W4+!?0-cIM7HWFA%i_ z8|qDIN>>9HK$JCb0agQ7L1ef9vTEAuMC9V9OSB~;eUGN;{li}DlBc(v&)GoOi(PW< zC#Ujavz)!v{GM;@#V+|UjYXX8ui!&@YAuW+=0i$qo4SK90`Q?Mty!6D)wh}WQ1HepK9nGR;6ur?;6uSz&U~oFNKrwF z`B0O8_SJl-)?r7cZi^6R1d*TG=0s6~76u|#D1=8cA4;U)L)pA5EK+U5zIR<{GpCEu&1_4yx=9lrI%txOT1R%=c-x>rUe4d{m zfWI~fpwz=@H;Zom3O8NDNiEJsqc6!SGE(=ODX>+G0NEvR)A4n@=1R)jFLi$?#3t~x{6Vz@4CORcNK(%2%mLxUlb5W8b;V2R$PA-=iJ+R$Hk)A z%y1F-#6&Bf$hf&G=_ISH6z($buadSg8JKP$0XtU%W=a-qL9sMLcVN;E|NVs_MJs*h_O!`w%K5M(G4%yLP?BxD(k zYI2%D!aZxREWVf@)}G3IKKsgRv?r(&q42{BBj=2pql%g{U5U*<9tw#I%qoNzK2u#? z%6T=;uNv^K9)-eB4!Em@z`{=sc&V3#&m8bIbt3Ug20S#`nUlA8;pak_w&1SCY>~r7a_;$JzQYjLcYsG#Z^z&UhAvBM#peOXCq5nU%I{>A!!C?24)M zHMrrXhOfCd+&}i)`NVisUz-Ax$d^8-ZYXP%{8Ic}#4Z=&ph!ePtPD){2Zc&1VVPov z3L%tP%R;>urA3&e!f2JaQ)T)}P;7tyYzU$9MU7WW!ZtBommbdAR^4k(N=)T2lIc+t z83d({l+25vTO5idgF}w#Vt&?OJ1;$SD^)kDVlX$vGz%Ib8Xfm>>1vo=03wl7Yb7wB zH9EokvzExb@Po4aZf@MGF<-P1y(v$K50wd&yqr_h4c5$f8?Z(WXOXP^!Q?f0pUt$u znh;5e9!%!Jj0E12zK??kB+vwirHNvpw3*kUSO}Gn2&|>J2jd7V^5Qf%Po$SjSeqnU zXDyQnAc>f2%BA8S6vJ%k`#kqo%>>;Efnz^MNFp3{DPp2#YhB70=P34v(UNQ> zQUYf`J$WrwMBJ<Oa+K%X{RWri^4<3f?YZyrExB}-(^Iv_pSZt^1HK(L<(U?;ZC!JJ44pD@eeZcpSKOcE+d$l(4NdwR;{HGaGeGBSV`5R@u}7Wv(VZ zj4he_Y?LQLtm-YL7t^47t;{K+?T04$NdmRB_xh7SP@BV^N_$LSeWm*qvUOI9H zUj*>MUmpkw5@pY0AY23YODNQ+U%M#NAnS5P_{`z1t&>fEJO&qq&m8c1kwA-Wd0Wnw z(M##EAj0xd2Q|xvLNh(qF*{;rLJ(O1sqY5(@k7B}Bw3%YU>|&eHW{L@;XR|eGR7{uw6pj6tt^KEB!p@?&gcoZk zVmp3ZJ5kuzxifUujD%Eja#<1bec_M^DmaOZvk|Jn#5Tl)^%0|(Fz@H!ikK7=R-GsS z=)vJ+QL%=#=BvRyxtLo((a<&{8ca-B|6#Gu29)99KhZSZsp>3;2JaW;zl!So0dRdi z-{^Tdf#rw^TMzTN=ShS7o#n@&L`)doqvYQ$CTy+p?tiD!D%zChSiry-EMm@X^9B*+|Yx zZ_>gK$AsA`fse$5fx&enCalV$x)u|b?Y3M@VMlFktRKD^DI$*84==BKR{mXR&>!=|!>#(~^6w`3p=fFdleBz6W1&y>hhfI7 z7v$efM*6OVvt2Ochet@B^21v*g6oCB4<8sCY^c~o3(5~48aYqRzsn*4qlyfH^26^9 zyrxrP&zStXc9C=b&wpe7U1N7>^JFph8~fplmhjAc%ly0fm`73+*?^wX^$Hs>B_j=NKxn=9+kmjTUTOovUb$fd z_OZHd13EPGi)=uASJ{BJCyh*}eF7ULg!yV4u&quM+klImrO*a+)}FHCUS|U$pZC|= zfY>w22DH#g5D6c6TLw=4^b{M=9-;D4V*{>w7|E~nxD9B%UC*`wQ_{bG+y>mXw`tuW z+J^yl?*Je!f(F=^0Cv9suumSgR{(q0kqPp?sX31mkt7*lNA}^G@imlDVSqh(*!{k0 z6iImSkDG(eT74i8-iKTHK=@`7!Z092`#HIoi69n@>_{8ELC4A*ksfCQ;4~NdAYbGQ zN1A#y5WX10Xov&hZGnGjl@5d#+h{Wenzvjz5S|kgIRp3JKzK2ErH^9ravzaIsOh1g zK={=}xDOP{wYmT(3WS#|MxP6WZ)U0dhD-&*FO!vt1MdDn_`GOgMW!Z^NN79DQ^a*8}0( zY$dhhF#G8_#DVZ_(?dN0C2M}3J`o7N3ipov!Aeek-@}Y{%;2(|{JzJ^A*Z(GD{_Jr z;`ZEm`R2LDWxs@=@e}rA2fQ4%`Z?9~i@+DrlJ5my#7_8Q;0sBFy}cPMNk4c6d|B<_ zTmoOJpd~K@UpSBXQ@|IH>K21T8SsTl-#r6-0SIzG_%d6h1sQd}8hq)Z4}dQ~T3!Xd zlw?G&0ACin4g&Jppd&i&2VeT&e*^FZVCN^m7uo#)Ukt=KP~z>Y;EN^ZUI1TYlR)q4 zQye5Lz8`#%G`sdlzXiU?N&Y(UrA&u`J1T0^6LpY(PA2?P4{v<|KcPsQm*t93=~$>k z9tb}Z2=6o4ysKz7j(J}$3!gdM^S1Fn*>uD)O62aa0O~mjf{@j@mXO zQi1Sv0W9{}d$bcgu8N~Biy0jq2w%Zro9r)xN~kIje)hel45UcwcB42d1;PtND-$m% zPS#+BKuX0?DG+`(-_;B{3WT3b=a|Q5b*kY)anxd;RjIS&*b$bF8?x1 z=Ocmeb1#prICy2t&hOd2aUlGPX8u)5Z|cwfx#FmKGScP~Lbfnr$%~7l z@{uAB(qXp0jZVu)m0rDC=`oQBguhKmdLSD*Mv{pjJYh($R8VYSeHD!P(E0C z_z?C#odCAUHUolAzp>i70zL8a6A# zT;`U3+85#0j|`mf8+mnurr$Z?Rq9H-W|tAYm!z{-hnc9t)J%K5GkcslkO03#(?5Yp5hFNsv`Popxu>M}~Rl|FOV&-Ja8bKQ`iU2lZ{ z$X(x-w{?2TgvYy{x_4t4KxKkVpxdJifZWP!Yu|(F65q|xjW27Uw!F<{%#Vaa%wuPs zL%1=I72;JwFYr)nVu`bdi#;M5;P}E2t_ft)LF4PRYkcNsY;q#76avG9w`VJ z+i5opHlHW;*kc(#+BzG`;E4>aA)|!TOiL&+a(-lEbY9H)x>*yGqI|1OE~;P+#7~X-~vI2&HnAy#J!KmHg9${ADCY0PaGZkw}S=lP>YiyH@vo&KSpa(3^ew zVQpnAy*%iTVfa;s;gL~)I#-?w)6kINLbxbanna|rlT=SeyCQw&AWbl)nq;8S(BqUc+kb+g-J+pW79z9FgL6d-Ot*b(%Pm!NgF4`!R4j zKp*8h`oLU8nh;GL($%v%HnMRxD71-qMEzRGgoreefv7`gaz--C%Z%~EHYPQ#1mEcNe*^lpYi6Y@Ecdensi4L-3!OO;0J(< ziK|zvh}Rd>z4kf9aWN74oaqEX%1(FK6P>^=ihIw?de}YZOzmH3s;*SVQy5aQOBM^~ zf>>Ln9)m{%-DH@Zq{XLM7xgBLrur=?!3{m*9gk#N1}Kz+$qbvtjfI`yRnTBfYg70l8x2L6lxO`)E_CWRI?h8dUyhFl$0WqAO|~x znVlo$_?gA*6wTZwK4y*8|BTW)Nc2`Q=O`P0qTu1S+NkRw2K(ni)+bHw0$6? z>4I>jc#{1J*ywz!NjGr6No((oEAR<_I;FqJ6a|Evkp>8fj~S$xtV{u-^wUgVnk+1= z#~k>RHzqb0XRWc+UHIu;S;44$5z`{{kMzTmnHK#LXQoBP?>@t{*qm2ZK>&Y7xQJ=7ioZaZ7L!Hs2M!}=ro}!3#I%^;)?ucFcol?c(ZnYtOp7kkOp7jMriJWt zxrWJKVVD+0#KN?Y#x3_kD+x$aO{8vyEr>RJ?kyjB8rgB}Z zuGww6Dt$8H;5K?TRb*pf^lYlAcg*M+%NZr(_k3gYY^ui#W81d$8h>AvOIiGV@Q*8h zpEcPz<{EWnHX}Ow`xYa;%ijkrM0|Tm?0fk8W~&P9{ywpu;qRLSFog9pSt7~#@u^$J z;(o&4M={Vh{C%>|;P10p8-Vv3f1gF(6zaC<2{QgZV0!TPSqhV1 z6nFajro-94$LalJ{e7)BOZod+vcG)Th(DHPn-3SxLHTTl={;XV4|{INa&h6xB)r)X z0xsHWzoYzjqOy4z@qqpNKCYGIyqvpG4k~-Oi`Ya0`@ZBMNJehSD7e3CGU5Jz_woWZ8|8c>zO3;hl;-Gx@5EQp%n0W zQTTh(l9PI3%QsMo2jm?$o^jS|xaeDlB~kQk(%l*U6C^8zio~hN1Ikz6FoX+|6ORk$ zSyldCj1<5FCmt8kmsI{AMm(vzSLt z7i8T`gU;z@3(&A=vcFQM|3@o-XSOSgY2Y8M`eqsU6XkwViN{4+%-&at$Az5o`O4qA z*3;F>-;&ts-pb!%{eHgkcmK`oPcKe9-XBEbaU&VNedX`@(6M&Pyf&R`tUMzL+rKr{ z^9_rsmCkCUq5iGp=`b{B=HQ{72McsBfOAoPBsQFru^#0I^LyGYtV?qF?)!!Ie7rY1 zCR1&1AXlwk^5LjEx8jmqwR)L5_4cw{^(Jc1oeJWz1#SGSg6NhGmB-4(%Q}GOg8xLK z%>+55Ix5>Y0~JKs{CSl6K}Ln+C1dK;j}@DdP?0OhA?;-p5Fw{q-CX+xT;)(47xgHT zz=peN!f|C7nV8W>CcXb+&5(`nY>h1v!SpVx>m5t0JS+7k7OQIV1aSaXx4JzmZS)BR z&-@viLXVT5vW+L`_}rX`I#OJv4z}Ge2sRtyz`bKW= z-a<Hxd%#)4yi26;{_7X24JmU zHOt?qPwQELgK(CNg8C`{wh&}yh&mWCvQGZ>Zam0hu)mI!cZ=UU&z>;OAeM6aHzM0r zw7xF`{@9~b)6HZB2NXC=mBYafhIhlT9}jE~19`*BcjwAJhMDXw_4IY`4gg zZJBbRxMfD>JflGeJ)4+ik%b|uDJ*>|K%KVLHUy&iplTpqT@(Hh>=%SV#$&Bm5fN$R zML;NRE^0$5i^0Eu*Bo`KdK@ro&H&|+_;vVOFQSK(slt8Z@0bW<1hDd$J?%9ke#xnN z5#qKPTtDS00s=@=AptG|ayCLmCJ&@9o($ov7LCIuZJ8cPB=r{jzEYkUy~t27t!aW3 zfm8X2-2HpfNT}^+fP!`1%2Gni79@sp5^DrNGz%Xzr9m(n^wT&Q7t{hNFjXaAjXTN$ z8$)G>1|?R$ahBERhO6ABL9d=_N1!KaEu%{b*G=5u<8phup^GKp7_BEFI={>&T> zp7L}tI<-KBH0bHdAQ)M;J2(+w@fmjC1{v?v$)p1Rnf};P6DNV_I{HF&ZqWqM{KSCv zCe;_3DJ@tN3u!#61g=t&|@=`d5_lDoJo%u?3H?{=-V*&_u zBnTB!vl67h6*XxmjVX1tNk7uNbSsC-lqA^=6HRWVdwqKg3C)N84BWV%JbCW(Kp#Vr zf?US`MTp^Ff4Ljv$U1S=1U#?p*)P{&rHz>}C1TWIb@@rUJ5v7@BiNF{u}GRsC(f2& zYnNB-kgL>C$glL`Zj%lYPV5HY-af&{O^~{0{Hsi0s}15QhertY@VrJ5@KpYbXc&o2 zm6#ksF#wPEM?1&OBq`#W!{PbU$iQJ3|5ZJVTP_-xX0q{qp{G?tcpdw$4hoJA$4f>{ zyPQggLgJbBfs(PADK=Ps9GsaHZ|+c3hm=ZSu%vSHWDqK7zwlhQ&j}TI=0d7vSwXo2 zes2Z@A{gVP(h_Gmk?tuDB;tp7GbWo^%?;5Kz>7SbYeHB84f{5P5LQqD(hB@1f^&bh zWicMHY{+@4XtH>8{*xntb^fxr+OeXpn?-{f;vdCZ;)tg*GtD^)b-xI^;nhEtKiQkQ zG`g+65AGZs*vLVRF+&&Xe16nXtwoj(ldm49$!XN=IWeC9mZai&Tz7c8$IS0{d83`G zwE*n@eQb|@HWr5Lt-ZWzRf@=d{d?h{yr~}-LBeUR=@{uF*!9?q1F+R{<(=I;@DhGM z+x5UvMnCz&_A z5PydQJl&(|JP(}yq2~3ItM^4-KK30%u+IRj-d|`~tHBYT3lE_KI=G$CFDXo15sL0= zci8(CPdwhvBPr^;oB4&Kxqb6s3XcrGd&IOI`k9pbfUFmbJZ}l$6fb3g_5*afj#F%= z!!~B-`2Opbx4X?_G@tlCSeSQCX2ZjsN2g`Tl1DKu{{@~}?%=VeWmCoBWZoV>N*sok zT4#NL=0t%Jg|apOZ-UWV<_fsM&|2PQd~L!ck2Y-yv<=SNWB7c3j9@>OW3W5*uOB3=Da|N? z)LmA_g`crE{LdTeOK&y_ag`~Knc@ANVWX+lXybOnqM=3sI?ysQZL~p80Y^R^g|$46 zLi29DHge;5WC6um6E|3*q;wRV?l2a;GNGfUWr+V?>x*Ru+=gCEepwTEmk-jvMm)pf zb26W}Itf)M+IIwc>I!5~i6aT`OB39GmF_mf{#dCT(-)v3dlF*0aE~i41}(a=(}$SG z_<|%w;U>f#-Oo*1fGe4rBeLi4#} zfUH(_fso>9D3lS~ThhDjO-;GT z&4-^=B|kK~4pAae6udYd7LCKKh_s$5w!2gwJa*> zgVP$72^tSehGX}mcH=E=S049HIwearqFAZq#V+G-gogrLT0;J*G#$8#h=bM|%k-LU zKs@y76wz{2+?Kn}WXXIZja~NRtA$-HEXaM$xA{x7 z-`2*SVG>LPol{ez=*-m_&lj%4>eENmkMM;K{;~o=1b3$y3Pqt4@xyCSNo)rV$1ZMCV9TrdP$Ygtk zQl6{KMn294KF}*kPZ`30|5u7hMXwOhUMfIpw>~9`6%8sAKL44oT<}e%37Y~7{F@zJ zp_JIIw79via390X`7@yJdjA4H;?TST`N|7N2W6~bGJa{F{?WusN$LW3yAogO0>0=e zWIo-SqRP4MOC@m`-J{{%>_=X63O_NtzMuEOA7LS8>p&OZ;5{X%c#yETkM~+g`lfY+ zAIISR(Bo4sC>8AGH6<|hJL|<2!2oOXfS<7V_XkN2$>?>62QMVekDq=o5n2W><7ORt zR&sMk9-PYegSP`m&-?A<7@NGXd-%!XV~^Au(}BgX9;=lqzO;-00xpP;JoU|Ro5qj; z_ZQArMGUIX1ln1k&`EO4fu56s)Taw{uzvh+YZ_NND(2ovw_#!buu#kQdWHV}?xhpP z6~-B|6|>NI9z48+4e)SCf3PLo&R_E_B$Ny7&kW<)IvFw^Dxlh1?e!4hXHCW=z`_$z z;#Cc3<2Do$Dk;7f9c7vFbQbR=6-%7d67ik^Hi6#mN+v#|^eD@HiD)mKT3FX|4$@{V z<_QCxl(Ixvc$;QeX(OYnty^ZQkSXwR6U(d5Y+^fOw+TfS!@t|jzv4XbTSxp#8#czx zIWNtRi74_PF3Ty0q^6U%Xcopk@ElSXmFRBYXg$)%%2@bQ!MYF%&mWQOW z*={B+NGXHWr*UbEVfZq zt_Z$ZZh@$*iFhmyW3qsUr!N&X%cVPF6)iZ9Vcqv+HgonTjpDs8PMODlEa0=_BG?Hwq@v)T_fd?Klwoo3md#xp#pPFF{Rf~T^vbgc&@ zT14>7v8vzOzxKY3f2t|{wV_n{d0F{^_s>|Y|IZl3!O`AW-|GKbq_F*eTcoftG5x<5 zDPEHChpqL8d~$tH$a&BZ{seB3I$ywv5-++U-f`C-^y}dL%2u~)yhKdY7O2LOT!IJ; ztGUI=4(qV2Mau1VnJxph)fbDumL?Ci6A#}$s>wbSZfVXT+)BLTcic2TH(x!6TbVCE z+^gh~9mbnKa!qo+TKs@L1v$4pKMxl^U++CV^VU3{4(Ic9xIY{GB1QwXJzncOEL9&K z$4;A5A3vCMp8=oadx$?zIoCeVF&ODIZTyEh_Bzf_41y1KnG4@t$xR<849N}bKRrLl zpVV7(^c{AaU>AwN9+V6W(K&1?i2Tjg_E=5w(s=-A!Ve;KS*U2R{*=y-$Xe`!*-x+Kh(Z2WvU zss?vxPz;#Pv6b7gN13>ejA5BRP#w^%wQSHgto7JhFHE2pFNFrP#d*vTAV`6=9;M!TQ&sR>)H3{e{q8%;x7!N>eNJVf;Y@zGaHuD=13$C`F3NSd}i>444xcl+qu6S)?vWgI(^!^+&V; z#qEzm+UxOZuWP+Dc!Wrnz7>oP_K1bYxNKrVk6I!QHgX{=VSP!EB@myAo@-lMEHPCX zBt~TRr=Et!V?k%tNWrVk_ENrNG&u0Hh&?tOwI~^I{lfkDkd80uNd4M(?6&RdEDg2w z0BmP#9lY&mgXO4daWn*)+6#$Usepbq7=H%lNCi2U%5tSBIjr_q(3ofBb!GOU>h51iw8K8-x!@ zsCq}+LMUzFk_D#Q<=8N-bsz)QV(pHehOF=d+Q`?)>bK`9G|bei>Hu<$Fw4vFTI}^k z_i%0u_FPq(A zCNDR;@|#7!w^b>T7U}jzLj>{AJtGrQuB}R)d&#qvPpg~CN^^0=)`{%~B^)LT7)|*U zgvNVq1}*vAfK_~y;KN1TubWwaP{~W>$$L%*)RvW((R!dx(Po&{5uxUyl!YH>7psXn z81t8zS#QyaoH}Ep>^EN`Ih;CMy(qG{Fy{Z8)56pzIWVIOtOr(RVNc_vC~Q?`aap4) zG`p^sdE|LVpDr27r!O?K=FTzg=!roCqrqb&r%2DpgxDJ(I3F3=Vxy-KA_=KfPFpOo zx_0}i_y~bpSYUIxL<(g?v{Hz?5)NoLaj=1JwRVtu?&r3&Hf7_ra`1@xqRZF-1*P=Y zx3qT2EDbI8Y+z<{VH$v;QEdhXYhRIk>(sd5jDsV!$ndb&86aQVT+eGNS*5( zI*#_oHI1}J*IwyfV=ch;5XIc8jnH?Lvp-WQ=-_?05_{2dxu~!L;>3ykLYGwOE&S@m z+`E(+T07x12@C^gl%NLnAxJ`apa_nDCZ{Rn&zy18*P#pbXHF)^FZQX||B!;LzU>GhWQ8!_`UT+7+BFxkpp4+V zAH!=lmVK^iQOrUt8%Bh^TA6;Aibuk9@;$7ufp{I;7&smOX@rtOFaz^CjsWeHfzlDn zc~gBB&v|3}e9kL!Jcd7p9dxQU{l45L$f$`LGMxEb(t0&F{oVw7wwnH28*OIZq0`YU zI-k_dkj{BSnk{1XX{JY+9O*LsPG1-N@h1`5wOM=)`39kDhm919Hm*Yg>Gv{1a!%6>Um-Cmt;0wFg|uBZ(N z0qZyd(TO{0uPkhC)ErHoXIdgEWR{eIOlLzSH|W)_^9Xk- z1E4POWirXrgEoQ$nAp<O)u-48S4beKj;!Yrou)YF}>u$j?=Ux8bX1Q_?GsQnMl5NrrK*5 zE8eDOYzuE-okkqOl9Je^$DRg!F>1M-w(q}%u`LvhWO;*h~Ovv8p%3&O@)f5s{sd|b&Amg ztVEY#1JDOtKl?LGlm-?EYQ`_F4q#}Md96L=fAKaNX>>kTk%>Wd;iE9F;qxg(!>aCU z1&vAbTL!qtN7L&mX;BN{j7*KG4`{+1l<}8!HLZ)HBO0_e?1$iD#|sNhPx|7TlVkbkaJjwAF<%VJQO$wetfST3HN}%K1-xF(qv9!z^38JLkJ!55oqA0h`D)6mj9oNLu@!mK8*jgEgE#{Gnxiyn(m@%j}6pa{sIl2rTuuyhZ{FgeRmZP);cncUlQeK^A3V_hhD^ zX-k50(gD!8!+L^pmN^L*%bNUFmGzk@w$~y)B)`j)r7#0u?`GsFMlM7`NRXqkwR{T) z$jFYA&qyEuu%v>GoS1av16M7xfmb%1b9;q%E*z@eA~oAmnGqzormPy9!8{=!gww{O zceI>*R*uEB&Q0*8Fa|g$)_iW;(kb>1{E+c{qiC}rVPi^R*%D}>qT~=yo!5CQ1vyPC z*9}Q!dI(CQnHsGPim-$VuQCgKdnwj2B@(|@6Ji4l23bZ7QqN7=V?vIHw#^6){Xqd3 zC|u5X(tOJUJzT?9atx2^Z%PX9bC$j&^`N!kBaUpG6cH=kIALjDD6Md=E_;pSfbw;i zLQkAi2A&QYFOCZMHjH9DsUbF)S)WTDea+Rl^+G_RG{j%D6*N6AjdY&>z(0XP=0P@K z4nUg@TJU120_>1skCX_!%*n7$K=I2VF#~ns2FXht^G-jbMA4ppF-9Gj8Thu{1`Q8y zRtwW%Y6VpM+Fy7uLJ^DF3s53t%edG!$pzLzc~HF;6P0wx8gJbEtHHZ!0yr7uc4i-> zJuU$Z;Ibbf0G$&`VQ6YCOinm5f6>(LdDctu+~cDOwp`cYJ6~ow&4<#@t>FTCmfv0- z{RHe-R9pJkenTick4B`Z7;%MN^T_^~WG#AsKryo|<#$^U66t<()IC;xZLF)l{J4eO zQW)H;6$L9#3pMV1hT}60XG5zjGHqp0cuNZ)UH!eWJPp?AcAuMHw?w27j(ZklMAsBz zgcP z4Tuj437xtGDM$wTfUEqV{lDDpJhJjk)vO!n(=2mD_Dbc8xE+&gVf*RN2K=__3*J+{ z4m2dX`n^kCGWM%(Z>2gX?@(D(h&08QM7}VBlrS)uL`m62&}ttJRAfAc*$)PVo>H)| zRN`&s260Y`d@tp+iOA$?ZXAK<-4sB)b~D!ebp#0qJAp7ltH*o0v#s%5aKUu2FcN;M zY4pkCK_Gez%OrRn$^evYh(HvQLSXral7SMNXxzhnm>m{jwqk9oZAFc<&rhrOx4EJ@ za{1Ccrr#3=^w?WbWBhmBUTyr~@bV)^^bVDW9|Lt#GKDzQYyP&Czjnn&I2CN*ww3FT z>j85ds>3HK1yQ&a&QmK~s`Vx}PL-cM74t?O?p{@fDqF}A5f1M58a8pYY56$R7cC6( zH{2YmbPKMKWRJD=X%}Ok)AWv&9HmSX27B!89n3aVtz z+rlLY56~{6UMO@G<~ZUILHveTTfLlG9>xh7l?wJ{49&$fg(USM3&-Gmjalaw>DlfD zQf+0g<(MY^-5$AD)5}yO<*^MCEKMBJJJ|(&OK*Ala$G0u+*wG@cYwc^^AY4;1&q^s zbwH6dGK%-Br9VBi`}jU$zj@4qPI9=~v;(yIQJ?wGdED;sYuiQ%(l&YE%F_xkI^XEa zW2bzLn5kYtryNlo{H22=&9q*HAZHFjmU5)@7sr*7Ka1CNK{kRZ0-fT)QgA5-oig%) z8;Q0S1f~gY%ms|ud&Y_!!Z_Vt+Ky-pgeiJo;SjyGWX?)!MQ>rOfXIGL!s*)}%NcOW zATJ?ub+p0g!=4_u)oPIUwoew8Jq{IB(Mc`ZfS_LLux8e11c`gZ5VB)*U`s99{l-d;ieczSBnRbgGd!=_1PFr&lCM>ZDR6poWeEqEre- zw-m)aD5fjXyW6CuTyx4=r{|gJ|HOjz9I=f_Nny_4SQALdNU+R>m}j#aAG5Mh`T}eK%yfn?P#K=VNT3=m z2Vf9DvoX=&;owA+GQxb~A&-JVa<#o7Tnn?IQTM&LVyRH)Bj_a~J^y@DQ4<$C2mHjE zBRc=Ar2AmzC4)&8+sGTjCtp+w!f&>-hxjT;d)+_uvuS}}(TqI+FCfCg73YsHEjCV6 zR~6kvN#@-2JZ7gpY2#Ptnchjq#1vje@^{D6sAei<8`N z`NxO?V9FSHGv~_vjRk9jE&UUcR$u~FPZ)_U^zI|21QJV2Gwf1E77>y`F!e{^pyiZ( z?;%Z(a3a4%+FMGiud=pw%$0a)O>jwO{7$S8`-p2Kf{}4vS}X!ovW~JPY&CNz11zu_ zFb%;HdWyQmo!PoMxbP?crM!Gkz#uD{ZP2fh|0-$u5vUzJMuV8JGXQj5Z&Ef8SVaMN zJZR&AtlayrCJB*_{g@@<5TxnO*1giFCJ7s!LkNs zH6^vM4DDwb6mWDdSY}%ADIzLP4-;t;pC~$2HG^PeW{#6lsAF@|b7hfs6V!UxG`gkJ7fmXbCJ^RY>DC z7oM(t>n;4b%+Ce?*3V`q5?bdqIc67IyAPB55Jcb{wRM)^3#(X-6>nc1CcZQ)p;3Vg>-;&s;=rY@*(2G+eisMbee^6SJVqC-c=uO&Cm?oLK=Lg~-5mEt zPQ099PL?TSi#CH$Oi~^4*+%-Z6DZQ+gT)8o!YsM^PKcqYYEIQvH+?E zxnav^Iwn;F>@FlmyEPrd$90*&%LpHZe~;5*<8i$HPT-B~uQc8DH+}%~6q$McYt5M3N<)Y1*zaen_Ct ztpb_2gT4yg=xrP>4$wpSaSK6(6}wPe{FNcij?1XoP>saXJ=PXGSYj|MUO2vCnu(#V z5Hh@Fs;HCrp?p+1){v5ehjWJprltUH3|d}$gFe>iH@UUg*OLZSWZP(XAYSOqDo2SS zq|)sUG|_TglWd?uwnNP+GR%u8B}rwbDib9MKsNAW1I{+S(3!}Z{HL&2sP{fCKxvcv zKeB*MGD+DfIn%fVSTdusA6S?nIR$$)VvDF_VCC8}IjasG-yFSAKV_1MlkC#g=}K>w zl=<4mFuBh@EjXcNth{T3IN0l69*aFLJp?FhNg6M39!@y^ta09LQpmCWERx5Rk8MiG zRx93LW*!J}vy+1J3KG6b6!$#Hp)>cLidtf+^1i#0x%^D&J^GUvi1i~6Tjig@{dax@ z!+*4@O!11%xWYV3{~$LIZFA!1C@QiwqavGo%M1?{gA(_ zPn)H3C1?0Hh);c6S&<5(v1vj43Br?k7W#JI5L`ph?&AUI&{Du`Z`RsJVBFL`LmR$3 zT}KCdjWjSXSyr4g3E_X?0%z)!?*vx!@T8fS{*dmpb^^HwRJvGPfX7bVS4!y5Ay8P7 zS6^onJrhu+ z^V)|SNxc5a#8V)skZUCs_roaKP@4DIJc~SG$uzljBq<)io|3~0gXCM^y$ydXpLbSw zMqz!GSS`rSM4vUDkdqkoPlBWp5o*IYd>iw8Z!v=xQ-U@lEQ$F0Zp)6q@gOkR(@ih@wYNw z`yflTc(Y#tzu0_1VJ=EW1f~MA%d41s#Bsz`YGnYL9B^x1^VB*>Om=dMSP9TB?)QO% z94@m&Okz0cTF+#U<{%uX5+UFQ6URB~REVSCw7I-Xn&uGCn|xk02(hO->5582-i(+k zyq~7-Mx8wT2$5D+?wNJ)+mF?gt6v7?_T)%E$+fVtKMNXY!Ko^eMdUEk8IBnTNHRL62WUzs=|Mo`k3UQqy8T->L?=l$lEf5f?!MwKakNC~ z7ULjx&Zm|3r=;v<(8-qciN;`HJ`Nk5s#egFf^`lhGOgdB7f9kV(thF6T+=-E6<+c4 zPC^u3icA}hp>9md0$^NhwBZ~P20VfvRP(6IE$y~FX_^kq63Z~0^5N+$+Ngx zxbd({&WLAWNfZ6d4jvRIwKFgNg?gv~#87D57c#Y=5*AnRY8bwEn9x4xkP5 zyHe1eZ~KMRLyDnM@+4LPe16=?bFO>=dDVTta^K3kZT@`T>uDK$soASAp zmvLSpk=-EF^1hX4mtKi|#y+@RSxq9$iF{YXkg}rTRazBQwBRp?A*F}WK9hLuUt%dN zdII&@den+h0Fynju#!M6NbI~4(XI#KSX`tYp-@7u!$0R!DT0IB51AHBEPk(EPvW5% zqzFg^9`@uElVmBeiBuSe48S;IQ{xijn)*}O{C z6xnQ7SFnh&_YE$ZQENqGckOD?RVQ*~eB|#*=f7Mqx0{ED7v??R&GWGppdo-qrn9fejG(NU03AY0R z5b*ElCPY4oEg2gy69q>&iLpgu5G&3a8c*nmVY!@W2J$E*Nf5?&Gy>ZyF_O`lx_t^8 zgA6@}LL=Fh>Hbn3CqQAS13I{%~?lUXoZY=~pj=gB%^q?47S5A7*qd@vHz%X5|z3E;9 zLc@C#`a02tpvo_9|^vdK3|fB@RAB|EGChO1*>o06lgVchGDWiDNApD+ zl2Y~kykl;IgjWUc4jWnH)B+U+Y+XiKF#5J(3~}%Q6RNd^ z4@3|7H{%F8^%aMNp$7qFg zEPszlS@|;l>&g@aE16yK@we(RW9dt#0XeJes?s)CjD6^AKsfm6n zzJ&3%$_x6_GW5ka+S+0OBUem&yydV9LtMSJX$7 zb86f>AHc8DS#JMz1unFw1^{s1+NeWl!#MYA8wxIDu{9FK1hj`#s4KLWREke+097Bn zx9Z_r)*_T^0i4lInjPM2OX1047)uX<52Kd?-LEG5$`S!x{}Q>ppy)%*v)ok8V6tqa zj5A<}TTd)T#t;aYcqLFBPCNk-_~&-DFT9=E(N7Otf_5C$!KlOG6*Jm$1N8?+J9iMG zMYq5?!XV}keD(y++B~b-M;Y_&YW=C-9FQj{&$3JQGp|N_D)C>adzxOM0Yh{LM{!3# z13m^Gwv6+?_NHp&eHq{&ke0IAdC)ZVr2sKas``+Bzk+X9jT!mT2Mh!FIBon!mcQ0& zaj=2Ak0|(*kegA6VWdL+F6Y!cY0#m-{4DyVQ@^@c_2s1v=y$Y`k6YEqXCP*`rsK2& z-2MLk>j(IEkj|h^u8izl;goNnTaxorCCyL{Da;7E6d3h9o=X-*g{VZ;#V!H-WP0OCf>%FQjDD>oO=RAwQI&wwo?j zmUR~3_yHP10&qga^bR~}RJQp|*%QBVj)D?KMcMu2aes}2QPwg-L#PqTiC|KDbY92J zd04nM4f5n<58!3xG(=O1Z{!tzPaivbl00#+d~Uxd;5}>{B2KfC=sVsDmEpW(>?;oV zsYe|6rz20MlM+XsO)*cj$HbNH7v5ZC_FD>|%KDoA9rJiD$467yalqTawC=kjxhQiD zy1lX~AMRy{9PMS;+Oju~6?JD*!P6@R^LU!)8(iXLgrw+-;CY+pUxfgd4_|A1Ypc)d zCWo*iz$S&%$o$?-g1#P@Gd`e3tf<5GaAWci>vFhs4 z@oFb#nEspxTm9;ifIKvaPJgsxJjX`ADXf09*8&*KRsAd>N|Lm+ zOo_yph_zkTrXp#E{en~WhO+$oV6xJ9Wx6bb8?v_;dFq6jgQLG6OqQN1FOPqm4g7+c z10`UVjC(jqemZ$NLPl_6LGbKxK%j@G>O@OmoF%cOzavIchkES=2+pE3zIGsmQ?j~x z22Nd-8Wkv@ox57^}<6~fKcQhUiLzpv8RLWQGxpT)8$ z&N2SPP7;ufHy8EqEi4s0dx)u<&j-)mxxs>&S6?LVZxZ}kj(|g4KD~I4nGfGu_nQ~M zJ*TcE@W3AXA#h6vr#0|Gv*VI?U)Sn;z^e>p`>bYo^)Q6v2Cv?B4uwl#q7&~ia1uOk zx9aiGt}*byl(#lMg6GJ4KvG8_{8{U2f{lK%wSS%h6+&YiDtx>7C2{vszvHlNJXzo~ zka~SR@a?u=4_EP=y#aK{0c>LG<$S`^Ogq;CKAR9<0DKrvwBdVozg`1)+|PfsE0FZ{ z@!!C4**t{_x$0UULGKl*nE4*&e`RV-fmqC)o>CM;q;Q9~L%AF+rPc3C6~PD3gh20+ zv)r`FL(ppz)1&wQk-MBrTs;?Zy^AVjb7A}~ozXD2zl?}I+!k`BEUGycY)9CRhfsJ> z`WsvUy%*6YT^tRy7c_Lrn9`D7bpL_wrm76VAEPSvbn}AN4{b)8aeiOQk`29w-hd@( zVBX|N$b%J=j$MYJW3e4z!9^8_FV1V&ecVNy&tNYgu0)@Mt3NbnS*I)FMXmx70|DEQ zz#01{wV6+s7rrC zj_x<|`VK)Zx7B;`91kmS??Vx*(9eD4bBwy}QImHTA6&qKN4WBz2C&ELs3R|m+*~1(799(r ziZ*2^B7>}Bl|!a0yqH7!hZ`z(>OkD!0hy%8T_TIxLh&RR1a8zIqPDLd_>(Cd&z1&( z(5!l&!+PaM+AB=Ho+2;taZKBWY0zGSwvvt7u8#f^3ltL2#DZ=O3@i8)hK0yomeE=t zG7LfOawzuh;?r}fp03K}5@~)@T7ZV)ycGT-vtUy`gROvo&fxNZIoy8jeW7=)D5eQ= zeML7AijR<`7PKOGJLM0v>p|@u^^ZXBneGtp6*~zNb~4PB{YnFpv)n~|Qc=hVi&G>r_t@9GY>W+woT!6keJP~v|!y+Dp{{9Ovll;@Z zkzNpP^}tlHVtuhg(=m&qLL@zYYIWc$=&;B?dD@gWdy-y2RPSEIX`!_ASatb34X4_s zdwbsEurCNJwmUiy{JIG7-rm12Me8)!aOm-3@l(qb4D9!=Q+9n`rouJG-{@&YJ{9tf z8}GyJ>b6Ed4~yG_^E`YIB@_Q}#qVtgMvFjJ&N9*#v=Cz~pbcEwh3oyn>;D63(|*^BVM#gEJ_3iDL;22;_G2x@nfS)_NFF?P{>nR(FxcM<-ypC5_!*qKlxZ1*eK75z3U(^`!EpPx>2 z0b&`7?o5gE1mON87&F%Aj8Lp!wzm0xC=hc81xS7%J&W-lCIbpUDq_L zA}p)bqSN^&Ku<K*udy(^29#d81n>~S+AJDI!=kDtbGjc9+Ub03sBKLf`Z%#AP zps`|w3aN@{!DTw@73@jatD_fXn*s**<(s`aABf-mSq}WV&$X8E`+r3#fQQoE1T+;UIJmUyO~r8goI)RpF&?K)axwH|0{!+|9oT?Hg)E~76)`ESoid9j?N)}t#`VPPnB>Kn^ZUq6UPrYk zo>LF2b}VyzIU9K6XR>9Q*T~0o#urCwA~U6v{O!aur28=q0Hy z*kk7($`ut=<4{OVsc#;Q(8og-Dn^HoT|x|ZyKC{a0iku^2d9d-F5iwvH{P{CrH?hK z_5TwTASFQCtyzGtj&6N9RlQ5T6JMC=rAYcAXsoGUGlRO?vY)>tB1M?w+ zAyYDMAraCdrS~bzM$7js-!0hu7gW_@|Jv4;p=gbA5z~(7o$}nb!uDHZItc>dzvOP) z+2<%?Dx_Ppj5K?PQVAI-x+Z{8$-H7G2vQTCo1K3WNXf7-kuu*8p@~|)dzaotvpV#( zWR;nPe~V3)s#p`i;a;c<9uwy;p-LOCQE8wZ{x3J1ydlc?lnk*q&l*1x`%F^EwjR!H z=-;L=&_=oRXl?K)9`<%S5ZwzB#1fL4Ldd&;`sx>1ef!v9JP#yoJaJtct zeI@Ko76}^r)F58z0#_O$ih+6BLbm5TnsvX>7xK>%@~O62<&u=HiygZno;TA-L!_YT z@e##Z@+QbgE!}(75XXtjBdMs?mk#^b-}PRlr;f!>n~px^o)wu;wp;UrT-eWgNoDNU zg{VNB&0-;hV1w0kwp&qXv(+azDQwD^^Hl}zU8J7!Cs2SR=3LSJNo3wNADxRrm2>E^J=uge zPdOo`Gm=tD;5$$FvrKuO$A`szx{Y^k&|-J?8$@ew3Tvx#$#Y%jNc7!U>A}Cq!*dn) zl!v(o)^{(8@G3zcZ)BAI0mH|{pOY?k_MC5+GZm)E2==Px}0%N`Feb#mch^A=~pFNRj`K4x> zUdqk@%Bp}rMZzGU%Bo=VtcsZ#I!<%gMrC6Y>g>KhoJV$E(38T({pKA!R$>}Vuq4uT z5ghi9f^_}zz>*z(MW}wjKCW|X9$1(3ni&UrCbs2c za@9&^(MnR&r6`Omy(H~Y>qTzu?3ptP8vat>%;L@}UFC+q47yvD`r<;Gzpkrtx37{k!8YDZkjJ(8vTim8dL$*Gkps^}FXUji zL^Mf84{GFK&DlN+wRqwwCnwY(v<{m52+^9$PGoY?nnzeU8G?0-zL}Yj{Z#BJHmLAS zY45a0p%g$gcg_~bkirLqDS38bSjtQd{VF2z zB3en4K!3W2Rc_(`6rMzytGDOj@XwdZ&Q#V*Oz(GFT1uRr087sZ0Cdu9g5;$+ji{e}S>MH9S3mEK8`mT3`$ zGlHg2r{*+?C443)KL`^~l!D;}r;3Ew2X^Nb3KV_c?Jw<(nvQO63#Nkw#~6?fwzcgG zXU)$(DOM=-CIYXZMlO}m^CBf5*FEaR*xCLU{ts1;xIR@krrBI@6uH)DYF24@zY$hN zACfaU>G$nQR>FW#2EG@QH1b(TjZDugFx_Ti;9824^ zTY5DAla^*MH6|PM$D;jwn*Rp)vIzLcD3qN!@m{t1mm6r1GT@(wAX}>ivN2znh++RO z5+V#8B4xlI=jf|{6JRS;nz69eYyvwvEia)0|7I3S)w%Qg{1B-cNQpU85pg=W*Pyq|*5>o-&;1I<}7%H#yuZBtf<3klN zbBJ-BcfnseLAm2PiM_TRLa5qg{u+qzPx%~}q8z1B zSYf_LtB4|COylXCQue&R9I_}X_?Se%db;9@2&p4r;IBlpf9KWU`f-X!r!e#j$}|9+ zMCMhSJY9>H70tv0BqW~9#sZ5y5KD-v8_TpWWV7=%U}OHmfpDwmcc~@?Bj^X*$B_5m z5E%V*01^V5J|u#`?C`r^pkvGh5?t)1`YQoR<`F?2$WtH|GRg0T39;1Z1w) z#DY3ba5!|T@>bWEBy@InoE+qh5!i_#BTDvcM6!j7z(j$!9#!t~T0SDjHaa0N>abl! zE>%`Q?Q);X2aEhqet%F9T$*MN5Fp-Glsi9sh+ax-K8`JqWsQyua@Yvd(k+0dplvZS zjP->0e;7N5AW?!XfwpbiwyoEAZQHhO+qP}nHeTDdZBEZDC;s9`)FLzMMy@KNBJpeYxsC`?UTDo#`?7v%1^?{ zTPESOy+Ut7vJ`{@ek07Sl{n)|=M^99%a_}Oei8Jd(*4tYgWmo8HyZ#F^>Kt`E>}xh zWi{pmne=gooTxdnTt~3r`xYb1gq+VHFJra@q&aUMtS|}niM?O8B04_2u>E1}D+4xUJLTPeu#+({3OMz`Mt4L1ADCi{Y(m|LC%f>%L1$X#x>mqC`FKQc!m9gIqsOA8H zKzNS^!-N^dgL>FmPhOsAXe)pPrtDIr&WL~D10|cHnA#2pBq833kjr3dtV|*iAH!TC!eHrEMvD}#AYf`V zpTO%98QOrp`XM|pv|I)oujRo~rQ?ErXD<`G4u57XA>R3ib`9bV*xA|uinM`oo%sWD ziW%C5RD=3SiHz;SV*>g~(U4$j7KIhdRCf&R^u2iu?Y8{#azhs8DMm4l^ig3S_Lyaf zf%=GkX77#Jvpwc~PIrE3LqfAFL8qflnKHFcG#NpNkF?3)Al@5W0eP*TM%t^7hsqEh zX-qG~r~aa~OhAJC%mF?P8;!A^mcbAnB}q{Tk71C!0eP}lYf?*6)BMt1GK8nbeCgYy zyYDy=We71Z5RROjM0u2|2ImA5_K}=pE>n@Q^zt;UqzzPgZAPZI)MkAp|t?&eS z@M;zt52y$%LP3h?u+l-7L}^gt%BiU`yzcxnsHqHvJu%7+t#&AaZzPYx%o2$fi-*xj z>c0pi=df!U2-aG|QSm%WSBU&6)HJ6O)tgpHEK4Q#;|i0t%7uaC0mtG6h)}6a8pte8 zNzWF9Uj(W2`Hhswx#yG_i_zBX=aDSpywf-S759g64FKp{8oZl~E>^HH^o+qcB<(Vv z)sp*ueWNn4GGG&f=E@CI6&N!SJw1VWQQ7^p*Rluc#%dtbBHhQqOIW*|w#U^-)3#Xv zq3K&TqFf!wotmR390OIdl?9|04xJ*D5yOp%`F62Akw~yz7xZ+A@fXN??d-7^bzrxY zujl$0u4$G%^+VxBR5iV#+asZHUVPa;%NzH+WYzr0sGk=u)gFbX_GnzbFrm05NN}mn3zx@|p-J zZVt39DXX{|Rh?`mzmCZ12M<(6;#I^V(iW{9f&f>&TW03+O?lNjR<*E=UAz*=A2JXc zjdQNZf=eY66h?Uoe>?MMapwT_b)7Am>071 zClsPQnYylYj271g4bRcJyQ*6yMD@6yoi#f5(qo*-KUCqgoMi+LJb9PH=DzX%_b;)a z;#*J@YY{wB%5q#-V;=Wn4!(R$1_3u*G(;AUrqI(m!&tQ??yyPM$z3}&l-DDbxS-m@ zz8BTDd^U39l3{qA>>*RMlM$8nk+T_*0-YzGqlU(XHvg$XEN>^EFj>Um!brL}MqUpE zVyGaM0XHJUJt81T=edNKg(4U9`qHFP@pwDmi%UC&c5hJcUpvzk9nF~x-ZchEFt-gE z7MTpXFHLcf=hk@9{f0CMHyC!-!#I+TbR=?rU4OSf>>$gajWr5tp4hWAP-d_-@knet z(Z~Lh1);5e2`)&ZN5IC#{0?BXV-`0&Ow$H|ChiM7;h~qb%pn)vgZ_@ENyqjDBrBwU zl1So~?WJ{{()luOw_x8u9-1b?C+Qpt1^^*M$-4A399m)==S!6vf77f!m`IRu5<-rX zXmKs`l@cM_zN>j6!QxsATc|=+^RX*qGeHGpB1_98$vi!^zBBmb`4YhJhV@5AT=;E( z$U7I_fW8_@RyY6H0%5^DgT>_f*f~yXZs?Tp8$g;(%V@ZUkVBeU_TQ#<$!Ecdzg$|u z12qhs8|EzCLpdCN@>ZwUPRttbf(!5pqbPSaR8?{btJa=KtpYCH|B|+E(q(Mw*igCU z?*qSx6`4@v&B8I|NE<4OoMtkSesa<{$2LlYnY;bpR=fZ4*fOTh zX{F(W8|3;4$&vb)aOuewdlDR6|-kTR8M8THfI+&jxfiIkfNwrx{Nc`e3CuHnd z!-=v#TfhE$6)(?AB45%fP2})bbjsz>J4uoqi}D$?(@8~>%JL;aauhm6yQ8G?dzdbJ zl4kQ@zFH=TI8(c0SSRd8^K+eIuY)Mnrb(Q3Cca)0on)bcw(T#GOs7+%@-j>nK`Puc zj8?~*FUK_l+4n{R*YA0q_iDa)a#?g z`#}y#!kI*~%AAh~v0Q}-@_3dy0e+u5@r2X|!5C^VO7m^Gem^GXgd&>?|Lc8J`UCx1 z=^7BbFrP&3I?_!YV46sFv2KRn@n>gw>NwQeD1H#h*(VdQ9GcR*l_hjEYgkFw55N;!E8jEqiFbz zgys>-<*#X<#ruZpKE1r*59D+z`}>C1^W6J}95H;{d@9keLXz|x(uW$qVbXs0*hZZ$ zR$erj(Bq5wuW7N}{J8jyxvJnMIvDuWCW5Fi{jh_>qnGPT`87s4<_CstdKKTH4xHRE zo>xQW+sR%Aq(12)c`yUbItViIB-Rd=aG|V;kzg$xIY7~ByqVmZ$aQ0zRA^Q3^fn3-`zZ&kW>ZEoo5M1@xa8N*sEMYC?LdtlN8y_6nlwL<&lj{EEEZlmEBZX^TjublS1U*X*Fr2q?iL)D%3yb0($8j!nk{-3x! zela45^ErT_Dk39(>U_SNWH1S^U9;@~7z&bi^YGudD})MSfoc_D2x1~6;VQU{+2lmn z#MhXvaKH6kNgc(${ua0=PP(U&t+3onNPL~Rw6#CF`BOKA=GYT9W3I)b1(bZIqGYdsJ=a z`oqyJH<0~1j;s6Z3rUyC%i ziYtQIW^}jqpylUg=%MzTkm(K{hli)isKhT2@*E|(D6 zpB7y`AYxQ)KYHL=oK7RzWyx*cTmh8o&V=%T%9=1cVC2HXcIp##LF5RDbnX(4bim5` zxX^r|i8LjR0jZ8FeLkuB_XejRfaLZpgfy=v08sT*uEEQMvmn-7Py0kWpybNO#Ri=) zh0y`2a4J$jW)O^6w*4iSSB=FWdHU!QrLv44ykH=D$%}f3om(!MRC4bj z;at-D8-mvqc{?Q!5_K9U#WttxUn>^-QRGOTv|bbrhrPXFa)mRrM_k6v4P7urC++6X zYxXODm{*N&<#k8s5+hUd|74h?)+@R58Uo&0h)2azs?~Jsr`jibN*#v8GDY`OGcx0# zcs2AOMsL+k8hMUAMqua|xz`GO2;<%FqqQ$9aw$dl@exA2O{x zkZqAVq|cqDoQxZT(Psw8+5P)kH9aAwbikY&%Fr5V*r7DUEp=*HgR9O88me73`M_zHxcm(hHGg<_-xB%nfV9kFrBY7a4G_1|B z>Nz;0=*ofU005RmN_guH3HO-yM`70*q$cEDEO8P<$5p^aXl!t)Z`>I)t5w=xLDuO8 zJ1b1fRg{&R50~mu-5b>@mEUXF7KaK)dL)t26#~^J(Mm9QSd26HI>RGfPQUN@Ad9%9 zN-1CPkV7xv9YhqsV8xsP4pnA3_wwH@I#ZZARJ~X0mdZ%NG_bwkt$4DP8 zPa^O;hpEr*u1Hm##^`8|j00u`0dlEfuso5hNDlgg6go9bPai0UCO$ACFn-jIE90_7 zDPrhwjK5*1Cp#_7?w&$4?iH8b=NWR1DjItoqFF126VkN;Aq+|HJ%e z;6vBq{c`uas9QT_Mbw%xv-K@3f%A{sewBl3CXt`S8(efL>Ulwb&QFxLKB^P+stAB} zxKWcb@bYkM9GQmrIQ(VcR6v5tVszp#W9zAZ!aTj57!AUGTY~H{Mfr&DpL5_M!1qpB z4SY@6nwPS4fg(1_QBG2lT%PA@)iV4h^1r2+(IR6Q}TBd3D!{Y&PWC8`egyJa<=I2 z!7YjM70r<`nx`!Yd^W~)MDz@+YlCNoDDbe(*q&avE(41UhPZ922K2!zF0 z4l%U_O3-jaqm)Yl&(4X!2(A^3_n;EZ#gtpgY@)2)n&pgEjPD;<#Ts}`L2xNcm4F3G ziB%KE63qq%JU0;R%T73t`43OBZFjo3Hcn~f{2ZHY(`&MAb5aW%1JPqbL>U~Svaudh zTi7-{6s?o*lq(AYA)C_1>$rU@j=W9y)gqs0W4|41RHN)T$Avh(gZDq%Ka-IC3?v^x z)tuKxxd81xKt7`Ud%i!Wo^x|P z@eW1KuM$Ys2d%kxuRdZ;wVq!5Bc^jZDdo<)G2PZ3ysv7C1 zM$YHb(3EP~icL|WzkHbJr#j3NKA|dG-s8c=yvfNvIVX?L}&dg%DJHzBd6FIk}TIgN2y>40w^A&}`IVHgxWeo5}TIZ@v&Kndzgop4!p$an)RPBl)#yV!pM` zzhot;>oG6?<1O=*mP^DNLauNx@aijU5b6G=2r8p27mTqG$~0G2`ol#CWn1E62YZbUfIEMrBh>4Rq{{0S2$=;`9XShMs z>D<&RmGDWiDX8Zr^SzYpAx0Me(2%NA$o#H>XNR8^v>Tsrv6`tB+JJBl*}-pO2_wGt zc(b(-3HDSnqXELhR>nfsFGKbjM2)q@8Blp7pQ+?pEfdN5Mg@X^h=}5Qzuy!29- zay4?zk$%F%biqGdM2lt(f841L9FVJlP82%~f@b?Vmsv)qVD*x%YzMI~x{$UJQxLzv zXY9mz7XlpvIyDmUtbtuD)kVKS1uWIsK%*7}8pK>H5wZLs za-fTD)q!q`TP-lOx7Zq}a{GlYoAnZPsh^yNAK)mZs_u_JK3@<%AIJ;X@BBOSfiOyF zD>;x4TL(j$+_3^Y+l@x~&+{{|Y0x|j$N;94*ww}iM4!nL0UdHm?;^3_)K>gDYf{^*zT%j|8W_H3Bup3BFXWy-I{tZjSVJ>v&gF8k`_ zDh;TKYD+sg?SaUC8V_7w4+#^$P0ex?@?Uty@HX@ei@Oc%27$^Sg$SpToX`yb(?5c; zO=wukd>mt6i>fdzFtK_VpH#gnOO)0 zsFgB5X0sdOJh7t!$AzEj2=K`(R!T~kiSP&bxs3E66lI6EJ|rCNYsGYvR$v`m|Gj9> zut|vpodGVIV*B%@uI`4t({YC_p1JIn+jRlC1jB<|yBRyTjJxUY9QAc7C|q|=%^Ur@ z;yd+O;$L;e6rW*zwc|a}@k6g(w!Oi>?CcVjjkR^qkNj5rpsPg>Vz)lMSR_4Y;s=J~ zO%;`+ZtO+?t%1%k zg>A%?7&VGxjvJ-*V+H;fvLc=Jj0Ep!v2ETWL;fL1+SW>NcZ9We(B2`!FlN(2s#wO^ zT6CUJ4Rn*181BHi=8)*9&Ot63(aWIDW=7^NUoJk`8F(}xXS4y^)me(qpHe)<8l0FM zOASO7xk`y0)i_q5_erE%L*t!S5Kmfww55p`5qXDgRNr!wGqGdTg0&%19g#I%& z!Cxz^L%1ObC2Zoq2#ea6AUfiJbxt1*?Q z=f2D5mXTi-3#*IxS=W8#qFq>bIzOtguAH}yI{3R+RBuBgP8dAUiOUkZNAS-TG@R_> z9*z({y~psWHs2%oS=5QxKsMV@P??UX0?}DIC6&?m&2m4p;bvaM>ff$!V`U`e7{2WgPqwTqt!Es+##mw`i!&W*bdX z$maqfS<}XzPEA4vD&TXOOCCB@YKO8=aH*Wobssp#vjCy{vOsK{W2*PnQi8{`b5s9D zYbh2T4O2MY?C|lSsAd{941-mo2;qi7<%Fa+D4FIge8g;9BTtKS&QMV7%^V`xW7t{K zx$x93qfQ~xx3KqT$2~^8$K>kYMf$-l91e_O0IV2_Nr*e-Tq|Axfy?J-efpmX3n@Lr zrQZq6&BO<7#&4?XJ*W&+K++<^(uZ;aO5iH;ESw9liA}^n5+M96==y+p-mb$i1xBe1 zOc*COTTPl1^@vPd7=TIF;{)s4UpNd#KAb0HKw!UOm<|$Dj7WaYagyCck_wrYbS7L> zIH`pEVd5v{*Or-$+$wRBn;zsjsb;sD$iJNUy0Qv0qO0?Iey|;tmf<{AVh41LgKvFccozZL8v_N*KV9zygd;eu9e`CIu*HVSg!&{ zY$u>`iJ)8Es3SfNP=)G_8&#lI3?ORscD-QoNvOGzh4h;5R38b#fgw4Bo!}FObtX(_ zmjnVP5rRh7*8~Rix|iT}r2dQufFhkEbs?P)XPtOT66B8+F9wo$uBGFV$P?_9kU%w0vs`maYItb~`C8BV# z5rI4E|Phs?WSS5n(1uo(#`BWuP6r%LsZS|OSK}x!JklLJ5eW@L*2x*$gP3aQGvCbh{FaxHc0gV z!@CdV<6{NWxBsFmt*`}t)#}6Vu_gA*{sW-A?Asw;5?EP${FCRy(cHd(v@P`oSjEU_ zGm#nbmj4k4#wn)0IZzJ%#11GQQ@JVkrp@ca@4hv5-2Y}i`oKp`J%X}Vj$I?h#Ce;) z1RJ-HYB3rR^4WchgA1OLY~vbO;Y}-)J=HibR-Njd&;rL$&P=#^RU83 zIO8AwtHp!BC%MIF+x8dSRU63-tdi1ojT)A-|Kwk$?rW~wG<}xmS*@7 z&$704y=}jBri+H8wcg*X$k$7ua^`ejPlgKY9uV$*t7Yp6ka8CLBo+^^1>UrD3FV<} z>4DCYN{LGK_lvqutNSp2N^XL8&e03I$1uOk4*njRF1-@Hv0)j{7ttPuXW7S zJv?n`fYTFqg`D?R@6z6Ld*->%bI4cj!Z)C$bs@oBC{k@%>M-8b#eL-zUZ3UE4c zNV~6>kNqfA9Fp*SDYuFdGlCsuUD-Tb;0qP~oXW+115HE-=tktaBFtKNMR&!41LnTv z_;7g1`3-D_qMdALogpX(Sw$|$wVHnAMtW31_eOgRYKvDacNl@vq=*S%1AQK&X}$${ z>+-`uW$5(P$ZzXAls>OnoJ~e(%V-W;j|xW$9Igjqbo_u)ndx-zX}^=!k5f5={jJ}9 zOr&MGx1i?V!{|1ua=NN)1H?A_Dlu$Y=(528*!R0gYVe_1W8GzI9>#khjL>yA2MtLJI8|Z2@aiucE1kWmQWk-ovyvf`%Jh#3^;a$|#mV#lU9*y49RUIM zjhgls!>p%2UlR0~>E)B%MhWtqJ;PAF08a_=V2Og%q>Z@>xAA|O8Gt5M9i*G-YFH8x z!S1i}zuHZh*1Yz&U8m(O)1mhyJoA^R1}>(JXjDyqI!u^8Lc=a@nJ&_%{P+eegFtZ+ z&4eoe6X08^ZWIiU%Ig6u)30(YX%R8~rT#b**mOitbJ#}(7Q<7A z4u#mecayO4Ox1v)Fa;NDO$)SA%$Vs&j_*>Sryn)H)31QPG9{0P5|Q(B`#HY&ccXt* zwv-yo7{~4_Qd9$g4OLoyNUaQD*OKb@ICIP1j-MPS_692qt0J%8Kg7`oU3O?vDwEMB z@k%9_JIN-&iiHLynM0G7iM=+}Ep4t&3O4{+CL{M5LL~-d(-Iuh?q^)8ZKpIwC(}& zB3=cuCQ6ti9l2qO#6e%2J?f{w9Ei9-@#?QVCLT4{r?}IPtJf~d;a|#33N_e8rv zx-VSkhR=6coORkxO4$keh@uGUq|l#QzkdX6R%HNFh9mnMixTiTbhd>HV95%232>B4 zp=MkE^2DPP;?>b~8;>50hv2P8FU;~#Z>@h;a0d;UC5p@b$gzX@gWJom!OXD|GMs;( zxT#(^P};Tm^R19s(#h+xa{GE8q8l>@n|_#W_x6q1Z$f$C;a8?7Ox*HpRJveZi7G|T z2?_nK`h(F8FbO zeV-0)N281nWdyQSCM69@I55b5h*O!6Af8J>+eXGX_Ex6;+{W?yt`fu?)+80-KFp7s zC@)4&zBn8#cSvJeST>2bPBi*mj7dGphK?+^dZx#(BLR|p$TpY|DL+~8`n&&ql5p^m z`a#rr6E`cz@S7r+@9~r8HHZzVVO{5!>~!c`WP4!98wmD+lCZ_D9Z<)^p_?iC?nFH6 zjxBK$JP}r>uYpJz34;zbjvE=#rW3eHE#)B|Ff!1ZN+R^+Q>*q{!;Iq*EL0+UxFaj4&mFGQkoS@Lg2ZnzL|2uS7P(_~K`Qzrs3Kx^-I*Zh= z%x@ufOIsXMOTy!Hr(Jj;!Sw_78>$l-$Zh(HYj1ZnuLTp>2@~a_(L=nqN2`CUsl3tT zYTnX!h3?5tk(wGu zonD9nDZz+gO;F!PQKPWE@l+#)Tuqb~Ng8>~fFNV<)nuJno~L!%$H7XJgC%{SpmF{b zVx)y9{OEd@FN0(&qDlmTO`}FPrAt=TxXNE;e3L4pI(y&4wHA+~zY_t+cviEG2j63d zJ`GSHj%l_!Ze0Urivm1;7DNAs(ph=-5WL5z&_9 zBo5^kc68`UfXuomPQ;uRL;FsY$dgun6YtQ9W%PU)kW_E$q?q+8X^$UrThG0n&u zJ8Sm0A8?l)E(QzhTHN*PYqCPO@gwr^QC(p2@uYrpjZU7E1b?u8+m7dRvbIs^&ET+* z3H1ez9pq$RlADn&x0av~29VLT@DWJ7f?)jDdvbQi!6%)8?^=B57^|;k-=Pu#AHr* zxwi?{VV4&$io2?#T@QCDdG%Zif#IU7NJZsvU+H!`RU92&NR4<4By7u+8wJ!ox@$p80(_@d*-hLl3EH&5`+u) z)3Uu*2Sun$-qa}TDGSJtc%hv9T4lRluH_q~4|&~j3z2=^X3yH2HtKQ+aTI&h^$t1t z;>O#q>Hpw@`@|*SC}u%HL641Z2?hd9ofE3|TCTCEW|zm~cJ; zj2~?RMSZD9!~wVWJ95Z_m(d{`EghKjd9%&PpgYR+y9e+aq3w&`G05Rjls|F*8E{YL zcA8NQNU3ie1D*)VcEW*x|N1RO;}~0yz?Mr}k>FB@Hd$0C=>?8_bMKkLa}=(3*>UCx z)$o${R~$pmxIl(dfInAAJ0!o)m#;2TGWmZHjIjT=f)Qp;4)*^i7@1Bu;Ho|B$q~Gu z4}gmxqC8_XamLRhzTOP>Br@6dWo)1Y3dbLJS*xize^y`mqv?wx0u(Mxgm;XU`qSYS zcJkA40R9Ep^795UNT~g7`$m2IpxZl_0Y_Qs3;(5Gb)`GHXl2gzv-I_@Hs#Knb#3(4 zpOs-9F|AVAkPUYO-~C4Uy(EJP@9t282k))SF7a>b-yoSs-H~3COuKeTHvIzV+dSq? z)=fhbcR(p+Xx39;;uVvP{XG9s{h{K0U1a40_CEIT3%9Z5f#^?e?9cbBF80=JLf0|{f~3;OlU(E{qXgQt!c^}{?Cms_Yailtt5}nZJPVvw0=G8d5>75@+;|u zmAY?xpE*U(k|&@?i4V5t$Ne+sJ(zsx>>k?p{2tsk4s|jPbrtkbey|6ex$WTBj2kz9 z<2Sa6`|pW+pi&{uFHY}g&}R#`*jrdGUFwWSYNT9#Iy`fx60B*reRSP3&CEm`4VLOa znjXII-M7FZT_|j=^y&7mN4Ex<&gFqbF|V(j=9b#;Fv-JJJ`;Uf4$c+TBka4LSGOGr z_^PTk8fPA@*B1S{xlPp%#g^*Sp|u;ez%MDgk#NIMBcC$q=U7kGF$ayJ)Y=L@`{1l~ z;A|Z|Z0Z%Uk5Th*D@}3p1-z5R4&3`Bl7;)BF2y)!4yCU_7-p*yRVhWY`Wk#vTghVY z?)07oAWsf!%Sqv^jrzvz;5A{-jW@N6&)Hs2Ha@IqCsdYdSJteZ(zfmgJy>O4sGG4z z!TJ1C*Cw1v8??{3)WAiTlK7Y_^Sn3Eg{@hS@t3F_mz-C%mJC$vztPgbR{58@UE z&gl-N-DVnmnRoYkXO6kBR>a=L8-WVzKvdLY@qdt4e9hklDF9E4kqiD*4L7 zdyXjJG&GZH8HEj(ed4)fWo;98@!>Z<<&WpW)zpxBu`?C}Uv4`NcKo`MXZzqmV_YA& zV--l)f(@~%w`i~C*$lb&VhI4hX`Y=r1w4}n6vJNo$*>L4H4Byg5EE_-rpq8QB@WMO zRf-6QTZwzd&6jWgW|Q*pGI$TUbmAqrkBpfSzCW0*5&-lesj~uee`ANLp^CE(z3SwG zRM}$EL02smxw6czSYimR{aejATObzOUjos|sBT_?+PFjGW3rL-m%~mw!ko4!v(P&_ z#}94oAyFo^vzRnxS*~FgBmRiV5ZwH7BYN+9{hF|Uo(bmudvE&J1#Ye#6iMy+HOq)@~V&&C=SHd1+JI_7_2mJ1Op1j?uFFRSqsm;fa zGXNZ=vk{4c&8Rl#Ooh{i@e0|xS&xPM5eE@$J|#utyl&VzR6M*%*lT3JK_3QI`W6>L ziW7BXc8d!;vEd~ecnrBcw+kNucJlpMlYyfa&qsYrZJhE z5#k24Ub99Aw@PP^2Z=MqoQBV=6hPlo2Cp~%);}&n?p5^Q@_Ev;U=}tgYvfDGg_Y`R z+5<{t6^MGJzM@#UU3sDDh6;(3C{H+1xL#H#+3!0WZn>|+4`k1OrN$J1>t^LpXsmJPxI z-W92Y{d%vBq{{X#_IgiqO-8dxsRrU+hh=W%?gP&WA1p{u5Qw!0X`BQq+@sZ1; zAM$kE%>W*XS3eOZZ7s^C{z&l+PNWYuik)ZsB*fyUnW#m9C2vbw<}#*>gHz59%(KaJ$rlV=I~P z?`*f^5oDB=D)|kRd%-}ACsIU%xdSQ_eve=fBuu25w68dQ<~4furzK*yJNK}o98gP0 zp<`68SDiA7-}H^Vu>y3;T^J}8*EqMjyu9;h7eBO8l1`4W$k~VqE|a)YQa`?J3bYc- zIr3h_1EvxSH~MJvVWs?B#gwS|)f3m1PlKJrt5G(&o)SxCdKurEwvy6A?3XNBPvS*h znNMdgXm5T?y*n(01oOgX2%yN*B_cE@{dFNSLu7E5l4l(6o9UmqqdoYysd&y>EAmpS zD)IPAe+$TA_}%y8eF}@V3|8dC(MW0$Uj!7b66|1TCM9f=y4k=RWeOQ7 zKBJU)B*x5Hz^P$PkSfu#apHQ|a|v?Ve|_O|kjW{W8NrTe)*5m2VOe@eGZffL_VKvS z4E2xhnHAKz=U$T)W=HWbn3J;o=Jxiuz8f)4tOkJ@?%-JThN^wXb{Nwn8dkKgn^a$> z+6VpTX7uF>=K;C>MdQrDS!TxE|Af`gOn9J-m@Bw;hsIJ8Sbw?Vp>sjg#X{`X6AQ*C zsyleQVy#$qlieETnM*yZb&kEx&>0k4Nn?qIDp&FTO_+`QZkvtGTpB1HBOF;eSpgeL z5CefP`e8Rj?)Ruhx+C)0z7#$Zw1yhtfuTjm5+y^?Ivkfa2 zg6D4rwvPilV$>`}*LlmD$~?o|G@O!jA58EuckRJg;dcU^E+tMMw0TAUIs_ZyN;`Zt%(w-z0(GL#XifY!kaM(yaoX; zKpQ`Z7FZrB$6hV^2{Zzbo)Qz{x#q9|1P&-miL4`KtebISfpwl-)J`SWgBb7P4JYQ% z!zgVZ+CWB525dOj(~i1LI@iJ-ghw_8r5QESv@fB~jOB=JU}nQKXyxLJ9eSYH_{1TH z)t5lgJq2pUJvOq&vnJM~OYJ}AQO7Plwm&kqtkv?5i_Ro&B0_LwDJEZgB_l%dlITfH zZ9526G(A-MZ1b{VSkJY0jwse&C(1e)rBmruC-ixaw%627jo(pA398E#2LN^IH~G|) zssd$(3uLATK%T@9bxqu^7IC0BDD4N-DkzS&W{V~9Q)W?pF#fG|%95~u;Al{X<$Xv0 zWSd0{e@7%Dd4>_BSQ$ID3Xwrom2+#Lv>ogmbH9KbI+sZ-b7vvXHQAxXyx*tGhAJ2t z&Q!12${ptQp?{Xt`P6a|doFDH2W!bY@!;3(uJSDT3j4=6moBk>YLf7PhXri!m>**2 zs`q>0D_1kSH39C4W&SOE6Z@AzItjj|dOj^6Y8=L=z|yXW-;1-|1H%HXsgb0Kl?nTf zfzzOI+xVlCpw$NOiE%jxP7-QQ5pa%_!|LAzsj)_!nUy?CV>~}8kY>r!Lp88Uh&f zP5*4)Bl4MIGRodumUE*$Fd7+2!x=oVZkfuaQPD*A+>YZwTHQT^o4hRZ9x7vFUAanb zskK{UkXvD6Rk%w2s-V6dVL1PjZ9w6kbEH?2E@4HUJ-Id}FZ)hAE>2hBJq655Sg)Px zW<^`+21<$yc&FXX;~QV{gNd!UQfed^)4zVYTIkrr-5Oy0MUMXn$^#HNFo<>w?hde2 zLr|xpz!sU4(4b_52&u`60cRA{vyY1B7k=F024E5^Jd&Nm9|7Jc6YqnIv6$XrI%UZl z3Es!OuyPNO=2Vj?S$hNsvy^sjRC}?UkQU9mAHRVR{{Sd&$cQQobwy0wb1P-d%3P2K6bqcZDQ++<5Z|4`}ClhRcQwMaKYH-hCNMTF8{*nd)bMo&y%9(*{`63zQj|iSY2@Rv66=p;KY9%&C(WvMit`N3k*N zsF50Gz#rY8;Oo*LM=y6L2=dJHiz}4z-XxL)!?3-HBnVPcEu<95weUwJGIf&%o0Z{; z=NI70L}A+3Upjjw5aN{#JIv~9ghv0-t2a6Zq)ka|G`oYnmV}BHPw(KTrE~%gw4@6) zSJNCJ2(+vTZHG)E2!y^G+Z}lDG6Y-U!95>mq`JvEg&j;br=VBJVy~mGOTUq%?Y3j_yjSk0l{2> zLESo~lwxv40rA_(g9o!i=*-Rp%6=LI%_f;293L*Iexj8k0|qC#$(hAAi$qq7c8~(< z;2Q-qAuR}iXmvQbXscOWrb7lC-;}`k4SHEbcC=Yx)vnh7$gBMn0PDNe z?wzf6uSW#AADg>h>N1U&Kc``tG&#lQFN6Ik?MwKw1Oel8vg3Kc{>>tSoSs(_?R}SF z;|pGY;2WWnrn97AT*&x>)x0^47tv4hM94qv-l4s zFcIinr!)ec8E_o7wpRoKFLg4eb+UIT;gKvNN^1z;v*bKREm%Zj1+%6qiwj#jTfgHY zbib}ef&6g4KW@#I@se5LGG=jgQnNkuaN=9!IRpV#?$zmd4&hSGV@fME2Ql;*7}p@^ zVxk>BUABp$Ebf`rdr9UY>g)_ZZxOA_%yRCm`u_gl>?F>Hd??(rNDfL02N&Vf}8Vq0zixucWMp*^Dq_80!sxUkG2a#t;3B}Lo_)UF1U<53?da! zvoWGOO>qKpZ%jgzmOymVkP_N_2bx?CMaTChFilE#$f-#%I=J`o19_KK-y_h{*%+{;_7xY$sJtwwWMm0~%26I2 z$Q@8YWl}1A9EJ;bnKnWZRPwILK_!d)0d50Y%;USR-9B9)QHSBD=#5>vfDRT-ED~k2%GV21PxdwsTMi%>- zXf7J3_|_Atu+kWB3M=)V{TrtbP$ec0)4EyzArDlVy zVWsw0LT~9L!S`5#l^j3X5UY{Yk4e@lSKbqwQZ4iB9^u1r4x8b zy`D~pbZBq&eW+KMw>gQ~^SEM*9(MJ?9sJQB|%QH!M;tOe|)`mV)# z*J5d})d|PHf!^UnL0F}`vo?f5WGR+TPYD~8Vrd*h9xh6;G=2wnq)V|h`u8vE9p38E z)XUOWe~bvAQ*ieh5x_~K{ozlG05WI7x1tE3-#jjwE$4@e0M7c`kzb_Kyej-u5x^VR zF3TsJ#+Cj7{P#RY4(EaYF6_W_7w7rD{P#TOLpoiwKZj%Gbf42_7q4E$tOynfxZT2e zKA=T;ES{pIqRgh;l2~H)k2)Ts&b&B{XC>S$;B$d==~h)S0~q~ag)<&CN*mmHh~W^joIF~ZT>8mw?k zaC?&k`vr!b#IN)`@9+-B`Ou$UTsjw+quv3Ok_1aYM`Pryy?9aHNCPEEGwfy9 zgu955MhZ>|ya=11LdA3Ef>UiDqOVO89eSqcEIq3?jp#J3>r%iLJ>G|neQ>I>38N*m zGh_ZBX-u>itfe`b@kRy(B^7esG4ai~U1yCtu=V)6$D7pTDX}K+vm9)oS+Ywfj9eQ_ z`dbWUQ@JdI*;p>i$@KMl1u)?C#08LI2Ac{L1FpBlS$+b1(Zm2<0T6`hYDa=AYE;)n zT%!Q`wBCII2c2pu8Lr51EZ5|cq#1kceO332WxCa-T$lhsZ-z~XD57;ei{M_g(?#vI zim{>(q*!)3qCpjoH49+2YZan>I5$kK6`(gUt`?0^?krgRlGa=JEwmNM7jwFdAa`ap zVHL*g+%*t*88S1nc(T%#@wRn<(KIJzLeeo>b2L93^;cLSh`^$CQgs|C!IGkSUi=EN z?ssToHB@E73g6u<&e3~K^6k-IzdxM3=n-m;L8{e+(ik42BB0rPvn{2_HsTX+0Av!` zL@#u9z_0>ON9&Qvi5D9Pi(?ZndW?S23uU}>sP>)*)+R7mg`*hSp|mK_j7u^mqh{90 z?wV7BlAKq3@AfAn$p^MSM+4#r-w7B;Lry+^R8w$vB8W1`Ns6ebcTmh1a5YeO+MfRY z5Ins^x6Y;g1Z-m&e`(*YDdR^I=R0^o9IYBbWr8}FpD~c=-1eO>dLFp~aar6>q4@M- z!D*cug=iXS*i`yTe(2arX4gf5=#L12L1it`{bSLVGDu4YWMnc@APSahuSmj4bYsN? zNF>38Yh*DGUbwb{q+7`{z=32WMmaVJM3G`GW0l8H6@ps zsz6N2+LaP(oZD7W_puC8;@V+O@ght@{dthGo8mO z5mR`iZGTWE%wD3P?xc^+z}+R&>|B>8QQ>*ZH%Kn)JlN-DCzuANLdo@%jS1tAG^-bK z6vjz?RsnQ)Ce0h|P-qPby$mTEQ^FGre$iHh*H#n1xGY#fta?DpU8Zq~QJDro;$bW6 zXzQSauPb$UX3ea$n)X32yNT`T|dU+**`;5%n-G&lROUdFZ%&&n*cow-vH^|wDdq$DtWs7xjjn zK$bvYHX-=T;jMP``BtixAz6+c3BDlfNYr$?=h24Q%dwNyNS-LXBHS2FJsdkI9^?rT zP5q_~ozoG@CkHi=IZQ_ruks@(TC8_Cg6;~%Qw%`#5Q&)z&kDL1S!dFu(C(-Q%LO2M zJ$@IoT|XQ{RsarEhhI)s7*wd6ur`j|rI8ekiZGMapQHeR_xG@#@|Iou3i2##(L?1P*h>76H)HRGx=&7BhSn&WzC*Z5}>;VX8gRiO_zi zVxUagT7U^c?1rd0E=X_SjdrxMXQQi^!MG&7=!xLf$OvS#62f3y?|o#wuo~q>Rt7Ou65S=o0$bvpNk+au36+SNd$Br|+{v&dY(NASx)4)%#dh6M6 zuX|C)XUV$;mzy1&j(^7w2e3JQU?H~VBw;e!c&{DmfxEIubh=qzw)?foDYu-VmtfFi zYUF}9`DxSm%mJU`A)N}|g+nd3Zq_d0ifL z@89b7OTZ*uZPzWDz*~XNTAg$pRL^nlZG8;XK*j==su``=P1rOx#wFJw|MI#HOZ}{6 zn$MocpoGofLjfBSTA^m6>Q=;#aw(=m7#3!hwcA^l%D2j39~k@c*5-|{dq<||kc1he z9-!r;ej~{euP@Ps{^9Whs@Sg}I{h~SE{l{&_Pz6Eny z=IgDwlEFhD) zPS6Tsnu(6BAXYiHA2#%u*5?Z1Z}Y&%vXzZRbZ!V??yOTkgS>pPxLbMV~b>P3#vl#S7; z&BSlC#ef(S0xL>W_EmNWZ3a>9vD+n?D#}uih4*z_HMAfuF>&{_9g8{Ge^yi3{GMoU>wBd#e+kI1#%vGl~Jz~A-OEv;3yUcr`cRU^=bC=upXLnZtY;8 z@$jDL>0{FniI&CKLfCA+!Ivx!4vjS+ZKRsf5HiuInFpBhpiha)({ObM9tjAJu$Mjc z>d`NU&qnN=V@|>D^?DaMwf%g`h?|oV8R(D;Dk#57*dRa)nGvVp(28Lh8K2rW%4+Lb z)!KGg-Gr^%l3HnymAQV&oh03wX?iU!bGsK_``UJaH{QExd?Mak)3AKp=Ozu0ijv$| z!n(_Z6rv>URw->q3=|e6X=mV>3N)5cJO45uhN|M#!7c1f`B7Rrgj4M3!{&ap&Lltp035Pn|p?nUCl2F7%FPo{H zf1@agMrC@d-`B|s6c!~(%7is8LX<=wi&AbZO5$9%fPccGB>FLm?N}k;JrpI0ZBQAG zAk*MNbn7!6g>h1!71kYbgeOEvY$zC`G6^362H&(#MdB;%jdQZsMJnx}7Axf7W+&`M zt3&YAOPCfV(U<~uW6An?l_&`v8})*Kq9oeG6L>I+lF$zgRI5Zuw98q6@y((nYX7)E zP-+#Zh7(`Cy`eH&fFt#|j+fS}Q=%ko%h8w(ijpL0K`;eHNz|#JQi-n!bpLNCN>YdZ z>}sd{GL4L3$0!{PrCI|PrU2SN)YHhY4vABL2BQIF%UdKebkx@Q5*b=%*z#q&9g5|s z2N<=#=!UUpiDQ%!87f`}3x5@Z8DLO{BZ-XM%K;`eB`J|Hj(ULMhg=w=s8P`G7?*Q0 z(#_^xKTx(DJv)?lde*t;gu?SAGFrkTSR-tCHSN>ctA%kTz}Iuj`cb zS4!_|YuM@a^yxh)1Nr|2nfD$tagLFoL=;}96cVD7NrS4`Eu5XQ$}nx!$YzEaHbW{O z^if-?mNlAd%fJG{2-(|NT~FA8UdZ2M2PhY`fQ#_18Qd#%WDv zyp?6H4p&+JTqZ)Ae`cw$@}$lm5oz@HEpiz~ZK<|+o&aeq6;@^UU=cN)%D+M_TP_uL zG<305H7XIkxYW|<%8D$|HkVO`>Yxg$|3th-epu^CH+XLUj(q^?fo`GiSJ z^&zNL+@3k!b-vhQjGfHRjF``w7FEcNDJ&M`=!FP z#_pF259;?XC>5@?e^zD@vcuS9k{4E?5ocEUx35NWzQ%NZM}1M8FSH})3(q4sUv!C7>L3)ekngf|`{~{^!&a=crt9 z%Sisdb6vLwmLrTS*gZ+zjFj%1^|6k|pCj-m92!^SuWH{4Jz%u1Z!ub4Gn&|eyL~0O zeM#)&@>(u`mMOK>@w>|YnGEfw>|d{b2(o{ytaC;7j}!envVZ7>1>8kBBr$DoKV22yY8Jy?Znx8N`T#GW&b$j*2$^M``17SqyE=r z{|tY_6)t?K?B6;?rJFJGM-}N+ajxBXo+8B}+HpTB`={q_z+g4ey^Vu&btcgIvVYu~ zeQ;vB`BB5I7IjA{_!V_V4f3N(F-y9{@2009F1v&V|R7`QZyzX%&Q6y_SoJT z)($u2u&etwIR2aq=8;}Yj>@EbGJ3zB?%z|uyb9RNyFmCc_j{VBUHMF22Wr9D;eqil%KTKn3Oz>c_}kvb?nf2>lM22PW42o8iUr zwlwO62s)P+LX>_yh->jVN@1*6R}Se`q_!gPz(nnL!A+ANKmg z4-QRPWV{0E?Y2G7tK&h1OcCm|yTi?aZAPR`e9d4+T+|8ag*5@`2CY!uLi@5IzXlN^ zqS>ry!O2gEFIzaz9Q&AdJpr};AZ~HQ{XAxm_)EkJo(ANg{TX2s;jx*O!AU!Y=oTA; z`DO^|CeYzJu-NzG<#~s$j8t8@xY+%4DH@&7eiZiUg2JS9w)1(={>_R>Pv<)?!TmW1 znbYzl!>e0o=`}e-14?zjKD@~MGp)0D^3(FjQ(JSFI~0!hTW5JTxbjx(tZCPJU+b&_ zstK-T4(jR&g}34aXVbEDE6m)T41m5OI>(K=7+ty?&H2es)tjIKab0@vC7n> zFKgfUw3N;@ev`S1N$K1=TvJ8Q_bYDfPMHL*jS}6j zs&()U*#&lbf%lLKr+^kRlhgdPoL%ot_#is%xs-96V_nilw-sQVW% zm!|9pTgAg8HOFV>)MP{@cvg!LMxCVzZ zD1CfC%=BzSbq}xRN*Nr2LBo$SzR8Z;k}bPZV2i;)A%g=$2JDI@N>A7wG=mdxon-h9 zo}FhCD8U5>vUOQ zpp`R@AGBZ;ISRFGB`a$ zJg`U}PA~rs94AkWKqqmWJh$eN62}3%z;WO_-xrZ?d(<&3MHIIQb0Wp=>%36bfX_{5!uSPPuRekxOQOqUfreaqSiPE`DTwGk#0+P!Nd=#Ob2$&qEpT@|n% z69c$)$F-7FqqBNB6c$H$QHV%G9AFS_frneArT`RS$X_dx+bu{w)RpTVb%3&p`*zB! z1M1%M0%zEl5{kzz&%E=;XzwjX7;)aP+fQ+Kp496KQdrVpQchtf2K?9_k?(A7tJDV5 zhxZWPS6C!-^xO}G<9J`$f$c6E?`(eR=R!t(N9(?#BQUYQ@m{u%^+f>TX;{tksyxYY$1B+)qEmdM8}eh@KNSwDZFlqNrDkM=wh?92r zbL`3f@Rqc@+U1Sbio46BYN{z$xRT|0aejVYCd+BZ8UOzLJe8Kn{Je5aL{K^;Ym>XW z4k&}ueP7t5M?udz>)rGZ<>wh6d`^De*{8(D?rvy~2|ok2{>75NSBC1jsTzGM<4 zU$SZeuK*<9S&JZbLi=kS^CQ-6TU(GMU)?ncO-%Bg?MtY3R9miG>rT(m%v}HXqB4Ot$&6~uwLLgm!Rk$0*?#01nN%2isQt_f=fVmAh`s_ zzjv5*!RhBKU1a1EnAkZuS{>alx0dina0!Yw9}&-S3Kg7SL30V}_7hy=5+waY_X&J1 zfeD@O;u7dc_+c)AL7?f_`&kH*DDnFeVu$2At_sv)prsJ^z1m0}4vNt8@KB+4g)R4Aarc>xj!;q1YBIsPos zQ|E;X(hQS!%MpVcFci~Ekptmnw}dI%T5xo~(xmPgmjee-u*iXh2xNRfU$I$O5kNpV zDMtCvM_I5zPxo7TW?3DE(7)mH3qKL=cGj*O`Wn7ae$}%Gc3Vc1a3-+BM^lDBZHm*I z3Ew7KH9ts6*hr5!rUxu?6IXxNz^f6QCg}R$7YOQ$l_r7(jE-u-rl6_gX z#^pxOJv%3Fto z%ThUzs@T)9bFgbfuZ+gp=@;olkhtxkDp;H9@I&?nvtHyeADm$uqC3p6VUZC7E&>@5 z5UBbdd;8%t0(P?1qT=hT&2j`J9Yy{6Z63u6Wpm=tW9oH6!u>^2pYWdg`} z7{PHwg72~f$GHiP4-|ZFDWG4KH5L;5^7l`=E%{R8c@DSURVnYPls|wZy{l5*RVgp1 zN=bP>#No+WS-_GNdxU2d+4Z<@94+WHa;l@f+mT6uY{KkQd*LIesW|4L=W6eNg4F}v z4~_MsY1F?GxYlGPrzaco;B|QxjLZk)qeqrtZr2z&VL2x|2s~{^E5Qt=G^sHa3)#q- z2R50mYgKf0Vk>lYVu#c*3eL50E?(0_DV5W$5WxB%UzQfN=kR46@r0ZCvPG}GgZT)$ z7x85W?K?ltm#sRa={EVYyy9m1YlAOqvb5nZ)U(R^9dsL{S%={MIB9m&v!eU;3_UA7 z%{NH14u~HfCe0cV*6takS>~HPi8RZft^q?OChVk$jpyvpK)UZmnzbU3yF z6*@eRr%rdNYS~#P0ds253{_FMtRV``rfYVj7;%ZNPZx!uswu5HOWVj%m9)YZBf= zw80pjE<0|^_r=?+eI@G zZnVCgXEDI|J+XQc+#z=?1mgw+tmq)XWq_H0rjraXlkNdGk%OEY8DPC~^dwnVdjr-J z*xmMT`!MIj7%$w+d2E_s&li6NL}u0zzW5g0GQ4$JIsfG+FQo$abW>xN26lv>l;8De``R95h$c-kHlmejY85$c_`#nDkcMkUgy%ULm~AV>!Xm^m%Uj4nEiZG+E{+{xlOpqdpIvn)MZQh8o}W06MshUruwpUzhVH4EAsNKlmI zGRT6P1sT`Dz|VeYH^HmJ05@xv5?qCJKZ)Ru5C%9VZb9r4Dcbyvk!x!>0?`)t3b4Q> z_itx`)UlI3)+wcx6i&`H7Bz)1U)`R}Pi%vu!0ZTekc^yz7-w+k4D9NZ6P)++X;xNb z!J4^|y=f&%6G!#D%*n+Vja6c31kuF)G;Jm5p;o&)ppjaWw7H9}EZrYE_o-Jm!{ahA zPSXZ(5TFe6h_sLgpAJJ0zAk?agQdH_*$S=@c z@|EM6$Xi&??KlV&G0{TX}cZC%Dv zvaATt^ljLOmxDyo(Hu_|X@OVn=%@Fr71b*|(aLCaKwGtRM~{udgLBtDKGbtj=7|lw z?BhfJJnixGk{NVU!Zmu8WQHLaZb@eFhOi@2Xa%XyV!3}IZ6%s}!ZLuAHT)Lg#V z{M41`xv|gz;TnVB^n!L~Ak!-*UIfCHWCmNEecn+cg;V}`$&B^JB(7FzaIU3%JgAHU($Z0ekJ5P8Rbm`TwL6OUl8m|}$URGE70b59%! zafQ4NP*GQ4ySxIQr+(+;W?z;+(~1@^gLS#(R}kd0jYUMnPEiKL`zkC$JV&fGQCS0o zbOwA8Ma577w?0U?*6>;E3|_tc(Ub!uRX8B~^@qIwYQIy1M^ad3*t z(rhKD+(fas&j@8{wYVKWvXj=p)(Nx;I;CM(I@V+u=&H8|G*PZ#sLCW>(tc|jrrcgp zmUepDu_MBp7nWdZeO3?KmU!s%%WeBQ98M9$Ie&Co;vSJ|UH=TdS2x^$rf!)2XKX7i zT&KtHRSP?SjgCD!=eu{fh)sD4zH&YDYd<+$w#+T;G2qeUqaFs}`3wWzX|!y>G!c+p zVZa;qk>-0(rNha40sU+?J(fO9xJ}PN`c=tb&>)f_2qVE|GhZ)I9%9- z(N`m* zl8kB6v6qUBC=43(V_?sn9-=C)%vsO4oTOLRtpteSJy+-+v|2~#RWmmiv(D=7mSZR2 z^sOK71eo9YO->dDJRjQ|aqy89#;gsasu4IU>#(6Ix95n|!iPgaw61qp0sUO3Qzh62 z2f9Khp4D0bW=w6MqXS5mOUnqfE`R8^$+ZTuEWv4vREru_WY9QN8yHj|C|O$&-BpYB zQ_)1-Rc{PIQOksz8&x}4w}zmjbKMvAP_L6QIRYck3}5Gyqyi=Fegc`9ph1&I5bm~5 zW-cbrg}g*TW@ZNC9+}x^6AAOv$jpqE`c@<}qcs||^#(FCoA=4gWmH2Vb0e6^w3@p} z;S{M+BaFX6W;Wyu=@8*TMuIjVy;DRgmY?DfJcUiTW4-4_Ft%uoPyL{mrRp^H`Da7G zZNcAzfVaAgzad~pCTt4=Hhn_g5b&L!T#BV>EI)G(rPQRmhuY+4usun-Eml+@oE@_d_|s@7@;QjX;gAPUfL?@_+0i}94&z}{fS%)^-khjd%5+cy^rlZwaP&R{ z3eZQy9kTP&UI%Nz*%`WDTLSbPueA@urw4#plt;HqdB&?>L~vR&{+8CgCV(j3Bxn?- zwqwIp;77hv_vBYQ8Pbd1>#KTZWQ#`q5Z&h_=qnOH%w7|)A#XDCOVLlv3K}rhu~a4X zakMv-EqoXpUaxrc`20On5+v{5o|0F#ur*e z*Wtz0QVWv^pc2*P>4&VHu-n8BOG2s4$;h`locp`Ncw8-0i&>(DYFq??BgEpYmLTZ^ zK42S#;(YAreNn|Q7ZIm6`V;*MU$Mz@aot7cTG2rh&^s({rDkY+y2@fZ?Yg5VUT!x? zbDtk$WF49|Jw~`^RHLJ|-bQ*3+jpSc568;70X*+4&g;E*4^PX-b2>-=E%)%GQGh?U zhkGc=LwmTPoxS&Pn3mJBVZC{!H#Y%YzW>vLmd_wVKQJVAKj`BFK&jQS+#R(m&aZfCbtoM z2@p|c$#HWwr*wJ;b&B2PfxE^R3Vx#uC)41P{$vjMatL~bw6|?Ho>mZx5$8wLMQ;f{ z!~(0tKEiTO^Sb^poEEzJ47my=?{)_Dd;JVrFXRqTls56_$W@Rl_&3W{+zg7c1QCOx z6p%%2QlO|V(RNG`q-eya>C08zNYj1GRp?>*2jnVlUE9XXkv}INzT1%fYChaH-`UKE zdrQfK`S8BlzapLJQ~B_XhU|Y|K70?yyd@uQzPabNWM{|oj(oUTD}Qu8oFNgje}o%a zvfq&p=a%e)@t7TX?$77LOME_E$P2GsBg|l{mf(fC z^c=Kz*a>a z=BYZ*DFzG4#6`W31XWW=Cg$V<{m>*A5E{T@p7w&Fm}fVQ;O7kVj)gGCml2W2Nc~a2 zNCWi&rrjGZU z4L^=Dz#dGPib1z={NxMsYtuZ5Fdi~D;0wO&nCC-!t>c0(aOO#!X(w?rma<(yexrVP z&tQwLmIYfxP{!PjbFU80(aFC2hIqTzwXQ>2g@~nVG$+jZwL9eA4r`a}qlX=#^zN54 zrgwS=r@q4{1>pW`OMP|D8ANXHF7>^qZ_&HdSKYv?N_}nLA|`MPBtbVxSYhE}f7)wS zLikCgzI%kPXS(}SJ(T{*QS!|-%aXa~(9|6E*>f~au9W(koItj!x*c}7+b{KH6PEg# za3WiOJ%ev1sJd$Sk00R9TU&rqUo6*Mf9a|{as}@dwa21EVyp|pQs1Zt>kg?61I%Md zo7q7nqmLtOjZynVJ&v$n^2yD$_3p3#Myan^+c$T?LCX+>O{6xxnjJQaQeVw}4+t^I z)Fy40`>D+~yWgqJ7~iG7Huy%D8saG|K>h^m?L1(1Zg3k~Z_drPOzb zg#GUy-R&>NcpXA@sE}X4RKz+jAdHJf4J0F|BzjppH%9bbc3Xql={*R zwhphuR(zNG(xshJU#AjlqtsXb5Cu?E8+`-vbYE2JyIxn7`le>(QeXPvk1zEd`g#~5 z^+0@=`d)tc6{Ws!xsIJ_nHGOLpIys$sqZbrwXPEVUtj85)ajsi_xCCFrT7g>eaUYD zM2UX)7nJ(qclHA-eJPYK9$X}_U6aPfWV--fw6uNzU2X?q`4*MFz4_E*l()PAu-vg+ z4a-BHe2(c4Hl}}*GBp(bM=E_|yW*Ra89zzN{E|xF4NR04_g5GC{t!~;FwD!Ya$ef% zi?ZRISbG=xz6*Wdg}#pC6W)cs8`*G%CjLmF?~wZos5_tI`dH4$(^nPx25=HBksU00 zpOxHca;53_Svlsecj*BHyJfwz*~IZKb_#t5^BmFMh4`Fz$>}(jNMmt~Fu>p?5e6`+ zdv;qJT1N_?bc%Q8WCqw{)58yYg+zd7PrD-C1sUmPbJP!%qZ!~wIqAcx7JfN@|2Usc zuw*zUM_3gw+4Zmhjn*CYE{8SjFQ-lghg(C<>pUh_ocl%y_N64^p-hJ|oz)0Vwd}P& z_X7Le8?awxuu*BSOV4FHqXBM%1h2u2n+kBEvLcLYDE*?8I-53u0x27kwTW)%NS1eZj1mW^L6;VQ>0 zY+iIaRQGW1M>7~_8GR5@L0{?Bn2E^_L%{4qMYuL<&qjFlCM=X!$5aYGhV2!Meo1lW zYyfI_aI%KMsmKn<0~dag;erRJ!&7j0-_n~cfY{B++L)@6(I@0A8RK|{x4+@_qgA^W zAsgR9WRh?um^!j-@dgBhoH#IA(!T=-h+}C|6C9QTHRsSpDm1$4w_{9=-sRJ_0;>ws4+5z6PkARqq(G!u2WOQOW|6gZsiFSgL;Fr42UW5ux+Qqdw zIXCrVvkrfN%rPq*{|U@+xk9T=4hFh zL&hZr94`*;=06B0?!W%i{hwRCxH=w6c`~!%hT6{d?2hMrt+um_#&mmaC)0TWC?f|= z)OJ==iRjgKvQ1z#XntC4C+9+aE7o?RmC06Iuz9t%lj}J5Ydg7L>y_G0%ocs3V8h8# z1gFYVB7uI*eR5_bJiChz$EaQtnnsA{n)Oc5V;vTCL8s17T_bRq}*sEHa1(DBX*LwvB_(k%~U}Kij29P&~0s|QJ z4;@mAgRgWbg#>Ft(%X|$CnAn@3rcd_GIg>TC8;GYxP>h2#Ul7*>gVVmeGtmoJe}|o zGX=aLU@35FYh9&d*RO{sj9fTpExc1eU}v4=g@u|T9STOR8ValMq}aze!QpnP0(*UU z`hesh6%}FFAOZFjtcsYGu{UZXkj>5je_C)<1EL%5;T`+Gq!xo&^Y*q9Y`FPXlMl*rqVlf3 zpI|H1xjN?EdNY2QVB@4)ai*(EutmDQ9h(~xZ0uQ>(ju3)v?&6zpI~FcgGjKokM?s3 zHYVWdq!K3BDv3Sw!hu2(9H5WtO`-`CY_ra3Mq3q&CY=1U&bc4KhzT~0CimWE*c&NB zurTGmVc3{p(;TJahX+BBWk12@WPvvFYfkOTc7DxxG4Q>iGh}jZ@_X||fY|?w`n&H0 zC+~^*wP{QR1(tP2kGw4Glwn|g4_&l~wQyo;Q-o8Jg>3awdwCQob@BmNt7YYwlbt@Ntep2_$YJn&`K#z;U1I(pn;Q?C6S$M$N1`0&g z>*b1dsc?UCgbM=-59m)T!^FBGJYYIYZV3-08?PB&`n$(C4YeaYFzC}EI)JZuy)DEv zdhN5J>Lv;gG%E-Xw9|p`K&6R~5X5c51Enfc_cMeCa?FR)3T3|EVwq^sGDw?REQe;L zm9Zs=ak13Dx-6ExvT|x37R%VHTj@4bT53_xwx!b2lN`oVR9bp1Nr}K6eo00a%Tc~` zu)GdC?&D&qi*s3ySuK|Ohy2=Hyz9zhX`&J*AnktLm14PVv2>7PbPjQ`H0UC#ibXwK zxL9IYIxm(wn7|@;u~=FFm?@Z5<9TYaBuN%tEc<5S#gZmIE|vpLbY3j!bKu2tRHh4F zJ1Z;ea=(1ByiVK7eSf*)ENNT0PnYj4OWGFLE7G&zJoOvXwsJo-1@E`=#|^`kVq4z6 z8!v{eATN6P_v^fvtba&r(KnYDB|md=5V~jaV!oTaXjSG-Ud&#bdjYGjV|IlXqh+GH zUqbxCG#kMu&|7Nv>!CLHTeKMS%D*QqhC%!k)ipIO#-jXq(DP_9Io0J!pR6wWt##$; zr@Rcb6TQBY-j)eHTuI+%#ou2^KW-bZdKBSBy7D>dk@$xz>F>~$zqOM7WxDb=gaiZm z`(>_8N@)oRhH}1spU{4k_VF;E-0R_Nhx35_yM+Y#R1y7@4kN(}%EJa$)bAM!aw*NC z;w(x2g62w1?+8-jYUZr4C^fx)cs%KFqGOVFZm7*VA|9-XspM?sB*g4 z4mZeZVO)B5kdx9mjVM#5%INIayj2m8Mw@KXoV(l#J z&g$sf(xRlt!Uzm zmjeKU4CW&}CH!|lp?&0q@mwJXzd?g6`i z%CM4t3Ss5?QxR5<%C?4;=BEyle_vSHYgdflpd^wt>vQGVdi9ciORLdT7D1({kzIpI zO{NZhUsGNx{xx~FUfI^5a@IfPu@p4N!MQrWAtBGEQ>@-Qzjtx0<$Mc$|E{u?P}{r8 z_FZMW^91iI+wje+Y;&CsX@0UWFSIWS3=Qp1$3_lf!tMuhqOy+9k=NuBNRtl0kU)ynhs2-thJ8X>YuHqr0fblV${IS2U^Y7Byh2wakEOK>`JyT;c#2O{VMTX=e{vO; zSI6Vh&9kMOe`ysKFP@yheOF;QZ*TBowI^0#rL0f+J*%)vavtd=RalJNeyR$KQ?jOJ z<5NXgG#0#Wpo6UaH=lFq?T>E1tU4JJ&VAP77)@vtT($}qVI?^l-7hE7f?z67+VbT^ zSVm|eyo<1+SS;@;!ZI3NTSZt-t<&vASiCUaUxc-L#aGv0 z_5<-oeM#VAWSL*1`iGeDGgbelJ*!gvGky_%$z!!Pjubtbj946cv$jN~`ey)3pH9Q@ zujk!{PpbZT2XP)bP1Xj_?qs0_LXfhx2}iHDp-g;S`0oau%ak38`|rhGSPT%U?`*Gv z`p)O6-OHfSqEoyqqni&#qk>w>*m8ZnO50(Nv2xt=|5qeh7u#Y|2Gm_A>iN zC6Iz9z(|#_ih#~>a&pE2$Rr-08`HD{EHDhSdsf765W4rQRQDmU9sn*O?mQ;9jtG%nevr>=N-<$oLT93iF!^q zQXX^;dI|Q`ZDW+L&qS%>6WmUZZEpys-$w9dU>(Qh=y`3Pe;1rS7UBhpoA=yE=k@!0 z#BNU-apzOqv_;IG@>n{^ya@p%A7YpGLTr{A?QnD8B5Hw5a~))N8Ff5)Gsc^6d;m+s z=pJuQljjk4*yp&{km1IfSTGtM43iBeE;_CBD}G?EP9+e$P_CaK;X-*^tST(P6 z%u9@~SECb0qn;`|r2LH0zP;YQJxr_faD#v#%Q?{tWfN~fynOUr-`^99D^A9gont8~ zMAM{i1))w90vPlZL8iE~8u17My_m}`*TtNlkcB>6lg;+DE}F?u?yPOeI~kt#N4F-Jx-J zcXxMpcWB%lHtz23?(V*EcWtzBXrK@O$$h%H4>ze*sZ~iO^-!s-HRl-L7%)_a0@DMS z+1;4hQ;NKyVfrpytUvtPTQs^GPV23x0UbO+jD6>6_dAQZQC&(ESQ*V3En7;Lm9w0t z22FzH29RHOe(loeR_+Vg}rWgpx)-Lma$z-}Au<>)Vc-W)1llG}xiTK87ktkF8_YmLH|6jJ3d&xF`b zMw=8B#Y+p8MA;+_cKA17B=4dJx;o&$39(lRJ7u6$ysIB*vBD@U&I$kHrIzd6M*y7b-@+p{$PR&ea3$|zY=vvL%=xqZk>%&z9lB+7`Da6zL1jlt=ZiL!H9m; zEA}3LEIG%qP}TkBmg6|H%26-q24fXJ-FWvw_mQgAT5(%wK~SFop4@TY<1GGoV;ktL zPKef?;clh}lJUjp72_T2#rVRS-Qbfo$Sst6#O|wVW}ibJ$#)j&Li_TJ{B)DLbvRT` z;JmulLf6?9&wHFbmHuZy+kZ>aUQB4j&=Z6=hG`#%0)@?U;A~vEh*1WQD1e))c(AE_ z45Ip5+8vGP31k?_{S7~btmJST5~owFeGMsve$_1EeooO0dtUSEpPK>@igl2hJ&X&+ zC3+*4G7Thi+o#1Hi*(k!69;r!Cfv;4X-&a3wfOkSOCwk=&J$`+XNwOrs;DtYS#kq6 zV~*G*dNpI`QFT{J<^a#4`b75qf;Ll?ytz^l(P8%9dz=*5nl9wl6k(XIN;kZG|8;w# z&k3)2GjC-mD9{QIPDQoU2izEsK|wtNNhk&!x@!nWAr>2t7z&bJ#6l!sB-U0aHLP-7R0Kpw5wd3=7@$`tE>W{Hp!>}cLF?vwmK2Nz}lYQEf&xZ)^}$f zfXHKm;e8h{Cg{Cc6Zi#1QQ*J+>+uLrm}od>V4vHx($g4Wq5s3_gd1sCkFGjNAel)#Z0SN zE-L6f`_;U5H_zsid+n~gW!ZanyLz?q%>25R)oXDblT9;b?@u^k(6(nJ# z{xzvckl&m%y0hu~-*!4B#O->!ofLjwVRPCkN>7a%JMn7kU#NLn8&k|DS3Mnfhf}K? z-S4d;Wr8Xjn>QP*0%&b`no^xTG#E{qMYO6U+LU;D`Yy>3$OZ(*3{_voZJZU0I3t7K z6hMg@^KK@8`Kzy5iVDDfeg9CS9lP6nHN7BxV0LciK22-KEcu4mpVg9P^jtMN!+f-E zo7=?~{1gIBDv=F-zjR$?k2v|>YnT25%iBZ3aN>0ETO_4ya&(yiT(*lXE=Sxar z8{;+g62l2jy+6uM;O2PcPpx|qkIN1eN-tRfU^08MTu&v zT>dw07Q)?pOE6K&&5V8lHcBk@1BT(>!#D-1JIL2l-&ZOktV{EV#%D*~CzZ-t^RMrsc$(DGsx;-rFbJ+U3bE0jNPPD9B! zl)HWehg0>J8|m}OGC@X+;&t%+<6h?t_PEA0qWWMEO`KOjd7FLV;e)q8B4qYv-Z(3$ zT+M4wmY9`{hKKbzDNfGulLk+XRk4o+d|)2^@KN2ge8kUuHFA)Yem=8X6CmrPpz6*6;mEmF zj@}{)v&tC-A`UsGSw{rR*UD#6qL7P-cd?_bdAwpRrv4lDfDNa*iyYY<7EfTst!OXf ziu2hOV>0{ErE7ANa3&x)w%#L`M`(shH9wJeSEESTwU0$;8J9WKsG z=a*wVi4$yzpag(@bnO8AGza_yUN07Sr*lO$lixAKjjJPRX zxKRAxdeH8H&T5Tu-Wl9P0|(LTv6GkM14Dwb8(5neir^Q1?OZq*P7cD@0gO3i2vt=R zlvlZ35-4l-pJbDSpeUo9UOE^SChrkELQ`2NWmLS}$j!1VJ=RU1nE%s=f*_|rh>#_K z4ewn0?nF&0GlGMmyDV-5M+Rvtqj5r`uVhf1IWzg$y5JSIdwNj9!qu~TIBjw7Bk?({ zy^7#^6$;0`CxMwLA5{@!KEql&PQOp1H1C}l$-TR!l^l!GHOTN)SM`?_eiQUyqc`Oe zK%OYwFEuJIT={|D83aZ3xXx3SDnk=?n9E(b;XpSXAzJbU<5mmP4a>2OhRW?Hh+Yjb9rzO-Q^*5(! zI&UtbUCqCmC1`#$M1<^4AMK~ZX9P#|Z%(hLxNYe8cXAyLsb4FXxdG7baYUUwd5W(w zTL%*6$dV1J0LK+^D>eQk>Fy%DaTqdTtNarDM){{m>eo zQ^ZG_FI>Rg%kt=9AvX{t><_IOT=!qZCFJ zWg|Z>Cwy&H8Y!+(;~G66-Fg^n;z~AB;E>fNDEe-iC=`# z^1#`36*VhaKApx5ab5V~XRw4c&yaaIzPEk9*v)l_kwUOb1%e((E+k{)>2EshSWx+j zW}_)e;BiTBldFD#=CurC!CbJiq0|DewFaDF0xDQkwC0*?HxHZvJ6&0FenE4Beg2>w zhYuecZaRE7<9c7pG0f04s=BgZ4{EWMAXzS?K03(XXwf~;T*z7fjRo!X8pMFSIgwgF zRWd&|9b{wj(+PxgpAV=141FQGGDmq$NJo{g!hqsVHt#XB5px^b+4B_L`dFO| z{<>h7v!?vn-zFOYIm@%%CbnPoNY?XYwrwx!`r9bGDHn}8R;G}|aS_p7GK)hXDHAjk ztB$v^afWWtv9b+DMBJb82Q;_n4c&SPD2MSn0HB?`mNg-&9M!zWLMqJLa_BEwPHgkw z7ci{NwDI<~vo340aPn{oabQ7}#r_r%1@k55n%)W+MP2gLImGQ)|6HafBpDv181Gw| zkM;x1FL~1`p&5{7{XRz%u|Ypa34e}!k(nmy5qbGhW+kU-Lr_g&x^6GU)1IW@`X>91 zLl&T(Xpl;IeYnB{>woHBYs%a#C#MoIPWyvr&MrQqO~LJ9#^nL_e%5Il2jY=A-__-e zp0gd1n-N9+8e<<~(%j|5%fHKLw}jps_LmYMWI=xsQ<7~(C@_oxLi^-6HBSc4T%m6E@Vd@?0} zzhcTVm4hM%tz0`KOU|ayjC0%q!H|%I_*!sR|AjLX-TS`N5)9diaZ>^B<|TP%-XoTb zi?-yg(N@HxR&5_hMi>BRva8?UanS|SnS4q*Llvu`u55Z*%coPEeo8QEsc7+8T|0xm z&fNSb`jD4~qdaFx1mH2X9M9q34CC;Th@(6b8qpA$yhF3*~>-mK2z?I%9u6``64G6HZ|g$ce1u@VDEY1edgBm z;H864h(L@$Uf(C1REvdGtkq9CX+*|2hEIe5@>bGeW5j!cRXEYTH@4WqTg!I|Tr~Wg zf4(2L@&BIw1gueB29yY%=bPwBmM~1SAhD;3W~Z0V4h!}R44uUM+xzGIg;BRJ{q=!; zK`Y_?7wC^%FNs=9G(?*dAZ0oeZ(2&sVDU7l*<4f@MrOu7e3E+8HH&Dg_ys|7G^y+E z7{I?fOtmF|WmW+zr1$sq^COV)skFp3h0UB_rGimwY+653o8G=XV*cy_t{sOjSu!32 zb^4WG%A+SIKS~fFJ$=XM$s=FVVI}h(q6D>fLpP10NgSZF974qyp&K`$hHoPhTctopz*+@4Cs0MXpm| z+t>!LRmV7xtEl()pH)Cqd^xej?Rrv9b$aZqOJ41K!H%p90$hOOOQ{ubpa!@CH~ zyX@E>Y4rv_G(k8RB6`7vt|UCHB1mhi0=y}uCF6Q7auEZ1s&G{1^6sh>O8!}YmPDL+ z{(3ZXyDoR_pXZIRHHeRK?sB09t1`@xYdHHC@F zpHWMQnp<| zV+auOhK-(ZuRosE#I{Ovs2>2ACz@GOeox}p$9ptt9E2)TNtNmt8|5PXK;}sL=6Ls* zHgi9D!f1s$Jo$~y0dyJa_qgnJ9sGdq)AR?8^btJni{WLaO0bqe64Q-#UTg!oC}sD2 zhPWID-fpr%#zl!aE&>7Amj|~(I62RBV_xhIeF^G4J>c>+ddRoN5M|`-AePX!Mb49t zsluYfLy7-+G`m9&Nj=olO3co1Op(HO#`$z{{>B9v5{~9&bFaj(_<6A_PB~RPpi9j6 zPsVKwvAFRYuW&IPpYJCyHE3sLz$;`8;wUS!_(Si_RYzftQ8G|`c^k;#^tg}lg|*LR zCAY^a=Qc1X#R~& zvH-N5mxjT5g+4d{rG7*wxzb;7KROFLwOrjd@Y!t)nxq=V~qdDGTsXnR0JA?EE>I=!h3mcuw)^S zqj09_jpq7qb;-h>S4723($NH*dc8_AAg?D%J7%sitgNJFaMIoA#Lx(SgAa7AaIxA> z7F_&Ctv8Rtg!}m(l){jRBoICiCJeRBIfN^X@~B!F#+V1Qu~4vb4J|}GzsZ5^)4h_6 zYN~1;_>oYE&GC4lBk<)Jd|?k$edr1)ZYL)ey*@U)F8mcsnaiiU|d=*oXeKct}qn^Mn`mjTBM2cl=h%8FHqWe>4&X26c{zyO+ zNQRs$6&eFdc2!1%ZFB{1WasP?fO3!#n|LKQ3Go3#2-3v}H7aJ027*%c{_{d=!1G6V zC)#I%NiD#CJqfp-=Jki4k#w{q&?2efmq^4M&brO-&V2mP=di>-T$D8k5%AJf2Kp!% zs5wxVQO>0LW2%g zDY~2U*fB=_$+Z7joH!7JN3gS6-hgCya3I_4$Kah7GgdS3?=fMmd##-_jv+`+m-}<1 z{nZC0@Q!O|6hR9mdMVeZ1P$$t3$8$jdkVrfMxfp=49!b|tuc4sZL zJy-MMDt*ctv0R>cSJZwng+U|*L(KTyan6$y3%6QO zg*cCdJ;^UV{x=}2cpQmLETuD3*0`pH2$qXkmUUlR_hnD^@(A`KU~|gjb+R0-`?nAc z;UT&@vt&X1tsb8yMe&g%mnPSO8JP@r!eK3i6qv7=r}9_X-Z@{g9D>w_KryVO2f7Qgkt260PXBbT(;U@9qhClZl?JGlwnU`4<^WH9 z;_q|K#1WBlN=oe&*hNjId$0sv@?2~tWm+{wF68G^q~azzvpCODik>a*ju4M5?kqmg z)MPj~@uj+i6)FlrQR479*}qh%GG~H&iE;`@CfbG#EXQkx+t$Vo8s_cqc3@I075AFV z9L~?gq%*5SMW8GxfFcT=#Vx~i^(PkyPu+p*oI_|hSO=>VcQzZ(FQOB=jGti&d6J^w z2$xJi3C5pyq$hUs!k&UBGm|LnnI-8|mK$G6ArNFxoB9}0l%0|S4+`QDj;J*e7abml zo6r{))HSLGb3K{qouH)=2|pc9VX3R(5}RkE#f0pd*~MwD79&8DH94qN>4ey@o)}0! zWadw;FGj|!6Xfm^B9&CK%As5g5X$IWm2(;Izza1V>MDz#NHoN za?U(RF5b9QJ*YXwg6C@8VCV|C=VAN!`6OG!v;|DG7gBwtOfxHT2rSv7B~I@@7=}vs z%`me&g8%SXSiyKkP3G7MV_wVOk6RTqSanMXs3K)S!KM?iZkH8P7cea~Bq{C_>%OPFbb(C=L#R3@N51XQe)c&)qj#9=9)B(nb~KTh*P5GGI`nc7&isIndL zRGT?8!Z!@bDrF;*C9fq6abu$ll7msRWfB_s_rcQ0IbWnqTW&yTlH%chc!tUgB?4^i zf@=aip|geXKIfZ%@SQy)atKpoQrj19Ks3KyaGIcTtq7D%f6A{z%wf$8M*4CD6&Ce` z$nSeXVNF0-WI!c~y8`3}Y+5}X&N(U3O4JY^{`|PM{%85P2)Zwa{>I_wqDKND$&~8^ zw5{7bG)kh_zx&Zu1hNW>w@oNt;B-JsacZADM?CY51GyVw z(;mRb`#UD7iK;0%zjBTk93n1dIPMW^oYMTasOc|fWkEObC?$NScnb#J5fC1ji^Nz3 z{7lWVd(@r0Tvc>=HUs?RFrqXIhqXsjXgRGwPCD%7{BwkjEm*i8aOp7%w^Gd!qz0sX zh#+!oI;1tW_H!5m_dFNKL9e7gEe$vHDp0;N^HEiideWi8L1?wKcLp$CKRmf(xXlBbEsDIlqSu&j z;4tYL@j+sp7R^8$DwK3q?pP%EV8FFt1Ewf)=;O4^M7Z$+XVaDcM(F(7rS??^@`B}OOBClprbtcU_Y8c4^|(gbDQ(*uLs-R4(6 zgGrJv>~~j{0f>`OUg^hWviGvUCN?LdSuvRAkTB)JHr(mh6I!bPT=u_=b7&QOMBfdY z)dQpfm4UdpwArOuZ~Hh5m~KPV62;3XLtV~TOV?2Q1Y1Q=3Syu1ZX5Nq%jZkxxuICM zJ#Mzj2h<-R`m5Ev0a*Ia2w}MVU01AOxPEN%p-v%h2R;`~?W-Bf2M8N3<{>R zVoSQun+$rlfaTNAA#ddp#f5?Jh8o2{9+}~nO5pkHQ9Tv#mE3SO&8jDc@p5BC|JlFq zs+|VtNo(k_U3%V^%cQ$SQinBmKkhc?Z1FZZ$L-4?laXqX`qXosb5t^KV_WK2TF!gM zW&J0gr96fA>@~BDB9vQThdV<5bTqRQXnX~T+o(F2*X2E<+gB{LZ zo|@yX40~7>-{6KmSto(MJ#wGxly1h4c^*-<#NSx8;QN|RbK@HN&u@L{Lm2dg9iPZo zcBP+mlq=u^o+p`-p`hX46oNS9{cNWFNL}L*bW;=VjmmRQ6=Km0VXz_`p%#5!a3ocj zHbKR6&ZR=d!Ns!>lrThqEbkKf9oJLDPi<1xmlZi@>^}&`bO^k$Z&4QwjA?cI01&v< zQKe`gwklgjt0=hJ#KD#lrXBqgO9_zSra|wS=X4mwSQVV#Q<;AMIEqY9*A{h9a&T#Y zjVQiRtL;z=007*USW;?W<+M-SV?W5I#`0V0kb`k_`R~t7-CH(lM+Mn=vaaEm(OmPZQK^PUe2%VZh zxlO|N%VFD|${03n11^711kPC~dQdGIc+{3N4_ z=0M>-5)?_dEcpyF6$uKo%G9aA_c6xd8840>Bz=c`A99AC~TKe86dp8BX}xkCIt#v9!g8{pm1ZG-JC>dX=C+s z4Qt9n8R^8QIt|w)&If-jzj*46Ho|WZgiP&d1%ZnT{HxYEHox7C-;6mCj^2e|6*~l6 znSb?$wv)jaS;?BGVGq2?%d`(-_%1S5*;`hUr_O#lyC|F5EZ3x-3xCUb2#c7x%+wjJdWFE*4{gOSNj~5cOYxZL>tB8 zi_rVbJlu}u5||*9XgEb`|BCqr^zCNk@GWoaTkMSc;)OSyYXvceQZQ^5dHv}g;Sp9) zT&N8-*`SzeZ{WW4$HUgP&i&8v(!@%W{~vF*)(artxkD642zyo^RiK)K?4Ao8bOF0C zil)r`to|=$fQDV4EKOo8zXPktsUfpsC>VLy2T4mGuvXzX45-(Epcsx{1Or7WJ85}{ zPCleVkz2tuVZgt962XdFh0BJ5H%Kq@m-%8M63tC>{K3E|jsWYpuwnV`avS~;_Dr%J zwCN;Sq;;$hCXqSF*JW{Dj*>IVcafUuCwmP2o3u>-y}? zZmGYpOc!!9q*zl6T@(#{3)$1;@_ylDXR)){RF`rItQta{#BSTrJK^ObWOUyfp?!HB zCi(Qh>YSqyRR|FlYB$LEDf=;GtU?~ONBvg3sjUPd_u}9im&9QiS-M6d*|HVB?94`* z9S!=ly1|kfXs$>*{e$axpX=zA45^(u7=H9Sx2;}#YG3cqoSQ-OeW?v7@H}vdAJ~H$ zX}Rcr2|Jo@Z=RdE5trxig3Nkp>*r7P?NJj8FNDStE;MBhwVLYhWiGzxFGd;y7;EF?_aSCz)7#c;lwxJJJQltB9}n)!}&{~ z&=GJ{i2PvilWwR}%fpq9=AuB&B^?9L4@u*K%NAJWNDU?hMWEoXD(1~jVWQIS)ska( zQFd0aMs&#mVn!_G%01iL2aYkWMz-7TE0ng#Mfh&x{%P$q9w*;ua18?)g)LZwEi{%6 z(({&-GJShH$WWvTbpWh*KtdeAeNMP*R95czd`R)!-9C{$-QRym$=IOyn+`Fm+A91fW7*&e%0XpmrE~xDwW% zjut;5W)U7xtWu~RrDkN4j7c}MIRCe7PhlVsgwb^Yuy3wFDyM`oY;=|{qD9BS^~*JM zoNWMsn+NMJmgs3{*c_#m^-L#zG8D?757R=YmfgZnOqW1RG8!dBbKtZTIp<{uh)E$S zt(4}~&k4fh1eREgz@L8Mg&o^XQR`&;kg6ahm44wkhzfoLkL_?KgHBsV_7}yGpHkIf zRh3QBsBQ+s6e#}3bds3at>N-Tpssp_X=>p9v=8#6X=R_XG!lpRC)l>_sYuY)}%q63eW)>vcDRp(6Y}oz*nS zK0TNzwu@EB(*bO`Z~lE5vKUVoik$f3n&1q7bM|{XADgeWgK#v8OR+6ElW8;SEkprIoP7FiVEBa2q*7tQ9EA!LZ;p zS=v?r>HrvhG<*Pvz%WG^O3X@3v3*v(=r!VZs=$GM8fPb`nxG&$4Dig21vpm-FM(#SMg{m%i4%TH%-hovA%iPQ@_(SZ6z ztyYI0L9UuPMx?6*<#e*!bz2oCF0Er;LC! zB#vQP;LeNG7gjtcRtW zk39sH0)&?UC~`=NBAw1%%S)2QX^f5*~Ey=bSZ6Qj~#FK=^{lkfDD zuBD$P<4@P#KHfPR_MUBa=?%YJ*!gc->5Mt~>)^QMwnKgh(j9DR55@Fgh#^79dL}YL z1$AjlyLsnG$Rs$A&>8DbYt%@;(y4l$%*)5in&ahuaHKV0kdCd_D4_=b3LWBXS0~N6 zS0eT`cWcL#i~1@QyGB}L4)L|IJPr_G{Fk!Vdzw>ZnoqihnwEZ4t**-XxtMi1pLTr{ z@^#Q`%MgCTM1-+wfMF?RFSN^r2N z5z6FUC8N(yvln@q(}uk$f&Af|m2(tjK$pF3n++e+5DAtMucp^s9kX7KNgH`fzfYbQWi%m}<$f#qYrNQ=VL*n~g>-H?!v zA=cd)-0DdjQ+-5<-p}-OC&%Z(k_W%-mr$;}02L1MfYh9}>?=8WA;KW2WT*Q#O)zWA zHo?10GfZlq1Cb?i-FuOaK5#jJqmnpUWnKKAoo*CAQG}Tp>x@d^jt175Kwg*ucOAR!r6->{ zp?T{xh;8T`=8$qPa*o=uTYC)yxz=rX0}Hvvn>szDxe4vHQ?axm;5i;>NSZ$*bDpHQ zZnkyf3;kAtXX*GepN*icE5z5NC@OMK{jy)5BwvlxWJgip0LnXcY>F~p&2)$7+Kc$_ zWjtwqM$U>)umW~e!7$9<&?Et|Rd#5hWE3xgE*2#WtT1qxd+F<<?GFV)Ocae#Qn@rvenO=ZQM)XIT1CROA@;T!ChliCJ;GDV^OYCM zf!0#aoLA|5t!=2+nS6LmV!M6mRGA{%c6b={Ym*d68Fonm}V9ZXJZr;c)Jqm-<8)WGZn zY3Imk*1+iNy9|uk3`L(;EYuue+KapCPia8-Ve6vQB!*!OdK1;ae6wz&jh3}^P&O<2 z=A)S+(C%k!;Z4KxuHMPNPVK<5|o@`wMkM|>_4{D1pK|&J=kqD^cER$WZyF|6!v3o+8a|< zd~nkcd4oQA73LQC9{x&kFSt~${Pt5B-*-GehVjeKc(u-SPkS|YgKAy%tjc8_HcLlGTW~I% z!Jq>J&f8`NQO{K$pTfru$Ue!DL7A`9pPWU6HfI2|Kbfjb73AKGOj)po6BvB+0Y*{J z(lQNB)M-|?FXiYzs^&I$7s|`tAl+i7Eg?CWFFd36`sMMT%K91@DUAnr)b1EbcVz&4;Mh zRgv_7XAm!hgb$Hqsh?U=&v6)9nQ;9Rg6DZ!$e;{zDGjWXe-(4sMd{f$N9w08Fq8!% zt42+tJUS8@5;qx-QLp)>LuFf*;s!R?Xnuy0ug63&wEVZ+W|LpGzr)L^TCFxC`nu&+ zFZVDgoZecbwih5@6L|N#NJ-7Jk2hpQP%cr`p!YpV%)wJv^W^E?DKc2708N0H(xa3T z=0xsE*iq=bT5gYUseftSY7g)e_uwt1OBQ=M6N=^{Prm%ZC-&0y=xznl7ebpQ?9@$K zCfxcPdhqTX>|Q+&S)cfO_z(fEUs#iaWs^{kGiNC>*qgh1?3prm>hKmJZsMBrck=#5 zl>3vMblq6COR~GM1;ksn-`<{8*4)S&v<}2ZzosYD|0W?Yy`s!jUwuO;;m~`-M`F&K zimAQFtwfp<=jMNT82YY`J30WEG#xDJD*%D_7u7Jz92Y;MtVgg>*Dbv?AefXyu)F)O;~jirHb{ z=Z6*8UB_M}lXvU6)k>6{)?H@gSaY*T13qi}?;=P^Y6fk}!suVSj66J-PrQ0mJe$2p zMi_YEKqnH%n=w~sgMah9Si%f*{ZCHWy{;(7hacH%^1jPW&XRFwMSlf;QGIze>tdC@ zp1nCe2AyeB`zOGSB7HBOq64%6Oal44$VIP{eVX8Xgr<^Je*W>Ij4sLRaluzUkgkB^ zx|k~;n^^Lu+saN9%RO4PUv>*X8M8fAeFP0(C>eZU5^oC(Np)7)2p`dA)RPs|6y4}xTWdGDB*hQt;1{jC9HaLLsvFbR@ZcQ!1@z3O;+ zf1-f?++*e}(#qnkA*^v;9St7VB%zd?L5a%YX5h9FzO~}NJ~q1KDzVM%QXXH!hRFL`r5siNdaJ-hZzBdkMV*{t}zp7AcXCP`1F}_Tk2(U0pmH zW6TW-lL+#Ym0ZusqU&pD*fgCV#MnL3MOB9Jlcn`N32b+tEPn{B=j9GhN6xuW50p%> zpe+t@OioxqLcO9f>Yh>^-_Rz&ZMq%tSP)9wsUl4gsu;6Ug}MLACmI+p6DpV^hTEnH zPUP8|+HR`_kw!SBFYxaZyj^E7NBj4V9fCIMHfKuBcGhhLop&6O)7jef_tvVrsrhg8 z!_hI2IU<8!>9Ra8b7naj?19LY$kstSaryUwlz%Er8)Y^UZKdF-)HZT zPT_yMs1lRZ4^^IoVyvz-LggNdhq<5NX(ac7&X6e^_rg){%An4sWI~k4N&Z0Lxag^@ z5@Qjcy2E1~ULRpCVp$jwuS$!O1J$f)FlaGrlrw93Y8dhkIBdf^ALrt#9T%kiMMN@? zD<%30*ir&1n=dIeD9h9}0ijNn5>d*K%Z3j`}jF(y_7W^Qlg7Q;6N|Wrj zN$i(u45EX9ya!=7wH2<@{LS(T2rS%B8VvR_Df(eMh8vgJ3%$`uici`DR&$Q_3=Jt# z3S<^xGSZDgM|qFEQxmbAu5gvj%l-Gt&@yK*+EhcPOg(;s3N(-5u*Rv)(qXl^0z?x5 zVTev})D8Hd=ub^AQaHjAcX5!m0U(cJdi=0TJ3YPAZG}OKkq3kIeaIR3e{Ul8MeqlKW~at3YG_2KoM#1*Mf#l zC~DFsUWkB8BdF(^#LUvX%>_;jmWe@V5Nt}W^7nAapT`>j92=SuL9r?$Y;Al7exYzQ z3QSp42RFmQ`KAS>)N*}c2pP4kYbeDolVsG}G@B$0o{L_f2qZq16o+pJ5G*cq8z0L` zS}~QCI({7Tx9jYCKNUm5MNw}@AWfNTfSwVU?1mT!VJsXuytEwCxz z`oFm>b<`@nbQx|vie_Fk5lzh?nM=&Cw3p4y6l&&r_FLmyLEyAjKi_Y3pIy-@F#2kf zly|XtKie_%+2C^0`&L#qe|b3={JDaUMRqUwh4W`ym&zcTuM9Tq4MRrxK0> zG`Gcfg&VeKM^ilL$x(2J*LP#xG|FHCKg+HnC$**fC#+?Bmu}Hp)W~N;a5?8v;r>H0 z*CcI539OES=A9ShelB7;r$MT`Zu&_JF8qT}&HLn36)Y&QtKVWp^-4+b>FXAfYxUf_YU^Xpe=v)_b{*u`WG?PL7uwfRnVoz=P?YexLy%Im??`Prv&0m zrWJsTsyLHa!_#UdLRfeRWs}fgwVZ8r|=sIOgQ)e>gWICR0bAnu2dBl)h zYSpQ49!jeH?CddPKH6=ep&G~{O;TP(C;rnrn3e~2s%($~Q%TfvXd)*^-gS^?BC0ec?a#WK@jBFIZ5}EM!uH zjoIpk-v2pqnpfQql)39s{ z*JKU`jbRKokabrVY#bQeM9&4bCXPr8dIg@NNb+d$2puROO*j(72;>t983&4t`!29f zN}o5G;Rti@n=&+$2Z6-8yk`VCH7e}+JR)*3$GM_}sH9Q#;8w$6#ryQC?;72#$GnDD zvVoHgpFGqHtZt8M3Ja8^T%=IgN9krTZ_ZO5>&<<}qZ;H9!TIGUH_+zdE$s4HB5oT* zCzCqky_qAB)WK2YiWmZQFj(D;a&UNtN)1OwDUr;3V$P641KjWc#zGxHiilo+BkZ-EVMt>?26O6w)Mdl#Z zPvXYa2>u~wqU6NQWqU5ODvVY^g~e}mK5^TAAj`pqm4EMCOktK}rHS4klp(omJ%!l3 zri`?JSsfyq63YNY&f@lA(qqqABS@${R>LQdOx?y>Apay$*u)m_+2%RTsa2WXr)66g zwo}9M@RsK_^S_*A%SM*$FwHZDoGOAw25_}JQS-M!k+E0@dM-a~ad~*QP-J(k+GGMT z`%w^CWs(=2sSe4~j4}C&8C`R8muEp`gGHj!W!6xIkb_YX{zbl*Krmo4vJD%LMN^5| z^MX+V*e!5OL(Xpo&-K^I;oY8V0YcGjD-A@d|2%(>FAM3aO3IqtE<`nEgqSzlfPno$ zkF%O`OAA9`+$^rQ)xkO1E`Rq-$j^Iq>c_JuiE-6aM8cl-27}sA!_S~dDIAlGL$#kv z`XYgJhlFXE;N<2FfVc@xFIw0^2{Hy%H=9)^Z0tpKOQfWeZLvTI-F~JtHX+9IRiEad zoc}=g^T=ZPm%^6gr>3_VjtWDT=A+lL=qe6E$4rBVt%;$+byoZyY_|9~@)5(Rl*})3 zg?XAU5>>Qr&St2@TdDk=THS;+uCK_rK>H86KjV3@9*OPVmI%LPm)m+ULq7NlGDD@o zp6s<6v|Q+LDRjUf0j{L%HsADW@KKfx=65b>iTlC|~{P zw;Uu0=pFgQ#*H0I3~z%Fk;939E=>YQd+c^i`Pt&MQvW-ZvVD7?u7z9Eb-j4-nT(#m z8;QQ$P0*w}N@&Xy6G>_F$K!F=WVyLip7}x-G6)qaL*;AGir1zOk9#;NLWoCa1qw`G z!6;GXi)z_t#IC|LBRMHUpfhA`(b2 z?jnhD1~wE>FmJ_5iDK_RVFaF$7?5XUjIUfKpWc83D>vdil#!&qRl~P79ypiJOSVX# zwqFHI39Pgi#1HB^F%gFxN`p?0RV?`kO+|GRG7#fFN1Ui9=3bY8D{x{Z%xeuuo(J|f z2<`_WyMNpsD2tB(7A%5Z^;TutJ5+}D!l&{?>G>vh<3jEeLwX}@4`2SBSIyPBzL3`5 z^J%28y6~!go@Fyw;&~9J` zR`kXL{3}t9`~>>WfzCyTh{eu}fFnb|B9m_XpPaxWi2NQ{XzWIZLYG6iptle2fy{ik z=(yC)6JHnhgvS2m_H`8eFebj4E)o;PEjZzl%#X8w1-*x9+v$Nw_e@xVPLd6QeUmNf zG`04R+|v>yDC&*3I?W#SKycAK{R8*|CLz>L+EBkrK)5c`UjxmORQ7BRiaD+Ze*2QPVkQk|_vC?Vxab^+2Aq%i@P#Iq^Wd&c>&2D13Yv1T;80(qT&f z7J#64LsyqPa{nQAnCv9@ zy#c*uILjNQlXf`9Ch&G17`tY-5RVd9LY9XfJN)`R6!5JD0RnQh+f-^WGSdAszDHvI zh18s8&SJ4h&UkJS9m?Wg^Y4! zf>mP><9YkovYSug4xHvU4ifAw8fdJNafE#P*^0S6YwaaM_8vygs$|%l&~I2}{*t*h z+FSf+1EjnQb?&fD^Zzi+9s_e7IL&xGjsyKfkC;34p;dJ?nPxH01df=uisLcJWTQQT zxjQye-%$T)jS>3iG+h~`i1|GOmfc9uK1j(nXeD0AJ15we-*rb2CMBYHVh_V&D2f0f zI)!%;0zMJNz)A&@JL(zT|(Q)}aR?Sf~!)%EVP@q2md21ZgTzrK4IUTz&Xe1KjdmzK? zI2=&vn*LN{8DNy0o5B#+Sxiv}kuv*n+DXx|v=;SXrmjW{I%t?8S?FJg0 zq*IsP+dZsKBdywD@_ndv|546arxz99&UE8AQ=hebAQEIDe5)`EQCTP42GIpwzup@U zYMwGD#2?hYp)ZEhUP;j1v#Lv%MhL})EO$}jbySgA{fHZHNaMoZD3xSvDWdOI1Y^Yn~QQ)r!@(9hHbr!o73zrMX%h~Ur_?}R(>(ED7?uKN5{ z{}7-VA?Bym;sjfNG-%8;MDM)Wlly%RFBGYi(OVj~N%FvUt(TXrgJ$3uixt%2h(}rh zw-!tz+BC>zuO%W+AL=e8sGAfJD3hlp_TUC&>jvl~%b86VU#%pH>tn6%4{tXVs1}=Y za7R%!d?7$ie18ZL2-e;O30?^ix+3`E?mMbto%8P(S&mOJu?rIu{Wk?v)z}uXp&c*Y zk<8?R$_j#T>&9qEyn^iu4 z)p+exwZ1JnbF}VofxR&RY;on@U>&YjBxr|xM*Nvz;n)g0!a|SBy(Z3oG z#pOvi)f1YYGk=@WOD2#VW%B{wL6EgvG3NJ6)nUDcw@iX$A-k_2$#XE4!Ox=I-C+*f zq=pNvsz`UVYa}G`$CQ0#RFaBUwooJH4J8zf5W3ZnP~s1W^S;C<6onkHX;J(+NFuo! zsT7((kIvnhHy&_G9f{yJvDUg`+s&B4SjneoU2O^+(LaC$D<&%= zR&I&}B;o;KfTumh-#5QhqU=^kNOHe;uo6;BNGg{3nx`fecfE+^VE0XT@uN%e;aEOi8L*4N+El??||tZxfhzxfT_Y`0Bj4# zFUa#^7vAikq5F|Iihj%SM3ZsAs&d|ye!z>#X}*JGj$owtCAq zfa86iJGtA&@GU`r5n?J3{QPHm>O1`Cyqh)x6Nib4Vx2wh)S3k%m@b7TuOF(>4ENs} zpnFi=Q3%Uc*Bo1Y3T>OKJRdMT%xnwD6db@5k;RXoH)A{)82-w)YVR8=%OgMi{?M$? zegYN-1%XGX?z`OaVddf69kErd#mK;H@Lg6&C1f(0LUPEnyp7&v^zdE@34jX%h*8>y z)j%)!N9O)QW#IRH%GgD^GS|w7AxT++wwajo;Cgs&@wJk=HD%$_Q0C3QBWBqmNIr`K zfpNY8-I=W-0AXhj8BpuPu;i#EA!|bRPpT*s?VAFNKEyAd?b6*w?NpWO?%S-OqE#ZVbG$xVQ<9! zG7Y$Cj*Q;Ej{w0Ke|nsAUw4r7Zr@6E(e>K8WxKuuPJm$kip}2+Q=ZVB@ z$(noHd0So;7hg;Mj1V!&hlgxf(xGZ^nfE2^z%S`o$N*BcJ||E%J#IuyZEARqYfHUk zzpk3ED^g{j)0nL*{^O|;(_op1_lbUa8)>>Umna=ZKY;h#59KD*efX#+4_H~-$>v6! z%DY)(@o@1SL*B#OFv*ZjQ=uW}x>M6{SPoUpHh(7T4nZ6w20c|C70I)k7ojg|j|i@s z6u#?gL-F)$Y>*xq9=l7bk}_)$w{;>keAzbo%%+2X*Ayjh#ydqX$a`-tR*n)G)&i@4 zeyzo6f??mP6O^-@YU*#`5$9@^6#4chZ6RJvojn#WTPFwS^1sTy8o+6sCXL?&LB z3`-)R)XtagwK(MUc*a7p9Q27OCw%N*_uQA9cVUtzZ5S1@XTg8JLC=Oq*0hza7GYd< zuxAEoo@ZuV(vp}5m(;oi{6@6z!&8uLM8$=@`{-~9M^K@EAJ7)oEI%)yY)0Ep$^=U& zQi|XoXS|7R1(cSBqmSm4&PJM*#71}!ug^`@B&^6Y2VrhOvtU%-m{9W`+9I2T-WxB0 zgc(~v9X@Oc$MGY}6Na`r)O@D^`ki4FPy2XzGnB&fiq|T;Q&?qZ9U1Ar$OTUoZ zQvl;)Vi>&2DrnOPde@hcTY!%`3qCRGHdsCt>9hqSz{L7ZA&EIj0!H58l`?qC<{<#igf9pu6!{ zB9}$o>bza5+TYH$q;-&FQe!EUp16uHfs{dWeQN(ZT<*er9#me9q|qO}agfXu`vE;r zd+NVQehSO(Kj%+ihe-3Kw|t4(ZNXpLK})?t{&aA_0dQ%oU#==VR`a{)Zx8vM`_%5$I+TMEQ1X2!(e z7UWs)&-kId=5FhX~8N?m70T326dO`1&0^J@?XQc{-uQRbG&DJm2G!IxNgwbZjf0bV#}rQ^A`8r=6-Sp!>O!vL zk)|v2YEq0XtWY1Tr?6maUK)`LOFSo=&#Z}4#*DtfB#xIawu#zcp-5+5rr$j?_D^u~ z(D@a-qOp^GLBSY0Zz)rYD!^RY^nUo^C(gxWkN^o$kwD(?Ot(g0&EVCLU<+ zQ{$0r7l7)P2(~f#oIzb!WuZhYf6K;xOj_Hv>2@gzBkbOl`j@(oKoMbQ&CCzFYoWO= zrVoswa0?>b-pj1$(c-F(AGJVRBVR8z)D+$qobFZ^p<|62#!3><118zqqGuUsoLN+q z8#(R)4U2{q+FT35LuaT+6p=u{NMJRX@Ml5<3Pe)>dNNgbql_qMlrH-6m&mceg&mKn zU`^-J2zV*19M30}P>24Z0`6H)9aPpUwO7!@gKpgqA%aL-)w&j0jO)OWEd3L{{oB?m z*+>^(wE#A+g!zqK3|_wX<9Q;GM(g#x;s=^`ED6x3D04&&&zv z&gw^;=HDdeBEDw@*k&AqO}n#JjPZw@+kp5i_F^_33F$vtytDVVEE+#sqXytUQ8b`ULbR1fxIo`m>J|^a&3I zA%4OOV$Wg0#vK%jB8;j}*TNNQLL!WT(q_N2^~lU6jR8ly{7QDpG*~i3cnbO?=ua#K zkHV@DIq@_znKybQvy~<6c)_(xh0!R^LP=2v^5lpzNyq2FZib`jMFH) zoPRw+l^f76lq(M=`;D7SosM*r)butmk<4QL0Va`zs2gVQ%(#w7P@_cOs8j75jHv47+Ofosjp?y8_y zXwB`!vhoYY`XIY_U?h_jam`Jy)IZv_2MxC4s(9P_0I^82U{e>%s%s9P#;U6$I%@uC znNi2N%}u2csvvI=j2yf6%rZE7^@R4^Zn#))N|7bUCh>>TfV?J-h)(YySQ>-{ulsQl zn2N3ho$SlFCpt6_O8MFVal@^3l>U0IygvJC>6N*Aj#upzrbO7Gp8W{=ESTd%FNmma z^)z^qWari0Bj0?oPLK}ftH2tjJA%0|QI7Pgm^V^K&53u)v!c(3&O=|t_F?!@K(R~+ zV?^~Vxa8*U7RiIK`_uC*m{Ph{^sOHXM|;DrOHbq(TML2Z!dcw`TgCrsamx?gz8I=% zCLL*6jlox-R5QQqOc!z!sj|<6*kW8~Qc_gKe_CQ}vL+pbSsRok4gc6m$XvycL#rGJ zTG`z_B$LUHei&khLqLu7+Q0+4Dv^r+NMDC{SBdZ>csf?h+wOt5Is+{IV0=3E(LP!t zh?Y<)YpZDeyaQ(Th(OWbgnsF>?6=rTlQ5praS}fK8o4?VIwgAA%k)A=GlA{sd0_Zb z*zuJ=3K0t7aTa%!h#Cq5HGBW+x3>(lTdx(sCsVPGRYr6sggtT#jyqKF5&!Qs?r*`m zojBWg5|K2|eb!NR-|NV=sK(7YkmJfaKfGDc4#W0Q5v(CgbvfRdQut6n9G9}%2g3`Z zR@L~*Q$CJPsZLe@?Pb)qCz$LaA)fTsqi|ZZAhaU`c7c}4R~(?@MCCLk_!O9dRuj&f z7w{C>sURR_AoS&T9{2RYnSLB_)lnI0w1c*^NcAM~W#FyYO`@fZ?dhsd@kXZVU)J1= z%GtXqjGeDQr*xE5YuAgUJS++poqwN_=+I+t^!KTWg?x_7aHV*Hh)ZgXSjD3_i>qb_FxY^TZ{YP5jtfA`n&C0O<4Jp8v3>{)`; zLwmXYT;!{^)|g4ws9zFxocgZn8pQn(PBWO3&U5XpKWkKb1aQ(zbGfb(SXKjmbI;lU zsOI$3LeF-AUq_q8-Ir3liPo9_vt{k?xhuReVCO6UO1fc?Gqbq;9rhk@LM(y+P>5m; z*Ou_T{sijG6~L>B3}E`O*xTE)OH_K%1rQ;_RLU1Y08rso#q^ng_R%pNW)WKr;Pf!M zgkF@VTF_}LZq?AEr_{i2!~h9I@Z=8&MDTSjc@ACDo|TKR6AX6Muc10mP`bSsZ5F4A zaW29PK`mzPt4vy9cLK^67!hKt#T*vfq?*s)3F7Hp6qPFRZqxYM?4B%n78SUYs(O}` z;Y(I~U#{?wtw$$0?Rp0NK(*0C?#*1gzySTzr0~GWo^&8seB7(5bJWpqu}u~AwM7z; zxwlfmd$1!#^y;tayQ`8>Nxrv2S!LtP=3MN(GKRx#X*e_lqc=LtP3Y9wSF#!DGELR0 zYVl7F$Eb#pc8rG@A@dM|5DYn5K3sm(dW4JuIa}XeuZ~ClxN25jfq&&pZ2XQ z<++>jD&0a5Td=RJEcMd3u-i&~6!!({>?*9qX2LNG1%-YQp*o;-~WPsZtA)X0eXjvUP`3i2A=@X*p3+f1J ziXgVHj^7Q+XCy^DeBOp)-E(;0%L3nHNFV7}(NBrs)>e(l7?F~;JpN@)v@uYgR@Yin zNflB|AS&k&FRK-b5~h3vq>3QUDX16@c%s6(m&uI7zDHx9WA3`1T5~+r5Y+L!Utg+6 zIK+3&J-DLx24A3|vxpx4iZl5LPQL=#8vhJs{s`RnA&l@;V*S7}%=o?FI?4=In3dEx z`c&T!K!qLV3g8`>YbkJ!zwuDqNX)(m^y;CGI&JG4tJ9fJI$;I2J-`Fqf86|FeV?dw zXHXu0PE@tF_eO>Bia>+ko>%ZkfK~lz-uU#()C;3vbO`B-(pln+GNTV`Y8G1od;CL= z13sm1O$LQvK2#A>!g3U*Qn%repQkF*e{Ru(D`^~~#=vZ57=8CKFZ#aj5Rl7(GlEz@ z1Y>dHx!>@>YdJa<~mAbt-tC<%~XtwT)UQZ)q|CE z$u*{fwqs=z9%Cs0GP=&`ecC5|MWmGt7sJJ2_izflSO}~iD`sJ!Sqw&s+==CL?sr)T zKRO6we48e{rD8jC!_1L7%`7|Em62=TElNXYr4Sorj&x6kzD?Q5ZnS*k!E-8(@pN3q zB2>M;d88wC8!}z#G>@SL^;Jy`+^8~=bT$ipl}M&ozq+T{Tkb!0ZZLF^I_iA%Wl$sj`^$jrgrqKpiS)vdD9r1hV4Eic$q-C#du=R&0y2E=B^7~-Wnl<@e|ii zZn}J-*kIUYn1TlRBPJ0?2Adj}LwedJ$pv5G_j&si|3+%5yLQTHou{)u!XRGqOb{y3t;vkF5Ijk0zN)uV>mxxXwq>S zfU=_k%@hCaVR%=2Q8Y|!Jkw2eVOI@i`{ZKB=uUEL_0lk?hG~Ki|5%Usy^$OyYx>YV zzZG8jGPS1eUkkgkTwl0wA`o71%EPYPupAwMS|!qBYP7fNGZM0D%d= z4)SY+BABuR6oZ*hA-#0vU?!Uc>%Wn;HkSxg0D##{; zW@;qJbO&Rat_Z<#Mn#Ey7+Cr_YXZPb&0yfiCXt(b&)1V|jfR#-+i>*ZPxHLqoBMAxD$%BK>%gN!dWH8f^O6$S7#h8t^%*IrVcMEkH>;Tt z!mgL1zA*X+cH&S^=@h+w)j;5K02}izy72k&%L=+~?E2P5b5fa|od(y~mm-EoRK{Q>B)fwr#OKOk3G#rRX9tR{T~nug+XF)XPTbHXuB zlsf<8>sXtJOgLJK3%idvM5fFKE8_t!W`vx$bT2kcikE*%1TWdKG9m$(4_zKw=!PX! zR7klepQ>;gA$Q;F^_3*3;Vo_Da)hrK0+;F`oQ&S>q70xQgX_VCV%@9IinsA=^ytrK za~s}HK(he`RB{dLG-$KReGN#%>WvYxM!h_o->?>1{i2L`Z>JP%^Ye8B0;yg_M#ffT zkUU7(7*nDKiX@qoDM2K}!Z8UkK2!n<%cgA?6j-uWaYiN9dA{I;lx}t3*7~}saYc=1 zL*)k9S>ArOPC$unEPfh}S?qc+lp+d@krUx#5Y?m@;*IUSi!q|FvH|f!26`l*UzjwD zQ6xy3veV^xd6?qSGkE03ov=J2A?`e0`|uzAWX2*)2^H&6um2U_xeVa=nRgJZ<=NQJ zW=^&(H)4kP=ByY&5yppXo@(gjF{5BYRVNv#n{hb1DIjcoNuo1H@H58$cKO7^HOw0eX3 zUIMFee(vj0f6sBV$Uc<LSa~` zG7XHuzo;~>2n$Qn49GMG!k9?Wr@!1lm1G7Mv17cdQg zw*Eex7fv4zbG*Wc(|R`3k42L|=(v5l8+S|?eFrr$x#Gl3g@f*iDo@QZxg~h-r^MEU zJ6(<}i+NV>U%ziV=?}DVdAn~_AG88$PhT-pouy(sy1MNI1KV-?Q0#)^vtdjqk7j-* zhJf=`h^2RKtVrtT?Y^n=o#%xcznA@*%fu$$tO+vOE%+{09b(A32^h6nTG2%ohE@aO zoxUY8#7`tEzF_p3;+pu&1FiM2x*l8%nVm#9u1&}6HsM@QhDTOqsDw{D;+tTL8590J zhv<>eiYP^X>3In1lQc_%h#alx22332<4|)>Xs?~78OZzsE4}3g*_3)oKNvHge#}VzQ9NW zgeCj1!JC*(F{K-$@=;6ajp$2q6k&wG$>ZoO7l?wC?u<{k&vw@HhU)8Iga$C6SazGp zu}E6S>^gNu3#9d*9!eK;-u?S+FlsPnK3aO9!7>kGBKmw&jhE@{%`k9lGt>yhW_3Em2+W*bIR_f6!dW?nk&t-W+!hp4m@xZ7& z>9NyeAWb8JRlZB+1ocli$&=~V6)-Ud1&h+B)r{uTas~81j*&nUTR_L^(Q^~G1%kq; zENwtQ$3~%+u0gFR>u-d*ed8pPA*x(!WHpFwW5Bz9;bY%wU+vK`l?jenDIlgx-x<0+-YIiJIao?uCxQ|8v zsQZR*oMfkNsXn>aw$RC-Ug2lC|HOE2mkxzvUF6qsEutEKAOmZ5E-$sV!bXo|J}^qk-X4~_L@N0O2s z^9{~rda12%xM1w0C-bwti*1Fp7Cco5Sn?yYB+z|!o+b%q%o92UW7|)$5cp+N$SKtc z_T1d;+NCN$lB@A?a4<|$PXT*qJkfoyTDB(+aLv~?Xozk)NQe!jpHqnGRjDFUQUudi zi0ypXYDear;ytmX_|Z|^Wr`LJ9-tm@$j94EuVq4kiu8uknE^yywQ3g(-^V(LRMrqM z2o&!gfTNX=I3k}OfTp&-wYOfk18 z_Yx;LLC+xZi;++}0{bH;ruk>^rd6LdU-N_ar|@R~!32TF#|U0J)iut#Zh3Dv$jYd2 zNjcySli}qYIeWaJ=ovB3?ht;b z#mr01l#Zx~kHic@tfT=3UP`KQ;Bd;JtL*?-3)ALZm&$aeJ>^$2+M#`cXPgE&Dl;!# zipE&GD;fh3rc8x8L|WxEuAL>G-S-AF)7_5%%y^9Pga>wd&bih#LeAfr21v#k$K9iz ze(%5wxWH%la?9l1HhE>)Hqi{V@)pY4Hd<8R_H8jQPxq@cFOP@ZXzE}O-)X`gPlstc z$D>$tP+e>4C`V&LMX+lQM&KV~p_QlVl+NU!R#MW((-9lOhpYq1ft+ZzM5YYQCsMbn9z<}@|&qC=wr+m zCyE{-o9u`7xYUb9hxCU*L0{~TT<1s;a+u)bireyY6+cQ#!eOsLT`1?6ZwEA7hUMy* zuXwd=ZqI4rj}&`_Yur!G0K?Qb6MrawoKS83k6Wb_UPrK8ovMb*@BUHl^F;oz6%WPG z)rx&KQIaeMPD~y=>obCFzQ$DkLVyL6C)&3X(zEABGOS;ndDo!1*d}mCnkagf;3I;o z@amcG*d%gR_Tx|DQD447fZ2ak1O%ge@dcqnnvl^GA+6+_C|i1MrQnpGYNq3IC`Fi6 zk@<+mOjh5x^${Vp19M@bvWzQuXy*6~b6fHeDc)eYIE$KaSA91VDL$ZuJR9^DU&v8< zA{DnV(60K)iJHJppc!5#d`~bUe(#8ypsYGS39B1<(W{o3ilHt2s9#~BoELvWqwNN^ zl;)Utf?1I$UB+91GUZpG$J48>|2fvFYNk|sGO22=7~|p?ele_eiT!j)$m9!jaBeaP ziPAdJu4)=PrCX&uH_R_K1AtYIlCzmnj66-3Q!<0yXF>?;>MVqSc}W4(Atz zO{8@Qy_&7R!c$$(Yw^sw?No;QeIxD|;6!22Us)2qBius-t@C0NjLEQ ztDmwL?%dUJ;)bbgrBHQor(A(B~dS0THgwom{K8XMyE7m|2X9T@p`8kyc1a5LuvyZizI+ zKIvMI_X5-)?a>V)UZC=0nMLBS@^`g?UOg4+%k$04k)FlyfACS*|DSx6zfA1({~M2@ zEg3`2>5y%SiiI5)_nAmdua^hDh35tcyB3mf*~fkNJgt;K4i~7dP)=28RkZJoG{C*z6u~{nIOG^YQ&wOYTUklKux$@I&)AA5tG%iezV68q3G^q=PStjNy1$c*m8LjExIm=5wtl&UJT)$BG{owT?} zG25)D0=dE!b?2Fv|`^5 zUQGkh4Pw9#>oX!~v$F*)e9}2*q$^`L^sql)vNXHQTC1z$ANKcYAKBt@=?kv-B>8Lc z-Ba3LCGgSAYp^x+mZ>uu#EE|`Vs;^!PIzU1eBK|rkm zWsw7b0fHche~?L|RO%=KS7s1L1(FMyz}*V$Sl$@muABXKju|1t!bWbJTl)B;Ck`gK zrhrna1AeU|@~pwlNAue+PokE>X}ZE1j~eELHQRWAJ+li^yNqb>lLeuX-Ur(*v*u4y z0;|^cpxdf@+}f{1LdoK?p`X7bs$iczl*dhY_*}aqMuC1O{NP7fMiB6>61 zXM@%KyGR`z?vDex&k9CrqcGf2Nl}TF_5gJ9J$D6?z78t>X*#dfIwbsvoN|U0Vsto%e@&=&qp3_L+%H^8vMXk><%zd5bjHu`03tY0)9g zV^f?wSeE+jH!J>My+3J{{w)$TFg5E82B4h`W6Ri@Um80?j67g~u^TE4fMQf)Ci+Jo zy&FNGGCB&)R=tUT0t}9zG$p(Yf<7ubENnUWzDmQn^FAuQ_IRznUjr~hw7aB2njc z0K$$iICw}t`ZBMe;%HDw$A_7(9rqkzu`r-OtiMUX6!Xifxg^b)z!XT8daM;~f_cX9 z&5Ug0j_wlP%ZB<{+%jH03)|93`fJ>zrHE1lJ@BFv;lyiy+29XvaX`aLnBsG=6h}Do z2j0sLXsd%}{ZE$N)yOuFTaRXRh#S3I4@5I~9lB46 zI}hg|x$ zr$>)OZ2sHSZXH&6EfT{|z*<%I&t44V+E#e6uI+FC?(L;fLLJ-L{)kmeks##K%cqn( zWqz^Wc`?Dkt`k=+T^-Z|8df8tg50_}(iy}^+`HxR4Z@hIYgs9kSin8IImyuymW*pz z%gv`G-z!!x7PR@3U;paVrYQr3!U*T^y_;-0W*j69c4dFcP)V8*@4ZAEJOd$nCub+~ zl}R}%-(I_%2}&_Ly4Yeoc*!hI0Udc9p`gt8$M-S1I>#u=p^F~&i0318b66Za=%QxZ zns%GxU=Z?H232B4Bp4A4K(TLXj+xOzA#FV)9>&eaJP3gv4Y8(W#vf7}kwngHVM=Vd zH{%V;!;}`eBs{WJCDsWCu*xvA=+GXn41z~MKoYToCb>Hu+-sj=D7wfjHk;No`&ArP z87hb-0d2iqW(hC=5E7X-ydLEBFeE}`i_7?j+79~Xx^Y2l3;7RrBAUr4lviLEYGbme zi6jlmXA1RZ!9RNQF7S)Bf+MkK;_5#X_?B>y2qLjFMNI1)pQ=ijqjA_?=5w#tRUz}+ zJa@m^DHouqJH;I|z6s>)8vU%9c+!Gb1sS{$8-a_iZ3*K{F3qy9D+55tLvs^bB#BNq z6CY+biN_%?s)?ZjPLaF{-qJ~7VNOF1b5&1OEspQeiQzBofmVgJ1V4n&h2lo;*0yk> zIqOMMj(hj)7S$(3f8f0?wIwE-bH<;>sRpoK>$^R-JoKPzhh5q!G=vPGHhvpk4uq6I z3i8t=x@1OE--Hq{1S=Xy4{H_oR@kM;xg#{i*X1J$GC$eDAEeMbWD(VxfcV>8is@m4 zAskln#m`zY(6gni?Ug?uIUdqbsl{`6_Sev8S#NN{<4GF&pkXI?dR0h^kwFI>O>!2L zF2snpJ39^WQ~o)92Snzn{4_{ds4Q+&QbIaLC8f6@BaoS2OnX`!MZ5hjSPL)V9+WdO z_Cz>aMslOPXrOAIfgg}VYLI&8n8vF~&MzpkNY^?Tz*JTy5kVD~=GmbTk4l`~HZoj! zy&Rrpye&|mI>uTFZ!-)W{L{X_b`?MpFPPx~hRC@+X1fO3Ke=H(s%jADHli~EgNG@W z;zfI*`K1b)AcihRP%iOQMWW0W7j&J%r+_*`X!Bmc$0(+qF^i=iSv7=fu(7AeRpgo**-dqE&ZK5=YbUwiMt% zu&$^=6-R?BOpxy6MX}x(3z8u4B2IvrVBpVp13?1HMG`mVhNk0ZG{YV@#j)Rnf=C>f zbOz^NqzKGhgs1OI7R}Bz`8)DjFF)mp4X#u_i?f9%A;teBiId_$b+RIW#DB9V2$wcU zjx~JoDjW4L5^yu7h!a|RV2gV^|5$3bQz9^ru5M5vF8teW!FpGR-yF`i8nrLP*KNTq z35A*|wMIK4G?PY1Dp(m!1;w#L{VLaULlRoJp94LVlRh)CJn8QBB3ve=)XHiFFM2tU z$GbY?SCPy@jW{{o)O;E%9FUHQgesr+&%S|DZ^{?+$s-?mt zR$#(*alqJGeObAcBPGX&%ic3Xe~IIwG!Tilc(tP%#94OZziTUK#OCv^%O+HW5f5oS zeW2~J;`o*ea*q_QUI;J`Wk&Kv6YZ&Q=^vt3v$8ez3hs6W9G;8K1P7(uq`&%#i)WTI zgGEBdWmBgz=zKh|j@*}53o#zQ0p>k~OyaUl!>d2m;Y)FAj1@o^2+IDDL*j`=m1paz zRR0z#sOYZ{g56K-VyRqf(7Z_oW;@E6P^rE(2dykIjPCpe#qkHCehI1~8F_{%wI@LUknQCk6* zT)lydU&NGaX7fS1ynUueRM_@}m1@%^Wg@E*1TYp= z5cUM>K(U|>{E>KYozykCDukwLC=&b%z9Fq$SnM3U3dHD<^{w{!jjI~cjsRLEP54eD zeJdb74P^HTxh4{R%_N7{%U{$1-1nLuHs>1W^vs)L`IoBqeUEVJr{Qv&`bc~$tf%3p z!I5w=5?8gyM}E|SFC`7CpwxJZ&YMm2&_i4}q)WENI|~A%yQ~RoxfGT6eKX~!WI+-? zme?^2a^8!`3tP$xpP-NZduG50cc-QSZ~MbENnI^G^$=B1!fA%Hg8O)R1vhoV4grj_ z3{h|Ugj=@-bac|YUi|dULFBdLmiX0EU$F^T#QitaVB0uYxmKe>x`=98pul ziK0lfgX2=|Z`m~XfYP*SAZ8gM;Sngnc)|)+ibM4L)!b9g`eUhp6;Il5vwgxvg#G8t zhKs4G#A#J#kLOsAJR-R5lI~g=#F6F9!Mx|kEdUb}B|O%o(ED-oVyrt->YRgp6mSnv zeChvkSoptkRo*TOE0KiDC=<|lrgK!-%@rFK&A3iHz@Cv{gfbIR80>*pD_w#uJBs0^ z7hL9t$QPoO*ho%g5Gzk17NZm$Ao@h$5=5BU{D-l33bL(>*+$#8ZQHiF+qP}n?%lR+ z+qT_%x3SvTZR79v|4!9cb4?IpP+O-(gXxT&c&|CS#rgjARHOnJ zW3$#8<><)m$SX3@wCUnU#-#0HL%^EIl$klT>FXz$6Upfgssw?=ZxCN?cY19|gal?d z7bZoCgwU%C4;hV-p@U|QjyP##KplOw7h^K_chpZb%4L$#rkuhJ4ggJC^&h~4vVu*3 za4$~6yPT6C6}N&>_xeMe;8}r4L&uoodv3_~X45Aa$>OF{20muMtokt-v#DaPHS#>j zAc7Hg!vpNQsM|S(_w7cUk@IyK+%1{Xy{C9Aua?ismEtuWHH+{=6k3D92+jy!x|Ft$ z34Otb4J!B+%VRE^diA}Qa+}3y+}rQS4nH7~qlI#glD%2$tJMXRy+}0ld<*Wx2+3jU ze|{}_J@(w0x+{MALf4)WV`;lQyp$O`S(JuQ-ux~?M0h?kJ1 zP!7I;exaPlOg<%r_St+o$f8i7j}vB-kpVW7Lj9+{J_Qv}BvQTdSlLYK{{6TcJ^0VZ z<{*L`3JG~d`)&qVi;UJsESV7;=^bx!s5`%!t~B8#)5E}dJS+*@upPeD#<_k!v-Bz3 zM5(62#xja82N^W^WcPZW#9~+pLV&T)#up;(SKU*~-_3VkONDIzrQ3h)Ka*W?`x3~| zPK|tUL_0*Ji2AIhmID6SC>)aQYqXa`XA3UpJ$aXYQlcN5F@no)qqh_S?2~}EV`RmH zSSBKv7KWRK85H~urspU=TEA-2gwZaeHe6$!HvNV#diovY4ZIw@Ul&j8?G@XxA0Is* zwRJz=YgR6a+Ohv48@-lo#yWySRJ|!tI2^-I{%90V*-7AISGlOd#0T)KT9Oyovug9u zv}3~oN!&Gq|dE3Kqn8+c_aC0OiwWh3{Ewqt8id3DZC z&`8yscxEGiuHZ&HG?AeEi5Jfqv}05vY!m36mD)-vQ>hT~@0gva#=LX-uAnlBoTjz=YWcHFdB)(4HjC})XNo-EIvy*T# zz1-R!-iUEvRh|QUxa{|^AlkDQ(faTF?BaT&NFc}Hs%%nc&mIA8?@QQQ$fWqHee1a^ z_L*P->t=a1co)LgjNDu3j6e3fgyv?B%Dd0nPQLlk*BRZKD|vvP2x>lg zIz!DxhaAcSK8ZTjPO?*T`gg0f?>?jNI{ZGw8{A3_xSqYNDGn&BA)G@AW#-lBSK}NZ zy?-47STq%}f5VHc2XGmCv}Q%;q4xL&>Fk z4v$;HQ)YiMeyyHVUHvReb=aNJ{2S59(eu$GiY&QbKdf3=EA58lPh`|tf5)vM&dZr1 z&9&O-LgXVN&1?45fyV$)f+=~`$IB)3{PPe0@pL;fb-nJSm^u?wFNJ_A&P@uor2pch zU4}5{a1M0`ecgR}~QWZ{5Mz8itMSf2E9~4)(5Q_O32OIz(*j zKXPRvHje)xoc}}qgRcG&{+FRuCenjp6m@oR6mjtU(Pv`#asP9%bF(wBvM@0*6LGOI zGjRWKZ2u|Bo0(b}{r}QbG;;n4;in7e=N2%G%4RMOZq6oVE=2z~{Qo2lu12nAL`*P@ zs$Py}M2w0?7H0otf&ZWVu>WWH-^Td(U>GH=Y+cQqi5Mkpe@w*8OdL$jU>N1h>@8d^ ziCEZ}{@>|izv-mIi8?@EU+{&^SPK*j7MY-l`ZMUp<(!u3@4qwOjN#PGKoOwcr6n^p z){iu};&hL=l1Sazc~v(wkIy`)W_ok{s0_t(Y_(Sjea>Sw@jvAeGNDC!Qb!GB=qCHDnDH8 zb5NzlKd6KdX5P~YDzNDH2OJUi)-K;#(FC;L?bFjo-83-$b~Z^yQn~urV_1|NWpYoBX?VQsVWMttI~=d`H6G z%AjQZ{BT)E>xKQ1dss*MMg}&3Y9dZM*o^&E1Le$zNs>@jbZ3OFyY()WM}o4wD`!ivdf4d6z4XVb_E5s|CJ?m!KcSTrd z`6i|GEA&k&ITnuT&9ZKRuPT<6dz~NnqwL~WyOdq^%(+*3`S&n+)!nkcQA_6m-Mt#` zcG(G6SDOx-B2*4$s~+~v`WxwTO}^vpW*ZSgtx~DG7z>=sr~bUAIMt1Qnb_5KrEzTP zn;!QZDboEvm1Io=;lYRmR%6BDk z^Oy<4%-?=!XB23QMmFkwH=i1=bfaBL0s1>>hc*st5j~|)f)M3RijYd`N!Q58`0Aqc z*F$BiocC6)MZ}uYO~FcR^S@f+zS>*qanVxc=2K@)cRJhDGy#s)cFd{hu768)UNHyx5K^Ziiophy4lo%3E$t6+Zj79FY~N5-ww zGZqbh&DrLh2?IZE%#bMm>3(p5(FuQRS3+#9JqMoiLOy3E7g4<=(KZE11N3W`NNnFn zPC^m-S1|nKct>UcztJ@9&G5#MmrQkXfY*o;6%8i}z_YD*m&8~C zWy8;UaLRL@$8!^|e*dZ6v>=QxRj5Q<3~7iHqX30w$>dB}8A)I?(RTru!2o4=)^xt5jYClrxEmY-qW&ehNaE{xfBZ9)F9!>8Pf6s8ON&mLz zpRsNMJF6;uY-zzxwiDK&>a=4sRX@vw*Dbq{me>g4jUODk);f9XtX4;Gz}fafi);8tm-z$fRFdx-E) zzi>Jgmag6%a8n0g1EqmLASH3ZZz!_~fI5iTJ}UTBDkf-+u~|D$kXNYC59pGUT~Q{1 z^#Mi~31q9xGvn!J`csHg)>viAagu?)|2r^5<7&Kz9v-1wqfucVkky zVY(WzhF%K<*uJw)CTtGH`y%l{`_EQie1*T0GpQ<~93k(*$OVnVi5hwFuYpUAIO1izPBi4!T}`w<3)uP`maax)POCcji;NquOlBjbSOXR z83D8@%>Hi>S&fInKOQV)9}1ptL&P-WRd_|6+EIU}x{^O<6|rgOaGi8b>A@F=;0j?L zJ6#27qZ5b@3V&6;w$i{JT~IX&nTVi%Ki;~)EqK-z7bd_J)~hM7uja|LOCf1kP=rRq z8AzABWlZKTW8o>2QQrib<%AUr=~9+r&Q`^{rYZYmxv<`zgS*H2$i*{SUc!`C(fQ&%0Qbu{_>8oPoIm|^40qwr8|1#}7yP*0w{U<{YhuaAj;){HhId@x`@W4s%JWJ{EC z5)bacgXw^mP$uq`u>LTPQ#+N0EqKi+(RLJ=jFl+s)_ z+XM-OGji;^QG}6H%9RaqWAg)@@JXRi1Q|?&frAUw>4~5~GYtcGmeu*IeGJLnSEp^CLlgqf&$`Sb=py1rMP*i3CA&bUK1SJ=Er?!EC6>~ z=gidPfbdK)PHW8crSuH#wnnbF5Hk&`{FepPUwfU`1=XIeaIK<*7(GltnxADXRG z(4b_>lAR~qz^rgRC%|CCM2|uh%k+EPIxZbZydqibe2;Ol;`cf!V=KfT9GZ_)en!L58;>3h#;fGp9DJ>k zz?Cdn{inWeXz~yJl~0&pO<8Q92@Ir;@#6$04YM)<%b*Loh*;Lj7rBfNwa`BLFro?< z1~WPMKM|wS(XC-E*0_h*VR+X2Ue`giBO%00vE0&lYRbS)W1gAOn}YR3eWrq1vwRNm zv}U05AK;Hro~k!Y`h#V$d}Ju=j8vsRu6YA0f7U<2d?YYu0Ma5|2&OLJ59PzbnPM&z zg&fn@m`~f6t4L60l~D+(F7<3j71^Lvx=npyXY7$iq_#|QLbhJPNdXxaybBY8I&S8n z-4r~%<~{*R0%`n{p*~zu7?jd?zuS!-TtHC>94QFCTP%vem?VOKk>JhbM1@`j5i?pG zuxU<4u{PE`sm}|by1fr%R*VC}SQ{%lVl0gFq^tIs6w(e@m25>YOM?F>nGe@A*X%^( zMB%{nI8sdCFjUt&W)&* zaOOvmb7c>)IwkI6jA>nER!E=5Iv-|M5ZEGM;O0d&@uVGy9m|=PBYDhZ zb;79uvw)Z%G5v?Q2+oHJ%RR;dg2;y&aYT=A!{1t->#vJ~%(Q1Yg>uR1K83rxpV@6lgTNxF$$QcE81=eq# zj}MERCUnXK%_rdyA4Y$-`8h^$b6cR9A;I5Ag7IW#yWzHOXOdoSXSO=;pd_A2PXCB6 zaTAIrMFbNWCi2p|p^|tLwD^&8xB0-V@ESC1LWL}pcq_t9M;BydH|n~9lBA;a92^N( z1||JV8;8hg7E{MYf)-Co35VW-sMH3?9Qu4k$POPpHC4=5%*`p-3)&o2X~oQ0r17Qk zN%V+$ph(~cd86y!{zINuTx=m2W?7h+l)#MeD5)3jBN-rfRdGB?9ov{F^9Se=6SX~a z+kvplF0H+XHEQaQ@s-E2&+xgMzUQqdAi&%#bx`t!SE5PF4?3V9H-gsT#GiXZ+RRHQ z4!S%aua1Ky5Px9e=3MH039|{eD*(w=lR8GhmY6HmmD!}G;i@pvo*a^106DTYb%{B7 za|*i1q^m#3v!p1|F9l2>(>V$o@r zoK`a)_%}y0Gb$2WSHeu9?-?N&K`;yIxt{UhY*?@j#Z0!)tHp*Em2z!4P<$LK$oNhw zLzGzK{BK{^w%N&bg{Tru3adm*r9Br&wKOJ#j(*`FIs4q=foy+H5or2u5P2+-l_*h) zOEC%hXczwkly2jFnAEMTL$&GV#JwxvqPq)$e-O6;wmRzfvXMnIgRl@g5y zsrz|7j7 z%Ycdspg^$`4-`Nd)P!ekmSlM0QNmme{nr;~;Q(zmT9m=LNBFi#fx^cnL~T;8j`qA0 z>uK>XO+Iy4b;SMj_lcMR<=e&9gClZ)m!l#i!{-TRpPg&$i2~u@VD9l%9p*KWsif}l zIoWR`2NmBJv8=I%yYkWh}1y1rVU1;W(@l-w5fS3luJ zUo_bneyIcL66jnx_b7Fhydi(vDx@D=6!8}+opI*Fpl`OTH;RC`VE{ z2IF6F3SKJqTYc0i;1O`%VJTVSIFtZzG%RJo9s#g>4vl|u7!;Na>=1m&!;oXwc}v1*T>zU{S# zZzvMMffnz*+zE+dj29eHRqk#;14lKqBXwnNr5C7QDM99I7Rboy7iS|hB1};`>X@vw zxEChIL}bb(B06L7oP{BYCaA1d%p|>bg1qeaNQfir*CNL4>}}{-d*ul^ajyl6h*=ea zBmQL=LMex4m1~90ZNY|}qB*~Y6TGr&|3W0FRRI?f-Lm@^0xLoXt!m=@bL{M(d;&u% ztl@QmdS_tB=+}5$4Z7l(1bS_G>Q*SQVl~d%=ODP)o<*GI9X^Wy=R^3Vih+Wi0>q&E z>fYhEAmd1kg_dh>jROn%l06$V1QQ2`jOysSu`Gh@DC&xp*5LS9}g4+J<2~KJD9Igr8b=u_aoB3RkxVGm~&m`;#zFkR#wjOfE zf3-=*Ctm6BrCMt$T`UQn?(`Y=&R^Bl@Ak>EtcY#{M^Rxl(IK&gOeSO*4Y?=tvIWgi zE!!$vX9b)YE>BfvMBHHJ+{X$6ZHXgu>d{6hRAzLKfr|V+z=oDq!wfI|k}NM;8xneA zkJ}`M11TrU5ErvUniUT41_}&L1~{dOINCblt_aCZdUy#hGqEQ!!-M<4Mus4$5-l%` z?V{-(T zY(6<=V9!Ekq|8(vfrqEWxMMX7{n*)w2j#0JU>zZiTbe|x+c>GMO~_X7;A37ywaIkM z*as)(b>W96SS0mk{%-B+E)S2S?`3*gxeF=~(`-=^a{f!+z422F`F?R(mqNzeWa3WD zgQQ`PQ{3!Gyh)_^YFw}CQc5O93SaExg?OK+?U~|q3 zm8>RAa_RjQA(o*yq_e7Vw+^mK;vct?4woC#aARcA;t{7vrsEK$FqvR#paJ=)8b$#V z&|3#n!*=?|WQHj=X;;{O&gqsg%^id#8&O{-qWf7*%X_BVLd7|-Z`)7N9M1i2riw|_ zIZWE-*i@&r6J!W*J08}qOE`ecUxcCfh4nggB`v&TPnbhDPOP(CYB8PlM@%?O3d0?A zf53f9$VCR?STwRa7&@-!MeoDDbdg)I%cJ&uCGeun*;YK}NcfIoMsTlfSjHfsP*F%o z^$NH}=TD0)LRGs?8)5}LhI;nk>TE3RL(t)d34ac(9YL_O&F3V^b{&mx{7jj@hUt@chd50gJ|svWJ3Gv{#1V3vvJh!^+Hz7T zt3|pevFlWc5G)h!g)qt||Aiour$#3lQ(dA`=qLj+KBSuo6~?juszLqtMK6@rte!V= zlYVH8%jR+Mw#9||8;Pmk$0Ld9&l01^8f%d~p}g>tvn}%{iD@Y&@x{$JlWokMiRm;b zJSTH1&|_2>>aYIh;|7_WYR1^Hbgg*#R*}Y}?B9J+4&`Y{>~G3Nm}0z&vhUGU!w#5V z^bB>MYAs(_eJ)|CKeKt2)b8dsR=q*onkTf=2Mr4Pw!W09rfxPb)eG3#<4i4W=N2|> z`^lrH4#e1B_71A6qwqBs=kXre!vr-Y(Z#fVHQ?3gGN#qT1jGuhZI9G_nMV$I_l+br z!D2$3#-0rl{+^jdpJ^E>+6dKni(@TTX`tre-iq~J2$-y1AoOii)#F)q4p!C2pjN)V zp;h~D3Ao2ceh+?NXa{06z;?Ag0B2pk(8G|Ix}U9nVDOc0;&_Agn{iW;`^QM3jpkxu9pyj#Tb@)Wph+;}lLz48ol>!GL{ zo`lY?-*yPd>q^Q&x4Ptsij{t?T|!t-G>$XZbOidFeA(#43(_%@6Wbd=odb-_4Mp_R z4Y{*Of(2x5_5h&nE|( z1qHDmDUgxSJt_vNkg914t^Qt^yqSLu*Stsa{T*jE;BcCVXGEh{cdZP_?@H?BS3idj z2sNt6(v(;fi2^PIgsW8p-8W>Z1u_d=Q4iye)A`%l4zbaSFZmL*{B77tkForc?t9{J zV~0uq_KB8aAOUlbXCmWvU_?*Mk*@0Val1iAPh7FbI!ISzejR1h0kof{bDI!|gN)VB z;Gcd$^9F(J&rdH1iZrP!9&NfQ5HtCgDL@atWS&$MlO(~)FNrhh!#BE^^P(l{KC}b- zFf`vG7A#T&!RYHSBpNS*CWK~%%wVC6}XA^ za3&jW4!Sfx!Ingx1*87a)6hBYYHAaxtk$+(BSHiz`J=Lbv|+ z0gYak)s|cDn1x>U57K;z8F8F*Ug{B4(As+6$doeb--afX`tAJ5DV+0;t49-qek)HM zLGu#61x5B6WX2pFwlNG(11jJ~12!?OBVz2~Vq1g@B6@*zuON{Po;4D++2#%r-#3~_ zu5B64%WKKO_SYg zLFl)4LY-9A71()Iw2?XhT)Wjnx0s) zO<_++6>_Brw`Z}cVa{%dyyH&nHWZJr<$0*GXLU1fhhklhbW^WY?_TQ;j@>hpUb%T` z*`B(!i}m#mMC;x+oag-d$G01tXTiR;3x2C8;o5bdB@_*Jv@Rc;UV)CW&(&6a6_T_0 z`bTet-|s%wz5deL#)=p0zhryLe+<~KzvWx?{eJt@2|E{!_5Qdz`*HQN(vUJNGeL+y z+yE zJ%@~@(K++X(?6BFn2R(;`kGow_*;dm+HQyRj}2++QVL9@jxC7eQ3@G1WwcU15=R^Q z#e0TDQdRHj3%DnU1k)O#L6?gailJzZ1v$5x)St)u*F=W;JoH4>9J?^Fqr<#SYocq3 zo%zfbovKEQTp|j{xlEOEWta22#iM%6u7kkyECV$HYf#c29Bp+SlcN4AFQib~HlLBH zp)mYMWE*>6?!Gqfp%oX{4tL9+pU(MV3MOO|^gBYlqq5L!m~GDpIdnT&ZO{d%<}mAS zMbMO`R(F^+4hhnew(^ae*A~QkUAC-F*$#gRrr!2E<%=hh@!~VmLD$Osd4RAPcasO& zLW6Odh9c-B-LE@p9zeN~W6V79gQV)Ri6TWa>H;abCEN!;D%T{bK~)J1Ul9opO2YI) z%{o%@ni{Bafz=d^(`#7_sCSAqf5RmPw0X)13mBf-8Sc*ROscP|Y*xsxMM_*>=;-)d zYN;{7^>YzLDx!N_bRZ~i+m|{k4xyzZsbBGSWbXx`70~6Ca&SUezOySHa9y6HAeFKB5fs?2*qQKha zh(B;LL_09V0?w5+i5}o>J!Dp+(d>exBnBWjXe?cezyuizxX2ZCF#;+X>qJJLGbQ-O9=aI4pS8&^&ycAui6>tke9Nzsn^rd%O^;XWY@N$YLeD;H9JA z9QO|NH9cHu$E7SVZcal7hh#wUA%j4me)7HG%Vc&GSkCDh>Tw_p%8k@SdG=Qb~&UpX1v7-e4aG z8uu@hGdXyGZ0ht1xhI3TeL+1mLe6#mDb|o2Wt=u|G+w%fU%T>2B6jqawMBJzHi?JA zQPVq>^TE{@Ia(*XXIGt*XyTzZ@}lEbB<*i6|7-%4R^TgDy<+M=W&*!Zum;Sr=8uz% zdw|?|P^9!q+Bp}m3pS`K$YwrP_)A+|S4|W$;9=r=OjU)J-e(jjIs2R55$e9tJS8J7 zpERS1ocNL9sU9YdAxC8ByJ4aN;#^mXwJddmhXSjF!8&#jg23dx*_ZDQlpK(<$mSTX zhl5y8ykq&Q+hJaZgbD28p_}8-m$GfmR3Fa==&#d+w^7_TY5ZIQ+{8V^j_}@g#uZ~T z-N)ZK29)K=nx~W);g>kzXdo5Vv6W>(PB=x5TupXL@FMIykNMd?sE(+1<-j3GE2RNe zoLs~?e)J*+Jff4~Jlm|HhKe*&S}J>rxuQN?zi&3%XfP^#d$^R2s(GfJ+~Cj)(m2hq%)KaJNYpng$Ta#dc`0dEPrWb5amv8Np{}7x-%1cpFsPbB_tw+oI`QGAAKih8 zjCUESp-Ev3Qag%%zdM-!PEad@6i`nM;WEu`EJ#ld$7rm|kwBh*bhbWUP)~*3K;+qF zmt1MhcAe$wJNm$+m<{(je3rHQ0MU1?AiA<#z$~ z;=J)UBtNI%{Fh`R2l-tb7}U4%Q@?}EgX7b82X^YP`*Kd6+UJ4mSu17uQ=N^>gN17U zOVa|uGSheIDq|mG%eeN7+UJmOXGI(0k-NU&?;r5gXl@56e8tM+qhJ3|OUEG{Z}OURvXn-2p{HGEh#Vo@;-j9h8?Le_;?(c#~16Ra^E` zk~IZi%8}Rz=|YwO> z!o}8xFd@L3nOWSa6Va^+e$y3;sZ*6-cHs0uBbYTol*A4FVLP{;F;$C;GHs%f^CwPb zM^ExMp|EkH#?PNK6<_B)TaRmT7!cRmhJZ;D@*{g(lT&8{^b4k{X?Q=;lQtOco^2rt}2mN)$jxa)h@O#Szzs_uk9kUUkji25|aP~LPW9qRd> ztfJ-DHn&|_qX_p;nWh@Ur8{G)YITod+}ux`#>+SqN&v^c+CFlM#6^?J&f-$XlS-dO%CRv>XCn)IfUOr4$aKeh>l>34qa$T`&A zr=E0;(@8lcS);^RO(#S?K3QXti7Ex9_F&AS!lx?4MMrGBwV%~M-LVT+!!)eCXe_M? ziv|k*)tsF2A`Jz(3(4Z*PVQN!QG9H+3QHlReohiJQbwpE`ehYaQ{xxXW!A4L@9d<> zaE$-{o&D&SDl7(#rOafG4ahA4PBVTa6iOaN0Xz9wNuBnhZPR_64ptP2+`@S|?I|0w ze|pG07KqzB9Z|8;+sTY4be1ynUe8SbP-A@Id&!b_uyyO~q_m@<*~s2qXzZZCpVB&< zK?3M&FAkG=0_1j*qVqD^Qy?j;eAS+Rd&z3^eLeM%&nkLb?&8qUGpaJ?#U3bG8C9M?;7(oS`?4;0tv0TE*xE{B90VrR!6jDa? zf14qIbkleHYn&?7{WpfKl}g;9x}8)i#ZlEJ-lI z)9l)UK2l%)ZhUv_vBMzlPqwZqEL4lrDsnAp4~^Z_z&aVCG=sH>$9%3?2yqz=^zLhi z%WjlqwcP3zy-m*}G`+{XF$)-8)KJHdZ(N-Etx5IShv2e`a~TrjY8L;H^26HS8g=H?U(mlbre1DWwgokJ zkK;YwT8L*S#@_3Jt|L>e;Rg)44%PoXS4knTfr`wBMijWz0zJt%%6e4Mm5(8k{!RL< zcgxzLmt{^8kw}Lg5m#1>_Cxx^q}%~I)&)Y`hpGK5QB@$Lgu!NG0EY4gn)13AHg5cy zfhCYsUo$fs2zHLo6K^XlGtWn)cBid>EglmmPeqPFD2{EhdxDmhCwvsZB~yJIMNh%m z*zy8*g(84yWJ*n;f$leo&#Z8vG$!E5VzQ)&YkgJBaRgGLRsdZD(hFUhL zUukcn4i2wW>B;9dz)Puh|2a{O1*>+SBw&A*3Hmv(`XQjHJcGYN&S)RHFY+L0XwK0^pZ3}P6 z8T}dlW~bUJn^&XOtxlO`j)IR*(swg|`PWZlwQe;EkN@!0GuqW$JXEbar4Zy#I16Em zH72SAtZJi{QQ`R@fa(N!A}Q&eTKy`i;?tBc%XYQS9mjH&fdvsM2AI7*w$UADBC4?~ z+s=)BkkQKPtQZ%ecB21#f3y<4joq|(W1ZHF=?LGl7k?o01}4f$jC15ef|VfTN`!nsbK zTJBNQZ;H?Wbwrdx)>N<3Y`%~n3FIrzhd+21Qa${u9$3W^XMMbs4xB|$#6Ib#=q-AP zr$@1>HzB}?q$2Vq1{!JSYSQD zuDGSARbd2c3NE`bP92dn;CaGC$}dhpRN|$|wN;rVe=5R*;;|5*9Z}KFszUdQq}gkC zd=+>UxrY~^iIYp=(p|7>miSR1^vApEd|P-h|}n1K1E!I zyb9-;ic|0{5TN7ji%(7$`dIjQNi?e3?f>O@oIe$B09cAR8ow|g#_=E)6rlgrB2-W< zT|XaR@8q2YJMjdpwx9LkX@`)H{dF)~$W;X4-@+Vy0bwujN%6=9H@=#{`KYNK&-_{6y~P1Wp6Y%%zgaLt%w0q1uF?L1bPg*fV;YKk_N>~2S+T>{viz;&oHfP7rZnm z&TPi*gSCUj9iErc1C|5+?dc=`I=ugkQ6xc>3Wnfufm1v%AtwRnMcdsIaJj(BgJ@Ri zq&7^cjaUU-sL-ZcgzZn`fV|FpT)dtR1LDw0E)vpXJ zp9=*HeD{%20+%z!wJ*(#m9l?9Wt>k0Zpvufz3x>{5ys`OHLa`%K^}cilDQw3LF{ov zN=Gje-+zmSEo=gWvNQq%1&W@=CklfJnwkAR8Jr#1B1#=?Prfz?N9AuZSHGxgc4N4S z^u&=ylIm@GY^;EO%wCEJs9WE?)CHw_LQ1vQNuA4{BHESe>pzvU7OgMmf{Mxby&V+a zMbX*x8+f>2n0KQfSFbrkIeXx20?RdQPv^pb_jl=C?yMrhp#h}NDC)m z<#Od9NdP$gJi^1ugbUDCL5OFJ(ww*8>wHV(ZRfq2$>6!#*iURe$bj%0TZO+3|}IdX%q<6bBV>Zj_%3N^9A?MA}>k zmPX}+G-Zd|Y@}^DUrIlk!C2wtoaWJeqXjZ%4 zZIz!liHPVhCv9N6Q_7e4+N((Ydd*Rn(y+|`rzS<{m-k%f(Ax9UC@^0R*ntTjP!#Hr z^gT11!Nqom9$(|BI0t>qljuSR*q@^k`y}&5Q`81gpd^z@hXncmF4MRpxU%(7mhY99 zFR5(rnd6yGPAV`IiU>gkcBBpKEX620&z)M-k_$p4@gK{`&#{CF=)Q3Pj`>|Y6b5XS z?0rGpQlZXZ`iKY@R%DS$jKJF51>I7yPbDlgspSov57OP3nPUHi0^p`s^)F~I4FM6c zF>_om*_m=^{8u0b@`!GBkib>oM(N4Gdzr&cgY3QExdMzQ4P2MT@^;TLU>?NRt^EaXoV+Tv0fzC z$<|JwDXSyFyE^(*xU&74r8B+Ya6)l?WpmU&9gfcRYE&C%Jw-U#1)Mf=mMnIv;Hubo zy1?sU>!%Kg`S#=moodwGF@kE;oF#$^d;(qu`1y5`N<0_0=IySq4!iEr(=+{~WGMF} z`e}g-$Yu%Jlu}KBo?3VwB#JdHFaRh#XCk-)rY~XZT{<@0i@)#g1`5SQB}~fLmLtg! zzXm#aIdmH{5sOy*od;l^y+`pg^~J{m|73tRDiQIrJQ3^hcX3sjZf1mZtc*Z$k#KK4 zsi{;fCdv-u(ZD#_*gf}+HHOzb6$LXz)@6AD*7k-MM3hpP!Z8!iaO)x73*oGhu7H&7 zc*rw4foB-x5-p#h_;az-G|81p|Dbw^gu_JI0ZvR-a_A=lis=YKPNv-(KHD=3^r#K^ zo=EbD4JdyBKXbXO2|vhkOvk6X4~C;%IRUGa;If-0i#upjww2<-0J0?o--V$tXYiBG zDenRV4iDtCkd2*W2UD#pFPptOkR*)Dk{oR?gmTC1_TReUA%osjzbC0|pY6WOL+GO; zWPNsBmy3&=e?uP{&tf(0)ENQI=jiw8-r13_s17e8o$?{CF@L{MnFG*?j}g;mVDJ0! z?+L3>g*)X(J~CzOrtEfNUm4|Q1fyPA9lp0y@bzEt0!WStO$mGnj}ebJ=1snU2M8na zy1vn73_3@GU+2kK+SU+9J}`}2^9Md8wFwiXY?!{?|9)olr)~NY90zQ33zSs7d`(|= z^66eUAxw#?Fs)C-!-O43?Vjke2kf)XrP`Q<&ZWNS)P1O1WKT*zGFVcq+e6L*dR$7a z=*u$kzA>h0{i-szev&2Y;0Cn=LXf3%1({ntF*)yRf6bjwa(L{_eb*|Nt6KL~T0t8# zf*-ASJMvx)!8>~rueoOd;YQsTAFRm3Hm^R6BR8UNB5+5$0cgftaKjv1yaE59BaPx@ z{P#hCMjEWhxK?zL$@G$4E7X#VDFygf0MHQ3Dd~%-u`2vA^@T2cx+9D#BMEw~AVO)v zaQF#oAbyn&@R3HhxT2Ljfmk$*GeqIG%7z5V1PpwV_!wM5BMFa#)FTV{+`>sL1i}`` zqI_ZJ=VA&18Dn`*VS8Zp{w?{+){z$doT=yBSbsCw)Kn_c)jAC{83*mN*o(#9NkTZ}XLC&4Zj{#bdaDi+cW)rF(NmQSH zrQuwBzm(oMxS%m4S5_U3VH296HmCKfR1s6dNrtCYtMXsd&Rd;I-)0!2_x%mVpjL1`i6}qwJPE3Tv~~p|oCr zKy%77Rt)MAfQ+gu93d|&fw(UkgQ}Zo@dCYb+#}MT$^;kX2u*x<31F+KD%xeRlrGv& zyQzWdhBr-q+Lwqq&$gURv*!>-xK;kFq$md}ipo5+snXPRtPc__D`ptN_d!&XTlUTk z!b4~yGue0iOkQHw{tY1|;5o?jYB5*mEInjTV3eCVqJ$+_V~(D&HrBG_bD0tuwVTN( zC$Mvo-RSX+^)G9?K-T&b!>#qKBF%-5Bk=l5qSy{Eq+=Batdc1!A*;$sJq2f#V@>H* zL~cduGRSbt@J@wCSnqtM2yC!u(hT{R_NF%P@3zdzWfBu*V?@SBwQ*g9EfT<=$y<^U*;y=U|B;n4oSL$ZrT1I)KT@F6^YXG?^K18b4cOU zkE>LLM%#f9ntYluY?%JOyEDb*+XP=HjC$NUc`pvt;x-IdL{awZ0=j5;2Fpyb&ygtx zS9wS}W+EztDDvgKJkK_{ASCOT=6FiMhzUh9&X5Pg2IE%m!7mzOi^hhD5qLh|KR$sy z?R;6Ep9+Tl_X8{;`CvB)!GB?Ic`94V$5PFUC@T|7H*3Oe8({Q&kA^b;I;<+*LZn$+ zN)agg%CoVKI;P0qL}wK<(1mBSK(sj$2ei!KI=V> zquA42R;zF^!E!jI4!c1e^q{i!rTxq+;5pbpm~*uCWMQR6%a7r>oq~o9%8cFhS*B)p zxahq6)L55j>i?%05rV$hBSb}u8%D{6V!^ZLs)6RKO2>R3%?iQPQ!adxvk_!HAw9^v0vbNme=M9G^A{YC7yLu^B57w)+* z-IxsZ;xruJn(%K0gZcJ%N~~qvs~)p%QJyFKx@D*7-OX;rKKD(`WE`hL#Y7xrD|*LQ zeM2nyYqYZ%%Hqe-e;o+_hp}@C5+&9a_Sm*<+qP}n<{sO&ZONMt%2FsiGAMscJcG(81-#a#Lz+bQTdhqIp65U5%egr~f(m6O>4c7vM zHz3>+PsP-NbE1&GQY?g19i09MItfRk5%PDenp}B;2>AW^rs%u*k$K1CNC$}<9ti?$ zczV1293qncbl5q&9!>MuOp6fs((q*6+-jobB5Z#lzb^L)BfU_!&^hguOd`A`OMB!w zLg*FIe72bGU*ZQ*?HL$}#|uCZ!;F$7IeB*je6slCJAdp8#8d2*K~OFY0bdm)P%I^+ z?$L%0&~u}F=NGgA_MppPEWWF?e4O%ge9_S1|48u{ap#x4A3Zf?co3El)cQAcjX+x{UwD;6(LZ9w) z9>wj+w1*56{V=mv@x_XJ%wm~5Y`*OIw!*Exmy@BYYt&6l7d#D{cKfbsoa&jj46)> zs#Zhr!YO7drR}^jBtPpIJkxQ6`B(si`92qQNv}+lXZlQzgeQ zD0K0&dBlRaILbXNjw90WfJ6B=Hg~)X2dW;~@b^j%r+`**0AE3ZR*e`UraupRbo1yK zbLCdNsg^yemNiD`xpL{da;;x^ET4P-x5(r%diCVXood8Bc7zeaEqCyZLy2ju&YJ{5 zSvn&B;W7N<;u$_9FxJn^>dDa|xTvgC)|j3BCG7uFzN^TSxs#JGk?CT_i$>+6V$R_z zfvd!isIn#iJcsESRe{>yQ&u1?GuD!RbgHE$B$*|pt_>`@3QjeTaG0pU#5s4Jur^kx zC47kU?d>Qpl(;Ykm@bzx*)f8!Xg`~m&#j`;StI_W^VV{?XNm-fepiPQdT%Y}_K1k${!6t@weBPG~et9MqURa&Av$n|U>uF*}a3x6gg(N~4 zTvWNLgkfg*(B?f0`X3EdXXGk1@kn!9&!H3?nR@HPQ^Se_L(3pF8is3j2jn|LQK zYF4VcNOwz(g|#SSH$mK?!NPJ~7(gpYg{Ac>MBvOlnimz?g1!uFSbWbO59&`U*vy(F zUfeGFA?!(qb;08;VlN)XsW3k`-hTb(Kwy4Os3CSCo==gbseb0Op|BuDK0UVbn=Gx! zDl!x;5!d!(SvS&v0|hqb4qGG=44fmqu%NM7OVEycJc0#sk=c0GeOPtWdg~^G-3h0t3l)ge<#V; zi&Jva8`Z_@%nGefQ#(SK>k1zat8B1L)6kRC$-mqsHLMN zJw7DUw3E;z?PhH&)0x%;kAAg%>d+!CXu#;sL>;1rHTH`Ql&_wx>x*Hd=nQ|O8G!*aj)Hgi zg+?b3leukJz%XhV06&-h1QMbTQJ-d z=Z9_*_`%Zx3Ej}K;E)xyb0{ucP>j-7mrV$b*n#;^5kz?01jj;-iKxGj{&JIkD97_e zui=Vxe~S*;rSJx?!HUkiaD6Koy&PXuZNl$_!W)}uKP{T=%Yc(SypYWb5i7iPCfJ9b z;UWBCe-V6xujIE7nXmuQ!F{b}%memRizLW6F8QQ07abc*=bEe?D))~L3B{X;81rkBFq`JS>S`a?C7UT$*Hm*R&A2Dsae8rzq^Bn{aS*!)pifIq^%Tz=xlVi*ar#m$LsOTi~(`A;U#p?FnP7pxicz)q_)o zEbEZm1eu5GZ-r$!e;dd_e&rYL%r*_}IMYITB2@^t7%Ea}1uZhIuLXcQc*3KMjcHTY z2`!tQBoBrIf_!QsqXjlM#98%?c93n^TOU!m8pULP(#kLl<`5Iiw}20Y?{N^f+2+IJ z#{qH!N1e};kHlw87+>4gK)PeNk=o}jcqFnKE$dk2O?Ywv`sS8NXGTzT$PIld&u&fW_CeS*iFnDEk6^ z&KcZMI+h^=RHk4gLAUTXjD73+H`||<@@aX^-11~N#ET&`+ifJg>9m|el01^Cl%Lki zwK3CLO*K|czkLTB&4Mw2-2{b~P}`U{yyP{0Hu5`KM8LAr2xTKiJ8y!(Y0ome7d;b+d;(|u|h*C7|6^H1xBsE zWiu$Q3Jig5Q6S|UdoqXe0S^HWaHd~9U6+GR;U^%>7VC1hsYROQsP@D|uA1&ndBYwr z2R6Mq>`%NVz6b6L#kLp&yI$fO5agJX821lMN&7@Dpco=h#ZvotK+svFA9bi^X~*K^ zs_E>*GSgyo(%&U!AOHiQi7j z(V|%{Hy=OiOz>UN@k;t#kq3Q5SAxG(NU4~#2=rYMEIi6g`-`J>U*Sta7;GfIhaeX5MR8G0jSXO ze#q=7sn9oDqX4sk@Rn~OE~I!YxGf)_`7(i_?4Mq66y&R2D(8g42 zz&HOenyVDK9-a5$d^S=1P(&-=h|9)VH#Dw*e!qur#!svEh@k&q?7kZPA7MooqsO#q z!j*TEzC54*{zts`dfX^~3q4i#~6>o^XNEwa$wwf*@wFq&DAm z+~wcVLh0t=FjQ#h{4_-c-4N#6eer&i#Cw zw-m!!wKvSJ8`Nl_a~XMt(yfx&e=+DMul#2i9&1-Hi>FkyS=%(BR2Sux3vVG)J;E&g zI;>HLDOykkD{TZD*LY28RyK5+4r+Br;K}ZVPVBm`ru$&+(+i z+ZV9PvAYjEdlmJ4LCE5skKn5xOMA7lkX~UUjV+@~IkA+{=G?735-QBm%Lcx}GjX+7_IVleFw%mn0 z{H73l>-YyStNFO(tJS+%PJKUowhgEk5!dvHeU zDoTF71w5QGisWMU-{3_%O(Ir-(>F;Ouk6Sd%wXwod_Ikm*?QG(O#*J19H1CQ)X@}Z z4lrF*(?gWewFpI2vL&d7cKG`?mEjJiaw*LMmba3E7H+Qn`*y>;>t``h+IPHfE3^;X z%v;d}QI0H)M~bMYNw0Qm`5aGhg9P#TRVXuQe5o^&Hd@5&CZFAMLFVryol1Ew#3`ak zD#ubqiKNBF(L~3IJHL9{cdwJ#y-p5I%TAZKf~zmdcom(MDQ(~@+A%RCJ2L22ws5TP zHsa)6vO=#_C`T(-{8Xo>6Ijgr8ct4HvC=+kd~}?hu`B>O)TgJ#vD4%$+Bui^&R%}OdfLM2Qys}TfP#@}kIyodm- zmC8j>)EpTtb%BQgTL9VOD84a*RgVz^(n7Y;9D>!@TA6SN2VTaF3ik~2!AuJ3R_bv# ziW<$y3hGKH?_ACmoFM?$I2$%SDibUWaTrBJw;i1^s(2DnisFTM{jCrL6deM%gr|tH zLjD>d5MoCVFNgU6|0Re89)MAgYf~Kg6y%D$V?Y~GQwHg-LY%x%Wxs$P%;t8VpCnPYn3o$O}y z7?A7Q$H6ZvGJJB)DV|Br?_QF$>K)zPl&s`}*LMs*bx+jN*b2)jM!{*Dlaxvz6?9O? zgJv`Po0QzB_>mvv;@6Ore4u*DEon(Rl(#J@m0mX|8&2P;}O@vv0Sr8L4<>H)ofkXoY?;%jdF2A z1j^|~{;XccX)VX`IYFE>f46}hHFwwkd-IH)&&I1fzp4cqZQqT=qsa^j9zB&#Y|-fl zns%-rrU$E%WB9}R9NMUk$#IfNoS3V6MVXbmV7t~TS0g1Pj-!9!c&49;Kbxp{lNrSFkE5EBUy|XXd$hKi#B$_2Hwq;Rp=d!h#ry`Z+U_ ziqN#Pe@q`vpeB;TxIh@F&9Y#ekPIOPqY;8&Xh@itJe>@IN z|7`(cU}BzTd4?}UL2lvHRth2s#O1%J)qwca&tE{{Chz z#gN^~rq^Aw?;2JDbgb_e{XUvUrY}|~QCp1A*x+B-)&hkt60FPoS)C9SnVpV=mDVX; zrv+5Cz>rGQoN>t}<`YTtZXx$xbTh#4$mc^D0l_0%=VHgqq42Ci!E~_s*_#rzdS1b` zBUjqVs9@7J!y%8IT-n}O@f9BhgQ1D^lk=3~9Lp@v<6?wYX*XqK=R64F90UVPa+9jw z?0%w;zr_YK4E=QV;JZM9TRJ5;W+miuIx#!eL3U)_NGRP+INoAx>Pa2;`Q9H1!Nd+- zVhh1+cGQiSHsG?(rKj!WUZT)u&P!?^X8~WL{36MON~GfjD&e^!AufyVQD$d{%c$~% zaoxy{6?f*c>3K5<_w_NDIg1&4SH{#Qwo_T&6Y-~a8@#`FC4J$E%uPxPKtMGkGtizs zH!rU$b+bbhn~h#RRN!K)9};mbAgAH*Hl99CJI#b^Pk@Ha@JhqT3O4bvO-_15iDF1m z4G}FS^4nb0KyAk}dU?#CFBD6ET2{>q;`u|cRNZO4x#2~I3&hsQTbtf(P_&8wv~{M+ z1iSbxX=?q)Kb~SO;j5VMOKC_2g9o)88A+$ z2E6S>+$xX~e2|3O&k5|-BVmqDT=NgvkhgBQc|OP{&Mb+9Gk)n1c#O$WK7S9ENF`u| zGr)lR`A?OQg)>zD2rR=-=`{xL%V4iLz!Jf2LxwhBb*E$uq!wHmLB231>!Pjrz?hzz zkBC5Q<*g$#{EnV>QO2r^$PSY7ls+4qNf$F1W=MXMjwH`S<)=asM+uce86n498uM0@v}ov2zJSuMnP3wG==r3tM16{ zESghuDk~zshXBn510t4(KoPQK{_dT>nJ3*!Of9T0<%8Q9mwG8&c^(ZHswnC&ORu2= zx>24^UCGTcc;3CbVbAmrM5Y}~_B2lEjImOvRGJJhEq-+<N|mw$jj50QgXu>>n~v@Ht?|m(0;1tcl0gM}ITw4S2-3gO2yWfa49`K=31| zlrI@P1v{om;6&*F@TQ-!-&rMI_vkuUn&Gbe)bJ3bdB%`((!yJuB=ns%Ry8j$!;k5{ zi$D5n&_0)=)BZMo_j$^#0}ny%zyk@M!gSICiN2xahmoIwMngSuQUUC0Z;?YH_p=>@ zG*#2XQ2mic&YAQ;Vx$P!%tAL2O~pXSV-P+{>Jo^8GDigckoQ6ztTfytrXr*T_32o_#3G;JFZzHHD9qg{ z595W(Yr4nK%jT_X+pGe*{tJlTEls<%K!_4Ph%t{e4s37HQ_`=S-)Y0ULt9D-O`xvz zT45;=$I1w5o&E)|-$H4{_zH%dQC;ei#o<(l1<9Spy0`$IB;RakmLGS~QX(V0jssEn zL_fqSEC*5|J9$7EpU=E)yETKVt=+B?BX90+hrbM}SxS@a%riiieeBPBf3i=~@7LZK zGMwL6emC&cCOYbwZEf-QxZi(7km0`WCtAJU4$HnAO>@He`I5>TWoz*j#$Nxj?3bZ4 zeM5iVGx7BV%bR!w3o$qnO~goGX!JX8#^G)W>bMd6fgA ze@om6<4s`G{%z2#+Vq?rq-J`MTC*xtA6TI_r0zy)xgzL7YSDw#7JE%XYPnFUFB#hZ zJ_bx(v(U#-^<8W%-*qIu;UX+QuQM^MA|p#J?13(9?>HvocrDI!I-X6>kBz%nm%Qe& z3?FD_&R1IVWeojygdCN-*2$El8sYkGVi<{)TmzjFXs(r84r@3qRnr(UMJ1zoPewEK z=}8stpb_-FE4!K?HGfey_UJ&BZM>s^FjXzow)?&WXWG+d(mJ! z7#E5lUzBA3BMHXA*8b`ssn(XioHJ@LaUDe8xv@MG%A@ixgM0vYGf=#vJ z(#2$~lzG&KE2;k9c%d^^^*8odDb~AsgXOOcQ4TGK`X)8~-MmGN>a*}HouZNlB+oa= zDZ7<=*jDQG-WCHVp@ig0_bxzCE4_}9qaH>-tXfX@ZC+> z2A|S8vWCSZfwG0>2H3>kj(xamRt@*4R0>v>QNeX!9O28Ylk()Dl~MI0kP^&CW-aLl zPT3}RcO@W46QQC+V*JmVD>*iw(5Fre~|I49*v|EEW0UgP!Uiap7aO)-KW! zVz!og;=y)@PTt|t1qVSH8f8k}{?Y+hRIytqu4YGX=Th7|BRXd@V8FAuqt&WU#|Rz$ z`5(OFPWClEGk)Ws<_OMN8W?)F8>&{-$TQ-0bf#o4W3Z zEw>T6HxBzpV9ZM^pJ1WCWc{6D#$kOgUgbCi4NW{F!aY zh{5VNu7EKLJ79)4R1?;kt+Z)}ztFDAk=E2e9g0dg2$@zu3lTR}hz~>m>YXbi%%cdq z;C+G)x9&8D)?x2^TAg8oTy(FNAlStsbfDgvOEEY?{%H zh8=?|wcb75{rB7ODC~K9qOzNctLBlOn&1;NhzcdE7u~U56%RG6sz&?EcHFuOa25h$ z$JTXmX-5`JWb5v{iDw5(760D2!f?5PPFlYbh2b%U$yCMRo}WSA}^?D$j4*^ z{L;Rz1#PlNQ?~i&NY}P*4WNO#>e@uVGbRH2FFHFjyOo>vuBb^ybNs#=NHuwaa=oOO6!psbR?hQH&np+x_ z)`llgqUaM;<#CF_Oae3q>_>+s6;yqt&$=B+5R~xl$r@M6R|Z5bnB7nd%H8 zwG&Mnb?5Z=w4>D&2-^J+QqHKm>L3j|{TWChm2DlV>jM;cMoML|u*+3Z5QrpPIm(e$ z5UAu0D=GjQQg5cM>4cusQXM0aq!SV&A$~%OB2U&AkF&spTI3~=00T(ECksj|n?%R5 zbS5@{!5a@Xu@0*%11kFz<9a6RRv#P!VYl{XqNhIa?wXSpmot$2iY z=H161Kg;?VRMhlpRWqC=HpIVnY81H9@?kF1)BUjD%Hx$3IuqhY5FL!^OYs?0K&u+@ zB|j|+`3gSA#@<}Q#mXEo3K1rO;tye3Ao>Z6i?0#X`T+k~`Smq0@U9c2Zm2Re(?OQD8=CtoVnMR}GF2 z^BoYzehzX@Rpg%8v#J4e@^F52gD=M6mw!-*1X*uh5DZZh29IJq7Z6(N+=RiOpV-pT zr2nT+My=u;T@EhTqxQGbD$H{+r0mJsZ>9E&NUS_kt^A3;Zbh9hC{hUwd!K3a$3Uj3 z2CXc;qHhDBclD!0F@3dl%e|{E?MW-Z<~42~GxQTiO?h6Bqy(wp#VGl}R_jxFR;4Z`7gSf6V+*kzgs-*23INWbV6N-bN4oq1 zi>ihqkmt3R&|bjU*`k)5B<%RQ*uBB6Ei>ZLH;gO$Zkkr$ab5&XC*suWLxQA?RuRio zw<+V>!zu%nPrjGySo?QYf$8{luy#0l{Hd%1P2QVOgHG#`;YN$bQRED-p^05VoTHd0 zt7Vw!i`dJP7b|D(2{`A8^&6z4u6X1-_LChV#lt_k9Bhlkdzpo8b5r<!_#hRrbgMJmP8XDL70yBRTF&m+A{Vx=H-l!0wYcvcEr+qQXFbZ zeu>6J81>;{Mi2|$~Dp)15q%fC^mmt+1MU`gJf>9t8t{5hhM3`chcF_Wn zQsxU?gA0Zp<87~ZGDMV2kaN&hT0T|qNIbY__f4Mu4?dHWG1&it(r5lZL*`l7S^xhW zrT>AH; z{cDvy~+m9-Er?(_F9P~O8ITFT5UP5%8$IXa@88#i6{H_tCU z)ClXqCbA;EL5Dqiq*mkbnx2)ljF4M-vE6u(atrVCQ~DcZ^XKz@xA%Ls?uUDu{3q*^ z@P}o4u)=!eyjS?@@!IJAE^jvl`4>HZ`=j!W8p|S*B$ckHYWpej4ZQfrl9D!A$J>?)dlb`ge@p7j4 z%ivonlQ+lqUTjEv3iYF`jVBA%F%=h+6TQWSK|Z%0noIt1z%e#^m5izDVk=~6E_%(s zW!oMJ9#@{{)n(bVhBrwE%B(N}*)}2GZ$taHqmfM?x5Zy0&HW@T>#VQSqjBg1hI!L; zBS-2zq$$!UQ+UDD%4MUQBU`Mg%*Y6w9GB?^Of7v`S)OcNrW`A*)om@ubm{!g8q4Lz z`ofkR>-35R{s-5O`61(3SYhd#iB%${L$}3dGX6~K!j|5^GD}y;)5Bm-!9CKVYxQJbr0UL_NhW*-UOBz{>ZEy=>q|E0ToP^)ulY!Z@ZfCSP;tMUNo8l9=Sp6M+R~ixok?ls+9h zg|b+l(9A17t?Km}_O_gq%Y)Qnc8c9(KCm{1V~=4M+^WBXRdD)MjfASTRrDYyj|k_C zRCO=!8|*g9UmP|3_~P&L`&e}L4p=qMTu#F2-#EED%N_yj#Kd^gRC(n#Pwn219ohX* zOsT4rFgBLw?5)FDf$aCueGB7k7*7Hb?@n*;N0k4Vi%xrdCIawuwiP&4d=$1amtjH8 zi9nh5*`ji1DbyT&q*xBf<25^uc*ObNJ6y(dGE1Oa{X9rbrSsHc_hfi&&J}@z1o##a zKj|IF_ST%(cYwJAp-bl_!nxG;xIT0Q4|#w6FS~Pv@&1MMB?D*JX@mSI48pWSjF5Zk zBHt&c%WPLDY$32yvD*_YLRf{9A6A!|Y~?X|BzaO>;D~ita~AMrT``jdCuYq%CUmZV zAo7LBHfj9x@xM%L?5*uFY!{490}@w#Ffkht$X1X`TPjgm{Ct-+lB(uv?886jX37{R zldly9C}mQ6HM}^R)O>0l$1Nw0<@+0CFB@n4;H5Vkifsld!-^BuESjm$R*y+^;Trrs9pC8yv*&zaOsXPV(UPArP&2D7 zvUkrux|nWXa1{;x{aTdxX~wk1l=VoBsQ7^g1t9KChMyG~G36 zeW%SdwW=X)J$W?+oI~wjSA?#6?;7W%+$+o1?*WA%!FJH(;*cSiYkTyG?(M02jK=82 zsO>rm7S~Y6AdDY8~ldvL=a2E|toau!BH4Jc} zCsAuM$uvwMO%+qBFa9n>|WDk&-OxHpZ5=(wY@IADH6O2mRc;)kpAA zz9E6dM9TD7Y4IBNCC5y9KT+&Cw`R#MPRNgI#~js3x8<#aq#JjlWbNQ}dzcyX zYE+er>F}vuBHJH|7KBO5Dnxf=n?nOWqez@ek{mDrZ~^9x$|(zMuS2I2bxcY~7Nz z*3JaW?_74;0gkM^0<~hvFCRh`MMg@&k(({muE!m(JdDjRPn9WUfXb&BMu4E8n%pL& zu&PzTRzN{loe$2ZXg2e!HsG}ymZdnEHTIQlX^mp*G)E^6EY#{i*Y$x!VO=OX6CkFL zBJP6{0uod#Vs7Tmu*<;sE`VevE!thE*+Sb1%>{v;j66!NY!9&I0ykaHY4dh@>CH;^ z{I_*dQkK_~lN|cMZ@{nZMWa#K$P2$VS$2!Quxk~?xV=*7mJN44deY%G#QkHC`?UMR z_4zVyGL3>NPu`gvrhFxL4>}8(6rSxobWl`#GETmT>V=YDkIFG`VCbktdO-oUycI+@ zj!C3F4P#bwWNY z{4G|iT<2M5D~Ua+igQP*RGT0EO}a=#dlv_JJHJQZu5_DwJ5xJ$e@Rb_T=%PxGp|)& zrv@HIY+5y3ana6z>bu-KKOHcu+Ig>#v!%!8A`u{0M(Zr~=>7KYh`v!o7D7YB znrid{iX+(=cW>WwwumM&K{+I5r!jTEbDqDh4TA%4IGOr<`bwCjCN#pnunq#(>FGhZ zLT;cGdBCRX1I)7x=HIP8MxNPpVp9&YniW69_nE~yD;zc&7P#C+pd@q+;zYu43J6p? zfJ}sijqxieVqK9IsO}UvCI`=1ppt0>?WbtJa{>opx?ll0Ao(W{WZZr18&+Fsl;O!j z$9C_=!*{?JCy_J9X{br5TGe$&6L8qBckYoKoZa+N&L#aQBFd3PhkM=5Np%ND6MA~$ z!Y`XENE{;`_zl0zL+-chhc^Dfd)tU)1z=`P0u+uOn8HM!3`g%{jlA}HgFU3F{XA0YPNSo@{R&_@;=yZZq%q0LM=U*RtON1(&1)p`zfrE9gVyfB`sb`rMKX`d-u8f6r6Uhox)0M>`$hRy z7hO+xS8w~5Fl`tN?I8uYU(mS<|tJDzc~;oHftTEnWiZWtO?%RcjoY3@N3vOw2T$yb)Vi?-)AD za29}meXFbL)#Y(8IG`mfaC57I@3lvkfyL?8$dD=kdR<0D;COd)hrM*di}xh4@s_9`f>ZSXitFJOkp6IEjsV(w4VmvtFVWWfye1 z_U1H2$L>v}s*&Yx+?M1w>afc(cPR7fbtWN`z((6cLbq1nMI0D@ew{vxBycc|;vI7% zX>sg%+G{cVh*Pyz0GS~i<2MNs*|8z3JymN#bSBnEdMI^ErAy~Dot!IS0jYffyUXx1Ja?&E9$kDH zZZO5Es4xF$90RYj7#BUknAPL%MpuZGw_-R4sG^xC^58P zh({_ONSuVYOEH~&k%XKg<={pTa~j50rGYO46qLxW1lofs1$}CYjka=P6f!*uzeEu$ zTSP7Fn@UHgAx6=csvVCA#?78y3e*JhHw>bZ(d5-=FClVlC7nAALr@P&EGPq?VihO> zo%v|!AeSAwh>G{164YzYp;GJ;AJD2C)gG3dIe?O1LY0i&2c+#9`)q@oxK6Z zzxBI2oU#50@~feFNDm40XN>7F@YNSX?;G^W)WMi>lop2lbj~d}V^AMug9(h@z>Km4Q57gq&&Y>xJ!& zcvvr1H(c3rsZo#e%^#z!LGq3HnO;n$QnFH-%UlmYmCJXNF1Qmy_ zZRggvuGON1Z6+bMKwpRN4?KPv*q|$v?t~!OWh+`+13=E~EJ@PQzCV=%lBIctUK>5lMp5ja$!NCzW&nRS zQKbL?`m^RDpa>s?bc1h#P(TKeAN-Lkb_xSUfJQpy-2fE^&B_le)mF9|7-BC9IjI*% zu@40OtHYQ+@{H8Y^z-H(ZvP74|>7?G4`L)izESB`nu`iUb$T`CT_ zSNPn~hKpwIkcIi1_{@>=CB*WREZN~SCLHy$dmbQg(oL5+b8RcBqZfuWTTAxFk3g|% z(A6-W{mYhoHVtQuTIOCQTo(~~ zEZHS+D^4R&UT;FdU$k5}acsaBH+OfgA~vqIAN$;8bjoGZ$v*zd)=`>9Y#c7CY;o>) zNpKO#uTnEgWM3%COpW5UqrMIC+(J?X(u- z9!;~&wB)4^KPE93E?H?YKFpnTypT8csxs?s!x65dY)9P{lR{!QNMNiO@Ge;)p$b)s zPjpc$i3f&=5P9#{t;s>l4`5c+HNdy9hU>x5erXIi=pR|?5P_*IAqRRlBNM{sD>}{W zJDE!rs153qzZ+eM6wNQ;Y!r1DVthx^DRZsT>ziALm8(P8(P5ZSf`kE8=M?~0L|>?u z@#ieY6tL=TMVmV8pFNS}ut4F8zUj-q?C`$&H!Hnh$D~TY2~|QVpT=R`0dJxgwxV?u z%BUQV3y1AgWpwV{1fNhPa!Wj|F@yll>rlK7=OZN!MO8CXd3U!44IXV;%*eAO;oBn& z*3>wL;P!yccnf*qqv-fpxI;-@{};BVd7N25P)1^31O8I$J0lt0^VbFpJ(;))SRE;G z3P3eFk%!UQ$A8E~l!|@KmQO?Z=IZ#Sfp-(yIx#{R1`nR6_JJC^IyXG2dh8Z!K{c16^ta*+QS*adsX!ZcV|(OAT#? zS!IqUQ?pr3o4$U%R*n@5UAi@s*J$AOId~d;VbIUw6B-Bu2LZSn4JM)_li_EofZt{S zr9zR|>s#G1`$3bA`7U5RlDa4mtTGRpq^mMiycbwekD|*UZeB^BPEB{~3{B?1wR^bW z$C2aKH%fU0&px&1l~{`!LQ+ICk@dN^9uqVTIstiliD^3ja30V=fdYdxYf?mmHMWFx zlB9*KiXGdNKER#)$0h-aW^`nkU{mpsj#^16!k7zz={&>FUF_r*mR_Bczs}(tT5-vc36d^TClLOo zB{_uxT1{8Q%=ltO#lbY5grd~rGfd9b&OK~gPmH|Ju7ajl# z_^IHBJn(SHxoFd^Hq{R%MbZ+~$kVXk5LlKI{iqc4{$m~SgUzxQcFy6RmD1`VH8I>( z>oQgU--ACt->%iwV5?P@J>;O>ncRaTf9(gf7v2A=v8jrqk=0|lXZIbH9fIs^8+Hg7 zKOR3gf{#V+$`%39H#{PAJN09khyqX%jgb0Be#ED|>E8;gmAg3wRnwqK^(BhCi&8{2 zp?DaMNQk(5Z-vCC?7*S3bTP)KNM-B*7k6nOtN}C>F32YL5{yBOg9N1~Es2x>SrJg1 zHnn5GP~s-ISE>mx7kC0TEU>Kv&VT3o_?(Js2UQn8G!6ayFpA3?O#K;{O#PE^-!&DZx6;B zKuyPAs%mf2IWQV#l2m$Rd%7OQ6wklCs)L@SG3a7K^<$U?0d?cFfEvji$XFzSDoR6Qji?^ApxVUv2_;BDw}wXKg+f{^A|gsiwSo{< zRRMq|=0s3jvPmQ>CV6l*3Ad3R*A+ncHuuA_UiH;o-o)?D9~V$F%L=Jhv5DF<)E6Tj zlRC*8?r;JaL_%^S?ZIyl3MjPtmPue%bdFby;A?}t7uAWog(-9eyGLs&= z5%>{fvs2fl_BrKyyT1GWbh}uz?8;{KqpHt?x+(**uFiw9;e1vONC9=muq$#8sGb^J z==rq;UZf>siA_VSYu2ruWxbEd$eZbCfUuqA&ivkXy-)qzL0a3ofc^NvlX014>nS6L97VS(+Afk7Rnb8IqD~`r#QZh zSYCh(X0so(sw!hOZxqs?f+sl>dw8r(HQ7w-g3lq%RShTs8VZajOxF!J?#DcTXIUqLKGKXV%}sNfjRpaBt0veK62+4 z3BUe%ZqF)rYlz12IwzVM?FIKIvP81)vi(h^U;@r%a=pg&AZv5Wn+no3F9QAE_Zo{B z+-Ma8DuHmgR@c~j2WzsNw1AJBVvSYondS(LRE`kh_7R`(r7f-L%keXT*dbZ%s}5^v-jJ8j zBeP2AG7y_v%>AP>o7@!^@|se{nnFCHbbkEW1t#Mma_5M`JJ`R=Mzz3_cRCfhh-?uU zDCXmZ4)wxjk$+VoGMuvkF;Pm)ysxImy(R{aa-9OY8`U(FF&xJm;!q{iZkGNq3Hlz6 zyNdwrqb8|3ts4NC#nW0$yo9zV)Z+9k0w-jk6t=0?oo`7c(}B%vR+~9sV?L*~8rJ^V zLEUdNqnY5rYOB};$UURp;>%!TH{2U@03Lgbn3l|(D-u}=(Dh|ann}l%x0U*T3=ZQe z^`B&LRFZ1+%l|3&_QhZBzl#dHQ(UsI(i8FO9xl^}UI$*H$9xp9jnugK`FMQ=Mj_5~)mQJXv_IxTzs4GC`swNe7Umo$mXI(p` zN6xRabwiQ1_M&D*;QtZzj^ULwUAS;GaWb)O+s4GUZDV5Fwr$(?#L13r?>L!gl9T7W z=lZ@sUA1>t_bOezs_u2yTJhbmch;9T?8N$?aZO)wG3~JL_F@qlm;8bv5$)$=mvE85 zRu8`Dhn}+2*D}Pyd5ViC#KPSEgK|+zW?!C=m4ebWVm6Ad30|I%3l`GlHo|4%mKq&@ zk8njhpLC-dUH9N^-jECR)1 zbzY#Wix}=OZ2d!h`bM1=a&|z6z3@O<>JE7wW2jUWwTv*uZV>*S)R2Fr3cU^uT>m{w zh)NWqAz(p`2eej|wuGk`tndQezCv9x0b24lFg=>HiQak&`z6Ly8753d;f`2Zl;%oXVNUT90T+qBb$ukWCHRpDMb;QfczNrsGKOPBR z;t4oIiQk}@hjC_LZ+?Em?QaLF219e+R40sMh(?GFQRqBLBPg77pL_3z*`vmCMw<%z|qpQo3VxP3THmgT_%Mo@Ks;3>E@1Js_E!&4K) ztl+l>#?f%Fe!Dh+RC^Ogzd>(`V&vLjHN7CJKP8ZR{e%Nm$7#BPZ>S2RqYuYVO)#tE zS-kt1|3kAjjE)o=*|1azetZ~eb18RoX-Uor;Po!UqF`9{4Ha}ZmY z(I4QUysBXHrsB|Uw(&?xsWn2q6T37_`}TG zDHMR__yn&CMyWD(O4x!^^6H zg?&xwHKigQFdVQxc58L4J|fIEh!yCk5!Z3XG;wMxT4XRHB-gyH-C^5GL zNv%Wr?=FS0{PL$9JOD($na*LzK$5`phkqbx;<}UB-h2+4onHE2HHW?k6qBlH1sH?;rOzzIl-f!oK)HVKB?X-#54yU&OMfFeN}cyqR` zox~w_DC>)g|J0F>+R|m{WY}ZWo((*MLG~ZCO3Wr4i^udmr}Bz80PWO=^uIgc^a(UV z(2$CxkQW#i+a>p@^gA)hfUQkX@>;?r&nbVb;GD!OdaPi*&LEI8^73xaLw3Nvt-7D~ znuGRb2jUn1S@g94B(Lq>^8=@XJLJf#>NUGzA*{2dRo5ljDt{TJy33KnR`*=P>x}zR z@ug76))VXfahZc1(Ktb`KDW?dO0OXb!>qOc1%Ci4W5D2HK&0Q|-BO|v!~u^cR()a> z=nRmd~ByM8t?47+s?VzF7sn=%z4*02%Q4Aq}#zbfq9@ z)=ggJT8qOQe8B!(L{Q#B7UI()?Ka3=;87tdFh^`Plvc2z^_to#lBCU|QVLg_7Z~Hf zj;Qz@7@9h$67~6TnHa-Sy!?VIr{!E>a~lzYrhIo1FfTb5g7#avm{eT3-tq=hZ%s*w znVBNoR^nj+ySo-r;!zHKDRMD|IGB267gnETi~wH{sDdStx>j{b&Y*GFe3d#RG(RL| zi)%@BWGE8yu?fdn665*G8}aZ<=*v^4oHuqw@x$%5Hw3h&hgn^0>F$$zPnWv@c(ShK zXxN_2x^@5dI11u&?v`=KzHy8mko`_&ksf6cRJ*6q=gYm=N~RhwIF8$3$y-;qmO zfGrL7RlV7n=KXy1?@*anqfpm6%Dgn!2HJGgtuBfFELjjE`dt~vtE|IeqZ5Oa&Q0?W znbcagdx$inrRC9)R|Cqi?b83mde;W1i*BiFbsA+B*A3KFqc$S~?BBW7ale>UC(&%K z#NWBSe&jtJVs}!noNbBhAwlUnDX@b{wCat~Lc|3+n5o%UiSKD9W>*yyDi<_v1cXWV zO;)V;@B|LGuYNQ-tL#edWl#<~ER(l7tAOJozmb(qXH*W`IIB>RJwoQoj1}% zcad-|-?n?|XlR942XCQy1Za!7)}Qxu7OHrA?l{FS?RdXouc~5kM;520d5qfTzF{voCHm-jge`A76@-64};yBn@W`(Ho1QUzES$)3ygB1>$Z z?u+${Nk&G)(RDS>G^OaXt16h>ZDSx_Ay}^7lfRR&2Ifm%GjGGs?xQOT0rk~^GH)|X~o6}7*}-mdsWVHy(9D~qn)mO?0_XoqczkOFzBdiRkX6!#Z;f~ z(3RZ`MgO)wSHI5YfoIQ3O*g^25ZRD-Rt|ssu%jEVfIC@zal05TbbzuGc)kU;z?b&n z+u&qRW4^f!kr-`(yt|QVX@n&2o@^q7(CXgWhF^^Lcy{4KKfX`=MOxyG`gemK29(+O)7j2%|9 ze4y6^uMt#>QE2-cJ%evDGweAFTwf$_`s13yLiyL|<1NW%{0gadNVyzT z9jQLT&W@^+r!MMVy5eY3kgxhKv4x-W+*9U{YlP|O+eN;LbFHN^pRO~$wuLrT=Y8Yp z#(&EWj{Rq}yNyN8k?PAwIWROhISLLqMI;)mH*0I^anZNHWtLs6dDyP$w6Qq~TNdH! z*je&TQ;}MPIr61^%cws>onB2BMJ>Yq2T<&p9*X`4Q`xdHrps8?YW@eQ6sV*+a}6(s z$uRv-7sfV^lw1~pHtiV%_AE{s{v;6mZq=V7n_03;Pm~#b->06Cq?sn->g6bC-cW1f zU2ZNEYB(|#|3ykNVN@ z1)mT+2J%)xkCdu52YsIqe8^tGX67HgZ>XJk-V**KnHhFRDIgaL5%0q<-c9^(ODhmVx{ zcq6X=V5Ed`{=u~RrGNfPlF(euPuOd93;VBj>9SwP>@mA#f<_VPQ*WqAUtd<=z5Txa zeJe_r@^N7BOyL)7IN?%$LT9(0KS?_CmVv)9)0~Hde^DXZ^KP|Z;6jFo1@Uu`|Hw>N$V-d5B+}DNDXo zjg$ZJF|`k;N%69%H|)rC&Aq3`YbU*mxY~{Akx7PLioN;OETZD{YqRj=%;YquTazM& z;o3NJEtb;~u|>M@k|C|K673RcicF~r@M4gZpE%2no+XVmQV@b>FQeWgFQSt%2PyvzQroK~F@u7vVk=uM2Xi1NWo^Jga*GAbXjRG~ zw6Hv-*7gPY*FrbvFTV_I0J%W>2Qyj`48aW1+2CbAWNb4i$^wnFL((s(Dw_~(XReYA zo7tD8QB}wZOXU%*-^lt>XUPUhMAe^;U86jmSp-+Nd(ALwf_||xlhU1`UyRxP^B~e< ziCG2i>`X*y_ z?^ZSH&-Cy=29yzpSyF?59Ng-QvOg|y5b;qOEW-S>S6-`Br3Iw3jFkKzKGCpdPcmff zsRFmpD5PWQ`b|pWb^*hc;~5eAW$nPNE<1>7_BU!Z;&yz5tRMo}Cw$`e7+83e1D%Q5 z;^98XPPKIP`QLhGKi~=S2tgGX6E@}DT6BeRiH_9cmhVNs`50?iJAVm)yLa38bVnQy zJ3X+S_#gUDR7Y+5wV7>5gNv@R&|`A2#O*jkG@=}f=O|pTUfZy(+;25dS@1_`_@UOg z=;XOr6ZFM~NMnolNNaC$C$|~~JVGk054t}woOu=6q_fIIvPZLa7dY)jC+u!Ch?$~x zS5R(ns@l&Wq(L~g>eYP=nl`5TadkevwU9F&Wc06qM?&!t)a zGQaZuJBK+-n?K><^mEW*XHB1c#7a;xgx)K5KCwZE zofuWYKhN_(>%H-PQ#;En$YbCFGx7c^a_w3+a zrs03xmQP%M*KdoV-o4$vGrcD-BQJebr%K1o=L+%OORld5LIZ3Q5oZ5Y{{ja-3yFca zpCW|ZXE?;s36-6gPZN$TQdWdZleA*UsTfNdI$dWu#IbXkp?Q=nB$|0KCN#t`Q$GbM zjo79GG7e^6RW<`D&RKjlijr%_KpuK-#exm1kBFGAI!FpS+_<-VP?3U|JmfeW<%dAc z;QZ~+>I9fmY5aypbW;%3E+PmPB@r$(T8fa-wfm645XT}LJlijFDQMag({4ynM3=6p zjiJE{Dpd%~uEES}Yo-Dz)FE($<-)4Lg7`ofBj(JI22E54h76=MhcU8{b1G`wqX++p(gtVo*^z;XdwLO2V>`LGq4l zQ0i5=C6g|j${Vf1aW*@aBTtPr(^*JI`JiDLgf&wNcOVWtLU)Eaqgd;YTy%7^Ff|0o z3@mi9IzhQ$Q1vx-1V{v_G@Xp?^9|+|byuc9{3RxDdiHp`7r~V`IVIqn^6iuo{&1vLJ`^V!?!i3$djQ zB5oE9Gw8#=TWQy(!JsKs3Kfpz(GMAn2Cctph&16v0Wvsf$rNHZ_f-HHT%y`$!^E@& z+KtG548M*rONs;E>nXlqn30dnhJ{7`=8FUWAYsLZrTj{6$rORWhGmXx$ux~IZ#ZzJ z2DqJLA(jW>Q36`-qhoHw(Zk&LxwB!V$lS0~f#Ul>3HulX3!4Us1q&BDHsO7$c#>LF z4>I|K-{ujWGA78G;O3+ZeZU)b)(;NgbL-C=Ch#Rq&>MPP#X*YVtSN)qzGM8!LvAb> zEU@F#X@mIR8%`K11Im|AX2F_7V`?w*!6Lr`u8+*3GCO#d?sj3GA z!KJ%4p8bZXPD_)xr=VTGoN5%>rxUbo;lyj%qfok?YCPaHT-Fe&T1z~SSXe|Z6fM10 z->-v7>eoaNpfCX8j0_Z3fj~FgFe!bVQQDs@g98yoWDK{6&sbG~ zq$-75W;$ToV<5^vb$i98Ya*!<@js)HQM{DqI_UICL=+?Wd)5CD>pCZc`NR=_$ka2w z{lW%+2ufJ?*E2KL6X({&cN~!R%Br2sgK&GMloi5K1H!GYosF0mt7&C-!4r%4wXz93iHcf5W%7&`6=tRr@8*(d$S|-e@ zE$zFWnVON5=u&sB9PND$dL#Xn8;%dqT2MO{P&~b7NL(A1NXvuVQvw38))a(w9cgRl zn4xQFEKyweMop7bnp(0FV=5TKTC#RBarAQfm z&Rw$FsIuaFg+Vuht&KpK9e~?jM4;v=hl@GQ_PU$S8@qb7ZT1b79GY9PH&r`p?pd+7 zy_b!{2ufFLt!No%Humad&ju@5nRW?VQb)5aN;?3$MPyhy7+yU+QZ$Meo>1z`7B^iA za_EG4Z|<$LykW*@>cwB_e?C};u-tOhml4~z7M^=-^UytV_=;FcIU-tKS+ZQhIJN4X z+i9a}!lT+sH)ao$=d9Yxdh;FLdDP?PF}rnUX$n5m(0(nQxz zLR(ZXBv0I}c;@icwu~efs}hmPZNe-%yPQZ3h((3C1T5gjA^4g+_qB%=$Bgi<>Rk*XI-(A4>SJH`4JW z^(Xk?pYeywJzNp~4D}R$NPTo10BzLH75O`5?fL&ccFKs?9=^UMV0y6shKT8vn>wVe zFQbMcsTUWg)`q*cJ`&1IXi#T3zW0_+_Oo*Uc)|h~HkTf(PyTwpJaX98+VR$#7bv|y zay&U4eL&QU=R!BNg+ov^PAMtaV@T{T+;S{B-LLp6J|6lQV&EgtsjMRAl; zBfDU!apv0xV>hR;6gu6U2Ai7lgn13k@>_e@)RnX!kQ6;Y4H>+?) zibw)-13d8>tKdrCz$yI?~4Q(&e$WqcEU`exD)v~Lyn*jpfbC*ppJ09V->Oct}U zqTdHTA z5ljKq@}lM+g5Mq})thtTBNwo#Fb!R1r{FLjZMticd+8>^Fi}k<);tLi0(SEgi+JCt z<14hBXTnPk#3!QTZv4@AA)RNnYTc78x@Cu;B_O_$!#71u&KH4_5HnB8?Db8L)| z7InhVl~k{tRUXOEbqWDYJsppf9Ur<{$6RiF{DSGQF|4I%8v1V*2SbK0V{P~5CJGzS z{oR$TdY%b)EE10nAvrZC(G!oB**q2b`a5D;97k{W(YMld1Uh0&xJ+>)n(7rAUGQu0 z=FkI}Du**qjhw?-_l#C}b5h^J0@6eMxOdw%5s3m2v2Bixl#N4qa>%_+n7|2-j5ZK0 z4&qn};36}Qe~OOKff9>mHw2#)MX=D z#JpEZo@=x~)$yj<>?;Sh6*csnJEomMR;&8|m2VHT7Nx|m`1^Pxo%)tv1j`o65gPSc zW^{Fp^_7KaK`d+GyKBp~pUWx0jZ66R#)U&&jI^(CSPLs8>NW4S?s1rDU(dYw+)=#< z%Z$*(14?z8cV92EM}3(0%n{>{>3_*sA#sR%)`A|)4a>N5*)TR9E;mMHn0tWD7T!+l z0Yz=7dtQbmPmZuhImiY|k(EhGAQBDQ&UqR2ey+IB<}fcX41jbWFw~vr-(mLcUqF3` zH&#Z@gR=pd_bP(=x2Z<~q6Ny%OfdMjuUf9^X|hb8vSBS3irjzSq6&SPdH`h>6yx|& zYD2tsUSmOIXgi(e%ikrKL$BiXhyjAwJ9<1r7&IqS%lfB1z>WRsOBqnySHE!9&K6BF z9uJxD=9N3XybH&&<(*$;!^QZsio>?FsK37l?$YYcxK#rqEEUm$^xbC}(SkjeI~JJ# z-M3IpZI0Wmh!%{h-fEJF)xCvSH?CX&W(3EfT;7~kAD&`H%ty`be77^luyTNPJ^bJ^ zqD7r|<$A`oJC}-qyLYPwcRKCzjxZ6PG7ukD0IRy!cuN~7SBt-{$D0!wHqwS@v7Dx4 z0NAH{Dmr;2*?LE(FfUUu3yl18^J5I?&6~4rWPIVSe(AWf5FA_@3=ST<_S3?62k5x+ zj@gnMX~mm^@DX<*EBlJ1Bae|KuAZ0w8k~{w??(`eZ~edWVXa1Ao*e$!kq;LxxZSyt ztM{V1ZrT^}U1n(*_~Emv1?$C9-Z425S1tQWuBw}~r5_Y0ypTSTk(E=kXE6#a%)D*b z6y{T7{7}dl8H|VrcYyt?4>r_hT!nMz@jDAwuIyNYwfz`y=?I>7H!jpP) zlF@qQcynT(u?LbWB|RGOXQ5@G(%xldPxSnFamRe>{4i| zZ%f#}sPFsS@ucl7X^nmrs?`8|rRFxjH{KCRMq%o*N}S!Kb1LnVXUG~1gAgc0B!@6N zKAj6MHR|btCgl)sX82qCAQ;Rxv<;u}uUh#;xT&Stb7*4-%j7n=}3GNpHWoWGcVOJtaKFcGs=DQxb-qz#XtoQ^jj$Twd1 z@hWJ0i&>!CaNO)L56+Eq=0e7c{3a0x%QtYS1ak5WuW_$pMfho ziG7HxXy?OciJg6(Y4yyDJv0i2snRVh)?`;<->J_{-||g23%rj)NAU)ls=>wn2^9}H z>(WelVmU5A7IVz?GXfvf%%j9EW#~zDR#lxK;hlrxbDNcm$V=VwRA^UYL#$xga%pe@RnY}HbDaj9kKnz;Q}!o=-)Mu z+)&(aUk?@#6$8tyj)W_54UIJk5SAFYhjH<7f?y?Lr2HLAB0?(-gr>@7C`!HMxQ8K@^v_w@}CF zE6KVIE5Yh09iRNIHzROu@&fkP3GWyD9zVD~?0{M^_NMe%AbMLlq;Bv^)WYLgP~VT) zj>7=X!tE)8-6TV753PD6Nw#=HR5~fY7a$CVs|?xTH-0D`B-Y;>2+MN`gAqE$rpj6b z5&cFRDTSM0h`r|0a0DaSU`wfx0U;wcSGu_J{sBkak!mZgfwC;DKcEkTA(#7&V=1Ya zV?@X`SZ*Ba2boQnYD+hye4vqOYWoqN&X^BV<^!c@&_O3r=M< z|1eTh#JrO3D<3`Uep;+ZMWcsAK_HDIp=i_Mv(i96I29d&B9CSJ5g1 zkSxA?G$ia$QXKQ1+1pc1<5c%Z-`M<#2v$k8UO+G-LtVMQ3nv{HwfxquA&&ygPra(9k9TPX@)4_RJ#*#v z9f~(te0{4T13X=#K)#wCuul^y-<3)U_hp?BXN^4Deu_7Fk^5ANH62DK3# z%eFUtUntTYk_Jp+D9<~Lr=(z;Nhnmuc#1a#%l4GxY@Mwjw`kCQQ=7-CG&s4(8_RY_ z)PJr(jMWmq%IH3lg&Ws}{QO5ry+__A5`-g9VA{W~GtL=J9_!xGPS!>GotF+ydfahr zu%)VntC0J*$n;TVA(PEX^ zMbdw;;`TPGWywTSD>-bDY=ar)p!D@P&4J#Om6~=;w)9cA+4!b8A4|!9#$rGjqGy9m@Ot@B(T&9W}w@oH<1O?iv zseTLKZMp`tayzcR8+S*i+?J@UUJZA}Vs@Wx*CPj}EgOe+1xd~2D727OboWZ#~LHvT2 z2^E{L8}tX=!20dQ_)_}yYKR4m7M-K`#(iSxJ#4zn8yqohM-2C?0zeODT)Mzf{{ILRdQ9O6O_LduGp5&c6r zK?jf@NF}ACWmYMO>(QR>TvFDj&1G{b1|0v{N*GwCXPDATuh!*BjvNe5CD$*^ni^J# zW(FGZTp+N2YbY!eP0}9VD@x)v5`l5oEiEtU7$6&3qGZY@u0k`J3agQcN8>f>RuG&Z zM+f5!2ZM;}(`ighD2CZ%uA5CG^@---~DQYMTPAMN?jhjU~DmK5b`f% zY||d6CN1Ni_-#|)L9`nV#?m63zHG4ft5E-3^Zdfa@ZXQu%Alm6W^7_a_HUqi8j}<1 z{TcR+twWQkVs%NdO3@&0Lbno7RY_4qJz^gTPTS{ZN4alWN-2Yb`TqjHm z7(?6a6@GOCF1&5Fbkdg~%JAR;dokwY&0!*l`@WWA+{43a@tdH<#*&(g3hS;3XUrx0 z5XgnUXdq3s-J1P;Aeceaeq8$1s7h=3aDa?L!@wdKihh9K1{} z*)yVTcma_D{lbx-w&vLl*;s~_0o}wtJ3ZawXx{t~OW)ewja@L~*r?I33LJwNP$DX) z(!LBocJ%)WkRW(MRJ7iW;&gd;o~HXYQkWV|!HXh`c|gsn3V@EX^$f8tYyK33AEe-| zIOLgQQ+E3V&7-cz$?ccC(TlKYEio}22QgvK_n7}%+s?=3+M}PZ1WQRL7}23=`I#-f z(nn0Uk29y5^d5L&D#NEDtup}0rgH_qGs{Yk4iBmuy1*a6*bXw6qLhMRTgj)wgTBX+ zctINL)s?iK9+Gn}`!Crh4$&{&qj+J6Z9x`WE&HEDiZ5s7Fxbq}lkP7Uhl;&W(DMh# zEb551p5b&q1sm^zOs~WCmNtb#p}#vQzU}PH0_+0o8~Q3L=*8H~u8}=Xt41j;@9pK4 zMp(Ufa#;>q_UF;Rp0mp6>G^kA_R#-*Jk&=GWdD&tOBUY`Gp7+$%{uQ%A)RTVr4VJ! zjsJlrrWKcHPBR#R;k`h!Y~=bIaw8steRo7k@oyAu$2j^7C*OaY=_I5ikZKD98Y@;J zIkp*#&NpTH(CgJFiUv7sy`~!NtaCo1)DcG54_uhSxV*X~8U6B14v5y5eKx?6EDnEs zUb*ul7MLh2x=PhFSxKh#HaSmnVdi8yX#zC685kqe3>#XtG_=&ZiW0$x9f56gpxHhz zzB!*;>HG`b3>#;cVc6wJ%=u{74mrf~fy0dlr7RV40o&N&pH`vd`U}LWa@fzrR$6N+ zR*xfs62|cZVF@tMpwW3*{E39S@9>5{%LFsDTmMFt%(AGYf!7R4Yaz~8h(cS5wgkJu z-)<9Ykxe2=Kgn7*MvdGAnnTd31Su1MdS26bKpAJIndn6VB>P359MQZ^s8mE3eJgto z^rP6d?^UV%s+kQL?c)l_v-4zEon}e3bYxl6T+2>L7C=?A<3LWq(x~A`4RvFlh?J<+ z;&>&?-1PT_x&ML6V|n9PrTC+&4EOU8of6Z&Gy-#B&{~QJa9`|;+$k4Ax-+!Rpq7fN zCVFUGNe5&!E>h}hCV%b|5A-4OR7kd{ra^)pt0o@=(BL7h^3Is}p1&B8Or_lUcRAZy zWJ+U73DZ^Eka0p?t>+o$ROBq56TO=IC4OMvDzn8Ckpcl_1Dla7l|(kV)Rq4b)2!eW z(^ng=*!SHUwbH12F*QTTy;F5Ki57Y>u{h5M1)i_b2fn!nc5v{TUHp=5s9kfS-F?4G&{&>b9+m&MVoeChGmyB6gIa#pOm-8OCOmfjDEedk=<(+w47XDz!s)VmA z%#3m!jIVn9Yf+-RR878_b#?V>!v+9tfL2z>5684Bqt~fo1IWhogj6}%msyhPd7g^F9V^?q^oCiv0AkKQ6vVO=0 zNTY|bcfA7klgzZV&skQ>BK#v@Db1lA|1r^@_~4dB%>~n6%MWs|d0sO0{K>O>@T8;0 zbKdm-V9RDUKzw(f1Y%8W5#xQU~6Z9fmxMH19XlGf<_?mw-53z5=i*!?;WwHeKUjM9i1+d9Q^2qT6g~$Vnp1$;R1o2`2CpRw35z5(Z}?)F9`lHB3;Q)Dy)1SjQ?Caz#xj zTk6K&Wjq4ib%N2!KU{bBc! zOUiK_si=X~^_#1E(A_!hOA;vtqE}^Tz}D3SM-g8qqGkm21&iL+^j3vOE{pQu=t;vw z!9*`p-jT&n%;H8|y(mfT!asopmLN{J(6d*+=LA58Th)ZqhF_g;Rq5hyISY)$mwOpI z3k}vG)>RH}u{IYPXWc_c@OdHI2$dULj_X&*Fx|ac@EPbR%bB%S{ z+FtOhPXJBQGl9q?Jb~q3kq3n*ICxqWq20g&pXzPFQseze&_p^l$D(m22A40{qY+_y z2cjvjzY0J6o?VoR%y^ESN8TW5L>1M`jBHACrF-8gMbb2>pq=cmbM1eqg`G11&{bbC z!lB;P)nhmmeC9ez9mpTmRex^cy6Zk>W61-Lk7IWQW8%#n;TZwAgx5NqmrTz;R^O@3 z=y3kx-7aDDj@8qdQ87NKOunSB2$aV3%3!nWpX};PYFdB2#wm*f*t!hcN-x)K$k436 zv~rTe0{ZjPrGSFe5rOJXNkR?;!c!pA;vSi~{UjxEC%E7pxoux$AbDcPGr>lh8RYgj zrY<;y{D$=kMCORkpcVftB23vwrVS-xH~pm-)xR&$gi7>2Y3sp>!ui>pSws7E?ufm3P@^V zXzTo{ zTcGLS7q`_H_g}?h*wZf?+EAL&Up{$RM_FFliq3sR55O5U$W zYVMqFn14Ck!hpmY&H}bY`9T|*IWek3VXnSm>G0i~&bAsmVgn}b#O5?VZj_A8Z|l#Y z{|WjNFtZ{8C|Ke|-!Y%RK9E>XEAPf1|I6ePo0t7T?%5LhIgPWy}pjB7Us z_ji1qRtLZ6jZCk;`+tkux4xk;KjG> zX&N~EnP2NIu2`gOY;JM`$||t-_3&K38JU^?ncvU%Igi3Bvx60xnYHckCv0STXQv?* z9q^e?PF*@OZLDNWaWvtpyf6PX2k|;jC^l_sWq)ONv^$ac=HK>__xbpl&yVL3o1vDIT+V~tJ|nA7#zaEB&;8&U`QzUfa407FdFw#FyjNP|iu-LH)gH}! z(a|YbGsQdFx{Q_bM=J4AiC&z71MmM%2(L8WNaucSrr)77eJ#&`DRa^*oQs1>6}n{m zWHwR#ttHubxfFRqxTxE7l0=JkIZhfoC<-eQ0BPRN z@Wd>mMc4l0@t2gDH!ePYCyudqC^Oq?0AAc$E4B0WWkgngAy^d80cHZ$9H^apV<0ZW z3?gP|USf(9TpT>UnW$SrhXSNFSid%SP{bLZ9JD%DbQI7;VKC*hajkJ$D@4g~(ReRk ze3$0D(XVDgQMbU7g}&AKq?XCmhPkim~GY`v^Zonj(ZR@@ceER3g#|dQ&?g ztY&Ud78X>q1Ju!s{>L_Y-}-Zla$b||drvIN$9@=l_!I}KVclK{$7Wlj`opEOxxwoA zr=)zN$96&`?V&`&`D>Q|wWT4zn5DtWb4uQj-)2Z%$p9TeU|V{ASY@rH!yS@i23>@Y z;|C6HklX{o(yKJlEV~}YuY5#`wA1N)f8ue%&GiX!&KnLMWImw?BS2!_ELY#C)cqxFP~-Ym~2@kCj@pR-qoY}jsDd@mq9awEk*a^SP;KYKt+<1~SKXGR#BGT6fu@iEDmZ)OD$fO4|JdDDPA zYN3i1HJnhnGL2~l2H}KTGJNahsgY!(^EN?4RwtU&cR_7b^)u^|wKyLmp*wAO9+uv}$@STR0*zP-57a zN7K&hMk9CV_@2@2>)YMLT|}$S{K-zwA?l5Dg8n5pytd6OuzstSEus;#yLijaQGV&Z z^e^D(kbk^D?Y000*t6gq@y#s#!wN<`fc>qbWXA69Jr27?x|_&1sb;k}8_Rp8@nLSY9g;SM zxj$XlAhh6sOPq&gy5r>7FbKeFW@F|S?+|1go>URbzl%8Gv^61aWhz#V!78zbBPBBr zZQ*V>d8L!G_h73MKidq&YkasP<45I7n`*PaFG6U7?77m>G8MVf)Jos9BXAYim5kQ@-0xwyjw;|~ z|FWsB!3L^kT^-^D7{q=TlB)@^A#0>Q<*{^Jmcrmu`6U*jNq_$aF{p$yJF7b%8 zyuc!ov4}v`6rz;7M4;xmsy6A!&W)-zv0osvC*tJhPre zHgK!H7T@!%#v+4htukebZyhc@3nn;Mx|y|eTD(^^O-M+TH&q=#891exx)im(TGSb)}MOVFC$#jCo;9{bM>ELNWA@K6?<`! z^gLGkt**k?BpnN%-%|qr4U*fu*IzgciMErAd_{!_T8m~X;Oqz1VZtvZ7415M%*W!6IqeQ{}qun2klzoJ}0@Fx+w!DQstAJ{peVg>H zTte2|zh@NL$4hbaP5*ssWijh91I2hMaHEo~xiskbAw#f&fSQ=& z?7u&zZ=`rrF=Q;a13zPP@`*;Ok_}-RXIg4Ut-x`AroD7o-Y6U%J3S1d82tbGc;x@- zV*-b0i>+b6<4CBO!f)A~u05+J?~%MR(|k7GJ7~KGkJ1$YofgccmHCaz%IxiJ`Q|Kx zjzT`e#vQ6%d1EhIF3$DZcb1W5hcop03i*Zh#aROMr7vmy1EtFa{2rPRbMtGeug%naP5zd0DeLCXf#5 z?|IdV6Aq4I6G%hxOH}JOdrpXfbtqcQ&A@Z1k=IlE++lofs6yQ=oM*rV-Lzld_7pf@ zLlFW1)*0@jo;zUb(w>oagDDO1=G(*MyCx$4=0kwq>hf4>EZPVP0Ql6BKHAt%#?o!m z{PIn(HhH=6$N%j9EHL46e^xS&@p<8!4uiKgPWUb@chCE8< zdp|hRLZz^Hb2j}Tn-loM+T@dDk$50+D@3}JKb1~eC5a{F+gO8U(;Z{!Z z0=>01IM|u+t4o^B=4x+m>Bi#lB)jY`1L{1P5AH@GkKKxH+xs`*nr)B3G-8i9K>&2A zX~-PU0$bHMrMZTQ;fT&1-T{)PD##xFDmv#Fwn;vr99>CtCAh10c73KjzGS3VSYphW>8@MT>s7= z_dKSy)zXDU2AFlQ9)^l{4@k> z0I^l8DOjJMN8GqX9ad^<8{y&`P1Z#8^J%>ATkMu+fLx#K{pa4t_v@dd-T%sw?0@T^ zo$j#5d_ljtXT!QbAJ+cgz0Y-$PIn|lpUI9frGaFs#caPxkxVjkl3D(ott5l*Iu(LL zXUIE^ROlb1J^FM)8mY`?L<#tSd76^6?xgRp9=Ldtw0d=2h@(xePpMtK44^gOhJZ++ zwVO=MJR3uT-XU}UM8Wl5?pQNDQ1_HRnl&kyHFWa7!wMAS0?U6iP(Ua2lQq$JUuVTl zCnBjI>gPRKdXD#G=l`^`Br_Q+jFuSnW_V5GO2X*gvyql3G$uR5E<$#~0FS2PZWkzc zM2M;p2{QuP>Bj5qLl}5(*Mhh$nT@^fr=Xs#SBHM=G%3!u-KTXv;Je+I?tU}g%nD_r zOCK~KcJ4LR%P2jk)<@gD@6uSOOS^lH;~?cS{|{s56x>S_t^L^gC)u%`9ox3KV>>&x zZQHhO+qQOW+xqg>x%=u|oT{!>H9bAkH5XIUv)0qUhd4ycZ9;>(xzjjmFvtR;(-;ds ze_GjfBDZ{FV~%$j`*rJ>CPl)`Z9>4iHLK;{4WgX_U@S2D`UGy>`(L z)mWkqYl~41L!6@Bdkk_yGg_I+ExaWYG^@H_o>%S4E~xO|4-D@Nn^=yRdF-l;EBC51 zxP^O?PkF08@HH!yKIU3YIKl&AS0-5nZ-s|lBn zZ@11vNg+>9F0(&L{xCLeRM$j1b-%Xkb5#S+F*=F0ZpOLF?~_qv@Qo-yZ7{K4C9mrG z9X}Yi?${xF5;oQ)J2KGsKk(cU%01*;(r#uJjS z7>LXT0wB6iU~AMIIPG zF7uE!jM4Y&<2Nw2ooUejLiuO@zf%4gSs3X5Kgz#M{5gBgA-8JYZG=38ghF9sBwiP| zvhXw8jTd0^9ltRX%`X7|Rdw2N%RZ{!mL@D;9EqJBXwOty|F!1)-jrI`r_SspvmO9n zqU-eS8O!V$T=U&N0Qm`B|Lys49rOKo>yxs5?o+^bl4Bs9Q#N_8)xljn)BeFCv&rX^ ziM{Y2wV(a_&D79U>0Nv54)KLUMtJ&C`~8Na@DFE=1AzB<0dc`JRW|=c-5(XVMkc4= zYxgE?J!55F*jPg(tfpv25L8>(&6-&48({Q+S5lFYiZA1$WwcP3-Sxq8cgQ?`nD2z} zYK*qVN&2x)%{8@FIAk#TFcoZsKaIXX?}jh6~f0FLt$J))aHvtuH~fJ z_#C&z@NM4ezLlcIHOG42N%-FL<%U`9Zv{h(NMh2~`#S9(8o6|(*b~xDEpZeH!F1Bt zL}#ikBggvL-b&Wdt#%_GVLFNDy~m-m$gA(iS%qt~uNRX3!*NjOMqZif5+nJL2C{&) znYTfxTp80@{{R)Y)&_g}e3+H`{QPT2Q5T8JjK?|Ojl^y|D%UU3PWA@%P*3Dptx%?b zn1O$yzU1g(_VW3M8e2OghcX$L>%GT!?fDFJ-`u4s`}>JkcTQHAOK?Xsl;v(F0B>TQ z&c-VQd~RWPQtsRp?7NOUg<-06h<%)UZoe0zQi(A%2F?_|OlF7#7Av(7NGtI@Xy5sD zym&GeItmT3Zzrp1$?*KdC5u>bYF2lLY!IZV!WYvQ+avZJ8;KZAG$kt{Rx&r^Ij&o* z{IMPIfZuFB(@hd9pP@waSry`EvdHT>b6v|J~aM1{;sz$K>nJSq-FMg$;PM!}nb1r2zR{s8gOSgpaQe zH(JB=w5ci7cAN4HcyiHOGLPILpdk6CX#(xl1A3}c}@|P`Xv2D>C+xZ7=@H5{xU(FA(^J5 zXo2M|V3%s@AfFe;be=@&sbd?h&P+xuIo-6^n%?AZ$B%EpE2-rzKg_hlKbFs!TQgRC zGkHvfXnH(2Bn13`Io+GNs0GzhA;#2P;T$0*))k&Cy|ZXrcPt0w^)&umzE>@Za46Zm&=Sk?KDM z80i{81L=cj>I9%XaNCRy@MjkuiuOpX*;bL3jRKe4bAQ?|5b{o_-_oD&HW&Ug#CyKU94m* zC4zB%2Q$nioa3FIEr5SM#~lTf2T=N(tr5`EGf3iS{>huoG{G~g)N{u5(WYNFC(X6p zcZXxFOsU-{8J!5tGf*M!pz==MmYkAaS%*B5I6>-ER>-WV5EusRc-0cB;K10os|&l!{$W zx`A<>x+jjx5Zn%R>k?ZNXS(^@JSywpXC zugg|=pD+U0(c&R5$&SG{n;C)F|B#v~&c1E;rW3(L#u{RFgLjp|ce*|T_@UgS)5U?p zu~?+#7eAX8s%ex2>1oJR*9~W9GfD$`eP$ILZ(BpOwc|#yaSh&eO3%OMeKSMPRjUY- z8Vzj7NK8nMy;ninFo+dbf26@v;Hf=gK8oIQNSF>&>rkzf-(urLR%fY&K(V_8GS;K! zh_y_n?D}1Dq%_ej>mHUujRkP(3S3^7B`3QwXAX~=>LLf4P49h2%sR^C>Lg6KOVjgc ze|?4Qhcn}C9J1E}+@lcj^eyV^MxD2fBGDg7*VrW1coQDae+;3NK*Mw_rBBU&RS;-k z6KkLd>5=Z#n?&`9S~x(tJWr0n^2*6yJ5`XgM&;bwVVH~EBp5iGX|@X1cOc*+%%9#l zlhFurXBBlm!V;fZ`9kTL6f|F2dCp6{{f=pl!^t$tf06lsT z#K*7DI~Q6hRt?KK7~MK-!5%G9-gyBn&wyjSI7lbIHG0i+i{)6~*#uTYIN-SWDDjsR zeVrmby!1O*iU9J4RF#KaP+N6fm_C%&06LmXmUS)xN5UX3f|`E7UMmi}s5n4Gq-+Re zwso^MKB~0^78kc2X~%%(vT9;!Lr4_3>|?-ex&t3s@9)* z<8wHfL54Pku=ew^Qp)nYOauEy3+v+ibQ#C+u~UoJ%`Xv#Hq>!bT-D!a+ku)~n7Ta} zE!~9s5!!KV)--&(ay!e|=DI&;wiBP6Xso;9o*w_UHYGei4p-^Iv~*M6o=0iA*!+8A zT_8i4pjj5g^-%wJasx)b4ce^V=w0?wE-O-^uuDE^auQ@XJ_xB$ZmwboWD?VRgA`zL z;X?lblN?rnJ>;1z3=#$hEuO0?g<%(f%>QS|nZPGt;t>N`FXo{yFxX_?R`dEr zmWPZe;?Gz}JR#Nn&fL)O8?%f%OSbFW;`N$-e#`@8Q7CPQ!VLUO@vQ5Gn42V))x%R0 z>WKjm$Zd*%@4>=m*FrIZClH!ULY5&l{PEgTHVXl7$8H)lS1}lALhx>AQCXuL%tH2| zL?31f5_Q;HP^OJHF;3iGr}TPVI*MWyfhv}9Ss zHT^@8l4Q4*2L{ooP*|Buw5_S0M8N0`XXy6D`zo8s^T#Wo!CraGX}klDvaM#X&XKUC zO;sGe8XAKOdUWdrJ|Sdk#*q4{D5#mHKH*|T;< zWzIVu0IOC}wlZhtvaK_(vyW0>lx;C2tI0Jc_9p~2>I}4>M=<+R&os#4fM-pHkIk}WS3LD9l)kM#V5x{C!-q@}=763G( zSbyq_QQhZ+^dNDxSl+i|21Gih=+*x)E9fgDjKk#0EGc%sbr;81l34^wY8^x{749rA zeSE)F-Z1P}@y;9k`uYV}i*ighL!*Z~%b-e8@_Qp!rETfs4z#*1*V4iDI(~)ss+GJs z8$U$2#>4G_TEU{^L~D2y06#ibr8O_^$1&X7jIth?<4qtFn71t1s-n#b)gFBgasG|yZSI5= z=TpA#$e5Ich9)1M=4NUxW|$ue6_;E5Woqqj?+IjG&x3wd0seW@*ppiC$w;LzIfi1&zDL`MSQhWd z%aE=s`0qG3#C7SF;uOeDN1I8=k;|YkJYGI%V|&2chzf^Syf3 zeBGajX6hCNI)!E{dLC9G3TtbfUUfr+Pc*}swqcwI41NLg<`q$|D#u!Kmd})`ZbnS~ z=1>3-xXw7HWXqILBRnxqZnPV_jOc-8Zd$j8(Dty!yo=4r#*5lpb;{^_{Aq_!XvsnR zn=Su}o1X<}JM*_3%*kKU`*)D`C3S9Vel`nOz_zqFqizA9kEHDsJkS^!=Y z%+U#v#S@^Qs^jv7_xh^o7W81&LYylaBu53V9P>dc^wk?(0@MU<2vG~@@ zMk)D`Dd~^8w;VfmFhZXAZisuq!Jcc>X zJt_~0!Of_OtDC|%XG$;7sd%|x6l+&Gf1lJG;lNSEF z65j}a|Gqe%;Ilu_;KAD;Nes${R(q15VROxXFHr@l4w-vY!kzYYDq@w38JF#~sx9P>;8?MxgQVx@ zCN)tLV>S|9TFnjlhNOjo0qLdys=Dbi?osl~6|SrH(40dAQ`;iZ(np9`%)W9R+(?1UpG4(0IAJW zA{c^zGq)%25bP2Q9oC8Ut|ROU`ld9epyLX9!oQYxrq^ZtgPy#~gwip*szK(3772zE z@?eV+2M(MDE~7pn0aLZO4UexwO)aYW_NA&izl!rovUG#YXCdent6uWH&~Bj`d`NJA zS4`mCsnVU(V@6j5K)gAn{`KcFIr|rN)bwK?BFv}G^w&OvPa26T zJ*rfN^o+idmm#P-3yYvUpeuPsbSLX>DJgD&o(jO%4CAjGb`;{qoX=dr@r$ZqyLRv*Z_SA!eCvM+AT&ec5Ko{fnW6OJ=3B4{_NY z&AJ5`+lBfO&f3L)>=8z#Q?Kkej~0vLa^Ayme~@+1Tb(f8Kts(mbUBj}i}I~w?$~}@ zx{VNjVXax|bCbDUr}BA!BzQE57f+>_I?(L3*i%S>yZgO!V+fek(Ip? z3RfBe`cgyZ(wLFx;WWqgKsJK9#`mKGqzz}4OaF5OdD)BlE35YF4*Fc)?}G(pS-k;b zGgOJJQs^u_usa~YJMXVRyc!=FOU z@iB+4ji15y8`ibxQV}BPqY+l{T1MtgpNNT-sgb3Gw$HKXVj(Z1B5GFzbShIG7qw{N zQe#+;SJhj9h=ds;+%!~bn&*!DQtjOnvcEsDr}a$5omMID=m^j256%!A@j`>2X&Nrvik*WDDwuq zBNxDYZ#zdAev37Q@V8V|#)2*)%KRiV=6Ued7XcxBB{mkM8rz3epi{yF`x8mwq35KX zb{Zd|%P!H5$!x`5HLaFxA@xQTEP4r~_C^0t#eo4jtt|OlM2D^M zf0-=pR-DQnpH^7arHcHHGFVlZ=?)vG-Flnr#P$>XtA1np8|xTaEeMcH{GW?8Qzof; z>_KV*9kg4?c#1YHoOVI-s@7dR(5q*&zXoZw%#8mn1zAw5JXy5c)>+y99S_Y{UE1>6LlFc*sV=;f^`43}b5MM)0R>Mqyr+YIoFweDop; zMlhU1#E0Sc;g;!4roJuK@{dZT-7qUp^6Vrx3fg{Y{{5XJ^Qg~!5{clPinL-+6 zQqDQF2Vq^k!8}&3iBQdw9sikzY?~(bYq;#L*+1UO;C)~< zpxbQ7S^_`%*;!jk$oHaZK$(S={xDo;d!JBD_CJB{)KjseIq(Y@>|V&vTNY;#&c>ca zfh|;w?cwT5x+|AhxfjVuZ3fvUO-MJ3EgOB+bs1sy3ifsk1xm;c#!l@(emaUvM$EVv z?J3Iv?BfwTA+3vXScmMs>X(TPxZiUEI`6d2zpDqUaePGtREMKcZI?w(!XM=|?RXvk z06x>m-WMu%sNuEKG#-w3E3Hm`r~Zk?QU=;Q&aFUN?A%%5Kly#4dXq<`D)y#R1!)N# zv+26R9$xCuWaT{50Ul zZknh%MRZiAe?+uU9Y&MV=<+Mj1&Ns|<_Lx=fJy>VW`Mr7IxVv`M82R}Q9rt1s2<@g z23>yySK%?in339a=~h3_gI!pBaWEaJA)7`=sMn`V_MJU@VYKL=O{C^@Jz^WVsOYd8 z^63HMQAEDUv*|g-4zW-h7_uRxy7SgD(-$6dTry-?U6F= zoX3f||6+Ra%rEpc6Ee~tpVuy!uwMdvm+5*q_B%Zxa>DhgQD1-T&l#Y(c3Pr?bPoqe z*)mWXIf|XyDzA{`;kPhk` zn-zildS(Rbl8sW$Pr^1S$VxrQnRr z=k)2lYxA^v){2{#x5_cg=#U%ybKJ4hBo%_vBg*oLz`UGZnPGc(RYyU2j*S!*XO;7ZYN@`@q>U?CE}Ny9xEiUZ&Fm?lpa%LH^`V z)+{v(355KGGXwSJDm-Elz}qD>cJVXWHu^JV(=W@(!@Os$SDr3qj*vfyzn{m;BB1Zh4%ml zMuNK_Iqa6A-&y-v z8P^;qiV?Y&`znbl!7q;7V0fJ8n1n3Zo=pNSOb-UN2E|OB2be|dO6H?S+JyNvfvxvf! zM`n3dzd?#>dcPK#IV&G2xfM#!%`;(p?v~Kj#>&peXrRKAC6Hmil@q1woOov9v#v@# z56}3-z*_rsl4`(EcVn~s-&W-axj5V=R}!)ytP-tavv3?5dX!(w-64u>crx_Os+DFf zo;kG0nWC>ms~0jk>}oF(D`258x!_Ei+Pbt>caS&x({Y!weKCR-APgG+T!*S`8+KiS z7%Qm;R1#fs)DS6UIJG60l3Tt?7si>56@*STg*{Gky0&A>=p26ORW_SDGV?sZG-90m zVdzTng|0O#c@m?3%W*Ar+?XUgE%ipMat&uO;3u71Q%-^oxP~&-R#_e|!c$l_{J7WO zpyR&`&^XvPzQ@c5J%19KO{Aodfc*1Mg8dF4okKHu6c)5mvGhb!qK=SFVjz&`m}P`E z_m0dY`BD>P_R5U5MZ>%^Cy0pqKz**CReMGv7Zy_j=|Ese&mnUtVRx(-_MY z_al2ndrTD^jveDYyVab)%lOc4;ow1gHY!tkO5LiE7cl^4R1`3zJz-!22zbapVKjm# z@>qKS#_>?>bL}Fp`szn6>&iL2nE9mdG2_f+HGx+0L6UTWHr-cA^h-8)ytY-ioNk@b-$RY0#vSb7$l#k3uH|nof!*hlQmh zwjgYjk}Vu+UKEmsR&sk@ME(CXmOqaQO9jFZ6=B%@L^+W+(vit$X~fJ@pfmZMptbEl zme7j7tA9oe@VAhPxbgSFODN1S@Ap;_CFD!TAm|i^`p`N_9E+I!B zCQ@X0cbBRbLLt4{;gpwf>P~56c6AS7xb1lxkT4Qb0iSRwP*Fe~9c!f`_1)GQjDu4e z9+An<`gT|lrjG`Kmn#pgWi@1jtxeA*HVVqd@+t}&!KIPsX;0ARnnMu@;Ax8(gb=d@ zEugXEwh6tR!MI(=Row1?X3+GdTHC&uED1d~&Zm3jA+C?+s8lQ?#NSJZXRy&%%m3__ zGO$AZw`j&H{!%%CmcPfuvbtxb#)%h`EKLwrt?Fx)Xd52M(BDkFOzI?wLGV278^uq$ zBW@J5z_DJiDtwd0#IMbDYJq#9tpOgqdSL&xstn^-bI9mjk$C(YRIk|LYFBYEmefU= zSRwjJgV!ZDTsK@)`9XfLy`SPOcPnLzTRp1w!~r1k^DLh;S-tgtSNfHS!2Hf2wH$*X#!Qe^WUhU&jJx0g;S?MBR1`#; zWjw>O%2SPe1s)2xp_r^8RztG58;=tc&S!=Lq0o*cD2A+%6P8Q-UdVyOW7ILJnK_}dthANI}+lr+hmI4-;QbybC zf~k7!94rA4)DYoFw-svyL}w*WkTllWdNm*}%+jpqsU0LgS&ZGHTwU=7ypEA`wGw?j ztZ{|U?QK8!7AOIOR*}k^{JCk>sY}BT;42=#BuLwIa)O{LpDYw;YFMAvt6!>#eP(c% zb?K_iX{zNqRf-yz1_qUr71um<^O;Mw`n)CyZ$gGr6bnTaELPL-%yN8 z=0QUjIjPh7rrJb8(Rq#65a&VGvF z>7)!M7OLu8&~_m9$C#372e_5yv%pzcd8kDJRxzDd_?B(D>4v2R-UI^mkz+T40PQn# zc(HKL8>_8`UKW7l+&Km)0#p&ZvHX`cg~+*_Fbm7GxDcg?gov%Ax(}A*9G~OpLFzxU zT+~mpwc=l#mzT2HM};Qz8;rx4f+|o&ww&aGlyA~I3dD)|J*3tWz(vxci)8Wwly9p} zSTP3pOaO1$zswZ#?t(&;5;Fc&dj+!mlq5^l;l7Gyci@TnZ0L9+WNBpWX-sp)W5NUA zi}K;Tmzj$TaLufOl%A!GiTRhs7e(ME4!lMKAu~Fqv%%E$xAl2uKeGzGV+v7@M+IJ= z2gX&RK+EbVYeVKT=qNw`Qx9C$QHbHu zt|&pXqSnc6M^Fn1ypUp{S0|%ZT)tha%krXBOvzltCj?JNUd`GOeZqJGLz{T>@+6Fg zone;?*If;pvQZllU536A2D%C)H#8Syx}149>+}hcAx~uMmQtu( z`3d4{9jHOEPS=X4GEcN3`knPIl;J-uS2pY?;!}#mjlXc4x8Far^dFyH?UfzyBFdv$MX2(#9 zIlx%|7DMqulJ&1!YqV$H^~0mu#o+%(A+~HT@x914Ut~{GWI8%3$Wd?pwUM|V{A=4r z+0Oo)M?2$gk?YX*OMHbRjZ)T$Y%EdE+#_rll$&6I{~t|3J8 zF1-F)jTUoO!m&~4O}_+KFXuC%>V*L3c%=K-7oRSov6y2YTTplMk)&9Y}e~ED8}T&HXeUV{>TxcQPCtDk=QKTI%3AU zy{kE>`ZAh>oB2%E*G*BdHL&=4o=z?((B}@}SP8|&-FlhF58&zrac%cQ_Qv5|aB zHJD)?gDntFX5V_A7V=Dw9s8PwiuIQ-DzlO=x_H}IjR`-_!Tk;1EiY&-CSKm2RA3$f zK~L5EQRa(CL1Vkql_#tQ|ECy^D^y+n=D23`(A z>O>O{tHl*bM8|OZH$=7T-tikGBSK}1OvilgquTpi1x|35Ir(F|TuP^2V(KG(SAx)k z+g+zTW!J^*zi9H&c?VkT37McLM53Ob$(kk=ZAc@XLypq=k%-nD;s+O25`?HA-X~>^ zTl$qx8D#=^nDN>e7BQpLx&^NYI@R{q31m_Cj#z*Qo+e9AGzsrH6wepQmnCy4pG>W_ zfP_ox--!b2h%<+|+H6wDXiQfmR>Tx#6|GN<$1bua?OBtDW=bTtQhUt?lnNaQ*?(IO zO0yO;UF1KhN9qn&q#GUO*UM{grKdzrtM=$HhgqR%x+EL9(eoS|v!gZYU0Z~uRNlK$ zQD_vfA`?89sh7|$UWF&-*0kAfewC}lF{o>)Q-%8)Ac4+Rk{Zk z)-Dv+()_y@kBqS7eq{VGr&>&ub)d?(QpUuxsglR$4++;$`9WzY!H+cwsymLsERDh?XA4m+_Oev}Is;~xJy@gRUXhhI z4yVfB5U}@?sgaMfjIcuvtp1h<^HNa;c2j#z33`0Hc z>`M->y6C{P6Jv2p9UL^GVo))_JYKi7*UyUX(1EMBU`r!)Z|RNk*wpB31ZL$`G$7`z z0^&dRBdEtTh(0%BSmcHiP1Mg<=M-U?d*~M&fcK;^Ykfj;?oxX1&D}j|6C7yr*UH`1 z@S>izt<$CoHz}Ww<^~rW=xdUjwKd->)!wY)jXnC8i>{X#2BRi->BullGkj6Eo30OR z6cK3RN}I8dA*)6cK9?+lApoR6}2~skglUs=kouEWWPyRk3{~?$SjRm23|FGmI2G#njo40)V0o6M zV!54>L1VOA;!Yq>syoSJvV3~EpAwrc81OuRQbJQ0B|{9nTWJ(mc$504b+5@OE{b7F z)vD9`@h;)nrTH=pa*%)=UmF@`}p=xW8a^`JvHye_F1c4ZbAfX zmW_R7U|z6l%<+WuT>&Vgsn3))`7Zsw}Q4bae*m>bMwi7ZwrXoc+HZtlHEQd zp&`B{iiX=N49k-TkpD0=#~ ziBxgaZ6Bf>s3u0rDNwoeQQM?168Z;af@^Igx%u!;hK0E|QZrD^>2M0+y`5-KW9bqv zK&>F)h8?Lwi1BOqp!;<-@#cJHd(Kku`RuAJrYgFsjJ2A_%l_w`xa?ESn(tK$ty0KR z53P!m9$q#p3#V9Dr)0oHaD~*>SZ`mMA}deo#}&4mg4v!T6I|iTTN|_snOcaLcXtA{ zx`?1L>(U5MN=RFlswx1lN@-_js!D<3n2`)@fa`xGMgfI2?`j@lwDXN!##V)1aEE*y z$8E$b$)0q?0RTe1V-|ASmeOI zel55s*+WA2aF8bvR=H^BHsiJwKPm!EVBm_N7zjSrOZH&nPyYy_S26d!2zRh|>7|qO}&|miOJboW?&Q2x2x1Pw{_xFes%? z9&zTO5|M<%O3zjX7%vx3zcr1ByJ&5um3Dq(m$4heY2T04U+ zzl@Fu6KOn9nLE2gI11tP{JPQ47UD6lXtY5iBCd4cAP%&NqQy2gVmCqum3F}n>k-kV z!kB-EVgj1Te323_oSsFJMW4@;aA*h(=Vb*5M7YwhbIO0tjME=0%BLr|>tj_UBy137 zW$K8~Cv6D78|zg|^|JiSp3o^yNSMH$gNEJ41KOIKn6!H{03N)-w$+yL_d;FCIuz#| zyV!lSVaCm1!CE1`2eZ|#Hvn28ZP4CnhdXW|CnP**YrR5Ur0;=Waf;?j%pP)L36T;m zxaxOG_{w{SnCW$DQvZms)ke%WeoO6jdWH0iV|eH~ZCxS~AE;lE!x_SLC`QKkTdWZr z3)9-NsVAhC08lyVZ?e%$+Z)aYAf)&akaPNEfYaZ4G+pzxO%{$RYn_n?%UUSpBUqHj zCB}Ipu|$|67p;hWlBKGuwq3b;h_V#r4Uyc`S2bU;ht3xsDO1${m5M{JK!;tNbTI=C zK@9n8dt-?h_Nlr1hy2UVFjIGfql%7!w&e3vb9n!4I!py}6j89-GLPBwun2F^OMa`l z1pNF9C>wd@icf_unQ=adhU&D;MJ+_Ci3;70b9XM9v=Im_`u8XxC};TvS2tH%_! z#WC1^66ui|wm2wv7$F@Ecm^FB1MB1p^?4Tc1;AL$q$Ay{2gP{qL~>6DVRgxy?4!>p z>qGn94_(r+OHB7II5Q;rHI#caGSd?(@-0v^S+F|YgAr-nM)~dUW2^clf_ouH4numk ziz|*2@d1lQZbkAe3m>L)tQ(7QM@P{N{feIML4?XYT{+!--Ev1)|CuKdY%9qp^~+7} zYiNy}m+O=0_}1Zf1U3gRe5IWr%O?a|&E^hmZLkP>FIKXBMWNFYu^JO=oV;N>EM<@- zxSCQ@sgO4=0h2j%K4&Spqc|$6o=gW;U%GnOOC3z*k3_(nml#Z^ZPC%YRZl|}{`X5J2@>A>yP6wgD+zL-<4%vs(%V0uIa*lZZ6z72 zEdz4qX_trlrBZmaV-bpGLQ!^B(j8;4<+M2;8u(K`iw+C*dK?lHrr;}YLOxZQJ#Qdz z{gZKK(ylYhE&1f@Qi4|~k8{iAn*9*u3i=XO3wn;7@_xt5>DB*0jvvg zAMv?sIF$H8_oe!5>ljY?D4UhIbt*tX*MmM=bAMc`Qc2hJtHuZ7S#klnbAEX#4dWk7 z#dsgoAG{*7O(@BAp)*{0F)X2wss1fWeFVo!fe3f~Tx}w9S7QSGf8w&K4-`S90}{o= zSHKH2uy=*>$zr4n%O3};q=jWXngeT%W^vIPa_rZFD18EPDifxS(il=6AK`~_i6d{EFL7E$$CH*8W`Rw0|X@2V2 ztm)$UJrvwTUL!-%gZ+`2YIpqt(s@PTA=05 z=E#?7rBXr_NL6SJN14WxV9ubhtL^LuFDIC&v@fbN)T^ACHwQ}mxBIU<&LHeQq8iy< zCVvq__ANux@B{A;II=L^9n(~_SniEy<&m59J=1rs3;fn-D$Qp1=H4b-8`0vtUp$F> z%PQ2#{EB}3^$4}d{7n64sZhIw*ak!dp_!1Vbx)bnVMzmGEL(h|vsLA>73gCyWD3^T zfXw8#C1iaV63I#?bpmof@^&QPkiwxmI#`w6f-pS&wyJpmn(-npMKEDK4>r>v)iUL1 zu9>JB&N|Q?cIchtuR}R$2}jhpZ%%gaLKJ*^PX8{I*92G*)~r++U-_{n>uq>W7TKKr zyID0K8&EF$u0WxuYcoCaa7#3*t{FlP(YUD$ocfAPW__ZbY9X}a8N2JVao@Z!Q*a07Ss@{hvB{+ezD>s3xnRubZaW z7w`c|w}K~ieL4r7+6Z~^K`^hIt{lQDkSvpU5%+@LY?mE)OkW(fKiv;CNP89ZR$GYi z(Noa0qPRN|z)X?zD1Mm5upHw>mW32pXUXE)Tng1BvHj9jlK*_W2!c-Eh&#PRfHF54 zpNV=jM|wRfwHZ~8Pg5tRy6)IhJg}-P4<Rlbnki$0d9owM(qTwFi2rs_@Hq5nh^ggi37$`2(N8v?o0oRHD0I35AJ zB0h`Oltm@=gWe)d{AReSFEK=T9Rs-&k_P2CK>UW4i_5oO4<0M44-(dbxW5gNTpCpX zWI3fQ5hwS&70ES9quo<9igW%mIo9+=T5&ObRs19*esS!o$!W zXDM%{U7`So6TOufk{)=@*l;PoCdleQhcO%K{)3jEQf3TkkGkP4VP=5NaoCs*LR|Ux z=|M~LPEO9paJ_c?wq?lWyKi(4`KuL9%o+)KrQyh5=LYm`$DlYR>0E1Bi~q;iHw9M` zb!|rz+vbUF+s4GU?POwGC$@Ehi7~M`F(#VWnb`XBz8C++U*E-7wX3Upb?@C>-MgyS zT6;au12cL-$9r5QNyL$aA*%d7hzOuW^c|_rpTrg5L@=);E;>T=$1;s|RthVfx$xW& z02$8$^=zjPBUO#$nZs7ZrhYHuLF0wIBQIZyycc)UD{$<6epkm(EE(t&CnWQPfY63a zH?1^`5?O4uJJ>CHtyB6VmSnhyVY>p+A9g>d{3V%=9^ zDL{>Rg_DEnrUry$%u&3rMt-%^AI*~3qQF->>t+?|4bW|!nr-io`h2;uUapnHtrgbX z`ICM>4kl8AO%k(eHiP{<^?=$BAz=TVXIYp~2R{$qP!OEJ)@8QS5TA`~EKn$_9RcYy zv2P9tF^$T@m7mLkYk=;nN)v=jZaOAOVH-4}aiI~z8{cJ|5`g56_w$WH-ot;0_>`ux zZ2+20_hHDHBg&(BNV%v$Dt7-@M2A_%!ykyYbTNvpN2)vxibx5=mgX$Sp6KNMFMN*p z3&aheT^KI!*8+_+Im^oX3oz4ij6Abdd>A%lw`^@+4B zs8C?G08o{5A%K^$2aZ2q2-&tHcp9&qnjUfo5DIv0D9W&B$ z=L2fg*>DLO1p7o1?0htn z;^Ij1WvsQs&Rm3o3ik};A6*NG#Zh#A%B5Cx=cLFiaSjw_VJ7qG-Hc_7NeVD!p1W1J z#eMU)O%GD2@$9vbFsi;=#x6<%Y-^1U$8Qggx<{3dIW>d%9I0O~xs(WOid?F69#aZ> z?wHh6>82PXM2dj6gk9Rjovwb`Txnu5J9pcrRdJ^2!pYHv0Pb-03#1-p$TN62HUT|O zRYU-PYx>Q4GXq_7z#bX9!rX&nEa*U2KG0dEw=L>r&t#3(U-A2d@J2`w4yQ(nmD|As zHWc*B2ZAnY5+6)AZ}s5LX2|wed(}hL|EI{WbbG{8?~Zz`$p3q%X+)CP!bvyP3`Msq zaV6)0E{~gJkiZ=U8u;pB=y}fuZetin{XzZAY@vVH>4)UtqJH?Ilfa(Eec)XoZs+nE zjE1yK^9vJyYFUb1Fn?s(X&@UCY zgEzLW(h=u04e{H}yBI2biYsUNCW=!7rT!eIgMuLj+GlChet*#yOm}qSmH&&E2^5fx z^_L0n5=55JBDJZPWdtf>w3MmyRo08~1v^UVMH9!I^*VRi+X{jG@xw=QM=O}(^3tdz z6#?3Bz=Q(6L25Xx9k10t?}1frx7EFjXfh1qkYYf@Ir+AsmO?RFqOaXhxzAFn`bq1x zgjX07`2~xI#b-d+z%|s;@ic?{tP|n-D%I()wZt$KJGH^0q2?jN%YqsB$4;Nf?D_3dpsjoyu{q{y6#Jhr#k<%=7Rs?g!w5b)gVWhOI#2Zghgzx{c7-U_hixB z3U_$;DM|@KKfTfk@?|~c43jc$kTg|gpL=1~(Kj;7Z<*$U;H%<{46-H)3rE)zHZLiI{vsc?noil?nSagi(TOCqyE}O#f}XJSx(Q3A zK^fci*b-TcFB_WjK5?oae8U17)TaGA}d_jqyze&B4KJ6K4GNp8gnPU&AfFCIp!$_6`f8%qX(ZHbUl zSA6k1rwg|QtYWH~Unb-}NQ9?~J$ac=5Di1y+W2aekGPYXb^sn5T=8389ESl0iL<1r zyi6)7*&h^)br@PXxRCK;h+Vn`rgXlZ&!06vW5^sJ*|M!t=3Z!}e&JNgNEMV^btGBw zwsDY^ojf7m1X&+O4~SNvPctg=*D3P>`&P9t;Zk7#GPP(C!1#Oy3;UMd683CvB;1uQ z>+MR=R*Ps~NW;8~_L))@c%-HP5x9>FzO{4|nqi>t-Q%~b(kgZgGZwg_HX`l9*L#k$ zAUHPbDAI&+FwH6T!`n0_ich%cwI3DnGRxD{8mc|VU4x+B@)#KvI8=BV(kB~E9mh0G z%2O#p;5)SRAJL^>m0zcwXMKU0YffJj<$aZNS%f7;*kk}HAnV%D?D=7_WfWveiD~2a zCdOJ?mTY5IT3;B%g1vKSB9Az(3?c$;(&Y3>u-QmA>sM5=$c3=71)3vl3=UE+|9v|} z`0BC2ITJGVHSLsKHVxjAct4@v2I7qH*Z&SnuiWInKTC1KhT$NSjo_S!u)F){C!QOT z2%*|BmcDq1&<*AmBcXaM%DbcGF9D3Pt1266-z0j7ptqkoWcaC2{;Kncp;b&5rxNOY zr;&zwk`7>kVH+D@XGHzxgnKx#*o*6+`w7d`kN9G|yk0JnALu9}3^Zww6)mgn2{6WFNHyL?=f1L!cTe;Ewj7WgB|5rkt4A;u~)2TubQI~XkeA1)>Mj&lQD{c z2kSxC_)bnqKqXV`TW|mqCYFu```>oZv*4JRsOYW3I;okPq1szzA&1#xe(N0D{%xqk;3k05!8f&^H*}R z7-R@4iD@~2CpLO9H07=`08UlI=!bL2q?LNv)*@=8W*80qPzW}n(6n6G9fW99wH%#$ zeLkyf6kTUEW=!t9(bC-daNl92untV|M_j1}=um03FnqS)O;%OsG(5jg7yaeCyc4AN zLc@ykCU5hb7i#hR&zhQ&oO~Im;6> z8!%{DKNh5IN3liuGVl%gs74#GRHqM|GH~y(N?ABTG4`Y7K$WAZk%;<)p5SXCQy;cLaHP9B5n zRfzYemD%`7S>X#dgLx|aN#2vZbTzp30V1vMh@*}p)Z(sfCmo1td^S80MPsU9aB7+_ zWWlMy#t0C!yeQzJa<^6R00STeyw56_nyWGIdM0ydDxpu_d1gPFB7Tuq%ofP|nlH`! zLS<3EsGns`ZZA`}M+xn)mQ02hw}~)>5ir?G{Ll|t1BgsuH{r(+HG|O(zKDa-dek5a zI@PGO8H|t9?k$e1mo{{d30BGMe|(@_-_y?SV=@lm3YjD(DeOc2MEepvk1MN}O-228 zsEwbzCnG`GrkLmK!iat*BcbH^!_g)5AFP^^qJ$LE5fzzChtjo9Qc8sm-=8CQnt!;4x-n4RNMAB&#HBcCyYHTiflIXjxffg)4DUD|G8|kK`qegIuS#x4_Rf@Wz zPYWH_W#=`$mST*g{Ed0Obu@>_fxZ`u8n3FbCNCB#nJMlC7C={rqArsuo-~vh;?C&M zzp{ahV3iLh311F#M>IGqQysp`BwkO+uN>9J`zHoJ>!tns`;Z3l3XGz&^<1*3n63bD z$4;SG!o*fsk2+Z(%639`mmj@RMe$R&?hW)L2~{UbUZ?(ZI~b(^7FBW_-S9;KW(^!kGu#a40x zD!n~9$e!TJUK=I4Qh{7o?N^Ziih1x?G6rXFyPy7bhRGn;+rzZZ2)?@pQC|nGW=gbPK@%1KAOKQrXFA^39 zLOnB!C!^<3g#NCP>4)fRc5W_sU<2$@N^@DzPTK1!)71d{Z^Vd81_(sNSX0mn`FBAW zbI}}Vlt*Q)y!3~woMZVeNHKL4cYZr`waN=f9n$Z_@kXJYn+(eH72{&>X|s=FVv zE~gK(Wp{+bH>qp7hNBhM^seY|M3)q4uPDn(_uwm71siNE$bcET?gvCtQ-0{&a90l8 zMhABOkmgzn`(=Rf*;p3MPaCi)wOe2#)sgmu6OzIg9jKHbepjVCcsV>`WQti1*Fc7)G(o`U-D$mp`O;NoG#M zhlG(CRd$Wwm*i|_-_2};(Y_y}_mF_&N5paC*|Qtp=btq*y$%V&kfBiyQca%*dx3>x^Cy0*x1LBVR1%z*qV1O zk%`Cqh)%oDd^s@H?H8%oBV}NYvIrnKz|NP{={hB2+;=l4MTEVKby~)$QmyEEKPTN) z%m=I64`{6;cyE7vz3L@2rlaPcHgmGl41QA2qGK6V`^_xvC=*7EjP_rFitK|duXF7h@49c(;5jOe*W;rt2 zVqcMW$apV5=BEsjAvNYF5~ug3${Piz_a)pgH!*1j(Xg%!*r2T)f%r8di!<-ASgP znWUQSa}ReZOpecOrI_tMt_ttlJ?!G~N(8)LZ+JhAWWDqY!@U#FzXS@AyG8XR$rLiH%4W5;BD~zlaJ_LCF(>{H&9j+{X#S%{UyI?G&IAlQDWaI<^YAC_b z1W8DjepLhcs2s9+ikYe3dpX*}T;K4$i_lrxe|^yCqu@B(i+sf?l-XPFjKw+n?iv zI@i}!RVx6Dl?9uuPV~qb+}`an3$w4HZ79oBl2UyD_@IAo(j`b`>h@+lVK8ozC2@4) zJC_R*oKc&QfN>YxTNq&G4(wGaE-~{uj-GdA6 zj*y&OPaUFnJDZ*b0orB-kZk6e;o0(0Q(ZDcA|>W)4U!a2qJ>HN|JZB)%jqG2KhbN7 z+QvHErD7S=soq-=u!zK3CvrUho>%bt75 zrI;AvhRL-!Y{i#VUNNTG3}BE10rf}81ECf1L1L@3nBYm_3wPOYvNpb}Dakac<~FX` z`PoZw5pqCb)={T-5mLC4RQHs|F#_K-n<$E!rabT+SO-&Y9G7fEphhAq%?s|Z5|F9 z`@FsW1ozQ(CHP;6gE{}N#K9aa-2Xpu@MOwaXTpI%@4#M6QfMhn%1a#n63ltjDgJ(4 z)W1)XX8YK_fk7u;lB1^)qW%6>KuoEKu?hIts|(`fr>Be2z;$95imKd*f0mZ)?@?jT zK%tR$4!NCn6kuwpf5M?yCnKD&@W;_!ukgq1-Y3&1w$dl|6v>^kOZBU-uS&FqaHLP& z-oKf@iOwIppO1mLf#LKK2M+Um=?9n2_$#vy6ta6lR1`?Bty{*YpKs5}4;~!7Q?JTP;*UszhJGm`A9#@hgnU8LQa2a^AQn0-YuO}g>TUm9`c)~w+ zk?vDuYi@;zup5K~qbD7!B@->O%1;3LA3o*r-1i0WHYdHq1heNw&Np2D8h6xK)B+>6 zL$$r;uCZ=}>h|bf5tZc?-yasb2lL$i4g_R<`VhBm_PtF%RN?%!|D?1xUNe81Jlt&J zZ8~8j_(EtTz6|Iq*d6{0Xn*S24Ac&tT)3UVR;@vr@FgwEeyp;8>f zR2R&YnAve!+##9aK=fBEh zw`b;$A&59(>;%1Z(JvhGWZ@Z)QnUO8&MUZU@llEvaAwQDjEn%WzR5ZMvD~bo z_}1o&BX-fxYH!i39zCP2W_hN`i(GP-0dIRb7aLmI7cM%zsuKz~(j4;{0vSAl2WMiV zV$DGp?-CTgy@YpugZMKpt*+KHc(tb#Yqvf-J?cJ7o1zn~2JJJoKtaBLuf%Gb4XIh+ zZWN3FNNu8IS?2v=Qk5&&F$hL?2KN(}qv`@B!rCsfzE=GPr2RpAa2sGK^pA`9z?mfJ zlLNA{#s6e5HvyD#16*!h+urjrNiuvqmA_?;u5O=Ao=0(hkFo}>`I?gl?WdMv+9Ha}ul|@cZ${c@l3g(r@9%{Y(cs;g;Kk$;E9}uCQY1rOl zzOvsWg1d9!sZL*dka||`!||tR5<9NR>mUn%&B@Pyhda|}`f`U`fk}oYSwK3YGyso0 z0BWUH(beH9+V~V;5wf<)5URGlJqNex61M&}G-L!%uCx6*&!wX8hFR}d4 z&23}J4=TY?H0vP6WcO61v5Z@)rNCs@ob=gAU%<^csz=LbtVpInFzF%nbLM`SK8HVn zP5U*6mI5J+Xp{F%tNkF1`D4(p`NpWp32z_c*tbnlX3WUxEXIBfCnl%XOXzgZ=iTI@ z5?vXaXq`~A+L!_per7J4DR6eJ-ZoS6`%3?)olf>kOWGo8p0Gbnl=)5ONv^g&=svO; zt1lHcPb8O8(~*n7h;db!VMP744UXMf_%az>sVo{y z6qhWu##x4^T434ra4Nd$eeXCJGLH*aqnO2Mq|0%1Jstk`eJn$mRwm+6^cm&roc0)S z^W2_P&=&&kjIzoYbI4T`b|p4+9kxw?@78riJm_clgyxA=G`-*Ke$FU@m`VCiKKHNz z2AwLQI_Cwr0@~KM7&sgSur0IqjH67jFFw1b3VpIJ_V!xM2StS-0tZ%GcAYc0_3C6d@eq0`#sa`N2KO^;ihs zE_`B?>4a&7#M{O8x$B0RW)dRqoD*O7T%or0;yu&HI6B|wlw)t5jkfRR7oeZ+QqySi z%+2YKW+x*@R@Rq%=}HxxW+zZwEa}8)$6EW*p`Q8`Rcl5-^n=6}hU zo*M0Jk&7E4IPJ8}zCm??Y*M8}O$CIxINx;AZ z(tFfm(d4z-$WcX1Pi#^kAwz3vqete)*C-hB`m3vns~g-QNO0wioM5zlYvkMq=37$B zFGh_|T2O@r*XrPC2r?Bn4u_Fb9iu=%zMFqoN)O9ctjuW=q2`jj`xg z)oJ40iDYE7c+n{EwYjc|*@EHEUD4;&gTi**p|Vr$nJ}?^iDo9)2pRwsO)+3x_yjUk zuNHImvymFFhZX$l#@n;&8q2x5(hCI1P9YfU4;`S{`%M`!d0F%gNC4nK41F!@N#bR- zk6AY(1zNd+v4`RhLE3x4s#X^#iVk-9`&Vwg-gEv0qOC*6i!EWJ#a;=Ig`!V7vpFex)cwt5nnfXs(e}WcWwWaqEDw9`3IAFvzK+mjrC60Untc_j+VV_ZF^{LkuZQ?XIo<)w>v0{ z9$z$NZs?NwGYJL%Wh?q3&3))a;wpE^Tmrso&#I<-638!ejSNpsJs?UWCy+eI8~ivZ zM9qj(4RDnJMyQ~NZTZxuAdTHVskp>@7O5~Vh*6FzcO>?9RtC3L7Y@@1BNjU1TU3q1 z;^9#ikw&|#E<9o&3f_3)>cC`FI{CVmC-w27QiUgH-fPo>&1kh_i@fT*CpjZg;afTv zQU!t8Oc6RSIBtmeJXL55?8E`{arqpR6$dVJL}6;BIY;qi!e~5;fmjqFpgYzOD7@i7 z$)rYwGbf$yU{u+mGRW{UTC|%Oy=EsxHFNzb{}HxfrQ-W!m>>!r^*q*9R7V^$Rk6vR z4anGPXouQl3ZbgQi-jGkgz0Rs=1J113RH-(!~Yn{oBxF153IALIl3F=vy3Bb{ouru z4kRtH$DeMYt?m%}PQp8XR%iYV#@VERewc>cvpL*&woGV{M$bxvWdc*15}Fa$!rZ;f%6RD^2=*5_zAX+YYcWLUE<(aQ%Q*k+QUK^ zW|46!FMqTrOQ1(7fhxyf712qK4A2+$cti-Zia;mY7A$=!9deqm9!XS|h>{N1qL3iA z=V3vweEoe8Q>iLQ8hNgZ1ZT8PG14L-`AsA}5ZUqk=nu+ zEwEIaqlvADacz%6GDKJmjXB=U`UBR7K#_tv>0v-RXgd+LJJT@k5AMiWccSn>!ISs_ z7T0bf=2c&Sq))iQ0(MA#EX*YR)$^UX&$mi-XE&d3R7pHf1f4Ty>k=`$ArupbwWLX? zSV3?ARYjk$67f{6S&k4SH~_60-z|OI+!^8Yx+#R;JUP(R&nO8p3J$EZhaDrA2{PNoM)5LNTfLacsJ}jwqo4x8l+JhhqaBtKvSbR-~< zfp%zcd`e6bfD{>xPHysGUZ;p}k1`S=Mo?v#q0h8v(QN*TVz=ng@cOeeXR z@n~bEEup0~DzNy{#nx@Znn@u5Sk)kB1DTZBOoZ)Ouv+$;t7YJjb4V5Xx{TU7M(vFr&&&dha%pz zlESD=MAGj~0+StOaLKrg-$dXh%aTSq)%O3I&c;z~e26{{O@aMtu=ySgFn^X9FE04y z&`Z402SQQoF@r+(u&krMj-~x(vP6><5`?wrq2sYeK&*&NUwJ0z{3U8PsTD|P`zz1# z6UlFapzx`g8201~VRaS|w)?%z+~I3VKNpSgiQYMrq<(VH2(|e0D;WDtReT%umG$Sb2SwzXm;7m=Q#iw6w7Y%N~9bdD`o>31q&Sy z`e1ADxdcnFmE1T!kqkPWA(ZT4fSF^bXFMmbbMmH{&F zRA6pgKl<1=H?T7EYH@O}w5Dmo^1T-Jz#lOTGicsunK@7X7{doK6UgSC=%FGhKZh_Y z*KBOw^kc5I1UrdJF_D*v3Hw^j5h=h$V+Wli7{%2Ht~YoxB?)oz7q;1YOasl7GN?my zc`fXdDTYnYmv>8@BJqB`=_jAnB94I92o*4~ojHWHQ8*g9dh=#J${c%8kR}*ACa_y( z(l?E>k}9%r#pUBHpdeq?STyjaZ&S(#Xi-D}ihAXcnujJy>^g3-J*d z?hO(6#3S9*wNX=dF&GXuj=1oxk-GSH^*rEk;Le%+UQt&$kwc^V;%9MMG-oRkg=YA% z5-(Gez#V@&CpI?;PX{H$<-dgl!Jcb85d^;A1CuOniKyOKsu*njXUkf`OiUlv z|L1;@4D{3@^`tgcW5@(7GbAGJJL44|H6Dvh2n2Log7XyuQgOdbcp4Zq;yWf?C2kgJ zgZ+|m>1-DpWO?OdKwbaXFgo2;nv+yeRqXk!ov~1a$BLBhx`xV0u{DS|4lj{1lUyTSf9Kqt+gRJK_*6-g;*v>UZ3JGEqOA$aUZ75@ z?l;=_@Q-4A-asN1(QwaXsz!ZKp&FK%<$~@0u+SVxO37_DRYF5Wwq|htMZ5x^m%fC4 zX-ucvK`mZ@Hx8;T1b$sr=|_Y#edW|EtG!dAYtUcDl4;qO0F*8s% z$@FdVsIjxMUL6C04F4^71UNnt%_gBwsjcLrByp@u1WAIxd~Iu#fZFUo*L~F$xnN($ zIjR_weO9}1+b02hAARnsD1kb*D7H17h%UiQAG-PJYS0q|JkMY$63zL)?sHOSVO(0#5@XT%ngHX*Cqm87G|EuayAqkV~+n0M;j= zh=Wi80oQ;vr9gm|l%zE2=XU?80qTe`yJOB)y?w#jsX?42eJvBntHGd5Ogh;hp`6N! z+RcJIo;>qUPZB-w&M6YK^b3}DcdI_T_Cw{Ki4W)z9NDx%A7LMY}%E%|eQTZVnkb-L^?TEBo<2Re;>hLYv9W!Zx`4$-Cgj?A716 zPJ!qL<@#U4ZcuXBOWju4!-#V2*09z6FW;3s$A{vW2in?d%hNUML3o7Dzu`DW<%L13 zivUg|z(|J2)*)?|^sMUV&Y0u@@4$D=wmo~l4!U2VlAQw(8LS1z6{tqbiCkFN)ObdsxczU;$Fg#N192^RMIs3cs(g z4#ORdif{u_O@w0Yjl=$c^kHqd4#|dVN3HqT0b}ovIh$6+ zpjtSXfzB+FgaHNoNZ&v+UVbK1_Bd`wHKI}=hoVisK3LvQ^_TU_B3Cz;z-S)B=HgEw z@2N5AHQ(hFN7sPqs0*np3`#Kd%%|U-)MbZ`Fu70J0)b2g{26@aG-~-B>y_=7ZbQVf z27N_o1|}J;@#q_(<-587PL#hV8|$bJZ-ReIbM2MvSPcH`Vr*!k>Dff~O@&?%%|wnI zHx^tOn7q3-KxWp$QfM_%w%36gD0gKl!Uo)Y*fJ>MJ- zX^z|&rLT7W76!D6jga^YkrH&U!?PAM0a};mx^U7_)!jX!%1BNBV$Qvrn$qumf23+% zi_@-I@eyjka=FzRmS>`B)ofScc4=T(dd1K?*;w$||0VpJ_^FG+4akrkDyExLN65yF zBgvVUVxaSt#){wJcOgmoo3ZF6^Q`|tcN&I={E0r_P&okh3HYQW$p+6=TNDy57ta-7 z=*6FzfZ?2_SbLl@fu2IT^6@{p=;(6x51Zf6^xk9jun>-$Bt>4xS_&9D8&6sa5aIm? z)0Nmn5+FzAl+blxxE&-4l;Bf@yAy+{VX>4lWNA8u3peRx;4zN7bID9M7V_-FWdwt% zG4nkR(xBWecbx!VSaIc|6O`bPg@TDg`{vqLC|k@YR|e@>B)w}(TyT;sBZ}+V*9bo> zo;WlIQLr5}9m6QK72@7k*}npboauYtOS5pz8SJ@Uv!08)$BXtd=O*LaYVmQvU$7Y z;LPz0XDE2gTM!a7*C1edM%y|<>xmhQ#Ld#)ogFi) zn&KWmE1~)?x-7cgy$NZF%vfdnscr3h_zGe0N97lUpkLI@-&XxW66S`mzns0zT2i`l z$0>rzzYx8BPIf^56uP>^FU#!MYc^rR3hkSO|dB(>f&VPhObUV5a}9SgL-nU2RX4`q^BTsMdlhr8x0hN|lx=yek!Uaji+k@%&;8*O@` ztTeM7ubg?n{$~ux3B<0_de5qW4|g==UOgif+^dV-aw+SD5O=+kBq>O534cD>+PU3n z<%(^=zG40IO6lL63b)-LP_KcOecy1}Bmlh7fSVNtJ~&$X7}k-iZ<|(`Vin~xnakvN#w6uCz`Flcyn!0a>#i!crsHpm znY~I8(w#gsiY0RL#FpFW(MJ^{F~(`5E{_!;UJ-6c#7@%(%R~N4G!E6`%?4Rq=0Eo* zd$5O?Sf!0e&k6xhAgBjS^M&FNqFVaXX^1jOIM^Tm3S7319b5&K;$LLTAIgr%Cd6H`}GvQ@l(AnCj0?-<5kY(7Qb z(b44@K~sYR7wu{s;@`?Kcn>6#%dM#rah8eikR$RWll>LX)SyKio1wD2UnE7; zuv%&cI^@5rW_3zo_7oGV5A$P7vIlKpV%|EXM@ti&i#fp$ppev|mbAhTVW0FtWulwk zQNPVm(H2=~OrMW8o+C;jqtPi*WDAYKsX%oN<%9u{A5o6o`0%~iiyR3L;=t)b!uX~e zA#e9wD`30HP4lc%e=3D&W)WslYK~M>b{dSqk+9%!4UdJ*I6>^1sh1KaX;+t7Gu1w2 zkdDW+(DLhkZ~77~L`X8f$8N`AAFZ8axMX2FYg4ey>l^7vKIEDU3{Jk%8hZxQ>*=ON zzqrozQyNt*^-Co=2al0^`Km`c%DUe0c~bJ=?alZxy0V&;vqX{4Q^*-?bOd`@C9PmY zcN1RYEHB^0K;UVYB;O2PwG1$?X<-#+)>AEcg=6FR0`>2c54WyL!4{m;NcDt&8*%h)+a&FctMohX7;MRH;G*PYHQ%+25->Xs+FaF`C?XS? z&T(TT|A*<>zPaLJJk~oKer^5^(PFtb9`!~)JxsQ&%0w7W?qI&c43hmL)CGz4b= zkKYl6Ui#MfPh9^u<8^kZ-vr>H-b={YlhFON7z_;~AmFq<_7jR1^Mt4 zQ|D(`@iZ7*G{ew%Kcodmu|fwFJ25;kg{>fG5#=%q?x(@WkTpz+wSh0D$rbN>Mu}iq zf2%p+#&Uefc{rg z+70h+r~amT+q_}mOcB!CCSRUTx8QxZ9Na9ICiZUHvvC1fNif``+Fw7_v8!9ViMp*@ zD|mGav}-wy;ZEoHXmYE|?Fks1Zqa=OjOo_q)xo#uws=|kw-c4~R_WG?3gT&JseoEg zbe3&3>L1x%>rP#X33u^Y#&YSC0_A)TxHfl%?nhfMBXU9b$V!I|ghR2eb(Q3iNsW0U zQX7ITx}Z)$?fPO(`s`1UaOz7a*SfLoh+O(8OYvGwz95O;1FQ9sxuEKT+aIk_1dU&fzoB1f(x-ZY8rpiM9K&ybFz*4g(X{?fq2k4p z4Xro$gelA)12@1S_2c^BDA@FZ(s`|nN#%$D#`J=H=tvH&jct|bn|~Sy)CCt#xQe6Y zn_LIfFmr#euvx)v&B1dg=tBH@~`z z(x?X@=u*L}STb&?9gJq-0*lTQ4WF9?n_+s>aQ#2BSr8bjEN9s}xnmgL6{r#>G``Yc zq=={3?xJBCuxz?8&@?uNljiR+999k(Zm9^sv=h%S>PAr)=wk2y zV;&-_40%jdEZ<|w@d8v7}Cflz@cG`xXppDTIi=>d zwK67s(TjSTnSYE7KPh<1AT!{A1}TXg{JzYN6;QWMk35@}9RD!)Z&VaO&wYawv&G_U z>^20;zE|X^CtR3={Ku@n4Kb2RD`KG!<1aF3Lei>9lnA_1CL=xy4~(WvoX;8>j881H zCfDNv{sW&>Ckv9397PM}np#iFEaaaUxsJ|{DCB^|Daa`d)4L-enOPY!5>xe|*Rh;@NL4zUczA)!q2m5|a7?Q& zK_NQyC}108l4df(;evQ{q;5!c=aZ;sUOfAxa#eEE7|=kJhCo0evV9kCG6O;( z9%x?^eft#4Q!u@i`jsV7*Xa7=TiE3db9MeT4FSGC+^4DTKM#hDhT6nwW4^v>%}gCm zIPI3tMln8nOQ&4nA2DppJvyRg$_c{Lr}QPmM+DNyli^xy}hwT!px$z1B+9xoZE-23q|pP0%HGP5Z@Ci2zp^^b)CkobbLR^iy>% z{%1Qm5|(kY!t=VMoc-qS5{pVLi5d)l$e&8H0wEk3Nwwnr5B!qy9BjeYDW>JG(fStu z&bNfO9bD5w-vj|8)3!j1<9FnKw%;0#x?&C3nj)T(LQc~fb(8eWm*^PyaDioSL2FJ;hxc$H1cWXl%l8-C{j89L33MtiQoLBf~=3-k% zZtLe8IjQKcgEmOGk{F`D$beZ&ZD;l*@BtCAm4W~&7)ZFqqW)C+B@wYD_kK{f1Gvm~ zDdf;ws1(d^NH|6s)<7s@A+{)&Z!#>fQ78b|scrle=Z-c;Qn<0R_Bg;4U#k1fC^Zrb z>}oA;M9!L6#*g)E(;9SHQdV-fBfWJx%#ch*fpwr1q@xu2h73O*BZMp|!9iIT;jN3K zskd9~za#8vIbHkLa)@WS5Iqjiqr*>+EWOg!i+^K`r;emZ^|D zl=rb&IS@C<*CdQa8M8}g?P}GFeN0&e3;Oh}<%&Bb`3P!_kI3&;rWuPJhBwHGLj4o; zQXBp2CK*lnCjjUI6O8ycgO4h>g)J5Rq$tz?JWRR}ycP9`ar4Wf1#veug(hYRn^bzw zjT)fq-tpA0*&kSW-_JgS0o=C|SD&yzGC<62AcvCifQj%lVQt7{sc0b)jFT18D zVKj<)e{&oA)@X)ZV-@_!LSj1gwyh#DV)||(%)fKfmt%jDRFqZwkgH}#JT|Bh?zP_{ zxs=&Gman2qwTkHf>hEul`&N>BkUk2gs~0zyac6F`-4$sy627{|k!r&c0At)@i?z8L27I^Jy(kEBqSmsSGF)RVkGR(!OQnP)=zwn;LI310yRv`m&P#P^eM=P@-HT{7bAm^>aIStoiMh&B^8i z=AlS@)O@uLg(z=zFv9;hKwoLU?XGALYrPtUh;c>pzZP@dxL!~De46p$Y1@1fOTzF8_zI zbBfO7iQ0WKv27=liS4|xZF^$dnboaDvY_uO`DV(`f(M-a@@B``nEX6suvbP47$C z9_s2og}&yK5woEx@JY3QQYfv&JsP>Zsr%Wd6Wj2NH)NFGIcObj;MILP`N}E!UCkM* zB2T%)PPS(z{ci%lV`^8@LI?98ms8&MWOT~I5!FAjHxp7G+7lkZ3FBPQt98UzC@CBs zTEa=zGKn-KmJuzwosvGqkK~wV@0C)c(LrSfE9&dD$9K{(n)?jP`1EwxJgkq$&lq}w zhN~7zEK6i-nEswP7Dk-z=CTZbs>P2IqL2eqk__@G&;R3t@TDU)oXSl%v6X!iwy+-Wi zGh2TLDqmTcbf$GcLYw(U4p;oD{ZxTvwMy%eJWqYuE+EYi7=+CVYOSCQiSz5|Wpw$X zU@pj1ThpcB7f=V9j*k|coPq%8Yz!m zFSAMl#-j0lWBwKGV?_@IIy*B(J;2eb7}Z0@NbV6hTzE0 z!%td+vK@0Yv_{|lFFx>_c@YE9hK@mlYC?b;trlBu%}MP+Qcfh5>&O%)Wo2x9K}%SH zu2$&yKp5TTC?d)w*$S$Ls0;D05|j3l!^Yxc4(-9Gg_%cPX{8OQ5uWW|+k~#TGW>8=|uML5G+R8->QwUU2#QnX`-J zpgx4gusy5a=VHmoGlFj_144$S(d)kF!QfE1mHf^h0)=6Rh}xBmob-&hBb zK-7%vQ_Lg>Z?n1N`WUW`?TaFmPx)n(dw3rB=&@eK>B}%zXhDD;U~O-hY=*K)WS)(@ zmTZ~Me`&RA7uN)4#Yz_I2e@s?b7HwaQRW1Z^8J{z{?4`exs^MM#Q-eYfzU^1jp1|R zpjTB&g@%nkuBuK)s#J4+y^#tCL$$BT_3~sS655g;}!QS=ZuFzYz_XJn$=Tg(;{4I|iVi;wlu^f0lgqk4l zk&5MN7Ww%*BV>zi2Fg{}WfGLrfgV`(3IwJ%3SC0WOv)t&kYZM&%qR<5Rzpj*1uZ z$1h(MZMRX|huvWX7|PA(qK-voFdpkh5wxQ?;9Jrs<9qx9N(fq_K#W=gta$rE#Dre| zc)9+=n<3t_X5sjg=B{WM1xW$;&99{WNC3q%SdFRl+ns0RopD9o=;DWwP7}E>9UW!j z+%=y@eEum*qAuv_Pg;bf08&WvyAl}z^)>%NlSaLi^5$p=r~TInhaV!Cy|gwv{uc2` z2iYRg@UM{9AUlD-3Z^f`A3KHZ%00hQRNT}T~1|{(LGJ(LoKjp6(VVY*KbDmMv$nA zQb(5^8wanGU7KLw5+8WN5h3yDCP3n2QAettV}ZW2Q5%cfNrnO>Yoz#3wEvoWrA2Jd;+L)t_a#bW&7v&n?OU3*an!X{=RQtxmOUMu zqoh-+Iwv5r3(Xv04B(RF3vK5qGvXs1=l<~R{Uux&Sr_x1#-9Up&J;+@4&ruGA`V+- z)JTn{#Y4mDxvS zAO29cuA|sttB5QoN-lvA2)Lbwy~{Pk)$!9_})emx|6aIIq%7$b7`%QtXmkS@=# zx@*2S*ITqh|cWSx)~2plU#Fttb32E~;Il~ZY|SIMRrPMry0{6z@p$+ktqj7GgnOzKfp&#USny{F9y(+8}!Qx2>k^ z-2#$a51bwf)Ej^ZNz?^1DkL)=2X&XA(16_BiB%-L%#7JvVo|n!f89A)NlOisYqlJq zFdUi>5E;+S%|77gt^2iyUnX1P!wP>`{Rs2FYY=$B3An0|z6|{HL!4=FG-_tN;LFUD zT$h_h2EG}BrOflja4x>@Up#nljZicyz|9Nf@ZIcm_+wQ0rL70?dVC6HgyPc zqszI+1@*6a!_?^|nK9=u?JzUCvLBp_2?u4MH``Q3)N}MTF+UfSR zE%tDgsIe<(wm3F9yVAl+2JIS&2YA9t%FOcb!6a10bj2`|c`hxg64aJf7X%5d6hD&# zP&Nn?q)xpF>};VhmY9B;$V|eoKE}r-QF+#ROThZa*&#{lMkyT_Ei(yKnJR3CUMdPf&FXi% z;!wlq&nn*_KgJwd(w`>8MLFmRLc+1h-Q6Z?suE?V9N4l}(IgIb2>;0U^L-p7B5LRt z-Q0o-ofX$uNJ@KZ3q!0L<%7>eHD5hWbRk=UWzSRwiAvZ*Zlvm2ZuKfPk)E^IeT8E0rks`OOrBcP~?G=n5NbOUftirUj<>bJL( z=yyXcFhAf@EHE`gqo>1ZS91i!uRlRhFu$%*k51@+wn-N+3O8;f_a=E&9n4{9kN{_~ zv7ZVxXME><;6DbOg}ub(#g=@ypW577F@dcL=GzeB$V&`vL1>-2MHBiXQHvSuEm`2t zaDB$~AHqD0*Vy5zyr~O6GHHXwLMKh;a3e$&kHRP6g=0Lu2Q*_PjbAAx?4zJBihPF`bQIe}*;)x) zxdl~=+Qe%l$OCX1zZya^hP=neC{mjZNaJTF6{RnRNliVY!wcu~bBsw*T&dC|xZ5Y& z_u5Ae}oItJime#ZW! zB4frXS4Z>_l_uE?iwXKAI&;G@vLV>sn*`Dt9MkXK2$KfO9`ElwkiC%-(~od!wwL9| zf-ESWv6H-vxUcpgAWn+owup6c)^kw6Hy}eb+Ui#8-b#jGZ<(-YoY*GF-<2Pm0#f`- z7+tY)dBnKFax{>aG%!ovp>m%LC8m!vP7VOAw+af))uYiU62$`;7N2D-RC@j>L1rCJhd4>I9$UVqcN0d8A4Uu@IswhKA zB5kB@56{mA`nO7Mf*)&MLr1vouo%4W%ho`5z@+?Na|65lZ#t*QtY7jDN!ZcGt28>7 zzrp=44XI7=%U-Om61AB#B_FWaz~h2JWn*L zq|J}}votIAgb+#ifEKaMz&@R`SSQ-0tWgL<RFd-XG()(7<7>_OF4{#eOkY0K9eZ3VO7# z0xN1U&AB691iV9W#V+wPNbP$1iCw6JW^%z!wa$u7ag;8~L-cW~?Z(swa}GN`F0{xZ z?r5$j90fT&x^Kitn((8BkE0MOahP>w2Bn(9DFHvH1i~th^WH;{ft68Od3n@9%L%R; ziq1^^YBuU~03qu{G3_guS_twi17*js%95EZ7Ou#Ut+=dElBV6XRAp`&WfFD-#ypAC zSalNiZuLucJUh5r)uWcFpk;;D$?@ipWu*-6yw@x#uh$(wvfAioX~UJuDsgi^Ao(#% z3Xj$KV!QlGMGMs~S;{KzEVXdfbNHdMv>_0PF;YNjwq@YPl=`R^Saj*c;}DYVj7ot1 zgAe)p5C(~7W&GKBt&v-Z@AR_s&6Ha`8x1Tl2b?zcAj6#f# z;YTcciv@MoQpOWs$v1Lai~XJ0NQBSvfrdl_ih|94e-sLa)*?jVfPS&z(&?J!O!k-t zX3a~=XF+_J}0dacTaRsrDN!Ay5D4W{JW*;D(=Evz(;U`czdchzar;Yzd5A^FMR?}Ap=VQYv z+{uRX&W5w#tqB3t+xO|cIQ5=kIxUp)`n^HKnL>Y$NG20snzNub>PcX@yTu>I_=5o` z<^RB{v-4d~J@gPwkOQi`}~ z%;LaOb9lA#4v57B0MAW%bxpD?2H?7TL}GTp0v|jQz$(l zcg4RKnjVVss;hce4jmPOi~R2c8-Cc~_28>+9Jv=XHgnBWCJ4tgU22PdF>Fo|pM5ko zPVgKMjjVxXmIi_C)ujztT163bUnTENlDx*x3okYy%r#y|%@#Cg@Z!XP?5k^&7aP?# z`nIjOts<;(@^Cpmjwf7kVk>m>;=45&b5s+;(3N;nJ7P<9?F8@$_Cno)K@Eg0anzb$ zRSjNjDNfNpuXSH+Vs@C?@7DU2t~Ot6V$mQ>U++{$*b6-9I95UyiMcWJjglZ0w#^c3 z#GE>Rn}X7m`xNM>TlX;zq>QkCz|mu}c(bkyB3}{wQMT8&9UQO9$L<3xn7VtEMGMx1 zwkg@vwUFb6^iFVC=j@1RD0etqm(!IGK`4eBOq^Aykwm^!0)IK7<(#@+GbR>=OCeF`4Ijc zzbVv}N}v1OsfkuKTlJ?-4)$k=i&VgBKr$($6!zTMv& zJ!#CgkziO`9=?pD8h58Dc2Xv~(hRp(4zTZFkvz7sCP~=~PRa+?;o}k9#G&^5g2`HI z@`oaLp1vgOIaj(0QpHX$$`uy+M+*{vI*&VMm8f6w@$-}W#w#pV>A??mJV~@~B#8fi zT|I35SBg{jDTMl9WnEy#EoL(8LJwlL-3GZ`@~;djC=SoC-|z}l+7p@dleJRDaoJ4) zcsY@Z=gu1%?iy@E7DTgCC0aKs1eFvKZ2(n|mV|GY1dS5)`I*@Tr1i3PT2z+?=YbGw zIFvexg&AfT`Fq!F>o}K&k{|uwYmEazecGOg+0CWgLcES7LG^YsJLEQk%~cVjSjS!I`^ zzd`S%BU@%^-i_D8#|$`m{u|lEJgbI?CWASc9(*;Aj~Op9wVsVEBhyM0vnFrQ*XLg;&ZVj62ntV=^58X095&Ka zM)o@`2s$=TVK)r1w~tP6I8Tu7cA#Dn^ckNtuMqiu96lc}a2KB5#697MB5u`!h5a?9 zuWmst#HS&RAhrjbnMpw1q|?c?M|3o{h^Ze;MLzWsMcM4jfAx@=B(1+;PDlPFn6G41 zO~_T7jHR!9I2_(jGEmAVU8)@p1bnErR_)g=YE?;1yw5!(UMmE($T7m|qj0tq` zUmNT1STsbdhl(4sC_sS4f6ahCD@Gd2L=ObGmRk)Yofn5Y7)e5~FNssjOg+jtWhf9_ z{|t z@q^}`#GBi8ns44eWPzES@?V?h{NRRIVn88=9d%>H`1uk88s71pQmus}bu?IzJ6gg7 z=KO+I#iBCm3x5FXeazjeYX078AOYSXbAV@O?WjunzF~2#SqCFY<$n2fPp|8LySDH6 z+*FTWx}cP*N7}n>;yi2Q|FleX=-nU}+K%$^A(Y}R4oMR~SQzv5w6O)h&W5^K!Ge`0 zHhlXzT`i(Fdpkl=d>W)CagaE>Hy1%~P=7!*75&RXemxxPg2^l9A5@CL19V!!Z?fu+ zp*X%P>;jQ--K)PZoh01LLU$a&Ni)!Sp61?nwYa>xQ|`2V?jP|9c%YDg= z3I|N2*h`gsAUix`kjo^qM%b@cKLVli>MsdWY>-a(8W)4#5rU>AB?0{_j*_mMewZSX$hqHby012slE&K4wL-me5`4`tJVT9 zwiH62ntt4P`>CH@b3^QIxwyMEV}ia*NVm9J`G%Oa_Oq>y=AH z&$`zFE+CCGpmoriakUbl?j!4+nKqUASi#$g`FIC2PK(d1}VI7R&to?zY@>9G3_G zdn<45GhU53Y?Y$CfwmM8R|(-A&Gt`TV|g-vfZs%;Y7dL?eIcaq1ZBxL|*5^p)wrP-TIVmHGBg< z6YWAO92~>#6LUPs9iJyu$y2YIh{TQJhPIL6l*=#fd=}}PethUw;+S#rrBuRLY(KAZ zbM$w^8Wy7!bZ{-N_hQcW(?cOoY~9CrbpnrCrTU{Sw>J|O0?pUwDh~q-t0OcY9mZ}` zat5^{)D&=*3+(<-w29CxWQvpV6J^8>JLVO!@F_4OHM+`^gu;HQgxc_uhz!-A@hYLd zDNYi*2#wqnhP^~RW7rg+W1q@DUuvzV=rgZugXeoc%5AnXYKE;y5oReLgAEz<&#D>5?AMK;BLRyRIS3qJA-(w}Ie z0^3B&I<9ZD@;88psxbPO zRuj}oD{htkl5f;|>`#Uh5{~q$OjyPGxATXV{79HaV#hvoCgz%DBYaMOt^elhMbc7* z?=$|vLfoIaX!y&|VY#YQ%4)f(6Ipxf#|9u+K_}*rt2rZwk{%R=-4{La8c3TRF<=|Z z^#*z!d3ces&!8=UFV5+)glYE#yHc(jRG%mtA- zI5@qD;iaP7!hq#1ENpkSd!3&06Gb}P3|nfU+2bUJ#J5K4=M1H?{p^d+_4py*Aqw?k zZ@_xvr_~x=LEdK|tOUmEsRzTgT<5B-$Lw+cb%N_yMcC#=iadYXLoMg}caE0k=YwrC zt#@O!Wpn0P-P&Oz(MFrr*use=*^xM(HeZCXdlHWxAFOF|skf$yCrJST`#J+H5nDa0 zPEtzD$?2`)g47P8kc;+C%0U7CX($EYgd8jgUSEw*N*YRA@zjH{h>p5?4tDF|yh>hu zMcyMl9}9z@Lx9CFcd3TP(97Y*NmtL(VAm~`_jUg_QnO3@cFo4UT#nRb z)d(et7&c7)*u(IKK#;c4h--_L7K-V}7^>H-5&6MPqyDOhUpJ%{OefU>13(J$0iCwo zxPLo%5jjU59>7+Ib`Rn6h`r7rU5go*wlb;Fvyf#~6{D5XTg4#V_=lclj0FbN?-mBq zQE`+{5fmeTT?gFz{~1r%Hs*r@>rTF5bk~7)$KI-cf9B0a!gK{+N=km=)|QtQL3DY2 z->pjdtwSPT{htn_PhGd7bqV-d$F?SJQH}9wI|l{9`dj}1l*8U}65f?Z_jZeD)q0$h zzH!K#{N7gmAHlieGR49+8L85z`Jjv3SY}`UOBI=?ziZVB?QOs7%ucypX|fs7+N(l_ z?&-aKl(DWprunCIY$*!HY+&nGYSIXpYqI&bSTKSAodWM#H A`+P<&Q?7954X~Kp`-mQ}E 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

    ;Cd)TDLZpsw6+!sj?xu1y5!{vcoM(hd z$txHDIA0Kc{If_Kc_W;%n>H#T{0u3F7;2gTw4RMMf<^3%O!A4rz)cg6#NC7Nr@v_kL1ekph!mxE zd0Fv@C6tzpQY|`w-4NRxAvp|JKsjNY^Tc$d9S$LKauOm|nD-Fu1-a!IoI$-=+13}A zw+7(bw{bdv0gKjqKi*l(WbqHMe!jTDKZaN)V2Gj?Z|r=#eus1fEo;bydv3%(y!g>) ztYvWJv{J7*@v`v&k{4M_+-dv3*#w1>lp*+50u16^0W2eTN zMZu|xlB&XQmq*${LMl_?%FD$&J}1P!iGnkmvlHlcXVT6XLuRB4E?CGqp58y5i2hCp zjgbHqT;z1jQKeU!i?>9aH>56R0TrJMr`QBdpd)2`Rm&!$$3o!xRsWU@pWbl=?79}v zzJb4M22)-0mjfUA*Z?CX%}Wa~-rz}0vF?ZcUXy}N?>`oPB-9Qw%27zLhYZxdMb({< zy$QO(-E$BYW2beXG&Mz(MvxQPonT&8jQZ0rFCN5_*V5;N{i+4IDoPYK&<);Vr8$C$ zhla~2di(waUfyKjxF0xB=Z=PfHAVgM$sW=~J=8L|I-%0XL1Cefbx-f+q04>s-Xt4{ zcI^ONS~@96XZYvhC+taP4;OXrdchJ<7&L%J0zVHu#DA$;_@Cztt496 zeG(xn?HT3&RkWIM;G?>|YxKvSLTkLpbD{OY(?l~OO`S@FXu z0-Tb+<;SzOT+T{Eiw& z*p-eF?r2+g%&=w{)=ZUM*Q=-J*vJDR1QrW?J+DCrF21?lDURh;%Y+71#nyrys&uLG8lPHNe?8e zsRZ$Yemh;=yH-;sDvwcUpiPZE^t74Df4gX1LeA+kz8I(&>Oua?xi)&^ydHqcLmoTR z2lI4s39^8wHLU0TXcFXJ38OiLjOl7d1KF^ z9Xl$k3J6E-^qU0(Lz(o0wf!yAcU(>s*+erak}b;D1y}MH=d;N0$f*Z*hJvFY-#|P* z802phT-!L=U+5H6A%2{(3!Dq_82W5Jp!;F1!0!(iF-_J@eHpZq^0w55{Mln=nK+fh z2`%v-t_cyah}Sz&Z)}RJJSLY9u3Gw74V=Zlb7AG74f}l~G21FWD|a8OU^I7Wie#0# zf{gu7jLo{4Zj|F>Hew-T+dtruSHzZ>NceFjzOiSV(I5Hq4Qg zdSo}@x`?ROTg_Wu@*=5kZtCJH{zyvMrD12vMv+g$QGr{%sz+4O|uJTarwtB zNUE}`?(C4&h(AIisY@Njn3On@ zvD1t2T)eJ8j5Tb59do*a^OS9z1t?v3={g)JRFj_1h&^?EGPHCImNh#+dXW56Ng2}k z)sy8MF1sbFjM3Nde!>P(oi}6v!`9;$6HlY**1KE1Te`d zskao;wQY_B%O@5vw6hdxb@z5Ho9%l#QaXpy-MGzTy5=j zFK8sbq;oCtMOeIiUhJdbi6ES8YKeG=H{N&iC`R_Of%v?W)`ubwx z=Go>wZ+|WA8rWMbO%T550em^8zKBNqy}L$>wO`m4mXJV zvT|q@EW}B@K&bLIO~~u9;2xFSjiEw25&QsNXo|GjOX%5_mK4|0TslDMduUU|H$o`8 zS>|zJF3+;!$m3%N2MnCC{M+6X34-iS9>nM>IQq9xap*A;5olExS?r%k>on-l+!OSR zbF{AN=&s6Wcn1?xOPm2+y+je-uXD%hid< z5be+tVST`EdMz(r_^=W8Pv)T_s{*cl{Sus<@Q}SId;Ql1jQv_xy6pX4<+^PBd^%ZP zhotA+8-Q-p%Owa;KFVbb7F6W`L#%D*u=x+n+oVqXl7AR0y_k> z!00mg@;=ecoaU$kJNYAQ-BVYR(|3D?A75ZuB3W;B zhlSHBo2Bh}?N1c@%dVfyGo_=Im5b{@zfXb6TgTgYauYXLO+i)mm&u>rbXsGjd756& z#6Yf-pN(J~`YRU-?Ig8W>EE|9cxv>S(QP1F;vdOJTOn z&PK?;7oy?=R~}vz04{H*T->n6_dyC@IH`3|f--WcSgE?*Qp@?x4<1sL@ zw7g*y6G`cxnO#9Ny>EIZ5O9RToz&;r9vliG4%(kgATG46M;;Iq!W=r3K6XgbXncD^ zkjtisHRNoXwv)>l*+7r^#GQ7g^sRr-u>C^GzJK|=v)~YvgCq&>&~^)O-T)X+*}&Lx zgq-7#7G( z;BrTHD~UoP)2)_ZjC@{=EC3t2CUjB6{{F&f#yBywxDbfpMxFXwJud`ED&yGzD4c^Q zI>$diO!(jMjV)s$UX5tHJH4q6jPiHpQ)^=Bu|Am$mBXluVE|J7stj8$=@!KBZes!i z_D+lBA#=BuO2k21Y8yUOU7eIk@R2W>e@?6P=bYHbz)U_hb~xDvNm3N8D4ioS3u0y= z2fGueMb2kJ_m#o1CrP_{&y~TSJJf4TtJ_-#UIJw>Y3KcL)x^}3;J$VdHVvXAotgd( zGvcl+pG8U|BgYO9C5k0BnFx`2o0k?fe|~+^%1{`JZs(E&#go$O2hs~Z}#i8(C#M30S7DLIoz@;01EPpa=p5U8u&X2oDg=UNVIad;5iojg2qu&Lbi z`}$izb6g~UkrF&iz}_bQy3QZn{G0L;^2+-;WH6lg3d)pkVxRNnH>*3`uYS1%R2#R; zewlm#15U-0t&Q9F2fae!$+H@n%ZkUQUs%2obBlZ891M){zTUOCAV7x+e1HGcWt;`C zRW3gr1&jBf1|J0Zr0QS!i~a^FtNQb06#ncuIZDV=M#y8INy>LOhCOS&mi`?O+d$Q= zv6x8jmx%n(g|q2hv}b)Q@faD9Ui6>&39HY;TgDf=up9_c`F!HO;>4x*ajV2b4i({Y zx@r~B11VhL!xM3x(92Nj+_N4Hi`Xb3CW4~!-roYE3PWwb_+k&7@8>onPR}4cp?}6P z89bp=a^G|!^NO$@d2+#6jtKI~b=Y*QG%=q|<8sU$mTfT4!ddD4InzlDT%XQd&^TRE z9XLMF?O@svp><25Tal(h$#K~1CB`|YvUq(t(T^SDe9N#iBB&j0bvQ2xDVz_>7$b=C z_pHGYe(>pB&J6xcP^=ks!}Q~iM-0?MLd8SOyMP+!@UM>?RECMk*_1uU3HS;-=JcXW z*;GmeZk+dM=A5dTVZumYO_?_{PFrPt`k}qZZpoA;Xnk3Ph7J35Y8CsE470xd^;>C6 zZE!T1sC&?JM_b0xrxm_9zBUAjgQ&0`Tg1buOlPNYoI$y_(r@+I}-ZQu64G*ZP5_E&?{K8UQgNN&3+#g zO3tJ|`**U7J?-?e&8jJU`O2Bb=^e2xaFD%R))zT5DK;9(ZsTs~b)q*qh5FE4$lX*0 zd>d`0B!;i|SlN~Gk?fe|L#qdW^o+jZ|0QD=*Y*lq^PWW)xtPf)rStlktSd7ewIHU` zEpYefwuNQp8c z#r_XLo?Em9__cpwTr8qdkW?5#Rc2J4)j|j^O_ck(NIicapgD0M1-y=eD;u2f>%}A9 z>9A6#PM8`=WK;E3*q4Eom5*w+9@GYf8D)Fk=ofl+7BJBT3jVe)>8MGJk`bsAbt?K( z&%tYtOPz4mSTZx+x2OKHJ+H{KPoe|yBEQ42nBJQ~F^25$0|sLw_rfr9@@H8U?YO^3 z(`ETxQJi%5*hl&}(-}kk*}xvd=(zm($d|jm>IUpDlI%;d;@bUx;Rp6Bt=N7yv4ed5 zfJrhnbO-i@(xQ^d;HfpbL#Vv3l>*F-F39;uM6Ev+PPbnx1=gpb#zlHHRU!@6I@g@|33Ef#0hsv zg+k@`AstWuFhm2mAtlea<#d@UNmA)5efe`9`in9AFYX|+hr&*3{s{y$(;PK4JD*Uc z5syM=5 zpkua61Y~U1=~R)u%aOwVs5E_$Pt|)TiADs9dfM3h^TU8*vTWr)vv1nv=F-~DK!D66 zRifJ5*kjCB?V-FtokY>@Sf@F8?ys$8k(Nk&Y_+w&8eaMz_|}S?f*k))e3s7- zJna?`psjCy5(hBZ3`awNJwxb2%}$p6cr-S}Y>@a}dte185H$h_NJ=*u3H1tpx(8@$ z{PN8-F)mojs=2@BlYg-rLmuqHu5xU}!fsQ?Fo15;84O7c(kp~9-42q(!LtFHKz0$^ z)fCvcqeK~4=okcDCVY%ITQl-mnPF4#pLH5PQs?~qMVUYLX}m(wweh8ZPRfGdFHX%I zVPsol?#XwOBcj08pR%06l)%Rvyl(3SJflk1d7{_T9Q9mRDgK!;qHGfzUeM6H8vk|K z5+se+Mr@CL@O6`b%lG?qjB{jc8;bKQ3V9#Du9aTUQ-9fen2|HQrZ2N>Ezy36XnVse zQ>Eu*CL@=m0Va9=J=s~YkuyFvTrx?)Ng|_Hvt~w5jO77bw$`KY{=cvZIk-#TjIF4s z?+QjQsild6i2$2K&7>k=r)|WriOSY}H6v$vhQBD}@t;LSB#gj#H-D6*d<_yap3m|S zlWn$?fXcZpT8aU~tX&;Cq|X|m6E~H=NIVQ#t7Ri5o;Ki58yz!z@2MTT?RjpXlheB= zkMq^je#4@KY*t|ZwzG#0fVCRd392>d=Uuh!4*-^$r#J}G71xuimM$!gugMwuYRqO4WGy~zXYE)p)Yz7 zKW4&Ex@3uW5+lPS#Sj|B-~z8jwGne{GcaIKx^KimMEqR`m287!7GPpRK2{3yPs)Uf zQMQ&g5m-{`$J&E~&M1TmR-4ZUVIoM0aA0+c*kXt;kNsx33$l6a5t@JLzB8%yTRWW+0C=E{{LG`4q>;1vXr#7MH6s^ahqV|y zF*^YboZ+&7Xng$8;RyeqLR9gW$W;_>*}N6P+bi9liGqz)Q?Iu}6(T9gtYcHg2Z2jY zR*E-r4v7>3@nyc_MW{BeMvopLLca}}_hw|uv`z%9fJMcN%P12uQQBKur&ck((v}xE z1_}jq!zF8=MFghSXM~tFSOX0nnsRU9kpEekog4F$J|Du7})j`d}hS`qkiOLbL#rFjc?wpHmt!reTDP)$Y|A9 zdGCtCna7L_t95qJn%TpVnu6CQQF6h<#1V>QXQ`Bzg9YQ6&W!?3_s9o_ z`u2v70}crSagJP$JXXz8hT}=Q?p2JgmxirX5eQ4lIj3Re#hVlT)b^gN8hn{+=d6T8 zsu#bdLT)AG^rwPsCKP^At9x8QqcKVr7-77S#)Y7Z423ZN=YzmE0e#62+pK?IR6(NB z-XAmCZc#=vU&x7vikGsCSZg?yIr6%=2=g?!`3DR6tgQ@P1-n>M8}2TKP;|yVT)hc? z7P}>1KDV+Z-;6HX$r#Bl*=~}7WW8Y79=OYP>JeInppBnc2Ig%pq3-DL=(j8QF3Mat zHB3b$9KQ0^Y#DlB1c%2L8#VqbmU7mdd+>8hz6b$sEgNo|C_v^BQNs12eT$$7XJs;N zp(AH?p{HynbnCh9zT>?bDqkm`eL)yyWKB0%%Ef@4_D#-_4&&2W?w#uGGp@)$g5B3+ z;Rb&8^?~1`nj*ycjT3RR<&-k;=uE7BUTOTeJQy==j;ovZ+yQMCl!QlCMD2igJ|g5n z@OyGLgfx6cnl={_rRSX{%4h}^`$ULg+7XtiCJqhiB*+Yc%sMBc3{nWRK2%+}^J)6DW4hPOFv9}kJ- zOfyx5j^c^wk~%+;|=5kZV<-qa{EqMyYy8I`6nDJ_tR2r zKbx0c^%MxuFWcnI1xy-+wxXP7*(^GLn&35yT^~#L9M)#mr&^B8i8ok(Z5nBlf^9W{ z0>omLC(wcT7Ef?6h5Jj{yru)U;Mc?+%Bh?R!ACxcYhNkKcwJ|F)~eG6xL!V~Opjw2 zjakY0R69+)w;bS8MUZ+u4!Q5(P?~Y~tNHqAY~wj%XtNx6OM+AC8n{pSOTNa>Ut-~d z!VP-Ku5s1{L021|g(0>#UINbjp^Obtd|DI`B#e?d)vJ=dIHxbZb*vP}Q9L^3`mLW; zZ@b|TyRqRkZNU}|l*oBNE4NM?+9X~4 z5P~KkMD$C)Szm!GqU=Z%l{=bcEh9_tIw^^ezRn*o%fW+z0nWsH(!lsR-<*J_c$J*2 zY5O1nFd~OE5r_cPr=u5ORzcE|6_Ed7?3{vgYobLP+qP}nwrzYd{#ZM= zmdu;uwCOX(KunCwY5P(*2({G04z_}v_AaS4+UpfY%dGr9^NwHZiaghev48Y=YKGyz zRSYeKWZ|5cucO4LAYm^te8W|}4wv!!UX6Pbw2%G zSW=_pbnmi|!!bVQ;dBv;hv{In5?O34v?1#npP7PGWeS(%BD@}zNU?YQZW9|V-01&n z8T!-i_qRM0dBbq9xN|)au&LQYfH26(o5096W5b8^W-ECd$N1xoFKg0BhMGb?cdxXw z9&;R}g_3=*=*D@?`15JeNR|N8rS?5G{-X1Cf=U;001%URH^HB-Ba6iujPVXH_*7kh zFmX77k=?I?=Kl?|oJ{d*qckR%2t3+M2r_B}zxRb!bx!YU1RK!)bS9I}F;%tEMaWJ2 zg^<@AE}mfZw~Srigfbg-Ap`}=o6IXte?EEc}IZQFmSR<$P zY9n>uylxD;1FPL?4#f!y3K|wpf0{AKC8NKP?>Kp8kEe7S_@p|7ynhVf8_I?9oWDKY z55S$pFWT`TQVbKcPG1S>Xs+{QxWw(G!r%%BOrmRs6#*VIW?;f+KY_xb_0=Xwa!pEl zAW#sTJLiZd$$Eh5;^t&`u4(+S6`oQK%7BfJZ45B*pRvLfn_RO421To%A9|h;8%SZ( zf_oT+Qs)3j0doC^(-(=)-pdq-IP`H7$72v?eTuki zPX{Zq0X((&WXk~yE|ZV!y-Ab=d3437!!9EOmrRm^p9$>i5(p$&JJ=U6(d++otS9q% z21+f@o(EsHiyP0|RS%8_z6#T1D9yY=6%otqD*8(y7u~KjnUZTTZfKn)Gj8adgcas| z|4rjtbvF)f{nzJNr|%SG2ZjbT3SLLJH0lOBOj{;Qh0udG4!D*QB@P75Kw?SfEieVu zQgum`d)|}34v$R}A+*=MG+OXV=VcKyi>^ZcM_QY%=%n>ZLKN)_V-smSwaGz&ZBIc% zjv_Thtqcow9tft=(7;nZ5)Mv_D%JiD2jB@9Z1OGo;VTetQX~#IM5_ZY)uZQ{8VV9M z>>`gpEsYn#sg7O)0f3C@5!hMnQ3jBS2{H$u;rX9X2Ni7q4}_v(lR?&C#FrvBh$kj9 zD_2btVarHv>yZQ%F+1qOgg>$Y;-w(4i;7AV4H#IYLbcJ#ZOkB~l{vv2R@=ilGN*~w z2+g<(%UmzuBzzubP0|JH*!)qj2 zV{@C)q?o|Jo)%g(XmAZh%*06^cRr#kQn!O&cE%mE9E+rULIfarqo|W~Y;xX?D@T?^ z5+CaKv0g{wp-W}I^ z%hI-zMYTn$@UGg)k7w7w-_qZ*F%vw|l0F?j$)@W|S1lHY9;H5zXd{dOdoy|=Re~IV zefA=v)f()vhB`bQif2E>lH)u`pWOpZ-JF?s~&Yf|ElYUa#k~*%Qo6`jim*?J9N}lTYJ&EOx zz2cxw)w7cZi!=#tg{MHo3_bsJrL@B=W6dM1EU4Cxa>W!D`hWvY$n2hpQHyrC{h5Hf z#*Rs+Fz%Ug^~Su;COc6#9?r~N7`>=6SYxU??Bs|hdV@ukWnzQaDs#!71j}ki zv+D$EHC6g{UI`CP*9ZN4J)1BO{pO4f-U&}#l!Zmed&)OJAMKcBpeX=SmZ-2CT`qVw zJghC4Hhf@>31BYzIARhl#C9D0D)lPi!yP)~Atvs~I8a*YOy|3isIJ4IQlEM)js8u5 zc}H;G;sGC~#-#lk0)$^!drjpruHhomN0WQ~F;p;~W41Pa^jdh^BMiG(0ik_nimWQd zc8Jd-1r%B%P5OK6e(~J@0RMS`hYy`C4|W=>uLyo=$z@;S%<+QBsZB8TDF0 zqR@Ry4x2j@WP>cW`etTfjFDSd`}r?M++vel66k6htL#O`*21HKS`k=M!ES9?*rFUg#pfPCBNPdAm6Ff>1Z|vrTKlRJ+I}WoZAwy zd)G?NBUgC&u;qeEY!4j;PwvaWPJXt0Z^pyq=-I9|#BsljrA&+OO~wW`n(Ud?D@Xj`RWol3#;7J0U zlUJv!9@6-_#j7KJrpD|;NWPJ}dRrR*g{|B2DfT#mZ3R)gYkc?TVS;28x;RYZKgKY( zb^ZLMjUZiHSPE)v|4HQPZSn02C*YPkFU&WSDWfaTda25lrdj)zAh(d3)&BFPQI|{O z+8#CCuEd1}mrTetMb5x+PwPi$7Hr6PS5B3@`mz#fAxH zyD-ASn3Sj^GZaa^{Gl88L2U#E3wyw>_=D;hacYE!@C8BK=r>iSGx70b9Ji7@{VC3g zB4o{s&}`DgDy|P@r?i&1WX2o}GP!7?HO5vfkci~rRheK+fMJEsMJZ-D1x5U9I-+^} zM0&gZ?leEc-FUzV+Xj)n@&hv2Rh=-uQQo34YE3){X9zh$%Gg;mO~Kic6OCy}wC_?l zCfLMzNzFMnko1UVtPB}TGg&pjb5@iFaEiiHsqP~kB$I-bEXCtHi7GdZdk@XooYqCx zbjYlb3Kf_B%tP}x5;CQmP*$yV08ZWsBeR$k%7`WH*$*_Kuh-nL>c!@j4MG~1i54Hl zU#`GP*BMAhw`G(j2{7dQiK)-!7>RcJfH-qmup*2CJB%jI$>VNS$;P0AwKp%F{LP-& zXeF0BaOda6{mL*!qM9xS0U2>g+`yQ?Qe-QHY%zT9!t{!XD-f(ImK%aGdtYa)Jn`56 z$4IM6VK#-`x4p^uk1^jS|K8F7zCyYkWxsPT4KV5IcwWoO_KgCniGidsk9uI$vRK4O z){N+Ycp3Do(S|X?{1_RrxwQswvaE5dxGFY^>bpp3d(P1MW<*f1IS|f=k z$c)Vf1eq{Av`D0|eQQM(V+$q8eS`rVNbbgjs#0(_a$y-8nyO|Co8GU9LK~07^aop$ zNsWGO{x548Wdp}e0Fh}HXSGJXJ- z9&yZ(!Qc}|sOAb0;|0&c2lO>h4r*(KWJT2Pt+j5{SVIcY*_2vbL;* z()bvjts-~A;afdvdPmtBqPS!N_a`Gy0u=6qwc4+@1O6YrNagHbz*#GAf*!9(>|vSD z1hB`-_Nf#L;Ix9&O6T)Ewn)LN;t-GbH;GR*>AzFgU9>Ft2EVBdJZThY$%G<$?Ch>1G20lF))4g7`1Fw#6 zJ*fqur~W4zbpWvq_}{i?B7A{;8B01!kE2RSIF~~mONPUmLP`U7Gq|mfx$u`6Ege3b zlY@0IWQcVv+j8`}X}VPDT%tka z?4XK?)NlU^dD?lG!i)r|zue4ZqWQa!<`6&Hx-NK#e25!j^8MLA&E{Ox$1I0$Nr0*} zWwZhTmdTArf$sJ7mx`CRyy4F{iHVjma;S3}9mRzW@Zs-UL}7cl_(BgH&_k&~C9ddt zJJD#ORt{QZ#0T~GOjh}i%zSJeBm5SkwN&n07+wHoI^ZLj9XO{+%1z zQEHLN{h+M}RQOoOgmV>`Lj9NcKvEuyJuXy#>t+G5&y|G0(7Z`1GycKaV(*DdBGZ@awpw_hrdE21h0J%H7*9&jDBIspCRTbX64$$_ z!^(vz6UB}^M&Q53j$+3(wY)7ooDu$oQvOvIj1r_oXriZC?w?^IWk(dNeVt zKs|eMR#_2IAH|Lcyz{&=zgQtL{5yoo)PO0Xs+3OL5E4^9eI%HXO%`PmYN>La*Zxg= z`}$J+?=Al_-188V0+0-=V6S{G6@8?M7ZCxZ@Q6zx4LIalM8;O9K7!% zrYOmA)Njf+MziemgM{iZc5X)eLsx}Z_jN%9Pm?qBn_+)Dlyqea%mfr_d|y$ly7c?b za9~n2rI~0KmrQ5^J_KNfk{8uV9x6T8ochyYf- zh&guyS_(V`|1I_=@N4>j!@7bR^nc2=vmyOexKfSXZfJvk;Qo_Qu}<2<(BYb*Y$TKlG>pO)0J#fW+(RWZIe zG^qz+2O#NDSsd`Rx6*={7wn-cKlx5w5LSU{J<%f@PI&rjKAlBSkCigSloO;q&XKE; zeI~LKT{4kBE)iDE@dTGu33n#BkcvuWnPN)`vu0yeaGA8(5r!%91rx<7fFP3GUM9$7 zMq4NdwOYlS*j@>Q0gNo907FMaO166o?^k2`Tk=FCVPGur33X1SC=( zqq#%epD;Zy_7Ha=mgwZh3eZ?dA;gRij|3p$Z45#AbxbJCjMZ(ng3Rg#KjzpFRJ7BZQ~hXAdd&3CyxH;EP}$Z}+Ma@cK?r~n(F zR-)SbF*nVu^@~+>R4C#8_zlPFDW;=W;vT@nywxkv+JTf5gcLn*o zA5zZKUXqcm;j-Bd9lxJG=2@;U;4BZS!pBO@ezmO}5nsA~*Nj9xJwsmfTC`)&6@*rs zQTmRj;yss?*h)GSb=}UHMa|8j{}68q{&&BzMqXlHV}0ZE-tkL4k~56oWETj99}LC1NhX>#Q@H! zQ8VXdIT&qpzx9?=Qqc`!A8PD2(Y#kbk)0-Wj?thQ925lp3u3`P3JDyxIC8-FxN$DM zR&>=D=3)QzZtA&VVxVyd;S9O}VZ*P^W5gqN@pg{awvgT6&M^+*q|enA+K&<1vCKN+ zQ?(+*v7o|4MSOYtr9Km^e7S429);Lk{AU!{MABh^$ta|}Z~GL?G?Lmn{b zAxs5D77ZNSKlsK;$KBGeiQutkj(mf43%4wQ)rvY=55D378_kg>CLh1{TYw&wVB3tMhOZsF#{T>J+1ce^MZl8UL}3rq zAea&kg;qly8d5jtAe-waT40*Y&)Ne~$rS>WiHwR9Wq3I`_qWn0qE{wKHppPnNV>sH z5Ib==wYmiXQFJCgO}J6&vsvW0KgBLt{!cRk~ZilUARdUjUn9Ring>%eMrehpV~wbK}8h3 z3&Sa)x@|pmzDO&Z;o6)4DANK&S^L`S#!l@BjEOCUcEtYi~tB}GnvZqZ7x}NVq%k61>w#tJ9@n4n-@A(MhtYR5zx_A&x zZjG0Sqr|mJn(Wn9&_jbEBp-BgLG~ei#nV)lTZ$LzJ0GEY{mYNL>+bkNDrVB z4k|>1sXsM#jmPH+ZO}t;a1!{zc^<_|psMWbv}6`y6*fL_u#v_H2DMC^ud49g@(%78 z;{r8nhpzY(im+`HRw*d{5xWXrpy(~nRD0IjG6{#Istt3uKnz47qzg!re4ko{jSyoa zSq?P^R&u^56z49r0W%NX1lK+YPb>rR9sML8S*%66zHg{NQf|&02`0{)8lxE?hDB$I z<`MU!K_$|*Zux!;H1mNYuj(JReN79>2eZw#`5SBo&gm(idlU?iKWLFy zs71K-RxUhq)F;_ZQ1}t<~l7v*8{s` z;qt_Ie8OJ(LM(d3e*FSlJuY4%{wBm*4qvwc^F{bgk=B*!0@&AMs>ye`Gjn7l;=V=| z#%PUJwyQ^uyQKt;Y8@4c4OH(V18=s)2*50CEIVH1SJfg%-D?l03d06p zm@;cugqAktpI0URA;YNzqh`t~2{{+?<)Gpg%(g$h^ zvOxR<91Fcd3R(=5Sq5k}?<#3HV!#ZgQ-YCmL!#hU1HBJ{l>v_G?5GvKUxcnHarBPF zIGlvWPlfG2R!V*o!G2F;fFg_uTYTup%$W_l&eTPDqX*65Bce=L>xKS;V8P9(erb8i zF{wrNa6<~x{7W1QK?7l$;7R<{Tbl(CF@9oUbTHSm!^dXY>(GBX(d_j$3MfVQp}E@P z-Q;~Pf54UV^pW_}$uT4Pz0N}plN$u6kM%wBM?9h{0}ZC2P5sI%OGi?FQ^8XUQ&B^# z@WpUMRW0trB}7*EgJ5Z+tnL6+X2o40SqpQ;PNgIfqYxF@4==PCEC27q$f>c44)PQ1 zDD5as^gunZowJ zlP%BZ#<8?A^YE2@4LT>W8s4%6)f-6kr)3L=Oe}n$5}XT~!<^|yvn@)kP-L|eu>rH0`>b)4lw`uXebCAfN+cO|0uS}?e`z{0v*M%3i3heM zX;5{sBMuRDW0DaPmaoK{Hb|msRSQXPS`zqPd`GYccKOFOfDx<#eyb=oCp@_&K6Vjb ze-}~4-6X+TZ2_@5IAffA^w`8p;<>ef%;~_M3FRA#o6ra{Fu*m2fZ*@U#7HNu;$C-9 z=T&Ub3d88xzYo?M=aW6&TAjNj`H!>=fm1$JKMxS369 z=BZS*STdVD{wxOerQ2qcH*FqqWtcbxu`Vx6`f8e>oEEQ|;NK%m{bsjC?pOziV#(y@ zLNq3|6ExLY(yDA4!6L^wSY6)2PEZ5{9p1>6v|(Xw-qM|*=0pqXHw!IZp+cjp+==B_ z`z4z=ob;eC37asK9l`nawPD54V-hn?UEV1@DK86^JUy!`%kkn|<13`%&CKd--3Vun zk`vM6-P@Bw;x{mQK|&kVxY7|jyYtF*u%Mli96r#kHJQJN9B(EL<}C%}f!?!t)fpVE zs~n{uT``+MXn$YY7d5*%*vZlL&)M4rLFVx<48u{-euLaxz_JkFgpSEU0eWfiQ~s#H z?Tarq`MmWkY$5?SLj+w>{kYKAeaqr{)uVgQ<75_`?&T+LR&WP1=Wa{pp~x<%dHqQn z6)F+%ji?rMf-y4fnEf(T`vt>ITKC1muH`qQEHx=yh#a_^4We_!-BI3RnS1U|vknDz z)Qd4fsa|H(_iaR;>cP?{O;N}3M!eUy88qW;{v z3FH$5;2lH}Ap;%kn$Ro0;xKR@UtBS4SL-<`tbAY`O$T41LbH1If>ijKH4Iz1E;!3^QVcEKGWJ`hNq@w5s(E>)vLvKq1w+w>`eqXwW0?l znxg}p6o4_yMX(j;zq-2?RqPdS_7+Ijkv$jrZL1SXO zbEENzLPQj45^KhZ&QR<2rilkP5rB;uL>uO_s)H9ykEsxf?Y+YRJEx!ImOy@m52;tpMv^>N zzN>_2gAW_91~df7(}cEijiZ%UW@^SWba@DJdl9PKCrOKzC$&Gfjwgzhvo{XkF7gXA z?%(4)Rkgs8^$(EB4tdXy#jPtAn|f8Z{g>tp4_53erHz@4mQ>)cD--a=E^a9ONlmln z7h^*D{@0Vp*n*(;Qo+Z{S$Fd+wp8q69~Qg0L7^%*|2>a~sthB+8!T`(p^J%@)8(Sk zWxD!D-10n`Rk>0-m1#xogMpVlPpV0aG#8P+-7ck*av@sAB8Bk({gL#lus)~BDv6JQ zfw!;a)W`B_*ASh1*)G~_l}?@79vyJ8l;4aUBCQ2vgCrnf@I+(ELCC(DnRkXGof(wn z{XM1kA_KRigH8Ul*wx7j*Ypo(*H)t>jg0ETh~~vWjzQ$yl+&`751=S;IqV8*=UNT9 zB-)IOTFBxd5c5X&aKTjl&tBWqF35H=nE0zbH!EwXkWdG`1e+!~4nUDpWxJjQ zr*jQQV4}!XNhy(fCNTK9T_g!HcSh=*FDKf3f)SGZ z9~X3!vsfs`DYS!v__cx{Q!K5_JyGtKVV;02*L}o2HLVtVy3k2EbOMNF3N2VXUDJ&F zD>wfNAP5|#G`y@lb7wp)(y$|zPY^Fo{pjAQ-55Ha;SgjlN>_3nL6lFE`BLHLDPv@+ zF;oyD`JhoD6$!F^2Jx;u)QU=^0&D-q$#s_lFDD`#i#f|XQ@SnKy((hx5PHCL5IWad z6o+y=u;m=_BuSls995Gg6!?6w#fP5Tg+Ep2DN}A9Z=g-~pz$0RyqxH?1HEP!3cjGl zL&dkj;kkQ4ANWM*N0G(-l832AM^L8S!niCbIv;D-`f*&*!e}p6o)tEE^Wg2!`!rY+xbSmXRf}*NnEn=zBv$Ja_qy?sSo*j0cnCIrtmfPa=B z`T`K{5_eBrcKX!7-VOlyg1%z5$Y)~ zB=Bkr1ORz&(RWT195D=FAn;=#t9d0W9&mL^_FT4b4$V@TW8#zp<~HXl5Ff5ltJLVC z$yRBXJO;VMdKca8v_gjQWhn=;uHy%YU6OP4z@7e=VV;aqy5CvU zTf_#E;bDj$&mKscs!kXH>`7LE+5xv3z?~2Q&3Cj;El~Yl7IO}?)er9%-p1wpK1$XN z7WNlL2N8-^wEJ&kHOB4gt*^w(JY(=o6S0T#ZSFyXyIn#J|kWy$lnO%z`H$q&y}a_6B&mE?inZUw8%9KWG6&=3OD> z_TMYoC;N(wJ5Ag0P+&&g`(^lP!o9;>mgBfP5!I0n_+?n%R$wXaDePAu*&NAz6j0Im zB^4@RN~w|iRo@PZ9m=a|cI;j-^IhU69MC!$Ck$hkCy_q&qr1vvKDrOpTF>G%ENTY_~trRPfOB%VZX zlVVs<7ZBT2mTeAI^xabSqNGbd|A{<9R8H382ZF*URlti@K7We;(QrYC^SXiwi(^MA zz3&730wL_SlIu1kDP^5=t#uLi8Y)`uMJj8Z_-o2oZi`|LV4x(NLI&@L`p3vL1^`sh z2w#-DZGijLe})??y|(=vkVZh4KivR}6cS@eZSA%X}m1>NUCnn!)AYk3=v-r)S-j8CakNBS!r$Ox`?@=Gpg&`oPJIPvaukwW}1z;6o~w32%pa?%rRt^UQ$B} zwSFbhDsu8}2clMsLKS-kjcz_$k5-!8hHZ$MsmA>v7@u+>qZA-H&3TX}X*38_6hT`& zOhiM6lE@A2W?$vWFv_0?zGp=KvJ_>LJ)j~MnP?&TlU8= zAm3&GQsN)!2aL=4 z(_3B_`T*qbnl@Y~9#RkU>6 zDSJRDH3w=~#`7%8VlC(Ztzs`#69J7V;;o7Ax!HWto^?_}V_cv0?G|#~pG`8~A{(T< zG#_Wc0KHlu;z(N7Bg1dEuH&GiPh;`Ww?8Aa<2b;fK^rC*gj10;C9K(;uWK7#6eLSP zp0PP~=&4>Gqs1aN7{n{lXhRMnP4r7b5Rj>D4EHrXpgRntM}FePlubSV>pxdLbO!#X z&&J`*1-cJVUX(If^idGp`(mt$J~;MnY$raBLq?pWY*|o#^}g8^UjAGnfMlgv>BE3# zMG36-UcLj)xgrV=1x|c3UScoR0uG$7(nf9Qy8?qlC;g^=#^Xu)Yk8}RGRx(RW0VrJ zdw|zWk03*{CJ^uMWS%BKOA?9^bPPZi{$$_bH8}r@uFvqXA*IpP9Uamd6{7EtXOOJ| zfgCoOPA1Pxudk*^Sa^m9mgVsVe~vY$@WZNGl$fUS3#3{JtE@4fi749($zL5ZSD1k+ zXHJ4Du;el~#b>hl3sWEl-wHXWx6}crwG5P}T_fa((^Jrp<_e7#l{ajb-+)b69V^`haj)FH`8!% z#iC#WwWrw77i-uFMcTo^C zP*smzR+4??h=j>uPQ71Kj8p7I`yEsKCCV#PvhbtSk1L1^rn~Pk^j091yzMdJ2Kr`3 z=b7mcsy(iglx}x*;>BOAH)iIT8wsRt0ug}9TCn!9<%vcI`=s&7LRdU0aR}DQl}a`2 z&0J98G?p1x5NNGsrDsl>AP@FoG_%Z^t7<niJ5{AK>X=(?#l2b6i z5lxWv&VR386Y>I&LVcuf;VoFmC#3P(sSn6W-n-snagjw!9t!6IW)+s7 zc@Bl2thXaeuMkne(#+o5RW4>W5`ddDBT6QCnxs+RLil$ZFKo9=7^dd6VMN@YFQTW2 zE7YrSI>y8i7C{&}0}& zih@S&iqA_QTFuen;H~R;*m(o9kZ?5?N(VC_2__gAavOG_5>^ z;iEsVSaZH*vv+kQ$Tf+!mF?_*q#MY(MnUNNW|`9&&L{JCl!Sb)P^eCb=TZkci2 zvr;mwT{|J?ixIYY`TZdIf$foD&-K!iV_s3nG0JkT10-L*n9_C)2A zcjxe+=94G13PM!ekl1y-Z4w2|`o!r}7Xq6Ei4UmJ3ULQCeSW7xO`1uT-JN;tJIsP` zE&}jb2VdinmKNRkkNt>4W0mo|oDUg`{%}YgB+MRP_#40hPNg(`T^Gs@`IB=!^>!ZW z`sV+nje#5WImbST^h*RuQSkxM={=o8uZ=sB8=)`*g@*9*oKltkOv@+ZVj*b4xF@rZ%RI?i z_B=J5?DTvK+U$3&|35?>9RHu94rVS6HtzpR)G-lzFy64$*&TQQt28Qi9P|kS3h|4) z*!As&xC9k-1^%W;q))LbZT&XS8vt05M>U~FytwZl{*ijdk< zA_}9gVf|y1lWhBXV)qr7(w_D+EA!v;l1t>B>;|qtpW9Byky|gux)gz6Wo=h_VB39wayEtTY{>mJu)M zs0xt!rd9Dxt%yHv(p+8Wa$&(GC+&m45b|q>?nG(Xg9_80A&YD=77(16x66AIwX|0n z#Pu(}n?2`PR`1N=~pA%PiL;iOM+>Z zqHb}~lj8Tm&vz~7$FTb*sq+oY=k+@RzA~;liJ9ADx1qj%vXIv@`v(~$)Y@_ z%)buK4K+&n4xmlZTy){OFJrnC+lput>z&`wF6n-H)SX_nVX)+_d0Zx523zsArn_ zY&1+RSlERLs1@g0S)LjqC*Vv}hAJWPLF#UZsdF~Og4SNGTcrI*i1hR&T=1m5O-y#g z4pC4ep`^KN@fH@`gtv1muz`eaA0&{*D_Y=e(O*#XY4^y}>43c}EN`87pN7&KMAB_{ zr?X>@?0)H1TR;VPpriLMY!o2SPpQo4%4l-dO*Oj^eHt?>pYd)JsXDiF|K?d|8!olm zEHyJWYn^f01!a?&JBp@x4|D0iyO3&)DdUOnzcg_Zj%tFK=CYfmVzw-)dV*q4h}(ms zv?3OdR4gem%Un0{l^F<^0j4!fEaX?>e0v0PLtEQ!XdtoityDF7yr3 zE;B@HH944F(@I{A&-_zg*!wxqI|96e7knAXJM7;PK+jXz0d{`hGwWNR3K{2xl4Bga zx;O}>ZR{-C0ndRIfad9sXQeA=o*tn-4oUNqq)FW#wK|*W>Cc~uWGBhNI_1F^NzwF% zG~e+3-w3T{KezTkB@`8wxCpfhbtU1vf1ahA&}v-tqO>8^=F-H0tA-&d+{zGE<9YaH zPyi?K#4FAf3osf$(FfUpNKwYLu&7UHtIQ8K-oW%F!tS7m0?7fceqs%Pbc&PTJcoOad0(c%MJS^6I9SJmrt`YDH(0gX7(L{;#xwB~0|!m7v#?h#(Kc zYC2s6IitfaaMADu1XkR-<3^Mbbw2SB=$FUj_PUWd=o7A0G>kW@m$^Tm%O?HGfrzm&=BOXG;iGXQk38onykr ziGsyLO-ubB2NP#Bdj2J-3I&Ewp6@Quw(|u2;|W6eXVG3AB$DUVKM_K7qWf4s*lVTk zD++K{Vi5{tPxcZZ0~oPwP<$4={<*w9&i@pB=0Hdkkr*pw$jgCOkvwCxflz!QGfPit zff&NOR{8j9oTzcBBTKyGi*mZ;51GG{_F(=(wi>Z_qV{GN9#S*q0OA7g5H=2BFm8wtSL!{!`%KW>o50~(f2COmZ{Zsc)&z=745g(Wd`7Uh-gO+s58(SQKXgbvhfjl>;OJQVF|fn7<|0t;8|d?YT~W;KpdNTC z;7qZJz5}giWXAshi+L+B=G{SDf$j$7%E4-|-zE)B1Yd@K+qrm{w*_ktjW4_B(EA6F zNDQ(91#F~RbYvle?+r{@6Vv}TzjHXA;kqgllo5~m2}C;oeSc(F_H4i{I7_+H z`h~Ch*KP>j?}h4%i8&^cAh5jTTjMw)$%b#oIP5-Sj|w9&;nP+7Y=cx%NjFE~z*u7e zs=(L90YOW7V*R@$)Yf>h)4f*^9eIun7q()bU8$rOE|yyY?#s_>K(Jw`9}YPyPs}0B zCwFo}U~kIfsSk%$5F5(fkcVHVO{p)u6DD%0AB|ZARue7;es{xy;o#qdKOCPY*`*I? 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%0D-B_~Z1P&6g8>y~@{uDw5MB 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

    DB30(2D|Kwa^rKh=gQxF;sq_xR9XJ-W6c9I$%( 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

    yzv8cJ%{DzvzG^6_upkSHsgGgBE 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�@+Q?A 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�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
    dz@{uyG!Jj>v@U}!c9`#{o`4z{&K6m`$ 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

    y6GhM_*k&;O1d_GjrM)jbVGo*rq2Z9NN8^|3Q zVD%eW{+!SS%%1KCPJ~y1AmMm%=oPw_7cV*}A|&0E(8Lir-r^`=81Il2f=R+#e#(DJ zjLAOg&V(Nx&9@dTVx%7K45N$T$?JYWc}akzg5)O4^2XjF4&mb3dqNm@Mbdc`jxfV7~9}U6c^(tgLcaLuilLVkufsca) z2pkRCJ%{3=0Xa?Q(tl^;_aIJWM7n`{$;D9o?h~?_|qV~#j(R@MDNbK^Xvh@Pn|EF~83ir>aSEcZ$JOafab<&0OJ8bL zt(Lj>N~u&s*d(#4MQ3H`%MRgMb<+t!j|sFw$>v{UtxN<(jjiVT_dHAxs6y4N=^Vsz zE?btje4QE_uN4?d>I!DgJu6gGlK5QcFt2sZJ^f1&EP0wJ6<;}7olKiL^v_Ubu&vUT zh7qkPc{0$`OLk3>tzbmHp^PB=C@J-L&!P-A2vtgdJ7>a~9BZ=_w(u9crnpf!fag5C zL&=CZO21io&yP~>y6mRGx5@KMf|y6;L}He^=|iA(0JAMB-taEs4ratw`?{TZb2504 z+>c4@MhF*f9DSIX7+rqY}&LQ#zC53c!PHtoDlFSUVDVNGC3ryNy?kfX7qiic4Vh z=5+#6kk3|{se}UDuTdXbQVpGiqGJdXaP=C<{#1Wv_DPA8Ki7 zN=gEJMtF>B^%Bv+R>BnvZpDPrLPt6D^tt?l95f6A{EDxwVh-3SilELY2y(>8yp-io zTdooB`dyrQvi)Q$3&euhmGbs@#h>MwueXhF+KD(ntg;edr^!a{I72% zT-KW4o4k7I-r_QE4S9xXoWThKlgy!8!oht;?taY7!69T)oe6lFfyM1L(60TAtI&8IY@o6W2PUk&MFj4*hky3Ngm>K-^a}FH_N59!KA$|__`-7$pnk339u7~IWvy$fzO z^%d6N@q1=d##(+77nH{MW7WcLm5NfAvzIK|&boW9bvS1wT!T{ZFQrExV=`cy+%G)V zFy=@X!@0~{y8jj1oO zIun}-sGR6P=f`lniG*bEDbjN5T+JE2(2)h@(5vUc2qoyI3Ylp}a%txP3S$%^Q`i8` zqs*pFbQ3-SX@RxM=-^IH6i{u+Y-d@y@oTLyE(!Kq6#ou~Qu!i^LJ}qO0EVRIUN}?e zB$xnPx8wyK8%-FTC=bEQpPE+_}VoFfAwfIW(nZp*X@dWwVU?NvY)$c_q$K~&c-`pZQl5+ z43Sl@cokpOKwi0}ZV6?PSc;fmx?$R%1%4Luo&Gk$Dykg`(@IU!5T*V0q$KGP%SuY8 zk9r-!v1QyBm+qMj3sw14BI!};@3E4yiFR*e>8Kv+~I$+=_K+0SO#$NX5Nh;}z< z&}G`!4PhS5x#8Fk^j?z?{@cP07}7V-cbX2vEQnPO_j6~vKR_ViOJB`J{_PWo;;|B8 zhj|^W_G#erep2lox+I7>qj6U`{PtQ|?S6p=Ka*yfK-HEMt8w?$Yzid(_*xj^y^hg- zT`|o=Wl6BcLp8DXc~e9w>q8-0?53pRNg>)i_$(K}e7^TWAv!H=HQqn_}Nno-TZY31m^- zJ8L9z(U~Pz$>R6G3)O@iu$kW1-AWFV2Z_xn-&?XIkLrgyEAqw=Hd(qJKHT4Ll!7KL zq6`WWn_Qzd%&2ePSMsux_4Y8SPl_D(#-?4O!o+}-6IGLFN77-g)(I;NNP<<) zEa#h<2)2RVmFM#xdq60YYNw15NmSE4++6lecMQOiF>Uk$A=J>kuX&bQgeyxlkCT+1 z2nIdq*m&20UR<1vc4TTDR-6dlJeA2eO2zD-e@-ywVmyz66tz|lcQcTpy2a!0CMLy$fXviTKBg}>+P0s73a*8 zx#ABh%i^=)y`+|?L`q%$a=c^qJh%vt!w9BsV5oN+AIS0hHmYuDxv>u%odw)t5@SN#Ho8KLls=Edg7Q=C=tE z^G0Iu$;R|EpT3Lx5NhGTb{rdbxsP&}{&LwgGxRxL?Zb3jTh*}M(MAyYrXO{~kNsd* zalV}PBZIA)7|T+w!ZqP|lE$BvqBup6_F-o9%?CE#gLa~DjUV&&Q4rV2^mE?RJ7?(0 zer#va*Z}axR^h1@q0{DKAD^Yz-&xc2`g_|0ePdiE%*OmyU%;~g%=b=yur>zq@*)L0IEXFo$8uX%k znSuy|^uWxG#zm|-z?Do5-*Hh|&_t|GHYx!4-8i9Mz6hB0oQSQ0OKnUTU9olt3SD!( z_b0Plhd_pkYleI;#UyEa%Ed3503iu0j!qVb4)kdQr^>EU-9H|cj%6F4A&ElTNMD|q zhd@(Vv4G13$<*)oZwv(_gSQfi9aHtZ&|FB2%S+TT&)u0V&yX#$lvD<7bnUTEy60Kp zCGhuZy*PJ2nlLGKJyrgnd`8)Xc`?iF0A7nY%&fol*`ONCIPjZ+(q3Wf+4%YaTAWRp zLS2UDBg@Zik4yRVym{mLG9Wh^<=rzi<~2H-+vK2jyc<8XfZ&_hsl)L#exD(wRDu!dw>1v8m@tl)*b_n)Ck>TWuQrr-9#Cv>td|ay!BcED-B_ zf?JUt*l2{STNP0Vte2<%8h@;8n){9E!XYnNLTY;9OpBEL6869mCAP3DWGVYYjvy7g zfG%dlmDuXQnn+eWN*vS{1TV%Ze~;<$iAsm#`xma0@1x7^!Y0V~`eD{Dru7b2W~_Qg zOqyrh)}H2`o&Gs_ouFcI!Z@#pQ+rmGz+lm;ddnT>2)xh>-3!Nxm8=Gd%#LJgWXU|f zS6($5MJ8+xihO9H1BW`Qfd@X;9cNbMm#isQpV-(x)@i|JpD##wcl2;osi&G34ze}I zYC&6Z0}+;;G0DK@TGMW^=F9kyLC^fAd;36GSM;qaja}h^n1ScSrUtyMej8Jp{lq5a z!5k-1Is7`A>kG16#uIx)<8=S9m0h6=DkYDa2aYzeB zjS-6phg$YR$`%~C)1~L`%SBTd3aG9)N8ozI41<&fPxq%xPnRQAhfhd~pMFPIqf1+l zOzC82Zo}O%lCD=Kz5bQ(OUdN!#70W&5#u61{x0kgjWs(;$Ra=j4-;Mq(Yk3Eqa3UK zIu43>H<&<^8+JA;glM+lTz1R1%o7zD`V;>-f{AUN0ER!SoPX{zSJlGdAL}~Dv_K|X zQu={IDI}7XReAVLl#5}%GHdGFb*n}KBT}0amTFxej}7^hVj;(*rRS4ypnS`o$WpO| zR2Ti-)5b^!64&u=xA@LM!tpwtoT><#tt@N^V3z^oR04%PN#yV?`OZA0pJ}${kO2l6 z2d0V3MI_B4HeM=j0LynrRREu{NzQZ*{$6MXSPkni_)tkv75VL+;Y5-cg`Y8{en`ei z%M>qOlGg-so`-~plf3A!o3O~m!X!|49opx2VpyMKEki2$qDac1vD}D%RU|*7!AJ6S z({7{*)7C@z-3+D@0k2SHs&SnE()BiH>D~@Qz()O^H|hLlO!Gt%>Yc!TqkoMltJT zaj~A~JH$-F7y_M@uGFV7OoRoO2E4_ELoje3(_jWk@4rZMqdpkl#u?d4Ipp`?HtY6c ze4#qLePEK9Nlj7r5z~Gf&Onz};;^C>NEs}R>p{n~&5}M>F2^6b&w$lroUx5m<<-Lw{m=idVVv?(8 zF8w)&z{bUY2^-~LoqMg{bC{6{)H#`Ide~+LQF7}J80qC@rsv+`JH){@R{(fJl?=hN zR(yP;;3g8_W9b79YD7oG8*vTsX4Ki|^2XX4b=IxBbwWujuhzM7ZSx%506LVZBnOuw z-=G0^0DWgZ#u$?DKF&W!H+}B7zk0U>4jc`#3K41oAne@j!>*lw$>E^las-BJ|GY_*@L*WoE7(CXPfC+Fz|>>t&}lb%Y~%fgBTMGBL}mx8mp0l( z5`x=Hwl=(#Y|^<&7HRE>{0*l$?N8qP!}fZrvNaed z-)a9!xfd9c*zGk(t+RBeh?cruk4_shA%6G`d{qj!730uGorTJ9Z=I$6>rZ^mJQs}i zFEyHMXe6cVKR!u?@)SoHA%#R#bgHUmO`G9xc0+8CM<`wK|1nKeTf}FEHK%_W+y?CfAni+4M zJQ?G$r`P{F$T^*8D}DI{9Q0gX7hGA}uwY#rY_n;YtZBxqX#T!C&oS&n`Bi`@S_@}^ zrV6v;UV5+a44N6+E^X3zH2BGD{(?jsbK_#R3>7UwHxu^-Ph{Sj@2sLSnYTTXM(8CP z;2P;*{~oyD^Uq#@5=liw=IV<+uzT*Da_ZW;EC43^jF!3TO?1lEEIxbiGNoTQCxTqJ zdVOAZ_>x|2bc}kz9=TB)0H=asn`O^n%E3yK%)Ax@NuB=kR#CHze&PM^t%M6x(ShMq z%EXiMpQ@;N!6eADpJbp0u!>h~)7D_V5PV0BM(t-e3&pGb_-feo_m2?=_C+ZU$L4d> z=je8gr(la=Um>nT`qFc5)7CN`1O*C#lWSH}w}#mX1%iRgoQiY^ngw;nPGIWpL^#t{ zwl7$d^Kq;{AmOl%;Ei6pXPAbr#_8eah1ncNuF_*+Or5f~5ujquJI@?rdxTQVNpi-n z91lv2otP}9a)aIe>t7u`M#j1=f>}xjy>wO*U{@rX!pAs*0*8mo@nFgTcskWYrVMW{#nyUJ@&)rc@L7b#rkydaJQ!?0*yH+-{AZ=$-vB z84qVmc!Zyav(qsdtFa~|9Xb#(|F0m+T(^AHpUMNsGyPixY|^+O1NC$q=8RI_rVf z0SfXo#EA87S*;^x>nZ~Zm@oQpjHv6wbL4li70%#^USJl$mL8bcf_IJ3@LSh?6oLxb z)799)ZA3vgB=vZ%Pr5H*Kk#gW+x5HzxXsDs%GUwtr54c)P0i(FClt6fd#ly8ia$X6!ya0ehOlMmXYiQ{t zeBzyZ_PpDhhbQG#4s3L*`al~K~5ii-L>C?pvaEYhhY`r$ZZCMXwP+gE@qjb5&j zw?2Cta!tow^8{^Gns8sJ!GjL?XGfu9E*7N(dC;XOpu$?kF^6AO`b8C?eSUry&> z9KeT6((op<4&d7Hw5~GwCN`)>(|*vKRHm&e@}pE+%X$tmD6|wE`X|wC_8DV}DDgN; zu49iQd5WxOfDmQ;x?4TRD5~HDE|h^{z%o)5rO|Hue>xA2JN*i4cy^mdo@6@bUVjbA zcv1V#230^}Q^Qf8M_YjN63M=x2~8?V!U7TMl?nc@`@bPQJ1qD*61rfczl-&e~ig;OUME&;>j0TTdXl9fj(t z;%XfAU$M)YS#0o!rX=m>X42*{yyVIB2NV9_HtF2WDyG_Wgf)KcN%+7H@rNe)JFfq_ZxtKzG~gmI0xT z-YpvPS43>M2!`Wh`c?608hTQEI^2N)fo&h+CQaJ9r_aXe$YkJD3^7RwUeC#+jyv_w zKU%GKMUr?22w&2)Sn)o9aSi9^S_hmT_>`!1dKaK2IMeRU-z4T#(j{#K-;lKFb2hwK z8@A(XhetV^<}K>PIzOef>Fr^guafbbkk3P*3`oMO$CkU8())oT zS)cCA*&tZ*b9=Fs4X3FJHfPx^=@LR{$ED7SnZ&nmk<&X{Gpy`A_GikmXCKx|7Pj>#df)d^Dg{{JojcT`EcZFWCEK`g>w5LaOb4fCNpa*4Rl2w9PSD03{hD} zq)cp(hv4$U_QUSloIyAqdJe?NcG?wzT42#SWHsRP-#N|o75ylbcM~S#;PZt@H%b%e zr)ENeZAGVNxBKxul9$`Uy1CH=E+w*|jHtn41II8+^R7w;ab=E+7Osi{T>EUWD0YQc7cej>05S{MF7f zTVqlErMbwx1n0>4)cNbMjc%3*pRKo2+g7Uv>#bZ_c-vh;)0GX{(u9|?RJ84&a-?rn zOf<#q9qpp$Km55jB)W;5fTn5dkDDU@}m* z^Fu)6YmW@On;jC5FSA*(DlFdt@Km`>j0%nrFX29Jv4vU{uME7@2t1^xFjltgu`0%F zt@F1)oqWmY!^Kgq@WQ8Drz~g*0-Z!#yad8GlQvXsnts|tMR7!is^=qZZ{Mhn`=aHX zvJ;(V43GNR1tCN2R&dH%!BQ5v z>+j1dTKli*OPZXHx)Sr^e4TPCEt{jM+-fQTs7#ZPp z%bC(_6d!|iDvMM=x*8Sj3s<|b?1_CUt9i&@Ac%iTEpoJM&?lT+G7Rz<$``XP8=TF~ zS@AUf?kbdWtvyD2owHUqrFWHa-Kl&G0%^vRT&bV4-q44UF&p9mXG z=;8k}YBu&w=TO@-Y+)$mrM*ko*vG2rT-WDSBnZeZQt`=$fEF<@yo7@CjBw=H``2x; z4dKN^SulVKNr-5=NPheJ*ZlnH@Le{BEz~y`ddtrokzTVFITx2}E1$UJgaEZDE z8RkPA3RQ%g)p8l5M$pv8@dP}>@mMv{O*hRRiYI$x#n@Z^F#u)v4iMcd-3R)}>7&Ad zC_>6NJ>P&6N&P!Z_w3Mi%=ib`iNA=t&?jSN0SSjwyXZ=9j4&yZq{s0k^v?KI2z|`u zuc`LEFM63w$fGB^d5QPWe;Y7Fll~bS5u#B5g3h3us}PV<(yF5n@XY2Z0B$)kT&Y6% z5Cl?=jBZXa%7!kXG7d|vkiG>*>FK2gj>3MIO^x(WLPI@g@PxM&SV^tWGKPPmLKt+N z4?<^(?JIqw63{aEsEC-$;J0If@bgL!`G-Wg-E(4E-?w+-MF1+(Pn3j zbKodJohyqhVd_m+HfdtJh|!+y6}Lbg=GB7R#{G+?GSe198sXn~BU8_hLMEXdR-gS@ zoK3Z}Ec+u@cepX~K8$4i6TM$zQL)LTxq76~?!lN8<8daB!@whMOv}{HqjOD4nxuYN z6q7$5Jb{Nn`V?oMQ>0mY4!TGiL4ANa?2JJk-qHx13};`e{j$}dew2_=G@2F!F{m?; zkP-0kChcO2M$J*9M?s|2UN(Q_#pJ_@V;i@8d_cvn#N)k_GGNAYy*Mol27;`Nbz_nf z6oyTtsn1&O=Co%FQmnj!7@4R8;iNQ^_azbM-R$Bz$b-RnZK%qhdl|o% zT+u_F?|_%IucL4im1okBCr*3OUg?CBSSt{&n%N&lyicYW9BEFv4kvSy@*~_rcRJ#r z=hRhsbe+L}Y^Zx8*t!Ltu6;ct$-QGgsVn+zNaq&H>Miq74`eO3xrqS!UEup0;e7S2?U^&SZQHhI&X{Lx+qP}nwr$(CedqiB-Q@nbNz<+--Cb?k?52CK z_j$X~cH5Q@#T(u%OY%~&`w0%Tj#*&^DIT>wmFEhmPR?XX@JB}Z+KgC=Rc$p?c+eF{ z=*Au|G=R*F^&4$eqz~=trcf1To-W#EGfuECRTeWwxK`YEQpC#KD=XBqcRZqP5;Z<= zkNow-Gvb}kA$d!tJj-KV2J%&Yy>q&@Aju3r0_rpU__#4`FqX{JL#`E8$Vq2ua6?N2 z>B)gwtMm{iU`r7H!1xm2Yq7=Cw#6%(IUpJ1FK$g)5yaou&=@R4!rCsrSq?ceCQm{T&eTtLWv2q=+@56 z4H<9=qRLWKji6(gb7g4Nu&846RBiPaA>k`wzCWOvQDCGs#bAx?CH%pA9rXvCW%(U4 zSn~@O_X_Bp=*V}W#1^0a4T7XWKubL;PyBVxh7!i^frNQ zgVGIx{?Q^Ah^|_+*W6$xR3Y|Z4&ctB7o4uIM z`o%~|nhUJcvvf;|Ve$LeS#FJO!KZx-IUb@{8yn*7?7+&F$Zt~_Yewv;5$@C>Ukqu; zW-OZ(lrTxFa~4&lgDk_f3SE09vs#_bafa5CtV9JOStf?q!YpX?fwr> zk@WBj=i1GH(^OyYB$aiE zAtno0dxyPzAFV4&btbh2^OvdWsAA*ZT<$rEiyy7hc&j_<5~MbM&uowGf`y;QI&wm{ z>}_#3^A_XI1s4okw;C@l;W)zsu72uon#iOMOayVMw0ms)WMsSo0x7GY;TM&!+mQva3Fx)* zYgGkcGdtW`p)qQELPgvN8R0k<#eSrc02)X=w}FP#0AXz7Pz0?eb)@N^<&5BXxc(M+ zdUO;S4S$eWQb0}Gt(eloVj@bzR{!M8Dz;N+fT6S3&1&eAg{N~xtd)khm`#z?u`x>g zaktq9pLI58`M0mQa%3{7X2`nog8nl0qynx^JM^&2f3Y^Ibk^;&D-NOXu)8szbQi?? z`qlHXu??YN)%QVXJbaunt{Bl{QD-${M7Y=zhauBM%^a*m)cPm-^=^Z#mt0`a&a<*| zAyiJowrR8qGQ+o?VeivKvi+pqp161QckKf!6KW*?{5(ANRkF!{h@f8DKxi`J_!~hv zdwh1X$`=(e8z`j;*Zird<4iI`uOKoU^Yl!MDo2XaxYp7KBEvLIek#>*q}NwkW;FU3&RPSDMCSvs4)T5NEc{ zL&=Fl7cMyj3Say6&Kuyn(lVlmFS3>1uMCnc6v>gC7#1(NHt36iy0KjMI9k+XDL1Ku zV2oV32kio;!QxwVNFF*-JzZk|axve?X9T~>(C;MK!|5GVi_4-nxZy0P^+dpGXz7EJ zJ$79E!Egv@cb5m8U{EewS`xz8aO@vZJf}R>)E@Hiu5Wk$2i?u;^yD!wc0{Qyf%j)L zPpvRUQY&yltfA)ojcZ;E{64ZQwqPPOhA=s^oEbzyyt|%4wtKQ~sL-e;qA+A$EC8jl zMjUTy2!4g!LN|dIDt3ZS7SAf+;Bjs)8gtC29&UM zXyq)coLTLl#tI3ahLtoc-$vv~{r0DV?0++-UNB~Cf2({MYvStB0qsCZ9%=#_xtLdF zB^J9@0;z?4z824@5LHyfn$QA;=dxH77!$$gI@L1xy5gGwzs06De_J7WThs?%osF9D zukDS6wDWfiq0wtX3-d%*M*o2V&(`$=)+i@BG7_hJMn$I=E+4C`tTRKs2-o(!v?ACZ zDVnIC)927c&{+KP=e{F-`Ptg?*LC4ALj2K$_cL$8B0M*{V@O(CWOe@3Qz!p%DVT{Qp#fat>n%MD?q2k4{7R4v1(ve%nT zXr4q9akWNH`M~7B4K}nw8$+@z9BBy!ULcE#j7Jz!%}mxJl7oZ^kCohtLwZ zAT{aURpm5c#dy%dKw>$6h({5p!ZQihk0qS{)lgag0w5AtLUtb`Rsd2aJvc#!5p{7H zHi+;RiusynSa}2Ny=~Y#+aZ1{$~F1gt`?lX96NhP0KVk;TVMeG2LD;b=RjW}b0*@~ z%Vy1dXBgj1-9Hs8Re(gpxnSxD_zG0}GV&2ZN1!`GS`*BrKM0xF5yxN-6`FR`tTtKp z)R=T>C_43qbt0NchILf|G{7b!`=t~=a3lM?fX>vk?yZitt99(DzeR+U*b&|d;aKW` zCjW_!gX;12)Em9IRCY$AMJ^y=^os4EBMt2slvQRvk+CD1yeq+ddT)VXU{Zup4fRIh z!T?f`ay%I5MH?8ms?gB^L9Cq-glF{hd>@4v=(PwwanR9er|vmmBJlyRxai7Pb50oO zff}KYI`M!SZ#S?5iIH=qwX($i0#Lw#1M@GVsDRjHI{JTPRL)AzbGgMRekI!c}s znYR5U)!=1f=sz(j(=0bX2;;kimwE-<0kXzh7B^e9xqgOY8v3(onPc2xJ6<7jrNTmM1*T`!US6C9QC%((6o2Slh0ai3KFoOCYcsC> zbnj(3nm|H zW|snZh(E*ERMiiLP9j(doJckO9~-=$NC^tQVV_r^o@o$h5DcH$QBLLSIf~*X@2eb~ zn(J>F6d_B0b$(1}jb;6Sl3>95U$qW`llQ-L&mo(3GWj9C>dIa=m;Y9^`LGHgm@XXY z&_UsQSNPAL-lQz>OYHccuh@#`=3F=MsF@zi0<3TSgFy?T$s?G+o$^Yj-ABSJiA7gtZd9|2>P-+hmGbIRveNm@Vh zwK90|g)%Ksc}n0{b)7a*ZbfLAyGguq73i8~*;9BC8fW=Wi&JmIWbkVD0X)XefC)R5 zp^3e-Yg4cWllZNbH7Ej<&!$KVkL2H5+84CGa0&BlycQaK& z&(@r-ZX*8vWN%pVYd&r&8U{!0+an|r`Q+Msz@cPnfF{*yhAlH}y3bf?Mf|bgVG_jj zjOAZxxNKD64BsI&_$G`}qatZ_0_faO$QmpOCe@}^lP_mSO;EODZAaBNiEdahFGa=k z^O6d(jTG`I=7S`pFLW*u1#Z+Vz!`b-uj{6n z?|0$ltVlc5U3)ei$BJ1EW|F?Ce(@>3_;NmDH+sor@nkS+!L*90+CycM@w5KQsSoZm z#jOukP<>>yaIN2GI&GP^8^ZkiJ1Ww?S&~ty?;>?m7yR~+QnkmS=&eztLk!c=`o&Sv zrbZ^6(-dsM74&0f(TZE{)BJN!RjH4`P^o{%#H$CpA+9B7mD|K(S<2HSAHa(PSASZJc!<}6zdLj1|rld zDnV{}T2F8ZYe*TL;E=avq!npy@H_XwwD5{ zuO>HDn9H(-M9fMhwEDJT%@$}C(u#)FFW6=YL1l3jj&qsR+Tcu|Rc4@5bG3_4B2rgp z1U$A5mrP&S9AKp%m)~~f$f8ULji3v_s?H-ROlM*jN;M(KQ@!PUz7m!~;EyYCo- zE0vF9#eqqF^Gkuqb(@zD!sN^$O~l$sCre||QNRe*P34wV52=F2S$X;uNe>A-jE#P* zX_62P;5B@b&{UT14i;*ibtflaJh6K2lyUSL=E#j3J>&NuGdOF{CPHfn|)RZd3r0RI}DGltv5&uN)vb z({I1_lVybh=qHgpC^hKqq4sC87`z(`q~__$mRS{h#+3v7V$eViV}t#+jAnT`*WMka zeBZ>@&zlirymWfRoyL)(t`=~*7p4m*=}VpqI>}k8kBy!|Fu#%wS;80#HiymYDfn7mo|6y;NO=b-UFt81 zYUs0=t?a9{E$O)I6t9avpy#djG;5-!Ia}0zNyRieMvW~@M3~>kz%itCx-YRx8-H2q z+x^;c`-9Oq=q;yn`awr#t7+X0ebg_}Qro~hi*MX^QvWr-_?R~1F}oAyEvE?Q(LrWv z2>TgLu4B9WT)`}p;=z(jSa3apdmT%#JB?x#}qG?$RW-K zf=#n3q>?MghlxFZ1T9A^MS38m`Qz8OKuf#9z`KDh!xf%da6`Tq(Ror(;fjkcrH!%VNSFN@i7w~CR zieD>=5c$AU*t|iSlK)39k3HVcchdY$B55ve*hoCQL`(2zck(HTI^EJV-`u`}s3_1> zH-{iKScrrZY&NF824fl`w-gpKFbIjBN_KCeMa*B-gijG6cb;QPGwmuwPF84c(>A= zB0R;75x}JW<+yFgvC6pfw^cZ^`ABVLxx)4NboI{wi z?_U*nJDqwUuP9oorN7-wuPwd3iUKHLv=sez(FKLEPF%r#3WG;_xtW=fvj>qWXR)Fx zp28o>4kzHmx>x1&oMEXm6ReIW25G!TYBK@vsH@V#E_{Kg)w35=I$sJDO#?L z=qf7pZ+CCLNKogT%1EVoEm0D)3X38J;1?7Fcp&Sa`8r#AuQwLB>TjN z!Z4Pl20TQUeEO!4mJ^nKvi|lA-__+ZEq~Y&({{wUcaT>&Z>uIM$z}%TptjgmwI4>f zD=)Y$Pl#p??iOKz7x>b=cWo~y9B;>N6ds3pytYtX%F%}x{F9x21>hwI`dGA|0i3%( z4?d1RC#qmPH8g3vbWWg1I;LKf#W$^=^&KGI1?l9* zJ8Lla^g|zxtUL(X?zUg`^^n^}(U$U&+G+HjRP!;~MhV%H*k)ZCyVKfgU*^t$ zR!2nP`+V;wN||Lu9k}}JVpgZp!D#6U@4P+tI$^Lrb6`76{eV5;{dO4copi@eK`3}d z-+yn6Nue%OpscwIhz!JqG+kgJSxBGti~(9TbybU;IUg-d8d6s-h1SH zmwrUxQ{bYZv@$dh;Q$wXdL)KmD*-~F&Uy!7CVXS@QFPK`B& zN!fqA%6sp}-#NJycb#32k|rLUtJ$#Z-OB*9*VU&X*9rK2Ro_5( zCP$ea@3GOQ2MZ)X7@OZifhjN%<*f;%DaDAhAeU1BK(j7j|G-!^ftR0fLbHo%s%bv(}A1-zxEDcUg$rM64!P=q?biYm}9wQ^j zjXH-RETJ6-CQwV7M^-G@(-WZ}r%Z#jld8cP3_3d(OAEG{~(DNBUe?uIE>;<7zGsVOJL z$ncgh=4Qz{M%EKJ#z&21tj(*6`8ihd>WNSkRRmwL`B96nLt&lWia!z*rn*P>ej80nnSnD5T2^BY-FtmqU7~ zgS{qsG=L}*d~+xZgB+^Lq1EhJ8I%A+Wof;yHSkxv7r93g8_*lqf9Egl)76u2PxN>< z?1=1e34N8*%KPs^WqQ>J)?5~)tyq3%uKTBHLp3 zKKI0Ud{ufh??qf0sF*mN@Z#1#H{cm z8=~T~`-B0QP^?#3S|bY`J48E$12JojcmxGeMOyugnq*9)Wbb6%7&q~~ts&X;#>h8H z{{tbzw#Enl{sXLRsn5R~_}YM!gw3;tT_$|>a>$F`0wdec}F9cbMO5#kDZ z3ktsnV7b=J((*M3zSvayD;`pW{3IvS9hJrJr z6ZIoZo|Ag_5eT3t*P3xzq93sAGgUNjB5-(s#H5LamKgA>-ri&Jc{&a1D)1C^dXFn1 z00*+$ob<)jeRJj)AE4ZX=-f14m|kYQ_b_l9WFoMZV0!NE?wfqWvC?9Hi0HQ zgX;v6jigA{9+7Kb6&c{v?$r=+VaIS}Y_bV{FcU&;P|DV7R5>8nGSCDkR&zUJj`Z_6`#9&bCDq& z)>ag~KM)Q9rtuo@ijl_pA~iS{!85WPS&vJ65vhkELj?PemP$mt$y`xcp&LVC<)>dR z?bsJWZ%BfM+*9RflN_OYV?;J3I*CK%7pkBzFrv~iCwoGvQWk(3Ssf8`8x^RDAFGij zAZiJPeZES)`RSSKl)Mt~l7;z_{Ff_Kweu{C z@Egth1kD{CmIMkVG)yJ21&c6Vbow@#4Pu#(Hj#Eplv2nwn(?jUPvFU^Y*#T1-ozef z6dkkfjQ~4t140FN_f64wjTtWfcuibG#l3~>BEnv)=26SS8;h+nq%KOJp`>Zb4db<) z^$bwTEnz={5~w6{p*}OQC_61}tA~*H6cPgHUh2I?x)epcZwnzdnMSf20d|KiJlT8% z5cl7^&8*)`;aVNhNn*ud!`hpYDXMu7(bru;(HF=$@kKIT8 zkLm3e;R8#de;57!WmB!Dlj9o#TVz4S-CC70_ho-2#FY1WC_nJ?X;;sAA#5ory9nMQ zdWCV(sFo3vm}1i~kAh^EO9~otfh3kc0;XBdWEJnDeNGLobO05-^A5Em(BOW$aMw7p z1poTHd#7o2Z=pW|z*M)eIvFm#Oep(1M00G>DFLoC$osbI(mG_Cy?Y0-l}V?R9+OV} zuDq+F+CdgWZdTmG%&$}A&%D=G|NYX^HbeA3S=$d|$K_mp-PrN$ByFZyQ-iJc??tpymi6XpdQMV-Ii;V?V}X! zw|BT~k{>Cupqb+BXiYi!xc-q1rrKLFdH1w(b_b2cNGy}ln9Q0}iY_kd3+y$@_y_!F)EnxJ(5 z!&w(Vq3yWcVq@RyQexJWv~fcOWyKVc$j5F=$uPb=EePI&s;$NQR92AL@bGCnfkb_* z9B@`EM01}xrCMrsMF zn&%I5%y3>)(?QA25=8PC>s1c9l(nxyQ!6Fj#|`VUa1p-sLcG_@th#k@Ze0&Lx3pca zYhJ<&*`!>YEZJo{_c@h~MW*5CrDZ$CsmqSr!De>1->syQI!Aa(1@d4?%<|yrw?M8a z=Hj4eS3q#(X^XP35wBGZwM#i??3MkylD7p5iLM0?+JqyGgj$gf!~yU_(Qh#$;6Zb~ zfap;EY^3tARK;e9Ya}VNVlH2(q@(w};O)IJ1P$ zMM+l!x|W3x5pXG6?WonVC%~^9yM;>=tyGHt@$WfUMfQ(T%QH^MX?#qqD|{(rJ=U=l zN(}p?fOAIVBa48ujmMyXGcl$vd_7u&KhJgXdzUvGfCYp2EVbLW=_~@g-xo z!uU(oNk?gkJX;XGXVcN`1JW`c@~|)Opk(L{d4(`snxkwL{oPrbQG+-{4}NbAlH_K5 zPhw2bGFkIwowZ*&KBX!-%SCrqbk&SV0RB6gN#}sIKjGkUTxhH~B_%n zF+Ko;(F80KVM*-uG4z~BYs#I57)J$fuUT$Utd&C#p9snAuNKBLnZFE!!V{vX+sJ@d z;K*>V$iSaN+%^dGe&Y);rf3#O}|^D#no)O zwa-{d)jgeY6L9Ake+&j@HrY$t>iC5L4e4fTz9ELJ^0&rk6I&92gAH~~fmam|`&ZxA z&Wh|n+9pqeKF}AbUX<`ZxZF3s?ush`D2#&apddBK{ z4b~cX4{8DJV;wN4N4hGlH2H!9a&f-ReY&4Ax3n14wA%X~{y5N*sj19~XaK2E9oMUH zGb^>KGK2^{%MWdCecx*B zHnjc>`FwNZ?jro55pkG#eJIH1cqYBtfsHs`KaJ$uv0oQV&3!?gQn87$bB?_~!TPr6 z;R^kF6YNxGR;xnm?CAP;E%)|dL!17Q@cl{HXd|ozvOo1_aA=A5gLvP-ywEak0Cu0y zHQUT`z6Zk2E^+i3HZ;N@j3=-a!gXlKQRxy-Kuh=u&m)H9>ntcV0;Ku{YH)}JAx)>* z-Df99NDF%c5Z|REexalA&x}a}7A5HsKe5MyF*|)*t95xwX?rUitD>-1N@H_~kGI5y zdP@`g;}h1l#L-RRed6ziO*hjCd9~zqo!M(Lq$l~rLdC(>255gNZ1e|Wqv%H1Ci354 z{eQ8^Zd^!Di@%bgQqtfnE`_VC(r06A^KIo5dzgcNoP5mr@LVZJqfxE*ja8Vf>{Jw;9|u}54`+?C9-`>shuk2l~QlVp9JS%9Un1d`)51OiTTRKDw$E^ z1c50(cLjfH!07y0@--rIk7%lF?1$O)u##-oxlLdrm<& zY#=8asr%cN8Ed=uW@266z7H3T_-g-iDtgzRk@(5p-LLdYU%NK`&g4J0>A$54psRq+ zrt@0_Dmt;((`Vw8RQ#nryjxvy)x{kFn1j;SGf)ur*`ytXa;Bh*Mkec-pWpt`3#3uO&~_AulHbp9&uO-yLf3mXxDG?~WR%%Pi!N7X?Lw zpMNrwJq&d|>14ODE(Sl}l}`U&Zgf;`2EE-LyFZfRRPUM(7PtsMqak{T`p+URUyZ*< zH%>y%a1g!40vUW=gw^R5;6ovHT=P~4k2vMnM(VHTDZ)hzQ;L(-(hb8l`++pymVY+V z4UM@rzt4`(27>M=W;A>igOiUlw$ZC({aTn&FGq5&rVI%Df;R>897k% z%Bp1;`nkNHULfSEV|)$_t)mk+Z+a#vV6l!MZGG9;M6*;qh+*hx>AqGQS{L%^j$Cej zZl!S^_fGMV3Y~YCL}L(F8;U0F%9R@GyxNW$Xr5_=GRDbwy=(ia9;{+E25CYqUYTbY@Q2inY$2U9xWmp2btBl+gIX$r>A4&1ZG7k4~S+i zx-SF`zUc*Ny{WHeh2sz)jknxs)9!48j~;D&Ft>Voyns4s`P0}8_9frgzd;Unz5-S= zCwk?nRTHP=PDrxscW_yD1eShn|ESC%cmQZ<&l|H#T^ubkDQu4wdbLUmw(SYB>{)oQ zO5Id>DMxH#>sag&vfDB>y&@sGj}`DLI-@R*UmZ=z+Se+P0a6aVd|>b|byEY1V`n3k zBPF}>NC}}|C?$>GT!w#SN)VjUXFMsP<>%Wb`tP$UtEw=Z8Tgcf{3D73NRq*1m+2Fw zhXzU@=0DTu)u_G-iA{E6Ax4zaCFT#wgTj2uF{zLjt?I$lk}@l4%vh@*o@*cvj7k-e z$+oLgMpmTx?uacOR2^B84&b1XMXbiITUzsWNyh!Bwt6lo)b^{W9#&X~xBFNbi|bVm zDt|3;yn1AwQtCqsDp8G)8zDX}Tf6r%$?aDPS)+3tRk}DA52f&zQ8rH}=Vtj!pwXpl z&^^lCq*(_Pe_YnGWVK&NnGFR-$?cRnRnGVVBA3C(RaTwT`*;xO#C63od^kr-O*2gy#4}7k_cwD=uA0V(d`iDMm zuHRknC~oh={!R;{Qe@M9{7dEf(w37iu=0qk1d0gQLA}AyV_oIIbC30_dhi0?!U%Wv zw>X~CI*AkSR~%pPLre#sw+vp}b^q7PlOgYqZPqLCKBN<}hyM*d9(9~}ylQ;poKMjSxZ(;PgInVEnDFw<<)iEU z$|S(sq=(0`@83(E)ja1F-=?k}GEIcHLa3}#V-J2IqeW}hWVO5XJ#eDj(n3qU?&D+L z&(})N_j}I+T~kKMqr%KQ-}fhrR`+Yqx65sfqexEhb8?8)_xO2H zeTq0|lbl!LmCv}z)e5WB2K2O*l=Zw<%Cwc7b-vgBaWm0Jk=NSQx(M&~yy$TL7hR~y z`ekgmX4=N}mGLWjcx6XIu$e_(HreN^y%kMjOcBi~D_#Bd;(O8>%2Q+5@Z4lhY3_o9 z3(rDCeq7&6{@8I0wUj&VUH3=lSP9Q(yl#Bu`ybC<>nn*8Qny=gG)vAkLGy*N+`4F^ zk1>mKwBhT-w73kt?^=D4Ms2ExKE6rk>$*@>ExC>6X844Lqe6#qwqRt6t z7P{leOwjv>tH;qRE022E@i&*QP3h?j9a_Y>JIy+WTcI_!jWU&K!ZZ_%u{+JRRmOdt zX1-`pUWW%sG$92PjfS!E(rgxhW{;T+4@8v}IEYR0ZOrGQ|v{zQopm2yiF8Ia@^(|PZ2m|=|y#LJ7r`QIuMia+7DsEz~1Z--3EGP5dzZoUJ z^~bMai=Qh{Dm6SI(|j-_)-Rs*;HwD4`uy0iCElbi>0D7{ z>v5iq|3KYY4Sx0t870rqM&Qk|&aFYN0buBjSKlX{6j$1z%+c93&++I}#?O9GfoHxG zZ&+Ki-0FMeXeg&+8@*&;!&iozeT_aeQ!ZPnz-)|f!gU^vsR($qUorbk3lxy!kUYQ* zQSBs(I4tKs;FgQJZ$>0|kIr4vx;uWnEjud5FAz?gj$9fun}@F5`@#fkVyP1*SYat* zX_1EL*OyGrZ4QCl9!b#Z8kNx&eX)!R)~tSMPA^}n)D!j)bwOUiF9p-UP-Xt< z1=;W&l4{}$YKJy@x3~P~NqcEZEno266?g)P*H+w8^*zbF}E7 zf}r?VqJ&YYB=+c9H6-gB{jN6>9cBhAN|?H-L7Pw*tgK48l1O5)xHY;puvw9|M%FY~ z&GITXO?^cDC#{g$9(Q2zU|(9m(wGU7RjY7>2NDm@Kw&Us{Hc9t#O3H$RZ`um(RrdC z!{Y&AGt=Zet7O{1!@`J!9J4c)oHIt_X=jb9M`xT}5S#d1Kpt_P#@oM~@Sl|=x)CBf zcR|(;o+@6q+Gt#6t7Fe?|F^p7L5-t@q;akU(n~@H2&z+Y|y*2{}gYg5~ zEp-tRkB7=r=S88=3fDyfq)1#z2XgoWsoO2!pnEP?fE7HKXxn&0XaK+b5 z30fSQVpO3~3I>6W5w)Ny2W+!x&eAGn(K#_3On@E85is?0FH+R?Q!H zh&AJVXqDe#h{ei|S=2!+K;Wu25j7RFC;Yl3$CTK5lY;AejwNS6g$;_BwW0f@WHT$V zk`?AHdh@z`t_N5%NwgF7P3z^a$MU^erA|p39IaM3(LC}VkQ}DQp1k_(?6rlRmM~D zE8us&5#Hm~f1Gm6;SjC)A06Mk>^hR973_FJan!K0YpsT;kd5gThML_=7=XL-O4Peq z7XjOujb=8#l0glqh5t)-uG)}F$jq!%(V)a1?gOhNFi;*3j9mTRCj%I>RTzFFL9K2` z!&qAnf>8(@P;VcP>qG=i)sb1ht0{) zn{V%$TI2Pyn^0JG|F_VGPLo_MAgd^A8ZVP5H!d@JiioJldNX{uYa4I%My9_iJQ}vr z2AaYy($Uz_PpP#YABb147>saoH;+m=eb7cD!7B3dqGU=Lb(<&0W6itmjsE3~wSzel z+Fu`KLvzp&WmENXd38irfA?Unb1*XeQ+M~n!1`@jLXTXE3~pFU5I+*iC@Nt2X+Xq- zQ?T3<7Ny&qCzqkBEsL0E%>MO8i{%q5M*)XYV)vqSmYD`nDOH=onl-vxBT_wtghUb2 z{IbCSf&~hJeZ3Lma>|-^gMYh$sP|<~6IDrEU9|Sottpi-sWCg$#4PmpNKuMuT62C& zTZ-wXK(UGWD)HU9iMfG;?`X^+fEC|{Ic}A%*7|pjFWmbk~`WHx^hGReeH%O`!(7eifL5!3xu$y zZDH&iq_XfUKk^es-eq09to|jObqEEm#XK?>^%7;mE5*pVXs2fsuG8S0_7B;X22Xy053z(IyYg}#2?{ph&gq1>3rD<0sY99*4#4V+eQ@(*gj5hrKWRn{ zv!>v6gShuUh)z0-}m;xR#1R<>@O3VwTl; zY)TEl{|Ml|v6uS+=jTP`9}=F)c$^aS9uVWbf$cIVX~FxB5Y}M=acef&XCEtG$$$^BsV5~0?Bajz5e&u~yL#OZ%Qq z6#@%uIVL#frs9P&6^euZs!C7?%P{p z;iR8Sw8Uf!fmz=xR$6~gh(fpL{H_ffN)vBg-GZU8C^74 zjU-vsn)n@S#fn5kd6g3)IBJ{c0}?^=tCT~S7QV8=TBjCjHv=Ur+=1C#(OtqQ+F(jR z6uHga&>^(5BhCX}XPhVC9p~>u2+bQsBR3#x-UL2`4$y+D-6S?897PlLAa_I?Lp#1S z78jtn54y|*QxU(Mx(`!EDU49D8R`R6v3+fq_<8GuhH&Q{>Y(R5xCGn=HBoQ<)C(CVq6qyn{7gM3OUDy|o{jquY9HEq9 z*#4oZi^?|`bZ2*GnxT=ReRPU<#7=SdhcV=a7Jn!^kSjWL7W{;{uGo-Y9*htP52+N5zBY`!W({yq=*P31OmTG`OY# zje|^DHewi@p-W5p-157fx)%ZX!)3+#qT9&*;oqnf_ka)$2!DM%pjrCFEJ)j^n-fp_q5r<5_se|q8HkddFYftWS>YwRu7n|dUwZpE_)X0Cy>SHXvi8ExcnXkNJA zlC+cl6LKRTVgxZ7IqQzlC}Z#ws$Mo)L6+b^d?kdu9Xl}rxT%2 zQbIicPzgB8lT?GJBpDg>T!@ewnROxvop1dhIsJ%ljD9rWc^&SClevVbtM|T4q5U!Z z1^OyD5hf+Qb@Hxc6}7Q?euq&EPSdy}P!}}hnq*+flz;V;QA#t@4Ew_|4Ga9}Il>+O zSW5Be`AODi{MvO+ul}PubuMc;WMV;;T0-!(OE%M4BvUv+E0aWuN!iDC%fW;}{1s?) zEN>lZ8t(8DC7p>Qu43Wrs$^B@Z2Gxqb=_sx{d56wXjx~0H9PuNrH5iD`A4N-ow5Gr z7C3QA?%}NJkxTk0INBdIZ%6yQ{MGcS2r$6(e*8dKBM)VB<^BnR=TJwv6z*$*UzSJl zs(%T8Mw)(jl|}H%mYzduWwM$*)Ur(h>Xt0seyRwE)SWj~^RTm{(39OFe`7<`H`|fD z{4Vu{u5)=kDU{#yw+q^jxyWdtv}I>Ibg$){X}04#Un5i8h<(l*1EnnMcz2(#m@}(} z)Vz_vy-pOGPYI&R%Xy_+LNN{Fd+SzRL83~LGRFRKe^vj*WcHhfJ-=zT2%lSp$4{r` z*E6g8mP;$$kwA#tgd1%ot^~`>daGQP6XWBXvt>8}Dak4%U0er^yt0%W*2Rk` z$z%=El4oV5#wN^uFolxYIAkf+r?zHA##533!aUOJjeO{}bZtb#zAh5u{Yfy(N7n*G zsMCZ}sK~Ghd%xp>8y!{jnLLP4Y0|dtvWQ0L>{^BH2r4NJ&Q9@rY7|m5w~;B?by&N{%SJkrt5-0`QCtVmA`w3$l30VKu8z z&tmUfzJC-ZDcx}s9$jzFzCs1<98B?3W#^#H$cLXaDDxN>s+IGjF+}O9NEEYKL}#nQa&JJR$rp&JqM3>4#;8o@o!xpL#y6nb*<|a zq<~l}?1qKioa$(Wh>oIhuwvSZ;0j(Fy+ih*WM2!#*J$c0^)Z}jxw2M8;FiZEcLvybj@;dpJHI9QnJN+GE1Q`%hjI8 zDg9|+$HI2SgpO;7+c{VEFO(b$W=0+ShK}wmJ22CvF>`jsb8zANp5OV3{Vcm;RyQ&^ z=zMtyr6Lu098xh)IS`agDoxEh?31kn?C;x9e%$Al9l06_za9DSKFaF8v`j7OK?ym# zVvEoDTT^h;auWzo8*nxeT)Dn95qZ>1Xg22SD8UDi@6z#4WrS%`1ApeQ<)4|*&fz%I zMsPlz?cu{%8Fq-TmB%4t`p|EFi88+>A!r0Ql!(pXbaD50KuxJLcpHw{6U2D2IbEBq z>HE_#NIVKtlwI=6UQU==7XC;*n7nV&|6{J=+wXi^R``|l97hDiNgjLr*B)r>fc)NK zm?oA1#_3%+)Q**aSnsgo7GxZcilR~6Cj%k^F~PDbNn2f-VuUksNOM=qXWJ7o#Dsp| zukXFB@L|-Ymh;Ts&os3mGr3cE@q#Gw07=aCAt18R#E&%BQ>~>FZU^S0DkP&TD<}fe z7axe#&k~O`A@*R6Y9MPsRVX7wbA2ExRM`cBVt~4h23>c*RaiYcgDf96Sp;PqD1rbR zS_+qhYB2okxnhoN@G2k_;R*4qn^~dx+XLs0Jn>O5o3aBl7Mi%6oODpD8wQ%OEf&>a z;Im;T5ee0FvAa|@lvWHTY8bliGG_v48H?n}FXE)rvg9>f@TKM!Az7Ar;J0?ZeaJmU z{$gQ?bwTJRt&9L>%SgqDJ`4Yo8fV);JqaF?ITl=TTf)MR=AO0eUrVKI`7Uim2Pg%N z?ZBU9OC?ZSWU9VD+RLP|Wigd|v~+p`V+G!WC#|tb2DEjfCbAvUHy9Tly0eAPwzYu1 z4adOL7hbt}P}-c=aYgQIcvU8QPcXN z1|+EYHJlHHGP)5y#Mtk+K@K1W5FLerw`Jgb`>V%U7!>0HzI&I#jQS~8c!TTlIh7Qv zzM=h08=63_U1Qme4?NkOql;G7N~%R~n3iGhvD1C~U-T3Oac;%KqVaxnQ4!h*V!qfd5FcsR{Z(;R!?j<$28!N}B8SN|@Hul=rGT(5^mDpAKeBJ8==dZt9iZ!lUKqtQ{mz7&{L?feG z!+_kvnBRO=wZmtIn>7AKpEksEOAs{pP%bhNuX`jS`O7$7ZPE=B*bhq-@QDtWzKC&@ z)=j4VzxYM+A>3^PGJqw>VOk+?1{EflQdb0oDDX&D-aph9LXLLgB_1H%zl{5$Z6!#@ z3-fZMNV(QhdxQRlbb9m#{Ed5NqeejqJ3j5BhvX*q|3?q!5@~6&7*(^8EYoJOfk8FIpl(^<I=WPBbRPryxadv>HROz)N_Hr~>4=Fr_oE z>IU~}Jd#Zc{Jof6n){Gs{;WnKLuNX`!RnRbNjlXD_1BM+F#RaHZe=7keUFwjd{DjR zp~@qIHXZKcpt3L*^I44SjuCm5lF-b{XSxTRd6tDPn-NN!IiJ=nGcgyL-08LE83_6{ zPn8O-j<8*}<`U{Z7j@=WwGaWmQAA!lA&tu_d=9!RN2@SCK#uCG+ zQ4G`#T}23~*=Bbo2WBr2n02*g9LV>w(mv`?;s`-1S6@o5pQULACETT&{CbhW1w(4z zu@3yCe~h*rSvZ0nD=cPP^-gg;VbzV?#SwwzPoup!I(Qt|jcW81y*win(m0?IfWF4@ zGKW^j1N8s1rWm#8v-ILW0uxsD;ck;^alL(E{_KZPb+D((cugN_YHOVoUu%@=y&#oY z+$L(C27r?Md)Q(zUkQ$=YS2ODU8tNVKAOero+N~Il{ik*Q1FOy?9uDwY6rHTxv4Zw zoy^3>kov!pB%zLsCzMZ#NhMh{Xl_f4R5^{-9PbvI)ks+N>@R4NGQR0Z7{j&w3TMl= zXS<&2^%7VWX5pq2OfH%tZd=32TpjWpw!#9;oOnfAtk^JD3A&xe2i3>umDFb;m{iBd zC7qgOu__66&-Z~Hh;eRX;<}?=CrZ;$DCNuUNZjJG|Axp}GY}cy*PcbhH+wU9PH%>REndiM!a6YRcJzb2>f@)sVDMkxC8+OCv;2PzQxTs(P+tvrT#H zG0WvLK#mwr8hS*B4$R{EV;a%xpEEaO%k9xCJf9(>eH{CHB-lgS74!VR+XLoLRc|q= z%$^a`%!iTg9n(U*aoI65d3sd@$$8oA3(&B}ll&c<+Ob;>`KnUrQkLW}V1kPcBW% z&MN<=J5^E+M|bF-ik2IQhRUORN>^Xzl{g|RxE%Dtf*-gorelQ+?>ED_cWfOGM9Zhd zDB5?%ti`1l5Fd~W^@IG=30i3AGl!`mW*yAaq!zMOqr|9Sl~L{Tt3TAD)Nj6(X#R;! z4|!%Kv#-%;C!5q++utV@A5;jpk^n`e-hc^9@cT4A7@P%#%cTw^F_$!4-m|zW9D=W` zR5XDpCuk9TcW+VHdivP$HZ9p~cTKDWyMqdH)oKYo14rGPDFctcO17qaTQ@3u*gYfA z+Ep$GP2JylR4LyN)@6DvWs)x%pMtsXz&8KZf|k3Ou1NPD#&D9PUmJq}m*s9O;U8Y}XpG z+LwxN7APe^sUlVIr30+5y^YcILk6iduZm>m6>K3zXaO5O?3%7S`gLg43i-xi5Yqpa z6Fe-RHy5Tj4kWL1H5DITPh9%ewLICG`bKH-*6c5ABX9aVYTn0#GyHCe3$ zPG9mLR7EM@I3=x(a9AyJq(_Sb`nY@x4|wM%p8n2|IiQ>r!HduDN>kQ=39JiXF?m$E zBqw3Z#~i1xBb#2TY`Jl`Qk{quMQ`0nXIeYWr2U*Hp^ItPe^DVB5FoXHm4N(Zl!KC; z*}|ziz2&qFY|Yjy@v|Rw1qWd<@A!6(&U^!cPO1O$f6>o9W`-1y}bgo zy;|INfgXS9-fo$+ZyFaT@?n!As8reeWH)CV6H`%o_xF zB-s|;{^k;ea<8_P+N?WF>b*QIcx2SW(`HU!dX3N@qZrh)w%2mKEUCHj;|iOBqQ8B= zDME*yS@l#;PzM}<%W5WN;Dk9jSLrpu#uxJ{q;>JSfLjbUy{<9WKNw#rD;>ihBP3;J z5=L}|<>A)(&JU&L%u@GDJ3n1=t)s;LMMP1~5ISiCfRVK`GX^ z=$&|zpmNI*6+<9iWjrK4eg+T&em_K=ElB{VFaqlDtI>PrOM5e%GxER4IXprZMHb4O zu;|1JlO8BEHYeN+w7f3r4>dq+6j?B7$QFOIYsOStV8gS^lfhNFYA>HRbfEY^63{qD_ ztYB3uV!9|}io&ftJlK6*UQcF}gt-L?Y4Mc7yTjMzNfl(4t~YVuYTDO{{3{RZ?_D(4 z5QD=>Wra~$>V=?g+}UDJ5m-_b)m?Eg-$D(11q;ESj%@U`xkDL6)Z%Np84}zHIh0lO z{EpfVQ09|Y(~0TJa^?X{IUNx!)_=A5o_*fyo_^tzN^QlbO!;}@3kW_Z?=KL3O!oiF z96_7ihR6hZ@8+HsVe2hMpZ9(!Uu9@}w=U8V<)@C=i-Q!cDnx0(R)s9+?8oP;`7m9h z6~>S`bXLbE3`1-2D3uTtv!B6@q!_^psLd}C7gHaOiJfgU*~8h zs@Q?q!k-RyV`w(TEj-{=pw29a%Aj-_x%o%&%WW_iVE|$h&(ao?MpV7xQaHCc@n#T zL)I~Y3uPD_J%wx)F!ptWB>T9xMjiW1H6@K-$~`DtJk-HEYt({EK+cQ$yQA^nIAZI; z*X7UlWpJalI|OrSjx!{#!Rp@@ZwPm=d zpT8rK_n9kFzLGl2akM@Gbi9gB3vYF_B<8L>EDiE4LFU%P2QD3ys+}nS)wYqY|6Epr zAwkin+wl>jQf!fayxy-Y!6*GPO}|CXg2kD=a+rh^hD$_hxPoTiF)PuWqDt!NSfSMK zEO~K5v{4t-hw{X|#tmMoi2AZ?#IsBZ5b8)Y6sHr`68_dkHfrd*chV8>HveF>Z29uk z;o}Jt40v8_Ben+)z>dN8q;n)WlUX8&N1L|ZF1o`V8%+~U6pM3|neil>DWBL<+&}c$ z|KY6Lb}&y57cNOp*bq4(}eQwYnNI^Q%WXqUVxQa@=&E$ zsg&vC<}ifDadeZ$Qp6n@FT?K7CeQbet*8%JdMshP0zeosMQiJjFYDX5!=}`Rt!d~~-v2Zy20L>{OzrG?CeTd37_sy6a4&#;g_2cC z{nOG8;zDq;oQB8zM><};yr_YpO0yoQzguo^<4t%>l48L5u@6xv%nYwPR@KoOnlBvh zJlN)(mo0E3N<0>53l|{fpu#2n4C{DdoH29^8x^(kWn9sZKMDl3;;IkTJ_CQhIqm54 zmUgA`gn0+F(nYK}m5cJrE^f2pBL4lq+F)`}%2S zd>JJ*h!LeO7wt+RS2#?iTobCZJX#Y(Gm8N%dqF83(;TFC0G+s^jz3#qXDxtWe?KQO ze?M^2=63i<6J{v!qvgF_;JmR1_>wG8j;mL5qk_gncBx7Tgaua$>+~^O3I4aZq?NhE zeDNU)TE;fm|${exD-f zyOuHZiUI)_exG4^m67Ds&d~#mEnP%%M$P0xH`Oapf{iQ687hJ(MvR$L)3(U{t)y*% zArt+FufNEos+kaSR!3l32fa)w+X$X=peT3`A;3ML=2!`~(POe`8Dpm9P$>X*&gNlE z+u}P2Y};Zd?>hutllxY%UHO2IaOIAemwcbiT1-5oWHKd%BIrdLao`wAk3i$Dm043U z-XVVBw~mm2xgQl@%%~p<6yngm#0lGYRt(kK5fJ?hTF_R4q%;+a23hK{gv!y0l@k-T zo!hE@X(GWlHrtWWR&;2cRLgTo2SbT+wqiT%kM{nd2rJ`}rbi5x>*)(YzO_~d6qRYO zsSIU2)5f?IqLVk6UyA)aPj&K)eMn(At0s^MmDDpgJUl;sx0m5UgdljiU_2|zR(0Rf z_9q$DcZVeRzFiPfy3%YB2z67mp{t3g0gtY`>!z}}%sj^-k4&-KEzb)`nRlX}{y~I2 zUj(*LOn`AxZI^DRkH9Xy`+~rs`-U|G;E8@?UTRSx-GsGj`wz0k1TQ5o%^AubC@H3V zdhP0l6Ybrk|a;;p&aWU(Uqm|v+L`G8dIVj?n7>LbjenKLXwpKo&NNJwqH*^bN~A19scmGNdQMjS-`iy13L z{u`t+jOwKawdx)&dnK{rxDCnr1knED@k@=#1>yU%X91Bta7(!p}HG{{`fKP#R08XEKEQ zEtewNm8ZIaCE9<5=o7eVZtC8B$zy z@!O4N9>+{z-cZUxFI2{KHH@c9Q0JA|XTsqmr&5K2lv)Jfx%ulX5VEri0e?}+W1@S> z_cb^Q$yRe&do3w_GQN#XkkE1-_QE&nRTYA8R>=Ih9$ei>B^QFW65tC@8T>es^b^NF z0edO8EX&&2Hq%=V9H!7Z14TvpjHDRI8QC-JCqBvpWV>`$yTWA9RMKdI@0^kxa>sK( zVfYj;5dXZh!O&l#Ix}e7Aii$<`1=MAe=Mnj7LRDaHy(}Wbl_9gRd&o;(KHUa*hk)H zET^la(5e;PJZ(k=@!tu0REBK`R&#oO!keW#%KIdLgc;cxYWxvMGwL9GFQM$@gmeq* z|KsCFn&+GMmkVFj+PUMdb$-YERdE844Qd#dh~!4SejFqeo*R@fSHf%WRM;yw0;wnX zXRUes9LJw}M|2^jDKhjj38dF~$Gr3)9p>|F-$x4lF5uh-K0f7;8@=k(9VQ$LIjJv{ z%Lbt--*btFbB-l7O_it=JOsUztne08L~z3Lb9QaP2rs{Q(+XUy-!-_Y*xGpVWIe{( z@p7J>DQ!YuSOjzmLaej+j^+$pnd9TknAFJx zSXl<+HUlQTz=fJoh8pHHdM{3igIre%aZ!YWJK}^k*DQ_XiZ}pU7f)F`T=mFk1rvGm z_;ZiOAz=>AFqpXr)ak-lai8QLWEla|C_ssf0pHk$NrWbcJQp0$Q*tt? zqGvr=22xji2=)2*ai0M$@bslmgaL>tIoTlF`5=^63CpxLkiJzCAvw7g=E8#(Fd}!) zZrbQCtis$aciDr6wMG=iDcXWTfdio(;bj-iln8<`CH@xhJ~!j#r`Jhirc6}a6ts5Fqocmz`LG#x;YdA6IZDxf-3G&)CatQEAfiUG`#9jDC-vBIFkF90# z^h|J%oApjm_kaoQzp)dJbMIbk(1S)@>obI7zgSL9AI3D5PNqnLQ3l=}t6te4sn64xZl8=-i9JU| zPFP%^rB;FB4OT^q}(H+~`q{+KH}!aA9OY83KfvHuRf^XW>cCd1q=pK`63 z5Y>dL-mDI%b0JWy{^?1*UzkHY^p`>>G{J)upQ1 z{)OD(0m{`X!AL%^K^B=hJn-FsIPB(pvI->%8;LxCwsiDibb>x0+hVzuC2juqq@1mq zglSp)PEg>FrbLH!gYjg_geF7zXw#`|oqR~wm)SFhsfjbu7P(_)uf>+^%4bG=9pr4j{m?$w|=5AwJQ z#ZroYRO26A%sR=}G zNXKa)<_i_0h%4zI1$`2(@w>nmWM=y0JswS6suy6dVm}mW725z3Qq-SoBcj$h42pr=+4@E<4*-ude97PCkGxZ1<(d`q19MGGY}P2 z!7BWg@8$T&`%T;$2Iak^1I=+c*o%=T zk=2+6{DFz5f?M0Kz(|1jzz)st+0_{ME0}lt#erXa9@UrP16Wkj@sEZM@|AuA{XQ%K zHCN~};Y&aNwlcuI%^5(Uzfms;<2=^*4^I8+{6BM%2} ziZj05d6le2Y4MH{NGl9*;HGeiuXw#pMQ==$^D0$nP~>v5nCba9;Q8hKXhVgC=LGs` z`^4&P|EL|Tg;i;kMe&b3P%F!WpzCC^)XNRh%Ebni%QTAD5yOnjqsYqH5vUVXuaQ7! zJzU68CKg$;di6QKerXmXiM{Kmy`dyiNq6pifoc>V-`Q`@Q}z5ardH>tCH?N#EPj*k zKmnp9e};n?f1akNB*GRu#~8^N`U@PWZe1t+uCMZg*Mz=6(J_#5;|7_`(`^Wa zB3SFH+8=vci|EAecmlG`3%LiHH87w`QPEOYb>Ii39BrKr(e$Wn1r|ORS3P*JEoeW( zKX&1zYPEOe#al2YZ+B=neg)KibowydlcuzqZmX6P89F2c)a+@p$%G89O%&xy$_UPk z9<5lAq_WabW=d(SQ-VfZU)t7#Hq*oqEnP=8 z1EC^Qtt{(-uu5hDR~j4A-Cy&N?H$TNYhlgJ^hlD0qcP^@H*joUbW=b&ufvxyYd zRk^d%OK%BCuQ=#UgM58ho-A?CAZwRTjcGqqf)fJe zrn;5mydN;r5C|zXRWVXc)Wrwg#17^5<2{W6YYeF)m8-gAw$y) z?^BcCDjYK3COQWN`vA#L)1kn8sx@^8_JL;?@MLL0S&k0q;-8;mk^Z4R{*^&F?^JPDBou@n((6MfyAd}S=18XVKS@ltwS&5v%yG3PB4akTw3Lr{ ztaP_{jIpK{LH)8ewat#sDS{FsX>8nZAwk?7GCE zVD(dH2Col-1?;~ZQp=#WoJFq=rX9QT$(=gWnSUXO$c{1wj3JbpuGrh-D!rCADp2BK z#ewoF?Jicx8J{43lo@h2+-qRr{&UdLA`=|4(MZQ_F;%95dil{!_{`}bXIR-8JK`t;TB2{~W;r5=`#lQIgeQ)NLAkE(Wk`>?{D%DUyt&Z++bv3zvyR0P-^cJ`A*N0Qw+u5{cBrqQZCx$pQZPXE1W>|4UK8ISrVv4bA%PBJ_H8 zY4eK3y_Xpky9WJ?86tMl_LpEPzcDon=~Xd$1a+l%CpoJYDrH8#|LI|%^qOMAsejr2 zfth>Hl)`FHT~~fJKkV?kjY9vOU1pV>yO=>Ax6O?odLt(g;3~fwO-}rlP}>!AZi$%K zvv9Mbtw%qH)-I1VkERvBa}^`a67-4cjUl^-(;B=JT8xCgpChc?s&UYaSUTrXOce>Y z#TRVGFQBZE8Q=>kyLZ|T^hHkZr-p;;n5fUpkGdyy3jBtHf3&_Xv`?Rr{)Y(PGJ{D0 z+~c1(@Uz>F!An9g%!^R(msVIM0pr7!F?C%c}gqv7k`DW ze)>BJArzm;3CF2y`bsNfNt_|zslWvC(20KMa|)=On5<(Vp{IOq`m~${+|3D;Fd;Z% zwsBK|=vr3RUVK8G>{%{Lbv@TBBpx=@qOXX1!(p)D`5we^w3D1R*U!1MO_lx1ZY&kW zCl~oBK}slgHcEm}+5N>BBG79P7$t58fBWsQFKKtFWV9T@S>!4(lt6GK@FL$=fPKKg z=YQxbIY~oOfA7%M3x}!3>=$D$i`-R4j&g{PO2R=lmCOdWpB=QBjje?xQ;tzrNLZ}Q zZJV$W>xL;z_oWpeq2GB27(yX4pdb$lWmn|$DoygHKdZ9dJJ8;v6|4P{o4z?0c@e`a z#wmq^wa-^`;*CBIHVf%vO-ZvU(5>?`W!b9<-}ttgAPIJoqyXg_I_P1F&2Y zc^of{w~aAN+o$5ut8jx6r){5B*2r>q|5s8wN`dv1`^`USc7W7DP}ev_ZZQExaJw(9nJ`xQ z%HfeNe7qeF!#B?*P09>ZCK>RW|C0!|L}Ip{S_*B74yoMWoF<#r16!jpI|7V)K;xeW zXk?PalITTKDis9-l~7m?M!Dh*uhP;&1mqMlJ~;g#Q~0V}B6sW!hoq^+?YUlq5}#}2 zaN}%V7#bH6m$g{yoX!mP@nJWlO_*_Y_B1$t0{G4NJJ{9V=a4%{os~2x0AJjoI>k1@;*5> zwOV0O*{f_i9b_2nm6~FbbHy1Cf`><}mFTgEv5g73V9jQFUE-?a|Mw@fbsJ`K< z+<+K7)90Tg9EJj$EEhy~unhJIx8GbugJi>~X{}}6g)J!TvKUhvTk@NU0Q*H9VjJpX zm!7m2M-+pOnc0{zlO(#ck&3}l`BQPuZ|6T#(Jj!yQ4GjJHFQ*8E#ZrZFo48u*S}R8 z=L0ezrBCsxIPUQ&3uFDqwv{0H=b>M3Zjj8!>(&EFD1XhxNM*>xU=DM!6;@+x7=J~! z|DU%x&lwERowH-`7}Sj}p^sM>Mu&++AEw)r=7gA*(w;S+4=>=VcCqQhfe{ht7AEq@ z!~+$OG7fAthOL#5*pNS6#Zn{^Zr`n$AOpe=$Z?qf`d%ly;tXt!2?2L`0(9NzDX zz#hE_rwsW6Msu(Iq0fY&jhqR)^Ea=T#~xiTt@4d=4!J6KyosIHPQyQgBo*=AyvaTH z?h_An*=0j9F&ofX(=i*kuL&PjF%=p8ygs!C_>ixE2-s~mk|`Q^5$;;}Y~IC6l!-G& z1V4jE#^Pt3xyzTmnTYU1ZmljSueYGj?MZzv?#+fOPU1eQW(GzkHc&Q6CeIJPOEDSj zN$!~f4X6^I%OlnohPL4~1dy-X1g;-q0}c)?iw6>)(^<7ys{{*;^5lbL)?!mH#U;1l zCnNv$bbvlHL-P73N1VWRA-XK{oa136;JeF>&&+0Err15l=+0|vJ#AmtK%)oV*v?yP zqo(;rPDGkad=9~LP0uI4gRSM+|BH`=SRX9 z#LCIZ@PDzbh{uzTRUh)n?_JREQ<)qeUt%@9K~l!0wS>MAGe7IeAhDPFgT+)%o=58% z7xbqgV}%OE@trUNzAolXrQTw;zc!TaPqdWEo8BMa559a3pAbJ|zMg&g=1&wJ9((wY zonJCb5}71jX{O3#at=PP?YF)HHiaU-?r(eeKUY3q&zMi#%kMvR+bUU81_%cBdIs)W zGK%Mu%wKpmO}_$m2o^H=E(EnTyOrfs#h-WY0umG)At6AEnl76&jFe*;k#cGAv`|C11**3pHiI!17GV9bMmOeyeaJ>C!C{rW_NDU$>}J8k{;jp7VVEsC_wX z96Z-k*R*vFoh6lfdUm3GU63ar^K{4k+8gLho?%+I$Ha!O<6(%OE4_~xv#berJ5cT1UROx-)KXrVY+sAdX?qFDGNtb$3qANOPkBkDQd~b z7u@xh+TMkajrfd%zaiL2e<&-$*1Siu_R!X7ziwjonYj$W*x0>fXQjQjE~3r3=mc72 zJSDkAg*J1ly#J<1@6a@2%`rN1q!V*#^?J#~cweAi@c$DH5LVNo^*m#(-`_POuQaN`;B#@G%(DuRrU9>C(geJ?2Cd?Jui!R=eKaF<;gMbna~a z70!fL50MvpB<#s6B8qUf34u8x!FaH8PkEb1pZ?4AQ|rO?`L6Py36NzhWw$-C?I*FV zn+7{@vWh=%L!lRaqK0GI`FAL8BRJcn#yf2?g3CdachpWGW;YNm4(DX9N)*GI0AbFa z)kY869NpE}=|YjWWj@8qH|hafSvf;h4E#dsfltgXF(!eQDLk&%F>r`GGxB;s%w*3@ zy-_BUr?SR~;;-mLkD;~^-H|@hFUTHplAtDGZcl{lh%G`}Kgnm0pXHx!w1sLDf3Q;l^-YYP|Sbh;6rZrBLRtxOK}C?7ZBfu>@C^@N8xe=nL` z`Od2>zC%w5-q9#I1URk;>fV{_9~EeNcLHt-xx*#5&2u6%xhpPVixJatBltMbZ(0Q} zCq-~}Yj1~i2B8_ksIo*8SV$tozjBp^Y)C}A*|5t1OWZN>~=4HtMLjk-7&-Hby@~CO`l4m6xFhm1+oCyepx5+8Q>^||&y_Ir> z<8FDOISvfaLln`4Mx(>S0Kp+sX2l*&Eq}qF`k~PJw*aXUaPT2m?gBR*SDaIeC^mGB zvE}gv`IFUAi{XFl@~H4EW3dow6jpE^jas>G6JeKQPpqg}ynulvJj2KvstrV#;}08fO?i3B5W6jMFC~5@DDu#=OFsWm?Msv}5$${{11YNp@g7VP zzIV`4`DxH~Z#V2NdA2A18fTdHSN=h|9ts9^091o1NdRXo1Z*Hn|8`TXti0~>ZkAmA z#b9|(l&NURmsj7PtvwQAL^e#?J&RrYjpR1v^n|4k&H{qd2lKs`DwN8i)m$&9uD3TFPWBM zLY9W3%GRXKQ1C2v^El-@vR?WAXz%6$EO@eRHo4$@Uj`QvdUvTG=^GQ7WaDtd+Fj}# zAj*!*xa7XvczS>YY)Dqh8Sk)(Cj&M#)krTljG~qo!ZYK6XBU7!lY|+3jm~;jTjb0} z|Lq=8m&KL=dad(@6KM(5ihxDKxbUN4TU>Z zz0DRRxT8;v^PlG&@79f0^_T&3pqv|O#oJ$bh4_5N=cjYEIk#z3ocm5|(zo(iW5_~HrJvFLrG0<3kj zZKcmx`V&N?FZn>GP>0`Py*H@hDf$F|$XSTW`HY{B{^JQ#^_Sb2LVBEI9G2WixO0G# zUqw`v#x73}9v%wJt9fZNYH3e3Cuoa#*-WVC%(G-OFJ-*bkVm8m$pk8%AcUYZMwir# zk#5($m^J;X6}nfXb5*4yrWskU;U;DUIT-Y3)wU)9G$RZk|X{(szg+WPH?7(WNAFHQp7g)_b4;= z{#g!DTmiB8!l)(vPQcW-c>@rU5K##hNXaoKmP}9KXh$+y{t+#serZ`6cj)NE%T0>v z>A!~GM_O@6Bnr(-mhC?Q5*Ut>VI&$|SQq}$i2XS0P|$3G43)Y$8^z~XqEyd&V${%3 z#5s31pKLK@pnuue=&fBeBeLC0*GHkM^))(1hY2?orlkDvm>`cq&FtFzROxa_0pl*e zG~saLl#J0Z<|%a|x@SrmicB=QRQ@yRAkH$$G;IMIW?G*LRj&GV}rrM-PL!RCozu! zW35dnHqM;BViSy$wz^7=qY61_jQ6T6sKH&Q;_=?PiE{=zroeM82Uln^%VL$+nKT{s z*7X3#TIJY_F|CnynyUCI8~F+<#O1jxkPdTD(HVNURmq27c1ub$RVO4hXhmAtJQkIE zI45yO8cq?g)+(@s@LmQ<7DO?pNpiIJfxLe*w@4fi%xRD>dtksuz3_(D_J4M%`&v^0 z$XVJWmp&SoO;~}FZRib!%`3%QZ@ePgGG=0P$TE;b!z2Q)`mAuc63@%Tc%D>FZnN^6y`bMn^#hEaje=}@qDUv+cUxS6? zeTH_Mz-fYbxUTt6k$DZkOtibadj)x3$2*86lc5T7ZF6&B0jkfgqg8xSf+)13a^IBn zniYVJ6pUe8EjbHUw8VgF(aMr$0*ngwwGf$YpF_~?KBa8kuu{;e*S`Y?tuGRnq)Zz1e;sPTCrc6>*Jx1PKCvy?oqeG?%nPZjoe2K3nZZxAh(n|^E8XP%1m`*wxSRVX z&;j$DnRh@v3(bDP6^D$)s^)Zxa+p3P-U=wNLBHG=r#n(50QSioRCgt z6}{RK(;J`TA`cV~6coY-UKBHl4+`e|-cWkoAJ`iTwd~*KAbgmJt2Up8jMi*o;HjwtpCB-{r)0p| z`AhJ2SG&P!B?N+l0tB`YY+P&8iZtY0xB?y9LMXanxWcs0gG(4wpz2S?IinUgLG`={7090rKZ0F`+*Js z(&>Ty&@DQCN{O(_GdX2vuMe9+VfpGO#u6r(`}R&JXk$^YAzrt`EykY>)?MgDpR49uSqE zwB<+TCxaH9bjfI>&`Au9lBByXKe3+INNGwKg~htY+WAq)DmkB9SXtGGt@Q9En{Vw^ z;h0=L3}ygMms3HR_07o6gmua3CQ`iki@k&5-c6k!nJY704tD_RA*Ci-0*pa*beFLx z&(XEsq_4!Y>5ADqTX|yb6@;66hP)z}PHqo=is5HFy~yv#G-OLZJ4Y-s>D8%=uah;g z<8{P;P0n#=51l><2RJep9Qb$B52d7?Lsf%2T3IIk*)br;rJr)~$mlQ!{B(A=B?FDJ zm1J=?nmLs!Pnv$u#f)0OF4mdK6Q7_M1|#Cd&*o@}h=LqS`tPVb2@Fy`6-c3FiaCM& zIIU(>vkRoZ<*Hi=rr^|!OKap0XwfhGM8DVPA0@;VQo+Dcwr5y3Qt@N zupp>Jg(q2yPU?AeFfn-M?RMFFh~2M`GXR@s3Qzcv7P^2hP}*G<(eCc56R~Js1|?~q zxBEEr`8JAirXJ{48pN;=iM``7s4vJSz8qq>gsxav$rd(t zTnu%`{1~xx2&F2BY4Zm(dS`3UfWHA*ibFd048ElbxR@SrwJ}N?1D%7&CxQ^U_`eiy z69&J!y~#HpqHhnDrII;T4DGE$d^1esCLiSnvVl3Drmc24kDp^c?&jYgha#Ti=M601 zDR~)N6Oo;|56jV&3iKnvevO>o7L1cjhDvHlbbV^PX zR5o$ozO7@*_n|UXR3_!OydqWm&gXa4TdT5_7CP&httXOBFw9hvIFeG-rsrV58c695 z983y?{9arbA4xe6$x_Gopj3t{Yt|{=AdN|~km0TOsoPjom*`qYh)1?)N@xDKHyXGU zVM+QLs9`SWg;$lL{EtMO&Or@xIV&TyroZ2v#?&&lWY8fmv_W)#dadLpp(-Y>PMgey zH`hwaLf-y(rdAT7VbIU)6SW0VwUXoZRa7f!gQ=WSQMHmb&Pf>>DuN;_oB+?Wo)2~{ zs&!;LQ!8nMYk~j5L8-w0P_>eyd9IENIrM|7m9)XcN^M_4aA6y(5yQ9I=s;&`C2e?` zM2>~AGqsWe#7s^UMY2?Lh|@cBsAsYu*h=dPu`3zD(fh(24l0BvrCLdV=81U5u4tJ! zRV$e>2vjTC5T#Tr*-*q(D;X3AiB#1}wz-^x=c-ysQ~iNKP_>dlZa{`cc@Q>n!mf}i zjI=9DM5-z>*wh7}+R;V=RITKQiAy3C)UVsr)o=ZdNYtPvI8<8ff?-885w2|8axB`W zje>RCYx1Ss9K!7F5mho=D=87Zsr}6E;tGJ|KfXCcNm;l!o{Wlc24@rQI2|Ajtd7!2 z@L343tpPp@j2a~lEhED*1n98EhMRTxO`d+V@>}$9p#(~MJ|i33dva0`Q8Zv9DU7yK zjhw*kk~$r?F;f7qXVZA)KxEO}+tkM3RY9*1fQ3VzNhTfr7>AlHWE>GGm8q>B;3Mc6 zcH9_wy;LKuL>-sSepfUJSNH|CyD)74=t(95&TZd2k%C^D%0i4A`hpW9+r2s2u^N%q zilfnZzQTeyUU2fr`_d7=sYf|JX}BgjI%H^aJ0`aG@%*ORII8Ano;XuJR$Fr*?l&Xg zDTK9FyvSEdw3yWlkldFKdKpmSADxSS-2qHK_y8t|nA;E+eXC0K1a#C&Yk;Lql70Cx z$^(Ub29CM0QYL~4X&tdeNMSM9&D>GNLGOtMdZM8K@mIt-LA(*}GcNFz-l!iBp!;cq zfBzZ%2-oPMeherxGZC3UKeAaX`f;{8F4m9iQ^@Xi{43}5BU~d<0(e2ukB+nOoPKNu zJLyM9_Hn#+wjsrdS{|%Mr1hg+N)w1hL_cnix~3nc-dFUaL>w13XOZrjPBXHpdV_JR86SJV|6>?PhtItRQwhF z7<4+^Zhc)pE{l;erK=#49fN;&hF9kc^kd1N<0gAS?Uu<}pP^E@zyYVJR9uBoP>94O zOALiGYq>oz! zL08a|@9!s|U^c;W@9*j-kmT~q{RD>KeD1IH6Bw+Q)t~Jr0QeakR&*}QK`5-hv3G!y zDaawj|G0hv@F*VaC*a|F-`!8ZIp^mZ1+vp#-7U}c6ChN#+2p-%58iXjttGEsdN1Vh^e-qCV~?KvN#9qkB!8MOsNcY1pa;;qXV=XA4{Z z?jz`*&J~FgA3X2|;cO7Lb{CChWCQjrw+WOVBBxbt#EBcIj7(V3-f;3AGbj^D~}X0EN_f>1Z_Hc>f>aRc&}-3Sxz zMu>t1U^BN+*|vDK_YVRtc)18vuJ+R0FglW*W!#+v6@}_}HWT7mOZY7w-6O+%$~4!# ze%$|gc%%G+=G_Q%VUNsC>zn4?#TvT(wdUQb>1q?tL4C&(6r!w5X{33n{dW{p2d5?* zRMeP=u?zSXDDLYSyqIj8qQ>N(slc;uvbFloyXSj%y8~LaKZflcw)m<+H=(cY-Cc!# z>t!*ibM#woY{LBP14UWqdUw02WLTZ^D0)l3C5ABeN3o$aCDXmT12-@`ZH zLIf;`!O9uJa~yHtKHac9e0S=ZU!Li=V5d84roW+gcYBYZcenB}$0*|Phr4$#b|U+$ z-MhIa?Nad>ckf;!h4>`|TxMw03WYT8-tDM#lr!IRb$DB#ih#?$*nQo*T_CJC-MgI) z-gDX)p~&dd?_;UikK;ir4toW;Kc5aqNqMr+LKAScNm`Qr<8}fr*LvyY1YAVG6ccb= zU~p6Ak|T3gSr@ElA1vy+q~dgN@VzQl1p(1PJ^G>-j!;Jr&;B*DCoByJgFD^**`_&r zUo)hYMD@j8J1uo_U#`ut6uD{vyoP~`zQCnnO{AjQ5aELiTup%|FEk8X#g7sWB^MFW z;h0J;X|ZdfR}5T{Zmaanr3nmVsEiT4ZgAWRZ<8IwH3Io^6jK2v%2xag_QVN0K z2BC0)%4DGhwEQ^+u4-#b9%SH}-7Rlm;1bsd*I#DfD%Fog$iOuvC#uy9t;*;xp7VV{ zNf$A2P5xRHxC_E!ih(O_LdC%4gs+TjO;z|R-U-{|4=*!t*@W$71}=N(zBpm)LfZWc z8^FI4w(o@P-;%I}^tJ}@?}Y7y0eB~De|W<72Q+~H8xywk29SQG;r~J^uJcp`Dwbu# z`X^w{q1=Ler{st9=IPThy)KaGlO*-!6bsOO_!_DnYQ+o-r!V^^Fu z&ofk9LG$~^sJPmB(g*G0m6Ss|9L|rV6u#+I>>!ZR9m1%Raz__`eJp*9ip#-Fv_&2q z?|neUWo-xNSBG3&0n(!nxwy_+o!b1ohg@oE40i`i&(?qB-S+eBaIM0{RmaH@`@uUAiR#^;xZ&u#MlEauGKw}`etrJ$!$#*E6H@>lFf&+ zDJJ##)yAKW*TTHph9ltj<-Qv{M8)z0XQIy$9~Z$aI6sPu%Q%Is;~kQtGhAF=bvqx1 z!&89)k~~X5oWxRGT=ux3IG_uYocw4Zv9gFcglm|d9V-fa&{QRi7Ce^m0ixq-Y(^;q zF0;9v>T)K^nt9i^cUG;>(k3D)~=_eK&Y?d zhOboAjDAIe$4jFToiY#ENHHH=TpBzVyMYKJz@;yoeGn-Q2|EZZk`yG-^)LRp+^bWZ zrrCZ5=eGkXvz2d_gleQvF>#vS!P zJjoWO$a8UxE|W!ETzKZ_sxc!juBjn5nTsnMRvS4n{O}qsu2BmK5h~{IWiBoYqIe}2 z*L-@3a`Y^=&gajTIKvv90D29CjHnS2P+$URB};S)9My?@YeaRUO4zWdE+!LqPK5#y z^i1sS@uhqt(59%oP;nObNJv(A28AytP68WZqP~x+P5{ttM!qc$lCn^ntQIz1h@p^z zl=x|-G6m`dSc9iC=Q{O|6VJ*+V-);pqVz$cmDHp&A*uXlj#TnGMDMiFp_xUt&VEFQ zevM(ks|y${WZx}vdFE~-7`(~oID8K~gltST=?Fs%qIy0Frk~9DvME@`E+M6tG3Nyl zsz($qS<~>ekUYRL0Q~gTlK^zTbn5`vdk8-V*rsh@y63^eB`pX%txrZ`wm*9x9qX@> z+aXObS<(@5T!`F`TE4h2t!fR~C{EEch^rc~ql8>&7@TMlT>xHNHbMhJSfMl`b92PC zu3-xI0@{|@A0f9B7z@bl+G)Nl?tNvgi&aF1HHM39v8mD13K3mu9H-WQ)!s&_TA1NE z$VLFU9hn&@Y%%-g_2hQupV)F{a=Wzsem4A7^5y&ip3%30$a=d~1!MIql$d zhvc7LKg#=(ew-WgS~gqH=trZ}`1gyR8m%9HFV>G` zzmpHQ7{A$m{CfS^T&73#BU}+>KNj;giX2(=qeP08ew0-O{fNxI=tmhor5|m~d-4hX z2{G;DFTF_qS?8jlhLDN>8`*hv74FH@W|8%v; zan*8wYzfMs!he1MhI@xdE-N{O|*Hr05xB9XnKSyohQ~*b31jMI6 z&X=ey0)WT%2Ax68yAmLk2yn{dlrwN7#C;8ba5uCYMip0+aRLxBRhrery0P$BE=dVR zp|Xvm9jLze)&@4?;+PyLr^O`;j@m&@oWe6B4~vgZk-87)ha;3?AFx1lidrKEEIMV@ z8`6MaRVF)45V3_1>1%rp-%g*qZX8N4+s!wB2-1zZ09A~Cbkl;FD9yAA)c~i}JcT=K zjV;79+eTa+k!V2*1d!Yg_?4N=M21kUP3a=8E)fCl>m{Cei->Z{6>m*HOslya27%Mp z7_E`qT1lmeNdOUChd?`BbXmf>vR5w4vVWuDh!Z(j#v9AmE1|NEPJ)Gs{!Yqk0{S~M zRJzJ-HL-;o>F?N-uQHx_vJbbDlA^~nJ9&c?#czBX1^=?eLS}Y zg?*SqvY2u5khZJrckR{ahrm%zdVoohGtzZ7qew8*p;!q9*bn8MTVyDwudK(e#btb) zA+l#r#Gjt*2i(Da=Q?kwa)z0Ye(L5SKW#^U%zj6Quj(X{T$$M!_B-xbvN&bYSa4(fU>buf&nmn=8nozS;3nH@W zU=+}K32e-E3{=*Repsrx9kV2H1Y{Od#dh`N2na-MZMaem)>+o~HxZCqYi#c$5!_f& z^Stcm<;a!#bOc0Rw0a{9!5vP7!s8o_QOxK7XjA}VxGryLV47kvgn(UZ@E!`w1jGUs z3_-dqQQg*J&_)wFx^7eNA%w>Z1x2{6OaTlsoMqLY+)*{8>;^)ENO$S6XbCTNDgvC6 z{=IyK##ULDT3SJNF=~_WA|Qr>R!eeqz2)5HV~OhO<*NnKHu!K}bz#zq z00}DXlm48JI%4-+X>Wa|xZEh9)DIZEm|s^_+FR3&S4}lz)9XrmXLBP!i^E)` z?@FaTr@SDY><=qeRUA>MHmt=}Wim64nvgRUJr(3S7EQJyxN&(BL#LWzTNW+$SI5;j z*q{%$HWCQB1F5QY#g+EOd~ZOucv5-EjG%(9Rws%ZfQyqOZYkqOZWY1Qd)e|bNz|z5JuHNS#jOEk@-(yM{-?)Zn1_~YJ zTyHWNkRVBM0K0UG1}r180PbqqJ3! z;0p3!amMUQSNm*MpHWLLtrukfo?eNBY+cJ!B;QdwypK4jemJrf@A(L_RlU+5N4BaI@SM z!^dKn3yNbfHwbWW+sX)dNmcc6i_QW?l>G=% zYS#jEIM28i(mJ{yW*g&`m@r?fcHK0dmEmeFTxT;fT-FT$WX52D({8l`Egy{h@ud32 zETb7L#ocO~%}lCQ4biz8iVr-5;|~C>aiC%{)RGti7J*jjOY#$?NQ2_9(NN!u(3Arq zh7s8~<{P3JLo}0fk{1)CWQe8@fZPqy9Q|8-BSdpJxu)~}Slaxu`T~gN>fDFBAew_@ zI7ST!7 z6IXKk^%%{qMe*xwri98j4P>&^oQh?~w58}64|a323PrgGn4dEp4(}kw2-YpE0|kjJ z)}rW{Oc%-QX{F1-vEyjV`Z0Jq+a@5MfJHzb1lAmGUjdg1qXhG?4+>v;E}0plof<7( z+%gfAuYspgf<;COR6P@ z3~2=!BNXCbWP0N#VsIpEmRtl77Sy4RHW?e5w@wocG{ulI6L_{Mub%su&8#v(r|N<& zJ@Y)RgORCyO+N+Blli2EIe0o|h&Laxf{s?kTk}5kxHN|Tyzc)zOwz*;c0qbGgxx@l zWg*-FVYe%%@bDKc>VD}4#bEgI5#(xYv`s78NZ#lhI|a?{P8V03s#2Zk2*NH0BAo`; z`V+ejAie3mM-X-~ZwbQQ#vAx~&L3urIL_W&%3)vTK$<wR6*E-DDdqN_GDk|_eT(KzX!rT*p=6vg|HX9 zAp3{<6ElPz{fRY%-6ob5Y#ujv!*Q=_8*}SV{5s1|A{w?oaUi82S{QDFP`He>a5DN7 zj0+HbO@HFz$~YeDPrNvr=7#>nnrcFYi_ct-?Y*AvPwYr)6i{CPt2nDOwHC1M z2#bUrlWMla-eX@!T15$2S^udRaLjR z6ts$^zIf=-*2H3H!!AGz8Zr!EhpN`Zw&P6CY~N%XU@j^Z3r?V^#Q_R$n5`r%XJq{q z`>l-4WSI|o&IHgW!QWP`iN#AnEzl5QR8;145k$s8(!LR_`|^VT}5dPL_bYQ6JP7#`^kuJx3;}mgb znJ!u7NG-(3Z?8__vux%lHA1LdoH{L+q_P8)l;b&&!AhZ$Rb?d>^I1KYu@+}HDI-&r ztcpe=(qfTOS7K$~x}S0!VYMj({dCopSX2s?tV(Qbh`wEwthy*@p=1yhFwDW_uPs@< zr7Llk<}hnIS-In}D{(oE$iVU)%W3oP_&!Sh)4CGR^L|a7N|V;Lg)N@$N=&K?c7zRl zvj`RqC;y85A$KLVC#pISJXpNH+?5zr9f2P0FLxz2Pma414;Q6WrmS+rk#xaa_Z$mY z0x8{rV@ZMVtGW_LxLfK47j+;GxbQs>v{F+1!$4%M$nMvfp2XQaO}b;i8q}C8d@?HlF7BZ;C^?SQp+ekiPxp^20TY>)T^|R#|~8k0tgif z0cJcnX1jwgSn5=zq_lFfu2pq?+B+&tU(qm8GcDCf0znhw$ygtI8h zwqcw{w-i~lSPgz$jIK9+^#=ea3Au6?C7;`usBTAf6Hzxfd1vl{l-jkkwWzs49Oj54 zRH^A67D~GuYNyve#1*}Ex=>PB1jb_Cnt6^c7D|Sk_jB-E=B+_XV)=}*IFV{eY?D_( zRb)^S*)hdLSQRPtkFF$AEjDgRZ2e6YxviME?c00q$}5{XsA@nMgqZ`R@-S#g4DbgQ zD)%4W9>=0>+NKB=lg9YXVez7I-wrw=?fkhiop`-;n7nSxB_LkZnjas!) zzw?=v#5RKP%9h0W^kMVUArVgBY{DJq0wf1^l!DM0(KRp{1F!}1V#0QDTzPT$BnH$t zjJl4!$Sg`7ScjC|*3^dC?Un8fsm>SZ$C5wC z?avn!Zkd$zbsiOqqvN8Xpu8xkLW=8^6pu0k(>_peDsSM3PzegKaO z5BU`y70c?`eFT9f^0z--!c|9!&6aJFi-gQF4MHlm`|tU+|U^d9}inZCLN zpHyl6Ba7FbKXJLQ7>ZSu`-&+J^lcj@4ph#Qk#)axLDV?gsbg6Vo~{tx?JUH_k^sVB z%w)3@qTA49W7O_Ibl=+)P$Rk>;adQ&3B9+Az=#0RJ-NXnOwh&J!^?>7KFHmlg>=*L zoXlWYNcU_{g`U}6Q=qkwqw9l~B(&iaq+4WDqRXjakK3C8V&6f!o%PHzR{-N6-DaTs zfId3L4wLKU90U$b=IFtJas4EuTgkjfqozDqNB5dG%Sl(|rwv;yKS>cXyNW`yq8|y> z>n&F0?mmLEfx|&->#KmH0!c+~Dk9NBq_hGGZD{&2Dl?p-GDEJ?m9L&0576#o3=GqO zIu#07ksAPr(VqjG_-V7YOpSc&5Ej_D`~MU@U>{Tad-5%dF?xc0YYsME2KMt#@~v&- zbKLk<e@47zH^RPO9TkgiBTSrH7-5ek+a(r$Wy!ZB&d=mq;;;(+brhaeCge5pExG{*h$(7(oqJ0{f{8Fuh+31If%oG6s3^f0 zT_Di(M};YSu|H}6?0#B**DBmwFAGXtZz33RZy7_YyIPUe9*09(;pKx~COyOIoJ-Ni zEHiz8Bkcp!sCK)9J{WY%pmByOf29{??k#vVuVHBI2Wc4fC=Qj2&jG$%TvQyuy&U~XCcJ*{+gv;Lc z9~8`acP~ZFejJx$%e#{2mIC|I2GSDY@W$sO4Wx}ot=d1*K)SG2yuX2TX4bHIHqCeai*4nN0?ez7&uu+}qf*v2VT1 z_WK_8Er|X!`&NaQ@Cf_XT&(Oq_N}=XA+v979}bPqW5GUJF?ycaw~!xY_ARQV{l~Iz zRpF|5Cv1;D{2KNxYpJ{>VGF5qfg5L?-cf$4`n6S;(OA8aWFVUzmMS&XgkxWA z1*H`u8t#*Wy=y=ZV0#5OH$bcO3Hzq$#VDgobywJe4{ha zn52)&=q+=&nz){+gdFuxuV}aeL${A1+CD0pWA0GC$c0VSij2Z(G)%!pQ`XrKZRtNx z!!?3FYyF&0opuj2TodTFM7~qJ@4JJz4y5s0o6~_aFOcD z-n;+}mn>YdYACuHa<>TG0aop50;s3WEiRvM9%qBngII3 zrWQmANu`A1;WA;k0(JuMa2ZCFW2A9fwXmWX4n@kVdm?qr++NJ5R7k=Vr?xPW4KeU= zSz5&7rGo`*1jN1|Al4&Pd;=6mox_xhujk0LOBO#PSDNlxES3r1RI}3AWz40nR36 zcaemLrSfHw;^DHPJ{Ez8%LWP6b1AGnTNn$Il8;{P^~}R%<8Dw0hKI{WH!+u76(=4M zoWIeliI9hD4otASdAL$?m&%qOoq2hNhpV<3-994X;hGvIfO)ubW3&+hmZ@!FJG{&r zA?lX!nzq*YJ9)U~(?^yU_!V+<_!SeiNAW`FVG_9@ud+kI*TF&FnmvSIvk%=J}Jx&y@4s^zyua$VQ+YVT?o{I!V<_ibv4ZRmZ8l0_C zhfGH;7gE=#QJ^M(HF$dUpgF<=0@}wiWT9!^+1Z*1nOmflhyTox^0`CwP758HNTFxf zd1loF?8PRh`=CP;#c0&ilOH_B10*Y&LfSUp#GUd@oW#u0lWS0UUxN~U&Q$aP1*MA9 zBW36U@~4F~Sy!kJdhMx19&Mr;Py_@7ww%dL$&K5C>G6^l2^Zz@sq{FziI%{SgCH<- z6HPyHnOedTBF-RUJGnMMi3N74Y8FIxDRz_?p{~bnrKZ0?PXvv3*$Cb2#4$9CB5h`PVmk|WnQ*=@i+f)tw#(b#}?+pzKzY59ZL&Om}jw>6E? zJ6jJ+96I)gP{?!h*7{A$m z{CfS^T&73#<76QNohC+x{U|?#ew5Ep`Vp8K(T_H-KN0Fk=|_nqz3S~gmg|}M(-(_(=b1m-yP^m^s#ZV8{OL;IgG%|hraq{?=isYjp4QBt*@jsI zet@S#;>j2DO<*aW?fsN3Goyz}sZInw zTRw1>#Ykb6l4x4Ys~pc9SKqt);F8YOoGkcY-cJas;;ko;hrmu-&B3Y4iZNQFJ9B&D zvUUuFokqL|9jzRwj7vW5g9P46%C!HQa>VYGd2e4Y$4aJ$mgSZ5C5NFh74Ei2+&$$> z!{kOX*-`|;qNwsE3p7zhzs}UQ>Fv zNGqJ-n?!C7c?aAGG8q1aXAG$Qrh=32BGv~`l+KhdftTY_Ns~&caH$f&^HG*2YQ3h) zmvA@|I1q-~WMrKwU%E{7fqGt5&j4>6HtT4uDw<4Hx>bGdZKtJ^bwm5=y;c25SYu4d zI|*I}Hg212R;Q|bskntRQ7c27G=(!{Fd&OduuTEfnxD>l*FmaAXcpwUr-W-4JC&;b z-`cIZ>)-`T_*P~9NcoaI2lU}^f!9oc5nR4xD?Qbz;>(wYi$1DC!*9w;5mGS^MX|oc z`SK;S81Z@2sC>y(EP$0|w%SOSFG->TOGJsOe958$dxjM1@+FHjq+4>p$?44Q*FTqU za!OWqwtQ)93-dnHWnfwRgvrT`qM@+AkxA3TI1AlU0n{gMM~_R7W_&2V?B zg6Lwg5y{li4KW8-AftkD3nw{U-YlGn;X_gy;46|Q4Jm4=zL`vvQA(nk0sz8q)@BPj z8bVhT`_scj&*m|wRf$7sS{LiHg(; zA*OIrRfo{Y)G}1r^MKSWZb)Ossv3<`$XI1V$Nf3RD!)NTdURwD&|6N-gE=-CESYsM zvduKi_NUwilTNA}Je^H0f2^=+=;r*+a7`|=1QF-`?WmFZz3R~u^-<`7u$SHp5sOAq zhSlb|y9U^7Jgi2f%uwcBST4lNlwNXF8)I;A1w95j1(amJ4deuab61p2AF&rGMQpc& z^=F`T!Q9~7p%gwm`PU2ypQ7&$q%6wD6zvUV)%Fs-rmTXLN*3%FP*wNBa9Rci0Ltp$SUd|<*c#+nLcPRtyd{Cs-$F} z$F~(>5n==mbKIOJQO3R6r=kJZSG64DBXe&nea(a z!~DW%Yq47Od!wy&|LXa8(3W{WR0Y)o_n*0zu7nmKov`jKB|=Cd6_85u6fk{42~9|$Qrve2-GgKPCj~frYJ$_%gQM92D4tn*7L-9v z^x`O(g1N9tXbmegi%b#s!U-xaCcwao#mZE;T-A51*5yzUY*?8puH6=S`-mWvbvAH2 z1immI-|n93uu<*;Ho2oO(?QnN$hu#q3f;MsW8e>~r(fiD>bY$L>iFnT#k4DhC~zhx1vM zhqcYPzx}jXc3ElxDiwJt@=m{t@w+W-t-OZI#XdWSN|TCDBrtLeg~{IInu4VJUZs!w7v z`gbjUlBnJNU`;>8l20DxXn&~e6YGs?M+_E5_0E)Nnu}zOuXLuyRZ0tAw&f-?$3iaW zj8wV)?FMIrix(~~lL`zP%)TW`)gGXdZIObP+Okz1*sBw+UFBLE{9+LS7yTIpDN{Hhsu=Fo|9*R>VWpC%>D0+DYX%IlAt_MI1*5&P+igAZ}(4yXua^ zln?MAU!1)0#02=T&{WGMYYL0HVyG=N7+ZJZP7ZRINhuuipD@9hbaZTsd!iJ3Af%le z@YGOgl+=O#(Ji+ed*?}Jf_QEkQKDoW$54UaR7VyneDqr3)MgsEFEoi%wLKG&8t zsGs9_{PXvbinTS=g?y*w6AoW>pUGPnKZv?@J`~$eHA&9Gm zs6WPXIXb@H@J5nW2y}qU5m;J)qZ|A4u@HeC9;6HOJesy)H@RivGW;Zr)fk*36vkM#rY*tX_ zIUHamw;gBkNMDzm;ncur3&OQCIFu(`yNYqQy#ZTnsTvVS`CA^AHshI}->Mjv}UQLMSFY`p9vz(O(tZB2LF*L(G`pb7>ma^p4E0C?$H2^XpQy zZ03y~LRDSs5oJO!jMLSRlD&&kpplm4Xg`J#JW|O`4HC$>cCB(b4Q`2))Y5{KBFdn^ zbI)DWbGOmN+Q(-s$SkF5M9R#g^4nyCQyfbgXo}&C2@;L?`H~TF%=Ip1xz3+?Z}6;t z7_;8iFAkZw&$8nomZ9dO2VGb+W?kL~i^uoDuA#q9xJJeWxQwfU%@S&XF#wM6u8&$j zS$6S(3fcgI$)LDc5~FW?g13S&v?0){Bv;eXTL;ZpAY$ke-ei8h!FdW7ezx^!wN( z_u64T#kRksS~-Xr#?{Ks*Dpw(1;FF0)ynpE6pX!Gt&E^a3W{+I+tX78Xp=#y!*Mrr{v%CEHYGrx(gpog2tvosUWA5gCwOTpJC&6%s8oFAo zJX<~3-%+g`BQ0See0Q~Ske2U$TD7vp(cN6Fd}p)82dkCAdW4|42c|wQIN?6S_EUST(?vUv43Wa#DpseKu4a;)mp9kA2l$~o>CZ=RoNJXcqv0Jrej_y{o`>VK_K`IG@Jt&egjL2;f@1t9?=BXnN<< z)Vq2QTQM*?gZJy}U7bN4RHbx3uHKcs2Z#5+R_{s>AU7WjeHP^T<$6~#W^+!ZSu@392oj3SS@Qtry1K2BctSh;H{8MQ8N?nOU5 zlOPJ-kjNW`YyDhGI-Qi?T+4tMrYJSIvlC6D ze{O)E8wp6heFjPnCsjW+&*qMkr?!zcQRm>~yb0G4R*XltQOsMs%U_mAFqIam2FW_a=TaIwKl9h{OuefkKh z6UfNEi)}|<>P2ijV%9vywqt5csSI1O?O1qQrz*A;+m5ZyKJR@XJB1jRi+=a~5h|vU zty9uJ$F_4mWn{b$C(S-15X5EAdmsNCwjFUuzM5@^8icsuzi~fSXX0~@koL&Goo%O# zr5V+)GZ+=F0KmOKs0ymUiy@H_M~`!^__YlvS$H58fzemZ6FP?JU8-~)LkRikt1Ve1 zs6RkgzAB}d#3msAi}u0UzFx;bEVc=XnUHfus4n{!khBK`K^<5B zJ!ccRFbCztigob6$|jiV-a6VF0_iV7Gnn3vTdvAT`;dG6FF`Y)qy<*RIW$ASt~sJ- zm#iT$3TZUMXv95CV7586rlY*-`&+i+h#X zERM2?8{}jBAWInZuL3ey8qod>?YecEP9x&nt3L^30Exl0QBM^=m^} zX9?rh`1ek+$p068q`x1AbcxS`U*S>%VZ!Y1qf2fgIfDH6gx9CU~cp#ZHJAT`g$ zVH~GVP?*3rEc1xCbBXojrfg7#4s4fjz;6>Vm>|>O!`2rKvU<~D z3Z5IF>DUe*eMlLD5Z01a8+lYcBgtfGZ{r(!a=2}^5jeHjs3fk+?Y6%He?!GX#KN(?+o7)lfxtiLZ-zw%YnSKYiCRAN_3bhxl4&_p=ebK1zi5Vf|1T z{7V#Rk~kkbDGmTLV~e?Ng&o%ca$a!Hic*Y)Tn$KyR^# zLzroqff@r1i!Fx+XF!-mbhSjsL0=fAA%NY)2D2zudn9|2oCEvFbSrK^ad$J}Y#fhD9Hn%mz8<^c4sT)VvzS)X&&F*BA z=*)fWp35$GP|?Lll|oY&vn^<_Qq29PifZlBz(lY@eAN1R%tv7A33AjUJoDnKHc_)kEAzz#D4mn z%56xwCBMJDSyKzOT;@(M7Fn!J^UIjwY6+M+W>97BbPLpF%rMmG=&`$uG6i>f&~A{W z#l%(mt1M4807EeUNY-oabP+CgWSBcW!2PmxvIEWB>7x;;Nn-AF>#U!HvX1tLe=T?V zkjKwd{-$cv>_oGtFzy9Ntg200B9E#~4X^QL3|cq}H$0^*g~)WZsg2tx#=~<`RacrX zN#E6`a`n%zHr;>f=X_X->$j7b8uPtl{);O_US}%&y*pd|pd&2VTM|>5WtV>H1LnKl zl9*bbS49{~^)gLjD#tm~l{V;NEY&2Yj*gHsoKtC{N=tcPHv zcRhYKiD@6?dQ|{G*~8h}ahHq9UU_7ez45SD+j;o1s<`2TP*=s-j03uwQ$A$1_dBJX ztd$xT%FRKA8O$Owg%q=xEEK4lPBCJ@JB8*=%=lOVL}Zh;mqk#f3#vG6TpU zVzD3TD zwr$;ffA1gTHg4;5_CAf>IOD9no;4?T^8LDpCzqVvG36)laT(rJZ%onSG)aan+>ozY z0VUKBZ@PIKF~++rbMb>Lb0^KLGa1^t?p1EKIo8=->#_l4)yyWz`6+pLub3LCL3s3N`OmLb??;{_@jE`X^kABeWMg_`B&?y=M}?VX7m;d5F$dXgo%nBgwF66? zwkx~K$Y@0;hCq7zX>S*W*FUtSb|3NSoq3VwKO@w)BS;iom;bJh;ycOfQ|TnO(|KCg zr1mFrXr0+JezCzte>}<>sPLh_VhIYf5{UrTgf1Uqa$!E+g@NPUS01RJe+@OXW>Q# z#d8+YPp`#-Si1DZlTPGLh);(+kl+G^!!*Q2N`~}2GcJ~P)GpyN28<6#1TZJo zFqXx?Bjc6EtSf-o*~T_JO5UQhOY4R3Rsyp78C|w45rs16FsE!$c7gF2y<@{7ZDe{W zn?4f zgpQ&H^n#*dZU_#lh`Xj7YS-yjwf<-B#OH7fJYn|>0&9?5Tg+z9A-HxxYG1LjZ1DRV z+l#jltguP_n$Z&()_C%_kGOWVCFv9;n^fjG|Ee(yuq{L{XT; z2-%;?;x#kMQwN0^rXr#u46PXsZr27)H4=km%JN|27ecB-8tAUV^lhNZ$&f=_DI<3N z{qvvEpB{+=>{;d%>kq+$Zt(>?efmnwsw`5KymHVg!;C^zkr)~8LP`^P!Kz1XxD$Z}oTL@SARk1l}eNQyA-9COY zZEp?a-jMCEdDpQyh<#6Jb^gMs^xMk(cLdX}^=<~hQrHSsq4NuMoy!4zv#+g!olE{o z_bX#Ve4hTO=!{r@H{;!x*_h&bEn*80^9^HDn15)+>xlSB%s|WMCT2k#W4id{JhIxq zi#`xGI*Dl5KTa4AJS-b$g0Sks8)s5PF5vFh?6Ssp@_>*Hx(~kc-T^FLWTni+bq(Fd z-oYZ~bNA!5Z7vt>TWxLCcT|LKsR*5xD#I-bd7OP=JAI+E2UhsDPyTCa+#&{d97V*L zK(~qA(eEnvYkTB}!?5UE0=;gSv#|dPiPc~615$JZv-uACvi=5M2D^$TenBry-iqB> zNA%_j{6-VIkuS}CGJOi5vRj?LtxG#qm>(ja;R z07R&voTfP*fHKbK+kwaP=1fBw?{H0z2@M%*tLsvyKS zV9*IiGiABCRhgal5K3{VyNd1bsNDX$8Wb=hGNBvIM)yT>;7B-o=ak1>pqty&K-Y>R zE>^VnP|p=tAJ*yN;k5|Bt1^yncT#gnxCyXx^l{%TAF?QayN=-g>>Q`NRff zjay(1x%iECzz+*dpnnOps(pXzZGLZ*2Zwf=t$$R|pM-}~b;qk$+SJ>_)`U^+NM{qaHGdeyd^#wQN&?mn=Q7P>4Ec32_+)n)pQyNz(zHEo zF`$D@U_z@-F8kWwTVnE6VB-Wafa;1Wg-%AAy*Xv5h-)TyI&DCD`_&iqv6 zV)dx5u+o-tqo|}L1bGIZx;8mW%~=a}SldOaZC6(qzPzRbZO3h#Wbg*#OuDDA4YhZw zvdR>yd%>v5jzUy%1jPq7ivq%|X+@}yb%!=(^C2+}zEsa{F2c3Vgg_$} zf!2m*XV)kI{RAz_#Qz*zZIf8clz-krzhwD1eKgH+{c$?e$fq_HTn$^ zm~S<#SB``7>YO4Q^}hRGnJ|gQ-f~a)B%>m10(eh=$BNZ#=N!COIA7KAWwq2fIMl;v zj5S=OGxg)O%sxmYp7FpXiKTRCO>_@3kcCvxRdqtM zz@@m>Qx^j)Gh`>i@5Q{vLUj0y;{hGl5nN9abKH>P++Uja#3rPBg_3!j_%Z4=hmSmz z%n=XvTS^AAN+fgfe;=45n29FoiQ^%FFiIydkxqM;LS`TtBA5l)B89QQMN`F#_M6^) zq=~XGdiR?=10BolUL!T# z|GY-hWM{j%yP|4ae;lz2+QBhQCpy8OeNg9VOiVF6LaP_M7H1=kdQz(mJ+I_06r{j| zurvZ8`HZI>E5X7_9h+mrdR#=alCgeL%IMje>2z7v2>%j>HoxM7DknCQtIEcgKHyPU2wNgXTjK^+SL0eAz zkVc#p2&8sS>%^$2jO$FX%mmXMy#P(1Vsp*YPpcCIPY~L$x(*fF z=5=Niu=fX;@NY88Em8sN;L(ts=NV+#-2F)MR0P$cIr;o7$hzEjutCvt9Mkd!N{3KR zA-I&zQhsS>BZ@e=QJ;Y;Oi2vw|CawjJOa!xd;=K`@Bzp<*S_9TSXzY>5!kO$*T5P+^IJG3BzfPe#6XP#)I< zFW^DSUkbZ@x{6{rUC@Iff-hyKj2hs~CSjV^St3Afc4(@!R#%0Ehy8)ZF6hx{FtW2u z8A|J~jqpHry$$v_(M>iGZ z{F=>u!jAnqP}QJdAVSVA ztgF7ix!Q@a>h4qYb-VdU;6$Ll^izkNu3Iw7H`Vw~c^hcCm6p#97w--)cpF%6oA`ix zjDVMXKwls?{IH!W_zHd-aM+;F7ae^x^OvfL4Mj^A+U#W$mY!QBSlI%RBJd&9r^e2uiCjEtioTk z?v~oLI6aVpQDjeh%JadX>}n-r8zP2GgZ>T^!QnuwXdy!n%A$y+J6L7~R~_3b@n^gG zm|+(|w9FX6sO_y$k=8x>&v|8M1x&4T*<1NW$dNg9d8$;(ZCq%+eVL}Olp&2KRFRP|s{c2t)RBhOW3j+csVQD8wvBna)Mja#%RF({I;r%J8dx!M92Y@8wcomeeunR_Vv*;pQwr2wj4X_V zVggJvd=jrw3p~b{t{qrSG-11Kofx_AuPe)sE6c1dnm;VXpDQ^4lA3i#PNThwDj%qG zY1EdN-;xf0-$r@7L6m&E)E@+TDZh!p)eykAsL)lbbbi0;7&n8s!_1NNZWT_Z!u39r62GhFj?1yC6a1R zgCGd9iGX%a5-ObJr4-}q+e}u6owL=GscsU9=Z!iEyia3u_`(`cFSwWc5947c19ymq zd_`*Q61XBgTG!rPw0#@&*Om-3B&f^S$Kl#>YqaQ-{ zU1etUpGXUYzue?d9M!_X3VQ=-!3V`E&^c<>woWZ;HoFVcLei<>iiP^$e6n&Y(w~%N5Ny zY3+u#nqQm;9hrz8W5El2-m4U!^YHU1_Zf@P2Xj5L)ak{@n);4+phtWHWjY^=@ z8uj?B8@N#$Z1@Oe|GXrN$eW~3t(S)Q-?Pj*B8u@8~VstVEr~+e& zdC8$S)6%FEeDjI%zlLZ^9xTCoPqP7UjDh*>IMB2=(fUOWsPey~U3GgWYf3I&`wwKO zd#HX?*q$^`J;FlkV}hSxrHK=?7F$EOTy#cVT3F4(c{Bu7v{cO^9=9v-#+RF%U(Pky1C1KL6F;K;e*GF&hK#fCpi-9h89eol zE=GA1!sA3avpqx)u94fa23IqM~`o z4b?fDtrEf4r@Nj`X@JL5%N-V<7 zGl<8M7)=T$YlwAW^@qdk;B6acKi!Iq6k^Nr1vbb$S%D4?pzW>U-;ca+Y>+!LV>Zde zb(MSJ+?s!YpY|_rHfJ>r$^?1fiHiQ|kH-;7T)(AR4AEN7+X@joS~?WCc~x>ApTId} zCEQTQ&2e1*ofEoo=bhr`JsG<5u8Vf-dplYn5l)Z$ZZl$Fk9qaxEY^oz!Scz}!)_`C4d(7D9UW%%CQ@O4 z#Mh;eRnf#MVc0l_2?L`#Uu|00dchJYsG6cdE_L0yrINUut!}B}i)1Qvx@oBaay@k{ zw1$}|3C=AU=thtOTbF4P60o}{gKImQ-HAj?vIlM_E8AEz<-|KHsCl7Wu9`UcROH;E zT@e>r_->FB6OP_38CJ7S5_)Q%YTL?zONV4PE_CiW6p`APv9XXO5mxxX&P7_PDRbv5 zR3TAGCmGiMsp{_F$m!jS)PAY41Fujq7D+ubJ2=`kpr%A{qAE`?c7a zT^Q|;;oPo-=uW(9B2bf#C5r{L3I%Rgo7hzSH%R)8J|auhk^a0ktCXWA@A9qszFx}Z zLM7xdTj?}oR=F6#kL#iLi)NV2n#%=0g>8K7I(R$oP+K<2Rr_~H#ryehrg-{~Ai(C= zdw1J+>!SO(*Zpg-p7)ZsYA#O=p>-69ffrIB-%K z8-+u7+1TV6Iw`hUoA({B*tAJw{0|;d8W~sv;9S)iIRQ3f3XWbt)hupRH{7;Hd1dF% zFE{%AkWbYdo`=BJt$S!XIRYXZMY695GR}C{*7ehRd@RZv_hma4<$XZ4wyYqeAYHSS z>aUPT1EzE#ytic`!ak`#AnS++V$yF%$(Q(b%;~;((yz{kYJw0~#)EL2=)Ba(o(mJf zgMS>f_vElF-L-@@;rFC1^Z}kC&QqT&QWw6Muuc-!Yp3VRIz>)ja^DR6 zL?wucLX{Ly7B-LxfF|e4{Dc`@fN0N~3V9`BY~10wg1tX9FfT8xoIhs7osIk}nqIO) za);siF^HPs^NXqmWovqF+sZDP&^zeQWJA3}zNF{Ex2ROxwpPymMHev}TfC}P{--b> zDnl6EGn;)~VrONz9<8eOo;Z>SOCp5{>;qK*4Y%K}&J@CsvBbb{4HI&uAS|HKLTIO)n&}oE+ee`6<^aJ$SA0A%6vecy2eUGjUXG-lKeF*tq?5zW)sxOk!m8 zzxZkx82+zD7baFVmjB=A(kYQ}z>YxTKCO1MK?Dmd?my1-w($GM=)x=9BtHH9dmqN2 zyy@i%4>SJMB@#fAO@bCgYia58s_wYod3Q90awCWe=3jgwi4 zQ*-{czMbQUJUxtmIs8|`R&SULd+xU8l(@?A{f6PU47ar$K5yupvB~@G2Lmbb&syH4 zQQZvQF+)E_pMz08p13_zkH-gwWU>s#E1d*P_>Smk&94z5>@JZjlT+3MnzbVcB1}1# z>zS?B#Na!48Z1a!NqoxP=TH;mF%zOyUT(i6fJDjxgj{egO=hHT(g(N14chlRy3DMt z4360KGkwOyZlUdXR9K$Oo9&;2HsA^;w|V1%_U@Fy=pEZ&B?iFf<^C|m^nhTsQKCVw zP$;S3J3%u`fpPzt$$IJOdfkfpk|=~7WsrA=&mYj3&7p$)meUo#>drVcU}1Hm^#fcs z6ECd};_t<##Ez;jYZ|apq$zqQS+FPx=Y zBb_A|nN7cLw+gTS!pFWY)5S;qjQHoZDOca`etxfdA8;CSnZhyPywq$qptF|3>ybH= zA?<@&lN0&^<)pwSF&h55VPAa`1fI|C?}3+1O;XFNuxz6TJh9DebtmjDWVv(-k^}y?ceRU>gAZV+cbkKwXRx+;(Y|xp1Uoa=&N-V)Z$i30pG3Hv0QLXlFQ>=*0*%;!I)K!KMqYEQpHux~{yk`Vk zJRFU~l?BVgquib~Hwhbb^sQ>?hTSw#pM=(0@fQ27GgD)UucQAj&^qyD#pv_=gub4I z5mR3ypqLeBqZgJ&#| zdK7Q1XL@lcXu9%bXl)-J2M@#;wkoNa6+>21$a-A6^@pw3>O^GhzsSi*V#?eX)@9(F z6%H$>Z674~wL^tv=KO7VTCVwXgh3CaD+LPax5T?pCDxPQ@sZZlUT5E&KQW11FKqZ} zpo0-HBr%QRMC1pKXznGoHU;_oF+Ka|olBZ0(&A`1JU%0en*re2a8}}FH&4IBSXcDv zRQI%6Hdtp=>fQGEqu|x0AE5n2zGh3ivfUiv(m z_(l~J997u=oNb^!g(U9-%E=4of{WF5(r z>TyJy?r7)~Lu7Dh$;UA!;J|9G)O2nDYpTKWR%feSi}BFQh)}ImOki>9Q*IMkPWju` zIU~EA(z!PIHv>rb+>nGlsWr}rd;KzyNt+c7TYAOH9#vS=LdmvyWJ*-r-i`h}XPr00 zdtnih8ooKwJ`+}Pbe$+E_Zamsx%EUKVgA&whl_ zd*mX%`+*^uQKs4P-6`qGw@&sDdtekEqsA|8=O7gdp`G^H;;KgZmqbhu{eJI;7a+Q$;?%PNjzzu01ERFs!JeDgcB$S0om7G1?63AHNo4iE^oLsv*EYsjhH0@_5fAFClJ> zHuwxY_fiUDiY89QCAkS?q)>@AKcqsWj^HzUx-6r0tbBEgjIiB#RaX`NfkSH~T% zH)8Khy{iuV|B5x5h-3*^P&fEz@!+& zd%<`-1a(ZTbYT!hKoB4@gFnxqIE_&vP&GzB1fcV}XhnOnfRv>Sp>Q-exNn@R(#&nnk z^u(|bPPu#_T0!1ZO;e)+vb{@j4u+|8r1wrMEg#xLNfWLDqh??;h>b%d?z%KMh|`Bj zUWB04tWHId_jT@>?zf0w@QgJ}4hGGZH?Fk0aZdcew)V^sZ=W14U;i*2IXpW(+yvnu zZBou{ePBH}t8e@63yCOWFez2oMu<2tfa@aCU0mz?opyM%PynkTrtyt?7<(*5L1 zzrNq_H@{n-__sc{+H&J}%lxa7K^FZhfenbl073bfJxkW{I$$e-|1x%}#u9`}C8r}i zvLaAULIA1;F4*QgaL<7lT{po9yJsdY@V4YqseM;<&alNo{#S+%WCD!jSUjl%3N559 z*`x3g87(mCB>}Nik_h?}7*E0W7(JLj^31)GUec3W0oVfVSJz0Eb`~%{;#&QN#)6Ld z$LO1M_)&Sjl+W{PrrUX2WIke8KNe?rT_UqRH8bHJztB6gZ%oq^Zg2w$hp2cWz5ehR zaYP_Z2LSDp3cGrgo2a?;hR#7T8mGc4|N0Y(u;WS{6ghSgs)8X9%knCBGXf*(ZikZw zOcB_jwrP7zP@jsbpAD}dAPo_jyn6Bs^CBcoFP5Pmw-G}Q4l3h+Y7d8Y3umiyI9p-od+`J+gm4N??MqZJ4U0unXXMk z+|nl8%A&m~I$DR1qK(_@0j_3u92i)!ZZpHQCDp%}*qNk8vU9d#2VKpp5v>NMcFm!S zxTMdGUaLF7{P|T}=UYRlU0V2-3iSln_T*`$$EHQY#ZDQ|&I6@4CW-Q|=+- zSdym?Sp|x&2Gd)DYituALG9Lo%L=P}0vkd=g<{TGEVxS$YunS&Umcf6lbp^;jHI2s zx;lv3z3EY-K zp-DW8mqJ0d3m|bmB1JkjwST&YWa1m;@uWw9j7L*|U1;R;OsC;*WU=zux^;fDT6sn8 zgJUNrAtGdq{BKwy9;ajc)oH{Dz7mHqfU;qYmG^Ajm?0Xc0@s@vPqhOS>8TtZ#!w+L zw>#++O9FGR|Hz(%lwEE*U@w@fXy)~nNDZ4pf$%;vN?XTbYEh)Rz=|W4 z$bH8vQoCvoW@7S6{ea2@&W3M8`Jip3g)ln=JxV)h57C7E`-5n?*r)fENDY&T&M_J2 z86CZKjLugxzGBL@HKMCv3{{C|Rb9qUB)NiKI0jnvhn0BfxO%M83P10Ulxh|dmD&`u z0E{WM?E2yd!iNTP>N}+Exyz*VcfNyZ8y;;D8^&YMe)3oP8afI?mK+DRex>`uv1N&l zhxxF%NqKq>cnJYGLXe3+hpD9+u?R{a41wzRhM+dXB1rZDlQIhhI?=?@K7wwXnm{jA z_dU@qLOdN_W!+2#&{CbJBC>=h@k{O7$j(9FnL22Ycy4aW^jBETjH<_@fPuK0iehrw(u^6fX z*R~zKF;JY3t8?hDFq0HMJ^s3TvyQ(Nl&+$mWK_Ryg|GXUjFmL^9#OdLu8E8JPJKRn zP`KpWcy)#9m}n}Lv3Mr6Ntl7Bu#on+iFdT?T~+xPF|7xZea`Z{uT$%g|WPXd22 z2E`{w9QF7R!W0lwE2dx3v(C0Kf{|$|(-Zagldb9hN4+!@u!cv>7d55j%rM_ku0M~J zVLpHjV)6PL5lXL0mJzhLX;=`ze+-C#IOZBfCguyQlXd?~>fg%2TDR}48mXs}$e_ zQbHf~+9F3~svjGCAS`qn1T-DUft26@(RI0i2@@MUI00Gsw{%BWChSi(Vovy*=Pq&( zqfs?}J4-jck~c_n0|xs%?H@&$?30L?Nd2OEG#BmP!wL~ek3zoi(G4p?XRH{f4W6qM zO?9F1s>CIGz~IDHqD$Gq@v>-3IN2+kei@t$oEwE8vq?eg^ac`}C}&E4anXbo=nW;J zVz8g3hsD(uf00qsoU&)8o~6?_w2XRFr98~~vL&p~sw<9?!P+W(zxc9^E)P3j|2#Se zncgLKFDgRioFm~?xns#G*2`gOk2$Qy-p41=9eww{)MhE$e>xtwdpdzf* ziuvy<*Im~7&&)!XvU?QD4jY#iA{Z;olC$4e(gU*tUH~7HmWWEWO}oLmv*at#tUm2z zk{G25Ga@)7|OEVoDQn(oPkj_J=PII-Tl9v7j-%#x|wT(90~imB2P3EkuowqYXguAY+Skn<=6a`rbb zC1UolBkw3s4z*mpu*Sc7J%IxS}WegV6sM{{2iEEpFhL z0Z8YfRN970M>>c&#iF-!YEeIa!JT+HC$c*g-hO$J48r)2LQ>2!k$fS@+?_T!nB01Z zxLSmHlRKhrq)!O0rWv{Bg-X~W`x;EE$N5?c%p%{&GX%4;fEiUal0PU?Lj}l|Livlv zK#`YtH?7Poik-)9RXT&LuRSG3@L(5gsb6r0$1h%C6QK2wQ9&kl@6MSbxust_J1)3c zP(w&kiH$I$6ImqYH7lT1DD>jS!J`@fEbAha!M`#E^Dy`*6OB8GA!wo1?hTO@!oWd4 zRDm>6+AbwfW+kI+nj~q!e5&zECHgK!(qFjF!vLc)2jO#!BK#6)&=X(9=GqFm!NJH8 zNs)wDe0hV51aT4Nr3s3vK+f{|5>(g#2VFe3F(&EG}Sc1Ph0I4NvS1DPB|#mIge z9sQF15InY2T(#|E7%R5S##Ba#YDdK1nmjMoo+B`8EN3ps1XC9c8dCeI)=TZmLo) zjCj`MAXsw*#3&=rKY6s#`SiT%#WIK1F|)(cCOg5x!T+E#$AUWlFed|}m?@?E^O>|G z;FFgy#*fB7?!|R2YDFxr2jQ|+DwHr@?9Fzu)cv8q3$mt?dop21aPC!x@SlQMT2;;g zLFUniGLja<%?g(>8O9#jT^`ijLYFZKFaL~=Dq-YjHa`!vUkG$?)wh(!P9Iaa51vtW zh2pGsXw#>fM!QqQoy6FdEV(nT{ZfYa*-}QssZAR*SrnSYN`*B#g`^p}F^o3L!DLK6 zBtTMHwM>w8n{*JkFHIl2w-t^(t#%8)$=KD5qwrRP<1V)JZSKbh$1E?h)%Q zx74rU9P5R2Z-|$`msh|8NTb>1di!+<$D86XMf7X~&Bn^2%u)rPP7_qZDiAV(h*T+I z*RC#MY};oEp$Jdvi^h#hF78H1_KL70NQ^)I`uR_bx159fL)luzU+^5tKxQ*OZTy1a zp;N$Cx!{^Swhd{8>N8hZR=3WbQMMP$Z>3L5=B)>)RtHirsfZ~QEKHg4$hOeY9L$W1 z^kjd@=)TjRJaog`j$BG+i4j#;~{zZxk#JDQ~CFcK1nOoY0MK#a$NjlI&%c-(Uo%Pp7678X$8MEHHhb z+B#!CiBM?e4{!Gke}(3EV6zFb6y!J`R=XPZ)?zsHY(Blfo3F* zLiQv8fqdx6ruY+0!VUGtnDNYR$+3MCmroN#3k^VF)o<6>{4JC7IqO2!w8-x>Ll?k% ziGL!kJ<0sJ)Sy(&U#XTI5k#Z$w*xNBEwbwNgem`@ihF5`xID_jF8frf8yP&d8B^6v z$kagLeJk1f~I+OZ@6yYSJ&-L+;O?$}xE4mzt( zI9

    WhKtr;VS4d_~H83^o1Hp>Lf=^@v$)De~}KD$`!6FVRsbPzxzz(|6Xz2;}-Pn+zWFgn~9bmPh5;nmqvgWjN2Adn;W8&m-hxZ)5_39au|O< z@}-ld5JEoB4xka2$P}3yM#bZrUF4QT$UG^+>O2;M>IovBcb+WI4A|z{S{M$}5M`*} z2GGq608}1-7GdpL#<2UrJM$%xr4$UJZ7yqNtc-?J29NY4H*tPbWvDaFyf~ww^5H7b z9MI=QbV}1`90gip5T(%E=b-v+VrFEhCmc!>jCSA0M39aHGEcHJ|LtCbT!5Ey8Lk#C zHg$qutg0K~H*_d6qCVwh5%!2;13y_GC~toa19>4dJEaPEy8%BTROg3Z=^Jmlfn89h z|81wfe*(i@}5F|3m~L(z1Rm zE1ptQl5l0x%Iv4)=LQNd%9=5iuukY~gXyLiwT&m%gCPinOq&4W0GhR?Ka~BGWYP?y zNACzu065f`b>F~h)FB^@>L80bXxX);OzGf_F>XB(f0|&PYs2w5FO9?0G&;LSM=kdA zV-%X6apX%k=$Ub3N#9+BrBzG7?CUH_yR)p2O=J^84uL^U&#w|OK^%b{L{~KqZ6cw6 z?c?EIj>D8Z7*&;ik~XD)mX609qmM-UdDr;;C~S?9`75w-D6r7@r*SBukd(A3#-D}{ zVMd|h8KgwaP*~b;=5&LR8ArDCd^7W3Be0WPI1j1}A3@iN_D$r-;Bz7;`H+c;mD{s*4J#!cEg&Pr!7X}{+YY2 zn~EnYXaECXna!;dq~eJgSuof|Nv>GMJV)mdgoEC2_ug9O=Hozq!@B9i5GuL;$m*Pg zKw?IxJW>d6JFgM{>ln)m6L$LvS(N(?2*-|h*?auLtCD}es;L7^qr6k*Ykhouf*9KYFd8lAPq987-Nj# z@*BFrJ}@LH4EAk)D7k7G#BwCX4r*@70T#s!B%Ww|90fz5CSlXVDV!TuSO+6l0xu(| zeq%c`pO=!?X!|s%AFk%eWG&=Os#tblxOqwNfCz|K;Nc7pnAv-J783bTK zw3Gif$_+0z&oonFsXc8?&j_}rwn|~HKdDO}CpGSz0E131_k}80gO(t~2TIi2K^`Qg zN?V7VgPP6p25yaHr9Myuu!>HXAYPDZCaOn9e?7J*I7u*xt%|i@PwlGeB&mT&8o}HF zW|HUCet-V4&zO}BvVM-3bCu#EgMcu#;j%7ZjFy>~7S8OZ(Oh6)v>-|wT=SjEw_k9a zW}nFZt>N7i%Z6Em)1G2439wY3&2o@1wZtdSaRG2hvQ~K!Axo;RI|9sbKAlXC*!N<- zgrX2{pSN70uJD*I;d^}&$6cDC;D4Gb!|jFTbxl_~+X=A@<$x{}T|g&`Y;1fVDLdJK ze7>}1=38%M(&m`+aN=vLAUlsM`%PeJki{Zoyz)rUzd_XsH*#Ak+UdiLYzRsP|3i-#$)slr@FjT=hEz-L336o2v4m>Nh^oA1@hK;~8UD?E9N` z`^EbX^ze!B4FRW%^NmfLoWEgxQaJIlh8)3bp;3NPkpK7`49|(NKUYMN-s)_gjPWcV zjIc#dhD)ltr1{3SJ~7`E`Ya3Zj|IA~K;LGcerg4L$j>{LKzcPtsOcZ0;83t`KEA^B zpVgVY+?l^7$9G9C*`=W5_l!IU!nZ2gx!r-j?$Cq0n27C}u;JLzoAdM(eHKh*zeY2O z#V+iFX z%0XQE>ej_j(6+RB9n&t;-0?GatuD3^2Bh@Sqw@(&&^Ch)B#eBrYK+dIl;DIoN%g$7 zg|AY0je){r;Y$#w@Rd8c9z36-)%c$dtWTv59q5$|hSZ*cK4u~JRDU{I{jmnijz zuO;LQk!qe@^0(18+ftYRzNDv0$=b0noB;wIvQnF1LeC+#$C5a?x&nJoa z6T)o%?Zbgo6p~GvmS8ba&|1p?Kn)x{E1>njsb}@41UBR;lM;^+ zX^qyK5LPYk_tNk@p05fId)bi6%h`Cd&hCe&nXoyHpTnLY!yRdJ>OG@SFD<6~lMxMM zEI+wJZ?M;ut@`ce9RM&aB&~@;f~6mDXmVtRj-RfLy5BFMA2j+ zD3DiUrGb$&lbRXDxaUW-orKJIf*?jjue{SOB#bf6%zIYSI+D_HFOKXMw6rbz_^`4Gmq^5aDL5ji2o4ZBJ0(txssn-VMd}$e;<9vjKl4 zHi)@}6UGSqT-{p{Hy!zV0WoHxGv})o_73161Il37L7>dhI2h#uRI7H0L`6-ukk*2hf6n*wcG zDE+w>-fwV*RpkjUCUvTAdutz6Vn8^-QpDul_Ol`ThP@0jMIm zG7`dU1gao%Y-0x*RKs^{AOdxhe^Eygt8Z)H>w!l%1b`#0%a5R}%xLIopU3Fl>j{uY z*aR3NBl7h5iP)?i2zRD@L(}mdJ!^hZpM8;CYx6W3JTAzUzSIEq6MRvNX%F=jT6SN0 ze5i@9W$kxco^Rdgy=sCIjGyfY*Y2xBJGn9JBcV|KyMMs>Rw?luO}OdY4*wowv1%eq1YX?7h6ubYHxnh!vlT%utkL`c;oQ-<+)s>}kw3 z&({0UbJuOBo%c2MO{Y?NNaTTtk6;{}=$Yt-#n=tjEJLmP8iQ2M#GliV*F8LKC^~36 zxKo8i@}d@Qm0zB=ITJ;k!%0YaSq}cvkH0j)CdNDY&g^A5Llvjo`62Yd82#KHei@MA zk9q1J=E@-%at(BTEAt{+>sNDygJaNKiP)VX3z8T0qi-&gA8Z*=eI&B#L$?bb|k3~uK;8)?%t%p$f3)#F4Z&7-F zOS1~;RHAsImxK)YNXmpBJciJv=PiAiu4TJc*8XA4_5{z3IJ??$D@=YX?7#gHNrAcN{SWVd#B2r4~NE6!|w88A9Mze>qCldud1niaPNBP5|7dYiLE z_c01bMu7)Jh8ML3&rBNPOS|Ip?>&mbti?TR3qpYx%uZQkRwPYW)sARdjV15E)H6Kd z{Vkks*U-(8mZ@irit44xm#1l&PMhk|Z2wG}l*7Rhqm+h25^;W7#(YWUP7r?PBu*6Z z_(OCBiLid@>JSI(<~KBntPcP?dbylLHeBa2&yl~FrX+z6Dc;b}zAWwWFbUmUQ8$w7 z%nKJQZ1KvqXuhsv^;%TY193haIqTKH~!8&h*z7$|l6&LtfY-Y8gmLY3X` zox;1fU7kK~o0yI{>yH~-T2|y;{3l|Gq9WW^GTADxE=EH060Hn993cB}txH1}(vT#$ zq?Hvn7YAMQmmO?SsHm&iUeQ1p8Z$~3TCXA|uqW$O+2BcfvNWz6?_zX^2x(RC?1a-I z(Ox~dX+d}$b~fyP8v6>UxRz$!gkZsfyE_CKY#3aELvVL@cZcBa1c#u(-Q9z`JHee0 zB={T7x%b_3`0rZpv4A~O^L2ey)mAgJyW5d~t;wJ;o zaM;?Glr&sN~EwnMX{bVPF@})MN|V2QdIXYOU`q>;-AexBq=wKwN3o9X!WEbeEk02fGv^G zB^G`Bx_g+subU;RWjr3;UnU(Tv7{|YJPb>Nh{9mWEKdKj6(g3IHnvG$h+?NE%u_65 z3|6TYfIz~_Hx>VT3cIwwHSOvFS+AYCPT#48w8mV8W=pm^P|OLDlCg^_niL)<5`8E{ zM&RCgHz0aMfd7r=rB>Ft0A$79sV~4mf!pxom7~)`TMMw<#$MJ@?Y|x2^8= zOuXx6!e*WuS8UgQ&1~UuFTMT^y5e+qTPHz@T@rKrOU17v`voP)wdD(Lli#&j17{mx zeMbsXG%?-}Hmao>>%=GhIMCS4Vsti~Nzs6HPND%q7ajTJ;@i@h&&C16c`MC;ebsp~yeqe^3msc%wO$ zSfmPXrWF2tAVD}2)90+S6JXe{;^AV?HvlwnRzg$E`ssh98W~zlwX9Ei^@N-lpAKY|g9+xxwb7_n_MZ!OZWT->x&bGyCG4z56kFfcB z$MzXUi8c~z-AHlUhik-&g5}N<*YH0t%i+v1k1mCp4Dc#((t}J&i~Ko{mW?iKSgnHG zxkoS1=)G}h-|@oZ7HdP;>cH@FRgpg&>Wwcd&0Rxx5p2$cgmx1PwDzQcEt#eWiFhqZ28M4=o0VT1rOhGTH*is9|FcY%BC zCke$vUa?lY7HD!IQgn8~>_Y6=#y`KMHQBM30q=aQSwn9Z?|kMhCH}lN=)$nGW}&9~ zRJ7f)>f?H1AG776`ZVfJyHmyLe9Lt9wfj?|H71nvJ620^^*lPCprFr#p{1fOE8K&w zKH!5oO;z8Qo?2wc}L9QQtUa zw|&9eivUBzSk`6XGGNbhzfj~;KrbK3Hx@OQ3GxI^6v7W_QY7Nn?AN_?TM_#|txlru zolzqZR>G{fL8v_uRQ^s%g2pK%fNRBu7;zt<2NuQolAtlpymazo7RjwgQ4o{ZWAETc zm6&YM$;oDZijnTa(4vYZGR6HNg?1Q^Q$A#i$~C@jiiD4-2T2m<`)QO?FYTB=jVBdD zrqM=do5PK*a70Nj;OJ#%8c- z7!J{WhbhcWjr>bDV8&0qRL2cwt`2iw@>ZWHxMyRa$b!iO0yc6|&o}h)~k#=mKWK8S*Q+jbH zo`=(>au~*9nk9h_kEPHDYHN$51wR6O*z3-ph;V1O*eouKBpB+3AIJ7Ey{%vy#4wA? z_Ky@()^S=^?Bz7AlEMW>oNuo$yAp4-s)ys5);kilc+cWdGzhokj_W8oWdk@Rrz%d- zx}iO^Mk=qK#Lk);0z7?WM$%3Mi#GJmTCp=5#u8SnZsxwx$n#q)@#OAWR~febNzNSB zKS!DQ7%fvW%l!TNW@aTrq!Z`3E*@G+mP4dQtGuZPrCRYfRA#CS{hKQ&!AY}|M9GCC zWFCeiH$+S;U%keVwq45Dy{dT>F#$xh5ne0|1v6AADm#>>>5U`KWyvOCBSpvWUGwGp zQ5_l0k_*2Y)tbr%jN1ziPd%J^UZ+!1aseWtKyX z7{9d_(Y(niZUH*_6B%eZ&F58=H{*fdCXH9VQ6tk)SFi{>)j4avf9BU)SJG0&}kLZpuVXXUDj#D#g+ zX5+PAYWy_8#u#hUNE`0y6(Og_wN7psd8fBTNhP2i9{af3Nn zX87K}TwOdq@wnNevtshcCAKGOL!1bCfV%irM2x(CU_0NsMC!!N;sB7vu|7%Ll7e1l zj}`~ZrIeRb?UU=<+_RJSD3H%mVt|1IF3&W9^>AK;%QmNQh~D^$?!%wTQ@m2`UJWAa z8Ucf!%JTec79Hb)dZO;$L9ADZ6s#gZwd<52+>cUz75YtjA9XqfIndC%wInIG$uC(u z?T|}Rx2*M?&r3Y9-xOavM8kQ9xM)dhVMxmqeW>Q1h5TpjNt1V09M`Il`qxJLj{7+e zpS&_DFKuN&U_)S786otGNkuxcRt zL~adwM4!Ge<<0*S#*nNYWVU!=s!Ju)-W8{(UXQibS&Kk^>Y}SoD9-~Ddu>}VJN)?TaRXJ%do&mNHxSvEhA&OVO${cv`1>#Kk{Y? zHryZ~f|PEE0pVk#_H0vzK3(}QF`rN~wLVq+f_xv`Y3Ah^r2Gpfrmq7Jr~aR6#xoC| z9V7beu+l@SWPLQbwV3ENgp0VD*!S4`RfD*RKBN!{Isou~e7`^Y?0|fB!amw1cTGIn z#fhzUv#ulI5K~5Zc$Uv$3m<$%@qjdy6t>G>U`?xy38Q{~+5n@D$(1PZEpT=~@P>2e zg6#{Y1-j`n4l7LflkK>|xc^N7$NoAi4CfR?+6l}QKEkI&!G0K?j!XkG-?S{)29V6@ zZx!7Q^X%S?r5KOxM8Tg`I%G2M1%6TSM+3y_MSY(1H5AH)#_{e()qVz$m%fEpdGCoa zwknw%AW)!KaqFpFp{L0^wAMDn$n4se+1j&FH*o&Mq|F$9#G!Z2j9759Z6!Z>a!|qI zI?h$|oYRG8gxL`_Z&4q#jfK}5n{w3N?t@W*<<#4lF)tabugvA7a_;_!;(rrug!##T z-UO2f;CePjm&xkdroKhun%b3SNqz|Q$Eps8W;7(cF;EB}6Z4$eaOz{X@prj@SMYg| zXiM8hs$!7A*gEJekhUd6Dgzr3|M|gg{4M_UK;5`0ly)`RXf6stoc6wRrMM`wl5nl! zZ`xpwE=op%l4Lh++lQ!c+E-6hXl;hzRTBdk2!3NZZ#Qb_)1+{u<{kPjrK+v$R3U4F zIumJW9KF#INbZT$bPadu;`Hybq2qp}%Vta2a^k+_uG?i?61# z2O&CHL~(T-Z{Ux?+L-!!uZ$Jr@6vlJgkXA=qwLP#lf}~dCdfEa#Ne;3^uEuW7y>XM#ErLXofSXG zkRwsK&9HL$)8F2t93Cy=Y;?lTz9Y434d@!HeB|^;T8?vnaGts-+evtlv6hx{;3W2S@V-=->SVoj&%5j8L<)PPs zQ{M1XYZ+eLKe+BP)fIkNgN70{_Jb^Bg0CBiiFGU?gZXl9cpBV`i*+nr^U1ui#5e}2 z{dtj|n($RCoCPA!rBe&3c_0p!PMu%tX2p|HpUmhz;m)>xe+ReSJu zlU_PHkMs4B&WPM`hs%zf;#9u8`n$py)a_DY2D@yJp!bp9_vg0rR8nD=6W z+(L-4^(2I4Vr9BvplE+IjtY^o4ToRpxTzYmKhRYZMyCRuDn{f(KgZ8a zg3P{NZB3x%IU1-F!c9YdF|1F3D1Al^z;9()l$^-YES$GojfD4DX(Z zvMQz$M;kEV?=`Lv6PA;S+7S27VzU)?m{`)bHZS8&a<;Y#Jm?3Qy^~wk7N^(ergx73 z9f|H0EWA~inh!tR{gr(^Jy^;^#5z;FT%kORw~U)TBWjen5`$r)l3*NBXo(n zuQ^B-oinj+w)njyZ#zFP8EZvpIJ!dXv%eX*erqtbSAkAq_)M+O?g-$YuI9P>jrFm* z1-Yeu|LHdt6Kr^doR?1Y0>ShH9sW)DuXms4kp@GgjrQd2bIuYo{Ab)i2^sz&Jja6w z&q+pmnj~nSco+@$iV^L-<(yAFHevc(Yp#Z@v*>LeI@x;Iwt*siP<#M9lx0CUzLyQ4 zY$4>PPGG5iYNI0VphzR3%(p@C0cPWw%d&|Bf-YdGLac>BOuuL0QKb1x*Q1DF_4{>p zlB2d-@mf}SOJJ1uQ(b(@8TA6|p^go2jm|3Tq1eoNJs8(Pqpk+f9tCBOI{I23Ffy|y$BqB zSvW~pjLN;Li3?}UX0 zYB~VV^Q72PfLjw!oUuukq=+b5sk<3@S#8WnS#0gpPo9vxI{vV*ycFN6bdw}fGykTD zN_-y=@-kCBJ1UaJ_q1`qeJl^^xZNqoJ{Z#(^FvbE@-97X_p{vXcmiZ?_mG9jCC#4feseeA=Qn2}69q7ZjPf}FlgHr(;28tr41d$`gTFM^imuu@sjLsMMrFH#JbNu&H;%ellY0Jf{J`GM6 z2~t5v0XZQLh9in`1NiQ3$jzFE+XrltG6j+Pc(l74jl5QqHPAfkgYkixb5CI+nI}7q zU+pR_1k0*>{WUZ(QNl05+bumD4A?epHcpyq?rq^6D=ydKQ#pW&>*H^LP^eo0G zqMkQ}}1T}AF3 z%EO`|25x>P%qRuKTQP+B$K{+O+eHjy&n4$Xk&1?-($k~DMN?8B2qFiPns2sgo(GCovPaadeT280I}=bCmNtT6-5*45 zO}jJnm2o*TQQgG{5yw8m+{#9uu^%H{ObN=2S9?G>?;f`hB~w2bI#GP-E}q55PYbF= zJuVfbK6$oVSob*nZsrJ9r9H~1 z^uh3obuD8Sr`k7~$UssmO=juTDj^H#M+ z4?uOLV&=rv*DbM8AV>dh82NM=FV#XZMGk(T{jE;~&E!TH zCzqQim21jr%i#G;h#wa_^nN<0x?pg=m$-iLL9A!5Wn4e{KtL{D(E{t3p=h8E!Vp06c(K$`#Bw7* z&l2BQvV!;0v)6u!w_BwlNy-%8EUb`ol?1EYfa6+)%utMt5LK*$YlO!)VTA^Ud16eS zAL)ABF2?%;=%_KeO(K-Zr#(uh=vo-@8&roqSKxoQNle$@Z3yB<^`;x+EA^413)q_C zV?xE^GHlzx2P5ducTpdx7fkVvu@&#XYt*rk&`oX3VW>CR)*z>_&(2gcCq3|!RUSVw zM9jN{2h9kQbYRUhi%y~Qel$&*WeF_Zl2(jgfhlVc7ZLVc#w(dYZ}0IBanF)CavViw zsO^0pea~<7-S9Wpwa1k${e&o^EzauhXr_1W)*8VvbC}pl_GDOl$}kA8G8!LE#vbRp zaVW&ErF1bak$xlAByp1jmF5V_ncrzfwm6X{A~7h=I43bEL6EkTTLgqXdTQ`(!_-}s z6^=M4Ut0E=DFs|Zhe7I$7yHcRBAmz!C=3Q0#m3KmDY9%O;3cc+N92*@SzjkHIc>G{ zF<>d6h9dkD#-Vd{+2mm3$E6p=P@t(M<3?K?17La`DkSY(G%1B={7X*Am3nr?(*Izt zCRlcFx;5GAlR3UekdB6TcQ4+(N-(Ah3ZC=^=+nkiGL#ut0@4yhiK3tXg7&ZC|Z z3(HDIe#E7=Br{sX$d9v!@MHDUe~(lIJB4=3fzOa5&PiFasS?nxOG6~{o4PxIe8zMw zE{>Xi)MV^=Fq9L6WgC)~ADUJH$%Z+Mw%8xJf>O8X+px5AUF$u6`jMSxe+5ei(cl7t z$jpIz*_nwqABRCakc1g{f?s8D$!Kf|O+Oi`oV+glJafa`K_MR)5!ss;Q-u?;zZrq3 zm#LFnrG}{&=t=lZQJBc9MJ4O}bPHI!C;Q12zdMYtz+Sb zAs398;t%Q#J#$A*HXgn968iQU?#A{Zc?Q&xEv^3Ru#!o*4lwkQI8-N0jLpS<9={t4 z_`D`cb+E7@AHauM!kQpo2Zh7>M~A&paV;ht47G{&8?&Ci!P1z~ISJ;SY+ird5M5jF z`R<;6=gH`(knX|off;*ndrE0gsn)rfyHNecH)+^h$ee=-CW%Fo8(qqZLb|z$c?wsh zxtIQtAX2S@IV~`g;A-0i!TeAM-bPS&ed$be+z{gvEgkWNZ1aSA4V+#Q>?zeBNfpe* z_q%UwIF(iRbu3)B|FT^HOpyX+{!WFUG`>@n(-2fT*W-EFb1ce zA&G|Y?IK+fvwyv`u2LIWb7-$zEHExyioMXH^;nOUKcHeza!gUDP=KS=D3KV%_X*)W z3>zQ4mLfV(w5TWqDsiY)#>Z*RJImD3kMAR?e)RWXSHk$=8C8BnNj4bI4R!ZsO4lNY z6bX|5u+Z7G@YZ#(bU^lY%PRG-N}U$6cxpKw?+G{A7=cH{&DO7eL4ky`s@6!NRLzSY zaoXX_^hU%@19uG*7UJo=xqq)Jrp{ukOi(M!%}ThmhgraJu$v z3m`YA9GaVeD&_rX15Y9SV{+G;Iw@8@$R+Bi@>uu)iU4(yjKWvk`h?~2c--AALM9_S zt{OK)dsEpW-U^X6M9G;vE!%@pLv~KLY<=Zk_RtZ(@Vw#_WC_ts zP>`cF?kQzB<#$YRHzjEYZZbuV(f14ECp)l6?!fPZLf3otsS0do_O#zQRQvDu_E^<8 zDO@(|`LVmh(kYda^MKybJFKyto)Xe5YTnO398#|Zr2$=CmFai1v;7>Svj}g)<-6PF zoeLZFh7oIYTMG^vJLg(*2}L@J_#>&RZ}Of3K-36etttWbL?+=B2YvBkSW+llwm z=p(i4v3~Ot;R!bhdwMhi&Rw=SzO4Ce)O-$v((OOWe#P1~AYLEdr@+!^=UOU5DaU*G z#OH9VhH3;hTUvWBv&gf<(JCbr#4V%E6kH2LDvgKkq7P8c*@H5uhxE&!+}#m10yj#J zZ&yUH4XSh*PB2F@9TBgU#>*yYKZ<{w_4El(0e`(NHnn>tb&n8LDq|;Q=czK?E9>+% zNt^rBV*$i0*P+G<=|A)|Z~Ev-Ak@Kvu>;Cil!v2AurN0z+XU*3r+p7~4b1$&qU6p5 zsh)7~rLunmom^BR4$;XJiUZ~R-NRN$f&Z|s65Ld32aiilN_qs}BM_>|bKCy79DHYm z4q>^xEb7zAVWj53(ZQ8SzMEt7+5mFnn~m?)y(pNGy#>|#rHU$;vo%vLZLuo^b9hiW zd@44qGmr8s0Je%n-TG@l9kSn&Zh^1UvhHuq^bV+^a5*kpI zU|gJNLDwR_{LAGjVtr$^q0hyMcbO2pTS@XRc*qp9u1*W!u9z= z$vqe=-EJOd{=7Wfs~|=k=>AO?a{h^-l33bVa3jKp4L-*rciM{&vsW+G+2qHmA#Mkq z1g-K~AoW3$a~8X(cu_d+7hD9F=rH0!>LNKy9{)h6gc-RFd!IL9aT4j9QPeb87&`+k zC0|a2G??KgjfqA^d3V!#_HBvVkPT+!B!i$3f@_Sltt2ApYIT>iIWTR{r<n^R@Y%Hl zNrXz4>gkQBNFg#SHGzrsXP=)Bp_hBAYj~odzRG~?Y(5!m^=4d|W`XR81||Ec%GDnE zC>U?gL-Fu$7V)4Lmp^dSvO>^=S3fp!{f^rVy?kjqv?YYsV=Yv2A)nXKY`@1J#9d92w~qu*AUO%QGZW;U?*)ry0rj=2>@~r3t~fbLi9owNN&(xX?1QTARr!Q?Jb~ye zw!b3@>B3JU!EK}i;RCr|9>an~Vz>Y}rE(aeZStoV{UY_m}@Wu z^AxR_HBkdSXgOt7ZwfkAo3=M8Hu((C(=)_e1|MRLeJ>^JfU_9Kts$6 zXnmkY#&B>=>YJ06$+ni^WJQS`@($yv%zcg+`p7X!ghu9C5zc)M@@o0JR2cDi?b3E5 z?%v@XY53RKb-cV~y;iMbwVJWr3>>f9giN-h{k?smaa`CEt;v-d5p50%gl_rKVO`Be zlh159Q5+?3v40j+Q4Z-HfiZt(Prh80X0m-%tTs@ujbX5_&&u|gLjbn3A-AC6E4!5+ zsu`d`uwRx6SXwHe>5b#s`U{}g`KMY9udde^+xw=V@mN^;_!XLr{!}w4+GKT~W6j~@ zYHc=&JlC@7KAWjAUY~6o(-?V(?%^sYgCZy^%jknTht z_qEv=p5ZN~Nk7;f4YDfI9DA$aYBFg`;^p#MOw>vdY$?EmPh_;kcXR!1J9+J}v|KN05A8UUsz zWe4X~j{{edOKRO5=!dx|#ffv?CDRK!P6!84LND$eRHe|W50 zEv{KDHoIulGjx2TU)Jt}4S&e`1~B}S zqLEU60Md^vjgfn$Wyw;Rl2n>ll)N3hpN1I9z1rxCCP2<(6?!v|YnJN9-;*H@8QJbr zjPR$Xd#pfkr{<^kh;tAxZP#|o1$Hgya?x`U1dzA(O?0J-555ZiM ztGlJ2#dV%egbJ3xfbMOY2x{sBYodRYVqq;b(HOTuG7F+2@fZY32UJhqAW5#DiQDZk&3lgH-S;`;{MqX+o( zHXquuk^YPP0k*guEVB6;g0f}O`C0e(w5PwRNaw@D;e0v<>ONfZU^XdNFP@l1X^9@~ zD^D9gVqdejmmjTx{)`WKcb?!oJ_nvC_VO$1wH>vbCeF6LJ9z%se9BQ;8CO*9F)*KT z)*L*&r$5h=uuEdW3w0IB(}FVNG|q|d#qa65f^yQ?KI3E~zRNVErl@seOHDtQxNRUE zjGlctZm*`vdhJnu#y`$;TCo?bc(oGW>}K?n&YGjkOuxTimQZajBba_Jh!qy%D#_!N z!z;#fEO#p|LXzjE()Db=>4#K2+rs=1vS14J;*@}baVkkYDV7EU-so-F+fciPh2ds~ zih~BJ%q*w3j1WxWdYuRU%t9n|&5A){g^m|h2y2=g4wlr?%49IyLO;^F+7vU$2Kh$@ zt7WXp(~%{+gwBmZ-X)@zz!uH7^JTAJnBJyICy)%CYchPQCHM4_4H9$oh6~}qS$pJV z_=J#JP4Q#%2UG9x<5w%k4M=1b<}mky(w^7=PJ&h2Ma-+q6zb*bRZYxLj^zs>&M2iG zBMqOH#V!E?{rY1=@PfGF<)KsZ4CiJmFBpyWuDMGqzp{MKnK|VPvqdvwUz(lT80}QU zOvEv0!fIL<;pPrALz#5A?U4{XBY;HW=E$z)FB*Yp+cQ{cL7xS(vF|>A=ua~`n;nF4 zD^~fi=_}S+$^^pB;2x&4_+7Ugxrpd1u0dX+!$c8Zdq^`^CfYdFwY`L{75qDB)UC68 zIMtC#*Ih!t%JdEYGuRRdKU3jGI)@j=tiv8llk{`gUIj)%Md*K zi}1!9BU7UvP{<6-mi%J+$0GWD{apg-OKFuL{~DoPiayDDK2MsD;?*4}L}R43XUjWw zjV`su0x|6RANa6Ik(xGSksw$W%56@)pq3Ig{VDu0`W8`JFx6`5p4Q&{QK2q0oj0&) zyeTW{$AoLVIVp4$!dPIrX`kJ&?9+`}sMkOBvZ%w9AKF-J=r{Xu`DLWdW|XB|QFi5i zPzO>052B!5@&r+45(thdDkv z?BqYo>`E0<=E>J@0qL&p&>rWpi=i|Z^@T9j$dg+eSfI9YQ*PTcDxR5AyHF1u5Z>`Q z?x~ltd(uaaYvY#kZD9u7c%>KYe9DqSJS4J zbz30b#JkWzT;WTlj2VL6L(D^}Kc~;cSJToZ1YL;JH&hbm+qrGq*7V?YP7Hach6&az z8DpFbR(d&*ljFGW3bv@@Tl~OgPPC&#%IdRv5+lhY zuIcS8NkXAGS6&qvAP&N`C@(=g?&iF+04<%pLF0*sv&e*8zKofO38T^j+RV_fk{hUE zEenBfpUf}e+_J=adn?=*4>;0O3eO_r$}clJCl7%ta77K8)%^2D27)HkWRiTQ)~5!M z=t@{>hFK{rbcvz7GfaP{Jh{+nr0Nde1H5ccKj$mYTT1hzS?O9G=DA>C zJ|Qa|KnQH$jxoDgS}R`Rqt0}e4XLvh;{+}-EzZYK5#3xg`g+ctN>H`cE>!A;!-)Xb zDH;WlJdb?bvj13K=^HGp)otW$v}~_Q(HWP4#|L48A8iQA37F;aI5_59J9i#VD+b?4 zz0Yu?zE-Bp@29!x0h?gVfH|i^KD51t+vK^v5mKnZ>O#3tp(4Rvu5yL>yQ{pzE$_S^ z@bIemdk1EW_vFdG8VAdgVZJw|lD|)Y+!LWwGEDZI*UG=|7NI*~O2VsJ@c5FV?G@3> zs;`!&s5w&5R)_*GB&R8QrCIbFCwpqljho(c_Y^y5^-JwC!IjcyeuBiRi%mw)kcaUp z#oZ#xZ*Cx(cn?1R^%kc_XI#q<8tV%4rHF65Ol*4~LNJ&IzKdc_t7uIG;p2V304x^z zzt;-MBcl@$*~6-eaTxY^vri>M-Z(fDRoPcdcWtu0**^=UGoGxUY{Y5j{7@#|-}+sD zonh)(_ACqb-(((sYZd3XI_8&s(3IAsLWAA#OiEkRSRJwB^c;)P4%DstRR)7x`ZFm@ zw32~R^rQ9%GF6ouAx{6}NkLfUVNav6BFjghNTqsEX)Z8Uw>>>d{B%`&8{H2BPbLBv zQq4xRl2pux%WoD19_E+5)7g5E?hbdQV5K^*4`_3?Of+0KW0Xs!xEIo|E>%wMEwW%` z`PbwC;bbx)Y*w%+6#fp^zMp#XLyjyFtg=S0JzUqJ#Ec+hiGk0lwy$pAxR(NCNy%Fi z=CoPDIOs0((T}AhB9+ihqP^YNU9>?s$fcB3Gjb(^1Kt`V9@vm2zwE(}B31N|OGnS% z`qll?S=ej~(9MW@D&h;)Ei>Xdu70OV(&mC#N> zuv6!iAU!F!#Aa9Bd98Dh%bI-S84wkR!ivQEeC3#c^xKPvU?aSPNDwpC6$Y>`4r$@M8{*D#|gRNeLMQ5~F{Aoki?N z8LbxV#fzajVss2m_-q%ldBL9{bQz*9o0cQ`-~nY#6=+9hodOnPsy zMX|SGeh=F03>A2vkYB51B3DjRTqupiaO>xnsh$+=c5|-x*gWMTGivD-xkamUWr~tQ z01-?Hv5w+DfAXcLh+t~jQkJ@kPB}+nz2^2@6e1X5e?=Q|&;d>3YQcy4o6Es{erL7= z3JXc7;zlJdjr||ZyY@Seo=&|X>C1=CO+y2xMBO1BJdh#ke9f00b0LB)Nsz56yhXdl z0aqR>v0asrXV826C4FML`mS6vse=|VxjSo=t#q@!PLd@zOBAwop@+8*7Im$c=eo^MNm;T0Iu?k!HahtA))x>owLou6wW`*x~;6b>; z2%!C?f6x-1MQsL`h4DwiYeW93;PO!_#lxrRa@9Iu4TjrYXJ!7to?kQhug~QqmX*fo zy+nIMCD+>&1#Q6CKMG7=Jpegl3GKrI?I4uI_F>nesT*T&;;=>n%i_z7Q>P6*r9172 zfsLxsRvo!J?ev&qdRi|VOfHBdPt`_Zs-*UJ3K&3fn^j4hw%fb6N+AkKmrePB0T0o--ZCW8!8>_Ur;iBUXLFmhFfugd`rKDCE!N*YhYbAQ$d#SK3qpg1P1FWI(~99 z{EQ^G1!?FvWv;>fCO(eV8@YYym`M(!3(8!{^;t3<7w7ehdXI9#@+-0=l_j3>005pu z5n4(}2WmIIF=?jd4c&zUW3|WA{nhh37fbz-|7{y{=KtSq%$b1y-o<=XUEFyUh`e%y z-u&kF4eC2LgsiSJ4z&lmxO+y3SbnAKw`#GZT%UlkM`-*mxqCqxH=~KqnMq!eH#%?x z*@Bym*_C&Wk5>;@gJm?VwNIyWN6%P_K9?oyxQae>7LUz(KUiizC}`m=qjqF!_#fUF zozz=*eOtzj|8hOsXJ@r(&u*%kLG;ZQSAJ+o&_TVr&fM_(294mJ1+grUXgTd6~Bm%>nD=h>jW=vq;+MnZtO{ zU%U~!Ul*;+{>jw;u@iA6kLpuv+3)79`Vsb2B~Ta}cac3I_8 z_2rI)nwqwroq9{N7{xUQsmr|(P+nxHmZt0itWDKaZ&>)|ZsnV<8SAU$R)up7L7($U%)kO&bJ|N}s>HP1 zFMb%*z&%wL5=Y^r!?}=dN!kRz?42lv!SrxfMdILnRNO(FJ&_3n5mHZW^L|VU@KI4D zaKjYa?C-v~Ykh1ETsOfs(Ep%3_x_6v9kE+dWk{y-MCjO@0Nv$KYo5?EY89~Fw~^zW z(yi zBCatVH*I3^cXwT7P^v9>e-yZASGP=%&5u&n$fBYW-viUBIW^i;bctbugRU*SEp#{i(@Ia|6?PXE1=H>SU8bDgX+|!Xh2At?lzFkDN3a)!w4jI9+ zLz-t+nnTS7n?19T{p^jfxK7VDu$Yz){Tb!waJ`?b(t~x;+kUGey>Ki}a(XtTPZHl% zEVV6vY#hX6^tISZ5h$~bxTgomO`8MM#E)rBI_}?Ds9ij+<$aDv~u`QaNBc&p? zlh6o!-i+mi^*>J}5lwjg z1t0JvA|I*q@7ywfU<@$cjYmUYj5eMJ?-G80k42`UjY_!2M~{;xS5qZq1>TT31SkTy zgBnVD8Tx0)HlR<3W6o7*qltIB48E#H!=a`$lEo{b3DK(JjMv?&0~p z?bHu<*!S-E7~(Oa?Ap|$Av_&**FN8iE~xtt$zNJ>et;HnLV%2 z{vmFf3}DUPYAdHtfVE}!zeYcce2jLok`3Fw8&8CBvYIUBofZgy_>7``5jgFs`g6jp z{*z9rL(#rK&9>lkjPw`!zA-7P43RF@RrAjh)O}vS`{7V?qx+@s>$sG!3`;WBOUoGt zbXKW-jPcvva_q@c zn)7$oCgDa$p)I5dXBzU^^nc1Z)Iyf^o}f%=!^swr+dF(IBGF4H))jnP(ifm_vObg6 zU#8rGjGD7RO@!%OrFLex_%avl2RCB_3MfgbbZ~DY|Mq1$&zO?&ZA!>0 zH8Kx)!1{^*O*X>Zew$1KWxlv1+?IU3>(?cu*o=YnmvRj zzlnLf0$|pfKEGq!Id9=eVsUdtFGj|nsTteeRNkN6P=wvQZ#jF*+Pm2!fljh5-CUm* zga4!yQQ~o48~64IjsjLPi*4Hy5-})cYSX(#5@KjM-~j{!TZMlH(D zW`<^Lw!iz~ZqD6DmdEXL) zZ{+CfAXjF2c%u}z?L5d1jm~Vn??Xmnq41ck`>~8oc-#znWHz~)^%jqXRgWi+Bw*m& z+s<@(f5k=aW}f$oxh=9@d@0g9-+DlvJ?2kOp&fgC0{0|am&@5Z;5)a+FZ#`vb10cLUYj_-p9t=S+NrXE#%m(q@59%CIb&^U{Cw`@w% zqkqs4r7N*}O7_K~KWvP*E2C-9P?=b{3!^~hr=1|jPey6bESX2LIKqnTiXwZ#pNvY& z0svCajKM=$civZ`2#F?VD!<@{9zd32;6$IBIr^W8tvvfYuLsra++Up^js7Os?T zcCadDw&@7RLwiNs-YdZ*d@@=l&r?syW?tg0-#7~zaym&nQ+aP!xRTCLA=Y`*u7grt%vAzI58yTAE{eK~4_3XjC#D7u1G0Gb`*f`l67&(AhU#yk~i)wnoH^vU(;)FGt1vmmB}g%|6+H?=m1};(%k6G&6j07z`rgmf4j!=H-we-FCp9CegpsO^7m`(|E25i*nrsnLUR0Foa1k0OyDT|6)Rl&^-_m^7^{~dkVtQgx8ygew%R)8=4mAJpz}4Q!7!ClgT{c8G!2kUr2C}iSun`;oC1YY^XJ=vt z$NA-l*!sU^K#rHn`iBev05XG{-YeM)037yz;h5RjIlzJYmy8VnVtri}$jr>~sw@)| zhz;~g2Igh^4-OCr$PBK}e{z634m68?5}VfOdPELiDL)7*2l`i`X6P1tUwlU z^ZOSs2mn_2N(Sa&e#OfIU zVAo#x@xsdn?oR*YWdQ+Lfv;i!#xa9lQ(Fpm9Y)cdC` ztRM~$@Rf{>iH({4mCbCdVA}tM1MsRW5C{aku3t7b4#3NJ_)lIo5V+c2#R|v-0KN=B z|HJ`bn&hjpFBHJnIIxiURegY1Kp?hPF#y}g%=QWgSAMWFv2wf&$^W#4orN77 z)>kqh6Z`8Ju!Go`IbQh&0uKkTIY2D`IljEu%<_tt1IPq^ z{L^L-2Y~%`>^Ydg9>2nIurjm0OkMvh`@+lmZ(EoEEKL8=XTUg?*RkRNftXnT%>kY$ zz}@KIZRjt3FB9QEc)>F>JNv7#TS!DHQP-WPpr|L$8%EX?3`@JioH zN#HA+nOWGG*#2EdOw2$Q_Sb$ea{$;tuj2d?zSs7>@V;uhVAsHt`YR4Fj_p;OWMW|j zv9rC3-%DA*t2$z3;Q+oG6JI!3nO>D;eVJ`v%fM~zHSdc)=2!K>$_8M2Z3`F&?r{IE zqZiz3eQeCEtZe_OkDcXJ3|PVQ$4fT$&vwNI0D@l4zu=LR6+CRe!m$I{{}*21t2v5^ zjSay5stOpen Worspace from File...). + +Once the project loads into VSCodium you will be recommended to install the ESLint plugin. This is HIGHLY recommended. + +## **Environment Setup:** + +There is a task that will automatically setup your environment to use typescript. + +To run it, you just need to go to: + +> Terminal->Run Task...->Show All Tasks...->npm: install + +After running this task, your environment will be ready to start coding. + +DO NOT remove the node_modules folder, this is an auto generated directory that has the required dependencies to be able to use typescript and more. + +## **IMPORTANT:** + +Before starting to work on your mod, we suggest you read about Dependency Injection and Inversion of Control as this is the adopted architecture SPT-AKI has adopted. + +It will be difficult to understand some of the problems you may be having if you dont understand the basics of it. + +A guide explaining all the essentials will be available on the hub on release for you to read about. + +## **Coding:** + +All your work should be centered around the mod.ts file as an entry point. +You can ONLY change the following properties from the package.json file: `"name"`, `"version"`, `"license"`: `"MIT"`, `"author"`, `"akiVersion"`. + +If you have never used typescript before, you can read about it here: https://www.typescriptlang.org/docs/ + +## **Distributing your mod:** + +The project has been set up with an automatic task that will copy and zip ALL required files for your mod to work on SPT-AKI. +To run this task you just need to go to: + +> Terminal->Run Task...->Show All Tasks...->npm: build:zip + +The output will be a mod.zip file that will appear on the root of the project. + +Always verify that all files were included into the zip file. \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/config/config.json b/Ereshkigal-AkiConfig/dist/config/config.json new file mode 100644 index 0000000..cc8d875 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/config/config.json @@ -0,0 +1,335 @@ +{ + "Server values": { + "HTTP": { + "ip": "127.0.0.1", + "port": 6969 + }, + "Health": { + "healthMultipliers": { + "death": 0.3, + "blacked": 0.1 + }, + "save": { + "health": true, + "effects": true + } + }, + "Hideout": { + "runIntervalSeconds": 900, + "scavCase": { + "rewardParentBlacklist": [ + "5485a8684bdc2da71d8b4567", + "543be5dd4bdc2deb348b4569" + ], + "rewardItemBlacklist": [], + "ammoRewards": { + "giveMultipleOfTen": true, + "minAmount": 10 + }, + "moneyRewards": { + "enabled": false, + "rub": { + "min": 1000, + "max": 200000 + }, + "usd": { + "min": 100, + "max": 2000 + }, + "eur": { + "min": 100, + "max": 2000 + } + } + }, + "fuelDrainRateMultipler": 1 + } + }, + "Raids values": { + "Loot values": { + "looseLootMultiplier": { + "bigmap": 1, + "develop": 1, + "factory4_day": 1, + "factory4_night": 1, + "interchange": 1, + "laboratory": 1, + "rezervbase": 1, + "shoreline": 1, + "woods": 1, + "hideout": 0, + "lighthouse": 1, + "privatearea": 1, + "suburbs": 1, + "tarkovstreets": 1, + "terminal": 1, + "town": 1 + }, + "staticLootMultiplier": { + "bigmap": 1, + "develop": 1, + "factory4_day": 1, + "factory4_night": 1, + "interchange": 1, + "laboratory": 1, + "rezervbase": 1, + "shoreline": 1, + "woods": 1, + "hideout": 0, + "lighthouse": 1, + "privatearea": 1, + "suburbs": 1, + "tarkovstreets": 1, + "terminal": 1, + "town": 1 + } + }, + "Airdrop values": { + "airdropChancePercent": { + "bigmap": 25, + "woods": 25, + "lighthouse": 25, + "shoreline": 25, + "interchange": 25, + "reserve": 25 + }, + "airdropMinStartTimeSeconds": 60, + "airdropMaxStartTimeSeconds": 300, + "airdropMinOpenHeight": 350, + "airdropMaxOpenHeight": 400, + "planeMinFlyHeight": 400, + "planeMaxFlyHeight": 500, + "planeVolume": 1 + }, + "MIAOnRaidEnd": false, + "raidMenuSettings": { + "aiAmount": "AsOnline", + "aiDifficulty": "AsOnline", + "bossEnabled": true, + "scavWars": false, + "taggedAndCursed": false + }, + "save": { + "loot": true, + "durability": true + }, + "carExtracts": [ + "Dorms V-Ex", + "PP Exfil", + "V-Ex_light", + "South V-Ex" + ], + "carExtractBaseStandingGain": 0.25, + "scavExtractGain": 0.01 + }, + "Traders values": { + "Traders": { + "updateTime": [ + { + "traderId": "54cb50c76803fa8b248b4571", + "seconds": 3600 + }, + { + "traderId": "54cb57776803fa99248b456e", + "seconds": 3600 + }, + { + "traderId": "579dc571d53a0658a154fbec", + "seconds": 3600 + }, + { + "traderId": "58330581ace78e27b8b10cee", + "seconds": 3600 + }, + { + "traderId": "5935c25fb3acc3127c3d8cd9", + "seconds": 3600 + }, + { + "traderId": "5a7c2eca46aef81a7ca2145d", + "seconds": 3600 + }, + { + "traderId": "5ac3b934156ae10c4430e83c", + "seconds": 3600 + }, + { + "traderId": "5c0647fdd443bc2504c2d371", + "seconds": 3600 + }, + { + "traderId": "ragfair", + "seconds": 3600 + } + ], + "updateTimeDefault": 3600, + "fenceAssortSize": 100, + "fenceMaxPresetsCount": 5, + "fencePresetPriceMult": 2.5, + "minDurabilityForSale": 60, + "fenceItemIgnoreList": [ + "58ac60eb86f77401897560ff", + "59e8936686f77467ce798647", + "56e294cdd2720b603a8b4575", + "5661632d4bdc2d903d8b456b", + "543be5e94bdc2df1348b4568", + "543be6674bdc2df1348b4569", + "5448bf274bdc2dfc2f8b456a", + "543be5664bdc2dd4348b4569", + "5447bedf4bdc2d87278b4568" + ] + }, + "Repair": { + "priceMultiplier": 1 + }, + "Insurances": { + "insuranceMultiplier": { + "54cb50c76803fa8b248b4571": 0.16, + "54cb57776803fa99248b456e": 0.25 + }, + "returnChancePercent": { + "54cb50c76803fa8b248b4571": 80, + "54cb57776803fa99248b456e": 85 + }, + "runIntervalSeconds": 600 + }, + "Trading": { + "newItemsMarkedFound": false + } + }, + "FleaMarket configuration": { + "runIntervalSeconds": 60, + "sell": { + "fees": true, + "chance": { + "base": 50, + "overprices": 0.5, + "underpriced": 2 + }, + "time": { + "base": 15, + "min": 5, + "max": 15 + }, + "reputation": { + "gain": 2e-7, + "loss": 2e-7 + } + }, + "traders": { + "EnablePraporOffers": true, + "EnableTheRapistOffers": true, + "EnableFenceOffers": false, + "EnableSkierOffers": true, + "EnablePeacekeeperOffers": true, + "EnableMechanicOffers": true, + "EnableRagmanOffers": true, + "EnableJaegerOffers": true, + "EnableAllAvailableOffers": false + }, + "dynamic": { + "expiredOfferThreshold": 1500, + "offerItemCount": { + "min": 7, + "max": 15 + }, + "price": { + "min": 0.8, + "max": 1.2 + }, + "endTimeSeconds": { + "min": 180, + "max": 1800 + }, + "condition": { + "conditionChance": 0.2, + "min": 0.6, + "max": 1 + }, + "stackablePercent": { + "min": 10, + "max": 500 + }, + "nonStackableCount": { + "min": 1, + "max": 10 + }, + "rating": { + "min": 0.1, + "max": 0.95 + }, + "currencies": { + "5449016a4bdc2d6f028b456f": 75, + "5696686a4bdc2da3298b456a": 23, + "569668774bdc2da2298b4568": 2 + }, + "showAsSingleStack": [ + "5422acb9af1c889c16000029", + "5448e54d4bdc2dcc718b4568", + "5795f317245977243854e041", + "5448e53e4bdc2d60728b4567", + "5448bf274bdc2dfc2f8b456a", + "543be5e94bdc2df1348b4568", + "5448f39d4bdc2d0a728b4568" + ], + "blacklist": { + "custom": [ + "5cdeb229d7f00c000e7ce174", + "5996f6d686f77467977ba6cc", + "5996f6cb86f774678763a6ca", + "5943d9c186f7745a13413ac9", + "5996f6fc86f7745e585b4de3", + "5cde8864d7f00c0010373be1", + "5d2f2ab648f03550091993ca" + ], + "enableBsgList": true, + "enableQuestList": true + } + } + }, + "Weather values": { + "acceleration": 2, + "weather": { + "clouds": { + "min": -1.5, + "max": 1.5 + }, + "windSpeed": { + "min": 0, + "max": 3 + }, + "windDirection": { + "min": 0, + "max": 3 + }, + "windGustiness": { + "min": 0, + "max": 1 + }, + "rain": { + "min": 1, + "max": 4 + }, + "rainIntensity": { + "min": 0.1, + "max": 1 + }, + "fog": { + "min": 0.001, + "max": 0.03 + }, + "temp": { + "min": 0, + "max": 16 + }, + "pressure": { + "min": 760, + "max": 764 + } + } + }, + "other": { + "hideWarningMessage": true, + "showModLogs": true + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/config/dailyConfig.json b/Ereshkigal-AkiConfig/dist/config/dailyConfig.json new file mode 100644 index 0000000..96ff22f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/config/dailyConfig.json @@ -0,0 +1,537 @@ +{ + "redeemTime": 48, + "repeatableQuests": [ + { + "name": "Daily", + "types": [ + "Elimination", + "Completion", + "Exploration" + ], + "resetTime": 86400, + "numQuests": 3, + "minPlayerLevel": 5, + "rewardScaling": { + "levels": [ + 1, + 20, + 45, + 100 + ], + "experience": [ + 2000, + 4000, + 20000, + 80000 + ], + "roubles": [ + 6000, + 10000, + 100000, + 250000 + ], + "items": [ + 1, + 2, + 4, + 4 + ], + "reputation": [ + 0.01, + 0.01, + 0.01, + 0.01 + ], + "rewardSpread": 0.5 + }, + "locations": { + "any": [ + "any" + ], + "factory4_day": [ + "factory4_day", + "factory4_night" + ], + "bigmap": [ + "bigmap" + ], + "Woods": [ + "Woods" + ], + "Shoreline": [ + "Shoreline" + ], + "Interchange": [ + "Interchange" + ], + "Lighthouse": [ + "Lighthouse" + ], + "laboratory": [ + "laboratory" + ], + "RezervBase": [ + "RezervBase" + ] + }, + "traderWhitelist": [ + { + "traderId": "54cb50c76803fa8b248b4571", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "54cb57776803fa99248b456e", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "58330581ace78e27b8b10cee", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5935c25fb3acc3127c3d8cd9", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5a7c2eca46aef81a7ca2145d", + "questTypes": [ + "Completion", + "Exploration" + ] + }, + { + "traderId": "5ac3b934156ae10c4430e83c", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5c0647fdd443bc2504c2d371", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + } + ], + "questConfig": { + "Exploration": { + "maxExtracts": 3, + "specificExits": { + "probability": 0.25, + "passageRequirementWhitelist": [ + "None", + "TransferItem", + "WorldEvent", + "Train", + "Reference", + "Empty" + ] + } + }, + "Completion": { + "minRequestedAmount": 1, + "maxRequestedAmount": 5, + "minRequestedBulletAmount": 20, + "maxRequestedBulletAmount": 60, + "useWhitelist": true, + "useBlacklist": false + }, + "Elimination": { + "targets": [ + { + "key": "Savage", + "relativeProbability": 7, + "data": { + "isBoss": false + } + }, + { + "key": "AnyPmc", + "relativeProbability": 2, + "data": { + "isBoss": false + } + }, + { + "key": "bossBully", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossGluhar", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossKilla", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossSanitar", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossTagilla", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossKojaniy", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + } + ], + "bodyPartProb": 0.4, + "bodyParts": [ + { + "key": "Head", + "relativeProbability": 1, + "data": [ + "Head" + ] + }, + { + "key": "Stomach", + "relativeProbability": 3, + "data": [ + "Stomach" + ] + }, + { + "key": "Chest", + "relativeProbability": 5, + "data": [ + "Chest" + ] + }, + { + "key": "Arms", + "relativeProbability": 0.5, + "data": [ + "LeftArm", + "RightArm" + ] + }, + { + "key": "Legs", + "relativeProbability": 1, + "data": [ + "LeftLeg", + "RightLeg" + ] + } + ], + "specificLocationProb": 0.25, + "distLocationBlacklist": [ + "laboratory", + "factory4_day", + "factory4_night" + ], + "distProb": 0.25, + "maxDist": 200, + "minDist": 20, + "maxKills": 5, + "minKills": 2 + } + } + }, + { + "name": "Weekly", + "types": [ + "Elimination", + "Completion", + "Exploration" + ], + "resetTime": 604800, + "numQuests": 1, + "minPlayerLevel": 15, + "rewardScaling": { + "levels": [ + 1, + 20, + 45, + 100 + ], + "experience": [ + 4000, + 8000, + 40000, + 160000 + ], + "roubles": [ + 12000, + 20000, + 200000, + 500000 + ], + "items": [ + 3, + 3, + 4, + 4 + ], + "reputation": [ + 0.02, + 0.03, + 0.03, + 0.03 + ], + "rewardSpread": 0.5 + }, + "locations": { + "any": [ + "any" + ], + "factory4_day": [ + "factory4_day", + "factory4_night" + ], + "bigmap": [ + "bigmap" + ], + "Woods": [ + "Woods" + ], + "Shoreline": [ + "Shoreline" + ], + "Interchange": [ + "Interchange" + ], + "Lighthouse": [ + "Lighthouse" + ], + "laboratory": [ + "laboratory" + ], + "RezervBase": [ + "RezervBase" + ] + }, + "traderWhitelist": [ + { + "traderId": "54cb50c76803fa8b248b4571", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "54cb57776803fa99248b456e", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "58330581ace78e27b8b10cee", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5935c25fb3acc3127c3d8cd9", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5a7c2eca46aef81a7ca2145d", + "questTypes": [ + "Completion", + "Exploration" + ] + }, + { + "traderId": "5ac3b934156ae10c4430e83c", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + }, + { + "traderId": "5c0647fdd443bc2504c2d371", + "questTypes": [ + "Completion", + "Exploration", + "Elimination" + ] + } + ], + "questConfig": { + "Exploration": { + "maxExtracts": 10, + "specificExits": { + "probability": 0.5, + "passageRequirementWhitelist": [ + "None", + "TransferItem", + "WorldEvent", + "Train", + "Reference", + "Empty" + ] + } + }, + "Completion": { + "minRequestedAmount": 2, + "maxRequestedAmount": 10, + "minRequestedBulletAmount": 20, + "maxRequestedBulletAmount": 60, + "useWhitelist": true, + "useBlacklist": false + }, + "Elimination": { + "targets": [ + { + "key": "Savage", + "relativeProbability": 7, + "data": { + "isBoss": false + } + }, + { + "key": "AnyPmc", + "relativeProbability": 2, + "data": { + "isBoss": false + } + }, + { + "key": "bossBully", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossGluhar", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossKilla", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossSanitar", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossTagilla", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + }, + { + "key": "bossKojaniy", + "relativeProbability": 0.5, + "data": { + "isBoss": true + } + } + ], + "bodyPartProb": 0.4, + "bodyParts": [ + { + "key": "Head", + "relativeProbability": 1, + "data": [ + "Head" + ] + }, + { + "key": "Stomach", + "relativeProbability": 3, + "data": [ + "Stomach" + ] + }, + { + "key": "Chest", + "relativeProbability": 5, + "data": [ + "Chest" + ] + }, + { + "key": "Arms", + "relativeProbability": 0.5, + "data": [ + "LeftArm", + "RightArm" + ] + }, + { + "key": "Legs", + "relativeProbability": 1, + "data": [ + "LeftLeg", + "RightLeg" + ] + } + ], + "specificLocationProb": 0.25, + "distLocationBlacklist": [ + "laboratory", + "factory4_day", + "factory4_night" + ], + "distProb": 0.25, + "maxDist": 200, + "minDist": 20, + "maxKills": 15, + "minKills": 5 + } + } + } + ] +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/config/pmcConfig.json b/Ereshkigal-AkiConfig/dist/config/pmcConfig.json new file mode 100644 index 0000000..8220f87 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/config/pmcConfig.json @@ -0,0 +1,296 @@ +{ + "presetBatch": { + "assault": 120, + "bossBully": 1, + "bossGluhar": 1, + "bossKilla": 1, + "bossKojaniy": 1, + "bossSanitar": 1, + "bossTagilla": 1, + "bossTest": 40, + "cursedAssault": 120, + "followerBully": 4, + "followerGluharAssault": 2, + "followerGluharScout": 2, + "followerGluharSecurity": 2, + "followerGluharSnipe": 2, + "followerKojaniy": 2, + "followerSanitar": 2, + "followerTagilla": 2, + "followerTest": 4, + "marksman": 30, + "pmcBot": 120, + "sectantPriest": 1, + "sectantWarrior": 5, + "gifter": 1, + "test": 40, + "exUsec": 15 + }, + "bosses": [ + "bossbully", + "bossgluhar", + "bosskilla", + "bosskojaniy", + "bosssanitar", + "bosstagilla" + ], + "durability": { + "default": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 50, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "pmc": { + "armor": { + "lowestMaxPercent": 90, + "highestMaxPercent": 100, + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 95, + "highestMax": 100, + "maxDelta": 5, + "minDelta": 0 + } + }, + "boss": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 80, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "follower": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 80, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "assault": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 48, + "highestMax": 70, + "maxDelta": 10, + "minDelta": 0 + } + }, + "cursedassault": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 50, + "highestMax": 70, + "maxDelta": 10, + "minDelta": 0 + } + }, + "marksman": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 50, + "highestMax": 70, + "maxDelta": 10, + "minDelta": 0 + } + }, + "pmcbot": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 80, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "exusec": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 79, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "sectantpriest": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 90, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + }, + "sectantwarrior": { + "armor": { + "maxDelta": 10, + "minDelta": 0 + }, + "weapon": { + "lowestMax": 90, + "highestMax": 100, + "maxDelta": 10, + "minDelta": 0 + } + } + }, + "lootNValue": { + "scav": 3, + "pmc": 1.8 + }, + "pmc": { + "dynamicLoot": { + "whitelist": [ + "57864a3d24597754843f8721", + "57864a66245977548f04a81f", + "57864ada245977548638de91", + "57864bb7245977548b3b66c2", + "57864c322459775490116fbf", + "57864c8c245977548867e7f1", + "57864e4c24597754843f8723", + "57864ee62459775490116fc1", + "5c164d2286f774194c5e69fa", + "5c99f98d86f7745c314214b3", + "55818add4bdc2d5b648b456f", + "55818ad54bdc2ddc698b4569", + "55818aeb4bdc2ddc698b456a", + "55818ae44bdc2dde698b456c", + "55818b164bdc2ddc698b456c", + "5448bc234bdc2d3c308b4569", + "5447e1d04bdc2dff2f8b4567", + "5448eb774bdc2d0a728b4567", + "550aa4cd4bdc2dd8348b456c", + "55818af64bdc2d5b648b4570", + "5448ecbe4bdc2d60728b4568", + "5448e8d04bdc2ddf718b4569", + "5d650c3e815116009f6201d2", + "5448e8d64bdc2dce718b4568", + "5448f3a14bdc2d27728b4569", + "5448e54d4bdc2dcc718b4568", + "5448f3a64bdc2d60728b456a", + "543be5cb4bdc2deb348b4568", + "5485a8684bdc2da71d8b4567", + "543be5dd4bdc2deb348b4569", + "590c745b86f7743cc433c5f2", + "5448f39d4bdc2d0a728b4568", + "543be6564bdc2df4348b4568" + ], + "blacklist": [ + "5fca13ca637ee0341a484f46", + "59f32c3b86f77472a31742f0", + "59f32bb586f774757e1e8442", + "617aa4dd8166f034d57de9c5", + "5a2a57cfc4a2826c6e06d44a", + "619256e5f8af2c1a4e1f5d92", + "5a0c27731526d80618476ac4" + ], + "spawnLimits": { + "5c99f98d86f7745c314214b3": 1, + "5c164d2286f774194c5e69fa": 1, + "550aa4cd4bdc2dd8348b456c": 2, + "55818add4bdc2d5b648b456f": 1, + "55818ad54bdc2ddc698b4569": 1, + "55818aeb4bdc2ddc698b456a": 1, + "55818ae44bdc2dde698b456c": 1, + "55818af64bdc2d5b648b4570": 1, + "5448e54d4bdc2dcc718b4568": 1, + "5448f3a64bdc2d60728b456a": 2, + "5447e1d04bdc2dff2f8b4567": 1, + "5a341c4686f77469e155819e": 1, + "55818b164bdc2ddc698b456c": 2, + "5448bc234bdc2d3c308b4569": 2, + "543be5dd4bdc2deb348b4569": 2, + "543be5cb4bdc2deb348b4568": 2, + "5485a8684bdc2da71d8b4567": 2, + "5d650c3e815116009f6201d2": 2, + "5448f39d4bdc2d0a728b4568": 2, + "543be6564bdc2df4348b4568": 1 + }, + "moneyStackLimits": { + "5449016a4bdc2d6f028b456f": 4000, + "5696686a4bdc2da3298b456a": 50, + "569668774bdc2da2298b4568": 50 + } + }, + "cartridgeBlacklist": [ + "56dff421d2720b5f5a8b4567", + "56dff216d2720bbd668b4568", + "56dff338d2720bbd668b4569", + "56dff4ecd2720b5f5a8b4568", + "59e6918f86f7746c9f75e849", + "5c0d5ae286f7741e46554302", + "5c0d56a986f774449d5de529", + "5efb0e16aeb21837e749c7ff", + "5737218f245977612125ba51", + "57372140245977611f70ee91", + "57371aab2459775a77142f22", + "573719762459775a626ccbc1", + "573601b42459776410737435", + "573602322459776445391df1", + "59e4d3d286f774176a36250a", + "5e023e88277cce2b522ff2b1", + "59e6658b86f77411d949b250", + "5c0d591486f7744c505b416f", + "5d6e68d1a4b93622fe60e845", + "5d6e6869a4b9361c140bcfde", + "5e85a9f4add9fe03027d9bf1", + "5cadf6e5ae921500113bb973", + "5cadf6ddae9215051e1c23b2", + "6196365d58ef8c428c287da1", + "5ba26812d4351e003201fef1", + "5cc80f79e4a949033c7343b2" + ], + "difficulty": "AsOnline", + "isUsec": 50, + "chanceSameSideIsHostilePercent": 50, + "usecType": "bosstest", + "bearType": "test", + "maxBackpackLootTotalRub": 150000, + "maxPocketLootTotalRub": 50000, + "maxVestLootTotalRub": 50000, + "types": { + "assault": 25, + "cursedAssault": 25, + "pmcBot": 25, + "exUsec": 10 + } + }, + "showTypeInNickname": false, + "maxBotCap": 20 +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/locale/DailyLocale.json b/Ereshkigal-AkiConfig/dist/locale/DailyLocale.json new file mode 100644 index 0000000..37481d5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/locale/DailyLocale.json @@ -0,0 +1,4 @@ +{ + "redeemTime": "", + "repeatableQuests": "" +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/locale/PmcLocale.json b/Ereshkigal-AkiConfig/dist/locale/PmcLocale.json new file mode 100644 index 0000000..ac2f8de --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/locale/PmcLocale.json @@ -0,0 +1,195 @@ +{ + "presetBatch": { + "assault": "", + "bossBully": "", + "bossGluhar": "", + "bossKilla": "", + "bossKojaniy": "", + "bossSanitar": "", + "bossTagilla": "", + "bossTest": "", + "cursedAssault": "", + "followerBully": "", + "followerGluharAssault": "", + "followerGluharScout": "", + "followerGluharSecurity": "", + "followerGluharSnipe": "", + "followerKojaniy": "", + "followerSanitar": "", + "followerTagilla": "", + "followerTest": "", + "marksman": "", + "pmcBot": "", + "sectantPriest": "", + "sectantWarrior": "", + "gifter": "", + "test": "", + "exUsec": "" + }, + "bosses": "", + "durability": { + "default": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "pmc": { + "armor": { + "lowestMaxPercent": "", + "highestMaxPercent": "", + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "boss": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "follower": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "assault": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "cursedassault": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "marksman": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "pmcbot": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "exusec": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "sectantpriest": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + }, + "sectantwarrior": { + "armor": { + "maxDelta": "", + "minDelta": "" + }, + "weapon": { + "lowestMax": "", + "highestMax": "", + "maxDelta": "", + "minDelta": "" + } + } + }, + "lootNValue": { + "scav": "", + "pmc": "" + }, + "pmc": { + "dynamicLoot": { + "whitelist": "", + "blacklist": "", + "spawnLimits": "", + "moneyStackLimits": "" + }, + "cartridgeBlacklist": "", + "difficulty": "", + "isUsec": "", + "chanceSameSideIsHostilePercent": "", + "usecType": "", + "bearType": "", + "maxBackpackLootTotalRub": "", + "maxPocketLootTotalRub": "", + "maxVestLootTotalRub": "", + "types": { + "assault": "", + "cursedAssault": "", + "pmcBot": "", + "exUsec": "" + } + }, + "showTypeInNickname": "", + "maxBotCap": "" +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/locale/locale.json b/Ereshkigal-AkiConfig/dist/locale/locale.json new file mode 100644 index 0000000..831636b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/locale/locale.json @@ -0,0 +1,254 @@ +{ + "Server values": { + "HTTP": { + "ip": "", + "port": "" + }, + "Health": { + "healthMultipliers": { + "death": "", + "blacked": "" + }, + "save": { + "health": "", + "effects": "" + } + }, + "Hideout": { + "runIntervalSeconds": "", + "scavCase": { + "rewardParentBlacklist": "", + "rewardItemBlacklist": "", + "ammoRewards": { + "giveMultipleOfTen": "", + "minAmount": "" + }, + "moneyRewards": { + "enabled": "", + "rub": { + "min": "", + "max": "" + }, + "usd": { + "min": "", + "max": "" + }, + "eur": { + "min": "", + "max": "" + } + } + } + }, + "enableChristmasGifts": "" + }, + "Raids values": { + "Loot values": { + "looseLootMultiplier": { + "bigmap": "", + "develop": "", + "factory4day": "", + "factory4night": "", + "interchange": "", + "laboratory": "", + "rezervbase": "", + "shoreline": "", + "woods": "", + "hideout": "", + "lighthouse": "", + "privatearea": "", + "suburbs": "", + "tarkovstreets": "", + "terminal": "", + "town": "" + }, + "staticLootMultiplier": { + "bigmap": "", + "develop": "", + "factory4day": "", + "factory4night": "", + "interchange": "", + "laboratory": "", + "rezervbase": "", + "shoreline": "", + "woods": "", + "hideout": "", + "lighthouse": "", + "privatearea": "", + "suburbs": "", + "tarkovstreets": "", + "terminal": "", + "town": "" + } + }, + "Airdrop values": { + "airdropChancePercent": { + "bigmap": "", + "woods": "", + "lighthouse": "", + "shoreline": "", + "interchange": "", + "reserve": "" + }, + "airdropMinStartTimeSeconds": "", + "airdropMaxStartTimeSeconds": "", + "airdropMinOpenHeight": "", + "airdropMaxOpenHeight": "", + "planeMinFlyHeight": "", + "planeMaxFlyHeight": "", + "planeVolume": "" + }, + "MIAOnRaidEnd": "", + "raidMenuSettings": { + "aiAmount": "", + "aiDifficulty": "", + "bossEnabled": "", + "scavWars": "", + "taggedAndCursed": "" + }, + "save": { + "loot": "", + "durability": "" + }, + "carExtracts": "", + "carExtractBaseStandingGain": "", + "scavExtractGain": "" + }, + "Traders values": { + "Traders": { + "updateTime": "", + "updateTimeDefault": "", + "fenceAssortSize": "", + "fenceMaxPresetsCount": "", + "fencePresetPriceMult": "", + "minDurabilityForSale": "", + "fenceItemIgnoreList": "" + }, + "Repair": { + "priceMultiplier": "" + }, + "Insurances": { + "insuranceMultiplier": "", + "returnChancePercent": "", + "runIntervalSeconds": "" + }, + "Trading": { + "newItemsMarkedFound": "" + } + }, + "FleaMarket configuration": { + "runIntervalSeconds": "", + "sell": { + "fees": "", + "chance": { + "base": "", + "overprices": "", + "underpriced": "" + }, + "time": { + "base": "", + "min": "", + "max": "" + }, + "reputation": { + "gain": "", + "loss": "" + } + }, + "traders": { + "EnablePraporOffers": "", + "EnableTheRapistOffers": "", + "EnableFenceOffers": "", + "EnableSkierOffers": "", + "EnablePeacekeeperOffers": "", + "EnableMechanicOffers": "", + "EnableRagmanOffers": "", + "EnableJaegerOffers": "", + "EnableAllAvailableOffers": "" + }, + "dynamic": { + "expiredOfferThreshold": "", + "offerItemCount": { + "min": "", + "max": "" + }, + "price": { + "min": "", + "max": "" + }, + "endTimeSeconds": { + "min": "", + "max": "" + }, + "condition": { + "conditionChance": "", + "min": "", + "max": "" + }, + "stackablePercent": { + "min": "", + "max": "" + }, + "nonStackableCount": { + "min": "", + "max": "" + }, + "rating": { + "min": "", + "max": "" + }, + "currencies": "", + "showAsSingleStack": "", + "blacklist": { + "custom": "", + "enableBsgList": "", + "enableQuestList": "" + } + } + }, + "Weather values": { + "acceleration": "", + "weather": { + "clouds": { + "min": "", + "max": "" + }, + "windSpeed": { + "min": "", + "max": "" + }, + "windDirection": { + "min": "", + "max": "" + }, + "windGustiness": { + "min": "", + "max": "" + }, + "rain": { + "min": "", + "max": "" + }, + "rainIntensity": { + "min": "", + "max": "" + }, + "fog": { + "min": "", + "max": "" + }, + "temp": { + "min": "", + "max": "" + }, + "pressure": { + "min": "", + "max": "" + } + } + }, + "other": { + "hideWarningMessage": "", + "showModLogs": "" + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/models/IConfig.ts b/Ereshkigal-AkiConfig/dist/models/IConfig.ts new file mode 100644 index 0000000..12af60c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/models/IConfig.ts @@ -0,0 +1,289 @@ +export interface HTTP +{ + ip: string; + port: number; +} + +export interface HealthMultipliers +{ + death: number; + blacked: number; +} + +export interface HealthSave +{ + health: boolean; + effects: boolean; +} + +export interface Health +{ + healthMultipliers: HealthMultipliers; + save: HealthSave; +} + +export interface AmmoRewards +{ + giveMultipleOfTen: boolean; + minAmount: number; +} + +export interface MinMax +{ + min: number; + max: number; +} + +export interface MoneyRewards +{ + enabled: boolean; + rub: MinMax; + usd: MinMax; + eur: MinMax +} + +export interface ScavCase +{ + rewardParentBlacklist: any; + rewardItemBlacklist: any; + ammoRewards: AmmoRewards; + moneyRewards: MoneyRewards; +} + +export interface Hideout +{ + runIntervalSeconds: number; + scavCase: ScavCase; + fuelDrainRateMultipler: number; +} + +export interface LootMultiplier +{ + bigmap: number; + develop: number; + factory4day: number; + factory4night: number; + interchange: number; + laboratory: number; + rezervbase: number; + shoreline: number; + woods: number; + hideout: number; + lighthouse: number; + privatearea: number; + suburbs: number; + tarkovstreets: number; + terminal: number; + town: number; +} + +export interface LootValues +{ + looseLootMultiplier: LootMultiplier; + staticLootMultiplier: LootMultiplier; +} + +export interface AirdropChancePercent +{ + bigmap: number; + woods: number; + lighthouse: number; + shoreline: number; + interchange: number; + reserve: number; +} + +export interface AirdropValues +{ + airdropChancePercent: AirdropChancePercent; + airdropMinOpenHeight: number; + airdropMaxOpenHeight: number; + planeMinFlyHeight: number; + planeMaxFlyHeight: number; + planeVolume: number; + airdropMinStartTimeSeconds: number; + airdropMaxStartTimeSeconds: number; +} + +export interface RaidMenuSettings +{ + aiAmount: string; + aiDifficulty: string; + bossEnabled: boolean; + scavWars: boolean; + taggedAndCursed: boolean; +} + +export interface RaidsValuesSave +{ + loot: boolean; + durability: boolean; +} + +export interface Traders +{ + updateTime: any; + updateTimeDefault: number; + fenceAssortSize: number; + fenceMaxPresetsCount: number; + fencePresetPriceMult: number; + minDurabilityForSale: number; + fenceItemIgnoreList: any; +} + +export interface Repair +{ + priceMultiplier: number; +} + +export interface Insurances +{ + insuranceMultiplier: any; + returnChancePercent: any; + runIntervalSeconds: number; +} + +export interface Trading +{ + newItemsMarkedFound: boolean; +} + +export interface Chance +{ + base: number; + overprices: number; + underpriced: number; +} + +export interface Time +{ + base: number; + min: number; + max: number; +} + +export interface Reputation +{ + gain: number; + loss: number; +} + +export interface Sell +{ + fees: boolean; + chance: Chance; + time: Time; + reputation: Reputation; +} + +export interface FleaMarketTraders +{ + EnablePraporOffers: boolean; + EnableTheRapistOffers: boolean; + EnableFenceOffers: false, + EnableSkierOffers: boolean; + EnablePeacekeeperOffers: boolean; + EnableMechanicOffers: boolean; + EnableRagmanOffers: boolean; + EnableJaegerOffers: boolean; + EnableAllAvailableOffers: boolean; +} + +export interface Condition +{ + conditionChance: number; + min: number; + max: number; +} + +export interface Blacklist +{ + custom: any; + enableBsgList: boolean; + enableQuestList: boolean; +} + +export interface Dynamic +{ + expiredOfferThreshold: number; + offerItemCount: MinMax; + price: MinMax; + endTimeSeconds: MinMax; + condition: Condition; + stackablePercent: MinMax; + nonStackableCount: MinMax; + rating: MinMax; + currencies: any; + showAsSingleStack: any; + blacklist: Blacklist; +} + +export interface Weather +{ + clouds: MinMax; + windSpeed: MinMax; + windDirection: MinMax; + windGustiness: MinMax; + rain: MinMax; + rainIntensity: MinMax; + fog: MinMax; + temp: MinMax; + pressure: MinMax; +} + +export interface Other +{ + hideWarningMessage: boolean; + showModLogs: boolean; +} + +export interface ServerValues +{ + http: HTTP; + health: Health; + hideout: Hideout; +} + +export interface RaidsValues +{ + lootValues: LootValues; + airdropValues: AirdropValues; + miaOnRaidEnd: boolean; + raidMenuSettings: RaidMenuSettings; + save: RaidsValuesSave; + carExtracts: any; + carExtractBaseStandingGain: number; + scavExtractGain: number; +} + +export interface TradersValues +{ + traders: Traders; + repair: Repair; + insurances: Insurances; + trading: Trading; +} + +export interface FleaMarketConfiguration +{ + runIntervalSeconds: number; + sell: Sell; + traders: FleaMarketTraders; + dynamic: Dynamic; +} + +export interface WeatherValues +{ + acceleration: number; + weather: Weather; +} + +export interface IConfig +{ + serverValues: ServerValues; + raidsValues: RaidsValues; + tradersValues: TradersValues; + fleaMarketConfiguration: FleaMarketConfiguration; + weatherValues: WeatherValues; + other: Other; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/models/IDailyConfig.ts b/Ereshkigal-AkiConfig/dist/models/IDailyConfig.ts new file mode 100644 index 0000000..752b5cb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/models/IDailyConfig.ts @@ -0,0 +1,5 @@ +export interface IDailyConfig +{ + redeemTime: number; + repeatableQuests: any; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/models/IDailyLocale.ts b/Ereshkigal-AkiConfig/dist/models/IDailyLocale.ts new file mode 100644 index 0000000..8efdd57 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/models/IDailyLocale.ts @@ -0,0 +1,5 @@ +export interface IDailyLocale +{ + redeemTime: string; + repeatableQuests: string; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/models/ILocale.ts b/Ereshkigal-AkiConfig/dist/models/ILocale.ts new file mode 100644 index 0000000..eb4fe3d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/models/ILocale.ts @@ -0,0 +1,289 @@ +export interface HTTP +{ + ip: string; + port: string; +} + +export interface HealthMultipliers +{ + death: string; + blacked: string; +} + +export interface HealthSave +{ + health: boolean; + effects: boolean; +} + +export interface Health +{ + healthMultipliers: HealthMultipliers; + save: HealthSave; +} + +export interface AmmoRewards +{ + giveMultipleOfTen: boolean; + minAmount: string; +} + +export interface MinMax +{ + min: string; + max: string; +} + +export interface MoneyRewards +{ + enabled: boolean; + rub: MinMax; + usd: MinMax; + eur: MinMax +} + +export interface ScavCase +{ + rewardParentBlacklist: string; + rewardItemBlacklist: string; + ammoRewards: AmmoRewards; + moneyRewards: MoneyRewards; +} + +export interface Hideout +{ + runIntervalSeconds: string; + scavCase: ScavCase; + fuelDrainRateMultipler: number; +} + +export interface LootMultiplier +{ + bigmap: string; + develop: string; + factory4day: string; + factory4night: string; + interchange: string; + laboratory: string; + rezervbase: string; + shoreline: string; + woods: string; + hideout: string; + lighthouse: string; + privatearea: string; + suburbs: string; + tarkovstreets: string; + terminal: string; + town: string; +} + +export interface LootValues +{ + looseLootMultiplier: LootMultiplier; + staticLootMultiplier: LootMultiplier; +} + +export interface AirdropChancePercent +{ + bigmap: number; + woods: number; + lighthouse: number; + shoreline: number; + interchange: number; + reserve: number; +} + +export interface AirdropValues +{ + airdropChancePercent: AirdropChancePercent; + airdropMinOpenHeight: number; + airdropMaxOpenHeight: number; + planeMinFlyHeight: number; + planeMaxFlyHeight: number; + planeVolume: number; + airdropMinStartTimeSeconds: number; + airdropMaxStartTimeSeconds: number; +} + +export interface RaidMenuSettings +{ + aiAmount: string; + aiDifficulty: string; + bossEnabled: boolean; + scavWars: boolean; + taggedAndCursed: boolean; +} + +export interface RaidsValuesSave +{ + loot: boolean; + durability: boolean; +} + +export interface Traders +{ + updateTime: string; + updateTimeDefault: string; + fenceAssortSize: string; + fenceMaxPresetsCount: string; + fencePresetPriceMult: string; + minDurabilityForSale: string; + fenceItemIgnoreList: string; +} + +export interface Repair +{ + priceMultiplier: string; +} + +export interface Insurances +{ + insuranceMultiplier: string; + returnChancePercent: string; + runIntervalSeconds: string; +} + +export interface Trading +{ + newItemsMarkedFound: boolean; +} + +export interface Chance +{ + base: string; + overprices: string; + underpriced: string; +} + +export interface Time +{ + base: string; + min: string; + max: string; +} + +export interface Reputation +{ + gain: string; + loss: string; +} + +export interface Sell +{ + fees: boolean; + chance: Chance; + time: Time; + reputation: Reputation; +} + +export interface FleaMarketTraders +{ + EnablePraporOffers: boolean; + EnableTheRapistOffers: boolean; + EnableFenceOffers: false, + EnableSkierOffers: boolean; + EnablePeacekeeperOffers: boolean; + EnableMechanicOffers: boolean; + EnableRagmanOffers: boolean; + EnableJaegerOffers: boolean; + EnableAllAvailableOffers: boolean; +} + +export interface Condition +{ + conditionChance: string; + min: string; + max: string; +} + +export interface Blacklist +{ + custom: string; + enableBsgList: boolean; + enableQuestList: boolean; +} + +export interface Dynamic +{ + expiredOfferThreshold: string; + offerItemCount: MinMax; + price: MinMax; + endTimeSeconds: MinMax; + condition: Condition; + stackablePercent: MinMax; + nonStackableCount: MinMax; + rating: MinMax; + currencies: string; + showAsSingleStack: string; + blacklist: Blacklist; +} + +export interface Weather +{ + clouds: MinMax; + windSpeed: MinMax; + windDirection: MinMax; + windGustiness: MinMax; + rain: MinMax; + rainIntensity: MinMax; + fog: MinMax; + temp: MinMax; + pressure: MinMax; +} + +export interface Other +{ + hideWarningMessage: boolean; + showModLogs: boolean; +} + +export interface ServerValues +{ + http: HTTP; + health: Health; + hideout: Hideout; +} + +export interface RaidsValues +{ + lootValues: LootValues; + airdropValues: AirdropValues; + miaOnRaidEnd: boolean; + raidMenuSettings: RaidMenuSettings; + save: RaidsValuesSave; + carExtracts: string; + carExtractBaseStandingGain: string; + scavExtractGain: string; +} + +export interface TradersValues +{ + traders: Traders; + repair: Repair; + insurances: Insurances; + trading: Trading; +} + +export interface FleaMarketConfiguration +{ + runIntervalSeconds: string; + sell: Sell; + traders: FleaMarketTraders; + dynamic: Dynamic; +} + +export interface WeatherValues +{ + acceleration: string; + weather: Weather; +} + +export interface ILocale +{ + serverValues: ServerValues; + raidsValues: RaidsValues; + tradersValues: TradersValues; + fleaMarketConfiguration: FleaMarketConfiguration; + weatherValues: WeatherValues; + other: Other; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/models/IPmcConfig.ts b/Ereshkigal-AkiConfig/dist/models/IPmcConfig.ts new file mode 100644 index 0000000..55cc20c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/models/IPmcConfig.ts @@ -0,0 +1,125 @@ +export interface PresetBatch +{ + assault: number; + bossBully: number; + bossGluhar: number; + bossKilla: number; + bossKojaniy: number; + bossSanitar: number; + bossTagilla: number; + bossTest: number; + cursedAssault: number; + followerBully: number; + followerGluharAssault: number; + followerGluharScout: number; + followerGluharSecurity: number; + followerGluharSnipe: number; + followerKojaniy: number; + followerSanitar: number; + followerTagilla: number; + followerTest: number; + marksman: number; + pmcBot: number; + sectantPriest: number; + sectantWarrior: number; + gifter: number; + test: number; + exUsec: number; +} + +export interface DefaultArmor +{ + maxDelta: number; + minDelta: number; +} + +export interface PmcArmor +{ + lowestMaxPercent: number; + highestMaxPercent: number; + maxDelta: number; + minDelta: number; +} + +export interface Weapon +{ + lowestMax: number; + highestMax: number; + maxDelta: number; + minDelta: number; +} + +export interface Bot +{ + armor: DefaultArmor; + weapon: Weapon; +} + +export interface PMC +{ + armor: PmcArmor; + weapon: Weapon; +} + +export interface LootNValue +{ + scav: number; + pmc: number; +} + +export interface Durability +{ + default: Bot; + pmc: PMC; + boss: Bot; + follower: Bot; + assault: Bot; + cursedassault: Bot; + marksman: Bot; + pmcbot: Bot; + exusec: Bot; + sectantpriest: Bot; + sectantwarrior: Bot; +} + +export interface DynamicLoot +{ + whitelist: any; + blacklist: any; + spawnLimits: any; + moneyStackLimits: any; +} + +export interface Types +{ + assault: number; + cursedAssault: number; + pmcBot: number; + exUsec: number; +} + +export interface PMCConfig +{ + dynamicLoot: DynamicLoot; + cartridgeBlacklist: any; + difficulty: string; + isUsec: number; + chanceSameSideIsHostilePercent: number; + usecType: string; + bearType: string; + maxBackpackLootTotalRub: number; + maxPocketLootTotalRub: number; + maxVestLootTotalRub: number; + types: Types; +} + +export interface IPmcConfig +{ + presetBatch: PresetBatch; + bosses: any; + durability: Durability; + lootNValue: LootNValue; + pmc: PMCConfig; + showTypeInNickname: boolean; + maxBotCap: number; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/models/IPmcLocale.ts b/Ereshkigal-AkiConfig/dist/models/IPmcLocale.ts new file mode 100644 index 0000000..88b2881 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/models/IPmcLocale.ts @@ -0,0 +1,125 @@ +export interface PresetBatch +{ + assault: string; + bossBully: string; + bossGluhar: string; + bossKilla: string; + bossKojaniy: string; + bossSanitar: string; + bossTagilla: string; + bossTest: string; + cursedAssault: string; + followerBully: string; + followerGluharAssault: string; + followerGluharScout: string; + followerGluharSecurity: string; + followerGluharSnipe: string; + followerKojaniy: string; + followerSanitar: string; + followerTagilla: string; + followerTest: string; + marksman: string; + pmcBot: string; + sectantPriest: string; + sectantWarrior: string; + gifter: string; + test: string; + exUsec: string; +} + +export interface DefaultArmor +{ + maxDelta: string; + minDelta: string; +} + +export interface PmcArmor +{ + lowestMaxPercent: string; + highestMaxPercent: string; + maxDelta: string; + minDelta: string; +} + +export interface Weapon +{ + lowestMax: string; + highestMax: string; + maxDelta: string; + minDelta: string; +} + +export interface Bot +{ + armor: DefaultArmor; + weapon: Weapon; +} + +export interface PMC +{ + armor: PmcArmor; + weapon: Weapon; +} + +export interface LootNValue +{ + scav: string; + pmc: string; +} + +export interface Durability +{ + default: Bot; + pmc: PMC; + boss: Bot; + follower: Bot; + assault: Bot; + cursedassault: Bot; + marksman: Bot; + pmcbot: Bot; + exusec: Bot; + sectantpriest: Bot; + sectantwarrior: Bot; +} + +export interface DynamicLoot +{ + whitelist: string; + blacklist: string; + spawnLimits: string; + moneyStackLimits: string; +} + +export interface Types +{ + assault: string; + cursedAssault: string; + pmcBot: string; + exUsec: string; +} + +export interface PMCConfig +{ + dynamicLoot: DynamicLoot; + cartridgeBlacklist: string; + difficulty: string; + isUsec: string; + chanceSameSideIsHostilePercent: string; + usecType: string; + bearType: string; + maxBackpackLootTotalRub: string; + maxPocketLootTotalRub: string; + maxVestLootTotalRub: string; + types: Types; +} + +export interface IPmcLocale +{ + presetBatch: PresetBatch; + bosses: string; + durability: Durability; + lootNValue: LootNValue; + pmc: PMCConfig; + showTypeInNickname: boolean; + maxBotCap: string; +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/package.json b/Ereshkigal-AkiConfig/dist/package.json new file mode 100644 index 0000000..e154918 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/package.json @@ -0,0 +1,26 @@ +{ + "name": "AkiConfig", + "version": "3.0.0", + "main": "src/mod.js", + "license": "CC-BY-NC-ND 4.0", + "author": "Ereshkigal", + "akiVersion": "3.0.0", + "updated by": "CWX, Valens, GGaulin", + "scripts": { + "setup:environment": "npm i", + "build:unzipped": "copyfiles -e \"./node_modules/**/*.*\" -e \"./dist/**/*.*\" -e \"./package-lock.json\" -e \"./tsconfig.json\" -e \"./README.txt\" -e \"./mod.code-workspace\" ./**/*.* ./dist", + "zip:files": "cd dist/ && bestzip ../mod.zip *", + "build:zip": "npm run clean:environment && npm run build:unzipped && npm run zip:files", + "clean:environment": "node -e \"require('fs').rm('mod.zip', ()=>{})\" && node -e \"require('fs').rmdir('./dist/',{recursive:true},()=>{})\"" + }, + "devDependencies": { + "@types/node": "^14.15.3", + "@typescript-eslint/eslint-plugin": "^4.33.0", + "@typescript-eslint/parser": "^4.33.0", + "copyfiles": "2.4.1", + "eslint": "7.26.0", + "tsyringe": "4.6.0", + "typescript": "4.6.4", + "bestzip": "2.2.1" + } +} diff --git a/Ereshkigal-AkiConfig/dist/src/AkiConfigHandler.ts b/Ereshkigal-AkiConfig/dist/src/AkiConfigHandler.ts new file mode 100644 index 0000000..d587254 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/AkiConfigHandler.ts @@ -0,0 +1,58 @@ +import { injectable } from "tsyringe"; +import { IConfig } from "../models/IConfig"; +import { IDailyConfig } from "../models/IDailyConfig"; +import { IPmcConfig } from "../models/IPmcConfig"; +import { ILocale } from "../models/ILocale"; +import { IDailyLocale } from "../models/IDailyLocale"; +import { IPmcLocale } from "../models/IPmcLocale"; + +@injectable() +export class AkiConfigHandler +{ + private config: IConfig; + private dailyConfig: IDailyConfig; + private pmcConfig: IPmcConfig; + private locales: ILocale; + private dailyLocales: IDailyLocale; + private pmcLocales: IPmcLocale; + + constructor() + { + this.config = require("../config/config.json"); + this.dailyConfig = require("../config/dailyConfig.json"); + this.pmcConfig = require("../config/pmcConfig.json"); + this.locales = require("../locale/locale.json"); + this.dailyLocales = require("../locale/dailyLocale.json"); + this.pmcLocales = require("../locale/pmcLocale.json"); + } + + public getConfig(): IConfig + { + return this.config; + } + + public getDailyConfig(): IDailyConfig + { + return this.dailyConfig; + } + + public getPmcConfig(): IPmcConfig + { + return this.pmcConfig; + } + + public getLocales(): ILocale + { + return this.locales; + } + + public getDailyLocales(): IDailyLocale + { + return this.dailyLocales; + } + + public getPmcLocales(): IPmcLocale + { + return this.pmcLocales; + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/src/bots.ts b/Ereshkigal-AkiConfig/dist/src/bots.ts new file mode 100644 index 0000000..6edef6c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/bots.ts @@ -0,0 +1,50 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +@injectable() +export class Bots +{ + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void + { + const pmcConfig = this.configHandler.getPmcConfig(); + const bots = this.configServer.getConfig(ConfigTypes.BOT); + + for (const bot in pmcConfig.pmc.types) + { + switch (bot) + { + default: + bots.pmc.types[bot] = pmcConfig.pmc.types[bot]; + break; + } + } + + for (const options in pmcConfig.pmc) + { + switch (options) + { + case "types": + break; + default: + bots.pmc[options] = pmcConfig.pmc[options]; + break; + } + } + + for (const bot in pmcConfig.presetBatch) + { + bots.presetBatch[bot] = pmcConfig.presetBatch[bot]; + } + } +} diff --git a/Ereshkigal-AkiConfig/dist/src/generator.ts b/Ereshkigal-AkiConfig/dist/src/generator.ts new file mode 100644 index 0000000..72860d5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/generator.ts @@ -0,0 +1,240 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { IHealthConfig } from "@spt-aki/models/spt/config/IHealthConfig"; +import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; +import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; +import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig"; +import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig"; +import { VFS } from "@spt-aki/utils/VFS"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; + +@injectable() +export class Generator +{ + private pkg = require("../package.json"); + + constructor( + @inject("VFS") protected vfs: VFS, + @inject("JsonUtil") protected jsonUtil: JsonUtil, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + private createConfig(modPath: string, file: string): void + { + let config = null; + let dailyConfig = null; + let pmcConfig = null; + /* + Generate the whole configuration on first run + This way the default values are always up to date to AKI. + */ + + //The default file type must be an object + config = { + "Server values": { + //"Enable Christmas Gifts": false, + "HTTP": {}, + "Health": {}, + "Hideout": {} + }, + "Raids values": { + "Loot values": {}, + "Airdrop values": {} + }, + "Traders values": { + "Traders": {}, + "Repair": {}, + "Insurances": {}, + "Trading": {} + }, + "FleaMarket configuration": {}, + "Weather values": {} + }; + dailyConfig = {}; + pmcConfig = {}; + + //We will have to gather every config that exists atm and throw them together into the object + const bots = this.configServer.getConfig(ConfigTypes.BOT); + const health = this.configServer.getConfig(ConfigTypes.HEALTH); + const hideout = this.configServer.getConfig(ConfigTypes.HIDEOUT); + const http = this.configServer.getConfig(ConfigTypes.HTTP); + const inraid = this.configServer.getConfig(ConfigTypes.IN_RAID); + const insurance = this.configServer.getConfig(ConfigTypes.INSURANCE); + const inventory = this.configServer.getConfig(ConfigTypes.INVENTORY); + const location = this.configServer.getConfig(ConfigTypes.LOCATION); + const quest = this.configServer.getConfig(ConfigTypes.QUEST); + const ragfair = this.configServer.getConfig(ConfigTypes.RAGFAIR); + const repair = this.configServer.getConfig(ConfigTypes.REPAIR); + const trader = this.configServer.getConfig(ConfigTypes.TRADER); + const weather = this.configServer.getConfig(ConfigTypes.WEATHER); + const airdrops = this.configServer.getConfig(ConfigTypes.AIRDROP); + + //Sorting the http values + Object.assign(config["Server values"]["HTTP"], http); + + //Sorting the health config + Object.assign(config["Server values"]["Health"], health); + + //Sorting the hideout values + Object.assign(config["Server values"]["Hideout"], hideout); + + //Sorting the inraid values + Object.assign(config["Raids values"], inraid); + + //Sorting location values + Object.assign(config["Raids values"]["Loot values"], location); + + //Sorting airdrop values + //Object.assign(config["Raids values"]["Airdrop values"], airdrops) + + //Sorting trader values + Object.assign(config["Traders values"]["Traders"], trader); + + //Sorting repair values + Object.assign(config["Traders values"]["Repair"], repair); + + //Sorting insurance values + Object.assign(config["Traders values"]["Insurances"], insurance); + + //Sorting inventory values + Object.assign(config["Traders values"]["Trading"], inventory); + + //Sorting quest values + Object.assign(dailyConfig, quest); + + //Sorting the bots config now + Object.assign(pmcConfig, bots); + + //Sorting ragfair values + Object.assign(config["FleaMarket configuration"], ragfair); + + //Weather values + Object.assign(config["Weather values"], weather); + + //Some personnal changes for end-user + config["FleaMarket configuration"].traders = { + EnablePraporOffers: true, + EnableTheRapistOffers: true, + EnableFenceOffers: false, + EnableSkierOffers: true, + EnablePeacekeeperOffers: true, + EnableMechanicOffers: true, + EnableRagmanOffers: true, + EnableJaegerOffers: true, + EnableAllAvailableOffers: false, + }; + + if (file === null) { + //Write the config in the folder + this.vfs.writeFile( + `${modPath}config/config.json`, + this.jsonUtil.serialize(config, true) + ); + this.vfs.writeFile( + `${modPath}config/dailyConfig.json`, + this.jsonUtil.serialize(dailyConfig, true) + ); + this.vfs.writeFile( + `${modPath}config/pmcConfig.json`, + this.jsonUtil.serialize(pmcConfig, true) + ); + } + else + { + this.logger.warning(`[AKI-CONFIG] - Generating ${file} file`) + let toWrite = null + if (file === "config") + { + toWrite = config + } + else if (file === 'dailyConfig') + { + toWrite = dailyConfig + } + else if (file === 'pmcConfig') + { + toWrite = pmcConfig + } + this.vfs.writeFile( + `${modPath}config/${file}.json`, + this.jsonUtil.serialize(toWrite, true) + ); + } + this.logger.error("[AKI-Config]: New configuration file created, please restart your server to use it."); + } + + public checkConfigExisting(modPath: string): void + { + const validation = []; + + //Check if config folder exists + if (this.vfs.exists(`${modPath}config`)) + { + //Check if all the config folder exists + const fileList = this.vfs.getFiles(`${modPath}config/`); + for (const file in fileList) + { + const fileName = fileList[file]; + if (fileName === "config.json") + { + validation.push("config"); + } + if (fileName === "dailyConfig.json") + { + validation.push("dailyConfig"); + } + if (fileName === "pmcConfig.json") + { + validation.push("pmcConfig"); + } + } + //All configurations files existing + if ((validation.length === 3)) + { + this.logger.success( + "[AKI-CONFIG] - All configurations files already created, all green." + ); + } + else + { + //One of the 3 file is missing, we only want to regenerate the missing one + this.logger.error( + "[AKI-CONFIG] - A config file is missing. Generating the missing file" + ); + + if (!validation.includes("config")) + { + this.createConfig(modPath, "config"); + } + if (!validation.includes("dailyConfig")) + { + this.createConfig(modPath, "dailyConfig"); + } + if (!validation.includes("pmcConfig")) + { + this.createConfig(modPath, "pmcConfig"); + } + } + } + else + { + this.logger.warning( + "First time AKI-Configurator is run, generating the config file..." + ); + this.createConfig(modPath, null); + } + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/src/mod.ts b/Ereshkigal-AkiConfig/dist/src/mod.ts new file mode 100644 index 0000000..d3c2178 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/mod.ts @@ -0,0 +1,61 @@ +import { DependencyContainer, Lifecycle } from "tsyringe"; +import type { IMod } from "@spt-aki/models/external/mod"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { InitialModLoader } from "@spt-aki/loaders/InitialModLoader"; +import { Generator } from "./generator"; +import { Ragfair } from "./ragfair"; +import { Weather } from "./weather"; +import { Bots } from "./bots"; +import { Raids } from "./raids"; +import { Server } from "./server"; +import { Traders } from "./traders"; +import { Quests } from "./quests"; +import { Notifications } from "./notifications"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +class AkiConfig implements IMod +{ + private logger: ILogger; + private pkg; + + public load(container: DependencyContainer): void + { + container.register("AkiConfigHandler", AkiConfigHandler, {lifecycle:Lifecycle.Singleton}); + container.register("Generator", Generator); + container.register("Ragfair", Ragfair); + container.register("Weather", Weather); + container.register("Bots", Bots); + container.register("Raids", Raids); + container.register("Server", Server); + container.register("Traders", Traders); + container.register("Quests", Quests); + container.register("Notifications", Notifications); + + this.logger = container.resolve("WinstonLogger"); + + this.pkg = require("../package.json"); + this.logger.info(`Loading: ${this.pkg.name} ${this.pkg.version}`); + } + + public delayedLoad(container: DependencyContainer): void + { + const initialModLoader = container.resolve("InitialModLoader"); + const modPath = `./${initialModLoader.getModPath(this.pkg.name)}`; + + container.resolve("Generator").checkConfigExisting(modPath); + container.resolve("Ragfair").applyChanges(); + container.resolve("Weather").applyChanges(); + container.resolve("Bots").applyChanges(); + container.resolve("Raids").applyChanges(); + container.resolve("Server").applyChanges(); + container.resolve("Traders").applyChanges(); + container.resolve("Quests").applyChanges(); + + if (container.resolve("AkiConfigHandler").getConfig().other.showModLogs) + { + container.resolve("Notifications").sendNotifications() + } + } +} + +module.exports = { mod: new AkiConfig() }; \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/src/notifications.ts b/Ereshkigal-AkiConfig/dist/src/notifications.ts new file mode 100644 index 0000000..385da6b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/notifications.ts @@ -0,0 +1,28 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +@injectable() +export class Notifications +{ + constructor( + @inject("WinstonLogger") private logger: ILogger, + @inject("AkiConfigHandler") private configHandler: AkiConfigHandler + ) + {} + + public sendNotifications(): void + { + const config = this.configHandler.getConfig(); + const locale = this.configHandler.getLocales(); + + if (!config.other.hideWarningMessage) + { + this.logger.log("[AIO Config INFORMATION]", "yellow"); + this.logger.info("Please read the AKICONFIG README.pdf carefully as this has all the information you need."); + this.logger.log("[AIO Config INFORMATION]", "yellow"); + } + + + } +} \ No newline at end of file diff --git a/Ereshkigal-AkiConfig/dist/src/quests.ts b/Ereshkigal-AkiConfig/dist/src/quests.ts new file mode 100644 index 0000000..ab66a07 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/quests.ts @@ -0,0 +1,26 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +@injectable() +export class Quests +{ + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void + { + const dailyConfig = this.configHandler.getDailyConfig(); + const questConfig = this.configServer.getConfig(ConfigTypes.QUEST); + + questConfig.redeemTime = dailyConfig.redeemTime; + questConfig.repeatableQuests = dailyConfig.repeatableQuests; + } +} diff --git a/Ereshkigal-AkiConfig/dist/src/ragfair.ts b/Ereshkigal-AkiConfig/dist/src/ragfair.ts new file mode 100644 index 0000000..04d4191 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/ragfair.ts @@ -0,0 +1,72 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { Traders } from "@spt-aki/models/enums/Traders"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +@injectable() +export class Ragfair +{ + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void + { + const config = this.configHandler.getConfig(); + const ragfair = this.configServer.getConfig(ConfigTypes.RAGFAIR); + + for (const options in ragfair.sell) + { + ragfair.sell[options] = config["FleaMarket configuration"].sell[options]; + } + + for (const options in ragfair.dynamic) + { + ragfair.dynamic[options] = config["FleaMarket configuration"].dynamic[options]; + } + + const traderList = config["FleaMarket configuration"].traders; + for (const trader in config["FleaMarket configuration"].traders) + { + switch (trader) + { + case "EnablePraporOffers": + ragfair.traders[Traders.PRAPOR] = traderList.EnablePraporOffers; + break; + case "EnableTheRapistOffers": + ragfair.traders[Traders.THERAPIST] = traderList.EnableTheRapistOffers; + break; + case "EnableFenceOffers": + ragfair.traders[Traders.FENCE] = traderList.EnableFenceOffers; + break; + case "EnableSkierOffers": + ragfair.traders[Traders.SKIER] = traderList.EnableSkierOffers; + break; + case "EnablePeacekeeperOffers": + ragfair.traders[Traders.PEACEKEEPER] = traderList.EnablePeacekeeperOffers; + break; + case "EnableMechanicOffers": + ragfair.traders[Traders.MECHANIC] = traderList.EnableMechanicOffers; + break; + case "EnableRagmanOffers": + ragfair.traders[Traders.RAGMAN] = traderList.EnableRagmanOffers; + break; + case "EnableJaegerOffers": + ragfair.traders[Traders.JAEGER] = traderList.EnableJaegerOffers; + break; + case "EnableAllAvailableOffers": + ragfair.traders["ragfair"] = traderList.EnableAllAvailableOffers; + break; + default: + ragfair.traders[trader] = traderList[trader]; + break; + } + } + } +} diff --git a/Ereshkigal-AkiConfig/dist/src/raids.ts b/Ereshkigal-AkiConfig/dist/src/raids.ts new file mode 100644 index 0000000..bb87c0f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/raids.ts @@ -0,0 +1,40 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +@injectable() +export class Raids +{ + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void + { + const config = this.configHandler.getConfig(); + const locationConfig = this.configServer.getConfig(ConfigTypes.LOCATION); + const airdropConfig = this.configServer.getConfig(ConfigTypes.AIRDROP); + const inRaidConfig = this.configServer.getConfig(ConfigTypes.IN_RAID); + + locationConfig.looseLootMultiplier = config["Raids values"]["Loot values"].looseLootMultiplier; + locationConfig.staticLootMultiplier = config["Raids values"]["Loot values"].staticLootMultiplier; + + for (const options in airdropConfig) + { + airdropConfig[options] = config["Raids values"]["Airdrop values"][options]; + } + + for (const options in inRaidConfig) + { + inRaidConfig[options] = config["Raids values"][options]; + } + } +} diff --git a/Ereshkigal-AkiConfig/dist/src/server.ts b/Ereshkigal-AkiConfig/dist/src/server.ts new file mode 100644 index 0000000..6094ca5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/server.ts @@ -0,0 +1,37 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IHealthConfig } from "@spt-aki/models/spt/config/IHealthConfig"; +import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +@injectable() +export class Server +{ + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void + { + const config = this.configHandler.getConfig(); + const serverConfig = this.configServer.getConfig(ConfigTypes.HTTP); + const healthConfig = this.configServer.getConfig(ConfigTypes.HEALTH); + const hideoutConfig = this.configServer.getConfig(ConfigTypes.HIDEOUT); + + serverConfig.ip = config["Server values"].HTTP.ip; + serverConfig.port = config["Server values"].HTTP.port; + + healthConfig.healthMultipliers = config["Server values"].Health.healthMultipliers; + healthConfig.save = config["Server values"].Health.save; + + hideoutConfig.runIntervalSeconds = config["Server values"].Hideout.runIntervalSeconds; + hideoutConfig.scavCase = config["Server values"].Hideout.scavCase; + hideoutConfig.fuelDrainRateMultipler = config["Server values"].Hideout.fuelDrainRateMultipler; + } +} diff --git a/Ereshkigal-AkiConfig/dist/src/traders.ts b/Ereshkigal-AkiConfig/dist/src/traders.ts new file mode 100644 index 0000000..f45f701 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/traders.ts @@ -0,0 +1,49 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; +import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig"; +import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +@injectable() +export class Traders +{ + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void + { + const config = this.configHandler.getConfig(); + const insurance = this.configServer.getConfig(ConfigTypes.INSURANCE); + const inventory = this.configServer.getConfig(ConfigTypes.INVENTORY); + const repair = this.configServer.getConfig(ConfigTypes.REPAIR); + const trader = this.configServer.getConfig(ConfigTypes.TRADER); + + for (const options in insurance) + { + insurance[options] = config["Traders values"].Insurances[options]; + } + + for (const options in inventory) + { + inventory[options] = config["Traders values"].Trading[options]; + } + + for (const options in repair) + { + repair[options] = config["Traders values"].Repair[options]; + } + + for (const options in trader) + { + trader[options] = config["Traders values"].Traders[options]; + } + } +} diff --git a/Ereshkigal-AkiConfig/dist/src/weather.ts b/Ereshkigal-AkiConfig/dist/src/weather.ts new file mode 100644 index 0000000..6623f2e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/src/weather.ts @@ -0,0 +1,43 @@ +import { inject, injectable } from "tsyringe"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { AkiConfigHandler } from "./AkiConfigHandler"; + +@injectable() +export class Weather +{ + constructor( + @inject("AkiConfigHandler") protected configHandler: AkiConfigHandler, + @inject("ConfigServer") protected configServer: ConfigServer, + @inject("WinstonLogger") private logger: ILogger + ) + {} + + public applyChanges(): void + { + const config = this.configHandler.getConfig(); + const weatherValues = this.configServer.getConfig(ConfigTypes.WEATHER); + + weatherValues.acceleration = config["Weather values"].acceleration; + weatherValues.weather.clouds.min = config["Weather values"].weather.clouds.min; + weatherValues.weather.clouds.max = config["Weather values"].weather.clouds.max; + weatherValues.weather.windSpeed.min = config["Weather values"].weather.windSpeed.min; + weatherValues.weather.windSpeed.max = config["Weather values"].weather.windSpeed.max; + weatherValues.weather.windDirection.min = config["Weather values"].weather.windDirection.min; + weatherValues.weather.windDirection.max = config["Weather values"].weather.windDirection.max; + weatherValues.weather.windGustiness.min = config["Weather values"].weather.windGustiness.min; + weatherValues.weather.windGustiness.max = config["Weather values"].weather.windGustiness.max; + weatherValues.weather.rain.min = config["Weather values"].weather.rain.min; + weatherValues.weather.rain.max = config["Weather values"].weather.rain.max; + weatherValues.weather.rainIntensity.min = config["Weather values"].weather.rainIntensity.min; + weatherValues.weather.rainIntensity.max = config["Weather values"].weather.rainIntensity.max; + weatherValues.weather.fog.min = config["Weather values"].weather.fog.min; + weatherValues.weather.fog.max = config["Weather values"].weather.fog.max; + weatherValues.weather.temp.min = config["Weather values"].weather.temp.min; + weatherValues.weather.temp.max = config["Weather values"].weather.temp.max; + weatherValues.weather.pressure.min = config["Weather values"].weather.pressure.min; + weatherValues.weather.pressure.max = config["Weather values"].weather.pressure.max; + } +} diff --git a/Ereshkigal-AkiConfig/dist/types/Program.d.ts b/Ereshkigal-AkiConfig/dist/types/Program.d.ts new file mode 100644 index 0000000..d4b71b9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/Program.d.ts @@ -0,0 +1,4 @@ +export declare class Program { + constructor(); + start(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/TYPES.d.ts b/Ereshkigal-AkiConfig/dist/types/TYPES.d.ts new file mode 100644 index 0000000..6407c3a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/TYPES.d.ts @@ -0,0 +1,3 @@ +export declare const TYPES: { + [name: string]: symbol; +}; diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/BotCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/BotCallbacks.d.ts new file mode 100644 index 0000000..2db60dc --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/BotCallbacks.d.ts @@ -0,0 +1,15 @@ +import { BotController } from "../controllers/BotController"; +import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class BotCallbacks { + protected botController: BotController; + protected httpResponse: HttpResponseUtil; + constructor(botController: BotController, httpResponse: HttpResponseUtil); + getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; + getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; + generateBots(url: string, info: IGenerateBotsRequestData, sessionID: string): IGetBodyResponseData; + getBotCap(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/BundleCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/BundleCallbacks.d.ts new file mode 100644 index 0000000..b28abe1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/BundleCallbacks.d.ts @@ -0,0 +1,18 @@ +import { BundleLoader } from "../loaders/BundleLoader"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class BundleCallbacks { + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected httpServer: IHttpServer; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, bundleLoader: BundleLoader, configServer: ConfigServer); + sendBundle(sessionID: string, req: any, resp: any, body: any): any; + getBundles(url: string, info: any, sessionID: string): string; + getBundle(url: string, info: any, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/CustomizationCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/CustomizationCallbacks.d.ts new file mode 100644 index 0000000..3bab8c0 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/CustomizationCallbacks.d.ts @@ -0,0 +1,23 @@ +import { CustomizationController } from "../controllers/CustomizationController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ISuit } from "../models/eft/common/tables/ITrader"; +import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData"; +import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { SaveServer } from "../servers/SaveServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class CustomizationCallbacks { + protected customizationController: CustomizationController; + protected saveServer: SaveServer; + protected httpResponse: HttpResponseUtil; + constructor(customizationController: CustomizationController, saveServer: SaveServer, httpResponse: HttpResponseUtil); + getSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<{ + _id: string; + suites: string[]; + }>; + getTraderSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; + buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/DataCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/DataCallbacks.d.ts new file mode 100644 index 0000000..cfb1c16 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/DataCallbacks.d.ts @@ -0,0 +1,32 @@ +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGlobals } from "../models/eft/common/IGlobals"; +import { ICustomizationItem } from "../models/eft/common/tables/ICustomizationItem"; +import { IQuest } from "../models/eft/common/tables/IQuest"; +import { IHideoutArea } from "../models/eft/hideout/IHideoutArea"; +import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; +import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; +import { IHideoutSettingsBase } from "../models/eft/hideout/IHideoutSettingsBase"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { ILanguageBase } from "../models/spt/server/ILocaleBase"; +import { ISettingsBase } from "../models/spt/server/ISettingsBase"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class DataCallbacks { + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer); + getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string; + getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; + getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateQuests(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/DialogueCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/DialogueCallbacks.d.ts new file mode 100644 index 0000000..634f90b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/DialogueCallbacks.d.ts @@ -0,0 +1,45 @@ +import { DialogueController } from "../controllers/DialogueController"; +import { OnUpdate } from "../di/OnUpdate"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData"; +import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData"; +import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse"; +import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData"; +import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; +import { IGetMailDialogInfoRequestData } from "../models/eft/dialog/IGetMailDialogInfoRequestData"; +import { IGetMailDialogListRequestData } from "../models/eft/dialog/IGetMailDialogListRequestData"; +import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDialogViewRequestData"; +import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; +import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData"; +import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData"; +import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest"; +import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { DialogueInfo } from "../models/eft/profile/IAkiProfile"; +import { HashUtil } from "../utils/HashUtil"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class DialogueCallbacks extends OnUpdate { + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected httpResponse: HttpResponseUtil; + protected dialogueController: DialogueController; + constructor(hashUtil: HashUtil, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, dialogueController: DialogueController); + getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData; + removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData; + pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData; + unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData; + setRead(url: string, info: ISetDialogReadRequestData, sessionID: string): IGetBodyResponseData; + getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData; + listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData; + sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData; + onUpdate(timeSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/GameCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/GameCallbacks.d.ts new file mode 100644 index 0000000..d5cad76 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/GameCallbacks.d.ts @@ -0,0 +1,24 @@ +import { GameController } from "../controllers/GameController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; +import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData"; +import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { Watermark } from "../utils/Watermark"; +declare class GameCallbacks { + protected httpResponse: HttpResponseUtil; + protected watermark: Watermark; + protected gameController: GameController; + constructor(httpResponse: HttpResponseUtil, watermark: Watermark, gameController: GameController); + versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; + gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gameLogout(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData; + getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getVersion(url: string, info: IEmptyRequestData, sessionID: string): string; +} +export { GameCallbacks }; diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/HandbookCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/HandbookCallbacks.d.ts new file mode 100644 index 0000000..891e375 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/HandbookCallbacks.d.ts @@ -0,0 +1,8 @@ +import { HandbookController } from "../controllers/HandbookController"; +import { OnLoad } from "../di/OnLoad"; +export declare class HandbookCallbacks extends OnLoad { + protected handbookController: HandbookController; + constructor(handbookController: HandbookController); + onLoad(): void; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/HealthCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/HealthCallbacks.d.ts new file mode 100644 index 0000000..8f7b89d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/HealthCallbacks.d.ts @@ -0,0 +1,20 @@ +import { HealthController } from "../controllers/HealthController"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData"; +import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData"; +import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData"; +import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class HealthCallbacks { + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected healthController: HealthController; + constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); + syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; + offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; + offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; + healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/HideoutCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/HideoutCallbacks.d.ts new file mode 100644 index 0000000..99ab4c9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/HideoutCallbacks.d.ts @@ -0,0 +1,33 @@ +import { HideoutController } from "../controllers/HideoutController"; +import { OnUpdate } from "../di/OnUpdate"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; +import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; +import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; +import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData"; +import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +export declare class HideoutCallbacks extends OnUpdate { + protected hideoutController: HideoutController; + protected configServer: ConfigServer; + protected hideoutConfig: IHideoutConfig; + constructor(hideoutController: HideoutController, // TODO: delay needed + configServer: ConfigServer); + upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; + upgradeComplete(pmcData: IPmcData, body: IHideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; + putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; + takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; + singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + onUpdate(timeSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/HttpCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/HttpCallbacks.d.ts new file mode 100644 index 0000000..94c97bd --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/HttpCallbacks.d.ts @@ -0,0 +1,9 @@ +import { OnLoad } from "../di/OnLoad"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +export declare class HttpCallbacks extends OnLoad { + protected httpServer: IHttpServer; + constructor(httpServer: IHttpServer); + onLoad(): void; + getRoute(): string; + getImage(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/InraidCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/InraidCallbacks.d.ts new file mode 100644 index 0000000..05bcce4 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/InraidCallbacks.d.ts @@ -0,0 +1,23 @@ +import { InraidController } from "../controllers/InraidController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; +import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IAirdropConfig } from "../models/spt/config/IAirdropConfig"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class InraidCallbacks { + protected inraidController: InraidController; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected airdropConfig: IAirdropConfig; + protected inraidConfig: IInRaidConfig; + constructor(inraidController: InraidController, httpResponse: HttpResponseUtil, configServer: ConfigServer); + registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; + saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData; + getRaidEndState(): string; + getRaidMenuSettings(url: string, info: IEmptyRequestData, sessionID: string): string; + getWeaponDurability(url: string, info: any, sessionID: string): string; + getAirdropConfig(url: string, info: any, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/InsuranceCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/InsuranceCallbacks.d.ts new file mode 100644 index 0000000..520d0eb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/InsuranceCallbacks.d.ts @@ -0,0 +1,24 @@ +import { InsuranceController } from "../controllers/InsuranceController"; +import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { InsuranceService } from "../services/InsuranceService"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class InsuranceCallbacks extends OnLoadOnUpdate { + protected insuranceController: InsuranceController; + protected insuranceService: InsuranceService; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected insuranceConfig: IInsuranceConfig; + constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer); + onLoad(): void; + getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData; + insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse; + onUpdate(secondsSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/InventoryCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/InventoryCallbacks.d.ts new file mode 100644 index 0000000..9ab1486 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/InventoryCallbacks.d.ts @@ -0,0 +1,39 @@ +import { InventoryController } from "../controllers/InventoryController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData"; +import { IInventoryCreateMarkerRequestData } from "../models/eft/inventory/IInventoryCreateMarkerRequestData"; +import { IInventoryDeleteMarkerRequestData } from "../models/eft/inventory/IInventoryDeleteMarkerRequestData"; +import { IInventoryEditMarkerRequestData } from "../models/eft/inventory/IInventoryEditMarkerRequestData"; +import { IInventoryExamineRequestData } from "../models/eft/inventory/IInventoryExamineRequestData"; +import { IInventoryFoldRequestData } from "../models/eft/inventory/IInventoryFoldRequestData"; +import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; +import { IInventoryReadEncyclopediaRequestData } from "../models/eft/inventory/IInventoryReadEncyclopediaRequestData"; +import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData"; +import { IInventorySortRequestData } from "../models/eft/inventory/IInventorySortRequestData"; +import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; +import { IInventorySwapRequestData } from "../models/eft/inventory/IInventorySwapRequestData"; +import { IInventoryTagRequestData } from "../models/eft/inventory/IInventoryTagRequestData"; +import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryToggleRequestData"; +import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class InventoryCallbacks { + protected inventoryController: InventoryController; + constructor(inventoryController: InventoryController); + moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; + removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; + splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse; + mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse; + transferItem(pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string): IItemEventRouterResponse; + swapItem(pmcData: IPmcData, body: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse; + foldItem(pmcData: IPmcData, body: IInventoryFoldRequestData, sessionID: string): IItemEventRouterResponse; + toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse; + tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; + bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; + examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; + sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse; + createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse; + deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse; + editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/ItemEventCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/ItemEventCallbacks.d.ts new file mode 100644 index 0000000..f4f04f9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/ItemEventCallbacks.d.ts @@ -0,0 +1,11 @@ +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterRequest } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class ItemEventCallbacks { + protected httpResponse: HttpResponseUtil; + protected itemEventRouter: ItemEventRouter; + constructor(httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter); + handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/LauncherCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/LauncherCallbacks.d.ts new file mode 100644 index 0000000..c022325 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/LauncherCallbacks.d.ts @@ -0,0 +1,28 @@ +import { LauncherController } from "../controllers/LauncherController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; +import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; +import { IRegisterData } from "../models/eft/launcher/IRegisterData"; +import { IRemoveProfileData } from "../models/eft/launcher/IRemoveProfileData"; +import { SaveServer } from "../servers/SaveServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { Watermark } from "../utils/Watermark"; +declare class LauncherCallbacks { + protected httpResponse: HttpResponseUtil; + protected launcherController: LauncherController; + protected saveServer: SaveServer; + protected watermark: Watermark; + constructor(httpResponse: HttpResponseUtil, launcherController: LauncherController, saveServer: SaveServer, watermark: Watermark); + connect(): string; + login(url: string, info: ILoginRequestData, sessionID: string): string; + register(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"; + get(url: string, info: ILoginRequestData, sessionID: string): string; + changeUsername(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"; + changePassword(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"; + wipe(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"; + getServerVersion(): string; + ping(url: string, info: IEmptyRequestData, sessionID: string): string; + removeProfile(url: string, info: IRemoveProfileData, sessionID: string): string; + getCompatibleTarkovVersion(): string; +} +export { LauncherCallbacks }; diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/LocationCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/LocationCallbacks.d.ts new file mode 100644 index 0000000..cc69369 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/LocationCallbacks.d.ts @@ -0,0 +1,14 @@ +import { LocationController } from "../controllers/LocationController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { ILocationBase } from "../models/eft/common/ILocationBase"; +import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class LocationCallbacks { + protected httpResponse: HttpResponseUtil; + protected locationController: LocationController; + constructor(httpResponse: HttpResponseUtil, locationController: LocationController); + getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/MatchCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/MatchCallbacks.d.ts new file mode 100644 index 0000000..083c1f5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/MatchCallbacks.d.ts @@ -0,0 +1,35 @@ +import { MatchController } from "../controllers/MatchController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +export declare class MatchCallbacks { + protected httpResponse: HttpResponseUtil; + protected jsonUtil: JsonUtil; + protected matchController: MatchController; + protected databaseServer: DatabaseServer; + constructor(httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, matchController: MatchController, databaseServer: DatabaseServer); + updatePing(url: string, info: any, sessionID: string): INullResponseData; + exitMatch(url: string, info: any, sessionID: string): INullResponseData; + exitToMenu(url: string, info: any, sessionID: string): INullResponseData; + startGroupSearch(url: string, info: any, sessionID: string): INullResponseData; + stopGroupSearch(url: string, info: any, sessionID: string): INullResponseData; + sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + putMetrics(url: string, info: any, sessionID: string): INullResponseData; + getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData; + serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; + joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData; + getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData; + getGroupStatus(url: string, info: any, sessionID: string): IGetBodyResponseData; + createGroup(url: string, info: any, sessionID: string): IGetBodyResponseData; + deleteGroup(url: string, info: any, sessionID: string): INullResponseData; + startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData; + endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/ModCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/ModCallbacks.d.ts new file mode 100644 index 0000000..866abf7 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/ModCallbacks.d.ts @@ -0,0 +1,22 @@ +import { OnLoad } from "../di/OnLoad"; +import { DelayedModLoader } from "../loaders/DelayedModLoader"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +declare class ModCallbacks extends OnLoad { + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected httpServer: IHttpServer; + protected modLoader: DelayedModLoader; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); + onLoad(): void; + getRoute(): string; + sendBundle(sessionID: string, req: any, resp: any, body: any): void; + getBundles(url: string, info: any, sessionID: string): string; + getBundle(url: string, info: any, sessionID: string): string; +} +export { ModCallbacks }; diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/NoteCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/NoteCallbacks.d.ts new file mode 100644 index 0000000..d39d400 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/NoteCallbacks.d.ts @@ -0,0 +1,11 @@ +import { NoteController } from "../controllers/NoteController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { INoteActionData } from "../models/eft/notes/INoteActionData"; +export declare class NoteCallbacks { + protected noteController: NoteController; + constructor(noteController: NoteController); + addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/NotifierCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/NotifierCallbacks.d.ts new file mode 100644 index 0000000..cd1e736 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/NotifierCallbacks.d.ts @@ -0,0 +1,24 @@ +import { NotifierController } from "../controllers/NotifierController"; +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INotifierChannel } from "../models/eft/notifier/INotifier"; +import { ISelectProfileRequestData } from "../models/eft/notifier/ISelectProfileRequestData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class NotifierCallbacks { + protected httpServerHelper: HttpServerHelper; + protected httpResponse: HttpResponseUtil; + protected notifierController: NotifierController; + constructor(httpServerHelper: HttpServerHelper, httpResponse: HttpResponseUtil, notifierController: NotifierController); + /** + * If we don't have anything to send, it's ok to not send anything back + * because notification requests can be long-polling. In fact, we SHOULD wait + * until we actually have something to send because otherwise we'd spam the client + * and the client would abort the connection due to spam. + */ + sendNotification(_sessionID: string, req: any, resp: any, _data: any): void; + getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData; + createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData; + notify(url: string, info: any, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/PresetBuildCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/PresetBuildCallbacks.d.ts new file mode 100644 index 0000000..8a0c155 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/PresetBuildCallbacks.d.ts @@ -0,0 +1,15 @@ +import { PresetBuildController } from "../controllers/PresetBuildController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData"; +import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class PresetBuildCallbacks { + protected httpResponse: HttpResponseUtil; + protected presetBuildController: PresetBuildController; + constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController); + getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; + saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; + removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/PresetCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/PresetCallbacks.d.ts new file mode 100644 index 0000000..4553f8f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/PresetCallbacks.d.ts @@ -0,0 +1,8 @@ +import { PresetController } from "../controllers/PresetController"; +import { OnLoad } from "../di/OnLoad"; +export declare class PresetCallbacks extends OnLoad { + protected presetController: PresetController; + constructor(presetController: PresetController); + onLoad(): void; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/ProfileCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/ProfileCallbacks.d.ts new file mode 100644 index 0000000..116e7c5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/ProfileCallbacks.d.ts @@ -0,0 +1,30 @@ +import { ProfileController } from "../controllers/ProfileController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData"; +import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; +import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; +import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; +import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData"; +import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse"; +import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class ProfileCallbacks { + protected httpResponse: HttpResponseUtil; + protected timeUtil: TimeUtil; + protected profileController: ProfileController; + constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, profileController: ProfileController); + createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; + getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + regenerateScav(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + changeVoice(url: string, info: IProfileChangeVoiceRequestData, sessionID: string): INullResponseData; + changeNickname(url: string, info: IProfileChangeNicknameRequestData, sessionID: string): IGetBodyResponseData; + validateNickname(url: string, info: IValidateNicknameRequestData, sessionID: string): IGetBodyResponseData; + getReservedNickname(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData; + getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string; + getAllMiniProfiles(url: string, info: any, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/QuestCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/QuestCallbacks.d.ts new file mode 100644 index 0000000..559c29e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/QuestCallbacks.d.ts @@ -0,0 +1,26 @@ +import { QuestController } from "../controllers/QuestController"; +import { RepeatableQuestController } from "../controllers/RepeatableQuestController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IQuest } from "../models/eft/common/tables/IQuest"; +import { IPmcDataRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; +import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; +import { IListQuestsRequestData } from "../models/eft/quests/IListQuestsRequestData"; +import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class QuestCallbacks { + protected httpResponse: HttpResponseUtil; + protected questController: QuestController; + protected repeatableQuestController: RepeatableQuestController; + constructor(httpResponse: HttpResponseUtil, questController: QuestController, repeatableQuestController: RepeatableQuestController); + changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; + listQuests(url: string, info: IListQuestsRequestData, sessionID: string): IGetBodyResponseData; + activityPeriods(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/RagfairCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/RagfairCallbacks.d.ts new file mode 100644 index 0000000..d5bab8b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/RagfairCallbacks.d.ts @@ -0,0 +1,39 @@ +import { RagfairController } from "../controllers/RagfairController"; +import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData"; +import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; +import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; +import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; +import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; +import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { RagfairServer } from "../servers/RagfairServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +export declare class RagfairCallbacks extends OnLoadOnUpdate { + protected httpResponse: HttpResponseUtil; + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected ragfairServer: RagfairServer; + protected ragfairController: RagfairController; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + constructor(httpResponse: HttpResponseUtil, logger: ILogger, jsonUtil: JsonUtil, ragfairServer: RagfairServer, ragfairController: RagfairController, configServer: ConfigServer); + onLoad(): void; + getRoute(): string; + search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData; + getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData; + getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; + removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse; + extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; + onUpdate(timeSinceLastRun: number): boolean; + sendReport(url: string, info: any, sessionID: string): INullResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/RepairCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/RepairCallbacks.d.ts new file mode 100644 index 0000000..63733fa --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/RepairCallbacks.d.ts @@ -0,0 +1,11 @@ +import { RepairController } from "../controllers/RepairController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; +import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; +export declare class RepairCallbacks { + protected repairController: RepairController; + constructor(repairController: RepairController); + traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; + repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/SaveCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/SaveCallbacks.d.ts new file mode 100644 index 0000000..bbb6e53 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/SaveCallbacks.d.ts @@ -0,0 +1,9 @@ +import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; +import { SaveServer } from "../servers/SaveServer"; +export declare class SaveCallbacks extends OnLoadOnUpdate { + protected saveServer: SaveServer; + constructor(saveServer: SaveServer); + onLoad(): void; + getRoute(): string; + onUpdate(secondsSinceLastRun: number): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/TradeCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/TradeCallbacks.d.ts new file mode 100644 index 0000000..272ae46 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/TradeCallbacks.d.ts @@ -0,0 +1,11 @@ +import { TradeController } from "../controllers/TradeController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; +import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; +export declare class TradeCallbacks { + protected tradeController: TradeController; + constructor(tradeController: TradeController); + processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; + processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/TraderCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/TraderCallbacks.d.ts new file mode 100644 index 0000000..128d9b2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/TraderCallbacks.d.ts @@ -0,0 +1,18 @@ +import { TraderController } from "../controllers/TraderController"; +import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class TraderCallbacks extends OnLoadOnUpdate { + protected httpResponse: HttpResponseUtil; + protected traderController: TraderController; + constructor(httpResponse: HttpResponseUtil, traderController: TraderController); + onLoad(): void; + getRoute(): string; + getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getProfilePurchases(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; + getTrader(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + onUpdate(): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/WeatherCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/WeatherCallbacks.d.ts new file mode 100644 index 0000000..ae784c8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/WeatherCallbacks.d.ts @@ -0,0 +1,10 @@ +import { WeatherController } from "../controllers/WeatherController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class WeatherCallbacks { + protected httpResponse: HttpResponseUtil; + protected weatherController: WeatherController; + constructor(httpResponse: HttpResponseUtil, weatherController: WeatherController); + getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/callbacks/WishlistCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/callbacks/WishlistCallbacks.d.ts new file mode 100644 index 0000000..c2cc2a8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/callbacks/WishlistCallbacks.d.ts @@ -0,0 +1,10 @@ +import { WishlistController } from "../controllers/WishlistController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; +export declare class WishlistCallbacks { + protected wishlistController: WishlistController; + constructor(wishlistController: WishlistController); + addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; + removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/BotController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/BotController.d.ts new file mode 100644 index 0000000..09a1788 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/BotController.d.ts @@ -0,0 +1,35 @@ +import { BotGenerator } from "../generators/BotGenerator"; +import { BotHelper } from "../helpers/BotHelper"; +import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { IBotCore } from "../models/eft/common/tables/IBotCore"; +import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class BotController { + protected databaseServer: DatabaseServer; + protected botGenerator: BotGenerator; + protected botHelper: BotHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, configServer: ConfigServer); + /** + * Return the number of bot loadout varieties to be generated + * @param type bot Type we want the loadout gen count for + * @returns + */ + getBotPresetGenerationLimit(type: string): number; + getBotCoreDifficulty(): IBotCore; + /** + * Get bot difficulty settings + * adjust PMC settings to ensure they engage the correct bot types + * @param type what bot the server is requesting settings for + * @param difficulty difficulty level server requested settings for + * @returns Difficulty object + */ + getBotDifficulty(type: string, difficulty: string): Difficulty; + protected getPmcDifficultySettings(pmcType: "bear" | "usec", difficulty: string): Difficulty; + generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; + getBotCap(): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/CustomizationController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/CustomizationController.d.ts new file mode 100644 index 0000000..a6c4730 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/CustomizationController.d.ts @@ -0,0 +1,22 @@ +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ISuit } from "../models/eft/common/tables/ITrader"; +import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData"; +import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +export declare class CustomizationController { + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper); + getTraderSuits(traderID: string, sessionID: string): ISuit[]; + wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; + buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; + protected getAllTraderSuits(sessionID: string): ISuit[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/DialogueController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/DialogueController.d.ts new file mode 100644 index 0000000..b15c4b6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/DialogueController.d.ts @@ -0,0 +1,25 @@ +import { DialogueHelper } from "../helpers/DialogueHelper"; +import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse"; +import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; +import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile"; +import { SaveServer } from "../servers/SaveServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class DialogueController { + protected httpResponse: HttpResponseUtil; + protected saveServer: SaveServer; + protected dialogueHelper: DialogueHelper; + constructor(httpResponse: HttpResponseUtil, saveServer: SaveServer, dialogueHelper: DialogueHelper); + getFriendList(sessionID: string): IGetFriendListDataResponse; + generateDialogueList(sessionID: string): IGetBodyResponseData; + getDialogueInfo(dialogueID: string, sessionID: string): DialogueInfo; + generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData; + removeDialogue(dialogueID: string, sessionID: string): void; + setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void; + setRead(dialogueIDs: string[], sessionID: string): void; + getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse; + protected messagesHaveUncollectedRewards(messages: Message[]): boolean; + protected removeExpiredItems(sessionID: string): void; + update(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/GameController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/GameController.d.ts new file mode 100644 index 0000000..7f632d6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/GameController.d.ts @@ -0,0 +1,33 @@ +import { GameHelper } from "../helpers/GameHelper"; +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; +import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { Watermark } from "../utils/Watermark"; +export declare class GameController { + protected logger: ILogger; + protected watermark: Watermark; + protected httpServerHelper: HttpServerHelper; + protected profileHelper: ProfileHelper; + protected gameHelper: GameHelper; + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, configServer: ConfigServer); + gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void; + protected addMissingBonusesProperty(pmcProfile: IPmcData): void; + protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; + protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void; + protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; + protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void; + protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; + protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; + getGameConfig(sessionID: string): IGameConfigResponse; + getServer(): any[]; + protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/HandbookController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/HandbookController.d.ts new file mode 100644 index 0000000..52d2dd8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/HandbookController.d.ts @@ -0,0 +1,8 @@ +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class HandbookController { + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper); + load(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/HealthController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/HealthController.d.ts new file mode 100644 index 0000000..aafb8df --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/HealthController.d.ts @@ -0,0 +1,25 @@ +import { ItemHelper } from "../helpers/ItemHelper"; +import { PaymentService } from "../services/PaymentService"; +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { HealthHelper } from "../helpers/HealthHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData"; +import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData"; +import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData"; +import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class HealthController { + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected itemHelper: ItemHelper; + protected paymentService: PaymentService; + protected inventoryHelper: InventoryHelper; + protected healthHelper: HealthHelper; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper); + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; + offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; + healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/HideoutController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/HideoutController.d.ts new file mode 100644 index 0000000..f2930ff --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/HideoutController.d.ts @@ -0,0 +1,68 @@ +import { HideoutHelper } from "../helpers/HideoutHelper"; +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { HideoutArea, IPmcData, Product } from "../models/eft/common/IPmcData"; +import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData"; +import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; +import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; +import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; +import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; +import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; +import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { PlayerService } from "../services/PlayerService"; +import { HashUtil } from "../utils/HashUtil"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class HideoutController { + protected logger: ILogger; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected inventoryHelper: InventoryHelper; + protected saveServer: SaveServer; + protected playerService: PlayerService; + protected presetHelper: PresetHelper; + protected paymentHelper: PaymentHelper; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected hideoutHelper: HideoutHelper; + protected configServer: ConfigServer; + protected hideoutConfig: IHideoutConfig; + constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, configServer: ConfigServer); + upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; + upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; + putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; + takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + protected removeItemFromGenerator(sessionID: string, pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, output: IItemEventRouterResponse, hideoutArea: HideoutArea): IItemEventRouterResponse; + toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; + singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + protected getRandomisedItemRarityCounter(recipe: IHideoutScavCase): { + [x: string]: number; + }; + protected getRandomisedScavRewards(rarityItemCounter: { + [x: string]: number; + }): Product[]; + continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + protected handleRecipie(sessionID: string, recipe: IHideoutProduction, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; + protected handleScavCase(sessionID: string, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse; + registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + update(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/InraidController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/InraidController.d.ts new file mode 100644 index 0000000..7f2036c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/InraidController.d.ts @@ -0,0 +1,31 @@ +import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper"; +import { HealthHelper } from "../helpers/HealthHelper"; +import { InRaidHelper } from "../helpers/InRaidHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { QuestHelper } from "../helpers/QuestHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; +import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { InsuranceService } from "../services/InsuranceService"; +import { JsonUtil } from "../utils/JsonUtil"; +export declare class InraidController { + protected saveServer: SaveServer; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + protected itemHelper: ItemHelper; + protected extendedProfileHelper: ExtendedProfileHelper; + protected healthHelper: HealthHelper; + protected traderHelper: TraderHelper; + protected insuranceService: InsuranceService; + protected inRaidHelper: InRaidHelper; + protected configServer: ConfigServer; + protected inraidConfig: IInRaidConfig; + constructor(saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, extendedProfileHelper: ExtendedProfileHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, configServer: ConfigServer); + addPlayer(sessionID: string, info: IRegisterPlayerRequestData): void; + saveProgress(offraidData: ISaveProgressRequestData, sessionID: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/InsuranceController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/InsuranceController.d.ts new file mode 100644 index 0000000..db2c567 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/InsuranceController.d.ts @@ -0,0 +1,38 @@ +import { DialogueHelper } from "../helpers/DialogueHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { InsuranceService } from "../services/InsuranceService"; +import { PaymentService } from "../services/PaymentService"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class InsuranceController { + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected itemEventRouter: ItemEventRouter; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected profileHelper: ProfileHelper; + protected dialogueHelper: DialogueHelper; + protected paymentService: PaymentService; + protected insuranceService: InsuranceService; + protected configServer: ConfigServer; + protected insuranceConfig: IInsuranceConfig; + constructor(logger: ILogger, randomUtil: RandomUtil, itemEventRouter: ItemEventRouter, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, // TODO: delay required + insuranceService: InsuranceService, configServer: ConfigServer); + processReturn(): void; + insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse; + cost(info: IGetInsuranceCostRequestData, sessionID: string): any; + doAbsolutelyNothing(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/InventoryController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/InventoryController.d.ts new file mode 100644 index 0000000..b732aa9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/InventoryController.d.ts @@ -0,0 +1,107 @@ +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData"; +import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData"; +import { IInventoryCreateMarkerRequestData } from "../models/eft/inventory/IInventoryCreateMarkerRequestData"; +import { IInventoryDeleteMarkerRequestData } from "../models/eft/inventory/IInventoryDeleteMarkerRequestData"; +import { IInventoryEditMarkerRequestData } from "../models/eft/inventory/IInventoryEditMarkerRequestData"; +import { IInventoryExamineRequestData } from "../models/eft/inventory/IInventoryExamineRequestData"; +import { IInventoryFoldRequestData } from "../models/eft/inventory/IInventoryFoldRequestData"; +import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; +import { IInventoryReadEncyclopediaRequestData } from "../models/eft/inventory/IInventoryReadEncyclopediaRequestData"; +import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData"; +import { IInventorySortRequestData } from "../models/eft/inventory/IInventorySortRequestData"; +import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; +import { IInventorySwapRequestData } from "../models/eft/inventory/IInventorySwapRequestData"; +import { IInventoryTagRequestData } from "../models/eft/inventory/IInventoryTagRequestData"; +import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryToggleRequestData"; +import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +export declare class InventoryController { + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected presetHelper: PresetHelper; + protected inventoryHelper: InventoryHelper; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemEventRouter: ItemEventRouter; + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); + /** + * Move Item + * change location of item with parentId and slotId + * transfers items from one profile to another if fromOwner/toOwner is set in the body. + * otherwise, move is contained within the same profile_f. + */ + moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Remove Item from Profile + * Deep tree item deletion, also removes items from insurance list + */ + removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; + /** + * Implements functionality "Discard" from Main menu (Stash etc.) + * Removes item from PMC Profile + */ + discardItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Split Item + * spliting 1 item-stack into 2 separate items ... + */ + splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Merge Item + * merges 2 items into one, deletes item from `body.item` and adding number of stacks into `body.with` + */ + mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Transfer item + * Used to take items from scav inventory into stash or to insert ammo into mags (shotgun ones) and reloading weapon by clicking "Reload" + */ + transferItem(pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Swap Item + * its used for "reload" if you have weapon in hands and magazine is somewhere else in rig or backpack in equipment + */ + swapItem(pmcData: IPmcData, body: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Give Item + * its used for "add" item like gifts etc. + */ + addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; + /** + * Handles folding of Weapons + */ + foldItem(pmcData: IPmcData, body: IInventoryFoldRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Toggles "Toggleable" items like night vision goggles and face shields. + */ + toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Handles Tagging of items (primary Containers). + */ + tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; + bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Handles examining of the item * + */ + examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Handles sorting of Inventory. + */ + sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse; + createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse; + deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse; + editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/LauncherController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/LauncherController.d.ts new file mode 100644 index 0000000..1af1f56 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/LauncherController.d.ts @@ -0,0 +1,28 @@ +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; +import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; +import { IRegisterData } from "../models/eft/launcher/IRegisterData"; +import { Info } from "../models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { HashUtil } from "../utils/HashUtil"; +export declare class LauncherController { + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected httpServerHelper: HttpServerHelper; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected coreConfig: ICoreConfig; + constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, databaseServer: DatabaseServer, configServer: ConfigServer); + connect(): any; + find(sessionIdKey: string): Info; + login(info: ILoginRequestData): string; + register(info: IRegisterData): string; + protected createAccount(info: IRegisterData): string; + changeUsername(info: IChangeRequestData): string; + changePassword(info: IChangeRequestData): string; + wipe(info: IRegisterData): string; + getCompatibleTarkovVersion(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/LocationController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/LocationController.d.ts new file mode 100644 index 0000000..90b6d7a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/LocationController.d.ts @@ -0,0 +1,18 @@ +import { LocationGenerator } from "../generators/LocationGenerator"; +import { ILocationBase } from "../models/eft/common/ILocationBase"; +import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class LocationController { + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected locationGenerator: LocationGenerator; + protected databaseServer: DatabaseServer; + protected timeUtil: TimeUtil; + constructor(jsonUtil: JsonUtil, logger: ILogger, locationGenerator: LocationGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil); + get(location: string): ILocationBase; + generate(name: string): ILocationBase; + generateAll(): ILocationsGenerateAllResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/MatchController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/MatchController.d.ts new file mode 100644 index 0000000..c322d96 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/MatchController.d.ts @@ -0,0 +1,30 @@ +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; +import { IMatchConfig } from "../models/spt/config/IMatchConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { SaveServer } from "../servers/SaveServer"; +import { MatchLocationService } from "../services/MatchLocationService"; +export declare class MatchController { + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected matchLocationService: MatchLocationService; + protected traderHelper: TraderHelper; + protected configServer: ConfigServer; + protected matchConfig: IMatchConfig; + protected inraidConfig: IInRaidConfig; + constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); + getEnabled(): boolean; + getProfile(info: IGetProfileRequestData): IPmcData[]; + protected getMatch(location: any): any; + createGroup(sessionID: string, info: any): any; + deleteGroup(info: any): void; + joinMatch(info: any, sessionID: string): any[]; + getGroupStatus(info: any): any; + startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void; + endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/NoteController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/NoteController.d.ts new file mode 100644 index 0000000..cc78383 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/NoteController.d.ts @@ -0,0 +1,12 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { INoteActionData } from "../models/eft/notes/INoteActionData"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +declare class NoteController { + protected itemEventRouter: ItemEventRouter; + constructor(itemEventRouter: ItemEventRouter); + addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; +} +export { NoteController }; diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/NotifierController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/NotifierController.d.ts new file mode 100644 index 0000000..31d7bfe --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/NotifierController.d.ts @@ -0,0 +1,22 @@ +import { NotifierHelper } from "../helpers/NotifierHelper"; +import { NotificationService } from "../services/NotificationService"; +import { INotifierChannel } from "../models/eft/notifier/INotifier"; +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +export declare class NotifierController { + protected notifierHelper: NotifierHelper; + protected httpServerHelper: HttpServerHelper; + protected notificationService: NotificationService; + protected pollInterval: number; + protected timeout: number; + constructor(notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, notificationService: NotificationService); + /** + * Resolve an array of session notifications. + * + * If no notifications are currently queued then intermittently check for new notifications until either + * one or more appear or when a timeout expires. + * If no notifications are available after the timeout, use a default message. + */ + notifyAsync(sessionID: string): Promise; + getServer(sessionID: string): string; + getChannel(sessionID: string): INotifierChannel; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/PresetBuildController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/PresetBuildController.d.ts new file mode 100644 index 0000000..adf4084 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/PresetBuildController.d.ts @@ -0,0 +1,18 @@ +import { ItemHelper } from "../helpers/ItemHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData"; +import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { SaveServer } from "../servers/SaveServer"; +import { HashUtil } from "../utils/HashUtil"; +export declare class PresetBuildController { + protected hashUtil: HashUtil; + protected itemEventRouter: ItemEventRouter; + protected itemHelper: ItemHelper; + protected saveServer: SaveServer; + constructor(hashUtil: HashUtil, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, saveServer: SaveServer); + getUserBuilds(sessionID: string): WeaponBuild[]; + saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; + removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/PresetController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/PresetController.d.ts new file mode 100644 index 0000000..ca1af1a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/PresetController.d.ts @@ -0,0 +1,8 @@ +import { PresetHelper } from "../helpers/PresetHelper"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class PresetController { + protected presetHelper: PresetHelper; + protected databaseServer: DatabaseServer; + constructor(presetHelper: PresetHelper, databaseServer: DatabaseServer); + initialize(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/ProfileController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/ProfileController.d.ts new file mode 100644 index 0000000..9b7a6d5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/ProfileController.d.ts @@ -0,0 +1,34 @@ +import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IMiniProfile } from "../models/eft/launcher/IMiniProfile"; +import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; +import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; +import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; +import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData"; +import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse"; +import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { HashUtil } from "../utils/HashUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class ProfileController { + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected traderHelper: TraderHelper; + protected extendedProfileHelper: ExtendedProfileHelper; + constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); + getMiniProfiles(): IMiniProfile[]; + getMiniProfile(sessionID: string): any; + getCompleteProfile(sessionID: string): IPmcData[]; + createProfile(info: IProfileCreateRequestData, sessionID: string): void; + generatePlayerScav(sessionID: string): IPmcData; + validateNickname(info: IValidateNicknameRequestData, sessionID: string): string; + changeNickname(info: IProfileChangeNicknameRequestData, sessionID: string): string; + changeVoice(info: IProfileChangeVoiceRequestData, sessionID: string): void; + getFriends(info: ISearchFriendRequestData, sessionID: string): ISearchFriendResponse[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/QuestController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/QuestController.d.ts new file mode 100644 index 0000000..c00cd6d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/QuestController.d.ts @@ -0,0 +1,74 @@ +import { DialogueHelper } from "../helpers/DialogueHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { QuestConditionHelper } from "../helpers/QuestConditionHelper"; +import { QuestHelper } from "../helpers/QuestHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IQuest, Reward } from "../models/eft/common/tables/IQuest"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; +import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { PlayerService } from "../services/PlayerService"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class QuestController { + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected dialogueHelper: DialogueHelper; + protected profileHelper: ProfileHelper; + protected questHelper: QuestHelper; + protected questConditionHelper: QuestConditionHelper; + protected playerService: PlayerService; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; + constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer); + /** + * Get all quests visible to player + * Exclude quests with incomplete preconditions (level/loyalty) + * @param sessionID session id + * @returns array of IQuest + */ + getClientQuests(sessionID: string): IQuest[]; + acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Remove completed quest from profile + * Add newly unlocked quests to profile + * Also recalculate thier level due to exp rewards + * @param pmcData Player profile + * @param body completed quest request + * @param sessionID session id + * @returns ItemEvent response + */ + completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Send a popup to player on completion of a quest + * @param sessionID session id + * @param pmcData player profile + * @param completedQuestId completed quest id + * @param questRewards rewards given to player + */ + protected sendDialogMessageOnQuestComplete(sessionID: string, pmcData: IPmcData, completedQuestId: string, questRewards: Reward[]): void; + /** + * Returns a list of quests that should be failed when a quest is completed + * @param completedQuestId quest completed id + * @returns array of quests + */ + protected getQuestsFailedByCompletingQuest(completedQuestId: string): IQuest[]; + /** + * Fail the quests provided + * @param sessionID session id + * @param pmcData player profile + * @param questsToFail quests to fail + */ + protected failQuests(sessionID: string, pmcData: IPmcData, questsToFail: IQuest[]): void; + handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/RagfairController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/RagfairController.d.ts new file mode 100644 index 0000000..c758593 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/RagfairController.d.ts @@ -0,0 +1,70 @@ +import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { RagfairHelper } from "../helpers/RagfairHelper"; +import { RagfairOfferHelper } from "../helpers/RagfairOfferHelper"; +import { RagfairSellHelper } from "../helpers/RagfairSellHelper"; +import { RagfairSortHelper } from "../helpers/RagfairSortHelper"; +import { RagfairTaxHelper } from "../helpers/RagfairTaxHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IAddOfferRequestData, Requirement } from "../models/eft/ragfair/IAddOfferRequestData"; +import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; +import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; +import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; +import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { RagfairServer } from "../servers/RagfairServer"; +import { SaveServer } from "../servers/SaveServer"; +import { PaymentService } from "../services/PaymentService"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { RagfairPriceService } from "../services/RagfairPriceService"; +import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class RagfairController { + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected httpResponse: HttpResponseUtil; + protected itemEventRouter: ItemEventRouter; + protected ragfairServer: RagfairServer; + protected ragfairPriceService: RagfairPriceService; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected saveServer: SaveServer; + protected ragfairSellHelper: RagfairSellHelper; + protected ragfairTaxHelper: RagfairTaxHelper; + protected ragfairSortHelper: RagfairSortHelper; + protected ragfairOfferHelper: RagfairOfferHelper; + protected profileHelper: ProfileHelper; + protected paymentService: PaymentService; + protected handbookHelper: HandbookHelper; + protected paymentHelper: PaymentHelper; + protected inventoryHelper: InventoryHelper; + protected ragfairHelper: RagfairHelper; + protected ragfairOfferService: RagfairOfferService; + protected ragfairRequiredItemsService: RagfairRequiredItemsService; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer); + getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult; + update(): void; + getItemPrice(info: IGetMarketPriceRequestData): IGetItemPriceResult; + addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; + createPlayerOffer(profile: IAkiProfile, requirements: Requirement[], items: Item[], sellInOnePiece: boolean, amountToSend: number): IRagfairOffer; + getAllFleaPrices(): Record; + removeOffer(offerId: string, sessionID: string): IItemEventRouterResponse; + extendOffer(info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/RepairController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/RepairController.d.ts new file mode 100644 index 0000000..330684d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/RepairController.d.ts @@ -0,0 +1,42 @@ +import { QuestHelper } from "../helpers/QuestHelper"; +import { RepairHelper } from "../helpers/RepairHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; +import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; +import { IRepairConfig } from "../models/spt/config/IRepairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { PaymentService } from "../services/PaymentService"; +export declare class RepairController { + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + protected traderHelper: TraderHelper; + protected paymentService: PaymentService; + protected repairHelper: RepairHelper; + protected configServer: ConfigServer; + protected repairConfig: IRepairConfig; + protected readonly WEAPON_SKILL_REPAIR_GAIN: number; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, questHelper: QuestHelper, traderHelper: TraderHelper, paymentService: PaymentService, repairHelper: RepairHelper, configServer: ConfigServer); + /** + * Repair with trader + * @param pmcData player profile + * @param body endpoint request data + * @param sessionID session id + * @returns item event router action + */ + traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; + /** + * Repair with repair kit + * @param pmcData player profile + * @param body endpoint request data + * @param sessionID session id + * @returns item event router action + */ + repairWithKit(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/RepeatableQuestController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/RepeatableQuestController.d.ts new file mode 100644 index 0000000..9aa9590 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/RepeatableQuestController.d.ts @@ -0,0 +1,219 @@ +import { GameHelper } from "../helpers/GameHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { Exit } from "../models/eft/common/ILocationBase"; +import { IPmcData, TraderInfo } from "../models/eft/common/IPmcData"; +import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationCondition, IExploration, IExplorationCondition, IPmcDataRepeatableQuest, IRepeatableQuest, IReward, IRewards } from "../models/eft/common/tables/IRepeatableQuests"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; +import { ELocationName } from "../models/enums/ELocationName"; +import { IQuestConfig, IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { PaymentService } from "../services/PaymentService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { MathUtil } from "../utils/MathUtil"; +import { ObjectId } from "../utils/ObjectId"; +import { ProbabilityObject, ProbabilityObjectArray, RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export interface IQuestTypePool { + types: string[]; + pool: IQuestPool; +} +export interface IQuestPool { + Exploration: IExplorationPool; + Elimination: IEliminationPool; +} +export interface IExplorationPool { + locations: Partial>; +} +export interface IEliminationPool { + targets: IEliminationTargetPool; +} +export interface IEliminationTargetPool { + Savage?: ITargetLocation; + AnyPmc?: ITargetLocation; + bossBully?: ITargetLocation; + bossGluhar?: ITargetLocation; + bossKilla?: ITargetLocation; + bossSanitar?: ITargetLocation; + bossTagilla?: ITargetLocation; + bossKojaniy?: ITargetLocation; +} +export interface ITargetLocation { + locations: string[]; +} +export declare class RepeatableQuestController { + protected timeUtil: TimeUtil; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected mathUtil: MathUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected gameHelper: GameHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected itemEventRouter: ItemEventRouter; + protected paymentService: PaymentService; + protected objectId: ObjectId; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); + /** + * This is the method reached by the /client/repeatalbeQuests/activityPeriods endpoint + * Returns an array of objects in the format of repeatable quests to the client. + * repeatableQuestObject = { + * id: Unique Id, + * name: "Daily", + * endTime: the time when the quests expire + * activeQuests: currently available quests in an array. Each element of quest type format (see assets/database/templates/repeatableQuests.json). + * inactiveQuests: the quests which were previously active (required by client to fail them if they are not completed) + * } + * + * The method checks if the player level requirement for repeatable quests (e.g. daily lvl5, weekly lvl15) is met and if the previously active quests + * are still valid. This ischecked by endTime persisted in profile accordning to the resetTime configured for each repeatable kind (daily, weekly) + * in QuestCondig.js + * + * If the condition is met, new repeatableQuests are created, old quests (which are persisted in the profile.RepeatableQuests[i].activeQuests) are + * moved to profile.RepeatableQuests[i].inactiveQuests. This memory is required to get rid of old repeatable quest data in the profile, otherwise + * they'll litter the profile's Quests field. + * (if the are on "Succeed" but not "Completed" we keep them, to allow the player to complete them and get the rewards) + * The new quests generated are again persisted in profile.RepeatableQuests + * + * + * @param {string} sessionId Player's session id + * @returns {array} array of "repeatableQuestObjects" as descibed above + */ + getClientRepeatableQuests(_info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[]; + /** + * This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json). + * It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest + */ + generateRepeatableQuest(pmcLevel: number, pmcTraderInfo: Record, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; + /** + * Just for debug reasons. Draws dailies a random assort of dailies extracted from dumps + */ + generateDebugDailies(dailiesPool: any, factory: any, number: any): any; + /** + * Generates the base object of quest type format given as templates in assets/database/templates/repeatableQuests.json + * The templates include Elimination, Completion and Extraction quest types + * + * @param {string} type quest type: "Elimination", "Completion" or "Extraction" + * @param {string} traderId trader from which the quest will be provided + * @returns {object} a object which contains the base elements for repeatable quests of the requests type + * (needs to be filled with reward and conditions by called to make a valid quest) + */ + generateRepeatableTemplate(type: string, traderId: string): IRepeatableQuest; + /** + * Generates a valid Exploration quest + * + * @param {integer} pmcLevel player's level for reward generation + * @param {string} traderId trader from which the quest will be provided + * @param {object} questTypePool Pools for quests (used to avoid redundant quests) + * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest + * @returns {object} object of quest type format for "Exploration" (see assets/database/templates/repeatableQuests.json) + */ + generateExplorationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IExploration; + /** + * Generates a valid Completion quest + * + * @param {integer} pmcLevel player's level for requested items and reward generation + * @param {string} traderId trader from which the quest will be provided + * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest + * @returns {object} object of quest type format for "Completion" (see assets/database/templates/repeatableQuests.json) + */ + generateCompletionQuest(pmcLevel: number, traderId: string, repeatableConfig: IRepeatableQuestConfig): ICompletion; + /** + * Generates a valid Elimination quest + * + * @param {integer} pmcLevel player's level for requested items and reward generation + * @param {string} traderId trader from which the quest will be provided + * @param {object} questTypePool Pools for quests (used to avoid redundant quests) + * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest + * @returns {object} object of quest type format for "Elimination" (see assets/database/templates/repeatableQuests.json) + */ + generateEliminationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IElimination; + /** + * Exploration repeatable quests can specify a required extraction point. + * This method creates the according object which will be appended to the conditions array + * + * @param {string} exit The exit name to generate the condition for + * @returns {object} Exit condition + */ + generateExplorationExitCondition(exit: Exit): IExplorationCondition; + /** + * A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json) + * This is a helper method for GenerateCompletionQuest to create a completion condition (of which a completion quest theoretically can have many) + * + * @param {string} targetItemId id of the item to request + * @param {integer} value amount of items of this specific type to request + * @returns {object} object of "Completion"-condition + */ + generateCompletionAvailableForFinish(targetItemId: string, value: number): ICompletionAvailableFor; + /** + * A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json) + * This is a helper method for GenerateEliminationQuest to create a location condition. + * + * @param {string} location the location on which to fulfill the elimination quest + * @returns {object} object of "Elimination"-location-subcondition + */ + generateEliminationLocation(location: string[]): IEliminationCondition; + /** + * A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json) + * This is a helper method for GenerateEliminationQuest to create a kill condition. + * + * @param {string} target array of target npcs e.g. "AnyPmc", "Savage" + * @param {array} bodyParts array of body parts with which to kill e.g. ["stomach", "thorax"] + * @param {number} distance distance from which to kill (currently only >= supported) + * @returns {object} object of "Elimination"-kill-subcondition + */ + generateEliminationCondition(target: string, bodyPart: string[], distance: number): IEliminationCondition; + /** + * Used to create a quest pool during each cycle of repeatable quest generation. The pool will be subsequently + * narrowed down during quest generation to avoid duplicate quests. Like duplicate extractions or elimination quests + * where you have to e.g. kill scavs in same locations. + * + * @returns {object} the quest pool + */ + generateQuestPool(repeatableConfig: IRepeatableQuestConfig): IQuestTypePool; + /** + * Generate the reward for a mission. A reward can consist of + * - Experience + * - Money + * - Items + * - Trader Reputation + * + * The reward is dependent on the player level as given by the wiki. The exact mapping of pmcLevel to + * experience / money / items / trader reputation can be defined in QuestConfig.js + * + * There's also a random variation of the reward the spread of which can be also defined in the config. + * + * Additonaly, a scaling factor w.r.t. quest difficulty going from 0.2...1 can be used + * + * @param {integer} pmcLevel player's level + * @param {number} difficulty a reward scaling factor goint from 0.2 to 1 + * @param {string} traderId the trader for reputation gain (and possible in the future filtering of reward item type based on trader) + * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest + * @returns {object} object of "Reward"-type that can be given for a repeatable mission + */ + generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig): IRewards; + /** + * Helper to create a reward item structured as required by the client + * + * @param {string} tpl itemId of the rewarded item + * @param {integer} value amount of items to give + * @param {integer} index all rewards will be appended to a list, for unkown reasons the client wants the index + * @returns {object} object of "Reward"-item-type + */ + generateRewardItem(tpl: string, value: number, index: number, preset?: any): IReward; + debugLogRepeatableQuestIds(pmcData: IPmcData): void; + probabilityObjectArray(configArrayInput: ProbabilityObject[]): ProbabilityObjectArray; + changeRepeatableQuest(pmcDataIn: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/TradeController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/TradeController.d.ts new file mode 100644 index 0000000..c86745c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/TradeController.d.ts @@ -0,0 +1,21 @@ +import { RagfairServer } from "../servers/RagfairServer"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { TradeHelper } from "../helpers/TradeHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { Upd } from "../models/eft/common/tables/IItem"; +import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ILogger } from "../models/spt/utils/ILogger"; +declare class TradeController { + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected tradeHelper: TradeHelper; + protected profileHelper: ProfileHelper; + protected ragfairServer: RagfairServer; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, tradeHelper: TradeHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer); + confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse; + confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; +} +export { TradeController }; diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/TraderController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/TraderController.d.ts new file mode 100644 index 0000000..7bab158 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/TraderController.d.ts @@ -0,0 +1,26 @@ +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { TraderAssortHelper } from "../helpers/TraderAssortHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { TraderAssortService } from "../services/TraderAssortService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class TraderController { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected traderAssortHelper: TraderAssortHelper; + protected profileHelper: ProfileHelper; + protected traderHelper: TraderHelper; + protected timeUtil: TimeUtil; + protected traderAssortService: TraderAssortService; + protected jsonUtil: JsonUtil; + constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, jsonUtil: JsonUtil); + load(): void; + getTrader(traderID: string, sessionID: string): ITraderBase; + getAllTraders(sessionID: string): ITraderBase[]; + updateTraders(): boolean; + getAssort(sessionId: string, traderId: string): ITraderAssort; + getPurchasesData(traderID: string, sessionID: string): Record; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/WeatherController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/WeatherController.d.ts new file mode 100644 index 0000000..ca7f5eb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/WeatherController.d.ts @@ -0,0 +1,11 @@ +import { WeatherGenerator } from "../generators/WeatherGenerator"; +import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +export declare class WeatherController { + protected weatherGenerator: WeatherGenerator; + protected configServer: ConfigServer; + protected weatherConfig: IWeatherConfig; + constructor(weatherGenerator: WeatherGenerator, configServer: ConfigServer); + generate(): IWeatherData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/controllers/WishlistController.d.ts b/Ereshkigal-AkiConfig/dist/types/controllers/WishlistController.d.ts new file mode 100644 index 0000000..a96c522 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/controllers/WishlistController.d.ts @@ -0,0 +1,10 @@ +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class WishlistController { + protected itemEvenRouter: ItemEventRouter; + constructor(itemEvenRouter: ItemEventRouter); + addToWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; + removeFromWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/di/Container.d.ts b/Ereshkigal-AkiConfig/dist/types/di/Container.d.ts new file mode 100644 index 0000000..17791b0 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/di/Container.d.ts @@ -0,0 +1,14 @@ +import { DependencyContainer } from "tsyringe"; +export declare class Container { + static registerTypes(depContainer: DependencyContainer): void; + static registerListTypes(depContainer: DependencyContainer): void; + private static registerUtils; + private static registerRouters; + private static registerGenerators; + private static registerHelpers; + private static registerLoaders; + private static registerCallbacks; + private static registerServices; + private static registerServers; + private static registerControllers; +} diff --git a/Ereshkigal-AkiConfig/dist/types/di/OnLoad.d.ts b/Ereshkigal-AkiConfig/dist/types/di/OnLoad.d.ts new file mode 100644 index 0000000..064d07d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/di/OnLoad.d.ts @@ -0,0 +1,4 @@ +export declare class OnLoad { + onLoad(): void; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/di/OnLoadOnUpdate.d.ts b/Ereshkigal-AkiConfig/dist/types/di/OnLoadOnUpdate.d.ts new file mode 100644 index 0000000..8bd3dc3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/di/OnLoadOnUpdate.d.ts @@ -0,0 +1,7 @@ +import { OnLoad } from "./OnLoad"; +import { OnUpdate } from "./OnUpdate"; +export declare class OnLoadOnUpdate implements OnLoad, OnUpdate { + onUpdate(timeSinceLastRun: number): boolean; + onLoad(): void; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/di/OnUpdate.d.ts b/Ereshkigal-AkiConfig/dist/types/di/OnUpdate.d.ts new file mode 100644 index 0000000..7fbbe09 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/di/OnUpdate.d.ts @@ -0,0 +1,4 @@ +export declare class OnUpdate { + onUpdate(timeSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/di/Router.d.ts b/Ereshkigal-AkiConfig/dist/types/di/Router.d.ts new file mode 100644 index 0000000..2fb98e0 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/di/Router.d.ts @@ -0,0 +1,40 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +export declare class Router { + private handledRoutes; + getTopLevelRoute(): string; + protected getHandledRoutes(): HandledRoute[]; + private getInternalHandledRoutes; + canHandle(url: string, partialMatch?: boolean): boolean; +} +export declare class StaticRouter extends Router { + private routes; + constructor(routes: RouteAction[]); + handleStatic(url: string, info: any, sessionID: string, output: string): any; + getHandledRoutes(): HandledRoute[]; +} +export declare class DynamicRouter extends Router { + private routes; + constructor(routes: RouteAction[]); + handleDynamic(url: string, info: any, sessionID: string, output: string): any; + getHandledRoutes(): HandledRoute[]; +} +export declare class ItemEventRouterDefinition extends Router { + constructor(); + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} +export declare class SaveLoadRouter extends Router { + constructor(); + handleLoad(profile: IAkiProfile): IAkiProfile; +} +export declare class HandledRoute { + route: string; + dynamic: boolean; + constructor(route: string, dynamic: boolean); +} +export declare class RouteAction { + url: string; + action: (url: string, info: any, sessionID: string, output: string) => any; + constructor(url: string, action: (url: string, info: any, sessionID: string, output: string) => any); +} diff --git a/Ereshkigal-AkiConfig/dist/types/di/Serializer.d.ts b/Ereshkigal-AkiConfig/dist/types/di/Serializer.d.ts new file mode 100644 index 0000000..70aa7c5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/di/Serializer.d.ts @@ -0,0 +1,5 @@ +import { IHttpServer } from "../models/spt/server/IHttpServer"; +export declare class Serializer { + serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + canHandle(something: string): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/generators/BotGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/BotGenerator.d.ts new file mode 100644 index 0000000..88a8014 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/BotGenerator.d.ts @@ -0,0 +1,46 @@ +import { BotHelper } from "../helpers/BotHelper"; +import { GameEventHelper } from "../helpers/GameEventHelper"; +import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { Health as PmcHealth } from "../models/eft/common/IPmcData"; +import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { Health, Inventory, Skills } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { BotInventoryGenerator } from "./BotInventoryGenerator"; +declare namespace BotGenerator { + interface IRandomisedBotLevelResult { + level: number; + exp: number; + } +} +export declare class BotGenerator { + protected logger: ILogger; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected botInventoryGenerator: BotInventoryGenerator; + protected botHelper: BotHelper; + protected gameEventHelper: GameEventHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, botInventoryGenerator: BotInventoryGenerator, botHelper: BotHelper, gameEventHelper: GameEventHelper, configServer: ConfigServer); + generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; + protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase; + protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult; + /** Converts health object to the required format */ + protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth; + protected generateSkills(skillsObj: Skills): Skills; + protected getPmcRole(pmcSide: string): string; + protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void; + protected generateId(bot: IBotBase): IBotBase; + protected generateInventoryID(profile: IBotBase): IBotBase; + protected getPMCDifficulty(requestedDifficulty: string): string; + protected generateDogtag(bot: IBotBase): IBotBase; +} +export {}; diff --git a/Ereshkigal-AkiConfig/dist/types/generators/BotInventoryGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/BotInventoryGenerator.d.ts new file mode 100644 index 0000000..783d0c5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/BotInventoryGenerator.d.ts @@ -0,0 +1,24 @@ +import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; +import { Inventory, Chances, Generation, Mods } from "../models/eft/common/tables/IBotType"; +import { HashUtil } from "../utils/HashUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; +import { BotWeaponGenerator } from "./BotWeaponGenerator"; +import { BotLootGenerator } from "./BotLootGenerator"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; +export declare class BotInventoryGenerator { + protected logger: ILogger; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected botWeaponGenerator: BotWeaponGenerator; + protected botLootGenerator: BotLootGenerator; + protected botGeneratorHelper: BotGeneratorHelper; + protected weightedRandomHelper: WeightedRandomHelper; + constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, weightedRandomHelper: WeightedRandomHelper); + generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; + protected generateEquipment(equipmentSlot: string, equipmentPool: Record, modPool: Mods, spawnChances: Chances, botRole: string, inventory: PmcInventory): void; + protected generateInventoryBase(): PmcInventory; +} diff --git a/Ereshkigal-AkiConfig/dist/types/generators/BotLootGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/BotLootGenerator.d.ts new file mode 100644 index 0000000..1d91836 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/BotLootGenerator.d.ts @@ -0,0 +1,29 @@ +import { PMCLootGenerator } from "../generators/PMCLootGenerator"; +import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; +import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class BotLootGenerator { + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected botGeneratorHelper: BotGeneratorHelper; + protected pmcLootGenerator: PMCLootGenerator; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer); + generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void; + protected getRandomisedCount(min: number, max: number, nValue: number): number; + protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void; + /** Compares two item templates by their price to spawn chance ratio */ + protected compareByValue(a: ITemplateItem, b: ITemplateItem): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/generators/BotWeaponGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/BotWeaponGenerator.d.ts new file mode 100644 index 0000000..a43b18c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/BotWeaponGenerator.d.ts @@ -0,0 +1,88 @@ +import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; +import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; +import { Inventory, MinMax, ModsChances } from "../models/eft/common/tables/IBotType"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class BotWeaponGenerator { + protected logger: ILogger; + protected hashUtil: HashUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected weightedRandomHelper: WeightedRandomHelper; + protected botGeneratorHelper: BotGeneratorHelper; + protected randomUtil: RandomUtil; + private readonly modMagazineSlotId; + constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); + generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; + /** + * Get the mods necessary to kit out a weapon to its preset level + * @param weaponTpl weapon to find preset for + * @param equipmentSlot the slot the weapon will be placed in + * @param weaponParentId + * @returns array of weapon mods + */ + protected getPresetWeaponMods(weaponTpl: string, equipmentSlot: string, weaponParentId: string, itemTemplate: ITemplateItem, botRole: string): Item[]; + /** Checks if all required slots are occupied on a weapon and all it's mods */ + protected isWeaponValid(itemList: Item[]): boolean; + /** + * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. + * Additionally, adds extra bullets to SecuredContainer + * @param weaponMods + * @param weaponTemplate + * @param magCounts + * @param ammoTpl + * @param inventory + * @returns + */ + protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void; + /** + * Get a randomised count of magazines + * @param magCounts min and max value returned value can be between + * @returns numberical value of magazine count + */ + protected getRandomisedMagazineCount(magCounts: MinMax): number; + /** + * Add ammo to the secure container + * @param stackCount How many stacks of ammo to add + * @param ammoTpl Ammo type to add + * @param stackSize Size of the ammo stack to add + * @param inventory Player inventory + */ + protected addAmmoToSecureContainer(stackCount: number, ammoTpl: string, stackSize: number, inventory: PmcInventory): void; + /** + * Get a weapons magazine tpl from a weapon template + * @param weaponMods mods from a weapon template + * @param weaponTemplate Weapon to get magazine tpl for + * @returns magazine tpl string + */ + protected getMagazineTplFromWeaponTemplate(weaponMods: Item[], weaponTemplate: ITemplateItem): string; + protected addBulletsToVestAndPockets(ammoTpl: string, bulletCount: number, inventory: PmcInventory): void; + /** + * Finds and returns compatible ammo tpl + * + * @param {*} weaponMods + * @param {*} weaponTemplate + * @returns compatible ammo tpl + */ + protected getCompatibleAmmo(weaponMods: Item[], weaponTemplate: ITemplateItem): string; + /** + * Fill existing magazines to full, while replacing their contents with specified ammo + * @param weaponMods + * @param magazine + * @param ammoTpl + */ + protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void; + /** + * Fill each Camora with a bullet + * @param weaponMods Weapon mods to find and update camora mod(s) from + * @param magazineId magazine id to find and add to + * @param ammoTpl ammo template id to hydate with + */ + protected fillCamorasWithAmmo(weaponMods: Item[], magazineId: string, ammoTpl: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/generators/LocationGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/LocationGenerator.d.ts new file mode 100644 index 0000000..bd368b5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/LocationGenerator.d.ts @@ -0,0 +1,46 @@ +import { ContainerHelper } from "../helpers/ContainerHelper"; +import { GameEventHelper } from "../helpers/GameEventHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; +import { ILooseLoot, SpawnpointTemplate } from "../models/eft/common/ILooseLoot"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILocationConfig } from "../models/spt/config/ILocationConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { MathUtil } from "../utils/MathUtil"; +import { ObjectId } from "../utils/ObjectId"; +import { RandomUtil } from "../utils/RandomUtil"; +export interface IContainerItem { + items: Item[]; + width: number; + height: number; +} +export declare class LocationGenerator { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected objectId: ObjectId; + protected randomUtil: RandomUtil; + protected ragfairServerHelper: RagfairServerHelper; + protected itemHelper: ItemHelper; + protected mathUtil: MathUtil; + protected gameEventHelper: GameEventHelper; + protected containerHelper: ContainerHelper; + protected presetHelper: PresetHelper; + protected configServer: ConfigServer; + protected locationConfig: ILocationConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, gameEventHelper: GameEventHelper, containerHelper: ContainerHelper, presetHelper: PresetHelper, configServer: ConfigServer); + generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record, staticAmmoDist: Record, locationName: string): IStaticContainerProps; + protected getLooseLootMultiplerForLocation(location: string): number; + protected getStaticLootMultiplerForLocation(location: string): number; + generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): SpawnpointTemplate[]; + protected createItem(tpl: string, staticAmmoDist: Record, parentId?: string): IContainerItem; + protected getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string; + protected getRandomValidCaliber(magTemplate: ITemplateItem): string; + protected drawAmmoTpl(caliber: string, staticAmmoDist: Record): string; + protected createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record, caliber?: string): Item; + protected createCartidges(parentId: string, ammoTpl: string, stackCount: number): Item; +} diff --git a/Ereshkigal-AkiConfig/dist/types/generators/PMCLootGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/PMCLootGenerator.d.ts new file mode 100644 index 0000000..64e6f7f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/PMCLootGenerator.d.ts @@ -0,0 +1,15 @@ +import { ItemHelper } from "../helpers/ItemHelper"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; +export declare class PMCLootGenerator { + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected pocketLootPool: string[]; + protected backpackLootPool: string[]; + protected botConfig: IBotConfig; + constructor(itemHelper: ItemHelper, databaseServer: DatabaseServer, configServer: ConfigServer); + generatePMCPocketLootPool(): string[]; + generatePMCBackpackLootPool(): string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/generators/RagfairAssortGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/RagfairAssortGenerator.d.ts new file mode 100644 index 0000000..cbdd7f2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/RagfairAssortGenerator.d.ts @@ -0,0 +1,25 @@ +import { ItemHelper } from "../helpers/ItemHelper"; +import { Item } from "../models/eft/common/tables/IItem"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +export declare class RagfairAssortGenerator { + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected generatedAssortItems: Item[]; + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer); + /** + * Get an array of unique items that can be sold on the flea + * @returns array of unique items + */ + getAssortItems(): Item[]; + protected assortsAreGenerated(): boolean; + /** + * Generate an array of items the flea can sell + * @returns array of unique items + */ + protected generateRagfairAssortItems(): Item[]; + protected createRagfairAssortItem(tplId: string, id?: string): Item; +} diff --git a/Ereshkigal-AkiConfig/dist/types/generators/RagfairOfferGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/RagfairOfferGenerator.d.ts new file mode 100644 index 0000000..de53ea9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/RagfairOfferGenerator.d.ts @@ -0,0 +1,60 @@ +import { ItemHelper } from "../helpers/ItemHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBarterScheme } from "../models/eft/common/tables/ITrader"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { FenceService } from "../services/FenceService"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { RagfairPriceService } from "../services/RagfairPriceService"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { RagfairAssortGenerator } from "./RagfairAssortGenerator"; +export declare class RagfairOfferGenerator { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected ragfairServerHelper: RagfairServerHelper; + protected saveServer: SaveServer; + protected presetHelper: PresetHelper; + protected ragfairAssortGenerator: RagfairAssortGenerator; + protected ragfairOfferService: RagfairOfferService; + protected ragfairPriceService: RagfairPriceService; + protected fenceService: FenceService; + protected itemHelper: ItemHelper; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); + createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; + protected getTraderId(userID: string): string; + protected getRating(userID: string): number; + protected getRatingGrowing(userID: string): boolean; + protected getOfferEndTime(userID: string, time: number): number; + /** + * Create multiple offers for items by using a unique list of items we've generated previously + * @param expiredOffers + */ + generateDynamicOffers(expiredOffers?: Item[]): void; + generateTraderOffers(traderID: string): void; + protected getItemCondition(userID: string, items: Item[], itemDetails: ITemplateItem): Item[]; + protected addMissingCondition(item: Item): Item; + protected getOfferRequirements(items: Item[]): { + count: number; + _tpl: string; + }[]; + /** + * Create a flea offer and store it in the Ragfair server offers array + */ + createFleaOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; +} diff --git a/Ereshkigal-AkiConfig/dist/types/generators/WeatherGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/generators/WeatherGenerator.d.ts new file mode 100644 index 0000000..44cecbb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/generators/WeatherGenerator.d.ts @@ -0,0 +1,33 @@ +import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; +import { ConfigServer } from "../servers/ConfigServer"; +import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class WeatherGenerator { + protected weightedRandomHelper: WeightedRandomHelper; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected configServer: ConfigServer; + protected weatherConfig: IWeatherConfig; + constructor(weightedRandomHelper: WeightedRandomHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); + calculateTime(data: IWeatherData): IWeatherData; + /** + * Get server uptime seconds multiplied by a multiplier and add to current time as seconds + * Format to BSGs requirements + * @param computedDate current date + * @returns formatted time + */ + protected getAcceleratedTime(computedDate: Date): string; + /** + * Get current time formatted to fit BSGs requirement + * @param computedDate + * @returns + */ + protected getNormalTime(computedDate: Date): string; + generateWeather(data: IWeatherData): IWeatherData; + protected getWeightedFog(): string; + protected getWeightedRain(): number; + protected getRandomFloat(node: string): number; + protected getRandomInt(node: string): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/AssortHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/AssortHelper.d.ts new file mode 100644 index 0000000..15586b9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/AssortHelper.d.ts @@ -0,0 +1,36 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ItemHelper } from "./ItemHelper"; +import { QuestHelper } from "./QuestHelper"; +export declare class AssortHelper { + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected databaseServer: DatabaseServer; + protected questHelper: QuestHelper; + constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, questHelper: QuestHelper); + /** + * Remove assorts from a trader that have not been unlocked yet + * @param pmcProfile player profile + * @param traderId traders id + * @param assort assort items from a trader + * @returns assort items minus locked quest assorts + */ + stripLockedQuestAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort; + /** + * Remove assorts from a trader that have not been unlocked yet + * @param pmcProfile player profile + * @param traderId traders id + * @param assort traders assorts + * @returns traders assorts minus locked loyality assorts + */ + stripLockedLoyaltyAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort; + /** + * Remove an item from an assort + * @param assort assort to modify + * @param itemID item id to remove from asort + * @returns Modified assort + */ + removeItemFromAssort(assort: ITraderAssort, itemID: string): ITraderAssort; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/BotGeneratorHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/BotGeneratorHelper.d.ts new file mode 100644 index 0000000..e4b0c11 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/BotGeneratorHelper.d.ts @@ -0,0 +1,125 @@ +import { DurabilityLimitsHelper } from "../helpers/DurabilityLimitsHelper"; +import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; +import { Mods, ModsChances } from "../models/eft/common/tables/IBotType"; +import { Item, Repairable, Upd } from "../models/eft/common/tables/IItem"; +import { Grid, ITemplateItem, Slot } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { ContainerHelper } from "./ContainerHelper"; +import { InventoryHelper } from "./InventoryHelper"; +import { ItemHelper } from "./ItemHelper"; +import { ProbabilityHelper } from "./ProbabilityHelper"; +export declare class BotGeneratorHelper { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected randomUtil: RandomUtil; + protected probabilityHelper: ProbabilityHelper; + protected databaseServer: DatabaseServer; + protected durabilityLimitsHelper: DurabilityLimitsHelper; + protected itemHelper: ItemHelper; + protected inventoryHelper: InventoryHelper; + protected containerHelper: ContainerHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, probabilityHelper: ProbabilityHelper, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer); + generateModsForItem(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem, modSpawnChances: ModsChances, isPmc?: boolean): Item[]; + /** + * Get a list of non black-listed cartridges from the PMC bot config + * @param modSlot mod item slot + * @param itemModPool + * @returns string array of cartridges PMCs can use + */ + protected getNonBlacklistedCartridges(modSlot: string, itemModPool: Record): string[]; + /** + * randomly choose if a mod should be spawned, 100% for required mods OR mod is ammo slot + * never return true for an item that has 0% spawn chance + * @param itemSlot slot the item sits in + * @param modSlot slot the mod sits in + * @param modSpawnChances Chances for various mod spawns + * @returns boolean true if it should spawn + */ + protected shouldModBeSpawned(itemSlot: Slot, modSlot: string, modSpawnChances: ModsChances): boolean; + /** + * Get a list of containers that hold ammo + * @returns string array + */ + protected getAmmoContainers(): string[]; + /** + * Get the slot details for an item (chamber/cartridge/slot) + * @param modSlot e.g patron_in_weapon + * @param parentTemplate item template + * @returns + */ + protected getModItemSlot(modSlot: string, parentTemplate: ITemplateItem): Slot; + /** + * With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines. + * Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0. + * Ammo is not put into the magazine directly but assigned to the magazine's slots: The "camora_xxx" slots. + * This function is a helper called by generateModsForItem for mods with parent type "CylinderMagazine" + * + * @param {object} items The items where the CylinderMagazine's camora are appended to + * @param {object} modPool modPool which should include available cartrigdes + * @param {string} parentId The CylinderMagazine's UID + * @param {object} parentTemplate The CylinderMagazine's template + */ + protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void; + generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { + upd?: Upd; + }; + /** + * Create a repairable object for a weapon that containers durability + max durability properties + * @param itemTemplate weapon object being generated for + * @param botRole type of bot being generated for + * @returns Repairable object + */ + protected generateWeaponRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable; + /** + * Create a repairable object for an armor that containers durability + max durability properties + * @param itemTemplate weapon object being generated for + * @param botRole type of bot being generated for + * @returns Repairable object + */ + protected generateArmorRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable; + protected getModTplFromItemDb(modTpl: string, parentSlot: Slot, modSlot: string, items: Item[]): string; + /** + * Sort by spawn chance, highest to lowest, higher is more common + * @param unsortedModArray String array to sort + * @returns Sorted string array + */ + protected sortModArray(unsortedModArray: string[]): string[]; + /** + * Can an item be added to an item without issue + * @param items + * @param tplToCheck + * @param equipmentSlot + * @returns true if possible + */ + isItemIncompatibleWithCurrentItems(items: Item[], tplToCheck: string, equipmentSlot: string): boolean; + /** + * Adds an item with all its childern into specified equipmentSlots, wherever it fits. + * @param equipmentSlots + * @param parentId + * @param parentTpl + * @param itemWithChildren + * @param inventory + * @returns a `boolean` indicating item was added + */ + addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: PmcInventory): boolean; + protected itemAllowedInContainer(slot: Grid, itemTpl: string): boolean; +} +export declare class ExhaustableArray { + private itemPool; + private randomUtil; + private jsonUtil; + private pool; + constructor(itemPool: T[], randomUtil: RandomUtil, jsonUtil: JsonUtil); + getRandomValue(): T; + getFirstValue(): T; + hasValues(): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/BotHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/BotHelper.d.ts new file mode 100644 index 0000000..6b92566 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/BotHelper.d.ts @@ -0,0 +1,44 @@ +import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class BotHelper { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, configServer: ConfigServer); + getBotDifficultySettings(type: string, difficulty: string): Difficulty; + getPmcDifficultySettings(type: string, difficulty: string): Difficulty; + /** + * Randomise the chance the PMC will attack their own side + * @param difficultySettings pmc difficulty settings + */ + randomisePmcHostility(difficultySettings: Difficulty): void; + isBotPmc(botRole: string): boolean; + isBotBoss(botRole: string): boolean; + isBotFollower(botRole: string): boolean; + /** + * Add a bot to the FRIENDLY_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typeToAdd bot type to add to friendly list + */ + addBotToFriendlyList(difficultySettings: Difficulty, typeToAdd: string): void; + /** + * Add a bot to the ENEMY_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typesToAdd bot type to add to enemy list + */ + addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[], typeBeingEdited: string): void; + /** + * Add a bot to the REVENGE_BOT_TYPES array + * @param difficultySettings bot settings to alter + * @param typesToAdd bot type to add to revenge list + */ + addBotToRevengeList(difficultySettings: Difficulty, typesToAdd: string[]): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/ContainerHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/ContainerHelper.d.ts new file mode 100644 index 0000000..3c2ee93 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/ContainerHelper.d.ts @@ -0,0 +1,12 @@ +export declare class FindSlotResult { + success: boolean; + x: any; + y: any; + rotation: boolean; + constructor(success?: boolean, x?: any, y?: any, rotation?: boolean); +} +export declare class ContainerHelper { + protected locateSlot(container2D: number[][], containerX: number, containerY: number, x: number, y: number, itemW: number, itemH: number): boolean; + findSlotForItem(container2D: number[][], itemWidth: number, itemHeight: number): FindSlotResult; + fillContainerMapWithItem(container2D: number[][], x: number, y: number, itemW: number, itemH: number, rotate: boolean): any; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/DialogueHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/DialogueHelper.d.ts new file mode 100644 index 0000000..9776c6a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/DialogueHelper.d.ts @@ -0,0 +1,21 @@ +import { Dialogue, MessageContent, MessagePreview } from "../models/eft/profile/IAkiProfile"; +import { MessageType } from "../models/enums/MessageType"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { HashUtil } from "../utils/HashUtil"; +import { ItemHelper } from "./ItemHelper"; +import { NotificationSendHelper } from "./NotificationSendHelper"; +import { NotifierHelper } from "./NotifierHelper"; +export declare class DialogueHelper { + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected notifierHelper: NotifierHelper; + protected notificationSendHelper: NotificationSendHelper; + protected itemHelper: ItemHelper; + constructor(hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, notificationSendHelper: NotificationSendHelper, itemHelper: ItemHelper); + createMessageContext(templateId: string, messageType: MessageType, maxStoreTime: number): MessageContent; + addDialogueMessage(dialogueID: string, messageContent: MessageContent, sessionID: string, rewards?: any[]): void; + getMessagePreview(dialogue: Dialogue): MessagePreview; + getMessageItemContents(messageID: string, sessionID: string): any[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/DurabilityLimitsHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/DurabilityLimitsHelper.d.ts new file mode 100644 index 0000000..07a5db1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/DurabilityLimitsHelper.d.ts @@ -0,0 +1,26 @@ +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { RandomUtil } from "../utils/RandomUtil"; +import { BotHelper } from "./BotHelper"; +export declare class DurabilityLimitsHelper { + protected randomUtil: RandomUtil; + protected botHelper: BotHelper; + protected configServer: ConfigServer; + protected botConfig: IBotConfig; + constructor(randomUtil: RandomUtil, botHelper: BotHelper, configServer: ConfigServer); + getRandomisedMaxWeaponDurability(itemTemplate: ITemplateItem, botRole: string): number; + getRandomisedMaxArmorDurability(itemTemplate: ITemplateItem, botRole: string): number; + getRandomisedWeaponDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; + getRandomisedArmorDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; + protected generateMaxWeaponDurability(botRole: string): number; + protected generateMaxPmcArmorDurability(itemMaxDurability: number): number; + protected getLowestMaxWeaponFromConfig(botRole: string): number; + protected getHighestMaxWeaponDurabilityFromConfig(botRole: string): number; + protected generateWeaponDurability(botRole: string, maxDurability: number): number; + protected generateArmorDurability(botRole: string, maxDurability: number): number; + protected getMinWeaponDeltaFromConfig(botRole: string): number; + protected getMaxWeaponDeltaFromConfig(botRole: string): number; + protected getMinArmorDeltaFromConfig(botRole: string): number; + protected getMaxArmorDeltaFromConfig(botRole: string): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/ExtendedProfileHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/ExtendedProfileHelper.d.ts new file mode 100644 index 0000000..d8b754d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/ExtendedProfileHelper.d.ts @@ -0,0 +1,22 @@ +import { BotGenerator } from "../generators/BotGenerator"; +import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { FenceService } from "../services/FenceService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { Watermark } from "../utils/Watermark"; +import { ItemHelper } from "./ItemHelper"; +import { ProfileHelper } from "./ProfileHelper"; +export declare class ExtendedProfileHelper extends ProfileHelper { + protected botGenerator: BotGenerator; + constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator); + generatePlayerScav(sessionID: string): IPmcData; + protected getScavSkills(sessionID: string): Skills; + protected removeSecureContainer(profile: IPmcData): IPmcData; + protected getDefaultScavSkills(): Skills; + protected getScavStats(sessionID: string): Stats; + protected getScavLevel(sessionID: string): number; + protected getScavExperience(sessionID: string): number; + protected setScavCooldownTimer(profile: IPmcData, pmcData: IPmcData): IPmcData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/GameEventHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/GameEventHelper.d.ts new file mode 100644 index 0000000..b2d6377 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/GameEventHelper.d.ts @@ -0,0 +1,9 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class GameEventHelper { + protected databaseServer: DatabaseServer; + constructor(databaseServer: DatabaseServer); + get EVENT(): Record; + get christmasEventItems(): string[]; + itemIsChristmasRelated(itemId: string): boolean; + christmasEventEnabled(): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/GameHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/GameHelper.d.ts new file mode 100644 index 0000000..fd49e84 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/GameHelper.d.ts @@ -0,0 +1,11 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class GameHelper { + protected logger: ILogger; + constructor(logger: ILogger); + /** + * Remove condition conters no longer used + * @param pmcProfile profile to remove old counters from + */ + removeDanglingConditionCounters(pmcProfile: IPmcData): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/HandbookHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/HandbookHelper.d.ts new file mode 100644 index 0000000..b47d466 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/HandbookHelper.d.ts @@ -0,0 +1,33 @@ +declare class LookupItem { + byId: Record; + byParent: Record; + constructor(); +} +export declare class LookupCollection { + items: LookupItem; + categories: LookupItem; + constructor(); +} +export declare class HandbookHelper { + protected lookup: LookupCollection; + hydrateLookup(lookup: LookupCollection): void; + getTemplatePrice(x: string): number; + templatesWithParent(x: string): string[]; + isCategory(x: string): boolean; + childrenCategories(x: string): string[]; + /** + * Gets Currency to Ruble conversion Value + * @param {number} value + * @param {string} currencyFrom + * @returns number + */ + inRUB(value: number, currencyFrom: string): number; + /** + * Gets Ruble to Currency conversion Value + * @param {number} value + * @param {string} currencyTo + * @returns number + */ + fromRUB(value: number, currencyTo: string): number; +} +export {}; diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/HealthHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/HealthHelper.d.ts new file mode 100644 index 0000000..518c23f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/HealthHelper.d.ts @@ -0,0 +1,27 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHealthConfig } from "../models/spt/config/IHealthConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { SaveServer } from "../servers/SaveServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class HealthHelper { + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected configServer: ConfigServer; + protected healthConfig: IHealthConfig; + constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); + resetVitality(sessionID: string): IAkiProfile; + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + protected saveHealth(pmcData: IPmcData, sessionID: string): void; + protected saveEffects(pmcData: IPmcData, sessionID: string): void; + protected addEffect(pmcData: IPmcData, sessionID: string, effect: { + bodyPart: string; + effectType: string; + }): void; + protected isEmpty(map: any): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/HideoutHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/HideoutHelper.d.ts new file mode 100644 index 0000000..76b337f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/HideoutHelper.d.ts @@ -0,0 +1,68 @@ +import { Common, HideoutArea, IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; +import { Upd } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { StageBonus } from "../models/eft/hideout/IHideoutArea"; +import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { PlayerService } from "../services/PlayerService"; +import { HashUtil } from "../utils/HashUtil"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { InventoryHelper } from "./InventoryHelper"; +import { ProfileHelper } from "./ProfileHelper"; +export declare class HideoutHelper { + protected logger: ILogger; + protected hashUtil: HashUtil; + protected timeUtil: TimeUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected profileHelper: ProfileHelper; + protected inventoryHelper: InventoryHelper; + protected playerService: PlayerService; + protected configServer: ConfigServer; + static BITCOIN_FARM: string; + protected WATER_COLLECTOR: string; + protected BITCOIN: string; + protected EXPEDITIONARY_FUEL_TANK: string; + static NAME_BACKENDCOUNTERS_CRAFTING: string; + static SKILL_NAME_HIDEOUT: string; + static HOUR_FOR_SKILL_CRAFTING: number; + static SKILL_NAME_CRAFITING: string; + protected hideoutConfig: IHideoutConfig; + constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, inventoryHelper: InventoryHelper, playerService: PlayerService, configServer: ConfigServer); + registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + /** + * This convinience function intialies new Production Object + * with all the constants. + */ + initProduction(recipeId: string, productionTime: number): Production; + isProductionType(productive: Productive): productive is Production; + applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void; + protected applySkillXPBoost(pmcData: IPmcData, bonus: StageBonus): void; + updatePlayerHideout(sessionID: string): void; + protected updateWaterCollector(sessionId: string, pmcData: IPmcData, area: HideoutArea, isGeneratorOn: boolean): void; + protected doesWaterCollectorHaveFilter(waterCollector: HideoutArea): boolean; + protected updateFuel(generatorArea: HideoutArea, pmcData: IPmcData): HideoutArea; + protected updateWaterFilters(waterFilterArea: HideoutArea, pwProd: Production, isGeneratorOn: boolean, pmcData: IPmcData): HideoutArea; + protected getAreaUpdObject(stackCount: number, resourceValue: number, resourceUnitsConsumed: number): Upd; + protected updateAirFilters(airFilterArea: HideoutArea, pmcData: IPmcData): HideoutArea; + protected updateBitcoinFarm(pmcData: IPmcData, btcFarmCGs: number, isGeneratorOn: boolean): Production; + protected getBTCSlots(pmcData: IPmcData): number; + protected getManagementSkillsSlots(): number; + protected hasManagementSkillSlots(pmcData: IPmcData): boolean; + protected getHideoutManagementSkill(pmcData: IPmcData): Common; + protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number; + isProduction(productive: Productive): productive is Production; + getBTC(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + getRandomAmountRewardForScavCase(itemToCalculate: ITemplateItem): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/HttpServerHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/HttpServerHelper.d.ts new file mode 100644 index 0000000..c6e5296 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/HttpServerHelper.d.ts @@ -0,0 +1,23 @@ +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +export declare class HttpServerHelper { + protected configServer: ConfigServer; + protected httpConfig: IHttpConfig; + protected mime: { + css: string; + bin: string; + html: string; + jpg: string; + js: string; + json: string; + png: string; + svg: string; + txt: string; + }; + constructor(configServer: ConfigServer); + getMimeText(key: string): string; + buildUrl(): string; + getBackendUrl(): string; + getWebsocketUrl(): string; + sendTextJson(resp: any, output: any): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/InRaidHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/InRaidHelper.d.ts new file mode 100644 index 0000000..05b6fdf --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/InRaidHelper.d.ts @@ -0,0 +1,33 @@ +import { IPmcData, Victim } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { InventoryHelper } from "./InventoryHelper"; +import { PaymentHelper } from "./PaymentHelper"; +export declare class InRaidHelper { + protected logger: ILogger; + protected saveServer: SaveServer; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected inventoryHelper: InventoryHelper; + protected paymentHelper: PaymentHelper; + constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); + protected removePlayer(sessionID: string): void; + protected removeMapAccessKey(offraidData: ISaveProgressRequestData, sessionID: string): void; + addUpdToMoneyFromRaid(items: Item[]): void; + /** + * Add positive karma for PMC kills + * @param {*} existingFenceStanding + * @param {*} victims + */ + calculateFenceStandingChangeFromKills(existingFenceStanding: number, victims: Victim[]): void; + setBaseStats(profileData: IPmcData, offraidData: ISaveProgressRequestData, sessionID: string): IPmcData; + markFoundItems(pmcData: IPmcData, profile: IPmcData, isPlayerScav: boolean): IPmcData; + removeFoundInRaidStatusFromItems(profile: IPmcData): IPmcData; + setInventory(sessionID: string, pmcData: IPmcData, profile: IPmcData): IPmcData; + deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData; + getPlayerGear(items: Item[]): Item[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/InventoryHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/InventoryHelper.d.ts new file mode 100644 index 0000000..dc7cbca --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/InventoryHelper.d.ts @@ -0,0 +1,85 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData"; +import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; +import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInventoryConfig } from "../models/spt/config/IInventoryConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { FenceService } from "../services/FenceService"; +import { HashUtil } from "../utils/HashUtil"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { ContainerHelper } from "./ContainerHelper"; +import { DialogueHelper } from "./DialogueHelper"; +import { ItemHelper } from "./ItemHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { ProfileHelper } from "./ProfileHelper"; +import { TraderAssortHelper } from "./TraderAssortHelper"; +export interface OwnerInventoryItems { + from: Item[]; + to: Item[]; + sameInventory: boolean; + isMail: boolean; +} +export declare class InventoryHelper { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected httpResponse: HttpResponseUtil; + protected fenceService: FenceService; + protected databaseServer: DatabaseServer; + protected paymentHelper: PaymentHelper; + protected traderAssortHelper: TraderAssortHelper; + protected dialogueHelper: DialogueHelper; + protected itemHelper: ItemHelper; + protected containerHelper: ContainerHelper; + protected profileHelper: ProfileHelper; + protected configServer: ConfigServer; + protected inventoryConfig: IInventoryConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, httpResponse: HttpResponseUtil, fenceService: FenceService, databaseServer: DatabaseServer, paymentHelper: PaymentHelper, traderAssortHelper: TraderAssortHelper, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, containerHelper: ContainerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); + addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; + removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; + getItemSize(itemTpl: string, itemID: string, inventoryItem: Item[]): Record; + protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): Record; + protected getInventoryItemHash(inventoryItem: Item[]): InventoryHelper.InventoryItemHash; + getContainerMap(containerW: number, containerH: number, itemList: Item[], containerId: string): number[][]; + /** + * Based on the item action, determine whose inventories we should be looking at for from and to. + */ + getOwnerInventoryItems(body: IInventoryMoveRequestData | IInventorySplitRequestData | IInventoryMergeRequestData, sessionID: string): OwnerInventoryItems; + /** + * Made a 2d array table with 0 - free slot and 1 - used slot + * @param {Object} pmcData + * @param {string} sessionID + * @returns Array + */ + protected getStashSlotMap(pmcData: IPmcData, sessionID: string): number[][]; + protected getStashType(sessionID: string): string; + protected getPlayerStashSize(sessionID: string): Record; + /** + * Internal helper function to transfer an item from one profile to another. + * fromProfileData: Profile of the source. + * toProfileData: Profile of the destination. + * body: Move request + */ + moveItemToProfile(fromItems: Item[], toItems: Item[], body: IInventoryMoveRequestData): void; + /** + * Internal helper function to move item within the same profile_f. + */ + moveItemInternal(inventoryItems: Item[], body: IInventoryMoveRequestData): void; + /** + * Internal helper function to handle cartridges in inventory if any of them exist. + */ + protected handleCartridges(items: Item[], body: IInventoryMoveRequestData): void; +} +declare namespace InventoryHelper { + interface InventoryItemHash { + byItemId: Record; + byParentId: Record; + } +} +export {}; diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/ItemHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/ItemHelper.d.ts new file mode 100644 index 0000000..70c88d6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/ItemHelper.d.ts @@ -0,0 +1,147 @@ +import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +declare class ItemHelper { + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer); + /** + * Checks if a id is a valid item. Valid meaning that it's an item that be stored in stash + * @param {string} tpl the template id / tpl + * @returns boolean; true for items that may be in player posession and not quest items + */ + isValidItem(tpl: string, invalidBaseTypes?: string[]): boolean; + /** + * Checks if a id is a valid item. Valid meaning that it's an item that may be a reward + * or content of bot loot. Items that are tested as valid may be in a player backpack or stash. + * @param {*} tpl template id of item to check + * @returns boolean: true if item is valid reward + */ + isValidRewardItem(tpl: string): boolean; + /** + * Picks rewardable items from items.json. This means they need to fit into the inventory and they shouldn't be keys (debatable) + * @returns a list of rewardable items [[_tpl, itemTemplate],...] + */ + getRewardableItems(): [string, ITemplateItem][]; + /** + * Check if the tpl / template Id provided is a descendent of the baseclass + * + * @param {string} tpl the item template id to check + * @param {string} baseclassTpl the baseclass to check for + * @return {boolean} is the tpl a descendent? + */ + isOfBaseclass(tpl: string, baseclassTpl: string): any; + /** + * Returns the item price based on the handbook or as a fallback from the prices.json if the item is not + * found in the handbook. If the price can't be found at all return 0 + * + * @param {string} tpl the item template to check + * @returns {integer} The price of the item or 0 if not found + */ + getItemPrice(tpl: string): number; + fixItemStackCount(item: Item): Item; + /** + * AmmoBoxes contain StackSlots which need to be filled for the AmmoBox to have content. + * Here's what a filled AmmoBox looks like: + * { + * "_id": "b1bbe982daa00ac841d4ae4d", + * "_tpl": "57372c89245977685d4159b1", + * "parentId": "5fe49a0e2694b0755a504876", + * "slotId": "hideout", + * "location": { + * "x": 3, + * "y": 4, + * "r": 0 + * }, + * "upd": { + * "StackObjectsCount": 1 + * } + * }, + * { + * "_id": "b997b4117199033afd274a06", + * "_tpl": "56dff061d2720bb5668b4567", + * "parentId": "b1bbe982daa00ac841d4ae4d", + * "slotId": "cartridges", + * "location": 0, + * "upd": { + * "StackObjectsCount": 30 + * } + * } + * Given the AmmoBox Item (first object) this function generates the StackSlot (second object) and returns it. + * StackSlots are only used for AmmoBoxes which only have one element in StackSlots. However, it seems to be generic + * to possibly also have more than one StackSlot. As good as possible, without seeing items having more than one + * StackSlot, this function takes account of this and creates and returns an array of StackSlotItems + * + * @param {object} item The item template of the AmmoBox as given in items.json + * @param {string} parentId The id of the AmmoBox instance these StackSlotItems should be children of + * @returns {array} The array of StackSlotItems + */ + generateItemsFromStackSlot(item: ITemplateItem, parentId: string): Item[]; + getItem(tpl: string): [boolean, ITemplateItem]; + getItemQualityModifier(item: Item): number; + findAndReturnChildrenByItems(items: Item[], itemID: string): string[]; + /** + * A variant of findAndReturnChildren where the output is list of item objects instead of their ids. + */ + findAndReturnChildrenAsItems(items: Item[], baseItemId: string): Item[]; + /** + * find children of the item in a given assort (weapons parts for example, need recursive loop function) + */ + findAndReturnChildrenByAssort(itemIdToFind: string, assort: Item[]): Item[]; + hasBuyRestrictions(itemToCheck: Item): boolean; + /** + * Is Dogtag + * Checks if an item is a dogtag. Used under profile_f.js to modify preparePrice based + * on the level of the dogtag + */ + isDogtag(tpl: string): boolean; + isNotSellable(tpl: string): boolean; + getChildId(item: Item): string; + isItemTplStackable(tpl: string): boolean; + /** + * split item stack if it exceeds StackMaxSize + */ + splitStack(item: Item): Item[]; + /** + * Find Barter items in the inventory + * @param {string} by + * @param {Object} pmcData + * @param {string} barter_itemID + * @returns Array + */ + findBarterItems(by: string, pmcData: IPmcData, barter_itemID: string): any[]; + /** + * @param {Object} pmcData + * @param {Array} items + * @param {Object} fastPanel + * @returns Array + */ + replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[]; + /** + * Recursivly loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do + * @param {string} tpl + * @param {Array} tplsToCheck + * @returns boolean + */ + doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean; + /** + * Return true if item is a quest item + * @param {string} tpl + * @returns boolean + */ + isQuestItem(tpl: string): boolean; + getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize; +} +declare namespace ItemHelper { + interface ItemSize { + width: number; + height: number; + } +} +export { ItemHelper }; diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/NotificationSendHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/NotificationSendHelper.d.ts new file mode 100644 index 0000000..34e62d9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/NotificationSendHelper.d.ts @@ -0,0 +1,12 @@ +import { INotification } from "../models/eft/notifier/INotifier"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +import { NotificationService } from "../services/NotificationService"; +export declare class NotificationSendHelper { + protected httpServer: IHttpServer; + protected notificationService: NotificationService; + constructor(httpServer: IHttpServer, notificationService: NotificationService); + /** + * Send notification message to the appropiate channel + */ + sendMessage(sessionID: string, notificationMessage: INotification): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/NotifierHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/NotifierHelper.d.ts new file mode 100644 index 0000000..738b69a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/NotifierHelper.d.ts @@ -0,0 +1,17 @@ +import { INotification } from "../models/eft/notifier/INotifier"; +import { Message, MessageContentRagfair } from "../models/eft/profile/IAkiProfile"; +import { HttpServerHelper } from "./HttpServerHelper"; +export declare class NotifierHelper { + protected httpServerHelper: HttpServerHelper; + /** + * The default notification sent when waiting times out. + */ + protected defaultNotification: INotification; + constructor(httpServerHelper: HttpServerHelper); + getDefaultNotification(): INotification; + /** Creates a new notification that displays the "Your offer was sold!" prompt and removes sold offer from "My Offers" on clientside */ + createRagfairOfferSoldNotification(dialogueMessage: Message, ragfairData: MessageContentRagfair): INotification; + /** Creates a new notification with the specified dialogueMessage object. */ + createNewMessageNotification(dialogueMessage: Message): INotification; + getWebSocketServer(sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/PaymentHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/PaymentHelper.d.ts new file mode 100644 index 0000000..2d068a4 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/PaymentHelper.d.ts @@ -0,0 +1,14 @@ +export declare class PaymentHelper { + /** + * Check whether tpl is Money + * @param {string} tpl + * @returns void + */ + isMoneyTpl(tpl: string): boolean; + /** + * Gets currency TPL from TAG + * @param {string} currency + * @returns string + */ + getCurrency(currency: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/PresetHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/PresetHelper.d.ts new file mode 100644 index 0000000..0371886 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/PresetHelper.d.ts @@ -0,0 +1,14 @@ +import { Preset } from "../models/eft/common/IGlobals"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class PresetHelper { + protected databaseServer: DatabaseServer; + protected lookup: Record; + constructor(databaseServer: DatabaseServer); + hydratePresetStore(input: Record): void; + isPreset(id: string): boolean; + hasPreset(templateId: string): boolean; + getPreset(id: string): Preset; + getPresets(templateId: string): Preset[]; + getDefaultPreset(templateId: string): Preset; + getBaseItemTpl(presetId: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/ProbabilityHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/ProbabilityHelper.d.ts new file mode 100644 index 0000000..7a0676c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/ProbabilityHelper.d.ts @@ -0,0 +1,14 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class ProbabilityHelper { + protected logger: ILogger; + protected randomUtil: RandomUtil; + constructor(logger: ILogger, randomUtil: RandomUtil); + /** + * Chance to roll a number out of 100 + * @param chance Percentage chance roll should success + * @param scale scale of chance to allow support of numbers > 1-100 + * @returns true if success + */ + rollChance(chance: number, scale?: number): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/ProfileHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/ProfileHelper.d.ts new file mode 100644 index 0000000..6a64291 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/ProfileHelper.d.ts @@ -0,0 +1,33 @@ +import { IPmcData, Stats } from "../models/eft/common/IPmcData"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { FenceService } from "../services/FenceService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { Watermark } from "../utils/Watermark"; +import { ItemHelper } from "./ItemHelper"; +export declare class ProfileHelper { + protected jsonUtil: JsonUtil; + protected watermark: Watermark; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected fenceService: FenceService; + constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService); + resetProfileQuestCondition(sessionID: string, conditionId: string): void; + getCompleteProfile(sessionID: string): IPmcData[]; + isNicknameTaken(info: IValidateNicknameRequestData, sessionID: string): boolean; + getProfileByPmcId(pmcId: string): IPmcData; + getExperience(level: number): number; + getMaxLevel(): number; + getDefaultAkiDataObject(): any; + getFullProfile(sessionID: string): IAkiProfile; + getPmcProfile(sessionID: string): IPmcData; + getScavProfile(sessionID: string): IPmcData; + getDefaultCounters(): Stats; + protected isWiped(sessionID: string): boolean; + protected getServerVersion(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/QuestConditionHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/QuestConditionHelper.d.ts new file mode 100644 index 0000000..90ee560 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/QuestConditionHelper.d.ts @@ -0,0 +1,7 @@ +import { AvailableForConditions } from "../models/eft/common/tables/IQuest"; +export declare class QuestConditionHelper { + getQuestConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; + getLevelConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; + getLoyaltyConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; + protected filterConditions(q: AvailableForConditions[], questType: string, furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/QuestHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/QuestHelper.d.ts new file mode 100644 index 0000000..04ede16 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/QuestHelper.d.ts @@ -0,0 +1,86 @@ +import { IPmcData, Quest } from "../models/eft/common/IPmcData"; +import { AvailableForConditions, AvailableForProps, IQuest, Reward } from "../models/eft/common/tables/IQuest"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; +import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { DialogueHelper } from "./DialogueHelper"; +import { ItemHelper } from "./ItemHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { ProfileHelper } from "./ProfileHelper"; +import { RagfairServerHelper } from "./RagfairServerHelper"; +import { TraderHelper } from "./TraderHelper"; +export declare class QuestHelper { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected timeUtil: TimeUtil; + protected hashUtil: HashUtil; + protected itemHelper: ItemHelper; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected ragfairServerHelper: RagfairServerHelper; + protected dialogueHelper: DialogueHelper; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected traderHelper: TraderHelper; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); + static get STATUS(): Record; + questStatus(pmcData: IPmcData, questID: string): string; + /** + * returns true is the condition is satisfied + */ + evaluateLevel(pmcProfile: IPmcData, cond: AvailableForConditions): boolean; + getDeltaQuests(before: IQuest[], after: IQuest[]): IQuest[]; + rewardSkillPoints(sessionID: string, pmcData: IPmcData, output: IItemEventRouterResponse, skillName: string, progress: number): void; + getQuestLocale(questId: string): any; + /** + * Debug Routine for showing some information on the + * quest list in question. + */ + dumpQuests(quests: any, label?: any): void; + loyaltyRequirementCheck(loyaltyRequirementProperties: AvailableForProps, profile: IPmcData): boolean; + protected processReward(reward: Reward): any[]; + getQuestRewardItems(quest: IQuest, state: string): Reward[]; + addQuestToPMCData(pmcData: IPmcData, quest: Quest, newState: string, acceptedQuest: IAcceptQuestRequestData): void; + acceptedUnlocked(acceptedQuestId: string, sessionID: string): IQuest[]; + failedUnlocked(failedQuestId: string, sessionID: string): IQuest[]; + applyMoneyBoost(quest: IQuest, moneyBoost: number): IQuest; + changeItemStack(pmcData: IPmcData, id: string, value: number, sessionID: string, output: any): void; + /** + * Get List of All Quests as an array + * @returns Array of IQuest objects + */ + questValues(): IQuest[]; + /** + * Reest AvailableForStart conditions for quests + * @param quests queststo clean + * @returns quest array without conditions + */ + protected cleanQuestList(quests: IQuest[]): IQuest[]; + /** + * Reset AvailableForStart conditions on a quest + * @param quest quest to clean + * @returns reset IQuest object + */ + cleanQuestConditions(quest: IQuest): IQuest; + failQuest(pmcData: IPmcData, body: any, sessionID: string): any; + getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; + getQuestLocaleIdFromDb(messageId: string, localisation?: string): string; + applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): Reward[]; + /** + * Get the intel center bonus a player has + * @param pmcData player profile + * @returns bonus in percent + */ + protected getIntelCenterRewardBonus(pmcData: IPmcData): number; + getFindItemIdForQuestItem(itemTpl: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/RagfairHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairHelper.d.ts new file mode 100644 index 0000000..2c8dbb5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairHelper.d.ts @@ -0,0 +1,43 @@ +import { Item } from "../models/eft/common/tables/IItem"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; +import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { RagfairLinkedItemService } from "../services/RagfairLinkedItemService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { HandbookHelper } from "./HandbookHelper"; +import { ItemHelper } from "./ItemHelper"; +import { TraderAssortHelper } from "./TraderAssortHelper"; +import { UtilityHelper } from "./UtilityHelper"; +export declare class RagfairHelper { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected traderAssortHelper: TraderAssortHelper; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected itemHelper: ItemHelper; + protected ragfairLinkedItemService: RagfairLinkedItemService; + protected utilityHelper: UtilityHelper; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, traderAssortHelper: TraderAssortHelper, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, ragfairLinkedItemService: RagfairLinkedItemService, utilityHelper: UtilityHelper, configServer: ConfigServer); + /** + * Gets currency TAG from TPL + * @param {string} currency + * @returns string + */ + getCurrencyTag(currency: string): string; + filterCategories(sessionID: string, info: ISearchRequestData): string[]; + getDisplayableAssorts(sessionID: string): Record; + protected getCategoryList(handbookId: string): string[]; + countCategories(result: IGetOffersResult): void; + /** + * Merges Root Items + * Ragfair allows abnormally large stacks. + */ + mergeStackable(items: Item[]): Item[]; + getCurrencySymbol(currencyTpl: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/RagfairOfferHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairOfferHelper.d.ts new file mode 100644 index 0000000..129bc1c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairOfferHelper.d.ts @@ -0,0 +1,52 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { HashUtil } from "../utils/HashUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { DialogueHelper } from "./DialogueHelper"; +import { ItemHelper } from "./ItemHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { PresetHelper } from "./PresetHelper"; +import { ProfileHelper } from "./ProfileHelper"; +import { RagfairHelper } from "./RagfairHelper"; +import { RagfairServerHelper } from "./RagfairServerHelper"; +import { RagfairSortHelper } from "./RagfairSortHelper"; +export declare class RagfairOfferHelper { + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected hashUtil: HashUtil; + protected itemEventRouter: ItemEventRouter; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected dialogueHelper: DialogueHelper; + protected itemHelper: ItemHelper; + protected paymentHelper: PaymentHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected ragfairSortHelper: RagfairSortHelper; + protected ragfairHelper: RagfairHelper; + protected ragfairOfferService: RagfairOfferService; + protected configServer: ConfigServer; + protected static TPL_GOODS_SOLD: string; + protected ragfairConfig: IRagfairConfig; + protected questConfig: IQuestConfig; + constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); + getValidOffers(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; + getOffersForBuild(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; + processOffers(sessionID: string): boolean; + protected getProfileOffers(sessionID: string): IRagfairOffer[]; + protected deleteOfferByOfferId(sessionID: string, offerId: string): void; + protected completeOffer(sessionID: string, offer: IRagfairOffer, boughtAmount: number): IItemEventRouterResponse; + isDisplayableOffer(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, offer: IRagfairOffer, pmcProfile: IPmcData): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/RagfairSellHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairSellHelper.d.ts new file mode 100644 index 0000000..6ec004a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairSellHelper.d.ts @@ -0,0 +1,16 @@ +import { SellResult } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class RagfairSellHelper { + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); + calculateSellChance(baseChance: number, offerPrice: number, requirementsPriceInRub: number): number; + rollForSale(sellChance: number, count: number): SellResult[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/RagfairServerHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairServerHelper.d.ts new file mode 100644 index 0000000..2cb3ea5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairServerHelper.d.ts @@ -0,0 +1,46 @@ +import { MemberCategory } from "../models/enums/MemberCategory"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { IQuestConfig } from "../models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { DialogueHelper } from "./DialogueHelper"; +import { ItemHelper } from "./ItemHelper"; +import { ProfileHelper } from "./ProfileHelper"; +export declare class RagfairServerHelper { + protected randomUtil: RandomUtil; + protected hashUtil: HashUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected profileHelper: ProfileHelper; + protected itemHelper: ItemHelper; + protected dialogueHelper: DialogueHelper; + protected jsonUtil: JsonUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + protected questConfig: IQuestConfig; + protected static TPL_GOODS_RETURNED: string; + constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); + /** + * Is item valid / on blacklist / quest item + * @param itemDetails + * @returns boolean + */ + isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean; + protected isItemBlacklisted(itemTemplateId: string): boolean; + isTrader(userID: string): boolean; + isPlayer(userID: string): boolean; + returnItems(sessionID: string, items: any[]): void; + calculateDynamicStackCount(tplId: string, isWeaponPreset: boolean): number; + getDynamicOfferCurrency(): string; + getMemberType(userID: string): MemberCategory; + getNickname(userID: string): string; + getPresetItems(item: any): Item[]; + getPresetItemsByTpl(item: Item): Item[]; + reparentPresets(item: Item, preset: Item[]): Item[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/RagfairSortHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairSortHelper.d.ts new file mode 100644 index 0000000..e983569 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairSortHelper.d.ts @@ -0,0 +1,12 @@ +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class RagfairSortHelper { + protected databaseServer: DatabaseServer; + constructor(databaseServer: DatabaseServer); + sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; + protected sortOffersByID(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByRating(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByName(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByPrice(a: IRagfairOffer, b: IRagfairOffer): number; + protected sortOffersByExpiry(a: IRagfairOffer, b: IRagfairOffer): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/RagfairTaxHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairTaxHelper.d.ts new file mode 100644 index 0000000..820facb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/RagfairTaxHelper.d.ts @@ -0,0 +1,16 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { RagfairPriceService } from "../services/RagfairPriceService"; +import { ItemHelper } from "./ItemHelper"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairTaxHelper { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected ragfairPriceService: RagfairPriceService; + protected itemHelper: ItemHelper; + constructor(logger: ILogger, databaseServer: DatabaseServer, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper); + calculateTax(item: Item, pmcData: IPmcData, requirementsValue: number, offerItemCount: number, sellInOnePiece: boolean): number; + protected calculateItemWorth(item: Item, itemTemplate: ITemplateItem, itemCount: number, pmcData: IPmcData, isRootItem?: boolean): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/RepairHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/RepairHelper.d.ts new file mode 100644 index 0000000..545108e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/RepairHelper.d.ts @@ -0,0 +1,21 @@ +import { Item } from "../models/eft/common/tables/IItem"; +import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem"; +import { IRepairConfig } from "../models/spt/config/IRepairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class RepairHelper { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected configServer: ConfigServer; + protected repairConfig: IRepairConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, configServer: ConfigServer); + updateItemDurability(itemToRepair: Item, itemToRepairDetails: ITemplateItem, isArmor: boolean, amountToRepair: number, useRepairKit?: boolean): Item; + protected getRandomisedArmorRepairDegredationValue(armorMaterial: string, isRepairKit: boolean, armorMax: number): number; + protected getRandomisedWeaponRepairDegredationValue(itemProps: Props, isRepairKit: boolean, armorMax: number): number; + isWeaponTemplate(tpl: string): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/SecureContainerHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/SecureContainerHelper.d.ts new file mode 100644 index 0000000..9e2bc32 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/SecureContainerHelper.d.ts @@ -0,0 +1,13 @@ +import { Item } from "../models/eft/common/tables/IItem"; +import { ItemHelper } from "./ItemHelper"; +export interface OwnerInventoryItems { + from: Item[]; + to: Item[]; + sameInventory: boolean; + isMail: boolean; +} +export declare class SecureContainerHelper { + protected itemHelper: ItemHelper; + constructor(itemHelper: ItemHelper); + getSecureContainerItems(items: Item[]): string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/TradeHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/TradeHelper.d.ts new file mode 100644 index 0000000..975062b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/TradeHelper.d.ts @@ -0,0 +1,44 @@ +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item, Upd } from "../models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; +import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { RagfairServer } from "../servers/RagfairServer"; +import { FenceService } from "../services/FenceService"; +import { PaymentService } from "../services/PaymentService"; +export declare class TradeHelper { + protected logger: ILogger; + protected itemEventRouter: ItemEventRouter; + protected traderHelper: TraderHelper; + protected itemHelper: ItemHelper; + protected paymentService: PaymentService; + protected fenceService: FenceService; + protected inventoryHelper: InventoryHelper; + protected ragfairServer: RagfairServer; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer); + /** + * Buy item from flea or trader + * @param pmcData + * @param buyRequestData data from client + * @param sessionID + * @param foundInRaid + * @param upd optional item details used when buying from flea + * @returns + */ + buyItem(pmcData: IPmcData, buyRequestData: IProcessBuyTradeRequestData, sessionID: string, foundInRaid: boolean, upd: Upd): IItemEventRouterResponse; + /** + * Sell item to trader + * @param pmcData + * @param body + * @param sessionID + * @returns + */ + sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse; + protected incrementAssortBuyCount(assortBeingPurchased: Item, itemsPurchasedCount: number): void; + protected checkPurchaseIsWithinTraderItemLimit(assortBeingPurchased: Item, assortId: string, count: number): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/TraderAssortHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/TraderAssortHelper.d.ts new file mode 100644 index 0000000..4f41ac2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/TraderAssortHelper.d.ts @@ -0,0 +1,42 @@ +import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; +import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { FenceService } from "../services/FenceService"; +import { TraderAssortService } from "../services/TraderAssortService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { AssortHelper } from "./AssortHelper"; +import { ProfileHelper } from "./ProfileHelper"; +export declare class TraderAssortHelper { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected profileHelper: ProfileHelper; + protected assortHelper: AssortHelper; + protected ragfairAssortGenerator: RagfairAssortGenerator; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected traderAssortService: TraderAssortService; + protected fenceService: FenceService; + constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); + /** + * Get a traders assorts + * Can be used for returning ragfair / fence assorts + * @param sessionId session id + * @param traderId trader id + * @returns a traders assorts + */ + getAssort(sessionId: string, traderId: string): ITraderAssort; + /** + * Get an array of pristine trader items prior to any alteration by player + * @param traderId trader id + * @returns array of Items + */ + protected getPristineTraderAssorts(traderId: string): Item[]; + /** + * Returns generated ragfair offers in a trader assort format + * @returns Trader assort object + */ + protected getRagfairDataAsTraderAssort(): ITraderAssort; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/TraderHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/TraderHelper.d.ts new file mode 100644 index 0000000..ab4a371 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/TraderHelper.d.ts @@ -0,0 +1,53 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IBarterScheme, ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { FenceService } from "../services/FenceService"; +import { PlayerService } from "../services/PlayerService"; +import { HandbookHelper } from "./HandbookHelper"; +import { ItemHelper } from "./ItemHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { ProfileHelper } from "./ProfileHelper"; +export declare class TraderHelper { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemHelper: ItemHelper; + protected handbookHelper: HandbookHelper; + protected playerService: PlayerService; + protected fenceService: FenceService; + protected configServer: ConfigServer; + protected traderConfig: ITraderConfig; + constructor(logger: ILogger, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemHelper: ItemHelper, handbookHelper: HandbookHelper, playerService: PlayerService, fenceService: FenceService, configServer: ConfigServer); + getTrader(traderID: string, sessionID: string): ITraderBase; + getTraderAssortsById(traderId: string): ITraderAssort; + /** + * Reset a trader back to its initial state as seen by a level 1 player + * Does NOT take into account different profile levels + * @param sessionID session id + * @param traderID trader id to reset + */ + resetTrader(sessionID: string, traderID: string): void; + changeTraderDisplay(traderID: string, status: boolean, sessionID: string): void; + getPurchasesData(traderID: string, sessionID: string): Record; + /** + * Calculate traders level based on exp amount and increment level if over threshold + * @param traderID trader to process + * @param sessionID session id + */ + lvlUp(traderID: string, sessionID: string): void; + getTraderUpdateSeconds(traderId: string): number; + /** + * check if an item is allowed to be sold to a trader + * @param traderFilters array of allowed categories + * @param tplToCheck itemTpl of inventory + * @returns boolean + */ + traderFilter(traderFilters: string[], tplToCheck: string): boolean; + getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/UtilityHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/UtilityHelper.d.ts new file mode 100644 index 0000000..5d9f482 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/UtilityHelper.d.ts @@ -0,0 +1,3 @@ +export declare class UtilityHelper { + arrayIntersect(a: T[], b: T[]): T[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/helpers/WeightedRandomHelper.d.ts b/Ereshkigal-AkiConfig/dist/types/helpers/WeightedRandomHelper.d.ts new file mode 100644 index 0000000..9aa0d29 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/helpers/WeightedRandomHelper.d.ts @@ -0,0 +1,28 @@ +export declare class WeightedRandomHelper { + /** + * Gets a tplId from a weighted dictionary + * @param {tplId: weighting[]} itemArray + * @returns tplId + */ + getWeightedInventoryItem(itemArray: { + [tplId: string]: unknown; + } | ArrayLike): string; + /** + * Picks the random item based on its weight. + * The items with higher weight will be picked more often (with a higher probability). + * + * For example: + * - items = ['banana', 'orange', 'apple'] + * - weights = [0, 0.2, 0.8] + * - weightedRandom(items, weights) in 80% of cases will return 'apple', in 20% of cases will return + * 'orange' and it will never return 'banana' (because probability of picking the banana is 0%) + * + * @param {any[]} items + * @param {number[]} weights + * @returns {{item: any, index: number}} + */ + weightedRandom(items: string | any[], weights: string | any[]): { + item: any; + index: number; + }; +} diff --git a/Ereshkigal-AkiConfig/dist/types/ide/BleedingEdgeEntry.d.ts b/Ereshkigal-AkiConfig/dist/types/ide/BleedingEdgeEntry.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/ide/BleedingEdgeEntry.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/Ereshkigal-AkiConfig/dist/types/ide/Compiler.d.ts b/Ereshkigal-AkiConfig/dist/types/ide/Compiler.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/ide/Compiler.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/Ereshkigal-AkiConfig/dist/types/ide/DebugEntry.d.ts b/Ereshkigal-AkiConfig/dist/types/ide/DebugEntry.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/ide/DebugEntry.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/Ereshkigal-AkiConfig/dist/types/ide/ReleaseEntry.d.ts b/Ereshkigal-AkiConfig/dist/types/ide/ReleaseEntry.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/ide/ReleaseEntry.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/Ereshkigal-AkiConfig/dist/types/ide/TestEntry.d.ts b/Ereshkigal-AkiConfig/dist/types/ide/TestEntry.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/ide/TestEntry.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/Ereshkigal-AkiConfig/dist/types/loaders/BundleLoader.d.ts b/Ereshkigal-AkiConfig/dist/types/loaders/BundleLoader.d.ts new file mode 100644 index 0000000..06ad698 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/loaders/BundleLoader.d.ts @@ -0,0 +1,22 @@ +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +declare class BundleInfo { + modPath: string; + key: string; + path: string; + filepath: string; + dependencyKeys: string[]; + constructor(modpath: string, bundle: any, bundlePath: string, bundleFilepath: string); +} +export declare class BundleLoader { + protected httpServerHelper: HttpServerHelper; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected bundles: Record; + constructor(httpServerHelper: HttpServerHelper, vfs: VFS, jsonUtil: JsonUtil); + getBundles(local: boolean): BundleInfo[]; + getBundle(key: string, local: boolean): BundleInfo; + addBundles(modpath: string): void; +} +export {}; diff --git a/Ereshkigal-AkiConfig/dist/types/loaders/DelayedModLoader.d.ts b/Ereshkigal-AkiConfig/dist/types/loaders/DelayedModLoader.d.ts new file mode 100644 index 0000000..2a05604 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/loaders/DelayedModLoader.d.ts @@ -0,0 +1,21 @@ +import { DependencyContainer } from "tsyringe"; +import { HandbookController } from "../controllers/HandbookController"; +import { IModLoader } from "../models/spt/mod/IModLoader"; +import { ModCompilerService } from "../services/ModCompilerService"; +import { VFS } from "../utils/VFS"; +import { BundleLoader } from "./BundleLoader"; +import { InitialModLoader } from "./InitialModLoader"; +export declare class DelayedModLoader implements IModLoader { + protected bundleLoader: BundleLoader; + protected handbookController: HandbookController; + protected vfs: VFS; + protected modCompilerService: ModCompilerService; + protected initialModLoader: InitialModLoader; + constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, initialModLoader: InitialModLoader); + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + getModPath(mod: string): string; + load(): void; + protected executeMods(container: DependencyContainer): void; + protected addBundles(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/loaders/InitialModLoader.d.ts b/Ereshkigal-AkiConfig/dist/types/loaders/InitialModLoader.d.ts new file mode 100644 index 0000000..9a99dcc --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/loaders/InitialModLoader.d.ts @@ -0,0 +1,64 @@ +import { DependencyContainer } from "tsyringe"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; +import { ModLoader } from "../models/spt/mod/IMod"; +import { IModLoader } from "../models/spt/mod/IModLoader"; +import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ModCompilerService } from "../services/ModCompilerService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +import { BundleLoader } from "./BundleLoader"; +export declare class InitialModLoader implements IModLoader { + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected modCompilerService: ModCompilerService; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected static container: DependencyContainer; + protected readonly basepath = "user/mods/"; + protected imported: Record; + protected akiConfig: ICoreConfig; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, bundleLoader: BundleLoader, configServer: ConfigServer); + load(container: DependencyContainer): Promise; + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + /** + * Returns a list of mods with preserved load order + * @returns Array of mod names in load order + */ + getImportedModsNames(): string[]; + getModPath(mod: string): string; + protected importClass(name: string, filepath: string, container: DependencyContainer): void; + protected importMods(): Promise; + /** + * + * @param mods Get an array of broken/invalid mods by name + * @returns Mod names array + */ + protected getBrokenMods(mods: string[]): string[]; + /** + * Get packageJson data for mods + * @param mods mods to get packageJson for + * @returns dictionary + */ + protected getModsPackageData(mods: string[]): Record; + /** + * Does mod have "delayedLoad(" string in its entry class + * @param modFolderName folder name + * @param modToValidate package.json details + * @returns boolean + */ + protected isModSpt300Compatible(modFolderName: string, modToValidate: IPackageJsonData): boolean; + protected isModCombatibleWithAki(mod: IPackageJsonData): boolean; + protected executeMods(container: DependencyContainer): void; + sortModsLoadOrder(): string[]; + protected addMod(mod: string): Promise; + protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Record): boolean; + protected isModCompatible(mod: IPackageJsonData, loadedMods: Record): boolean; + protected validMod(mod: string): boolean; + protected getLoadOrderRecursive(mod: string, result: Record, visited: Record): void; + protected getLoadOrder(mods: Record): Record; + getContainer(): DependencyContainer; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/bot/IGenerateBotsRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/bot/IGenerateBotsRequestData.d.ts new file mode 100644 index 0000000..c49cef7 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/bot/IGenerateBotsRequestData.d.ts @@ -0,0 +1,8 @@ +export interface IGenerateBotsRequestData { + conditions: Condition[]; +} +export interface Condition { + Role: string; + Limit: number; + Difficulty: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/IEmptyRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/IEmptyRequestData.d.ts new file mode 100644 index 0000000..284d16e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/IEmptyRequestData.d.ts @@ -0,0 +1,2 @@ +export interface IEmptyRequestData { +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/IGlobals.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/IGlobals.d.ts new file mode 100644 index 0000000..456895c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/IGlobals.d.ts @@ -0,0 +1,1176 @@ +import { Item } from "./tables/IItem"; +export interface IGlobals { + time: number; + config: Config; + bot_presets: BotPreset[]; + BotWeaponScatterings: BotWeaponScattering[]; + ItemPresets: Record; +} +export interface Config { + content: Content; + AimPunchMagnitude: number; + WeaponSkillProgressRate: number; + SkillAtrophy: boolean; + exp: Exp; + t_base_looting: number; + t_base_lockpicking: number; + armor: Armor; + SessionsToShowHotKeys: number; + MaxBotsAliveOnMap: number; + SavagePlayCooldown: number; + SavagePlayCooldownNdaFree: number; + MarksmanAccuracy: number; + SavagePlayCooldownDevelop: number; + TODSkyDate: string; + Mastering: Mastering[]; + GlobalItemPriceModifier: number; + TradingUnlimitedItems: boolean; + MaxLoyaltyLevelForAll: boolean; + GlobalLootChanceModifier: number; + TimeBeforeDeploy: number; + TimeBeforeDeployLocal: number; + LoadTimeSpeedProgress: number; + BaseLoadTime: number; + BaseUnloadTime: number; + BaseCheckTime: number; + Customization: Customization; + UncheckOnShot: boolean; + BotsEnabled: boolean; + ArmorMaterials: ArmorMaterials; + LegsOverdamage: number; + HandsOverdamage: number; + StomachOverdamage: number; + Health: Health; + rating: Rating; + tournament: Tournament; + RagFair: RagFair; + handbook: Handbook; + FractureCausedByFalling: Probability; + FractureCausedByBulletHit: Probability; + WAVE_COEF_LOW: number; + WAVE_COEF_MID: number; + WAVE_COEF_HIGH: number; + WAVE_COEF_HORDE: number; + Stamina: Stamina; + StaminaRestoration: StaminaRestoration; + StaminaDrain: StaminaDrain; + RequirementReferences: RequirementReferences; + RepairKitSettings: RepairKitSettings; + RestrictionsInRaid: RestrictionsInRaid[]; + SkillMinEffectiveness: number; + SkillFatiguePerPoint: number; + SkillFreshEffectiveness: number; + SkillFreshPoints: number; + SkillPointsBeforeFatigue: number; + SkillFatigueReset: number; + DiscardLimitsEnabled: boolean; + EventType: string[]; + WalkSpeed: xyz; + SprintSpeed: xyz; + SkillEnduranceWeightThreshold: number; + TeamSearchingTimeout: number; + Insurance: Insurance; + SkillExpPerLevel: number; + GameSearchingTimeout: number; + WallContusionAbsorption: xyz; + SkillsSettings: SkillsSettings; + AzimuthPanelShowsPlayerOrientation: boolean; + Aiming: Aiming; + Malfunction: Malfunction; + Overheat: Overheat; + FenceSettings: FenceSettings; + TestValue: number; + Inertia: Inertia; + Ballistic: Ballistic; +} +export interface Content { + ip: string; + port: number; + root: string; +} +export interface Exp { + heal: Heal; + match_end: MatchEnd; + kill: Kill; + level: Level; + loot_attempts: LootAttempt[]; + expForLockedDoorOpen: number; + expForLockedDoorBreach: number; + triggerMult: number; +} +export interface Heal { + expForHeal: number; + expForHydration: number; + expForEnergy: number; +} +export interface MatchEnd { + README: string; + survived_exp_requirement: number; + survived_seconds_requirement: number; + survived_exp_reward: number; + mia_exp_reward: number; + runner_exp_reward: number; + leftMult: number; + miaMult: number; + survivedMult: number; + runnerMult: number; + killedMult: number; +} +export interface Kill { + combo: Combo[]; + victimLevelExp: number; + headShotMult: number; + expOnDamageAllHealth: number; + longShotDistance: number; + bloodLossToLitre: number; + victimBotLevelExp: number; +} +export interface Combo { + percent: number; +} +export interface Level { + exp_table: ExpTable[]; + trade_level: number; + savage_level: number; + clan_level: number; + mastering1: number; + mastering2: number; +} +export interface ExpTable { + exp: number; +} +export interface LootAttempt { + k_exp: number; +} +export interface Armor { + class: Class[]; +} +export interface Class { + resistance: number; +} +export interface Mastering { + Name: string; + Templates: string[]; + Level2: number; + Level3: number; +} +export interface Customization { + SavageHead: SavageHead; + SavageBody: SavageBody; + SavageFeet: SavageFeet; + CustomizationVoice: CustomizationVoice[]; + BodyParts: BodyParts; +} +export interface SavageHead { + wild_head_1: WildHead; + wild_head_2: WildHead; + wild_head_3: WildHead; + Wild_Dealmaker_head: WildHead; + Wild_Killa_head: WildHead; + bear_head: WildHead; + bear_head_1: WildHead; + usec_head_1: WildHead; + Head_BOSS_Glukhar: WildHead; + Wild_Head_nonMesh: WildHead; + Head_BOSS_Sanitar: WildHead; + wild_head_drozd: WildHead; + wild_head_misha: WildHead; + head_cultist_01: WildHead; + head_cultist_02: WildHead; + head_cultist_03: WildHead; + DefaultUsecHead: WildHead; + usec_head_3: WildHead; + usec_head_4: WildHead; + usec_head_5: WildHead; +} +export interface WildHead { + head: string; + isNotRandom: boolean; + NotRandom: boolean; +} +export interface SavageBody { + wild_body: WildBody; + wild_body_1: WildBody; + wild_body_2: WildBody; + wild_body_3: WildBody; + Wild_Dealmaker_body: WildBody; + wild_security_body_1: WildBody; + wild_security_body_2: WildBody; + wild_Killa_body: WildBody; + wild_pmcBot_body: WildBody; + wild_Shturman_body: WildBody; + wild_Gluhar_body: WildBody; + Tshirt_security_TshirtTatu_01: WildBody; + Tshirt_security_TshirtTatu_02: WildBody; + Top_security_Husky: WildBody; + Top_security_Gorka4: WildBody; + scav_kit_upper_meteor: WildBody; + wild_body_russia1: WildBody; + Top_BOSS_Sanitar: WildBody; + wild_body_motocross: WildBody; + top_cultist_01: WildBody; + top_cultist_02: WildBody; + wild_body_rainparka: WildBody; + wild_body_underarmour: WildBody; + top_boss_tagilla: WildBody; + DefaultUsecBody: WildBody; + usec_upper_acu: WildBody; + usec_upper_commando: WildBody; + usec_upper_aggressor: WildBody; + usec_upper_hoody: WildBody; + usec_upper_pcuironsight: WildBody; + usec_top_beltstaff: WildBody; + usec_upper_flexion: WildBody; + usec_upper_tier3: WildBody; + usec_upper_pcsmulticam: WildBody; + usec_upper_tier_2: WildBody; + usec_upper_infiltrator: WildBody; + user_upper_NightPatrol: WildBody; + wild_body_bomber: WildBody; + wild_top_yellowcoat: WildBody; +} +export interface WildBody { + body: string; + hands: string; + isNotRandom: boolean; +} +export interface SavageFeet { + wild_feet: WildFeet; + wild_feet_1: WildFeet; + wild_feet_2: WildFeet; + Wild_Dealmaker_feet: WildFeet; + wild_security_feet_1: WildFeet; + Wild_Killa_feet: WildFeet; + wild_pmcBot_feet: WildFeet; + Pants_BOSS_Glukhar: WildFeet; + Pants_BOSS_Shturman: WildFeet; + Pants_security_Gorka4: WildFeet; + Pants_security_Flora: WildFeet; + scav_kit_lower_sklon: WildFeet; + Pants_BOSS_Sanitar: WildFeet; + wild_feet_sweatpants: WildFeet; + wild_feet_wasatch: WildFeet; + wild_feet_slimPants: WildFeet; + pants_cultist_01: WildFeet; + pants_cultist_02: WildFeet; + wild_feet_scavelite_taclite: WildFeet; + pants_boss_tagilla: WildFeet; + wild_feet_bomber: WildFeet; + wild_pants_yellowcoat: WildFeet; +} +export interface WildFeet { + feet: string; + isNotRandom: boolean; + NotRandom: boolean; +} +export interface CustomizationVoice { + voice: string; + side: string[]; + isNotRandom: boolean; +} +export interface BodyParts { + Head: string; + Body: string; + Feet: string; + Hands: string; +} +export interface ArmorMaterials { + UHMWPE: ArmorType; + Aramid: ArmorType; + Combined: ArmorType; + Titan: ArmorType; + Aluminium: ArmorType; + ArmoredSteel: ArmorType; + Ceramic: ArmorType; + Glass: ArmorType; +} +export interface ArmorType { + Destructibility: number; + MinRepairDegradation: number; + MaxRepairDegradation: number; + ExplosionDestructibility: number; + MinRepairKitDegradation: number; + MaxRepairKitDegradation: number; +} +export interface Health { + Falling: Falling; + Effects: Effects; + HealPrice: HealPrice; + ProfileHealthSettings: ProfileHealthSettings; +} +export interface Falling { + DamagePerMeter: number; + SafeHeight: number; +} +export interface Effects { + Existence: Existence; + Dehydration: Dehydration; + BreakPart: BreakPart; + Contusion: Contusion; + Disorientation: Disorientation; + Exhaustion: Exhaustion; + LowEdgeHealth: LowEdgeHealth; + RadExposure: RadExposure; + Stun: Stun; + Intoxication: Intoxication; + Regeneration: Regeneration; + Wound: Wound; + Berserk: Berserk; + Flash: Flash; + MedEffect: MedEffect; + Pain: Pain; + PainKiller: PainKiller; + SandingScreen: SandingScreen; + Stimulator: Stimulator; + Tremor: Tremor; + ChronicStaminaFatigue: ChronicStaminaFatigue; + Fracture: Fracture2; + HeavyBleeding: HeavyBleeding2; + LightBleeding: LightBleeding2; + BodyTemperature: BodyTemperature; +} +export interface Existence { + EnergyLoopTime: number; + HydrationLoopTime: number; + EnergyDamage: number; + HydrationDamage: number; + DestroyedStomachEnergyTimeFactor: number; + DestroyedStomachHydrationTimeFactor: number; +} +export interface Dehydration { + DefaultDelay: number; + DefaultResidueTime: number; + BleedingHealth: number; + BleedingLoopTime: number; + BleedingLifeTime: number; + DamageOnStrongDehydration: number; + StrongDehydrationLoopTime: number; +} +export interface BreakPart { + DefaultDelay: number; + DefaultResidueTime: number; + HealExperience: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovePrice: number; + RemovedAfterDeath: boolean; + BulletHitProbability: Probability; + FallingProbability: Probability; +} +export interface Contusion { + Dummy: number; +} +export interface Disorientation { + Dummy: number; +} +export interface Exhaustion { + DefaultDelay: number; + DefaultResidueTime: number; + Damage: number; + DamageLoopTime: number; +} +export interface LowEdgeHealth { + DefaultDelay: number; + DefaultResidueTime: number; + StartCommonHealth: number; +} +export interface RadExposure { + Damage: number; + DamageLoopTime: number; +} +export interface Stun { + Dummy: number; +} +export interface Intoxication { + DefaultDelay: number; + DefaultResidueTime: number; + DamageHealth: number; + HealthLoopTime: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovedAfterDeath: boolean; + HealExperience: number; + RemovePrice: number; +} +export interface Regeneration { + LoopTime: number; + MinimumHealthPercentage: number; + Energy: number; + Hydration: number; + BodyHealth: BodyHealth; + Influences: Influences; +} +export interface BodyHealth { + Head: BodyHealthValue; + Chest: BodyHealthValue; + Stomach: BodyHealthValue; + LeftArm: BodyHealthValue; + RightArm: BodyHealthValue; + LeftLeg: BodyHealthValue; + RightLeg: BodyHealthValue; +} +export interface BodyHealthValue { + Value: number; +} +export interface Influences { + LightBleeding: Influence; + HeavyBleeding: Influence; + Fracture: Influence; + RadExposure: Influence; + Intoxication: Influence; +} +export interface Influence { + HealthSlowDownPercentage: number; + EnergySlowDownPercentage: number; + HydrationSlowDownPercentage: number; +} +export interface Wound { + WorkingTime: number; + ThresholdMin: number; + ThresholdMax: number; +} +export interface Berserk { + DefaultDelay: number; + WorkingTime: number; + DefaultResidueTime: number; +} +export interface Flash { + Dummy: number; +} +export interface MedEffect { + LoopTime: number; + StartDelay: number; + DrinkStartDelay: number; + FoodStartDelay: number; + DrugsStartDelay: number; + MedKitStartDelay: number; + MedicalStartDelay: number; + StimulatorStartDelay: number; +} +export interface Pain { + TremorDelay: number; + HealExperience: number; +} +export interface PainKiller { + Dummy: number; +} +export interface SandingScreen { + Dummy: number; +} +export interface Stimulator { + BuffLoopTime: number; + Buffs: Buffs; +} +export interface Buffs { + BuffsSJ1TGLabs: Buff[]; + BuffsSJ6TGLabs: Buff[]; + BuffsPropital: Buff[]; + BuffsZagustin: Buff[]; + BuffseTGchange: Buff[]; + BuffsAdrenaline: Buff[]; + BuffsGoldenStarBalm: Buff[]; + Buffs_drink_aquamari: Buff[]; + Buffs_drink_maxenergy: Buff[]; + Buffs_drink_milk: Buff[]; + Buffs_drink_tarcola: Buff[]; + Buffs_drink_hotrod: Buff[]; + Buffs_drink_juice_army: Buff[]; + Buffs_drink_water: Buff[]; + Buffs_food_borodinskiye: Buff[]; + Buffs_food_condensed_milk: Buff[]; + Buffs_food_emelya: Buff[]; + Buffs_food_mayonez: Buff[]; + Buffs_food_mre: Buff[]; + Buffs_food_sugar: Buff[]; + Buffs_drink_vodka: Buff[]; + Buffs_drink_jack: Buff[]; + Buffs_drink_moonshine: Buff[]; + Buffs_drink_purewater: Buff[]; + Buffs_3bTG: Buff[]; + Buffs_AHF1M: Buff[]; + Buffs_L1: Buff[]; + Buffs_MULE: Buff[]; + Buffs_Meldonin: Buff[]; + Buffs_Obdolbos: Buff[]; + Buffs_P22: Buff[]; + Buffs_KultistsToxin: Buff[]; + Buffs_BodyTemperature: Buff[]; + Buffs_Antidote: Buff[]; + Buffs_melee_bleed: Buff[]; + Buffs_melee_blunt: Buff[]; + Buffs_hultafors: Buff[]; + Buffs_drink_vodka_BAD: Buff[]; + Buffs_food_alyonka: Buff[]; + Buffs_food_slippers: Buff[]; + Buffs_knife: Buff[]; +} +export interface Buff { + BuffType: string; + Chance: number; + Delay: number; + Duration: number; + Value: number; + AbsoluteValue: boolean; + SkillName: string; +} +export interface Tremor { + DefaultDelay: number; + DefaultResidueTime: number; +} +export interface ChronicStaminaFatigue { + EnergyRate: number; + WorkingTime: number; + TicksEvery: number; + EnergyRatePerStack: number; +} +export interface Fracture2 { + DefaultDelay: number; + DefaultResidueTime: number; + HealExperience: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovePrice: number; + RemovedAfterDeath: boolean; + BulletHitProbability: Probability; + FallingProbability: Probability; +} +export interface HeavyBleeding2 { + DefaultDelay: number; + DefaultResidueTime: number; + DamageEnergy: number; + DamageHealth: number; + EnergyLoopTime: number; + HealthLoopTime: number; + DamageHealthDehydrated: number; + HealthLoopTimeDehydrated: number; + LifeTimeDehydrated: number; + EliteVitalityDuration: number; + HealExperience: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovePrice: number; + RemovedAfterDeath: boolean; + Probability: Probability; +} +export interface Probability { + FunctionType: string; + K: number; + B: number; + Threshold: number; +} +export interface LightBleeding2 { + DefaultDelay: number; + DefaultResidueTime: number; + DamageEnergy: number; + DamageHealth: number; + EnergyLoopTime: number; + HealthLoopTime: number; + DamageHealthDehydrated: number; + HealthLoopTimeDehydrated: number; + LifeTimeDehydrated: number; + EliteVitalityDuration: number; + HealExperience: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovePrice: number; + RemovedAfterDeath: boolean; + Probability: Probability; +} +export interface BodyTemperature { + DefaultBuildUpTime: number; + DefaultResidueTime: number; + LoopTime: number; +} +export interface HealPrice { + HealthPointPrice: number; + HydrationPointPrice: number; + EnergyPointPrice: number; + TrialLevels: number; + TrialRaids: number; +} +export interface ProfileHealthSettings { + BodyPartsSettings: BodyPartsSettings; + HealthFactorsSettings: HealthFactorsSettings; +} +export interface BodyPartsSettings { + Head: BodyPartsSetting; + Chest: BodyPartsSetting; + Stomach: BodyPartsSetting; + LeftArm: BodyPartsSetting; + RightArm: BodyPartsSetting; + LeftLeg: BodyPartsSetting; + RightLeg: BodyPartsSetting; +} +export interface BodyPartsSetting { + Minimum: number; + Maximum: number; + Default: number; + OverDamageReceivedMultiplier: number; +} +export interface HealthFactorsSettings { + Energy: HealthFactorSetting; + Hydration: HealthFactorSetting; + Temperature: HealthFactorSetting; + Poisoning: HealthFactorSetting; + Radiation: HealthFactorSetting; +} +export interface HealthFactorSetting { + Minimum: number; + Maximum: number; + Default: number; +} +export interface Rating { + levelRequired: number; + limit: number; + categories: Categories; +} +export interface Categories { + experience: boolean; + kd: boolean; + surviveRatio: boolean; + avgEarnings: boolean; + kills: boolean; + raidCount: boolean; + longestShot: boolean; + timeOnline: boolean; + inventoryFullCost: boolean; + ragFairStanding: boolean; +} +export interface Tournament { + categories: Categories2; + limit: number; + levelRequired: number; +} +export interface Categories2 { + dogtags: boolean; +} +export interface RagFair { + enabled: boolean; + priceStabilizerEnabled: boolean; + includePveTraderSales: boolean; + priceStabilizerStartIntervalInHours: number; + minUserLevel: number; + communityTax: number; + communityItemTax: number; + communityRequirementTax: number; + offerPriorityCost: number; + offerDurationTimeInHour: number; + offerDurationTimeInHourAfterRemove: number; + priorityTimeModifier: number; + maxRenewOfferTimeInHour: number; + renewPricePerHour: number; + maxActiveOfferCount: MaxActiveOfferCount[]; + balancerRemovePriceCoefficient: number; + balancerMinPriceCount: number; + balancerAveragePriceCoefficient: number; + delaySinceOfferAdd: number; + uniqueBuyerTimeoutInDays: number; + ratingSumForIncrease: number; + ratingIncreaseCount: number; + ratingSumForDecrease: number; + ratingDecreaseCount: number; + maxSumForIncreaseRatingPerOneSale: number; + maxSumForDecreaseRatingPerOneSale: number; + maxSumForRarity: MaxSumForRarity; + ChangePriceCoef: number; + balancerUserItemSaleCooldownEnabled: boolean; + balancerUserItemSaleCooldown: number; + youSellOfferMaxStorageTimeInHour: number; + yourOfferDidNotSellMaxStorageTimeInHour: number; + isOnlyFoundInRaidAllowed: boolean; + sellInOnePiece: number; +} +export interface MaxActiveOfferCount { + from: number; + to: number; + count: number; +} +export interface MaxSumForRarity { + Common: RarityMaxSum; + Rare: RarityMaxSum; + Superrare: RarityMaxSum; + Not_exist: RarityMaxSum; +} +export interface RarityMaxSum { + value: number; +} +export interface Handbook { + defaultCategory: string; +} +export interface Stamina { + Capacity: number; + SprintDrainRate: number; + BaseRestorationRate: number; + JumpConsumption: number; + GrenadeHighThrow: number; + GrenadeLowThrow: number; + AimDrainRate: number; + AimRangeFinderDrainRate: number; + OxygenCapacity: number; + OxygenRestoration: number; + WalkOverweightLimits: xyz; + BaseOverweightLimits: xyz; + SprintOverweightLimits: xyz; + WalkSpeedOverweightLimits: xyz; + CrouchConsumption: xyz; + WalkConsumption: xyz; + StandupConsumption: xyz; + TransitionSpeed: xyz; + SprintAccelerationLowerLimit: number; + SprintSpeedLowerLimit: number; + SprintSensitivityLowerLimit: number; + AimConsumptionByPose: xyz; + RestorationMultiplierByPose: xyz; + OverweightConsumptionByPose: xyz; + AimingSpeedMultiplier: number; + WalkVisualEffectMultiplier: number; + HandsCapacity: number; + HandsRestoration: number; + ProneConsumption: number; + BaseHoldBreathConsumption: number; + SoundRadius: xyz; + ExhaustedMeleeSpeed: number; + FatigueRestorationRate: number; + FatigueAmountToCreateEffect: number; + ExhaustedMeleeDamageMultiplier: number; + FallDamageMultiplier: number; + SafeHeightOverweight: number; + SitToStandConsumption: number; + StaminaExhaustionCausesJiggle: boolean; + StaminaExhaustionStartsBreathSound: boolean; + StaminaExhaustionRocksCamera: boolean; + HoldBreathStaminaMultiplier: xyz; + PoseLevelIncreaseSpeed: xyz; + PoseLevelDecreaseSpeed: xyz; + PoseLevelConsumptionPerNotch: xyz; +} +export interface StaminaRestoration { + LowerLeftPoint: number; + LowerRightPoint: number; + LeftPlatoPoint: number; + RightPlatoPoint: number; + RightLimit: number; + ZeroValue: number; +} +export interface StaminaDrain { + LowerLeftPoint: number; + LowerRightPoint: number; + LeftPlatoPoint: number; + RightPlatoPoint: number; + RightLimit: number; + ZeroValue: number; +} +export interface RequirementReferences { + Alpinist: Alpinist[]; +} +export interface Alpinist { + Requirement: string; + Id: string; + Count: number; + RequiredSlot: string; + RequirementTip: string; +} +export interface RestrictionsInRaid { + TemplateId: string; + Value: number; +} +export interface Insurance { + MaxStorageTimeInHour: number; +} +export interface SkillsSettings { + SkillProgressRate: number; + WeaponSkillProgressRate: number; + WeaponSkillRecoilBonusPerLevel: number; + HideoutManagement: HideoutManagement; + Crafting: Crafting; + Metabolism: Metabolism; + Immunity: Immunity; + Endurance: Endurance; + Strength: Strength; + Vitality: Vitality; + Health: Health2; + StressResistance: StressResistance; + Throwing: Throwing; + RecoilControl: RecoilControl; + Pistol: WeaponSkills; + Revolver: WeaponSkills; + SMG: any[]; + Assault: WeaponSkills; + Shotgun: WeaponSkills; + Sniper: WeaponSkills; + LMG: any[]; + HMG: any[]; + Launcher: any[]; + AttachedLauncher: any[]; + Melee: any[]; + DMR: WeaponSkills; + BearAssaultoperations: any[]; + BearAuthority: any[]; + BearAksystems: any[]; + BearHeavycaliber: any[]; + BearRawpower: any[]; + UsecArsystems: any[]; + UsecDeepweaponmodding_Settings: any[]; + UsecLongrangeoptics_Settings: any[]; + UsecNegotiations: any[]; + UsecTactics: any[]; + BotReload: any[]; + CovertMovement: CovertMovement; + FieldMedicine: any[]; + Search: Search; + Sniping: any[]; + ProneMovement: any[]; + FirstAid: any[]; + LightVests: ArmorSkills; + HeavyVests: ArmorSkills; + WeaponModding: any[]; + AdvancedModding: any[]; + NightOps: any[]; + SilentOps: any[]; + Lockpicking: any[]; + WeaponTreatment: WeaponTreatment; + MagDrills: MagDrills; + Freetrading: any[]; + Auctions: any[]; + Cleanoperations: any[]; + Barter: any[]; + Shadowconnections: any[]; + Taskperformance: any[]; + Perception: Perception; + Intellect: Intellect; + Attention: Attention; + Charisma: Charisma; + Memory: Memory; + Surgery: Surgery; + AimDrills: AimDrills; + BotSound: any[]; + TroubleShooting: TroubleShooting; +} +export interface ArmorSkills { + WearAmountRepairLVestsReducePerLevel: number; + WearChanceRepairLVestsReduceEliteLevel: number; +} +export interface HideoutManagement { + SkillPointsPerAreaUpgrade: number; + SkillPointsPerCraft: number; + ConsumptionReductionPerLevel: number; + SkillBoostPercent: number; + SkillPointsRate: SkillPointsRate; + EliteSlots: EliteSlots; +} +export interface SkillPointsRate { + Generator: Generator; + AirFilteringUnit: SkillPointRate; + WaterCollector: SkillPointRate; + SolarPower: SkillPointRate; +} +export interface SkillPointRate { + ResourceSpent: number; + PointsGained: number; +} +export interface EliteSlots { + Generator: EliteSlot; + AirFilteringUnit: EliteSlot; + WaterCollector: EliteSlot; + BitcoinFarm: EliteSlot; +} +export interface EliteSlot { + Slots: number; + Container: number; +} +export interface Crafting { + PointsPerCraftingCycle: number; + CraftingCycleHours: number; + PointsPerUniqueCraftCycle: number; + UniqueCraftsPerCycle: number; + CraftTimeReductionPerLevel: number; + ProductionTimeReductionPerLevel: number; + EliteExtraProductions: number; + CraftingPointsToInteligence: number; +} +export interface Metabolism { + HydrationRecoveryRate: number; + EnergyRecoveryRate: number; + IncreasePositiveEffectDurationRate: number; + DecreaseNegativeEffectDurationRate: number; + DecreasePoisonDurationRate: number; +} +export interface Immunity { + ImmunityMiscEffects: number; + ImmunityPoisonBuff: number; + ImmunityPainKiller: number; + HealthNegativeEffect: number; + StimulatorNegativeBuff: number; +} +export interface Endurance { + MovementAction: number; + SprintAction: number; + GainPerFatigueStack: number; +} +export interface Strength { + SprintActionMin: number; + SprintActionMax: number; + MovementActionMin: number; + MovementActionMax: number; + PushUpMin: number; + PushUpMax: number; + FistfightAction: number; + ThrowAction: number; +} +export interface Vitality { + DamageTakenAction: number; + HealthNegativeEffect: number; +} +export interface Health2 { + SkillProgress: number; +} +export interface StressResistance { + HealthNegativeEffect: number; + LowHPDuration: number; +} +export interface Throwing { + ThrowAction: number; +} +export interface RecoilControl { + RecoilAction: number; + RecoilBonusPerLevel: number; +} +export interface WeaponSkills { + WeaponReloadAction: number; + WeaponShotAction: number; + WeaponFixAction: number; + WeaponChamberAction: number; +} +export interface CovertMovement { + MovementAction: number; +} +export interface Search { + SearchAction: number; + FindAction: number; +} +export interface WeaponTreatment { + DurLossReducePerLevel: number; + SkillPointsPerRepair: number; + Filter: any[]; + WearAmountRepairGunsReducePerLevel: number; + WearChanceRepairGunsReduceEliteLevel: number; +} +export interface MagDrills { + RaidLoadedAmmoAction: number; + RaidUnloadedAmmoAction: number; + MagazineCheckAction: number; +} +export interface Perception { + OnlineAction: number; + UniqueLoot: number; +} +export interface Intellect { + ExamineAction: number; + SkillProgress: number; + RepairAction: number; + WearAmountReducePerLevel: number; + WearChanceReduceEliteLevel: number; + RepairPointsCostReduction: number; +} +export interface Attention { + ExamineWithInstruction: number; + FindActionFalse: number; + FindActionTrue: number; +} +export interface Charisma { + SkillProgressInt: number; + SkillProgressAtn: number; + SkillProgressPer: number; +} +export interface Memory { + AnySkillUp: number; + SkillProgress: number; +} +export interface Surgery { + SurgeryAction: number; + SkillProgress: number; +} +export interface AimDrills { + WeaponShotAction: number; +} +export interface TroubleShooting { + MalfRepairSpeedBonusPerLevel: number; + SkillPointsPerMalfFix: number; + EliteDurabilityChanceReduceMult: number; + EliteAmmoChanceReduceMult: number; + EliteMagChanceReduceMult: number; +} +export interface Aiming { + ProceduralIntensityByPose: xyz; + AimProceduralIntensity: number; + HeavyWeight: number; + LightWeight: number; + MaxTimeHeavy: number; + MinTimeHeavy: number; + MaxTimeLight: number; + MinTimeLight: number; + RecoilScaling: number; + RecoilDamping: number; + CameraSnapGlobalMult: number; + RecoilXIntensityByPose: xyz; + RecoilYIntensityByPose: xyz; + RecoilZIntensityByPose: xyz; + RecoilCrank: boolean; + RecoilHandDamping: number; + RecoilConvergenceMult: number; + RecoilVertBonus: number; + RecoilBackBonus: number; +} +export interface Malfunction { + AmmoMalfChanceMult: number; + MagazineMalfChanceMult: number; + MalfRepairHardSlideMult: number; + MalfRepairOneHandBrokenMult: number; + MalfRepairTwoHandsBrokenMult: number; + AllowMalfForBots: boolean; + ShowGlowAttemptsCount: number; + OutToIdleSpeedMultForPistol: number; + IdleToOutSpeedMultOnMalf: number; + TimeToQuickdrawPistol: number; + DurRangeToIgnoreMalfs: xyz; + DurFeedWt: number; + DurMisfireWt: number; + DurJamWt: number; + DurSoftSlideWt: number; + DurHardSlideMinWt: number; + DurHardSlideMaxWt: number; + AmmoMisfireWt: number; + AmmoFeedWt: number; + AmmoJamWt: number; + OverheatFeedWt: number; + OverheatJamWt: number; + OverheatSoftSlideWt: number; + OverheatHardSlideMinWt: number; + OverheatHardSlideMaxWt: number; +} +export interface Overheat { + MinOverheat: number; + MaxOverheat: number; + OverheatProblemsStart: number; + ModHeatFactor: number; + ModCoolFactor: number; + MinWearOnOverheat: number; + MaxWearOnOverheat: number; + MinWearOnMaxOverheat: number; + MaxWearOnMaxOverheat: number; + OverheatWearLimit: number; + MaxCOIIncreaseMult: number; + MinMalfChance: number; + MaxMalfChance: number; + DurReduceMinMult: number; + DurReduceMaxMult: number; + BarrelMoveRndDuration: number; + BarrelMoveMaxMult: number; + FireratePitchMult: number; + FirerateReduceMinMult: number; + FirerateReduceMaxMult: number; + FirerateOverheatBorder: number; + EnableSlideOnMaxOverheat: boolean; + StartSlideOverheat: number; + FixSlideOverheat: number; + AutoshotMinOverheat: number; + AutoshotChance: number; + AutoshotPossibilityDuration: number; + MaxOverheatCoolCoef: number; +} +export interface FenceSettings { + FenceId: string; + Levels: Record; + paidExitStandingNumerator: number; +} +export interface FenceLevel { + SavageCooldownModifier: number; + ScavCaseTimeModifier: number; + PaidExitCostModifier: number; + BotFollowChance: number; + ScavEquipmentSpawnChanceModifier: number; + PriceModifier: number; + HostileBosses: boolean; + HostileScavs: boolean; + ScavAttackSupport: boolean; + ExfiltrationPriceModifier: number; + AvailableExits: number; +} +export interface Inertia { + InertiaLimits: xyz; + InertiaLimitsStep: number; + ExitMovementStateSpeedThreshold: xyz; + WalkInertia: xyz; + FallThreshold: number; + SpeedLimitAfterFallMin: xyz; + SpeedLimitAfterFallMax: xyz; + SpeedLimitDurationMin: xyz; + SpeedLimitDurationMax: xyz; + SpeedInertiaAfterJump: xyz; + BaseJumpPenaltyDuration: number; + DurationPower: number; + BaseJumpPenalty: number; + PenaltyPower: number; + InertiaTiltCurveMin: xyz; + InertiaTiltCurveMax: xyz; + InertiaBackwardCoef: xyz; + TiltInertiaMaxSpeed: xyz; + TiltStartSideBackSpeed: xyz; + TiltMaxSideBackSpeed: xyz; + TiltAcceleration: xyz; + AverageRotationFrameSpan: number; + SprintSpeedInertiaCurveMin: xyz; + SprintSpeedInertiaCurveMax: xyz; + SprintBrakeInertia: xyz; + SprintTransitionMotionPreservation: xyz; + WeaponFlipSpeed: xyz; + PreSprintAccelerationLimits: xyz; + SprintAccelerationLimits: xyz; + SideTime: xyz; + DiagonalTime: xyz; + MinDirectionBlendTime: number; + MoveTime: number; + MinMovementAccelerationRangeRight: xyz; + MaxMovementAccelerationRangeRight: xyz; +} +export interface xyz { + x: number; + y: number; + z: number; +} +export interface Ballistic { + GlobalDamageDegradationCoefficient: number; +} +export interface RepairKitSettings { + armorClassDivisor: number; + durabilityPointCostArmor: number; + durabilityPointCostGuns: number; +} +export interface BotPreset { + UseThis: boolean; + Role: string; + BotDifficulty: string; + VisibleAngle: number; + VisibleDistance: number; + ScatteringPerMeter: number; + HearingSense: number; + SCATTERING_DIST_MODIF: number; + MAX_AIMING_UPGRADE_BY_TIME: number; + FIRST_CONTACT_ADD_SEC: number; + COEF_IF_MOVE: number; +} +export interface BotWeaponScattering { + Name: string; + PriorityScatter1meter: number; + PriorityScatter10meter: number; + PriorityScatter100meter: number; +} +export interface Preset { + _id: string; + _type: string; + _changeWeaponName: boolean; + _name: string; + _parent: string; + _items: Item[]; + _encyclopedia?: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocation.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocation.d.ts new file mode 100644 index 0000000..42fac06 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocation.d.ts @@ -0,0 +1,6 @@ +import { ILocationBase } from "./ILocationBase"; +import { ILooseLoot } from "./ILooseLoot"; +export interface ILocation { + base: ILocationBase; + looseLoot: ILooseLoot; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocationBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocationBase.d.ts new file mode 100644 index 0000000..ad48d32 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocationBase.d.ts @@ -0,0 +1,198 @@ +export interface ILocationBase { + AccessKeys: string[]; + AirdropParameters: AirdropParameter[]; + Area: number; + AveragePlayTime: number; + AveragePlayerLevel: number; + Banners: Banner[]; + BossLocationSpawn: BossLocationSpawn[]; + BotAssault: number; + BotEasy: number; + BotHard: number; + BotImpossible: number; + BotLocationModifier: BotLocationModifier; + BotMarksman: number; + BotMax: number; + BotMaxPlayer: number; + BotMaxTimePlayer: number; + BotNormal: number; + BotSpawnTimeOffMax: number; + BotSpawnTimeOffMin: number; + BotSpawnTimeOnMax: number; + BotSpawnTimeOnMin: number; + BotStart: number; + BotStop: number; + Description: string; + DisabledForScav: boolean; + DisabledScavExits: string; + Enabled: boolean; + GlobalLootChanceModifier: number; + IconX: number; + IconY: number; + Id: string; + Insurance: boolean; + IsSecret: boolean; + Locked: boolean; + Loot: any[]; + MaxBotPerZone: number; + MaxDistToFreePoint: number; + MaxPlayers: number; + MinDistToExitPoint: number; + MinDistToFreePoint: number; + MinMaxBots: MinMaxBot[]; + MinPlayers: number; + Name: string; + NewSpawn: boolean; + OcculsionCullingEnabled: boolean; + OldSpawn: boolean; + OpenZones: string; + Preview: Preview; + RequiredPlayerLevel: number; + Rules: string; + SafeLocation: boolean; + Scene: Scene; + SpawnPointParams: SpawnPointParam[]; + UnixDateTime: number; + _Id: string; + doors: any[]; + escape_time_limit: number; + exit_access_time: number; + exit_count: number; + exit_time: number; + exits: Exit[]; + filter_ex: string[]; + limits: ILimit[]; + matching_min_seconds: number; + maxItemCountInLocation: MaxItemCountInLocation[]; + sav_summon_seconds: number; + tmp_location_field_remove_me: number; + users_gather_seconds: number; + users_spawn_seconds_n: number; + users_spawn_seconds_n2: number; + users_summon_seconds: number; + waves: Wave[]; +} +export interface ILimit { + min: number; + max: number; + items: any[]; +} +export interface AirdropParameter { + AirdropPointDeactivateDistance: number; + MinPlayersCountToSpawnAirdrop: number; + PlaneAirdropChance: number; + PlaneAirdropCooldownMax: number; + PlaneAirdropCooldownMin: number; + PlaneAirdropEnd: number; + PlaneAirdropMax: number; + PlaneAirdropStartMax: number; + PlaneAirdropStartMin: number; + UnsuccessfulTryPenalty: number; +} +export interface Banner { + id: string; + pic: Pic; +} +export interface Pic { + path: string; + rcid: string; +} +export interface BossLocationSpawn { + BossChance: number; + BossDifficult: string; + BossEscortAmount: string; + BossEscortDifficult: string; + BossEscortType: string; + BossName: string; + BossPlayer: boolean; + BossZone: string; + Time: number; + TriggerId: string; + TriggerName: string; + Delay?: number; + Supports?: BossSupport[]; +} +export interface BossSupport { + BossEscortAmount: string; + BossEscortDifficult: string[]; + BossEscortType: string; +} +export interface BotLocationModifier { + AccuracySpeed: number; + DistToActivate: number; + DistToPersueAxemanCoef: number; + DistToSleep: number; + GainSight: number; + KhorovodChance: number; + MagnetPower: number; + MarksmanAccuratyCoef: number; + Scattering: number; + VisibleDistance: number; +} +export interface MinMaxBot { + WildSpawnType: string; + max: number; + min: number; +} +export interface Preview { + path: string; + rcid: string; +} +export interface Scene { + path: string; + rcid: string; +} +export interface SpawnPointParam { + BotZoneName: string; + Categories: string[]; + ColliderParams: ColliderParams; + DelayToCanSpawnSec: number; + Id: string; + Infiltration: string; + Position: xyz; + Rotation: number; + Sides: string[]; +} +export interface ColliderParams { + _parent: string; + _props: Props; +} +export interface Props { + Center: xyz; + Radius: number; +} +export interface xyz { + x: number; + y: number; + z: number; +} +export interface Exit { + Chance: number; + Count: number; + EntryPoints: string; + ExfiltrationTime: number; + ExfiltrationType: string; + Id: string; + MaxTime: number; + MinTime: number; + Name: string; + PassageRequirement: string; + PlayersCount: number; + RequirementTip: string; +} +export interface MaxItemCountInLocation { + TemplateId: string; + Value: number; +} +export interface Wave { + BotPreset: string; + BotSide: string; + SpawnPoints: string; + WildSpawnType: string; + isPlayers: boolean; + number: number; + slots_max: number; + slots_min: number; + time_max: number; + time_min: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocationsSourceDestinationBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocationsSourceDestinationBase.d.ts new file mode 100644 index 0000000..7f8d915 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILocationsSourceDestinationBase.d.ts @@ -0,0 +1,9 @@ +import { ILocations } from "../../spt/server/ILocations"; +export interface ILocationsGenerateAllResponse { + locations: ILocations; + paths: Path[]; +} +export interface Path { + Source: string; + Destination: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILooseLoot.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILooseLoot.d.ts new file mode 100644 index 0000000..14b795e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/ILooseLoot.d.ts @@ -0,0 +1,45 @@ +export interface ILooseLoot { + spawnpointCount: SpawnpointCount; + spawnpointsForced: SpawnpointsForced[]; + spawnpoints: Spawnpoint[]; +} +export interface SpawnpointCount { + mean: number; + std: number; +} +export interface SpawnpointsForced { + locationId: string; + probability: number; + template: SpawnpointTemplate; +} +export interface SpawnpointTemplate { + Id: string; + IsStatic: boolean; + useGravity: boolean; + randomRotation: boolean; + Position: Xyz; + Rotation: Xyz; + IsGroupPosition: boolean; + GroupPositions: any[]; + Root: any; + Items: Item[]; +} +export interface Item { + _id: string; + _tpl?: string; +} +export interface Spawnpoint { + locationId: string; + probability: number; + template: SpawnpointTemplate; + itemDistribution: ItemDistribution[]; +} +export interface Xyz { + x: number; + y: number; + z: number; +} +export interface ItemDistribution { + tpl: string; + relativeProbability: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/IMetricsTableData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/IMetricsTableData.d.ts new file mode 100644 index 0000000..873ef82 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/IMetricsTableData.d.ts @@ -0,0 +1,7 @@ +export interface IMetricsTableData { + Keys: number[]; + NetProcessingBins: number[]; + RenderBins: number[]; + GameUpdateBins: number[]; + MemoryMeasureInterval: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/IPmcData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/IPmcData.d.ts new file mode 100644 index 0000000..adc2aa5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/IPmcData.d.ts @@ -0,0 +1,341 @@ +import { IRagfairOffer } from "../ragfair/IRagfairOffer"; +import { IPmcDataRepeatableQuest } from "./tables/IRepeatableQuests"; +import { Item, Upd } from "./tables/IItem"; +import { HideoutAreas } from "../../enums/HideoutAreas"; +import { MemberCategory } from "../../enums/MemberCategory"; +export interface IPmcData { + _id: string; + aid: string; + savage: string; + Info: Info; + Customization: Customization; + Health: Health; + Inventory: Inventory; + Skills: Skills; + Stats: Stats; + Encyclopedia: Record; + ConditionCounters: ConditionCounters; + BackendCounters: Record; + InsuredItems: InsuredItem[]; + Hideout: Hideout; + Bonuses: Bonus[]; + Notes: Notes; + Quests: Quest[]; + TradersInfo: Record; + RagfairInfo: RagfairInfo; + WishList: string[]; + RepeatableQuests: IPmcDataRepeatableQuest[]; + CarExtractCounts: CarExtractCounts; + SurvivorClass: SurvivorClass; +} +export declare enum SurvivorClass { + Unknown = 0, + Neutralizer = 1, + Marauder = 2, + Paramedic = 3, + Survivor = 4 +} +export interface Info { + EntryPoint: string; + Nickname: string; + LowerNickname: string; + Side: string; + Voice: string; + Level: number; + Experience: number; + RegistrationDate: number; + GameVersion: string; + AccountType: number; + MemberCategory: MemberCategory; + lockedMoveCommands: boolean; + SavageLockTime: number; + LastTimePlayedAsSavage: number; + Settings: Settings; + NicknameChangeDate: number; + IsStreamerModeAvailable: boolean; + Bans: IBan[]; + BannedState: boolean; + BannedUntil: number; +} +export interface Settings { + Role: string; + BotDifficulty: string; + Experience: number; + StandingForKill: number; + AggressorBonus: number; +} +export interface IBan { + type: BanType; + dateTime: number; +} +export declare enum BanType { + Chat = 0, + RagFair = 1, + Voip = 2, + Trading = 3, + Online = 4, + Friends = 5, + ChangeNickname = 6 +} +export interface Notes { + Notes: Note[]; +} +export interface Note { + Time: number; + Text: string; +} +export interface Customization { + Head: string; + Body: string; + Feet: string; + Hands: string; +} +export interface Health { + Hydration: CurrentMax; + Energy: CurrentMax; + Temperature: CurrentMax; + BodyParts: BodyPartsHealth; + UpdateTime: number; +} +export interface BodyPartsHealth { + Head: BodyPartHealth; + Chest: BodyPartHealth; + Stomach: BodyPartHealth; + LeftArm: BodyPartHealth; + RightArm: BodyPartHealth; + LeftLeg: BodyPartHealth; + RightLeg: BodyPartHealth; +} +export interface BodyPartHealth { + Health: CurrentMax; + Effects?: Record; +} +export interface CurrentMax { + Current: number; + Maximum: number; +} +export interface Inventory { + items: Item[]; + equipment: string; + stash: string; + sortingTable: string; + questRaidItems: string; + questStashItems: string; + fastPanel: FastPanel; +} +export interface FastPanel { +} +export interface Skills { + Common: Common[]; + Mastering: Mastering[]; + Bonuses?: any[]; + Points: number; +} +export interface Common { + Id: string; + Progress: number; + PointsEarnedDuringSession: number; + LastAccess: number; +} +export interface Mastering { + Id: string; + Progress: number; +} +export interface Stats { + CarriedQuestItems: string[]; + Victims: Victim[]; + TotalSessionExperience: number; + LastSessionDate: number; + SessionCounters: SessionCounters; + OverallCounters: OverallCounters; + SessionExperienceMult?: number; + ExperienceBonusMult?: number; + Aggressor?: Aggressor; + DroppedItems?: IDroppedItem[]; + FoundInRaidItems?: FoundInRaidItem[]; + DamageHistory?: DamageHistory; + DeathCause?: DeathCause; + LastPlayerState?: LastPlayerState; + TotalInGameTime: number; + SurvivorClass?: string; +} +export interface IDroppedItem { + QuestId: string; + ItemId: string; + ZoneId: string; +} +export interface FoundInRaidItem { + QuestId: string; + ItemId: string; +} +export interface Victim { + AccountId: string; + ProfileId: string; + Name: string; + Side: string; + BodyPart: string; + Time: string; + Distance: number; + Level: number; + Weapon: string; + Role: string; +} +export interface SessionCounters { + Items: CounterKeyValue[]; +} +export interface OverallCounters { + Items: CounterKeyValue[]; +} +export interface CounterKeyValue { + Key: string[]; + Value: number; +} +export interface Aggressor { + AccountId: string; + ProfileId: string; + MainProfileNickname: string; + Name: string; + Side: string; + BodyPart: string; + HeadSegment: string; + WeaponName: string; + Category: string; +} +export interface DamageHistory { + LethalDamagePart: string; + LethalDamage: LethalDamage; + BodyParts: BodyPartsDamageHistory; +} +export interface LethalDamage { + Amount: number; + Type: string; + SourceId: string; + OverDamageFrom: string; + Blunt: boolean; + ImpactsCount: number; +} +export interface BodyPartsDamageHistory { + Head: DamageStats[]; + Chest: DamageStats[]; + Stomach: DamageStats[]; + LeftArm: DamageStats[]; + RightArm: DamageStats[]; + LeftLeg: DamageStats[]; + RightLeg: DamageStats[]; + Common: DamageStats[]; +} +export interface DamageStats { + Amount: number; + Type: string; + SourceId: string; + OverDamageFrom: string; + Blunt: boolean; + ImpactsCount: number; +} +export interface DeathCause { + DamageType: string; + Side: string; + Role: string; + WeaponId: string; +} +export interface LastPlayerState { + Info: LastPlayerStateInfo; + Customization: Record; + Equipment: any; +} +export interface LastPlayerStateInfo { + Nickname: string; + Side: string; + Level: number; + MemberCategory: string; +} +export interface ConditionCounters { + Counters: Counter[]; +} +export interface Counter { + id: string; + value: number; + qid: string; +} +export interface BackendCounter { + id: string; + qid?: string; + value: number; +} +export interface InsuredItem { + tid: string; + itemId: string; +} +export interface Hideout { + Production: Record; + Areas: HideoutArea[]; +} +export interface Productive { + Products: Product[]; + Progress?: number; + inProgress?: boolean; + StartTimestamp?: number; +} +export interface Product { + _id: string; + _tpl: string; + upd?: Upd; +} +export interface ScavCase extends Productive { +} +export interface Production extends Productive { + RecipeId: string; + SkipTime: number; + ProductionTime: number; +} +export interface HideoutArea { + type: HideoutAreas; + level: number; + active: boolean; + passiveBonusesEnabled: boolean; + completeTime: number; + constructing: boolean; + slots: HideoutSlot[]; + lastRecipe: string; +} +export interface HideoutSlot { + item: HideoutItem[]; +} +export interface HideoutItem { + _id: string; + _tpl: string; + upd?: Upd; +} +export interface Bonus { + type: string; + templateId?: string; + passive?: boolean; + production?: boolean; + visible?: boolean; + value?: number; + icon?: string; +} +export interface Quest { + qid: string; + startTime: number; + status: string; + statusTimers?: StatusTimer; + completedConditions?: string[]; +} +export interface StatusTimer { + AvailableForStart?: number; +} +export interface TraderInfo { + loyaltyLevel: number; + salesSum: number; + standing: number; + nextResupply: number; + unlocked: boolean; +} +export interface RagfairInfo { + rating: number; + isRatingGrowing: boolean; + offers: IRagfairOffer[]; +} +export interface CarExtractCounts { +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/request/IBaseInteractionRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/request/IBaseInteractionRequestData.d.ts new file mode 100644 index 0000000..7303275 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/request/IBaseInteractionRequestData.d.ts @@ -0,0 +1,9 @@ +export interface IBaseInteractionRequestData { + Action: string; + fromOwner?: OwnerInfo; + toOwner?: OwnerInfo; +} +export interface OwnerInfo { + id: string; + type: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotBase.d.ts new file mode 100644 index 0000000..677fd49 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotBase.d.ts @@ -0,0 +1,101 @@ +import { BackendCounter, Bonus } from "../IPmcData"; +import { Item } from "./IItem"; +export interface IBotBase { + _id: string; + aid: string; + savage: any; + Info: Info; + Customization: Customization; + Health: Health; + Inventory: Inventory; + Skills: Skills; + Stats: Stats; + Encyclopedia: any; + ConditionCounters: ConditionCounters; + BackendCounters: Record; + InsuredItems: any[]; + Hideout: Hideout; + Bonuses: Bonus[]; +} +export interface Info { + Nickname: string; + LowerNickname: string; + Side: string; + Voice: string; + Level: number; + Experience: number; + RegistrationDate: number; + GameVersion: string; + AccountType: number; + MemberCategory: number; + lockedMoveCommands: boolean; + SavageLockTime: number; + LastTimePlayedAsSavage: number; + Settings: Settings; + NicknameChangeDate: number; + NeedWipeOptions: any[]; + lastCompletedWipe: any; + BannedState: boolean; + BannedUntil: number; + IsStreamerModeAvailable: boolean; +} +export interface Settings { + Role: string; + BotDifficulty: string; + Experience: number; + StandingForKill: number; + AggressorBonus: number; +} +export interface Customization { + Head: string; + Body: string; + Feet: string; + Hands: string; +} +export interface Health { +} +export interface Inventory { + items: Item[]; + equipment: string; + stash: string; + sortingTable: string; + questRaidItems: string; + questStashItems: string; + fastPanel: FastPanel; +} +export interface FastPanel { +} +export interface Skills { + Common: any[]; + Mastering: any[]; + Points: number; +} +export interface Stats { + SessionCounters: SessionCounters; + OverallCounters: OverallCounters; +} +export interface SessionCounters { + Items: any[]; +} +export interface OverallCounters { + Items: any[]; +} +export interface ConditionCounters { + Counters: any[]; +} +export interface Hideout { + Production: Production; + Areas: Area[]; +} +export interface Production { +} +export interface Area { + type: number; + level: number; + active: boolean; + passiveBonusesEnabled: boolean; + completeTime: number; + constructing: boolean; + slots: any[]; + lastRecipe: any; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotCore.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotCore.d.ts new file mode 100644 index 0000000..16a782d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotCore.d.ts @@ -0,0 +1,133 @@ +export interface IBotCore { + SAVAGE_KILL_DIST: number; + SOUND_DOOR_BREACH_METERS: number; + SOUND_DOOR_OPEN_METERS: number; + STEP_NOISE_DELTA: number; + JUMP_NOISE_DELTA: number; + GUNSHOT_SPREAD: number; + GUNSHOT_SPREAD_SILENCE: number; + BASE_WALK_SPEREAD2: number; + MOVE_SPEED_COEF_MAX: number; + SPEED_SERV_SOUND_COEF_A: number; + SPEED_SERV_SOUND_COEF_B: number; + G: number; + STAY_COEF: number; + SIT_COEF: number; + LAY_COEF: number; + MAX_ITERATIONS: number; + START_DIST_TO_COV: number; + MAX_DIST_TO_COV: number; + STAY_HEIGHT: number; + CLOSE_POINTS: number; + COUNT_TURNS: number; + SIMPLE_POINT_LIFE_TIME_SEC: number; + DANGER_POINT_LIFE_TIME_SEC: number; + DANGER_POWER: number; + COVER_DIST_CLOSE: number; + GOOD_DIST_TO_POINT: number; + COVER_TOOFAR_FROM_BOSS: number; + COVER_TOOFAR_FROM_BOSS_SQRT: number; + MAX_Y_DIFF_TO_PROTECT: number; + FLARE_POWER: number; + MOVE_COEF: number; + PRONE_POSE: number; + LOWER_POSE: number; + MAX_POSE: number; + FLARE_TIME: number; + MAX_REQUESTS__PER_GROUP: number; + UPDATE_GOAL_TIMER_SEC: number; + DIST_NOT_TO_GROUP: number; + DIST_NOT_TO_GROUP_SQR: number; + LAST_SEEN_POS_LIFETIME: number; + DELTA_GRENADE_START_TIME: number; + DELTA_GRENADE_END_TIME: number; + DELTA_GRENADE_RUN_DIST: number; + DELTA_GRENADE_RUN_DIST_SQRT: number; + PATROL_MIN_LIGHT_DIST: number; + HOLD_MIN_LIGHT_DIST: number; + STANDART_BOT_PAUSE_DOOR: number; + ARMOR_CLASS_COEF: number; + SHOTGUN_POWER: number; + RIFLE_POWER: number; + PISTOL_POWER: number; + SMG_POWER: number; + SNIPE_POWER: number; + GESTUS_PERIOD_SEC: number; + GESTUS_AIMING_DELAY: number; + GESTUS_REQUEST_LIFETIME: number; + GESTUS_FIRST_STAGE_MAX_TIME: number; + GESTUS_SECOND_STAGE_MAX_TIME: number; + GESTUS_MAX_ANSWERS: number; + GESTUS_FUCK_TO_SHOOT: number; + GESTUS_DIST_ANSWERS: number; + GESTUS_DIST_ANSWERS_SQRT: number; + GESTUS_ANYWAY_CHANCE: number; + TALK_DELAY: number; + CAN_SHOOT_TO_HEAD: boolean; + CAN_TILT: boolean; + TILT_CHANCE: number; + MIN_BLOCK_DIST: number; + MIN_BLOCK_TIME: number; + COVER_SECONDS_AFTER_LOSE_VISION: number; + MIN_ARG_COEF: number; + MAX_ARG_COEF: number; + DEAD_AGR_DIST: number; + MAX_DANGER_CARE_DIST_SQRT: number; + MAX_DANGER_CARE_DIST: number; + MIN_MAX_PERSON_SEARCH: number; + PERCENT_PERSON_SEARCH: number; + LOOK_ANYSIDE_BY_WALL_SEC_OF_ENEMY: number; + CLOSE_TO_WALL_ROTATE_BY_WALL_SQRT: number; + SHOOT_TO_CHANGE_RND_PART_MIN: number; + SHOOT_TO_CHANGE_RND_PART_MAX: number; + SHOOT_TO_CHANGE_RND_PART_DELTA: number; + FORMUL_COEF_DELTA_DIST: number; + FORMUL_COEF_DELTA_SHOOT: number; + FORMUL_COEF_DELTA_FRIEND_COVER: number; + SUSPETION_POINT_DIST_CHECK: number; + MAX_BASE_REQUESTS_PER_PLAYER: number; + MAX_HOLD_REQUESTS_PER_PLAYER: number; + MAX_GO_TO_REQUESTS_PER_PLAYER: number; + MAX_COME_WITH_ME_REQUESTS_PER_PLAYER: number; + CORE_POINT_MAX_VALUE: number; + CORE_POINTS_MAX: number; + CORE_POINTS_MIN: number; + BORN_POISTS_FREE_ONLY_FAREST_BOT: boolean; + BORN_POINSTS_FREE_ONLY_FAREST_PLAYER: boolean; + SCAV_GROUPS_TOGETHER: boolean; + LAY_DOWN_ANG_SHOOT: number; + HOLD_REQUEST_TIME_SEC: number; + TRIGGERS_DOWN_TO_RUN_WHEN_MOVE: number; + MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING: number; + MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING_OTHER_ENEMIS: number; + MIN_DIST_TO_STOP_RUN: number; + JUMP_SPREAD_DIST: number; + LOOK_TIMES_TO_KILL: number; + COME_INSIDE_TIMES: number; + TOTAL_TIME_KILL: number; + TOTAL_TIME_KILL_AFTER_WARN: number; + MOVING_AIM_COEF: number; + VERTICAL_DIST_TO_IGNORE_SOUND: number; + DEFENCE_LEVEL_SHIFT: number; + MIN_DIST_CLOSE_DEF: number; + USE_ID_PRIOR_WHO_GO: boolean; + SMOKE_GRENADE_RADIUS_COEF: number; + GRENADE_PRECISION: number; + MAX_WARNS_BEFORE_KILL: number; + CARE_ENEMY_ONLY_TIME: number; + MIDDLE_POINT_COEF: number; + MAIN_TACTIC_ONLY_ATTACK: boolean; + LAST_DAMAGE_ACTIVE: number; + SHALL_DIE_IF_NOT_INITED: boolean; + CHECK_BOT_INIT_TIME_SEC: number; + WEAPON_ROOT_Y_OFFSET: number; + DELTA_SUPRESS_DISTANCE_SQRT: number; + DELTA_SUPRESS_DISTANCE: number; + WAVE_COEF_LOW: number; + WAVE_COEF_MID: number; + WAVE_COEF_HIGH: number; + WAVE_COEF_HORDE: number; + WAVE_ONLY_AS_ONLINE: boolean; + LOCAL_BOTS_COUNT: number; + AXE_MAN_KILLS_END: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotType.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotType.d.ts new file mode 100644 index 0000000..01be0be --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IBotType.d.ts @@ -0,0 +1,176 @@ +export interface IBotType { + appearance: Appearance; + chances: Chances; + difficulty: Difficulties; + experience: Experience; + firstName: string[]; + generation: Generation; + health: Health; + inventory: Inventory; + lastName: string[]; + skills: Skills; +} +export interface Appearance { + body: string[]; + feet: string[]; + hands: string[]; + head: string[]; + voice: string[]; +} +export interface Chances { + equipment: EquipmentChances; + mods: ModsChances; +} +export interface EquipmentChances { + ArmBand: number; + ArmorVest: number; + Backpack: number; + Earpiece: number; + Eyewear: number; + FaceCover: number; + FirstPrimaryWeapon: number; + Headwear: number; + Holster: number; + Pockets: number; + Scabbard: number; + SecondPrimaryWeapon: number; + SecuredContainer: number; + TacticalVest: number; +} +export interface ModsChances { + mod_charge: number; + mod_equipment: number; + mod_equipment_000: number; + mod_equipment_001: number; + mod_equipment_002: number; + mod_flashlight: number; + mod_foregrip: number; + mod_launcher: number; + mod_magazine: number; + mod_mount: number; + mod_mount_000: number; + mod_mount_001: number; + mod_muzzle: number; + mod_nvg: number; + mod_pistol_grip: number; + mod_reciever: number; + mod_scope: number; + mod_sight_front: number; + mod_sight_rear: number; + mod_stock: number; + mod_stock_000: number; + mod_stock_akms: number; + mod_tactical: number; + mod_tactical_000: number; + mod_tactical_001: number; + mod_tactical_002: number; + mod_tactical_003: number; +} +export interface Difficulties { + easy: Difficulty; + normal: Difficulty; + hard: Difficulty; + impossible: Difficulty; +} +export interface Difficulty { + Aiming: Record; + Boss: Record; + Change: Record; + Core: Record; + Cover: Record; + Grenade: Record; + Hearing: Record; + Lay: Record; + Look: Record; + Mind: Record; + Move: Record; + Patrol: Record; + Scattering: Record; + Shoot: Record; +} +export interface Experience { + aggressorBonus: number; + level: MinMax; + reward: MinMax; + standingForKill: number; +} +export interface Generation { + items: ItemMinMax; +} +export interface ItemMinMax { + grenades: MinMax; + healing: MinMax; + drugs: MinMax; + stims: MinMax; + looseLoot: MinMax; + magazines: MinMax; + specialItems: MinMax; +} +export interface Health { + BodyParts: BodyPart[]; + Energy: MinMax; + Hydration: MinMax; + Temperature: MinMax; +} +export interface BodyPart { + Chest: MinMax; + Head: MinMax; + LeftArm: MinMax; + LeftLeg: MinMax; + RightArm: MinMax; + RightLeg: MinMax; + Stomach: MinMax; +} +export interface MinMax { + max: number; + min: number; +} +export interface Inventory { + equipment: Equipment; + items: Items; + mods: Mods; +} +export interface Equipment { + ArmBand: Record; + ArmorVest: Record; + Backpack: Record; + Earpiece: Record; + Eyewear: Record; + FaceCover: Record; + FirstPrimaryWeapon: Record; + Headwear: Record; + Holster: Record; + Pockets: Record; + Scabbard: Record; + SecondPrimaryWeapon: Record; + SecuredContainer: Record; + TacticalVest: Record; +} +export interface Items { + Backpack: string[]; + Pockets: string[]; + SecuredContainer: string[]; + SpecialLoot: string[]; + TacticalVest: string[]; +} +export declare type Mods = Record>; +export interface Skills { + Common: Common[]; + Bonuses?: any; + Mastering: Mastering[]; + Points: number; +} +export interface Mastering { + Id: string; + Progress: number; + max?: number; + min?: number; +} +export interface Common { + Id: string; + Progress: number; + PointsEarnedDuringSession?: number; + LastAccess?: number; + max?: number; + min?: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ICustomizationItem.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ICustomizationItem.d.ts new file mode 100644 index 0000000..8bfeece --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ICustomizationItem.d.ts @@ -0,0 +1,33 @@ +export interface ICustomizationItem { + _id: string; + _name: string; + _parent: string; + _type: string; + _props: Props; + _proto: string; +} +export interface Props { + Name: string; + ShortName: string; + Description: string; + Side: string[]; + BodyPart: string; + AvailableAsDefault?: boolean; + Body: string; + Hands: string; + Feet: string; + Prefab: Prefab; + WatchPrefab: Prefab; + IntegratedArmorVest: boolean; + WatchPosition: Xyz; + WatchRotation: Xyz; +} +export interface Prefab { + path: string; + rcid: string; +} +export interface Xyz { + x: number; + y: number; + z: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IHandbookBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IHandbookBase.d.ts new file mode 100644 index 0000000..7d7db07 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IHandbookBase.d.ts @@ -0,0 +1,16 @@ +export interface IHandbookBase { + Categories: Category[]; + Items: HandbookItem[]; +} +export interface Category { + Id: string; + ParentId?: string; + Icon: string; + Color: string; + Order: string; +} +export interface HandbookItem { + Id: string; + ParentId: string; + Price: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IItem.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IItem.d.ts new file mode 100644 index 0000000..2dd2c03 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IItem.d.ts @@ -0,0 +1,108 @@ +export interface Item { + _id: string; + _tpl: string; + parentId?: string; + slotId?: string; + location?: Location | number; + upd?: Upd; +} +export interface Upd { + OriginalStackObjectsCount?: number; + Togglable?: Togglable; + Map?: Map; + Tag?: Tag; + sptPresetId?: string; + FaceShield?: FaceShield; + StackObjectsCount?: number; + UnlimitedCount?: boolean; + Repairable?: Repairable; + FireMode?: FireMode; + SpawnedInSession?: boolean; + Light?: Light; + Key?: Key; + Resource?: Resource; + Sight?: Sight; + MedKit?: MedKit; + FoodDrink?: FoodDrink; + Dogtag?: Dogtag; + BuyRestrictionMax?: number; + BuyRestrictionCurrent?: number; + Foldable?: Foldable; + SideEffect?: SideEffect; + RepairKit?: RepairKit; +} +export interface Togglable { + On: boolean; +} +export interface Map { + Markers: MapMarker[]; +} +export interface MapMarker { + X: number; + Y: number; +} +export interface Tag { + Color: number; + Name: string; +} +export interface FaceShield { + Hits: number; +} +export interface Repairable { + Durability: number; + MaxDurability: number; +} +export interface MedKit { + HpResource: number; +} +export interface Sight { + ScopesCurrentCalibPointIndexes: number[]; + ScopesSelectedModes: number[]; + SelectedScope: number; +} +export interface Foldable { + Folded: boolean; +} +export interface FireMode { + FireMode: string; +} +export interface FoodDrink { + HpPercent: number; +} +export interface Key { + NumberOfUsages: number; +} +export interface Resource { + Value: number; + UnitsConsumed: number; +} +export interface Light { + IsActive: boolean; + SelectedMode: number; +} +export interface Dogtag { + AccountId: string; + ProfileId: string; + Nickname: string; + Side: string; + Level: number; + Time: string; + Status: string; + KillerAccountId: string; + KillerProfileId: string; + KillerName: string; + WeaponName: string; +} +export interface Location { + x: number; + y: number; + r: string | number; + isSearched?: boolean; + rotation?: string; +} +export interface SideEffect { + Value: number; +} +export interface RepairKit { + Resource: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ILocationsBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ILocationsBase.d.ts new file mode 100644 index 0000000..2c96af3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ILocationsBase.d.ts @@ -0,0 +1,10 @@ +export interface ILocationsBase { + locations: Locations; + paths: Path[]; +} +export interface Locations { +} +export interface Path { + Source: string; + Destination: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ILootBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ILootBase.d.ts new file mode 100644 index 0000000..e4baac5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ILootBase.d.ts @@ -0,0 +1,64 @@ +import { Item } from "./IItem"; +export interface ILootBase { + staticAmmo: Record; + staticContainers: Record; + staticLoot: Record; +} +export interface IStaticAmmoDetails { + tpl: string; + relativeProbability: number; +} +export interface IStaticContainerDetails { + staticWeapons: IStaticWeaponProps[]; + staticContainers: IStaticContainerProps[]; + staticForced: IStaticForcedProps[]; +} +export interface IStaticWeaponProps { + Id: string; + IsStatic: boolean; + useGravity: boolean; + randomRotation: boolean; + Position: Xyz; + Rotation: Xyz; + IsGroupPosition: boolean; + GroupPositions: any[]; + Root: string; + Items: Item[]; +} +export interface IStaticContainerProps { + Id: string; + IsStatic: boolean; + useGravity: boolean; + randomRotation: boolean; + Position: Xyz; + Rotation: Xyz; + IsGroupPosition: boolean; + GroupPositions: any[]; + Root: any; + Items: StaticItem[]; +} +export interface Xyz { + x: number; + y: number; + z: number; +} +export interface StaticItem { + _id: any; + _tpl: string; +} +export interface IStaticForcedProps { + containerId: string; + itemTpl: string; +} +export interface IStaticLootDetails { + itemcountDistribution: ItemCountDistribution[]; + itemDistribution: ItemDistribution[]; +} +export interface ItemCountDistribution { + count: number; + relativeProbability: number; +} +export interface ItemDistribution { + tpl: string; + relativeProbability: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IMatch.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IMatch.d.ts new file mode 100644 index 0000000..c30cb48 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IMatch.d.ts @@ -0,0 +1,10 @@ +export interface IMatch { + metrics: Metrics; +} +export interface Metrics { + Keys: number[]; + NetProcessingBins: number[]; + RenderBins: number[]; + GameUpdateBins: number[]; + MemoryMeasureInterval: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IQuest.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IQuest.d.ts new file mode 100644 index 0000000..e1fc888 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IQuest.d.ts @@ -0,0 +1,110 @@ +import { Item } from "./IItem"; +export interface IQuest { + QuestName: string; + _id: string; + canShowNotificationsInGame: boolean; + conditions: Conditions; + description: string; + failMessageText: string; + name: string; + note: string; + traderId: string; + location: string; + image: string; + type: string; + isKey: boolean; + restartable: boolean; + instantComplete: boolean; + secretQuest: boolean; + startedMessageText: string; + successMessageText: string; + templateId: string; + rewards: Rewards; + status: string; + KeyQuest: boolean; + changeQuestMessageText: string; +} +export interface Conditions { + Started: AvailableForConditions[]; + AvailableForFinish: AvailableForConditions[]; + AvailableForStart: AvailableForConditions[]; + Success: AvailableForConditions[]; + Fail: AvailableForConditions[]; +} +export interface AvailableForConditions { + _parent: string; + _props: AvailableForProps; + dynamicLocale: boolean; +} +export interface AvailableForProps { + id: string; + index: number; + parentId: string; + dynamicLocale: boolean; + value?: number; + compareMethod?: string; + visibilityConditions?: VisibilityCondition[]; + target?: string | string[]; + status?: number[]; + onlyFoundInRaid?: boolean; + oneSessionOnly?: boolean; + doNotResetIfCounterCompleted?: boolean; + dogtagLevel?: number; + maxDurability?: number; + minDurability?: number; + counter?: AvailableForCounter; + plantTime?: number; + zoneId?: string; + type?: boolean; +} +export interface AvailableForCounter { + id: string; + conditions: CounterCondition[]; +} +export interface CounterCondition { + _parent: string; + _props: CounterProps; +} +export interface CounterProps { + id: string; + target: string[] | string; + compareMethod?: string; + value?: string; + weapon?: string[]; + equipmentInclusive?: string[][]; + weaponModsInclusive?: string[][]; + status?: string[]; + bodyPart?: string[]; + daytime?: DaytimeCounter; +} +export interface DaytimeCounter { + from: number; + to: number; +} +export interface VisibilityCondition { + id: string; + value: number; + dynamicLocale: boolean; + oneSessionOnly: boolean; +} +export interface Rewards { + AvailableForStart: Reward[]; + AvailableForFinish: Reward[]; + Started: Reward[]; + Success: Reward[]; + Fail: Reward[]; + FailRestartable: Reward[]; + Expired: Reward[]; +} +export interface Reward { + value?: string; + id: string; + type: string; + index: number; + target?: string; + items?: Item[]; + loyaltyLevel?: number; + traderId?: string; + unknown?: boolean; + findInRaid?: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IRepeatableQuests.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IRepeatableQuests.d.ts new file mode 100644 index 0000000..e23ec73 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/IRepeatableQuests.d.ts @@ -0,0 +1,219 @@ +import { Item } from "./IItem"; +export interface IReward { + index: number; + type: string; + value: number; + target?: string; + items?: Item[]; +} +export interface IRepeatableQuestDatabase { + templates: ITemplates; + rewards: IRewardOptions; + data: IOptions; + samples: ISampleQuests[]; +} +export interface ITemplates { + Elimination: IRepeatableQuest; + Completion: IRepeatableQuest; + Exploration: IRepeatableQuest; +} +export interface IPmcDataRepeatableQuest { + id?: string; + name: string; + activeQuests: IRepeatableQuest[]; + inactiveQuests: IRepeatableQuest[]; + endTime: number; + changeRequirement: TChangeRequirementRecord; +} +export declare type TChangeRequirementRecord = Record; +export interface IChangeRequirement { + changeCost: IChangeCost[]; + changeStandingCost: number; +} +export interface IChangeCost { + templateId: string; + count: number; +} +export interface IRepeatableQuest { + _id: any; + traderId: string; + location: any; + image: string; + type: string; + isKey: boolean; + restartable: boolean; + instantComplete: boolean; + secretQuest: boolean; + canShowNotificationsInGame: boolean; + rewards: IRewards; + conditions: IConditions; + name: string; + note: string; + description: string; + successMessageText: string; + failMessageText: string; + startedMessageText: string; + changeQuestMessageText: string; + templateId: string; + changeCost: IChangeCost[]; + changeStandingCost: number; +} +export interface IRewards { + Started: IReward[]; + Success: IReward[]; + Fail: IReward[]; +} +export interface IConditions { + AvailableForStart: any[]; + AvailableForFinish: IAvailableFor[]; + Fail: any[]; +} +export interface IAvailableFor { + _props: IAvailableForProps; + _parent: string; + dynamicLocale: boolean; +} +export interface IAvailableForProps { + id: string; + parentId: string; + dynamicLocale: boolean; + index: number; + visibilityConditions: IVisibilityCondition[]; + value: number; +} +export interface IVisibilityCondition { + id: string; + oneSessionOnly: boolean; + value: number; + index: number; + dynamicLocale: boolean; +} +export interface IAvailableForPropsCounter extends IAvailableForProps { + type: string; + oneSessionOnly: boolean; + doNotResetIfCounterCompleted: boolean; + counter: ICounter; +} +export interface ICounter { + id: string; + conditions: ICondition[]; +} +export interface ICondition { + _props: IConditionProps; + _parent: string; +} +export interface IConditionProps { + id: string; + dynamicLocale: boolean; +} +export interface IElimination extends IRepeatableQuest { + conditions: IEliminationConditions; +} +export interface IEliminationConditions extends IConditions { + AvailableForFinish: IEliminationAvailableFor[]; +} +export interface IEliminationAvailableFor extends IAvailableFor { + _props: IEliminationAvailableForProps; +} +export interface IEliminationAvailableForProps extends IAvailableForPropsCounter { + counter: IEliminationCounter; +} +export interface IEliminationCounter extends ICounter { + conditions: IEliminationCondition[]; +} +export interface IEliminationCondition extends ICondition { + _props: ILocationConditionProps | IKillConditionProps; +} +export interface IExploration extends IRepeatableQuest { + conditions: IExplorationConditions; +} +export interface IExplorationConditions extends IConditions { + AvailableForFinish: IExplorationAvailableFor[]; +} +export interface IExplorationAvailableFor extends IAvailableFor { + _props: IExplorationAvailableForProps; +} +export interface IExplorationAvailableForProps extends IAvailableForPropsCounter { + counter: IExplorationCounter; +} +export interface IExplorationCounter extends ICounter { + conditions: IExplorationCondition[]; +} +export interface IExplorationCondition extends ICondition { + _props: ILocationConditionProps | IExitStatusConditionProps | IExitNameConditionProps; +} +export interface ICompletion extends IRepeatableQuest { + conditions: ICompletionConditions; +} +export interface ICompletionConditions extends IConditions { + AvailableForFinish: ICompletionAvailableFor[]; +} +export interface ICompletionAvailableFor extends IAvailableFor { + _props: ICompletionAvailableForProps; +} +export interface ICompletionAvailableForProps extends IAvailableForProps { + target: string[]; + minDurability: number; + maxDurability: number; + dogtagLevel: number; + onlyFoundInRaid: boolean; +} +export interface ILocationConditionProps extends IConditionProps { + target: string[]; +} +export interface IKillConditionProps extends IConditionProps { + target: string; + value: number; + savageRole?: string[]; + bodyPart?: string[]; + distance?: IDistanceCheck; +} +export interface IDistanceCheck { + compareMethod: string; + value: number; +} +export interface IExitStatusConditionProps extends IConditionProps { + status: string[]; +} +export interface IExitNameConditionProps extends IConditionProps { + exitName: string; +} +export interface IRewardOptions { + itemsBlacklist: string[]; +} +export interface IOptions { + Completion: ICompletionFilter; +} +export interface ICompletionFilter { + itemsBlacklist: ItemsBlacklist[]; + itemsWhitelist: ItemsWhitelist[]; +} +export interface ItemsBlacklist { + minPlayerLevel: number; + itemIds: string[]; +} +export interface ItemsWhitelist { + minPlayerLevel: number; + itemIds: string[]; +} +export interface ISampleQuests { + _id: string; + traderId: string; + location: string; + image: string; + type: string; + isKey: boolean; + restartable: boolean; + instantComplete: boolean; + secretQuest: boolean; + canShowNotificationsInGame: boolean; + rewards: IRewards; + conditions: IConditions; + name: string; + note: string; + description: string; + successMessageText: string; + failMessageText: string; + startedMessageText: string; + templateId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ITemplateItem.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ITemplateItem.d.ts new file mode 100644 index 0000000..934ea7d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ITemplateItem.d.ts @@ -0,0 +1,451 @@ +export interface ITemplateItem { + _id: string; + _name: string; + _parent: string; + _type: string; + _props: Props; + _proto: string; +} +export interface Props { + Name?: string; + ShortName?: string; + Description?: string; + Weight?: number; + BackgroundColor?: string; + Width?: number; + Height?: number; + StackMaxSize?: number; + Rarity?: string; + SpawnChance?: number; + CreditsPrice?: number; + ItemSound?: string; + Prefab?: Prefab; + UsePrefab?: Prefab; + StackObjectsCount?: number; + NotShownInSlot?: boolean; + ExaminedByDefault?: boolean; + ExamineTime?: number; + IsUndiscardable?: boolean; + IsUnsaleable?: boolean; + IsUnbuyable?: boolean; + IsUngivable?: boolean; + IsLockedafterEquip?: boolean; + QuestItem?: boolean; + LootExperience?: number; + ExamineExperience?: number; + HideEntrails?: boolean; + RepairCost?: number; + RepairSpeed?: number; + ExtraSizeLeft?: number; + ExtraSizeRight?: number; + ExtraSizeUp?: number; + ExtraSizeDown?: number; + ExtraSizeForceAdd?: boolean; + MergesWithChildren?: boolean; + CanSellOnRagfair?: boolean; + CanRequireOnRagfair?: boolean; + ConflictingItems?: string[]; + Unlootable?: boolean; + UnlootableFromSlot?: string; + UnlootableFromSide?: string[]; + AnimationVariantsNumber?: number; + DiscardingBlock?: boolean; + RagFairCommissionModifier?: number; + IsAlwaysAvailableForInsurance?: boolean; + DiscardLimit?: number; + MaxResource?: number; + Resource?: number; + DogTagQualities?: boolean; + Grids?: Grid[]; + Slots?: Slot[]; + CanPutIntoDuringTheRaid?: boolean; + CantRemoveFromSlotsDuringRaid?: string[]; + KeyIds?: string[]; + TagColor?: number; + TagName?: string; + Durability?: number; + Accuracy?: number; + Recoil?: number; + Loudness?: number; + EffectiveDistance?: number; + Ergonomics?: number; + Velocity?: number; + RaidModdable?: boolean; + ToolModdable?: boolean; + BlocksFolding?: boolean; + BlocksCollapsible?: boolean; + IsAnimated?: boolean; + HasShoulderContact?: boolean; + SightingRange?: number; + DoubleActionAccuracyPenaltyMult?: number; + ModesCount: any; + DurabilityBurnModificator?: number; + HeatFactor?: number; + CoolFactor?: number; + muzzleModType?: string; + CustomAimPlane?: string; + sightModType?: string; + aimingSensitivity?: number; + SightModesCount?: number; + OpticCalibrationDistances?: number[]; + ScopesCount?: number; + AimSensitivity: any; + Zooms?: number[][]; + CalibrationDistances?: number[][]; + Intensity?: number; + Mask?: string; + MaskSize?: number; + NoiseIntensity?: number; + NoiseScale?: number; + Color?: Color; + DiffuseIntensity?: number; + HasHinge?: boolean; + RampPalette?: string; + DepthFade?: number; + RoughnessCoef?: number; + SpecularCoef?: number; + MainTexColorCoef?: number; + MinimumTemperatureValue?: number; + RampShift?: number; + HeatMin?: number; + ColdMax?: number; + IsNoisy?: boolean; + IsFpsStuck?: boolean; + IsGlitch?: boolean; + IsMotionBlurred?: boolean; + IsPixelated?: boolean; + PixelationBlockCount?: number; + ShiftsAimCamera?: number; + magAnimationIndex?: number; + Cartridges?: Slot[]; + CanFast?: boolean; + CanHit?: boolean; + CanAdmin?: boolean; + LoadUnloadModifier?: number; + CheckTimeModifier?: number; + CheckOverride?: number; + ReloadMagType?: string; + VisibleAmmoRangesString?: string; + MalfunctionChance?: number; + IsShoulderContact?: boolean; + Foldable?: boolean; + Retractable?: boolean; + SizeReduceRight?: number; + CenterOfImpact?: number; + ShotgunDispersion?: number; + IsSilencer?: boolean; + DeviationCurve?: number; + DeviationMax?: number; + SearchSound?: string; + BlocksArmorVest?: boolean; + speedPenaltyPercent?: number; + GridLayoutName?: string; + SpawnFilter?: any[]; + containType?: any[]; + sizeWidth?: number; + sizeHeight?: number; + isSecured?: boolean; + spawnTypes?: string; + lootFilter?: any[]; + spawnRarity?: string; + minCountSpawn?: number; + maxCountSpawn?: number; + openedByKeyID?: any[]; + RigLayoutName?: string; + MaxDurability?: number; + armorZone?: string[]; + armorClass: any; + mousePenalty?: number; + weaponErgonomicPenalty?: number; + BluntThroughput?: number; + ArmorMaterial?: string; + weapClass?: string; + weapUseType?: string; + ammoCaliber?: string; + OperatingResource?: number; + RepairComplexity?: number; + durabSpawnMin?: number; + durabSpawnMax?: number; + isFastReload?: boolean; + RecoilForceUp?: number; + RecoilForceBack?: number; + Convergence?: number; + RecoilAngle?: number; + weapFireType?: string[]; + RecolDispersion?: number; + SingleFireRate?: number; + CanQueueSecondShot?: boolean; + bFirerate?: number; + bEffDist?: number; + bHearDist?: number; + isChamberLoad?: boolean; + chamberAmmoCount?: number; + isBoltCatch?: boolean; + defMagType?: string; + defAmmo?: string; + AdjustCollimatorsToTrajectory?: boolean; + shotgunDispersion?: number; + Chambers?: Slot[]; + CameraRecoil?: number; + CameraSnap?: number; + ReloadMode?: string; + AimPlane?: number; + TacticalReloadStiffnes?: Xyz; + TacticalReloadFixation?: number; + RecoilCenter?: Xyz; + RotationCenter?: Xyz; + RotationCenterNoStock?: Xyz; + FoldedSlot?: string; + CompactHandling?: boolean; + MinRepairDegradation?: number; + MaxRepairDegradation?: number; + IronSightRange?: number; + MustBoltBeOpennedForExternalReload?: boolean; + MustBoltBeOpennedForInternalReload?: boolean; + BoltAction?: boolean; + HipAccuracyRestorationDelay?: number; + HipAccuracyRestorationSpeed?: number; + HipInnaccuracyGain?: number; + ManualBoltCatch?: boolean; + BurstShotsCount?: number; + BaseMalfunctionChance?: number; + AllowJam?: boolean; + AllowFeed?: boolean; + AllowMisfire?: boolean; + AllowSlide?: boolean; + DurabilityBurnRatio?: number; + HeatFactorGun?: number; + CoolFactorGun?: number; + CoolFactorGunMods?: number; + HeatFactorByShot?: number; + AllowOverheat?: boolean; + DoubleActionAccuracyPenalty?: number; + RecoilPosZMult?: number; + MinRepairKitDegradation?: number; + MaxRepairKitDegradation?: number; + BlocksEarpiece?: boolean; + BlocksEyewear?: boolean; + BlocksHeadwear?: boolean; + BlocksFaceCover?: boolean; + Indestructibility?: number; + headSegments?: string[]; + FaceShieldComponent?: boolean; + FaceShieldMask?: string; + MaterialType?: string; + RicochetParams?: Xyz; + DeafStrength?: string; + BlindnessProtection?: number; + Distortion?: number; + CompressorTreshold?: number; + CompressorAttack?: number; + CompressorRelease?: number; + CompressorGain?: number; + CutoffFreq?: number; + Resonance?: number; + CompressorVolume?: number; + AmbientVolume?: number; + DryVolume?: number; + foodUseTime?: number; + foodEffectType?: string; + StimulatorBuffs?: string; + effects_health: any; + effects_damage: any; + MaximumNumberOfUsage?: number; + knifeHitDelay?: number; + knifeHitSlashRate?: number; + knifeHitStabRate?: number; + knifeHitRadius?: number; + knifeHitSlashDam?: number; + knifeHitStabDam?: number; + knifeDurab?: number; + PrimaryDistance?: number; + SecondryDistance?: number; + SlashPenetration?: number; + StabPenetration?: number; + PrimaryConsumption?: number; + SecondryConsumption?: number; + DeflectionConsumption?: number; + AppliedTrunkRotation?: Xyz; + AppliedHeadRotation?: Xyz; + DisplayOnModel?: boolean; + AdditionalAnimationLayer?: number; + StaminaBurnRate?: number; + ColliderScaleMultiplier?: Xyz; + ConfigPathStr?: string; + MaxMarkersCount?: number; + scaleMin?: number; + scaleMax?: number; + medUseTime?: number; + medEffectType?: string; + MaxHpResource?: number; + hpResourceRate?: number; + apResource?: number; + krResource?: number; + MaxOpticZoom?: number; + MaxRepairResource?: number; + TargetItemFilter?: string[]; + RepairQuality?: number; + RepairType?: string; + StackMinRandom?: number; + StackMaxRandom?: number; + ammoType?: string; + InitialSpeed?: number; + BallisticCoeficient?: number; + BulletMassGram?: number; + BulletDiameterMilimeters?: number; + Damage?: number; + ammoAccr?: number; + ammoRec?: number; + ammoDist?: number; + buckshotBullets?: number; + PenetrationPower?: number; + PenetrationPowerDiviation?: number; + ammoHear?: number; + ammoSfx?: string; + MisfireChance?: number; + MinFragmentsCount?: number; + MaxFragmentsCount?: number; + ammoShiftChance?: number; + casingName?: string; + casingEjectPower?: number; + casingMass?: number; + casingSounds?: string; + ProjectileCount?: number; + PenetrationChance?: number; + RicochetChance?: number; + FragmentationChance?: number; + Deterioration?: number; + SpeedRetardation?: number; + Tracer?: boolean; + TracerColor?: string; + TracerDistance?: number; + ArmorDamage?: number; + Caliber?: string; + StaminaBurnPerDamage?: number; + HeavyBleedingDelta?: number; + LightBleedingDelta?: number; + ShowBullet?: boolean; + HasGrenaderComponent?: boolean; + FuzeArmTimeSec?: number; + ExplosionStrength?: number; + MinExplosionDistance?: number; + MaxExplosionDistance?: number; + FragmentsCount?: number; + FragmentType?: string; + ShowHitEffectOnExplode?: boolean; + ExplosionType?: string; + AmmoLifeTimeSec?: number; + Contusion?: Xyz; + ArmorDistanceDistanceDamage?: Xyz; + Blindness?: Xyz; + IsLightAndSoundShot?: boolean; + LightAndSoundShotAngle?: number; + LightAndSoundShotSelfContusionTime?: number; + LightAndSoundShotSelfContusionStrength?: number; + MalfMisfireChance?: number; + MalfFeedChance?: number; + StackSlots?: StackSlot[]; + type?: string; + eqMin?: number; + eqMax?: number; + rate?: number; + ThrowType?: string; + ExplDelay?: number; + Strength?: number; + ContusionDistance?: number; + throwDamMax?: number; + explDelay?: number; + EmitTime?: number; + CanBeHiddenDuringThrow?: boolean; + MinTimeToContactExplode?: number; + ExplosionEffectType?: string; +} +export interface Prefab { + path: string; + rcid: string; +} +export interface Grid { + _name: string; + _id: string; + _parent: string; + _props: GridProps; + _proto: string; +} +export interface GridProps { + filters: GridFilter[]; + cellsH: number; + cellsV: number; + minCount: number; + maxCount: number; + maxWeight: number; + isSortingTable: boolean; +} +export interface GridFilter { + Filter: string[]; + ExcludedFilter: string[]; +} +export interface Slot { + _name: string; + _id: string; + _parent: string; + _props: SlotProps; + _max_count?: number; + _required: boolean; + _mergeSlotWithChildren: boolean; + _proto: string; +} +export interface SlotProps { + filters: SlotFilter[]; +} +export interface SlotFilter { + Shift?: number; + Filter: string[]; + AnimationIndex?: number; +} +export interface Xyz { + x: number; + y: number; + z: number; +} +export interface StackSlot { + _name?: string; + _id: string; + _parent: string; + _max_count: number; + _props: StackSlotProps; + _proto: string; + upd: any; +} +export interface StackSlotProps { + filters: SlotFilter[]; +} +export interface EffectsHealth { + Energy: EffectsHealthProps; + Hydration: EffectsHealthProps; +} +export interface EffectsHealthProps { + value: number; +} +export interface EffectsDamage { + Pain: EffectDamageProps; + LightBleeding: EffectDamageProps; + HeavyBleeding: EffectDamageProps; + Contusion: EffectDamageProps; + RadExposure: EffectDamageProps; + Fracture: EffectDamageProps; + DestroyedPart: EffectDamageProps; +} +export interface EffectDamageProps { + delay: number; + duration: number; + fadeOut: number; + cost?: number; + healthPenaltyMin?: number; + healthPenaltyMax?: number; +} +export interface Color { + r: number; + g: number; + b: number; + a: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ITrader.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ITrader.d.ts new file mode 100644 index 0000000..f0fe2b5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/common/tables/ITrader.d.ts @@ -0,0 +1,90 @@ +import { Item } from "./IItem"; +export interface ITrader { + assort: ITraderAssort; + base: ITraderBase; + dialogue?: Record; + questassort: Record>; + suits?: ISuit[]; +} +export interface ITraderBase { + refreshAssort: boolean; + _id: string; + avatar: string; + balance_dol: number; + balance_eur: number; + balance_rub: number; + buyer_up: boolean; + currency: string; + customization_seller: boolean; + discount: number; + discount_end: number; + gridHeight: number; + insurance: Insurance; + location: string; + loyaltyLevels: LoyaltyLevel[]; + medic: boolean; + name: string; + nextResupply: number; + nickname: string; + repair: Repair; + sell_category: string[]; + surname: string; + unlockedByDefault: boolean; +} +export interface Insurance { + availability: boolean; + excluded_category: string[]; + max_return_hour: number; + max_storage_time: number; + min_payment: number; + min_return_hour: number; +} +export interface LoyaltyLevel { + buy_price_coef: number; + exchange_price_coef: number; + heal_price_coef: number; + insurance_price_coef: number; + minLevel: number; + minSalesSum: number; + minStanding: number; + repair_price_coef: number; +} +export interface Repair { + availability: boolean; + currency: string; + currency_coefficient: number; + excluded_category: string[]; + excluded_id_list: any[]; + quality: string; +} +export interface ITraderAssort { + nextResupply?: number; + items: Item[]; + barter_scheme: Record; + loyal_level_items: Record; +} +export interface IBarterScheme { + count: number; + _tpl: string; + onlyFunctional?: boolean; +} +export interface ISuit { + _id: string; + tid: string; + suiteId: string; + isActive: boolean; + requirements: Requirements; +} +export interface Requirements { + loyaltyLevel: number; + profileLevel: number; + standing: number; + skillRequirements: string[]; + questRequirements: string[]; + itemRequirements: ItemRequirement[]; +} +export interface ItemRequirement { + count: number; + _tpl: string; + onlyFunctional: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/customization/IBuyClothingRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/customization/IBuyClothingRequestData.d.ts new file mode 100644 index 0000000..d19b70d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/customization/IBuyClothingRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IBuyClothingRequestData { + Action: "CustomizationBuy"; + offer: string; + items: ClothingItem[]; +} +export interface ClothingItem { + del: boolean; + id: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/customization/IWearClothingRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/customization/IWearClothingRequestData.d.ts new file mode 100644 index 0000000..122d9cf --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/customization/IWearClothingRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IWearClothingRequestData { + Action: "CustomizationWear"; + suites: string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IFriendRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IFriendRequestData.d.ts new file mode 100644 index 0000000..9c326ac --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IFriendRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IFriendRequestData { + to: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts new file mode 100644 index 0000000..53d8289 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetAllAttachmentsRequestData { + dialogId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts new file mode 100644 index 0000000..076d414 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts @@ -0,0 +1,6 @@ +import { Message } from "../profile/IAkiProfile"; +export interface IGetAllAttachmentsResponse { + messages: Message[]; + profiles: any[]; + hasMessagesWithRewards: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetChatServerListRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetChatServerListRequestData.d.ts new file mode 100644 index 0000000..8f1beac --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetChatServerListRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetChatServerListRequestData { + VersionId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetFriendListDataResponse.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetFriendListDataResponse.d.ts new file mode 100644 index 0000000..1d0c0e8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetFriendListDataResponse.d.ts @@ -0,0 +1,16 @@ +import { MemberCategory } from "../../enums/MemberCategory"; +export interface IGetFriendListDataResponse { + Friends: Friend[]; + Ignore: any[]; + InIgnoreList: any[]; +} +export interface Friend { + _id: string; + Info: Info; +} +export interface Info { + Nickname: string; + Side: string; + Level: number; + MemberCategory: MemberCategory; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts new file mode 100644 index 0000000..eed84b1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetMailDialogInfoRequestData { + dialogId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts new file mode 100644 index 0000000..f8fbf5d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IGetMailDialogListRequestData { + limit: number; + offset: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts new file mode 100644 index 0000000..43d416e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts @@ -0,0 +1,7 @@ +import { MessageType } from "../../enums/MessageType"; +export interface IGetMailDialogViewRequestData { + type: MessageType; + dialogId: string; + limit: number; + time: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts new file mode 100644 index 0000000..4f8b946 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts @@ -0,0 +1,7 @@ +import { IPmcData } from "../common/IPmcData"; +import { Message } from "../profile/IAkiProfile"; +export interface IGetMailDialogViewResponseData { + messages: Message[]; + profiles: IPmcData[]; + hasMessagesWithRewards: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IPinDialogRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IPinDialogRequestData.d.ts new file mode 100644 index 0000000..57b8a00 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IPinDialogRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IPinDialogRequestData { + dialogId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IRemoveDialogRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IRemoveDialogRequestData.d.ts new file mode 100644 index 0000000..874b828 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/IRemoveDialogRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IRemoveDialogRequestData { + dialogId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/ISendMessageRequest.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/ISendMessageRequest.d.ts new file mode 100644 index 0000000..dd79deb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/ISendMessageRequest.d.ts @@ -0,0 +1,7 @@ +import { MessageType } from "../../enums/MessageType"; +export interface ISendMessageRequest { + dialogId: string; + type: MessageType; + text: string; + replyTo: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/ISetDialogReadRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/ISetDialogReadRequestData.d.ts new file mode 100644 index 0000000..2076232 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/dialog/ISetDialogReadRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISetDialogReadRequestData { + dialogs: string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/game/IGameConfigResponse.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/game/IGameConfigResponse.d.ts new file mode 100644 index 0000000..eb37a39 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/game/IGameConfigResponse.d.ts @@ -0,0 +1,19 @@ +export interface IGameConfigResponse { + aid: string; + lang: string; + languages: Record; + ndaFree: boolean; + taxonomy: number; + activeProfileId: string; + backend: Backend; + utc_time: number; + totalInGame: number; + reportAvailable: boolean; + twitchEventMember: boolean; +} +export interface Backend { + Trading: string; + Messaging: string; + Main: string; + RagFair: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/game/IGameEmptyCrcRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/game/IGameEmptyCrcRequestData.d.ts new file mode 100644 index 0000000..a3ecad9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/game/IGameEmptyCrcRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGameEmptyCrcRequestData { + crc: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/game/IVersionValidateRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/game/IVersionValidateRequestData.d.ts new file mode 100644 index 0000000..0aa0fed --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/game/IVersionValidateRequestData.d.ts @@ -0,0 +1,11 @@ +export interface IVersionValidateRequestData { + version: Version; + develop: boolean; +} +export interface Version { + major: string; + minor: string; + game: string; + backend: string; + taxonomy: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/health/IHealthTreatmentRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/health/IHealthTreatmentRequestData.d.ts new file mode 100644 index 0000000..7fb80a8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/health/IHealthTreatmentRequestData.d.ts @@ -0,0 +1,29 @@ +export interface IHealthTreatmentRequestData { + Action: "RestoreHealth"; + trader: string; + items: Item[]; + difference: Difference; + timestamp: number; +} +export interface Item { + id: string; + count: number; +} +export interface Difference { + BodyParts: BodyParts; + Energy: number; + Hydration: number; +} +export interface BodyParts { + Head: BodyPart; + Chest: BodyPart; + Stomach: BodyPart; + LeftArm: BodyPart; + RightArm: BodyPart; + LeftLeg: BodyPart; + RightLeg: BodyPart; +} +export interface BodyPart { + Health: number; + Effects: string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/health/IOffraidEatRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/health/IOffraidEatRequestData.d.ts new file mode 100644 index 0000000..8e2b6c3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/health/IOffraidEatRequestData.d.ts @@ -0,0 +1,7 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface IOffraidEatRequestData extends IBaseInteractionRequestData { + Action: "Eat"; + item: string; + count: number; + time: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/health/IOffraidHealRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/health/IOffraidHealRequestData.d.ts new file mode 100644 index 0000000..c242300 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/health/IOffraidHealRequestData.d.ts @@ -0,0 +1,18 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface IOffraidHealRequestData extends IBaseInteractionRequestData { + Action: "Heal"; + item: string; + part: BodyPart; + count: number; + time: number; +} +export declare enum BodyPart { + Head = 0, + Chest = 1, + Stomach = 2, + LeftArm = 3, + RightArm = 4, + LeftLeg = 5, + RightLeg = 6, + Common = 7 +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/health/ISyncHealthRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/health/ISyncHealthRequestData.d.ts new file mode 100644 index 0000000..20e32f6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/health/ISyncHealthRequestData.d.ts @@ -0,0 +1,21 @@ +export interface ISyncHealthRequestData { + Health: Health; + IsAlive: boolean; + Hydration?: number; + Energy?: number; + Temperature?: number; +} +export interface Health { + Head?: BodyPartHealth; + Chest?: BodyPartHealth; + Stomach?: BodyPartHealth; + LeftArm?: BodyPartHealth; + RightArm?: BodyPartHealth; + LeftLeg?: BodyPartHealth; + RightLeg?: BodyPartHealth; +} +export interface BodyPartHealth { + Maximum: number; + Current: number; + Effects: Record; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts new file mode 100644 index 0000000..8583e8d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts @@ -0,0 +1,5 @@ +export interface HideoutUpgradeCompleteRequestData { + Action: string; + areaType: number; + timestamp: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutArea.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutArea.d.ts new file mode 100644 index 0000000..d9fd2bf --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutArea.d.ts @@ -0,0 +1,40 @@ +export interface IHideoutArea { + _id: string; + type: number; + enabled: boolean; + needsFuel: boolean; + takeFromSlotLocked: boolean; + craftGivesExp: boolean; + stages: Record; +} +export interface Stage { + requirements: Requirement[]; + bonuses: StageBonus[]; + slots: number; + constructionTime: number; + description: string; +} +export interface Requirement { + areaType?: number; + requiredLevel?: number; + type: string; + templateId?: string; + count?: number; + isFunctional?: boolean; + traderId?: string; + loyaltyLevel?: number; + skillName?: string; + skillLevel?: number; +} +export interface StageBonus { + value: number; + passive: boolean; + production: boolean; + visible: boolean; + skillType?: string; + type: string; + filter?: string[]; + icon?: string; + id?: string; + templateId?: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts new file mode 100644 index 0000000..dba83eb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IHideoutContinousProductionStartRequestData { + Action: "HideoutContinuousProductionStart"; + recipeId: string; + timestamp: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutProduction.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutProduction.d.ts new file mode 100644 index 0000000..ce878be --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutProduction.d.ts @@ -0,0 +1,20 @@ +export interface IHideoutProduction { + _id: string; + areaType: number; + requirements: Requirement[]; + productionTime: number; + boosters: any; + endProduct: string; + continuous: boolean; + count: number; + productionLimitCount: number; +} +export interface Requirement { + templateId?: string; + count?: number; + isFunctional?: boolean; + type: string; + areaType?: number; + requiredLevel?: number; + resource?: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts new file mode 100644 index 0000000..8326c55 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IHideoutPutItemInRequestData { + Action: "HideoutPutItemsInAreaSlots"; + areaType: number; + items: Record; + timestamp: number; +} +export interface ItemDetails { + count: number; + id: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutScavCase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutScavCase.d.ts new file mode 100644 index 0000000..25abcf3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutScavCase.d.ts @@ -0,0 +1,21 @@ +export interface IHideoutScavCase { + _id: string; + ProductionTime: number; + Requirements: Requirement[]; + EndProducts: EndProducts; +} +export interface Requirement { + templateId: string; + count: number; + isFunctional: boolean; + type: string; +} +export interface EndProducts { + Common: MinMax; + Rare: MinMax; + Superrare: MinMax; +} +export interface MinMax { + min: string; + max: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts new file mode 100644 index 0000000..72fda86 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts @@ -0,0 +1,15 @@ +export interface IHideoutScavCaseStartRequestData { + Action: "HideoutScavCaseProductionStart"; + recipeId: string; + items: HideoutItem[]; + tools: Tool[]; + timestamp: number; +} +export interface HideoutItem { + id: string; + count: number; +} +export interface Tool { + id: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutSettingsBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutSettingsBase.d.ts new file mode 100644 index 0000000..8e45939 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutSettingsBase.d.ts @@ -0,0 +1,6 @@ +export interface IHideoutSettingsBase { + generatorSpeedWithoutFuel: number; + generatorFuelFlowRate: number; + airFilterUnitFlowRate: number; + gpuBoostRate: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts new file mode 100644 index 0000000..1ed542a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IHideoutSingleProductionStartRequestData { + Action: "HideoutSingleProductionStart"; + recipeId: string; + items: Item[]; + timestamp: number; +} +export interface Item { + id: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts new file mode 100644 index 0000000..83a740a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts @@ -0,0 +1,6 @@ +export interface IHideoutTakeItemOutRequestData { + Action: "HideoutTakeItemsFromAreaSlots"; + areaType: number; + slots: number[]; + timestamp: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts new file mode 100644 index 0000000..a6847ef --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IHideoutTakeProductionRequestData { + Action: "HideoutTakeProduction"; + recipeId: string; + timestamp: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts new file mode 100644 index 0000000..cdea513 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts @@ -0,0 +1,6 @@ +export interface IHideoutToggleAreaRequestData { + Action: "HideoutToggleArea"; + areaType: number; + enabled: boolean; + timestamp: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts new file mode 100644 index 0000000..545311e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IHideoutUpgradeCompleteRequestData { + Action: "HideoutUpgradeComplete"; + areaType: number; + timestamp: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts new file mode 100644 index 0000000..dfbfdca --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IHideoutUpgradeRequestData { + Action: "HideoutUpgrade"; + areaType: number; + items: HideoutItem[]; + timestamp: number; +} +export interface HideoutItem { + count: number; + id: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/httpResponse/IGetBodyResponseData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/httpResponse/IGetBodyResponseData.d.ts new file mode 100644 index 0000000..b5dc5c1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/httpResponse/IGetBodyResponseData.d.ts @@ -0,0 +1,5 @@ +export interface IGetBodyResponseData { + err: number; + errmsg: any; + (data: Type): Type; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/httpResponse/INullResponseData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/httpResponse/INullResponseData.d.ts new file mode 100644 index 0000000..a3ae838 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/httpResponse/INullResponseData.d.ts @@ -0,0 +1,5 @@ +export interface INullResponseData { + err: number; + errmsg: any; + data: null; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts new file mode 100644 index 0000000..e2d9cf1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IRegisterPlayerRequestData { + crc: number; + locationId: string; + variantId: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inRaid/ISaveProgressRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inRaid/ISaveProgressRequestData.d.ts new file mode 100644 index 0000000..6930261 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inRaid/ISaveProgressRequestData.d.ts @@ -0,0 +1,8 @@ +import { IPmcData } from "../common/IPmcData"; +import { ISyncHealthRequestData } from "../health/ISyncHealthRequestData"; +export interface ISaveProgressRequestData { + exit: string; + profile: IPmcData; + isPlayerScav: boolean; + health: ISyncHealthRequestData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts new file mode 100644 index 0000000..0e32e96 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IGetInsuranceCostRequestData { + traders: string[]; + items: string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/insurance/IInsureRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/insurance/IInsureRequestData.d.ts new file mode 100644 index 0000000..f657bb7 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/insurance/IInsureRequestData.d.ts @@ -0,0 +1,6 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface IInsureRequestData extends IBaseInteractionRequestData { + Action: "Insure"; + tid: string; + items: string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IAddItemRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IAddItemRequestData.d.ts new file mode 100644 index 0000000..53db97a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IAddItemRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IAddItemRequestData { + tid: string; + items: any[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryAddRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryAddRequestData.d.ts new file mode 100644 index 0000000..462e0de --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryAddRequestData.d.ts @@ -0,0 +1,6 @@ +import { Container, IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryAddRequestData extends IInventoryBaseActionRequestData { + Action: "Add"; + item: string; + container: Container; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts new file mode 100644 index 0000000..b45e459 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts @@ -0,0 +1,27 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface IInventoryBaseActionRequestData extends IBaseInteractionRequestData { +} +export interface To { + id: string; + container: string; + location?: ToLocation | number; +} +export interface ToLocation { + x: number; + y: number; + r: string; + rotation?: string; + isSearched: boolean; +} +export interface Container { + id: string; + container: string; + location: Location | number; +} +export interface Location { + x: number; + y: number; + r: string; + rotation?: string; + isSearched: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryBindRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryBindRequestData.d.ts new file mode 100644 index 0000000..ff35066 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryBindRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryBindRequestData extends IInventoryBaseActionRequestData { + Action: "Bind"; + item: string; + index: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts new file mode 100644 index 0000000..1e1ecef --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts @@ -0,0 +1,12 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryCreateMarkerRequestData extends IInventoryBaseActionRequestData { + Action: "CreateMapMarker"; + item: string; + mapMarker: MapMarker; +} +export interface MapMarker { + Type: string; + X: number; + Y: number; + Note: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts new file mode 100644 index 0000000..0657e1b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts @@ -0,0 +1,7 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryDeleteMarkerRequestData extends IInventoryBaseActionRequestData { + Action: "DeleteMapMarker"; + item: string; + X: number; + Y: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts new file mode 100644 index 0000000..e2857e1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts @@ -0,0 +1,14 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryEditMarkerRequestData extends IInventoryBaseActionRequestData { + Action: "EditMapMarker"; + item: string; + X: number; + Y: number; + mapMarker: MapMarker; +} +export interface MapMarker { + Type: string; + X: number; + Y: number; + Note: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryExamineRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryExamineRequestData.d.ts new file mode 100644 index 0000000..614711f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryExamineRequestData.d.ts @@ -0,0 +1,10 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryExamineRequestData extends IInventoryBaseActionRequestData { + Action: "Examine"; + item: string; + fromOwner: IFromOwner; +} +export interface IFromOwner { + id: string; + type: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryFoldRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryFoldRequestData.d.ts new file mode 100644 index 0000000..a5fb2a1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryFoldRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryFoldRequestData extends IInventoryBaseActionRequestData { + Action: "Fold"; + item: string; + value: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryMergeRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryMergeRequestData.d.ts new file mode 100644 index 0000000..3fcfa35 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryMergeRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryMergeRequestData extends IInventoryBaseActionRequestData { + Action: "Merge"; + item: string; + with: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryMoveRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryMoveRequestData.d.ts new file mode 100644 index 0000000..b767908 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryMoveRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData, To } from "./IInventoryBaseActionRequestData"; +export interface IInventoryMoveRequestData extends IInventoryBaseActionRequestData { + Action: "Move"; + item: string; + to: To; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts new file mode 100644 index 0000000..5487b20 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts @@ -0,0 +1,5 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryReadEncyclopediaRequestData extends IInventoryBaseActionRequestData { + Action: "ReadEncyclopedia"; + ids: string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts new file mode 100644 index 0000000..07d1a52 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts @@ -0,0 +1,5 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryRemoveRequestData extends IInventoryBaseActionRequestData { + Action: "Remove"; + item: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySortRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySortRequestData.d.ts new file mode 100644 index 0000000..a0b7928 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySortRequestData.d.ts @@ -0,0 +1,20 @@ +import { Upd } from "../common/tables/IItem"; +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventorySortRequestData extends IInventoryBaseActionRequestData { + Action: "ApplyInventoryChanges"; + changedItems: ChangedItem[]; +} +export interface ChangedItem { + _id: string; + _tpl: string; + parentId: string; + slotId: string; + location: Location; + upd: Upd; +} +export interface Location { + x: number; + y: number; + r: string; + isSearched: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySplitRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySplitRequestData.d.ts new file mode 100644 index 0000000..730ae71 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySplitRequestData.d.ts @@ -0,0 +1,7 @@ +import { Container, IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventorySplitRequestData extends IInventoryBaseActionRequestData { + Action: "Split"; + item: string; + container: Container; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySwapRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySwapRequestData.d.ts new file mode 100644 index 0000000..1b0464d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventorySwapRequestData.d.ts @@ -0,0 +1,11 @@ +import { OwnerInfo } from "../common/request/IBaseInteractionRequestData"; +import { IInventoryBaseActionRequestData, To } from "./IInventoryBaseActionRequestData"; +export interface IInventorySwapRequestData extends IInventoryBaseActionRequestData { + Action: "Swap"; + item: string; + to: To; + item2: string; + to2: To; + fromOwner2: OwnerInfo; + toOwner2: OwnerInfo; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryTagRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryTagRequestData.d.ts new file mode 100644 index 0000000..f021661 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryTagRequestData.d.ts @@ -0,0 +1,7 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryTagRequestData extends IInventoryBaseActionRequestData { + Action: "Tag"; + item: string; + TagName: string; + TagColor: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryToggleRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryToggleRequestData.d.ts new file mode 100644 index 0000000..0955440 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryToggleRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryToggleRequestData extends IInventoryBaseActionRequestData { + Action: "Toggle"; + item: string; + value: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryTransferRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryTransferRequestData.d.ts new file mode 100644 index 0000000..cf4391b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/inventory/IInventoryTransferRequestData.d.ts @@ -0,0 +1,7 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryTransferRequestData extends IInventoryBaseActionRequestData { + Action: "Transfer"; + item: string; + with: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts new file mode 100644 index 0000000..689fe75 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts @@ -0,0 +1,4 @@ +import { IItemEventRouterBase } from "./IItemEventRouterBase"; +export interface IEmptyItemEventRouterResponse extends IItemEventRouterBase { + profileChanges: ""; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterBase.d.ts new file mode 100644 index 0000000..31e62fe --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterBase.d.ts @@ -0,0 +1,67 @@ +import { Skills } from "../common/IPmcData"; +import { Item, Upd } from "../common/tables/IItem"; +import { IQuest } from "../common/tables/IQuest"; +import { IPmcDataRepeatableQuest } from "../common/tables/IRepeatableQuests"; +import { IRagfairOffer } from "../ragfair/IRagfairOffer"; +export interface IItemEventRouterBase { + warnings: Warning[]; + profileChanges: TProfileChanges | ""; +} +export declare type TProfileChanges = Record; +export interface Warning { + index: number; + err: string; + errmsg: string; +} +export interface ProfileChange { + _id: string; + experience: number; + quests: IQuest[]; + ragFairOffers: IRagfairOffer[]; + builds: BuildChange[]; + items: ItemChanges; + production: Record; + skills: Skills; + traderRelations: Record; + repeatableQuests?: IPmcDataRepeatableQuest[]; +} +export interface BuildChange { + id: string; + name: string; + root: string; + items: Item[]; +} +export interface ItemChanges { + new: Product[]; + change: Product[]; + del: Product[]; +} +export interface Production { + Progress: number; + StartTimestamp: number; + ProductionTime: number; + inProgress: boolean; + RecipeId: string; + Products: Product[]; +} +export interface Product { + _id: string; + _tpl?: string; + parentId?: string; + slotId?: string; + location?: ItemChangeLocation; + upd?: Upd; +} +export interface ItemChangeLocation { + x: number; + y: number; + r: number; + isSearched?: boolean; +} +export interface TraderRelations { + salesSum?: number; + standing?: number; + loyalty?: number; + unlocked?: boolean; + disabled?: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts new file mode 100644 index 0000000..515b49a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts @@ -0,0 +1,21 @@ +export interface IItemEventRouterRequest { + data: Daum[]; + tm: number; + reload: number; +} +export interface Daum { + Action: string; + item: string; + to: To; +} +export interface To { + id: string; + container: string; + location?: Location; +} +export interface Location { + x: number; + y: number; + r: string; + isSearched: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts new file mode 100644 index 0000000..72a9b5b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts @@ -0,0 +1,3 @@ +import { IItemEventRouterBase } from "./IItemEventRouterBase"; +export interface IItemEventRouterResponse extends IItemEventRouterBase { +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IChangeRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IChangeRequestData.d.ts new file mode 100644 index 0000000..f0a7838 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IChangeRequestData.d.ts @@ -0,0 +1,4 @@ +import { ILoginRequestData } from "./ILoginRequestData"; +export interface IChangeRequestData extends ILoginRequestData { + change: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts new file mode 100644 index 0000000..a14c7c9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IGetMiniProfileRequestData { + username: string; + password: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/ILoginRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/ILoginRequestData.d.ts new file mode 100644 index 0000000..e965813 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/ILoginRequestData.d.ts @@ -0,0 +1,4 @@ +export interface ILoginRequestData { + username: string; + password: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IMiniProfile.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IMiniProfile.d.ts new file mode 100644 index 0000000..c12661a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IMiniProfile.d.ts @@ -0,0 +1,14 @@ +export interface IMiniProfile { + username: string; + nickname: string; + side: string; + currlvl: number; + currexp: number; + prevexp: number; + nextlvl: number; + maxlvl: number; + akiData: AkiData; +} +export interface AkiData { + version: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IRegisterData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IRegisterData.d.ts new file mode 100644 index 0000000..61a8bbe --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IRegisterData.d.ts @@ -0,0 +1,4 @@ +import { ILoginRequestData } from "./ILoginRequestData"; +export interface IRegisterData extends ILoginRequestData { + edition: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IRemoveProfileData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IRemoveProfileData.d.ts new file mode 100644 index 0000000..d31c9ac --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/launcher/IRemoveProfileData.d.ts @@ -0,0 +1,2 @@ +import { ILoginRequestData } from "./ILoginRequestData"; +export declare type IRemoveProfileData = ILoginRequestData; diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/location/IGetLocationRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/location/IGetLocationRequestData.d.ts new file mode 100644 index 0000000..04e84d9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/location/IGetLocationRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IGetLocationRequestData { + crc: number; + locationId: string; + variantId: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/match/IEndOfflineRaidRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/match/IEndOfflineRaidRequestData.d.ts new file mode 100644 index 0000000..811e9a2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/match/IEndOfflineRaidRequestData.d.ts @@ -0,0 +1,6 @@ +export interface IEndOfflineRaidRequestData { + crc: number; + exitStatus: string; + exitName: any; + raidSeconds: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/match/IGetProfileRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/match/IGetProfileRequestData.d.ts new file mode 100644 index 0000000..86b5bbd --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/match/IGetProfileRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetProfileRequestData { + profileId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/match/IStartOffineRaidRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/match/IStartOffineRaidRequestData.d.ts new file mode 100644 index 0000000..84bccc8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/match/IStartOffineRaidRequestData.d.ts @@ -0,0 +1,27 @@ +export interface IStartOfflineRaidRequestData { + locationName: string; + entryPoint: string; + startTime: number; + dateTime: string; + gameSettings: GameSettings; +} +export interface GameSettings { + timeAndWeatherSettings: TimeAndWeatherSettings; + botsSettings: BotsSettings; + wavesSettings: WavesSettings; +} +export interface TimeAndWeatherSettings { + isRandomTime: boolean; + isRandomWeather: boolean; +} +export interface BotsSettings { + isEnabled: boolean; + isScavWars: boolean; + botAmount: string; +} +export interface WavesSettings { + botDifficulty: string; + isBosses: boolean; + isTaggedAndCursed: boolean; + wavesBotAmount: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/notes/INoteActionData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/notes/INoteActionData.d.ts new file mode 100644 index 0000000..610657f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/notes/INoteActionData.d.ts @@ -0,0 +1,10 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface INoteActionData extends IBaseInteractionRequestData { + Action: string; + index: number; + note: INote; +} +export interface INote { + Time: number; + Text: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/notifier/INotifier.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/notifier/INotifier.d.ts new file mode 100644 index 0000000..8c48260 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/notifier/INotifier.d.ts @@ -0,0 +1,14 @@ +export interface INotifierChannel { + "server": string; + "channel_id": string; + "url": string; + "notifierServer": string; + "ws": string; +} +import { Message } from "../profile/IAkiProfile"; +export interface INotification { + type: "RagfairOfferSold" | "new_message" | "ping"; + eventId: string; + dialogId?: string; + message?: Message; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/notifier/ISelectProfileRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/notifier/ISelectProfileRequestData.d.ts new file mode 100644 index 0000000..2bc3d1e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/notifier/ISelectProfileRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISelectProfileRequestData { + uid: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts new file mode 100644 index 0000000..dcd14a2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts @@ -0,0 +1,21 @@ +import { Skills } from "../common/IPmcData"; +export interface IPlayerIncrementSkillLevelRequestData { + _id: string; + experience: number; + quests: any[]; + ragFairOffers: any[]; + builds: any[]; + items: Items; + production: Production; + skills: Skills; + traderRelations: TraderRelations; +} +export interface Items { + new: any[]; + change: any[]; + del: any[]; +} +export interface Production { +} +export interface TraderRelations { +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts new file mode 100644 index 0000000..99c61f1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts @@ -0,0 +1,25 @@ +export interface IPresetBuildActionRequestData { + Action: string; + id: string; + name: string; + root: string; + items: Item[]; +} +export interface Item { + _id: string; + _tpl: string; + upd?: Upd; + parentId?: string; + slotId?: string; +} +export interface Upd { + Repairable: Repairable; + FireMode: FireMode; +} +export interface Repairable { + MaxDurability: number; + Durability: number; +} +export interface FireMode { + FireMode: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IAkiProfile.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IAkiProfile.d.ts new file mode 100644 index 0000000..3e0b319 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IAkiProfile.d.ts @@ -0,0 +1,167 @@ +import { MessageType } from "../../enums/MessageType"; +import { IPmcData } from "../common/IPmcData"; +import { Item } from "../common/tables/IItem"; +export interface IAkiProfile { + info: Info; + characters: Characters; + suits: string[]; + weaponbuilds: WeaponBuild[]; + dialogues: Record; + aki: Aki; + vitality: Vitality; + inraid: Inraid; + insurance: Insurance[]; +} +export interface Info { + id: string; + username: string; + password: string; + wipe: boolean; + edition: string; +} +export interface Characters { + pmc: IPmcData; + scav: IPmcData; +} +export interface WeaponBuild { + id: string; + name: string; + root: string; + items: Item[]; +} +export interface Dialogue { + _id: string; + messages: Message[]; + pinned: boolean; + new: number; + attachmentsNew: number; +} +export interface DialogueInfo { + _id: string; + type: MessageType; + message: MessagePreview; + pinned: boolean; + new: number; + attachmentsNew: number; +} +export interface Message { + _id: string; + uid: string; + type: MessageType; + dt: number; + localDateTime: number; + UtcDateTime?: number; + Member?: IUpdatableChatMember; + templateId: string; + text?: string; + hasRewards: boolean; + rewardCollected: boolean; + items: Items; + maxStorageTime?: number; + systemData?: ISystemData; +} +export interface MessagePreview { + uid: string; + type: MessageType; + dt: number; + templateId: string; + text?: string; +} +export interface Items { + stash?: string; + data?: Item[]; +} +export interface ISystemData { + date?: string; + time?: string; + location?: string; + buyerNickname?: string; + soldItem?: string; + itemCount?: number; +} +export interface IUpdatableChatMember { + Nickname: string; + Side: string; + Level: number; + MemberCategory: string; + Ignored: boolean; + Banned: boolean; +} +export interface DateTime { + date: string; + time: string; +} +export interface Aki { + version: string; +} +export interface Vitality { + health: Health; + effects: Effects; +} +export interface Health { + Hydration: number; + Energy: number; + Temperature: number; + Head: number; + Chest: number; + Stomach: number; + LeftArm: number; + RightArm: number; + LeftLeg: number; + RightLeg: number; +} +export interface Effects { + Head: Head; + Chest: Chest; + Stomach: Stomach; + LeftArm: LeftArm; + RightArm: RightArm; + LeftLeg: LeftLeg; + RightLeg: RightLeg; +} +export interface Head { +} +export interface Chest { +} +export interface Stomach { +} +export interface LeftArm { + Fracture?: number; +} +export interface RightArm { + Fracture?: number; +} +export interface LeftLeg { + Fracture?: number; +} +export interface RightLeg { + Fracture?: number; +} +export interface Inraid { + location: string; + character: string; +} +export interface Insurance { + scheduledTime: number; + traderId: string; + messageContent: MessageContent; + items: Item[]; +} +export interface MessageContent { + ragfair?: MessageContentRagfair; + text?: string; + templateId: string; + type: MessageType; + maxStorageTime?: number; + systemData?: MessageContentData; +} +export interface MessageContentRagfair { + offerId: string; + count: number; + handbookId: string; +} +export interface MessageContentData { + date: string; + time: string; + location: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts new file mode 100644 index 0000000..4a61196 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IProfileChangeNicknameRequestData { + nickname: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts new file mode 100644 index 0000000..91058ce --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IProfileChangeVoiceRequestData { + voice: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileCreateRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileCreateRequestData.d.ts new file mode 100644 index 0000000..93cc656 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IProfileCreateRequestData.d.ts @@ -0,0 +1,6 @@ +export interface IProfileCreateRequestData { + side: string; + nickname: string; + headId: string; + voiceId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/profile/ISearchFriendRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/ISearchFriendRequestData.d.ts new file mode 100644 index 0000000..e63e386 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/ISearchFriendRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISearchFriendRequestData { + nickname: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/profile/ISearchFriendResponse.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/ISearchFriendResponse.d.ts new file mode 100644 index 0000000..96d88b2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/ISearchFriendResponse.d.ts @@ -0,0 +1,9 @@ +export interface ISearchFriendResponse { + _id: string; + Info: Info; +} +export interface Info { + Nickname: string; + Side: string; + Level: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IValidateNicknameRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IValidateNicknameRequestData.d.ts new file mode 100644 index 0000000..9cca7e7 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/profile/IValidateNicknameRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IValidateNicknameRequestData { + nickname: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IAcceptQuestRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IAcceptQuestRequestData.d.ts new file mode 100644 index 0000000..0e4821a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IAcceptQuestRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IAcceptQuestRequestData { + Action: "QuestAccept"; + qid: string; + type: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/quests/ICompleteQuestRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/ICompleteQuestRequestData.d.ts new file mode 100644 index 0000000..cc67404 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/ICompleteQuestRequestData.d.ts @@ -0,0 +1,5 @@ +export interface ICompleteQuestRequestData { + Action: string; + qid: string; + removeExcessItems: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IHandoverQuestRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IHandoverQuestRequestData.d.ts new file mode 100644 index 0000000..63f10a8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IHandoverQuestRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IHandoverQuestRequestData { + Action: "QuestHandover"; + qid: string; + conditionId: string; + items: Item[]; +} +export interface Item { + id: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IListQuestsRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IListQuestsRequestData.d.ts new file mode 100644 index 0000000..91f0b8c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IListQuestsRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IListQuestsRequestData { + completed: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts new file mode 100644 index 0000000..015f58e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts @@ -0,0 +1,4 @@ +export interface IRepeatableQuestChangeRequest { + Action: "RepeatableQuestChange"; + qid: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IAddOfferRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IAddOfferRequestData.d.ts new file mode 100644 index 0000000..465ee02 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IAddOfferRequestData.d.ts @@ -0,0 +1,13 @@ +export interface IAddOfferRequestData { + Action: string; + sellInOnePiece: boolean; + items: string[]; + requirements: Requirement[]; +} +export interface Requirement { + _tpl: string; + count: number; + level: number; + side: number; + onlyFunctional: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IExtendOfferRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IExtendOfferRequestData.d.ts new file mode 100644 index 0000000..2a4a876 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IExtendOfferRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IExtendOfferRequestData { + offerId: string; + renewalTime: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetItemPriceResult.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetItemPriceResult.d.ts new file mode 100644 index 0000000..676322a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetItemPriceResult.d.ts @@ -0,0 +1,5 @@ +export interface IGetItemPriceResult { + avg: number; + min: number; + max: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts new file mode 100644 index 0000000..00f8f17 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetMarketPriceRequestData { + templateId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetOffersResult.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetOffersResult.d.ts new file mode 100644 index 0000000..1c11422 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IGetOffersResult.d.ts @@ -0,0 +1,7 @@ +import { IRagfairOffer } from "./IRagfairOffer"; +export interface IGetOffersResult { + categories: Record; + offers: IRagfairOffer[]; + offersCount: number; + selectedCategory: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IRagfairOffer.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IRagfairOffer.d.ts new file mode 100644 index 0000000..63f655e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IRagfairOffer.d.ts @@ -0,0 +1,42 @@ +import { MemberCategory } from "../../enums/MemberCategory"; +import { Item } from "../common/tables/IItem"; +export interface IRagfairOffer { + sellResult?: SellResult[]; + _id: string; + items: Item[]; + requirements: OfferRequirement[]; + root: string; + intId: number; + itemsCost: number; + requirementsCost: number; + startTime: number; + endTime: number; + sellInOnePiece: boolean; + name?: string; + shortName?: string; + loyaltyLevel: number; + locked: boolean; + unlimitedCount: boolean; + summaryCost: number; + user: IRagfairOfferUser; + notAvailable: boolean; + CurrentItemCount: number; + priority: boolean; +} +export interface OfferRequirement { + _tpl: string; + count: number; + onlyFunctional: boolean; +} +export interface IRagfairOfferUser { + id: string; + nickname: string; + rating: number; + memberType: MemberCategory; + avatar: string; + isRatingGrowing: boolean; +} +export interface SellResult { + sellTime: number; + amount: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts new file mode 100644 index 0000000..d926615 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IRemoveOfferRequestData { + Action: string; + offerId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/ISearchRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/ISearchRequestData.d.ts new file mode 100644 index 0000000..08e7fd3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/ragfair/ISearchRequestData.d.ts @@ -0,0 +1,32 @@ +export interface ISearchRequestData { + page: number; + limit: number; + sortType: number; + sortDirection: number; + currency: number; + priceFrom: number; + priceTo: number; + quantityFrom: number; + quantityTo: number; + conditionFrom: number; + conditionTo: number; + oneHourExpiration: boolean; + removeBartering: boolean; + offerOwnerType: OfferOwnerType; + onlyFunctional: boolean; + updateOfferCount: boolean; + handbookId: string; + linkedSearchId: string; + neededSearchId: string; + buildItems: BuildItems; + buildCount: number; + tm: number; + reload: number; +} +export declare enum OfferOwnerType { + ANYOWNERTYPE = 0, + TRADEROWNERTYPE = 1, + PLAYEROWNERTYPE = 2 +} +export interface BuildItems { +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts new file mode 100644 index 0000000..e645fb3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts @@ -0,0 +1,3 @@ +export interface IBaseRepairActionDataRequest { + Action: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/repair/IRepairActionDataRequest.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/repair/IRepairActionDataRequest.d.ts new file mode 100644 index 0000000..263d400 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/repair/IRepairActionDataRequest.d.ts @@ -0,0 +1,10 @@ +import { IBaseRepairActionDataRequest } from "./IBaseRepairActionDataRequest"; +export interface IRepairActionDataRequest extends IBaseRepairActionDataRequest { + Action: "Repair"; + repairKitsInfo: RepairKitsInfo[]; + target: string; +} +export interface RepairKitsInfo { + _id: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts new file mode 100644 index 0000000..e3d469d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts @@ -0,0 +1,10 @@ +import { IBaseRepairActionDataRequest } from "./IBaseRepairActionDataRequest"; +export interface ITraderRepairActionDataRequest extends IBaseRepairActionDataRequest { + Action: "TraderRepair"; + tid: string; + repairItems: RepairItem[]; +} +export interface RepairItem { + _id: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts new file mode 100644 index 0000000..a9ef757 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IProcessBaseTradeRequestData { + Action: string; + type: string; + tid: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts new file mode 100644 index 0000000..a9e4c17 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts @@ -0,0 +1,14 @@ +import { IProcessBaseTradeRequestData } from "./IProcessBaseTradeRequestData"; +export interface IProcessBuyTradeRequestData extends IProcessBaseTradeRequestData { + Action: "buy_from_trader" | "TradingConfirm" | "RestoreHealth" | ""; + type: string; + tid: string; + item_id: string; + count: number; + scheme_id: number; + scheme_items: SchemeItem[]; +} +export interface SchemeItem { + id: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts new file mode 100644 index 0000000..889dfd1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts @@ -0,0 +1,13 @@ +export interface IProcessRagfairTradeRequestData { + Action: string; + offers: Offer[]; +} +export interface Offer { + id: string; + count: number; + items: Item[]; +} +export interface Item { + id: string; + count: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessSellTradeRequestData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessSellTradeRequestData.d.ts new file mode 100644 index 0000000..f1d555f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/trade/IProcessSellTradeRequestData.d.ts @@ -0,0 +1,12 @@ +import { IProcessBaseTradeRequestData } from "./IProcessBaseTradeRequestData"; +export interface IProcessSellTradeRequestData extends IProcessBaseTradeRequestData { + Action: "sell_to_trader"; + type: string; + tid: string; + items: Item[]; +} +export interface Item { + id: string; + count: number; + scheme_id: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/weather/IWeatherData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/weather/IWeatherData.d.ts new file mode 100644 index 0000000..ecc96ce --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/weather/IWeatherData.d.ts @@ -0,0 +1,20 @@ +export interface IWeatherData { + acceleration: number; + time: string; + date: string; + weather: IWeather; +} +export interface IWeather { + pressure: number; + temp: number; + fog: string; + rain_intensity: number; + rain: any; + wind_gustiness: number; + wind_direction: any; + wind_speed: number; + cloud: number; + time: string; + date: string; + timestamp: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/eft/wishlist/IWishlistActionData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/eft/wishlist/IWishlistActionData.d.ts new file mode 100644 index 0000000..9217864 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/eft/wishlist/IWishlistActionData.d.ts @@ -0,0 +1,4 @@ +export interface IWishlistActionData { + Action: string; + templateId: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/BaseClasses.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/BaseClasses.d.ts new file mode 100644 index 0000000..e733bca --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/BaseClasses.d.ts @@ -0,0 +1,84 @@ +export declare enum BaseClasses { + WEAPON = "5422acb9af1c889c16000029", + ARMOR = "5448e54d4bdc2dcc718b4568", + VEST = "5448e5284bdc2dcb718b4567", + BACKPACK = "5448e53e4bdc2d60728b4567", + VISORS = "5448e5724bdc2ddf718b4568", + FOOD = "5448e8d04bdc2ddf718b4569", + DRINK = "5448e8d64bdc2dce718b4568", + BARTER_ITEM = "5448eb774bdc2d0a728b4567", + INFO = "5448ecbe4bdc2d60728b4568", + MEDKIT = "5448f39d4bdc2d0a728b4568", + DRUGS = "5448f3a14bdc2d27728b4569", + STIMULATOR = "5448f3a64bdc2d60728b456a", + MEDICAL = "5448f3ac4bdc2dce718b4569", + MEDICAL_SUPPLIES = "57864c8c245977548867e7f1", + MOD = "5448fe124bdc2da5018b4567", + FUNCTIONAL_MOD = "550aa4154bdc2dd8348b456b", + FUEL = "5d650c3e815116009f6201d2", + GEAR_MOD = "55802f3e4bdc2de7118b4584", + STOCK = "55818a594bdc2db9688b456a", + FOREGRIP = "55818af64bdc2d5b648b4570", + MASTER_MOD = "55802f4a4bdc2ddb688b4569", + MOUNT = "55818b224bdc2dde698b456f", + MUZZLE = "5448fe394bdc2d0d028b456c", + SIGHTS = "5448fe7a4bdc2d6f028b456b", + MEDS = "543be5664bdc2dd4348b4569", + MONEY = "543be5dd4bdc2deb348b4569", + KEY = "543be5e94bdc2df1348b4568", + KEY_MECHANICAL = "5c99f98d86f7745c314214b3", + KEYCARD = "5c164d2286f774194c5e69fa", + EQUIPMENT = "543be5f84bdc2dd4348b456a", + THROW_WEAPON = "543be6564bdc2df4348b4568", + FOOD_DRINK = "543be6674bdc2df1348b4569", + PISTOL = "5447b5cf4bdc2d65278b4567", + SMG = "5447b5e04bdc2d62278b4567", + ASSAULT_RIFLE = "5447b5f14bdc2d61278b4567", + ASSAULT_CARBINE = "5447b5fc4bdc2d87278b4567", + SHOTGUN = "5447b6094bdc2dc3278b4567", + MARKSMAN_RIFLE = "5447b6194bdc2d67278b4567", + SNIPER_RIFLE = "5447b6254bdc2dc3278b4568", + MACHINE_GUN = "5447bed64bdc2d97278b4568", + GRENADE_LAUNCHER = "5447bedf4bdc2d87278b4568", + SPECIAL_WEAPON = "5447bee84bdc2dc3278b4569", + SPEC_ITEM = "5447e0e74bdc2d3c308b4567", + KNIFE = "5447e1d04bdc2dff2f8b4567", + AMMO = "5485a8684bdc2da71d8b4567", + AMMO_BOX = "543be5cb4bdc2deb348b4568", + LOOT_CONTAINER = "566965d44bdc2d814c8b4571", + MOD_CONTAINER = "5448bf274bdc2dfc2f8b456a", + SEARCHABLE_ITEM = "566168634bdc2d144c8b456c", + STASH = "566abbb64bdc2d144c8b457d", + SORTING_TABLE = "6050cac987d3f925bf016837", + LOCKABLE_CONTAINER = "5671435f4bdc2d96058b4569", + SIMPLE_CONTAINER = "5795f317245977243854e041", + INVENTORY = "55d720f24bdc2d88028b456d", + STATIONARY_CONTAINER = "567583764bdc2d98058b456e", + POCKETS = "557596e64bdc2dc2118b4571", + ARMBAND = "5b3f15d486f77432d0509248", + DOG_TAG_USEC = "59f32c3b86f77472a31742f0", + DOG_TAG_BEAR = "59f32bb586f774757e1e8442", + JEWELRY = "57864a3d24597754843f8721", + ELECTRONICS = "57864a66245977548f04a81f", + BUILDING_MATERIAL = "57864ada245977548638de91", + TOOL = "57864bb7245977548b3b66c2", + HOUSEHOLD_GOODS = "57864c322459775490116fbf", + LUBRICANT = "57864e4c24597754843f8723", + BATTERY = "57864ee62459775490116fc1", + ASSAULT_SCOPE = "55818add4bdc2d5b648b456f", + REFLEX_SIGHT = "55818ad54bdc2ddc698b4569", + TACTICAL_COMBO = "55818b164bdc2ddc698b456c", + MAGAZINE = "5448bc234bdc2d3c308b4569", + LIGHT_LASER = "55818b0e4bdc2dde698b456e", + FLASH_HIDER = "550aa4bf4bdc2dd6348b456b", + COLLIMATOR = "55818ad54bdc2ddc698b4569", + COMPACT_COLLIMATOR = "55818acf4bdc2dde698b456b", + COMPENSATOR = "550aa4af4bdc2dd4348b456e", + OPTIC_SCOPE = "55818ae44bdc2dde698b456c", + SPECIAL_SCOPE = "55818aeb4bdc2ddc698b456a", + OTHER = "590c745b86f7743cc433c5f2", + SILENCER = "550aa4cd4bdc2dd8348b456c", + PORTABLE_RANGE_FINDER = "61605ddea09d851a0a0c1bbc", + ITEM = "54009119af1c881c07000029", + CYLINDER_MAGAZINE = "610720f290b75a49ff2e5e25" +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/ConfigTypes.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/ConfigTypes.d.ts new file mode 100644 index 0000000..6bd31e8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/ConfigTypes.d.ts @@ -0,0 +1,18 @@ +export declare enum ConfigTypes { + AIRDROP = "aki-airdrop", + BOT = "aki-bot", + CORE = "aki-core", + HEALTH = "aki-health", + HIDEOUT = "aki-hideout", + HTTP = "aki-http", + IN_RAID = "aki-inraid", + INSURANCE = "aki-insurance", + INVENTORY = "aki-inventory", + LOCATION = "aki-location", + MATCH = "aki-match", + QUEST = "aki-quest", + RAGFAIR = "aki-ragfair", + REPAIR = "aki-repair", + TRADER = "aki-trader", + WEATHER = "aki-weather" +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/ELocationName.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/ELocationName.d.ts new file mode 100644 index 0000000..b56cc08 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/ELocationName.d.ts @@ -0,0 +1,11 @@ +export declare enum ELocationName { + FACTORY_DAY = "factory4_day", + BIGMAP = "bigmap", + WOODS = "Woods", + SHORELINE = "Shoreline", + INTERCHANGE = "Interchange", + LIGHTHOUSE = "Lighthouse", + LABORATORY = "laboratory", + RESERVE = "RezervBase", + ANY = "any" +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/EquipmentSlots.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/EquipmentSlots.d.ts new file mode 100644 index 0000000..35c18ff --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/EquipmentSlots.d.ts @@ -0,0 +1,16 @@ +export declare enum EquipmentSlots { + HEADWEAR = "Headwear", + EARPIECE = "Earpiece", + FACE_COVER = "FaceCover", + ARMOR_VEST = "ArmorVest", + EYEWEAR = "Eyewear", + ARM_BAND = "ArmBand", + TACTICAL_VEST = "TacticalVest", + POCKETS = "Pockets", + BACKPACK = "Backpack", + SECURED_CONTAINER = "SecuredContainer", + FIRST_PRIMARY_WEAPON = "FirstPrimaryWeapon", + SECOND_PRIMARY_WEAPON = "SecondPrimaryWeapon", + HOLSTER = "Holster", + SCABBARD = "Scabbard" +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/HideoutAreas.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/HideoutAreas.d.ts new file mode 100644 index 0000000..b44a20a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/HideoutAreas.d.ts @@ -0,0 +1,25 @@ +export declare enum HideoutAreas { + NOTSET = -1, + VENTS = 0, + SECURITY = 1, + LAVATORY = 2, + STASH = 3, + GENERATOR = 4, + HEATING = 5, + WATER_COLLECTOR = 6, + MEDSTATION = 7, + NUTRITION_UNIT = 8, + REST_SPACE = 9, + WORKBENCH = 10, + INTEL_CENTER = 11, + SHOOTING_RANGE = 12, + LIBRARY = 13, + SCAV_CASE = 14, + ILLUMINATION = 15, + PLACE_OF_FAME = 16, + AIR_FILTERING = 17, + SOLAR_POWER = 18, + BOOZE_GENERATOR = 19, + BITCOIN_FARM = 20, + CHRISTMAS_TREE = 21 +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/MemberCategory.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/MemberCategory.d.ts new file mode 100644 index 0000000..3bd9a21 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/MemberCategory.d.ts @@ -0,0 +1,13 @@ +export declare enum MemberCategory { + Default = 0, + Developer = 1, + UniqueId = 2, + Trader = 4, + Group = 8, + System = 16, + ChatModerator = 32, + ChatModeratorWithPermanentBan = 64, + UnitTest = 128, + Sherpa = 256, + Emissary = 512 +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/MessageType.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/MessageType.d.ts new file mode 100644 index 0000000..1b0c649 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/MessageType.d.ts @@ -0,0 +1,16 @@ +export declare enum MessageType { + USER_MESSAGE = 1, + NPC_TRADER = 2, + AUCTION_MESSAGE = 3, + FLEAMARKET_MESSAGE = 4, + ADMIN_MESSAGE = 5, + GROUP_CHAT_MESSAGE = 6, + SYSTEM_MESSAGE = 7, + INSURANCE_RETURN = 8, + GLOBAL_CHAT = 9, + QUEST_START = 10, + QUEST_FAIL = 11, + QUEST_SUCCESS = 12, + MESSAGE_WITH_ITEMS = 13, + INITIAL_SUPPORT = 14 +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/Money.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/Money.d.ts new file mode 100644 index 0000000..0d39613 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/Money.d.ts @@ -0,0 +1,5 @@ +export declare enum Money { + ROUBLES = "5449016a4bdc2d6f028b456f", + EUROS = "569668774bdc2da2298b4568", + DOLLARS = "5696686a4bdc2da3298b456a" +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/QuestStatus.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/QuestStatus.d.ts new file mode 100644 index 0000000..6335c73 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/QuestStatus.d.ts @@ -0,0 +1,10 @@ +export declare enum QuestStatus { + Locked = 0, + AvailableForStart = 1, + Started = 2, + AvailableForFinish = 3, + Success = 4, + Fail = 5, + FailRestartable = 6, + MarkedAsFailed = 7 +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/enums/Traders.d.ts b/Ereshkigal-AkiConfig/dist/types/models/enums/Traders.d.ts new file mode 100644 index 0000000..163cd71 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/enums/Traders.d.ts @@ -0,0 +1,10 @@ +export declare enum Traders { + PRAPOR = "54cb50c76803fa8b248b4571", + THERAPIST = "54cb57776803fa99248b456e", + FENCE = "579dc571d53a0658a154fbec", + SKIER = "58330581ace78e27b8b10cee", + PEACEKEEPER = "5935c25fb3acc3127c3d8cd9", + MECHANIC = "5a7c2eca46aef81a7ca2145d", + RAGMAN = "5ac3b934156ae10c4430e83c", + JAEGER = "5c0647fdd443bc2504c2d371" +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/external/mod.d.ts b/Ereshkigal-AkiConfig/dist/types/models/external/mod.d.ts new file mode 100644 index 0000000..ecef460 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/external/mod.d.ts @@ -0,0 +1,5 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IMod { + load: (container: DependencyContainer) => void; + delayedLoad: (container: DependencyContainer) => void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/external/tsyringe.d.ts b/Ereshkigal-AkiConfig/dist/types/models/external/tsyringe.d.ts new file mode 100644 index 0000000..56a7e58 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/external/tsyringe.d.ts @@ -0,0 +1,2 @@ +import type { DependencyContainer } from "tsyringe"; +export type { DependencyContainer }; diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/bindings/Route.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/bindings/Route.d.ts new file mode 100644 index 0000000..1b29d7d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/bindings/Route.d.ts @@ -0,0 +1,3 @@ +export interface IRoute { + aki: any; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IBotCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IBotCallbacks.d.ts new file mode 100644 index 0000000..2c42813 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IBotCallbacks.d.ts @@ -0,0 +1,10 @@ +import { IGenerateBotsRequestData } from "../../eft/bot/IGenerateBotsRequestData"; +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IBotBase } from "../../eft/common/tables/IBotBase"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +export interface IBotCallbacks { + getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; + getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; + generateBots(url: string, info: IGenerateBotsRequestData, sessionID: string): IGetBodyResponseData; + getBotCap(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IBundleCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IBundleCallbacks.d.ts new file mode 100644 index 0000000..7e37c6e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IBundleCallbacks.d.ts @@ -0,0 +1,5 @@ +export interface IBundleCallbacks { + sendBundle(sessionID: string, req: any, resp: any, body: any): any; + getBundles(url: string, info: any, sessionID: string): string; + getBundle(url: string, info: any, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ICustomizationCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ICustomizationCallbacks.d.ts new file mode 100644 index 0000000..d10027f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ICustomizationCallbacks.d.ts @@ -0,0 +1,12 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IBuyClothingRequestData } from "../../eft/customization/IBuyClothingRequestData"; +import { IWearClothingRequestData } from "../../eft/customization/IWearClothingRequestData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { ISuit } from "../../eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface ICustomizationCallbacks { + getSuits(url: string, info: any, sessionID: string): IGetBodyResponseData; + getTraderSuits(url: string, info: any, sessionID: string): IGetBodyResponseData; + wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; + buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IDataCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IDataCallbacks.d.ts new file mode 100644 index 0000000..a098560 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IDataCallbacks.d.ts @@ -0,0 +1,26 @@ +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IGlobals } from "../../eft/common/IGlobals"; +import { IQuest } from "../../eft/common/tables/IQuest"; +import { IHideoutArea } from "../../eft/hideout/IHideoutArea"; +import { IHideoutProduction } from "../../eft/hideout/IHideoutProduction"; +import { IHideoutScavCase } from "../../eft/hideout/IHideoutScavCase"; +import { IHideoutSettingsBase } from "../../eft/hideout/IHideoutSettingsBase"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { ILanguageBase } from "../server/ILocaleBase"; +import { ISettingsBase } from "../server/ISettingsBase"; +export interface IDataCallbacks { + getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string; + getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateQuests(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IDialogueCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IDialogueCallbacks.d.ts new file mode 100644 index 0000000..fe2115a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IDialogueCallbacks.d.ts @@ -0,0 +1,34 @@ +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; +import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData"; +import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData"; +import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData"; +import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData"; +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IFriendRequestData } from "../../eft/dialog/IFriendRequestData"; +import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData"; +import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData"; +import { IGetAllAttachmentsRequestData } from "../../eft/dialog/IGetAllAttachmentsRequestData"; +import { IGetChatServerListRequestData } from "../../eft/dialog/IGetChatServerListRequestData"; +import { IGetFriendListDataResponse } from "../../eft/dialog/IGetFriendListDataResponse"; +import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest"; +import { IGetMailDialogViewResponseData } from "../../eft/dialog/IGetMailDialogViewResponseData"; +import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse"; +import { DialogueInfo } from "../../eft/profile/IAkiProfile"; +export interface IDialogueCallbacks { + getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData; + removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData; + pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData; + unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData; + setRead(url: string, info: ISetDialogReadRequestData, sessionID: string): IGetBodyResponseData; + getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData; + listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData; + sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData; + update(): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IGameCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IGameCallbacks.d.ts new file mode 100644 index 0000000..38ebc5f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IGameCallbacks.d.ts @@ -0,0 +1,16 @@ +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IGameEmptyCrcRequestData } from "../../eft/game/IGameEmptyCrcRequestData"; +import { IVersionValidateRequestData } from "../../eft/game/IVersionValidateRequestData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; +import { IGameConfigResponse } from "../../eft/game/IGameConfigResponse"; +export interface IGameCallbacks { + versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; + gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gameLogout(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData; + getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getVersion(url: string, info: IEmptyRequestData, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHandbookCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHandbookCallbacks.d.ts new file mode 100644 index 0000000..5857a3e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHandbookCallbacks.d.ts @@ -0,0 +1,3 @@ +export interface IHandbookCallbacks { + load(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHealthCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHealthCallbacks.d.ts new file mode 100644 index 0000000..d238c7a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHealthCallbacks.d.ts @@ -0,0 +1,13 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IAkiProfile } from "../../eft/profile/IAkiProfile"; +import { ISyncHealthRequestData } from "../../eft/health/ISyncHealthRequestData"; +import { IOffraidEatRequestData } from "../../eft/health/IOffraidEatRequestData"; +import { IOffraidHealRequestData } from "../../eft/health/IOffraidHealRequestData"; +import { IHealthTreatmentRequestData } from "../../eft/health/IHealthTreatmentRequestData"; +export interface IHealthCallbacks { + onLoad(sessionID: string): IAkiProfile; + syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): any; + offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): any; + offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): any; + healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): any; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHideoutCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHideoutCallbacks.d.ts new file mode 100644 index 0000000..e9badb6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHideoutCallbacks.d.ts @@ -0,0 +1,23 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IHideoutUpgradeRequestData } from "../../eft/hideout/IHideoutUpgradeRequestData"; +import { IHideoutUpgradeCompleteRequestData } from "../../eft/hideout/IHideoutUpgradeCompleteRequestData"; +import { IHideoutScavCaseStartRequestData } from "../../eft/hideout/IHideoutScavCaseStartRequestData"; +import { IHideoutPutItemInRequestData } from "../../eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutTakeItemOutRequestData } from "../../eft/hideout/IHideoutTakeItemOutRequestData"; +import { IHideoutToggleAreaRequestData } from "../../eft/hideout/IHideoutToggleAreaRequestData"; +import { IHideoutSingleProductionStartRequestData } from "../../eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutContinousProductionStartRequestData } from "../../eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutTakeProductionRequestData } from "../../eft/hideout/IHideoutTakeProductionRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface IHideoutCallbacks { + upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; + upgradeComplete(pmcData: IPmcData, body: IHideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; + putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; + takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; + singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + update(timeSinceLastRun: number): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHttpCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHttpCallbacks.d.ts new file mode 100644 index 0000000..3ecd945 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IHttpCallbacks.d.ts @@ -0,0 +1,5 @@ +export interface IHttpCallbacks { + load(): void; + sendImage(sessionID: string, req: any, resp: any, body: any): void; + getImage(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInraidCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInraidCallbacks.d.ts new file mode 100644 index 0000000..e959b98 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInraidCallbacks.d.ts @@ -0,0 +1,14 @@ +import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; +import { IAkiProfile } from "../../eft/profile/IAkiProfile"; +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IRegisterPlayerRequestData } from "../../eft/inRaid/IRegisterPlayerRequestData"; +import { ISaveProgressRequestData } from "../../eft/inRaid/ISaveProgressRequestData"; +export interface IInraidCallbacks { + onLoad(sessionID: string): IAkiProfile; + registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; + saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData; + getRaidEndState(): string; + getRaidMenuSettings(url: string, info: IEmptyRequestData, sessionID: string): string; + getWeaponDurability(url: string, info: any, sessionID: string): string; + getAirdropConfig(url: string, info: any, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInsuranceCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInsuranceCallbacks.d.ts new file mode 100644 index 0000000..082112d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInsuranceCallbacks.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IAkiProfile } from "../../eft/profile/IAkiProfile"; +import { IGetInsuranceCostRequestData } from "../../eft/insurance/IGetInsuranceCostRequestData"; +import { IInsureRequestData } from "../../eft/insurance/IInsureRequestData"; +export interface IInsuranceCallbacks { + onLoad(sessionID: string): IAkiProfile; + getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): any; + insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): any; + update(secondsSinceLastRun: number): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInventoryCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInventoryCallbacks.d.ts new file mode 100644 index 0000000..e53f7d0 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IInventoryCallbacks.d.ts @@ -0,0 +1,36 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IInventoryFoldRequestData } from "../../eft/inventory/IInventoryFoldRequestData"; +import { IInventorySplitRequestData } from "../../eft/inventory/IInventorySplitRequestData"; +import { IInventoryMoveRequestData } from "../../eft/inventory/IInventoryMoveRequestData"; +import { IInventoryMergeRequestData } from "../../eft/inventory/IInventoryMergeRequestData"; +import { IInventoryRemoveRequestData } from "../../eft/inventory/IInventoryRemoveRequestData"; +import { IInventoryTransferRequestData } from "../../eft/inventory/IInventoryTransferRequestData"; +import { IInventorySwapRequestData } from "../../eft/inventory/IInventorySwapRequestData"; +import { IInventoryToggleRequestData } from "../../eft/inventory/IInventoryToggleRequestData"; +import { IInventoryTagRequestData } from "../../eft/inventory/IInventoryTagRequestData"; +import { IInventoryBindRequestData } from "../../eft/inventory/IInventoryBindRequestData"; +import { IInventoryExamineRequestData } from "../../eft/inventory/IInventoryExamineRequestData"; +import { IInventoryReadEncyclopediaRequestData } from "../../eft/inventory/IInventoryReadEncyclopediaRequestData"; +import { IInventorySortRequestData } from "../../eft/inventory/IInventorySortRequestData"; +import { IInventoryCreateMarkerRequestData } from "../../eft/inventory/IInventoryCreateMarkerRequestData"; +import { IInventoryDeleteMarkerRequestData } from "../../eft/inventory/IInventoryDeleteMarkerRequestData"; +import { IInventoryEditMarkerRequestData } from "../../eft/inventory/IInventoryEditMarkerRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface IInventoryCallbacks { + moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; + removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; + splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse; + mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse; + transferItem(pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string): IItemEventRouterResponse; + swapItem(pmcData: IPmcData, body: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse; + foldItem(pmcData: IPmcData, body: IInventoryFoldRequestData, sessionID: string): IItemEventRouterResponse; + toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse; + tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; + bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; + examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; + sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse; + createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse; + deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse; + editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IItemEventCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IItemEventCallbacks.d.ts new file mode 100644 index 0000000..59db771 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IItemEventCallbacks.d.ts @@ -0,0 +1,6 @@ +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterRequest } from "../../eft/itemEvent/IItemEventRouterRequest"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface IItemEventCallbacks { + handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ILauncherCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ILauncherCallbacks.d.ts new file mode 100644 index 0000000..52dfec6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ILauncherCallbacks.d.ts @@ -0,0 +1,20 @@ +import { IRegisterData } from "../../eft/launcher/IRegisterData"; +import { IRemoveProfileData } from "../../eft/launcher/IRemoveProfileData"; +import { ILoginRequestData } from "../../eft/launcher/ILoginRequestData"; +import { IChangeRequestData } from "../../eft/launcher/IChangeRequestData"; +import { IGetMiniProfileRequestData } from "../../eft/launcher/IGetMiniProfileRequestData.js"; +export interface ILauncherCallbacks { + connect(): string; + login(url: string, info: ILoginRequestData, sessionID: string): string; + register(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"; + get(url: string, info: ILoginRequestData, sessionID: string): string; + changeUsername(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"; + changePassword(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"; + wipe(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"; + getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string; + getAllMiniProfiles(url: string, info: any, sessionID: string): string; + getServerVersion(): string; + ping(url: string, info: any, sessionID: string): string; + removeProfile(url: string, info: IRemoveProfileData, sessionID: string): string; + getCompatibleTarkovVersion(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ILocationCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ILocationCallbacks.d.ts new file mode 100644 index 0000000..71656a4 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ILocationCallbacks.d.ts @@ -0,0 +1,8 @@ +import { IGetLocationRequestData } from "../../eft/location/IGetLocationRequestData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { ILocationsGenerateAllResponse } from "../../eft/common/ILocationsSourceDestinationBase"; +import { ILocationBase } from "../../eft/common/ILocationBase"; +export interface ILocationCallbacks { + getLocationData(url: string, info: any, sessionID: string): IGetBodyResponseData; + getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IMatchCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IMatchCallbacks.d.ts new file mode 100644 index 0000000..fcbf173 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IMatchCallbacks.d.ts @@ -0,0 +1,25 @@ +import { IStartOfflineRaidRequestData } from "../../eft/match/IStartOffineRaidRequestData"; +import { IEndOfflineRaidRequestData } from "../../eft/match/IEndOfflineRaidRequestData"; +import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IPmcData } from "../../eft/common/IPmcData"; +export interface IMatchCallbacks { + updatePing(url: string, info: any, sessionID: string): INullResponseData; + exitMatch(url: string, info: any, sessionID: string): INullResponseData; + exitToMenu(url: string, info: any, sessionID: string): INullResponseData; + startGroupSearch(url: string, info: any, sessionID: string): INullResponseData; + stopGroupSearch(url: string, info: any, sessionID: string): INullResponseData; + sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + putMetrics(url: string, info: any, sessionID: string): INullResponseData; + getProfile(url: string, info: any, sessionID: string): IGetBodyResponseData; + serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; + joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData; + getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData; + getGroupStatus(url: string, info: any, sessionID: string): IGetBodyResponseData; + createGroup(url: string, info: any, sessionID: string): IGetBodyResponseData; + deleteGroup(url: string, info: any, sessionID: string): INullResponseData; + startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData; + endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IModCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IModCallbacks.d.ts new file mode 100644 index 0000000..1a4cd7b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IModCallbacks.d.ts @@ -0,0 +1,6 @@ +export interface IModCallbacks { + load(): void; + sendBundle(sessionID: string, req: any, resp: any, body: any): void; + getBundles(url: string, info: any, sessionID: string): string; + getBundle(url: string, info: any, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/INoteCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/INoteCallbacks.d.ts new file mode 100644 index 0000000..8453a4f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/INoteCallbacks.d.ts @@ -0,0 +1,8 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { INoteActionData } from "../../eft/notes/INoteActionData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface INoteCallbacks { + addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/INotifierCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/INotifierCallbacks.d.ts new file mode 100644 index 0000000..a211310 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/INotifierCallbacks.d.ts @@ -0,0 +1,17 @@ +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { INotifierChannel } from "../../eft/notifier/INotifier"; +import { ISelectProfileRequestData } from "../../eft/notifier/ISelectProfileRequestData"; +export interface INotifierCallbacks { + /** + * If we don't have anything to send, it's ok to not send anything back + * because notification requests can be long-polling. In fact, we SHOULD wait + * until we actually have something to send because otherwise we'd spam the client + * and the client would abort the connection due to spam. + */ + sendNotification(sessionID: string, req: any, resp: any, data: any): void; + getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData; + createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData; + notify(url: string, info: any, sessionID: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts new file mode 100644 index 0000000..97c6487 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IPresetBuildActionRequestData } from "../../eft/presetBuild/IPresetBuildActionRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { WeaponBuild } from "../../eft/profile/IAkiProfile"; +export interface IPresetBuildCallbacks { + getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; + saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; + removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IPresetCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IPresetCallbacks.d.ts new file mode 100644 index 0000000..4169857 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IPresetCallbacks.d.ts @@ -0,0 +1,3 @@ +export interface IPresetCallbacks { + load(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IProfileCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IProfileCallbacks.d.ts new file mode 100644 index 0000000..9d4d2df --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IProfileCallbacks.d.ts @@ -0,0 +1,21 @@ +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; +import { IProfileChangeNicknameRequestData } from "../../eft/profile/IProfileChangeNicknameRequestData"; +import { IProfileChangeVoiceRequestData } from "../../eft/profile/IProfileChangeVoiceRequestData"; +import { IProfileCreateRequestData } from "../../eft/profile/IProfileCreateRequestData"; +import { IValidateNicknameRequestData } from "../../eft/profile/IValidateNicknameRequestData"; +import { ISearchFriendRequestData } from "../../eft/profile/ISearchFriendRequestData"; +import { ISearchFriendResponse } from "../../eft/profile/ISearchFriendResponse"; +export interface IProfileCallbacks { + onLoad(sessionID: string): any; + createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; + getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + regenerateScav(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + changeVoice(url: string, info: IProfileChangeVoiceRequestData, sessionID: string): INullResponseData; + changeNickname(url: string, info: IProfileChangeNicknameRequestData, sessionID: string): IGetBodyResponseData; + validateNickname(url: string, info: IValidateNicknameRequestData, sessionID: string): IGetBodyResponseData; + getReservedNickname(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IQuestCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IQuestCallbacks.d.ts new file mode 100644 index 0000000..1c4d0c3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IQuestCallbacks.d.ts @@ -0,0 +1,19 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IAcceptQuestRequestData } from "../../eft/quests/IAcceptQuestRequestData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IListQuestsRequestData } from "../../eft/quests/IListQuestsRequestData"; +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { ICompleteQuestRequestData } from "../../eft/quests/ICompleteQuestRequestData"; +import { IHandoverQuestRequestData } from "../../eft/quests/IHandoverQuestRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IQuest } from "../../eft/common/tables/IQuest"; +import { IPmcDataRepeatableQuest } from "../../eft/common/tables/IRepeatableQuests"; +import { IRepeatableQuestChangeRequest } from "../../eft/quests/IRepeatableQuestChangeRequest"; +export interface IQuestCallbacks { + changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; + listQuests(url: string, info: IListQuestsRequestData, sessionID: string): IGetBodyResponseData; + activityPeriods(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IRagfairCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IRagfairCallbacks.d.ts new file mode 100644 index 0000000..9282bd4 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IRagfairCallbacks.d.ts @@ -0,0 +1,21 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { ISearchRequestData } from "../../eft/ragfair/ISearchRequestData"; +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IGetMarketPriceRequestData } from "../../eft/ragfair/IGetMarketPriceRequestData"; +import { IAddOfferRequestData } from "../../eft/ragfair/IAddOfferRequestData"; +import { IRemoveOfferRequestData } from "../../eft/ragfair/IRemoveOfferRequestData"; +import { IExtendOfferRequestData } from "../../eft/ragfair/IExtendOfferRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IGetItemPriceResult } from "../../eft/ragfair/IGetItemPriceResult"; +export interface IRagfairCallbacks { + load(): void; + search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData; + getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData; + getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; + removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse; + extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; + update(timeSinceLastRun: number): boolean; + updatePlayer(timeSinceLastRun: number): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IRepairCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IRepairCallbacks.d.ts new file mode 100644 index 0000000..e8183c9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IRepairCallbacks.d.ts @@ -0,0 +1,8 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IRepairActionDataRequest } from "../../eft/repair/IRepairActionDataRequest"; +import { ITraderRepairActionDataRequest } from "../../eft/repair/ITraderRepairActionDataRequest"; +export interface IRepairCallbacks { + traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; + repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ISaveCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ISaveCallbacks.d.ts new file mode 100644 index 0000000..1ad3b82 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ISaveCallbacks.d.ts @@ -0,0 +1,4 @@ +export interface ISaveCallbacks { + load(): void; + update(secondsSinceLastRun: number): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ITradeCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ITradeCallbacks.d.ts new file mode 100644 index 0000000..2f41d54 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ITradeCallbacks.d.ts @@ -0,0 +1,8 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IProcessRagfairTradeRequestData } from "../../eft/trade/IProcessRagfairTradeRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBaseTradeRequestData } from "../../eft/trade/IProcessBaseTradeRequestData"; +export interface ITradeCallbacks { + processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; + processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ITraderCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ITraderCallbacks.d.ts new file mode 100644 index 0000000..e0d7d06 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/ITraderCallbacks.d.ts @@ -0,0 +1,11 @@ +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IBarterScheme, ITraderAssort, ITraderBase } from "../../eft/common/tables/ITrader"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +export interface ITraderCallbacks { + load(): void; + getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getProfilePurchases(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; + getTrader(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + update(): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IWeatherCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IWeatherCallbacks.d.ts new file mode 100644 index 0000000..9ac72ae --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IWeatherCallbacks.d.ts @@ -0,0 +1,5 @@ +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +export interface IWeatherCallbacks { + getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IWishlistCallbacks.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IWishlistCallbacks.d.ts new file mode 100644 index 0000000..e5d519c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/callbacks/IWishlistCallbacks.d.ts @@ -0,0 +1,7 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IWishlistActionData } from "../../eft/wishlist/IWishlistActionData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface IWishlistCallbacks { + addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; + removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IAirdropConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IAirdropConfig.d.ts new file mode 100644 index 0000000..f4aee89 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IAirdropConfig.d.ts @@ -0,0 +1,20 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IAirdropConfig extends IBaseConfig { + kind: "aki-airdrop"; + airdropChancePercent: AirdropChancePercent; + airdropMinOpenHeight: number; + airdropMaxOpenHeight: number; + planeMinFlyHeight: number; + planeMaxFlyHeight: number; + planeVolume: number; + airdropMinStartTimeSeconds: number; + airdropMaxStartTimeSeconds: number; +} +export interface AirdropChancePercent { + bigmap: number; + woods: number; + lighthouse: number; + shoreline: number; + interchange: number; + reserve: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IBaseConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IBaseConfig.d.ts new file mode 100644 index 0000000..8b6ba88 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IBaseConfig.d.ts @@ -0,0 +1,3 @@ +export interface IBaseConfig { + kind: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IBotConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IBotConfig.d.ts new file mode 100644 index 0000000..5fb9d93 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IBotConfig.d.ts @@ -0,0 +1,114 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IBotConfig extends IBaseConfig { + kind: "aki-bot"; + presetBatch: PresetBatch; + bosses: string[]; + durability: Durability; + lootNValue: LootNvalue; + revenge: Record; + pmc: PmcConfig; + showTypeInNickname: boolean; + maxBotCap: number; +} +export interface PresetBatch { + assault: number; + bossBully: number; + bossGluhar: number; + bossKilla: number; + bossKojaniy: number; + bossSanitar: number; + bossTagilla: number; + bossTest: number; + cursedAssault: number; + followerBully: number; + followerGluharAssault: number; + followerGluharScout: number; + followerGluharSecurity: number; + followerGluharSnipe: number; + followerKojaniy: number; + followerSanitar: number; + followerTagilla: number; + followerTest: number; + marksman: number; + pmcBot: number; + sectantPriest: number; + sectantWarrior: number; + gifter: number; + test: number; + exUsec: number; +} +export interface Durability { + default: DefaultDurability; + pmc: PmcDurability; + boss: BotDurability; + follower: BotDurability; + assault: BotDurability; + cursedassault: BotDurability; + marksman: BotDurability; + pmcbot: BotDurability; + exusec: BotDurability; + sectantpriest: BotDurability; + sectantwarrior: BotDurability; +} +export interface DefaultDurability { + armor: DefaultArmor; + weapon: WeaponDurability; +} +export interface DefaultArmor { + maxDelta: number; + minDelta: number; +} +export interface WeaponDurability { + lowestMax: number; + highestMax: number; + maxDelta: number; + minDelta: number; +} +export interface PmcDurability { + armor: PmcDurabilityArmor; + weapon: WeaponDurability; +} +export interface PmcDurabilityArmor { + lowestMaxPercent: number; + highestMaxPercent: number; + maxDelta: number; + minDelta: number; +} +export interface BotDurability { + armor: ArmorDurability; + weapon: WeaponDurability; +} +export interface ArmorDurability { + maxDelta: number; + minDelta: number; +} +export interface LootNvalue { + scav: number; + pmc: number; +} +export interface PmcConfig { + dynamicLoot: DynamicLoot; + cartridgeBlacklist: string[]; + difficulty: string; + isUsec: number; + chanceSameSideIsHostilePercent: number; + usecType: string; + bearType: string; + maxBackpackLootTotalRub: number; + maxPocketLootTotalRub: number; + maxVestLootTotalRub: number; + types: Types; + enemyTypes: string[]; +} +export interface DynamicLoot { + whitelist: string[]; + blacklist: string[]; + spawnLimits: Record; + moneyStackLimits: Record; +} +export interface Types { + assault: number; + cursedAssault: number; + pmcBot: number; + exUsec: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/ICoreConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/ICoreConfig.d.ts new file mode 100644 index 0000000..cfcaf61 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/ICoreConfig.d.ts @@ -0,0 +1,7 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ICoreConfig extends IBaseConfig { + kind: "aki-core"; + akiVersion: string; + projectName: string; + compatibleTarkovVersion: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHealthConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHealthConfig.d.ts new file mode 100644 index 0000000..fdbf656 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHealthConfig.d.ts @@ -0,0 +1,14 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IHealthConfig extends IBaseConfig { + kind: "aki-health"; + healthMultipliers: HealthMultipliers; + save: Save; +} +export interface HealthMultipliers { + death: number; + blacked: number; +} +export interface Save { + health: boolean; + effects: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHideoutConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHideoutConfig.d.ts new file mode 100644 index 0000000..4658fa6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHideoutConfig.d.ts @@ -0,0 +1,27 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IHideoutConfig extends IBaseConfig { + kind: "aki-hideout"; + runIntervalSeconds: number; + scavCase: ScavCase; + fuelDrainRateMultipler: number; +} +export interface ScavCase { + rewardParentBlacklist: string[]; + rewardItemBlacklist: any[]; + ammoRewards: AmmoRewards; + moneyRewards: MoneyRewards; +} +export interface AmmoRewards { + giveMultipleOfTen: boolean; + minAmount: number; +} +export interface MoneyRewards { + enabled: boolean; + rub: MinMax; + usd: MinMax; + eur: MinMax; +} +export interface MinMax { + min: number; + max: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHttpConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHttpConfig.d.ts new file mode 100644 index 0000000..c41d035 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IHttpConfig.d.ts @@ -0,0 +1,6 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IHttpConfig extends IBaseConfig { + kind: "aki-http"; + ip: string; + port: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInRaidConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInRaidConfig.d.ts new file mode 100644 index 0000000..baaf083 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInRaidConfig.d.ts @@ -0,0 +1,21 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IInRaidConfig extends IBaseConfig { + kind: "aki-inraid"; + MIAOnRaidEnd: boolean; + raidMenuSettings: RaidMenuSettings; + save: Save; + carExtracts: string[]; + carExtractBaseStandingGain: number; + scavExtractGain: number; +} +export interface RaidMenuSettings { + aiAmount: string; + aiDifficulty: string; + bossEnabled: boolean; + scavWars: boolean; + taggedAndCursed: boolean; +} +export interface Save { + loot: boolean; + durability: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInsuranceConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInsuranceConfig.d.ts new file mode 100644 index 0000000..6e9c744 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInsuranceConfig.d.ts @@ -0,0 +1,7 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IInsuranceConfig extends IBaseConfig { + kind: "aki-insurance"; + insuranceMultiplier: Record; + returnChancePercent: Record; + runIntervalSeconds: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInventoryConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInventoryConfig.d.ts new file mode 100644 index 0000000..ffffa41 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IInventoryConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IInventoryConfig extends IBaseConfig { + kind: "aki-inventory"; + newItemsMarkedFound: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/ILocationConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/ILocationConfig.d.ts new file mode 100644 index 0000000..0551d57 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/ILocationConfig.d.ts @@ -0,0 +1,24 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ILocationConfig extends IBaseConfig { + kind: "aki-location"; + looseLootMultiplier: LootMultiplier; + staticLootMultiplier: LootMultiplier; +} +export interface LootMultiplier { + bigmap: number; + develop: number; + factory4_day: number; + factory4_night: number; + interchange: number; + laboratory: number; + rezervbase: number; + shoreline: number; + woods: number; + hideout: number; + lighthouse: number; + privatearea: number; + suburbs: number; + tarkovstreets: number; + terminal: number; + town: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IMatchConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IMatchConfig.d.ts new file mode 100644 index 0000000..92c4d77 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IMatchConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IMatchConfig extends IBaseConfig { + kind: "aki-match"; + enabled: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IQuestConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IQuestConfig.d.ts new file mode 100644 index 0000000..be4a97b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IQuestConfig.d.ts @@ -0,0 +1,77 @@ +import { ELocationName } from "../../enums/ELocationName"; +import { IBaseConfig } from "./IBaseConfig"; +export interface IQuestConfig extends IBaseConfig { + kind: "aki-quest"; + redeemTime: number; + repeatableQuests: IRepeatableQuestConfig[]; +} +export interface IRepeatableQuestConfig { + name: string; + types: string[]; + resetTime: number; + numQuests: number; + minPlayerLevel: number; + rewardScaling: IRewardScaling; + locations: Record; + traderWhitelist: ITraderWhitelist[]; + questConfig: IQuestConfig; +} +export interface IRewardScaling { + levels: number[]; + experience: number[]; + roubles: number[]; + items: number[]; + reputation: number[]; + rewardSpread: number; +} +export interface ITraderWhitelist { + traderId: string; + questTypes: string[]; +} +export interface IQuestConfig { + Exploration: IExploration; + Completion: ICompletion; + Elimination: IElimination; +} +export interface IExploration { + maxExtracts: number; + specificExits: ISpecificExits; +} +export interface ISpecificExits { + probability: number; + passageRequirementWhitelist: string[]; +} +export interface ICompletion { + minRequestedAmount: number; + maxRequestedAmount: number; + minRequestedBulletAmount: number; + maxRequestedBulletAmount: number; + useWhitelist: boolean; + useBlacklist: boolean; +} +export interface IElimination { + targets: ITarget[]; + bodyPartProb: number; + bodyParts: IBodyPart[]; + specificLocationProb: number; + distLocationBlacklist: string[]; + distProb: number; + maxDist: number; + minDist: number; + maxKills: number; + minKills: number; +} +export interface IProbabilityObject { + key: string; + relativeProbability: number; + data?: any; +} +export interface ITarget extends IProbabilityObject { + data: IBossInfo; +} +export interface IBossInfo { + isBoss: boolean; +} +export interface IBodyPart extends IProbabilityObject { + data: string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IRagfairConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IRagfairConfig.d.ts new file mode 100644 index 0000000..2d151ca --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IRagfairConfig.d.ts @@ -0,0 +1,59 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IRagfairConfig extends IBaseConfig { + kind: "aki-ragfair"; + runIntervalSeconds: number; + sell: Sell; + traders: Record; + dynamic: Dynamic; +} +export interface Sell { + fees: boolean; + chance: Chance; + time: Time; + reputation: Reputation; +} +export interface Chance { + base: number; + overprices: number; + underpriced: number; +} +export interface Time { + base: number; + min: number; + max: number; +} +export interface Reputation { + gain: number; + loss: number; +} +export interface Dynamic { + expiredOfferThreshold: number; + offerItemCount: MinMax; + price: MinMax; + endTimeSeconds: MinMax; + condition: Condition; + stackablePercent: MinMax; + nonStackableCount: MinMax; + rating: MinMax; + currencies: Record; + showAsSingleStack: string[]; + blacklist: Blacklist; +} +export interface MinMax { + min: number; + max: number; +} +export interface Condition { + conditionChance: number; + min: number; + max: number; +} +export interface Blacklist { + /** + * show/hide trader items that are blacklisted by bsg + */ + traderItems: boolean; + custom: string[]; + enableBsgList: boolean; + enableQuestList: boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IRepairConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IRepairConfig.d.ts new file mode 100644 index 0000000..4966eb5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IRepairConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IRepairConfig extends IBaseConfig { + kind: "aki-repair"; + priceMultiplier: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/ITraderConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/ITraderConfig.d.ts new file mode 100644 index 0000000..dab73e3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/ITraderConfig.d.ts @@ -0,0 +1,15 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ITraderConfig extends IBaseConfig { + kind: "aki-trader"; + updateTime: UpdateTime[]; + updateTimeDefault: number; + fenceAssortSize: number; + fenceMaxPresetsCount: number; + fencePresetPriceMult: number; + minDurabilityForSale: number; + fenceItemIgnoreList: string[]; +} +export interface UpdateTime { + traderId: string; + seconds: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/config/IWeatherConfig.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IWeatherConfig.d.ts new file mode 100644 index 0000000..c52cab3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/config/IWeatherConfig.d.ts @@ -0,0 +1,21 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IWeatherConfig extends IBaseConfig { + kind: "aki-weather"; + acceleration: number; + weather: Weather; +} +export interface Weather { + clouds: MinMax; + windSpeed: MinMax; + windDirection: MinMax; + windGustiness: MinMax; + rain: MinMax; + rainIntensity: MinMax; + fog: MinMax; + temp: MinMax; + pressure: MinMax; +} +export interface MinMax { + min: number; + max: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/controllers/IBotController.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/controllers/IBotController.d.ts new file mode 100644 index 0000000..010e208 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/controllers/IBotController.d.ts @@ -0,0 +1,13 @@ +import { IGenerateBotsRequestData } from "../../eft/bot/IGenerateBotsRequestData"; +import { IBotBase } from "../../eft/common/tables/IBotBase"; +import { IBotCore } from "../../eft/common/tables/IBotCore"; +import { Difficulty } from "../../eft/common/tables/IBotType"; +export interface IBotController { + getBotLimit(type: string): number; + getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty; + isBotPmc(botRole: string): boolean; + isBotBoss(botRole: string): boolean; + isBotFollower(botRole: string): boolean; + generate(info: IGenerateBotsRequestData, playerScav: boolean): IBotBase[]; + getBotCap(): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IBotGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IBotGenerator.d.ts new file mode 100644 index 0000000..f3e8586 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IBotGenerator.d.ts @@ -0,0 +1,10 @@ +import { Inventory as PmcInventory } from "../../eft/common/IPmcData"; +import { Inventory, Chances, Generation } from "../../eft/common/tables/IBotType"; +export interface IBotGenerator { + generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; +} +export interface IExhaustableArray { + getRandomValue(): T; + getFirstValue(): T; + hasValues(): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/generators/ILocationGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/ILocationGenerator.d.ts new file mode 100644 index 0000000..530ceca --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/ILocationGenerator.d.ts @@ -0,0 +1,6 @@ +import { IStaticContainerProps, IStaticLootDetails, IStaticAmmoDetails, IStaticForcedProps } from "../../eft/common/tables/ILootBase"; +import { ILooseLoot, SpawnpointTemplate } from "../../eft/common/ILooseLoot"; +export interface ILocationGenerator { + generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record, staticAmmoDist: Record, locationName: string): IStaticContainerProps; + generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): SpawnpointTemplate[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IPMCLootGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IPMCLootGenerator.d.ts new file mode 100644 index 0000000..a9db89b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IPMCLootGenerator.d.ts @@ -0,0 +1,4 @@ +export interface IPMCLootGenerator { + generatePMCPocketLootPool(): string[]; + generatePMCBackpackLootPool(): string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IRagfairAssortGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IRagfairAssortGenerator.d.ts new file mode 100644 index 0000000..6670540 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IRagfairAssortGenerator.d.ts @@ -0,0 +1,4 @@ +import { Item } from "../../eft/common/tables/IItem"; +export interface IRagfairAssortGenerator { + getAssortItems(): Item[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IRagfairOfferGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IRagfairOfferGenerator.d.ts new file mode 100644 index 0000000..30b4be5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/generators/IRagfairOfferGenerator.d.ts @@ -0,0 +1,6 @@ +import { IBarterScheme } from "../../eft/common/tables/ITrader"; +import { IRagfairOffer } from "../../eft/ragfair/IRagfairOffer"; +import { Item } from "../../eft/common/tables/IItem"; +export interface IRagfairOfferGenerator { + createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece: boolean): IRagfairOffer; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IMod.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IMod.d.ts new file mode 100644 index 0000000..e6eec79 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IMod.d.ts @@ -0,0 +1,10 @@ +export declare namespace ModLoader { + interface IMod { + name: string; + version: string; + main?: string; + author?: string; + license: string; + dependencies?: Record; + } +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IModLoader.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IModLoader.d.ts new file mode 100644 index 0000000..40a5e19 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IModLoader.d.ts @@ -0,0 +1,7 @@ +import { DependencyContainer } from "tsyringe"; +export interface IModLoader { + load(container: DependencyContainer): void; + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + getModPath(mod: string): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IPackageJsonData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IPackageJsonData.d.ts new file mode 100644 index 0000000..99e4ef9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/mod/IPackageJsonData.d.ts @@ -0,0 +1,12 @@ +export interface IPackageJsonData { + incompatibilities?: string[]; + dependencies?: string[]; + modDependencies?: Record; + name: string; + author: string; + version: string; + akiVersion: string; + licence: string; + main: string; + contributors: string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/ragfair/IRagfairServerPrices.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/ragfair/IRagfairServerPrices.d.ts new file mode 100644 index 0000000..c7d246a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/ragfair/IRagfairServerPrices.d.ts @@ -0,0 +1,4 @@ +export interface IRagfairServerPrices { + static: Record; + dynamic: Record; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/server/IDatabaseTables.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/server/IDatabaseTables.d.ts new file mode 100644 index 0000000..e0d3fdd --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/server/IDatabaseTables.d.ts @@ -0,0 +1,52 @@ +import { IGlobals } from "../../eft/common/IGlobals"; +import { IBotBase } from "../../eft/common/tables/IBotBase"; +import { IBotCore } from "../../eft/common/tables/IBotCore"; +import { IBotType } from "../../eft/common/tables/IBotType"; +import { ICustomizationItem } from "../../eft/common/tables/ICustomizationItem"; +import { IHandbookBase } from "../../eft/common/tables/IHandbookBase"; +import { ILootBase } from "../../eft/common/tables/ILootBase"; +import { IMatch } from "../../eft/common/tables/IMatch"; +import { IQuest } from "../../eft/common/tables/IQuest"; +import { IRepeatableQuestDatabase } from "../../eft/common/tables/IRepeatableQuests"; +import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; +import { ITrader } from "../../eft/common/tables/ITrader"; +import { IHideoutArea } from "../../eft/hideout/IHideoutArea"; +import { IHideoutProduction } from "../../eft/hideout/IHideoutProduction"; +import { IHideoutScavCase } from "../../eft/hideout/IHideoutScavCase"; +import { IHideoutSettingsBase } from "../../eft/hideout/IHideoutSettingsBase"; +import { ILocaleBase } from "./ILocaleBase"; +import { ILocations } from "./ILocations"; +import { IServerBase } from "./IServerBase"; +import { ISettingsBase } from "./ISettingsBase"; +export interface IDatabaseTables { + bots?: { + types: Record; + base: IBotBase; + core: IBotCore; + }; + hideout?: { + areas: IHideoutArea[]; + production: IHideoutProduction[]; + scavcase: IHideoutScavCase[]; + settings: IHideoutSettingsBase; + }; + locales?: ILocaleBase; + locations?: ILocations; + loot?: ILootBase; + match?: IMatch; + templates?: { + character: string[]; + items: Record; + quests: IQuest[]; + repeatableQuests: IRepeatableQuestDatabase; + clientItems: Record; + handbook: IHandbookBase; + customization: Record; + profiles: any; + prices: Record; + }; + traders?: Record; + globals?: IGlobals; + server?: IServerBase; + settings?: ISettingsBase; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/server/IHttpServer.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/server/IHttpServer.d.ts new file mode 100644 index 0000000..c828399 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/server/IHttpServer.d.ts @@ -0,0 +1,12 @@ +/// +/// +import http, { ServerResponse } from "http"; +import { INotification } from "../../eft/notifier/INotifier"; +export interface IHttpServer { + load(): void; + getCookies(req: http.IncomingMessage): any; + sendFile(resp: ServerResponse, file: any): void; + isConnectionWebSocket(sessionID: string): boolean; + sendResponse(sessionID: string, req: any, resp: any, body: Buffer): void; + sendMessage(sessionID: string, output: INotification): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/server/ILocaleBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/server/ILocaleBase.d.ts new file mode 100644 index 0000000..8887c06 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/server/ILocaleBase.d.ts @@ -0,0 +1,61 @@ +export interface ILocaleBase { + global: Record; + menu: Record; + languages: ILanguageBase[]; +} +export interface ILocaleGlobalBase { + interface: Record; + enum: any[]; + mail: Record; + quest: Record; + preset: Record; + handbook: Record; + season: Record; + customization: Record; + repeatableQuest: Record; + templates: ILocaleTemplateBase; + locations: ILocaleLocationsBase; + banners: ILocaleBannersBase; + trading: ILocaleTradingBase; +} +export interface ILocaleQuest { + name: string; + description: string; + note: string; + failMessageText: string; + startedMessageText: string; + successMessageText: string; + conditions: Record; + location: string; +} +export interface ILocalePreset { + Name: string; +} +export interface ILocaleTemplateBase { + templates: Record; +} +export interface ILocaleLocationsBase { + locations: Record; +} +export interface ILocaleBannersBase { + locations: Record; +} +export interface ILocaleProps { + Name: string; + ShortName: string; + Description: string; +} +export interface ILocaleTradingBase { + locations: Record; +} +export interface ILocaleTradingProps { + FullName: string; + FirstName: string; + Nickname: string; + Location: string; + Description: string; +} +export interface ILanguageBase { + ShortName: string; + Name: string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/server/ILocations.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/server/ILocations.d.ts new file mode 100644 index 0000000..18f0262 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/server/ILocations.d.ts @@ -0,0 +1,26 @@ +import { ILocationBase } from "../../eft/common/ILocationBase"; +import { ILooseLoot } from "../../eft/common/ILooseLoot"; +import { ILocationsBase } from "../../eft/common/tables/ILocationsBase"; +export interface ILocations { + bigmap?: ILocationData; + develop?: ILocationData; + factory4_day?: ILocationData; + factory4_night?: ILocationData; + hideout?: ILocationData; + interchange?: ILocationData; + laboratory?: ILocationData; + lighthouse?: ILocationData; + privatearea?: ILocationData; + rezervbase?: ILocationData; + shoreline?: ILocationData; + suburbs?: ILocationData; + tarkovstreets?: ILocationData; + terminal?: ILocationData; + town?: ILocationData; + woods?: ILocationData; + base?: ILocationsBase; +} +export interface ILocationData { + base: ILocationBase; + looseLoot?: ILooseLoot; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/server/IServerBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/server/IServerBase.d.ts new file mode 100644 index 0000000..d033db3 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/server/IServerBase.d.ts @@ -0,0 +1,4 @@ +export interface IServerBase { + ip: string; + port: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/server/ISettingsBase.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/server/ISettingsBase.d.ts new file mode 100644 index 0000000..c067cda --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/server/ISettingsBase.d.ts @@ -0,0 +1,43 @@ +export interface ISettingsBase { + config: Config; +} +export interface Config { + AFKTimeoutSeconds: number; + AdditionalRandomDelaySeconds: number; + ClientSendRateLimit: number; + CriticalRetriesCount: number; + DefaultRetriesCount: number; + FirstCycleDelaySeconds: number; + FramerateLimit: FramerateLimit; + GroupStatusInterval: number; + KeepAliveInterval: number; + Mark502and504AsNonImportant: boolean; + MemoryManagementSettings: MemoryManagementSettings; + NVidiaHighlights: boolean; + NextCycleDelaySeconds: number; + PingServerResultSendInterval: number; + PingServersInterval: number; + ReleaseProfiler: ReleaseProfiler; + SecondCycleDelaySeconds: number; + TurnOffLogging: boolean; + WeaponOverlapDistanceCulling: number; + WebDiagnosticsEnabled: boolean; +} +export interface FramerateLimit { + MaxFramerateGameLimit: number; + MaxFramerateLobbyLimit: number; + MinFramerateLimit: number; +} +export interface MemoryManagementSettings { + AggressiveGC: boolean; + GigabytesRequiredToDisableGCDuringRaid: number; + HeapPreAllocationEnabled: boolean; + HeapPreAllocationMB: number; + OverrideRamCleanerSettings: boolean; + RamCleanerEnabled: boolean; +} +export interface ReleaseProfiler { + Enabled: boolean; + MaxRecords: number; + RecordTriggerValue: number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/services/CustomPreset.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/services/CustomPreset.d.ts new file mode 100644 index 0000000..f07382e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/services/CustomPreset.d.ts @@ -0,0 +1,5 @@ +import { Preset } from "../../eft/common/IGlobals"; +export interface CustomPreset { + key: string; + preset: Preset; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/services/CustomTraderAssortData.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/services/CustomTraderAssortData.d.ts new file mode 100644 index 0000000..265a26a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/services/CustomTraderAssortData.d.ts @@ -0,0 +1,6 @@ +import { ITraderAssort } from "../../eft/common/tables/ITrader"; +import { Traders } from "../../enums/Traders"; +export interface CustomTraderAssortData { + traderId: Traders; + assorts: ITraderAssort; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/utils/IAsyncQueue.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/utils/IAsyncQueue.d.ts new file mode 100644 index 0000000..2be801a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/utils/IAsyncQueue.d.ts @@ -0,0 +1,4 @@ +import { ICommand } from "./ICommand"; +export interface IAsyncQueue { + waitFor(command: ICommand): Promise; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/utils/ICommand.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/utils/ICommand.d.ts new file mode 100644 index 0000000..696bb83 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/utils/ICommand.d.ts @@ -0,0 +1,4 @@ +export interface ICommand { + uuid: string; + cmd: () => Promise; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/utils/ILogger.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/utils/ILogger.d.ts new file mode 100644 index 0000000..c983701 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/utils/ILogger.d.ts @@ -0,0 +1,10 @@ +import { Daum } from "../../eft/itemEvent/IItemEventRouterRequest"; +export interface ILogger { + writeToLogFile(data: string | Daum): void; + log(data: string | Record | Error, color: string): void; + error(data: string): void; + warning(data: string): void; + success(data: string): void; + info(data: string): void; + debug(data: string | Record, onlyShowInConsole?: boolean): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/models/spt/utils/IUuidGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/models/spt/utils/IUuidGenerator.d.ts new file mode 100644 index 0000000..3870469 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/models/spt/utils/IUuidGenerator.d.ts @@ -0,0 +1,3 @@ +export interface IUUidGenerator { + generate(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/HttpRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/HttpRouter.d.ts new file mode 100644 index 0000000..f75a47d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/HttpRouter.d.ts @@ -0,0 +1,16 @@ +/// +import { IncomingMessage } from "http"; +import { DynamicRouter, Router, StaticRouter } from "../di/Router"; +export declare class HttpRouter { + protected staticRouters: StaticRouter[]; + protected dynamicRoutes: DynamicRouter[]; + constructor(staticRouters: StaticRouter[], dynamicRoutes: DynamicRouter[]); + protected groupBy(list: T[], keyGetter: (t: T) => string): Map; + getResponse(req: IncomingMessage, info: any, sessionID: string): string; + protected handleRoute(url: string, info: any, sessionID: string, wrapper: ResponseWrapper, routers: Router[], dynamic: boolean): boolean; +} +declare class ResponseWrapper { + output: string; + constructor(output: string); +} +export {}; diff --git a/Ereshkigal-AkiConfig/dist/types/routers/ImageRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/ImageRouter.d.ts new file mode 100644 index 0000000..ab03977 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/ImageRouter.d.ts @@ -0,0 +1,13 @@ +/// +import { IncomingMessage, ServerResponse } from "http"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +import { ImageRouteService } from "../services/mod/image/ImageRouteService"; +import { VFS } from "../utils/VFS"; +export declare class ImageRouter { + protected vfs: VFS; + protected imageRouteService: ImageRouteService; + constructor(vfs: VFS, imageRouteService: ImageRouteService); + addRoute(key: string, valueToAdd: string): void; + sendImage(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: any, httpServer: IHttpServer): void; + getImage(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/ItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/ItemEventRouter.d.ts new file mode 100644 index 0000000..b1ac5d9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/ItemEventRouter.d.ts @@ -0,0 +1,17 @@ +import { JsonUtil } from "../utils/JsonUtil"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IItemEventRouterRequest } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { ItemEventRouterDefinition } from "../di/Router"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class ItemEventRouter { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected profileHelper: ProfileHelper; + protected itemEventRouters: ItemEventRouterDefinition[]; + constructor(logger: ILogger, jsonUtil: JsonUtil, profileHelper: ProfileHelper, itemEventRouters: ItemEventRouterDefinition[]); + protected output: IItemEventRouterResponse; + handleEvents(info: IItemEventRouterRequest, sessionID: string): IItemEventRouterResponse; + getOutput(sessionID: string): IItemEventRouterResponse; + protected resetOutput(sessionID: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/BotDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/BotDynamicRouter.d.ts new file mode 100644 index 0000000..6d0ab4b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/BotDynamicRouter.d.ts @@ -0,0 +1,6 @@ +import { BotCallbacks } from "../../callbacks/BotCallbacks"; +import { DynamicRouter } from "../../di/Router"; +export declare class BotDynamicRouter extends DynamicRouter { + protected botCallbacks: BotCallbacks; + constructor(botCallbacks: BotCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/BundleDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/BundleDynamicRouter.d.ts new file mode 100644 index 0000000..a765410 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/BundleDynamicRouter.d.ts @@ -0,0 +1,6 @@ +import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; +import { DynamicRouter } from "../../di/Router"; +export declare class BundleDynamicRouter extends DynamicRouter { + protected bundleCallbacks: BundleCallbacks; + constructor(bundleCallbacks: BundleCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/CustomizationDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/CustomizationDynamicRouter.d.ts new file mode 100644 index 0000000..2db7cc5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/CustomizationDynamicRouter.d.ts @@ -0,0 +1,6 @@ +import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; +import { DynamicRouter } from "../../di/Router"; +export declare class CustomizationDynamicRouter extends DynamicRouter { + protected customizationCallbacks: CustomizationCallbacks; + constructor(customizationCallbacks: CustomizationCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/DataDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/DataDynamicRouter.d.ts new file mode 100644 index 0000000..836ed8d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/DataDynamicRouter.d.ts @@ -0,0 +1,6 @@ +import { DataCallbacks } from "../../callbacks/DataCallbacks"; +import { DynamicRouter } from "../../di/Router"; +export declare class DataDynamicRouter extends DynamicRouter { + protected dataCallbacks: DataCallbacks; + constructor(dataCallbacks: DataCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/HttpDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/HttpDynamicRouter.d.ts new file mode 100644 index 0000000..a152b4d --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/HttpDynamicRouter.d.ts @@ -0,0 +1,6 @@ +import { DynamicRouter } from "../../di/Router"; +import { ImageRouter } from "../ImageRouter"; +export declare class HttpDynamicRouter extends DynamicRouter { + protected imageRouter: ImageRouter; + constructor(imageRouter: ImageRouter); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/InraidDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/InraidDynamicRouter.d.ts new file mode 100644 index 0000000..7c0561f --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/InraidDynamicRouter.d.ts @@ -0,0 +1,7 @@ +import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; +import { DynamicRouter } from "../../di/Router"; +export declare class InraidDynamicRouter extends DynamicRouter { + protected inraidCallbacks: InraidCallbacks; + constructor(inraidCallbacks: InraidCallbacks); + getTopLevelRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/LocationDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/LocationDynamicRouter.d.ts new file mode 100644 index 0000000..b8e5cdf --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/LocationDynamicRouter.d.ts @@ -0,0 +1,7 @@ +import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; +import { DynamicRouter } from "../../di/Router"; +export declare class LocationDynamicRouter extends DynamicRouter { + protected locationCallbacks: LocationCallbacks; + constructor(locationCallbacks: LocationCallbacks); + getTopLevelRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/NotifierDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/NotifierDynamicRouter.d.ts new file mode 100644 index 0000000..83c60c5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/NotifierDynamicRouter.d.ts @@ -0,0 +1,6 @@ +import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; +import { DynamicRouter } from "../../di/Router"; +export declare class NotifierDynamicRouter extends DynamicRouter { + protected notifierCallbacks: NotifierCallbacks; + constructor(notifierCallbacks: NotifierCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/dynamic/TraderDynamicRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/TraderDynamicRouter.d.ts new file mode 100644 index 0000000..5b7cc1b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/dynamic/TraderDynamicRouter.d.ts @@ -0,0 +1,6 @@ +import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; +import { DynamicRouter } from "../../di/Router"; +export declare class TraderDynamicRouter extends DynamicRouter { + protected traderCallbacks: TraderCallbacks; + constructor(traderCallbacks: TraderCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/CustomizationItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/CustomizationItemEventRouter.d.ts new file mode 100644 index 0000000..e78445e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/CustomizationItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class CustomizationItemEventRouter extends ItemEventRouterDefinition { + protected customizationCallbacks: CustomizationCallbacks; + constructor(customizationCallbacks: CustomizationCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/HealthItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/HealthItemEventRouter.d.ts new file mode 100644 index 0000000..99847c6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/HealthItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class HealthItemEventRouter extends ItemEventRouterDefinition { + protected healthCallbacks: HealthCallbacks; + constructor(healthCallbacks: HealthCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/HideoutItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/HideoutItemEventRouter.d.ts new file mode 100644 index 0000000..e1e98af --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/HideoutItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { HideoutCallbacks } from "../../callbacks/HideoutCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class HideoutItemEventRouter extends ItemEventRouterDefinition { + protected hideoutCallbacks: HideoutCallbacks; + constructor(hideoutCallbacks: HideoutCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/InsuranceItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/InsuranceItemEventRouter.d.ts new file mode 100644 index 0000000..a922cc0 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/InsuranceItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class InsuranceItemEventRouter extends ItemEventRouterDefinition { + protected insuranceCallbacks: InsuranceCallbacks; + constructor(insuranceCallbacks: InsuranceCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/InventoryItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/InventoryItemEventRouter.d.ts new file mode 100644 index 0000000..2619bb9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/InventoryItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { InventoryCallbacks } from "../../callbacks/InventoryCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class InventoryItemEventRouter extends ItemEventRouterDefinition { + protected inventoryCallbacks: InventoryCallbacks; + constructor(inventoryCallbacks: InventoryCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/NoteItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/NoteItemEventRouter.d.ts new file mode 100644 index 0000000..59bf598 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/NoteItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { NoteCallbacks } from "../../callbacks/NoteCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class NoteItemEventRouter extends ItemEventRouterDefinition { + protected noteCallbacks: NoteCallbacks; + constructor(noteCallbacks: NoteCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/PresetBuildItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/PresetBuildItemEventRouter.d.ts new file mode 100644 index 0000000..277db44 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/PresetBuildItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class PresetBuildItemEventRouter extends ItemEventRouterDefinition { + protected presetBuildCallbacks: PresetBuildCallbacks; + constructor(presetBuildCallbacks: PresetBuildCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/QuestItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/QuestItemEventRouter.d.ts new file mode 100644 index 0000000..a092aa6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/QuestItemEventRouter.d.ts @@ -0,0 +1,12 @@ +import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "../../models/spt/utils/ILogger"; +export declare class QuestItemEventRouter extends ItemEventRouterDefinition { + protected logger: ILogger; + protected questCallbacks: QuestCallbacks; + constructor(logger: ILogger, questCallbacks: QuestCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(eventAction: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/RagfairItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/RagfairItemEventRouter.d.ts new file mode 100644 index 0000000..9216cc5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/RagfairItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class RagfairItemEventRouter extends ItemEventRouterDefinition { + protected ragfairCallbacks: RagfairCallbacks; + constructor(ragfairCallbacks: RagfairCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/RepairItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/RepairItemEventRouter.d.ts new file mode 100644 index 0000000..5196ba9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/RepairItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { RepairCallbacks } from "../../callbacks/RepairCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class RepairItemEventRouter extends ItemEventRouterDefinition { + protected repairCallbacks: RepairCallbacks; + constructor(repairCallbacks: RepairCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/TradeItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/TradeItemEventRouter.d.ts new file mode 100644 index 0000000..a43bb0a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/TradeItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { TradeCallbacks } from "../../callbacks/TradeCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class TradeItemEventRouter extends ItemEventRouterDefinition { + protected tradeCallbacks: TradeCallbacks; + constructor(tradeCallbacks: TradeCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/item_events/WishlistItemEventRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/item_events/WishlistItemEventRouter.d.ts new file mode 100644 index 0000000..38497fb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/item_events/WishlistItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { WishlistCallbacks } from "../../callbacks/WishlistCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class WishlistItemEventRouter extends ItemEventRouterDefinition { + protected wishlistCallbacks: WishlistCallbacks; + constructor(wishlistCallbacks: WishlistCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/save_load/HealthSaveLoadRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/save_load/HealthSaveLoadRouter.d.ts new file mode 100644 index 0000000..114f5b2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/save_load/HealthSaveLoadRouter.d.ts @@ -0,0 +1,7 @@ +import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "../../di/Router"; +export declare class HealthSaveLoadRouter extends SaveLoadRouter { + constructor(); + getHandledRoutes(): HandledRoute[]; + handleLoad(profile: IAkiProfile): IAkiProfile; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/save_load/InraidSaveLoadRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/save_load/InraidSaveLoadRouter.d.ts new file mode 100644 index 0000000..4c00b40 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/save_load/InraidSaveLoadRouter.d.ts @@ -0,0 +1,7 @@ +import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "../../di/Router"; +export declare class InraidSaveLoadRouter extends SaveLoadRouter { + constructor(); + getHandledRoutes(): HandledRoute[]; + handleLoad(profile: IAkiProfile): IAkiProfile; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/save_load/InsuranceSaveLoadRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/save_load/InsuranceSaveLoadRouter.d.ts new file mode 100644 index 0000000..30ce98e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/save_load/InsuranceSaveLoadRouter.d.ts @@ -0,0 +1,7 @@ +import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "../../di/Router"; +export declare class InsuranceSaveLoadRouter extends SaveLoadRouter { + constructor(); + getHandledRoutes(): HandledRoute[]; + handleLoad(profile: IAkiProfile): IAkiProfile; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/save_load/ProfileSaveLoadRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/save_load/ProfileSaveLoadRouter.d.ts new file mode 100644 index 0000000..16c7619 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/save_load/ProfileSaveLoadRouter.d.ts @@ -0,0 +1,7 @@ +import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "../../di/Router"; +export declare class ProfileSaveLoadRouter extends SaveLoadRouter { + constructor(); + getHandledRoutes(): HandledRoute[]; + handleLoad(profile: IAkiProfile): IAkiProfile; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/serializers/BundleSerializer.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/serializers/BundleSerializer.d.ts new file mode 100644 index 0000000..912db83 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/serializers/BundleSerializer.d.ts @@ -0,0 +1,11 @@ +import { Serializer } from "../../di/Serializer"; +import { BundleLoader } from "../../loaders/BundleLoader"; +import { IHttpServer } from "../../models/spt/server/IHttpServer"; +import { ILogger } from "../../models/spt/utils/ILogger"; +export declare class BundleSerializer extends Serializer { + protected logger: ILogger; + protected bundleLoader: BundleLoader; + constructor(logger: ILogger, bundleLoader: BundleLoader); + serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + canHandle(route: string): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/serializers/ImageSerializer.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/serializers/ImageSerializer.d.ts new file mode 100644 index 0000000..0e040d4 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/serializers/ImageSerializer.d.ts @@ -0,0 +1,9 @@ +import { IHttpServer } from "../../models/spt/server/IHttpServer"; +import { Serializer } from "../../di/Serializer"; +import { ImageRouter } from "../ImageRouter"; +export declare class ImageSerializer extends Serializer { + protected imageRouter: ImageRouter; + constructor(imageRouter: ImageRouter); + serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + canHandle(route: string): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/serializers/NotifySerializer.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/serializers/NotifySerializer.d.ts new file mode 100644 index 0000000..1779ac9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/serializers/NotifySerializer.d.ts @@ -0,0 +1,11 @@ +import { NotifierController } from "../../controllers/NotifierController"; +import { Serializer } from "../../di/Serializer"; +import { HttpServerHelper } from "../../helpers/HttpServerHelper"; +import { IHttpServer } from "../../models/spt/server/IHttpServer"; +export declare class NotifySerializer extends Serializer { + protected notifierController: NotifierController; + protected httpServerHelper: HttpServerHelper; + constructor(notifierController: NotifierController, httpServerHelper: HttpServerHelper); + serialize(_sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + canHandle(route: string): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/BotStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/BotStaticRouter.d.ts new file mode 100644 index 0000000..aeea220 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/BotStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { BotCallbacks } from "../../callbacks/BotCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class BotStaticRouter extends StaticRouter { + protected botCallbacks: BotCallbacks; + constructor(botCallbacks: BotCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/BundleStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/BundleStaticRouter.d.ts new file mode 100644 index 0000000..fb682fc --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/BundleStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class BundleStaticRouter extends StaticRouter { + protected bundleCallbacks: BundleCallbacks; + constructor(bundleCallbacks: BundleCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/CustomizationStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/CustomizationStaticRouter.d.ts new file mode 100644 index 0000000..21bc4bb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/CustomizationStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class CustomizationStaticRouter extends StaticRouter { + protected customizationCallbacks: CustomizationCallbacks; + constructor(customizationCallbacks: CustomizationCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/DataStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/DataStaticRouter.d.ts new file mode 100644 index 0000000..84ba7fd --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/DataStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { DataCallbacks } from "../../callbacks/DataCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class DataStaticRouter extends StaticRouter { + protected dataCallbacks: DataCallbacks; + constructor(dataCallbacks: DataCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/DialogStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/DialogStaticRouter.d.ts new file mode 100644 index 0000000..546cdf1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/DialogStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { DialogueCallbacks } from "../../callbacks/DialogueCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class DialogStaticRouter extends StaticRouter { + protected dialogueCallbacks: DialogueCallbacks; + constructor(dialogueCallbacks: DialogueCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/GameStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/GameStaticRouter.d.ts new file mode 100644 index 0000000..a9a7496 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/GameStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { GameCallbacks } from "../../callbacks/GameCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class GameStaticRouter extends StaticRouter { + protected gameCallbacks: GameCallbacks; + constructor(gameCallbacks: GameCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/HealthStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/HealthStaticRouter.d.ts new file mode 100644 index 0000000..863fd5e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/HealthStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class HealthStaticRouter extends StaticRouter { + protected healthCallbacks: HealthCallbacks; + constructor(healthCallbacks: HealthCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/InraidStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/InraidStaticRouter.d.ts new file mode 100644 index 0000000..b29ad23 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/InraidStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class InraidStaticRouter extends StaticRouter { + protected inraidCallbacks: InraidCallbacks; + constructor(inraidCallbacks: InraidCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/InsuranceStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/InsuranceStaticRouter.d.ts new file mode 100644 index 0000000..5676499 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/InsuranceStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class InsuranceStaticRouter extends StaticRouter { + protected insuranceCallbacks: InsuranceCallbacks; + constructor(insuranceCallbacks: InsuranceCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/ItemEventStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/ItemEventStaticRouter.d.ts new file mode 100644 index 0000000..c30a7fc --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/ItemEventStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { ItemEventCallbacks } from "../../callbacks/ItemEventCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class ItemEventStaticRouter extends StaticRouter { + protected itemEventCallbacks: ItemEventCallbacks; + constructor(itemEventCallbacks: ItemEventCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/LauncherStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/LauncherStaticRouter.d.ts new file mode 100644 index 0000000..0040cbd --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/LauncherStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { LauncherCallbacks } from "../../callbacks/LauncherCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class LauncherStaticRouter extends StaticRouter { + protected launcherCallbacks: LauncherCallbacks; + constructor(launcherCallbacks: LauncherCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/LocationStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/LocationStaticRouter.d.ts new file mode 100644 index 0000000..b6de956 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/LocationStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class LocationStaticRouter extends StaticRouter { + protected locationCallbacks: LocationCallbacks; + constructor(locationCallbacks: LocationCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/MatchStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/MatchStaticRouter.d.ts new file mode 100644 index 0000000..9920a92 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/MatchStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { MatchCallbacks } from "../../callbacks/MatchCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class MatchStaticRouter extends StaticRouter { + protected matchCallbacks: MatchCallbacks; + constructor(matchCallbacks: MatchCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/NotifierStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/NotifierStaticRouter.d.ts new file mode 100644 index 0000000..8f1f5cc --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/NotifierStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class NotifierStaticRouter extends StaticRouter { + protected notifierCallbacks: NotifierCallbacks; + constructor(notifierCallbacks: NotifierCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/PresetStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/PresetStaticRouter.d.ts new file mode 100644 index 0000000..a9e7458 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/PresetStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class PresetStaticRouter extends StaticRouter { + protected presetCallbacks: PresetBuildCallbacks; + constructor(presetCallbacks: PresetBuildCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/ProfileStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/ProfileStaticRouter.d.ts new file mode 100644 index 0000000..83403f2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/ProfileStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { ProfileCallbacks } from "../../callbacks/ProfileCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class ProfileStaticRouter extends StaticRouter { + protected profileCallbacks: ProfileCallbacks; + constructor(profileCallbacks: ProfileCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/QuestStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/QuestStaticRouter.d.ts new file mode 100644 index 0000000..8f7ca0a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/QuestStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class QuestStaticRouter extends StaticRouter { + protected questCallbacks: QuestCallbacks; + constructor(questCallbacks: QuestCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/RagfairStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/RagfairStaticRouter.d.ts new file mode 100644 index 0000000..6c41467 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/RagfairStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class RagfairStaticRouter extends StaticRouter { + protected ragfairCallbacks: RagfairCallbacks; + constructor(ragfairCallbacks: RagfairCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/TraderStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/TraderStaticRouter.d.ts new file mode 100644 index 0000000..41728a1 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/TraderStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class TraderStaticRouter extends StaticRouter { + protected traderCallbacks: TraderCallbacks; + constructor(traderCallbacks: TraderCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/routers/static/WeatherStaticRouter.d.ts b/Ereshkigal-AkiConfig/dist/types/routers/static/WeatherStaticRouter.d.ts new file mode 100644 index 0000000..72ed851 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/routers/static/WeatherStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { WeatherCallbacks } from "../../callbacks/WeatherCallbacks"; +import { StaticRouter } from "../../di/Router"; +export declare class WeatherStaticRouter extends StaticRouter { + protected weatherCallbacks: WeatherCallbacks; + constructor(weatherCallbacks: WeatherCallbacks); +} diff --git a/Ereshkigal-AkiConfig/dist/types/servers/ConfigServer.d.ts b/Ereshkigal-AkiConfig/dist/types/servers/ConfigServer.d.ts new file mode 100644 index 0000000..a079be8 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/servers/ConfigServer.d.ts @@ -0,0 +1,14 @@ +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigTypes } from "../models/enums/ConfigTypes"; +export declare class ConfigServer { + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected configs: Record; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil); + getConfig(configType: ConfigTypes): T; + getConfigByString(configType: string): T; + initialize(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/servers/DatabaseServer.d.ts b/Ereshkigal-AkiConfig/dist/types/servers/DatabaseServer.d.ts new file mode 100644 index 0000000..aa152d0 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/servers/DatabaseServer.d.ts @@ -0,0 +1,6 @@ +import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; +export declare class DatabaseServer { + protected tableData: IDatabaseTables; + getTables(): IDatabaseTables; + setTables(any: any): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/servers/HttpServer.d.ts b/Ereshkigal-AkiConfig/dist/types/servers/HttpServer.d.ts new file mode 100644 index 0000000..5234966 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/servers/HttpServer.d.ts @@ -0,0 +1,49 @@ +/// +/// +import http, { ServerResponse } from "http"; +import { Serializer } from "../di/Serializer"; +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { NotifierHelper } from "../helpers/NotifierHelper"; +import { INotification } from "../models/eft/notifier/INotifier"; +import { IHttpConfig } from "../models/spt/config/IHttpConfig"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { HttpRouter } from "../routers/HttpRouter"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { ConfigServer } from "./ConfigServer"; +import { DatabaseServer } from "./DatabaseServer"; +export declare class HttpServer implements IHttpServer { + protected httpRouter: HttpRouter; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected jsonUtil: JsonUtil; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + protected notifierHelper: NotifierHelper; + protected httpServerHelper: HttpServerHelper; + protected serializers: Serializer[]; + protected configServer: ConfigServer; + constructor(httpRouter: HttpRouter, // TODO: delay required + logger: ILogger, randomUtil: RandomUtil, jsonUtil: JsonUtil, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, serializers: Serializer[], configServer: ConfigServer); + protected buffers: {}; + protected onReceive: {}; + protected onRespond: {}; + protected httpConfig: IHttpConfig; + protected webSockets: {}; + protected websocketPingHandler: any; + getCookies(req: http.IncomingMessage): any; + resetBuffer(sessionID: string): void; + putInBuffer(sessionID: any, data: any, bufLength: number): boolean; + getFromBuffer(sessionID: string): any; + sendZlibJson(resp: any, output: any, sessionID: string): void; + sendMessage(sessionID: string, output: INotification): void; + sendFile(resp: ServerResponse, file: any): void; + isConnectionWebSocket(sessionID: string): boolean; + sendResponse(sessionID: string, req: any, resp: any, body: Buffer): void; + handleRequest(req: http.IncomingMessage, resp: http.ServerResponse): void; + load(): void; + protected getRandomisedMessage(): string; + wsOnConnection(ws: any, req: any): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/servers/RagfairServer.d.ts b/Ereshkigal-AkiConfig/dist/types/servers/RagfairServer.d.ts new file mode 100644 index 0000000..60c92b5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/servers/RagfairServer.d.ts @@ -0,0 +1,31 @@ +import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; +import { ConfigServer } from "./ConfigServer"; +export declare class RagfairServer { + protected logger: ILogger; + protected ragfairOfferGenerator: RagfairOfferGenerator; + protected ragfairOfferService: RagfairOfferService; + protected ragfairCategoriesService: RagfairCategoriesService; + protected ragfairRequiredItemsService: RagfairRequiredItemsService; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer); + load(): void; + update(): void; + getCategories(): Record; + /** + * Disable/Hide an offer from flea + * @param offerId + */ + hideOffer(offerId: string): void; + getOffer(offerID: string): IRagfairOffer; + getOffers(): IRagfairOffer[]; + removeOfferStack(offerID: string, amount: number): void; + doesOfferExist(offerId: string): boolean; + addPlayerOffers(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/servers/SaveServer.d.ts b/Ereshkigal-AkiConfig/dist/types/servers/SaveServer.d.ts new file mode 100644 index 0000000..cb28f49 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/servers/SaveServer.d.ts @@ -0,0 +1,28 @@ +import { IAkiProfile, Info } from "../models/eft/profile/IAkiProfile"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +import { SaveLoadRouter } from "../di/Router"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class SaveServer { + protected vfs: VFS; + protected saveLoadRouters: SaveLoadRouter[]; + protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; + protected logger: ILogger; + protected profileFilepath: string; + protected profiles: {}; + protected onSave: {}; + protected saveMd5: {}; + constructor(vfs: VFS, saveLoadRouters: SaveLoadRouter[], jsonUtil: JsonUtil, hashUtil: HashUtil, logger: ILogger); + load(): void; + save(): void; + getProfile(sessionId: string): IAkiProfile; + getProfiles(): Record; + deleteProfileById(sessionID: string): boolean; + createProfile(profileInfo: Info): void; + addProfile(profileDetails: IAkiProfile): void; + loadProfile(sessionID: string): void; + saveProfile(sessionID: string): void; + removeProfile(sessionID: string): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/CustomHandbookItemService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/CustomHandbookItemService.d.ts new file mode 100644 index 0000000..1c25b99 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/CustomHandbookItemService.d.ts @@ -0,0 +1,13 @@ +import { HandbookItem } from "../models/eft/common/tables/IHandbookBase"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomHandbookItemService { + protected logger: ILogger; + private customHandbookItems; + constructor(logger: ILogger); + /** + * Add handbook item + * @param handbookItem item to add + */ + add(handbookItem: HandbookItem): void; + get(): HandbookItem[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/CustomItemService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/CustomItemService.d.ts new file mode 100644 index 0000000..d5806b4 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/CustomItemService.d.ts @@ -0,0 +1,11 @@ +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class CustomItemService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + private customItems; + constructor(logger: ILogger, databaseServer: DatabaseServer); + add(itemToAdd: ITemplateItem): void; + get(): ITemplateItem[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/CustomTraderAssortService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/CustomTraderAssortService.d.ts new file mode 100644 index 0000000..e63d67b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/CustomTraderAssortService.d.ts @@ -0,0 +1,14 @@ +import { CustomTraderAssortData } from "../models/spt/services/CustomTraderAssortData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class CustomTraderAssortService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + private customAssorts; + constructor(logger: ILogger, databaseServer: DatabaseServer); + /** + * Add assorts to a specific trader + */ + add(assortsToAdd: CustomTraderAssortData): void; + get(): CustomTraderAssortData[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/FenceService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/FenceService.d.ts new file mode 100644 index 0000000..12723fb --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/FenceService.d.ts @@ -0,0 +1,39 @@ +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { FenceLevel } from "../models/eft/common/IGlobals"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class FenceService { + protected logger: ILogger; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected randomUtil: RandomUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected configServer: ConfigServer; + protected fenceAssort: ITraderAssort; + protected traderConfig: ITraderConfig; + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, presetHelper: PresetHelper, configServer: ConfigServer); + protected setFenceAssort(fenceAssort: ITraderAssort): void; + getFenceAssorts(): ITraderAssort; + hasExpiredCache(refreshAssort: boolean): boolean; + generateFenceAssortCache(pmcData: IPmcData): void; + /** + * + * @param pmcData Get the fence level the passed in profile has + * @returns FenceLevel + */ + getFenceInfo(pmcData: IPmcData): FenceLevel; + removeFenceOffer(assortIdToRemove: string): void; + updateFenceOffers(pmcData: IPmcData): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/HashCacheService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/HashCacheService.d.ts new file mode 100644 index 0000000..5320f28 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/HashCacheService.d.ts @@ -0,0 +1,19 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +export declare class HashCacheService { + protected vfs: VFS; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected jsonHashes: any; + protected modHashes: any; + protected readonly modCachePath = "./user/cache/modCache.json"; + constructor(vfs: VFS, hashUtil: HashUtil, jsonUtil: JsonUtil, logger: ILogger); + getStoredModHash(modName: string): string; + modContentMatchesStoredHash(modName: string, modContent: string): boolean; + hashMatchesStoredHash(modName: string, modHash: string): boolean; + storeModContent(modName: string, modContent: string): void; + storeModHash(modName: string, modHash: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/InsuranceService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/InsuranceService.d.ts new file mode 100644 index 0000000..0219816 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/InsuranceService.d.ts @@ -0,0 +1,42 @@ +import { DialogueHelper } from "../helpers/DialogueHelper"; +import { SecureContainerHelper } from "../helpers/SecureContainerHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class InsuranceService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected secureContainerHelper: SecureContainerHelper; + protected randomUtil: RandomUtil; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected traderHelper: TraderHelper; + protected dialogueHelper: DialogueHelper; + protected configServer: ConfigServer; + protected insured: Record>; + protected templatesById: {}; + protected insuranceConfig: IInsuranceConfig; + constructor(logger: ILogger, databaseServer: DatabaseServer, secureContainerHelper: SecureContainerHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, saveServer: SaveServer, traderHelper: TraderHelper, dialogueHelper: DialogueHelper, configServer: ConfigServer); + insuranceExists(sessionId: string): boolean; + insuranceTraderArrayExists(sessionId: string, traderId: string): boolean; + getInsurance(sessionId: string): Record; + getInsuranceItems(sessionId: string, traderId: string): any[]; + resetInsurance(sessionId: string): void; + resetInsuranceTraderArray(sessionId: string, traderId: string): void; + addInsuranceItemToArray(sessionId: string, traderId: string, itemToAdd: any): void; + getItemPrice(_tpl: string): number; + generateTemplatesById(): void; + sendInsuredItems(pmcData: IPmcData, sessionID: string): void; + storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; + storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; + protected addGearToSend(pmcData: IPmcData, insuredItem: any, actualItem: any, sessionID: string): any; + getPremium(pmcData: IPmcData, inventoryItem: Item, traderId: string): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/MatchLocationService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/MatchLocationService.d.ts new file mode 100644 index 0000000..2b5fc0e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/MatchLocationService.d.ts @@ -0,0 +1,8 @@ +import { TimeUtil } from "../utils/TimeUtil"; +export declare class MatchLocationService { + protected timeUtil: TimeUtil; + protected locations: {}; + constructor(timeUtil: TimeUtil); + createGroup(sessionID: string, info: any): any; + deleteGroup(info: any): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/ModCompilerService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/ModCompilerService.d.ts new file mode 100644 index 0000000..26cb4ac --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/ModCompilerService.d.ts @@ -0,0 +1,20 @@ +import * as ts from "typescript"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { VFS } from "../utils/VFS"; +import { HashCacheService } from "./HashCacheService"; +export declare class ModCompilerService { + protected logger: ILogger; + protected hashCacheService: HashCacheService; + protected vfs: VFS; + constructor(logger: ILogger, hashCacheService: HashCacheService, vfs: VFS); + compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise; + protected compile(fileNames: string[], options: ts.CompilerOptions): Promise; + protected buildDepth(depth: number): string; + protected getNodesModulesPath(depth: number): string; + protected getAkiPath(depth: number): string; + protected getAkiFolder(): string; + protected getNodesModulesFolder(): string; + protected calculateDepth(file: string): number; + protected areFilesReady(fileNames: string[]): boolean; + protected delay(ms: number): Promise; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/NotificationService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/NotificationService.d.ts new file mode 100644 index 0000000..7e2a127 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/NotificationService.d.ts @@ -0,0 +1,21 @@ +import { INotification } from "../models/eft/notifier/INotifier"; +export declare class NotificationService { + protected messageQueue: {}; + getMessageQueue(): {}; + getMessageFromQueue(sessionId: string): any; + updateMessageOnQueue(sessionId: string, value: any[]): void; + has(sessionID: string): boolean; + /** + * Pop first message from queue. + */ + pop(sessionID: string): any; + /** + * Add message to queue + */ + add(sessionID: string, message: INotification): void; + /** + * Get message queue for session + * @param sessionID + */ + get(sessionID: string): any; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/PaymentService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/PaymentService.d.ts new file mode 100644 index 0000000..5834750 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/PaymentService.d.ts @@ -0,0 +1,49 @@ +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; +import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class PaymentService { + protected logger: ILogger; + protected httpResponse: HttpResponseUtil; + protected databaseServer: DatabaseServer; + protected handbookHelper: HandbookHelper; + protected traderHelper: TraderHelper; + protected itemHelper: ItemHelper; + protected inventoryHelper: InventoryHelper; + protected paymentHelper: PaymentHelper; + constructor(logger: ILogger, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); + /** + * Take money and insert items into return to server request + * @param {Object} pmcData + * @param {Object} body + * @param {string} sessionID + * @returns Object + */ + payMoney(pmcData: IPmcData, body: IProcessBuyTradeRequestData, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; + /** + * Receive money back after selling + * @param {IPmcData} pmcData + * @param {number} amount + * @param {IProcessSellTradeRequestData} body + * @param {IItemEventRouterResponse} output + * @param {string} sessionID + * @returns IItemEventRouterResponse + */ + getMoney(pmcData: IPmcData, amount: number, body: IProcessSellTradeRequestData, output: IItemEventRouterResponse, sessionID: string): IItemEventRouterResponse; + /** + * Recursively checks if the given item is + * inside the stash, that is it has the stash as + * ancestor with slotId=hideout + */ + protected isItemInStash(pmcData: IPmcData, item: Item): boolean; + addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/PlayerService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/PlayerService.d.ts new file mode 100644 index 0000000..519b7e5 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/PlayerService.d.ts @@ -0,0 +1,22 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPlayerIncrementSkillLevelRequestData } from "../models/eft/player/IPlayerIncrementSkillLevelRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class PlayerService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + constructor(logger: ILogger, databaseServer: DatabaseServer); + /** + * increases the profile skill and updates any output + * @param {Object} pmcData + * @param {Object} output + * @param {String} skillName + * @param {Number} amount + */ + incrementSkillLevel(pmcData: IPmcData, output: IPlayerIncrementSkillLevelRequestData, skillName: string, amount: number): void; + /** + * @param {Object} pmcData + * @returns number + */ + calculateLevel(pmcData: IPmcData): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/RagfairCategoriesService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/RagfairCategoriesService.d.ts new file mode 100644 index 0000000..09956cc --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/RagfairCategoriesService.d.ts @@ -0,0 +1,10 @@ +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +export declare class RagfairCategoriesService { + updateCategories(offers: IRagfairOffer[]): void; + protected categories: Record; + getCategories(): Record; + getCategoryByItemId(itemId: string): number; + resetCategories(): void; + setCategoryValue(itemId: string, newValue: number): void; + incrementCategory(itemId: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/RagfairLinkedItemService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/RagfairLinkedItemService.d.ts new file mode 100644 index 0000000..6c34ee0 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/RagfairLinkedItemService.d.ts @@ -0,0 +1,10 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +export declare class RagfairLinkedItemService { + protected databaseServer: DatabaseServer; + protected linkedItemsCache: Record>; + constructor(databaseServer: DatabaseServer); + getLinkedItems(linkedSearchId: string): Iterable; + protected buildLinkedItemTable(): void; + protected getFilters(item: ITemplateItem, slot: string): string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/RagfairOfferService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/RagfairOfferService.d.ts new file mode 100644 index 0000000..7afbf8c --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/RagfairOfferService.d.ts @@ -0,0 +1,66 @@ +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class RagfairOfferService { + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected ragfairServerHelper: RagfairServerHelper; + protected profileHelper: ProfileHelper; + protected itemEventRouter: ItemEventRouter; + protected httpResponse: HttpResponseUtil; + protected configServer: ConfigServer; + protected playerOffersLoaded: boolean; + protected toUpdate: Record; + protected expiredOffers: Item[]; + protected offers: IRagfairOffer[]; + protected ragfairConfig: IRagfairConfig; + constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); + getOffers(): IRagfairOffer[]; + getOfferByOfferId(offerId: string): IRagfairOffer; + getOffersOfType(templateId: string): IRagfairOffer[]; + addOffer(offer: IRagfairOffer): void; + addOfferToExpired(offer: Item): void; + setTraderUpdateStatus(traderId: string, shouldUpdate: boolean): void; + shouldTraderBeUpdated(traderID: string): boolean; + getExpiredOfferCount(): number; + /** + * Get an array of expired items not yet processed into new offers + * @returns items that need to be turned into offers + */ + getExpiredOffers(): Item[]; + resetExpiredOffers(): void; + /** + * Does the offer exist on the ragfair + * @param offerId offer id to check for + * @returns offer exists - true + */ + doesOfferExist(offerId: string): boolean; + getTraders(): Record; + flagTraderForUpdate(expiredOfferUserId: string): void; + removeOfferById(offerId: string): void; + removeOfferStack(offerID: string, amount: number): void; + removeAllOffersByTrader(traderId: string): void; + addTradersToUpdateList(): void; + addPlayerOffers(): void; + expireStaleOffers(): void; + /** + * Get an array of stale offers that are still shown to player + * @returns IRagfairOffer array + */ + protected getStaleOffers(): IRagfairOffer[]; + protected isStale(offer: IRagfairOffer, time: number): boolean; + protected processStaleOffer(staleOffer: IRagfairOffer): void; + protected returnPlayerOffer(offer: IRagfairOffer): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/RagfairPriceService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/RagfairPriceService.d.ts new file mode 100644 index 0000000..5256b99 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/RagfairPriceService.d.ts @@ -0,0 +1,32 @@ +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IBarterScheme } from "../models/eft/common/tables/ITrader"; +import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; +import { IRagfairServerPrices } from "../models/spt/ragfair/IRagfairServerPrices"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class RagfairPriceService { + protected handbookHelper: HandbookHelper; + protected databaseServer: DatabaseServer; + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected randomUtil: RandomUtil; + protected configServer: ConfigServer; + protected ragfairConfig: IRagfairConfig; + protected prices: IRagfairServerPrices; + constructor(handbookHelper: HandbookHelper, databaseServer: DatabaseServer, logger: ILogger, itemHelper: ItemHelper, presetHelper: PresetHelper, randomUtil: RandomUtil, configServer: ConfigServer); + generateStaticPrices(): void; + generateDynamicPrices(): void; + hasDynamicPrices(): boolean; + getDynamicPrice(itemTpl: string): number; + getAllFleaPrices(): Record; + getFleaPriceForItem(tplId: string): number; + getBarterPrice(barterScheme: IBarterScheme[]): number; + getDynamicOfferPrice(items: Item[], desiredCurrency: string): number; + getWeaponPresetPrice(item: Item, items: Item[], existingPrice: number): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/RagfairRequiredItemsService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/RagfairRequiredItemsService.d.ts new file mode 100644 index 0000000..b05fc65 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/RagfairRequiredItemsService.d.ts @@ -0,0 +1,12 @@ +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairRequiredItemsService { + protected logger: ILogger; + protected paymentHelper: PaymentHelper; + protected ragfairOfferService: RagfairOfferService; + protected requiredItemsCache: {}; + constructor(logger: ILogger, paymentHelper: PaymentHelper, ragfairOfferService: RagfairOfferService); + getRequiredItems(searchId: string): any; + buildRequiredItemTable(): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/TraderAssortService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/TraderAssortService.d.ts new file mode 100644 index 0000000..5ba2d05 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/TraderAssortService.d.ts @@ -0,0 +1,6 @@ +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +export declare class TraderAssortService { + protected pristineTraderAssorts: Record; + getPristineTraderAssort(traderId: string): ITraderAssort; + setPristineTraderAssort(traderId: string, assort: ITraderAssort): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/customPresetService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/customPresetService.d.ts new file mode 100644 index 0000000..84a8baf --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/customPresetService.d.ts @@ -0,0 +1,19 @@ +import { Preset } from "../models/eft/common/IGlobals"; +import { CustomPreset } from "../models/spt/services/CustomPreset"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomPresetService { + protected logger: ILogger; + private customPresets; + constructor(logger: ILogger); + /** + * Add custom preset to internal array + * @param presetKey presets key + * @param presetToAdd preset item to add + */ + add(presetKey: string, presetToAdd: Preset): void; + /** + * Get all custom presets + * @returns + */ + get(): CustomPreset[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts new file mode 100644 index 0000000..abfe237 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts @@ -0,0 +1,6 @@ +import { DynamicRouter, RouteAction } from "../../../di/Router"; +export declare class DynamicRouterMod extends DynamicRouter { + private topLevelRoute; + constructor(routes: RouteAction[], topLevelRoute: string); + getTopLevelRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts new file mode 100644 index 0000000..6742fc6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts @@ -0,0 +1,7 @@ +import { DependencyContainer } from "tsyringe"; +import { RouteAction } from "../../../di/Router"; +export declare class DynamicRouterModService { + private container; + constructor(container: DependencyContainer); + registerDynamicRouter(name: string, routes: RouteAction[], topLevelRoute: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/image/imageRouteService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/image/imageRouteService.d.ts new file mode 100644 index 0000000..29569b2 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/image/imageRouteService.d.ts @@ -0,0 +1,6 @@ +export declare class ImageRouteService { + protected routes: Record; + addRoute(urlKey: string, route: string): void; + getByKey(urlKey: string): string; + existsByKey(urlKey: string): boolean; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/onLoad/OnLoadMod.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/onLoad/OnLoadMod.d.ts new file mode 100644 index 0000000..53fb062 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/onLoad/OnLoadMod.d.ts @@ -0,0 +1,8 @@ +import { OnLoad } from "../../../di/OnLoad"; +export declare class OnLoadMod extends OnLoad { + private onLoadOverride; + private getRouteOverride; + constructor(onLoadOverride: () => void, getRouteOverride: () => string); + onLoad(): void; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/onLoad/OnLoadModService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/onLoad/OnLoadModService.d.ts new file mode 100644 index 0000000..f402103 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/onLoad/OnLoadModService.d.ts @@ -0,0 +1,6 @@ +import { DependencyContainer } from "tsyringe"; +export declare class OnLoadModService { + protected container: DependencyContainer; + constructor(container: DependencyContainer); + registerOnLoad(name: string, onLoad: () => void, getRoute: () => string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/onUpdate/OnUpdateMod.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/onUpdate/OnUpdateMod.d.ts new file mode 100644 index 0000000..ee89043 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/onUpdate/OnUpdateMod.d.ts @@ -0,0 +1,8 @@ +import { OnUpdate } from "../../../di/OnUpdate"; +export declare class OnUpdateMod extends OnUpdate { + private onUpdateOverride; + private getRouteOverride; + constructor(onUpdateOverride: (timeSinceLastRun: number) => boolean, getRouteOverride: () => string); + onUpdate(timeSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/onUpdate/OnUpdateModService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/onUpdate/OnUpdateModService.d.ts new file mode 100644 index 0000000..05d735b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/onUpdate/OnUpdateModService.d.ts @@ -0,0 +1,6 @@ +import { DependencyContainer } from "tsyringe"; +export declare class OnUpdateModService { + protected container: DependencyContainer; + constructor(container: DependencyContainer); + registerOnUpdate(name: string, onUpdate: (timeSinceLastRun: number) => boolean, getRoute: () => string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/staticRouter/StaticRouterMod.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/staticRouter/StaticRouterMod.d.ts new file mode 100644 index 0000000..1e62747 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/staticRouter/StaticRouterMod.d.ts @@ -0,0 +1,6 @@ +import { RouteAction, StaticRouter } from "../../../di/Router"; +export declare class StaticRouterMod extends StaticRouter { + private topLevelRoute; + constructor(routes: RouteAction[], topLevelRoute: string); + getTopLevelRoute(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/services/mod/staticRouter/StaticRouterModService.d.ts b/Ereshkigal-AkiConfig/dist/types/services/mod/staticRouter/StaticRouterModService.d.ts new file mode 100644 index 0000000..f28fd45 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/services/mod/staticRouter/StaticRouterModService.d.ts @@ -0,0 +1,7 @@ +import { DependencyContainer } from "tsyringe"; +import { RouteAction } from "../../../di/Router"; +export declare class StaticRouterModService { + protected container: DependencyContainer; + constructor(container: DependencyContainer); + registerStaticRouter(name: string, routes: RouteAction[], topLevelRoute: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/App.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/App.d.ts new file mode 100644 index 0000000..34c141e --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/App.d.ts @@ -0,0 +1,14 @@ +import { TimeUtil } from "./TimeUtil"; +import { OnLoad } from "../di/OnLoad"; +import { OnUpdate } from "../di/OnUpdate"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class App { + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected onLoadComponents: OnLoad[]; + protected onUpdateComponents: OnUpdate[]; + protected onUpdateLastRun: {}; + constructor(logger: ILogger, timeUtil: TimeUtil, onLoadComponents: OnLoad[], onUpdateComponents: OnUpdate[]); + load(): void; + protected update(onUpdateComponents: OnUpdate[]): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/AyncQueue.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/AyncQueue.d.ts new file mode 100644 index 0000000..da6ab18 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/AyncQueue.d.ts @@ -0,0 +1,7 @@ +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { ICommand } from "../models/spt/utils/ICommand"; +export declare class AsyncQueue implements IAsyncQueue { + protected commandsQueue: ICommand[]; + constructor(); + waitFor(command: ICommand): Promise; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/DatabaseImporter.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/DatabaseImporter.d.ts new file mode 100644 index 0000000..24c1cd6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/DatabaseImporter.d.ts @@ -0,0 +1,52 @@ +import { OnLoad } from "../di/OnLoad"; +import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ImageRouter } from "../routers/ImageRouter"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { CustomHandbookItemService } from "../services/CustomHandbookItemService"; +import { CustomItemService } from "../services/CustomItemService"; +import { CustomPresetService } from "../services/customPresetService"; +import { CustomTraderAssortService } from "../services/CustomTraderAssortService"; +import { JsonUtil } from "./JsonUtil"; +import { VFS } from "./VFS"; +export declare class DatabaseImporter extends OnLoad { + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected customItemService: CustomItemService; + protected customTraderAssortService: CustomTraderAssortService; + protected customHandbookItemService: CustomHandbookItemService; + protected customPresetService: CustomPresetService; + protected imageRouter: ImageRouter; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, customItemService: CustomItemService, customTraderAssortService: CustomTraderAssortService, customHandbookItemService: CustomHandbookItemService, customPresetService: CustomPresetService, imageRouter: ImageRouter); + onLoad(): void; + /** + * Read all json files in database folder and map into a json object + * @param filepath path to database folder + */ + protected hydrateDatabase(filepath: string): void; + /** + * Get all items added through CustomItemService and add to database.templates.items + * @param dataToImport db data to amend + */ + protected addCustomItemsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all assorts added through CustomTraderAssortService and add to database.traders[x].assort + * @param dataToImport db data to amend + */ + protected addCustomTraderAssortsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all custom handbook items added through CustomHandbookItemService and add to database.templates.handbook.items + * @param dataToImport db data to amend + */ + protected addCustomHandbookItemsToDb(dataToImport: IDatabaseTables): void; + /** + * Get all custom preset items added through CustomPresetService and add to database.globals.ItemPresets + * @param dataToImport + */ + protected addCustomPresetsToDb(dataToImport: IDatabaseTables): void; + getRoute(): string; + loadRecursive(filepath: string): IDatabaseTables; + loadImages(filepath: string): void; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/HashUtil.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/HashUtil.d.ts new file mode 100644 index 0000000..bacbf2a --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/HashUtil.d.ts @@ -0,0 +1,11 @@ +/// +import crypto from "crypto"; +import { TimeUtil } from "./TimeUtil"; +export declare class HashUtil { + protected timeUtil: TimeUtil; + constructor(timeUtil: TimeUtil); + generate(): string; + generateMd5ForData(data: string): string; + generateSha1ForData(data: string): string; + generateHashForData(algorithm: string, data: crypto.BinaryLike): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/HttpResponseUtil.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/HttpResponseUtil.d.ts new file mode 100644 index 0000000..29502be --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/HttpResponseUtil.d.ts @@ -0,0 +1,16 @@ +import { JsonUtil } from "./JsonUtil"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class HttpResponseUtil { + protected jsonUtil: JsonUtil; + constructor(jsonUtil: JsonUtil); + protected clearString(s: string): any; + noBody(data: any): any; + getBody(data: T, err?: number, errmsg?: any): IGetBodyResponseData; + getUnclearedBody(data: any, err?: number, errmsg?: any): string; + emptyResponse(): IGetBodyResponseData; + nullResponse(): INullResponseData; + emptyArrayResponse(): IGetBodyResponseData; + appendErrorToOutput(output: IItemEventRouterResponse, message?: string, title?: string): IItemEventRouterResponse; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/JsonUtil.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/JsonUtil.d.ts new file mode 100644 index 0000000..71e95f6 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/JsonUtil.d.ts @@ -0,0 +1,25 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { HashUtil } from "./HashUtil"; +import { VFS } from "./VFS"; +export declare class JsonUtil { + protected vfs: VFS; + protected hashUtil: HashUtil; + protected logger: ILogger; + protected fileHashes: any; + constructor(vfs: VFS, hashUtil: HashUtil, logger: ILogger); + /** + * From object to string + * @param data object to turn into JSON + * @param prettify Should output be prettified? + * @returns string + */ + serialize(data: any, prettify?: boolean): string; + /** + * From string to object + * @param jsonString json string to turn into object + * @returns object + */ + deserialize(jsonString: string): any; + deserializeWithCacheCheck(jsonString: string, filePath: string): string; + clone(data: T): T; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/Logger.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/Logger.d.ts new file mode 100644 index 0000000..f5b774b --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/Logger.d.ts @@ -0,0 +1,51 @@ +/// +import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { ILogger } from "../models/spt/utils/ILogger"; +import winston from "winston"; +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; +import fs from "fs"; +interface SptLogger { + error: (msg: string | Record) => void; + warn: (msg: string | Record) => void; + succ?: (msg: string | Record) => void; + info: (msg: string | Record) => void; + debug: (msg: string | Record) => void; +} +export declare class WinstonLogger implements ILogger { + protected asyncQueue: IAsyncQueue; + protected uuidGenerator: IUUidGenerator; + protected showDebugInConsole: boolean; + protected folderPath: string; + protected file: string; + protected filePath: string; + protected logLevels: { + levels: { + error: number; + warn: number; + succ: number; + info: number; + custom: number; + debug: number; + }; + colors: { + error: string; + warn: string; + succ: string; + info: string; + custom: string; + debug: string; + }; + }; + protected logger: winston.Logger & SptLogger; + writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; + constructor(asyncQueue: IAsyncQueue, uuidGenerator: IUUidGenerator); + writeToLogFile(data: string | Daum): Promise; + log(data: string | Error | Record, color: string): Promise; + error(data: string | Record): Promise; + warning(data: string | Record): Promise; + success(data: string | Record): Promise; + info(data: string | Record): Promise; + debug(data: string | Record, onlyShowInConsole?: boolean): Promise; +} +export {}; diff --git a/Ereshkigal-AkiConfig/dist/types/utils/MathUtil.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/MathUtil.d.ts new file mode 100644 index 0000000..ea5fd69 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/MathUtil.d.ts @@ -0,0 +1,53 @@ +export declare class MathUtil { + /** + * Helper to create the sum of all array elements + * @param {array} values The array with numbers of which to calculate the sum + * @return {number} sum(values) + */ + arraySum(values: number[]): number; + /** + * Helper to create the cumulative sum of all array elements + * arrayCumsum([1, 2, 3, 4]) = [1, 3, 6, 10] + * @param {array} values The array with numbers of which to calculate the cumulative sum + * @return {array} cumsum(values) + */ + arrayCumsum(values: number[]): number[]; + /** + * Helper to create the product of each element times factor + * @param {array} values The array of numbers which shall be multiplied by the factor + * @return {array} array times factor + */ + arrayProd(values: number[], factor: number): number[]; + /** + * Helper to add a constant to all array elements + * @param {array} values The array of numbers to which the summand should be added + * @return {array} array plus summand + */ + arrayAdd(values: number[], summand: number): number[]; + /** + * Map a value from an input range to an output range linearly + * + * Example: + * a_min = 0; a_max=1; + * b_min = 1; b_max=3; + * MathUtil.mapToRange(0.5, a_min, a_max, b_min, b_max) // returns 2 + * + * @param {number} x The value from input range to be mapped to output range + * @param {number} minIn min of input range + * @param {number} maxIn max of input range + * @param {number} minOut min of output range + * @param {number} maxOut max of outout range + * @return {number} the result of the mapping + */ + mapToRange(x: number, minIn: number, maxIn: number, minOut: number, maxOut: number): number; + /** + * Linear interpolation + * e.g. used to do a continuous integration for quest rewards which are defined for specific support centers of pmcLevel + * + * @param {string} xp the point of x at which to interpolate + * @param {array} x support points in x (of same length as y) + * @param {array} y support points in y (of same length as x) + * @return {number} y(xp) + */ + interp1(xp: number, x: number[], y: number[]): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/ObjectId.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/ObjectId.d.ts new file mode 100644 index 0000000..03aae56 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/ObjectId.d.ts @@ -0,0 +1,14 @@ +/// +import { TimeUtil } from "./TimeUtil"; +export declare class ObjectId { + protected timeUtil: TimeUtil; + constructor(timeUtil: TimeUtil); + protected randomBytes: Buffer; + protected constglobalCounter: number; + protected consttime: number; + protected globalCounter: number; + protected time: number; + incGlobalCounter(): number; + toHexString(byteArray: string | any[] | Buffer): string; + generate(): string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/RandomUtil.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/RandomUtil.d.ts new file mode 100644 index 0000000..c24dd60 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/RandomUtil.d.ts @@ -0,0 +1,153 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { JsonUtil } from "./JsonUtil"; +import { MathUtil } from "./MathUtil"; +/** + * Array of ProbabilityObjectArray which allow to randomly draw of the contained objects + * based on the relative probability of each of its elements. + * The probabilities of the contained element is not required to be normalized. + * + * Example: + * po = new ProbabilityObjectArray( + * new ProbabilityObject("a", 5), + * new ProbabilityObject("b", 1), + * new ProbabilityObject("c", 1) + * ); + * res = po.draw(10000); + * // count the elements which should be distributed according to the relative probabilities + * res.filter(x => x==="b").reduce((sum, x) => sum + 1 , 0) + */ +export declare class ProbabilityObjectArray extends Array> { + private mathUtil; + constructor(mathUtil: MathUtil, ...items: ProbabilityObject[]); + filter(callbackfn: (value: ProbabilityObject, index: number, array: ProbabilityObject[]) => any): ProbabilityObjectArray; + /** + * Calculates the normalized cumulative probability of the ProbabilityObjectArray's elements normalized to 1 + * @param {array} probValues The relative probability values of which to calculate the normalized cumulative sum + * @returns {array} Cumulative Sum normalized to 1 + */ + cumulativeProbability(probValues: number[]): number[]; + /** + * Clone this ProbabilitObjectArray + * @returns {ProbabilityObjectArray} Deep Copy of this ProbabilityObjectArray + */ + clone(): ProbabilityObjectArray; + /** + * Drop an element from the ProbabilityObjectArray + * + * @param {string} key The key of the element to drop + * @returns {ProbabilityObjectArray} ProbabilityObjectArray without the dropped element + */ + drop(key: K): ProbabilityObjectArray; + /** + * Return the data field of a element of the ProbabilityObjectArray + * @param {string} key The key of the element whose data shall be retrieved + * @returns {object} The data object + */ + data(key: K): V; + /** + * Get the relative probability of an element by its key + * + * Example: + * po = new ProbabilityObjectArray(new ProbabilityObject("a", 5), new ProbabilityObject("b", 1)) + * po.maxProbability() // returns 5 + * + * @param {string} key The key of the element whose relative probability shall be retrieved + * @return {number} The relative probability + */ + probability(key: K): number; + /** + * Get the maximum relative probability out of a ProbabilityObjectArray + * + * Example: + * po = new ProbabilityObjectArray(new ProbabilityObject("a", 5), new ProbabilityObject("b", 1)) + * po.maxProbability() // returns 5 + * + * @return {number} the maximum value of all relative probabilities in this ProbabilityObjectArray + */ + maxProbability(): number; + /** + * Get the minimum relative probability out of a ProbabilityObjectArray + * + * Example: + * po = new ProbabilityObjectArray(new ProbabilityObject("a", 5), new ProbabilityObject("b", 1)) + * po.minProbability() // returns 1 + * + * @return {number} the minimum value of all relative probabilities in this ProbabilityObjectArray + */ + minProbability(): number; + /** + * Draw random element of the ProbabilityObject N times to return an array of N keys. + * Drawing can be with or without replacement + * + * @param {integer} count The number of times we want to draw + * @param {boolean} replacement Draw with or without replacement from the input dict + * @param {array} locklist list keys which shall be replaced even if drawing without replacement + * @return {array} Array consisting of N random keys for this ProbabilityObjectArray + */ + draw(count?: number, replacement?: boolean, locklist?: Array): K[]; +} +/** + * A ProbabilityObject which is use as an element to the ProbabilityObjectArray array + * It contains a key, the relative probability as well as optional data. + */ +export declare class ProbabilityObject { + key: K; + relativeProbability: number; + data: V; + /** + * Constructor for the ProbabilityObject + * @param {string} key The key of the element + * @param {number} relativeProbability The relative probability of this element + * @param {any} data Optional data attached to the element + */ + constructor(key: K, relativeProbability: number, data?: V); +} +export declare class RandomUtil { + protected jsonUtil: JsonUtil; + protected logger: ILogger; + constructor(jsonUtil: JsonUtil, logger: ILogger); + getInt(min: number, max: number): number; + getIntEx(max: number): number; + getFloat(min: number, max: number): number; + getBool(): boolean; + getStringArrayValue(arr: string[]): string; + getArrayValue(arr: T[]): T; + getKey(node: any): string; + getKeyValue(node: { + [x: string]: any; + }): any; + /** + * Draw from normal distribution + * @param {number} mu Mean of the normal distribution + * @param {number} sigma Standard deviation of the normal distribution + * @returns {number} The value drawn + */ + randn(mu: number, sigma: number): number; + /** + * Draw Random integer low inclusive, high exclusive + * if high is not set we draw from 0 to low (exclusive) + * @param {integer} low Lower bound inclusive, when high is not set, this is high + * @param {integer} high Higher bound exclusive + * @returns {integer} The random integer in [low, high) + */ + randInt(low: number, high?: number): number; + /** + * Draw a random element of the provided list N times to return an array of N random elements + * Drawing can be with or without replacement + * @param {array} list The array we want to draw randomly from + * @param {integer} count The number of times we want to draw + * @param {boolean} replacement Draw with ot without replacement from the input array + * @return {array} Array consisting of N random elements + */ + drawRandomFromList(list: Array, count?: number, replacement?: boolean): Array; + /** + * Draw a random (top level) element of the provided dictionary N times to return an array of N random dictionary keys + * Drawing can be with or without replacement + * @param {any} dict The dictionary we want to draw randomly from + * @param {integer} count The number of times we want to draw + * @param {boolean} replacement Draw with ot without replacement from the input dict + * @return {array} Array consisting of N random keys of the dictionary + */ + drawRandomFromDict(dict: any, count?: number, replacement?: boolean): any[]; + getBiasedRandomNumber(min: number, max: number, shift: number, n: number): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/TimeUtil.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/TimeUtil.d.ts new file mode 100644 index 0000000..9733be9 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/TimeUtil.d.ts @@ -0,0 +1,8 @@ +export declare class TimeUtil { + static readonly oneHourAsSeconds = 3600; + formatTime(date: Date): string; + formatDate(date: Date): string; + getDate(): string; + getTime(): string; + getTimestamp(): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/UUidGenerator.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/UUidGenerator.d.ts new file mode 100644 index 0000000..000b719 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/UUidGenerator.d.ts @@ -0,0 +1,4 @@ +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; +export declare class UUidGenerator implements IUUidGenerator { + generate: () => string; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/VFS.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/VFS.d.ts new file mode 100644 index 0000000..e5eaf02 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/VFS.d.ts @@ -0,0 +1,55 @@ +/// +/// +import "reflect-metadata"; +import fs from "fs"; +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; +export declare class VFS { + protected asyncQueue: IAsyncQueue; + protected uuidGenerator: IUUidGenerator; + accessFilePromisify: (path: fs.PathLike, mode?: number) => Promise; + copyFilePromisify: (src: fs.PathLike, dst: fs.PathLike, flags?: number) => Promise; + mkdirPromisify: (path: fs.PathLike, options: fs.MakeDirectoryOptions & { + recursive: true; + }) => Promise; + readFilePromisify: (path: fs.PathLike) => Promise; + writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; + readdirPromisify: (path: fs.PathLike, options?: BufferEncoding | { + encoding: BufferEncoding; + withFileTypes?: false; + }) => Promise; + statPromisify: (path: fs.PathLike, options?: fs.StatOptions & { + bigint?: false; + }) => Promise; + unlinkPromisify: (path: fs.PathLike) => Promise; + rmdirPromisify: (path: fs.PathLike) => Promise; + constructor(asyncQueue: IAsyncQueue, uuidGenerator: IUUidGenerator); + exists(filepath: fs.PathLike): boolean; + existsAsync(filepath: fs.PathLike): Promise; + copyFile(filepath: fs.PathLike, target: fs.PathLike): void; + copyAsync(filepath: fs.PathLike, target: fs.PathLike): Promise; + createDir(filepath: string): void; + createDirAsync(filepath: string): Promise; + copyDir(filepath: string, target: string, fileExtensions?: string | string[]): void; + copyDirAsync(filepath: string, target: string, fileExtensions: string | string[]): Promise; + readFile(filepath: string): any; + readFileAsync(filepath: string): Promise; + writeFile(filepath: any, data?: string, append?: boolean, atomic?: boolean): void; + writeFileAsync(filepath: any, data?: string, append?: boolean, atomic?: boolean): Promise; + getFiles(filepath: string): string[]; + getFilesAsync(filepath: string): Promise; + getDirs(filepath: string): string[]; + getDirsAsync(filepath: string): Promise; + removeFile(filepath: string): void; + removeFileAsync(filepath: string): Promise; + removeDir(filepath: string): void; + removeDirAsync(filepath: string): Promise; + private lockFileSync; + private checkFileSync; + private unlockFileSync; + getFileExtension(filepath: string): string; + stripExtension(filepath: string): string; + minifyAllJsonInDirRecursive(filepath: string): Promise; + minifyAllJsonInDirRecursiveAsync(filepath: string): Promise; + getFilesOfType(directory: string, fileType: string, files?: string[]): string[]; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/Watermark.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/Watermark.d.ts new file mode 100644 index 0000000..111bdd0 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/Watermark.d.ts @@ -0,0 +1,41 @@ +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +export declare class WatermarkLocale { + protected locales: { + "en-US": { + description: string[]; + warning: string[]; + modding: string[]; + }; + "zh-CN": { + description: string[]; + warning: string[]; + modding: string[]; + }; + }; + getLocale(): string; + getDescription(): string[]; + getWarning(): string[]; + getModding(): string[]; +} +export declare class Watermark { + protected logger: ILogger; + protected configServer: ConfigServer; + protected watermarkLocale?: WatermarkLocale; + protected akiConfig: ICoreConfig; + constructor(logger: ILogger, configServer: ConfigServer, watermarkLocale?: WatermarkLocale); + protected text: string[]; + protected versionLabel: string; + initialize(): void; + getVersionTag(): string; + getVersionLabel(): string; + /** Set window title */ + setTitle(): void; + /** Reset console cursor to top */ + resetCursor(): void; + /** Draw the watermark */ + draw(): void; + /** Caculate text length */ + protected textLength(s: string): number; +} diff --git a/Ereshkigal-AkiConfig/dist/types/utils/decorators/Singleton.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/decorators/Singleton.d.ts new file mode 100644 index 0000000..7e89026 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/decorators/Singleton.d.ts @@ -0,0 +1,4 @@ +import type constructor from "./constructor"; +import { InjectionToken } from "tsyringe"; +declare function singleton(token?: InjectionToken): (target: constructor) => void; +export default singleton; diff --git a/Ereshkigal-AkiConfig/dist/types/utils/decorators/constructor.d.ts b/Ereshkigal-AkiConfig/dist/types/utils/decorators/constructor.d.ts new file mode 100644 index 0000000..416f354 --- /dev/null +++ b/Ereshkigal-AkiConfig/dist/types/utils/decorators/constructor.d.ts @@ -0,0 +1,4 @@ +declare type constructor = { + new (...args: any[]): T; +}; +export default constructor; diff --git a/Ereshkigal-AkiConfig/src/christmas.ts b/Ereshkigal-AkiConfig/src/christmas.ts deleted file mode 100644 index 73e4c47..0000000 --- a/Ereshkigal-AkiConfig/src/christmas.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* -エレシュキガル -*/ - -"use strict"; - -class gifts -{ - static applyGiftDatabase() - { - //Hell, how am i gonna sort all that christmas shit eh ? - } -} - -module.exports = gifts; \ No newline at end of file From 2da7e28c281f385f8746236508cb553dd300adbb Mon Sep 17 00:00:00 2001 From: George Gaulin Date: Mon, 27 Jun 2022 07:41:42 -0400 Subject: [PATCH 10/10] Add back AirDrops config loader --- Ereshkigal-AkiConfig/dist/src/generator.ts | 2 +- Ereshkigal-AkiConfig/src/generator.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Ereshkigal-AkiConfig/dist/src/generator.ts b/Ereshkigal-AkiConfig/dist/src/generator.ts index 72860d5..22d56e4 100644 --- a/Ereshkigal-AkiConfig/dist/src/generator.ts +++ b/Ereshkigal-AkiConfig/dist/src/generator.ts @@ -98,7 +98,7 @@ export class Generator Object.assign(config["Raids values"]["Loot values"], location); //Sorting airdrop values - //Object.assign(config["Raids values"]["Airdrop values"], airdrops) + Object.assign(config["Raids values"]["Airdrop values"], airdrops) //Sorting trader values Object.assign(config["Traders values"]["Traders"], trader); diff --git a/Ereshkigal-AkiConfig/src/generator.ts b/Ereshkigal-AkiConfig/src/generator.ts index 72860d5..22d56e4 100644 --- a/Ereshkigal-AkiConfig/src/generator.ts +++ b/Ereshkigal-AkiConfig/src/generator.ts @@ -98,7 +98,7 @@ export class Generator Object.assign(config["Raids values"]["Loot values"], location); //Sorting airdrop values - //Object.assign(config["Raids values"]["Airdrop values"], airdrops) + Object.assign(config["Raids values"]["Airdrop values"], airdrops) //Sorting trader values Object.assign(config["Traders values"]["Traders"], trader);

    %s^!&U0`kBN#D+Rwk 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%0A2+Yc>t~!bRXj-+{iK8;nhz=u~_N_ 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

  • %s^!&U0`kBN#D+Rwk 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%0A2+Yc>t~!bRXj-+{iK8;nhz=u~_N_ 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