From e827d6d1d0e3150e5d08c6d925b3179ba4f1ec29 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sun, 12 Mar 2023 19:31:14 +0200 Subject: [PATCH] Swedish Military Assets Pack v1.10 support (#90) * Added a pydcs extension for Swedish Military Assets for DCS by Currenthill v1.10 (2022-11-01). Also added shipmod decorator for the ships added in the mod and remove_ship function in faction.py * Added unit yamls for Swedish Military Assets for DCS by Currenthill v1.10 (2022-11-01) * Added missing RBS-15 group yaml and Ag 90 Sniper Team unit yaml. * Fixed swedishmilitaryassetspack imports. * Renamed some unit yamls for Swedish Military Assets pack. * Encoded LvKv9040.yaml in UTF-8. * Encoded Grkpbv90.yaml in UTF-8. * Encoded BV410*.yaml in UTF-8. * Encoded CV9040.yaml in UTF-8. * Fixed Strv103 yaml syntax. * Encoded Strv2000.yaml in UTF-8. * Renamed some unit yamls for Swedish Military Assets pack. * Renamed BV410 air-defence units. * Added Swedish short-range air defence groups. * Added Swedish medium- and long-range air defence groups (LvS-103 batteries). * Added icons for some Swedish Military Assets units. * Added faction files for: sweden_1997 sweden_2020 --- changelog.md | 1 + game/factions/faction.py | 44 ++ game/modsupport.py | 8 +- game/theater/start_generator.py | 1 + pydcs_extensions/__init__.py | 1 + .../swedishmilitaryassetspack/__init__.py | 1 + .../swedishmilitaryassetspack.py | 418 ++++++++++++++++++ qt_ui/windows/newgame/QNewGameWizard.py | 4 + resources/factions/sweden_1997.json | 71 +++ resources/factions/sweden_2020.json | 78 ++++ resources/groups/LvS-103_Rb103A.yaml | 11 + resources/groups/LvS-103_Rb103A_Mobile.yaml | 11 + resources/groups/LvS-103_Rb103B.yaml | 10 + resources/groups/LvS-103_Rb103B_Mobile.yaml | 10 + resources/groups/RBS-15.yaml | 8 + resources/groups/RBS-70.yaml | 10 + resources/groups/RBS-90.yaml | 9 + resources/groups/RBS-98.yaml | 9 + .../layouts/anti_air/LvS-103A_Battery.yaml | 53 +++ .../anti_air/LvS-103A_Mobile_Battery.yaml | 53 +++ .../layouts/anti_air/LvS-103B_Battery.yaml | 53 +++ .../anti_air/LvS-103B_Mobile_Battery.yaml | 53 +++ .../vehicles/icons/Artillerisystem08_24.jpg | Bin 0 -> 9358 bytes .../ui/units/vehicles/icons/BV410_24.jpg | Bin 0 -> 9424 bytes .../units/vehicles/icons/BV410_RBS70_24.jpg | Bin 0 -> 9297 bytes .../units/vehicles/icons/BV410_RBS90_24.jpg | Bin 0 -> 9297 bytes .../ui/units/vehicles/icons/CV9040_24.jpg | Bin 0 -> 9082 bytes .../ui/units/vehicles/icons/Grkpbv90_24.jpg | Bin 0 -> 9455 bytes .../ui/units/vehicles/icons/LvKv9040_24.jpg | Bin 0 -> 8890 bytes .../ui/units/vehicles/icons/Strv103_24.jpg | Bin 0 -> 9433 bytes .../ui/units/vehicles/icons/Strv2000_24.jpg | Bin 0 -> 9039 bytes .../ui/units/vehicles/icons/Volvo740_24.jpg | Bin 0 -> 9461 bytes resources/units/ground_units/AG-90.yaml | 6 + .../units/ground_units/Artillerisystem08.yaml | 14 + resources/units/ground_units/BV410.yaml | 9 + resources/units/ground_units/BV410_RBS70.yaml | 14 + resources/units/ground_units/BV410_RBS90.yaml | 15 + resources/units/ground_units/CV9040.yaml | 12 + resources/units/ground_units/Grkpbv90.yaml | 13 + resources/units/ground_units/LvKv9040.yaml | 12 + .../units/ground_units/LvS-103_Elverk103.yaml | 4 + .../LvS-103_Lavett103_HX_Rb103A.yaml | 10 + .../LvS-103_Lavett103_HX_Rb103B.yaml | 11 + .../LvS-103_Lavett103_Rb103A.yaml | 10 + .../LvS-103_Lavett103_Rb103B.yaml | 11 + .../units/ground_units/LvS-103_PM103.yaml | 11 + .../units/ground_units/LvS-103_PM103_HX.yaml | 11 + .../units/ground_units/LvS-103_StriE103.yaml | 4 + resources/units/ground_units/RBS-15KA.yaml | 4 + resources/units/ground_units/RBS-57.yaml | 6 + resources/units/ground_units/RBS-58.yaml | 5 + resources/units/ground_units/RBS-70.yaml | 12 + resources/units/ground_units/RBS-90.yaml | 14 + resources/units/ground_units/RBS-98.yaml | 13 + resources/units/ground_units/Strv103.yaml | 16 + resources/units/ground_units/Strv2000.yaml | 12 + .../ground_units/SwedishinfantryAK4.yaml | 6 + .../ground_units/SwedishinfantryAK5.yaml | 5 + .../ground_units/SwedishinfantryAK5GT.yaml | 5 + .../ground_units/SwedishinfantryKSP58.yaml | 5 + .../ground_units/SwedishinfantryKSP90.yaml | 5 + .../ground_units/SwedishinfantryPskott86.yaml | 6 + resources/units/ground_units/UndE23.yaml | 11 + resources/units/ground_units/Volvo740.yaml | 5 + resources/units/ships/HSwMS_Visby.yaml | 4 + resources/units/ships/Strb90.yaml | 4 + 66 files changed, 1221 insertions(+), 1 deletion(-) create mode 100644 pydcs_extensions/swedishmilitaryassetspack/__init__.py create mode 100644 pydcs_extensions/swedishmilitaryassetspack/swedishmilitaryassetspack.py create mode 100644 resources/factions/sweden_1997.json create mode 100644 resources/factions/sweden_2020.json create mode 100644 resources/groups/LvS-103_Rb103A.yaml create mode 100644 resources/groups/LvS-103_Rb103A_Mobile.yaml create mode 100644 resources/groups/LvS-103_Rb103B.yaml create mode 100644 resources/groups/LvS-103_Rb103B_Mobile.yaml create mode 100644 resources/groups/RBS-15.yaml create mode 100644 resources/groups/RBS-70.yaml create mode 100644 resources/groups/RBS-90.yaml create mode 100644 resources/groups/RBS-98.yaml create mode 100644 resources/layouts/anti_air/LvS-103A_Battery.yaml create mode 100644 resources/layouts/anti_air/LvS-103A_Mobile_Battery.yaml create mode 100644 resources/layouts/anti_air/LvS-103B_Battery.yaml create mode 100644 resources/layouts/anti_air/LvS-103B_Mobile_Battery.yaml create mode 100644 resources/ui/units/vehicles/icons/Artillerisystem08_24.jpg create mode 100644 resources/ui/units/vehicles/icons/BV410_24.jpg create mode 100644 resources/ui/units/vehicles/icons/BV410_RBS70_24.jpg create mode 100644 resources/ui/units/vehicles/icons/BV410_RBS90_24.jpg create mode 100644 resources/ui/units/vehicles/icons/CV9040_24.jpg create mode 100644 resources/ui/units/vehicles/icons/Grkpbv90_24.jpg create mode 100644 resources/ui/units/vehicles/icons/LvKv9040_24.jpg create mode 100644 resources/ui/units/vehicles/icons/Strv103_24.jpg create mode 100644 resources/ui/units/vehicles/icons/Strv2000_24.jpg create mode 100644 resources/ui/units/vehicles/icons/Volvo740_24.jpg create mode 100644 resources/units/ground_units/AG-90.yaml create mode 100644 resources/units/ground_units/Artillerisystem08.yaml create mode 100644 resources/units/ground_units/BV410.yaml create mode 100644 resources/units/ground_units/BV410_RBS70.yaml create mode 100644 resources/units/ground_units/BV410_RBS90.yaml create mode 100644 resources/units/ground_units/CV9040.yaml create mode 100644 resources/units/ground_units/Grkpbv90.yaml create mode 100644 resources/units/ground_units/LvKv9040.yaml create mode 100644 resources/units/ground_units/LvS-103_Elverk103.yaml create mode 100644 resources/units/ground_units/LvS-103_Lavett103_HX_Rb103A.yaml create mode 100644 resources/units/ground_units/LvS-103_Lavett103_HX_Rb103B.yaml create mode 100644 resources/units/ground_units/LvS-103_Lavett103_Rb103A.yaml create mode 100644 resources/units/ground_units/LvS-103_Lavett103_Rb103B.yaml create mode 100644 resources/units/ground_units/LvS-103_PM103.yaml create mode 100644 resources/units/ground_units/LvS-103_PM103_HX.yaml create mode 100644 resources/units/ground_units/LvS-103_StriE103.yaml create mode 100644 resources/units/ground_units/RBS-15KA.yaml create mode 100644 resources/units/ground_units/RBS-57.yaml create mode 100644 resources/units/ground_units/RBS-58.yaml create mode 100644 resources/units/ground_units/RBS-70.yaml create mode 100644 resources/units/ground_units/RBS-90.yaml create mode 100644 resources/units/ground_units/RBS-98.yaml create mode 100644 resources/units/ground_units/Strv103.yaml create mode 100644 resources/units/ground_units/Strv2000.yaml create mode 100644 resources/units/ground_units/SwedishinfantryAK4.yaml create mode 100644 resources/units/ground_units/SwedishinfantryAK5.yaml create mode 100644 resources/units/ground_units/SwedishinfantryAK5GT.yaml create mode 100644 resources/units/ground_units/SwedishinfantryKSP58.yaml create mode 100644 resources/units/ground_units/SwedishinfantryKSP90.yaml create mode 100644 resources/units/ground_units/SwedishinfantryPskott86.yaml create mode 100644 resources/units/ground_units/UndE23.yaml create mode 100644 resources/units/ground_units/Volvo740.yaml create mode 100644 resources/units/ships/HSwMS_Visby.yaml create mode 100644 resources/units/ships/Strb90.yaml diff --git a/changelog.md b/changelog.md index 096d3218..7e4eafe5 100644 --- a/changelog.md +++ b/changelog.md @@ -11,6 +11,7 @@ * **[Mission Generation]** Enable spectating & F11 free camera when the "Allow external views" option is selected * **[Cheat Menu]** Option to instantly transfer squadrons across bases. * **[Modding]** Support for IDF Mod Project F-16I Sufa & F-16D v3.2 mod +* **[Modding]** Support for Swedish Military Assets for DCS by Currenthill Version 1.10 * **[UI]** Add selectable units in faction overview during campaign generation. * **[UI]** Add button to rename pilots in Air Wing's Squadron dialog. * **[UI]** Add clone buttons for flights & packages. diff --git a/game/factions/faction.py b/game/factions/faction.py index 4f1c0a48..5af19858 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -431,6 +431,45 @@ class Faction: self.remove_vehicle("SAM SA-14 Strela-3 manpad") self.remove_vehicle("SAM SA-24 Igla-S manpad") self.remove_vehicle("Polyana-D4M1 C2 node") + # swedish military assets pack + if not mod_settings.swedishmilitaryassetspack: + self.remove_vehicle("BV410_RBS70") + self.remove_vehicle("BV410_RBS90") + self.remove_vehicle("LvS_103_Lavett103_Rb103A") + self.remove_vehicle("LvS_103_Lavett103_Rb103B") + self.remove_vehicle("LvS_103_Lavett103_HX_Rb103A") + self.remove_vehicle("LvS_103_Lavett103_HX_Rb103B") + self.remove_vehicle("LvS_103_StriE103") + self.remove_vehicle("LvS_103_PM103") + self.remove_vehicle("LvS_103_PM103_HX") + self.remove_vehicle("LvS_103_Elverk103") + self.remove_vehicle("LvKv9040") + self.remove_vehicle("RBS_70") + self.remove_vehicle("RBS_90") + self.remove_vehicle("RBS_98") + self.remove_vehicle("UndE23") + self.remove_vehicle("BV410") + self.remove_vehicle("CV9040") + self.remove_vehicle("Strv103") + self.remove_vehicle("Strv121") + self.remove_vehicle("Strv122") + self.remove_vehicle("Strv2000") + self.remove_vehicle("Volvo740") + self.remove_vehicle("RBS_15KA") + self.remove_vehicle("AG_90") + self.remove_vehicle("SwedishinfantryAK4") + self.remove_vehicle("SwedishinfantryAK5") + self.remove_vehicle("SwedishinfantryAK5GT") + self.remove_vehicle("SwedishinfantryKSP90") + self.remove_vehicle("SwedishinfantryKSP58") + self.remove_vehicle("SwedishinfantryPskott86") + self.remove_vehicle("RBS_57") + self.remove_vehicle("RBS_58") + self.remove_vehicle("Artillerisystem08") + self.remove_vehicle("Grkpbv90") + self.remove_ship("HSwMS_Visby") + self.remove_ship("Strb90") + self.remove_aircraft("HKP15B") def remove_aircraft(self, name: str) -> None: for i in self.aircrafts: @@ -452,6 +491,11 @@ class Faction: if i.dcs_unit_type.id == name: self.frontline_units.remove(i) + def remove_ship(self, name: str) -> None: + for i in self.naval_units: + if i.dcs_unit_type.id == name: + self.naval_units.remove(i) + def load_ship(name: str) -> Optional[Type[ShipType]]: if (ship := getattr(dcs.ships, name, None)) is not None: diff --git a/game/modsupport.py b/game/modsupport.py index a5413e3f..f0f9bced 100644 --- a/game/modsupport.py +++ b/game/modsupport.py @@ -2,8 +2,9 @@ from typing import Type from dcs.helicopters import HelicopterType, helicopter_map from dcs.planes import PlaneType, plane_map -from dcs.unittype import VehicleType +from dcs.unittype import VehicleType, ShipType from dcs.vehicles import vehicle_map +from dcs.ships import ship_map def helicoptermod(helicopter: Type[HelicopterType]) -> Type[HelicopterType]: @@ -19,3 +20,8 @@ def planemod(plane: Type[PlaneType]) -> Type[PlaneType]: def vehiclemod(vehicle: Type[VehicleType]) -> Type[VehicleType]: vehicle_map[vehicle.id] = vehicle return vehicle + + +def shipmod(ship: Type[ShipType]) -> Type[ShipType]: + ship_map[ship.id] = ship + return ship diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index d4e98c40..9e6ef410 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -71,6 +71,7 @@ class ModSettings: frenchpack: bool = False high_digit_sams: bool = False ov10a_bronco: bool = False + swedishmilitaryassetspack: bool = False class GameGenerator: diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py index cf304267..19d2271e 100644 --- a/pydcs_extensions/__init__.py +++ b/pydcs_extensions/__init__.py @@ -14,6 +14,7 @@ from .su30 import * from .su57 import * from .uh60l import * from .ov10a import * +from .swedishmilitaryassetspack import * def load_mods() -> None: diff --git a/pydcs_extensions/swedishmilitaryassetspack/__init__.py b/pydcs_extensions/swedishmilitaryassetspack/__init__.py new file mode 100644 index 00000000..bc823d73 --- /dev/null +++ b/pydcs_extensions/swedishmilitaryassetspack/__init__.py @@ -0,0 +1 @@ +from .swedishmilitaryassetspack import * diff --git a/pydcs_extensions/swedishmilitaryassetspack/swedishmilitaryassetspack.py b/pydcs_extensions/swedishmilitaryassetspack/swedishmilitaryassetspack.py new file mode 100644 index 00000000..e3b5915b --- /dev/null +++ b/pydcs_extensions/swedishmilitaryassetspack/swedishmilitaryassetspack.py @@ -0,0 +1,418 @@ +# Requires Swedish Military Assets for DCS by Currenthill: +# https://forum.dcs.world/topic/295202-swedish-military-assets-for-dcs-by-currenthill/ +# + +from typing import Set + +from dcs import unittype, task +from dcs.helicopters import HelicopterType +from dcs.liveries_scanner import Liveries + +from game.modsupport import vehiclemod, shipmod, helicoptermod + + +@vehiclemod +class BV410_RBS70(unittype.VehicleType): + id = "BV410_RBS70" + name = "[SMA] RBS 70 EldE 70 Mobile SAM LN" + detection_range = 0 + threat_range = 8000 + air_weapon_dist = 8000 + eplrs = True + + +@vehiclemod +class BV410_RBS90(unittype.VehicleType): + id = "BV410_RBS90" + name = "[SMA] RBS 90 EldE 90 Mobile SAM LN" + detection_range = 20000 + threat_range = 8000 + air_weapon_dist = 8000 + eplrs = True + + +@vehiclemod +class LvS_103_Lavett103_Rb103A(unittype.VehicleType): + id = "LvS-103_Lavett103_Rb103A" + name = "[SMA] LvS-103 Lavett 103 Rb103A Stationary SAM LN" + detection_range = 0 + threat_range = 150000 + air_weapon_dist = 150000 + eplrs = True + + +@vehiclemod +class LvS_103_Lavett103_Rb103B(unittype.VehicleType): + id = "LvS-103_Lavett103_Rb103B" + name = "[SMA] LvS-103 Lavett 103 Rb103B Stationary SAM LN" + detection_range = 0 + threat_range = 35000 + air_weapon_dist = 35000 + eplrs = True + + +@vehiclemod +class LvS_103_Lavett103_HX_Rb103A(unittype.VehicleType): + id = "LvS-103_Lavett103_HX_Rb103A" + name = "[SMA] LvS-103 Lavett 103 Rb103A Mobile SAM LN" + detection_range = 0 + threat_range = 150000 + air_weapon_dist = 150000 + eplrs = True + + +@vehiclemod +class LvS_103_Lavett103_HX_Rb103B(unittype.VehicleType): + id = "LvS-103_Lavett103_HX_Rb103B" + name = "[SMA] LvS-103 Lavett 103 Rb103B Mobile SAM LN" + detection_range = 0 + threat_range = 150000 + air_weapon_dist = 150000 + eplrs = True + + +@vehiclemod +class LvS_103_StriE103(unittype.VehicleType): + id = "LvS-103_StriE103" + name = "[SMA] LvS-103 StriE 103 Mobile SAM ECS" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class LvS_103_PM103(unittype.VehicleType): + id = "LvS-103_PM103" + name = "[SMA] LvS-103 PM 103 Stationary SAM STR" + detection_range = 160000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class LvS_103_PM103_HX(unittype.VehicleType): + id = "LvS-103_PM103_HX" + name = "[SMA] LvS-103 PM 103 Mobile SAM STR" + detection_range = 160000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class LvS_103_Elverk103(unittype.VehicleType): + id = "LvS-103_Elverk103" + name = "[SMA] LvS-103 Elverk 103 Mobile SAM EPP" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class LvKv9040(unittype.VehicleType): + id = "LvKv9040" + name = "[SMA] Lvkv 9040 SPAAG" + detection_range = 15000 + threat_range = 4000 + air_weapon_dist = 4000 + eplrs = True + + +@vehiclemod +class RBS_70(unittype.VehicleType): + id = "RBS-70" + name = "[SMA] RBS 70 EldE 70 Stationary SAM LN" + detection_range = 0 + threat_range = 8000 + air_weapon_dist = 8000 + eplrs = True + + +@vehiclemod +class RBS_90(unittype.VehicleType): + id = "RBS-90" + name = "[SMA] RBS 90 EldE 90 Stationary SAM LN" + detection_range = 20000 + threat_range = 8000 + air_weapon_dist = 8000 + eplrs = True + + +@vehiclemod +class RBS_98(unittype.VehicleType): + id = "RBS-98" + name = "[SMA] RBS 98 EldE 98 Mobile SAM LN" + detection_range = 0 + threat_range = 20000 + air_weapon_dist = 20000 + eplrs = True + + +@vehiclemod +class UndE23(unittype.VehicleType): + id = "UndE23" + name = "[SMA] UndE 23 (RBS 70/90/98) SAM STR" + detection_range = 100000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class BV410(unittype.VehicleType): + id = "BV410" + name = "[SMA] Bv 410 ATV" + detection_range = 0 + threat_range = 1800 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class CV9040(unittype.VehicleType): + id = "CV9040" + name = "[SMA] Strf 9040 IFV" + detection_range = 0 + threat_range = 4000 + air_weapon_dist = 4000 + eplrs = True + + +@vehiclemod +class Strv103(unittype.VehicleType): + id = "Strv103" + name = "[SMA] Strv 103 MBT" + detection_range = 6000 + threat_range = 6000 + air_weapon_dist = 6000 + eplrs = True + + +@vehiclemod +class Strv121(unittype.VehicleType): + id = "Strv121" + name = "[SMA] Strv 121 MBT" + detection_range = 0 + threat_range = 8000 + air_weapon_dist = 1200 + eplrs = True + + +@vehiclemod +class Strv122(unittype.VehicleType): + id = "Strv122" + name = "[SMA] Strv 122 MBT" + detection_range = 0 + threat_range = 8000 + air_weapon_dist = 1200 + eplrs = True + + +@vehiclemod +class Strv2000(unittype.VehicleType): + id = "Strv2000" + name = "[SMA] Strv 2000 T140/40 MBT" + detection_range = 8000 + threat_range = 8000 + air_weapon_dist = 4000 + eplrs = True + + +@vehiclemod +class Volvo740(unittype.VehicleType): + id = "Volvo740" + name = "[SMA] Volvo 740 Improvised fighting vehicle" + detection_range = 0 + threat_range = 1200 + air_weapon_dist = 1200 + eplrs = True + + +@vehiclemod +class RBS_15KA(unittype.VehicleType): + id = "RBS-15KA" + name = "[SMA] RBS 15KA LBASM" + detection_range = 300000 + threat_range = 300000 + air_weapon_dist = 300000 + eplrs = True + + +## INFANTRY + + +@vehiclemod +class AG_90(unittype.VehicleType): + id = "AG-90" + name = "[SMA] Ag 90 Sniper team" + detection_range = 5000 + threat_range = 1800 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class SwedishinfantryAK4(unittype.VehicleType): + id = "SwedishinfantryAK4" + name = "[SMA] Ak 4 Soldier" + detection_range = 1500 + threat_range = 600 + air_weapon_dist = 600 + eplrs = True + + +@vehiclemod +class SwedishinfantryAK5(unittype.VehicleType): + id = "SwedishinfantryAK5" + name = "[SMA] Ak 5 Soldier" + detection_range = 1500 + threat_range = 500 + air_weapon_dist = 500 + eplrs = True + + +@vehiclemod +class SwedishinfantryAK5GT(unittype.VehicleType): + id = "SwedishinfantryAK5GT" + name = "[SMA] Ak 5 Granattillsats Soldier" + detection_range = 1000 + threat_range = 500 + air_weapon_dist = 500 + eplrs = True + + +@vehiclemod +class SwedishinfantryKSP90(unittype.VehicleType): + id = "SwedishinfantryKSP90" + name = "[SMA] Ksp 90 Soldier" + detection_range = 700 + threat_range = 700 + air_weapon_dist = 700 + eplrs = True + + +@vehiclemod +class SwedishinfantryKSP58(unittype.VehicleType): + id = "SwedishinfantryKSP58" + name = "[SMA] Ksp 58 Soldier" + detection_range = 1200 + threat_range = 1200 + air_weapon_dist = 1200 + eplrs = True + + +@vehiclemod +class SwedishinfantryPskott86(unittype.VehicleType): + id = "SwedishinfantryPskott86" + name = "[SMA] Pskott 86 Soldier" + detection_range = 1500 + threat_range = 400 + air_weapon_dist = 400 + eplrs = True + + +@vehiclemod +class RBS_57(unittype.VehicleType): + id = "RBS-57" + name = "[SMA] RBS 57 ATGM" + detection_range = 5000 + threat_range = 1000 + air_weapon_dist = 1000 + eplrs = True + + +@vehiclemod +class RBS_58(unittype.VehicleType): + id = "RBS-58" + name = "[SMA] RBS 58 ATGM" + detection_range = 5000 + threat_range = 5000 + air_weapon_dist = 5000 + eplrs = True + + +## ARTILLERY + + +@vehiclemod +class Artillerisystem08(unittype.VehicleType): + id = "Artillerisystem08" + name = "[SMA] Artillerisystem 08 SPG" + detection_range = 10000 + threat_range = 25000 + air_weapon_dist = 25000 + eplrs = True + + +@vehiclemod +class Grkpbv90(unittype.VehicleType): + id = "Grkpbv90" + name = "[SMA] Grkpbv 90 SPM" + detection_range = 0 + threat_range = 7500 + air_weapon_dist = 7500 + eplrs = True + + +## SHIPS + + +@shipmod +class HSwMS_Visby(unittype.ShipType): + id = "HSwMS_Visby" + name = "[SMA] HSwMS Visby Corvette" + plane_num = 0 + helicopter_num = 1 + parking = 1 + detection_range = 180000 + threat_range = 30000 + air_weapon_dist = 30000 + + +@shipmod +class Strb90(unittype.ShipType): + id = "Strb90" + name = "[SMA] Strb 90 FAC" + plane_num = 0 + helicopter_num = 0 + parking = 0 + detection_range = 46300 + threat_range = 10000 + air_weapon_dist = 10000 + + +## HELICOPTERS + + +@helicoptermod +class HKP15B(HelicopterType): + id = "HKP15B" + height = 3.4 + width = 10.83 + length = 11.45 + fuel_max = 686 + max_speed = 311 + chaff = 0 + flare = 0 + charge_total = 0 + chaff_charge_size = 0 + flare_charge_size = 0 + eplrs = True + radio_frequency = 124 + + panel_radio = { + 1: { + "channels": {6: 41, 2: 31, 8: 50, 3: 32, 1: 30, 4: 33, 5: 40, 7: 42}, + }, + } + + livery_name = "HKP15B" # from type + Liveries = Liveries()[livery_name] + + pylons: Set[int] = set() + + tasks = [task.Reconnaissance, task.Transport] + task_default = task.Reconnaissance diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 4bd873e8..fb8a4d2c 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -194,6 +194,7 @@ class NewGameWizard(QtWidgets.QWizard): ov10a_bronco=self.field("ov10a_bronco"), frenchpack=self.field("frenchpack"), high_digit_sams=self.field("high_digit_sams"), + swedishmilitaryassetspack=self.field("swedishmilitaryassetspack"), ) blue_faction = self.faction_selection_page.selected_blue_faction @@ -835,6 +836,8 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.registerField("frenchpack", frenchpack) high_digit_sams = QtWidgets.QCheckBox() self.registerField("high_digit_sams", high_digit_sams) + swedishmilitaryassetspack = QtWidgets.QCheckBox() + self.registerField("swedishmilitaryassetspack", swedishmilitaryassetspack) modHelpText = QtWidgets.QLabel( "

Select the mods you have installed. If your chosen factions support them, you'll be able to use these mods in your campaign.

" @@ -858,6 +861,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): ("F-105 Thunderchief (v2.7.12.23x)", f105_thunderchief), ("Frenchpack", frenchpack), ("High Digit SAMs", high_digit_sams), + ("Swedish Military Assets pack (1.10)", swedishmilitaryassetspack), ("JAS 39 Gripen (v1.8.0-beta)", jas39_gripen), ("OV-10A Bronco", ov10a_bronco), ("Su-30 Flanker-H (V2.01B)", su30_flanker_h), diff --git a/resources/factions/sweden_1997.json b/resources/factions/sweden_1997.json new file mode 100644 index 00000000..8f238cde --- /dev/null +++ b/resources/factions/sweden_1997.json @@ -0,0 +1,71 @@ +{ + "country": "Sweden", + "name": "Sweden 1997 Swedish Military Assets", + "authors": "Khopa, bgreman & Ghosti", + "description": "

Sweden in 1997, when both the Strv 103 and Strv 122 were in service. Requires the Swedish Military Assets for DCS by Currenthill. JAS39 Gripen Mod is highly recommended.

", + "locales": [ + "sv_SE" + ], + "aircrafts": [ + "AJS-37 Viggen", + "JAS 39 Gripen", + "JAS 39 Gripen A/G", + "UH-1H Iroquois" + ], + "awacs": [ + "E-3A" + ], + "tankers": [ + "KC-130", + "KC-130J" + ], + "frontline_units": [ + "Strf 9040 IFV", + "Lvkv 9040 SPAAG", + "Strv 103 MBT", + "Strv 2000 T140/40 MBT", + "Leopard 2A4", + "Leopard 2A5", + "BV 410", + "BV 410 RBS 90", + "Volvo 740 with KSP 58 7.62mm" + ], + "artillery_units": [ + "Grkpbv 90 SPM", + "Haubits 77 AD SPG" + ], + "air_defense_units": [ + "SAM Hawk SR (AN/MPQ-50)", + "SAM UndE 23 (RBS 70/90/98) STR" + ], + "logistics_units": [ + "Truck M818 6x6" + ], + "infantry_units": [ + "Soldier Ak 4", + "Soldier Ak 5", + "Soldier Ak 5 Granattillsats", + "Soldier Ksp 58", + "Soldier Ksp 90", + "Ag 90 Sniper team", + "Soldier Pskott 86", + "RBS 90 EldE 90 Stationary SAM LN" + ], + "preset_groups": [ + "RBS-15", + "RBS-70", + "RBS-90", + "Hawk" + ], + "naval_units": [ + "HSwMS Visby Corvette", + "Strb 90 FAC" + ], + "missiles": [], + "requirements": { + "JAS39 Gripen Mod by Community": "https://github.com/whisky-actual/Community-JAS-39-C", + "Swedish Military Assets for DCS by Currenthill": "https://forum.dcs.world/topic/295202-swedish-military-assets-for-dcs-by-currenthill/" + }, + "has_jtac": true, + "jtac_unit": "MQ-9 Reaper" +} \ No newline at end of file diff --git a/resources/factions/sweden_2020.json b/resources/factions/sweden_2020.json new file mode 100644 index 00000000..fe00785e --- /dev/null +++ b/resources/factions/sweden_2020.json @@ -0,0 +1,78 @@ +{ + "country": "Sweden", + "name": "Sweden 2020 Swedish Military Assets", + "authors": "Khopa, bgreman & Ghosti", + "description": "

Sweden in 2020. Requires the Swedish Military Assets for DCS by Currenthill. JAS39 Gripen Mod is highly recommended, AJS37 Viggen is retained in case the mod is not installed.

", + "locales": [ + "sv_SE" + ], + "aircrafts": [ + "AJS-37 Viggen", + "JAS 39 Gripen", + "JAS 39 Gripen A/G", + "UH-1H Iroquois", + "UH-60L" + ], + "awacs": [ + "E-3A" + ], + "tankers": [ + "KC-130", + "KC-130J" + ], + "frontline_units": [ + "Strf 9040 IFV", + "Lvkv 9040 SPAAG", + "Strv 2000 T140/40 MBT", + "Leopard 2A4", + "Leopard 2A5", + "BV 410", + "BV 410 RBS 90", + "Volvo 740 with KSP 58 7.62mm" + ], + "artillery_units": [ + "Grkpbv 90 SPM", + "Artillerisystem 08 SPG" + ], + "air_defense_units": [ + "SAM Hawk SR (AN/MPQ-50)", + "SAM UndE 23 (RBS 70/90/98) STR" + ], + "logistics_units": [ + "Truck M818 6x6" + ], + "infantry_units": [ + "Soldier Ak 4", + "Soldier Ak 5", + "Soldier Ak 5 Granattillsats", + "Soldier Ksp 58", + "Soldier Ksp 90", + "Ag 90 Sniper team", + "Soldier Pskott 86", + "Soldier RBS 57 ATGM", + "Soldier RBS 58 ATGM", + "RBS 90 EldE 90 Stationary SAM LN" + ], + "preset_groups": [ + "RBS-15", + "RBS-70", + "RBS-90", + "RBS-98", + "LvS-103 Rb103A", + "LvS-103 Rb103B", + "LvS-103 Rb103A Mobile", + "LvS-103 Rb103B Mobile", + "Hawk" + ], + "naval_units": [ + "HSwMS Visby Corvette", + "Strb 90 FAC" + ], + "missiles": [], + "requirements": { + "JAS39 Gripen Mod by Community": "https://github.com/whisky-actual/Community-JAS-39-C", + "Swedish Military Assets for DCS by Currenthill": "https://forum.dcs.world/topic/295202-swedish-military-assets-for-dcs-by-currenthill/" + }, + "has_jtac": true, + "jtac_unit": "MQ-9 Reaper" +} \ No newline at end of file diff --git a/resources/groups/LvS-103_Rb103A.yaml b/resources/groups/LvS-103_Rb103A.yaml new file mode 100644 index 00000000..5c1a6229 --- /dev/null +++ b/resources/groups/LvS-103_Rb103A.yaml @@ -0,0 +1,11 @@ +name: LvS-103 Rb103A +tasks: + - LORAD +units: + - SAM LvS-103 PM 103 Stationary STR + - SAM LvS-103 StriE 103 Mobile ECS + - SAM LvS-103 Elverk 103 Mobile EPP + - SAM LvS-103 Lavett 103 Rb103A Stationary LN + - SAM LvS-103 Lavett 103 Rb103B Stationary LN +layouts: + - LvS-103A Battery \ No newline at end of file diff --git a/resources/groups/LvS-103_Rb103A_Mobile.yaml b/resources/groups/LvS-103_Rb103A_Mobile.yaml new file mode 100644 index 00000000..55608fc7 --- /dev/null +++ b/resources/groups/LvS-103_Rb103A_Mobile.yaml @@ -0,0 +1,11 @@ +name: LvS-103 Rb103A Mobile +tasks: + - LORAD +units: + - SAM LvS-103 PM 103 Mobile STR + - SAM LvS-103 StriE 103 Mobile ECS + - SAM LvS-103 Elverk 103 Mobile EPP + - SAM LvS-103 Lavett 103 Rb103A Mobile LN + - SAM LvS-103 Lavett 103 Rb103B Mobile LN +layouts: + - LvS-103A Mobile Battery \ No newline at end of file diff --git a/resources/groups/LvS-103_Rb103B.yaml b/resources/groups/LvS-103_Rb103B.yaml new file mode 100644 index 00000000..66b37736 --- /dev/null +++ b/resources/groups/LvS-103_Rb103B.yaml @@ -0,0 +1,10 @@ +name: LvS-103 Rb103B +tasks: + - MERAD +units: + - SAM LvS-103 PM 103 Stationary STR + - SAM LvS-103 StriE 103 Mobile ECS + - SAM LvS-103 Elverk 103 Mobile EPP + - SAM LvS-103 Lavett 103 Rb103B Stationary LN +layouts: + - LvS-103B Battery \ No newline at end of file diff --git a/resources/groups/LvS-103_Rb103B_Mobile.yaml b/resources/groups/LvS-103_Rb103B_Mobile.yaml new file mode 100644 index 00000000..0c51ffe4 --- /dev/null +++ b/resources/groups/LvS-103_Rb103B_Mobile.yaml @@ -0,0 +1,10 @@ +name: LvS-103 Rb103B Mobile +tasks: + - MERAD +units: + - SAM LvS-103 PM 103 Mobile STR + - SAM LvS-103 StriE 103 Mobile ECS + - SAM LvS-103 Elverk 103 Mobile EPP + - SAM LvS-103 Lavett 103 Rb103B Mobile LN +layouts: + - LvS-103B Mobile Battery \ No newline at end of file diff --git a/resources/groups/RBS-15.yaml b/resources/groups/RBS-15.yaml new file mode 100644 index 00000000..adecedf0 --- /dev/null +++ b/resources/groups/RBS-15.yaml @@ -0,0 +1,8 @@ +name: RBS-15 +tasks: + - Coastal +units: + - AShM RBS 15KA + - SAM UndE 23 (RBS 70/90/98) STR +layouts: + - Silkworm \ No newline at end of file diff --git a/resources/groups/RBS-70.yaml b/resources/groups/RBS-70.yaml new file mode 100644 index 00000000..9b2f5645 --- /dev/null +++ b/resources/groups/RBS-70.yaml @@ -0,0 +1,10 @@ +name: RBS-70 +tasks: + - SHORAD +units: + - RBS 70 EldE 70 Stationary SAM LN + - BV 410 RBS 70 + - SAM UndE 23 (RBS 70/90/98) STR +layouts: + - 6 Launcher Site (Semicircle) + - 6 Launcher Site (Circle) \ No newline at end of file diff --git a/resources/groups/RBS-90.yaml b/resources/groups/RBS-90.yaml new file mode 100644 index 00000000..23dc2b01 --- /dev/null +++ b/resources/groups/RBS-90.yaml @@ -0,0 +1,9 @@ +name: RBS-90 +tasks: + - SHORAD +units: + - RBS 90 EldE 90 Stationary SAM LN + - BV 410 RBS 90 + - SAM UndE 23 (RBS 70/90/98) STR +layouts: + - 2 Launcher Site \ No newline at end of file diff --git a/resources/groups/RBS-98.yaml b/resources/groups/RBS-98.yaml new file mode 100644 index 00000000..5e3d3c23 --- /dev/null +++ b/resources/groups/RBS-98.yaml @@ -0,0 +1,9 @@ +name: RBS-98 +tasks: + - SHORAD +units: + - RBS 98 EldE 98 Mobile SAM LN + - SAM UndE 23 (RBS 70/90/98) STR +layouts: + - 6 Launcher Site (Semicircle) + - 6 Launcher Site (Circle) \ No newline at end of file diff --git a/resources/layouts/anti_air/LvS-103A_Battery.yaml b/resources/layouts/anti_air/LvS-103A_Battery.yaml new file mode 100644 index 00000000..75ace356 --- /dev/null +++ b/resources/layouts/anti_air/LvS-103A_Battery.yaml @@ -0,0 +1,53 @@ +name: LvS-103A Battery +tasks: + - LORAD +groups: + - Patriot: + - name: Patriot Battery 0 + unit_count: + - 2 + unit_types: + - LvS-103_PM103 + - name: Patriot Battery 1 + unit_count: + - 1 + unit_types: + - LvS-103_Lavett103_Rb103B + - name: Patriot Battery 2 + unit_count: + - 1 + unit_types: + - LvS-103_StriE103 + - name: Patriot Battery 3 + unit_count: + - 1 + unit_types: + - LvS-103_Lavett103_Rb103B + - name: Patriot Battery 4 + unit_count: + - 1 + unit_types: + - LvS-103_Elverk103 + - name: Patriot Battery 5 + unit_count: + - 8 + unit_types: + - LvS-103_Lavett103_Rb103A + - PD: + - name: Patriot Battery 7 + optional: true + sub_task: PointDefense + unit_count: + - 1 + - 2 + unit_classes: + - SHORAD + - name: Patriot Battery 6 + sub_task: AAA + optional: true + unit_count: + - 1 + - 2 + unit_classes: + - AAA +layout_file: resources/layouts/anti_air/Patriot_Battery.miz \ No newline at end of file diff --git a/resources/layouts/anti_air/LvS-103A_Mobile_Battery.yaml b/resources/layouts/anti_air/LvS-103A_Mobile_Battery.yaml new file mode 100644 index 00000000..f28f377b --- /dev/null +++ b/resources/layouts/anti_air/LvS-103A_Mobile_Battery.yaml @@ -0,0 +1,53 @@ +name: LvS-103A Mobile Battery +tasks: + - LORAD +groups: + - Patriot: + - name: Patriot Battery 0 + unit_count: + - 2 + unit_types: + - LvS-103_PM103_HX + - name: Patriot Battery 1 + unit_count: + - 1 + unit_types: + - LvS-103_Lavett103_HX_Rb103B + - name: Patriot Battery 2 + unit_count: + - 1 + unit_types: + - LvS-103_StriE103 + - name: Patriot Battery 3 + unit_count: + - 1 + unit_types: + - LvS-103_Lavett103_HX_Rb103B + - name: Patriot Battery 4 + unit_count: + - 1 + unit_types: + - LvS-103_Elverk103 + - name: Patriot Battery 5 + unit_count: + - 8 + unit_types: + - LvS-103_Lavett103_HX_Rb103A + - PD: + - name: Patriot Battery 7 + optional: true + sub_task: PointDefense + unit_count: + - 1 + - 2 + unit_classes: + - SHORAD + - name: Patriot Battery 6 + sub_task: AAA + optional: true + unit_count: + - 1 + - 2 + unit_classes: + - AAA +layout_file: resources/layouts/anti_air/Patriot_Battery.miz \ No newline at end of file diff --git a/resources/layouts/anti_air/LvS-103B_Battery.yaml b/resources/layouts/anti_air/LvS-103B_Battery.yaml new file mode 100644 index 00000000..7fe56fbf --- /dev/null +++ b/resources/layouts/anti_air/LvS-103B_Battery.yaml @@ -0,0 +1,53 @@ +name: LvS-103B Battery +tasks: + - MERAD +groups: + - Patriot: + - name: Patriot Battery 0 + unit_count: + - 2 + unit_types: + - LvS-103_PM103 + - name: Patriot Battery 1 + unit_count: + - 1 + unit_classes: + - SHORAD + - name: Patriot Battery 2 + unit_count: + - 1 + unit_types: + - LvS-103_StriE103 + - name: Patriot Battery 3 + unit_count: + - 1 + unit_classes: + - SHORAD + - name: Patriot Battery 4 + unit_count: + - 1 + unit_types: + - LvS-103_Elverk103 + - name: Patriot Battery 5 + unit_count: + - 8 + unit_types: + - LvS-103_Lavett103_Rb103B + - PD: + - name: Patriot Battery 7 + optional: true + sub_task: PointDefense + unit_count: + - 1 + - 2 + unit_classes: + - SHORAD + - name: Patriot Battery 6 + sub_task: AAA + optional: true + unit_count: + - 1 + - 2 + unit_classes: + - AAA +layout_file: resources/layouts/anti_air/Patriot_Battery.miz \ No newline at end of file diff --git a/resources/layouts/anti_air/LvS-103B_Mobile_Battery.yaml b/resources/layouts/anti_air/LvS-103B_Mobile_Battery.yaml new file mode 100644 index 00000000..58e6f419 --- /dev/null +++ b/resources/layouts/anti_air/LvS-103B_Mobile_Battery.yaml @@ -0,0 +1,53 @@ +name: LvS-103B Mobile Battery +tasks: + - MERAD +groups: + - Patriot: + - name: Patriot Battery 0 + unit_count: + - 2 + unit_types: + - LvS-103_PM103_HX + - name: Patriot Battery 1 + unit_count: + - 1 + unit_classes: + - SHORAD + - name: Patriot Battery 2 + unit_count: + - 1 + unit_types: + - LvS-103_StriE103 + - name: Patriot Battery 3 + unit_count: + - 1 + unit_classes: + - SHORAD + - name: Patriot Battery 4 + unit_count: + - 1 + unit_types: + - LvS-103_Elverk103 + - name: Patriot Battery 5 + unit_count: + - 8 + unit_types: + - LvS-103_Lavett103_HX_Rb103B + - PD: + - name: Patriot Battery 7 + optional: true + sub_task: PointDefense + unit_count: + - 1 + - 2 + unit_classes: + - SHORAD + - name: Patriot Battery 6 + sub_task: AAA + optional: true + unit_count: + - 1 + - 2 + unit_classes: + - AAA +layout_file: resources/layouts/anti_air/Patriot_Battery.miz \ No newline at end of file diff --git a/resources/ui/units/vehicles/icons/Artillerisystem08_24.jpg b/resources/ui/units/vehicles/icons/Artillerisystem08_24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4c307801f259507ce3cee67b8bfae4d30d5fbad7 GIT binary patch literal 9358 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 bZq_9=a*f??g%+8`_B*z%y200JM(Y0yrTLfq literal 0 HcmV?d00001 diff --git a/resources/ui/units/vehicles/icons/BV410_RBS70_24.jpg b/resources/ui/units/vehicles/icons/BV410_RBS70_24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..424fd1ef760db1e65aa3443cf5e52e47fe62d139 GIT binary patch literal 9297 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 QdxNsa-pi;>PO_%|0#qBraR2}S literal 0 HcmV?d00001 diff --git a/resources/ui/units/vehicles/icons/LvKv9040_24.jpg b/resources/ui/units/vehicles/icons/LvKv9040_24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be41d27bb42b640562393aa97486759fecf3abff GIT binary patch literal 8890 zcmeHMd0bQ1w%%bLWiSW@lmHeS2q6PQ5Qr04L_`J=RG=XV5hMvD%u{Mxt0GFR1A+>o zQe<#IL{J2rfLg_fA{7uQ4qydDW)R4E`-DN?yS?}K?)%;Uo*NEloxRsud#!KneGcb* z$aCaRpuXP8*$H4^GsBnxfOO2;;TRJf1c0;iGN1qeJmz7ffHRc1@X*9a0}MQ)hb~4| zaxR0i-i&+;%1dT+q@YZMwyN;_8$3u*#=>(WJc9SgNNnFh*#|nqGw2)^pN_LIw~#a( zX;zr)nNeW|^Kry~7@XAtzzljrqnkaib9UVXy%8t_`ue!V=B79!Gh==ICDu#LEQk~e#lVzmZ$q*(CsRnM6O5vwqKdML zj;g8-$xz>r^lvxh7SK=t-(q00MnFmfBdvi!?g0ZBr!2Z2F)-NahLMt%k(HBIP*hTe z3MJ|&Qqoc~(z3ELGEh4ajsqDDSxrOYD!KXYba|t2ENR!FYz5=hMYpv)>OU+d2lBsH zR9c{|^Of$`CZ?kw^2wNJYa# zT0=(GkSM3Q%3YowKHrG6O98w3P%cK2lS1x77>PVI4N*ued} z_eykfs`Yl1`RwOF1;4A3-umP;YUbydzCwGZXOUKS)x0{i%fmz8*Ur5d_FlFOvojjrw zbQH9tnucw($qBoB{H)fh64$aRk=PyqjoFcY?E|$4ScHIX_pmpFm&H6ww=1DjkEWW$ zW(rM1eKHyWm$o+c$8M_(?OK>`UzA(qw6P$5 zg=B?1X@x9Ra%UMUyW52;fvr=%xi8 zeWV_<#$aFy0Y3{TmenPYSBPJz}0bKMN28| zZkAiz@7r^#D}QxQ>!sZ-@L z+pQXLMZnwgQHFRcLuYc?D@wZNf%{@%j+!K@Jke0=8HH_90GsYL^`&o?Nx=QsPEsNCMQ@ZC#? zp8k|Adr!bpJfJmJsNFftod|d^^#}odo+cf6jqjLP+oRvTNrxrdm&BH6E>_x`^45I-g!F;x(S?oJhKQQ9q}{w8YAJgz@H4 zV)x#DhtiRND+oCIzO`zsKefDf`wIW5DueQ-;;F(enmB)tdv1|`-PTe2K%qvgp0GZe zO&fS>@TBOXU1TwD(nSC_%mbmgrp)n%=tEM;(llOZS6fa);HGt+gnc(Bh1tC=ur`9J z<%@d7^~DFu1$|!HouW{$yteH7SDt*cseDBjWp_osY}Ta*ADV$MC8@8P1ImU@CZa{gLZg$34Xg$FmE z?>8PZPR@!;X@?u1Fd2`43oEtvRmZ9A))PA*;7@}I%djWg#&yO^*)3Xcu;kuEjom_^4M`K@zb^PW4vVGp#%m#tlkxQNN9^8?9 zCpTW>QD%2F`=NUTtz^0C^WMz~52MZv+UE%{UAoUwnb-J1IsCA(s zn_?Zd)Sc`qeUiQ3Wsp44!uuV zf421EC}$krOIDJ5ZNzGgSy~84%WCbS^?KGPqzsnRc9YkYO{kq3=xZ;nB&HzXzyh5t zPAdY;;6|4E)iJV^X4>uPR6h8KxVbplOj`U@T-)s)+ukECiR~B+A7m_g<`h#@+Bw|o z_#N+*Sk%2T3$C@2VdK>0{oNTn#v~M={C6iv7xA~NAw=9`8x>i-X=$0{j9+uL z=3A}s4q;d(AYeqe)vgczsnukcc6%s>w+!cZX%rSmjtjR6Pr&$n_n8Q)*I&qNxL#u- zaFfuYa zgCp?n#(jYRIpGD%#S3gEx)U=4Bn#w%sZh#OcD}cj0F^5MQ`1Zoxa` zi^o2lPU$1UaZY*kgpIglVcnke($V8J!k=#V4yjr5K5ir;U<16P4f`dmD5d=sAeq(U z9j+)fzgd_!J{6z1Z21EMf!#-jcM4S=0`5?=#^E;mO*j=t>(E6&Zq+1wQvPu+|8!A$ zV(z#&pf9Rd^r7o%TYgJ(?1{<*#=?Sxv1oB-)qnwf2xRkAUy1z@Ai2mm|9y>}F5y)9 zl(7y17%<%pSFcVW0G9bhfLbI1)=$q9J!$LfI zlOCkDaa+ZYh<^G>`ZdBQGZSPckjusXa9f1J42R;^uF!9Nb1AL3>yebX;B;OQVy$e{@@8Lt3 z2cH>a>#^2p#sj>vH<}4GIy%}snrzPFvk62hl}fN65lAFF)W8d3xe@djJXc^m>tQWR zz~BdmMFjJ>IMgFOkQW(YZv^L`4vZ7#>N@B6Z!zF-&}b#vf(XYbX#B4b6L`gju?QY4 z0WXrzU^zyyxDm#)=1j(%ZCE5fRFVLbL12ZlI8aRh5hu<~g}yP*X`>0VgE?Um3yAET z7L@0d{x*1YYM7zzS{@@3oy2*qy%FlkmdRrTGi@az(V9#RBonRiLDnQXp2B33@N_1V zfe*BzFf9Y=)^tlt>Z~7Ut{{TWWw1~`(6f0kbV6p5t%9uS6ugZk*&0t_QEc!wRul@} zl0puoGbmOp7SU?f-i;p&mk~Ym^LS7{Oz6kjifCiQw16Qnm{dH)nrMj+Bn7hYL1dy0 zgKl9(rjubDOopu!kI$jQIs|j*Y!)FTjKwy>p?KM@+T?6+1V38LTy6@bM+8A#xLAX^ zOkT8Lrr#@=!}5%vqu3FxtgT2yOA8wciAX`m}@8su++1#mcaX6<^i!e^w=V4P&-*wPv3I|4my|3 zf;$RUby_X>Z$P#TqFS&lh*W%#1=9vk31rydsU%AaJj;S*V{OHx+OUF%v-SdBP((DH z&sxQX6^D_+dP_dO;Fiqbuyj^4dIt+l5`K@tTafTXlGn`l7>W@A#!f&t%yb%r|Cym= z?6b`^s}6T8D$d;i9B^OS7X-c_@CAV{2z)`{3j+WD5cu>8!Q#UIa-!i20`gMovh$iX z0h>JBoSZi}LIMVoC#ORh9D$4l032=v-(%fs9OMFU@?DS_QUPi}3E=4rL71zjlh-UG z@sH<`MwDCu;3*#U^^fEKvPYE(UlkyefrDBr8DabgD1QrOtLTU@R6Y)6Ec|DU3FSg4 zoAF_QP=1c~2Tsd9sLYngDDeicd@qkRFgGleaqQ3Jz|UmH4n7C!P@v9YCWj0COZiO8 zOjJ%lWlm@$j7`$e3{_a%&7SbQ7#{jy9b^VwA$NuYfglnDgHR9w@bJuqJp$kX$5;Oo zdtHhBCTJB1t%3mqTC4>;zyWlLJwR&!bzu91tssa@l5}BIRs$g0h9HAq10a7GfT^Dm zWFi|urp`d}>;(X~xS#BKrvb1ThW$T(>RX%zfZC4$T)X$FFE9;&(mep^G=Ck~(091VenEx06rESx=!7+3koc#j;FNoEKIsno$05D-g-`oF5-YBO!hugo@ znZZv&*hx!Cp}(-nz+YJfl=_lYl9!iLP*GA*QC3n`R-LD*t~yU+p0cv~0(Fh~SS>9r z6*X<01y~(TtQJ;6*hxbh8CgYHSw*a>vMTo9ZipDT{HJJ8fZRdZKOL}A8Uu;1S@us4 z!Yu_ErB6*x9#YGY?1L2ASJM>Qr!lw%q-CUJkr@_BU0NOXg!B!Zvsiw3Ti4?|H}P?u zYcloZOdl7PD;|iQZ+NcvhO6Iv&AT~4$w9G3Ya*}@zg~xObLxh;N_G3~ynyxTcv}2>6?OjQLecl#{@0xN`X4*lxcmmU&965ezabxb z^0wgmS2+efo36i3xf^roqM<`#!Ck?6YN;zLdA!b75D6z-r~yecnCEASVl<>QrRN)} zdq}2(Lp02@0BO|XkhcU{nYG@kLWz^>z5lOePIAiiEch6n*GoZ-Pq#B<*ShoAC2K(>I?zNlH zn(N=3sAHCtrxb3uX!B!1-kI#ZAHUgXd3CdT>H(^wz+Qn8zkv82e}2mjrM5Ppx;@0n z!>??A#SX56sojz>u3IagSZtCbyHEgz^S0hnZu;&S49id*RvyykpHjsD4Z~GLcY64) z>_bKUvlXHl7G4VW?da%EkZC7o-|%)cHaf4m>-sm*FY9ef_EkT3Q8y_RtLU7NHZZBa znEh~N(%GRq2QCa$FaP!}SLoScb~*mo^R(PWJJ|LY{no4K_C|`*`@_>~YtJ7}kEc8} zGCf&Tn?05K>|N$jVZ6?>EI6%%{gkX5^}Qai@6+`HF*jhqUujG;y>l?ahl7SX(NGd7 zT3hu#$6X4Oli#rqP82^-+xD=Dl1ox-9s=roz zc67z)5{K(V>GKAr#fFPkc3A8z(B?O#{q=2U>!SOKsjCUEgwUCRI`jjv`wTt}U{eu52!aTS6Fr>vyX5*Ityv~FOA(CkXrx0mGyfP=$#Kp6md&Bn+92S{s=@j>yalJ-vXvPL z$bkbVl)yG9qm0U)|K=fVnlAq>3n8YMufC&ZVkYU`a2z>^n>?%^z;^jb3}?Xm8GoR4 zCux)qBllI$Q^+qjNgtdIJ77_k{ULvhFcd&XL|VWapgd!S(hNmqB_*YqGnHql>Zqxz zsHo1<(pJ}5INxB=!uk68hD(f>8)8>2*4JM_Ub)H?Pa=^FmRs6d5NwQzBm$}gGjrxl zRTWh|H8nkgk-ib(KQ72aps5UYW1zEGAg76u*Tf)CfdRBr5uJ}1XzbU5k&{#A1G)lY8l~I&(LXv;P+t6F-XmS-SD%*< zeM9~>bJm=>dh_NlUABD1%I`>K=41;?t2Jxat+(Icu+hcU&E3P(%bP}L_%Zje{CS~a z;SqZyqkjJTF9+g&J$UHE$y28jlg=ckT+GP4bookFcFwK*g2LN^J9qCre)9BLY1#7^ zFRN>6>*^aCo0>b`biRGp)&2g%$NquAFGIs4qhsT!U#Oo`D99@)p?+cH zBH$&jsi0_tpP{wdNr@V)jV0_?*7@=Hg}g^I7ZaU7>-vVgnl)z$sbgtB>YB{6|D9uh z`#*U$?btWJnt`f31_n=F6HtI?MC?@3oHbU`D=oOV)xZ9&XHiLW62H(zE86A0kXxT* z8j?5?4Ow!=(%P>rPZrsu4Puu~Vz(G+ZMC$Pr*i5ReOSV>Y3J7Gd>YPd7i~SW?@|e| zWhkR!IH#yMJHokZwsRE%{C$YcxqZVK{6b^uK;q`K+IC{|`F4?GJ5<^0*)H1PgWhf{ z7?m2-r{m3WV`;Tqp?`&#FCikJEazlEOR)4vx|oH4`ix|ymA`R^Gs2_Y^{pDt6-f;A z5Wq#iHE$L3-ibRCd+vA&ikeflH=iH0%~pNTeog<8uWwuJZ(}02inG>C(uMryqtt$%k93v6183EqD?HmLo@<)gCE7p=Q){0A1LZd{d|h{6aFLYSK4yS`yenR#J)-Rhc(Yvqbv=OmM_*;t9qo*@cIt}u zfE+UuBo_R)TxqFbck!Sgwok7tDzSN9c1iOQY2CSnRTC3u%8FM-Y#$t;EgG_U=wl*s zB+v?-;atccui4xVrz>wizhXF}a##{TsSx@fxm5O9S}^u7aZ|!_17lvFoKyrx{zmy}O=lG?pUTC1-92?0r0`7IP_vHs({2$2C)rjp86>Ty$#!y~|iKcM73G@kr2#S1Zipt;gw{qO;5lCs z#roVvdDn*kBLob6*m<<{$7bdz#Mi+%3i`}met^tG_XH#U&_`a!RepK9bPe>S#`&ga z*R>>J>x4yFap0~!>GUS)@se=<&w6E@?k!ImVa#t##KB-@MyubVjTDXW^W$m#7dw2D zTI`-7VAV+9NGXhdPmZ&H8i&G*=NH1ACike#1b;SVej&ZhKDo5Fv!(v@!{_<6(ibHo z)+4mhy!cq%I#zRf(|zIVPpt`W%5D_$V%_2Ny5uC!UhrwbLd#ldE7Tnxh=2e~VTWkv z(o5~9OWsxmx7}~0H?>&iIxOEs@m_M$UCVZR#qed)Ig9IZEp7wk*zWLN{v67s@J+_O z{qfNaHW@G7DxcZv5*n!cOM@Qs@o05E~*s^tkvNbA85SI1nM1(z&)7V;e ziG^!VNSB|FFmbVpB~XI zS*iN|my**HUcy4`qQcaSdD*L*`cjOEE^xnR4rMErLc^}Q1O^gsc+P40l!N- zUAz|oy#dLzR2N!;$g7*vUV3JsD@6-mBwb1wgElnQ_`I2$oG^O2)8I=#ylq(d-I!-z z$_CnC1TWrcx0PFeyU%DM0^aharRR(KBU-}w=X;yd#{yEjrShU3eX!r3homQ`^3sxIJ))U73p%bOB@ui~Zi{l6@UD;HL#irwA(PULO77h!J{ z(?KbSJnj=o+wX)!9oJnMBYGJ}JQehYWGN(0R zjFI3I^?qY#v1iYQ+_WLW$>>ARs!qLFp!eoLr>=@%<0&U{vS?dhnSWfxaAs>--EQwe zVsi$?jHF+ilic@%jxkACz?KZdJx?Ec_I7BYNw3tWPrwm=?yPAm`VGIWa&EF9mDXGk zpQ3%RE4;I!wMFk*ON>%%-{?85$cgJ^Kd)boLq64145pRiQ7scee z2Z~0xW5w2PZYP^Fir8X{QsU6ZT6BR@%zY}vOwR|GQI2GC%Ym@8=nUzqy{@3QYTf^?l|$LnyI^U zdvn?qk~twfr>GFe8zm~XIdi6Fx9)cWZ^pdbo3pD{f=ZHV zb$(~zvR*@KylXVE?eun1m)S|0Dff#3xf}rwrEqUvB~2TuAkg$1E+!6VExkS1KPYMu zrPS+szurP_>@+5^&+@B@Fkngu*p>O4Z|iWvS%U~c{k==Cg5d+$V6+>yr#3I+zw1N* zoMt`sM|1oiZ)4c5lh(Zp7I0!D-^b^_;unw+kQo_`pO{z0H}DrxI^cA&u9H^5he}suGE`xZP#jwFIiXX!t7HJK@m*&n`w_5}B71l6 z5FNX#S1v!yC5{ScE%mp|M(@M-mO;USB4+h%1aue(Cv78&l_&#)2sj2GenTlIwu~5j z-`EvcU{DC3ehy6nxLho&Vm{m|9}WzLuLR%UoUbIYfpZ*sX7tmz&)4@cY6q=T)sd|LF=@ z*Zj_*w{KFmu-^I|cd`9o@yk!DwTHLbxOiWFya#E5=L)J}dqP8ltV~QeJYy=I>&q~v zaoHw&sX-?2Yu*IdQ1%8hhnb_PW6&DL9@d7a5Qa~fuuw+`-OtK-?fOX#@Xi)HX=+47gmDDXm>a@0!CP8dnwSzy2m~DD z!0{qEq13%N4sY?4hP4bHErb;m%HnbiQH@kzZdj--7LNbbFm{lmeMd#93bSoK2G^LV# z{VWMMf(4#|BN5F^aa0=J6o)61sbotM(UM4HOzCmp@It8^8Uxh>H5;>_5?>;LM)ISQ zaAua~cqs2{j%y2|sGL>#=YHms;`cBDj4Pn7)L=F6-J*XZ!)I&2jrBTTwQyh(E zW{x9~%*}9?bOHm1HzQm4nUj6VL_es9PP1Ci4PjGZ99V2BlVRc?#9(3#QM{~HZ*#E4 z!Xv85+iii=P(R2ECo79X=SJ`*+g({~hD#_F#SU*yHYecC31oAkDIRY|nB;J0gz(^u zL6yl)sAT3_tqEaJL%AWYTyCH(cKQGdooQb|-oWC)?#Rix>%s`0qykxnvYBH=rJ?iC z7R#fCGw9gKM%o@Khsl5|3P$xS8|zO%W-!dieqp%K&&#%d;vIJ6YTTXxiDxMC8Al~bG%dl;yb@bnF5O2FX>u9K&4 z=2#PGy9v5rzPe%ZKRuN7{b6xUvBMRMlG7W2o#9{QF9iNV;4cLJLf|h1{zBmY9|GS# zAs8I^mJ6W?DFAFvXo$1@kA^VwW2n>( z^MI;A9n1porIZ)s=(65*D*yD)^>96!N&}zAxYLW5BH45W47%NiZhS0TMB1R4nGMzr1cE8UCIOc{-)S%FT7tMeM@n+~K6nSY>t z|3K6Bgs>qG3GytVvpG<|oaa}Xj?(*3njIJhZIcz$LsbUH%>~v=;H3}jVIJ5KW=ai# zF9-uH5C}p64%Qsl!UN8*|HpqJKVK%l4NCb!DHfnXiM4CGuK{?-`6kaj4}irGY(Ms`ZAm%+>VF5| z_S0`|zDWQG;sDTV3ZjNkW#gb(RXIPH{2sUhfSMNo+P?uXYx`H+U?18KG8zDIg;;H_ z1RyyDfMramd&j@<8_l3kt)c@TaJZCOQ>oDJjiRR-L7)sxnJO zMQyg0hT3e+*(xd;b2K!yb#!%gRn_O}&C$`*($UqCrDx@#jDq4!Ma7vqYAR|v|8YU2 zVAFpq=?##_Xs%Ze{2-5kY0jx!?*a(79LyhnD~dDFM7F#VOqlA)5~km}AO+K-^2lV$ zQA1t>HiX@MeVz4kkFBGhX37an=Z9`vzjIg5FL2hUhretZ4DYV>%$C0xaNtq-!qZiJ zsMHW9k72eL{&6PH89dv6vL6!aF{xw$oS?_$5El_9rZyp1o`co4JrEVsJu zR^#DSJ|Aq32CQkOKxgwtm2_dDbg?^{GF`d`t7S(F>mtq1S6C1=}g>VA73|Izw);gGgd-IIjd^IZkm z%gFe=@iP|Deby6-?2T8$ObSonvW%5pVt+9&diqh5AHL+>amn_~$|ha5_2CV|g7{b2 z8lyioozX9WMjB~AqhNuqPx_4knlQodMBNXK)0najLowQroivWY$lq@N>HY(3>Zi|9 zcj-m$zh;;ouW^6BCuZ|=(T1k#JC4V%{MvEj$fo`EU3VfEuYT_CQIPEg7EfeV+|R@9 zuJk`xptw6{{FJTXy4Ue@v~tNb;gcB$ZY{XlcU=7a_Y1bh_~pmOJgc!1MS0l0ON*`C zy6R?6G6YDL{FZGC8mh;xRMs41O8_)}zUE}2e=20~X`yMfTH|ZP(12^GmjLrQf!FP; zf7LSd^fr%EN=$z-^GNEu@{sZu1BMY>+MybKblRXZXIc%wXc}qYor3pIhh8JrUfwlI z*Vp7x6~V$JH{*9!^~%pi=dc^RZ62L5TiJ1N$Cq6HU(F~E%8f**(m(@hLp8!h@U_78 zD1$Zlc;2hYkVEqlGc1nm(_bc1=PcphZ&>4AK6h>APvMt!)_<2wcR4ap{N#G3BAFEb zRM}{7PVoBod$-5o%`9G|l-4PLB(J3rvtPa}$(ZQKtrf{{nr|O``oSh0Gso^)ANelh z{C;&oQ-1Li4b$dxr+y6>v`y|QT)?r`+?jKCRYvul6&)adz>a3229}i24SuQV z+GRG^%H*ab_`0683+bR|O5*S8Eg0&`o9l1^J+tpcEnzvWIux{a73dhcq;`*oH2ni= CYOu8c literal 0 HcmV?d00001 diff --git a/resources/ui/units/vehicles/icons/Strv2000_24.jpg b/resources/ui/units/vehicles/icons/Strv2000_24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05bff61d8deaf1beaad0085009bdb50ea2b37afc GIT binary patch literal 9039 zcmeHNcUV)|w%>FVkYZF6m55yl5JC$A8AL!F8KkI)3Z`O!BtVc3vCLSoFqV<38B_!u zunbZ(0;7odM#>;X5FsK8Dj?EJNY2|Q6#d?vd%t(zcmI2CIh=L&UhB8l`t7yP;hZJX zh`a_GTO6DmfDCN1^^y&WMqL8l-Tgll92;4@QfadWE7<5 zLMZD@$$vn3&6JKTl=0A34W6IE!x+jKcy53P^O(HU_9K)%AsCKIX3>MmSR(@?X~P;% z3o|`aDl}#=7XJ@}(^>%NLp0R8>9eDg^EQZvH!?6bfj$@+6D*C4E%C-!ytyU8!qSuo zWWmvMN?;qbQATZl{SqPUnrZ(j4G&A<*QD=I1}Dkv){Db1RtJX;l`rmCW% zx=?GbI%dft-K9$wEnbXWVXzvjr@wsh;x*=L^^Nc*CMLS8iPjdzRt5wUV-!SY)~s2o zDyrIQYTCxj7B4gYw;S>Y&{PKdWMHs*Kvq*mPE!VX40NHN3TQscKxZeLjI5lzf})c0 ztl271Ax{HkN={Z@PC-Fl9%{$HaUid$ptTHdt2oz{tfUu&F+OxQO?mmoI}hi%)qGw- zpadVDHGBR7?S+e0u3Eij?K%@vGjj`~rQIfb2gl7$TiiXi@7U?N%Zo~*Gko_m{kS0q zLc_u%B9Hv|)6rwcPsE)&f8m#l35iL`SFT=5zn+nqb>sKkyLtHqh4=11Dt%n`r2OfB z{rSAMuD;<#W7EsFH|=lVb#%V}@UgFdU~p)7WOQsCjSG!)y8UfjnlLU|d3iZ`B{VJ> z*)Vv>Y04`s!z*gpx+;-_=IR+AQpRjNn|9~ntmOo^&+{n3HM8fhFlk%ahlVDN?0*;7 z;r~-)Gl6}H>m^W?lYxsTrwK@)XIS){m37Bq{qLQZC`;}NVm|J1>lwMyMp;rk$QpqI zYYIJ&af%FtkqH>e$)Aqri)sp5)62A>22QF0JMv+FD1;fw8Wz>W8EnvCja=mvxy0e^ z%P4BagAg-d5))oPrTpjU1b^BVw4Tnh5k{JcYJwW!6w7=f`J5u1nD>RAN6_=fnBu{d z{e|~7hoVznFVopC9dJzDess^9vpaeDYYMv^?(|ff2>hUC;*~b?XnGk5>t6P@ZY13NA#Rl##i1T0U@r#Nsp&9dOy(+mt zXlk@4?D`{{q3`V)-cCxd+&N(V+lBg@2&kLjxAqQZfAW7C8gZ>M;&ew^ ziSMU7rx36J0bZ&1hkM6DpO8Lez>5TddGkyQ)P#V!snZtU__QgoJ>G ztBFK)2RK~8Yr~dL+(*D$7fGJs#0t`27xb4jUdL5h_Tk=D(+(~FRtBl&PW(6%T4grx zsv^}Opbr6(JcE62t=&x+4^l)sb^FT^uoMAZJN!ol&&tQ=a1r1PgC>?XUH*$!&T04+ zPV|h_P#n{6pgM0%_kFY3Cy7<3#c=k!x*&cFuU#ni^R9h*ixK6V5ihAPk*rJ!ZI|rs zL;(HfNzraeA`h}C_WOLufOl*ti+VmZJZrnIYvJ-{?2G6g;rqsN5l`%w@|7Y2%$JmS zU7`su3qEJikTf>It zBRV7PqkX4*n_JJP9!;CiYWY~gZW3KeAx!M5;;H)y^BQ6i@X4AKkANKSNUNY>-qBLybr}({;1l@wYV)oC;zJG3uxsvO7<2Cg`}2j9cvX4k2mge z_HFy9IlKCe_4=!V21#wMSeN|@vdK$l*m6$`S9iGwCDt&7l}g)#psRuuOgbpg5o2KL!Z9gJj7EU6^W=l zq(1%r=$w*%VJMeB?3k`!Y}OAW)tcy(r0|AK-wluGm`C5M+E6zfSw0+!fL9Th8Kija z^0r>P%+j+kF$6CY!t%E5;x&nxtzjZkPJr*9_8n2~TQAq|tQZ#i5mx6>D?&{64#bpr zSylU`mAp({F?^$A-pT7OepatS#eNqN;O9Kn zqljsn+1(<_?iAmWAs}FY6RT!Vx`6WCh-pKK>(H1 za9`!vfLY%uMy8if1YFUu)b`OVuIvu%5$FDb*b!p+XL!Tu`ZZ4Yw7ODY)0lmsxQZ8s zfcPChRd$5J^(%` zFekmUuStH0-P756hOt4b(R|oEsr*t$yEv6f^6`pe?W}ATrBczL>EA~c=nBMsIZx6$ zS>gsfALd+_dk5ur>q9GB_zBu084;K3&vSxK3k@?O6Cf47Lpj9bx7owj3Dmr0DY~WO zby}4IUBfO@xK)B6`~s1r8cBvLz&&|;--%1 z6tnhXE}ZKp+l2%0@!?5NWQc@@U0xiL3ta43>HYZ=a1ZQy!0#5=>}}2!Vm#I8#UdMC zm>^8#c`e4rV(LMVopg&(Fv836ZC1a_mMke8x$;L-uEAA-E_^1GmyFkm_PYEj6s30R zmcbm)_McT;(-AEQZ7+^tE4w`_G;> z&iZ_=mwUOGU%)5u^6^k*?|Ri_2jLlf+?l4>O2MV(J3ZS&o|fFTYK<;R>`Cn;we6)B z6*P@RiwdauYl*>e9jR{ZB*QNE2w}G*FIC4>uWsP@^8xED?M}=q#)Sb_?)Qq^ZReAJ zHjCO;YHIc9_SsAKvM`;dd-B(LrYwAOX5Z$d-KKQflkgk1cU~SIh4&EsUCBOzeo3C3 z)8%^1=~F?Qy;8`OeN8={kr$7_d%}A0@@Gx_*Kh;#{OZ+uwsvhiZ%YM29t{D{NamF= zFgAW{`~{xMeHX!B#f7&Vufe+(mF~&SmCXa~OY8mi>jz4FUW&S#M>|ca?zO{XK1J0& zZR1fdJn~6{wFp>}cDHvNvI8xL-XBn)o=)!7iFIkX+2qL*imF}O#$RjA~mR?`{&_9*IUwytKD7C$$;Sz<<8Xz|1E*-1lJrbyQ!`s;u>WAy)l4M@{ z-6(S7+ac}P%6AjZ1-|*#YdMBiEquWfLhJpbx2q@M)1#bu#03G@C-IYS9DcGQnd8!m zfc6q`WLkz$%&!o)_B2ZLBVTwW$8tqNsY^Q?E}@V2KB1(@(4Y0FeC4$!&Ok}TDVX3n zZf9-E&V=<&NEbTHrwM(+OrjsjXqR|RBG21vcj0v&&avn6&QJNQ>ONm$c|jh_{t9ou zFUq~-3722~^1f$Ibn3)db>4a#eA((9B88(XyuBl;VzN#ZtvfK5yJbOZZh-y{xq0j2 zxT}9){^qnHt{iECZ@{Vt_J@Q7S{fR%xdvn!he9`?a#)7pIna*2pSd|QnC>3=g9kOzpGu_Zk!-M5;g;d7Ko&iO zj16Z6u(_7u)_PKKODLn=hI&}3N{GL;o+o@|wc`ZSu_gv421YpeLLO?Y2Qh+a3`@67 z4pRv5%35#A)v&NIgD`>tC)n2zPb3lzjf@SAjd4%|$Bkfzki&6o?(%7bO>{0bm>C$t zc>WRO3R%@iSAQZ}KzRXu!TqR-n`ZGCQLMMrgT-Lp^{_;V~jzKf0QV29N z3v*+mX?vGoCQKu8z}NnuI5dc3&Y%++WD`>y-OS7wXJTqAreclrKx$ZBEvD@MFr<<+cEF2m|WEWM#5xoG|WG zzXy{=cMl<>+~Lj4&5ZG81QR2o3Bi z-pr>KG}9(Y-pu5};fSf+b*BeSNdZi(G;=J;R5TB*^|<6vI!$k?le(YG_NBue1y^-a zjrlhu(@e=0R0_ikM=>SCMPe9Hab&uwDbAF}FejK$7ecGPOVT6Q{gXy-uaK)jg zaJ{7;g|KU;cvw5F8MdE}1_{3t;f#!Ncw-OrI}y>+$Vkr+`fiABn8`2<|7V2Kv9C7Q zv^w0es5o;2u)%(7-x&DDz&8fIG4PFnZw&nZW8ljx1f324$_axn2*?}R+fH_NKHJ<} z9Gte=!@>|O>iil&WpU+=0AR60g54Z9VquK}tJDcAR;oZ9%mz3zl^f{n?%*+9Df!3q za06QO0iYI#V*TUzzwA+?!B+)XVZlPJ@2G*nAyD22WwWr5KvYhIG6w#!MuT!Tl=Xw5 zgHUcn`ze!hH!Ax|Wwam&Fu@*fb}%*!l(D{F$&{~T>i%FB)G>iND`+e>#FzD)lxe6O zjmoTm1JE~VLnBnBv$wm$^9pz@29B^|=?rUnSU>>>022g&5P*YcHtgX7H#olWpV%*w z+HZqa6llc+RA{jYZ~zOCrSSr7jC%>g0ZwqMs*_q3atn-uo3{J^8ko{Mi5aN zf{3rcqTVY2{$PKx=llwQ#SrZO`AgplJ^<=J0+9dsOCKcxfP!NHXg39tgUQl)(E6V& z1D0v~GXPNA1;E_D0GPddk~cVpj)SW&0PuiZZLI_#DH(uOz7TuQKZzTy_0I72FLkE) zlNJ)?WM$DG*yQ1lf-+i?Q<$x!q^PVqTUAwMwu*|{94!sCIhu1+R5a#mXwJpVn>SBY zeS!9TjJ6hL9!6S7l!G?%3bPaxW?|G+)G+^cLnPq)|5SMvAdk?hq&E0YP6ig_rmK=V zFsorz5@mI&!K#;>f}*?-azzWK<#8D4w1Ju2I&b8uDGk-1bFmyR=74>6a(D(7Uqa2i$)tqIOm&{WidxXREM z83oyQ#2?%*yqi_AJ^po4n%!*{yQ*%v8sm6-QNf4ti;j04e%ToyubVpPWD=EV-t^J% zhnnb){YlQrmHNVm*FUlBd$u9~&ZVOX1Ax`Z>6uXfHML|l$aAGLK{rS;rK(2oXRK5; z{LE6kYA*A2qT7X=H$0&AVrVUO^^3WzmW<|HvYe~bToyI|{h9vnUD>(*kriSeQqCRR za&u?P`?v+0Z!OrIJH&%12541RRskrgOvAwcEdZ;Zu&C>*F&AS?X`6@DTW)Mh4mzLq zaEbs$lI#$>JJZU6;h;)%uldv`oA^4tBQbr#o7;h@?RBj3sWs34!}XcQ@a@6!xaY|) zLZZy}-AFIV{jKzk&YXmL51lPtJ264>3ZsG&u2a^*tF%nP(%7?yf7^Y(!*jW3#SQJ< zCpdoPF(E0hE;T1XCv{OLrN!wPCp7`AI=hmCU`=*y)@46ivzzQ3v~*X>Znp8h7Er>dja*xG{{a}PJmogXEq z*F62aVq3aFE#t2%#K(Jyjo#p1VWv-`8fD!&JF}a=y!Jo7a9#oN!4>t(oYin%X%SYs z={1IiDIbzEqYO(Xmj>nuT%2il;j=&!^0~|wD|HrKS&fN00KS!5)$y?frL)Ei3$3h$P_do0w=m)W>vz2G*l;)qW5NA0%t&k-PR*r|HkpH*q2 ztl}P$mh*$eAugy$2c;a48IQ7ZnS{a4LqcxT-F3E~V zUVRs)8f1NL!@9=kC`$a56IKexRm|#zUM2wsXM0#buM1mIo96b+)Re`zP`i z`3>l~uX0-jFt9DbECB#{ueWez948b2H#aLV2>^Ia!KeT?NJYTQ0HX>putzTwjJmSF z2kBX3^dm?w9OF@eGy%%$!u}b&h>$jfeKou|Noq>j&yd~-mEjmPE{jhy$6Mo-&73$+ zOpJ`NFgbj4!aq%pa{;gfYD29X?^nBddP8jlyfu*wZNL*rj(DOYfoM*!cO=+3lF2{? z>^rUryrIk_RQCKI9>SrC_J3s|j49@;@2HuWG5TA$jtY#MD(oM^an-RHYQTGqKhe|2 zXp|45@>NeUcI*yNkc}674~>+nikhmrx|$l~-Ua7@n!dV$1!0-SG#{F#Wt1Ut_pu9;<}APUc)IVaFLOzB z{`Zr$W*8aIG?_Pl!NNsWWLrCX2a4kg*OjYQuW@tt^AA|RVPjwrgUJeIZ{>suqGPtl z#>FT6uxIbSr2Ri0IG%Fie)arC<8cFBLU4RW(i2FN{ho zyj1no)GY`a2FrXjX;ITGiMuBmE@ZrfW3dIu(&5S}zU3UN{Ik;GSFIz7cQhA;rr3tOl*u`lLwMCEOP>do z&CJf=jZm-KoK;k`djw||y$;~n*Y{`kI%fq_*6eKJRijF`pe(a_`R#!Mv!$6&ZSvdQ zpgOVZ3%CNxbLN=!!e61t(u%N4b7hx$owEz}K0l~ni*4Y_)!Pvewrqje^hpc37~1su zM`uY;xxo&go8I1zf-F8wcqKgZXPh(bOfpnZe${N&#m z10(suTgmM!Qts|wa{t_e()~*hOFkCnvlT&%;ea)xfvs%0wlM-OOXOj_ad$QsAYe_o z@GTUtyly#Sr-+Rx4fiiAxB4_?={50<&%$~tTV9dU5~0A=mOCe9#<-YN=gDsL2|I<@ zn!1~PU5)YQdXw7&t5Y|{j%J)|H(tk2{dh{@m*x zeYW-^ertCGs1-DdQj7<((z1iEk#jvl>QaQ_4LB((L@9l~u~E8aQ(cac>~g9sv)nZE z`nxy3y{qzeldf$=K;Cd=+Z5lAJXlcyR5TiAm4mNawJovs@b+BmjzsaYkQ>w4Lb0IN zWD0SIADXeBPHhp{w0j$shVA@dGZ|(Mj$Pd+%bY6pO4rVah3R&1%cxpS$ufFi`owzZ z9!%R%nlzv|zH8Xq$n0aQN(IbprHO}39#-hm5S3neG@>GG1Mge2LSA_5>FN+(X_s9% z0@#!a1Z3YmUOBRuNyVRB!PM-B_9Mx5mOI z!>X#HB1JO=0Xzg;4-ojL-H%#Z=aziZOf4usRn)+yN)gbXBM2^3l=rxJkzO`78JAE? z3O2d+#`Yef-}f?FE9nqg6C{$6J45Gk7aOOVbixw6n1BE*0)oyfY8nx+gpe#lz;Kml zPV|S<7h}AfuvU%-XLX6=MTPbG*q_t;ul^+IC5;p@xmn&^G~Ax6V+m0lBDS{VC&%c+C%>lr(5 zELNzeE4G~6@bG)FcfN*u24Y(T)&_Vr?i#1}0)>+{)nofqr3mb-*h-)=d&*{E(O zqeUJ@ih}zx@N$Su7^L5uVHHAbprnwOA^_gA>x6IRVHZ-&vNcj2n)@$Z*73%FYt%DdoZ^ z$E#{5pD=DslO@{>l0*q*sxd)H8+u|B$MdlH=2K4A4_R+_gcVX-jtCS@FqD~VyGYc+ z5^7x*y&Ib%>how*oDueC|61LP0BZycA^_Um(atQ-R~Nv2pPRuF06;!FJSdEPwUJaA&}pQ9rciLOW_186qPH3KNM5n zV%Z2-**hw2>Zy!qV7wiEvn{6+ZY<-{5urTnnsvTVgV5z3bt2z1=*Z9N51}nB84W`5 znbbt5fVa6ji$>Eb9;_Qa(vjE>xBfO*Vu2$D@(Z4pO&L+iVRz4jjw(jr1YF~WukI#n z&r@aDwEMUe4hUaKx)GodFK~6faQy;jOGq7cSGrVzz40Khdud4ch)r2usG_zU7TaC{ zE;k+lJze=&Y1^>BsxS0viKM$rA+~k@{L-|4?kwhKUKdAN$YKMkoITuKW&Mi?m8sQg9@(2$K;AW zj)yyMuR_?8s&Ga?^`(!8JvwvAAynS*ss{ETNxsd?^}eF4R{{4-J=`wRN-^QTY2t_tmubxnh(xzG&{n25Z9O$DQe zMb;f{4;R~tr-<$&pj0wkb#2-v5+$&6TQX=?(1k;)2)KQf^(Ettc?P)e&4!nfOcoK;Zy;FzQgEZAM(ywQ%9xofW7Z)THeK z(UnZ67Zt+SMKAp?R6Nh$bPm6#fXAJwm1`B?mB0y(y;54fEzP~nVWG}nhh(< zoX)(RI-TKBrFh(`Xnxt0++0Es@e;}lJV)Y7NLwPw5*WT0+EhTpnIN8KJHc}UFVYD%fmuQ zbp?;@;o-dIHGKSDp_pFo62bFfodNnBs0JzU!Ma)TMv%1VSMu4Y5}}EYoiM5Yn*Mwz z@7Hbl?OvxTp6}7~#CxczLm@se50+g2rCv#`oFh;_EI}V0yIoKLFZ98YS|*ckZPhk2 zT)jQ)$(CIrY9TzEr@x4YqIW)aMu}4TFO)wsj400@2pEZ|Xy{NL=7T!|DA+60=O5HO z*EagLGFe(zR*d1$?$`u4fDFU|S zyHcfzCmwE)eDZYCDxp8lAC$N=kM<2o+-rIyb@D}rXY5d%2woC@yjFgeTGUurKmFF! zVVABCje{GOWpS_(JrZGFsPG3$xwAY+gFEX*z2aCp0&c-AoV)*xXISWOuTofPv}^`WI(!B~w|))9rx*cGY!KijQnG&YB}3RUfB*|&fBQ{l2_-*0|9VYztMMQ#rQgzckPuY^w$gdBjJ>G%A^Bjj-HDiQPzyDFRM2_>v3p2_wL=v z`xZ^38%xFO@4PO$j(~^dQKM9O!b2moc9WCS5_BzeHg*mB?(cnLs8aaUlclg`ih z12;7m75m=2M$il*90>M%ROY*aiqs)mdg47JSFpBn)+F#*ehKUR8424M6s9HB z#e8X;V;nb<%ZjF%$8p0W1degemP+N0kVc1XEX|cH(c7FYH^Nu@6+Ax6oNP_D#^d0J zi|s^9sDsZ8b@X*zHKqaHIa`jI8XFsH9ZRz2@!2*63WZ{WC)yB+ILLt$#79Ka;&2gy zIpZ2!Spo*16B*6nMVO-+X>?vpw6i5#|Epo#NKelR#eW$CE*G^{$t{Rpxg84syNC(= z<0Dx%zAOPRhRcJ_EXvMr8gOSZ?6 zSqv7AMrYdNYzemZwgfzh5K3T;>v4+^MAIS|EL0EFY|Vj6h)kkGD2YzQ*}?SV$PN@5 zjz(aSaV$KYNux3C?d?f~ad|I32bK{n{Ll8FdYDiT1@B;MN5GSD6k9qOM<%jJI69d@ z#}V-a3f`X1up`nPEX|n=$5lK&mj?5|;nLVFo3Kb0+tM73m*X;TH)l)u(P`|~JDe6B z3VC6%aw3?#Si#u1KZncmi>9HmBiPy75ec?#o3dYOkyYtZ_i}V$K?gQ z(CAnipS6q)GY&0<`Br{BGha9shehL@v0GWFlkj^Q4o}1pi2h^W)9fs5pzSv3hWYA- z&42e$Irpc{HO>xqEJ{us050Z#x4$FscLe^9z~2%0I|6@4;QwC){&^l3;N z!avrSkiG`#C46Wgq~D_B^sjUWO0$(T3Y-E%zQ6AZ=$j#=&DnpV>3^abTlrkbLxwza zncN7dUuEN0nu*doQJNbb18q|_)I%LsM1UXc=fcYrtcJ+0C&WI@0Ug8u4hRR)00;XB zI3fVPaDMr}kT+4vdqXKYl;QvelyC(+zy&m=JV0{*d0_h^wt`R+Q8|RsSq^~uI|S*S z2Y_Y@0P>>bNc9>#|GKh)ot@v&5t3uVxcB; zs7VE*1|igmhEXw4RfGA5VD?vSDyX&s`m@{fQbUgwL~l0T6U9s{H_E@A=3*MJ<@NDS zy?maPTWQqVzMzAHY-gW_)!aEZZ%_5F+2g*Be+w>Rr3B0&vaC722>g#2s`?fNmTH7$ z$MojhdT%(F=;KTKX)IJ4RF&?A#ykgMlJ%Xc(MGqj&`I4uaGLt7UgPnnm#>#_#rh-h z%clJpY~7rb8#)m5<`E{9@Ux56se>PeclV`t<5rd}_}H}7%H;6+wBhe&^zA+RajkU2 z$N95GLQd+Hrn;S_X&y)1qvE5APlOa_{ z!Kef($Lhm~{6l$QfIh*(hqim!<1fdQy3y*;Q(aiT<`q+`x+ZjPReB2T6hY+yHY%!W zMtfuN0mGFl7xsamq${Pq7msXpnHp0|a5GP- z9>sP%&cwE1Q!!RKk6dmZb1HuL<1i_4ZSdubwlvrFC?f6E`)=DEKWXm%^h{&zDc(`_ zQO(m#2WP^T@4l;y-BA|i@mn-mBXP&^dAIS_#pjFnm+gPgq<=m-?A-E{f57dn+1}YM zgl!>&U#ymSJN4Heyt=Loe=D^`*gUgIWnboJa!Xdho